that sandbox api tho

This commit is contained in:
Ryan Haskell-Glatz 2019-10-14 02:30:34 -05:00
parent 2787a9d456
commit 10943cacad
6 changed files with 49 additions and 49 deletions

View File

@ -27,15 +27,10 @@ type Page pageModel pageMsg model msg
type alias Page_ pageModel pageMsg model msg = type alias Page_ pageModel pageMsg model msg =
{ toModel : pageModel -> model { toModel : pageModel -> model
, toMsg : pageMsg -> msg , 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 : unwrap :
Page pageModel pageMsg model msg Page pageModel pageMsg model msg
-> Page_ pageModel pageMsg model msg -> Page_ pageModel pageMsg model msg
@ -53,16 +48,21 @@ type alias Static =
static : static :
Static
->
{ toModel : () -> model { toModel : () -> model
, toMsg : Never -> msg , toMsg : Never -> msg
, page : Static
} }
-> Page () Never model msg -> Page () Never model msg
static page = static page { toModel, toMsg } =
Page Page
{ toModel = page.toModel { toModel = toModel
, toMsg = page.toMsg , toMsg = toMsg
, page = StaticConfig page.page , page =
{ init = ()
, update = always identity
, view = \_ -> Html.map never page.view
}
} }
@ -78,14 +78,15 @@ type alias Sandbox pageModel pageMsg =
sandbox : sandbox :
Sandbox pageModel pageMsg
->
{ toModel : pageModel -> model { toModel : pageModel -> model
, toMsg : pageMsg -> msg , toMsg : pageMsg -> msg
, page : Sandbox pageModel pageMsg
} }
-> Page pageModel pageMsg model msg -> Page pageModel pageMsg model msg
sandbox page = sandbox page { toModel, toMsg } =
Page Page
{ toModel = page.toModel { toModel = toModel
, toMsg = page.toMsg , toMsg = toMsg
, page = SandboxConfig page.page , page = page
} }

View File

@ -130,9 +130,10 @@ type alias Sandbox pageModel pageMsg =
static : static :
Static
->
{ toModel : () -> model { toModel : () -> model
, toMsg : Never -> msg , toMsg : Never -> msg
, page : Static
} }
-> Page () Never model msg -> Page () Never model msg
static = static =
@ -140,9 +141,10 @@ static =
sandbox : sandbox :
Sandbox pageModel pageMsg
->
{ toModel : pageModel -> model { toModel : pageModel -> model
, toMsg : pageMsg -> msg , toMsg : pageMsg -> msg
, page : Sandbox pageModel pageMsg
} }
-> Page pageModel pageMsg model msg -> Page pageModel pageMsg model msg
sandbox = sandbox =

View File

@ -50,22 +50,19 @@ type alias Pages =
pages : Pages pages : Pages
pages = pages =
{ homepage = { homepage =
Application.static Homepage.page
{ toModel = HomepageModel { toModel = HomepageModel
, toMsg = HomepageMsg , toMsg = HomepageMsg
, page = Homepage.page
} }
, counter = , counter =
Application.sandbox Counter.page
{ toModel = CounterModel { toModel = CounterModel
, toMsg = CounterMsg , toMsg = CounterMsg
, page = Counter.page
} }
, notFound = , notFound =
Application.static NotFound.page
{ toModel = NotFoundModel { toModel = NotFoundModel
, toMsg = NotFoundMsg , toMsg = NotFoundMsg
, page = NotFound.page
} }
} }

View File

@ -15,8 +15,8 @@ type Msg
| Decrement | Decrement
page : Application.Sandbox Model Msg
page = page =
Application.sandbox
{ init = init { init = init
, update = update , update = update
, view = view , view = view

View File

@ -12,8 +12,8 @@ type alias Msg =
Never Never
page : Application.Static
page = page =
Application.static
{ view = view { view = view
} }

View File

@ -12,8 +12,8 @@ type alias Msg =
Never Never
page : Application.Static
page = page =
Application.static
{ view = view { view = view
} }