@sheetxl/models
Version:
Models - A Headless javascript spreadsheet library.
67 lines • 2.56 kB
TypeScript
import { CellRangeCoords, RemoveListener } from "@sheetxl/common";
import { SerializableProperties } from "../primitives";
import { TransactionStore, ITransaction } from "../transaction";
import { ISheetStyle, ITableStyle } from '..';
import { ITableModel, AutoFilter, TableColumn, TableStyleInfo, TableModelValues, UpdateTableModelOptions, ITableModelListener } from "./ITableModel";
export interface TableModelOptions {
/**
* A transaction store that can be used to undo/redo changes to the table.
*/
transactionStore?: TransactionStore;
sheetStyle?: ISheetStyle;
defaultTableStyle?: TableStyleInfo;
initialJSON?: SerializableProperties<TableModelValues>;
}
/**
* Default TableModel
*/
export declare class TableModel implements ITableModel {
private _listeners;
private _options;
private _transactionStore;
private _transactionStoreRemoveListener;
private _closed;
private _sheetStyle;
private _sheetStyleRemoveListener;
private _styleCache;
constructor(options: TableModelOptions);
getTableStyle(): ITableStyle;
update(values: TableModelValues, options?: UpdateTableModelOptions): void;
insertRows(_offset: number, count: number): void;
removeRows(_offset: number, count: number): void;
insertColumns(offset: number, count: number): void;
removeColumns(offset: number, count: number): void;
get name(): string;
set name(newValue: string);
get ref(): CellRangeCoords;
set ref(newValue: CellRangeCoords);
get displayName(): string;
set displayName(newValue: string);
get headerRowCount(): number;
set headerRowCount(newValue: number);
get totalsRowCount(): number;
set totalsRowCount(newValue: number);
get autoFilter(): AutoFilter;
set autoFilter(newValue: AutoFilter);
get sortState(): any;
set sortState(newValue: any);
get columns(): TableColumn[];
set columns(newValue: TableColumn[]);
get styleInfo(): TableStyleInfo;
set styleInfo(newValue: TableStyleInfo);
private _modifyTable;
pushTransaction(description?: string): ITransaction;
private _getTransactionState;
private _pushTransaction;
private _updateTransactionState;
toJSON(): SerializableProperties<ITableModel> | null;
private _fromJSON;
notifyOnTableChange(): void;
notifyOnClose(): void;
addListener(listener: ITableModelListener): RemoveListener;
isClosed(): boolean;
close(): void;
get isModelTable(): true;
}
export default TableModel;
//# sourceMappingURL=TableModel.d.ts.map