/*! * devextreme-angular * Version: 25.2.6 * Build date: Mon Mar 30 2026 * * Copyright (c) 2012 - 2026 Developer Express Inc. ALL RIGHTS RESERVED * * This software may be modified and distributed under the terms * of the MIT license. See the LICENSE file in the root of the project for details. * * https://github.com/DevExpress/DevExtreme */ import { TransferState, ElementRef, NgZone, OnDestroy, EventEmitter, OnChanges, DoCheck, SimpleChanges } from '@angular/core'; import PivotGridDataSource from 'devextreme/ui/pivot_grid/data_source'; import { PivotGridDataFieldArea, CellClickEvent, CellPreparedEvent, ContentReadyEvent, ContextMenuPreparingEvent, DisposingEvent, ExportingEvent, InitializedEvent, OptionChangedEvent, PivotGridRowHeaderLayout, PivotGridTotalDisplayMode } from 'devextreme/ui/pivot_grid'; import { PivotGridDataSourceOptions } from 'devextreme/ui/pivot_grid/data_source'; import { ApplyChangesMode, HeaderFilterSearchConfig, StateStoreType } from 'devextreme/common/grids'; import { FieldChooserLayout, ScrollMode, Mode } from 'devextreme/common'; import DxPivotGrid from 'devextreme/ui/pivot_grid'; import { DxComponent, DxTemplateHost, NestedOptionHost, IterableDifferHelper, WatcherHelper } from 'devextreme-angular/core'; import type * as DxPivotGridTypes from "devextreme/ui/pivot_grid_types"; import * as i0 from "@angular/core"; import * as i1 from "devextreme-angular/ui/nested"; import * as i2 from "devextreme-angular/ui/pivot-grid/nested"; import * as i3 from "devextreme-angular/core"; /** * The PivotGrid is a UI component that allows you to display and analyze multi-dimensional data from a local storage or an OLAP cube. */ export declare class DxPivotGridComponent extends DxComponent implements OnDestroy, OnChanges, DoCheck { private _watcherHelper; private _idh; instance: DxPivotGrid; /** * Allows users to expand/collapse all header items within the same header level. Ignored if the PivotGridDataSource's paginate property is true. */ get allowExpandAll(): boolean; set allowExpandAll(value: boolean); /** * Allows a user to filter fields by selecting or deselecting values in the popup menu. */ get allowFiltering(): boolean; set allowFiltering(value: boolean); /** * Allows an end user to change sorting properties. */ get allowSorting(): boolean; set allowSorting(value: boolean); /** * Allows users to sort the pivot grid by summary values instead of field values. Ignored if the PivotGridDataSource's paginate property is true. */ get allowSortingBySummary(): boolean; set allowSortingBySummary(value: boolean); /** * Specifies the area to which data field headers must belong. */ get dataFieldArea(): PivotGridDataFieldArea; set dataFieldArea(value: PivotGridDataFieldArea); /** * Binds the UI component to data. */ get dataSource(): Array | null | PivotGridDataSource | PivotGridDataSourceOptions; set dataSource(value: Array | null | PivotGridDataSource | PivotGridDataSourceOptions); /** * Specifies whether the UI component responds to user interaction. */ get disabled(): boolean; set disabled(value: boolean); /** * Specifies the global attributes to be attached to the UI component's container element. */ get elementAttr(): Record; set elementAttr(value: Record); /** * Specifies whether HTML tags are displayed as plain text or applied to cell values. */ get encodeHtml(): boolean; set encodeHtml(value: boolean); /** * Configures client-side exporting. */ get export(): { enabled?: boolean; }; set export(value: { enabled?: boolean; }); /** * The Field Chooser configuration properties. */ get fieldChooser(): { allowSearch?: boolean; applyChangesMode?: ApplyChangesMode; enabled?: boolean; height?: number; layout?: FieldChooserLayout; searchTimeout?: number; texts?: { allFields?: string; columnFields?: string; dataFields?: string; filterFields?: string; rowFields?: string; }; title?: string; width?: number; }; set fieldChooser(value: { allowSearch?: boolean; applyChangesMode?: ApplyChangesMode; enabled?: boolean; height?: number; layout?: FieldChooserLayout; searchTimeout?: number; texts?: { allFields?: string; columnFields?: string; dataFields?: string; filterFields?: string; rowFields?: string; }; title?: string; width?: number; }); /** * Configures the field panel. */ get fieldPanel(): { allowFieldDragging?: boolean; showColumnFields?: boolean; showDataFields?: boolean; showFilterFields?: boolean; showRowFields?: boolean; texts?: { columnFieldArea?: string; dataFieldArea?: string; filterFieldArea?: string; rowFieldArea?: string; }; visible?: boolean; }; set fieldPanel(value: { allowFieldDragging?: boolean; showColumnFields?: boolean; showDataFields?: boolean; showFilterFields?: boolean; showRowFields?: boolean; texts?: { columnFieldArea?: string; dataFieldArea?: string; filterFieldArea?: string; rowFieldArea?: string; }; visible?: boolean; }); /** * Configures the header filter feature. */ get headerFilter(): { allowSearch?: boolean; allowSelectAll?: boolean; height?: number; search?: HeaderFilterSearchConfig; searchTimeout?: number; showRelevantValues?: boolean; texts?: { cancel?: string; emptyValue?: string; ok?: string; }; width?: number; }; set headerFilter(value: { allowSearch?: boolean; allowSelectAll?: boolean; height?: number; search?: HeaderFilterSearchConfig; searchTimeout?: number; showRelevantValues?: boolean; texts?: { cancel?: string; emptyValue?: string; ok?: string; }; width?: number; }); /** * Specifies the UI component's height. */ get height(): number | string | undefined; set height(value: number | string | undefined); /** * Specifies whether or not to hide rows and columns with no data. */ get hideEmptySummaryCells(): boolean; set hideEmptySummaryCells(value: boolean); /** * Specifies text for a hint that appears when a user pauses on the UI component. */ get hint(): string | undefined; set hint(value: string | undefined); /** * Specifies properties configuring the load panel. */ get loadPanel(): { enabled?: boolean; height?: number; indicatorSrc?: string; shading?: boolean; shadingColor?: string; showIndicator?: boolean; showPane?: boolean; text?: string; width?: number; }; set loadPanel(value: { enabled?: boolean; height?: number; indicatorSrc?: string; shading?: boolean; shadingColor?: string; showIndicator?: boolean; showPane?: boolean; text?: string; width?: number; }); /** * Specifies the layout of items in the row header. */ get rowHeaderLayout(): PivotGridRowHeaderLayout; set rowHeaderLayout(value: PivotGridRowHeaderLayout); /** * Switches the UI component to a right-to-left representation. */ get rtlEnabled(): boolean; set rtlEnabled(value: boolean); /** * A configuration object specifying scrolling properties. */ get scrolling(): { mode?: ScrollMode; useNative?: boolean | Mode; }; set scrolling(value: { mode?: ScrollMode; useNative?: boolean | Mode; }); /** * Specifies whether the outer borders of the grid are visible or not. */ get showBorders(): boolean; set showBorders(value: boolean); /** * Specifies whether to display the Grand Total column. */ get showColumnGrandTotals(): boolean; set showColumnGrandTotals(value: boolean); /** * Specifies whether to display the Total columns. */ get showColumnTotals(): boolean; set showColumnTotals(value: boolean); /** * Specifies whether to display the Grand Total row. */ get showRowGrandTotals(): boolean; set showRowGrandTotals(value: boolean); /** * Specifies whether to display the Total rows. Applies only if rowHeaderLayout is 'standard'. */ get showRowTotals(): boolean; set showRowTotals(value: boolean); /** * Specifies where to show the total rows or columns. */ get showTotalsPrior(): PivotGridTotalDisplayMode; set showTotalsPrior(value: PivotGridTotalDisplayMode); /** * A configuration object specifying properties related to state storing. */ get stateStoring(): { customLoad?: Function; customSave?: ((state: any) => void); enabled?: boolean; savingTimeout?: number; storageKey?: string; type?: StateStoreType; }; set stateStoring(value: { customLoad?: Function; customSave?: ((state: any) => void); enabled?: boolean; savingTimeout?: number; storageKey?: string; type?: StateStoreType; }); /** * Specifies the number of the element when the Tab key is used for navigating. */ get tabIndex(): number; set tabIndex(value: number); /** * Strings that can be changed or localized in the PivotGrid UI component. */ get texts(): { collapseAll?: string; dataNotAvailable?: string; expandAll?: string; exportToExcel?: string; grandTotal?: string; noData?: string; removeAllSorting?: string; showFieldChooser?: string; sortColumnBySummary?: string; sortRowBySummary?: string; total?: string; }; set texts(value: { collapseAll?: string; dataNotAvailable?: string; expandAll?: string; exportToExcel?: string; grandTotal?: string; noData?: string; removeAllSorting?: string; showFieldChooser?: string; sortColumnBySummary?: string; sortRowBySummary?: string; total?: string; }); /** * Specifies whether the UI component is visible. */ get visible(): boolean; set visible(value: boolean); /** * Specifies the UI component's width. */ get width(): number | string | undefined; set width(value: number | string | undefined); /** * Specifies whether long text in header items should be wrapped. */ get wordWrapEnabled(): boolean; set wordWrapEnabled(value: boolean); /** * A function that is executed when a pivot grid cell is clicked or tapped. */ onCellClick: EventEmitter; /** * A function that is executed after a pivot grid cell is created. */ onCellPrepared: EventEmitter; /** * A function that is executed when the UI component is rendered and each time the component is repainted. */ onContentReady: EventEmitter; /** * A function that is executed before the context menu is rendered. */ onContextMenuPreparing: EventEmitter; /** * A function that is executed before the UI component is disposed of. */ onDisposing: EventEmitter; /** * A function that is executed before data is exported. */ onExporting: EventEmitter; /** * A function used in JavaScript frameworks to save the UI component instance. */ onInitialized: EventEmitter; /** * A function that is executed after a UI component property is changed. */ onOptionChanged: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ allowExpandAllChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ allowFilteringChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ allowSortingChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ allowSortingBySummaryChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ dataFieldAreaChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ dataSourceChange: EventEmitter | null | PivotGridDataSource | PivotGridDataSourceOptions>; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ disabledChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ elementAttrChange: EventEmitter>; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ encodeHtmlChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ exportChange: EventEmitter<{ enabled?: boolean; }>; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ fieldChooserChange: EventEmitter<{ allowSearch?: boolean; applyChangesMode?: ApplyChangesMode; enabled?: boolean; height?: number; layout?: FieldChooserLayout; searchTimeout?: number; texts?: { allFields?: string; columnFields?: string; dataFields?: string; filterFields?: string; rowFields?: string; }; title?: string; width?: number; }>; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ fieldPanelChange: EventEmitter<{ allowFieldDragging?: boolean; showColumnFields?: boolean; showDataFields?: boolean; showFilterFields?: boolean; showRowFields?: boolean; texts?: { columnFieldArea?: string; dataFieldArea?: string; filterFieldArea?: string; rowFieldArea?: string; }; visible?: boolean; }>; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ headerFilterChange: EventEmitter<{ allowSearch?: boolean; allowSelectAll?: boolean; height?: number; search?: HeaderFilterSearchConfig; searchTimeout?: number; showRelevantValues?: boolean; texts?: { cancel?: string; emptyValue?: string; ok?: string; }; width?: number; }>; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ heightChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ hideEmptySummaryCellsChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ hintChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ loadPanelChange: EventEmitter<{ enabled?: boolean; height?: number; indicatorSrc?: string; shading?: boolean; shadingColor?: string; showIndicator?: boolean; showPane?: boolean; text?: string; width?: number; }>; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ rowHeaderLayoutChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ rtlEnabledChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ scrollingChange: EventEmitter<{ mode?: ScrollMode; useNative?: boolean | Mode; }>; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ showBordersChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ showColumnGrandTotalsChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ showColumnTotalsChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ showRowGrandTotalsChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ showRowTotalsChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ showTotalsPriorChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ stateStoringChange: EventEmitter<{ customLoad?: Function; customSave?: ((state: any) => void); enabled?: boolean; savingTimeout?: number; storageKey?: string; type?: StateStoreType; }>; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ tabIndexChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ textsChange: EventEmitter<{ collapseAll?: string; dataNotAvailable?: string; expandAll?: string; exportToExcel?: string; grandTotal?: string; noData?: string; removeAllSorting?: string; showFieldChooser?: string; sortColumnBySummary?: string; sortRowBySummary?: string; total?: string; }>; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ visibleChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ widthChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ wordWrapEnabledChange: EventEmitter; constructor(elementRef: ElementRef, ngZone: NgZone, templateHost: DxTemplateHost, _watcherHelper: WatcherHelper, _idh: IterableDifferHelper, optionHost: NestedOptionHost, transferState: TransferState, platformId: any); protected _createInstance(element: any, options: any): DxPivotGrid; ngOnDestroy(): void; ngOnChanges(changes: SimpleChanges): void; setupChanges(prop: string, changes: SimpleChanges): void; ngDoCheck(): void; _setOption(name: string, value: any): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } export declare class DxPivotGridModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } export * from 'devextreme-angular/ui/pivot-grid/nested'; export { DxPivotGridTypes };