UNPKG

cione-comp-lib

Version:

`$ yarn add cione-comp-lib` 或者 `$ npm i cione-comp-lib -S`

101 lines (100 loc) 3.72 kB
import { isArray, isFunction, isString, isObject } from "../../../../zrender/lib/core/util.mjs"; import { retrieveRawValue } from "../../data/helper/dataProvider.mjs"; import { formatTpl } from "../../util/format.mjs"; var DIMENSION_LABEL_REG = /\{@(.+?)\}/g; var DataFormatMixin = function() { function DataFormatMixin2() { } DataFormatMixin2.prototype.getDataParams = function(dataIndex, dataType) { var data = this.getData(dataType); var rawValue = this.getRawValue(dataIndex, dataType); var rawDataIndex = data.getRawIndex(dataIndex); var name = data.getName(dataIndex); var itemOpt = data.getRawDataItem(dataIndex); var style = data.getItemVisual(dataIndex, "style"); var color = style && style[data.getItemVisual(dataIndex, "drawType") || "fill"]; var borderColor = style && style.stroke; var mainType = this.mainType; var isSeries = mainType === "series"; var userOutput = data.userOutput && data.userOutput.get(); return { componentType: mainType, componentSubType: this.subType, componentIndex: this.componentIndex, seriesType: isSeries ? this.subType : null, seriesIndex: this.seriesIndex, seriesId: isSeries ? this.id : null, seriesName: isSeries ? this.name : null, name, dataIndex: rawDataIndex, data: itemOpt, dataType, value: rawValue, color, borderColor, dimensionNames: userOutput ? userOutput.fullDimensions : null, encode: userOutput ? userOutput.encode : null, $vars: ["seriesName", "name", "value"] }; }; DataFormatMixin2.prototype.getFormattedLabel = function(dataIndex, status, dataType, labelDimIndex, formatter, extendParams) { status = status || "normal"; var data = this.getData(dataType); var params = this.getDataParams(dataIndex, dataType); if (extendParams) { params.value = extendParams.interpolatedValue; } if (labelDimIndex != null && isArray(params.value)) { params.value = params.value[labelDimIndex]; } if (!formatter) { var itemModel = data.getItemModel(dataIndex); formatter = itemModel.get(status === "normal" ? ["label", "formatter"] : [status, "label", "formatter"]); } if (isFunction(formatter)) { params.status = status; params.dimensionIndex = labelDimIndex; return formatter(params); } else if (isString(formatter)) { var str = formatTpl(formatter, params); return str.replace(DIMENSION_LABEL_REG, function(origin, dimStr) { var len = dimStr.length; var dimLoose = dimStr; if (dimLoose.charAt(0) === "[" && dimLoose.charAt(len - 1) === "]") { dimLoose = +dimLoose.slice(1, len - 1); } var val = retrieveRawValue(data, dataIndex, dimLoose); if (extendParams && isArray(extendParams.interpolatedValue)) { var dimIndex = data.getDimensionIndex(dimLoose); if (dimIndex >= 0) { val = extendParams.interpolatedValue[dimIndex]; } } return val != null ? val + "" : ""; }); } }; DataFormatMixin2.prototype.getRawValue = function(idx, dataType) { return retrieveRawValue(this.getData(dataType), idx); }; DataFormatMixin2.prototype.formatTooltip = function(dataIndex, multipleSeries, dataType) { return; }; return DataFormatMixin2; }(); function normalizeTooltipFormatResult(result) { var markupText; var markupFragment; if (isObject(result)) { if (result.type) { markupFragment = result; } } else { markupText = result; } return { text: markupText, frag: markupFragment }; } export { DataFormatMixin, normalizeTooltipFormatResult };