| ^{simpleLink (toWidget sheetName) (CSheetR tid ssh csh sheetName SSubsR)}
$if groupsPossible
| #{ciSubmittors}
| #{ciSubmissions}
$maybe ((splus,sfailed),_) <- Map.lookup sheetName assignment
$if 0 < Set.size sfailed
| #{ciSubmissions - ciAssigned}
| (-#{show (Set.size splus)}, failed: #{show (Set.size sfailed)})
$elseif 0 < Set.size splus
| #{ciSubmissions - ciAssigned}
| (-#{show (Set.size splus)})
$else
| #{ciSubmissions - ciAssigned}
$nothing
| #{ciSubmissions - ciAssigned}
| #{ciSubmissions - ciCorrected}
| #{showDiffDays ciMin}
| #{showAvgsDays ciTot ciCorrected}
| #{showDiffDays ciMax}
_{MsgCorrectionCorrectors}
| _{MsgCorrector}
| _{MsgNrSubmissionsTotal}
| _{MsgNrSubmissionsNotCorrected}
| _{MsgCorrectionTime}
$forall shn <- sheetNames
| #{shn}
$# ^{simpleLinkI (SomeMessage MsgMenuCorrectors) (CSheetR tid ssh csh shn SCorrR)}
$forall (CorrectionInfo{ciCorrector, ciSubmissions, ciCorrected, ciMin, ciTot, ciMax}) <- Map.elems corrMap
$with (nameW,loadM) <- getCorrector ciCorrector
|
| ^{nameW}
| #{ciSubmissions}
| #{ciSubmissions - ciCorrected}
| #{showDiffDays ciMin}
| #{showAvgsDays ciTot ciCorrected}
| #{showDiffDays ciMax}
$forall shn <- sheetNames
$maybe SheetCorrector{sheetCorrectorLoad, sheetCorrectorState} <- Map.lookup shn loadM
| #{showCompactCorrectorLoad sheetCorrectorLoad sheetCorrectorState}
$nothing
|
$maybe CorrectionInfo{ciSubmissions,ciCorrected,ciTot} <- getCorrSheetStatus ciCorrector shn
$maybe nrNew <- getCorrNewAssignment ciCorrector shn
| #{ciSubmissions}
$# | #{ciAssigned} `ciSubmissions` is here always identical to `ciAssigned` and also works for `ciCorrector == Nothing`. ciAssigned only useful in aggregate maps like `sheetMap`
| (+#{nrNew})
$nothing
| #{ciSubmissions}
| #{ciSubmissions - ciCorrected}
| #{showAvgsDays ciTot ciCorrected}
$nothing
|
$if 0 < length sheetNames
|
|
$forall shn <- sheetNames
| ^{simpleLinkI (SomeMessage MsgMenuCorrectors) (CSheetR tid ssh csh shn SCorrR)}
^{btnWdgt}
_{MsgAssignSubmissionsRandomWarning} | |