igniteui-angular
Version:
Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps
1,332 lines (1,330 loc) • 160 kB
TypeScript
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 * as i2 from 'igniteui-angular/grids/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 * as i3 from 'igniteui-angular/paginator';
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<IgxGridRowComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<IgxGridRowComponent, "igx-grid-row", never, {}, {}, never, never, true, never>;
}
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<Transaction, State>;
/**
* 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
* <igx-grid [data]="Data" [autoGenerate]="true"></igx-grid>
* ```
*/
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
* <igx-grid data=[Data] [autoGenerate]="true" [autoGenerateExclude]="['ProductName', 'Count']"></igx-grid>
* ```
* ```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
* <ng-template igxGridEmpty>
* <!-- content to show when the grid is empty -->
* </ng-template>
* ```
* Or
* ```html
* <igx-grid [id]="'igx-grid-1'" [data]="Data" [emptyGridTemplate]="myTemplate" [autoGenerate]="true"></igx-grid>
* ```
*/
get emptyGridTemplate(): TemplateRef<IgxGridTemplateContext>;
set emptyGridTemplate(template: TemplateRef<IgxGridTemplateContext>);
/**
* Gets/Sets a custom template for adding row UI when grid is empty.
*
* @example
* ```html
* <igx-grid [id]="'igx-grid-1'" [data]="Data" [addRowEmptyTemplate]="myTemplate" [autoGenerate]="true"></igx-grid>
* ```
*/
addRowEmptyTemplate: TemplateRef<void>;
/**
* Gets/Sets a custom template when loading.
*
* @example
* ```html
* <ng-template igxGridLoading>
* <!-- content to show when the grid is loading -->
* </ng-template>
* ```
* Or
* ```html
* <igx-grid [id]="'igx-grid-1'" [data]="Data" [loadingGridTemplate]="myTemplate" [autoGenerate]="true"></igx-grid>
* ```
*/
get loadingGridTemplate(): TemplateRef<IgxGridTemplateContext>;
set loadingGridTemplate(template: TemplateRef<IgxGridTemplateContext>);
/**
* 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
* <igx-grid #grid [data]="localData" [dataCloneStrategy]="customCloneStrategy"></igx-grid>
* ```
*/
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
* <igx-grid #grid [data]="localData" [height]="'305px'" [autoGenerate]="true"
* (filteringExpressionsTreeChange)="filteringExprTreeChange($event)"></igx-grid>
* ```
*/
filteringExpressionsTreeChange: EventEmitter<IFilteringExpressionsTree>;
/**
* Emitted after advanced filtering is performed.
*
* @remarks
* Returns the advanced filtering expressions tree.
* @example
* ```html
* <igx-grid #grid [data]="localData" [height]="'305px'" [autoGenerate]="true"
* (advancedFilteringExpressionsTreeChange)="advancedFilteringExprTreeChange($event)"></igx-grid>
* ```
*/
advancedFilteringExpressionsTreeChange: EventEmitter<IFilteringExpressionsTree>;
/**
* Emitted when grid is scrolled horizontally/vertically.
*
* @example
* ```html
* <igx-grid #grid [data]="localData" [height]="'305px'" [autoGenerate]="true"
* (gridScroll)="onScroll($event)"></igx-grid>
* ```
*/
gridScroll: EventEmitter<IGridScrollEventArgs>;
/**
* 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
* <igx-grid #grid [data]="Data" [rowClasses] = "rowClasses" [autoGenerate]="true"></igx-grid>
* ```
*
* @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
* <igx-grid #grid [data]="Data" [rowStyles]="styles" [autoGenerate]="true"></igx-grid>
* ```
*
* @memberof IgxColumnComponent
*/
rowStyles: any;
/**
* Gets/Sets the primary key.
*
* @example
* ```html
* <igx-grid #grid [data]="localData" [primaryKey]="'ProductID'" [autoGenerate]="true"></igx-grid>
* ```
*/
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
* <igx-grid [data]="localData" [filterMode]="'excelStyleFilter'" [uniqueColumnValuesStrategy]="columnValuesStrategy"></igx-grid>
* ```
*/
uniqueColumnValuesStrategy: (column: ColumnType, filteringExpressionsTree: IFilteringExpressionsTree, done: (values: any[]) => void) => void;
/** @hidden @internal */
excelStyleFilteringComponents: QueryList<IgxGridExcelStyleFilteringComponent>;
/** @hidden @internal */
get excelStyleFilteringComponent(): IgxGridExcelStyleFilteringComponent;
/** @hidden @internal */
get headerGroups(): IgxGridHeaderGroupComponent[];
/**
* Emitted when a cell is clicked.
*
* @remarks
* Returns the `IgxGridCell`.
* @example
* ```html
* <igx-grid #grid (cellClick)="cellClick($event)" [data]="localData" [height]="'305px'" [autoGenerate]="true"></igx-grid>
* ```
*/
cellClick: EventEmitter<IGridCellEventArgs>;
/**
* Emitted when a row is clicked.
*
* @remarks
* Returns the `IgxGridRow`.
* @example
* ```html
* <igx-grid #grid (rowClick)="rowClick($event)" [data]="localData" [height]="'305px'" [autoGenerate]="true"></igx-grid>
* ```
*/
rowClick: EventEmitter<IGridRowEventArgs>;
/**
* Emitted when formGroup is created on edit of row/cell.
*
* @example
* ```html
* <igx-grid #grid (formGroupCreated)="formGroupCreated($event)" [data]="localData" [height]="'305px'" [autoGenerate]="true"></igx-grid>
* ```
*/
formGroupCreated: EventEmitter<IGridFormGroupCreatedEventArgs>;
/**
* Emitted when grid's validation status changes.
*
* @example
* ```html
* <igx-grid #grid (validationStatusChange)="validationStatusChange($event)" [data]="localData" [height]="'305px'" [autoGenerate]="true"></igx-grid>
* ```
*/
validationStatusChange: EventEmitter<IGridValidationStatusEventArgs>;
/**
* Emitted when a cell is selected.
*
* @remarks
* Returns the `IgxGridCell`.
* @example
* ```html
* <igx-grid #grid (selected)="onCellSelect($event)" [data]="localData" [height]="'305px'" [autoGenerate]="true"></igx-grid>
* ```
*/
selected: EventEmitter<IGridCellEventArgs>;
/**
* Emitted when `IgxGridRowComponent` is selected.
*
* @example
* ```html
* <igx-grid #grid (rowSelectionChanging)="rowSelectionChanging($event)" [data]="localData" [autoGenerate]="true"></igx-grid>
* ```
*/
rowSelectionChanging: EventEmitter<IRowSelectionEventArgs>;
/**
* Emitted when `IgxColumnComponent` is selected.
*
* @example
* ```html
* <igx-grid #grid (columnSelectionChanging)="columnSelectionChanging($event)" [data]="localData" [autoGenerate]="true"></igx-grid>
* ```
*/
columnSelectionChanging: EventEmitter<IColumnSelectionEventArgs>;
/**
* 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<IPinColumnCancellableEventArgs>;
/**
* 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<IPinColumnEventArgs>;
/**
* Emitted when cell enters edit mode.
*
* @remarks
* This event is cancelable.
* @example
* ```html
* <igx-grid #grid3 (cellEditEnter)="editStart($event)" [data]="data" [primaryKey]="'ProductID'">
* </igx-grid>
* ```
*/
cellEditEnter: EventEmitter<IGridEditEventArgs>;
/**
* Emitted when cell exits edit mode.
*
* @example
* ```html
* <igx-grid #grid3 (cellEditExit)="editExit($event)" [data]="data" [primaryKey]="'ProductID'">
* </igx-grid>
* ```
*/
cellEditExit: EventEmitter<IGridEditDoneEventArgs>;
/**
* 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
* <igx-grid #grid3 (cellEdit)="editDone($event)" [data]="data" [primaryKey]="'ProductID'">
* </igx-grid>
* ```
*/
cellEdit: EventEmitter<IGridEditEventArgs>;
/**
* Emitted after cell has been edited and editing has been committed.
*
* @example
* ```html
* <igx-grid #grid3 (cellEditDone)="editDone($event)" [data]="data" [primaryKey]="'ProductID'">
* </igx-grid>
* ```
*/
cellEditDone: EventEmitter<IGridEditDoneEventArgs>;
/**
* Emitted when a row enters edit mode.
*
* @remarks
* Emitted when [rowEditable]="true".
* This event is cancelable.
* @example
* ```html
* <igx-grid #grid3 (rowEditEnter)="editStart($event)" [primaryKey]="'ProductID'" [rowEditable]="true">
* </igx-grid>
* ```
*/
rowEditEnter: EventEmitter<IGridEditEventArgs>;
/**
* 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
* <igx-grid #grid3 (rowEdit)="editDone($event)" [data]="data" [primaryKey]="'ProductID'" [rowEditable]="true">
* </igx-grid>
* ```
*/
rowEdit: EventEmitter<IGridEditEventArgs>;
/**
* 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
* <igx-grid #grid3 (rowEditDone)="editDone($event)" [data]="data" [primaryKey]="'ProductID'" [rowEditable]="true">
* </igx-grid>
* ```
*/
rowEditDone: EventEmitter<IGridEditDoneEventArgs>;
/**
* 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
* <igx-grid #grid3 (rowEditExit)="editExit($event)" [data]="data" [primaryKey]="'ProductID'" [rowEditable]="true">
* </igx-grid>
* ```
*/
rowEditExit: EventEmitter<IGridEditDoneEventArgs>;
/**
* Emitted when a column is initialized.
*
* @remarks
* Returns the column object.
* @example
* ```html
* <igx-grid #grid [data]="localData" (columnInit)="initColumns($event)" [autoGenerate]="true"></igx-grid>
* ```
*/
columnInit: EventEmitter<IgxColumnComponent>;
/**
* @hidden @internal
*/
columnsAutogenerated: EventEmitter<IColumnsAutoGeneratedEventArgs>;
/**
* Emitted before sorting expressions are applied.
*
* @remarks
* Returns an `ISortingEventArgs` object. `sortingExpressions` key holds the sorting expressions.
* @example
* ```html
* <igx-grid #grid [data]="localData" [autoGenerate]="true" (sorting)="sorting($event)"></igx-grid>
* ```
*/
sorting: EventEmitter<ISortingEventArgs>;
/**
* Emitted after sorting is completed.
*
* @remarks
* Returns the sorting expression.
* @example
* ```html
* <igx-grid #grid [data]="localData" [autoGenerate]="true" (sortingDone)="sortingDone($event)"></igx-grid>
* ```
*/
sortingDone: EventEmitter<ISortingExpression<any> | ISortingExpression<any>[]>;
/**
* Emitted before filtering expressions are applied.
*
* @remarks
* Returns an `IFilteringEventArgs` object. `filteringExpressions` key holds the filtering expressions for the column.
* @example
* ```html
* <igx-grid #grid [data]="localData" [height]="'305px'" [autoGenerate]="true" (filtering)="filtering($event)"></igx-grid>
* ```
*/
filtering: EventEmitter<IFilteringEventArgs>;
/**
* Emitted after filtering is performed through the UI.
*
* @remarks
* Returns the filtering expressions tree of the column for which filtering was performed.
* @example
* ```html
* <igx-grid #grid [data]="localData" [height]="'305px'" [autoGenerate]="true" (filteringDone)="filteringDone($event)"></igx-grid>
* ```
*/
filteringDone: EventEmitter<IFilteringExpressionsTree>;
/**
* Emitted when a row is added.
*
* @remarks
* Returns the data for the new `IgxGridRowComponent` object.
* @example
* ```html
* <igx-grid #grid [data]="localData" (rowAdded)="rowAdded($event)" [height]="'305px'" [autoGenerate]="true"></igx-grid>
* ```
*/
rowAdded: EventEmitter<IRowDataEventArgs>;
/**
* Emitted when a row is deleted.
*
* @remarks
* Returns an `IRowDataEventArgs` object.
* @example
* ```html
* <igx-grid #grid [data]="localData" (rowDeleted)="rowDeleted($event)" [height]="'305px'" [autoGenerate]="true"></igx-grid>
* ```
*/
rowDeleted: EventEmitter<IRowDataEventArgs>;
/**
* Emmited when deleting a row.
*
* @remarks
* This event is cancelable.
* Returns an IRowDataCancellableEventArgs` object.
* @example
* ```html
* <igx-grid #grid [data]="localData" (rowDelete)="rowDelete($event)" [height]="'305px'" [autoGenerate]="true"></igx-grid>
* ```
*/
rowDelete: EventEmitter<IRowDataCancelableEventArgs>;
/**
* Emmited just before the newly added row is commited.
*
* @remarks
* This event is cancelable.
* Returns an IRowDataCancellableEventArgs` object.
* @example
* ```html
* <igx-grid #grid [data]="localData" (rowAdd)="rowAdd($event)" [height]="'305px'" [autoGenerate]="true"></igx-grid>
* ```
*/
rowAdd: EventEmitter<IRowDataCancelableEventArgs>;
/**
* Emitted after column is resized.
*
* @remarks
* Returns the `IgxColumnComponent` object's old and new width.
* @example
* ```html
* <igx-grid #grid [data]="localData" (columnResized)="resizing($event)" [autoGenerate]="true"></igx-grid>
* ```
*/
columnResized: EventEmitter<IColumnResizeEventArgs>;
/**
* 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
* <igx-grid #grid [data]="localData" (contextMenu)="contextMenu($event)" [autoGenerate]="true"></igx-grid>
* ```
*/
contextMenu: EventEmitter<IGridContextMenuEventArgs>;
/**
* Emitted when a cell is double clicked.
*
* @remarks
* Returns the `IgxGridCell` object.
* @example
* ```html
* <igx-grid #grid [data]="localData" (doubleClick)="dblClick($event)" [autoGenerate]="true"></igx-grid>
* ```
*/
doubleClick: EventEmitter<IGridCellEventArgs>;
/**
* Emitted before column visibility is changed.
*
* @remarks
* Args: { column: any, newValue: boolean }
* @example
* ```html
* <igx-grid (columnVisibilityChanging)="visibilityChanging($event)"></igx-grid>
* ```
*/
columnVisibilityChanging: EventEmitter<IColumnVisibilityChangingEventArgs>;
/**
* Emitted after column visibility is changed.
*
* @remarks
* Args: { column: IgxColumnComponent, newValue: boolean }
* @example
* ```html
* <igx-grid (columnVisibilityChanged)="visibilityChanged($event)"></igx-grid>
* ```
*/
columnVisibilityChanged: EventEmitter<IColumnVisibilityChangedEventArgs>;
/**
* Emitted when column moving starts.
*
* @remarks
* Returns the moved `IgxColumnComponent` object.
* @example
* ```html
* <igx-grid (columnMovingStart)="movingStart($event)"></igx-grid>
* ```
*/
columnMovingStart: EventEmitter<IColumnMovingStartEventArgs>;
/**
* Emitted during the column moving operation.
*
* @remarks
* Returns the source and target `IgxColumnComponent` objects. This event is cancelable.
* @example
* ```html
* <igx-grid (columnMoving)="moving($event)"></igx-grid>
* ```
*/
columnMoving: EventEmitter<IColumnMovingEventArgs>;
/**
* Emitted when column moving ends.
*
* @remarks
* Returns the source and target `IgxColumnComponent` objects.
* @example
* ```html
* <igx-grid (columnMovingEnd)="movingEnds($event)"></igx-grid>
* ```
*/
columnMovingEnd: EventEmitter<IColumnMovingEndEventArgs>;
/**
* 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
* <igx-grid (gridKeydown)="customKeydown($event)"></igx-grid>
* ```
*/
gridKeydown: EventEmitter<IGridKeydownEventArgs>;
/**
* Emitted when start dragging a row.
*
* @remarks
* Return the dragged row.
*/
rowDragStart: EventEmitter<IRowDragStartEventArgs>;
/**
* Emitted when dropping a row.
*
* @remarks
* Return the dropped row.
*/
rowDragEnd: EventEmitter<IRowDragEndEventArgs>;
/**
* Emitted when a copy operation is executed.
*
* @remarks
* Fired only if copy behavior is enabled through the [`clipboardOptions`]{@link IgxGridBaseDirective#clipboardOptions}.
*/
gridCopy: EventEmitter<IGridClipboardEvent>;
/**
* Emitted when the rows are expanded or collapsed.
*
* @example
* ```html
* <igx-grid [data]="employeeData" (expansionStatesChange)="expansionStatesChange($event)" [autoGenerate]="true"></igx-grid>
* ```
*/
expansionStatesChange: EventEmitter<Map<any, boolean>>;
/**
* Emitted when the rows are selected or deselected.
*
* @example
* ```html
* <igx-grid [data]="employeeData" (selectedRowsChange)="selectedRowsChange($event)" [autoGenerate]="true"></igx-grid>
* ```
*/
selectedRowsChange: EventEmitter<any[]>;
/**
* Emitted when the expanded state of a row gets changed.
*
* @example
* ```html
* <igx-grid [data]="employeeData" (rowToggle)="rowToggle($event)" [autoGenerate]="true"></igx-grid>
* ```
*/
rowToggle: EventEmitter<IRowToggleEventArgs>;
/**
* Emitted when the pinned state of a row is changed.
*
* @example
* ```html
* <igx-grid [data]="employeeData" (rowPinning)="rowPin($event)" [autoGenerate]="true"></igx-grid>
* ```
*/
rowPinning: EventEmitter<IPinRowEventArgs>;
/**
* Emitted when the pinned state of a row is changed.
*
* @example
* ```html
* <igx-grid [data]="employeeData" (rowPinned)="rowPin($event)" [autoGenerate]="true"></igx-grid>
* ```
*/
rowPinned: EventEmitter<IPinRowEventArgs>;
/**
* Emitted when the active node is changed.
*
* @example
* ```
* <igx-grid [data]="data" [autoGenerate]="true" (activeNodeChange)="activeNodeChange($event)"></igx-grid>
* ```
*/
activeNodeChange: EventEmitter<IActiveNodeChangeEventArgs>;
/**
* Emitted before sorting is performed.
*
* @remarks
* Returns the sorting expressions.
* @example
* ```html
* <igx-grid #grid [data]="localData" [autoGenerate]="true" (sortingExpressionsChange)="sortingExprChange($event)"></igx-grid>
* ```
*/
sortingExpressionsChange: EventEmitter<ISortingExpression<any>[]>;
/**
* Emitted when an export process is initiated by the user.
*
* @example
* ```typescript
* toolbarExporting(event: IGridToolbarExportEventArgs){
* const toolbarExporting = event;
* }
* ```
*/
toolbarExporting: EventEmitter<IGridToolbarExportEventArgs>;
/**
* Emitted when making a range selection.
*
* @remarks
* Range selection can be made either through drag selection or through keyboard selection.
*/
rangeSelected: EventEmitter<GridSelectionRange>;
/** Emitted after the ngAfterViewInit hook. At this point the grid exists in the DOM */
rendered: EventEmitter<boolean>;
/**
* @hidden @internal
*/
localeChange: EventEmitter<boolean>;
/**
* Emitted before the grid's data view is changed because of a data operation, rebinding, etc.
*
* @example
* ```typescript
* <igx-grid #grid [data]="localData" [autoGenerate]="true" (dataChanging)='handleDataChangingEvent()'></igx-grid>
* ```
*/
dataChanging: EventEmitter<IForOfDataChangeEventArgs>;
/**
* Emitted after the grid's data view is changed because of a data operation, rebinding, etc.
*
* @example
* ```typescript
* <igx-grid #grid [data]="localData" [autoGenerate]="true" (dataChanged)='handleDataChangedEvent()'></igx-grid>
* ```
*/
dataChanged: EventEmitter<IForOfDataChangeEventArgs>;
/**
* @hidden @internal
*/
addRowSnackbar: IgxSnackbarComponent;
/**
* @hidden @internal
*/
resizeLine: IgxGridColumnResizerComponent;
/**
* @hidden @internal
*/
loadingOverlay: IgxToggleDirective;
/**
* @hidden @internal
*/
loadingOutlet: IgxOverlayOutletDirective;
/**
* @hidden @internal
*/
columnList: QueryList<IgxColumnComponent>;
/** @hidden @internal */
protected actionStripComponents: QueryList<IgxActionStripToken>;
/** @hidden @internal */
get actionStrip(): IgxActionStripToken;
/**
* @hidden @internal
*/
excelStyleLoadingValuesTemplateDirective: IgxExcelStyleLoadingValuesTemplateDirective;
/** @hidden @internal */
emptyFilteredGridTemplate: TemplateRef<any>;
/** @hidden @internal */
emptyGridDefaultTemplate: TemplateRef<any>;
/**
* @hidden @internal
*/
loadingGridDefaultTemplate: TemplateRef<any>;
/**
* @hidden @internal
*/
parentVirtDir: IgxGridForOfDirective<any, any[]>;
/**
* @hidden
* @internal
*/
headSelectorsTemplates: QueryList<TemplateRef<IgxHeadSelectorTemplateContext>>;
/**
* @hidden
* @internal
*/
rowSelectorsTemplates: QueryList<TemplateRef<IgxRowSelectorTemplateContext>>;
/**
* @hidden
* @internal
*/
dragGhostCustomTemplates: QueryList<TemplateRef<IgxGridRowDragGhostContext>>;
/**
* Gets the custom template, if any, used for row drag ghost.
*/
get dragGhostCustomTemplate(): TemplateRef<IgxGridRowDragGhostContext>;
/**
* Sets a custom template for the row drag ghost.
*```html
* <ng-template #template igxRowDragGhost>
* <igx-icon>menu</igx-icon>
* </ng-template>
* ```
* ```typescript
* @ViewChild("'template'", {read: TemplateRef })
* public template: TemplateRef<any>;
* this.grid.dragGhostCustomTemplate = this.template;
* ```
*/
set dragGhostCustomTemplate(template: TemplateRef<IgxGridRowDragGhostContext>);
/**
* @hidden @internal
*/
verticalScrollContainer: IgxGridForOfDirective<any, any[]>;
/**
* @hidden @internal
*/
verticalScroll: IgxGridForOfDirective<any, any[]>;
/**
* @hidden @internal
*/
scr: ElementRef;
/** @hidden @internal */
headerSelectorBaseTemplate: TemplateRef<any>;
/**
* @hidden @internal
*/
footer: ElementRef;
/** @hidden @internal */
get headerContainer(): IgxGridForOfDirective<ColumnType, ColumnType[]>;
/** @hidden @internal */
get headerSelectorContainer(): ElementRef<HTMLElement>;
/** @hidden @internal */
get headerDragContainer(): ElementRef<HTMLElement>;
/** @hidden @internal */
get headerGroupContainer(): ElementRef<HTMLElement>;
/** @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<HTMLElement>;
/**
* @hidden @internal
*/
rowEditingOutletDirective: IgxOverlayOutletDirective;
/**
* @hidden @internal
*/
tmpOutlets: QueryList<any>;
/**
* @hidden
* @internal
*/
dragIndicatorIconBase: TemplateRef<any>;
/**
* @hidden @internal
*/
rowEditCustomDirectives: QueryList<TemplateRef<IgxGridRowEditTemplateContext>>;
/**
* @hidden @internal
*/
rowEditTextDirectives: QueryList<TemplateRef<IgxGridRowEditTextTemplateContext>>;
/**
* Gets the row edit text template.
*/
get rowEditTextTemplate(): TemplateRef<IgxGridRowEditTextTemplateContext>;
/**
* Sets the row edit text template.
*```html
* <ng-template #template igxRowEditText let-rowChangesCount>
* Changes: {{rowChangesCount}}
* </ng-template>
* ```
*```typescript
* @ViewChild('template', {read: TemplateRef })
* public template: TemplateRef<any>;
* this.grid.rowEditTextTemplate = this.template;
* ```
*/
set rowEditTextTemplate(template: TemplateRef<IgxGridRowEditTextTemplateContext>);
/**
* @hidden @internal
*/
rowAddText: TemplateRef<IgxGridEmptyTemplateContext>;
/**
* Gets the row add text template.
*/
get rowAddTextTemplate(): TemplateRef<IgxGridEmptyTemplateContext>;
/**
* Sets the row add text template.
*```html
* <ng-template #template igxRowAddText>
* Adding Row
* </ng-template>
* ```
*```typescript
* @ViewChild('template', {read: TemplateRef })
* public template: TemplateRef<any>;
* this.grid.rowAddTextTemplate = this.template;
* ```
*/
set rowAddTextTemplate(template: TemplateRef<IgxGridEmptyTemplateContext>);
/**
* @hidden @internal
*/
rowEditActionsDirectives: QueryList<TemplateRef<IgxGridRowEditActionsTemplateContext>>;
/**
* Gets the row edit actions template.
*/
get rowEditActionsTemplate(): TemplateRef<IgxGridRowEditActionsTemplateContext>;
/**
* Sets the row edit actions template.
*```html
* <ng-template #template igxRowEditActions let-endRowEdit>
* <button type="button" igxButton igxRowEditTabStop (click)="endRowEdit(false)">Cancel</button>
* <button type="button" igxButton igxRowEditTabStop (click)="endRowEdit(true)">Apply</button>
* </ng-template>
* ```
*```typescript
* @ViewChild('template', {read: TemplateRef })
* public template: TemplateRef<any>;
* this.grid.rowEditActionsTemplate = this.template;
* ```
*/
set rowEditActionsTemplate(template: TemplateRef<IgxGridRowEditActionsTemplateContext>);
/**
* The custom template, if any, that should be used when rendering a row expand indicator.
*/
protected rowExpandedIndicatorDirectiveTemplate: TemplateRef<IgxGridRowTemplateContext>;
/**
* Gets the row expand indicator template.
*/
get rowExpandedIndicatorTemplate(): TemplateRef<IgxGridRowTemplateContext>;
/**
* Sets the row expand indicator template.
*```html
*<ng-template igxRowExpandedIndicator>
* <igx-icon role="button">remove</igx-icon>
*</ng-template>
* ```
*```typescript
* @ViewChild('template', {read: TemplateRef })
* public template: TemplateRef<any>;
* this.grid.rowExpandedIndicatorTemplate = this.template;
* ```
*/
set rowExpandedIndicatorTemplate(template: TemplateRef<IgxGridRowTemplateContext>);
/**
* The custom template, if any, that should be used when rendering a row collapse indicator.
*/
protected rowCollapsedIndicatorDirectiveTemplate: TemplateRef<IgxGridRowTemplateContext>;
/**
* Gets the row collapse indicator template.
*/
get rowCollapsedIndicatorTemplate(): TemplateRef<IgxGridRowTemplateContext>;
/**
* Sets the row collapse indicator template.
*```html
*<ng-template igxRowCollapsedIndicator>
* <igx-icon role="button">add</igx-icon>
*</ng-template>
* ```
*```typescript
* @ViewChild('template', {read: TemplateRef })
* public template: TemplateRef<any>;
* this.grid.rowCollapsedIndicatorTemplate = this.template;
* ```
*/
set rowCollapsedIndicatorTemplate(template: TemplateRef<IgxGridRowTemplateContext>);
/**
* The custom template, if any, that should be used when rendering a header expand indicator.
*/
protected headerExpandedIndicatorDirectiveTemplate: TemplateRef<IgxGridTemplateContext>;
/**
* Gets the header expand indicator template.
*/
get headerExpandedIndicatorTemplate(): TemplateRef<IgxGridTemplateContext>;
/**
* Sets the header expand indicator template.
*```html
*<ng-template igxHeaderExpandedIndicator>
* <igx-icon role="button">remove</igx-icon>
*</ng-template>
* ```
*```typescript
* @ViewChild('template', {read: TemplateRef })
* public template: TemplateRef<any>;
* this.grid.headerExpandedIndicatorTemplate = this.template;
* ```
*/
set headerExpandedIndicatorTemplate(template: TemplateRef<IgxGridTemplateContext>);
/**
* The custom template, if any, that should be used when rendering a header collapse indicator.
*/
protected headerCollapsedIndicatorDirectiveTemplate: TemplateRef<IgxGridTemplateContext>;
/**
* Gets the row collapse indicator template.
*/
get headerCollapsedIndicatorTemplate(): TemplateRef<IgxGridTemplateContext>;
/**
* Sets the row collapse indicator template.
*```html
*<ng-template igxHeaderCollapsedIndicator>
* <igx-icon role="button">add</igx-icon>
*</ng-template>
* ```
*```typescript
* @ViewChild('template', {read: TemplateRef })
* public template: TemplateRef<any>;
* this.grid.headerCollapsedIndicatorTemplate = this.template;
* ```
*/
set headerCollapsedIndicatorTemplate(template: TemplateRef<IgxGridTemplateContext>);
/** @hidden @internal */
excelStyleHeaderIconDirectiveTemplate: TemplateRef<IgxGridHeaderTemplateContext>;
/**
* Gets the excel style header icon.
*/
get excelStyleHeaderIconTemplate(): TemplateRef<IgxGridHeaderTemplateContext>;
/**
* Sets the excel style header icon.
*```html
*<ng-template #template igxExcelStyleHeaderIcon>
* <igx-icon>filter_alt</igx-icon>
*</ng-template>
* ```
*```typescript
* @ViewChild('template', {read: TemplateRef })
* public template: TemplateRef<any>;
* this.grid.excelStyleHeaderIconTemplate = this.template;
* ```
*/
set excelStyleHeaderIconTemplate(template: TemplateRef<IgxGridHeaderTemplateContext>);
/**
* @hidden
* @internal
*/
sortAscendingHeaderIconDirectiveTemplate: TemplateRef<IgxGridHeaderTemplateContext>;
/**
* 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<IgxGridHeaderTemplateContext>;
/**
* Sets a custom template that should be used when rendering a header sorting indicator when columns are sorted in asc order.
*```html
* <ng-template #template igxSortAscendingHeaderIcon>
* <igx-icon>expand_less</igx-icon>
* </ng-template>
* ```
* ```typescript
* @ViewChild("'template'", {read: TemplateRef })
* public template: TemplateRef<any>;
* this.grid.sortAscendingHeaderIconTemplate = this.template;
* ```
*/
set sortAscendingHeaderIconTemplate(template: TemplateRef<IgxGridHeaderTemplateContext>);
/** @hidden @internal */
sortDescendingHeaderIconDirectiveTemplate: TemplateRef<IgxGridHeaderTemplateContext>;
/**
* 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<IgxGridHeaderTemplateContext>;
/**
* Sets a custom template that should be used when rendering a header sorting indicator when columns are sorted in desc order.
*```html
* <ng-template #template igxSortDescendingHeaderIcon>
* <igx-icon>expand_more</igx-icon>
* </ng-template>
* ```
* ```typescript
* @ViewChild("'template'", {read: TemplateRef })
* public template: TemplateRef<any>;
* this.grid.sortDescendingHeaderIconTemplate = this.template;
* ```
*/
set sortDescendingHeaderIconTemplate(template: TemplateRef<IgxGridHeaderTemplateContext>);
/**
* @hidden
* @internal
*/
sortHeaderIconDirectiveTemplate: TemplateRef<IgxGridHeaderTemplateContext>;
/**
* Gets custom template, if any, that should be used when rendering a header sorting indicator when columns are not sorted.
*/
get sortHeaderIconTemplate(): TemplateRef<IgxGridHeaderTemplateContext>;
/**
* Sets a custom template that should be used when rendering a header sorting indicator when columns are not sorted.
*```html
* <ng-template #template igxSortHeaderIcon>
* <igx-icon>unfold_more</igx-icon>
* </ng-template>
* ```
* ```typescript
* @ViewChild("'template'", {read: TemplateRef })
* public template: TemplateRef<any>;
* this.grid.sortHeaderIconTemplate = this.template;
* ```
*/
set sortHeaderIconTemplate(template: TemplateRef<IgxGridHeaderTemplateContext>);
/**
* @hidden
* @internal
*/
dragIndicatorIconTemplates: QueryList<TemplateRef<IgxGridEmptyTemplateContext>>;
protected loadingDirectiveTemplate: TemplateRef<IgxGridTemplateContext>;
protected emptyDirectiveTemplate: TemplateRef<IgxGridTemplateContext>;
/**
* @hidden @internal
*/
rowEditTabsDEFAULT: QueryList<IgxRowEditTabStopDirective>;
/**
* @hidden @internal
*/
rowEditTabsCUSTOM: QueryList<IgxRowEditTabStopDirective>;
/**
* @hidden @internal
*/
rowEditingOverlay: IgxToggleDirective;
/**
* @hidden @internal
*/
tabindex: number;
/**
* @hidden @internal
*/
hostRole: string;
/** @hidden @internal */
toolbar: QueryList<IgxGridToolbarComponent>;
/** @hidden @internal */
protected paginationComponents: QueryList<IgxPaginatorComponent>;
/**
* @hidden @internal
*/
protected _outletDirective: IgxOverlayOutletDirective;
/**
* @hidden @internal
* @igxElementsAnchor
*/
anchor: ViewContainerRef;
/**
* @hidden @internal
*/
protected defaultExpandedTemplate: TemplateRef<any>;
/**
* @hidden @internal
*/
protected defaultCollapsedTemplate: TemplateRef<any>;
/**
* @hidden @internal
*/
protected defaultESFHeaderIconTemplate: TemplateRef<any>;
protected _summaryRowList: QueryList<IgxSummaryRowComponent>;
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
* <igx-grid [data]="Data" [autoGenerate]="true" [filteringLogic]="filtering"></igx-grid>
* ```
*/
get filteringLogic(): FilteringLogic;
set filteringLogic(value: FilteringLogic);
/**
* Gets/Sets the filtering state.
*
* @example
* ```html
* <igx-grid #grid [data]="Data" [autoGenerate]="true" [(filteringExpressionsTree)]="model.filteringExpressions"></igx-grid>
* ```
* @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
* <igx-grid #grid [rowDraggable]="true"></igx-grid>
* ```
*/
get rowDraggable(): boolean;
set rowDraggable(val: boolean);
/**
* Gets/Sets the trigger for validators used when editing the grid.
*
* @example
* ```html
* <igx-grid #grid validationTrigger='blur'></igx-grid>
* ```
*/
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
* <igx-grid #grid [rowEditable]="true" [primaryKey]="'ProductID'" ></igx-grid>
* ```
*/
get rowEditable(): boolean;
set rowEditable(val: boolean);
/**
* Gets/Sets the height.
*
* @example
* ```html
* <igx-grid #grid [data]="Data" [height]="'305px'" [autoGenerate]="true"></igx-grid>
* `