refactor(schedule): remove deprecated Button instances
This commit is contained in:
parent
2c021d0ae2
commit
cb61482b83
@ -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
|
||||
|
||||
@ -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 )
|
||||
@ -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} |]
|
||||
|
||||
Reference in New Issue
Block a user