♻️ (flowStore.ts): fix updateBuildStatus function to correctly update the flowBuildStatus and improve code structure

This commit is contained in:
ogabrielluiz 2024-06-18 16:02:03 -03:00
commit 1aacc8d116

View file

@ -509,6 +509,7 @@ const useFlowStore = create<FlowStoreType>((set, get) => ({
runId: runId, runId: runId,
verticesToRun: get().verticesBuild!.verticesToRun, verticesToRun: get().verticesBuild!.verticesToRun,
}); });
get().updateBuildStatus(top_level_vertices, BuildStatus.TO_BUILD); get().updateBuildStatus(top_level_vertices, BuildStatus.TO_BUILD);
} }
@ -522,10 +523,12 @@ const useFlowStore = create<FlowStoreType>((set, get) => ({
const verticesIds = get().verticesBuild?.verticesIds; const verticesIds = get().verticesBuild?.verticesIds;
const newFlowBuildStatus = { ...get().flowBuildStatus }; const newFlowBuildStatus = { ...get().flowBuildStatus };
// filter out the vertices that are not status // filter out the vertices that are not status
const verticesToUpdate = verticesIds?.filter( const verticesToUpdate = verticesIds?.filter(
(id) => newFlowBuildStatus[id]?.status !== BuildStatus.BUILT, (id) => newFlowBuildStatus[id]?.status !== BuildStatus.BUILT,
); );
if (verticesToUpdate) { if (verticesToUpdate) {
useFlowStore.getState().updateBuildStatus(verticesToUpdate, status); useFlowStore.getState().updateBuildStatus(verticesToUpdate, status);
} }
@ -625,6 +628,7 @@ const useFlowStore = create<FlowStoreType>((set, get) => ({
}); });
}, },
updateBuildStatus: (nodeIdList: string[], status: BuildStatus) => { updateBuildStatus: (nodeIdList: string[], status: BuildStatus) => {
const newFlowBuildStatus = { ...get().flowBuildStatus }; const newFlowBuildStatus = { ...get().flowBuildStatus };
nodeIdList.forEach((id) => { nodeIdList.forEach((id) => {
newFlowBuildStatus[id] = { newFlowBuildStatus[id] = {
@ -644,6 +648,7 @@ const useFlowStore = create<FlowStoreType>((set, get) => ({
newFlowBuildStatus[id].status = BuildStatus.BUILT; newFlowBuildStatus[id].status = BuildStatus.BUILT;
} }
}); });
set({ flowBuildStatus: newFlowBuildStatus });
}, },
})); }));