提交 93dc85fd 编写于 作者: S susiwen8

Tooltip order works in Radar

上级 27428a9f
......@@ -31,7 +31,9 @@ import {
AreaStyleOption,
OptionDataValue,
StatesOptionMixin,
OptionDataItemObject
OptionDataItemObject,
TooltipRenderMode,
TooltipOrderMode
} from '../../util/types';
import GlobalModel from '../../model/Global';
import List from '../../data/List';
......@@ -93,11 +95,41 @@ class RadarSeriesModel extends SeriesModel<RadarSeriesOption> {
});
}
formatTooltip(dataIndex: number) {
formatTooltip(
dataIndex: number,
multipleSeries?: boolean,
dataType?: string,
renderMode?: TooltipRenderMode,
order?: TooltipOrderMode
) {
const data = this.getData();
const coordSys = this.coordinateSystem;
const indicatorAxes = coordSys.getIndicatorAxes();
const name = this.getData().getName(dataIndex);
zrUtil.each(indicatorAxes, function (axis, idx) {
axis.value = data.get(data.mapDimension(axis.dim), dataIndex);
});
switch (order) {
case 'valueAsc':
indicatorAxes.sort(function (a, b) {
return +(a.value) - +(b.value);
});
break;
case 'valueDesc':
indicatorAxes.sort(function (a, b) {
return +(b.value) - +(a.value);
});
break;
case 'legendDesc':
indicatorAxes.reverse();
break;
case 'legendAsc':
default:
break;
}
return encodeHTML(name === '' ? this.name : name) + '<br/>'
+ zrUtil.map(indicatorAxes, function (axis, idx) {
const val = data.get(data.mapDimension(axis.dim), dataIndex);
......
......@@ -24,7 +24,8 @@ import {
LineStyleOption,
CommonTooltipOption,
TooltipRenderMode,
CallbackDataParams
CallbackDataParams,
TooltipOrderMode
} from '../../util/types';
import {AxisPointerOption} from '../axisPointer/AxisPointerModel';
......@@ -64,7 +65,7 @@ export interface TooltipOption extends CommonTooltipOption<TopLevelFormatterPara
*/
appendToBody?: boolean
order?: 'valueAsc' | 'valueDesc' | 'legendAsc' | 'legendDesc'
order?: TooltipOrderMode
}
class TooltipModel extends ComponentModel<TooltipOption> {
......
......@@ -681,6 +681,7 @@ class TooltipView extends ComponentView {
if (tooltipTrigger != null && tooltipTrigger !== 'item') {
return;
}
const tooltipOrder = tooltipModel.get('order');
const params = dataModel.getDataParams(dataIndex, dataType);
params.marker = formatUtil.getTooltipMarker({
......@@ -688,7 +689,7 @@ class TooltipView extends ComponentView {
renderMode: this._renderMode
});
const seriesTooltip = dataModel.formatTooltip(dataIndex, false, dataType, this._renderMode);
const seriesTooltip = dataModel.formatTooltip(dataIndex, false, dataType, this._renderMode, tooltipOrder);
let defaultHtml: string;
let markers: Dictionary<ColorString>;
if (zrUtil.isObject(seriesTooltip)) {
......
......@@ -33,6 +33,8 @@ class IndicatorAxis extends Axis {
model: AxisBaseModel<InnerIndicatorAxisOption>;
value?: number | string;
constructor(dim: string, scale: Scale, radiusExtent?: [number, number]) {
super(dim, scale, radiusExtent);
}
......
......@@ -27,7 +27,8 @@ import {
CallbackDataParams,
ColorString,
ZRColor,
OptionDataValue
OptionDataValue,
TooltipOrderMode
} from '../../util/types';
import GlobalModel from '../Global';
......@@ -174,7 +175,8 @@ class DataFormatMixin {
dataIndex: number,
multipleSeries?: boolean,
dataType?: string,
renderMode?: TooltipRenderMode
renderMode?: TooltipRenderMode,
order?: TooltipOrderMode
): string | {html: string, markers: {[markName: string]: string}} {
// Empty function
return;
......
......@@ -270,6 +270,8 @@ export interface LoadingEffect extends Element {
export type TooltipRenderMode = 'html' | 'richText';
export type TooltipOrderMode = 'valueAsc' | 'valueDesc' | 'legendAsc' | 'legendDesc';
// ---------------------------------
// Data and dimension related types
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册