summaryrefslogtreecommitdiffstats
path: root/modules-available/statistics_reporting/templates/columnChooser.html
blob: 9e6f51d2aee9ee26e9e688c497327e63718fe441 (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
<div class="container-fluid">
	<div class="row form-inline">
		<div class="col-md-12  top-row">
			<select id="select-table" onchange="chooseTable(this.value)" class="form-control">
				<option value="total">{{lang_total}}</option>
				<option value="perlocation">{{lang_perlocation}}</option>
				<option value="perclient">{{lang_perclient}}</option>
				<option value="peruser">{{lang_peruser}}</option>
				<option value="pervm">{{lang_pervm}}</option>
			</select>
			<select id="select-cutoff" onchange="chooseCutoff(this.value)" class="form-control">
				<option value="1">{{lang_last1}}</option>
				<option value="2">{{lang_last2}}</option>
				<option value="7">{{lang_last7}}</option>
				<option value="14">{{lang_last14}}</option>
				<option value="30">{{lang_last30}}</option>
				<option value="90">{{lang_last90}}</option>
			</select>
		</div>
		<div class="col-md-12 buttonbar">
			<button id="button-totaltime" type="button" class="column-toggle btn btn-primary" onclick="toggleButton('totaltime')">{{lang_totalTime}}</button>
			<button id="button-avgtime" type="button" class="column-toggle btn btn-primary" onclick="toggleButton('avgtime')">{{lang_avgSessionLength}}</button>
			<button id="button-logincount" type="button" class="column-toggle btn btn-primary" onclick="toggleButton('logincount')">{{lang_totalLogins}}</button>
			<button id="button-timeoffline" type="button" class="column-toggle btn btn-primary" onclick="toggleButton('timeoffline')">{{lang_totalOffTime}}</button>
			<button id="button-lastlogout" type="button" class="column-toggle btn btn-primary" onclick="toggleButton('lastlogout')">{{lang_clientLogout}}</button>
			<button id="button-laststart" type="button" class="column-toggle btn btn-primary" onclick="toggleButton('laststart')">{{lang_clientStart}}</button>
		</div>
	</div>
</div>

<script type="application/javascript">
	document.addEventListener("DOMContentLoaded", function () {
		loadForm();
		var table = $("table").stupidtable();
		table.on("aftertablesort", function (event, data) {
			var th = $(this).find("th");
			th.find(".arrow").remove();
			var dir = $.fn.stupidtable.dir;
			var arrow = data.direction === dir.ASC ? "down" : "up";
			th.eq(data.column).append(' <span class="arrow glyphicon glyphicon-chevron-'+arrow+'"></span>');
		});
	});

	function chooseTable(v) {
		$("[id^=table-]").hide();
		$('#table-'+v).show();
		$("[id^=button-]").hide();
		var re = /column-(\w+)/g;
		var match;
		while (match = re.exec($('thead', '#table-'+v).html())) {
			$('#button-'+match[1]).show();
		}
	}

	function chooseCutoff(v) {
		saveForm();
		window.location.replace("?do=statistics_reporting&cutoff="+v);
	}

	function toggleButton(v) {
		var button = $('#button-'+v);
		if(button.hasClass('btn-default')) {
			button.removeClass('btn-default');
			button.addClass('btn-primary');
			$('.column-'+v).show()
		} else {
			button.removeClass('btn-primary');
			button.addClass('btn-default');
			$('.column-'+v).hide()
		}
	}

	function saveForm() {
		sessionStorage.setItem("select-table", $("#select-table").val());
		sessionStorage.setItem("buttons", $('.buttonbar').find(".btn-default").map(function() { return this.id; }).get().join(" "));
	}

	function loadForm() {
		var selectTable = sessionStorage.getItem("select-table");
		if (selectTable) {
			$("#select-table").val(selectTable);
			chooseTable(selectTable);
		} else {
			$("#select-table").val("total");
			chooseTable("total");
		}

		$('#select-cutoff').val("{{cutoff}}");

		sessionStorage.getItem("buttons").split(" ").forEach(function(button) {
			toggleButton(button.substr(7));
		});
	}
</script>