參考類型

SvelteFlowStore

SvelteFlowStore 類型是內部 Svelte Flow Store 的結構,您可以透過 useStore hook 存取。

內部的 Svelte Flow store 應該只用於進階使用案例。不建議直接使用。

export type SvelteFlowStore = {
  flowId: Writable<string | null>;
  nodes: NodesStore;
  nodeLookup: Readable<NodeLookup>;
  edgeLookup: Readable<EdgeLookup>;
  visibleNodes: Readable<Node[]>;
  edges: EdgesStore;
  visibleEdges: Readable<EdgeLayouted[]>;
  connectionLookup: Readable<ConnectionLookup>;
  height: Writable<number>;
  width: Writable<number>;
  minZoom: Writable<number>;
  maxZoom: Writable<number>;
  nodeOrigin: Writable<NodeOrigin>;
  nodeDragThreshold: Writable<number>;
  nodeExtent: Writable<CoordinateExtent>;
  translateExtent: Writable<CoordinateExtent>;
  autoPanOnNodeDrag: Writable<boolean>;
  autoPanOnConnect: Writable<boolean>;
  fitViewOnInit: Writable<boolean>;
  fitViewOnInitDone: Writable<boolean>;
  fitViewOptions: Writable<FitViewOptions>;
  panZoom: Writable<PanZoomInstance | null>;
  snapGrid: Writable<SnapGrid | null>;
  dragging: Writable<boolean>;
  selectionRect: Writable<SelectionRect | null>;
  selectionKeyPressed: Writable<boolean>;
  multiselectionKeyPressed: Writable<boolean>;
  deleteKeyPressed: Writable<boolean>;
  panActivationKeyPressed: Writable<boolean>;
  zoomActivationKeyPressed: Writable<boolean>;
  selectionRectMode: Writable<string | null>;
  selectionMode: Writable<SelectionMode>;
  nodeTypes: Writable<NodeTypes>;
  edgeTypes: Writable<EdgeTypes>;
  viewport: Writable<Viewport>;
  connectionMode: Writable<ConnectionMode>;
  domNode: Writable<HTMLDivElement | null>;
  connection: Readable<ConnectionProps>;
  connectionLineType: Writable<ConnectionLineType>;
  connectionRadius: Writable<number>;
  isValidConnection: Writable<IsValidConnection>;
  nodesDraggable: Writable<boolean>;
  nodesConnectable: Writable<boolean>;
  elementsSelectable: Writable<boolean>;
  selectNodesOnDrag: Writable<boolean>;
  markers: Readable<MarkerProps[]>;
  defaultMarkerColor: Writable<string>;
  lib: Readable<string>;
  onlyRenderVisibleElements: Writable<boolean>;
  onerror: Writable<OnError>;
  ondelete: Writable<OnDelete>;
  onedgecreate: Writable<OnEdgeCreate>;
  onconnect: Writable<OnConnect>;
  onconnectstart: Writable<OnConnectStart>;
  onconnectend: Writable<OnConnectEnd>;
  onbeforedelete: Writable<OnBeforeDelete>;
 
  setNodeTypes: (nodeTypes: NodeTypes) => void;
  setEdgeTypes: (edgeTypes: EdgeTypes) => void;
  addEdge: (edge: Edge | Connection) => void;
  zoomIn: (options?: ViewportHelperFunctionOptions) => void;
  zoomOut: (options?: ViewportHelperFunctionOptions) => void;
  setMinZoom: (minZoom: number) => void;
  setMaxZoom: (maxZoom: number) => void;
  setTranslateExtent: (extent: CoordinateExtent) => void;
  fitView: (options?: FitViewOptions) => boolean;
  updateNodePositions: UpdateNodePositions;
  updateNodeDimensions: (updates: Map<string, NodeDimensionUpdate>) => void;
  unselectNodesAndEdges: (params?: { nodes?: Node[]; edges?: Edge[] }) => void;
  addSelectedNodes: (ids: string[]) => void;
  addSelectedEdges: (ids: string[]) => void;
  handleNodeSelection: (id: string) => void;
  panBy: (delta: XYPosition) => boolean;
  updateConnection: UpdateConnection;
  cancelConnection: () => void;
  reset(): void;
};

