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();
58 array $visible_column_ids,
61 mixed $additional_viewcontrol_data,
63 mixed $additional_parameters
72 $record[
'icon'] = $record[
'icon'] ??
"lti";
73 $record[
'icon'] = $this->ui_factory->symbol()->icon()->standard($record[
'icon'], $record[
'icon'], Icon::SMALL);
80 $record[
'used_by'] = $this->ui_factory->link()->standard(
81 $record[
'usedByTitle'],
85 yield $row_builder->
buildDataRow((
string) $record[
'id'], $record);
90 mixed $additional_viewcontrol_data,
92 mixed $additional_parameters
94 return count($this->records);
99 $this->records =
$data;
104 [$order_field, $order_direction] = $order->
join(
106 fn($ret, $key, $value) => [$key, $value]
109 usort($records,
static function (array $left, array $right) use ($order_field):
int {
110 $left_val = $left[$order_field] ??
'';
111 $right_val = $right[$order_field] ??
'';
115 if ($order_direction === Order::DESC) {
116 $records = array_reverse($records);
128 $table = $this->ui_factory->table()
129 ->data($this, $this->
lng->txt(
'tbl_provider_usage_header'), $this->getColumns())
130 ->withOrder(
new Order(
'title', Order::ASC))
131 ->withRange(
new Range(0, 20))
132 ->withRequest($this->request);
134 return $this->ui_renderer->render($table);
140 "icon" => $this->ui_factory->table()->column()->statusIcon($this->
lng->txt(
'tbl_lti_prov_icon')),
141 "title" => $this->ui_factory->table()->column()->text($this->
lng->txt(
'tbl_lti_prov_title')),
142 "usedByIsTrashed" => $this->ui_factory->table()->column()->boolean(
143 $this->
lng->txt(
'tbl_lti_prov_usages_trashed'),
144 $this->ui_factory->symbol()->icon()->custom(
'assets/images/standard/icon_ok.svg', $this->lng->txt(
'icon_ok'), Icon::SMALL),
145 $this->ui_factory->symbol()->icon()->custom(
'assets/images/standard/icon_not_ok.svg', $this->lng->txt(
'icon_not_ok'), Icon::SMALL)
147 "used_by" => $this->ui_factory->table()->column()->link($this->
lng->txt(
'tbl_lti_prov_used_by'))
Builds a Color from either hex- or rgb values.
Both the subject and the direction need to be specified when expressing an order.
join($init, callable $fn)
A simple class to express a naive range of whole positive numbers.
ILIAS UI Renderer $ui_renderer
getTotalRowCount(mixed $additional_viewcontrol_data, mixed $filter_data, mixed $additional_parameters)
Mainly for the purpose of pagination-support, it is important to know about the total number of recor...
applyOrdering(array $records, Order $order, ?Range $range=null)
static _lookupType(int $id, bool $reference=false)
static strCmp(string $a, string $b)
return['delivery_method'=> 'php',]
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This describes how an icon could be modified during construction of UI.
getRows(DataRowBuilder $row_builder, array $visible_column_ids, Range $range, Order $order, mixed $additional_viewcontrol_data, mixed $filter_data, mixed $additional_parameters)
This is called by the table to retrieve rows; map data-records to rows using the $row_builder e....
buildDataRow(string $id, array $record)
This is how the factory for UI elements looks.