UNPKG

@stratio/egeo

Version:
198 lines 15.9 kB
/** * @fileoverview added by tsickle * Generated from: lib/st-two-list-selection/list-scroll/list-scroll.component.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import * as tslib_1 from "tslib"; /* * © 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 { ChangeDetectorRef, ChangeDetectionStrategy, Component, ElementRef, EventEmitter, Input, Output } from '@angular/core'; import * as _ from 'lodash'; import { StRequired } from '../../decorators/require-decorators'; var ListScrollComponent = /** @class */ (function () { function ListScrollComponent(cd, elemRef) { this.cd = cd; this.elemRef = elemRef; this.editable = false; this.hasAllList = false; this.isLoading = false; this.mode = 'normal'; this.scrollBottom = new EventEmitter(); this.selectItem = new EventEmitter(); this.selectItemNonEditable = new EventEmitter(); this.selectExtraLabel = new EventEmitter(); this.search = new EventEmitter(); this.atBottom = false; this.delay = ((/** * @return {?} */ function () { /** @type {?} */ var timer = 0; return (/** * @param {?} callback * @param {?} ms * @return {?} */ function (callback, ms) { clearTimeout(timer); timer = setTimeout(callback, ms); }); }))(); this.firstEl = 0; this.scrollItems = []; this.showLoading = false; } /** * @return {?} */ ListScrollComponent.prototype.ngOnInit = /** * @return {?} */ function () { this.showLoading = this.isLoading; this.cd.markForCheck(); }; Object.defineProperty(ListScrollComponent.prototype, "listQaTag", { get: /** * @return {?} */ function () { return this.qaTag + '-scroll-list'; }, enumerable: true, configurable: true }); Object.defineProperty(ListScrollComponent.prototype, "listCheckAllQaTag", { get: /** * @return {?} */ function () { return this.qaTag + '-check-all-scroll-list'; }, enumerable: true, configurable: true }); /** * @return {?} */ ListScrollComponent.prototype.onScroll = /** * @return {?} */ function () { var _this = this; /** @type {?} */ var element = this.elemRef.nativeElement.querySelector('#virtualScroll'); this.showLoading = this.isLoading; this.atBottom = element.scrollHeight - element.scrollTop === element.clientHeight; /** @type {?} */ var debounce = _.throttle((/** * @return {?} */ function () { if (_this.atBottom) { _this.scrollBottom.emit(); _this.showLoading = false; } })); this.delay(debounce, 1000); }; ListScrollComponent.decorators = [ { type: Component, args: [{ selector: 'list-scroll', 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\n<virtual-scroller [items]=\"list\" (vsUpdate)=\"scrollItems = $event\" id=\"virtualScroll\" (scroll)=\"onScroll()\">\n <list-item class=\"virtual-scroll__list-item\" *ngFor=\"let item of scrollItems; let i = index\" [item]=\"item\" (selectItem)=\"selectItem.emit(item)\" (selectItemNonEditable)=\"selectItemNonEditable.emit(item)\"\n [qaTag]=\"listQaTag\" [editable]=\"editable\" (selectExtraLabel)=\"selectExtraLabel.emit($event)\" [mode]=\"mode\" [menuOptionList]=\"menuOptionList\" [disabled]=\"item.disabled\"></list-item>\n <div *ngIf=\"atBottom && showLoading\" class=\"spinner-container\">\n <st-spinner class=\"spinner\"></st-spinner>\n <span>{{fetchingDataText}}</span>\n </div>\n</virtual-scroller>\n", changeDetection: ChangeDetectionStrategy.OnPush, styles: ["@charset \"UTF-8\";:host{display:flex;max-height:100%;flex:1;min-height:10px}virtual-scroller{width:100%}virtual-scroller__list-item-all{padding:5px 22px 22px;margin-bottom:5px}virtual-scroller__list-item{padding:5px 22px 22px}.virtual-scroll__list-item-all{padding:5px 22px;border-bottom-width:1px;border-bottom-color:#dbdbdb}.virtual-scroll__list-item{padding:5px 22px 0}.spinner-container{width:100%;display:flex;flex-direction:column}.spinner-container span{margin:auto auto 20px;font-weight:400;font-size:1rem;color:#888}.spinner-container .spinner{display:block;margin:20px auto 14px;width:20px;height:20px}"] }] } ]; /** @nocollapse */ ListScrollComponent.ctorParameters = function () { return [ { type: ChangeDetectorRef }, { type: ElementRef } ]; }; ListScrollComponent.propDecorators = { list: [{ type: Input }], editable: [{ type: Input }], fetchingDataText: [{ type: Input }], hasAllList: [{ type: Input }], isLoading: [{ type: Input }], itemAll: [{ type: Input }], menuOptionList: [{ type: Input }], qaTag: [{ type: Input }], mode: [{ type: Input }], scrollBottom: [{ type: Output }], selectItem: [{ type: Output }], selectItemNonEditable: [{ type: Output }], selectExtraLabel: [{ type: Output }], search: [{ type: Output }] }; tslib_1.__decorate([ StRequired(), tslib_1.__metadata("design:type", Array) ], ListScrollComponent.prototype, "list", void 0); tslib_1.__decorate([ StRequired(), tslib_1.__metadata("design:type", String) ], ListScrollComponent.prototype, "qaTag", void 0); return ListScrollComponent; }()); export { ListScrollComponent }; if (false) { /** @type {?} */ ListScrollComponent.prototype.list; /** @type {?} */ ListScrollComponent.prototype.editable; /** @type {?} */ ListScrollComponent.prototype.fetchingDataText; /** @type {?} */ ListScrollComponent.prototype.hasAllList; /** @type {?} */ ListScrollComponent.prototype.isLoading; /** @type {?} */ ListScrollComponent.prototype.itemAll; /** @type {?} */ ListScrollComponent.prototype.menuOptionList; /** @type {?} */ ListScrollComponent.prototype.qaTag; /** @type {?} */ ListScrollComponent.prototype.mode; /** @type {?} */ ListScrollComponent.prototype.scrollBottom; /** @type {?} */ ListScrollComponent.prototype.selectItem; /** @type {?} */ ListScrollComponent.prototype.selectItemNonEditable; /** @type {?} */ ListScrollComponent.prototype.selectExtraLabel; /** @type {?} */ ListScrollComponent.prototype.search; /** @type {?} */ ListScrollComponent.prototype.atBottom; /** @type {?} */ ListScrollComponent.prototype.delay; /** @type {?} */ ListScrollComponent.prototype.firstEl; /** @type {?} */ ListScrollComponent.prototype.scrollItems; /** @type {?} */ ListScrollComponent.prototype.showLoading; /** * @type {?} * @private */ ListScrollComponent.prototype.cd; /** * @type {?} * @private */ ListScrollComponent.prototype.elemRef; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1zY3JvbGwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHN0cmF0aW8vZWdlby8iLCJzb3VyY2VzIjpbImxpYi9zdC10d28tbGlzdC1zZWxlY3Rpb24vbGlzdC1zY3JvbGwvbGlzdC1zY3JvbGwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFVQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN2SSxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUc1QixPQUFPLEVBQVUsVUFBVSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFHekU7SUFvQ0csNkJBQ1csRUFBcUIsRUFDckIsT0FBbUI7UUFEbkIsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFDckIsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQTdCckIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUUxQixlQUFVLEdBQWEsS0FBSyxDQUFDO1FBQzdCLGNBQVMsR0FBYSxLQUFLLENBQUM7UUFJNUIsU0FBSSxHQUF5QixRQUFRLENBQUM7UUFFckMsaUJBQVksR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUMxRCxlQUFVLEdBQTRDLElBQUksWUFBWSxFQUE2QixDQUFDO1FBQ3BHLDBCQUFxQixHQUE0QyxJQUFJLFlBQVksRUFBNkIsQ0FBQztRQUMvRyxxQkFBZ0IsR0FBa0QsSUFBSSxZQUFZLEVBQW1DLENBQUM7UUFDdEgsV0FBTSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBRXBFLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsVUFBSyxHQUFROzs7UUFBQzs7Z0JBQ1AsS0FBSyxHQUFRLENBQUM7WUFDbEI7Ozs7O1lBQU8sVUFBQyxRQUFhLEVBQUUsRUFBTztnQkFDM0IsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNwQixLQUFLLEdBQUcsVUFBVSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNwQyxDQUFDLEVBQUM7UUFDTCxDQUFDLEVBQUMsRUFBRSxDQUFDO1FBQ0wsWUFBTyxHQUFXLENBQUMsQ0FBQztRQUNwQixnQkFBVyxHQUFnQyxFQUFFLENBQUM7UUFDOUMsZ0JBQVcsR0FBWSxLQUFLLENBQUM7SUFLN0IsQ0FBQzs7OztJQUVELHNDQUFROzs7SUFBUjtRQUNHLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNsQyxJQUFJLENBQUMsRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxzQkFBSSwwQ0FBUzs7OztRQUFiO1lBQ0csT0FBTyxJQUFJLENBQUMsS0FBSyxHQUFHLGNBQWMsQ0FBQztRQUN0QyxDQUFDOzs7T0FBQTtJQUVELHNCQUFJLGtEQUFpQjs7OztRQUFyQjtZQUNHLE9BQU8sSUFBSSxDQUFDLEtBQUssR0FBRyx3QkFBd0IsQ0FBQztRQUNoRCxDQUFDOzs7T0FBQTs7OztJQUVELHNDQUFROzs7SUFBUjtRQUFBLGlCQVlDOztZQVhNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUM7UUFDeEUsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUMsU0FBUyxLQUFLLE9BQU8sQ0FBQyxZQUFZLENBQUM7O1lBRTVFLFFBQVEsR0FBRyxDQUFDLENBQUMsUUFBUTs7O1FBQUM7WUFDekIsSUFBSSxLQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNoQixLQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUN6QixLQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQzthQUMzQjtRQUNKLENBQUMsRUFBQztRQUNGLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzlCLENBQUM7O2dCQWxFSCxTQUFTLFNBQUM7b0JBQ1IsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLGdxQ0FBMkM7b0JBRTNDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOztpQkFDakQ7Ozs7Z0JBWlEsaUJBQWlCO2dCQUFzQyxVQUFVOzs7dUJBZXRFLEtBQUs7MkJBQ0wsS0FBSzttQ0FDTCxLQUFLOzZCQUNMLEtBQUs7NEJBQ0wsS0FBSzswQkFDTCxLQUFLO2lDQUNMLEtBQUs7d0JBQ0wsS0FBSzt1QkFDTCxLQUFLOytCQUVMLE1BQU07NkJBQ04sTUFBTTt3Q0FDTixNQUFNO21DQUNOLE1BQU07eUJBQ04sTUFBTTs7SUFkZ0I7UUFBYixVQUFVLEVBQUU7O3FEQUFtQztJQU9sQztRQUFiLFVBQVUsRUFBRTs7c0RBQWU7SUFvRHhDLDBCQUFDO0NBQUEsQUFuRUQsSUFtRUM7U0E3RFksbUJBQW1COzs7SUFFN0IsbUNBQXlEOztJQUN6RCx1Q0FBbUM7O0lBQ25DLCtDQUFrQzs7SUFDbEMseUNBQXNDOztJQUN0Qyx3Q0FBcUM7O0lBQ3JDLHNDQUE2Qzs7SUFDN0MsNkNBQStDOztJQUMvQyxvQ0FBcUM7O0lBQ3JDLG1DQUErQzs7SUFFL0MsMkNBQW9FOztJQUNwRSx5Q0FBOEc7O0lBQzlHLG9EQUF5SDs7SUFDekgsK0NBQWdJOztJQUNoSSxxQ0FBb0U7O0lBRXBFLHVDQUEwQjs7SUFDMUIsb0NBTUs7O0lBQ0wsc0NBQW9COztJQUNwQiwwQ0FBOEM7O0lBQzlDLDBDQUE2Qjs7Ozs7SUFHMUIsaUNBQTZCOzs7OztJQUM3QixzQ0FBMkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogwqkgMjAxNyBTdHJhdGlvIEJpZyBEYXRhIEluYy4sIFN1Y3Vyc2FsIGVuIEVzcGHDsWEuXG4gKlxuICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wLlxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTtcbiAqIHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuXG4gKiBTZWUgdGhlIHRlcm1zIG9mIHRoZSBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAuXG4gKi9cbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xuXG5pbXBvcnQgeyBTdERyb3BEb3duTWVudUl0ZW0gfSBmcm9tICcuLi8uLi9zdC1kcm9wZG93bi1tZW51L3N0LWRyb3Bkb3duLW1lbnUuaW50ZXJmYWNlJztcbmltcG9ydCB7IFN0RWdlbywgU3RSZXF1aXJlZCB9IGZyb20gJy4uLy4uL2RlY29yYXRvcnMvcmVxdWlyZS1kZWNvcmF0b3JzJztcbmltcG9ydCB7IFN0VHdvTGlzdFNlbGVjdGlvbkVsZW1lbnQsIFN0VHdvTGlzdFNlbGVjdEV4dHJhTGFiZWxBY3Rpb24gfSBmcm9tICcuLi9zdC10d28tbGlzdC1zZWxlY3Rpb24ubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgIHNlbGVjdG9yOiAnbGlzdC1zY3JvbGwnLFxuICAgdGVtcGxhdGVVcmw6ICcuL2xpc3Qtc2Nyb2xsLmNvbXBvbmVudC5odG1sJyxcbiAgIHN0eWxlVXJsczogWycuL2xpc3Qtc2Nyb2xsLmNvbXBvbmVudC5zY3NzJ10sXG4gICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBMaXN0U2Nyb2xsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICAgQElucHV0KCkgQFN0UmVxdWlyZWQoKSBsaXN0OiBTdFR3b0xpc3RTZWxlY3Rpb25FbGVtZW50W107XG4gICBASW5wdXQoKSBlZGl0YWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuICAgQElucHV0KCkgZmV0Y2hpbmdEYXRhVGV4dDogc3RyaW5nO1xuICAgQElucHV0KCkgaGFzQWxsTGlzdD86IGJvb2xlYW4gPSBmYWxzZTtcbiAgIEBJbnB1dCgpIGlzTG9hZGluZz86IGJvb2xlYW4gPSBmYWxzZTtcbiAgIEBJbnB1dCgpIGl0ZW1BbGw/OiBTdFR3b0xpc3RTZWxlY3Rpb25FbGVtZW50O1xuICAgQElucHV0KCkgbWVudU9wdGlvbkxpc3Q/OiBTdERyb3BEb3duTWVudUl0ZW1bXTtcbiAgIEBJbnB1dCgpIEBTdFJlcXVpcmVkKCkgcWFUYWc6IHN0cmluZztcbiAgIEBJbnB1dCgpIG1vZGU6ICdjb21wYWN0JyB8ICdub3JtYWwnID0gJ25vcm1hbCc7XG5cbiAgIEBPdXRwdXQoKSBzY3JvbGxCb3R0b206IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICBAT3V0cHV0KCkgc2VsZWN0SXRlbTogRXZlbnRFbWl0dGVyPFN0VHdvTGlzdFNlbGVjdGlvbkVsZW1lbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxTdFR3b0xpc3RTZWxlY3Rpb25FbGVtZW50PigpO1xuICAgQE91dHB1dCgpIHNlbGVjdEl0ZW1Ob25FZGl0YWJsZTogRXZlbnRFbWl0dGVyPFN0VHdvTGlzdFNlbGVjdGlvbkVsZW1lbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxTdFR3b0xpc3RTZWxlY3Rpb25FbGVtZW50PigpO1xuICAgQE91dHB1dCgpIHNlbGVjdEV4dHJhTGFiZWw6IEV2ZW50RW1pdHRlcjxTdFR3b0xpc3RTZWxlY3RFeHRyYUxhYmVsQWN0aW9uPiA9IG5ldyBFdmVudEVtaXR0ZXI8U3RUd29MaXN0U2VsZWN0RXh0cmFMYWJlbEFjdGlvbj4oKTtcbiAgIEBPdXRwdXQoKSBzZWFyY2g6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgIGF0Qm90dG9tOiBCb29sZWFuID0gZmFsc2U7XG4gICBkZWxheTogYW55ID0gKCgpID0+IHtcbiAgICAgIGxldCB0aW1lcjogYW55ID0gMDtcbiAgICAgIHJldHVybiAoY2FsbGJhY2s6IGFueSwgbXM6IGFueSk6IHZvaWQgPT4ge1xuICAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVyKTtcbiAgICAgICAgIHRpbWVyID0gc2V0VGltZW91dChjYWxsYmFjaywgbXMpO1xuICAgICAgfTtcbiAgIH0pKCk7XG4gICBmaXJzdEVsOiBudW1iZXIgPSAwO1xuICAgc2Nyb2xsSXRlbXM6IFN0VHdvTGlzdFNlbGVjdGlvbkVsZW1lbnRbXSA9IFtdO1xuICAgc2hvd0xvYWRpbmc6IEJvb2xlYW4gPSBmYWxzZTtcblxuICAgY29uc3RydWN0b3IoXG4gICAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgIHByaXZhdGUgZWxlbVJlZjogRWxlbWVudFJlZikge1xuICAgfVxuXG4gICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgIHRoaXMuc2hvd0xvYWRpbmcgPSB0aGlzLmlzTG9hZGluZztcbiAgICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gICB9XG5cbiAgIGdldCBsaXN0UWFUYWcoKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiB0aGlzLnFhVGFnICsgJy1zY3JvbGwtbGlzdCc7XG4gICB9XG5cbiAgIGdldCBsaXN0Q2hlY2tBbGxRYVRhZygpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIHRoaXMucWFUYWcgKyAnLWNoZWNrLWFsbC1zY3JvbGwtbGlzdCc7XG4gICB9XG5cbiAgIG9uU2Nyb2xsKCk6IHZvaWQge1xuICAgICAgbGV0IGVsZW1lbnQgPSB0aGlzLmVsZW1SZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcjdmlydHVhbFNjcm9sbCcpO1xuICAgICAgdGhpcy5zaG93TG9hZGluZyA9IHRoaXMuaXNMb2FkaW5nO1xuICAgICAgdGhpcy5hdEJvdHRvbSA9IGVsZW1lbnQuc2Nyb2xsSGVpZ2h0IC0gZWxlbWVudC5zY3JvbGxUb3AgPT09IGVsZW1lbnQuY2xpZW50SGVpZ2h0O1xuXG4gICAgICBjb25zdCBkZWJvdW5jZSA9IF8udGhyb3R0bGUoKCkgPT4ge1xuICAgICAgICAgaWYgKHRoaXMuYXRCb3R0b20pIHtcbiAgICAgICAgICAgIHRoaXMuc2Nyb2xsQm90dG9tLmVtaXQoKTtcbiAgICAgICAgICAgIHRoaXMuc2hvd0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgdGhpcy5kZWxheShkZWJvdW5jZSwgMTAwMCk7XG4gICB9XG59XG4iXX0=