igniteui-webcomponents-grids
Version:
Ignite UI Web Components grid components.
300 lines (192 loc) • 8.28 kB
TypeScript
import { IgcGridBaseDirective } from './igc-grid-base-directive';
import { IgcForOfState } from './igc-for-of-state';
import { IgcGroupingExpression } from './igc-grouping-expression';
import { IgcGroupByExpandState } from './igc-group-by-expand-state';
import { IgcGroupingDoneEventArgs } from './igc-grouping-done-event-args';
import { IgcRenderFunction } from './common';
import { IgcGridMasterDetailContext } from './igc-grid-master-detail-context';
import { IgcGroupByRecord } from './igc-group-by-record';
import { IgcGridGroupingStrategy } from './igc-grid-grouping-strategy';
import { IgcGroupByRowSelectorTemplateContext } from './igc-group-by-row-selector-template-context';
import { IgcGroupByRowTemplateContext } from './igc-group-by-row-template-context';
import { IgcCellType } from './igc-cell-type';
import { IgcRowType } from './igc-row-type';
import { EventEmitterMixin, LitElement, Constructor, AbstractConstructor } from './common';
import { IgcGridBaseDirectiveEventMap } from './igc-grid-base-directive';
/* wcSkipComponentSuffix */
/* wcAlternateName: GridBase */
/* blazorIndirectRender
blazorComponent
omitModule
wcSkipComponentSuffix */
/**
* Grid provides a way to present and manipulate tabular data.
*/
export declare class IgcGridBaseComponent extends EventEmitterMixin<IgcGridBaseComponentEventMap, AbstractConstructor<IgcGridBaseDirective>>(IgcGridBaseDirective)
{
/**
* Gets/Sets whether created groups are rendered expanded or collapsed.
*/
public set groupsExpanded(value: boolean);
public get groupsExpanded(): boolean;
/**
* Gets/Sets the template that will be rendered as a GroupBy drop area.
*/
public set dropAreaTemplate(value: IgcRenderFunction<void>);
public get dropAreaTemplate(): IgcRenderFunction<void>;
/**
* Returns a reference to the master-detail template.
*/
public set detailTemplate(value: IgcRenderFunction<IgcGridMasterDetailContext>);
public get detailTemplate(): IgcRenderFunction<IgcGridMasterDetailContext>;
/**
* Gets/Sets the value of the `id` attribute.
*/
public set id(value: string);
public get id(): string;
/**
* Gets the hierarchical representation of the group by records.
*/
public get groupsRecords(): IgcGroupByRecord[];
/**
* Gets/Sets the array of data that populates the component.
*/
/* treatAsRef */
public set data(value: any[]);
public get data(): any[];
/**
* Gets/Sets the total number of records in the data source.
*/
public set totalItemCount(value: number);
public get totalItemCount(): number;
/* mustSetInCodePlatforms: WebComponents;Blazor;React */
/**
* Gets/Sets the group by state.
*/
public set groupingExpressions(value: IgcGroupingExpression[]);
public get groupingExpressions(): IgcGroupingExpression[];
/**
* Gets/Sets a list of expansion states for group rows.
*/
public set groupingExpansionState(value: IgcGroupByExpandState[]);
public get groupingExpansionState(): IgcGroupByExpandState[];
/**
* Gets/Sets whether the grouped columns should be hidden.
*/
public set hideGroupedColumns(value: boolean);
public get hideGroupedColumns(): boolean;
/**
* Gets/Sets the grouping strategy of the grid.
*/
public set groupStrategy(value: IgcGridGroupingStrategy);
public get groupStrategy(): IgcGridGroupingStrategy;
/**
* Gets/Sets the message displayed inside the GroupBy drop area where columns can be dragged on.
*/
public set dropAreaMessage(value: string);
public get dropAreaMessage(): string;
/**
* Gets the group by row selector template.
*/
public set groupByRowSelectorTemplate(value: IgcRenderFunction<IgcGroupByRowSelectorTemplateContext>);
public get groupByRowSelectorTemplate(): IgcRenderFunction<IgcGroupByRowSelectorTemplateContext>;
/**
* Gets/Sets the template reference for the group row.
*/
public set groupRowTemplate(value: IgcRenderFunction<IgcGroupByRowTemplateContext>);
public get groupRowTemplate(): IgcRenderFunction<IgcGroupByRowTemplateContext>;
/**
* Returns whether the grid has group area.
*/
public set showGroupArea(value: boolean);
public get showGroupArea(): boolean;
/**
* Returns an array of the selected grid cells.
*/
public get selectedCells(): IgcCellType[];
/**
* Groups by a new column based on the provided expression, or modifies an existing one.
*/
public groupBy(expression: IgcGroupingExpression[]): void;
/**
* Clears grouping for particular column, array of columns or all columns.
* @param name Name of column or array of column names to be ungrouped.
*/
public clearGrouping(name?: string): void;
/**
* Returns if a group is expanded or not.
* @param group The group record.
*/
public isExpandedGroup(group: IgcGroupByRecord): boolean;
/**
* Toggles the expansion state of a group.
* @param groupRow The group record to toggle.
*/
public toggleGroup(groupRow: IgcGroupByRecord): 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
*/
public selectRowsInGroup(groupRow: IgcGroupByRecord, clearPrevSelection?: boolean): void;
/**
* Deselect all rows within a group.
* @param groupRow The group record which rows would be deselected.
*/
public deselectRowsInGroup(groupRow: IgcGroupByRecord): void;
/**
* Expands the specified group and all of its parent groups.
* @param groupRow The group record to fully expand.
*/
public fullyExpandGroup(groupRow: IgcGroupByRecord): void;
/**
* Toggles the expansion state of all group rows recursively.
*/
public toggleAllGroupRows(): void;
/**
* Returns an array of the current cell selection in the form of `[{ column.field: cell.value }, ...]`.
*/
public getSelectedData(formatters?: boolean, headers?: boolean): any[];
/**
* Returns the grid row by index.
* @param index
*/
public getRowByIndex(index: number): IgcRowType;
/**
* Returns grid row object by the specified primary key.
* @param keyValue
*/
public getRowByKey(key: any): IgcRowType;
/**
* Returns a `CellType` object that matches the conditions.
* @param rowIndex
* @param columnField
*/
public getCellByColumn(rowIndex: number, columnField: string): IgcCellType;
/**
* Returns a `CellType` object that matches the conditions.
* @param rowSelector match any rowID
* @param columnField
*/
public getCellByKey(rowSelector: any, columnField: string): IgcCellType;
public pinRow(rowID: any, index?: number): boolean;
public unpinRow(rowID: any): boolean;
}
export declare interface IgcGridBaseComponentEventMap extends IgcGridBaseDirectiveEventMap {
/**
* Emitted when a new chunk of data is loaded from virtualization.
*/
dataPreLoad: CustomEvent<IgcForOfState>;
/**
* Emitted when grouping is performed.
*/
groupingExpressionsChange: CustomEvent<IgcGroupingExpression[]>;
/**
* Emitted when groups are expanded/collapsed.
*/
groupingExpansionStateChange: CustomEvent<IgcGroupByExpandState[]>;
/**
* Emitted when columns are grouped/ungrouped.
*/
groupingDone: CustomEvent<IgcGroupingDoneEventArgs>;
}