19declare(strict_types=1);
50 $this->
lng = $DIC->language();
51 $this->ui_factory =
$DIC->ui()->factory();
52 $this->ui_renderer =
$DIC->ui()->renderer();
53 $this->request =
$DIC->http()->request();
62 foreach ($this->records as $record) {
63 $record[
'lti_timestamp'] =
new DateTimeImmutable($record[
'lti_timestamp']);
64 $record[
'score_given'] = $record[
'score_given'] .
' / ' . $record[
'score_maximum'];
65 $record[
'activity_progress'] = $this->
lng->txt(
'grade_activity_progress_' . strtolower($record[
'activity_progress']));
66 $record[
'grading_progress'] = $this->
lng->txt(
'grade_grading_progress_' . strtolower($record[
'grading_progress']));
67 $record[
'stored'] =
new DateTimeImmutable($record[
'stored']);
69 yield $row_builder->
buildDataRow((
string) $record[
'id'], $record);
75 return count($this->records);
85 $table = $this->ui_factory->table()
87 ->withOrder(
new Order(
"lti_timestamp", Order::DESC))
88 ->withRequest($this->request);
90 return $this->ui_renderer->render($table);
96 $df = new \ILIAS\Data\Factory();
100 "lti_timestamp" => $this->ui_factory->table()->column()->date($this->
lng->txt(
'tbl_grade_date'), $df->dateFormat()->withTime24(
$DIC->user()->getDateFormat())),
101 "actor" => $this->ui_factory->table()->column()->text($this->
lng->txt(
'tbl_grade_actor')),
102 "score_given" => $this->ui_factory->table()->column()->text($this->
lng->txt(
'tbl_grade_score')),
103 "activity_progress" => $this->ui_factory->table()->column()->text($this->
lng->txt(
'tbl_grade_activity_progress')),
104 "grading_progress" => $this->ui_factory->table()->column()->text($this->
lng->txt(
'tbl_grade_grading_progress')),
105 "stored" => $this->ui_factory->table()->column()->date($this->
lng->txt(
'tbl_grade_stored'), $df->dateFormat()->withTime24(
$DIC->user()->getDateFormat()))
Builds a Color from either hex- or rgb values.
Both the subject and the direction need to be specified when expressing an order.
A simple class to express a naive range of whole positive numbers.
getTotalRowCount(?array $filter_data, ?array $additional_parameters)
Mainly for the purpose of pagination-support, it is important to know about the total number of recor...
ILIAS UI Renderer $ui_renderer
__construct(bool $isMultiActorReport)
setRecords(array $records)
getRows(DataRowBuilder $row_builder, array $visible_column_ids, Range $range, Order $order, ?array $filter_data, ?array $additional_parameters)
buildDataRow(string $id, array $record)
This is how the factory for UI elements looks.