From 843a1b99b21bacfd8263cf55cc252c26045b4ec2 Mon Sep 17 00:00:00 2001 From: Kristian Lyngstol Date: Thu, 30 Jun 2016 19:04:01 +0200 Subject: front: Add score card page Displays a sorted list of what needs attention. --- web/js/nms-score-card.js | 68 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 web/js/nms-score-card.js (limited to 'web/js/nms-score-card.js') diff --git a/web/js/nms-score-card.js b/web/js/nms-score-card.js new file mode 100644 index 0000000..7e4d39a --- /dev/null +++ b/web/js/nms-score-card.js @@ -0,0 +1,68 @@ +"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]; + console.log("

" + content[v][1] + "

"); + td2.innerHTML = "

" + content[v][1] + "

"; + td3.innerHTML = content[v][2]; + } + return table; +} -- cgit v1.2.3