UNPKG

ngx-modialog

Version:
77 lines (76 loc) 2.62 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes} 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 () { /** * @param {?} appRef * @param {?} injector */ 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 = function (dialog, vcRef, injector) { var _this = this; if (!injector) { injector = this.injector; } var /** @type {?} */ cmpRef = createComponent({ component: ModalOverlay, vcRef: vcRef, injector: Injector.create([ { provide: DialogRef, useValue: dialog } ], 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(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; }; return DOMOverlayRenderer; }()); export { DOMOverlayRenderer }; DOMOverlayRenderer.decorators = [ { type: Injectable }, ]; /** @nocollapse */ DOMOverlayRenderer.ctorParameters = function () { return [ { type: ApplicationRef, }, { type: Injector, }, ]; }; function DOMOverlayRenderer_tsickle_Closure_declarations() { /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */ DOMOverlayRenderer.decorators; /** * @nocollapse * @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>} */ DOMOverlayRenderer.ctorParameters; /** @type {?} */ DOMOverlayRenderer.prototype.isDoc; /** @type {?} */ DOMOverlayRenderer.prototype.appRef; /** @type {?} */ DOMOverlayRenderer.prototype.injector; } //# sourceMappingURL=dom-modal-renderer.js.map