cione-comp-lib
Version:
`$ yarn add cione-comp-lib` 或者 `$ npm i cione-comp-lib -S`
54 lines (53 loc) • 2.4 kB
JavaScript
import "../../../../echarts/lib/echarts.mjs";
import { getItemVisualColor } from "../../util/visual.mjs";
import { isArray, isObject, each } from "../../../../zrender/lib/core/util.mjs";
import { encodeHTML } from "../../../../zrender/lib/core/dom.mjs";
import { addCommas, getTooltipMarker, formatTime } from "../../../../echarts/lib/util/format.mjs";
function otherDimToDataDim(data, otherDim) {
var dataDim = [];
each(data.dimensions, function(dimName) {
var dimItem = data.getDimensionInfo(dimName);
var otherDims = dimItem.otherDims;
var dimIndex = otherDims[otherDim];
if (dimIndex != null && dimIndex !== false) {
dataDim[dimIndex] = dimItem.name;
}
});
return dataDim;
}
function formatTooltip(seriesModel, dataIndex, multipleSeries) {
function formatArrayValue(value2) {
var result = [];
var tooltipDims = otherDimToDataDim(data, "tooltip");
tooltipDims.length ? each(tooltipDims, function(dimIdx) {
setEachItem(data.get(dimIdx, dataIndex), dimIdx);
}) : each(value2, setEachItem);
function setEachItem(val, dimIdx) {
var dimInfo = data.getDimensionInfo(dimIdx);
if (!dimInfo || dimInfo.otherDims.tooltip === false) {
return;
}
var dimType = dimInfo.type;
var valStr = "- " + (dimInfo.tooltipName || dimInfo.name) + ": " + (dimType === "ordinal" ? val + "" : dimType === "time" ? multipleSeries ? "" : formatTime("yyyy/MM/dd hh:mm:ss", val) : addCommas(val));
valStr && result.push(encodeHTML(valStr));
}
return "<br/>" + result.join("<br/>");
}
var data = seriesModel.getData();
var value = seriesModel.getRawValue(dataIndex);
var formattedValue = isArray(value) ? formatArrayValue(value) : encodeHTML(addCommas(value));
var name = data.getName(dataIndex);
var color = getItemVisualColor(data, dataIndex);
if (isObject(color) && color.colorStops) {
color = (color.colorStops[0] || {}).color;
}
color = color || "transparent";
var colorEl = getTooltipMarker(color);
var seriesName = seriesModel.name;
if (seriesName === "\0-") {
seriesName = "";
}
seriesName = seriesName ? encodeHTML(seriesName) + (!multipleSeries ? "<br/>" : ": ") : "";
return !multipleSeries ? seriesName + colorEl + (name ? encodeHTML(name) + ": " + formattedValue : formattedValue) : colorEl + seriesName + formattedValue;
}
export { formatTooltip as default };