diff options
| author | Pliable Pixels <pliablepixels@gmail.com> | 2019-08-20 14:28:00 -0400 |
|---|---|---|
| committer | Pliable Pixels <pliablepixels@gmail.com> | 2019-08-20 14:35:01 -0400 |
| commit | bbc76585387b65532ce87d8d2031ec7693ba72c1 (patch) | |
| tree | 22a3000bd1a686580c167f39b51ea9e2cb1601b5 /www | |
| parent | bd93725082aee41a342cd27f6df73dbf289a9608 (diff) | |
more fine grained event nav
Diffstat (limited to 'www')
| -rw-r--r-- | www/js/EventModalCtrl.js | 72 | ||||
| -rw-r--r-- | www/js/NVR.js | 2 | ||||
| -rw-r--r-- | www/templates/events-modal.html | 23 |
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> {{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> |
