UNPKG

@antv/g2plot

Version:

G2 Plot, a market of plots built with the Grammar of Graphics'

48 lines 1.95 kB
import { __extends } from "tslib"; import { ElementLabels, registerElementLabels } from '@antv/g2'; import { deepMix, each } from '@antv/util'; var MARGIN = 10; var AreaLineElementLabels = /** @class */ (function (_super) { __extends(AreaLineElementLabels, _super); function AreaLineElementLabels() { return _super !== null && _super.apply(this, arguments) || this; } AreaLineElementLabels.prototype.showLabels = function (points, shapes) { var _this = this; var labelPoints = []; each(shapes, function (shape) { var originData = shape.get('origin'); var lastPoint = deepMix({}, originData[originData.length - 1]); var bbox = shape.getBBox(); lastPoint.x = bbox.maxX + MARGIN; lastPoint.y = lastPoint.y[1]; labelPoints.push(lastPoint); }); _super.prototype.showLabels.call(this, labelPoints, shapes); var renderer = this.get('labelsRenderer'); var labels = renderer.get('group').get('children'); var view = this.get('element').get('view'); each(labels, function (label) { label.attr('textAlign', 'left'); label.attr('textBaseline', 'middle'); var origin = label.get('origin'); var shapeId = _this.get('element').getShapeId(origin); var color = _this._adjustColor(shapeId, shapes); label.attr('fill', color); }); view.get('canvas').draw(); }; AreaLineElementLabels.prototype._adjustColor = function (shapeId, shapes) { var color; each(shapes, function (shape) { var id = shape.id; if (id === shapeId) { color = shape.attr('fill'); } }); return color; }; return AreaLineElementLabels; }(ElementLabels)); registerElementLabels('areaLine', AreaLineElementLabels); //# sourceMappingURL=line-label.js.map