Free cookie consent management tool by TermsFeed Policy Generator

source: branches/WebJobManager/HeuristicLab.Clients.Hive.WebJobManager/wwwroot/js/Scripts/Graphs/GraphDataCollector.min.js @ 13740

Last change on this file since 13740 was 13740, checked in by jlodewyc, 8 years ago

#2582 Job Manager done. Start user management

File size: 3.7 KB
Line 
1var dataCollection = [], taskStatus = { Offline: "bar-off", Waiting: "bar-wait", Transferring: "bar-trans", Calculating: "bar-calc", Paused: "bar-paus", Finished: "bar-fin", Aborted: "bar-abo", Failed: "bar-fail" }; function initSaveData(a, b, c) { b = dataConversion(b, c); b.unshift(a); dataCollection.push(b) } function saveData(a, b, c) { b = dataConversion(b, c); for (c = 0; c < dataCollection.length; c++) dataCollection[c][0] == a && (dataCollection[c][1] = b[0], dataCollection[c][2] = b[1], dataCollection[c][3] = b[2]); redrawGraph(a) }
2function getDataPie(a) { for (var b = 0; b < dataCollection.length; b++) if (dataCollection[b][0] == a) return dataCollection[b][2] } function getDataGantt(a) { for (var b = 0; b < dataCollection.length; b++) if (dataCollection[b][0] == a) return dataCollection[b][3] } function dataConversion(a, b) { var c = dataConversionPie(a), e = dataConversionGantt(a, b); return [null, c, e] }
3function dataConversionGantt(a, b) {
4    for (var c = [], e = 0; e < a.length; e++) {
5        var d = {}; d.startDate = Date.parse(a[e].DateTime); if (e < a.length - 1) d.endDate = Date.parse(a[e + 1].DateTime); else { var f = Date.parse(a[e].DateTime); d.endDate = f + 6E5; d.last = !0 } d.taskName = b; 0 == a[e].State ? d.status = "Offline" : 1 == a[e].State ? d.status = "Waiting" : 2 == a[e].State ? d.status = "Transferring" : 3 == a[e].State ? d.status = "Calculating" : 4 == a[e].State ? d.status = "Paused" : 5 == a[e].State ? d.status = "Finished" : 6 == a[e].State ? d.status = "Aborted" : 7 == a[e].State && (d.status =
6        "Failed"); c.push(d)
7    } return [c, b]
8}
9function dataConversionPie(a) { for (var b = 0, c = 0, e = 0, d = 0; d < a.length - 1; d++) 1 == a[d].State ? b += Date.parse(a[d + 1].DateTime) - Date.parse(a[d].DateTime) : 2 == a[d].State ? c += Date.parse(a[d + 1].DateTime) - Date.parse(a[d].DateTime) : 3 == a[d].State && (e += Date.parse(a[d + 1].DateTime) - Date.parse(a[d].DateTime)); return [{ values: [Math.round(b / 1E3 / 60), Math.round(c / 1E3 / 60), Math.round(e / 1E3 / 60)], labels: ["Minutes waiting", "Minutes transferring", "Minutes calculating"], type: "pie", marker: { colors: ["#f0a742", "#80d4ff", "#2f6fa6"] } }] }
10function redrawGraph(a) {
11    document.getElementById("graph" + a).style.width = "100%"; document.getElementById("graph" + a).style.height = "400px"; document.getElementById("graph" + a).innerHTML = ""; document.getElementById("graph" + a).style.marginLeft = "0px"; document.getElementById("graphtoggle" + a).checked ? setTimeout(function () {
12        var b = getDataGantt(a), c = $("#graph" + a).parent().width() - 30; document.getElementById("graph" + a).style.height = "300px"; d3.gantt().selector("#graph" + a).height("200").width(c).margin({
13            top: 20, right: 40,
14            bottom: 20, left: 20
15        }).drawytitles(!1).taskTypes([b[1]]).taskStatus(taskStatus)(b[0]); document.getElementById("legend" + a).style.display = ""
16    }, 100) : (document.getElementById("legend" + a).style.display = "none", setTimeout(function () { Plotly.newPlot("graph" + a, getDataPie(a)) }, 100))
17}
18function redrawMain() {
19    document.getElementById("graphMain").innerHTML = ""; for (var a = [], b = [], c = 0; c < dataCollection.length; c++) { for (var e = dataCollection[c][3][0].slice(), d = e[0].taskName.substring(0, 5) + " | " + (c + 1), f = 0; f < e.length; f++) e[f].taskName = d; a = a.concat(e); b = b.concat(d) } c = 20 * b.length + 100; document.getElementById("graphMain").style.height = c + "px"; e = $("#graphMain").parent().width() - 100; b = d3.gantt().selector("#graphMain").height(c - 50).width(e).taskTypes(b).taskStatus(taskStatus); document.getElementById("graphMain").style.marginLeft =
20    "20px"; b(a)
21};
Note: See TracBrowser for help on using the repository browser.