@linkdesign/screen
Version:
屏组件库,但使用场景又不局限于屏。主要用于BI、大盘和屏
76 lines (74 loc) • 3.8 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = void 0;
var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
var _react = _interopRequireWildcard(require("react"));
var _classnames = _interopRequireDefault(require("classnames"));
var _countUp = _interopRequireDefault(require("../count-up"));
var _context = _interopRequireDefault(require("../context"));
var _Utils = require("../Utils");
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
var getLen = function getLen(value) {
var decimals = value.toString().split('.')[1];
return decimals ? decimals.length : 0;
};
/**
* 指标
*
* @class Indicator
* @extends {PureComponent<IIndicator>}
*/
var Indicator = /*#__PURE__*/function (_PureComponent) {
(0, _inheritsLoose2["default"])(Indicator, _PureComponent);
function Indicator(props) {
return _PureComponent.call(this, props) || this;
}
var _proto = Indicator.prototype;
_proto.render = function render() {
var _cssPrefix = this.context._cssPrefix;
var _this$props = this.props,
className = _this$props.className,
forwardRef = _this$props.forwardRef,
label = _this$props.label,
value = _this$props.value,
unit = _this$props.unit,
type = _this$props.type,
onClick = _this$props.onClick,
onMouseEnter = _this$props.onMouseEnter,
onMouseLeave = _this$props.onMouseLeave;
return /*#__PURE__*/_react["default"].createElement("div", {
ref: forwardRef,
className: (0, _classnames["default"])(_cssPrefix + "indicator-wrapper", className),
onClick: onClick,
onMouseEnter: onMouseEnter,
onMouseLeave: onMouseLeave
}, /*#__PURE__*/_react["default"].createElement("div", {
className: "" + _cssPrefix + type + "-indicator-title"
}, label), /*#__PURE__*/_react["default"].createElement("div", {
className: _cssPrefix + "indicator-value-wrapper"
}, !(0, _Utils.isInvalid)(value) && !isNaN(Number(value)) ? /*#__PURE__*/_react["default"].createElement(_countUp["default"], {
className: (0, _classnames["default"])(_cssPrefix + "data", "" + _cssPrefix + type + "-indicator-data"),
endVal: Number(value),
decimalPlaces: getLen(value)
}) : /*#__PURE__*/_react["default"].createElement("span", {
className: (0, _classnames["default"])("" + _cssPrefix + type + "-indicator-data")
}, value || '-'), unit && /*#__PURE__*/_react["default"].createElement("span", {
className: _cssPrefix + "indicator-unit"
}, unit)));
};
return Indicator;
}(_react.PureComponent); // @ts-ignore
Indicator.defaultProps = {
className: null,
type: 'core',
value: '-',
onClick: function onClick() {},
onMouseEnter: function onMouseEnter() {},
onMouseLeave: function onMouseLeave() {}
};
// @ts-ignore
Indicator.category = 'Text';
Indicator.contextType = _context["default"];
var _default = exports["default"] = Indicator;
;