diff options
author | Kristian Lyngstol <kristian@bohemians.org> | 2016-05-18 18:34:28 +0200 |
---|---|---|
committer | Kristian Lyngstol <kristian@bohemians.org> | 2016-05-18 18:34:28 +0200 |
commit | 81397bfd9fa54c60a8568812fc0ad99802a4e360 (patch) | |
tree | 26da570df1e43dc0304ad7ca88a42da252dcbecf /web/js | |
parent | e371b456f6a3872bd691e45ef6f7b52094d811f7 (diff) |
Add basic oplog
It still needs to be integrated with switches/info box, but this is a good
start.
Shows the last 5 log messages in an overlay on the map, with the rest
visible in an oplog tab.
Fixes #20
Diffstat (limited to 'web/js')
-rw-r--r-- | web/js/nms-oplog.js | 65 | ||||
-rw-r--r-- | web/js/nms.js | 2 |
2 files changed, 67 insertions, 0 deletions
diff --git a/web/js/nms-oplog.js b/web/js/nms-oplog.js new file mode 100644 index 0000000..91782e7 --- /dev/null +++ b/web/js/nms-oplog.js @@ -0,0 +1,65 @@ +"use strict"; + +var nmsOplog = nmsOplog || { + +} + +nmsOplog.init = function() { + nmsData.addHandler("oplog", "nmsOplogHandler", nmsOplog.updateComments); +} + +nmsOplog.commit = function() { + var s = document.getElementById('logbox-id').value; + var d = document.getElementById('logbox').value; + + var myData = {"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"); + } + }); + document.getElementById('logbox-id').value = ""; + document.getElementById('logbox').value = ""; + +} + +nmsOplog.updateComments = function() { + nmsOplog._updateComments(5,"-mini","time"); + nmsOplog._updateComments(0,"","timestamp"); +} +nmsOplog._updateComments = function(limit,prefix,timefield) { + 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); + tr.className = + td1 = tr.insertCell(0); + td2 = tr.insertCell(1); + td3 = tr.insertCell(2); + td1.innerHTML = nmsData['oplog']['oplog'][v][timefield]; + td2.innerHTML = nmsData['oplog']['oplog'][v]['username']; + td3.innerHTML = nmsData['oplog']['oplog'][v]['log']; + 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); +}; + diff --git a/web/js/nms.js b/web/js/nms.js index 4092782..8eb1f3d 100644 --- a/web/js/nms.js +++ b/web/js/nms.js @@ -612,6 +612,8 @@ function initNMS() { nmsData.registerSource("snmp","/api/read/snmp"); nmsData.registerSource("comments", "/api/read/comments"); nmsData.registerSource("smanagement","/api/read/switches-management"); + nmsData.registerSource("oplog", "/api/read/oplog"); + nmsOplog.init(); } restoreSettings(); |