igniteui-angular 17.0.11 → 17.0.13

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.
Files changed (32) hide show
  1. package/esm2022/lib/buttonGroup/buttonGroup.component.mjs +48 -7
  2. package/esm2022/lib/directives/button/button.directive.mjs +10 -7
  3. package/esm2022/lib/grids/columns/column-group.component.mjs +15 -2
  4. package/esm2022/lib/grids/grid-base.directive.mjs +43 -35
  5. package/esm2022/lib/grids/selection/selection.service.mjs +2 -2
  6. package/esm2022/lib/grids/tree-grid/tree-grid-selection.service.mjs +2 -2
  7. package/fesm2022/igniteui-angular.mjs +114 -49
  8. package/fesm2022/igniteui-angular.mjs.map +1 -1
  9. package/lib/buttonGroup/buttonGroup.component.d.ts +5 -1
  10. package/lib/core/styles/components/button/_button-theme.scss +1 -8
  11. package/lib/directives/button/button.directive.d.ts +3 -2
  12. package/lib/grids/grid-base.directive.d.ts +1 -0
  13. package/package.json +1 -1
  14. package/styles/igniteui-fluent-dark-excel.css +1 -1
  15. package/styles/igniteui-fluent-dark-word.css +1 -1
  16. package/styles/igniteui-fluent-dark.css +1 -1
  17. package/styles/igniteui-fluent-light-excel.css +1 -1
  18. package/styles/igniteui-fluent-light-word.css +1 -1
  19. package/styles/igniteui-fluent-light.css +1 -1
  20. package/styles/maps/igniteui-angular-dark.css.map +1 -1
  21. package/styles/maps/igniteui-angular.css.map +1 -1
  22. package/styles/maps/igniteui-bootstrap-dark.css.map +1 -1
  23. package/styles/maps/igniteui-bootstrap-light.css.map +1 -1
  24. package/styles/maps/igniteui-dark-green.css.map +1 -1
  25. package/styles/maps/igniteui-fluent-dark-excel.css.map +1 -1
  26. package/styles/maps/igniteui-fluent-dark-word.css.map +1 -1
  27. package/styles/maps/igniteui-fluent-dark.css.map +1 -1
  28. package/styles/maps/igniteui-fluent-light-excel.css.map +1 -1
  29. package/styles/maps/igniteui-fluent-light-word.css.map +1 -1
  30. package/styles/maps/igniteui-fluent-light.css.map +1 -1
  31. package/styles/maps/igniteui-indigo-dark.css.map +1 -1
  32. package/styles/maps/igniteui-indigo-light.css.map +1 -1
@@ -8300,12 +8300,8 @@ 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._renderer.setAttribute(this.nativeElement, 'data-selected', value.toString());
8309
8305
  }
8310
8306
  }
