UNPKG

linkmore-design

Version:

🌈 🚀lm组件库。🚀

164 lines (162 loc) 5.97 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _ahooks = require("ahooks"); var _react = _interopRequireWildcard(require("react")); var _button = _interopRequireDefault(require("../../../button")); var _form = _interopRequireDefault(require("../../../form")); var _iconFont = _interopRequireDefault(require("../../../icon-font")); var _input = _interopRequireDefault(require("../../../input")); var _modal = _interopRequireDefault(require("../../../modal")); var _space = _interopRequireDefault(require("../../../space")); var _switch = _interopRequireDefault(require("../../../switch")); var _constants = require("../../constants"); var _interface = require("../../interface"); const Append = ({ onCancel, onSave, form }) => { const [loading, setLoading] = _react.default.useState(false); const onAppendSave = async () => { setLoading(true); try { const values = await form.validateFields(); onSave && (await onSave(values)); onCancel && onCancel(); } catch (error) { console.log('Error:保存失败!', error); } finally { setLoading(false); } }; return /*#__PURE__*/_react.default.createElement("div", { className: `${_constants.prefix}_custom_append` }, /*#__PURE__*/_react.default.createElement("div", { className: "custom_append_modal_header" }, /*#__PURE__*/_react.default.createElement("span", { className: "custom_append_modal_title" }, "\u53E6\u5B58\u4E3A\u65B0\u65B9\u6848"), /*#__PURE__*/_react.default.createElement(_button.default, { type: "text", shape: "circle", icon: /*#__PURE__*/_react.default.createElement(_iconFont.default, { type: "lm-icon-a-tongyongaRX" }), onClick: () => onCancel?.() })), /*#__PURE__*/_react.default.createElement(_form.default, { name: "dynamic_form_item", className: "custom_append_modal_body", layout: "vertical", form: form, initialValues: { default: true } }, /*#__PURE__*/_react.default.createElement(_form.default.Item, { name: "label", label: "\u540D\u79F0", rules: [{ required: true }] }, /*#__PURE__*/_react.default.createElement(_input.default, { placeholder: "\u8BF7\u8F93\u5165", size: "middle" })), /*#__PURE__*/_react.default.createElement(_form.default.Item, { name: "value", hidden: true }, /*#__PURE__*/_react.default.createElement(_input.default, null)), /*#__PURE__*/_react.default.createElement("div", { className: "form_label" }, "\u8BBE\u4E3A\u9ED8\u8BA4"), /*#__PURE__*/_react.default.createElement(_form.default.Item, { name: "default", label: "\u8BBE\u4E3A\u9ED8\u8BA4", valuePropName: "checked", noStyle: true }, /*#__PURE__*/_react.default.createElement(_switch.default, null))), /*#__PURE__*/_react.default.createElement("div", { className: "custom_append_modal_footer" }, /*#__PURE__*/_react.default.createElement(_button.default, { onClick: () => onCancel(false) }, "\u53D6\u6D88"), /*#__PURE__*/_react.default.createElement(_button.default, { type: "primary", onClick: onAppendSave, loading: loading }, "\u4FDD\u5B58"))); }; const Cover = ({ onCancel, onTypeChange, onSave }) => { const [loading, setLoading] = _react.default.useState(false); const onCoverSave = async () => { setLoading(true); try { onSave && (await onSave()); onCancel && onCancel(); } catch (error) { console.log('Error:保存失败!', error); } finally { setLoading(false); } }; return /*#__PURE__*/_react.default.createElement("div", { className: `${_constants.prefix}_custom_save` }, /*#__PURE__*/_react.default.createElement("div", { className: "custom_save_modal_title" }, "\u4FDD\u5B58\u7B5B\u9009\u65B9\u6848"), /*#__PURE__*/_react.default.createElement("div", { className: "custom_save_modal_content" }, "\u70B9\u51FB\u4FDD\u5B58\u5C06\u8986\u76D6\u539F\u6765\u7684\u7B5B\u9009\u65B9\u6848\u3002"), /*#__PURE__*/_react.default.createElement("div", { className: "custom_save_modal_footer" }, /*#__PURE__*/_react.default.createElement("span", { className: "footer_link_text", onClick: () => onTypeChange(_interface.MODAL_TYPE_ENUM.APPEND) }, "\u53E6\u5B58\u4E3A\u65B0\u65B9\u6848"), /*#__PURE__*/_react.default.createElement(_space.default, { size: 8 }, /*#__PURE__*/_react.default.createElement(_button.default, { onClick: () => onCancel(false) }, "\u53D6\u6D88"), /*#__PURE__*/_react.default.createElement(_button.default, { type: "primary", onClick: onCoverSave, loading: loading }, "\u4FDD\u5B58")))); }; // 覆盖当前筛选方案提示 const SaveConfirm = props => { const { open, onCancel, onSave, form } = props; const [type, setType] = (0, _ahooks.useControllableValue)(props, { defaultValue: _interface.MODAL_TYPE_ENUM.COVER, valuePropName: 'type', trigger: 'onTypeChange' }); const isRename = type === _interface.MODAL_TYPE_ENUM.RENAME; const isAppend = type === _interface.MODAL_TYPE_ENUM.APPEND; const isCover = type === _interface.MODAL_TYPE_ENUM.COVER; const modalConfig = { open, closable: false, size: 'small', onCancel, footer: false, bodyStyle: { padding: 'initial' } }; return /*#__PURE__*/_react.default.createElement(_modal.default, modalConfig, !isCover && /*#__PURE__*/_react.default.createElement(Append, { onCancel: onCancel, form: form, onSave: onSave }), isCover && /*#__PURE__*/_react.default.createElement(Cover, { onCancel: onCancel, onTypeChange: setType, onSave: onSave })); }; var _default = /*#__PURE__*/(0, _react.memo)(SaveConfirm); exports.default = _default;