Skip to content

Commit 1ef30fe

Browse files
authored
Merge branch '8.2.x' into mkirova/fix-4970-8.2.x
2 parents 6d41108 + 9cff4df commit 1ef30fe

File tree

6 files changed

+44
-12
lines changed

6 files changed

+44
-12
lines changed

projects/igniteui-angular/src/lib/core/grid-selection.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { Injectable, EventEmitter, NgZone } from '@angular/core';
2-
import { IGridEditEventArgs } from '../grids/grid-base.component';
2+
import { IGridEditEventArgs, IgxGridBaseComponent } from '../grids/grid-base.component';
3+
import { FilteringExpressionsTree } from '../data-operations/filtering-expressions-tree';
34

45
export interface GridSelectionRange {
56
rowStart: number;
@@ -688,7 +689,9 @@ export class IgxGridSelectionService {
688689
}
689690

690691
private isFilteringApplied(): boolean {
691-
return this.grid.filteringExpressionsTree.filteringOperands.length > 0;
692+
const grid = this.grid as IgxGridBaseComponent;
693+
return !FilteringExpressionsTree.empty(grid.filteringExpressionsTree) ||
694+
!FilteringExpressionsTree.empty(grid.advancedFilteringExpressionsTree);
692695
}
693696

694697
private isRowDeleted(rowID): boolean {

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2072,7 +2072,7 @@ export abstract class IgxGridBaseComponent extends DisplayDensityBase implements
20722072
* @hidden
20732073
*/
20742074
public get parentRowOutletDirective() {
2075-
return null;
2075+
return this.outletDirective;
20762076
}
20772077

20782078
/**

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1251,14 +1251,15 @@ describe('IgxGrid - Filtering actions #grid', () => {
12511251
fix.detectChanges();
12521252

12531253
const firstMonth = calendar.querySelector('.igx-calendar__month');
1254+
const firstMonthText = (firstMonth as HTMLElement).innerText;
12541255
firstMonth.dispatchEvent(new Event('click'));
12551256
tick();
12561257
fix.detectChanges();
12571258

12581259
calendar = outlet.getElementsByClassName('igx-calendar')[0];
12591260
const month = calendar.querySelector('.igx-calendar-picker__date');
12601261

1261-
expect(month.innerHTML.trim()).toEqual('Jan');
1262+
expect(month.innerHTML.trim()).toEqual(firstMonthText);
12621263
}));
12631264

12641265
it('Should correctly select year from year view datepicker/calendar component', fakeAsync(() => {

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

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ import { GridFunctions, GridSelectionFunctions } from '../../test-utils/grid-fun
1919
import { SampleTestData } from '../../test-utils/sample-test-data.spec';
2020
import { GridSelectionMode } from '../common/enums';
2121
import { IgxRowSelectorsModule } from '../igx-row-selectors.module';
22+
import { FilteringExpressionsTree } from '../../data-operations/filtering-expressions-tree';
23+
import { FilteringLogic } from '../../data-operations/filtering-expression.interface';
2224

2325
const DEBOUNCETIME = 30;
2426

@@ -1671,6 +1673,38 @@ describe('IgxGrid - Row Selection #grid', () => {
16711673
expect(grid.getRowByIndex(1).selected).toBeTruthy();
16721674
expect(grid.onRowSelectionChange.emit).toHaveBeenCalledTimes(6);
16731675
}));
1676+
1677+
it('Should select only filtered records', fakeAsync(() => {
1678+
grid.height = '1100px';
1679+
const tree = new FilteringExpressionsTree(FilteringLogic.And);
1680+
tree.filteringOperands.push({
1681+
fieldName: 'UnitsInStock',
1682+
searchVal: 0,
1683+
condition: IgxNumberFilteringOperand.instance().condition('greaterThan'),
1684+
});
1685+
tree.filteringOperands.push({
1686+
fieldName: 'ProductName',
1687+
searchVal: 'a',
1688+
condition: IgxStringFilteringOperand.instance().condition('contains'),
1689+
ignoreCase: true
1690+
});
1691+
grid.advancedFilteringExpressionsTree = tree;
1692+
GridSelectionFunctions.headerCheckboxClick(grid);
1693+
fix.detectChanges();
1694+
tick();
1695+
1696+
expect(grid.rowList.length).toBe(9);
1697+
expect(grid.selectedRows().length).toBe(9);
1698+
GridSelectionFunctions.verifyHeaderRowCheckboxState(grid, true, false);
1699+
1700+
grid.advancedFilteringExpressionsTree = null;
1701+
fix.detectChanges();
1702+
tick();
1703+
1704+
expect(grid.rowList.length).toBe(19);
1705+
expect(grid.selectedRows().length).toBe(9);
1706+
GridSelectionFunctions.verifyHeaderRowCheckboxState(grid, false, true);
1707+
}));
16741708
});
16751709

16761710
describe('Integration with CRUD and transactions', () => {

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2565,6 +2565,7 @@ describe('IgxGrid - GroupBy #grid', () => {
25652565
it('should apply custom comparer function when grouping by dragging a column into the group area', async () => {
25662566
const fix = TestBed.createComponent(GroupableGridComponent);
25672567
const grid = fix.componentInstance.instance;
2568+
const year = new Date().getFullYear().toString();
25682569
fix.detectChanges();
25692570
await wait();
25702571

@@ -2604,7 +2605,7 @@ describe('IgxGrid - GroupBy #grid', () => {
26042605
expect(grid.groupsRecords.length).toEqual(2);
26052606
expect(grid.groupsRecords[1].records.length).toEqual(6);
26062607
for (let i = 0; i < grid.groupsRecords[1].records.length; i++) {
2607-
expect(grid.groupsRecords[1].records[i].ReleaseDate.getFullYear().toString()).toEqual('2019');
2608+
expect(grid.groupsRecords[1].records[i].ReleaseDate.getFullYear().toString()).toEqual(year);
26082609
}
26092610
});
26102611

projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid.component.ts

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -446,13 +446,6 @@ export class IgxHierarchicalGridComponent extends IgxHierarchicalGridBaseCompone
446446
return this.rootGrid._outletDirective;
447447
}
448448

449-
/**
450-
* @hidden
451-
*/
452-
public get parentRowOutletDirective() {
453-
return this === this.rootGrid ? null : this.rootGrid.rowEditingOutletDirective;
454-
}
455-
456449
/**
457450
* @hidden
458451
*/

0 commit comments

Comments
 (0)