UNPKG

@ant-design/pro-flow

Version:
40 lines (39 loc) 1.83 kB
import { useImperativeHandle } from 'react'; import { createStoreUpdater } from 'zustand-utils'; import { useFlowEditor } from "../../hooks/useFlowEditor"; import { useStoreApi } from "../../store"; var CommonStoreUpdater = function CommonStoreUpdater(_ref) { var onFlattenNodesChange = _ref.onFlattenNodesChange, onNodesChange = _ref.onNodesChange, beforeNodesChange = _ref.beforeNodesChange, afterNodesChange = _ref.afterNodesChange, onEdgesChange = _ref.onEdgesChange, beforeEdgesChange = _ref.beforeEdgesChange, afterEdgesChange = _ref.afterEdgesChange, onFlattenEdgesChange = _ref.onFlattenEdgesChange, onNodesTreeChange = _ref.onNodesTreeChange, editorRef = _ref.editorRef, useStateUpdater = _ref.useStateUpdater, flattenNodes = _ref.flattenNodes, flattenEdges = _ref.flattenEdges; var useStoreUpdater = createStoreUpdater(useStoreApi()); var useCustomUpdater = useStateUpdater !== null && useStateUpdater !== void 0 ? useStateUpdater : useStoreUpdater; useCustomUpdater('flattenNodes', flattenNodes); useCustomUpdater('flattenEdges', flattenEdges); useStoreUpdater('onFlattenNodesChange', onFlattenNodesChange); useStoreUpdater('onFlattenEdgesChange', onFlattenEdgesChange); useStoreUpdater('onNodesChange', onNodesChange); useStoreUpdater('beforeNodesChange', beforeNodesChange); useStoreUpdater('afterNodesChange', afterNodesChange); useStoreUpdater('onEdgesChange', onEdgesChange); useStoreUpdater('beforeEdgesChange', beforeEdgesChange); useStoreUpdater('afterEdgesChange', afterEdgesChange); useStoreUpdater('onNodesTreeChange', onNodesTreeChange); // 将 store 传递到外部 var instance = useFlowEditor(); useImperativeHandle(editorRef, function () { return instance; }); return null; }; export default CommonStoreUpdater;