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");
|
track("Component Connection Deleted");
|
||||||
}
|
}
|
||||||
if (lastSelection.nodes?.length) {
|
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));
|
deleteNode(lastSelection.nodes.map((node) => node.id));
|
||||||
deleteEdge(lastSelection.edges.map((edge) => edge.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);
|
return get().nodes.find((node) => node.id === id);
|
||||||
},
|
},
|
||||||
deleteNode: (nodeId) => {
|
deleteNode: (nodeId) => {
|
||||||
get().setNodes(
|
const { filteredNodes, deletedNode } = get().nodes.reduce<{
|
||||||
get().nodes.filter((node) =>
|
filteredNodes: Node[];
|
||||||
|
deletedNode: Node | null;
|
||||||
|
}>(
|
||||||
|
(acc, node) => {
|
||||||
|
const isMatch =
|
||||||
typeof nodeId === "string"
|
typeof nodeId === "string"
|
||||||
? node.id !== nodeId
|
? node.id === nodeId
|
||||||
: !nodeId.includes(node.id),
|
: 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) => {
|
deleteEdge: (edgeId) => {
|
||||||
get().setEdges(
|
get().setEdges(
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue