UNPKG

@fortune-sheet/core

Version:

FortuneSheet is a drop-in javascript spreadsheet library that provides rich features like Excel and Google Sheets

179 lines (178 loc) 6.06 kB
import { SheetConfig } from "."; import { FormulaCache } from "./modules"; import { Hooks } from "./settings"; import { Sheet, Selection, Cell, CommentBox, Rect, Image, Presence, LinkCardProps, FilterOptions, RangeDialogProps, DataRegulationProps, ConditionRulesProps, GlobalCache } from "./types"; interface MutableRefObject<T> { current: T; } declare type RefValues = { globalCache: GlobalCache; cellInput: MutableRefObject<HTMLDivElement | null>; fxInput: MutableRefObject<HTMLDivElement | null>; canvas: MutableRefObject<HTMLCanvasElement | null>; cellArea: MutableRefObject<HTMLDivElement | null>; workbookContainer: MutableRefObject<HTMLDivElement | null>; }; export declare type Context = { luckysheetfile: Sheet[]; defaultcolumnNum: number; defaultrowNum: number; addDefaultRows: number; fullscreenmode: boolean; devicePixelRatio: number; commentBoxes?: CommentBox[]; editingCommentBox?: CommentBox; hoveredCommentBox?: CommentBox; insertedImgs?: Image[]; editingInsertedImgs?: Image; activeImg?: string; presences?: Presence[]; showSearch?: boolean; showReplace?: boolean; linkCard?: LinkCardProps; rangeDialog?: RangeDialogProps; warnDialog?: string; dataVerification?: { selectStatus: boolean; selectRange: []; optionLabel_en: any; optionLabel_zh: any; optionLabel_zh_tw: any; optionLabel_es: any; dataRegulation?: DataRegulationProps; }; dataVerificationDropDownList?: boolean; conditionRules: ConditionRulesProps; contextMenu: { x?: number; y?: number; headerMenu?: boolean; pageX?: number; pageY?: number; }; sheetTabContextMenu: { x?: number; y?: number; sheet?: Sheet; onRename?: () => void; }; filterContextMenu?: { x: number; y: number; col: number; startRow: number; endRow: number; startCol: number; endCol: number; hiddenRows: number[]; listBoxMaxHeight: number; }; currentSheetId: string; calculateSheetId: string; config: SheetConfig; visibledatarow: number[]; visibledatacolumn: number[]; ch_width: number; rh_height: number; cellmainWidth: number; cellmainHeight: number; toolbarHeight: number; infobarHeight: number; calculatebarHeight: number; rowHeaderWidth: number; columnHeaderHeight: number; cellMainSrollBarSize: number; sheetBarHeight: number; statisticBarHeight: number; luckysheetTableContentHW: number[]; defaultcollen: number; defaultrowlen: number; scrollLeft: number; scrollTop: number; sheetScrollRecord: Record<string, any>; luckysheet_select_status: boolean; luckysheet_select_save: Sheet["luckysheet_select_save"]; luckysheet_selection_range: Sheet["luckysheet_selection_range"]; formulaRangeHighlight: ({ rangeIndex: number; backgroundColor: string; } & Rect)[]; formulaRangeSelect: ({ rangeIndex: number; } & Rect) | undefined; functionCandidates: any[]; functionHint: string | null | undefined; luckysheet_copy_save?: { dataSheetId: string; copyRange: { row: number[]; column: number[]; }[]; RowlChange: boolean; HasMC: boolean; }; luckysheet_paste_iscut: boolean; filterchage: boolean; filterOptions?: FilterOptions; luckysheet_filter_save?: { row: number[]; column: number[]; } | undefined; filter: Record<string, { caljs: any; rowhidden: Record<string, number>; optionstate: boolean; str: number; edr: number; cindex: number; stc: number; edc: number; }>; luckysheet_sheet_move_status: boolean; luckysheet_sheet_move_data: any[]; luckysheet_scroll_status: boolean; luckysheetcurrentisPivotTable: boolean; luckysheet_rows_selected_status: boolean; luckysheet_cols_selected_status: boolean; luckysheet_rows_change_size: boolean; luckysheet_rows_change_size_start: any[]; luckysheet_cols_change_size: boolean; luckysheet_cols_change_size_start: any[]; luckysheet_cols_freeze_drag: boolean; luckysheet_rows_freeze_drag: boolean; luckysheetCellUpdate: any[]; luckysheet_shiftkeydown: boolean; luckysheet_shiftpositon: Selection | undefined; iscopyself: boolean; orderbyindex: number; luckysheet_model_move_state: boolean; luckysheet_model_xy: number[]; luckysheet_model_move_obj: any; luckysheet_cell_selected_move: boolean; luckysheet_cell_selected_move_index: any[]; luckysheet_cell_selected_extend: boolean; luckysheet_cell_selected_extend_index: any[]; lang: string | null; chart_selection: any; zoomRatio: number; showGridLines: boolean; allowEdit: boolean; fontList: any[]; defaultFontSize: number; luckysheetPaintModelOn: boolean; luckysheetPaintSingle: boolean; defaultCell: Cell; groupValuesRefreshData: any[]; formulaCache: FormulaCache; hooks: Hooks; showSheetList?: Boolean; forceFormulaRef?: Boolean; getRefs: () => RefValues; }; export declare function defaultContext(refs: RefValues): Context; export declare function getFlowdata(ctx?: Context, id?: string | null): import("./types").CellMatrix | null | undefined; export declare function ensureSheetIndex(data: Sheet[], generateSheetId: () => string): void; export declare function initSheetIndex(ctx: Context): void; export declare function updateContextWithSheetData(ctx: Context, data: any[][]): void; export declare function updateContextWithCanvas(ctx: Context, canvas: HTMLCanvasElement, placeholder: HTMLDivElement): void; export {};