@qn-pandora/pandora-visualization
Version:
Pandora 通用可视化库
55 lines (54 loc) • 2.02 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var language_1 = require("../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(), language_1.formatString(successText), language_1.formatString(failureText), group);
});
};
return decscriptor;
};
};
return ToasterWrapper;
}());
exports.default = new ToasterWrapper();