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).
128 lines • 12.4 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
*/
/**
* Una referencia a un modal activo (actualmente abierto). Instancias de esta clase
* puede ser inyectado en componentes pasados como contenido modal.
*/
export class LambActiveModal {
/**
* Se puede usar para cerrar un modal, pasando un resultado opcional.
* @param {?=} result
* @return {?}
*/
close(result) { }
/**
* Se puede usar para descartar un modal, pasando un motivo opcional.
* @param {?=} reason razon por que se descarto.
* @return {?}
*/
dismiss(reason) { }
}
/**
* Una referencia a un modal recientemente abierto.
*/
export class LambModalRef {
/**
* @param {?} windowComponentRef
* @param {?} contentRef
* @param {?=} backdropComponentRef
* @param {?=} beforeDismiss
*/
constructor(windowComponentRef, contentRef, backdropComponentRef, beforeDismiss) {
this.windowComponentRef = windowComponentRef;
this.contentRef = contentRef;
this.backdropComponentRef = backdropComponentRef;
this.beforeDismiss = beforeDismiss;
windowComponentRef.instance.dismissEvent.subscribe((reason) => { this.dismiss(reason); });
this.result = new Promise((resolve, reject) => {
this.resolve = resolve;
this.reject = reject;
});
this.result.then(null, () => { });
}
/**
* La instancia de componente utilizada como contenido modal.
* Indefinido cuando se utiliza un TemplateRef como contenido modal.
* @return {?}
*/
get componentInstance() {
if (this.contentRef.componentRef) {
return this.contentRef.componentRef.instance;
}
}
// solo es necesario para mantener la compatibilidad con TS1.8
/**
* @param {?} instance
* @return {?}
*/
set componentInstance(instance) { }
/**
* Se puede usar para cerrar un modal, pasando un resultado opcional.
* @param {?=} result
* @return {?}
*/
close(result) {
if (this.windowComponentRef) {
this.resolve(result);
this.removeModalElements();
}
}
/**
* Se puede usar para descartar un modal, pasando un motivo opcional.
* @param {?=} reason
* @return {?}
*/
dismiss(reason) {
// console.log('reason');
// console.log(reason);
if (this.windowComponentRef) {
if (!this.beforeDismiss || this.beforeDismiss() !== false) {
this.reject(reason);
this.removeModalElements();
}
}
}
/**
* @return {?}
*/
removeModalElements() {
/** @type {?} */
const windowNativeEl = this.windowComponentRef.location.nativeElement;
windowNativeEl.parentNode.removeChild(windowNativeEl);
this.windowComponentRef.destroy();
if (this.backdropComponentRef) {
/** @type {?} */
const backdropNativeEl = this.backdropComponentRef.location.nativeElement;
backdropNativeEl.parentNode.removeChild(backdropNativeEl);
this.backdropComponentRef.destroy();
}
if (this.contentRef && this.contentRef.viewRef) {
this.contentRef.viewRef.destroy();
}
this.windowComponentRef = null;
this.backdropComponentRef = null;
this.contentRef = null;
}
}
if (false) {
/** @type {?} */
LambModalRef.prototype.resolve;
/** @type {?} */
LambModalRef.prototype.reject;
/**
* Una promesa que se resuelve cuando se cierra un modal y se rechaza cuando se desestima un modal.
* @type {?}
*/
LambModalRef.prototype.result;
/** @type {?} */
LambModalRef.prototype.windowComponentRef;
/** @type {?} */
LambModalRef.prototype.contentRef;
/** @type {?} */
LambModalRef.prototype.backdropComponentRef;
/** @type {?} */
LambModalRef.prototype.beforeDismiss;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtcmVmLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbGFtYi13ZWItbGliLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvbW9kYWwvbW9kYWwtcmVmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBU0EsTUFBTTs7Ozs7O0lBS0YsS0FBSyxDQUFDLE1BQVksSUFBVSxDQUFDOzs7Ozs7SUFNN0IsT0FBTyxDQUFDLE1BQVksSUFBVSxDQUFDO0NBQ2xDOzs7O0FBS0QsTUFBTTs7Ozs7OztJQXNCRixZQUNZLGtCQUEwRCxFQUMxRCxVQUFzQixFQUN0QixvQkFBK0QsRUFDL0QsYUFBd0I7UUFIeEIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUF3QztRQUMxRCxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBMkM7UUFDL0Qsa0JBQWEsR0FBYixhQUFhLENBQVc7UUFFaEMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFXLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUUvRixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQzFDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7Ozs7OztJQTNCRCxJQUFJLGlCQUFpQjtRQUNqQixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7WUFDL0IsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQztRQUNqRCxDQUFDO0lBQ0wsQ0FBQzs7Ozs7O0lBR0QsSUFBSSxpQkFBaUIsQ0FBQyxRQUFhLElBQUksQ0FBQzs7Ozs7O0lBMEJ4QyxLQUFLLENBQUMsTUFBWTtRQUVkLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7WUFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNyQixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUMvQixDQUFDO0lBQ0wsQ0FBQzs7Ozs7O0lBTUQsT0FBTyxDQUFDLE1BQVk7UUFDaEIseUJBQXlCO1FBQ3pCLHVCQUF1QjtRQUV2QixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDO1lBQzFCLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDeEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDcEIsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDL0IsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDOzs7O0lBRU8sbUJBQW1COztjQUNqQixjQUFjLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxhQUFhO1FBQ3JFLGNBQWMsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUVsQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDOztrQkFDdEIsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxhQUFhO1lBQ3pFLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUMxRCxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDeEMsQ0FBQztRQUVELEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQzdDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3RDLENBQUM7UUFFRCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO1FBQy9CLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUM7UUFDakMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDM0IsQ0FBQztDQUNKOzs7SUFuRkcsK0JBQXdDOztJQUN4Qyw4QkFBdUM7Ozs7O0lBa0J2Qyw4QkFBcUI7O0lBR2pCLDBDQUFrRTs7SUFDbEUsa0NBQThCOztJQUM5Qiw0Q0FBdUU7O0lBQ3ZFLHFDQUFnQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBMYW1iTW9kYWxCYWNrZHJvcENvbXBvbmVudCB9IGZyb20gJy4vbW9kYWwtYmFja2Ryb3AuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTGFtYk1vZGFsV2luZG93Q29tcG9uZW50IH0gZnJvbSAnLi9tb2RhbC13aW5kb3cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29udGVudFJlZiB9IGZyb20gJy4vdXRpbC9wb3B1cCc7XHJcblxyXG4vKipcclxuICogVW5hIHJlZmVyZW5jaWEgYSB1biBtb2RhbCBhY3Rpdm8gKGFjdHVhbG1lbnRlIGFiaWVydG8pLiBJbnN0YW5jaWFzIGRlIGVzdGEgY2xhc2VcclxuICogcHVlZGUgc2VyIGlueWVjdGFkbyBlbiBjb21wb25lbnRlcyBwYXNhZG9zIOKAi+KAi2NvbW8gY29udGVuaWRvIG1vZGFsLlxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIExhbWJBY3RpdmVNb2RhbCB7XHJcbiAgICAvKipcclxuICAgICAqIFNlIHB1ZWRlIHVzYXIgcGFyYSBjZXJyYXIgdW4gbW9kYWwsIHBhc2FuZG8gdW4gcmVzdWx0YWRvIG9wY2lvbmFsLlxyXG4gICAgICogIEBwYXJhbSByZWFzb24gcmFzdWx0YWRvLlxyXG4gICAgICovXHJcbiAgICBjbG9zZShyZXN1bHQ/OiBhbnkpOiB2b2lkIHsgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2UgcHVlZGUgdXNhciBwYXJhIGRlc2NhcnRhciB1biBtb2RhbCwgcGFzYW5kbyB1biBtb3Rpdm8gb3BjaW9uYWwuXHJcbiAgICAgKiBAcGFyYW0gcmVhc29uIHJhem9uIHBvciBxdWUgc2UgZGVzY2FydG8uXHJcbiAgICAgKi9cclxuICAgIGRpc21pc3MocmVhc29uPzogYW55KTogdm9pZCB7IH1cclxufVxyXG5cclxuLyoqXHJcbiAqIFVuYSByZWZlcmVuY2lhIGEgdW4gbW9kYWwgcmVjaWVudGVtZW50ZSBhYmllcnRvLlxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIExhbWJNb2RhbFJlZiB7XHJcbiAgICBwcml2YXRlIHJlc29sdmU6IChyZXN1bHQ/OiBhbnkpID0+IHZvaWQ7XHJcbiAgICBwcml2YXRlIHJlamVjdDogKHJlYXNvbj86IGFueSkgPT4gdm9pZDtcclxuXHJcbiAgICAvKipcclxuICAgICAqIExhIGluc3RhbmNpYSBkZSBjb21wb25lbnRlIHV0aWxpemFkYSBjb21vIGNvbnRlbmlkbyBtb2RhbC5cclxuICAgICAqIEluZGVmaW5pZG8gY3VhbmRvIHNlIHV0aWxpemEgdW4gVGVtcGxhdGVSZWYgY29tbyBjb250ZW5pZG8gbW9kYWwuXHJcbiAgICAgKi9cclxuICAgIGdldCBjb21wb25lbnRJbnN0YW5jZSgpOiBhbnkge1xyXG4gICAgICAgIGlmICh0aGlzLmNvbnRlbnRSZWYuY29tcG9uZW50UmVmKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmNvbnRlbnRSZWYuY29tcG9uZW50UmVmLmluc3RhbmNlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBzb2xvIGVzIG5lY2VzYXJpbyBwYXJhIG1hbnRlbmVyIGxhIGNvbXBhdGliaWxpZGFkIGNvbiBUUzEuOFxyXG4gICAgc2V0IGNvbXBvbmVudEluc3RhbmNlKGluc3RhbmNlOiBhbnkpIHsgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVW5hIHByb21lc2EgcXVlIHNlIHJlc3VlbHZlIGN1YW5kbyBzZSBjaWVycmEgdW4gbW9kYWwgeSBzZSByZWNoYXphIGN1YW5kbyBzZSBkZXNlc3RpbWEgdW4gbW9kYWwuXHJcbiAgICAgKi9cclxuICAgIHJlc3VsdDogUHJvbWlzZTxhbnk+O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgd2luZG93Q29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8TGFtYk1vZGFsV2luZG93Q29tcG9uZW50PixcclxuICAgICAgICBwcml2YXRlIGNvbnRlbnRSZWY6IENvbnRlbnRSZWYsXHJcbiAgICAgICAgcHJpdmF0ZSBiYWNrZHJvcENvbXBvbmVudFJlZj86IENvbXBvbmVudFJlZjxMYW1iTW9kYWxCYWNrZHJvcENvbXBvbmVudD4sXHJcbiAgICAgICAgcHJpdmF0ZSBiZWZvcmVEaXNtaXNzPzogRnVuY3Rpb24sXHJcbiAgICApIHtcclxuICAgICAgICB3aW5kb3dDb21wb25lbnRSZWYuaW5zdGFuY2UuZGlzbWlzc0V2ZW50LnN1YnNjcmliZSgocmVhc29uOiBhbnkpID0+IHsgdGhpcy5kaXNtaXNzKHJlYXNvbik7IH0pO1xyXG5cclxuICAgICAgICB0aGlzLnJlc3VsdCA9IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5yZXNvbHZlID0gcmVzb2x2ZTtcclxuICAgICAgICAgICAgdGhpcy5yZWplY3QgPSByZWplY3Q7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5yZXN1bHQudGhlbihudWxsLCAoKSA9PiB7IH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2UgcHVlZGUgdXNhciBwYXJhIGNlcnJhciB1biBtb2RhbCwgcGFzYW5kbyB1biByZXN1bHRhZG8gb3BjaW9uYWwuXHJcbiAgICAgKiBAcGFyYW0gcmVzdWx0XHJcbiAgICAgKi9cclxuICAgIGNsb3NlKHJlc3VsdD86IGFueSk6IGFueSB7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLndpbmRvd0NvbXBvbmVudFJlZikge1xyXG4gICAgICAgICAgICB0aGlzLnJlc29sdmUocmVzdWx0KTtcclxuICAgICAgICAgICAgdGhpcy5yZW1vdmVNb2RhbEVsZW1lbnRzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2UgcHVlZGUgdXNhciBwYXJhIGRlc2NhcnRhciB1biBtb2RhbCwgcGFzYW5kbyB1biBtb3Rpdm8gb3BjaW9uYWwuXHJcbiAgICAgKiBAcGFyYW0gcmVhc29uXHJcbiAgICAgKi9cclxuICAgIGRpc21pc3MocmVhc29uPzogYW55KTogdm9pZCB7XHJcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ3JlYXNvbicpO1xyXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKHJlYXNvbik7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLndpbmRvd0NvbXBvbmVudFJlZikge1xyXG4gICAgICAgICAgICBpZiAoIXRoaXMuYmVmb3JlRGlzbWlzcyB8fCB0aGlzLmJlZm9yZURpc21pc3MoKSAhPT0gZmFsc2UpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMucmVqZWN0KHJlYXNvbik7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZU1vZGFsRWxlbWVudHMoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHJlbW92ZU1vZGFsRWxlbWVudHMoKSB7XHJcbiAgICAgICAgY29uc3Qgd2luZG93TmF0aXZlRWwgPSB0aGlzLndpbmRvd0NvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50O1xyXG4gICAgICAgIHdpbmRvd05hdGl2ZUVsLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQod2luZG93TmF0aXZlRWwpO1xyXG4gICAgICAgIHRoaXMud2luZG93Q29tcG9uZW50UmVmLmRlc3Ryb3koKTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuYmFja2Ryb3BDb21wb25lbnRSZWYpIHtcclxuICAgICAgICAgICAgY29uc3QgYmFja2Ryb3BOYXRpdmVFbCA9IHRoaXMuYmFja2Ryb3BDb21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudDtcclxuICAgICAgICAgICAgYmFja2Ryb3BOYXRpdmVFbC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGJhY2tkcm9wTmF0aXZlRWwpO1xyXG4gICAgICAgICAgICB0aGlzLmJhY2tkcm9wQ29tcG9uZW50UmVmLmRlc3Ryb3koKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmNvbnRlbnRSZWYgJiYgdGhpcy5jb250ZW50UmVmLnZpZXdSZWYpIHtcclxuICAgICAgICAgICAgdGhpcy5jb250ZW50UmVmLnZpZXdSZWYuZGVzdHJveSgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy53aW5kb3dDb21wb25lbnRSZWYgPSBudWxsO1xyXG4gICAgICAgIHRoaXMuYmFja2Ryb3BDb21wb25lbnRSZWYgPSBudWxsO1xyXG4gICAgICAgIHRoaXMuY29udGVudFJlZiA9IG51bGw7XHJcbiAgICB9XHJcbn1cclxuIl19