From 65d94131b76ddef5a0788bc543452534e7faf918 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') 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}}
{{{item}}} @@ -67,8 +68,6 @@
{{/categories}}
- - {{^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