sunmao-sdk
Version:
榫卯-开箱即用赋能-sdk
120 lines (111 loc) • 2.88 kB
JavaScript
;
import React from "react";
import { Modal, Spin } from "antd";
import ContentForm from "./ContentForm";
import "./index.css";
const closeModal = () => {
Modal.destroyAll();
};
const loading = (text = "请求中...") =>
Modal.info({
icon: null,
bodyStyle: {
alignItems: "center",
justifyContent: "center",
display: "flex"
},
content: <Spin tip={text} />,
className: "null-footer",
cancelText: true, // 神奇的传送门
okText: true // 神奇的传送门
});
const showModal = antdProps =>
Modal.confirm({ destroyOnClose: true, ...antdProps });
const showModalNullFooter = antdProps =>
showModal({
icon: null,
className: "null-footer",
cancelText: true, // 神奇的传送门
okText: true, // 神奇的传送门
closable: true,
...antdProps
});
/**
* 确认请求弹框
* @param {object} request 请求参数、处理数据、回调等等:参考ContentForm内说明
* @param {object} antdProps antd其他配置参数
*/
const showModalRequest = ({ request, ...antdProps }) => {
if (!request) {
console.error(
"showModalRequest--注意看函数使用说明,专项专用!---request :",
request
);
return;
}
const modal = Modal.confirm({
className: "null-footer",
cancelText: true, // 神奇的传送门
okText: true // 神奇的传送门
});
modal.update({
icon: null,
...antdProps,
content: (
<ContentForm
request={request}
antdProps={antdProps}
onCancel={() => modal.destroy()}
/>
),
className: "null-footer",
cancelText: true, // 神奇的传送门
okText: true // 神奇的传送门
});
};
/**
* 表单编辑弹框
* @param {object} formSchema 表单schema
* @param {object} request 请求参数、处理数据、回调等等:参考ContentForm内说明
* @param {object} antdProps antd其他配置参数
*/
const showModalForm = ({ formSchema, request, widgets, ...antdProps }) => {
if (!request || !formSchema) {
console.error(
"showModalForm--注意看函数使用说明,专项专用---request、formSchema:",
request,
formSchema
);
return;
}
const modal = Modal.info({
className: "null-footer",
cancelText: true, // 神奇的传送门
okText: true // 神奇的传送门
});
modal.update({
width: 600,
icon: null,
...antdProps,
content: (
<ContentForm
formSchema={formSchema}
widgets={widgets}
request={request}
antdProps={antdProps}
onCancel={() => modal.destroy()}
/>
),
className: "null-footer",
cancelText: true, // 神奇的传送门
okText: true // 神奇的传送门
});
};
export default {
loading,
showModal,
closeModal,
showModalNullFooter,
showModalRequest,
showModalForm
};