lamb-web-lib
Version:
LambWebLib. Es un proyecto angular de tipo Librería. que contiene una Suit de componentes reutilizables para el proyecto [Lamb Financial](https://lamb.upeu.edu.pe).
102 lines • 8.84 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
*/
import { TemplateRef, } from '@angular/core';
export class ContentRef {
/**
* @param {?} nodes
* @param {?=} viewRef
* @param {?=} componentRef
*/
constructor(nodes, viewRef, componentRef) {
this.nodes = nodes;
this.viewRef = viewRef;
this.componentRef = componentRef;
}
}
if (false) {
/** @type {?} */
ContentRef.prototype.nodes;
/** @type {?} */
ContentRef.prototype.viewRef;
/** @type {?} */
ContentRef.prototype.componentRef;
}
/**
* @template T
*/
export class PopupService {
/**
* @param {?} type
* @param {?} injector
* @param {?} viewContainerRef
* @param {?} renderer
* @param {?} componentFactoryResolver
*/
constructor(type, injector, viewContainerRef, renderer, componentFactoryResolver) {
this.injector = injector;
this.viewContainerRef = viewContainerRef;
this.renderer = renderer;
this.windowFactory = componentFactoryResolver.resolveComponentFactory(type);
}
/**
* @param {?=} content
* @param {?=} context
* @return {?}
*/
open(content, context) {
if (!this.windowRef) {
this.contentRef = this.getContentRef(content, context);
this.windowRef =
this.viewContainerRef.createComponent(this.windowFactory, 0, this.injector, this.contentRef.nodes);
}
return this.windowRef;
}
/**
* @return {?}
*/
close() {
if (this.windowRef) {
this.viewContainerRef.remove(this.viewContainerRef.indexOf(this.windowRef.hostView));
this.windowRef = null;
if (this.contentRef.viewRef) {
this.viewContainerRef.remove(this.viewContainerRef.indexOf(this.contentRef.viewRef));
this.contentRef = null;
}
}
}
/**
* @param {?} content
* @param {?=} context
* @return {?}
*/
getContentRef(content, context) {
if (!content) {
return new ContentRef([]);
}
else if (content instanceof TemplateRef) {
/** @type {?} */
const viewRef = this.viewContainerRef.createEmbeddedView((/** @type {?} */ (content)), context);
return new ContentRef([viewRef.rootNodes], viewRef);
}
else {
return new ContentRef([[this.renderer.createText(`${content}`)]]);
}
}
}
if (false) {
/** @type {?} */
PopupService.prototype.windowFactory;
/** @type {?} */
PopupService.prototype.windowRef;
/** @type {?} */
PopupService.prototype.contentRef;
/** @type {?} */
PopupService.prototype.injector;
/** @type {?} */
PopupService.prototype.viewContainerRef;
/** @type {?} */
PopupService.prototype.renderer;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXAuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9sYW1iLXdlYi1saWIvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9tb2RhbC91dGlsL3BvcHVwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBRUgsV0FBVyxHQU9kLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE1BQU07Ozs7OztJQUNGLFlBQW1CLEtBQVksRUFBUyxPQUFpQixFQUFTLFlBQWdDO1FBQS9FLFVBQUssR0FBTCxLQUFLLENBQU87UUFBUyxZQUFPLEdBQVAsT0FBTyxDQUFVO1FBQVMsaUJBQVksR0FBWixZQUFZLENBQW9CO0lBQUksQ0FBQztDQUMxRzs7O0lBRGUsMkJBQW1COztJQUFFLDZCQUF3Qjs7SUFBRSxrQ0FBdUM7Ozs7O0FBR3RHLE1BQU07Ozs7Ozs7O0lBS0YsWUFDSSxJQUFTLEVBQ0QsUUFBa0IsRUFDbEIsZ0JBQWtDLEVBQ2xDLFFBQW1CLEVBQzNCLHdCQUFrRDtRQUgxQyxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUczQixJQUFJLENBQUMsYUFBYSxHQUFHLHdCQUF3QixDQUFDLHVCQUF1QixDQUFJLElBQUksQ0FBQyxDQUFDO0lBQ25GLENBQUM7Ozs7OztJQUVELElBQUksQ0FBQyxPQUFtQyxFQUFFLE9BQWE7UUFDbkQsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztZQUNsQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ3ZELElBQUksQ0FBQyxTQUFTO2dCQUNWLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNHLENBQUM7UUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDOzs7O0lBRUQsS0FBSztRQUNELEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1lBQ2pCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDckYsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7WUFFdEIsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO2dCQUMxQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO2dCQUNyRixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUMzQixDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7Ozs7OztJQUVPLGFBQWEsQ0FBQyxPQUFrQyxFQUFFLE9BQWE7UUFDbkUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ1gsTUFBTSxDQUFDLElBQUksVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzlCLENBQUM7UUFBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxZQUFZLFdBQVcsQ0FBQyxDQUFDLENBQUM7O2tCQUNsQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGtCQUFrQixDQUFDLG1CQUFnQixPQUFPLEVBQUEsRUFBRSxPQUFPLENBQUM7WUFDMUYsTUFBTSxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3hELENBQUM7UUFBQyxJQUFJLENBQUMsQ0FBQztZQUNKLE1BQU0sQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsR0FBRyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RFLENBQUM7SUFDTCxDQUFDO0NBQ0o7OztJQTlDRyxxQ0FBMkM7O0lBQzNDLGlDQUFtQzs7SUFDbkMsa0NBQStCOztJQUkzQixnQ0FBMEI7O0lBQzFCLHdDQUEwQzs7SUFDMUMsZ0NBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIEluamVjdG9yLFxyXG4gICAgVGVtcGxhdGVSZWYsXHJcbiAgICBWaWV3UmVmLFxyXG4gICAgVmlld0NvbnRhaW5lclJlZixcclxuICAgIFJlbmRlcmVyMixcclxuICAgIENvbXBvbmVudFJlZixcclxuICAgIENvbXBvbmVudEZhY3RvcnksXHJcbiAgICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5leHBvcnQgY2xhc3MgQ29udGVudFJlZiB7XHJcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgbm9kZXM6IGFueVtdLCBwdWJsaWMgdmlld1JlZj86IFZpZXdSZWYsIHB1YmxpYyBjb21wb25lbnRSZWY/OiBDb21wb25lbnRSZWY8YW55PikgeyB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBQb3B1cFNlcnZpY2U8VD4ge1xyXG4gICAgcHJpdmF0ZSB3aW5kb3dGYWN0b3J5OiBDb21wb25lbnRGYWN0b3J5PFQ+O1xyXG4gICAgcHJpdmF0ZSB3aW5kb3dSZWY6IENvbXBvbmVudFJlZjxUPjtcclxuICAgIHByaXZhdGUgY29udGVudFJlZjogQ29udGVudFJlZjtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICB0eXBlOiBhbnksXHJcbiAgICAgICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICAgICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgICAgICBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICAgICkge1xyXG4gICAgICAgIHRoaXMud2luZG93RmFjdG9yeSA9IGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeTxUPih0eXBlKTtcclxuICAgIH1cclxuXHJcbiAgICBvcGVuKGNvbnRlbnQ/OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+LCBjb250ZXh0PzogYW55KTogQ29tcG9uZW50UmVmPFQ+IHtcclxuICAgICAgICBpZiAoIXRoaXMud2luZG93UmVmKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY29udGVudFJlZiA9IHRoaXMuZ2V0Q29udGVudFJlZihjb250ZW50LCBjb250ZXh0KTtcclxuICAgICAgICAgICAgdGhpcy53aW5kb3dSZWYgPVxyXG4gICAgICAgICAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudCh0aGlzLndpbmRvd0ZhY3RvcnksIDAsIHRoaXMuaW5qZWN0b3IsIHRoaXMuY29udGVudFJlZi5ub2Rlcyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy53aW5kb3dSZWY7XHJcbiAgICB9XHJcblxyXG4gICAgY2xvc2UoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMud2luZG93UmVmKSB7XHJcbiAgICAgICAgICAgIHRoaXMudmlld0NvbnRhaW5lclJlZi5yZW1vdmUodGhpcy52aWV3Q29udGFpbmVyUmVmLmluZGV4T2YodGhpcy53aW5kb3dSZWYuaG9zdFZpZXcpKTtcclxuICAgICAgICAgICAgdGhpcy53aW5kb3dSZWYgPSBudWxsO1xyXG5cclxuICAgICAgICAgICAgaWYgKHRoaXMuY29udGVudFJlZi52aWV3UmVmKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZpZXdDb250YWluZXJSZWYucmVtb3ZlKHRoaXMudmlld0NvbnRhaW5lclJlZi5pbmRleE9mKHRoaXMuY29udGVudFJlZi52aWV3UmVmKSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRlbnRSZWYgPSBudWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0Q29udGVudFJlZihjb250ZW50OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+LCBjb250ZXh0PzogYW55KTogQ29udGVudFJlZiB7XHJcbiAgICAgICAgaWYgKCFjb250ZW50KSB7XHJcbiAgICAgICAgICAgIHJldHVybiBuZXcgQ29udGVudFJlZihbXSk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChjb250ZW50IGluc3RhbmNlb2YgVGVtcGxhdGVSZWYpIHtcclxuICAgICAgICAgICAgY29uc3Qgdmlld1JlZiA9IHRoaXMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVFbWJlZGRlZFZpZXcoPFRlbXBsYXRlUmVmPFQ+PmNvbnRlbnQsIGNvbnRleHQpO1xyXG4gICAgICAgICAgICByZXR1cm4gbmV3IENvbnRlbnRSZWYoW3ZpZXdSZWYucm9vdE5vZGVzXSwgdmlld1JlZik7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIG5ldyBDb250ZW50UmVmKFtbdGhpcy5yZW5kZXJlci5jcmVhdGVUZXh0KGAke2NvbnRlbnR9YCldXSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==