File tree Expand file tree Collapse file tree 1 file changed +18
-2
lines changed
packages/tree-base/src/js Expand file tree Collapse file tree 1 file changed +18
-2
lines changed Original file line number Diff line number Diff line change 10861086 */
10871087 createTree : function ( grid , renderableRows ) {
10881088 var currentLevel = - 1 ,
1089+ parentsCache = { } ,
10891090 parents = [ ] ,
10901091 currentState ;
10911092
11161117 }
11171118 }
11181119
1120+ // If row header as parent exists in parentsCache
1121+ if (
1122+ typeof row . treeLevel !== 'undefined' &&
1123+ row . treeLevel !== null &&
1124+ row . treeLevel >= 0 &&
1125+ parentsCache . hasOwnProperty ( row . uid )
1126+ ) {
1127+ parents . push ( parentsCache [ row . uid ] ) ;
1128+ }
1129+
11191130 // aggregate if this is a leaf node
11201131 if ( ( typeof ( row . treeLevel ) === 'undefined' || row . treeLevel === null || row . treeLevel < 0 ) && row . visible ) {
11211132 service . aggregate ( grid , row , parents ) ;
11221133 }
11231134
11241135 // add this node to the tree
1125- service . addOrUseNode ( grid , row , parents , aggregations ) ;
1136+ if ( ! parentsCache . hasOwnProperty ( row . uid ) ) {
1137+ service . addOrUseNode ( grid , row , parents , aggregations ) ;
1138+ }
11261139
11271140 if ( typeof ( row . treeLevel ) !== 'undefined' && row . treeLevel !== null && row . treeLevel >= 0 ) {
1128- parents . push ( row ) ;
1141+ if ( ! parentsCache . hasOwnProperty ( row . uid ) ) {
1142+ parentsCache [ row . uid ] = row ;
1143+ parents . push ( row ) ;
1144+ }
11291145 currentLevel ++ ;
11301146 currentState = service . setCurrentState ( parents ) ;
11311147 }
You can’t perform that action at this time.
0 commit comments