1
0
Fork 0
mirror of https://github.com/correl/elm-mdl.git synced 2025-03-30 01:03:43 -09:00
This commit is contained in:
Søren Debois 2016-03-26 00:09:07 +01:00
parent 7eecb28745
commit 8e7a62dfa3
2 changed files with 143 additions and 0 deletions
examples/Demo
src/Material

View file

@ -0,0 +1,73 @@
module Demo.Template where
import Effects exposing (Effects, none)
import Html exposing (..)
import Markdown
import Material.Template as Template
import Material exposing (lift, lift')
-- MODEL
type alias Model =
{ template : Template.Model
}
model : Model
model =
{ template = Template.model
}
-- ACTION, UPDATE
type Action
= TemplateAction Template.Action
update : Action -> Model -> (Model, Effects Action)
update action model =
case action of
TemplateAction action' -> lift .template (\m x -> {m|template=x}) TemplateAction Template.update action' model
-- VIEW
view : Signal.Address Action -> Model -> Html
view addr model =
div []
[ intro
, Template.view (Signal.forwardTo addr TemplateAction) model.template
]
intro : Html
intro = """
# TEMPLATE
From the
[Material Design Lite documentation](https://www.getmdl.io/components/index.html#TEMPLATE-section).
> ...
#### See also
- [Demo source code](https://github.com/debois/elm-mdl/blob/master/examples/Demo/TEMPLATE.elm)
- [elm-mdl package documentation](http://package.elm-lang.org/packages/debois/elm-mdl/latest/Material-TEMPLATE)
- [Material Design Specification](https://www.google.com/design/spec/components/TEMPLATE.html)
- [Material Design Lite documentation](https://www.getmdl.io/components/index.html#TEMPLATE)
#### Demo
""" |> Markdown.toHtml

70
src/Material/Template.elm Normal file
View file

@ -0,0 +1,70 @@
module Material.Template
( Model, model
, Action, update
, view
) where
-- TEMPLATE. Copy this to a file for your component, then update.
{-| From the [Material Design Lite documentation](http://www.getmdl.io/components/#TEMPLATE-section):
> ...
See also the
[Material Design Specification]([https://www.google.com/design/spec/components/TEMPLATE.html).
# Component
@docs Model, model, Action, update
# View
@docs view
-}
import Effects exposing (Effects, none)
import Html exposing (..)
-- MODEL
{-| Component model.
-}
type alias Model =
{
}
{-| Default component model constructor.
-}
model : Model
model =
{
}
-- ACTION, UPDATE
{-| Component action.
-}
type Action
= MyAction
{-| Component update.
-}
update : Action -> Model -> (Model, Effects Action)
update action model =
(model, none)
-- VIEW
{-| Component view.
-}
view : Signal.Address Action -> Model -> Html
view addr model =
div [] [ h1 [] [ text "TEMPLATE" ] ]