igniteui-angular 17.0.12 → 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 (30) hide show
  1. package/esm2022/lib/buttonGroup/buttonGroup.component.mjs +60 -24
  2. package/esm2022/lib/directives/button/button.directive.mjs +10 -5
  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/fesm2022/igniteui-angular.mjs +124 -62
  6. package/fesm2022/igniteui-angular.mjs.map +1 -1
  7. package/lib/buttonGroup/buttonGroup.component.d.ts +5 -1
  8. package/lib/core/styles/components/button/_button-theme.scss +1 -8
  9. package/lib/directives/button/button.directive.d.ts +3 -2
  10. package/lib/grids/grid-base.directive.d.ts +1 -0
  11. package/package.json +1 -1
  12. package/styles/igniteui-fluent-dark-excel.css +1 -1
  13. package/styles/igniteui-fluent-dark-word.css +1 -1
  14. package/styles/igniteui-fluent-dark.css +1 -1
  15. package/styles/igniteui-fluent-light-excel.css +1 -1
  16. package/styles/igniteui-fluent-light-word.css +1 -1
  17. package/styles/igniteui-fluent-light.css +1 -1
  18. package/styles/maps/igniteui-angular-dark.css.map +1 -1
  19. package/styles/maps/igniteui-angular.css.map +1 -1
  20. package/styles/maps/igniteui-bootstrap-dark.css.map +1 -1
  21. package/styles/maps/igniteui-bootstrap-light.css.map +1 -1
  22. package/styles/maps/igniteui-dark-green.css.map +1 -1
  23. package/styles/maps/igniteui-fluent-dark-excel.css.map +1 -1
  24. package/styles/maps/igniteui-fluent-dark-word.css.map +1 -1
  25. package/styles/maps/igniteui-fluent-dark.css.map +1 -1
  26. package/styles/maps/igniteui-fluent-light-excel.css.map +1 -1
  27. package/styles/maps/igniteui-fluent-light-word.css.map +1 -1
  28. package/styles/maps/igniteui-fluent-light.css.map +1 -1
  29. package/styles/maps/igniteui-indigo-dark.css.map +1 -1
  30. package/styles/maps/igniteui-indigo-light.css.map +1 -1
@@ -8301,9 +8301,7 @@ class IgxButtonDirective extends DisplayDensityBase {
8301
8301
  set selected(value) {
8302
8302
  if (this._selected !== value) {
8303
8303
  this._selected = value;
8304
- this.buttonSelected.emit({
8305
- button: this
8306
- });
8304
+ this._renderer.setAttribute(this.nativeElement, 'data-selected', value.toString());
8307
8305
  }
8308
8306
  }
8309
8307
  get selected() {
@@ -8352,6 +8350,13 @@ class IgxButtonDirective extends DisplayDensityBase {
8352
8350
  */
8353
8351
  this.disabled = false;
8354
8352
  }
8353
+ ngAfterContentInit() {
8354
+ this.nativeElement.addEventListener('click', () => {
8355
+ this.buttonSelected.emit({
8356
+ button: this
8357
+ });
8358
+ });
8359
+ }
8355
8360
  /**
8356
8361
  * @hidden
8357
8362
  * @internal
@@ -8476,7 +8481,7 @@ class IgxButtonDirective extends DisplayDensityBase {
8476
8481
  * @internal
8477
8482
  */
8478
8483
  deselect() {
8479
- this._selected = false;
8484
+ this.selected = false;
8480
8485
  }
8481
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 }); }
8482
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 }); }
@@ -27519,10 +27524,14 @@ class IgxButtonGroupComponent extends DisplayDensityBase {
27519
27524
  */
27520
27525
  this.selectedIndexes = [];
27521
27526
  this.buttonClickNotifier$ = new Subject();
27522
- this.buttonSelectedNotifier$ = new Subject();
27523
27527
  this.queryListNotifier$ = new Subject();
27524
27528
  this._disabled = false;
27525
27529
  this._selectionMode = 'single';
27530
+ this.observerConfig = {
27531
+ attributeFilter: ["data-selected"],
27532
+ childList: true,
27533
+ subtree: true,
27534
+ };
27526
27535
  }
