@stratio/egeo
Version:
155 lines • 13.7 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: lib/st-modal2/st-modal2.component.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/*
* © 2017 Stratio Big Data Inc., Sucursal en España.
*
* This software is licensed under the Apache License, Version 2.0.
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the terms of the License for more details.
*
* SPDX-License-Identifier: Apache-2.0.
*/
import { Component, ChangeDetectionStrategy, Input, Output, EventEmitter, HostListener } from '@angular/core';
import { animate, state, style, transition, trigger } from '@angular/animations';
export class StModal2Component {
constructor() {
this.disabledAnimation = true;
this.width = 600;
this.modalTitle = '';
this.endAnimation = new EventEmitter();
this.onClose = new EventEmitter();
this.onEnter = new EventEmitter();
this.visibility = 'visible';
this._subscriptions = [];
this.ESCAPE_KEYCODE = 27;
this.ENTER_KEYCODE = 13;
}
/**
* @param {?} event
* @return {?}
*/
onKeydownHandler(event) {
if (this.closeOnEscape && event.keyCode === this.ESCAPE_KEYCODE) {
this.onCloseButton();
}
if (event.keyCode === this.ENTER_KEYCODE) {
this.onEnter.emit();
}
}
/**
* @return {?}
*/
ngOnDestroy() {
if (this._subscriptions.length > 0) {
this._subscriptions.forEach((/**
* @param {?} subscription
* @return {?}
*/
(subscription) => {
if (subscription) {
subscription.unsubscribe();
}
}));
}
}
/**
* @param {?} event
* @return {?}
*/
animationDone(event) {
if (event.toState === 'hidden') {
this.endAnimation.emit(true);
}
}
/**
* @return {?}
*/
onCloseButton() {
this.visibility = 'hidden';
this._subscriptions.push(this.endAnimation.subscribe((/**
* @param {?} data
* @return {?}
*/
(data) => {
if (data) {
this.onClose.emit();
}
})));
}
}
StModal2Component.decorators = [
{ type: Component, args: [{
selector: 'st-modal2',
template: "<!--\n\n \u00A9 2017 Stratio Big Data Inc., Sucursal en Espa\u00F1a.\n\n This software is licensed under the Apache License, Version 2.0.\n This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;\n without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n See the terms of the License for more details.\n\n SPDX-License-Identifier: Apache-2.0.\n\n-->\n<div class=\"st-modal-container\" [@state]=\"visibility\" (@state.done)=\"animationDone($event)\" [@.disabled]=\"disabledAnimation\">\n <section class=\"st-modal\" [style.width.px]=\"width\">\n <ng-container *ngIf=\"emptyModal\">\n <ng-content></ng-content>\n </ng-container>\n <ng-container *ngIf=\"!emptyModal\">\n <div class=\"st-modal-header\">\n <div class=\"container\">\n <p class=\"title\" *ngIf=\"modalTitle && modalTitle.length\">{{modalTitle}}</p>\n <ng-content select=[st-modal-title]></ng-content>\n <span class=\"icon-cross close-button\"\n *ngIf=\"!hideCloseBtn\"\n (click)=\"onCloseButton()\"></span>\n </div>\n </div>\n <div class=\"st-modal-body\">\n <div class=\"container\">\n <ng-content></ng-content>\n </div>\n </div>\n </ng-container>\n </section>\n</div>\n",
changeDetection: ChangeDetectionStrategy.OnPush,
animations: [
trigger('state', [
state('void, hidden', style({ opacity: 0 })),
state('visible', style({ opacity: 1 })),
transition('* => visible', [
style({ opacity: 0 }),
animate(300)
]),
transition('* => hidden', [
style({ opacity: 1 }),
animate(300)
])
])
],
styles: ["@charset \"UTF-8\";.st-modal-container{width:100%;height:100vh;position:fixed;left:0;top:0;display:flex}.st-modal-container .st-modal{margin:auto;-ms-grid-row-align:center;align-self:center;display:flex;flex-direction:column}.st-modal-container .st-modal .st-modal-header{display:flex;flex-direction:row;width:100%;height:70px}.st-modal-container .st-modal .st-modal-header .container{align-items:center;flex-wrap:nowrap}.st-modal-container .st-modal .container{min-width:auto}"]
}] }
];
StModal2Component.propDecorators = {
disabledAnimation: [{ type: Input }],
emptyModal: [{ type: Input }],
width: [{ type: Input }],
modalTitle: [{ type: Input }],
closeOnEscape: [{ type: Input }],
hideCloseBtn: [{ type: Input }],
endAnimation: [{ type: Output }],
onClose: [{ type: Output }],
onEnter: [{ type: Output }],
onKeydownHandler: [{ type: HostListener, args: ['document:keydown', ['$event'],] }]
};
if (false) {
/** @type {?} */
StModal2Component.prototype.disabledAnimation;
/** @type {?} */
StModal2Component.prototype.emptyModal;
/** @type {?} */
StModal2Component.prototype.width;
/** @type {?} */
StModal2Component.prototype.modalTitle;
/** @type {?} */
StModal2Component.prototype.closeOnEscape;
/** @type {?} */
StModal2Component.prototype.hideCloseBtn;
/** @type {?} */
StModal2Component.prototype.endAnimation;
/** @type {?} */
StModal2Component.prototype.onClose;
/** @type {?} */
StModal2Component.prototype.onEnter;
/** @type {?} */
StModal2Component.prototype.visibility;
/**
* @type {?}
* @private
*/
StModal2Component.prototype._subscriptions;
/**
* @type {?}
* @private
*/
StModal2Component.prototype.ESCAPE_KEYCODE;
/**
* @type {?}
* @private
*/
StModal2Component.prototype.ENTER_KEYCODE;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3QtbW9kYWwyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzdHJhdGlvL2VnZW8vIiwic291cmNlcyI6WyJsaWIvc3QtbW9kYWwyL3N0LW1vZGFsMi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBV0EsT0FBTyxFQUFFLFNBQVMsRUFBRSx1QkFBdUIsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDekgsT0FBTyxFQUFFLE9BQU8sRUFBa0IsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUF1QmpHLE1BQU0sT0FBTyxpQkFBaUI7SUFwQjlCO1FBc0JZLHNCQUFpQixHQUFZLElBQUksQ0FBQztRQUVsQyxVQUFLLEdBQVcsR0FBRyxDQUFDO1FBQ3BCLGVBQVUsR0FBVyxFQUFFLENBQUM7UUFJdkIsaUJBQVksR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNsRSxZQUFPLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFDdkQsWUFBTyxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBRWpFLGVBQVUsR0FBVyxTQUFTLENBQUM7UUFFdkIsbUJBQWMsR0FBd0IsRUFBRSxDQUFDO1FBQ3pDLG1CQUFjLEdBQVcsRUFBRSxDQUFDO1FBQzVCLGtCQUFhLEdBQVcsRUFBRSxDQUFDO0lBb0N0QyxDQUFDOzs7OztJQWxDZ0QsZ0JBQWdCLENBQUMsS0FBb0I7UUFDaEYsSUFBSSxJQUFJLENBQUMsYUFBYSxJQUFJLEtBQUssQ0FBQyxPQUFPLEtBQUssSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUM5RCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDdkI7UUFFRCxJQUFJLEtBQUssQ0FBQyxPQUFPLEtBQUssSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN2QyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ3RCO0lBQ0osQ0FBQzs7OztJQUVELFdBQVc7UUFDUixJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNqQyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU87Ozs7WUFBQyxDQUFDLFlBQVksRUFBRSxFQUFFO2dCQUMxQyxJQUFJLFlBQVksRUFBRTtvQkFDZixZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7aUJBQzdCO1lBQ0osQ0FBQyxFQUFDLENBQUM7U0FDTDtJQUNKLENBQUM7Ozs7O0lBRUQsYUFBYSxDQUFDLEtBQXFCO1FBQ2hDLElBQUksS0FBSyxDQUFDLE9BQU8sS0FBSyxRQUFRLEVBQUU7WUFDN0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDL0I7SUFDSixDQUFDOzs7O0lBRUQsYUFBYTtRQUNWLElBQUksQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDO1FBQzNCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUzs7OztRQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDM0QsSUFBSSxJQUFJLEVBQUU7Z0JBQ1AsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQzthQUN0QjtRQUNKLENBQUMsRUFBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzs7WUF4RUgsU0FBUyxTQUFDO2dCQUNSLFFBQVEsRUFBRSxXQUFXO2dCQUNyQiw0MENBQXlDO2dCQUV6QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtnQkFDL0MsVUFBVSxFQUFFO29CQUNULE9BQU8sQ0FBQyxPQUFPLEVBQUU7d0JBQ2QsS0FBSyxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQzt3QkFDNUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQzt3QkFDdkMsVUFBVSxDQUFDLGNBQWMsRUFBRTs0QkFDeEIsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDOzRCQUNyQixPQUFPLENBQUMsR0FBRyxDQUFDO3lCQUNkLENBQUM7d0JBQ0YsVUFBVSxDQUFDLGFBQWEsRUFBRTs0QkFDdkIsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDOzRCQUNyQixPQUFPLENBQUMsR0FBRyxDQUFDO3lCQUNkLENBQUM7cUJBQ0osQ0FBQztpQkFDSjs7YUFDSDs7O2dDQUdHLEtBQUs7eUJBQ0wsS0FBSztvQkFDTCxLQUFLO3lCQUNMLEtBQUs7NEJBQ0wsS0FBSzsyQkFDTCxLQUFLOzJCQUVMLE1BQU07c0JBQ04sTUFBTTtzQkFDTixNQUFNOytCQVFOLFlBQVksU0FBQyxrQkFBa0IsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7OztJQWpCNUMsOENBQTJDOztJQUMzQyx1Q0FBNkI7O0lBQzdCLGtDQUE2Qjs7SUFDN0IsdUNBQWlDOztJQUNqQywwQ0FBZ0M7O0lBQ2hDLHlDQUErQjs7SUFFL0IseUNBQTRFOztJQUM1RSxvQ0FBaUU7O0lBQ2pFLG9DQUFpRTs7SUFFakUsdUNBQStCOzs7OztJQUUvQiwyQ0FBaUQ7Ozs7O0lBQ2pELDJDQUFvQzs7Ozs7SUFDcEMsMENBQW1DIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIMKpIDIwMTcgU3RyYXRpbyBCaWcgRGF0YSBJbmMuLCBTdWN1cnNhbCBlbiBFc3Bhw7FhLlxuICpcbiAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMC5cbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7XG4gKiB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLlxuICogU2VlIHRoZSB0ZXJtcyBvZiB0aGUgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wLlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGFuaW1hdGUsIEFuaW1hdGlvbkV2ZW50LCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgIHNlbGVjdG9yOiAnc3QtbW9kYWwyJyxcbiAgIHRlbXBsYXRlVXJsOiAnLi9zdC1tb2RhbDIuY29tcG9uZW50Lmh0bWwnLFxuICAgc3R5bGVVcmxzOiBbJy4vc3QtbW9kYWwyLmNvbXBvbmVudC5zY3NzJ10sXG4gICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgIGFuaW1hdGlvbnM6IFtcbiAgICAgIHRyaWdnZXIoJ3N0YXRlJywgW1xuICAgICAgICAgc3RhdGUoJ3ZvaWQsIGhpZGRlbicsIHN0eWxlKHsgb3BhY2l0eTogMCB9KSksXG4gICAgICAgICBzdGF0ZSgndmlzaWJsZScsIHN0eWxlKHsgb3BhY2l0eTogMSB9KSksXG4gICAgICAgICB0cmFuc2l0aW9uKCcqID0+IHZpc2libGUnLCBbXG4gICAgICAgICAgICBzdHlsZSh7IG9wYWNpdHk6IDAgfSksXG4gICAgICAgICAgICBhbmltYXRlKDMwMClcbiAgICAgICAgIF0pLFxuICAgICAgICAgdHJhbnNpdGlvbignKiA9PiBoaWRkZW4nLCBbXG4gICAgICAgICAgICBzdHlsZSh7IG9wYWNpdHk6IDEgfSksXG4gICAgICAgICAgICBhbmltYXRlKDMwMClcbiAgICAgICAgIF0pXG4gICAgICBdKVxuICAgXVxufSlcbmV4cG9ydCBjbGFzcyBTdE1vZGFsMkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgIEBJbnB1dCgpIGRpc2FibGVkQW5pbWF0aW9uOiBib29sZWFuID0gdHJ1ZTtcbiAgIEBJbnB1dCgpIGVtcHR5TW9kYWw6IGJvb2xlYW47XG4gICBASW5wdXQoKSB3aWR0aDogbnVtYmVyID0gNjAwO1xuICAgQElucHV0KCkgbW9kYWxUaXRsZTogc3RyaW5nID0gJyc7XG4gICBASW5wdXQoKSBjbG9zZU9uRXNjYXBlOiBib29sZWFuO1xuICAgQElucHV0KCkgaGlkZUNsb3NlQnRuOiBib29sZWFuO1xuXG4gICBAT3V0cHV0KCkgZW5kQW5pbWF0aW9uOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gICBAT3V0cHV0KCkgb25DbG9zZTogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICAgQE91dHB1dCgpIG9uRW50ZXI6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgdmlzaWJpbGl0eTogc3RyaW5nID0gJ3Zpc2libGUnO1xuXG4gICBwcml2YXRlIF9zdWJzY3JpcHRpb25zOiBBcnJheTxTdWJzY3JpcHRpb24+ID0gW107XG4gICBwcml2YXRlIEVTQ0FQRV9LRVlDT0RFOiBudW1iZXIgPSAyNztcbiAgIHByaXZhdGUgRU5URVJfS0VZQ09ERTogbnVtYmVyID0gMTM7XG5cbiAgIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24nLCBbJyRldmVudCddKSBvbktleWRvd25IYW5kbGVyKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICBpZiAodGhpcy5jbG9zZU9uRXNjYXBlICYmIGV2ZW50LmtleUNvZGUgPT09IHRoaXMuRVNDQVBFX0tFWUNPREUpIHtcbiAgICAgICAgIHRoaXMub25DbG9zZUJ1dHRvbigpO1xuICAgICAgfVxuXG4gICAgICBpZiAoZXZlbnQua2V5Q29kZSA9PT0gdGhpcy5FTlRFUl9LRVlDT0RFKSB7XG4gICAgICAgICB0aGlzLm9uRW50ZXIuZW1pdCgpO1xuICAgICAgfVxuICAgfVxuXG4gICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgIGlmICh0aGlzLl9zdWJzY3JpcHRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuZm9yRWFjaCgoc3Vic2NyaXB0aW9uKSA9PiB7XG4gICAgICAgICAgICBpZiAoc3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICAgICBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgIH0pO1xuICAgICAgfVxuICAgfVxuXG4gICBhbmltYXRpb25Eb25lKGV2ZW50OiBBbmltYXRpb25FdmVudCk6IHZvaWQge1xuICAgICAgaWYgKGV2ZW50LnRvU3RhdGUgPT09ICdoaWRkZW4nKSB7XG4gICAgICAgICB0aGlzLmVuZEFuaW1hdGlvbi5lbWl0KHRydWUpO1xuICAgICAgfVxuICAgfVxuXG4gICBvbkNsb3NlQnV0dG9uKCk6IHZvaWQge1xuICAgICAgdGhpcy52aXNpYmlsaXR5ID0gJ2hpZGRlbic7XG4gICAgICB0aGlzLl9zdWJzY3JpcHRpb25zLnB1c2godGhpcy5lbmRBbmltYXRpb24uc3Vic2NyaWJlKChkYXRhKSA9PiB7XG4gICAgICAgICBpZiAoZGF0YSkge1xuICAgICAgICAgICAgdGhpcy5vbkNsb3NlLmVtaXQoKTtcbiAgICAgICAgIH1cbiAgICAgIH0pKTtcbiAgIH1cbn1cbiJdfQ==