8311
8307
  get selected() {
@@ -8354,6 +8350,13 @@ class IgxButtonDirective extends DisplayDensityBase {
8354
8350
  */
8355
8351
  this.disabled = false;
8356
8352
  }
8353
+ ngAfterContentInit() {
8354
+ this.nativeElement.addEventListener('click', () => {
8355
+ this.buttonSelected.emit({
8356
+ button: this
8357
+ });
8358
+ });
8359
+ }
8357
8360
  /**
8358
8361
  * @hidden
8359
8362
  * @internal
@@ -8478,7 +8481,7 @@ class IgxButtonDirective extends DisplayDensityBase {
8478
8481
  * @internal
8479
8482
  */
8480
8483
  deselect() {
8481
- this._selected = false;
8484
+ this.selected = false;
8482
8485
  }
8483
8486
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: IgxButtonDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: DisplayDensityToken, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
8484
8487
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.0.5", type: IgxButtonDirective, isStandalone: true, selector: "[igxButton]", inputs: { selected: ["selected", "selected", booleanAttribute], type: ["igxButton", "type"], color: ["igxButtonColor", "color"], background: ["igxButtonBackground", "background"], label: ["igxLabel", "label"], disabled: ["disabled", "disabled", booleanAttribute] }, outputs: { buttonClick: "buttonClick", buttonSelected: "buttonSelected" }, host: { listeners: { "click": "onClick($event)" }, properties: { "attr.role": "this.role", "class.igx-button": "this._cssClass", "class.igx-button--disabled": "this.disabled", "class.igx-button--flat": "this.flat", "class.igx-button--raised": "this.raised", "class.igx-button--outlined": "this.outlined", "class.igx-button--icon": "this.icon", "class.igx-button--fab": "this.fab", "style.--component-size": "this.componentSize", "attr.disabled": "this.disabledAttribute" } }, usesInheritance: true, ngImport: i0 }); }
@@ -25234,7 +25237,7 @@ class IgxGridSelectionService {
25234
25237
  /** Returns all data in the grid, with applied filtering and sorting and without deleted rows. */
25235
25238
  get allData() {
25236
25239
  let allData;
25237
- if (this.isFilteringApplied() || this.grid.sortingExpressions.length) {
25240
+ if (this.isFilteringApplied() || this.grid.sortingExpressions.length || this.grid.groupingExpressions?.length) {
25238
25241
  allData = this.grid.pinnedRecordsCount ? this.grid._filteredSortedUnpinnedData : this.grid.filteredSortedData;
25239
25242
  }
25240
25243
  else {
@@ -27521,10 +27524,14 @@ class IgxButtonGroupComponent extends DisplayDensityBase {
27521
27524
  */
27522
27525
  this.selectedIndexes = [];
27523
27526
  this.buttonClickNotifier$ = new Subject();
27524
- this.buttonSelectedNotifier$ = new Subject();
27525
27527
  this.queryListNotifier$ = new Subject();
27526
27528
  this._disabled = false;
27527
27529
  this._selectionMode = 'single';
27530
+ this.observerConfig = {
27531
+ attributeFilter: ["data-selected"],
27532
+ childList: true,
27533
+ subtree: true,
27534
+ };
27528
27535
  }
27529
27536
  /**
27530
27537
  * Gets the selected button/buttons.
@@ -27556,6 +27563,7 @@ class IgxButtonGroupComponent extends DisplayDensityBase {
27556
27563
  if (index >= this.buttons.length || index < 0) {
27557
27564
  return;
27558
27565
  }
27566
+ this.updateSelected(index);
27559
27567
  const button = this.buttons[index];
27560
27568
  button.select();
27561
27569
  }
@@ -27639,15 +27647,14 @@ class IgxButtonGroupComponent extends DisplayDensityBase {
27639
27647
  this.updateSelected(index);
27640
27648
  }
27641
27649
  button.buttonClick.pipe(takeUntil(this.buttonClickNotifier$)).subscribe((_) => this._clickHandler(index));
27642
- button.buttonSelected
27643
- .pipe(takeUntil(this.buttonSelectedNotifier$))
27644
- .subscribe((_) => this.updateSelected(index));
27645
27650
  });
27646
27651
  };
27647
27652
  this.viewButtons.changes.pipe(takeUntil(this.queryListNotifier$)).subscribe(() => initButtons());
27648
27653
  this.templateButtons.changes.pipe(takeUntil(this.queryListNotifier$)).subscribe(() => initButtons());
27649
27654
  initButtons();
27650
27655
  this._cdr.detectChanges();
27656
+ this.mutationObserver = this.setMutationsObserver();
27657
+ this.mutationObserver.observe(this._el.nativeElement, this.observerConfig);
27651
27658
  }
27652
27659
  /**
27653
27660
  * @hidden
@@ -27655,15 +27662,15 @@ class IgxButtonGroupComponent extends DisplayDensityBase {
27655
27662
  ngOnDestroy() {
27656
27663
  this.buttonClickNotifier$.next();
27657
27664
  this.buttonClickNotifier$.complete();
27658
- this.buttonSelectedNotifier$.next();
27659
- this.buttonSelectedNotifier$.complete();
27660
27665
  this.queryListNotifier$.next();
27661
27666
  this.queryListNotifier$.complete();
27667
+ this.mutationObserver.disconnect();
27662
27668
  }
27663
27669
  /**
27664
27670
  * @hidden
27665
27671
  */
27666
27672
  _clickHandler(index) {
27673
+ this.mutationObserver.disconnect();
27667
27674
  const button = this.buttons[index];
27668
27675
  const args = { owner: this, button, index };
27669
27676
  if (this.selectionMode !== 'multi') {
@@ -27683,6 +27690,43 @@ class IgxButtonGroupComponent extends DisplayDensityBase {
27683
27690
  this.deselected.emit(args);
27684
27691
  }
27685
27692
  }
27693
+ this.mutationObserver.observe(this._el.nativeElement, this.observerConfig);
27694
+ }
27695
+ setMutationsObserver() {
27696
+ return new MutationObserver((records, observer) => {
27697
+ // Stop observing while handling changes
27698
+ observer.disconnect();
27699
+ const updatedButtons = this.getUpdatedButtons(records);
27700
+ if (updatedButtons.length > 0) {
27701
+ updatedButtons.forEach((button) => {
27702
+ const index = this.buttons.map((b) => b.nativeElement).indexOf(button);
27703
+ const args = { owner: this, button: this.buttons[index], index };
27704
+ this.updateButtonSelectionState(index, args);
27705
+ });
27706
+ }
27707
+ // Watch for changes again
27708
+ observer.observe(this._el.nativeElement, this.observerConfig);
27709
+ });
27710
+ }
27711
+ getUpdatedButtons(records) {
27712
+ const updated = [];
27713
+ records
27714
+ .filter((x) => x.type === 'attributes')
27715
+ .reduce((prev, curr) => {
27716
+ prev.push(curr.target);
27717
+ return prev;
27718
+ }, updated);
27719
+ return updated;
27720
+ }
27721
+ updateButtonSelectionState(index, args) {
27722
+ if (this.selectedIndexes.indexOf(index) === -1) {
27723
+ this.selectButton(index);
27724
+ this.selected.emit(args);
27725
+ }
27726
+ else {
27727
+ this.deselectButton(index);
27728
+ this.deselected.emit(args);
27729
+ }
27686
27730
  }
27687
27731
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: IgxButtonGroupComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: DisplayDensityToken, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
27688
27732
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.0.5", type: IgxButtonGroupComponent, isStandalone: true, selector: "igx-buttongroup", inputs: { id: "id", itemContentCssClass: "itemContentCssClass", multiSelection: "multiSelection", selectionMode: "selectionMode", values: "values", disabled: ["disabled", "disabled", booleanAttribute], alignment: "alignment" }, outputs: { selected: "selected", deselected: "deselected" }, host: { properties: { "attr.id": "this.id", "style.zIndex": "this.zIndex" } }, queries: [{ propertyName: "templateButtons", predicate: IgxButtonDirective }], viewQueries: [{ propertyName: "viewButtons", predicate: IgxButtonDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"igx-button-group\" role=\"group\" [class.igx-button-group--vertical]=\"isVertical\">\n <button *ngFor=\"let button of values; let i = 'index'\"\n type=\"button\"\n igxButton=\"flat\"\n [displayDensity]=\"displayDensity\"\n [selected]=\"button.selected\"\n [attr.data-togglable]=\"button.togglable\"\n [disabled]=\"disabled || button.disabled\"\n [igxButtonColor]=\"button.color\"\n [igxButtonBackground]=\"button.bgcolor\"\n [igxLabel]=\"button.label\"\n [igxRipple]=\"button.ripple\"\n >\n <span class=\"igx-button-group__item-content {{ itemContentCssClass }}\">\n <igx-icon *ngIf=\"button.icon\">{{button.icon}}</igx-icon>\n <span class=\"igx-button-group__button-text\" *ngIf=\"button.label\">{{button.label}}</span>\n </span>\n </button>\n <ng-content></ng-content>\n</div>\n", dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxButtonColor", "igxButtonBackground", "igxLabel", "disabled"], outputs: ["buttonClick", "buttonSelected"] }, { kind: "directive", type: IgxRippleDirective, selector: "[igxRipple]", inputs: ["igxRippleTarget", "igxRipple", "igxRippleDuration", "igxRippleCentered", "igxRippleDisabled"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["family", "active", "name"] }] }); }
@@ -43141,6 +43185,9 @@ class IgxColumnGroupComponent extends IgxColumnComponent {
43141
43185
  }
43142
43186
  this.children.forEach(child => {
43143
43187
  child.parent = this;
43188
+ if (this.pinned) {
43189
+ child.pinned = this.pinned;
43190
+ }
43144
43191
  });
43145
43192
  if (this.collapsible) {
43146
43193
  this.setExpandCollapseState();
@@ -43148,10 +43195,20 @@ class IgxColumnGroupComponent extends IgxColumnComponent {
43148
43195
  this.children.changes
43149
43196
  .pipe(takeUntil(this.destroy$))
43150
43197
  .subscribe((change) => {
43151
- change.forEach(x => x.parent = this);
43198
+ let shouldReinitPinning = false;
43199
+ change.forEach(x => {
43200
+ x.parent = this;
43201
+ if (this.pinned && x.pinned !== this.pinned) {
43202
+ shouldReinitPinning = true;
43203
+ x.pinned = this.pinned;
43204
+ }
43205
+ });
43152
43206
  if (this.collapsible) {
43153
43207
  this.setExpandCollapseState();
43154
43208
  }
43209
+ if (shouldReinitPinning) {
43210
+ this.grid.initPinning();
43211
+ }
43155
43212
  });
43156
43213
  }
43157
43214
  /** @hidden @internal **/
@@ -65722,16 +65779,21 @@ class IgxGridBaseDirective extends DisplayDensityBase {
65722
65779
  if (diff) {
65723
65780
  let added = false;
65724
65781
  let removed = false;
65782
+ let pinning = false;
65725
65783
  diff.forEachAddedItem((record) => {
65726
65784
  added = true;
65727
65785
  if (record.item.pinned) {
65728
65786
  this._pinnedColumns.push(record.item);
65787
+ pinning = true;
65729
65788
  }
65730
65789
  else {
65731
65790
  this._unpinnedColumns.push(record.item);
65732
65791
  }
65733
65792
  });
65734
65793
  this.initColumns(this.columnList.toArray(), (col) => this.columnInit.emit(col));
65794
+ if (pinning) {
65795
+ this.initPinning();
65796
+ }
65735
65797
  diff.forEachRemovedItem((record) => {
65736
65798
  const isColumnGroup = record.item instanceof IgxColumnGroupComponent;
65737
65799
  if (!isColumnGroup) {
@@ -66297,42 +66359,9 @@ class IgxGridBaseDirective extends DisplayDensityBase {
66297
66359
  * @hidden
66298
66360
  */
66299
66361
  initPinning() {
66300
- const pinnedColumns = [];
66301
- const unpinnedColumns = [];
66302
66362
  this.calculateGridWidth();
66303
66363
  this.resetCaches();
66304
- // When a column is a group or is inside a group, pin all related.
66305
- this._pinnedColumns.forEach(col => {
66306
- if (col.parent) {
66307
- col.parent.pinned = true;
66308
- }
66309
- if (col.columnGroup) {
66310
- col.children.forEach(child => child.pinned = true);
66311
- }
66312
- });
66313
- // Make sure we don't exceed unpinned area min width and get pinned and unpinned col collections.
66314
- // We take into account top level columns (top level groups and non groups).
66315
- // If top level is unpinned the pinning handles all children to be unpinned as well.
66316
- for (const column of this._columns) {
66317
- if (column.pinned && !column.parent) {
66318
- pinnedColumns.push(column);
66319
- }
66320
- else if (column.pinned && column.parent) {
66321
- if (column.topLevelParent.pinned) {
66322
- pinnedColumns.push(column);
66323
- }
66324
- else {
66325
- column.pinned = false;
66326
- unpinnedColumns.push(column);
66327
- }
66328
- }
66329
- else {
66330
- unpinnedColumns.push(column);
66331
- }
66332
- }
66333
- // Assign the applicable collections.
66334
- this._pinnedColumns = pinnedColumns;
66335
- this._unpinnedColumns = unpinnedColumns;
66364
+ this.handleColumnPinningForGroups();
66336
66365
  this.notifyChanges();
66337
66366
  }
66338
66367
  /**
@@ -66718,6 +66747,42 @@ class IgxGridBaseDirective extends DisplayDensityBase {
66718
66747
  settings.target = targetRow.element.nativeElement;
66719
66748
  this.toggleRowEditingOverlay(true);
66720
66749
  }
66750
+ handleColumnPinningForGroups() {
66751
+ // When a column is a group or is inside a group, pin all related.
66752
+ const pinnedColumns = [];
66753
+ const unpinnedColumns = [];
66754
+ this._pinnedColumns.forEach(col => {
66755
+ if (col.parent) {
66756
+ col.parent.pinned = true;
66757
+ }
66758
+ if (col.columnGroup) {
66759
+ col.children.forEach(child => child.pinned = true);
66760
+ }
66761
+ });
66762
+ // Make sure we don't exceed unpinned area min width and get pinned and unpinned col collections.
66763
+ // We take into account top level columns (top level groups and non groups).
66764
+ // If top level is unpinned the pinning handles all children to be unpinned as well.
66765
+ for (const column of this._columns) {
66766
+ if (column.pinned && !column.parent) {
66767
+ pinnedColumns.push(column);
66768
+ }
66769
+ else if (column.pinned && column.parent) {
66770
+ if (column.topLevelParent.pinned) {
66771
+ pinnedColumns.push(column);
66772
+ }
66773
+ else {
66774
+ column.pinned = false;
66775
+ unpinnedColumns.push(column);
66776
+ }
66777
+ }
66778
+ else {
66779
+ unpinnedColumns.push(column);
66780
+ }
66781
+ }
66782
+ // Assign the applicable collections.
66783
+ this._pinnedColumns = pinnedColumns;
66784
+ this._unpinnedColumns = unpinnedColumns;
66785
+ }
66721
66786
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: IgxGridBaseDirective, deps: [{ token: IgxGridValidationService }, { token: IgxGridSelectionService }, { token: IgxColumnResizingService }, { token: IGX_GRID_SERVICE_BASE }, { token: IgxFlatTransactionFactory }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: DOCUMENT }, { token: i0.ChangeDetectorRef }, { token: i0.IterableDiffers }, { token: i0.ViewContainerRef }, { token: i0.Injector }, { token: i0.EnvironmentInjector }, { token: IgxGridNavigationService }, { token: IgxFilteringService }, { token: IgxOverlayService }, { token: IgxGridSummaryService }, { token: DisplayDensityToken, optional: true }, { token: LOCALE_ID }, { token: PlatformUtil }, { token: IgxGridTransaction, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
66722
66787
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.0.5", type: IgxGridBaseDirective, inputs: { snackbarDisplayTime: "snackbarDisplayTime", autoGenerate: ["autoGenerate", "autoGenerate", booleanAttribute], autoGenerateExclude: "autoGenerateExclude", moving: ["moving", "moving", booleanAttribute], emptyGridTemplate: "emptyGridTemplate", addRowEmptyTemplate: "addRowEmptyTemplate", loadingGridTemplate: "loadingGridTemplate", summaryRowHeight: "summaryRowHeight", dataCloneStrategy: "dataCloneStrategy", clipboardOptions: "clipboardOptions", rowClasses: "rowClasses", rowStyles: "rowStyles", primaryKey: "primaryKey", uniqueColumnValuesStrategy: "uniqueColumnValuesStrategy", dragGhostCustomTemplate: "dragGhostCustomTemplate", rowEditTextTemplate: "rowEditTextTemplate", rowAddTextTemplate: "rowAddTextTemplate", rowEditActionsTemplate: "rowEditActionsTemplate", rowExpandedIndicatorTemplate: "rowExpandedIndicatorTemplate", rowCollapsedIndicatorTemplate: "rowCollapsedIndicatorTemplate", headerExpandedIndicatorTemplate: "headerExpandedIndicatorTemplate", headerCollapsedIndicatorTemplate: "headerCollapsedIndicatorTemplate", excelStyleHeaderIconTemplate: "excelStyleHeaderIconTemplate", sortAscendingHeaderIconTemplate: "sortAscendingHeaderIconTemplate", sortDescendingHeaderIconTemplate: "sortDescendingHeaderIconTemplate", sortHeaderIconTemplate: "sortHeaderIconTemplate", resourceStrings: "resourceStrings", filteringLogic: "filteringLogic", filteringExpressionsTree: "filteringExpressionsTree", advancedFilteringExpressionsTree: "advancedFilteringExpressionsTree", locale: "locale", pagingMode: "pagingMode", hideRowSelectors: ["hideRowSelectors", "hideRowSelectors", booleanAttribute], rowDraggable: ["rowDraggable", "rowDraggable", booleanAttribute], validationTrigger: "validationTrigger", rowEditable: ["rowEditable", "rowEditable", booleanAttribute], height: "height", width: "width", rowHeight: "rowHeight", columnWidth: "columnWidth", emptyGridMessage: "emptyGridMessage", isLoading: ["isLoading", "isLoading", booleanAttribute], emptyFilteredGridMessage: "emptyFilteredGridMessage", pinning: "pinning", allowFiltering: ["allowFiltering", "allowFiltering", booleanAttribute], allowAdvancedFiltering: ["allowAdvancedFiltering", "allowAdvancedFiltering", booleanAttribute], filterMode: "filterMode", summaryPosition: "summaryPosition", summaryCalculationMode: "summaryCalculationMode", showSummaryOnCollapse: ["showSummaryOnCollapse", "showSummaryOnCollapse", booleanAttribute], filterStrategy: "filterStrategy", sortStrategy: "sortStrategy", sortingOptions: "sortingOptions", selectedRows: "selectedRows", headSelectorTemplate: "headSelectorTemplate", rowSelectorTemplate: "rowSelectorTemplate", dragIndicatorIconTemplate: "dragIndicatorIconTemplate", sortingExpressions: "sortingExpressions", batchEditing: ["batchEditing", "batchEditing", booleanAttribute], cellSelection: "cellSelection", rowSelection: "rowSelection", columnSelection: "columnSelection", expansionStates: "expansionStates", outlet: "outlet", totalRecords: "totalRecords", selectRowOnClick: ["selectRowOnClick", "selectRowOnClick", booleanAttribute] }, outputs: { filteringExpressionsTreeChange: "filteringExpressionsTreeChange", advancedFilteringExpressionsTreeChange: "advancedFilteringExpressionsTreeChange", gridScroll: "gridScroll", cellClick: "cellClick", formGroupCreated: "formGroupCreated", validationStatusChange: "validationStatusChange", selected: "selected", rowSelectionChanging: "rowSelectionChanging", columnSelectionChanging: "columnSelectionChanging", columnPin: "columnPin", columnPinned: "columnPinned", cellEditEnter: "cellEditEnter", cellEditExit: "cellEditExit", cellEdit: "cellEdit", cellEditDone: "cellEditDone", rowEditEnter: "rowEditEnter", rowEdit: "rowEdit", rowEditDone: "rowEditDone", rowEditExit: "rowEditExit", columnInit: "columnInit", sorting: "sorting", sortingDone: "sortingDone", filtering: "filtering", filteringDone: "filteringDone", rowAdded: "rowAdded", rowDeleted: "rowDeleted", rowDelete: "rowDelete", rowAdd: "rowAdd", columnResized: "columnResized", contextMenu: "contextMenu", doubleClick: "doubleClick", columnVisibilityChanging: "columnVisibilityChanging", columnVisibilityChanged: "columnVisibilityChanged", columnMovingStart: "columnMovingStart", columnMoving: "columnMoving", columnMovingEnd: "columnMovingEnd", gridKeydown: "gridKeydown", rowDragStart: "rowDragStart", rowDragEnd: "rowDragEnd", gridCopy: "gridCopy", expansionStatesChange: "expansionStatesChange", rowToggle: "rowToggle", rowPinning: "rowPinning", rowPinned: "rowPinned", activeNodeChange: "activeNodeChange", sortingExpressionsChange: "sortingExpressionsChange", toolbarExporting: "toolbarExporting", rangeSelected: "rangeSelected", rendered: "rendered", localeChange: "localeChange", dataChanging: "dataChanging", dataChanged: "dataChanged" }, host: { listeners: { "mouseleave": "hideActionStrip()" }, properties: { "attr.tabindex": "this.tabindex", "attr.role": "this.hostRole", "class.igx-grid": "this.baseClass", "style.--component-size": "this.hostStyles", "style.height": "this.height", "style.width": "this.hostWidth" } }, queries: [{ propertyName: "actionStrip", first: true, predicate: IgxActionStripComponent, descendants: true }, { propertyName: "excelStyleLoadingValuesTemplateDirective", first: true, predicate: IgxExcelStyleLoadingValuesTemplateDirective, descendants: true, read: IgxExcelStyleLoadingValuesTemplateDirective, static: true }, { propertyName: "rowAddText", first: true, predicate: IgxRowAddTextDirective, descendants: true, read: TemplateRef }, { propertyName: "rowExpandedIndicatorDirectiveTemplate", first: true, predicate: IgxRowExpandedIndicatorDirective, descendants: true, read: TemplateRef }, { propertyName: "rowCollapsedIndicatorDirectiveTemplate", first: true, predicate: IgxRowCollapsedIndicatorDirective, descendants: true, read: TemplateRef }, { propertyName: "headerExpandedIndicatorDirectiveTemplate", first: true, predicate: IgxHeaderExpandedIndicatorDirective, descendants: true, read: TemplateRef }, { propertyName: "headerCollapsedIndicatorDirectiveTemplate", first: true, predicate: IgxHeaderCollapsedIndicatorDirective, descendants: true, read: TemplateRef }, { propertyName: "excelStyleHeaderIconDirectiveTemplate", first: true, predicate: IgxExcelStyleHeaderIconDirective, descendants: true, read: TemplateRef }, { propertyName: "sortAscendingHeaderIconDirectiveTemplate", first: true, predicate: IgxSortAscendingHeaderIconDirective, descendants: true, read: TemplateRef }, { propertyName: "sortDescendingHeaderIconDirectiveTemplate", first: true, predicate: IgxSortDescendingHeaderIconDirective, descendants: true, read: TemplateRef }, { propertyName: "sortHeaderIconDirectiveTemplate", first: true, predicate: IgxSortHeaderIconDirective, descendants: true, read: TemplateRef }, { propertyName: "excelStyleFilteringComponents", predicate: IgxGridExcelStyleFilteringComponent, read: IgxGridExcelStyleFilteringComponent }, { propertyName: "columnList", predicate: IgxColumnComponent, descendants: true, read: IgxColumnComponent }, { propertyName: "headSelectorsTemplates", predicate: IgxHeadSelectorDirective, read: TemplateRef }, { propertyName: "rowSelectorsTemplates", predicate: IgxRowSelectorDirective, read: TemplateRef }, { propertyName: "dragGhostCustomTemplates", predicate: IgxRowDragGhostDirective, read: TemplateRef }, { propertyName: "rowEditCustomDirectives", predicate: IgxRowEditTemplateDirective, read: TemplateRef }, { propertyName: "rowEditTextDirectives", predicate: IgxRowEditTextDirective, read: TemplateRef }, { propertyName: "rowEditActionsDirectives", predicate: IgxRowEditActionsDirective, read: TemplateRef }, { propertyName: "dragIndicatorIconTemplates", predicate: IgxDragIndicatorIconDirective, read: TemplateRef }, { propertyName: "rowEditTabsCUSTOM", predicate: IgxRowEditTabStopDirective, descendants: true }, { propertyName: "toolbar", predicate: IgxGridToolbarComponent }, { propertyName: "paginationComponents", predicate: IgxPaginatorComponent }], viewQueries: [{ propertyName: "addRowSnackbar", first: true, predicate: IgxSnackbarComponent, descendants: true }, { propertyName: "resizeLine", first: true, predicate: IgxGridColumnResizerComponent, descendants: true }, { propertyName: "loadingOverlay", first: true, predicate: ["loadingOverlay"], descendants: true, read: IgxToggleDirective, static: true }, { propertyName: "loadingOutlet", first: true, predicate: ["igxLoadingOverlayOutlet"], descendants: true, read: IgxOverlayOutletDirective, static: true }, { propertyName: "emptyFilteredGridTemplate", first: true, predicate: ["emptyFilteredGrid"], descendants: true, read: TemplateRef, static: true }, { propertyName: "emptyGridDefaultTemplate", first: true, predicate: ["defaultEmptyGrid"], descendants: true, read: TemplateRef, static: true }, { propertyName: "loadingGridDefaultTemplate", first: true, predicate: ["defaultLoadingGrid"], descendants: true, read: TemplateRef, static: true }, { propertyName: "parentVirtDir", first: true, predicate: ["scrollContainer"], descendants: true, read: IgxGridForOfDirective, static: true }, { propertyName: "verticalScrollContainer", first: true, predicate: ["verticalScrollContainer"], descendants: true, read: IgxGridForOfDirective, static: true }, { propertyName: "verticalScroll", first: true, predicate: ["verticalScrollHolder"], descendants: true, read: IgxGridForOfDirective, static: true }, { propertyName: "scr", first: true, predicate: ["scr"], descendants: true, read: ElementRef, static: true }, { propertyName: "headerSelectorBaseTemplate", first: true, predicate: ["headSelectorBaseTemplate"], descendants: true, read: TemplateRef, static: true }, { propertyName: "footer", first: true, predicate: ["footer"], descendants: true, read: ElementRef }, { propertyName: "theadRow", first: true, predicate: IgxGridHeaderRowComponent, descendants: true, static: true }, { propertyName: "groupArea", first: true, predicate: IgxGridGroupByAreaComponent, descendants: true }, { propertyName: "tbody", first: true, predicate: ["tbody"], descendants: true, static: true }, { propertyName: "pinContainer", first: true, predicate: ["pinContainer"], descendants: true, read: ElementRef }, { propertyName: "tfoot", first: true, predicate: ["tfoot"], descendants: true, static: true }, { propertyName: "rowEditingOutletDirective", first: true, predicate: ["igxRowEditingOverlayOutlet"], descendants: true, read: IgxOverlayOutletDirective, static: true }, { propertyName: "dragIndicatorIconBase", first: true, predicate: ["dragIndicatorIconBase"], descendants: true, read: TemplateRef, static: true }, { propertyName: "rowEditingOverlay", first: true, predicate: ["rowEditingOverlay"], descendants: true, read: IgxToggleDirective }, { propertyName: "_outletDirective", first: true, predicate: ["igxFilteringOverlayOutlet"], descendants: true, read: IgxOverlayOutletDirective, static: true }, { propertyName: "defaultExpandedTemplate", first: true, predicate: ["defaultExpandedTemplate"], descendants: true, read: TemplateRef, static: true }, { propertyName: "defaultCollapsedTemplate", first: true, predicate: ["defaultCollapsedTemplate"], descendants: true, read: TemplateRef, static: true }, { propertyName: "defaultESFHeaderIconTemplate", first: true, predicate: ["defaultESFHeaderIcon"], descendants: true, read: TemplateRef, static: true }, { propertyName: "defaultRowEditTemplate", first: true, predicate: ["defaultRowEditTemplate"], descendants: true, read: TemplateRef, static: true }, { propertyName: "tmpOutlets", predicate: IgxTemplateOutletDirective, descendants: true, read: IgxTemplateOutletDirective }, { propertyName: "rowEditTabsDEFAULT", predicate: IgxRowEditTabStopDirective, descendants: true }, { propertyName: "_summaryRowList", predicate: ["summaryRow"], descendants: true, read: IgxSummaryRowComponent }, { propertyName: "_rowList", predicate: ["row"], descendants: true }, { propertyName: "_pinnedRowList", predicate: ["pinnedRow"], descendants: true }, { propertyName: "_dataRowList", predicate: IgxRowDirective, descendants: true, read: IgxRowDirective }], usesInheritance: true, ngImport: i0 }); }
66723
66788
  }
@@ -77241,7 +77306,7 @@ class IgxTreeGridSelectionService extends IgxGridSelectionService {
77241
77306
  added, removed, event, cancel: false
77242
77307
  };
77243
77308
  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)));
77309
+ args.newSelection = Array.from(this.grid.gridAPI.get_all_data().filter(r => this.rowsToBeSelected.has(this.grid.primaryKey ? r[this.grid.primaryKey] : r)));
77245
77310
  // retrieve rows/parents/children which has been added/removed from the selection
77246
77311
  this.handleAddedAndRemovedArgs(args);
77247
77312
  this.grid.rowSelectionChanging.emit(args);