@visactor/vchart
Version:
charts lib based @visactor/VGrammar
84 lines (83 loc) • 3.51 kB
TypeScript
import type { IPoint, Datum, StateValueType } from '../../typings';
import { PolarSeries } from '../polar/polar';
import type { IArcMark, IMark, IPathMark, ITextMark } from '../../mark/interface';
import type { IArcSeries, SeriesMarkMap } from '../interface';
import { SeriesTypeEnum } from '../interface/type';
import type { IBasePieSeriesSpec, IPieSeriesSpec, IPieSeriesTheme } from './interface';
import { PieSeriesSpecTransformer } from './pie-transformer';
import type { ICompilableData } from '../../compile/data';
export declare class BasePieSeries<T extends IBasePieSeriesSpec> extends PolarSeries<T> implements IArcSeries {
static readonly transformerConstructor: any;
readonly transformerConstructor: typeof PieSeriesSpecTransformer;
protected _pieMarkName: string;
protected _pieMarkType: string;
static readonly mark: SeriesMarkMap;
static readonly builtInTheme: Record<string, IPieSeriesTheme>;
protected _viewDataLabel: ICompilableData;
getCenter: () => IPoint;
protected _centerOffset: number;
protected _cornerRadius: number;
protected _startAngle: number;
protected _endAngle: number;
protected _padAngle: number;
protected _pieMark: IArcMark | null;
protected _labelMark: ITextMark | null;
protected _labelLineMark: IPathMark | null;
protected _showEmptyCircle: boolean;
protected _emptyArcMark: IArcMark | null;
protected _showAllZero: boolean;
protected _supportNegative: boolean;
protected _buildMarkAttributeContext(): void;
setAttrFromSpec(): void;
initData(): void;
compileData(): void;
initMark(): void;
private startAngleScale;
private endAngleScale;
protected _computeLayoutRadius(): number;
initMarkStyle(): void;
getInteractionTriggers(): {
trigger: Partial<import("../../interaction/interface/trigger").IBaseTriggerOptions>;
marks: IMark[];
}[];
protected initTooltip(): void;
initMarkStyleWithSpec(mark?: IMark, spec?: any): void;
initLabelMarkStyle(textMark: ITextMark): void;
afterInitMark(): void;
initEvent(): void;
initGroups(): void;
onLayoutEnd(): void;
getDimensionField(): string[];
getMeasureField(): string[];
private viewDataLabelUpdate;
protected generateRadiusStyle(spec: any): any;
computeCenter(datum: Datum): IPoint;
getRadius(state?: StateValueType): number;
getInnerRadius(state?: StateValueType): number;
computeRadius(r: number, k?: number): number;
computeDatumRadius(datum: Datum, state?: string): number;
_compareSpec(spec: T, prevSpec: T, ignoreCheckKeys?: {
[key: string]: true;
}): {
change: boolean;
reMake: boolean;
reRender: boolean;
reSize: boolean;
reCompile: boolean;
};
computeDatumInnerRadius(datum: Datum, state?: string): number;
dataToPosition(datum: Datum, checkInViewData?: boolean): IPoint | null;
dataToCentralPosition: (datum: Datum) => IPoint | null;
initAnimation(): void;
getDefaultShapeType(): string;
getGroupFields(): string[];
getStackGroupFields(): string[];
getStackValueField(): string;
protected _noAnimationDataKey(datum: Datum, index: number): number;
getActiveMarks(): IMark[];
}
export declare class PieSeries<T extends IPieSeriesSpec = IPieSeriesSpec> extends BasePieSeries<T> implements IArcSeries {
static readonly type: string;
type: SeriesTypeEnum;
}
export declare const registerPieSeries: () => void;