1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
|
<h1>{{lang_basicConfiguration}}</h1>
{{#override}}
<h2>{{subheading}}</h2>
<div class="alert alert-info">{{lang_editOverrideNotice}}</div>
{{/override}}
<p>{{lang_clientRelatedConfig}}</p>
<form action="?do=BaseConfig" method="post">
<input type="hidden" name="token" value="{{token}}">
{{#override}}
<input name="module" type="hidden" value="{{target_module}}">
<input name="{{field}}" type="hidden" value="{{field_value}}">
{{/override}}
<input type="text" name="prevent_autofill" id="prevent_autofill" value="" style="position:absolute;top:-2000px" tabindex="-1">
<input type="password" name="password_fake" id="password_fake" value="" style="position:absolute;top:-2000px" tabindex="-1">
{{#categories}}
<div class="panel panel-default">
<div class="panel-heading" role="tab" id="heading{{category_id}}">
<a name="category_{{category_id}}"></a>
{{category_name}}
</div>
<div class="panel-body">
<div class="list-group">
{{#settings}}
<div class="list-group-item">
<div class="row">
<div class="col-md-5 slx-cfg-toggle">
<div>{{setting}}</div>
{{^override}}
<div class="slx-default">
{{defaultvalue}}
</div>
<input class="bs-switch" name="override[{{setting}}]" id="CB_{{setting}}" type="checkbox" {{checked}}> <label for="CB_{{setting}}">{{lang_settingActive}}</label>
{{/override}}
{{#override}}
<input class="bs-switch" name="override[{{setting}}]" id="CB_{{setting}}" type="checkbox" {{checked}}> <label for="CB_{{setting}}">{{lang_enableOverride}}</label>
{{/override}}
</div>
<div class="col-md-5">
{{{item}}}
</div>
<div class="col-md-2">
<a class="btn btn-default" data-toggle="modal" data-target="#help-{{setting}}"><span class="glyphicon glyphicon-question-sign"></span></a>
</div>
</div>
</div>
<div class="modal fade" id="help-{{setting}}" tabindex="-1" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">{{setting}}</div>
<div class="modal-body">{{{description}}}</div>
<div class="modal-footer"><a class="btn btn-primary" data-dismiss="modal">{{lang_close}}</a></div>
</div>
</div>
</div>
{{/settings}}
</div>
</div>
</div>
{{/categories}}
<button class="btn btn-primary" type="submit">{{lang_save}}</button>
<button class="btn btn-default" type="reset">{{lang_reset}}</button>
{{^override}}
<a class="btn btn-default" href="api.php?do=baseconfig&user={{userid}}">Download</a>
{{/override}}
{{#override}}
<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 rules = $(e).data('shadows');
if (!rules) return;
var currentValue = $(e).val();
for (var triggerVal in rules) {
var targets = rules[triggerVal];
for (var i = 0; i < targets.length; ++i) {
var target = targets[i];
var inp = $('#' + target);
var selitem = inp.data('selitem');
if (currentValue === triggerVal) {
inp.prop('disabled', true);
if (selitem) selitem.disable();
$('#' + target + '.multilist').multiselect('disable');
} else {
inp.prop('disabled', false);
if (selitem) selitem.enable();
$('#' + target + '.multilist').multiselect('enable');
}
}
}
}
document.addEventListener("DOMContentLoaded", function () {
/* apply selectize on all multiinput-selectize inputs */
$("input.multiinput").each(function (idx, elem) {
var e = $(elem);
e.data('selitem', e.selectize({
delimiter: ' ',
create: true,
plugins: ['restore_on_backspace', 'remove_button'],
maxItems: 10000
})[0].selectize);
});
var $multilists = $("select.multilist");
$multilists.multiselect({
includeSelectAllOption: true,
buttonWidth: '100%',
buttonClass: 'form-control'
});
/* data-shadowing bindings */
$allShadowingFields = $('[data-shadows]');
$allShadowingFields.on('change', function (event) { updateShadows(event.target); });
$allShadowingFields.each(function (idx, elem) { updateShadows(elem); });
});
</script>
|