simplify autocomplete logic

This commit is contained in:
2023-05-09 00:14:22 +02:00
parent 9e06781e32
commit f38c28a3ad

View File

@@ -96,24 +96,14 @@ export default class ContextedLinkEditing extends Plugin {
)
)
if (Boolean(autocompleteText) || Boolean(autocompleteNode)) {
if (Boolean(autocompleteText) !== Boolean(autocompleteNode)) {
editor.execute('autocomplete')
if (autocompleteNode) {
showAutocomplete = false
editor.model.document.fire('contextedLinkAutocomplete', {
show: showAutocomplete,
})
}
} else {
showAutocomplete = true
fireAutocompleteEvent(editor, true, autocompleteNode)
}
}
if (!autocompleteNode && showAutocomplete) {
showAutocomplete = false
fireAutocompleteEvent(editor, false)
if (Boolean(autocompleteText) !== Boolean(autocompleteNode)) {
editor.execute('autocomplete')
}
const autocompleteActive = ['contextedLink', 'autocomplete'].some((attribute) => {
return editor.model.document.selection.hasAttribute(attribute)
})
showAutocomplete = autocompleteActive
fireAutocompleteEvent(editor, showAutocomplete, autocompleteNode)
})
}
_addContextedKeyHandler() {
@@ -191,7 +181,7 @@ function getTextAfterCode(range: any, model: any) {
function fireAutocompleteEvent(editor: any, show: boolean, autocompleteNode?: any) {
let event: AutocompleteEvent
if (show) {
if (show && autocompleteNode) {
const view = editor.editing.view
const viewPosition = view.document.selection.focus
const viewNode = viewPosition?.parent.parent