simplify autocomplete logic
This commit is contained in:
@@ -96,24 +96,14 @@ export default class ContextedLinkEditing extends Plugin {
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
if (Boolean(autocompleteText) || Boolean(autocompleteNode)) {
|
if (Boolean(autocompleteText) !== Boolean(autocompleteNode)) {
|
||||||
if (Boolean(autocompleteText) !== Boolean(autocompleteNode)) {
|
editor.execute('autocomplete')
|
||||||
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)
|
|
||||||
}
|
}
|
||||||
|
const autocompleteActive = ['contextedLink', 'autocomplete'].some((attribute) => {
|
||||||
|
return editor.model.document.selection.hasAttribute(attribute)
|
||||||
|
})
|
||||||
|
showAutocomplete = autocompleteActive
|
||||||
|
fireAutocompleteEvent(editor, showAutocomplete, autocompleteNode)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
_addContextedKeyHandler() {
|
_addContextedKeyHandler() {
|
||||||
@@ -191,7 +181,7 @@ function getTextAfterCode(range: any, model: any) {
|
|||||||
|
|
||||||
function fireAutocompleteEvent(editor: any, show: boolean, autocompleteNode?: any) {
|
function fireAutocompleteEvent(editor: any, show: boolean, autocompleteNode?: any) {
|
||||||
let event: AutocompleteEvent
|
let event: AutocompleteEvent
|
||||||
if (show) {
|
if (show && autocompleteNode) {
|
||||||
const view = editor.editing.view
|
const view = editor.editing.view
|
||||||
const viewPosition = view.document.selection.focus
|
const viewPosition = view.document.selection.focus
|
||||||
const viewNode = viewPosition?.parent.parent
|
const viewNode = viewPosition?.parent.parent
|
||||||
|
|||||||
Reference in New Issue
Block a user