diff options
| author | pliablepixels <pliablepixels@gmail.com> | 2016-01-26 13:24:58 -0500 |
|---|---|---|
| committer | pliablepixels <pliablepixels@gmail.com> | 2016-01-26 13:24:58 -0500 |
| commit | 9bc9950984b940449c16b557b41672e65e17b4d1 (patch) | |
| tree | 02eabb8644f324d3ac9ed98667e763b5fcdbc7d2 /www/js/MontageHistoryCtrl.js | |
| parent | 6bcc09cf53aee2ee8efc41d6d95213d678d8c330 (diff) | |
#154 - more controls, think its all working now
Former-commit-id: aeb31559d176b7f080a37d01b4f459d903923228
Diffstat (limited to 'www/js/MontageHistoryCtrl.js')
| -rw-r--r-- | www/js/MontageHistoryCtrl.js | 74 |
1 files changed, 67 insertions, 7 deletions
diff --git a/www/js/MontageHistoryCtrl.js b/www/js/MontageHistoryCtrl.js index bdbfeea5..fbfd7bfd 100644 --- a/www/js/MontageHistoryCtrl.js +++ b/www/js/MontageHistoryCtrl.js @@ -63,9 +63,18 @@ angular.module('zmApp.controllers').controller('zmApp.MontageHistoryCtrl', ['$sc - var apiurl = ld.apiurl + "/events/index/StartTime >=:"+TimeObjectFrom+"/StartTime <=:"+ TimeObjectTo+".json"; - - console.log ("New URL to get is " + apiurl); + var apiurl; + + if ($scope.sliderVal.exactMatch) + { + apiurl= ld.apiurl + "/events/index/StartTime =:"+TimeObjectFrom+".json"; + } + + else + { + apiurl= ld.apiurl + "/events/index/StartTime >=:"+TimeObjectFrom+"/StartTime <=:"+ TimeObjectTo+".json"; + } + ZMDataModel.zmLog ("Event timeline API is " + apiurl); $http.get(apiurl) .success( function(data) { @@ -77,10 +86,36 @@ angular.module('zmApp.controllers').controller('zmApp.MontageHistoryCtrl', ['$sc eid = data.events[i].Event.Id; // only take the first one for each monitor - // that's the earliest match and play gapless from there - if ($scope.MontageMonitors[mid].eventUrl == 'img/noevent.png') - $scope.MontageMonitors[mid].eventUrl=ld.streamingurl+"/nph-zms?source=event&mode=jpeg&event="+eid+"&frame=1&replay=gapless"; - console.log ("Monitor " + mid + " url is " + $scope.MontageMonitors[mid].eventUrl); + for (var j=0; j < $scope.MontageMonitors.length; j++) + { + // that's the earliest match and play gapless from there + if ($scope.MontageMonitors[j].Monitor.Id == mid) + { + if ($scope.MontageMonitors[j].eventUrl == 'img/noevent.png') + $scope.MontageMonitors[j].eventUrl=ld.streamingurl+"/nph-zms?source=event&mode=jpeg&event="+eid+"&frame=1&replay="+($scope.sliderVal.enableGapless?"gapless":"single"); + + } + } + } + + // now check for monitors with no events and get the closest match + if (!$scope.sliderVal.exactMatch) + { + ZMDataModel.zmLog ("Exact match is off, so looking for more events"); + for (i=0; i<$scope.MontageMonitors.length; i++) + { + if ($scope.MontageMonitors[i].eventUrl=='img/noevent.png') + { + + + var indivGrab = ld.apiurl + "/events/index/MonitorId:"+$scope.MontageMonitors[i].Monitor.Id+"/StartTime >=:"+TimeObjectFrom+".json"; + + ZMDataModel.zmDebug("Monitor " + $scope.MontageMonitors[i].Monitor.Id+":"+$scope.MontageMonitors[i].Monitor.Name + " does not have events, trying "+indivGrab); + + getExpandedEvents(i,indivGrab); + + } + } } @@ -92,6 +127,28 @@ angular.module('zmApp.controllers').controller('zmApp.MontageHistoryCtrl', ['$sc }); + + function getExpandedEvents(i,indivGrab) + { + var ld = ZMDataModel.getLogin(); + console.log ("EXPANDED EVENT " + i + " " + indivGrab); + $http.get(indivGrab) + .success(function(data) + { + // console.log ("EXPANDED DATA FOR MONITOR " + i + JSON.stringify(data)); + if (data.events.length > 0 ) + { + $scope.MontageMonitors[i].eventUrl=ld.streamingurl+"/nph-zms?source=event&mode=jpeg&event="+data.events[0].Event.Id+"&frame=1&replay="+($scope.sliderVal.enableGapless?"gapless":"single"); + + ZMDataModel.zmLog ("Found expanded event "+data.events[0].Event.Id+" for monitor " + $scope.MontageMonitors[i].Monitor.Id); + } + + }) + .error (function(data) + { + }); + } + }; @@ -107,6 +164,9 @@ angular.module('zmApp.controllers').controller('zmApp.MontageHistoryCtrl', ['$sc rate:1, realRate:100, hideNoEvents:false, + enableGapless:true, + exactMatch:false + }; // start with a day ago |
