@sheetxl/models
Version:
Models - A Headless javascript spreadsheet library.
51 lines • 2.12 kB
TypeScript
import PropertyPersister from "../dagm/PropertyPersister";
import { IRange, RangeDirection, RangeVisitor, RangeBounds } from "./Range";
export interface IMultiRange extends IRange {
asRanges: () => IRange[];
readonly isMultiRange: boolean;
}
export declare const sortRanges: (ranges: IRange[]) => IRange[];
export declare class AlignedMultiRange implements IMultiRange {
_aligned: {
inputRanges: IRange[];
ranges: IRange[][];
width: number;
height: number;
left: number;
top: number;
bottom: number;
right: number;
columnOffsets: number[];
columnLengths: number[];
rowOffsets: number[];
rowLengths: number[];
sheetName?: string;
};
constructor(input: IRange[] | IRange);
get width(): number;
get height(): number;
get left(): number;
get leftFixed(): boolean;
get top(): number;
get topFixed(): boolean;
get bottom(): number;
get bottomFixed(): boolean;
get right(): number;
get rightFixed(): boolean;
get sheetName(): string;
get isMultiRange(): boolean;
get isCellRange(): boolean;
scan(visitor: RangeVisitor, bounds?: RangeBounds): void;
subRange(left: number, top: number, right: number, bottom: number): IRange | null;
slice(index: number, direction?: RangeDirection): IRange | null;
asRanges(): IRange[];
toString(): string;
}
export declare const parseRangeSelection: (input: IRange[] | IRange | string | string[] | IMultiRange, forceFixed?: boolean) => IRange[] | IRange | null;
export declare const createRangeSelection: (input: IRange[] | IRange | string | string[] | IMultiRange, singleLength?: boolean, alignRanges?: boolean, forceFixed?: boolean) => IRange[] | IRange | null;
export declare const createRangeSelectionSetter: (singleLength?: boolean, alignRanges?: boolean, forceFixed?: boolean) => (value: any) => any;
export declare class RangeSelectionPersister extends PropertyPersister {
toJSON(value: any): any;
fromJSON(jsonValue: any): IRange | IRange[];
}
//# sourceMappingURL=MultiRange.d.ts.map