ngx-modialog-10
Version:
Modal / Dialog for Angular
141 lines • 12.6 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: lib/modal.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { __extends } from "tslib";
import { combineLatest } from 'rxjs';
import { Injectable } from '@angular/core';
import { Overlay, Modal as Modal_, CSSBackdrop, PromiseCompleter } from 'ngx-modialog-10';
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 {?} */
var isDoc = !(typeof document === 'undefined' || !document);
/** @type {?} */
var 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';
}
var Modal = /** @class */ (function (_super) {
__extends(Modal, _super);
function Modal(overlay) {
return _super.call(this, overlay) || this;
}
/**
* @return {?}
*/
Modal.prototype.alert = /**
* @return {?}
*/
function () {
return new OneButtonPresetBuilder(this, (/** @type {?} */ ({ isBlocking: false })));
};
/**
* @return {?}
*/
Modal.prototype.prompt = /**
* @return {?}
*/
function () {
return new PromptPresetBuilder(this, (/** @type {?} */ ({ isBlocking: true, keyboard: null })));
};
/**
* @return {?}
*/
Modal.prototype.confirm = /**
* @return {?}
*/
function () {
return new TwoButtonPresetBuilder(this, (/** @type {?} */ ({ isBlocking: true, keyboard: null })));
};
/**
* @protected
* @param {?} dialogRef
* @param {?} content
* @return {?}
*/
Modal.prototype.create = /**
* @protected
* @param {?} dialogRef
* @param {?} content
* @return {?}
*/
function (dialogRef, content) {
var _this = this;
/** @type {?} */
var backdropRef = this.createBackdrop(dialogRef, CSSBackdrop);
/** @type {?} */
var containerRef = this.createContainer(dialogRef, BSModalContainer, content);
/** @type {?} */
var overlay = dialogRef.overlayRef.instance;
/** @type {?} */
var backdrop = backdropRef.instance;
/** @type {?} */
var 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 {?}
*/
function () {
/** @type {?} */
var completer = new PromiseCompleter();
backdrop.removeClass(animationClass);
container.removeClass(animationClass);
combineLatest.call(backdrop.myAnimationEnd$(), container.myAnimationEnd$(), (/**
* @param {?} s1
* @param {?} s2
* @return {?}
*/
function (s1, s2) { return [s1, s2]; }))
.subscribe((/**
* @param {?} sources
* @return {?}
*/
function (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 = function () { return [
{ type: Overlay }
]; };
return Modal;
}(Modal_));
export { Modal };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtbW9kaWFsb2ctMTAvcGx1Z2lucy9ib290c3RyYXAvIiwic291cmNlcyI6WyJsaWIvbW9kYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFFTCxPQUFPLEVBRVAsS0FBSyxJQUFJLE1BQU0sRUFDZixXQUFXLEVBQ1gsZ0JBQWdCLEVBQ2pCLE1BQU0saUJBQWlCLENBQUM7QUFFekIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFL0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7SUFJcEYsS0FBSyxHQUFZLENBQUMsQ0FBQyxPQUFPLFFBQVEsS0FBSyxXQUFXLElBQUksQ0FBQyxRQUFRLENBQUM7O0lBRWxFLGNBQWMsR0FBRyxNQUFNOzs7Ozs7QUFNM0IsTUFBTSxVQUFVLGNBQWM7QUFDOUIsQ0FBQzs7Ozs7QUFLRCxNQUFNLFVBQVUsY0FBYztJQUM1QixjQUFjLEdBQUcsSUFBSSxDQUFDO0FBQ3hCLENBQUM7QUFFRDtJQUMyQix5QkFBTTtJQUMvQixlQUFZLE9BQWdCO2VBQzFCLGtCQUFNLE9BQU8sQ0FBQztJQUNoQixDQUFDOzs7O0lBRUQscUJBQUs7OztJQUFMO1FBQ0UsT0FBTyxJQUFJLHNCQUFzQixDQUFDLElBQUksRUFBRSxtQkFBSyxFQUFDLFVBQVUsRUFBRSxLQUFLLEVBQUMsRUFBQSxDQUFDLENBQUM7SUFDcEUsQ0FBQzs7OztJQUVELHNCQUFNOzs7SUFBTjtRQUNFLE9BQU8sSUFBSSxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsbUJBQUssRUFBQyxVQUFV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cm9tICdyeGpzJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgQ29udGFpbmVyQ29udGVudCxcbiAgT3ZlcmxheSxcbiAgRGlhbG9nUmVmLFxuICBNb2RhbCBhcyBNb2RhbF8sXG4gIENTU0JhY2tkcm9wLFxuICBQcm9taXNlQ29tcGxldGVyXG59IGZyb20gJ25neC1tb2RpYWxvZy0xMCc7XG5cbmltcG9ydCB7IEJTTW9kYWxDb250YWluZXIgfSBmcm9tICcuL21vZGFsLWNvbnRhaW5lci5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBPbmVCdXR0b25QcmVzZXRCdWlsZGVyIH0gZnJvbSAnLi9wcmVzZXRzL29uZS1idXR0b24tcHJlc2V0JztcbmltcG9ydCB7IFR3b0J1dHRvblByZXNldEJ1aWxkZXIsIFByb21wdFByZXNldEJ1aWxkZXIgfSBmcm9tICcuL3ByZXNldHMvdHdvLWJ1dHRvbi1wcmVzZXQnO1xuXG4vLyBUT0RPOiB1c2UgREkgZmFjdG9yeSBmb3IgdGhpcy5cbi8vIFRPRE86IGNvbnNvbGlkYXRlIGR1cCBjb2RlXG5jb25zdCBpc0RvYzogYm9vbGVhbiA9ICEodHlwZW9mIGRvY3VtZW50ID09PSAndW5kZWZpbmVkJyB8fCAhZG9jdW1lbnQpO1xuXG5sZXQgYW5pbWF0aW9uQ2xhc3MgPSAnc2hvdyc7XG5cbi8qKlxuICogRXhlY3V0ZSB0aGlzIG1ldGhvZCB0byBmbGFnIHRoYXQgeW91IGFyZSB3b3JraW5nIHdpdGggQm9vdHN0cmFwIHZlcnNpb24gNC5cbiAqIEBkZXByZWNhdGVkIEZyb20gdmVyc2lvbiA1LCBuZ3gtbW9kaWFsb2cncyBib290c3RyYXAgcGx1Z2luIGlzIHNldCB0byB3b3JrIHdpdGggdmVyc2lvbiA0IG9mIGJvb3RzdHJhcCBieSBkZWZhdWx0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gYm9vdHN0cmFwNE1vZGUoKTogdm9pZCB7XG59XG5cbi8qKlxuICogRXhlY3V0ZSB0aGlzIG1ldGhvZCB0byBmbGFnIHRoYXQgeW91IGFyZSB3b3JraW5nIHdpdGggQm9vdHN0cmFwIHZlcnNpb24gMy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJvb3RzdHJhcDNNb2RlKCk6IHZvaWQge1xuICBhbmltYXRpb25DbGFzcyA9ICdpbic7XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNb2RhbCBleHRlbmRzIE1vZGFsXyB7XG4gIGNvbnN0cnVjdG9yKG92ZXJsYXk6IE92ZXJsYXkpIHtcbiAgICBzdXBlcihvdmVybGF5KTtcbiAgfVxuXG4gIGFsZXJ0KCk6IE9uZUJ1dHRvblByZXNldEJ1aWxkZXIge1xuICAgIHJldHVybiBuZXcgT25lQnV0dG9uUHJlc2V0QnVpbGRlcih0aGlzLCA8YW55Pntpc0Jsb2NraW5nOiBmYWxzZX0pO1xuICB9XG5cbiAgcHJvbXB0KCk6IFByb21wdFByZXNldEJ1aWxkZXIge1xuICAgIHJldHVybiBuZXcgUHJvbXB0UHJlc2V0QnVpbGRlcih0aGlzLCA8YW55Pntpc0Jsb2NraW5nOiB0cnVlLCBrZXlib2FyZDogbnVsbH0pO1xuICB9XG5cbiAgY29uZmlybSgpOiBUd29CdXR0b25QcmVzZXRCdWlsZGVyIHtcbiAgICByZXR1cm4gbmV3IFR3b0J1dHRvblByZXNldEJ1aWxkZXIodGhpcywgPGFueT57aXNCbG9ja2luZzogdHJ1ZSwga2V5Ym9hcmQ6IG51bGx9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGUoZGlhbG9nUmVmOiBEaWFsb2dSZWY8YW55PiwgY29udGVudDogQ29udGFpbmVyQ29udGVudCk6IERpYWxvZ1JlZjxhbnk+IHtcblxuICAgIGNvbnN0IGJhY2tkcm9wUmVmID0gdGhpcy5jcmVhdGVCYWNrZHJvcChkaWFsb2dSZWYsIENTU0JhY2tkcm9wKTtcbiAgICBjb25zdCBjb250YWluZXJSZWYgPSB0aGlzLmNyZWF0ZUNvbnRhaW5lcihkaWFsb2dSZWYsIEJTTW9kYWxDb250YWluZXIsIGNvbnRlbnQpO1xuXG4gICAgY29uc3Qgb3ZlcmxheSA9IGRpYWxvZ1JlZi5vdmVybGF5UmVmLmluc3RhbmNlO1xuICAgIGNvbnN0IGJhY2tkcm9wID0gYmFja2Ryb3BSZWYuaW5zdGFuY2U7XG4gICAgY29uc3QgY29udGFpbmVyID0gY29udGFpbmVyUmVmLmluc3RhbmNlO1xuXG4gICAgZGlhbG9nUmVmLmluRWxlbWVudCA/IG92ZXJsYXkuaW5zaWRlRWxlbWVudCgpIDogb3ZlcmxheS5mdWxsc2NyZWVuKCk7XG5cbiAgICAvLyBhZGQgYm9keSBjbGFzcyBpZiB0aGlzIGlzIHRoZSBvbmx5IGRpYWxvZyBpbiB0aGUgc3RhY2tcbiAgICBpZiAoaXNEb2MgJiYgIWRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmNvbnRhaW5zKCdtb2RhbC1vcGVuJykpIHtcbiAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZCgnbW9kYWwtb3BlbicpO1xuICAgIH1cblxuXG4gICAgaWYgKGRpYWxvZ1JlZi5pbkVsZW1lbnQpIHtcbiAgICAgIGJhY2tkcm9wLnNldFN0eWxlKCdwb3NpdGlvbicsICdhYnNvbHV0ZScpO1xuICAgIH1cbiAgICBiYWNrZHJvcC5hZGRDbGFzcygnbW9kYWwtYmFja2Ryb3AgZmFkZScsIHRydWUpO1xuXG4gICAgYmFja2Ryb3AuYWRkQ2xhc3MoYW5pbWF0aW9uQ2xhc3MpO1xuICAgIGNvbnRhaW5lci5hZGRDbGFzcyhhbmltYXRpb25DbGFzcyk7XG5cbiAgICBpZiAoY29udGFpbmVyUmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIGNvbnRhaW5lclJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgb3ZlcmxheS5iZWZvcmVEZXN0cm95KCgpID0+IHtcbiAgICAgIGNvbnN0IGNvbXBsZXRlciA9IG5ldyBQcm9taXNlQ29tcGxldGVyPHZvaWQ+KCk7XG4gICAgICBiYWNrZHJvcC5yZW1vdmVDbGFzcyhhbmltYXRpb25DbGFzcyk7XG4gICAgICBjb250YWluZXIucmVtb3ZlQ2xhc3MoYW5pbWF0aW9uQ2xhc3MpO1xuXG4gICAgICBjb21iaW5lTGF0ZXN0LmNhbGwoYmFja2Ryb3AubXlBbmltYXRpb25FbmQkKCksIGNvbnRhaW5lci5teUFuaW1hdGlvbkVuZCQoKSwgKHMxLCBzMikgPT4gW3MxLCBzMl0pXG4gICAgICAgIC5zdWJzY3JpYmUoc291cmNlcyA9PiB7XG4gICAgICAgICAgaWYgKGlzRG9jICYmIHRoaXMub3ZlcmxheS5ncm91cFN0YWNrTGVuZ3RoKGRpYWxvZ1JlZikgPT09IDEpIHtcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZSgnbW9kYWwtb3BlbicpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbXBsZXRlci5yZXNvbHZlKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gY29tcGxldGVyLnByb21pc2U7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gZGlhbG9nUmVmO1xuICB9XG59XG4iXX0=