From 068375022e49d9580b42e4d2b344c0e3609f8977 Mon Sep 17 00:00:00 2001 From: Yuri Kuznetsov Date: Fri, 15 Mar 2024 17:41:28 +0200 Subject: [PATCH] grid layout manager style impr --- client/css/misc/layout-manager-grid.css | 23 +++++++++++++++++-- .../templates/admin/layouts/grid-panel.tpl | 9 ++++---- client/res/templates/admin/layouts/grid.tpl | 10 ++++---- client/src/views/admin/layouts/grid.js | 16 +++++++++---- 4 files changed, 42 insertions(+), 16 deletions(-) diff --git a/client/css/misc/layout-manager-grid.css b/client/css/misc/layout-manager-grid.css index bfd31b3b8d..cdc9ef69a3 100644 --- a/client/css/misc/layout-manager-grid.css +++ b/client/css/misc/layout-manager-grid.css @@ -19,6 +19,25 @@ list-style: none; } +#layout ul.panels > li .panel-label { + margin-left: 4px; +} + +#layout ul.panels > li[data-tab-break="true"] { + margin-top: 28px; +} + +#layout ul.panels > li[data-tab-break="true"]:before { + content: " "; + display: block; + height: 1px; + background-color: var(--gray-light); + position: relative; + top: -20px; + width: 50%; + margin: 0 auto; +} + #layout ul.rows { min-height: 20px; } @@ -159,11 +178,11 @@ ul.rows > li[data-cell-count="4"]:hover a.add-cell { } ul.panels > li a.edit-panel-label { - display: none; + visibility: hidden; } ul.panels > li:hover a.edit-panel-label { - display: inline-block; + visibility: visible; } div.row-actions { diff --git a/client/res/templates/admin/layouts/grid-panel.tpl b/client/res/templates/admin/layouts/grid-panel.tpl index 6c8767288a..e15016a826 100644 --- a/client/res/templates/admin/layouts/grid-panel.tpl +++ b/client/res/templates/admin/layouts/grid-panel.tpl @@ -1,14 +1,15 @@
-   +  
{{translate 'Layout' scope='LayoutManager'}}
    - {{#each panelDataList}} -
  • - {{{var viewKey ../this}}} -
  • - {{/each}} + {{#each panelDataList}} +
  • + {{{var viewKey ../this}}} +
  • + {{/each}}
{{translate 'Add Panel' scope='Admin'}}
diff --git a/client/src/views/admin/layouts/grid.js b/client/src/views/admin/layouts/grid.js index b97ce89baf..3862669d3d 100644 --- a/client/src/views/admin/layouts/grid.js +++ b/client/src/views/admin/layouts/grid.js @@ -186,7 +186,9 @@ class LayoutGridView extends LayoutBaseView { const $label = $header.children('label'); const panelName = $label.text(); - const id = $header.closest('li').data('number').toString(); + const $panel = $header.closest('li'); + + const id = $panel.data('number').toString(); const attributes = { panelName: panelName, @@ -208,14 +210,14 @@ class LayoutGridView extends LayoutBaseView { attributeDefs: attributeDefs, attributes: attributes, dynamicLogicDefs: this.panelDynamicLogicDefs, - }, (view) => { + }, view => { view.render(); - this.listenTo(view, 'after:save', (attributes) => { + this.listenTo(view, 'after:save', attributes => { $label.text(attributes.panelName); $label.attr('data-is-custom', 'true'); - this.panelDataAttributeList.forEach((item) => { + this.panelDataAttributeList.forEach(item => { if (item === 'panelName') { return; } @@ -223,6 +225,8 @@ class LayoutGridView extends LayoutBaseView { this.panelsData[id][item] = attributes[item]; }); + $panel.attr('data-tab-break', attributes.tabBreak ? 'true' : false); + view.close(); this.$el.find('.well').focus(); @@ -295,12 +299,14 @@ class LayoutGridView extends LayoutBaseView { getPanelDataList() { const panelDataList = []; - this.panels.forEach((item) => { + this.panels.forEach(item => { const o = {}; o.viewKey = 'panel-' + item.number; o.number = item.number; + o.tabBreak = !!item.tabBreak; + panelDataList.push(o); });