From cb61482b83b54d371687c032cb1e18ecef7630cc Mon Sep 17 00:00:00 2001 From: Sarah Vaupel <> Date: Fri, 23 Oct 2020 15:01:23 +0200 Subject: [PATCH] refactor(schedule): remove deprecated Button instances --- src/Handler/Utils/Schedule/Types.hs | 1 - .../Schedule/Types/ButtonScheduleOffset.hs | 104 ------------------ .../Utils/Schedule/Types/ScheduleOptions.hs | 9 +- 3 files changed, 3 insertions(+), 111 deletions(-) delete mode 100644 src/Handler/Utils/Schedule/Types/ButtonScheduleOffset.hs diff --git a/src/Handler/Utils/Schedule/Types.hs b/src/Handler/Utils/Schedule/Types.hs index dec2d1e6b..6b45c5c53 100644 --- a/src/Handler/Utils/Schedule/Types.hs +++ b/src/Handler/Utils/Schedule/Types.hs @@ -6,7 +6,6 @@ import Import import Handler.Utils.Schedule.Types.ScheduleEntry as Handler.Utils.Schedule.Types import Handler.Utils.Schedule.Types.ScheduleOptions as Handler.Utils.Schedule.Types -import Handler.Utils.Schedule.Types.ButtonScheduleOffset as Handler.Utils.Schedule.Types -- TODO: replace Info types with one joined type and fetch info in one single runDB diff --git a/src/Handler/Utils/Schedule/Types/ButtonScheduleOffset.hs b/src/Handler/Utils/Schedule/Types/ButtonScheduleOffset.hs deleted file mode 100644 index 3516389f3..000000000 --- a/src/Handler/Utils/Schedule/Types/ButtonScheduleOffset.hs +++ /dev/null @@ -1,104 +0,0 @@ -module Handler.Utils.Schedule.Types.ButtonScheduleOffset - ( ButtonScheduleOffset - , schedOffsetBtn, schedBtnOffset, schedBtnContent - , ButtonScheduleOffsetWeek(..) - ) - -where - -import Import - -import Utils.Form - -import Handler.Utils.Schedule.Types.ScheduleOptions - - -class (PathPiece button, Button UniWorX button) => ButtonScheduleOffset button where - schedOffsetBtn :: ScheduleOffset -> Maybe button - schedBtnOffset :: button -> ScheduleOffset - schedBtnContent :: button -> Either UniWorXMessage (Icon, Maybe UniWorXMessage) - ---instance ButtonScheduleOffset button => PathPiece button where --- toPathPiece = toPathPiece . schedBtnOffset --- fromPathPiece t = case fromPathPiece t of --- Just offset -> Just $ schedOffsetBtn offset --- _ -> Nothing --- ---instance ButtonScheduleOffset button => Button UniWorX button where --- btnClasses = const [BCIsButton, BCScheduleOffset] --- btnLabel btn = case schedBtnContent btn of --- Right (ico, Just tip) -> [whamlet| ^{iconTooltipMessage ico tip} |] --- Right (ico, Nothing ) -> [whamlet| ^{icon ico} |] --- Left msg -> [whamlet| _{msg} |] --- where --- iconTooltipMessage ico tip = iconTooltip [whamlet| _{tip} |] (Just ico) True - - -data ButtonScheduleOffsetWeek = BtnSOWBackwardWeek - | BtnSOWBackwardDay - | BtnSOWCurrent - | BtnSOWForwardDay - | BtnSOWForwardWeek - deriving (Eq, Ord, Enum, Show, Read, Generic, Typeable) - -instance Bounded ButtonScheduleOffsetWeek where - minBound = BtnSOWBackwardWeek - maxBound = BtnSOWForwardWeek -instance Finite ButtonScheduleOffsetWeek -instance Universe ButtonScheduleOffsetWeek - -instance PathPiece ButtonScheduleOffsetWeek where - toPathPiece BtnSOWCurrent = toPathPiece ScheduleOffsetNone - toPathPiece btn = toPathPiece $ ScheduleOffsetDays d where - d = case btn of - BtnSOWBackwardWeek -> (-7) - BtnSOWBackwardDay -> (-1) - BtnSOWForwardDay -> 1 - BtnSOWForwardWeek -> 7 - _ -> 0 - fromPathPiece t = case (fromPathPiece :: Text -> Maybe ScheduleOffset) t of - Just ScheduleOffsetNone -> Just BtnSOWCurrent - Just (ScheduleOffsetDays d) -> case d of - (-7) -> Just BtnSOWBackwardWeek - (-1) -> Just BtnSOWBackwardDay - 0 -> Just BtnSOWCurrent - 1 -> Just BtnSOWForwardDay - 7 -> Just BtnSOWForwardWeek - _ -> Nothing - _ -> Nothing - -instance Button UniWorX ButtonScheduleOffsetWeek where - btnClasses = const [BCIsButton, BCScheduleOffset] - btnLabel btn = [whamlet| ^{iconTooltipMessage ico tip} |] where - (ico, tip) = case btn of - BtnSOWBackwardWeek -> (IconFastBackward , MsgScheduleOffsetWeekBackwardWeek) - BtnSOWBackwardDay -> (IconBackward , MsgScheduleOffsetWeekBackwardDay ) - BtnSOWCurrent -> (IconCurrent , MsgScheduleOffsetWeekCurrent ) - BtnSOWForwardDay -> (IconForward , MsgScheduleOffsetWeekForwardDay ) - BtnSOWForwardWeek -> (IconFastForward , MsgScheduleOffsetWeekForwardWeek ) - iconTooltipMessage i m = iconTooltip [whamlet| _{m} |] (Just i) True - -instance ButtonScheduleOffset ButtonScheduleOffsetWeek where - schedOffsetBtn ScheduleOffsetNone = Just BtnSOWCurrent - schedOffsetBtn (ScheduleOffsetDays d) = case d of - (-7) -> Just BtnSOWBackwardWeek - (-1) -> Just BtnSOWBackwardDay - 0 -> Just BtnSOWCurrent - 1 -> Just BtnSOWForwardDay - 7 -> Just BtnSOWForwardWeek - _ -> Nothing - - schedBtnOffset BtnSOWCurrent = ScheduleOffsetNone - schedBtnOffset btn = ScheduleOffsetDays $ case btn of - BtnSOWBackwardWeek -> (-7) - BtnSOWBackwardDay -> (-1) - BtnSOWForwardDay -> 1 - BtnSOWForwardWeek -> 7 - _ -> 0 - - schedBtnContent btn = Right $ case btn of - BtnSOWBackwardWeek -> (IconFastBackward , Just MsgScheduleOffsetWeekBackwardWeek) - BtnSOWBackwardDay -> (IconBackward , Just MsgScheduleOffsetWeekBackwardDay ) - BtnSOWCurrent -> (IconCurrent , Just MsgScheduleOffsetWeekCurrent ) - BtnSOWForwardDay -> (IconForward , Just MsgScheduleOffsetWeekForwardDay ) - BtnSOWForwardWeek -> (IconFastForward , Just MsgScheduleOffsetWeekForwardWeek ) diff --git a/src/Handler/Utils/Schedule/Types/ScheduleOptions.hs b/src/Handler/Utils/Schedule/Types/ScheduleOptions.hs index 1c2bdacd4..f7063519f 100644 --- a/src/Handler/Utils/Schedule/Types/ScheduleOptions.hs +++ b/src/Handler/Utils/Schedule/Types/ScheduleOptions.hs @@ -21,10 +21,6 @@ instance Universe ScheduleView derivePathPiece ''ScheduleView (camelToPathPiece' 1) "_" -instance Button UniWorX ScheduleView where - btnClasses ScheduleViewWeek = [BCIsButton, BCScheduleView] - btnLabel ScheduleViewWeek = [whamlet| _{MsgBtnScheduleViewWeek} |] - data ScheduleOffset = ScheduleOffsetNone | ScheduleOffsetDays Int @@ -32,6 +28,7 @@ data ScheduleOffset = ScheduleOffsetNone derivePathPiece ''ScheduleOffset (camelToPathPiece' 1) "_" + data ScheduleOptionsAction = ScheduleSetView | ScheduleSetOffset Int -- TODO: use ScheduleOffset instead of Int | ScheduleSetDefault @@ -39,6 +36,7 @@ data ScheduleOptionsAction = ScheduleSetView derivePathPiece ''ScheduleOptionsAction (camelToPathPiece' 1) "_" + data ScheduleOptions = ScheduleOptions { scheduleView :: ScheduleView , scheduleOffset :: ScheduleOffset @@ -55,8 +53,7 @@ instance Button UniWorX ScheduleOptions where ScheduleSetView -> case scheduleView of ScheduleViewWeek -> [whamlet| _{MsgScheduleViewWeek} |] ScheduleSetOffset d -> case scheduleView of - ScheduleViewWeek -> let iconTooltipMessage i m = iconTooltip [whamlet| _{m} |] (Just i) True - in case d of + ScheduleViewWeek -> let iconTooltipMessage i m = iconTooltip [whamlet| _{m} |] (Just i) True in case d of (-7) -> [whamlet| ^{iconTooltipMessage IconFastBackward MsgScheduleOffsetWeekBackwardWeek} |] (-1) -> [whamlet| ^{iconTooltipMessage IconBackward MsgScheduleOffsetWeekBackwardDay} |] 0 -> [whamlet| ^{iconTooltipMessage IconCurrent MsgScheduleOffsetWeekCurrent} |]