insert new link with autocomplete
This commit is contained in:
@@ -64,6 +64,7 @@ export default defineComponent({
|
||||
'input',
|
||||
'update:modelValue',
|
||||
'click',
|
||||
'editorReady',
|
||||
'contextedLinkAutocomplete',
|
||||
'contextedKeypress',
|
||||
],
|
||||
@@ -182,6 +183,7 @@ export default defineComponent({
|
||||
methods: {
|
||||
setUpEditorEvents() {
|
||||
const editor = this.instance!
|
||||
this.$emit('editorReady', editor)
|
||||
|
||||
// Use the leading edge so the first event in the series is emitted immediately.
|
||||
// Failing to do so leads to race conditions, for instance, when the component modelValue
|
||||
|
||||
@@ -126,12 +126,16 @@ export default class ContextedLinkEditing extends Plugin {
|
||||
)
|
||||
if (selectionInContextedLink && keyCodes.includes(keyCode)) {
|
||||
if (selection.hasAttribute('contextedLink')) {
|
||||
const autocompleteNode = editor.model.document.selection.focus
|
||||
?.textNode as any
|
||||
const autocompleteNode = [
|
||||
selection.focus?.nodeBefore,
|
||||
selection.focus?.textNode,
|
||||
selection.focus?.nodeAfter,
|
||||
].find((node) => Boolean(node))
|
||||
fireAutocompleteEvent(editor, true, autocompleteNode)
|
||||
}
|
||||
this.editor.model.document.fire('contextedKeypress', { keyCode })
|
||||
data.preventDefault(evt.stop())
|
||||
data.preventDefault()
|
||||
evt.stop()
|
||||
}
|
||||
},
|
||||
{ priority: 'highest' }
|
||||
|
||||
Reference in New Issue
Block a user