diff options
| author | PliablePixels <pliablepixels@gmail.com> | 2015-07-16 11:23:38 -0400 |
|---|---|---|
| committer | PliablePixels <pliablepixels@gmail.com> | 2015-07-16 11:23:38 -0400 |
| commit | 61afc8d7011f8a741b2583708ac1834e8eec44c2 (patch) | |
| tree | 436d709de6ba9e9ffd845a83c01c45ee342e8ad1 /www/js | |
| parent | 82a0ec7a39ec49fb028876368014600a665f253c (diff) | |
moved saveImageToPhone to Modal - it was not working because button range was out of scope of modal controller range.
Diffstat (limited to 'www/js')
| -rw-r--r-- | www/js/ModalCtrl.js | 85 | ||||
| -rw-r--r-- | www/js/MonitorCtrl.js | 70 | ||||
| -rw-r--r-- | www/js/MontageCtrl.js | 91 |
3 files changed, 83 insertions, 163 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; - - }; }]); |
