Skip to content

Commit 82cdc38

Browse files
committed
chore(*): update checkbox state when clear all rows or change selectionMode
1 parent b50b783 commit 82cdc38

File tree

2 files changed

+11
-5
lines changed

2 files changed

+11
-5
lines changed

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -662,6 +662,12 @@ export class IgxGridSelectionService {
662662
this.allRowsSelected = undefined;
663663
}
664664

665+
/**Clear rowSelection and update checkbox state*/
666+
public clearAllSelectedRows(): void {
667+
this.rowSelection.clear();
668+
this.clearHeaderCBState();
669+
}
670+
665671
/** Returns all data in the grid, with applied filtering and sorting and without deleted rows. */
666672
public get allData(): Array<any> {
667673
const allData = this.isFilteringApplied() || this.grid.sortingExpressions.length ?

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

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2364,7 +2364,7 @@ export abstract class IgxGridBaseComponent extends DisplayDensityBase implements
23642364
set rowSelection(selectionMode: GridSelectionMode) {
23652365
this._rowSelectionMode = selectionMode;
23662366
if (this.gridAPI.grid && this.columnList) {
2367-
this.selectionService.rowSelection.clear();
2367+
this.selectionService.clearAllSelectedRows();
23682368
this.notifyChanges(true);
23692369
}
23702370
}
@@ -4714,7 +4714,7 @@ export abstract class IgxGridBaseComponent extends DisplayDensityBase implements
47144714
*/
47154715
public selectRows(rowIDs: any[], clearCurrentSelection?: boolean) {
47164716
this.selectionService.selectRowsWithNoEvent(rowIDs, clearCurrentSelection);
4717-
this.cdr.markForCheck();
4717+
this.notifyChanges();
47184718
}
47194719

47204720
/**
@@ -4727,7 +4727,7 @@ export abstract class IgxGridBaseComponent extends DisplayDensityBase implements
47274727
*/
47284728
public deselectRows(rowIDs: any[]) {
47294729
this.selectionService.deselectRowsWithNoEvent(rowIDs);
4730-
this.cdr.markForCheck();
4730+
this.notifyChanges();
47314731
}
47324732

47334733
/**
@@ -4742,7 +4742,7 @@ export abstract class IgxGridBaseComponent extends DisplayDensityBase implements
47424742
* @memberof IgxGridBaseComponent
47434743
*/
47444744
public selectAllRows(onlyFilterData = true) {
4745-
const data = onlyFilterData && this.filteredData ? this.filteredData : this.gridAPI.get_all_data();
4745+
const data = onlyFilterData && this.filteredData ? this.filteredData : this.gridAPI.get_all_data(true);
47464746
const rowIDs = this.selectionService.getRowIDs(data).filter(rID => !this.gridAPI.row_deleted_transaction(rID));
47474747
this.selectRows(rowIDs);
47484748
}
@@ -4761,7 +4761,7 @@ export abstract class IgxGridBaseComponent extends DisplayDensityBase implements
47614761
if (onlyFilterData && this.filteredData && this.filteredData.length > 0) {
47624762
this.deselectRows(this.selectionService.getRowIDs(this.filteredData));
47634763
} else {
4764-
this.selectionService.selectRowsWithNoEvent([], true);
4764+
this.selectionService.clearAllSelectedRows();
47654765
this.notifyChanges();
47664766
}
47674767
}

0 commit comments

Comments
 (0)