Update setNodes and setEdges functions in flowStore.ts to skip saving changes when skipSave parameter is true

This commit is contained in:
anovazzi1 2024-04-24 17:50:02 -03:00
commit ed10322af2
4 changed files with 14 additions and 13 deletions

View file

@ -63,8 +63,8 @@ export default function CollectionCardComponent({
useEffect(() => { useEffect(() => {
if (currentFlowId && playground) { if (currentFlowId && playground) {
setNodes(currentFlow?.data?.nodes ?? []); setNodes(currentFlow?.data?.nodes ?? [],true);
setEdges(currentFlow?.data?.edges ?? []); setEdges(currentFlow?.data?.edges ?? [],true);
} }
}, [currentFlowId]); }, [currentFlowId]);
@ -364,6 +364,7 @@ export default function CollectionCardComponent({
{button && button} {button && button}
{playground && {playground &&
<Button <Button
key={data.id}
tabIndex={-1} tabIndex={-1}
variant="outline" variant="outline"
size="sm" size="sm"

View file

@ -83,11 +83,11 @@ export default function IOModal({
return updateVerticesOrder(currentFlow!.id, null); return updateVerticesOrder(currentFlow!.id, null);
} }
useEffect(() => { // useEffect(() => {
if (open) { // if (open) {
updateVertices(); // updateVertices();
} // }
}, [open, currentFlow]); // }, [open, currentFlow]);
async function sendMessage(count = 1): Promise<void> { async function sendMessage(count = 1): Promise<void> {
if (isBuilding) return; if (isBuilding) return;

View file

@ -149,7 +149,7 @@ const useFlowStore = create<FlowStoreType>((set, get) => ({
edges: applyEdgeChanges(changes, get().edges), edges: applyEdgeChanges(changes, get().edges),
}); });
}, },
setNodes: (change) => { setNodes: (change,skipSave=false) => {
let newChange = typeof change === "function" ? change(get().nodes) : change; let newChange = typeof change === "function" ? change(get().nodes) : change;
let newEdges = cleanEdges(newChange, get().edges); let newEdges = cleanEdges(newChange, get().edges);
const { inputs, outputs } = getInputsAndOutputs(newChange); const { inputs, outputs } = getInputsAndOutputs(newChange);
@ -164,7 +164,7 @@ const useFlowStore = create<FlowStoreType>((set, get) => ({
}); });
const flowsManager = useFlowsManagerStore.getState(); const flowsManager = useFlowsManagerStore.getState();
if (!get().isBuilding) { if (!get().isBuilding && !skipSave) {
flowsManager.autoSaveCurrentFlow( flowsManager.autoSaveCurrentFlow(
newChange, newChange,
newEdges, newEdges,
@ -172,7 +172,7 @@ const useFlowStore = create<FlowStoreType>((set, get) => ({
); );
} }
}, },
setEdges: (change) => { setEdges: (change,skipSave=false) => {
let newChange = typeof change === "function" ? change(get().edges) : change; let newChange = typeof change === "function" ? change(get().edges) : change;
set({ set({
edges: newChange, edges: newChange,
@ -180,7 +180,7 @@ const useFlowStore = create<FlowStoreType>((set, get) => ({
}); });
const flowsManager = useFlowsManagerStore.getState(); const flowsManager = useFlowsManagerStore.getState();
if (!get().isBuilding) { if (!get().isBuilding && !skipSave) {
flowsManager.autoSaveCurrentFlow( flowsManager.autoSaveCurrentFlow(
get().nodes, get().nodes,
newChange, newChange,

View file

@ -74,8 +74,8 @@ export type FlowStoreType = {
edges: Edge[]; edges: Edge[];
onNodesChange: OnNodesChange; onNodesChange: OnNodesChange;
onEdgesChange: OnEdgesChange; onEdgesChange: OnEdgesChange;
setNodes: (update: Node[] | ((oldState: Node[]) => Node[])) => void; setNodes: (update: Node[] | ((oldState: Node[]) => Node[]),skipSave?:boolean) => void;
setEdges: (update: Edge[] | ((oldState: Edge[]) => Edge[])) => void; setEdges: (update: Edge[] | ((oldState: Edge[]) => Edge[]),skipSave?:boolean) => void;
setNode: (id: string, update: Node | ((oldState: Node) => Node)) => void; setNode: (id: string, update: Node | ((oldState: Node) => Node)) => void;
getNode: (id: string) => Node | undefined; getNode: (id: string) => Node | undefined;
deleteNode: (nodeId: string | Array<string>) => void; deleteNode: (nodeId: string | Array<string>) => void;