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..0721254 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 @@ -11,9 +11,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -.foundation-layout-panel-content { - overflow: hidden; -} .foundation-layout-util-vmargin { margin: 0.625rem 0; @@ -50,6 +47,7 @@ background-color: #fff; border: 1px solid #e9e9e9; border-radius: 0.25rem; + box-sizing: border-box; } .eqk-action-label { @@ -69,4 +67,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..0775f71 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 @@ -45,6 +45,7 @@ .results-table-cell { position: relative; vertical-align: top; + word-break: break-word; } .results-table-cell.ordinal { @@ -57,10 +58,6 @@ padding: 0 0.625rem 0 0.3125rem; } -.results-table-cell { - position: relative; -} - .results-table-cell .actions { position: absolute; bottom: 0.3125rem; @@ -80,3 +77,29 @@ padding: 0.3125rem; margin: 0 0.3125rem 0 0; } + +#resultsTable table { + table-layout: fixed; +} + +#resultsTable coral-table-headercell-content { + overflow: hidden; +} + +#resultsTable .results-table-cell:first-of-type, +#resultsTable .coral-Table-headerCell:first-of-type { + width: 40px; +} + +#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; +} 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..9649b91 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 @@ -19,7 +19,7 @@ const registry = $(window).adaptTo('foundation-registry'); const foundationUi = $(window).adaptTo('foundation-ui'); - function executeAndUpdateUi(args) { + function executeAndUpdateUi(args, saveColStyles = false) { if (!args || !args.query) { return; } @@ -42,7 +42,8 @@ const isBackendException = $errorMessage.length; if (!isBackendException) { $('#resultsColumn').empty().prepend($result.html()); - $(document).trigger('eqk-success-response', args); + const table = document.getElementById('resultsTable'); + Coral.commons.ready(table, ns.initResizableCols.bind(null, saveColStyles)); } else { foundationUi.alert('EToolbox Query Console', 'Could not retrieve results: ' + $errorMessage.text(), 'error'); $errorMessage.remove(); @@ -63,7 +64,7 @@ if ($button.is('.coral3-Button--primary')) { return; } - executeAndUpdateUi(getQueryArgs($button)); + executeAndUpdateUi(getQueryArgs($button), true); }); function getQueryArgs($navButton) { @@ -108,7 +109,7 @@ return; } const args = getQueryArgs($button); - executeAndUpdateUi(args); + executeAndUpdateUi(args, true); } }); })(document, Granite.$, Granite.Eqk = (Granite.Eqk || {})); 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..9284a8b --- /dev/null +++ b/ui.apps/src/main/content/jcr_root/apps/etoolbox-query-kit/console/query/clientlibs/js/results/table.js @@ -0,0 +1,106 @@ +(function ($, ns) { + 'use strict'; + + const TABLE_RESULTS_ID = '#resultsTable'; + const COL_STYLES_ID = 'colStyles'; + const RESIZER_CLASS = 'resizer'; + + $(`