diff options
Diffstat (limited to 'www')
| -rw-r--r-- | www/js/MomentCtrl.js | 55 | ||||
| -rw-r--r-- | www/lang/locale-en.json | 11 | ||||
| -rw-r--r-- | www/templates/moment.html | 21 |
3 files changed, 76 insertions, 11 deletions
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', { diff --git a/www/lang/locale-en.json b/www/lang/locale-en.json index da29411b..60277461 100644 --- a/www/lang/locale-en.json +++ b/www/lang/locale-en.json @@ -210,11 +210,12 @@ "kMinVersion" :"Minimum Required Version", "kMinimumIntervals" :"minimum interval", "kMode" :"Mode", - "kMoment24Heading" : "24hr Preview", - "kMomentLoadError" : "Error retrieving moments", - "kMomentMenuByMonitor" : "by camera", - "kMomentMenuByTime" : "by time", - "kMomentMenuByScore" : "by score", + "kMoment24Heading" :"24hr Preview", + "kMomentLoadError" :"Error retrieving moments", + "kMomentMenuByMonitor" :"by camera", + "kMomentMenuByTime" :"by time", + "kMomentMenuByScore" :"by score", + "kMomentNoneFound" :"No events found", "kMonAlarmed" :"alarmed", "kMonAlert" :"alert", "kMonIdle" :"idle", diff --git a/www/templates/moment.html b/www/templates/moment.html index 2c3ecc52..67a49652 100644 --- a/www/templates/moment.html +++ b/www/templates/moment.html @@ -16,6 +16,12 @@ </ion-nav-buttons> + + <div class="events-float-filter" > + {{displayTimeFrom}} - {{displayTimeTo}}</span> + </div> + + <ion-content class="padding" delegate-handle="moment-delegate" overflow-scroll="false" mouse-wheel-scroll style="background-color:#444444" > @@ -34,13 +40,26 @@ </li> </ul> </div> + + <div id="flyoutmenu" style="float:right"> + <ul> + <li> + <a href="" ng-click="changeFrom(-1)"> <i class="ion-chevron-left"></i></a> + </li> + <li> + <a href="" ng-click="changeFrom(1)"> <i class="ion-chevron-right"></i></a> + </li> + + </ul> + </div> + <div style="clear: both;"></div> <br/> </div> <div style="color:white" ng-if="!moments.length"> - Nothing to show yet... + {{loadingStatus}} </div> <div class="grid" id="mygrid"> |