欄位

#flowId
可寫入<string | null>
#nodes
NodesStore
#nodeLookup
可讀取<NodeLookup>
#edgeLookup
可讀取<EdgeLookup>
#visibleNodes
可讀取<Node[]>
#edges
EdgesStore
#visibleEdges
可讀取<EdgeLayouted[]>
#connectionLookup
可讀取<ConnectionLookup>
#height
可寫入<number>
#width
可寫入<number>
#minZoom
可寫入<number>
#maxZoom
可寫入<number>
#nodeOrigin
可寫入<NodeOrigin>
#nodeDragThreshold
可寫入<number>
#nodeExtent
可寫入<CoordinateExtent>
#translateExtent
可寫入<CoordinateExtent>
#autoPanOnNodeDrag
可寫入<boolean>
#autoPanOnConnect
可寫入<boolean>
#fitViewOnInit
可寫入<boolean>
#fitViewOnInitDone
可寫入<boolean>
#fitViewOptions
可寫入<FitViewOptions>
#panZoom
可寫入<PanZoomInstance | null>
#snapGrid
可寫入<SnapGrid | null>
#dragging
可寫入<boolean>
#selectionRect
可寫入<SelectionRect | null>
#selectionKeyPressed
可寫入<boolean>
#multiselectionKeyPressed
可寫入<boolean>
#deleteKeyPressed
可寫入<boolean>
#panActivationKeyPressed
可寫入<boolean>
#zoomActivationKeyPressed
可寫入<boolean>
#selectionRectMode
可寫入<string | null>
#selectionMode
可寫入<選取模式>
#nodeTypes
可寫入<節點類型>
#edgeTypes
可寫入<邊緣類型>
#viewport
可寫入<Viewport>
#connectionMode
可寫入<連線模式>
#domNode
可寫入<HTMLDivElement | null>
#connection
可讀取<連線屬性>
#connectionLineType
可寫入<ConnectionLineType>
#connectionRadius
可寫入<number>
#isValidConnection
可寫入<有效的連線>
#nodesDraggable
可寫入<boolean>
#nodesConnectable
可寫入<boolean>
#elementsSelectable
可寫入<boolean>
#selectNodesOnDrag
可寫入<boolean>
#markers
可讀取<標記屬性[]>
#defaultMarkerColor
可寫入<string>
#lib
可讀取<string>
#onlyRenderVisibleElements
可寫入<boolean>
#onerror
可寫入<發生錯誤時>
#ondelete
可寫入<刪除時>
#onedgecreate
可寫入<建立邊緣時>
#onconnect
可寫入<連線時>
#onconnectstart
可寫入<開始連線時>
#onconnectend
可寫入<結束連線時>
#onbeforedelete
可寫入<刪除前>
#setNodeTypes
可寫入<(節點類型: 節點類型) => void>
#setEdgeTypes
可寫入<(邊緣類型: 邊緣類型) => void>
#addEdge
可寫入<(邊緣: Edge | Connection) => void>
#zoomIn
可寫入<(選項?: ViewportHelperFunctionOptions) => void>
#zoomOut
可寫入<(選項?: ViewportHelperFunctionOptions) => void>
#setMinZoom
可寫入<(最小縮放: number) => void>
#setMaxZoom
可寫入<(最大縮放: number) => void>
#setTranslateExtent
可寫入<(範圍: CoordinateExtent) => void>
#fitView
可寫入<(選項?: FitViewOptions) => boolean>
#updateNodePositions
可寫入<更新節點位置>
#updateNodeDimensions
可寫入<(更新: Map<string, 節點尺寸更新>) => void>
#unselectNodesAndEdges
可寫入<(參數?: { 節點?: Node[]; 邊緣?: Edge[] }) => void>
#addSelectedNodes
可寫入<(ID: string[]) => void>
#addSelectedEdges
可寫入<(ID: string[]) => void>
#handleNodeSelection
可寫入<(id: string) => void>
#panBy
可寫入<(delta: XYPosition) => boolean>
#updateConnection
可寫入<UpdateConnection>
#cancelConnection
可寫入<() => void>
#reset
可寫入<() => void>