feat: visual editor - link to page
This commit is contained in:
@@ -11,6 +11,7 @@
|
||||
v-spacer
|
||||
.caption {{$t('editor:ckeditor.stats', { chars: stats.characters, words: stats.words })}}
|
||||
editor-conflict(v-model='isConflict', v-if='isConflict')
|
||||
page-selector(mode='select', v-model='insertLinkDialog', :open-handler='insertLinkHandler', :path='path', :locale='locale')
|
||||
</template>
|
||||
|
||||
<script>
|
||||
@@ -19,6 +20,8 @@ import { get, sync } from 'vuex-pathify'
|
||||
import DecoupledEditor from '@requarks/ckeditor5'
|
||||
import EditorConflict from './ckeditor/conflict.vue'
|
||||
|
||||
/* global siteLangs */
|
||||
|
||||
export default {
|
||||
components: {
|
||||
EditorConflict
|
||||
@@ -37,7 +40,8 @@ export default {
|
||||
words: 0
|
||||
},
|
||||
content: '',
|
||||
isConflict: false
|
||||
isConflict: false,
|
||||
insertLinkDialog: false
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
@@ -49,6 +53,12 @@ export default {
|
||||
activeModal: sync('editor/activeModal')
|
||||
},
|
||||
methods: {
|
||||
insertLink () {
|
||||
this.insertLinkDialog = true
|
||||
},
|
||||
insertLinkHandler ({ locale, path }) {
|
||||
this.editor.execute('link', siteLangs.length > 0 ? `/${locale}/${path})` : `/${path}`)
|
||||
}
|
||||
},
|
||||
async mounted () {
|
||||
this.$store.set('editor/editorKey', 'ckeditor')
|
||||
@@ -89,6 +99,10 @@ export default {
|
||||
}
|
||||
})
|
||||
|
||||
this.$root.$on('editorLinkToPage', opts => {
|
||||
this.insertLink()
|
||||
})
|
||||
|
||||
// Handle save conflict
|
||||
this.$root.$on('saveConflict', () => {
|
||||
this.isConflict = true
|
||||
|
Reference in New Issue
Block a user