summaryrefslogtreecommitdiff
path: root/www/js/TimelineCtrl.js
diff options
context:
space:
mode:
authorPliable Pixels <pliablepixels@gmail.com>2018-10-13 17:41:00 -0400
committerPliable Pixels <pliablepixels@gmail.com>2018-10-13 17:41:00 -0400
commite47839bb9264d36f61189f6dc5be9656f92604cc (patch)
tree0a51fe4773d31fdde21b1d71fdd9c0290f2109ca /www/js/TimelineCtrl.js
parent2453cf21be3a283f2ee8ff4640762733c4b7b6b2 (diff)
speed up event fetching
Diffstat (limited to 'www/js/TimelineCtrl.js')
-rw-r--r--www/js/TimelineCtrl.js25
1 files changed, 16 insertions, 9 deletions
diff --git a/www/js/TimelineCtrl.js b/www/js/TimelineCtrl.js
index b612468a..a5c7f818 100644
--- a/www/js/TimelineCtrl.js
+++ b/www/js/TimelineCtrl.js
@@ -1103,9 +1103,9 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla
//console.log ("**NOLANG" + fromDateNoLang + " " + toDateNoLang);
NVRDataModel.getEventsPages(0, fromDateNoLang, toDateNoLang)
- .then(function (data) {
- var pages = data.pageCount || 1;
- var itemsPerPage = parseInt(data.limit);
+ .then(function (epData) {
+ var pages = 1;
+ var itemsPerPage = parseInt(epData.limit);
var iterCount;
// So iterCount is the # of HTTP calls I need to make
@@ -1117,17 +1117,18 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla
// for dynamic binding which was easier, but due to performance reasons
// I am waiting for the full data to load before I draw
var promises = [];
- while ((pages > 0) && (iterCount > 0)) {
+ while ((pages <= epData.pageCount) && (iterCount > 0)) {
var promise = NVRDataModel.getEvents(0, pages, "none", fromDateNoLang, toDateNoLang);
promises.push(promise);
- pages--;
+
+ pages++;
iterCount--;
}
$q.all(promises)
.then(function (data) {
- NVRDataModel.debug("TimelineCtrl/drawgraph: all pages of graph data received");
+ NVRDataModel.debug("TimelineCtrl/drawgraph: all pages of graph data received " );
graphIndex = 0;
NVRDataModel.log("Creating " + $scope.monitors.length + " groups for the graph");
// create groups
@@ -1143,8 +1144,10 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla
}
for (var j = 0; j < data.length; j++) {
- var myevents = data[j];
+ var myevents = data[j].events;
+ // console.log ("****************DATA ="+JSON.stringify(data[j]));
+ // console.log ("**********************************");
if (graphIndex > count) {
NVRDataModel.log("Exiting page count graph - reached limit of " + count);
break;
@@ -1203,10 +1206,12 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla
}
//console.log ("ADDED "+tzs+" " +tze);
+
+ if (!graphData.get(myevents[i].Event.Id)) {
graphData.add({
//id: graphIndex,
id: myevents[i].Event.Id,
- content: "<span class='my-vis-font'>" + "( <i class='ion-android-notifications'></i>" + myevents[i].Event.AlarmFrames + ") " + "(" + myevents[j].Event.Id + ") " + myevents[i].Event.Notes + "</span>",
+ content: "<span class='my-vis-font'>" + "( <i class='ion-android-notifications'></i>" + myevents[i].Event.AlarmFrames + ") " + "(" + myevents[i].Event.Id + ") " + myevents[i].Event.Notes + "</span>",
start: tzs,
//start: myevents[i].Event.StartTime,
@@ -1224,7 +1229,9 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla
myevent: myevents[i]
});
+ //console.log ("IED="+myevents[i].Event.Id);
graphIndex++;
+ }
} else {
//console.log ("SKIPPED GRAPH ID " + graphIndex);
}
@@ -1375,7 +1382,7 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla
var _item;
for (var x = 0; x < visible.length; x++) {
_item = timeline.itemSet.items[x];
- if (_item.data.group == prop.group) {
+ if (_item && _item.data && _item.data.group == prop.group) {
if (Math.abs(_item.left - prop.x) < minDist) {
closestItem = _item;
minDist = Math.abs(_item.left - prop.x);