@syncfusion/ej2-pivotview
Version:
The pivot grid, or pivot table, is used to visualize large sets of relational data in a cross-tabular format, similar to an Excel pivot table.
197 lines (196 loc) • 5.45 kB
TypeScript
import { IAxisSet, IGridValues } from '../../base/engine';
import { PivotEngine } from '../../base/engine';
import { PivotView } from '../base/pivotview';
import { ColumnModel } from '@syncfusion/ej2-grids';
import { GridSettingsModel } from '../model/gridsettings-model';
import { OlapEngine } from '../../base/olap/engine';
/**
* Module to render PivotGrid control
*/
/** @hidden */
export declare class Render {
/** @hidden */
parent: PivotView;
/** @hidden */
engine: PivotEngine | OlapEngine;
/** @hidden */
gridSettings: GridSettingsModel;
/** @hidden */
rowStartPos: number;
/** @hidden */
maxIndent: number;
/** @hidden */
resColWidth: number;
/** @hidden */
isOverflows: boolean;
/** @hidden */
isAutoFitEnabled: boolean;
/** @hidden */
pivotColumns: ColumnModel[];
/** @hidden */
lastColumn: ColumnModel;
/** @hidden */
indentCollection: {
[key: number]: number;
};
private formatList;
private colPos;
private colGrandPos;
private rowGrandPos;
private lastSpan;
private aggMenu;
private field;
private fieldCaption;
private lvlCollection;
private hierarchyCollection;
private lvlPosCollection;
private hierarchyPosCollection;
private position;
private measurePos;
private maxMeasurePos;
private hierarchyCount;
private actualText;
private drilledLevelInfo;
private timeOutObj;
private modifiedHeaderText;
/** @hidden */
selectedCells: {
rowIndex: number;
colIndex: number;
}[];
/** Constructor for render module
*
* @param {PivotView} parent - Instance of pivot table.
*/
constructor(parent: PivotView);
/** @hidden */
render(refreshRequired?: boolean): void;
private initProperties;
private refreshHeader;
/** @hidden */
bindGrid(parent: PivotView, isEmpty: boolean): void;
private actionComplete;
/**
* It is used to add the pivot autofit class
*
* @returns {void}
* @hidden
*/
addPivotAutoFitClass(): void;
/**
* It is used to remove the pivot autofit class
*
* @returns {void}
* @hidden
*/
removePivotAutoFitClass(): void;
private headerRefreshed;
private beforeExcelExport;
private rowSelected;
private rowDeselected;
private cellSelected;
private cellSelecting;
private cellDeselected;
private queryCellInfo;
private headerCellInfo;
private excelHeaderQueryCellInfo;
private pdfQueryCellInfo;
private excelQueryCellInfo;
private pdfHeaderQueryCellInfo;
private pdfExportComplete;
private excelExportComplete;
private dataBound;
private setFocusOnLastCell;
private getCellElement;
private contextMenuOpen;
private getMenuItem;
private contextMenuClick;
private validateColumnTotalcell;
private validateField;
private updateAggregate;
private injectGridModules;
/** @hidden */
updateGridSettings(): void;
private updatePivotColumns;
private clearColumnSelection;
private appendValueSortIcon;
private onResizeStop;
private getChildColumnWidth;
private setGroupWidth;
private setFirstColumnWidth;
/** @hidden */
setValuePanelWidth(): void;
/** @hidden */
selected(): void;
private onSelect;
private rowCellBoundEvent;
private appendTemplate;
private onOlapRowCellBoundEvent;
private columnCellBoundEvent;
private updateWrapper;
private onOlapColumnCellBoundEvent;
private isSpannedCell;
private onHyperCellClick;
private getRowStartPos;
private frameDataSource;
/** @hidden */
frameEmptyData(): IGridValues;
/** @hidden */
calculateColWidth(colCount: number): number;
/** @hidden */
resizeColWidth(colCount: number): number;
/** @hidden */
calculateGridWidth(): number | string;
/** @hidden */
calculateGridHeight(elementCreated?: boolean): number | string;
/**
* It used to frame stacked headers.
*
* @returns {ColumnModel[]} - Returns grid columns.
* @hidden
*/
frameStackedHeaders(): ColumnModel[];
/** @hidden */
setSavedWidth(column: string, width: number): number;
/** @hidden */
frameEmptyColumns(): ColumnModel[];
/** @hidden */
getFormatList(): {
[key: string]: string;
};
private getValidHeader;
private excelColumnEvent;
private pdfColumnEvent;
private excelRowEvent;
private pdfRowEvent;
private excelDataBound;
private exportHeaderEvent;
/**
*
* @param {IGridValues} actualData - It contains the data source.
* @returns {IGridValues} - It frames the data source without index and indexObject properties.
* @hidden */
frameGridDataSource(actualData: IGridValues): IGridValues;
/** @hidden */
cloneDataWithoutIndex(data: Record<string, unknown>): IAxisSet;
private exportContentEvent;
private unWireEvents;
private wireEvents;
private setSpanAttributes;
private updatePivotColumn;
private getTotalColumnWidth;
/**
* Add a destroy method to clean up resources
*
* @returns {void}
* @hidden
*/
destroy(): void;
/**
* Remove all event handlers from hyperlink cells
*
* @returns {void}
* @private
*/
private removeAllHyperlinkEventHandlers;
}