@@ -140,20 +140,13 @@ export function generateStableIdFromData(nodeDataArray: any[] = [], linkDataArra
140140 return `box_${ hex } ` ;
141141}
142142
143- /**
144- * Normalize a node key to ensure it's always a positive string
145- */
146143export function normalizeNodeKey ( key : any ) : string {
147144 if ( typeof key === 'number' && key < 0 ) {
148145 // Convert negative keys to positive unique strings
149146 return `node_${ Math . abs ( key ) } ${ Date . now ( ) } ` ;
150147 }
151148 return String ( key ) ;
152149}
153-
154- /**
155- * Normalize all keys in nodeDataArray and linkDataArray
156- */
157150export function normalizeModelData ( nodeDataArray : any [ ] , linkDataArray : any [ ] ) : {
158151 nodeDataArray : any [ ] ;
159152 linkDataArray : any [ ] ;
@@ -193,12 +186,6 @@ export function normalizeModelData(nodeDataArray: any[], linkDataArray: any[]):
193186 } ;
194187}
195188
196- /**
197- * Export all pages in RML-compatible format
198- * - preserves existing page.boxologyId / page.boxologyLabel if present
199- * - otherwise creates a deterministic id from topology
200- * - mutates pages objects to persist boxologyId/boxologyLabel so subsequent saves/export reuse them
201- */
202189export const generateMultiPageRMLExport = ( pages : any [ ] ) : any => {
203190 const boxologies = pages . map ( ( page , idx ) => {
204191 // Normalize keys first
@@ -209,17 +196,15 @@ export const generateMultiPageRMLExport = (pages: any[]): any => {
209196
210197 const patterns = buildDesignPatternsFromModelData ( nodeDataArray , linkDataArray ) ;
211198
212- // determine stable id: prefer explicit boxologyId, then page.id, then stable hash of topology
213- const id = page . boxologyId ?? page . id ?? generateStableIdFromData ( nodeDataArray , linkDataArray ) ;
199+ const id = page . boxologyId ?? generateStableIdFromData ( nodeDataArray , linkDataArray ) ;
214200 if ( ! page . boxologyId ) page . boxologyId = id ;
215201
216- // determine label: prefer explicit boxologyLabel, then page.name, then existing label or default
217- const label = page . boxologyLabel ?? page . name ?? page . label ?? `Diagram ${ idx + 1 } ` ;
218- if ( ! page . boxologyLabel ) page . boxologyLabel = label ;
202+ const label = page . name || page . boxologyLabel || `Diagram ${ idx + 1 } ` ;
203+ page . boxologyLabel = label ; // Update to current name
219204
220205 return {
221- id,
222- label,
206+ id,
207+ label,
223208 DesignPattern : patterns
224209 } ;
225210 } ) ;
0 commit comments