summaryrefslogtreecommitdiff
path: root/www
diff options
context:
space:
mode:
Diffstat (limited to 'www')
-rw-r--r--www/js/MomentCtrl.js55
-rw-r--r--www/lang/locale-en.json11
-rw-r--r--www/templates/moment.html21
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">