fradrive/templates/widgets/gradingSummaryRow.hamlet
2018-12-20 19:18:48 +01:00

40 lines
1.7 KiB
Plaintext

$# Displays one row of the grading summary
$# Expects several variables:
$# summary :: SheetGradeSummary -- summary to display
$# sumHeader :: UniWorXMessage -- row header
$# hasPasses :: Maybe Int -- Should Passing be displayed?
$# hasMarkedPasses :: Maybe Int -- Number of marked pass-sheets
$# hasPoints :: Maybe Points -- Should Points be displayed?
$# hasMarkedPoints :: Maybe Int -- Number of marked point-sheets
$#
$# TODO: Durschnittliche Punktzahl anzeigen
$# TODO: Extra-Spalte für Punkte Bewertet = numMarkedPoints / Punkte Gesamt = sumSheetPoints
$#
$maybe _ <- positiveSum $ summary ^. _numSheets
<tr .table__row>
<th .table__th>_{sumHeader}
$maybe _ <- hasMarkedPasses
$with Sum pmax <- summary ^. _numMarkedPasses
$with Sum pacv <- summary ^. _achievedPasses
<td .table__td>
$if pmax > 0
#{textPercentInt pacv pmax}
<td .table__td>
#{display pacv} / #{display pmax}
$maybe _ <- hasPasses
<td .table__td>
#{display $ summary ^. _numSheetsPasses}
$maybe _ <- hasMarkedPoints
$with Sum pmax <- summary ^. _sumMarkedPoints
$with Sum pacv <- summary ^. _achievedPoints
<td .table__td>
$if pmax > 0
#{textPercent $ realToFrac $ pacv / pmax}
<td .table__td>
#{display pacv} / #{display pmax}
\ (_{title $ getSum $ summary ^. _numMarkedPoints})
$maybe _ <- hasPoints
<td .table__td>
#{display (summary ^. _sumSheetsPoints)}
\ (_{title $ getSum $ summary ^. _numSheetsPoints})
<td .table__td>#{display $ summary ^. _numSheets}