fix(schedule): treat ScheduleOffsetDays 0 similar to ScheduleOffsetNone wrt disabled

This commit is contained in:
Sarah Vaupel 2020-10-23 11:17:27 +02:00
parent d03a7149a4
commit c996049b3f

View File

@ -18,11 +18,11 @@ postScheduleR = do
-- TODO: local instead of global get params?
mOptions <- lookupGlobalGetParam GetScheduleOptions
-- TODO: remove (for PathPiece instance debugging only)
let debugScheduleOptions = ScheduleOptions
{ scheduleView = ScheduleViewWeek
, scheduleOffset = ScheduleOffsetDays 5
}
$logInfoS "TEST" $ "debugScheduleOptions: " <> toPathPiece debugScheduleOptions
$logInfoS "SCHEDULE" $ "encountered param: " <> tshow mOptions <> ", param path piece: " <> toPathPiece GetScheduleOptions
@ -42,6 +42,7 @@ postScheduleR = do
currentScheduleOffset :: ScheduleOffset
currentScheduleOffset = scheduleOffset $ fromMaybe defaultScheduleOptions mOptions
-- TODO: remove
--offsetFromWeekBtn :: ButtonScheduleOffsetWeek -> ScheduleOffset
--offsetFromWeekBtn btn = case schedBtnOffset btn of
-- ScheduleOffsetNone -> ScheduleOffsetNone
@ -85,7 +86,7 @@ postScheduleR = do
(offsetRess, offsetWidgets) <- fmap unzip . for offsetBtns $ \btn ->
mopt (buttonField btn) ("" { fsName = Just $ toPathPiece GetScheduleOptions
, fsAttrs = if scheduleOffset btn == currentScheduleOffset then [("disabled","")] else mempty
, fsAttrs = if offsetInDays (scheduleOffset btn) == offsetInDays currentScheduleOffset then [("disabled","")] else mempty
}) Nothing
offsetRes <- if
@ -127,3 +128,8 @@ addOffset :: ScheduleOffset -> ScheduleOffset -> ScheduleOffset
addOffset ScheduleOffsetNone offset = offset
addOffset offset ScheduleOffsetNone = offset
addOffset (ScheduleOffsetDays d) (ScheduleOffsetDays d') = ScheduleOffsetDays $ d + d'
-- | Calculate number of offset days from ScheduleOffset
offsetInDays :: ScheduleOffset -> Int
offsetInDays ScheduleOffsetNone = 0
offsetInDays (ScheduleOffsetDays d) = d