UNPKG

cione-comp-lib

Version:

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

182 lines (181 loc) 6.78 kB
import { __extends } from "../../../../tslib/tslib.es6.mjs"; import { extend, each, isArray, defaults } from "../../../../zrender/lib/core/util.mjs"; import { groupTransition, subPixelOptimizeLine } from "../../util/graphic.mjs"; import AxisBuilder from "./AxisBuilder.mjs"; import AxisView from "./AxisView.mjs"; import { layout } from "../../coord/cartesian/cartesianAxisHelper.mjs"; import { rectCoordAxisHandleRemove, rectCoordAxisBuildSplitArea } from "./axisSplitHelper.mjs"; import { isIntervalOrLogScale } from "../../scale/helper.mjs"; import Group from "../../../../zrender/lib/graphic/Group.mjs"; import Line from "../../../../zrender/lib/graphic/shape/Line.mjs"; var axisBuilderAttrs = ["axisLine", "axisTickLabel", "axisName"]; var selfBuilderAttrs = ["splitArea", "splitLine", "minorSplitLine"]; var CartesianAxisView = function(_super) { __extends(CartesianAxisView2, _super); function CartesianAxisView2() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.type = CartesianAxisView2.type; _this.axisPointerClass = "CartesianAxisPointer"; return _this; } CartesianAxisView2.prototype.render = function(axisModel, ecModel, api, payload) { this.group.removeAll(); var oldAxisGroup = this._axisGroup; this._axisGroup = new Group(); this.group.add(this._axisGroup); if (!axisModel.get("show")) { return; } var gridModel = axisModel.getCoordSysModel(); var layout$1 = layout(gridModel, axisModel); var axisBuilder = new AxisBuilder(axisModel, extend({ handleAutoShown: function(elementType) { var cartesians = gridModel.coordinateSystem.getCartesians(); for (var i = 0; i < cartesians.length; i++) { if (isIntervalOrLogScale(cartesians[i].getOtherAxis(axisModel.axis).scale)) { return true; } } return false; } }, layout$1)); each(axisBuilderAttrs, axisBuilder.add, axisBuilder); this._axisGroup.add(axisBuilder.getGroup()); each(selfBuilderAttrs, function(name) { if (axisModel.get([name, "show"])) { axisElementBuilders[name](this, this._axisGroup, axisModel, gridModel); } }, this); var isInitialSortFromBarRacing = payload && payload.type === "changeAxisOrder" && payload.isInitSort; if (!isInitialSortFromBarRacing) { groupTransition(oldAxisGroup, this._axisGroup, axisModel); } _super.prototype.render.call(this, axisModel, ecModel, api, payload); }; CartesianAxisView2.prototype.remove = function() { rectCoordAxisHandleRemove(this); }; CartesianAxisView2.type = "cartesianAxis"; return CartesianAxisView2; }(AxisView); var axisElementBuilders = { splitLine: function(axisView, axisGroup, axisModel, gridModel) { var axis = axisModel.axis; if (axis.scale.isBlank()) { return; } var splitLineModel = axisModel.getModel("splitLine"); var lineStyleModel = splitLineModel.getModel("lineStyle"); var lineColors = lineStyleModel.get("color"); lineColors = isArray(lineColors) ? lineColors : [lineColors]; var gridRect = gridModel.coordinateSystem.getRect(); var isHorizontal = axis.isHorizontal(); var lineCount = 0; var ticksCoords = axis.getTicksCoords({ tickModel: splitLineModel }); var p1 = []; var p2 = []; var lineStyle = lineStyleModel.getLineStyle(); for (var i = 0; i < ticksCoords.length; i++) { var tickCoord = axis.toGlobalCoord(ticksCoords[i].coord); if (isHorizontal) { p1[0] = tickCoord; p1[1] = gridRect.y; p2[0] = tickCoord; p2[1] = gridRect.y + gridRect.height; } else { p1[0] = gridRect.x; p1[1] = tickCoord; p2[0] = gridRect.x + gridRect.width; p2[1] = tickCoord; } var colorIndex = lineCount++ % lineColors.length; var tickValue = ticksCoords[i].tickValue; var line = new Line({ anid: tickValue != null ? "line_" + ticksCoords[i].tickValue : null, autoBatch: true, shape: { x1: p1[0], y1: p1[1], x2: p2[0], y2: p2[1] }, style: defaults({ stroke: lineColors[colorIndex] }, lineStyle), silent: true }); subPixelOptimizeLine(line.shape, lineStyle.lineWidth); axisGroup.add(line); } }, minorSplitLine: function(axisView, axisGroup, axisModel, gridModel) { var axis = axisModel.axis; var minorSplitLineModel = axisModel.getModel("minorSplitLine"); var lineStyleModel = minorSplitLineModel.getModel("lineStyle"); var gridRect = gridModel.coordinateSystem.getRect(); var isHorizontal = axis.isHorizontal(); var minorTicksCoords = axis.getMinorTicksCoords(); if (!minorTicksCoords.length) { return; } var p1 = []; var p2 = []; var lineStyle = lineStyleModel.getLineStyle(); for (var i = 0; i < minorTicksCoords.length; i++) { for (var k = 0; k < minorTicksCoords[i].length; k++) { var tickCoord = axis.toGlobalCoord(minorTicksCoords[i][k].coord); if (isHorizontal) { p1[0] = tickCoord; p1[1] = gridRect.y; p2[0] = tickCoord; p2[1] = gridRect.y + gridRect.height; } else { p1[0] = gridRect.x; p1[1] = tickCoord; p2[0] = gridRect.x + gridRect.width; p2[1] = tickCoord; } var line = new Line({ anid: "minor_line_" + minorTicksCoords[i][k].tickValue, autoBatch: true, shape: { x1: p1[0], y1: p1[1], x2: p2[0], y2: p2[1] }, style: lineStyle, silent: true }); subPixelOptimizeLine(line.shape, lineStyle.lineWidth); axisGroup.add(line); } } }, splitArea: function(axisView, axisGroup, axisModel, gridModel) { rectCoordAxisBuildSplitArea(axisView, axisGroup, axisModel, gridModel); } }; var CartesianXAxisView = function(_super) { __extends(CartesianXAxisView2, _super); function CartesianXAxisView2() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.type = CartesianXAxisView2.type; return _this; } CartesianXAxisView2.type = "xAxis"; return CartesianXAxisView2; }(CartesianAxisView); var CartesianYAxisView = function(_super) { __extends(CartesianYAxisView2, _super); function CartesianYAxisView2() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.type = CartesianXAxisView.type; return _this; } CartesianYAxisView2.type = "yAxis"; return CartesianYAxisView2; }(CartesianAxisView); export { CartesianXAxisView, CartesianYAxisView, CartesianAxisView as default };