From a803821a3ef4bcf3da1b35f1c1f48570b59d94bc Mon Sep 17 00:00:00 2001 From: Nate Amack Date: Tue, 18 Aug 2020 11:10:11 -0600 Subject: [PATCH] example(interactions): toggle on element click --- cypress/integration/flow/interaction.spec.js | 16 +++++++++++++++- example/src/Interaction/index.js | 15 ++++++++++++++- 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/cypress/integration/flow/interaction.spec.js b/cypress/integration/flow/interaction.spec.js index 7cd49edd..08236192 100644 --- a/cypress/integration/flow/interaction.spec.js +++ b/cypress/integration/flow/interaction.spec.js @@ -12,10 +12,24 @@ describe('Interaction Flow Rendering', () => { it('tries to select a node by click', () => { const pointerEvents = Cypress.$('.react-flow__node:first').css('pointer-events'); - expect(pointerEvents).to.equal('all'); + expect(pointerEvents).to.equal('none'); }); it('tries to select an edge by click', () => { + const pointerEvents = Cypress.$('.react-flow__edge:first').css('pointer-events'); + expect(pointerEvents).to.equal('none'); + }); + + it('toggles on capture element click', () => { + cy.get('.react-flow__captureelementclick').click(); + }); + + it('allows node clicks when enabled', () => { + const pointerEvents = Cypress.$('.react-flow__node:first').css('pointer-events'); + expect(pointerEvents).to.equal('all'); + }); + + it('allows edge clicks when enabled', () => { const pointerEvents = Cypress.$('.react-flow__edge:first').css('pointer-events'); expect(pointerEvents).to.equal('all'); }); diff --git a/example/src/Interaction/index.js b/example/src/Interaction/index.js index 8d8da70b..81129be6 100644 --- a/example/src/Interaction/index.js +++ b/example/src/Interaction/index.js @@ -28,6 +28,7 @@ const InteractionFlow = () => { const [zoomOnDoubleClick, setZoomOnDoubleClick] = useState(false); const [paneMoveable, setPaneMoveable] = useState(true); const [captureZoomClick, setCaptureZoomClick] = useState(false); + const [captureElementClick, setCaptureElementClick] = useState(false); return ( { zoomOnScroll={zoomOnScroll} zoomOnDoubleClick={zoomOnDoubleClick} onConnect={onConnect} - onElementClick={onElementClick} + onElementClick={captureElementClick ? onElementClick : undefined} onNodeDragStart={onNodeDragStart} onNodeDragStop={onNodeDragStop} paneMoveable={paneMoveable} @@ -133,6 +134,18 @@ const InteractionFlow = () => { /> +
+ +
);