ngx-modialog-10
Version:
Modal / Dialog for Angular
88 lines • 6.84 kB
JavaScript
/**
* @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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tLW1vZGFsLXJlbmRlcmVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LW1vZGlhbG9nLTEwLyIsInNvdXJjZXMiOlsibGliL3Byb3ZpZGVycy9kb20tbW9kYWwtcmVuZGVyZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQ0wsY0FBYyxFQUdkLFFBQVEsRUFDUixVQUFVLEVBQ1gsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFaEQ7SUFLRSw0QkFBb0IsTUFBc0IsRUFBVSxRQUFrQjtRQUFsRCxXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVU7UUFGOUQsVUFBSyxHQUFZLENBQUMsQ0FBQyxPQUFPLFFBQVEsS0FBSyxXQUFXLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUd6RSxDQUFDOzs7Ozs7O0lBRUQsbUNBQU07Ozs7OztJQUFOLFVBQU8sTUFBc0IsRUFBRSxLQUF1QixFQUFFLFFBQW1CO1FBQTNFLGlCQThCQztRQTdCQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2IsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7U0FDMUI7O1lBRUssTUFBTSxHQUFHLGVBQWUsQ0FBQztZQUM3QixTQUFTLEVBQUUsWUFBWTtZQUN2QixLQUFLLE9BQUE7WUFDTCxRQUFRLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQztnQkFDeEIsU0FBUyxFQUFFO29CQUNULEVBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFDO2lCQUN2QztnQkFDRCxNQUFNLEVBQUUsUUFBUTthQUNqQixDQUFDO1NBQ0gsQ0FBQztRQUVGLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDVixJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7WUFFeEMsdUZBQXVGO1lBQ3ZGLE1BQU0sQ0FBQyxTQUFTLENBQUMsU0FBUzs7O1lBQUMsY0FBTSxPQUFBLEtBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBdkMsQ0FBdUMsRUFBQyxDQUFDO1NBQzNFO1FBRUQsSUFBSSxLQUFLLElBQUksTUFBTSxDQUFDLFNBQVMsRUFBRTtZQUM3QixLQUFLLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUN4RTthQUFNLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNyQixRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQzFEO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs7Z0JBdENGLFVBQVU7Ozs7Z0JBWlQsY0FBYztnQkFHZCxRQUFROztJQWdEVix5QkFBQztDQUFBLEFBdkNELElBdUNDO1NBdENZLGtCQUFrQjs7Ozs7O0lBRTdCLG1DQUF5RTs7Ozs7SUFFN0Qsb0NBQThCOzs7OztJQUFFLHNDQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFwcGxpY2F0aW9uUmVmLFxuICBWaWV3Q29udGFpbmVyUmVmLFxuICBDb21wb25lbnRSZWYsXG4gIEluamVjdG9yLFxuICBJbmplY3RhYmxlXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBjcmVhdGVDb21wb25lbnQgfSBmcm9tICcuLi9mcmFtZXdvcmsvY3JlYXRlQ29tcG9uZW50JztcbmltcG9ydCB7IERpYWxvZ1JlZiB9IGZyb20gJy4uL21vZGVscy9kaWFsb2ctcmVmJztcbmltcG9ydCB7IE92ZXJsYXlSZW5kZXJlciB9IGZyb20gJy4uL21vZGVscy90b2tlbnMnO1xuaW1wb3J0IHsgTW9kYWxPdmVybGF5IH0gZnJvbSAnLi4vb3ZlcmxheS9pbmRleCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBET01PdmVybGF5UmVuZGVyZXIgaW1wbGVtZW50cyBPdmVybGF5UmVuZGVyZXIge1xuXG4gIHByaXZhdGUgaXNEb2M6IGJvb2xlYW4gPSAhKHR5cGVvZiBkb2N1bWVudCA9PT0gJ3VuZGVmaW5lZCcgfHwgIWRvY3VtZW50KTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFwcFJlZjogQXBwbGljYXRpb25SZWYsIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gIH1cblxuICByZW5kZXIoZGlhbG9nOiBEaWFsb2dSZWY8YW55PiwgdmNSZWY6IFZpZXdDb250YWluZXJSZWYsIGluamVjdG9yPzogSW5qZWN0b3IpOiBDb21wb25lbnRSZWY8TW9kYWxPdmVybGF5PiB7XG4gICAgaWYgKCFpbmplY3Rvcikge1xuICAgICAgaW5qZWN0b3IgPSB0aGlzLmluamVjdG9yO1xuICAgIH1cblxuICAgIGNvbnN0IGNtcFJlZiA9IGNyZWF0ZUNvbXBvbmVudCh7XG4gICAgICBjb21wb25lbnQ6IE1vZGFsT3ZlcmxheSxcbiAgICAgIHZjUmVmLFxuICAgICAgaW5qZWN0b3I6IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICAgIHtwcm92aWRlOiBEaWFsb2dSZWYsIHVzZVZhbHVlOiBkaWFsb2d9XG4gICAgICAgIF0sXG4gICAgICAgIHBhcmVudDogaW5qZWN0b3JcbiAgICAgIH0pXG4gICAgfSk7XG5cbiAgICBpZiAoIXZjUmVmKSB7XG4gICAgICB0aGlzLmFwcFJlZi5hdHRhY2hWaWV3KGNtcFJlZi5ob3N0Vmlldyk7XG5cbiAgICAgIC8vIFRPRE86IGRvZXNuJ3QgbG9vayBsaWtlIHRoaXMgaXMgbmVlZGVkLCBleHBsb3JlLiBsZWF2aW5nIG5vdyB0byBiZSBvbiB0aGUgc2FmZSBzaWRlLlxuICAgICAgZGlhbG9nLm9uRGVzdHJveS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5hcHBSZWYuZGV0YWNoVmlldyhjbXBSZWYuaG9zdFZpZXcpKTtcbiAgICB9XG5cbiAgICBpZiAodmNSZWYgJiYgZGlhbG9nLmluRWxlbWVudCkge1xuICAgICAgdmNSZWYuZWxlbWVudC5uYXRpdmVFbGVtZW50LmFwcGVuZENoaWxkKGNtcFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50KTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuaXNEb2MpIHtcbiAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoY21wUmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIHJldHVybiBjbXBSZWY7XG4gIH1cbn1cblxuIl19