summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--www/js/DataModel.js9
-rw-r--r--www/js/EventServer.js14
-rw-r--r--www/js/EventServerSettingsCtrl.js8
-rw-r--r--www/js/LoginCtrl.js40
-rw-r--r--www/js/MontageCtrl.js3
-rw-r--r--www/templates/eventserversettings.html4
-rw-r--r--www/templates/login.html2
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