3 declare(strict_types=1);
29 $f = $DIC[
'ui.factory'];
34 $r = $DIC[
'ui.renderer'];
41 $df = new \ILIAS\Data\Factory();
42 $request = $DIC->http()->request();
46 'id' =>
$f->table()->column()->number(
"ID"),
47 'letter' =>
$f->table()->column()->text(
"Letter")
51 $data_retrieval =
new class (
$f,
$r) implements
I\OrderingBinding {
52 protected array $records;
56 protected \
ILIAS\
UI\Renderer $ui_renderer
58 $this->records = $this->initRecords();
61 public function getRows(
62 I\OrderingRowBuilder $row_builder,
63 array $visible_column_ids
65 $records = array_values($this->records);
66 foreach ($this->records as $position_index => $record) {
67 yield $row_builder->buildOrderingRow((
string) $record[
'id'], $record);
71 protected function initRecords(): array
77 $records[(string) $id] = [
'id' => $id,
'letter' => chr($id)];
85 public function setOrder(array $ordered): void
88 foreach ($ordered as
$id) {
89 $r[(string) $id] = $this->records[(
string)
$id];
100 $target = (
new URI((
string) $request->getUri()))->withParameter(
'ordering_example', 3);
101 $table =
$f->table()->ordering(
'sort the letters', $columns, $data_retrieval, $target)
102 ->withRequest($request);
108 if ($request->getMethod() ==
"POST" 112 $data = $table->withRequest($request)->getData();
113 if (
$data === range(65, 68)) {
114 $data_retrieval->setOrder(
$data);
115 $out[] =
$f->messageBox()->success(
"ok. great ordering!");
117 $out[] =
$f->messageBox()->failure(
"nah. try again.");
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
Class ChatMainBarProvider .
__construct()
Constructor setup ILIAS global object public.
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Refinery Factory $refinery