@antv/s2
Version:
effective spreadsheet render core lib
55 lines (54 loc) • 2.02 kB
TypeScript
import { FederatedPointerEvent as GEvent } from '@antv/g';
import { type PartDrillDownDataCache, type S2Options } from '../../common';
import type { Node } from '../../facet/layout/node';
import type { SpreadSheet } from '../../sheet-type';
import type { PartDrillDown, PartDrillDownInfo } from '../interface';
export interface DrillDownParams {
rows: string[];
drillFields: string[];
spreadsheet: SpreadSheet;
drillItemsNum?: number;
fetchData?: (meta: Node, drillFields: string[]) => Promise<PartDrillDownInfo>;
}
export type ActionIconCallbackParams = {
sheetInstance: SpreadSheet;
cacheDrillFields?: string[];
disabledFields?: string[];
event?: GEvent;
};
/** 下钻 icon 点击回调 */
export type ActionIconCallback = (params: ActionIconCallbackParams) => void;
export interface ActionIconParams {
meta: Node;
event?: GEvent;
callback: ActionIconCallback;
}
/**
* 获取下钻缓存
* @param spreadsheet
* @param meta
*/
export declare const getDrillDownCache: (spreadsheet: SpreadSheet, meta: Node) => {
drillDownDataCache: PartDrillDownDataCache[];
drillDownCurrentCache: PartDrillDownDataCache | undefined;
};
/**
* 点击下钻Icon的响应
* @param params
*/
export declare const handleActionIconClick: (params: ActionIconParams) => void;
/**
* 下钻 icon 默认展示规则
* @param meta 节点
* @returns
*/
export declare const defaultPartDrillDownDisplayCondition: (meta: Node) => boolean;
/**
* 构造下钻功能的 s2 options
* @param options 原始 options
* @param partDrillDown 下钻参数
* @param callback 下钻点击事件
* @returns 新 options
*/
export declare const buildDrillDownOptions: <T extends Omit<S2Options<import("../../common").TooltipContentType, import("../../common").Pagination, import("../../common").BaseTooltipOperatorMenuOptions>, "tooltip">>(options: T, partDrillDown: PartDrillDown, callback: ActionIconCallback) => T;
export declare const handleDrillDown: (params: DrillDownParams) => void;