UNPKG

ukelli-ui

Version:

Base on React's UI lib. Make frontend's dev simpler and faster.

59 lines (58 loc) 3.23 kB
var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); import React from 'react'; import { ToFixed } from 'basic-helper'; import NumTransformToCN from 'basic-helper/num-to-cn'; import InputVerifyClass from './input-verify-class'; function precentFilter(val, isPrecent) { return isPrecent ? ToFixed(val / 10, 1) : val; } var FormTip = function (_a) { var children = _a.children; return (React.createElement("span", { className: "form-tip" }, children)); }; /** * 继承于 InputVerifyClass 的模版 * * @export * @class InputNumber * @extends {InputVerifyClass} */ var InputNumber = /** @class */ (function (_super) { __extends(InputNumber, _super); function InputNumber() { return _super !== null && _super.apply(this, arguments) || this; } InputNumber.prototype.render = function () { var _this = this; var _a = this.state, matchLen = _a.matchLen, matchRange = _a.matchRange; var _b = this.props, _c = _b.className, className = _c === void 0 ? '' : _c, _d = _b.type, type = _d === void 0 ? 'input' : _d, _e = _b.needCN, needCN = _e === void 0 ? false : _e, _f = _b.selectable, selectable = _f === void 0 ? true : _f, _g = _b.unit, unit = _g === void 0 ? 1 : _g, _h = _b.inputable, inputable = _h === void 0 ? true : _h, _j = _b.precent, precent = _j === void 0 ? false : _j, style = _b.style; var value = this.getValue(); var PrecentDOM = precent && (React.createElement(FormTip, null, precentFilter(value, precent), "%")); var CNNumDOM = needCN && (React.createElement(FormTip, null, NumTransformToCN(value))); return (React.createElement("div", { className: "input-verify" + ((!matchLen || !matchRange) ? ' error' : '') }, React.createElement("input", { type: type, value: value, style: style, readOnly: !inputable, className: "form-control " + className, onBlur: function (e) { return _this._onBlur(e); }, onChange: function (e) { return _this._onChange(e.target.value); }, onFocus: function (e) { return _this._onFocus(e.target.value, e); } }), selectable && (React.createElement("div", { className: "option-btns" }, React.createElement("div", { className: "minu _btn", onClick: function (e) { return _this._onChange((+value - unit)); } }, React.createElement("span", null, "-")), React.createElement("div", { className: "plus _btn", onClick: function (e) { return _this._onChange((+value + unit)); } }, React.createElement("span", null, "+")))), CNNumDOM, PrecentDOM)); }; return InputNumber; }(InputVerifyClass)); export default InputNumber;