refactor(PageComponent): refactor setTabsState calls to use tabId instead of flow.id to improve semantics and avoid bugs

This commit is contained in:
anovazzi1 2023-06-15 18:12:55 -03:00
commit 3d2632aa5f

View file

@ -45,7 +45,8 @@ export default function Page({ flow }: { flow: FlowType }) {
setLastCopiedSelection, setLastCopiedSelection,
tabsState, tabsState,
saveFlow, saveFlow,
setTabsState setTabsState,
tabId
} = useContext(TabsContext); } = useContext(TabsContext);
const { types, reactFlowInstance, setReactFlowInstance, templates } = const { types, reactFlowInstance, setReactFlowInstance, templates } =
useContext(typesContext); useContext(typesContext);
@ -148,24 +149,30 @@ export default function Page({ flow }: { flow: FlowType }) {
return newX; return newX;
}); });
setTabsState((prev) => { setTabsState((prev) => {
let newState = _.cloneDeep(prev); return {
newState[flow.id].isPending = true; ...prev,
return newState; [tabId]: {
}) isPending: true,
}, },
[onEdgesChange, setNodes,setTabsState,flow.id] };
});
},
[onEdgesChange, setNodes,setTabsState,tabId]
); );
const onNodesChangeMod = useCallback( const onNodesChangeMod = useCallback(
(s: NodeChange[]) => { (s: NodeChange[]) => {
onNodesChange(s); onNodesChange(s);
setTabsState((prev) => { setTabsState((prev) => {
let newState = _.cloneDeep(prev); return {
newState[flow.id].isPending = true; ...prev,
return newState; [tabId]: {
}) isPending: true,
}, },
[onNodesChange,setTabsState,flow.id] };
});
},
[onNodesChange,setTabsState,tabId]
); );
const onConnect = useCallback( const onConnect = useCallback(