@antv/f2
Version:
Charts for mobile visualization.
67 lines (66 loc) • 2.53 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 _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
var _jsx = require("../../jsx");
var _component = _interopRequireDefault(require("../../base/component"));
var getPoint = function getPoint(cener, angle, r) {
var x = cener.x + Math.cos(angle) * r;
var y = cener.y + Math.sin(angle) * r;
return {
x: x,
y: y
};
};
var getTicks = function getTicks(start, end, tickCount, center, r, tickOffset, tickLength) {
var ticks = [];
var diff = end - start;
for (var i = 0; i <= tickCount; i++) {
var tickValue = start + diff * i / tickCount;
var startPoint = getPoint(center, tickValue, r + tickOffset - tickLength);
var endPoint = getPoint(center, tickValue, r + tickOffset);
ticks.push({
tickValue: tickValue,
start: startPoint,
end: endPoint
});
}
return ticks;
};
var _default = function _default(View) {
return /*#__PURE__*/function (_Component) {
(0, _inherits2.default)(Guage, _Component);
var _super = (0, _createSuper2.default)(Guage);
function Guage() {
(0, _classCallCheck2.default)(this, Guage);
return _super.apply(this, arguments);
}
(0, _createClass2.default)(Guage, [{
key: "render",
value: function render() {
var props = this.props,
context = this.context;
var startAngle = props.startAngle,
endAngle = props.endAngle,
tickCount = props.tickCount,
center = props.center,
r = props.r,
tickOffset = props.tickOffset,
tickLength = props.tickLength;
var ticks = getTicks(startAngle, endAngle, tickCount, center, context.px2hd(r), context.px2hd(tickOffset), context.px2hd(tickLength));
return (0, _jsx.jsx)(View, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {
ticks: ticks
}));
}
}]);
return Guage;
}(_component.default);
};
exports.default = _default;
;