From a4be536a82ad5c8222ed784ea7928a0d79c8778f Mon Sep 17 00:00:00 2001 From: David Rowe Date: Tue, 7 Jun 2016 12:54:01 +1200 Subject: [PATCH 1/5] Change table switches to checkboxes; vertically align table rows --- domain-server/resources/web/css/style.css | 4 ++++ domain-server/resources/web/settings/js/settings.js | 5 ++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/domain-server/resources/web/css/style.css b/domain-server/resources/web/css/style.css index efb9e907c5..4bf9c81b39 100644 --- a/domain-server/resources/web/css/style.css +++ b/domain-server/resources/web/css/style.css @@ -20,6 +20,10 @@ body { top: 40px; } +.table .value-row td, .table .inputs td { + vertical-align: middle; +} + .glyphicon-remove { font-size: 24px; } diff --git a/domain-server/resources/web/settings/js/settings.js b/domain-server/resources/web/settings/js/settings.js index 970e7551c4..a38d544502 100644 --- a/domain-server/resources/web/settings/js/settings.js +++ b/domain-server/resources/web/settings/js/settings.js @@ -233,7 +233,7 @@ $(document).ready(function(){ }); // Bootstrap switch in table - $('#' + Settings.FORM_ID).on('switchChange.bootstrapSwitch', 'input.table-checkbox', function () { + $('#' + Settings.FORM_ID).on('change', 'input.table-checkbox', function () { // Bootstrap switches in table: set the changed data attribute for all rows in table. var row = $(this).closest('tr'); if (row.hasClass("value-row")) { // Don't set attribute on input row switches prior to it being added to table. @@ -851,7 +851,6 @@ function reloadSettings(callback) { // setup any bootstrap switches $('.toggle-checkbox').bootstrapSwitch(); - $('.table-checkbox').bootstrapSwitch(); // add tooltip to locked settings $('label.locked').tooltip({ @@ -1176,7 +1175,7 @@ function addTableRow(add_glyphicon) { var input = $(element).find("input") var isCheckbox = false; if (input.hasClass("table-checkbox")) { - input = $(input).parent().parent(); + input = $(input).parent(); isCheckbox = true; } From 0119af11d6d02201c2d55f07fdd666e05db1301e Mon Sep 17 00:00:00 2001 From: David Rowe Date: Tue, 7 Jun 2016 13:58:13 +1200 Subject: [PATCH 2/5] Finesse security table text and general layout --- .../resources/describe-settings.json | 19 ++++++++++--------- domain-server/resources/web/css/style.css | 10 ++++++++++ .../resources/web/settings/js/settings.js | 4 ++++ 3 files changed, 24 insertions(+), 9 deletions(-) diff --git a/domain-server/resources/describe-settings.json b/domain-server/resources/describe-settings.json index 26a368fd04..2314a0551c 100644 --- a/domain-server/resources/describe-settings.json +++ b/domain-server/resources/describe-settings.json @@ -99,14 +99,15 @@ { "name": "standard_permissions", "type": "table", - "label": "Domain-Wide Permissions", - "help": "Standard Permissions:", + "label": "Domain-Wide User Permissions", + "help": "Indicate which users or groups can have which domain-wide permissions.", + "caption": "Standard Permissions", "can_add_new_rows": false, "columns": [ { "name": "permissions_id", - "label": "User/Group" + "label": "User / Group" }, { "name": "id_can_connect", @@ -117,7 +118,7 @@ }, { "name": "id_can_adjust_locks", - "label": "Lock/Unlock", + "label": "Lock / Unlock", "type": "checkbox", "editable": true, "default": false @@ -131,7 +132,7 @@ }, { "name": "id_can_rez_tmp", - "label": "Rez Temp", + "label": "Rez Temporary", "type": "checkbox", "editable": true, "default": false @@ -158,13 +159,13 @@ { "name": "permissions", "type": "table", - "help": "Permissions for Specific Users:", + "caption": "Permissions for Specific Users", "can_add_new_rows": true, "columns": [ { "name": "permissions_id", - "label": "User/Group" + "label": "User / Group" }, { "name": "id_can_connect", @@ -175,7 +176,7 @@ }, { "name": "id_can_adjust_locks", - "label": "Lock/Unlock", + "label": "Lock / Unlock", "type": "checkbox", "editable": true, "default": false @@ -189,7 +190,7 @@ }, { "name": "id_can_rez_tmp", - "label": "Rez Temp", + "label": "Rez Temporary", "type": "checkbox", "editable": true, "default": false diff --git a/domain-server/resources/web/css/style.css b/domain-server/resources/web/css/style.css index 4bf9c81b39..35cb6ad492 100644 --- a/domain-server/resources/web/css/style.css +++ b/domain-server/resources/web/css/style.css @@ -111,6 +111,16 @@ table { word-wrap: break-word; } +caption { + color: #333; + font-weight: 700; + padding-top: 0; +} + +table[name="security.standard_permissions"] .headers td + td, table[name="security.permissions"] .headers td + td { + text-align: center; +} + #xs-advanced-container { margin-bottom: 20px; } diff --git a/domain-server/resources/web/settings/js/settings.js b/domain-server/resources/web/settings/js/settings.js index a38d544502..71abae76f8 100644 --- a/domain-server/resources/web/settings/js/settings.js +++ b/domain-server/resources/web/settings/js/settings.js @@ -927,6 +927,10 @@ function makeTable(setting, keypath, setting_value, isLocked) { + "' name='" + keypath + "' id='" + (typeof setting.html_id !== 'undefined' ? setting.html_id : keypath) + "' data-setting-type='" + (isArray ? 'array' : 'hash') + "'>"; + if (setting.caption) { + html += "" + setting.caption + "" + } + // Column names html += "" From f2d81f1338ab7634f16e86ff57f7246ee4e3e87a Mon Sep 17 00:00:00 2001 From: David Rowe Date: Tue, 7 Jun 2016 16:42:23 +1200 Subject: [PATCH 3/5] Add security table heading groups --- .../resources/describe-settings.json | 26 +++++++++++++++++-- .../resources/web/settings/js/settings.js | 16 ++++++++++++ 2 files changed, 40 insertions(+), 2 deletions(-) diff --git a/domain-server/resources/describe-settings.json b/domain-server/resources/describe-settings.json index 2314a0551c..397c7fe6d0 100644 --- a/domain-server/resources/describe-settings.json +++ b/domain-server/resources/describe-settings.json @@ -104,10 +104,21 @@ "caption": "Standard Permissions", "can_add_new_rows": false, + "groups": [ + { + "label": "User / Group", + "span": 1 + }, + { + "label": "Permissions", + "span": 6 + } + ], + "columns": [ { "name": "permissions_id", - "label": "User / Group" + "label": "" }, { "name": "id_can_connect", @@ -162,10 +173,21 @@ "caption": "Permissions for Specific Users", "can_add_new_rows": true, + "groups": [ + { + "label": "User / Group", + "span": 1 + }, + { + "label": "Permissions", + "span": 6 + } + ], + "columns": [ { "name": "permissions_id", - "label": "User / Group" + "label": "" }, { "name": "id_can_connect", diff --git a/domain-server/resources/web/settings/js/settings.js b/domain-server/resources/web/settings/js/settings.js index 71abae76f8..97da975748 100644 --- a/domain-server/resources/web/settings/js/settings.js +++ b/domain-server/resources/web/settings/js/settings.js @@ -931,6 +931,22 @@ function makeTable(setting, keypath, setting_value, isLocked) { html += "" + setting.caption + "" } + // Column groups + if (setting.groups) { + html += "" + _.each(setting.groups, function (group) { + html += "" + group.label + "" + }) + if (!isLocked && !setting.read_only) { + if (setting.can_order) { + html += ""; + } + html += "" + } + html += "" + } + // Column names html += "" From 801981816bd4fa9eafad10ab4c3bffe6ec242039 Mon Sep 17 00:00:00 2001 From: David Rowe Date: Wed, 8 Jun 2016 09:11:37 +1200 Subject: [PATCH 4/5] Add permissions tool-tips --- domain-server/resources/describe-settings.json | 14 +++++++------- domain-server/resources/web/css/style.css | 5 +++++ .../resources/web/settings/js/settings.js | 2 ++ 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/domain-server/resources/describe-settings.json b/domain-server/resources/describe-settings.json index 397c7fe6d0..43eb5c7ee9 100644 --- a/domain-server/resources/describe-settings.json +++ b/domain-server/resources/describe-settings.json @@ -100,18 +100,18 @@ "name": "standard_permissions", "type": "table", "label": "Domain-Wide User Permissions", - "help": "Indicate which users or groups can have which domain-wide permissions.", + "help": "Indicate which users or groups can have which domain-wide permissions.", "caption": "Standard Permissions", "can_add_new_rows": false, "groups": [ { "label": "User / Group", - "span": 1 + "span": 1 }, { - "label": "Permissions", - "span": 6 + "label": "Permissions ?", + "span": 6 } ], @@ -176,11 +176,11 @@ "groups": [ { "label": "User / Group", - "span": 1 + "span": 1 }, { - "label": "Permissions", - "span": 6 + "label": "Permissions ?", + "span": 6 } ], diff --git a/domain-server/resources/web/css/style.css b/domain-server/resources/web/css/style.css index 35cb6ad492..21cf753bfd 100644 --- a/domain-server/resources/web/css/style.css +++ b/domain-server/resources/web/css/style.css @@ -121,6 +121,11 @@ table[name="security.standard_permissions"] .headers td + td, table[name="securi text-align: center; } +#security .tooltip-inner { + max-width: 520px; + text-align: left; +} + #xs-advanced-container { margin-bottom: 20px; } diff --git a/domain-server/resources/web/settings/js/settings.js b/domain-server/resources/web/settings/js/settings.js index 97da975748..9188772ec9 100644 --- a/domain-server/resources/web/settings/js/settings.js +++ b/domain-server/resources/web/settings/js/settings.js @@ -852,6 +852,8 @@ function reloadSettings(callback) { // setup any bootstrap switches $('.toggle-checkbox').bootstrapSwitch(); + $('[data-toggle="tooltip"]').tooltip(); + // add tooltip to locked settings $('label.locked').tooltip({ placement: 'right', From f3f04fba9754abfd647e265cb464df4c6b06e13f Mon Sep 17 00:00:00 2001 From: David Rowe Date: Wed, 8 Jun 2016 09:41:31 +1200 Subject: [PATCH 5/5] Fix IE displaying checkboxes too large --- domain-server/resources/web/css/style.css | 7 +++++++ domain-server/resources/web/settings/js/settings.js | 4 ++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/domain-server/resources/web/css/style.css b/domain-server/resources/web/css/style.css index 21cf753bfd..4c419a1baa 100644 --- a/domain-server/resources/web/css/style.css +++ b/domain-server/resources/web/css/style.css @@ -24,6 +24,13 @@ body { vertical-align: middle; } +.table .table-checkbox { + /* Fix IE sizing checkboxes to fill table cell */ + width: auto; + margin-left: auto; + margin-right: auto; +} + .glyphicon-remove { font-size: 24px; } diff --git a/domain-server/resources/web/settings/js/settings.js b/domain-server/resources/web/settings/js/settings.js index 9188772ec9..aecc48b31f 100644 --- a/domain-server/resources/web/settings/js/settings.js +++ b/domain-server/resources/web/settings/js/settings.js @@ -1005,7 +1005,7 @@ function makeTable(setting, keypath, setting_value, isLocked) { if (isArray && col.type === "checkbox" && col.editable) { html += "" - + ""; } else { // Use a hidden input so that the values are posted. @@ -1060,7 +1060,7 @@ function makeTableInputs(setting) { _.each(setting.columns, function(col) { if (col.type === "checkbox") { html += "" - + ""; } else { html += "\