@@ -32,33 +32,34 @@ function generateElements(graphs, profile) {
32
32
const idStr = stringifyId ( id ) ;
33
33
const idType = typeof id === 'object' ? 'wildcard' : 'component' ;
34
34
35
- const parent = idStr ;
36
- const child = `${ idStr } .${ property } ` ;
35
+ // dagre layout has problems with eg `width` property - so prepend an X
36
+ const parentId = idStr ;
37
+ const childId = `${ parentId } .X${ property } ` ;
37
38
38
- if ( ! consumed . includes ( parent ) ) {
39
- consumed . push ( parent ) ;
39
+ if ( ! consumed . includes ( parentId ) ) {
40
+ consumed . push ( parentId ) ;
40
41
elements . push ( {
41
42
data : {
42
- id : idStr ,
43
+ id : parentId ,
43
44
label : idStr ,
44
45
type : idType
45
46
}
46
47
} ) ;
47
48
}
48
49
49
- if ( ! consumed . includes ( child ) ) {
50
- consumed . push ( child ) ;
50
+ if ( ! consumed . includes ( childId ) ) {
51
+ consumed . push ( childId ) ;
51
52
elements . push ( {
52
53
data : {
53
- id : child ,
54
+ id : childId ,
54
55
label : property ,
55
- parent : parent ,
56
+ parent : parentId ,
56
57
type : 'property'
57
58
}
58
59
} ) ;
59
60
}
60
61
61
- return child ;
62
+ return childId ;
62
63
}
63
64
64
65
function recordEdge ( source , target , type ) {
@@ -91,18 +92,18 @@ function generateElements(graphs, profile) {
91
92
} ) ;
92
93
93
94
callback . outputs . map ( ( { id, property} ) => {
94
- const node = recordNode ( id , property ) ;
95
- recordEdge ( cb , node , 'output' ) ;
95
+ const nodeId = recordNode ( id , property ) ;
96
+ recordEdge ( cb , nodeId , 'output' ) ;
96
97
} ) ;
97
98
98
99
callback . inputs . map ( ( { id, property} ) => {
99
- const node = recordNode ( id , property ) ;
100
- recordEdge ( node , cb , 'input' ) ;
100
+ const nodeId = recordNode ( id , property ) ;
101
+ recordEdge ( nodeId , cb , 'input' ) ;
101
102
} ) ;
102
103
103
104
callback . state . map ( ( { id, property} ) => {
104
- const node = recordNode ( id , property ) ;
105
- recordEdge ( node , cb , 'state' ) ;
105
+ const nodeId = recordNode ( id , property ) ;
106
+ recordEdge ( nodeId , cb , 'state' ) ;
106
107
} ) ;
107
108
} ) ;
108
109
0 commit comments