Skip to content

Commit 3c99959

Browse files
authored
Merge branch 'master' into dpetev/combo-valid-state
2 parents 91d8863 + 8399601 commit 3c99959

File tree

3 files changed

+31
-3
lines changed

3 files changed

+31
-3
lines changed

projects/igniteui-angular/src/lib/grids/grid-base.directive.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2357,7 +2357,10 @@ export abstract class IgxGridBaseDirective extends DisplayDensityBase implements
23572357
*/
23582358
@Input()
23592359
public set sortingOptions(value: ISortingOptions) {
2360-
this.clearSort();
2360+
if (!this._init) {
2361+
// clear sort only if option is changed runtime. No need to clear on initial load.
2362+
this.clearSort();
2363+
}
23612364
this._sortingOptions = Object.assign(this._sortingOptions, value);
23622365
}
23632366

projects/igniteui-angular/src/lib/grids/grid/grid.sorting.spec.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { DefaultSortingStrategy, SortingDirection } from '../../data-operations/
44
import { configureTestSuite } from '../../test-utils/configure-suite';
55
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
66
import { GridFunctions } from '../../test-utils/grid-functions.spec';
7-
import { GridDeclaredColumnsComponent, SortByParityComponent, GridWithPrimaryKeyComponent, SortByAnotherColumnComponent } from '../../test-utils/grid-samples.spec';
7+
import { GridDeclaredColumnsComponent, SortByParityComponent, GridWithPrimaryKeyComponent, SortByAnotherColumnComponent, SortOnInitComponent } from '../../test-utils/grid-samples.spec';
88
import { UIInteractions } from '../../test-utils/ui-interactions.spec';
99
import { SampleTestData } from '../../test-utils/sample-test-data.spec';
1010
import { CellType } from '../common/grid.interface';
@@ -703,5 +703,12 @@ describe('IgxGrid - Grid Sorting #grid', () => {
703703
expect(GridFunctions.getColumnSortingIndex(headerLastName)).toBeNull();
704704
expect(grid.sortingExpressions.length).toBe(1);
705705
}));
706+
707+
it('should not clear sortingExpressions when setting sortingOptions on init. ', fakeAsync(() => {
708+
fixture = TestBed.createComponent(SortOnInitComponent);
709+
fixture.detectChanges();
710+
grid = fixture.componentInstance.grid;
711+
expect(grid.sortingExpressions.length).toBe(1);
712+
}));
706713
});
707714
});

projects/igniteui-angular/src/lib/test-utils/grid-samples.spec.ts

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import { IgxColumnComponent } from '../grids/columns/column.component';
1414
import { IgxFilteringOperand, IgxNumberFilteringOperand } from '../data-operations/filtering-condition';
1515
import { IFilteringExpressionsTree, FilteringExpressionsTree } from '../data-operations/filtering-expressions-tree';
1616
import { FilteringStrategy, IgxFilterItem } from '../data-operations/filtering-strategy';
17-
import { IgxExcelStyleHeaderIconDirective, IgxSortAscendingHeaderIconDirective, IgxSortDescendingHeaderIconDirective, IgxSortHeaderIconDirective } from '../grids/public_api';
17+
import { ISortingOptions, IgxExcelStyleHeaderIconDirective, IgxSortAscendingHeaderIconDirective, IgxSortDescendingHeaderIconDirective, IgxSortHeaderIconDirective } from '../grids/public_api';
1818
import { IgxRowAddTextDirective, IgxRowEditActionsDirective, IgxRowEditTabStopDirective, IgxRowEditTemplateDirective, IgxRowEditTextDirective } from '../grids/grid.rowEdit.directive';
1919
import { IgxExcelStyleColumnOperationsTemplateDirective, IgxExcelStyleFilterOperationsTemplateDirective, IgxGridExcelStyleFilteringComponent } from '../grids/filtering/excel-style/excel-style-filtering.component';
2020
import { FilteringLogic } from '../data-operations/filtering-expression.interface';
@@ -2144,6 +2144,24 @@ export class SortByAnotherColumnComponent extends GridDeclaredColumnsComponent i
21442144
}
21452145
}
21462146

2147+
@Component({
2148+
template: GridTemplateStrings.declareGrid(
2149+
'[sortingOptions]="sortingOptions"',
2150+
'',
2151+
ColumnDefinitions.idFirstLastNameSortable,
2152+
'',
2153+
'',
2154+
''),
2155+
standalone: true,
2156+
imports: [IgxGridComponent, IgxColumnComponent]
2157+
})
2158+
export class SortOnInitComponent extends GridDeclaredColumnsComponent implements OnInit {
2159+
public sortingOptions: ISortingOptions = { mode: 'single' };
2160+
public ngOnInit(): void {
2161+
this.grid.sortingExpressions = [{ fieldName: 'Name', dir: SortingDirection.Asc }];
2162+
}
2163+
}
2164+
21472165
@Component({
21482166
template: `
21492167
<igx-grid #grid [data]="data" [height]="'500px'" [width]="'500px'">

0 commit comments

Comments
 (0)