refactor: tracking updates for deleted nodes (#4027)
* tracking updates for deleted nodes * [autofix.ci] apply automated fixes --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
This commit is contained in:
parent
65153374ed
commit
4a745aae5d
2 changed files with 28 additions and 8 deletions
|
|
@ -345,7 +345,9 @@ export default function Page({ view }: { view?: boolean }): JSX.Element {
|
|||
track("Component Connection Deleted");
|
||||
}
|
||||
if (lastSelection.nodes?.length) {
|
||||
track("Component Deleted");
|
||||
lastSelection.nodes.forEach((n) => {
|
||||
track("Component Deleted", { componentType: n.data.type });
|
||||
});
|
||||
}
|
||||
deleteNode(lastSelection.nodes.map((node) => node.id));
|
||||
deleteEdge(lastSelection.edges.map((edge) => edge.id));
|
||||
|
|
|
|||
|
|
@ -269,14 +269,32 @@ const useFlowStore = create<FlowStoreType>((set, get) => ({
|
|||
return get().nodes.find((node) => node.id === id);
|
||||
},
|
||||
deleteNode: (nodeId) => {
|
||||
get().setNodes(
|
||||
get().nodes.filter((node) =>
|
||||
typeof nodeId === "string"
|
||||
? node.id !== nodeId
|
||||
: !nodeId.includes(node.id),
|
||||
),
|
||||
const { filteredNodes, deletedNode } = get().nodes.reduce<{
|
||||
filteredNodes: Node[];
|
||||
deletedNode: Node | null;
|
||||
}>(
|
||||
(acc, node) => {
|
||||
const isMatch =
|
||||
typeof nodeId === "string"
|
||||
? node.id === nodeId
|
||||
: nodeId.includes(node.id);
|
||||
|
||||
if (isMatch) {
|
||||
acc.deletedNode = node;
|
||||
} else {
|
||||
acc.filteredNodes.push(node);
|
||||
}
|
||||
|
||||
return acc;
|
||||
},
|
||||
{ filteredNodes: [], deletedNode: null },
|
||||
);
|
||||
track("Component Deleted", { nodeId });
|
||||
|
||||
get().setNodes(filteredNodes);
|
||||
|
||||
if (deletedNode) {
|
||||
track("Component Deleted", { componentType: deletedNode.data.type });
|
||||
}
|
||||
},
|
||||
deleteEdge: (edgeId) => {
|
||||
get().setEdges(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue