@@ -5,7 +5,7 @@ import { IGroupingState } from '../../data-operations/groupby-state.interface';
55import { IGroupingExpression } from '../../data-operations/grouping-expression.interface' ;
66import { IGroupByResult } from '../../data-operations/grouping-result.interface' ;
77import { getHierarchy , isHierarchyMatch } from '../../data-operations/operations' ;
8- import { DefaultSortingStrategy , ISortingExpression } from '../../data-operations/sorting-strategy' ;
8+ import { DefaultSortingStrategy , ISortingExpression , SortingDirection } from '../../data-operations/sorting-strategy' ;
99import { GridType } from './grid.interface' ;
1010
1111const DATE_TYPE = 'date' ;
@@ -229,7 +229,11 @@ export class IgxSorting implements IGridSortingStrategy {
229229 const isDate = column ?. dataType === DATE_TYPE || column ?. dataType === DATE_TIME_TYPE ;
230230 const isTime = column ?. dataType === TIME_TYPE || column ?. dataType === DATE_TIME_TYPE ;
231231 const isString = column ?. dataType === STRING_TYPE ;
232- data = expr . strategy . sort ( data , expr . fieldName , expr . dir , expr . ignoreCase , this . getFieldValue , isDate , isTime , grid ) ;
232+ if ( expr . dir === SortingDirection . None ) {
233+ data = this . sortDataRecursive ( data , expressions , expressionIndex + 1 , grid ) ;
234+ } else {
235+ data = expr . strategy . sort ( data , expr . fieldName , expr . dir , expr . ignoreCase , this . getFieldValue , isDate , isTime , grid ) ;
236+ }
233237 if ( expressionIndex === exprsLen - 1 ) {
234238 return data ;
235239 }
0 commit comments