27527
27536
  /**
27528
27537
  * Gets the selected button/buttons.
@@ -27554,6 +27563,7 @@ class IgxButtonGroupComponent extends DisplayDensityBase {
27554
27563
  if (index >= this.buttons.length || index < 0) {
27555
27564
  return;
27556
27565
  }
27566
+ this.updateSelected(index);
27557
27567
  const button = this.buttons[index];
27558
27568
  button.select();
27559
27569
  }
@@ -27566,24 +27576,19 @@ class IgxButtonGroupComponent extends DisplayDensityBase {
27566
27576
  if (this.selectedIndexes.indexOf(index) === -1) {
27567
27577
  this.selectedIndexes.push(index);
27568
27578
  }
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
- }
27579
+ this._renderer.setAttribute(button.nativeElement, 'aria-pressed', 'true');
27580
+ this._renderer.addClass(button.nativeElement, 'igx-button-group__item--selected');
27581
+ const indexInViewButtons = this.viewButtons.toArray().indexOf(button);
27582
+ if (indexInViewButtons !== -1) {
27583
+ this.values[indexInViewButtons].selected = true;
27584
27584
  }
27585
- else {
27586
- this.deselectButton(index);
27585
+ // deselect other buttons if selectionMode is not multi
27586
+ if (this.selectionMode !== 'multi' && this.selectedIndexes.length > 1) {
27587
+ this.buttons.forEach((_, i) => {
27588
+ if (i !== index && this.selectedIndexes.indexOf(i) !== -1) {
27589
+ this.deselectButton(i);
27590
+ }
27591
+ });
27587
27592
  }
27588
27593
  }
27589
27594
  /**
@@ -27642,15 +27647,14 @@ class IgxButtonGroupComponent extends DisplayDensityBase {
27642
27647
  this.updateSelected(index);
27643
27648
  }
27644
27649
  button.buttonClick.pipe(takeUntil(this.buttonClickNotifier$)).subscribe((_) => this._clickHandler(index));
27645
- button.buttonSelected
27646
- .pipe(takeUntil(this.buttonSelectedNotifier$))
27647
- .subscribe((_) => this.updateSelected(index));
27648
27650
  });
27649
27651
  };
27650
27652
  this.viewButtons.changes.pipe(takeUntil(this.queryListNotifier$)).subscribe(() => initButtons());
27651
27653
  this.templateButtons.changes.pipe(takeUntil(this.queryListNotifier$)).subscribe(() => initButtons());
27652
27654
  initButtons();
27653
27655
  this._cdr.detectChanges();
27656
+ this.mutationObserver = this.setMutationsObserver();
27657
+ this.mutationObserver.observe(this._el.nativeElement, this.observerConfig);
27654
27658
  }
27655
27659
  /**
27656
27660
  * @hidden
@@ -27658,15 +27662,15 @@ class IgxButtonGroupComponent extends DisplayDensityBase {
27658
27662
  ngOnDestroy() {
27659
27663
  this.buttonClickNotifier$.next();
27660
27664
  this.buttonClickNotifier$.complete();
27661
- this.buttonSelectedNotifier$.next();
27662
- this.buttonSelectedNotifier$.complete();
27663
27665
  this.queryListNotifier$.next();
27664
27666
  this.queryListNotifier$.complete();
27667
+ this.mutationObserver.disconnect();
27665
27668
  }
27666
27669
  /**
27667
27670
  * @hidden
27668
27671
  */
27669
27672
  _clickHandler(index) {
27673
+ this.mutationObserver.disconnect();
27670
27674
  const button = this.buttons[index];
27671
27675
  const args = { owner: this, button, index };
27672
27676
  if (this.selectionMode !== 'multi') {
@@ -27686,6 +27690,43 @@ class IgxButtonGroupComponent extends DisplayDensityBase {
27686
27690
  this.deselected.emit(args);
27687
27691
  }
27688
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
+ }
27689
27730
  }
27690
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 }); }
27691
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"] }] }); }
@@ -43144,6 +43185,9 @@ class IgxColumnGroupComponent extends IgxColumnComponent {
43144
43185
  }
