19declare(strict_types=1);
31 private \
ILIAS\UI\Factory $ui_factory,
32 private \
ILIAS\UI\Renderer $ui_renderer,
35 private \Psr\Http\Message\ServerRequestInterface $http_request,
36 private \
ILIAS\Data\Factory $df,
37 private string $parent_cmd,
38 private bool $has_write_access
42 $form_action = $this->df->uri(
44 $this->
ctrl->getLinkTarget($this->parent_gui, $this->parent_cmd)
60 return $this->ui_factory
64 $this->
lng->txt(
'auth_saml_idps'),
68 ->withOrder(
new \
ILIAS\Data\Order(
'title', \
ILIAS\Data\Order::ASC))
70 ->withRequest($this->http_request);
79 'title' => $this->ui_factory
82 ->text($this->
lng->txt(
'saml_tab_head_idp'))
83 ->withIsSortable(
true),
84 'active' => $this->ui_factory
88 $this->
lng->txt(
'status'),
89 $this->ui_factory->symbol()->icon()->custom(
90 'assets/images/standard/icon_ok.svg',
91 $this->lng->txt(
'active'),
94 $this->ui_factory->symbol()->icon()->custom(
95 'assets/images/standard/icon_not_ok.svg',
96 $this->lng->txt(
'inactive'),
100 ->withIsSortable(
true)
101 ->withOrderingLabels(
102 "{$this->lng->txt('status')}, {$this->lng->txt('active')} {$this->lng->txt('order_option_first')}",
103 "{$this->lng->txt('status')}, {$this->lng->txt('inactive')} {$this->lng->txt('order_option_first')}"
113 if (!$this->has_write_access) {
118 'edit' => $this->ui_factory->table()->action()->single(
119 $this->
lng->txt(
'edit'),
120 $this->url_builder->withParameter($this->action_parameter_token, self::TABLE_ACTION_SHOW_IDP_SETTINGS),
123 'activate' => $this->ui_factory->table()->action()->single(
124 $this->
lng->txt(
'activate'),
125 $this->url_builder->withParameter($this->action_parameter_token, self::TABLE_ACTION_ACTIVATE_IDP),
128 'deactivate' => $this->ui_factory->table()->action()->single(
129 $this->
lng->txt(
'deactivate'),
130 $this->url_builder->withParameter($this->action_parameter_token, self::TABLE_ACTION_DEACTIVATE_IDP),
133 'delete' => $this->ui_factory->table()->action()->single(
134 $this->
lng->txt(
'delete'),
135 $this->url_builder->withParameter($this->action_parameter_token, self::TABLE_ACTION_CONFIRM_DELETE_IDP),
148 [$order_field, $order_direction] = $order->join([],
static function ($ret, $key, $value) {
149 return [$key, $value];
152 usort($records,
static function (
ilSamlIdp $left,
ilSamlIdp $right) use ($order_field):
int {
153 if ($order_field ===
'title') {
160 if ($order_direction === \
ILIAS\Data\Order::DESC) {
161 $records = array_reverse($records);
171 array $visible_column_ids,
173 \
ILIAS\Data\Order $order,
175 ?array $additional_parameters
179 ->buildDataRow((
string) $item->getIdpId(), [
180 'title' => $item->getEntityId(),
181 'active' => $item->isActive()
183 ->withDisabledAction(
187 ->withDisabledAction(
196 return count($this->idps);
getRecords(\ILIAS\Data\Range $range, \ILIAS\Data\Order $order)
ILIAS UI URLBuilderToken $row_id_token
ILIAS UI URLBuilder $url_builder
ILIAS UI URLBuilderToken $action_parameter_token
__construct(private ilSamlSettingsGUI $parent_gui, private \ILIAS\UI\Factory $ui_factory, private \ILIAS\UI\Renderer $ui_renderer, private ilLanguage $lng, private ilCtrlInterface $ctrl, private \Psr\Http\Message\ServerRequestInterface $http_request, private \ILIAS\Data\Factory $df, private string $parent_cmd, private bool $has_write_access)
getTotalRowCount(?array $filter_data, ?array $additional_parameters)
Mainly for the purpose of pagination-support, it is important to know about the total number of recor...
getRows(\ILIAS\UI\Component\Table\DataRowBuilder $row_builder, array $visible_column_ids, \ILIAS\Data\Range $range, \ILIAS\Data\Order $order, ?array $filter_data, ?array $additional_parameters)
static strCmp(string $a, string $b)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
Interface Observer \BackgroundTasks Contains several chained tasks and infos about them.