@@ -84,7 +84,7 @@ export class IgxPivotHeaderRowComponent extends IgxGridHeaderRowComponent {
84
84
row . enabled = false ;
85
85
this . grid . pipeTrigger ++ ;
86
86
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 } ) ;
88
88
}
89
89
90
90
public columnRemoved ( event : IBaseChipEventArgs ) {
@@ -93,23 +93,23 @@ export class IgxPivotHeaderRowComponent extends IgxGridHeaderRowComponent {
93
93
this . grid . setupColumns ( ) ;
94
94
this . grid . filteringService . clearFilter ( col . memberName ) ;
95
95
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 } ) ;
97
97
}
98
98
99
99
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 ) ;
101
101
value . enabled = false ;
102
102
this . grid . setupColumns ( ) ;
103
103
this . grid . pipeTrigger ++ ;
104
- this . grid . valuesChange . emit ( { values : this . grid . pivotConfiguration . values } ) ;
104
+ this . grid . valuesChange . emit ( { values : this . grid . pivotConfiguration . values } ) ;
105
105
}
106
106
107
107
public filterRemoved ( event : IBaseChipEventArgs ) {
108
108
const filter = this . grid . pivotConfiguration . filters . find ( x => x . memberName === event . owner . id ) ;
109
109
filter . enabled = false ;
110
110
this . grid . filteringService . clearFilter ( filter . memberName ) ;
111
111
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 } ) ;
113
113
}
114
114
115
115
public onFilteringIconPointerDown ( event ) {
@@ -122,7 +122,7 @@ export class IgxPivotHeaderRowComponent extends IgxGridHeaderRowComponent {
122
122
event . preventDefault ( ) ;
123
123
let dim = dimension ;
124
124
let col ;
125
- while ( dim ) {
125
+ while ( dim ) {
126
126
col = this . grid . dimensionDataColumns . find ( x => x . field === dim . memberName || x . field === dim . member ) ;
127
127
if ( col ) {
128
128
break ;
@@ -162,10 +162,10 @@ export class IgxPivotHeaderRowComponent extends IgxGridHeaderRowComponent {
162
162
dimension . sortDirection = SortingDirection . None ;
163
163
}
164
164
dimension . sortDirection = dimension . sortDirection + 1 > SortingDirection . Desc ?
165
- SortingDirection . None : dimension . sortDirection + 1 ;
165
+ SortingDirection . None : dimension . sortDirection + 1 ;
166
166
// apply same sort direction to children.
167
167
let dim = dimension ;
168
- while ( dim . childLevel ) {
168
+ while ( dim . childLevel ) {
169
169
dim . childLevel . sortDirection = dimension . sortDirection ;
170
170
dim = dim . childLevel ;
171
171
}
@@ -176,8 +176,9 @@ export class IgxPivotHeaderRowComponent extends IgxGridHeaderRowComponent {
176
176
}
177
177
178
178
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 ) ;
181
182
if ( typeMismatch ) {
182
183
// cannot drag between dimensions and value
183
184
return ;
@@ -211,8 +212,8 @@ export class IgxPivotHeaderRowComponent extends IgxGridHeaderRowComponent {
211
212
212
213
public onAreaDragEnter ( event , area , dimension ?: PivotDimensionType ) {
213
214
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 ) ;
216
217
if ( typeMismatch ) {
217
218
// cannot drag between dimensions and value
218
219
return ;
@@ -240,14 +241,15 @@ export class IgxPivotHeaderRowComponent extends IgxGridHeaderRowComponent {
240
241
const currentDim = this . grid . pivotConfiguration . values ;
241
242
const dragId = event . dragChip ?. id || event . dragData ?. chip . id ;
242
243
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 ) ;
245
247
if ( newDim ) {
246
248
const dragChipIndex = chipsArray . indexOf ( event . dragChip || event . dragData . chip ) ;
247
249
currentDim . splice ( dragChipIndex , 1 ) ;
248
- currentDim . splice ( dragChipIndex > chipIndex ? chipIndex : chipIndex - 1 , 0 , newDim ) ;
250
+ currentDim . splice ( dragChipIndex >= chipIndex ? chipIndex : chipIndex - 1 , 0 , newDim ) ;
249
251
this . grid . setupColumns ( ) ;
250
- this . grid . valuesChange . emit ( { values : this . grid . pivotConfiguration . values } ) ;
252
+ this . grid . valuesChange . emit ( { values : this . grid . pivotConfiguration . values } ) ;
251
253
}
252
254
}
253
255
@@ -304,7 +306,7 @@ export class IgxPivotHeaderRowComponent extends IgxGridHeaderRowComponent {
304
306
this . grid . setupColumns ( ) ;
305
307
}
306
308
this . grid . pipeTrigger ++ ;
307
- this . grid . dimensionsChange . emit ( { dimensions : currentDim , dimensionCollectionType : dimension } ) ;
309
+ this . grid . dimensionsChange . emit ( { dimensions : currentDim , dimensionCollectionType : dimension } ) ;
308
310
}
309
311
310
312
protected getDimensionsByType ( dimension : PivotDimensionType ) {
0 commit comments