diff options
| author | Arjun Roychowdhury <pliablepixels@gmail.com> | 2015-11-15 09:01:52 -0500 |
|---|---|---|
| committer | Arjun Roychowdhury <pliablepixels@gmail.com> | 2015-11-15 09:01:52 -0500 |
| commit | 0e88c443661a43ac5d28ae9f97faa5adc521e270 (patch) | |
| tree | ed89c1ad2deed6f337ef6696e789c5fa248d13cf | |
| parent | 444450cda1dbed13783605c056ff1c626b82cd35 (diff) | |
#83 - deleting and managing servers added
Former-commit-id: 76498516666f5e9c43586fbbbbdbe9825f567636
| -rw-r--r-- | www/js/DataModel.js | 9 | ||||
| -rw-r--r-- | www/js/EventServer.js | 14 | ||||
| -rw-r--r-- | www/js/EventServerSettingsCtrl.js | 8 | ||||
| -rw-r--r-- | www/js/LoginCtrl.js | 40 | ||||
| -rw-r--r-- | www/js/MontageCtrl.js | 3 | ||||
| -rw-r--r-- | www/templates/eventserversettings.html | 4 | ||||
| -rw-r--r-- | www/templates/login.html | 2 |
7 files changed, 71 insertions, 9 deletions
diff --git a/www/js/DataModel.js b/www/js/DataModel.js index e3333d43..5f769676 100644 --- a/www/js/DataModel.js +++ b/www/js/DataModel.js @@ -111,10 +111,10 @@ angular.module('zmApp.controllers') //$localstorage.setObject($rootScope.currentServerGroup, loginData); console.log ("Saving For " + loginData.serverName); - console.log ("SERVER GROUP BEFORE IS " + JSON.stringify(serverGroupList)); + // console.log ("SERVER GROUP BEFORE IS " + JSON.stringify(serverGroupList)); serverGroupList[loginData.serverName]=angular.copy(loginData); - console.log ("SERVER GROUP AFTER IS " + JSON.stringify(serverGroupList)); + // console.log ("SERVER GROUP AFTER IS " + JSON.stringify(serverGroupList)); //console.log (JSON.stringify(serverGroupList)); $localstorage.setObject("serverGroupList", serverGroupList); $localstorage.set("defaultServerName",loginData.serverName); @@ -444,6 +444,11 @@ angular.module('zmApp.controllers') getServerGroups: function() { return serverGroupList; }, + + setServerGroups: function(sg) + { + serverGroupList = angular.copy(sg); + }, getKeepAwake: function () { return (loginData.keepAwake == '1') ? true:false; diff --git a/www/js/EventServer.js b/www/js/EventServer.js index 53889169..d8d04ad6 100644 --- a/www/js/EventServer.js +++ b/www/js/EventServer.js @@ -239,6 +239,17 @@ angular.module('zmApp.controllers') return (d.promise); } + + function disconnect() + { + ZMDataModel.zmLog("Disconnecting and deleting Event Server socket..."); + ws.$close(); + ws.$un('open'); + ws.$un('close'); + ws.$un('message'); + ws = undefined; + + } //-------------------------------------------------------------------------- // Send an arbitrary object to the Event Serve @@ -494,7 +505,8 @@ angular.module('zmApp.controllers') refresh: refresh, init: init, sendMessage: sendMessage, - pushInit: pushInit + pushInit: pushInit, + disconnect: disconnect }; diff --git a/www/js/EventServerSettingsCtrl.js b/www/js/EventServerSettingsCtrl.js index 9ace8a99..d061964b 100644 --- a/www/js/EventServerSettingsCtrl.js +++ b/www/js/EventServerSettingsCtrl.js @@ -192,6 +192,10 @@ angular.module('zmApp.controllers').controller('zmApp.EventServerSettingsCtrl', }); } + else + { + EventServer.disconnect(); + } ZMDataModel.displayBanner('info', ['settings saved']); } @@ -286,10 +290,10 @@ angular.module('zmApp.controllers').controller('zmApp.EventServerSettingsCtrl', if (!isEnabled($scope.monitors[i].Monitor.Id)) { // if the filter list has IDs and this is not part of it, uncheck it $scope.monitors[i].Monitor.isChecked = false; - console.log("Marking false"); + //console.log("Marking false"); $scope.monitors[i].Monitor.reportingInterval = 0; } else { - console.log("Marking true"); + // console.log("Marking true"); $scope.monitors[i].Monitor.isChecked = true; $scope.monitors[i].Monitor.reportingInterval = getInterval($scope.monitors[i].Monitor.Id); } diff --git a/www/js/LoginCtrl.js b/www/js/LoginCtrl.js index ec0c3939..7b1399b6 100644 --- a/www/js/LoginCtrl.js +++ b/www/js/LoginCtrl.js @@ -56,16 +56,54 @@ angular.module('zmApp.controllers').controller('zmApp.LoginCtrl', ['$scope', '$r // add cancel code.. }, buttonClicked: function (index) { - console.log ("YOU WANT " + serverbuttons[index].text + " INDEX " + index); + // console.log ("YOU WANT " + serverbuttons[index].text + " INDEX " + index); var zmServers = ZMDataModel.getServerGroups(); $scope.loginData = zmServers[serverbuttons[index].text]; + $scope.check.isUseAuth = ($scope.loginData.isUseAuth == '1') ? true : false; + $scope.check.isUseEventServer = ($scope.loginData.isUseEventServer == '1') ? true : false; return true; + }, + + destructiveButtonClicked: function () + { + var zmServers = ZMDataModel.getServerGroups(); + //console.log ("YOU WANT TO DELETE " + $scope.loginData.serverName); + //console.log ("LENGTH OF SERVERS IS " + Object.keys(zmServers).length); + if (Object.keys(zmServers).length > 1) + { + ZMDataModel.zmLog ("Deleting " + $scope.loginData.serverName); + delete zmServers[$scope.loginData.serverName]; + ZMDataModel.setServerGroups(zmServers); + // point to first element + // better than nothing + // note this is actually unordered + $scope.loginData = zmServers[Object.keys(zmServers)[0]]; + ZMDataModel.setLogin($scope.loginData); + + } + else + { + ZMDataModel.displayBanner('error', ['Cannot delete, need at least one']); + } + return true; } + + }); }; + + $scope.eventServerSettings = function() + { + ZMDataModel.zmDebug("Saving settings before going to Event Server settings"); + //console.log ( "My loginData saved " + JSON.stringify($scope.loginData)); + ZMDataModel.setLogin ($scope.loginData); + $state.go("eventserversettings"); + + }; + //---------------------------------------------------------------- // Save anyway when you exit //---------------------------------------------------------------- diff --git a/www/js/MontageCtrl.js b/www/js/MontageCtrl.js index 7ff9cbd7..5884ddf3 100644 --- a/www/js/MontageCtrl.js +++ b/www/js/MontageCtrl.js @@ -205,6 +205,9 @@ angular.module('zmApp.controllers').controller('zmApp.MontageCtrl', ['$scope', ' // Alarm emit handling //---------------------------------------------------------------- $rootScope.$on("alarm", function (event, args) { + // FIXME: I should probably unregister this instead + if (typeof $scope.monitors === undefined) + return; console.log ("***EVENT TRAP***"); var alarmMonitors = args.message; for (var i=0; i< alarmMonitors.length; i++) diff --git a/www/templates/eventserversettings.html b/www/templates/eventserversettings.html index 9d34960a..e56529a3 100644 --- a/www/templates/eventserversettings.html +++ b/www/templates/eventserversettings.html @@ -1,4 +1,4 @@ -<ion-view view-title="Event Server" cache-view="false"> +<ion-view view-title="Event Server/{{loginData.serverName}}" cache-view="false"> <ion-nav-buttons side="left"> <button class="button button-icon button-clear ion-navicon" ng-click="openMenu()"></button> @@ -18,7 +18,7 @@ <ion-checkbox ng-model="check.isUseEventServer">use event server</ion-checkbox> - <ion-item ng-href="#" ng-click="selectScreen()"> + <ion-item ng-href="" ng-click="selectScreen()"> on tap, navigate to: {{defScreen}} </ion-item> diff --git a/www/templates/login.html b/www/templates/login.html index 44fa57e7..2c96bafd 100644 --- a/www/templates/login.html +++ b/www/templates/login.html @@ -73,7 +73,7 @@ ng-model="loginData.apiurl"> </label> - <a class="item item-icon-right" href="#/eventserversettings"> + <a class="item item-icon-right" href="" ng-click="eventServerSettings()"> <i class="icon ion-ios-arrow-right"> </i> Event Server |
