55 private bool $write_access =
false 58 $this->ui_factory = $DIC->ui()->factory();
59 $this->request = $DIC->http()->request();
60 $this->collector = $DIC->globalScreen()->collector()->footer();
61 $this->identification = $DIC->globalScreen()->identification();
66 $ok = $this->ok($this->ui_factory);
67 $nok = $this->nok($this->ui_factory);
70 if ($group->isCore()) {
71 $title = $this->collector->getSingleItemFromRaw(
72 $this->identification->fromSerializedIdentification($group->getId()),
75 $title = $this->translations_repository->get($group)->getDefault()?->getTranslation(
76 ) ?? $group->getTitle();
79 $this->
hash($group->getId()),
81 self::COLUMN_TITLE => $this->ui_factory->link()->standard(
84 ->withParameter($this->id_token, $this->
hash($group->getId()))
86 ->withParameter(
'cmd',
'editEntries')
88 self::COLUMN_ACTIVE => $group->isActive() ? $ok : $nok,
89 self::CLUMNS_ITEMS => $group->getItems(),
93 if (!$this->write_access || $group->isCore()) {
94 $row = $row->withDisabledAction(
'delete')
95 ->withDisabledAction(
'translate')
96 ->withDisabledAction(
'move');
98 if (!$this->write_access) {
99 $row = $row->withDisabledAction(
'edit')
100 ->withDisabledAction(
'toggle_activation');
109 URI $translations_uri
113 return $this->ui_factory
116 $this->translator->translate(
'groups'),
118 self::COLUMN_TITLE => $this->ui_factory->table()->column()->link(
119 $this->translator->translate(
'title',
'group')
121 self::COLUMN_ACTIVE => $this->ui_factory->table()->column()->statusIcon(
122 $this->translator->translate(
'active',
'group')
124 self::CLUMNS_ITEMS => $this->ui_factory->table()->column()->text(
125 $this->translator->translate(
'items',
'group')
131 ->withRequest($this->request)
134 'edit_entries' => $this->ui_factory->table()->action()->single(
135 $this->translator->translate(
'edit_entries',
'group'),
136 $uri_builder->withURI($here_uri->
withParameter(
'cmd',
'editEntries')),
140 'edit' => $this->ui_factory->table()->action()->single(
141 $this->translator->translate(
'edit',
'group'),
142 $uri_builder->withURI($here_uri->
withParameter(
'cmd',
'edit')),
146 'toggle_activation' => $this->ui_factory->table()->action()->standard(
147 $this->translator->translate(
'toggle_activation',
'group'),
148 $uri_builder->withURI($here_uri->
withParameter(
'cmd',
'toggleActivation')),
152 'delete' => $this->ui_factory->table()->action()->standard(
153 $this->translator->translate(
'delete',
'group'),
154 $uri_builder->withURI($here_uri->
withParameter(
'cmd',
'confirmDelete')),
158 'translate' => $this->ui_factory->table()->action()->single(
159 $this->translator->translate(
'translate',
'group'),
160 $uri_builder->withURI(
161 $translations_uri->withParameter(
'async',
'true')->withParameter(
179 $query_params_namespace = [
'gsfo'];
181 $query_params_namespace,
repository()
description: > Example for rendering a repository card
This describes a Table to specify the order of its data (rows).
This is how the factory for UI elements looks.
The scope of this class is split ilias-conform URI's into components.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
Class IdentificationFactory All elements in the GlobalScreen service must be identifiable for the sup...
buildOrderingRow(string $id, array $record)
withParameter(string $key, $value)
Get URI with modified parameters.