Revert "Merge pull request #1003 from TheUnderScorer/main"
This reverts commit106f1f0b61, reversing changes made to9206e65522.
This commit is contained in:
@@ -11,7 +11,6 @@ import {
|
|||||||
SetConnectionId,
|
SetConnectionId,
|
||||||
Connection,
|
Connection,
|
||||||
} from '../../types';
|
} from '../../types';
|
||||||
import { getInitialDocument } from '../../utils/document';
|
|
||||||
|
|
||||||
type ValidConnectionFunc = (connection: Connection) => boolean;
|
type ValidConnectionFunc = (connection: Connection) => boolean;
|
||||||
export type SetSourceIdFunc = (params: SetConnectionId) => void;
|
export type SetSourceIdFunc = (params: SetConnectionId) => void;
|
||||||
@@ -32,8 +31,7 @@ function checkElementBelowIsValid(
|
|||||||
isTarget: boolean,
|
isTarget: boolean,
|
||||||
nodeId: ElementId,
|
nodeId: ElementId,
|
||||||
handleId: ElementId | null,
|
handleId: ElementId | null,
|
||||||
isValidConnection: ValidConnectionFunc,
|
isValidConnection: ValidConnectionFunc
|
||||||
document: Document | ShadowRoot
|
|
||||||
) {
|
) {
|
||||||
const elementBelow = document.elementFromPoint(event.clientX, event.clientY);
|
const elementBelow = document.elementFromPoint(event.clientX, event.clientY);
|
||||||
const elementBelowIsTarget = elementBelow?.classList.contains('target') || false;
|
const elementBelowIsTarget = elementBelow?.classList.contains('target') || false;
|
||||||
@@ -97,13 +95,8 @@ export function onMouseDown(
|
|||||||
connectionMode: ConnectionMode,
|
connectionMode: ConnectionMode,
|
||||||
onConnectStart?: OnConnectStartFunc,
|
onConnectStart?: OnConnectStartFunc,
|
||||||
onConnectStop?: OnConnectStopFunc,
|
onConnectStop?: OnConnectStopFunc,
|
||||||
onConnectEnd?: OnConnectEndFunc,
|
onConnectEnd?: OnConnectEndFunc
|
||||||
document: Document | ShadowRoot | undefined = getInitialDocument()
|
|
||||||
): void {
|
): void {
|
||||||
if(!document) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
const reactFlowNode = (event.target as Element).closest('.react-flow');
|
const reactFlowNode = (event.target as Element).closest('.react-flow');
|
||||||
const elementBelow = document.elementFromPoint(event.clientX, event.clientY);
|
const elementBelow = document.elementFromPoint(event.clientX, event.clientY);
|
||||||
const elementBelowIsTarget = elementBelow?.classList.contains('target');
|
const elementBelowIsTarget = elementBelow?.classList.contains('target');
|
||||||
@@ -126,7 +119,7 @@ export function onMouseDown(
|
|||||||
setConnectionNodeId({ connectionNodeId: nodeId, connectionHandleId: handleId, connectionHandleType: handleType });
|
setConnectionNodeId({ connectionNodeId: nodeId, connectionHandleId: handleId, connectionHandleType: handleType });
|
||||||
onConnectStart?.(event, { nodeId, handleId, handleType });
|
onConnectStart?.(event, { nodeId, handleId, handleType });
|
||||||
|
|
||||||
const onMouseMove = (event: MouseEvent) => {
|
function onMouseMove(event: MouseEvent) {
|
||||||
setPosition({
|
setPosition({
|
||||||
x: event.clientX - containerBounds.left,
|
x: event.clientX - containerBounds.left,
|
||||||
y: event.clientY - containerBounds.top,
|
y: event.clientY - containerBounds.top,
|
||||||
@@ -138,8 +131,7 @@ export function onMouseDown(
|
|||||||
isTarget,
|
isTarget,
|
||||||
nodeId,
|
nodeId,
|
||||||
handleId,
|
handleId,
|
||||||
isValidConnection,
|
isValidConnection
|
||||||
document
|
|
||||||
);
|
);
|
||||||
|
|
||||||
if (!isHoveringHandle) {
|
if (!isHoveringHandle) {
|
||||||
@@ -153,17 +145,16 @@ export function onMouseDown(
|
|||||||
elementBelow.classList.add('react-flow__handle-connecting');
|
elementBelow.classList.add('react-flow__handle-connecting');
|
||||||
elementBelow.classList.toggle('react-flow__handle-valid', isValid);
|
elementBelow.classList.toggle('react-flow__handle-valid', isValid);
|
||||||
}
|
}
|
||||||
};
|
}
|
||||||
|
|
||||||
const onMouseUp = (event: MouseEvent) => {
|
function onMouseUp(event: MouseEvent) {
|
||||||
const { connection, isValid } = checkElementBelowIsValid(
|
const { connection, isValid } = checkElementBelowIsValid(
|
||||||
event,
|
event,
|
||||||
connectionMode,
|
connectionMode,
|
||||||
isTarget,
|
isTarget,
|
||||||
nodeId,
|
nodeId,
|
||||||
handleId,
|
handleId,
|
||||||
isValidConnection,
|
isValidConnection
|
||||||
document
|
|
||||||
);
|
);
|
||||||
|
|
||||||
onConnectStop?.(event);
|
onConnectStop?.(event);
|
||||||
@@ -177,10 +168,10 @@ export function onMouseDown(
|
|||||||
resetRecentHandle(recentHoveredHandle);
|
resetRecentHandle(recentHoveredHandle);
|
||||||
setConnectionNodeId({ connectionNodeId: null, connectionHandleId: null, connectionHandleType: null });
|
setConnectionNodeId({ connectionNodeId: null, connectionHandleId: null, connectionHandleType: null });
|
||||||
|
|
||||||
document.removeEventListener('mousemove', onMouseMove as EventListenerOrEventListenerObject);
|
document.removeEventListener('mousemove', onMouseMove);
|
||||||
document.removeEventListener('mouseup', onMouseUp as EventListenerOrEventListenerObject);
|
document.removeEventListener('mouseup', onMouseUp);
|
||||||
};
|
}
|
||||||
|
|
||||||
document.addEventListener('mousemove', onMouseMove as EventListenerOrEventListenerObject);
|
document.addEventListener('mousemove', onMouseMove);
|
||||||
document.addEventListener('mouseup', onMouseUp as EventListenerOrEventListenerObject);
|
document.addEventListener('mouseup', onMouseUp);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,7 +28,6 @@ const Handle: FC<HandleProps & Omit<HTMLAttributes<HTMLDivElement>, 'id'>> = ({
|
|||||||
const onConnectStop = useStoreState((state) => state.onConnectStop);
|
const onConnectStop = useStoreState((state) => state.onConnectStop);
|
||||||
const onConnectEnd = useStoreState((state) => state.onConnectEnd);
|
const onConnectEnd = useStoreState((state) => state.onConnectEnd);
|
||||||
const connectionMode = useStoreState((state) => state.connectionMode);
|
const connectionMode = useStoreState((state) => state.connectionMode);
|
||||||
const document = useStoreState(state => state.document);
|
|
||||||
const handleId = id || null;
|
const handleId = id || null;
|
||||||
const isTarget = type === 'target';
|
const isTarget = type === 'target';
|
||||||
|
|
||||||
@@ -54,8 +53,7 @@ const Handle: FC<HandleProps & Omit<HTMLAttributes<HTMLDivElement>, 'id'>> = ({
|
|||||||
connectionMode,
|
connectionMode,
|
||||||
onConnectStart,
|
onConnectStart,
|
||||||
onConnectStop,
|
onConnectStop,
|
||||||
onConnectEnd,
|
onConnectEnd
|
||||||
document
|
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
[
|
[
|
||||||
@@ -70,7 +68,6 @@ const Handle: FC<HandleProps & Omit<HTMLAttributes<HTMLDivElement>, 'id'>> = ({
|
|||||||
onConnectStart,
|
onConnectStart,
|
||||||
onConnectStop,
|
onConnectStop,
|
||||||
onConnectEnd,
|
onConnectEnd,
|
||||||
document
|
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
@@ -91,7 +91,6 @@ const GraphView = ({
|
|||||||
onEdgeMouseMove,
|
onEdgeMouseMove,
|
||||||
onEdgeMouseLeave,
|
onEdgeMouseLeave,
|
||||||
edgeUpdaterRadius,
|
edgeUpdaterRadius,
|
||||||
document,
|
|
||||||
}: GraphViewProps) => {
|
}: GraphViewProps) => {
|
||||||
const isInitialized = useRef<boolean>(false);
|
const isInitialized = useRef<boolean>(false);
|
||||||
const setOnConnect = useStoreActions((actions) => actions.setOnConnect);
|
const setOnConnect = useStoreActions((actions) => actions.setOnConnect);
|
||||||
@@ -108,7 +107,6 @@ const GraphView = ({
|
|||||||
const setTranslateExtent = useStoreActions((actions) => actions.setTranslateExtent);
|
const setTranslateExtent = useStoreActions((actions) => actions.setTranslateExtent);
|
||||||
const setNodeExtent = useStoreActions((actions) => actions.setNodeExtent);
|
const setNodeExtent = useStoreActions((actions) => actions.setNodeExtent);
|
||||||
const setConnectionMode = useStoreActions((actions) => actions.setConnectionMode);
|
const setConnectionMode = useStoreActions((actions) => actions.setConnectionMode);
|
||||||
const setDocument = useStoreActions(actions => actions.setDocument);
|
|
||||||
const currentStore = useStore();
|
const currentStore = useStore();
|
||||||
const { zoomIn, zoomOut, zoomTo, transform, fitView, initialized } = useZoomPanHelper();
|
const { zoomIn, zoomOut, zoomTo, transform, fitView, initialized } = useZoomPanHelper();
|
||||||
|
|
||||||
@@ -131,10 +129,6 @@ const GraphView = ({
|
|||||||
}
|
}
|
||||||
}, [onLoad, zoomIn, zoomOut, zoomTo, transform, fitView, initialized]);
|
}, [onLoad, zoomIn, zoomOut, zoomTo, transform, fitView, initialized]);
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
setDocument(document);
|
|
||||||
}, [document])
|
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (onConnect) {
|
if (onConnect) {
|
||||||
setOnConnect(onConnect);
|
setOnConnect(onConnect);
|
||||||
|
|||||||
@@ -35,7 +35,6 @@ import {
|
|||||||
|
|
||||||
import '../../style.css';
|
import '../../style.css';
|
||||||
import '../../theme-default.css';
|
import '../../theme-default.css';
|
||||||
import { getInitialDocument } from '../../utils/document';
|
|
||||||
|
|
||||||
const defaultNodeTypes = {
|
const defaultNodeTypes = {
|
||||||
input: InputNode,
|
input: InputNode,
|
||||||
@@ -116,7 +115,6 @@ export interface ReactFlowProps extends Omit<HTMLAttributes<HTMLDivElement>, 'on
|
|||||||
onEdgeMouseMove?: (event: MouseEvent, edge: Edge) => void;
|
onEdgeMouseMove?: (event: MouseEvent, edge: Edge) => void;
|
||||||
onEdgeMouseLeave?: (event: MouseEvent, edge: Edge) => void;
|
onEdgeMouseLeave?: (event: MouseEvent, edge: Edge) => void;
|
||||||
edgeUpdaterRadius?: number;
|
edgeUpdaterRadius?: number;
|
||||||
document?: Document | ShadowRoot;
|
|
||||||
nodeTypesId?: string;
|
nodeTypesId?: string;
|
||||||
edgeTypesId?: string;
|
edgeTypesId?: string;
|
||||||
}
|
}
|
||||||
@@ -191,7 +189,6 @@ const ReactFlow = ({
|
|||||||
edgeUpdaterRadius = 10,
|
edgeUpdaterRadius = 10,
|
||||||
nodeTypesId = '1',
|
nodeTypesId = '1',
|
||||||
edgeTypesId = '1',
|
edgeTypesId = '1',
|
||||||
document = getInitialDocument(),
|
|
||||||
...rest
|
...rest
|
||||||
}: ReactFlowProps) => {
|
}: ReactFlowProps) => {
|
||||||
const nodeTypesParsed = useMemo(() => createNodeTypes(nodeTypes), [nodeTypesId]);
|
const nodeTypesParsed = useMemo(() => createNodeTypes(nodeTypes), [nodeTypesId]);
|
||||||
@@ -265,7 +262,6 @@ const ReactFlow = ({
|
|||||||
onEdgeMouseMove={onEdgeMouseMove}
|
onEdgeMouseMove={onEdgeMouseMove}
|
||||||
onEdgeMouseLeave={onEdgeMouseLeave}
|
onEdgeMouseLeave={onEdgeMouseLeave}
|
||||||
edgeUpdaterRadius={edgeUpdaterRadius}
|
edgeUpdaterRadius={edgeUpdaterRadius}
|
||||||
document={document}
|
|
||||||
/>
|
/>
|
||||||
<ElementUpdater elements={elements} />
|
<ElementUpdater elements={elements} />
|
||||||
{onSelectionChange && <SelectionListener onSelectionChange={onSelectionChange} />}
|
{onSelectionChange && <SelectionListener onSelectionChange={onSelectionChange} />}
|
||||||
|
|||||||
@@ -42,11 +42,6 @@ export const setOnConnectEnd = (onConnectEnd: OnConnectEndFunc) =>
|
|||||||
onConnectEnd,
|
onConnectEnd,
|
||||||
});
|
});
|
||||||
|
|
||||||
export const setDocument = (document: Document | ShadowRoot) =>
|
|
||||||
createAction(constants.SET_DOCUMENT, {
|
|
||||||
document
|
|
||||||
})
|
|
||||||
|
|
||||||
export const setElements = (elements: Elements) => createAction(constants.SET_ELEMENTS, elements);
|
export const setElements = (elements: Elements) => createAction(constants.SET_ELEMENTS, elements);
|
||||||
|
|
||||||
export const updateNodeDimensions = (updates: NodeDimensionUpdate[]) =>
|
export const updateNodeDimensions = (updates: NodeDimensionUpdate[]) =>
|
||||||
@@ -165,5 +160,4 @@ export type ReactFlowAction = ReturnType<
|
|||||||
| typeof setMultiSelectionActive
|
| typeof setMultiSelectionActive
|
||||||
| typeof setConnectionMode
|
| typeof setConnectionMode
|
||||||
| typeof setNodeExtent
|
| typeof setNodeExtent
|
||||||
| typeof setDocument
|
|
||||||
>;
|
>;
|
||||||
|
|||||||
@@ -31,4 +31,3 @@ export const SET_ELEMENTS_SELECTABLE = 'SET_ELEMENTS_SELECTABLE';
|
|||||||
export const SET_MULTI_SELECTION_ACTIVE = 'SET_MULTI_SELECTION_ACTIVE';
|
export const SET_MULTI_SELECTION_ACTIVE = 'SET_MULTI_SELECTION_ACTIVE';
|
||||||
export const SET_CONNECTION_MODE = 'SET_CONNECTION_MODE';
|
export const SET_CONNECTION_MODE = 'SET_CONNECTION_MODE';
|
||||||
export const SET_NODE_EXTENT = 'SET_NODE_EXTENT';
|
export const SET_NODE_EXTENT = 'SET_NODE_EXTENT';
|
||||||
export const SET_DOCUMENT = 'SET_DOCUMENT';
|
|
||||||
|
|||||||
@@ -1,10 +1,8 @@
|
|||||||
import configureStore from './configure-store';
|
import configureStore from './configure-store';
|
||||||
|
|
||||||
import { ReactFlowState, ConnectionMode } from '../types';
|
import { ReactFlowState, ConnectionMode } from '../types';
|
||||||
import { getInitialDocument } from '../utils/document';
|
|
||||||
|
|
||||||
export const initialState: ReactFlowState = {
|
export const initialState: ReactFlowState = {
|
||||||
document: getInitialDocument(),
|
|
||||||
width: 0,
|
width: 0,
|
||||||
height: 0,
|
height: 0,
|
||||||
transform: [0, 0, 1],
|
transform: [0, 0, 1],
|
||||||
|
|||||||
@@ -334,7 +334,6 @@ export default function reactFlowReducer(state = initialState, action: ReactFlow
|
|||||||
case constants.SET_ELEMENTS_SELECTABLE:
|
case constants.SET_ELEMENTS_SELECTABLE:
|
||||||
case constants.SET_MULTI_SELECTION_ACTIVE:
|
case constants.SET_MULTI_SELECTION_ACTIVE:
|
||||||
case constants.SET_CONNECTION_MODE:
|
case constants.SET_CONNECTION_MODE:
|
||||||
case constants.SET_DOCUMENT:
|
|
||||||
return { ...state, ...action.payload };
|
return { ...state, ...action.payload };
|
||||||
default:
|
default:
|
||||||
return state;
|
return state;
|
||||||
|
|||||||
@@ -430,8 +430,6 @@ export interface ReactFlowState {
|
|||||||
onConnectStart?: OnConnectStartFunc;
|
onConnectStart?: OnConnectStartFunc;
|
||||||
onConnectStop?: OnConnectStopFunc;
|
onConnectStop?: OnConnectStopFunc;
|
||||||
onConnectEnd?: OnConnectEndFunc;
|
onConnectEnd?: OnConnectEndFunc;
|
||||||
|
|
||||||
document?: Document | ShadowRoot;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export type UpdateNodeInternals = (nodeId: ElementId) => void;
|
export type UpdateNodeInternals = (nodeId: ElementId) => void;
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
export const getInitialDocument = () => typeof window === 'undefined' ? undefined : window.document
|
|
||||||
Reference in New Issue
Block a user