summaryrefslogtreecommitdiffstats
path: root/modules-available/statistics/templates/clientlist.html
blob: 0b6fb37f2c928438bd4bb21b1c48dcb610874094 (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
123
124
125

<table class="stupidtable table table-condensed table-striped">

	<thead>
		<tr>
			<td></td>
			<td></td>
			<td class="text-right">
				<button class="btn btn-default btn-xs" onclick="popupFilter('lastseen')">
					<span id="btn_filter_lastseen" class="glyphicon glyphicon-filter"></span>
				</button>
			</td>
			<td>
				<button class="btn btn-default btn-xs" onclick="popupFilter('kvmstate')">
					<span id="btn_filter_kvmstate" class="glyphicon glyphicon-filter"></span>
				</button>
			</td>
			<td class="text-right">
				<button class="btn btn-default btn-xs" onclick="popupFilter('gbram')">
					<span id="btn_filter_gbram" class="glyphicon glyphicon-filter"></span>
				</button>
			</td>
			<td class="text-right">
				<button class="btn btn-default btn-xs" onclick="popupFilter('hddgb')">
					<span id="btn_filter_hddgb" class="glyphicon glyphicon-filter"></span>
				</button>
			</td>
			<td>
				<button class="btn btn-default btn-xs" onclick="popupFilter('realcores')">
					<span id="btn_filter_cpu" class="glyphicon glyphicon-filter"></span>
				</button>
			</td>
		</tr>
		<tr>
			<th data-sort="string">{{lang_machine}}</th>
			<th data-sort="ipv4">{{lang_address}}</th>
			<th data-sort="int" class="text-right">{{lang_lastSeen}}</th>
			<th data-sort="string">{{lang_kvmSupport}}</th>
			<th data-sort="int" class="text-right">{{lang_gbRam}}</th>
			<th data-sort="int" class="text-right">{{lang_tmpGb}}</th>
			<th data-sort="int">{{lang_cpuModel}}</th>
		</tr>
	</thead>
	<tbody>
		{{#rows}}
		<tr>
			<td data-sort-value="{{hostname}}" class="text-nowrap">
				{{#hasnotes}}<span class="glyphicon glyphicon-exclamation-sign pull-right"></span>{{/hasnotes}}
			{{#state_OFFLINE}}
				<span class="glyphicon glyphicon-off" title="{{lang_machineOff}}"></span>
			{{/state_OFFLINE}}
			{{#state_IDLE}}
				<span class="glyphicon glyphicon-ok green" title="{{lang_machineIdle}}"></span>
			{{/state_IDLE}}
			{{#state_OCCUPIED}}
				<span class="glyphicon glyphicon-user red" title="{{lang_machineOccupied}}"></span>
			{{/state_OCCUPIED}}
			{{#state_STANDBY}}
			<span class="glyphicon glyphicon-off green" title="{{lang_machineStandby}}"></span>
			{{/state_STANDBY}}
				<a href="?do=Statistics&amp;uuid={{machineuuid}}"><b>{{hostname}}</b></a>
				<div class="small">{{machineuuid}}</div>
			{{#rmmodule}}<div class="small">{{lang_runMode}}: <a class="slx-bold" href="?do=runmode&amp;module={{rmmodule}}">{{rmmodule}}</a></div>{{/rmmodule}}
			</td>
			<td data-sort-value="{{clientip}}"><b><a href="?do=Statistics&amp;show=list&amp;filters=subnet={{subnet}}">{{subnet}}</a>{{lastoctet}}</b><br>{{macaddr}}</td>
			<td data-sort-value="{{lastseen_int}}" class="text-right">{{lastseen}}</td>
			<td class="{{kvmclass}}">{{kvmstate}}</td>
			<td data-sort-value="{{gbram}}" class="text-right {{ramclass}}">{{gbram}}&thinsp;GiB</td>
			<td data-sort-value="{{gbtmp}}" class="text-right {{hddclass}}">
				{{gbtmp}}&thinsp;GiB
				{{#badsectors}}<div>
					<span class="glyphicon glyphicon-exclamation-sign" data-toggle="tooltip" title="{{lang_reallocatedSectors}}" data-placement="left"></span>
					{{badsectors}}
				</div>{{/badsectors}}
				{{#nohdd}}<div>
					<span class="glyphicon glyphicon-hdd red"></span>
				</div>{{/nohdd}}
			</td>
			<td data-sort-value="{{realcores}}">{{lang_realCores}}: {{realcores}}<div class="small">{{cpumodel}}</div></td>
		</tr>
		{{/rows}}
	</tbody>
</table>

<script type="application/javascript"><!--
document.addEventListener("DOMContentLoaded", function () {
	['gbram', 'hddgb', 'realcores', 'kvmstate', 'lastseen', 'clientip'].forEach(function (v) {
		var $sortBtn = $('#sortButton-' + v);
		var order = 'up'; /* default */
		if ($('#sortColumn').val() == v) {
			$sortBtn.addClass('btn-success');
			order = $('#sortDirection').val() == 'ASC' ? 'up' : 'down';
		}
		$sortBtn.html('<span class="glyphicon glyphicon-arrow-' + order + '"></span>');
		$sortBtn.attr('onclick', 'toggleButton(\'' + v + '\');');
	});

	$('[data-toggle="tooltip"]').tooltip({
		container: 'body',
		trigger : 'hover'
	});
});

function toggleButton(v) {
	var $sortBtn = $('#sortButton-' + v);
	var $col = $('#sortColumn');
	var $dir = $('#sortDirection');
	if ($col.val() == v) {
		/* toggle direction */
		var newDir = $dir.val() == 'ASC' ? 'DESC' : 'ASC';
		$dir.val(newDir);
		/* update button */
		var order =  newDir == 'ASC' ? 'up' : 'down';
		$sortBtn.html('<span class="glyphicon glyphicon-arrow-' + order + '"></span>');
	} else {
		/* remove "btn-success" from current sorting */
		$('#sortButton-'+v).removeClass('btn-success');
		$sortBtn.addClass('btn-success');
		$col.val(v);
		$dir = 'ASC';
	}
	$queryForm.submit();
}

//--></script>