UNPKG

echarts

Version:

Apache ECharts is a powerful, interactive charting and data visualization library for browser

134 lines (133 loc) 4.23 kB
import VisualMapModel, { VisualMapOption, VisualMeta } from './VisualMapModel.js'; import { VisualMappingOption } from '../../visual/VisualMapping.js'; import { VisualOptionPiecewise } from '../../util/types.js'; import { Dictionary } from 'zrender/lib/core/types.js'; interface VisualPiece extends VisualOptionPiecewise { min?: number; max?: number; lt?: number; gt?: number; lte?: number; gte?: number; value?: number; label?: string; } declare type VisualState = VisualMapModel['stateList'][number]; declare type InnerVisualPiece = VisualMappingOption['pieceList'][number]; /** * Order Rule: * * option.categories / option.pieces / option.text / option.selected: * If !option.inverse, * Order when vertical: ['top', ..., 'bottom']. * Order when horizontal: ['left', ..., 'right']. * If option.inverse, the meaning of * the order should be reversed. * * this._pieceList: * The order is always [low, ..., high]. * * Mapping from location to low-high: * If !option.inverse * When vertical, top is high. * When horizontal, right is high. * If option.inverse, reverse. */ export interface PiecewiseVisualMapOption extends VisualMapOption { align?: 'auto' | 'left' | 'right'; minOpen?: boolean; maxOpen?: boolean; /** * When put the controller vertically, it is the length of * horizontal side of each item. Otherwise, vertical side. * When put the controller vertically, it is the length of * vertical side of each item. Otherwise, horizontal side. */ itemWidth?: number; itemHeight?: number; itemSymbol?: string; pieces?: VisualPiece[]; /** * category names, like: ['some1', 'some2', 'some3']. * Attr min/max are ignored when categories set. See "Order Rule" */ categories?: string[]; /** * If set to 5, auto split five pieces equally. * If set to 0 and component type not set, component type will be * determined as "continuous". (It is less reasonable but for ec2 * compatibility, see echarts/component/visualMap/typeDefaulter) */ splitNumber?: number; /** * Object. If not specified, means selected. When pieces and splitNumber: {'0': true, '5': true} * When categories: {'cate1': false, 'cate3': true} When selected === false, means all unselected. */ selected?: Dictionary<boolean>; selectedMode?: 'multiple' | 'single' | boolean; /** * By default, when text is used, label will hide (the logic * is remained for compatibility reason) */ showLabel?: boolean; itemGap?: number; hoverLink?: boolean; } declare class PiecewiseModel extends VisualMapModel<PiecewiseVisualMapOption> { static type: "visualMap.piecewise"; type: "visualMap.piecewise"; /** * The order is always [low, ..., high]. * [{text: string, interval: Array.<number>}, ...] */ private _pieceList; private _mode; optionUpdated(newOption: PiecewiseVisualMapOption, isInit?: boolean): void; /** * @protected * @override */ completeVisualOption(): void; private _resetSelected; /** * @public */ getItemSymbol(): string; /** * @public */ getSelectedMapKey(piece: InnerVisualPiece): string; /** * @public */ getPieceList(): InnerVisualPiece[]; /** * @return {string} */ private _determineMode; /** * @override */ setSelected(selected: this['option']['selected']): void; /** * @override */ getValueState(value: number): VisualState; /** * @public * @param pieceIndex piece index in visualMapModel.getPieceList() */ findTargetDataIndices(pieceIndex: number): { seriesId: string; dataIndex: number[]; }[]; /** * @private * @param piece piece.value or piece.interval is required. * @return Can be Infinity or -Infinity */ getRepresentValue(piece: InnerVisualPiece): string | number; getVisualMeta(getColorVisual: (value: number, valueState: VisualState) => string): VisualMeta; static defaultOption: PiecewiseVisualMapOption; } export default PiecewiseModel;