@antv/f2
Version:
Charts for mobile visualization.
63 lines (62 loc) • 1.82 kB
JavaScript
"use strict";
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 defaultProps = {
offsetX: 0,
offsetY: 0,
points: [],
src: ''
};
var baseAttrs = {
height: '20px',
width: '20px'
};
var _default = function _default(props, context) {
var cfg = (0, _util.deepMix)({}, defaultProps, props);
var points = cfg.points,
style = cfg.style,
attrs = cfg.attrs,
offsetX = cfg.offsetX,
offsetY = cfg.offsetY,
src = cfg.src,
animation = cfg.animation;
var _ref = points[0] || {},
x = _ref.x,
y = _ref.y;
var _attrs$height = attrs.height,
height = _attrs$height === void 0 ? 0 : _attrs$height,
_attrs$width = attrs.width,
width = _attrs$width === void 0 ? 0 : _attrs$width;
var heightNum = context.px2hd(height + 'px');
var widthNum = context.px2hd(width + 'px');
var offsetXNum = context.px2hd(offsetX);
var offsetYNum = context.px2hd(offsetY);
var posX = x + (offsetXNum || 0) - widthNum / 2;
var posY = y + (offsetYNum || 0) - heightNum / 2;
return (0, _jsx.jsx)("group", {
style: style
}, (0, _jsx.jsx)("image", {
attrs: (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, baseAttrs), attrs), {}, {
height: heightNum,
width: widthNum,
x: posX,
y: posY,
src: src
}),
cacheImage: true,
animation: (0, _util.deepMix)({
update: {
easing: 'linear',
duration: 450,
property: ['x', 'y']
}
}, animation)
}));
};
exports.default = _default;