There is a Node component I display.
<Node key={props.id} {...props} onClick={()=>console.log('Clicked')}>
{props.label}
</Node>
I need Node to print "Clicked" when it was clicked however, I want to prevent Node from printinting "Clicked" when I'm dragging while clicking from Node and dragging to anywhere. Now it's still printing "Clicked. - I used stopPropogation(), preventDefault() but nothing worked.
I handle it in onWindowsMouseUp method; Global Level; Display.js; Display class uses Node
componentDidMount() {
...
window.addEventListener('mousemove', this.onWindowMouseMove);
window.addEventListener('mouseup', this.onWindowMouseUp, true);
}
...
onWindowMouseUp(e) {
if (this.mouseInProgress) {
e.stopPropagation();
e.preventDefault();
}
this.mousePoint = null;
this.mouseInProgress = false;
}
MouseInProgress
onWindowMouseMove(e: PointerEvent) {
if (!this.mouseInProgress) {
const distance = geometry.getDistance((this.mousePoint: any), mousePoint);
if (distance < GraphVisualization.MINIMUM_PAN_DISTANCE) {
return;
}
this.mouseInProgress = true;
}
...