From 550240ce34465a79ccc1dc8cbfab212a81f326ba Mon Sep 17 00:00:00 2001 From: nharshunova Date: Mon, 4 Apr 2022 22:07:36 +0300 Subject: [PATCH 1/3] [EQK-24] Results table: add resizable columns --- .../query/clientlibs/css/main-layout.css | 3 +- .../console/query/clientlibs/css/results.css | 24 +++++ .../console/query/clientlibs/js.txt | 2 + .../query/clientlibs/js/actions/execute.js | 3 +- .../query/clientlibs/js/results/table.js | 99 +++++++++++++++++++ 5 files changed, 129 insertions(+), 2 deletions(-) create mode 100644 ui.apps/src/main/content/jcr_root/apps/etoolbox-query-kit/console/query/clientlibs/js/results/table.js diff --git a/ui.apps/src/main/content/jcr_root/apps/etoolbox-query-kit/console/query/clientlibs/css/main-layout.css b/ui.apps/src/main/content/jcr_root/apps/etoolbox-query-kit/console/query/clientlibs/css/main-layout.css index 807f4ae..e84d059 100644 --- a/ui.apps/src/main/content/jcr_root/apps/etoolbox-query-kit/console/query/clientlibs/css/main-layout.css +++ b/ui.apps/src/main/content/jcr_root/apps/etoolbox-query-kit/console/query/clientlibs/css/main-layout.css @@ -50,6 +50,7 @@ background-color: #fff; border: 1px solid #e9e9e9; border-radius: 0.25rem; + box-sizing: border-box; } .eqk-action-label { @@ -69,4 +70,4 @@ .coral3-Dialog--error .coral3-Dialog-wrapper { max-width: 550px; -} \ No newline at end of file +} diff --git a/ui.apps/src/main/content/jcr_root/apps/etoolbox-query-kit/console/query/clientlibs/css/results.css b/ui.apps/src/main/content/jcr_root/apps/etoolbox-query-kit/console/query/clientlibs/css/results.css index a5eefb7..5ad17c1 100644 --- a/ui.apps/src/main/content/jcr_root/apps/etoolbox-query-kit/console/query/clientlibs/css/results.css +++ b/ui.apps/src/main/content/jcr_root/apps/etoolbox-query-kit/console/query/clientlibs/css/results.css @@ -80,3 +80,27 @@ padding: 0.3125rem; margin: 0 0.3125rem 0 0; } + +#resultsTable th:not(:first-child):not(:last-child) .resizer { + display: block; + position: absolute; + right: 0; + top: 0; + height: 100%; + content: ''; + background-color: #ececec; + width: 5px; + cursor: ew-resize; + z-index: 10; +} + +#resultsTable table { + table-layout: fixed; +} + +#resultsTable .results-table-cell:first-of-type, #resultsTable .coral-Table-headerCell:first-of-type { + width: 40px; +} +#resultsTable .coral-Table-wrapper-container { + overflow-y: hidden; +} diff --git a/ui.apps/src/main/content/jcr_root/apps/etoolbox-query-kit/console/query/clientlibs/js.txt b/ui.apps/src/main/content/jcr_root/apps/etoolbox-query-kit/console/query/clientlibs/js.txt index 1b971b8..11cb6ad 100644 --- a/ui.apps/src/main/content/jcr_root/apps/etoolbox-query-kit/console/query/clientlibs/js.txt +++ b/ui.apps/src/main/content/jcr_root/apps/etoolbox-query-kit/console/query/clientlibs/js.txt @@ -27,3 +27,5 @@ noop-adapter.js #base=js profiles.js startup.js + +results/table.js diff --git a/ui.apps/src/main/content/jcr_root/apps/etoolbox-query-kit/console/query/clientlibs/js/actions/execute.js b/ui.apps/src/main/content/jcr_root/apps/etoolbox-query-kit/console/query/clientlibs/js/actions/execute.js index 2e1596b..3c86cb2 100644 --- a/ui.apps/src/main/content/jcr_root/apps/etoolbox-query-kit/console/query/clientlibs/js/actions/execute.js +++ b/ui.apps/src/main/content/jcr_root/apps/etoolbox-query-kit/console/query/clientlibs/js/actions/execute.js @@ -42,7 +42,8 @@ const isBackendException = $errorMessage.length; if (!isBackendException) { $('#resultsColumn').empty().prepend($result.html()); - $(document).trigger('eqk-success-response', args); + const table = $result.find('#resultsTable')[0]; + Coral.commons.ready(table, ns.initResizableCols); } else { foundationUi.alert('EToolbox Query Console', 'Could not retrieve results: ' + $errorMessage.text(), 'error'); $errorMessage.remove(); diff --git a/ui.apps/src/main/content/jcr_root/apps/etoolbox-query-kit/console/query/clientlibs/js/results/table.js b/ui.apps/src/main/content/jcr_root/apps/etoolbox-query-kit/console/query/clientlibs/js/results/table.js new file mode 100644 index 0000000..0a7c8de --- /dev/null +++ b/ui.apps/src/main/content/jcr_root/apps/etoolbox-query-kit/console/query/clientlibs/js/results/table.js @@ -0,0 +1,99 @@ +(function ($, ns) { + 'use strict'; + + const TABLE_RESULTS_ID = '#resultsTable'; + const COL_STYLES_ID = 'colStyles'; + const RESIZER_CLASS = 'resizer'; + + $(`