@wufengteam/wform
Version:
@wufengteam/wform
100 lines (98 loc) • 4.41 kB
JavaScript
;
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = _interopRequireWildcard(require("react"));
var _antd = require("antd");
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 && {}.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 __rest = void 0 && (void 0).__rest || function (s, e) {
var t = {};
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
}
return t;
};
/* eslint-disable no-console */
var InputNumber = function InputNumber(props) {
var value = props.value,
_onChange = props.onChange,
formatting = props.formatting,
disabled = props.disabled,
basicStatus = props.basicStatus,
placeholder = props.placeholder,
onFocusStateChange = props.onFocusStateChange,
restProps = __rest(props, ["value", "onChange", "formatting", "disabled", "basicStatus", "placeholder", "onFocusStateChange"]);
var formatter = function formatter(va) {
var val = va;
try {
if (va.length > 14) {
val = va.substring(0, 14);
}
if (formatting === 'percent') {
if (val.length > 10) {
val = val.substring(0, 10);
}
var p = val.length - val.indexOf('.');
// eslint-disable-next-line no-mixed-operators
return "".concat(parseInt("".concat(val * Math.pow(10, p)), 10) * 100 / Math.pow(10, p), "%");
}
var withComma = function withComma(str) {
return str.split('').reverse().join('').replace(/(\d{1,3})/g, ',$1').split('').reverse().join('').replace(/,$/, '');
};
if (formatting === 'comma' && val.indexOf('.') > -1) {
return withComma(val.substring(0, val.indexOf('.'))) + val.substring(val.indexOf('.'));
}
if (formatting === 'comma') {
return withComma("".concat(val));
}
} catch (error) {
console.error(error);
}
return val;
};
var parser = function parser(val) {
try {
if (formatting === 'percent') {
return parseFloat((val.replace('%', '') / 100).toFixed(10));
}
if (formatting === 'comma') {
return val.replace(/(,*)/g, '');
}
} catch (error) {
// eslint-disable-next-line no-console
console.error(error);
}
return val;
};
var inputNumberProps = (0, _react.useMemo)(function () {
var targetProps = Object.assign({}, restProps);
if (formatting && formatting !== '') {
targetProps.formatter = formatter;
targetProps.parser = parser;
delete targetProps.precision;
}
return targetProps;
}, [formatting, restProps]);
return /*#__PURE__*/_react.default.createElement(_antd.InputNumber, Object.assign({}, inputNumberProps, {
disabled: disabled || basicStatus === 3,
value: value,
onChange: function onChange(e) {
_onChange(e);
},
placeholder: placeholder,
onBlur: function onBlur() {
onFocusStateChange('blur');
},
onFocus: function onFocus() {
onFocusStateChange('focus');
},
style: {
width: '100%'
}
}));
};
var _default = exports.default = InputNumber;