19 declare(strict_types=1);
39 $f = $DIC[
'ui.factory'];
40 $r = $DIC[
'ui.renderer'];
41 $df = new \ILIAS\Data\Factory();
45 $here_uri = $df->uri($DIC->http()->request()->getUri()->__toString());
49 $query_params_namespace = [
'datatable',
'example'];
50 list($url_builder, $id_token, $action_token) = $url_builder->acquireParameters(
51 $query_params_namespace,
58 $f->table()->action()->standard(
60 $url_builder->withParameter($action_token,
"do_something"),
63 $f->table()->action()->standard(
65 $url_builder->withParameter($action_token,
"do_something_else"),
71 ->withActions($actions)
72 ->withRequest($DIC->http()->request());
78 $query = $DIC->http()->wrapper()->query();
79 if ($query->has($action_token->getName())) {
80 $action = $query->retrieve($action_token->getName(),
$refinery->to()->string());
81 $ids = $query->retrieve($id_token->getName(),
$refinery->custom()->transformation(fn($v) => $v));
83 if ($action ===
'do_something_else') {
85 foreach ($ids as
$id) {
86 $items[] =
$f->modal()->interruptiveItem()->keyValue($id, $id_token->getName(),
$id);
88 echo(
$r->renderAsync([
89 $f->modal()->interruptive(
93 )->withAffectedItems($items)
97 $items =
$f->listing()->characteristicValue()->text(
99 'table_action' => $action,
100 'id' => print_r($ids,
true),
103 $result[] =
$f->divider()->horizontal();
108 return $r->render($result);
113 $columns = [
'f1' =>
$f->table()->column()->text(
"Field 1")];
115 $data_retrieval =
new class () implements
I\DataRetrieval {
116 public function getRows(
117 I\DataRowBuilder $row_builder,
118 array $visible_column_ids,
122 ?array $additional_parameters
124 foreach (range(0, 5) as $cnt) {
125 yield $row_builder->buildDataRow(
'row_id' . $cnt, [
'f1' => $cnt]);
129 public function getTotalRowCount(
131 ?array $additional_parameters
136 return $f->table()->data($data_retrieval,
'a data table with actions', $columns);
base()
expected output: > ILIAS shows the rendered Component.
Both the subject and the direction need to be specified when expressing an order. ...
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
A simple class to express a naive range of whole positive numbers.