Skip to content

Commit

Permalink
feat: 迭代开发
Browse files Browse the repository at this point in the history
  • Loading branch information
lhbxs committed Jan 16, 2025
1 parent 8b0cb62 commit 8fff21e
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 3 deletions.
2 changes: 1 addition & 1 deletion packages/x-flow/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@xrenders/xflow",
"version": "1.0.4-beta.1",
"version": "1.0.4-beta.2",
"description": "一款功能强大、易用灵活的流程编辑器框架,帮助你轻松构建复杂的工作流和流程产品",
"keywords": [
"xflow"
Expand Down
22 changes: 21 additions & 1 deletion packages/x-flow/src/hooks/useFlow.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,27 +25,45 @@ export const useFlow = () => {
setCenter,
fitBounds,
toObject,
getNodes,
getNodes: _getNodes,
getEdges,
screenToFlowPosition,
flowToScreenPosition
} = useReactFlow();

const { record } = useTemporalStore();

const getNodes = useMemoizedFn(() => {
const nodes = _getNodes();
const result = nodes.map(item => {
const { data, ...rest } = item;
const { _nodeType, ...restData } = data;
return {
...rest,
data: restData
}
});
return result;
});

const setNodes = useMemoizedFn((nodes: FlowNode[], isTransform = false) => {
storeApi.getState().setNodes(nodes, isTransform);
});

const addNodes = useMemoizedFn((nodes: FlowNode[], isTransform = false) => {
record(() => {
storeApi.getState().addNodes(nodes, isTransform);
})
});

const setEdges = useMemoizedFn((edges: Edge[]) => {
storeApi.getState().setEdges(edges);
});

const addEdges = useMemoizedFn((edges: Edge[]) => {
storeApi.getState().addEdges(edges);
});

const copyNode = useMemoizedFn((nodeId) => {
const copyNodes = generateCopyNodes(
storeApi.getState().nodes.find((node) => node.id === nodeId),
Expand All @@ -54,6 +72,7 @@ export const useFlow = () => {
copyNodes,
});
});

const pasteNode = useMemoizedFn((nodeId: string, data: any) => {
if (storeApi.getState().copyNodes.length > 0) {
const newEdges = {
Expand All @@ -73,6 +92,7 @@ export const useFlow = () => {
message.warning('请先复制节点!')
}
});

const deleteNode = useMemoizedFn((nodeId) => {
record(() => {
storeApi.setState({
Expand Down
2 changes: 1 addition & 1 deletion packages/x-flow/src/models/store.ts
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ const createStore = (initProps?: Partial<FlowProps>) => {
set({ edges });
},
getEdges: () => {
return get().nodes;
return get().edges;
},
addNodes: (payload, isTransform = true) => {
const newNodes = get().nodes.concat(isTransform ? transformNodes(Array.isArray(payload) ? payload : [payload]) : payload);
Expand Down

0 comments on commit 8fff21e

Please sign in to comment.