mirror of
https://github.com/chartdb/chartdb.git
synced 2026-04-29 22:29:45 -05:00
fix(core): fix update diagram id (#477)
This commit is contained in:
@@ -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 (
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user