UNPKG

ngx-modialog-7

Version:
88 lines 6.75 kB
/** * @fileoverview added by tsickle * Generated from: lib/providers/dom-modal-renderer.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { ApplicationRef, Injector, Injectable } from '@angular/core'; import { createComponent } from '../framework/createComponent'; import { DialogRef } from '../models/dialog-ref'; import { ModalOverlay } from '../overlay/index'; var DOMOverlayRenderer = /** @class */ (function () { function DOMOverlayRenderer(appRef, injector) { this.appRef = appRef; this.injector = injector; this.isDoc = !(typeof document === 'undefined' || !document); } /** * @param {?} dialog * @param {?} vcRef * @param {?=} injector * @return {?} */ DOMOverlayRenderer.prototype.render = /** * @param {?} dialog * @param {?} vcRef * @param {?=} injector * @return {?} */ function (dialog, vcRef, injector) { var _this = this; if (!injector) { injector = this.injector; } /** @type {?} */ var cmpRef = createComponent({ component: ModalOverlay, vcRef: vcRef, injector: Injector.create({ providers: [ { provide: DialogRef, useValue: dialog } ], parent: injector }) }); if (!vcRef) { this.appRef.attachView(cmpRef.hostView); // TODO: doesn't look like this is needed, explore. leaving now to be on the safe side. dialog.onDestroy.subscribe((/** * @return {?} */ function () { return _this.appRef.detachView(cmpRef.hostView); })); } if (vcRef && dialog.inElement) { vcRef.element.nativeElement.appendChild(cmpRef.location.nativeElement); } else if (this.isDoc) { document.body.appendChild(cmpRef.location.nativeElement); } return cmpRef; }; DOMOverlayRenderer.decorators = [ { type: Injectable } ]; /** @nocollapse */ DOMOverlayRenderer.ctorParameters = function () { return [ { type: ApplicationRef }, { type: Injector } ]; }; return DOMOverlayRenderer; }()); export { DOMOverlayRenderer }; if (false) { /** * @type {?} * @private */ DOMOverlayRenderer.prototype.isDoc; /** * @type {?} * @private */ DOMOverlayRenderer.prototype.appRef; /** * @type {?} * @private */ DOMOverlayRenderer.prototype.injector; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tLW1vZGFsLXJlbmRlcmVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LW1vZGlhbG9nLTcvIiwic291cmNlcyI6WyJsaWIvcHJvdmlkZXJzL2RvbS1tb2RhbC1yZW5kZXJlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFDTCxjQUFjLEVBR2QsUUFBUSxFQUNSLFVBQVUsRUFDWCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRWpELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVoRDtJQUtFLDRCQUFvQixNQUFzQixFQUFVLFFBQWtCO1FBQWxELFdBQU0sR0FBTixNQUFNLENBQWdCO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUY5RCxVQUFLLEdBQVksQ0FBQyxDQUFDLE9BQU8sUUFBUSxLQUFLLFdBQVcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBR3pFLENBQUM7Ozs7Ozs7SUFFRCxtQ0FBTTs7Ozs7O0lBQU4sVUFBTyxNQUFzQixFQUFFLEtBQXVCLEVBQUUsUUFBbUI7UUFBM0UsaUJBOEJDO1FBN0JDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDYixRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztTQUMxQjs7WUFFSyxNQUFNLEdBQUcsZUFBZSxDQUFDO1lBQzdCLFNBQVMsRUFBRSxZQUFZO1lBQ3ZCLEtBQUssT0FBQTtZQUNMLFFBQVEsRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDO2dCQUN4QixTQUFTLEVBQUU7b0JBQ1QsRUFBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUM7aUJBQ3ZDO2dCQUNELE1BQU0sRUFBRSxRQUFRO2FBQ2pCLENBQUM7U0FDSCxDQUFDO1FBRUYsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNWLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUV4Qyx1RkFBdUY7WUFDdkYsTUFBTSxDQUFDLFNBQVMsQ0FBQyxTQUFTOzs7WUFBQyxjQUFNLE9BQUEsS0FBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUF2QyxDQUF1QyxFQUFDLENBQUM7U0FDM0U7UUFFRCxJQUFJLEtBQUssSUFBSSxNQUFNLENBQUMsU0FBUyxFQUFFO1lBQzdCLEtBQUssQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ3hFO2FBQU0sSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ3JCLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDMUQ7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOztnQkF0Q0YsVUFBVTs7OztnQkFaVCxjQUFjO2dCQUdkLFFBQVE7O0lBZ0RWLHlCQUFDO0NBQUEsQUF2Q0QsSUF1Q0M7U0F0Q1ksa0JBQWtCOzs7Ozs7SUFFN0IsbUNBQXlFOzs7OztJQUU3RCxvQ0FBOEI7Ozs7O0lBQUUsc0NBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQXBwbGljYXRpb25SZWYsXG4gIFZpZXdDb250YWluZXJSZWYsXG4gIENvbXBvbmVudFJlZixcbiAgSW5qZWN0b3IsXG4gIEluamVjdGFibGVcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IGNyZWF0ZUNvbXBvbmVudCB9IGZyb20gJy4uL2ZyYW1ld29yay9jcmVhdGVDb21wb25lbnQnO1xuaW1wb3J0IHsgRGlhbG9nUmVmIH0gZnJvbSAnLi4vbW9kZWxzL2RpYWxvZy1yZWYnO1xuaW1wb3J0IHsgT3ZlcmxheVJlbmRlcmVyIH0gZnJvbSAnLi4vbW9kZWxzL3Rva2Vucyc7XG5pbXBvcnQgeyBNb2RhbE92ZXJsYXkgfSBmcm9tICcuLi9vdmVybGF5L2luZGV4JztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERPTU92ZXJsYXlSZW5kZXJlciBpbXBsZW1lbnRzIE92ZXJsYXlSZW5kZXJlciB7XG5cbiAgcHJpdmF0ZSBpc0RvYzogYm9vbGVhbiA9ICEodHlwZW9mIGRvY3VtZW50ID09PSAndW5kZWZpbmVkJyB8fCAhZG9jdW1lbnQpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYXBwUmVmOiBBcHBsaWNhdGlvblJlZiwgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgfVxuXG4gIHJlbmRlcihkaWFsb2c6IERpYWxvZ1JlZjxhbnk+LCB2Y1JlZjogVmlld0NvbnRhaW5lclJlZiwgaW5qZWN0b3I/OiBJbmplY3Rvcik6IENvbXBvbmVudFJlZjxNb2RhbE92ZXJsYXk+IHtcbiAgICBpZiAoIWluamVjdG9yKSB7XG4gICAgICBpbmplY3RvciA9IHRoaXMuaW5qZWN0b3I7XG4gICAgfVxuXG4gICAgY29uc3QgY21wUmVmID0gY3JlYXRlQ29tcG9uZW50KHtcbiAgICAgIGNvbXBvbmVudDogTW9kYWxPdmVybGF5LFxuICAgICAgdmNSZWYsXG4gICAgICBpbmplY3RvcjogSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAge3Byb3ZpZGU6IERpYWxvZ1JlZiwgdXNlVmFsdWU6IGRpYWxvZ31cbiAgICAgICAgXSxcbiAgICAgICAgcGFyZW50OiBpbmplY3RvclxuICAgICAgfSlcbiAgICB9KTtcblxuICAgIGlmICghdmNSZWYpIHtcbiAgICAgIHRoaXMuYXBwUmVmLmF0dGFjaFZpZXcoY21wUmVmLmhvc3RWaWV3KTtcblxuICAgICAgLy8gVE9ETzogZG9lc24ndCBsb29rIGxpa2UgdGhpcyBpcyBuZWVkZWQsIGV4cGxvcmUuIGxlYXZpbmcgbm93IHRvIGJlIG9uIHRoZSBzYWZlIHNpZGUuXG4gICAgICBkaWFsb2cub25EZXN0cm95LnN1YnNjcmliZSgoKSA9PiB0aGlzLmFwcFJlZi5kZXRhY2hWaWV3KGNtcFJlZi5ob3N0VmlldykpO1xuICAgIH1cblxuICAgIGlmICh2Y1JlZiAmJiBkaWFsb2cuaW5FbGVtZW50KSB7XG4gICAgICB2Y1JlZi5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuYXBwZW5kQ2hpbGQoY21wUmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5pc0RvYykge1xuICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChjbXBSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNtcFJlZjtcbiAgfVxufVxuXG4iXX0=