diff options
Diffstat (limited to 'www')
| -rw-r--r-- | www/js/ModalCtrl.js | 85 | ||||
| -rw-r--r-- | www/js/MonitorCtrl.js | 70 | ||||
| -rw-r--r-- | www/js/MontageCtrl.js | 91 | ||||
| -rw-r--r-- | www/templates/events-modal.html | 2 | ||||
| -rw-r--r-- | www/templates/monitors-modal.html | 10 | ||||
| -rw-r--r-- | www/templates/monitors.html | 2 | ||||
| -rw-r--r-- | www/templates/montage.html | 4 |
7 files changed, 92 insertions, 172 deletions
diff --git a/www/js/ModalCtrl.js b/www/js/ModalCtrl.js index c5d1f512..01b8e27c 100644 --- a/www/js/ModalCtrl.js +++ b/www/js/ModalCtrl.js @@ -10,7 +10,6 @@ angular.module('zmApp.controllers').controller('ModalCtrl', ['$scope', '$rootSco console.log("**** INSIDE MODAL CTRL, recomputing rand *****"); $scope.rand = Math.floor((Math.random() * 100000) + 1); - $rootScope.tempmid = $scope.monitorId; //$state.go($state.current, {}, {reload: true}); // This holds the PTZ menu control @@ -225,12 +224,17 @@ angular.module('zmApp.controllers').controller('ModalCtrl', ['$scope', '$rootSco }; + $scope.saveImageToPhone2=function(mid) + { + console.log ("TEST"); + }; + $scope.onSwipeLeft = function(m,d) { console.log ("SWIPED LEFT"); console.log ("Next Monitor ID is " + ZMDataModel.getNextMonitor(m,d)); $scope.monitorId = ZMDataModel.getNextMonitor(m,d); - $rootScope.tempmid = $scope.monitorId; //FIXME: Hack + $ionicLoading.hide(); $ionicLoading.show({ @@ -246,7 +250,6 @@ angular.module('zmApp.controllers').controller('ModalCtrl', ['$scope', '$rootSco console.log ("SWIPED RIGHT"); console.log ("Next Monitor ID is " + ZMDataModel.getNextMonitor(m,d)); $scope.monitorId = ZMDataModel.getNextMonitor(m,d); - $rootScope.tempmid = $scope.monitorId; $ionicLoading.show({ template: "please wait...", @@ -255,5 +258,81 @@ angular.module('zmApp.controllers').controller('ModalCtrl', ['$scope', '$rootSco }); }; + //----------------------------------------------------------------------- + // Sucess/Error handlers for saving a snapshot of the + // monitor image to phone storage + //----------------------------------------------------------------------- + + function SaveSuccess() { + $ionicLoading.show({ + template: "done!", + noBackdrop: true, + duration: 1000 + }); + console.log("***SUCCESS"); + } + + function SaveError(e) { + $ionicLoading.show({ + template: "error - could not save", + noBackdrop: true, + duration: 2000 + }); + ZMDataModel.zmLog("Error saving image: " + e.message); + console.log("***ERROR"); + } + + //----------------------------------------------------------------------- + // Saves a snapshot of the monitor image to phone storage + //----------------------------------------------------------------------- + + + $scope.saveImageToPhone = function (mid) { + $ionicLoading.show({ + template: "saving snapshot..", + noBackdrop: true, + duration: zm.httpTimeout + }); + + console.log("IMAGE CAPTURE INSIDE MODAL"); + var canvas, context, imageDataUrl, imageData; + var loginData = ZMDataModel.getLogin(); + var url = loginData.streamingurl + + '/cgi-bin/zms?mode=single&monitor=' + mid + + '&user=' + loginData.username + + '&pass=' + loginData.password; + ZMDataModel.zmLog("SavetoPhone:Trying to save image from " + url); + + var img = new Image(); + img.onload = function () { + canvas = document.createElement('canvas'); + canvas.width = img.width; + canvas.height = img.height; + context = canvas.getContext('2d'); + context.drawImage(img, 0, 0); + try { + imageDataUrl = canvas.toDataURL('image/jpeg', 1.0); + imageData = imageDataUrl.replace(/data:image\/jpeg;base64,/, ''); + cordova.exec( + SaveSuccess, + SaveError, + 'Canvas2ImagePlugin', + 'saveImageDataToLibrary', [imageData] + ); + } catch (e) { + + SaveError(e.message); + } + }; + try { + img.src = url; + } catch (e) { + SaveError(e.message); + + } + }; + + + }]); diff --git a/www/js/MonitorCtrl.js b/www/js/MonitorCtrl.js index 3307c800..5725a690 100644 --- a/www/js/MonitorCtrl.js +++ b/www/js/MonitorCtrl.js @@ -353,76 +353,6 @@ angular.module('zmApp.controllers').controller('zmApp.MonitorCtrl', ['$ionicPopu }; - function SaveSuccess() { - $ionicLoading.show({ - template: "done!", - noBackdrop: true, - duration: 1000 - }); - console.log("***SUCCESS"); - } - - - function SaveError(e) { - $ionicLoading.show({ - template: "error - could not save", - noBackdrop: true, - duration: 2000 - }); - ZMDataModel.zmLog("Error saving image: " + e.message); - console.log("***ERROR"); - } - - //----------------------------------------------------------------------- - // Saves a snapshot of the monitor image to phone storage - //----------------------------------------------------------------------- - - //http://stackoverflow.com/questions/11618266/save-a-web-photo-to-camera-roll-in-phonegap - $scope.saveImageToPhone = function (mid) { - $ionicLoading.show({ - template: "saving snapshot..", - noBackdrop: true, - duration: zm.httpTimeout - }); - - console.log("IMAGE CAPTURE"); - var canvas, context, imageDataUrl, imageData; - var loginData = ZMDataModel.getLogin(); - var url = loginData.streamingurl + - '/cgi-bin/zms?mode=single&monitor=' + $rootScope.tempmid + - '&user=' + loginData.username + - '&pass=' + loginData.password; - ZMDataModel.zmLog("SavetoPhone:Trying to save image from " + url); - - var img = new Image(); - img.onload = function () { - canvas = document.createElement('canvas'); - canvas.width = img.width; - canvas.height = img.height; - context = canvas.getContext('2d'); - context.drawImage(img, 0, 0); - try { - imageDataUrl = canvas.toDataURL('image/jpeg', 1.0); - imageData = imageDataUrl.replace(/data:image\/jpeg;base64,/, ''); - cordova.exec( - SaveSuccess, - SaveError, - 'Canvas2ImagePlugin', - 'saveImageDataToLibrary', [imageData] - ); - } catch (e) { - - SaveError(e.message); - } - }; - try { - img.src = url; - } catch (e) { - SaveError(e.message); - - } - }; - }]); diff --git a/www/js/MontageCtrl.js b/www/js/MontageCtrl.js index 420b6f12..1ba0c235 100644 --- a/www/js/MontageCtrl.js +++ b/www/js/MontageCtrl.js @@ -407,6 +407,7 @@ angular.module('zmApp.controllers').controller('zmApp.MontageCtrl', ['$scope', ' $ionicModal.fromTemplateUrl('templates/monitors-modal.html', { scope: $scope, animation: 'slide-in-up' + }) .then(function (modal) { $scope.modal = modal; @@ -593,96 +594,6 @@ angular.module('zmApp.controllers').controller('zmApp.MontageCtrl', ['$scope', ' $rootScope.rand = Math.floor((Math.random() * 100000) + 1); }); - function SaveSuccess() { - $ionicLoading.show({ - template: "done!", - noBackdrop: true, - duration: 1000 - }); - console.log("***SUCCESS"); - } - - function SaveError(e) { - $ionicLoading.show({ - template: "error - could not save", - noBackdrop: true, - duration: 2000 - }); - ZMDataModel.zmLog("Error saving image: " + e.message); - console.log("***ERROR"); - } - - //----------------------------------------------------------------------- - // Saves a snapshot of the monitor image to phone storage - //----------------------------------------------------------------------- - - - $scope.saveImageToPhone = function (mid) { - $ionicLoading.show({ - template: "saving snapshot..", - noBackdrop: true, - duration: zm.httpTimeout - }); - - console.log("IMAGE CAPTURE"); - var canvas, context, imageDataUrl, imageData; - var loginData = ZMDataModel.getLogin(); - var url = loginData.streamingurl + - '/cgi-bin/zms?mode=single&monitor=' + $rootScope.tempmid + - '&user=' + loginData.username + - '&pass=' + loginData.password; - ZMDataModel.zmLog("SavetoPhone:Trying to save image from " + url); - - var img = new Image(); - img.onload = function () { - canvas = document.createElement('canvas'); - canvas.width = img.width; - canvas.height = img.height; - context = canvas.getContext('2d'); - context.drawImage(img, 0, 0); - try { - imageDataUrl = canvas.toDataURL('image/jpeg', 1.0); - imageData = imageDataUrl.replace(/data:image\/jpeg;base64,/, ''); - cordova.exec( - SaveSuccess, - SaveError, - 'Canvas2ImagePlugin', - 'saveImageDataToLibrary', [imageData] - ); - } catch (e) { - - SaveError(e.message); - } - }; - try { - img.src = url; - } catch (e) { - SaveError(e.message); - - } - }; - - - - - - $scope.doRefresh = function () { - console.log("***Pull to Refresh"); - $scope.monitors = []; - - var refresh = ZMDataModel.getMonitors(1); - refresh.then(function (data) { - $scope.monitors = data; - $scope.$broadcast('scroll.refreshComplete'); - }); - - }; - - $scope.scaleImage = function () { - console.log("Switching image style"); - $scope.imageStyle = !$scope.imageStyle; - - }; }]); diff --git a/www/templates/events-modal.html b/www/templates/events-modal.html index 9f3f257f..8750895d 100644 --- a/www/templates/events-modal.html +++ b/www/templates/events-modal.html @@ -2,7 +2,7 @@ <ion-content style="background-color:#444444"> <!-- so I can access my common modal controller which is shared between events and monitors for modal views --> - <div ng-controller="ModalCtrl"> + <div> <!-- ng-controller="ModalCtrl">--> <ion-scroll has-bouncing=false min-zoom=1 zooming="true" direction="xy" style="width: 100%; "> <div style="height: 100vh;"> diff --git a/www/templates/monitors-modal.html b/www/templates/monitors-modal.html index aa87844e..366dcc79 100644 --- a/www/templates/monitors-modal.html +++ b/www/templates/monitors-modal.html @@ -1,6 +1,7 @@ -<ion-modal-view cache="false"> +<div ng-controller="ModalCtrl"> +<ion-modal-view cache="false" > <ion-content style="background-color:#444444"> - <div ng-controller="ModalCtrl"> + <div > <!-- </di> ng-controller="ModalCtrl">--> <!-- replay can also be gapless imageonload="finishedLoadingImage()"--> @@ -36,8 +37,7 @@ </nav> <span class="camera-icon"> - <a class="button icon ion-ios-camera button-positive" href="" ng-click="saveImageToPhone(tempmid)"></a> + <a class="button icon ion-ios-camera button-positive" href="" ng-click="saveImageToPhone(monitorId)"></a> </span> - - +</div> diff --git a/www/templates/monitors.html b/www/templates/monitors.html index 1cd03eec..9cef5a0f 100644 --- a/www/templates/monitors.html +++ b/www/templates/monitors.html @@ -6,7 +6,7 @@ <ion-content> - <div ng-controller="ModalCtrl"> + <div > <!-- ng-controller="ModalCtrl">--> <ion-refresher pulling-text="Pull to reload Monitors..." spinner="bubbles" on-refresh="doRefresh()"></ion-refresher> <div class="list card" ng-repeat="monitor in monitors"> diff --git a/www/templates/montage.html b/www/templates/montage.html index 13f21952..f2e34485 100644 --- a/www/templates/montage.html +++ b/www/templates/montage.html @@ -1,4 +1,4 @@ -<ion-view title="Montage" cache-view="false" hide-nav-bar="{{minimal}}"> +<ion-view title="Montage" cache-view="false" hide-nav-bar="{{minimal}}" > <ion-nav-buttons side="left"> <button class="button button-icon button-clear ion-navicon" ng-click="openMenu()"></button> @@ -27,7 +27,7 @@ <ion-content has-bouncing="false" style="background-color:#FEFEFE"> - <div ng-controller="ModalCtrl"> + <div > <!--ng-controller="ModalCtrl"--> <ion-refresher pulling-text="Pull to reload Monitors..." spinner="bubbles" on-refresh="doRefresh()"></ion-refresher> <span ng-show="!minimal"> <div class=" range range-positive"> |
