UNPKG

ngx-modialog-10

Version:
181 lines 12.6 kB
/** * @fileoverview added by tsickle * Generated from: lib/overlay/overlay.service.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Injectable, Injector } from '@angular/core'; import { OverlayRenderer } from '../models/tokens'; import { DialogRefStack } from '../models/dialog-ref-stack'; import { vcRefStore } from '../models/vc-ref-store'; import { DialogRef } from '../models/dialog-ref'; /** @type {?} */ var _stack = new DialogRefStack(); var Overlay = /** @class */ (function () { function Overlay(_modalRenderer, injector) { this._modalRenderer = _modalRenderer; this.injector = injector; } Object.defineProperty(Overlay.prototype, "stackLength", { get: /** * @return {?} */ function () { return _stack.length; }, enumerable: true, configurable: true }); /** * Check if a given DialogRef is the top most ref in the stack. * TODO: distinguish between body modal vs in element modal. * @param dialogRef */ /** * Check if a given DialogRef is the top most ref in the stack. * TODO: distinguish between body modal vs in element modal. * @param {?} dialogRef * @return {?} */ Overlay.prototype.isTopMost = /** * Check if a given DialogRef is the top most ref in the stack. * TODO: distinguish between body modal vs in element modal. * @param {?} dialogRef * @return {?} */ function (dialogRef) { return _stack.indexOf(dialogRef) === _stack.length - 1; }; /** * @param {?} dialogRef * @return {?} */ Overlay.prototype.stackPosition = /** * @param {?} dialogRef * @return {?} */ function (dialogRef) { return _stack.indexOf(dialogRef); }; /** * @param {?} dialogRef * @return {?} */ Overlay.prototype.groupStackLength = /** * @param {?} dialogRef * @return {?} */ function (dialogRef) { return _stack.groupLength(_stack.groupOf(dialogRef)); }; /** * @param {?=} result * @return {?} */ Overlay.prototype.closeAll = /** * @param {?=} result * @return {?} */ function (result) { if (result === void 0) { result = null; } _stack.closeAll(result); }; /** * Creates an overlay and returns a dialog ref. * @param config instructions how to create the overlay * @param group A token to associate the new overlay with, used for reference (stacks usually) */ /** * Creates an overlay and returns a dialog ref. * @template T * @param {?} config instructions how to create the overlay * @param {?=} group A token to associate the new overlay with, used for reference (stacks usually) * @return {?} */ Overlay.prototype.open = /** * Creates an overlay and returns a dialog ref. * @template T * @param {?} config instructions how to create the overlay * @param {?=} group A token to associate the new overlay with, used for reference (stacks usually) * @return {?} */ function (config, group) { var _this = this; /** @type {?} */ var viewContainer = config.viewContainer; /** @type {?} */ var containers = []; if (typeof viewContainer === 'string') { containers = vcRefStore.getVCRef((/** @type {?} */ (viewContainer))); } else if (Array.isArray(viewContainer)) { containers = (/** @type {?} */ (viewContainer)); } else if (viewContainer) { containers = (/** @type {?} */ ([viewContainer])); } else { containers = [null]; } return containers .map((/** * @param {?} vc * @return {?} */ function (vc) { return _this.createOverlay(config.renderer || _this._modalRenderer, vc, config, group); })); }; /** * @private * @param {?} renderer * @param {?} vcRef * @param {?} config * @param {?} group * @return {?} */ Overlay.prototype.createOverlay = /** * @private * @param {?} renderer * @param {?} vcRef * @param {?} config * @param {?} group * @return {?} */ function (renderer, vcRef, config, group) { if (config.context) { config.context.normalize(); } if (!config.injector) { config.injector = this.injector; } /** @type {?} */ var dialog = new DialogRef(this, config.context || {}); dialog.inElement = config.context && !!config.context.inElement; /** @type {?} */ var cmpRef = renderer.render(dialog, vcRef, config.injector); Object.defineProperty(dialog, 'overlayRef', { value: cmpRef }); _stack.pushManaged(dialog, group); return dialog; }; Overlay.decorators = [ { type: Injectable } ]; /** @nocollapse */ Overlay.ctorParameters = function () { return [ { type: OverlayRenderer }, { type: Injector } ]; }; return Overlay; }()); export { Overlay }; if (false) { /** * @type {?} * @private */ Overlay.prototype._modalRenderer; /** * @type {?} * @protected */ Overlay.prototype.injector; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LW1vZGlhbG9nLTEwLyIsInNvdXJjZXMiOlsibGliL292ZXJsYXkvb3ZlcmxheS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFvQixVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZFLE9BQU8sRUFBRSxlQUFlLEVBQWlCLE1BQU0sa0JBQWtCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0lBRzNDLE1BQU0sR0FBRyxJQUFJLGNBQWMsRUFBTztBQUV4QztJQU1FLGlCQUFvQixjQUErQixFQUFZLFFBQWtCO1FBQTdELG1CQUFjLEdBQWQsY0FBYyxDQUFpQjtRQUFZLGFBQVEsR0FBUixRQUFRLENBQVU7SUFDakYsQ0FBQztJQUxELHNCQUFJLGdDQUFXOzs7O1FBQWY7WUFDRSxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUM7UUFDdkIsQ0FBQzs7O09BQUE7SUFLRDs7OztPQUlHOzs7Ozs7O0lBQ0gsMkJBQVM7Ozs7OztJQUFULFVBQVUsU0FBeUI7UUFDakMsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ3pELENBQUM7Ozs7O0lBRUQsK0JBQWE7Ozs7SUFBYixVQUFjLFNBQXlCO1FBQ3JDLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNuQyxDQUFDOzs7OztJQUVELGtDQUFnQjs7OztJQUFoQixVQUFpQixTQUF5QjtRQUN4QyxPQUFPLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7Ozs7O0lBRUQsMEJBQVE7Ozs7SUFBUixVQUFTLE1BQWtCO1FBQWxCLHVCQUFBLEVBQUEsYUFBa0I7UUFDdkIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQ7Ozs7T0FJRzs7Ozs7Ozs7SUFDSCxzQkFBSTs7Ozs7OztJQUFKLFVBQStCLE1BQXFCLEVBQUUsS0FBVztRQUFqRSxpQkFnQkM7O1lBZk8sYUFBYSxHQUFHLE1BQU0sQ0FBQyxhQUFhOztZQUN0QyxVQUFVLEdBQTRCLEVBQUU7UUFFNUMsSUFBSSxPQUFPLGFBQWEsS0FBSyxRQUFRLEVBQUU7WUFDckMsVUFBVSxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsbUJBQUEsYUFBYSxFQUFVLENBQUMsQ0FBQztTQUMzRDthQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsRUFBRTtZQUN2QyxVQUFVLEdBQUcsbUJBQUEsYUFBYSxFQUFPLENBQUM7U0FDbkM7YUFBTSxJQUFJLGFBQWEsRUFBRTtZQUN4QixVQUFVLEdBQUcsbUJBQUEsQ0FBQyxhQUFhLENBQUMsRUFBTyxDQUFDO1NBQ3JDO2FBQU07WUFDTCxVQUFVLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNyQjtRQUVELE9BQU8sVUFBVTthQUNkLEdBQUc7Ozs7UUFBRSxVQUFBLEVBQUUsSUFBSSxPQUFBLEtBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLFFBQVEsSUFBSSxLQUFJLENBQUMsY0FBYyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQTdFLENBQTZFLEVBQUMsQ0FBQztJQUMvRixDQUFDOzs7Ozs7Ozs7SUFFTywrQkFBYTs7Ozs7Ozs7SUFBckIsVUFBc0IsUUFBeUIsRUFDekIsS0FBdUIsRUFDdkIsTUFBcUIsRUFDckIsS0FBVTtRQUU5QixJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUU7WUFDbEIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQztTQUM1QjtRQUVELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFO1lBQ3BCLE1BQU0sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztTQUNqQzs7WUFFSyxNQUFNLEdBQUcsSUFBSSxTQUFTLENBQU0sSUFBSSxFQUFFLE1BQU0sQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1FBQzdELE1BQU0sQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7O1lBRTFELE1BQU0sR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQztRQUU5RCxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxZQUFZLEVBQUUsRUFBQyxLQUFLLEVBQUUsTUFBTSxFQUFDLENBQUMsQ0FBQztRQUM3RCxNQUFNLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztRQUVsQyxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOztnQkEzRUYsVUFBVTs7OztnQkFSRixlQUFlO2dCQUZlLFFBQVE7O0lBc0YvQyxjQUFDO0NBQUEsQUE1RUQsSUE0RUM7U0EzRVksT0FBTzs7Ozs7O0lBS04saUNBQXVDOzs7OztJQUFFLDJCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZpZXdDb250YWluZXJSZWYsIEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE92ZXJsYXlSZW5kZXJlciwgT3ZlcmxheUNvbmZpZyB9IGZyb20gJy4uL21vZGVscy90b2tlbnMnO1xuaW1wb3J0IHsgRGlhbG9nUmVmU3RhY2sgfSBmcm9tICcuLi9tb2RlbHMvZGlhbG9nLXJlZi1zdGFjayc7XG5pbXBvcnQgeyB2Y1JlZlN0b3JlIH0gZnJvbSAnLi4vbW9kZWxzL3ZjLXJlZi1zdG9yZSc7XG5pbXBvcnQgeyBEaWFsb2dSZWYgfSBmcm9tICcuLi9tb2RlbHMvZGlhbG9nLXJlZic7XG5pbXBvcnQgeyBPdmVybGF5Q29udGV4dCB9IGZyb20gJy4uL21vZGVscy9vdmVybGF5LWNvbnRleHQnO1xuXG5jb25zdCBfc3RhY2sgPSBuZXcgRGlhbG9nUmVmU3RhY2s8YW55PigpO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgT3ZlcmxheSB7XG4gIGdldCBzdGFja0xlbmd0aCgpOiBudW1iZXIge1xuICAgIHJldHVybiBfc3RhY2subGVuZ3RoO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfbW9kYWxSZW5kZXJlcjogT3ZlcmxheVJlbmRlcmVyLCBwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgYSBnaXZlbiBEaWFsb2dSZWYgaXMgdGhlIHRvcCBtb3N0IHJlZiBpbiB0aGUgc3RhY2suXG4gICAqIFRPRE86IGRpc3Rpbmd1aXNoIGJldHdlZW4gYm9keSBtb2RhbCB2cyBpbiBlbGVtZW50IG1vZGFsLlxuICAgKiBAcGFyYW0gZGlhbG9nUmVmXG4gICAqL1xuICBpc1RvcE1vc3QoZGlhbG9nUmVmOiBEaWFsb2dSZWY8YW55Pik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBfc3RhY2suaW5kZXhPZihkaWFsb2dSZWYpID09PSBfc3RhY2subGVuZ3RoIC0gMTtcbiAgfVxuXG4gIHN0YWNrUG9zaXRpb24oZGlhbG9nUmVmOiBEaWFsb2dSZWY8YW55Pikge1xuICAgIHJldHVybiBfc3RhY2suaW5kZXhPZihkaWFsb2dSZWYpO1xuICB9XG5cbiAgZ3JvdXBTdGFja0xlbmd0aChkaWFsb2dSZWY6IERpYWxvZ1JlZjxhbnk+KTogbnVtYmVyIHtcbiAgICByZXR1cm4gX3N0YWNrLmdyb3VwTGVuZ3RoKF9zdGFjay5ncm91cE9mKGRpYWxvZ1JlZikpO1xuICB9XG5cbiAgY2xvc2VBbGwocmVzdWx0OiBhbnkgPSBudWxsKTogdm9pZCB7XG4gICAgICBfc3RhY2suY2xvc2VBbGwocmVzdWx0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGFuIG92ZXJsYXkgYW5kIHJldHVybnMgYSBkaWFsb2cgcmVmLlxuICAgKiBAcGFyYW0gY29uZmlnIGluc3RydWN0aW9ucyBob3cgdG8gY3JlYXRlIHRoZSBvdmVybGF5XG4gICAqIEBwYXJhbSBncm91cCBBIHRva2VuIHRvIGFzc29jaWF0ZSB0aGUgbmV3IG92ZXJsYXkgd2l0aCwgdXNlZCBmb3IgcmVmZXJlbmNlIChzdGFja3MgdXN1YWxseSlcbiAgICovXG4gIG9wZW48VCBleHRlbmRzIE92ZXJsYXlDb250ZXh0Pihjb25maWc6IE92ZXJsYXlDb25maWcsIGdyb3VwPzogYW55KTogRGlhbG9nUmVmPFQ+W10ge1xuICAgIGNvbnN0IHZpZXdDb250YWluZXIgPSBjb25maWcudmlld0NvbnRhaW5lcjtcbiAgICBsZXQgY29udGFpbmVyczogQXJyYXk8Vmlld0NvbnRhaW5lclJlZj4gPSBbXTtcblxuICAgIGlmICh0eXBlb2Ygdmlld0NvbnRhaW5lciA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGNvbnRhaW5lcnMgPSB2Y1JlZlN0b3JlLmdldFZDUmVmKHZpZXdDb250YWluZXIgYXMgc3RyaW5nKTtcbiAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkodmlld0NvbnRhaW5lcikpIHtcbiAgICAgIGNvbnRhaW5lcnMgPSB2aWV3Q29udGFpbmVyIGFzIGFueTtcbiAgICB9IGVsc2UgaWYgKHZpZXdDb250YWluZXIpIHtcbiAgICAgIGNvbnRhaW5lcnMgPSBbdmlld0NvbnRhaW5lcl0gYXMgYW55O1xuICAgIH0gZWxzZSB7XG4gICAgICBjb250YWluZXJzID0gW251bGxdO1xuICAgIH1cblxuICAgIHJldHVybiBjb250YWluZXJzXG4gICAgICAubWFwKCB2YyA9PiB0aGlzLmNyZWF0ZU92ZXJsYXkoY29uZmlnLnJlbmRlcmVyIHx8IHRoaXMuX21vZGFsUmVuZGVyZXIsIHZjLCBjb25maWcsIGdyb3VwKSk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZU92ZXJsYXkocmVuZGVyZXI6IE92ZXJsYXlSZW5kZXJlcixcbiAgICAgICAgICAgICAgICAgICAgICAgIHZjUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnOiBPdmVybGF5Q29uZmlnLFxuICAgICAgICAgICAgICAgICAgICAgICAgZ3JvdXA6IGFueSk6IERpYWxvZ1JlZjxhbnk+IHtcblxuICAgIGlmIChjb25maWcuY29udGV4dCkge1xuICAgICAgY29uZmlnLmNvbnRleHQubm9ybWFsaXplKCk7XG4gICAgfVxuXG4gICAgaWYgKCFjb25maWcuaW5qZWN0b3IpIHtcbiAgICAgIGNvbmZpZy5pbmplY3RvciA9IHRoaXMuaW5qZWN0b3I7XG4gICAgfVxuXG4gICAgY29uc3QgZGlhbG9nID0gbmV3IERpYWxvZ1JlZjxhbnk+KHRoaXMsIGNvbmZpZy5jb250ZXh0IHx8IHt9KTtcbiAgICBkaWFsb2cuaW5FbGVtZW50ID0gY29uZmlnLmNvbnRleHQgJiYgISFjb25maWcuY29udGV4dC5pbkVsZW1lbnQ7XG5cbiAgICBjb25zdCBjbXBSZWYgPSByZW5kZXJlci5yZW5kZXIoZGlhbG9nLCB2Y1JlZiwgY29uZmlnLmluamVjdG9yKTtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkaWFsb2csICdvdmVybGF5UmVmJywge3ZhbHVlOiBjbXBSZWZ9KTtcbiAgICBfc3RhY2sucHVzaE1hbmFnZWQoZGlhbG9nLCBncm91cCk7XG5cbiAgICByZXR1cm4gZGlhbG9nO1xuICB9XG59XG4iXX0=