@jdcfe/yep-react
Version:
一套移动端的React组件库
206 lines (176 loc) • 8.1 kB
JavaScript
import _extends from "@babel/runtime/helpers/extends";
import _defineProperty from "@babel/runtime/helpers/defineProperty";
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
import _createClass from "@babel/runtime/helpers/createClass";
import _inherits from "@babel/runtime/helpers/inherits";
import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _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 __rest = this && this.__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;
};
import * as React from 'react';
import TouchFeedback from '../touch-feedback';
import classNames from 'classnames';
var NumberKeyboard = /*#__PURE__*/function (_React$PureComponent) {
_inherits(NumberKeyboard, _React$PureComponent);
var _super = _createSuper(NumberKeyboard);
function NumberKeyboard(props) {
var _this;
_classCallCheck(this, NumberKeyboard);
_this = _super.call(this, props);
_this.onKeyboardClick = function (e) {
var value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
e.nativeEvent.stopImmediatePropagation();
if (value) {
if (value === 'delete') {
_this.props.delete && _this.props.delete();
} else if (value === 'confirm') {
_this.props.confirm && _this.props.confirm();
} else if (value === 'null') {
return null;
} else {
_this.props.input && _this.props.input(value);
}
} else {
return null;
}
};
_this.renderKeyboardItem = function (item, index) {
return /*#__PURE__*/React.createElement(KeyboardItem, {
onClick: _this.onKeyboardClick,
key: "item-".concat(item, "-").concat(index)
}, item);
};
return _this;
}
_createClass(NumberKeyboard, [{
key: "renderDefault",
value: function renderDefault() {
var _this2 = this;
var theme = this.props.theme;
return /*#__PURE__*/React.createElement("table", null, /*#__PURE__*/React.createElement("tbody", null, /*#__PURE__*/React.createElement("tr", null, ['1', '2', '3'].map(function (item, i) {
return _this2.renderKeyboardItem(item, i);
})), /*#__PURE__*/React.createElement("tr", null, ['4', '5', '6'].map(function (item, i) {
return _this2.renderKeyboardItem(item, i);
})), /*#__PURE__*/React.createElement("tr", null, ['7', '8', '9'].map(function (item, i) {
return _this2.renderKeyboardItem(item, i);
})), /*#__PURE__*/React.createElement("tr", null, ["".concat(theme === 'default' ? '.' : ''), '0'].map(function (item, i) {
return _this2.renderKeyboardItem(item, i);
}), /*#__PURE__*/React.createElement(KeyboardItem, {
className: 'keyboard-delete',
onClick: this.onKeyboardClick,
key: "item-delete"
}, "\u5220\u9664"))));
}
}, {
key: "renderCustom",
value: function renderCustom() {
var _this3 = this;
return /*#__PURE__*/React.createElement("table", null, /*#__PURE__*/React.createElement("tbody", null, /*#__PURE__*/React.createElement("tr", null, ['1', '2', '3'].map(function (item, i) {
return _this3.renderKeyboardItem(item, i);
}), /*#__PURE__*/React.createElement(KeyboardItem, {
className: "keyboard-delete",
rowSpan: 2,
onClick: this.onKeyboardClick
}, "\u5220\u9664")), /*#__PURE__*/React.createElement("tr", null, ['4', '5', '6'].map(function (item, i) {
return _this3.renderKeyboardItem(item, i);
})), /*#__PURE__*/React.createElement("tr", null, ['7', '8', '9'].map(function (item, i) {
return _this3.renderKeyboardItem(item, i);
}), /*#__PURE__*/React.createElement(KeyboardItem, {
className: "keyboard-confirm",
rowSpan: 2,
onClick: this.onKeyboardClick
}, "\u786E\u5B9A")), /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement(KeyboardItem, {
onClick: this.onKeyboardClick,
colSpan: 2,
key: "item-0"
}, "0"), ['.'].map(function (item, i) {
return _this3.renderKeyboardItem(item, i);
}))));
}
}, {
key: "render",
value: function render() {
var _this$props = this.props,
prefixCls = _this$props.prefixCls,
header = _this$props.header,
theme = _this$props.theme,
show = _this$props.show,
className = _this$props.className;
var wrapperCls = classNames("".concat(prefixCls, "-wrapper"), _defineProperty({}, "".concat(prefixCls, "-wrapper-custom"), theme === 'custom'), _defineProperty({}, "".concat(prefixCls, "-wrapper-hide"), !show), className);
return /*#__PURE__*/React.createElement("div", {
className: wrapperCls
}, header && /*#__PURE__*/React.cloneElement(header(), {
onClick: this.onKeyboardClick
}), theme === 'default' ? this.renderDefault() : theme === 'custom' ? this.renderCustom() : theme === 'password' ? this.renderDefault() : this.renderDefault());
}
}]);
return NumberKeyboard;
}(React.PureComponent);
export { NumberKeyboard as default };
NumberKeyboard.defaultProps = {
prefixCls: 'Yep-number-keyboard',
style: {},
show: false,
theme: 'default',
transition: true,
zIndex: 100,
input: function input() {},
delete: function _delete() {},
confirm: function confirm() {}
};
var KeyboardItem = /*#__PURE__*/function (_React$PureComponent2) {
_inherits(KeyboardItem, _React$PureComponent2);
var _super2 = _createSuper(KeyboardItem);
function KeyboardItem(props) {
_classCallCheck(this, KeyboardItem);
return _super2.call(this, props);
}
_createClass(KeyboardItem, [{
key: "render",
value: function render() {
var _a = this.props,
prefixCls = _a.prefixCls,
className = _a.className,
_onClick = _a.onClick,
children = _a.children,
resetProps = __rest(_a, ["prefixCls", "className", "onClick", "children"]);
var KeyboardItemCls = classNames("".concat(prefixCls, "-item"), className);
var value = children;
if (className === 'keyboard-delete') {
value = 'delete';
} else if (className === 'keyboard-hide') {
value = 'hide';
} else if (className === 'keyboard-confirm') {
value = 'confirm';
} else if (value === '') {
value = 'null';
}
return /*#__PURE__*/React.createElement(TouchFeedback, {
activeClassName: "".concat(prefixCls, "-item-active")
}, /*#__PURE__*/React.createElement("td", _extends({
className: KeyboardItemCls,
onClick: function onClick(e) {
_onClick(e, value);
}
}, resetProps, {
"data-value": children
}), children));
}
}]);
return KeyboardItem;
}(React.PureComponent);
KeyboardItem.defaultProps = {
prefixCls: 'Yep-number-keyboard',
style: {},
onClick: function onClick() {}
};