@sheetxl/models
Version:
Models - A Headless javascript spreadsheet library.
129 lines • 5.79 kB
TypeScript
import { RemoveListener, CellRangeCoords, CellCoords } from "@sheetxl/common";
import { TransactionStore, ITransaction } from "../transaction";
import { ISheetStyle, ICellModel, ICellValue, CellUpdateValue, SetCellOptions } from "../cell";
import { SheetCellCoords, SheetCellRangeCoords, SheetCellCoordsAddress, SheetCellRangeCoordsAddress, SheetCellRangeCoordsAddresses } from "../range";
import { INamedItems } from "../named";
import { FunctionDescriptorAndScript } from "../formula";
import { ISharedResourceCollection } from "../resource";
import { ISheetModel, ISheetRangeUpdate, RangeListenerOptions, ReplaceCellOptions } from "../sheet/ISheetModel";
import { WorkbookJSON, IWorkbookModel, IWorkbookModelListener, IWorkbookRangeListener, SheetKey, IWorkbookModelOptions, SheetRef, SheetVisibility, WorkbookProtection, IWorkbookRange, FindWorkbookCellOptions, SheetCoordsValuePair } from "./IWorkbookModel";
import { IDocTheme } from "../theme";
import { IWorkbookView } from "./IWorkbookView";
/**
* The Base Workbook implementation
*/
declare class WorkbookModel implements IWorkbookModel {
private _options;
private _sheetCreator;
private _sheetNameCreator;
private _transactionStore;
private _transactionStoreRemoveListener;
private _namedRanges;
private _descriptorAndScript;
private _listeners;
private _listenersSheets;
private _theme;
private _sheetStyle;
private _sharedResources;
private _sheetRefsAll;
private _sheetRefsVisibleAndHidden;
private _sheetRefsVisible;
private _refsById;
private _sheetsById;
private _refsByLowerCaseName;
private _sheetsByLowerCaseName;
private _refsByInstance;
private _lastId;
private _sheetNames;
private _view;
private _protection;
private _listenerWorkbookView;
private _is1904DateSystem;
private _activeSheetOffset;
private _closed;
private _sheetsCreated;
constructor(initialState?: WorkbookJSON | ISheetRangeUpdate | ICellValue[][], options?: IWorkbookModelOptions);
private _initialize;
getView(): IWorkbookView;
setView(view: IWorkbookView): void;
is1904DateSystem(): boolean;
set1904DateSystem(is1904Date: boolean): void;
sheetStyle(): ISheetStyle;
getResources(): ISharedResourceCollection;
getTheme(): IDocTheme;
getTransactionStore(): TransactionStore;
setTheme(theme: IDocTheme): IDocTheme;
getSheetRefs(visibility?: SheetVisibility): SheetRef[];
getSheet(key?: SheetKey): ISheetModel;
getSheetRef(key: SheetKey, visibility?: SheetVisibility): SheetRef;
getSheetRefById(id: number): SheetRef;
private _validateSheetName;
getSheetNames(): string[];
findValidSheetName(str: string): string;
addSheet(sheetName?: string, index?: number): ISheetModel;
private _updateSheetRefStates;
private _addSheetRef;
private _adjustRemoveSelectionIfRequired;
private _adjustSheetNamesIfRequired;
private _validateDeleteSheet;
deleteSheet(key: SheetKey): ISheetModel;
private _findOffsetForId;
getActiveAddressCoordsA1(): string;
getActiveAddressCoords(): SheetCellCoords;
getActiveSheetIndex(): number;
private _scanFind;
find(findText: string, options?: FindWorkbookCellOptions): SheetCoordsValuePair<ICellModel> | null;
replace(findText: string, replaceText: string, options: ReplaceCellOptions): {
next: SheetCellCoordsAddress;
count: number;
};
private _nextSheetIndex;
private _prevSheetIndex;
activateNextSheet(): ISheetModel;
activatePreviousSheet(): ISheetModel;
duplicateSheet(key?: SheetKey): Promise<ISheetModel>;
getCell(address?: SheetCellCoordsAddress): ICellModel;
setCell(address: SheetCellCoordsAddress, value: CellUpdateValue, options?: SetCellOptions): ICellModel;
getRange(address?: SheetCellRangeCoordsAddress): IWorkbookRange;
decodeAddress(address: SheetCellRangeCoordsAddresses | SheetCellRangeCoordsAddress | SheetCellCoords | CellRangeCoords | CellCoords): SheetCellRangeCoords[];
private _updateSheetRef;
/**
* Fires onSheetRefsChange
*/
setSheetName(key: SheetKey, sheetName: string): ISheetModel;
/**
* Fires onSheetRefsChange
*/
setSheetVisibility(key: SheetKey, visibility: SheetVisibility): ISheetModel;
moveSheet(indexFrom: number, indexTo: number): ISheetModel;
setActiveSheet(key: SheetKey): ISheetModel;
getProtection(): Readonly<WorkbookProtection>;
private _defaultProtection;
setProtection(protection: Partial<WorkbookProtection>): void;
getNamedItems(): INamedItems;
getUserDefinedFunctions(): FunctionDescriptorAndScript;
setUserDefinedFunctions(descriptorAndScript: FunctionDescriptorAndScript): void;
notifyProtectionChange(update: WorkbookProtection): void;
notifyCellChange(): void;
notifySheetRefsChange(update?: SheetRef[] | null): void;
notifyThemeChange(update?: IDocTheme | null): void;
notifyViewChange(update?: IWorkbookView | null): void;
notifyAllChange(): void;
addListener(listener: IWorkbookModelListener): RemoveListener;
private _sheetRangeToWorkbookRange;
addRangeListener(address: SheetCellRangeCoordsAddress, listener: IWorkbookRangeListener, options?: RangeListenerOptions): RemoveListener;
fromJSON(json: WorkbookJSON): void;
private _fromJSON;
toJSON(): Promise<WorkbookJSON>;
isClosed(): boolean;
close(): void;
pushTransaction(description?: string): ITransaction;
private _getTransactionState;
private _pushTransaction;
private _updateTransactionState;
get options(): IWorkbookModelOptions;
get isIWorkbookModel(): true;
}
export default WorkbookModel;
export { WorkbookModel };
//# sourceMappingURL=WorkbookModel.d.ts.map