import * as i0 from '@angular/core'; import { OnInit, DoCheck, OnDestroy, AfterContentInit, AfterViewInit, NgZone, ChangeDetectorRef, IterableDiffers, ViewContainerRef, Injector, EnvironmentInjector, TemplateRef, EventEmitter, QueryList, ElementRef, ComponentRef, PipeTransform } from '@angular/core'; import { IgxRowDirective, GridType, IgxGridValidationService, IgxGridSelectionService, IgxColumnResizingService, GridServiceType, IgxGridNavigationService, IgxFilteringService, IgxGridSummaryService, IgxGridTemplateContext, IClipboardOptions, IGridScrollEventArgs, IgxGridExcelStyleFilteringComponent, IgxGridHeaderGroupComponent, IGridCellEventArgs, IGridRowEventArgs, IGridFormGroupCreatedEventArgs, IGridValidationStatusEventArgs, IRowSelectionEventArgs, IColumnSelectionEventArgs, IPinColumnCancellableEventArgs, IPinColumnEventArgs, IGridEditEventArgs, IGridEditDoneEventArgs, IgxColumnComponent, IColumnsAutoGeneratedEventArgs, ISortingEventArgs, IFilteringEventArgs, IRowDataEventArgs, IRowDataCancelableEventArgs, IColumnResizeEventArgs, IGridContextMenuEventArgs, IColumnVisibilityChangingEventArgs, IColumnVisibilityChangedEventArgs, IColumnMovingStartEventArgs, IColumnMovingEventArgs, IColumnMovingEndEventArgs, IGridKeydownEventArgs, IRowDragStartEventArgs, IRowDragEndEventArgs, IGridClipboardEvent, IRowToggleEventArgs, IPinRowEventArgs, IActiveNodeChangeEventArgs, IGridToolbarExportEventArgs, GridSelectionRange, IgxGridColumnResizerComponent, IgxExcelStyleLoadingValuesTemplateDirective, IgxHeadSelectorTemplateContext, IgxRowSelectorTemplateContext, IgxGridRowDragGhostContext, IgxGridFilteringRowComponent, IgxGridHeaderRowComponent, IgxGridGroupByAreaComponent, IgxGridRowEditTemplateContext, IgxGridRowEditTextTemplateContext, IgxGridEmptyTemplateContext, IgxGridRowEditActionsTemplateContext, IgxGridRowTemplateContext, IgxGridHeaderTemplateContext, IgxRowEditTabStopDirective, IgxGridToolbarComponent, IgxSummaryRowComponent, GridPagingMode, GridValidationTrigger, IPinningConfig, FilterMode, GridSummaryPosition, IgxGridHeaderComponent, IgxGridFilteringCellComponent, GridSelectionMode, GridCellMergeMode, ISearchInfo, ISizeInfo, DropPosition, RowType, ICellPosition, IgxGridMasterDetailContext, IgxGroupByRowTemplateDirective, IgxGroupByRowSelectorTemplateContext, IgxGroupByRowTemplateContext, IgxGridDetailTemplateDirective, CellType, IgxGridCellComponent, IgxRowAddTextDirective, IgxRowEditActionsDirective, IgxRowEditTextDirective, IgxGridFooterComponent, IgxAdvancedFilteringDialogComponent, IgxRowExpandedIndicatorDirective, IgxRowCollapsedIndicatorDirective, IgxHeaderExpandedIndicatorDirective, IgxHeaderCollapsedIndicatorDirective, IgxExcelStyleHeaderIconDirective, IgxSortAscendingHeaderIconDirective, IgxSortDescendingHeaderIconDirective, IgxSortHeaderIconDirective, IgxGridEmptyTemplateDirective, IgxGridLoadingTemplateDirective, IgxDragIndicatorIconDirective, IgxRowDragGhostDirective, IgxGridStateDirective, IgxGridPinningActionsComponent, IgxGridEditingActionsComponent, IgxGridActionsBaseDirective, IgxGridActionButtonComponent, IgxFilterCellTemplateDirective, IgxSummaryTemplateDirective, IgxCellTemplateDirective, IgxCellValidationErrorDirective, IgxCellHeaderTemplateDirective, IgxCellFooterTemplateDirective, IgxCellEditorTemplateDirective, IgxCollapsibleIndicatorTemplateDirective, IgxColumnGroupComponent, IgxColumnLayoutComponent, IgxColumnActionsComponent, IgxColumnHidingDirective, IgxColumnPinningDirective, IgxRowSelectorDirective, IgxGroupByRowSelectorDirective, IgxHeadSelectorDirective, IgxCSVTextDirective, IgxExcelTextDirective, IgxGridToolbarActionsComponent, IgxGridToolbarAdvancedFilteringComponent, IgxGridToolbarExporterComponent, IgxGridToolbarHidingComponent, IgxGridToolbarPinningComponent, IgxGridToolbarTitleComponent, IgxGridToolbarDirective, IgxExcelStyleHeaderComponent, IgxExcelStyleSortingComponent, IgxExcelStylePinningComponent, IgxExcelStyleHidingComponent, IgxExcelStyleSelectingComponent, IgxExcelStyleClearFiltersComponent, IgxExcelStyleConditionalFilterComponent, IgxExcelStyleMovingComponent, IgxExcelStyleSearchComponent, IgxExcelStyleColumnOperationsTemplateDirective, IgxExcelStyleFilterOperationsTemplateDirective, IgxColumnRequiredValidatorDirective, IgxColumnMinValidatorDirective, IgxColumnMaxValidatorDirective, IgxColumnEmailValidatorDirective, IgxColumnMinLengthValidatorDirective, IgxColumnMaxLengthValidatorDirective, IgxColumnPatternValidatorDirective } from 'igniteui-angular/grids/core'; import { IgxFlatTransactionFactory, IgxOverlayService, PlatformUtil, TransactionService, Transaction, State, IDataCloneStrategy, IFilteringExpressionsTree, ColumnType, ISortingExpression, IgxOverlayOutletDirective, IgxActionStripToken, IGridResourceStrings, FilteringLogic, GridSummaryCalculationMode, IFilteringStrategy, IGridSortingStrategy, IGridMergeStrategy, ISortingOptions, EntityType, OverlaySettings, IFilteringOperation, ColumnPinningPosition, ɵSize as _Size, IGroupByRecord, StateUpdateEvent, ISummaryExpression, IBaseEventArgs, IGroupingExpression, IGroupByExpandState, IGridGroupingStrategy, IGroupByResult } from 'igniteui-angular/core'; import * as rxjs from 'rxjs'; import { Subject, Observable } from 'rxjs'; import * as igniteui_angular_directives from 'igniteui-angular/directives'; import { IgxTextHighlightService, IForOfDataChangeEventArgs, IgxToggleDirective, IgxGridForOfDirective, ICachedViewLoadedEventArgs, IForOfState } from 'igniteui-angular/directives'; import { IgxPaginatorComponent, IgxPageNavigationComponent, IgxPageSizeSelectorComponent, IgxPaginatorContentDirective, IgxPaginatorDirective } from 'igniteui-angular/paginator'; import { IgxSnackbarComponent } from 'igniteui-angular/snackbar'; declare class IgxGridRowComponent extends IgxRowDirective { getContext(col: any, row: any): { $implicit: any; row: any; }; getContextMRL(pinnedCols: any, row: any): { $implicit: any; row: any; }; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare abstract class IgxGridBaseDirective implements GridType, OnInit, DoCheck, OnDestroy, AfterContentInit, AfterViewInit { readonly validation: IgxGridValidationService; /** @hidden @internal */ readonly selectionService: IgxGridSelectionService; protected colResizingService: IgxColumnResizingService; readonly gridAPI: GridServiceType; protected transactionFactory: IgxFlatTransactionFactory; private elementRef; protected zone: NgZone; /** @hidden @internal */ document: Document; readonly cdr: ChangeDetectorRef; protected differs: IterableDiffers; protected viewRef: ViewContainerRef; protected injector: Injector; protected envInjector: EnvironmentInjector; navigation: IgxGridNavigationService; /** @hidden @internal */ filteringService: IgxFilteringService; protected textHighlightService: IgxTextHighlightService; protected overlayService: IgxOverlayService; /** @hidden @internal */ summaryService: IgxGridSummaryService; private localeId; protected platform: PlatformUtil; protected _diTransactions: TransactionService; /** * Gets/Sets the display time for the row adding snackbar notification. * * @remarks * By default it is 6000ms. */ snackbarDisplayTime: number; /** * Gets/Sets whether to auto-generate the columns. * * @remarks * The default value is false. When set to true, it will override all columns declared through code or in markup. * @example * ```html * * ``` */ autoGenerate: boolean; /** * Gets/Sets a list of property keys to be excluded from the generated column collection * @remarks * The collection is only used during initialization and changing it will not cause any changes in the generated columns at runtime * unless the grid is destroyed and recreated. To modify the columns visible in the UI at runtime, please use their * [hidden](https://www.infragistics.com/products/ignite-ui-angular/docs/typescript/latest/classes/IgxColumnComponent.html#hidden) property. * @example * ```html * * ``` * ```typescript * const Data = [{ 'Id': '1', 'ProductName': 'name1', 'Description': 'description1', 'Count': 5 }] * ``` */ autoGenerateExclude: string[]; /** * Controls whether columns moving is enabled in the grid. * */ moving: boolean; /** * Gets/Sets a custom template when empty. * * @example * ```html * * * * ``` * Or * ```html * * ``` */ get emptyGridTemplate(): TemplateRef; set emptyGridTemplate(template: TemplateRef); /** * Gets/Sets a custom template for adding row UI when grid is empty. * * @example * ```html * * ``` */ addRowEmptyTemplate: TemplateRef; /** * Gets/Sets a custom template when loading. * * @example * ```html * * * * ``` * Or * ```html * * ``` */ get loadingGridTemplate(): TemplateRef; set loadingGridTemplate(template: TemplateRef); /** * Get/Set IgxSummaryRow height */ set summaryRowHeight(value: number); get summaryRowHeight(): number; /** @hidden @internal */ get hasColumnsToAutosize(): boolean; /** * Gets/Sets the data clone strategy of the grid when in edit mode. * * @example * ```html * * ``` */ get dataCloneStrategy(): IDataCloneStrategy; set dataCloneStrategy(strategy: IDataCloneStrategy); /** * Controls the copy behavior of the grid. */ clipboardOptions: IClipboardOptions; /** * Emitted after filtering is performed. * * @remarks * Returns the filtering expressions tree of the column for which filtering was performed. * @example * ```html * * ``` */ filteringExpressionsTreeChange: EventEmitter; /** * Emitted after advanced filtering is performed. * * @remarks * Returns the advanced filtering expressions tree. * @example * ```html * * ``` */ advancedFilteringExpressionsTreeChange: EventEmitter; /** * Emitted when grid is scrolled horizontally/vertically. * * @example * ```html * * ``` */ gridScroll: EventEmitter; /** * Sets a conditional class selector to the grid's row element. * Accepts an object literal, containing key-value pairs, * where the key is the name of the CSS class and the value is * either a callback function that returns a boolean, or boolean, like so: * ```typescript * callback = (row: RowType) => { return row.selected > 6; } * rowClasses = { 'className' : this.callback }; * ``` * ```html * * ``` * * @memberof IgxColumnComponent */ rowClasses: any; /** * Sets conditional style properties on the grid row element. * It accepts an object literal where the keys are * the style properties and the value is an expression to be evaluated. * ```typescript * styles = { * background: 'yellow', * color: (row: RowType) => row.selected : 'red': 'white' * } * ``` * ```html * * ``` * * @memberof IgxColumnComponent */ rowStyles: any; /** * Gets/Sets the primary key. * * @example * ```html * * ``` */ get primaryKey(): string; set primaryKey(value: string); /** * Gets/Sets a unique values strategy used by the Excel Style Filtering * * @remarks * Provides a callback for loading unique column values on demand. * If this property is provided, the unique values it generates will be used by the Excel Style Filtering. * @example * ```html * * ``` */ uniqueColumnValuesStrategy: (column: ColumnType, filteringExpressionsTree: IFilteringExpressionsTree, done: (values: any[]) => void) => void; /** @hidden @internal */ excelStyleFilteringComponents: QueryList; /** @hidden @internal */ get excelStyleFilteringComponent(): IgxGridExcelStyleFilteringComponent; /** @hidden @internal */ get headerGroups(): IgxGridHeaderGroupComponent[]; /** * Emitted when a cell is clicked. * * @remarks * Returns the `IgxGridCell`. * @example * ```html * * ``` */ cellClick: EventEmitter; /** * Emitted when a row is clicked. * * @remarks * Returns the `IgxGridRow`. * @example * ```html * * ``` */ rowClick: EventEmitter; /** * Emitted when formGroup is created on edit of row/cell. * * @example * ```html * * ``` */ formGroupCreated: EventEmitter; /** * Emitted when grid's validation status changes. * * @example * ```html * * ``` */ validationStatusChange: EventEmitter; /** * Emitted when a cell is selected. * * @remarks * Returns the `IgxGridCell`. * @example * ```html * * ``` */ selected: EventEmitter; /** * Emitted when `IgxGridRowComponent` is selected. * * @example * ```html * * ``` */ rowSelectionChanging: EventEmitter; /** * Emitted when `IgxColumnComponent` is selected. * * @example * ```html * * ``` */ columnSelectionChanging: EventEmitter; /** * Emitted before `IgxColumnComponent` is pinned. * * @remarks * The index at which to insert the column may be changed through the `insertAtIndex` property. * @example * ```typescript * public columnPinning(event) { * if (event.column.field === "Name") { * event.insertAtIndex = 0; * } * } * ``` */ columnPin: EventEmitter; /** * Emitted after `IgxColumnComponent` is pinned. * * @remarks * The index that the column is inserted at may be changed through the `insertAtIndex` property. * @example * ```typescript * public columnPinning(event) { * if (event.column.field === "Name") { * event.insertAtIndex = 0; * } * } * ``` */ columnPinned: EventEmitter; /** * Emitted when cell enters edit mode. * * @remarks * This event is cancelable. * @example * ```html * * * ``` */ cellEditEnter: EventEmitter; /** * Emitted when cell exits edit mode. * * @example * ```html * * * ``` */ cellEditExit: EventEmitter; /** * Emitted when cell has been edited. * * @remarks * Event is fired after editing is completed, when the cell is exiting edit mode. * This event is cancelable. * @example * ```html * * * ``` */ cellEdit: EventEmitter; /** * Emitted after cell has been edited and editing has been committed. * * @example * ```html * * * ``` */ cellEditDone: EventEmitter; /** * Emitted when a row enters edit mode. * * @remarks * Emitted when [rowEditable]="true". * This event is cancelable. * @example * ```html * * * ``` */ rowEditEnter: EventEmitter; /** * Emitted when exiting edit mode for a row. * * @remarks * Emitted when [rowEditable]="true" & `endEdit(true)` is called. * Emitted when changing rows during edit mode, selecting an un-editable cell in the edited row, * performing paging operation, column resizing, pinning, moving or hitting `Done` * button inside of the rowEditingOverlay, or hitting the `Enter` key while editing a cell. * This event is cancelable. * @example * ```html * * * ``` */ rowEdit: EventEmitter; /** * Emitted after exiting edit mode for a row and editing has been committed. * * @remarks * Emitted when [rowEditable]="true" & `endEdit(true)` is called. * Emitted when changing rows during edit mode, selecting an un-editable cell in the edited row, * performing paging operation, column resizing, pinning, moving or hitting `Done` * button inside of the rowEditingOverlay, or hitting the `Enter` key while editing a cell. * @example * ```html * * * ``` */ rowEditDone: EventEmitter; /** * Emitted when row editing is canceled. * * @remarks * Emits when [rowEditable]="true" & `endEdit(false)` is called. * Emitted when changing hitting `Esc` key during cell editing and when click on the `Cancel` button * in the row editing overlay. * @example * ```html * * * ``` */ rowEditExit: EventEmitter; /** * Emitted when a column is initialized. * * @remarks * Returns the column object. * @example * ```html * * ``` */ columnInit: EventEmitter; /** * @hidden @internal */ columnsAutogenerated: EventEmitter; /** * Emitted before sorting expressions are applied. * * @remarks * Returns an `ISortingEventArgs` object. `sortingExpressions` key holds the sorting expressions. * @example * ```html * * ``` */ sorting: EventEmitter; /** * Emitted after sorting is completed. * * @remarks * Returns the sorting expression. * @example * ```html * * ``` */ sortingDone: EventEmitter | ISortingExpression[]>; /** * Emitted before filtering expressions are applied. * * @remarks * Returns an `IFilteringEventArgs` object. `filteringExpressions` key holds the filtering expressions for the column. * @example * ```html * * ``` */ filtering: EventEmitter; /** * Emitted after filtering is performed through the UI. * * @remarks * Returns the filtering expressions tree of the column for which filtering was performed. * @example * ```html * * ``` */ filteringDone: EventEmitter; /** * Emitted when a row is added. * * @remarks * Returns the data for the new `IgxGridRowComponent` object. * @example * ```html * * ``` */ rowAdded: EventEmitter; /** * Emitted when a row is deleted. * * @remarks * Returns an `IRowDataEventArgs` object. * @example * ```html * * ``` */ rowDeleted: EventEmitter; /** * Emmited when deleting a row. * * @remarks * This event is cancelable. * Returns an IRowDataCancellableEventArgs` object. * @example * ```html * * ``` */ rowDelete: EventEmitter; /** * Emmited just before the newly added row is commited. * * @remarks * This event is cancelable. * Returns an IRowDataCancellableEventArgs` object. * @example * ```html * * ``` */ rowAdd: EventEmitter; /** * Emitted after column is resized. * * @remarks * Returns the `IgxColumnComponent` object's old and new width. * @example * ```html * * ``` */ columnResized: EventEmitter; /** * Emitted when a cell or row is right clicked. * * @remarks * Returns the `IgxGridCell` object if the immediate context menu target is a cell or an `IgxGridRow` otherwise. * ```html * * ``` */ contextMenu: EventEmitter; /** * Emitted when a cell is double clicked. * * @remarks * Returns the `IgxGridCell` object. * @example * ```html * * ``` */ doubleClick: EventEmitter; /** * Emitted before column visibility is changed. * * @remarks * Args: { column: any, newValue: boolean } * @example * ```html * * ``` */ columnVisibilityChanging: EventEmitter; /** * Emitted after column visibility is changed. * * @remarks * Args: { column: IgxColumnComponent, newValue: boolean } * @example * ```html * * ``` */ columnVisibilityChanged: EventEmitter; /** * Emitted when column moving starts. * * @remarks * Returns the moved `IgxColumnComponent` object. * @example * ```html * * ``` */ columnMovingStart: EventEmitter; /** * Emitted during the column moving operation. * * @remarks * Returns the source and target `IgxColumnComponent` objects. This event is cancelable. * @example * ```html * * ``` */ columnMoving: EventEmitter; /** * Emitted when column moving ends. * * @remarks * Returns the source and target `IgxColumnComponent` objects. * @example * ```html * * ``` */ columnMovingEnd: EventEmitter; /** * Emitted when keydown is triggered over element inside grid's body. * * @remarks * This event is fired only if the key combination is supported in the grid. * Return the target type, target object and the original event. This event is cancelable. * @example * ```html * * ``` */ gridKeydown: EventEmitter; /** * Emitted when start dragging a row. * * @remarks * Return the dragged row. */ rowDragStart: EventEmitter; /** * Emitted when dropping a row. * * @remarks * Return the dropped row. */ rowDragEnd: EventEmitter; /** * Emitted when a copy operation is executed. * * @remarks * Fired only if copy behavior is enabled through the [`clipboardOptions`]{@link IgxGridBaseDirective#clipboardOptions}. */ gridCopy: EventEmitter; /** * Emitted when the rows are expanded or collapsed. * * @example * ```html * * ``` */ expansionStatesChange: EventEmitter>; /** * Emitted when the rows are selected or deselected. * * @example * ```html * * ``` */ selectedRowsChange: EventEmitter; /** * Emitted when the expanded state of a row gets changed. * * @example * ```html * * ``` */ rowToggle: EventEmitter; /** * Emitted when the pinned state of a row is changed. * * @example * ```html * * ``` */ rowPinning: EventEmitter; /** * Emitted when the pinned state of a row is changed. * * @example * ```html * * ``` */ rowPinned: EventEmitter; /** * Emitted when the active node is changed. * * @example * ``` * * ``` */ activeNodeChange: EventEmitter; /** * Emitted before sorting is performed. * * @remarks * Returns the sorting expressions. * @example * ```html * * ``` */ sortingExpressionsChange: EventEmitter[]>; /** * Emitted when an export process is initiated by the user. * * @example * ```typescript * toolbarExporting(event: IGridToolbarExportEventArgs){ * const toolbarExporting = event; * } * ``` */ toolbarExporting: EventEmitter; /** * Emitted when making a range selection. * * @remarks * Range selection can be made either through drag selection or through keyboard selection. */ rangeSelected: EventEmitter; /** Emitted after the ngAfterViewInit hook. At this point the grid exists in the DOM */ rendered: EventEmitter; /** * @hidden @internal */ localeChange: EventEmitter; /** * Emitted before the grid's data view is changed because of a data operation, rebinding, etc. * * @example * ```typescript * * ``` */ dataChanging: EventEmitter; /** * Emitted after the grid's data view is changed because of a data operation, rebinding, etc. * * @example * ```typescript * * ``` */ dataChanged: EventEmitter; /** * @hidden @internal */ addRowSnackbar: IgxSnackbarComponent; /** * @hidden @internal */ resizeLine: IgxGridColumnResizerComponent; /** * @hidden @internal */ loadingOverlay: IgxToggleDirective; /** * @hidden @internal */ loadingOutlet: IgxOverlayOutletDirective; /** * @hidden @internal */ columnList: QueryList; /** @hidden @internal */ protected actionStripComponents: QueryList; /** @hidden @internal */ get actionStrip(): IgxActionStripToken; /** * @hidden @internal */ excelStyleLoadingValuesTemplateDirective: IgxExcelStyleLoadingValuesTemplateDirective; /** @hidden @internal */ emptyFilteredGridTemplate: TemplateRef; /** @hidden @internal */ emptyGridDefaultTemplate: TemplateRef; /** * @hidden @internal */ loadingGridDefaultTemplate: TemplateRef; /** * @hidden @internal */ parentVirtDir: IgxGridForOfDirective; /** * @hidden * @internal */ headSelectorsTemplates: QueryList>; /** * @hidden * @internal */ rowSelectorsTemplates: QueryList>; /** * @hidden * @internal */ dragGhostCustomTemplates: QueryList>; /** * Gets the custom template, if any, used for row drag ghost. */ get dragGhostCustomTemplate(): TemplateRef; /** * Sets a custom template for the row drag ghost. *```html * * menu * * ``` * ```typescript * @ViewChild("'template'", {read: TemplateRef }) * public template: TemplateRef; * this.grid.dragGhostCustomTemplate = this.template; * ``` */ set dragGhostCustomTemplate(template: TemplateRef); /** * @hidden @internal */ verticalScrollContainer: IgxGridForOfDirective; /** * @hidden @internal */ verticalScroll: IgxGridForOfDirective; /** * @hidden @internal */ scr: ElementRef; /** @hidden @internal */ headerSelectorBaseTemplate: TemplateRef; /** * @hidden @internal */ footer: ElementRef; /** @hidden @internal */ get headerContainer(): IgxGridForOfDirective; /** @hidden @internal */ get headerSelectorContainer(): ElementRef; /** @hidden @internal */ get headerDragContainer(): ElementRef; /** @hidden @internal */ get headerGroupContainer(): ElementRef; /** @hidden @internal */ get filteringRow(): IgxGridFilteringRowComponent; /** @hidden @internal */ theadRow: IgxGridHeaderRowComponent; /** @hidden @internal */ groupArea: IgxGridGroupByAreaComponent; /** * @hidden @internal */ tbody: ElementRef; protected tbodyContainer: ElementRef; /** * @hidden @internal */ pinContainer: ElementRef; /** * @hidden @internal */ tfoot: ElementRef; /** * @hidden @internal */ rowEditingOutletDirective: IgxOverlayOutletDirective; /** * @hidden @internal */ tmpOutlets: QueryList; /** * @hidden * @internal */ dragIndicatorIconBase: TemplateRef; /** * @hidden @internal */ rowEditCustomDirectives: QueryList>; /** * @hidden @internal */ rowEditTextDirectives: QueryList>; /** * Gets the row edit text template. */ get rowEditTextTemplate(): TemplateRef; /** * Sets the row edit text template. *```html * * Changes: {{rowChangesCount}} * * ``` *```typescript * @ViewChild('template', {read: TemplateRef }) * public template: TemplateRef; * this.grid.rowEditTextTemplate = this.template; * ``` */ set rowEditTextTemplate(template: TemplateRef); /** * @hidden @internal */ rowAddText: TemplateRef; /** * Gets the row add text template. */ get rowAddTextTemplate(): TemplateRef; /** * Sets the row add text template. *```html * * Adding Row * * ``` *```typescript * @ViewChild('template', {read: TemplateRef }) * public template: TemplateRef; * this.grid.rowAddTextTemplate = this.template; * ``` */ set rowAddTextTemplate(template: TemplateRef); /** * @hidden @internal */ rowEditActionsDirectives: QueryList>; /** * Gets the row edit actions template. */ get rowEditActionsTemplate(): TemplateRef; /** * Sets the row edit actions template. *```html * * * * * ``` *```typescript * @ViewChild('template', {read: TemplateRef }) * public template: TemplateRef; * this.grid.rowEditActionsTemplate = this.template; * ``` */ set rowEditActionsTemplate(template: TemplateRef); /** * The custom template, if any, that should be used when rendering a row expand indicator. */ protected rowExpandedIndicatorDirectiveTemplate: TemplateRef; /** * Gets the row expand indicator template. */ get rowExpandedIndicatorTemplate(): TemplateRef; /** * Sets the row expand indicator template. *```html * * remove * * ``` *```typescript * @ViewChild('template', {read: TemplateRef }) * public template: TemplateRef; * this.grid.rowExpandedIndicatorTemplate = this.template; * ``` */ set rowExpandedIndicatorTemplate(template: TemplateRef); /** * The custom template, if any, that should be used when rendering a row collapse indicator. */ protected rowCollapsedIndicatorDirectiveTemplate: TemplateRef; /** * Gets the row collapse indicator template. */ get rowCollapsedIndicatorTemplate(): TemplateRef; /** * Sets the row collapse indicator template. *```html * * add * * ``` *```typescript * @ViewChild('template', {read: TemplateRef }) * public template: TemplateRef; * this.grid.rowCollapsedIndicatorTemplate = this.template; * ``` */ set rowCollapsedIndicatorTemplate(template: TemplateRef); /** * The custom template, if any, that should be used when rendering a header expand indicator. */ protected headerExpandedIndicatorDirectiveTemplate: TemplateRef; /** * Gets the header expand indicator template. */ get headerExpandedIndicatorTemplate(): TemplateRef; /** * Sets the header expand indicator template. *```html * * remove * * ``` *```typescript * @ViewChild('template', {read: TemplateRef }) * public template: TemplateRef; * this.grid.headerExpandedIndicatorTemplate = this.template; * ``` */ set headerExpandedIndicatorTemplate(template: TemplateRef); /** * The custom template, if any, that should be used when rendering a header collapse indicator. */ protected headerCollapsedIndicatorDirectiveTemplate: TemplateRef; /** * Gets the row collapse indicator template. */ get headerCollapsedIndicatorTemplate(): TemplateRef; /** * Sets the row collapse indicator template. *```html * * add * * ``` *```typescript * @ViewChild('template', {read: TemplateRef }) * public template: TemplateRef; * this.grid.headerCollapsedIndicatorTemplate = this.template; * ``` */ set headerCollapsedIndicatorTemplate(template: TemplateRef); /** @hidden @internal */ excelStyleHeaderIconDirectiveTemplate: TemplateRef; /** * Gets the excel style header icon. */ get excelStyleHeaderIconTemplate(): TemplateRef; /** * Sets the excel style header icon. *```html * * filter_alt * * ``` *```typescript * @ViewChild('template', {read: TemplateRef }) * public template: TemplateRef; * this.grid.excelStyleHeaderIconTemplate = this.template; * ``` */ set excelStyleHeaderIconTemplate(template: TemplateRef); /** * @hidden * @internal */ sortAscendingHeaderIconDirectiveTemplate: TemplateRef; /** * The custom template, if any, that should be used when rendering a header sorting indicator when columns are sorted in asc order. */ get sortAscendingHeaderIconTemplate(): TemplateRef; /** * Sets a custom template that should be used when rendering a header sorting indicator when columns are sorted in asc order. *```html * * expand_less * * ``` * ```typescript * @ViewChild("'template'", {read: TemplateRef }) * public template: TemplateRef; * this.grid.sortAscendingHeaderIconTemplate = this.template; * ``` */ set sortAscendingHeaderIconTemplate(template: TemplateRef); /** @hidden @internal */ sortDescendingHeaderIconDirectiveTemplate: TemplateRef; /** * The custom template, if any, that should be used when rendering a header sorting indicator when columns are sorted in desc order. */ get sortDescendingHeaderIconTemplate(): TemplateRef; /** * Sets a custom template that should be used when rendering a header sorting indicator when columns are sorted in desc order. *```html * * expand_more * * ``` * ```typescript * @ViewChild("'template'", {read: TemplateRef }) * public template: TemplateRef; * this.grid.sortDescendingHeaderIconTemplate = this.template; * ``` */ set sortDescendingHeaderIconTemplate(template: TemplateRef); /** * @hidden * @internal */ sortHeaderIconDirectiveTemplate: TemplateRef; /** * Gets custom template, if any, that should be used when rendering a header sorting indicator when columns are not sorted. */ get sortHeaderIconTemplate(): TemplateRef; /** * Sets a custom template that should be used when rendering a header sorting indicator when columns are not sorted. *```html * * unfold_more * * ``` * ```typescript * @ViewChild("'template'", {read: TemplateRef }) * public template: TemplateRef; * this.grid.sortHeaderIconTemplate = this.template; * ``` */ set sortHeaderIconTemplate(template: TemplateRef); /** * @hidden * @internal */ dragIndicatorIconTemplates: QueryList>; protected loadingDirectiveTemplate: TemplateRef; protected emptyDirectiveTemplate: TemplateRef; /** * @hidden @internal */ rowEditTabsDEFAULT: QueryList; /** * @hidden @internal */ rowEditTabsCUSTOM: QueryList; /** * @hidden @internal */ rowEditingOverlay: IgxToggleDirective; /** * @hidden @internal */ tabindex: number; /** * @hidden @internal */ hostRole: string; /** @hidden @internal */ toolbar: QueryList; /** @hidden @internal */ protected paginationComponents: QueryList; /** * @hidden @internal */ protected _outletDirective: IgxOverlayOutletDirective; /** * @hidden @internal * @igxElementsAnchor */ anchor: ViewContainerRef; /** * @hidden @internal */ protected defaultExpandedTemplate: TemplateRef; /** * @hidden @internal */ protected defaultCollapsedTemplate: TemplateRef; /** * @hidden @internal */ protected defaultESFHeaderIconTemplate: TemplateRef; protected _summaryRowList: QueryList; private _rowList; private _pinnedRowList; /** * @hidden @internal */ private defaultRowEditTemplate; private _dataRowList; protected baseClass: string; protected get ariaColCount(): number; protected get ariaRowCount(): number; /** * Gets/Sets the resource strings. * * @remarks * By default it uses EN resources. */ set resourceStrings(value: IGridResourceStrings); get resourceStrings(): IGridResourceStrings; /** * Gets/Sets the filtering logic of the `IgxGridComponent`. * * @remarks * The default is AND. * @example * ```html * * ``` */ get filteringLogic(): FilteringLogic; set filteringLogic(value: FilteringLogic); /** * Gets/Sets the filtering state. * * @example * ```html * * ``` * @remarks * Supports two-way binding. */ get filteringExpressionsTree(): IFilteringExpressionsTree; set filteringExpressionsTree(value: IFilteringExpressionsTree); /** * Gets/Sets the advanced filtering state. * * @example * ```typescript * let advancedFilteringExpressionsTree = this.grid.advancedFilteringExpressionsTree; * this.grid.advancedFilteringExpressionsTree = logic; * ``` */ get advancedFilteringExpressionsTree(): IFilteringExpressionsTree; set advancedFilteringExpressionsTree(value: IFilteringExpressionsTree); /** * Gets/Sets the locale. * * @remarks * If not set, returns browser's language. */ get locale(): string; set locale(value: string); get pagingMode(): GridPagingMode; set pagingMode(val: GridPagingMode); /** @hidden @internal */ get page(): number; set page(val: number); /** @hidden @internal */ get perPage(): number; set perPage(val: number); /** * Gets/Sets if the row selectors are hidden. * * @remarks * By default row selectors are shown */ get hideRowSelectors(): boolean; set hideRowSelectors(value: boolean); /** * Gets/Sets whether rows can be moved. * * @example * ```html * * ``` */ get rowDraggable(): boolean; set rowDraggable(val: boolean); /** * Gets/Sets the trigger for validators used when editing the grid. * * @example * ```html * * ``` */ validationTrigger: GridValidationTrigger; /** * @hidden * @internal */ rowDragging: boolean; /** @hidden @internal */ dragRowID: any; /** * Gets/Sets whether the rows are editable. * * @remarks * By default it is set to false. * @example * ```html * * ``` */ get rowEditable(): boolean; set rowEditable(val: boolean); /** * Gets/Sets the height. * * @example * ```html * * ``` */ get height(): string | null; set height(value: string | null); /** * @hidden @internal */ get hostWidth(): any; /** * Gets/Sets the width of the grid. * * @example * ```typescript * let gridWidth = this.grid.width; * ``` */ get width(): string | null; set width(value: string | null); /** @hidden @internal */ get headerWidth(): number; /** * Gets/Sets the row height. * * @example * ```html * * ``` */ get rowHeight(): number; set rowHeight(value: number | string); /** * Gets/Sets the default width of the columns. * * @example * ```html * * ``` */ get columnWidth(): string; set columnWidth(value: string); /** * Get/Sets the message displayed when there are no records. * * @example * ```html * * ``` */ set emptyGridMessage(value: string); get emptyGridMessage(): string; /** * Gets/Sets whether the grid is going to show a loading indicator. * * @example * ```html * * ``` */ set isLoading(value: boolean); get isLoading(): boolean; /** * Gets/Sets whether the columns should be auto-generated once again after the initialization of the grid * * @remarks * This will allow to bind the grid to remote data and having auto-generated columns at the same time. * Note that after generating the columns, this property would be disabled to avoid re-creating * columns each time a new data is assigned. * @example * ```typescript * this.grid.shouldGenerate = true; * ``` * @deprecated in version 18.2.0. Column re-creation now relies on `autoGenerate` instead. */ get shouldGenerate(): boolean; set shouldGenerate(value: boolean); /** * Gets/Sets the message displayed when there are no records and the grid is filtered. * * @example * ```html * * ``` */ set emptyFilteredGridMessage(value: string); get emptyFilteredGridMessage(): string; /** * Gets/Sets the initial pinning configuration. * * @remarks * Allows to apply pinning the columns to the start or the end. * Note that pinning to both sides at a time is not allowed. * @example * ```html * * ``` */ get pinning(): IPinningConfig; set pinning(value: IPinningConfig); /** * Gets/Sets if the filtering is enabled. * * @example * ```html * * ``` */ get allowFiltering(): boolean; set allowFiltering(value: boolean); /** * Gets/Sets a value indicating whether the advanced filtering is enabled. * * @example * ```html * * ``` */ get allowAdvancedFiltering(): boolean; set allowAdvancedFiltering(value: boolean); /** * Gets/Sets the filter mode. * * @example * ```html * * ``` * @remarks * By default it's set to FilterMode.quickFilter. */ get filterMode(): FilterMode; set filterMode(value: FilterMode); /** * Gets/Sets the summary position. * * @example * ```html * * ``` * @remarks * By default it is bottom. */ get summaryPosition(): GridSummaryPosition; set summaryPosition(value: GridSummaryPosition); /** * Gets/Sets the summary calculation mode. * * @example * ```html * * ``` * @remarks * By default it is rootAndChildLevels which means the summaries are calculated for the root level and each child level. */ get summaryCalculationMode(): GridSummaryCalculationMode; set summaryCalculationMode(value: GridSummaryCalculationMode); /** * Controls whether the summary row is visible when groupBy/parent row is collapsed. * * @example * ```html * * ``` * @remarks * By default showSummaryOnCollapse is set to 'false' which means that the summary row is not visible * when the groupBy/parent row is collapsed. */ get showSummaryOnCollapse(): boolean; set showSummaryOnCollapse(value: boolean); /** * Gets/Sets the filtering strategy of the grid. * * @example * ```html * * ``` */ get filterStrategy(): IFilteringStrategy; set filterStrategy(classRef: IFilteringStrategy); /** * Gets/Sets the sorting strategy of the grid. * * @example * ```html * * ``` */ get sortStrategy(): IGridSortingStrategy; set sortStrategy(value: IGridSortingStrategy); /** * Gets/Sets the merge strategy of the grid. * * @example * ```html * * ``` */ get mergeStrategy(): IGridMergeStrategy; set mergeStrategy(value: IGridMergeStrategy); /** * Gets/Sets the sorting options - single or multiple sorting. * Accepts an `ISortingOptions` object with any of the `mode` properties. * * @example * ```typescript * const _sortingOptions: ISortingOptions = { * mode: 'single' * } * ```html * * ``` */ set sortingOptions(value: ISortingOptions); get sortingOptions(): ISortingOptions; /** * Gets/Sets the current selection state. * * @remarks * Represents the selected rows' IDs (primary key or rowData) * @example * ```html * * ``` */ set selectedRows(rowIDs: any[]); get selectedRows(): any[]; /** @hidden @internal */ get headerGroupsList(): IgxGridHeaderGroupComponent[]; /** @hidden @internal */ get headerCellList(): IgxGridHeaderComponent[]; /** @hidden @internal */ get filterCellList(): IgxGridFilteringCellComponent[]; /** * @hidden @internal */ get summariesRowList(): QueryList; /** * A list of `IgxGridRowComponent`. * * @example * ```typescript * const rowList = this.grid.rowList; * ``` */ get rowList(): QueryList; /** * A list of currently rendered `IgxGridRowComponent`'s. * * @example * ```typescript * const dataList = this.grid.dataRowList; * ``` */ get dataRowList(): QueryList; /** * Gets the header row selector template. */ get headSelectorTemplate(): TemplateRef; /** * Sets the header row selector template. * ```html * * {{ headContext.selectedCount }} / {{ headContext.totalCount }} * * ``` * ```typescript * @ViewChild("'template'", {read: TemplateRef }) * public template: TemplateRef; * this.grid.headSelectorTemplate = this.template; * ``` */ set headSelectorTemplate(template: TemplateRef); /** * @hidden * @internal */ get isRowPinningToTop(): boolean; /** * Gets the row selector template. */ get rowSelectorTemplate(): TemplateRef; /** * Sets a custom template for the row selectors. * ```html * * * * ``` * ```typescript * @ViewChild("'template'", {read: TemplateRef }) * public template: TemplateRef; * this.grid.rowSelectorTemplate = this.template; * ``` */ set rowSelectorTemplate(template: TemplateRef); /** * @hidden @internal */ get rowOutletDirective(): IgxOverlayOutletDirective; /** * @hidden @internal */ get parentRowOutletDirective(): IgxOverlayOutletDirective; /** * @hidden @internal */ get rowEditCustom(): TemplateRef; /** /** * @hidden @internal */ get rowEditContainer(): TemplateRef; /** * The custom template, if any, that should be used when rendering the row drag indicator icon */ get dragIndicatorIconTemplate(): TemplateRef; /** * Sets a custom template that should be used when rendering the row drag indicator icon. *```html * * expand_less * * ``` * ```typescript * @ViewChild("'template'", {read: TemplateRef }) * public template: TemplateRef; * this.grid.dragIndicatorIconTemplate = this.template; * ``` */ set dragIndicatorIconTemplate(val: TemplateRef); /** * @hidden @internal */ get firstEditableColumnIndex(): number; /** * @hidden @internal */ get lastEditableColumnIndex(): number; /** * @hidden @internal * TODO: Nav service logic doesn't handle 0 results from this querylist */ get rowEditTabs(): QueryList; /** @hidden @internal */ get activeDescendant(): string | undefined; /** @hidden @internal */ get bannerClass(): string; /** * Gets/Sets the sorting state. * * @remarks * Supports two-way data binding. * @example * ```html * * ``` */ get sortingExpressions(): ISortingExpression[]; set sortingExpressions(value: ISortingExpression[]); /** * Gets the number of hidden columns. * * @example * ```typescript * const hiddenCol = this.grid.hiddenColumnsCount; * `` */ get hiddenColumnsCount(): number; /** * Gets the number of pinned columns. */ get pinnedColumnsCount(): number; /** * Gets/Sets whether the grid has batch editing enabled. * When batch editing is enabled, changes are not made directly to the underlying data. * Instead, they are stored as transactions, which can later be committed w/ the `commit` method. * * @example * ```html * * * ``` */ get batchEditing(): boolean; set batchEditing(val: boolean); /** * Get transactions service for the grid. */ get transactions(): TransactionService; /** * @hidden @internal */ get currentRowState(): any; /** * @hidden @internal */ get currencyPositionLeft(): boolean; /** * Gets/Sets cell selection mode. * * @remarks * By default the cell selection mode is multiple * @param selectionMode: GridSelectionMode */ get cellSelection(): GridSelectionMode; set cellSelection(selectionMode: GridSelectionMode); /** * Gets/Sets cell merge mode. * */ get cellMergeMode(): GridCellMergeMode; set cellMergeMode(value: GridCellMergeMode); /** * Gets/Sets row selection mode * * @remarks * By default the row selection mode is 'none' * Note that in IgxGrid and IgxHierarchicalGrid 'multipleCascade' behaves like 'multiple' */ get rowSelection(): GridSelectionMode; set rowSelection(selectionMode: GridSelectionMode); /** * Gets/Sets column selection mode * * @remarks * By default the row selection mode is none * @param selectionMode: GridSelectionMode */ get columnSelection(): GridSelectionMode; set columnSelection(selectionMode: GridSelectionMode); /** * @hidden @internal */ set pagingState(value: any); get pagingState(): any; /** * @hidden @internal */ rowEditMessage: any; /** * @hidden @internal */ calcWidth: number; /** * @hidden @internal */ calcHeight: number; /** * @hidden @internal */ tfootHeight: number; /** * @hidden @internal */ disableTransitions: boolean; /** * Represents the last search information. */ get lastSearchInfo(): ISearchInfo; /** * @hidden @internal */ columnWidthSetByUser: boolean; /** * @hidden @internal */ pinnedRecords: any[]; /** * @hidden @internal */ unpinnedRecords: any[]; /** * @hidden @internal */ rendered$: rxjs.Observable; /** @hidden @internal */ resizeNotify: Subject; /** @hidden @internal */ rowAddedNotifier: Subject; /** @hidden @internal */ rowDeletedNotifier: Subject; /** @hidden @internal */ pipeTriggerNotifier: Subject; /** @hidden @internal */ _filteredSortedPinnedData: any[]; /** @hidden @internal */ _filteredSortedUnpinnedData: any[]; /** @hidden @internal */ _filteredPinnedData: any[]; /** * @hidden */ _filteredUnpinnedData: any; /** * @hidden @internal */ _destroyed: boolean; /** * @hidden @internal */ _totalRecords: number; /** * @hidden @internal */ columnsWithNoSetWidths: any; /** * @hidden @internal */ pipeTrigger: number; /** * @hidden @internal */ filteringPipeTrigger: number; /** * @hidden @internal */ isColumnWidthSum: boolean; /** * @hidden @internal */ summaryPipeTrigger: number; /** * @hidden @internal */ groupablePipeTrigger: number; /** * @hidden @internal */ hoverIndex: number; /** * @hidden @internal */ EMPTY_DATA: any[]; /** @hidden @internal */ get type(): GridType["type"]; /** @hidden @internal */ _baseFontSize: number; /** * @hidden */ destroy$: Subject; /** * @hidden */ protected _pagingMode: GridPagingMode; /** * @hidden */ protected _pagingState: any; /** * @hidden */ protected _hideRowSelectors: boolean; /** * @hidden */ protected _rowDrag: boolean; /** * @hidden */ protected _columns: IgxColumnComponent[]; /** * @hidden */ protected _pinnedColumns: IgxColumnComponent[]; /** * @hidden */ protected _pinnedStartColumns: IgxColumnComponent[]; /** * @hidden */ protected _pinnedEndColumns: IgxColumnComponent[]; /** * @hidden */ protected _unpinnedColumns: IgxColumnComponent[]; /** * @hidden */ protected _filteringExpressionsTree: IFilteringExpressionsTree; /** * @hidden */ protected _advancedFilteringExpressionsTree: IFilteringExpressionsTree; /** * @hidden */ protected _sortingExpressions: Array; /** * @hidden */ protected _columnHiding: boolean; /** * @hidden */ protected _columnPinning: boolean; protected _pinnedRecordIDs: any[]; /** * @hidden */ protected _mergeStrategy: IGridMergeStrategy; /** * @hidden */ protected _hasVisibleColumns: any; protected _allowFiltering: boolean; protected _allowAdvancedFiltering: boolean; protected _filterMode: FilterMode; protected _defaultTargetRecordNumber: number; protected _expansionStates: Map; protected _defaultExpandState: boolean; protected _headerFeaturesWidth: number; protected _init: boolean; protected _firstAutoResize: boolean; protected _autoSizeColumnsNotify: Subject; protected _cdrRequestRepaint: boolean; protected _userOutletDirective: IgxOverlayOutletDirective; protected _transactions: TransactionService; protected _batchEditing: boolean; protected _sortingOptions: ISortingOptions; protected _filterStrategy: IFilteringStrategy; protected _autoGeneratedCols: ColumnType[]; protected _autoGeneratedColsRefs: ComponentRef[]; protected _dataView: any[]; protected _lastSearchInfo: ISearchInfo; protected _hGridSchema: EntityType[]; protected gridComputedStyles: any; /** @hidden @internal */ get paginator(): IgxPaginatorComponent; /** * @hidden @internal */ get scrollSize(): number; private _primaryKey; private _rowEditable; private _currentRowState; private _filteredSortedData; private _filteredData; private _mergedDataInView; private _activeRowIndexes; private _customDragIndicatorIconTemplate; private _excelStyleHeaderIconTemplate; private _rowSelectorTemplate; private _headSelectorTemplate; private _rowEditTextTemplate; private _rowAddTextTemplate; private _rowEditActionsTemplate; private _dragGhostCustomTemplate; private _rowExpandedIndicatorTemplate; private _rowCollapsedIndicatorTemplate; private _headerExpandIndicatorTemplate; private _headerCollapseIndicatorTemplate; private _emptyGridTemplate; private _loadingGridTemplate; private _cdrRequests; private _resourceStrings; private _emptyGridMessage; private _emptyFilteredGridMessage; private _isLoading; private _locale; private overlayIDs; private _sortingStrategy; private _pinning; private _shouldRecalcRowHeight; private _hostWidth; private _advancedFilteringOverlayId; private _advancedFilteringPositionSettings; private _advancedFilteringOverlaySettings; private columnListDiffer; private rowListDiffer; private _height; private _width; private _rowHeight; private _horizontalForOfs; private _multiRowLayoutRowSize; private _totalWidth; private _pinnedVisible; private _unpinnedVisible; private _pinnedStartWidth; private _pinnedEndWidth; private _unpinnedWidth; private _visibleColumns; private _columnGroups; private _columnWidth; private _summaryPosition; private _summaryCalculationMode; private _showSummaryOnCollapse; private _summaryRowHeight; private _cellSelectionMode; private _rowSelectionMode; private _selectRowOnClick; private _columnSelectionMode; private lastAddedRowIndex; private _currencyPositionLeft; private rowEditPositioningStrategy; private rowEditSettings; private transactionChange$; private _rendered; private readonly DRAG_SCROLL_DELTA; private _dataCloneStrategy; private _autoSize; private _sortHeaderIconTemplate; private _sortAscendingHeaderIconTemplate; private _sortDescendingHeaderIconTemplate; private _gridSize; private _defaultRowHeight; private _rowCount; private _cellMergeMode; private _columnsToMerge; /** * @hidden @internal */ get minColumnWidth(): number; protected get isCustomSetRowHeight(): boolean; /** * @hidden @internal */ abstract id: string; abstract data: any[] | null; /** * Returns an array of objects containing the filtered data. * * @example * ```typescript * let filteredData = this.grid.filteredData; * ``` */ get filteredData(): any; /** * Returns an array containing the filtered sorted data. * * @example * ```typescript * const filteredSortedData = this.grid1.filteredSortedData; * ``` */ get filteredSortedData(): any[] | null; /** * @hidden @internal */ get rowChangesCount(): number; /** * @hidden @internal */ get dataWithAddedInTransactionRows(): any[]; /** * @hidden @internal */ get dataLength(): number; /** * @hidden @internal */ get template(): TemplateRef; /** * @hidden @internal */ private get hasZeroResultFilter(); protected get totalCalcWidth(): number; protected get renderData(): any[]; protected displayStyle: string; protected templateRows: string; /** * @hidden @internal */ private get hasNoData(); /** * @hidden @internal */ get shouldOverlayLoading(): boolean; /** * @hidden @internal */ get isMultiRowSelectionEnabled(): boolean; /** * @hidden @internal */ get isRowSelectable(): boolean; /** * @hidden @internal */ get isCellSelectable(): boolean; /** * @hidden @internal */ get columnInDrag(): ColumnType; constructor(); /** * @hidden * @internal */ hideActionStrip(): void; /** * @hidden * @internal */ get headerFeaturesWidth(): number; /** * @hidden * @internal */ isDetailRecord(_rec: any): boolean; /** * @hidden * @internal */ isGroupByRecord(_rec: any): boolean; /** * @hidden * @internal */ isChildGridRecord(_rec: any): boolean; /** * @hidden @internal */ isGhostRecord(record: any): boolean; /** * @hidden @internal */ isAddRowRecord(record: any): boolean; /** * @hidden * Returns the row index of a row that takes into account the full view data like pinning. */ getDataViewIndex(rowIndex: any, pinned: any): any; /** * @hidden * @internal */ get hasDetails(): boolean; /** * Returns the state of the grid virtualization. * * @remarks * Includes the start index and how many records are rendered. * @example * ```typescript * const gridVirtState = this.grid1.virtualizationState; * ``` */ get virtualizationState(): igniteui_angular_directives.IForOfState; /** * @hidden * @internal */ hideOverlays(): void; /** * Returns whether the record is pinned or not. * * @param rowIndex Index of the record in the `dataView` collection. * * @hidden * @internal */ isRecordPinnedByViewIndex(rowIndex: number): boolean; /** * Returns whether the record is pinned or not. * * @param rowIndex Index of the record in the `filteredSortedData` collection. */ isRecordPinnedByIndex(rowIndex: number): boolean; /** * @hidden * @internal */ isRecordPinned(rec: any): boolean; /** * @hidden * @internal */ isRecordMerged(rec: any): any; protected getMergeCellOffset(rowData: any): number; /** * @hidden * @internal * Returns the record index in order of pinning by the user. Does not consider sorting/filtering. */ getInitialPinnedIndex(rec: any): number; /** * @hidden * @internal */ get hasPinnedRecords(): boolean; /** * @hidden * @internal */ get pinnedRecordsCount(): number; /** * @hidden * @internal */ get crudService(): any; /** * @hidden * @internal */ _setupServices(): void; /** * @hidden * @internal */ _setupListeners(): void; /** * @hidden */ ngOnInit(): void; /** * @hidden * @internal */ resetColumnsCaches(): void; /** * @hidden @internal */ generateRowID(): string | number; /** * @hidden * @internal */ resetForOfCache(): void; /** * @hidden * @internal */ setFilteredData(data: any, pinned: boolean): void; /** * @hidden * @internal */ get columnsToMerge(): ColumnType[]; protected allowResetOfColumnsToMerge(): boolean; protected get mergedDataInView(): any; /** * @hidden * @internal */ resetColumnCollections(): void; /** * @hidden * @internal */ resetCachedWidths(): void; /** * @hidden * @internal */ resetCaches(recalcFeatureWidth?: boolean): void; /** * @hidden */ ngAfterContentInit(): void; protected get activeRowIndexes(): number[]; protected get hasCellsToMerge(): boolean; /** * @hidden @internal */ dataRebinding(event: IForOfDataChangeEventArgs): void; /** * @hidden @internal */ dataRebound(event: IForOfDataChangeEventArgs): void; /** @hidden @internal */ createFilterDropdown(column: ColumnType, options: OverlaySettings): string; /** @hidden @internal */ setUpPaginator(): void; /** * @hidden * @internal */ setFilteredSortedData(data: any, pinned: boolean): void; /** * @hidden @internal */ resetHorizontalVirtualization(): void; /** * @hidden @internal */ _setupRowObservers(): void; /** * @hidden @internal */ _zoneBegoneListeners(): void; /** * @hidden */ ngAfterViewInit(): void; /** * @hidden @internal */ notifyChanges(repaint?: boolean): void; /** * @hidden @internal */ ngDoCheck(): void; /** * @hidden * @internal */ getDragGhostCustomTemplate(): TemplateRef; /** * @hidden @internal */ ngOnDestroy(): void; /** * Toggles the specified column's visibility. * * @example * ```typescript * this.grid1.toggleColumnVisibility({ * column: this.grid1.columns[0], * newValue: true * }); * ``` */ toggleColumnVisibility(args: IColumnVisibilityChangedEventArgs): void; /** * Gets/Sets a list of key-value pairs [row ID, expansion state]. * * @remarks * Includes only states that differ from the default one. * Supports two-way binding. * @example * ```html * * * ``` */ get expansionStates(): Map; set expansionStates(value: Map); /** * Expands all rows. * * @example * ```typescript * this.grid.expandAll(); * ``` */ expandAll(): void; /** * Collapses all rows. * * @example * ```typescript * this.grid.collapseAll(); * ``` */ collapseAll(): void; /** * Expands the row by its id. * * @remarks * ID is either the primaryKey value or the data record instance. * @example * ```typescript * this.grid.expandRow(rowID); * ``` * @param rowID The row id - primaryKey value or the data record instance. */ expandRow(rowID: any): void; /** * Collapses the row by its id. * * @remarks * ID is either the primaryKey value or the data record instance. * @example * ```typescript * this.grid.collapseRow(rowID); * ``` * @param rowID The row id - primaryKey value or the data record instance. */ collapseRow(rowID: any): void; /** * Toggles the row by its id. * * @remarks * ID is either the primaryKey value or the data record instance. * @example * ```typescript * this.grid.toggleRow(rowID); * ``` * @param rowID The row id - primaryKey value or the data record instance. */ toggleRow(rowID: any): void; /** * @hidden * @internal */ getDefaultExpandState(_rec: any): boolean; /** * Gets the native element. * * @example * ```typescript * const nativeEl = this.grid.nativeElement. * ``` */ get nativeElement(): HTMLElement; /** * Gets/Sets the outlet used to attach the grid's overlays to. * * @remarks * If set, returns the outlet defined outside the grid. Otherwise returns the grid's internal outlet directive. */ get outlet(): IgxOverlayOutletDirective; set outlet(val: IgxOverlayOutletDirective); /** * Gets the default row height. * * @example * ```typescript * const rowHeigh = this.grid.defaultRowHeight; * ``` */ get defaultRowHeight(): number; /** * @hidden @internal */ get defaultSummaryHeight(): number; /** @hidden @internal */ get pinnedStartWidth(): number; /** @hidden @internal */ get pinnedEndWidth(): number; /** @hidden @internal */ get unpinnedWidth(): number; /** * @hidden @internal */ isHorizontalScrollHidden: boolean; /** * @hidden @internal * Gets the header cell inner width for auto-sizing. */ getHeaderCellWidth(element: HTMLElement): ISizeInfo; /** * @hidden @internal * Gets the combined width of the columns that are specific to the enabled grid features. They are fixed. */ featureColumnsWidth(expander?: ElementRef): number; /** * @hidden @internal */ get summariesMargin(): number; /** * Gets an array of `IgxColumnComponent`s. * * @example * ```typescript * const colums = this.grid.columns. * ``` */ get columns(): IgxColumnComponent[]; /** * Gets an array of the pinned `IgxColumnComponent`s. * * @example * ```typescript * const pinnedColumns = this.grid.pinnedColumns. * ``` */ get pinnedColumns(): IgxColumnComponent[]; /** * Gets an array of the pinned to the left `IgxColumnComponent`s. * * @example * ```typescript * const pinnedColumns = this.grid.pinnedStartColumns. * ``` */ get pinnedStartColumns(): IgxColumnComponent[]; /** * Gets an array of the pinned to the right `IgxColumnComponent`s. * * @example * ```typescript * const pinnedColumns = this.grid.pinnedEndColumns. * ``` */ get pinnedEndColumns(): IgxColumnComponent[]; /** * Gets an array of the pinned `IgxRowComponent`s. * * @example * ```typescript * const pinnedRow = this.grid.pinnedRows; * ``` */ get pinnedRows(): IgxGridRowComponent[]; /** * Gets an array of unpinned `IgxColumnComponent`s. * * @example * ```typescript * const unpinnedColumns = this.grid.unpinnedColumns. * ``` */ get unpinnedColumns(): IgxColumnComponent[]; /** * Gets the `width` to be set on `IgxGridHeaderGroupComponent`. */ getHeaderGroupWidth(column: IgxColumnComponent): string; /** * Returns the `IgxColumnComponent` by field name. * * @example * ```typescript * const myCol = this.grid1.getColumnByName("ID"); * ``` * @param name */ getColumnByName(name: string): IgxColumnComponent; getColumnByVisibleIndex(index: number): IgxColumnComponent; /** * Recalculates all widths of columns that have size set to `auto`. * * @example * ```typescript * this.grid1.recalculateAutoSizes(); * ``` */ recalculateAutoSizes(): void; /** * Returns an array of visible `IgxColumnComponent`s. * * @example * ```typescript * const visibleColumns = this.grid.visibleColumns. * ``` */ get visibleColumns(): IgxColumnComponent[]; /** * Returns the total number of records. * * @remarks * Only functions when paging is enabled. * @example * ```typescript * const totalRecords = this.grid.totalRecords; * ``` */ get totalRecords(): number; set totalRecords(total: number); /** @hidden @internal */ get totalWidth(): number; /** * @hidden * @internal */ get showRowSelectors(): boolean; /** * @hidden * @internal */ get showAddButton(): boolean; /** * @hidden * @internal */ get showDragIcons(): boolean; /** * @hidden * @internal */ protected _getDataViewIndex(index: number): number; /** * @hidden * @internal */ protected getDataIndex(dataViewIndex: number): number; /** * Places a column before or after the specified target column. * * @example * ```typescript * grid.moveColumn(column, target); * ``` */ moveColumn(column: IgxColumnComponent, target: IgxColumnComponent, pos?: DropPosition): void; /** * Triggers change detection for the `IgxGridComponent`. * Calling markForCheck also triggers the grid pipes explicitly, resulting in all updates being processed. * May degrade performance if used when not needed, or if misused: * ```typescript * // DON'Ts: * // don't call markForCheck from inside a loop * // don't call markForCheck when a primitive has changed * grid.data.forEach(rec => { * rec = newValue; * grid.markForCheck(); * }); * * // DOs * // call markForCheck after updating a nested property * grid.data.forEach(rec => { * rec.nestedProp1.nestedProp2 = newValue; * }); * grid.markForCheck(); * ``` * * @example * ```typescript * grid.markForCheck(); * ``` */ markForCheck(): void; /** * Creates a new `IgxGridRowComponent` and adds the data record to the end of the data source. * * @example * ```typescript * this.grid1.addRow(record); * ``` * @param data */ addRow(data: any): void; /** * Removes the `IgxGridRowComponent` and the corresponding data record by primary key. * * @remarks * Requires that the `primaryKey` property is set. * The method accept rowSelector as a parameter, which is the rowID. * @example * ```typescript * this.grid1.deleteRow(0); * ``` * @param rowSelector */ deleteRow(rowSelector: any): any; /** @hidden */ deleteRowById(rowId: any): any; /** * Updates the `IgxGridRowComponent` and the corresponding data record by primary key. * * @remarks * Requires that the `primaryKey` property is set. * @example * ```typescript * this.gridWithPK.updateCell('Updated', 1, 'ProductName'); * ``` * @param value the new value which is to be set. * @param rowSelector corresponds to rowID. * @param column corresponds to column field. */ updateCell(value: any, rowSelector: any, column: string): void; /** * Updates the `IgxGridRowComponent` * * @remarks * The row is specified by * rowSelector parameter and the data source record with the passed value. * This method will apply requested update only if primary key is specified in the grid. * @example * ```typescript * grid.updateRow({ * ProductID: 1, ProductName: 'Spearmint', InStock: true, UnitsInStock: 1, OrderDate: new Date('2005-03-21') * }, 1); * ``` * @param value– * @param rowSelector correspond to rowID */ updateRow(value: any, rowSelector: any): void; /** * Returns the data that is contained in the row component. * * @remarks * If the primary key is not specified the row selector match the row data. * @example * ```typescript * const data = grid.getRowData(94741); * ``` * @param rowSelector correspond to rowID */ getRowData(rowSelector: any): any; /** * Sort a single `IgxColumnComponent`. * * @remarks * Sort the `IgxGridComponent`'s `IgxColumnComponent` based on the provided array of sorting expressions. * @example * ```typescript * this.grid.sort({ fieldName: name, dir: SortingDirection.Asc, ignoreCase: false }); * ``` */ sort(expression: ISortingExpression | Array): void; /** * Filters a single `IgxColumnComponent`. * * @example * ```typescript * public filter(term) { * this.grid.filter("ProductName", term, IgxStringFilteringOperand.instance().condition("contains")); * } * ``` * @param name * @param value * @param conditionOrExpressionTree * @param ignoreCase */ filter(name: string, value: any, conditionOrExpressionTree?: IFilteringOperation | IFilteringExpressionsTree, ignoreCase?: boolean): void; /** * Filters all the `IgxColumnComponent` in the `IgxGridComponent` with the same condition. * * @example * ```typescript * grid.filterGlobal('some', IgxStringFilteringOperand.instance().condition('contains')); * ``` * @param value * @param condition * @param ignoreCase * @deprecated in version 19.0.0. */ filterGlobal(value: any, condition: any, ignoreCase?: any): void; /** * Enables summaries for the specified column and applies your customSummary. * * @remarks * If you do not provide the customSummary, then the default summary for the column data type will be applied. * @example * ```typescript * grid.enableSummaries([{ fieldName: 'ProductName' }, { fieldName: 'ID' }]); * ``` * Enable summaries for the listed columns. * @example * ```typescript * grid.enableSummaries('ProductName'); * ``` * @param rest */ enableSummaries(...rest: any[]): void; /** * Disable summaries for the specified column. * * @example * ```typescript * grid.disableSummaries('ProductName'); * ``` * @remarks * Disable summaries for the listed columns. * @example * ```typescript * grid.disableSummaries([{ fieldName: 'ProductName' }]); * ``` */ disableSummaries(...rest: any[]): void; /** * If name is provided, clears the filtering state of the corresponding `IgxColumnComponent`. * * @remarks * Otherwise clears the filtering state of all `IgxColumnComponent`s. * @example * ```typescript * this.grid.clearFilter(); * ``` * @param name */ clearFilter(name?: string): void; /** * If name is provided, clears the sorting state of the corresponding `IgxColumnComponent`. * * @remarks * otherwise clears the sorting state of all `IgxColumnComponent`. * @example * ```typescript * this.grid.clearSort(); * ``` * @param name */ clearSort(name?: string): void; /** * @hidden @internal */ refreshGridState(_args?: any): void; /** * Pins a column by field name. * * @remarks * Returns whether the operation is successful. * @example * ```typescript * this.grid.pinColumn("ID"); * ``` * @param columnName * @param index * @param pinningPosition */ pinColumn(columnName: string | IgxColumnComponent, index?: number, pinningPosition?: ColumnPinningPosition): boolean; /** * Unpins a column by field name. Returns whether the operation is successful. * * @example * ```typescript * this.grid.pinColumn("ID"); * ``` * @param columnName * @param index */ unpinColumn(columnName: string | IgxColumnComponent, index?: number): boolean; /** * Pin the row by its id. * * @remarks * ID is either the primaryKey value or the data record instance. * @example * ```typescript * this.grid.pinRow(rowID); * ``` * @param rowID The row id - primaryKey value or the data record instance. * @param index The index at which to insert the row in the pinned collection. */ pinRow(rowID: any, index?: number, row?: RowType): boolean; /** * Unpin the row by its id. * * @remarks * ID is either the primaryKey value or the data record instance. * @example * ```typescript * this.grid.unpinRow(rowID); * ``` * @param rowID The row id - primaryKey value or the data record instance. */ unpinRow(rowID: any, row?: RowType): boolean; /** @hidden @internal */ get pinnedRowHeight(): any; /** @hidden @internal */ get totalHeight(): any; /** * Recalculates grid width/height dimensions. * * @remarks * Should be run when changing DOM elements dimentions manually that affect the grid's size. * @example * ```typescript * this.grid.reflow(); * ``` */ reflow(): void; /** * Finds the next occurrence of a given string in the grid and scrolls to the cell if it isn't visible. * * @remarks * Returns how many times the grid contains the string. * @example * ```typescript * this.grid.findNext("financial"); * ``` * @param text the string to search. * @param caseSensitive optionally, if the search should be case sensitive (defaults to false). * @param exactMatch optionally, if the text should match the entire value (defaults to false). */ findNext(text: string, caseSensitive?: boolean, exactMatch?: boolean): number; /** * Finds the previous occurrence of a given string in the grid and scrolls to the cell if it isn't visible. * * @remarks * Returns how many times the grid contains the string. * @example * ```typescript * this.grid.findPrev("financial"); * ``` * @param text the string to search. * @param caseSensitive optionally, if the search should be case sensitive (defaults to false). * @param exactMatch optionally, if the text should match the entire value (defaults to false). */ findPrev(text: string, caseSensitive?: boolean, exactMatch?: boolean): number; /** * Reapplies the existing search. * * @remarks * Returns how many times the grid contains the last search. * @example * ```typescript * this.grid.refreshSearch(); * ``` * @param updateActiveInfo */ refreshSearch(updateActiveInfo?: boolean, endEdit?: boolean): number; /** * Removes all the highlights in the cell. * * @example * ```typescript * this.grid.clearSearch(); * ``` */ clearSearch(): void; /** @hidden @internal */ get hasEditableColumns(): boolean; /** @hidden @internal */ get hasSummarizedColumns(): boolean; /** * @hidden @internal */ get rootSummariesEnabled(): boolean; /** * @hidden @internal */ get hasVisibleColumns(): boolean; set hasVisibleColumns(value: boolean); /** @hidden @internal */ get hasMovableColumns(): boolean; /** @hidden @internal */ get hasColumnGroups(): boolean; /** @hidden @internal */ get hasColumnLayouts(): boolean; /** * @hidden @internal */ get multiRowLayoutRowSize(): number; /** * @hidden */ protected get rowBasedHeight(): number; /** * @hidden */ protected get isPercentWidth(): boolean; protected get shouldResize(): boolean; /** * @hidden @internal */ get isPercentHeight(): boolean; /** * @hidden */ protected get defaultTargetBodyHeight(): number; /** * @hidden @internal * The rowHeight input is bound to min-height css prop of rows that adds a 1px border in all cases */ get renderedRowHeight(): number; /** * @hidden @internal */ get outerWidth(): number; /** * @hidden @internal * Gets the size of the grid */ get gridSize(): _Size; /** * @hidden @internal * Gets the visible content height that includes header + tbody + footer. */ getVisibleContentHeight(): any; /** * @hidden @internal */ getPossibleColumnWidth(baseWidth?: number, minColumnWidth?: number): string; /** * @hidden @internal */ hasVerticalScroll(): boolean; /** * Gets calculated width of the pinned areas. * * @example * ```typescript * const pinnedWidth = this.grid.getPinnedStartWidth(); * ``` * @param takeHidden If we should take into account the hidden columns in the pinned area. */ getPinnedStartWidth(takeHidden?: boolean): number; /** * Gets calculated width of the pinned areas. * * @example * ```typescript * const pinnedWidth = this.grid.getPinnedEndWidth(); * ``` * @param takeHidden If we should take into account the hidden columns in the pinned area. */ getPinnedEndWidth(takeHidden?: boolean): number; /** * @hidden @internal */ isColumnGrouped(_fieldName: string): boolean; /** * @hidden @internal * TODO: REMOVE */ onHeaderSelectorClick(event: any): void; /** * @hidden @internal */ get headSelectorBaseAriaLabel(): "Deselect all filtered" | "Select all filtered" | "Deselect all" | "Select all"; /** * @hidden * @internal */ get totalRowsCountAfterFilter(): number; /** @hidden @internal */ get pinnedDataView(): any[]; /** @hidden @internal */ get unpinnedDataView(): any[]; /** * Returns the currently transformed paged/filtered/sorted/grouped/pinned/unpinned row data, displayed in the grid. * * @example * ```typescript * const dataView = this.grid.dataView; * ``` */ get dataView(): any[]; /** * Gets/Sets whether clicking over a row should select/deselect it * * @remarks * By default it is set to true * @param enabled: boolean */ get selectRowOnClick(): boolean; set selectRowOnClick(enabled: boolean); /** * Select specified rows by ID. * * @example * ```typescript * this.grid.selectRows([1,2,5], true); * ``` * @param rowIDs * @param clearCurrentSelection if true clears the current selection */ selectRows(rowIDs: any[], clearCurrentSelection?: boolean): void; /** * Deselect specified rows by ID. * * @example * ```typescript * this.grid.deselectRows([1,2,5]); * ``` * @param rowIDs */ deselectRows(rowIDs: any[]): void; /** * Selects all rows * * @remarks * By default if filtering is in place, selectAllRows() and deselectAllRows() select/deselect all filtered rows. * If you set the parameter onlyFilterData to false that will select all rows in the grid exept deleted rows. * @example * ```typescript * this.grid.selectAllRows(); * this.grid.selectAllRows(false); * ``` * @param onlyFilterData */ selectAllRows(onlyFilterData?: boolean): void; /** * Deselects all rows * * @remarks * By default if filtering is in place, selectAllRows() and deselectAllRows() select/deselect all filtered rows. * If you set the parameter onlyFilterData to false that will deselect all rows in the grid exept deleted rows. * @example * ```typescript * this.grid.deselectAllRows(); * ``` * @param onlyFilterData */ deselectAllRows(onlyFilterData?: boolean): void; /** * Deselect selected cells. * @example * ```typescript * this.grid.clearCellSelection(); * ``` */ clearCellSelection(): void; /** * @hidden @internal */ dragScroll(delta: { left: number; top: number; }): void; /** * @hidden @internal */ isDefined(arg: any): boolean; /** * Select range(s) of cells between certain rows and columns of the grid. */ selectRange(arg: GridSelectionRange | GridSelectionRange[] | null | undefined): void; /** * @hidden @internal */ columnToVisibleIndex(field: string | number): number; /** * @hidden @internal */ setSelection(range: GridSelectionRange): void; /** * Get the currently selected ranges in the grid. */ getSelectedRanges(): GridSelectionRange[]; /** * * Returns an array of the current cell selection in the form of `[{ column.field: cell.value }, ...]`. * * @remarks * If `formatters` is enabled, the cell value will be formatted by its respective column formatter (if any). * If `headers` is enabled, it will use the column header (if any) instead of the column field. */ getSelectedData(formatters?: boolean, headers?: boolean): any[]; /** * Get current selected columns. * * @example * Returns an array with selected columns * ```typescript * const selectedColumns = this.grid.selectedColumns(); * ``` */ selectedColumns(): ColumnType[]; /** * Select specified columns. * * @example * ```typescript * this.grid.selectColumns(['ID','Name'], true); * ``` * @param columns * @param clearCurrentSelection if true clears the current selection */ selectColumns(columns: string[] | ColumnType[], clearCurrentSelection?: boolean): void; /** * Deselect specified columns by field. * * @example * ```typescript * this.grid.deselectColumns(['ID','Name']); * ``` * @param columns */ deselectColumns(columns: string[] | ColumnType[]): void; /** * Deselects all columns * * @example * ```typescript * this.grid.deselectAllColumns(); * ``` */ deselectAllColumns(): void; /** * Selects all columns * * @example * ```typescript * this.grid.deselectAllColumns(); * ``` */ selectAllColumns(): void; /** * * Returns an array of the current columns selection in the form of `[{ column.field: cell.value }, ...]`. * * @remarks * If `formatters` is enabled, the cell value will be formatted by its respective column formatter (if any). * If `headers` is enabled, it will use the column header (if any) instead of the column field. */ getSelectedColumnsData(formatters?: boolean, headers?: boolean): any[]; /** @hidden @internal **/ combineSelectedCellAndColumnData(columnData: any[], formatters?: boolean, headers?: boolean): any[]; /** * @hidden @internal */ preventContainerScroll: (evt: any) => void; /** * @hidden * @internal */ copyHandler(event: any): void; /** * @hidden @internal */ prepareCopyData(event: any, data: any, keys?: any): string; /** * @hidden @internal */ showSnackbarFor(index: number): void; /** * Navigates to a position in the grid based on provided `rowindex` and `visibleColumnIndex`. * * @remarks * Also can execute a custom logic over the target element, * through a callback function that accepts { targetType: GridKeydownTargetType, target: Object } * @example * ```typescript * this.grid.navigateTo(10, 3, (args) => { args.target.nativeElement.focus(); }); * ``` */ navigateTo(rowIndex: number, visibleColIndex?: number, cb?: (args: any) => void): void; /** * Returns `ICellPosition` which defines the next cell, * according to the current position, that match specific criteria. * * @remarks * You can pass callback function as a third parameter of `getPreviousCell` method. * The callback function accepts IgxColumnComponent as a param * @example * ```typescript * const nextEditableCellPosition = this.grid.getNextCell(0, 3, (column) => column.editable); * ``` */ getNextCell(currRowIndex: number, curVisibleColIndex: number, callback?: (IgxColumnComponent: any) => boolean): ICellPosition; /** * Returns `ICellPosition` which defines the previous cell, * according to the current position, that match specific criteria. * * @remarks * You can pass callback function as a third parameter of `getPreviousCell` method. * The callback function accepts IgxColumnComponent as a param * @example * ```typescript * const previousEditableCellPosition = this.grid.getPreviousCell(0, 3, (column) => column.editable); * ``` */ getPreviousCell(currRowIndex: number, curVisibleColIndex: number, callback?: (IgxColumnComponent: any) => boolean): ICellPosition; /** * @hidden * @internal */ endRowEditTabStop(commit?: boolean, event?: Event): boolean; /** * @hidden @internal */ trackColumnChanges(_index: any, col: any): any; /** * @hidden */ isExpandedGroup(_group: IGroupByRecord): boolean; /** * @hidden @internal * TODO: MOVE to CRUD */ openRowOverlay(id: any): void; /** * @hidden @internal */ closeRowEditingOverlay(): void; /** * @hidden @internal */ toggleRowEditingOverlay(show: any): void; /** * @hidden @internal */ repositionRowEditingOverlay(row: RowType): void; protected viewDetachHandler(args: any): void; /** * @hidden @internal */ cachedViewLoaded(args: ICachedViewLoadedEventArgs): void; /** * Opens the advanced filtering dialog. */ openAdvancedFilteringDialog(overlaySettings?: OverlaySettings): void; /** * Closes the advanced filtering dialog. * * @param applyChanges indicates whether the changes should be applied */ closeAdvancedFilteringDialog(applyChanges: boolean): void; /** * @hidden @internal */ getEmptyRecordObjectFor(inRow: RowType): { rowID: string | number; data: any; recordRef: any; }; /** * @hidden @internal */ hasHorizontalScroll(): boolean; /** * @hidden @internal */ isSummaryRow(rowData: any): boolean; /** * @hidden @internal */ triggerPipes(): void; /** * @hidden */ rowEditingWheelHandler: (event: WheelEvent) => void; /** * @hidden */ getUnpinnedIndexById(id: any): number; /** * Finishes the row transactions on the current row and returns whether the grid editing was canceled. * * @remarks * If `commit === true`, passes them from the pending state to the data (or transaction service) * @example * ```html * * ``` * @param commit */ endEdit(commit?: boolean, event?: Event): boolean; /** * Enters add mode by spawning the UI under the specified row by rowID. * * @remarks * If null is passed as rowID, the row adding UI is spawned as the first record in the data view * @remarks * Spawning the UI to add a child for a record only works if you provide a rowID * @example * ```typescript * this.grid.beginAddRowById('ALFKI'); * this.grid.beginAddRowById('ALFKI', true); * this.grid.beginAddRowById(null); * ``` * @param rowID - The rowID to spawn the add row UI for, or null to spawn it as the first record in the data view * @param asChild - Whether the record should be added as a child. Only applicable to igxTreeGrid. */ beginAddRowById(rowID: any, asChild?: boolean): void; protected _addRowForIndex(index: number, asChild?: boolean): void; /** * Enters add mode by spawning the UI at the specified index. * * @remarks * Accepted values for index are integers from 0 to this.grid.dataView.length * @example * ```typescript * this.grid.beginAddRowByIndex(0); * ``` * @param index - The index to spawn the UI at. Accepts integers from 0 to this.grid.dataView.length */ beginAddRowByIndex(index: number): void; /** * @hidden */ preventHeaderScroll(args: any): void; protected beginAddRowForIndex(index: number, asChild?: boolean): void; protected switchTransactionService(val: boolean): void; protected subscribeToTransactions(): void; protected transactionStatusUpdate(event: StateUpdateEvent): void; protected writeToData(rowIndex: number, value: any): void; protected _restoreVirtState(row: any): void; protected changeRowEditingOverlayStateOnScroll(row: RowType): void; /** * Should be called when data and/or isLoading input changes so that the overlay can be * hidden/shown based on the current value of shouldOverlayLoading */ protected evaluateLoadingState(): void; /** * @hidden * Sets grid width i.e. this.calcWidth */ protected calculateGridWidth(): void; /** * @hidden * Sets columns defaultWidth property */ protected _derivePossibleWidth(): void; /** * @hidden * @internal */ protected getExtremumBasedColWidth(column: IgxColumnComponent): string; protected resetNotifyChanges(): void; /** @hidden @internal */ resolveOutlet(): IgxOverlayOutletDirective; /** * Reorder columns in the main columnList and _columns collections. * * @hidden */ protected _moveColumns(from: IgxColumnComponent, to: IgxColumnComponent, pos: DropPosition): void; /** * Update internal column's collection. * @hidden */ updateColumns(newColumns: IgxColumnComponent[]): void; /** * @hidden */ protected _resetColumnList(list?: any): any[]; /** * Reorders columns inside the passed column collection. * When reordering column group collection, the collection is not flattened. * In all other cases, the columns collection is flattened, this is why adittional calculations on the dropIndex are done. * * @hidden */ protected _reorderColumns(from: IgxColumnComponent, to: IgxColumnComponent, position: DropPosition, columnCollection: any[], inGroup?: boolean): void; /** * Reorder column group collection. * * @hidden */ protected _moveChildColumns(parent: IgxColumnComponent, from: IgxColumnComponent, to: IgxColumnComponent, pos: DropPosition): void; /** * @hidden @internal */ protected setupColumns(): void; protected getColumnList(): IgxColumnComponent[]; /** * @hidden */ protected deleteRowFromData(rowID: any, index: number): void; /** * @hidden @internal */ protected getDataBasedBodyHeight(): number; /** * @hidden @internal */ protected onPinnedRowsChanged(change: QueryList): void; /** * @hidden */ protected onColumnsChanged(change: QueryList): void; protected checkPrimaryKeyField(): void; /** * @hidden @internal */ protected onColumnsAddedOrRemoved(): void; /** * @hidden */ protected calculateGridSizes(recalcFeatureWidth?: boolean): void; /** * @hidden * Sets TBODY height i.e. this.calcHeight */ protected calculateGridHeight(): void; /** * @hidden */ protected getGroupAreaHeight(): number; /** * @hidden */ protected getComputedHeight(elem: any): number; /** * @hidden */ protected getFooterHeight(): number; /** * @hidden */ protected getTheadRowHeight(): number; /** * @hidden */ protected getToolbarHeight(): number; /** * @hidden */ protected getPagingFooterHeight(): number; /** * @hidden */ protected getFilterCellHeight(): number; /** * @hidden */ protected _calculateGridBodyHeight(): number; protected checkContainerSizeChange(): boolean; protected _shouldAutoSize(renderedHeight: any): boolean; /** * @hidden * Gets calculated width of the unpinned area * @param takeHidden If we should take into account the hidden columns in the pinned area. */ protected getUnpinnedWidth(takeHidden?: boolean): number; /** * @hidden */ protected _summaries(fieldName: string, hasSummary: boolean, summaryOperand?: any): void; /** * @hidden */ protected _multipleSummaries(expressions: ISummaryExpression[], hasSummary: boolean): void; /** * @hidden */ protected _disableMultipleSummaries(expressions: any): void; /** * @hidden */ resolveDataTypes(rec: any): "string" | "number" | "boolean" | "date" | "image"; /** * @hidden */ protected autogenerateColumns(): void; protected generateDataFields(data: any[]): string[]; /** * @hidden */ protected initColumns(collection: IgxColumnComponent[], cb?: (args: any) => void): void; /** * @hidden */ protected reinitPinStates(): void; protected extractDataFromSelection(source: any[], formatters?: boolean, headers?: boolean, columnData?: any[]): any[]; protected getSelectableColumnsAt(index: any): IgxColumnComponent[]; protected autoSizeColumnsInView(): void; protected extractDataFromColumnsSelection(source: any[], formatters?: boolean, headers?: boolean): any[]; /** * @hidden */ protected initPinning(): void; /** * @hidden */ protected scrollTo(row: any | number, column: any | number, inCollection?: any[]): void; /** * @hidden */ protected scrollToHorizontally(column: any | number): void; /** * @hidden */ protected scrollDirective(directive: IgxGridForOfDirective, goal: number): void; /** * @hidden */ protected getColumnWidthSum(): number; /** * Notify changes, reset cache and populateVisibleIndexes. * * @hidden */ private _columnsReordered; protected buildDataView(_data: any[]): void; private _applyWidthHostBinding; protected verticalScrollHandler(event: any): void; protected horizontalScrollHandler(event: any): void; protected get renderedActualRowHeight(): number; private executeCallback; private getNavigationArguments; private getNextDataRowIndex; /** * Returns the previous editable row index or -1 if no such row is found. * * @param currentIndex The index of the current editable record. */ private findPrevEditableDataRowIndex; /** * Returns if the record at the specified data view index is a an editable data record. * If record is group rec, summary rec, child rec, ghost rec. etc. it is not editable. * * @param dataViewIndex The index of that record in the data view. * */ private isEditableDataRecordAtIndex; /** * Returns if the record at the specified data view index is a ghost. * If record is pinned but is not in pinned area then it is a ghost record. * * @param dataViewIndex The index of that record in the data view. */ private isGhostRecordAtIndex; private isValidPosition; private find; private rebuildMatchCache; protected updateDefaultRowHeight(): void; private configureRowEditingOverlay; private handleColumnPinningForGroups; protected shouldRecreateColumns(oldData: any[] | null | undefined, newData: any[] | null | undefined): boolean; /** * Clears the current navigation service active node */ private clearActiveNode; private getRecreatedTree; private _calculateRowCount; private updateMergedData; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; static ngAcceptInputType_autoGenerate: unknown; static ngAcceptInputType_moving: unknown; static ngAcceptInputType_hideRowSelectors: unknown; static ngAcceptInputType_rowDraggable: unknown; static ngAcceptInputType_rowEditable: unknown; static ngAcceptInputType_isLoading: unknown; static ngAcceptInputType_allowFiltering: unknown; static ngAcceptInputType_allowAdvancedFiltering: unknown; static ngAcceptInputType_showSummaryOnCollapse: unknown; static ngAcceptInputType_batchEditing: unknown; static ngAcceptInputType_selectRowOnClick: unknown; } interface IGroupingDoneEventArgs extends IBaseEventArgs { expressions: Array | ISortingExpression; groupedColumns: Array | IgxColumnComponent; ungroupedColumns: Array | IgxColumnComponent; } /** * Grid provides a way to present and manipulate tabular data. * * @igxModule IgxGridModule * @igxGroup Grids & Lists * @igxKeywords grid, table * @igxTheme igx-grid-theme * @remarks * The Ignite UI Grid is used for presenting and manipulating tabular data in the simplest way possible. Once data * has been bound, it can be manipulated through filtering, sorting & editing operations. * @example * ```html * * * * * * ``` */ declare class IgxGridComponent extends IgxGridBaseDirective implements GridType, OnInit, DoCheck, AfterContentInit, AfterViewInit { /** * Emitted when a new chunk of data is loaded from virtualization. * * @example * ```typescript * * ``` */ dataPreLoad: EventEmitter; /** * Emitted when grouping is performed. * * @example * ```html * * ``` */ groupingExpressionsChange: EventEmitter; /** * Emitted when groups are expanded/collapsed. * * @example * ```html * * ``` */ groupingExpansionStateChange: EventEmitter; /** * Emitted when columns are grouped/ungrouped. * * @remarks * The `groupingDone` event would be raised only once if several columns get grouped at once by calling * the `groupBy()` or `clearGrouping()` API methods and passing an array as an argument. * The event arguments provide the `expressions`, `groupedColumns` and `ungroupedColumns` properties, which contain * the `ISortingExpression` and the `IgxColumnComponent` related to the grouping/ungrouping operation. * Please note that `groupedColumns` and `ungroupedColumns` show only the **newly** changed columns (affected by the **last** * grouping/ungrouping operation), not all columns which are currently grouped/ungrouped. * columns. * @example * ```html * * ``` */ groupingDone: EventEmitter; /** * Gets/Sets whether created groups are rendered expanded or collapsed. * * @remarks * The default rendered state is expanded. * @example * ```html * * ``` */ groupsExpanded: boolean; /** * Gets/Sets the template that will be rendered as a GroupBy drop area. * * @remarks * The grid needs to have at least one groupable column in order the GroupBy area to be displayed. * @example * ```html * * * * Custom drop area! * * ``` */ dropAreaTemplate: TemplateRef; /** * @hidden @internal */ detailTemplateDirective: TemplateRef; /** * Returns a reference to the master-detail template. * ```typescript * let detailTemplate = this.grid.detailTemplate; * ``` * * @memberof IgxColumnComponent */ get detailTemplate(): TemplateRef; /** * Sets the master-detail template. * ```html * *
*
City: {{dataItem.City}}
*
Address: {{dataItem.Address}}
*
*
* ``` * ```typescript * @ViewChild("'detailTemplate'", {read: TemplateRef }) * public detailTemplate: TemplateRef; * this.grid.detailTemplate = this.detailTemplate; * ``` * * @memberof IgxColumnComponent */ set detailTemplate(template: TemplateRef); /** * @hidden @internal */ role: string; /** * Gets/Sets the value of the `id` attribute. * * @remarks * If not provided it will be automatically generated. * @example * ```html * * ``` */ id: string; /** * @hidden @internal */ protected recordTemplate: TemplateRef; protected detailTemplateContainer: TemplateRef; protected defaultGroupTemplate: TemplateRef; protected summaryTemplate: TemplateRef; /** * @hidden @internal */ protected groupTemplate: IgxGroupByRowTemplateDirective; /** * @hidden * @internal */ protected groupByRowSelectorsTemplates: QueryList>; private _groupsRowList; private _groupsRecords; /** * Gets the hierarchical representation of the group by records. * * @example * ```typescript * let groupRecords = this.grid.groupsRecords; * ``` */ get groupsRecords(): IGroupByRecord[]; /** * @hidden @internal * Includes children of collapsed group rows. */ groupingResult: any[]; /** * @hidden @internal */ groupingMetadata: any[]; /** * @hidden @internal * Does not include children of collapsed group rows. */ groupingFlatResult: any[]; /** * @hidden */ protected _groupingExpressions: IGroupingExpression[]; /** * @hidden */ protected _groupingExpandState: IGroupByExpandState[]; /** * @hidden */ protected _groupRowTemplate: TemplateRef; /** * @hidden */ protected _groupStrategy: IGridGroupingStrategy; /** * @hidden */ protected groupingDiffer: any; private _data?; private _hideGroupedColumns; private _dropAreaMessage; private _showGroupArea; private _groupByRowSelectorTemplate; private _detailTemplate; /** * Gets/Sets the array of data that populates the component. * * @example * ```html * * ``` */ get data(): any[] | null; set data(value: any[] | null); /** * Gets/Sets the total number of records in the data source. * * @remarks * This property is required for remote grid virtualization to function when it is bound to remote data. * @example * ```typescript * const itemCount = this.grid1.totalItemCount; * this.grid1.totalItemCount = 55; * ``` */ set totalItemCount(count: number); get totalItemCount(): number; private get _gridAPI(); private childDetailTemplates; /** * @hidden @internal */ groupingPerformedSubject: Subject; /** * @hidden @internal */ groupingPerformed$: Observable; /** * Gets/Sets the group by state. * * @example * ```typescript * let groupByState = this.grid.groupingExpressions; * this.grid.groupingExpressions = [...]; * ``` * @remarks * Supports two-way data binding. * @example * ```html * * ``` */ get groupingExpressions(): IGroupingExpression[]; set groupingExpressions(value: IGroupingExpression[]); /** * Gets/Sets a list of expansion states for group rows. * * @remarks * Includes only states that differ from the default one (controlled through groupsExpanded and states that the user has changed. * Contains the expansion state (expanded: boolean) and the unique identifier for the group row (Array). * Supports two-way data binding. * @example * ```html * * ``` */ get groupingExpansionState(): IGroupByExpandState[]; set groupingExpansionState(value: IGroupByExpandState[]); /** * Gets/Sets whether the grouped columns should be hidden. * * @remarks * The default value is "false" * @example * ```html * * ``` */ get hideGroupedColumns(): boolean; set hideGroupedColumns(value: boolean); /** * Gets/Sets the grouping strategy of the grid. * * @remarks The default IgxGrouping extends from IgxSorting and a custom one can be used as a `sortStrategy` as well. * * @example * ```html * * ``` */ get groupStrategy(): IGridGroupingStrategy; set groupStrategy(value: IGridGroupingStrategy); /** * Gets/Sets the message displayed inside the GroupBy drop area where columns can be dragged on. * * @remarks * The grid needs to have at least one groupable column in order the GroupBy area to be displayed. * @example * ```html * * * * ``` */ set dropAreaMessage(value: string); get dropAreaMessage(): string; /** * @hidden @internal */ get groupsRowList(): QueryList; /** * Gets the group by row selector template. */ get groupByRowSelectorTemplate(): TemplateRef; /** * Sets the group by row selector template. * ```html * * {{ groupByRowContext.selectedCount }} / {{ groupByRowContext.totalCount }} * * ``` * ```typescript * @ViewChild("'template'", {read: TemplateRef }) * public template: TemplateRef; * this.grid.groupByRowSelectorTemplate = this.template; * ``` */ set groupByRowSelectorTemplate(template: TemplateRef); /** * @hidden @internal */ getDetailsContext(rowData: any, index: any): IgxGridDetailTemplateDirective; /** * @hidden @internal */ detailsViewFocused(container: any, rowIndex: any): void; /** * @hidden @internal */ get hasDetails(): boolean; /** * @hidden @internal */ getRowTemplate(rowData: any): TemplateRef; /** * @hidden @internal */ isDetailRecord(record: any): boolean; /** * @hidden @internal */ isDetailActive(rowIndex: any): boolean; /** * Gets/Sets the template reference for the group row. * * @example * ``` * const groupRowTemplate = this.grid.groupRowTemplate; * this.grid.groupRowTemplate = myRowTemplate; * ``` */ get groupRowTemplate(): TemplateRef; set groupRowTemplate(template: TemplateRef); /** @hidden @internal */ trackChanges: (index: any, rec: any) => any; /** * Groups by a new `IgxColumnComponent` based on the provided expression, or modifies an existing one. * * @remarks * Also allows for multiple columns to be grouped at once if an array of `ISortingExpression` is passed. * The `groupingDone` event would get raised only **once** if this method gets called multiple times with the same arguments. * @example * ```typescript * this.grid.groupBy({ fieldName: name, dir: SortingDirection.Asc, ignoreCase: false }); * this.grid.groupBy([ * { fieldName: name1, dir: SortingDirection.Asc, ignoreCase: false }, * { fieldName: name2, dir: SortingDirection.Desc, ignoreCase: true }, * { fieldName: name3, dir: SortingDirection.Desc, ignoreCase: false } * ]); * ``` */ groupBy(expression: IGroupingExpression | Array): void; /** * Clears grouping for particular column, array of columns or all columns. * * @remarks * Clears all grouping in the grid, if no parameter is passed. * If a parameter is provided, clears grouping for a particular column or an array of columns. * @example * ```typescript * this.grid.clearGrouping(); //clears all grouping * this.grid.clearGrouping("ID"); //ungroups a single column * this.grid.clearGrouping(["ID", "Column1", "Column2"]); //ungroups multiple columns * ``` * @param name Name of column or array of column names to be ungrouped. */ clearGrouping(name?: string | Array): void; /** * Returns if a group is expanded or not. * * @param group The group record. * @example * ```typescript * public groupRow: IGroupByRecord; * const expandedGroup = this.grid.isExpandedGroup(this.groupRow); * ``` */ isExpandedGroup(group: IGroupByRecord): boolean; /** * Toggles the expansion state of a group. * * @param groupRow The group record to toggle. * @example * ```typescript * public groupRow: IGroupByRecord; * const toggleExpGroup = this.grid.toggleGroup(this.groupRow); * ``` */ toggleGroup(groupRow: IGroupByRecord): void; /** * Select all rows within a group. * * @param groupRow: The group record which rows would be selected. * @param clearCurrentSelection if true clears the current selection * @example * ```typescript * this.grid.selectRowsInGroup(this.groupRow, true); * ``` */ selectRowsInGroup(groupRow: IGroupByRecord, clearPrevSelection?: boolean): void; /** * Deselect all rows within a group. * * @param groupRow The group record which rows would be deselected. * @example * ```typescript * public groupRow: IGroupByRecord; * this.grid.deselectRowsInGroup(this.groupRow); * ``` */ deselectRowsInGroup(groupRow: IGroupByRecord): void; /** * Expands the specified group and all of its parent groups. * * @param groupRow The group record to fully expand. * @example * ```typescript * public groupRow: IGroupByRecord; * this.grid.fullyExpandGroup(this.groupRow); * ``` */ fullyExpandGroup(groupRow: IGroupByRecord): void; /** * @hidden @internal */ isGroupByRecord(record: any): boolean; /** * Toggles the expansion state of all group rows recursively. * * @example * ```typescript * this.grid.toggleAllGroupRows; * ``` */ toggleAllGroupRows(): void; /** @hidden @internal */ get hasGroupableColumns(): boolean; /** * Returns whether the `IgxGridComponent` has group area. * * @example * ```typescript * let isGroupAreaVisible = this.grid.showGroupArea; * ``` * * @example * ```html * * ``` */ get showGroupArea(): boolean; set showGroupArea(value: boolean); /** * @hidden @internal */ isColumnGrouped(fieldName: string): boolean; /** * @hidden @internal */ getContext(rowData: any, rowIndex: number, pinned?: boolean): any; /** * @hidden @internal */ viewCreatedHandler(args: any): void; /** * @hidden @internal */ viewMovedHandler(args: any): void; /** * @hidden @internal */ get iconTemplate(): TemplateRef; /** * @hidden @internal */ ngAfterContentInit(): void; /** * @hidden @internal */ ngAfterViewInit(): void; /** * @hidden @internal */ ngOnInit(): void; /** * @hidden @internal */ ngDoCheck(): void; /** * @hidden @internal */ dataLoading(event: any): void; /** * * Returns an array of the current cell selection in the form of `[{ column.field: cell.value }, ...]`. * * @remarks * If `formatters` is enabled, the cell value will be formatted by its respective column formatter (if any). * If `headers` is enabled, it will use the column header (if any) instead of the column field. */ getSelectedData(formatters?: boolean, headers?: boolean): any[]; /** * Returns the `IgxGridRow` by index. * * @example * ```typescript * const myRow = grid.getRowByIndex(1); * ``` * @param index */ getRowByIndex(index: number): RowType; /** * Returns `IgxGridRow` object by the specified primary key. * * @remarks * Requires that the `primaryKey` property is set. * @example * ```typescript * const myRow = this.grid1.getRowByKey("cell5"); * ``` * @param keyValue */ getRowByKey(key: any): RowType; /** * @hidden @internal */ allRows(): RowType[]; /** * Returns the collection of `IgxGridRow`s for current page. * * @hidden @internal */ dataRows(): RowType[]; /** * Returns an array of the selected `IgxGridCell`s. * * @example * ```typescript * const selectedCells = this.grid.selectedCells; * ``` */ get selectedCells(): CellType[]; /** * Returns a `CellType` object that matches the conditions. * * @example * ```typescript * const myCell = this.grid1.getCellByColumn(2, "UnitPrice"); * ``` * @param rowIndex * @param columnField */ getCellByColumn(rowIndex: number, columnField: string): CellType; /** * Returns a `CellType` object that matches the conditions. * * @remarks * Requires that the primaryKey property is set. * @example * ```typescript * grid.getCellByKey(1, 'index'); * ``` * @param rowSelector match any rowID * @param columnField */ getCellByKey(rowSelector: any, columnField: string): CellType; pinRow(rowID: any, index?: number): boolean; unpinRow(rowID: any): boolean; /** * @hidden @internal */ createRow(index: number, data?: any): RowType; /** * @hidden @internal */ protected get defaultTargetBodyHeight(): number; /** * @hidden @internal */ protected getGroupAreaHeight(): number; /** * @hidden @internal */ protected onColumnsAddedOrRemoved(): void; /** * @hidden */ protected onColumnsChanged(change: QueryList): void; /** * @hidden @internal */ protected scrollTo(row: any | number, column: any | number): void; /** * @hidden @internal */ protected _getStateForGroupRow(groupRow: IGroupByRecord): IGroupByExpandState; /** * @hidden */ protected _toggleGroup(groupRow: IGroupByRecord): void; /** * @hidden @internal */ protected _fullyExpandGroup(groupRow: IGroupByRecord): void; /** * @hidden @internal */ protected _applyGrouping(): void; protected _setupNavigationService(): void; private checkIfNoColumnField; private _setGroupColsVisibility; private stringifyCallback; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; static ngAcceptInputType_groupsExpanded: unknown; static ngAcceptInputType_hideGroupedColumns: unknown; static ngAcceptInputType_showGroupArea: unknown; } /** * @hidden */ declare class IgxGridSortingPipe implements PipeTransform { private grid; transform(collection: any[], sortExpressions: ISortingExpression[], groupExpressions: IGroupingExpression[], sorting: IGridSortingStrategy, id: string, pipeTrigger: number, pinned?: any): any[]; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵpipe: i0.ɵɵPipeDeclaration; } /** * @hidden */ declare class IgxGridGroupingPipe implements PipeTransform { private grid; transform(collection: any[], expression: IGroupingExpression | IGroupingExpression[], expansion: IGroupByExpandState | IGroupByExpandState[], groupingStrategy: IGridGroupingStrategy, defaultExpanded: boolean, id: string, groupsRecords: any[], _pipeTrigger: number): IGroupByResult; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵpipe: i0.ɵɵPipeDeclaration; } declare class IgxGridCellMergePipe implements PipeTransform { private grid; transform(collection: any, colsToMerge: ColumnType[], mergeMode: GridCellMergeMode, mergeStrategy: IGridMergeStrategy, _pipeTrigger: number): any; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵpipe: i0.ɵɵPipeDeclaration; } declare class IgxGridUnmergeActivePipe implements PipeTransform { private grid; transform(collection: any, colsToMerge: ColumnType[], activeRowIndexes: number[], pinned: boolean, _pipeTrigger: number): any; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵpipe: i0.ɵɵPipeDeclaration; } /** * @hidden */ declare class IgxGridPagingPipe implements PipeTransform { private grid; transform(collection: IGroupByResult, enabled: boolean, page: number, perPage: number, _: number): IGroupByResult; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵpipe: i0.ɵɵPipeDeclaration; } /** * @hidden */ declare class IgxGridFilteringPipe implements PipeTransform { private grid; transform(collection: any[], expressionsTree: IFilteringExpressionsTree, filterStrategy: IFilteringStrategy, advancedExpressionsTree: IFilteringExpressionsTree, id: string, pipeTrigger: number, filteringPipeTrigger: number, pinned?: any): any[]; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵpipe: i0.ɵɵPipeDeclaration; } declare class IgxGridExpandableCellComponent extends IgxGridCellComponent implements OnInit { document: Document; /** * @hidden */ expanded: boolean; indicator: ElementRef; indentationDiv: ElementRef; /** * @hidden */ protected defaultExpandedTemplate: TemplateRef; /** * @hidden */ protected defaultCollapsedTemplate: TemplateRef; /** * @hidden */ toggle(event: Event): void; /** * @hidden */ onIndicatorFocus(): void; /** * @hidden */ calculateSizeToFit(range: any): number; /** * @hidden */ get iconTemplate(): TemplateRef; /** * @hidden */ get showExpanderIndicator(): boolean; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare const IGX_GRID_DIRECTIVES: readonly [typeof IgxGridComponent, typeof IgxGroupByRowTemplateDirective, typeof IgxGridDetailTemplateDirective, typeof IgxRowAddTextDirective, typeof IgxRowEditActionsDirective, typeof IgxRowEditTextDirective, typeof IgxRowEditTabStopDirective, typeof IgxRowDirective, typeof IgxGridFooterComponent, typeof IgxAdvancedFilteringDialogComponent, typeof IgxRowExpandedIndicatorDirective, typeof IgxRowCollapsedIndicatorDirective, typeof IgxHeaderExpandedIndicatorDirective, typeof IgxHeaderCollapsedIndicatorDirective, typeof IgxExcelStyleHeaderIconDirective, typeof IgxSortAscendingHeaderIconDirective, typeof IgxSortDescendingHeaderIconDirective, typeof IgxSortHeaderIconDirective, typeof IgxGridEmptyTemplateDirective, typeof IgxGridLoadingTemplateDirective, typeof IgxDragIndicatorIconDirective, typeof IgxRowDragGhostDirective, typeof IgxGridStateDirective, typeof IgxGridPinningActionsComponent, typeof IgxGridEditingActionsComponent, typeof IgxGridActionsBaseDirective, typeof IgxGridActionButtonComponent, typeof IgxGridHeaderComponent, typeof IgxGridHeaderGroupComponent, typeof IgxGridHeaderRowComponent, typeof IgxFilterCellTemplateDirective, typeof IgxSummaryTemplateDirective, typeof IgxCellTemplateDirective, typeof IgxCellValidationErrorDirective, typeof IgxCellHeaderTemplateDirective, typeof IgxCellFooterTemplateDirective, typeof IgxCellEditorTemplateDirective, typeof IgxCollapsibleIndicatorTemplateDirective, typeof IgxColumnComponent, typeof IgxColumnGroupComponent, typeof IgxColumnLayoutComponent, typeof IgxColumnActionsComponent, typeof IgxColumnHidingDirective, typeof IgxColumnPinningDirective, typeof IgxRowSelectorDirective, typeof IgxGroupByRowSelectorDirective, typeof IgxHeadSelectorDirective, typeof IgxCSVTextDirective, typeof IgxExcelTextDirective, typeof IgxGridToolbarActionsComponent, typeof IgxGridToolbarAdvancedFilteringComponent, typeof IgxGridToolbarComponent, typeof IgxGridToolbarExporterComponent, typeof IgxGridToolbarHidingComponent, typeof IgxGridToolbarPinningComponent, typeof IgxGridToolbarTitleComponent, typeof IgxGridToolbarDirective, typeof IgxGridExcelStyleFilteringComponent, typeof IgxExcelStyleHeaderComponent, typeof IgxExcelStyleSortingComponent, typeof IgxExcelStylePinningComponent, typeof IgxExcelStyleHidingComponent, typeof IgxExcelStyleSelectingComponent, typeof IgxExcelStyleClearFiltersComponent, typeof IgxExcelStyleConditionalFilterComponent, typeof IgxExcelStyleMovingComponent, typeof IgxExcelStyleSearchComponent, typeof IgxExcelStyleColumnOperationsTemplateDirective, typeof IgxExcelStyleFilterOperationsTemplateDirective, typeof IgxExcelStyleLoadingValuesTemplateDirective, typeof IgxColumnRequiredValidatorDirective, typeof IgxColumnMinValidatorDirective, typeof IgxColumnMaxValidatorDirective, typeof IgxColumnEmailValidatorDirective, typeof IgxColumnMinLengthValidatorDirective, typeof IgxColumnMaxLengthValidatorDirective, typeof IgxColumnPatternValidatorDirective, typeof IgxPaginatorComponent, typeof IgxPageNavigationComponent, typeof IgxPageSizeSelectorComponent, typeof IgxPaginatorContentDirective, typeof IgxPaginatorDirective]; export { IGX_GRID_DIRECTIVES, IgxGridBaseDirective, IgxGridCellMergePipe, IgxGridComponent, IgxGridExpandableCellComponent, IgxGridFilteringPipe, IgxGridGroupingPipe, IgxGridPagingPipe, IgxGridRowComponent, IgxGridSortingPipe, IgxGridUnmergeActivePipe }; export type { IGroupingDoneEventArgs };