UNPKG

@stratio/egeo

Version:
155 lines 13.7 kB
/** * @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==