aboutsummaryrefslogtreecommitdiffstats
path: root/web/js/nms-score-card.js
blob: 03adcc44304c26c14378f589d47316e8f7626bcd (plain)
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
"use strict";

var nmsScoreCard = nmsScoreCard || {
	_handler: null
};

nmsScoreCard.init = function() {
	var scores = [];
	for (var sw in nmsData.switches.switches) {
		var worst = healthInfo(sw);
		worst.sw = sw;
		scores.push(worst);
	}
	scores.sort(function(a,b) {
		return b.score - a.score;
	});
	var content = [];
	for (var i in scores) {
		var sw = scores[i];
		content.push([sw.score, sw.sw, sw.why]);
	}
	var parentel = document.getElementById("score-parent");
	while (parentel.firstChild) {
		parentel.removeChild(parentel.firstChild);
	}
	parentel.appendChild(nmsScoreCard._buildTable(content));
	if (nmsScoreCard._handler != null) {
		clearTimeout(nmsScoreCard._handler);
		nmsScoreCard._handler = null;
	}
	nmsScoreCard._handler = setTimeout(nmsScoreCard.init, 10000);
}
nmsScoreCard._buildTable = function(content,caption) {
	var table = document.createElement("table");
	var tr;
	var td1;
	var td2;
	var td3;
	table.className = "table";
	table.classList.add("table");
	table.classList.add("table-condensed");
	if (caption != undefined) {
		var cap = document.createElement("caption");
		cap.textContent = caption;
		table.appendChild(cap);
	}
	for (var v in content) {
		tr = table.insertRow(-1);
		if (content[v][0] > 500) {
			tr.classList.add("danger");
		} else if (content[v][0] > 249) {
			tr.classList.add("warning");
		} else if (content[v][0] > 99) {
			tr.classList.add("info");
		} else {
			tr.classList.add("success");
		}
		td1 = tr.insertCell(0);
		td1.classList.add("left");
		td2 = tr.insertCell(1);
		td3 = tr.insertCell(2);
		td1.innerHTML = content[v][0];
		td2.innerHTML = "<p class=\"fakelink\" onclick='nmsUi.setActive(\"map\"); nmsInfoBox.click(\"" + content[v][1] + "\");'>" + content[v][1] + "</p>";
		td3.innerHTML = content[v][2];
	}
	return table;
}