UNPKG

@catull/igniteui-angular

Version:

Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps

162 lines 14.5 kB
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=