t-comm
Version:
专业、稳定、纯粹的工具库
200 lines (198 loc) • 4.67 kB
JavaScript
var loadingToastId = {};
var toastId = {};
var toastComp;
function getToast() {
return new Promise(function (resolve) {
if (toastComp) {
resolve(toastComp);
return;
}
Promise.all([import('press-ui/press-toast/index')]).then(function (comp) {
var _a;
toastComp = (_a = comp === null || comp === void 0 ? void 0 : comp[0]) === null || _a === void 0 ? void 0 : _a["default"];
resolve(toastComp);
});
});
}
/**
* 显示普通Toast
* @param text 文案
* @param duration 显示时间,默认2秒
* @example
* ```ts
* Toast.show('文本', 3000);
* ```
*/
var showToast = function showToast(text, duration) {
if (text === void 0) {
text = '';
}
if (duration === void 0) {
duration = 2000;
}
getToast().then(function () {
if (loadingToastId === null || loadingToastId === void 0 ? void 0 : loadingToastId.clear) {
setTimeout(function () {
toastId = toastComp({
message: text,
zIndex: 10000,
duration: duration
});
}, 100);
} else {
toastId = toastComp({
message: text,
zIndex: 10000,
duration: duration
});
}
});
};
/**
* 显示成功样式Toast(toast带√样式)
* @param text 文案
* @param duration 显示时间,默认2秒
* @example
* ```ts
* Toast.showSuccess('文本', 3000);
* ```
*/
var showSuccess = function showSuccess(text, duration) {
if (text === void 0) {
text = '';
}
if (duration === void 0) {
duration = 2000;
}
getToast().then(function () {
if (loadingToastId === null || loadingToastId === void 0 ? void 0 : loadingToastId.clear) {
setTimeout(function () {
toastId = toastComp.success({
message: text,
zIndex: 10000,
duration: duration
});
}, 100);
} else {
toastId = toastComp.success({
message: text,
zIndex: 10000,
duration: duration
});
}
});
};
/**
* 显示失败样式 Toast(toast带!样式)
* @param text 文案
* @param duration 显示时间,默认2秒
* @example
* ```ts
* Toast.showFail('文本', 3000);
* ```
*/
var showFail = function showFail(text, duration) {
if (text === void 0) {
text = '';
}
if (duration === void 0) {
duration = 2000;
}
getToast().then(function () {
if (loadingToastId === null || loadingToastId === void 0 ? void 0 : loadingToastId.clear) {
setTimeout(function () {
toastId = toastComp.fail({
message: text,
zIndex: 10000,
duration: duration
});
}, 100);
} else {
toastId = toastComp.fail({
message: text,
zIndex: 10000,
duration: duration
});
}
});
};
/**
* 清除(隐藏)上一个toast
* @example
* ```ts
* Toast.clear();
*
* clearToast();
* ```
*/
var clearToast = function clearToast() {
if (toastId.clear) toastId.clear();
};
/**
* 显示loading Toast
* @param {string | object} options 配置,传递字符串时候为message
* @param {string} options.message 内容
* @param {number} options.duration 展示时长(ms),值为 0 时,toast 不会消失
* @param {boolean} options.forbidClick 是否禁止背景点击
* @param {string} options.selector 自定义选择器
* @example
* ```ts
* Toast.showLoading('文本');
*
* Toast.showLoading({
* message: '文本',
* zIndex: 1000,
* });
* ```
*/
var showLoading = function showLoading(options) {
if (options === void 0) {
options = {};
}
getToast().then(function () {
if (loadingToastId === null || loadingToastId === void 0 ? void 0 : loadingToastId.clear) {
loadingToastId.clear();
loadingToastId = {};
}
if (typeof options === 'string') {
loadingToastId = toastComp.loading({
message: options,
duration: 0,
zIndex: 10000
});
} else {
loadingToastId = toastComp.loading(options);
}
});
};
/**
* 隐藏loading toast
* @example
* ```ts
* Toast.dismissLoading();
* ```
*/
var dismissLoading = function dismissLoading() {
if (loadingToastId === null || loadingToastId === void 0 ? void 0 : loadingToastId.clear) {
loadingToastId.clear();
loadingToastId = {};
}
};
/**
* Toast 对象
* @example
* ```ts
* Toast.show('文本')
* ```
*/
var Toast = {
show: showToast,
showToast: showToast,
showSuccess: showSuccess,
showFail: showFail,
clear: clearToast,
clearToast: clearToast,
showLoading: showLoading,
dismissLoading: dismissLoading
};
export { Toast, clearToast, dismissLoading, showFail, showLoading, showSuccess, showToast };