@ant-design/pro-flow
Version:
A React based Flow components
40 lines (39 loc) • 1.83 kB
JavaScript
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;