fix(userselection): handle shift key + mouse up handling

This commit is contained in:
moklick
2020-06-05 01:04:40 +02:00
parent 5a3adab3a0
commit 4ae4f2e213
2 changed files with 8 additions and 9 deletions
+5 -7
View File
@@ -53,16 +53,16 @@ export default memo(({ isInteractive }: UserSelectionProps) => {
return null;
}
function onMouseDown(evt: React.MouseEvent): void {
const onMouseDown = (evt: React.MouseEvent): void => {
const mousePos = getMousePosition(evt);
if (!mousePos) {
return;
}
setUserSelection(mousePos);
}
};
function onMouseMove(evt: React.MouseEvent): void {
const onMouseMove = (evt: React.MouseEvent): void => {
const mousePos = getMousePosition(evt);
if (!mousePos) {
@@ -70,11 +70,9 @@ export default memo(({ isInteractive }: UserSelectionProps) => {
}
updateUserSelection(mousePos);
}
};
function onMouseUp() {
unsetUserSelection();
}
const onMouseUp = () => unsetUserSelection();
return (
<div
+3 -2
View File
@@ -80,7 +80,7 @@ const GraphView = memo(
const height = useStoreState((s) => s.height);
const d3Initialised = useStoreState((s) => s.d3Initialised);
const nodesSelectionActive = useStoreState((s) => s.nodesSelectionActive);
const selectionActive = useStoreState((s) => s.selectionActive);
const updateSize = useStoreActions((actions) => actions.updateSize);
const setNodesSelection = useStoreActions((actions) => actions.setNodesSelection);
const setOnConnect = useStoreActions((a) => a.setOnConnect);
@@ -91,6 +91,7 @@ const GraphView = memo(
const selectionKeyPressed = useKeyPress(selectionKeyCode);
const rendererClasses = classnames('react-flow__renderer', { 'is-interactive': isInteractive });
const userSelectionActive = selectionKeyPressed || selectionActive;
const onZoomPaneClick = () => setNodesSelection({ isActive: false });
@@ -188,7 +189,7 @@ const GraphView = memo(
connectionLineType={connectionLineType}
connectionLineStyle={connectionLineStyle}
/>
{selectionKeyPressed && <UserSelection isInteractive={isInteractive} />}
{userSelectionActive && <UserSelection isInteractive={isInteractive} />}
{nodesSelectionActive && <NodesSelection />}
<div className="react-flow__zoompane" onClick={onZoomPaneClick} ref={zoomPane} />
</div>