diff options
Diffstat (limited to 'www')
| -rwxr-xr-x | www/js/DataModel.js | 6 | ||||
| -rw-r--r-- | www/js/EventCtrl.js | 8 | ||||
| -rw-r--r-- | www/js/EventModalCtrl.js | 8 | ||||
| -rw-r--r-- | www/js/EventServer.js | 4 | ||||
| -rw-r--r-- | www/js/EventsModalGraphCtrl.js | 4 | ||||
| -rw-r--r-- | www/js/LoginCtrl.js | 2 | ||||
| -rw-r--r-- | www/js/MenuController.js | 2 | ||||
| -rw-r--r-- | www/js/MonitorModalCtrl.js | 92 | ||||
| -rw-r--r-- | www/js/MontageCtrl.js | 78 | ||||
| -rw-r--r-- | www/js/MontageHistoryCtrl.js | 4 | ||||
| -rw-r--r-- | www/js/PortalLoginCtrl.js | 4 | ||||
| -rw-r--r-- | www/js/TimelineCtrl.js | 4 | ||||
| -rwxr-xr-x | www/js/app.js | 27 | ||||
| -rw-r--r-- | www/templates/monitors-modal.html | 8 | ||||
| -rw-r--r-- | www/templates/montage.html | 2 |
15 files changed, 138 insertions, 115 deletions
diff --git a/www/js/DataModel.js b/www/js/DataModel.js index 7f297f5f..f18b38ed 100755 --- a/www/js/DataModel.js +++ b/www/js/DataModel.js @@ -1121,7 +1121,7 @@ angular.module('zmApp.controllers') // FIXME: HACK: This is the latest entry point into dataModel init, so start portal login after this // not the neatest way - $rootScope.$emit('init-complete'); + $rootScope.$broadcast('init-complete'); }); monitorsLoaded = 0; @@ -1392,7 +1392,7 @@ angular.module('zmApp.controllers') // Skipping monitor number as I only need an auth key // so no need to generate an image - var myurl = loginData.url + "/index.php?view=watch&mid=" + mid + "&connkey=" + ck; + var myurl = loginData.url + "/index.php?view=watch&mid=" + mid debug("DataModel: Getting auth from " + myurl + " with mid=" + mid); $http.get(myurl) .then(function (success) { @@ -2015,7 +2015,7 @@ angular.module('zmApp.controllers') isTzSupported = true; else isTzSupported = false; - $rootScope.$emit('tz-updated'); + $rootScope.$broadcast('tz-updated'); return (d.promise); }, diff --git a/www/js/EventCtrl.js b/www/js/EventCtrl.js index fb2916aa..423de0d2 100644 --- a/www/js/EventCtrl.js +++ b/www/js/EventCtrl.js @@ -77,14 +77,14 @@ angular.module('zmApp.controllers') //--------------------------------------------------- //we come here is TZ is updated after the view loads - var tzu = $rootScope.$on('tz-updated', function() + var tzu = $scope.$on('tz-updated', function() { $scope.tzAbbr = NVRDataModel.getTimeZoneNow(); NVRDataModel.debug("Timezone API updated timezone to " + NVRDataModel.getTimeZoneNow()); }); broadcastHandles.push(tzu); - var lc = $rootScope.$on("language-changed", function() + var lc = $scope.$on("language-changed", function() { NVRDataModel.log(">>>>>>>>>>>>>>> language changed"); doRefresh(); @@ -160,7 +160,7 @@ angular.module('zmApp.controllers') NVRDataModel.debug ("EventCtrl: Deregistering broadcast handles"); for (var i=0; i < broadcastHandles.length; i++) { - broadcastHandles[i](); + // broadcastHandles[i](); } broadcastHandles = []; }); @@ -2154,7 +2154,7 @@ angular.module('zmApp.controllers') if ($scope.popover) $scope.popover.remove(); NVRDataModel.debug ("EventCtrl Pause:Deregistering broadcast handles"); for (var i=0; i < broadcastHandles.length; i++) { - broadcastHandles[i](); + // broadcastHandles[i](); } broadcastHandles = []; diff --git a/www/js/EventModalCtrl.js b/www/js/EventModalCtrl.js index 7301c913..4f9a12ce 100644 --- a/www/js/EventModalCtrl.js +++ b/www/js/EventModalCtrl.js @@ -108,7 +108,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro // //-------------------------------------------------------------------------------------- - var bc = $rootScope.$on("bandwidth-change", function(e, data) + var bc = $scope.$on("bandwidth-change", function(e, data) { // not called for offline, I'm only interested in BW switches NVRDataModel.debug("Got network change:" + data); @@ -133,7 +133,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro // we use this to reload the connkey if authkey changed //------------------------------------------------------ - var as = $rootScope.$on("auth-success", function() + var as = $scope.$on("auth-success", function() { NVRDataModel.debug("EventModalCtrl: Re-login detected, resetting everything & re-generating connkey"); @@ -442,7 +442,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro { NVRDataModel.debug ("EventModal Pause: Deregistering broadcast handles"); for (var i=0; i < broadcastHandles.length; i++) { - broadcastHandles[i](); + // broadcastHandles[i](); } broadcastHandles = []; @@ -1093,7 +1093,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro { NVRDataModel.debug ("Deregistering broadcast handles"); for (var i=0; i < broadcastHandles.length; i++) { - broadcastHandles[i](); + // broadcastHandles[i](); } broadcastHandles = []; diff --git a/www/js/EventServer.js b/www/js/EventServer.js index ee606a63..2d5831e9 100644 --- a/www/js/EventServer.js +++ b/www/js/EventServer.js @@ -292,7 +292,7 @@ angular.module('zmApp.controllers') { //emit alarm details - this is when received over websockets - $rootScope.$emit('alarm', + $rootScope.$broadcast('alarm', { message: listOfMonitors }); @@ -658,7 +658,7 @@ angular.module('zmApp.controllers') $rootScope.tappedEid = 0; $rootScope.tappedMid = 0; } - $rootScope.$emit('process-push'); + $rootScope.$broadcast('process-push'); } else // app is foreground diff --git a/www/js/EventsModalGraphCtrl.js b/www/js/EventsModalGraphCtrl.js index 65e42b12..3db8b31e 100644 --- a/www/js/EventsModalGraphCtrl.js +++ b/www/js/EventsModalGraphCtrl.js @@ -27,7 +27,7 @@ angular.module('zmApp.controllers').controller('EventsModalGraphCtrl', ['$scope' { NVRDataModel.debug ("Deregistering broadcast handles"); for (var i=0; i < broadcastHandles.length; i++) { - broadcastHandles[i](); + // broadcastHandles[i](); } broadcastHandles = []; }); @@ -115,7 +115,7 @@ angular.module('zmApp.controllers').controller('EventsModalGraphCtrl', ['$scope' // we use this to reload the connkey if authkey changed //------------------------------------------------------ - var as = $rootScope.$on("auth-success", function() + var as = $scope.$on("auth-success", function() { NVRDataModel.debug("EventModalCtrl: Re-login detected, resetting everything & re-generating connkey"); diff --git a/www/js/LoginCtrl.js b/www/js/LoginCtrl.js index d8b89d3b..56d6d4a7 100644 --- a/www/js/LoginCtrl.js +++ b/www/js/LoginCtrl.js @@ -358,7 +358,7 @@ angular.module('zmApp.controllers').controller('zmApp.LoginCtrl', ['$scope', '$r } });*/ - $rootScope.$on('$stateChangeSuccess', function () { + $scope.$on('$stateChangeSuccess', function () { $scope.ignoreDirty = false; }); diff --git a/www/js/MenuController.js b/www/js/MenuController.js index 071db4df..c7e96604 100644 --- a/www/js/MenuController.js +++ b/www/js/MenuController.js @@ -42,7 +42,7 @@ angular.module('zmApp.controllers').controller('MenuController', ['$scope', '$io { NVRDataModel.log("Language selected:" + $scope.myopt.lang); NVRDataModel.setDefaultLanguage($scope.myopt.lang, true); - $rootScope.$emit('language-changed'); + $rootScope.$broadcast('language-changed'); //return "OK"; diff --git a/www/js/MonitorModalCtrl.js b/www/js/MonitorModalCtrl.js index ab59a147..9522ebee 100644 --- a/www/js/MonitorModalCtrl.js +++ b/www/js/MonitorModalCtrl.js @@ -34,14 +34,14 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ //$rootScope.authSession = "undefined"; - $ionicLoading.show({ + /* $ionicLoading.show({ template: $translate.instant('kNegotiatingStreamAuth') + '...', animation: 'fade-in', showBackdrop: true, duration: zm.loadingTimeout, maxWidth: 300, showDelay: 0 - }); + });*/ $scope.currentStreamMode = 'single'; NVRDataModel.log("Using stream mode " + $scope.currentStreamMode); @@ -73,7 +73,7 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ intervalModalHandle = $interval(function () { loadModalNotifications(); // console.log ("Refreshing Image..."); - }.bind(this), 5000); + }.bind(this), zm.alarmStatusTime); @@ -193,12 +193,20 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ // On re-auth, we need a new zms //------------------------------------------------------------- - $rootScope.$on("auth-success", function () { + var as = $scope.$on("auth-success", function () { NVRDataModel.debug("MonitorModalCtrl: Re-login detected, resetting everything & re-generating connkey"); //NVRDataModel.stopNetwork("MonitorModal-auth success"); - NVRDataModel.killLiveStream($scope.connKey, $scope.controlURL); + $scope.isModalStreamPaused = false; + + $timeout (function() { + NVRDataModel.killLiveStream($scope.connKey, $scope.controlURL); + + $scope.connKey = (Math.floor((Math.random() * 999999) + 1)).toString(); + }); + + }); @@ -283,7 +291,7 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ intervalModalHandle = $interval(function () { loadModalNotifications(); - }.bind(this), 5000); + }.bind(this), zm.alarmStatusTime); if (ld.cycleMonitors) { NVRDataModel.debug("Cycling enabled at " + ld.cycleMonitorsInterval); @@ -575,46 +583,38 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ // this is a good time to calculate scaled zone points function imageLoaded() { + if ($scope.animationInProgress) return; + /* var img = document.getElementById("singlemonitor"); - - //$scope.cw = img.naturalWidth; - //$scope.ch = img.naturalHeight; - $scope.cw = img.naturalWidth; $scope.ch = img.naturalHeight; - //console.log ("REPORTED DIM:" + $scope.cw+ "x"+$scope.ch ); - //console.log ("ORIGINAL DIM:" + img.naturalWidth+ "x"+img.naturalHeight); - //https://server/zm/api/zones/forMonitor/7.json - // + $scope.zoneArray = []; $scope.circlePoints = []; var ow = $scope.monitor.Monitor.Width; - var oh = $scope.monitor.Monitor.Height; + var oh = $scope.monitor.Monitor.Height;*/ // console.log ("MONITOR IS: "+JSON.stringify($scope.monitor)); // console.log ("ORIGINAL WH="+ow+"x"+oh); - for (var i = 0; i < originalZones.length; i++) { + /*for (var i = 0; i < originalZones.length; i++) { var sx = $scope.cw / ow; var sy = $scope.ch / oh; - //$scope.zoneArray.push({ - // coords:scaleCoords(originalZones[i].coords,sx,sy), - // type:originalZones[i].type}); $scope.zoneArray.push({ coords: originalZones[i].coords, type: originalZones[i].type }); - } + }*/ // now create a points array for circle handles - for (i = 0; i < $scope.zoneArray.length; i++) { - /*jshint loopfunc: true */ - // console.log ("ZONE ARRAY="+$scope.zoneArray[i].coords); + + /* for (i = 0; i < $scope.zoneArray.length; i++) { + //jshint loopfunc: true $scope.zoneArray[i].coords.split(' ') .forEach(function (itm) { var o = itm.split(','); @@ -627,8 +627,10 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ // console.log ("CIRCLE X="+o[0]+"Y="+o[1]); }); - } + }*/ + $scope.isModalStreamPaused = false; + NVRDataModel.debug ("Modal image loaded, switching to streaming"); @@ -636,18 +638,7 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ } - //------------------------------------------------------------- - // this is checked to make sure we are not pulling images - // when app is in background. This is a problem with Android, - // for example - //------------------------------------------------------------- - - $scope.isBackground = function () { - // console.log ("Is background called from ModalCtrl and returned " + - // NVRDataModel.isBackground()); - return NVRDataModel.isBackground(); - }; - + //------------------------------------------------------------- // Send PTZ command to ZM // Note: PTZ fails on desktop, don't bother about it @@ -797,6 +788,7 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ function moveToMonitor(m, d) { + $scope.animationInProgress = true; if ($scope.isZoneEdit) { NVRDataModel.log("Not cycling, as you are editing zones"); } @@ -847,9 +839,7 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ NVRDataModel.killLiveStream($scope.connKey, $scope.controlURL); // we should now have a paused stream, time to animate out - - - $scope.connKey = (Math.floor((Math.random() * 999999) + 1)).toString(); // get new key for new id + var dirn = d; @@ -871,22 +861,24 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ function outWithOld() { - NVRDataModel.log("ModalCtrl:Stopping network pull..."); - NVRDataModel.stopNetwork("MonitorModal-outwithOld"); + NVRDataModel.log(">>>Old image out"); + // NVRDataModel.log("ModalCtrl:Stopping network pull..."); + //NVRDataModel.stopNetwork("MonitorModal-outwithOld"); $scope.rand = Math.floor((Math.random() * 100000) + 1); - $scope.animationInProgress = true; + $timeout(function () { element.removeClass(slideout); element.addClass(slidein) .one('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', inWithNew); + $scope.monitorId = mid; $scope.monitorName = NVRDataModel.getMonitorName(mid); $scope.monitor = NVRDataModel.getMonitorObject(mid); $scope.controlURL = $scope.monitor.Monitor.controlURL; $scope.zoneArray = []; $scope.circlePoints = []; - getZones(); + // getZones(); configurePTZ($scope.monitorId); }, 200); } @@ -894,13 +886,15 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ function inWithNew() { element.removeClass(slidein); - $scope.animationInProgress = false; + $scope.isModalStreamPaused = false; - NVRDataModel.log("New image loaded in"); + var ld = NVRDataModel.getLogin(); carouselUtils.setStop(false); - + $scope.connKey = (Math.floor((Math.random() * 999999) + 1)).toString(); // get new key for new id + $scope.animationInProgress = false; // has to be AFTER new connkey + NVRDataModel.log("<<<New image loaded in with ck:"+$scope.connKey); } $ionicLoading.hide(); @@ -1122,6 +1116,8 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ $scope.constructSingleStream = function() { + + var stream; stream = $scope.monitor.Monitor.streamingURL + "/nph-zms?mode="+getSingleStreamMode() + @@ -1131,6 +1127,7 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ "&rand="+$rootScope.modalRand + appendSingleStreamConnKey(); + //console.log ("STREAM="+stream); return stream; @@ -1203,6 +1200,7 @@ function appendSingleStreamConnKey() { $scope.$on('modal.removed', function () { + as(); // dregister auth success $scope.isModalActive = false; NVRDataModel.debug("Single monitor exited killing stream"); NVRDataModel.killLiveStream($scope.connKey, $scope.controlURL); @@ -1621,7 +1619,7 @@ function appendSingleStreamConnKey() { $scope.showZones = false; - getZones(); + //getZones(); var ld = NVRDataModel.getLogin(); //currentEvent = $scope.currentEvent; diff --git a/www/js/MontageCtrl.js b/www/js/MontageCtrl.js index eaca75ab..0bc0511a 100644 --- a/www/js/MontageCtrl.js +++ b/www/js/MontageCtrl.js @@ -29,8 +29,10 @@ angular.module('zmApp.controllers') var refreshSec; var reloadPage = zm.forceMontageReloadDelay; var viewCleaned = false; + var randToAvoidCacheMem; - var areStreamsStopped = false; + + var areStreamsStopped = true; // first load snapshot $scope.isModalStreamPaused = false; // used in Monitor Modal //var reloadPage = 30; @@ -39,22 +41,42 @@ angular.module('zmApp.controllers') var broadcastHandles = []; - - var as = $rootScope.$on("auth-success", function () { - NVRDataModel.debug("Montage Re-auth handler"); - //console.log ("RETAUTH"); - // NVRDataModel.stopNetwork(); + var as = $scope.$on("auth-success", function () { + + if ($scope.singleMonitorModalOpen) { + NVRDataModel.debug ("Montage: Not creating streams, as modal is open"); + return; + } - }); - broadcastHandles.push(as); + + NVRDataModel.debug("Montage Re-auth handler"); + + areStreamsStopped = true; + + $timeout (function () { // after render + if (simulStreaming) { + NVRDataModel.debug ("Re-creating all stream connkeys in montage ..."); + NVRDataModel.regenConnKeys(); + $scope.monitors = NVRDataModel.getMonitorsNow(); + $scope.MontageMonitors = angular.copy($scope.monitors); + $timeout(function() // after render + { + initPackery(); + }, zm.packeryTimer); + + } + }); + broadcastHandles.push(as); + //console.log (">>>>>>>>>>>>>>>>>>>>>>>>>>>AS="+as); + }); //-------------------------------------------------------------------------------------- // Handles bandwidth change, if required // //-------------------------------------------------------------------------------------- - var bc = $rootScope.$on("bandwidth-change", function(e, data) + var bc = $scope.$on("bandwidth-change", function(e, data) { // not called for offline, I'm only interested in BW switches NVRDataModel.debug("Got network change:" + data); @@ -89,7 +111,7 @@ angular.module('zmApp.controllers') intervalHandleReloadPage = $interval(function() { forceReloadPage(); - }.bind(this), reloadPage * 1000); + }.bind(this), reloadPage); if (NVRDataModel.getBandwidth() == 'lowbw') { @@ -152,7 +174,7 @@ angular.module('zmApp.controllers') function forceReloadPage() { if ($scope.isDragabillyOn) { - NVRDataModel.debug ("not cycling, edit in progress"); + NVRDataModel.debug ("not reloading, edit in progress"); return; } @@ -216,6 +238,7 @@ angular.module('zmApp.controllers') duration: zm.loadingTimeout });*/ + areStreamsStopped = true; $scope.areImagesLoading = true; var progressCalled = false; @@ -303,9 +326,10 @@ angular.module('zmApp.controllers') { //console.log ("******** ALL IMAGES LOADED"); // $scope.$digest(); - NVRDataModel.debug("All images loaded"); + NVRDataModel.debug("All images loaded, switching to streaming if applicable"); $scope.areImagesLoading = false; + areStreamsStopped = false; $ionicLoading.hide(); @@ -600,7 +624,7 @@ angular.module('zmApp.controllers') } function randEachTime() { - $scope.randToAvoidCacheMem = new Date().getTime(); + randToAvoidCacheMem = new Date().getTime(); //$scope.randToAvoidCacheMem = "1"; //console.log ("Generating:"+$scope.randToAvoidCacheMem); } @@ -777,7 +801,7 @@ angular.module('zmApp.controllers') //---------------------------------------------------------------- // Alarm emit handling //---------------------------------------------------------------- - var al = $rootScope.$on("alarm", function(event, args) + var al = $scope.$on("alarm", function(event, args) { // FIXME: I should probably unregister this instead if (typeof $scope.monitors === undefined) @@ -1121,7 +1145,7 @@ angular.module('zmApp.controllers') { areStreamsStopped = true; - $scope.isModalStreamPaused = false; // we stop montage and start modal stream + $scope.isModalStreamPaused = true; // we stop montage and start modal stream in snapshot first $timeout (function () { // after render if (simulStreaming) { NVRDataModel.debug ("Killing all streams in montage to save memory/nw..."); @@ -1195,12 +1219,12 @@ angular.module('zmApp.controllers') { $scope.modal = modal; - $ionicLoading.show( + /* $ionicLoading.show( { template: $translate.instant('kPleaseWait'), noBackdrop: true, duration: zm.loadingTimeout - }); + });*/ // we don't really need this as we have stopped the timer // $scope.isModalActive = true; @@ -1239,7 +1263,7 @@ angular.module('zmApp.controllers') { loadAlarmStatus(); // console.log ("Refreshing Image..."); - }.bind(this), zm.alarmStatusTime * 1000); + }.bind(this), zm.alarmStatusTime); intervalHandleMontageCycle = $interval(function() { @@ -1250,7 +1274,7 @@ angular.module('zmApp.controllers') intervalHandleReloadPage = $interval(function() { forceReloadPage(); - }.bind(this), reloadPage * 1000); + }.bind(this), reloadPage); @@ -1268,7 +1292,7 @@ angular.module('zmApp.controllers') $scope.monitors = NVRDataModel.getMonitorsNow(); $scope.MontageMonitors = angular.copy($scope.monitors); - areStreamsStopped = false; + //areStreamsStopped = false; $timeout(function() // after render { initPackery(); @@ -1326,7 +1350,8 @@ angular.module('zmApp.controllers') NVRDataModel.debug ("Montage: Deregistering broadcast handles"); for (var i=0; i < broadcastHandles.length; i++) { - broadcastHandles[i](); + // broadcastHandles[i](); + //console.log ("DEREGISTER "+broadcastHandles[i]); } broadcastHandles = []; @@ -1766,10 +1791,10 @@ angular.module('zmApp.controllers') "&monitor="+monitor.Monitor.Id + "&scale="+$scope.LoginData.montageQuality + $rootScope.authSession + - "&rand="+monitor.Monitor.rndKey; + "&rand="+randToAvoidCacheMem; //"&rand="+$scope.randToAvoidCacheMem + appendConnKey (monitor.Monitor.connKey); - + // console.log ("MODE="+getMode()); return stream; }; @@ -1805,6 +1830,9 @@ angular.module('zmApp.controllers') $scope.$on('$ionicView.beforeEnter', function() { + broadcastHandles = []; + randToAvoidCacheMem = new Date().getTime(); + areStreamsStopped = true; // NVRDataModel.regenConnKeys(); $scope.monitors = NVRDataModel.getMonitorsNow(); $scope.MontageMonitors = angular.copy($scope.monitors); @@ -1947,12 +1975,12 @@ angular.module('zmApp.controllers') { loadAlarmStatus(); // console.log ("Refreshing Image..."); - }.bind(this), zm.alarmStatusTime * 1000); + }.bind(this), zm.alarmStatusTime); intervalHandleReloadPage = $interval(function() { forceReloadPage(); - }.bind(this), reloadPage * 1000); + }.bind(this), reloadPage); loadNotifications(); diff --git a/www/js/MontageHistoryCtrl.js b/www/js/MontageHistoryCtrl.js index 7c3c3d9c..0df27dce 100644 --- a/www/js/MontageHistoryCtrl.js +++ b/www/js/MontageHistoryCtrl.js @@ -10,7 +10,7 @@ angular.module('zmApp.controllers').controller('zmApp.MontageHistoryCtrl', ['$sc // Handles bandwidth change, if required // //-------------------------------------------------------------------------------------- - var bc = $rootScope.$on("bandwidth-change", function(e, data) + var bc = $scope.$on("bandwidth-change", function(e, data) { // nothing to do for now // eventUrl will use lower BW in next query cycle @@ -917,7 +917,7 @@ angular.module('zmApp.controllers').controller('zmApp.MontageHistoryCtrl', ['$sc NVRDataModel.debug ("Montage History: Deregistering broadcast handles"); for (var i=0; i < broadcastHandles.length; i++) { - broadcastHandles[i](); + //broadcastHandles[i](); } broadcastHandles = []; diff --git a/www/js/PortalLoginCtrl.js b/www/js/PortalLoginCtrl.js index df674642..f7ade984 100644 --- a/www/js/PortalLoginCtrl.js +++ b/www/js/PortalLoginCtrl.js @@ -17,7 +17,7 @@ angular.module('zmApp.controllers').controller('zmApp.PortalLoginCtrl', ['$ionic $scope.$on ('$ionicView.beforeLeave', function() { NVRDataModel.debug ("Portal: Deregistering broadcast handles"); for (var i=0; i < broadcastHandles.length; i++) { - broadcastHandles[i](); + //broadcastHandles[i](); } broadcastHandles = []; }); @@ -285,7 +285,7 @@ angular.module('zmApp.controllers').controller('zmApp.PortalLoginCtrl', ['$ionic } - var pp = $rootScope.$on("process-push", function () { + var pp = $scope.$on("process-push", function () { NVRDataModel.debug("*** PROCESS PUSH HANDLER CALLED INSIDE PORTAL LOGIN, setting ProcessPush to true"); processPush = true; evaluateTappedNotification(); diff --git a/www/js/TimelineCtrl.js b/www/js/TimelineCtrl.js index 9e11fee7..d689ec4f 100644 --- a/www/js/TimelineCtrl.js +++ b/www/js/TimelineCtrl.js @@ -283,7 +283,7 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla } - var tzu = $rootScope.$on('tz-updated', function() + var tzu = $scope.$on('tz-updated', function() { $scope.tzAbbr = NVRDataModel.getTimeZoneNow(); NVRDataModel.debug("Timezone API updated timezone to " + NVRDataModel.getTimeZoneNow()); @@ -300,7 +300,7 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla NVRDataModel.debug ("Timeline: Deregistering broadcast handles"); for (var i=0; i < broadcastHandles.length; i++) { - broadcastHandles[i](); + // broadcastHandles[i](); } broadcastHandles = []; diff --git a/www/js/app.js b/www/js/app.js index eb2eeff5..01928d5e 100755 --- a/www/js/app.js +++ b/www/js/app.js @@ -52,10 +52,7 @@ angular.module('zmApp', [ logFile: 'zmNinjaLog.txt', authoremail: 'pliablepixels+zmNinja@gmail.com', logFileMaxSize: 20000, // after this limit log gets reset - //loginInterval: 300000, //5m*60s*1000 - ZM auto login after 5 mins - loginInterval: 1800000, //30m*60s*1000 - ZM auto login after 30 mins - - //loginInterval: 30000, + updateCheckInterval: 86400000, // 24 hrs loadingTimeout: 15000, slowLoadingTimeout: 60000, @@ -93,6 +90,8 @@ angular.module('zmApp', [ cipherKey: 'sdf#@#%FSXSA_AR', minCycleTime: 5, + loginInterval: 1800000, //30m*60s*1000 - ZM auto login after 30 mins + //loginInterval: 20000, eventPlaybackQueryLowBW: 6000, loginIntervalLowBW: 1800000, //30m login eventSingleImageQualityLowBW: 70, @@ -104,9 +103,9 @@ angular.module('zmApp', [ maxGifWidth: 800.0, quantSample: 15, hashSecret: 'unused at the moment', - forceMontageReloadDelay: 3600, // 1 hr, + forceMontageReloadDelay: 4500000, // 1 hr 15m, thumbWidth:200, - alarmStatusTime: 10, + alarmStatusTime: 10000, }) @@ -841,7 +840,7 @@ angular.module('zmApp', [ $rootScope.$on("auth-error", function () { - NVRDataModel.debug("zmAutoLogin: Inside auth-error emit"); + NVRDataModel.debug("zmAutoLogin: Inside auth-error broadcast"); NVRDataModel.displayBanner('error', ['ZoneMinder authentication failed', 'Please check settings']); }); @@ -884,7 +883,7 @@ angular.module('zmApp', [ $timeout(function () { contentBannerInstance(); }, 2000); - NVRDataModel.debug("auth-success emit:Successful"); + NVRDataModel.debug("auth-success broadcast:Successful"); }); $rootScope.getProfileName = function () { @@ -930,7 +929,7 @@ angular.module('zmApp', [ // coming here means login not needed, old login is valid .then(function (success) { d.resolve("Login Success due to fast login"); - $rootScope.$emit('auth-success', "fast login mode"); + $rootScope.$broadcast('auth-success', "fast login mode"); return d.promise; }, @@ -1011,7 +1010,7 @@ angular.module('zmApp', [ NVRDataModel.log("Auth is disabled!"); d.resolve("Login Success"); - $rootScope.$emit('auth-success', 'no auth'); + $rootScope.$broadcast('auth-success', 'no auth'); return (d.promise); } @@ -1103,14 +1102,14 @@ angular.module('zmApp', [ d.resolve("Login Success"); - $rootScope.$emit('auth-success', data); + $rootScope.$broadcast('auth-success', data); } else // this means login error { $rootScope.loggedIntoZm = -1; //console.log("**** ZM Login FAILED"); NVRDataModel.log("zmAutologin Error: Bad Credentials ", "error"); - $rootScope.$emit('auth-error', "incorrect credentials"); + $rootScope.$broadcast('auth-error', "incorrect credentials"); d.reject("Login Error"); return (d.promise); @@ -1151,7 +1150,7 @@ angular.module('zmApp', [ NVRDataModel.log("zmAutologin Error " + JSON.stringify(error) + " and status " + status); // bad urls etc come here $rootScope.loggedIntoZm = -1; - $rootScope.$emit('auth-error', error); + $rootScope.$broadcast('auth-error', error); d.reject("Login Error"); return d.promise; @@ -1338,7 +1337,7 @@ angular.module('zmApp', [ if ((NVRDataModel.getLogin().autoSwitchBandwidth == true) && (NVRDataModel.getLogin().enableLowBandwidth == true)) { NVRDataModel.debug("Setting app state to: " + strState); - $rootScope.$emit('bandwidth-change', strState); + $rootScope.$broadcast('bandwidth-change', strState); } else { NVRDataModel.debug("Not changing bandwidth state, as auto change is not on"); } diff --git a/www/templates/monitors-modal.html b/www/templates/monitors-modal.html index 12d3708c..02b46a37 100644 --- a/www/templates/monitors-modal.html +++ b/www/templates/monitors-modal.html @@ -2,9 +2,6 @@ <ion-modal-view cache-view="false" style="background-color:#444444"> <ion-content ng-cloak on-double-tap="closeModal();" scroll="false"> - - - <div id="imagecontainer"> <ion-scroll ng-if="!isZoneEdit" on-scroll="checkZoom()" delegate-handle="imgscroll" has-bouncing=false min-zoom=1 zooming="true" direction="xy" style="width: 100%;" overflow-scroll="false"> @@ -12,14 +9,15 @@ <!-- --> <div id="monitorimage" style="height: 100vh;" class="main"> <div ng-if="$root.authSession!='undefined'"> - <div ng-if="!animationInProgress && !isBackground() && connKey"> + <div ng-if="!animationInProgress"> + <!--<span style="color:white">{{currentStreamMode}}</span>--> <img id="singlemonitor" style="width:100vw; height:100vh;" image-spinner-loader="lines" image-spinner-src="{{constructSingleStream()}}" ng-class="{'object-fit_cover':imageFit==false, 'object-fit_contain':imageFit==true}" on-swipe-left="onSwipe(monitorId,1)" on-swipe-right="onSwipe(monitorId,-1)" on-double-tap="closeModal();" imageonload="imageLoaded()" /> </div> - <div ng-if="animationInProgress || isBackground()"> + <div ng-if="animationInProgress"> <img style="width:100vw; height:100vh" ng-src="img/pausevideo.png" class="object-fit_contain" /> </div> </div> diff --git a/www/templates/montage.html b/www/templates/montage.html index eba049bf..77580f5e 100644 --- a/www/templates/montage.html +++ b/www/templates/montage.html @@ -116,7 +116,7 @@ <figcaption id="slowpulse" ng-class="monitor.Monitor.isAlarmed==true?'alarmed-figcaption animated infinite flash':'normal-figcaption'" > - {{monitor.Monitor.connKey}} + <span ng-if="monitor.Monitor.isStamp && isDragabillyOn"><i class="animated infinite flash ion-pin"></i> </span><i class="ion-ios-videocam"></i> {{monitor.Monitor.Name}} <i ng-if="$root.runMode!='lowbw'" style="{{monitor.Monitor.alarmState}}" class="ion-record"></i> |
