igniteui-angular 17.0.11 → 17.0.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -8300,12 +8300,10 @@ class IgxButtonDirective extends DisplayDensityBase {
8300
8300
  */
8301
8301
  set selected(value) {
8302
8302
  if (this._selected !== value) {
8303
- if (!this._selected) {
8304
- this.buttonSelected.emit({
8305
- button: this
8306
- });
8307
- }
8308
8303
  this._selected = value;
8304
+ this.buttonSelected.emit({
8305
+ button: this
8306
+ });
8309
8307
  }
8310
8308
  }
8311
8309
  get selected() {
@@ -25234,7 +25232,7 @@ class IgxGridSelectionService {
25234
25232
  /** Returns all data in the grid, with applied filtering and sorting and without deleted rows. */
25235
25233
  get allData() {
25236
25234
  let allData;
25237
- if (this.isFilteringApplied() || this.grid.sortingExpressions.length) {
25235
+ if (this.isFilteringApplied() || this.grid.sortingExpressions.length || this.grid.groupingExpressions?.length) {
25238
25236
  allData = this.grid.pinnedRecordsCount ? this.grid._filteredSortedUnpinnedData : this.grid.filteredSortedData;
25239
25237
  }
25240
25238
  else {
@@ -27568,19 +27566,24 @@ class IgxButtonGroupComponent extends DisplayDensityBase {
27568
27566
  if (this.selectedIndexes.indexOf(index) === -1) {
27569
27567
  this.selectedIndexes.push(index);
27570
27568
  }
27571
- this._renderer.setAttribute(button.nativeElement, 'aria-pressed', 'true');
27572
- this._renderer.addClass(button.nativeElement, 'igx-button-group__item--selected');
27573
- const indexInViewButtons = this.viewButtons.toArray().indexOf(button);
27574
- if (indexInViewButtons !== -1) {
27575
- this.values[indexInViewButtons].selected = true;
27569
+ if (button.selected) {
27570
+ this._renderer.setAttribute(button.nativeElement, 'aria-pressed', 'true');
27571
+ this._renderer.addClass(button.nativeElement, 'igx-button-group__item--selected');
27572
+ const indexInViewButtons = this.viewButtons.toArray().indexOf(button);
27573
+ if (indexInViewButtons !== -1) {
27574
+ this.values[indexInViewButtons].selected = true;
27575
+ }
27576
+ // deselect other buttons if selectionMode is not multi
27577
+ if (this.selectionMode !== 'multi' && this.selectedIndexes.length > 1) {
27578
+ this.buttons.forEach((_, i) => {
27579
+ if (i !== index && this.selectedIndexes.indexOf(i) !== -1) {
27580
+ this.deselectButton(i);
27581
+ }
27582
+ });
27583
+ }
27576
27584
  }
27577
- // deselect other buttons if selectionMode is not multi
27578
- if (this.selectionMode !== 'multi' && this.selectedIndexes.length > 1) {
27579
- this.buttons.forEach((_, i) => {
27580
- if (i !== index && this.selectedIndexes.indexOf(i) !== -1) {
27581
- this.deselectButton(i);
27582
- }
27583
- });
27585
+ else {
27586
+ this.deselectButton(index);
27584
27587
  }
27585
27588
  }
27586
27589
  /**
@@ -77241,7 +77244,7 @@ class IgxTreeGridSelectionService extends IgxGridSelectionService {
77241
77244
  added, removed, event, cancel: false
77242
77245
  };
77243
77246
  this.calculateRowsNewSelectionState(args, !!this.grid.primaryKey);
77244
- args.newSelection = Array.from(this.allData.filter(r => this.rowsToBeSelected.has(this.grid.primaryKey ? r[this.grid.primaryKey] : r)));
77247
+ args.newSelection = Array.from(this.grid.gridAPI.get_all_data().filter(r => this.rowsToBeSelected.has(this.grid.primaryKey ? r[this.grid.primaryKey] : r)));
77245
77248
  // retrieve rows/parents/children which has been added/removed from the selection
77246
77249
  this.handleAddedAndRemovedArgs(args);
77247
77250
  this.grid.rowSelectionChanging.emit(args);