From 72a89af57f3ac235b9048bd7cd645b580b93d95b Mon Sep 17 00:00:00 2001 From: Kristian Lyngstol Date: Wed, 4 Apr 2018 15:19:08 +0200 Subject: Fix replay for TG18 and in general --- web/js/nms-time.js | 12 ++++++++++-- web/js/nms.js | 27 +++++++++++++++++++-------- 2 files changed, 29 insertions(+), 10 deletions(-) (limited to 'web') diff --git a/web/js/nms-time.js b/web/js/nms-time.js index 315ac79..30604cd 100644 --- a/web/js/nms-time.js +++ b/web/js/nms-time.js @@ -10,11 +10,15 @@ */ var nmsTime = nmsTime || { _now: undefined, - _handle: undefined + _handle: undefined, + _stopTime: undefined } nmsTime.replayEvent = function() { - throw "Not yet implemented."; + var eStart = setTree(nmsData,["config","config","data","start"],"2018-03-23T00:00:00+0200"); + nmsTime._stopTime = new Date(setTree(nmsData,["config","config","data","end"],"2018-04-01T14:30:00+0200")); + nmsTime.setNow(eStart); + nmsTime.startPlayback(10); } nmsTime.isRealTime = function() { @@ -89,6 +93,10 @@ nmsTime.step = function(amount) { nmsTime.realTime(); return; } + if (nmsTime._stopTime != undefined && nmsTime._now.getTime() >= nmsTime._stopTime.getTime()) { + nmsTime.stopPlayback(); + nmsTime._stopTime = undefined; + } nmsTime._now.setMinutes(nmsTime._now.getMinutes() + amount); nmsTime._updateData(); } diff --git a/web/js/nms.js b/web/js/nms.js index fe2dd8e..3b5d5d9 100644 --- a/web/js/nms.js +++ b/web/js/nms.js @@ -640,14 +640,25 @@ function nmsUpdateNavbarGraph() { * do stuff with nmsData.snmp.snmp[sw].misc * } * + * New: setTree(root, array, default): + * same thing, but instead of just returing true/false, return the value found + * or the provided default. */ -function testTree(root, ar) { - if (ar == undefined || root == undefined) - return false; - for (var i in ar) { - root = root[ar[i]]; - if (root == undefined) - return false; +function setTree(root, ar, def) { + if (ar == undefined || root == undefined) { + return def; + } else { + for (var i in ar) { + root = root[ar[i]]; + if (root == undefined) + return def; + } } - return true; + return root; +} +function testTree(root, ar) { + var x = setTree(root,ar,false); + if (x != false) + return true; } + -- cgit v1.2.3