1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- import SeriesModel from '../../model/Series.js';
- import { SeriesOption, CallbackDataParams, CircleLayoutOptionMixin, LabelLineOption, ItemStyleOption, BoxLayoutOptionMixin, OptionDataValueNumeric, SeriesEncodeOptionMixin, OptionDataItemObject, StatesOptionMixin, SeriesLabelOption, DefaultEmphasisFocus } from '../../util/types.js';
- import SeriesData from '../../data/SeriesData.js';
- interface PieItemStyleOption<TCbParams = never> extends ItemStyleOption<TCbParams> {
- borderRadius?: (number | string)[] | number | string;
- }
- export interface PieCallbackDataParams extends CallbackDataParams {
- percent: number;
- }
- export interface PieStateOption<TCbParams = never> {
- itemStyle?: PieItemStyleOption<TCbParams>;
- label?: PieLabelOption;
- labelLine?: PieLabelLineOption;
- }
- interface PieLabelOption extends Omit<SeriesLabelOption, 'rotate' | 'position'> {
- rotate?: number | boolean | 'radial' | 'tangential';
- alignTo?: 'none' | 'labelLine' | 'edge';
- edgeDistance?: string | number;
- /**
- * @deprecated Use `edgeDistance` instead
- */
- margin?: string | number;
- bleedMargin?: number;
- distanceToLabelLine?: number;
- position?: SeriesLabelOption['position'] | 'outer' | 'inner' | 'center' | 'outside';
- }
- interface PieLabelLineOption extends LabelLineOption {
- /**
- * Max angle between labelLine and surface normal.
- * 0 - 180
- */
- maxSurfaceAngle?: number;
- }
- interface ExtraStateOption {
- emphasis?: {
- focus?: DefaultEmphasisFocus;
- scale?: boolean;
- scaleSize?: number;
- };
- }
- export interface PieDataItemOption extends OptionDataItemObject<OptionDataValueNumeric>, PieStateOption, StatesOptionMixin<PieStateOption, ExtraStateOption> {
- cursor?: string;
- }
- export interface PieSeriesOption extends Omit<SeriesOption<PieStateOption<PieCallbackDataParams>, ExtraStateOption>, 'labelLine'>, PieStateOption<PieCallbackDataParams>, CircleLayoutOptionMixin, BoxLayoutOptionMixin, SeriesEncodeOptionMixin {
- type?: 'pie';
- roseType?: 'radius' | 'area';
- clockwise?: boolean;
- startAngle?: number;
- minAngle?: number;
- minShowLabelAngle?: number;
- selectedOffset?: number;
- avoidLabelOverlap?: boolean;
- percentPrecision?: number;
- stillShowZeroSum?: boolean;
- animationType?: 'expansion' | 'scale';
- animationTypeUpdate?: 'transition' | 'expansion';
- showEmptyCircle?: boolean;
- emptyCircleStyle?: PieItemStyleOption;
- data?: (OptionDataValueNumeric | OptionDataValueNumeric[] | PieDataItemOption)[];
- }
- declare class PieSeriesModel extends SeriesModel<PieSeriesOption> {
- static type: "series.pie";
- seats: number[];
- /**
- * @overwrite
- */
- init(option: PieSeriesOption): void;
- /**
- * @overwrite
- */
- mergeOption(): void;
- /**
- * @overwrite
- */
- getInitialData(this: PieSeriesModel): SeriesData;
- /**
- * @overwrite
- */
- getDataParams(dataIndex: number): PieCallbackDataParams;
- private _defaultLabelLine;
- static defaultOption: Omit<PieSeriesOption, 'type'>;
- }
- export default PieSeriesModel;
|