UNPKG

ngx-modialog-10

Version:
83 lines 6.46 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'; export class DOMOverlayRenderer { /** * @param {?} appRef * @param {?} injector */ constructor(appRef, injector) { this.appRef = appRef; this.injector = injector; this.isDoc = !(typeof document === 'undefined' || !document); } /** * @param {?} dialog * @param {?} vcRef * @param {?=} injector * @return {?} */ render(dialog, vcRef, injector) { if (!injector) { injector = this.injector; } /** @type {?} */ const cmpRef = createComponent({ component: ModalOverlay, 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 {?} */ () => 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 = () => [ { type: ApplicationRef }, { type: Injector } ]; if (false) { /** * @type {?} * @private */ DOMOverlayRenderer.prototype.isDoc; /** * @type {?} * @private */ DOMOverlayRenderer.prototype.appRef; /** * @type {?} * @private */ DOMOverlayRenderer.prototype.injector; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tLW1vZGFsLXJlbmRlcmVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LW1vZGlhbG9nLTEwLyIsInNvdXJjZXMiOlsibGliL3Byb3ZpZGVycy9kb20tbW9kYWwtcmVuZGVyZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQ0wsY0FBYyxFQUdkLFFBQVEsRUFDUixVQUFVLEVBQ1gsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFHaEQsTUFBTSxPQUFPLGtCQUFrQjs7Ozs7SUFJN0IsWUFBb0IsTUFBc0IsRUFBVSxRQUFrQjtRQUFsRCxXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVU7UUFGOUQsVUFBSyxHQUFZLENBQUMsQ0FBQyxPQUFPLFFBQVEsS0FBSyxXQUFXLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUd6RSxDQUFDOzs7Ozs7O0lBRUQsTUFBTSxDQUFDLE1BQXNCLEVBQUUsS0FBdUIsRUFBRSxRQUFtQjtRQUN6RSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2IsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7U0FDMUI7O2NBRUssTUFBTSxHQUFHLGVBQWUsQ0FBQztZQUM3QixTQUFTLEVBQUUsWUFBWTtZQUN2QixLQUFLO1lBQ0wsUUFBUSxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUM7Z0JBQ3hCLFNBQVMsRUFBRTtvQkFDVCxFQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBQztpQkFDdkM7Z0JBQ0QsTUFBTSxFQUFFLFFBQVE7YUFDakIsQ0FBQztTQUNILENBQUM7UUFFRixJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBRXhDLHVGQUF1RjtZQUN2RixNQUFNLENBQUMsU0FBUyxDQUFDLFNBQVM7OztZQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBQyxDQUFDO1NBQzNFO1FBRUQsSUFBSSxLQUFLLElBQUksTUFBTSxDQUFDLFNBQVMsRUFBRTtZQUM3QixLQUFLLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUN4RTthQUFNLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNyQixRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQzFEO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs7O1lBdENGLFVBQVU7Ozs7WUFaVCxjQUFjO1lBR2QsUUFBUTs7Ozs7OztJQVlSLG1DQUF5RTs7Ozs7SUFFN0Qsb0NBQThCOzs7OztJQUFFLHNDQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFwcGxpY2F0aW9uUmVmLFxuICBWaWV3Q29udGFpbmVyUmVmLFxuICBDb21wb25lbnRSZWYsXG4gIEluamVjdG9yLFxuICBJbmplY3RhYmxlXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBjcmVhdGVDb21wb25lbnQgfSBmcm9tICcuLi9mcmFtZXdvcmsvY3JlYXRlQ29tcG9uZW50JztcbmltcG9ydCB7IERpYWxvZ1JlZiB9IGZyb20gJy4uL21vZGVscy9kaWFsb2ctcmVmJztcbmltcG9ydCB7IE92ZXJsYXlSZW5kZXJlciB9IGZyb20gJy4uL21vZGVscy90b2tlbnMnO1xuaW1wb3J0IHsgTW9kYWxPdmVybGF5IH0gZnJvbSAnLi4vb3ZlcmxheS9pbmRleCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBET01PdmVybGF5UmVuZGVyZXIgaW1wbGVtZW50cyBPdmVybGF5UmVuZGVyZXIge1xuXG4gIHByaXZhdGUgaXNEb2M6IGJvb2xlYW4gPSAhKHR5cGVvZiBkb2N1bWVudCA9PT0gJ3VuZGVmaW5lZCcgfHwgIWRvY3VtZW50KTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFwcFJlZjogQXBwbGljYXRpb25SZWYsIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gIH1cblxuICByZW5kZXIoZGlhbG9nOiBEaWFsb2dSZWY8YW55PiwgdmNSZWY6IFZpZXdDb250YWluZXJSZWYsIGluamVjdG9yPzogSW5qZWN0b3IpOiBDb21wb25lbnRSZWY8TW9kYWxPdmVybGF5PiB7XG4gICAgaWYgKCFpbmplY3Rvcikge1xuICAgICAgaW5qZWN0b3IgPSB0aGlzLmluamVjdG9yO1xuICAgIH1cblxuICAgIGNvbnN0IGNtcFJlZiA9IGNyZWF0ZUNvbXBvbmVudCh7XG4gICAgICBjb21wb25lbnQ6IE1vZGFsT3ZlcmxheSxcbiAgICAgIHZjUmVmLFxuICAgICAgaW5qZWN0b3I6IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICAgIHtwcm92aWRlOiBEaWFsb2dSZWYsIHVzZVZhbHVlOiBkaWFsb2d9XG4gICAgICAgIF0sXG4gICAgICAgIHBhcmVudDogaW5qZWN0b3JcbiAgICAgIH0pXG4gICAgfSk7XG5cbiAgICBpZiAoIXZjUmVmKSB7XG4gICAgICB0aGlzLmFwcFJlZi5hdHRhY2hWaWV3KGNtcFJlZi5ob3N0Vmlldyk7XG5cbiAgICAgIC8vIFRPRE86IGRvZXNuJ3QgbG9vayBsaWtlIHRoaXMgaXMgbmVlZGVkLCBleHBsb3JlLiBsZWF2aW5nIG5vdyB0byBiZSBvbiB0aGUgc2FmZSBzaWRlLlxuICAgICAgZGlhbG9nLm9uRGVzdHJveS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5hcHBSZWYuZGV0YWNoVmlldyhjbXBSZWYuaG9zdFZpZXcpKTtcbiAgICB9XG5cbiAgICBpZiAodmNSZWYgJiYgZGlhbG9nLmluRWxlbWVudCkge1xuICAgICAgdmNSZWYuZWxlbWVudC5uYXRpdmVFbGVtZW50LmFwcGVuZENoaWxkKGNtcFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50KTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuaXNEb2MpIHtcbiAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoY21wUmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIHJldHVybiBjbXBSZWY7XG4gIH1cbn1cblxuIl19