From 5bb274adac923461f361e683b65c7acbe42df0f9 Mon Sep 17 00:00:00 2001 From: Pliable Pixels Date: Thu, 7 Dec 2017 16:18:29 -0500 Subject: #91 - initial support - needs formatting --- www/js/EventCtrl.js | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'www/js/EventCtrl.js') 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 -- cgit v1.2.3 From 21856d3106726668616fdf4b96e9a7b02ce69d42 Mon Sep 17 00:00:00 2001 From: Pliable Pixels Date: Fri, 8 Dec 2017 20:16:51 -0500 Subject: image fade in, placeholders, doubled image size during fetch for resolution, w/h tweaks #91 --- www/js/EventCtrl.js | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 76 insertions(+), 1 deletion(-) (limited to 'www/js/EventCtrl.js') diff --git a/www/js/EventCtrl.js b/www/js/EventCtrl.js index 3468d988..73c6c77d 100644 --- a/www/js/EventCtrl.js +++ b/www/js/EventCtrl.js @@ -155,7 +155,7 @@ angular.module('zmApp.controllers') if (NVRDataModel.getLogin().enableThumbs) { NVRDataModel.debug ("--> thumbnail means increasing row size"); eventsListScrubHeight=370; - eventsListDetailsHeight=300; + eventsListDetailsHeight=330; } @@ -380,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++) @@ -418,6 +419,46 @@ 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 = Math.abs(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 == 90) { + var t = myevents[i].Event.thumbHeight; + myevents[i].Event.thumbWidth = myevents[i].Event.thumbHeight; + myevents[i].Event.thumbHeight = t; + + + } // 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 @@ -2919,6 +2960,40 @@ 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 = Math.abs(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 == 90) { + var t = myevents[i].Event.thumbHeight; + myevents[i].Event.thumbWidth = myevents[i].Event.thumbHeight; + myevents[i].Event.thumbHeight = t; + + + } // 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; -- cgit v1.2.3 From 02b539d381517228fec72235c3b8c5a5659bd711 Mon Sep 17 00:00:00 2001 From: Pliable Pixels Date: Sat, 9 Dec 2017 12:41:42 -0500 Subject: #91 rotated image fix and other typos --- www/js/EventCtrl.js | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) (limited to 'www/js/EventCtrl.js') diff --git a/www/js/EventCtrl.js b/www/js/EventCtrl.js index 73c6c77d..e12d2f32 100644 --- a/www/js/EventCtrl.js +++ b/www/js/EventCtrl.js @@ -427,7 +427,9 @@ angular.module('zmApp.controllers') var ratio; var mw = parseInt(tempMon.Monitor.Width); var mh = parseInt(tempMon.Monitor.Height); - var mo = Math.abs(parseInt(tempMon.Monitor.Orientation)); + var mo =parseInt(tempMon.Monitor.Orientation); + + myevents[i].Event.Rotation = ''; // scale by X if width > height if (mw > mh ) { @@ -443,10 +445,15 @@ angular.module('zmApp.controllers') } - if (mo == 90) { - var t = myevents[i].Event.thumbHeight; - myevents[i].Event.thumbWidth = myevents[i].Event.thumbHeight; - myevents[i].Event.thumbHeight = t; + 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 @@ -2968,7 +2975,7 @@ angular.module('zmApp.controllers') var ratio; var mw = parseInt(tempMon.Monitor.Width); var mh = parseInt(tempMon.Monitor.Height); - var mo = Math.abs(parseInt(tempMon.Monitor.Orientation)); + var mo = parseInt(tempMon.Monitor.Orientation); // scale by X if width > height if (mw > mh ) { @@ -2983,13 +2990,16 @@ angular.module('zmApp.controllers') myevents[i].Event.thumbWidth = Math.round(mw/ratio); } + if (mo != 0) { - if (mo == 90) { - var t = myevents[i].Event.thumbHeight; - myevents[i].Event.thumbWidth = myevents[i].Event.thumbHeight; - myevents[i].Event.thumbHeight = t; - + /*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 } -- cgit v1.2.3