refactor(utils): use utils from system package

This commit is contained in:
moklick
2024-01-15 17:44:29 +01:00
parent e23cf8256a
commit f32a92ecca
5 changed files with 18 additions and 11 deletions
@@ -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'>;
+10 -4
View File
@@ -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];
} }
-3
View File
@@ -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';
+1 -1
View File
@@ -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';