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 =
{ 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
}

View File

@ -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

View File

@ -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
}
}

View File

@ -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

View File

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

View File

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