@visactor/vchart
Version:
charts lib based @visactor/VGrammar
95 lines (94 loc) • 3.63 kB
TypeScript
import type { IFunnelSeries, SeriesMarkMap } from '../interface';
import type { IOrientType, Datum, StringOrNumber } from '../../typings';
import { BaseSeries } from '../base/base-series';
import type { ILabelMark, IMark, IPolygonMark, IRuleMark, ITextMark } from '../../mark/interface';
import type { IFunnelSeriesSpec, IFunnelSeriesTheme } from './interface';
import { FunnelSeriesSpecTransformer } from './funnel-transformer';
import type { ICompilableData } from '../../compile/data';
export declare class FunnelSeries<T extends IFunnelSeriesSpec = IFunnelSeriesSpec> extends BaseSeries<T> implements IFunnelSeries {
static readonly type: string;
type: string;
protected _funnelMarkName: string;
protected _funnelMarkType: string;
protected _transformMarkName: string;
protected _transformMarkType: string;
static readonly mark: SeriesMarkMap;
static readonly builtInTheme: Record<string, IFunnelSeriesTheme>;
static readonly transformerConstructor: any;
readonly transformerConstructor: typeof FunnelSeriesSpecTransformer;
protected _categoryField: string;
getCategoryField(): string;
setCategoryField(f: string): string;
protected _valueField: string;
getValueField(): string;
setValueField(f: string): string;
protected _viewDataTransform: ICompilableData;
protected _funnelAlign: 'left' | 'center' | 'right' | 'top' | 'bottom';
protected _funnelOrient: IOrientType;
protected _shape: 'rect' | 'trapezoid';
protected _funnelMark: IPolygonMark | null;
protected _funnelTransformMark: IPolygonMark | null;
protected _labelMark: ILabelMark | null;
protected _transformLabelMark: ILabelMark | null;
protected _funnelOuterLabelMark: {
label?: ITextMark;
line?: IRuleMark;
};
protected _minLabelLineWidth: number;
setAttrFromSpec(): void;
initData(): void;
compile(): void;
compileData(): void;
getStatisticFields(): {
key: string;
operations: Array<'max' | 'min' | 'values'>;
}[];
protected _statisticViewData(): void;
initMark(): void;
protected initTooltip(): void;
getDimensionField(): string[];
getMeasureField(): string[];
getGroupFields(): string[];
initMarkStyle(): void;
initLabelMarkStyle(labelMark?: ILabelMark): void;
initAnimation(): void;
initGroups(): void;
getStackGroupFields(): string[];
getStackValueField(): string;
protected initEvent(): void;
getPoints(datum: Datum): {
x: number;
y: number;
}[];
isTransformLevel(datum: Datum): boolean;
protected _buildMarkAttributeContext(): void;
valueToPosition(category: StringOrNumber): {
x: number;
y: number;
};
dataToPosition(datum: any, checkInViewData?: boolean): {
x: number;
y: number;
};
dataToPositionX(datum: any): number;
dataToPositionY(datum: any): number;
dataToPositionZ(datum: any): number;
private _getMainAxisLength;
private _getSecondaryAxisLength;
private _getPositionByData;
private _getPolygonPoints;
private _getPolygonCenter;
private _adjustPoints;
private _computeLabelPosition;
private _computeLabelLimit;
private _computeOuterLabelPosition;
private _computeOuterLabelLimit;
private _computeOuterLabelLinePosition;
protected _computeMaxSize(): number;
protected _computeMinSize(): number;
protected _isHorizontal(): boolean;
private _isReverse;
getDefaultShapeType(): string;
getActiveMarks(): IMark[];
}
export declare const registerFunnelSeries: () => void;