From 09ed669ada790aa5cdcc8b06a8fd2569138a796c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C5=BEe=20Fortun?= Date: Mon, 3 Apr 2023 19:02:10 +0200 Subject: [PATCH] Add action placement, variant and visible UI/UX --- .../src/components/Admin/Page/Tree.vue | 22 +---- .../src/components/Common/RecordToolbar.vue | 8 +- .../compose/src/views/Admin/Pages/Builder.vue | 8 +- .../compose/src/views/Admin/Pages/Edit.vue | 98 ++++++++++++++----- .../src/views/Public/Pages/Records/View.vue | 35 ++++++- lib/js/src/compose/types/page-layout.ts | 6 +- locale/en/corteza-webapp-compose/general.yaml | 9 ++ 7 files changed, 130 insertions(+), 56 deletions(-) diff --git a/client/web/compose/src/components/Admin/Page/Tree.vue b/client/web/compose/src/components/Admin/Page/Tree.vue index 369a28127..5a1f6ca68 100644 --- a/client/web/compose/src/components/Admin/Page/Tree.vue +++ b/client/web/compose/src/components/Admin/Page/Tree.vue @@ -57,7 +57,6 @@ - {{ $t('moduleEdit') }} - - = 1 && moduleID !== NoID + pageViewer ({ pageID = NoID, moduleID = NoID }) { + const name = moduleID !== NoID ? 'page.record.create' : 'page' + return { name, params: { pageID } } }, handleChangePosition ({ beforeParent, data, afterParent }) { diff --git a/client/web/compose/src/components/Common/RecordToolbar.vue b/client/web/compose/src/components/Common/RecordToolbar.vue index 79a6d6d0d..e9fe70116 100644 --- a/client/web/compose/src/components/Common/RecordToolbar.vue +++ b/client/web/compose/src/components/Common/RecordToolbar.vue @@ -26,6 +26,8 @@ /> {{ showRecordModal ? $t('label.close') : labels.back || $t('label.back') }} + + + + + + - - diff --git a/client/web/compose/src/views/Admin/Pages/Builder.vue b/client/web/compose/src/views/Admin/Pages/Builder.vue index 4f3fe038e..ce520ad25 100644 --- a/client/web/compose/src/views/Admin/Pages/Builder.vue +++ b/client/web/compose/src/views/Admin/Pages/Builder.vue @@ -31,7 +31,6 @@ {{ $t('navigation.viewPage') }} @@ -385,11 +384,8 @@ export default { }, pageViewer () { - if (this.module) { - return undefined - } - - return { name: 'page', params: { pageID: this.pageID } } + const name = this.module ? 'page.record.create' : 'page' + return { name, params: { pageID: this.pageID } } }, pageEditor () { diff --git a/client/web/compose/src/views/Admin/Pages/Edit.vue b/client/web/compose/src/views/Admin/Pages/Edit.vue index 5cb4beb81..8903a05c6 100644 --- a/client/web/compose/src/views/Admin/Pages/Edit.vue +++ b/client/web/compose/src/views/Admin/Pages/Edit.vue @@ -34,7 +34,6 @@ - + - Type + Redirect to layout - Options + Variant + + + + Placement + + + + Visible @@ -454,15 +467,6 @@ /> - - - - @@ -474,14 +478,41 @@ /> - + + + + + + + + + + + + - + @@ -712,11 +743,9 @@ export default { }, pageViewer () { - if (this.isRecordPage) { - return undefined - } const { pageID } = this.page - return { name: 'page', params: { pageID } } + const name = this.isRecordPage ? 'page.record.create' : 'page' + return { name, params: { pageID } } }, isRecordPage () { @@ -794,6 +823,27 @@ export default { .map(({ pageLayoutID, handle, meta }) => ({ pageLayoutID, label: meta.title || handle || pageLayoutID })), ] }, + + actionPlacementOptions () { + return [ + { value: 'start', text: 'Start' }, + { value: 'center', text: 'Center' }, + { value: 'end', text: 'End' }, + ] + }, + + actionVariantOptions () { + return [ + { text: this.$t('general:variants.primary'), value: 'primary' }, + { text: this.$t('general:variants.secondary'), value: 'secondary' }, + { text: this.$t('general:variants.success'), value: 'success' }, + { text: this.$t('general:variants.warning'), value: 'warning' }, + { text: this.$t('general:variants.danger'), value: 'danger' }, + { text: this.$t('general:variants.info'), value: 'info' }, + { text: this.$t('general:variants.light'), value: 'light' }, + { text: this.$t('general:variants.dark'), value: 'dark' }, + ] + }, }, watch: { 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 e5961dc7f..de2713d01 100644 --- a/client/web/compose/src/views/Public/Pages/Records/View.vue +++ b/client/web/compose/src/views/Public/Pages/Records/View.vue @@ -55,16 +55,41 @@ @submit="handleFormSubmit('page.record')" @update-navigation="handleRedirectToPrevOrNext" > -