@yoyoboot/l-52abp-ng
Version:
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 9.1.13.
127 lines • 15.1 kB
JavaScript
export class MessageExtension {
/**
* 覆盖abp.message替换为ng-zorro的全局message
* @param _nzMessageService 消息服务
* @param _nzModalService 模态框服务
*/
static overrideAbpMessageByMini(_nzMessageService, _nzModalService) {
if (_nzModalService) {
if (abp.nzModal) {
return;
}
abp.nzModal = _nzModalService;
}
if (abp.nzMessage) {
return;
}
abp.nzMessage = _nzMessageService;
abp.message.info = (message, title) => {
// const timingCounts = parseInt(title, 0);
// (<any>abp).nzMessage.info(message, { nzDuration: timingCounts });
abp.nzMessage.info(message);
};
abp.message.warn = (message, title) => {
abp.nzMessage.warning(message);
};
abp.message.error = (message, title) => {
abp.nzMessage.error(message);
};
abp.message.success = (message, title) => {
abp.nzMessage.success(message);
};
abp.message.confirm = this.confirm;
}
/**
* 覆盖abp.message替换为ng-zorro的模态框
* @param _nzModalService 模态框服务
*/
static overrideAbpMessageByNgModal(_nzModalService) {
if (abp.nzModal) {
return;
}
abp.nzModal = _nzModalService;
abp.message.info = (message, title) => {
abp.nzModal.info({
nzTitle: title,
nzContent: message,
nzMask: true,
});
};
abp.message.warn = (message, title) => {
abp.nzModal.warning({
nzTitle: title,
nzContent: message,
nzMask: true,
});
};
abp.message.error = (message, title) => {
abp.nzModal.error({
nzTitle: title,
nzContent: message,
nzMask: true,
});
};
abp.message.success = (message, title) => {
abp.nzModal.success({
nzTitle: title,
nzContent: message,
nzMask: true,
});
};
abp.message.confirm = this.confirm;
}
// 覆盖abp.message替换为ng-zorro的notify
static overrideAbpNotify(_nzNotificationService) {
if (abp.nzNotify) {
return;
}
abp.nzNotify = _nzNotificationService;
abp.notify.info = (message, title, options) => {
abp.nzNotify.info(message, title, options);
};
abp.notify.warn = (message, title, options) => {
abp.nzNotify.warning(message, title, options);
};
abp.notify.error = (message, title, options) => {
abp.nzNotify.error(message, title, options);
};
abp.notify.success = (message, title, options) => {
abp.nzNotify.success(message, title, options);
};
}
static confirm(message, titleOrCallBack, callback) {
if (typeof titleOrCallBack === 'string' || typeof titleOrCallBack === 'undefined') {
abp.nzModal.confirm({
nzTitle: titleOrCallBack,
nzContent: message,
nzOnOk() {
if (callback) {
callback(true);
}
},
nzOnCancel() {
if (callback) {
callback(false);
}
},
});
}
else {
abp.nzModal.confirm({
nzTitle: abp.localization.localize('MessageConfirmOperation', abp.localization.defaultSourceName),
nzContent: message,
nzOnOk() {
if (titleOrCallBack) {
titleOrCallBack(true);
}
},
nzOnCancel() {
if (titleOrCallBack) {
titleOrCallBack(false);
}
},
});
}
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5leHRlbnNpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9sLTUyYWJwLW5nL3NyYy9oZWxwZXJzL21lc3NhZ2UuZXh0ZW5zaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0I7Ozs7T0FJRztJQUVILE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxpQkFBbUMsRUFBRSxlQUFnQztRQUNuRyxJQUFJLGVBQWUsRUFBRTtZQUNuQixJQUFLLEdBQVcsQ0FBQyxPQUFPLEVBQUU7Z0JBQ3hCLE9BQU87YUFDUjtZQUVBLEdBQVcsQ0FBQyxPQUFPLEdBQUcsZUFBZSxDQUFDO1NBQ3hDO1FBQ0QsSUFBSyxHQUFXLENBQUMsU0FBUyxFQUFFO1lBQzFCLE9BQU87U0FDUjtRQUNBLEdBQVcsQ0FBQyxTQUFTLEdBQUcsaUJBQWlCLENBQUM7UUFFM0MsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEdBQUcsQ0FBQyxPQUFlLEVBQUUsS0FBYyxFQUFFLEVBQUU7WUFDckQsNkNBQTZDO1lBQzdDLG9FQUFvRTtZQUNuRSxHQUFXLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2QyxDQUFDLENBQUM7UUFFRixHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksR0FBRyxDQUFDLE9BQWUsRUFBRSxLQUFjLEVBQUUsRUFBRTtZQUNwRCxHQUFXLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMxQyxDQUFDLENBQUM7UUFDRixHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxDQUFDLE9BQWUsRUFBRSxLQUFjLEVBQUUsRUFBRTtZQUNyRCxHQUFXLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN4QyxDQUFDLENBQUM7UUFDRixHQUFHLENBQUMsT0FBTyxDQUFDLE9BQU8sR0FBRyxDQUFDLE9B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dmljZX0gZnJvbSAnbmctem9ycm8tYW50ZC9ub3RpZmljYXRpb24nO1xuaW1wb3J0IHtOek1vZGFsU2VydmljZX0gZnJvbSAnbmctem9ycm8tYW50ZC9tb2RhbCc7XG5pbXBvcnQge056TWVzc2FnZVNlcnZpY2V9IGZyb20gJ25nLXpvcnJvLWFudGQvbWVzc2FnZSc7XG5cbmV4cG9ydCBjbGFzcyBNZXNzYWdlRXh0ZW5zaW9uIHtcbiAgLyoqXG4gICAqIOimhueblmFicC5tZXNzYWdl5pu/5o2i5Li6bmctem9ycm/nmoTlhajlsYBtZXNzYWdlXG4gICAqIEBwYXJhbSBfbnpNZXNzYWdlU2VydmljZSDmtojmga/mnI3liqFcbiAgICogQHBhcmFtIF9uek1vZGFsU2VydmljZSDmqKHmgIHmoYbmnI3liqFcbiAgICovXG5cbiAgc3RhdGljIG92ZXJyaWRlQWJwTWVzc2FnZUJ5TWluaShfbnpNZXNzYWdlU2VydmljZTogTnpNZXNzYWdlU2VydmljZSwgX256TW9kYWxTZXJ2aWNlPzogTnpNb2RhbFNlcnZpY2UpIHtcbiAgICBpZiAoX256TW9kYWxTZXJ2aWNlKSB7XG4gICAgICBpZiAoKGFicCBhcyBhbnkpLm56TW9kYWwpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICAoYWJwIGFzIGFueSkubnpNb2RhbCA9IF9uek1vZGFsU2VydmljZTtcbiAgICB9XG4gICAgaWYgKChhYnAgYXMgYW55KS5uek1lc3NhZ2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgKGFicCBhcyBhbnkpLm56TWVzc2FnZSA9IF9uek1lc3NhZ2VTZXJ2aWNlO1xuXG4gICAgYWJwLm1lc3NhZ2UuaW5mbyA9IChtZXNzYWdlOiBzdHJpbmcsIHRpdGxlPzogc3RyaW5nKSA9PiB7XG4gICAgICAvLyAgIGNvbnN0IHRpbWluZ0NvdW50cyA9IHBhcnNlSW50KHRpdGxlLCAwKTtcbiAgICAgIC8vICg8YW55PmFicCkubnpNZXNzYWdlLmluZm8obWVzc2FnZSwgeyBuekR1cmF0aW9uOiB0aW1pbmdDb3VudHMgfSk7XG4gICAgICAoYWJwIGFzIGFueSkubnpNZXNzYWdlLmluZm8obWVzc2FnZSk7XG4gICAgfTtcblxuICAgIGFicC5tZXNzYWdlLndhcm4gPSAobWVzc2FnZTogc3RyaW5nLCB0aXRsZT86IHN0cmluZykgPT4ge1xuICAgICAgKGFicCBhcyBhbnkpLm56TWVzc2FnZS53YXJuaW5nKG1lc3NhZ2UpO1xuICAgIH07XG4gICAgYWJwLm1lc3NhZ2UuZXJyb3IgPSAobWVzc2FnZTogc3RyaW5nLCB0aXRsZT86IHN0cmluZykgPT4ge1xuICAgICAgKGFicCBhcyBhbnkpLm56TWVzc2FnZS5lcnJvcihtZXNzYWdlKTtcbiAgICB9O1xuICAgIGFicC5tZXNzYWdlLnN1Y2Nlc3MgPSAobWVzc2FnZTogc3RyaW5nLCB0aXRsZT86IHN0cmluZykgPT4ge1xuICAgICAgKGFicCBhcyBhbnkpLm56TWVzc2FnZS5zdWNjZXNzKG1lc3NhZ2UpO1xuICAgIH07XG4gICAgYWJwLm1lc3NhZ2UuY29uZmlybSA9IHRoaXMuY29uZmlybTtcbiAgfVxuXG4gIC8qKlxuICAgKiDopobnm5ZhYnAubWVzc2FnZeabv+aNouS4um5nLXpvcnJv55qE5qih5oCB5qGGXG4gICAqIEBwYXJhbSBfbnpNb2RhbFNlcnZpY2Ug5qih5oCB5qGG5pyN5YqhXG4gICAqL1xuICBzdGF0aWMgb3ZlcnJpZGVBYnBNZXNzYWdlQnlOZ01vZGFsKF9uek1vZGFsU2VydmljZTogTnpNb2RhbFNlcnZpY2UpIHtcbiAgICBpZiAoKGFicCBhcyBhbnkpLm56TW9kYWwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAoYWJwIGFzIGFueSkubnpNb2RhbCA9IF9uek1vZGFsU2VydmljZTtcblxuICAgIGFicC5tZXNzYWdlLmluZm8gPSAobWVzc2FnZTogc3RyaW5nLCB0aXRsZT86IHN0cmluZykgPT4ge1xuICAgICAgKGFicCBhcyBhbnkpLm56TW9kYWwuaW5mbyh7XG4gICAgICAgIG56VGl0bGU6IHRpdGxlLFxuICAgICAgICBuekNvbnRlbnQ6IG1lc3NhZ2UsXG4gICAgICAgIG56TWFzazogdHJ1ZSxcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBhYnAubWVzc2FnZS53YXJuID0gKG1lc3NhZ2U6IHN0cmluZywgdGl0bGU/OiBzdHJpbmcpID0+IHtcbiAgICAgIChhYnAgYXMgYW55KS5uek1vZGFsLndhcm5pbmcoe1xuICAgICAgICBuelRpdGxlOiB0aXRsZSxcbiAgICAgICAgbnpDb250ZW50OiBtZXNzYWdlLFxuICAgICAgICBuek1hc2s6IHRydWUsXG4gICAgICB9KTtcbiAgICB9O1xuICAgIGFicC5tZXNzYWdlLmVycm9yID0gKG1lc3NhZ2U6IHN0cmluZywgdGl0bGU/OiBzdHJpbmcpID0+IHtcbiAgICAgIChhYnAgYXMgYW55KS5uek1vZGFsLmVycm9yKHtcbiAgICAgICAgbnpUaXRsZTogdGl0bGUsXG4gICAgICAgIG56Q29udGVudDogbWVzc2FnZSxcbiAgICAgICAgbnpNYXNrOiB0cnVlLFxuICAgICAgfSk7XG4gICAgfTtcbiAgICBhYnAubWVzc2FnZS5zdWNjZXNzID0gKG1lc3NhZ2U6IHN0cmluZywgdGl0bGU/OiBzdHJpbmcpID0+IHtcbiAgICAgIChhYnAgYXMgYW55KS5uek1vZGFsLnN1Y2Nlc3Moe1xuICAgICAgICBuelRpdGxlOiB0aXRsZSxcbiAgICAgICAgbnpDb250ZW50OiBtZXNzYWdlLFxuICAgICAgICBuek1hc2s6IHRydWUsXG4gICAgICB9KTtcbiAgICB9O1xuICAgIGFicC5tZXNzYWdlLmNvbmZpcm0gPSB0aGlzLmNvbmZpcm07XG4gIH1cblxuICAvLyDopobnm5ZhYnAubWVzc2FnZeabv+aNouS4um5nLXpvcnJv55qEbm90aWZ5XG4gIHN0YXRpYyBvdmVycmlkZUFicE5vdGlmeShfbnpOb3RpZmljYXRpb25TZXJ2aWNlOiBOek5vdGlmaWNhdGlvblNlcnZpY2UpIHtcbiAgICBpZiAoKGFicCBhcyBhbnkpLm56Tm90aWZ5KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgKGFicCBhcyBhbnkpLm56Tm90aWZ5ID0gX256Tm90aWZpY2F0aW9uU2VydmljZTtcblxuICAgIGFicC5ub3RpZnkuaW5mbyA9IChtZXNzYWdlOiBzdHJpbmcsIHRpdGxlPzogc3RyaW5nLCBvcHRpb25zPzogYW55KSA9PiB7XG4gICAgICAoYWJwIGFzIGFueSkubnpOb3RpZnkuaW5mbyhtZXNzYWdlLCB0aXRsZSwgb3B0aW9ucyk7XG4gICAgfTtcbiAgICBhYnAubm90aWZ5Lndhcm4gPSAobWVzc2FnZTogc3RyaW5nLCB0aXRsZT86IHN0cmluZywgb3B0aW9ucz86IGFueSkgPT4ge1xuICAgICAgKGFicCBhcyBhbnkpLm56Tm90aWZ5Lndhcm5pbmcobWVzc2FnZSwgdGl0bGUsIG9wdGlvbnMpO1xuICAgIH07XG4gICAgYWJwLm5vdGlmeS5lcnJvciA9IChtZXNzYWdlOiBzdHJpbmcsIHRpdGxlPzogc3RyaW5nLCBvcHRpb25zPzogYW55KSA9PiB7XG4gICAgICAoYWJwIGFzIGFueSkubnpOb3RpZnkuZXJyb3IobWVzc2FnZSwgdGl0bGUsIG9wdGlvbnMpO1xuICAgIH07XG4gICAgYWJwLm5vdGlmeS5zdWNjZXNzID0gKG1lc3NhZ2U6IHN0cmluZywgdGl0bGU/OiBzdHJpbmcsIG9wdGlvbnM/OiBhbnkpID0+IHtcbiAgICAgIChhYnAgYXMgYW55KS5uek5vdGlmeS5zdWNjZXNzKG1lc3NhZ2UsIHRpdGxlLCBvcHRpb25zKTtcbiAgICB9O1xuICB9XG5cbiAgLy8gbXNnIGNvbmZpcm1cbiAgcHJpdmF0ZSBzdGF0aWMgY29uZmlybShtZXNzYWdlOiBzdHJpbmcsIGNhbGxiYWNrPzogKHJlc3VsdDogYm9vbGVhbikgPT4gdm9pZCk6IGFueTtcblxuICBwcml2YXRlIHN0YXRpYyBjb25maXJtKG1lc3NhZ2U6IHN0cmluZywgdGl0bGU/OiBzdHJpbmcsIGNhbGxiYWNrPzogKHJlc3VsdDogYm9vbGVhbikgPT4gdm9pZCk6IGFueTtcblxuICBwcml2YXRlIHN0YXRpYyBjb25maXJtKFxuICAgIG1lc3NhZ2U6IHN0cmluZyxcbiAgICB0aXRsZU9yQ2FsbEJhY2s/OiBzdHJpbmcgfCAoKHJlc3VsdDogYm9vbGVhbikgPT4gdm9pZCksXG4gICAgY2FsbGJhY2s/OiAocmVzdWx0OiBib29sZWFuKSA9PiB2b2lkLFxuICApOiBhbnkge1xuICAgIGlmICh0eXBlb2YgdGl0bGVPckNhbGxCYWNrID09PSAnc3RyaW5nJyB8fCB0eXBlb2YgdGl0bGVPckNhbGxCYWNrID09PSAndW5kZWZpbmVkJykge1xuICAgICAgKGFicCBhcyBhbnkpLm56TW9kYWwuY29uZmlybSh7XG4gICAgICAgIG56VGl0bGU6IHRpdGxlT3JDYWxsQmFjayxcbiAgICAgICAgbnpDb250ZW50OiBtZXNzYWdlLFxuICAgICAgICBuek9uT2soKSB7XG4gICAgICAgICAgaWYgKGNhbGxiYWNrKSB7XG4gICAgICAgICAgICBjYWxsYmFjayh0cnVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIG56T25DYW5jZWwoKSB7XG4gICAgICAgICAgaWYgKGNhbGxiYWNrKSB7XG4gICAgICAgICAgICBjYWxsYmFjayhmYWxzZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIChhYnAgYXMgYW55KS5uek1vZGFsLmNvbmZpcm0oe1xuICAgICAgICBuelRpdGxlOiBhYnAubG9jYWxpemF0aW9uLmxvY2FsaXplKCdNZXNzYWdlQ29uZmlybU9wZXJhdGlvbicsIGFicC5sb2NhbGl6YXRpb24uZGVmYXVsdFNvdXJjZU5hbWUpLFxuICAgICAgICBuekNvbnRlbnQ6IG1lc3NhZ2UsXG4gICAgICAgIG56T25PaygpIHtcbiAgICAgICAgICBpZiAodGl0bGVPckNhbGxCYWNrKSB7XG4gICAgICAgICAgICB0aXRsZU9yQ2FsbEJhY2sodHJ1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBuek9uQ2FuY2VsKCkge1xuICAgICAgICAgIGlmICh0aXRsZU9yQ2FsbEJhY2spIHtcbiAgICAgICAgICAgIHRpdGxlT3JDYWxsQmFjayhmYWxzZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iXX0=