summaryrefslogtreecommitdiff
path: root/www/js
diff options
context:
space:
mode:
authorPliable Pixels <pliablepixels@users.noreply.github.com>2017-12-09 18:16:20 -0500
committerGitHub <noreply@github.com>2017-12-09 18:16:20 -0500
commit30659a51cb9bf4d1b037acb876371a630f092b6d (patch)
tree8e71d548378c4184239493716764a7befb9de394 /www/js
parent7b3618fe68f9b08292cffa6406756aa6ee14e373 (diff)
parent02b539d381517228fec72235c3b8c5a5659bd711 (diff)
Merge pull request #564 from pliablepixels/fcm
Fcm
Diffstat (limited to 'www/js')
-rwxr-xr-xwww/js/DataModel.js39
-rw-r--r--www/js/EventCtrl.js122
-rw-r--r--www/js/EventServer.js14
-rw-r--r--www/js/MontageCtrl.js2
-rwxr-xr-xwww/js/app.js6
5 files changed, 158 insertions, 25 deletions
diff --git a/www/js/DataModel.js b/www/js/DataModel.js
index f6d59140..1b83ce48 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;
@@ -1563,25 +1570,25 @@ angular.module('zmApp.controllers')
monitors[i].Monitor.isAlarmed = false;
monitors[i].Monitor.connKey = (Math.floor((Math.random() * 999999) + 1)).toString();
- var st = loginData.streamingurl;
+ var st2 = loginData.streamingurl;
if (zmsPort >0) {
// we need to insert minport
- st = "";
- var p = URI.parse(loginData.streamingurl);
- st += p.scheme + "://";
- if (!p.host) {
- p.host = p.path;
- p.path = undefined;
+ st2 = "";
+ var p2 = URI.parse(loginData.streamingurl);
+ st2 += p2.scheme + "://";
+ if (!p2.host) {
+ p2.host = p2.path;
+ p2.path = undefined;
}
- st += p.host;
- var sport = parseInt(zmsPort) + parseInt(monitors[i].Monitor.Id);
- st = st + ':'+sport;
- if (p.path) st += p.path;
+ st2 += p2.host;
+ var sport2 = parseInt(zmsPort) + parseInt(monitors[i].Monitor.Id);
+ st2 = st2 + ':'+sport2;
+ if (p2.path) st2 += p2.path;
}
- monitors[i].Monitor.streamingURL = st;
- console.log ("NO SERVER MATCH CONSTRUCTED STREAMING PATH="+st);
+ monitors[i].Monitor.streamingURL = st2;
+ console.log ("NO SERVER MATCH CONSTRUCTED STREAMING PATH="+st2);
monitors[i].Monitor.baseURL = loginData.url;
monitors[i].Monitor.imageMode = (versionCompare($rootScope.apiVersion, "1.30") == -1) ? "path" : "fid";
@@ -1652,7 +1659,7 @@ angular.module('zmApp.controllers')
$ionicLoading.hide();
monitorsLoaded = 0;
});
- })
+ });
return d.promise;
@@ -2021,7 +2028,7 @@ angular.module('zmApp.controllers')
}
}
- return "(Unknown)";
+ return undefined;
},
getImageMode: function (id) {
diff --git a/www/js/EventCtrl.js b/www/js/EventCtrl.js
index 8a8673e4..e12d2f32 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=330;
+
+ }
+
NVRDataModel.debug(">>>height of list/scrub set to " + eventsListDetailsHeight + " and " + eventsListScrubHeight);
pageLoaded = false;
@@ -369,6 +380,7 @@ angular.module('zmApp.controllers')
// console.log ("WE GOT EVENTS="+JSON.stringify(data));
var myevents = data;
+
NVRDataModel.debug("EventCtrl: success, got " + myevents.length + " events");
var loginData = NVRDataModel.getLogin();
for (var i = 0; i < myevents.length; i++)
@@ -407,6 +419,53 @@ angular.module('zmApp.controllers')
myevents[i].Event.BasePath = computeBasePath(myevents[i]);
myevents[i].Event.relativePath = computeRelativePath(myevents[i]);
+ // get thumbW/H
+
+ var tempMon = NVRDataModel.getMonitorObject(myevents[i].Event.MonitorId);
+ if (tempMon != undefined) {
+
+ var ratio;
+ var mw = parseInt(tempMon.Monitor.Width);
+ var mh = parseInt(tempMon.Monitor.Height);
+ var mo =parseInt(tempMon.Monitor.Orientation);
+
+ myevents[i].Event.Rotation = '';
+
+ // scale by X if width > height
+ if (mw > mh ) {
+ ratio = mw / zm.thumbWidth;
+ myevents[i].Event.thumbWidth = 200;
+ myevents[i].Event.thumbHeight = Math.round(mh/ratio);
+ }
+ else {
+
+ ratio = mh / zm.thumbWidth;
+ myevents[i].Event.thumbHeight = 200;
+ myevents[i].Event.thumbWidth = Math.round(mw/ratio);
+
+ }
+
+ if (mo != 0) {
+ /*
+ myevents[i].Event.Rotation = {
+ 'transform' : 'rotate('+mo+'deg'+')'
+ }; */
+
+ var tmp = myevents[i].Event.thumbHeight;
+ myevents[i].Event.thumbHeight = myevents[i].Event.thumbWidth;
+ myevents[i].Event.thumbWidth = tmp;
+
+
+ } // swap
+
+ console.log ("--------->" +"MW:"+myevents[i].Event.thumbWidth+ " MH:"+ myevents[i].Event.thumbHeight + " for Monitor:" + myevents[i].Event.MonitorName);
+
+
+
+
+
+ }
+
// in multiserver BasePath is login url for frames
// http://login.url/index.php?view=frame&eid=19696772&fid=21
@@ -2682,6 +2741,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
@@ -2882,6 +2967,43 @@ angular.module('zmApp.controllers')
myevents[i].Event.relativePath = computeRelativePath(myevents[i]);
myevents[i].Event.height = eventsListDetailsHeight;
+ // get thumbW/H
+
+ var tempMon = NVRDataModel.getMonitorObject(myevents[i].Event.MonitorId);
+ if (tempMon != undefined) {
+
+ var ratio;
+ var mw = parseInt(tempMon.Monitor.Width);
+ var mh = parseInt(tempMon.Monitor.Height);
+ var mo = parseInt(tempMon.Monitor.Orientation);
+
+ // scale by X if width > height
+ if (mw > mh ) {
+ ratio = mw / zm.thumbWidth;
+ myevents[i].Event.thumbWidth = 200;
+ myevents[i].Event.thumbHeight = Math.round(mh/ratio);
+ }
+ else {
+
+ ratio = mh / zm.thumbWidth;
+ myevents[i].Event.thumbHeight = 200;
+ myevents[i].Event.thumbWidth = Math.round(mw/ratio);
+
+ }
+ if (mo != 0) {
+
+ /*myevents[i].Event.Rotation = {
+ 'transform' : 'rotate('+mo+'deg'+')'
+ }; */
+
+ var tmp = myevents[i].Event.thumbHeight;
+ myevents[i].Event.thumbHeight = myevents[i].Event.thumbWidth;
+ myevents[i].Event.thumbWidth = tmp;
+
+ } // swap
+ }
+
+
if (myevents[i].Event.imageMode == 'path')
//if (1)
myevents[i].Event.videoPath = myevents[i].Event.baseURL + "/events/" + myevents[i].Event.relativePath + myevents[i].Event.DefaultVideo;
diff --git a/www/js/EventServer.js b/www/js/EventServer.js
index b0d0c83f..c07a3e06 100644
--- a/www/js/EventServer.js
+++ b/www/js/EventServer.js
@@ -166,7 +166,7 @@ angular.module('zmApp.controllers')
$rootScope.zmPopup = $ionicPopup.alert(
{
title: $translate.instant('kEventServerVersionTitle'),
- template: $translate.instant('kEventServerVersionBody1') + " " + str.version + ". " + $translate.instant('kEventServerVersionBody2') +
+ template: $translate.instant('kEventServerVersionBody1') + " " + str.version + ". " + $translate.instant('kEventServerVersionBody2') + " "+
zm.minEventServerVersion,
okText: $translate.instant('kButtonOk'),
cancelText: $translate.instant('kButtonCancel'),
@@ -392,10 +392,12 @@ angular.module('zmApp.controllers')
{
"ios":
{
- "alert": true,
- "badge": true,
+ "alert": "true",
+ "badge": "true",
"sound": ld.soundOnPush,
- "clearBadge": true
+ //"sound": "true",
+ "clearBadge": "true",
+ //"fcmSandbox": "true"
}
}
@@ -412,9 +414,9 @@ angular.module('zmApp.controllers')
{
"android":
{
- "senderID": zm.gcmSenderId,
+ // "senderID": zm.gcmSenderId,
"icon": "ic_stat_notification",
- sound: ld.soundOnPush,
+ sound: "true",
vibrate: ld.vibrateOnPush
//"sound": android_media_file
}
diff --git a/www/js/MontageCtrl.js b/www/js/MontageCtrl.js
index a254bb2f..49cd60cd 100644
--- a/www/js/MontageCtrl.js
+++ b/www/js/MontageCtrl.js
@@ -1628,7 +1628,7 @@ angular.module('zmApp.controllers')
multiPortZms = 0;
}
- )
+ );
});
diff --git a/www/js/app.js b/www/js/app.js
index 0bca8099..a4fafc9e 100755
--- a/www/js/app.js
+++ b/www/js/app.js
@@ -29,6 +29,7 @@ angular.module('zmApp', [
'jett.ionic.scroll.sista',
'uk.ac.soton.ecs.videogular.plugins.cuepoints',
'dcbImgFallback',
+ 'ngImageAppear'
])
@@ -41,7 +42,7 @@ angular.module('zmApp', [
.constant('zm', {
minAppVersion: '1.28.107', // if ZM is less than this, the app won't work
recommendedAppVersion: '1.29',
- minEventServerVersion: '0.9',
+ minEventServerVersion: '0.95',
castAppId: 'BA30FB4C',
alarmFlashTimer: 20000, // time to flash alarm
gcmSenderId: '710936220256',
@@ -102,7 +103,8 @@ angular.module('zmApp', [
maxGifWidth: 800.0,
quantSample: 15,
hashSecret: 'unused at the moment',
- forceMontageReloadDelay: 3600 // 1 hr
+ forceMontageReloadDelay: 3600, // 1 hr,
+ thumbWidth:200
})