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")
    52         protected array $records;
    55             protected \
ILIAS\
UI\Factory $ui_factory,
    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.");
 
Interface Observer  Contains several chained tasks and infos about them. 
 
__construct()
Constructor setup ILIAS global object  public. 
 
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins