提交 5ddb32ef 编写于 作者: S sushuang

tweak tooltip.

上级 cccd60ba
...@@ -44,10 +44,17 @@ export function summarizeDimensions(data) { ...@@ -44,10 +44,17 @@ export function summarizeDimensions(data) {
var encodeLabel = encode.label; var encodeLabel = encode.label;
if (encodeLabel && encodeLabel.length) { if (encodeLabel && encodeLabel.length) {
defaultedLabel = encode.label.slice(); defaultedLabel = encodeLabel.slice();
}
var defaultedTooltip = defaultedLabel.slice();
var encodeTooltip = encode.tooltip;
if (encodeTooltip && encodeTooltip.length) {
defaultedTooltip = encodeTooltip.slice();
} }
encode.defaultedLabel = defaultedLabel; encode.defaultedLabel = defaultedLabel;
encode.defaultedTooltip = defaultedTooltip;
return summary; return summary;
} }
......
...@@ -299,7 +299,11 @@ function makeDefaultEncode( ...@@ -299,7 +299,11 @@ function makeDefaultEncode(
seriesModel, datasetModel, data, sourceFormat, seriesLayoutBy, completeResult seriesModel, datasetModel, data, sourceFormat, seriesLayoutBy, completeResult
) { ) {
var coordSysDefine = getCoordSysDefineBySeries(seriesModel); var coordSysDefine = getCoordSysDefineBySeries(seriesModel);
var encode = {tooltip: [], itemName: [], label: [], seriesName: []}; var encode = {};
// var encodeTooltip = [];
// var encodeLabel = [];
var encodeItemName = [];
var encodeSeriesName = [];
var seriesType = seriesModel.subType; var seriesType = seriesModel.subType;
// Usually in this case series will use the first data // Usually in this case series will use the first data
...@@ -318,21 +322,21 @@ function makeDefaultEncode( ...@@ -318,21 +322,21 @@ function makeDefaultEncode(
if (coordSysDefine.firstCategoryDimIndex == null) { if (coordSysDefine.firstCategoryDimIndex == null) {
var dataDim = datasetRecord.valueWayDim++; var dataDim = datasetRecord.valueWayDim++;
encode[coordDim] = dataDim; encode[coordDim] = dataDim;
encode.tooltip.push(dataDim); // encodeTooltip.push(dataDim);
encode.label.push(dataDim); // encodeLabel.push(dataDim);
} }
// In category way, category axis. // In category way, category axis.
else if (coordSysDefine.categoryAxisMap.get(coordDim)) { else if (coordSysDefine.categoryAxisMap.get(coordDim)) {
encode[coordDim] = 0; encode[coordDim] = 0;
encode.itemName.push(0); encodeItemName.push(0);
} }
// In category way, non-category axis. // In category way, non-category axis.
else { else {
var dataDim = datasetRecord.categoryWayDim++; var dataDim = datasetRecord.categoryWayDim++;
encode[coordDim] = dataDim; encode[coordDim] = dataDim;
encode.tooltip.push(dataDim); // encodeTooltip.push(dataDim);
encode.label.push(dataDim); // encodeLabel.push(dataDim);
encode.seriesName.push(dataDim); encodeSeriesName.push(dataDim);
} }
}); });
} }
...@@ -350,15 +354,22 @@ function makeDefaultEncode( ...@@ -350,15 +354,22 @@ function makeDefaultEncode(
} }
} }
if (firstNotOrdinal != null) { if (firstNotOrdinal != null) {
encode.value = encode.tooltip = firstNotOrdinal; encode.value = firstNotOrdinal;
encode.itemName = completeResult.potentialNameDimIndex var nameDimIndex = completeResult.potentialNameDimIndex
|| Math.max(firstNotOrdinal - 1, 0); || Math.max(firstNotOrdinal - 1, 0);
// By default, label use itemName in charts. // By default, label use itemName in charts.
// So we dont set encode.label here. // So we dont set encodeLabel here.
encode.seriesName = encode.itemName; encodeSeriesName.push(nameDimIndex);
encodeItemName.push(nameDimIndex);
// encodeTooltip.push(firstNotOrdinal);
} }
} }
// encodeTooltip.length && (encode.tooltip = encodeTooltip);
// encodeLabel.length && (encode.label = encodeLabel);
encodeItemName.length && (encode.itemName = encodeItemName);
encodeSeriesName.length && (encode.seriesName = encodeSeriesName);
return encode; return encode;
} }
......
...@@ -251,7 +251,7 @@ var SeriesModel = ComponentModel.extend({ ...@@ -251,7 +251,7 @@ var SeriesModel = ComponentModel.extend({
formatTooltip: function (dataIndex, multipleSeries, dataType) { formatTooltip: function (dataIndex, multipleSeries, dataType) {
function formatArrayValue(value) { function formatArrayValue(value) {
// ??? // ??? TODO refactor these logic.
// check: category-no-encode-has-axis-data in dataset.html // check: category-no-encode-has-axis-data in dataset.html
var vertially = zrUtil.reduce(value, function (vertially, val, idx) { var vertially = zrUtil.reduce(value, function (vertially, val, idx) {
var dimItem = data.getDimensionInfo(idx); var dimItem = data.getDimensionInfo(idx);
...@@ -262,7 +262,7 @@ var SeriesModel = ComponentModel.extend({ ...@@ -262,7 +262,7 @@ var SeriesModel = ComponentModel.extend({
tooltipDims.length tooltipDims.length
? zrUtil.each(tooltipDims, function (dim) { ? zrUtil.each(tooltipDims, function (dim) {
setEachItem(data.get(dim, dataIndex), dim); setEachItem(data.get(dim, dataIndex, true), dim);
}) })
// By default, all dims is used on tooltip. // By default, all dims is used on tooltip.
: zrUtil.each(value, setEachItem); : zrUtil.each(value, setEachItem);
...@@ -287,23 +287,23 @@ var SeriesModel = ComponentModel.extend({ ...@@ -287,23 +287,23 @@ var SeriesModel = ComponentModel.extend({
return (vertially ? '<br/>' : '') + result.join(vertially ? '<br/>' : ', '); return (vertially ? '<br/>' : '') + result.join(vertially ? '<br/>' : ', ');
} }
var data = inner(this).data; function formatSingleValue(val) {
var tooltipDims = data.mapDimension('tooltip', true); return encodeHTML(addCommas(val));
}
// FIXME fragile way? var data = inner(this).data;
// object raw value? var tooltipDims = data.mapDimension('defaultedTooltip', true);
var tooltipDimLen = tooltipDims.length;
var value = this.getRawValue(dataIndex); var value = this.getRawValue(dataIndex);
var isValueArr = zrUtil.isArray(value); var isValueArr = zrUtil.isArray(value);
// Complicated rule for pretty tooltip. // Complicated rule for pretty tooltip.
var formattedValue = (isValueArr && value.length > 1 && tooltipDims.length > 1) var formattedValue = (tooltipDimLen > 1 || (isValueArr && !tooltipDimLen))
? formatArrayValue(value) ? formatArrayValue(value)
: encodeHTML(addCommas( : tooltipDimLen
!isValueArr ? formatSingleValue(data.get(tooltipDims[0], dataIndex, true))
? value : formatSingleValue(isValueArr ? value[0] : value);
: tooltipDims[0]
? data.get(tooltipDims[0], dataIndex)
: value[0]
));
var name = data.getName(dataIndex); var name = data.getName(dataIndex);
var color = data.getItemVisual(dataIndex, 'color'); var color = data.getItemVisual(dataIndex, 'color');
...@@ -315,14 +315,14 @@ var SeriesModel = ComponentModel.extend({ ...@@ -315,14 +315,14 @@ var SeriesModel = ComponentModel.extend({
var colorEl = getTooltipMarker(color); var colorEl = getTooltipMarker(color);
var seriesName = this.name; var seriesName = this.name;
// FIXME if (seriesName === modelUtil.DEFAULT_COMPONENT_NAME) {
if (seriesName === '\0-') {
// Not show '-' // Not show '-'
seriesName = ''; seriesName = '';
} }
seriesName = seriesName seriesName = seriesName
? encodeHTML(seriesName) + (!multipleSeries ? '<br/>' : ': ') ? encodeHTML(seriesName) + (!multipleSeries ? '<br/>' : ': ')
: ''; : '';
return !multipleSeries return !multipleSeries
? seriesName + colorEl ? seriesName + colorEl
+ (name + (name
......
...@@ -41,7 +41,7 @@ pre.test-print-object { ...@@ -41,7 +41,7 @@ pre.test-print-object {
font-family: Menlo, Monaco, 'Courier New', monospace; font-family: Menlo, Monaco, 'Courier New', monospace;
} }
.test-chart { .test-chart {
height: 300px; height: 400px;
} }
.test-data-table { .test-data-table {
...@@ -61,7 +61,7 @@ pre.test-print-object { ...@@ -61,7 +61,7 @@ pre.test-print-object {
padding: 3px 5px; padding: 3px 5px;
font-size: 13px; font-size: 13px;
} }
.test-data-table-key td { td.test-data-table-key {
font-size: 12px; font-size: 12px;
color: rgb(69, 162, 238) color: rgb(69, 162, 238)
} }
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册