refactor(utils): use utils from system package
This commit is contained in:
@@ -12,6 +12,7 @@ import {
|
|||||||
XYHandle,
|
XYHandle,
|
||||||
getHostForElement,
|
getHostForElement,
|
||||||
isMouseEvent,
|
isMouseEvent,
|
||||||
|
addEdge,
|
||||||
type HandleProps,
|
type HandleProps,
|
||||||
type Connection,
|
type Connection,
|
||||||
type HandleType,
|
type HandleType,
|
||||||
@@ -19,7 +20,6 @@ import {
|
|||||||
|
|
||||||
import { useStore, useStoreApi } from '../../hooks/useStore';
|
import { useStore, useStoreApi } from '../../hooks/useStore';
|
||||||
import { useNodeId } from '../../contexts/NodeIdContext';
|
import { useNodeId } from '../../contexts/NodeIdContext';
|
||||||
import { addEdge } from '../../utils/';
|
|
||||||
import { type ReactFlowState } from '../../types';
|
import { type ReactFlowState } from '../../types';
|
||||||
|
|
||||||
export type HandleComponentProps = HandleProps & Omit<HTMLAttributes<HTMLDivElement>, 'id'>;
|
export type HandleComponentProps = HandleProps & Omit<HTMLAttributes<HTMLDivElement>, 'id'>;
|
||||||
|
|||||||
@@ -12,9 +12,12 @@ import type { Node, NodeChange, Edge, EdgeChange } from '../types';
|
|||||||
*/
|
*/
|
||||||
export function useNodesState<NodeType extends Node = Node>(
|
export function useNodesState<NodeType extends Node = Node>(
|
||||||
initialNodes: NodeType[]
|
initialNodes: NodeType[]
|
||||||
): [NodeType[], Dispatch<SetStateAction<NodeType[]>>, (changes: NodeChange[]) => void] {
|
): [NodeType[], Dispatch<SetStateAction<NodeType[]>>, (changes: NodeChange<NodeType>[]) => void] {
|
||||||
const [nodes, setNodes] = useState(initialNodes);
|
const [nodes, setNodes] = useState(initialNodes);
|
||||||
const onNodesChange = useCallback((changes: NodeChange[]) => setNodes((nds) => applyNodeChanges(changes, nds)), []);
|
const onNodesChange = useCallback(
|
||||||
|
(changes: NodeChange<NodeType>[]) => setNodes((nds) => applyNodeChanges(changes, nds)),
|
||||||
|
[]
|
||||||
|
);
|
||||||
|
|
||||||
return [nodes, setNodes, onNodesChange];
|
return [nodes, setNodes, onNodesChange];
|
||||||
}
|
}
|
||||||
@@ -28,9 +31,12 @@ export function useNodesState<NodeType extends Node = Node>(
|
|||||||
*/
|
*/
|
||||||
export function useEdgesState<EdgeType extends Edge = Edge>(
|
export function useEdgesState<EdgeType extends Edge = Edge>(
|
||||||
initialEdges: EdgeType[]
|
initialEdges: EdgeType[]
|
||||||
): [EdgeType[], Dispatch<SetStateAction<EdgeType[]>>, (changes: EdgeChange[]) => void] {
|
): [EdgeType[], Dispatch<SetStateAction<EdgeType[]>>, (changes: EdgeChange<EdgeType>[]) => void] {
|
||||||
const [edges, setEdges] = useState(initialEdges);
|
const [edges, setEdges] = useState(initialEdges);
|
||||||
const onEdgesChange = useCallback((changes: EdgeChange[]) => setEdges((eds) => applyEdgeChanges(changes, eds)), []);
|
const onEdgesChange = useCallback(
|
||||||
|
(changes: EdgeChange<EdgeType>[]) => setEdges((eds) => applyEdgeChanges(changes, eds)),
|
||||||
|
[]
|
||||||
|
);
|
||||||
|
|
||||||
return [edges, setEdges, onEdgesChange];
|
return [edges, setEdges, onEdgesChange];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -45,9 +45,6 @@ export namespace Instance {
|
|||||||
area: Rect,
|
area: Rect,
|
||||||
partially?: boolean
|
partially?: boolean
|
||||||
) => boolean;
|
) => boolean;
|
||||||
export type getConnectedEdges = (id: string | (Node | { id: Node['id'] })[]) => Edge[];
|
|
||||||
export type getIncomers = (node: string | Node | { id: Node['id'] }) => Node[];
|
|
||||||
export type getOutgoers = (node: string | Node | { id: Node['id'] }) => Node[];
|
|
||||||
|
|
||||||
export type UpdateNode<NodeType extends Node = Node> = (
|
export type UpdateNode<NodeType extends Node = Node> = (
|
||||||
id: string,
|
id: string,
|
||||||
|
|||||||
@@ -30,10 +30,14 @@
|
|||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { createEventDispatcher } from 'svelte';
|
import { createEventDispatcher } from 'svelte';
|
||||||
import { SelectionMode, getEventPosition, getNodesInside } from '@xyflow/system';
|
import {
|
||||||
|
SelectionMode,
|
||||||
|
getEventPosition,
|
||||||
|
getNodesInside,
|
||||||
|
getConnectedEdges
|
||||||
|
} from '@xyflow/system';
|
||||||
|
|
||||||
import { useStore } from '$lib/store';
|
import { useStore } from '$lib/store';
|
||||||
import { getConnectedEdges } from '$lib/utils';
|
|
||||||
import type { Node, Edge } from '$lib/types';
|
import type { Node, Edge } from '$lib/types';
|
||||||
import type { PaneProps } from './types';
|
import type { PaneProps } from './types';
|
||||||
|
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import {
|
|||||||
getElementsToRemove,
|
getElementsToRemove,
|
||||||
panBy as panBySystem,
|
panBy as panBySystem,
|
||||||
updateNodeDimensions as updateNodeDimensionsSystem,
|
updateNodeDimensions as updateNodeDimensionsSystem,
|
||||||
|
addEdge as addEdgeUtil,
|
||||||
type UpdateNodePositions,
|
type UpdateNodePositions,
|
||||||
type NodeDimensionUpdate,
|
type NodeDimensionUpdate,
|
||||||
type ViewportHelperFunctionOptions,
|
type ViewportHelperFunctionOptions,
|
||||||
@@ -19,7 +20,6 @@ import {
|
|||||||
errorMessages
|
errorMessages
|
||||||
} from '@xyflow/system';
|
} from '@xyflow/system';
|
||||||
|
|
||||||
import { addEdge as addEdgeUtil } from '$lib/utils';
|
|
||||||
import type { EdgeTypes, NodeTypes, Node, Edge, FitViewOptions, ConnectionData } from '$lib/types';
|
import type { EdgeTypes, NodeTypes, Node, Edge, FitViewOptions, ConnectionData } from '$lib/types';
|
||||||
import { initialEdgeTypes, initialNodeTypes, getInitialStore } from './initial-store';
|
import { initialEdgeTypes, initialNodeTypes, getInitialStore } from './initial-store';
|
||||||
import type { SvelteFlowStore } from './types';
|
import type { SvelteFlowStore } from './types';
|
||||||
|
|||||||
Reference in New Issue
Block a user