@sheetxl/models
Version:
Models - A Headless javascript spreadsheet library.
65 lines • 2.78 kB
TypeScript
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