linkmore-design
Version:
🌈 🚀lm组件库。🚀
164 lines (162 loc) • 5.97 kB
JavaScript
"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;