19 declare(strict_types=1);
42 $lng = $domain->lng();
43 $lng->loadLanguageModule(
"glo");
44 $this->term_manager = $domain
50 $ctrl = $this->gui->ctrl();
52 $next_class = $ctrl->getNextClass($this);
53 $cmd = $ctrl->getCmd(
"showCreationForm");
55 switch ($next_class) {
59 "showConfirmationScreen",
60 "createTermDefinitionPairs" 69 $lng = $this->domain->lng();
70 $ctrl = $this->gui->ctrl();
73 ->modal(
$lng->txt(
"glo_bulk_creation"))
74 ->getAsyncTriggerButtonComponents(
75 $lng->txt(
"glo_bulk_creation"),
76 $ctrl->getLinkTarget($this,
"showCreationForm",
"",
true),
80 if ($type ===
"signal") {
89 $lng = $this->domain->lng();
91 ->modal(
$lng->txt(
"glo_bulk_creation"))
98 $lng = $this->domain->lng();
99 $user = $this->domain->user();
102 ->form(self::class,
"showConfirmationScreen",
$lng->txt(
"glo_save_and_continue"))
107 $lng->txt(
"glo_term_definition_pairs"),
108 $lng->txt(
"glo_term_definition_pairs_info"),
112 $session_lang = $this->term_manager->getSessionLang();
113 if ($session_lang !=
"") {
114 $s_lang = $session_lang;
116 $s_lang = $user->getLanguage();
120 $lng->txt(
"language"),
121 $this->domain->metadata()->getLOMLanguagesForSelectInputs(),
133 $lng = $this->domain->lng();
134 if (!$form->isValid()) {
135 $this->gui->modal(
$lng->txt(
"glo_bulk_creation"))
140 $language = $form->getData(
"term_language");
141 $this->gui->modal(
$lng->txt(
"glo_bulk_creation"))
143 $form->getData(
"bulk_data"),
151 $lng = $this->domain->lng();
152 $ctrl = $this->gui->ctrl();
153 $f = $this->gui->ui()->factory();
154 $r = $this->gui->ui()->renderer();
155 $html_util = $this->gui->html();
157 $conf_tpl =
new ilTemplate(
"tpl.bulk_creation_confirmation.html",
true,
true,
"components/ILIAS/Glossary");
159 $button =
$f->button()->standard(
160 $lng->txt(
"glo_create_term_definition_pairs"),
164 const glo_bulk_button = document.getElementById(
"$id");
165 glo_bulk_button.addEventListener(
"click", (
event) => {
166 glo_bulk_button.closest(
".c-modal").querySelector(
".modal-body").querySelector(
"form").submit();
171 $mbox =
$f->messageBox()->info(
172 $lng->txt(
"glo_bulk_confirmation")
173 )->withButtons([$button]);
175 $ctrl->setParameter($this,
"term_language", $language);
176 $table = $this->domain->table()->getTermDefinitionBulkCreationTable($data, $this->glossary)->getComponent();
178 $conf_tpl->setVariable(
"HIDDEN_VALUE", $html_util->escape($data));
179 $conf_tpl->setVariable(
"ACTION", $ctrl->getFormAction($this,
"createTermDefinitionPairs"));
180 $conf_tpl->setVariable(
"MBOX",
$r->render($mbox));
181 $conf_tpl->setVariable(
"TABLE",
$r->render($table));
183 return $conf_tpl->get();
188 $main_tpl = $this->gui->mainTemplate();
189 $ctrl = $this->gui->ctrl();
190 $lng = $this->domain->lng();
191 $request = $this->gui->editing()->request();
193 $data = $request->getBulkCreationData();
194 $language = $request->getTermLanguage();
195 $this->term_manager->createTermDefinitionPairsFromBulkInputString(
$data, $language);
196 $main_tpl->setOnScreenMessage(
"success",
$lng->txt(
"msg_obj_modified"),
true);
197 $ctrl->returnToParent($this);
modifyToolbar(ilToolbarGUI $toolbar)
InternalDomainService $domain
ILIAS Glossary Term TermManager $term_manager
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
Interface Observer Contains several chained tasks and infos about them.
withAdditionalOnLoadCode(Closure $binder)
createTermDefinitionPairs()
renderConfirmation(string $data, string $language)
__construct(InternalDomainService $domain, InternalGUIService $gui, ilObjGlossary $glossary)
legacy()
expected output: > ILIAS shows the rendered Component.
form( $class_path, string $cmd, string $submit_caption="")
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
term(\ilObjGlossary $glossary, int $user_id=0)
catch(ilCmiXapiException $e) send($response)