From 44a2a2905fc0e4e51c12540757b058fe4bab01ef Mon Sep 17 00:00:00 2001 From: Pliable Pixels Date: Sun, 30 Jun 2019 11:55:39 -0400 Subject: #827 keep track of last time updated, don't close if <=300ms --- config.xml | 2 +- package.json | 6 +++--- www/js/EventCtrl.js | 11 ++++++++++- www/js/EventModalCtrl.js | 8 ++++++++ www/templates/events-modal.html | 4 +++- 5 files changed, 25 insertions(+), 6 deletions(-) diff --git a/config.xml b/config.xml index 7b4b76f1..9aa14e8a 100644 --- a/config.xml +++ b/config.xml @@ -1,5 +1,5 @@ - + zmNinja High performance ZoneMinder client diff --git a/package.json b/package.json index cd49111d..68a6cd92 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "zmninjapro", "description": "Home security mobile app for ZoneMinder", - "version":"1.3.063", + "version": "1.3.063", "displayName": "zmNinja", "author": "Pliable Pixels", "license": "custom see LICENSE.md", @@ -133,7 +133,7 @@ "build": { "artifactName": "${productName}-${version}-${os}-${arch}.${ext}", "appImage": { - "systemIntegration":"ask" + "systemIntegration": "ask" }, "appId": "com.pliablepixels.zmninjapro", "productName": "zmninjapro", @@ -192,4 +192,4 @@ ] } } -} +} \ No newline at end of file diff --git a/www/js/EventCtrl.js b/www/js/EventCtrl.js index dc3c2453..d873e514 100644 --- a/www/js/EventCtrl.js +++ b/www/js/EventCtrl.js @@ -2543,6 +2543,7 @@ angular.module('zmApp.controllers') $scope.modalGraph = function () { + $scope.lastVideoStateTime = ''; $ionicModal.fromTemplateUrl('templates/events-modalgraph.html', { scope: $scope, // give ModalCtrl access to this scope animation: 'slide-in-up', @@ -2663,7 +2664,9 @@ angular.module('zmApp.controllers') if (ld.showLiveForInProgressEvents) { sl = 'enabled'; } - + $scope.lastVideoStateTime = { + 'time':'' + }; NVR.debug("Shall I follow the same monitor for prev/next?:"+$scope.followSameMonitor); $ionicModal.fromTemplateUrl('templates/events-modal.html', { scope: $scope, @@ -2690,6 +2693,12 @@ angular.module('zmApp.controllers') //-------------------------------------------------------- $scope.closeModal = function () { NVR.debug(">>>EventCtrl:Close & Destroy Modal"); + var diff = moment().diff($scope.lastVideoStateTime.time); + if (diff <= 300) { + NVR.debug ("Not closing model, time interval was only:"+diff+" ms"); + return; + } + NVR.setAwake(false); if ($scope.modal !== undefined) { $scope.modal.remove(); diff --git a/www/js/EventModalCtrl.js b/www/js/EventModalCtrl.js index e2f122f9..d5a410f9 100644 --- a/www/js/EventModalCtrl.js +++ b/www/js/EventModalCtrl.js @@ -194,6 +194,12 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro }; + + $scope.onPlayerState = function (state) { + // parent scope + $scope.lastVideoStateTime.time = moment(); + }; + $scope.onPlayerReady = function (api) { // we need this timeout to avoid load interrupting @@ -1055,6 +1061,8 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro $scope.alarm_images = []; $scope.snapshotFrameId = 1; currentStreamState = streamState.STOPPED; + + }); diff --git a/www/templates/events-modal.html b/www/templates/events-modal.html index 6fa1f094..34ec051b 100644 --- a/www/templates/events-modal.html +++ b/www/templates/events-modal.html @@ -69,7 +69,9 @@
-- cgit v1.2.3