UNPKG

ngx-modialog-7

Version:
124 lines 11.8 kB
/** * @fileoverview added by tsickle * Generated from: lib/modal.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { combineLatest } from 'rxjs'; import { Injectable } from '@angular/core'; import { Overlay, Modal as Modal_, CSSBackdrop, PromiseCompleter } from 'ngx-modialog-7'; import { BSModalContainer } from './modal-container.component'; import { OneButtonPresetBuilder } from './presets/one-button-preset'; import { TwoButtonPresetBuilder, PromptPresetBuilder } from './presets/two-button-preset'; // TODO: use DI factory for this. // TODO: consolidate dup code /** @type {?} */ const isDoc = !(typeof document === 'undefined' || !document); /** @type {?} */ let animationClass = 'show'; /** * Execute this method to flag that you are working with Bootstrap version 4. * @deprecated From version 5, ngx-modialog's bootstrap plugin is set to work with version 4 of bootstrap by default. * @return {?} */ export function bootstrap4Mode() { } /** * Execute this method to flag that you are working with Bootstrap version 3. * @return {?} */ export function bootstrap3Mode() { animationClass = 'in'; } export class Modal extends Modal_ { /** * @param {?} overlay */ constructor(overlay) { super(overlay); } /** * @return {?} */ alert() { return new OneButtonPresetBuilder(this, (/** @type {?} */ ({ isBlocking: false }))); } /** * @return {?} */ prompt() { return new PromptPresetBuilder(this, (/** @type {?} */ ({ isBlocking: true, keyboard: null }))); } /** * @return {?} */ confirm() { return new TwoButtonPresetBuilder(this, (/** @type {?} */ ({ isBlocking: true, keyboard: null }))); } /** * @protected * @param {?} dialogRef * @param {?} content * @return {?} */ create(dialogRef, content) { /** @type {?} */ const backdropRef = this.createBackdrop(dialogRef, CSSBackdrop); /** @type {?} */ const containerRef = this.createContainer(dialogRef, BSModalContainer, content); /** @type {?} */ const overlay = dialogRef.overlayRef.instance; /** @type {?} */ const backdrop = backdropRef.instance; /** @type {?} */ const container = containerRef.instance; dialogRef.inElement ? overlay.insideElement() : overlay.fullscreen(); // add body class if this is the only dialog in the stack if (isDoc && !document.body.classList.contains('modal-open')) { document.body.classList.add('modal-open'); } if (dialogRef.inElement) { backdrop.setStyle('position', 'absolute'); } backdrop.addClass('modal-backdrop fade', true); backdrop.addClass(animationClass); container.addClass(animationClass); if (containerRef.location.nativeElement) { containerRef.location.nativeElement.focus(); } overlay.beforeDestroy((/** * @return {?} */ () => { /** @type {?} */ const completer = new PromiseCompleter(); backdrop.removeClass(animationClass); container.removeClass(animationClass); combineLatest.call(backdrop.myAnimationEnd$(), container.myAnimationEnd$(), (/** * @param {?} s1 * @param {?} s2 * @return {?} */ (s1, s2) => [s1, s2])) .subscribe((/** * @param {?} sources * @return {?} */ sources => { if (isDoc && this.overlay.groupStackLength(dialogRef) === 1) { document.body.classList.remove('modal-open'); } completer.resolve(); })); return completer.promise; })); return dialogRef; } } Modal.decorators = [ { type: Injectable } ]; /** @nocollapse */ Modal.ctorParameters = () => [ { type: Overlay } ]; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtbW9kaWFsb2ctNy9wbHVnaW5zL2Jvb3RzdHJhcC8iLCJzb3VyY2VzIjpbImxpYi9tb2RhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBRUwsT0FBTyxFQUVQLEtBQUssSUFBSSxNQUFNLEVBQ2YsV0FBVyxFQUNYLGdCQUFnQixFQUNqQixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRS9ELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7O01BSXBGLEtBQUssR0FBWSxDQUFDLENBQUMsT0FBTyxRQUFRLEtBQUssV0FBVyxJQUFJLENBQUMsUUFBUSxDQUFDOztJQUVsRSxjQUFjLEdBQUcsTUFBTTs7Ozs7O0FBTTNCLE1BQU0sVUFBVSxjQUFjO0FBQzlCLENBQUM7Ozs7O0FBS0QsTUFBTSxVQUFVLGNBQWM7SUFDNUIsY0FBYyxHQUFHLElBQUksQ0FBQztBQUN4QixDQUFDO0FBR0QsTUFBTSxPQUFPLEtBQU0sU0FBUSxNQUFNOzs7O0lBQy9CLFlBQVksT0FBZ0I7UUFDMUIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pCLENBQUM7Ozs7SUFFRCxLQUFLO1FBQ0gsT0FBTyxJQUFJLHNCQUFzQixDQUFDLElBQUksRUFBRSxtQkFBSyxFQUFDLFVBQVUsRUFBRSxLQUFLLEVBQUMsRUFBQSxDQUFDLENBQUM7SUFDcEUsQ0FBQzs7OztJQUVELE1BQU07UUFDSixPQUFPLElBQUksbUJBQW1CLENBQUMsSUFBSSxFQUFFLG1CQUFLLEVBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFDLEVBQUEsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7Ozs7SUFFRCxPQUFPO1FBQ0wsT0FBTyxJQUFJLHNCQUFzQixDQUFDLElBQUksRUFBRSxtQkFBSyxFQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBQyxFQUFBLENBQUMsQ0FBQztJQUNuRixDQUFDOzs7Ozs7O0lBRVMsTUFBTSxDQUFDLFNBQXlCLEVBQUUsT0FBeUI7O2NBRTdELFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxXQUFXLENBQUM7O2NBQ3pELFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxPQUFPLENBQUM7O2NBRXpFLE9BQU8sR0FBRyxTQUFTLENBQUMsVUFBVSxDQUFDLFFBQVE7O2NBQ3ZDLFFBQVEsR0FBRyxXQUFXLENBQUMsUUFBUTs7Y0FDL0IsU0FBUyxHQUFHLFlBQVksQ0FBQyxRQUFRO1FBRXZDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBRXJFLHlEQUF5RDtRQUN6RCxJQUFJLEtBQUssSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsRUFBRTtZQUM1RCxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDM0M7UUFHRCxJQUFJLFNBQVMsQ0FBQyxTQUFTLEVBQUU7WUFDdkIsUUFBUSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7U0FDM0M7UUFDRCxRQUFRLENBQUMsUUFBUSxDQUFDLHFCQUFxQixFQUFFLElBQUksQ0FBQyxDQUFDO1FBRS9DLFFBQVEsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDbEMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUVuQyxJQUFJLFlBQVksQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFO1lBQ3ZDLFlBQVksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQzdDO1FBRUQsT0FBTyxDQUFDLGFBQWE7OztRQUFDLEdBQUcsRUFBRTs7a0JBQ25CLFNBQVMsR0FBRyxJQUFJLGdCQUFnQixFQUFRO1lBQzlDLFFBQVEsQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDckMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUV0QyxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLEVBQUUsRUFBRSxTQUFTLENBQUMsZUFBZSxFQUFFOzs7OztZQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUM7aUJBQzlGLFNBQVM7Ozs7WUFBQyxPQUFPLENBQUMsRUFBRTtnQkFDbkIsSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7b0JBQzNELFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztpQkFDOUM7Z0JBRUQsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3RCLENBQUMsRUFBQyxDQUFDO1lBRUwsT0FBTyxTQUFTLENBQUMsT0FBTyxDQUFDO1FBQzNCLENBQUMsRUFBQyxDQUFDO1FBRUgsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQzs7O1lBakVGLFVBQVU7Ozs7WUFoQ1QsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgQ29udGFpbmVyQ29udGVudCxcbiAgT3ZlcmxheSxcbiAgRGlhbG9nUmVmLFxuICBNb2RhbCBhcyBNb2RhbF8sXG4gIENTU0JhY2tkcm9wLFxuICBQcm9taXNlQ29tcGxldGVyXG59IGZyb20gJ25neC1tb2RpYWxvZy03JztcblxuaW1wb3J0IHsgQlNNb2RhbENvbnRhaW5lciB9IGZyb20gJy4vbW9kYWwtY29udGFpbmVyLmNvbXBvbmVudCc7XG5cbmltcG9ydCB7IE9uZUJ1dHRvblByZXNldEJ1aWxkZXIgfSBmcm9tICcuL3ByZXNldHMvb25lLWJ1dHRvbi1wcmVzZXQnO1xuaW1wb3J0IHsgVHdvQnV0dG9uUHJlc2V0QnVpbGRlciwgUHJvbXB0UHJlc2V0QnVpbGRlciB9IGZyb20gJy4vcHJlc2V0cy90d28tYnV0dG9uLXByZXNldCc7XG5cbi8vIFRPRE86IHVzZSBESSBmYWN0b3J5IGZvciB0aGlzLlxuLy8gVE9ETzogY29uc29saWRhdGUgZHVwIGNvZGVcbmNvbnN0IGlzRG9jOiBib29sZWFuID0gISh0eXBlb2YgZG9jdW1lbnQgPT09ICd1bmRlZmluZWQnIHx8ICFkb2N1bWVudCk7XG5cbmxldCBhbmltYXRpb25DbGFzcyA9ICdzaG93JztcblxuLyoqXG4gKiBFeGVjdXRlIHRoaXMgbWV0aG9kIHRvIGZsYWcgdGhhdCB5b3UgYXJlIHdvcmtpbmcgd2l0aCBCb290c3RyYXAgdmVyc2lvbiA0LlxuICogQGRlcHJlY2F0ZWQgRnJvbSB2ZXJzaW9uIDUsIG5neC1tb2RpYWxvZydzIGJvb3RzdHJhcCBwbHVnaW4gaXMgc2V0IHRvIHdvcmsgd2l0aCB2ZXJzaW9uIDQgb2YgYm9vdHN0cmFwIGJ5IGRlZmF1bHQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBib290c3RyYXA0TW9kZSgpOiB2b2lkIHtcbn1cblxuLyoqXG4gKiBFeGVjdXRlIHRoaXMgbWV0aG9kIHRvIGZsYWcgdGhhdCB5b3UgYXJlIHdvcmtpbmcgd2l0aCBCb290c3RyYXAgdmVyc2lvbiAzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYm9vdHN0cmFwM01vZGUoKTogdm9pZCB7XG4gIGFuaW1hdGlvbkNsYXNzID0gJ2luJztcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE1vZGFsIGV4dGVuZHMgTW9kYWxfIHtcbiAgY29uc3RydWN0b3Iob3ZlcmxheTogT3ZlcmxheSkge1xuICAgIHN1cGVyKG92ZXJsYXkpO1xuICB9XG5cbiAgYWxlcnQoKTogT25lQnV0dG9uUHJlc2V0QnVpbGRlciB7XG4gICAgcmV0dXJuIG5ldyBPbmVCdXR0b25QcmVzZXRCdWlsZGVyKHRoaXMsIDxhbnk+e2lzQmxvY2tpbmc6IGZhbHNlfSk7XG4gIH1cblxuICBwcm9tcHQoKTogUHJvbXB0UHJlc2V0QnVpbGRlciB7XG4gICAgcmV0dXJuIG5ldyBQcm9tcHRQcmVzZXRCdWlsZGVyKHRoaXMsIDxhbnk+e2lzQmxvY2tpbmc6IHRydWUsIGtleWJvYXJkOiBudWxsfSk7XG4gIH1cblxuICBjb25maXJtKCk6IFR3b0J1dHRvblByZXNldEJ1aWxkZXIge1xuICAgIHJldHVybiBuZXcgVHdvQnV0dG9uUHJlc2V0QnVpbGRlcih0aGlzLCA8YW55Pntpc0Jsb2NraW5nOiB0cnVlLCBrZXlib2FyZDogbnVsbH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZShkaWFsb2dSZWY6IERpYWxvZ1JlZjxhbnk+LCBjb250ZW50OiBDb250YWluZXJDb250ZW50KTogRGlhbG9nUmVmPGFueT4ge1xuXG4gICAgY29uc3QgYmFja2Ryb3BSZWYgPSB0aGlzLmNyZWF0ZUJhY2tkcm9wKGRpYWxvZ1JlZiwgQ1NTQmFja2Ryb3ApO1xuICAgIGNvbnN0IGNvbnRhaW5lclJlZiA9IHRoaXMuY3JlYXRlQ29udGFpbmVyKGRpYWxvZ1JlZiwgQlNNb2RhbENvbnRhaW5lciwgY29udGVudCk7XG5cbiAgICBjb25zdCBvdmVybGF5ID0gZGlhbG9nUmVmLm92ZXJsYXlSZWYuaW5zdGFuY2U7XG4gICAgY29uc3QgYmFja2Ryb3AgPSBiYWNrZHJvcFJlZi5pbnN0YW5jZTtcbiAgICBjb25zdCBjb250YWluZXIgPSBjb250YWluZXJSZWYuaW5zdGFuY2U7XG5cbiAgICBkaWFsb2dSZWYuaW5FbGVtZW50ID8gb3ZlcmxheS5pbnNpZGVFbGVtZW50KCkgOiBvdmVybGF5LmZ1bGxzY3JlZW4oKTtcblxuICAgIC8vIGFkZCBib2R5IGNsYXNzIGlmIHRoaXMgaXMgdGhlIG9ubHkgZGlhbG9nIGluIHRoZSBzdGFja1xuICAgIGlmIChpc0RvYyAmJiAhZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuY29udGFpbnMoJ21vZGFsLW9wZW4nKSkge1xuICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKCdtb2RhbC1vcGVuJyk7XG4gICAgfVxuXG5cbiAgICBpZiAoZGlhbG9nUmVmLmluRWxlbWVudCkge1xuICAgICAgYmFja2Ryb3Auc2V0U3R5bGUoJ3Bvc2l0aW9uJywgJ2Fic29sdXRlJyk7XG4gICAgfVxuICAgIGJhY2tkcm9wLmFkZENsYXNzKCdtb2RhbC1iYWNrZHJvcCBmYWRlJywgdHJ1ZSk7XG5cbiAgICBiYWNrZHJvcC5hZGRDbGFzcyhhbmltYXRpb25DbGFzcyk7XG4gICAgY29udGFpbmVyLmFkZENsYXNzKGFuaW1hdGlvbkNsYXNzKTtcblxuICAgIGlmIChjb250YWluZXJSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudCkge1xuICAgICAgY29udGFpbmVyUmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICBvdmVybGF5LmJlZm9yZURlc3Ryb3koKCkgPT4ge1xuICAgICAgY29uc3QgY29tcGxldGVyID0gbmV3IFByb21pc2VDb21wbGV0ZXI8dm9pZD4oKTtcbiAgICAgIGJhY2tkcm9wLnJlbW92ZUNsYXNzKGFuaW1hdGlvbkNsYXNzKTtcbiAgICAgIGNvbnRhaW5lci5yZW1vdmVDbGFzcyhhbmltYXRpb25DbGFzcyk7XG5cbiAgICAgIGNvbWJpbmVMYXRlc3QuY2FsbChiYWNrZHJvcC5teUFuaW1hdGlvbkVuZCQoKSwgY29udGFpbmVyLm15QW5pbWF0aW9uRW5kJCgpLCAoczEsIHMyKSA9PiBbczEsIHMyXSlcbiAgICAgICAgLnN1YnNjcmliZShzb3VyY2VzID0+IHtcbiAgICAgICAgICBpZiAoaXNEb2MgJiYgdGhpcy5vdmVybGF5Lmdyb3VwU3RhY2tMZW5ndGgoZGlhbG9nUmVmKSA9PT0gMSkge1xuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKCdtb2RhbC1vcGVuJyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29tcGxldGVyLnJlc29sdmUoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgIHJldHVybiBjb21wbGV0ZXIucHJvbWlzZTtcbiAgICB9KTtcblxuICAgIHJldHVybiBkaWFsb2dSZWY7XG4gIH1cbn1cbiJdfQ==