@antv/f2
Version:
Charts for mobile visualization.
36 lines (35 loc) • 1.39 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 _util = require("@antv/util");
var _default = function _default(props) {
var _props$theme = props.theme,
theme = _props$theme === void 0 ? {} : _props$theme;
var _deepMix = (0, _util.deepMix)((0, _objectSpread2.default)({}, theme.line), props),
coord = _deepMix.coord,
points = _deepMix.points,
style = _deepMix.style,
animation = _deepMix.animation;
var start = points[0] || {};
var end = points[1] || {};
var coordCenter = coord.center;
var radius = Math.sqrt((start.x - coordCenter.x) * (start.x - coordCenter.x) + (start.y - coordCenter.y) * (start.y - coordCenter.y));
var startAngle = Math.atan2(start.y - coordCenter.y, start.x - coordCenter.x);
var endAngle = Math.atan2(end.y - coordCenter.y, end.x - coordCenter.x);
return (0, _jsx.jsx)("group", null, (0, _jsx.jsx)("arc", {
attrs: (0, _objectSpread2.default)({
x: coordCenter.x,
y: coordCenter.y,
r: radius,
startAngle: startAngle,
endAngle: endAngle
}, style),
animation: animation
}));
};
exports.default = _default;
;