Move parameter retrieval to common namespaced variable. Add handlers for connection click events.

This commit is contained in:
Michael Jumper
2013-08-13 15:28:04 -07:00
parent 9f62d25de3
commit cb2f0c445c

View File

@@ -56,10 +56,14 @@ var GuacamoleRootUI = {
"connections" : document.getElementById("connection-list-ui") "connections" : document.getElementById("connection-list-ui")
}, },
"session_state" : new GuacamoleSessionState() "session_state" : new GuacamoleSessionState(),
"parameters" : null
}; };
// Get parameters from query string
GuacamoleRootUI.parameters = window.location.search.substring(1) || null;
/** /**
* Attempts to login the given user using the given password, throwing an * Attempts to login the given user using the given password, throwing an
* error if the process fails. * error if the process fails.
@@ -69,16 +73,14 @@ var GuacamoleRootUI = {
*/ */
GuacamoleRootUI.login = function(username, password) { GuacamoleRootUI.login = function(username, password) {
// Get parameters from query string
var parameters = window.location.search.substring(1);
// Get username and password from form // Get username and password from form
var data = var data =
"username=" + encodeURIComponent(username) "username=" + encodeURIComponent(username)
+ "&password=" + encodeURIComponent(password) + "&password=" + encodeURIComponent(password)
// Include query parameters in submission data // Include query parameters in submission data
if (parameters) data += "&" + parameters; if (GuacamoleRootUI.parameters)
data += "&" + GuacamoleRootUI.parameters;
// Log in // Log in
var xhr = new XMLHttpRequest(); var xhr = new XMLHttpRequest();
@@ -118,6 +120,11 @@ GuacamoleRootUI.addRecentConnection = function(connection) {
// Hide "No recent connections" message // Hide "No recent connections" message
GuacamoleRootUI.messages.no_recent_connections.style.display = "none"; GuacamoleRootUI.messages.no_recent_connections.style.display = "none";
// Open connection when clicked
connection.onclick = function() {
GuacUI.openConnection(connection.connection.id, GuacamoleRootUI.parameters);
};
}; };
@@ -130,9 +137,6 @@ GuacamoleRootUI.addRecentConnection = function(connection) {
*/ */
GuacamoleRootUI.reset = function() { GuacamoleRootUI.reset = function() {
// Get parameters from query string
var parameters = window.location.search.substring(1);
function hasEntry(object) { function hasEntry(object) {
for (var name in object) for (var name in object)
return true; return true;
@@ -142,10 +146,10 @@ GuacamoleRootUI.reset = function() {
// Read root group // Read root group
var root_group; var root_group;
try { try {
root_group = GuacamoleService.Connections.list(parameters); root_group = GuacamoleService.Connections.list(GuacamoleRootUI.parameters);
// Show admin elements if admin permissions available // Show admin elements if admin permissions available
var permissions = GuacamoleService.Permissions.list(null, parameters); var permissions = GuacamoleService.Permissions.list(null, GuacamoleRootUI.parameters);
if (permissions.administer if (permissions.administer
|| permissions.create_connection || permissions.create_connection
|| permissions.create_user || permissions.create_user
@@ -188,6 +192,11 @@ GuacamoleRootUI.reset = function() {
} }
// Open connections when clicked
group_view.onconnectionclick = function(connection) {
GuacUI.openConnection(connection.id, GuacamoleRootUI.parameters);
};
// Save all connections for later reference // Save all connections for later reference
GuacamoleRootUI.connections = group_view.connections; GuacamoleRootUI.connections = group_view.connections;