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
|
"use strict";
var nmsOplog = nmsOplog || {
}
nmsOplog.init = function() {
nmsData.addHandler("oplog", "nmsOplogHandler", nmsOplog.updateComments);
}
nmsOplog._reset = function() {
document.getElementById('logbox-id').value = "";
document.getElementById('logbox').value = "";
document.getElementById('searchbox').value = "";
document.getElementById('searchbox').oninput();
}
nmsOplog.getUser = function(force = false) {
var user = nms.user;
if (user == undefined || force) {
user = prompt("Who are you? Short nick for the record.");
if (user == null || user == undefined || user == "") {
console.log("empty prompt");
alert("No cake for you.");
return false;
}
nms.user = user;
saveSettings();
}
return nms.user;
}
nmsOplog.commit = function() {
var s = document.getElementById('logbox-id').value;
var d = document.getElementById('logbox').value;
var user = nmsOplog.getUser();
if (user == undefined) {
nmsOplog._reset();
return;
}
var myData = {"user": user, "systems": s, "log": d};
myData = JSON.stringify(myData);
$.ajax({
type: "POST",
url: "/api/write/oplog",
dataType: "text",
data:myData,
success: function (data, textStatus, jqXHR) {
nmsData.invalidate("oplog");
}
});
nmsOplog._reset();
}
nmsOplog.updateComments = function() {
nmsOplog._updateComments(3,"-mini","time",100);
nmsOplog._updateComments(0,"","timestamp");
}
nmsOplog.getSwitchLogs = function(sw) {
var logs = [];
if (nmsData.oplog == undefined || nmsData['oplog']['oplog'] == undefined)
return [];
for (var v in nmsData['oplog']['oplog']) {
var log = nmsData['oplog']['oplog'][v];
if (nmsSearch.searchTest(log['systems'],sw)) {
logs.push(log);
}
}
return logs;
}
nmsOplog._updateComments = function(limit,prefix,timefield,cutoff) {
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");
var i = 0;
for (var v in nmsData['oplog']['oplog']) {
tr = table.insertRow(-1);
td1 = tr.insertCell(0);
td2 = tr.insertCell(1);
var date = new Date(nmsData.oplog.oplog[v]['timestamp'].replace(" ","T").replace("+00",""));
if (timefield == "time") {
td1.textContent = date.toTimeString().replace(/:\d\d .*$/,"");
} else {
let month = date.getMonth() + 1;
let day = date.getDate();
let tmp = (date.getYear() + 1900) + "-" + (month < 10 ? "0": "") + month + "-" + (day < 10 ? "0" : "") + day + " " + date.toTimeString().replace(/:\d\d .*$/,"");
td1.textContent = tmp;
}
td1.classList.add("left");
let data = nmsData['oplog']['oplog'][v]['log'];
if (cutoff && data.length > cutoff) {
data = data.slice(0,cutoff);
data = data + "(...)";
}
td2.textContent = "[" + nmsData['oplog']['oplog'][v]['username'] + "] " + data;
td2.hiddenthing = v;
td2.onclick = function(e){ var x = document.getElementById("searchbox"); var v = e.path[0].hiddenthing; x.value = nmsData['oplog']['oplog'][v]['systems']; x.oninput(); }
if (++i == limit)
break;
}
try {
var old = document.getElementById("oplog-table" + prefix);
old.parentElement.removeChild(old);
} catch(e) {}
var par = document.getElementById("oplog-parent" + prefix);
table.id = "oplog-table" + prefix;
par.appendChild(table);
};
|