From 89211bbbd526bbc587361085b119a19d296f6a7f Mon Sep 17 00:00:00 2001 From: Pliable Pixels Date: Sat, 20 Oct 2018 19:17:21 -0400 Subject: #724 cleanup and making sure we take recordingURL for playback --- www/js/MonitorCtrl.js | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) (limited to 'www/js/MonitorCtrl.js') diff --git a/www/js/MonitorCtrl.js b/www/js/MonitorCtrl.js index 9edb1e36..dbc4a7f3 100644 --- a/www/js/MonitorCtrl.js +++ b/www/js/MonitorCtrl.js @@ -412,10 +412,7 @@ angular.module('zmApp.controllers') $scope.monitors[j].Monitor.char = "ion-checkmark-circled"; apiMonCheck = loginData.apiurl + "/monitors/daemonStatus/id:" + $scope.monitors[j].Monitor.Id + "/daemon:zmc.json"; - //apiMonCheck = apiMonCheck.replace(loginData.url, $scope.monitors[j].Monitor.baseURL); - - // in multiserver replace apiurl with baseurl - + NVRDataModel.debug("MonitorCtrl:monitorStateCheck: " + apiMonCheck); //console.log("**** ZMC CHECK " + apiMonCheck); $http.get(apiMonCheck) -- cgit v1.2.3 From e3076881b748fff53690373f02211706b60fab79 Mon Sep 17 00:00:00 2001 From: Pliable Pixels Date: Sun, 21 Oct 2018 18:49:32 -0400 Subject: #725 moved evaluate tapped notification to service,trapped handler in all controllers --- www/js/MonitorCtrl.js | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'www/js/MonitorCtrl.js') diff --git a/www/js/MonitorCtrl.js b/www/js/MonitorCtrl.js index dbc4a7f3..6e2ce019 100644 --- a/www/js/MonitorCtrl.js +++ b/www/js/MonitorCtrl.js @@ -48,6 +48,17 @@ angular.module('zmApp.controllers') $ionicSideMenuDelegate.toggleLeft(); }; + $scope.$on ( "process-push", function () { + NVRDataModel.debug (">> MonitorCtrl: push handler"); + var s = NVRDataModel.evaluateTappedNotification(); + NVRDataModel.debug("tapped Notification evaluation:"+ JSON.stringify(s)); + $ionicHistory.nextViewOptions({ + disableAnimate:true, + disableBack: true + }); + $state.go(s[0],s[1],s[2]); + }); + //---------------------------------------------------------------- // Alarm notification handling //---------------------------------------------------------------- -- cgit v1.2.3 From ff613f8e6210d2c4cd2f8deacc0096e18aff2fcd Mon Sep 17 00:00:00 2001 From: Pliable Pixels Date: Mon, 22 Oct 2018 11:50:53 -0400 Subject: #725 move push handlers inside beforeEnter for better consistency --- www/js/MonitorCtrl.js | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) (limited to 'www/js/MonitorCtrl.js') diff --git a/www/js/MonitorCtrl.js b/www/js/MonitorCtrl.js index 6e2ce019..8926688b 100644 --- a/www/js/MonitorCtrl.js +++ b/www/js/MonitorCtrl.js @@ -48,16 +48,7 @@ angular.module('zmApp.controllers') $ionicSideMenuDelegate.toggleLeft(); }; - $scope.$on ( "process-push", function () { - NVRDataModel.debug (">> MonitorCtrl: push handler"); - var s = NVRDataModel.evaluateTappedNotification(); - NVRDataModel.debug("tapped Notification evaluation:"+ JSON.stringify(s)); - $ionicHistory.nextViewOptions({ - disableAnimate:true, - disableBack: true - }); - $state.go(s[0],s[1],s[2]); - }); + //---------------------------------------------------------------- // Alarm notification handling @@ -262,6 +253,20 @@ angular.module('zmApp.controllers') // reset power state on exit as if it is called after we enter another // state, that effectively overwrites current view power management needs //------------------------------------------------------------------------ + + $scope.$on('$ionicView.beforeEnter', function() { + + $scope.$on ( "process-push", function () { + NVRDataModel.debug (">> MonitorCtrl: push handler"); + var s = NVRDataModel.evaluateTappedNotification(); + NVRDataModel.debug("tapped Notification evaluation:"+ JSON.stringify(s)); + $ionicHistory.nextViewOptions({ + disableAnimate:true, + disableBack: true + }); + $state.go(s[0],s[1],s[2]); + }); + }); $scope.$on('$ionicView.enter', function () { // console.log("**VIEW ** Monitor Ctrl Entered"); NVRDataModel.setAwake(false); -- cgit v1.2.3 From 38aecc45c37dbaf35a0523f3e8a880570b64f47a Mon Sep 17 00:00:00 2001 From: Pliable Pixels Date: Wed, 31 Oct 2018 14:51:39 -0400 Subject: #733 use new Monitor_Status if available --- www/js/MonitorCtrl.js | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 53 insertions(+), 1 deletion(-) (limited to 'www/js/MonitorCtrl.js') diff --git a/www/js/MonitorCtrl.js b/www/js/MonitorCtrl.js index 8926688b..6008a4a0 100644 --- a/www/js/MonitorCtrl.js +++ b/www/js/MonitorCtrl.js @@ -415,8 +415,60 @@ angular.module('zmApp.controllers') //----------------------------------------------------------------------- function monitorStateCheck() { + + var ld = NVRDataModel.getLogin(); + // force get for latest status of monitors if av. + NVRDataModel.getMonitors(1) + .then (function (data) { + + $scope.monitors = data; + if (!$scope.monitors[0].Monitor_Status ) { + NVRDataModel.debug ("no Monitor_Status found reverting to daemonCheck..."); + forceDaemonCheck(); + } + else { + NVRDataModel.debug ("reporting status of monitors from multi-server API"); + processMonitorStatus(); + } + + }, + function (err) { + NVRDataModel.debug ("Monitor fetch error, reverting to daemonCheck..."); + forceDaemonCheck(); + }) + + } + + function processMonitorStatus () { + + //array('Unknown','NotRunning','Running','NoSignal','Signal'), + + + // console.log (JSON.stringify($scope.monitors)); + for (var j=0; j < $scope.monitors.length; j++) { + + if ($scope.monitors[j].Monitor_Status.Status == 'Connected') { + $scope.monitors[j].Monitor.isRunning = "true"; + $scope.monitors[j].Monitor.color = zm.monitorRunningColor; + $scope.monitors[j].Monitor.char = "ion-checkmark-circled"; + $scope.monitors[j].Monitor.isRunningText = $scope.monitors[j].Monitor_Status.Status; + } + else { + $scope.monitors[j].Monitor.isRunning = "false"; + $scope.monitors[j].Monitor.color = zm.monitorNotRunningColor; + $scope.monitors[j].Monitor.char = "ion-close-circled"; + $scope.monitors[j].Monitor.isRunningText = $scope.monitors[j].Monitor_Status.Status; + } + + } + + } + + function forceDaemonCheck() { var apiMonCheck; + $scope.loginData = NVRDataModel.getLogin(); + // The status is provided by zmdc.pl // "not running", "pending", "running since", "Unable to connect" var i; @@ -426,7 +478,7 @@ angular.module('zmApp.controllers') $scope.monitors[j].Monitor.isRunning = "..."; $scope.monitors[j].Monitor.color = zm.monitorCheckingColor; $scope.monitors[j].Monitor.char = "ion-checkmark-circled"; - apiMonCheck = loginData.apiurl + "/monitors/daemonStatus/id:" + $scope.monitors[j].Monitor.Id + "/daemon:zmc.json"; + apiMonCheck = $scope.loginData.apiurl + "/monitors/daemonStatus/id:" + $scope.monitors[j].Monitor.Id + "/daemon:zmc.json"; NVRDataModel.debug("MonitorCtrl:monitorStateCheck: " + apiMonCheck); -- cgit v1.2.3 From 326c2fa79cc6538e4352398ee1aba0f102c4cd75 Mon Sep 17 00:00:00 2001 From: Pliable Pixels Date: Wed, 31 Oct 2018 19:41:35 -0400 Subject: #733 typo --- www/js/MonitorCtrl.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'www/js/MonitorCtrl.js') diff --git a/www/js/MonitorCtrl.js b/www/js/MonitorCtrl.js index 6008a4a0..d4620cd3 100644 --- a/www/js/MonitorCtrl.js +++ b/www/js/MonitorCtrl.js @@ -416,6 +416,7 @@ angular.module('zmApp.controllers') function monitorStateCheck() { + // console.log ("Checking monitors"); var ld = NVRDataModel.getLogin(); // force get for latest status of monitors if av. NVRDataModel.getMonitors(1) @@ -435,7 +436,7 @@ angular.module('zmApp.controllers') function (err) { NVRDataModel.debug ("Monitor fetch error, reverting to daemonCheck..."); forceDaemonCheck(); - }) + }); } -- cgit v1.2.3 From 5e20084f130e02b137acd3807148a4982ed39301 Mon Sep 17 00:00:00 2001 From: Pliable Pixels Date: Wed, 31 Oct 2018 20:10:32 -0400 Subject: #733 fix icon --- www/js/MonitorCtrl.js | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) (limited to 'www/js/MonitorCtrl.js') diff --git a/www/js/MonitorCtrl.js b/www/js/MonitorCtrl.js index d4620cd3..0ed5883c 100644 --- a/www/js/MonitorCtrl.js +++ b/www/js/MonitorCtrl.js @@ -9,13 +9,6 @@ angular.module('zmApp.controllers') .controller('zmApp.MonitorCtrl', ['$ionicPopup', 'zm', '$scope', 'NVRDataModel', 'message', '$ionicSideMenuDelegate', '$ionicLoading', '$ionicModal', '$state', '$http', '$rootScope', '$timeout', '$ionicHistory', '$ionicPlatform', '$translate', '$q', function ($ionicPopup, zm, $scope, NVRDataModel, message, $ionicSideMenuDelegate, $ionicLoading, $ionicModal, $state, $http, $rootScope, $timeout, $ionicHistory, $ionicPlatform, $translate, $q) { - //----------------------------------------------------------------------- - // Controller Main - //----------------------------------------------------------------------- - - // var isModalOpen = false; - - // console.log("***EVENTS: Waiting for Monitors to load before I proceed"); var loginData; @@ -478,7 +471,7 @@ angular.module('zmApp.controllers') $scope.monitors[j].Monitor.isRunningText = "..."; $scope.monitors[j].Monitor.isRunning = "..."; $scope.monitors[j].Monitor.color = zm.monitorCheckingColor; - $scope.monitors[j].Monitor.char = "ion-checkmark-circled"; + $scope.monitors[j].Monitor.char = "ion-help-circled"; apiMonCheck = $scope.loginData.apiurl + "/monitors/daemonStatus/id:" + $scope.monitors[j].Monitor.Id + "/daemon:zmc.json"; @@ -498,6 +491,7 @@ angular.module('zmApp.controllers') } else if (data.statustext.indexOf("running since") > -1) { $scope.monitors[j].Monitor.isRunning = "true"; $scope.monitors[j].Monitor.color = zm.monitorRunningColor; + $scope.monitors[j].Monitor.char = "ion-checkmark-circled"; } else if (data.statustext.indexOf("Unable to connect") > -1) { $scope.monitors[j].Monitor.isRunning = "false"; $scope.monitors[j].Monitor.color = zm.monitorNotRunningColor; -- cgit v1.2.3 From 164ebf1745517bb2bc9be8eedb5bdf709168d801 Mon Sep 17 00:00:00 2001 From: Pliable Pixels Date: Thu, 1 Nov 2018 11:20:41 -0400 Subject: #733 remove getMonitor dependency for monitor view, show the right loading message --- www/js/MonitorCtrl.js | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-) (limited to 'www/js/MonitorCtrl.js') diff --git a/www/js/MonitorCtrl.js b/www/js/MonitorCtrl.js index 0ed5883c..7fc2cec2 100644 --- a/www/js/MonitorCtrl.js +++ b/www/js/MonitorCtrl.js @@ -6,11 +6,12 @@ // refer to comments in EventCtrl for the modal stuff. They are almost the same angular.module('zmApp.controllers') - .controller('zmApp.MonitorCtrl', ['$ionicPopup', 'zm', '$scope', 'NVRDataModel', 'message', '$ionicSideMenuDelegate', '$ionicLoading', '$ionicModal', '$state', '$http', '$rootScope', '$timeout', '$ionicHistory', '$ionicPlatform', '$translate', '$q', - function ($ionicPopup, zm, $scope, NVRDataModel, message, $ionicSideMenuDelegate, $ionicLoading, $ionicModal, $state, $http, $rootScope, $timeout, $ionicHistory, $ionicPlatform, $translate, $q) { + .controller('zmApp.MonitorCtrl', ['$ionicPopup', 'zm', '$scope', 'NVRDataModel', '$ionicSideMenuDelegate', '$ionicLoading', '$ionicModal', '$state', '$http', '$rootScope', '$timeout', '$ionicHistory', '$ionicPlatform', '$translate', '$q', + function ($ionicPopup, zm, $scope, NVRDataModel, $ionicSideMenuDelegate, $ionicLoading, $ionicModal, $state, $http, $rootScope, $timeout, $ionicHistory, $ionicPlatform, $translate, $q) { var loginData; + $scope.monitorLoadStatus = "..."; // -------------------------------------------------------- // Handling of back button in case modal is open should @@ -269,24 +270,15 @@ angular.module('zmApp.controllers') $scope.$on('$ionicView.afterEnter', function () { // console.log("**VIEW ** Monitor Ctrl Entered"); + + NVRDataModel.debug ("Monitor Control afterEnter"); $scope.monitors = []; - $scope.monitors = message; + $scope.monitorLoadStatus = $translate.instant ('kPleaseWait')+'...'; + //console.log (">>>>>>>>>>>> MONITOR CTRL " + JSON.stringify($scope.monitors)); - if ($scope.monitors.length == 0) { - $rootScope.zmPopup = $ionicPopup.alert({ - title: $translate.instant('kNoMonitors'), - template: $translate.instant('kPleaseCheckCredentials') - }); - $ionicHistory.nextViewOptions({ - disableBack: true - }); - $state.go("app.login", { - "wizard": false - }); - return; - } + loginData = NVRDataModel.getLogin(); monitorStateCheck(); @@ -416,6 +408,11 @@ angular.module('zmApp.controllers') .then (function (data) { $scope.monitors = data; + + if (!$scope.monitors.length) { + $scope.monitorLoadStatus = $translate.instant ('kNoMonitors'); + } + if (!$scope.monitors[0].Monitor_Status ) { NVRDataModel.debug ("no Monitor_Status found reverting to daemonCheck..."); forceDaemonCheck(); @@ -428,6 +425,7 @@ angular.module('zmApp.controllers') }, function (err) { NVRDataModel.debug ("Monitor fetch error, reverting to daemonCheck..."); + $scope.monitorLoadStatus = $translate.instant ('kNoMonitors'); forceDaemonCheck(); }); -- cgit v1.2.3 From e5c31879213c3038abcf7fe1d84fef28dd5bf6ba Mon Sep 17 00:00:00 2001 From: Pliable Pixels Date: Wed, 7 Nov 2018 11:46:00 -0500 Subject: process push in monitors after we load the array --- www/js/MonitorCtrl.js | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) (limited to 'www/js/MonitorCtrl.js') diff --git a/www/js/MonitorCtrl.js b/www/js/MonitorCtrl.js index 7fc2cec2..7241db53 100644 --- a/www/js/MonitorCtrl.js +++ b/www/js/MonitorCtrl.js @@ -293,15 +293,21 @@ angular.module('zmApp.controllers') var tm = $rootScope.tappedMid; $rootScope.tappedMid = 0; var monitem; - for (var m = 0; m < $scope.monitors.length; m++) { - if ($scope.monitors[m].Monitor.Id == tm) { - monitem = $scope.monitors[m]; - break; - } - } + NVRDataModel.getMonitors(0) + .then ( function (data) { + $scope.monitors = data; + for (var m = 0; m < $scope.monitors.length; m++) { + if ($scope.monitors[m].Monitor.Id == tm) { + monitem = $scope.monitors[m]; + break; + } + } + openModal(monitem.Monitor.Id, monitem.Monitor.Controllable, monitem.Monitor.ControlId, monitem.Monitor.connKey, monitem); + }); + - openModal(monitem.Monitor.Id, monitem.Monitor.Controllable, monitem.Monitor.ControlId, monitem.Monitor.connKey, monitem); + } }); -- cgit v1.2.3