ngx-bit
Version:
A flexible NG-ZORRO helper library
112 lines • 15.1 kB
JavaScript
import { Injectable } from '@angular/core';
import { Location } from '@angular/common';
import { AsyncSubject, of } from 'rxjs';
import { map, switchMap } from 'rxjs/operators';
import { BitService } from 'ngx-bit';
import { fromPromise } from 'rxjs/internal-compatibility';
export class BitSwalService {
constructor(bit, location) {
this.bit = bit;
this.location = location;
this.ready = new AsyncSubject();
}
/**
* 创建提示框
* create alert
*/
create(option) {
return this.ready.pipe(switchMap(plugin => fromPromise(plugin.fire({
heightAuto: false,
html: `
<div class="ant-result-title ng-star-inserted"> ${option.title} </div>
<div class="ant-result-subtitle ng-star-inserted"> ${option.content} </div>
`,
icon: option.type,
width: !option.width ? 520 : option.width,
confirmButtonText: !option.okText ? 'ok' : option.okText,
cancelButtonText: !option.cancelText ? 'cancel' : option.cancelText,
buttonsStyling: false,
showConfirmButton: option.okShow === undefined ? true : option.cancelShow,
showCancelButton: option.cancelShow === undefined ? true : option.cancelShow,
customClass: {
popup: 'swal2-ant-modal',
actions: 'ant-result-extra ng-star-inserted',
confirmButton: 'ant-btn ant-btn-primary ' + (!option.okDanger ? '' : 'ant-btn-dangerous'),
cancelButton: 'ant-btn'
}
}))));
}
/**
* 新增响应提示框
* Add response prompt box
*/
addAlert(res, form, reset) {
return !res.error ? this.create({
title: this.bit.l.AddAlertSuccessTitle,
content: this.bit.l.AddAlertSuccessContent,
type: 'success',
okText: this.bit.l.AddAlertSuccessOk,
cancelText: this.bit.l.AddAlertSuccessCancel
}).pipe(map(result => {
if (result.value) {
form.reset(reset ? reset : undefined);
return true;
}
this.location.back();
return false;
})) : this.create({
title: this.bit.l.AddAlertErrorTitle,
content: !res.msg ? this.bit.l.AddAlertErrorContent : res.msg,
type: 'error',
okText: this.bit.l.AddAlertErrorOk,
cancelShow: false
}).pipe(map(_ => null));
}
/**
* 修改响应提示框
* Edit response prompt box
*/
editAlert(res) {
return !res.error ? this.create({
title: this.bit.l.EditAlertSuccessTitle,
content: this.bit.l.EditAlertSuccessContent,
type: 'success',
okText: this.bit.l.EditAlertSuccessOk,
cancelText: this.bit.l.EditAlertSuccessCancel
}).pipe(map(result => {
if (result.value) {
return true;
}
this.location.back();
return false;
})) : this.create({
title: this.bit.l.EditAlertErrorTitle,
content: (!res.msg ? this.bit.l.EditAlertErrorContent : res.msg),
type: 'error',
okText: this.bit.l.EditAlertErrorOk,
cancelShow: false
}).pipe(map(_ => null));
}
/**
* 删除响应提示框
* Delete response prompt box
*/
deleteAlert(observable) {
return this.create({
title: this.bit.l.DeleteAlertTitle,
content: this.bit.l.DeleteAlertContent,
type: 'question',
okText: this.bit.l.DeleteAlertOk,
okDanger: true,
cancelText: this.bit.l.DeleteAlertCancel
}).pipe(switchMap(result => !result.value ? of() : observable));
}
}
BitSwalService.decorators = [
{ type: Injectable }
];
BitSwalService.ctorParameters = () => [
{ type: BitService },
{ type: Location }
];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYml0LXN3YWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1iaXQvc3dhbC9iaXQtc3dhbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNyQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFJMUQsTUFBTSxPQUFPLGNBQWM7SUFHekIsWUFDVSxHQUFlLEVBQ2YsUUFBa0I7UUFEbEIsUUFBRyxHQUFILEdBQUcsQ0FBWTtRQUNmLGFBQVEsR0FBUixRQUFRLENBQVU7UUFKNUIsVUFBSyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBTTlDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsTUFBbUI7UUFDeEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FDcEIsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUM3QixNQUFNLENBQUMsSUFBSSxDQUFDO1lBQ1YsVUFBVSxFQUFFLEtBQUs7WUFDakIsSUFBSSxFQUFFOzhEQUM4QyxNQUFNLENBQUMsS0FBSztpRUFDVCxNQUFNLENBQUMsT0FBTztXQUNwRTtZQUNELElBQUksRUFBRSxNQUFNLENBQUMsSUFBSTtZQUNqQixLQUFLLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxL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a0JBQWtCO1lBQ3RDLElBQUksRUFBRSxVQUFVO1lBQ2hCLE1BQU0sRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxhQUFhO1lBQ2hDLFFBQVEsRUFBRSxJQUFJO1lBQ2QsVUFBVSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLGlCQUFpQjtTQUN6QyxDQUFDLENBQUMsSUFBSSxDQUNMLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUN2RCxDQUFDO0lBQ0osQ0FBQzs7O1lBckhGLFVBQVU7OztZQUpGLFVBQVU7WUFIVixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQXN5bmNTdWJqZWN0LCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQml0U2VydmljZSB9IGZyb20gJ25neC1iaXQnO1xyXG5pbXBvcnQgeyBmcm9tUHJvbWlzZSB9IGZyb20gJ3J4anMvaW50ZXJuYWwtY29tcGF0aWJpbGl0eSc7XHJcbmltcG9ydCB7IEFsZXJ0T3B0aW9uIH0gZnJvbSAnLi90eXBlcyc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBCaXRTd2FsU2VydmljZSB7XHJcbiAgcmVhZHk6IEFzeW5jU3ViamVjdDxhbnk+ID0gbmV3IEFzeW5jU3ViamVjdCgpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgYml0OiBCaXRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBsb2NhdGlvbjogTG9jYXRpb25cclxuICApIHtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOWIm+W7uuaPkOekuuahhlxyXG4gICAqIGNyZWF0ZSBhbGVydFxyXG4gICAqL1xyXG4gIGNyZWF0ZShvcHRpb246IEFsZXJ0T3B0aW9uKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLnJlYWR5LnBpcGUoXHJcbiAgICAgIHN3aXRjaE1hcChwbHVnaW4gPT4gZnJvbVByb21pc2UoXHJcbiAgICAgICAgcGx1Z2luLmZpcmUoe1xyXG4gICAgICAgICAgaGVpZ2h0QXV0bzogZmFsc2UsXHJcbiAgICAgICAgICBodG1sOiBgXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhbnQtcmVzdWx0LXRpdGxlIG5nLXN0YXItaW5zZXJ0ZWRcIj4gJHtvcHRpb24udGl0bGV9IDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYW50LXJlc3VsdC1zdWJ0aXRsZSBuZy1zdGFyLWluc2VydGVkXCI+ICR7b3B0aW9uLmNvbnRlbnR9IDwvZGl2PlxyXG4gICAgICAgICAgYCxcclxuICAgICAgICAgIGljb246IG9wdGlvbi50eXBlLFxyXG4gICAgICAgICAgd2lkdGg6ICFvcHRpb24ud2lkdGggPyA1MjAgOiBvcHRpb24ud2lkdGgsXHJcbiAgICAgICAgICBjb25maXJtQnV0dG9uVGV4dDogIW9wdGlvbi5va1RleHQgPyAnb2snIDogb3B0aW9uLm9rVGV4dCxcclxuICAgICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6ICFvcHRpb24uY2FuY2VsVGV4dCA/ICdjYW5jZWwnIDogb3B0aW9uLmNhbmNlbFRleHQsXHJcbiAgICAgICAgICBidXR0b25zU3R5bGluZzogZmFsc2UsXHJcbiAgICAgICAgICBzaG93Q29uZmlybUJ1dHRvbjogb3B0aW9uLm9rU2hvdyA9PT0gdW5kZWZpbmVkID8gdHJ1ZSA6IG9wdGlvbi5jYW5jZWxTaG93LFxyXG4gICAgICAgICAgc2hvd0NhbmNlbEJ1dHRvbjogb3B0aW9uLmNhbmNlbFNob3cgPT09IHVuZGVmaW5lZCA/IHRydWUgOiBvcHRpb24uY2FuY2VsU2hvdyxcclxuICAgICAgICAgIGN1c3RvbUNsYXNzOiB7XHJcbiAgICAgICAgICAgIHBvcHVwOiAnc3dhbDItYW50LW1vZGFsJyxcclxuICAgICAgICAgICAgYWN0aW9uczogJ2FudC1yZXN1bHQtZXh0cmEgbmctc3Rhci1pbnNlcnRlZCcsXHJcbiAgICAgICAgICAgIGNvbmZpcm1CdXR0b246ICdhbnQtYnRuIGFudC1idG4tcHJpbWFyeSAnICsgKCFvcHRpb24ub2tEYW5nZXIgPyAnJyA6ICdhbnQtYnRuLWRhbmdlcm91cycpLFxyXG4gICAgICAgICAgICBjYW5jZWxCdXR0b246ICdhbnQtYnRuJ1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICAgICkpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog5paw5aKe5ZON5bqU5o+Q56S65qGGXHJcbiAgICogQWRkIHJlc3BvbnNlIHByb21wdCBib3hcclxuICAgKi9cclxuICBhZGRBbGVydChyZXM6IGFueSwgZm9ybTogRm9ybUdyb3VwLCByZXNldD86IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gIXJlcy5lcnJvciA/IHRoaXMuY3JlYXRlKHtcclxuICAgICAgdGl0bGU6IHRoaXMuYml0LmwuQWRkQWxlcnRTdWNjZXNzVGl0bGUsXHJcbiAgICAgIGNvbnRlbnQ6IHRoaXMuYml0LmwuQWRkQWxlcnRTdWNjZXNzQ29udGVudCxcclxuICAgICAgdHlwZTogJ3N1Y2Nlc3MnLFxyXG4gICAgICBva1RleHQ6IHRoaXMuYml0LmwuQWRkQWxlcnRTdWNjZXNzT2ssXHJcbiAgICAgIGNhbmNlbFRleHQ6IHRoaXMuYml0LmwuQWRkQWxlcnRTdWNjZXNzQ2FuY2VsXHJcbiAgICB9KS5waXBlKFxyXG4gICAgICBtYXAocmVzdWx0ID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbHVlKSB7XHJcbiAgICAgICAgICBmb3JtLnJlc2V0KHJlc2V0ID8gcmVzZXQgOiB1bmRlZmluZWQpO1xyXG4gICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubG9jYXRpb24uYmFjaygpO1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfSlcclxuICAgICkgOiB0aGlzLmNyZWF0ZSh7XHJcbiAgICAgIHRpdGxlOiB0aGlzLmJpdC5sLkFkZEFsZXJ0RXJyb3JUaXRsZSxcclxuICAgICAgY29udGVudDogIXJlcy5tc2cgPyB0aGlzLmJpdC5sLkFkZEFsZXJ0RXJyb3JDb250ZW50IDogcmVzLm1zZyxcclxuICAgICAgdHlwZTogJ2Vycm9yJyxcclxuICAgICAgb2tUZXh0OiB0aGlzLmJpdC5sLkFkZEFsZXJ0RXJyb3JPayxcclxuICAgICAgY2FuY2VsU2hvdzogZmFsc2VcclxuICAgIH0pLnBpcGUoXHJcbiAgICAgIG1hcChfID0+IG51bGwpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog5L+u5pS55ZON5bqU5o+Q56S65qGGXHJcbiAgICogRWRpdCByZXNwb25zZSBwcm9tcHQgYm94XHJcbiAgICovXHJcbiAgZWRpdEFsZXJ0KHJlczogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiAhcmVzLmVycm9yID8gdGhpcy5jcmVhdGUoe1xyXG4gICAgICB0aXRsZTogdGhpcy5iaXQubC5FZGl0QWxlcnRTdWNjZXNzVGl0bGUsXHJcbiAgICAgIGNvbnRlbnQ6IHRoaXMuYml0LmwuRWRpdEFsZXJ0U3VjY2Vzc0NvbnRlbnQsXHJcbiAgICAgIHR5cGU6ICdzdWNjZXNzJyxcclxuICAgICAgb2tUZXh0OiB0aGlzLmJpdC5sLkVkaXRBbGVydFN1Y2Nlc3NPayxcclxuICAgICAgY2FuY2VsVGV4dDogdGhpcy5iaXQubC5FZGl0QWxlcnRTdWNjZXNzQ2FuY2VsXHJcbiAgICB9KS5waXBlKFxyXG4gICAgICBtYXAocmVzdWx0ID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbHVlKSB7XHJcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5sb2NhdGlvbi5iYWNrKCk7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9KVxyXG4gICAgKSA6IHRoaXMuY3JlYXRlKHtcclxuICAgICAgdGl0bGU6IHRoaXMuYml0LmwuRWRpdEFsZXJ0RXJyb3JUaXRsZSxcclxuICAgICAgY29udGVudDogKCFyZXMubXNnID8gdGhpcy5iaXQubC5FZGl0QWxlcnRFcnJvckNvbnRlbnQgOiByZXMubXNnKSxcclxuICAgICAgdHlwZTogJ2Vycm9yJyxcclxuICAgICAgb2tUZXh0OiB0aGlzLmJpdC5sLkVkaXRBbGVydEVycm9yT2ssXHJcbiAgICAgIGNhbmNlbFNob3c6IGZhbHNlXHJcbiAgICB9KS5waXBlKFxyXG4gICAgICBtYXAoXyA9PiBudWxsKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOWIoOmZpOWTjeW6lOaPkOekuuahhlxyXG4gICAqIERlbGV0ZSByZXNwb25zZSBwcm9tcHQgYm94XHJcbiAgICovXHJcbiAgZGVsZXRlQWxlcnQob2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxhbnk+KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmNyZWF0ZSh7XHJcbiAgICAgIHRpdGxlOiB0aGlzLmJpdC5sLkRlbGV0ZUFsZXJ0VGl0bGUsXHJcbiAgICAgIGNvbnRlbnQ6IHRoaXMuYml0LmwuRGVsZXRlQWxlcnRDb250ZW50LFxyXG4gICAgICB0eXBlOiAncXVlc3Rpb24nLFxyXG4gICAgICBva1RleHQ6IHRoaXMuYml0LmwuRGVsZXRlQWxlcnRPayxcclxuICAgICAgb2tEYW5nZXI6IHRydWUsXHJcbiAgICAgIGNhbmNlbFRleHQ6IHRoaXMuYml0LmwuRGVsZXRlQWxlcnRDYW5jZWxcclxuICAgIH0pLnBpcGUoXHJcbiAgICAgIHN3aXRjaE1hcChyZXN1bHQgPT4gIXJlc3VsdC52YWx1ZSA/IG9mKCkgOiBvYnNlcnZhYmxlKVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl19