@qn-pandora/pandora-visualization
Version:
Pandora 通用可视化库
53 lines (52 loc) • 1.92 kB
JavaScript
import { formatString } from '../language';
var defaultToaster = {
info: function () { return void 0; },
success: function () { return void 0; },
warning: function () { return void 0; },
error: function () { return void 0; },
wait: function () { return void 0; },
promise: function () { return void 0; }
};
var ToasterWrapper = /** @class */ (function () {
function ToasterWrapper() {
this.toaster = defaultToaster;
}
ToasterWrapper.prototype.setToaster = function (toaster) {
this.toaster = toaster;
};
ToasterWrapper.prototype.info = function (msg) {
return this.toaster.info(msg);
};
ToasterWrapper.prototype.success = function (msg) {
return this.toaster.success(msg);
};
ToasterWrapper.prototype.warning = function (msg) {
return this.toaster.warning(msg);
};
ToasterWrapper.prototype.error = function (msg) {
return this.toaster.error(msg);
};
ToasterWrapper.prototype.wait = function (msg) {
return this.toaster.wait(msg);
};
ToasterWrapper.prototype.handle = function (successText, failureText, group) {
// tslint:disable-next-line:no-this-assignment
var self = this;
return function (_, __, decscriptor) {
var method = decscriptor.value;
decscriptor.value = function () {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
var promise = method.apply(this, args);
return promise.then(function () {
return self.toaster.promise(Promise.resolve(), formatString(successText), formatString(failureText), group);
});
};
return decscriptor;
};
};
return ToasterWrapper;
}());
export default new ToasterWrapper();