@antv/f2
Version:
Charts for mobile visualization.
68 lines (67 loc) • 2.04 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
var _jsx = require("../../jsx");
var _default = function _default(props) {
var lineStyle = props.lineStyle,
anchorStyle = props.anchorStyle,
labels = props.labels,
label1OffsetY = props.label1OffsetY,
label2OffsetY = props.label2OffsetY,
triggerRef = props.triggerRef;
return (0, _jsx.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, _jsx.jsx)("group", null, (0, _jsx.jsx)("circle", {
attrs: (0, _objectSpread2.default)({
r: '4px',
x: anchor.x,
y: anchor.y,
fill: color
}, anchorStyle)
}), (0, _jsx.jsx)("polyline", {
attrs: (0, _objectSpread2.default)({
points: points,
lineWidth: '2px',
stroke: color
}, lineStyle)
}), (0, _jsx.jsx)("text", {
className: "click",
attrs: (0, _objectSpread2.default)({
x: end.x,
y: end.y + label1OffsetY,
fontSize: '24px',
lineHeight: '24px',
fill: color,
textBaseline: 'bottom',
textAlign: side === 'left' ? 'left' : 'right'
}, label1),
data: origin
}), (0, _jsx.jsx)("text", {
className: "click",
attrs: (0, _objectSpread2.default)({
x: end.x,
y: end.y + label2OffsetY,
fontSize: '24px',
lineHeight: '24px',
fill: '#808080',
textBaseline: 'top',
textAlign: side === 'left' ? 'left' : 'right'
}, label2),
data: origin
}));
}));
};
exports.default = _default;
;