@@ -33,10 +33,7 @@ export const VsumTabs: React.FC<VsumTabsProps> = ({ openVsums, activeVsumId, onA
3333 const edit = edits [ id ] ;
3434 const details = detailsById [ id ] ;
3535 if ( ! edit || ! details ) { map [ id ] = false ; return ; }
36- const detailsSourceIds = ( details . metaModels || [ ] )
37- . map ( m => ( typeof m . sourceId === 'number' ? m . sourceId : undefined ) )
38- . filter ( ( v ) : v is number => typeof v === 'number' ) ;
39- map [ id ] = ! areIdArraysEqual ( edit . metaModelSourceIds , detailsSourceIds ) ;
36+ map [ id ] = ! areIdArraysEqual ( edit . metaModelSourceIds ) ;
4037 } ) ;
4138 return map ;
4239 } , [ openVsums , edits , detailsById ] ) ;
@@ -48,13 +45,6 @@ export const VsumTabs: React.FC<VsumTabsProps> = ({ openVsums, activeVsumId, onA
4845 try {
4946 const res = await apiService . getVsumDetails ( id ) ;
5047 setDetailsById ( prev => ( { ...prev , [ id ] : res . data } ) ) ;
51- const seededSourceIds = ( res . data . metaModels || [ ] )
52- . map ( m => ( typeof m . sourceId === 'number' ? m . sourceId : undefined ) )
53- . filter ( ( v ) : v is number => typeof v === 'number' ) ;
54- setEdits ( prev => ( {
55- ...prev ,
56- [ id ] : { metaModelSourceIds : seededSourceIds }
57- } ) ) ;
5848 } catch ( e ) {
5949 setError ( e instanceof Error ? e . message : 'Failed to load VSUM details' ) ;
6050 }
@@ -72,9 +62,7 @@ export const VsumTabs: React.FC<VsumTabsProps> = ({ openVsums, activeVsumId, onA
7262 const edit = edits [ id ] ;
7363
7464 // fallback from details using sourceId
75- const fallbackSourceIds = ( detailsById [ id ] ?. metaModels || [ ] )
76- . map ( m => ( typeof m . sourceId === 'number' ? m . sourceId : undefined ) )
77- . filter ( ( v ) : v is number => typeof v === 'number' ) ;
65+ const fallbackSourceIds = ( detailsById [ id ] ?. metaModels ) ;
7866
7967 const metaModelSourceIds =
8068 override ?. metaModelSourceIds ?? edit ?. metaModelSourceIds ?? fallbackSourceIds ;
@@ -96,16 +84,6 @@ export const VsumTabs: React.FC<VsumTabsProps> = ({ openVsums, activeVsumId, onA
9684 const res = await apiService . getVsumDetails ( id ) ;
9785 setDetailsById ( prev => ( { ...prev , [ id ] : res . data } ) ) ;
9886
99- // sync local edits with server (by sourceId again)
100- const serverSourceIds = ( res . data . metaModels || [ ] )
101- . map ( m => ( typeof m . sourceId === 'number' ? m . sourceId : undefined ) )
102- . filter ( ( v ) : v is number => typeof v === 'number' ) ;
103-
104- setEdits ( prev => ( {
105- ...prev ,
106- [ id ] : { metaModelSourceIds : serverSourceIds } ,
107- } ) ) ;
108-
10987 window . dispatchEvent ( new CustomEvent ( 'vitruv.refreshVsums' ) ) ;
11088 } catch ( e ) {
11189 setError ( e instanceof Error ? e . message : 'Failed to save VSUM' ) ;
@@ -133,11 +111,7 @@ export const VsumTabs: React.FC<VsumTabsProps> = ({ openVsums, activeVsumId, onA
133111
134112 if ( typeof sourceId !== 'number' ) return ;
135113
136- const current = edits [ activeVsumId ] || {
137- metaModelSourceIds : ( detailsById [ activeVsumId ! ] ?. metaModels || [ ] )
138- . map ( m => ( typeof m . sourceId === 'number' ? m . sourceId : undefined ) )
139- . filter ( ( v ) : v is number => typeof v === 'number' )
140- } ;
114+ const current = edits [ activeVsumId ] ;
141115
142116 if ( current . metaModelSourceIds . includes ( sourceId ) ) return ;
143117
0 commit comments