remove tables from canvas

This commit is contained in:
Guy Ben-Aharon
2024-08-14 16:21:01 +03:00
parent 34d8437593
commit c33cb5b177
3 changed files with 56 additions and 8 deletions

View File

@@ -70,6 +70,26 @@ export const ChartDBProvider: React.FC<React.PropsWithChildren> = ({
);
};
const updateTablesState = (
updateFn: (tables: DBTable[]) => PartialExcept<DBTable, 'id'>[]
) => {
setTables((prevTables) => {
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 updateField = (
tableId: string,
fieldId: string,
@@ -261,6 +281,7 @@ export const ChartDBProvider: React.FC<React.PropsWithChildren> = ({
removeTable,
updateTable,
updateTables,
updateTablesState,
updateField,
removeField,
createField,