igniteui-angular 16.1.14 → 16.1.16

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.
@@ -10134,12 +10134,10 @@ class IgxButtonDirective extends DisplayDensityBase {
10134
10134
  */
10135
10135
  set selected(value) {
10136
10136
  if (this._selected !== value) {
10137
- if (!this._selected) {
10138
- this.buttonSelected.emit({
10139
- button: this
10140
- });
10141
- }
10142
10137
  this._selected = value;
10138
+ this.buttonSelected.emit({
10139
+ button: this
10140
+ });
10143
10141
  }
10144
10142
  }
10145
10143
  get selected() {
@@ -12650,6 +12648,24 @@ class IgxDragDirective {
12650
12648
  if (!this._clicked) {
12651
12649
  return;
12652
12650
  }
12651
+ // When the base element is moved to previous index, angular reattaches the ghost template as a sibling by default.
12652
+ // This is the defaut place for the EmbededViewRef when recreated.
12653
+ // That's why we need to move it to the proper place and set pointer capture again.
12654
+ if (this._pointerDownId && this.ghostElement && this._dynamicGhostRef && !this._dynamicGhostRef.destroyed) {
12655
+ let ghostReattached = false;
12656
+ if (this.ghostHost && !Array.from(this.ghostHost.children).includes(this.ghostElement)) {
12657
+ ghostReattached = true;
12658
+ this.ghostHost.appendChild(this.ghostElement);
12659
+ }
12660
+ else if (!this.ghostHost && !Array.from(document.body.children).includes(this.ghostElement)) {
12661
+ ghostReattached = true;
12662
+ document.body.appendChild(this.ghostElement);
12663
+ }
12664
+ if (ghostReattached) {
12665
+ this.ghostElement.setPointerCapture(this._pointerDownId);
12666
+ return;
12667
+ }
12668
+ }
12653
12669
  const eventArgs = {
12654
12670
  originalEvent: event,
12655
12671
  owner: this,
@@ -27333,7 +27349,7 @@ class IgxGridSelectionService {
27333
27349
  /** Returns all data in the grid, with applied filtering and sorting and without deleted rows. */
27334
27350
  get allData() {
27335
27351
  let allData;
27336
- if (this.isFilteringApplied() || this.grid.sortingExpressions.length) {
27352
+ if (this.isFilteringApplied() || this.grid.sortingExpressions.length || this.grid.groupingExpressions?.length) {
27337
27353
  allData = this.grid.pinnedRecordsCount ? this.grid._filteredSortedUnpinnedData : this.grid.filteredSortedData;
27338
27354
  }
27339
27355
  else {
@@ -29664,19 +29680,24 @@ class IgxButtonGroupComponent extends DisplayDensityBase {
29664
29680
  if (this.selectedIndexes.indexOf(index) === -1) {
29665
29681
  this.selectedIndexes.push(index);
29666
29682
  }
29667
- this._renderer.setAttribute(button.nativeElement, 'aria-pressed', 'true');
29668
- this._renderer.addClass(button.nativeElement, 'igx-button-group__item--selected');
29669
- const indexInViewButtons = this.viewButtons.toArray().indexOf(button);
29670
- if (indexInViewButtons !== -1) {
29671
- this.values[indexInViewButtons].selected = true;
29683
+ if (button.selected) {
29684
+ this._renderer.setAttribute(button.nativeElement, 'aria-pressed', 'true');
29685
+ this._renderer.addClass(button.nativeElement, 'igx-button-group__item--selected');
29686
+ const indexInViewButtons = this.viewButtons.toArray().indexOf(button);
29687
+ if (indexInViewButtons !== -1) {
29688
+ this.values[indexInViewButtons].selected = true;
29689
+ }
29690
+ // deselect other buttons if selectionMode is not multi
29691
+ if (this.selectionMode !== 'multi' && this.selectedIndexes.length > 1) {
29692
+ this.buttons.forEach((_, i) => {
29693
+ if (i !== index && this.selectedIndexes.indexOf(i) !== -1) {
29694
+ this.deselectButton(i);
29695
+ }
29696
+ });
29697
+ }
29672
29698
  }
29673
- // deselect other buttons if selectionMode is not multi
29674
- if (this.selectionMode !== 'multi' && this.selectedIndexes.length > 1) {
29675
- this.buttons.forEach((_, i) => {
29676
- if (i !== index && this.selectedIndexes.indexOf(i) !== -1) {
29677
- this.deselectButton(i);
29678
- }
29679
- });
29699
+ else {
29700
+ this.deselectButton(index);
29680
29701
  }
29681
29702
  }
29682
29703
  /**
@@ -67179,7 +67200,7 @@ class IgxGridBaseDirective extends DisplayDensityBase {
67179
67200
  if (this.isPercentWidth) {
67180
67201
  /* width in %*/
67181
67202
  const computed = this.document.defaultView.getComputedStyle(this.nativeElement).getPropertyValue('width');
67182
- width = computed.indexOf('%') === -1 ? parseInt(computed, 10) : null;
67203
+ width = computed.indexOf('%') === -1 ? parseFloat(computed) : null;
67183
67204
  }
67184
67205
  else {
67185
67206
  width = parseInt(this.width, 10);
@@ -78739,7 +78760,7 @@ class IgxTreeGridSelectionService extends IgxGridSelectionService {
78739
78760
  added, removed, event, cancel: false
78740
78761
  };
78741
78762
  this.calculateRowsNewSelectionState(args, !!this.grid.primaryKey);
78742
- args.newSelection = Array.from(this.allData.filter(r => this.rowsToBeSelected.has(this.grid.primaryKey ? r[this.grid.primaryKey] : r)));
78763
+ args.newSelection = Array.from(this.grid.gridAPI.get_all_data().filter(r => this.rowsToBeSelected.has(this.grid.primaryKey ? r[this.grid.primaryKey] : r)));
78743
78764
  // retrieve rows/parents/children which has been added/removed from the selection
78744
78765
  this.handleAddedAndRemovedArgs(args);
78745
78766
  this.grid.rowSelectionChanging.emit(args);