@@ -58,22 +58,22 @@ export class PivotRowDimensionsStrategy implements IPivotDimensionStrategy {
5858 . processHierarchy ( hierarchyFields , newData [ i ] ?? [ ] , pivotKeys , 0 ) ;
5959 PivotUtil . processSiblingProperties ( newData [ i ] , siblingData , pivotKeys ) ;
6060
61- PivotUtil . processSubGroups ( row , prevRowDims . slice ( 0 ) , siblingData , pivotKeys ) ;
62- if ( siblingData . length > 1 ) {
63- newData [ i ] [ row . memberName + '_' + pivotKeys . records ] = siblingData ;
64- } else {
65- newData . splice ( i , 1 , ...siblingData ) ;
66- }
61+ PivotUtil . processSubGroups ( row , prevRowDims . slice ( 0 ) , siblingData , pivotKeys ) ;
62+ if ( PivotUtil . getDimensionDepth ( prevDim ) > PivotUtil . getDimensionDepth ( row ) && siblingData . length > 1 ) {
63+ newData [ i ] [ row . memberName + '_' + pivotKeys . records ] = siblingData ;
64+ } else {
65+ newData . splice ( i , 1 , ...siblingData ) ;
6766 i += siblingData . length - 1 ;
6867 }
69- data = newData ;
70- prevDim = row ;
71- prevRowDims . push ( row ) ;
7268 }
69+ data = newData ;
70+ prevDim = row ;
71+ prevRowDims . push ( row ) ;
7372 }
74- return data ;
7573 }
74+ return data ;
7675 }
76+ }
7777
7878export class PivotColumnDimensionsStrategy implements IPivotDimensionStrategy {
7979 private static _instance : PivotRowDimensionsStrategy = null ;
@@ -176,7 +176,7 @@ export class DimensionValuesFilteringStrategy extends FilteringStrategy {
176176 }
177177
178178 protected getFieldValue ( rec : any , fieldName : string , isDate : boolean = false , isTime : boolean = false ,
179- grid ?: PivotGridType ) : any {
179+ grid ?: PivotGridType ) : any {
180180 const config = grid . pivotConfiguration ;
181181 const allDimensions = config . rows . concat ( config . columns ) . concat ( config . filters ) . filter ( x => x !== null ) ;
182182 const enabledDimensions = allDimensions . filter ( x => x && x . enabled ) ;
@@ -192,13 +192,13 @@ export class DefaultPivotSortingStrategy extends DefaultSortingStrategy {
192192 return this . _instance || ( this . _instance = new this ( ) ) ;
193193 }
194194 public sort ( data : any [ ] ,
195- fieldName : string ,
196- dir : SortingDirection ,
197- ignoreCase : boolean ,
198- valueResolver : ( obj : any , key : string , isDate ?: boolean ) => any ,
199- isDate ?: boolean ,
200- isTime ?: boolean ,
201- grid ?: PivotGridType ) {
195+ fieldName : string ,
196+ dir : SortingDirection ,
197+ ignoreCase : boolean ,
198+ valueResolver : ( obj : any , key : string , isDate ?: boolean ) => any ,
199+ isDate ?: boolean ,
200+ isTime ?: boolean ,
201+ grid ?: PivotGridType ) {
202202 const key = fieldName ;
203203 const config = grid . pivotConfiguration ;
204204 const allDimensions = config . rows . concat ( config . columns ) . concat ( config . filters ) . filter ( x => x !== null ) ;
0 commit comments