ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
ILIAS\Repository\Table\TableRetrieval Class Reference
+ Inheritance diagram for ILIAS\Repository\Table\TableRetrieval:
+ Collaboration diagram for ILIAS\Repository\Table\TableRetrieval:

Public Member Functions

 __construct (protected RetrievalInterface $retrieval, protected array $actions, protected ?\Closure $active_action_closure, protected ?\Closure $row_transformer)
 
 getRows (Table\DataRowBuilder $row_builder, array $visible_column_ids, Range $range, Order $order, ?array $filter_data, ?array $additional_parameters)
 
 getTotalRowCount (?array $filter_data, ?array $additional_parameters)
 Mainly for the purpose of pagination-support, it is important to know about the total number of records available. More...
 
- Public Member Functions inherited from ILIAS\UI\Component\Table\DataRetrieval
 getRows (DataRowBuilder $row_builder, array $visible_column_ids, Range $range, Order $order, ?array $filter_data, ?array $additional_parameters)
 This is called by the table to retrieve rows; map data-records to rows using the $row_builder e.g. More...
 
 getTotalRowCount (?array $filter_data, ?array $additional_parameters)
 Mainly for the purpose of pagination-support, it is important to know about the total number of records available. More...
 

Detailed Description

Definition at line 28 of file TableRetrieval.php.

Constructor & Destructor Documentation

◆ __construct()

ILIAS\Repository\Table\TableRetrieval::__construct ( protected RetrievalInterface  $retrieval,
protected array  $actions,
protected ?\Closure  $active_action_closure,
protected ?\Closure  $row_transformer 
)

Definition at line 30 of file TableRetrieval.php.

35 {
36 }

Member Function Documentation

◆ getRows()

ILIAS\Repository\Table\TableRetrieval::getRows ( Table\DataRowBuilder  $row_builder,
array  $visible_column_ids,
Range  $range,
Order  $order,
?array  $filter_data,
?array  $additional_parameters 
)

Definition at line 38 of file TableRetrieval.php.

45 : \Generator {
46 foreach ($this->retrieval->getData(
47 $visible_column_ids,
48 $range,
49 $order,
50 $filter_data ?? [],
51 $additional_parameters ?? []
52 ) as $data) {
53 if ($this->row_transformer) {
54 $table_data = ($this->row_transformer)($data);
55 } else {
56 $table_data = $data;
57 }
58 $row = $row_builder->buildDataRow((string) $data["id"], $table_data);
59 if ($this->active_action_closure) {
60 foreach ($this->actions as $action) {
61 if (!($this->active_action_closure)($action, $data)) {
62 $row = $row->withDisabledAction($action);
63 }
64 }
65 }
66 yield $row;
67 }
68 }

References $data.

◆ getTotalRowCount()

ILIAS\Repository\Table\TableRetrieval::getTotalRowCount ( ?array  $filter_data,
?array  $additional_parameters 
)

Mainly for the purpose of pagination-support, it is important to know about the total number of records available.

Given the nature of a DataTable, which is, opposite to a PresentationTable, rather administrative than explorative, this information will increase user experience quite a bit. However, you may return null, if the call is to costly, but expect the View Control to look a little different in this case.

Make sure that potential filters or user restrictions are being applied to the count.

Implements ILIAS\UI\Component\Table\DataRetrieval.

Definition at line 70 of file TableRetrieval.php.

73 : ?int {
74 return $this->retrieval->count(
75 $filter_data ?? [],
76 $additional_parameters ?? []
77 );
78 }

The documentation for this class was generated from the following file: