diff --git a/CHANGELOG.md b/CHANGELOG.md index 730a8dd7..d8e37ef0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,10 @@ # CHANGELOG -## HEAD (unreleased) +## 10.0.0-alpha.1 (HEAD) (unreleased) + +- Fix: Prevent click event on a node when dragged + +## 10.0.0-alpha.0 (unreleased) - Enhancement: Support Angular 19, `standalone` now required in all `@Component` diff --git a/projects/swimlane/ngx-graph/package.json b/projects/swimlane/ngx-graph/package.json index c14087a0..64b5e060 100644 --- a/projects/swimlane/ngx-graph/package.json +++ b/projects/swimlane/ngx-graph/package.json @@ -1,6 +1,6 @@ { "name": "@swimlane/ngx-graph", - "version": "10.0.0-alpha.0", + "version": "10.0.0-alpha.1", "description": "Graph visualization for angular", "repository": { "type": "git", diff --git a/projects/swimlane/ngx-graph/src/lib/graph/graph.component.ts b/projects/swimlane/ngx-graph/src/lib/graph/graph.component.ts index 7cc18600..1585aa46 100644 --- a/projects/swimlane/ngx-graph/src/lib/graph/graph.component.ts +++ b/projects/swimlane/ngx-graph/src/lib/graph/graph.component.ts @@ -144,6 +144,7 @@ export class GraphComponent implements OnInit, OnChanges, OnDestroy, AfterViewIn public chartWidth: any; private isMouseMoveCalled: boolean = false; + private isMouseMoveCalledOnNode: boolean = false; graphSubscription: Subscription = new Subscription(); colors: ColorHelper; @@ -888,6 +889,7 @@ export class GraphComponent implements OnInit, OnChanges, OnDestroy, AfterViewIn if (!this.draggingEnabled) { return; } + this.isMouseMoveCalledOnNode = true; const node = this.draggingNode; if (this.layout && typeof this.layout !== 'string' && this.layout.onDrag) { this.layout.onDrag(node, event); @@ -950,7 +952,9 @@ export class GraphComponent implements OnInit, OnChanges, OnDestroy, AfterViewIn * @memberOf GraphComponent */ onClick(event: any): void { - this.select.emit(event); + if (!this.isMouseMoveCalledOnNode) { + this.select.emit(event); + } } /** @@ -1111,6 +1115,7 @@ export class GraphComponent implements OnInit, OnChanges, OnDestroy, AfterViewIn if (!this.draggingEnabled) { return; } + this.isMouseMoveCalledOnNode = false; this.isDragging = true; this.draggingNode = node;