fix(core): fix update diagram id (#477)

This commit is contained in:
Guy Ben-Aharon
2024-12-11 00:14:19 +02:00
committed by GitHub
parent 5f9c74a9ad
commit 348f80568e
3 changed files with 27 additions and 3 deletions
+2 -2
View File
@@ -25,7 +25,7 @@ export const DiagramIcon = React.forwardRef<
>(({ databaseType, databaseEdition, className, imgClassName }, ref) =>
databaseEdition ? (
<Tooltip>
<TooltipTrigger className={cn('mr-1', className)} ref={ref}>
<TooltipTrigger className={cn('mr-1', className)} ref={ref} asChild>
<img
src={databaseEditionToImageMap[databaseEdition]}
className={cn('h-5 max-w-fit rounded-full', imgClassName)}
@@ -38,7 +38,7 @@ export const DiagramIcon = React.forwardRef<
</Tooltip>
) : (
<Tooltip>
<TooltipTrigger className={cn('mr-2', className)} ref={ref}>
<TooltipTrigger className={cn('mr-2', className)} ref={ref} asChild>
<img
src={databaseSecondaryLogoMap[databaseType]}
className={cn('h-5 max-w-fit', imgClassName)}
@@ -282,6 +282,23 @@ export const StorageProvider: React.FC<React.PropsWithChildren> = ({
attributes: Partial<Diagram>;
}) => {
await db.diagrams.update(id, attributes);
if (attributes.id) {
await Promise.all([
db.db_tables
.where('diagramId')
.equals(id)
.modify({ diagramId: attributes.id }),
db.db_relationships
.where('diagramId')
.equals(id)
.modify({ diagramId: attributes.id }),
db.db_dependencies
.where('diagramId')
.equals(id)
.modify({ diagramId: attributes.id }),
]);
}
};
const deleteDiagram: StorageContext['deleteDiagram'] = async (
+8 -1
View File
@@ -93,7 +93,14 @@ const EditorPageComponent: React.FC = () => {
resetUndoStack();
const diagram = await loadDiagram(diagramId);
if (!diagram) {
navigate('/');
if (currentDiagram?.id) {
await updateConfig({
defaultDiagramId: currentDiagram.id,
});
navigate(`/diagrams/${currentDiagram.id}`);
} else {
navigate('/');
}
}
setInitialDiagram(diagram);
hideLoader();