+ {
+ (isSwitchingDatabase || isLoading || !(syncStatus.currentStatus as any).options.hasSynced) &&
+ }
@@ -191,31 +240,37 @@ const DatabasePage: React.FC = () => {
defaultEdgeOptions={{
type: 'relationship-edge',
}}
- // onlyRenderVisibleElements
+
panOnDrag={true}
zoomOnScroll={true}
nodeTypes={nodeTypes}
edgeTypes={edgeTypes}
snapGrid={[20, 20]}
+ minZoom={0.10}
onConnectStart={onConnectStart}
onConnectEnd={onConnectEnd}
-
>
-
+ className="shadow-none">
+
+ />
+
{
isIconOnly
color="danger"
className="size-8 p-1 "
- onPressEnd={puls}
- >
+ onPressEnd={puls}>
@@ -248,17 +302,17 @@ const DatabasePage: React.FC = () => {
}
@@ -268,4 +322,8 @@ const DatabasePage: React.FC = () => {
}
-export default DatabasePage;
\ No newline at end of file
+export default DatabasePage;
+
+
+
+
diff --git a/src/pages/database/db-controller/db-controller.tsx b/src/pages/database/db-controller/db-controller.tsx
index 6092fd7..22738e5 100644
--- a/src/pages/database/db-controller/db-controller.tsx
+++ b/src/pages/database/db-controller/db-controller.tsx
@@ -3,6 +3,7 @@ import React, { useState } from "react"
import { Outlet } from "react-router-dom"
import { ResizableBox as ResizableBoxRaw } from 'react-resizable';
import 'react-resizable/css/styles.css';
+import { GripVertical } from "lucide-react";
const ResizableBox = ResizableBoxRaw as unknown as React.FC
;
@@ -16,17 +17,17 @@ const DBController: React.FC = ({ }) => {
const onResize = (event: any, params: any) => {
setWidth(params.size.width);
}
-
-
+
+
return (
+
+
}
>
diff --git a/src/pages/database/db-controller/relationship-controller/relationship-accordion-item/relationship-accordion-body.tsx b/src/pages/database/db-controller/relationship-controller/relationship-accordion-item/relationship-accordion-body.tsx
index a2a19cc..954e45c 100644
--- a/src/pages/database/db-controller/relationship-controller/relationship-accordion-item/relationship-accordion-body.tsx
+++ b/src/pages/database/db-controller/relationship-controller/relationship-accordion-item/relationship-accordion-body.tsx
@@ -2,7 +2,7 @@
import { Tooltip, TooltipContent, TooltipTrigger } from "@/components/tooltip/tooltip";
import { Cardinality, RelationshipInsertType, RelationshipType } from "@/lib/schemas/relationship-schema";
import { useDatabaseOperations } from "@/providers/database-provider/database-provider";
-
+
import { Button, Select, SelectItem, SharedSelection } from "@heroui/react";
import { ChevronsLeftRightEllipsis, FileMinus2, FileOutput, Trash2 } from "lucide-react";
import { useEffect, useState } from "react";
@@ -19,17 +19,19 @@ const RelationshipAccordionBody: React.FC = ({ r
const { t } = useTranslation();
const changeCardinality = (keys: SharedSelection) => {
-
- if (keys.anchorKey != relationship.cardinality) {
+
+
+ if (keys.anchorKey && (keys.anchorKey != relationship.cardinality)) {
editRelationship({
id: relationship.id,
cardinality: keys.anchorKey as Cardinality,
} as RelationshipInsertType);
+ setCardinality(keys as any);
+
}
- setCardinality(keys as any);
}
const removeRelationship = () => {
@@ -90,17 +92,18 @@ const RelationshipAccordionBody: React.FC = ({ r
{t('db_controller.cardinality.name')}
}
{
@@ -296,7 +307,11 @@ const FieldSetting: React.FC
= ({ field }) => {
{t("db_controller.field_settings.unsigned")}
-
+
}
{
@@ -305,7 +320,11 @@ const FieldSetting: React.FC