diff options
| author | pliablepixels <pliablepixels@gmail.com> | 2016-05-03 16:31:20 -0400 |
|---|---|---|
| committer | pliablepixels <pliablepixels@gmail.com> | 2016-05-03 16:31:20 -0400 |
| commit | 498d2983c9be14a80e6a1e21f73507e46ba00996 (patch) | |
| tree | 0e6821091d138e80b29fc4f7f4ebce5ebb771c6a /www/js | |
| parent | c6e9b36e83df37116aba224f93402852c754bfc4 (diff) | |
#241 - live view works - rest does not
Former-commit-id: 2cb7fffe6414d13bae65b23c838ead48f5428b41
Diffstat (limited to 'www/js')
| -rw-r--r-- | www/js/DataModel.js | 98 | ||||
| -rw-r--r-- | www/js/MonitorCtrl.js | 1 | ||||
| -rw-r--r-- | www/js/MontageCtrl.js | 3 |
3 files changed, 87 insertions, 15 deletions
diff --git a/www/js/DataModel.js b/www/js/DataModel.js index 6fb94989..e5d366c4 100644 --- a/www/js/DataModel.js +++ b/www/js/DataModel.js @@ -2,7 +2,7 @@ /* jslint browser: true*/ -/* global cordova,StatusBar,angular,console */ +/* global cordova,StatusBar,angular,console, URI */ // This is my central data respository and common functions // that many other controllers use @@ -23,6 +23,7 @@ angular.module('zmApp.controllers') var monitorsLoaded = 0; //var montageSize = 3; var monitors = []; + var multiservers = []; var oldevents = []; var serverGroupList={}; @@ -986,22 +987,91 @@ angular.module('zmApp.controllers') {return parseInt(a.Monitor.Sequence)-parseInt(b.Monitor.Sequence);}); //console.log("promise resolved inside HTTP success"); monitorsLoaded = 1; - $ionicLoading.hide(); - zmLog ("Monitor load was successful, loaded " + monitors.length + " monitors"); + console.log ("*********************** HOOOO"); + $http.get (apiurl+"/servers.json") + .success (function(data){ + // We found a server list API, so lets make sure + // we get the hostname as it will be needed for playback + zmLog ("multi server list loaded"+ JSON.stringify(data)); + multiservers = data.servers; + + for ( var i = 0; i< monitors.length; i++) + { + monitors[i].Monitor.listDisplay='show'; + monitors[i].Monitor.isAlarmed = false; + monitors[i].Monitor.connKey = (Math.floor((Math.random() * 999999) + 1)).toString(); + + var serverFound = false; + for (var j = 0; j < multiservers.length; j++) + { + //console.log ("Comparing " + multiservers[j].Server.Id + " AND " + monitors[i].Monitor.ServerId); + if (multiservers[j].Server.Id == monitors[i].Monitor.ServerId) + { + //console.log ("Found match"); + serverFound = true; + break; + } + + } + if (serverFound) + { + + zmDebug ("Monitor " +i + " has a server hostname of " + multiservers[j].Server.Hostname); + + // Now here is the logic, I need to retrieve serverhostname, + // and slap on the host protocol and path. Meh. + + var p= URI.parse (loginData.streamingurl); + var s = URI.parse (multiservers[j].Server.Hostname); + + zmDebug ("server parsed is " + JSON.stringify(s)); + zmDebug ("portal parsed is " + JSON.stringify(p)); + + var st = ""; + st+= (s.scheme? s.scheme: p.scheme)+"://"; // server scheme overrides + + // if server doesn't have a protocol, what we want is in path + if (!s.host) + { + s.host = s.path; + s.path = undefined; + } + + st+=s.host; + if (p.port || s.port) + { + st+= (s.port ? ":"+s.port: ":"+p.port); + } + st+= (s.path? s.path: p.path); + monitors[i].Monitor.streamingURL = st; + zmDebug ("Streaming URL for Monitor " + i + " is " + monitors[i].Monitor.streamingURL ); + + } + } + d.resolve(monitors); + }) + .error (function (err) { + zmLog ("multi server list loading error"); + multiservers = []; + + for ( var i = 0; i< monitors.length; i++) + { + monitors[i].Monitor.listDisplay='show'; + monitors[i].Monitor.isAlarmed = false; + monitors[i].Monitor.connKey = (Math.floor((Math.random() * 999999) + 1)).toString(); + monitors[i].Monitor.streamingURL = loginData.streamingurl; - // FIXME: This really should not be here. - var i; - for ( i = 0; i< monitors.length; i++) - { - monitors[i].Monitor.listDisplay='show'; - monitors[i].Monitor.isAlarmed = false; - monitors[i].Monitor.connKey = (Math.floor((Math.random() * 999999) + 1)).toString(); - + } + d.resolve(monitors); - // monitors[i].Monitor.sortOrder=i; - } - d.resolve(monitors); + }); + + $ionicLoading.hide(); + zmLog ("Monitor load was successful, loaded " + monitors.length + " monitors"); + + + }) .error(function (err) { //console.log("HTTP Error " + err); diff --git a/www/js/MonitorCtrl.js b/www/js/MonitorCtrl.js index 2fe04cd3..7501ab5a 100644 --- a/www/js/MonitorCtrl.js +++ b/www/js/MonitorCtrl.js @@ -300,6 +300,7 @@ angular.module('zmApp.controllers') ZMDataModel.zmLog("Monitor Orientation is: " + $scope.orientation); $rootScope.rand = Math.floor(Math.random() * (999999 - 111111 + 1)) + 111111; + $scope.monitor = monitor; $scope.showPTZ = false; $scope.monitorId = mid; diff --git a/www/js/MontageCtrl.js b/www/js/MontageCtrl.js index 69b435f8..0b522eed 100644 --- a/www/js/MontageCtrl.js +++ b/www/js/MontageCtrl.js @@ -711,7 +711,8 @@ function initPackery() // modalLoadNotifications(); // console.log ("Refreshing Image..."); // }.bind(this), 1000); - + + $scope.monitor = monitor; $scope.showPTZ = false; $scope.monitorId = mid; $scope.monitorName = ZMDataModel.getMonitorName(mid); |
