diff options
Diffstat (limited to 'elm3/Lib/Editsum.elm')
-rw-r--r-- | elm3/Lib/Editsum.elm | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/elm3/Lib/Editsum.elm b/elm3/Lib/Editsum.elm new file mode 100644 index 00000000..3ddc1506 --- /dev/null +++ b/elm3/Lib/Editsum.elm @@ -0,0 +1,59 @@ +-- This module provides an the 'Edit summary' box, including the 'hidden' and +-- 'locked' moderation checkboxes. + +module Lib.Editsum exposing (Model, Msg, new, update, view) + +import Html exposing (..) +import Html.Attributes exposing (..) +import Lib.Html exposing (..) + + +type alias Model = + { authmod : Bool + , locked : Bool + , hidden : Bool + , editsum : String + } + + +type Msg + = Locked Bool + | Hidden Bool + | Editsum String + + +new : Model +new = + { authmod = False + , locked = False + , hidden = False + , editsum = "" + } + + +update : Msg -> Model -> Model +update msg model = + case msg of + Locked b -> { model | locked = b } + Hidden b -> { model | hidden = b } + Editsum s -> { model | editsum = s } + + +view : Model -> Html Msg +view model = + let + lockhid = cardRow "Mod actions" Nothing <| formGroups + [ [ label [ class "checkbox" ] + [ inputCheck "" model.locked Locked + , text " Locked" ] + ] + , [ label [ class "checkbox" ] + [ inputCheck "" model.hidden Hidden + , text " Hidden" ] + ] + ] + in card_ + [ lockhid + , cardRow "Edit summary" (Just "English please!") + <| formGroup [ inputTextArea "" model.editsum Editsum [rows 4, minlength 2, maxlength 5000, required True] ] + ] |