cleanup
This commit is contained in:
@@ -1,72 +1,15 @@
|
|||||||
import { pointToRendererPoint, getHostForElement, calcAutoPan, getEventPosition, getHandlePosition } from '../utils';
|
import { pointToRendererPoint, getHostForElement, calcAutoPan, getEventPosition, getHandlePosition } from '../utils';
|
||||||
import {
|
import {
|
||||||
ConnectionMode,
|
ConnectionMode,
|
||||||
type OnConnect,
|
|
||||||
type OnConnectStart,
|
|
||||||
type HandleType,
|
|
||||||
type Connection,
|
|
||||||
type PanBy,
|
|
||||||
type Transform,
|
|
||||||
type Handle,
|
|
||||||
type OnConnectEnd,
|
|
||||||
type UpdateConnection,
|
|
||||||
type IsValidConnection,
|
|
||||||
NodeLookup,
|
|
||||||
Position,
|
Position,
|
||||||
oppositePosition,
|
oppositePosition,
|
||||||
ConnectionInProgress,
|
ConnectionInProgress,
|
||||||
|
type Handle,
|
||||||
|
type Connection,
|
||||||
} from '../types';
|
} from '../types';
|
||||||
|
|
||||||
import { getClosestHandle, isConnectionValid, getHandleLookup, getHandleType } from './utils';
|
import { getClosestHandle, isConnectionValid, getHandleLookup, getHandleType } from './utils';
|
||||||
|
import { IsValidParams, OnPointerDownParams, Result, XYHandleInstance } from './types';
|
||||||
export type OnPointerDownParams = {
|
|
||||||
autoPanOnConnect: boolean;
|
|
||||||
connectionMode: ConnectionMode;
|
|
||||||
connectionRadius: number;
|
|
||||||
domNode: HTMLDivElement | null;
|
|
||||||
handleId: string | null;
|
|
||||||
nodeId: string;
|
|
||||||
isTarget: boolean;
|
|
||||||
nodeLookup: NodeLookup;
|
|
||||||
lib: string;
|
|
||||||
flowId: string | null;
|
|
||||||
edgeUpdaterType?: HandleType;
|
|
||||||
updateConnection: UpdateConnection;
|
|
||||||
panBy: PanBy;
|
|
||||||
cancelConnection: () => void;
|
|
||||||
onConnectStart?: OnConnectStart;
|
|
||||||
onConnect?: OnConnect;
|
|
||||||
onConnectEnd?: OnConnectEnd;
|
|
||||||
isValidConnection?: IsValidConnection;
|
|
||||||
onReconnectEnd?: (evt: MouseEvent | TouchEvent) => void;
|
|
||||||
getTransform: () => Transform;
|
|
||||||
getFromHandle: () => Handle | null;
|
|
||||||
};
|
|
||||||
|
|
||||||
export type IsValidParams = {
|
|
||||||
handle: Pick<Handle, 'nodeId' | 'id' | 'type'> | null;
|
|
||||||
connectionMode: ConnectionMode;
|
|
||||||
fromNodeId: string;
|
|
||||||
fromHandleId: string | null;
|
|
||||||
fromType: HandleType;
|
|
||||||
isValidConnection?: IsValidConnection;
|
|
||||||
doc: Document | ShadowRoot;
|
|
||||||
lib: string;
|
|
||||||
flowId: string | null;
|
|
||||||
handleLookup?: Handle[];
|
|
||||||
};
|
|
||||||
|
|
||||||
export type XYHandleInstance = {
|
|
||||||
onPointerDown: (event: MouseEvent | TouchEvent, params: OnPointerDownParams) => void;
|
|
||||||
isValid: (event: MouseEvent | TouchEvent, params: IsValidParams) => Result;
|
|
||||||
};
|
|
||||||
|
|
||||||
type Result = {
|
|
||||||
handleDomNode: Element | null;
|
|
||||||
isValid: boolean;
|
|
||||||
connection: Connection | null;
|
|
||||||
toHandle: Handle | null;
|
|
||||||
};
|
|
||||||
|
|
||||||
const alwaysValid = () => true;
|
const alwaysValid = () => true;
|
||||||
|
|
||||||
@@ -203,14 +146,9 @@ function onPointerDown(
|
|||||||
isValid = isConnectionValid(!!closestHandle, result.isValid);
|
isValid = isConnectionValid(!!closestHandle, result.isValid);
|
||||||
|
|
||||||
const newConnection: ConnectionInProgress = {
|
const newConnection: ConnectionInProgress = {
|
||||||
inProgress: true,
|
// from stays the same
|
||||||
|
...previousConnection,
|
||||||
isValid,
|
isValid,
|
||||||
|
|
||||||
from,
|
|
||||||
fromHandle,
|
|
||||||
fromPosition: fromHandle.position,
|
|
||||||
fromNode: fromNodeInternal.internals.userNode,
|
|
||||||
|
|
||||||
to:
|
to:
|
||||||
closestHandle && isValid
|
closestHandle && isValid
|
||||||
? { x: closestHandle.x, y: closestHandle.y }
|
? { x: closestHandle.x, y: closestHandle.y }
|
||||||
|
|||||||
@@ -0,0 +1,63 @@
|
|||||||
|
import {
|
||||||
|
ConnectionMode,
|
||||||
|
type Connection,
|
||||||
|
type OnConnect,
|
||||||
|
type OnConnectStart,
|
||||||
|
type HandleType,
|
||||||
|
type PanBy,
|
||||||
|
type Transform,
|
||||||
|
type Handle,
|
||||||
|
type OnConnectEnd,
|
||||||
|
type UpdateConnection,
|
||||||
|
type IsValidConnection,
|
||||||
|
NodeLookup,
|
||||||
|
} from '../types';
|
||||||
|
|
||||||
|
export type OnPointerDownParams = {
|
||||||
|
autoPanOnConnect: boolean;
|
||||||
|
connectionMode: ConnectionMode;
|
||||||
|
connectionRadius: number;
|
||||||
|
domNode: HTMLDivElement | null;
|
||||||
|
handleId: string | null;
|
||||||
|
nodeId: string;
|
||||||
|
isTarget: boolean;
|
||||||
|
nodeLookup: NodeLookup;
|
||||||
|
lib: string;
|
||||||
|
flowId: string | null;
|
||||||
|
edgeUpdaterType?: HandleType;
|
||||||
|
updateConnection: UpdateConnection;
|
||||||
|
panBy: PanBy;
|
||||||
|
cancelConnection: () => void;
|
||||||
|
onConnectStart?: OnConnectStart;
|
||||||
|
onConnect?: OnConnect;
|
||||||
|
onConnectEnd?: OnConnectEnd;
|
||||||
|
isValidConnection?: IsValidConnection;
|
||||||
|
onReconnectEnd?: (evt: MouseEvent | TouchEvent) => void;
|
||||||
|
getTransform: () => Transform;
|
||||||
|
getFromHandle: () => Handle | null;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type IsValidParams = {
|
||||||
|
handle: Pick<Handle, 'nodeId' | 'id' | 'type'> | null;
|
||||||
|
connectionMode: ConnectionMode;
|
||||||
|
fromNodeId: string;
|
||||||
|
fromHandleId: string | null;
|
||||||
|
fromType: HandleType;
|
||||||
|
isValidConnection?: IsValidConnection;
|
||||||
|
doc: Document | ShadowRoot;
|
||||||
|
lib: string;
|
||||||
|
flowId: string | null;
|
||||||
|
handleLookup?: Handle[];
|
||||||
|
};
|
||||||
|
|
||||||
|
export type XYHandleInstance = {
|
||||||
|
onPointerDown: (event: MouseEvent | TouchEvent, params: OnPointerDownParams) => void;
|
||||||
|
isValid: (event: MouseEvent | TouchEvent, params: IsValidParams) => Result;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type Result = {
|
||||||
|
handleDomNode: Element | null;
|
||||||
|
isValid: boolean;
|
||||||
|
connection: Connection | null;
|
||||||
|
toHandle: Handle | null;
|
||||||
|
};
|
||||||
Reference in New Issue
Block a user