From 0075abf51db5d1b54117525d7a7f9b06e31c9484 Mon Sep 17 00:00:00 2001 From: Joris Guyonvarch Date: Tue, 17 Mar 2015 21:26:40 +0100 Subject: Adding an edition mode for a timer --- src/View/Timer.elm | 28 +++++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) (limited to 'src/View/Timer.elm') diff --git a/src/View/Timer.elm b/src/View/Timer.elm index 6925e42..5ec5d02 100644 --- a/src/View/Timer.elm +++ b/src/View/Timer.elm @@ -8,23 +8,41 @@ import Html.Events (..) import String import Time (Time) import Signal +import Maybe +import Model.Model (..) import Model.Timer (..) import Model.Id (..) import Update.Update (..) import Update.UpdateTimer (..) -timerView : (Id, Timer) -> Html -timerView (id, timer) = +import View.ActivatedClasses (..) + +timerView : Model -> (Id, Timer) -> Html +timerView model (id, timer) = div [ class <| "timer" ++ (if timer.isRunning then " isRunning" else "") ] [ button [ class "name block" ] [ text timer.name ] - , button - [ class <| "time block" ] - [ text (timeView timer.currentTime) ] + , let inEdition = + model.timerEdition + |> Maybe.map (\te -> te.id == id) + |> Maybe.withDefault False + in button + ( [ [ (True, "time block") + , (inEdition, "edition") + ] + |> activatedClasses + ] + ++ if inEdition + then + [] + else + [ onClick (Signal.send updates (EditTimer id)) ] + ) + [ text (timeView timer.currentTime) ] , button [ class <| "restart block" , onClick (Signal.send updates (UpdateTimer id Restart)) -- cgit v1.2.3