@catull/igniteui-angular
Version:
Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps
162 lines • 14.5 kB
JavaScript
import { __decorate, __metadata } from "tslib";
import { AfterContentInit, AfterViewChecked, Component, ContentChild, ElementRef, HostBinding, Input, TemplateRef, HostListener } from '@angular/core';
import { IgxTabItemTemplateDirective } from './tabs.directives';
import { IgxTabsBase, IgxTabsGroupBase } from './tabs.common';
let IgxTabsGroupComponent = class IgxTabsGroupComponent extends IgxTabsGroupBase {
constructor(_tabs, _element) {
super();
this._tabs = _tabs;
this._element = _element;
/**
* An @Input property that allows you to enable/disable the `IgxTabGroupComponent`.
*```html
*<igx-tabs-group label="Tab 2 Lorem ipsum dolor sit" icon="home" [disabled]="true">
*```
*/
this.disabled = false;
this._isSelected = false;
/**
* @hidden
*/
this.role = 'tabpanel';
/**
* @hidden
*/
this.styleClass = true;
}
/**
* Sets/gets whether a tab group is selected.
* ```typescript
* this.tabGroup.isSelected = true;
* ```
* ```typescript
* let isSelected = this.tabGroup.isSelected;
* ```
* @memberof IgxTabsGroupComponent
*/
get isSelected() {
return this._isSelected;
}
set isSelected(newValue) {
if (!this.disabled && this.isSelected !== newValue) {
this._tabs.performSelectionChange(newValue ? this.relatedTab : null);
}
}
/**
* An accessor that returns the `IgxTabItemComponent` component.
* ```typescript
* @ViewChild("MyTabsGroup")
* public tab: IgxTabsGroupComponent;
* ngAfterViewInIt(){
* let tabComponent = this.tab.relatedTab;
* }
* ```
*/
get relatedTab() {
if (this._tabs.tabs) {
return this._tabs.tabs.toArray()[this.index];
}
}
/**
* An accessor that returns the value of the index of the `IgxTabsGroupComponent`.
* ```typescript
* @ViewChild("MyTabsGroup")
* public tab: IgxTabsGroupComponent;
* ngAfterViewInIt(){
* let tabIndex = this.tab.index;
* }
* ```
*/
get index() {
if (this._tabs.groups) {
return this._tabs.groups.toArray().indexOf(this);
}
return -1;
}
/**
* @hidden
*/
get customTabTemplate() {
return this._tabTemplate;
}
/**
*@hidden
*/
set customTabTemplate(template) {
this._tabTemplate = template;
}
/**
* @hidden
*/
ngAfterContentInit() {
if (this.tabTemplate) {
this._tabTemplate = this.tabTemplate.template;
}
}
/**
* @hidden
*/
ngAfterViewChecked() {
this._element.nativeElement.setAttribute('aria-labelledby', `igx-tab-item-${this.index}`);
this._element.nativeElement.setAttribute('id', `igx-tabs__group-${this.index}`);
}
/**
* A method that sets the focus on a tab.
* @memberof {@link IgxTabsGroupComponent}
*```typescript
*@ViewChild("MyChild")
*public tab : IgxTabsGroupComponent;
*ngAfterViewInit(){
* this.tab.select();
*}
*```
*/
select() {
if (!this.disabled && !this.isSelected) {
this._tabs.performSelectionChange(this.relatedTab);
}
}
/**
* @hidden
*/
setSelectedInternal(newValue) {
this._isSelected = newValue;
}
};
IgxTabsGroupComponent.ctorParameters = () => [
{ type: IgxTabsBase },
{ type: ElementRef }
];
__decorate([
Input(),
__metadata("design:type", Object)
], IgxTabsGroupComponent.prototype, "disabled", void 0);
__decorate([
Input(),
__metadata("design:type", String)
], IgxTabsGroupComponent.prototype, "icon", void 0);
__decorate([
Input(),
__metadata("design:type", String)
], IgxTabsGroupComponent.prototype, "label", void 0);
__decorate([
ContentChild(IgxTabItemTemplateDirective, { read: IgxTabItemTemplateDirective }),
__metadata("design:type", IgxTabItemTemplateDirective)
], IgxTabsGroupComponent.prototype, "tabTemplate", void 0);
__decorate([
HostBinding('attr.role'),
__metadata("design:type", Object)
], IgxTabsGroupComponent.prototype, "role", void 0);
__decorate([
HostBinding('class.igx-tabs__group'),
__metadata("design:type", Object)
], IgxTabsGroupComponent.prototype, "styleClass", void 0);
IgxTabsGroupComponent = __decorate([
Component({
selector: 'igx-tabs-group',
template: "<ng-content *ngIf=\"isSelected\"></ng-content>\n"
}),
__metadata("design:paramtypes", [IgxTabsBase, ElementRef])
], IgxTabsGroupComponent);
export { IgxTabsGroupComponent };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy1ncm91cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9pZ25pdGV1aS1hbmd1bGFyLyIsInNvdXJjZXMiOlsibGliL3RhYnMvdGFicy1ncm91cC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCxnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ2hCLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsRUFDWCxLQUFLLEVBQ0wsV0FBVyxFQUNYLFlBQVksRUFDZixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBTzlELElBQWEscUJBQXFCLEdBQWxDLE1BQWEscUJBQXNCLFNBQVEsZ0JBQWdCO0lBMER2RCxZQUFvQixLQUFrQixFQUFVLFFBQW9CO1FBQ2hFLEtBQUssRUFBRSxDQUFDO1FBRFEsVUFBSyxHQUFMLEtBQUssQ0FBYTtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVk7UUF4RHBFOzs7OztVQUtFO1FBRUssYUFBUSxHQUFHLEtBQUssQ0FBQztRQStDaEIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFNNUI7O1dBRUc7UUFFSSxTQUFJLEdBQUcsVUFBVSxDQUFDO1FBRXpCOztXQUVHO1FBRUksZUFBVSxHQUFHLElBQUksQ0FBQztJQVp6QixDQUFDO0lBOUJEOzs7Ozs7Ozs7T0FTRztJQUNILElBQVcsVUFBVTtRQUNqQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUNELElBQVcsVUFBVSxDQUFDLFFBQWlCO1FBQ25DLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssUUFBUSxFQUFFO1lBQ2hELElBQUksQ0FBQyxLQUFLLENBQUMsc0JBQXNCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN4RTtJQUNMLENBQUM7SUEyQkQ7Ozs7Ozs7OztPQVNHO0lBQ0gsSUFBSSxVQUFVO1FBQ1YsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRTtZQUNqQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQXdCLENBQUM7U0FDdkU7SUFDTCxDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0gsSUFBSSxLQUFLO1FBQ0wsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRTtZQUNuQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNwRDtRQUNELE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDZCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLGlCQUFpQjtRQUNqQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDN0IsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxpQkFBaUIsQ0FBQyxRQUEwQjtRQUM1QyxJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxrQkFBa0I7UUFDckIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUM7U0FDakQ7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxrQkFBa0I7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLGlCQUFpQixFQUFFLGdCQUFnQixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUMxRixJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLG1CQUFtQixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNwRixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7T0FVRztJQUNJLE1BQU07UUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDcEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDdEQ7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxtQkFBbUIsQ0FBQyxRQUFpQjtRQUN4QyxJQUFJLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQztJQUNoQyxDQUFDO0NBRUosQ0FBQTs7WUF4RzhCLFdBQVc7WUFBb0IsVUFBVTs7QUFqRHBFO0lBREMsS0FBSyxFQUFFOzt1REFDZ0I7QUFVeEI7SUFEQyxLQUFLLEVBQUU7O21EQUNZO0FBU3BCO0lBREMsS0FBSyxFQUFFOztvREFDYTtBQXlCckI7SUFEQyxZQUFZLENBQUMsMkJBQTJCLEVBQUUsRUFBRSxJQUFJLEVBQUUsMkJBQTJCLEVBQUUsQ0FBQzs4QkFDMUQsMkJBQTJCOzBEQUFDO0FBYW5EO0lBREMsV0FBVyxDQUFDLFdBQVcsQ0FBQzs7bURBQ0E7QUFNekI7SUFEQyxXQUFXLENBQUMsdUJBQXVCLENBQUM7O3lEQUNaO0FBeEVoQixxQkFBcUI7SUFMakMsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLGdCQUFnQjtRQUMxQiw0REFBd0M7S0FDM0MsQ0FBQztxQ0E0RDZCLFdBQVcsRUFBb0IsVUFBVTtHQTFEM0QscUJBQXFCLENBa0tqQztTQWxLWSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQWZ0ZXJWaWV3Q2hlY2tlZCxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgSG9zdExpc3RlbmVyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBJZ3hUYWJJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi90YWItaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSWd4VGFiSXRlbVRlbXBsYXRlRGlyZWN0aXZlIH0gZnJvbSAnLi90YWJzLmRpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgSWd4VGFic0Jhc2UsIElneFRhYnNHcm91cEJhc2UgfSBmcm9tICcuL3RhYnMuY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdpZ3gtdGFicy1ncm91cCcsXG4gICAgdGVtcGxhdGVVcmw6ICd0YWJzLWdyb3VwLmNvbXBvbmVudC5odG1sJ1xufSlcblxuZXhwb3J0IGNsYXNzIElneFRhYnNHcm91cENvbXBvbmVudCBleHRlbmRzIElneFRhYnNHcm91cEJhc2UgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBBZnRlclZpZXdDaGVja2VkIHtcblxuICAgIC8qKlxuICAgICogQW4gQElucHV0IHByb3BlcnR5IHRoYXQgYWxsb3dzIHlvdSB0byBlbmFibGUvZGlzYWJsZSB0aGUgYElneFRhYkdyb3VwQ29tcG9uZW50YC5cbiAgICAqYGBgaHRtbFxuICAgICo8aWd4LXRhYnMtZ3JvdXAgbGFiZWw9XCJUYWIgMiAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0XCIgaWNvbj1cImhvbWVcIiBbZGlzYWJsZWRdPVwidHJ1ZVwiPlxuICAgICpgYGBcbiAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAqIEFuIEBJbnB1dCBwcm9wZXJ0eSB0aGF0IHNldHMgdGhlIHZhbHVlIG9mIHRoZSBgaWNvbmAuXG4gICAgKiBUaGUgdmFsdWUgc2hvdWxkIGJlIHZhbGlkIGljb24gbmFtZSBmcm9tIHtAbGluayBodHRwczovL21hdGVyaWFsLmlvL3Rvb2xzL2ljb25zLz9zdHlsZT1iYXNlbGluZX0uXG4gICAgKmBgYGh0bWxcbiAgICAqPGlneC10YWJzLWdyb3VwIGxhYmVsPVwiVGFiIDFcIiBpY29uPVwiaG9tZVwiPlxuICAgICpgYGBcbiAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGljb246IHN0cmluZztcblxuICAgIC8qKlxuICAgICogQW4gQElucHV0IHByb3BlcnR5IHRoYXQgc2V0cyB0aGUgdmFsdWUgb2YgdGhlIGBsYWJlbGAuXG4gICAgKmBgYGh0bWxcbiAgICAqPGlneC10YWJzLWdyb3VwIGxhYmVsPVwiVGFiIDFcIiBpY29uPVwiZm9sZGVyXCI+XG4gICAgKmBgYFxuICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbGFiZWw6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFNldHMvZ2V0cyB3aGV0aGVyIGEgdGFiIGdyb3VwIGlzIHNlbGVjdGVkLlxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiB0aGlzLnRhYkdyb3VwLmlzU2VsZWN0ZWQgPSB0cnVlO1xuICAgICAqIGBgYFxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiBsZXQgaXNTZWxlY3RlZCA9IHRoaXMudGFiR3JvdXAuaXNTZWxlY3RlZDtcbiAgICAgKiBgYGBcbiAgICAgKiBAbWVtYmVyb2YgSWd4VGFic0dyb3VwQ29tcG9uZW50XG4gICAgICovXG4gICAgcHVibGljIGdldCBpc1NlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNTZWxlY3RlZDtcbiAgICB9XG4gICAgcHVibGljIHNldCBpc1NlbGVjdGVkKG5ld1ZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIGlmICghdGhpcy5kaXNhYmxlZCAmJiB0aGlzLmlzU2VsZWN0ZWQgIT09IG5ld1ZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLl90YWJzLnBlcmZvcm1TZWxlY3Rpb25DaGFuZ2UobmV3VmFsdWUgPyB0aGlzLnJlbGF0ZWRUYWIgOiBudWxsKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKElneFRhYkl0ZW1UZW1wbGF0ZURpcmVjdGl2ZSwgeyByZWFkOiBJZ3hUYWJJdGVtVGVtcGxhdGVEaXJlY3RpdmUgfSlcbiAgICBwcm90ZWN0ZWQgdGFiVGVtcGxhdGU6IElneFRhYkl0ZW1UZW1wbGF0ZURpcmVjdGl2ZTtcblxuICAgIHByaXZhdGUgX3RhYlRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIHByaXZhdGUgX2lzU2VsZWN0ZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX3RhYnM6IElneFRhYnNCYXNlLCBwcml2YXRlIF9lbGVtZW50OiBFbGVtZW50UmVmKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJylcbiAgICBwdWJsaWMgcm9sZSA9ICd0YWJwYW5lbCc7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtdGFic19fZ3JvdXAnKVxuICAgIHB1YmxpYyBzdHlsZUNsYXNzID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIEFuIGFjY2Vzc29yIHRoYXQgcmV0dXJucyB0aGUgYElneFRhYkl0ZW1Db21wb25lbnRgIGNvbXBvbmVudC5cbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogQFZpZXdDaGlsZChcIk15VGFic0dyb3VwXCIpXG4gICAgICogcHVibGljIHRhYjogSWd4VGFic0dyb3VwQ29tcG9uZW50O1xuICAgICAqIG5nQWZ0ZXJWaWV3SW5JdCgpe1xuICAgICAqICAgIGxldCB0YWJDb21wb25lbnQgPSB0aGlzLnRhYi5yZWxhdGVkVGFiO1xuICAgICAqIH1cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBnZXQgcmVsYXRlZFRhYigpOiBJZ3hUYWJJdGVtQ29tcG9uZW50IHtcbiAgICAgICAgaWYgKHRoaXMuX3RhYnMudGFicykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3RhYnMudGFicy50b0FycmF5KClbdGhpcy5pbmRleF0gYXMgSWd4VGFiSXRlbUNvbXBvbmVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFuIGFjY2Vzc29yIHRoYXQgcmV0dXJucyB0aGUgdmFsdWUgb2YgdGhlIGluZGV4IG9mIHRoZSBgSWd4VGFic0dyb3VwQ29tcG9uZW50YC5cbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogQFZpZXdDaGlsZChcIk15VGFic0dyb3VwXCIpXG4gICAgICogcHVibGljIHRhYjogSWd4VGFic0dyb3VwQ29tcG9uZW50O1xuICAgICAqIG5nQWZ0ZXJWaWV3SW5JdCgpe1xuICAgICAqICAgIGxldCB0YWJJbmRleCA9IHRoaXMudGFiLmluZGV4O1xuICAgICAqIH1cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBnZXQgaW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKHRoaXMuX3RhYnMuZ3JvdXBzKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fdGFicy5ncm91cHMudG9BcnJheSgpLmluZGV4T2YodGhpcyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIC0xO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBnZXQgY3VzdG9tVGFiVGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl90YWJUZW1wbGF0ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKkBoaWRkZW5cbiAgICAgKi9cbiAgICBzZXQgY3VzdG9tVGFiVGVtcGxhdGUodGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4pIHtcbiAgICAgICAgdGhpcy5fdGFiVGVtcGxhdGUgPSB0ZW1wbGF0ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHVibGljIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMudGFiVGVtcGxhdGUpIHtcbiAgICAgICAgICAgIHRoaXMuX3RhYlRlbXBsYXRlID0gdGhpcy50YWJUZW1wbGF0ZS50ZW1wbGF0ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwdWJsaWMgbmdBZnRlclZpZXdDaGVja2VkKCkge1xuICAgICAgICB0aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsbGVkYnknLCBgaWd4LXRhYi1pdGVtLSR7dGhpcy5pbmRleH1gKTtcbiAgICAgICAgdGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgnaWQnLCBgaWd4LXRhYnNfX2dyb3VwLSR7dGhpcy5pbmRleH1gKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBIG1ldGhvZCB0aGF0IHNldHMgdGhlIGZvY3VzIG9uIGEgdGFiLlxuICAgICAqIEBtZW1iZXJvZiB7QGxpbmsgSWd4VGFic0dyb3VwQ29tcG9uZW50fVxuICAgICAqYGBgdHlwZXNjcmlwdFxuICAgICAqQFZpZXdDaGlsZChcIk15Q2hpbGRcIilcbiAgICAgKnB1YmxpYyB0YWIgOiBJZ3hUYWJzR3JvdXBDb21wb25lbnQ7XG4gICAgICpuZ0FmdGVyVmlld0luaXQoKXtcbiAgICAgKiAgICB0aGlzLnRhYi5zZWxlY3QoKTtcbiAgICAgKn1cbiAgICAgKmBgYFxuICAgICAqL1xuICAgIHB1YmxpYyBzZWxlY3QoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5kaXNhYmxlZCAmJiAhdGhpcy5pc1NlbGVjdGVkKSB7XG4gICAgICAgICAgICB0aGlzLl90YWJzLnBlcmZvcm1TZWxlY3Rpb25DaGFuZ2UodGhpcy5yZWxhdGVkVGFiKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0U2VsZWN0ZWRJbnRlcm5hbChuZXdWYWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9pc1NlbGVjdGVkID0gbmV3VmFsdWU7XG4gICAgfVxuXG59XG4iXX0=