fix undo delete tables

This commit is contained in:
Guy Ben-Aharon
2024-08-20 22:39:18 +03:00
parent 9f21eed1fc
commit 363f7fd756
2 changed files with 21 additions and 14 deletions

View File

@@ -181,18 +181,27 @@ export const ChartDBProvider: React.FC<React.PropsWithChildren> = ({
) => {
const updateTables = (prevTables: DBTable[]) => {
const updatedTables = updateFn(prevTables);
return prevTables
.map((prevTable) => {
const updatedTable = updatedTables.find(
(t) => t.id === prevTable.id
);
return updatedTable
? { ...prevTable, ...updatedTable }
: prevTable;
})
.filter((prevTable) =>
updatedTables.some((t) => t.id === prevTable.id)
);
const newTables = updatedTables.filter(
(t) =>
!prevTables.some((prevTable) => prevTable.id === t.id)
);
return [
...newTables,
...prevTables
.map((prevTable) => {
const updatedTable = updatedTables.find(
(t) => t.id === prevTable.id
);
return updatedTable
? { ...prevTable, ...updatedTable }
: prevTable;
})
.filter((prevTable) =>
updatedTables.some((t) => t.id === prevTable.id)
),
];
};
const prevTables = [...tables];