UNPKG

@antv/f2

Version:

Charts for mobile visualization.

73 lines (72 loc) 2.05 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _tslib = require("tslib"); var _fEngine = require("@antv/f-engine"); var _default = exports.default = function _default(props) { var lineStyle = props.lineStyle, anchorStyle = props.anchorStyle, labels = props.labels, label1OffsetY = props.label1OffsetY, label2OffsetY = props.label2OffsetY, triggerRef = props.triggerRef, onClick = props.onClick; return (0, _fEngine.jsx)("group", { ref: triggerRef }, labels.map(function (label) { var origin = label.origin, anchor = label.anchor, side = label.side, color = label.color, label1 = label.label1, label2 = label.label2, points = label.points; var end = points[points.length - 1]; return (0, _fEngine.jsx)("group", { onClick: onClick ? function () { onClick(label); } : null }, (0, _fEngine.jsx)("circle", { attrs: (0, _tslib.__assign)({ r: '4px', cx: anchor.x, cy: anchor.y, fill: color }, anchorStyle) }), (0, _fEngine.jsx)("polyline", { attrs: (0, _tslib.__assign)({ points: points.map(function (d) { return [d.x, d.y]; }), lineWidth: '2px', stroke: color }, lineStyle) }), (0, _fEngine.jsx)("text", { className: "click", attrs: (0, _tslib.__assign)({ x: end.x, y: end.y + label1OffsetY, fontSize: '24px', lineHeight: '24px', fill: color, textBaseline: 'bottom', textAlign: side === 'left' ? 'left' : 'right' }, label1), data: origin }), (0, _fEngine.jsx)("text", { className: "click", attrs: (0, _tslib.__assign)({ x: end.x, y: end.y + label2OffsetY, fontSize: '24px', lineHeight: '24px', fill: '#808080', textBaseline: 'top', textAlign: side === 'left' ? 'left' : 'right' }, label2), data: origin })); })); };