UNPKG

com.phloxui

Version:

PhloxUI Ng2+ Framework

228 lines (227 loc) 15.6 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ import * as tslib_1 from "tslib"; import { Component, HostListener } from '@angular/core'; import { PhloxAppService } from '../../../service/PhloxAppService.service'; import { NeedFocusService } from '../../../service/NeedFocusService.service'; import { AppDrawerPopover } from './switcher.internal/AppDrawerPopover.component'; import { AbstractRippleButton } from '../../AbstractRippleButton'; import { PhloxAppInfo } from '../../../component/model/PhloxAppInfo'; var /** @type {?} */ TYPE_NAME = "phx-app-switcher"; var /** @type {?} */ SUB_TOPIC_NAME = 'app-switcher'; var PhloxAppSwitcher = /** @class */ (function (_super) { tslib_1.__extends(PhloxAppSwitcher, _super); function PhloxAppSwitcher(appSvc, needFocusService) { var _this = _super.call(this, appSvc, needFocusService) || this; _this.delay = PhloxAppInfo.DEFAULT_APP_SWITCHER_POPOVER_DELAY; if (_this.getApplication() !== null && typeof _this.getApplication() !== 'undefined' && _this.getApplication().getAppInfo() !== null && typeof _this.getApplication().getAppInfo() !== 'undefined') { _this.delay = _this.getApplication().getAppInfo().settings.APP_SWITCHER_POPOVER_DELAY; } return _this; } /** * @return {?} */ PhloxAppSwitcher.prototype.ngOnInit = /** * @return {?} */ function () { //super.ngOnInit(); this.contentText = '<div class="anchor"></div>'; this.appPopoverType = AppDrawerPopover; this.subTopicName = PhloxAppSwitcher.SUB_TOPIC_NAME; }; /** * @param {?} $event * @return {?} */ PhloxAppSwitcher.prototype.doFocus = /** * @param {?} $event * @return {?} */ function ($event) { }; /** * @param {?} $event * @return {?} */ PhloxAppSwitcher.prototype.doLostFocus = /** * @param {?} $event * @return {?} */ function ($event) { }; /** * @param {?} $event * @return {?} */ PhloxAppSwitcher.prototype.onPopoverBtnClicked = /** * @param {?} $event * @return {?} */ function ($event) { $event.stopPropagation(); }; /** * @param {?} $event * @return {?} */ PhloxAppSwitcher.prototype.onPopoverActived = /** * @param {?} $event * @return {?} */ function ($event) { this.source = $event.source; this.needFocusService.setFocusingComponent(this); }; /** * @param {?} $event * @return {?} */ PhloxAppSwitcher.prototype.onPopoverInactived = /** * @param {?} $event * @return {?} */ function ($event) { this.source = null; this.needFocusService.resetFocusingComponent(); }; /** * @param {?} event * @return {?} */ PhloxAppSwitcher.prototype.onClick = /** * @param {?} event * @return {?} */ function (event) { _super.prototype.onClick.call(this, event); }; /** * @param {?} event * @return {?} */ PhloxAppSwitcher.prototype.onFocus = /** * @param {?} event * @return {?} */ function (event) { }; /** * @param {?} event * @return {?} */ PhloxAppSwitcher.prototype.onLostFocus = /** * @param {?} event * @return {?} */ function (event) { if (this.source != null) { this.source.hide(); } }; /** * @param {?} $event * @return {?} */ PhloxAppSwitcher.prototype._onDocumentClick = /** * @param {?} $event * @return {?} */ function ($event) { $event.stopPropagation(); if (this.source != null) { this.source.hide(); } }; /** * @return {?} */ PhloxAppSwitcher.prototype.getContentText = /** * @return {?} */ function () { return this.contentText; }; /** * @return {?} */ PhloxAppSwitcher.prototype.getSubTopicName = /** * @return {?} */ function () { return this.subTopicName; }; /** * @return {?} */ PhloxAppSwitcher.prototype.getAppPopoverType = /** * @return {?} */ function () { return this.appPopoverType; }; /** * @return {?} */ PhloxAppSwitcher.prototype.getDelay = /** * @return {?} */ function () { return this.delay; }; PhloxAppSwitcher.TYPE_NAME = TYPE_NAME; PhloxAppSwitcher.SUB_TOPIC_NAME = SUB_TOPIC_NAME; PhloxAppSwitcher.decorators = [ { type: Component, args: [{ moduleId: module.id, selector: TYPE_NAME, template: "<div class=\"phx-app-switcher\" [phxPopover]=\"getContentText()\" [component-type]=\"getAppPopoverType()\" [delay]=\"getDelay()\" [topicName]=\"getSubTopicName()\"\n\t(phxClick)=\"onPopoverBtnClicked($event)\" (phxActive)=\"onPopoverActived($event)\" (phxInactive)=\"onPopoverInactived($event)\">\n\t<div class=\"box-container\">\n\t\t<div class=\"inline-boxes\">\n\t\t\t<div class=\"square\"></div>\n\t\t\t<div class=\"square\"></div>\n\t\t</div>\n\t\t<div class=\"inline-boxes\">\n\t\t\t<div class=\"square\"></div>\n\t\t\t<div class=\"square\"></div>\n\t\t</div>\n\t</div>\n</div>\n", entryComponents: [AppDrawerPopover], // add to resolve factory host: { '(document:click)': '_onDocumentClick($event)' } },] }, ]; /** @nocollapse */ PhloxAppSwitcher.ctorParameters = function () { return [ { type: PhloxAppService, }, { type: NeedFocusService, }, ]; }; PhloxAppSwitcher.propDecorators = { "onClick": [{ type: HostListener, args: ['click', ['$event'],] },], }; return PhloxAppSwitcher; }(AbstractRippleButton)); export { PhloxAppSwitcher }; function PhloxAppSwitcher_tsickle_Closure_declarations() { /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */ PhloxAppSwitcher.decorators; /** * @nocollapse * @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>} */ PhloxAppSwitcher.ctorParameters; /** @type {!Object<string,!Array<{type: !Function, args: (undefined|!Array<?>)}>>} */ PhloxAppSwitcher.propDecorators; /** @type {?} */ PhloxAppSwitcher.TYPE_NAME; /** @type {?} */ PhloxAppSwitcher.SUB_TOPIC_NAME; /** @type {?} */ PhloxAppSwitcher.prototype.contentText; /** @type {?} */ PhloxAppSwitcher.prototype.subTopicName; /** @type {?} */ PhloxAppSwitcher.prototype.appPopoverType; /** @type {?} */ PhloxAppSwitcher.prototype.delay; /** @type {?} */ PhloxAppSwitcher.prototype.source; } export { AppDrawerPopover } from './switcher.internal/AppDrawerPopover.component'; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGhsb3hBcHBTd2l0Y2hlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9jb20ucGhsb3h1aS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnQvcGFnZS9tYWluL1BobG94QXBwU3dpdGNoZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBaUIsWUFBWSxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQUd6RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDbEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBSXJFLHFCQUFNLFNBQVMsR0FBVyxrQkFBa0IsQ0FBQztBQUU3QyxxQkFBTSxjQUFjLEdBQVcsY0FBYyxDQUFDOztJQXdCUiw0Q0FBb0I7SUFheEQsMEJBQVksTUFBdUIsRUFBRSxnQkFBa0M7UUFBdkUsWUFDRSxrQkFBTSxNQUFNLEVBQUUsZ0JBQWdCLENBQUMsU0FRaEM7UUFOQyxLQUFJLENBQUMsS0FBSyxHQUFHLFlBQVksQ0FBQyxrQ0FBa0MsQ0FBQztRQUU3RCxFQUFFLENBQUMsQ0FBQyxLQUFJLENBQUMsY0FBYyxFQUFFLEtBQUssSUFBSSxJQUFJLE9BQU8sS0FBSSxDQUFDLGNBQWMsRUFBRSxLQUFLLFdBQVc7WUFDaEYsS0FBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLFVBQVUsRUFBRSxLQUFLLElBQUksSUFBSSxPQUFPLEtBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxVQUFVLEVBQUUsS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDO1lBQzNHLEtBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQywwQkFBMEIsQ0FBQztTQUNyRjs7S0FDRjs7OztJQUVNLG1DQUFROzs7OztRQUViLElBQUksQ0FBQyxXQUFXLEdBQUcsNEJBQTRCLENBQUM7UUFDaEQsSUFBSSxDQUFDLGNBQWMsR0FBRyxnQkFBZ0IsQ0FBQztRQUN2QyxJQUFJLENBQUMsWUFBWSxHQUFHLGdCQUFnQixDQUFDLGNBQWMsQ0FBQzs7Ozs7O0lBRzVDLGtDQUFPOzs7O0lBQWpCLFVBQWtCLE1BQWE7S0FFOUI7Ozs7O0lBRVMsc0NBQVc7Ozs7SUFBckIsVUFBc0IsTUFBYTtLQUVsQzs7Ozs7SUFFTSw4Q0FBbUI7Ozs7Y0FBQyxNQUFrQjtRQUMzQyxNQUFNLENBQUMsZUFBZSxFQUFFLENBQUM7Ozs7OztJQUdwQiwyQ0FBZ0I7Ozs7Y0FBQyxNQUFXO1FBQ2pDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUM1QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUM7Ozs7OztJQUc1Qyw2Q0FBa0I7Ozs7Y0FBQyxNQUFXO1FBQ25DLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ25CLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDOzs7Ozs7SUFJMUMsa0NBQU87Ozs7Y0FBQyxLQUFpQjtRQUM5QixpQkFBTSxPQUFPLFlBQUMsS0FBSyxDQUFDLENBQUM7Ozs7OztJQUdoQixrQ0FBTzs7OztjQUFDLEtBQVU7Ozs7OztJQUlsQixzQ0FBVzs7OztjQUFDLEtBQVU7UUFDM0IsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDcEI7Ozs7OztJQUdJLDJDQUFnQjs7OztjQUFDLE1BQVc7UUFDakMsTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBRXpCLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQztZQUN4QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ3BCOzs7OztJQUdJLHlDQUFjOzs7O1FBQ25CLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDOzs7OztJQUduQiwwQ0FBZTs7OztRQUNwQixNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQzs7Ozs7SUFHcEIsNENBQWlCOzs7O1FBQ3RCLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDOzs7OztJQUd0QixtQ0FBUTs7OztRQUNiLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDOztpQ0F2RnVCLFNBQVM7c0NBRUosY0FBYzs7Z0JBMUIvRCxTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLE1BQU0sQ0FBQyxFQUFFO29CQUNuQixRQUFRLEVBQUUsU0FBUztvQkFDbkIsUUFBUSxFQUFFLDJrQkFhWDtvQkFDQyxlQUFlLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQzs7b0JBQ25DLElBQUksRUFBRTt3QkFDSixrQkFBa0IsRUFBRSwwQkFBMEI7cUJBQy9DO2lCQUNGOzs7O2dCQWpDUSxlQUFlO2dCQUNmLGdCQUFnQjs7OzRCQXNGdEIsWUFBWSxTQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQzs7MkJBMUZuQztFQXFDc0Msb0JBQW9CO1NBQTdDLGdCQUFnQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUE2RjdCLGlDQUFjLGdEQUFnRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBIb3N0TGlzdGVuZXIsIEVsZW1lbnRSZWYsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBobG94QXBwIH0gZnJvbSAnLi4vLi4vUGhsb3hBcHAuY29tcG9uZW50JztcbmltcG9ydCB7IElOZWVkRm9jdXMgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnQvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBQaGxveEFwcFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL1BobG94QXBwU2VydmljZS5zZXJ2aWNlJztcbmltcG9ydCB7IE5lZWRGb2N1c1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL05lZWRGb2N1c1NlcnZpY2Uuc2VydmljZSc7XG5pbXBvcnQgeyBBcHBEcmF3ZXJQb3BvdmVyIH0gZnJvbSAnLi9zd2l0Y2hlci5pbnRlcm5hbC9BcHBEcmF3ZXJQb3BvdmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBYnN0cmFjdFJpcHBsZUJ1dHRvbiB9IGZyb20gJy4uLy4uL0Fic3RyYWN0UmlwcGxlQnV0dG9uJztcbmltcG9ydCB7IFBobG94QXBwSW5mbyB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudC9tb2RlbC9QaGxveEFwcEluZm8nO1xuXG5kZWNsYXJlIHZhciAkOiBhbnk7XG5cbmNvbnN0IFRZUEVfTkFNRTogc3RyaW5nID0gXCJwaHgtYXBwLXN3aXRjaGVyXCI7XG5cbmNvbnN0IFNVQl9UT1BJQ19OQU1FOiBzdHJpbmcgPSAnYXBwLXN3aXRjaGVyJztcblxuQENvbXBvbmVudCh7XG4gIG1vZHVsZUlkOiBtb2R1bGUuaWQsXG4gIHNlbGVjdG9yOiBUWVBFX05BTUUsXG4gIHRlbXBsYXRlOiBgPGRpdiBjbGFzcz1cInBoeC1hcHAtc3dpdGNoZXJcIiBbcGh4UG9wb3Zlcl09XCJnZXRDb250ZW50VGV4dCgpXCIgW2NvbXBvbmVudC10eXBlXT1cImdldEFwcFBvcG92ZXJUeXBlKClcIiBbZGVsYXldPVwiZ2V0RGVsYXkoKVwiIFt0b3BpY05hbWVdPVwiZ2V0U3ViVG9waWNOYW1lKClcIlxuXHQocGh4Q2xpY2spPVwib25Qb3BvdmVyQnRuQ2xpY2tlZCgkZXZlbnQpXCIgKHBoeEFjdGl2ZSk9XCJvblBvcG92ZXJBY3RpdmVkKCRldmVudClcIiAocGh4SW5hY3RpdmUpPVwib25Qb3BvdmVySW5hY3RpdmVkKCRldmVudClcIj5cblx0PGRpdiBjbGFzcz1cImJveC1jb250YWluZXJcIj5cblx0XHQ8ZGl2IGNsYXNzPVwiaW5saW5lLWJveGVzXCI+XG5cdFx0XHQ8ZGl2IGNsYXNzPVwic3F1YXJlXCI+PC9kaXY+XG5cdFx0XHQ8ZGl2IGNsYXNzPVwic3F1YXJlXCI+PC9kaXY+XG5cdFx0PC9kaXY+XG5cdFx0PGRpdiBjbGFzcz1cImlubGluZS1ib3hlc1wiPlxuXHRcdFx0PGRpdiBjbGFzcz1cInNxdWFyZVwiPjwvZGl2PlxuXHRcdFx0PGRpdiBjbGFzcz1cInNxdWFyZVwiPjwvZGl2PlxuXHRcdDwvZGl2PlxuXHQ8L2Rpdj5cbjwvZGl2PlxuYCxcbiAgZW50cnlDb21wb25lbnRzOiBbQXBwRHJhd2VyUG9wb3Zlcl0sIC8vIGFkZCB0byByZXNvbHZlIGZhY3RvcnlcbiAgaG9zdDoge1xuICAgICcoZG9jdW1lbnQ6Y2xpY2spJzogJ19vbkRvY3VtZW50Q2xpY2soJGV2ZW50KSdcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBQaGxveEFwcFN3aXRjaGVyIGV4dGVuZHMgQWJzdHJhY3RSaXBwbGVCdXR0b24gaW1wbGVtZW50cyBPbkluaXQsIElOZWVkRm9jdXMge1xuXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVFlQRV9OQU1FOiBzdHJpbmcgPSBUWVBFX05BTUU7XG5cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBTVUJfVE9QSUNfTkFNRTogc3RyaW5nID0gU1VCX1RPUElDX05BTUU7XG5cbiAgLy8gdXNlIGZvciBhcHAgZHJhd2VyXG4gIHByaXZhdGUgY29udGVudFRleHQ6IHN0cmluZztcbiAgcHJpdmF0ZSBzdWJUb3BpY05hbWU6IHN0cmluZztcbiAgcHJpdmF0ZSBhcHBQb3BvdmVyVHlwZTogVHlwZTxhbnk+O1xuICBwcml2YXRlIGRlbGF5OiBudW1iZXI7XG4gIHByaXZhdGUgc291cmNlOiBhbnk7XG5cbiAgY29uc3RydWN0b3IoYXBwU3ZjOiBQaGxveEFwcFNlcnZpY2UsIG5lZWRGb2N1c1NlcnZpY2U6IE5lZWRGb2N1c1NlcnZpY2UpIHtcbiAgICBzdXBlcihhcHBTdmMsIG5lZWRGb2N1c1NlcnZpY2UpO1xuXG4gICAgdGhpcy5kZWxheSA9IFBobG94QXBwSW5mby5ERUZBVUxUX0FQUF9TV0lUQ0hFUl9QT1BPVkVSX0RFTEFZO1xuICAgIFxuICAgIGlmICh0aGlzLmdldEFwcGxpY2F0aW9uKCkgIT09IG51bGwgJiYgdHlwZW9mIHRoaXMuZ2V0QXBwbGljYXRpb24oKSAhPT0gJ3VuZGVmaW5lZCcgJiZcbiAgICAgIHRoaXMuZ2V0QXBwbGljYXRpb24oKS5nZXRBcHBJbmZvKCkgIT09IG51bGwgJiYgdHlwZW9mIHRoaXMuZ2V0QXBwbGljYXRpb24oKS5nZXRBcHBJbmZvKCkgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICB0aGlzLmRlbGF5ID0gdGhpcy5nZXRBcHBsaWNhdGlvbigpLmdldEFwcEluZm8oKS5zZXR0aW5ncy5BUFBfU1dJVENIRVJfUE9QT1ZFUl9ERUxBWTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLy9zdXBlci5uZ09uSW5pdCgpO1xuICAgIHRoaXMuY29udGVudFRleHQgPSAnPGRpdiBjbGFzcz1cImFuY2hvclwiPjwvZGl2Pic7XG4gICAgdGhpcy5hcHBQb3BvdmVyVHlwZSA9IEFwcERyYXdlclBvcG92ZXI7XG4gICAgdGhpcy5zdWJUb3BpY05hbWUgPSBQaGxveEFwcFN3aXRjaGVyLlNVQl9UT1BJQ19OQU1FO1xuICB9XG5cbiAgcHJvdGVjdGVkIGRvRm9jdXMoJGV2ZW50OiBFdmVudCk6IHZvaWQge1xuXG4gIH1cblxuICBwcm90ZWN0ZWQgZG9Mb3N0Rm9jdXMoJGV2ZW50OiBFdmVudCk6IHZvaWQge1xuXG4gIH1cblxuICBwdWJsaWMgb25Qb3BvdmVyQnRuQ2xpY2tlZCgkZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cblxuICBwdWJsaWMgb25Qb3BvdmVyQWN0aXZlZCgkZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuc291cmNlID0gJGV2ZW50LnNvdXJjZTtcbiAgICB0aGlzLm5lZWRGb2N1c1NlcnZpY2Uuc2V0Rm9jdXNpbmdDb21wb25lbnQodGhpcyk7XG4gIH1cblxuICBwdWJsaWMgb25Qb3BvdmVySW5hY3RpdmVkKCRldmVudDogYW55KSB7XG4gICAgdGhpcy5zb3VyY2UgPSBudWxsO1xuICAgIHRoaXMubmVlZEZvY3VzU2VydmljZS5yZXNldEZvY3VzaW5nQ29tcG9uZW50KCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbkNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgc3VwZXIub25DbGljayhldmVudCk7XG4gIH1cblxuICBwdWJsaWMgb25Gb2N1cyhldmVudDogYW55KTogdm9pZCB7XG5cbiAgfVxuXG4gIHB1YmxpYyBvbkxvc3RGb2N1cyhldmVudDogYW55KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc291cmNlICE9IG51bGwpIHtcbiAgICAgIHRoaXMuc291cmNlLmhpZGUoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgX29uRG9jdW1lbnRDbGljaygkZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIGlmICh0aGlzLnNvdXJjZSAhPSBudWxsKSB7XG4gICAgICB0aGlzLnNvdXJjZS5oaWRlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldENvbnRlbnRUZXh0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuY29udGVudFRleHQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0U3ViVG9waWNOYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuc3ViVG9waWNOYW1lO1xuICB9XG5cbiAgcHVibGljIGdldEFwcFBvcG92ZXJUeXBlKCk6IFR5cGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuYXBwUG9wb3ZlclR5cGU7XG4gIH1cblxuICBwdWJsaWMgZ2V0RGVsYXkoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5kZWxheTtcbiAgfVxufVxuXG5leHBvcnQgKiBmcm9tICcuL3N3aXRjaGVyLmludGVybmFsL0FwcERyYXdlclBvcG92ZXIuY29tcG9uZW50JztcbiJdfQ==