summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--www/js/ModalCtrl.js85
-rw-r--r--www/js/MonitorCtrl.js70
-rw-r--r--www/js/MontageCtrl.js91
-rw-r--r--www/templates/events-modal.html2
-rw-r--r--www/templates/monitors-modal.html10
-rw-r--r--www/templates/monitors.html2
-rw-r--r--www/templates/montage.html4
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">