module Comp.NotificationList exposing ( Action(..) , Model , Msg , init , update , view ) import Api.Model.NotificationSettings exposing (NotificationSettings) import Html exposing (..) import Html.Attributes exposing (..) import Html.Events exposing (onClick) import Util.Html type alias Model = {} type Msg = EditSettings NotificationSettings type Action = NoAction | EditAction NotificationSettings init : Model init = {} update : Msg -> Model -> ( Model, Action ) update msg model = case msg of EditSettings settings -> ( model, EditAction settings ) view : Model -> List NotificationSettings -> Html Msg view _ items = div [] [ table [ class "ui very basic center aligned table" ] [ thead [] [ th [ class "collapsing" ] [] , th [ class "collapsing" ] [ i [ class "check icon" ] [] ] , th [] [ text "Schedule" ] , th [] [ text "Connection" ] , th [] [ text "Recipients" ] , th [] [ text "Remind Days" ] ] , tbody [] (List.map viewItem items) ] ] viewItem : NotificationSettings -> Html Msg viewItem item = tr [] [ td [ class "collapsing" ] [ a [ href "#" , class "ui basic small blue label" , onClick (EditSettings item) ] [ i [ class "edit icon" ] [] , text "Edit" ] ] , td [ class "collapsing" ] [ Util.Html.checkbox item.enabled ] , td [] [ code [] [ text item.schedule ] ] , td [] [ text item.smtpConnection ] , td [] [ String.join ", " item.recipients |> text ] , td [] [ String.fromInt item.remindDays |> text ] ]