19declare(strict_types=1);
36use Psr\Http\Message\ServerRequestInterface;
43 protected readonly UIFactory $ui_factory,
44 protected readonly DataFactory $data_factory,
45 protected readonly ServerRequestInterface $request,
46 protected readonly PoolDefinitionList $pool_definition_list
52 array $visible_column_ids,
55 mixed $additional_viewcontrol_data,
57 mixed $additional_parameters
62 $record[
'status'] = $this->
lng->txt(
'tst_non_avail_pool_msg_status_' . $record[
'status']);
65 ->withDisabledAction(
'derive_pool', !$derive);
70 mixed $additional_viewcontrol_data,
72 mixed $additional_parameters
74 return count($this->pool_definition_list->getNonAvailablePools());
79 $data = array_map(fn($pool) => [
80 'id' => $pool->getId(),
81 'title' => $pool->getTitle(),
82 'path' => $pool->getPath(),
83 'status' => $pool->getUnavailabilityStatus(),
84 ], $this->pool_definition_list->getNonAvailablePools());
90 return $this->ui_factory->table()
91 ->data($this, $this->
lng->txt(
'tst_non_avail_pools_table'), $this->getColumns())
92 ->withRequest($this->request)
93 ->withActions($this->getActions())
94 ->withId(
'tst_non_avail_pools_table');
102 $column_factory = $this->ui_factory->table()->column();
104 'title' => $column_factory->text($this->
lng->txt(
'title')),
105 'path' => $column_factory->text($this->
lng->txt(
'path')),
106 'status' => $column_factory->text($this->
lng->txt(
'status')),
115 $target = $this->data_factory->uri((
string) $this->request->getUri());
117 [$url_builder, $id_token] = $url_builder->acquireParameters(
122 'derive_pool' => $this->ui_factory->table()->action()->single(
123 $this->
lng->txt(
'tst_derive_new_pool'),
124 $url_builder->withURI($target->withParameter(
'cmd', ConfigGUI::CMD_SELECT_DERIVATION_TARGET)),
Builds a Color from either hex- or rgb values.
Both the subject and the direction need to be specified when expressing an order.
A simple class to express a naive range of whole positive numbers.
getData(Range $range, Order $order)
getTotalRowCount(mixed $additional_viewcontrol_data, mixed $filter_data, mixed $additional_parameters)
Mainly for the purpose of pagination-support, it is important to know about the total number of recor...
getRows(DataRowBuilder $row_builder, array $visible_column_ids, Range $range, Order $order, mixed $additional_viewcontrol_data, mixed $filter_data, mixed $additional_parameters)
This is called by the table to retrieve rows; map data-records to rows using the $row_builder e....
__construct(protected readonly \ilCtrlInterface $ctrl, protected readonly \ilLanguage $lng, protected readonly UIFactory $ui_factory, protected readonly DataFactory $data_factory, protected readonly ServerRequestInterface $request, protected readonly PoolDefinitionList $pool_definition_list)
const UNAVAILABILITY_STATUS_LOST
return['delivery_method'=> 'php',]
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
A Column describes the form of presentation for a certain aspect of data, i.e.
buildDataRow(string $id, array $record)
This describes a Data Table.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...