UNPKG

@netgrif/components

Version:

Netgrif Application Engine frontend Angular components

70 lines 18.5 kB
import { Component, Inject, Optional, ViewChild } from '@angular/core'; import { AbstractTabbedCaseViewComponent, AllowedNetsService, AllowedNetsServiceFactory, CaseViewService, CategoryFactory, CategoryResolverService, NAE_DEFAULT_CASE_SEARCH_CATEGORIES, NAE_DEFAULT_TASK_SEARCH_CATEGORIES, NAE_NEW_CASE_CONFIGURATION, NAE_NEW_CASE_CREATION_CONFIGURATION_DATA, NAE_SEARCH_CATEGORIES, NAE_TAB_DATA, OverflowService, SearchService, ViewIdService } from '@netgrif/components-core'; import { searchCategoryConverter } from '../../search/search-component/search.component'; import * as i0 from "@angular/core"; import * as i1 from "@netgrif/components-core"; import * as i2 from "@angular/common"; import * as i3 from "@ngbracket/ngx-layout"; import * as i4 from "@ngbracket/ngx-layout/extended"; import * as i5 from "../../view/case-view/components/case-list/case-list.component"; import * as i6 from "../../header/header.component"; export const newCaseConfigFactory = () => { return { useCachedProcesses: false }; }; export function localAllowedNetsFactory(factory) { return factory.createWithAllNets(); } export class FilterFieldTabbedCaseViewComponent extends AbstractTabbedCaseViewComponent { _newCaseCreationConfig; caseHeaderComponent; constructor(caseViewService, loggerService, injectedTabData, _newCaseCreationConfig = { enableCaseTitle: true, isCaseTitleRequired: true }) { super(caseViewService, loggerService, injectedTabData, undefined, undefined, undefined, _newCaseCreationConfig); this._newCaseCreationConfig = _newCaseCreationConfig; } ngAfterViewInit() { super.initializeHeader(this.caseHeaderComponent); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FilterFieldTabbedCaseViewComponent, deps: [{ token: i1.CaseViewService }, { token: i1.LoggerService }, { token: NAE_TAB_DATA }, { token: NAE_NEW_CASE_CREATION_CONFIGURATION_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Component }); static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FilterFieldTabbedCaseViewComponent, selector: "nc-filter-field-tabbed-case-view", providers: [ CategoryFactory, CaseViewService, SearchService, OverflowService, ViewIdService, { provide: AllowedNetsService, useFactory: localAllowedNetsFactory, deps: [AllowedNetsServiceFactory] }, { provide: NAE_SEARCH_CATEGORIES, useFactory: searchCategoryConverter, deps: [CategoryResolverService, NAE_TAB_DATA, NAE_DEFAULT_CASE_SEARCH_CATEGORIES, NAE_DEFAULT_TASK_SEARCH_CATEGORIES] }, { provide: NAE_NEW_CASE_CONFIGURATION, useFactory: newCaseConfigFactory, deps: [NAE_TAB_DATA] } ], viewQueries: [{ propertyName: "caseHeaderComponent", first: true, predicate: ["header"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"case-view-container min-height-custom\" fxLayout=\"column\" fxLayoutAlign=\"start stretch\">\n <div class=\"full-height transform-div custom-scrollbar\" [ngClass]=\"{'overflow-div': getOverflowStatus()}\" fxLayout=\"column\" fxLayoutAlign=\"start stretch\">\n <div class=\"full-height transform-div max-width-fix\" fxLayout=\"column\" fxLayoutAlign=\"start stretch\">\n <nc-header #header [type]=\"headerType\" [maxHeaderColumns]=\"7\" [responsiveHeaders]=\"true\" class=\"case-header-padding\" [ngStyle]=\"{'width': getWidth()}\"></nc-header>\n\n <nc-case-list [selectedHeaders$]=\"selectedHeaders$\" [showDeleteMenu]=\"true\" [width]=\"getWidth()\"\n (caseClick)=\"handleCaseClick($event)\" [responsiveBody]=\"true\" fxFlex [textEllipsis]=\"true\" [redirectEnabled]=\"true\"></nc-case-list>\n </div>\n </div>\n</div>\n", styles: [".case-view-container{margin:8px;height:calc(100% - 16px);overflow:auto}.case-view-search-container{padding:8px}.case-header-padding{padding-bottom:8px;padding-top:8px}.font-size-20{font-size:20px}.search-width{width:100%}.full-height{height:100%}.overflow-div{overflow-x:scroll}.transform-div{transform:rotateX(180deg);-ms-transform:rotateX(180deg);-webkit-transform:rotateX(180deg)}.custom-scrollbar::-webkit-scrollbar{width:15px;height:15px;cursor:pointer}.max-width-fix{max-width:calc(100% - 8px)!important}.min-height-custom{min-height:400px;height:400px}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.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: i3.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: i3.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: "directive", type: i4.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "directive", type: i4.DefaultStyleDirective, selector: " [ngStyle], [ngStyle.xs], [ngStyle.sm], [ngStyle.md], [ngStyle.lg], [ngStyle.xl], [ngStyle.lt-sm], [ngStyle.lt-md], [ngStyle.lt-lg], [ngStyle.lt-xl], [ngStyle.gt-xs], [ngStyle.gt-sm], [ngStyle.gt-md], [ngStyle.gt-lg]", inputs: ["ngStyle", "ngStyle.xs", "ngStyle.sm", "ngStyle.md", "ngStyle.lg", "ngStyle.xl", "ngStyle.lt-sm", "ngStyle.lt-md", "ngStyle.lt-lg", "ngStyle.lt-xl", "ngStyle.gt-xs", "ngStyle.gt-sm", "ngStyle.gt-md", "ngStyle.gt-lg"] }, { kind: "component", type: i5.CaseListComponent, selector: "nc-case-list" }, { kind: "component", type: i6.HeaderComponent, selector: "nc-header" }] }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FilterFieldTabbedCaseViewComponent, decorators: [{ type: Component, args: [{ selector: 'nc-filter-field-tabbed-case-view', providers: [ CategoryFactory, CaseViewService, SearchService, OverflowService, ViewIdService, { provide: AllowedNetsService, useFactory: localAllowedNetsFactory, deps: [AllowedNetsServiceFactory] }, { provide: NAE_SEARCH_CATEGORIES, useFactory: searchCategoryConverter, deps: [CategoryResolverService, NAE_TAB_DATA, NAE_DEFAULT_CASE_SEARCH_CATEGORIES, NAE_DEFAULT_TASK_SEARCH_CATEGORIES] }, { provide: NAE_NEW_CASE_CONFIGURATION, useFactory: newCaseConfigFactory, deps: [NAE_TAB_DATA] } ], template: "<div class=\"case-view-container min-height-custom\" fxLayout=\"column\" fxLayoutAlign=\"start stretch\">\n <div class=\"full-height transform-div custom-scrollbar\" [ngClass]=\"{'overflow-div': getOverflowStatus()}\" fxLayout=\"column\" fxLayoutAlign=\"start stretch\">\n <div class=\"full-height transform-div max-width-fix\" fxLayout=\"column\" fxLayoutAlign=\"start stretch\">\n <nc-header #header [type]=\"headerType\" [maxHeaderColumns]=\"7\" [responsiveHeaders]=\"true\" class=\"case-header-padding\" [ngStyle]=\"{'width': getWidth()}\"></nc-header>\n\n <nc-case-list [selectedHeaders$]=\"selectedHeaders$\" [showDeleteMenu]=\"true\" [width]=\"getWidth()\"\n (caseClick)=\"handleCaseClick($event)\" [responsiveBody]=\"true\" fxFlex [textEllipsis]=\"true\" [redirectEnabled]=\"true\"></nc-case-list>\n </div>\n </div>\n</div>\n", styles: [".case-view-container{margin:8px;height:calc(100% - 16px);overflow:auto}.case-view-search-container{padding:8px}.case-header-padding{padding-bottom:8px;padding-top:8px}.font-size-20{font-size:20px}.search-width{width:100%}.full-height{height:100%}.overflow-div{overflow-x:scroll}.transform-div{transform:rotateX(180deg);-ms-transform:rotateX(180deg);-webkit-transform:rotateX(180deg)}.custom-scrollbar::-webkit-scrollbar{width:15px;height:15px;cursor:pointer}.max-width-fix{max-width:calc(100% - 8px)!important}.min-height-custom{min-height:400px;height:400px}\n"] }] }], ctorParameters: () => [{ type: i1.CaseViewService }, { type: i1.LoggerService }, { type: undefined, decorators: [{ type: Inject, args: [NAE_TAB_DATA] }] }, { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [NAE_NEW_CASE_CREATION_CONFIGURATION_DATA] }] }], propDecorators: { caseHeaderComponent: [{ type: ViewChild, args: ['header'] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWZpZWxkLXRhYmJlZC1jYXNlLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzL3NyYy9saWIvZmlsdGVyLWZpZWxkLWNvbnRlbnQvZmlsdGVyLWZpZWxkLXRhYmJlZC1jYXNlLXZpZXcvZmlsdGVyLWZpZWxkLXRhYmJlZC1jYXNlLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzL3NyYy9saWIvZmlsdGVyLWZpZWxkLWNvbnRlbnQvZmlsdGVyLWZpZWxkLXRhYmJlZC1jYXNlLXZpZXcvZmlsdGVyLWZpZWxkLXRhYmJlZC1jYXNlLXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUNILCtCQUErQixFQUMvQixrQkFBa0IsRUFDbEIseUJBQXlCLEVBQ3pCLGVBQWUsRUFDZixlQUFlLEVBQ2YsdUJBQXVCLEVBR3ZCLGtDQUFrQyxFQUNsQyxrQ0FBa0MsRUFDbEMsMEJBQTBCLEVBQUUsd0NBQXdDLEVBQ3BFLHFCQUFxQixFQUNyQixZQUFZLEVBQ1osZUFBZSxFQUNmLGFBQWEsRUFDYixhQUFhLEVBQ2hCLE1BQU0sMEJBQTBCLENBQUM7QUFFbEMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7Ozs7Ozs7O0FBRXpGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLEdBQUcsRUFBRTtJQUNyQyxPQUFPLEVBQUMsa0JBQWtCLEVBQUUsS0FBSyxFQUFDLENBQUM7QUFDdkMsQ0FBQyxDQUFDO0FBQ0YsTUFBTSxVQUFVLHVCQUF1QixDQUFDLE9BQWtDO0lBQ3RFLE9BQU8sT0FBTyxDQUFDLGlCQUFpQixFQUFFLENBQUM7QUFDdkMsQ0FBQztBQWtCRCxNQUFNLE9BQU8sa0NBQW1DLFNBQVEsK0JBQStCO0lBT0M7SUFMeEQsbUJBQW1CLENBQWtCO0lBRWpFLFlBQVksZUFBZ0MsRUFDaEMsYUFBNEIsRUFDTixlQUEyQyxFQUNPLHlCQUEyRDtRQUMvSCxlQUFlLEVBQUUsSUFBSTtRQUNyQixtQkFBbUIsRUFBRSxJQUFJO0tBQUM7UUFDdEMsS0FBSyxDQUFDLGVBQWUsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLHNCQUFzQixDQUFDLENBQUM7UUFIaEMsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUVoRTtJQUUxQyxDQUFDO0lBRUQsZUFBZTtRQUNYLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUNyRCxDQUFDO3dHQWZRLGtDQUFrQyw4RUFNdkIsWUFBWSxhQUNBLHdDQUF3Qzs0RkFQL0Qsa0NBQWtDLDJEQWJoQztZQUNQLGVBQWU7WUFDZixlQUFlO1lBQ2YsYUFBYTtZQUNiLGVBQWU7WUFDZixhQUFhO1lBQ2IsRUFBSSxPQUFPLEVBQUUsa0JBQWtCO2dCQUMzQixVQUFVLEVBQUUsdUJBQXVCO2dCQUNuQyxJQUFJLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQyxFQUFDO1lBQ3RDLEVBQUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFVBQVUsRUFBRSx1QkFBdUIsRUFBRSxJQUFJLEVBQUUsQ0FBQyx1QkFBdUIsRUFBRSxZQUFZLEVBQUUsa0NBQWtDLEVBQUUsa0NBQWtDLENBQUMsRUFBQztZQUM1TCxFQUFDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxVQUFVLEVBQUUsb0JBQW9CLEVBQUUsSUFBSSxFQUFFLENBQUMsWUFBWSxDQUFDLEVBQUM7U0FDaEcsZ0tDM0NMLHM0QkFVQTs7NEZEbUNhLGtDQUFrQztrQkFqQjlDLFNBQVM7K0JBQ0Usa0NBQWtDLGFBRy9CO3dCQUNQLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixFQUFJLE9BQU8sRUFBRSxrQkFBa0I7NEJBQzNCLFVBQVUsRUFBRSx1QkFBdUI7NEJBQ25DLElBQUksRUFBRSxDQUFDLHlCQUF5QixDQUFDLEVBQUM7d0JBQ3RDLEVBQUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFVBQVUsRUFBRSx1QkFBdUIsRUFBRSxJQUFJLEVBQUUsQ0FBQyx1QkFBdUIsRUFBRSxZQUFZLEVBQUUsa0NBQWtDLEVBQUUsa0NBQWtDLENBQUMsRUFBQzt3QkFDNUwsRUFBQyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsVUFBVSxFQUFFLG9CQUFvQixFQUFFLElBQUksRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFDO3FCQUNoRzs7MEJBUVksTUFBTTsyQkFBQyxZQUFZOzswQkFDbkIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyx3Q0FBd0M7eUNBTDVDLG1CQUFtQjtzQkFBOUMsU0FBUzt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBJbmplY3QsIE9wdGlvbmFsLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RUYWJiZWRDYXNlVmlld0NvbXBvbmVudCxcbiAgICBBbGxvd2VkTmV0c1NlcnZpY2UsXG4gICAgQWxsb3dlZE5ldHNTZXJ2aWNlRmFjdG9yeSxcbiAgICBDYXNlVmlld1NlcnZpY2UsXG4gICAgQ2F0ZWdvcnlGYWN0b3J5LFxuICAgIENhdGVnb3J5UmVzb2x2ZXJTZXJ2aWNlLFxuICAgIEluamVjdGVkVGFiYmVkQ2FzZVZpZXdEYXRhLFxuICAgIExvZ2dlclNlcnZpY2UsXG4gICAgTkFFX0RFRkFVTFRfQ0FTRV9TRUFSQ0hfQ0FURUdPUklFUyxcbiAgICBOQUVfREVGQVVMVF9UQVNLX1NFQVJDSF9DQVRFR09SSUVTLFxuICAgIE5BRV9ORVdfQ0FTRV9DT05GSUdVUkFUSU9OLCBOQUVfTkVXX0NBU0VfQ1JFQVRJT05fQ09ORklHVVJBVElPTl9EQVRBLFxuICAgIE5BRV9TRUFSQ0hfQ0FURUdPUklFUyxcbiAgICBOQUVfVEFCX0RBVEEsIE5ld0Nhc2VDcmVhdGlvbkNvbmZpZ3VyYXRpb25EYXRhLFxuICAgIE92ZXJmbG93U2VydmljZSxcbiAgICBTZWFyY2hTZXJ2aWNlLFxuICAgIFZpZXdJZFNlcnZpY2Vcbn0gZnJvbSAnQG5ldGdyaWYvY29tcG9uZW50cy1jb3JlJztcbmltcG9ydCB7IEhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2hlYWRlci9oZWFkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IHNlYXJjaENhdGVnb3J5Q29udmVydGVyIH0gZnJvbSAnLi4vLi4vc2VhcmNoL3NlYXJjaC1jb21wb25lbnQvc2VhcmNoLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBjb25zdCBuZXdDYXNlQ29uZmlnRmFjdG9yeSA9ICgpID0+IHtcbiAgICByZXR1cm4ge3VzZUNhY2hlZFByb2Nlc3NlczogZmFsc2V9O1xufTtcbmV4cG9ydCBmdW5jdGlvbiBsb2NhbEFsbG93ZWROZXRzRmFjdG9yeShmYWN0b3J5OiBBbGxvd2VkTmV0c1NlcnZpY2VGYWN0b3J5KTogQWxsb3dlZE5ldHNTZXJ2aWNlIHtcbiAgICByZXR1cm4gZmFjdG9yeS5jcmVhdGVXaXRoQWxsTmV0cygpO1xufVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmMtZmlsdGVyLWZpZWxkLXRhYmJlZC1jYXNlLXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vZmlsdGVyLWZpZWxkLXRhYmJlZC1jYXNlLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maWx0ZXItZmllbGQtdGFiYmVkLWNhc2Utdmlldy5jb21wb25lbnQuc2NzcyddLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBDYXRlZ29yeUZhY3RvcnksXG4gICAgICAgIENhc2VWaWV3U2VydmljZSxcbiAgICAgICAgU2VhcmNoU2VydmljZSxcbiAgICAgICAgT3ZlcmZsb3dTZXJ2aWNlLFxuICAgICAgICBWaWV3SWRTZXJ2aWNlLFxuICAgICAgICB7ICAgcHJvdmlkZTogQWxsb3dlZE5ldHNTZXJ2aWNlLFxuICAgICAgICAgICAgdXNlRmFjdG9yeTogbG9jYWxBbGxvd2VkTmV0c0ZhY3RvcnksXG4gICAgICAgICAgICBkZXBzOiBbQWxsb3dlZE5ldHNTZXJ2aWNlRmFjdG9yeV19LFxuICAgICAgICB7cHJvdmlkZTogTkFFX1NFQVJDSF9DQVRFR09SSUVTLCB1c2VGYWN0b3J5OiBzZWFyY2hDYXRlZ29yeUNvbnZlcnRlciwgZGVwczogW0NhdGVnb3J5UmVzb2x2ZXJTZXJ2aWNlLCBOQUVfVEFCX0RBVEEsIE5BRV9ERUZBVUxUX0NBU0VfU0VBUkNIX0NBVEVHT1JJRVMsIE5BRV9ERUZBVUxUX1RBU0tfU0VBUkNIX0NBVEVHT1JJRVNdfSxcbiAgICAgICAge3Byb3ZpZGU6IE5BRV9ORVdfQ0FTRV9DT05GSUdVUkFUSU9OLCB1c2VGYWN0b3J5OiBuZXdDYXNlQ29uZmlnRmFjdG9yeSwgZGVwczogW05BRV9UQUJfREFUQV19XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBGaWx0ZXJGaWVsZFRhYmJlZENhc2VWaWV3Q29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RUYWJiZWRDYXNlVmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuXG4gICAgQFZpZXdDaGlsZCgnaGVhZGVyJykgcHVibGljIGNhc2VIZWFkZXJDb21wb25lbnQ6IEhlYWRlckNvbXBvbmVudDtcblxuICAgIGNvbnN0cnVjdG9yKGNhc2VWaWV3U2VydmljZTogQ2FzZVZpZXdTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIGxvZ2dlclNlcnZpY2U6IExvZ2dlclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgQEluamVjdChOQUVfVEFCX0RBVEEpIGluamVjdGVkVGFiRGF0YTogSW5qZWN0ZWRUYWJiZWRDYXNlVmlld0RhdGEsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChOQUVfTkVXX0NBU0VfQ1JFQVRJT05fQ09ORklHVVJBVElPTl9EQVRBKSBwcm90ZWN0ZWQgX25ld0Nhc2VDcmVhdGlvbkNvbmZpZzogTmV3Q2FzZUNyZWF0aW9uQ29uZmlndXJhdGlvbkRhdGEgPSB7XG4gICAgICAgICAgICAgICAgICAgIGVuYWJsZUNhc2VUaXRsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgaXNDYXNlVGl0bGVSZXF1aXJlZDogdHJ1ZX0pIHtcbiAgICAgICAgc3VwZXIoY2FzZVZpZXdTZXJ2aWNlLCBsb2dnZXJTZXJ2aWNlLCBpbmplY3RlZFRhYkRhdGEsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIF9uZXdDYXNlQ3JlYXRpb25Db25maWcpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIuaW5pdGlhbGl6ZUhlYWRlcih0aGlzLmNhc2VIZWFkZXJDb21wb25lbnQpO1xuICAgIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImNhc2Utdmlldy1jb250YWluZXIgbWluLWhlaWdodC1jdXN0b21cIiBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBzdHJldGNoXCI+XG4gICAgPGRpdiBjbGFzcz1cImZ1bGwtaGVpZ2h0IHRyYW5zZm9ybS1kaXYgY3VzdG9tLXNjcm9sbGJhclwiIFtuZ0NsYXNzXT1cInsnb3ZlcmZsb3ctZGl2JzogZ2V0T3ZlcmZsb3dTdGF0dXMoKX1cIiBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBzdHJldGNoXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmdWxsLWhlaWdodCB0cmFuc2Zvcm0tZGl2IG1heC13aWR0aC1maXhcIiBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBzdHJldGNoXCI+XG4gICAgICAgICAgICA8bmMtaGVhZGVyICNoZWFkZXIgW3R5cGVdPVwiaGVhZGVyVHlwZVwiIFttYXhIZWFkZXJDb2x1bW5zXT1cIjdcIiBbcmVzcG9uc2l2ZUhlYWRlcnNdPVwidHJ1ZVwiIGNsYXNzPVwiY2FzZS1oZWFkZXItcGFkZGluZ1wiIFtuZ1N0eWxlXT1cInsnd2lkdGgnOiBnZXRXaWR0aCgpfVwiPjwvbmMtaGVhZGVyPlxuXG4gICAgICAgICAgICA8bmMtY2FzZS1saXN0IFtzZWxlY3RlZEhlYWRlcnMkXT1cInNlbGVjdGVkSGVhZGVycyRcIiBbc2hvd0RlbGV0ZU1lbnVdPVwidHJ1ZVwiIFt3aWR0aF09XCJnZXRXaWR0aCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKGNhc2VDbGljayk9XCJoYW5kbGVDYXNlQ2xpY2soJGV2ZW50KVwiIFtyZXNwb25zaXZlQm9keV09XCJ0cnVlXCIgZnhGbGV4IFt0ZXh0RWxsaXBzaXNdPVwidHJ1ZVwiIFtyZWRpcmVjdEVuYWJsZWRdPVwidHJ1ZVwiPjwvbmMtY2FzZS1saXN0PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19