@antv/s2
Version:
effective spreadsheet render core lib
91 lines (90 loc) • 3.37 kB
TypeScript
import type { Group } from '@antv/g';
import type { DataCell } from '../../cell';
import { MergedCell } from '../../cell/merged-cell';
import type { MergedCellCallback, MergedCellInfo, TempMergedCell, ViewMeta } from '../../common/interface';
import type { SpreadSheet } from '../../sheet-type';
/**
* get cells on the outside of visible area through mergeCellInfo
* @param invisibleCellInfo
* @param sheet
*/
export declare const getInvisibleInfo: (invisibleCellInfo: MergedCellInfo[], sheet: SpreadSheet) => {
cells: DataCell[];
cellsMeta: ViewMeta | null | undefined;
};
/**
* get { cells, invisibleCellInfo, cellsMeta } in the inside of visible area through mergeCellInfo
* @param cellsInfos
* @param allVisibleCells
* @returns { cells, invisibleCellInfo, cellsMeta }
*/
export declare const getVisibleInfo: (cellsInfos: MergedCellInfo[], allVisibleCells: DataCell[]) => {
cells: DataCell[];
invisibleCellInfo: MergedCellInfo[];
cellsMeta: Node | ViewMeta | undefined;
};
/**
* get the data cell and meta that make up the mergedCell
* @param cellsInfos
* @param allVisibleCells
* @param sheet
*/
export declare const getTempMergedCell: (allVisibleCells: DataCell[], sheet?: SpreadSheet, cellsInfos?: MergedCellInfo[]) => TempMergedCell;
/**
* get the active cells' info as the default info of merged cells
* @param sheet
*/
export declare const getActiveCellsInfo: (sheet: SpreadSheet) => MergedCellInfo[];
/**
* 创建 merged cell 实例
* @param spreadsheet 表格实例
* @param cells 待合并的单元格
* @param meta 元信息
* @returns
*/
export declare const getMergedCellInstance: MergedCellCallback;
/**
* draw the background of the merged cell
* @param sheet the base sheet instance
* @param cellsInfo
* @param hideData
*/
export declare const mergeCell: (sheet: SpreadSheet, cellsInfo?: MergedCellInfo[], hideData?: boolean) => void;
/**
* remove unmergedCells Info, return new mergedCell info
* @param removeMergedCell
* @param mergedCellsInfo
*/
export declare const removeUnmergedCellsInfo: (removeMergedCell: MergedCell, mergedCellsInfo: MergedCellInfo[][]) => MergedCellInfo[][];
/**
* unmerge MergedCell
* @param removedCell
* @param sheet
*/
export declare const unmergeCell: (sheet: SpreadSheet, removedCell: MergedCell) => void;
/**
* 合并 TempMergedCell, 通过 cell.viewMeta.id 判断 TempMergedCell 是否是同一个。
* @param TempMergedCells
* @param otherTempMergedCells
*/
export declare const mergeTempMergedCell: (TempMergedCells: TempMergedCell[], otherTempMergedCells: TempMergedCell[]) => TempMergedCell[];
/**
* 将 MergedCell 转换成 TempMergedCell
* @param oldMergedCells
* @constructor
*/
export declare const mergedCellConvertTempMergedCells: (oldMergedCells: MergedCell[]) => {
cells: DataCell[];
viewMeta: ViewMeta;
}[];
/**
* 对比两个TempMergedCell,返回 mainTempMergedCells 中存在的,但是 otherTempMergedCells 中不存在的的 TempMergedCell
* @param mainTempMergedCells
* @param compareTempMergedCells
*/
export declare const differenceTempMergedCells: (mainTempMergedCells: TempMergedCell[], compareTempMergedCells: TempMergedCell[]) => TempMergedCell[];
/**
* update the mergedCell
* @param sheet the base sheet instance
*/
export declare const updateMergedCells: (sheet: SpreadSheet, mergedCellsGroup: Group) => void;