@@ -19,7 +19,8 @@ import IndexDetails from "./IndexDetails";
19
19
20
20
export default function TableInfo ( { data } ) {
21
21
const [ indexActiveKey , setIndexActiveKey ] = useState ( "" ) ;
22
- const { deleteTable, updateTable, updateField } = useTables ( ) ;
22
+ const { deleteTable, updateTable, updateField, setRelationships } =
23
+ useTables ( ) ;
23
24
const { setUndoStack, setRedoStack } = useUndoRedo ( ) ;
24
25
const [ editField , setEditField ] = useState ( { } ) ;
25
26
const draggingElementIndex = useRef ( ) ;
@@ -79,6 +80,28 @@ export default function TableInfo({ data }) {
79
80
80
81
updateField ( data . id , index , { ...b , id : index } ) ;
81
82
updateField ( data . id , j , { ...a , id : j } ) ;
83
+
84
+ setRelationships ( ( prev ) =>
85
+ prev . map ( ( e ) => {
86
+ if ( e . startTableId === data . id ) {
87
+ if ( e . startFieldId === index ) {
88
+ return { ...e , startFieldId : j } ;
89
+ }
90
+ if ( e . startFieldId === j ) {
91
+ return { ...e , startFieldId : index } ;
92
+ }
93
+ }
94
+ if ( e . endTableId === data . id ) {
95
+ if ( e . endFieldId === index ) {
96
+ return { ...e , endFieldId : j } ;
97
+ }
98
+ if ( e . endFieldId === j ) {
99
+ return { ...e , endFieldId : index } ;
100
+ }
101
+ }
102
+ return e ;
103
+ } ) ,
104
+ ) ;
82
105
} }
83
106
onDragEnd = { ( e ) => {
84
107
e . preventDefault ( ) ;
0 commit comments