From 0c7712ae8edaa08034bc6605fffa64dc2f17c6f6 Mon Sep 17 00:00:00 2001
From: Simon Rettberg
Date: Tue, 9 Apr 2019 11:39:47 +0200
Subject: [baseconfig] Remove "enabled" checkbox, reset field on override
disable
Closes #3570
Closes #3569
---
modules-available/baseconfig/templates/_page.html | 31 ++++++++++++++++-------
1 file changed, 22 insertions(+), 9 deletions(-)
(limited to 'modules-available/baseconfig/templates/_page.html')
diff --git a/modules-available/baseconfig/templates/_page.html b/modules-available/baseconfig/templates/_page.html
index 86ab8362..7f7c33d0 100644
--- a/modules-available/baseconfig/templates/_page.html
+++ b/modules-available/baseconfig/templates/_page.html
@@ -29,13 +29,14 @@
{{#defaultvalue}}{{lang_defaultValue}}:{{/defaultvalue}}
{{defaultvalue}}
+ {{#override}}
-
-
{{^override}}
Download
{{/override}}
@@ -102,7 +101,7 @@ document.addEventListener("DOMContentLoaded", function () {
buttonWidth: '100%',
buttonClass: 'form-control'
});
- $('select.multiselect').filter(':disabled').multiselect('disable');
+ $multilists.filter(':disabled').multiselect('disable');
/* data-shadowing bindings */
var updateShadows = function() {
@@ -118,15 +117,14 @@ document.addEventListener("DOMContentLoaded", function () {
var target = targets[i];
var inp = $('#' + target);
var selitem = inp.data('selitem');
-
if (currentValue === triggerVal) {
inp.prop('disabled', true);
if (selitem) selitem.disable();
- inp.filter('.multiselect').multiselect('disable');
+ inp.filter('.multilist').multiselect('disable');
} else {
inp.prop('disabled', false);
if (selitem) selitem.enable();
- inp.filter('.multiselect').multiselect('enable');
+ inp.filter('.multilist').multiselect('enable');
}
}
}
@@ -142,5 +140,20 @@ document.addEventListener("DOMContentLoaded", function () {
var $cont = $('.config-container');
$cont.find('select, input').on('change', updateCheckbox);
$cont.find('input').on('input', updateCheckbox);
+ $('.override-cb').on('change', function() {
+ if (this.checked) return;
+ var input = document.getElementById(this.id.substr(3));
+ if (!input) return;
+ if (input.tagName.toUpperCase() === 'SELECT') {
+ $(input).find('option').each(function() {
+ $(this).prop('selected', this.defaultSelected);
+ });
+ $(input).filter('.multilist').multiselect('refresh');
+ } else if (input.type && input.type.toUpperCase() === 'CHECKBOX') {
+ $(input).prop('checked', input.defaultChecked);
+ } else if (input.defaultValue !== undefined) {
+ $(input).val(input.defaultValue);
+ }
+ });
});
--
cgit v1.2.3-55-g7522