autocomplete styling

This commit is contained in:
2023-05-06 22:00:31 +02:00
parent 38a6255e77
commit e4b373a940
4 changed files with 24 additions and 15 deletions

View File

@@ -101,11 +101,6 @@ export default class ContextedLinkEditing extends Plugin {
node?.hasAttribute('autocomplete')
)
interface AutocompleteEvent {
position?: any
autocompleteText?: string
show: boolean
}
if (Boolean(autocompleteText) || Boolean(autocompleteNode)) {
if (Boolean(autocompleteText) !== Boolean(autocompleteNode)) {
editor.execute('autocomplete')
@@ -117,6 +112,12 @@ export default class ContextedLinkEditing extends Plugin {
}
} else {
showAutocomplete = true
const view = editor.editing.view
const viewPosition = view.document.selection.focus
const viewNode = viewPosition?.parent.parent
const domElement = viewNode
? (view.domConverter.mapViewToDom(viewNode) as HTMLElement)
: undefined
const event: AutocompleteEvent = {
position: getNodePosition(
editor,
@@ -126,6 +127,7 @@ export default class ContextedLinkEditing extends Plugin {
)
),
autocompleteText: autocompleteNode.data,
domElement,
show: showAutocomplete,
}
editor.model.document.fire('contextedLinkAutocomplete', event)
@@ -148,7 +150,7 @@ function getNodePosition(editor: any, modelPosition: any) {
const viewRange = editor.editing.view.createRange(viewPosition)
const domConverter = editor.editing.view.domConverter
const rangeRects = Rect.getDomRangeRects(
domConverter.viewRangeToDom(viewRange)
domConverter.viewRangeToDom(viewRange)
).pop()
return rangeRects
} catch (e) {