UNPKG

igniteui-react-grids

Version:

Ignite UI React grid components.

1,722 lines (1,335 loc) 76.7 kB
import { IgcFilteringExpressionsTree } from './igc-filtering-expressions-tree'; import { IgcGridScrollEventArgs } from './igc-grid-scroll-event-args'; import { IgcGridCellEventArgs } from './igc-grid-cell-event-args'; import { IgcGridRowEventArgs } from './igc-grid-row-event-args'; import { IgcGridFormGroupCreatedEventArgs } from './igc-grid-form-group-created-event-args'; import { IgcGridValidationStatusEventArgs } from './igc-grid-validation-status-event-args'; import { IgcRowSelectionEventArgs } from './igc-row-selection-event-args'; import { IgcColumnSelectionEventArgs } from './igc-column-selection-event-args'; import { IgcPinColumnCancellableEventArgs } from './igc-pin-column-cancellable-event-args'; import { IgcPinColumnEventArgs } from './igc-pin-column-event-args'; import { IgcGridEditEventArgs } from './igc-grid-edit-event-args'; import { IgcGridEditDoneEventArgs } from './igc-grid-edit-done-event-args'; import { IgcColumnComponent } from './igc-column-component'; import { IgcColumnsAutoGeneratedEventArgs } from './igc-columns-auto-generated-event-args'; import { IgcSortingEventArgs } from './igc-sorting-event-args'; import { IgcSortingExpression } from './igc-sorting-expression'; import { IgcFilteringEventArgs } from './igc-filtering-event-args'; import { IgcRowDataEventArgs } from './igc-row-data-event-args'; import { IgcRowDataCancelableEventArgs } from './igc-row-data-cancelable-event-args'; import { IgcColumnResizeEventArgs } from './igc-column-resize-event-args'; import { IgcGridContextMenuEventArgs } from './igc-grid-context-menu-event-args'; import { IgcColumnVisibilityChangingEventArgs } from './igc-column-visibility-changing-event-args'; import { IgcColumnVisibilityChangedEventArgs } from './igc-column-visibility-changed-event-args'; import { IgcColumnMovingStartEventArgs } from './igc-column-moving-start-event-args'; import { IgcColumnMovingEventArgs } from './igc-column-moving-event-args'; import { IgcColumnMovingEndEventArgs } from './igc-column-moving-end-event-args'; import { IgcGridKeydownEventArgs } from './igc-grid-keydown-event-args'; import { IgcRowDragStartEventArgs } from './igc-row-drag-start-event-args'; import { IgcRowDragEndEventArgs } from './igc-row-drag-end-event-args'; import { IgcGridClipboardEvent } from './igc-grid-clipboard-event'; import { IgcRowToggleEventArgs } from './igc-row-toggle-event-args'; import { IgcPinRowEventArgs } from './igc-pin-row-event-args'; import { IgcActiveNodeChangeEventArgs } from './igc-active-node-change-event-args'; import { IgcGridToolbarExportEventArgs } from './igc-grid-toolbar-export-event-args'; import { IgcGridSelectionRange } from './igc-grid-selection-range'; import { IgcForOfDataChangingEventArgs } from './igc-for-of-data-changing-event-args'; import { IgcRenderFunction } from './common'; import { IgcDataCloneStrategy } from './igc-data-clone-strategy'; import { IgcClipboardOptions } from './igc-clipboard-options'; import { IgcActionStripToken } from './igc-action-strip-token'; import { IgcGridRowDragGhostContext } from './igc-grid-row-drag-ghost-context'; import { IgcGridRowEditTextTemplateContext } from './igc-grid-row-edit-text-template-context'; import { IgcGridEmptyTemplateContext } from './igc-grid-empty-template-context'; import { IgcGridRowEditActionsTemplateContext } from './igc-grid-row-edit-actions-template-context'; import { IgcGridRowTemplateContext } from './igc-grid-row-template-context'; import { IgcGridTemplateContext } from './igc-grid-template-context'; import { IgcGridHeaderTemplateContext } from './igc-grid-header-template-context'; import { IgcGridToolbarComponent } from './igc-grid-toolbar-component'; import { IgcPaginatorComponent } from './igc-paginator-component'; import { IgcGridResourceStrings } from './igc-grid-resource-strings'; import { FilteringLogic } from './filtering-logic'; import { GridPagingMode } from './grid-paging-mode'; import { GridValidationTrigger } from './grid-validation-trigger'; import { IgcPinningConfig } from './igc-pinning-config'; import { FilterMode } from './filter-mode'; import { GridSummaryPosition } from './grid-summary-position'; import { GridSummaryCalculationMode } from './grid-summary-calculation-mode'; import { IgcFilteringStrategy } from './igc-filtering-strategy'; import { IgcGridSortingStrategy } from './igc-grid-sorting-strategy'; import { IgcSortingOptions } from './igc-sorting-options'; import { IgcRowDirective } from './igc-row-directive'; import { IgcHeadSelectorTemplateContext } from './igc-head-selector-template-context'; import { IgcRowSelectorTemplateContext } from './igc-row-selector-template-context'; import { GridSelectionMode } from './grid-selection-mode'; import { IgcSearchInfo } from './igc-search-info'; import { IgcForOfState } from './igc-for-of-state'; import { IgcOverlayOutletDirective } from './igc-overlay-outlet-directive'; import { IgcGridRowComponent } from './igc-grid-row-component'; import { DropPosition } from './drop-position'; import { IgcFilteringOperation } from './igc-filtering-operation'; import { IgcRowType } from './igc-row-type'; import { IgcCellPosition } from './igc-cell-position'; import { IgcOverlaySettings } from './igc-overlay-settings'; import { EventEmitterMixin, LitElement, Constructor, AbstractConstructor } from './common'; /* wcSkipComponentSuffix */ /* blazorIndirectRender blazorComponent omitModule wcSkipComponentSuffix */ export declare abstract class IgcGridBaseDirective extends EventEmitterMixin<IgcGridBaseDirectiveEventMap, Constructor<LitElement>>(LitElement) { /** * Gets/Sets the display time for the row adding snackbar notification. * * @remarks * By default it is 6000ms. */ public set snackbarDisplayTime(value: number); public get 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> * ``` */ public set autoGenerate(value: boolean); public get 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 }] * ``` */ public set autoGenerateExclude(value: string[]); public get autoGenerateExclude(): string[]; /** * Controls whether columns moving is enabled in the grid. * */ public set moving(value: boolean); public get moving(): boolean; /** * Gets/Sets a custom template when empty. * * @example * ```html * <igx-grid [id]="'igx-grid-1'" [data]="Data" [emptyGridTemplate]="myTemplate" [autoGenerate]="true"></igx-grid> * ``` */ public set emptyGridTemplate(value: IgcRenderFunction<void>); public get emptyGridTemplate(): IgcRenderFunction<void>; /** * 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> * ``` */ public set addRowEmptyTemplate(value: IgcRenderFunction<void>); public get addRowEmptyTemplate(): IgcRenderFunction<void>; /** * Gets/Sets a custom template when loading. * * @example * ```html * <igx-grid [id]="'igx-grid-1'" [data]="Data" [loadingGridTemplate]="myTemplate" [autoGenerate]="true"></igx-grid> * ``` */ public set loadingGridTemplate(value: IgcRenderFunction<void>); public get loadingGridTemplate(): IgcRenderFunction<void>; /** * Get/Set IgxSummaryRow height */ public set summaryRowHeight(value: number); public get summaryRowHeight(): number; /** * Gets/Sets the data clone strategy of the grid when in edit mode. * * @example * ```html * <igx-grid #grid [data]="localData" [dataCloneStrategy]="customCloneStrategy"></igx-grid> * ``` */ public set dataCloneStrategy(value: IgcDataCloneStrategy); public get dataCloneStrategy(): IgcDataCloneStrategy; /** * Controls the copy behavior of the grid. */ public set clipboardOptions(value: IgcClipboardOptions); public get clipboardOptions(): IgcClipboardOptions; /* treatAsRef */ /** * 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 */ public set rowClasses(value: any); public get rowClasses(): any; /* treatAsRef */ /** * 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 */ public set rowStyles(value: any); public get rowStyles(): any; /** * Gets/Sets the primary key. * * @example * ```html * <igx-grid #grid [data]="localData" [primaryKey]="'ProductID'" [autoGenerate]="true"></igx-grid> * ``` */ public set primaryKey(value: string); public get primaryKey(): string; /* reactContentChildren */ /* blazorInclude */ /* blazorTreatAsCollection */ /* blazorCollectionName: ColumnCollection */ /* ngQueryListName: columnList */ /** * @hidden @internal */ public set columnList(value: IgcColumnComponent[]); public get columnList(): IgcColumnComponent[]; /* contentChildren */ /* blazorInclude */ /* blazorTreatAsCollection */ /* blazorCollectionName: ActionStripCollection */ /* blazorCollectionItemName: ActionStrip */ /* ngQueryListName: actionStripComponents */ /** @hidden @internal */ public set actionStripComponents(value: IgcActionStripToken[]); public get actionStripComponents(): IgcActionStripToken[]; /** * Gets the custom template, if any, used for row drag ghost. */ public set dragGhostCustomTemplate(value: IgcRenderFunction<IgcGridRowDragGhostContext>); public get dragGhostCustomTemplate(): IgcRenderFunction<IgcGridRowDragGhostContext>; /** * Gets the row edit text template. */ public set rowEditTextTemplate(value: IgcRenderFunction<IgcGridRowEditTextTemplateContext>); public get rowEditTextTemplate(): IgcRenderFunction<IgcGridRowEditTextTemplateContext>; /** * Gets the row add text template. */ public set rowAddTextTemplate(value: IgcRenderFunction<IgcGridEmptyTemplateContext>); public get rowAddTextTemplate(): IgcRenderFunction<IgcGridEmptyTemplateContext>; /** * Gets the row edit actions template. */ public set rowEditActionsTemplate(value: IgcRenderFunction<IgcGridRowEditActionsTemplateContext>); public get rowEditActionsTemplate(): IgcRenderFunction<IgcGridRowEditActionsTemplateContext>; /** * Gets the row expand indicator template. */ public set rowExpandedIndicatorTemplate(value: IgcRenderFunction<IgcGridRowTemplateContext>); public get rowExpandedIndicatorTemplate(): IgcRenderFunction<IgcGridRowTemplateContext>; /** * Gets the row collapse indicator template. */ public set rowCollapsedIndicatorTemplate(value: IgcRenderFunction<IgcGridRowTemplateContext>); public get rowCollapsedIndicatorTemplate(): IgcRenderFunction<IgcGridRowTemplateContext>; /** * Gets the header expand indicator template. */ public set headerExpandedIndicatorTemplate(value: IgcRenderFunction<IgcGridTemplateContext>); public get headerExpandedIndicatorTemplate(): IgcRenderFunction<IgcGridTemplateContext>; /** * Gets the row collapse indicator template. */ public set headerCollapsedIndicatorTemplate(value: IgcRenderFunction<IgcGridTemplateContext>); public get headerCollapsedIndicatorTemplate(): IgcRenderFunction<IgcGridTemplateContext>; /** * Gets the excel style header icon. */ public set excelStyleHeaderIconTemplate(value: IgcRenderFunction<IgcGridHeaderTemplateContext>); public get excelStyleHeaderIconTemplate(): IgcRenderFunction<IgcGridHeaderTemplateContext>; /** * The custom template, if any, that should be used when rendering a header sorting indicator when columns are sorted in asc order. */ public set sortAscendingHeaderIconTemplate(value: IgcRenderFunction<IgcGridHeaderTemplateContext>); public get sortAscendingHeaderIconTemplate(): IgcRenderFunction<IgcGridHeaderTemplateContext>; /** * The custom template, if any, that should be used when rendering a header sorting indicator when columns are sorted in desc order. */ public set sortDescendingHeaderIconTemplate(value: IgcRenderFunction<IgcGridHeaderTemplateContext>); public get sortDescendingHeaderIconTemplate(): IgcRenderFunction<IgcGridHeaderTemplateContext>; /** * Gets custom template, if any, that should be used when rendering a header sorting indicator when columns are not sorted. */ public set sortHeaderIconTemplate(value: IgcRenderFunction<IgcGridHeaderTemplateContext>); public get sortHeaderIconTemplate(): IgcRenderFunction<IgcGridHeaderTemplateContext>; /* contentChildren */ /* blazorInclude */ /* blazorTreatAsCollection */ /* blazorCollectionName: GridToolbarCollection */ /* ngQueryListName: toolbar */ /** @hidden @internal */ public set toolbar(value: IgcGridToolbarComponent[]); public get toolbar(): IgcGridToolbarComponent[]; /* contentChildren */ /* blazorInclude */ /* blazorTreatAsCollection */ /* blazorCollectionName: PaginatorCollection */ /* ngQueryListName: paginationComponents */ /** @hidden @internal */ public set paginationComponents(value: IgcPaginatorComponent[]); public get paginationComponents(): IgcPaginatorComponent[]; /** * Gets/Sets the resource strings. * * @remarks * By default it uses EN resources. */ public set resourceStrings(value: IgcGridResourceStrings); public get resourceStrings(): IgcGridResourceStrings; /** * 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> * ``` */ public set filteringLogic(value: FilteringLogic); public get filteringLogic(): FilteringLogic; /* mustSetInCodePlatforms: WebComponents;Blazor */ /** * Gets/Sets the filtering state. * * @example * ```html * <igx-grid #grid [data]="Data" [autoGenerate]="true" [(filteringExpressionsTree)]="model.filteringExpressions"></igx-grid> * ``` * @remarks * Supports two-way binding. */ public set filteringExpressionsTree(value: IgcFilteringExpressionsTree); public get filteringExpressionsTree(): IgcFilteringExpressionsTree; /** * Gets/Sets the advanced filtering state. * * @example * ```typescript * let advancedFilteringExpressionsTree = this.grid.advancedFilteringExpressionsTree; * this.grid.advancedFilteringExpressionsTree = logic; * ``` */ public set advancedFilteringExpressionsTree(value: IgcFilteringExpressionsTree); public get advancedFilteringExpressionsTree(): IgcFilteringExpressionsTree; /** * Gets/Sets the locale. * * @remarks * If not set, returns browser's language. */ public set locale(value: string); public get locale(): string; public set pagingMode(value: GridPagingMode); public get pagingMode(): GridPagingMode; /** * Gets/Sets if the row selectors are hidden. * * @remarks * By default row selectors are shown */ public set hideRowSelectors(value: boolean); public get hideRowSelectors(): boolean; /** * Gets/Sets whether rows can be moved. * * @example * ```html * <igx-grid #grid [rowDraggable]="true"></igx-grid> * ``` */ public set rowDraggable(value: boolean); public get rowDraggable(): boolean; /** * Gets/Sets the trigger for validators used when editing the grid. * * @example * ```html * <igx-grid #grid validationTrigger='blur'></igx-grid> * ``` */ public set validationTrigger(value: GridValidationTrigger); public get validationTrigger(): GridValidationTrigger; /** * 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> * ``` */ public set rowEditable(value: boolean); public get rowEditable(): boolean; /** * Gets/Sets the height. * * @example * ```html * <igx-grid #grid [data]="Data" [height]="'305px'" [autoGenerate]="true"></igx-grid> * ``` */ public set height(value: string); public get height(): string; /** * Gets/Sets the width of the grid. * * @example * ```typescript * let gridWidth = this.grid.width; * ``` */ public set width(value: string); public get width(): string; /** * Gets/Sets the row height. * * @example * ```html * <igx-grid #grid [data]="localData" [rowHeight]="100" [autoGenerate]="true"></igx-grid> * ``` */ public set rowHeight(value: number); public get rowHeight(): number; /** * Gets/Sets the default width of the columns. * * @example * ```html * <igx-grid #grid [data]="localData" [columnWidth]="100" [autoGenerate]="true"></igx-grid> * ``` */ public set columnWidth(value: string); public get columnWidth(): string; /** * Get/Sets the message displayed when there are no records. * * @example * ```html * <igx-grid #grid [data]="Data" [emptyGridMessage]="'The grid is empty'" [autoGenerate]="true"></igx-grid> * ``` */ public set emptyGridMessage(value: string); public get emptyGridMessage(): string; /** * Gets/Sets whether the grid is going to show a loading indicator. * * @example * ```html * <igx-grid #grid [data]="Data" [isLoading]="true" [autoGenerate]="true"></igx-grid> * ``` */ public set isLoading(value: boolean); public 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 Column re-creation now relies on `autoGenerate` instead. */ public set shouldGenerate(value: boolean); public get shouldGenerate(): boolean; /** * Gets/Sets the message displayed when there are no records and the grid is filtered. * * @example * ```html * <igx-grid #grid [data]="Data" [emptyGridMessage]="'The grid is empty'" [autoGenerate]="true"></igx-grid> * ``` */ public set emptyFilteredGridMessage(value: string); public get emptyFilteredGridMessage(): string; /* mustSetInCodePlatforms: WebComponents;Blazor;React */ /** * 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 * <igx-grid [pinning]="pinningConfig"></igx-grid> * ``` */ public set pinning(value: IgcPinningConfig); public get pinning(): IgcPinningConfig; /** * Gets/Sets if the filtering is enabled. * * @example * ```html * <igx-grid #grid [data]="localData" [allowFiltering]="true" [height]="'305px'" [autoGenerate]="true"></igx-grid> * ``` */ public set allowFiltering(value: boolean); public get allowFiltering(): boolean; /** * Gets/Sets a value indicating whether the advanced filtering is enabled. * * @example * ```html * <igx-grid #grid [data]="localData" [allowAdvancedFiltering]="true" [autoGenerate]="true"></igx-grid> * ``` */ public set allowAdvancedFiltering(value: boolean); public get allowAdvancedFiltering(): boolean; /** * Gets/Sets the filter mode. * * @example * ```html * <igx-grid #grid [data]="localData" [filterMode]="'quickFilter'" [height]="'305px'" [autoGenerate]="true"></igx-grid> * ``` * @remarks * By default it's set to FilterMode.quickFilter. */ public set filterMode(value: FilterMode); public get filterMode(): FilterMode; /** * Gets/Sets the summary position. * * @example * ```html * <igx-grid #grid [data]="localData" summaryPosition="top" [autoGenerate]="true"></igx-grid> * ``` * @remarks * By default it is bottom. */ public set summaryPosition(value: GridSummaryPosition); public get summaryPosition(): GridSummaryPosition; /** * Gets/Sets the summary calculation mode. * * @example * ```html * <igx-grid #grid [data]="localData" summaryCalculationMode="rootLevelOnly" [autoGenerate]="true"></igx-grid> * ``` * @remarks * By default it is rootAndChildLevels which means the summaries are calculated for the root level and each child level. */ public set summaryCalculationMode(value: GridSummaryCalculationMode); public get summaryCalculationMode(): GridSummaryCalculationMode; /** * Controls whether the summary row is visible when groupBy/parent row is collapsed. * * @example * ```html * <igx-grid #grid [data]="localData" [showSummaryOnCollapse]="true" [autoGenerate]="true"></igx-grid> * ``` * @remarks * By default showSummaryOnCollapse is set to 'false' which means that the summary row is not visible * when the groupBy/parent row is collapsed. */ public set showSummaryOnCollapse(value: boolean); public get showSummaryOnCollapse(): boolean; /** * Gets/Sets the filtering strategy of the grid. * * @example * ```html * <igx-grid #grid [data]="localData" [filterStrategy]="filterStrategy"></igx-grid> * ``` */ public set filterStrategy(value: IgcFilteringStrategy); public get filterStrategy(): IgcFilteringStrategy; /** * Gets/Sets the sorting strategy of the grid. * * @example * ```html * <igx-grid #grid [data]="localData" [sortStrategy]="sortStrategy"></igx-grid> * ``` */ public set sortStrategy(value: IgcGridSortingStrategy); public get sortStrategy(): IgcGridSortingStrategy; /** * 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 * <igx-grid [sortingOptions]="sortingOptions"><igx-grid> * ``` */ public set sortingOptions(value: IgcSortingOptions); public get sortingOptions(): IgcSortingOptions; /* blazorByValueArray */ /* blazorAlwaysWriteback */ /* @tsTwoWayProperty (true, "SelectedRowsChange", "Detail", false) */ /* blazorPrimitiveValue */ /** * Gets/Sets the current selection state. * * @remarks * Represents the selected rows' IDs (primary key or rowData) * @example * ```html * <igx-grid [data]="localData" primaryKey="ID" rowSelection="multiple" [selectedRows]="[0, 1, 2]"><igx-grid> * ``` */ /* @tsTwoWayProperty (true, "SelectedRowsChange", "Detail", false) */ /* @blazorSynthesizeTwoWayBind */ public set selectedRows(value: any[]); public get selectedRows(): any[]; /* csSuppress */ /** * A list of `IgxGridRowComponent`. * * @example * ```typescript * const rowList = this.grid.rowList; * ``` */ public get rowList(): IgcRowDirective[]; /* csSuppress */ /** * A list of currently rendered `IgxGridRowComponent`'s. * * @example * ```typescript * const dataList = this.grid.dataRowList; * ``` */ public get dataRowList(): IgcRowDirective[]; /** * Gets the header row selector template. */ public set headSelectorTemplate(value: IgcRenderFunction<IgcHeadSelectorTemplateContext>); public get headSelectorTemplate(): IgcRenderFunction<IgcHeadSelectorTemplateContext>; /** * Gets the row selector template. */ public set rowSelectorTemplate(value: IgcRenderFunction<IgcRowSelectorTemplateContext>); public get rowSelectorTemplate(): IgcRenderFunction<IgcRowSelectorTemplateContext>; /** * The custom template, if any, that should be used when rendering the row drag indicator icon */ public set dragIndicatorIconTemplate(value: IgcRenderFunction<IgcGridEmptyTemplateContext>); public get dragIndicatorIconTemplate(): IgcRenderFunction<IgcGridEmptyTemplateContext>; /* mustSetInCodePlatforms: WebComponents;Blazor;React */ /** * Gets/Sets the sorting state. * * @remarks * Supports two-way data binding. * @example * ```html * <igx-grid #grid [data]="Data" [autoGenerate]="true" [(sortingExpressions)]="model.sortingExpressions"></igx-grid> * ``` */ public set sortingExpressions(value: IgcSortingExpression[]); public get sortingExpressions(): IgcSortingExpression[]; /** * Gets the number of hidden columns. * * @example * ```typescript * const hiddenCol = this.grid.hiddenColumnsCount; * `` */ public get hiddenColumnsCount(): number; /** * Gets the number of pinned columns. */ public 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 * <igx-grid [batchEditing]="true" [data]="someData"> * </igx-grid> * ``` */ public set batchEditing(value: boolean); public get batchEditing(): boolean; /** * Gets/Sets cell selection mode. * * @remarks * By default the cell selection mode is multiple * @param selectionMode: GridSelectionMode */ public set cellSelection(value: GridSelectionMode); public get cellSelection(): GridSelectionMode; /** * Gets/Sets row selection mode * * @remarks * By default the row selection mode is 'none' * Note that in IgxGrid and IgxHierarchicalGrid 'multipleCascade' behaves like 'multiple' */ public set rowSelection(value: GridSelectionMode); public get rowSelection(): GridSelectionMode; /** * Gets/Sets column selection mode * * @remarks * By default the row selection mode is none * @param selectionMode: GridSelectionMode */ public set columnSelection(value: GridSelectionMode); public get columnSelection(): GridSelectionMode; /** * Represents the last search information. */ public get lastSearchInfo(): IgcSearchInfo; /** * Returns an array of objects containing the filtered data. * * @example * ```typescript * let filteredData = this.grid.filteredData; * ``` */ public get filteredData(): any; /** * Returns an array containing the filtered sorted data. * * @example * ```typescript * const filteredSortedData = this.grid1.filteredSortedData; * ``` */ public get filteredSortedData(): any[]; /** * 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; * ``` */ public get virtualizationState(): IgcForOfState; /** * 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. */ public set outlet(value: IgcOverlayOutletDirective); public get outlet(): IgcOverlayOutletDirective; /** * Gets the default row height. * * @example * ```typescript * const rowHeigh = this.grid.defaultRowHeight; * ``` */ public get defaultRowHeight(): number; /** * Returns the `IgxGridHeaderGroupComponent`'s minimum allowed width. * * @remarks * Used internally for restricting header group component width. * The values below depend on the header cell default right/left padding values. */ public get defaultHeaderGroupMinWidth(): number; /** * Gets an array of `IgxColumnComponent`s. * * @example * ```typescript * const colums = this.grid.columns. * ``` */ public get columns(): IgcColumnComponent[]; /** * Gets an array of the pinned `IgxColumnComponent`s. * * @example * ```typescript * const pinnedColumns = this.grid.pinnedColumns. * ``` */ public get pinnedColumns(): IgcColumnComponent[]; /* csSuppress */ /** * Gets an array of the pinned `IgxRowComponent`s. * * @example * ```typescript * const pinnedRow = this.grid.pinnedRows; * ``` */ public get pinnedRows(): IgcGridRowComponent[]; /** * Gets an array of unpinned `IgxColumnComponent`s. * * @example * ```typescript * const unpinnedColumns = this.grid.unpinnedColumns. * ``` */ public get unpinnedColumns(): IgcColumnComponent[]; /** * Returns an array of visible `IgxColumnComponent`s. * * @example * ```typescript * const visibleColumns = this.grid.visibleColumns. * ``` */ public get visibleColumns(): IgcColumnComponent[]; /** * Returns the total number of records. * * @remarks * Only functions when paging is enabled. * @example * ```typescript * const totalRecords = this.grid.totalRecords; * ``` */ public set totalRecords(value: number); public get totalRecords(): number; /** * Returns the currently transformed paged/filtered/sorted/grouped/pinned/unpinned row data, displayed in the grid. * * @example * ```typescript * const dataView = this.grid.dataView; * ``` */ public 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 */ public set selectRowOnClick(value: boolean); public get selectRowOnClick(): boolean; /** * Returns whether the record is pinned or not. * * @param rowIndex Index of the record in the `filteredSortedData` collection. */ public isRecordPinnedByIndex(rowIndex: number): void; /** * Toggles the specified column's visibility. * * @example * ```typescript * this.grid1.toggleColumnVisibility({ * column: this.grid1.columns[0], * newValue: true * }); * ``` */ public toggleColumnVisibility(args: IgcColumnVisibilityChangedEventArgs): void; /** * Expands all rows. * * @example * ```typescript * this.grid.expandAll(); * ``` */ public expandAll(): void; /** * Collapses all rows. * * @example * ```typescript * this.grid.collapseAll(); * ``` */ public 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. */ public 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. */ public 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. */ public toggleRow(rowID: any): void; /** * Gets the `width` to be set on `IgxGridHeaderGroupComponent`. */ public getHeaderGroupWidth(column: IgcColumnComponent): string; /** * Returns the `IgxColumnComponent` by field name. * * @example * ```typescript * const myCol = this.grid1.getColumnByName("ID"); * ``` * @param name */ public getColumnByName(name: string): IgcColumnComponent; public getColumnByVisibleIndex(index: number): IgcColumnComponent; /** * Recalculates all widths of columns that have size set to `auto`. * * @example * ```typescript * this.grid1.recalculateAutoSizes(); * ``` */ public recalculateAutoSizes(): void; /** * Places a column before or after the specified target column. * * @example * ```typescript * grid.moveColumn(column, target); * ``` */ public moveColumn(column: IgcColumnComponent, target: IgcColumnComponent, 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(); * ``` */ public markForCheck(): void; /* csSuppress */ /** * Creates a new `IgxGridRowComponent` and adds the data record to the end of the data source. * * @example * ```typescript * this.grid1.addRow(record); * ``` * @param data */ public addRow(data: any): void; /* blazorCSSuppress */ /** * 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 */ public deleteRow(rowSelector: any): any; /* blazorCSSuppress */ /** * 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. */ public updateCell(value: any, rowSelector: any, column: string): void; /* blazorCSSuppress */ /** * 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 */ // TODO: prevent event invocation public 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 */ public 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 }); * ``` */ public sort(expression: IgcSortingExpression[]): 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 */ public filter(name: string, value: any, conditionOrExpressionTree?: IgcFilteringExpressionsTree | IgcFilteringOperation, 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 */ public 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 */ public 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' }]); * ``` */ public 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 */ public 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 */ public clearSort(name?: string): void; // TODO: We have return values here. Move them to event args ?? /** * Pins a column by field name. * * @remarks * Returns whether the operation is successful. * @example * ```typescript * this.grid.pinColumn("ID"); * ``` * @param columnName * @param index */ public pinColumn(columnName: string, index?: number): boolean; /** * Unpins a column by field name. Returns whether the operation is successful. * * @example * ```typescript * this.grid.pinColumn("ID"); * ``` * @param columnName * @param index */ public unpinColumn(columnName: string, index?: number): boolean; /* csSuppress */ /** * 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. */ public pinRow(rowID: any, index?: number, row?: IgcRowType): boolean; /* csSuppress */ /** * 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. */ public unpinRow(rowID: any, row?: IgcRowType): boolean; /** * 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(); * ``` */ public 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). */ public 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). */ public 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 */ public refreshSearch(updateActiveInfo?: boolean, endEdit?: boolean): number; /** * Removes all the highlights in the cell. * * @example * ```typescript * this.grid.clearSearch(); * ``` */ public clearSearch(): void; /** * Gets calculated width of the pinned area. * * @example * ```typescript * const pinnedWidth = this.grid.getPinnedWidth(); * ``` * @param takeHidden If we should take into account the hidden columns in the pinned area. */ public getPinnedWidth(takeHidden?: boolean): void; /** * Select specified rows by ID. * * @example * ```typescript * this.grid.selectRows([1,2,5], true); * ``` * @param rowIDs * @param clearCurrentSelection if true clears the current selection */ public selectRows(rowIDs: any[], clearCurrentSelection?: boolean): void; /** * Deselect specified rows by ID. * * @example * ```typescript * this.grid.deselectRows([1,2,5]); * ``` * @param rowIDs */ public 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 */ public 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 */ public deselectAllRows(onlyFilterData?: boolean): void; /** * Deselect se