UNPKG

@antv/f2

Version:

Charts for mobile visualization.

67 lines (66 loc) 2.53 kB
"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 _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;