ngx-modialog-7
Version:
Modal / Dialog for Angular
88 lines • 6.75 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tLW1vZGFsLXJlbmRlcmVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LW1vZGlhbG9nLTcvIiwic291cmNlcyI6WyJsaWIvcHJvdmlkZXJzL2RvbS1tb2RhbC1yZW5kZXJlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFDTCxjQUFjLEVBR2QsUUFBUSxFQUNSLFVBQVUsRUFDWCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRWpELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVoRDtJQUtFLDRCQUFvQixNQUFzQixFQUFVLFFBQWtCO1FBQWxELFdBQU0sR0FBTixNQUFNLENBQWdCO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUY5RCxVQUFLLEdBQVksQ0FBQyxDQUFDLE9BQU8sUUFBUSxLQUFLLFdBQVcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBR3pFLENBQUM7Ozs7Ozs7SUFFRCxtQ0FBTTs7Ozs7O0lBQU4sVUFBTyxNQUFzQixFQUFFLEtBQXVCLEVBQUUsUUFBbUI7UUFBM0UsaUJBOEJDO1FBN0JDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDYixRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztTQUMxQjs7WUFFSyxNQUFNLEdBQUcsZUFBZSxDQUFDO1lBQzdCLFNBQVMsRUFBRSxZQUFZO1lBQ3ZCLEtBQUssT0FBQTtZQUNMLFFBQVEsRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDO2dCQUN4QixTQUFTLEVBQUU7b0JBQ1QsRUFBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUM7aUJBQ3ZDO2dCQUNELE1BQU0sRUFBRSxRQUFRO2FBQ2pCLENBQUM7U0FDSCxDQUFDO1FBRUYsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNWLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUV4Qyx1RkFBdUY7WUFDdkYsTUFBTSxDQUFDLFNBQVMsQ0FBQyxTQUFTOzs7WUFBQyxjQUFNLE9BQUEsS0FBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUF2QyxDQUF1QyxFQUFDLENBQUM7U0FDM0U7UUFFRCxJQUFJLEtBQUssSUFBSSxNQUFNLENBQUMsU0FBUyxFQUFFO1lBQzdCLEtBQUssQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ3hFO2FBQU0sSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ3JCLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDMUQ7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOztnQkF0Q0YsVUFBVTs7OztnQkFaVCxjQUFjO2dCQUdkLFFBQVE7O0lBZ0RWLHlCQUFDO0NBQUEsQUF2Q0QsSUF1Q0M7U0F0Q1ksa0JBQWtCOzs7Ozs7SUFFN0IsbUNBQXlFOzs7OztJQUU3RCxvQ0FBOEI7Ozs7O0lBQUUsc0NBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQXBwbGljYXRpb25SZWYsXG4gIFZpZXdDb250YWluZXJSZWYsXG4gIENvbXBvbmVudFJlZixcbiAgSW5qZWN0b3IsXG4gIEluamVjdGFibGVcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IGNyZWF0ZUNvbXBvbmVudCB9IGZyb20gJy4uL2ZyYW1ld29yay9jcmVhdGVDb21wb25lbnQnO1xuaW1wb3J0IHsgRGlhbG9nUmVmIH0gZnJvbSAnLi4vbW9kZWxzL2RpYWxvZy1yZWYnO1xuaW1wb3J0IHsgT3ZlcmxheVJlbmRlcmVyIH0gZnJvbSAnLi4vbW9kZWxzL3Rva2Vucyc7XG5pbXBvcnQgeyBNb2RhbE92ZXJsYXkgfSBmcm9tICcuLi9vdmVybGF5L2luZGV4JztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERPTU92ZXJsYXlSZW5kZXJlciBpbXBsZW1lbnRzIE92ZXJsYXlSZW5kZXJlciB7XG5cbiAgcHJpdmF0ZSBpc0RvYzogYm9vbGVhbiA9ICEodHlwZW9mIGRvY3VtZW50ID09PSAndW5kZWZpbmVkJyB8fCAhZG9jdW1lbnQpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYXBwUmVmOiBBcHBsaWNhdGlvblJlZiwgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgfVxuXG4gIHJlbmRlcihkaWFsb2c6IERpYWxvZ1JlZjxhbnk+LCB2Y1JlZjogVmlld0NvbnRhaW5lclJlZiwgaW5qZWN0b3I/OiBJbmplY3Rvcik6IENvbXBvbmVudFJlZjxNb2RhbE92ZXJsYXk+IHtcbiAgICBpZiAoIWluamVjdG9yKSB7XG4gICAgICBpbmplY3RvciA9IHRoaXMuaW5qZWN0b3I7XG4gICAgfVxuXG4gICAgY29uc3QgY21wUmVmID0gY3JlYXRlQ29tcG9uZW50KHtcbiAgICAgIGNvbXBvbmVudDogTW9kYWxPdmVybGF5LFxuICAgICAgdmNSZWYsXG4gICAgICBpbmplY3RvcjogSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAge3Byb3ZpZGU6IERpYWxvZ1JlZiwgdXNlVmFsdWU6IGRpYWxvZ31cbiAgICAgICAgXSxcbiAgICAgICAgcGFyZW50OiBpbmplY3RvclxuICAgICAgfSlcbiAgICB9KTtcblxuICAgIGlmICghdmNSZWYpIHtcbiAgICAgIHRoaXMuYXBwUmVmLmF0dGFjaFZpZXcoY21wUmVmLmhvc3RWaWV3KTtcblxuICAgICAgLy8gVE9ETzogZG9lc24ndCBsb29rIGxpa2UgdGhpcyBpcyBuZWVkZWQsIGV4cGxvcmUuIGxlYXZpbmcgbm93IHRvIGJlIG9uIHRoZSBzYWZlIHNpZGUuXG4gICAgICBkaWFsb2cub25EZXN0cm95LnN1YnNjcmliZSgoKSA9PiB0aGlzLmFwcFJlZi5kZXRhY2hWaWV3KGNtcFJlZi5ob3N0VmlldykpO1xuICAgIH1cblxuICAgIGlmICh2Y1JlZiAmJiBkaWFsb2cuaW5FbGVtZW50KSB7XG4gICAgICB2Y1JlZi5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuYXBwZW5kQ2hpbGQoY21wUmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5pc0RvYykge1xuICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChjbXBSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNtcFJlZjtcbiAgfVxufVxuXG4iXX0=