diff options
| author | Pliable Pixels <pliablepixels@gmail.com> | 2018-12-28 07:47:05 -0500 |
|---|---|---|
| committer | Pliable Pixels <pliablepixels@gmail.com> | 2018-12-28 07:47:05 -0500 |
| commit | c07d973c02d9fba7f7ee744a96f4a684426243b0 (patch) | |
| tree | e16ac6f15a742def2109df7762f8f7bdeb2603f5 /www | |
| parent | d7c871c203618ead83871cb321373241fae33c97 (diff) | |
rename DataModel to NVR - more logical
Diffstat (limited to 'www')
29 files changed, 1710 insertions, 1711 deletions
diff --git a/www/index.html b/www/index.html index 97db02aa..f3ee7f19 100644 --- a/www/index.html +++ b/www/index.html @@ -108,7 +108,7 @@ <!-- app related JS --> <script src="js/app.js"></script> <script src="js/controllers.js"></script> - <script src="js/DataModel.js"></script> + <script src="js/NVR.js"></script> <script src="js/LoginCtrl.js"></script> <script src="js/MonitorModalCtrl.js"></script> <script src="js/EventModalCtrl.js"></script> diff --git a/www/js/BookmarkCtrl.js b/www/js/BookmarkCtrl.js index b84041c7..57de1ccd 100644 --- a/www/js/BookmarkCtrl.js +++ b/www/js/BookmarkCtrl.js @@ -2,7 +2,7 @@ /* jslint browser: true*/ /* global cordova,StatusBar,angular,console, Masonry */ -angular.module('zmApp.controllers').controller('zmApp.BookmarkCtrl', ['$scope', '$rootScope', '$ionicModal', 'NVRDataModel', '$ionicSideMenuDelegate', '$ionicHistory', '$state', '$translate', '$q', '$templateRequest', '$sce', '$compile', function ($scope, $rootScope, $ionicModal, NVRDataModel, $ionicSideMenuDelegate, $ionicHistory, $state, $translate, $q, $templateRequest, $sce, $compile) { +angular.module('zmApp.controllers').controller('zmApp.BookmarkCtrl', ['$scope', '$rootScope', '$ionicModal', 'NVR', '$ionicSideMenuDelegate', '$ionicHistory', '$state', '$translate', '$q', '$templateRequest', '$sce', '$compile', function ($scope, $rootScope, $ionicModal, NVR, $ionicSideMenuDelegate, $ionicHistory, $state, $translate, $q, $templateRequest, $sce, $compile) { $scope.openMenu = function () { $ionicSideMenuDelegate.toggleLeft(); }; @@ -37,7 +37,7 @@ angular.module('zmApp.controllers').controller('zmApp.BookmarkCtrl', ['$scope', //------------------------------------------------------------------------ $scope.$on('$ionicView.beforeEnter', function () { //console.log("**VIEW ** Help Ctrl Entered"); - NVRDataModel.setAwake(false); + NVR.setAwake(false); $scope.bookmarks = []; diff --git a/www/js/DevOptionsCtrl.js b/www/js/DevOptionsCtrl.js index 1e194fab..57aceff4 100644 --- a/www/js/DevOptionsCtrl.js +++ b/www/js/DevOptionsCtrl.js @@ -2,7 +2,7 @@ /* jslint browser: true*/ /* global cordova,StatusBar,angular,console */ -angular.module('zmApp.controllers').controller('zmApp.DevOptionsCtrl', ['$scope', '$rootScope', '$ionicModal', 'zm', 'NVRDataModel', '$ionicSideMenuDelegate', '$ionicPopup', '$http', '$q', '$ionicLoading', '$ionicHistory', '$state', 'SecuredPopups', '$translate', function ($scope, $rootScope, $ionicModal, zm, NVRDataModel, $ionicSideMenuDelegate, $ionicPopup, $http, $q, $ionicLoading, $ionicHistory, $state, SecuredPopups, $translate) { +angular.module('zmApp.controllers').controller('zmApp.DevOptionsCtrl', ['$scope', '$rootScope', '$ionicModal', 'zm', 'NVR', '$ionicSideMenuDelegate', '$ionicPopup', '$http', '$q', '$ionicLoading', '$ionicHistory', '$state', 'SecuredPopups', '$translate', function ($scope, $rootScope, $ionicModal, zm, NVR, $ionicSideMenuDelegate, $ionicPopup, $http, $q, $ionicLoading, $ionicHistory, $state, SecuredPopups, $translate) { $scope.openMenu = function () { $ionicSideMenuDelegate.toggleLeft(); @@ -50,9 +50,9 @@ angular.module('zmApp.controllers').controller('zmApp.DevOptionsCtrl', ['$scope' $scope.$on('$ionicView.beforeEnter', function () { $scope.$on ( "process-push", function () { - NVRDataModel.debug (">> DevOptionsCtrl: push handler"); - var s = NVRDataModel.evaluateTappedNotification(); - NVRDataModel.debug("tapped Notification evaluation:"+ JSON.stringify(s)); + NVR.debug (">> DevOptionsCtrl: push handler"); + var s = NVR.evaluateTappedNotification(); + NVR.debug("tapped Notification evaluation:"+ JSON.stringify(s)); $ionicHistory.nextViewOptions({ disableAnimate:true, disableBack: true @@ -62,27 +62,27 @@ angular.module('zmApp.controllers').controller('zmApp.DevOptionsCtrl', ['$scope' //console.log("**VIEW ** DevOptions Ctrl Entered"); - $scope.loginData = NVRDataModel.getLogin(); + $scope.loginData = NVR.getLogin(); console.log("DEV LOGS=" + $scope.loginData.enableLogs); $scope.isMultiPort = false; - NVRDataModel.getZmsMultiPortSupport() + NVR.getZmsMultiPortSupport() .then(function (data) { $scope.isMultiPort = (data == 0) ? false : true; - NVRDataModel.debug("Multiport report:" + $scope.isMultiPort); + NVR.debug("Multiport report:" + $scope.isMultiPort); }); - NVRDataModel.setAwake(false); + NVR.setAwake(false); }); $scope.isTzSupported = function () { - return NVRDataModel.isTzSupported(); + return NVR.isTzSupported(); }; $scope.getTimeZoneNow = function () { - return NVRDataModel.getTimeZoneNow(); + return NVR.getTimeZoneNow(); }; $scope.checkMultiPortToggle = function () { @@ -94,7 +94,7 @@ angular.module('zmApp.controllers').controller('zmApp.DevOptionsCtrl', ['$scope' //------------------------------------------------------------------ function saveDevOptions() { - NVRDataModel.debug("SaveDevOptions: called"); + NVR.debug("SaveDevOptions: called"); if (parseInt($scope.loginData.cycleMonitorsInterval) < zm.minCycleTime) { $scope.loginData.cycleMonitorsInterval = zm.minCycleTime.toString(); @@ -104,7 +104,7 @@ angular.module('zmApp.controllers').controller('zmApp.DevOptionsCtrl', ['$scope' } if (parseInt($scope.loginData.refreshSec) <= 0) { - NVRDataModel.debug("SaveDevOptions: refresh sec was too low at " + + NVR.debug("SaveDevOptions: refresh sec was too low at " + $scope.loginData.refreshSec + " reset to 1"); $scope.loginData.refreshSec = 1; @@ -135,9 +135,9 @@ angular.module('zmApp.controllers').controller('zmApp.DevOptionsCtrl', ['$scope' } - NVRDataModel.debug("SaveDevOptions: Saving to disk"); - NVRDataModel.setLogin($scope.loginData); - NVRDataModel.getMonitors(1); + NVR.debug("SaveDevOptions: Saving to disk"); + NVR.setLogin($scope.loginData); + NVR.getMonitors(1); } diff --git a/www/js/EventCtrl.js b/www/js/EventCtrl.js index f66cf9d9..68037a7b 100644 --- a/www/js/EventCtrl.js +++ b/www/js/EventCtrl.js @@ -32,7 +32,7 @@ angular.module('zmApp.controllers') }) - .controller('zmApp.EventCtrl', ['$scope', '$rootScope', 'zm', 'NVRDataModel', 'message', '$ionicSideMenuDelegate', '$timeout', '$interval', '$ionicModal', '$ionicLoading', '$http', '$state', '$stateParams', '$ionicHistory', '$ionicScrollDelegate', '$ionicPlatform', '$ionicSlideBoxDelegate', '$ionicPosition', '$ionicPopover', '$ionicPopup', 'EventServer', '$sce', '$cordovaBadge', '$cordovaLocalNotification', '$q', 'carouselUtils', '$translate', '$cordovaFileTransfer', '$cordovaFile', '$ionicListDelegate', 'ionPullUpFooterState', 'SecuredPopups', function ($scope, $rootScope, zm, NVRDataModel, message, $ionicSideMenuDelegate, $timeout, $interval, $ionicModal, $ionicLoading, $http, $state, $stateParams, $ionicHistory, $ionicScrollDelegate, $ionicPlatform, $ionicSlideBoxDelegate, $ionicPosition, $ionicPopover, $ionicPopup, EventServer, $sce, $cordovaBadge, $cordovaLocalNotification, $q, carouselUtils, $translate, $cordovaFileTransfer, $cordovaFile, $ionicListDelegate, ionPullUpFooterState,SecuredPopups) { + .controller('zmApp.EventCtrl', ['$scope', '$rootScope', 'zm', 'NVR', 'message', '$ionicSideMenuDelegate', '$timeout', '$interval', '$ionicModal', '$ionicLoading', '$http', '$state', '$stateParams', '$ionicHistory', '$ionicScrollDelegate', '$ionicPlatform', '$ionicSlideBoxDelegate', '$ionicPosition', '$ionicPopover', '$ionicPopup', 'EventServer', '$sce', '$cordovaBadge', '$cordovaLocalNotification', '$q', 'carouselUtils', '$translate', '$cordovaFileTransfer', '$cordovaFile', '$ionicListDelegate', 'ionPullUpFooterState', 'SecuredPopups', function ($scope, $rootScope, zm, NVR, message, $ionicSideMenuDelegate, $timeout, $interval, $ionicModal, $ionicLoading, $http, $state, $stateParams, $ionicHistory, $ionicScrollDelegate, $ionicPlatform, $ionicSlideBoxDelegate, $ionicPosition, $ionicPopover, $ionicPopup, EventServer, $sce, $cordovaBadge, $cordovaLocalNotification, $q, carouselUtils, $translate, $cordovaFileTransfer, $cordovaFile, $ionicListDelegate, ionPullUpFooterState,SecuredPopups) { // events in last 5 minutes // TODO https://server/zm/api/events/consoleEvents/5%20minute.json @@ -76,13 +76,13 @@ angular.module('zmApp.controllers') //we come here is TZ is updated after the view loads var tzu = $scope.$on('tz-updated', function () { - $scope.tzAbbr = NVRDataModel.getTimeZoneNow(); - NVRDataModel.debug("Timezone API updated timezone to " + NVRDataModel.getTimeZoneNow()); + $scope.tzAbbr = NVR.getTimeZoneNow(); + NVR.debug("Timezone API updated timezone to " + NVR.getTimeZoneNow()); }); broadcastHandles.push(tzu); var lc = $scope.$on("language-changed", function () { - NVRDataModel.log(">>>>>>>>>>>>>>> language changed"); + NVR.log(">>>>>>>>>>>>>>> language changed"); doRefresh(); }); broadcastHandles.push(lc); @@ -93,7 +93,7 @@ angular.module('zmApp.controllers') // window.addEventListener("resize", recomputeThumbSize, false); $ionicListDelegate.canSwipeItems(true); - // NVRDataModel.debug("enabling options swipe"); + // NVR.debug("enabling options swipe"); // see if we come from monitors, if so, don't filter events if ($ionicHistory.backTitle() == 'Monitors') { @@ -102,10 +102,10 @@ angular.module('zmApp.controllers') showHiddenMonitors = false; } - if (NVRDataModel.getLogin().useLocalTimeZone) { + if (NVR.getLogin().useLocalTimeZone) { $scope.tzAbbr = moment().tz(moment.tz.guess()).zoneAbbr(); } else { - $scope.tzAbbr = moment().tz(NVRDataModel.getTimeZoneNow()).zoneAbbr(); + $scope.tzAbbr = moment().tz(NVR.getTimeZoneNow()).zoneAbbr(); } //console.log ("************** CLEARING EVENTS"); @@ -119,7 +119,7 @@ angular.module('zmApp.controllers') // now do event playback if asked if (parseInt($rootScope.tappedEid) > 0 && $stateParams.playEvent == 'true') { - NVRDataModel.debug(" Trying to play event due to push:" + $rootScope.tappedEid); + NVR.debug(" Trying to play event due to push:" + $rootScope.tappedEid); playSpecificEvent($rootScope.tappedEid); } @@ -130,7 +130,7 @@ angular.module('zmApp.controllers') function playSpecificEvent(eid) { - NVRDataModel.log("Stuffing EID to play back " + eid); + NVR.log("Stuffing EID to play back " + eid); $rootScope.tappedEid = 0; var event = { Event: { @@ -147,9 +147,9 @@ angular.module('zmApp.controllers') $scope.$on('$ionicView.beforeLeave', function () { - NVRDataModel.debug("EventCtrl: Deregistering resize listener"); + NVR.debug("EventCtrl: Deregistering resize listener"); window.removeEventListener("resize", recomputeThumbSize, false); - //NVRDataModel.debug("EventCtrl: Deregistering broadcast handles"); + //NVR.debug("EventCtrl: Deregistering broadcast handles"); for (var i = 0; i < broadcastHandles.length; i++) { // broadcastHandles[i](); } @@ -164,9 +164,9 @@ angular.module('zmApp.controllers') $scope.mid = ''; $scope.$on ( "process-push", function () { - NVRDataModel.debug (">> EventCtrl: push handler"); - var s = NVRDataModel.evaluateTappedNotification(); - NVRDataModel.debug("tapped Notification evaluation:"+ JSON.stringify(s)); + NVR.debug (">> EventCtrl: push handler"); + var s = NVR.evaluateTappedNotification(); + NVR.debug("tapped Notification evaluation:"+ JSON.stringify(s)); $scope.mid = $rootScope.tappedMid; $ionicHistory.nextViewOptions({ disableAnimate:true, @@ -189,11 +189,11 @@ angular.module('zmApp.controllers') if (isNaN($scope.id)) $scope.id = 0; $scope.showEvent = $stateParams.playEvent || false; - $scope.monitors = NVRDataModel.getMonitorsNow(); + $scope.monitors = NVR.getMonitorsNow(); //console.log("BEFORE ENTER >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"); - NVRDataModel.log("EventCtrl called with: E/MID=" + $scope.id + " playEvent = " + $scope.showEvent); + NVR.log("EventCtrl called with: E/MID=" + $scope.id + " playEvent = " + $scope.showEvent); @@ -209,14 +209,14 @@ angular.module('zmApp.controllers') eventsListScrubHeight = parseInt(zm.eventsListScrubHeight * $rootScope.textScaleFactor); - if (NVRDataModel.getLogin().enableThumbs) { - // NVRDataModel.debug("--> thumbnail means increasing row size"); + if (NVR.getLogin().enableThumbs) { + // NVR.debug("--> thumbnail means increasing row size"); eventsListScrubHeight = 370; eventsListDetailsHeight = 330; } - NVRDataModel.debug(">>>height of list/scrub set to " + eventsListDetailsHeight + " and " + eventsListScrubHeight); + NVR.debug(">>>height of list/scrub set to " + eventsListDetailsHeight + " and " + eventsListScrubHeight); pageLoaded = false; enableLoadMore = true; @@ -246,12 +246,12 @@ angular.module('zmApp.controllers') scrollbynumber = 0; $scope.eventsBeingLoaded = true; $scope.FrameArray = []; // will hold frame info from detailed Events API - loginData = NVRDataModel.getLogin(); - NVRDataModel.getKeyConfigParams(0) + loginData = NVR.getLogin(); + NVR.getKeyConfigParams(0) .then(function (data) { //console.log ("***GETKEY: " + JSON.stringify(data)); eventImageDigits = parseInt(data); - NVRDataModel.log("Image padding digits reported as " + eventImageDigits); + NVR.log("Image padding digits reported as " + eventImageDigits); }); $scope.showSearch = false; @@ -266,14 +266,14 @@ angular.module('zmApp.controllers') }; $scope.myfilter = ""; - $scope.loginData = NVRDataModel.getLogin(); + $scope.loginData = NVR.getLogin(); $scope.playbackURL = $scope.loginData.url; }); function getEventObject(eid) { - var apiurl = NVRDataModel.getLogin().apiurl + '/events/' + eid + '.json'; + var apiurl = NVR.getLogin().apiurl + '/events/' + eid + '.json'; $http.get(apiurl) .then(function (data) {}, @@ -283,7 +283,7 @@ angular.module('zmApp.controllers') function getTextZoomCallback(tz) { $rootScope.textScaleFactor = parseFloat(tz + "%") / 100.0; - NVRDataModel.debug("text zoom factor is " + $rootScope.textScaleFactor); + NVR.debug("text zoom factor is " + $rootScope.textScaleFactor); } // -------------------------------------------------------- @@ -295,11 +295,11 @@ angular.module('zmApp.controllers') e.preventDefault(); if ($scope.modal != undefined && $scope.modal.isShown()) { // switch off awake, as liveview is finished - NVRDataModel.debug("Modal is open, closing it"); - NVRDataModel.setAwake(false); + NVR.debug("Modal is open, closing it"); + NVR.setAwake(false); $scope.modal.remove(); } else { - NVRDataModel.debug("Modal is closed, so toggling or exiting"); + NVR.debug("Modal is closed, so toggling or exiting"); if (!$ionicSideMenuDelegate.isOpenLeft()) { $ionicSideMenuDelegate.toggleLeft(); @@ -315,7 +315,7 @@ angular.module('zmApp.controllers') // monitor the slider for carousels //-------------------------------------- function setupWatchers() { - NVRDataModel.debug("Setting up carousel watchers"); + NVR.debug("Setting up carousel watchers"); ionRangeWatcher = $scope.$watch('ionRange.index', function () { // console.log ("Watching index"); @@ -352,13 +352,13 @@ angular.module('zmApp.controllers') // -------------------------------------------------------- function getInitialEvents() { - NVRDataModel.debug("getInitialEvents called"); - var lData = NVRDataModel.getLogin(); + NVR.debug("getInitialEvents called"); + var lData = NVR.getLogin(); // If you came from Monitors, disregard hidden monitors in montage /* if (lData.persistMontageOrder && stackState != "Monitors") { var tempMon = message; - $scope.monitors = NVRDataModel.applyMontageMonitorPrefs(tempMon, 2)[0]; + $scope.monitors = NVR.applyMontageMonitorPrefs(tempMon, 2)[0]; } else*/ $scope.monitors = message; currEventsPage = 1; @@ -386,7 +386,7 @@ angular.module('zmApp.controllers') // First get total pages and then // start from the latest. If this fails, nothing displays - NVRDataModel.debug("EventCtrl: grabbing # of event pages"); + NVR.debug("EventCtrl: grabbing # of event pages"); nolangFrom = ""; nolangTo = ""; if ($rootScope.fromString) @@ -394,10 +394,10 @@ angular.module('zmApp.controllers') if ($rootScope.toString) nolangTo = moment($rootScope.toString).locale('en').format("YYYY-MM-DD HH:mm:ss"); - //NVRDataModel.debug ("GETTING EVENTS USING "+$scope.id+" "+nolangFrom+" "+ nolangTo); + //NVR.debug ("GETTING EVENTS USING "+$scope.id+" "+nolangFrom+" "+ nolangTo); - NVRDataModel.debug("EventCtrl: grabbing events for: id=" + $scope.id + " Date/Time:" + $rootScope.fromString + + NVR.debug("EventCtrl: grabbing events for: id=" + $scope.id + " Date/Time:" + $rootScope.fromString + "-" + $rootScope.toString); nolangFrom = ""; nolangTo = ""; @@ -406,7 +406,7 @@ angular.module('zmApp.controllers') if ($rootScope.toString) nolangTo = moment($rootScope.toString).locale('en').format("YYYY-MM-DD HH:mm:ss"); - NVRDataModel.getEvents($scope.id, currEventsPage, "", nolangFrom, nolangTo) + NVR.getEvents($scope.id, currEventsPage, "", nolangFrom, nolangTo) .then(function (data) { pageLoaded = true; @@ -416,13 +416,13 @@ angular.module('zmApp.controllers') if (data.pagination && data.pagination.pageCount) maxEventsPage = data.pagination.pageCount; - NVRDataModel.debug("We have a total of " + maxEventsPage + " and are at page=" + currEventsPage); + NVR.debug("We have a total of " + maxEventsPage + " and are at page=" + currEventsPage); // console.log ("WE GOT EVENTS="+JSON.stringify(data)); var myevents = data.events; - NVRDataModel.debug("EventCtrl: success, got " + myevents.length + " events"); - var loginData = NVRDataModel.getLogin(); + NVR.debug("EventCtrl: success, got " + myevents.length + " events"); + var loginData = NVR.getLogin(); //console.log ("-------->MON LEN"+$scope.monitors.length); @@ -432,7 +432,7 @@ angular.module('zmApp.controllers') if (loginData.persistMontageOrder) { idfound = false; for (var ii = 0; ii < $scope.monitors.length; ii++) { - if ($scope.monitors[ii].Monitor.Id == myevents[i].Event.MonitorId && (NVRDataModel.isNotHidden(myevents[i].Event.MonitorId) || showHiddenMonitors)) { + if ($scope.monitors[ii].Monitor.Id == myevents[i].Event.MonitorId && (NVR.isNotHidden(myevents[i].Event.MonitorId) || showHiddenMonitors)) { // console.log ("FOUND IT"); idfound = true; @@ -444,15 +444,15 @@ angular.module('zmApp.controllers') //console.log ("IDFOUND="+idfound + " AND MON LEN="+$scope.monitors.length); myevents[i].Event.humanizeTime = humanizeTime(myevents[i].Event.StartTime); - myevents[i].Event.streamingURL = NVRDataModel.getStreamingURL(myevents[i].Event.MonitorId); - myevents[i].Event.recordingURL = NVRDataModel.getRecordingURL(myevents[i].Event.MonitorId); - myevents[i].Event.imageMode = NVRDataModel.getImageMode(myevents[i].Event.MonitorId); + myevents[i].Event.streamingURL = NVR.getStreamingURL(myevents[i].Event.MonitorId); + myevents[i].Event.recordingURL = NVR.getRecordingURL(myevents[i].Event.MonitorId); + myevents[i].Event.imageMode = NVR.getImageMode(myevents[i].Event.MonitorId); //console.log ("***** MULTISERVER STREAMING URL FOR EVENTS " + myevents[i].Event.streamingURL); // console.log ("***** MULTISERVER BASE URL FOR EVENTS " + myevents[i].Event.recordingURL); - myevents[i].Event.MonitorName = NVRDataModel.getMonitorName(myevents[i].Event.MonitorId); + myevents[i].Event.MonitorName = NVR.getMonitorName(myevents[i].Event.MonitorId); myevents[i].Event.ShowScrub = false; myevents[i].Event.height = eventsListDetailsHeight; // now construct base path @@ -460,7 +460,7 @@ angular.module('zmApp.controllers') // get thumbW/H - var tempMon = NVRDataModel.getMonitorObject(myevents[i].Event.MonitorId); + var tempMon = NVR.getMonitorObject(myevents[i].Event.MonitorId); if (tempMon != undefined) { var mw = parseInt(tempMon.Monitor.Width); @@ -476,7 +476,7 @@ angular.module('zmApp.controllers') // in multiserver BasePath is login url for frames // http://login.url/index.php?view=frame&eid=19696772&fid=21 - // console.log ("COMPARING "+NVRDataModel.getLogin().url+ " TO " +myevents[i].Event.recordingURL); + // console.log ("COMPARING "+NVR.getLogin().url+ " TO " +myevents[i].Event.recordingURL); @@ -485,11 +485,11 @@ angular.module('zmApp.controllers') // if (idfound) if (idfound) { - //NVRDataModel.debug ("PUSHING "+JSON.stringify(myevents[i])); + //NVR.debug ("PUSHING "+JSON.stringify(myevents[i])); $scope.events.push(myevents[i]); //console.log ("SCOPE EVENTS LEN="+$scope.events.length); } else { - //NVRDataModel.debug ("Skipping Event MID = " + myevents[i].Event.MonitorId); + //NVR.debug ("Skipping Event MID = " + myevents[i].Event.MonitorId); } } //for @@ -504,7 +504,7 @@ angular.module('zmApp.controllers') //console.log("**Loading Next Page ***"); if (myevents.length < 50) { //console.log ("EVENTS LOADED="+JSON.stringify($scope.events)); - NVRDataModel.debug("EventCtrl:loading one more page just in case we don't have enough to display"); + NVR.debug("EventCtrl:loading one more page just in case we don't have enough to display"); loadMore(); } }); @@ -521,7 +521,7 @@ angular.module('zmApp.controllers') noBackdrop: true, duration: 1000 }); - NVRDataModel.debug("ModalCtrl:Photo saved successfuly"); + NVR.debug("ModalCtrl:Photo saved successfuly"); } function SaveError(e) { @@ -530,7 +530,7 @@ angular.module('zmApp.controllers') noBackdrop: true, duration: 2000 }); - NVRDataModel.log("Error saving image: " + e.message); + NVR.log("Error saving image: " + e.message); //console.log("***ERROR"); } @@ -539,7 +539,7 @@ angular.module('zmApp.controllers') var fname = "zmninja.jpg"; var fn = "cordova.plugins.photoLibrary.saveImage"; - var loginData = NVRDataModel.getLogin(); + var loginData = NVR.getLogin(); $ionicLoading.show({ @@ -548,12 +548,12 @@ angular.module('zmApp.controllers') duration: zm.httpTimeout }); var url = imgsrc; - NVRDataModel.log("saveNow: File path to grab is " + url); + NVR.log("saveNow: File path to grab is " + url); if ($rootScope.platformOS != 'desktop') { var album = 'zmNinja'; - NVRDataModel.debug("Trying to save image to album: " + album); + NVR.debug("Trying to save image to album: " + album); cordova.plugins.photoLibrary.requestAuthorization( function () { //url = "https://picsum.photos/200/300/?random"; @@ -580,8 +580,8 @@ angular.module('zmApp.controllers') fileTransfer.download(urle, cordova.file.dataDirectory + fname, function (entry) { - NVRDataModel.debug("local download complete: " + entry.toURL()); - NVRDataModel.debug("Now trying to move it to album"); + NVR.debug("local download complete: " + entry.toURL()); + NVR.debug("Now trying to move it to album"); var pluginName = (fname == "zmNinja.mp4" ? "saveVideo" : "saveImage"); @@ -591,17 +591,17 @@ angular.module('zmApp.controllers') $cordovaFile.removeFile(cordova.file.dataDirectory, fname) .then( function () { - NVRDataModel.debug("file removed from data directory"); + NVR.debug("file removed from data directory"); }, function (e) { - NVRDataModel.debug("could not delete temp file: " + JSON.stringify(e)); + NVR.debug("could not delete temp file: " + JSON.stringify(e)); } ); }, function (err) { - NVRDataModel.debug("Saving error:" + JSON.stringify(err)); + NVR.debug("Saving error:" + JSON.stringify(err)); SaveError(); }); @@ -611,7 +611,7 @@ angular.module('zmApp.controllers') }, function (err) { - NVRDataModel.log("error downloading:" + JSON.stringify(err)); + NVR.log("error downloading:" + JSON.stringify(err)); SaveError(); }, !loginData.enableStrictSSL, {}); @@ -622,7 +622,7 @@ angular.module('zmApp.controllers') }, function (err) { // User denied the access - NVRDataModel.debug("Permission not granted"); + NVR.debug("Permission not granted"); SaveError(); }, // if options not provided, defaults to {read: true}. @@ -658,11 +658,11 @@ angular.module('zmApp.controllers') function writeFile2(path, file, blob, isAppend) { var csize = 4 * 1024 * 1024; // 4MB var d = $q.defer(); - NVRDataModel.debug("Inside writeFile2 with blob size=" + blob.size); + NVR.debug("Inside writeFile2 with blob size=" + blob.size); // nothing more to write, so all good? if (!blob.size) { - NVRDataModel.debug("writeFile2 all done"); + NVR.debug("writeFile2 all done"); d.resolve(true); return $q.resolve(true); } @@ -729,13 +729,13 @@ angular.module('zmApp.controllers') //var blob = new Blob([__data], {type:'text/plain'}); fileWriter.write(__data); fileWriter.onwrite = function (e) { - NVRDataModel.debug("write complete"); + NVR.debug("write complete"); d.resolve(); return d.promise; }; fileWriter.onerror = function (e) { - NVRDataModel.debug("write error in filewriter:" + JSON.stringify(e)); + NVR.debug("write error in filewriter:" + JSON.stringify(e)); d.reject(); return d.promise; }; @@ -756,13 +756,13 @@ angular.module('zmApp.controllers') function moveImageToGallery(fname) { // this is https://github.com/terikon/cordova-plugin-photo-library - NVRDataModel.debug("moveImageToGallery called with " + fname); + NVR.debug("moveImageToGallery called with " + fname); cordova.plugins.photoLibrary.saveImage(fname, "zmNinja", onSuccess, onError); //LibraryHelper.saveImageToLibrary(onSuccess, onError, fname, "zmNinja"); function onSuccess(results) { - NVRDataModel.debug("Removing temp file"); + NVR.debug("Removing temp file"); if ($rootScope.platformOS == 'ios') { $cordovaFile.removeFile(cordova.file.documentsDirectory, "temp-file.gif"); @@ -793,7 +793,7 @@ angular.module('zmApp.controllers') $scope.downloadFileToDevice = function (path, eid) { - NVRDataModel.setAwake(true); + NVR.setAwake(true); var tp; if ($rootScope.platformOS == 'ios') tp = cordova.file.documentsDirectory + "temp-video.mp4"; @@ -808,15 +808,15 @@ angular.module('zmApp.controllers') opt.headers = { "Authorization": $rootScope.basicAuthHeader }; - NVRDataModel.debug("download with auth options is:" + JSON.stringify(opt)); + NVR.debug("download with auth options is:" + JSON.stringify(opt)); } //path = "http://techslides.com/demos/sample-videos/small.mp4"; - NVRDataModel.debug("Saving temporary video to: " + tp); + NVR.debug("Saving temporary video to: " + tp); $cordovaFileTransfer.download(path, tp, opt, th) .then(function (result) { - NVRDataModel.debug("Moving to gallery..."); + NVR.debug("Moving to gallery..."); var ntp; ntp = tp.indexOf('file://') === 0 ? tp.slice(7) : tp; @@ -824,11 +824,11 @@ angular.module('zmApp.controllers') $ionicLoading.hide(); }); moveToGallery(ntp, eid + "-video"); - NVRDataModel.setAwake(false); + NVR.setAwake(false); // Success! }, function (err) { - NVRDataModel.setAwake(false); - NVRDataModel.log("Error=" + JSON.stringify(err)); + NVR.setAwake(false); + NVR.log("Error=" + JSON.stringify(err)); $timeout(function () { $ionicLoading.show({ @@ -852,12 +852,12 @@ angular.module('zmApp.controllers') function moveToGallery(path, fname) { - NVRDataModel.debug("moveToGallery called with " + path); + NVR.debug("moveToGallery called with " + path); LibraryHelper.saveVideoToLibrary(onSuccess, onError, path, fname); function onSuccess(results) { $ionicLoading.hide(); - NVRDataModel.debug("Removing temp file"); + NVR.debug("Removing temp file"); if ($rootScope.platformOS == 'ios') $cordovaFile.removeFile(cordova.file.documentsDirectory, "temp-video.mp4"); @@ -899,7 +899,7 @@ angular.module('zmApp.controllers') // note ndx may be incorrect if we are looking // at unique frames; - // NVRDataModel.debug("Hello"); + // NVR.debug("Hello"); if ($scope.typeOfFrames == $translate.instant('kShowTimeDiffFrames')) { var ic; @@ -909,10 +909,10 @@ angular.module('zmApp.controllers') break; } - NVRDataModel.debug("Readjusting selected frame ID from:" + $scope.ndx + " to actual frame ID of:" + ic); + NVR.debug("Readjusting selected frame ID from:" + $scope.ndx + " to actual frame ID of:" + ic); $scope.ndx = ic; } else { - NVRDataModel.debug("No index adjustment necessary as we are using all frames"); + NVR.debug("No index adjustment necessary as we are using all frames"); } @@ -929,8 +929,8 @@ angular.module('zmApp.controllers') } - $scope.imgsrc += NVRDataModel.insertBasicAuthToken(); - $scope.fallbackImgSrc += NVRDataModel.insertBasicAuthToken(); + $scope.imgsrc += NVR.insertBasicAuthToken(); + $scope.fallbackImgSrc += NVR.insertBasicAuthToken(); @@ -1057,15 +1057,15 @@ angular.module('zmApp.controllers') // This is what the pullup bar calls depending on what range is specified //-------------------------------------------------------------------------- $scope.showEvents = function (val, unit, monitorId) { - NVRDataModel.debug("ShowEvents called with val:" + val + " unit:" + unit + " for Monitor:" + monitorId); + NVR.debug("ShowEvents called with val:" + val + " unit:" + unit + " for Monitor:" + monitorId); $ionicHistory.nextViewOptions({ disableBack: true }); // we have to convert from and to, to server time - var mToDate = moment().tz(NVRDataModel.getTimeZoneNow()); - var mFromDate = moment().subtract(parseInt(val), unit).tz(NVRDataModel.getTimeZoneNow()); + var mToDate = moment().tz(NVR.getTimeZoneNow()); + var mFromDate = moment().subtract(parseInt(val), unit).tz(NVR.getTimeZoneNow()); // console.log("Moment Dates:" + mFromDate.format() + " TO " + mToDate.format()); @@ -1074,8 +1074,8 @@ angular.module('zmApp.controllers') $rootScope.fromDate = $rootScope.fromTime; $rootScope.toDate = $rootScope.toTime; - NVRDataModel.debug("From: " + $rootScope.fromTime); - NVRDataModel.debug("To: " + $rootScope.toTime); + NVR.debug("From: " + $rootScope.fromTime); + NVR.debug("To: " + $rootScope.toTime); //$rootScope.fromDate = fromDate.toDate(); //$rootScope.toDate = toDate.toDate(); @@ -1203,7 +1203,7 @@ angular.module('zmApp.controllers') // next up make sure we are not processing more than 100 images while (imglist.length > zm.maxGifCount2) { - NVRDataModel.debug("Too many images: " + imglist.length + ", deleting alternate frames to keep it <=" + zm.maxGifCount2); + NVR.debug("Too many images: " + imglist.length + ", deleting alternate frames to keep it <=" + zm.maxGifCount2); for (var l = 0; l < imglist.length; l++) { imglist.splice(l + 1, 2); @@ -1211,7 +1211,7 @@ angular.module('zmApp.controllers') } } - NVRDataModel.debug("final image list length is:" + imglist.length); + NVR.debug("final image list length is:" + imglist.length); d.resolve(imglist); return d.promise; @@ -1255,7 +1255,7 @@ angular.module('zmApp.controllers') gifAlert(e); }, function (err) { - NVRDataModel.log("ERROR with saving permissions " + err); + NVR.log("ERROR with saving permissions " + err); // User denied the access }, // if options not provided, defaults to {read: true}. { @@ -1283,7 +1283,7 @@ angular.module('zmApp.controllers') if (res) { downloadAsGif2(e); } else - NVRDataModel.debug("User cancelled GIF"); + NVR.debug("User cancelled GIF"); }); } else { @@ -1298,7 +1298,7 @@ angular.module('zmApp.controllers') // convert to base64 - devices need this to save to gallery function blobToBase64(blob) { - NVRDataModel.debug("converting blob to base64..."); + NVR.debug("converting blob to base64..."); var d = $q.defer(); var reader = new window.FileReader(); reader.readAsDataURL(blob); @@ -1425,7 +1425,7 @@ angular.module('zmApp.controllers') noBackdrop: true, duration: 20000 }); - NVRDataModel.setAwake(true); + NVR.setAwake(true); prepareImages(e) .then(function (files) { @@ -1478,11 +1478,11 @@ angular.module('zmApp.controllers') }); //var bloburl = URL.createObjectURL(blob); - //NVRDataModel.debug ("blob-url is:"+bloburl); + //NVR.debug ("blob-url is:"+bloburl); writeFile2(tp, "temp-file.gif", blob, false) .then(function (succ) { - NVRDataModel.debug("write to file successful"); + NVR.debug("write to file successful"); // console.log( "write file successful"); $ionicLoading.hide(); @@ -1498,7 +1498,7 @@ angular.module('zmApp.controllers') }, function (err) { $rootScope.isDownloading = false; $ionicLoading.hide(); - NVRDataModel.debug("error writing to file " + JSON.stringify(err)); + NVR.debug("error writing to file " + JSON.stringify(err)); }); @@ -1510,8 +1510,8 @@ angular.module('zmApp.controllers') }, function (err) { $ionicLoading.hide(); - NVRDataModel.setAwake(false); - NVRDataModel.log("Error getting frames"); + NVR.setAwake(false); + NVR.log("Error getting frames"); $rootScope.isDownloading = false; } @@ -1535,7 +1535,7 @@ angular.module('zmApp.controllers') var ad = adjustAspect(e); //console.log("SAVING W=" + ad.w + " H=" + ad.h); - NVRDataModel.setAwake(true); + NVR.setAwake(true); gifshot.createGIF({ 'gifWidth': ad.w, @@ -1555,7 +1555,7 @@ angular.module('zmApp.controllers') }); } }, function (obj) { - NVRDataModel.setAwake(false); + NVR.setAwake(false); if (!obj.error) { //console.log(obj.image); @@ -1565,34 +1565,34 @@ angular.module('zmApp.controllers') obj.image = obj.image.replace(/data:image\/gif;base64,/, ''); blob = base64toBlob(obj.image, "image/gif"); - var f = NVRDataModel.getMonitorName(e.Event.MonitorId); + var f = NVR.getMonitorName(e.Event.MonitorId); f = f + "-" + e.Event.Id + ".gif"; saveAs(blob, f); $ionicLoading.hide(); } else { - NVRDataModel.debug("Saving blob to gallery..."); + NVR.debug("Saving blob to gallery..."); var album = "zmNinja"; cordova.plugins.photoLibrary.saveImage(obj.image, album, function () { $ionicLoading.hide(); - NVRDataModel.debug("Event saved"); + NVR.debug("Event saved"); }, function (err) { $ionicLoading.hide(); - NVRDataModel.debug("Saving ERROR=" + err); + NVR.debug("Saving ERROR=" + err); }); } } else { $ionicLoading.hide(); - NVRDataModel.log("Error creating GIF"); + NVR.log("Error creating GIF"); } }); }, function (err) { $ionicLoading.hide(); - NVRDataModel.log("Error getting frames"); + NVR.log("Error getting frames"); } ); @@ -1603,12 +1603,12 @@ angular.module('zmApp.controllers') // $ionicListDelegate.closeOptionButtons(); - NVRDataModel.debug("Archiving request for EID=" + eid); - var loginData = NVRDataModel.getLogin(); + NVR.debug("Archiving request for EID=" + eid); + var loginData = NVR.getLogin(); var apiArchive = loginData.apiurl + "/events/" + eid + ".json"; var setArchiveBit = ($scope.events[ndx].Event.Archived == '0') ? "1" : "0"; - NVRDataModel.debug("Calling archive with:" + apiArchive + " and Archive=" + setArchiveBit); + NVR.debug("Calling archive with:" + apiArchive + " and Archive=" + setArchiveBit); //put(url, data, [config]); // $http.put(apiArchive,"Event[Archived]="+setArchiveBit) @@ -1633,7 +1633,7 @@ angular.module('zmApp.controllers') encodeURIComponent(obj[p])); var foo = str.join("&"); // console.log("****RETURNING " + foo); - NVRDataModel.debug("MonitorCtrl: parmeters constructed: " + foo); + NVR.debug("MonitorCtrl: parmeters constructed: " + foo); return foo; }, url: apiArchive, @@ -1644,7 +1644,7 @@ angular.module('zmApp.controllers') }) .then(function (success) { - NVRDataModel.log("archiving response: " + JSON.stringify(success)); + NVR.log("archiving response: " + JSON.stringify(success)); if (success.data.message == 'Error') { $ionicLoading.show({ template: "{{'kError' | translate}}...", @@ -1670,7 +1670,7 @@ angular.module('zmApp.controllers') }, function (error) { - NVRDataModel.log("Error archiving: " + JSON.stringify(error)); + NVR.log("Error archiving: " + JSON.stringify(error)); }); @@ -1691,10 +1691,10 @@ angular.module('zmApp.controllers') function deleteEvent(id, itemid) { //$scope.eventList.showDelete = false; //curl -XDELETE http://server/zm/api/events/1.json - var loginData = NVRDataModel.getLogin(); + var loginData = NVR.getLogin(); var apiDelete = loginData.apiurl + "/events/" + id + ".json"; - NVRDataModel.debug("DeleteEvent: ID=" + id + " item=" + itemid); - NVRDataModel.log("Delete event " + apiDelete); + NVR.debug("DeleteEvent: ID=" + id + " item=" + itemid); + NVR.log("Delete event " + apiDelete); $ionicLoading.show({ template: "{{'kDeletingEvent' | translate}}...", @@ -1708,7 +1708,7 @@ angular.module('zmApp.controllers') .then(function (data) { data = data.data; $ionicLoading.hide(); - NVRDataModel.debug("delete output: " + JSON.stringify(data)); + NVR.debug("delete output: " + JSON.stringify(data)); if (data.message == 'Error') { $ionicLoading.show({ @@ -1729,7 +1729,7 @@ angular.module('zmApp.controllers') } - // NVRDataModel.displayBanner('info', [$translate.instant('kDeleteEventSuccess')], 2000, 2000); + // NVR.displayBanner('info', [$translate.instant('kDeleteEventSuccess')], 2000, 2000); @@ -1739,8 +1739,8 @@ angular.module('zmApp.controllers') }, function (data) { $ionicLoading.hide(); - NVRDataModel.debug("delete error: " + JSON.stringify(data)); - NVRDataModel.displayBanner('error', [$translate.instant('kDeleteEventError1'), $translate.instant('kDeleteEventError2')]); + NVR.debug("delete error: " + JSON.stringify(data)); + NVR.displayBanner('error', [$translate.instant('kDeleteEventError1'), $translate.instant('kDeleteEventError2')]); }); } @@ -1750,8 +1750,8 @@ angular.module('zmApp.controllers') $scope.filterTapped = function () { //console.log("FILTER TAPPED"); - var myFrom = moment($rootScope.fromString).format("MMM/DD/YYYY " + NVRDataModel.getTimeFormat()).toString(); - var toString = moment($rootScope.toString).format("MMM/DD/YYYY " + NVRDataModel.getTimeFormat()).toString(); + var myFrom = moment($rootScope.fromString).format("MMM/DD/YYYY " + NVR.getTimeFormat()).toString(); + var toString = moment($rootScope.toString).format("MMM/DD/YYYY " + NVR.getTimeFormat()).toString(); $rootScope.zmPopup = $ionicPopup.confirm({ title: $translate.instant('kFilterSettings'), @@ -1761,7 +1761,7 @@ angular.module('zmApp.controllers') }); $rootScope.zmPopup.then(function (res) { if (res) { - NVRDataModel.log("Filter reset requested in popup"); + NVR.log("Filter reset requested in popup"); $rootScope.isEventFilterOn = false; $rootScope.fromDate = ""; $rootScope.fromTime = ""; @@ -1789,7 +1789,7 @@ angular.module('zmApp.controllers') return; } else { - NVRDataModel.log("Filter reset cancelled in popup"); + NVR.log("Filter reset cancelled in popup"); } }); @@ -1821,7 +1821,7 @@ angular.module('zmApp.controllers') function footerExpand() { //https://server/zm/api/events/consoleEvents/5%20minute.json - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); var af = "/AlarmFrames >=:" + (ld.enableAlarmCount ? ld.minAlarmCount : 0); @@ -1832,12 +1832,12 @@ angular.module('zmApp.controllers') var apiurl = ld.apiurl + "/events/consoleEvents/1 hour" + af + ".json"; - //NVRDataModel.debug("consoleEvents API:" + apiurl); + //NVR.debug("consoleEvents API:" + apiurl); $http.get(apiurl) .then(function (data) { data = data.data; - // NVRDataModel.debug(JSON.stringify(data)); + // NVR.debug(JSON.stringify(data)); $scope.hours = []; var p = data.results; for (var key in data.results) { @@ -1849,17 +1849,17 @@ angular.module('zmApp.controllers') if (ld.persistMontageOrder) { idfound = false; for (var ii = 0; ii < $scope.monitors.length; ii++) { - if ($scope.monitors[ii].Monitor.Id == key && (NVRDataModel.isNotHidden(key) || showHiddenMonitors)) { + if ($scope.monitors[ii].Monitor.Id == key && (NVR.isNotHidden(key) || showHiddenMonitors)) { // console.log ("Authorizing "+$scope.monitors[ii].Monitor.Name); idfound = true; break; } } } - //console.log(NVRDataModel.getMonitorName(key) + " -> " + p[key]); + //console.log(NVR.getMonitorName(key) + " -> " + p[key]); if (idfound) $scope.hours.push({ - monitor: NVRDataModel.getMonitorName(key), + monitor: NVR.getMonitorName(key), events: p[key], mid: key }); @@ -1869,11 +1869,11 @@ angular.module('zmApp.controllers') }); apiurl = ld.apiurl + "/events/consoleEvents/1 day" + af + ".json"; - //NVRDataModel.debug("consoleEvents API:" + apiurl); + //NVR.debug("consoleEvents API:" + apiurl); $http.get(apiurl) .then(function (data) { data = data.data; - //NVRDataModel.debug(JSON.stringify(data)); + //NVR.debug(JSON.stringify(data)); $scope.days = []; var p = data.results; for (var key in data.results) { @@ -1882,17 +1882,17 @@ angular.module('zmApp.controllers') if (ld.persistMontageOrder) { idfound = false; for (var ii = 0; ii < $scope.monitors.length; ii++) { - if ($scope.monitors[ii].Monitor.Id == key && (NVRDataModel.isNotHidden(key) || showHiddenMonitors)) { + if ($scope.monitors[ii].Monitor.Id == key && (NVR.isNotHidden(key) || showHiddenMonitors)) { idfound = true; break; } } } - //console.log(NVRDataModel.getMonitorName(key) + " -> " + p[key]); + //console.log(NVR.getMonitorName(key) + " -> " + p[key]); if (idfound) - //console.log(NVRDataModel.getMonitorName(key) + " -> " + p[key]); + //console.log(NVR.getMonitorName(key) + " -> " + p[key]); $scope.days.push({ - monitor: NVRDataModel.getMonitorName(key), + monitor: NVR.getMonitorName(key), events: p[key], mid: key }); @@ -1902,11 +1902,11 @@ angular.module('zmApp.controllers') }); apiurl = ld.apiurl + "/events/consoleEvents/1 week" + af + ".json"; - //NVRDataModel.debug("consoleEvents API:" + apiurl); + //NVR.debug("consoleEvents API:" + apiurl); $http.get(apiurl) .then(function (data) { data = data.data; - // NVRDataModel.debug(JSON.stringify(data)); + // NVR.debug(JSON.stringify(data)); $scope.weeks = []; var p = data.results; for (var key in data.results) { @@ -1916,17 +1916,17 @@ angular.module('zmApp.controllers') if (ld.persistMontageOrder) { idfound = false; for (var ii = 0; ii < $scope.monitors.length; ii++) { - if ($scope.monitors[ii].Monitor.Id == key && (NVRDataModel.isNotHidden(key) || showHiddenMonitors)) { + if ($scope.monitors[ii].Monitor.Id == key && (NVR.isNotHidden(key) || showHiddenMonitors)) { idfound = true; break; } } } - //console.log(NVRDataModel.getMonitorName(key) + " -> " + p[key]); + //console.log(NVR.getMonitorName(key) + " -> " + p[key]); if (idfound) - //console.log(NVRDataModel.getMonitorName(key) + " -> " + p[key]); + //console.log(NVR.getMonitorName(key) + " -> " + p[key]); $scope.weeks.push({ - monitor: NVRDataModel.getMonitorName(key), + monitor: NVR.getMonitorName(key), events: p[key], mid: key }); @@ -1936,32 +1936,32 @@ angular.module('zmApp.controllers') }); apiurl = ld.apiurl + "/events/consoleEvents/1 month" + af + ".json"; - //NVRDataModel.debug("consoleEvents API:" + apiurl); + //NVR.debug("consoleEvents API:" + apiurl); $http.get(apiurl) .then(function (data) { data = data.data; - //NVRDataModel.debug(JSON.stringify(data)); + //NVR.debug(JSON.stringify(data)); $scope.months = []; var p = data.results; for (var key in data.results) { if (p.hasOwnProperty(key)) { var idfound = true; - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); if (ld.persistMontageOrder) { idfound = false; for (var ii = 0; ii < $scope.monitors.length; ii++) { - if ($scope.monitors[ii].Monitor.Id == key && (NVRDataModel.isNotHidden(key) || showHiddenMonitors)) { + if ($scope.monitors[ii].Monitor.Id == key && (NVR.isNotHidden(key) || showHiddenMonitors)) { idfound = true; break; } } } - //console.log(NVRDataModel.getMonitorName(key) + " -> " + p[key]); + //console.log(NVR.getMonitorName(key) + " -> " + p[key]); if (idfound) - //console.log(NVRDataModel.getMonitorName(key) + " -> " + p[key]); + //console.log(NVR.getMonitorName(key) + " -> " + p[key]); $scope.months.push({ - monitor: NVRDataModel.getMonitorName(key), + monitor: NVR.getMonitorName(key), events: p[key], mid: key }); @@ -1994,9 +1994,9 @@ angular.module('zmApp.controllers') // called when user switches to background //------------------------------------------------------------------------- function onPause() { - NVRDataModel.debug("EventCtrl:onpause called"); + NVR.debug("EventCtrl:onpause called"); if ($scope.popover) $scope.popover.remove(); - NVRDataModel.debug("EventCtrl Pause:Deregistering broadcast handles"); + NVR.debug("EventCtrl Pause:Deregistering broadcast handles"); for (var i = 0; i < broadcastHandles.length; i++) { // broadcastHandles[i](); } @@ -2029,17 +2029,17 @@ angular.module('zmApp.controllers') // FIXME: Are we using this? //------------------------------------------------------------------------- $scope.disableSlide = function () { - NVRDataModel.debug("EventCtrl:DisableSlide called"); + NVR.debug("EventCtrl:DisableSlide called"); $ionicSlideBoxDelegate.$getByHandle("eventSlideBox").enableSlide(false); }; $scope.checkSwipe = function (ndx) { if ($scope.events[ndx].Event.ShowScrub) { $ionicListDelegate.canSwipeItems(false); - NVRDataModel.debug("disabling options swipe"); + NVR.debug("disabling options swipe"); } else { $ionicListDelegate.canSwipeItems(true); - //NVRDataModel.debug("enabling options swipe"); + //NVR.debug("enabling options swipe"); } }; @@ -2071,7 +2071,7 @@ angular.module('zmApp.controllers') if (oldEvent && event != oldEvent) { - NVRDataModel.debug("EventCtrl:Old event scrub will hide now"); + NVR.debug("EventCtrl:Old event scrub will hide now"); oldEvent.Event.ShowScrub = false; oldEvent.Event.height = eventsListDetailsHeight; oldEvent = ""; @@ -2081,11 +2081,11 @@ angular.module('zmApp.controllers') if (event.Event.ShowScrub == false) { $ionicListDelegate.canSwipeItems(true); - //NVRDataModel.debug("enabling options swipe due to toggle"); + //NVR.debug("enabling options swipe due to toggle"); } else { $ionicListDelegate.canSwipeItems(false); $ionicListDelegate.closeOptionButtons(); - // NVRDataModel.debug("disabling options swipe due to toggle"); + // NVR.debug("disabling options swipe due to toggle"); } @@ -2103,12 +2103,12 @@ angular.module('zmApp.controllers') if (groupType == 'alarms') { // $ionicListDelegate.canSwipeItems(false); - //NVRDataModel.debug ("Disabling flag swipe as alarms are swipable"); + //NVR.debug ("Disabling flag swipe as alarms are swipable"); $scope.alarm_images = []; event.Event.height = (eventsListDetailsHeight + eventsListScrubHeight); $ionicScrollDelegate.resize(); var myurl = loginData.apiurl + '/events/' + event.Event.Id + ".json"; - NVRDataModel.log("API for event details" + myurl); + NVR.log("API for event details" + myurl); $http.get(myurl) .then(function (data) { @@ -2158,15 +2158,15 @@ angular.module('zmApp.controllers') //console.log (JSON.stringify(data)); }, function (err) { - NVRDataModel.log("Error retrieving detailed frame API " + JSON.stringify(err)); - // NVRDataModel.displayBanner('error', ['could not retrieve frame details', 'please try again']); + NVR.log("Error retrieving detailed frame API " + JSON.stringify(err)); + // NVR.displayBanner('error', ['could not retrieve frame details', 'please try again']); }); } // end of groupType == alarms else // groupType == scrub { - NVRDataModel.debug("EventCtrl: Scrubbing will turn on now"); + NVR.debug("EventCtrl: Scrubbing will turn on now"); $scope.currentEvent = ""; $scope.event = event; //$ionicScrollDelegate.freezeScroll(true); @@ -2180,7 +2180,7 @@ angular.module('zmApp.controllers') callback: function (value, released) { //console.log("CALLBACK"+value+released); $ionicScrollDelegate.freezeScroll(!released); - //NVRDataModel.debug("EventCtrl: freezeScroll called with " + !released); + //NVR.debug("EventCtrl: freezeScroll called with " + !released); }, //modelLabels:function(val) {return "";}, @@ -2218,7 +2218,7 @@ angular.module('zmApp.controllers') var myurl_frames = loginData.apiurl + '/events/' + event.Event.Id + ".json"; - NVRDataModel.log("API for event details" + myurl_frames); + NVR.log("API for event details" + myurl_frames); $http.get(myurl_frames) .then(function (data) { data = data.data; @@ -2242,14 +2242,14 @@ angular.module('zmApp.controllers') //console.log (JSON.stringify(data)); }, function (err) { - NVRDataModel.log("Error retrieving detailed frame API " + JSON.stringify(err)); - NVRDataModel.displayBanner('error', [$translate.instant('kErrorFrameBanner'), $translate.instant('kErrorPleaseTryAgain')]); + NVR.log("Error retrieving detailed frame API " + JSON.stringify(err)); + NVR.displayBanner('error', [$translate.instant('kErrorFrameBanner'), $translate.instant('kErrorPleaseTryAgain')]); }); // now get event details to show alarm frames - loginData = NVRDataModel.getLogin(); + loginData = NVR.getLogin(); if (typeof event.Event.DefaultVideo === 'undefined') event.Event.DefaultVideo = ""; @@ -2260,7 +2260,7 @@ angular.module('zmApp.controllers') videoURL = event.Event.recordingURL + "/index.php?view=view_video&eid=" + event.Event.Id; if ($rootScope.authSession != 'undefined') videoURL += $rootScope.authSession; - videoURL += NVRDataModel.insertBasicAuthToken(); + videoURL += NVR.insertBasicAuthToken(); console.log("************** VIDEO IS " + videoURL); @@ -2278,7 +2278,7 @@ angular.module('zmApp.controllers') }; var myurl2 = loginData.apiurl + '/events/' + event.Event.Id + ".json"; - NVRDataModel.log("API for event details" + myurl2); + NVR.log("API for event details" + myurl2); $http.get(myurl2) .then(function (data) { data = data.data; @@ -2304,8 +2304,8 @@ angular.module('zmApp.controllers') //console.log (JSON.stringify(data)); }, function (err) { - NVRDataModel.log("Error retrieving detailed frame API " + JSON.stringify(err)); - NVRDataModel.displayBanner('error', [$translate.instant('kErrorFrameBanner'), $translate.instant('kErrorPleaseTryAgain')]); + NVR.log("Error retrieving detailed frame API " + JSON.stringify(err)); + NVR.displayBanner('error', [$translate.instant('kErrorFrameBanner'), $translate.instant('kErrorPleaseTryAgain')]); }); oldEvent = event; @@ -2333,7 +2333,7 @@ angular.module('zmApp.controllers') // $ionicScrollDelegate.freezeScroll(false); // // $ionicListDelegate.canSwipeItems(true); - // NVRDataModel.debug ("enabling options swipe"); + // NVR.debug ("enabling options swipe"); $ionicSideMenuDelegate.canDragContent(true); event.Event.height = eventsListDetailsHeight; @@ -2409,7 +2409,7 @@ angular.module('zmApp.controllers') //------------------------------------------------------------------------ $scope.$on('$ionicView.enter', function () { // console.log("**VIEW ** Events Ctrl Entered"); - NVRDataModel.setAwake(false); + NVR.setAwake(false); EventServer.sendMessage('push', { type: 'badge', @@ -2427,7 +2427,7 @@ angular.module('zmApp.controllers') $cordovaBadge.set(0).then(function () { // You have permission, badge set. }, function (err) { - NVRDataModel.debug("app does not have badge permissions. Please check your phone notification settings"); + NVR.debug("app does not have badge permissions. Please check your phone notification settings"); // You do not have permission. }); @@ -2518,7 +2518,7 @@ angular.module('zmApp.controllers') if (m.id != 'footage') return; - NVRDataModel.debug("Rebinding watchers of eventCtrl"); + NVR.debug("Rebinding watchers of eventCtrl"); setupWatchers(); //console.log ("************** FOOTAGE CLOSED"); @@ -2557,7 +2557,7 @@ angular.module('zmApp.controllers') $scope.modal.show(); - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); }); @@ -2584,10 +2584,10 @@ angular.module('zmApp.controllers') }; function openModal(event, snapshot) { - NVRDataModel.debug("unbinding eventCtrl watchers as modal has its own"); + NVR.debug("unbinding eventCtrl watchers as modal has its own"); ionRangeWatcher(); mycarouselWatcher(); - //NVRDataModel.debug("EventCtrl: Open Modal with Base path " + relativepath); + //NVR.debug("EventCtrl: Open Modal with Base path " + relativepath); $scope.modalData = { "doRefresh": false @@ -2595,12 +2595,12 @@ angular.module('zmApp.controllers') $scope.event = event; - NVRDataModel.setAwake(NVRDataModel.getKeepAwake()); + NVR.setAwake(NVR.getKeepAwake()); $scope.currentEvent = event; $scope.followSameMonitor = ($stateParams.id == "0") ? "0" : "1"; - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); var sl = 'disabled'; if (ld.showLiveForInProgressEvents) { sl = 'enabled'; @@ -2612,7 +2612,7 @@ angular.module('zmApp.controllers') id: 'footage', showLive: sl, // seems bool is not allowed... snapshot: snapshot, - snapshotId: NVRDataModel.getSnapshotFrame(), + snapshotId: NVR.getSnapshotFrame(), eventId: event.Event.Id }) .then(function (modal) { @@ -2620,7 +2620,7 @@ angular.module('zmApp.controllers') $scope.modal.show(); - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); }); } @@ -2630,14 +2630,14 @@ angular.module('zmApp.controllers') // it on open //-------------------------------------------------------- $scope.closeModal = function () { - NVRDataModel.debug(">>>EventCtrl:Close & Destroy Modal"); - NVRDataModel.setAwake(false); + NVR.debug(">>>EventCtrl:Close & Destroy Modal"); + NVR.setAwake(false); if ($scope.modal !== undefined) { $scope.modal.remove(); } if ($scope.modalData.doRefresh) { $scope.modalData.doRefresh = false; - NVRDataModel.debug("Reloading events since we deleted some..."); + NVR.debug("Reloading events since we deleted some..."); doRefresh(); } @@ -2695,7 +2695,7 @@ angular.module('zmApp.controllers') if ((currEventsPage >= maxEventsPage) && (pageLoaded)) { moreEvents = false; - NVRDataModel.debug("No more - We have a total of " + maxEventsPage + " and are at page=" + currEventsPage); + NVR.debug("No more - We have a total of " + maxEventsPage + " and are at page=" + currEventsPage); console.log("*** At Page " + currEventsPage + " of " + maxEventsPage + ", not proceeding"); $ionicLoading.hide(); @@ -2735,9 +2735,9 @@ angular.module('zmApp.controllers') if ($rootScope.toString) nolangTo = moment($rootScope.toString).locale('en').format("YYYY-MM-DD HH:mm:ss"); - NVRDataModel.getEvents($scope.id, currEventsPage, loadingStr, nolangFrom, nolangTo) + NVR.getEvents($scope.id, currEventsPage, loadingStr, nolangFrom, nolangTo) .then(function (data) { - var loginData = NVRDataModel.getLogin(); + var loginData = NVR.getLogin(); // console.log("Got new page of events with Page=" + eventsPage); var myevents = data.events; @@ -2745,12 +2745,12 @@ angular.module('zmApp.controllers') for (var i = 0; i < myevents.length; i++) { var idfound = true; - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); if (ld.persistMontageOrder) { idfound = false; for (var ii = 0; ii < $scope.monitors.length; ii++) { - if ($scope.monitors[ii].Monitor.Id == myevents[i].Event.MonitorId && (NVRDataModel.isNotHidden(myevents[i].Event.MonitorId) || showHiddenMonitors)) { + if ($scope.monitors[ii].Monitor.Id == myevents[i].Event.MonitorId && (NVR.isNotHidden(myevents[i].Event.MonitorId) || showHiddenMonitors)) { //console.log ( $scope.monitors[ii].Monitor.Id + " MATCHES " + myevents[i].Event.MonitorId); idfound = true; @@ -2761,12 +2761,12 @@ angular.module('zmApp.controllers') } myevents[i].Event.humanizeTime = humanizeTime(myevents[i].Event.StartTime); - myevents[i].Event.MonitorName = NVRDataModel.getMonitorName(myevents[i].Event.MonitorId); + myevents[i].Event.MonitorName = NVR.getMonitorName(myevents[i].Event.MonitorId); // now construct base path - myevents[i].Event.streamingURL = NVRDataModel.getStreamingURL(myevents[i].Event.MonitorId); - myevents[i].Event.recordingURL = NVRDataModel.getRecordingURL(myevents[i].Event.MonitorId); - myevents[i].Event.imageMode = NVRDataModel.getImageMode(myevents[i].Event.MonitorId); + myevents[i].Event.streamingURL = NVR.getStreamingURL(myevents[i].Event.MonitorId); + myevents[i].Event.recordingURL = NVR.getRecordingURL(myevents[i].Event.MonitorId); + myevents[i].Event.imageMode = NVR.getImageMode(myevents[i].Event.MonitorId); // console.log ("***** MULTISERVER STREAMING URL FOR EVENTS " + myevents[i].Event.streamingURL); // console.log ("***** MULTISERVER BASE URL FOR EVENTS " + myevents[i].Event.recordingURL); @@ -2776,7 +2776,7 @@ angular.module('zmApp.controllers') // get thumbW/H - var tempMon = NVRDataModel.getMonitorObject(myevents[i].Event.MonitorId); + var tempMon = NVR.getMonitorObject(myevents[i].Event.MonitorId); if (tempMon != undefined) { @@ -2821,12 +2821,12 @@ angular.module('zmApp.controllers') function recomputeThumbSize() { - // NVRDataModel.debug("EventCtrl: recompute thumbnails"); + // NVR.debug("EventCtrl: recompute thumbnails"); // remember, devHeight/devWidth upate 300ms after rotation $timeout ( function () { for (var i = 0; i < $scope.events.length; i++) { - var tempMon = NVRDataModel.getMonitorObject($scope.events[i].Event.MonitorId); + var tempMon = NVR.getMonitorObject($scope.events[i].Event.MonitorId); if (tempMon != undefined) { var mw = parseInt(tempMon.Monitor.Width); @@ -2902,12 +2902,12 @@ angular.module('zmApp.controllers') var stream = ""; stream = event.Event.recordingURL + "/index.php?view=image&fid=" + - NVRDataModel.getSnapshotFrame()+"&eid="+event.Event.Id + + NVR.getSnapshotFrame()+"&eid="+event.Event.Id + "&width=" + event.Event.thumbWidth * 2 + "&height=" + event.Event.thumbHeight * 2; if ($rootScope.authSession != 'undefined') stream += $rootScope.authSession; - stream += NVRDataModel.insertBasicAuthToken(); + stream += NVR.insertBasicAuthToken(); return stream; }; @@ -2921,7 +2921,7 @@ angular.module('zmApp.controllers') if ($rootScope.authSession != 'undefined') stream += $rootScope.authSession; - stream += NVRDataModel.insertBasicAuthToken(); + stream += NVR.insertBasicAuthToken(); return stream; @@ -2935,7 +2935,7 @@ angular.module('zmApp.controllers') "/index.php?view=image&fid=" + alarm.id; if (motion) stream += $scope.outlineMotionParam; if ($rootScope.authSession != 'undefined') stream += $rootScope.authSession; - stream += NVRDataModel.insertBasicAuthToken(); + stream += NVR.insertBasicAuthToken(); // console.log ("alarm:"+stream); return stream; @@ -2944,23 +2944,23 @@ angular.module('zmApp.controllers') $scope.toggleObjectDetectionFilter = function () { - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); ld.objectDetectionFilter = !ld.objectDetectionFilter; - NVRDataModel.setLogin(ld); - NVRDataModel.debug ("object detection filter: "+ld.objectDetectionFilter); - $scope.loginData = NVRDataModel.getLogin(); + NVR.setLogin(ld); + NVR.debug ("object detection filter: "+ld.objectDetectionFilter); + $scope.loginData = NVR.getLogin(); doRefresh(); }; $scope.toggleMinAlarmFrameCount = function () { - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); console.log("Toggling " + ld.enableAlarmCount); ld.enableAlarmCount = !ld.enableAlarmCount; - NVRDataModel.setLogin(ld); - $scope.loginData = NVRDataModel.getLogin(); + NVR.setLogin(ld); + $scope.loginData = NVR.getLogin(); doRefresh(); }; @@ -2970,8 +2970,8 @@ angular.module('zmApp.controllers') function humanizeTime(str) { //console.log ("Time:"+str+" TO LOCAL " + moment(str).local().toString()); - //if (NVRDataModel.getLogin().useLocalTimeZone) - return moment.tz(str, NVRDataModel.getTimeZoneNow()).fromNow(); + //if (NVR.getLogin().useLocalTimeZone) + return moment.tz(str, NVR.getTimeZoneNow()).fromNow(); // else // return moment(str).fromNow(); @@ -2989,38 +2989,38 @@ angular.module('zmApp.controllers') }; $scope.prettifyDate = function (str) { - if (NVRDataModel.getLogin().useLocalTimeZone) - return moment.tz(str, NVRDataModel.getTimeZoneNow()).tz(moment.tz.guess()).format('MMM Do'); + if (NVR.getLogin().useLocalTimeZone) + return moment.tz(str, NVR.getTimeZoneNow()).tz(moment.tz.guess()).format('MMM Do'); else return moment(str).format('MMM Do'); }; function prettifyDate(str) { - if (NVRDataModel.getLogin().useLocalTimeZone) - return moment.tz(str, NVRDataModel.getTimeZoneNow()).tz(moment.tz.guess()).format('MMM Do'); + if (NVR.getLogin().useLocalTimeZone) + return moment.tz(str, NVR.getTimeZoneNow()).tz(moment.tz.guess()).format('MMM Do'); else return moment(str).format('MMM Do'); } $scope.prettifyTime = function (str) { - if (NVRDataModel.getLogin().useLocalTimeZone) - return moment.tz(str, NVRDataModel.getTimeZoneNow()).tz(moment.tz.guess()).format(NVRDataModel.getTimeFormat()); + if (NVR.getLogin().useLocalTimeZone) + return moment.tz(str, NVR.getTimeZoneNow()).tz(moment.tz.guess()).format(NVR.getTimeFormat()); else - return moment(str).format(NVRDataModel.getTimeFormat()); + return moment(str).format(NVR.getTimeFormat()); }; $scope.prettifyTimeSec = function (str) { - if (NVRDataModel.getLogin().useLocalTimeZone) - return moment.tz(str, NVRDataModel.getTimeZoneNow()).tz(moment.tz.guess()).format(NVRDataModel.getTimeFormatSec()); + if (NVR.getLogin().useLocalTimeZone) + return moment.tz(str, NVR.getTimeZoneNow()).tz(moment.tz.guess()).format(NVR.getTimeFormatSec()); else - return moment(str).format(NVRDataModel.getTimeFormatSec()); + return moment(str).format(NVR.getTimeFormatSec()); }; $scope.prettify = function (str) { - if (NVRDataModel.getLogin().useLocalTimeZone) - return moment.tz(str, NVRDataModel.getTimeZoneNow()).tz(moment.tz.guess()).format(NVRDataModel.getTimeFormat() + ', MMMM Do YYYY'); + if (NVR.getLogin().useLocalTimeZone) + return moment.tz(str, NVR.getTimeZoneNow()).tz(moment.tz.guess()).format(NVR.getTimeFormat() + ', MMMM Do YYYY'); else - return moment(str).format(NVRDataModel.getTimeFormat() + ', MMMM Do YYYY'); + return moment(str).format(NVR.getTimeFormat() + ', MMMM Do YYYY'); }; //-------------------------------------------------------- // For consistency we are keeping the refresher list @@ -3043,17 +3043,17 @@ angular.module('zmApp.controllers') - NVRDataModel.debug("Reloading monitors"); + NVR.debug("Reloading monitors"); maxEventsPage = 1; currEventsPage = 1; - var refresh = NVRDataModel.getMonitors(1); + var refresh = NVR.getMonitors(1); refresh.then(function (data) { $scope.monitors = data; - /* var ld = NVRDataModel.getLogin(); + /* var ld = NVR.getLogin(); if (ld.persistMontageOrder) { var tempMon = data; - $scope.monitors = NVRDataModel.applyMontageMonitorPrefs(tempMon, 2)[0]; + $scope.monitors = NVR.applyMontageMonitorPrefs(tempMon, 2)[0]; } else { $scope.monitors = data; }*/ diff --git a/www/js/EventDateTimeFilterCtrl.js b/www/js/EventDateTimeFilterCtrl.js index 41de68a5..a7e1763d 100644 --- a/www/js/EventDateTimeFilterCtrl.js +++ b/www/js/EventDateTimeFilterCtrl.js @@ -3,7 +3,7 @@ /* global cordova,StatusBar,angular,console,moment */ angular.module('zmApp.controllers') - .controller('zmApp.EventDateTimeFilterCtrl', ['$scope', '$ionicSlideBoxDelegate', '$ionicSideMenuDelegate', '$rootScope', '$ionicHistory', 'NVRDataModel', '$state', function ($scope, $ionicScrollDelegate, $ionicSideMenuDelegate, $rootScope, $ionicHistory, NVRDataModel, $state) { + .controller('zmApp.EventDateTimeFilterCtrl', ['$scope', '$ionicSlideBoxDelegate', '$ionicSideMenuDelegate', '$rootScope', '$ionicHistory', 'NVR', '$state', function ($scope, $ionicScrollDelegate, $ionicSideMenuDelegate, $rootScope, $ionicHistory, NVR, $state) { //---------------------------------------------------------------- // Alarm notification handling @@ -74,30 +74,30 @@ angular.module('zmApp.controllers') if (!$rootScope.fromDate) { //console.log("RESET fromDate"); $rootScope.fromDate = new Date(); - NVRDataModel.debug("DateTimeFilter: resetting from date"); + NVR.debug("DateTimeFilter: resetting from date"); } if (!$rootScope.toDate) { // console.log("RESET toDate"); $rootScope.toDate = new Date(); - NVRDataModel.debug("DateTimeFilter: resetting to date"); + NVR.debug("DateTimeFilter: resetting to date"); } if (!$rootScope.fromTime) { // console.log("RESET fromTime"); $rootScope.fromTime = new Date(99, 5, 24, 0, 0, 0, 0); //moment().format("hh:mm:ss"); - NVRDataModel.debug("DateTimeFilter: resetting from time"); + NVR.debug("DateTimeFilter: resetting from time"); } if (!$rootScope.toTime) { //console.log("RESET toTime"); $rootScope.toTime = new Date(99, 5, 24, 23, 59, 59, 0); //$rootScope.toTime = "01:01:02"; //moment().format("hh:mm:ss"); - NVRDataModel.debug("DateTimeFilter: resetting to time"); + NVR.debug("DateTimeFilter: resetting to time"); } if ($rootScope.fromDate > $rootScope.toDate) { - NVRDataModel.log("From date > To Date, swapping"); + NVR.log("From date > To Date, swapping"); var t = $rootScope.fromDate; $rootScope.fromDate = $rootScope.toDate; $rootScope.toDate = t; @@ -111,7 +111,7 @@ angular.module('zmApp.controllers') //console.log("CONCAT DATES " + temp); // // var startDate = moment(temp).format("YYYY-MM-DD hh:mm:ss"); - NVRDataModel.debug("DateTimeFilter: From/To is now: " + $rootScope.fromString + " & " + $rootScope.toString); + NVR.debug("DateTimeFilter: From/To is now: " + $rootScope.fromString + " & " + $rootScope.toString); $ionicHistory.goBack(); }; diff --git a/www/js/EventModalCtrl.js b/www/js/EventModalCtrl.js index ce39e827..97e3aee0 100644 --- a/www/js/EventModalCtrl.js +++ b/www/js/EventModalCtrl.js @@ -3,7 +3,7 @@ /* jslint browser: true*/ /* global saveAs, cordova,StatusBar,angular,console,ionic, moment, Chart */ -angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$rootScope', 'zm', 'NVRDataModel', '$ionicSideMenuDelegate', '$timeout', '$interval', '$ionicModal', '$ionicLoading', '$http', '$state', '$stateParams', '$ionicHistory', '$ionicScrollDelegate', '$q', '$sce', 'carouselUtils', '$ionicPopup', '$translate', '$filter', 'SecuredPopups', '$cordovaFile', function ($scope, $rootScope, zm, NVRDataModel, $ionicSideMenuDelegate, $timeout, $interval, $ionicModal, $ionicLoading, $http, $state, $stateParams, $ionicHistory, $ionicScrollDelegate, $q, $sce, carouselUtils, $ionicPopup, $translate, $filter, SecuredPopups, $cordovaFile) { +angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$rootScope', 'zm', 'NVR', '$ionicSideMenuDelegate', '$timeout', '$interval', '$ionicModal', '$ionicLoading', '$http', '$state', '$stateParams', '$ionicHistory', '$ionicScrollDelegate', '$q', '$sce', 'carouselUtils', '$ionicPopup', '$translate', '$filter', 'SecuredPopups', '$cordovaFile', function ($scope, $rootScope, zm, NVR, $ionicSideMenuDelegate, $timeout, $interval, $ionicModal, $ionicLoading, $http, $state, $stateParams, $ionicHistory, $ionicScrollDelegate, $q, $sce, carouselUtils, $ionicPopup, $translate, $filter, SecuredPopups, $cordovaFile) { var playerReady = false; @@ -16,7 +16,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro var currentEvent = $scope.currentEvent; var nphTimer; var eventQueryHandle; - $scope.loginData = NVRDataModel.getLogin(); + $scope.loginData = NVR.getLogin(); $scope.currentRate = '-'; var timeFormat = 'MM/DD/YYYY HH:mm:ss'; var event; @@ -52,11 +52,11 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro $scope.sliderProgress = { progress: 0 }; - NVRDataModel.getKeyConfigParams(0) + NVR.getKeyConfigParams(0) .then(function (data) { //console.log ("***GETKEY: " + JSON.stringify(data)); eventImageDigits = parseInt(data); - //NVRDataModel.log("Image padding digits reported as " + eventImageDigits); + //NVR.log("Image padding digits reported as " + eventImageDigits); }); $scope.animationInProgress = false; @@ -76,15 +76,15 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro document.addEventListener("resume", onResume, false); - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); $scope.currentStreamMode = ld.gapless ? 'gapless' : 'single'; - NVRDataModel.log("Using stream mode " + $scope.currentStreamMode); + NVR.log("Using stream mode " + $scope.currentStreamMode); - NVRDataModel.debug("EventModalCtrl called from " + $ionicHistory.currentStateName()); + NVR.debug("EventModalCtrl called from " + $ionicHistory.currentStateName()); // This is not needed for event mode - NVRDataModel.debug("Setting playback to " + $scope.streamMode); + NVR.debug("Setting playback to " + $scope.streamMode); if ($rootScope.platformOS == 'desktop') { window.addEventListener('keydown', keyboardHandler, true); @@ -127,7 +127,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro if ($scope.isSnapShot() && !$scope.liveFeedMid) { $scope.convertSnapShotToStream(); } else { - NVRDataModel.debug("Not in snapshot mode, ignoring"); + NVR.debug("Not in snapshot mode, ignoring"); } } @@ -146,18 +146,18 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro 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); + NVR.debug("Got network change:" + data); var ds; if (data == 'lowbw') { ds = $translate.instant('kLowBWDisplay'); } else { ds = $translate.instant('kHighBWDisplay'); } - NVRDataModel.displayBanner('net', [ds]); + NVR.displayBanner('net', [ds]); - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); - $scope.singleImageQuality = (NVRDataModel.getBandwidth() == "lowbw") ? zm.eventSingleImageQualityLowBW : ld.singleImageQuality; + $scope.singleImageQuality = (NVR.getBandwidth() == "lowbw") ? zm.eventSingleImageQualityLowBW : ld.singleImageQuality; }); broadcastHandles.push(bc); @@ -167,8 +167,8 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro var as = $scope.$on("auth-success", function () { - NVRDataModel.debug("EventModalCtrl: Re-login detected, resetting everything & re-generating connkey"); - // NVRDataModel.stopNetwork("Auth-Success inside EventModalCtrl"); + NVR.debug("EventModalCtrl: Re-login detected, resetting everything & re-generating connkey"); + // NVR.stopNetwork("Auth-Success inside EventModalCtrl"); $scope.connKey = (Math.floor((Math.random() * 999999) + 1)).toString(); //console.log ("********* OFFSET FROM AUTH SUCC"); $timeout(function () { @@ -188,7 +188,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro $scope.togglePause = function () { $scope.isPaused = !$scope.isPaused; - NVRDataModel.debug("Paused is " + $scope.isPaused); + NVR.debug("Paused is " + $scope.isPaused); sendCommand($scope.isPaused ? '1' : '2', $scope.connKey); }; @@ -198,7 +198,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro // we need this timeout to avoid load interrupting // play -- I suppose its an angular digest foo thing //console.log ("*********** ON PLAY READY"); - NVRDataModel.debug("On Play Ready invoked"); + NVR.debug("On Play Ready invoked"); handle = api; handle.mediaElement.attr("playsinline", ""); @@ -206,12 +206,12 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro template: "<ion-spinner icon='ripple' class='spinner-energized'></ion-spinner><br/>" + $translate.instant('kVideoLoading') + "...", }); - NVRDataModel.debug("Player is ready"); + NVR.debug("Player is ready"); $timeout(function () { handle.pause(); - handle.setPlayback(NVRDataModel.getLogin().videoPlaybackSpeed); + handle.setPlayback(NVR.getLogin().videoPlaybackSpeed); handle.play(); - NVRDataModel.debug("*** Invoking play"); + NVR.debug("*** Invoking play"); playerReady = true; }, 300); @@ -221,21 +221,21 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro $scope.onPlaybackUpdate = function (rate) { // console.log ("UPDATED RATE TO "+rate); - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); ld.videoPlaybackSpeed = rate; - NVRDataModel.setLogin(ld); + NVR.setLogin(ld); }; $scope.onCanPlay = function () { //console.log ("*********** CAN PLAY"); $ionicLoading.hide(); - NVRDataModel.debug("This video can be played"); + NVR.debug("This video can be played"); $scope.videoObject.config.cuepoints.points = []; // now set up cue points - NVRDataModel.debug("Setting cue points.."); - NVRDataModel.debug("API-Total length:" + currentEvent.Event.Length); - NVRDataModel.debug("Player-Total length:" + handle.totalTime / 1000); + NVR.debug("Setting cue points.."); + NVR.debug("API-Total length:" + currentEvent.Event.Length); + NVR.debug("Player-Total length:" + handle.totalTime / 1000); for (var l = 0; l < currentEvent.Frame.length; l++) { if (currentEvent.Frame[l].Type == 'Alarm') { @@ -246,7 +246,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro //console.log("START="+currentEvent.Event.StartTime); //console.log("END="+currentEvent.Frame[l].TimeStamp); - //NVRDataModel.debug ("alarm cue at:"+s+"s"); + //NVR.debug ("alarm cue at:"+s+"s"); $scope.videoObject.config.cuepoints.points.push({ time: s }); @@ -258,7 +258,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro $ionicLoading.hide(); if (!$scope.isModalActive || !playerReady) return; - NVRDataModel.debug("player reported a video error:" + JSON.stringify(event)); + NVR.debug("player reported a video error:" + JSON.stringify(event)); $rootScope.zmPopup = SecuredPopups.show('alert', { title: $translate.instant('kError'), template: $translate.instant('kVideoError'), @@ -279,7 +279,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro if (currentStreamState == streamState.SNAPSHOT) return; if ($scope.modalFromTimelineIsOpen == false) { - NVRDataModel.log("Modal was closed in timeline, cancelling timer"); + NVR.log("Modal was closed in timeline, cancelling timer"); $interval.cancel(eventQueryHandle); return; } @@ -310,7 +310,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro return (d.promise); } - var loginData = NVRDataModel.getLogin(); + var loginData = NVR.getLogin(); //console.log("Sending CGI command to " + loginData.url); var rqtoken = rq ? rq : "stream"; var myauthtoken = $rootScope.authSession.replace("&auth=", ""); @@ -349,13 +349,13 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro } }) .then(function (resp) { - // NVRDataModel.debug("sendCmd response:" + JSON.stringify(resp)); + // NVR.debug("sendCmd response:" + JSON.stringify(resp)); d.resolve(resp); return (d.promise); }, function (resp) { - NVRDataModel.debug("sendCmd error:" + JSON.stringify(resp)); + NVR.debug("sendCmd error:" + JSON.stringify(resp)); d.reject(resp); return (d.promise); }); @@ -370,7 +370,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro return; } - var loginData = NVRDataModel.getLogin(); + var loginData = NVR.getLogin(); //console.log("sending process Event command to " + loginData.url); var myauthtoken = $rootScope.authSession.replace("&auth=", ""); //&auth= @@ -403,7 +403,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro } }) .then(function (resp) { - //NVRDataModel.debug ("processEvent success:"+JSON.stringify(resp)); + //NVR.debug ("processEvent success:"+JSON.stringify(resp)); resp = resp.data; if (resp.result == "Ok") { @@ -428,7 +428,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro } else // resp.result was messed up { - NVRDataModel.debug("Hmm I found an error " + JSON.stringify(resp)); + NVR.debug("Hmm I found an error " + JSON.stringify(resp)); //window.stop(); // $scope.connKey = (Math.floor((Math.random() * 999999) + 1)).toString(); @@ -437,12 +437,12 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro { sendCommand('14', $scope.connKey, '&offset=' + $scope.currentProgress.progress); }, 500); - NVRDataModel.debug("so I'm regenerating Connkey to " + $scope.connKey);*/ + NVR.debug("so I'm regenerating Connkey to " + $scope.connKey);*/ } }, function (resp) { - NVRDataModel.debug("processEvent error:" + JSON.stringify(resp)); + NVR.debug("processEvent error:" + JSON.stringify(resp)); //eventQueryHandle = $timeout (function(){checkEvent();}, zm.eventPlaybackQuery); }); @@ -462,13 +462,13 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro $scope.modal.remove(); } $interval.cancel(eventQueryHandle); - NVRDataModel.log("EventModalCtrl: paused"); + NVR.log("EventModalCtrl: paused"); if ($scope.connKey) sendCommand(17, $scope.connKey); } function onResume() { - /* NVRDataModel.debug("EventModalCtrl: Modal resume called"); + /* NVR.debug("EventModalCtrl: Modal resume called"); $rootScope.modalRand = Math.floor((Math.random() * 100000) + 1);*/ } @@ -507,7 +507,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro noBackdrop: true, duration: 2000 }); - NVRDataModel.debug("ModalCtrl:Photo saved successfuly"); + NVR.debug("ModalCtrl:Photo saved successfuly"); } function SaveError(e) { @@ -516,7 +516,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro noBackdrop: true, duration: 3000 }); - //NVRDataModel.log("Error saving image: " + e.message); + //NVR.log("Error saving image: " + e.message); //console.log("***ERROR"); } @@ -532,7 +532,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro return; } - NVRDataModel.debug("EventModalCtrl: Permission checking for write"); + NVR.debug("EventModalCtrl: Permission checking for write"); var permissions = cordova.plugins.permissions; permissions.hasPermission(permissions.WRITE_EXTERNAL_STORAGE, checkPermissionCallback, null); @@ -566,7 +566,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro } // if we are on android do the 6.x+ hasPermissions flow - NVRDataModel.debug("EventModalCtrl: Permission checking for write"); + NVR.debug("EventModalCtrl: Permission checking for write"); var permissions = cordova.plugins.permissions; permissions.hasPermission(permissions.WRITE_EXTERNAL_STORAGE, checkPermissionCallback, null); @@ -594,14 +594,14 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro $scope.selectEventUrl = $scope.constructStream(); - NVRDataModel.debug("just saving current snapshot:" + $scope.selectEventUrl); + NVR.debug("just saving current snapshot:" + $scope.selectEventUrl); saveNow("image"); return; } if ($scope.loginData.useNphZmsForEvents) { - NVRDataModel.log("Use ZMS stream to save to phone"); + NVR.log("Use ZMS stream to save to phone"); saveEventImageToPhoneZms(onlyAlarms); @@ -637,7 +637,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro $scope.slides = []; var apiurl = $scope.loginData.apiurl + "/events/" + $scope.eventId + ".json"; - NVRDataModel.debug("prepared to get frame details using " + apiurl); + NVR.debug("prepared to get frame details using " + apiurl); $http.get(apiurl) .then(function (success) { @@ -721,7 +721,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro }, function (err) { $ionicLoading.hide(); - NVRDataModel.log("snapshot API Error: Could not get frames " + JSON.stringify(err)); + NVR.log("snapshot API Error: Could not get frames " + JSON.stringify(err)); $ionicLoading.show({ template: $translate.instant('kErrorRetrievingFrames'), @@ -732,7 +732,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro }, function (err) { - NVRDataModel.debug("Error pausing stream before snapshot " + JSON.stringify(err)); + NVR.debug("Error pausing stream before snapshot " + JSON.stringify(err)); $ionicLoading.hide(); } @@ -753,9 +753,9 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro - NVRDataModel.debug("ModalCtrl: SaveEventImageToPhone called"); + NVR.debug("ModalCtrl: SaveEventImageToPhone called"); var canvas, context, imageDataUrl, imageData; - var loginData = NVRDataModel.getLogin(); + var loginData = NVR.getLogin(); // for alarms only if (onlyAlarms || ($scope.defaultVideo !== undefined && $scope.defaultVideo != '')) @@ -813,7 +813,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro } - //NVRDataModel.log("selected frame is " + $scope.slideIndex); + //NVR.log("selected frame is " + $scope.slideIndex); //console.log("URL TO DISPLAY " + $scope.slides[$scope.slideIndex].img); @@ -839,7 +839,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro } - //NVRDataModel.log("selected frame is " + $scope.slideIndex); + //NVR.log("selected frame is " + $scope.slideIndex); //console.log("URL TO DISPLAY " + $scope.slides[$scope.slideIndex].img); e.preventDefault(); } @@ -865,7 +865,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro $scope.selectEventUrl += "&basicauth=" + $rootScope.basicAuthToken; } - //NVRDataModel.log("selected frame is " + $scope.slideIndex); + //NVR.log("selected frame is " + $scope.slideIndex); e.preventDefault(); } @@ -892,7 +892,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro $scope.selectEventUrl += "&basicauth=" + $rootScope.basicAuthToken; } - //NVRDataModel.log("selected frame is " + $scope.slideIndex); + //NVR.log("selected frame is " + $scope.slideIndex); e.preventDefault(); } }, @@ -920,7 +920,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro var fname = "zmninja.jpg"; var fn = "cordova.plugins.photoLibrary.saveImage"; - var loginData = NVRDataModel.getLogin(); + var loginData = NVR.getLogin(); $ionicLoading.show({ template: $translate.instant('kPleaseWait') + "...", @@ -936,16 +936,16 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro } - NVRDataModel.debug("-->Going to try and download " + $scope.selectEventUrl); + NVR.debug("-->Going to try and download " + $scope.selectEventUrl); var url = $scope.selectEventUrl; - NVRDataModel.log(">>saveNow: File path to grab is " + url); + NVR.log(">>saveNow: File path to grab is " + url); if ($rootScope.platformOS != 'desktop') { var album = 'zmNinja'; - NVRDataModel.debug("Trying to save image to album: " + album); + NVR.debug("Trying to save image to album: " + album); cordova.plugins.photoLibrary.requestAuthorization( function () { //url = "https://picsum.photos/200/300/?random"; @@ -972,8 +972,8 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro fileTransfer.download(urle, cordova.file.dataDirectory + fname, function (entry) { - NVRDataModel.debug("local download complete: " + entry.toURL()); - NVRDataModel.debug("Now trying to move it to album"); + NVR.debug("local download complete: " + entry.toURL()); + NVR.debug("Now trying to move it to album"); var pluginName = (fname == "zmNinja.mp4" ? "saveVideo" : "saveImage"); @@ -983,17 +983,17 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro $cordovaFile.removeFile(cordova.file.dataDirectory, fname) .then( function () { - NVRDataModel.debug("file removed from data directory"); + NVR.debug("file removed from data directory"); }, function (e) { - NVRDataModel.debug("could not delete temp file: " + JSON.stringify(e)); + NVR.debug("could not delete temp file: " + JSON.stringify(e)); } ); }, function (err) { - NVRDataModel.debug("Saving error:" + JSON.stringify(err)); + NVR.debug("Saving error:" + JSON.stringify(err)); SaveError(); }); @@ -1003,7 +1003,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro }, function (err) { - NVRDataModel.log("error downloading:" + JSON.stringify(err)); + NVR.log("error downloading:" + JSON.stringify(err)); SaveError(); }, !loginData.enableStrictSSL, {}); @@ -1014,7 +1014,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro }, function (err) { // User denied the access - NVRDataModel.debug("Permission not granted"); + NVR.debug("Permission not granted"); SaveError(); }, // if options not provided, defaults to {read: true}. @@ -1043,7 +1043,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro } $scope.reloadView = function () { - NVRDataModel.log("Reloading view for modal view, recomputing rand"); + NVR.log("Reloading view for modal view, recomputing rand"); $rootScope.modalRand = Math.floor((Math.random() * 100000) + 1); $scope.isModalActive = true; }; @@ -1134,7 +1134,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro currentStreamState = streamState.SNAPSHOT; if (m.snapshotId) { - $scope.snapshotFrameId = NVRDataModel.getSnapshotFrame(); + $scope.snapshotFrameId = NVR.getSnapshotFrame(); // isGlobalFid = false; } else { $scope.snapshotFrameId = 1; @@ -1149,18 +1149,18 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro if (m.showLive == 'disabled') { showLive = false; - NVRDataModel.debug("I was explictly asked not to show live, cross my fingers..."); + NVR.debug("I was explictly asked not to show live, cross my fingers..."); } else { - NVRDataModel.debug("If recording is in progress, live feed will be shown"); + NVR.debug("If recording is in progress, live feed will be shown"); } $scope.isToggleListMenu = true; $scope.videoDynamicTime = ""; $scope.videoIsReady = false; - var ld = NVRDataModel.getLogin(); - $scope.loginData = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); + $scope.loginData = NVR.getLogin(); - $scope.singleImageQuality = (NVRDataModel.getBandwidth() == "lowbw") ? zm.eventSingleImageQualityLowBW : ld.singleImageQuality; + $scope.singleImageQuality = (NVR.getBandwidth() == "lowbw") ? zm.eventSingleImageQualityLowBW : ld.singleImageQuality; $scope.blockSlider = false; $scope.checkEventOn = false; @@ -1169,7 +1169,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro //console.log("Current Event " + JSON.stringify(currentEvent)); $scope.connKey = (Math.floor((Math.random() * 999999) + 1)).toString(); - NVRDataModel.debug("Generated Connkey:" + $scope.connKey); + NVR.debug("Generated Connkey:" + $scope.connKey); $scope.currentFrame = 1; $scope.isPaused = false; @@ -1186,7 +1186,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro $timeout(function () { if ($scope.modal != undefined && $scope.modal.isShown()) { - NVRDataModel.log(">>>Starting checkAllEvents interval..."); + NVR.log(">>>Starting checkAllEvents interval..."); //eventQueryHandle = $timeout (checkEvent(), zm.eventPlaybackQuery); @@ -1195,9 +1195,9 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro eventQueryHandle = $interval(function () { checkEvent(); // console.log ("Refreshing Image..."); - }.bind(this), (NVRDataModel.getBandwidth() == "lowbw") ? zm.eventPlaybackQueryLowBW : zm.eventPlaybackQuery); + }.bind(this), (NVR.getBandwidth() == "lowbw") ? zm.eventPlaybackQueryLowBW : zm.eventPlaybackQuery); } else { - NVRDataModel.log(">>>Modal was exited, not starting checkAllEvents"); + NVR.log(">>>Modal was exited, not starting checkAllEvents"); } }, 2000); @@ -1215,7 +1215,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro try { ctx = cv.getContext("2d"); } catch (e) { - NVRDataModel.debug("2D Context ERROR, maybe live play"); + NVR.debug("2D Context ERROR, maybe live play"); } @@ -1279,15 +1279,15 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro // console.log ("VIDEO TIME WITH "+s+ " and "+c); var a, o; - if (NVRDataModel.getLogin().useLocalTimeZone) { - a = moment.tz(s, NVRDataModel.getTimeZoneNow()).tz(moment.tz.guess()); + if (NVR.getLogin().useLocalTimeZone) { + a = moment.tz(s, NVR.getTimeZoneNow()).tz(moment.tz.guess()); } else { a = moment(s); } a.add(c); - o = a.format("MMM Do " + NVRDataModel.getTimeFormatSec()); + o = a.format("MMM Do " + NVR.getTimeFormatSec()); $scope.videoDynamicTime = o; //return a.format("MMM Do "+o); @@ -1297,12 +1297,12 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro $ionicSideMenuDelegate.canDragContent(true); if ($rootScope.platformOS == 'desktop') { - NVRDataModel.debug("Removing keyboard handler"); + NVR.debug("Removing keyboard handler"); window.removeEventListener('keydown', keyboardHandler, true); } - // NVRDataModel.debug("Deregistering broadcast handles"); + // NVR.debug("Deregistering broadcast handles"); for (var i = 0; i < broadcastHandles.length; i++) { // broadcastHandles[i](); } @@ -1315,9 +1315,9 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro $scope.isModalActive = false; - NVRDataModel.debug("Modal removed - killing connkey"); + NVR.debug("Modal removed - killing connkey"); if ($scope.connKey) sendCommand(17, $scope.connKey); - //$timeout (function(){NVRDataModel.stopNetwork("Modal removed inside EventModalCtrl");},400); + //$timeout (function(){NVR.stopNetwork("Modal removed inside EventModalCtrl");},400); // Execute action }); @@ -1337,7 +1337,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro return; } - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); @@ -1374,7 +1374,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro }, function (err) { $ionicLoading.hide(); - NVRDataModel.debug("Error in adjust speed: " + JSON.stringify(err)); + NVR.debug("Error in adjust speed: " + JSON.stringify(err)); } ); @@ -1389,15 +1389,15 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro $scope.toggleGapless = function () { // console.log(">>>>>>>>>>>>>>GAPLESS TOGGLE INSIDE MODAL"); $scope.loginData.gapless = !$scope.loginData.gapless; - NVRDataModel.setLogin($scope.loginData); + NVR.setLogin($scope.loginData); $scope.currentStreamMode = $scope.loginData.gapless ? 'gapless' : 'single'; - NVRDataModel.debug("EventModalCtrl: gapless has changed resetting everything & re-generating connkey"); + NVR.debug("EventModalCtrl: gapless has changed resetting everything & re-generating connkey"); - NVRDataModel.stopNetwork("EventModalCtrl-toggle gapless"); + NVR.stopNetwork("EventModalCtrl-toggle gapless"); currentStreamState = streamState.STOPPED; - NVRDataModel.debug("Regenerating connkey as gapless has changed"); + NVR.debug("Regenerating connkey as gapless has changed"); // console.log ("********* OFFSET FROM TOGGLE GAPLESS"); $timeout(function () { $scope.connKey = (Math.floor((Math.random() * 999999) + 1)).toString(); @@ -1436,7 +1436,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro var d = $q.defer(); // now get event details to show alarm frames - var loginData = NVRDataModel.getLogin(); + var loginData = NVR.getLogin(); var myurl = loginData.apiurl + '/events/' + eid + ".json"; var nextEvent = loginData.apiurl + "/events/index" + @@ -1453,8 +1453,8 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro ".json?sort=StartTime&direction=desc&limit=1"; - NVRDataModel.debug("Neighbor next URL=" + nextEvent); - NVRDataModel.debug("Neighbor pre URL=" + prevEvent); + NVR.debug("Neighbor next URL=" + nextEvent); + NVR.debug("Neighbor pre URL=" + prevEvent); var nextPromise = $http.get(nextEvent); var prePromise = $http.get(prevEvent); @@ -1477,7 +1477,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro preId = data[1].data.events[0].Event.Id; } - NVRDataModel.debug("neighbors of " + currentEvent.Event.Id + "are pre=" + preId + " next=" + nextId); + NVR.debug("neighbors of " + currentEvent.Event.Id + "are pre=" + preId + " next=" + nextId); neighbors.next = nextId; neighbors.prev = preId; d.resolve(neighbors); @@ -1487,7 +1487,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro // prev // console.log ("NEXT:",JSON.stringify(data[0].data),"PREV:",JSON.stringify(data[1].data)); }, function (error) { - NVRDataModel.log("Error retrieving neighbors" + JSON.stringify(err)); + NVR.log("Error retrieving neighbors" + JSON.stringify(err)); d.reject(neighbors); return (d.promise); @@ -1500,12 +1500,12 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro $scope.zoomImage = function (val) { var zl = parseInt($ionicScrollDelegate.$getByHandle("imgscroll").getScrollPosition().zoom); if (zl == 1 && val == -1) { - NVRDataModel.debug("Already zoomed out max"); + NVR.debug("Already zoomed out max"); return; } zl += val; - NVRDataModel.debug("Zoom level is " + zl); + NVR.debug("Zoom level is " + zl); $ionicScrollDelegate.$getByHandle("imgscroll").zoomTo(zl, true); }; @@ -1513,7 +1513,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro $scope.deleteAndMoveNext = function (id) { - NVRDataModel.debug("Delete and move next called with: " + id); + NVR.debug("Delete and move next called with: " + id); deleteEvent(id) .then(function (succ) { $ionicLoading.hide(); @@ -1529,10 +1529,10 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro function deleteEvent(id) { //$scope.eventList.showDelete = false; //curl -XDELETE http://server/zm/api/events/1.json - var loginData = NVRDataModel.getLogin(); + var loginData = NVR.getLogin(); var apiDelete = loginData.apiurl + "/events/" + id + ".json"; - NVRDataModel.debug("DeleteEvent: ID=" + id); - NVRDataModel.log("Delete event " + apiDelete); + NVR.debug("DeleteEvent: ID=" + id); + NVR.log("Delete event " + apiDelete); $ionicLoading.show({ template: "{{'kDeletingEvent' | translate}}...", @@ -1544,7 +1544,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro .then(function (data) { data = data.data; $ionicLoading.hide(); - // NVRDataModel.debug("delete output: " + JSON.stringify(data)); + // NVR.debug("delete output: " + JSON.stringify(data)); if (data.message == 'Error') { $ionicLoading.show({ @@ -1565,7 +1565,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro } - // NVRDataModel.displayBanner('info', [$translate.instant('kDeleteEventSuccess')], 2000, 2000); + // NVR.displayBanner('info', [$translate.instant('kDeleteEventSuccess')], 2000, 2000); @@ -1575,8 +1575,8 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro }, function (data) { $ionicLoading.hide(); - NVRDataModel.debug("delete error: " + JSON.stringify(data)); - NVRDataModel.displayBanner('error', [$translate.instant('kDeleteEventError1'), $translate.instant('kDeleteEventError2')]); + NVR.debug("delete error: " + JSON.stringify(data)); + NVR.displayBanner('error', [$translate.instant('kDeleteEventError1'), $translate.instant('kDeleteEventError2')]); }); } //-------------------------------------------------------- @@ -1612,7 +1612,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro $scope.isPaused = false; //isGlobalFid = false; var oState; - NVRDataModel.log("HERE: Event jump called with:" + eid); + NVR.log("HERE: Event jump called with:" + eid); if (eid == "") { $ionicLoading.show({ template: $translate.instant('kNoMoreEvents'), @@ -1639,8 +1639,8 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro function outWithOld() { - NVRDataModel.log("ModalCtrl:Stopping network pull..."); - NVRDataModel.stopNetwork("EventModalCtrl-out with old"); + NVR.log("ModalCtrl:Stopping network pull..."); + NVR.stopNetwork("EventModalCtrl-out with old"); $scope.animationInProgress = true; // give digest time for image to swap // 100 should be enough @@ -1667,17 +1667,17 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro } function processMove(eid, dirn) { - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); if (!ld.canSwipeMonitors) return; - // NVRDataModel.log("using zms to move "); + // NVR.log("using zms to move "); if (currentStreamState == streamState.ACTIVE && ($scope.defaultVideo == '' || $scope.defaultVideo == 'undefined')) { // need to kill zms currentStreamState = streamState.STOPPED; $timeout(function () { - NVRDataModel.killLiveStream($scope.connKey); + NVR.killLiveStream($scope.connKey); }); @@ -1687,7 +1687,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro if (handle) { - NVRDataModel.debug("Clearing video feed..."); + NVR.debug("Clearing video feed..."); handle.stop(); handle.clearMedia(); @@ -1707,19 +1707,19 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro if (dirn == 1) { - NVRDataModel.debug("Moving to:" + $scope.nextId); + NVR.debug("Moving to:" + $scope.nextId); prepareModalEvent($scope.nextId); } else if (dirn == 2) { // this is called when you delete var id = ""; if ($scope.nextId > 0) id = $scope.nextId; else if ($scope.prevId > 0) id = $scope.prevId; - NVRDataModel.debug("after delete, moving to " + id); + NVR.debug("after delete, moving to " + id); prepareModalEvent(id); } else if (dirn == -1 && $scope.prevId > 0) { - NVRDataModel.debug("Moving to:" + $scope.prevId); + NVR.debug("Moving to:" + $scope.prevId); prepareModalEvent($scope.prevId); } @@ -1729,8 +1729,8 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro } function humanizeTime(str) { - // if (NVRDataModel.getLogin().useLocalTimeZone) - return moment.tz(str, NVRDataModel.getTimeZoneNow()).fromNow(); + // if (NVR.getLogin().useLocalTimeZone) + return moment.tz(str, NVR.getTimeZoneNow()).fromNow(); // else // return moment(str).fromNow(); @@ -1738,10 +1738,10 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro function jumpToEventVideo(dirn) { - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); var url = ld.url + '/index.php?view=request&request=status&entity=nearevents&id=' + $scope.eventId; // url += "&filter%5BQuery%5D%5Bterms%5D%5B0%5D%5Battr%5D=MonitorId&filter%5BQuery%5D%5Bterms%5D%5B0%5D%5Bop%5D=%3D&filter%5BQuery%5D%5Bterms%5D%5B0%5D%5Bval%5D=5&sort_field=StartTime&sort_asc=1"; // wtf junk - NVRDataModel.debug("Asking nearest video EID using " + url); + NVR.debug("Asking nearest video EID using " + url); $http.get(url) .then(function (succ) { // console.log ("GOT "+JSON.stringify(succ)); @@ -1765,7 +1765,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro var cmd = dirn == 1 ? '13' : '12'; $scope.d_eventId = "..."; - NVRDataModel.debug("Sending " + cmd + " to " + connkey); + NVR.debug("Sending " + cmd + " to " + connkey); $ionicLoading.show({ template: $translate.instant('kSwitchingEvents') + "...", @@ -1786,14 +1786,14 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro }, function (error) { - NVRDataModel.debug("Hmm jump error " + JSON.stringify(error)); - NVRDataModel.stopNetwork("EventModalCtrl-jumptoEventZms error"); + NVR.debug("Hmm jump error " + JSON.stringify(error)); + NVR.stopNetwork("EventModalCtrl-jumptoEventZms error"); $scope.connKey = (Math.floor((Math.random() * 999999) + 1)).toString(); // console.log ("********* OFFSET FROM JUMPTOEVENTZMS ERROR"); $timeout(function () { sendCommand('14', $scope.connKey, '&offset=' + $scope.currentProgress.progress); }, 500); - NVRDataModel.debug("so I'm regenerating Connkey to " + $scope.connKey); + NVR.debug("so I'm regenerating Connkey to " + $scope.connKey); //$timeout.cancel(eventQueryHandle); // eventQueryHandle = $timeout (function(){checkEvent();}, zm.eventPlaybackQuery); $ionicLoading.hide(); @@ -1833,7 +1833,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro function computeRelativePath(event) { var relativePath = ""; - var loginData = NVRDataModel.getLogin(); + var loginData = NVR.getLogin(); var str = event.Event.StartTime; var yy = moment(str).locale('en').format('YY'); var mm = moment(str).locale('en').format('MM'); @@ -1858,7 +1858,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro function computeBasePath(event) { var basePath = ""; - var loginData = NVRDataModel.getLogin(); + var loginData = NVR.getLogin(); var str = event.Event.StartTime; var yy = moment(str).locale('en').format('YY'); var mm = moment(str).locale('en').format('MM'); @@ -1888,7 +1888,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro function playbackFinished() { // currentEvent is updated with the currently playing event in prepareModalEvent() - NVRDataModel.log("Playback of event " + currentEvent.Event.Id + " is finished"); + NVR.log("Playback of event " + currentEvent.Event.Id + " is finished"); if ($scope.loginData.gapless) { @@ -1899,16 +1899,16 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro $timeout(function () { $scope.nextId = success.next; $scope.prevId = success.prev; - NVRDataModel.debug("Gapless move to event " + $scope.nextId); + NVR.debug("Gapless move to event " + $scope.nextId); jumpToEvent($scope.nextId, 1); }, 1000); }, function (error) { - NVRDataModel.debug("Error in neighbor call " + + NVR.debug("Error in neighbor call " + JSON.stringify(error)); }); } else { - NVRDataModel.debug("not going to next event, gapless is off"); + NVR.debug("not going to next event, gapless is off"); } } @@ -1953,7 +1953,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro "&height=" + 200; if ($rootScope.authSession != 'undefined') frame += $rootScope.authSession; - frame += NVRDataModel.insertBasicAuthToken(); + frame += NVR.insertBasicAuthToken(); //console.log ("alarm:"+frame); return frame; }; @@ -1972,9 +1972,9 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro // Lets get the detailed event API - var loginData = NVRDataModel.getLogin(); + var loginData = NVR.getLogin(); var myurl = loginData.apiurl + '/events/' + eid + ".json"; - NVRDataModel.log("*** Constructed API for detailed events: " + myurl); + NVR.log("*** Constructed API for detailed events: " + myurl); $scope.humanizeTime = "..."; $scope.mName = "..."; $scope.liveFeedMid = $scope.mid; @@ -1995,16 +1995,16 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro $scope.eventWarning = $translate.instant('kEventStillRecording'); // if this happens we get to live feed $scope.liveFeedMid = event.Event.MonitorId; - NVRDataModel.log("Event not ready, setting live view, with MID=" + $scope.liveFeedMid); + NVR.log("Event not ready, setting live view, with MID=" + $scope.liveFeedMid); } event.Event.BasePath = computeBasePath(event); event.Event.relativePath = computeRelativePath(event); - event.Event.streamingURL = NVRDataModel.getStreamingURL(event.Event.MonitorId); + event.Event.streamingURL = NVR.getStreamingURL(event.Event.MonitorId); - event.Event.recordingURL = NVRDataModel.getRecordingURL(event.Event.MonitorId); - event.Event.imageMode = NVRDataModel.getImageMode(event.Event.MonitorId); + event.Event.recordingURL = NVR.getRecordingURL(event.Event.MonitorId); + event.Event.imageMode = NVR.getImageMode(event.Event.MonitorId); //console.log (JSON.stringify( success)); $scope.eventName = event.Event.Name; @@ -2012,9 +2012,9 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro $scope.d_eventId = $scope.eventId; $scope.eFramesNum = event.Event.Frames; $scope.eventDur = Math.round(event.Event.Length); - $scope.loginData = NVRDataModel.getLogin(); + $scope.loginData = NVR.getLogin(); $scope.humanizeTime = humanizeTime(event.Event.StartTime); - $scope.mName = NVRDataModel.getMonitorName(event.Event.MonitorId); + $scope.mName = NVR.getMonitorName(event.Event.MonitorId); //console.log (">>>>>>>>HUMANIZE " + $scope.humanizeTime); // console.log("**** VIDEO STATE IS " + event.Event.DefaultVideo); @@ -2062,7 +2062,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro //console.log("************** VIDEO IS " + videoURL); - NVRDataModel.debug("Video url passed to player is: " + videoURL); + NVR.debug("Video url passed to player is: " + videoURL); $scope.videoObject = { @@ -2191,8 +2191,8 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro }, function (err) { - NVRDataModel.log("Error retrieving detailed frame API " + JSON.stringify(err)); - // NVRDataModel.displayBanner('error', ['could not retrieve frame details']); + NVR.log("Error retrieving detailed frame API " + JSON.stringify(err)); + // NVR.displayBanner('error', ['could not retrieve frame details']); $scope.eventWarning = $translate.instant('kLiveView'); // if this happens we get to live feed $scope.liveFeedMid = $scope.mid; diff --git a/www/js/EventServer.js b/www/js/EventServer.js index 90d52951..e7defabd 100644 --- a/www/js/EventServer.js +++ b/www/js/EventServer.js @@ -9,7 +9,7 @@ //-------------------------------------------------------------------------- angular.module('zmApp.controllers') - .factory('EventServer', ['NVRDataModel', '$rootScope', '$websocket', '$ionicPopup', '$timeout', '$q', 'zm', '$ionicPlatform', '$cordovaMedia', '$translate', function (NVRDataModel, $rootScope, $websocket, $ionicPopup, $timeout, $q, zm, $ionicPlatform, $cordovaMedia, $translate) { + .factory('EventServer', ['NVR', '$rootScope', '$websocket', '$ionicPopup', '$timeout', '$q', 'zm', '$ionicPlatform', '$cordovaMedia', '$translate', function (NVR, $rootScope, $websocket, $ionicPopup, $timeout, $q, zm, $ionicPlatform, $cordovaMedia, $translate) { var ws; @@ -27,9 +27,9 @@ angular.module('zmApp.controllers') //-------------------------------------------------------------------------- function handleOpen(data) { - NVRDataModel.debug("WebSocket open called with:" + JSON.stringify(data)); - var loginData = NVRDataModel.getLogin(); - NVRDataModel.log("openHandshake: Websocket open, sending Auth"); + NVR.debug("WebSocket open called with:" + JSON.stringify(data)); + var loginData = NVR.getLogin(); + NVR.log("openHandshake: Websocket open, sending Auth"); sendMessage("auth", { user: loginData.username, password: loginData.password, @@ -41,12 +41,12 @@ angular.module('zmApp.controllers') if ($rootScope.apnsToken != '') { var plat = $ionicPlatform.is('ios') ? 'ios' : 'android'; - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); var pushstate = "enabled"; if (ld.disablePush == true) pushstate = "disabled"; - NVRDataModel.debug("openHandShake: state of push is " + pushstate); + NVR.debug("openHandShake: state of push is " + pushstate); // let's do this only if disabled. If enabled, I suppose registration // will be called? //if (ld.disablePush) @@ -69,17 +69,17 @@ angular.module('zmApp.controllers') if (iClosed) { - NVRDataModel.debug ("App closed socket, not reconnecting"); + NVR.debug ("App closed socket, not reconnecting"); iClosed = false; return; } console.log("*********** WEBSOCKET CLOSE CALLED"); - if (!NVRDataModel.getLogin().isUseEventServer) return; + if (!NVR.getLogin().isUseEventServer) return; if (!isTimerOn) { - NVRDataModel.log("Will try to reconnect in 10 sec.."); + NVR.log("Will try to reconnect in 10 sec.."); $timeout(init, 10000); isTimerOn = true; } @@ -88,31 +88,31 @@ angular.module('zmApp.controllers') function handleError(event) { console.log("*********** WEBSOCKET ERROR CALLED"); - if (!NVRDataModel.getLogin().isUseEventServer) return; + if (!NVR.getLogin().isUseEventServer) return; if (!isTimerOn) { - NVRDataModel.log("Will try to reconnect in 10 sec.."); + NVR.log("Will try to reconnect in 10 sec.."); $timeout(init, 10000); isTimerOn = true; } } function handleMessage(smsg) { - //NVRDataModel.debug ("Websocket received message:"+smsg); + //NVR.debug ("Websocket received message:"+smsg); str = JSON.parse(smsg); - NVRDataModel.debug("Real-time event: " + JSON.stringify(str)); + NVR.debug("Real-time event: " + JSON.stringify(str)); // Error messages if (str.status != 'Success') { - NVRDataModel.log("Event Error: " + JSON.stringify(str)); + NVR.log("Event Error: " + JSON.stringify(str)); if (str.reason == 'APNSDISABLED') { console.log("FORCE CLOSING"); iClosed=true; ws.close(); - NVRDataModel.displayBanner('error', ['Event Server: APNS disabled'], 2000, 6000); + NVR.displayBanner('error', ['Event Server: APNS disabled'], 2000, 6000); $rootScope.apnsToken = ""; } @@ -121,7 +121,7 @@ angular.module('zmApp.controllers') if (str.status == 'Success' && (str.event == 'auth')) { if (str.version == undefined) str.version = "0.1"; - if (NVRDataModel.versionCompare(str.version, zm.minEventServerVersion) == -1) { + if (NVR.versionCompare(str.version, zm.minEventServerVersion) == -1) { $rootScope.zmPopup = $ionicPopup.alert({ title: $translate.instant('kEventServerVersionTitle'), template: $translate.instant('kEventServerVersionBody1') + " " + str.version + ". " + $translate.instant('kEventServerVersionBody2') + " " + @@ -153,7 +153,7 @@ angular.module('zmApp.controllers') } } else { - NVRDataModel.debug("received supplementary event information over websockets"); + NVR.debug("received supplementary event information over websockets"); } var eventsToDisplay = []; var listOfMonitors = []; @@ -172,7 +172,7 @@ angular.module('zmApp.controllers') localNotText = localNotText.substring(0, localNotText.length - 1); // if we are in background, do a local notification, else do an in app display - if (!NVRDataModel.isBackground()) { + if (!NVR.isBackground()) { //emit alarm details - this is when received over websockets $rootScope.$broadcast('alarm', { @@ -181,14 +181,14 @@ angular.module('zmApp.controllers') if (str.supplementary != 'true') { - NVRDataModel.debug("App is in foreground, displaying banner"); + NVR.debug("App is in foreground, displaying banner"); if (eventsToDisplay.length > 0) { if (eventsToDisplay.length == 1) { //console.log("Single Display: " + eventsToDisplay[0]); - NVRDataModel.displayBanner('alarm', [eventsToDisplay[0]], 5000, 5000); + NVR.displayBanner('alarm', [eventsToDisplay[0]], 5000, 5000); } else { - NVRDataModel.displayBanner('alarm', eventsToDisplay, + NVR.displayBanner('alarm', eventsToDisplay, 5000, 5000 * eventsToDisplay.length); } @@ -210,22 +210,22 @@ angular.module('zmApp.controllers') isTimerOn = false; var d = $q.defer(); - var loginData = NVRDataModel.getLogin(); + var loginData = NVR.getLogin(); if (loginData.isUseEventServer == false || !loginData.eventServer) { - NVRDataModel.log("No Event Server present. Not initializing"); + NVR.log("No Event Server present. Not initializing"); d.reject("false"); return d.promise; } - NVRDataModel.log("Initializing Websocket with URL " + + NVR.log("Initializing Websocket with URL " + loginData.eventServer); if ($rootScope.platformOS == 'desktop') { - NVRDataModel.debug("Using browser websockets..."); + NVR.debug("Using browser websockets..."); return setupDesktopSocket(); } else { - NVRDataModel.debug("Using native websockets..."); + NVR.debug("Using native websockets..."); return setupMobileSocket(); } @@ -236,7 +236,7 @@ angular.module('zmApp.controllers') function setupMobileSocket() { - var loginData = NVRDataModel.getLogin(); + var loginData = NVR.getLogin(); var d = $q.defer(); var wsOptions = { @@ -261,7 +261,7 @@ angular.module('zmApp.controllers') nativeWebSocketId = success.webSocketId; handleOpen(success); if (!pushInited) { - NVRDataModel.debug("Initializing FCM push"); + NVR.debug("Initializing FCM push"); pushInit(); } d.resolve(true); @@ -281,14 +281,14 @@ angular.module('zmApp.controllers') function setupDesktopSocket() { - var loginData = NVRDataModel.getLogin(); + var loginData = NVR.getLogin(); var d = $q.defer(); ws = new WebSocket(loginData.eventServer); ws.onopen = function (event) { handleOpen(event.data); if (!pushInited) { - NVRDataModel.debug("Initializing FCM push"); + NVR.debug("Initializing FCM push"); pushInit(); } d.resolve("true"); @@ -329,11 +329,11 @@ angular.module('zmApp.controllers') function disconnect() { - NVRDataModel.log("Clearing error/close cbk, disconnecting and deleting Event Server socket..."); + NVR.log("Clearing error/close cbk, disconnecting and deleting Event Server socket..."); if ($rootScope.platformOS == 'desktop') { if (typeof ws === 'undefined') { - NVRDataModel.log("Event server socket is empty, nothing to disconnect"); + NVR.log("Event server socket is empty, nothing to disconnect"); return; } @@ -345,7 +345,7 @@ angular.module('zmApp.controllers') } else { if (nativeWebSocketId != -1) //native; { - NVRDataModel.debug ("Closing native websocket as websocket = "+nativeWebSocketId); + NVR.debug ("Closing native websocket as websocket = "+nativeWebSocketId); iClosed = true; CordovaWebsocketPlugin.wsClose(nativeWebSocketId, 1000, "Connection closed"); nativeWebSocketId = -1; @@ -366,14 +366,14 @@ angular.module('zmApp.controllers') // let ZMES know not to send us messages //-------------------------------------------------------------------------- function sendMessage(type, obj, isForce) { - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); if (ld.isUseEventServer == false && isForce != 1) { - NVRDataModel.debug("Not sending WSS message as event server is off"); + NVR.debug("Not sending WSS message as event server is off"); return; } if (typeof ws === 'undefined' && nativeWebSocketId == -1) { - NVRDataModel.debug("Event server not initalized, not sending message"); + NVR.debug("Event server not initalized, not sending message"); return; } @@ -385,7 +385,7 @@ angular.module('zmApp.controllers') }; var jmsg = JSON.stringify(msg); - NVRDataModel.debug("~~~~ sendMessage: Sending->" + jmsg); + NVR.debug("~~~~ sendMessage: Sending->" + jmsg); if ($rootScope.platformOS == 'desktop') { ws.send(jmsg); @@ -393,7 +393,7 @@ angular.module('zmApp.controllers') if (nativeWebSocketId != -1) CordovaWebsocketPlugin.wsSend(nativeWebSocketId, jmsg); else - NVRDataModel.debug("ERROR:native websocket not initialized, can't send " + jmsg); + NVR.debug("ERROR:native websocket not initialized, can't send " + jmsg); } @@ -403,10 +403,10 @@ angular.module('zmApp.controllers') // Called each time we resume //-------------------------------------------------------------------------- function refresh() { - var loginData = NVRDataModel.getLogin(); + var loginData = NVR.getLogin(); if ((!loginData.eventServer) || (loginData.isUseEventServer == false)) { - NVRDataModel.log("No Event Server configured, skipping refresh"); + NVR.log("No Event Server configured, skipping refresh"); // Let's also make sure that if the socket was open // we close it - this may happen if you disable it after using it @@ -414,7 +414,7 @@ angular.module('zmApp.controllers') if (typeof ws !== 'undefined') { /*(if (ws.$status() != ws.$CLOSED) { - NVRDataModel.debug("Closing open websocket as event server was disabled"); + NVR.debug("Closing open websocket as event server was disabled"); ws.$close(); }*/ } @@ -423,7 +423,7 @@ angular.module('zmApp.controllers') } if (typeof ws === 'undefined') { - NVRDataModel.debug("Calling websocket init"); + NVR.debug("Calling websocket init"); init(); } @@ -436,23 +436,23 @@ angular.module('zmApp.controllers') /*if (ws.$status() == ws.$CLOSED) { - NVRDataModel.log("Websocket was closed, trying to re-open"); + NVR.log("Websocket was closed, trying to re-open"); ws.$open(); }*/ } function pushInit() { - NVRDataModel.log(">>>Setting up push registration"); + NVR.log(">>>Setting up push registration"); var push; var mediasrc; var media; - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); var plat = $ionicPlatform.is('ios') ? 'ios' : 'android'; if ($rootScope.platformOS == 'desktop') { - NVRDataModel.log("Desktop instance, not setting up push. Websockets only, I hope"); + NVR.log("Desktop instance, not setting up push. Websockets only, I hope"); return; } @@ -499,11 +499,11 @@ angular.module('zmApp.controllers') push.on('registration', function (data) { pushInited = true; - NVRDataModel.debug("Push Notification registration ID received: " + JSON.stringify(data)); + NVR.debug("Push Notification registration ID received: " + JSON.stringify(data)); $rootScope.apnsToken = data.registrationId; var plat = $ionicPlatform.is('ios') ? 'ios' : 'android'; - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); var pushstate = "enabled"; if (ld.disablePush == true) pushstate = "disabled"; @@ -516,7 +516,7 @@ angular.module('zmApp.controllers') var monstring = ''; var intstring = ''; - NVRDataModel.getMonitors() + NVR.getMonitors() .then(function (succ) { var mon = succ; @@ -525,7 +525,7 @@ angular.module('zmApp.controllers') // so we don't overwrite monstring = ld.eventServerMonitors; intstring = ld.eventServerInterval; - NVRDataModel.debug("loading saved monitor list and interval of " + monstring + ">>" + intstring); + NVR.debug("loading saved monitor list and interval of " + monstring + ">>" + intstring); } else { // build new list @@ -555,7 +555,7 @@ angular.module('zmApp.controllers') }, function (err) { - NVRDataModel.log("Could not get monitors, can't send push reg"); + NVR.log("Could not get monitors, can't send push reg"); }); }); @@ -563,19 +563,19 @@ angular.module('zmApp.controllers') push.on('notification', function (data) { $ionicPlatform.ready(function () { - NVRDataModel.log("******* notification handler device ready"); - NVRDataModel.debug("received push notification"); + NVR.log("******* notification handler device ready"); + NVR.debug("received push notification"); - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); if (ld.isUseEventServer == false) { - NVRDataModel.debug("received push notification, but event server disabled. Not acting on it"); + NVR.debug("received push notification, but event server disabled. Not acting on it"); return; } if (data.additionalData.foreground == false) { // This means push notification tap in background - NVRDataModel.debug("*** PUSH NOTFN.>>>>" + JSON.stringify(data)); + NVR.debug("*** PUSH NOTFN.>>>>" + JSON.stringify(data)); // set tappedMid to monitor //*** PUSH DATA>>>>{"sound":"blop","message":"Alarms: Basement (2854) ","additionalData":{"mid":"2","coldstart":false,"collapse_key":"do_not_collapse","foreground":false}} @@ -583,7 +583,7 @@ angular.module('zmApp.controllers') if (data.additionalData.dismissed != undefined || data.additionalData.coldstart == true || $rootScope.platformOS == 'ios') // user tapped on notification // in iOS case, since content-av is not there this notification won't be called unless you tap { - NVRDataModel.debug("Notification Tapped"); + NVR.debug("Notification Tapped"); $rootScope.alarmCount = "0"; $rootScope.isAlarm = 0; $rootScope.tappedNotification = 1; @@ -614,18 +614,18 @@ angular.module('zmApp.controllers') $rootScope.tappedMid = mid; $rootScope.tappedEid = eid; - NVRDataModel.log("ES:Push notification: Tapped Monitor taken as:" + $rootScope.tappedMid); + NVR.log("ES:Push notification: Tapped Monitor taken as:" + $rootScope.tappedMid); if ($rootScope.platformOS == 'ios') { - NVRDataModel.debug("ES:iOS only: clearing background push"); + NVR.debug("ES:iOS only: clearing background push"); push.finish(function () { - NVRDataModel.debug("ES:processing of push data is finished"); + NVR.debug("ES:processing of push data is finished"); }); } } else { - NVRDataModel.debug("App started via icon, not notification"); + NVR.debug("App started via icon, not notification"); $rootScope.tappedNotification = 0; $rootScope.tappedEid = 0; $rootScope.tappedMid = 0; @@ -635,7 +635,7 @@ angular.module('zmApp.controllers') //https://stackoverflow.com/a/22651128/1361529 $timeout ( function () { - NVRDataModel.debug ("EventServer: broadcasting process-push"); + NVR.debug ("EventServer: broadcasting process-push"); $rootScope.$broadcast('process-push'); },100); @@ -646,7 +646,7 @@ angular.module('zmApp.controllers') // this flag honors the HW mute button. Go figure // http://ilee.co.uk/phonegap-plays-sound-on-mute/ - NVRDataModel.debug("--> *** PUSH IN FOREGROUND"); + NVR.debug("--> *** PUSH IN FOREGROUND"); $rootScope.tappedNotification = 0; $rootScope.tappedEid = 0; @@ -662,7 +662,7 @@ angular.module('zmApp.controllers') // console.log ("***STRING: " + str + " " +str.status); var eventsToDisplay = []; - NVRDataModel.displayBanner('alarm', [str], 0, 5000 * eventsToDisplay.length); + NVR.displayBanner('alarm', [str], 0, 5000 * eventsToDisplay.length); $rootScope.isAlarm = 1; @@ -679,7 +679,7 @@ angular.module('zmApp.controllers') }); push.on('error', function (e) { - NVRDataModel.debug("Push error: " + JSON.stringify(e)); + NVR.debug("Push error: " + JSON.stringify(e)); // console.log("************* PUSH ERROR ******************"); }); } diff --git a/www/js/EventServerSettingsCtrl.js b/www/js/EventServerSettingsCtrl.js index 6b04eefa..bebea205 100644 --- a/www/js/EventServerSettingsCtrl.js +++ b/www/js/EventServerSettingsCtrl.js @@ -2,7 +2,7 @@ /* jslint browser: true*/ /* global cordova,StatusBar,angular,console */ - angular.module('zmApp.controllers').controller('zmApp.EventServerSettingsCtrl', ['$scope', '$ionicSideMenuDelegate', 'zm', '$stateParams', 'EventServer', '$ionicHistory', '$rootScope', '$state', 'message', 'NVRDataModel', '$ionicPlatform', '$ionicPopup', '$timeout', '$translate', function ($scope, $ionicSideMenuDelegate, zm, $stateParams, EventServer, $ionicHistory, $rootScope, $state, message, NVRDataModel, $ionicPlatform, $ionicPopup, $timeout, $translate) { + angular.module('zmApp.controllers').controller('zmApp.EventServerSettingsCtrl', ['$scope', '$ionicSideMenuDelegate', 'zm', '$stateParams', 'EventServer', '$ionicHistory', '$rootScope', '$state', 'message', 'NVR', '$ionicPlatform', '$ionicPopup', '$timeout', '$translate', function ($scope, $ionicSideMenuDelegate, zm, $stateParams, EventServer, $ionicHistory, $rootScope, $state, message, NVR, $ionicPlatform, $ionicPopup, $timeout, $translate) { $scope.openMenu = function () { $ionicSideMenuDelegate.toggleLeft(); }; @@ -53,7 +53,7 @@ $scope.$on('$ionicView.beforeEnter', function () { - $scope.loginData = NVRDataModel.getLogin(); + $scope.loginData = NVR.getLogin(); //console.log ("Event server - before Enter, loginData is " + JSON.stringify($scope.loginData)); //console.log ("BEFORE ENTER I GOT " + JSON.stringify($scope.loginData)); @@ -89,7 +89,7 @@ // now if none are checked, assume it means all checked. This is related to the // fact that ES will start sending all monitors, even ones you don't have access to if (!monchecked) { - NVRDataModel.debug("Enabling all monitors for event server"); + NVR.debug("Enabling all monitors for event server"); for (var j = 0; j < $scope.monitors.length; j++) { $scope.monitors[i].Monitor.isChecked = true; $scope.monitors[i].Monitor.reportingInterval = 0; @@ -104,7 +104,7 @@ $scope.selectScreen = function () { - // var ld = NVRDataModel.getLogin(); + // var ld = NVR.getLogin(); $scope.myopt = { selectedState: $scope.loginData.onTapScreen @@ -130,8 +130,8 @@ onTap: function (e) { $scope.loginData.onTapScreen = $scope.myopt.selectedState; - NVRDataModel.log("Setting new onTap State:" + $scope.loginData.onTapScreen); - NVRDataModel.setLogin($scope.loginData); + NVR.log("Setting new onTap State:" + $scope.loginData.onTapScreen); + NVR.setLogin($scope.loginData); $scope.defScreen = $scope.myopt.selectedState; //$scope.loginData = ld; @@ -166,7 +166,7 @@ //---------------------------------------------------------------- function saveItems() { - NVRDataModel.debug("Saving Event Server data"); + NVR.debug("Saving Event Server data"); var monstring = ""; var intervalstring = ""; var plat = $ionicPlatform.is('ios') ? 'ios' : 'android'; @@ -197,7 +197,7 @@ // console.log ("SAVED: " + JSON.stringify($scope.loginData)); - NVRDataModel.setLogin($scope.loginData); + NVR.setLogin($scope.loginData); var pushstate = "enabled"; if ($scope.loginData.disablePush == true || $scope.loginData.isUseEventServer == false) @@ -208,7 +208,7 @@ EventServer.init() .then(function (data) { // console.log("Sending control filter"); - NVRDataModel.debug("Sending Control message 'filter' with monlist=" + monstring + " and interval=" + intervalstring); + NVR.debug("Sending Control message 'filter' with monlist=" + monstring + " and interval=" + intervalstring); EventServer.sendMessage("control", { type: 'filter', monlist: monstring, @@ -222,7 +222,7 @@ { // we need to disable the token - NVRDataModel.debug("Sending token state " + pushstate); + NVR.debug("Sending token state " + pushstate); EventServer.sendMessage('push', { type: 'token', platform: plat, @@ -234,7 +234,7 @@ }, function (err) { - NVRDataModel.debug("Event Server init failed"); + NVR.debug("Event Server init failed"); } ); @@ -247,7 +247,7 @@ { // we need to disable the token - NVRDataModel.debug("Sending token state " + pushstate); + NVR.debug("Sending token state " + pushstate); EventServer.sendMessage('push', { type: 'token', platform: plat, @@ -264,7 +264,7 @@ } - NVRDataModel.displayBanner('info', ['settings saved']); + NVR.displayBanner('info', ['settings saved']); } //---------------------------------------------------------------- diff --git a/www/js/EventsGraphsCtrl.js b/www/js/EventsGraphsCtrl.js index 8174f7e0..f870f029 100644 --- a/www/js/EventsGraphsCtrl.js +++ b/www/js/EventsGraphsCtrl.js @@ -8,7 +8,7 @@ // the main function is generateChart. I call generate chart with required parameters // from the template file -angular.module('zmApp.controllers').controller('zmApp.EventsGraphsCtrl', ['$ionicPlatform', '$scope', 'zm', 'NVRDataModel', '$ionicSideMenuDelegate', '$rootScope', '$http', '$ionicHistory', '$state', function ($ionicPlatform, $scope, zm, NVRDataModel, $ionicSideMenuDelegate, $rootScope, $http, $ionicHistory, $state) { +angular.module('zmApp.controllers').controller('zmApp.EventsGraphsCtrl', ['$ionicPlatform', '$scope', 'zm', 'NVR', '$ionicSideMenuDelegate', '$rootScope', '$http', '$ionicHistory', '$state', function ($ionicPlatform, $scope, zm, NVR, $ionicSideMenuDelegate, $rootScope, $http, $ionicHistory, $state) { //console.log("Inside Graphs controller"); $scope.openMenu = function () { $ionicSideMenuDelegate.toggleLeft(); @@ -47,7 +47,7 @@ angular.module('zmApp.controllers').controller('zmApp.EventsGraphsCtrl', ['$ioni //------------------------------------------------------------------------ $scope.$on('$ionicView.enter', function () { // console.log("**VIEW ** EventsGraphs Ctrl Entered"); - NVRDataModel.setAwake(false); + NVR.setAwake(false); }); $scope.$on('$ionicView.leave', function () { @@ -141,14 +141,14 @@ angular.module('zmApp.controllers').controller('zmApp.EventsGraphsCtrl', ['$ioni if (hrs) { // Apply a time based filter if I am not watching all events var cur = moment(); - endDate = cur.format("YYYY-MM-DD " + NVRDataModel.getTimeFormat()); - startDate = cur.subtract(hrs, 'hours').format("YYYY-MM-DD " + NVRDataModel.getTimeFormat()); + endDate = cur.format("YYYY-MM-DD " + NVR.getTimeFormat()); + startDate = cur.subtract(hrs, 'hours').format("YYYY-MM-DD " + NVR.getTimeFormat()); //console.log("Start and End " + startDate + "==" + endDate); - NVRDataModel.log("Generating graph for " + startDate + " to " + endDate); + NVR.log("Generating graph for " + startDate + " to " + endDate); } - var loginData = NVRDataModel.getLogin(); + var loginData = NVR.getLogin(); //$scope.chart.data = {}; $scope.chart.data = { labels: [], @@ -161,7 +161,7 @@ angular.module('zmApp.controllers').controller('zmApp.EventsGraphsCtrl', ['$ioni }, ] }; - NVRDataModel.getMonitors(0).then(function (data) { + NVR.getMonitors(0).then(function (data) { monitors = data; var adjustedHeight = monitors.length * 30; if (adjustedHeight > $rootScope.devHeight) { @@ -188,11 +188,11 @@ angular.module('zmApp.controllers').controller('zmApp.EventsGraphsCtrl', ['$ioni "/events/index/MonitorId:" + monitors[j].Monitor.Id + dateString + ".json?page=1"; // console.log("Monitor event URL:" + url); - NVRDataModel.log("EventGraph: composed url is " + url); + NVR.log("EventGraph: composed url is " + url); $http.get(url /*,{timeout:15000}*/ ) .then(function (data) { data = data.data; - NVRDataModel.debug("Event count for monitor" + + NVR.debug("Event count for monitor" + monitors[j].Monitor.Id + " is " + data.pagination.count); $scope.chart.data.datasets[0].data[j] = data.pagination.count; }, @@ -201,7 +201,7 @@ angular.module('zmApp.controllers').controller('zmApp.EventsGraphsCtrl', ['$ioni // but what I am really doing now is treating it like no events // works but TBD: make this into a proper error handler $scope.chart.data.datasets[0].data[j] = 0; - NVRDataModel.log("Error retrieving events for graph " + JSON.stringify(data), "error"); + NVR.log("Error retrieving events for graph " + JSON.stringify(data), "error"); }); })(i); // j } //for diff --git a/www/js/EventsModalGraphCtrl.js b/www/js/EventsModalGraphCtrl.js index 0cfacb68..705b7596 100644 --- a/www/js/EventsModalGraphCtrl.js +++ b/www/js/EventsModalGraphCtrl.js @@ -3,7 +3,7 @@ /* jslint browser: true*/ /* global saveAs, cordova,StatusBar,angular,console,ionic, moment, vis , Chart, DJS*/ -angular.module('zmApp.controllers').controller('EventsModalGraphCtrl', ['$scope', '$rootScope', 'zm', 'NVRDataModel', '$ionicSideMenuDelegate', '$timeout', '$interval', '$ionicModal', '$ionicLoading', '$http', '$state', '$stateParams', '$ionicHistory', '$ionicScrollDelegate', '$q', '$sce', 'carouselUtils', '$ionicPopup', '$translate', function ($scope, $rootScope, zm, NVRDataModel, $ionicSideMenuDelegate, $timeout, $interval, $ionicModal, $ionicLoading, $http, $state, $stateParams, $ionicHistory, $ionicScrollDelegate, $q, $sce, carouselUtils, $ionicPopup, $translate) { +angular.module('zmApp.controllers').controller('EventsModalGraphCtrl', ['$scope', '$rootScope', 'zm', 'NVR', '$ionicSideMenuDelegate', '$timeout', '$interval', '$ionicModal', '$ionicLoading', '$http', '$state', '$stateParams', '$ionicHistory', '$ionicScrollDelegate', '$q', '$sce', 'carouselUtils', '$ionicPopup', '$translate', function ($scope, $rootScope, zm, NVR, $ionicSideMenuDelegate, $timeout, $interval, $ionicModal, $ionicLoading, $http, $state, $stateParams, $ionicHistory, $ionicScrollDelegate, $q, $sce, carouselUtils, $ionicPopup, $translate) { var Graph2d; var tcGraph; @@ -23,7 +23,7 @@ angular.module('zmApp.controllers').controller('EventsModalGraphCtrl', ['$scope' $scope.$on('modal.removed', function (e, m) { - //NVRDataModel.debug("Deregistering broadcast handles"); + //NVR.debug("Deregistering broadcast handles"); for (var i = 0; i < broadcastHandles.length; i++) { // broadcastHandles[i](); } @@ -106,7 +106,7 @@ angular.module('zmApp.controllers').controller('EventsModalGraphCtrl', ['$scope' var as = $scope.$on("auth-success", function () { - NVRDataModel.debug("EventModalCtrl: Re-login detected, resetting everything & re-generating connkey"); + NVR.debug("EventModalCtrl: Re-login detected, resetting everything & re-generating connkey"); }); broadCastHandles.push(as); @@ -222,7 +222,7 @@ angular.module('zmApp.controllers').controller('EventsModalGraphCtrl', ['$scope' if ($scope.graphWidth < $rootScope.devWidth) $scope.graphWidth = $rootScope.devWidth; - // NVRDataModel.log ("Changing graph width to " + $scope.graphWidth); + // NVR.log ("Changing graph width to " + $scope.graphWidth); for (var i = 0; i < event.event.Frame.length; i++) { @@ -266,7 +266,7 @@ angular.module('zmApp.controllers').controller('EventsModalGraphCtrl', ['$scope' cv = document.getElementById("tcchart"); ctx = cv.getContext("2d"); - if (NVRDataModel.getLogin().timelineModalGraphType == 'all') { + if (NVR.getLogin().timelineModalGraphType == 'all') { btype = 'line'; current_data = data; } else { @@ -295,14 +295,14 @@ angular.module('zmApp.controllers').controller('EventsModalGraphCtrl', ['$scope' //console.log ("You tapped " + ndx); $scope.alarm_images = []; - $scope.playbackURL = NVRDataModel.getLogin().url; + $scope.playbackURL = NVR.getLogin().url; var items = current_data.datasets[0].frames[ndx]; $scope.alarm_images.push({ relativePath: items.relativePath, fid: items.fid, fname: items.fname, score: items.score, - time: moment(items.x).format("MMM D," + NVRDataModel.getTimeFormatSec()), + time: moment(items.x).format("MMM D," + NVR.getTimeFormatSec()), eid: items.eid }); }); @@ -315,7 +315,7 @@ angular.module('zmApp.controllers').controller('EventsModalGraphCtrl', ['$scope' function computeRelativePath(event) { var relativePath = ""; - var loginData = NVRDataModel.getLogin(); + var loginData = NVR.getLogin(); var str = event.Event.StartTime; var yy = moment(str).locale('en').format('YY'); var mm = moment(str).locale('en').format('MM'); @@ -340,7 +340,7 @@ angular.module('zmApp.controllers').controller('EventsModalGraphCtrl', ['$scope' function computeBasePath(event) { var basePath = ""; - var loginData = NVRDataModel.getLogin(); + var loginData = NVR.getLogin(); var str = event.Event.StartTime; var yy = moment(str).locale('en').format('YY'); var mm = moment(str).locale('en').format('MM'); diff --git a/www/js/FirstUseCtrl.js b/www/js/FirstUseCtrl.js index 14cd09a0..02d7c177 100644 --- a/www/js/FirstUseCtrl.js +++ b/www/js/FirstUseCtrl.js @@ -2,7 +2,7 @@ /* jslint browser: true*/ /* global cordova,StatusBar,angular,console */ -angular.module('zmApp.controllers').controller('zmApp.FirstUseCtrl', ['$scope', '$ionicSideMenuDelegate', 'zm', '$stateParams', '$ionicHistory', '$state', 'NVRDataModel', '$rootScope', '$ionicPopup', '$translate', function ($scope, $ionicSideMenuDelegate, zm, $stateParams, $ionicHistory, $state, NVRDataModel, $rootScope, $ionicPopup, $translate) { +angular.module('zmApp.controllers').controller('zmApp.FirstUseCtrl', ['$scope', '$ionicSideMenuDelegate', 'zm', '$stateParams', '$ionicHistory', '$state', 'NVR', '$rootScope', '$ionicPopup', '$translate', function ($scope, $ionicSideMenuDelegate, zm, $stateParams, $ionicHistory, $state, NVR, $rootScope, $ionicPopup, $translate) { $scope.openMenu = function () { $ionicSideMenuDelegate.toggleLeft(); }; @@ -19,13 +19,13 @@ angular.module('zmApp.controllers').controller('zmApp.FirstUseCtrl', ['$scope', // if (window.cordova) { cordova.plugin.http.setSSLCertMode('nocheck', function () { - NVRDataModel.debug('--> First use -> SSL is permissive, will allow any certs for now. You can change it later.'); + NVR.debug('--> First use -> SSL is permissive, will allow any certs for now. You can change it later.'); }, function () { console.log('-->First Use -> Error setting SSL permissive'); }); if ($rootScope.platformOS == 'android') { - NVRDataModel.log (">>> Android: enabling inline image view for self signed certs"); + NVR.log (">>> Android: enabling inline image view for self signed certs"); cordova.plugins.certificates.trustUnsecureCerts(true); } @@ -35,7 +35,7 @@ angular.module('zmApp.controllers').controller('zmApp.FirstUseCtrl', ['$scope', }); $scope.switchLang = function () { - $scope.lang = NVRDataModel.getLanguages(); + $scope.lang = NVR.getLanguages(); $scope.myopt = { lang: "" }; @@ -56,8 +56,8 @@ angular.module('zmApp.controllers').controller('zmApp.FirstUseCtrl', ['$scope', { text: $translate.instant('kButtonOk'), onTap: function (e) { - NVRDataModel.log("Language selected:" + $scope.myopt.lang); - NVRDataModel.setDefaultLanguage($scope.myopt.lang, true); + NVR.log("Language selected:" + $scope.myopt.lang); + NVR.setDefaultLanguage($scope.myopt.lang, true); //return "OK"; diff --git a/www/js/HelpCtrl.js b/www/js/HelpCtrl.js index b0cc14df..b022121d 100644 --- a/www/js/HelpCtrl.js +++ b/www/js/HelpCtrl.js @@ -2,7 +2,7 @@ /* jslint browser: true*/ /* global cordova,StatusBar,angular,console, Masonry */ -angular.module('zmApp.controllers').controller('zmApp.HelpCtrl', ['$scope', '$rootScope', '$ionicModal', 'NVRDataModel', '$ionicSideMenuDelegate', '$ionicHistory', '$state', '$translate', '$q', '$templateRequest', '$sce', '$compile', function ($scope, $rootScope, $ionicModal, NVRDataModel, $ionicSideMenuDelegate, $ionicHistory, $state, $translate, $q, $templateRequest, $sce, $compile) { +angular.module('zmApp.controllers').controller('zmApp.HelpCtrl', ['$scope', '$rootScope', '$ionicModal', 'NVR', '$ionicSideMenuDelegate', '$ionicHistory', '$state', '$translate', '$q', '$templateRequest', '$sce', '$compile', function ($scope, $rootScope, $ionicModal, NVR, $ionicSideMenuDelegate, $ionicHistory, $state, $translate, $q, $templateRequest, $sce, $compile) { $scope.openMenu = function () { $ionicSideMenuDelegate.toggleLeft(); }; @@ -34,7 +34,7 @@ angular.module('zmApp.controllers').controller('zmApp.HelpCtrl', ['$scope', '$ro function insertHelp() { - var l = NVRDataModel.getDefaultLanguage() || 'en'; + var l = NVR.getDefaultLanguage() || 'en'; var lang = "lang/help/help-" + l + ".html"; //console.log ("LANG IS " + lang); var templateUrl = $sce.getTrustedResourceUrl(lang); @@ -47,14 +47,14 @@ angular.module('zmApp.controllers').controller('zmApp.HelpCtrl', ['$scope', '$ro $compile(elem.html(template).contents())($scope); }, function (error) { - NVRDataModel.log("Language file " + lang + " not found, falling back"); + NVR.log("Language file " + lang + " not found, falling back"); $templateRequest(templateUrlFB) .then(function (template) { var elem = angular.element(document.getElementById('insertHelp')); $compile(elem.html(template).contents())($scope); }, function (error) { - NVRDataModel.log("fallback help not found"); + NVR.log("fallback help not found"); }); } ); @@ -70,8 +70,8 @@ angular.module('zmApp.controllers').controller('zmApp.HelpCtrl', ['$scope', '$ro //------------------------------------------------------------------------ $scope.$on('$ionicView.enter', function () { //console.log("**VIEW ** Help Ctrl Entered"); - NVRDataModel.setAwake(false); - $scope.zmAppVersion = NVRDataModel.getAppVersion(); + NVR.setAwake(false); + $scope.zmAppVersion = NVR.getAppVersion(); insertHelp(); }); diff --git a/www/js/LogCtrl.js b/www/js/LogCtrl.js index 01566750..19203d43 100644 --- a/www/js/LogCtrl.js +++ b/www/js/LogCtrl.js @@ -2,7 +2,7 @@ /* jslint browser: true*/ /* global saveAs, cordova,StatusBar,angular,console,moment */ -angular.module('zmApp.controllers').controller('zmApp.LogCtrl', ['$scope', '$rootScope', 'zm', '$ionicModal', 'NVRDataModel', '$ionicSideMenuDelegate', '$fileLogger', '$cordovaEmailComposer', '$ionicPopup', '$timeout', '$ionicHistory', '$state', '$interval', '$ionicLoading', '$translate', '$http', 'SecuredPopups', function ($scope, $rootScope, zm, $ionicModal, NVRDataModel, $ionicSideMenuDelegate, $fileLogger, $cordovaEmailComposer, $ionicPopup, $timeout, $ionicHistory, $state, $interval, $ionicLoading, $translate, $http, SecuredPopups) { +angular.module('zmApp.controllers').controller('zmApp.LogCtrl', ['$scope', '$rootScope', 'zm', '$ionicModal', 'NVR', '$ionicSideMenuDelegate', '$fileLogger', '$cordovaEmailComposer', '$ionicPopup', '$timeout', '$ionicHistory', '$state', '$interval', '$ionicLoading', '$translate', '$http', 'SecuredPopups', function ($scope, $rootScope, zm, $ionicModal, NVR, $ionicSideMenuDelegate, $fileLogger, $cordovaEmailComposer, $ionicPopup, $timeout, $ionicHistory, $state, $interval, $ionicLoading, $translate, $http, SecuredPopups) { $scope.openMenu = function () { $ionicSideMenuDelegate.toggleLeft(); }; @@ -70,7 +70,7 @@ angular.module('zmApp.controllers').controller('zmApp.LogCtrl', ['$scope', '$roo $scope.downloadLogs = function () { var body = "zmNinja version:" + $scope.zmAppVersion + " (" + $rootScope.platformOS + ")\n" + - "ZoneMinder version:" + NVRDataModel.getCurrentServerVersion()+"\n\n"; + "ZoneMinder version:" + NVR.getCurrentServerVersion()+"\n\n"; body = $translate.instant('kSensitiveBody') + '\n\n\n' + body; var fname = $rootScope.appName + "-logs-" + @@ -92,7 +92,7 @@ angular.module('zmApp.controllers').controller('zmApp.LogCtrl', ['$scope', '$roo okType: 'button-stable' }, function (e) { - NVRDataModel.debug("Error getting log file:" + JSON.stringify(e)); + NVR.debug("Error getting log file:" + JSON.stringify(e)); } ); @@ -107,21 +107,21 @@ angular.module('zmApp.controllers').controller('zmApp.LogCtrl', ['$scope', '$roo $scope.attachLogs = function () { var body = "zmNinja version:" + $scope.zmAppVersion + " (" + $rootScope.platformOS + ")<br/>" + - "ZoneMinder version:" + NVRDataModel.getCurrentServerVersion() + "<br/>"; + "ZoneMinder version:" + NVR.getCurrentServerVersion() + "<br/>"; body = '<b>' + $translate.instant('kSensitiveBody') + '</b><br/><br/>' + body; $fileLogger.checkFile() .then(function (d) { var fileWithPath = cordova.file.dataDirectory + d.name; - NVRDataModel.log("file location:" + fileWithPath); + NVR.log("file location:" + fileWithPath); var onSuccess = function (result) { - NVRDataModel.log("Share completed? " + result.completed); - NVRDataModel.log("Shared to app: " + result.app); + NVR.log("Share completed? " + result.completed); + NVR.log("Shared to app: " + result.app); }; var onError = function (msg) { - NVRDataModel.log("Sharing failed with message: " + msg); + NVR.log("Sharing failed with message: " + msg); }; window.plugins.socialsharing.shareViaEmail( @@ -137,7 +137,7 @@ angular.module('zmApp.controllers').controller('zmApp.LogCtrl', ['$scope', '$roo }, function (e) { - NVRDataModel.debug("Error attaching log file:" + JSON.stringify(e)); + NVR.debug("Error attaching log file:" + JSON.stringify(e)); }); @@ -145,7 +145,7 @@ angular.module('zmApp.controllers').controller('zmApp.LogCtrl', ['$scope', '$roo function loadZMlogs() { - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); var lapi = ld.apiurl + "/logs.json?sort=TimeKey&direction=desc&page=" + $scope.zmPage; $http.get(lapi) .then(function (success) { @@ -162,7 +162,7 @@ angular.module('zmApp.controllers').controller('zmApp.LogCtrl', ['$scope', '$roo $scope.log.logString = tLogs; }, function (error) { - NVRDataModel.log("Error getting ZM logs:" + JSON.stringify(error)); + NVR.log("Error getting ZM logs:" + JSON.stringify(error)); $scope.log.logString = "Error getting log: " + JSON.stringify(error); @@ -220,9 +220,9 @@ angular.module('zmApp.controllers').controller('zmApp.LogCtrl', ['$scope', '$roo $scope.$on('$ionic.beforeEnter', function () { $scope.$on("process-push", function () { - NVRDataModel.debug(">> LogCtrl: push handler"); - var s = NVRDataModel.evaluateTappedNotification(); - NVRDataModel.debug("tapped Notification evaluation:" + JSON.stringify(s)); + NVR.debug(">> LogCtrl: push handler"); + var s = NVR.evaluateTappedNotification(); + NVR.debug("tapped Notification evaluation:" + JSON.stringify(s)); $ionicHistory.nextViewOptions({ disableAnimate: true, disableBack: true @@ -244,7 +244,7 @@ angular.module('zmApp.controllers').controller('zmApp.LogCtrl', ['$scope', '$roo $ionicSideMenuDelegate.canDragContent(false); $scope.selectOn = false; - NVRDataModel.setAwake(false); + NVR.setAwake(false); $scope.logEntity = $rootScope.appName; $scope.zmPage = 1; $scope.zmMaxPage = 1; @@ -253,8 +253,8 @@ angular.module('zmApp.controllers').controller('zmApp.LogCtrl', ['$scope', '$roo logString: "" }; - $scope.zmAppVersion = NVRDataModel.getAppVersion(); - $scope.zmVersion = NVRDataModel.getCurrentServerVersion(); + $scope.zmAppVersion = NVR.getAppVersion(); + $scope.zmVersion = NVR.getCurrentServerVersion(); /* intervalLogUpdateHandle = $interval(function () { diff --git a/www/js/LoginCtrl.js b/www/js/LoginCtrl.js index b24514f6..44f69d04 100644 --- a/www/js/LoginCtrl.js +++ b/www/js/LoginCtrl.js @@ -2,7 +2,7 @@ /* jslint browser: true*/ /* global cordova,StatusBar,angular,console,alert,URI, localforage */ -angular.module('zmApp.controllers').controller('zmApp.LoginCtrl', ['$scope', '$rootScope', 'zm', '$ionicModal', 'NVRDataModel', '$ionicSideMenuDelegate', '$ionicPopup', '$http', '$q', '$ionicLoading', 'zmAutoLogin', '$cordovaPinDialog', 'EventServer', '$ionicHistory', '$state', '$ionicActionSheet', 'SecuredPopups', '$stateParams', '$translate', function ($scope, $rootScope, zm, $ionicModal, NVRDataModel, $ionicSideMenuDelegate, $ionicPopup, $http, $q, $ionicLoading, zmAutoLogin, $cordovaPinDialog, EventServer, $ionicHistory, $state, $ionicActionSheet, SecuredPopups, $stateParams, $translate) { +angular.module('zmApp.controllers').controller('zmApp.LoginCtrl', ['$scope', '$rootScope', 'zm', '$ionicModal', 'NVR', '$ionicSideMenuDelegate', '$ionicPopup', '$http', '$q', '$ionicLoading', 'zmAutoLogin', '$cordovaPinDialog', 'EventServer', '$ionicHistory', '$state', '$ionicActionSheet', 'SecuredPopups', '$stateParams', '$translate', function ($scope, $rootScope, zm, $ionicModal, NVR, $ionicSideMenuDelegate, $ionicPopup, $http, $q, $ionicLoading, zmAutoLogin, $cordovaPinDialog, EventServer, $ionicHistory, $state, $ionicActionSheet, SecuredPopups, $stateParams, $translate) { var oldLoginData = ''; // used to track any changes $scope.openMenu = function () { @@ -23,12 +23,12 @@ angular.module('zmApp.controllers').controller('zmApp.LoginCtrl', ['$scope', '$r document.addEventListener("resume", onResume, false); function onResume() { - // NVRDataModel.log("Login screen resumed"); + // NVR.log("Login screen resumed"); } function onPause() { - NVRDataModel.log("Login screen going to background, saving data"); + NVR.log("Login screen going to background, saving data"); localforage.setItem("settings-temp-data", $scope.loginData); } @@ -60,7 +60,7 @@ angular.module('zmApp.controllers').controller('zmApp.LoginCtrl', ['$scope', '$r //---------------------------------------------------------------- $scope.selectFallback = function () { - var as = Object.keys(NVRDataModel.getServerGroups()); + var as = Object.keys(NVR.getServerGroups()); if (as.length < 2) { $rootScope.zmPopup = SecuredPopups.show('alert', { title: $translate.instant('kError'), @@ -74,7 +74,7 @@ angular.module('zmApp.controllers').controller('zmApp.LoginCtrl', ['$scope', '$r var ab = [{ text: $translate.instant('kClear') }]; - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); as.forEach(function (item) { if (item != ld.serverName) ab.push({ text: item @@ -91,7 +91,7 @@ angular.module('zmApp.controllers').controller('zmApp.LoginCtrl', ['$scope', '$r $scope.loginData.fallbackConfiguration = ""; else $scope.loginData.fallbackConfiguration = ab[index].text; - NVRDataModel.setLogin($scope.loginData); + NVR.setLogin($scope.loginData); return true; } }); @@ -116,24 +116,24 @@ angular.module('zmApp.controllers').controller('zmApp.LoginCtrl', ['$scope', '$r if (serverbuttons[index].text == $translate.instant('kServerAdd') + "...") { - $scope.loginData = angular.copy(NVRDataModel.getDefaultLoginObject()); + $scope.loginData = angular.copy(NVR.getDefaultLoginObject()); return true; } - var zmServers = NVRDataModel.getServerGroups(); + var zmServers = NVR.getServerGroups(); $scope.loginData = zmServers[serverbuttons[index].text]; //console.log ("NEW LOGIN OBJECT IS " + JSON.stringify($scope.loginData)); - NVRDataModel.debug("Retrieved state for this profile:" + JSON.stringify($scope.loginData)); + NVR.debug("Retrieved state for this profile:" + JSON.stringify($scope.loginData)); // lets make sure Event Server is loaded // correctly // FIXME: But what happens if you don't save? // loginData gets written but auth is not done - NVRDataModel.setLogin($scope.loginData); + NVR.setLogin($scope.loginData); return true; }, @@ -141,7 +141,7 @@ angular.module('zmApp.controllers').controller('zmApp.LoginCtrl', ['$scope', '$r destructiveButtonClicked: function () { if (!$scope.loginData.serverName) { - NVRDataModel.debug("cannot delete empty entry"); + NVR.debug("cannot delete empty entry"); return true; } @@ -161,21 +161,21 @@ angular.module('zmApp.controllers').controller('zmApp.LoginCtrl', ['$scope', '$r function actuallyDelete() { - var zmServers = NVRDataModel.getServerGroups(); + var zmServers = NVR.getServerGroups(); //console.log ("YOU WANT TO DELETE " + $scope.loginData.serverName); //console.log ("LENGTH OF SERVERS IS " + Object.keys(zmServers).length); if (Object.keys(zmServers).length > 1) { - NVRDataModel.log("Deleting " + $scope.loginData.serverName); + NVR.log("Deleting " + $scope.loginData.serverName); delete zmServers[$scope.loginData.serverName]; - NVRDataModel.setServerGroups(zmServers); + NVR.setServerGroups(zmServers); // point to first element // better than nothing // note this is actually unordered $scope.loginData = zmServers[Object.keys(zmServers)[0]]; - NVRDataModel.setLogin($scope.loginData); + NVR.setLogin($scope.loginData); - availableServers = Object.keys(NVRDataModel.getServerGroups()); + availableServers = Object.keys(NVR.getServerGroups()); serverbuttons = [{ text: $translate.instant('kServerAdd') + "..." }]; @@ -187,7 +187,7 @@ angular.module('zmApp.controllers').controller('zmApp.LoginCtrl', ['$scope', '$r } //console.log (">>>>>>>delete: server buttons " + JSON.stringify(serverbuttons)); } else { - NVRDataModel.displayBanner('error', [$translate.instant('kBannerCannotDeleteNeedOne')]); + NVR.displayBanner('error', [$translate.instant('kBannerCannotDeleteNeedOne')]); } @@ -204,9 +204,9 @@ angular.module('zmApp.controllers').controller('zmApp.LoginCtrl', ['$scope', '$r //---------------------------------------------------------------- $scope.eventServerSettings = function () { - NVRDataModel.debug("Saving settings before going to Event Server settings"); + NVR.debug("Saving settings before going to Event Server settings"); //console.log ( "My loginData saved " + JSON.stringify($scope.loginData)); - NVRDataModel.setLogin($scope.loginData); + NVR.setLogin($scope.loginData); if (!$rootScope.isLoggedIn) { @@ -237,9 +237,9 @@ angular.module('zmApp.controllers').controller('zmApp.LoginCtrl', ['$scope', '$r $scope.$on ( "process-push", function () { - NVRDataModel.debug (">> LoginCtrl: push handler. Not processing push, because you might be here due to login failure"); - /*var s = NVRDataModel.evaluateTappedNotification(); - NVRDataModel.debug("tapped Notification evaluation:"+ JSON.stringify(s)); + NVR.debug (">> LoginCtrl: push handler. Not processing push, because you might be here due to login failure"); + /*var s = NVR.evaluateTappedNotification(); + NVR.debug("tapped Notification evaluation:"+ JSON.stringify(s)); $ionicHistory.nextViewOptions({ disableAnimate:true, disableBack: true @@ -250,16 +250,16 @@ angular.module('zmApp.controllers').controller('zmApp.LoginCtrl', ['$scope', '$r oldLoginData = ''; - $scope.loginData = NVRDataModel.getLogin(); + $scope.loginData = NVR.getLogin(); //console.log (JSON.stringify($scope.loginData)); //console.log("**VIEW ** LoginCtrl Entered"); - NVRDataModel.setAwake(false); + NVR.setAwake(false); //$scope.basicAuthUsed = false; - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); oldName = ld.serverName; - availableServers = Object.keys(NVRDataModel.getServerGroups()); + availableServers = Object.keys(NVR.getServerGroups()); serverbuttons = [{ text: $translate.instant('kServerAdd') + "..." }]; @@ -271,11 +271,11 @@ angular.module('zmApp.controllers').controller('zmApp.LoginCtrl', ['$scope', '$r //console.log (">>>>>>>ionicview enter: server buttons " + JSON.stringify(serverbuttons)); } - NVRDataModel.debug("Does login need to hear the wizard? " + $stateParams.wizard); + NVR.debug("Does login need to hear the wizard? " + $stateParams.wizard); if ($stateParams.wizard == "true") { - NVRDataModel.log("Creating new login entry for wizard"); - $scope.loginData = angular.copy(NVRDataModel.getDefaultLoginObject()); + NVR.log("Creating new login entry for wizard"); + $scope.loginData = angular.copy(NVR.getDefaultLoginObject()); $scope.loginData.serverName = $rootScope.wizard.serverName; $scope.loginData.url = $rootScope.wizard.loginURL; @@ -318,10 +318,10 @@ angular.module('zmApp.controllers').controller('zmApp.LoginCtrl', ['$scope', '$r //console.log("**VIEW ** LoginCtrl Entered"); var newLoginData = JSON.stringify($scope.loginData); if ($scope.loginData.serverName && newLoginData != oldLoginData) { - NVRDataModel.log("Login data changed, saving..."); + NVR.log("Login data changed, saving..."); saveItems(false); } else { - NVRDataModel.log("Login data not changed, not saving"); + NVR.log("Login data not changed, not saving"); } @@ -344,8 +344,8 @@ angular.module('zmApp.controllers').controller('zmApp.LoginCtrl', ['$scope', '$r /* Disabled - seems to crash with native transitions $scope.$on('$stateChangeStart', function (event, toState, toParams, fromState, fromParams) { - NVRDataModel.setAwake(false); - var ld = NVRDataModel.getLogin(); + NVR.setAwake(false); + var ld = NVR.getLogin(); if (ld.serverName != oldName) { event.preventDefault(); @@ -372,7 +372,7 @@ angular.module('zmApp.controllers').controller('zmApp.LoginCtrl', ['$scope', '$r // FIXME: Get rid of cordovaPinDialog. It's really not needed //-------------------------------------------------------------------------- $scope.pinPrompt = function (evt) { - NVRDataModel.log("Password prompt"); + NVR.log("Password prompt"); if ($scope.loginData.usePin) { $scope.loginData.pinCode = ""; $cordovaPinDialog.prompt($translate.instant('kEnterPin'), $translate.instant('kPinProtect')).then( @@ -383,12 +383,12 @@ angular.module('zmApp.controllers').controller('zmApp.LoginCtrl', ['$scope', '$r $cordovaPinDialog.prompt($translate.instant('kReconfirmPin'), $translate.instant('kPinProtect')) .then(function (result2) { if (result1.input1 == result2.input1) { - NVRDataModel.log("Pin code match"); + NVR.log("Pin code match"); $scope.loginData.pinCode = result1.input1; } else { - NVRDataModel.log("Pin code mismatch"); + NVR.log("Pin code mismatch"); $scope.loginData.usePin = false; - NVRDataModel.displayBanner('error', [$translate.instant('kBannerPinMismatch')]); + NVR.displayBanner('error', [$translate.instant('kBannerPinMismatch')]); } }, function (error) { @@ -405,7 +405,7 @@ angular.module('zmApp.controllers').controller('zmApp.LoginCtrl', ['$scope', '$r }); } else { - NVRDataModel.debug("Password disabled"); + NVR.debug("Password disabled"); } }; @@ -467,15 +467,15 @@ angular.module('zmApp.controllers').controller('zmApp.LoginCtrl', ['$scope', '$r //console.log ("*********** SAVE ITEMS CALLED "); //console.log('Saving login'); - NVRDataModel.debug("Inside save Items"); + NVR.debug("Inside save Items"); $rootScope.alarmCount = 0; $rootScope.isAlarm = false; - NVRDataModel.setFirstUse(false); - NVRDataModel.setCurrentServerVersion(''); - NVRDataModel.setCurrentServerMultiPortSupported(false); + NVR.setFirstUse(false); + NVR.setCurrentServerVersion(''); + NVR.setCurrentServerMultiPortSupported(false); // used for menu display @@ -552,7 +552,7 @@ angular.module('zmApp.controllers').controller('zmApp.LoginCtrl', ['$scope', '$r if ($scope.loginData.isUseAuth) { if (!$scope.loginData.username) $scope.loginData.username = "x"; if (!$scope.loginData.password) $scope.loginData.password = "x"; - //NVRDataModel.log("Authentication is disabled, setting dummy user & pass"); + //NVR.log("Authentication is disabled, setting dummy user & pass"); } if (parseInt($scope.loginData.maxMontage) <= 0) { @@ -564,7 +564,7 @@ angular.module('zmApp.controllers').controller('zmApp.LoginCtrl', ['$scope', '$r if (!$scope.loginData.isUseEventServer) { $rootScope.isAlarm = 0; if ($rootScope.apnsToken) { - NVRDataModel.log("Making sure we don't get push notifications"); + NVR.log("Making sure we don't get push notifications"); EventServer.sendMessage('push', { type: 'token', platform: $rootScope.platformOS, @@ -585,7 +585,7 @@ angular.module('zmApp.controllers').controller('zmApp.LoginCtrl', ['$scope', '$r } //console.log ("SAVING: "+JSON.stringify($scope.loginData)); - NVRDataModel.setLogin($scope.loginData); + NVR.setLogin($scope.loginData); $rootScope.authSession = ''; @@ -593,35 +593,35 @@ angular.module('zmApp.controllers').controller('zmApp.LoginCtrl', ['$scope', '$r if ($rootScope.platformOS != 'desktop') { if ($scope.loginData.isUseBasicAuth) { - NVRDataModel.debug("Cordova HTTP: configuring basic auth"); + NVR.debug("Cordova HTTP: configuring basic auth"); cordova.plugin.http.useBasicAuth($scope.loginData.basicAuthUser, $scope.loginData.basicAuthPassword); } if (!$scope.loginData.enableStrictSSL) { //alert("Enabling insecure SSL"); - NVRDataModel.log(">>>> Disabling strict SSL checking (turn off in Dev Options if you can't connect)"); + NVR.log(">>>> Disabling strict SSL checking (turn off in Dev Options if you can't connect)"); cordova.plugin.http.setSSLCertMode('nocheck', function () { - NVRDataModel.debug('--> SSL is permissive, will allow any certs. Use at your own risk.'); + NVR.debug('--> SSL is permissive, will allow any certs. Use at your own risk.'); }, function () { console.log('-->Error setting SSL permissive'); }); if ($rootScope.platformOS == 'android') { - NVRDataModel.log (">>> Android: enabling inline image view for self signed certs"); + NVR.log (">>> Android: enabling inline image view for self signed certs"); cordova.plugins.certificates.trustUnsecureCerts(true); } } else { - NVRDataModel.log(">>>> Enabling strict SSL checking (turn off in Dev Options if you can't connect)"); + NVR.log(">>>> Enabling strict SSL checking (turn off in Dev Options if you can't connect)"); } if ($scope.loginData.saveToCloud) { - NVRDataModel.debug("writing data to cloud"); + NVR.debug("writing data to cloud"); - var serverGroupList = NVRDataModel.getServerGroups(); + var serverGroupList = NVR.getServerGroups(); serverGroupList[$scope.loginData.serverName] = angular.copy($scope.loginData); var ct = CryptoJS.AES.encrypt(JSON.stringify(serverGroupList), zm.cipherKey).toString(); @@ -631,24 +631,24 @@ angular.module('zmApp.controllers').controller('zmApp.LoginCtrl', ['$scope', '$r 'defaultServerName': $scope.loginData.serverName }, function () { - NVRDataModel.debug("local data synced with cloud..."); + NVR.debug("local data synced with cloud..."); }, function (err) { - NVRDataModel.debug("error syncing cloud data..." + JSON.stringify(err)); + NVR.debug("error syncing cloud data..." + JSON.stringify(err)); }, true); } else { - NVRDataModel.debug("Clearing cloud settings..."); + NVR.debug("Clearing cloud settings..."); window.cordova.plugin.cloudsettings.save({}, function () { - NVRDataModel.debug("cloud data cleared"); + NVR.debug("cloud data cleared"); }, function (err) { - NVRDataModel.debug("error clearing cloud data: " + err); + NVR.debug("error clearing cloud data: " + err); }, true); } @@ -657,7 +657,7 @@ angular.module('zmApp.controllers').controller('zmApp.LoginCtrl', ['$scope', '$r } - $rootScope.runMode = NVRDataModel.getBandwidth(); + $rootScope.runMode = NVR.getBandwidth(); oldName = $scope.loginData.serverName; @@ -665,7 +665,7 @@ angular.module('zmApp.controllers').controller('zmApp.LoginCtrl', ['$scope', '$r EventServer.init() .then(function (succ) { if ($rootScope.apnsToken && $scope.loginData.disablePush != true) { - NVRDataModel.log("Making sure we get push notifications"); + NVR.log("Making sure we get push notifications"); EventServer.sendMessage('push', { type: 'token', platform: $rootScope.platformOS, @@ -681,7 +681,7 @@ angular.module('zmApp.controllers').controller('zmApp.LoginCtrl', ['$scope', '$r }); }, function (err) { - NVRDataModel.log("Event server init failed"); + NVR.log("Event server init failed"); }); @@ -701,50 +701,50 @@ angular.module('zmApp.controllers').controller('zmApp.LoginCtrl', ['$scope', '$r // note that due to reachability, it might have switched to another server - if ($scope.loginData.serverName != NVRDataModel.getLogin().serverName) { - NVRDataModel.debug(">>> Server information has changed, likely a fallback took over!"); - $scope.loginData = NVRDataModel.getLogin(); + if ($scope.loginData.serverName != NVR.getLogin().serverName) { + NVR.debug(">>> Server information has changed, likely a fallback took over!"); + $scope.loginData = NVR.getLogin(); apiurl = $scope.loginData.apiurl + '/host/getVersion.json'; portalurl = $scope.loginData.url + '/index.php'; } // possible image digits changed between servers - NVRDataModel.getKeyConfigParams(0); + NVR.getKeyConfigParams(0); - NVRDataModel.log("Validating APIs at " + apiurl); + NVR.log("Validating APIs at " + apiurl); $http.get(apiurl) .then(function (data) { data = data.data; - NVRDataModel.getTimeZone(true); + NVR.getTimeZone(true); var loginStatus = $translate.instant('kExploreEnjoy') + " " + $rootScope.appName + "!"; EventServer.refresh(); // now grab and report PATH_ZMS - NVRDataModel.getPathZms() + NVR.getPathZms() .then(function (data) { - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); var zm_cgi = data.toLowerCase(); var user_cgi = (ld.streamingurl).toLowerCase(); - NVRDataModel.log("ZM relative cgi-path: " + zm_cgi + ", you entered: " + user_cgi); + NVR.log("ZM relative cgi-path: " + zm_cgi + ", you entered: " + user_cgi); $http.get(ld.streamingurl + "/zms") .then(function (data) { data = data.data; - NVRDataModel.debug("Urk! cgi-path returned success, but it should not have come here"); + NVR.debug("Urk! cgi-path returned success, but it should not have come here"); loginStatus = $translate.instant('kLoginStatusNoCgi'); - NVRDataModel.debug("refreshing API version..."); - NVRDataModel.getAPIversion() + NVR.debug("refreshing API version..."); + NVR.getAPIversion() .then(function (data) { - var refresh = NVRDataModel.getMonitors(1); + var refresh = NVR.getMonitors(1); $rootScope.apiVersion = data; }, function (error) { - var refresh = NVRDataModel.getMonitors(1); + var refresh = NVR.getMonitors(1); $rootScope.apiVersion = "0.0.0"; - NVRDataModel.debug("Error, failed API version, setting to " + $rootScope.apiVersion); + NVR.debug("Error, failed API version, setting to " + $rootScope.apiVersion); }); if (showalert) { @@ -756,7 +756,7 @@ angular.module('zmApp.controllers').controller('zmApp.LoginCtrl', ['$scope', '$r }).then(function (res) { $ionicSideMenuDelegate.toggleLeft(); - NVRDataModel.debug("Force reloading monitors..."); + NVR.debug("Force reloading monitors..."); }); } @@ -778,23 +778,23 @@ angular.module('zmApp.controllers').controller('zmApp.LoginCtrl', ['$scope', '$r }).then(function (res) { $ionicSideMenuDelegate.toggleLeft(); - NVRDataModel.debug("Force reloading monitors..."); + NVR.debug("Force reloading monitors..."); }); } else // make sure CGI error is always shown { - NVRDataModel.displayBanner((status < 500) ? 'error' : 'info', [loginStatus]); + NVR.displayBanner((status < 500) ? 'error' : 'info', [loginStatus]); } - NVRDataModel.debug("refreshing API version..."); - NVRDataModel.getAPIversion() + NVR.debug("refreshing API version..."); + NVR.getAPIversion() .then(function (data) { - var refresh = NVRDataModel.getMonitors(1); + var refresh = NVR.getMonitors(1); $rootScope.apiVersion = data; }, function (error) { - var refresh = NVRDataModel.getMonitors(1); + var refresh = NVR.getMonitors(1); $rootScope.apiVersion = "0.0.0"; - NVRDataModel.debug("Error, failed API version, setting to " + $rootScope.apiVersion); + NVR.debug("Error, failed API version, setting to " + $rootScope.apiVersion); }); }); @@ -802,8 +802,8 @@ angular.module('zmApp.controllers').controller('zmApp.LoginCtrl', ['$scope', '$r }, function (error) { - NVRDataModel.displayBanner('error', [$translate.instant('kBannerAPICheckFailed'), $translate.instant('kBannerPleaseCheck')]); - NVRDataModel.log("API login error " + JSON.stringify(error)); + NVR.displayBanner('error', [$translate.instant('kBannerAPICheckFailed'), $translate.instant('kBannerPleaseCheck')]); + NVR.log("API login error " + JSON.stringify(error)); $rootScope.zmPopup = SecuredPopups.show('alert', { title: $translate.instant('kLoginValidAPIFailedTitle'), @@ -823,8 +823,8 @@ angular.module('zmApp.controllers').controller('zmApp.LoginCtrl', ['$scope', '$r $scope.saveItems = function () { - NVRDataModel.debug("User tapped save, calling SaveItems"); - NVRDataModel.clearZmsMultiPortSupport(); + NVR.debug("User tapped save, calling SaveItems"); + NVR.clearZmsMultiPortSupport(); if (!$scope.loginData.serverName) { $rootScope.zmPopup = $ionicPopup.alert({ title: $translate.instant('kError'), @@ -835,7 +835,7 @@ angular.module('zmApp.controllers').controller('zmApp.LoginCtrl', ['$scope', '$r }); } else { saveItems(true); - availableServers = Object.keys(NVRDataModel.getServerGroups()); + availableServers = Object.keys(NVR.getServerGroups()); serverbuttons = [{ text: $translate.instant('kServerAdd') + "..." }]; diff --git a/www/js/MenuController.js b/www/js/MenuController.js index 729c47d8..c8127c75 100644 --- a/www/js/MenuController.js +++ b/www/js/MenuController.js @@ -2,7 +2,7 @@ /* jslint browser: true*/ /* global cordova,StatusBar,angular,console */ -angular.module('zmApp.controllers').controller('MenuController', ['$scope', '$ionicSideMenuDelegate', 'zm', '$stateParams', '$ionicHistory', '$state', 'NVRDataModel', '$rootScope', '$ionicPopup', '$translate', '$timeout', '$location', 'EventServer', 'zmAutoLogin', '$http', 'SecuredPopups', function ($scope, $ionicSideMenuDelegate, zm, $stateParams, $ionicHistory, $state, NVRDataModel, $rootScope, $ionicPopup, $translate, $timeout, $location, EventServer, zmAutoLogin, $http, SecuredPopups) { +angular.module('zmApp.controllers').controller('MenuController', ['$scope', '$ionicSideMenuDelegate', 'zm', '$stateParams', '$ionicHistory', '$state', 'NVR', '$rootScope', '$ionicPopup', '$translate', '$timeout', '$location', 'EventServer', 'zmAutoLogin', '$http', 'SecuredPopups', function ($scope, $ionicSideMenuDelegate, zm, $stateParams, $ionicHistory, $state, NVR, $rootScope, $ionicPopup, $translate, $timeout, $location, EventServer, zmAutoLogin, $http, SecuredPopups) { $scope.openMenu = function () { $ionicSideMenuDelegate.toggleLeft(); }; @@ -28,7 +28,7 @@ angular.module('zmApp.controllers').controller('MenuController', ['$scope', '$io $scope.navigateView = function (view, args) { if (view == $state.current.name) return; - NVRDataModel.debug("Navigating view to: " + view); + NVR.debug("Navigating view to: " + view); $ionicHistory.nextViewOptions({ disableBack: true }); @@ -55,21 +55,21 @@ angular.module('zmApp.controllers').controller('MenuController', ['$scope', '$io // First lets kill current stuf - NVRDataModel.debug("** Resetting existing server"); - var cld = NVRDataModel.getLogin(); + NVR.debug("** Resetting existing server"); + var cld = NVR.getLogin(); if (cld.isUseEventServer) { - NVRDataModel.debug("Stopping Event server"); + NVR.debug("Stopping Event server"); EventServer.disconnect(); } - NVRDataModel.debug("**Switching to new server..."); + NVR.debug("**Switching to new server..."); - NVRDataModel.clearZmsMultiPortSupport(); - var zmServers = NVRDataModel.getServerGroups(); + NVR.clearZmsMultiPortSupport(); + var zmServers = NVR.getServerGroups(); var loginData = zmServers[s]; - NVRDataModel.debug("Retrieved state for this profile:" + JSON.stringify(loginData)); - NVRDataModel.setLogin(loginData); + NVR.debug("Retrieved state for this profile:" + JSON.stringify(loginData)); + NVR.setLogin(loginData); @@ -87,28 +87,28 @@ angular.module('zmApp.controllers').controller('MenuController', ['$scope', '$io if (window.cordova) { if (loginData.isUseBasicAuth) { - NVRDataModel.debug("Cordova HTTP: configuring basic auth"); + NVR.debug("Cordova HTTP: configuring basic auth"); cordova.plugin.http.useBasicAuth(loginData.basicAuthUser, loginData.basicAuthPassword); } if (!loginData.enableStrictSSL) { //alert("Enabling insecure SSL"); - NVRDataModel.log(">>>> Disabling strict SSL checking (turn off in Dev Options if you can't connect)"); + NVR.log(">>>> Disabling strict SSL checking (turn off in Dev Options if you can't connect)"); cordova.plugin.http.setSSLCertMode('nocheck', function () { - NVRDataModel.debug('--> SSL is permissive, will allow any certs. Use at your own risk.'); + NVR.debug('--> SSL is permissive, will allow any certs. Use at your own risk.'); }, function () { console.log('-->Error setting SSL permissive'); }); if ($rootScope.platformOS == 'android') { - NVRDataModel.log (">>> Android: enabling inline image view for self signed certs"); + NVR.log (">>> Android: enabling inline image view for self signed certs"); cordova.plugins.certificates.trustUnsecureCerts(true); } } else { - NVRDataModel.log(">>>> Enabling strict SSL checking (turn off in Dev Options if you can't connect)"); + NVR.log(">>>> Enabling strict SSL checking (turn off in Dev Options if you can't connect)"); } @@ -126,7 +126,7 @@ angular.module('zmApp.controllers').controller('MenuController', ['$scope', '$io }); }, function (err) { - NVRDataModel.debug("EventServer init failed"); + NVR.debug("EventServer init failed"); }); @@ -146,37 +146,37 @@ angular.module('zmApp.controllers').controller('MenuController', ['$scope', '$io // possible image digits changed between servers - NVRDataModel.getKeyConfigParams(0); - $rootScope.runMode = NVRDataModel.getBandwidth(); - NVRDataModel.log("Validating APIs at " + apiurl); + NVR.getKeyConfigParams(0); + $rootScope.runMode = NVR.getBandwidth(); + NVR.log("Validating APIs at " + apiurl); $http.get(apiurl) .then(function (data) { data = data.data; - NVRDataModel.getTimeZone(true); + NVR.getTimeZone(true); var loginStatus = $translate.instant('kExploreEnjoy') + " " + $rootScope.appName + "!"; EventServer.refresh(); // now grab and report PATH_ZMS - NVRDataModel.getPathZms() + NVR.getPathZms() .then(function (data) { - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); var zm_cgi = data.toLowerCase(); var user_cgi = (ld.streamingurl).toLowerCase(); - NVRDataModel.log("ZM relative cgi-path: " + zm_cgi + ", you entered: " + user_cgi); + NVR.log("ZM relative cgi-path: " + zm_cgi + ", you entered: " + user_cgi); $http.get(ld.streamingurl + "/zms") .then(function (data) { data = data.data; - NVRDataModel.debug("Urk! cgi-path returned success, but it should not have come here"); + NVR.debug("Urk! cgi-path returned success, but it should not have come here"); loginStatus = $translate.instant('kLoginStatusNoCgi'); - NVRDataModel.debug("refreshing API version..."); - NVRDataModel.getAPIversion() + NVR.debug("refreshing API version..."); + NVR.getAPIversion() .then(function (data) { $rootScope.apiVersion = data; - var refresh = NVRDataModel.getMonitors(1) + var refresh = NVR.getMonitors(1) .then(function () { @@ -194,11 +194,11 @@ angular.module('zmApp.controllers').controller('MenuController', ['$scope', '$io }, function (error) { - var refresh = NVRDataModel.getMonitors(1) + var refresh = NVR.getMonitors(1) .then(function () { console.log("+++ state go after API version error: " + error); $rootScope.apiVersion = "0.0.0"; - NVRDataModel.debug("Error, failed API version, setting to " + $rootScope.apiVersion); + NVR.debug("Error, failed API version, setting to " + $rootScope.apiVersion); $ionicHistory.nextViewOptions({ disableBack: true @@ -225,12 +225,12 @@ angular.module('zmApp.controllers').controller('MenuController', ['$scope', '$io loginStatus = $translate.instant('kLoginStatusNoCgiAlt'); } - NVRDataModel.displayBanner((status < 500) ? 'error' : 'info', [loginStatus]); + NVR.displayBanner((status < 500) ? 'error' : 'info', [loginStatus]); - NVRDataModel.debug("refreshing API version..."); - NVRDataModel.getAPIversion() + NVR.debug("refreshing API version..."); + NVR.getAPIversion() .then(function (data) { - var refresh = NVRDataModel.getMonitors(1) + var refresh = NVR.getMonitors(1) .then(function () { $rootScope.apiVersion = data; $ionicHistory.nextViewOptions({ @@ -246,10 +246,10 @@ angular.module('zmApp.controllers').controller('MenuController', ['$scope', '$io }, function (error) { - var refresh = NVRDataModel.getMonitors(1) + var refresh = NVR.getMonitors(1) .then(function () { $rootScope.apiVersion = "0.0.0"; - NVRDataModel.debug("Error, failed API version, setting to " + $rootScope.apiVersion); + NVR.debug("Error, failed API version, setting to " + $rootScope.apiVersion); $ionicHistory.nextViewOptions({ disableBack: true }); @@ -268,8 +268,8 @@ angular.module('zmApp.controllers').controller('MenuController', ['$scope', '$io }, function (error) { - NVRDataModel.displayBanner('error', [$translate.instant('kBannerAPICheckFailed'), $translate.instant('kBannerPleaseCheck')]); - NVRDataModel.log("API login error " + JSON.stringify(error)); + NVR.displayBanner('error', [$translate.instant('kBannerAPICheckFailed'), $translate.instant('kBannerPleaseCheck')]); + NVR.log("API login error " + JSON.stringify(error)); $rootScope.zmPopup = SecuredPopups.show('alert', { title: $translate.instant('kLoginValidAPIFailedTitle'), @@ -288,7 +288,7 @@ angular.module('zmApp.controllers').controller('MenuController', ['$scope', '$io $scope.newServer = { val: "" }; - $scope.avs = Object.keys(NVRDataModel.getServerGroups()); + $scope.avs = Object.keys(NVR.getServerGroups()); $scope.avs = $scope.avs.filter(function () { return true; @@ -303,7 +303,7 @@ angular.module('zmApp.controllers').controller('MenuController', ['$scope', '$io template: '<ion-radio-fix ng-if="item" ng-repeat="item in avs" ng-value="item" ng-model="newServer.val" > {{item}} </ion-radio-fix>', title: $translate.instant('kSelect'), - subTitle: $translate.instant('kActive') + ': '+ NVRDataModel.getLogin().serverName, + subTitle: $translate.instant('kActive') + ': '+ NVR.getLogin().serverName, buttons: [{ text: $translate.instant('kButtonCancel'), @@ -318,12 +318,12 @@ angular.module('zmApp.controllers').controller('MenuController', ['$scope', '$io { text: $translate.instant('kButtonOk'), onTap: function (e) { - NVRDataModel.log("Server selected:" + $scope.newServer.val); + NVR.log("Server selected:" + $scope.newServer.val); if ($ionicSideMenuDelegate.isOpen()) { $ionicSideMenuDelegate.toggleLeft(); } - if (NVRDataModel.getLogin().serverName != $scope.newServer.val) + if (NVR.getLogin().serverName != $scope.newServer.val) switchToServer($scope.newServer.val); //$rootScope.$broadcast('server-changed'); @@ -341,7 +341,7 @@ angular.module('zmApp.controllers').controller('MenuController', ['$scope', '$io $scope.switchLang = function () { - $scope.lang = NVRDataModel.getLanguages(); + $scope.lang = NVR.getLanguages(); $scope.myopt = { lang: "" }; @@ -362,8 +362,8 @@ angular.module('zmApp.controllers').controller('MenuController', ['$scope', '$io { text: $translate.instant('kButtonOk'), onTap: function (e) { - NVRDataModel.log("Language selected:" + $scope.myopt.lang); - NVRDataModel.setDefaultLanguage($scope.myopt.lang, true); + NVR.log("Language selected:" + $scope.myopt.lang); + NVR.setDefaultLanguage($scope.myopt.lang, true); $rootScope.$broadcast('language-changed'); //return "OK"; diff --git a/www/js/MomentCtrl.js b/www/js/MomentCtrl.js index ab243b3e..3b7a83ce 100644 --- a/www/js/MomentCtrl.js +++ b/www/js/MomentCtrl.js @@ -7,7 +7,7 @@ //https:///zm/api/events/index/AlarmFrames%20%3E=:1/StartTime%20%3E=:2017-12-16%2009:08:50.json?sort=TotScore&direction=desc -angular.module('zmApp.controllers').controller('zmApp.MomentCtrl', ['$scope', '$rootScope', '$ionicModal', 'NVRDataModel', '$ionicSideMenuDelegate', '$ionicHistory', '$state', '$translate', '$templateRequest', '$sce', '$compile', '$http', '$ionicLoading', 'zm', '$timeout', '$q', '$ionicPopover', '$ionicPopup', 'message', '$ionicScrollDelegate', function ($scope, $rootScope, $ionicModal, NVRDataModel, $ionicSideMenuDelegate, $ionicHistory, $state, $translate, $templateRequest, $sce, $compile, $http, $ionicLoading, zm, $timeout, $q, $ionicPopover, $ionicPopup, message, $ionicScrollDelegate) { +angular.module('zmApp.controllers').controller('zmApp.MomentCtrl', ['$scope', '$rootScope', '$ionicModal', 'NVR', '$ionicSideMenuDelegate', '$ionicHistory', '$state', '$translate', '$templateRequest', '$sce', '$compile', '$http', '$ionicLoading', 'zm', '$timeout', '$q', '$ionicPopover', '$ionicPopup', 'message', '$ionicScrollDelegate', function ($scope, $rootScope, $ionicModal, NVR, $ionicSideMenuDelegate, $ionicHistory, $state, $translate, $templateRequest, $sce, $compile, $http, $ionicLoading, zm, $timeout, $q, $ionicPopover, $ionicPopup, message, $ionicScrollDelegate) { var masonry = null; var timeFrom; @@ -76,7 +76,7 @@ angular.module('zmApp.controllers').controller('zmApp.MomentCtrl', ['$scope', '$ for (var i = 0; i < excludeMonitors.length; i++) { excludeMonitorsFilter = excludeMonitorsFilter + "/MonitorId !=:" + excludeMonitors[i]; } - NVRDataModel.debug("Constructed Monitor Filter =" + excludeMonitorsFilter); + NVR.debug("Constructed Monitor Filter =" + excludeMonitorsFilter); } //---------------------------------------------------------------- @@ -101,7 +101,7 @@ angular.module('zmApp.controllers').controller('zmApp.MomentCtrl', ['$scope', '$ //---------------------------------------------------------------- function process(rawdata) { var data = rawdata.data; - NVRDataModel.debug("--------> attempting PAGE " + data.pagination.page + " of " + data.pagination.pageCount); + NVR.debug("--------> attempting PAGE " + data.pagination.page + " of " + data.pagination.pageCount); for (var i = 0; i < data.events.length; i++) { var d = getMonitorDimensions(data.events[i].Event.MonitorId); if (d) { @@ -137,9 +137,9 @@ angular.module('zmApp.controllers').controller('zmApp.MomentCtrl', ['$scope', '$ data.events[i].Event.hide = false; data.events[i].Event.icon = "ion-code-working"; - data.events[i].Event.recordingURL = NVRDataModel.getLogin().url; + data.events[i].Event.recordingURL = NVR.getLogin().url; - data.events[i].Event.monitorName = NVRDataModel.getMonitorName(data.events[i].Event.MonitorId); + data.events[i].Event.monitorName = NVR.getMonitorName(data.events[i].Event.MonitorId); data.events[i].Event.dateObject = new Date(data.events[i].Event.StartTime); data.events[i].Event.humanizeTime = humanizeTime(data.events[i].Event.StartTime); var mid = data.events[i].Event.MonitorId; @@ -225,9 +225,9 @@ angular.module('zmApp.controllers').controller('zmApp.MomentCtrl', ['$scope', '$ $scope.toggleSubMenu = function () { $scope.isSubMenu = !$scope.isSubMenu; - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); ld.enableMomentSubMenu = $scope.isSubMenu; - NVRDataModel.setLogin(ld); + NVR.setLogin(ld); if ($scope.isSubMenu) $ionicScrollDelegate.$getByHandle("moment-delegate").scrollTop(); }; @@ -242,9 +242,9 @@ angular.module('zmApp.controllers').controller('zmApp.MomentCtrl', ['$scope', '$ if (sz > 100) sz = 100; $scope.gridSize = sz; - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); ld.momentGridSize = $scope.gridSize; - NVRDataModel.setLogin(ld); + NVR.setLogin(ld); $timeout(function () { masonry.layout(); @@ -257,7 +257,7 @@ angular.module('zmApp.controllers').controller('zmApp.MomentCtrl', ['$scope', '$ // the times when images take too long and masonry gets messed //---------------------------------------------------------------- $scope.reLayout = function () { - NVRDataModel.log("relaying masonry"); + NVR.log("relaying masonry"); $timeout(function () { masonry.layout(); }, 300); @@ -270,12 +270,12 @@ angular.module('zmApp.controllers').controller('zmApp.MomentCtrl', ['$scope', '$ // console.log ($scope.isMaxScoreFramePresent); stream = moment.Event.recordingURL + "/index.php?view=image" + "&eid=" + moment.Event.Id + "&fid=" + - NVRDataModel.getSnapshotFrame() + + NVR.getSnapshotFrame() + "&width=" + moment.Event.thumbWidth * 2 + "&height=" + moment.Event.thumbHeight * 2; if ($rootScope.authSession != 'undefined') stream += $rootScope.authSession; - stream += NVRDataModel.insertBasicAuthToken(); + stream += NVR.insertBasicAuthToken(); return stream; }; @@ -309,7 +309,7 @@ angular.module('zmApp.controllers').controller('zmApp.MomentCtrl', ['$scope', '$ $scope.togglePin = function (eid) { var ndx = getIndexFromEID(eid); if (ndx == -1) { - NVRDataModel.log("Uh oh, ndx returned -1, this should never happen. Event passed was " + eid); + NVR.log("Uh oh, ndx returned -1, this should never happen. Event passed was " + eid); return; } @@ -322,11 +322,11 @@ angular.module('zmApp.controllers').controller('zmApp.MomentCtrl', ['$scope', '$ $scope.expand = !$scope.expand; if ($scope.expand) expandAll(); else collapseAll(); - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); ld.montageReviewCollapse = $scope.expand; console.log(">>>>>>>>> SAVING EXPAND AS:" + $scope.expand); - NVRDataModel.setLogin(ld); + NVR.setLogin(ld); }; @@ -338,7 +338,7 @@ angular.module('zmApp.controllers').controller('zmApp.MomentCtrl', ['$scope', '$ function _expandAll(arr) { - NVRDataModel.debug("Expanding all images"); + NVR.debug("Expanding all images"); for (var i = 0; i < arr.length; i++) { arr[i].Event.hide = false; arr[i].Event.icon = 'ion-code-working'; @@ -363,7 +363,7 @@ angular.module('zmApp.controllers').controller('zmApp.MomentCtrl', ['$scope', '$ function _collapseAll(arr) { - NVRDataModel.debug("Collapsing all images"); + NVR.debug("Collapsing all images"); for (var i = 0; i < monitors.length; i++) { var firstFound = false; var firstIndex = -1; @@ -417,13 +417,13 @@ angular.module('zmApp.controllers').controller('zmApp.MomentCtrl', ['$scope', '$ // same monitor should expand, even if they were grouped earlier $scope.toggleCollapse = function (mid, eid) { - //NVRDataModel.debug("toggling collapse for:" + mid); + //NVR.debug("toggling collapse for:" + mid); var collapseCount = 0; var hide = false; var ndx = getIndexFromEID(eid); if (ndx == -1) { - NVRDataModel.log("Uh oh, ndx returned -1, this should never happen. Event passed was " + eid); + NVR.log("Uh oh, ndx returned -1, this should never happen. Event passed was " + eid); return; } @@ -471,7 +471,7 @@ angular.module('zmApp.controllers').controller('zmApp.MomentCtrl', ['$scope', '$ //---------------------------------------------------------------- $scope.hourmin = function (str) { - return moment(str).format(NVRDataModel.getTimeFormat()); + return moment(str).format(NVR.getTimeFormat()); }; @@ -497,9 +497,9 @@ angular.module('zmApp.controllers').controller('zmApp.MomentCtrl', ['$scope', '$ } constructMask(); - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); ld.momentMonitorFilter = JSON.stringify(excludeMonitors); - NVRDataModel.setLogin(ld); + NVR.setLogin(ld); getMoments(momentType); @@ -521,7 +521,7 @@ angular.module('zmApp.controllers').controller('zmApp.MomentCtrl', ['$scope', '$ } - NVRDataModel.debug("index " + i + " is now " + $scope.monitors[i].Monitor.listDisplay); + NVR.debug("index " + i + " is now " + $scope.monitors[i].Monitor.listDisplay); }; @@ -546,7 +546,7 @@ angular.module('zmApp.controllers').controller('zmApp.MomentCtrl', ['$scope', '$ function humanizeTime(str) { - return moment.tz(str, NVRDataModel.getTimeZoneNow()).fromNow(); + return moment.tz(str, NVR.getTimeZoneNow()).fromNow(); } //---------------------------------------------------------------- @@ -563,7 +563,7 @@ angular.module('zmApp.controllers').controller('zmApp.MomentCtrl', ['$scope', '$ $scope.areImagesLoading = true; var progressCalled = false; - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); var elem = angular.element(document.getElementById("mygrid")); masonry = new Masonry('.grid', { @@ -581,13 +581,13 @@ angular.module('zmApp.controllers').controller('zmApp.MomentCtrl', ['$scope', '$ }); imagesLoaded(elem).once('always', function () { - NVRDataModel.debug("All images loaded"); + NVR.debug("All images loaded"); $ionicLoading.hide(); $scope.areImagesLoading = false; jiggleAway(); if (!progressCalled) { - NVRDataModel.log("*** PROGRESS WAS NOT CALLED"); + NVR.log("*** PROGRESS WAS NOT CALLED"); masonry.reloadItems(); jiggleAway(); } @@ -596,8 +596,8 @@ angular.module('zmApp.controllers').controller('zmApp.MomentCtrl', ['$scope', '$ } $scope.closeModal = function () { - NVRDataModel.debug(">>>MomentCtrl:Close & Destroy Modal"); - NVRDataModel.setAwake(false); + NVR.debug(">>>MomentCtrl:Close & Destroy Modal"); + NVR.setAwake(false); if ($scope.modal !== undefined) { $scope.modal.remove(); } @@ -614,7 +614,7 @@ angular.module('zmApp.controllers').controller('zmApp.MomentCtrl', ['$scope', '$ $scope.currentEvent = event; $scope.event = event; $scope.monitors = monitors; - NVRDataModel.setAwake(NVRDataModel.getKeepAwake()); + NVR.setAwake(NVR.getKeepAwake()); $scope.followSameMonitor = "0"; $scope.mycarousel = { index: 0 @@ -624,7 +624,7 @@ angular.module('zmApp.controllers').controller('zmApp.MomentCtrl', ['$scope', '$ index: 1 }; - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); var sl = 'disabled'; if (ld.showLiveForInProgressEvents) { sl = 'enabled'; @@ -652,7 +652,7 @@ angular.module('zmApp.controllers').controller('zmApp.MomentCtrl', ['$scope', '$ $scope.modal.show(); - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); }); @@ -666,9 +666,9 @@ angular.module('zmApp.controllers').controller('zmApp.MomentCtrl', ['$scope', '$ $scope.getMoments = function (cond) { if (!cond) cond = momentType; - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); ld.momentArrangeBy = cond; - NVRDataModel.setLogin(ld); + NVR.setLogin(ld); getMoments(cond); }; @@ -687,7 +687,7 @@ angular.module('zmApp.controllers').controller('zmApp.MomentCtrl', ['$scope', '$ t = moment(timeTo); t.add(1, "day"); if (t > moment()) { - NVRDataModel.log("Future date selected, ignoring"); + NVR.log("Future date selected, ignoring"); return; } //console.log("T=" + t.format("MMM DD,YYYY HH:mm")); @@ -720,10 +720,10 @@ angular.module('zmApp.controllers').controller('zmApp.MomentCtrl', ['$scope', '$ } - $scope.apiurl = NVRDataModel.getLogin().apiurl; + $scope.apiurl = NVR.getLogin().apiurl; moments.length = 0; - NVRDataModel.setAwake(false); + NVR.setAwake(false); var tmptimeto, tmptimefrom; @@ -742,19 +742,19 @@ angular.module('zmApp.controllers').controller('zmApp.MomentCtrl', ['$scope', '$ timeTo = tmptimeto.format('YYYY-MM-DD HH:mm:ss'); - $scope.displayTimeFrom = moment(timeFrom).format("MMM DD," + NVRDataModel.getTimeFormat()); - $scope.displayTimeTo = moment(timeTo).format("MMM DD," + NVRDataModel.getTimeFormat()); + $scope.displayTimeFrom = moment(timeFrom).format("MMM DD," + NVR.getTimeFormat()); + $scope.displayTimeTo = moment(timeTo).format("MMM DD," + NVR.getTimeFormat()); - NVRDataModel.debug("Moments from " + timeFrom + " to " + timeTo); + NVR.debug("Moments from " + timeFrom + " to " + timeTo); // format: //https:///zm/api/events/index/AlarmFrames%20%3E=:1/StartTime%20%3E=:2017-12-16%2009:08:50.json?sort=TotScore&direction=desc - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); // in API, always sort by StartTime so all monitors are represented var myurl = ld.apiurl + "/events/index/AlarmFrames >=:1" + excludeMonitorsFilter + "/StartTime >=:" + timeFrom + "/StartTime <=:" + timeTo + ".json?sort=" + "StartTime" + "&direction=desc"; - NVRDataModel.debug("Retrieving " + myurl); + NVR.debug("Retrieving " + myurl); // very cool trick to parallel fork HTTP requests and not bork on errors. Basically, we catch errors and ignore @@ -768,7 +768,7 @@ angular.module('zmApp.controllers').controller('zmApp.MomentCtrl', ['$scope', '$ ]) .then(function () { - NVRDataModel.debug("$q.all Parallel queries completed"); + NVR.debug("$q.all Parallel queries completed"); if (!moments.length) { $scope.loadingStatus = $translate.instant('kMomentNoneFound'); @@ -810,7 +810,7 @@ angular.module('zmApp.controllers').controller('zmApp.MomentCtrl', ['$scope', '$ //---------------------------------------------------------------- $scope.$on('$ionicView.beforeLeave', function () { - NVRDataModel.debug("Destroying masonry"); + NVR.debug("Destroying masonry"); masonry.destroy(); }); @@ -831,9 +831,9 @@ angular.module('zmApp.controllers').controller('zmApp.MomentCtrl', ['$scope', '$ $scope.$on ( "process-push", function () { - NVRDataModel.debug (">> MomentCtrl: push handler"); - var s = NVRDataModel.evaluateTappedNotification(); - NVRDataModel.debug("tapped Notification evaluation:"+ JSON.stringify(s)); + NVR.debug (">> MomentCtrl: push handler"); + var s = NVR.evaluateTappedNotification(); + NVR.debug("tapped Notification evaluation:"+ JSON.stringify(s)); $ionicHistory.nextViewOptions({ disableAnimate:true, disableBack: true @@ -845,7 +845,7 @@ angular.module('zmApp.controllers').controller('zmApp.MomentCtrl', ['$scope', '$ monitors = angular.copy(message); // don't mess up the main monitors list masonry = null; - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); $scope.showIcons = true; $scope.areImagesLoading = true; diff --git a/www/js/MonitorCtrl.js b/www/js/MonitorCtrl.js index 7241db53..9381ae6c 100644 --- a/www/js/MonitorCtrl.js +++ b/www/js/MonitorCtrl.js @@ -6,8 +6,8 @@ // 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', '$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) { + .controller('zmApp.MonitorCtrl', ['$ionicPopup', 'zm', '$scope', 'NVR', '$ionicSideMenuDelegate', '$ionicLoading', '$ionicModal', '$state', '$http', '$rootScope', '$timeout', '$ionicHistory', '$ionicPlatform', '$translate', '$q', + function ($ionicPopup, zm, $scope, NVR, $ionicSideMenuDelegate, $ionicLoading, $ionicModal, $state, $http, $rootScope, $timeout, $ionicHistory, $ionicPlatform, $translate, $q) { var loginData; @@ -22,11 +22,11 @@ angular.module('zmApp.controllers') e.preventDefault(); if ($scope.modal != undefined && $scope.modal.isShown()) { // switch off awake, as liveview is finished - NVRDataModel.debug("Modal is open, closing it"); - NVRDataModel.setAwake(false); + NVR.debug("Modal is open, closing it"); + NVR.setAwake(false); $scope.modal.remove(); } else { - NVRDataModel.debug("Modal is closed, so toggling or exiting"); + NVR.debug("Modal is closed, so toggling or exiting"); if (!$ionicSideMenuDelegate.isOpenLeft()) { $ionicSideMenuDelegate.toggleLeft(); @@ -137,13 +137,13 @@ angular.module('zmApp.controllers') text: $translate.instant('kButtonSave'), onTap: function (e) { $scope.monfunc.mymonitorsIds.forEach(function (item, index) { - NVRDataModel.debug("MonitorCtrl:changeConfig selection:" + $scope.monfunc.myenabled + + NVR.debug("MonitorCtrl:changeConfig selection:" + $scope.monfunc.myenabled + $scope.monfunc.myfunc); - var loginData = NVRDataModel.getLogin(); + var loginData = NVR.getLogin(); var apiRestart = loginData.apiurl + "/states/change/restart.json"; var apiMon = loginData.apiurl + "/monitors/" + item + ".json"; - NVRDataModel.debug("MonitorCtrl: URLs for changeConfig save:" + apiMon); + NVR.debug("MonitorCtrl: URLs for changeConfig save:" + apiMon); var isEnabled = ""; isEnabled = ($scope.monfunc.myenabled == true) ? '1' : '0'; @@ -168,7 +168,7 @@ angular.module('zmApp.controllers') encodeURIComponent(obj[p])); var foo = str.join("&"); // console.log("****RETURNING " + foo); - NVRDataModel.debug("MonitorCtrl: parmeters constructed: " + foo); + NVR.debug("MonitorCtrl: parmeters constructed: " + foo); return foo; }, data: { @@ -178,10 +178,10 @@ angular.module('zmApp.controllers') }) .then(function () { - NVRDataModel.debug("MonitorCtrl: Not restarting ZM - Make sure you have the patch installed in MonitorsController.php or this won't work"); + NVR.debug("MonitorCtrl: Not restarting ZM - Make sure you have the patch installed in MonitorsController.php or this won't work"); }, function (data, status, headers, config) { - NVRDataModel.debug("MonitorCtrl: Error changing monitor " + JSON.stringify(data)); + NVR.debug("MonitorCtrl: Error changing monitor " + JSON.stringify(data)); $scope.monfunc.myfailedIds.push(item); }); @@ -199,7 +199,7 @@ angular.module('zmApp.controllers') }); } else { // I am not restarting ZM after monitor change - /* NVRDataModel.debug ("MonitorCtrl: Restarting ZM"); + /* NVR.debug ("MonitorCtrl: Restarting ZM"); $ionicLoading.show({ template: "Successfully changed Monitor. Please wait, restarting ZoneMinder...", noBackdrop: true, @@ -208,7 +208,7 @@ angular.module('zmApp.controllers') $http.post(apiRestart) .then(function (success) { $ionicLoading.hide(); - var refresh = NVRDataModel.getMonitors(1); + var refresh = NVR.getMonitors(1); refresh.then(function (data) { $scope.monitors = data; $scope.$broadcast('scroll.refreshComplete'); @@ -251,9 +251,9 @@ angular.module('zmApp.controllers') $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)); + NVR.debug (">> MonitorCtrl: push handler"); + var s = NVR.evaluateTappedNotification(); + NVR.debug("tapped Notification evaluation:"+ JSON.stringify(s)); $ionicHistory.nextViewOptions({ disableAnimate:true, disableBack: true @@ -263,7 +263,7 @@ angular.module('zmApp.controllers') }); $scope.$on('$ionicView.enter', function () { // console.log("**VIEW ** Monitor Ctrl Entered"); - NVRDataModel.setAwake(false); + NVR.setAwake(false); $ionicSideMenuDelegate.canDragContent(true); $scope.areImagesLoading = true; }); @@ -271,7 +271,7 @@ angular.module('zmApp.controllers') $scope.$on('$ionicView.afterEnter', function () { // console.log("**VIEW ** Monitor Ctrl Entered"); - NVRDataModel.debug ("Monitor Control afterEnter"); + NVR.debug ("Monitor Control afterEnter"); $scope.monitors = []; $scope.monitorLoadStatus = $translate.instant ('kPleaseWait')+'...'; @@ -280,21 +280,21 @@ angular.module('zmApp.controllers') - loginData = NVRDataModel.getLogin(); + loginData = NVR.getLogin(); monitorStateCheck(); - //console.log("Setting Awake to " + NVRDataModel.getKeepAwake()); - NVRDataModel.setAwake(NVRDataModel.getKeepAwake()); + //console.log("Setting Awake to " + NVR.getKeepAwake()); + NVR.setAwake(NVR.getKeepAwake()); // Now lets see if we need to load live screen // $rootScope.tappedMid = 1; if ($rootScope.tappedMid != 0) { - NVRDataModel.log("Notification tapped, we need to go to monitor " + $rootScope.tappedMid); + NVR.log("Notification tapped, we need to go to monitor " + $rootScope.tappedMid); var tm = $rootScope.tappedMid; $rootScope.tappedMid = 0; var monitem; - NVRDataModel.getMonitors(0) + NVR.getMonitors(0) .then ( function (data) { $scope.monitors = data; for (var m = 0; m < $scope.monitors.length; m++) { @@ -328,26 +328,26 @@ angular.module('zmApp.controllers') }; function openModal(mid, controllable, controlid, connKey, monitor) { - NVRDataModel.debug("MonitorCtrl:Open Monitor Modal with monitor Id=" + mid + + NVR.debug("MonitorCtrl:Open Monitor Modal with monitor Id=" + mid + " and Controllable:" + controllable + " with control ID:" + controlid); $scope.controlURL = monitor.Monitor.controlURL; $scope.monitor = monitor; //console.log (">>>>>>>>>>>> MONITOR CRL " + $scope.monitor. $scope.monitorId = mid; - $scope.monitorName = NVRDataModel.getMonitorName(mid); - $scope.LoginData = NVRDataModel.getLogin(); + $scope.monitorName = NVR.getMonitorName(mid); + $scope.LoginData = NVR.getLogin(); $scope.rand = Math.floor(Math.random() * (999999 - 111111 + 1)) + 111111; $scope.refMonitor = monitor; - NVRDataModel.log("Monitor Orientation is: " + $scope.orientation); + NVR.log("Monitor Orientation is: " + $scope.orientation); $rootScope.rand = Math.floor(Math.random() * (999999 - 111111 + 1)) + 111111; $scope.showPTZ = false; $scope.monitorId = mid; - $scope.monitorName = NVRDataModel.getMonitorName(mid); + $scope.monitorName = NVR.getMonitorName(mid); $scope.controlid = controlid; - $scope.LoginData = NVRDataModel.getLogin(); + $scope.LoginData = NVR.getLogin(); $rootScope.modalRand = Math.floor(Math.random() * (999999 - 111111 + 1)) + 111111; $scope.ptzMoveCommand = ""; @@ -367,7 +367,7 @@ angular.module('zmApp.controllers') // This is a modal to show the monitor footage // We need to switch to always awake if set so the feed doesn't get interrupted - NVRDataModel.setAwake(NVRDataModel.getKeepAwake()); + NVR.setAwake(NVR.getKeepAwake()); $ionicModal.fromTemplateUrl('templates/monitors-modal.html', { scope: $scope, @@ -387,11 +387,11 @@ angular.module('zmApp.controllers') // stop networking -nph-zms keeps sucking data // switch off awake, as liveview is finished - NVRDataModel.setAwake(false); + NVR.setAwake(false); $scope.modal.remove(); $timeout(function () { - NVRDataModel.log("MonitorCtrl:Stopping network pull..."); - if (NVRDataModel.isForceNetworkStop()) NVRDataModel.stopNetwork("MonitorCtrl-closeModal"); + NVR.log("MonitorCtrl:Stopping network pull..."); + if (NVR.isForceNetworkStop()) NVR.stopNetwork("MonitorCtrl-closeModal"); }, 300); }; @@ -408,9 +408,9 @@ angular.module('zmApp.controllers') function monitorStateCheck() { // console.log ("Checking monitors"); - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); // force get for latest status of monitors if av. - NVRDataModel.getMonitors(1) + NVR.getMonitors(1) .then (function (data) { $scope.monitors = data; @@ -420,17 +420,17 @@ angular.module('zmApp.controllers') } if (!$scope.monitors[0].Monitor_Status ) { - NVRDataModel.debug ("no Monitor_Status found reverting to daemonCheck..."); + NVR.debug ("no Monitor_Status found reverting to daemonCheck..."); forceDaemonCheck(); } else { - NVRDataModel.debug ("reporting status of monitors from multi-server API"); + NVR.debug ("reporting status of monitors from multi-server API"); processMonitorStatus(); } }, function (err) { - NVRDataModel.debug ("Monitor fetch error, reverting to daemonCheck..."); + NVR.debug ("Monitor fetch error, reverting to daemonCheck..."); $scope.monitorLoadStatus = $translate.instant ('kNoMonitors'); forceDaemonCheck(); }); @@ -465,7 +465,7 @@ angular.module('zmApp.controllers') function forceDaemonCheck() { var apiMonCheck; - $scope.loginData = NVRDataModel.getLogin(); + $scope.loginData = NVR.getLogin(); // The status is provided by zmdc.pl // "not running", "pending", "running since", "Unable to connect" @@ -479,12 +479,12 @@ angular.module('zmApp.controllers') apiMonCheck = $scope.loginData.apiurl + "/monitors/daemonStatus/id:" + $scope.monitors[j].Monitor.Id + "/daemon:zmc.json"; - NVRDataModel.debug("MonitorCtrl:monitorStateCheck: " + apiMonCheck); + NVR.debug("MonitorCtrl:monitorStateCheck: " + apiMonCheck); //console.log("**** ZMC CHECK " + apiMonCheck); $http.get(apiMonCheck) .then(function (data) { data = data.data; - NVRDataModel.debug("MonitorCtrl: monitor check state returned: " + JSON.stringify(data)); + NVR.debug("MonitorCtrl: monitor check state returned: " + JSON.stringify(data)); if (data.statustext.indexOf("not running") > -1) { $scope.monitors[j].Monitor.isRunning = "false"; $scope.monitors[j].Monitor.color = zm.monitorNotRunningColor; @@ -505,9 +505,9 @@ angular.module('zmApp.controllers') $scope.monitors[j].Monitor.isRunningText = data.statustext; }, function (data) { - NVRDataModel.debug("MonitorCtrl: Error->monitor check state returned: " + + NVR.debug("MonitorCtrl: Error->monitor check state returned: " + JSON.stringify(data)); - NVRDataModel.displayBanner('error', [$translate.instant('kErrorRetrievingState'), $translate.instant('kPleaseTryAgain')]); + NVR.displayBanner('error', [$translate.instant('kErrorRetrievingState'), $translate.instant('kPleaseTryAgain')]); $scope.monitors[j].Monitor.isRunning = "error"; $scope.monitors[j].Monitor.color = zm.monitorErrorColor; $scope.monitors[j].Monitor.char = "ion-help-circled"; @@ -520,7 +520,7 @@ angular.module('zmApp.controllers') function doRefresh() { $scope.monitors = []; - var refresh = NVRDataModel.getMonitors(1); + var refresh = NVR.getMonitors(1); refresh.then(function (data) { $scope.monitors = data; diff --git a/www/js/MonitorModalCtrl.js b/www/js/MonitorModalCtrl.js index 41eac0ed..4fb320bb 100644 --- a/www/js/MonitorModalCtrl.js +++ b/www/js/MonitorModalCtrl.js @@ -3,14 +3,14 @@ /* jslint browser: true*/ /* global saveAs, cordova,StatusBar,angular,console,ionic, moment, imagesLoaded, chrome */ -angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$rootScope', 'zm', 'NVRDataModel', '$ionicSideMenuDelegate', '$timeout', '$interval', '$ionicModal', '$ionicLoading', '$http', '$state', '$stateParams', '$ionicHistory', '$ionicScrollDelegate', '$q', '$sce', 'carouselUtils', '$ionicPopup', 'SecuredPopups', '$translate', '$cordovaFile', function ($scope, $rootScope, zm, NVRDataModel, $ionicSideMenuDelegate, $timeout, $interval, $ionicModal, $ionicLoading, $http, $state, $stateParams, $ionicHistory, $ionicScrollDelegate, $q, $sce, carouselUtils, $ionicPopup, SecuredPopups, $translate, $cordovaFile) { +angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$rootScope', 'zm', 'NVR', '$ionicSideMenuDelegate', '$timeout', '$interval', '$ionicModal', '$ionicLoading', '$http', '$state', '$stateParams', '$ionicHistory', '$ionicScrollDelegate', '$q', '$sce', 'carouselUtils', '$ionicPopup', 'SecuredPopups', '$translate', '$cordovaFile', function ($scope, $rootScope, zm, NVR, $ionicSideMenuDelegate, $timeout, $interval, $ionicModal, $ionicLoading, $http, $state, $stateParams, $ionicHistory, $ionicScrollDelegate, $q, $sce, carouselUtils, $ionicPopup, SecuredPopups, $translate, $cordovaFile) { $scope.animationInProgress = false; $scope.imageFit = true; $scope.isModalActive = true; var intervalModalHandle; var cycleHandle; - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); $scope.svgReady = false; $scope.zoneArray = []; var originalZones = []; @@ -28,26 +28,26 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ $scope.currentStreamMode = 'single'; - NVRDataModel.log("Using stream mode " + $scope.currentStreamMode); + NVR.log("Using stream mode " + $scope.currentStreamMode); - NVRDataModel.debug("MonitorModalCtrl called from " + $ionicHistory.currentStateName()); + NVR.debug("MonitorModalCtrl called from " + $ionicHistory.currentStateName()); //no need to recompute auth in modal /*$rootScope.validMonitorId = $scope.monitors[0].Monitor.Id; - NVRDataModel.getAuthKey($rootScope.validMonitorId, $scope.monitors[0].Monitor.connKey) + NVR.getAuthKey($rootScope.validMonitorId, $scope.monitors[0].Monitor.connKey) .then(function (success) { $ionicLoading.hide(); $rootScope.authSession = success; - NVRDataModel.log("Modal: Stream authentication construction: " + $rootScope.authSession); + NVR.log("Modal: Stream authentication construction: " + $rootScope.authSession); }, function (error) { $ionicLoading.hide(); - NVRDataModel.debug("ModalCtrl: Error details of stream auth:" + error); + NVR.debug("ModalCtrl: Error details of stream auth:" + error); //$rootScope.authSession=""; - NVRDataModel.log("Modal: Error returned Stream authentication construction. Retaining old value of: " + $rootScope.authSession); + NVR.log("Modal: Error returned Stream authentication construction. Retaining old value of: " + $rootScope.authSession); }); */ @@ -117,7 +117,7 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ $scope.togglePTZ(); } else { // rest of the functions are PTZ if (!$scope.showPTZ) { - NVRDataModel.debug("PTZ is not on, or disabled"); + NVR.debug("PTZ is not on, or disabled"); return; } // coming here means PTZ is on @@ -152,10 +152,10 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ break; } if (cmd) { - NVRDataModel.debug("Invoking controlPTZ with " + cmd); + NVR.debug("Invoking controlPTZ with " + cmd); $scope.controlPTZ($scope.monitorId, cmd); } else { - NVRDataModel.debug("ignoring invalid PTZ command"); + NVR.debug("ignoring invalid PTZ command"); } } @@ -287,17 +287,17 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ var as = $scope.$on("auth-success", function () { - NVRDataModel.debug("MonitorModalCtrl: Re-login detected, resetting everything & re-generating connkey"); - //NVRDataModel.stopNetwork("MonitorModal-auth success"); + NVR.debug("MonitorModalCtrl: Re-login detected, resetting everything & re-generating connkey"); + //NVR.stopNetwork("MonitorModal-auth success"); $scope.isModalStreamPaused = false; $timeout(function () { if (0 && $rootScope.platformOS == 'ios') { - NVRDataModel.debug("Webkit hack, hammering window.stop();"); - NVRDataModel.stopNetwork(); + NVR.debug("Webkit hack, hammering window.stop();"); + NVR.stopNetwork(); } else { - NVRDataModel.killLiveStream($scope.connKey, $scope.controlURL); + NVR.killLiveStream($scope.connKey, $scope.controlURL); } @@ -320,13 +320,13 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ $scope.toggleCycle = function () { //console.log ("HERE"); $scope.isCycle = !$scope.isCycle; - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); ld.cycleMonitors = $scope.isCycle; - NVRDataModel.setLogin(ld); + NVR.setLogin(ld); $scope.cycleText = $scope.isCycle ? $translate.instant('kOn') : $translate.instant('kOff'); if ($scope.isCycle) { - NVRDataModel.log("re-starting cycle timer"); + NVR.log("re-starting cycle timer"); $interval.cancel(cycleHandle); cycleHandle = $interval(function () { @@ -334,7 +334,7 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ // console.log ("Refreshing Image..."); }.bind(this), ld.cycleMonitorsInterval * 1000); } else { - NVRDataModel.log("cancelling cycle timer"); + NVR.log("cancelling cycle timer"); $interval.cancel(cycleHandle); } @@ -367,17 +367,17 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ //------------------------------------------------------------- function onPause() { - NVRDataModel.debug("ModalCtrl: onpause called"); + NVR.debug("ModalCtrl: onpause called"); $interval.cancel(intervalModalHandle); $interval.cancel(cycleHandle); - NVRDataModel.debug("Killing single stream..."); + NVR.debug("Killing single stream..."); if (0 && $rootScope.platformOS == 'ios') { - NVRDataModel.debug("Webkit hack, hammering window.stop();"); - NVRDataModel.stopNetwork(); + NVR.debug("Webkit hack, hammering window.stop();"); + NVR.stopNetwork(); } else { - NVRDataModel.killLiveStream($scope.connKey, $scope.controlURL); + NVR.killLiveStream($scope.connKey, $scope.controlURL); } // $interval.cancel(modalIntervalHandle) // FIXME: Do I need to setAwake(false) here? @@ -385,21 +385,21 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ function onResume() { if (1) return; // Do we really need this as it should go to Portal Login - NVRDataModel.debug("ModalCtrl: Modal resume called"); + NVR.debug("ModalCtrl: Modal resume called"); if ($scope.isModalActive) { - NVRDataModel.log("ModalCtrl: Restarting Modal timer on resume"); + NVR.log("ModalCtrl: Restarting Modal timer on resume"); $interval.cancel(intervalModalHandle); $interval.cancel(cycleHandle); - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); intervalModalHandle = $interval(function () { loadModalNotifications(); }.bind(this), zm.alarmStatusTime); if (ld.cycleMonitors) { - NVRDataModel.debug("Cycling enabled at " + ld.cycleMonitorsInterval); + NVR.debug("Cycling enabled at " + ld.cycleMonitorsInterval); $interval.cancel(cycleHandle); @@ -421,12 +421,12 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ //------------------------------------------------------------- function loadModalNotifications() { - if (NVRDataModel.versionCompare($rootScope.apiVersion, "1.30") == -1) { + if (NVR.versionCompare($rootScope.apiVersion, "1.30") == -1) { return; } - if (NVRDataModel.getLogin().enableLowBandwidth) + if (NVR.getLogin().enableLowBandwidth) return; var status = [$translate.instant('kMonIdle'), @@ -436,13 +436,13 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ $translate.instant('kMonRecord') ]; //console.log ("Inside Modal timer..."); - var apiurl = NVRDataModel.getLogin().apiurl; + var apiurl = NVR.getLogin().apiurl; var alarmurl = apiurl + "/monitors/alarm/id:" + $scope.monitorId + "/command:status.json"; - NVRDataModel.log("Invoking " + alarmurl); + NVR.log("Invoking " + alarmurl); $http.get(alarmurl) .then(function (data) { - // NVRDataModel.debug ("Success in monitor alarmed status " + JSON.stringify(data)); + // NVR.debug ("Success in monitor alarmed status " + JSON.stringify(data)); $scope.monStatus = status[parseInt(data.data.status)]; @@ -450,7 +450,7 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ function (error) { $scope.monStatus = ""; - NVRDataModel.debug("Error in monitor alarmed status "); + NVR.debug("Error in monitor alarmed status "); }); } @@ -735,7 +735,7 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ }*/ $scope.isModalStreamPaused = false; - //NVRDataModel.debug("Modal image loaded, switching to streaming"); + //NVR.debug("Modal image loaded, switching to streaming"); @@ -789,7 +789,7 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ var ptzData = ""; if (cmd.lastIndexOf("preset", 0) === 0) { - NVRDataModel.debug("PTZ command is a preset, so skipping xge/lge"); + NVR.debug("PTZ command is a preset, so skipping xge/lge"); ptzData = { view: "request", request: "control", @@ -820,7 +820,7 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ duration: zm.loadingTimeout, }); - var loginData = NVRDataModel.getLogin(); + var loginData = NVR.getLogin(); $ionicLoading.hide(); $ionicLoading.show({ template: $translate.instant('kSendingPTZ') + "...", @@ -858,7 +858,7 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ function (resp) { $ionicLoading.hide(); //console.log("ERROR: " + JSON.stringify(resp)); - NVRDataModel.log("Error sending PTZ:" + JSON.stringify(resp), "error"); + NVR.log("Error sending PTZ:" + JSON.stringify(resp), "error"); }); @@ -877,10 +877,10 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ $scope.onSwipe = function (m, d) { if ($scope.isZoneEdit) { - NVRDataModel.log("swipe disabled as you are in edit mode"); + NVR.log("swipe disabled as you are in edit mode"); return; } - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); if (!ld.canSwipeMonitors) return; if ($ionicScrollDelegate.$getByHandle("imgscroll").getScrollPosition().zoom != 1) { @@ -896,12 +896,12 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ if ($scope.isZoneEdit) { - NVRDataModel.log("Not cycling, as you are editing zones"); + NVR.log("Not cycling, as you are editing zones"); return; } if ($scope.monitors.length <= 1) { - NVRDataModel.log("Not cycling, as you only have at most 1 monitors"); + NVR.log("Not cycling, as you only have at most 1 monitors"); return; } @@ -911,14 +911,14 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ var curstate = $ionicHistory.currentStateName(); var found = 0; var mid; - mid = NVRDataModel.getNextMonitor(m, d); + mid = NVR.getNextMonitor(m, d); $scope.showPTZ = false; // FIXME: clean this up - in a situation where // no monitors are enabled, will it loop for ever? do { - mid = NVRDataModel.getNextMonitor(m, d); + mid = NVR.getNextMonitor(m, d); m = mid; //console.log("Next Monitor is " + m); @@ -931,10 +931,10 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ $scope.monitors[i].Monitor.Enabled != '0') { found = 1; //console.log(mid + "is part of the monitor list"); - NVRDataModel.debug("ModalCtrl: swipe detected, moving to " + mid); + NVR.debug("ModalCtrl: swipe detected, moving to " + mid); break; } else { - NVRDataModel.debug("skipping " + $scope.monitors[i].Monitor.Id + + NVR.debug("skipping " + $scope.monitors[i].Monitor.Id + " listDisplay=" + $scope.monitors[i].Monitor.listDisplay + " Function=" + $scope.monitors[i].Monitor.Function + " Enabled=" + $scope.monitors[i].Monitor.Enabled); @@ -945,14 +945,14 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ while (found != 1); // now kill stream and set up next - NVRDataModel.debug("Killing stream before we move on to next monitor..."); + NVR.debug("Killing stream before we move on to next monitor..."); $scope.isModalStreamPaused = true; var element = angular.element(document.getElementById("monitorimage")); var slidein; var slideout; $timeout(function () { - NVRDataModel.killLiveStream($scope.connKey, $scope.controlURL); + NVR.killLiveStream($scope.connKey, $scope.controlURL); // we should now have a paused stream, time to animate out @@ -977,9 +977,9 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ function outWithOld() { - NVRDataModel.log(">>>Old image out"); - // NVRDataModel.log("ModalCtrl:Stopping network pull..."); - //NVRDataModel.stopNetwork("MonitorModal-outwithOld"); + NVR.log(">>>Old image out"); + // NVR.log("ModalCtrl:Stopping network pull..."); + //NVR.stopNetwork("MonitorModal-outwithOld"); $scope.rand = Math.floor((Math.random() * 100000) + 1); @@ -989,8 +989,8 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ .one('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', inWithNew); $scope.monitorId = mid; - $scope.monitorName = NVRDataModel.getMonitorName(mid); - $scope.monitor = NVRDataModel.getMonitorObject(mid); + $scope.monitorName = NVR.getMonitorName(mid); + $scope.monitor = NVR.getMonitorObject(mid); $scope.controlURL = $scope.monitor.Monitor.controlURL; $scope.zoneArray = []; $scope.circlePoints = []; @@ -1006,11 +1006,11 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ $scope.isModalStreamPaused = false; - var ld = NVRDataModel.getLogin(); + var ld = NVR.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); + NVR.log("<<<New image loaded in with ck:" + $scope.connKey); } $ionicLoading.hide(); @@ -1028,7 +1028,7 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ noBackdrop: true, duration: 1000 }); - NVRDataModel.debug("ModalCtrl:Photo saved successfuly"); + NVR.debug("ModalCtrl:Photo saved successfuly"); } function SaveError(e) { @@ -1037,7 +1037,7 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ noBackdrop: true, duration: 2000 }); - NVRDataModel.log("Error saving image: " + e); + NVR.log("Error saving image: " + e); //console.log("***ERROR"); } @@ -1070,10 +1070,10 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ triggerAlarm(mid, mode); function triggerAlarm(mid, mode) { - var apiurl = NVRDataModel.getLogin().apiurl; + var apiurl = NVR.getLogin().apiurl; var c = mode == 'on' ? 'on' : 'off'; var alarmurl = apiurl + "/monitors/alarm/id:" + mid + "/command:" + c + ".json"; - NVRDataModel.log("Invoking " + alarmurl); + NVR.log("Invoking " + alarmurl); var status = mode ? $translate.instant('kForcingAlarm') : $translate.instant('kCancellingAlarm'); $ionicLoading.show({ @@ -1099,7 +1099,7 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ noBackdrop: true, duration: 3000, }); - NVRDataModel.debug("Error in triggerAlarm " + JSON.stringify(error)); + NVR.debug("Error in triggerAlarm " + JSON.stringify(error)); }); } @@ -1152,7 +1152,7 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ return; } - NVRDataModel.debug("ModalCtrl: Permission checking for write"); + NVR.debug("ModalCtrl: Permission checking for write"); var permissions = cordova.plugins.permissions; permissions.hasPermission(permissions.WRITE_EXTERNAL_STORAGE, checkPermissionCallback, null); @@ -1179,9 +1179,9 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ duration: zm.httpTimeout }); - NVRDataModel.debug("ModalCtrl: SaveImageToPhone called"); + NVR.debug("ModalCtrl: SaveImageToPhone called"); var canvas, context, imageDataUrl, imageData; - var loginData = NVRDataModel.getLogin(); + var loginData = NVR.getLogin(); var url = loginData.streamingurl + '/zms?mode=single&monitor=' + mid; @@ -1189,13 +1189,13 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ url += $rootScope.authSession; } - url += NVRDataModel.insertBasicAuthToken(); + url += NVR.insertBasicAuthToken(); - NVRDataModel.log("SavetoPhone:Trying to save image from " + url); + NVR.log("SavetoPhone:Trying to save image from " + url); if ($rootScope.platformOS != 'desktop') { var album = 'zmNinja'; - NVRDataModel.debug("Trying to save image to album: " + album); + NVR.debug("Trying to save image to album: " + album); cordova.plugins.photoLibrary.requestAuthorization( function () { //url = "https://picsum.photos/200/300/?random"; @@ -1206,32 +1206,32 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ fileTransfer.download(urle, cordova.file.dataDirectory + fname, function (entry) { - NVRDataModel.debug("local download complete: " + entry.toURL()); - NVRDataModel.debug("Now trying to move it to album"); + NVR.debug("local download complete: " + entry.toURL()); + NVR.debug("Now trying to move it to album"); cordova.plugins.photoLibrary.saveImage(entry.toURL(), album, function (cameraRollAssetId) { SaveSuccess(); $cordovaFile.removeFile(cordova.file.dataDirectory, fname) .then( function () { - NVRDataModel.debug("file removed from data directory"); + NVR.debug("file removed from data directory"); }, function (e) { - NVRDataModel.debug("could not delete temp file: " + JSON.stringify(e)); + NVR.debug("could not delete temp file: " + JSON.stringify(e)); } ); }, function (err) { - NVRDataModel.debug("Saving error:" + JSON.stringify(err)); + NVR.debug("Saving error:" + JSON.stringify(err)); SaveError(); }); }, function (err) { - NVRDataModel.debug("error downloading:" + JSON.stringify(err)); + NVR.debug("error downloading:" + JSON.stringify(err)); SaveError(); }, !loginData.enableStrictSSL, {}); @@ -1242,7 +1242,7 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ }, function (err) { // User denied the access - NVRDataModel.debug("Permission not granted"); + NVR.debug("Permission not granted"); SaveError(); }, // if options not provided, defaults to {read: true}. @@ -1281,7 +1281,7 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ //console.log ("STREAM="+stream); - if (stream) stream += NVRDataModel.insertBasicAuthToken(); + if (stream) stream += NVR.insertBasicAuthToken(); return stream; @@ -1302,7 +1302,7 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ //------------------------------------------------------------- $scope.reloadView = function () { - NVRDataModel.log("Reloading view for modal view, recomputing rand"); + NVR.log("Reloading view for modal view, recomputing rand"); $rootScope.modalRand = Math.floor((Math.random() * 100000) + 1); $scope.isModalActive = true; }; @@ -1333,11 +1333,11 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ $scope.$on('$ionicView.beforeLeave', function () { - NVRDataModel.log("Nullifying the streams..."); + NVR.log("Nullifying the streams..."); var element = document.getElementById("singlemonitor"); if (element) { - NVRDataModel.debug("Nullifying " + element.src); + NVR.debug("Nullifying " + element.src); element.src = ""; } @@ -1355,7 +1355,7 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ if ($rootScope.platformOS == 'android') { - NVRDataModel.debug("Deregistering handlers for multi-window"); + NVR.debug("Deregistering handlers for multi-window"); window.MultiWindowPlugin.deregisterOnStop("monitormodal-pause"); window.MultiWindowPlugin.deregisterOnStart("monitormodal-resume"); @@ -1363,7 +1363,7 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ } if ($rootScope.platformOS == 'desktop') { - NVRDataModel.debug("Removing keyboard handler"); + NVR.debug("Removing keyboard handler"); window.removeEventListener('keydown', keyboardHandler, true); } @@ -1373,19 +1373,19 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ if (1 || $rootScope.platformOS != 'ios') { // ios calls window stop... - NVRDataModel.debug("Single monitor exited killing stream"); - NVRDataModel.killLiveStream($scope.connKey, $scope.controlURL); + NVR.debug("Single monitor exited killing stream"); + NVR.killLiveStream($scope.connKey, $scope.controlURL); } else { - NVRDataModel.debug("Webkit hack, hammering window.stop();"); - NVRDataModel.stopNetwork(); + NVR.debug("Webkit hack, hammering window.stop();"); + NVR.stopNetwork(); } //console.log("**MODAL REMOVED: Stopping modal timer"); $interval.cancel(intervalModalHandle); $interval.cancel(cycleHandle); - // NVRDataModel.debug("Modal removed - killing connkey"); + // NVR.debug("Modal removed - killing connkey"); // controlStream(17, "", $scope.connKey, -1); // Execute action @@ -1408,7 +1408,7 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ duration: zm.loadingTimeout, }); } - var loginData = NVRDataModel.getLogin(); + var loginData = NVR.getLogin(); /* var CMD_NONE = 0; @@ -1463,7 +1463,7 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ resp = resp.data; if (resp.result == "Ok" && ndx != -1) { - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); var apiurl = ld.apiurl + "/events/" + resp.status.event + ".json"; //console.log ("API " + apiurl); $http.get(apiurl) @@ -1493,7 +1493,7 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ function (resp) { //console.log("ERROR: " + JSON.stringify(resp)); - NVRDataModel.log("Error sending event command " + JSON.stringify(resp), "error"); + NVR.log("Error sending event command " + JSON.stringify(resp), "error"); }); @@ -1523,12 +1523,12 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ } var zl = parseInt($ionicScrollDelegate.$getByHandle("imgscroll").getScrollPosition().zoom); if (zl == 1 && val == -1) { - NVRDataModel.debug("Already zoomed out max"); + NVR.debug("Already zoomed out max"); return; } zl += val; - NVRDataModel.debug("Zoom level is " + zl); + NVR.debug("Zoom level is " + zl); $ionicScrollDelegate.$getByHandle("imgscroll").zoomTo(zl, true); }; @@ -1557,8 +1557,8 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ $scope.presetOn = true; $scope.controlToggle = "hide buttons"; - NVRDataModel.debug("configurePTZ: called with mid=" + mid); - var ld = NVRDataModel.getLogin(); + NVR.debug("configurePTZ: called with mid=" + mid); + var ld = NVR.getLogin(); var url = ld.apiurl + "/monitors/" + mid + ".json"; $http.get(url) .then(function (data) { @@ -1572,9 +1572,9 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ $scope.controlid = data.monitor.Monitor.ControlId; if ($scope.isControllable == '1') { - var apiurl = NVRDataModel.getLogin().apiurl; + var apiurl = NVR.getLogin().apiurl; var myurl = apiurl + "/controls/" + $scope.controlid + ".json"; - NVRDataModel.debug("configurePTZ : getting controllable data " + myurl); + NVR.debug("configurePTZ : getting controllable data " + myurl); $http.get(myurl) .then(function (data) { @@ -1613,7 +1613,7 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ } } - NVRDataModel.debug("configurePTZ: control data returned " + JSON.stringify(data)); + NVR.debug("configurePTZ: control data returned " + JSON.stringify(data)); if (data.control.Control.CanMoveMap == '1') { @@ -1651,7 +1651,7 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ //CanMoveMap // presets - NVRDataModel.debug("ConfigurePTZ Preset value is " + data.control.Control.HasPresets); + NVR.debug("ConfigurePTZ Preset value is " + data.control.Control.HasPresets); $scope.ptzPresets = []; @@ -1663,7 +1663,7 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ $scope.ptzPresetCount = parseInt(data.control.Control.NumPresets); //$scope.ptzPresetCount =80; - NVRDataModel.debug("ConfigurePTZ Number of presets is " + $scope.ptzPresetCount); + NVR.debug("ConfigurePTZ Number of presets is " + $scope.ptzPresetCount); for (var p = 0; p < $scope.ptzPresetCount; p++) { $scope.ptzPresets.push({ @@ -1739,28 +1739,28 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ } - NVRDataModel.log("ConfigurePTZ Modal: ControlDB reports PTZ command to be " + $scope.ptzMoveCommand); + NVR.log("ConfigurePTZ Modal: ControlDB reports PTZ command to be " + $scope.ptzMoveCommand); }, function (data) { // console.log("** Error retrieving move PTZ command"); - NVRDataModel.log("ConfigurePTZ : Error retrieving PTZ command " + JSON.stringify(data), "error"); + NVR.log("ConfigurePTZ : Error retrieving PTZ command " + JSON.stringify(data), "error"); }); } else { - NVRDataModel.log("configurePTZ " + mid + " is not PTZ controllable"); + NVR.log("configurePTZ " + mid + " is not PTZ controllable"); } }, function (data) { // console.log("** Error retrieving move PTZ command"); - NVRDataModel.log("configurePTZ : Error retrieving PTZ command " + JSON.stringify(data), "error"); + NVR.log("configurePTZ : Error retrieving PTZ command " + JSON.stringify(data), "error"); }); } function getZones() { //https://server/zm/api/zones/forMonitor/7.json - var api = NVRDataModel.getLogin().apiurl + "/zones/forMonitor/" + $scope.monitorId + ".json"; - NVRDataModel.debug("Getting zones using:" + api); + var api = NVR.getLogin().apiurl + "/zones/forMonitor/" + $scope.monitorId + ".json"; + NVR.debug("Getting zones using:" + api); originalZones = []; $http.get(api) .then(function (succ) { @@ -1775,7 +1775,7 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ }, function (err) { - NVRDataModel.debug("Error getting zones :" + JSON.stringify(err)); + NVR.debug("Error getting zones :" + JSON.stringify(err)); }); @@ -1785,8 +1785,8 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ if (0 && $rootScope.platformOS == 'ios') { - NVRDataModel.debug("Webkit hack, hammering window.stop();"); - NVRDataModel.stopNetwork(); + NVR.debug("Webkit hack, hammering window.stop();"); + NVR.stopNetwork(); } $scope.connKey = (Math.floor((Math.random() * 999999) + 1)).toString(); @@ -1800,7 +1800,7 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ document.addEventListener("resume", onResume, false); } else { - NVRDataModel.debug("MonitorModal: Android detected, using cordova-multiwindow plugin for onStop/onStart instead"); + NVR.debug("MonitorModal: Android detected, using cordova-multiwindow plugin for onStop/onStart instead"); window.MultiWindowPlugin.registerOnStop("monitormodal-pause", onPause); window.MultiWindowPlugin.registerOnStart("monitormodal-resume", onResume); } @@ -1810,7 +1810,7 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ //getZones(); - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); //currentEvent = $scope.currentEvent; //console.log ("************* GENERATED CONNKEY " + $scope.connKey); @@ -1819,12 +1819,12 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ $scope.isCycle = ld.cycleMonitors; $scope.cycleText = $scope.isCycle ? $translate.instant('kOn') : $translate.instant('kOff'); - $scope.quality = (NVRDataModel.getBandwidth() == "lowbw") ? zm.monSingleImageQualityLowBW : ld.monSingleImageQuality; + $scope.quality = (NVR.getBandwidth() == "lowbw") ? zm.monSingleImageQualityLowBW : ld.monSingleImageQuality; configurePTZ($scope.monitorId); if (ld.cycleMonitors) { - NVRDataModel.debug("Cycling enabled at " + ld.cycleMonitorsInterval); + NVR.debug("Cycling enabled at " + ld.cycleMonitorsInterval); $interval.cancel(cycleHandle); diff --git a/www/js/MontageCtrl.js b/www/js/MontageCtrl.js index f7944ebb..784ad2f2 100644 --- a/www/js/MontageCtrl.js +++ b/www/js/MontageCtrl.js @@ -5,7 +5,7 @@ /* global cordova,StatusBar,angular,console,ionic,Packery, Draggabilly, imagesLoaded, ConnectSDK, moment */ angular.module('zmApp.controllers') - .controller('zmApp.MontageCtrl', ['$scope', '$rootScope', 'NVRDataModel', '$ionicSideMenuDelegate', '$timeout', '$interval', '$ionicModal', '$ionicLoading', '$http', '$state', '$ionicPopup', '$stateParams', '$ionicHistory', '$ionicScrollDelegate', '$ionicPlatform', 'zm', '$ionicPopover', '$controller', 'imageLoadingDataShare', '$window', '$localstorage', '$translate', 'SecuredPopups', 'EventServer', function ($scope, $rootScope, NVRDataModel, $ionicSideMenuDelegate, $timeout, $interval, $ionicModal, $ionicLoading, $http, $state, $ionicPopup, $stateParams, $ionicHistory, $ionicScrollDelegate, $ionicPlatform, zm, $ionicPopover, $controller, imageLoadingDataShare, $window, $localstorage, $translate, SecuredPopups, EventServer) { + .controller('zmApp.MontageCtrl', ['$scope', '$rootScope', 'NVR', '$ionicSideMenuDelegate', '$timeout', '$interval', '$ionicModal', '$ionicLoading', '$http', '$state', '$ionicPopup', '$stateParams', '$ionicHistory', '$ionicScrollDelegate', '$ionicPlatform', 'zm', '$ionicPopover', '$controller', 'imageLoadingDataShare', '$window', '$localstorage', '$translate', 'SecuredPopups', 'EventServer', function ($scope, $rootScope, NVR, $ionicSideMenuDelegate, $timeout, $interval, $ionicModal, $ionicLoading, $http, $state, $ionicPopup, $stateParams, $ionicHistory, $ionicScrollDelegate, $ionicPlatform, zm, $ionicPopover, $controller, imageLoadingDataShare, $window, $localstorage, $translate, SecuredPopups, EventServer) { //--------------------------------------------------------------------- // Controller main @@ -53,20 +53,20 @@ angular.module('zmApp.controllers') var as = $scope.$on("auth-success", function () { - NVRDataModel.debug ("Auth success, recomputing rand value..."); + NVR.debug ("Auth success, recomputing rand value..."); randEachTime(); /* var tnow = new Date(); var s = Math.round((tnow - timeInMontage) / 1000); - NVRDataModel.debug ("Montage re-auth: time since we are here: " + s + + NVR.debug ("Montage re-auth: time since we are here: " + s + " seconds"); if (s >= 20) {// lets not regen connkey if we just got into montage - NVRDataModel.debug ("Montage-reauth: Regenerating connkeys"); + NVR.debug ("Montage-reauth: Regenerating connkeys"); $timeout(function () { // after render if (simulStreaming) { - NVRDataModel.debug("Re-creating all stream connkeys in montage ..."); - NVRDataModel.regenConnKeys(); - $scope.monitors = NVRDataModel.getMonitorsNow(); + NVR.debug("Re-creating all stream connkeys in montage ..."); + NVR.regenConnKeys(); + $scope.monitors = NVR.getMonitorsNow(); $scope.MontageMonitors = angular.copy($scope.monitors); $timeout(function () // after render { @@ -78,25 +78,25 @@ angular.module('zmApp.controllers') }); } else { - NVRDataModel.debug ("Montage re-auth: ignoring as time is only "+s+" seconds"); + NVR.debug ("Montage re-auth: ignoring as time is only "+s+" seconds"); }*/ // do nothing, we are reloading here anyway? /* if ($scope.singleMonitorModalOpen) { - NVRDataModel.debug("Montage: Not creating streams, as modal is open"); + NVR.debug("Montage: Not creating streams, as modal is open"); return; } - NVRDataModel.debug("Montage Re-auth handler"); + NVR.debug("Montage Re-auth handler"); //streamState = true; $timeout(function () { // after render if (simulStreaming) { - NVRDataModel.debug("Re-creating all stream connkeys in montage ..."); - NVRDataModel.regenConnKeys(); - $scope.monitors = NVRDataModel.getMonitorsNow(); + NVR.debug("Re-creating all stream connkeys in montage ..."); + NVR.regenConnKeys(); + $scope.monitors = NVR.getMonitorsNow(); $scope.MontageMonitors = angular.copy($scope.monitors); $timeout(function () // after render { @@ -118,16 +118,16 @@ angular.module('zmApp.controllers') 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); + NVR.debug("Got network change:" + data); var ds; if (data == 'lowbw') { ds = $translate.instant('kLowBWDisplay'); } else { ds = $translate.instant('kHighBWDisplay'); } - NVRDataModel.displayBanner('net', [ds]); - var ld = NVRDataModel.getLogin(); - refreshSec = (NVRDataModel.getBandwidth() == 'lowbw') ? ld.refreshSecLowBW : ld.refreshSec; + NVR.displayBanner('net', [ds]); + var ld = NVR.getLogin(); + refreshSec = (NVR.getBandwidth() == 'lowbw') ? ld.refreshSecLowBW : ld.refreshSec; $interval.cancel(intervalHandleMontage); $interval.cancel(intervalHandleMontageCycle); @@ -140,14 +140,14 @@ angular.module('zmApp.controllers') intervalHandleMontageCycle = $interval(function () { cycleMontageProfiles(); - }.bind(this), NVRDataModel.getLogin().cycleMontageInterval * 1000); + }.bind(this), NVR.getLogin().cycleMontageInterval * 1000); intervalHandleReloadPage = $interval(function () { forceReloadPage(); }.bind(this), reloadPage); - if (NVRDataModel.getBandwidth() == 'lowbw') { - NVRDataModel.debug("Enabling low bandwidth parameters"); + if (NVR.getBandwidth() == 'lowbw') { + NVR.debug("Enabling low bandwidth parameters"); $scope.LoginData.montageQuality = zm.montageQualityLowBW; $scope.LoginData.singleImageQuality = zm.eventSingleImageQualityLowBW; $scope.LoginData.montageHistoryQuality = zm.montageQualityLowBW; @@ -166,11 +166,11 @@ angular.module('zmApp.controllers') e.preventDefault(); if ($scope.modal != undefined && $scope.modal.isShown()) { // switch off awake, as liveview is finished - NVRDataModel.debug("Modal is open, closing it"); - NVRDataModel.setAwake(false); + NVR.debug("Modal is open, closing it"); + NVR.setAwake(false); cleanupOnCloseModal(); } else { - NVRDataModel.debug("Modal is closed, so toggling or exiting"); + NVR.debug("Modal is closed, so toggling or exiting"); if (!$ionicSideMenuDelegate.isOpenLeft()) { $ionicSideMenuDelegate.toggleLeft(); @@ -201,15 +201,15 @@ angular.module('zmApp.controllers') //return; if ($scope.isDragabillyOn) { - NVRDataModel.debug("not reloading, edit in progress"); + NVR.debug("not reloading, edit in progress"); return; } - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); ld.reloadInMontage = true; - NVRDataModel.log("Reloading view to keep memory in check..."); - NVRDataModel.setLogin(ld) + NVR.log("Reloading view to keep memory in check..."); + NVR.setLogin(ld) .then(function () { //window.location.reload(true); //location.reload(); @@ -269,19 +269,19 @@ angular.module('zmApp.controllers') draggies = []; var layouttype = true; - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); var positionsStr = ld.packeryPositions; var positions = {}; if (positionsStr == '' || positionsStr == undefined) { - NVRDataModel.log("Did NOT find a packery layout"); + NVR.log("Did NOT find a packery layout"); layouttype = true; } else { //console.log ("POSITION STR IS " + positionsStr); positions = JSON.parse(positionsStr); - NVRDataModel.log("found a packery layout"); + NVR.log("found a packery layout"); layouttype = false; } @@ -292,16 +292,16 @@ angular.module('zmApp.controllers') cnt++; }); - NVRDataModel.log("Monitors that are active and not DOM hidden: " + cnt + " while grid has " + positions.length); + NVR.log("Monitors that are active and not DOM hidden: " + cnt + " while grid has " + positions.length); - if (cnt > NVRDataModel.getLogin().maxMontage) { - cnt = NVRDataModel.getLogin().maxMontage; - NVRDataModel.log("restricting monitor count to " + cnt + " due to max-montage setting"); + if (cnt > NVR.getLogin().maxMontage) { + cnt = NVR.getLogin().maxMontage; + NVR.log("restricting monitor count to " + cnt + " due to max-montage setting"); } if (cnt != positions.length) { - NVRDataModel.log("Whoops!! Monitors have changed. I'm resetting layouts, sorry!"); + NVR.log("Whoops!! Monitors have changed. I'm resetting layouts, sorry!"); layouttype = true; positions = {}; } @@ -327,7 +327,7 @@ angular.module('zmApp.controllers') imagesLoaded(elem).on('progress', function (instance, img) { var result = img.isLoaded ? 'loaded' : 'broken'; - // NVRDataModel.debug('~~loaded image is ' + result + ' for ' + img.img.src); + // NVR.debug('~~loaded image is ' + result + ' for ' + img.img.src); // lay out every image if a pre-arranged position has not been found @@ -345,7 +345,7 @@ angular.module('zmApp.controllers') $timeout(function () { if ($scope.areImagesLoading) { - NVRDataModel.debug("Images still loading after 15secs?"); + NVR.debug("Images still loading after 15secs?"); allImagesLoadedOrFailed(); } @@ -354,14 +354,14 @@ angular.module('zmApp.controllers') imagesLoaded(elem).on('always', function () { //console.log ("******** ALL IMAGES LOADED"); // $scope.$digest(); - NVRDataModel.debug("All images loaded, switching to snapshot..."); + NVR.debug("All images loaded, switching to snapshot..."); allImagesLoadedOrFailed(); }); imagesLoaded(elem).on('fail', function () { - NVRDataModel.debug("All images loaded, but some broke, switching to snapshot..."); + NVR.debug("All images loaded, but some broke, switching to snapshot..."); //console.log ("******** ALL IMAGES LOADED"); // $scope.$digest(); allImagesLoadedOrFailed(); @@ -379,7 +379,7 @@ angular.module('zmApp.controllers') if (simulStreaming) { $timeout(function () { - NVRDataModel.debug("Switching mode to active..."); + NVR.debug("Switching mode to active..."); currentStreamState = streamState.ACTIVE; }, 100); } @@ -388,7 +388,7 @@ angular.module('zmApp.controllers') $ionicLoading.hide(); if (!progressCalled) { - NVRDataModel.log("*** PROGRESS WAS NOT CALLED"); + NVR.log("*** PROGRESS WAS NOT CALLED"); // pckry.reloadItems(); } @@ -406,7 +406,7 @@ angular.module('zmApp.controllers') pckry.on('dragItemPositioned', itemDragged); if (!isEmpty(positions)) { - NVRDataModel.log("Arranging as per packery grid"); + NVR.log("Arranging as per packery grid"); for (var i = 0; i < $scope.MontageMonitors.length; i++) { @@ -416,24 +416,24 @@ angular.module('zmApp.controllers') if (positions[j].size == 0) positions[j].size = 20; $scope.MontageMonitors[i].Monitor.gridScale = positions[j].size; $scope.MontageMonitors[i].Monitor.listDisplay = positions[j].display; - // NVRDataModel.debug("Setting monitor ID: " + $scope.MontageMonitors[i].Monitor.Id + " to size: " + positions[j].size + " and display:" + positions[j].display); + // NVR.debug("Setting monitor ID: " + $scope.MontageMonitors[i].Monitor.Id + " to size: " + positions[j].size + " and display:" + positions[j].display); } //console.log ("Index:"+positions[j].attr+ " with size: " + positions[j].size); } } - NVRDataModel.debug("All images loaded, doing image layout"); + NVR.debug("All images loaded, doing image layout"); } $timeout(function () { - //NVRDataModel.log("Force calling resize"); + //NVR.log("Force calling resize"); ///pckry.reloadItems(); ///positions is defined only if layouttype was false //(">>> Positions is " + JSON.stringify(positions)); if (!layouttype && positions) pckry.initShiftLayout(positions, "data-item-id"); // now do a jiggle $timeout(function () { - NVRDataModel.debug("doing the jiggle and dance..."); + NVR.debug("doing the jiggle and dance..."); pckry.resize(true); }, 300); @@ -446,7 +446,7 @@ angular.module('zmApp.controllers') } function itemDragged(item) { - NVRDataModel.debug("drag complete"); + NVR.debug("drag complete"); $timeout(function () { pckry.shiftLayout(); }, 20); @@ -455,14 +455,14 @@ angular.module('zmApp.controllers') var positions = pckry.getShiftPositions('data-item-id'); //console.log ("POSITIONS MAP " + JSON.stringify(positions)); - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); ld.packeryPositions = JSON.stringify(positions); // console.log ("Saving " + ld.packeryPositions); // console.log ("FULL OBJECT "+ JSON.stringify(ld)); ld.currentMontageProfile = ""; $scope.currentProfileName = $translate.instant('kMontage'); - NVRDataModel.setLogin(ld); - NVRDataModel.debug("saved new positions"); + NVR.setLogin(ld); + NVR.debug("saved new positions"); }); //pckry.getItemElements().forEach(function (itemElem) { @@ -551,21 +551,21 @@ angular.module('zmApp.controllers') function cycleMontageProfiles() { - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); if (!ld.cycleMontageProfiles) { - // NVRDataModel.debug ("cycling disabled"); + // NVR.debug ("cycling disabled"); return; } if ($scope.reOrderActive) { - NVRDataModel.debug("not cycling, re-order in progress"); + NVR.debug("not cycling, re-order in progress"); return; } if ($scope.isDragabillyOn) { - NVRDataModel.debug("not cycling, edit in progress"); + NVR.debug("not cycling, edit in progress"); return; } @@ -573,9 +573,9 @@ angular.module('zmApp.controllers') var nextProfile = findNext(ld.currentMontageProfile, ld.packeryPositionsArray); if (nextProfile == ld.currentMontageProfile) { - NVRDataModel.debug("Not cycling profiles, looks like you only have one"); + NVR.debug("Not cycling profiles, looks like you only have one"); } else { - NVRDataModel.debug("Cycling profile from: " + ld.currentMontageProfile + " to:" + nextProfile); + NVR.debug("Cycling profile from: " + ld.currentMontageProfile + " to:" + nextProfile); switchMontageProfile(nextProfile); } @@ -589,9 +589,9 @@ angular.module('zmApp.controllers') function loadAlarmStatus() { - if ((NVRDataModel.versionCompare($rootScope.apiVersion, "1.30") == -1) || - (NVRDataModel.getBandwidth() == 'lowbw') || - (NVRDataModel.getLogin().disableAlarmCheckMontage == true)) { + if ((NVR.versionCompare($rootScope.apiVersion, "1.30") == -1) || + (NVR.getBandwidth() == 'lowbw') || + (NVR.getLogin().disableAlarmCheckMontage == true)) { // console.log ("NOT DOING ALARMS"); return; @@ -613,7 +613,7 @@ angular.module('zmApp.controllers') // get alarm status over HTTP for a single monitor //----------------------------------------------------------------------- function getAlarmStatus(monitor) { - var apiurl = NVRDataModel.getLogin().apiurl; + var apiurl = NVR.getLogin().apiurl; //console.log ("ALARM CALLED WITH " +JSON.stringify(monitor)); var alarmurl = apiurl + "/monitors/alarm/id:" + monitor.Monitor.Id + "/command:status.json"; @@ -621,7 +621,7 @@ angular.module('zmApp.controllers') $http.get(alarmurl) .then(function (data) { - // NVRDataModel.debug ("Success in monitor alarmed status " + JSON.stringify(data)); + // NVR.debug ("Success in monitor alarmed status " + JSON.stringify(data)); var sid = parseInt(data.data.status); switch (sid) { @@ -647,7 +647,7 @@ angular.module('zmApp.controllers') function (error) { monitor.Monitor.alarmState = 'rgba(0,0,0,0)'; - NVRDataModel.debug("Error in monitor alarmed status "); + NVR.debug("Error in monitor alarmed status "); }); } @@ -665,9 +665,9 @@ angular.module('zmApp.controllers') function loadNotifications() { if ($scope.iconTimeNow == 'local') - $scope.timeNow = moment().format(NVRDataModel.getTimeFormatSec()); + $scope.timeNow = moment().format(NVR.getTimeFormatSec()); else - $scope.timeNow = moment().tz(NVRDataModel.getTimeZoneNow()).format(NVRDataModel.getTimeFormatSec()); + $scope.timeNow = moment().tz(NVR.getTimeZoneNow()).format(NVR.getTimeFormatSec()); if (simulStreaming) { @@ -679,7 +679,7 @@ angular.module('zmApp.controllers') //console.log ($scope.randToAvoidCacheMem); if ($scope.areImagesLoading) { - NVRDataModel.debug("skipping image refresh, packery is still loading"); + NVR.debug("skipping image refresh, packery is still loading"); return; } @@ -689,7 +689,7 @@ angular.module('zmApp.controllers') // if you see the time move, montage should move - //$scope.timeNow = moment().format(NVRDataModel.getTimeFormatSec()); + //$scope.timeNow = moment().format(NVR.getTimeFormatSec()); //console.log ("Inside Montage timer..."); @@ -701,7 +701,7 @@ angular.module('zmApp.controllers') }; $scope.saveReorder = function () { - NVRDataModel.debug("Saving monitor hide/unhide"); + NVR.debug("Saving monitor hide/unhide"); $scope.modal.remove(); $scope.MontageMonitors = $scope.copyMontage; @@ -733,13 +733,13 @@ angular.module('zmApp.controllers') function savePackeryOrder() { $timeout(function () { var positions = pckry.getShiftPositions('data-item-id'); - NVRDataModel.debug("POSITIONS MAP " + JSON.stringify(positions)); - var ld = NVRDataModel.getLogin(); + NVR.debug("POSITIONS MAP " + JSON.stringify(positions)); + var ld = NVR.getLogin(); ld.packeryPositions = JSON.stringify(positions); //console.log ("Savtogging " + ld.packeryPositions); ld.currentMontageProfile = ""; $scope.currentProfileName = $translate.instant('kMontage'); - NVRDataModel.setLogin(ld); + NVR.setLogin(ld); pckry.getItemElements().forEach(function (itemElem) { draggie = new Draggabilly(itemElem); @@ -750,10 +750,10 @@ angular.module('zmApp.controllers') $ionicScrollDelegate.$getByHandle("montage-delegate").scrollTop(); - // Now also ask DataModel to update its monitor display status - NVRDataModel.reloadMonitorDisplayStatus(); - //$scope.MontageMonitors = angular.copy(NVRDataModel.getMonitorsNow()); - //$scope.MontageMonitors = NVRDataModel.getMonitorsNow(); + // Now also ask NVR to update its monitor display status + NVR.reloadMonitorDisplayStatus(); + //$scope.MontageMonitors = angular.copy(NVR.getMonitorsNow()); + //$scope.MontageMonitors = NVR.getMonitorsNow(); pckry.layout(); @@ -763,7 +763,7 @@ angular.module('zmApp.controllers') if (simulStreaming) { $timeout(function () { - NVRDataModel.debug("Switching mode to active..."); + NVR.debug("Switching mode to active..."); currentStreamState = streamState.ACTIVE; }, 100); } @@ -778,26 +778,26 @@ angular.module('zmApp.controllers') "&scale=50"; if ($rootScope.authSession != 'undefined') frame += $rootScope.authSession; - frame += NVRDataModel.insertBasicAuthToken(); + frame += NVR.insertBasicAuthToken(); return frame; }; $scope.isCycleOn = function () { - return NVRDataModel.getLogin().cycleMontageProfiles; + return NVR.getLogin().cycleMontageProfiles; }; $scope.getCycleStatus = function () { - var c = NVRDataModel.getLogin().cycleMontageProfiles; + var c = NVR.getLogin().cycleMontageProfiles; var str = (c) ? $translate.instant('kOn') : $translate.instant('kOff'); return str; }; $scope.toggleCycle = function () { - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); ld.cycleMontageProfiles = !ld.cycleMontageProfiles; - NVRDataModel.setLogin(ld); - NVRDataModel.debug("cycle=" + ld.cycleMontageProfiles); - NVRDataModel.debug("cycle interval=" + ld.cycleMontageInterval); + NVR.setLogin(ld); + NVR.debug("cycle=" + ld.cycleMontageProfiles); + NVR.debug("cycle interval=" + ld.cycleMontageInterval); }; @@ -809,7 +809,7 @@ angular.module('zmApp.controllers') else $scope.copyMontage[i].Monitor.listDisplay = 'show'; - NVRDataModel.debug("index " + i + " is now " + $scope.copyMontage[i].Monitor.listDisplay); + NVR.debug("index " + i + " is now " + $scope.copyMontage[i].Monitor.listDisplay); }; $scope.hideUnhide = function () { @@ -822,12 +822,12 @@ angular.module('zmApp.controllers') $scope.copyMontage = angular.copy($scope.MontageMonitors); if (simulStreaming) { - NVRDataModel.debug("Killing all streams in montage to save memory/nw..."); + NVR.debug("Killing all streams in montage to save memory/nw..."); currentStreamState = streamState.STOPPED; - NVRDataModel.stopNetwork() + NVR.stopNetwork() .then(function (succ) { for (var i = 0; i < $scope.MontageMonitors.length; i++) { - if ($scope.MontageMonitors[i].Monitor.listDisplay == 'show') NVRDataModel.killLiveStream($scope.MontageMonitors[i].Monitor.connKey, $scope.MontageMonitors[i].Monitor.controlURL); + if ($scope.MontageMonitors[i].Monitor.listDisplay == 'show') NVR.killLiveStream($scope.MontageMonitors[i].Monitor.connKey, $scope.MontageMonitors[i].Monitor.controlURL); } // in context of timeout $ionicModal.fromTemplateUrl('templates/reorder-modal.html', { @@ -893,7 +893,7 @@ angular.module('zmApp.controllers') for (var j = 0; j < $scope.MontageMonitors.length; j++) { if ($scope.MontageMonitors[j].Monitor.Id == alarmMonitors[i]) { - NVRDataModel.debug("Enabling alarm for Monitor:" + $scope.monitors[j].Monitor.Id); + NVR.debug("Enabling alarm for Monitor:" + $scope.monitors[j].Monitor.Id); $scope.MontageMonitors[j].Monitor.isAlarmed = true; scheduleRemoveFlash(j); } @@ -906,10 +906,10 @@ angular.module('zmApp.controllers') broadcastHandles.push(al); function scheduleRemoveFlash(id) { - NVRDataModel.debug("Scheduled a " + zm.alarmFlashTimer + "ms timer for dis-alarming monitor ID:" + $scope.MontageMonitors[id].Monitor.Id); + NVR.debug("Scheduled a " + zm.alarmFlashTimer + "ms timer for dis-alarming monitor ID:" + $scope.MontageMonitors[id].Monitor.Id); $timeout(function () { $scope.MontageMonitors[id].Monitor.isAlarmed = false; - NVRDataModel.debug("dis-alarming monitor ID:" + $scope.MontageMonitors[id].Monitor.Id); + NVR.debug("dis-alarming monitor ID:" + $scope.MontageMonitors[id].Monitor.Id); }, zm.alarmFlashTimer); } @@ -942,11 +942,11 @@ angular.module('zmApp.controllers') $rootScope.isAlarm = !$rootScope.isAlarm; $scope.minimal = !$scope.minimal; - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); ld.isFullScreen = $scope.minimal; - NVRDataModel.setLogin(ld); + NVR.setLogin(ld); - NVRDataModel.debug("MontageCtrl: switch minimal is " + $scope.minimal); + NVR.debug("MontageCtrl: switch minimal is " + $scope.minimal); ionic.Platform.fullScreen($scope.minimal, !$scope.minimal); //console.log ("alarms:Cancelling timer"); $interval.cancel(intervalHandleMontage); @@ -978,8 +978,8 @@ angular.module('zmApp.controllers') $scope.isBackground = function () { //console.log ("Is background called from Montage and returned " + - //NVRDataModel.isBackground()); - return NVRDataModel.isBackground(); + //NVR.isBackground()); + return NVR.isBackground(); }; //--------------------------------------------------------------------- @@ -987,7 +987,7 @@ angular.module('zmApp.controllers') //--------------------------------------------------------------------- $scope.switchMinimal = function () { $scope.minimal = !$scope.minimal; - NVRDataModel.debug("MontageCtrl: switch minimal is " + $scope.minimal); + NVR.debug("MontageCtrl: switch minimal is " + $scope.minimal); // console.log("Hide Statusbar"); ionic.Platform.fullScreen($scope.minimal, !$scope.minimal); //console.log ("minimal switch:Cancelling timer"); @@ -996,9 +996,9 @@ angular.module('zmApp.controllers') $interval.cancel(intervalHandleAlarmStatus); $interval.cancel(intervalHandleReloadPage); - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); ld.isFullScreen = $scope.minimal; - NVRDataModel.setLogin(ld); + NVR.setLogin(ld); // We are reloading this view, so we don't want entry animations @@ -1061,7 +1061,7 @@ angular.module('zmApp.controllers') pckry.stamp(elem); $scope.MontageMonitors[i].Monitor.isStamp = !$scope.MontageMonitors[i].Monitor.isStamp; - NVRDataModel.debug("Stamp for " + $scope.MontageMonitors[i].Monitor.Name + " is:" + $scope.MontageMonitors[i].Monitor.isStamp); + NVR.debug("Stamp for " + $scope.MontageMonitors[i].Monitor.Name + " is:" + $scope.MontageMonitors[i].Monitor.isStamp); //break; } @@ -1093,13 +1093,13 @@ angular.module('zmApp.controllers') $timeout(function () { var positions = pckry.getShiftPositions('data-item-id'); // console.log("SAVING"); - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); ld.packeryPositions = JSON.stringify(positions); //console.log ("Saving " + ld.packeryPositions); ld.currentMontageProfile = ""; $scope.currentProfileName = $translate.instant('kMontage'); - NVRDataModel.setLogin(ld); + NVR.setLogin(ld); $ionicLoading.hide(); //$scope.sliderChanging = false; }, 20); @@ -1138,12 +1138,12 @@ angular.module('zmApp.controllers') $ionicSideMenuDelegate.canDragContent($scope.isDragabillyOn ? false : true); //$timeout(function(){pckry.reloadItems();},10); - NVRDataModel.debug("setting dragabilly to " + $scope.isDragabillyOn); + NVR.debug("setting dragabilly to " + $scope.isDragabillyOn); if ($scope.isDragabillyOn) { $scope.toggleSubMenu = true; $scope.dragBorder = "dragborder"; - NVRDataModel.debug("Enabling drag for " + draggies.length + " items"); + NVR.debug("Enabling drag for " + draggies.length + " items"); for (i = 0; i < draggies.length; i++) { draggies[i].enable(); draggies[i].bindHandles(); @@ -1153,7 +1153,7 @@ angular.module('zmApp.controllers') // $timeout(function(){pckry.reloadItems();$timeout(function(){pckry.layout();},300);},100); } else { $scope.dragBorder = ""; - NVRDataModel.debug("Disabling drag for " + draggies.length + " items"); + NVR.debug("Disabling drag for " + draggies.length + " items"); for (i = 0; i < draggies.length; i++) { draggies[i].disable(); draggies[i].unbindHandles(); @@ -1166,12 +1166,12 @@ angular.module('zmApp.controllers') $timeout(function () { var positions = pckry.getShiftPositions('data-item-id'); //console.log ("POSITIONS MAP " + JSON.stringify(positions)); - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); ld.packeryPositions = JSON.stringify(positions); //console.log ("Saving " + ld.packeryPositions); ld.currentMontageProfile = ""; $scope.currentProfileName = $translate.instant('kMontage'); - NVRDataModel.setLogin(ld); + NVR.setLogin(ld); }, 300); }, 100); @@ -1190,11 +1190,11 @@ angular.module('zmApp.controllers') if (simulStreaming) { - NVRDataModel.debug("Pausing all streams in montage to save memory/nw..."); + NVR.debug("Pausing all streams in montage to save memory/nw..."); for (var i = 0; i < $scope.MontageMonitors.length; i++) { - if ($scope.MontageMonitors[i].Monitor.listDisplay == 'show') NVRDataModel.pauseLiveStream($scope.MontageMonitors[i].Monitor.connKey, $scope.MontageMonitors[i].Monitor.controlURL, $scope.MontageMonitors[i].Monitor.Name); + if ($scope.MontageMonitors[i].Monitor.listDisplay == 'show') NVR.pauseLiveStream($scope.MontageMonitors[i].Monitor.connKey, $scope.MontageMonitors[i].Monitor.controlURL, $scope.MontageMonitors[i].Monitor.Name); } } @@ -1212,13 +1212,13 @@ angular.module('zmApp.controllers') function openModal(mid, controllable, controlid, connKey, monitor) { $scope.singleMonitorModalOpen = true; - NVRDataModel.debug("MontageCtrl: Open Monitor Modal with monitor Id=" + mid + " and Controllable:" + controllable + " with control ID:" + controlid); + NVR.debug("MontageCtrl: Open Monitor Modal with monitor Id=" + mid + " and Controllable:" + controllable + " with control ID:" + controlid); // $scope.isModalActive = true; // Note: no need to setAwake(true) as its already awake // in montage view - NVRDataModel.log("Cancelling montage timer, opening Modal"); - // NVRDataModel.log("Starting Modal timer"); + NVR.log("Cancelling montage timer, opening Modal"); + // NVR.log("Starting Modal timer"); //console.log ("openModal:Cancelling timer"); $interval.cancel(intervalHandleMontage); $interval.cancel(intervalHandleMontageCycle); @@ -1229,10 +1229,10 @@ angular.module('zmApp.controllers') $scope.monitor = monitor; $scope.showPTZ = false; $scope.monitorId = mid; - $scope.monitorName = NVRDataModel.getMonitorName(mid); + $scope.monitorName = NVR.getMonitorName(mid); $scope.controlid = controlid; - //$scope.LoginData = NVRDataModel.getLogin(); + //$scope.LoginData = NVR.getLogin(); $rootScope.modalRand = Math.floor(Math.random() * (999999 - 111111 + 1)) + 111111; $scope.ptzMoveCommand = ""; @@ -1249,7 +1249,7 @@ angular.module('zmApp.controllers') // This is a modal to show the monitor footage // We need to switch to always awake if set so the feed doesn't get interrupted - NVRDataModel.setAwake(NVRDataModel.getKeepAwake()); + NVR.setAwake(NVR.getKeepAwake()); // This is a modal to show the monitor footage $ionicModal.fromTemplateUrl('templates/monitors-modal.html', { @@ -1285,8 +1285,8 @@ angular.module('zmApp.controllers') function cleanupOnCloseModal() { - NVRDataModel.log("Restarting montage timers..."); - var ld = NVRDataModel.getLogin(); + NVR.log("Restarting montage timers..."); + var ld = NVR.getLogin(); // console.log ("closeModal: Cancelling timer"); $interval.cancel(intervalHandleMontage); $interval.cancel(intervalHandleAlarmStatus); @@ -1325,13 +1325,13 @@ angular.module('zmApp.controllers') // once regenerated if (simulStreaming) { - NVRDataModel.debug("Resuming all stream connkeys in montage ..."); + NVR.debug("Resuming all stream connkeys in montage ..."); for (var i = 0; i < $scope.MontageMonitors.length; i++) { - if ($scope.MontageMonitors[i].Monitor.listDisplay == 'show') NVRDataModel.resumeLiveStream($scope.MontageMonitors[i].Monitor.connKey, $scope.MontageMonitors[i].Monitor.controlURL, $scope.MontageMonitors[i].Monitor.Name); + if ($scope.MontageMonitors[i].Monitor.listDisplay == 'show') NVR.resumeLiveStream($scope.MontageMonitors[i].Monitor.connKey, $scope.MontageMonitors[i].Monitor.controlURL, $scope.MontageMonitors[i].Monitor.Name); } - /* NVRDataModel.regenConnKeys(); - $scope.monitors = NVRDataModel.getMonitorsNow(); + /* NVR.regenConnKeys(); + $scope.monitors = NVR.getMonitorsNow(); $scope.MontageMonitors = angular.copy($scope.monitors);*/ } @@ -1341,7 +1341,7 @@ angular.module('zmApp.controllers') // for some reason, double tap calls this twice $scope.closeModal = function () { - NVRDataModel.debug("MontageCtrl: Close & Destroy Monitor Modal"); + NVR.debug("MontageCtrl: Close & Destroy Monitor Modal"); if ($scope.singleMonitorModalOpen) { $scope.singleMonitorModalOpen = false; @@ -1349,7 +1349,7 @@ angular.module('zmApp.controllers') cleanupOnCloseModal(); } else { - NVRDataModel.debug("Ignoring double-invocation"); + NVR.debug("Ignoring double-invocation"); } // $scope.isModalActive = false; @@ -1370,7 +1370,7 @@ angular.module('zmApp.controllers') function viewCleanup() { currentStreamState = streamState.STOPPED; if (viewCleaned) { - NVRDataModel.debug("Montage View Cleanup was already done, skipping"); + NVR.debug("Montage View Cleanup was already done, skipping"); return; } $interval.cancel(intervalHandleMontage); @@ -1385,10 +1385,10 @@ angular.module('zmApp.controllers') $timeout(function () { if (!$scope.singleMonitorModalOpen && simulStreaming) { - NVRDataModel.debug("Killing all streams in montage to save memory/nw..."); + NVR.debug("Killing all streams in montage to save memory/nw..."); for (i = 0; i < $scope.MontageMonitors.length; i++) { - if ($scope.MontageMonitors[i].Monitor.listDisplay == 'show') NVRDataModel.killLiveStream($scope.MontageMonitors[i].Monitor.connKey, $scope.MontageMonitors[i].Monitor.controlURL); + if ($scope.MontageMonitors[i].Monitor.listDisplay == 'show') NVR.killLiveStream($scope.MontageMonitors[i].Monitor.connKey, $scope.MontageMonitors[i].Monitor.controlURL); } @@ -1404,7 +1404,7 @@ angular.module('zmApp.controllers') } function onPause() { - NVRDataModel.debug("MontageCtrl: onpause called"); + NVR.debug("MontageCtrl: onpause called"); viewCleanup(); viewCleaned = true; @@ -1413,9 +1413,9 @@ angular.module('zmApp.controllers') function onResume() { // we should be going to portal login so no need here - //NVRDataModel.debug ("Montage resume called, regenerating all connkeys"); - //NVRDataModel.regenConnKeys(); - // $scope.MontageMonitors = NVRDataModel.getMonitorsNow(); + //NVR.debug ("Montage resume called, regenerating all connkeys"); + //NVR.regenConnKeys(); + // $scope.MontageMonitors = NVR.getMonitorsNow(); } @@ -1437,7 +1437,7 @@ angular.module('zmApp.controllers') $scope.$on('$ionicView.leave', function () { // console.log("**VIEW ** Montage Ctrl Left, force removing modal"); if ($rootScope.platformOS == 'android') { - NVRDataModel.debug("Deregistering handlers for multi-window"); + NVR.debug("Deregistering handlers for multi-window"); window.MultiWindowPlugin.deregisterOnStop("montage-pause"); } @@ -1450,11 +1450,11 @@ angular.module('zmApp.controllers') var posArray; try { - posArray = NVRDataModel.getLogin().packeryPositionsArray; + posArray = NVR.getLogin().packeryPositionsArray; //console.log ("PA="+JSON.stringify(posArray)); } catch (e) { - NVRDataModel.debug("error parsing packery array positions"); + NVR.debug("error parsing packery array positions"); posArray = {}; } @@ -1496,9 +1496,9 @@ angular.module('zmApp.controllers') cancelText: $translate.instant('kButtonCancel'), }).then(function (res) { - NVRDataModel.debug("Deleting profile: " + $scope.data.selectedVal); + NVR.debug("Deleting profile: " + $scope.data.selectedVal); delete posArray[$scope.data.selectedVal]; - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); ld.packeryPositionsArray = posArray; if (ld.currentMontageProfile == $scope.data.selectedVal) { @@ -1510,7 +1510,7 @@ angular.module('zmApp.controllers') if ($scope.currentMontageProfile == $scope.data.selectedVal) $scope.currentProfileName = $translate.instant('kMontage'); - NVRDataModel.setLogin(ld); + NVR.setLogin(ld); }); @@ -1522,19 +1522,19 @@ angular.module('zmApp.controllers') intervalHandleMontageCycle = $interval(function () { cycleMontageProfiles(); // console.log ("Refreshing Image..."); - }.bind(this), NVRDataModel.getLogin().cycleMontageInterval * 1000); + }.bind(this), NVR.getLogin().cycleMontageInterval * 1000); //console.log ("SELECTED " + $scope.data.selectedVal); - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); //console.log ("OLD POS="+ld.packeryPositions); ld.packeryPositions = ld.packeryPositionsArray[mName]; ld.currentMontageProfile = mName; $scope.currentProfileName = mName; //console.log ("NEW POS="+ld.packeryPositions); - NVRDataModel.setLogin(ld); + NVR.setLogin(ld); $timeout(function () { // after render @@ -1542,24 +1542,24 @@ angular.module('zmApp.controllers') if (simulStreaming) { currentStreamState = streamState.STOPPED; - NVRDataModel.debug("Killing all streams in montage to save memory/nw..."); + NVR.debug("Killing all streams in montage to save memory/nw..."); if ($rootScope.platformOS == 'ios') { - NVRDataModel.stopNetwork(); + NVR.stopNetwork(); } else { for (var i = 0; i < $scope.MontageMonitors.length; i++) { - if ($scope.MontageMonitors[i].Monitor.listDisplay == 'show') NVRDataModel.killLiveStream($scope.MontageMonitors[i].Monitor.connKey, $scope.MontageMonitors[i].Monitor.controlURL, $scope.MontageMonitors[i].Monitor.Name); + if ($scope.MontageMonitors[i].Monitor.listDisplay == 'show') NVR.killLiveStream($scope.MontageMonitors[i].Monitor.connKey, $scope.MontageMonitors[i].Monitor.controlURL, $scope.MontageMonitors[i].Monitor.Name); } } // in timeout for iOS as we call stopNetwork $timeout(function () { - NVRDataModel.regenConnKeys(); - $scope.monitors = NVRDataModel.getMonitorsNow(); + NVR.regenConnKeys(); + $scope.monitors = NVR.getMonitorsNow(); $scope.MontageMonitors = angular.copy($scope.monitors); $timeout(function () { initPackery(); @@ -1569,8 +1569,8 @@ angular.module('zmApp.controllers') } else { - NVRDataModel.regenConnKeys(); - $scope.monitors = NVRDataModel.getMonitorsNow(); + NVR.regenConnKeys(); + $scope.monitors = NVR.getMonitorsNow(); $scope.MontageMonitors = angular.copy($scope.monitors); $timeout(function () { initPackery(); @@ -1592,11 +1592,11 @@ angular.module('zmApp.controllers') var posArray; try { - posArray = NVRDataModel.getLogin().packeryPositionsArray; + posArray = NVR.getLogin().packeryPositionsArray; //console.log ("PA="+JSON.stringify(posArray)); } catch (e) { - NVRDataModel.debug("error parsing packery array positions"); + NVR.debug("error parsing packery array positions"); posArray = {}; } @@ -1659,11 +1659,11 @@ angular.module('zmApp.controllers') var posArray; try { - posArray = NVRDataModel.getLogin().packeryPositionsArray; + posArray = NVR.getLogin().packeryPositionsArray; //console.log ("PA="+JSON.stringify(posArray)); } catch (e) { - NVRDataModel.debug("error parsing packery array positions"); + NVR.debug("error parsing packery array positions"); posArray = {}; } $scope.data = { @@ -1704,7 +1704,7 @@ angular.module('zmApp.controllers') if (res) // ok { - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); if ($scope.data.montageName != '') { // lets allow them to save default @@ -1730,9 +1730,9 @@ angular.module('zmApp.controllers') //console.log ("SAVING POS = "+pos); ld.packeryPositionsArray[$scope.data.montageName] = pos; - NVRDataModel.debug("Saving " + $scope.data.montageName + " with:" + pos); + NVR.debug("Saving " + $scope.data.montageName + " with:" + pos); ld.currentMontageProfile = $scope.data.montageName; - NVRDataModel.setLogin(ld); + NVR.setLogin(ld); $scope.currentProfileName = $scope.data.montageName; if (unHidden) { @@ -1767,10 +1767,10 @@ angular.module('zmApp.controllers') } $scope.processImageError = function(monitor) { - // NVRDataModel.debug ("Image load error for: "+monitor.Monitor.Id+" regenerated connKey is:"+monitor.Monitor.connKey); + // NVR.debug ("Image load error for: "+monitor.Monitor.Id+" regenerated connKey is:"+monitor.Monitor.connKey); //if (1) return; // REMOVE monitor.Monitor.connKey = (Math.floor((Math.random() * 999999) + 1)).toString(); - NVRDataModel.debug ("Image load error for: "+monitor.Monitor.Id+" regenerated connKey is:"+monitor.Monitor.connKey); + NVR.debug ("Image load error for: "+monitor.Monitor.Id+" regenerated connKey is:"+monitor.Monitor.connKey); }; $scope.constructStream = function (monitor) { @@ -1791,7 +1791,7 @@ angular.module('zmApp.controllers') $rootScope.authSession + appendConnKey(monitor.Monitor.connKey); - if (stream) stream += NVRDataModel.insertBasicAuthToken(); + if (stream) stream += NVR.insertBasicAuthToken(); @@ -1817,11 +1817,11 @@ angular.module('zmApp.controllers') $scope.toggleSubMenu = !$scope.toggleSubMenu; - NVRDataModel.debug("toggling size buttons:" + $scope.toggleSubMenu); + NVR.debug("toggling size buttons:" + $scope.toggleSubMenu); if ($scope.toggleSubMenu) $ionicScrollDelegate.$getByHandle("montage-delegate").scrollTop(); - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); ld.showMontageSubMenu = $scope.toggleSubMenu; - NVRDataModel.setLogin(ld); + NVR.setLogin(ld); }; // minimal has to be beforeEnter or header won't hide @@ -1829,9 +1829,9 @@ angular.module('zmApp.controllers') $scope.$on ( "process-push", function () { - NVRDataModel.debug (">> MontageCtrl: push handler"); - var s = NVRDataModel.evaluateTappedNotification(); - NVRDataModel.debug("tapped Notification evaluation:"+ JSON.stringify(s)); + NVR.debug (">> MontageCtrl: push handler"); + var s = NVR.evaluateTappedNotification(); + NVR.debug("tapped Notification evaluation:"+ JSON.stringify(s)); $ionicHistory.nextViewOptions({ disableAnimate:true, disableBack: true @@ -1844,8 +1844,8 @@ angular.module('zmApp.controllers') broadcastHandles = []; randToAvoidCacheMem = new Date().getTime(); currentStreamState = streamState.SNAPSHOT; - // NVRDataModel.regenConnKeys(); - $scope.monitors = NVRDataModel.getMonitorsNow(); + // NVR.regenConnKeys(); + $scope.monitors = NVR.getMonitorsNow(); //console.log ("MONITORS:"+JSON.stringify($scope.monitors)); @@ -1855,31 +1855,31 @@ angular.module('zmApp.controllers') $scope.singleMonitorModalOpen = false; // $scope.minimal = $stateParams.minimal; - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); $scope.minimal = ld.isFullScreen; //console.log ("**************** MINIMAL ENTER " + $scope.minimal); $scope.zmMarginTop = $scope.minimal ? 0 : 15; - NVRDataModel.getZmsMultiPortSupport() + NVR.getZmsMultiPortSupport() .then(function (data) { //multiPortZms = data; simulStreaming = data > 0 ? true : false; //console.log ("****** MULTIPORT="+multiPortZms); - NVRDataModel.debug("Multiport=" + data); + NVR.debug("Multiport=" + data); /* if ($rootScope.platformOS == 'ios') { simulStreaming = false; - NVRDataModel.debug("IOS detected, DISABLING simul streaming"); + NVR.debug("IOS detected, DISABLING simul streaming"); }*/ if (ld.disableSimulStreaming) { simulStreaming = false; - NVRDataModel.debug("Forcing simulStreams off as you have disabled it"); + NVR.debug("Forcing simulStreams off as you have disabled it"); } }, function (err) { - NVRDataModel.debug("******* SHOULD NEVER HAPPEN - MULTIPORT ERROR"); + NVR.debug("******* SHOULD NEVER HAPPEN - MULTIPORT ERROR"); simulStreaming = false; } @@ -1888,10 +1888,10 @@ angular.module('zmApp.controllers') }); //avoid bogus scale error - $scope.LoginData = NVRDataModel.getLogin(); + $scope.LoginData = NVR.getLogin(); $scope.toggleTimeType = function () { - if (NVRDataModel.isTzSupported()) { + if (NVR.isTzSupported()) { if ($scope.iconTimeNow == 'server') { $scope.iconTimeNow = 'local'; $scope.timeNow = $translate.instant('kPleaseWait'); @@ -1900,31 +1900,31 @@ angular.module('zmApp.controllers') $scope.timeNow = $translate.instant('kPleaseWait'); } } else - NVRDataModel.debug("timezone API not supported, can't display"); + NVR.debug("timezone API not supported, can't display"); }; $scope.$on('$ionicView.afterEnter', function () { - // NVRDataModel.debug("Setting image mode to snapshot, will change to image when packery is all done"); + // NVR.debug("Setting image mode to snapshot, will change to image when packery is all done"); $scope.areImagesLoading = true; $scope.isDragabillyOn = false; $scope.reOrderActive = false; - if (NVRDataModel.isTzSupported()) + if (NVR.isTzSupported()) $scope.iconTimeNow = 'server'; else $scope.iconTimeNow = 'local'; if ($scope.iconTimeNow == 'local') - $scope.timeNow = moment().format(NVRDataModel.getTimeFormatSec()); + $scope.timeNow = moment().format(NVR.getTimeFormatSec()); else - $scope.timeNow = moment().tz(NVRDataModel.getTimeZoneNow()).format(NVRDataModel.getTimeFormatSec()); + $scope.timeNow = moment().tz(NVR.getTimeZoneNow()).format(NVR.getTimeFormatSec()); $scope.gridScale = "grid-item-50"; - $scope.LoginData = NVRDataModel.getLogin(); + $scope.LoginData = NVR.getLogin(); //FIXME - if (NVRDataModel.getBandwidth() == 'lowbw') { - NVRDataModel.debug("Enabling low bandwidth parameters"); + if (NVR.getBandwidth() == 'lowbw') { + NVR.debug("Enabling low bandwidth parameters"); $scope.LoginData.montageQuality = zm.montageQualityLowBW; $scope.LoginData.singleImageQuality = zm.eventSingleImageQualityLowBW; $scope.LoginData.montageHistoryQuality = zm.montageQualityLowBW; @@ -1932,10 +1932,10 @@ angular.module('zmApp.controllers') } $scope.monLimit = $scope.LoginData.maxMontage; - $scope.toggleSubMenu = NVRDataModel.getLogin().showMontageSubMenu; + $scope.toggleSubMenu = NVR.getLogin().showMontageSubMenu; $scope.sliderChanging = false; - loginData = NVRDataModel.getLogin(); + loginData = NVR.getLogin(); $scope.isRefresh = $stateParams.isRefresh; sizeInProgress = false; @@ -1947,14 +1947,14 @@ angular.module('zmApp.controllers') $ionicSideMenuDelegate.canDragContent($scope.minimal ? true : true); $scope.areImagesLoading = true; - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); - refreshSec = (NVRDataModel.getBandwidth() == 'lowbw') ? ld.refreshSecLowBW : ld.refreshSec; + refreshSec = (NVR.getBandwidth() == 'lowbw') ? ld.refreshSecLowBW : ld.refreshSec; - NVRDataModel.debug("bandwidth: " + NVRDataModel.getBandwidth() + " montage refresh set to: " + refreshSec); + NVR.debug("bandwidth: " + NVR.getBandwidth() + " montage refresh set to: " + refreshSec); - //console.log("Setting Awake to " + NVRDataModel.getKeepAwake()); - NVRDataModel.setAwake(NVRDataModel.getKeepAwake()); + //console.log("Setting Awake to " + NVR.getKeepAwake()); + NVR.setAwake(NVR.getKeepAwake()); $interval.cancel(intervalHandleMontage); $interval.cancel(intervalHandleMontageCycle); @@ -1967,11 +1967,11 @@ angular.module('zmApp.controllers') // console.log ("Refreshing Image..."); }.bind(this), refreshSec * 1000); - NVRDataModel.debug("Setting up cycle interval of:" + NVRDataModel.getLogin().cycleMontageInterval * 1000); + NVR.debug("Setting up cycle interval of:" + NVR.getLogin().cycleMontageInterval * 1000); intervalHandleMontageCycle = $interval(function () { cycleMontageProfiles(); // console.log ("Refreshing Image..."); - }.bind(this), NVRDataModel.getLogin().cycleMontageInterval * 1000); + }.bind(this), NVR.getLogin().cycleMontageInterval * 1000); intervalHandleAlarmStatus = $interval(function () { loadAlarmStatus(); @@ -2000,10 +2000,10 @@ angular.module('zmApp.controllers') return; } - ld = NVRDataModel.getLogin(); + ld = NVR.getLogin(); - NVRDataModel.log("Inside Montage Ctrl:We found " + $scope.monitors.length + " monitors"); + NVR.log("Inside Montage Ctrl:We found " + $scope.monitors.length + " monitors"); // set them all at 50% for packery for (var i = 0; i < $scope.MontageMonitors.length; i++) { @@ -2023,7 +2023,7 @@ angular.module('zmApp.controllers') if ($rootScope.platformOS != 'android') { document.addEventListener("pause", onPause, false); } else { - NVRDataModel.debug("MontageCtrl: Android detected, using cordova-multiwindow plugin for onStop/onStart instead"); + NVR.debug("MontageCtrl: Android detected, using cordova-multiwindow plugin for onStop/onStart instead"); window.MultiWindowPlugin.registerOnStop("montage-pause", onPause); } // document.addEventListener("resume", onResume, false); @@ -2035,7 +2035,7 @@ angular.module('zmApp.controllers') currentStreamState = streamState.STOPPED; viewCleanup(); viewCleaned = true; - //NVRDataModel.debug("Deregistering broadcast handles"); + //NVR.debug("Deregistering broadcast handles"); for (var i = 0; i < broadcastHandles.length; i++) { broadcastHandles[i](); } @@ -2074,16 +2074,16 @@ angular.module('zmApp.controllers') //console.log ("Layout complete"); var positions = pckry.getShiftPositions('data-item-id'); //console.log ("POSITIONS MAP " + JSON.stringify(positions)); - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); ld.packeryPositions = JSON.stringify(positions); //console.log ("Saving " + ld.packeryPositions); ld.currentMontageProfile = ""; $scope.currentProfileName = $translate.instant('kMontage'); - NVRDataModel.setLogin(ld); + NVR.setLogin(ld); $timeout(function () { - NVRDataModel.debug("doing the jiggle and dance..."); + NVR.debug("doing the jiggle and dance..."); pckry.resize(true); pckry.shiftLayout(); }, 300); @@ -2112,13 +2112,13 @@ angular.module('zmApp.controllers') $timeout(function () { var positions = pckry.getShiftPositions('data-item-id'); //console.log("SAVING"); - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); ld.packeryPositions = JSON.stringify(positions); //console.log ("Saving " + ld.packeryPositions); ld.currentMontageProfile = ""; $scope.currentProfileName = $translate.instant('kMontage'); - NVRDataModel.setLogin(ld); + NVR.setLogin(ld); $ionicLoading.hide(); $scope.sliderChanging = false; }, 20); @@ -2143,7 +2143,7 @@ angular.module('zmApp.controllers') } $scope.sliderChanging = true; - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); $ionicLoading.show({ template: $translate.instant('kPleaseWait'), @@ -2250,13 +2250,13 @@ angular.module('zmApp.controllers') $timeout(function () { var positions = pckry.getShiftPositions('data-item-id'); //console.log("SAVING"); - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); ld.packeryPositions = JSON.stringify(positions); //console.log ("Saving " + ld.packeryPositions); ld.currentMontageProfile = ""; $scope.currentProfileName = $translate.instant('kMontage'); - NVRDataModel.setLogin(ld); + NVR.setLogin(ld); $ionicLoading.hide(); $scope.sliderChanging = false; }, 20); @@ -2272,22 +2272,22 @@ angular.module('zmApp.controllers') // $rootScope.rand = Math.floor((Math.random() * 100000) + 1); }); - $scope.currentProfileName = NVRDataModel.getLogin().currentMontageProfile || $translate.instant('kMontage'); + $scope.currentProfileName = NVR.getLogin().currentMontageProfile || $translate.instant('kMontage'); $scope.reloadView = function () { $rootScope.rand = Math.floor((Math.random() * 100000) + 1); - NVRDataModel.log("User action: image reload " + $rootScope.rand); + NVR.log("User action: image reload " + $rootScope.rand); }; $scope.doRefresh = function () { // console.log("***Pull to Refresh, recomputing Rand"); - NVRDataModel.log("Reloading view for montage view, recomputing rand"); + NVR.log("Reloading view for montage view, recomputing rand"); $rootScope.rand = Math.floor((Math.random() * 100000) + 1); $scope.monitors = []; imageLoadingDataShare.set(0); - var refresh = NVRDataModel.getMonitors(1); + var refresh = NVR.getMonitors(1); refresh.then(function (data) { $scope.monitors = data; diff --git a/www/js/MontageHistoryCtrl.js b/www/js/MontageHistoryCtrl.js index 1faf41dd..46ad4400 100644 --- a/www/js/MontageHistoryCtrl.js +++ b/www/js/MontageHistoryCtrl.js @@ -3,7 +3,7 @@ /* jslint browser: true*/ /* global cordova,StatusBar,angular,console,ionic,Masonry,moment,Packery, Draggabilly, imagesLoaded, Chart */ // FIXME: This is a copy of montageCtrl - needs a lot of code cleanup -angular.module('zmApp.controllers').controller('zmApp.MontageHistoryCtrl', ['$scope', '$rootScope', 'NVRDataModel', 'message', '$ionicSideMenuDelegate', '$timeout', '$interval', '$ionicModal', '$ionicLoading', '$http', '$state', '$ionicPopup', '$stateParams', '$ionicHistory', '$ionicScrollDelegate', '$ionicPlatform', 'zm', '$ionicPopover', '$controller', 'imageLoadingDataShare', '$window', '$translate', 'qHttp', '$q', function ($scope, $rootScope, NVRDataModel, message, $ionicSideMenuDelegate, $timeout, $interval, $ionicModal, $ionicLoading, $http, $state, $ionicPopup, $stateParams, $ionicHistory, $ionicScrollDelegate, $ionicPlatform, zm, $ionicPopover, $controller, imageLoadingDataShare, $window, $translate, qHttp, $q) { +angular.module('zmApp.controllers').controller('zmApp.MontageHistoryCtrl', ['$scope', '$rootScope', 'NVR', 'message', '$ionicSideMenuDelegate', '$timeout', '$interval', '$ionicModal', '$ionicLoading', '$http', '$state', '$ionicPopup', '$stateParams', '$ionicHistory', '$ionicScrollDelegate', '$ionicPlatform', 'zm', '$ionicPopover', '$controller', 'imageLoadingDataShare', '$window', '$translate', 'qHttp', '$q', function ($scope, $rootScope, NVR, message, $ionicSideMenuDelegate, $timeout, $interval, $ionicModal, $ionicLoading, $http, $state, $ionicPopup, $stateParams, $ionicHistory, $ionicScrollDelegate, $ionicPlatform, zm, $ionicPopover, $controller, imageLoadingDataShare, $window, $translate, qHttp, $q) { var broadcastHandles = []; var isMultiPort = false; $scope.isMultiPort = isMultiPort; @@ -30,31 +30,31 @@ angular.module('zmApp.controllers').controller('zmApp.MontageHistoryCtrl', ['$sc // formats events dates in a nice way //--------------------------------------- $scope.prettifyDateTimeFirst = function (str) { - if (NVRDataModel.getLogin().useLocalTimeZone) - return moment.tz(str, NVRDataModel.getTimeZoneNow()).tz(moment.tz.guess()).format(NVRDataModel.getTimeFormat() + '/MMM Do'); + if (NVR.getLogin().useLocalTimeZone) + return moment.tz(str, NVR.getTimeZoneNow()).tz(moment.tz.guess()).format(NVR.getTimeFormat() + '/MMM Do'); else - return moment(str).format(NVRDataModel.getTimeFormat() + '/MMM Do'); + return moment(str).format(NVR.getTimeFormat() + '/MMM Do'); }; $scope.prettifyDate = function (str) { - return moment(str).format('MMM Do, YYYY ' + NVRDataModel.getTimeFormat()); + return moment(str).format('MMM Do, YYYY ' + NVR.getTimeFormat()); }; $scope.prettifyTime = function (str) { - if (NVRDataModel.getLogin().useLocalTimeZone) - return moment.tz(str, NVRDataModel.getTimeZoneNow()).tz(moment.tz.guess()).format('h:mm a'); + if (NVR.getLogin().useLocalTimeZone) + return moment.tz(str, NVR.getTimeZoneNow()).tz(moment.tz.guess()).format('h:mm a'); else return moment(str).format('h:mm a'); }; $scope.prettify = function (str) { - if (NVRDataModel.getLogin().useLocalTimeZone) - return moment.tz(str, NVRDataModel.getTimeZoneNow()).tz(moment.tz.guess()).format(NVRDataModel.getTimeFormat() + ' on MMMM Do YYYY'); + if (NVR.getLogin().useLocalTimeZone) + return moment.tz(str, NVR.getTimeZoneNow()).tz(moment.tz.guess()).format(NVR.getTimeFormat() + ' on MMMM Do YYYY'); else - return moment(str).format(NVRDataModel.getTimeFormat() + ' on MMMM Do YYYY'); + return moment(str).format(NVR.getTimeFormat() + ' on MMMM Do YYYY'); }; $scope.humanizeTime = function (str) { - // if (NVRDataModel.getLogin().useLocalTimeZone) - return moment.tz(str, NVRDataModel.getTimeZoneNow()).fromNow(); + // if (NVR.getLogin().useLocalTimeZone) + return moment.tz(str, NVR.getTimeZoneNow()).fromNow(); // else // return moment(str).fromNow(); @@ -86,7 +86,7 @@ angular.module('zmApp.controllers').controller('zmApp.MontageHistoryCtrl', ['$sc $scope.MontageMonitors[m].Monitor.isPaused = !$scope.MontageMonitors[m].Monitor.isPaused; var cmd = 1; - NVRDataModel.debug("Sending CMD:" + cmd + " for monitor " + $scope.MontageMonitors[m].Monitor.Name); + NVR.debug("Sending CMD:" + cmd + " for monitor " + $scope.MontageMonitors[m].Monitor.Name); controlEventStream(cmd, "", $scope.MontageMonitors[m].Monitor.connKey, -1); } }; @@ -101,13 +101,13 @@ angular.module('zmApp.controllers').controller('zmApp.MontageHistoryCtrl', ['$sc } } if (m != -1) { - NVRDataModel.debug("Sending CMD:" + cmd + " for monitor " + $scope.MontageMonitors[m].Monitor.Name); + NVR.debug("Sending CMD:" + cmd + " for monitor " + $scope.MontageMonitors[m].Monitor.Name); return controlEventStream(cmd, "", $scope.MontageMonitors[m].Monitor.connKey, -1, extra); } } $scope.seek = function (mid, p) { - NVRDataModel.debug("Slider called with mid=" + mid + " progress=" + p); + NVR.debug("Slider called with mid=" + mid + " progress=" + p); var m = -1; for (var i = 0; i < $scope.MontageMonitors.length; i++) { @@ -150,7 +150,7 @@ angular.module('zmApp.controllers').controller('zmApp.MontageHistoryCtrl', ['$sc if (m != -1) { $scope.MontageMonitors[m].Monitor.isPaused = false; var cmd = 2; - NVRDataModel.debug("Sending CMD:" + cmd + " for monitor " + $scope.MontageMonitors[m].Monitor.Name); + NVR.debug("Sending CMD:" + cmd + " for monitor " + $scope.MontageMonitors[m].Monitor.Name); controlEventStream(cmd, "", $scope.MontageMonitors[m].Monitor.connKey, -1); } }; @@ -170,15 +170,15 @@ angular.module('zmApp.controllers').controller('zmApp.MontageHistoryCtrl', ['$sc /* Note this is also called when the view is first loaded */ function footerCollapse() { - NVRDataModel.debug("Inside footerCollapse"); + NVR.debug("Inside footerCollapse"); if (readyToRun == false) { - NVRDataModel.debug("fake call to footerCollapse - ignoring"); + NVR.debug("fake call to footerCollapse - ignoring"); return; } if ($scope.MontageMonitors == undefined) { - NVRDataModel.debug("montage array is undefined and not ready"); + NVR.debug("montage array is undefined and not ready"); return; } @@ -194,25 +194,25 @@ angular.module('zmApp.controllers').controller('zmApp.MontageHistoryCtrl', ['$sc $ionicSideMenuDelegate.canDragContent(false); var apiurl; - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); $scope.sliderVal.realRate = $scope.sliderVal.rate * 100; var TimeObjectFrom = moment($scope.datetimeValueFrom.value).format("YYYY-MM-DD HH:mm"); var TimeObjectTo = moment().format('YYYY-MM-DD HH:mm'); // At this point of time, we need to ensure From and To are changed to server time - //if (NVRDataModel.getLogin().useLocalTimeZone) + //if (NVR.getLogin().useLocalTimeZone) var localtz = moment.tz.guess(); - var servertz = NVRDataModel.getTimeZoneNow(); + var servertz = NVR.getTimeZoneNow(); - NVRDataModel.log("Local timezone conversion is on, converting from " + localtz + " to " + servertz); - NVRDataModel.log("Original From: " + TimeObjectFrom + " Original To: " + TimeObjectTo); + NVR.log("Local timezone conversion is on, converting from " + localtz + " to " + servertz); + NVR.log("Original From: " + TimeObjectFrom + " Original To: " + TimeObjectTo); TimeObjectFrom = moment.tz(TimeObjectFrom, localtz).tz(servertz).format("YYYY-MM-DD HH:mm"); TimeObjectTo = moment.tz(TimeObjectTo, localtz).tz(servertz).format("YYYY-MM-DD HH:mm"); - NVRDataModel.log("Converted From: " + TimeObjectFrom + " Converted To: " + TimeObjectTo); + NVR.log("Converted From: " + TimeObjectFrom + " Converted To: " + TimeObjectTo); @@ -222,20 +222,20 @@ angular.module('zmApp.controllers').controller('zmApp.MontageHistoryCtrl', ['$sc var i; if ($rootScope.platformOS != 'ios') { - NVRDataModel.debug("Killing existing streams, if alive..."); + NVR.debug("Killing existing streams, if alive..."); for (i = 0; i < $scope.MontageMonitors.length; i++) { - if ($scope.MontageMonitors[i].Monitor.listDisplay == 'show' && $scope.MontageMonitors[i].Monitor.eventUrl != 'img/noimage.png') NVRDataModel.killLiveStream($scope.MontageMonitors[i].Monitor.connKey, $scope.MontageMonitors[i].Monitor.controlURL, $scope.MontageMonitors[i].Monitor.Name); + if ($scope.MontageMonitors[i].Monitor.listDisplay == 'show' && $scope.MontageMonitors[i].Monitor.eventUrl != 'img/noimage.png') NVR.killLiveStream($scope.MontageMonitors[i].Monitor.connKey, $scope.MontageMonitors[i].Monitor.controlURL, $scope.MontageMonitors[i].Monitor.Name); } } else { - NVRDataModel.stopNetwork("montage-history footerCollapse"); + NVR.stopNetwork("montage-history footerCollapse"); } - //NVRDataModel.regenConnKeys(); - //$scope.monitors = NVRDataModel.getMonitorsNow(); + //NVR.regenConnKeys(); + //$scope.monitors = NVR.getMonitorsNow(); //$scope.MontageMonitors = angular.copy($scope.monitors); - NVRDataModel.debug(">>Initializing monitor array with history specific stuff..."); + NVR.debug(">>Initializing monitor array with history specific stuff..."); for (i = 0; i < $scope.MontageMonitors.length; i++) { //$scope.MontageMonitors[i].Monitor.connKey=''; //$scope.MontageMonitors[i].Monitor.connKey = (Math.floor((Math.random() * 99999) + 1)).toString(); @@ -264,7 +264,7 @@ angular.module('zmApp.controllers').controller('zmApp.MontageHistoryCtrl', ['$sc // grab events that start on or after the time apiurl = ld.apiurl + "/events/index/StartTime >=:" + TimeObjectFrom + "/AlarmFrames >=:" + (ld.enableAlarmCount ? ld.minAlarmCount : 0) + ".json?sort=StartTime&direction=desc"; - NVRDataModel.log("Grabbing history using: " + apiurl); + NVR.log("Grabbing history using: " + apiurl); // make sure there are no more than 5 active streams (noevent is ok) $scope.currentLimit = $scope.monLimit; //qHttp.get(apiurl) @@ -274,8 +274,8 @@ angular.module('zmApp.controllers').controller('zmApp.MontageHistoryCtrl', ['$sc url: apiurl }).then(function (succ) { var data = succ.data; - var ld = NVRDataModel.getLogin(); - NVRDataModel.debug("Got " + data.events.length + "new history events..."); + var ld = NVR.getLogin(); + NVR.debug("Got " + data.events.length + "new history events..."); console.log (JSON.stringify(data)); var eid, mid, stime; for (i = 0; i < data.events.length; i++) { @@ -291,7 +291,7 @@ angular.module('zmApp.controllers').controller('zmApp.MontageHistoryCtrl', ['$sc if ($scope.MontageMonitors[j].Monitor.eventUrl == 'img/noimage.png') { // console.log ("Old value of event url " + $scope.MontageMonitors[j].eventUrl); //console.log ("ldurl is " + ld.streamingurl); - var bw = NVRDataModel.getBandwidth() == "lowbw" ? zm.eventMontageQualityLowBW : ld.montageHistoryQuality; + var bw = NVR.getBandwidth() == "lowbw" ? zm.eventMontageQualityLowBW : ld.montageHistoryQuality; $scope.MontageMonitors[j].Monitor.eventUrl = $scope.MontageMonitors[j].Monitor.streamingURL + "/nph-zms?source=event&mode=jpeg&event=" + eid + "&replay=gapless&rate=" + $scope.sliderVal.realRate + "&connkey=" + $scope.MontageMonitors[j].Monitor.connKey + "&scale=" + bw + $rootScope.authSession; @@ -314,13 +314,13 @@ angular.module('zmApp.controllers').controller('zmApp.MontageHistoryCtrl', ['$sc } // make sure we do our best to get that duration for all monitors // in the above call, is possible some did not make the cut in the first page - NVRDataModel.log("Making sure all monitors have a fair chance..."); + NVR.log("Making sure all monitors have a fair chance..."); var promises = []; for (i = 0; i < $scope.MontageMonitors.length; i++) { //console.log("Fair chance check for " + $scope.MontageMonitors[i].Monitor.Name); if ($scope.MontageMonitors[i].Monitor.eventUrl == 'img/noimage.png') { var indivGrab = ld.apiurl + "/events/index/MonitorId:" + $scope.MontageMonitors[i].Monitor.Id + "/StartTime >=:" + TimeObjectFrom + "/AlarmFrames >=:" + (ld.enableAlarmCount ? ld.minAlarmCount : 0) + ".json"; - NVRDataModel.debug("Monitor " + $scope.MontageMonitors[i].Monitor.Id + ":" + $scope.MontageMonitors[i].Monitor.Name + " does not have events, trying " + indivGrab); + NVR.debug("Monitor " + $scope.MontageMonitors[i].Monitor.Id + ":" + $scope.MontageMonitors[i].Monitor.Name + " does not have events, trying " + indivGrab); var p = getExpandedEvents(i, indivGrab); promises.push(p); @@ -342,7 +342,7 @@ angular.module('zmApp.controllers').controller('zmApp.MontageHistoryCtrl', ['$sc function doPackery() { // $ionicLoading.hide(); //console.log("REDOING PACKERY & DRAG"); - NVRDataModel.debug("Re-creating packery and draggy"); + NVR.debug("Re-creating packery and draggy"); // remove current draggies if (draggies) @@ -361,12 +361,12 @@ angular.module('zmApp.controllers').controller('zmApp.MontageHistoryCtrl', ['$sc } }, function (err) { - NVRDataModel.debug("history ERROR:" + JSON.stringify(err)); + NVR.debug("history ERROR:" + JSON.stringify(err)); }); function getExpandedEvents(i, indivGrab) { var d = $q.defer(); - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); // console.log ("Expanded API: " + indivGrab); $http({ method: 'get', @@ -375,8 +375,8 @@ angular.module('zmApp.controllers').controller('zmApp.MontageHistoryCtrl', ['$sc var data = succ.data; // console.log ("EXPANDED DATA FOR MONITOR " + i + JSON.stringify(data)); if (data.events.length > 0) { - if (!NVRDataModel.isBackground()) { - var bw = NVRDataModel.getBandwidth() == "lowbw" ? zm.eventMontageQualityLowBW : ld.montageHistoryQuality; + if (!NVR.isBackground()) { + var bw = NVR.getBandwidth() == "lowbw" ? zm.eventMontageQualityLowBW : ld.montageHistoryQuality; $scope.MontageMonitors[i].Monitor.eventUrl = $scope.MontageMonitors[i].Monitor.streamingURL + "/nph-zms?source=event&mode=jpeg&event=" + data.events[0].Event.Id + "&frame=1&replay=gapless&rate=" + $scope.sliderVal.realRate + "&connkey=" + $scope.MontageMonitors[i].Monitor.connKey + "&scale=" + bw + $rootScope.authSession; //console.log ("SWITCHING TO " + $scope.MontageMonitors[i].eventUrl); $scope.MontageMonitors[i].Monitor.eventUrlTime = data.events[0].Event.StartTime; @@ -387,11 +387,11 @@ angular.module('zmApp.controllers').controller('zmApp.MontageHistoryCtrl', ['$sc }; $scope.MontageMonitors[i].Monitor.eventDuration = data.events[0].Event.Length; //console.log(">>> Setting Event for " + $scope.MontageMonitors[i].Monitor.Name + " to " + data.events[0].Event.Id); - NVRDataModel.log("Found expanded event " + data.events[0].Event.Id + " for monitor " + $scope.MontageMonitors[i].Monitor.Id); + NVR.log("Found expanded event " + data.events[0].Event.Id + " for monitor " + $scope.MontageMonitors[i].Monitor.Id); } else { // $scope.MontageMonitors[i].eventUrl="img/noimage.png"; // $scope.MontageMonitors[i].eventUrlTime = ""; - // NVRDataModel.log ("Setting img src to null as data received in background"); + // NVR.log ("Setting img src to null as data received in background"); } } d.resolve(true); @@ -430,7 +430,7 @@ angular.module('zmApp.controllers').controller('zmApp.MontageHistoryCtrl', ['$sc // because nph connkey won't exist and the response // will fail if ($scope.MontageMonitors[i].Monitor.eventUrl != "" && $scope.MontageMonitors[i].Monitor.eventUrl != 'img/noimage.png' && $scope.MontageMonitors[i].Monitor.connKey != '' && $scope.MontageMonitors[i].Monitor.Function != 'None' && $scope.MontageMonitors[i].Monitor.listDisplay != 'noshow' && $scope.MontageMonitors[i].Monitor.Enabled != '0') { - // NVRDataModel.debug("Checking event status for " + $scope.MontageMonitors[i].Monitor.Name + ":" + $scope.MontageMonitors[i].Monitor.eventUrl + ":" + $scope.MontageMonitors[i].Monitor.Function + ":" + $scope.MontageMonitors[i].Monitor.listDisplay); + // NVR.debug("Checking event status for " + $scope.MontageMonitors[i].Monitor.Name + ":" + $scope.MontageMonitors[i].Monitor.eventUrl + ":" + $scope.MontageMonitors[i].Monitor.Function + ":" + $scope.MontageMonitors[i].Monitor.listDisplay); // console.log ("Sending query 99 for " + $scope.MontageMonitors[i].Monitor.Name + " with ck="+$scope.MontageMonitors[i].Monitor.connKey); controlEventStream('99', '', $scope.MontageMonitors[i].Monitor.connKey, i); } @@ -447,14 +447,14 @@ angular.module('zmApp.controllers').controller('zmApp.MontageHistoryCtrl', ['$sc function timedControlEventStream(mTime, cmd, disp, connkey, ndx) { var mMtime = mTime || 2000; - NVRDataModel.debug("Deferring control " + cmd + " by " + mMtime); + NVR.debug("Deferring control " + cmd + " by " + mMtime); $timeout(function () { subControlStream(cmd, connkey); }, mMtime); } function subControlStream(cmd, connkey) { - var loginData = NVRDataModel.getLogin(); + var loginData = NVR.getLogin(); var myauthtoken = $rootScope.authSession.replace("&auth=", ""); //&auth= var req = qHttp({ @@ -481,9 +481,9 @@ angular.module('zmApp.controllers').controller('zmApp.MontageHistoryCtrl', ['$sc } }); req.then(function (succ) { - NVRDataModel.debug("subControl success:" + JSON.stringify(succ)); + NVR.debug("subControl success:" + JSON.stringify(succ)); }, function (err) { - NVRDataModel.debug("subControl error:" + JSON.stringify(err)); + NVR.debug("subControl error:" + JSON.stringify(err)); }); } @@ -499,7 +499,7 @@ angular.module('zmApp.controllers').controller('zmApp.MontageHistoryCtrl', ['$sc duration: zm.loadingTimeout, }); } - var loginData = NVRDataModel.getLogin(); + var loginData = NVR.getLogin(); /* var CMD_NONE = 0; var CMD_PAUSE = 1; @@ -560,15 +560,15 @@ angular.module('zmApp.controllers').controller('zmApp.MontageHistoryCtrl', ['$sc if (!$scope.MontageMonitors[ndx].Monitor.seek) { $scope.MontageMonitors[ndx].Monitor.sliderProgress.progress = resp.status.progress; } else { - NVRDataModel.debug("Skipping progress as seek is active for " + $scope.MontageMonitors[ndx].Monitor.Name); + NVR.debug("Skipping progress as seek is active for " + $scope.MontageMonitors[ndx].Monitor.Name); } } if (resp.result == "Ok" && ndx != -1 && ((resp.status.event != $scope.MontageMonitors[ndx].Monitor.eid) || $scope.MontageMonitors[ndx].Monitor.noGraph == true)) { $scope.MontageMonitors[ndx].Monitor.noGraph = false; // $scope.MontageMonitors[ndx].Monitor.sliderProgress.progress = 0; - NVRDataModel.debug("Fetching details, as event changed for " + $scope.MontageMonitors[ndx].Monitor.Name + " from " + $scope.MontageMonitors[ndx].Monitor.eid + " to " + resp.status.event); - var ld = NVRDataModel.getLogin(); + NVR.debug("Fetching details, as event changed for " + $scope.MontageMonitors[ndx].Monitor.Name + " from " + $scope.MontageMonitors[ndx].Monitor.eid + " to " + resp.status.event); + var ld = NVR.getLogin(); var apiurl = ld.apiurl + "/events/" + resp.status.event + ".json"; //console.log ("API " + apiurl); qHttp({ @@ -578,9 +578,9 @@ angular.module('zmApp.controllers').controller('zmApp.MontageHistoryCtrl', ['$sc var data = succ.data; var currentEventTime = moment(data.event.Event.StartTime); var maxTime = moment(); - //NVRDataModel.debug ("Monitor: " + $scope.MontageMonitors[ndx].Monitor.Id + " max time="+maxTime + "("+$scope.datetimeValueTo.value+")"+ " current="+currentEventTime + "("+data.event.Event.StartTime+")"); + //NVR.debug ("Monitor: " + $scope.MontageMonitors[ndx].Monitor.Id + " max time="+maxTime + "("+$scope.datetimeValueTo.value+")"+ " current="+currentEventTime + "("+data.event.Event.StartTime+")"); - NVRDataModel.debug("creating graph for " + $scope.MontageMonitors[ndx].Monitor.Name); + NVR.debug("creating graph for " + $scope.MontageMonitors[ndx].Monitor.Name); var framearray = { labels: [], datasets: [{ @@ -590,7 +590,7 @@ angular.module('zmApp.controllers').controller('zmApp.MontageHistoryCtrl', ['$sc }] }; framearray.labels = []; - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); //console.log(">>>>> GRAPH"); for (i = 0; i < data.event.Frame.length; i++) { var ts = moment(data.event.Frame[i].TimeStamp).format(timeFormat); @@ -611,7 +611,7 @@ angular.module('zmApp.controllers').controller('zmApp.MontageHistoryCtrl', ['$sc element.removeClass('animated flipOutX'); element.addClass('animated flipInX'); $scope.MontageMonitors[ndx].Monitor.eventUrlTime = data.event.Event.StartTime; - var bw = NVRDataModel.getBandwidth() == "lowbw" ? zm.eventMontageQualityLowBW : ld.montageHistoryQuality; + var bw = NVR.getBandwidth() == "lowbw" ? zm.eventMontageQualityLowBW : ld.montageHistoryQuality; // you don't have to change url - its taken care of in cmd? @@ -625,7 +625,7 @@ angular.module('zmApp.controllers').controller('zmApp.MontageHistoryCtrl', ['$sc }, 700); }, function (err) { - NVRDataModel.debug("skipping graph as detailed API failed for " + $scope.MontageMonitors[ndx].Monitor.Name); + NVR.debug("skipping graph as detailed API failed for " + $scope.MontageMonitors[ndx].Monitor.Name); $scope.MontageMonitors[ndx].Monitor.eventUrlTime = "-"; }); } @@ -633,13 +633,13 @@ angular.module('zmApp.controllers').controller('zmApp.MontageHistoryCtrl', ['$sc return d.promise; }, function (err) { d.reject(false); - NVRDataModel.log("Error sending event command " + JSON.stringify(err), "error"); + NVR.log("Error sending event command " + JSON.stringify(err), "error"); return d.promise; }); return d.promise; } $scope.isBackground = function () { - return NVRDataModel.isBackground(); + return NVR.isBackground(); }; //---------------------------------------------------------------- // Alarm notification handling @@ -663,7 +663,7 @@ angular.module('zmApp.controllers').controller('zmApp.MontageHistoryCtrl', ['$sc $scope.handleAlarmsWhileMinimized = function () { $rootScope.isAlarm = !$rootScope.isAlarm; $scope.minimal = !$scope.minimal; - NVRDataModel.debug("MontageHistoryCtrl: switch minimal is " + $scope.minimal); + NVR.debug("MontageHistoryCtrl: switch minimal is " + $scope.minimal); ionic.Platform.fullScreen($scope.minimal, !$scope.minimal); $interval.cancel(intervalHandle); $interval.cancel($rootScope.eventQueryInterval); @@ -688,8 +688,8 @@ angular.module('zmApp.controllers').controller('zmApp.MontageHistoryCtrl', ['$sc //------------------------------------------------------------- $scope.isBackground = function () { //console.log ("Is background called from Montage and returned " + - //NVRDataModel.isBackground()); - return NVRDataModel.isBackground(); + //NVR.isBackground()); + return NVR.isBackground(); }; $scope.toggleControls = function () { $scope.showControls = !$scope.showControls; @@ -714,11 +714,11 @@ angular.module('zmApp.controllers').controller('zmApp.MontageHistoryCtrl', ['$sc $scope.isDragabillyOn = !$scope.isDragabillyOn; $ionicSideMenuDelegate.canDragContent($scope.isDragabillyOn ? false : true); //$timeout(function(){pckry.reloadItems();},10); - NVRDataModel.debug("setting dragabilly to " + $scope.isDragabillyOn); + NVR.debug("setting dragabilly to " + $scope.isDragabillyOn); if ($scope.isDragabillyOn) { $scope.showSizeButtons = true; $scope.dragBorder = "dragborder"; - NVRDataModel.debug("Enabling drag for " + draggies.length + " items"); + NVR.debug("Enabling drag for " + draggies.length + " items"); for (i = 0; i < draggies.length; i++) { draggies[i].enable(); draggies[i].bindHandles(); @@ -727,7 +727,7 @@ angular.module('zmApp.controllers').controller('zmApp.MontageHistoryCtrl', ['$sc // $timeout(function(){pckry.reloadItems();$timeout(function(){pckry.layout();},300);},100); } else { $scope.dragBorder = ""; - NVRDataModel.debug("Disabling drag for " + draggies.length + " items"); + NVR.debug("Disabling drag for " + draggies.length + " items"); for (i = 0; i < draggies.length; i++) { draggies[i].disable(); draggies[i].unbindHandles(); @@ -741,9 +741,9 @@ angular.module('zmApp.controllers').controller('zmApp.MontageHistoryCtrl', ['$sc pckry.shiftLayout(); /*var positions = pckry.getShiftPositions('data-item-id'); //console.log ("POSITIONS MAP " + JSON.stringify(positions)); - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); ld.packeryPositions = JSON.stringify(positions); - NVRDataModel.setLogin(ld);*/ + NVR.setLogin(ld);*/ }, 300); }, 100); } @@ -772,7 +772,7 @@ angular.module('zmApp.controllers').controller('zmApp.MontageHistoryCtrl', ['$sc $scope.toggleMontageDisplayOrder = function () { $scope.packMontage = !$scope.packMontage; loginData.packMontage = $scope.packMontage; - NVRDataModel.setLogin(loginData); + NVR.setLogin(loginData); //console.log ("Switching orientation"); }; //--------------------------------------------------------------------- @@ -782,7 +782,7 @@ angular.module('zmApp.controllers').controller('zmApp.MontageHistoryCtrl', ['$sc // refreshes to the server for images we are not seeing //--------------------------------------------------------------------- function onPause() { - NVRDataModel.debug("MontageHistoryCtrl: onpause called"); + NVR.debug("MontageHistoryCtrl: onpause called"); viewCleanup(); viewCleaned = true; } @@ -790,7 +790,7 @@ angular.module('zmApp.controllers').controller('zmApp.MontageHistoryCtrl', ['$sc function viewCleanup() { if (viewCleaned) { - NVRDataModel.debug("Montage History View Cleanup was already done, skipping"); + NVR.debug("Montage History View Cleanup was already done, skipping"); return; } @@ -805,9 +805,9 @@ angular.module('zmApp.controllers').controller('zmApp.MontageHistoryCtrl', ['$sc $timeout(function () { - NVRDataModel.debug("Killing all streams in montage to save memory/nw..."); + NVR.debug("Killing all streams in montage to save memory/nw..."); for (var i = 0; i < $scope.MontageMonitors.length; i++) { - if ($scope.MontageMonitors[i].Monitor.listDisplay == 'show' && $scope.MontageMonitors[i].Monitor.eventUrl != 'img/noimage.png') NVRDataModel.killLiveStream($scope.MontageMonitors[i].Monitor.connKey, $scope.MontageMonitors[i].Monitor.controlURL, $scope.MontageMonitors[i].Monitor.Name); + if ($scope.MontageMonitors[i].Monitor.listDisplay == 'show' && $scope.MontageMonitors[i].Monitor.eventUrl != 'img/noimage.png') NVR.killLiveStream($scope.MontageMonitors[i].Monitor.connKey, $scope.MontageMonitors[i].Monitor.controlURL, $scope.MontageMonitors[i].Monitor.Name); } @@ -826,18 +826,18 @@ angular.module('zmApp.controllers').controller('zmApp.MontageHistoryCtrl', ['$sc $ionicSideMenuDelegate.toggleLeft(); }; $scope.$on('$destroy', function () { - NVRDataModel.debug("Cancelling eventQueryInterval"); + NVR.debug("Cancelling eventQueryInterval"); $interval.cancel($rootScope.eventQueryInterval); }); $scope.$on('$ionicView.loaded', function () { //console.log("**VIEW ** MontageHistoryCtrl Loaded"); }); $scope.$on('$ionicView.enter', function () { - NVRDataModel.debug("**VIEW ** MontageHistory Ctrl Entered"); - var ld = NVRDataModel.getLogin(); - //console.log("Setting Awake to " + NVRDataModel.getKeepAwake()); - NVRDataModel.setAwake(NVRDataModel.getKeepAwake()); - NVRDataModel.debug("query timer started"); + NVR.debug("**VIEW ** MontageHistory Ctrl Entered"); + var ld = NVR.getLogin(); + //console.log("Setting Awake to " + NVR.getKeepAwake()); + NVR.setAwake(NVR.getKeepAwake()); + NVR.debug("query timer started"); $interval.cancel($rootScope.eventQueryInterval); //console.log ("****************** TIMER STARTED INSIDE ENTER"); $rootScope.eventQueryInterval = $interval(function () { @@ -853,9 +853,9 @@ angular.module('zmApp.controllers').controller('zmApp.MontageHistoryCtrl', ['$sc // if ($scope.modal) $scope.modal.remove(); - NVRDataModel.log("Cancelling event query timer"); + NVR.log("Cancelling event query timer"); $interval.cancel($rootScope.eventQueryInterval); - // NVRDataModel.log("MontageHistory:Stopping network pull..."); + // NVR.log("MontageHistory:Stopping network pull..."); // make sure this is applied in scope digest to stop network pull // thats why we are doing it beforeLeave pckry.destroy(); @@ -905,9 +905,9 @@ angular.module('zmApp.controllers').controller('zmApp.MontageHistoryCtrl', ['$sc /* $timeout(function () { var positions = pckry.EHgetShiftPositions('eh-data-item-id'); //console.log ("POSITIONS MAP " + JSON.stringify(positions)); - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); ld.EHpackeryPositions = JSON.stringify(positions); - NVRDataModel.setLogin(ld); + NVR.setLogin(ld); $ionicLoading.hide(); $scope.sliderChanging = false; }, zm.packeryTimer);*/ @@ -972,7 +972,7 @@ angular.module('zmApp.controllers').controller('zmApp.MontageHistoryCtrl', ['$sc var progressCalled = false; draggies = []; var layouttype = true; - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); var elem = angular.element(document.getElementById("mygrid")); pckry = new Packery('.grid', { @@ -986,7 +986,7 @@ angular.module('zmApp.controllers').controller('zmApp.MontageHistoryCtrl', ['$sc //console.log ("**** mygrid is " + JSON.stringify(elem)); imagesLoaded(elem).on('progress', function (instance, img) { var result = img.isLoaded ? 'loaded' : 'broken'; - // NVRDataModel.debug('~~loaded image is ' + result + ' for ' + img.img.src); + // NVR.debug('~~loaded image is ' + result + ' for ' + img.img.src); $timeout(function () { pckry.layout(); }, 100); @@ -999,13 +999,13 @@ angular.module('zmApp.controllers').controller('zmApp.MontageHistoryCtrl', ['$sc //$scope.$digest(); areStreamsStopped = false; - NVRDataModel.debug("All images loaded"); + NVR.debug("All images loaded"); $ionicLoading.hide(); $scope.areImagesLoading = false; if (!progressCalled) { - NVRDataModel.log("*** PROGRESS WAS NOT CALLED"); + NVR.log("*** PROGRESS WAS NOT CALLED"); //pckry.reloadItems(); } @@ -1022,28 +1022,28 @@ angular.module('zmApp.controllers').controller('zmApp.MontageHistoryCtrl', ['$sc pckry.on('dragItemPositioned', itemDragged); /*if (!isEmpty(positions)) { - NVRDataModel.log("Arranging as per packery grid"); + NVR.log("Arranging as per packery grid"); for (var i = 0; i < $scope.MontageMonitors.length; i++) { for (var j = 0; j < positions.length; j++) { if ($scope.MontageMonitors[i].Monitor.Id == positions[j].attr) { $scope.MontageMonitors[i].Monitor.gridScale = positions[j].size; $scope.MontageMonitors[i].Monitor.listDisplay = positions[j].display; - NVRDataModel.debug("Setting monitor ID: " + $scope.MontageMonitors[i].Monitor.Id + " to size: " + positions[j].size + " and display:" + positions[j].display); + NVR.debug("Setting monitor ID: " + $scope.MontageMonitors[i].Monitor.Id + " to size: " + positions[j].size + " and display:" + positions[j].display); } //console.log ("Index:"+positions[j].attr+ " with size: " + positions[j].size); } } - NVRDataModel.debug("All images loaded, doing image layout"); + NVR.debug("All images loaded, doing image layout"); $timeout(function () { pckry.initShiftLayout(positions, 'data-item-id'); }, 0); }*/ $timeout(function () { - NVRDataModel.log("Force calling resize"); + NVR.log("Force calling resize"); pckry.layout(); $scope.packeryDone = true; }, zm.packeryTimer); // don't ask @@ -1053,15 +1053,15 @@ angular.module('zmApp.controllers').controller('zmApp.MontageHistoryCtrl', ['$sc }); function itemDragged(item) { - NVRDataModel.debug("drag complete"); + NVR.debug("drag complete"); } } $scope.$on('$ionicView.beforeEnter', function () { $scope.$on ( "process-push", function () { - NVRDataModel.debug (">> MontageHistoryCtrl: push handler"); - var s = NVRDataModel.evaluateTappedNotification(); - NVRDataModel.debug("tapped Notification evaluation:"+ JSON.stringify(s)); + NVR.debug (">> MontageHistoryCtrl: push handler"); + var s = NVR.evaluateTappedNotification(); + NVR.debug("tapped Notification evaluation:"+ JSON.stringify(s)); $ionicHistory.nextViewOptions({ disableAnimate:true, disableBack: true @@ -1080,25 +1080,25 @@ angular.module('zmApp.controllers').controller('zmApp.MontageHistoryCtrl', ['$sc // $scope.MontageMonitors = message; - isMultiPort = NVRDataModel.getCurrentServerMultiPortSupported() && !NVRDataModel.getLogin().disableSimulStreaming; + isMultiPort = NVR.getCurrentServerMultiPortSupported() && !NVR.getLogin().disableSimulStreaming; // don't do this - we are simulstreaming in this view /* if ($rootScope.platformOS == 'ios') { isSimulStreaming = false; - NVRDataModel.log("IOS detected, disabling simulstreaming"); + NVR.log("IOS detected, disabling simulstreaming"); }*/ $scope.isMultiPort = isMultiPort; areStreamsStopped = true; - NVRDataModel.regenConnKeys(); - $scope.monitors = NVRDataModel.getMonitorsNow(); + NVR.regenConnKeys(); + $scope.monitors = NVR.getMonitorsNow(); $scope.MontageMonitors = angular.copy($scope.monitors); - var loginData = NVRDataModel.getLogin(); + var loginData = NVR.getLogin(); // init monitors - NVRDataModel.debug(">>Initializing connkeys and images..."); + NVR.debug(">>Initializing connkeys and images..."); for (var i = 0; i < $scope.MontageMonitors.length; i++) { //$scope.MontageMonitors[i].Monitor.connKey=''; $scope.MontageMonitors[i].Monitor.eid = "-1"; @@ -1118,15 +1118,15 @@ angular.module('zmApp.controllers').controller('zmApp.MontageHistoryCtrl', ['$sc }); $scope.reloadView = function () { $rootScope.rand = Math.floor((Math.random() * 100000) + 1); - NVRDataModel.log("User action: image reload " + $rootScope.rand); + NVR.log("User action: image reload " + $rootScope.rand); }; $scope.doRefresh = function () { //console.log("***Pull to Refresh, recomputing Rand"); - NVRDataModel.log("Reloading view for montage view, recomputing rand"); + NVR.log("Reloading view for montage view, recomputing rand"); $rootScope.rand = Math.floor((Math.random() * 100000) + 1); $scope.MontageMonitors = []; imageLoadingDataShare.set(0); - var refresh = NVRDataModel.getMonitors(1); + var refresh = NVR.getMonitors(1); refresh.then(function (data) { $scope.MontageMonitors = data.data; $scope.$broadcast('scroll.refreshComplete'); @@ -1206,10 +1206,10 @@ angular.module('zmApp.controllers').controller('zmApp.MontageHistoryCtrl', ['$sc exactMatch: false, showTimeline: true }; - $scope.timeFormat = "yyyy-MM-dd " + NVRDataModel.getTimeFormat(); + $scope.timeFormat = "yyyy-MM-dd " + NVR.getTimeFormat(); $scope.displayDateTimeSliders = true; $scope.showtimers = true; - $scope.loginData = NVRDataModel.getLogin(); + $scope.loginData = NVR.getLogin(); $scope.slider_modal_options_rate = { from: 1, @@ -1220,7 +1220,7 @@ angular.module('zmApp.controllers').controller('zmApp.MontageHistoryCtrl', ['$sc callback: function (value, released) { //console.log("CALLBACK"+value+released); $ionicScrollDelegate.freezeScroll(!released); - //NVRDataModel.debug("EventCtrl: freezeScroll called with " + !released); + //NVR.debug("EventCtrl: freezeScroll called with " + !released); }, smooth: false, @@ -1267,7 +1267,7 @@ angular.module('zmApp.controllers').controller('zmApp.MontageHistoryCtrl', ['$sc //if (monitor.Monitor.isPaused) return ""; stream = monitor.Monitor.eventUrl; //eventUrl already has all the foo - stream += NVRDataModel.insertBasicAuthToken(); + stream += NVR.insertBasicAuthToken(); // console.log("STREAM=" + stream); return stream; @@ -1335,8 +1335,8 @@ angular.module('zmApp.controllers').controller('zmApp.MontageHistoryCtrl', ['$sc return; } */ - NVRDataModel.log("Inside MontageHistoryCtrl:We found " + $scope.MontageMonitors.length + " monitors"); - // $scope.MontageMonitors = NVRDataModel.applyMontageMonitorPrefs(message, 1)[0]; + NVR.log("Inside MontageHistoryCtrl:We found " + $scope.MontageMonitors.length + " monitors"); + // $scope.MontageMonitors = NVR.applyMontageMonitorPrefs(message, 1)[0]; // -------------------------------------------------------- @@ -1347,12 +1347,12 @@ angular.module('zmApp.controllers').controller('zmApp.MontageHistoryCtrl', ['$sc e.preventDefault(); if ($scope.modal && $scope.modal.isShown()) { // switch off awake, as liveview is finished - NVRDataModel.debug("Modal is open, closing it"); - NVRDataModel.setAwake(false); + NVR.debug("Modal is open, closing it"); + NVR.setAwake(false); $scope.modal.remove(); $scope.isModalActive = false; } else { - NVRDataModel.debug("Modal is closed, so toggling or exiting"); + NVR.debug("Modal is closed, so toggling or exiting"); if (!$ionicSideMenuDelegate.isOpenLeft()) { $ionicSideMenuDelegate.toggleLeft(); } else { @@ -1363,19 +1363,19 @@ angular.module('zmApp.controllers').controller('zmApp.MontageHistoryCtrl', ['$sc $scope.isRefresh = $stateParams.isRefresh; sizeInProgress = false; $ionicSideMenuDelegate.canDragContent(false); - $scope.LoginData = NVRDataModel.getLogin(); + $scope.LoginData = NVR.getLogin(); $scope.monLimit = $scope.LoginData.maxMontage; $scope.currentLimit = $scope.LoginData.maxMontage; - ld = NVRDataModel.getLogin(); + ld = NVR.getLogin(); if (!isMultiPort || ld.disableSimulStreaming) { - NVRDataModel.log("Limiting montage to 5, thanks to max connection per domain limit"); + NVR.log("Limiting montage to 5, thanks to max connection per domain limit"); $scope.currentLimit = 5; $scope.monLimit = 5; } else { - NVRDataModel.log("You have multiport on, so no montage limits"); + NVR.log("You have multiport on, so no montage limits"); } @@ -1383,7 +1383,7 @@ angular.module('zmApp.controllers').controller('zmApp.MontageHistoryCtrl', ['$sc $timeout(function () { // initPackery(); readyToRun = true; - NVRDataModel.debug("Calling footerCollapse from doInit"); + NVR.debug("Calling footerCollapse from doInit"); footerCollapse(); }, zm.packeryTimer); diff --git a/www/js/DataModel.js b/www/js/NVR.js index 8ce71772..94aeae51 100644 --- a/www/js/DataModel.js +++ b/www/js/NVR.js @@ -9,7 +9,7 @@ angular.module('zmApp.controllers') - .service('NVRDataModel', ['$ionicPlatform', '$http', '$q', '$ionicLoading', '$ionicBackdrop', '$fileLogger', 'zm', '$rootScope', '$ionicContentBanner', '$timeout', '$cordovaPinDialog', '$ionicPopup', '$localstorage', '$state', '$translate', '$cordovaSQLite', + .service('NVR', ['$ionicPlatform', '$http', '$q', '$ionicLoading', '$ionicBackdrop', '$fileLogger', 'zm', '$rootScope', '$ionicContentBanner', '$timeout', '$cordovaPinDialog', '$ionicPopup', '$localstorage', '$state', '$translate', '$cordovaSQLite', function ($ionicPlatform, $http, $q, $ionicLoading, $ionicBackdrop, $fileLogger, zm, $rootScope, $ionicContentBanner, $timeout, $cordovaPinDialog, $ionicPopup, $localstorage, $state, $translate) { @@ -431,22 +431,22 @@ angular.module('zmApp.controllers') // Skipping monitor number as I only need an auth key // so no need to generate an image myurl = loginData.url + "/index.php?view=watch&mid=" + mid; - debug("DataModel: Getting auth from " + myurl + " with mid=" + mid); + debug("NVR: Getting auth from " + myurl + " with mid=" + mid); $http.get(myurl) .then(function (success) { //console.log ("**** RESULT IS " + JSON.stringify(success)); // Look for auth= var auth = success.data.match("auth=(.*?)&"); if (auth && (auth[1] != null)) { - log("DataModel: Extracted a stream authentication key of: " + auth[1]); + log("NVR: Extracted a stream authentication key of: " + auth[1]); as = "&auth=" + auth[1]; $rootScope.authSession = as; d.resolve(as); } else { - log("DataModel: Did not find a stream auth key, looking for user="); + log("NVR: Did not find a stream auth key, looking for user="); auth = success.data.match("user=(.*?)&"); if (auth && (auth[1] != null)) { - log("DataModel: Found simple stream auth mode (user=)"); + log("NVR: Found simple stream auth mode (user=)"); as = "&user=" + loginData.username + "&pass=" + loginData.password; $rootScope.authSession = as; d.resolve(as); @@ -463,7 +463,7 @@ angular.module('zmApp.controllers') }, function (error) { - log("DataModel: Error resolving auth key " + JSON.stringify(error)); + log("NVR: Error resolving auth key " + JSON.stringify(error)); d.resolve("undefined"); return (d.promise); }); @@ -511,7 +511,7 @@ angular.module('zmApp.controllers') if (monitors[m].Monitor.Id == positions[p].attr) { monitors[m].Monitor.listDisplay = positions[p].display; positionFound = true; - //debug("DataModel: Setting MID:" + monitors[m].Monitor.Id + " to " + monitors[m].Monitor.listDisplay); + //debug("NVR: Setting MID:" + monitors[m].Monitor.Id + " to " + monitors[m].Monitor.listDisplay); } } @@ -1022,7 +1022,7 @@ angular.module('zmApp.controllers') }, init: function () { - // console.log("****** DATAMODEL INIT SERVICE CALLED ********") + log("ZMData init: checking for stored variables & setting up log file"); @@ -1344,7 +1344,7 @@ angular.module('zmApp.controllers') } $rootScope.runMode = getBandwidth(); - log("Setting DataModel init bandwidth to: " + $rootScope.runMode); + log("Setting NVR init bandwidth to: " + $rootScope.runMode); if (typeof loginData.refreshSecLowBW == 'undefined') { @@ -1512,7 +1512,7 @@ angular.module('zmApp.controllers') loginData.forceImageModePath = false; loginData.enableBlog = true; - log("DataModel init retrieved store loginData"); + log("NVR init retrieved store loginData"); } else { log("defaultServer configuration NOT found. Keeping login at defaults"); } @@ -1522,13 +1522,12 @@ angular.module('zmApp.controllers') if (window.cordova) setCordovaHttpOptions(); - // FIXME: HACK: This is the latest entry point into dataModel init, so start portal login after this - // not the neatest way + $rootScope.$broadcast('init-complete'); }); monitorsLoaded = 0; - //console.log("Getting out of NVRDataModel init"); + //console.log("Getting out of NVR init"); $rootScope.showBlog = loginData.enableBlog; //debug("loginData structure values: " + JSON.stringify(loginData)); @@ -2004,7 +2003,7 @@ angular.module('zmApp.controllers') req = req + "&auth=" + myauthtoken; // req = req + "&command=17"; - debug("DataModel: Pausing live stream ck:" + ck + " for " + name + " url:" + url); + debug("NVR: Pausing live stream ck:" + ck + " for " + name + " url:" + url); return $http.get(req + "&command=1") .then( function (s) { @@ -2028,7 +2027,7 @@ angular.module('zmApp.controllers') req = req + "&auth=" + myauthtoken; // req = req + "&command=17"; - debug("DataModel: Resuming live stream ck:" + ck + " for " + name); + debug("NVR: Resuming live stream ck:" + ck + " for " + name); return $http.get(req + "&command=2") .then( function (s) { @@ -2053,7 +2052,7 @@ angular.module('zmApp.controllers') req = req + "&auth=" + myauthtoken; // req = req + "&command=17"; if (name == undefined) name = ""; - debug("DataModel: killing " + name + " live stream ck:" + ck); + debug("NVR: killing " + name + " live stream ck:" + ck); return $http.get(req + "&command=17") .then( function (s) { @@ -2134,7 +2133,7 @@ angular.module('zmApp.controllers') regenConnKeys: function () { - debug("DataModel: Regenerating connkeys..."); + debug("NVR: Regenerating connkeys..."); for (var i = 0; i < monitors.length; i++) { monitors[i].Monitor.connKey = (Math.floor((Math.random() * 999999) + 1)).toString(); monitors[i].Monitor.rndKey = (Math.floor((Math.random() * 999999) + 1)).toString(); @@ -2156,7 +2155,7 @@ angular.module('zmApp.controllers') var d = $q.defer(); if ((monitorsLoaded == 0) || (forceReload == 1)) // monitors are empty or force reload { - //console.log("NVRDataModel: Invoking HTTP get to load monitors"); + //console.log("NVR: Invoking HTTP get to load monitors"); log((forceReload == 1) ? "getMonitors:Force reloading all monitors" : "getMonitors:Loading all monitors"); var apiurl = loginData.apiurl; var myurl = apiurl + "/monitors"; @@ -2632,7 +2631,7 @@ angular.module('zmApp.controllers') // When I display events in the event controller, this is the first function I call // This returns the total number of pages // I then proceed to display pages in reverse order to display the latest events first - // I also reverse sort them in NVRDataModel to sort by date + // I also reverse sort them in NVR to sort by date // All this effort because the ZM APIs return events in sorted order, oldest first. Yeesh. //----------------------------------------------------------------------------- diff --git a/www/js/NewsCtrl.js b/www/js/NewsCtrl.js index cf696db6..1e84e535 100644 --- a/www/js/NewsCtrl.js +++ b/www/js/NewsCtrl.js @@ -2,7 +2,7 @@ /* jslint browser: true*/ /* global cordova,StatusBar,angular,console,moment*/ -angular.module('zmApp.controllers').controller('zmApp.NewsCtrl', ['$scope', '$rootScope', '$ionicModal', 'NVRDataModel', '$ionicSideMenuDelegate', '$ionicHistory', '$state', '$http', 'zm', function ($scope, $rootScope, $ionicModal, NVRDataModel, $ionicSideMenuDelegate, $ionicHistory, $state, $http, zm) { +angular.module('zmApp.controllers').controller('zmApp.NewsCtrl', ['$scope', '$rootScope', '$ionicModal', 'NVR', '$ionicSideMenuDelegate', '$ionicHistory', '$state', '$http', 'zm', function ($scope, $rootScope, $ionicModal, NVR, $ionicSideMenuDelegate, $ionicHistory, $state, $http, zm) { $scope.openMenu = function () { $ionicSideMenuDelegate.toggleLeft(); }; @@ -41,9 +41,9 @@ angular.module('zmApp.controllers').controller('zmApp.NewsCtrl', ['$scope', '$ro $scope.$on ('$ionicView.beforeEnter', function () { $scope.$on ( "process-push", function () { - NVRDataModel.debug (">> NewsCtrl: push handler"); - var s = NVRDataModel.evaluateTappedNotification(); - NVRDataModel.debug("tapped Notification evaluation:"+ JSON.stringify(s)); + NVR.debug (">> NewsCtrl: push handler"); + var s = NVR.evaluateTappedNotification(); + NVR.debug("tapped Notification evaluation:"+ JSON.stringify(s)); $ionicHistory.nextViewOptions({ disableAnimate:true, disableBack: true @@ -54,12 +54,12 @@ angular.module('zmApp.controllers').controller('zmApp.NewsCtrl', ['$scope', '$ro $scope.$on('$ionicView.enter', function () { // console.log("**VIEW ** News Ctrl Entered"); - NVRDataModel.setAwake(false); + NVR.setAwake(false); }); $scope.isUnread = function (itemdate) { - var lastDate = NVRDataModel.getLatestBlogPostChecked(); + var lastDate = NVR.getLatestBlogPostChecked(); //console.log ("BLOG DATE="+itemdate+" LAST DATE="+lastDate); //get("latestBlogPostChecked"); if (!lastDate) return true; @@ -73,22 +73,22 @@ angular.module('zmApp.controllers').controller('zmApp.NewsCtrl', ['$scope', '$ro $scope.loadPost = function (item, itemdate) { var lastDate = - NVRDataModel.getLatestBlogPostChecked(); //zmStorageService.get("latestBlogPostChecked"); + NVR.getLatestBlogPostChecked(); //zmStorageService.get("latestBlogPostChecked"); if (!lastDate) { - NVRDataModel.debug("First time checking blog posts, I see"); - NVRDataModel.setLatestBlogPostChecked(itemdate); + NVR.debug("First time checking blog posts, I see"); + NVR.setLatestBlogPostChecked(itemdate); //zmStorageService.set("latestBlogPostChecked", itemdate); } else { - NVRDataModel.debug("last post checked is " + lastDate); - NVRDataModel.debug("current post dated is " + itemdate); + NVR.debug("last post checked is " + lastDate); + NVR.debug("current post dated is " + itemdate); var mLastDate = moment(lastDate); var mItemDate = moment(itemdate); if (mItemDate.diff(mLastDate, 'seconds') > 0) { - NVRDataModel.debug("Updating lastDate to this post"); + NVR.debug("Updating lastDate to this post"); - NVRDataModel.setLatestBlogPostChecked(itemdate); //zmStorageService.set("latestBlogPostChecked", itemdate); + NVR.setLatestBlogPostChecked(itemdate); //zmStorageService.set("latestBlogPostChecked", itemdate); if (itemdate == $scope.newsItems[0].date) { // we are reading the latest post diff --git a/www/js/PortalLoginCtrl.js b/www/js/PortalLoginCtrl.js index 22bb46f8..95967ed0 100644 --- a/www/js/PortalLoginCtrl.js +++ b/www/js/PortalLoginCtrl.js @@ -3,7 +3,7 @@ /*This is for the loop closure I am using in line 143 */ /* jslint browser: true*/ /* global vis,cordova,StatusBar,angular,console,moment */ -angular.module('zmApp.controllers').controller('zmApp.PortalLoginCtrl', ['$ionicPlatform', '$scope', 'zm', 'NVRDataModel', '$ionicSideMenuDelegate', '$rootScope', '$http', '$q', '$state', '$ionicLoading', '$ionicPopover', '$ionicScrollDelegate', '$ionicModal', '$timeout', 'zmAutoLogin', '$ionicHistory', 'EventServer', '$translate', '$ionicPopup', function ($ionicPlatform, $scope, zm, NVRDataModel, $ionicSideMenuDelegate, $rootScope, $http, $q, $state, $ionicLoading, $ionicPopover, $ionicScrollDelegate, $ionicModal, $timeout, zmAutoLogin, $ionicHistory, EventServer, $translate, $ionicPopup) { +angular.module('zmApp.controllers').controller('zmApp.PortalLoginCtrl', ['$ionicPlatform', '$scope', 'zm', 'NVR', '$ionicSideMenuDelegate', '$rootScope', '$http', '$q', '$state', '$ionicLoading', '$ionicPopover', '$ionicScrollDelegate', '$ionicModal', '$timeout', 'zmAutoLogin', '$ionicHistory', 'EventServer', '$translate', '$ionicPopup', function ($ionicPlatform, $scope, zm, NVR, $ionicSideMenuDelegate, $rootScope, $http, $q, $state, $ionicLoading, $ionicPopover, $ionicScrollDelegate, $ionicModal, $timeout, zmAutoLogin, $ionicHistory, EventServer, $translate, $ionicPopup) { var broadcastHandles = []; @@ -18,7 +18,7 @@ angular.module('zmApp.controllers').controller('zmApp.PortalLoginCtrl', ['$ionic $scope.$on('$ionicView.beforeLeave', function () { - //NVRDataModel.debug("Portal: Deregistering broadcast handles"); + //NVR.debug("Portal: Deregistering broadcast handles"); for (var i = 0; i < broadcastHandles.length; i++) { //broadcastHandles[i](); } @@ -41,14 +41,14 @@ angular.module('zmApp.controllers').controller('zmApp.PortalLoginCtrl', ['$ionic processPush = true; if (!alreadyTransitioned) { - NVRDataModel.debug (">> PortalLogin: push handler, marking to resolve later"); + NVR.debug (">> PortalLogin: push handler, marking to resolve later"); } else { - NVRDataModel.debug (">> PortalLoginCtrl: push handler"); + NVR.debug (">> PortalLoginCtrl: push handler"); processPush = false; - var s = NVRDataModel.evaluateTappedNotification(); - NVRDataModel.debug("tapped Notification evaluation:"+ JSON.stringify(s)); + var s = NVR.evaluateTappedNotification(); + NVR.debug("tapped Notification evaluation:"+ JSON.stringify(s)); $ionicHistory.nextViewOptions({ disableAnimate:true, disableBack: true @@ -61,10 +61,10 @@ angular.module('zmApp.controllers').controller('zmApp.PortalLoginCtrl', ['$ionic }); - NVRDataModel.setJustResumed(false); + NVR.setJustResumed(false); - NVRDataModel.debug("Inside Portal login Enter handler"); - loginData = NVRDataModel.getLogin(); + NVR.debug("Inside Portal login Enter handler"); + loginData = NVR.getLogin(); $ionicHistory.nextViewOptions({ disableAnimate:true, @@ -76,29 +76,29 @@ angular.module('zmApp.controllers').controller('zmApp.PortalLoginCtrl', ['$ionic $scope.pindata = {}; if ($ionicSideMenuDelegate.isOpen()) { $ionicSideMenuDelegate.toggleLeft(); - NVRDataModel.debug("Sliding menu close"); + NVR.debug("Sliding menu close"); } $scope.pinPrompt = false; // if true, then PIN is displayed else skip - if (NVRDataModel.hasLoginInfo()) { - NVRDataModel.log("User credentials are provided"); + if (NVR.hasLoginInfo()) { + NVR.log("User credentials are provided"); // You can login either via touch ID or typing in your code - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); if (ld.reloadInMontage == true) { // we are in montage reload, so don't re-auth - NVRDataModel.log("skipping validation, as this is montage reload"); + NVR.log("skipping validation, as this is montage reload"); ld.reloadInMontage = false; - NVRDataModel.setLogin(ld); + NVR.setLogin(ld); unlock(true); } else if ($ionicPlatform.is('android') && loginData.usePin) { FingerprintAuth.isAvailable(function (result) { - NVRDataModel.debug("FingerprintAuth available: " + JSON.stringify(result)); + NVR.debug("FingerprintAuth available: " + JSON.stringify(result)); if (result.isAvailable == true && result.hasEnrolledFingerprints == true) { var encryptConfig = { clientId: "zmNinja", @@ -111,15 +111,15 @@ angular.module('zmApp.controllers').controller('zmApp.PortalLoginCtrl', ['$ionic dialogHint: "", }; // See config object for required parameters FingerprintAuth.encrypt(encryptConfig, function (succ) { - NVRDataModel.log("Touch success"); + NVR.log("Touch success"); unlock(true); }, function (err) { - NVRDataModel.log("Touch Failed " + JSON.stringify(msg)); + NVR.log("Touch Failed " + JSON.stringify(msg)); }); } // if available }, function (err) { - NVRDataModel.log("Fingerprint auth not available or not compatible with Android specs: " + JSON.stringify(err)); + NVR.log("Fingerprint auth not available or not compatible with Android specs: " + JSON.stringify(err)); } ); //isAvailable @@ -131,11 +131,11 @@ angular.module('zmApp.controllers').controller('zmApp.PortalLoginCtrl', ['$ionic window.plugins.touchid.verifyFingerprint( $translate.instant('kPleaseAuthenticate'), // this will be shown in the native scanner popup function (msg) { - NVRDataModel.log("Touch success"); + NVR.log("Touch success"); unlock(true); }, // success handler: fingerprint accepted function (msg) { - NVRDataModel.log("Touch Failed " + JSON.stringify(msg)); + NVR.log("Touch Failed " + JSON.stringify(msg)); } // error handler with errorcode and localised reason ); }, @@ -148,22 +148,22 @@ angular.module('zmApp.controllers').controller('zmApp.PortalLoginCtrl', ['$ionic $cordovaTouchID.authenticate("") .then(function() { - NVRDataModel.log("Touch Success"); + NVR.log("Touch Success"); // Don't assign pin as it may be alphanum unlock(true); }, function() { - NVRDataModel.log("Touch Failed"); + NVR.log("Touch Failed"); }); }, function(error) { - NVRDataModel.log("TouchID not supported"); + NVR.log("TouchID not supported"); });*/ } else // touch was not used { - NVRDataModel.log("not checking for touchID"); + NVR.log("not checking for touchID"); } if (loginData.usePin) { @@ -179,9 +179,9 @@ angular.module('zmApp.controllers').controller('zmApp.PortalLoginCtrl', ['$ionic } else // login creds are not present { - NVRDataModel.debug("PortalLogin: Not logged in, so going to login"); - if (NVRDataModel.isFirstUse()) { - NVRDataModel.debug("First use, showing warm and fuzzy..."); + NVR.debug("PortalLogin: Not logged in, so going to login"); + if (NVR.isFirstUse()) { + NVR.debug("First use, showing warm and fuzzy..."); $ionicHistory.nextViewOptions({ disableAnimate: true, disableBack: true @@ -236,14 +236,14 @@ angular.module('zmApp.controllers').controller('zmApp.PortalLoginCtrl', ['$ionic zmAutoLogin.doLogin("<button class='button button-clear' style='line-height: normal; min-height: 0; min-width: 0;color:#fff;' ng-click='$root.cancelAuth()'><i class='ion-close-circled'></i> " + $translate.instant('kAuthenticating') + "...</button>") .then(function (data) // success { - NVRDataModel.debug("2nd auth login worked"); - NVRDataModel.getAPIversion() + NVR.debug("2nd auth login worked"); + NVR.getAPIversion() .then(function (data) { - NVRDataModel.getKeyConfigParams(1); - NVRDataModel.log("2nd auth:Got API version: " + data); + NVR.getKeyConfigParams(1); + NVR.log("2nd auth:Got API version: " + data); $rootScope.apiVersion = data; - var ld = NVRDataModel.getLogin(); - if (NVRDataModel.versionCompare(data, zm.minAppVersion) == -1 && data != "0.0.0") { + var ld = NVR.getLogin(); + if (NVR.versionCompare(data, zm.minAppVersion) == -1 && data != "0.0.0") { $state.go('app.lowversion', { "ver": data @@ -251,13 +251,13 @@ angular.module('zmApp.controllers').controller('zmApp.PortalLoginCtrl', ['$ionic return; } - if (NVRDataModel.versionCompare(data, zm.recommendedAppVersion) == -1 && data != "0.0.0") { + if (NVR.versionCompare(data, zm.recommendedAppVersion) == -1 && data != "0.0.0") { - NVRDataModel.hrsSinceChecked("zmVersion") + NVR.hrsSinceChecked("zmVersion") .then(function (val) { - NVRDataModel.debug("ZM Version nag: Checking " + val + " with " + zm.zmVersionCheckNag); + NVR.debug("ZM Version nag: Checking " + val + " with " + zm.zmVersionCheckNag); if (val >= zm.zmVersionCheckNag && 0) { - NVRDataModel.updateHrsSinceChecked("zmVersion"); + NVR.updateHrsSinceChecked("zmVersion"); $state.go('app.importantmessage', { "ver": data }); @@ -271,8 +271,8 @@ angular.module('zmApp.controllers').controller('zmApp.PortalLoginCtrl', ['$ionic /*if (data == "0.0.0") { - NVRDataModel.log("2nd Auth:API getVersion succeeded but returned 0.0.0 " + JSON.stringify(data)); - NVRDataModel.displayBanner('error', ['ZoneMinder authentication failed']); + NVR.log("2nd Auth:API getVersion succeeded but returned 0.0.0 " + JSON.stringify(data)); + NVR.displayBanner('error', ['ZoneMinder authentication failed']); $state.go("login", { "wizard": false @@ -283,8 +283,8 @@ angular.module('zmApp.controllers').controller('zmApp.PortalLoginCtrl', ['$ionic //EventServer.init(); var statetoGo = $rootScope.lastState ? $rootScope.lastState : 'app.montage'; - //NVRDataModel.debug ("logging state transition"); - NVRDataModel.debug("2nd Auth: Transitioning state to: " + + //NVR.debug ("logging state transition"); + NVR.debug("2nd Auth: Transitioning state to: " + statetoGo + " with param " + JSON.stringify($rootScope.lastStateParam)); alreadyTransitioned = true; @@ -293,7 +293,7 @@ angular.module('zmApp.controllers').controller('zmApp.PortalLoginCtrl', ['$ionic }, function (error) { - NVRDataModel.debug("2nd auth API failed, going to login"); + NVR.debug("2nd auth API failed, going to login"); d.reject("failed 2nd auth"); return (d.promise); @@ -301,7 +301,7 @@ angular.module('zmApp.controllers').controller('zmApp.PortalLoginCtrl', ['$ionic }, function (error) { - NVRDataModel.debug("2nd auth hack failed, going to login"); + NVR.debug("2nd auth hack failed, going to login"); d.reject("failed 2nd auth"); return (d.promise); }); @@ -319,9 +319,9 @@ angular.module('zmApp.controllers').controller('zmApp.PortalLoginCtrl', ['$ionic == false means check PIN */ - NVRDataModel.debug("unlock called with check PIN=" + idVerified); + NVR.debug("unlock called with check PIN=" + idVerified); if (idVerified || ($scope.pindata.pin == loginData.pinCode)) { - NVRDataModel.debug("PIN code entered is correct, or there is no PIN set"); + NVR.debug("PIN code entered is correct, or there is no PIN set"); $rootScope.rand = Math.floor((Math.random() * 100000) + 1); zmAutoLogin.stop(); //safety zmAutoLogin.start(); @@ -330,17 +330,17 @@ angular.module('zmApp.controllers').controller('zmApp.PortalLoginCtrl', ['$ionic zmAutoLogin.doLogin("<button class='button button-clear' style='line-height: normal; min-height: 0; min-width: 0;color:#fff;' ng-click='$root.cancelAuth()'><i class='ion-close-circled'></i> " + $translate.instant('kAuthenticating') + "...</button>") .then(function (data) // success { - NVRDataModel.debug("PortalLogin: auth success"); + NVR.debug("PortalLogin: auth success"); // $state.go("login" ,{"wizard": false}); //login was ok, so get API details - NVRDataModel.getAPIversion() + NVR.getAPIversion() .then(function (data) { - NVRDataModel.log("Got API version: " + data); + NVR.log("Got API version: " + data); $rootScope.apiVersion = data; - var ld = NVRDataModel.getLogin(); - if (NVRDataModel.versionCompare(data, zm.minAppVersion) == -1 && data != "0.0.0") { + var ld = NVR.getLogin(); + if (NVR.versionCompare(data, zm.minAppVersion) == -1 && data != "0.0.0") { $state.go('app.lowversion', { "ver": data @@ -348,16 +348,16 @@ angular.module('zmApp.controllers').controller('zmApp.PortalLoginCtrl', ['$ionic return; } - if (NVRDataModel.versionCompare(data, zm.recommendedAppVersion) == -1 && data != "0.0.0") { + if (NVR.versionCompare(data, zm.recommendedAppVersion) == -1 && data != "0.0.0") { - NVRDataModel.hrsSinceChecked("zmVersion") + NVR.hrsSinceChecked("zmVersion") .then(function (val) { - NVRDataModel.debug("ZM Version nag: Checking " + val + " with " + zm.zmVersionCheckNag); + NVR.debug("ZM Version nag: Checking " + val + " with " + zm.zmVersionCheckNag); if (val >= zm.zmVersionCheckNag && 0) { //https://api.github.com/repos/zoneminder/zoneminder/releases/latest //tag_name - NVRDataModel.updateHrsSinceChecked("zmVersion"); + NVR.updateHrsSinceChecked("zmVersion"); $state.go('app.importantmessage', { "ver": data }); @@ -372,8 +372,8 @@ angular.module('zmApp.controllers').controller('zmApp.PortalLoginCtrl', ['$ionic /*if (data == "0.0.0") { - NVRDataModel.log("API getVersion succeeded but returned 0.0.0 " + JSON.stringify(data)); - NVRDataModel.displayBanner('error', ['ZoneMinder authentication failed']); + NVR.log("API getVersion succeeded but returned 0.0.0 " + JSON.stringify(data)); + NVR.displayBanner('error', ['ZoneMinder authentication failed']); $state.go("login", { "wizard": false @@ -384,11 +384,11 @@ angular.module('zmApp.controllers').controller('zmApp.PortalLoginCtrl', ['$ionic // coming here means continue // console.log (">>>>>>>>>>>>>>>>>>>>>>>>>NEVER"); - NVRDataModel.getKeyConfigParams(1); - NVRDataModel.getTimeZone(); + NVR.getKeyConfigParams(1); + NVR.getTimeZone(); EventServer.init(); - NVRDataModel.zmPrivacyProcessed() + NVR.zmPrivacyProcessed() .then(function (val) { // console.log(">>>>>>>>>>>>>>>>>>> PRIVACY PROCESSED:" + val); if (!val) { @@ -411,21 +411,21 @@ angular.module('zmApp.controllers').controller('zmApp.PortalLoginCtrl', ['$ionic //console.log ("NOTIFICATION TAPPED INSIDE CHECK IS "+$rootScope.tappedNotification); var statetoGo = $rootScope.lastState ? $rootScope.lastState : 'app.montage'; - // NVRDataModel.debug("logging state transition"); + // NVR.debug("logging state transition"); if (!processPush) { alreadyTransitioned = true; - NVRDataModel.debug("Transitioning state to: " + + NVR.debug("Transitioning state to: " + statetoGo + " with param " + JSON.stringify($rootScope.lastStateParam)); $state.go(statetoGo, $rootScope.lastStateParam); return; } else { - NVRDataModel.debug ("Deferred handling of push:"); + NVR.debug ("Deferred handling of push:"); processPush = false; - var s = NVRDataModel.evaluateTappedNotification(); - NVRDataModel.debug("tapped Notification evaluation:"+ JSON.stringify(s)); + var s = NVR.evaluateTappedNotification(); + NVR.debug("tapped Notification evaluation:"+ JSON.stringify(s)); $ionicHistory.nextViewOptions({ disableAnimate:true, disableBack: true @@ -438,15 +438,15 @@ angular.module('zmApp.controllers').controller('zmApp.PortalLoginCtrl', ['$ionic }, function (error) { // API Error - NVRDataModel.log("API Error handler: going to login getAPI returned error: " + JSON.stringify(error)); - //NVRDataModel.displayBanner('error', ['ZoneMinder authentication failed']); + NVR.log("API Error handler: going to login getAPI returned error: " + JSON.stringify(error)); + //NVR.displayBanner('error', ['ZoneMinder authentication failed']); - NVRDataModel.debug("Doing the Aaron Hack after 1 sec...."); + NVR.debug("Doing the Aaron Hack after 1 sec...."); $timeout(function () { tryLoggingSecondTimeHack() .then(function success(s) { - NVRDataModel.log("2nd time login hack worked!, nothing to do"); - NVRDataModel.getTimeZone(); + NVR.log("2nd time login hack worked!, nothing to do"); + NVR.getTimeZone(); }, function error(e) { @@ -474,10 +474,10 @@ angular.module('zmApp.controllers').controller('zmApp.PortalLoginCtrl', ['$ionic // coming here means auth error // so go back to login function (error) { - NVRDataModel.debug("PortalLogin: error authenticating " + + NVR.debug("PortalLogin: error authenticating " + JSON.stringify(error)); if (!$rootScope.userCancelledAuth) { - NVRDataModel.displayBanner('error', ['ZoneMinder authentication failed', 'Please check API settings']); + NVR.displayBanner('error', ['ZoneMinder authentication failed', 'Please check API settings']); $ionicHistory.nextViewOptions({ disableAnimate: true, disableBack: true @@ -513,7 +513,7 @@ angular.module('zmApp.controllers').controller('zmApp.PortalLoginCtrl', ['$ionic // Controller Main //------------------------------------------------------------------------------- // console.log("************* ENTERING PORTAL MAIN "); - NVRDataModel.log("Entering Portal Main"); + NVR.log("Entering Portal Main"); var loginData; $ionicSideMenuDelegate.canDragContent(true); diff --git a/www/js/StateCtrl.js b/www/js/StateCtrl.js index 34255287..1a40b8f5 100644 --- a/www/js/StateCtrl.js +++ b/www/js/StateCtrl.js @@ -4,8 +4,8 @@ // controller for State View -angular.module('zmApp.controllers').controller('zmApp.StateCtrl', ['$ionicPopup', '$scope', 'zm', 'NVRDataModel', '$ionicSideMenuDelegate', '$ionicLoading', '$ionicModal', '$state', '$http', '$rootScope', '$timeout', '$ionicHistory', '$translate', '$stateParams', function ( - $ionicPopup, $scope, zm, NVRDataModel, $ionicSideMenuDelegate, $ionicLoading, $ionicModal, $state, $http, $rootScope, $timeout, $ionicHistory, $translate, $stateParams) { +angular.module('zmApp.controllers').controller('zmApp.StateCtrl', ['$ionicPopup', '$scope', 'zm', 'NVR', '$ionicSideMenuDelegate', '$ionicLoading', '$ionicModal', '$state', '$http', '$rootScope', '$timeout', '$ionicHistory', '$translate', '$stateParams', function ( + $ionicPopup, $scope, zm, NVR, $ionicSideMenuDelegate, $ionicLoading, $ionicModal, $state, $http, $rootScope, $timeout, $ionicHistory, $translate, $stateParams) { //---------------------------------------------------------------------- // Controller main @@ -22,7 +22,7 @@ angular.module('zmApp.controllers').controller('zmApp.StateCtrl', ['$ionicPopup' $rootScope.zmPopup = ""; - var loginData = NVRDataModel.getLogin(); + var loginData = NVR.getLogin(); var apiRun = loginData.apiurl + "/host/daemonCheck.json"; var apiLoad = loginData.apiurl + "/host/getLoad.json"; @@ -81,7 +81,7 @@ $scope.toggleServer = function() { }; /* $timeout(function () { - NVRDataModel.debug("invoking DiskStatus..."); + NVR.debug("invoking DiskStatus..."); getDiskStatus(); }, 6000); */ @@ -100,9 +100,9 @@ $scope.toggleServer = function() { $scope.showServer = true; $scope.$on ( "process-push", function () { - NVRDataModel.debug (">> StateCtrl: push handler"); - var s = NVRDataModel.evaluateTappedNotification(); - NVRDataModel.debug("tapped Notification evaluation:"+ JSON.stringify(s)); + NVR.debug (">> StateCtrl: push handler"); + var s = NVR.evaluateTappedNotification(); + NVR.debug("tapped Notification evaluation:"+ JSON.stringify(s)); $ionicHistory.nextViewOptions({ disableAnimate:true, disableBack: true @@ -113,7 +113,7 @@ $scope.toggleServer = function() { $scope.$on('$ionicView.enter', function () { // console.log("**VIEW ** Montage Ctrl Entered"); - NVRDataModel.setAwake(false); + NVR.setAwake(false); }); @@ -131,11 +131,11 @@ $scope.toggleServer = function() { // if applicable //--------------------------------------------------------- function getCurrentState() { - NVRDataModel.debug("StateCtrl: getting state using " + apiCurrentState); + NVR.debug("StateCtrl: getting state using " + apiCurrentState); $http.get(apiCurrentState) .then( function (success) { - NVRDataModel.debug("State results: " + JSON.stringify(success)); + NVR.debug("State results: " + JSON.stringify(success)); var customStateArray = success.data.states; var i = 0; var found = false; @@ -151,7 +151,7 @@ $scope.toggleServer = function() { }, function (error) { - NVRDataModel.debug("StateCtrl: Error retrieving state list " + JSON.stringify(error)); + NVR.debug("StateCtrl: Error retrieving state list " + JSON.stringify(error)); $scope.customState = ""; } @@ -190,7 +190,7 @@ $scope.toggleServer = function() { selectedState: "" }; //console.log(JSON.stringify($scope.allStateNames)); - NVRDataModel.log("List of custom states: " + JSON.stringify($scope.allStateNames)); + NVR.log("List of custom states: " + JSON.stringify($scope.allStateNames)); $rootScope.zmPopup = $ionicPopup.show({ scope: $scope, template: '<ion-radio-fix ng-repeat="item in allStateNames" ng-value="item" ng-model="myopt.selectedState"> {{item}} </ion-radio-fix>', @@ -231,7 +231,7 @@ $scope.toggleServer = function() { function getStorageStatus() { $scope.storage = []; - NVRDataModel.debug("StorageStatus: " + apiStorage); + NVR.debug("StorageStatus: " + apiStorage); $http.get(apiStorage) .then( function (success) { @@ -243,7 +243,7 @@ $scope.toggleServer = function() { function (error) { $scope.zmDisk = "unknown"; // console.log("ERROR:" + JSON.stringify(error)); - NVRDataModel.log("Error retrieving DiskStatus: " + JSON.stringify(error), "error"); + NVR.log("Error retrieving DiskStatus: " + JSON.stringify(error), "error"); } ); } @@ -255,7 +255,7 @@ $scope.toggleServer = function() { function getServerStatus() { $scope.servers = []; - NVRDataModel.debug("ServerStatus: " + apiStorage); + NVR.debug("ServerStatus: " + apiStorage); $http.get(apiServer) .then( function (success) { @@ -271,7 +271,7 @@ $scope.toggleServer = function() { function (error) { $scope.zmDisk = "unknown"; // console.log("ERROR:" + JSON.stringify(error)); - NVRDataModel.log("Error retrieving DiskStatus: " + JSON.stringify(error), "error"); + NVR.log("Error retrieving DiskStatus: " + JSON.stringify(error), "error"); } ); } @@ -284,12 +284,12 @@ $scope.toggleServer = function() { - NVRDataModel.debug("StateCtrl/getRunStatus: " + apiRun); + NVR.debug("StateCtrl/getRunStatus: " + apiRun); $http.get(apiRun) .then( function (success) { - NVRDataModel.debug("StateCtrl/getRunStatus: success"); - NVRDataModel.debug("Run results: " + JSON.stringify(success)); + NVR.debug("StateCtrl/getRunStatus: success"); + NVR.debug("Run results: " + JSON.stringify(success)); switch (success.data.result) { case 1: $scope.zmRun = $translate.instant('kZMRunning'); @@ -310,7 +310,7 @@ $scope.toggleServer = function() { }, function (error) { //console.log("ERROR in getRun: " + JSON.stringify(error)); - NVRDataModel.log("Error getting RunStatus " + JSON.stringify(error), "error"); + NVR.log("Error getting RunStatus " + JSON.stringify(error), "error"); $scope.color = 'red'; $scope.zmRun = $translate.instant('kZMUndetermined'); } @@ -322,21 +322,21 @@ $scope.toggleServer = function() { // gets ZM load - max[0], avg[1], min[2] //---------------------------------------------------------------------- function getLoadStatus() { - NVRDataModel.debug("StateCtrl/getLoadStatus: " + apiLoad); + NVR.debug("StateCtrl/getLoadStatus: " + apiLoad); $http.get(apiLoad) .then( function (success) { - NVRDataModel.debug("Load results: " + JSON.stringify(success)); + NVR.debug("Load results: " + JSON.stringify(success)); //console.log(JSON.stringify(success)); // load returns 3 params - one in the middle is avg. - NVRDataModel.debug("StateCtrl/getLoadStatus: success"); + NVR.debug("StateCtrl/getLoadStatus: success"); $scope.zmLoad = success.data.load[1]; // console.log("X"+success.data.result+"X"); }, function (error) { //console.log("ERROR in getLoad: " + JSON.stringify(error)); - NVRDataModel.log("Error retrieving loadStatus " + JSON.stringify(error), "error"); + NVR.log("Error retrieving loadStatus " + JSON.stringify(error), "error"); $scope.zmLoad = 'undetermined'; } ); @@ -348,17 +348,17 @@ $scope.toggleServer = function() { function performZMoperation(str) { - NVRDataModel.debug("inside performZMoperation with " + str); + NVR.debug("inside performZMoperation with " + str); $scope.zmRun = "..."; $scope.color = 'orange'; $scope.customState = ""; - NVRDataModel.debug("StateCtrl/controlZM: POST Control command is " + apiExec + str + ".json"); + NVR.debug("StateCtrl/controlZM: POST Control command is " + apiExec + str + ".json"); inProgress = 1; $http.post(apiExec + str + ".json") .then( function (success) { - NVRDataModel.debug("StateCtrl/controlZM: returned success"); + NVR.debug("StateCtrl/controlZM: returned success"); inProgress = 0; switch (str) { case "stop": @@ -378,8 +378,8 @@ $scope.toggleServer = function() { //if (error.status) // it seems to return error with status 0 if ok // { //console.log("ERROR in Change State:" + JSON.stringify(error)); - NVRDataModel.debug("StateCtrl/controlZM: returned error"); - NVRDataModel.log("Error in change run state:" + JSON.stringify(error), "error"); + NVR.debug("StateCtrl/controlZM: returned error"); + NVR.log("Error in change run state:" + JSON.stringify(error), "error"); $scope.zmRun = $translate.instant('kZMUndetermined'); $scope.color = 'orange'; inProgress = 0; @@ -389,7 +389,7 @@ $scope.toggleServer = function() { function controlZM(str) { if (inProgress) { - NVRDataModel.debug("StateCtrl/controlZM: operation in progress"); + NVR.debug("StateCtrl/controlZM: operation in progress"); $ionicPopup.alert({ title: $translate.instant('kOperationInProgressTitle'), template: $translate.instant('kOperationInProgressBody') + '...', @@ -444,7 +444,7 @@ $scope.toggleServer = function() { $scope.doRefresh = function () { //console.log("***Pull to Refresh"); - NVRDataModel.debug("StateCtrl/refresh: calling getRun/Load/Disk/CurrentState"); + NVR.debug("StateCtrl/refresh: calling getRun/Load/Disk/CurrentState"); getRunStatus(); getLoadStatus(); getCurrentState(); diff --git a/www/js/TimelineCtrl.js b/www/js/TimelineCtrl.js index 1e1b557e..43f51ba4 100644 --- a/www/js/TimelineCtrl.js +++ b/www/js/TimelineCtrl.js @@ -12,7 +12,7 @@ // FIXME: too much redundant code between EventCtrl and Timeline // Move to ModalCtrl and see if it works -angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPlatform', '$scope', 'zm', 'NVRDataModel', '$ionicSideMenuDelegate', '$rootScope', '$http', '$q', 'message', '$state', '$ionicLoading', '$ionicPopover', '$ionicScrollDelegate', '$ionicModal', '$timeout', '$ionicContentBanner', '$ionicHistory', '$sce', '$stateParams', '$translate', '$ionicPopup', '$interval', function ($ionicPlatform, $scope, zm, NVRDataModel, $ionicSideMenuDelegate, $rootScope, $http, $q, message, $state, $ionicLoading, $ionicPopover, $ionicScrollDelegate, $ionicModal, $timeout, $ionicContentBanner, $ionicHistory, $sce, $stateParams, $translate, $ionicPopup, $interval) { +angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPlatform', '$scope', 'zm', 'NVR', '$ionicSideMenuDelegate', '$rootScope', '$http', '$q', 'message', '$state', '$ionicLoading', '$ionicPopover', '$ionicScrollDelegate', '$ionicModal', '$timeout', '$ionicContentBanner', '$ionicHistory', '$sce', '$stateParams', '$translate', '$ionicPopup', '$interval', function ($ionicPlatform, $scope, zm, NVR, $ionicSideMenuDelegate, $rootScope, $http, $q, message, $state, $ionicLoading, $ionicPopover, $ionicScrollDelegate, $ionicModal, $timeout, $ionicContentBanner, $ionicHistory, $sce, $stateParams, $translate, $ionicPopup, $interval) { var broadcastHandles = []; //console.log("Inside Timeline controller"); @@ -52,10 +52,10 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla // Used to display date range for timeline //----------------------------------------------------------- $scope.prettify = function (str) { - if (NVRDataModel.getLogin().useLocalTimeZone) - return moment.tz(str, NVRDataModel.getTimeZoneNow()).tz(moment.tz.guess()).format('MMMM Do YYYY, ' + NVRDataModel.getTimeFormat()); + if (NVR.getLogin().useLocalTimeZone) + return moment.tz(str, NVR.getTimeZoneNow()).tz(moment.tz.guess()).format('MMMM Do YYYY, ' + NVR.getTimeFormat()); else - return moment(str).format('MMMM Do YYYY, ' + NVRDataModel.getTimeFormat()); + return moment(str).format('MMMM Do YYYY, ' + NVR.getTimeFormat()); }; //----------------------------------------------------------- @@ -73,10 +73,10 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla $scope.toggleMinAlarmFrameCount = function () { // console.log("Toggling"); - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); ld.enableAlarmCount = !ld.enableAlarmCount; - NVRDataModel.setLogin(ld); + NVR.setLogin(ld); $scope.loginData = ld; drawGraph(curFromDate, curToDate, curCount); @@ -127,7 +127,7 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla $scope.fromDate = fromDate; $scope.toDate = toDate; $rootScope.customTimelineRange = false; - NVRDataModel.log("moving by " + d + " day to " + fromDate + " upto " + toDate); + NVR.log("moving by " + d + " day to " + fromDate + " upto " + toDate); drawGraph(fromDate, toDate, maxItems); }; @@ -157,11 +157,11 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla if ($scope.modalFromTimelineIsOpen == true) { // don't know why but some conflict from angular to timeline lib // results in double modals at times - NVRDataModel.log(">>-- duplicate modal detected, preventing"); + NVR.log(">>-- duplicate modal detected, preventing"); } $scope.modalFromTimelineIsOpen = true; - NVRDataModel.setAwake(NVRDataModel.getKeepAwake()); + NVR.setAwake(NVR.getKeepAwake()); // pass this event to ModalCtrl $scope.currentEvent = event; @@ -172,7 +172,7 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla //prepareModalEvent(event.Event.Id); - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); var sl = 'disabled'; if (ld.showLiveForInProgressEvents) { sl = 'enabled'; @@ -199,7 +199,7 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla $scope.modal.show(); - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); }); @@ -213,9 +213,9 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla $scope.modalFromTimelineIsOpen = false; // $interval.cancel(eventsInterval); //$interval.cancel(segmentHandle); - NVRDataModel.debug("TimelineCtrl:Close & Destroy Modal"); - NVRDataModel.stopNetwork("TimelineCtrl: closeModal"); - NVRDataModel.setAwake(false); + NVR.debug("TimelineCtrl:Close & Destroy Modal"); + NVR.stopNetwork("TimelineCtrl: closeModal"); + NVR.setAwake(false); if ($scope.modal !== undefined) { $scope.modal.remove(); } @@ -234,7 +234,7 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla { console.log ("GAPLESS TOGGLE"); $scope.loginData.gapless = !$scope.loginData.gapless; - NVRDataModel.setLogin($scope.loginData); + NVR.setLogin($scope.loginData); };*/ @@ -242,7 +242,7 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla // called when user switches to background //------------------------------------------------------------------------- function onPause() { - NVRDataModel.debug("TimelineCtrl:onpause called"); + NVR.debug("TimelineCtrl:onpause called"); $interval.cancel(updateInterval); // console.log("*** Moving to Background ***"); // Handle the pause event @@ -266,8 +266,8 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla } var tzu = $scope.$on('tz-updated', function () { - $scope.tzAbbr = NVRDataModel.getTimeZoneNow(); - NVRDataModel.debug("Timezone API updated timezone to " + NVRDataModel.getTimeZoneNow()); + $scope.tzAbbr = NVR.getTimeZoneNow(); + NVR.debug("Timezone API updated timezone to " + NVR.getTimeZoneNow()); }); broadcastHandles.push(tzu); @@ -279,12 +279,12 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla $scope.$on('$ionicView.leave', function () { if ($rootScope.platformOS == 'desktop') { - NVRDataModel.debug("Removing keyboard handler"); + NVR.debug("Removing keyboard handler"); window.removeEventListener('keydown', keyboardHandler, true); } - //NVRDataModel.debug("Timeline: Deregistering broadcast handles"); + //NVR.debug("Timeline: Deregistering broadcast handles"); for (var i = 0; i < broadcastHandles.length; i++) { broadcastHandles[i](); } @@ -310,9 +310,9 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla $scope.$on ( "process-push", function () { - NVRDataModel.debug (">> TimelineCtrl: push handler"); - var s = NVRDataModel.evaluateTappedNotification(); - NVRDataModel.debug("tapped Notification evaluation:"+ JSON.stringify(s)); + NVR.debug (">> TimelineCtrl: push handler"); + var s = NVR.evaluateTappedNotification(); + NVR.debug("tapped Notification evaluation:"+ JSON.stringify(s)); $ionicHistory.nextViewOptions({ disableAnimate:true, disableBack: true @@ -428,7 +428,7 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla //console.log("***AFTER ENTER"); $scope.follow = { - 'time': NVRDataModel.getLogin().followTimeLine + 'time': NVR.getLogin().followTimeLine }; $interval.cancel(updateInterval); @@ -436,35 +436,35 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla // Make sure sliding for menu is disabled so it // does not interfere with graph panning $ionicSideMenuDelegate.canDragContent(false); - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); maxItemsConf = ($rootScope.platformOS == 'desktop') ? zm.graphDesktopItemMax : zm.graphItemMax; maxItems = ld.graphSize || maxItemsConf; - NVRDataModel.log("Graph items to draw is " + maxItems); + NVR.log("Graph items to draw is " + maxItems); $scope.maxItems = maxItems; $scope.translationData = { maxItemsVal: maxItems }; $scope.graphLoaded = false; - NVRDataModel.debug("TimelineCtrl/drawGraph: graphLoaded is " + $scope.graphLoaded); + NVR.debug("TimelineCtrl/drawGraph: graphLoaded is " + $scope.graphLoaded); //latestDateDrawn = moment().locale('en').format("YYYY-MM-DD HH:mm:ss"); $scope.modalFromTimelineIsOpen = false; //var tempMon = message; // lets timeline.onget the abbreviated version of TZ to display - if (NVRDataModel.getLogin().useLocalTimeZone) { + if (NVR.getLogin().useLocalTimeZone) { $scope.tzAbbr = moment().tz(moment.tz.guess()).zoneAbbr(); } else { - $scope.tzAbbr = moment().tz(NVRDataModel.getTimeZoneNow()).zoneAbbr(); + $scope.tzAbbr = moment().tz(NVR.getTimeZoneNow()).zoneAbbr(); } //console.log ("TIMELINE MONITORS: " + JSON.stringify(message)); - //var ld = NVRDataModel.getLogin(); - $scope.loginData = NVRDataModel.getLogin(); + //var ld = NVR.getLogin(); + $scope.loginData = NVR.getLogin(); /* if (ld.persistMontageOrder) { - var iMon = NVRDataModel.applyMontageMonitorPrefs(tempMon, 2); + var iMon = NVR.applyMontageMonitorPrefs(tempMon, 2); $scope.monitors = iMon[0]; } else*/ @@ -485,12 +485,12 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla //console.log("From:" + $rootScope.fromString + " To:" + $rootScope.toString); //console.log("FROM & TO IS CUSTOM INVALID"); - if (NVRDataModel.getLogin().useLocalTimeZone) { + if (NVR.getLogin().useLocalTimeZone) { fromDate = moment().startOf('day').format("YYYY-MM-DD HH:mm:ss"); toDate = moment().endOf('day').format("YYYY-MM-DD HH:mm:ss"); } else { - fromDate = moment().tz(NVRDataModel.getTimeZoneNow()).startOf('day').format("YYYY-MM-DD HH:mm:ss"); - toDate = moment().tz(NVRDataModel.getTimeZoneNow()).endOf('day').format("YYYY-MM-DD HH:mm:ss"); + fromDate = moment().tz(NVR.getTimeZoneNow()).startOf('day').format("YYYY-MM-DD HH:mm:ss"); + toDate = moment().tz(NVR.getTimeZoneNow()).endOf('day').format("YYYY-MM-DD HH:mm:ss"); } drawGraph(fromDate, toDate, maxItems); @@ -498,12 +498,12 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla } else { $scope.currentMode = 'day'; - if (NVRDataModel.getLogin().useLocalTimeZone) { + if (NVR.getLogin().useLocalTimeZone) { fromDate = moment().startOf('day').format("YYYY-MM-DD HH:mm:ss"); toDate = moment().endOf('day').format("YYYY-MM-DD HH:mm:ss"); } else { - fromDate = moment().tz(NVRDataModel.getTimeZoneNow()).startOf('day').format("YYYY-MM-DD HH:mm:ss"); - toDate = moment().tz(NVRDataModel.getTimeZoneNow()).endOf('day').format("YYYY-MM-DD HH:mm:ss"); + fromDate = moment().tz(NVR.getTimeZoneNow()).startOf('day').format("YYYY-MM-DD HH:mm:ss"); + toDate = moment().tz(NVR.getTimeZoneNow()).endOf('day').format("YYYY-MM-DD HH:mm:ss"); } drawGraph(fromDate, toDate, maxItems); } @@ -523,11 +523,11 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla e.preventDefault(); if ($scope.modal != undefined && $scope.modal.isShown()) { // switch off awake, as liveview is finished - NVRDataModel.debug("Modal is open, closing it"); - NVRDataModel.setAwake(false); + NVR.debug("Modal is open, closing it"); + NVR.setAwake(false); $scope.modal.remove(); } else { - NVRDataModel.debug("Modal is closed, so toggling or exiting"); + NVR.debug("Modal is closed, so toggling or exiting"); if (!$ionicSideMenuDelegate.isOpenLeft()) { $ionicSideMenuDelegate.toggleLeft(); @@ -565,15 +565,15 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla document.addEventListener("pause", onPause, false); // FIXME: Timeline awake to avoid graph redrawing - NVRDataModel.setAwake(NVRDataModel.getKeepAwake()); + NVR.setAwake(NVR.getKeepAwake()); // fromDate and toDate will be used to plot the range for the graph // We start in day mode // var fromDate, toDate; - fromDate = moment().tz(NVRDataModel.getLogin().useLocalTimeZone ? NVRDataModel.getLocalTimeZoneNow() : NVRDataModel.getTimeZoneNow()).startOf('day').format("YYYY-MM-DD HH:mm:ss"); - toDate = moment().tz(NVRDataModel.getLogin().useLocalTimeZone ? NVRDataModel.getLocalTimeZoneNow() : NVRDataModel.getTimeZoneNow()).endOf('day').format("YYYY-MM-DD HH:mm:ss"); + fromDate = moment().tz(NVR.getLogin().useLocalTimeZone ? NVR.getLocalTimeZoneNow() : NVR.getTimeZoneNow()).startOf('day').format("YYYY-MM-DD HH:mm:ss"); + toDate = moment().tz(NVR.getLogin().useLocalTimeZone ? NVR.getLocalTimeZoneNow() : NVR.getTimeZoneNow()).endOf('day').format("YYYY-MM-DD HH:mm:ss"); $scope.fromDate = fromDate; $scope.toDate = toDate; @@ -581,7 +581,7 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla // maxItems will be ignored during timeline draw if its desktop var maxItemsConf; - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); var maxItems; //flat colors for graph - https://flatuicolors.com http://www.flatuicolorpicker.com @@ -635,10 +635,10 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla }; function shortenTime(str) { - if (NVRDataModel.getLogin().useLocalTimeZone) - return moment.tz(str, NVRDataModel.getTimeZoneNow()).tz(moment.tz.guess()).format(NVRDataModel.getTimeFormat()); + if (NVR.getLogin().useLocalTimeZone) + return moment.tz(str, NVR.getTimeZoneNow()).tz(moment.tz.guess()).format(NVR.getTimeFormat()); else - return moment(str).format(NVRDataModel.getTimeFormat()); + return moment(str).format(NVR.getTimeFormat()); } $scope.toggleFollowTime = function () { @@ -650,9 +650,9 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla return; }*/ $scope.follow.time = !$scope.follow.time; - var loginData = NVRDataModel.getLogin(); + var loginData = NVR.getLogin(); loginData.followTimeLine = $scope.follow.time; - NVRDataModel.setLogin(loginData); + NVR.setLogin(loginData); }; //------------------------------------------------- // Called with day/week/month @@ -663,9 +663,9 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla //console.log (index); if (index == 0) //month { - $scope.follow.time = NVRDataModel.getLogin().followTimeLine; + $scope.follow.time = NVR.getLogin().followTimeLine; $scope.currentMode = "month"; - NVRDataModel.log("Month view"); + NVR.log("Month view"); $rootScope.customTimelineRange = false; toDate = moment().format("YYYY-MM-DD HH:mm:ss"); @@ -675,12 +675,12 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla drawGraph(fromDate, toDate, maxItems); } else if (index == 1) //week { - $scope.follow.time = NVRDataModel.getLogin().followTimeLine; + $scope.follow.time = NVR.getLogin().followTimeLine; $scope.currentMode = "week"; $rootScope.customTimelineRange = false; - NVRDataModel.log("Week view"); - toDate = moment().tz(NVRDataModel.getLogin().useLocalTimeZone ? NVRDataModel.getLocalTimeZoneNow() : NVRDataModel.getTimeZoneNow()).format("YYYY-MM-DD HH:mm:ss"); - fromDate = moment().tz(NVRDataModel.getLogin().useLocalTimeZone ? NVRDataModel.getLocalTimeZoneNow() : NVRDataModel.getTimeZoneNow()).subtract(1, 'week').startOf('day').format("YYYY-MM-DD HH:mm:ss"); + NVR.log("Week view"); + toDate = moment().tz(NVR.getLogin().useLocalTimeZone ? NVR.getLocalTimeZoneNow() : NVR.getTimeZoneNow()).format("YYYY-MM-DD HH:mm:ss"); + fromDate = moment().tz(NVR.getLogin().useLocalTimeZone ? NVR.getLocalTimeZoneNow() : NVR.getTimeZoneNow()).subtract(1, 'week').startOf('day').format("YYYY-MM-DD HH:mm:ss"); $scope.fromDate = fromDate; $scope.toDate = toDate; drawGraph(fromDate, toDate, maxItems); @@ -689,16 +689,16 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla $scope.currentMode = "day"; $rootScope.customTimelineRange = false; - NVRDataModel.log("Day view"); + NVR.log("Day view"); //toDate = moment().format("YYYY-MM-DD HH:mm:ss"); - fromDate = moment().tz(NVRDataModel.getLogin().useLocalTimeZone ? NVRDataModel.getLocalTimeZoneNow() : NVRDataModel.getTimeZoneNow()).startOf('day').format("YYYY-MM-DD HH:mm:ss"); - toDate = moment().tz(NVRDataModel.getLogin().useLocalTimeZone ? NVRDataModel.getLocalTimeZoneNow() : NVRDataModel.getTimeZoneNow()).endOf('day').format("YYYY-MM-DD HH:mm:ss"); + fromDate = moment().tz(NVR.getLogin().useLocalTimeZone ? NVR.getLocalTimeZoneNow() : NVR.getTimeZoneNow()).startOf('day').format("YYYY-MM-DD HH:mm:ss"); + toDate = moment().tz(NVR.getLogin().useLocalTimeZone ? NVR.getLocalTimeZoneNow() : NVR.getTimeZoneNow()).endOf('day').format("YYYY-MM-DD HH:mm:ss"); $scope.fromDate = fromDate; $scope.toDate = toDate; drawGraph(fromDate, toDate, maxItems); } else // custom { - $scope.follow.time = NVRDataModel.getLogin().followTimeLine; + $scope.follow.time = NVR.getLogin().followTimeLine; $scope.currentMode = "custom"; $rootScope.customTimelineRange = true; $state.go('app.events-date-time-filter'); @@ -716,19 +716,19 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla //safeguard in the event http calls are still going on if (!$scope.follow.time || isProcessNewEventsWaiting) return; - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); // check for last 2 minutes to account for late DB updates and what not. 5 mins was likely enough // // make sure these are server time - var from = moment(lastTimeForEvent).tz(NVRDataModel.getTimeZoneNow()); + var from = moment(lastTimeForEvent).tz(NVR.getTimeZoneNow()); from = from.subtract(2, 'minutes').locale('en').format("YYYY-MM-DD HH:mm:ss"); - var to = moment(lastTimeForEvent).tz(NVRDataModel.getTimeZoneNow()); + var to = moment(lastTimeForEvent).tz(NVR.getTimeZoneNow()); to = to.locale('en').format("YYYY-MM-DD HH:mm:ss"); - lastTimeForEvent = moment().tz(NVRDataModel.getLogin().useLocalTimeZone ? NVRDataModel.getLocalTimeZoneNow() : NVRDataModel.getTimeZoneNow()); + lastTimeForEvent = moment().tz(NVR.getLogin().useLocalTimeZone ? NVR.getLocalTimeZoneNow() : NVR.getTimeZoneNow()); // FIXME: totally ignoring event pages - hoping it wont be more than 100 or 150 whatever // the events per page limit is. Why? laziness. @@ -744,13 +744,13 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla // so, lets limiy to 15 m // - var st = moment(lastTimeForEvent).tz(NVRDataModel.getTimeZoneNow()); + var st = moment(lastTimeForEvent).tz(NVR.getTimeZoneNow()); st = st.subtract(10, 'minutes').locale('en').format("YYYY-MM-DD HH:mm:ss"); var ongoingEvents = ld.apiurl + '/events/index/StartTime >=:' + st + '/EndTime =:.json'; - //NVRDataModel.debug("Getting incremental events using: " + completedEvents); + //NVR.debug("Getting incremental events using: " + completedEvents); - NVRDataModel.debug("Completed events API:" + completedEvents); - NVRDataModel.debug("Ongoing events API:+" + ongoingEvents); + NVR.debug("Completed events API:" + completedEvents); + NVR.debug("Ongoing events API:+" + ongoingEvents); isProcessNewEventsWaiting = true; @@ -775,9 +775,9 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla // these are all in server timezone but no TZ - myevents[j].Event.StartTime = moment.tz(myevents[j].Event.StartTime, NVRDataModel.getTimeZoneNow()).format('YYYY-MM-DD HH:mm:ss'); + myevents[j].Event.StartTime = moment.tz(myevents[j].Event.StartTime, NVR.getTimeZoneNow()).format('YYYY-MM-DD HH:mm:ss'); - myevents[j].Event.EndTime = moment.tz(myevents[j].Event.EndTime, NVRDataModel.getTimeZoneNow()).format('YYYY-MM-DD HH:mm:ss'); + myevents[j].Event.EndTime = moment.tz(myevents[j].Event.EndTime, NVR.getTimeZoneNow()).format('YYYY-MM-DD HH:mm:ss'); var itm = graphData.get(myevents[j].Event.Id); if (itm) { @@ -800,7 +800,7 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla { var tze; - tze = moment().tz(NVRDataModel.getTimeZoneNow()); + tze = moment().tz(NVR.getTimeZoneNow()); myevents[j].Event.EndTime = tze.format('YYYY-MM-DD HH:mm:ss'); @@ -816,25 +816,25 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla if (ld.enableAlarmCount && ld.minAlarmCount > myevents[j].Event.AlarmFrames && !recordingInProgress) { // remove - NVRDataModel.debug("Removing Event:" + myevents[j].Event.Id + "as it doesn't have " + myevents[j].Event.AlarmFrames + " alarm frames"); + NVR.debug("Removing Event:" + myevents[j].Event.Id + "as it doesn't have " + myevents[j].Event.AlarmFrames + " alarm frames"); // var old = timeline.getWindow(); graphData.remove(myevents[j].Event.Id); // timeline.setWindow (old.start, old.end); } else { var tzs1, tze1; - if (NVRDataModel.getLogin().useLocalTimeZone) { - tzs1 = moment.tz(myevents[j].Event.StartTime, NVRDataModel.getTimeZoneNow()).tz(NVRDataModel.getLocalTimeZoneNow()); - tze1 = moment.tz(myevents[j].Event.EndTime, NVRDataModel.getTimeZoneNow()).tz(NVRDataModel.getLocalTimeZoneNow()); + if (NVR.getLogin().useLocalTimeZone) { + tzs1 = moment.tz(myevents[j].Event.StartTime, NVR.getTimeZoneNow()).tz(NVR.getLocalTimeZoneNow()); + tze1 = moment.tz(myevents[j].Event.EndTime, NVR.getTimeZoneNow()).tz(NVR.getLocalTimeZoneNow()); } else { - tzs1 = moment.tz(myevents[j].Event.StartTime, NVRDataModel.getTimeZoneNow()); - tze1 = moment.tz(myevents[j].Event.EndTime, NVRDataModel.getTimeZoneNow()); + tzs1 = moment.tz(myevents[j].Event.StartTime, NVR.getTimeZoneNow()); + tze1 = moment.tz(myevents[j].Event.EndTime, NVR.getTimeZoneNow()); } //tzs1 = tzs1.format("YYYY-MM-DD HH:mm:ss"); //tze1 = tze1.format("YYYY-MM-DD HH:mm:ss"); - NVRDataModel.debug("Updating Event:" + myevents[j].Event.Id + "StartTime:" + tzs1.format() + " EndTime:" + tze1.format()); + NVR.debug("Updating Event:" + myevents[j].Event.Id + "StartTime:" + tzs1.format() + " EndTime:" + tze1.format()); graphData.update({ id: myevents[j].Event.Id, content: content, @@ -858,7 +858,7 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla // timeline.moveTo(timeline.getCurrentTime()); //console.log ("Focus EID="+myevents[j].Event.Id); - localNewEvents = localNewEvents + NVRDataModel.getMonitorName(myevents[j].Event.MonitorId) + '@' + shortenTime(myevents[j].Event.StartTime) + ' (' + myevents[j].Event.Id + '),'; + localNewEvents = localNewEvents + NVR.getMonitorName(myevents[j].Event.MonitorId) + '@' + shortenTime(myevents[j].Event.StartTime) + ' (' + myevents[j].Event.Id + '),'; } @@ -867,7 +867,7 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla var isBeingRecorded = false; var idfound = false; for (var ii = 0; ii < $scope.monitors.length; ii++) { - if ($scope.monitors[ii].Monitor.Id == myevents[j].Event.MonitorId && NVRDataModel.isNotHidden(myevents[j].Event.MonitorId)) { + if ($scope.monitors[ii].Monitor.Id == myevents[j].Event.MonitorId && NVR.isNotHidden(myevents[j].Event.MonitorId)) { idfound = true; break; } @@ -875,14 +875,14 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla if (idfound) { - myevents[j].Event.MonitorName = NVRDataModel.getMonitorName(myevents[j].Event.MonitorId); + myevents[j].Event.MonitorName = NVR.getMonitorName(myevents[j].Event.MonitorId); - myevents[j].Event.streamingURL = NVRDataModel.getStreamingURL(myevents[j].Event.MonitorId); - myevents[j].Event.recordingURL = NVRDataModel.getRecordingURL(myevents[j].Event.MonitorId); - myevents[j].Event.imageMode = NVRDataModel.getImageMode(myevents[j].Event.MonitorId); - if (NVRDataModel.getLogin().url != myevents[j].Event.recordingURL) { + myevents[j].Event.streamingURL = NVR.getStreamingURL(myevents[j].Event.MonitorId); + myevents[j].Event.recordingURL = NVR.getRecordingURL(myevents[j].Event.MonitorId); + myevents[j].Event.imageMode = NVR.getImageMode(myevents[j].Event.MonitorId); + if (NVR.getLogin().url != myevents[j].Event.recordingURL) { - myevents[j].Event.recordingURL = NVRDataModel.getLogin().url; + myevents[j].Event.recordingURL = NVR.getLogin().url; } if (typeof myevents[j].Event.DefaultVideo === 'undefined') @@ -899,23 +899,23 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla if (mv) { graphData.remove(mv.id); graphIndex--; - NVRDataModel.debug("Removed Event " + mv.id + " to make space"); + NVR.debug("Removed Event " + mv.id + " to make space"); } } // since this is a new add its possible dates are not defined if (!moment(myevents[j].Event.StartTime).isValid()) { - NVRDataModel.log("Event:" + myevents[j].Event.Id + "-Invalid Start time - this should really not happen "); + NVR.log("Event:" + myevents[j].Event.Id + "-Invalid Start time - this should really not happen "); } if (!moment(myevents[j].Event.EndTime).isValid()) { - var t1 = moment().tz(NVRDataModel.getTimeZoneNow()); + var t1 = moment().tz(NVR.getTimeZoneNow()); myevents[j].Event.EndTime = t1.format('YYYY-MM-DD HH:mm:ss'); - NVRDataModel.debug("Event:" + myevents[j].Event.Id + "-End time is invalid, setting to current time"); + NVR.debug("Event:" + myevents[j].Event.Id + "-End time is invalid, setting to current time"); isBeingRecorded = true; @@ -937,21 +937,21 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla // since we concated, its possible events may be repeated if (!graphData.get(myevents[j].Event.Id)) { - localNewEvents = localNewEvents + NVRDataModel.getMonitorName(myevents[j].Event.MonitorId) + '@' + shortenTime(myevents[j].Event.StartTime) + ' (' + myevents[j].Event.Id + '),'; + localNewEvents = localNewEvents + NVR.getMonitorName(myevents[j].Event.MonitorId) + '@' + shortenTime(myevents[j].Event.StartTime) + ' (' + myevents[j].Event.Id + '),'; var tzs2, tze2; - if (NVRDataModel.getLogin().useLocalTimeZone) { - tzs2 = moment.tz(myevents[j].Event.StartTime, NVRDataModel.getTimeZoneNow()).tz(NVRDataModel.getTimeZoneNow()).tz(NVRDataModel.getLocalTimeZoneNow()); - tze2 = moment.tz(myevents[j].Event.EndTime, NVRDataModel.getTimeZoneNow()).tz(NVRDataModel.getLocalTimeZoneNow()); + if (NVR.getLogin().useLocalTimeZone) { + tzs2 = moment.tz(myevents[j].Event.StartTime, NVR.getTimeZoneNow()).tz(NVR.getTimeZoneNow()).tz(NVR.getLocalTimeZoneNow()); + tze2 = moment.tz(myevents[j].Event.EndTime, NVR.getTimeZoneNow()).tz(NVR.getLocalTimeZoneNow()); } else { - tzs2 = moment.tz(myevents[j].Event.StartTime, NVRDataModel.getTimeZoneNow()); - tze2 = moment.tz(myevents[j].Event.EndTime, NVRDataModel.getTimeZoneNow()); + tzs2 = moment.tz(myevents[j].Event.StartTime, NVR.getTimeZoneNow()); + tze2 = moment.tz(myevents[j].Event.EndTime, NVR.getTimeZoneNow()); } //tzs2 = tzs2.format("YYYY-MM-DD HH:mm:ss"); //tze2 = tze2.format("YYYY-MM-DD HH:mm:ss"); - NVRDataModel.debug(">>> " + myevents[j].Event.Id + " New event updating graph " + " from:" + tzs2.format() + " to:" + tze2.format()); + NVR.debug(">>> " + myevents[j].Event.Id + " New event updating graph " + " from:" + tzs2.format() + " to:" + tze2.format()); graphData.add({ @@ -996,7 +996,7 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla }, function (err) { - NVRDataModel.debug("Error getting incremental timeline data"); + NVR.debug("Error getting incremental timeline data"); isProcessNewEventsWaiting = false; }); @@ -1037,12 +1037,12 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla duration: zm.loadingTimeout, //specifically for Android - http seems to get stuck at times }); - NVRDataModel.log("TimelineCtrl/drawgraph: from->" + fromDateNoLang + " to->" + toDateNoLang + " count:" + count); + NVR.log("TimelineCtrl/drawgraph: from->" + fromDateNoLang + " to->" + toDateNoLang + " count:" + count); $scope.graphLoaded = false; - NVRDataModel.debug("TimelineCtrl/drawgraph: graphLoaded:" + $scope.graphLoaded); + NVR.debug("TimelineCtrl/drawgraph: graphLoaded:" + $scope.graphLoaded); if (timeline) { - NVRDataModel.debug("TimelineCtrl/drawgraph: destroying timeline as it exists"); + NVR.debug("TimelineCtrl/drawgraph: destroying timeline as it exists"); timeline.destroy(); } @@ -1054,12 +1054,12 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla // lets scope the time graph to either local or remote time zone - if (NVRDataModel.getLogin().useLocalTimeZone) { - tzs = moment.tz(fromDate, NVRDataModel.getTimeZoneNow()).tz(NVRDataModel.getLocalTimeZoneNow()); - tze = moment.tz(toDate, NVRDataModel.getTimeZoneNow()).tz(NVRDataModel.getLocalTimeZoneNow()); + if (NVR.getLogin().useLocalTimeZone) { + tzs = moment.tz(fromDate, NVR.getTimeZoneNow()).tz(NVR.getLocalTimeZoneNow()); + tze = moment.tz(toDate, NVR.getTimeZoneNow()).tz(NVR.getLocalTimeZoneNow()); } else { - tzs = moment.tz(fromDate, NVRDataModel.getTimeZoneNow()); - tze = moment.tz(toDate, NVRDataModel.getTimeZoneNow()); + tzs = moment.tz(fromDate, NVR.getTimeZoneNow()); + tze = moment.tz(toDate, NVR.getTimeZoneNow()); } //tzs = tzs.format("YYYY-MM-DD HH:mm:ss"); @@ -1072,12 +1072,12 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla moment: function (date) { //var t; - if (NVRDataModel.getLogin().useLocalTimeZone) + if (NVR.getLogin().useLocalTimeZone) //if (0) - return moment.tz(date, NVRDataModel.getTimeZoneNow()).tz(NVRDataModel.getLocalTimeZoneNow()); + return moment.tz(date, NVR.getTimeZoneNow()).tz(NVR.getLocalTimeZoneNow()); else // typecast to server time zone - its in server time anyway - return moment.tz(date, NVRDataModel.getTimeZoneNow()); + return moment.tz(date, NVR.getTimeZoneNow()); }, //throttleRedraw: 100, moveable: true, @@ -1092,12 +1092,12 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla stack: false, format: { minorLabels: { - minute: NVRDataModel.getTimeFormat(), - hour: NVRDataModel.getTimeFormat(), + minute: NVR.getTimeFormat(), + hour: NVR.getTimeFormat(), second: 's', }, majorLabels: { - second: "D MMM " + NVRDataModel.getTimeFormat(), + second: "D MMM " + NVR.getTimeFormat(), } }, @@ -1107,7 +1107,7 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla //console.log ("**NOLANG" + fromDateNoLang + " " + toDateNoLang); - NVRDataModel.getEventsPages(0, fromDateNoLang, toDateNoLang) + NVR.getEventsPages(0, fromDateNoLang, toDateNoLang) .then(function (epData) { var pages = 1; var itemsPerPage = parseInt(epData.limit); @@ -1115,15 +1115,15 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla // So iterCount is the # of HTTP calls I need to make iterCount = Math.max(Math.round(count / itemsPerPage), 1); - NVRDataModel.debug("TimelineCtrl/drawGraph: pages of data: " + pages + " items per page: " + itemsPerPage); - NVRDataModel.debug("TimelineCtrl/drawGraph: I will make " + iterCount + " HTTP Requests to get all graph data"); + NVR.debug("TimelineCtrl/drawGraph: pages of data: " + pages + " items per page: " + itemsPerPage); + NVR.debug("TimelineCtrl/drawGraph: I will make " + iterCount + " HTTP Requests to get all graph data"); // I've restructured this part. I was initially using vis DataSets // for dynamic binding which was easier, but due to performance reasons // I am waiting for the full data to load before I draw var promises = []; while ((pages <= epData.pageCount) && (iterCount > 0)) { - var promise = NVRDataModel.getEvents(0, pages, "none", fromDateNoLang, toDateNoLang, true); + var promise = NVR.getEvents(0, pages, "none", fromDateNoLang, toDateNoLang, true); promises.push(promise); pages++; @@ -1133,19 +1133,19 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla $q.all(promises) .then(function (data) { - NVRDataModel.debug("TimelineCtrl/drawgraph: all pages of graph data received "); + NVR.debug("TimelineCtrl/drawgraph: all pages of graph data received "); graphIndex = 0; - NVRDataModel.log("Creating " + $scope.monitors.length + " groups for the graph"); + NVR.log("Creating " + $scope.monitors.length + " groups for the graph"); // create groups for (var g = 0; g < $scope.monitors.length; g++) { groups.add({ id: $scope.monitors[g].Monitor.Id, //mid: $scope.monitors[g].Monitor.Id, - content: NVRDataModel.getMonitorName($scope.monitors[g].Monitor.Id), + content: NVR.getMonitorName($scope.monitors[g].Monitor.Id), order: $scope.monitors[g].Monitor.Sequence }); - NVRDataModel.debug("TimelineCtrl/drawgraph:Adding group " + - NVRDataModel.getMonitorName($scope.monitors[g].Monitor.Id)); + NVR.debug("TimelineCtrl/drawgraph:Adding group " + + NVR.getMonitorName($scope.monitors[g].Monitor.Id)); } for (var j = 0; j < data.length; j++) { @@ -1154,7 +1154,7 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla // console.log ("****************DATA ="+JSON.stringify(data[j])); // console.log ("**********************************"); if (graphIndex > count) { - NVRDataModel.log("Exiting page count graph - reached limit of " + count); + NVR.log("Exiting page count graph - reached limit of " + count); break; } @@ -1163,13 +1163,13 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla // make sure group id exists before adding var idfound = true; - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); if (ld.persistMontageOrder) { idfound = false; for (var ii = 0; ii < $scope.monitors.length; ii++) { - if ($scope.monitors[ii].Monitor.Id == myevents[i].Event.MonitorId && NVRDataModel.isNotHidden(myevents[i].Event.MonitorId)) { + if ($scope.monitors[ii].Monitor.Id == myevents[i].Event.MonitorId && NVR.isNotHidden(myevents[i].Event.MonitorId)) { idfound = true; //console.log ("****************** ID MATCH " + graphIndex); @@ -1178,15 +1178,15 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla } } - myevents[i].Event.MonitorName = NVRDataModel.getMonitorName(myevents[i].Event.MonitorId); + myevents[i].Event.MonitorName = NVR.getMonitorName(myevents[i].Event.MonitorId); // now construct base path - myevents[i].Event.streamingURL = NVRDataModel.getStreamingURL(myevents[i].Event.MonitorId); - myevents[i].Event.recordingURL = NVRDataModel.getRecordingURL(myevents[i].Event.MonitorId); - myevents[i].Event.imageMode = NVRDataModel.getImageMode(myevents[i].Event.MonitorId); - if (NVRDataModel.getLogin().url != myevents[i].Event.recordingURL) { - //NVRDataModel.debug ("Multi server, changing base"); - myevents[i].Event.recordingURL = NVRDataModel.getLogin().url; + myevents[i].Event.streamingURL = NVR.getStreamingURL(myevents[i].Event.MonitorId); + myevents[i].Event.recordingURL = NVR.getRecordingURL(myevents[i].Event.MonitorId); + myevents[i].Event.imageMode = NVR.getImageMode(myevents[i].Event.MonitorId); + if (NVR.getLogin().url != myevents[i].Event.recordingURL) { + //NVR.debug ("Multi server, changing base"); + myevents[i].Event.recordingURL = NVR.getLogin().url; } @@ -1200,12 +1200,12 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla //console.log ("ADDING "+myevents[i].Event.StartTime+"->"+myevents[i].Event.EndTime); var tzs, tze; - if (NVRDataModel.getLogin().useLocalTimeZone) { - tzs = moment.tz(myevents[i].Event.StartTime, NVRDataModel.getTimeZoneNow()).tz(NVRDataModel.getLocalTimeZoneNow()); - tze = moment.tz(myevents[i].Event.EndTime, NVRDataModel.getTimeZoneNow()).tz(NVRDataModel.getLocalTimeZoneNow()); + if (NVR.getLogin().useLocalTimeZone) { + tzs = moment.tz(myevents[i].Event.StartTime, NVR.getTimeZoneNow()).tz(NVR.getLocalTimeZoneNow()); + tze = moment.tz(myevents[i].Event.EndTime, NVR.getTimeZoneNow()).tz(NVR.getLocalTimeZoneNow()); } else { - tzs = moment.tz(myevents[i].Event.StartTime, NVRDataModel.getTimeZoneNow()); - tze = moment.tz(myevents[i].Event.EndTime, NVRDataModel.getTimeZoneNow()); + tzs = moment.tz(myevents[i].Event.StartTime, NVR.getTimeZoneNow()); + tze = moment.tz(myevents[i].Event.EndTime, NVR.getTimeZoneNow()); } //console.log ("ADDED "+tzs+" " +tze); @@ -1240,7 +1240,7 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla } if (graphIndex > count) { - NVRDataModel.log("Exiting event graph - reached limit of " + count); + NVR.log("Exiting event graph - reached limit of " + count); break; } @@ -1255,7 +1255,7 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla // console.log ("GROUPS"); timeline.setGroups(groups); - if (NVRDataModel.getLogin().timelineScale == -1) + if (NVR.getLogin().timelineScale == -1) { // console.log ("SCALE NOT FOUND"); @@ -1264,33 +1264,33 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla } else { timeline.fit(); - /*var d = NVRDataModel.getLogin().timelineScale; + /*var d = NVR.getLogin().timelineScale; console.log ("SCALE FOUND "+d+" SECONDS"); var w = timeline.getWindow(); console.log ("Original s="+w.start+" e="+w.end); - var s = moment.tz(w.end, NVRDataModel.getTimeZoneNow()).subtract(d,'seconds').tz(moment.tz.guess()); + var s = moment.tz(w.end, NVR.getTimeZoneNow()).subtract(d,'seconds').tz(moment.tz.guess()); //var s = moment(w.start).format("YYYY-MM-DD HH:mm:ss"); // //var e = moment(w.start).add(d,'seconds').format("YYYY-MM-DD HH:mm:ss"); - var e = moment.tz(w.end, NVRDataModel.getTimeZoneNow()).tz(moment.tz.guess()); + var e = moment.tz(w.end, NVR.getTimeZoneNow()).tz(moment.tz.guess()); console.log ("Start="+s+" End="+e); $timeout (function() {timeline.setWindow(s,e);},1000);*/ } - lastTimeForEvent = moment().tz(NVRDataModel.getLogin().useLocalTimeZone ? NVRDataModel.getLocalTimeZoneNow() : NVRDataModel.getTimeZoneNow()); + lastTimeForEvent = moment().tz(NVR.getLogin().useLocalTimeZone ? NVR.getLocalTimeZoneNow() : NVR.getTimeZoneNow()); updateInterval = $interval(function () { processNewEvents(); }.bind(this), 10 * 1000); $ionicLoading.hide(); $scope.graphLoaded = true; - NVRDataModel.debug("graph loaded: " + $scope.graphLoaded); + NVR.debug("graph loaded: " + $scope.graphLoaded); $scope.navControls = false; dblclick = false; @@ -1318,9 +1318,9 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla var a = moment(w.start); var b = moment(w.end); var d = b.diff(a, 'seconds'); - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); ld.timelineScale = d; - NVRDataModel.setLogin(ld); + NVR.setLogin(ld); //console.log ("Stored user scale of "+d+" seconds"); } @@ -1345,7 +1345,7 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla }); }, function (error) { - NVRDataModel.displayBanner('error', 'Timeline error', 'Please try again'); + NVR.displayBanner('error', 'Timeline error', 'Please try again'); } @@ -1370,16 +1370,16 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla var itm = prop.item; //console.log ("ITEM CLICKED " + itm); if (itm && !isNaN(itm)) { - NVRDataModel.debug("TimelineCtrl/drawGraph:You clicked on item " + itm); + NVR.debug("TimelineCtrl/drawGraph:You clicked on item " + itm); var item = graphData.get(itm); - NVRDataModel.debug("TimelineCtrl/drawGraph: clicked item details:" + JSON.stringify(item)); + NVR.debug("TimelineCtrl/drawGraph: clicked item details:" + JSON.stringify(item)); showEvent(item.myevent); } else { - NVRDataModel.debug("exact match not found, guessing item with co-ordinates X=" + prop.x + " group=" + prop.group); + NVR.debug("exact match not found, guessing item with co-ordinates X=" + prop.x + " group=" + prop.group); if (prop.group) { var visible = timeline.getVisibleItems(); - NVRDataModel.debug("Visible items=" + JSON.stringify(visible)); + NVR.debug("Visible items=" + JSON.stringify(visible)); var closestItem = null; var minDist = 99999; var _item; @@ -1389,7 +1389,7 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla if (Math.abs(_item.left - prop.x) < minDist) { closestItem = _item; minDist = Math.abs(_item.left - prop.x); - NVRDataModel.debug("Temporary closest " + _item.left); + NVR.debug("Temporary closest " + _item.left); //console.log (_item); } } @@ -1397,10 +1397,10 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla } if (closestItem != null) { - NVRDataModel.log("Closest item " + closestItem.left + " group: " + closestItem.data.group); + NVR.log("Closest item " + closestItem.left + " group: " + closestItem.data.group); showEvent(closestItem.data.myevent); } else { - NVRDataModel.log("Did not find a visible item match"); + NVR.log("Did not find a visible item match"); } } else // no group row tapped, do nothing { @@ -1425,17 +1425,17 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla var itm = prop.item; //console.log ("ITEM CLICKED " + itm); if (itm && !isNaN(itm)) { - NVRDataModel.debug("TimelineCtrl/drawGraph:You clicked on item " + itm); + NVR.debug("TimelineCtrl/drawGraph:You clicked on item " + itm); var item = graphData.get(itm); - NVRDataModel.debug("TimelineCtrl/drawGraph: clicked item details:" + JSON.stringify(item)); + NVR.debug("TimelineCtrl/drawGraph: clicked item details:" + JSON.stringify(item)); eventDetails(item.myevent); } else { - NVRDataModel.debug("exact match not found, guessing item with co-ordinates X=" + prop.x + " group=" + prop.group); + NVR.debug("exact match not found, guessing item with co-ordinates X=" + prop.x + " group=" + prop.group); if (prop.group) { var visible = timeline.getVisibleItems(); - NVRDataModel.debug("Visible items=" + JSON.stringify(visible)); + NVR.debug("Visible items=" + JSON.stringify(visible)); var closestItem = null; var minDist = 99999; var _item; @@ -1445,18 +1445,18 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla if (Math.abs(_item.left - prop.x) < minDist) { closestItem = _item; minDist = Math.abs(_item.left - prop.x); - NVRDataModel.debug("Temporary closest " + _item.left); + NVR.debug("Temporary closest " + _item.left); //console.log (_item); } } } - NVRDataModel.log("Closest item " + closestItem.left + " group: " + closestItem.data.group); + NVR.log("Closest item " + closestItem.left + " group: " + closestItem.data.group); if (closestItem != null) { - NVRDataModel.log("Closest item " + closestItem.left + " group: " + closestItem.data.group); + NVR.log("Closest item " + closestItem.left + " group: " + closestItem.data.group); showEvent(closestItem.data.myevent); } else { - NVRDataModel.log("Did not find a visible item match"); + NVR.log("Did not find a visible item match"); } } diff --git a/www/js/TimelineModalCtrl.js b/www/js/TimelineModalCtrl.js index 11c604f1..0753182e 100644 --- a/www/js/TimelineModalCtrl.js +++ b/www/js/TimelineModalCtrl.js @@ -3,7 +3,7 @@ /* jslint browser: true*/ /* global saveAs, cordova,StatusBar,angular,console,ionic, moment, vis , Chart, DJS*/ -angular.module('zmApp.controllers').controller('TimelineModalCtrl', ['$scope', '$rootScope', 'zm', 'NVRDataModel', '$ionicSideMenuDelegate', '$timeout', '$interval', '$ionicModal', '$ionicLoading', '$http', '$state', '$stateParams', '$ionicHistory', '$ionicScrollDelegate', '$q', '$sce', 'carouselUtils', '$ionicPopup', '$translate', function ($scope, $rootScope, zm, NVRDataModel, $ionicSideMenuDelegate, $timeout, $interval, $ionicModal, $ionicLoading, $http, $state, $stateParams, $ionicHistory, $ionicScrollDelegate, $q, $sce, carouselUtils, $ionicPopup, $translate) { +angular.module('zmApp.controllers').controller('TimelineModalCtrl', ['$scope', '$rootScope', 'zm', 'NVR', '$ionicSideMenuDelegate', '$timeout', '$interval', '$ionicModal', '$ionicLoading', '$http', '$state', '$stateParams', '$ionicHistory', '$ionicScrollDelegate', '$q', '$sce', 'carouselUtils', '$ionicPopup', '$translate', function ($scope, $rootScope, zm, NVR, $ionicSideMenuDelegate, $timeout, $interval, $ionicModal, $ionicLoading, $http, $state, $stateParams, $ionicHistory, $ionicScrollDelegate, $q, $sce, carouselUtils, $ionicPopup, $translate) { var Graph2d; var tcGraph; @@ -19,7 +19,7 @@ angular.module('zmApp.controllers').controller('TimelineModalCtrl', ['$scope', ' var current_options; var btype; - $scope.graphType = NVRDataModel.getLogin().timelineModalGraphType; + $scope.graphType = NVR.getLogin().timelineModalGraphType; //$scope.graphType = "all"; $scope.errorDetails = ""; @@ -54,7 +54,7 @@ angular.module('zmApp.controllers').controller('TimelineModalCtrl', ['$scope', ' if ($rootScope.authSession != 'undefined') stream += $rootScope.authSession; - stream += NVRDataModel.insertBasicAuthToken(); + stream += NVR.insertBasicAuthToken(); return stream; }; @@ -78,7 +78,7 @@ angular.module('zmApp.controllers').controller('TimelineModalCtrl', ['$scope', ' if ($scope.graphType == $translate.instant('kGraphAll')) { current_data = onlyalarm_data; $scope.graphType = $translate.instant('kGraphAlarmed'); - NVRDataModel.debug("Alarm array has " + onlyalarm_data.labels.length + " frames"); + NVR.debug("Alarm array has " + onlyalarm_data.labels.length + " frames"); btype = 'bar'; //console.log (JSON.stringify(onlyalarm_data)); @@ -89,11 +89,11 @@ angular.module('zmApp.controllers').controller('TimelineModalCtrl', ['$scope', ' btype = 'line'; } - NVRDataModel.log("Switching graph type to " + $scope.graphType); + NVR.log("Switching graph type to " + $scope.graphType); - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); ld.timelineModalGraphType = $scope.graphType; - NVRDataModel.setLogin(ld); + NVR.setLogin(ld); $timeout(function () { @@ -154,18 +154,18 @@ angular.module('zmApp.controllers').controller('TimelineModalCtrl', ['$scope', ' $scope.alarm_images = []; $scope.graphWidth = $rootScope.devWidth - 30; - NVRDataModel.log("Setting init graph width to " + $scope.graphWidth); + NVR.log("Setting init graph width to " + $scope.graphWidth); $scope.dataReady = false; - NVRDataModel.getKeyConfigParams(0) + NVR.getKeyConfigParams(0) .then(function (data) { //console.log ("***GETKEY: " + JSON.stringify(data)); eventImageDigits = parseInt(data); - NVRDataModel.log("Image padding digits reported as " + eventImageDigits); + NVR.log("Image padding digits reported as " + eventImageDigits); }); $scope.eventdetails = $translate.instant('kLoading') + "..."; - $scope.mName = NVRDataModel.getMonitorName($scope.event.Event.MonitorId); + $scope.mName = NVR.getMonitorName($scope.event.Event.MonitorId); $scope.humanizeTime = humanizeTime($scope.event.Event.StartTime); processEvent(); //$scope.eventdetails = JSON.stringify($scope.event); @@ -178,9 +178,9 @@ angular.module('zmApp.controllers').controller('TimelineModalCtrl', ['$scope', ' function processEvent() { var eid = $scope.event.Event.Id; //eid = 22302; - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); var apiurl = ld.apiurl + "/events/" + eid + ".json"; - NVRDataModel.log("Getting " + apiurl); + NVR.log("Getting " + apiurl); $http.get(apiurl) .then(function (success) { //$scope.eventdetails = JSON.stringify(success); @@ -188,7 +188,7 @@ angular.module('zmApp.controllers').controller('TimelineModalCtrl', ['$scope', ' }, function (error) { $scope.errorDetails = $translate.instant('kGraphError'); - NVRDataModel.log("Error in timeline frames " + JSON.stringify(error)); + NVR.log("Error in timeline frames " + JSON.stringify(error)); }); } @@ -279,7 +279,7 @@ angular.module('zmApp.controllers').controller('TimelineModalCtrl', ['$scope', ' if ($scope.graphWidth < $rootScope.devWidth) $scope.graphWidth = $rootScope.devWidth; - // NVRDataModel.log ("Changing graph width to " + $scope.graphWidth); + // NVR.log ("Changing graph width to " + $scope.graphWidth); for (var i = 0; i < event.event.Frame.length; i++) { @@ -325,7 +325,7 @@ angular.module('zmApp.controllers').controller('TimelineModalCtrl', ['$scope', ' cv = document.getElementById("tcchart"); ctx = cv.getContext("2d"); - if (NVRDataModel.getLogin().timelineModalGraphType == $translate.instant('kGraphAll')) { + if (NVR.getLogin().timelineModalGraphType == $translate.instant('kGraphAll')) { btype = 'line'; current_data = data; } else { @@ -362,7 +362,7 @@ angular.module('zmApp.controllers').controller('TimelineModalCtrl', ['$scope', ' id: items.id, fname: items.fname, score: items.score, - time: moment(items.x).format("MMM D," + NVRDataModel.getTimeFormatSec()), + time: moment(items.x).format("MMM D," + NVR.getTimeFormatSec()), eid: items.eid }); }); @@ -372,7 +372,7 @@ angular.module('zmApp.controllers').controller('TimelineModalCtrl', ['$scope', ' function humanizeTime(str) { - return moment.tz(str, NVRDataModel.getTimeZoneNow()).fromNow(); + return moment.tz(str, NVR.getTimeZoneNow()).fromNow(); } diff --git a/www/js/WizardCtrl.js b/www/js/WizardCtrl.js index 85a4d5de..d60e3c76 100644 --- a/www/js/WizardCtrl.js +++ b/www/js/WizardCtrl.js @@ -2,7 +2,7 @@ /* jslint browser: true*/ /* global cordova,StatusBar,angular,console, Masonry, URI */ -angular.module('zmApp.controllers').controller('zmApp.WizardCtrl', ['$scope', '$rootScope', '$ionicModal', 'NVRDataModel', '$ionicSideMenuDelegate', '$ionicHistory', '$state', '$ionicPopup', 'SecuredPopups', '$http', '$q', 'zm', '$ionicLoading', 'WizardHandler', '$translate', '$cookies', function ($scope, $rootScope, $ionicModal, NVRDataModel, $ionicSideMenuDelegate, $ionicHistory, $state, $ionicPopup, SecuredPopups, $http, $q, zm, $ionicLoading, WizardHandler, $translate, $cookies) { +angular.module('zmApp.controllers').controller('zmApp.WizardCtrl', ['$scope', '$rootScope', '$ionicModal', 'NVR', '$ionicSideMenuDelegate', '$ionicHistory', '$state', '$ionicPopup', 'SecuredPopups', '$http', '$q', 'zm', '$ionicLoading', 'WizardHandler', '$translate', '$cookies', function ($scope, $rootScope, $ionicModal, NVR, $ionicSideMenuDelegate, $ionicHistory, $state, $ionicPopup, SecuredPopups, $http, $q, zm, $ionicLoading, WizardHandler, $translate, $cookies) { $scope.openMenu = function () { $ionicSideMenuDelegate.toggleLeft(); }; @@ -91,7 +91,7 @@ angular.module('zmApp.controllers').controller('zmApp.WizardCtrl', ['$scope', '$ } if (foundMid != -1) { - NVRDataModel.debug("zmWizard - getFirstMonitor returned " + foundMid); + NVR.debug("zmWizard - getFirstMonitor returned " + foundMid); d.resolve(foundMid); return d.promise; } else { @@ -124,19 +124,19 @@ angular.module('zmApp.controllers').controller('zmApp.WizardCtrl', ['$scope', '$ var t = ""; if (tail) t = tail; //$ionicLoading.show({template: 'trying ' + urls[0].server}); - NVRDataModel.log("zmWizard test.." + urls[0] + t); + NVR.log("zmWizard test.." + urls[0] + t); return $http.get(urls[0] + t).then(function () { - NVRDataModel.log("Success: on " + urls[0] + t); + NVR.log("Success: on " + urls[0] + t); //$ionicLoading.hide(); d.resolve(urls[0]); return d.promise; //return urls[0]; }, function (err) { - NVRDataModel.log("zmWizard:Failed on " + urls[0] + t + " with error " + JSON.stringify(err)); + NVR.log("zmWizard:Failed on " + urls[0] + t + " with error " + JSON.stringify(err)); // this is actually a success - I might get empty status // or something if (err.status < 300) { - NVRDataModel.log("A 2xx is a success, I think - " + urls[0]); + NVR.log("A 2xx is a success, I think - " + urls[0]); d.resolve(urls[0]); return d.promise; } @@ -146,7 +146,7 @@ angular.module('zmApp.controllers').controller('zmApp.WizardCtrl', ['$scope', '$ }); } else { // $ionicLoading.hide(); - NVRDataModel.log("zmWizard: findFirst returned no success"); + NVR.log("zmWizard: findFirst returned no success"); d.reject("No reachable URL"); return d.promise; @@ -185,7 +185,7 @@ angular.module('zmApp.controllers').controller('zmApp.WizardCtrl', ['$scope', '$ var baseUri = c.scheme + "://" + p1 + c.host + p2; - NVRDataModel.log("zmWizard CGI: baseURL is " + baseUri); + NVR.log("zmWizard CGI: baseURL is " + baseUri); var a5 = baseUri + "/zmcgi"; // mageia var a4 = baseUri + "/cgi-bin/zm"; // another one I found with a CentOS 6 guy @@ -197,7 +197,7 @@ angular.module('zmApp.controllers').controller('zmApp.WizardCtrl', ['$scope', '$ // can't use getPathZms as loginData is not inited yet $http.get($scope.wizard.apiURL + "/configs/viewByName/ZM_PATH_ZMS.json") - //NVRDataModel.getPathZms() // what does ZM have stored in PATH_ZMS? + //NVR.getPathZms() // what does ZM have stored in PATH_ZMS? .then(function (data) { // remove zms or nph-zms var str = data.data.config.Value; @@ -205,11 +205,11 @@ angular.module('zmApp.controllers').controller('zmApp.WizardCtrl', ['$scope', '$ path = path.replace("/nph-zms", ""); path = path.replace("/zms", ""); urls.push(baseUri.trim() + path); - NVRDataModel.log("zmWizard: getPathZMS succeeded, adding " + baseUri + path + " to things to try"); + NVR.log("zmWizard: getPathZMS succeeded, adding " + baseUri + path + " to things to try"); continueCgi(urls); }, function (error) { - NVRDataModel.log("zmWizard: getPathZMS failed, but continuing..."); + NVR.log("zmWizard: getPathZMS failed, but continuing..."); continueCgi(urls); }); @@ -227,19 +227,19 @@ angular.module('zmApp.controllers').controller('zmApp.WizardCtrl', ['$scope', '$ if ($scope.wizard.useauth && $scope.wizard.usezmauth) { var ck = Math.floor(Math.random() * (50000 - 10000 + 1)) + 10000; - NVRDataModel.getAuthKey(success, ck) + NVR.getAuthKey(success, ck) .then(function (success) { if (success == "") { - NVRDataModel.log("getAuthKey returned null, so going user=&pwd= way"); + NVR.log("getAuthKey returned null, so going user=&pwd= way"); tail += "&user=" + $scope.wizard.zmuser + "&pass=" + $scope.wizard.zmpassword; } else { tail += success; } - NVRDataModel.log("auth computed is : " + tail); + NVR.log("auth computed is : " + tail); proceedwithCgiAfterAuth(urls, tail); }, function (error) { - NVRDataModel.log("Should never come here, getAuthKey doesn't return error"); + NVR.log("Should never come here, getAuthKey doesn't return error"); }); @@ -260,7 +260,7 @@ angular.module('zmApp.controllers').controller('zmApp.WizardCtrl', ['$scope', '$ findFirstReachableUrl(urls, tail) .then(function (success) { $ionicLoading.hide(); - NVRDataModel.log("Valid cgi-bin found with: " + success); + NVR.log("Valid cgi-bin found with: " + success); $scope.wizard.streamingURL = success; $scope.wizard.streamingValidText = "cgi-bin: " + $scope.wizard.streamingURL; $scope.wizard.streamingColor = "#16a085"; @@ -270,7 +270,7 @@ angular.module('zmApp.controllers').controller('zmApp.WizardCtrl', ['$scope', '$ }, function (error) { $ionicLoading.hide(); - NVRDataModel.debug("No cgi-bin found: " + JSON.stringify(error)); + NVR.debug("No cgi-bin found: " + JSON.stringify(error)); $scope.wizard.streamingValidText = $translate.instant('kPortalCgiBinFailed'); $scope.wizard.streamingColor = "#e74c3c"; d.reject(false); @@ -317,7 +317,7 @@ angular.module('zmApp.controllers').controller('zmApp.WizardCtrl', ['$scope', '$ findFirstReachableUrl(apilist, '/host/getVersion.json') .then(function (success) { - NVRDataModel.log("Valid API response found with:" + success); + NVR.log("Valid API response found with:" + success); $scope.wizard.apiURL = success; $scope.wizard.apiValidText = "API: " + $scope.wizard.apiURL; @@ -342,7 +342,7 @@ angular.module('zmApp.controllers').controller('zmApp.WizardCtrl', ['$scope', '$ function logout(u) { var d = $q.defer(); - NVRDataModel.debug ("Clearing cookies"); + NVR.debug ("Clearing cookies"); if (window.cordova) { // we need to do this or ZM will send same auth hash // this was fixed in a PR dated Oct 18 @@ -356,7 +356,7 @@ angular.module('zmApp.controllers').controller('zmApp.WizardCtrl', ['$scope', '$ } if ($scope.wizard.useauth && $scope.wizard.usebasicauth) { - NVRDataModel.debug ("setting basic auth with "+$scope.wizard.basicuser+":"+$scope.wizard.basicpassword); + NVR.debug ("setting basic auth with "+$scope.wizard.basicuser+":"+$scope.wizard.basicpassword); cordova.plugin.http.useBasicAuth($scope.wizard.basicuser, $scope.wizard.basicpassword); } @@ -459,7 +459,7 @@ angular.module('zmApp.controllers').controller('zmApp.WizardCtrl', ['$scope', '$ $scope.wizard.fqportal = u; u = u + '/index.php?view=console'; - NVRDataModel.log("Wizard: login url is " + u); + NVR.log("Wizard: login url is " + u); // now lets login @@ -472,7 +472,7 @@ angular.module('zmApp.controllers').controller('zmApp.WizardCtrl', ['$scope', '$ // logout first for the adventurers amongst us who must // use it even after logging in - NVRDataModel.log("zmWizard: logging out"); + NVR.log("zmWizard: logging out"); $ionicLoading.show({ template: $translate.instant('kCleaningUp') + "...", noBackdrop: true, @@ -482,7 +482,7 @@ angular.module('zmApp.controllers').controller('zmApp.WizardCtrl', ['$scope', '$ .then(function (ans) { // login now $ionicLoading.hide(); - NVRDataModel.log("zmWizard: logging in with " + u + " " + zmu); + NVR.log("zmWizard: logging in with " + u + " " + zmu); // The logic will be: // Login then do an api detect and cgi-detect together @@ -491,11 +491,11 @@ angular.module('zmApp.controllers').controller('zmApp.WizardCtrl', ['$scope', '$ noBackdrop: true, duration: zm.httpTimeout }); - NVRDataModel.setCurrentServerVersion(""); + NVR.setCurrentServerVersion(""); login(u, zmu, zmp) .then(function (success) { $ionicLoading.hide(); - NVRDataModel.log("zmWizard: login succeeded"); + NVR.log("zmWizard: login succeeded"); // API Detection $ionicLoading.show({ @@ -506,7 +506,7 @@ angular.module('zmApp.controllers').controller('zmApp.WizardCtrl', ['$scope', '$ detectapi() .then(function (success) { $ionicLoading.hide(); - NVRDataModel.log("zmWizard: API succeeded"); + NVR.log("zmWizard: API succeeded"); $ionicLoading.show({ template: $translate.instant('kDiscoveringCGI') + "...", @@ -528,7 +528,7 @@ angular.module('zmApp.controllers').controller('zmApp.WizardCtrl', ['$scope', '$ }, function (error) { $ionicLoading.hide(); - NVRDataModel.log("zmWizard: api failed"); + NVR.log("zmWizard: api failed"); // return true here because we want to progress return d.resolve(true); @@ -539,7 +539,7 @@ angular.module('zmApp.controllers').controller('zmApp.WizardCtrl', ['$scope', '$ // if login failed, don't progress in the wizard function (error) { $ionicLoading.hide(); - NVRDataModel.log("zmWizard: login failed"); + NVR.log("zmWizard: login failed"); $scope.wizard.portalValidText = $translate.instant('kPortalLoginUnsuccessful'); $scope.wizard.portalColor = "#e74c3c"; return d.resolve(true); @@ -566,7 +566,7 @@ angular.module('zmApp.controllers').controller('zmApp.WizardCtrl', ['$scope', '$ //-------------------------------------------------------------------------- $scope.exitAuth = function () { - NVRDataModel.log("Wizard: validating auth syntax"); + NVR.log("Wizard: validating auth syntax"); if ($scope.wizard.useauth) { if (!$scope.wizard.usezmauth && !$scope.wizard.usebasicauth) { $rootScope.zmPopup = SecuredPopups.show('show', { @@ -620,7 +620,7 @@ angular.module('zmApp.controllers').controller('zmApp.WizardCtrl', ['$scope', '$ //-------------------------------------------------------------------------- $scope.exitPortal = function () { - NVRDataModel.log("Wizard: validating portal url syntax"); + NVR.log("Wizard: validating portal url syntax"); if (!$scope.wizard.portalurl) { $rootScope.zmPopup = SecuredPopups.show('show', { @@ -656,7 +656,7 @@ angular.module('zmApp.controllers').controller('zmApp.WizardCtrl', ['$scope', '$ buttons: [{ text: $translate.instant('kButtonOk'), onTap: function (e) { - NVRDataModel.debug("Protocol selected:" + $scope.myproto.proto); + NVR.debug("Protocol selected:" + $scope.myproto.proto); $scope.wizard.portalurl = $scope.myproto.proto + stripProto($scope.wizard.portalurl); } @@ -669,7 +669,7 @@ angular.module('zmApp.controllers').controller('zmApp.WizardCtrl', ['$scope', '$ //$scope.wizard.portalurl = $scope.wizard.portalurl.toLowerCase().trim(); $scope.wizard.portalurl = $scope.wizard.portalurl.trim(); - NVRDataModel.log("Wizard: stripped url:" + $scope.wizard.portalurl); + NVR.log("Wizard: stripped url:" + $scope.wizard.portalurl); var c = URI.parse($scope.wizard.portalurl); @@ -700,7 +700,7 @@ angular.module('zmApp.controllers').controller('zmApp.WizardCtrl', ['$scope', '$ if (c.path) $scope.wizard.portalurl += c.path; $scope.wizard.portalurl = $scope.wizard.portalurl.toLowerCase(); - NVRDataModel.log("Wizard: normalized url:" + $scope.wizard.portalurl); + NVR.log("Wizard: normalized url:" + $scope.wizard.portalurl); return true; }; diff --git a/www/js/app.js b/www/js/app.js index f00bca93..4a34679c 100755 --- a/www/js/app.js +++ b/www/js/app.js @@ -132,9 +132,9 @@ angular.module('zmApp', [ // for events view - .filter('eventListFilter', function (NVRDataModel) { + .filter('eventListFilter', function (NVR) { return function (input) { - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); var out = []; angular.forEach(input, function (item) { if (item.Event.Archived == '0' || !ld.hideArchived) { @@ -287,8 +287,8 @@ angular.module('zmApp', [ // (keeps reading data). Hence not using it now //credit: http://stackoverflow.com/questions/34958575/intercepting-img-src-via-http-interceptor-as-well-as-not-lose-the-ability-to-kee .directive('httpSrc', [ - '$http', 'imageLoadingDataShare', 'NVRDataModel', - function ($http, imageLoadingDataShare, NVRDataModel) { + '$http', 'imageLoadingDataShare', 'NVR', + function ($http, imageLoadingDataShare, NVR) { var directive = { link: postLink, restrict: 'A' @@ -662,7 +662,7 @@ angular.module('zmApp', [ // handle basic auth properly if (config.url.indexOf("@") > -1) { - NVRDataModel.debug(">>>>>>>>>> ERROR!!!!! url has a basic auth u:p!" + config.url); + NVR.debug(">>>>>>>>>> ERROR!!!!! url has a basic auth u:p!" + config.url); /* var components = URI.parse(config.url); var credentials = btoa(components.userinfo); @@ -743,7 +743,7 @@ angular.module('zmApp', [ //----------------------------------------------------------------- // This service automatically checks for new versions every 24 hrs //------------------------------------------------------------------ - .factory('zmCheckUpdates', function ($interval, $http, zm, $timeout, $localstorage, NVRDataModel, $rootScope, $translate) { + .factory('zmCheckUpdates', function ($interval, $http, zm, $timeout, $localstorage, NVR, $rootScope, $translate) { var zmUpdateHandle; var zmUpdateVersion = ""; @@ -756,7 +756,7 @@ angular.module('zmApp', [ }, zm.updateCheckInterval); function checkUpdate() { - var lastdateString = NVRDataModel.getLastUpdateCheck(); + var lastdateString = NVR.getLastUpdateCheck(); var lastdate; if (!lastdateString) { @@ -767,16 +767,16 @@ angular.module('zmApp', [ } var timdiff = moment().diff(lastdate, 'hours'); if (timdiff < 24) { - NVRDataModel.log("Checked for update " + timdiff + " hours ago. Not checking again"); + NVR.log("Checked for update " + timdiff + " hours ago. Not checking again"); return; } - NVRDataModel.log("Checking for new version updates..."); + NVR.log("Checking for new version updates..."); $http.get(zm.latestRelease) .then(function (success) { - NVRDataModel.setLastUpdateCheck(moment().toISOString()); + NVR.setLastUpdateCheck(moment().toISOString()); // $localstorage.set("lastUpdateCheck", moment().toISOString()); //console.log ("FULL STRING " + success.data.tag_name); @@ -784,23 +784,23 @@ angular.module('zmApp', [ var res = success.data.tag_name.match("v(.*)"); zmUpdateVersion = res[1]; - var currentVersion = NVRDataModel.getAppVersion(); + var currentVersion = NVR.getAppVersion(); if ($rootScope.platformOS == "desktop") { zmUpdateVersion = zmUpdateVersion + "D"; } - //if (NVRDataModel.getAppVersion() != zmUpdateVersion) { - if (NVRDataModel.versionCompare(NVRDataModel.getAppVersion(), zmUpdateVersion) == -1) { + //if (NVR.getAppVersion() != zmUpdateVersion) { + if (NVR.versionCompare(NVR.getAppVersion(), zmUpdateVersion) == -1) { $rootScope.newVersionAvailable = "v" + zmUpdateVersion + " available"; } else { $rootScope.newVersionAvailable = ""; } - NVRDataModel.debug("current version: " + currentVersion + " & available version " + zmUpdateVersion); - //console.log ("Version compare returned: " + NVRDataModel.versionCompare(currentVersion, //zmUpdateVersion)); - // console.log ("Version compare returned: " + NVRDataModel.versionCompare(zmUpdateVersion, currentVersion)); + NVR.debug("current version: " + currentVersion + " & available version " + zmUpdateVersion); + //console.log ("Version compare returned: " + NVR.versionCompare(currentVersion, //zmUpdateVersion)); + // console.log ("Version compare returned: " + NVR.versionCompare(zmUpdateVersion, currentVersion)); //console.log ("UPDATE " + zmVersion); }); - NVRDataModel.log("Checking for news updates"); + NVR.log("Checking for news updates"); $http.get(zm.blogUrl, { responseType: 'text', transformResponse: undefined @@ -820,12 +820,12 @@ angular.module('zmApp', [ return; } - var lastDate = NVRDataModel.getLatestBlogPostChecked(); + var lastDate = NVR.getLatestBlogPostChecked(); //console.log ("************ BLOG LAST DATE " + lastDate); if (!lastDate) { $rootScope.newBlogPost = "(" + $translate.instant('kNewPost') + ")"; - NVRDataModel.setLatestBlogPostChecked(moment().format("YYYY-MM-DD HH:mm:ss")); + NVR.setLatestBlogPostChecked(moment().format("YYYY-MM-DD HH:mm:ss")); return; } @@ -839,15 +839,15 @@ angular.module('zmApp', [ console.log ("FORMAT DIFF mLastDate="+mLastDate.format("YYYY-MM-DD HH:mm:ss") ); console.log ("FORMAT DIFF mItemDate="+mItemDate.format("YYYY-MM-DD HH:mm:ss") );*/ - NVRDataModel.debug("New post dated " + mItemDate.format("YYYY-MM-DD HH:mm:ss") + " found, last date checked was " + mLastDate.format("YYYY-MM-DD HH:mm:ss")); + NVR.debug("New post dated " + mItemDate.format("YYYY-MM-DD HH:mm:ss") + " found, last date checked was " + mLastDate.format("YYYY-MM-DD HH:mm:ss")); $rootScope.newBlogPost = "(" + $translate.instant('kNewPost') + ")"; - NVRDataModel.setLatestBlogPostChecked(mItemDate.format("YYYY-MM-DD HH:mm:ss")); + NVR.setLatestBlogPostChecked(mItemDate.format("YYYY-MM-DD HH:mm:ss")); } else { - NVRDataModel.debug("Latest post dated " + mItemDate.format("YYYY-MM-DD HH:mm:ss") + " but you read " + lastDate); + NVR.debug("Latest post dated " + mItemDate.format("YYYY-MM-DD HH:mm:ss") + " but you read " + lastDate); } }); @@ -872,7 +872,7 @@ angular.module('zmApp', [ // This service automatically logs into ZM at periodic intervals //------------------------------------------------------------------ - .factory('zmAutoLogin', ['$interval', 'NVRDataModel', '$http', 'zm', '$timeout', '$q', '$rootScope', '$ionicLoading', '$ionicPopup', '$state', '$ionicContentBanner', 'EventServer', '$ionicHistory', '$translate', '$cookies',function ($interval, NVRDataModel, $http, zm, $timeout, $q, $rootScope, $ionicLoading, $ionicPopup, $state, $ionicContentBanner, EventServer, $ionicHistory, $translate, $cookies) { + .factory('zmAutoLogin', ['$interval', 'NVR', '$http', 'zm', '$timeout', '$q', '$rootScope', '$ionicLoading', '$ionicPopup', '$state', '$ionicContentBanner', 'EventServer', '$ionicHistory', '$translate', '$cookies',function ($interval, NVR, $http, zm, $timeout, $q, $rootScope, $ionicLoading, $ionicPopup, $state, $ionicContentBanner, EventServer, $ionicHistory, $translate, $cookies) { var zmAutoLoginHandle; //------------------------------------------------------------------ @@ -881,8 +881,8 @@ angular.module('zmApp', [ $rootScope.$on("auth-error", function () { - NVRDataModel.debug("zmAutoLogin: Inside auth-error broadcast"); - NVRDataModel.displayBanner('error', ['ZoneMinder authentication failed', 'Please check settings']); + NVR.debug("zmAutoLogin: Inside auth-error broadcast"); + NVR.displayBanner('error', ['ZoneMinder authentication failed', 'Please check settings']); }); @@ -894,7 +894,7 @@ angular.module('zmApp', [ //------------------------------------------------------------------ $rootScope.$on("init-complete", function () { - NVRDataModel.log("Inside init-complete in app.js: All init over, going to portal login"); + NVR.log("Inside init-complete in app.js: All init over, going to portal login"); $ionicHistory.nextViewOptions({ disableAnimate: true }); @@ -924,14 +924,14 @@ angular.module('zmApp', [ $timeout(function () { contentBannerInstance(); }, 2000); - NVRDataModel.debug("auth-success broadcast:Successful"); + NVR.debug("auth-success broadcast:Successful"); - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); // we need AUTH_HASH_LOGIN to be on for WKWebView /mobile if (ld.isUseAuth && $rootScope.platformOS != 'desktop') { - NVRDataModel.getAuthHashLogin() + NVR.getAuthHashLogin() .then(function (data) { if (data.data && data.data.config.Value != '1') { @@ -952,7 +952,7 @@ angular.module('zmApp', [ }); $rootScope.getProfileName = function () { - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); return (ld.serverName || '(none)'); }; @@ -962,12 +962,12 @@ angular.module('zmApp', [ $rootScope.getServerTimeZoneNow = function () { - return NVRDataModel.getTimeZoneNow(); + return NVR.getTimeZoneNow(); }; $rootScope.isTzSupported = function () { - return NVRDataModel.isTzSupported(); + return NVR.isTzSupported(); }; //------------------------------------------------------------------ @@ -982,7 +982,7 @@ angular.module('zmApp', [ } function _doLogoutAndLogin(str) { - NVRDataModel.debug ("Clearing cookies"); + NVR.debug ("Clearing cookies"); if (window.cordova) { // we need to do this or ZM will send same auth hash @@ -995,7 +995,7 @@ angular.module('zmApp', [ $cookies.remove(k); }); }*/ - return NVRDataModel.logout() + return NVR.logout() .then(function (ans) { return _doLogin(str); @@ -1005,18 +1005,18 @@ angular.module('zmApp', [ function _doLogin(str) { var d = $q.defer(); - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); var statename = $ionicHistory.currentStateName(); if (statename == "montage-history") { - NVRDataModel.log("Skipping login process as we are in montage history. Re-logging will mess up the stream"); + NVR.log("Skipping login process as we are in montage history. Re-logging will mess up the stream"); d.resolve("success"); return d.promise; } - NVRDataModel.debug("Resetting zmCookie..."); + NVR.debug("Resetting zmCookie..."); $rootScope.zmCookie = ''; // first try to login, if it works, good // else try to do reachability @@ -1025,7 +1025,7 @@ angular.module('zmApp', [ proceedWithLogin() .then(function (success) { - //NVRDataModel.debug("Storing login time as " + moment().toString()); + //NVR.debug("Storing login time as " + moment().toString()); localforage.setItem("lastLogin", moment().toString()); d.resolve(success); return d.promise; @@ -1038,8 +1038,8 @@ angular.module('zmApp', [ noBackdrop: true, }); - NVRDataModel.debug(">>>>>>>>>>>> Failed first login, trying reachability"); - NVRDataModel.getReachableConfig(true) + NVR.debug(">>>>>>>>>>>> Failed first login, trying reachability"); + NVR.getReachableConfig(true) .then(function (data) { proceedWithLogin() .then(function (success) { @@ -1075,13 +1075,13 @@ angular.module('zmApp', [ // console.log ("***** STATENAME IS " + statename); var d = $q.defer(); - var ld = NVRDataModel.getLogin(); - NVRDataModel.log("zmAutologin called"); - var httpDelay = NVRDataModel.getLogin().enableSlowLoading ? zm.largeHttpTimeout : zm.httpTimeout; + var ld = NVR.getLogin(); + NVR.log("zmAutologin called"); + var httpDelay = NVR.getLogin().enableSlowLoading ? zm.largeHttpTimeout : zm.httpTimeout; // This is a good time to check if auth is used :-p if (!ld.isUseAuth) { - NVRDataModel.log("Auth is disabled, setting authSession to empty"); + NVR.log("Auth is disabled, setting authSession to empty"); $rootScope.apiValid = true; $rootScope.authSession = ''; d.resolve("Login Success"); @@ -1103,8 +1103,8 @@ angular.module('zmApp', [ //console.log(">>>>>>>>>>>>>> ISRECAPTCHA"); - var loginData = NVRDataModel.getLogin(); - var currentServerVersion = NVRDataModel.getCurrentServerVersion(); + var loginData = NVR.getLogin(); + var currentServerVersion = NVR.getCurrentServerVersion(); //first login using new API @@ -1144,10 +1144,10 @@ angular.module('zmApp', [ succ = JSON.parse(textsucc.data); if (!succ.version) { - NVRDataModel.debug("API login returned fake success, going back to webscrape"); - ld = NVRDataModel.getLogin(); + NVR.debug("API login returned fake success, going back to webscrape"); + ld = NVR.getLogin(); ld.loginAPISupported = false; - NVRDataModel.setLogin(ld); + NVR.setLogin(ld); loginWebScrape() .then(function (succ) { @@ -1161,9 +1161,9 @@ angular.module('zmApp', [ }); return d.promise; } - NVRDataModel.debug("API based login returned... "); + NVR.debug("API based login returned... "); console.log (JSON.stringify(succ)); - NVRDataModel.setCurrentServerVersion(succ.version); + NVR.setCurrentServerVersion(succ.version); $ionicLoading.hide(); //$rootScope.loggedIntoZm = 1; $rootScope.authSession = ''; @@ -1176,14 +1176,14 @@ angular.module('zmApp', [ } } - var ldg = NVRDataModel.getLogin(); + var ldg = NVR.getLogin(); ldg.loginAPISupported = true; - NVRDataModel.setLogin(ldg); + NVR.setLogin(ldg); - NVRDataModel.log("Stream authentication construction: " + + NVR.log("Stream authentication construction: " + $rootScope.authSession); - NVRDataModel.log("zmAutologin successfully logged into Zoneminder via API"); + NVR.log("zmAutologin successfully logged into Zoneminder via API"); @@ -1192,10 +1192,10 @@ angular.module('zmApp', [ return d.promise; } catch (e) { - NVRDataModel.debug("Login API approach did not work..."); - ld = NVRDataModel.getLogin(); + NVR.debug("Login API approach did not work..."); + ld = NVR.getLogin(); ld.loginAPISupported = false; - NVRDataModel.setLogin(ld); + NVR.setLogin(ld); loginWebScrape() .then(function (succ) { d.resolve("Login Success"); @@ -1222,9 +1222,9 @@ angular.module('zmApp', [ //if (err && err.data && 'success' in err.data) { console.log("API based login not supported, need to use web scraping..."); // login using old web scraping - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); ld.loginAPISupported = false; - NVRDataModel.setLogin(ld); + NVR.setLogin(ld); loginWebScrape() .then(function (succ) { d.resolve("Login Success"); @@ -1239,7 +1239,7 @@ angular.module('zmApp', [ } else { // $rootScope.loggedIntoZm = -1; //console.log("**** ZM Login FAILED"); - NVRDataModel.log("zmAutologin Error via API: some meta foo", "error"); + NVR.log("zmAutologin Error via API: some meta foo", "error"); $rootScope.$broadcast('auth-error', "I'm confused why"); d.reject("Login Error"); @@ -1261,9 +1261,9 @@ angular.module('zmApp', [ } function loginWebScrape() { - var loginData = NVRDataModel.getLogin(); + var loginData = NVR.getLogin(); var d = $q.defer(); - NVRDataModel.debug("Logging in using old web-scrape method"); + NVR.debug("Logging in using old web-scrape method"); $ionicLoading.show({ template: $translate.instant('kAuthenticatingWebScrape'), @@ -1272,11 +1272,11 @@ angular.module('zmApp', [ }); - NVRDataModel.isReCaptcha() + NVR.isReCaptcha() .then(function (result) { if (result == true) { $ionicLoading.hide(); - NVRDataModel.displayBanner('error', ['reCaptcha must be disabled', ], "", 8000); + NVR.displayBanner('error', ['reCaptcha must be disabled', ], "", 8000); $ionicLoading.hide(); var alertPopup = $ionicPopup.alert({ title: 'reCaptcha enabled', @@ -1297,8 +1297,8 @@ angular.module('zmApp', [ }); - var httpDelay = NVRDataModel.getLogin().enableSlowLoading ? zm.largeHttpTimeout : zm.httpTimeout; - //NVRDataModel.debug ("*** AUTH LOGIN URL IS " + loginData.url); + var httpDelay = NVR.getLogin().enableSlowLoading ? zm.largeHttpTimeout : zm.httpTimeout; + //NVR.debug ("*** AUTH LOGIN URL IS " + loginData.url); $http({ method: 'post', @@ -1340,7 +1340,7 @@ angular.module('zmApp', [ //eventServer.start(); //$rootScope.loggedIntoZm = 1; - NVRDataModel.log("zmAutologin successfully logged into Zoneminder"); + NVR.log("zmAutologin successfully logged into Zoneminder"); $rootScope.apiValid = true; // now go to authKey part, so don't return yet... @@ -1349,7 +1349,7 @@ angular.module('zmApp', [ { // $rootScope.loggedIntoZm = -1; //console.log("**** ZM Login FAILED"); - NVRDataModel.log("zmAutologin Error: Bad Credentials ", "error"); + NVR.log("zmAutologin Error: Bad Credentials ", "error"); $rootScope.$broadcast('auth-error', "incorrect credentials"); d.reject("Login Error"); @@ -1360,13 +1360,13 @@ angular.module('zmApp', [ // Now go ahead and re-get auth key // if login was a success $rootScope.authSession = "undefined"; - var ld = NVRDataModel.getLogin(); - NVRDataModel.getAuthKey($rootScope.validMonitorId) + var ld = NVR.getLogin(); + NVR.getAuthKey($rootScope.validMonitorId) .then(function (success) { //console.log(success); $rootScope.authSession = success; - NVRDataModel.log("Stream authentication construction: " + + NVR.log("Stream authentication construction: " + $rootScope.authSession); d.resolve("Login Success"); $rootScope.$broadcast('auth-success', data); @@ -1376,8 +1376,8 @@ angular.module('zmApp', [ function (error) { //console.log(error); - NVRDataModel.log("Modal: Error returned Stream authentication construction. Retaining old value of: " + $rootScope.authSession); - NVRDataModel.debug("Error was: " + JSON.stringify(error)); + NVR.log("Modal: Error returned Stream authentication construction. Retaining old value of: " + $rootScope.authSession); + NVR.debug("Error was: " + JSON.stringify(error)); d.resolve("Login Success"); $rootScope.$broadcast('auth-success', data); }); @@ -1394,7 +1394,7 @@ angular.module('zmApp', [ // FIXME: Is this sometimes results in null - NVRDataModel.log("zmAutologin Error " + JSON.stringify(error) + " and status " + status); + NVR.log("zmAutologin Error " + JSON.stringify(error) + " and status " + status); // bad urls etc come here //$rootScope.loggedIntoZm = -1; $rootScope.$broadcast('auth-error', error); @@ -1406,7 +1406,7 @@ angular.module('zmApp', [ } function start() { - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); // lets keep this timer irrespective of auth or no auth //$rootScope.loggedIntoZm = 0; $interval.cancel(zmAutoLoginHandle); @@ -1421,11 +1421,11 @@ angular.module('zmApp', [ } function stop() { - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); $interval.cancel(zmAutoLoginHandle); // $rootScope.loggedIntoZm = 0; - NVRDataModel.log("Cancelling zmAutologin timer"); + NVR.log("Cancelling zmAutologin timer"); } @@ -1442,22 +1442,22 @@ angular.module('zmApp', [ // First run in ionic //==================================================================== - .run(function ($ionicPlatform, $ionicPopup, $rootScope, zm, $state, $stateParams, NVRDataModel, $cordovaSplashscreen, $http, $interval, zmAutoLogin, zmCheckUpdates, $fileLogger, $timeout, $ionicHistory, $window, $ionicSideMenuDelegate, EventServer, $ionicContentBanner, $ionicLoading, /* $ionicNativeTransitions,*/ $translate, $localstorage) { + .run(function ($ionicPlatform, $ionicPopup, $rootScope, zm, $state, $stateParams, NVR, $cordovaSplashscreen, $http, $interval, zmAutoLogin, zmCheckUpdates, $fileLogger, $timeout, $ionicHistory, $window, $ionicSideMenuDelegate, EventServer, $ionicContentBanner, $ionicLoading, /* $ionicNativeTransitions,*/ $translate, $localstorage) { $ionicPlatform.ready(function () { //console.log(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>INSIDE RUN"); - NVRDataModel.log("******* app .run device ready"); + NVR.log("******* app .run device ready"); $fileLogger.setStorageFilename(zm.logFile); - $fileLogger.setTimestampFormat('MMM d, y ' + NVRDataModel.getTimeFormatSec()); + $fileLogger.setTimestampFormat('MMM d, y ' + NVR.getTimeFormatSec()); $fileLogger.checkFile().then(function (resp) { if (parseInt(resp.size) > zm.logFileMaxSize) { //console.log("inside file logger"); $fileLogger.deleteLogfile().then(function () { - NVRDataModel.log("Deleting old log file as it exceeds " + zm.logFileMaxSize + " bytes"); + NVR.log("Deleting old log file as it exceeds " + zm.logFileMaxSize + " bytes"); }); } @@ -1472,19 +1472,19 @@ angular.module('zmApp', [ $rootScope.apiValid = false; $rootScope.db = null; - $rootScope.runMode = NVRDataModel.getBandwidth(); + $rootScope.runMode = NVR.getBandwidth(); $rootScope.platformOS = "desktop"; - NVRDataModel.log("Device is ready"); + NVR.log("Device is ready"); - // var ld = NVRDataModel.getLogin(); + // var ld = NVR.getLogin(); if ($ionicPlatform.is('ios')) $rootScope.platformOS = "ios"; if ($ionicPlatform.is('android')) $rootScope.platformOS = "android"; - NVRDataModel.log("You are running on " + $rootScope.platformOS); + NVR.log("You are running on " + $rootScope.platformOS); @@ -1516,7 +1516,7 @@ angular.module('zmApp', [ // only for android $rootScope.exitApp = function () { - NVRDataModel.log("user exited app"); + NVR.log("user exited app"); //window.stop(); ionic.Platform.exitApp(); @@ -1526,12 +1526,12 @@ angular.module('zmApp', [ // This is a global exception interceptor $rootScope.exceptionMessage = function (error) { - NVRDataModel.debug("**EXCEPTION**" + error.reason + " caused by " + error.cause); + NVR.debug("**EXCEPTION**" + error.reason + " caused by " + error.cause); }; // for .config block $rootScope.debug = function (msg) { - NVRDataModel.debug(msg); + NVR.debug(msg); }; @@ -1542,7 +1542,7 @@ angular.module('zmApp', [ /* if (0 && $ionicPlatform.is('android')) { window.addEventListener('keydown', dPadHandler, true); } else { - NVRDataModel.log("Not registering D-PAD handler, as you are not on android"); + NVR.log("Not registering D-PAD handler, as you are not on android"); }*/ @@ -1653,7 +1653,7 @@ angular.module('zmApp', [ // android seems to howl about this at app start? $timeout (function() { - NVRDataModel.log ("--------->Setting up network state handlers...."); + NVR.log ("--------->Setting up network state handlers...."); document.addEventListener("offline", onOffline, false); document.addEventListener("online", onOnline, false); @@ -1663,7 +1663,7 @@ angular.module('zmApp', [ function onOffline() { $timeout(function () { $rootScope.online = false; - NVRDataModel.log("************** Your network went offline"); + NVR.log("************** Your network went offline"); //$rootScope.$emit('network-change', "offline"); @@ -1673,27 +1673,27 @@ angular.module('zmApp', [ function onOnline() { $timeout(function () { if ($rootScope.online == true) { - NVRDataModel.log ("**** network online, but looks like it was not offline, not doing anything"); + NVR.log ("**** network online, but looks like it was not offline, not doing anything"); return; } - NVRDataModel.log("************ Your network came back online"); + NVR.log("************ Your network came back online"); $rootScope.online = true; var networkState = "browser not supported"; if (navigator.connection) networkState = navigator.connection.type; - NVRDataModel.debug("Detected network type as: " + networkState); - var strState = NVRDataModel.getBandwidth(); - NVRDataModel.debug("getBandwidth() normalized it as: " + strState); + NVR.debug("Detected network type as: " + networkState); + var strState = NVR.getBandwidth(); + NVR.debug("getBandwidth() normalized it as: " + strState); $rootScope.runMode = strState; - if ((NVRDataModel.getLogin().autoSwitchBandwidth == true) && - (NVRDataModel.getLogin().enableLowBandwidth == true)) { - NVRDataModel.debug("Setting app state to: " + strState); + if ((NVR.getLogin().autoSwitchBandwidth == true) && + (NVR.getLogin().enableLowBandwidth == true)) { + NVR.debug("Setting app state to: " + strState); $rootScope.$broadcast('bandwidth-change', strState); } else { - NVRDataModel.debug("Not changing bandwidth state, as auto change is not on"); + NVR.debug("Not changing bandwidth state, as auto change is not on"); } - NVRDataModel.log("Your network is online, re-authenticating"); + NVR.log("Your network is online, re-authenticating"); zmAutoLogin.doLoginNoLogout($translate.instant('kReAuthenticating')); @@ -1749,7 +1749,7 @@ angular.module('zmApp', [ // switch to another server $rootScope.cancelAuth = function () { $ionicLoading.hide(); - NVRDataModel.log("User cancelled login"); + NVR.log("User cancelled login"); $ionicHistory.nextViewOptions({ disableAnimate: true, disableBack: true @@ -1785,7 +1785,7 @@ angular.module('zmApp', [ - if ((NVRDataModel.hasLoginInfo() || toState.data.requireLogin == false) && toState.name != "app.invalidapi") { + if ((NVR.hasLoginInfo() || toState.data.requireLogin == false) && toState.name != "app.invalidapi") { //console.log("State transition is authorized"); if (toState.name != "app.refresh" && @@ -1793,7 +1793,7 @@ angular.module('zmApp', [ toState.name != "app.zm-portal-login" ) { - // NVRDataModel.debug("Setting last-desktop-state to:" + JSON.stringify(toState)); + // NVR.debug("Setting last-desktop-state to:" + JSON.stringify(toState)); localforage.setItem('last-desktop-state', { 'name': toState.name, 'params': toState.params @@ -1805,7 +1805,7 @@ angular.module('zmApp', [ return; } else { - NVRDataModel.log("In Auth State trans: Not logged in, requested to go to " + JSON.stringify(toState)); + NVR.log("In Auth State trans: Not logged in, requested to go to " + JSON.stringify(toState)); // event.preventDefault(); // @@ -1832,7 +1832,7 @@ angular.module('zmApp', [ // to work in Windows - //NVRDataModel.debug("Setting last-desktop-state to:" + JSON.stringify(toState) + " with params:" + JSON.stringify(toParams)); + //NVR.debug("Setting last-desktop-state to:" + JSON.stringify(toState) + " with params:" + JSON.stringify(toParams)); localforage.setItem('last-desktop-state', { 'name': toState, 'params': toParams @@ -1861,7 +1861,7 @@ angular.module('zmApp', [ function getTextZoomCallback(tz) { $rootScope.textScaleFactor = parseFloat(tz + "%") / 100.0; - NVRDataModel.debug("text zoom factor is " + $rootScope.textScaleFactor); + NVR.debug("text zoom factor is " + $rootScope.textScaleFactor); } // $ionicPlatform.ready(function () { @@ -1876,13 +1876,13 @@ angular.module('zmApp', [ $rootScope.tappedNotification = 2; // 1 is push $rootScope.tappedMid = 0; var c = URI.parse(url); - //NVRDataModel.log ("***********launched with "+ JSON.stringify(c)); + //NVR.log ("***********launched with "+ JSON.stringify(c)); if (c.query) { var qm = getQueryVariable(c.query, "mid"); var qe = getQueryVariable(c.query, "eid"); if (qe) $rootScope.tappedEid = parseInt(qe); if (qm) $rootScope.tappedMid = parseInt(qm); - NVRDataModel.log("external URL called with MID=" + $rootScope.tappedMid + " and/or EID=" + $rootScope.tappedEid); + NVR.log("external URL called with MID=" + $rootScope.tappedMid + " and/or EID=" + $rootScope.tappedEid); //console.log (">>>>>>>>> EID="+getQueryVariable(c.query, "eid")); } @@ -1900,16 +1900,16 @@ angular.module('zmApp', [ //$rootScope.lastStateParam = "0"; //console.log("localforage config"); - NVRDataModel.configureStorageDB() + NVR.configureStorageDB() .then(function () { - NVRDataModel.log("localforage driver:" + localforage.driver()); - return NVRDataModel.cloudSync(); + NVR.log("localforage driver:" + localforage.driver()); + return NVR.cloudSync(); }) .then(function () { // this should alert "cordovaSQLiteDriver" when in an emulator or a device // Now lets import old data if it exists: - NVRDataModel.log("Cloudsync operation complete, continuing..."); + NVR.log("Cloudsync operation complete, continuing..."); var defaultServerName = $localstorage.get("defaultServerName"); localforage.getItem("defaultServerName") @@ -1918,14 +1918,14 @@ angular.module('zmApp', [ // if neither, we are in first use, mates! if (!val && !defaultServerName) { continueInitialInit(); - /* NVRDataModel.debug ("Neither localstorage or forage - First use, showing warm and fuzzy..."); + /* NVR.debug ("Neither localstorage or forage - First use, showing warm and fuzzy..."); $ionicHistory.nextViewOptions({ disableAnimate: true, disableBack: true }); $state.go('first-use');*/ } else if (!val && defaultServerName) { - NVRDataModel.log(">>>>Importing data from localstorage...."); + NVR.log(">>>>Importing data from localstorage...."); var dsn = defaultServerName; var dl = $localstorage.get('defaultLang') || 'en'; @@ -1934,57 +1934,57 @@ angular.module('zmApp', [ var lbpc = $localstorage.get('latestBlogPostChecked'); var sgl = $localstorage.getObject('serverGroupList'); - NVRDataModel.log(">>>Localstorage data found as below:"); - NVRDataModel.log("server name:" + dsn); - NVRDataModel.log("default lang :" + dl); - NVRDataModel.log("is first use:" + ifu); - NVRDataModel.log("last update check:" + luc); - NVRDataModel.log("latest blog post check:" + lbpc); - NVRDataModel.log("server group list:" + JSON.stringify(sgl)); + NVR.log(">>>Localstorage data found as below:"); + NVR.log("server name:" + dsn); + NVR.log("default lang :" + dl); + NVR.log("is first use:" + ifu); + NVR.log("last update check:" + luc); + NVR.log("latest blog post check:" + lbpc); + NVR.log("server group list:" + JSON.stringify(sgl)); localforage.setItem('defaultLang', dl) .then(function () { - NVRDataModel.log(">>>>migrated defaultLang..."); - NVRDataModel.setFirstUse(ifu); - NVRDataModel.log("migration: setting isFirstUse = " + ifu); + NVR.log(">>>>migrated defaultLang..."); + NVR.setFirstUse(ifu); + NVR.log("migration: setting isFirstUse = " + ifu); return localforage.setItem('isFirstUse', ifu); }) .then(function () { - NVRDataModel.log(">>>>migrated isFirstUse..."); + NVR.log(">>>>migrated isFirstUse..."); return localforage.setItem('lastUpdateCheck', ifu); }) .then(function () { - NVRDataModel.log(">>>>migrated lastUpdateCheck..."); + NVR.log(">>>>migrated lastUpdateCheck..."); return localforage.setItem('latestBlogPostChecked', lbpc); }) .then(function () { - NVRDataModel.log(">>>>migrated latestBlogPostChecked..."); + NVR.log(">>>>migrated latestBlogPostChecked..."); // lets encrypt serverGroupList - NVRDataModel.log("server group list is " + JSON.stringify(sgl)); + NVR.log("server group list is " + JSON.stringify(sgl)); var ct = CryptoJS.AES.encrypt(JSON.stringify(sgl), zm.cipherKey); - NVRDataModel.log("encrypted server group list is " + ct); + NVR.log("encrypted server group list is " + ct); ct = sgl; return localforage.setItem('serverGroupList', ct); }) .then(function () { - NVRDataModel.log(">>>>migrated serverGroupList..."); + NVR.log(">>>>migrated serverGroupList..."); return localforage.setItem('defaultServerName', dsn); }) .then(function () { - NVRDataModel.log(">>>>migrated defaultServerName..."); - NVRDataModel.log(">>>>Migrated all values, continuing..."); - //NVRDataModel.migrationComplete(); + NVR.log(">>>>migrated defaultServerName..."); + NVR.log(">>>>Migrated all values, continuing..."); + //NVR.migrationComplete(); continueInitialInit(); }) .catch(function (err) { - NVRDataModel.log("Migration error : " + JSON.stringify(err)); + NVR.log("Migration error : " + JSON.stringify(err)); continueInitialInit(); }); } else { - NVRDataModel.log(">>>>No data to import...."); - //NVRDataModel.migrationComplete(); + NVR.log(">>>>No data to import...."); + //NVR.migrationComplete(); continueInitialInit(); } @@ -2010,7 +2010,7 @@ angular.module('zmApp', [ if (window.StatusBar) { // org.apache.cordova.statusbar required // console.log("statusbar"); - NVRDataModel.log("Updating statusbar"); + NVR.log("Updating statusbar"); StatusBar.styleDefault(); if ($rootScope.platformOS == 'ios') { // console.log ("<<<<<<<<<<<<<<<< OVERLAY"); @@ -2029,16 +2029,16 @@ angular.module('zmApp', [ // console.log("app version"); cordova.getAppVersion.getVersionNumber().then(function (version) { appVersion = version; - NVRDataModel.log("App Version: " + appVersion); - NVRDataModel.setAppVersion(appVersion); + NVR.log("App Version: " + appVersion); + NVR.setAppVersion(appVersion); }); } - // At this stage, DataModel.init is not called yet + // At this stage, NVR.init is not called yet // but I do need to know the language - NVRDataModel.log("Retrieving language before init is called..."); + NVR.log("Retrieving language before init is called..."); localforage.getItem("defaultLang") .then(function (val) { @@ -2046,17 +2046,17 @@ angular.module('zmApp', [ //console.log (">>>>>>>>>>>>>> LANG IS " + val); if (lang == undefined || lang == null) { - NVRDataModel.log("No language set, switching to en"); + NVR.log("No language set, switching to en"); lang = "en"; } else { - NVRDataModel.log("Language stored as:" + lang); + NVR.log("Language stored as:" + lang); } - NVRDataModel.setDefaultLanguage(lang, false) + NVR.setDefaultLanguage(lang, false) .then(function (success) { - NVRDataModel.log(">>>>Language to be used:" + $translate.proposedLanguage()); + NVR.log(">>>>Language to be used:" + $translate.proposedLanguage()); moment.locale($translate.proposedLanguage()); // Remember this is before data Init @@ -2064,9 +2064,9 @@ angular.module('zmApp', [ localforage.getItem("isFirstUse") .then(function (val) { //console.log ("isFirstUse is " + val); - NVRDataModel.debug("isFirstUse returned: " + val); + NVR.debug("isFirstUse returned: " + val); if (val == null || val == true) { - NVRDataModel.log("First time detected "); + NVR.log("First time detected "); $state.go("app.first-use"); return; @@ -2116,7 +2116,7 @@ angular.module('zmApp', [ $rootScope.lastStateParam = succ.params; - NVRDataModel.debug("last state=" + $rootScope.lastState + " param=" + $rootScope.lastStateParam); + NVR.debug("last state=" + $rootScope.lastState + " param=" + $rootScope.lastStateParam); @@ -2131,10 +2131,10 @@ angular.module('zmApp', [ } function loadServices() { - NVRDataModel.log("Language file loaded, continuing with rest"); - NVRDataModel.init(); + NVR.log("Language file loaded, continuing with rest"); + NVR.init(); zmCheckUpdates.start(); - NVRDataModel.log("Setting up POST LOGIN timer"); + NVR.log("Setting up POST LOGIN timer"); zmAutoLogin.start(); setupPauseAndResume(); @@ -2144,7 +2144,7 @@ angular.module('zmApp', [ function setupPauseAndResume() { - NVRDataModel.log("Setting up pause and resume handler AFTER language is loaded..."); + NVR.log("Setting up pause and resume handler AFTER language is loaded..."); if ($rootScope.platformOS != 'android') { document.addEventListener("resume", function () { @@ -2155,7 +2155,7 @@ angular.module('zmApp', [ pauseHandler(); }, false); } else { - NVRDataModel.debug("Android detected, using cordova-multiwindow plugin for onStop/onStart instead"); + NVR.debug("Android detected, using cordova-multiwindow plugin for onStop/onStart instead"); window.MultiWindowPlugin.registerOnStop("app-pause", pauseHandler); window.MultiWindowPlugin.registerOnStart("app-resume", resumeHandler); @@ -2165,21 +2165,21 @@ angular.module('zmApp', [ function resumeHandler() { - NVRDataModel.setBackground(false); - NVRDataModel.setJustResumed(true); + NVR.setBackground(false); + NVR.setJustResumed(true); $ionicPlatform.ready(function () { - NVRDataModel.log("******* resumeHandler device ready"); - NVRDataModel.log("App is resuming from background"); + NVR.log("******* resumeHandler device ready"); + NVR.log("App is resuming from background"); - NVRDataModel.log ("-->Re-registering online/offine"); + NVR.log ("-->Re-registering online/offine"); document.addEventListener("offline", onOffline, false); document.addEventListener("online", onOnline, false); $rootScope.isDownloading = false; - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); // don't animate @@ -2194,15 +2194,15 @@ angular.module('zmApp', [ $rootScope.lastState = $ionicHistory.currentView().stateName; $rootScope.lastStateParam = $ionicHistory.currentView().stateParams; - //NVRDataModel.debug("Last State recorded:" + + //NVR.debug("Last State recorded:" + //JSON.stringify($ionicHistory.currentView())); if ($rootScope.lastState == "app.zm-portal-login") { - NVRDataModel.debug("Last state was portal-login, so forcing montage"); + NVR.debug("Last state was portal-login, so forcing montage"); $rootScope.lastState = "app.montage"; } - NVRDataModel.debug("going to portal login"); + NVR.debug("going to portal login"); $ionicHistory.nextViewOptions({ disableAnimate: true }); @@ -2211,7 +2211,7 @@ angular.module('zmApp', [ } else { $rootScope.lastState = ""; $rootScope.lastStateParam = ""; - NVRDataModel.debug("reset lastState to null"); + NVR.debug("reset lastState to null"); $ionicHistory.nextViewOptions({ disableAnimate: true }); @@ -2225,33 +2225,33 @@ angular.module('zmApp', [ function pauseHandler() { - NVRDataModel.log ("-->Clearing online/offine"); + NVR.log ("-->Clearing online/offine"); document.removeEventListener("offline", onOffline, false); document.removeEventListener("online", onOnline, false); - NVRDataModel.setBackground(true); - NVRDataModel.setJustResumed(false); - // NVRDataModel.setJustResumed(true); // used for window stop + NVR.setBackground(true); + NVR.setJustResumed(false); + // NVR.setJustResumed(true); // used for window stop - NVRDataModel.log("ROOT APP:App is going into background"); + NVR.log("ROOT APP:App is going into background"); EventServer.disconnect(); $interval.cancel($rootScope.eventQueryInterval); $interval.cancel($rootScope.intervalHandle); zmAutoLogin.stop(); - var ld = NVRDataModel.getLogin(); + var ld = NVR.getLogin(); if ($rootScope.platformOS == "android") { - NVRDataModel.log(" force exiting app since its android"); + NVR.log(" force exiting app since its android"); navigator.app.exitApp(); $timeout(function () { - if (NVRDataModel.isBackground()) { - NVRDataModel.log("If this shows up, then the app did not exit..."); + if (NVR.isBackground()) { + NVR.log("If this shows up, then the app did not exit..."); window.stop(); } else { - NVRDataModel.log("window stop delay timeout called as part of pause, but app no longer in background"); + NVR.log("window stop delay timeout called as part of pause, but app no longer in background"); } @@ -2533,9 +2533,9 @@ angular.module('zmApp', [ requireLogin: true }, /*resolve: { - message: function (NVRDataModel) { + message: function (NVR) { // console.log("Inside app.montage resolve"); - return NVRDataModel.getMonitors(0); + return NVR.getMonitors(0); } },*/ url: "/monitors", @@ -2550,9 +2550,9 @@ angular.module('zmApp', [ requireLogin: true }, resolve: { - message: function (NVRDataModel) { + message: function (NVR) { //console.log("Inside app.events resolve"); - return NVRDataModel.getMonitors(0); + return NVR.getMonitors(0); } }, cache: false, @@ -2654,9 +2654,9 @@ angular.module('zmApp', [ requireLogin: true }, resolve: { - message: function (NVRDataModel) { + message: function (NVR) { //console.log("Inside app.events resolve"); - return NVRDataModel.getMonitors(0); + return NVR.getMonitors(0); } }, cache: false, @@ -2681,9 +2681,9 @@ angular.module('zmApp', [ requireLogin: true }, resolve: { - message: function (NVRDataModel) { + message: function (NVR) { //console.log("Inside app.events resolve"); - return NVRDataModel.getMonitors(0); + return NVR.getMonitors(0); } }, url: "/timeline", @@ -2698,8 +2698,8 @@ angular.module('zmApp', [ requireLogin: true }, resolve: { - message: function (NVRDataModel) { - return NVRDataModel.getMonitors(0); + message: function (NVR) { + return NVR.getMonitors(0); } }, url: "/eventserversettings", @@ -2759,9 +2759,9 @@ angular.module('zmApp', [ requireLogin: true }, resolve: { - message: function (NVRDataModel) { + message: function (NVR) { //console.log("Inside app.events resolve"); - return NVRDataModel.getMonitors(0); + return NVR.getMonitors(0); } }, @@ -2781,10 +2781,10 @@ angular.module('zmApp', [ requireLogin: true }, resolve: { - message: function (NVRDataModel) { + message: function (NVR) { //console.log("Inside app.events resolve"); - NVRDataModel.regenConnKeys(); - return NVRDataModel.getMonitors(0); + NVR.regenConnKeys(); + return NVR.getMonitors(0); } }, diff --git a/www/lang/README.md b/www/lang/README.md index 3b966af8..8cb59865 100644 --- a/www/lang/README.md +++ b/www/lang/README.md @@ -39,5 +39,5 @@ This validates your JSON file,makes sure all keys are in sync with -en and if v #### How to recognize a new language: (This is only for zmNinja developers. Not relevant for language translators) -* Modify languages array in DataModel.js (look for "var languages") +* Modify languages array in NVR.js (look for "var languages") * register language glob code in app.js - make sure its added to array list and mapping (look for registerAvailableLanguageKeys) |
