3 declare(strict_types=1);
35 protected \ilLanguage
$lng;
39 protected Data\Factory
$df;
53 $this->
ctrl = $DIC->ctrl();
54 $this->
lng = $DIC->language();
55 $this->ui_fac = $DIC->ui()->factory();
56 $this->ui_ren = $DIC->ui()->renderer();
57 $this->request = $DIC->http()->request();
58 $this->df =
new Data\Factory();
60 $this->edit_gui_request = $DIC->glossary()->internal()->gui()->editing()->request();
61 $this->requested_table_glossary_auto_link_action = $this->edit_gui_request->getTableGlossaryAutoLinkAction();
62 $this->requested_table_glossary_auto_link_ids = $this->edit_gui_request->getTableGlossaryAutoLinkIds();
71 if ($this->requested_table_glossary_auto_link_action ===
"removeGlossary") {
73 foreach ($this->requested_table_glossary_auto_link_ids as
$id) {
74 $items[] = $this->ui_fac->modal()->interruptiveItem()->standard(
79 echo($this->ui_ren->renderAsync([
80 $this->ui_fac->modal()->interruptive(
82 $this->
lng->txt(
"glo_remove_glossary"),
83 $this->
ctrl->getFormActionByClass(
"ilobjglossarygui",
"removeGlossary")
85 ->withAffectedItems($items)
86 ->withActionButtonLabel($this->
lng->txt(
"remove"))
91 $table = $this->ui_fac->table()
92 ->data($this->
lng->txt(
"cont_auto_glossaries"), $columns, $data_retrieval)
95 $this->glossary->getRefId()
97 ->withActions($actions)
98 ->withRequest($this->request);
106 "title" => $this->ui_fac->table()->column()->text($this->
lng->txt(
"title"))
114 $query_params_namespace = [
"glo_auto_link_table"];
116 $url_builder_remove =
new UI\URLBuilder($this->df->uri($this->request->getUri()->__toString()));
117 list($url_builder_remove, $action_parameter_token_remove, $row_id_token_remove) =
118 $url_builder_remove->acquireParameters(
119 $query_params_namespace,
124 $actions[
"remove"] = $this->ui_fac->table()->action()->single(
125 $this->
lng->txt(
"remove"),
126 $url_builder_remove->withParameter($action_parameter_token_remove,
"removeGlossary"),
136 $data_retrieval =
new class (
146 public function getRows(
148 array $visible_column_ids,
152 ?array $additional_parameters
154 $records = $this->getRecords($range, $order);
155 foreach ($records as $idx => $record) {
156 $row_id = (string) $record[
"glo_id"];
158 yield $row_builder->buildDataRow($row_id, $record);
162 public function getTotalRowCount(
164 ?array $additional_parameters
166 return count($this->getRecords());
169 protected function getRecords(
Data\
Range $range = null,
Data\
Order $order = null): array
173 foreach ($this->glossary->getAutoGlossaries() as $glo_id) {
174 $records[$i][
"glo_id"] = $glo_id;
180 $records = $this->orderRecords($records, $order);
184 $records = $this->limitRecords($records, $range);
191 return $data_retrieval;
EditingGUIRequest $edit_gui_request
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
array $requested_table_glossary_auto_link_ids
Both the subject and the direction need to be specified when expressing an order. ...
static _lookupTitle(int $obj_id)
ServerRequestInterface $request
string $requested_table_glossary_auto_link_action
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
__construct(\ilObjGlossary $glossary)
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
A simple class to express a naive range of whole positive numbers.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...