UNPKG

choerodon-ui

Version:

An enterprise-class UI design language and React-based implementation

216 lines (171 loc) 7.77 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"]; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2")); var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get")); var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper")); var _tslib = require("tslib"); var _react = _interopRequireDefault(require("react")); var _mobxReact = require("mobx-react"); var _classnames = _interopRequireDefault(require("classnames")); var _isString = _interopRequireDefault(require("lodash/isString")); var _noop = _interopRequireDefault(require("lodash/noop")); var _rate = _interopRequireDefault(require("../../../lib/rate")); var _enum = require("../core/enum"); var _utils = require("../form/utils"); var _FormField2 = require("../field/FormField"); var _utils2 = require("../field/utils"); var _icon = _interopRequireDefault(require("../icon")); var _enum2 = require("../form/enum"); var _autobind = _interopRequireDefault(require("../_util/autobind")); var _singleton = require("../tooltip/singleton"); var Rate = /*#__PURE__*/function (_FormField) { (0, _inherits2["default"])(Rate, _FormField); var _super = (0, _createSuper2["default"])(Rate); function Rate() { var _this; (0, _classCallCheck2["default"])(this, Rate); _this = _super.apply(this, arguments); _this.onChange = function (value) { _this.setValue(value); }; return _this; } (0, _createClass2["default"])(Rate, [{ key: "hasFloatLabel", get: function get() { var labelLayout = this.labelLayout; if (labelLayout) { return [_enum2.LabelLayout["float"], _enum2.LabelLayout.placeholder].includes(labelLayout); } return false; } }, { key: "renderValidationResult", value: function renderValidationResult(validationResult) { var validationMessage = this.getValidationMessage(validationResult); var _this$context = this.context, labelLayout = _this$context.labelLayout, showValidation = _this$context.showValidation; if (validationMessage) { var showIcon = !(labelLayout && [_enum2.LabelLayout["float"], _enum2.LabelLayout.placeholder].includes(labelLayout) || showValidation === _enum2.ShowValidation.newLine); return (0, _utils2.renderValidationMessage)(validationMessage, showIcon); } } }, { key: "handleHelpMouseEnter", value: function handleHelpMouseEnter(e) { var _this$context2 = this.context, getTooltipTheme = _this$context2.getTooltipTheme, getTooltipPlacement = _this$context2.getTooltipPlacement; (0, _singleton.show)(e.currentTarget, { title: this.getProp('help'), popupClassName: "".concat(this.getContextConfig('proPrefixCls'), "-tooltip-popup-help"), theme: getTooltipTheme('help'), placement: getTooltipPlacement('help') }); } }, { key: "handleHelpMouseLeave", value: function handleHelpMouseLeave() { (0, _singleton.hide)(); } }, { key: "renderTooltipHelp", value: function renderTooltipHelp() { var help = this.getProp('help'); if (help) { return /*#__PURE__*/_react["default"].createElement(_icon["default"], { type: "help", onMouseEnter: this.handleHelpMouseEnter, onMouseLeave: this.handleHelpMouseLeave }); } } }, { key: "renderFloatLabel", value: function renderFloatLabel() { if (this.hasFloatLabel) { var label = this.getLabel(); if (label) { var _classNames; var labelTooltip = this.labelTooltip, floatLabelOffsetX = this.floatLabelOffsetX; var prefixCls = this.getContextProPrefixCls(_utils.FIELD_SUFFIX); var required = this.getProp('required'); var classString = (0, _classnames["default"])("".concat(prefixCls, "-label"), (_classNames = {}, (0, _defineProperty2["default"])(_classNames, "".concat(prefixCls, "-required"), required), (0, _defineProperty2["default"])(_classNames, "".concat(prefixCls, "-readonly"), this.readOnly), _classNames)); var style = floatLabelOffsetX ? { marginLeft: floatLabelOffsetX } : undefined; return /*#__PURE__*/_react["default"].createElement("div", { className: "".concat(prefixCls, "-label-wrapper"), style: style }, /*#__PURE__*/_react["default"].createElement("div", { className: classString, title: (0, _isString["default"])(label) && !(labelTooltip && [_enum.Tooltip.always, _enum.Tooltip.overflow].includes(labelTooltip)) ? label : undefined, onMouseEnter: this.handleFloatLabelMouseEnter, onMouseLeave: this.handleFloatLabelMouseLeave }, label), this.renderTooltipHelp()); } } } }, { key: "getOtherProps", value: function getOtherProps() { var otherProps = (0, _get2["default"])((0, _getPrototypeOf2["default"])(Rate.prototype), "getOtherProps", this).call(this); otherProps.onFocus = _noop["default"]; otherProps.onBlur = _noop["default"]; return otherProps; } }, { key: "renderWrapper", value: function renderWrapper() { var value = this.getValue(); return /*#__PURE__*/_react["default"].createElement("label", (0, _extends2["default"])({ key: "wrapper" }, this.getWrapperProps()), this.renderFloatLabel(), /*#__PURE__*/_react["default"].createElement("div", { onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave }, /*#__PURE__*/_react["default"].createElement(_rate["default"], (0, _extends2["default"])({}, this.getOtherProps(), { onChange: this.onChange, value: value })))); } }, { key: "renderHelpMessage", value: function renderHelpMessage() { var label = this.getLabel(); if (!this.hasFloatLabel || !label) { var help = this.getProp('help'); if (help) { return /*#__PURE__*/_react["default"].createElement("div", { key: "help", className: "".concat(this.getContextProPrefixCls(_utils.FIELD_SUFFIX), "-help") }, help); } } } }]); return Rate; }(_FormField2.FormField); Rate.displayName = 'Rate'; Rate.defaultProps = (0, _objectSpread2["default"])((0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, _rate["default"].defaultProps), _FormField2.FormField.defaultProps), {}, { suffixCls: 'rate' }); // eslint-disable-next-line camelcase Rate.__PRO_RATE = true; // eslint-disable-next-line camelcase Rate.__IS_IN_CELL_EDITOR = true; (0, _tslib.__decorate)([_autobind["default"]], Rate.prototype, "renderValidationResult", null); (0, _tslib.__decorate)([_autobind["default"]], Rate.prototype, "handleHelpMouseEnter", null); Rate = (0, _tslib.__decorate)([_mobxReact.observer], Rate); var _default = Rate; exports["default"] = _default; //# sourceMappingURL=Rate.js.map