refactor(hooks): rename useUpdateNodeData to useSetNodeData and adjust api
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
import { useStore } from '$lib/store';
|
||||
import type { Node } from '$lib/types';
|
||||
|
||||
export function useSetNodeData<NodeType extends Node = Node>() {
|
||||
const { nodes } = useStore();
|
||||
|
||||
const setNodeData = (
|
||||
id: string,
|
||||
dataUpdate: object | ((node: NodeType) => object),
|
||||
options: { replace: boolean } = { replace: true }
|
||||
) => {
|
||||
nodes.update((nds) =>
|
||||
nds.map((node) => {
|
||||
if (node.id === id) {
|
||||
const nextData =
|
||||
typeof dataUpdate === 'function' ? dataUpdate(node as NodeType) : dataUpdate;
|
||||
return options.replace
|
||||
? { ...node, data: nextData }
|
||||
: { ...node, data: { ...node.data, ...nextData } };
|
||||
}
|
||||
|
||||
return node;
|
||||
})
|
||||
);
|
||||
};
|
||||
|
||||
return setNodeData;
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
import { useStore } from '$lib/store';
|
||||
|
||||
export function useUpdateNodeData(): (id: string, data: unknown) => void {
|
||||
const { nodes } = useStore();
|
||||
|
||||
const updateNodeData = (id: string, data: unknown) => {
|
||||
nodes.update((nds) =>
|
||||
nds.map((node) => {
|
||||
if (node.id === id) {
|
||||
return {
|
||||
...node,
|
||||
data
|
||||
};
|
||||
}
|
||||
|
||||
return node;
|
||||
})
|
||||
);
|
||||
};
|
||||
|
||||
return updateNodeData;
|
||||
}
|
||||
@@ -29,7 +29,7 @@ export * from '$lib/hooks/useConnection';
|
||||
export * from '$lib/hooks/useNodesEdges';
|
||||
export * from '$lib/hooks/useHandleConnections';
|
||||
export * from '$lib/hooks/useNodesData';
|
||||
export * from '$lib/hooks/useUpdateNodeData';
|
||||
export * from '$lib/hooks/useSetNodeData';
|
||||
|
||||
// types
|
||||
export type {
|
||||
|
||||
Reference in New Issue
Block a user