refactor(schedule): use ScheduleOffset in ScheduleOptionsAction
This commit is contained in:
parent
ae0e3f797f
commit
db7238da5e
@ -67,7 +67,7 @@ postScheduleR = do
|
||||
{ scheduleOffset = case sNewOffset of
|
||||
ScheduleOffsetNone -> ScheduleOffsetNone
|
||||
_ -> (scheduleOffset currentScheduleOptions) `addOffset` sNewOffset
|
||||
, scheduleOptionsAction = ScheduleSetOffset (offsetInDays sNewOffset)
|
||||
, scheduleOptionsAction = ScheduleSetOffset sNewOffset
|
||||
})
|
||||
_ -> mempty
|
||||
|
||||
|
||||
@ -6,7 +6,7 @@ import Import
|
||||
|
||||
|
||||
data ScheduleEntry = ScheduleCourseEvent
|
||||
{ sceCourse :: Entity Course -- TODO: just course?
|
||||
{ sceCourse :: Entity Course
|
||||
, sceType :: CourseEventType
|
||||
, sceRoom :: CourseEventRoom
|
||||
, sceOccurrence :: Either OccurrenceException OccurrenceSchedule
|
||||
|
||||
@ -30,7 +30,7 @@ derivePathPiece ''ScheduleOffset (camelToPathPiece' 1) "_"
|
||||
|
||||
|
||||
data ScheduleOptionsAction = ScheduleSetView
|
||||
| ScheduleSetOffset Int -- TODO: use ScheduleOffset instead of Int
|
||||
| ScheduleSetOffset ScheduleOffset
|
||||
| ScheduleSetDefault
|
||||
deriving (Eq, Ord, Show, Read, Generic, Typeable)
|
||||
|
||||
@ -49,14 +49,16 @@ derivePathPiece ''ScheduleOptions (camelToPathPiece' 1) "__"
|
||||
instance Button UniWorX ScheduleOptions where
|
||||
btnClasses = const [BCIsButton]
|
||||
btnLabel ScheduleOptions{..} = case scheduleOptionsAction of
|
||||
ScheduleSetDefault -> [whamlet| _{MsgScheduleReset} |]
|
||||
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
|
||||
(-7) -> [whamlet| ^{iconTooltipMessage IconFastBackward MsgScheduleOffsetWeekBackwardWeek} |]
|
||||
(-1) -> [whamlet| ^{iconTooltipMessage IconBackward MsgScheduleOffsetWeekBackwardDay} |]
|
||||
0 -> [whamlet| ^{iconTooltipMessage IconCurrent MsgScheduleOffsetWeekCurrent} |]
|
||||
1 -> [whamlet| ^{iconTooltipMessage IconForward MsgScheduleOffsetWeekForwardDay} |]
|
||||
7 -> [whamlet| ^{iconTooltipMessage IconFastForward MsgScheduleOffsetWeekForwardWeek} |]
|
||||
_ -> [whamlet| #{tshow d} |]
|
||||
ScheduleSetDefault -> [whamlet| _{MsgScheduleReset} |]
|
||||
ScheduleSetView -> case scheduleView of
|
||||
ScheduleViewWeek -> [whamlet| _{MsgScheduleViewWeek} |]
|
||||
ScheduleSetOffset o -> case scheduleView of
|
||||
ScheduleViewWeek -> let iconTooltipMessage i m = iconTooltip [whamlet| _{m} |] (Just i) True in case o of
|
||||
ScheduleOffsetNone -> [whamlet| ^{iconTooltipMessage IconCurrent MsgScheduleOffsetWeekCurrent} |]
|
||||
ScheduleOffsetDays d -> case d of
|
||||
(-7) -> [whamlet| ^{iconTooltipMessage IconFastBackward MsgScheduleOffsetWeekBackwardWeek} |]
|
||||
(-1) -> [whamlet| ^{iconTooltipMessage IconBackward MsgScheduleOffsetWeekBackwardDay} |]
|
||||
0 -> [whamlet| ^{iconTooltipMessage IconCurrent MsgScheduleOffsetWeekCurrent} |]
|
||||
1 -> [whamlet| ^{iconTooltipMessage IconForward MsgScheduleOffsetWeekForwardDay} |]
|
||||
7 -> [whamlet| ^{iconTooltipMessage IconFastForward MsgScheduleOffsetWeekForwardWeek} |]
|
||||
_ -> [whamlet| #{tshow d} |]
|
||||
|
||||
Reference in New Issue
Block a user