Lexical: Fixed issues with recent changes
This commit is contained in:
parent
2e718c12e1
commit
d9ea52522e
|
@ -15,7 +15,7 @@ export interface EditorButtonDefinition extends EditorBasicButtonDefinition {
|
||||||
* This can return false to indicate that the completion of the action should
|
* This can return false to indicate that the completion of the action should
|
||||||
* NOT be communicated to parent UI elements, which is what occurs by default.
|
* NOT be communicated to parent UI elements, which is what occurs by default.
|
||||||
*/
|
*/
|
||||||
action: (context: EditorUiContext, button: EditorButton) => void|false;
|
action: (context: EditorUiContext, button: EditorButton) => void|false|Promise<void|boolean>;
|
||||||
isActive: (selection: BaseSelection|null, context: EditorUiContext) => boolean;
|
isActive: (selection: BaseSelection|null, context: EditorUiContext) => boolean;
|
||||||
isDisabled?: (selection: BaseSelection|null, context: EditorUiContext) => boolean;
|
isDisabled?: (selection: BaseSelection|null, context: EditorUiContext) => boolean;
|
||||||
setup?: (context: EditorUiContext, button: EditorButton) => void;
|
setup?: (context: EditorUiContext, button: EditorButton) => void;
|
||||||
|
@ -84,7 +84,13 @@ export class EditorButton extends EditorUiElement {
|
||||||
|
|
||||||
protected onClick() {
|
protected onClick() {
|
||||||
const result = this.definition.action(this.getContext(), this);
|
const result = this.definition.action(this.getContext(), this);
|
||||||
if (result !== false) {
|
if (result instanceof Promise) {
|
||||||
|
result.then(result => {
|
||||||
|
if (result === false) {
|
||||||
|
this.emitEvent('button-action');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else if (result !== false) {
|
||||||
this.emitEvent('button-action');
|
this.emitEvent('button-action');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -125,9 +125,9 @@ export function $selectOrCreateAdjacent(node: LexicalNode, after: boolean): Rang
|
||||||
if (!target) {
|
if (!target) {
|
||||||
target = $createParagraphNode();
|
target = $createParagraphNode();
|
||||||
if (after) {
|
if (after) {
|
||||||
node.insertAfter(target)
|
nearestBlock.insertAfter(target)
|
||||||
} else {
|
} else {
|
||||||
node.insertBefore(target);
|
nearestBlock.insertBefore(target);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue