@visactor/vchart
Version:
charts lib based @visactor/VGrammar
82 lines (81 loc) • 3.48 kB
TypeScript
import type { IPoint, Datum, StateValueType } from '../../typings';
import type { IModelLayoutOption } from '../../model/interface';
import { PolarSeries } from '../polar/polar';
import type { IArcMark, IMark, IPathMark, ITextMark } from '../../mark/interface';
import { MarkTypeEnum } from '../../mark/interface/type';
import type { IArcSeries, SeriesMarkMap } from '../interface';
import { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface/type';
import type { IBasePieSeriesSpec, IPieSeriesSpec } from './interface';
import { SeriesData } from '../base/series-data';
import { PieSeriesSpecTransformer } from './pie-transformer';
export declare class BasePieSeries<T extends IBasePieSeriesSpec> extends PolarSeries<T> implements IArcSeries {
static readonly transformerConstructor: any;
readonly transformerConstructor: typeof PieSeriesSpecTransformer;
protected _pieMarkName: SeriesMarkNameEnum;
protected _pieMarkType: MarkTypeEnum;
static readonly mark: SeriesMarkMap;
protected _viewDataLabel: SeriesData;
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;
initInteraction(): void;
protected initTooltip(): void;
initMarkStyleWithSpec(mark?: IMark, spec?: any, key?: string): void;
initLabelMarkStyle(textMark: ITextMark): void;
afterInitMark(): void;
initEvent(): void;
initGroups(): void;
onLayoutEnd(ctx: IModelLayoutOption): 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;