UNPKG

@sheetxl/models

Version:

Models - A Headless javascript spreadsheet library.

65 lines 2.78 kB
import { RangeDirection, IRange } from "../range/Range"; import { IMultiRange } from "../range/MultiRange"; export declare const joinRanges: (ranges: IRange[][] | null) => IRange[] | false; type RangeFinder = (offset: number) => IRange | IMultiRange | IRange[] | IMultiRange[] | null; export declare const collectRangeArrays: (ranges: any[], rangeInput: IRange | IMultiRange | IRange[] | IMultiRange[]) => void; export declare const collectRanges: (length: number, rangeFunc: RangeFinder) => IRange[]; export declare function deriveSeriesDirection(seriesLength: number, firstValRange: IRange, firstTitleRange: IRange, firstXRange: IRange): RangeDirection; /** * This is a condensed version of the IChartSelection. That show * the various ranges and a minimum set of range selections. * This is useful for displaying the entire charts selections. * Note - * This only works for simple ranges or aligned ranges. * (This is consistent with ms office). If it is a non-aligned * set of ranges it returns an empty set. */ export interface IChartSelectionSummary { xRanges: IRange[]; valRanges: IRange[]; sizeRanges: IRange[]; titleRanges: IRange[]; seriesDirection: RangeDirection; seriesLength: number; } export declare const generateChartSelectionSummary: (chartSelection: IChartSelection) => IChartSelectionSummary; export interface IChartSelection { direction: RangeDirection; /** * Returns a stringified version of of a seriesFormula. */ toString: () => string; readonly seriesDirection: RangeDirection; readonly axisDirection: RangeDirection; readonly seriesLength: number; getXRange: () => IRange | null; getValRangeAt: (offset: number) => IRange | null; getSizeRangeAt: (offset: number) => IRange | null; getTitleRangeAt: (offset: number) => IRange | null; } export default class ChartSelection implements IChartSelection { _private: { inputRanges?: IRange[]; sheet?: any; transposed: boolean; mainType: string; seriesDirection: RangeDirection; axisDirection: RangeDirection; axisRange: IRange; seriesXByOffset: IRange[]; seriesValByOffset: IRange[]; seriesTitleByOffset: IRange[]; }; constructor(input: IRange[] | IRange | null, sheet: any, transposed?: boolean, mainType?: string); getXRange(): IRange | null; getValRangeAt(offset: number): IRange | null; getSizeRangeAt(_offset: number): IRange | null; getTitleRangeAt(offset: number): IRange | null; get seriesDirection(): RangeDirection; get axisDirection(): RangeDirection; get seriesLength(): number; get direction(): RangeDirection; toString(): string; } export {}; //# sourceMappingURL=ChartSelection.d.ts.map