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
 | 
			
		||||
     * 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;
 | 
			
		||||
    isDisabled?: (selection: BaseSelection|null, context: EditorUiContext) => boolean;
 | 
			
		||||
    setup?: (context: EditorUiContext, button: EditorButton) => void;
 | 
			
		||||
| 
						 | 
				
			
			@ -84,7 +84,13 @@ export class EditorButton extends EditorUiElement {
 | 
			
		|||
 | 
			
		||||
    protected onClick() {
 | 
			
		||||
        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');
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -125,9 +125,9 @@ export function $selectOrCreateAdjacent(node: LexicalNode, after: boolean): Rang
 | 
			
		|||
    if (!target) {
 | 
			
		||||
        target = $createParagraphNode();
 | 
			
		||||
        if (after) {
 | 
			
		||||
            node.insertAfter(target)
 | 
			
		||||
            nearestBlock.insertAfter(target)
 | 
			
		||||
        } else {
 | 
			
		||||
            node.insertBefore(target);
 | 
			
		||||
            nearestBlock.insertBefore(target);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue