tav-ui
Version:
77 lines (74 loc) • 2.04 kB
JavaScript
import { h } from 'vue';
import { InfoCircleFilled, CheckCircleFilled, CloseCircleFilled } from '@ant-design/icons-vue';
import { Modal, notification, message } from 'ant-design-vue';
import { isString } from '../../utils/is2.mjs';
function getIcon(iconType) {
if (iconType === "warning")
return h(InfoCircleFilled, { class: ["modal-icon-warning"] });
else if (iconType === "success")
return h(CheckCircleFilled, { class: ["modal-icon-success"] });
else if (iconType === "info")
return h(InfoCircleFilled, { class: ["modal-icon-info"] });
else
return h(CloseCircleFilled, { class: ["modal-icon-error"] });
}
function renderContent({ content }) {
if (isString(content))
return h("div", {}, `${content}`);
else
return content;
}
function createConfirm(options) {
const iconType = options.iconType || "warning";
Reflect.deleteProperty(options, "iconType");
const opt = {
centered: true,
icon: getIcon(iconType),
...options,
content: renderContent(options)
};
return Modal.confirm(opt);
}
const getBaseOptions = () => {
return {
okText: "\u786E\u5B9A",
centered: true
};
};
function createModalOptions(options, icon) {
return {
...getBaseOptions(),
...options,
content: renderContent(options),
icon: getIcon(icon)
};
}
function createSuccessModal(options) {
return Modal.success(createModalOptions(options, "success"));
}
function createErrorModal(options) {
return Modal.error(createModalOptions(options, "close"));
}
function createInfoModal(options) {
return Modal.info(createModalOptions(options, "info"));
}
function createWarningModal(options) {
return Modal.warning(createModalOptions(options, "warning"));
}
notification.config({
placement: "topRight",
duration: 3
});
function useMessage() {
return {
createMessage: message,
notification,
createConfirm,
createSuccessModal,
createErrorModal,
createInfoModal,
createWarningModal
};
}
export { useMessage };
//# sourceMappingURL=useMessage2.mjs.map