73 lines
1.4 KiB
Elm
73 lines
1.4 KiB
Elm
module Bulma exposing (..)
|
|
|
|
{-
|
|
|
|
Helper to style with Bulma.css
|
|
|
|
-}
|
|
|
|
import Html exposing (..)
|
|
import Html.Attributes exposing (..)
|
|
import Html.Events exposing (..)
|
|
import Svg.Attributes
|
|
|
|
|
|
|
|
-- ICONS
|
|
|
|
|
|
icon : { icon : String, size : Maybe String, ratio : Maybe String } -> Html msg
|
|
icon params =
|
|
span [ class <| "icon " ++ Maybe.withDefault "" params.size ]
|
|
[ i [ Svg.Attributes.class <| params.icon ++ " " ++ Maybe.withDefault "" params.ratio ] [] ]
|
|
|
|
|
|
|
|
-- BUTTONS
|
|
|
|
|
|
btn : msg -> { text : String, icon : String, color : String } -> Html msg
|
|
btn msg params =
|
|
button
|
|
[ class <| "button " ++ params.color
|
|
, onClick msg
|
|
]
|
|
[ icon { icon = params.icon, size = Nothing, ratio = Nothing }
|
|
, p [] [ text params.text ]
|
|
]
|
|
|
|
|
|
buttons btns =
|
|
div [ class "buttons level-item" ] btns
|
|
|
|
|
|
confirmButtons confirm cancel =
|
|
buttons [ confirmBtn confirm, cancelBtn cancel ]
|
|
|
|
|
|
confirmBtn msg =
|
|
btn msg { text = "Ok", icon = "fas fa-check", color = "is-primary" }
|
|
|
|
|
|
cancelBtn msg =
|
|
btn msg { text = "Annuler", icon = "fas fa-times", color = "is-danger" }
|
|
|
|
|
|
|
|
-- TABLES
|
|
--
|
|
|
|
|
|
datatable headers rows =
|
|
table [ class "table is-fullwidth is-striped" ]
|
|
[ thead [ class "table-header" ] <|
|
|
List.map
|
|
(\header -> th [] [ text header ])
|
|
headers
|
|
, tbody [] rows
|
|
]
|
|
|
|
|
|
|
|
-- Section
|