diff --git a/ux/src/components/PageNewMenu.vue b/ux/src/components/PageNewMenu.vue index 8756611b..7b0f4ae8 100644 --- a/ux/src/components/PageNewMenu.vue +++ b/ux/src/components/PageNewMenu.vue @@ -5,36 +5,66 @@ q-menu.translucent-menu( self='top right' ) q-list(padding) - q-item(clickable, @click='create(`wysiwyg`)') + q-item( + clickable + @click='create(`wysiwyg`)' + v-if='siteStore.editors.wysiwyg' + ) blueprint-icon(icon='google-presentation') q-item-section.q-pr-sm New Page - q-item(clickable, @click='create(`markdown`)') + q-item( + clickable + @click='create(`markdown`)' + v-if='siteStore.editors.markdown' + ) blueprint-icon(icon='markdown') q-item-section.q-pr-sm New Markdown Page - q-item(clickable, @click='create(`asciidoc`)') + q-item( + clickable + @click='create(`asciidoc`)' + v-if='siteStore.editors.asciidoc' + ) blueprint-icon(icon='asciidoc') q-item-section.q-pr-sm New AsciiDoc Page template(v-if='flagsStore.experimental') - q-item(clickable, @click='create(`channel`)') + q-item( + clickable + @click='create(`channel`)' + ) blueprint-icon(icon='chat') q-item-section.q-pr-sm New Discussion Space - q-item(clickable, @click='create(`blog`)') + q-item( + clickable + @click='create(`blog`)' + ) blueprint-icon(icon='typewriter-with-paper') q-item-section.q-pr-sm New Blog Page - q-item(clickable, @click='create(`api`)') + q-item( + clickable + @click='create(`api`)' + ) blueprint-icon(icon='api') q-item-section.q-pr-sm New API Documentation - q-item(clickable, @click='create(`redirect`)') + q-item( + clickable + @click='create(`redirect`)' + ) blueprint-icon(icon='advance') q-item-section.q-pr-sm New Redirection template(v-if='props.hideAssetBtn === false') q-separator.q-my-sm(inset) - q-item(clickable, @click='openFileManager') + q-item( + clickable + @click='openFileManager' + ) blueprint-icon(icon='add-image') q-item-section.q-pr-sm Upload Media Asset template(v-if='props.showNewFolder') q-separator.q-my-sm(inset) - q-item(clickable, @click='newFolder') + q-item( + clickable + @click='newFolder' + ) blueprint-icon(icon='add-folder') q-item-section.q-pr-sm New Folder diff --git a/ux/src/pages/AdminEditors.vue b/ux/src/pages/AdminEditors.vue index 13205df2..a058e540 100644 --- a/ux/src/pages/AdminEditors.vue +++ b/ux/src/pages/AdminEditors.vue @@ -242,6 +242,15 @@ async function save () { } }) if (respRaw?.data?.updateSite?.operation?.succeeded) { + if (adminStore.currentSiteId === siteStore.id) { + siteStore.$patch({ + editors: { + asciidoc: state.config.asciidoc, + markdown: state.config.markdown, + wysiwyg: state.config.wysiwyg + } + }) + } $q.notify({ type: 'positive', message: t('admin.editors.saveSuccess') diff --git a/ux/src/stores/site.js b/ux/src/stores/site.js index 80ef5527..9bb9b5fe 100644 --- a/ux/src/stores/site.js +++ b/ux/src/stores/site.js @@ -28,6 +28,11 @@ export const useSiteStore = defineStore('site', { features: { ratingsMode: 'off' }, + editors: { + asciidoc: false, + markdown: false, + wysiwyg: false + }, theme: { dark: false, injectCSS: '', @@ -81,6 +86,17 @@ export const useSiteStore = defineStore('site', { features { ratingsMode } + editors { + asciidoc { + isActive + } + markdown { + isActive + } + wysiwyg { + isActive + } + } theme { dark colorPrimary @@ -116,6 +132,11 @@ export const useSiteStore = defineStore('site', { ...this.features, ...clone(siteInfo.features) } + this.editors = { + asciidoc: clone(siteInfo.editors.asciidoc.isActive), + markdown: clone(siteInfo.editors.markdown.isActive), + wysiwyg: clone(siteInfo.editors.wysiwyg.isActive) + } this.theme = { ...this.theme, ...clone(siteInfo.theme)