diff options
Diffstat (limited to 'www/js')
| -rw-r--r-- | www/js/TimelineCtrl.js | 103 |
1 files changed, 55 insertions, 48 deletions
diff --git a/www/js/TimelineCtrl.js b/www/js/TimelineCtrl.js index 6a78a7cd..2e0c30b8 100644 --- a/www/js/TimelineCtrl.js +++ b/www/js/TimelineCtrl.js @@ -308,7 +308,7 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla $scope.$on('$ionicView.afterEnter', function() { $scope.monitors = message; - console.log("***AFTER ENTER"); + //console.log("***AFTER ENTER"); $scope.follow = { 'time': NVRDataModel.getLogin().followTimeLine }; @@ -353,11 +353,11 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla - console.log ("MONITORS:"+JSON.stringify($scope.monitors)); + //console.log ("MONITORS:"+JSON.stringify($scope.monitors)); if ($rootScope.customTimelineRange) { $scope.currentMode = 'custom'; - console.log("***** CUSTOM RANGE"); + //console.log("***** CUSTOM RANGE"); if (moment($rootScope.fromString).isValid() && moment($rootScope.toString).isValid()) { // console.log("FROM & TO IS CUSTOM"); @@ -368,7 +368,7 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla drawGraph(fromDate, toDate, maxItems); } else { console.log ("From:"+$rootScope.fromString + " To:"+$rootScope.toString); - console.log("FROM & TO IS CUSTOM INVALID"); + //console.log("FROM & TO IS CUSTOM INVALID"); if (NVRDataModel.getLogin().useLocalTimeZone) { @@ -662,8 +662,8 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla //NVRDataModel.debug("Getting incremental events using: " + completedEvents); - console.log ("COMPLETED CHECK:"+completedEvents); - console.log ("ONGOING CHECK:+"+ongoingEvents); + NVRDataModel.debug ("Completed events API:"+completedEvents); + NVRDataModel.debug ("Ongoing events API:+"+ongoingEvents); isProcessNewEventsWaiting = true; @@ -688,24 +688,24 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla // these are all in server timezone but no TZ - myevents[j].Event.StartTime = moment(myevents[j].Event.StartTime).format('YYYY-MM-DD HH:mm:ss'); + myevents[j].Event.StartTime = moment.tz(myevents[j].Event.StartTime, NVRDataModel.getTimeZoneNow()).format('YYYY-MM-DD HH:mm:ss'); - myevents[j].Event.EndTime = moment(myevents[j].Event.EndTime).format('YYYY-MM-DD HH:mm:ss'); + myevents[j].Event.EndTime = moment.tz(myevents[j].Event.EndTime, NVRDataModel.getTimeZoneNow()).format('YYYY-MM-DD HH:mm:ss'); var itm = graphData.get(myevents[j].Event.Id); if (itm) { - console.log(myevents[j].Event.Id + " already exists, updating params"); + // console.log(myevents[j].Event.Id + " already exists, updating params"); - var content = "<span class='my-vis-font'>" + myevents[j].Event.Notes + " " + $translate.instant('kRecordingProgress') + "</span>"; + var content = "<span class='my-vis-font'>" + "("+myevents[j].Event.Id+")"+myevents[j].Event.Notes + " " + $translate.instant('kRecordingProgress') + "</span>"; var style; var recordingInProgress = false; if (moment(myevents[j].Event.EndTime).isValid()) // recording over { - console.log ("EVENT "+myevents[j].Event.Id+" emded at "+myevents[j].Event.EndTime); + //console.log ("EVENT "+myevents[j].Event.Id+" emded at "+myevents[j].Event.EndTime); - content = "<span class='my-vis-font'>" + "( <i class='ion-android-notifications'></i>" + myevents[j].Event.AlarmFrames + ") " + myevents[j].Event.Notes + "</span>"; + content = "<span class='my-vis-font'>" + "( <i class='ion-android-notifications'></i>" + myevents[j].Event.AlarmFrames + ") " + " ("+myevents[j].Event.Id+") "+ myevents[j].Event.Notes + "</span>"; style = "background-color:" + colors[parseInt(myevents[j].Event.MonitorId) % colors.length] + ";border-color:" + colors[parseInt(myevents[j].Event.MonitorId) % colors.length]; @@ -713,11 +713,11 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla { var tze; - tze = moment().tz(NVRDataModel.getLogin().useLocalTimeZone?NVRDataModel.getLocalTimeZoneNow():NVRDataModel.getTimeZoneNow()); + tze = moment().tz(NVRDataModel.getTimeZoneNow()); myevents[j].Event.EndTime = tze.format('YYYY-MM-DD HH:mm:ss'); - console.log ("END TIME = "+ myevents[j].Event.EndTime); + //console.log ("END TIME = "+ myevents[j].Event.EndTime); style = "background-color:orange"; recordingInProgress = true; @@ -725,32 +725,16 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla } - // not sure what TZ graph is in, so convert to local for comparison - // - var om = moment(options.max).tz(NVRDataModel.getLocalTimeZoneNow()); - - if (om.isBefore(moment())) { - console.log("Adjusting Range to fit in new event"); - - om = moment(); - options.max =om.tz(NVRDataModel.getLogin().useLocalTimeZone?NVRDataModel.getLocalTimeZoneNow():NVRDataModel.getTimeZoneNow()); - - - - // options.max = moment().tz(NVRDataModel.getTimeZoneNow()).add('1', 'hours').format("YYYY-MM-DD HH:mm:ss"); - timeline.setOptions(options); - } - // data.update({id: 2, group: 1}); - // update end time - is it needed to be updated? - // - + // right at this point we need to decide if we keep or remove this event // if (ld.enableAlarmCount && ld.minAlarmCount > myevents[j].Event.AlarmFrames && !recordingInProgress) { // remove - NVRDataModel.debug("Removing Event:" + myevents[j].Event.Id + "as it doesn't have" + myevents[j].Event.AlarmFrames + " alarm frames"); + NVRDataModel.debug("Removing Event:" + myevents[j].Event.Id + "as it doesn't have " + myevents[j].Event.AlarmFrames + " alarm frames"); + // var old = timeline.getWindow(); graphData.remove(myevents[j].Event.Id); + // timeline.setWindow (old.start, old.end); } else { var tzs1, tze1; @@ -765,6 +749,10 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla tze1 = moment.tz(myevents[j].Event.EndTime,NVRDataModel.getTimeZoneNow()); } + //tzs1 = tzs1.format("YYYY-MM-DD HH:mm:ss"); + //tze1 = tze1.format("YYYY-MM-DD HH:mm:ss"); + + NVRDataModel.debug("Updating Event:" + myevents[j].Event.Id + "StartTime:"+tzs1.format()+" EndTime:" + tze1.format()); graphData.update({ id: myevents[j].Event.Id, content: content, @@ -772,7 +760,7 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla // start: myevents[j].Event.StartTime, // end: myevents[j].Event.EndTime, end:tze1, - group: myevents[j].Event.MonitorId, + //group: myevents[j].Event.MonitorId, //type: "range", style: style, myframes: myevents[j].Event.Frames, @@ -784,7 +772,10 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla }); - timeline.focus(myevents[j].Event.Id); + //timeline.focus(myevents[j].Event.Id); + // + timeline.moveTo(timeline.getCurrentTime()); + //console.log ("Focus EID="+myevents[j].Event.Id); localNewEvents = localNewEvents + NVRDataModel.getMonitorName(myevents[j].Event.MonitorId) + '@' + shortenTime(myevents[j].Event.StartTime) + ' (' + myevents[j].Event.Id + '),'; @@ -841,35 +832,41 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla // since this is a new add its possible dates are not defined if (!moment(myevents[j].Event.StartTime).isValid()) { - NVRDataModel.debug("Event:" + myevents[j].Event.Id + "-Invalid Start time - this should really not happen "); + NVRDataModel.log("Event:" + myevents[j].Event.Id + "-Invalid Start time - this should really not happen "); } if (!moment(myevents[j].Event.EndTime).isValid()) { - // NVRDataModel.debug ("Event:" + myevents[j].Event.Id +"-End time is invalid, likely recording, so fixing" ); - myevents[j].Event.EndTime = moment().format('YYYY-MM-DD HH:mm:ss'); + var t1 = moment().tz(NVRDataModel.getTimeZoneNow()); + + + + myevents[j].Event.EndTime = t1.format('YYYY-MM-DD HH:mm:ss'); + + NVRDataModel.debug ("Event:" + myevents[j].Event.Id +"-End time is invalid, setting to current time"); + isBeingRecorded = true; } // if range doesn't allow for current time, we need to fix that - if (moment(options.max).isBefore(moment())) { + /*if (moment(options.max).isBefore(moment())) { // console.log("Adjusting Range to fit in new event"); options.max = moment().add('1', 'hours').locale('en').format("YYYY-MM-DD HH:mm:ss"); timeline.setOptions(options); - } + }*/ var eventText = "<span class='my-vis-font'>" + "( <i class='ion-android-notifications'></i>" + (myevents[j].Event.AlarmFrames || ' unknown ') + ") " + myevents[j].Event.Notes + "</span>"; if (isBeingRecorded) { - eventText = "<span class='my-vis-font'>" + myevents[j].Event.Notes + " " + $translate.instant('kRecordingProgress') + "</span>"; + eventText = "<span class='my-vis-font'>" + "("+myevents[j].Event.Id+") "+ myevents[j].Event.Notes + " " + $translate.instant('kRecordingProgress') + "</span>"; } // since we concated, its possible events may be repeated if (!graphData.get(myevents[j].Event.Id)) { - NVRDataModel.debug(">>> "+myevents[j].Event.Id + " at " + myevents[j].Event.StartTime + " New event updating graph"); + localNewEvents = localNewEvents + NVRDataModel.getMonitorName(myevents[j].Event.MonitorId) + '@' + shortenTime(myevents[j].Event.StartTime) + ' (' + myevents[j].Event.Id + '),'; @@ -884,7 +881,11 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla tzs2 = moment.tz(myevents[j].Event.StartTime,NVRDataModel.getTimeZoneNow()); tze2 = moment.tz(myevents[j].Event.EndTime,NVRDataModel.getTimeZoneNow()); } + + //tzs2 = tzs2.format("YYYY-MM-DD HH:mm:ss"); + //tze2 = tze2.format("YYYY-MM-DD HH:mm:ss"); + NVRDataModel.debug(">>> "+myevents[j].Event.Id + " New event updating graph " + " from:" + tzs2.format()+" to:"+tze2.format() ); graphData.add({ @@ -907,11 +908,13 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla }); graphIndex++; + //timeline.focus(myevents[j].Event.Id); + timeline.moveTo(timeline.getCurrentTime()); } //options.max = moment(fromDate).locale('en').format("YYYY-MM-DD HH:mm:ss"); - timeline.focus(myevents[j].Event.Id); + } //idfound @@ -1007,6 +1010,9 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla tze = moment.tz(toDate,NVRDataModel.getTimeZoneNow()); } + //tzs = tzs.format("YYYY-MM-DD HH:mm:ss"); + //tze = tze.format("YYYY-MM-DD HH:mm:ss"); + options = { showCurrentTime: true, @@ -1015,6 +1021,7 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla //var t; if (NVRDataModel.getLogin().useLocalTimeZone) + //if (0) return moment.tz(date,NVRDataModel.getTimeZoneNow()).tz(NVRDataModel.getLocalTimeZoneNow()); else // typecast to server time zone - its in server time anyway @@ -1028,8 +1035,8 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla end: tze, orientation: 'top', min: tzs, - max: tze, - zoomMin: 1 * 60 * 1000, // 1 min + //max: tze, + zoomMin: 5 * 60 * 1000, // 1 min stack: false, format: { minorLabels: { @@ -1157,11 +1164,11 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla tze = moment.tz(myevents[i].Event.EndTime,NVRDataModel.getTimeZoneNow()); } - console.log ("ADDED "+tzs+" " +tze); + //console.log ("ADDED "+tzs+" " +tze); 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[i].Event.Notes + "</span>", + 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>", start:tzs, //start: myevents[i].Event.StartTime, |
