summaryrefslogtreecommitdiff
path: root/www/js/MonitorModalCtrl.js
diff options
context:
space:
mode:
authorlucas_nz <lucas_nz@outlook.com>2020-10-10 23:53:13 +1300
committerlucas_nz <lucas_nz@outlook.com>2020-10-10 23:53:13 +1300
commit958ff8c24307c097b47ee6135f5e76fea3b279a8 (patch)
tree212bddd2a16f7af8432ec7e8f3e5b0d7540129d2 /www/js/MonitorModalCtrl.js
parent2bf676cb16d1477f3cac47c5fa905ab95e467222 (diff)
parent0711179c6e1104f4e1954c7a0685f40ed25c0851 (diff)
Merge branch 'master' of git@github.com:pliablepixels/zmNinja.git
Diffstat (limited to 'www/js/MonitorModalCtrl.js')
-rw-r--r--www/js/MonitorModalCtrl.js52
1 files changed, 40 insertions, 12 deletions
diff --git a/www/js/MonitorModalCtrl.js b/www/js/MonitorModalCtrl.js
index 4b58de4f..b9812a67 100644
--- a/www/js/MonitorModalCtrl.js
+++ b/www/js/MonitorModalCtrl.js
@@ -1181,9 +1181,9 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$
// Saves a snapshot of the monitor image to phone storage
//-----------------------------------------------------------------------
- $scope.saveImageToPhoneWithPerms = function (mid) {
+ $scope.saveLiveImageToPhoneWithPerms = function (mid) {
if ($rootScope.platformOS != 'android') {
- saveImageToPhone(mid);
+ saveLiveImageToPhone(mid);
return;
}
@@ -1199,7 +1199,7 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$
}
function succ(s) {
- saveImageToPhone(mid);
+ saveLiveImageToPhone(mid);
}
function err(e) {
@@ -1207,14 +1207,14 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$
}
};
- function saveImageToPhone(mid) {
+ function saveLiveImageToPhone(mid) {
$ionicLoading.show({
template: $translate.instant('kSavingSnapshot') + '...',
noBackdrop: true,
duration: zm.httpTimeout
});
- NVR.debug("ModalCtrl: SaveImageToPhone called");
+ NVR.debug("ModalCtrl: SaveLiveImageToPhone called");
var canvas, context, imageDataUrl, imageData;
var loginData = NVR.getLogin();
var url = loginData.streamingurl +
@@ -1235,8 +1235,9 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$
var fileTransfer = new FileTransfer();
var urle = encodeURI(url);
- var fname = "zmninja.jpg";
-
+ var timestamp=moment().format('MMM-Do-YY-HH-mm-ss');
+ var fname = "zmninja-mid-"+mid+'-'+timestamp+".jpg";
+
fileTransfer.download(urle, cordova.file.dataDirectory + fname,
function (entry) {
NVR.debug("local download complete: " + entry.toURL());
@@ -1289,13 +1290,40 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$
$ionicLoading.hide();
//SaveSuccess();
- $rootScope.zmPopup = SecuredPopups.show('alert', {
- title: $translate.instant('kNote'),
- template: $translate.instant('kDownloadVideoImage') + "<br/><br/><center><a href='" + url + "' class='button button-assertive icon ion-android-download' download=\"balls.jpg\">" + " " + $translate.instant('kDownload') + "</a></center>",
- okText: $translate.instant('kDismiss'),
- okType: 'button-stable'
+ $ionicLoading.show({
+ template: $translate.instant('kPleaseWait') + "...",
+ noBackdrop: true
});
+ var timestamp=moment().format('MMM-Do-YY-HH-mm-ss');
+ var fname = "zmninja-mid-"+mid+'-'+timestamp+".jpg";
+ fetch(url).then(function (resp) {
+ return resp.blob();
+ }).then(function (blob) {
+ console.log (blob);
+ var url = window.URL.createObjectURL(blob);
+ $rootScope.zmPopup = SecuredPopups.show('alert', {
+ title: $translate.instant('kNote'),
+ template: $translate.instant('kDownloadVideoImage') + "<br/><br/><center><a href='" + url + "' class='button button-assertive icon ion-android-download' download='"+fname+"'>" + " " + $translate.instant('kDownload') + "</a></center>",
+ okText: $translate.instant('kDismiss'),
+ okType: 'button-stable'
+ });
+
+ $rootScope.zmPopup.then (function (res) {
+ //console.log ('DONE RELEASE');
+ NVR.debug ('download successful');
+ $ionicLoading.hide();
+ window.URL.revokeObjectURL(url);
+ });
+ }).catch(function () {
+ $ionicLoading.hide();
+ $ionicLoading.show({
+ template: $translate.instant('kErrorSave'),
+ noBackdrop: true,
+ duration: 2000
+ });
+ });
+
}
}