UNPKG

cione-comp-lib

Version:

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

107 lines (106 loc) 4.01 kB
import { __extends } from "../../../../tslib/tslib.es6.mjs"; import { each, defaults } from "../../../../zrender/lib/core/util.mjs"; import AxisBuilder from "./AxisBuilder.mjs"; import { groupTransition, subPixelOptimizeLine, mergePath } from "../../util/graphic.mjs"; import { layout } from "../../coord/single/singleAxisHelper.mjs"; import AxisView from "./AxisView.mjs"; import { rectCoordAxisHandleRemove, rectCoordAxisBuildSplitArea } from "./axisSplitHelper.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"]; var SingleAxisView = function(_super) { __extends(SingleAxisView2, _super); function SingleAxisView2() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.type = SingleAxisView2.type; _this.axisPointerClass = "SingleAxisPointer"; return _this; } SingleAxisView2.prototype.render = function(axisModel, ecModel, api, payload) { var group = this.group; group.removeAll(); var oldAxisGroup = this._axisGroup; this._axisGroup = new Group(); var layout$1 = layout(axisModel); var axisBuilder = new AxisBuilder(axisModel, layout$1); each(axisBuilderAttrs, axisBuilder.add, axisBuilder); group.add(this._axisGroup); group.add(axisBuilder.getGroup()); each(selfBuilderAttrs, function(name) { if (axisModel.get([name, "show"])) { axisElementBuilders[name](this, this.group, this._axisGroup, axisModel); } }, this); groupTransition(oldAxisGroup, this._axisGroup, axisModel); _super.prototype.render.call(this, axisModel, ecModel, api, payload); }; SingleAxisView2.prototype.remove = function() { rectCoordAxisHandleRemove(this); }; SingleAxisView2.type = "singleAxis"; return SingleAxisView2; }(AxisView); var axisElementBuilders = { splitLine: function(axisView, group, axisGroup, axisModel) { 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 = lineColors instanceof Array ? lineColors : [lineColors]; var lineWidth = lineStyleModel.get("width"); var gridRect = axisModel.coordinateSystem.getRect(); var isHorizontal = axis.isHorizontal(); var splitLines = []; var lineCount = 0; var ticksCoords = axis.getTicksCoords({ tickModel: splitLineModel }); var p1 = []; var p2 = []; 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 line = new Line({ shape: { x1: p1[0], y1: p1[1], x2: p2[0], y2: p2[1] }, silent: true }); subPixelOptimizeLine(line.shape, lineWidth); var colorIndex = lineCount++ % lineColors.length; splitLines[colorIndex] = splitLines[colorIndex] || []; splitLines[colorIndex].push(line); } var lineStyle = lineStyleModel.getLineStyle(["color"]); for (var i = 0; i < splitLines.length; ++i) { group.add(mergePath(splitLines[i], { style: defaults({ stroke: lineColors[i % lineColors.length] }, lineStyle), silent: true })); } }, splitArea: function(axisView, group, axisGroup, axisModel) { rectCoordAxisBuildSplitArea(axisView, axisGroup, axisModel, axisModel); } }; var SingleAxisView$1 = SingleAxisView; export { SingleAxisView$1 as default };