3 declare(strict_types=1);
35 $f = $DIC[
'ui.factory'];
40 $r = $DIC[
'ui.renderer'];
46 $df = new \ILIAS\Data\Factory();
47 $request = $DIC->http()->request();
51 'entry' =>
$f->table()->column()->text(
"some entry")
54 $url_builder =
new URLBuilder($df->uri($request->getUri()->__toString()));
55 $query_params_namespace = [
'datatable',
'example',
'large'];
56 list($url_builder, $action_parameter_token, $row_id_token) = $url_builder->acquireParameters(
57 $query_params_namespace,
59 "a_quiet_longish_parameter_name_to_quickly_exceed_url_limits" 63 $f->table()->action()->standard(
65 $url_builder->withParameter($action_parameter_token,
"edit"),
70 $data_retrieval =
new class (
$f,
$r) implements
I\DataRetrieval {
71 protected array $records;
74 protected \
ILIAS\
UI\Factory $ui_factory,
77 $this->records = $this->initRecords();
80 public function getRows(
81 I\DataRowBuilder $row_builder,
82 array $visible_column_ids,
86 ?array $additional_parameters
88 $records = array_values($this->records);
89 foreach ($this->records as $record) {
90 $row_id = (string) $record[
'id'];
91 yield $row_builder->buildDataRow($row_id, $record);
95 public function getTotalRowCount(
97 ?array $additional_parameters
99 return count($this->records);
102 protected function initRecords(): array
106 $id = str_repeat($r, 1000);
109 'entry' => substr(
$id, 0, 50),
116 $target = (
new URI((
string) $request->getUri()))->withParameter(
'ordering_example', 4);
117 $table =
$f->table()->data($data_retrieval,
'large ids data table', $columns)
118 ->withActions($actions)
119 ->withRequest($request);
121 return $r->render($table);
Interface Observer Contains several chained tasks and infos about them.
__construct()
Constructor setup ILIAS global object public.
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins