UNPKG

@aliretail/react-materials-components

Version:
110 lines (88 loc) 4.13 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports["default"] = void 0; var _dialog = _interopRequireDefault(require("@alifd/next/lib/dialog")); var _message = _interopRequireDefault(require("@alifd/next/lib/message")); var _form = _interopRequireDefault(require("@alifd/next/lib/form")); var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _input = _interopRequireDefault(require("@alifd/next/lib/input")); var _field = _interopRequireDefault(require("@alifd/next/lib/field")); var React = _interopRequireWildcard(require("react")); function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } /* eslint-disable react/prop-types */ var InputDialog = function InputDialog(props) { var title = props.title, content = props.content, formProps = props.formProps, formItemProps = props.formItemProps, children = props.children, onOk = props.onOk; var field = _field["default"].useField(); var _React$useState = React.useState(false), visible = _React$useState[0], setVisible = _React$useState[1]; var _React$useState2 = React.useState(false), loading = _React$useState2[0], setLoading = _React$useState2[1]; var trigger = React.Children.only(children); var handleClick = function handleClick() { setVisible(true); }; var handleOk = function handleOk() { field.validatePromise().then(function (_ref) { var values = _ref.values, errors = _ref.errors; if (!errors) { setLoading(true); return onOk === null || onOk === void 0 ? void 0 : onOk(values.value); } return Promise.reject(); }).then(function () { setVisible(false); })["finally"](function () { setLoading(false); }); }; return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.cloneElement(trigger, { onClick: handleClick }), /*#__PURE__*/React.createElement(_dialog["default"], { className: "aliretail-input-dialog", style: { width: 400 }, visible: visible, onOk: handleOk, okProps: { loading: loading }, onCancel: function onCancel() { return setVisible(false); } }, /*#__PURE__*/React.createElement(_message["default"], { className: "aliretail-input-dialog-message", title: title, type: "warning", size: "large", shape: "addon" }, content, /*#__PURE__*/React.createElement(_form["default"], (0, _extends2["default"])({ style: { marginTop: 16 }, field: field, labelCol: { span: 5 }, wrapperCol: { span: 19 } }, formProps), /*#__PURE__*/React.createElement(_form["default"].Item, (0, _extends2["default"])({ required: true }, formItemProps), /*#__PURE__*/React.createElement(_input["default"].TextArea, { name: "value", placeholder: "\u8BF7\u8F93\u5165" })))))); }; var _default = InputDialog; exports["default"] = _default;