UNPKG

@sheetxl/models

Version:

Models - A Headless javascript spreadsheet library.

68 lines 3.31 kB
import { RemoveListener } from "@sheetxl/common"; import { SerializableProperties } from "../primitives"; import { TransactionStore, ITransaction } from "../transaction"; import { IWorkbookRangeListener, IWorkbookModel } from "../workbook"; import { RangeListenerOptions } from "../sheet"; import { SheetCellRangeCoordsAddresses, SheetCellRangeCoordsAddress, SheetCellRangeCoords, SheetCellCoords } from "../range"; import { NamedItem } from "./NamedItem"; import { INamedItems, INamedItemsListener, NamedItemsJSON, NamedRangeItem, NamedItemsSearchOptions } from "./INamedItems"; export interface NamedItemsOptions { /** * Required for resolving ranges. * @param address */ decodeAddress: (address: SheetCellRangeCoordsAddresses) => SheetCellRangeCoords[]; /** * Required for resolving ranges. * @param addresses */ encodeAddress: (addresses: SheetCellRangeCoords) => string; /** * If provided then the named ranges will update when the ranges update. */ addRangeListener?: (address: SheetCellRangeCoordsAddress, listener: IWorkbookRangeListener, options?: RangeListenerOptions) => RemoveListener; /** * A transaction store that can be used to undo/redo changes to the namedRanges. */ transactionStore?: TransactionStore; workbook?: IWorkbookModel; initialJSON?: NamedItemsJSON; } export declare const REGEX_INVALID_NAME_FIRST_CHARS: RegExp; export declare const REGEX_INVALID_NAME_TRAILING_CHARS: RegExp; export declare class NamedItems implements INamedItems { private _listeners; private _options; private _transactionStore; private _transactionStoreRemoveListener; private _closed; constructor(options: NamedItemsOptions); search(options: NamedItemsSearchOptions): NamedItem[]; lookupByName(name: string, anchor: SheetCellCoords): NamedItem | null; lookupByRanges(ranges: SheetCellRangeCoords[]): NamedItem[] | null; decodeAddress(address: SheetCellRangeCoordsAddresses): SheetCellRangeCoords[] | null; findValidateName(ranges: SheetCellRangeCoords[], scope?: string, template?: string, replaceHidden?: boolean): string; validateNamedItem(namedRangeItem: SerializableProperties<NamedRangeItem>, scope?: string, replaceHidden?: boolean): void; _validateSheetAddress(address: string): void; _validateRangeName(name: string, scope: string, replaceHidden?: boolean): void; addNamedRange(namedRange: SerializableProperties<NamedRangeItem> | string, replaceHidden?: boolean): NamedRangeItem; updateNamedRange(name: string, namedRange: SerializableProperties<NamedRangeItem>): NamedRangeItem; deleteNamedRange(namedRange: NamedRangeItem | string): NamedRangeItem | null; private _indexRange; private _addNamedItems; pushTransaction(description?: string): ITransaction; private _getTransactionState; private _pushTransaction; private _updateTransactionState; notifyNamedItemsChange(): void; notifyOnClose(): void; fromJSON(json: NamedItemsJSON): void; private _fromJSON; toJSON(): NamedItemsJSON | null; addListener(listener: INamedItemsListener): RemoveListener; isClosed(): boolean; close(): void; get isNamedItems(): true; } export default NamedItems; //# sourceMappingURL=NamedItems.d.ts.map