summaryrefslogtreecommitdiffstats
path: root/modules-available/baseconfig/templates/_page.html
blob: 7f380495341ec4110f3619a5fb522843e15c7d5d (plain) (blame)
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&amp;user={{userid}}">Download</a>
	{{/override}}
	{{#override}}
	<a class="btn btn-default" href="api.php?do=baseconfig&amp;user={{userid}}&amp;module={{target_module}}&amp;value={{field_value}}&amp;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>