From 57362c48422aaf01f88495e084005061d75badbe Mon Sep 17 00:00:00 2001 From: Ni55aN Date: Sun, 27 Apr 2025 20:28:10 +0300 Subject: [PATCH] fix(drop,click): prevent adding nodes if the addition is unsuccessful --- src/click-strategy.ts | 7 ++++++- src/drop-strategy.ts | 7 ++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/click-strategy.ts b/src/click-strategy.ts index bf00d86..ab91c91 100644 --- a/src/click-strategy.ts +++ b/src/click-strategy.ts @@ -11,7 +11,12 @@ export class ClickStrategy implements Strategy { element.addEventListener('click', async () => { const node = create() - await this.editor.addNode(node) + const added = await this.editor.addNode(node) + + if (!added) { + console.warn('Node addition prevented:', node) + return + } const viewportCenter = this.getViewportCenter() const view = this.area.nodeViews.get(node.id) diff --git a/src/drop-strategy.ts b/src/drop-strategy.ts index 44e784c..ab59214 100644 --- a/src/drop-strategy.ts +++ b/src/drop-strategy.ts @@ -32,7 +32,12 @@ export class DropStrategy implements Strategy { } private async drop(node: BaseSchemes['Node'], position: Position) { - await this.editor.addNode(node) + const added = await this.editor.addNode(node) + + if (!added) { + console.warn('Node addition prevented:', node) + return + } const view = this.area.nodeViews.get(node.id)