diff options
Diffstat (limited to 'www/js/LogCtrl.js')
| -rw-r--r-- | www/js/LogCtrl.js | 197 |
1 files changed, 98 insertions, 99 deletions
diff --git a/www/js/LogCtrl.js b/www/js/LogCtrl.js index 31e580e3..76683257 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', 'ZMDataModel', '$ionicSideMenuDelegate', '$fileLogger', '$cordovaEmailComposer', '$ionicPopup', '$timeout', '$ionicHistory', '$state', '$interval', '$ionicLoading', '$translate', function ($scope, $rootScope,zm, $ionicModal, ZMDataModel, $ionicSideMenuDelegate, $fileLogger, $cordovaEmailComposer, $ionicPopup, $timeout, $ionicHistory, $state, $interval, $ionicLoading, $translate) { +angular.module('zmApp.controllers').controller('zmApp.LogCtrl', ['$scope', '$rootScope', 'zm', '$ionicModal', 'ZMDataModel', '$ionicSideMenuDelegate', '$fileLogger', '$cordovaEmailComposer', '$ionicPopup', '$timeout', '$ionicHistory', '$state', '$interval', '$ionicLoading', '$translate', function ($scope, $rootScope, zm, $ionicModal, ZMDataModel, $ionicSideMenuDelegate, $fileLogger, $cordovaEmailComposer, $ionicPopup, $timeout, $ionicHistory, $state, $interval, $ionicLoading, $translate) { $scope.openMenu = function () { $ionicSideMenuDelegate.toggleLeft(); }; @@ -10,31 +10,29 @@ angular.module('zmApp.controllers').controller('zmApp.LogCtrl', ['$scope', '$roo //--------------------------------------------------------------- // Controller main //--------------------------------------------------------------- - - var intervalLogUpdateHandle; - - document.addEventListener("pause", onPause, false); + + var intervalLogUpdateHandle; + + document.addEventListener("pause", onPause, false); document.addEventListener("resume", onResume, false); - - function onPause() - { + + function onPause() { ZMDataModel.zmDebug("LogCtrl: pause called, killing log timer"); // $interval.cancel(intervalLogUpdateHandle); } - - - function onResume() - { + + + function onResume() { ZMDataModel.zmDebug("LogCtrl: resume called, starting log timer"); - /* intervalLogUpdateHandle = $interval(function () + /* intervalLogUpdateHandle = $interval(function () { loadLogs(); }.bind(this), 3000);*/ - + loadLogs(); } - + $scope.deleteLogs = function () { @@ -57,14 +55,18 @@ angular.module('zmApp.controllers').controller('zmApp.LogCtrl', ['$scope', '$roo //---------------------------------------------------------------- // Alarm notification handling //---------------------------------------------------------------- - $scope.handleAlarms = function() - { - $rootScope.isAlarm=!$rootScope.isAlarm; - if (!$rootScope.isAlarm) - { - $rootScope.alarmCount="0"; - $ionicHistory.nextViewOptions({disableBack: true}); - $state.go("events", {"id": 0}, { reload: true }); + $scope.handleAlarms = function () { + $rootScope.isAlarm = !$rootScope.isAlarm; + if (!$rootScope.isAlarm) { + $rootScope.alarmCount = "0"; + $ionicHistory.nextViewOptions({ + disableBack: true + }); + $state.go("events", { + "id": 0 + }, { + reload: true + }); } }; @@ -75,7 +77,7 @@ angular.module('zmApp.controllers').controller('zmApp.LogCtrl', ['$scope', '$roo $scope.sendEmail = function (logstring) { $ionicPopup.confirm({ title: $translate.instant('kSensitiveTitle'), - template: $rootScope.appName+' '+$translate.instant('kSensitiveBody') + template: $rootScope.appName + ' ' + $translate.instant('kSensitiveBody') }) .then(function (res) { if (res) sendEmailReally(logstring); @@ -88,79 +90,77 @@ angular.module('zmApp.controllers').controller('zmApp.LogCtrl', ['$scope', '$roo //-------------------------------------------------------------------------- function sendEmailReally(logstring) { if (window.cordova) { - - - - - - - // do my best to replace sensitive information - var loginData = ZMDataModel.getLogin(); - - - // We don't need this anymore as zmLog and zmDebug now strip passwords - /*if (loginData.password !="") - { - var re1 = new RegExp(loginData.password, "g"); - logstring = logstring.replace(re1, "<deleted>"); - }*/ - // keep the protocol, helps to debug - var urlNoProtocol = loginData.url.replace(/.*?:\/\//, ""); - if (urlNoProtocol != "") - { - var re2 = new RegExp(urlNoProtocol, "g"); - // just replacing baseurl - that will take care of - // masking api but may not be cgi - logstring = logstring.replace(re2, "<server>"); - } - urlNoProtocol = loginData.streamingurl.replace(/.*?:\/\//, ""); - if (urlNoProtocol != "") - { - var re3 = new RegExp(urlNoProtocol, "g"); - logstring = logstring.replace(re3, "<server>"); - } - - urlNoProtocol = loginData.eventServer.replace(/.*?:\/\//, ""); - if (urlNoProtocol != "") - { - var re4 = new RegExp(urlNoProtocol, "g"); - logstring = logstring.replace(re4, "<server>"); - } - - window.plugins.emailComposer.showEmailComposerWithCallback(callback,$rootScope.appName+' logs',logstring,[zm.authoremail]); - - + + + + + + + // do my best to replace sensitive information + var loginData = ZMDataModel.getLogin(); + + + // We don't need this anymore as zmLog and zmDebug now strip passwords + /*if (loginData.password !="") + { + var re1 = new RegExp(loginData.password, "g"); + logstring = logstring.replace(re1, "<deleted>"); + }*/ + // keep the protocol, helps to debug + var urlNoProtocol = loginData.url.replace(/.*?:\/\//, ""); + if (urlNoProtocol != "") { + var re2 = new RegExp(urlNoProtocol, "g"); + // just replacing baseurl - that will take care of + // masking api but may not be cgi + logstring = logstring.replace(re2, "<server>"); + } + urlNoProtocol = loginData.streamingurl.replace(/.*?:\/\//, ""); + if (urlNoProtocol != "") { + var re3 = new RegExp(urlNoProtocol, "g"); + logstring = logstring.replace(re3, "<server>"); + } + + urlNoProtocol = loginData.eventServer.replace(/.*?:\/\//, ""); + if (urlNoProtocol != "") { + var re4 = new RegExp(urlNoProtocol, "g"); + logstring = logstring.replace(re4, "<server>"); + } + + window.plugins.emailComposer.showEmailComposerWithCallback(callback, $rootScope.appName + ' logs', logstring, [zm.authoremail]); + + } else { - // console.log("Using default email client to send data"); - - var fname = $rootScope.appName+"-logs-" + - moment().format('MMM-DD-YY_HH-mm-ss') + ".txt"; - - var dlogstring = "version:"+$scope.zmAppVersion + "\n" + logstring; - var blob = new Blob([dlogstring], {type: "text/plain;charset=utf-8"}); -saveAs(blob, fname); + // console.log("Using default email client to send data"); + + var fname = $rootScope.appName + "-logs-" + + moment().format('MMM-DD-YY_HH-mm-ss') + ".txt"; + + var dlogstring = "version:" + $scope.zmAppVersion + "\n" + logstring; + var blob = new Blob([dlogstring], { + type: "text/plain;charset=utf-8" + }); + saveAs(blob, fname); } } - - function callback () - { - console.log ("EMAIL SENT"); + + function callback() { + // console.log ("EMAIL SENT"); + ZMDataModel.zmDebug("Email sent callback called"); } - - function loadLogs() - { + + function loadLogs() { //console.log ("GETTING LOGS"); - - $ionicLoading.show({ - template: $translate.instant('kLoading'), - noBackdrop: true, - duration: zm.loadingTimeout - }); - + + $ionicLoading.show({ + template: $translate.instant('kLoading'), + noBackdrop: true, + duration: zm.loadingTimeout + }); + $fileLogger.getLogfile().then(function (l) { - + $scope.zmLog.logString = l.split('\n').reverse().join('\n'); $ionicLoading.hide(); }, @@ -184,26 +184,25 @@ saveAs(blob, fname); $scope.zmLog = { logString: "" }; - + $scope.zmAppVersion = ZMDataModel.getAppVersion(); - - + + /* intervalLogUpdateHandle = $interval(function () { loadLogs(); }.bind(this), 3000);*/ - + loadLogs(); - + }); - - $scope.$on('$ionicView.leave', function () - { + + $scope.$on('$ionicView.leave', function () { //console.log ("Deleting Log interval..."); - // $interval.cancel(intervalLogUpdateHandle); + // $interval.cancel(intervalLogUpdateHandle); }); -}]); +}]);
\ No newline at end of file |
