123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- import SeriesModel from '../../model/Series.js';
- import { TreeNode } from '../../data/Tree.js';
- import { SeriesOption, CircleLayoutOptionMixin, SeriesLabelOption, ItemStyleOption, OptionDataValue, CallbackDataParams, StatesOptionMixin, OptionDataItemObject, DefaultEmphasisFocus, SunburstColorByMixin } from '../../util/types.js';
- import GlobalModel from '../../model/Global.js';
- import SeriesData from '../../data/SeriesData.js';
- import Model from '../../model/Model.js';
- interface SunburstItemStyleOption<TCbParams = never> extends ItemStyleOption<TCbParams> {
- borderRadius?: (number | string)[] | number | string;
- }
- interface SunburstLabelOption extends Omit<SeriesLabelOption, 'rotate' | 'position'> {
- rotate?: 'radial' | 'tangential' | number;
- minAngle?: number;
- silent?: boolean;
- position?: SeriesLabelOption['position'] | 'outside';
- }
- interface SunburstDataParams extends CallbackDataParams {
- treePathInfo: {
- name: string;
- dataIndex: number;
- value: SunburstSeriesNodeItemOption['value'];
- }[];
- }
- interface SunburstStatesMixin {
- emphasis?: {
- focus?: DefaultEmphasisFocus | 'descendant' | 'ancestor';
- };
- }
- export interface SunburstStateOption<TCbParams = never> {
- itemStyle?: SunburstItemStyleOption<TCbParams>;
- label?: SunburstLabelOption;
- }
- export interface SunburstSeriesNodeItemOption extends SunburstStateOption<CallbackDataParams>, StatesOptionMixin<SunburstStateOption<CallbackDataParams>, SunburstStatesMixin>, OptionDataItemObject<OptionDataValue> {
- nodeClick?: 'rootToNode' | 'link' | false;
- link?: string;
- target?: string;
- children?: SunburstSeriesNodeItemOption[];
- collapsed?: boolean;
- cursor?: string;
- }
- export interface SunburstSeriesLevelOption extends SunburstStateOption, StatesOptionMixin<SunburstStateOption, SunburstStatesMixin> {
- radius?: (number | string)[];
- /**
- * @deprecated use radius instead
- */
- r?: number | string;
- /**
- * @deprecated use radius instead
- */
- r0?: number | string;
- highlight?: {
- itemStyle?: SunburstItemStyleOption;
- label?: SunburstLabelOption;
- };
- }
- interface SortParam {
- dataIndex: number;
- depth: number;
- height: number;
- getValue(): number;
- }
- export interface SunburstSeriesOption extends SeriesOption<SunburstStateOption, SunburstStatesMixin>, SunburstStateOption, SunburstColorByMixin, CircleLayoutOptionMixin {
- type?: 'sunburst';
- clockwise?: boolean;
- startAngle?: number;
- minAngle?: number;
- /**
- * If still show when all data zero.
- */
- stillShowZeroSum?: boolean;
- /**
- * Policy of highlighting pieces when hover on one
- * Valid values: 'none' (for not downplay others), 'descendant',
- * 'ancestor', 'self'
- */
- nodeClick?: 'rootToNode' | 'link' | false;
- renderLabelForZeroData?: boolean;
- levels?: SunburstSeriesLevelOption[];
- animationType?: 'expansion' | 'scale';
- sort?: 'desc' | 'asc' | ((a: SortParam, b: SortParam) => number);
- }
- interface SunburstSeriesModel {
- getFormattedLabel(dataIndex: number, state?: 'emphasis' | 'normal' | 'highlight' | 'blur' | 'select'): string;
- }
- declare class SunburstSeriesModel extends SeriesModel<SunburstSeriesOption> {
- static readonly type = "series.sunburst";
- readonly type = "series.sunburst";
- ignoreStyleOnData: boolean;
- private _viewRoot;
- private _levelModels;
- getInitialData(option: SunburstSeriesOption, ecModel: GlobalModel): SeriesData<Model<any>, import("../../data/SeriesData").DefaultDataVisual>;
- optionUpdated(): void;
- getDataParams(dataIndex: number): SunburstDataParams;
- getLevelModel(node: TreeNode): Model<SunburstSeriesLevelOption>;
- static defaultOption: SunburstSeriesOption;
- getViewRoot(): TreeNode;
- resetViewRoot(viewRoot?: TreeNode): void;
- enableAriaDecal(): void;
- }
- export default SunburstSeriesModel;
|