@antv/f2
Version:
Charts for mobile visualization.
78 lines (77 loc) • 2.13 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 coord = props.coord,
records = props.records,
animation = props.animation;
var center = coord.center,
startAngle = coord.startAngle,
endAngle = coord.endAngle,
radius = coord.radius;
return (0, _jsx.jsx)("group", {
animation: {
appear: (0, _objectSpread2.default)((0, _objectSpread2.default)({
easing: 'quadraticOut',
duration: 450
}, animation && animation.appear), {}, {
clip: {
type: 'sector',
property: ['endAngle'],
attrs: {
x: center.x,
y: center.y,
startAngle: startAngle,
r: radius
},
start: {
endAngle: startAngle
},
end: {
endAngle: endAngle
}
}
})
}
}, records.map(function (record) {
var key = record.key,
children = record.children;
return (0, _jsx.jsx)("group", {
key: key
}, children.map(function (item) {
var key = item.key,
xMin = item.xMin,
xMax = item.xMax,
yMin = item.yMin,
yMax = item.yMax,
color = item.color,
shape = item.shape;
return (0, _jsx.jsx)("sector", {
key: key,
attrs: (0, _objectSpread2.default)({
x: center.x,
y: center.y,
fill: color,
startAngle: xMin,
endAngle: xMax,
r0: yMin,
r: yMax
}, shape),
animation: (0, _util.deepMix)({
update: {
easing: 'linear',
duration: 450,
property: ['x', 'y', 'startAngle', 'endAngle', 'r0', 'r']
}
}, animation)
});
}));
}));
};
exports.default = _default;
;