From 21aee2b96879fac2197286a9305317736e926220 Mon Sep 17 00:00:00 2001 From: Shamim Rezaie Date: Wed, 5 Apr 2023 01:55:19 +1000 Subject: [PATCH] MDL-76150 gradereport_grader: Make numerical grades right-aligned - state icons follow the alignment of their respective grade type --- grade/report/grader/lib.php | 33 +++++++++++++++++++++++++++++++-- grade/report/grader/styles.css | 10 ++++++++++ 2 files changed, 41 insertions(+), 2 deletions(-) diff --git a/grade/report/grader/lib.php b/grade/report/grader/lib.php index 4eaa4b31c8e..65d0b7de117 100644 --- a/grade/report/grader/lib.php +++ b/grade/report/grader/lib.php @@ -846,6 +846,18 @@ class grade_report_grader extends grade_report { $itemcell->attributes['class'] .= ' statusicons'; } + switch ($element['object']->gradetype) { + case GRADE_TYPE_SCALE: + $itemcell->attributes['class'] .= ' grade_type_scale'; + break; + case GRADE_TYPE_VALUE: + $itemcell->attributes['class'] .= ' grade_type_value'; + break; + case GRADE_TYPE_TEXT: + $itemcell->attributes['class'] .= ' grade_type_text'; + break; + } + $itemcell->colspan = $colspan; $itemcell->header = true; $itemcell->scope = 'col'; @@ -1318,6 +1330,14 @@ class grade_report_grader extends grade_report { $itemcell = new html_table_cell(); $itemcell->attributes['class'] .= ' range i'. $itemid; + if ($item->gradetype == GRADE_TYPE_SCALE) { + $itemcell->attributes['class'] .= ' grade_type_scale'; + } else if ($item->gradetype == GRADE_TYPE_VALUE) { + $itemcell->attributes['class'] .= ' grade_type_value'; + } else if ($item->gradetype == GRADE_TYPE_TEXT) { + $itemcell->attributes['class'] .= ' grade_type_text'; + } + $hidden = ''; if ($item->is_hidden()) { $hidden = ' dimmed_text '; @@ -1477,9 +1497,18 @@ class grade_report_grader extends grade_report { $decimalpoints = $averagesdecimalpoints; } + $gradetypeclass = ''; + if ($item->gradetype == GRADE_TYPE_SCALE) { + $gradetypeclass = ' grade_type_scale'; + } else if ($item->gradetype == GRADE_TYPE_VALUE) { + $gradetypeclass = ' grade_type_value'; + } else if ($item->gradetype == GRADE_TYPE_TEXT) { + $gradetypeclass = ' grade_type_text'; + } + if (!isset($sumarray[$item->id]) || $meancount == 0) { $avgcell = new html_table_cell(); - $avgcell->attributes['class'] = 'i'. $itemid; + $avgcell->attributes['class'] = $gradetypeclass . ' i'. $itemid; $avgcell->text = '-'; $avgrow->cells[] = $avgcell; @@ -1494,7 +1523,7 @@ class grade_report_grader extends grade_report { } $avgcell = new html_table_cell(); - $avgcell->attributes['class'] = 'i'. $itemid; + $avgcell->attributes['class'] = $gradetypeclass . ' i'. $itemid; $avgcell->text = $gradehtml.$numberofgrades; $avgrow->cells[] = $avgcell; } diff --git a/grade/report/grader/styles.css b/grade/report/grader/styles.css index 01d00f00766..6de71c8b52a 100644 --- a/grade/report/grader/styles.css +++ b/grade/report/grader/styles.css @@ -51,6 +51,10 @@ margin-right: 10px; } +.path-grade-report-grader .grade_type_value .grade_icons { + margin-left: auto; +} + .path-grade-report-grader .grade_icons .icon { margin-right: 20px; } @@ -151,6 +155,12 @@ margin-right: 1px; } +.path-grade-report-grader .gradeparent td.grade_type_value, +.path-grade-report-grader .gradeparent td.grade_type_value input { + text-align: right; + margin-left: auto; +} + .path-grade-report-grader .gradeparent .gradevalue { display: inline-block; }