elm-mdl/demo/Demo/Template.elm
2016-04-13 00:13:43 +02:00

87 lines
1.5 KiB
Elm

module Demo.Template where
import Effects exposing (Effects, none)
import Html exposing (..)
import Material.Template as Template
import Material.Helpers exposing (map1st)
import Material
import Demo.Page as Page
-- MODEL
type alias Mdl =
Material.Model
type alias Model =
{ mdl : Material.Model
}
model : Model
model =
{ mdl = Material.model
}
-- ACTION, UPDATE
type Action
= TemplateAction
| MDL (Material.Action Action)
update : Action -> Model -> (Model, Effects Action)
update action model =
case action of
TemplateAction ->
(model, Effects.none)
MDL action' ->
Material.update MDL action' model.mdl
|> map1st (\m -> { model | mdl = m })
-- VIEW
template =
Template.instance 0 MDL Template.model
[ Template.fwdTemplate TemplateAction ]
view : Signal.Address Action -> Model -> Html
view addr model =
[ div
[]
[ template.view addr model.mdl []
]
]
|> Page.body2 "TEMPLATE" srcUrl intro references
intro : Html
intro =
Page.fromMDL "https://www.getmdl.io/components/index.html#TEMPLATE-section" """
> ...
"""
srcUrl : String
srcUrl =
"https://github.com/debois/elm-mdl/blob/master/demo/Demo/TEMPLATE.elm"
references : List (String, String)
references =
[ Page.package "http://package.elm-lang.org/packages/debois/elm-mdl/latest/Material-TEMPLATE"
, Page.mds "https://www.google.com/design/spec/components/TEMPLATE.html"
, Page.mdl "https://www.getmdl.io/components/index.html#TEMPLATE"
]