diff options
| author | Pliable Pixels <pliablepixels@users.noreply.github.com> | 2017-12-09 18:16:20 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-12-09 18:16:20 -0500 |
| commit | 30659a51cb9bf4d1b037acb876371a630f092b6d (patch) | |
| tree | 8e71d548378c4184239493716764a7befb9de394 /www/js | |
| parent | 7b3618fe68f9b08292cffa6406756aa6ee14e373 (diff) | |
| parent | 02b539d381517228fec72235c3b8c5a5659bd711 (diff) | |
Merge pull request #564 from pliablepixels/fcm
Fcm
Diffstat (limited to 'www/js')
| -rwxr-xr-x | www/js/DataModel.js | 39 | ||||
| -rw-r--r-- | www/js/EventCtrl.js | 122 | ||||
| -rw-r--r-- | www/js/EventServer.js | 14 | ||||
| -rw-r--r-- | www/js/MontageCtrl.js | 2 | ||||
| -rwxr-xr-x | www/js/app.js | 6 |
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 }) |
