@univerjs-pro/sheets-pivot
Version:
Univer Sheets Pivot Table
306 lines (305 loc) • 13.8 kB
TypeScript
import { IAddPivotFieldCommandParams, IMovePivotFieldCommandParams, IPivotTableAddedEventParams, IPivotTableMovedEventParams, IPivotTableRemovedEventParams, IPivotTableRenderedEventParams, IRemovePivotFieldCommandParams, ISetPivotCollapseCommandParams, ISetPivotFilterCommandParams, ISetPivotSortCommandParams, IUpdatePivotFieldSettingCommandParams, IUpdatePivotValuePositionCommandParams } from '@univerjs-pro/sheets-pivot';
import { IEventBase, FEventName } from '@univerjs/core/facade';
/**
* @ignore
*/
interface IPivotTableEventMixin {
/**
* The before pivot table add event.The event parameter is {@link IPivotTableAddedEventParams}
*
* @example
* ```typescript
* univerAPI.addEvent(univerAPI.Event.BeforePivotTableAdd, (params) => {
* const { positionType, targetCellInfo } = params;
* if (positionType === univerAPI.Enum.PositionTypeEnum.Existing && targetCellInfo.sheetName === 'Sheet 1') {
* params.cancel = true;
* console.log(`The pivot table can't be added to the sheet ${targetCellInfo.sheetName}`);
* }
* });
* ```
*/
readonly BeforePivotTableAdd: 'BeforePivotTableAdd';
/**
* The pivot table added event.The event parameter is {@link IPivotTableAddedEventParams}
*
* @example
* ```typescript
* univerAPI.addEvent(univerAPI.Event.PivotTableAdded, (params) => {
* const { positionType, targetCellInfo } = params;
* if (positionType === univerAPI.Enum.PositionTypeEnum.Existing) {
* console.log('A pivot table created in an existing sheet');
* console.log(`
* The target sheet name is ${targetCellInfo.sheetName},
* the target row is ${targetCellInfo.row}, the target column is ${targetCellInfo.column}
* `);
* } else {
* console.log('A pivot table created in a new sheet');
* }
* });
* ```
*/
readonly PivotTableAdded: 'PivotTableAdded';
/**
* The before pivot table moved event.The event parameter is {@link IPivotTableMovedEventParams}
*
* @example
* ```typescript
* univerAPI.addEvent(univerAPI.Event.BeforePivotTableMove, (params) => {
* const { pivotTableId, targetCellInfo } = params;
* if (pivotTableId === 'pivotTable1' && targetCellInfo.sheetName === 'Sheet 1') {
* params.cancel = true;
* console.log(`The pivot table can't be moved to the sheet ${targetCellInfo.sheetName}`);
* }
* });
* ```
*/
readonly BeforePivotTableMove: 'BeforePivotTableMove';
/**
* The pivot table moved event. The event parameter is {@link IPivotTableMovedEventParams}
*
* @example
* ```typescript
* univerAPI.addEvent(univerAPI.Event.PivotTableMoved, (params) => {
* const { pivotTableId, targetCellInfo, originTargetInfo } = params;
* if (pivotTableId === 'pivotTable1') {
* console.log(`
* The pivot table moved from row: ${originTargetInfo.row} & column: ${originTargetInfo.column}
* to the sheet ${targetCellInfo.sheetName} row: ${targetCellInfo.row} & column: ${targetCellInfo.column}
* `);
* }
* });
* ```
*/
readonly PivotTableMoved: 'PivotTableMoved';
/**
* The pivot table calculated done and fill the value to worksheet, the event parameter is {@link IPivotTableRenderedEventParams}
*
* @example
* ```typescript
* // import { unionPivotViewRange } from '@univerjs-pro/sheets-pivot';
* univerAPI.addEvent(univerAPI.Event.PivotTableRendered, (params) => {
* const { pivotTableId, rangeInfo } = params;
* console.log(`The pivot table ${pivotTableId} has been rendered`);
* if (rangeInfo) {
* console.log(unionPivotViewRange(rangeInfo));
* }
* });
* ```
*/
readonly PivotTableRendered: 'PivotTableRendered';
/**
* The pivot table removed event. The event parameter is {@link IPivotTableRemovedEventParams}
*
* @example
* ```typescript
* univerAPI.addEvent(univerAPI.Event.PivotTableRemoved, (params) => {
* const { pivotTableId } = params;
* console.log(`The pivot table ${pivotTableId} has been removed`);
* });
* ```
*/
readonly PivotTableRemoved: 'PivotTableRemoved';
/**
* The pivot table field added event. The event parameter is {@link IAddPivotFieldCommandParams}
*
* @example
* ```typescript
* const fWorkbook = univerAPI.getActiveWorkbook();
* univerAPI.addEvent(univerAPI.Event.PivotTableFieldAdded, (params) => {
* const { pivotTableId, fieldId, fieldArea, fieldIndex } = params;
* const pivotTable = fWorkbook.getPivotTableById(pivotTableId);
* const fieldSetting = pivotTable.getFieldSetting('fieldId');
* console.log(fieldSetting);
* });
* ```
*/
readonly PivotTableFieldAdded: 'PivotTableFieldAdded';
/**
* The pivot table field removed event. The event parameter is {@link IRemovePivotFieldCommandParams}
*
* @example
* ```typescript
* const fWorkbook = univerAPI.getActiveWorkbook();
* univerAPI.addEvent(univerAPI.Event.PivotTableFieldRemoved, (params) => {
* const { pivotTableId, fieldId } = params;
* const pivotTable = fWorkbook.getPivotTableById(pivotTableId);
* const fieldSetting = pivotTable.getFieldSetting(fieldId);
* console.log(fieldSetting);
* });
* ```
*/
readonly PivotTableFieldRemoved: 'PivotTableFieldRemoved';
/**
* The pivot table field moved event. The event parameter is {@link IMovePivotFieldCommandParams}
*
* @example
* ```typescript
* const fWorkbook = univerAPI.getActiveWorkbook();
* univerAPI.addEvent(univerAPI.Event.PivotTableFieldMoved, (params) => {
* const { pivotTableId, fieldId, fieldArea, fieldIndex } = params;
* const pivotTable = fWorkbook.getPivotTableById(pivotTableId);
* const fieldSetting = pivotTable.getFieldSetting(fieldId);
* console.log(`The source name ${fieldSetting.sourceName} the display name ${fieldSetting.displayName}`);
* });
* ```
*/
readonly PivotTableFieldMoved: 'PivotTableFieldMoved';
/**
* The pivot table field collapse changed event. The event parameter is {@link ISetPivotCollapseCommandParams}
*
* @example
* ```typescript
* const fWorkbook = univerAPI.getActiveWorkbook();
* univerAPI.addEvent(univerAPI.Event.PivotTableFieldCollapseChanged, (params) => {
* const { pivotTableId, fieldId, isCollapsed } = params;
* const pivotTable = fWorkbook.getPivotTableById(pivotTableId);
* const fieldSetting = pivotTable.getFieldSetting(fieldId);
* console.log(`The source name ${fieldSetting.sourceName} the display name ${fieldSetting.displayName}`);
* });
* ```
*/
readonly PivotTableFieldCollapseChanged: 'PivotTableFieldCollapseChanged';
/**
* The pivot table field filter changed event. The event parameter is {@link ISetPivotFilterCommandParams}
*
* @example
* ```typescript
* const fWorkbook = univerAPI.getActiveWorkbook();
* univerAPI.addEvent(univerAPI.Event.PivotTableFieldFilterChanged, (params) => {
* const { pivotTableId, fieldId, filter } = params;
* const pivotTable = fWorkbook.getPivotTableById(pivotTableId);
* const fieldSetting = pivotTable.getFieldSetting(fieldId);
* console.log(`The Checklist filter value is ${fieldSetting.filterInfo.checklist}`);
* });
* ```
*/
readonly PivotTableFieldFilterChanged: 'PivotTableFieldFilterChanged';
/**
* The pivot table field sort changed event. The event parameter is {@link ISetPivotSortCommandParams}
*
* @example
* ```typescript
* const fWorkbook = univerAPI.getActiveWorkbook();
* univerAPI.addEvent(univerAPI.Event.PivotTableFieldSortChanged, (params) => {
* const { pivotTableId, fieldId, sort } = params;
* const pivotTable = fWorkbook.getPivotTableById(pivotTableId);
* const fieldSetting = pivotTable.getFieldSetting(fieldId);
* console.log(`The sort info is ${fieldSetting.sortInfo}`);
* });
* ```
*/
readonly PivotTableFieldSortChanged: 'PivotTableFieldSortChanged';
/**
* The pivot table field setting changed event. The event parameter is {@link IUpdatePivotFieldSettingCommandParams}
*
* @example
* ```typescript
* const fWorkbook = univerAPI.getActiveWorkbook();
* univerAPI.addEvent(univerAPI.Event.PivotTableFieldSettingChanged, (params) => {
* const { pivotTableId, fieldId, setting } = params;
* const pivotTable = fWorkbook.getPivotTableById(pivotTableId);
* const fieldSetting = pivotTable.getFieldSetting(fieldId);
* console.log(`The source name ${fieldSetting.sourceName} the display name ${fieldSetting.displayName}`);
* });
* ```
*/
readonly PivotTableFieldSettingChanged: 'PivotTableFieldSettingChanged';
/**
* The pivot table value position changed event. The event parameter is {@link IUpdatePivotValuePositionCommandParams}
*
* @example
* ```typescript
* const fWorkbook = univerAPI.getActiveWorkbook();
* univerAPI.addEvent(univerAPI.Event.PivotTableValuePositionChanged, (params) => {
* const { pivotTableId, valueId, position } = params;
* const pivotTable = fWorkbook.getPivotTableById(pivotTableId);
* const valueSetting = pivotTable.getValueSetting(valueId);
* console.log(`The source name ${valueSetting.sourceName} the display name ${valueSetting.displayName}`);
* });
* ```
*/
readonly PivotTableValuePositionChanged: 'PivotTableValuePositionChanged';
}
/**
* @ignore
*/
export interface IPivotTableEventParamConfig {
/**
* The event parameter for the PivotTableAdded event. {@link IPivotTableAddedEventParams}
*/
PivotTableAdded: IPivotTableAddedEventParams & IEventBase;
/**
* The event parameter for the BeforePivotTableAdd event. {@link IPivotTableAddedEventParams}
*/
BeforePivotTableAdd: IPivotTableAddedEventParams & IEventBase;
/**
* The event parameter for the BeforePivotTableMove event. {@link IPivotTableMovedEventParams}
*/
BeforePivotTableMove: IPivotTableMovedEventParams & IEventBase;
/**
* The event parameter for the PivotTableMoved event. {@link IPivotTableMovedEventParams}
*/
PivotTableMoved: IPivotTableMovedEventParams & IEventBase;
/**
* The event parameter for the PivotTableRendered event. {@link IPivotTableRenderedEventParams}
*/
PivotTableRendered: IPivotTableRenderedEventParams & IEventBase;
/**
* The event parameter for the PivotTableRemoved event. {@link IPivotTableRemovedEventParams}
*/
PivotTableRemoved: IPivotTableRemovedEventParams & IEventBase;
/**
* The event parameter for the PivotTableFieldAdded event. {@link IAddPivotFieldCommandParams}
*/
PivotTableFieldAdded: IAddPivotFieldCommandParams & IEventBase;
/**
* The event parameter for the PivotTableFieldRemoved event. {@link IRemovePivotFieldCommandParams}
*/
PivotTableFieldRemoved: IRemovePivotFieldCommandParams & IEventBase;
/**
* The event parameter for the PivotTableFieldMoved event. {@link IMovePivotFieldCommandParams}
*/
PivotTableFieldMoved: IMovePivotFieldCommandParams & IEventBase;
/**
* The event parameter for the PivotTableFieldCollapseChanged event. {@link ISetPivotCollapseCommandParams}
*/
PivotTableFieldCollapseChanged: ISetPivotCollapseCommandParams & IEventBase;
/**
* The event parameter for the PivotTableFieldFilterChanged event. {@link ISetPivotFilterCommandParams}
*/
PivotTableFieldFilterChanged: ISetPivotFilterCommandParams & IEventBase;
/**
* The event parameter for the PivotTableFieldSortChanged event. {@link ISetPivotSortCommandParams}
*/
PivotTableFieldSortChanged: ISetPivotSortCommandParams & IEventBase;
/**
* The event parameter for the PivotTableFieldSettingChanged event. {@link IUpdatePivotFieldSettingCommandParams}
*/
PivotTableFieldSettingChanged: IUpdatePivotFieldSettingCommandParams & IEventBase;
/**
* The event parameter for the PivotTableValuePositionChanged event. {@link IUpdatePivotValuePositionCommand
*/
PivotTableValuePositionChanged: IUpdatePivotValuePositionCommandParams & IEventBase;
}
export declare class FPivotTableEvent extends FEventName implements IPivotTableEventMixin {
get PivotTableAdded(): 'PivotTableAdded';
get BeforePivotTableAdd(): 'BeforePivotTableAdd';
get PivotTableRemoved(): 'PivotTableRemoved';
get PivotTableMoved(): 'PivotTableMoved';
get PivotTableRendered(): 'PivotTableRendered';
get PivotTableFieldAdded(): 'PivotTableFieldAdded';
get PivotTableFieldRemoved(): 'PivotTableFieldRemoved';
get PivotTableFieldMoved(): 'PivotTableFieldMoved';
get PivotTableFieldCollapseChanged(): 'PivotTableFieldCollapseChanged';
get PivotTableFieldFilterChanged(): 'PivotTableFieldFilterChanged';
get PivotTableFieldSortChanged(): 'PivotTableFieldSortChanged';
get PivotTableFieldSettingChanged(): 'PivotTableFieldSettingChanged';
get PivotTableValuePositionChanged(): 'PivotTableValuePositionChanged';
}
declare module '@univerjs/core/facade' {
interface FEventName extends IPivotTableEventMixin {
}
interface IEventParamConfig extends IPivotTableEventParamConfig {
}
}
export {};