mirror of
https://github.com/ryannhg/elm-spa.git
synced 2024-11-29 05:26:54 +03:00
that sandbox api tho
This commit is contained in:
parent
2787a9d456
commit
10943cacad
@ -27,15 +27,10 @@ type Page pageModel pageMsg model msg
|
||||
type alias Page_ pageModel pageMsg model msg =
|
||||
{ toModel : pageModel -> model
|
||||
, toMsg : pageMsg -> msg
|
||||
, page : Config pageModel pageMsg model msg
|
||||
, page : Sandbox pageModel pageMsg
|
||||
}
|
||||
|
||||
|
||||
type Config pageModel pageMsg model msg
|
||||
= StaticConfig Static
|
||||
| SandboxConfig (Sandbox pageModel pageMsg)
|
||||
|
||||
|
||||
unwrap :
|
||||
Page pageModel pageMsg model msg
|
||||
-> Page_ pageModel pageMsg model msg
|
||||
@ -53,16 +48,21 @@ type alias Static =
|
||||
|
||||
|
||||
static :
|
||||
{ toModel : () -> model
|
||||
, toMsg : Never -> msg
|
||||
, page : Static
|
||||
}
|
||||
Static
|
||||
->
|
||||
{ toModel : () -> model
|
||||
, toMsg : Never -> msg
|
||||
}
|
||||
-> Page () Never model msg
|
||||
static page =
|
||||
static page { toModel, toMsg } =
|
||||
Page
|
||||
{ toModel = page.toModel
|
||||
, toMsg = page.toMsg
|
||||
, page = StaticConfig page.page
|
||||
{ toModel = toModel
|
||||
, toMsg = toMsg
|
||||
, page =
|
||||
{ init = ()
|
||||
, update = always identity
|
||||
, view = \_ -> Html.map never page.view
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -78,14 +78,15 @@ type alias Sandbox pageModel pageMsg =
|
||||
|
||||
|
||||
sandbox :
|
||||
{ toModel : pageModel -> model
|
||||
, toMsg : pageMsg -> msg
|
||||
, page : Sandbox pageModel pageMsg
|
||||
}
|
||||
-> Page pageModel pageMsg model msg
|
||||
sandbox page =
|
||||
Page
|
||||
{ toModel = page.toModel
|
||||
, toMsg = page.toMsg
|
||||
, page = SandboxConfig page.page
|
||||
Sandbox pageModel pageMsg
|
||||
->
|
||||
{ toModel : pageModel -> model
|
||||
, toMsg : pageMsg -> msg
|
||||
}
|
||||
-> Page pageModel pageMsg model msg
|
||||
sandbox page { toModel, toMsg } =
|
||||
Page
|
||||
{ toModel = toModel
|
||||
, toMsg = toMsg
|
||||
, page = page
|
||||
}
|
||||
|
@ -130,20 +130,22 @@ type alias Sandbox pageModel pageMsg =
|
||||
|
||||
|
||||
static :
|
||||
{ toModel : () -> model
|
||||
, toMsg : Never -> msg
|
||||
, page : Static
|
||||
}
|
||||
Static
|
||||
->
|
||||
{ toModel : () -> model
|
||||
, toMsg : Never -> msg
|
||||
}
|
||||
-> Page () Never model msg
|
||||
static =
|
||||
Page.static
|
||||
|
||||
|
||||
sandbox :
|
||||
{ toModel : pageModel -> model
|
||||
, toMsg : pageMsg -> msg
|
||||
, page : Sandbox pageModel pageMsg
|
||||
}
|
||||
Sandbox pageModel pageMsg
|
||||
->
|
||||
{ toModel : pageModel -> model
|
||||
, toMsg : pageMsg -> msg
|
||||
}
|
||||
-> Page pageModel pageMsg model msg
|
||||
sandbox =
|
||||
Page.sandbox
|
||||
|
@ -50,22 +50,19 @@ type alias Pages =
|
||||
pages : Pages
|
||||
pages =
|
||||
{ homepage =
|
||||
Application.static
|
||||
Homepage.page
|
||||
{ toModel = HomepageModel
|
||||
, toMsg = HomepageMsg
|
||||
, page = Homepage.page
|
||||
}
|
||||
, counter =
|
||||
Application.sandbox
|
||||
Counter.page
|
||||
{ toModel = CounterModel
|
||||
, toMsg = CounterMsg
|
||||
, page = Counter.page
|
||||
}
|
||||
, notFound =
|
||||
Application.static
|
||||
NotFound.page
|
||||
{ toModel = NotFoundModel
|
||||
, toMsg = NotFoundMsg
|
||||
, page = NotFound.page
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -15,12 +15,12 @@ type Msg
|
||||
| Decrement
|
||||
|
||||
|
||||
page : Application.Sandbox Model Msg
|
||||
page =
|
||||
{ init = init
|
||||
, update = update
|
||||
, view = view
|
||||
}
|
||||
Application.sandbox
|
||||
{ init = init
|
||||
, update = update
|
||||
, view = view
|
||||
}
|
||||
|
||||
|
||||
init : Model
|
||||
|
@ -12,10 +12,10 @@ type alias Msg =
|
||||
Never
|
||||
|
||||
|
||||
page : Application.Static
|
||||
page =
|
||||
{ view = view
|
||||
}
|
||||
Application.static
|
||||
{ view = view
|
||||
}
|
||||
|
||||
|
||||
view : Html Msg
|
||||
|
@ -12,10 +12,10 @@ type alias Msg =
|
||||
Never
|
||||
|
||||
|
||||
page : Application.Static
|
||||
page =
|
||||
{ view = view
|
||||
}
|
||||
Application.static
|
||||
{ view = view
|
||||
}
|
||||
|
||||
|
||||
view : Html Msg
|
||||
|
Loading…
Reference in New Issue
Block a user