UNPKG

@netgrif/components

Version:

Netgrif Application Engine frontend Angular components

95 lines 16.9 kB
import { Component, Inject, Optional, ViewChild } from '@angular/core'; import { AbstractTaskViewComponent, AllowedNetsService, AllowedNetsServiceFactory, CategoryFactory, ChangedFieldsService, DATA_FIELD_PORTAL_DATA, NAE_ASYNC_RENDERING_CONFIGURATION, NAE_CLICKABLE_TASKS, NAE_DATAFIELD_ALLOWED_NETS, NAE_DEFAULT_HEADERS, NAE_TASK_FORCE_OPEN, SearchService, TaskViewService, ViewIdService } from "@netgrif/components-core"; import * as i0 from "@angular/core"; import * as i1 from "@netgrif/components-core"; import * as i2 from "@ngbracket/ngx-layout"; import * as i3 from "../../../../../header/header.component"; import * as i4 from "../../../../../view/task-view/task-panel-list-pagination/task-list-pagination.component"; const localAllowedNetsFactory = (factory, allowedNets) => { if (allowedNets?.length > 0) { return factory.createFromArray(allowedNets); } else { return factory.createWithAllNets(); } }; export class DefaultTaskViewComponent extends AbstractTaskViewComponent { _dataFieldPortalData; clickableTasks; _taskHeaders; taskHeaderComponent; taskHeadersCount; constructor(taskViewService, _dataFieldPortalData, clickableTasks = true, _taskHeaders) { super(taskViewService); this._dataFieldPortalData = _dataFieldPortalData; this.clickableTasks = clickableTasks; this._taskHeaders = _taskHeaders; this.taskHeadersCount = this._taskHeaders?.length; } disabled() { return this._dataFieldPortalData?.dataField?.formControlRef?.disabled; } ngAfterViewInit() { this.initializeHeader(this.taskHeaderComponent); } logEvent(event) { console.log(event); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DefaultTaskViewComponent, deps: [{ token: i1.TaskViewService }, { token: DATA_FIELD_PORTAL_DATA, optional: true }, { token: NAE_CLICKABLE_TASKS, optional: true }, { token: NAE_DEFAULT_HEADERS, optional: true }], target: i0.ɵɵFactoryTarget.Component }); static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DefaultTaskViewComponent, selector: "nc-default-task-view", providers: [ CategoryFactory, TaskViewService, SearchService, ChangedFieldsService, { provide: AllowedNetsService, useFactory: localAllowedNetsFactory, deps: [AllowedNetsServiceFactory, NAE_DATAFIELD_ALLOWED_NETS] }, { provide: NAE_TASK_FORCE_OPEN, useValue: false }, ViewIdService, { provide: NAE_ASYNC_RENDERING_CONFIGURATION, useValue: { enableAsyncRenderingForNewFields: false, enableAsyncRenderingOnTaskExpand: false } } ], viewQueries: [{ propertyName: "taskHeaderComponent", first: true, predicate: ["header"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"task-tab-background full-height\">\n <div fxLayout=\"column\" fxLayoutAlign=\"start stretch\" class=\"content-margin full-height\" >\n <nc-header #header type=\"task\" [responsiveHeaders]=\"true\" class=\"task-panel-padding-mini\" [maxHeaderColumns]=\"taskHeadersCount\"></nc-header>\n <nc-task-list-pagination [allowMultiOpen]=\"false\" [tasks$]=\"tasks$\" [loading$]=\"loading$\" [textEllipsis]=\"true\" [forceLoadDataOnOpen]=\"true\" [responsiveBody]=\"true\"\n [selectedHeaders$]=\"selectedHeaders$\" (taskEvent)=\"logEvent($event)\" fxFlex [disabled]=\"disabled()\" [preventExpand]=\"!clickableTasks\"></nc-task-list-pagination>\n </div>\n</div>\n", styles: [".task-tab-background{height:100%;width:100%;overflow:auto;background-color:transparent}.search-panel{margin-top:16px;padding:8px 16px}.content-margin{margin:8px 24px 0}@media screen and (max-width: 599.99px){.content-margin{margin:8px 12px 0}}.task-panel-padding-mini{padding-top:16px;padding-left:1px;padding-right:1px}.full-height{height:calc(100% - 8px)}.search-width{width:100%}\n"], dependencies: [{ kind: "directive", type: i2.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i2.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i3.HeaderComponent, selector: "nc-header" }, { kind: "component", type: i4.TaskListPaginationComponent, selector: "nc-task-list-pagination" }] }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DefaultTaskViewComponent, decorators: [{ type: Component, args: [{ selector: 'nc-default-task-view', providers: [ CategoryFactory, TaskViewService, SearchService, ChangedFieldsService, { provide: AllowedNetsService, useFactory: localAllowedNetsFactory, deps: [AllowedNetsServiceFactory, NAE_DATAFIELD_ALLOWED_NETS] }, { provide: NAE_TASK_FORCE_OPEN, useValue: false }, ViewIdService, { provide: NAE_ASYNC_RENDERING_CONFIGURATION, useValue: { enableAsyncRenderingForNewFields: false, enableAsyncRenderingOnTaskExpand: false } } ], template: "<div class=\"task-tab-background full-height\">\n <div fxLayout=\"column\" fxLayoutAlign=\"start stretch\" class=\"content-margin full-height\" >\n <nc-header #header type=\"task\" [responsiveHeaders]=\"true\" class=\"task-panel-padding-mini\" [maxHeaderColumns]=\"taskHeadersCount\"></nc-header>\n <nc-task-list-pagination [allowMultiOpen]=\"false\" [tasks$]=\"tasks$\" [loading$]=\"loading$\" [textEllipsis]=\"true\" [forceLoadDataOnOpen]=\"true\" [responsiveBody]=\"true\"\n [selectedHeaders$]=\"selectedHeaders$\" (taskEvent)=\"logEvent($event)\" fxFlex [disabled]=\"disabled()\" [preventExpand]=\"!clickableTasks\"></nc-task-list-pagination>\n </div>\n</div>\n", styles: [".task-tab-background{height:100%;width:100%;overflow:auto;background-color:transparent}.search-panel{margin-top:16px;padding:8px 16px}.content-margin{margin:8px 24px 0}@media screen and (max-width: 599.99px){.content-margin{margin:8px 12px 0}}.task-panel-padding-mini{padding-top:16px;padding-left:1px;padding-right:1px}.full-height{height:calc(100% - 8px)}.search-width{width:100%}\n"] }] }], ctorParameters: () => [{ type: i1.TaskViewService }, { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [DATA_FIELD_PORTAL_DATA] }] }, { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [NAE_CLICKABLE_TASKS] }] }, { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [NAE_DEFAULT_HEADERS] }] }], propDecorators: { taskHeaderComponent: [{ type: ViewChild, args: ['header'] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC10YXNrLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzL3NyYy9saWIvbmF2aWdhdGlvbi9ncm91cC1uYXZpZ2F0aW9uLWNvbXBvbmVudC1yZXNvbHZlci9kZWZhdWx0LWNvbXBvbmVudHMvcmVmcy9kZWZhdWx0LXRhc2stdmlldy9kZWZhdWx0LXRhc2stdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMvc3JjL2xpYi9uYXZpZ2F0aW9uL2dyb3VwLW5hdmlnYXRpb24tY29tcG9uZW50LXJlc29sdmVyL2RlZmF1bHQtY29tcG9uZW50cy9yZWZzL2RlZmF1bHQtdGFzay12aWV3L2RlZmF1bHQtdGFzay12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFDSCx5QkFBeUIsRUFDekIsa0JBQWtCLEVBQ2xCLHlCQUF5QixFQUN6QixlQUFlLEVBQ2Ysb0JBQW9CLEVBQ3BCLHNCQUFzQixFQUV0QixpQ0FBaUMsRUFBRSxtQkFBbUIsRUFBRSwwQkFBMEIsRUFDbEYsbUJBQW1CLEVBQ25CLG1CQUFtQixFQUNuQixhQUFhLEVBR2IsZUFBZSxFQUFFLGFBQWEsRUFDakMsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7O0FBR2xDLE1BQU0sdUJBQXVCLEdBQUcsQ0FBQyxPQUFrQyxFQUFFLFdBQTBCLEVBQUUsRUFBRTtJQUMvRixJQUFJLFdBQVcsRUFBRSxNQUFNLEdBQUcsQ0FBQyxFQUFFO1FBQ3pCLE9BQU8sT0FBTyxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQztLQUMvQztTQUFNO1FBQ0gsT0FBTyxPQUFPLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztLQUN0QztBQUNMLENBQUMsQ0FBQztBQXdCRixNQUFNLE9BQU8sd0JBQXlCLFNBQVEseUJBQXlCO0lBTUQ7SUFDTjtJQUNHO0lBTm5DLG1CQUFtQixDQUFrQjtJQUMxRCxnQkFBZ0IsQ0FBQztJQUV4QixZQUFZLGVBQWdDLEVBQ3NCLG9CQUF1RCxFQUM3RCxpQkFBMEIsSUFBSSxFQUMzQixZQUFzQjtRQUNqRixLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7UUFIdUMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFtQztRQUM3RCxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDM0IsaUJBQVksR0FBWixZQUFZLENBQVU7UUFFakYsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDO0lBQ3RELENBQUM7SUFFTSxRQUFRO1FBQ1gsT0FBTyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxRQUFRLENBQUM7SUFDMUUsQ0FBQztJQUVELGVBQWU7UUFDWCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUE0QjtRQUNqQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7d0dBdkJRLHdCQUF3QixpREFNRCxzQkFBc0IsNkJBQ3RCLG1CQUFtQiw2QkFDbkIsbUJBQW1COzRGQVIxQyx3QkFBd0IsK0NBbEJ0QjtZQUNQLGVBQWU7WUFDZixlQUFlO1lBQ2YsYUFBYTtZQUNiLG9CQUFvQjtZQUNwQjtnQkFDSSxPQUFPLEVBQUUsa0JBQWtCO2dCQUMzQixVQUFVLEVBQUUsdUJBQXVCO2dCQUNuQyxJQUFJLEVBQUUsQ0FBQyx5QkFBeUIsRUFBRSwwQkFBMEIsQ0FBQzthQUNoRTtZQUNELEVBQUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUM7WUFDL0MsYUFBYTtZQUNiO2dCQUNJLE9BQU8sRUFBRSxpQ0FBaUM7Z0JBQzFDLFFBQVEsRUFBRSxFQUFDLGdDQUFnQyxFQUFFLEtBQUssRUFBRSxnQ0FBZ0MsRUFBRSxLQUFLLEVBQUM7YUFDL0Y7U0FDSixnS0MvQ0wsK3NCQU9BOzs0RkQwQ2Esd0JBQXdCO2tCQXRCcEMsU0FBUzsrQkFDSSxzQkFBc0IsYUFHckI7d0JBQ1AsZUFBZTt3QkFDZixlQUFlO3dCQUNmLGFBQWE7d0JBQ2Isb0JBQW9CO3dCQUNwQjs0QkFDSSxPQUFPLEVBQUUsa0JBQWtCOzRCQUMzQixVQUFVLEVBQUUsdUJBQXVCOzRCQUNuQyxJQUFJLEVBQUUsQ0FBQyx5QkFBeUIsRUFBRSwwQkFBMEIsQ0FBQzt5QkFDaEU7d0JBQ0QsRUFBQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBQzt3QkFDL0MsYUFBYTt3QkFDYjs0QkFDSSxPQUFPLEVBQUUsaUNBQWlDOzRCQUMxQyxRQUFRLEVBQUUsRUFBQyxnQ0FBZ0MsRUFBRSxLQUFLLEVBQUUsZ0NBQWdDLEVBQUUsS0FBSyxFQUFDO3lCQUMvRjtxQkFDSjs7MEJBUVksUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxzQkFBc0I7OzBCQUN6QyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLG1CQUFtQjs7MEJBQ3RDLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsbUJBQW1CO3lDQU52QixtQkFBbUI7c0JBQTlDLFNBQVM7dUJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBJbmplY3QsIE9wdGlvbmFsLCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdFRhc2tWaWV3Q29tcG9uZW50LFxuICAgIEFsbG93ZWROZXRzU2VydmljZSxcbiAgICBBbGxvd2VkTmV0c1NlcnZpY2VGYWN0b3J5LFxuICAgIENhdGVnb3J5RmFjdG9yeSxcbiAgICBDaGFuZ2VkRmllbGRzU2VydmljZSxcbiAgICBEQVRBX0ZJRUxEX1BPUlRBTF9EQVRBLFxuICAgIERhdGFGaWVsZFBvcnRhbERhdGEsXG4gICAgTkFFX0FTWU5DX1JFTkRFUklOR19DT05GSUdVUkFUSU9OLCBOQUVfQ0xJQ0tBQkxFX1RBU0tTLCBOQUVfREFUQUZJRUxEX0FMTE9XRURfTkVUUyxcbiAgICBOQUVfREVGQVVMVF9IRUFERVJTLFxuICAgIE5BRV9UQVNLX0ZPUkNFX09QRU4sXG4gICAgU2VhcmNoU2VydmljZSxcbiAgICBUYXNrRXZlbnROb3RpZmljYXRpb24sXG4gICAgVGFza1JlZkZpZWxkLFxuICAgIFRhc2tWaWV3U2VydmljZSwgVmlld0lkU2VydmljZVxufSBmcm9tIFwiQG5ldGdyaWYvY29tcG9uZW50cy1jb3JlXCI7XG5pbXBvcnQge0hlYWRlckNvbXBvbmVudH0gZnJvbSBcIi4uLy4uLy4uLy4uLy4uL2hlYWRlci9oZWFkZXIuY29tcG9uZW50XCI7XG5cbmNvbnN0IGxvY2FsQWxsb3dlZE5ldHNGYWN0b3J5ID0gKGZhY3Rvcnk6IEFsbG93ZWROZXRzU2VydmljZUZhY3RvcnksIGFsbG93ZWROZXRzOiBBcnJheTxzdHJpbmc+KSA9PiB7XG4gICAgaWYgKGFsbG93ZWROZXRzPy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHJldHVybiBmYWN0b3J5LmNyZWF0ZUZyb21BcnJheShhbGxvd2VkTmV0cyk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGZhY3RvcnkuY3JlYXRlV2l0aEFsbE5ldHMoKTtcbiAgICB9XG59O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25jLWRlZmF1bHQtdGFzay12aWV3JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZGVmYXVsdC10YXNrLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2RlZmF1bHQtdGFzay12aWV3LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIENhdGVnb3J5RmFjdG9yeSxcbiAgICAgICAgVGFza1ZpZXdTZXJ2aWNlLFxuICAgICAgICBTZWFyY2hTZXJ2aWNlLFxuICAgICAgICBDaGFuZ2VkRmllbGRzU2VydmljZSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogQWxsb3dlZE5ldHNTZXJ2aWNlLFxuICAgICAgICAgICAgdXNlRmFjdG9yeTogbG9jYWxBbGxvd2VkTmV0c0ZhY3RvcnksXG4gICAgICAgICAgICBkZXBzOiBbQWxsb3dlZE5ldHNTZXJ2aWNlRmFjdG9yeSwgTkFFX0RBVEFGSUVMRF9BTExPV0VEX05FVFNdXG4gICAgICAgIH0sXG4gICAgICAgIHtwcm92aWRlOiBOQUVfVEFTS19GT1JDRV9PUEVOLCB1c2VWYWx1ZTogZmFsc2V9LFxuICAgICAgICBWaWV3SWRTZXJ2aWNlLFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOQUVfQVNZTkNfUkVOREVSSU5HX0NPTkZJR1VSQVRJT04sXG4gICAgICAgICAgICB1c2VWYWx1ZToge2VuYWJsZUFzeW5jUmVuZGVyaW5nRm9yTmV3RmllbGRzOiBmYWxzZSwgZW5hYmxlQXN5bmNSZW5kZXJpbmdPblRhc2tFeHBhbmQ6IGZhbHNlfVxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBEZWZhdWx0VGFza1ZpZXdDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdFRhc2tWaWV3Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgICBAVmlld0NoaWxkKCdoZWFkZXInKSBwdWJsaWMgdGFza0hlYWRlckNvbXBvbmVudDogSGVhZGVyQ29tcG9uZW50O1xuICAgIHB1YmxpYyB0YXNrSGVhZGVyc0NvdW50O1xuXG4gICAgY29uc3RydWN0b3IodGFza1ZpZXdTZXJ2aWNlOiBUYXNrVmlld1NlcnZpY2UsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChEQVRBX0ZJRUxEX1BPUlRBTF9EQVRBKSBwcm90ZWN0ZWQgX2RhdGFGaWVsZFBvcnRhbERhdGE6IERhdGFGaWVsZFBvcnRhbERhdGE8VGFza1JlZkZpZWxkPixcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE5BRV9DTElDS0FCTEVfVEFTS1MpIHB1YmxpYyBjbGlja2FibGVUYXNrczogYm9vbGVhbiA9IHRydWUsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChOQUVfREVGQVVMVF9IRUFERVJTKSBwcm90ZWN0ZWQgX3Rhc2tIZWFkZXJzOiBzdHJpbmdbXSkge1xuICAgICAgICBzdXBlcih0YXNrVmlld1NlcnZpY2UpO1xuICAgICAgICB0aGlzLnRhc2tIZWFkZXJzQ291bnQgPSB0aGlzLl90YXNrSGVhZGVycz8ubGVuZ3RoO1xuICAgIH1cblxuICAgIHB1YmxpYyBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGFGaWVsZFBvcnRhbERhdGE/LmRhdGFGaWVsZD8uZm9ybUNvbnRyb2xSZWY/LmRpc2FibGVkO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplSGVhZGVyKHRoaXMudGFza0hlYWRlckNvbXBvbmVudCk7XG4gICAgfVxuXG4gICAgbG9nRXZlbnQoZXZlbnQ6IFRhc2tFdmVudE5vdGlmaWNhdGlvbikge1xuICAgICAgICBjb25zb2xlLmxvZyhldmVudCk7XG4gICAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwidGFzay10YWItYmFja2dyb3VuZCBmdWxsLWhlaWdodFwiPlxuICAgIDxkaXYgZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeExheW91dEFsaWduPVwic3RhcnQgc3RyZXRjaFwiIGNsYXNzPVwiY29udGVudC1tYXJnaW4gZnVsbC1oZWlnaHRcIiA+XG4gICAgICAgIDxuYy1oZWFkZXIgI2hlYWRlciB0eXBlPVwidGFza1wiIFtyZXNwb25zaXZlSGVhZGVyc109XCJ0cnVlXCIgY2xhc3M9XCJ0YXNrLXBhbmVsLXBhZGRpbmctbWluaVwiIFttYXhIZWFkZXJDb2x1bW5zXT1cInRhc2tIZWFkZXJzQ291bnRcIj48L25jLWhlYWRlcj5cbiAgICAgICAgPG5jLXRhc2stbGlzdC1wYWdpbmF0aW9uIFthbGxvd011bHRpT3Blbl09XCJmYWxzZVwiIFt0YXNrcyRdPVwidGFza3MkXCIgW2xvYWRpbmckXT1cImxvYWRpbmckXCIgW3RleHRFbGxpcHNpc109XCJ0cnVlXCIgW2ZvcmNlTG9hZERhdGFPbk9wZW5dPVwidHJ1ZVwiIFtyZXNwb25zaXZlQm9keV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZEhlYWRlcnMkXT1cInNlbGVjdGVkSGVhZGVycyRcIiAodGFza0V2ZW50KT1cImxvZ0V2ZW50KCRldmVudClcIiBmeEZsZXggW2Rpc2FibGVkXT1cImRpc2FibGVkKClcIiBbcHJldmVudEV4cGFuZF09XCIhY2xpY2thYmxlVGFza3NcIj48L25jLXRhc2stbGlzdC1wYWdpbmF0aW9uPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=