chore(course-teaser): focussing on course information
Using lenses to focus on course, lecturer list and register status. TODO: moved .julius file (no courseId available). TODO: overwrite default template mode for course list and define lenses there
This commit is contained in:
parent
2fb49ef4e3
commit
1be333a09a
@ -390,7 +390,7 @@ data DBStyle r = DBStyle
|
|||||||
, dbsCellTemplate :: DBSTemplateMode r
|
, dbsCellTemplate :: DBSTemplateMode r
|
||||||
}
|
}
|
||||||
|
|
||||||
data DBSTemplateMode r = DBSTDefault | DBSTCourse (Lens' r (Entity Course))
|
data DBSTemplateMode r = DBSTDefault | DBSTCourse (Lens' r (Entity Course)) (Traversal' r (Entity User)) (Lens' r Bool)
|
||||||
|
|
||||||
instance Default (DBStyle r) where
|
instance Default (DBStyle r) where
|
||||||
def = DBStyle
|
def = DBStyle
|
||||||
@ -868,11 +868,11 @@ dbTable PSValidator{..} dbtable@DBTable{ dbtIdent = dbtIdent'@(toPathPiece -> db
|
|||||||
wHeaders <- maybe (return Nothing) (fmap Just . genHeaders) pSortable
|
wHeaders <- maybe (return Nothing) (fmap Just . genHeaders) pSortable
|
||||||
|
|
||||||
wRows <- forM rows $ \row' -> forM (oneColonnadeEncode <$> getColonnade dbtColonnade) $ \(($ row') -> cell') -> case dbsCellTemplate of
|
wRows <- forM rows $ \row' -> forM (oneColonnadeEncode <$> getColonnade dbtColonnade) $ \(($ row') -> cell') -> case dbsCellTemplate of
|
||||||
DBSTCourse c -> let
|
DBSTCourse c l r -> let
|
||||||
Course{..} = row' ^. c . _entityVal
|
Course{..} = row' ^. c . _entityVal
|
||||||
courseId = "cid" :: Text -- TODO:
|
lecturers = toListOf l row'
|
||||||
courseLecturer = "courseLecturer" :: Text -- TODO: use tuple of lenses in DBStyle
|
courseLecturers = intercalate ", " $ userSurname . entityVal <$> lecturers
|
||||||
isRegistered = False -- TODO:
|
isRegistered = row' ^. r
|
||||||
courseSchoolName = unSchoolKey courseSchool
|
courseSchoolName = unSchoolKey courseSchool
|
||||||
in return $(widgetFile "table/cell/course-teaser")
|
in return $(widgetFile "table/cell/course-teaser")
|
||||||
DBSTDefault -> do
|
DBSTDefault -> do
|
||||||
|
|||||||
@ -1,11 +1,11 @@
|
|||||||
<div .course-teaser :isRegistered:.course-teaser--registered #course-#{courseId} tabindex='1'>
|
<div .course-teaser :isRegistered:.course-teaser--registered tabindex='1'>
|
||||||
<div .course-teaser__chevron>
|
<div .course-teaser__chevron>
|
||||||
<div .course-teaser__shorthand>_{courseShorthand}
|
<div .course-teaser__shorthand>_{courseShorthand}
|
||||||
<div .course-teaser__title>
|
<div .course-teaser__title>
|
||||||
<a href=@{AdminTestR}>_{courseName}
|
<a href=@{AdminTestR}>_{courseName}
|
||||||
<div .course-teaser__registration>_{MsgRegistered}
|
<div .course-teaser__registration>_{MsgRegistered}
|
||||||
<div .course-teaser__lecturer-label>_{MsgLecturerFor}
|
<div .course-teaser__lecturer-label>_{MsgLecturerFor}
|
||||||
<div .course-teaser__lecturer-value>_{courseLecturer}
|
<div .course-teaser__lecturer-value>_{courseLecturers}
|
||||||
<div .course-teaser__duedate-label>_{MsgRegisterTo}
|
<div .course-teaser__duedate-label>_{MsgRegisterTo}
|
||||||
<div .course-teaser__duedate-value>^{utcTimeToWidget courseRegisterTo}
|
<div .course-teaser__duedate-value>^{utcTimeToWidget courseRegisterTo}
|
||||||
<div .course-teaser__school-label>_{MsgCourseSchool}
|
<div .course-teaser__school-label>_{MsgCourseSchool}
|
||||||
|
|||||||
Reference in New Issue
Block a user