summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config.xml6
-rw-r--r--package.json6
-rwxr-xr-xwww/js/DataModel.js9
-rw-r--r--www/js/EventCtrl.js37
-rw-r--r--www/lang/locale-en.json1
-rw-r--r--www/templates/devoptions.html7
-rw-r--r--www/templates/events.html4
-rw-r--r--www/templates/image-modal.html5
8 files changed, 68 insertions, 7 deletions
diff --git a/config.xml b/config.xml
index 89e99a22..3355a39f 100644
--- a/config.xml
+++ b/config.xml
@@ -1,5 +1,5 @@
<?xml version='1.0' encoding='utf-8'?>
-<widget android-packageName="com.pliablepixels.zmninja_pro" id="com.pliablepixels.zmninjapro" ios-CFBundleIdentifier="com.pliablepixels.zmninja-pro" version="1.2.507" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
+<widget android-packageName="com.pliablepixels.zmninja_pro" id="com.pliablepixels.zmninjapro" ios-CFBundleIdentifier="com.pliablepixels.zmninja-pro" version="1.2.510" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>zmNinja</name>
<description>
High performance ZoneMinder client
@@ -101,7 +101,7 @@
<icon src="resources/android/icon/drawable-xhdpi-icon.png" />
<preference name="SplashShowOnlyFirstTime" value="false" />
<engine name="ios" spec="4.5.4" />
- <engine name="android" spec="6.4.0" />
+ <engine name="android" spec="^6.3.0" />
<plugin name="com.telerik.plugins.nativepagetransitions" spec="^0.6.5" />
<plugin name="cordova-library-helper" spec="^1.0.4">
<variable name="PHOTO_LIBRARY_USAGE_DESCRIPTION" value="Save media to your Camera Roll" />
@@ -144,9 +144,9 @@
<plugin name="cordova-plugin-email" spec="git+https://github.com/pliablepixels/cordova-email-plugin.git" />
<plugin name="cordova-plugin-touch-id" spec="^3.2.0" />
<plugin name="cordova-plugin-android-fingerprint-auth" spec="^1.4.0" />
- <plugin name="cordova-plugin-certificates" spec="git+https://github.com/hypery2k/cordova-certificate-plugin.git" />
<plugin name="phonegap-plugin-push" spec="^2.1.1">
<variable name="FCM_VERSION" value="11.0.1" />
</plugin>
<plugin name="cordova-plugin-statusbar" spec="git+https://github.com/apache/cordova-plugin-statusbar.git" />
+ <plugin name="cordova-plugin-certificates" spec="git+https://github.com/hypery2k/cordova-certificate-plugin.git" />
</widget>
diff --git a/package.json b/package.json
index cafa1da0..07e37e6e 100644
--- a/package.json
+++ b/package.json
@@ -50,17 +50,17 @@
"cordova-plugin-email": {},
"cordova-plugin-touch-id": {},
"cordova-plugin-android-fingerprint-auth": {},
- "cordova-plugin-certificates": {},
"phonegap-plugin-push": {
"FCM_VERSION": "11.0.1"
},
- "cordova-plugin-statusbar": {}
+ "cordova-plugin-statusbar": {},
+ "cordova-plugin-certificates": {}
}
},
"dependencies": {
"EmailComposer": "git+https://github.com/pliablepixels/email-composer.git",
"com.telerik.plugins.nativepagetransitions": "^0.6.5",
- "cordova-android": "6.4.0",
+ "cordova-android": "^6.3.0",
"cordova-custom-config": "^4.0.2",
"cordova-ios": "4.5.4",
"cordova-library-helper": "^1.0.4",
diff --git a/www/js/DataModel.js b/www/js/DataModel.js
index 078a2fe2..4fd3a791 100755
--- a/www/js/DataModel.js
+++ b/www/js/DataModel.js
@@ -164,6 +164,7 @@ angular.module('zmApp.controllers')
'hideArchived': false,
'videoPlaybackSpeed': 2,
'enableGIFMP4': false,
+ 'enableThumbs': true,
'enableStrictSSL': false,
'enableSlowLoading': false,
'isFullScreen': false,
@@ -994,10 +995,16 @@ angular.module('zmApp.controllers')
if (typeof loginData.enableGIFMP4 == 'undefined') {
- loginData.enableGIFMP4 = true;
+ loginData.enableGIFMP4 = false;
}
+ if (typeof loginData.enableThumbs == 'undefined') {
+
+ loginData.enableThumbs = true;
+
+ }
+
if (typeof loginData.enableSlowLoading == 'undefined') {
loginData.enableSlowLoading = false;
diff --git a/www/js/EventCtrl.js b/www/js/EventCtrl.js
index 8a8673e4..3468d988 100644
--- a/www/js/EventCtrl.js
+++ b/www/js/EventCtrl.js
@@ -65,9 +65,12 @@ angular.module('zmApp.controllers')
$scope.typeOfFrames = $translate.instant('kShowTimeDiffFrames');
$scope.outlineMotion = false;
$scope.outlineMotionParam = "";
+
+
var eventsListScrubHeight = eventsListScrubHeight;
var eventsListDetailsHeight = eventsListDetailsHeight;
+
//---------------------------------------------------
// initial code
//---------------------------------------------------
@@ -148,6 +151,14 @@ angular.module('zmApp.controllers')
eventsListDetailsHeight = parseInt(zm.eventsListDetailsHeight * $rootScope.textScaleFactor);
eventsListScrubHeight = parseInt(zm.eventsListScrubHeight * $rootScope.textScaleFactor);
+
+ if (NVRDataModel.getLogin().enableThumbs) {
+ NVRDataModel.debug ("--> thumbnail means increasing row size");
+ eventsListScrubHeight=370;
+ eventsListDetailsHeight=300;
+
+ }
+
NVRDataModel.debug(">>>height of list/scrub set to " + eventsListDetailsHeight + " and " + eventsListScrubHeight);
pageLoaded = false;
@@ -2682,6 +2693,32 @@ angular.module('zmApp.controllers')
});
+
+
+ $scope.showThumbnail = function (b,f) {
+
+
+ $scope.thumbnailLarge=b+'/index.php?view=image&fid='+f;
+ $ionicModal.fromTemplateUrl('templates/image-modal.html',
+ {
+ scope: $scope,
+ animation: 'slide-in-up',
+ id: 'thumbnail',
+ })
+ .then(function(modal)
+ {
+ $scope.modal = modal;
+
+
+ $scope.modal.show();
+
+ var ld = NVRDataModel.getLogin();
+
+ });
+
+ };
+
+
//--------------------------------------------------------
//This is called when we first tap on an event to see
// the feed. It's important to instantiate ionicModal here
diff --git a/www/lang/locale-en.json b/www/lang/locale-en.json
index 67926f08..22272ed8 100644
--- a/www/lang/locale-en.json
+++ b/www/lang/locale-en.json
@@ -80,6 +80,7 @@
"kEnableNewsUpdates" :"enable news updates",
"kEnableSlowLoading" :"Use large HTTP timeouts",
"kEnableStrictSSL" :"Enable strict SSL check",
+ "kEnableThumbs" :"Enable thumbnails in events list",
"kEnterPin" :"Enter PIN",
"kError" :"Error",
"kErrorChangingMonitors" :"Error changing monitors. Please check logs",
diff --git a/www/templates/devoptions.html b/www/templates/devoptions.html
index db1f8887..03b7d7b8 100644
--- a/www/templates/devoptions.html
+++ b/www/templates/devoptions.html
@@ -128,6 +128,13 @@
</ion-toggle>
</label>
+
+ <label>
+ <ion-toggle ng-model="loginData.enableThumbs" ng-checked="loginData.enableThumbs" toggle-class="toggle-calm"><span class="item-text-wrap">{{'kEnableThumbs' | translate}}
+ </span>
+ </ion-toggle>
+ </label>
+
<label>
<ion-toggle ng-model="loginData.enableSlowLoading" ng-checked="loginData.enableSlowLoading" toggle-class="toggle-calm"><span class="item-text-wrap">{{'kEnableSlowLoading' | translate}}
</span>
diff --git a/www/templates/events.html b/www/templates/events.html
index 92610eaf..31af018d 100644
--- a/www/templates/events.html
+++ b/www/templates/events.html
@@ -75,6 +75,10 @@
<button ng-if="event.Event.DefaultVideo!='' && event.Event.DefaultVideo!=undefined && $root.platformOS!='desktop' && loginData.enableGIFMP4 " class="button button-small button-clear icon mp4-icon" ng-click="downloadFileToDevice(event.Event.videoPath, event.Event.Id)">
</button>
+ <!-- thumbnail -->
+
+ <img ng-if="loginData.enableThumbs" style="float:right;max-width:150px; max-height:200px;" ng-src="{{event.Event.baseURL}}/index.php?view=image&fid={{event.Event.MaxScoreFrameId}}" on-tap="showThumbnail(event.Event.baseURL,event.Event.MaxScoreFrameId)" />
+
</div>
diff --git a/www/templates/image-modal.html b/www/templates/image-modal.html
new file mode 100644
index 00000000..2ed126c6
--- /dev/null
+++ b/www/templates/image-modal.html
@@ -0,0 +1,5 @@
+<ion-modal-view cache-view="false" style="background-color:#444444">
+<ion-content>
+ <img on-double-tap="closeModal();" src="{{thumbnailLarge}}" style="display:block; width:100%"/>
+</ion-content>
+</ion-modal-view>