@@ -84,7 +84,7 @@ export class IgxPivotHeaderRowComponent extends IgxGridHeaderRowComponent {
8484 row . enabled = false ;
8585 this . grid . pipeTrigger ++ ;
8686 this . grid . filteringService . clearFilter ( row . memberName ) ;
87- this . grid . dimensionsChange . emit ( { dimensions : this . grid . pivotConfiguration . rows , dimensionCollectionType : PivotDimensionType . Row } ) ;
87+ this . grid . dimensionsChange . emit ( { dimensions : this . grid . pivotConfiguration . rows , dimensionCollectionType : PivotDimensionType . Row } ) ;
8888 }
8989
9090 public columnRemoved ( event : IBaseChipEventArgs ) {
@@ -93,23 +93,23 @@ export class IgxPivotHeaderRowComponent extends IgxGridHeaderRowComponent {
9393 this . grid . setupColumns ( ) ;
9494 this . grid . filteringService . clearFilter ( col . memberName ) ;
9595 this . grid . pipeTrigger ++ ;
96- this . grid . dimensionsChange . emit ( { dimensions : this . grid . pivotConfiguration . columns , dimensionCollectionType : PivotDimensionType . Row } ) ;
96+ this . grid . dimensionsChange . emit ( { dimensions : this . grid . pivotConfiguration . columns , dimensionCollectionType : PivotDimensionType . Row } ) ;
9797 }
9898
9999 public valueRemoved ( event : IBaseChipEventArgs ) {
100- const value = this . grid . pivotConfiguration . values . find ( x => x . member === event . owner . id ) ;
100+ const value = this . grid . pivotConfiguration . values . find ( x => x . member === event . owner . id || x . displayName === event . owner . id ) ;
101101 value . enabled = false ;
102102 this . grid . setupColumns ( ) ;
103103 this . grid . pipeTrigger ++ ;
104- this . grid . valuesChange . emit ( { values : this . grid . pivotConfiguration . values } ) ;
104+ this . grid . valuesChange . emit ( { values : this . grid . pivotConfiguration . values } ) ;
105105 }
106106
107107 public filterRemoved ( event : IBaseChipEventArgs ) {
108108 const filter = this . grid . pivotConfiguration . filters . find ( x => x . memberName === event . owner . id ) ;
109109 filter . enabled = false ;
110110 this . grid . filteringService . clearFilter ( filter . memberName ) ;
111111 this . grid . pipeTrigger ++ ;
112- this . grid . dimensionsChange . emit ( { dimensions : this . grid . pivotConfiguration . filters , dimensionCollectionType : PivotDimensionType . Filter } ) ;
112+ this . grid . dimensionsChange . emit ( { dimensions : this . grid . pivotConfiguration . filters , dimensionCollectionType : PivotDimensionType . Filter } ) ;
113113 }
114114
115115 public onFilteringIconPointerDown ( event ) {
@@ -122,7 +122,7 @@ export class IgxPivotHeaderRowComponent extends IgxGridHeaderRowComponent {
122122 event . preventDefault ( ) ;
123123 let dim = dimension ;
124124 let col ;
125- while ( dim ) {
125+ while ( dim ) {
126126 col = this . grid . dimensionDataColumns . find ( x => x . field === dim . memberName || x . field === dim . member ) ;
127127 if ( col ) {
128128 break ;
@@ -162,10 +162,10 @@ export class IgxPivotHeaderRowComponent extends IgxGridHeaderRowComponent {
162162 dimension . sortDirection = SortingDirection . None ;
163163 }
164164 dimension . sortDirection = dimension . sortDirection + 1 > SortingDirection . Desc ?
165- SortingDirection . None : dimension . sortDirection + 1 ;
165+ SortingDirection . None : dimension . sortDirection + 1 ;
166166 // apply same sort direction to children.
167167 let dim = dimension ;
168- while ( dim . childLevel ) {
168+ while ( dim . childLevel ) {
169169 dim . childLevel . sortDirection = dimension . sortDirection ;
170170 dim = dim . childLevel ;
171171 }
@@ -176,8 +176,9 @@ export class IgxPivotHeaderRowComponent extends IgxGridHeaderRowComponent {
176176 }
177177
178178 public onDimDragOver ( event , dimension ?: PivotDimensionType ) {
179- const typeMismatch = dimension !== undefined ? this . grid . pivotConfiguration . values . find ( x => x . member === event . dragChip . id ) :
180- ! this . grid . pivotConfiguration . values . find ( x => x . member === event . dragChip . id ) ;
179+ const typeMismatch = dimension !== undefined ? this . grid . pivotConfiguration . values . find ( x => x . member === event . dragChip . id
180+ || x . displayName === event . dragChip . id ) :
181+ ! this . grid . pivotConfiguration . values . find ( x => x . member === event . dragChip . id || x . displayName === event . dragChip . id ) ;
181182 if ( typeMismatch ) {
182183 // cannot drag between dimensions and value
183184 return ;
@@ -211,8 +212,8 @@ export class IgxPivotHeaderRowComponent extends IgxGridHeaderRowComponent {
211212
212213 public onAreaDragEnter ( event , area , dimension ?: PivotDimensionType ) {
213214 const dragId = event . detail . owner . element . nativeElement . parentElement . id ;
214- const typeMismatch = dimension !== undefined ? this . grid . pivotConfiguration . values . find ( x => x . member === dragId ) :
215- ! this . grid . pivotConfiguration . values . find ( x => x . member === dragId ) ;
215+ const typeMismatch = dimension !== undefined ? this . grid . pivotConfiguration . values . find ( x => x . member === dragId || x . displayName === dragId ) :
216+ ! this . grid . pivotConfiguration . values . find ( x => x . member === dragId || x . displayName === dragId ) ;
216217 if ( typeMismatch ) {
217218 // cannot drag between dimensions and value
218219 return ;
@@ -240,14 +241,15 @@ export class IgxPivotHeaderRowComponent extends IgxGridHeaderRowComponent {
240241 const currentDim = this . grid . pivotConfiguration . values ;
241242 const dragId = event . dragChip ?. id || event . dragData ?. chip . id ;
242243 const chipsArray = area . chipsList . toArray ( ) ;
243- const chipIndex = chipsArray . indexOf ( event . owner ) !== - 1 ? chipsArray . indexOf ( event . owner ) : chipsArray . length ;
244- const newDim = currentDim . find ( x => x . member === dragId ) ;
244+ let chipIndex = chipsArray . indexOf ( event . owner ) !== - 1 ? chipsArray . indexOf ( event . owner ) : chipsArray . length ;
245+ chipIndex = this . _dropPos === DropPosition . AfterDropTarget ? chipIndex + 1 : chipIndex ;
246+ const newDim = currentDim . find ( x => x . member === dragId || x . displayName === dragId ) ;
245247 if ( newDim ) {
246248 const dragChipIndex = chipsArray . indexOf ( event . dragChip || event . dragData . chip ) ;
247249 currentDim . splice ( dragChipIndex , 1 ) ;
248- currentDim . splice ( dragChipIndex > chipIndex ? chipIndex : chipIndex - 1 , 0 , newDim ) ;
250+ currentDim . splice ( dragChipIndex >= chipIndex ? chipIndex : chipIndex - 1 , 0 , newDim ) ;
249251 this . grid . setupColumns ( ) ;
250- this . grid . valuesChange . emit ( { values : this . grid . pivotConfiguration . values } ) ;
252+ this . grid . valuesChange . emit ( { values : this . grid . pivotConfiguration . values } ) ;
251253 }
252254 }
253255
@@ -304,7 +306,7 @@ export class IgxPivotHeaderRowComponent extends IgxGridHeaderRowComponent {
304306 this . grid . setupColumns ( ) ;
305307 }
306308 this . grid . pipeTrigger ++ ;
307- this . grid . dimensionsChange . emit ( { dimensions : currentDim , dimensionCollectionType : dimension } ) ;
309+ this . grid . dimensionsChange . emit ( { dimensions : currentDim , dimensionCollectionType : dimension } ) ;
308310 }
309311
310312 protected getDimensionsByType ( dimension : PivotDimensionType ) {
0 commit comments