Partial upgrade of Demo to use Style

This commit is contained in:
Søren Debois 2016-03-21 06:02:39 +01:00
parent a7dbf5e710
commit f414f9d960
5 changed files with 53 additions and 37 deletions

View file

@ -1,7 +1,7 @@
PAGES=../elm-mdl-gh-pages PAGES=../elm-mdl-gh-pages
elm.js: elm.js:
elm-make examples/Demo.elm --output elm.js elm-make examples/Demo.elm --warn --output elm.js
pages : pages :
elm-make examples/Demo.elm --output $(PAGES)/elm.js elm-make examples/Demo.elm --output $(PAGES)/elm.js

View file

@ -125,8 +125,10 @@ view addr model =
let top = let top =
div div
[ style [ style
[ ("margin", "auto") [ ("max-width", "55rem")
, ("width", "90%") , ("margin", "auto")
, ("padding-left", "5%")
, ("padding-right", "5%")
] ]
] ]
((Array.get model.layout.selectedTab tabViews ((Array.get model.layout.selectedTab tabViews

View file

@ -1,38 +1,52 @@
module Demo.Grid where module Demo.Grid where
import Material.Grid exposing (..) import Material.Grid exposing (..)
import Material.Style exposing (Style, css)
import Html exposing (..) import Html exposing (..)
-- Cell styling
style : Int -> List Style
style h =
[ css "text-sizing" "border-box"
, css "background-color" "#BDBDBD"
, css "height" (toString h ++ "px")
, css "padding-left" "8px"
, css "padding-top" "4px"
, css "color" "white"
]
-- Cell variants
democell : Int -> List Style -> List Html -> Cell
democell k styling =
cell <| List.concat [style k, styling]
small : List Style -> List Html -> Cell
small = democell 50
std : List Style -> List Html -> Cell
std = democell 200
-- Grid
view : List Html view : List Html
view = view =
[ [1..12] [ [1..12]
|> List.map (\i -> cell [size All 1] [text "1"]) |> List.map (\i -> small [size All 1] [text "1"])
|> grid [] |> grid []
, [1 .. 3] , [1 .. 3]
|> List.map (\i -> cell [size All 4] [text <| "4"]) |> List.map (\i -> std [size All 4] [text <| "4"])
|> grid [] |> grid []
, [ cell [size All 6] [text "6"] , [ std [size All 6] [text "6"]
, cell [size All 4] [text "4"] , std [size All 4] [text "4"]
, cell [size All 2] [text "2"] , std [size All 2] [text "2"]
] |> grid [] ] |> grid []
, [ cell [size All 6, size Tablet 8] [text "6 (8 tablet)"] , [ std [size All 6, size Tablet 8] [text "6 (8 tablet)"]
, cell [size All 4, size Tablet 6] [text "4 (6 tablet)"] , std [size All 4, size Tablet 6] [text "4 (6 tablet)"]
, cell [size All 2, size Phone 4] [text "2 (4 phone)"] , std [size All 2, size Phone 4] [text "2 (4 phone)"]
] |> grid [] ] |> grid []
, Html.node "style" [] [text """
.mdl-cell {
text-sizing: border-box;
background-color: #BDBDBD;
height: 200px;
padding-left: 8px;
padding-top: 4px;
color: white;
}
.mdl-grid:first-of-type .mdl-cell {
height: 50px;
}
"""]
] ]

View file

@ -173,7 +173,7 @@ introStyle = """
blockquote:after { content: none; } blockquote:after { content: none; }
blockquote { blockquote {
border-left-style: solid; border-left-style: solid;
border-width: 3px; border-width: 1px;
padding-left: 1.3ex; padding-left: 1.3ex;
border-color: rgb(255,82,82); border-color: rgb(255,82,82);
/* TODO: Really need a way to specify "secondary color" in /* TODO: Really need a way to specify "secondary color" in
@ -202,7 +202,7 @@ From the
- [Demo source code](https://github.com/debois/elm-mdl/blob/master/examples/Demo/Snackbar.elm) - [Demo source code](https://github.com/debois/elm-mdl/blob/master/examples/Demo/Snackbar.elm)
- [elm-mdl package documentation](http://package.elm-lang.org/packages/debois/elm-mdl/1.0.1/Material-Snackbar) - [elm-mdl package documentation](http://package.elm-lang.org/packages/debois/elm-mdl/1.0.1/Material-Snackbar)
- [Material Design Specification](https://www.google.com/design/spec/components/snackbars-toasts.html) - [Material Design Specification](https://www.google.com/design/spec/components/snackbars-toasts.html)
- [Material Design Lite documentation](https://www.getmdl.io/components/index.html#snackbar-section). - [Material Design Lite documentation](https://www.getmdl.io/components/index.html#snackbar-section)
#### Demo #### Demo

View file

@ -1,6 +1,6 @@
module Material.Grid module Material.Grid
( grid, noSpacing, maxWidth ( grid, noSpacing, maxWidth
, cell , Cell, cell
, Device(..) , Device(..)
, Align(..) , Align(..)
, size , size
@ -35,7 +35,7 @@ Example use:
top : Html top : Html
top = top =
grid grid []
[ cell [ size All 4 ] [ cell [ size All 4 ]
[ h4 [] [text "Cell 1"] [ h4 [] [text "Cell 1"]
] ]
@ -60,7 +60,7 @@ Example use:
Cells are configured with a `List Style`; this configuration dictates the Cells are configured with a `List Style`; this configuration dictates the
size, offset, etc. of the cell. size, offset, etc. of the cell.
@docs cell, Device, size, offset, Align, align, hide, order @docs cell, Cell, Device, size, offset, Align, align, hide, order
-} -}
@ -69,7 +69,6 @@ size, offset, etc. of the cell.
import Html exposing (..) import Html exposing (..)
import Html.Attributes exposing (..)
import Material.Helpers exposing (clip, filter) import Material.Helpers exposing (clip, filter)
import Material.Style as Style exposing (Style, cs, styled) import Material.Style as Style exposing (Style, cs, styled)
@ -99,7 +98,7 @@ encapsulates a screen size.)
type Device = All | Desktop | Tablet | Phone type Device = All | Desktop | Tablet | Phone
{- Opaque cell type. {-| Opaque cell type.
-} -}
type Cell = Cell Html type Cell = Cell Html
@ -144,7 +143,7 @@ offset device k =
"mdl-cell--" ++ toString c ++ "-offset" ++ suffix device |> cs "mdl-cell--" ++ toString c ++ "-offset" ++ suffix device |> cs
{-| Vertical alignment of cells; use with `align`. {-| Alignment of cell contents; use with `align`.
-} -}
type Align = Top | Middle | Bottom type Align = Top | Middle | Bottom
@ -153,10 +152,11 @@ type Align = Top | Middle | Bottom
-} -}
align : Align -> Style align : Align -> Style
align a = align a =
cs <| case a of case a of
Top -> "mdl-cell--top" Top -> cs "mdl-cell--top"
Middle -> "mdl-cell--middle" Middle -> cs "mdl-cell--middle"
Bottom -> "mdl-cell--bottom" Bottom -> cs "mdl-cell--bottom"
{-| Specify that a cell should be hidden on given `Device`. {-| Specify that a cell should be hidden on given `Device`.