UNPKG

@ttk/component

Version:

ttk组件库

214 lines (169 loc) 6.6 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var _extends = require('../extends-63327b06.js'); var defineProperty = require('../defineProperty-ad97b418.js'); var React = require('react'); var getPrototypeOf = require('../getPrototypeOf-3a7a3df9.js'); var antd = require('antd'); var classNames = require('classnames'); require('../_commonjsHelpers-badc9712.js'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var React__default = /*#__PURE__*/_interopDefaultLegacy(React); var classNames__default = /*#__PURE__*/_interopDefaultLegacy(classNames); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = getPrototypeOf._getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = getPrototypeOf._getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return getPrototypeOf._possibleConstructorReturn(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var InputNumberComponent = /*#__PURE__*/function (_Component) { getPrototypeOf._inherits(InputNumberComponent, _Component); var _super = _createSuper(InputNumberComponent); function InputNumberComponent() { var _this; getPrototypeOf._classCallCheck(this, InputNumberComponent); for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } _this = _super.call.apply(_super, [this].concat(args)); _this.state = { dafaultValue: _this.props.dafaultValue || '', focusStatus: false }; _this.formatter = function (value) { var regex = /(\d)(?=(?:\d{3})+$)/g; if ("".concat(value).indexOf('.') > -1) { regex = /(\d{1,3})(?=(\d{3})+(?:\.))/g; } value = "".concat(value).replace(regex, "$1,"); if (_this.props.clearZero === true && _this.state.focusStatus !== 'changing') { value = "".concat(value).replace(/(?:\.0*|(\.\d+?)0+)$/, '$1'); } return value; }; _this.parser = function (value) { var precision = _this.props.precision; if (!_this.preValue) _this.preValue = ''; if (!precision) precision = 6; if (value === '-' || value === '-0' || value === '-0.') { _this.preValue = value; return value; } if (value === '00') { _this.preValue = '0'; return '0'; } if (value === '-00') { _this.preValue = '-0'; return '-0'; } if (value === '--' || value == '-.') { _this.preValue = '-'; return '-'; } value = "".concat(value).replace(/\$\s?|(,*)/g, ''); if (!isNaN(Number(value))) { if (value.indexOf('.') > -1) { var len = "".concat(value).length - "".concat(value).indexOf('.') - 1; if (len > precision) { return _this.preValue; } } _this.preValue = value; return value; } else { return _this.preValue; } }; _this.onChange = function (value) { // console.log(this.inputRef, 'this.inputRef') _this.setState({ focusStatus: 'changing' }); if (_this.preValue === '-0' || _this.preValue === '-0.') { value = _this.preValue; } var onChange = _this.props.onChange; onChange && onChange(value); }; _this.onBlur = function (e) { _this.setState({ focusStatus: false }); var _this$props = _this.props, onBlur = _this$props.onBlur, clearZero = _this$props.clearZero; e.target.value = "".concat(e.target.value).replace(/,/g, ''); if (clearZero === true) { if (e.target.value) { e.target.value = "".concat(e.target.value).replace(/(?:\.0*|(\.\d+?)0+)$/, '$1'); } } onBlur && onBlur(e); }; _this.onFocus = function (e) { _this.setState({ focusStatus: true }); var onFocus = _this.props.onFocus; onFocus && onFocus(e); }; return _this; } getPrototypeOf._createClass(InputNumberComponent, [{ key: "componentDidMount", value: function componentDidMount() { this.preValue = this.inputRef.inputNumberRef.state.inputValue || ''; } }, { key: "componentWillReceiveProps", value: function componentWillReceiveProps(nextProps) { if (nextProps.dafaultValue != this.state.dafaultValue) { this.setState({ dafaultValue: nextProps.dafaultValue }); } } }, { key: "componentWillUnmount", value: function componentWillUnmount() { this.preValue = ''; } }, { key: "render", value: function render() { var _this2 = this; var dafaultValue = this.state.dafaultValue; var title; if (Object.keys(this.props).includes('title')) { title = this.props.title || ''; } else if (Object.keys(this.props).includes('value')) { title = this.formatter(this.props.value || ''); } else { title = this.formatter(this.props.defaultValue || ''); } return /*#__PURE__*/React__default["default"].createElement("div", { title: title }, /*#__PURE__*/React__default["default"].createElement(antd.InputNumber, _extends._extends({}, this.props, { defaultValue: dafaultValue, formatter: this.formatter, parser: this.parser, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, ref: function ref(_ref) { return _this2.inputRef = _ref; } }))); } }]); return InputNumberComponent; }(React.Component); InputNumberComponent.defaultProps = { dafaultValue: '' }; function AntInputNumberComponent(props) { var className = classNames__default["default"](defineProperty._defineProperty({ 'mk-ant-input-number': true }, props.className, !!props.className)); return /*#__PURE__*/React__default["default"].createElement(InputNumberComponent, _extends._extends({}, props, { className: className })); } exports["default"] = AntInputNumberComponent;