summaryrefslogtreecommitdiff
path: root/www
diff options
context:
space:
mode:
authorPliable Pixels <pliablepixels@gmail.com>2019-08-20 14:28:00 -0400
committerPliable Pixels <pliablepixels@gmail.com>2019-08-20 14:35:01 -0400
commitbbc76585387b65532ce87d8d2031ec7693ba72c1 (patch)
tree22a3000bd1a686580c167f39b51ea9e2cb1601b5 /www
parentbd93725082aee41a342cd27f6df73dbf289a9608 (diff)
more fine grained event nav
Diffstat (limited to 'www')
-rw-r--r--www/js/EventModalCtrl.js72
-rw-r--r--www/js/NVR.js2
-rw-r--r--www/templates/events-modal.html23
3 files changed, 88 insertions, 9 deletions
diff --git a/www/js/EventModalCtrl.js b/www/js/EventModalCtrl.js
index ce884f9e..bce632ed 100644
--- a/www/js/EventModalCtrl.js
+++ b/www/js/EventModalCtrl.js
@@ -13,6 +13,8 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro
ACTIVE: 2, // using zms
STOPPED: 3 // starts off in this mode
};
+
+
// from parent scope
var currentEvent = $scope.currentEvent;
var nphTimer;
@@ -30,6 +32,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro
var isSnapShotEnabled = false;
var playState = 'play';
+ $scope.useFilters = true;
var broadcastHandles = [];
@@ -48,7 +51,8 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro
var frameoptions = [];
- var eventImageDigits = 5; // failsafe
+
+ var eventImageDigits = 5; // failsafe
$scope.currentProgress = {
progress: 0
};
@@ -1106,6 +1110,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro
NVR.debug("If recording is in progress, live feed will be shown");
}
$scope.isToggleListMenu = true;
+ $scope.isToggleListEventParamsMenu = false;
$scope.videoDynamicTime = "";
$scope.videoIsReady = false;
var ld = NVR.getLogin();
@@ -1332,11 +1337,56 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro
};
+ $scope.toggleFilters = function () {
+ $scope.useFilters=!$scope.useFilters;
+ $scope.nextId = "...";
+ $scope.prevId = "...";
+ neighborEvents($scope.eventId)
+ .then(function (success) {
+ $scope.nextId = success.next;
+ $scope.prevId = success.prev;
+ },
+ function (error) {
+ //console.log(JSON.stringify(error));
+ });
+
+ };
+
+ $scope.toggleFollowSameMonitor = function () {
+
+ if ($scope.followSameMonitor == '1') {
+ NVR.debug ('followSame Monitor was 1, making null');
+ $scope.followSameMonitor = '';
+ } else {
+ NVR.debug ('followSame Monitor was null, making 1');
+ $scope.followSameMonitor = '1';
+ }
+ $scope.nextId = "...";
+ $scope.prevId = "...";
+ neighborEvents($scope.eventId)
+ .then(function (success) {
+ $scope.nextId = success.next;
+ $scope.prevId = success.prev;
+ },
+ function (error) {
+ //console.log(JSON.stringify(error));
+ });
+
+
+ };
+
$scope.toggleListMenu = function () {
$scope.isToggleListMenu = !$scope.isToggleListMenu;
};
+ $scope.toggleListEventParamsMenu = function () {
+
+ $scope.isToggleListEventParamsMenu = !$scope.isToggleListEventParamsMenu;
+ };
+
+
+
$scope.toggleGapless = function () {
// console.log(">>>>>>>>>>>>>>GAPLESS TOGGLE INSIDE MODAL");
$scope.loginData.gapless = !$scope.loginData.gapless;
@@ -1392,16 +1442,22 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro
var loginData = NVR.getLogin();
var nextEvent = loginData.apiurl + "/events/index" +
"/StartTime >: " + currentEvent.Event.StartTime +
- ($scope.followSameMonitor == '1' ? "/MonitorId =: " + currentEvent.Monitor.Id : "") +
- "/AlarmFrames >=: " + (loginData.enableAlarmCount ? loginData.minAlarmCount : 0) +
- ".json?sort=StartTime&direction=asc&limit=1"+$rootScope.authSession;
-
+ ($scope.followSameMonitor == '1' ? "/MonitorId =: " + currentEvent.Monitor.Id : "") ;
+ if ($scope.useFilters) {
+ nextEvent = nextEvent + "/AlarmFrames >=: " + (loginData.enableAlarmCount ? loginData.minAlarmCount : 0);
+ }
+ nextEvent = nextEvent + ".json?sort=StartTime&direction=asc&limit=1"+$rootScope.authSession;
+
var prevEvent = loginData.apiurl + "/events/index" +
"/StartTime <: " + currentEvent.Event.StartTime +
- ($scope.followSameMonitor == '1' ? "/MonitorId =: " + currentEvent.Monitor.Id : "") +
- "/AlarmFrames >=: " + (loginData.enableAlarmCount ? loginData.minAlarmCount : 0) +
- ".json?sort=StartTime&direction=desc&limit=1"+$rootScope.authSession;
+ ($scope.followSameMonitor == '1' ? "/MonitorId =: " + currentEvent.Monitor.Id : "");
+
+ if ($scope.useFilters) {
+ prevEvent = prevEvent + "/AlarmFrames >=: " + (loginData.enableAlarmCount ? loginData.minAlarmCount : 0);
+ }
+ prevEvent = prevEvent + ".json?sort=StartTime&direction=desc&limit=1"+$rootScope.authSession;
+
NVR.debug("Neighbor next URL=" + nextEvent);
diff --git a/www/js/NVR.js b/www/js/NVR.js
index d785683a..b86c4676 100644
--- a/www/js/NVR.js
+++ b/www/js/NVR.js
@@ -21,7 +21,7 @@ angular.module('zmApp.controllers')
DO NOT TOUCH zmAppVersion
It is changed by sync_version.sh
*/
- var zmAppVersion = "1.3.075";
+ var zmAppVersion = "1.3.076";
var isBackground = false;
var justResumed = false;
var timeSinceResumed = -1;
diff --git a/www/templates/events-modal.html b/www/templates/events-modal.html
index 073beb60..466cd18e 100644
--- a/www/templates/events-modal.html
+++ b/www/templates/events-modal.html
@@ -155,6 +155,29 @@
<i class="ion-arrow-right-b"></i>&nbsp;{{videoDynamicTime}} ({{humanizeTime}}) [{{d_eventId}}]
<span class="events-range-modal-warning-text">{{eventWarning}}</span>
</div>
+
+ <div id="flyoutmenu" style="position:absolute;bottom:150px;left:10px">
+ <ul>
+ <li>
+ <a href="" ng-click="toggleListEventParamsMenu()">
+ <i ng-class="(isToggleListEventParamsMenu) ? 'icon ion-chevron-left': 'icon ion-chevron-right'"></i>
+ </a>
+ </li>
+
+
+ <li ng-if="isToggleListEventParamsMenu" ng-style="{'background-color': followSameMonitor=='1'?'rgba(69, 170, 242,0.7)':'rgba(108, 122, 137, 0.7)'}">
+ <a href="" ng-click="toggleFollowSameMonitor()">
+ <i class="ion-monitor"></i>-{{followSameMonitor? ('kOn' | translate): ('kOff' | translate)}}</a>
+ </li>
+
+ <li ng-if="isToggleListEventParamsMenu" ng-style="{'background-color': useFilters?'rgba(69, 170, 242,0.7)':'rgba(108, 122, 137, 0.7)'}">
+ <a href="" ng-click="toggleFilters()">
+ <i class="ion-funnel"></i>-{{useFilters? ('kOn' | translate): ('kOff' | translate)}}</a>
+ </li>
+
+ </ul>
+ </div>
+
<div id="flyoutmenu" style="position:absolute;bottom:100px;left:10px">
<ul>
<li>