From f942c3c1614cf2607e19fdc8ab26b8707f4cf0ba Mon Sep 17 00:00:00 2001 From: Michael Jumper Date: Wed, 13 Feb 2013 13:37:00 -0800 Subject: [PATCH] Ticket #268: More style improvements, removing use of GuacAdmin.Form. UI currently broken in transition. --- guacamole/src/main/webapp/admin.xhtml | 2 +- guacamole/src/main/webapp/scripts/admin-ui.js | 154 ++++++++++-------- guacamole/src/main/webapp/scripts/guac-ui.js | 17 ++ guacamole/src/main/webapp/scripts/service.js | 52 ++++++ guacamole/src/main/webapp/styles/ui.css | 9 +- 5 files changed, 165 insertions(+), 69 deletions(-) diff --git a/guacamole/src/main/webapp/admin.xhtml b/guacamole/src/main/webapp/admin.xhtml index 32c5d3e81..164959bad 100644 --- a/guacamole/src/main/webapp/admin.xhtml +++ b/guacamole/src/main/webapp/admin.xhtml @@ -68,7 +68,7 @@

-
+
diff --git a/guacamole/src/main/webapp/scripts/admin-ui.js b/guacamole/src/main/webapp/scripts/admin-ui.js index f9d903f42..456e117f3 100644 --- a/guacamole/src/main/webapp/scripts/admin-ui.js +++ b/guacamole/src/main/webapp/scripts/admin-ui.js @@ -387,6 +387,9 @@ GuacAdmin.reset = function() { // Get permissions var permissions = GuacamoleService.Permissions.list(); + // Get protocols + var protocols = GuacamoleService.Protocols.list(); + // Connection management if (permissions.create_connection || GuacAdmin.hasEntry(permissions.update_connection) @@ -462,10 +465,12 @@ GuacAdmin.reset = function() { GuacAdmin.lists.user_list.innerHTML = ""; for (name in permissions.read_user) {(function(name){ + // Create user list item var item = new GuacAdmin.ListItem("user", name); var item_element = item.getElement(); GuacAdmin.lists.user_list.appendChild(item_element); + // When clicked, build and display property form item_element.onclick = function() { // Ignore clicks if any item is selected @@ -475,87 +480,104 @@ GuacAdmin.reset = function() { // Get user permissions var user_perms = GuacamoleService.Permissions.list(name); - // Load buttons - var buttons = [new GuacAdmin.Button("Save"), - new GuacAdmin.Button("Cancel")]; + // Create form base elements + var form_element = GuacUI.createElement("div", "form"); + var field_table = GuacUI.createChildElement(form_element, "table", "fields"); + var button_div = GuacUI.createChildElement(form_element, "div", "object-buttons"); - if (name in permissions.remove_user) - buttons.push(new GuacAdmin.Button("Delete")); - - // User property form. - var user_properties = new GuacAdmin.Form( - - /* Fields */ - [new GuacAdmin.Field.PASSWORD("Password:", [], - ["f12a1930-7195-11e2-bcfd-0800200c9a66"]), - - new GuacAdmin.Field.PASSWORD("Re-enter Password:", [], - ["f12a1930-7195-11e2-bcfd-0800200c9a66"]), - - new GuacAdmin.Field.LIST("Connections:", - Object.keys(permissions.administer_connection), - Object.keys(user_perms.read_connection))], - - /* Buttons */ - buttons - - ); + // Deselect + function deselect() { + GuacUI.removeClass(GuacAdmin.lists.user_list, "disabled"); + GuacUI.removeClass(item_element, "selected"); + item_element.removeChild(form_element); + selected_user = null; + } // Select - GuacUI.addClass(GuacAdmin.lists.user_list, "disabled"); - GuacUI.addClass(item_element, "selected"); + function select() { + GuacUI.addClass(GuacAdmin.lists.user_list, "disabled"); + GuacUI.addClass(item_element, "selected"); + item_element.appendChild(form_element); + } - // Handle buttons - user_properties.onaction = function(title, fields) { + // Add password field + var password_field = GuacUI.createChildElement( + GuacUI.createTabulatedContainer(field_table, "Password:"), + "input"); + password_field.setAttribute("type", "password"); + password_field.setAttribute("value", "password"); - try { + // Add password re-entry field + var reenter_password_field = GuacUI.createChildElement( + GuacUI.createTabulatedContainer(field_table, "Re-enter Password:"), + "input"); + reenter_password_field.setAttribute("type", "password"); + reenter_password_field.setAttribute("value", "password"); - if (title == "Save") { + // Add save button + var save_button = GuacUI.createChildElement(button_div, "button"); + save_button.textContent = "Save"; + save_button.onclick = function(e) { - // Get passwords - var password = fields[0][0]; - var reentered_password = fields[1][0]; + e.stopPropagation(); - // Check that passwords match - if (password != reentered_password) - throw new Error("Passwords do not match."); + // Get passwords + var password = undefined; /* STUB */ + var reentered_password = undefined; /* STUB */ - // Do not update password if it's just the - // not-changed token - if (password == "f12a1930-7195-11e2-bcfd-0800200c9a66") - password = null; + // Check that passwords match + if (password != reentered_password) + throw new Error("Passwords do not match."); - // Set user permissions - user_perms.read_connection = {}; - var connections = fields[2]; - for (var i=0; i