igniteui-angular
Version:
Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps
998 lines (997 loc) • 36.2 kB
TypeScript
import { AfterContentInit, AfterViewInit, ChangeDetectorRef, EventEmitter, ElementRef, IterableDiffers, NgZone, OnInit, QueryList, TemplateRef, ViewContainerRef, Injector, EnvironmentInjector, OnChanges, SimpleChanges } from '@angular/core';
import { IgxGridBaseDirective } from '../grid-base.directive';
import { IgxFilteringService } from '../filtering/grid-filtering.service';
import { IgxGridSelectionService } from '../selection/selection.service';
import { ColumnType, GridType, IgxColumnTemplateContext, RowType } from '../common/grid.interface';
import { IgxGridSummaryService } from '../summaries/grid-summary.service';
import { IDimensionsChange, IgxPivotGridValueTemplateContext, IPivotConfiguration, IPivotConfigurationChangedEventArgs, IPivotDimension, IPivotValue, IValuesChange, PivotDimensionType, IPivotUISettings } from './pivot-grid.interface';
import { IgxPivotHeaderRowComponent } from './pivot-header-row.component';
import { IgxColumnGroupComponent } from '../columns/column-group.component';
import { IgxColumnComponent } from '../columns/column.component';
import { FilterMode, GridPagingMode, GridSummaryCalculationMode, GridSummaryPosition, Size } from '../common/enums';
import { OverlaySettings } from '../../services/public_api';
import { IGridEditEventArgs, ICellPosition, IColumnMovingEndEventArgs, IColumnMovingEventArgs, IColumnMovingStartEventArgs, IColumnVisibilityChangedEventArgs, IGridEditDoneEventArgs, IGridToolbarExportEventArgs, IPinColumnCancellableEventArgs, IPinColumnEventArgs, IPinRowEventArgs, IRowDataCancelableEventArgs, IRowDataEventArgs, IRowDragEndEventArgs, IRowDragStartEventArgs } from '../common/events';
import { IgxGridRowComponent } from '../grid/grid-row.component';
import { DropPosition } from '../moving/moving.service';
import { IgxGridExcelStyleFilteringComponent } from '../filtering/excel-style/excel-style-filtering.component';
import { IgxPivotGridNavigationService } from './pivot-grid-navigation.service';
import { IgxPivotColumnResizingService } from '../resizing/pivot-grid/pivot-resizing.service';
import { IgxFlatTransactionFactory, IgxOverlayService, State, Transaction, TransactionService } from '../../services/public_api';
import { PlatformUtil } from '../../core/utils';
import { IFilteringExpressionsTree } from '../../data-operations/filtering-expressions-tree';
import { GridBaseAPIService } from '../api.service';
import { IForOfDataChangingEventArgs, IgxGridForOfDirective } from '../../directives/for-of/for_of.directive';
import { IgxPivotRowDimensionContentComponent } from './pivot-row-dimension-content.component';
import { IgxPivotGridColumnResizerComponent } from '../resizing/pivot-grid/pivot-resizer.component';
import { ISortingExpression, SortingDirection } from '../../data-operations/sorting-strategy';
import { IFilteringStrategy } from '../../data-operations/filtering-strategy';
import { IgxPivotRowDimensionHeaderTemplateDirective, IgxPivotValueChipTemplateDirective } from './pivot-grid.directives';
import { IFilteringOperation } from '../../data-operations/filtering-condition';
import { IgxGridValidationService } from '../grid/grid-validation.service';
import { IDataCloneStrategy } from '../../data-operations/data-clone-strategy';
import { IgxTextHighlightService } from '../../directives/text-highlight/text-highlight.service';
import { IgxPivotRowHeaderGroupComponent } from './pivot-row-header-group.component';
import { IgxPivotRowDimensionMrlRowComponent } from './pivot-row-dimension-mrl-row.component';
import * as i0 from "@angular/core";
/**
* Pivot Grid provides a way to present and manipulate data in a pivot table view.
*
* @igxModule IgxPivotGridModule
* @igxGroup Grids & Lists
* @igxKeywords pivot, grid, table
* @igxTheme igx-grid-theme
* @remarks
* The Ignite UI Pivot Grid is used for grouping and aggregating simple flat data into a pivot table. Once data
* has been bound and the dimensions and values configured it can be manipulated via sorting and filtering.
* @example
* ```html
* <igx-pivot-grid [data]="data" [pivotConfiguration]="configuration">
* </igx-pivot-grid>
* ```
*/
export declare class IgxPivotGridComponent extends IgxGridBaseDirective implements OnInit, AfterContentInit, GridType, AfterViewInit, OnChanges {
navigation: IgxPivotGridNavigationService;
/**
* Emitted when the dimension collection is changed via the grid chip area.
*
* @remarks
* Returns the new dimension collection and its type:
* @example
* ```html
* <igx-pivot-grid #grid [data]="localData" [height]="'305px'"
* (dimensionsChange)="dimensionsChange($event)"></igx-grid>
* ```
*/
dimensionsChange: EventEmitter<IDimensionsChange>;
/**
* Emitted when any of the pivotConfiguration properties is changed via the grid chip area.
*
* @example
* ```html
* <igx-pivot-grid #grid [data]="localData" [height]="'305px'"
* (pivotConfigurationChanged)="configurationChanged($event)"></igx-grid>
* ```
*/
pivotConfigurationChange: EventEmitter<IPivotConfigurationChangedEventArgs>;
/**
* Emitted when the dimension is initialized.
* @remarks
* Emits the dimension that is about to be initialized.
* @example
* ```html
* <igx-pivot-grid #grid [data]="localData" [height]="'305px'"
* (dimensionInit)="dimensionInit($event)"></igx-pivot-grid>
* ```
*/
dimensionInit: EventEmitter<IPivotDimension>;
/**
* Emitted when the value is initialized.
* @remarks
* Emits the value that is about to be initialized.
* @example
* ```html
* <igx-pivot-grid #grid [data]="localData" [height]="'305px'"
* (valueInit)="valueInit($event)"></igx-pivot-grid>
* ```
*/
valueInit: EventEmitter<IPivotValue>;
/**
* Emitted when a dimension is sorted.
*
* @example
* ```html
* <igx-pivot-grid #grid [data]="localData" [height]="'305px'"
* (dimensionsSortingExpressionsChange)="dimensionsSortingExpressionsChange($event)"></igx-pivot-grid>
* ```
*/
dimensionsSortingExpressionsChange: EventEmitter<ISortingExpression<any>[]>;
/**
* Emitted when the values collection is changed via the grid chip area.
*
* @remarks
* Returns the new dimension
* @example
* ```html
* <igx-pivot-grid #grid [data]="localData" [height]="'305px'"
* (valuesChange)="valuesChange($event)"></igx-grid>
* ```
*/
valuesChange: EventEmitter<IValuesChange>;
/**
* Gets the sorting expressions generated for the dimensions.
*
* @example
* ```typescript
* const expressions = this.grid.dimensionsSortingExpressions;
* ```
*/
get dimensionsSortingExpressions(): ISortingExpression<any>[];
/** @hidden @internal */
theadRow: IgxPivotHeaderRowComponent;
/**
* @hidden @internal
*/
protected valueChipTemplateDirective: IgxPivotValueChipTemplateDirective;
/**
* @hidden @internal
*/
protected rowDimensionHeaderDirective: IgxPivotRowDimensionHeaderTemplateDirective;
/**
* Gets/Sets a custom template for the value chips.
*
* @example
* ```html
* <igx-pivot-grid [valueChipTemplate]="myTemplate"><igx-pivot-grid>
* ```
*/
valueChipTemplate: TemplateRef<IgxPivotGridValueTemplateContext>;
rowDimensionHeaderTemplate: TemplateRef<IgxColumnTemplateContext>;
/**
* Gets/Sets the pivot configuration with all related dimensions and values.
*
* @example
* ```html
* <igx-pivot-grid [pivotConfiguration]="config"></igx-pivot-grid>
* ```
*/
set pivotConfiguration(value: IPivotConfiguration);
get pivotConfiguration(): IPivotConfiguration;
/**
* Gets/Sets whether to auto-generate the pivot configuration based on the provided data.
*
* @remarks
* The default value is false. When set to true, it will override all dimensions and values in the pivotConfiguration.
* @example
* ```html
* <igx-pivot-grid [data]="Data" [autoGenerateConfig]="true"></igx-pivot-grid>
* ```
*/
autoGenerateConfig: boolean;
set pivotUI(value: IPivotUISettings);
get pivotUI(): IPivotUISettings;
/**
* @hidden @internal
*/
role: string;
/**
* Enables a super compact theme for the component.
* @remarks
* Overrides the grid size option if one is set.
* @example
* ```html
* <igx-pivot-grid [superCompactMode]="true"></igx-pivot-grid>
* ```
*/
get superCompactMode(): boolean;
set superCompactMode(value: boolean);
/** @hidden @internal */
get gridSize(): Size;
/**
* Gets/Sets the values clone strategy of the pivot grid when assigning them to different dimensions.
*
* @example
* ```html
* <igx-pivot-grid #grid [data]="localData" [pivotValueCloneStrategy]="customCloneStrategy"></igx-pivot-grid>
* ```
* @hidden @internal
*/
get pivotValueCloneStrategy(): IDataCloneStrategy;
set pivotValueCloneStrategy(strategy: IDataCloneStrategy);
/**
* @hidden @internal
*/
recordTemplate: TemplateRef<any>;
/**
* @hidden @internal
*/
headerTemplate: TemplateRef<any>;
/**
* @hidden @internal
*/
rowDimensionContainer: QueryList<ElementRef<any>>;
/**
* @hidden @internal
*/
resizeLine: IgxPivotGridColumnResizerComponent;
/**
* @hidden @internal
*/
excelStyleFilteringComponents: QueryList<IgxGridExcelStyleFilteringComponent>;
/**
* @hidden @internal
*/
protected rowDimensionContentCollection: QueryList<IgxPivotRowDimensionContentComponent>;
/**
* @hidden @internal
*/
get minColumnWidth(): 200 | 104;
/**
* @hidden @internal
*/
verticalRowDimScrollContainers: QueryList<IgxGridForOfDirective<any, any[]>>;
/**
* @hidden @internal
*/
rowDimensionMrlRowsCollection: QueryList<IgxPivotRowDimensionMrlRowComponent>;
/**
* @hidden @internal
*/
addRowEmptyTemplate: TemplateRef<void>;
/**
* @hidden @internal
*/
autoGenerateExclude: string[];
/**
* @hidden @internal
*/
snackbarDisplayTime: number;
/**
* @hidden @internal
*/
cellEdit: EventEmitter<IGridEditEventArgs>;
/**
* @hidden @internal
*/
cellEditDone: EventEmitter<IGridEditDoneEventArgs>;
/**
* @hidden @internal
*/
cellEditEnter: EventEmitter<IGridEditEventArgs>;
/**
* @hidden @internal
*/
cellEditExit: EventEmitter<IGridEditDoneEventArgs>;
/**
* @hidden @internal
*/
columnMovingStart: EventEmitter<IColumnMovingStartEventArgs>;
/**
* @hidden @internal
*/
columnMoving: EventEmitter<IColumnMovingEventArgs>;
/**
* @hidden @internal
*/
columnMovingEnd: EventEmitter<IColumnMovingEndEventArgs>;
/**
* @hidden @internal
*/
columnPin: EventEmitter<IPinColumnCancellableEventArgs>;
/**
* @hidden @internal
*/
columnPinned: EventEmitter<IPinColumnEventArgs>;
/**
* @hidden @internal
*/
rowAdd: EventEmitter<IRowDataCancelableEventArgs>;
/**
* @hidden @internal
*/
rowAdded: EventEmitter<IRowDataEventArgs>;
/**
* @hidden @internal
*/
rowDeleted: EventEmitter<IRowDataEventArgs>;
/**
* @hidden @internal
*/
rowDelete: EventEmitter<IRowDataCancelableEventArgs>;
/**
* @hidden @internal
*/
rowDragStart: EventEmitter<IRowDragStartEventArgs>;
/**
* @hidden @internal
*/
rowDragEnd: EventEmitter<IRowDragEndEventArgs>;
/**
* @hidden @internal
*/
rowEditEnter: EventEmitter<IGridEditEventArgs>;
/**
* @hidden @internal
*/
rowEdit: EventEmitter<IGridEditEventArgs>;
/**
* @hidden @internal
*/
rowEditDone: EventEmitter<IGridEditDoneEventArgs>;
/**
* @hidden @internal
*/
rowEditExit: EventEmitter<IGridEditDoneEventArgs>;
/**
* @hidden @internal
*/
rowPinning: EventEmitter<IPinRowEventArgs>;
/**
* @hidden @internal
*/
rowPinned: EventEmitter<IPinRowEventArgs>;
/** @hidden @internal */
columnGroupStates: Map<string, boolean>;
/** @hidden @internal */
dimensionDataColumns: any[];
/** @hidden @internal */
get pivotKeys(): {
aggregations: string;
records: string;
children: string;
level: string;
rowDimensionSeparator: string;
columnDimensionSeparator: string;
};
/** @hidden @internal */
get type(): GridType["type"];
/**
* @hidden @internal
*/
dragRowID: any;
/**
* @hidden @internal
*/
get rootSummariesEnabled(): boolean;
/**
* @hidden @internal
*/
rowDimensionResizing: boolean;
private _emptyRowDimension;
/**
* @hidden @internal
*/
get emptyRowDimension(): IPivotDimension;
protected _pivotValueCloneStrategy: IDataCloneStrategy;
protected _defaultExpandState: boolean;
protected _filterStrategy: IFilteringStrategy;
protected regroupTrigger: number;
private _data;
private _pivotConfiguration;
private p_id;
private _superCompactMode;
private _pivotUI;
private _sortableColumns;
private _visibleRowDimensions;
private _shouldUpdateSizes;
/**
* Gets/Sets the default expand state for all rows.
*/
get defaultExpandState(): boolean;
set defaultExpandState(val: boolean);
/**
* @hidden @internal
*/
get pagingMode(): GridPagingMode;
set pagingMode(_val: GridPagingMode);
/**
* @hidden @internal
*/
get hideRowSelectors(): boolean;
set hideRowSelectors(_value: boolean);
/**
* @hidden @internal
*/
autoGenerate: boolean;
/**
* @hidden @internal
*/
get actionStrip(): any;
/**
* @hidden @internal
* @deprecated in version 18.2.0. This property is no longer supported.
*/
get shouldGenerate(): boolean;
set shouldGenerate(value: boolean);
/**
* @hidden @internal
*/
moving: boolean;
/**
* @hidden @internal
*/
toolbarExporting: EventEmitter<IGridToolbarExportEventArgs>;
/**
* @hidden @internal
*/
get rowDraggable(): boolean;
set rowDraggable(_val: boolean);
/**
* @hidden @internal
*/
get allowAdvancedFiltering(): boolean;
set allowAdvancedFiltering(_value: boolean);
/**
* @hidden @internal
*/
get filterMode(): FilterMode;
set filterMode(_value: FilterMode);
/**
* @hidden @internal
*/
get allowFiltering(): boolean;
set allowFiltering(_value: boolean);
/**
* @hidden @internal
*/
get page(): number;
set page(_val: number);
/**
* @hidden @internal
*/
get perPage(): number;
set perPage(_val: number);
/**
* @hidden @internal
*/
get pinnedColumns(): IgxColumnComponent[];
/**
* @hidden @internal
*/
get unpinnedColumns(): IgxColumnComponent[];
/**
* @hidden @internal
*/
get unpinnedDataView(): any[];
/**
* @hidden @internal
*/
get unpinnedWidth(): number;
/**
* @hidden @internal
*/
get pinnedWidth(): number;
/**
* @hidden @internal
*/
set summaryRowHeight(_value: number);
get summaryRowHeight(): number;
/**
* @hidden @internal
*/
get transactions(): TransactionService<Transaction, State>;
/**
* @hidden @internal
*/
get dragIndicatorIconTemplate(): TemplateRef<any>;
set dragIndicatorIconTemplate(_val: TemplateRef<any>);
/**
* @hidden @internal
*/
get rowEditable(): boolean;
set rowEditable(_val: boolean);
/**
* @hidden @internal
*/
get pinning(): {};
set pinning(_value: {});
/**
* @hidden @internal
*/
get summaryPosition(): GridSummaryPosition;
set summaryPosition(_value: GridSummaryPosition);
/**
* @hidden @interal
*/
get summaryCalculationMode(): GridSummaryCalculationMode;
set summaryCalculationMode(_value: GridSummaryCalculationMode);
/**
* @hidden @interal
*/
get showSummaryOnCollapse(): boolean;
set showSummaryOnCollapse(_value: boolean);
/**
* @hidden @internal
*/
get hiddenColumnsCount(): any;
/**
* @hidden @internal
*/
get pinnedColumnsCount(): any;
/**
* @hidden @internal
*/
get batchEditing(): boolean;
set batchEditing(_val: boolean);
get selectedRows(): any[];
constructor(validationService: IgxGridValidationService, selectionService: IgxGridSelectionService, colResizingService: IgxPivotColumnResizingService, gridAPI: GridBaseAPIService<IgxGridBaseDirective & GridType>, transactionFactory: IgxFlatTransactionFactory, elementRef: ElementRef<HTMLElement>, zone: NgZone, document: any, cdr: ChangeDetectorRef, differs: IterableDiffers, viewRef: ViewContainerRef, injector: Injector, envInjector: EnvironmentInjector, navigation: IgxPivotGridNavigationService, filteringService: IgxFilteringService, textHighlightService: IgxTextHighlightService, overlayService: IgxOverlayService, summaryService: IgxGridSummaryService, localeId: string, platform: PlatformUtil, _diTransactions?: TransactionService<Transaction, State>);
/**
* @hidden
*/
ngOnInit(): void;
/**
* @hidden
*/
ngAfterContentInit(): void;
/**
* @hidden @internal
*/
ngAfterViewInit(): void;
/**
* @hidden @internal
*/
ngOnChanges(changes: SimpleChanges): void;
/**
* Notifies for dimension change.
*/
notifyDimensionChange(regenerateColumns?: boolean): void;
/**
* Gets the full list of dimensions.
*
* @example
* ```typescript
* const dimensions = this.grid.allDimensions;
* ```
*/
get allDimensions(): IPivotDimension[];
protected get allVisibleDimensions(): IPivotDimension[];
protected get shouldResize(): boolean;
/** @hidden @internal */
createFilterESF(dropdown: any, column: ColumnType, options: OverlaySettings, shouldReatach: boolean): {
id: any;
ref: any;
};
/** @hidden */
featureColumnsWidth(): number;
/**
* Gets/Sets the value of the `id` attribute.
*
* @remarks
* If not provided it will be automatically generated.
* @example
* ```html
* <igx-pivot-grid [id]="'igx-pivot-1'" [data]="Data"></igx-pivot-grid>
* ```
*/
get id(): string;
set id(value: string);
/**
* Gets/Sets the array of data that populates the component.
* ```html
* <igx-pivot-grid [data]="Data"></igx-pivot-grid>
* ```
*/
set data(value: any[] | null);
/**
* Returns an array of data set to the component.
* ```typescript
* let data = this.grid.data;
* ```
*/
get data(): any[] | null;
/**
* @hidden
*/
getContext(rowData: any, rowIndex: any): any;
/**
* @hidden @internal
*/
get pivotRowWidths(): number;
/**
* @hidden @internal
*/
rowDimensionWidth(dim: any): string;
/**
* @hidden @internal
*/
rowDimensionWidthToPixels(dim: IPivotDimension): number;
/**
* @hidden @internal
*/
reverseDimensionWidthToPercent(width: number): number;
/** @hidden @internal */
get pivotContentCalcWidth(): number;
/** @hidden @internal */
get pivotPinnedWidth(): number;
/** @hidden @internal */
get pivotUnpinnedWidth(): number;
/** @hidden @internal */
get rowDimensions(): IPivotDimension[];
/** @hidden @internal */
set visibleRowDimensions(value: IPivotDimension[]);
get visibleRowDimensions(): IPivotDimension[];
/** @hidden @internal */
get columnDimensions(): IPivotDimension[];
/** @hidden @internal */
get filterDimensions(): IPivotDimension[];
/** @hidden @internal */
get values(): IPivotValue[];
toggleColumn(col: IgxColumnComponent): void;
/**
* @hidden @internal
*/
isRecordPinnedByIndex(_rowIndex: number): any;
/**
* @hidden @internal
*/
toggleColumnVisibility(_args: IColumnVisibilityChangedEventArgs): void;
/**
* @hidden @internal
*/
expandAll(): void;
/**
* @hidden @internal
*/
collapseAll(): void;
/**
* @hidden @internal
*/
expandRow(_rowID: any): void;
/**
* @hidden @internal
*/
collapseRow(_rowID: any): void;
/**
* @hidden @internal
*/
get pinnedRows(): IgxGridRowComponent[];
/**
* @hidden @internal
*/
get totalRecords(): number;
set totalRecords(_total: number);
/**
* @hidden @internal
*/
moveColumn(_column: IgxColumnComponent, _target: IgxColumnComponent, _pos?: DropPosition): void;
/**
* @hidden @internal
*/
addRow(_data: any): void;
/**
* @hidden @internal
*/
deleteRow(_rowSelector: any): any;
/**
* @hidden @internal
*/
updateCell(_value: any, _rowSelector: any, _column: string): void;
/**
* @hidden @internal
*/
updateRow(_value: any, _rowSelector: any): void;
/**
* @hidden @internal
*/
enableSummaries(..._rest: any[]): void;
/**
* @hidden @internal
*/
disableSummaries(..._rest: any[]): void;
/**
* @hidden @internal
*/
pinColumn(_columnName: string | IgxColumnComponent, _index?: any): boolean;
/**
* @hidden @internal
*/
unpinColumn(_columnName: string | IgxColumnComponent, _index?: any): boolean;
/**
* @hidden @internal
*/
pinRow(_rowID: any, _index?: number, _row?: RowType): boolean;
/**
* @hidden @internal
*/
unpinRow(_rowID: any, _row?: RowType): boolean;
/**
* @hidden @internal
*/
get pinnedRowHeight(): void;
/**
* @hidden @internal
*/
get hasEditableColumns(): boolean;
/**
* @hidden @internal
*/
get hasSummarizedColumns(): boolean;
/**
* @hidden @internal
*/
get hasMovableColumns(): boolean;
/**
* @hidden @internal
*/
get pinnedDataView(): any[];
/**
* @hidden @internal
*/
openAdvancedFilteringDialog(_overlaySettings?: OverlaySettings): void;
/**
* @hidden @internal
*/
closeAdvancedFilteringDialog(_applyChanges: boolean): void;
/**
* @hidden @internal
*/
endEdit(_commit?: boolean, _event?: Event): boolean;
/**
* @hidden @internal
*/
beginAddRowById(_rowID: any, _asChild?: boolean): void;
/**
* @hidden @internal
*/
beginAddRowByIndex(_index: number): void;
/**
* @hidden @internal
*/
clearSearch(): void;
/**
* @hidden @internal
*/
refreshSearch(_updateActiveInfo?: boolean, _endEdit?: boolean): number;
/**
* @hidden @internal
*/
findNext(_text: string, _caseSensitive?: boolean, _exactMatch?: boolean): number;
/**
* @hidden @internal
*/
findPrev(_text: string, _caseSensitive?: boolean, _exactMatch?: boolean): number;
/**
* @hidden @internal
*/
getNextCell(currRowIndex: number, curVisibleColIndex: number, callback?: (IgxColumnComponent: any) => boolean): ICellPosition;
/**
* @hidden @internal
*/
getPreviousCell(currRowIndex: number, curVisibleColIndex: number, callback?: (IgxColumnComponent: any) => boolean): ICellPosition;
/**
* @hidden @internal
*/
getPinnedWidth(takeHidden?: boolean): number;
/**
* @hidden @internal
*/
get totalHeight(): number;
getColumnGroupExpandState(col: IgxColumnComponent): boolean;
toggleRowGroup(col: IgxColumnComponent, newState: boolean): void;
/**
* @hidden @internal
*/
setupColumns(): void;
/**
* @hidden @internal
*/
dataRebinding(event: IForOfDataChangingEventArgs): void;
/**
* Auto-sizes row dimension cells.
*
* @remarks
* Only sizes based on the dimension cells in view.
* @example
* ```typescript
* this.grid.autoSizeRowDimension(dimension);
* ```
* @param dimension The row dimension to size.
*/
autoSizeRowDimension(dimension: IPivotDimension): void;
/**
* Inserts dimension in target collection by type at specified index or at the collection's end.
*
* @example
* ```typescript
* this.grid.insertDimensionAt(dimension, PivotDimensionType.Row, 1);
* ```
* @param dimension The dimension that will be added.
* @param targetCollectionType The target collection type to add to. Can be Row, Column or Filter.
* @param index The index in the collection at which to add.
* This parameter is optional. If not set it will add it to the end of the collection.
*/
insertDimensionAt(dimension: IPivotDimension, targetCollectionType: PivotDimensionType, index?: number): void;
/**
* Move dimension from its currently collection to the specified target collection by type at specified index or at the collection's end.
*
* @example
* ```typescript
* this.grid.moveDimension(dimension, PivotDimensionType.Row, 1);
* ```
* @param dimension The dimension that will be moved.
* @param targetCollectionType The target collection type to move it to. Can be Row, Column or Filter.
* @param index The index in the collection at which to add.
* This parameter is optional. If not set it will add it to the end of the collection.
*/
moveDimension(dimension: IPivotDimension, targetCollectionType: PivotDimensionType, index?: number): void;
/**
* Removes dimension from its currently collection.
* @remarks
* This is different than toggleDimension that enabled/disables the dimension.
* This completely removes the specified dimension from the collection.
* @example
* ```typescript
* this.grid.removeDimension(dimension);
* ```
* @param dimension The dimension to be removed.
*/
removeDimension(dimension: IPivotDimension): void;
/**
* Toggles the dimension's enabled state on or off.
* @remarks
* The dimension remains in its current collection. This just changes its enabled state.
* @example
* ```typescript
* this.grid.toggleDimension(dimension);
* ```
* @param dimension The dimension to be toggled.
*/
toggleDimension(dimension: IPivotDimension): void;
/**
* Inserts value at specified index or at the end.
*
* @example
* ```typescript
* this.grid.insertValueAt(value, 1);
* ```
* @param value The value definition that will be added.
* @param index The index in the collection at which to add.
* This parameter is optional. If not set it will add it to the end of the collection.
*/
insertValueAt(value: IPivotValue, index?: number): void;
/**
* Move value from its currently at specified index or at the end.
*
* @example
* ```typescript
* this.grid.moveValue(value, 1);
* ```
* @param value The value that will be moved.
* @param index The index in the collection at which to add.
* This parameter is optional. If not set it will add it to the end of the collection.
*/
moveValue(value: IPivotValue, index?: number): void;
/**
* Removes value from collection.
* @remarks
* This is different than toggleValue that enabled/disables the value.
* This completely removes the specified value from the collection.
* @example
* ```typescript
* this.grid.removeValue(dimension);
* ```
* @param value The value to be removed.
*/
removeValue(value: IPivotValue): void;
/**
* Toggles the value's enabled state on or off.
* @remarks
* The value remains in its current collection. This just changes its enabled state.
* @example
* ```typescript
* this.grid.toggleValue(value);
* ```
* @param value The value to be toggled.
*/
toggleValue(value: IPivotValue): void;
/**
* Sort the dimension and its children in the provided direction.
* @example
* ```typescript
* this.grid.sortDimension(dimension, SortingDirection.Asc);
* ```
* @param value The value to be toggled.
*/
sortDimension(dimension: IPivotDimension, sortDirection: SortingDirection): void;
/**
* Filters a single `IPivotDimension`.
*
* @example
* ```typescript
* public filter() {
* const set = new Set();
* set.add('Value 1');
* set.add('Value 2');
* this.grid1.filterDimension(this.pivotConfigHierarchy.rows[0], set, IgxStringFilteringOperand.instance().condition('in'));
* }
* ```
*/
filterDimension(dimension: IPivotDimension, value: any, conditionOrExpressionTree?: IFilteringOperation | IFilteringExpressionsTree): void;
/**
* @hidden @internal
*/
getRowDimensionByName(memberName: string): any;
/**
* @hidden @internal
*/
getDimensionsByType(dimension: PivotDimensionType): IPivotDimension[];
/**
* @hidden @internal
*/
resizeRowDimensionPixels(dimension: IPivotDimension, newWidth: number): void;
protected _removeDimensionInternal(dimension: any): void;
protected getDimensionType(dimension: IPivotDimension): PivotDimensionType;
protected getPivotRowHeaderContentWidth(headerGroup: IgxPivotRowHeaderGroupComponent): number;
protected getLargesContentWidth(contents: ElementRef[]): string;
/** @hidden @internal */
get hasHorizontalLayout(): boolean;
/**
* @hidden
*/
get hasMultipleValues(): boolean;
/**
* @hidden
*/
get excelStyleFilterMaxHeight(): string;
/**
* @hidden
*/
get excelStyleFilterMinHeight(): string;
/** @hidden @internal */
get activeDescendant(): string;
protected resolveToggle(groupColumn: IgxColumnComponent, state: boolean): void;
protected buildDataView(data: any[]): void;
/**
* @hidden @internal
*/
protected getDataBasedBodyHeight(): number;
protected horizontalScrollHandler(event: any): void;
protected verticalScrollHandler(event: any): void;
/**
* @hidden
*/
protected autogenerateColumns(): void;
protected generateDimensionColumns(): IgxColumnComponent[];
protected calculateGridSizes(recalcFeatureWidth?: boolean): void;
protected getContentCollection(dimenstion: IPivotDimension): any;
protected autoSizeDimensionsInView(): void;
/** @hidden @internal */
get hasDimensionsToAutosize(): boolean;
protected generateFromData(fields: string[]): Map<string, any>;
protected generateColumnHierarchy(fields: Map<string, any>, data: any, parent?: any): IgxColumnComponent[];
protected generateConfig(): void;
protected createColumnForDimension(value: any, data: any, parent: ColumnType, isGroup: boolean): IgxColumnGroupComponent;
protected resolveColumnDimensionWidth(dim: IPivotDimension): string;
protected getMeasureChildren(data: any, parent: any, hidden: any, parentWidth: any): any[];
/**
* @hidden @internal
*/
defaultEmptyPivotGridTemplate: TemplateRef<any>;
/**
* Gets/Sets a custom template when pivot grid is empty.
*
* @example
* ```html
* <igx-pivot-grid [emptyPivotGridTemplate]="myTemplate"><igx-pivot-grid>
* ```
*/
emptyPivotGridTemplate: TemplateRef<void>;
/**
* @hidden @internal
*/
get template(): TemplateRef<any>;
private emitInitEvents;
protected rowDimensionByName(memberName: string): IPivotDimension;
protected calculateResizerTop(): any;
protected updateDefaultRowHeight(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<IgxPivotGridComponent, [null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, { optional: true; }]>;
static ɵcmp: i0.ɵɵComponentDeclaration<IgxPivotGridComponent, "igx-pivot-grid", never, { "valueChipTemplate": { "alias": "valueChipTemplate"; "required": false; }; "rowDimensionHeaderTemplate": { "alias": "rowDimensionHeaderTemplate"; "required": false; }; "pivotConfiguration": { "alias": "pivotConfiguration"; "required": false; }; "autoGenerateConfig": { "alias": "autoGenerateConfig"; "required": false; }; "pivotUI": { "alias": "pivotUI"; "required": false; }; "superCompactMode": { "alias": "superCompactMode"; "required": false; }; "pivotValueCloneStrategy": { "alias": "pivotValueCloneStrategy"; "required": false; }; "addRowEmptyTemplate": { "alias": "addRowEmptyTemplate"; "required": false; }; "autoGenerateExclude": { "alias": "autoGenerateExclude"; "required": false; }; "snackbarDisplayTime": { "alias": "snackbarDisplayTime"; "required": false; }; "defaultExpandState": { "alias": "defaultExpandState"; "required": false; }; "pagingMode": { "alias": "pagingMode"; "required": false; }; "hideRowSelectors": { "alias": "hideRowSelectors"; "required": false; }; "rowDraggable": { "alias": "rowDraggable"; "required": false; }; "allowAdvancedFiltering": { "alias": "allowAdvancedFiltering"; "required": false; }; "filterMode": { "alias": "filterMode"; "required": false; }; "allowFiltering": { "alias": "allowFiltering"; "required": false; }; "page": { "alias": "page"; "required": false; }; "perPage": { "alias": "perPage"; "required": false; }; "summaryRowHeight": { "alias": "summaryRowHeight"; "required": false; }; "rowEditable": { "alias": "rowEditable"; "required": false; }; "pinning": { "alias": "pinning"; "required": false; }; "summaryPosition": { "alias": "summaryPosition"; "required": false; }; "summaryCalculationMode": { "alias": "summaryCalculationMode"; "required": false; }; "showSummaryOnCollapse": { "alias": "showSummaryOnCollapse"; "required": false; }; "batchEditing": { "alias": "batchEditing"; "required": false; }; "id": { "alias": "id"; "required": false; }; "data": { "alias": "data"; "required": false; }; "totalRecords": { "alias": "totalRecords"; "required": false; }; "emptyPivotGridTemplate": { "alias": "emptyPivotGridTemplate"; "required": false; }; }, { "dimensionsChange": "dimensionsChange"; "pivotConfigurationChange": "pivotConfigurationChange"; "dimensionInit": "dimensionInit"; "valueInit": "valueInit"; "dimensionsSortingExpressionsChange": "dimensionsSortingExpressionsChange"; "valuesChange": "valuesChange"; "cellEdit": "cellEdit"; "cellEditDone": "cellEditDone"; "cellEditEnter": "cellEditEnter"; "cellEditExit": "cellEditExit"; "columnMovingStart": "columnMovingStart"; "columnMoving": "columnMoving"; "columnMovingEnd": "columnMovingEnd"; "columnPin": "columnPin"; "columnPinned": "columnPinned"; "rowAdd": "rowAdd"; "rowAdded": "rowAdded"; "rowDeleted": "rowDeleted"; "rowDelete": "rowDelete"; "rowDragStart": "rowDragStart"; "rowDragEnd": "rowDragEnd"; "rowEditEnter": "rowEditEnter"; "rowEdit": "rowEdit"; "rowEditDone": "rowEditDone"; "rowEditExit": "rowEditExit"; "rowPinning": "rowPinning"; "rowPinned": "rowPinned"; }, ["valueChipTemplateDirective", "rowDimensionHeaderDirective"], ["igx-grid-toolbar,igc-grid-toolbar", "igx-grid-footer,igc-grid-footer", "igx-grid-state,igc-grid-state"], true, never>;
static ngAcceptInputType_autoGenerateConfig: unknown;
static ngAcceptInputType_defaultExpandState: unknown;
static ngAcceptInputType_hideRowSelectors: unknown;
static ngAcceptInputType_rowDraggable: unknown;
static ngAcceptInputType_allowAdvancedFiltering: unknown;
static ngAcceptInputType_allowFiltering: unknown;
static ngAcceptInputType_rowEditable: unknown;
static ngAcceptInputType_showSummaryOnCollapse: unknown;
static ngAcceptInputType_batchEditing: unknown;
}