UNPKG

cione-comp-lib

Version:

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

101 lines (100 loc) 3.96 kB
import { __extends } from "../../../../tslib/tslib.es6.mjs"; import BaseAxisPointer from "./BaseAxisPointer.mjs"; import { buildElStyle, buildCartesianSingleLabelElOption, getTransformedPosition, makeLineShape, makeRectShape } from "./viewHelper.mjs"; import { layout } from "../../coord/cartesian/cartesianAxisHelper.mjs"; var CartesianAxisPointer = function(_super) { __extends(CartesianAxisPointer2, _super); function CartesianAxisPointer2() { return _super !== null && _super.apply(this, arguments) || this; } CartesianAxisPointer2.prototype.makeElOption = function(elOption, value, axisModel, axisPointerModel, api) { var axis = axisModel.axis; var grid = axis.grid; var axisPointerType = axisPointerModel.get("type"); var otherExtent = getCartesian(grid, axis).getOtherAxis(axis).getGlobalExtent(); var pixelValue = axis.toGlobalCoord(axis.dataToCoord(value, true)); if (axisPointerType && axisPointerType !== "none") { var elStyle = buildElStyle(axisPointerModel); var pointerOption = pointerShapeBuilder[axisPointerType](axis, pixelValue, otherExtent); pointerOption.style = elStyle; elOption.graphicKey = pointerOption.type; elOption.pointer = pointerOption; } var layoutInfo = layout(grid.model, axisModel); buildCartesianSingleLabelElOption( value, elOption, layoutInfo, axisModel, axisPointerModel, api ); }; CartesianAxisPointer2.prototype.getHandleTransform = function(value, axisModel, axisPointerModel) { var layoutInfo = layout(axisModel.axis.grid.model, axisModel, { labelInside: false }); layoutInfo.labelMargin = axisPointerModel.get(["handle", "margin"]); var pos = getTransformedPosition(axisModel.axis, value, layoutInfo); return { x: pos[0], y: pos[1], rotation: layoutInfo.rotation + (layoutInfo.labelDirection < 0 ? Math.PI : 0) }; }; CartesianAxisPointer2.prototype.updateHandleTransform = function(transform, delta, axisModel, axisPointerModel) { var axis = axisModel.axis; var grid = axis.grid; var axisExtent = axis.getGlobalExtent(true); var otherExtent = getCartesian(grid, axis).getOtherAxis(axis).getGlobalExtent(); var dimIndex = axis.dim === "x" ? 0 : 1; var currPosition = [transform.x, transform.y]; currPosition[dimIndex] += delta[dimIndex]; currPosition[dimIndex] = Math.min(axisExtent[1], currPosition[dimIndex]); currPosition[dimIndex] = Math.max(axisExtent[0], currPosition[dimIndex]); var cursorOtherValue = (otherExtent[1] + otherExtent[0]) / 2; var cursorPoint = [cursorOtherValue, cursorOtherValue]; cursorPoint[dimIndex] = currPosition[dimIndex]; var tooltipOptions = [{ verticalAlign: "middle" }, { align: "center" }]; return { x: currPosition[0], y: currPosition[1], rotation: transform.rotation, cursorPoint, tooltipOption: tooltipOptions[dimIndex] }; }; return CartesianAxisPointer2; }(BaseAxisPointer); function getCartesian(grid, axis) { var opt = {}; opt[axis.dim + "AxisIndex"] = axis.index; return grid.getCartesian(opt); } var pointerShapeBuilder = { line: function(axis, pixelValue, otherExtent) { var targetShape = makeLineShape([pixelValue, otherExtent[0]], [pixelValue, otherExtent[1]], getAxisDimIndex(axis)); return { type: "Line", subPixelOptimize: true, shape: targetShape }; }, shadow: function(axis, pixelValue, otherExtent) { var bandWidth = Math.max(1, axis.getBandWidth()); var span = otherExtent[1] - otherExtent[0]; return { type: "Rect", shape: makeRectShape([pixelValue - bandWidth / 2, otherExtent[0]], [bandWidth, span], getAxisDimIndex(axis)) }; } }; function getAxisDimIndex(axis) { return axis.dim === "x" ? 0 : 1; } var CartesianAxisPointer$1 = CartesianAxisPointer; export { CartesianAxisPointer$1 as default };