From c3a6c42b4c89b378d22cf34f3594d3013e908dd4 Mon Sep 17 00:00:00 2001 From: Michael Jumper Date: Tue, 13 Aug 2013 16:27:38 -0700 Subject: [PATCH] Add checkboxes for multiselect group view. --- guacamole/src/main/webapp/scripts/guac-ui.js | 30 ++++++++++++++++++-- guacamole/src/main/webapp/styles/ui.css | 11 +++++++ 2 files changed, 39 insertions(+), 2 deletions(-) diff --git a/guacamole/src/main/webapp/scripts/guac-ui.js b/guacamole/src/main/webapp/scripts/guac-ui.js index dfe4eb91d..806bfbeb3 100644 --- a/guacamole/src/main/webapp/scripts/guac-ui.js +++ b/guacamole/src/main/webapp/scripts/guac-ui.js @@ -1003,7 +1003,20 @@ GuacUI.GroupView = function(root_group, multiselect) { // Add connection to connection list or parent group var guacui_connection = new GuacUI.Connection(connection); GuacUI.addClass(guacui_connection.getElement(), "list-item"); - appendChild(guacui_connection.getElement()); + + // If multiselect, add checkbox for each connection + if (multiselect) { + + var connection_choice = GuacUI.createElement("div", "choice"); + var connection_checkbox = GuacUI.createChildElement(connection_choice, "input"); + connection_checkbox.setAttribute("type", "checkbox"); + + connection_choice.appendChild(guacui_connection.getElement()); + appendChild(connection_choice); + + } + else + appendChild(guacui_connection.getElement()); // Set onclick event (function(connection) { @@ -1027,7 +1040,20 @@ GuacUI.GroupView = function(root_group, multiselect) { // Add element to display GuacUI.addClass(list_group.getElement(), "list-item"); - appendChild(list_group.getElement()); + + // If multiselect, add checkbox for each group + if (multiselect) { + + var group_choice = GuacUI.createElement("div", "choice"); + var group_checkbox = GuacUI.createChildElement(group_choice, "input"); + group_checkbox.setAttribute("type", "checkbox"); + + group_choice.appendChild(list_group.getElement()); + appendChild(group_choice); + + } + else + appendChild(list_group.getElement()); // Set onclick event (function(child_group) { diff --git a/guacamole/src/main/webapp/styles/ui.css b/guacamole/src/main/webapp/styles/ui.css index c3c5eed3a..445aff627 100644 --- a/guacamole/src/main/webapp/styles/ui.css +++ b/guacamole/src/main/webapp/styles/ui.css @@ -251,6 +251,17 @@ div.section { background: #CDA; } +.choice .list-item { + display: inline-block; +} + +.choice input[type='checkbox'] { + vertical-align: top; + height: 24px; + padding: 0; + margin: 0; +} + .disabled .list-item:not(.selected) { opacity: 0.25; }