From 7d9d52257ca521f3863763cfa58e782dca13b527 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C5=BEe=20Fortun?= Date: Wed, 19 Apr 2023 14:31:22 +0200 Subject: [PATCH] Add UI/UX improvements --- .../compose/src/views/Admin/Charts/Edit.vue | 2 +- .../compose/src/views/Admin/Modules/List.vue | 1 + .../compose/src/views/Admin/Pages/Edit.vue | 26 ++++++++++++++----- .../src/views/Public/Pages/Records/View.vue | 16 ++++++++++-- .../compose/src/views/Public/Pages/View.vue | 15 ++++++++++- 5 files changed, 49 insertions(+), 11 deletions(-) diff --git a/client/web/compose/src/views/Admin/Charts/Edit.vue b/client/web/compose/src/views/Admin/Charts/Edit.vue index 6a4f74f38..6ed9b2cdd 100644 --- a/client/web/compose/src/views/Admin/Charts/Edit.vue +++ b/client/web/compose/src/views/Admin/Charts/Edit.vue @@ -303,7 +303,7 @@ :hide-save="hideSave" hide-clone :disable-save="disableSave" - @delete="handleDelete" + @delete="handleDelete()" @save="handleSave()" @saveAndClose="handleSave({ closeOnSuccess: true })" /> diff --git a/client/web/compose/src/views/Admin/Modules/List.vue b/client/web/compose/src/views/Admin/Modules/List.vue index 08710ddf5..609b5fd6b 100644 --- a/client/web/compose/src/views/Admin/Modules/List.vue +++ b/client/web/compose/src/views/Admin/Modules/List.vue @@ -109,6 +109,7 @@
@@ -26,7 +25,6 @@ - +
+ +
+ +
@@ -706,7 +714,7 @@ !l.meta.title || handle.handleState(l.handle) === false) + return !this.page || [this.titleState, this.handleState].includes(false) || this.layouts.some(l => !l.meta.title || handle.handleState(l.handle) === false) }, hideDelete () { - return this.hasChildren || !this.page.canDeletePage || !!this.page.deletedAt + return !this.page || this.hasChildren || !this.page.canDeletePage || !!this.page.deletedAt + }, + + hideSave () { + return !this.page || !this.page.canUpdatePage }, showDeleteDropdown () { @@ -936,7 +948,7 @@ export default { this.processing = true const { namespaceID } = this.namespace - this.findPageByID({ namespaceID, pageID }).then((page) => { + this.findPageByID({ namespaceID, pageID, force: true }).then((page) => { this.page = page.clone() return this.fetchAttachments() }).then(this.fetchLayouts) diff --git a/client/web/compose/src/views/Public/Pages/Records/View.vue b/client/web/compose/src/views/Public/Pages/Records/View.vue index b12e7b099..cd44f50f4 100644 --- a/client/web/compose/src/views/Public/Pages/Records/View.vue +++ b/client/web/compose/src/views/Public/Pages/Records/View.vue @@ -17,8 +17,15 @@ {{ title }} +
+ +
+ config.visibility.expression)) { + expressions = await this.evaluateLayoutExpressions() + } // Check layouts for expressions/roles and find the first one that fits this.layout = this.layouts.find(l => { diff --git a/client/web/compose/src/views/Public/Pages/View.vue b/client/web/compose/src/views/Public/Pages/View.vue index 4ec989c7e..53553c752 100644 --- a/client/web/compose/src/views/Public/Pages/View.vue +++ b/client/web/compose/src/views/Public/Pages/View.vue @@ -58,6 +58,13 @@ class="flex-grow-1 overflow-auto d-flex flex-column" /> +
+ +
+ config.visibility.expression)) { + this.pageTitle = this.page.title + expressions = await this.evaluateLayoutExpressions() + } // Check layouts for expressions/roles and find the first one that fits this.layout = this.layouts.find(({ pageLayoutID, config = {} }) => {