mirror of
https://github.com/ryannhg/elm-spa.git
synced 2024-11-25 23:43:02 +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 =
|
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 :
|
||||||
{ toModel : () -> model
|
Static
|
||||||
, toMsg : Never -> msg
|
->
|
||||||
, page : Static
|
{ toModel : () -> model
|
||||||
}
|
, toMsg : Never -> msg
|
||||||
|
}
|
||||||
-> 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 :
|
||||||
{ toModel : pageModel -> model
|
Sandbox pageModel pageMsg
|
||||||
, toMsg : pageMsg -> msg
|
->
|
||||||
, page : Sandbox pageModel pageMsg
|
{ toModel : pageModel -> model
|
||||||
}
|
, toMsg : pageMsg -> msg
|
||||||
-> Page pageModel pageMsg model msg
|
}
|
||||||
sandbox page =
|
-> Page pageModel pageMsg model msg
|
||||||
Page
|
sandbox page { toModel, toMsg } =
|
||||||
{ toModel = page.toModel
|
Page
|
||||||
, toMsg = page.toMsg
|
{ toModel = toModel
|
||||||
, page = SandboxConfig page.page
|
, toMsg = toMsg
|
||||||
|
, page = page
|
||||||
}
|
}
|
||||||
|
@ -130,20 +130,22 @@ type alias Sandbox pageModel pageMsg =
|
|||||||
|
|
||||||
|
|
||||||
static :
|
static :
|
||||||
{ toModel : () -> model
|
Static
|
||||||
, toMsg : Never -> msg
|
->
|
||||||
, page : Static
|
{ toModel : () -> model
|
||||||
}
|
, toMsg : Never -> msg
|
||||||
|
}
|
||||||
-> Page () Never model msg
|
-> Page () Never model msg
|
||||||
static =
|
static =
|
||||||
Page.static
|
Page.static
|
||||||
|
|
||||||
|
|
||||||
sandbox :
|
sandbox :
|
||||||
{ toModel : pageModel -> model
|
Sandbox pageModel pageMsg
|
||||||
, toMsg : pageMsg -> msg
|
->
|
||||||
, page : Sandbox pageModel pageMsg
|
{ toModel : pageModel -> model
|
||||||
}
|
, toMsg : pageMsg -> msg
|
||||||
|
}
|
||||||
-> Page pageModel pageMsg model msg
|
-> Page pageModel pageMsg model msg
|
||||||
sandbox =
|
sandbox =
|
||||||
Page.sandbox
|
Page.sandbox
|
||||||
|
@ -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
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -15,12 +15,12 @@ type Msg
|
|||||||
| Decrement
|
| Decrement
|
||||||
|
|
||||||
|
|
||||||
page : Application.Sandbox Model Msg
|
|
||||||
page =
|
page =
|
||||||
{ init = init
|
Application.sandbox
|
||||||
, update = update
|
{ init = init
|
||||||
, view = view
|
, update = update
|
||||||
}
|
, view = view
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
init : Model
|
init : Model
|
||||||
|
@ -12,10 +12,10 @@ type alias Msg =
|
|||||||
Never
|
Never
|
||||||
|
|
||||||
|
|
||||||
page : Application.Static
|
|
||||||
page =
|
page =
|
||||||
{ view = view
|
Application.static
|
||||||
}
|
{ view = view
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
view : Html Msg
|
view : Html Msg
|
||||||
|
@ -12,10 +12,10 @@ type alias Msg =
|
|||||||
Never
|
Never
|
||||||
|
|
||||||
|
|
||||||
page : Application.Static
|
|
||||||
page =
|
page =
|
||||||
{ view = view
|
Application.static
|
||||||
}
|
{ view = view
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
view : Html Msg
|
view : Html Msg
|
||||||
|
Loading…
Reference in New Issue
Block a user