faim
Version:
Element Plus & Element UI isomorphic UI component library, more than Element.
140 lines (139 loc) • 3.52 kB
JavaScript
import Swal from "sweetalert2";
function success() {
const [titleOrOptions, html, icon] = arguments;
if (!titleOrOptions) {
console.error("Parameter is empty");
return;
}
const options = typeof titleOrOptions === "string" ? {
title: titleOrOptions,
...html && { html },
...icon && { icon }
} : titleOrOptions;
return Swal.fire({
icon: "success",
toast: true,
timer: 2e3,
didOpen: (toast) => {
toast.addEventListener("mouseenter", Swal.stopTimer);
toast.addEventListener("mouseleave", Swal.resumeTimer);
},
position: "top",
showConfirmButton: false,
...options
});
}
function info() {
const [titleOrOptions, html, icon] = arguments;
if (!titleOrOptions) {
console.error("Parameter is empty");
return;
}
const options = typeof titleOrOptions === "string" ? {
title: titleOrOptions,
...html && { html },
...icon && { icon }
} : titleOrOptions;
return Swal.fire({
icon: "info",
toast: true,
timer: 3e3,
timerProgressBar: true,
didOpen: (toast) => {
toast.addEventListener("mouseenter", Swal.stopTimer);
toast.addEventListener("mouseleave", Swal.resumeTimer);
},
showConfirmButton: false,
...options
});
}
function warning() {
const [titleOrOptions, html, icon] = arguments;
if (!titleOrOptions) {
console.error("Parameter is empty");
return;
}
const options = typeof titleOrOptions === "string" ? {
title: titleOrOptions,
...html && { html },
...icon && { icon }
} : titleOrOptions;
return Swal.fire({
icon: "warning",
backdrop: false,
confirmButtonColor: "#66b1ff",
timer: 5e3,
timerProgressBar: true,
didOpen(toast) {
toast.addEventListener("mouseenter", Swal.stopTimer);
toast.addEventListener("mouseleave", Swal.resumeTimer);
},
...options
});
}
function error() {
const [titleOrOptions, html, icon] = arguments;
if (!titleOrOptions) {
console.error("Parameter is empty");
return;
}
const options = typeof titleOrOptions === "string" ? {
title: titleOrOptions,
...html && { html },
...icon && { icon }
} : titleOrOptions;
return Swal.fire({
icon: "error",
allowOutsideClick: false,
confirmButtonColor: "#66b1ff",
...options
});
}
function confirm() {
const [titleOrOptions, html, icon] = arguments;
if (!titleOrOptions) {
console.error("Parameter is empty");
return;
}
const options = typeof titleOrOptions === "string" ? {
title: titleOrOptions,
...html && { html },
...icon && { icon }
} : titleOrOptions;
return new Promise((resolve, reject) => {
Swal.fire({
icon: "question",
confirmButtonColor: "#66b1ff",
showCancelButton: true,
reverseButtons: true,
allowOutsideClick: false,
...options
}).then((e) => {
if (e.isConfirmed) {
resolve(e);
} else {
reject(e);
}
});
});
}
function loading() {
const [titleOrOptions, html, icon] = arguments;
const options = typeof titleOrOptions === "string" ? {
title: titleOrOptions,
...html && { html },
...icon && { icon }
} : titleOrOptions;
return Swal.fire({
showCancelButton: false,
allowOutsideClick: false,
allowEscapeKey: false,
background: "transparent",
width: "unset",
didOpen() {
Swal.showLoading();
},
...options
});
}
export default Object.assign(Swal, { success, warning, info, error, confirm, loading });