simplify autocomplete logic
This commit is contained in:
@@ -95,25 +95,15 @@ export default class ContextedLinkEditing extends Plugin {
|
||||
node?.hasAttribute(attribute)
|
||||
)
|
||||
)
|
||||
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user