Fix switching pages in builder

This commit is contained in:
Jože Fortun
2023-04-07 12:39:27 +02:00
parent 77da4f8b5c
commit 4fa85c17bf
2 changed files with 18 additions and 23 deletions
@@ -120,8 +120,6 @@
{{ labels.clone || $t('label.saveAsCopy') }}
</b-button>
<slot name="end-actions" />
<b-button
v-if="!inEditing && isCreated && !(hideEdit || settings.hideEdit)"
data-test-id="button-edit"
@@ -168,6 +166,8 @@
{{ labels.submit || $t('label.save') }}
</span>
</b-button>
<slot name="end-actions" />
</template>
</b-col>
</b-row>
@@ -12,7 +12,7 @@
<portal to="topbar-tools">
<b-form-select
v-if="layout"
v-if="layout && layouts.length > 1"
ref="layoutSelect"
size="sm"
:value="layout.pageLayoutID"
@@ -318,6 +318,8 @@ export default {
data () {
return {
title: '',
processing: false,
page: undefined,
@@ -350,13 +352,6 @@ export default {
},
},
title () {
let { title = '', handle } = this.page || {}
title = title || handle
return this.$t('label.pageBuilder') + ' - ' + (title ? `"${title}"` : this.$t('label.noHandle'))
},
showEditor () {
return this.editor && this.editor.index !== undefined
},
@@ -433,21 +428,21 @@ export default {
pageID: {
immediate: true,
handler (pageID) {
this.page = undefined
this.layout = undefined
this.layouts = []
this.unsavedBlocks.clear()
this.layouts = []
this.layout = undefined
if (pageID) {
const { namespaceID, name } = this.namespace
this.findPageByID({ namespaceID, pageID, force: true }).then(page => {
document.title = [page.title, name, this.$t('general:label.app-name.private')].filter(v => v).join(' | ')
this.page = page.clone()
return this.fetchPageLayouts()
}).then(() => {
this.setLayout()
})
}
const { namespaceID, name } = this.namespace
this.findPageByID({ namespaceID, pageID, force: true }).then(page => {
let { title = '', handle } = page
title = title || handle
this.title = `${this.$t('label.pageBuilder')} - "${title}"`
document.title = [page.title, name, this.$t('general:label.app-name.private')].filter(v => v).join(' | ')
this.page = page.clone()
return this.fetchPageLayouts()
}).then(() => {
this.setLayout()
})
},
},
},