import SeriesModel from '../../model/Series.js';
|
import { SeriesOption, BoxLayoutOptionMixin, HorizontalAlign, LabelOption, LabelLineOption, ItemStyleOption, OptionDataValueNumeric, StatesOptionMixin, OptionDataItemObject, LayoutOrient, VerticalAlign, SeriesLabelOption, SeriesEncodeOptionMixin, DefaultStatesMixinEmphasis, CallbackDataParams } from '../../util/types.js';
|
import GlobalModel from '../../model/Global.js';
|
import SeriesData from '../../data/SeriesData.js';
|
declare type FunnelLabelOption = Omit<SeriesLabelOption, 'position'> & {
|
position?: LabelOption['position'] | 'outer' | 'inner' | 'center' | 'rightTop' | 'rightBottom' | 'leftTop' | 'leftBottom';
|
};
|
interface FunnelStatesMixin {
|
emphasis?: DefaultStatesMixinEmphasis;
|
}
|
export interface FunnelCallbackDataParams extends CallbackDataParams {
|
percent: number;
|
}
|
export interface FunnelStateOption<TCbParams = never> {
|
itemStyle?: ItemStyleOption<TCbParams>;
|
label?: FunnelLabelOption;
|
labelLine?: LabelLineOption;
|
}
|
export interface FunnelDataItemOption extends FunnelStateOption, StatesOptionMixin<FunnelStateOption, FunnelStatesMixin>, OptionDataItemObject<OptionDataValueNumeric> {
|
itemStyle?: ItemStyleOption & {
|
width?: number | string;
|
height?: number | string;
|
};
|
}
|
export interface FunnelSeriesOption extends SeriesOption<FunnelStateOption<FunnelCallbackDataParams>, FunnelStatesMixin>, FunnelStateOption<FunnelCallbackDataParams>, BoxLayoutOptionMixin, SeriesEncodeOptionMixin {
|
type?: 'funnel';
|
min?: number;
|
max?: number;
|
/**
|
* Absolute number or percent string
|
*/
|
minSize?: number | string;
|
maxSize?: number | string;
|
sort?: 'ascending' | 'descending' | 'none';
|
orient?: LayoutOrient;
|
gap?: number;
|
funnelAlign?: HorizontalAlign | VerticalAlign;
|
data?: (OptionDataValueNumeric | OptionDataValueNumeric[] | FunnelDataItemOption)[];
|
}
|
declare class FunnelSeriesModel extends SeriesModel<FunnelSeriesOption> {
|
static type: "series.funnel";
|
type: "series.funnel";
|
init(option: FunnelSeriesOption): void;
|
getInitialData(this: FunnelSeriesModel, option: FunnelSeriesOption, ecModel: GlobalModel): SeriesData;
|
_defaultLabelLine(option: FunnelSeriesOption): void;
|
getDataParams(dataIndex: number): FunnelCallbackDataParams;
|
static defaultOption: FunnelSeriesOption;
|
}
|
export default FunnelSeriesModel;
|