UNPKG

angular-admin-lte-teliqo

Version:
216 lines (215 loc) 16.7 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, NgZone, Output, Renderer2, ViewChild, ViewContainerRef } from '@angular/core'; import { removeListeners } from '../helpers'; var AlertComponent = /** @class */ (function () { /** * @method constructor * @param changeDetectorRef [description] * @param ngZone [description] * @param renderer2 [description] * @param viewContainerRef [description] */ function AlertComponent(changeDetectorRef, ngZone, renderer2, viewContainerRef) { this.changeDetectorRef = changeDetectorRef; this.ngZone = ngZone; this.renderer2 = renderer2; this.viewContainerRef = viewContainerRef; this.dismissibleClass = 'alert-dismissible'; this.isDismissible = true; this.remove = false; this.type = 'alert'; this.listeners = []; this.backgroundColor = 'danger'; this.styleClass = ''; this.onCollapseStart = new EventEmitter(); this.onCollapseDone = new EventEmitter(); } Object.defineProperty(AlertComponent.prototype, "callout", { set: /** * @param {?} value * @return {?} */ function (value) { this.type = value ? 'callout' : 'alert'; }, enumerable: true, configurable: true }); Object.defineProperty(AlertComponent.prototype, "_isDismissible", { set: /** * @param {?} value * @return {?} */ function (value) { this.isDismissible = value; if (value) { this.dismissibleClass = this.type + "-dismissible"; } else { this.dismissibleClass = ''; } }, enumerable: true, configurable: true }); /** * @method ngOnInit */ /** * \@method ngOnInit * @return {?} */ AlertComponent.prototype.ngAfterViewInit = /** * \@method ngOnInit * @return {?} */ function () { var _this = this; this.ngZone.runOutsideAngular(function () { if (_this.dismissOnTimeout) { setTimeout(function () { if (!(/** @type {?} */ (_this.changeDetectorRef)).destroyed) { _this.remove = true; _this.changeDetectorRef.detectChanges(); } }, _this.dismissOnTimeout); } if (_this.removeButtonElement) { _this.listeners.push(_this.renderer2.listen(_this.removeButtonElement.nativeElement, 'click', function () { _this.remove = true; _this.changeDetectorRef.detectChanges(); })); } }); }; /** * @method ngOnDesroy */ /** * \@method ngOnDesroy * @return {?} */ AlertComponent.prototype.ngOnDestroy = /** * \@method ngOnDesroy * @return {?} */ function () { removeListeners(this.listeners); }; /** * [collapseStart description] * \@method collapseStart * @param {?} event [description] * @return {?} */ AlertComponent.prototype.collapseStart = /** * [collapseStart description] * \@method collapseStart * @param {?} event [description] * @return {?} */ function (event) { this.onCollapseStart.emit(event); }; /** * [collapseDone description] * \@method collapseDone * @param {?} event [description] * @return {?} */ AlertComponent.prototype.collapseDone = /** * [collapseDone description] * \@method collapseDone * @param {?} event [description] * @return {?} */ function (event) { if (event.toState === '1') { this.listeners = removeListeners(this.listeners); this.removed = true; this.viewContainerRef.clear(); this.changeDetectorRef.detectChanges(); } this.onCollapseDone.emit(event); }; AlertComponent.decorators = [ { type: Component, args: [{ selector: 'mk-alert', template: "<div *ngIf=\"!removed\" [collapseAnimation]=\"remove\" (collapseAnimation.start)=\"collapseStart($event)\" (collapseAnimation.done)=\"collapseDone($event)\">\n <div [mkColor]=\"backgroundColor\" mkColorProperty=\"background-color\" [mkColorPrefix]=\"type\" [mkFontColor]=\"color\" [ngClass]=\"[styleClass, dismissibleClass, type]\">\n <button *ngIf=\"isDismissible\" type=\"button\" class=\"close\" #removeButtonElement>&times;</button>\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".callout-dismissable,.callout-dismissible{padding-right:35px}.callout-dismissable .close,.callout-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.callout .close{color:#000;opacity:.2}.callout .icon{margin-right:10px}"], changeDetection: ChangeDetectionStrategy.OnPush },] }, ]; /** @nocollapse */ AlertComponent.ctorParameters = function () { return [ { type: ChangeDetectorRef, }, { type: NgZone, }, { type: Renderer2, }, { type: ViewContainerRef, }, ]; }; AlertComponent.propDecorators = { "backgroundColor": [{ type: Input },], "callout": [{ type: Input },], "color": [{ type: Input },], "dismissOnTimeout": [{ type: Input },], "_isDismissible": [{ type: Input, args: ['isDismissible',] },], "styleClass": [{ type: Input },], "onCollapseStart": [{ type: Output },], "onCollapseDone": [{ type: Output },], "removeButtonElement": [{ type: ViewChild, args: ['removeButtonElement',] },], "containerElementRef": [{ type: ViewChild, args: ['containerElementRef', { read: ViewContainerRef },] },], }; return AlertComponent; }()); export { AlertComponent }; function AlertComponent_tsickle_Closure_declarations() { /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */ AlertComponent.decorators; /** * @nocollapse * @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>} */ AlertComponent.ctorParameters; /** @type {!Object<string,!Array<{type: !Function, args: (undefined|!Array<?>)}>>} */ AlertComponent.propDecorators; /** @type {?} */ AlertComponent.prototype.dismissibleClass; /** @type {?} */ AlertComponent.prototype.isDismissible; /** @type {?} */ AlertComponent.prototype.remove; /** @type {?} */ AlertComponent.prototype.removed; /** @type {?} */ AlertComponent.prototype.type; /** @type {?} */ AlertComponent.prototype.listeners; /** @type {?} */ AlertComponent.prototype.backgroundColor; /** @type {?} */ AlertComponent.prototype.color; /** @type {?} */ AlertComponent.prototype.dismissOnTimeout; /** @type {?} */ AlertComponent.prototype.styleClass; /** @type {?} */ AlertComponent.prototype.onCollapseStart; /** @type {?} */ AlertComponent.prototype.onCollapseDone; /** @type {?} */ AlertComponent.prototype.removeButtonElement; /** @type {?} */ AlertComponent.prototype.containerElementRef; /** @type {?} */ AlertComponent.prototype.changeDetectorRef; /** @type {?} */ AlertComponent.prototype.ngZone; /** @type {?} */ AlertComponent.prototype.renderer2; /** @type {?} */ AlertComponent.prototype.viewContainerRef; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhci1hZG1pbi1sdGUtdGVsaXFvLyIsInNvdXJjZXMiOlsibGliL2FsZXJ0L2FsZXJ0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFFTixNQUFNLEVBQ04sU0FBUyxFQUNULFNBQVMsRUFDVCxnQkFBZ0IsRUFFakIsTUFBTSxlQUFlLENBQUM7QUFJdkIsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLFlBQVksQ0FBQzs7SUFnRHpDOzs7Ozs7T0FNRztJQUNILHdCQUNVLG1CQUNBLFFBQ0EsV0FDQTtRQUhBLHNCQUFpQixHQUFqQixpQkFBaUI7UUFDakIsV0FBTSxHQUFOLE1BQU07UUFDTixjQUFTLEdBQVQsU0FBUztRQUNULHFCQUFnQixHQUFoQixnQkFBZ0I7Z0NBekNBLG1CQUFtQjs2QkFDdEIsSUFBSTtzQkFDWCxLQUFLO29CQUVQLE9BQU87eUJBRUQsRUFBRTsrQkFFWSxRQUFROzBCQWNiLEVBQUU7K0JBRUksSUFBSSxZQUFZLEVBQUU7OEJBQ25CLElBQUksWUFBWSxFQUFFO0tBaUJoRDswQkFqQ2dCLG1DQUFPOzs7OztrQkFBQyxLQUFjO1lBQ3hDLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQzs7Ozs7MEJBSVAsMENBQWM7Ozs7O2tCQUFDLEtBQWM7WUFDOUQsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7WUFDM0IsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDVixJQUFJLENBQUMsZ0JBQWdCLEdBQU0sSUFBSSxDQUFDLElBQUksaUJBQWMsQ0FBQzthQUNwRDtZQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNOLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7YUFDNUI7Ozs7O0lBd0JIOztPQUVHOzs7OztJQUNILHdDQUFlOzs7O0lBQWY7UUFBQSxpQkFpQkM7UUFoQkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQztZQUM1QixFQUFFLENBQUMsQ0FBQyxLQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO2dCQUMxQixVQUFVLENBQUM7b0JBQ1QsRUFBRSxDQUFDLENBQUMsQ0FBQyxtQkFBQyxLQUFJLENBQUMsaUJBQTRCLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO3dCQUNuRCxLQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQzt3QkFDbkIsS0FBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDO3FCQUN4QztpQkFDRixFQUFFLEtBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO2FBQzNCO1lBQ0QsRUFBRSxDQUFDLENBQUMsS0FBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQztnQkFDN0IsS0FBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsRUFBRSxPQUFPLEVBQUU7b0JBQ3pGLEtBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO29CQUNuQixLQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7aUJBQ3hDLENBQUMsQ0FBQyxDQUFDO2FBQ0w7U0FDRixDQUFDLENBQUM7S0FDSjtJQUVEOztPQUVHOzs7OztJQUNILG9DQUFXOzs7O0lBQVg7UUFDRSxlQUFlLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0tBQ2pDOzs7Ozs7O0lBT00sc0NBQWE7Ozs7OztjQUFDLEtBQXFCO1FBQ3hDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDOzs7Ozs7OztJQVE1QixxQ0FBWTs7Ozs7O2NBQUMsS0FBcUI7UUFDdkMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQzFCLElBQUksQ0FBQyxTQUFTLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNqRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUNwQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQ3hDO1FBQ0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7OztnQkEzR25DLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsVUFBVTtvQkFDcEIsUUFBUSxFQUFFLDZlQU1YO29CQUNDLE1BQU0sRUFBRSxDQUFDLG1QQUFtUCxDQUFDO29CQUM3UCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQ7Ozs7Z0JBaENDLGlCQUFpQjtnQkFLakIsTUFBTTtnQkFHTixTQUFTO2dCQUVULGdCQUFnQjs7O29DQWdDZixLQUFLOzRCQUNMLEtBQUs7MEJBR0wsS0FBSztxQ0FDTCxLQUFLO21DQUNMLEtBQUssU0FBQyxlQUFlOytCQVFyQixLQUFLO29DQUVMLE1BQU07bUNBQ04sTUFBTTt3Q0FFTixTQUFTLFNBQUMscUJBQXFCO3dDQUMvQixTQUFTLFNBQUMscUJBQXFCLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7O3lCQWpFOUQ7O1NBb0NhLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgTmdab25lLFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgUmVuZGVyZXIyLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWYsXG4gIFZpZXdSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7QW5pbWF0aW9uRXZlbnR9IGZyb20gJy4uL2FuaW1hdGlvbnMvYW5pbWF0aW9ucy5pbnRlcmZhY2UnO1xuXG5pbXBvcnQge3JlbW92ZUxpc3RlbmVyc30gZnJvbSAnLi4vaGVscGVycyc7XG5cbi8qXG4gKlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtay1hbGVydCcsXG4gIHRlbXBsYXRlOiBgPGRpdiAqbmdJZj1cIiFyZW1vdmVkXCIgW2NvbGxhcHNlQW5pbWF0aW9uXT1cInJlbW92ZVwiIChjb2xsYXBzZUFuaW1hdGlvbi5zdGFydCk9XCJjb2xsYXBzZVN0YXJ0KCRldmVudClcIiAoY29sbGFwc2VBbmltYXRpb24uZG9uZSk9XCJjb2xsYXBzZURvbmUoJGV2ZW50KVwiPlxuICA8ZGl2IFtta0NvbG9yXT1cImJhY2tncm91bmRDb2xvclwiIG1rQ29sb3JQcm9wZXJ0eT1cImJhY2tncm91bmQtY29sb3JcIiBbbWtDb2xvclByZWZpeF09XCJ0eXBlXCIgW21rRm9udENvbG9yXT1cImNvbG9yXCIgW25nQ2xhc3NdPVwiW3N0eWxlQ2xhc3MsIGRpc21pc3NpYmxlQ2xhc3MsIHR5cGVdXCI+XG4gICAgPGJ1dHRvbiAqbmdJZj1cImlzRGlzbWlzc2libGVcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJjbG9zZVwiICNyZW1vdmVCdXR0b25FbGVtZW50PiZ0aW1lczs8L2J1dHRvbj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuPC9kaXY+XG5gLFxuICBzdHlsZXM6IFtgLmNhbGxvdXQtZGlzbWlzc2FibGUsLmNhbGxvdXQtZGlzbWlzc2libGV7cGFkZGluZy1yaWdodDozNXB4fS5jYWxsb3V0LWRpc21pc3NhYmxlIC5jbG9zZSwuY2FsbG91dC1kaXNtaXNzaWJsZSAuY2xvc2V7cG9zaXRpb246cmVsYXRpdmU7dG9wOi0ycHg7cmlnaHQ6LTIxcHg7Y29sb3I6aW5oZXJpdH0uY2FsbG91dCAuY2xvc2V7Y29sb3I6IzAwMDtvcGFjaXR5Oi4yfS5jYWxsb3V0IC5pY29ue21hcmdpbi1yaWdodDoxMHB4fWBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBBbGVydENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIHB1YmxpYyBkaXNtaXNzaWJsZUNsYXNzID0gJ2FsZXJ0LWRpc21pc3NpYmxlJztcbiAgcHVibGljIGlzRGlzbWlzc2libGUgPSB0cnVlO1xuICBwdWJsaWMgcmVtb3ZlID0gZmFsc2U7XG4gIHB1YmxpYyByZW1vdmVkOiBib29sZWFuO1xuICBwdWJsaWMgdHlwZSA9ICdhbGVydCc7XG5cbiAgcHJpdmF0ZSBsaXN0ZW5lcnMgPSBbXTtcblxuICBASW5wdXQoKSBwdWJsaWMgYmFja2dyb3VuZENvbG9yID0gJ2Rhbmdlcic7XG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgY2FsbG91dCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMudHlwZSA9IHZhbHVlID8gJ2NhbGxvdXQnIDogJ2FsZXJ0JztcbiAgfVxuICBASW5wdXQoKSBwdWJsaWMgY29sb3I6IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIGRpc21pc3NPblRpbWVvdXQ6IG51bWJlcjtcbiAgQElucHV0KCdpc0Rpc21pc3NpYmxlJykgcHVibGljIHNldCBfaXNEaXNtaXNzaWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuaXNEaXNtaXNzaWJsZSA9IHZhbHVlO1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy5kaXNtaXNzaWJsZUNsYXNzID0gYCR7dGhpcy50eXBlfS1kaXNtaXNzaWJsZWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZGlzbWlzc2libGVDbGFzcyA9ICcnO1xuICAgIH1cbiAgfVxuICBASW5wdXQoKSBwdWJsaWMgc3R5bGVDbGFzcyA9ICcnO1xuXG4gIEBPdXRwdXQoKSBwdWJsaWMgb25Db2xsYXBzZVN0YXJ0ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgcHVibGljIG9uQ29sbGFwc2VEb25lID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBWaWV3Q2hpbGQoJ3JlbW92ZUJ1dHRvbkVsZW1lbnQnKSBwcml2YXRlIHJlbW92ZUJ1dHRvbkVsZW1lbnQ6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lckVsZW1lbnRSZWYnLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYgfSkgcHJpdmF0ZSBjb250YWluZXJFbGVtZW50UmVmOiBWaWV3Q29udGFpbmVyUmVmO1xuXG4gIC8qKlxuICAgKiBAbWV0aG9kIGNvbnN0cnVjdG9yXG4gICAqIEBwYXJhbSAgY2hhbmdlRGV0ZWN0b3JSZWYgW2Rlc2NyaXB0aW9uXVxuICAgKiBAcGFyYW0gIG5nWm9uZSAgICAgICAgICAgIFtkZXNjcmlwdGlvbl1cbiAgICogQHBhcmFtICByZW5kZXJlcjIgICAgICAgICBbZGVzY3JpcHRpb25dXG4gICAqIEBwYXJhbSAgdmlld0NvbnRhaW5lclJlZiAgW2Rlc2NyaXB0aW9uXVxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgICBwcml2YXRlIHJlbmRlcmVyMjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZlxuICApIHt9XG5cbiAgLyoqXG4gICAqIEBtZXRob2QgbmdPbkluaXRcbiAgICovXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICBpZiAodGhpcy5kaXNtaXNzT25UaW1lb3V0KSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIGlmICghKHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYgYXMgVmlld1JlZikuZGVzdHJveWVkKSB7XG4gICAgICAgICAgICB0aGlzLnJlbW92ZSA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sIHRoaXMuZGlzbWlzc09uVGltZW91dCk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5yZW1vdmVCdXR0b25FbGVtZW50KSB7XG4gICAgICAgIHRoaXMubGlzdGVuZXJzLnB1c2godGhpcy5yZW5kZXJlcjIubGlzdGVuKHRoaXMucmVtb3ZlQnV0dG9uRWxlbWVudC5uYXRpdmVFbGVtZW50LCAnY2xpY2snLCAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5yZW1vdmUgPSB0cnVlO1xuICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9KSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQG1ldGhvZCBuZ09uRGVzcm95XG4gICAqL1xuICBuZ09uRGVzdHJveSgpIHtcbiAgICByZW1vdmVMaXN0ZW5lcnModGhpcy5saXN0ZW5lcnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFtjb2xsYXBzZVN0YXJ0IGRlc2NyaXB0aW9uXVxuICAgKiBAbWV0aG9kIGNvbGxhcHNlU3RhcnRcbiAgICogQHBhcmFtIGV2ZW50IFtkZXNjcmlwdGlvbl1cbiAgICovXG4gIHB1YmxpYyBjb2xsYXBzZVN0YXJ0KGV2ZW50OiBBbmltYXRpb25FdmVudCk6IHZvaWQge1xuICAgIHRoaXMub25Db2xsYXBzZVN0YXJ0LmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFtjb2xsYXBzZURvbmUgZGVzY3JpcHRpb25dXG4gICAqIEBtZXRob2QgY29sbGFwc2VEb25lXG4gICAqIEBwYXJhbSBldmVudCBbZGVzY3JpcHRpb25dXG4gICAqL1xuICBwdWJsaWMgY29sbGFwc2VEb25lKGV2ZW50OiBBbmltYXRpb25FdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudC50b1N0YXRlID09PSAnMScpIHtcbiAgICAgIHRoaXMubGlzdGVuZXJzID0gcmVtb3ZlTGlzdGVuZXJzKHRoaXMubGlzdGVuZXJzKTtcbiAgICAgIHRoaXMucmVtb3ZlZCA9IHRydWU7XG4gICAgICB0aGlzLnZpZXdDb250YWluZXJSZWYuY2xlYXIoKTtcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgICB0aGlzLm9uQ29sbGFwc2VEb25lLmVtaXQoZXZlbnQpO1xuICB9XG59XG4iXX0=