From e2888fc17d9918c146b635b339bb0d836d324b1a Mon Sep 17 00:00:00 2001 From: Pliable Pixels Date: Tue, 19 Dec 2017 11:37:21 -0500 Subject: #570 ability to page forward and back by 24 hrs --- www/js/MomentCtrl.js | 55 +++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 50 insertions(+), 5 deletions(-) (limited to 'www/js/MomentCtrl.js') diff --git a/www/js/MomentCtrl.js b/www/js/MomentCtrl.js index 39d4f0e1..fcf7ad64 100644 --- a/www/js/MomentCtrl.js +++ b/www/js/MomentCtrl.js @@ -458,7 +458,30 @@ angular.module('zmApp.controllers').controller('zmApp.MomentCtrl', ['$scope', '$ } - function getMoments(sortCondition) { + $scope.changeFrom = function (dirn) { + + var f; + if (dirn==1) { // add a day + t = moment(timeTo); + t.add (1, "day"); + if (t > moment()) { + NVRDataModel.log ("Future date selected, ignoring"); + return; + } + console.log ("T="+t.format("MMM DD,YYYY HH:mm")); + } + else { + t = moment(timeTo); + t.subtract (1, "day"); + console.log ("T="+t.format("MMM DD,YYYY HH:mm")); + + } + var newTo = t.format("YYYY-MM-DD HH:mm:ss"); + getMoments(momentType,newTo); + + }; + + function getMoments(sortCondition, to) { if (sortCondition == 'MaxScore') $scope.type = $translate.instant('kMomentMenuByScore'); @@ -471,12 +494,29 @@ angular.module('zmApp.controllers').controller('zmApp.MomentCtrl', ['$scope', '$ moments.length = 0; NVRDataModel.setAwake(false); - var tmptimeto = moment(); - var tmptimefrom = tmptimeto.subtract(24, 'hours'); + + var tmptimeto, tmptimefrom; + + if (!to) {// assume current time + tmptimeto = moment(); + } + else { + tmptimeto = moment(to); + } + + + tmptimefrom = angular.copy(tmptimeto); + tmptimefrom.subtract(24, 'hours'); // mutable, hence deep copy above + + var page = 1; timeFrom = tmptimefrom.format('YYYY-MM-DD HH:mm:ss'); timeTo = tmptimeto.format('YYYY-MM-DD HH:mm:ss'); + + $scope.displayTimeFrom = moment(timeFrom).format("MMM DD,"+NVRDataModel.getTimeFormat()); + $scope.displayTimeTo = moment(timeTo).format("MMM DD,"+NVRDataModel.getTimeFormat()); + NVRDataModel.debug("Moments from " + timeFrom + " to " + timeTo); //https:///zm/api/events/index/AlarmFrames%20%3E=:1/StartTime%20%3E=:2017-12-16%2009:08:50.json?sort=TotScore&direction=desc @@ -484,7 +524,7 @@ angular.module('zmApp.controllers').controller('zmApp.MomentCtrl', ['$scope', '$ var ld = NVRDataModel.getLogin(); // in API, always sort by StartTime so all monitors are represented - var myurl = ld.apiurl + "/events/index/AlarmFrames >=:1"+excludeMonitorsFilter+"/StartTime >=:" + timeFrom + ".json?sort=" + "StartTime" + "&direction=desc"; + var myurl = ld.apiurl + "/events/index/AlarmFrames >=:1"+excludeMonitorsFilter+"/StartTime >=:" + timeFrom + "/StartTime <=:"+timeTo+ ".json?sort=" + "StartTime" + "&direction=desc"; NVRDataModel.debug("Retrieving " + myurl); @@ -498,6 +538,11 @@ angular.module('zmApp.controllers').controller('zmApp.MomentCtrl', ['$scope', '$ ]) .then(function () { NVRDataModel.debug ("$a.all Parallel queries completed"); + + if (!moments.length) { + $scope.loadingStatus = $translate.instant('kMomentNoneFound'); + } + // not really sure we need this // will see later if (sortCondition == "StartTime") { @@ -570,6 +615,7 @@ angular.module('zmApp.controllers').controller('zmApp.MomentCtrl', ['$scope', '$ var ld = NVRDataModel.getLogin(); + $scope.loadingStatus = $translate.instant('kLoading'); $scope.gridSize = ld.momentGridSize; excludeMonitors = JSON.parse(ld.momentMonitorFilter || []); console.log ("RETRIEVED EXCLUDE="+JSON.stringify(excludeMonitors)); @@ -591,7 +637,6 @@ angular.module('zmApp.controllers').controller('zmApp.MomentCtrl', ['$scope', '$ $scope.$on('$ionicView.afterEnter', function () { - $ionicPopover.fromTemplateUrl('templates/moment-popover.html', { -- cgit v1.2.3