aboutsummaryrefslogtreecommitdiff
path: root/p
diff options
context:
space:
mode:
authorGravatar maTh <math-home@web.de> 2022-02-05 13:50:33 +0100
committerGravatar GitHub <noreply@github.com> 2022-02-05 13:50:33 +0100
commitba1259bb2100a776ced28b3e068f17d97f3fd4fb (patch)
treea9f4556b166138060ea25fa0640a590d9900aa4b /p
parente28a2e320eb40c777d476bd0e6d06fe6b73d3455 (diff)
Improvement: config registration form settings (#3932)
* wip * wip * i18n en-us * phpcs fixes * wip i18n * wip i18n * i18n ignore en-us * delete registration.help * i18n de * JS Syntax fixed for config.js * JavaScript lint fixes config.js * fix typo in i18n/de * improve the JS * improve HTML * phpcs fixes * update main.js from edge * fix i18n comments * Update app/i18n/fr/admin.php Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
Diffstat (limited to 'p')
-rw-r--r--p/scripts/config.js56
1 files changed, 56 insertions, 0 deletions
diff --git a/p/scripts/config.js b/p/scripts/config.js
new file mode 100644
index 000000000..e3a85df15
--- /dev/null
+++ b/p/scripts/config.js
@@ -0,0 +1,56 @@
+// @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPL-3.0
+'use strict';
+
+function init_selectInputChanger() {
+ const select = document.getElementsByClassName('select-input-changer');
+
+ for (let i = 0; i < select.length; i++) {
+ select[i].addEventListener('change', updateSelectInput);
+ select[i].dispatchEvent(new Event('change', {
+ bubbles: true,
+ cancelable: true,
+ }));
+ }
+}
+
+function updateSelectInput(ev) {
+ const elem = ev.target;
+ const formGroup = document.getElementById(elem.dataset.name + '-block');
+ const input = document.getElementById(elem.dataset.name + '-input');
+ if (elem.selectedOptions[0].dataset.inputVisible == 'false') {
+ formGroup.style.display = 'none';
+ input.name = '';
+ elem.name = elem.dataset.name;
+ } else {
+ formGroup.style.display = '';
+ input.name = elem.dataset.name;
+ elem.name = '';
+ }
+}
+
+function init_maxNumbersOfAccountsStatus() {
+ const input = document.getElementById('max-registrations-input');
+ if (input) {
+ input.addEventListener('change', onchange_maxNumbersOfAccounts);
+ input.dispatchEvent(new Event('change', {
+ bubbles: true,
+ cancelable: true,
+ }));
+ }
+}
+
+function onchange_maxNumbersOfAccounts(ev) {
+ const elem = ev.target;
+ if (elem.value > elem.dataset.number) {
+ document.getElementById('max-registrations-status-disabled').style.display = 'none';
+ document.getElementById('max-registrations-status-enabled').style.display = '';
+ } else {
+ document.getElementById('max-registrations-status-disabled').style.display = '';
+ document.getElementById('max-registrations-status-enabled').style.display = 'none';
+ }
+}
+
+init_selectInputChanger();
+init_maxNumbersOfAccountsStatus();
+
+// @license-end