UNPKG

@schoolbelle/common

Version:

123 lines 12.9 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Injectable } from '@angular/core'; import { BsModalService } from 'ngx-bootstrap/modal'; import { DialogConfirmComponent } from './confirm/dialog.confirm.component'; import { DialogAlertComponent } from './alert/dialog.alert.component'; import { DialogSelectComponent } from './select/dialog.select.component'; import { DialogPromptComponent } from './prompt/dialog.prompt.component'; import { take, tap, switchMap } from 'rxjs/operators'; import { of } from 'rxjs'; export class DialogService { /** * @param {?} modalService */ constructor(modalService) { this.modalService = modalService; this.neverShowItAgainList = []; } /** * @param {?=} title * @param {?=} message * @param {?=} showNeverShowItAgainCheckbox * @param {?=} options * @return {?} */ confirm(title = '', message = '', showNeverShowItAgainCheckbox = false, options = {}) { return of(null).pipe(switchMap((/** * @return {?} */ () => { /** @type {?} */ const dialogKey = `${title}|${message}`; if (this.neverShowItAgainList.includes(dialogKey)) return of(true); /** @type {?} */ const modalRef = this.modalService.show(DialogConfirmComponent, Object.assign({}, options, { backdrop: 'static', initialState: { title, message, showNeverShowItAgainCheckbox } })); return (/** @type {?} */ (modalRef.content.action.pipe(take(1), tap((/** * @return {?} */ () => { if (modalRef.content.neverShowItAgain === true) this.neverShowItAgainList.push(dialogKey); }))))); }))); } /** * @param {?=} title * @param {?=} message * @param {?=} showNeverShowItAgainCheckbox * @param {?=} options * @return {?} */ alert(title = '', message = '', showNeverShowItAgainCheckbox = false, options = {}) { return of(null).pipe(switchMap((/** * @return {?} */ () => { /** @type {?} */ const dialogKey = `${title}|${message}`; if (this.neverShowItAgainList.includes(dialogKey)) return of(true); /** @type {?} */ const modalRef = this.modalService.show(DialogAlertComponent, Object.assign({}, options, { backdrop: 'static', initialState: { title, message, showNeverShowItAgainCheckbox } })); return modalRef.content.action.pipe(take(1), tap((/** * @return {?} */ () => { if (modalRef.content.neverShowItAgain === true) this.neverShowItAgainList.push(dialogKey); }))); }))); } /** * @param {?=} title * @param {?=} selections * @param {?=} options * @return {?} */ select(title = '', selections, options = {}) { return of(null).pipe(switchMap((/** * @return {?} */ () => { /** @type {?} */ const modalRef = this.modalService.show(DialogSelectComponent, Object.assign({}, options, { backdrop: 'static', initialState: { title, selections } })); return modalRef.content.action.pipe(take(1)); }))); } /** * @param {?=} title * @param {?=} message * @param {?=} type * @param {?=} validators * @param {?=} options * @return {?} */ prompt(title = '', message = '', type, validators = [], options = {}) { return of(null).pipe(switchMap((/** * @return {?} */ () => { /** @type {?} */ const modalRef = this.modalService.show(DialogPromptComponent, Object.assign({}, options, { backdrop: 'static', initialState: { title, message, type, validators } })); return (/** @type {?} */ (modalRef.content.action.pipe(take(1)))); }))); } } DialogService.decorators = [ { type: Injectable } ]; /** @nocollapse */ DialogService.ctorParameters = () => [ { type: BsModalService } ]; if (false) { /** @type {?} */ DialogService.prototype.neverShowItAgainList; /** @type {?} */ DialogService.prototype.modalService; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2Nob29sYmVsbGUvY29tbW9uL2RpYWxvZy8iLCJzb3VyY2VzIjpbImxpYi9kaWFsb2cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDNUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDekUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDekUsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEQsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUl0QyxNQUFNLE9BQU8sYUFBYTs7OztJQUN4QixZQUFtQixZQUE0QjtRQUE1QixpQkFBWSxHQUFaLFlBQVksQ0FBZ0I7UUF1Qi9DLHlCQUFvQixHQUFZLEVBQUUsQ0FBQztJQXZCZSxDQUFDOzs7Ozs7OztJQUVuRCxPQUFPLENBQ0wsUUFBZ0IsRUFBRSxFQUNsQixVQUFrQixFQUFFLEVBQ3BCLCtCQUF1QyxLQUFLLEVBQzVDLFVBQWUsRUFBRTtRQUVqQixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUzs7O1FBQUMsR0FBRSxFQUFFOztrQkFDekIsU0FBUyxHQUFHLEdBQUcsS0FBSyxJQUFJLE9BQU8sRUFBRTtZQUN2QyxJQUFJLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDO2dCQUFFLE9BQU8sRUFBRSxDQUFDLElB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LFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FDckMscUJBQXFCLEVBQ3JCLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFDLEVBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFDLEVBQUUsQ0FBQyxDQUNwRztZQUNELE9BQU8sbUJBQWlCLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQSxDQUFDO1FBQ2hFLENBQUMsRUFBQyxDQUFDLENBQUM7SUFDTixDQUFDOzs7WUExRUYsVUFBVTs7OztZQVRGLGNBQWM7Ozs7SUFrQ3JCLDZDQUFtQzs7SUF2QnZCLHFDQUFtQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJzTW9kYWxTZXJ2aWNlIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9tb2RhbCc7XG5pbXBvcnQgeyBEaWFsb2dDb25maXJtQ29tcG9uZW50IH0gZnJvbSAnLi9jb25maXJtL2RpYWxvZy5jb25maXJtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEaWFsb2dBbGVydENvbXBvbmVudCB9IGZyb20gJy4vYWxlcnQvZGlhbG9nLmFsZXJ0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEaWFsb2dTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL3NlbGVjdC9kaWFsb2cuc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEaWFsb2dQcm9tcHRDb21wb25lbnQgfSBmcm9tICcuL3Byb21wdC9kaWFsb2cucHJvbXB0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyB0YWtlLCB0YXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERpYWxvZ1NlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgbW9kYWxTZXJ2aWNlOiBCc01vZGFsU2VydmljZSkge31cblxuICBjb25maXJtKFxuICAgIHRpdGxlOiBzdHJpbmcgPSAnJyxcbiAgICBtZXNzYWdlOiBzdHJpbmcgPSAnJyxcbiAgICBzaG93TmV2ZXJTaG93SXRBZ2FpbkNoZWNrYm94OmJvb2xlYW4gPSBmYWxzZSxcbiAgICBvcHRpb25zOiBhbnkgPSB7fVxuICApOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gb2YobnVsbCkucGlwZShzd2l0Y2hNYXAoKCk9PntcbiAgICAgICAgY29uc3QgZGlhbG9nS2V5ID0gYCR7dGl0bGV9fCR7bWVzc2FnZX1gO1xuICAgICAgICBpZiAodGhpcy5uZXZlclNob3dJdEFnYWluTGlzdC5pbmNsdWRlcyhkaWFsb2dLZXkpKSByZXR1cm4gb2YodHJ1ZSk7XG4gICAgICAgIGNvbnN0IG1vZGFsUmVmID0gdGhpcy5tb2RhbFNlcnZpY2Uuc2hvdyhcbiAgICAgICAgICBEaWFsb2dDb25maXJtQ29tcG9uZW50LFxuICAgICAgICAgIE9iamVjdC5hc3NpZ24oe30sIG9wdGlvbnMsIHsgYmFja2Ryb3A6ICdzdGF0aWMnLCBpbml0aWFsU3RhdGU6e3RpdGxlLCBtZXNzYWdlLCBzaG93TmV2ZXJTaG93SXRBZ2FpbkNoZWNrYm94fSB9KVxuICAgICAgICApO1xuICAgICAgICByZXR1cm4gbW9kYWxSZWYuY29udGVudC5hY3Rpb24ucGlwZShcbiAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgIHRhcCgoKT0+e1xuICAgICAgICAgICAgaWYgKG1vZGFsUmVmLmNvbnRlbnQubmV2ZXJTaG93SXRBZ2FpbiA9PT0gdHJ1ZSkgdGhpcy5uZXZlclNob3dJdEFnYWluTGlzdC5wdXNoKGRpYWxvZ0tleSk7XG4gICAgICAgICAgfSksXG4gICAgICAgICkgYXMgT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICB9KSlcbiAgfVxuICBuZXZlclNob3dJdEFnYWluTGlzdDpzdHJpbmdbXSA9IFtdO1xuICBhbGVydChcbiAgICB0aXRsZTogc3RyaW5nID0gJycsXG4gICAgbWVzc2FnZTogc3RyaW5nID0gJycsXG4gICAgc2hvd05ldmVyU2hvd0l0QWdhaW5DaGVja2JveDpib29sZWFuID0gZmFsc2UsXG4gICAgb3B0aW9uczogYW55ID0ge30sXG4gICk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIG9mKG51bGwpLnBpcGUoc3dpdGNoTWFwKCgpPT57XG4gICAgICBjb25zdCBkaWFsb2dLZXkgPSBgJHt0aXRsZX18JHttZXNzYWdlfWA7XG4gICAgICBpZiAodGhpcy5uZXZlclNob3dJdEFnYWluTGlzdC5pbmNsdWRlcyhkaWFsb2dLZXkpKSByZXR1cm4gb2YodHJ1ZSk7XG4gICAgICBjb25zdCBtb2RhbFJlZiA9IHRoaXMubW9kYWxTZXJ2aWNlLnNob3coXG4gICAgICAgIERpYWxvZ0FsZXJ0Q29tcG9uZW50LFxuICAgICAgICBPYmplY3QuYXNzaWduKHt9LCBvcHRpb25zLCB7IGJhY2tkcm9wOiAnc3RhdGljJywgaW5pdGlhbFN0YXRlOnt0aXRsZSwgbWVzc2FnZSwgc2hvd05ldmVyU2hvd0l0QWdhaW5DaGVja2JveH0gfSlcbiAgICAgICk7XG4gICAgICByZXR1cm4gbW9kYWxSZWYuY29udGVudC5hY3Rpb24ucGlwZShcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgdGFwKCgpPT57XG4gICAgICAgICAgaWYgKG1vZGFsUmVmLmNvbnRlbnQubmV2ZXJTaG93SXRBZ2FpbiA9PT0gdHJ1ZSkgdGhpcy5uZXZlclNob3dJdEFnYWluTGlzdC5wdXNoKGRpYWxvZ0tleSk7XG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgIH0pKTsgIFxuICB9XG4gIHNlbGVjdChcbiAgICB0aXRsZTogc3RyaW5nID0gJycsXG4gICAgc2VsZWN0aW9uczogQXJyYXk8c3RyaW5nfHtodG1sOnN0cmluZywgY2xhc3M/OnN0cmluZ30+LFxuICAgIG9wdGlvbnM6IGFueSA9IHt9XG4gICk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIG9mKG51bGwpLnBpcGUoc3dpdGNoTWFwKCgpPT57XG4gICAgICBjb25zdCBtb2RhbFJlZiA9IHRoaXMubW9kYWxTZXJ2aWNlLnNob3coXG4gICAgICAgIERpYWxvZ1NlbGVjdENvbXBvbmVudCxcbiAgICAgICAgT2JqZWN0LmFzc2lnbih7fSwgb3B0aW9ucywgeyBiYWNrZHJvcDogJ3N0YXRpYycsIGluaXRpYWxTdGF0ZTp7dGl0bGUsIHNlbGVjdGlvbnN9IH0pXG4gICAgICApO1xuICAgICAgcmV0dXJuIG1vZGFsUmVmLmNvbnRlbnQuYWN0aW9uLnBpcGUodGFrZSgxKSk7XG4gICAgfSkpOyAgXG4gIH1cbiAgcHJvbXB0KFxuICAgIHRpdGxlOnN0cmluZyA9ICcnLFxuICAgIG1lc3NhZ2U6c3RyaW5nID0gJycsXG4gICAgdHlwZTpzdHJpbmcsXG4gICAgdmFsaWRhdG9yczpWYWxpZGF0b3JGbltdID0gW10sXG4gICAgb3B0aW9uczogYW55ID0ge31cbiAgKTogT2JzZXJ2YWJsZTxzdHJpbmd8ZmFsc2U+IHtcbiAgICByZXR1cm4gb2YobnVsbCkucGlwZShzd2l0Y2hNYXAoKCk9PntcbiAgICAgIGNvbnN0IG1vZGFsUmVmID0gdGhpcy5tb2RhbFNlcnZpY2Uuc2hvdyhcbiAgICAgICAgRGlhbG9nUHJvbXB0Q29tcG9uZW50LFxuICAgICAgICBPYmplY3QuYXNzaWduKHt9LCBvcHRpb25zLCB7IGJhY2tkcm9wOiAnc3RhdGljJywgaW5pdGlhbFN0YXRlOnt0aXRsZSwgbWVzc2FnZSwgdHlwZSwgdmFsaWRhdG9yc30gfSlcbiAgICAgICk7XG4gICAgICByZXR1cm4gPE9ic2VydmFibGU8YW55Pj5tb2RhbFJlZi5jb250ZW50LmFjdGlvbi5waXBlKHRha2UoMSkpO1xuICAgIH0pKTsgIFxuICB9ICBcbn1cbiJdfQ==