diff options
author | Christian Klinger | 2016-07-19 15:15:41 +0200 |
---|---|---|
committer | Christian Klinger | 2016-07-19 15:15:41 +0200 |
commit | fe5ffb4c6c5e6e5af8e3708d1b9a06c2e026a3c2 (patch) | |
tree | 0d0a95417c45487b35b1ebce4a9827f380413f4e /modules-available/baseconfig/templates/_page.html | |
parent | Merging some refactoring + new filter functionality. (diff) | |
download | slx-admin-fe5ffb4c6c5e6e5af8e3708d1b9a06c2e026a3c2.tar.gz slx-admin-fe5ffb4c6c5e6e5af8e3708d1b9a06c2e026a3c2.tar.xz slx-admin-fe5ffb4c6c5e6e5af8e3708d1b9a06c2e026a3c2.zip |
use bootstrap-multiselect for multilist and selectize for multiinput.
Diffstat (limited to 'modules-available/baseconfig/templates/_page.html')
-rw-r--r-- | modules-available/baseconfig/templates/_page.html | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/modules-available/baseconfig/templates/_page.html b/modules-available/baseconfig/templates/_page.html index 49e8164c..8bfd1b6a 100644 --- a/modules-available/baseconfig/templates/_page.html +++ b/modules-available/baseconfig/templates/_page.html @@ -66,3 +66,51 @@ <a class="btn btn-default" href="api.php?do=baseconfig&user={{userid}}&module={{target_module}}&value={{field_value}}&force=1">Download</a> {{/override}} </form> + +<script type="text/javascript"> + +function updateShadows(e) { + var shadowStr = $(e.target).data('shadows'); + var currentValue = $(e.target).val(); + var rules = shadowStr.split(','); + rules.forEach(function(rule) { + var rule_parts = rule.split('->'); + var triggerVal = rule_parts[0].trim(); + var target = rule_parts[1].trim(); + + if (currentValue == triggerVal) { + $('#' + target).prop('disabled', true); + $('#' + target + '.multilist').multiselect('disable'); + } else { + $('#' + target).prop('disabled', false); + $('#' + target + '.multilist').multiselect('enable'); + } + }); + console.log(shadowStr); +} + + +document.addEventListener("DOMContentLoaded", function () { + /* apply selectize on all multiinput-selectize inputs */ + var $multiinputs = $("input.multiinput"); + $multiinputs.selectize({ + delimiter: ' ', + create: true, + plugins: ['restore_on_backspace', 'remove_button'], + maxItems: 10000 + + }); + + var $multilists = $("select.multilist"); + $multilists.multiselect({ + includeSelectAllOption: true, + buttonWidth: '100%', + buttonClass: 'form-control' + }); + + /* data-shadowing bindings */ + $allShadowingFields = $('[data-shadows]'); + $allShadowingFields.on('change', updateShadows); + +}); +</script> |