UNPKG

cione-comp-lib

Version:

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

51 lines (50 loc) 1.84 kB
import { isArray, map } from "../../../../zrender/lib/core/util.mjs"; import { queryDataIndex } from "../../util/model.mjs"; function findPointFromSeries(finder, ecModel) { var point = []; var seriesIndex = finder.seriesIndex; var seriesModel; if (seriesIndex == null || !(seriesModel = ecModel.getSeriesByIndex(seriesIndex))) { return { point: [] }; } var data = seriesModel.getData(); var dataIndex = queryDataIndex(data, finder); if (dataIndex == null || dataIndex < 0 || isArray(dataIndex)) { return { point: [] }; } var el = data.getItemGraphicEl(dataIndex); var coordSys = seriesModel.coordinateSystem; if (seriesModel.getTooltipPosition) { point = seriesModel.getTooltipPosition(dataIndex) || []; } else if (coordSys && coordSys.dataToPoint) { if (finder.isStacked) { var baseAxis = coordSys.getBaseAxis(); var valueAxis = coordSys.getOtherAxis(baseAxis); var valueAxisDim = valueAxis.dim; var baseAxisDim = baseAxis.dim; var baseDataOffset = valueAxisDim === "x" || valueAxisDim === "radius" ? 1 : 0; var baseDim = data.mapDimension(baseAxisDim); var stackedData = []; stackedData[baseDataOffset] = data.get(baseDim, dataIndex); stackedData[1 - baseDataOffset] = data.get(data.getCalculationInfo("stackResultDimension"), dataIndex); point = coordSys.dataToPoint(stackedData) || []; } else { point = coordSys.dataToPoint(data.getValues(map(coordSys.dimensions, function(dim) { return data.mapDimension(dim); }), dataIndex)) || []; } } else if (el) { var rect = el.getBoundingRect().clone(); rect.applyTransform(el.transform); point = [rect.x + rect.width / 2, rect.y + rect.height / 2]; } return { point, el }; } export { findPointFromSeries as default };