43145
43186
  this.children.forEach(child => {
43146
43187
  child.parent = this;
43188
+ if (this.pinned) {
43189
+ child.pinned = this.pinned;
43190
+ }
43147
43191
  });
43148
43192
  if (this.collapsible) {
43149
43193
  this.setExpandCollapseState();
@@ -43151,10 +43195,20 @@ class IgxColumnGroupComponent extends IgxColumnComponent {
43151
43195
  this.children.changes
43152
43196
  .pipe(takeUntil(this.destroy$))
43153
43197
  .subscribe((change) => {
43154
- 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
+ });
43155
43206
  if (this.collapsible) {
43156
43207
  this.setExpandCollapseState();
43157
43208
  }
43209
+ if (shouldReinitPinning) {
43210
+ this.grid.initPinning();
43211
+ }
43158
43212
  });
43159
43213
  }
43160
43214
  /** @hidden @internal **/
@@ -65725,16 +65779,21 @@ class IgxGridBaseDirective extends DisplayDensityBase {
65725
65779
  if (diff) {
65726
65780
  let added = false;
65727
65781
  let removed = false;
65782
+ let pinning = false;
65728
65783
  diff.forEachAddedItem((record) => {
65729
65784
  added = true;
65730
65785
  if (record.item.pinned) {
65731
65786
  this._pinnedColumns.push(record.item);
65787
+ pinning = true;
65732
65788
  }
65733
65789
  else {
65734
65790
  this._unpinnedColumns.push(record.item);
65735
65791
  }
65736
65792
  });
65737
65793
  this.initColumns(this.columnList.toArray(), (col) => this.columnInit.emit(col));
65794
+ if (pinning) {
65795
+ this.initPinning();
65796
+ }
65738
65797
  diff.forEachRemovedItem((record) => {
65739
65798
  const isColumnGroup = record.item instanceof IgxColumnGroupComponent;
65740
65799
  if (!isColumnGroup) {
@@ -66300,42 +66359,9 @@ class IgxGridBaseDirective extends DisplayDensityBase {
66300
66359
  * @hidden
66301
66360
  */
66302
66361
  initPinning() {
66303
- const pinnedColumns = [];
66304
- const unpinnedColumns = [];
66305
66362
  this.calculateGridWidth();
66306
66363
  this.resetCaches();
66307
- // When a column is a group or is inside a group, pin all related.
66308
- this._pinnedColumns.forEach(col => {
66309
- if (col.parent) {
66310
- col.parent.pinned = true;
66311
- }
66312
- if (col.columnGroup) {
66313
- col.children.forEach(child => child.pinned = true);
66314
- }
66315
- });
66316
- // Make sure we don't exceed unpinned area min width and get pinned and unpinned col collections.
66317
- // We take into account top level columns (top level groups and non groups).
66318
- // If top level is unpinned the pinning handles all children to be unpinned as well.
66319
- for (const column of this._columns) {
66320
- if (column.pinned && !column.parent) {
66321
- pinnedColumns.push(column);
66322
- }
66323
- else if (column.pinned && column.parent) {
66324
- if (column.topLevelParent.pinned) {
66325
- pinnedColumns.push(column);
66326
- }
66327
- else {
66328
- column.pinned = false;
66329
- unpinnedColumns.push(column);
66330
- }
66331
- }
66332
- else {
66333
- unpinnedColumns.push(column);
66334
- }
66335
- }
66336
- // Assign the applicable collections.
66337
- this._pinnedColumns = pinnedColumns;
66338
- this._unpinnedColumns = unpinnedColumns;
66364
+ this.handleColumnPinningForGroups();
66339
66365
  this.notifyChanges();
66340
66366
  }
66341
66367
  /**
@@ -66721,6 +66747,42 @@ class IgxGridBaseDirective extends DisplayDensityBase {
66721
66747
  settings.target = targetRow.element.nativeElement;
66722
66748
  this.toggleRowEditingOverlay(true);
66723
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
+ }
66724
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 }); }
66725
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 }); }
66726
66788
  }