@netgrif/components 6.4.0-beta.1 → 6.4.0-beta.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. package/esm2020/lib/data-fields/case-ref-field/case-ref-default/case-ref-default.component.mjs +2 -2
  2. package/esm2020/lib/data-fields/data-fields.module.mjs +23 -7
  3. package/esm2020/lib/data-fields/enumeration-field/enumeration-caseref-field/enumeration-caseref-field.component.mjs +22 -0
  4. package/esm2020/lib/data-fields/i18n-field/i18n-divider-field/i18n-divider-field.component.mjs +3 -3
  5. package/esm2020/lib/data-fields/i18n-field/i18n-text-field/i18n-text-field.component.mjs +3 -3
  6. package/esm2020/lib/data-fields/multichoice-field/multichoice-caseref-field/multichoice-caseref-field.component.mjs +22 -0
  7. package/esm2020/lib/data-fields/string-collection-field/string-collection-default-field/string-collection-default-field.component.mjs +29 -0
  8. package/esm2020/lib/data-fields/task-ref-field/task-ref-dashboard-field/task-ref-dashboard-tile/task-ref-dashboard-tile.component.mjs +4 -2
  9. package/esm2020/lib/data-fields/text-field/dashboard-portal-text-field/dashboard-portal-text-field.component.mjs +3 -3
  10. package/esm2020/lib/dialog/dialog.module.mjs +28 -14
  11. package/esm2020/lib/dialog/import-net-dialog/import-net-dialog.component.mjs +6 -4
  12. package/esm2020/lib/dialog/load-filter-dialog/load-filter-dialog.component.mjs +3 -3
  13. package/esm2020/lib/dialog/model/dialog-actions.mjs +18 -0
  14. package/esm2020/lib/dialog/multi-user-assign-dialog/multi-user-assign-dialog.component.mjs +2 -2
  15. package/esm2020/lib/dialog/public-api.mjs +2 -1
  16. package/esm2020/lib/dialog/task-view-dialog/task-view-dialog.component.mjs +91 -0
  17. package/esm2020/lib/dialog/user-impersonate-dialog/user-impersonate-dialog.component.mjs +3 -3
  18. package/esm2020/lib/header/header-modes/edit-mode/edit-mode.component.mjs +15 -10
  19. package/esm2020/lib/header/header-modes/search-mode/search-mode.component.mjs +18 -13
  20. package/esm2020/lib/header/header-modes/sort-mode/sort-mode.component.mjs +14 -8
  21. package/esm2020/lib/header/header.component.mjs +47 -7
  22. package/esm2020/lib/navigation/breadcrumbs/breadcrumbs.component.mjs +3 -3
  23. package/esm2020/lib/navigation/group-navigation-component-resolver/default-components/default-case-ref-list-view/default-case-ref-list-view.component.mjs +38 -10
  24. package/esm2020/lib/navigation/group-navigation-component-resolver/default-components/default-no-filter-provided/default-no-filter-provided.component.mjs +14 -0
  25. package/esm2020/lib/navigation/group-navigation-component-resolver/default-components/default-tab-view/default-tab-view.component.mjs +111 -18
  26. package/esm2020/lib/navigation/group-navigation-component-resolver/default-components/default-tabbed-case-view/default-tabbed-case-view.component.mjs +99 -8
  27. package/esm2020/lib/navigation/group-navigation-component-resolver/default-components/default-tabbed-task-view/default-tabbed-task-view.component.mjs +42 -7
  28. package/esm2020/lib/navigation/group-navigation-component-resolver/default-components/model/injected-tabbed-case-view-data-with-navigation-item-task-data.mjs +1 -1
  29. package/esm2020/lib/navigation/group-navigation-component-resolver/default-components/model/injected-tabbed-task-view-data-with-navigation-item-task-data.mjs +2 -0
  30. package/esm2020/lib/navigation/group-navigation-component-resolver/default-group-navigation-component-resolver.service.mjs +53 -11
  31. package/esm2020/lib/navigation/navigation-double-drawer/navigation-double-drawer.component.mjs +15 -16
  32. package/esm2020/lib/navigation/navigation.module.mjs +8 -3
  33. package/esm2020/lib/panel/case-panel/case-panel.component.mjs +68 -13
  34. package/esm2020/lib/panel/task-panel/task-panel.component.mjs +14 -7
  35. package/esm2020/lib/panel/task-panel-list/task-list.component.mjs +3 -3
  36. package/esm2020/lib/panel/task-panel-list-pagination/task-list-pagination.component.mjs +7 -5
  37. package/esm2020/lib/panel/task-panel-single/single-task.component.mjs +10 -11
  38. package/esm2020/lib/search/search-component/search.component.mjs +3 -3
  39. package/esm2020/lib/side-menu/content-components/admin-impersonate/admin-impersonate.component.mjs +2 -1
  40. package/esm2020/lib/side-menu/content-components/filter-selector/filter-selector.component.mjs +3 -1
  41. package/esm2020/lib/side-menu/content-components/import-net/import-net.component.mjs +9 -5
  42. package/esm2020/lib/side-menu/content-components/load-filter/load-filter.component.mjs +6 -3
  43. package/esm2020/lib/side-menu/content-components/multi-user-assign/multi-user-assign.component.mjs +4 -1
  44. package/esm2020/lib/side-menu/content-components/new-case/new-case.component.mjs +4 -1
  45. package/esm2020/lib/side-menu/content-components/option-selector/option-selector.component.mjs +4 -1
  46. package/esm2020/lib/side-menu/content-components/save-filter/save-filter.component.mjs +4 -1
  47. package/esm2020/lib/side-menu/content-components/user-assign/user-assign.component.mjs +2 -1
  48. package/esm2020/lib/side-menu/content-components/user-impersonate/user-impersonate.component.mjs +6 -3
  49. package/esm2020/lib/side-menu/side-menu-container/side-menu-container.component.mjs +4 -1
  50. package/esm2020/lib/task-content/field-component-resolver/field-component-resolver.component.mjs +13 -4
  51. package/esm2020/lib/view/case-view/components/case-list-paginator/case-list-paginator.component.mjs +5 -4
  52. package/esm2020/lib/view/case-view/components/create-case-button/create-case-button.component.mjs +6 -4
  53. package/esm2020/lib/view/tree-case-view/tree-task-content/tree-task-content.component.mjs +4 -2
  54. package/fesm2015/netgrif-components.mjs +954 -311
  55. package/fesm2015/netgrif-components.mjs.map +1 -1
  56. package/fesm2020/netgrif-components.mjs +937 -311
  57. package/fesm2020/netgrif-components.mjs.map +1 -1
  58. package/lib/data-fields/case-ref-field/case-ref-default/case-ref-default.component.d.ts +1 -1
  59. package/lib/data-fields/data-fields.module.d.ts +22 -19
  60. package/lib/data-fields/enumeration-field/enumeration-caseref-field/enumeration-caseref-field.component.d.ts +8 -0
  61. package/lib/data-fields/multichoice-field/multichoice-caseref-field/multichoice-caseref-field.component.d.ts +8 -0
  62. package/lib/data-fields/string-collection-field/string-collection-default-field/string-collection-default-field.component.d.ts +9 -0
  63. package/lib/data-fields/text-field/dashboard-portal-text-field/dashboard-portal-text-field.component.d.ts +2 -1
  64. package/lib/dialog/dialog.module.d.ts +20 -17
  65. package/lib/dialog/import-net-dialog/import-net-dialog.component.d.ts +3 -2
  66. package/lib/dialog/model/dialog-actions.d.ts +2 -0
  67. package/lib/dialog/multi-user-assign-dialog/multi-user-assign-dialog.component.d.ts +1 -1
  68. package/lib/dialog/public-api.d.ts +1 -0
  69. package/lib/dialog/task-view-dialog/task-view-dialog.component.d.ts +20 -0
  70. package/lib/header/header-modes/edit-mode/edit-mode.component.d.ts +1 -0
  71. package/lib/header/header-modes/search-mode/search-mode.component.d.ts +1 -0
  72. package/lib/header/header-modes/sort-mode/sort-mode.component.d.ts +1 -0
  73. package/lib/header/header.component.d.ts +10 -5
  74. package/lib/navigation/group-navigation-component-resolver/default-components/default-case-ref-list-view/default-case-ref-list-view.component.d.ts +9 -4
  75. package/lib/navigation/group-navigation-component-resolver/default-components/default-no-filter-provided/default-no-filter-provided.component.d.ts +5 -0
  76. package/lib/navigation/group-navigation-component-resolver/default-components/default-tab-view/default-tab-view.component.d.ts +8 -2
  77. package/lib/navigation/group-navigation-component-resolver/default-components/default-tabbed-case-view/default-tabbed-case-view.component.d.ts +16 -2
  78. package/lib/navigation/group-navigation-component-resolver/default-components/default-tabbed-task-view/default-tabbed-task-view.component.d.ts +14 -3
  79. package/lib/navigation/group-navigation-component-resolver/default-components/model/injected-tabbed-case-view-data-with-navigation-item-task-data.d.ts +16 -1
  80. package/lib/navigation/group-navigation-component-resolver/default-components/model/injected-tabbed-task-view-data-with-navigation-item-task-data.d.ts +15 -0
  81. package/lib/navigation/group-navigation-component-resolver/default-group-navigation-component-resolver.service.d.ts +9 -3
  82. package/lib/navigation/navigation-double-drawer/navigation-double-drawer.component.d.ts +3 -2
  83. package/lib/navigation/navigation.module.d.ts +16 -15
  84. package/lib/panel/case-panel/case-panel.component.d.ts +10 -4
  85. package/lib/panel/task-panel/task-panel.component.d.ts +3 -3
  86. package/lib/side-menu/content-components/admin-impersonate/admin-impersonate.component.d.ts +1 -0
  87. package/lib/side-menu/content-components/filter-selector/filter-selector.component.d.ts +2 -0
  88. package/lib/side-menu/content-components/import-net/import-net.component.d.ts +6 -2
  89. package/lib/side-menu/content-components/load-filter/load-filter.component.d.ts +3 -0
  90. package/lib/side-menu/content-components/multi-user-assign/multi-user-assign.component.d.ts +3 -0
  91. package/lib/side-menu/content-components/new-case/new-case.component.d.ts +3 -0
  92. package/lib/side-menu/content-components/option-selector/option-selector.component.d.ts +3 -0
  93. package/lib/side-menu/content-components/save-filter/save-filter.component.d.ts +3 -0
  94. package/lib/side-menu/content-components/user-assign/user-assign.component.d.ts +1 -0
  95. package/lib/side-menu/content-components/user-impersonate/user-impersonate.component.d.ts +3 -0
  96. package/lib/side-menu/side-menu-container/side-menu-container.component.d.ts +3 -0
  97. package/lib/task-content/field-component-resolver/field-component-resolver.component.d.ts +3 -0
  98. package/lib/view/case-view/components/create-case-button/create-case-button.component.d.ts +2 -1
  99. package/package.json +2 -2
  100. package/schematics/view/create-view-prompt/views/public-workflow-view/files/common/__className@dasherize__.component.html.template +1 -1
  101. package/src/lib/data-fields/data-field.theme.scss +5 -0
  102. package/src/lib/dialog/dialog.theme.scss +14 -0
  103. package/src/lib/panel/panel.theme.scss +6 -0
@@ -1,5 +1,5 @@
1
1
  import { Component, Inject, ViewChild } from '@angular/core';
2
- import { CategoryFactory, SearchService, NAE_BASE_FILTER, AllowedNetsService, NAE_SEARCH_CATEGORIES, CaseViewService, AllowedNetsServiceFactory, AbstractTabbedCaseViewComponent, NAE_TAB_DATA, ViewIdService, CategoryResolverService, NAE_DEFAULT_CASE_SEARCH_CATEGORIES, NAE_DEFAULT_TASK_SEARCH_CATEGORIES, BaseAllowedNetsService, FilterExtractionService } from '@netgrif/components-core';
2
+ import { AbstractTabbedCaseViewComponent, AllowedNetsService, AllowedNetsServiceFactory, BaseAllowedNetsService, CaseViewService, CategoryFactory, CategoryResolverService, FilterExtractionService, FilterType, HeaderMode, MergeOperator, NAE_BASE_FILTER, NAE_DEFAULT_CASE_SEARCH_CATEGORIES, NAE_DEFAULT_HEADERS, NAE_DEFAULT_TASK_SEARCH_CATEGORIES, NAE_SEARCH_CATEGORIES, NAE_TAB_DATA, SearchService, SimpleFilter, ViewIdService, navigationItemCaseViewDefaultHeadersFactory, NAE_NAVIGATION_ITEM_TASK_DATA, OverflowService, } from '@netgrif/components-core';
3
3
  import { filterCaseTabbedDataAllowedNetsServiceFactory, filterCaseTabbedDataFilterFactory, filterCaseTabbedDataSearchCategoriesFactory } from '../model/factory-methods';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@netgrif/components-core";
@@ -12,11 +12,25 @@ import * as i7 from "@angular/flex-layout/flex";
12
12
  import * as i8 from "@angular/common";
13
13
  import * as i9 from "@angular/flex-layout/extended";
14
14
  export class DefaultTabbedCaseViewComponent extends AbstractTabbedCaseViewComponent {
15
- constructor(caseViewService, loggerService, injectedTabData) {
16
- super(caseViewService, loggerService, injectedTabData, undefined, undefined, undefined, injectedTabData.newCaseButtonConfiguration);
15
+ constructor(caseViewService, loggerService, viewIdService, overflowService, _injectedTabData) {
16
+ super(caseViewService, loggerService, _injectedTabData, overflowService, undefined, undefined, _injectedTabData.newCaseButtonConfiguration);
17
+ this._injectedTabData = _injectedTabData;
18
+ this.initialSearchMode = _injectedTabData.caseViewSearchTypeConfiguration.initialSearchMode;
19
+ this.showToggleButton = _injectedTabData.caseViewSearchTypeConfiguration.showSearchToggleButton;
20
+ this.enableSearch = _injectedTabData.caseViewSearchTypeConfiguration.initialSearchMode !== undefined;
21
+ this.showDeleteMenu = _injectedTabData.caseViewShowMoreMenu;
22
+ this.headersChangeable = _injectedTabData.caseViewHeadersChangeable;
23
+ this.headersMode = _injectedTabData.caseViewHeadersMode ? _injectedTabData.caseViewHeadersMode : [];
24
+ this.allowTableMode = this._injectedTabData.caseViewAllowTableMode;
25
+ this.defaultHeadersMode = this.resolveHeaderMode(_injectedTabData.caseViewDefaultHeadersMode);
26
+ if (!this.allowTableMode) {
27
+ const viewId = viewIdService.viewId;
28
+ localStorage.setItem(viewId + '-overflowMode', 'false');
29
+ }
17
30
  }
18
31
  ngAfterViewInit() {
19
32
  super.initializeHeader(this.caseHeaderComponent);
33
+ this.caseHeaderComponent.changeHeadersMode(this.defaultHeadersMode, false);
20
34
  }
21
35
  loadFilter(filterData) {
22
36
  this._injectedTabData.tabViewRef.openTab({
@@ -30,13 +44,79 @@ export class DefaultTabbedCaseViewComponent extends AbstractTabbedCaseViewCompon
30
44
  parentUniqueId: this._injectedTabData.tabUniqueId
31
45
  }, this._autoswitchToTaskTab, this._openExistingTab);
32
46
  }
47
+ openTab(openCase) {
48
+ this._injectedTabData.tabViewRef.openTab({
49
+ label: {
50
+ text: openCase.title,
51
+ icon: openCase.icon ? openCase.icon : 'check_box'
52
+ },
53
+ canBeClosed: true,
54
+ tabContentComponent: this._injectedTabData.tabViewComponent,
55
+ injectedObject: {
56
+ baseFilter: this.resolveFilter(openCase),
57
+ allowedNets: this.resolveAllowedNets(openCase),
58
+ navigationItemTaskData: this._injectedTabData.navigationItemTaskData,
59
+ searchTypeConfiguration: this._injectedTabData.taskViewSearchTypeConfiguration,
60
+ showMoreMenu: this._injectedTabData.taskViewShowMoreMenu,
61
+ headersChangeable: this._injectedTabData.taskViewHeadersChangeable,
62
+ headersMode: this._injectedTabData.taskViewHeadersMode,
63
+ allowTableMode: this._injectedTabData.taskViewAllowTableMode,
64
+ defaultHeadersMode: this._injectedTabData.taskViewDefaultHeadersMode
65
+ },
66
+ order: this._injectedTabData.tabViewOrder,
67
+ parentUniqueId: this._injectedTabData.tabUniqueId
68
+ }, this._autoswitchToTaskTab, this._openExistingTab);
69
+ }
70
+ resolveFilter(openCase) {
71
+ const additionalFilter = this._injectedTabData.taskViewAdditionalFilter;
72
+ const mergeFilters = this._injectedTabData.taskViewMergeWithBaseFilter;
73
+ const baseFilter = new SimpleFilter('', FilterType.TASK, { case: { id: `${openCase.stringId}` } });
74
+ let filter;
75
+ if (additionalFilter === undefined) {
76
+ filter = baseFilter;
77
+ }
78
+ else {
79
+ if (mergeFilters) {
80
+ filter = additionalFilter.merge(baseFilter, MergeOperator.AND);
81
+ }
82
+ else {
83
+ filter = additionalFilter;
84
+ }
85
+ }
86
+ return filter;
87
+ }
88
+ resolveAllowedNets(openCase) {
89
+ const additionalFilter = this._injectedTabData.taskViewAdditionalFilter;
90
+ if (additionalFilter == undefined) {
91
+ return [openCase.processIdentifier];
92
+ }
93
+ const mergeFilters = this._injectedTabData.taskViewMergeWithBaseFilter;
94
+ const additionalAllowedNets = this._injectedTabData.taskViewAdditionalAllowedNets ? this._injectedTabData.taskViewAdditionalAllowedNets : [];
95
+ return mergeFilters ? [openCase.processIdentifier, ...additionalAllowedNets] : additionalAllowedNets;
96
+ }
97
+ isMenuOptionEnabled(option) {
98
+ return this.headersMode.some(e => e === option);
99
+ }
100
+ resolveHeaderMode(mode) {
101
+ switch (mode) {
102
+ case 'sort':
103
+ return HeaderMode.SORT;
104
+ case 'edit':
105
+ return HeaderMode.EDIT;
106
+ case 'search':
107
+ return HeaderMode.SEARCH;
108
+ default:
109
+ return undefined;
110
+ }
111
+ }
33
112
  }
34
- DefaultTabbedCaseViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DefaultTabbedCaseViewComponent, deps: [{ token: i1.CaseViewService }, { token: i1.LoggerService }, { token: NAE_TAB_DATA }], target: i0.ɵɵFactoryTarget.Component });
113
+ DefaultTabbedCaseViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DefaultTabbedCaseViewComponent, deps: [{ token: i1.CaseViewService }, { token: i1.LoggerService }, { token: i1.ViewIdService }, { token: i1.OverflowService }, { token: NAE_TAB_DATA }], target: i0.ɵɵFactoryTarget.Component });
35
114
  DefaultTabbedCaseViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: DefaultTabbedCaseViewComponent, selector: "nc-default-tabbed-case-view", providers: [
36
115
  CategoryFactory,
37
116
  CaseViewService,
38
117
  SearchService,
39
118
  ViewIdService,
119
+ OverflowService,
40
120
  {
41
121
  provide: NAE_BASE_FILTER,
42
122
  useFactory: filterCaseTabbedDataFilterFactory,
@@ -52,7 +132,12 @@ DefaultTabbedCaseViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
52
132
  useFactory: filterCaseTabbedDataSearchCategoriesFactory,
53
133
  deps: [CategoryResolverService, NAE_TAB_DATA, NAE_DEFAULT_CASE_SEARCH_CATEGORIES, NAE_DEFAULT_TASK_SEARCH_CATEGORIES]
54
134
  },
55
- ], viewQueries: [{ propertyName: "caseHeaderComponent", first: true, predicate: ["header"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"case-view-container\" fxLayout=\"column\" fxLayoutAlign=\"start stretch\">\n <nc-breadcrumbs></nc-breadcrumbs>\n\n <div class=\"case-view-search-container\">\n <div fxLayout=\"row\" class=\"max-height\" fxLayoutAlign=\"space-between\">\n <div fxLayoutAlign=\"start center\" fxFlex>\n <nc-search class=\"search-width search-fix\" (filterLoaded)=\"loadFilter($event)\"></nc-search>\n </div>\n <div fxLayoutAlign=\"end center\">\n <nc-create-case-button [newCaseCreationConfig]=\"newCaseCreationConfig\" (caseCreatedEvent)=\"handleCaseClick($event)\"></nc-create-case-button>\n </div>\n </div>\n </div>\n\n <div class=\"full-height transform-div custom-scrollbar\"\n [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]=\"9\" [responsiveHeaders]=\"false\" [ngStyle]=\"{'width': getWidth()}\" class=\"case-header-padding\"></nc-header>\n\n <nc-case-list [selectedHeaders$]=\"selectedHeaders$\" [showDeleteMenu]=\"true\" [width]=\"getWidth()\"\n (caseClick)=\"handleCaseClick($event)\" [responsiveBody]=\"true\" fxFlex [textEllipsis]=\"true\"></nc-case-list>\n </div>\n </div>\n</div>\n\n", styles: [".case-view-container{margin:16px 24px;height:calc(100% - 32px);overflow:auto}.case-view-search-container{margin-top:16px;margin-bottom:2px;padding:0;max-height:50%}.case-header-padding{padding-left:1px;padding-right:1px;padding-top:16px}.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}.max-height{max-height:100%}.search-fix{min-height:calc(100% + 2px);max-height:100%;overflow-y:auto}@media screen and (max-width: 599.99px){.case-view-container{margin:12px}}\n"], components: [{ type: i2.BreadcrumbsComponent, selector: "nc-breadcrumbs" }, { type: i3.SearchComponent, selector: "nc-search" }, { type: i4.CreateCaseButtonComponent, selector: "nc-create-case-button", inputs: ["newCaseCreationConfig"], outputs: ["caseCreatedEvent"] }, { type: i5.HeaderComponent, selector: "nc-header" }, { type: i6.CaseListComponent, selector: "nc-case-list" }], directives: [{ type: i7.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"] }, { type: i7.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"] }, { type: i7.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"] }, { type: i8.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i9.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"] }, { type: i8.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i9.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"] }] });
135
+ {
136
+ provide: NAE_DEFAULT_HEADERS,
137
+ useFactory: navigationItemCaseViewDefaultHeadersFactory,
138
+ deps: [NAE_NAVIGATION_ITEM_TASK_DATA]
139
+ }
140
+ ], viewQueries: [{ propertyName: "caseHeaderComponent", first: true, predicate: ["header"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"case-view-container\" fxLayout=\"column\" fxLayoutAlign=\"start stretch\">\n <nc-breadcrumbs></nc-breadcrumbs>\n\n <div class=\"case-view-search-container\">\n <div fxLayout=\"row\" class=\"max-height\" fxLayoutAlign=\"space-between\">\n <div fxLayoutAlign=\"start center\" fxFlex>\n <nc-search class=\"search-width search-fix\" *ngIf=\"(enableSearch)\" [showSearchToggleButton]=\"showToggleButton\"\n [initialSearchMode]=\"initialSearchMode\" (filterLoaded)=\"loadFilter($event)\"></nc-search>\n </div>\n <div fxLayoutAlign=\"end center\">\n <nc-create-case-button [newCaseCreationConfig]=\"newCaseCreationConfig\" (caseCreatedEvent)=\"handleCaseClick($event)\"></nc-create-case-button>\n </div>\n </div>\n </div>\n\n <div class=\"full-height transform-div custom-scrollbar\"\n [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]=\"9\" [responsiveHeaders]=\"false\" [ngStyle]=\"{'width': getWidth()}\" [hideHeaderMenu]=\"!headersChangeable\" [showEditButton]=\"isMenuOptionEnabled('edit')\"\n [showSortButton]=\"isMenuOptionEnabled('sort')\" [showSearchButton]=\"isMenuOptionEnabled('search')\"\n [showTableSection]=\"allowTableMode\" class=\"case-header-padding\"></nc-header>\n\n <nc-case-list [selectedHeaders$]=\"selectedHeaders$\" [textEllipsis]=\"true\" [showDeleteMenu]=\"showDeleteMenu\" [width]=\"getWidth()\"\n (caseClick)=\"handleCaseClick($event)\" [responsiveBody]=\"true\" fxFlex></nc-case-list>\n </div>\n </div>\n</div>\n", styles: [".case-view-container{margin:16px 24px;height:calc(100% - 32px);overflow:auto}.case-view-search-container{margin-top:16px;margin-bottom:2px;padding:0;max-height:50%}.case-header-padding{padding-left:1px;padding-right:1px;padding-top:16px}.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}.max-height{max-height:100%}.search-fix{min-height:calc(100% + 2px);max-height:100%;overflow-y:auto}@media screen and (max-width: 599.99px){.case-view-container{margin:12px}}\n"], components: [{ type: i2.BreadcrumbsComponent, selector: "nc-breadcrumbs" }, { type: i3.SearchComponent, selector: "nc-search" }, { type: i4.CreateCaseButtonComponent, selector: "nc-create-case-button", inputs: ["newCaseCreationConfig", "disabled"], outputs: ["caseCreatedEvent"] }, { type: i5.HeaderComponent, selector: "nc-header" }, { type: i6.CaseListComponent, selector: "nc-case-list" }], directives: [{ type: i7.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"] }, { type: i7.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"] }, { type: i7.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"] }, { type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i9.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"] }, { type: i8.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i9.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"] }] });
56
141
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DefaultTabbedCaseViewComponent, decorators: [{
57
142
  type: Component,
58
143
  args: [{ selector: 'nc-default-tabbed-case-view', providers: [
@@ -60,6 +145,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
60
145
  CaseViewService,
61
146
  SearchService,
62
147
  ViewIdService,
148
+ OverflowService,
63
149
  {
64
150
  provide: NAE_BASE_FILTER,
65
151
  useFactory: filterCaseTabbedDataFilterFactory,
@@ -75,12 +161,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
75
161
  useFactory: filterCaseTabbedDataSearchCategoriesFactory,
76
162
  deps: [CategoryResolverService, NAE_TAB_DATA, NAE_DEFAULT_CASE_SEARCH_CATEGORIES, NAE_DEFAULT_TASK_SEARCH_CATEGORIES]
77
163
  },
78
- ], template: "<div class=\"case-view-container\" fxLayout=\"column\" fxLayoutAlign=\"start stretch\">\n <nc-breadcrumbs></nc-breadcrumbs>\n\n <div class=\"case-view-search-container\">\n <div fxLayout=\"row\" class=\"max-height\" fxLayoutAlign=\"space-between\">\n <div fxLayoutAlign=\"start center\" fxFlex>\n <nc-search class=\"search-width search-fix\" (filterLoaded)=\"loadFilter($event)\"></nc-search>\n </div>\n <div fxLayoutAlign=\"end center\">\n <nc-create-case-button [newCaseCreationConfig]=\"newCaseCreationConfig\" (caseCreatedEvent)=\"handleCaseClick($event)\"></nc-create-case-button>\n </div>\n </div>\n </div>\n\n <div class=\"full-height transform-div custom-scrollbar\"\n [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]=\"9\" [responsiveHeaders]=\"false\" [ngStyle]=\"{'width': getWidth()}\" class=\"case-header-padding\"></nc-header>\n\n <nc-case-list [selectedHeaders$]=\"selectedHeaders$\" [showDeleteMenu]=\"true\" [width]=\"getWidth()\"\n (caseClick)=\"handleCaseClick($event)\" [responsiveBody]=\"true\" fxFlex [textEllipsis]=\"true\"></nc-case-list>\n </div>\n </div>\n</div>\n\n", styles: [".case-view-container{margin:16px 24px;height:calc(100% - 32px);overflow:auto}.case-view-search-container{margin-top:16px;margin-bottom:2px;padding:0;max-height:50%}.case-header-padding{padding-left:1px;padding-right:1px;padding-top:16px}.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}.max-height{max-height:100%}.search-fix{min-height:calc(100% + 2px);max-height:100%;overflow-y:auto}@media screen and (max-width: 599.99px){.case-view-container{margin:12px}}\n"] }]
79
- }], ctorParameters: function () { return [{ type: i1.CaseViewService }, { type: i1.LoggerService }, { type: undefined, decorators: [{
164
+ {
165
+ provide: NAE_DEFAULT_HEADERS,
166
+ useFactory: navigationItemCaseViewDefaultHeadersFactory,
167
+ deps: [NAE_NAVIGATION_ITEM_TASK_DATA]
168
+ }
169
+ ], template: "<div class=\"case-view-container\" fxLayout=\"column\" fxLayoutAlign=\"start stretch\">\n <nc-breadcrumbs></nc-breadcrumbs>\n\n <div class=\"case-view-search-container\">\n <div fxLayout=\"row\" class=\"max-height\" fxLayoutAlign=\"space-between\">\n <div fxLayoutAlign=\"start center\" fxFlex>\n <nc-search class=\"search-width search-fix\" *ngIf=\"(enableSearch)\" [showSearchToggleButton]=\"showToggleButton\"\n [initialSearchMode]=\"initialSearchMode\" (filterLoaded)=\"loadFilter($event)\"></nc-search>\n </div>\n <div fxLayoutAlign=\"end center\">\n <nc-create-case-button [newCaseCreationConfig]=\"newCaseCreationConfig\" (caseCreatedEvent)=\"handleCaseClick($event)\"></nc-create-case-button>\n </div>\n </div>\n </div>\n\n <div class=\"full-height transform-div custom-scrollbar\"\n [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]=\"9\" [responsiveHeaders]=\"false\" [ngStyle]=\"{'width': getWidth()}\" [hideHeaderMenu]=\"!headersChangeable\" [showEditButton]=\"isMenuOptionEnabled('edit')\"\n [showSortButton]=\"isMenuOptionEnabled('sort')\" [showSearchButton]=\"isMenuOptionEnabled('search')\"\n [showTableSection]=\"allowTableMode\" class=\"case-header-padding\"></nc-header>\n\n <nc-case-list [selectedHeaders$]=\"selectedHeaders$\" [textEllipsis]=\"true\" [showDeleteMenu]=\"showDeleteMenu\" [width]=\"getWidth()\"\n (caseClick)=\"handleCaseClick($event)\" [responsiveBody]=\"true\" fxFlex></nc-case-list>\n </div>\n </div>\n</div>\n", styles: [".case-view-container{margin:16px 24px;height:calc(100% - 32px);overflow:auto}.case-view-search-container{margin-top:16px;margin-bottom:2px;padding:0;max-height:50%}.case-header-padding{padding-left:1px;padding-right:1px;padding-top:16px}.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}.max-height{max-height:100%}.search-fix{min-height:calc(100% + 2px);max-height:100%;overflow-y:auto}@media screen and (max-width: 599.99px){.case-view-container{margin:12px}}\n"] }]
170
+ }], ctorParameters: function () { return [{ type: i1.CaseViewService }, { type: i1.LoggerService }, { type: i1.ViewIdService }, { type: i1.OverflowService }, { type: undefined, decorators: [{
80
171
  type: Inject,
81
172
  args: [NAE_TAB_DATA]
82
173
  }] }]; }, propDecorators: { caseHeaderComponent: [{
83
174
  type: ViewChild,
84
175
  args: ['header']
85
176
  }] } });
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC10YWJiZWQtY2FzZS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL25hdmlnYXRpb24vZ3JvdXAtbmF2aWdhdGlvbi1jb21wb25lbnQtcmVzb2x2ZXIvZGVmYXVsdC1jb21wb25lbnRzL2RlZmF1bHQtdGFiYmVkLWNhc2Utdmlldy9kZWZhdWx0LXRhYmJlZC1jYXNlLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzL3NyYy9saWIvbmF2aWdhdGlvbi9ncm91cC1uYXZpZ2F0aW9uLWNvbXBvbmVudC1yZXNvbHZlci9kZWZhdWx0LWNvbXBvbmVudHMvZGVmYXVsdC10YWJiZWQtY2FzZS12aWV3L2RlZmF1bHQtdGFiYmVkLWNhc2Utdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFDSCxlQUFlLEVBQ2YsYUFBYSxFQUNiLGVBQWUsRUFDZixrQkFBa0IsRUFDbEIscUJBQXFCLEVBQ3JCLGVBQWUsRUFDZix5QkFBeUIsRUFDekIsK0JBQStCLEVBQy9CLFlBQVksRUFHWixhQUFhLEVBQ2IsdUJBQXVCLEVBQ3ZCLGtDQUFrQyxFQUNsQyxrQ0FBa0MsRUFDbEMsc0JBQXNCLEVBQ3RCLHVCQUF1QixFQUMxQixNQUFNLDBCQUEwQixDQUFDO0FBR2xDLE9BQU8sRUFDSCw2Q0FBNkMsRUFDN0MsaUNBQWlDLEVBQ2pDLDJDQUEyQyxFQUM5QyxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7Ozs7OztBQTRCbEMsTUFBTSxPQUFPLDhCQUErQixTQUFRLCtCQUErQjtJQUkvRSxZQUFZLGVBQWdDLEVBQ2hDLGFBQTRCLEVBQ04sZUFBcUU7UUFDbkcsS0FBSyxDQUFDLGVBQWUsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLGVBQWUsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFFRCxlQUFlO1FBQ1gsS0FBSyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxVQUFVLENBQUMsVUFBK0I7UUFDdEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUM7WUFDckMsS0FBSyxFQUFFO2dCQUNILElBQUksRUFBRSxVQUFVLENBQUMsTUFBTSxDQUFDLEtBQUs7YUFDaEM7WUFDRCxXQUFXLEVBQUUsSUFBSTtZQUNqQixtQkFBbUIsRUFBRSw4QkFBOEI7WUFDbkQsY0FBYyxFQUFFLEVBQUMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQyxVQUFVLEVBQUM7WUFDN0UsS0FBSyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZO1lBQ3pDLGNBQWMsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVztTQUNwRCxFQUFFLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUN6RCxDQUFDOzs0SEF6QlEsOEJBQThCLDhFQU1uQixZQUFZO2dIQU52Qiw4QkFBOEIsc0RBdEI1QjtRQUNQLGVBQWU7UUFDZixlQUFlO1FBQ2YsYUFBYTtRQUNiLGFBQWE7UUFDYjtZQUNJLE9BQU8sRUFBRSxlQUFlO1lBQ3hCLFVBQVUsRUFBRSxpQ0FBaUM7WUFDN0MsSUFBSSxFQUFFLENBQUMsdUJBQXVCLEVBQUUsWUFBWSxDQUFDO1NBQ2hEO1FBQ0Q7WUFDSSxPQUFPLEVBQUUsa0JBQWtCO1lBQzNCLFVBQVUsRUFBRSw2Q0FBNkM7WUFDekQsSUFBSSxFQUFFLENBQUMseUJBQXlCLEVBQUUsc0JBQXNCLEVBQUUsWUFBWSxDQUFDO1NBQzFFO1FBQ0Q7WUFDSSxPQUFPLEVBQUUscUJBQXFCO1lBQzlCLFVBQVUsRUFBRSwyQ0FBMkM7WUFDdkQsSUFBSSxFQUFFLENBQUMsdUJBQXVCLEVBQUUsWUFBWSxFQUFFLGtDQUFrQyxFQUFFLGtDQUFrQyxDQUFDO1NBQ3hIO0tBQ0osZ0tDcERMLHU5Q0F5QkE7NEZENkJhLDhCQUE4QjtrQkExQjFDLFNBQVM7K0JBQ0ksNkJBQTZCLGFBRzVCO3dCQUNQLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGFBQWE7d0JBQ2I7NEJBQ0ksT0FBTyxFQUFFLGVBQWU7NEJBQ3hCLFVBQVUsRUFBRSxpQ0FBaUM7NEJBQzdDLElBQUksRUFBRSxDQUFDLHVCQUF1QixFQUFFLFlBQVksQ0FBQzt5QkFDaEQ7d0JBQ0Q7NEJBQ0ksT0FBTyxFQUFFLGtCQUFrQjs0QkFDM0IsVUFBVSxFQUFFLDZDQUE2Qzs0QkFDekQsSUFBSSxFQUFFLENBQUMseUJBQXlCLEVBQUUsc0JBQXNCLEVBQUUsWUFBWSxDQUFDO3lCQUMxRTt3QkFDRDs0QkFDSSxPQUFPLEVBQUUscUJBQXFCOzRCQUM5QixVQUFVLEVBQUUsMkNBQTJDOzRCQUN2RCxJQUFJLEVBQUUsQ0FBQyx1QkFBdUIsRUFBRSxZQUFZLEVBQUUsa0NBQWtDLEVBQUUsa0NBQWtDLENBQUM7eUJBQ3hIO3FCQUNKOzswQkFRWSxNQUFNOzJCQUFDLFlBQVk7NENBSkosbUJBQW1CO3NCQUE5QyxTQUFTO3VCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyVmlld0luaXQsIENvbXBvbmVudCwgSW5qZWN0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBDYXRlZ29yeUZhY3RvcnksXG4gICAgU2VhcmNoU2VydmljZSxcbiAgICBOQUVfQkFTRV9GSUxURVIsXG4gICAgQWxsb3dlZE5ldHNTZXJ2aWNlLFxuICAgIE5BRV9TRUFSQ0hfQ0FURUdPUklFUyxcbiAgICBDYXNlVmlld1NlcnZpY2UsXG4gICAgQWxsb3dlZE5ldHNTZXJ2aWNlRmFjdG9yeSxcbiAgICBBYnN0cmFjdFRhYmJlZENhc2VWaWV3Q29tcG9uZW50LFxuICAgIE5BRV9UQUJfREFUQSxcbiAgICBMb2dnZXJTZXJ2aWNlLFxuICAgIFNhdmVkRmlsdGVyTWV0YWRhdGEsXG4gICAgVmlld0lkU2VydmljZSxcbiAgICBDYXRlZ29yeVJlc29sdmVyU2VydmljZSxcbiAgICBOQUVfREVGQVVMVF9DQVNFX1NFQVJDSF9DQVRFR09SSUVTLFxuICAgIE5BRV9ERUZBVUxUX1RBU0tfU0VBUkNIX0NBVEVHT1JJRVMsXG4gICAgQmFzZUFsbG93ZWROZXRzU2VydmljZSxcbiAgICBGaWx0ZXJFeHRyYWN0aW9uU2VydmljZVxufSBmcm9tICdAbmV0Z3JpZi9jb21wb25lbnRzLWNvcmUnO1xuaW1wb3J0IHtIZWFkZXJDb21wb25lbnR9IGZyb20gJy4uLy4uLy4uLy4uL2hlYWRlci9oZWFkZXIuY29tcG9uZW50JztcbmltcG9ydCB7SW5qZWN0ZWRUYWJiZWRDYXNlVmlld0RhdGFXaXRoTmF2aWdhdGlvbkl0ZW1UYXNrRGF0YX0gZnJvbSAnLi4vbW9kZWwvaW5qZWN0ZWQtdGFiYmVkLWNhc2Utdmlldy1kYXRhLXdpdGgtbmF2aWdhdGlvbi1pdGVtLXRhc2stZGF0YSc7XG5pbXBvcnQge1xuICAgIGZpbHRlckNhc2VUYWJiZWREYXRhQWxsb3dlZE5ldHNTZXJ2aWNlRmFjdG9yeSxcbiAgICBmaWx0ZXJDYXNlVGFiYmVkRGF0YUZpbHRlckZhY3RvcnksXG4gICAgZmlsdGVyQ2FzZVRhYmJlZERhdGFTZWFyY2hDYXRlZ29yaWVzRmFjdG9yeVxufSBmcm9tICcuLi9tb2RlbC9mYWN0b3J5LW1ldGhvZHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25jLWRlZmF1bHQtdGFiYmVkLWNhc2UtdmlldycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RlZmF1bHQtdGFiYmVkLWNhc2Utdmlldy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZGVmYXVsdC10YWJiZWQtY2FzZS12aWV3LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIENhdGVnb3J5RmFjdG9yeSxcbiAgICAgICAgQ2FzZVZpZXdTZXJ2aWNlLFxuICAgICAgICBTZWFyY2hTZXJ2aWNlLFxuICAgICAgICBWaWV3SWRTZXJ2aWNlLFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOQUVfQkFTRV9GSUxURVIsXG4gICAgICAgICAgICB1c2VGYWN0b3J5OiBmaWx0ZXJDYXNlVGFiYmVkRGF0YUZpbHRlckZhY3RvcnksXG4gICAgICAgICAgICBkZXBzOiBbRmlsdGVyRXh0cmFjdGlvblNlcnZpY2UsIE5BRV9UQUJfREFUQV1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogQWxsb3dlZE5ldHNTZXJ2aWNlLFxuICAgICAgICAgICAgdXNlRmFjdG9yeTogZmlsdGVyQ2FzZVRhYmJlZERhdGFBbGxvd2VkTmV0c1NlcnZpY2VGYWN0b3J5LFxuICAgICAgICAgICAgZGVwczogW0FsbG93ZWROZXRzU2VydmljZUZhY3RvcnksIEJhc2VBbGxvd2VkTmV0c1NlcnZpY2UsIE5BRV9UQUJfREFUQV1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkFFX1NFQVJDSF9DQVRFR09SSUVTLFxuICAgICAgICAgICAgdXNlRmFjdG9yeTogZmlsdGVyQ2FzZVRhYmJlZERhdGFTZWFyY2hDYXRlZ29yaWVzRmFjdG9yeSxcbiAgICAgICAgICAgIGRlcHM6IFtDYXRlZ29yeVJlc29sdmVyU2VydmljZSwgTkFFX1RBQl9EQVRBLCBOQUVfREVGQVVMVF9DQVNFX1NFQVJDSF9DQVRFR09SSUVTLCBOQUVfREVGQVVMVF9UQVNLX1NFQVJDSF9DQVRFR09SSUVTXVxuICAgICAgICB9LFxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgRGVmYXVsdFRhYmJlZENhc2VWaWV3Q29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RUYWJiZWRDYXNlVmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuXG4gICAgQFZpZXdDaGlsZCgnaGVhZGVyJykgcHVibGljIGNhc2VIZWFkZXJDb21wb25lbnQ6IEhlYWRlckNvbXBvbmVudDtcblxuICAgIGNvbnN0cnVjdG9yKGNhc2VWaWV3U2VydmljZTogQ2FzZVZpZXdTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIGxvZ2dlclNlcnZpY2U6IExvZ2dlclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgQEluamVjdChOQUVfVEFCX0RBVEEpIGluamVjdGVkVGFiRGF0YTogSW5qZWN0ZWRUYWJiZWRDYXNlVmlld0RhdGFXaXRoTmF2aWdhdGlvbkl0ZW1UYXNrRGF0YSkge1xuICAgICAgICBzdXBlcihjYXNlVmlld1NlcnZpY2UsIGxvZ2dlclNlcnZpY2UsIGluamVjdGVkVGFiRGF0YSwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgaW5qZWN0ZWRUYWJEYXRhLm5ld0Nhc2VCdXR0b25Db25maWd1cmF0aW9uKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLmluaXRpYWxpemVIZWFkZXIodGhpcy5jYXNlSGVhZGVyQ29tcG9uZW50KTtcbiAgICB9XG5cbiAgICBsb2FkRmlsdGVyKGZpbHRlckRhdGE6IFNhdmVkRmlsdGVyTWV0YWRhdGEpIHtcbiAgICAgICAgdGhpcy5faW5qZWN0ZWRUYWJEYXRhLnRhYlZpZXdSZWYub3BlblRhYih7XG4gICAgICAgICAgICBsYWJlbDoge1xuICAgICAgICAgICAgICAgIHRleHQ6IGZpbHRlckRhdGEuZmlsdGVyLnRpdGxlXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgY2FuQmVDbG9zZWQ6IHRydWUsXG4gICAgICAgICAgICB0YWJDb250ZW50Q29tcG9uZW50OiBEZWZhdWx0VGFiYmVkQ2FzZVZpZXdDb21wb25lbnQsXG4gICAgICAgICAgICBpbmplY3RlZE9iamVjdDogey4uLnRoaXMuX2luamVjdGVkVGFiRGF0YSwgZmlsdGVyQ2FzZTogZmlsdGVyRGF0YS5maWx0ZXJDYXNlfSxcbiAgICAgICAgICAgIG9yZGVyOiB0aGlzLl9pbmplY3RlZFRhYkRhdGEudGFiVmlld09yZGVyLFxuICAgICAgICAgICAgcGFyZW50VW5pcXVlSWQ6IHRoaXMuX2luamVjdGVkVGFiRGF0YS50YWJVbmlxdWVJZFxuICAgICAgICB9LCB0aGlzLl9hdXRvc3dpdGNoVG9UYXNrVGFiLCB0aGlzLl9vcGVuRXhpc3RpbmdUYWIpO1xuICAgIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImNhc2Utdmlldy1jb250YWluZXJcIiBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBzdHJldGNoXCI+XG4gICAgPG5jLWJyZWFkY3J1bWJzPjwvbmMtYnJlYWRjcnVtYnM+XG5cbiAgICA8ZGl2IGNsYXNzPVwiY2FzZS12aWV3LXNlYXJjaC1jb250YWluZXJcIj5cbiAgICAgICAgPGRpdiBmeExheW91dD1cInJvd1wiIGNsYXNzPVwibWF4LWhlaWdodFwiIGZ4TGF5b3V0QWxpZ249XCJzcGFjZS1iZXR3ZWVuXCI+XG4gICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIiBmeEZsZXg+XG4gICAgICAgICAgICAgICAgPG5jLXNlYXJjaCBjbGFzcz1cInNlYXJjaC13aWR0aCBzZWFyY2gtZml4XCIgKGZpbHRlckxvYWRlZCk9XCJsb2FkRmlsdGVyKCRldmVudClcIj48L25jLXNlYXJjaD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBmeExheW91dEFsaWduPVwiZW5kIGNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxuYy1jcmVhdGUtY2FzZS1idXR0b24gW25ld0Nhc2VDcmVhdGlvbkNvbmZpZ109XCJuZXdDYXNlQ3JlYXRpb25Db25maWdcIiAoY2FzZUNyZWF0ZWRFdmVudCk9XCJoYW5kbGVDYXNlQ2xpY2soJGV2ZW50KVwiPjwvbmMtY3JlYXRlLWNhc2UtYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImZ1bGwtaGVpZ2h0IHRyYW5zZm9ybS1kaXYgY3VzdG9tLXNjcm9sbGJhclwiXG4gICAgICAgICBbbmdDbGFzc109XCJ7J292ZXJmbG93LWRpdic6IGdldE92ZXJmbG93U3RhdHVzKCl9XCIgZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeExheW91dEFsaWduPVwic3RhcnQgc3RyZXRjaFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZnVsbC1oZWlnaHQgdHJhbnNmb3JtLWRpdiBtYXgtd2lkdGgtZml4XCIgZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeExheW91dEFsaWduPVwic3RhcnQgc3RyZXRjaFwiPlxuICAgICAgICAgICAgPG5jLWhlYWRlciAjaGVhZGVyIFt0eXBlXT1cImhlYWRlclR5cGVcIiBbbWF4SGVhZGVyQ29sdW1uc109XCI5XCIgW3Jlc3BvbnNpdmVIZWFkZXJzXT1cImZhbHNlXCIgW25nU3R5bGVdPVwieyd3aWR0aCc6IGdldFdpZHRoKCl9XCIgY2xhc3M9XCJjYXNlLWhlYWRlci1wYWRkaW5nXCI+PC9uYy1oZWFkZXI+XG5cbiAgICAgICAgICAgIDxuYy1jYXNlLWxpc3QgW3NlbGVjdGVkSGVhZGVycyRdPVwic2VsZWN0ZWRIZWFkZXJzJFwiICBbc2hvd0RlbGV0ZU1lbnVdPVwidHJ1ZVwiIFt3aWR0aF09XCJnZXRXaWR0aCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKGNhc2VDbGljayk9XCJoYW5kbGVDYXNlQ2xpY2soJGV2ZW50KVwiIFtyZXNwb25zaXZlQm9keV09XCJ0cnVlXCIgZnhGbGV4IFt0ZXh0RWxsaXBzaXNdPVwidHJ1ZVwiPjwvbmMtY2FzZS1saXN0PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuXG4iXX0=
177
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC10YWJiZWQtY2FzZS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL25hdmlnYXRpb24vZ3JvdXAtbmF2aWdhdGlvbi1jb21wb25lbnQtcmVzb2x2ZXIvZGVmYXVsdC1jb21wb25lbnRzL2RlZmF1bHQtdGFiYmVkLWNhc2Utdmlldy9kZWZhdWx0LXRhYmJlZC1jYXNlLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzL3NyYy9saWIvbmF2aWdhdGlvbi9ncm91cC1uYXZpZ2F0aW9uLWNvbXBvbmVudC1yZXNvbHZlci9kZWZhdWx0LWNvbXBvbmVudHMvZGVmYXVsdC10YWJiZWQtY2FzZS12aWV3L2RlZmF1bHQtdGFiYmVkLWNhc2Utdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFDSCwrQkFBK0IsRUFDL0Isa0JBQWtCLEVBQ2xCLHlCQUF5QixFQUN6QixzQkFBc0IsRUFFdEIsZUFBZSxFQUNmLGVBQWUsRUFDZix1QkFBdUIsRUFFdkIsdUJBQXVCLEVBQ3ZCLFVBQVUsRUFDVixVQUFVLEVBRVYsYUFBYSxFQUNiLGVBQWUsRUFDZixrQ0FBa0MsRUFDbEMsbUJBQW1CLEVBQ25CLGtDQUFrQyxFQUNsQyxxQkFBcUIsRUFDckIsWUFBWSxFQUdaLGFBQWEsRUFDYixZQUFZLEVBQ1osYUFBYSxFQUNiLDJDQUEyQyxFQUMzQyw2QkFBNkIsRUFDN0IsZUFBZSxHQUNsQixNQUFNLDBCQUEwQixDQUFDO0FBS2xDLE9BQU8sRUFDSCw2Q0FBNkMsRUFDN0MsaUNBQWlDLEVBQ2pDLDJDQUEyQyxFQUM5QyxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7Ozs7OztBQWtDbEMsTUFBTSxPQUFPLDhCQUErQixTQUFRLCtCQUErQjtJQWEvRSxZQUFZLGVBQWdDLEVBQ2hDLGFBQTRCLEVBQzVCLGFBQTRCLEVBQzVCLGVBQWdDLEVBQ0EsZ0JBQXNFO1FBQzlHLEtBQUssQ0FBQyxlQUFlLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFEcEcscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFzRDtRQUc5RyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsZ0JBQWdCLENBQUMsK0JBQStCLENBQUMsaUJBQWlCLENBQUM7UUFDNUYsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDLCtCQUErQixDQUFDLHNCQUFzQixDQUFDO1FBQ2hHLElBQUksQ0FBQyxZQUFZLEdBQUcsZ0JBQWdCLENBQUMsK0JBQStCLENBQUMsaUJBQWlCLEtBQUssU0FBUyxDQUFDO1FBQ3JHLElBQUksQ0FBQyxjQUFjLEdBQUcsZ0JBQWdCLENBQUMsb0JBQW9CLENBQUM7UUFDNUQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLGdCQUFnQixDQUFDLHlCQUF5QixDQUFDO1FBQ3BFLElBQUksQ0FBQyxXQUFXLEdBQUcsZ0JBQWdCLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDcEcsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsc0JBQXNCLENBQUM7UUFDbkUsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBRTlGLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3RCLE1BQU0sTUFBTSxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUM7WUFDcEMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsZUFBZSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1NBQzNEO0lBQ0wsQ0FBQztJQUVELGVBQWU7UUFDWCxLQUFLLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRUQsVUFBVSxDQUFDLFVBQStCO1FBQ3RDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDO1lBQ3JDLEtBQUssRUFBRTtnQkFDSCxJQUFJLEVBQUUsVUFBVSxDQUFDLE1BQU0sQ0FBQyxLQUFLO2FBQ2hDO1lBQ0QsV0FBVyxFQUFFLElBQUk7WUFDakIsbUJBQW1CLEVBQUUsOEJBQThCO1lBQ25ELGNBQWMsRUFBRSxFQUFDLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsVUFBVSxFQUFDO1lBQzdFLEtBQUssRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWTtZQUN6QyxjQUFjLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVc7U0FDcEQsRUFBRSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVTLE9BQU8sQ0FBQyxRQUFjO1FBQzVCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDO1lBQ3JDLEtBQUssRUFBRTtnQkFDSCxJQUFJLEVBQUUsUUFBUSxDQUFDLEtBQUs7Z0JBQ3BCLElBQUksRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXO2FBQ3BEO1lBQ0QsV0FBVyxFQUFFLElBQUk7WUFDakIsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQjtZQUMzRCxjQUFjLEVBQUU7Z0JBQ1osVUFBVSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDO2dCQUN4QyxXQUFXLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQztnQkFDOUMsc0JBQXNCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLHNCQUFzQjtnQkFDcEUsdUJBQXVCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLCtCQUErQjtnQkFDOUUsWUFBWSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxvQkFBb0I7Z0JBQ3hELGlCQUFpQixFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyx5QkFBeUI7Z0JBQ2xFLFdBQVcsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsbUJBQW1CO2dCQUN0RCxjQUFjLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLHNCQUFzQjtnQkFDNUQsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLDBCQUEwQjthQUN2RTtZQUNELEtBQUssRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWTtZQUN6QyxjQUFjLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVc7U0FDcEQsRUFBRSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVTLGFBQWEsQ0FBQyxRQUFjO1FBQ2xDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLHdCQUF3QixDQUFDO1FBQ3hFLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQywyQkFBMkIsQ0FBQztRQUN2RSxNQUFNLFVBQVUsR0FBRyxJQUFJLFlBQVksQ0FBQyxFQUFFLEVBQUUsVUFBVSxDQUFDLElBQUksRUFBRSxFQUFDLElBQUksRUFBRSxFQUFDLEVBQUUsRUFBRSxHQUFHLFFBQVEsQ0FBQyxRQUFRLEVBQUUsRUFBQyxFQUFDLENBQUMsQ0FBQztRQUUvRixJQUFJLE1BQU0sQ0FBQztRQUNYLElBQUksZ0JBQWdCLEtBQUssU0FBUyxFQUFFO1lBQ2hDLE1BQU0sR0FBRyxVQUFVLENBQUM7U0FDdkI7YUFBTTtZQUNILElBQUksWUFBWSxFQUFFO2dCQUNkLE1BQU0sR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUNsRTtpQkFBTTtnQkFDSCxNQUFNLEdBQUcsZ0JBQWdCLENBQUM7YUFDN0I7U0FDSjtRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7SUFFUyxrQkFBa0IsQ0FBQyxRQUFjO1FBQ3ZDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLHdCQUF3QixDQUFDO1FBQ3hFLElBQUksZ0JBQWdCLElBQUksU0FBUyxFQUFFO1lBQy9CLE9BQU8sQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsQ0FBQztTQUN2QztRQUVELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQywyQkFBMkIsQ0FBQztRQUN2RSxNQUFNLHFCQUFxQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLDZCQUE2QixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFFN0ksT0FBTyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLGlCQUFpQixFQUFFLEdBQUcscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUE7SUFDeEcsQ0FBQztJQUVELG1CQUFtQixDQUFDLE1BQWM7UUFDOUIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxNQUFNLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRVMsaUJBQWlCLENBQUMsSUFBWTtRQUNwQyxRQUFRLElBQUksRUFBRTtZQUNWLEtBQUssTUFBTTtnQkFDUCxPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQUM7WUFDM0IsS0FBSyxNQUFNO2dCQUNQLE9BQU8sVUFBVSxDQUFDLElBQUksQ0FBQztZQUMzQixLQUFLLFFBQVE7Z0JBQ1QsT0FBTyxVQUFVLENBQUMsTUFBTSxDQUFDO1lBQzdCO2dCQUNJLE9BQU8sU0FBUyxDQUFDO1NBQ3hCO0lBQ0wsQ0FBQzs7NEhBM0hRLDhCQUE4QiwwSUFpQm5CLFlBQVk7Z0hBakJ2Qiw4QkFBOEIsc0RBNUI1QjtRQUNQLGVBQWU7UUFDZixlQUFlO1FBQ2YsYUFBYTtRQUNiLGFBQWE7UUFDYixlQUFlO1FBQ2Y7WUFDSSxPQUFPLEVBQUUsZUFBZTtZQUN4QixVQUFVLEVBQUUsaUNBQWlDO1lBQzdDLElBQUksRUFBRSxDQUFDLHVCQUF1QixFQUFFLFlBQVksQ0FBQztTQUNoRDtRQUNEO1lBQ0ksT0FBTyxFQUFFLGtCQUFrQjtZQUMzQixVQUFVLEVBQUUsNkNBQTZDO1lBQ3pELElBQUksRUFBRSxDQUFDLHlCQUF5QixFQUFFLHNCQUFzQixFQUFFLFlBQVksQ0FBQztTQUMxRTtRQUNEO1lBQ0ksT0FBTyxFQUFFLHFCQUFxQjtZQUM5QixVQUFVLEVBQUUsMkNBQTJDO1lBQ3ZELElBQUksRUFBRSxDQUFDLHVCQUF1QixFQUFFLFlBQVksRUFBRSxrQ0FBa0MsRUFBRSxrQ0FBa0MsQ0FBQztTQUN4SDtRQUNEO1lBQ0ksT0FBTyxFQUFFLG1CQUFtQjtZQUM1QixVQUFVLEVBQUUsMkNBQTJDO1lBQ3ZELElBQUksRUFBRSxDQUFDLDZCQUE2QixDQUFDO1NBQ3hDO0tBQ0osZ0tDdkVMLGc0REEyQkE7NEZEOENhLDhCQUE4QjtrQkFoQzFDLFNBQVM7K0JBQ0ksNkJBQTZCLGFBRzVCO3dCQUNQLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZjs0QkFDSSxPQUFPLEVBQUUsZUFBZTs0QkFDeEIsVUFBVSxFQUFFLGlDQUFpQzs0QkFDN0MsSUFBSSxFQUFFLENBQUMsdUJBQXVCLEVBQUUsWUFBWSxDQUFDO3lCQUNoRDt3QkFDRDs0QkFDSSxPQUFPLEVBQUUsa0JBQWtCOzRCQUMzQixVQUFVLEVBQUUsNkNBQTZDOzRCQUN6RCxJQUFJLEVBQUUsQ0FBQyx5QkFBeUIsRUFBRSxzQkFBc0IsRUFBRSxZQUFZLENBQUM7eUJBQzFFO3dCQUNEOzRCQUNJLE9BQU8sRUFBRSxxQkFBcUI7NEJBQzlCLFVBQVUsRUFBRSwyQ0FBMkM7NEJBQ3ZELElBQUksRUFBRSxDQUFDLHVCQUF1QixFQUFFLFlBQVksRUFBRSxrQ0FBa0MsRUFBRSxrQ0FBa0MsQ0FBQzt5QkFDeEg7d0JBQ0Q7NEJBQ0ksT0FBTyxFQUFFLG1CQUFtQjs0QkFDNUIsVUFBVSxFQUFFLDJDQUEyQzs0QkFDdkQsSUFBSSxFQUFFLENBQUMsNkJBQTZCLENBQUM7eUJBQ3hDO3FCQUNKOzswQkFtQlksTUFBTTsyQkFBQyxZQUFZOzRDQWZKLG1CQUFtQjtzQkFBOUMsU0FBUzt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEluamVjdCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RUYWJiZWRDYXNlVmlld0NvbXBvbmVudCxcbiAgICBBbGxvd2VkTmV0c1NlcnZpY2UsXG4gICAgQWxsb3dlZE5ldHNTZXJ2aWNlRmFjdG9yeSxcbiAgICBCYXNlQWxsb3dlZE5ldHNTZXJ2aWNlLFxuICAgIENhc2UsXG4gICAgQ2FzZVZpZXdTZXJ2aWNlLFxuICAgIENhdGVnb3J5RmFjdG9yeSxcbiAgICBDYXRlZ29yeVJlc29sdmVyU2VydmljZSxcbiAgICBGaWx0ZXIsXG4gICAgRmlsdGVyRXh0cmFjdGlvblNlcnZpY2UsXG4gICAgRmlsdGVyVHlwZSxcbiAgICBIZWFkZXJNb2RlLFxuICAgIExvZ2dlclNlcnZpY2UsXG4gICAgTWVyZ2VPcGVyYXRvcixcbiAgICBOQUVfQkFTRV9GSUxURVIsXG4gICAgTkFFX0RFRkFVTFRfQ0FTRV9TRUFSQ0hfQ0FURUdPUklFUyxcbiAgICBOQUVfREVGQVVMVF9IRUFERVJTLFxuICAgIE5BRV9ERUZBVUxUX1RBU0tfU0VBUkNIX0NBVEVHT1JJRVMsXG4gICAgTkFFX1NFQVJDSF9DQVRFR09SSUVTLFxuICAgIE5BRV9UQUJfREFUQSxcbiAgICBTYXZlZEZpbHRlck1ldGFkYXRhLFxuICAgIFNlYXJjaE1vZGUsXG4gICAgU2VhcmNoU2VydmljZSxcbiAgICBTaW1wbGVGaWx0ZXIsXG4gICAgVmlld0lkU2VydmljZSxcbiAgICBuYXZpZ2F0aW9uSXRlbUNhc2VWaWV3RGVmYXVsdEhlYWRlcnNGYWN0b3J5LFxuICAgIE5BRV9OQVZJR0FUSU9OX0lURU1fVEFTS19EQVRBLFxuICAgIE92ZXJmbG93U2VydmljZSxcbn0gZnJvbSAnQG5ldGdyaWYvY29tcG9uZW50cy1jb3JlJztcbmltcG9ydCB7SGVhZGVyQ29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi8uLi9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICAgIEluamVjdGVkVGFiYmVkQ2FzZVZpZXdEYXRhV2l0aE5hdmlnYXRpb25JdGVtVGFza0RhdGFcbn0gZnJvbSAnLi4vbW9kZWwvaW5qZWN0ZWQtdGFiYmVkLWNhc2Utdmlldy1kYXRhLXdpdGgtbmF2aWdhdGlvbi1pdGVtLXRhc2stZGF0YSc7XG5pbXBvcnQge1xuICAgIGZpbHRlckNhc2VUYWJiZWREYXRhQWxsb3dlZE5ldHNTZXJ2aWNlRmFjdG9yeSxcbiAgICBmaWx0ZXJDYXNlVGFiYmVkRGF0YUZpbHRlckZhY3RvcnksXG4gICAgZmlsdGVyQ2FzZVRhYmJlZERhdGFTZWFyY2hDYXRlZ29yaWVzRmFjdG9yeVxufSBmcm9tICcuLi9tb2RlbC9mYWN0b3J5LW1ldGhvZHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25jLWRlZmF1bHQtdGFiYmVkLWNhc2UtdmlldycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RlZmF1bHQtdGFiYmVkLWNhc2Utdmlldy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZGVmYXVsdC10YWJiZWQtY2FzZS12aWV3LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIENhdGVnb3J5RmFjdG9yeSxcbiAgICAgICAgQ2FzZVZpZXdTZXJ2aWNlLFxuICAgICAgICBTZWFyY2hTZXJ2aWNlLFxuICAgICAgICBWaWV3SWRTZXJ2aWNlLFxuICAgICAgICBPdmVyZmxvd1NlcnZpY2UsXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5BRV9CQVNFX0ZJTFRFUixcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6IGZpbHRlckNhc2VUYWJiZWREYXRhRmlsdGVyRmFjdG9yeSxcbiAgICAgICAgICAgIGRlcHM6IFtGaWx0ZXJFeHRyYWN0aW9uU2VydmljZSwgTkFFX1RBQl9EQVRBXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBBbGxvd2VkTmV0c1NlcnZpY2UsXG4gICAgICAgICAgICB1c2VGYWN0b3J5OiBmaWx0ZXJDYXNlVGFiYmVkRGF0YUFsbG93ZWROZXRzU2VydmljZUZhY3RvcnksXG4gICAgICAgICAgICBkZXBzOiBbQWxsb3dlZE5ldHNTZXJ2aWNlRmFjdG9yeSwgQmFzZUFsbG93ZWROZXRzU2VydmljZSwgTkFFX1RBQl9EQVRBXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOQUVfU0VBUkNIX0NBVEVHT1JJRVMsXG4gICAgICAgICAgICB1c2VGYWN0b3J5OiBmaWx0ZXJDYXNlVGFiYmVkRGF0YVNlYXJjaENhdGVnb3JpZXNGYWN0b3J5LFxuICAgICAgICAgICAgZGVwczogW0NhdGVnb3J5UmVzb2x2ZXJTZXJ2aWNlLCBOQUVfVEFCX0RBVEEsIE5BRV9ERUZBVUxUX0NBU0VfU0VBUkNIX0NBVEVHT1JJRVMsIE5BRV9ERUZBVUxUX1RBU0tfU0VBUkNIX0NBVEVHT1JJRVNdXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5BRV9ERUZBVUxUX0hFQURFUlMsXG4gICAgICAgICAgICB1c2VGYWN0b3J5OiBuYXZpZ2F0aW9uSXRlbUNhc2VWaWV3RGVmYXVsdEhlYWRlcnNGYWN0b3J5LFxuICAgICAgICAgICAgZGVwczogW05BRV9OQVZJR0FUSU9OX0lURU1fVEFTS19EQVRBXVxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBEZWZhdWx0VGFiYmVkQ2FzZVZpZXdDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdFRhYmJlZENhc2VWaWV3Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgICBAVmlld0NoaWxkKCdoZWFkZXInKSBwdWJsaWMgY2FzZUhlYWRlckNvbXBvbmVudDogSGVhZGVyQ29tcG9uZW50O1xuXG4gICAgaW5pdGlhbFNlYXJjaE1vZGU6IFNlYXJjaE1vZGU7XG4gICAgc2hvd1RvZ2dsZUJ1dHRvbjogYm9vbGVhbjtcbiAgICBlbmFibGVTZWFyY2g6IGJvb2xlYW47XG4gICAgc2hvd0RlbGV0ZU1lbnU6IGJvb2xlYW47XG4gICAgaGVhZGVyc0NoYW5nZWFibGU6IGJvb2xlYW47XG4gICAgaGVhZGVyc01vZGU6IHN0cmluZ1tdO1xuICAgIGFsbG93VGFibGVNb2RlOiBib29sZWFuO1xuICAgIGRlZmF1bHRIZWFkZXJzTW9kZTogSGVhZGVyTW9kZTtcblxuICAgIGNvbnN0cnVjdG9yKGNhc2VWaWV3U2VydmljZTogQ2FzZVZpZXdTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIGxvZ2dlclNlcnZpY2U6IExvZ2dlclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgdmlld0lkU2VydmljZTogVmlld0lkU2VydmljZSxcbiAgICAgICAgICAgICAgICBvdmVyZmxvd1NlcnZpY2U6IE92ZXJmbG93U2VydmljZSxcbiAgICAgICAgICAgICAgICBASW5qZWN0KE5BRV9UQUJfREFUQSkgcHJvdGVjdGVkIF9pbmplY3RlZFRhYkRhdGE6IEluamVjdGVkVGFiYmVkQ2FzZVZpZXdEYXRhV2l0aE5hdmlnYXRpb25JdGVtVGFza0RhdGEpIHtcbiAgICAgICAgc3VwZXIoY2FzZVZpZXdTZXJ2aWNlLCBsb2dnZXJTZXJ2aWNlLCBfaW5qZWN0ZWRUYWJEYXRhLCBvdmVyZmxvd1NlcnZpY2UsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBfaW5qZWN0ZWRUYWJEYXRhLm5ld0Nhc2VCdXR0b25Db25maWd1cmF0aW9uKTtcblxuICAgICAgICB0aGlzLmluaXRpYWxTZWFyY2hNb2RlID0gX2luamVjdGVkVGFiRGF0YS5jYXNlVmlld1NlYXJjaFR5cGVDb25maWd1cmF0aW9uLmluaXRpYWxTZWFyY2hNb2RlO1xuICAgICAgICB0aGlzLnNob3dUb2dnbGVCdXR0b24gPSBfaW5qZWN0ZWRUYWJEYXRhLmNhc2VWaWV3U2VhcmNoVHlwZUNvbmZpZ3VyYXRpb24uc2hvd1NlYXJjaFRvZ2dsZUJ1dHRvbjtcbiAgICAgICAgdGhpcy5lbmFibGVTZWFyY2ggPSBfaW5qZWN0ZWRUYWJEYXRhLmNhc2VWaWV3U2VhcmNoVHlwZUNvbmZpZ3VyYXRpb24uaW5pdGlhbFNlYXJjaE1vZGUgIT09IHVuZGVmaW5lZDtcbiAgICAgICAgdGhpcy5zaG93RGVsZXRlTWVudSA9IF9pbmplY3RlZFRhYkRhdGEuY2FzZVZpZXdTaG93TW9yZU1lbnU7XG4gICAgICAgIHRoaXMuaGVhZGVyc0NoYW5nZWFibGUgPSBfaW5qZWN0ZWRUYWJEYXRhLmNhc2VWaWV3SGVhZGVyc0NoYW5nZWFibGU7XG4gICAgICAgIHRoaXMuaGVhZGVyc01vZGUgPSBfaW5qZWN0ZWRUYWJEYXRhLmNhc2VWaWV3SGVhZGVyc01vZGUgPyBfaW5qZWN0ZWRUYWJEYXRhLmNhc2VWaWV3SGVhZGVyc01vZGUgOiBbXTtcbiAgICAgICAgdGhpcy5hbGxvd1RhYmxlTW9kZSA9IHRoaXMuX2luamVjdGVkVGFiRGF0YS5jYXNlVmlld0FsbG93VGFibGVNb2RlO1xuICAgICAgICB0aGlzLmRlZmF1bHRIZWFkZXJzTW9kZSA9IHRoaXMucmVzb2x2ZUhlYWRlck1vZGUoX2luamVjdGVkVGFiRGF0YS5jYXNlVmlld0RlZmF1bHRIZWFkZXJzTW9kZSk7XG5cbiAgICAgICAgaWYgKCF0aGlzLmFsbG93VGFibGVNb2RlKSB7XG4gICAgICAgICAgICBjb25zdCB2aWV3SWQgPSB2aWV3SWRTZXJ2aWNlLnZpZXdJZDtcbiAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHZpZXdJZCArICctb3ZlcmZsb3dNb2RlJywgJ2ZhbHNlJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLmluaXRpYWxpemVIZWFkZXIodGhpcy5jYXNlSGVhZGVyQ29tcG9uZW50KTtcbiAgICAgICAgdGhpcy5jYXNlSGVhZGVyQ29tcG9uZW50LmNoYW5nZUhlYWRlcnNNb2RlKHRoaXMuZGVmYXVsdEhlYWRlcnNNb2RlLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgbG9hZEZpbHRlcihmaWx0ZXJEYXRhOiBTYXZlZEZpbHRlck1ldGFkYXRhKSB7XG4gICAgICAgIHRoaXMuX2luamVjdGVkVGFiRGF0YS50YWJWaWV3UmVmLm9wZW5UYWIoe1xuICAgICAgICAgICAgbGFiZWw6IHtcbiAgICAgICAgICAgICAgICB0ZXh0OiBmaWx0ZXJEYXRhLmZpbHRlci50aXRsZVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGNhbkJlQ2xvc2VkOiB0cnVlLFxuICAgICAgICAgICAgdGFiQ29udGVudENvbXBvbmVudDogRGVmYXVsdFRhYmJlZENhc2VWaWV3Q29tcG9uZW50LFxuICAgICAgICAgICAgaW5qZWN0ZWRPYmplY3Q6IHsuLi50aGlzLl9pbmplY3RlZFRhYkRhdGEsIGZpbHRlckNhc2U6IGZpbHRlckRhdGEuZmlsdGVyQ2FzZX0sXG4gICAgICAgICAgICBvcmRlcjogdGhpcy5faW5qZWN0ZWRUYWJEYXRhLnRhYlZpZXdPcmRlcixcbiAgICAgICAgICAgIHBhcmVudFVuaXF1ZUlkOiB0aGlzLl9pbmplY3RlZFRhYkRhdGEudGFiVW5pcXVlSWRcbiAgICAgICAgfSwgdGhpcy5fYXV0b3N3aXRjaFRvVGFza1RhYiwgdGhpcy5fb3BlbkV4aXN0aW5nVGFiKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3BlblRhYihvcGVuQ2FzZTogQ2FzZSkge1xuICAgICAgICB0aGlzLl9pbmplY3RlZFRhYkRhdGEudGFiVmlld1JlZi5vcGVuVGFiKHtcbiAgICAgICAgICAgIGxhYmVsOiB7XG4gICAgICAgICAgICAgICAgdGV4dDogb3BlbkNhc2UudGl0bGUsXG4gICAgICAgICAgICAgICAgaWNvbjogb3BlbkNhc2UuaWNvbiA/IG9wZW5DYXNlLmljb24gOiAnY2hlY2tfYm94J1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGNhbkJlQ2xvc2VkOiB0cnVlLFxuICAgICAgICAgICAgdGFiQ29udGVudENvbXBvbmVudDogdGhpcy5faW5qZWN0ZWRUYWJEYXRhLnRhYlZpZXdDb21wb25lbnQsXG4gICAgICAgICAgICBpbmplY3RlZE9iamVjdDoge1xuICAgICAgICAgICAgICAgIGJhc2VGaWx0ZXI6IHRoaXMucmVzb2x2ZUZpbHRlcihvcGVuQ2FzZSksXG4gICAgICAgICAgICAgICAgYWxsb3dlZE5ldHM6IHRoaXMucmVzb2x2ZUFsbG93ZWROZXRzKG9wZW5DYXNlKSxcbiAgICAgICAgICAgICAgICBuYXZpZ2F0aW9uSXRlbVRhc2tEYXRhOiB0aGlzLl9pbmplY3RlZFRhYkRhdGEubmF2aWdhdGlvbkl0ZW1UYXNrRGF0YSxcbiAgICAgICAgICAgICAgICBzZWFyY2hUeXBlQ29uZmlndXJhdGlvbjogdGhpcy5faW5qZWN0ZWRUYWJEYXRhLnRhc2tWaWV3U2VhcmNoVHlwZUNvbmZpZ3VyYXRpb24sXG4gICAgICAgICAgICAgICAgc2hvd01vcmVNZW51OiB0aGlzLl9pbmplY3RlZFRhYkRhdGEudGFza1ZpZXdTaG93TW9yZU1lbnUsXG4gICAgICAgICAgICAgICAgaGVhZGVyc0NoYW5nZWFibGU6IHRoaXMuX2luamVjdGVkVGFiRGF0YS50YXNrVmlld0hlYWRlcnNDaGFuZ2VhYmxlLFxuICAgICAgICAgICAgICAgIGhlYWRlcnNNb2RlOiB0aGlzLl9pbmplY3RlZFRhYkRhdGEudGFza1ZpZXdIZWFkZXJzTW9kZSxcbiAgICAgICAgICAgICAgICBhbGxvd1RhYmxlTW9kZTogdGhpcy5faW5qZWN0ZWRUYWJEYXRhLnRhc2tWaWV3QWxsb3dUYWJsZU1vZGUsXG4gICAgICAgICAgICAgICAgZGVmYXVsdEhlYWRlcnNNb2RlOiB0aGlzLl9pbmplY3RlZFRhYkRhdGEudGFza1ZpZXdEZWZhdWx0SGVhZGVyc01vZGVcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvcmRlcjogdGhpcy5faW5qZWN0ZWRUYWJEYXRhLnRhYlZpZXdPcmRlcixcbiAgICAgICAgICAgIHBhcmVudFVuaXF1ZUlkOiB0aGlzLl9pbmplY3RlZFRhYkRhdGEudGFiVW5pcXVlSWRcbiAgICAgICAgfSwgdGhpcy5fYXV0b3N3aXRjaFRvVGFza1RhYiwgdGhpcy5fb3BlbkV4aXN0aW5nVGFiKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcmVzb2x2ZUZpbHRlcihvcGVuQ2FzZTogQ2FzZSk6IEZpbHRlciB7XG4gICAgICAgIGNvbnN0IGFkZGl0aW9uYWxGaWx0ZXIgPSB0aGlzLl9pbmplY3RlZFRhYkRhdGEudGFza1ZpZXdBZGRpdGlvbmFsRmlsdGVyO1xuICAgICAgICBjb25zdCBtZXJnZUZpbHRlcnMgPSB0aGlzLl9pbmplY3RlZFRhYkRhdGEudGFza1ZpZXdNZXJnZVdpdGhCYXNlRmlsdGVyO1xuICAgICAgICBjb25zdCBiYXNlRmlsdGVyID0gbmV3IFNpbXBsZUZpbHRlcignJywgRmlsdGVyVHlwZS5UQVNLLCB7Y2FzZToge2lkOiBgJHtvcGVuQ2FzZS5zdHJpbmdJZH1gfX0pO1xuXG4gICAgICAgIGxldCBmaWx0ZXI7XG4gICAgICAgIGlmIChhZGRpdGlvbmFsRmlsdGVyID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGZpbHRlciA9IGJhc2VGaWx0ZXI7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAobWVyZ2VGaWx0ZXJzKSB7XG4gICAgICAgICAgICAgICAgZmlsdGVyID0gYWRkaXRpb25hbEZpbHRlci5tZXJnZShiYXNlRmlsdGVyLCBNZXJnZU9wZXJhdG9yLkFORCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGZpbHRlciA9IGFkZGl0aW9uYWxGaWx0ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZmlsdGVyO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCByZXNvbHZlQWxsb3dlZE5ldHMob3BlbkNhc2U6IENhc2UpOiBzdHJpbmdbXSB7XG4gICAgICAgIGNvbnN0IGFkZGl0aW9uYWxGaWx0ZXIgPSB0aGlzLl9pbmplY3RlZFRhYkRhdGEudGFza1ZpZXdBZGRpdGlvbmFsRmlsdGVyO1xuICAgICAgICBpZiAoYWRkaXRpb25hbEZpbHRlciA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBbb3BlbkNhc2UucHJvY2Vzc0lkZW50aWZpZXJdO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbWVyZ2VGaWx0ZXJzID0gdGhpcy5faW5qZWN0ZWRUYWJEYXRhLnRhc2tWaWV3TWVyZ2VXaXRoQmFzZUZpbHRlcjtcbiAgICAgICAgY29uc3QgYWRkaXRpb25hbEFsbG93ZWROZXRzID0gdGhpcy5faW5qZWN0ZWRUYWJEYXRhLnRhc2tWaWV3QWRkaXRpb25hbEFsbG93ZWROZXRzID8gdGhpcy5faW5qZWN0ZWRUYWJEYXRhLnRhc2tWaWV3QWRkaXRpb25hbEFsbG93ZWROZXRzIDogW107XG5cbiAgICAgICAgcmV0dXJuIG1lcmdlRmlsdGVycyA/IFtvcGVuQ2FzZS5wcm9jZXNzSWRlbnRpZmllciwgLi4uYWRkaXRpb25hbEFsbG93ZWROZXRzXSA6IGFkZGl0aW9uYWxBbGxvd2VkTmV0c1xuICAgIH1cblxuICAgIGlzTWVudU9wdGlvbkVuYWJsZWQob3B0aW9uOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGVhZGVyc01vZGUuc29tZShlID0+IGUgPT09IG9wdGlvbik7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHJlc29sdmVIZWFkZXJNb2RlKG1vZGU6IHN0cmluZyk6IEhlYWRlck1vZGUge1xuICAgICAgICBzd2l0Y2ggKG1vZGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ3NvcnQnOlxuICAgICAgICAgICAgICAgIHJldHVybiBIZWFkZXJNb2RlLlNPUlQ7XG4gICAgICAgICAgICBjYXNlICdlZGl0JzpcbiAgICAgICAgICAgICAgICByZXR1cm4gSGVhZGVyTW9kZS5FRElUO1xuICAgICAgICAgICAgY2FzZSAnc2VhcmNoJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gSGVhZGVyTW9kZS5TRUFSQ0g7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY2FzZS12aWV3LWNvbnRhaW5lclwiIGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IHN0cmV0Y2hcIj5cbiAgICA8bmMtYnJlYWRjcnVtYnM+PC9uYy1icmVhZGNydW1icz5cblxuICAgIDxkaXYgY2xhc3M9XCJjYXNlLXZpZXctc2VhcmNoLWNvbnRhaW5lclwiPlxuICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgY2xhc3M9XCJtYXgtaGVpZ2h0XCIgZnhMYXlvdXRBbGlnbj1cInNwYWNlLWJldHdlZW5cIj5cbiAgICAgICAgICAgIDxkaXYgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IGNlbnRlclwiIGZ4RmxleD5cbiAgICAgICAgICAgICAgICA8bmMtc2VhcmNoIGNsYXNzPVwic2VhcmNoLXdpZHRoIHNlYXJjaC1maXhcIiAqbmdJZj1cIihlbmFibGVTZWFyY2gpXCIgW3Nob3dTZWFyY2hUb2dnbGVCdXR0b25dPVwic2hvd1RvZ2dsZUJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5pdGlhbFNlYXJjaE1vZGVdPVwiaW5pdGlhbFNlYXJjaE1vZGVcIiAoZmlsdGVyTG9hZGVkKT1cImxvYWRGaWx0ZXIoJGV2ZW50KVwiPjwvbmMtc2VhcmNoPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0QWxpZ249XCJlbmQgY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgPG5jLWNyZWF0ZS1jYXNlLWJ1dHRvbiBbbmV3Q2FzZUNyZWF0aW9uQ29uZmlnXT1cIm5ld0Nhc2VDcmVhdGlvbkNvbmZpZ1wiIChjYXNlQ3JlYXRlZEV2ZW50KT1cImhhbmRsZUNhc2VDbGljaygkZXZlbnQpXCI+PC9uYy1jcmVhdGUtY2FzZS1idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZnVsbC1oZWlnaHQgdHJhbnNmb3JtLWRpdiBjdXN0b20tc2Nyb2xsYmFyXCJcbiAgICAgICAgIFtuZ0NsYXNzXT1cInsnb3ZlcmZsb3ctZGl2JzogZ2V0T3ZlcmZsb3dTdGF0dXMoKX1cIiBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBzdHJldGNoXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmdWxsLWhlaWdodCB0cmFuc2Zvcm0tZGl2IG1heC13aWR0aC1maXhcIiBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBzdHJldGNoXCI+XG4gICAgICAgICAgICA8bmMtaGVhZGVyICNoZWFkZXIgW3R5cGVdPVwiaGVhZGVyVHlwZVwiIFttYXhIZWFkZXJDb2x1bW5zXT1cIjlcIiBbcmVzcG9uc2l2ZUhlYWRlcnNdPVwiZmFsc2VcIiBbbmdTdHlsZV09XCJ7J3dpZHRoJzogZ2V0V2lkdGgoKX1cIiBbaGlkZUhlYWRlck1lbnVdPVwiIWhlYWRlcnNDaGFuZ2VhYmxlXCIgW3Nob3dFZGl0QnV0dG9uXT1cImlzTWVudU9wdGlvbkVuYWJsZWQoJ2VkaXQnKVwiXG4gICAgICAgICAgICAgICAgICAgICAgIFtzaG93U29ydEJ1dHRvbl09XCJpc01lbnVPcHRpb25FbmFibGVkKCdzb3J0JylcIiBbc2hvd1NlYXJjaEJ1dHRvbl09XCJpc01lbnVPcHRpb25FbmFibGVkKCdzZWFyY2gnKVwiXG4gICAgICAgICAgICAgICAgICAgICAgIFtzaG93VGFibGVTZWN0aW9uXT1cImFsbG93VGFibGVNb2RlXCIgY2xhc3M9XCJjYXNlLWhlYWRlci1wYWRkaW5nXCI+PC9uYy1oZWFkZXI+XG5cbiAgICAgICAgICAgIDxuYy1jYXNlLWxpc3QgW3NlbGVjdGVkSGVhZGVycyRdPVwic2VsZWN0ZWRIZWFkZXJzJFwiIFt0ZXh0RWxsaXBzaXNdPVwidHJ1ZVwiIFtzaG93RGVsZXRlTWVudV09XCJzaG93RGVsZXRlTWVudVwiIFt3aWR0aF09XCJnZXRXaWR0aCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKGNhc2VDbGljayk9XCJoYW5kbGVDYXNlQ2xpY2soJGV2ZW50KVwiIFtyZXNwb25zaXZlQm9keV09XCJ0cnVlXCIgZnhGbGV4PjwvbmMtY2FzZS1saXN0PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,11 +1,12 @@
1
- import { Component, Inject, ViewChild } from '@angular/core';
2
- import { NAE_TAB_DATA, TaskViewService, AbstractTabbedTaskViewComponent, CategoryFactory, SearchService, NAE_BASE_FILTER, AllowedNetsService, AllowedNetsServiceFactory, ViewIdService, NAE_TASK_VIEW_CONFIGURATION, ChangedFieldsService, tabbedTaskViewConfigurationFactory, tabbedAllowedNetsServiceFactory } from '@netgrif/components-core';
1
+ import { Component, Inject, Optional, ViewChild } from '@angular/core';
2
+ import { NAE_TAB_DATA, TaskViewService, AbstractTabbedTaskViewComponent, CategoryFactory, SearchService, NAE_BASE_FILTER, AllowedNetsService, AllowedNetsServiceFactory, ViewIdService, NAE_TASK_VIEW_CONFIGURATION, ChangedFieldsService, navigationItemTaskViewDefaultHeadersFactory, tabbedTaskViewConfigurationFactory, tabbedAllowedNetsServiceFactory, HeaderMode, NAE_DEFAULT_HEADERS, NAE_NAVIGATION_ITEM_TASK_DATA, OverflowService, } from '@netgrif/components-core';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@netgrif/components-core";
5
5
  import * as i2 from "../../../../search/search-component/search.component";
6
6
  import * as i3 from "../../../../header/header.component";
7
7
  import * as i4 from "../../../../panel/task-panel-list/task-list.component";
8
8
  import * as i5 from "@angular/flex-layout/flex";
9
+ import * as i6 from "@angular/common";
9
10
  export function baseFilterFactory(injectedTabData) {
10
11
  return {
11
12
  filter: injectedTabData.baseFilter
@@ -14,9 +15,31 @@ export function baseFilterFactory(injectedTabData) {
14
15
  export class DefaultTabbedTaskViewComponent extends AbstractTabbedTaskViewComponent {
15
16
  constructor(taskViewService, injectedTabData) {
16
17
  super(taskViewService, injectedTabData);
18
+ this.initialSearchMode = injectedTabData.searchTypeConfiguration.initialSearchMode;
19
+ this.showToggleButton = injectedTabData.searchTypeConfiguration.showSearchToggleButton;
20
+ this.enableSearch = injectedTabData.searchTypeConfiguration.initialSearchMode !== undefined;
21
+ this.headersChangeable = injectedTabData.headersChangeable;
22
+ this.headersMode = injectedTabData.headersMode ? injectedTabData.headersMode : [];
23
+ this.allowTableMode = injectedTabData.allowTableMode;
24
+ this.defaultHeadersMode = this.resolveHeaderMode(injectedTabData.defaultHeadersMode);
25
+ this.showMoreMenu = injectedTabData.showMoreMenu;
17
26
  }
18
27
  ngAfterViewInit() {
19
28
  this.initializeHeader(this.taskHeaderComponent);
29
+ this.taskHeaderComponent.changeHeadersMode(this.defaultHeadersMode, false);
30
+ }
31
+ isMenuOptionEnabled(option) {
32
+ return this.headersMode.some(e => e === option);
33
+ }
34
+ resolveHeaderMode(mode) {
35
+ switch (mode) {
36
+ case 'sort':
37
+ return HeaderMode.SORT;
38
+ case 'edit':
39
+ return HeaderMode.EDIT;
40
+ default:
41
+ return undefined;
42
+ }
20
43
  }
21
44
  }
22
45
  DefaultTabbedTaskViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DefaultTabbedTaskViewComponent, deps: [{ token: i1.TaskViewService }, { token: NAE_TAB_DATA }], target: i0.ɵɵFactoryTarget.Component });
@@ -24,8 +47,9 @@ DefaultTabbedTaskViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
24
47
  CategoryFactory,
25
48
  TaskViewService,
26
49
  SearchService,
50
+ ViewIdService,
27
51
  ChangedFieldsService,
28
- { provide: ViewIdService, useValue: null },
52
+ OverflowService,
29
53
  {
30
54
  provide: NAE_BASE_FILTER,
31
55
  useFactory: baseFilterFactory,
@@ -40,16 +64,22 @@ DefaultTabbedTaskViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
40
64
  provide: NAE_TASK_VIEW_CONFIGURATION,
41
65
  useFactory: tabbedTaskViewConfigurationFactory,
42
66
  deps: [NAE_TAB_DATA]
67
+ },
68
+ {
69
+ provide: NAE_DEFAULT_HEADERS,
70
+ useFactory: navigationItemTaskViewDefaultHeadersFactory,
71
+ deps: [[new Optional(), NAE_NAVIGATION_ITEM_TASK_DATA]]
43
72
  }
44
- ], viewQueries: [{ propertyName: "taskHeaderComponent", first: true, predicate: ["header"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"task-tab-background full-height min-height-task-custom\">\n <div fxLayout=\"column\" fxLayoutAlign=\"start stretch\" class=\"content-margin full-height\" >\n <div class=\"search-panel\">\n <nc-search class=\"search-width\"></nc-search>\n </div>\n <nc-header #header type=\"task\" class=\"task-panel-padding-mini\"></nc-header>\n <nc-task-list [tasks$]=\"tasks$\" [loading$]=\"loading$\" [allowMultiOpen]=\"false\" [selectedHeaders$]=\"selectedHeaders$\" [textEllipsis]=\"true\" fxFlex></nc-task-list>\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 0}.content-margin{margin:8px 24px 0}.task-panel-padding-mini{padding-top:16px;padding-left:1px;padding-right:1px}.full-height{height:calc(100% - 8px)}.search-width{width:100%}.min-height-task-custom{min-height:400px}@media screen and (max-width: 599.99px){.content-margin{margin:8px 12px 0}}\n"], components: [{ type: i2.SearchComponent, selector: "nc-search" }, { type: i3.HeaderComponent, selector: "nc-header" }, { type: i4.TaskListComponent, selector: "nc-task-list" }], directives: [{ type: i5.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"] }, { type: i5.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"] }, { type: i5.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"] }] });
73
+ ], viewQueries: [{ propertyName: "taskHeaderComponent", first: true, predicate: ["header"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"task-tab-background full-height min-height-task-custom\">\n <div fxLayout=\"column\" fxLayoutAlign=\"start stretch\" class=\"content-margin full-height\" >\n <div class=\"search-panel\" *ngIf=\"(enableSearch)\">\n <nc-search class=\"search-width\" [showSearchToggleButton]=\"showToggleButton\"\n [initialSearchMode]=\"initialSearchMode\"></nc-search>\n </div>\n <nc-header #header type=\"task\" [hideHeaderMenu]=\"!headersChangeable\"\n [showEditButton]=\"isMenuOptionEnabled('edit')\"\n [showSortButton]=\"isMenuOptionEnabled('sort')\" [showTableSection]=\"allowTableMode\" class=\"task-panel-padding-mini\"></nc-header>\n\n <nc-task-list [tasks$]=\"tasks$\" [loading$]=\"loading$\" [allowMultiOpen]=\"false\"\n [selectedHeaders$]=\"selectedHeaders$\" [textEllipsis]=\"true\" [showMoreMenu]=\"showMoreMenu\"\n fxFlex></nc-task-list>\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 0}.content-margin{margin:8px 24px 0}.task-panel-padding-mini{padding-top:16px;padding-left:1px;padding-right:1px}.full-height{height:calc(100% - 8px)}.search-width{width:100%}.min-height-task-custom{min-height:400px}@media screen and (max-width: 599.99px){.content-margin{margin:8px 12px 0}}\n"], components: [{ type: i2.SearchComponent, selector: "nc-search" }, { type: i3.HeaderComponent, selector: "nc-header" }, { type: i4.TaskListComponent, selector: "nc-task-list" }], directives: [{ type: i5.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"] }, { type: i5.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"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.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"] }] });
45
74
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DefaultTabbedTaskViewComponent, decorators: [{
46
75
  type: Component,
47
76
  args: [{ selector: 'nc-default-tabbed-task-view', providers: [
48
77
  CategoryFactory,
49
78
  TaskViewService,
50
79
  SearchService,
80
+ ViewIdService,
51
81
  ChangedFieldsService,
52
- { provide: ViewIdService, useValue: null },
82
+ OverflowService,
53
83
  {
54
84
  provide: NAE_BASE_FILTER,
55
85
  useFactory: baseFilterFactory,
@@ -64,8 +94,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
64
94
  provide: NAE_TASK_VIEW_CONFIGURATION,
65
95
  useFactory: tabbedTaskViewConfigurationFactory,
66
96
  deps: [NAE_TAB_DATA]
97
+ },
98
+ {
99
+ provide: NAE_DEFAULT_HEADERS,
100
+ useFactory: navigationItemTaskViewDefaultHeadersFactory,
101
+ deps: [[new Optional(), NAE_NAVIGATION_ITEM_TASK_DATA]]
67
102
  }
68
- ], template: "<div class=\"task-tab-background full-height min-height-task-custom\">\n <div fxLayout=\"column\" fxLayoutAlign=\"start stretch\" class=\"content-margin full-height\" >\n <div class=\"search-panel\">\n <nc-search class=\"search-width\"></nc-search>\n </div>\n <nc-header #header type=\"task\" class=\"task-panel-padding-mini\"></nc-header>\n <nc-task-list [tasks$]=\"tasks$\" [loading$]=\"loading$\" [allowMultiOpen]=\"false\" [selectedHeaders$]=\"selectedHeaders$\" [textEllipsis]=\"true\" fxFlex></nc-task-list>\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 0}.content-margin{margin:8px 24px 0}.task-panel-padding-mini{padding-top:16px;padding-left:1px;padding-right:1px}.full-height{height:calc(100% - 8px)}.search-width{width:100%}.min-height-task-custom{min-height:400px}@media screen and (max-width: 599.99px){.content-margin{margin:8px 12px 0}}\n"] }]
103
+ ], template: "<div class=\"task-tab-background full-height min-height-task-custom\">\n <div fxLayout=\"column\" fxLayoutAlign=\"start stretch\" class=\"content-margin full-height\" >\n <div class=\"search-panel\" *ngIf=\"(enableSearch)\">\n <nc-search class=\"search-width\" [showSearchToggleButton]=\"showToggleButton\"\n [initialSearchMode]=\"initialSearchMode\"></nc-search>\n </div>\n <nc-header #header type=\"task\" [hideHeaderMenu]=\"!headersChangeable\"\n [showEditButton]=\"isMenuOptionEnabled('edit')\"\n [showSortButton]=\"isMenuOptionEnabled('sort')\" [showTableSection]=\"allowTableMode\" class=\"task-panel-padding-mini\"></nc-header>\n\n <nc-task-list [tasks$]=\"tasks$\" [loading$]=\"loading$\" [allowMultiOpen]=\"false\"\n [selectedHeaders$]=\"selectedHeaders$\" [textEllipsis]=\"true\" [showMoreMenu]=\"showMoreMenu\"\n fxFlex></nc-task-list>\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 0}.content-margin{margin:8px 24px 0}.task-panel-padding-mini{padding-top:16px;padding-left:1px;padding-right:1px}.full-height{height:calc(100% - 8px)}.search-width{width:100%}.min-height-task-custom{min-height:400px}@media screen and (max-width: 599.99px){.content-margin{margin:8px 12px 0}}\n"] }]
69
104
  }], ctorParameters: function () { return [{ type: i1.TaskViewService }, { type: undefined, decorators: [{
70
105
  type: Inject,
71
106
  args: [NAE_TAB_DATA]
@@ -73,4 +108,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
73
108
  type: ViewChild,
74
109
  args: ['header']
75
110
  }] } });
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC10YWJiZWQtdGFzay12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL25hdmlnYXRpb24vZ3JvdXAtbmF2aWdhdGlvbi1jb21wb25lbnQtcmVzb2x2ZXIvZGVmYXVsdC1jb21wb25lbnRzL2RlZmF1bHQtdGFiYmVkLXRhc2stdmlldy9kZWZhdWx0LXRhYmJlZC10YXNrLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzL3NyYy9saWIvbmF2aWdhdGlvbi9ncm91cC1uYXZpZ2F0aW9uLWNvbXBvbmVudC1yZXNvbHZlci9kZWZhdWx0LWNvbXBvbmVudHMvZGVmYXVsdC10YWJiZWQtdGFzay12aWV3L2RlZmF1bHQtdGFiYmVkLXRhc2stdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFDSCxZQUFZLEVBQ1osZUFBZSxFQUNmLCtCQUErQixFQUUvQixlQUFlLEVBQ2YsYUFBYSxFQUNiLGVBQWUsRUFDZixrQkFBa0IsRUFDbEIseUJBQXlCLEVBQ3pCLGFBQWEsRUFDYiwyQkFBMkIsRUFDM0Isb0JBQW9CLEVBQ3BCLGtDQUFrQyxFQUNsQywrQkFBK0IsRUFDbEMsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7OztBQUdsQyxNQUFNLFVBQVUsaUJBQWlCLENBQUMsZUFBMkM7SUFDekUsT0FBTztRQUNILE1BQU0sRUFBRSxlQUFlLENBQUMsVUFBVTtLQUNyQyxDQUFDO0FBQ04sQ0FBQztBQTZCRCxNQUFNLE9BQU8sOEJBQStCLFNBQVEsK0JBQStCO0lBSS9FLFlBQVksZUFBZ0MsRUFBd0IsZUFBMkM7UUFDM0csS0FBSyxDQUFDLGVBQWUsRUFBRSxlQUFlLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUNwRCxDQUFDOzs0SEFWUSw4QkFBOEIsaURBSWUsWUFBWTtnSEFKekQsOEJBQThCLHNEQXZCNUI7UUFDUCxlQUFlO1FBQ2YsZUFBZTtRQUNmLGFBQWE7UUFDYixvQkFBb0I7UUFDcEIsRUFBSSxPQUFPLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUM7UUFDM0M7WUFDSSxPQUFPLEVBQUUsZUFBZTtZQUN4QixVQUFVLEVBQUUsaUJBQWlCO1lBQzdCLElBQUksRUFBRSxDQUFDLFlBQVksQ0FBQztTQUN2QjtRQUNEO1lBQ0ksT0FBTyxFQUFFLGtCQUFrQjtZQUMzQixVQUFVLEVBQUUsK0JBQStCO1lBQzNDLElBQUksRUFBRSxDQUFDLHlCQUF5QixFQUFFLFlBQVksQ0FBQztTQUNsRDtRQUNEO1lBQ0ksT0FBTyxFQUFFLDJCQUEyQjtZQUNwQyxVQUFVLEVBQUUsa0NBQWtDO1lBQzlDLElBQUksRUFBRSxDQUFDLFlBQVksQ0FBQztTQUN2QjtLQUNKLGdLQ2xETCxta0JBU0E7NEZEMkNhLDhCQUE4QjtrQkEzQjFDLFNBQVM7K0JBQ0ksNkJBQTZCLGFBRzVCO3dCQUNQLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixhQUFhO3dCQUNiLG9CQUFvQjt3QkFDcEIsRUFBSSxPQUFPLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUM7d0JBQzNDOzRCQUNJLE9BQU8sRUFBRSxlQUFlOzRCQUN4QixVQUFVLEVBQUUsaUJBQWlCOzRCQUM3QixJQUFJLEVBQUUsQ0FBQyxZQUFZLENBQUM7eUJBQ3ZCO3dCQUNEOzRCQUNJLE9BQU8sRUFBRSxrQkFBa0I7NEJBQzNCLFVBQVUsRUFBRSwrQkFBK0I7NEJBQzNDLElBQUksRUFBRSxDQUFDLHlCQUF5QixFQUFFLFlBQVksQ0FBQzt5QkFDbEQ7d0JBQ0Q7NEJBQ0ksT0FBTyxFQUFFLDJCQUEyQjs0QkFDcEMsVUFBVSxFQUFFLGtDQUFrQzs0QkFDOUMsSUFBSSxFQUFFLENBQUMsWUFBWSxDQUFDO3lCQUN2QjtxQkFDSjs7MEJBTThDLE1BQU07MkJBQUMsWUFBWTs0Q0FGdEMsbUJBQW1CO3NCQUE5QyxTQUFTO3VCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyVmlld0luaXQsIENvbXBvbmVudCwgSW5qZWN0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBOQUVfVEFCX0RBVEEsXG4gICAgVGFza1ZpZXdTZXJ2aWNlLFxuICAgIEFic3RyYWN0VGFiYmVkVGFza1ZpZXdDb21wb25lbnQsXG4gICAgSW5qZWN0ZWRUYWJiZWRUYXNrVmlld0RhdGEsXG4gICAgQ2F0ZWdvcnlGYWN0b3J5LFxuICAgIFNlYXJjaFNlcnZpY2UsXG4gICAgTkFFX0JBU0VfRklMVEVSLFxuICAgIEFsbG93ZWROZXRzU2VydmljZSxcbiAgICBBbGxvd2VkTmV0c1NlcnZpY2VGYWN0b3J5LFxuICAgIFZpZXdJZFNlcnZpY2UsXG4gICAgTkFFX1RBU0tfVklFV19DT05GSUdVUkFUSU9OLFxuICAgIENoYW5nZWRGaWVsZHNTZXJ2aWNlLFxuICAgIHRhYmJlZFRhc2tWaWV3Q29uZmlndXJhdGlvbkZhY3RvcnksXG4gICAgdGFiYmVkQWxsb3dlZE5ldHNTZXJ2aWNlRmFjdG9yeVxufSBmcm9tICdAbmV0Z3JpZi9jb21wb25lbnRzLWNvcmUnO1xuaW1wb3J0IHtIZWFkZXJDb21wb25lbnR9IGZyb20gJy4uLy4uLy4uLy4uL2hlYWRlci9oZWFkZXIuY29tcG9uZW50JztcblxuZXhwb3J0IGZ1bmN0aW9uIGJhc2VGaWx0ZXJGYWN0b3J5KGluamVjdGVkVGFiRGF0YTogSW5qZWN0ZWRUYWJiZWRUYXNrVmlld0RhdGEpIHtcbiAgICByZXR1cm4ge1xuICAgICAgICBmaWx0ZXI6IGluamVjdGVkVGFiRGF0YS5iYXNlRmlsdGVyXG4gICAgfTtcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduYy1kZWZhdWx0LXRhYmJlZC10YXNrLXZpZXcnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kZWZhdWx0LXRhYmJlZC10YXNrLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2RlZmF1bHQtdGFiYmVkLXRhc2stdmlldy5jb21wb25lbnQuc2NzcyddLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBDYXRlZ29yeUZhY3RvcnksXG4gICAgICAgIFRhc2tWaWV3U2VydmljZSxcbiAgICAgICAgU2VhcmNoU2VydmljZSxcbiAgICAgICAgQ2hhbmdlZEZpZWxkc1NlcnZpY2UsXG4gICAgICAgIHsgICBwcm92aWRlOiBWaWV3SWRTZXJ2aWNlLCB1c2VWYWx1ZTogbnVsbH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5BRV9CQVNFX0ZJTFRFUixcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6IGJhc2VGaWx0ZXJGYWN0b3J5LFxuICAgICAgICAgICAgZGVwczogW05BRV9UQUJfREFUQV1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogQWxsb3dlZE5ldHNTZXJ2aWNlLFxuICAgICAgICAgICAgdXNlRmFjdG9yeTogdGFiYmVkQWxsb3dlZE5ldHNTZXJ2aWNlRmFjdG9yeSxcbiAgICAgICAgICAgIGRlcHM6IFtBbGxvd2VkTmV0c1NlcnZpY2VGYWN0b3J5LCBOQUVfVEFCX0RBVEFdXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5BRV9UQVNLX1ZJRVdfQ09ORklHVVJBVElPTixcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6IHRhYmJlZFRhc2tWaWV3Q29uZmlndXJhdGlvbkZhY3RvcnksXG4gICAgICAgICAgICBkZXBzOiBbTkFFX1RBQl9EQVRBXVxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBEZWZhdWx0VGFiYmVkVGFza1ZpZXdDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdFRhYmJlZFRhc2tWaWV3Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgICBAVmlld0NoaWxkKCdoZWFkZXInKSBwdWJsaWMgdGFza0hlYWRlckNvbXBvbmVudDogSGVhZGVyQ29tcG9uZW50O1xuXG4gICAgY29uc3RydWN0b3IodGFza1ZpZXdTZXJ2aWNlOiBUYXNrVmlld1NlcnZpY2UsIEBJbmplY3QoTkFFX1RBQl9EQVRBKSBpbmplY3RlZFRhYkRhdGE6IEluamVjdGVkVGFiYmVkVGFza1ZpZXdEYXRhKSB7XG4gICAgICAgIHN1cGVyKHRhc2tWaWV3U2VydmljZSwgaW5qZWN0ZWRUYWJEYXRhKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZUhlYWRlcih0aGlzLnRhc2tIZWFkZXJDb21wb25lbnQpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ0YXNrLXRhYi1iYWNrZ3JvdW5kIGZ1bGwtaGVpZ2h0IG1pbi1oZWlnaHQtdGFzay1jdXN0b21cIj5cbiAgICA8ZGl2IGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IHN0cmV0Y2hcIiBjbGFzcz1cImNvbnRlbnQtbWFyZ2luIGZ1bGwtaGVpZ2h0XCIgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoLXBhbmVsXCI+XG4gICAgICAgICAgICA8bmMtc2VhcmNoIGNsYXNzPVwic2VhcmNoLXdpZHRoXCI+PC9uYy1zZWFyY2g+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmMtaGVhZGVyICNoZWFkZXIgdHlwZT1cInRhc2tcIiBjbGFzcz1cInRhc2stcGFuZWwtcGFkZGluZy1taW5pXCI+PC9uYy1oZWFkZXI+XG4gICAgICAgIDxuYy10YXNrLWxpc3QgW3Rhc2tzJF09XCJ0YXNrcyRcIiBbbG9hZGluZyRdPVwibG9hZGluZyRcIiBbYWxsb3dNdWx0aU9wZW5dPVwiZmFsc2VcIiBbc2VsZWN0ZWRIZWFkZXJzJF09XCJzZWxlY3RlZEhlYWRlcnMkXCIgW3RleHRFbGxpcHNpc109XCJ0cnVlXCIgZnhGbGV4PjwvbmMtdGFzay1saXN0PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC10YWJiZWQtdGFzay12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL25hdmlnYXRpb24vZ3JvdXAtbmF2aWdhdGlvbi1jb21wb25lbnQtcmVzb2x2ZXIvZGVmYXVsdC1jb21wb25lbnRzL2RlZmF1bHQtdGFiYmVkLXRhc2stdmlldy9kZWZhdWx0LXRhYmJlZC10YXNrLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzL3NyYy9saWIvbmF2aWdhdGlvbi9ncm91cC1uYXZpZ2F0aW9uLWNvbXBvbmVudC1yZXNvbHZlci9kZWZhdWx0LWNvbXBvbmVudHMvZGVmYXVsdC10YWJiZWQtdGFzay12aWV3L2RlZmF1bHQtdGFiYmVkLXRhc2stdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQ0gsWUFBWSxFQUNaLGVBQWUsRUFDZiwrQkFBK0IsRUFDL0IsZUFBZSxFQUNmLGFBQWEsRUFDYixlQUFlLEVBQ2Ysa0JBQWtCLEVBQ2xCLHlCQUF5QixFQUN6QixhQUFhLEVBQ2IsMkJBQTJCLEVBQzNCLG9CQUFvQixFQUNwQiwyQ0FBMkMsRUFDM0Msa0NBQWtDLEVBQ2xDLCtCQUErQixFQUUvQixVQUFVLEVBQ1YsbUJBQW1CLEVBQ25CLDZCQUE2QixFQUM3QixlQUFlLEdBQ2xCLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7O0FBTWxDLE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxlQUFxRTtJQUNuRyxPQUFPO1FBQ0gsTUFBTSxFQUFFLGVBQWUsQ0FBQyxVQUFVO0tBQ3JDLENB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LENBQUM7eUJBQ3ZCO3dCQUNEOzRCQUNJLE9BQU8sRUFBRSxrQkFBa0I7NEJBQzNCLFVBQVUsRUFBRSwrQkFBK0I7NEJBQzNDLElBQUksRUFBRSxDQUFDLHlCQUF5QixFQUFFLFlBQVksQ0FBQzt5QkFDbEQ7d0JBQ0Q7NEJBQ0ksT0FBTyxFQUFFLDJCQUEyQjs0QkFDcEMsVUFBVSxFQUFFLGtDQUFrQzs0QkFDOUMsSUFBSSxFQUFFLENBQUMsWUFBWSxDQUFDO3lCQUN2Qjt3QkFDRDs0QkFDSSxPQUFPLEVBQUUsbUJBQW1COzRCQUM1QixVQUFVLEVBQUUsMkNBQTJDOzRCQUN2RCxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksUUFBUSxFQUFFLEVBQUUsNkJBQTZCLENBQUMsQ0FBQzt5QkFDMUQ7cUJBQ0o7OzBCQWU4QyxNQUFNOzJCQUFDLFlBQVk7NENBWHRDLG1CQUFtQjtzQkFBOUMsU0FBUzt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEluamVjdCwgT3B0aW9uYWwsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIE5BRV9UQUJfREFUQSxcbiAgICBUYXNrVmlld1NlcnZpY2UsXG4gICAgQWJzdHJhY3RUYWJiZWRUYXNrVmlld0NvbXBvbmVudCxcbiAgICBDYXRlZ29yeUZhY3RvcnksXG4gICAgU2VhcmNoU2VydmljZSxcbiAgICBOQUVfQkFTRV9GSUxURVIsXG4gICAgQWxsb3dlZE5ldHNTZXJ2aWNlLFxuICAgIEFsbG93ZWROZXRzU2VydmljZUZhY3RvcnksXG4gICAgVmlld0lkU2VydmljZSxcbiAgICBOQUVfVEFTS19WSUVXX0NPTkZJR1VSQVRJT04sXG4gICAgQ2hhbmdlZEZpZWxkc1NlcnZpY2UsXG4gICAgbmF2aWdhdGlvbkl0ZW1UYXNrVmlld0RlZmF1bHRIZWFkZXJzRmFjdG9yeSxcbiAgICB0YWJiZWRUYXNrVmlld0NvbmZpZ3VyYXRpb25GYWN0b3J5LFxuICAgIHRhYmJlZEFsbG93ZWROZXRzU2VydmljZUZhY3RvcnksXG4gICAgU2VhcmNoTW9kZSxcbiAgICBIZWFkZXJNb2RlLFxuICAgIE5BRV9ERUZBVUxUX0hFQURFUlMsXG4gICAgTkFFX05BVklHQVRJT05fSVRFTV9UQVNLX0RBVEEsXG4gICAgT3ZlcmZsb3dTZXJ2aWNlLFxufSBmcm9tICdAbmV0Z3JpZi9jb21wb25lbnRzLWNvcmUnO1xuaW1wb3J0IHtIZWFkZXJDb21wb25lbnR9IGZyb20gJy4uLy4uLy4uLy4uL2hlYWRlci9oZWFkZXIuY29tcG9uZW50JztcbmltcG9ydCB7XG4gICAgSW5qZWN0ZWRUYWJiZWRUYXNrVmlld0RhdGFXaXRoTmF2aWdhdGlvbkl0ZW1UYXNrRGF0YVxufSBmcm9tIFwiLi4vbW9kZWwvaW5qZWN0ZWQtdGFiYmVkLXRhc2stdmlldy1kYXRhLXdpdGgtbmF2aWdhdGlvbi1pdGVtLXRhc2stZGF0YVwiO1xuXG5leHBvcnQgZnVuY3Rpb24gYmFzZUZpbHRlckZhY3RvcnkoaW5qZWN0ZWRUYWJEYXRhOiBJbmplY3RlZFRhYmJlZFRhc2tWaWV3RGF0YVdpdGhOYXZpZ2F0aW9uSXRlbVRhc2tEYXRhKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgZmlsdGVyOiBpbmplY3RlZFRhYkRhdGEuYmFzZUZpbHRlclxuICAgIH07XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmMtZGVmYXVsdC10YWJiZWQtdGFzay12aWV3JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZGVmYXVsdC10YWJiZWQtdGFzay12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kZWZhdWx0LXRhYmJlZC10YXNrLXZpZXcuY29tcG9uZW50LnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgQ2F0ZWdvcnlGYWN0b3J5LFxuICAgICAgICBUYXNrVmlld1NlcnZpY2UsXG4gICAgICAgIFNlYXJjaFNlcnZpY2UsXG4gICAgICAgIFZpZXdJZFNlcnZpY2UsXG4gICAgICAgIENoYW5nZWRGaWVsZHNTZXJ2aWNlLFxuICAgICAgICBPdmVyZmxvd1NlcnZpY2UsXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5BRV9CQVNFX0ZJTFRFUixcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6IGJhc2VGaWx0ZXJGYWN0b3J5LFxuICAgICAgICAgICAgZGVwczogW05BRV9UQUJfREFUQV1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogQWxsb3dlZE5ldHNTZXJ2aWNlLFxuICAgICAgICAgICAgdXNlRmFjdG9yeTogdGFiYmVkQWxsb3dlZE5ldHNTZXJ2aWNlRmFjdG9yeSxcbiAgICAgICAgICAgIGRlcHM6IFtBbGxvd2VkTmV0c1NlcnZpY2VGYWN0b3J5LCBOQUVfVEFCX0RBVEFdXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5BRV9UQVNLX1ZJRVdfQ09ORklHVVJBVElPTixcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6IHRhYmJlZFRhc2tWaWV3Q29uZmlndXJhdGlvbkZhY3RvcnksXG4gICAgICAgICAgICBkZXBzOiBbTkFFX1RBQl9EQVRBXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOQUVfREVGQVVMVF9IRUFERVJTLFxuICAgICAgICAgICAgdXNlRmFjdG9yeTogbmF2aWdhdGlvbkl0ZW1UYXNrVmlld0RlZmF1bHRIZWFkZXJzRmFjdG9yeSxcbiAgICAgICAgICAgIGRlcHM6IFtbbmV3IE9wdGlvbmFsKCksIE5BRV9OQVZJR0FUSU9OX0lURU1fVEFTS19EQVRBXV1cbiAgICAgICAgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgRGVmYXVsdFRhYmJlZFRhc2tWaWV3Q29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RUYWJiZWRUYXNrVmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuXG4gICAgQFZpZXdDaGlsZCgnaGVhZGVyJykgcHVibGljIHRhc2tIZWFkZXJDb21wb25lbnQ6IEhlYWRlckNvbXBvbmVudDtcblxuICAgIGluaXRpYWxTZWFyY2hNb2RlOiBTZWFyY2hNb2RlO1xuICAgIHNob3dUb2dnbGVCdXR0b246IGJvb2xlYW47XG4gICAgZW5hYmxlU2VhcmNoOiBib29sZWFuO1xuICAgIGhlYWRlcnNDaGFuZ2VhYmxlOiBib29sZWFuO1xuICAgIGhlYWRlcnNNb2RlOiBzdHJpbmdbXTtcbiAgICBhbGxvd1RhYmxlTW9kZTogYm9vbGVhbjtcbiAgICBkZWZhdWx0SGVhZGVyc01vZGU6IEhlYWRlck1vZGU7XG4gICAgc2hvd01vcmVNZW51OiBib29sZWFuO1xuXG4gICAgY29uc3RydWN0b3IodGFza1ZpZXdTZXJ2aWNlOiBUYXNrVmlld1NlcnZpY2UsIEBJbmplY3QoTkFFX1RBQl9EQVRBKSBpbmplY3RlZFRhYkRhdGE6IEluamVjdGVkVGFiYmVkVGFza1ZpZXdEYXRhV2l0aE5hdmlnYXRpb25JdGVtVGFza0RhdGEpIHtcbiAgICAgICAgc3VwZXIodGFza1ZpZXdTZXJ2aWNlLCBpbmplY3RlZFRhYkRhdGEpO1xuXG4gICAgICAgIHRoaXMuaW5pdGlhbFNlYXJjaE1vZGUgPSBpbmplY3RlZFRhYkRhdGEuc2VhcmNoVHlwZUNvbmZpZ3VyYXRpb24uaW5pdGlhbFNlYXJjaE1vZGU7XG4gICAgICAgIHRoaXMuc2hvd1RvZ2dsZUJ1dHRvbiA9IGluamVjdGVkVGFiRGF0YS5zZWFyY2hUeXBlQ29uZmlndXJhdGlvbi5zaG93U2VhcmNoVG9nZ2xlQnV0dG9uO1xuICAgICAgICB0aGlzLmVuYWJsZVNlYXJjaCA9IGluamVjdGVkVGFiRGF0YS5zZWFyY2hUeXBlQ29uZmlndXJhdGlvbi5pbml0aWFsU2VhcmNoTW9kZSAhPT0gdW5kZWZpbmVkO1xuICAgICAgICB0aGlzLmhlYWRlcnNDaGFuZ2VhYmxlID0gaW5qZWN0ZWRUYWJEYXRhLmhlYWRlcnNDaGFuZ2VhYmxlO1xuICAgICAgICB0aGlzLmhlYWRlcnNNb2RlID0gaW5qZWN0ZWRUYWJEYXRhLmhlYWRlcnNNb2RlID8gaW5qZWN0ZWRUYWJEYXRhLmhlYWRlcnNNb2RlIDogW107XG4gICAgICAgIHRoaXMuYWxsb3dUYWJsZU1vZGUgPSBpbmplY3RlZFRhYkRhdGEuYWxsb3dUYWJsZU1vZGU7XG4gICAgICAgIHRoaXMuZGVmYXVsdEhlYWRlcnNNb2RlID0gdGhpcy5yZXNvbHZlSGVhZGVyTW9kZShpbmplY3RlZFRhYkRhdGEuZGVmYXVsdEhlYWRlcnNNb2RlKTtcbiAgICAgICAgdGhpcy5zaG93TW9yZU1lbnUgPSBpbmplY3RlZFRhYkRhdGEuc2hvd01vcmVNZW51O1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplSGVhZGVyKHRoaXMudGFza0hlYWRlckNvbXBvbmVudCk7XG4gICAgICAgIHRoaXMudGFza0hlYWRlckNvbXBvbmVudC5jaGFuZ2VIZWFkZXJzTW9kZSh0aGlzLmRlZmF1bHRIZWFkZXJzTW9kZSwgZmFsc2UpO1xuICAgIH1cblxuICAgIGlzTWVudU9wdGlvbkVuYWJsZWQob3B0aW9uOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGVhZGVyc01vZGUuc29tZShlID0+IGUgPT09IG9wdGlvbik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXNvbHZlSGVhZGVyTW9kZShtb2RlOiBzdHJpbmcpOiBIZWFkZXJNb2RlIHtcbiAgICAgICAgc3dpdGNoIChtb2RlKSB7XG4gICAgICAgICAgICBjYXNlICdzb3J0JzpcbiAgICAgICAgICAgICAgICByZXR1cm4gSGVhZGVyTW9kZS5TT1JUO1xuICAgICAgICAgICAgY2FzZSAnZWRpdCc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEhlYWRlck1vZGUuRURJVDtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ0YXNrLXRhYi1iYWNrZ3JvdW5kIGZ1bGwtaGVpZ2h0IG1pbi1oZWlnaHQtdGFzay1jdXN0b21cIj5cbiAgICA8ZGl2IGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IHN0cmV0Y2hcIiBjbGFzcz1cImNvbnRlbnQtbWFyZ2luIGZ1bGwtaGVpZ2h0XCIgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoLXBhbmVsXCIgKm5nSWY9XCIoZW5hYmxlU2VhcmNoKVwiPlxuICAgICAgICAgICAgPG5jLXNlYXJjaCBjbGFzcz1cInNlYXJjaC13aWR0aFwiIFtzaG93U2VhcmNoVG9nZ2xlQnV0dG9uXT1cInNob3dUb2dnbGVCdXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICBbaW5pdGlhbFNlYXJjaE1vZGVdPVwiaW5pdGlhbFNlYXJjaE1vZGVcIj48L25jLXNlYXJjaD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuYy1oZWFkZXIgI2hlYWRlciB0eXBlPVwidGFza1wiIFtoaWRlSGVhZGVyTWVudV09XCIhaGVhZGVyc0NoYW5nZWFibGVcIlxuICAgICAgICAgICAgICAgICAgIFtzaG93RWRpdEJ1dHRvbl09XCJpc01lbnVPcHRpb25FbmFibGVkKCdlZGl0JylcIlxuICAgICAgICAgICAgICAgICAgIFtzaG93U29ydEJ1dHRvbl09XCJpc01lbnVPcHRpb25FbmFibGVkKCdzb3J0JylcIiBbc2hvd1RhYmxlU2VjdGlvbl09XCJhbGxvd1RhYmxlTW9kZVwiIGNsYXNzPVwidGFzay1wYW5lbC1wYWRkaW5nLW1pbmlcIj48L25jLWhlYWRlcj5cblxuICAgICAgICA8bmMtdGFzay1saXN0IFt0YXNrcyRdPVwidGFza3MkXCIgW2xvYWRpbmckXT1cImxvYWRpbmckXCIgW2FsbG93TXVsdGlPcGVuXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRIZWFkZXJzJF09XCJzZWxlY3RlZEhlYWRlcnMkXCIgW3RleHRFbGxpcHNpc109XCJ0cnVlXCIgW3Nob3dNb3JlTWVudV09XCJzaG93TW9yZU1lbnVcIlxuICAgICAgICAgICAgICAgICAgICAgIGZ4RmxleD48L25jLXRhc2stbGlzdD5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0ZWQtdGFiYmVkLWNhc2Utdmlldy1kYXRhLXdpdGgtbmF2aWdhdGlvbi1pdGVtLXRhc2stZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL25hdmlnYXRpb24vZ3JvdXAtbmF2aWdhdGlvbi1jb21wb25lbnQtcmVzb2x2ZXIvZGVmYXVsdC1jb21wb25lbnRzL21vZGVsL2luamVjdGVkLXRhYmJlZC1jYXNlLXZpZXctZGF0YS13aXRoLW5hdmlnYXRpb24taXRlbS10YXNrLWRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0ZWRUYWJiZWRDYXNlVmlld0RhdGEsIERhdGFHcm91cCwgTmV3Q2FzZUNyZWF0aW9uQ29uZmlndXJhdGlvbkRhdGEgfSBmcm9tICdAbmV0Z3JpZi9jb21wb25lbnRzLWNvcmUnO1xuXG4vKipcbiAqIEEgdmFyaWF0aW9uIG9mIHtAbGluayBJbmplY3RlZFRhYmJlZENhc2VWaWV3RGF0YX0gdGhhdCBjb250YWluIHRoZSB0YXNrIGRhdGEgb2YgYSBuYXZpZ2F0aW9uIGl0ZW0gdGFzay5cbiAqXG4gKiBJdCBpcyB1c2VkIHRvIHJlc29sdmUgZmlsdGVyIGFuZCB2aXN1YWwgYXR0cmlidXRlcyBvZiBkeW5hbWljIG5hdmlnYXRpb24gdmlld3NcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbmplY3RlZFRhYmJlZENhc2VWaWV3RGF0YVdpdGhOYXZpZ2F0aW9uSXRlbVRhc2tEYXRhIGV4dGVuZHMgSW5qZWN0ZWRUYWJiZWRDYXNlVmlld0RhdGEge1xuICAgIG5hdmlnYXRpb25JdGVtVGFza0RhdGE6IEFycmF5PERhdGFHcm91cD47XG4gICAgbmV3Q2FzZUJ1dHRvbkNvbmZpZ3VyYXRpb246IE5ld0Nhc2VDcmVhdGlvbkNvbmZpZ3VyYXRpb25EYXRhO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0ZWQtdGFiYmVkLWNhc2Utdmlldy1kYXRhLXdpdGgtbmF2aWdhdGlvbi1pdGVtLXRhc2stZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL25hdmlnYXRpb24vZ3JvdXAtbmF2aWdhdGlvbi1jb21wb25lbnQtcmVzb2x2ZXIvZGVmYXVsdC1jb21wb25lbnRzL21vZGVsL2luamVjdGVkLXRhYmJlZC1jYXNlLXZpZXctZGF0YS13aXRoLW5hdmlnYXRpb24taXRlbS10YXNrLWRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgSW5qZWN0ZWRUYWJiZWRDYXNlVmlld0RhdGEsXG4gICAgRGF0YUdyb3VwLFxuICAgIE5ld0Nhc2VDcmVhdGlvbkNvbmZpZ3VyYXRpb25EYXRhLFxuICAgIFNlYXJjaENvbXBvbmVudENvbmZpZ3VyYXRpb24sXG4gICAgU2ltcGxlRmlsdGVyXG59IGZyb20gJ0BuZXRncmlmL2NvbXBvbmVudHMtY29yZSc7XG5cbi8qKlxuICogQSB2YXJpYXRpb24gb2Yge0BsaW5rIEluamVjdGVkVGFiYmVkQ2FzZVZpZXdEYXRhfSB0aGF0IGNvbnRhaW4gdGhlIHRhc2sgZGF0YSBvZiBhIG5hdmlnYXRpb24gaXRlbSB0YXNrLlxuICpcbiAqIEl0IGlzIHVzZWQgdG8gcmVzb2x2ZSBmaWx0ZXIgYW5kIHZpc3VhbCBhdHRyaWJ1dGVzIG9mIGR5bmFtaWMgbmF2aWdhdGlvbiB2aWV3c1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEluamVjdGVkVGFiYmVkQ2FzZVZpZXdEYXRhV2l0aE5hdmlnYXRpb25JdGVtVGFza0RhdGEgZXh0ZW5kcyBJbmplY3RlZFRhYmJlZENhc2VWaWV3RGF0YSB7XG4gICAgbmF2aWdhdGlvbkl0ZW1UYXNrRGF0YTogQXJyYXk8RGF0YUdyb3VwPjtcblxuICAgIG5ld0Nhc2VCdXR0b25Db25maWd1cmF0aW9uOiBOZXdDYXNlQ3JlYXRpb25Db25maWd1cmF0aW9uRGF0YTtcbiAgICBjYXNlVmlld1NlYXJjaFR5cGVDb25maWd1cmF0aW9uOiBTZWFyY2hDb21wb25lbnRDb25maWd1cmF0aW9uO1xuICAgIGNhc2VWaWV3U2hvd01vcmVNZW51OiBib29sZWFuO1xuICAgIGNhc2VWaWV3SGVhZGVyc0NoYW5nZWFibGU6IGJvb2xlYW47XG4gICAgY2FzZVZpZXdIZWFkZXJzTW9kZTogc3RyaW5nW107XG4gICAgY2FzZVZpZXdBbGxvd1RhYmxlTW9kZTogYm9vbGVhbjtcbiAgICBjYXNlVmlld0RlZmF1bHRIZWFkZXJzTW9kZTogc3RyaW5nO1xuXG4gICAgdGFza1ZpZXdTZWFyY2hUeXBlQ29uZmlndXJhdGlvbjogU2VhcmNoQ29tcG9uZW50Q29uZmlndXJhdGlvbjtcbiAgICB0YXNrVmlld1Nob3dNb3JlTWVudTogYm9vbGVhbjtcbiAgICB0YXNrVmlld01lcmdlV2l0aEJhc2VGaWx0ZXI6IGJvb2xlYW47XG4gICAgdGFza1ZpZXdBZGRpdGlvbmFsRmlsdGVyOiBTaW1wbGVGaWx0ZXI7XG4gICAgdGFza1ZpZXdBZGRpdGlvbmFsQWxsb3dlZE5ldHM6IHN0cmluZ1tdO1xuICAgIHRhc2tWaWV3SGVhZGVyc0NoYW5nZWFibGU6IGJvb2xlYW47XG4gICAgdGFza1ZpZXdIZWFkZXJzTW9kZTogc3RyaW5nW107XG4gICAgdGFza1ZpZXdBbGxvd1RhYmxlTW9kZTogYm9vbGVhbjtcbiAgICB0YXNrVmlld0RlZmF1bHRIZWFkZXJzTW9kZTogc3RyaW5nO1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0ZWQtdGFiYmVkLXRhc2stdmlldy1kYXRhLXdpdGgtbmF2aWdhdGlvbi1pdGVtLXRhc2stZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL25hdmlnYXRpb24vZ3JvdXAtbmF2aWdhdGlvbi1jb21wb25lbnQtcmVzb2x2ZXIvZGVmYXVsdC1jb21wb25lbnRzL21vZGVsL2luamVjdGVkLXRhYmJlZC10YXNrLXZpZXctZGF0YS13aXRoLW5hdmlnYXRpb24taXRlbS10YXNrLWRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgRGF0YUdyb3VwLFxuICAgIEluamVjdGVkVGFiYmVkVGFza1ZpZXdEYXRhLFxuICAgIFNlYXJjaENvbXBvbmVudENvbmZpZ3VyYXRpb25cbn0gZnJvbSAnQG5ldGdyaWYvY29tcG9uZW50cy1jb3JlJztcblxuLyoqXG4gKiBBIHZhcmlhdGlvbiBvZiB7QGxpbmsgSW5qZWN0ZWRUYWJiZWRDYXNlVmlld0RhdGF9IHRoYXQgY29udGFpbiB0aGUgdGFzayBkYXRhIG9mIGEgbmF2aWdhdGlvbiBpdGVtIHRhc2suXG4gKlxuICogSXQgaXMgdXNlZCB0byByZXNvbHZlIGZpbHRlciBhbmQgdmlzdWFsIGF0dHJpYnV0ZXMgb2YgZHluYW1pYyBuYXZpZ2F0aW9uIHZpZXdzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW5qZWN0ZWRUYWJiZWRUYXNrVmlld0RhdGFXaXRoTmF2aWdhdGlvbkl0ZW1UYXNrRGF0YSBleHRlbmRzIEluamVjdGVkVGFiYmVkVGFza1ZpZXdEYXRhIHtcbiAgICBuYXZpZ2F0aW9uSXRlbVRhc2tEYXRhOiBBcnJheTxEYXRhR3JvdXA+O1xuICAgIHNlYXJjaFR5cGVDb25maWd1cmF0aW9uOiBTZWFyY2hDb21wb25lbnRDb25maWd1cmF0aW9uO1xuICAgIHNob3dNb3JlTWVudTogYm9vbGVhbixcbiAgICBoZWFkZXJzQ2hhbmdlYWJsZTogYm9vbGVhbjtcbiAgICBoZWFkZXJzTW9kZTogc3RyaW5nW107XG4gICAgYWxsb3dUYWJsZU1vZGU6IGJvb2xlYW47XG4gICAgZGVmYXVsdEhlYWRlcnNNb2RlOiBzdHJpbmc7XG59XG4iXX0=
@@ -1,31 +1,73 @@
1
1
  import { Injectable } from '@angular/core';
2
- import { extractFilterFromData, FilterType, GroupNavigationComponentResolverService, } from '@netgrif/components-core';
2
+ import { extractFilterFromData, FilterType, GroupNavigationComponentResolverService, extractFieldValueFromData, RoutingBuilderService, GroupNavigationConstants } from '@netgrif/components-core';
3
3
  import { DefaultTabViewComponent } from './default-components/default-tab-view/default-tab-view.component';
4
- import { DefaultSimpleTaskViewComponent } from './default-components/default-simple-task-view/default-simple-task-view.component';
4
+ import { DefaultNoFilterProvidedComponent } from "./default-components/default-no-filter-provided/default-no-filter-provided.component";
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "@netgrif/components-core";
7
7
  export class DefaultGroupNavigationComponentResolverService extends GroupNavigationComponentResolverService {
8
- constructor(taskResourceService, log) {
8
+ constructor(taskResourceService, log, _configService, _viewService) {
9
9
  super(taskResourceService, log);
10
+ this._configService = _configService;
11
+ this._viewService = _viewService;
10
12
  }
11
- resolveViewComponent(navigationItemTaskData) {
12
- const filter = extractFilterFromData(navigationItemTaskData);
13
+ resolveViewComponent(navItemData) {
14
+ const useCustomRouting = extractFieldValueFromData(navItemData, 'use_custom_view');
15
+ if (useCustomRouting) {
16
+ return this.resolveCustomComponent(navItemData);
17
+ }
18
+ else {
19
+ return this.resolveDefaultComponent(navItemData);
20
+ }
21
+ }
22
+ resolveCustomComponent(navItemData) {
23
+ const customSelector = extractFieldValueFromData(navItemData, 'custom_view_selector');
24
+ for (const [pathSegment, view] of Object.entries(this._configService.get().views)) {
25
+ if (pathSegment === customSelector) {
26
+ return this.resolveComponentClass(view, pathSegment);
27
+ }
28
+ }
29
+ }
30
+ resolveComponentClass(view, configPath) {
31
+ let result;
32
+ if (!!view.component) {
33
+ result = this._viewService.resolveNameToClass(view.component.class);
34
+ }
35
+ else if (!!view.layout) {
36
+ result = this.resolveComponentClassFromLayout(view, configPath);
37
+ }
38
+ else {
39
+ return undefined;
40
+ }
41
+ if (result === undefined) {
42
+ return undefined;
43
+ }
44
+ return result;
45
+ }
46
+ resolveComponentClassFromLayout(view, configPath) {
47
+ const className = RoutingBuilderService.parseClassNameFromView(view, configPath);
48
+ return this._viewService.resolveNameToClass(className);
49
+ }
50
+ resolveDefaultComponent(navItemData) {
51
+ const filterTaskRefValue = extractFieldValueFromData(navItemData, GroupNavigationConstants.ITEM_FIELD_ID_FILTER_TASKREF);
52
+ if (filterTaskRefValue == undefined || filterTaskRefValue.length == 0) {
53
+ return DefaultNoFilterProvidedComponent;
54
+ }
55
+ const filter = extractFilterFromData(navItemData);
13
56
  if (filter === undefined) {
14
57
  throw new Error('Provided navigation item task data does not contain a filter field');
15
58
  }
16
59
  switch (filter.type) {
17
60
  case FilterType.CASE:
18
- return DefaultTabViewComponent;
19
61
  case FilterType.TASK:
20
- return DefaultSimpleTaskViewComponent;
62
+ return DefaultTabViewComponent;
21
63
  default:
22
- throw new Error(`Cannot resolve group navigation component from '${filter.type}' filter type`);
64
+ throw new Error(`Cannot resolve navigation component from '${filter.type}' filter type`);
23
65
  }
24
66
  }
25
67
  }
26
- DefaultGroupNavigationComponentResolverService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DefaultGroupNavigationComponentResolverService, deps: [{ token: i1.TaskResourceService }, { token: i1.LoggerService }], target: i0.ɵɵFactoryTarget.Injectable });
68
+ DefaultGroupNavigationComponentResolverService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DefaultGroupNavigationComponentResolverService, deps: [{ token: i1.TaskResourceService }, { token: i1.LoggerService }, { token: i1.ConfigurationService }, { token: i1.ViewService }], target: i0.ɵɵFactoryTarget.Injectable });
27
69
  DefaultGroupNavigationComponentResolverService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DefaultGroupNavigationComponentResolverService });
28
70
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DefaultGroupNavigationComponentResolverService, decorators: [{
29
71
  type: Injectable
30
- }], ctorParameters: function () { return [{ type: i1.TaskResourceService }, { type: i1.LoggerService }]; } });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1ncm91cC1uYXZpZ2F0aW9uLWNvbXBvbmVudC1yZXNvbHZlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzL3NyYy9saWIvbmF2aWdhdGlvbi9ncm91cC1uYXZpZ2F0aW9uLWNvbXBvbmVudC1yZXNvbHZlci9kZWZhdWx0LWdyb3VwLW5hdmlnYXRpb24tY29tcG9uZW50LXJlc29sdmVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBTyxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQ1EscUJBQXFCLEVBQ2hDLFVBQVUsRUFDVix1Q0FBdUMsR0FDMUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxrRUFBa0UsQ0FBQztBQUN6RyxPQUFPLEVBQUMsOEJBQThCLEVBQUMsTUFBTSxrRkFBa0YsQ0FBQzs7O0FBR2hJLE1BQU0sT0FBTyw4Q0FBK0MsU0FBUSx1Q0FBdUM7SUFFdkcsWUFBWSxtQkFBd0MsRUFBRSxHQUFrQjtRQUNwRSxLQUFLLENBQUMsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVNLG9CQUFvQixDQUFDLHNCQUF3QztRQUNoRSxNQUFNLE1BQU0sR0FBRyxxQkFBcUIsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBRTdELElBQUksTUFBTSxLQUFLLFNBQVMsRUFBRTtZQUN0QixNQUFNLElBQUksS0FBSyxDQUFDLG9FQUFvRSxDQUFDLENBQUM7U0FDekY7UUFFRCxRQUFRLE1BQU0sQ0FBQyxJQUFJLEVBQUU7WUFDakIsS0FBSyxVQUFVLENBQUMsSUFBSTtnQkFDaEIsT0FBTyx1QkFBdUIsQ0FBQztZQUNuQyxLQUFLLFVBQVUsQ0FBQyxJQUFJO2dCQUNoQixPQUFPLDhCQUE4QixDQUFDO1lBQzFDO2dCQUNJLE1BQU0sSUFBSSxLQUFLLENBQUMsbURBQW1ELE1BQU0sQ0FBQyxJQUFJLGVBQWUsQ0FBQyxDQUFDO1NBQ3RHO0lBQ0wsQ0FBQzs7NElBckJRLDhDQUE4QztnSkFBOUMsOENBQThDOzRGQUE5Qyw4Q0FBOEM7a0JBRDFELFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGUsIFR5cGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBEYXRhR3JvdXAsIGV4dHJhY3RGaWx0ZXJGcm9tRGF0YSxcbiAgICBGaWx0ZXJUeXBlLFxuICAgIEdyb3VwTmF2aWdhdGlvbkNvbXBvbmVudFJlc29sdmVyU2VydmljZSwgTG9nZ2VyU2VydmljZSwgVGFza1Jlc291cmNlU2VydmljZSxcbn0gZnJvbSAnQG5ldGdyaWYvY29tcG9uZW50cy1jb3JlJztcbmltcG9ydCB7RGVmYXVsdFRhYlZpZXdDb21wb25lbnR9IGZyb20gJy4vZGVmYXVsdC1jb21wb25lbnRzL2RlZmF1bHQtdGFiLXZpZXcvZGVmYXVsdC10YWItdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHtEZWZhdWx0U2ltcGxlVGFza1ZpZXdDb21wb25lbnR9IGZyb20gJy4vZGVmYXVsdC1jb21wb25lbnRzL2RlZmF1bHQtc2ltcGxlLXRhc2stdmlldy9kZWZhdWx0LXNpbXBsZS10YXNrLXZpZXcuY29tcG9uZW50JztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERlZmF1bHRHcm91cE5hdmlnYXRpb25Db21wb25lbnRSZXNvbHZlclNlcnZpY2UgZXh0ZW5kcyBHcm91cE5hdmlnYXRpb25Db21wb25lbnRSZXNvbHZlclNlcnZpY2Uge1xuXG4gICAgY29uc3RydWN0b3IodGFza1Jlc291cmNlU2VydmljZTogVGFza1Jlc291cmNlU2VydmljZSwgbG9nOiBMb2dnZXJTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKHRhc2tSZXNvdXJjZVNlcnZpY2UsIGxvZyk7XG4gICAgfVxuXG4gICAgcHVibGljIHJlc29sdmVWaWV3Q29tcG9uZW50KG5hdmlnYXRpb25JdGVtVGFza0RhdGE6IEFycmF5PERhdGFHcm91cD4pOiBUeXBlPGFueT4ge1xuICAgICAgICBjb25zdCBmaWx0ZXIgPSBleHRyYWN0RmlsdGVyRnJvbURhdGEobmF2aWdhdGlvbkl0ZW1UYXNrRGF0YSk7XG5cbiAgICAgICAgaWYgKGZpbHRlciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Byb3ZpZGVkIG5hdmlnYXRpb24gaXRlbSB0YXNrIGRhdGEgZG9lcyBub3QgY29udGFpbiBhIGZpbHRlciBmaWVsZCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgc3dpdGNoIChmaWx0ZXIudHlwZSkge1xuICAgICAgICAgICAgY2FzZSBGaWx0ZXJUeXBlLkNBU0U6XG4gICAgICAgICAgICAgICAgcmV0dXJuIERlZmF1bHRUYWJWaWV3Q29tcG9uZW50O1xuICAgICAgICAgICAgY2FzZSBGaWx0ZXJUeXBlLlRBU0s6XG4gICAgICAgICAgICAgICAgcmV0dXJuIERlZmF1bHRTaW1wbGVUYXNrVmlld0NvbXBvbmVudDtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgcmVzb2x2ZSBncm91cCBuYXZpZ2F0aW9uIGNvbXBvbmVudCBmcm9tICcke2ZpbHRlci50eXBlfScgZmlsdGVyIHR5cGVgKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
72
+ }], ctorParameters: function () { return [{ type: i1.TaskResourceService }, { type: i1.LoggerService }, { type: i1.ConfigurationService }, { type: i1.ViewService }]; } });
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1ncm91cC1uYXZpZ2F0aW9uLWNvbXBvbmVudC1yZXNvbHZlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzL3NyYy9saWIvbmF2aWdhdGlvbi9ncm91cC1uYXZpZ2F0aW9uLWNvbXBvbmVudC1yZXNvbHZlci9kZWZhdWx0LWdyb3VwLW5hdmlnYXRpb24tY29tcG9uZW50LXJlc29sdmVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBTyxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBRUgscUJBQXFCLEVBQ3JCLFVBQVUsRUFDVix1Q0FBdUMsRUFNdkMseUJBQXlCLEVBQ3pCLHFCQUFxQixFQUNyQix3QkFBd0IsRUFDM0IsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxrRUFBa0UsQ0FBQztBQUN6RyxPQUFPLEVBQ0gsZ0NBQWdDLEVBQ25DLE1BQU0sc0ZBQXNGLENBQUM7OztBQUc5RixNQUFNLE9BQU8sOENBQStDLFNBQVEsdUNBQXVDO0lBRXZHLFlBQVksbUJBQXdDLEVBQUUsR0FBa0IsRUFBVSxjQUFvQyxFQUFVLFlBQXlCO1FBQ3JKLEtBQUssQ0FBQyxtQkFBbUIsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUQ4QyxtQkFBYyxHQUFkLGNBQWMsQ0FBc0I7UUFBVSxpQkFBWSxHQUFaLFlBQVksQ0FBYTtJQUV6SixDQUFDO0lBRU0sb0JBQW9CLENBQUMsV0FBNkI7UUFDckQsTUFBTSxnQkFBZ0IsR0FBRyx5QkFBeUIsQ0FBVSxXQUFXLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQUM1RixJQUFJLGdCQUFnQixFQUFFO1lBQ2xCLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQ25EO2FBQU07WUFDSCxPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUNwRDtJQUNMLENBQUM7SUFFUyxzQkFBc0IsQ0FBQyxXQUE2QjtRQUMxRCxNQUFNLGNBQWMsR0FBRyx5QkFBeUIsQ0FBUyxXQUFXLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztRQUM5RixLQUFLLE1BQU0sQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQy9FLElBQUksV0FBVyxLQUFLLGNBQWMsRUFBRTtnQkFDaEMsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDO2FBQ3hEO1NBQ0o7SUFDTCxDQUFDO0lBRVMscUJBQXFCLENBQUMsSUFBVSxFQUFFLFVBQWtCO1FBQzFELElBQUksTUFBTSxDQUFDO1FBQ1gsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNsQixNQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3ZFO2FBQU0sSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUN0QixNQUFNLEdBQUcsSUFBSSxDQUFDLCtCQUErQixDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztTQUNuRTthQUFNO1lBQ0gsT0FBTyxTQUFTLENBQUM7U0FDcEI7UUFDRCxJQUFJLE1BQU0sS0FBSyxTQUFTLEVBQUU7WUFDdEIsT0FBTyxTQUFTLENBQUM7U0FDcEI7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBRVMsK0JBQStCLENBQUMsSUFBVSxFQUFFLFVBQWtCO1FBQ3BFLE1BQU0sU0FBUyxHQUFHLHFCQUFxQixDQUFDLHNCQUFzQixDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNqRixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVTLHVCQUF1QixDQUFDLFdBQTZCO1FBQzNELE1BQU0sa0JBQWtCLEdBQUcseUJBQXlCLENBQVcsV0FBVyxFQUFFLHdCQUF3QixDQUFDLDRCQUE0QixDQUFDLENBQUM7UUFDbkksSUFBSSxrQkFBa0IsSUFBSSxTQUFTLElBQUksa0JBQWtCLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRTtZQUNuRSxPQUFPLGdDQUFnQyxDQUFBO1NBQzFDO1FBRUQsTUFBTSxNQUFNLEdBQUcscUJBQXFCLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbEQsSUFBSSxNQUFNLEtBQUssU0FBUyxFQUFFO1lBQ3RCLE1BQU0sSUFBSSxLQUFLLENBQUMsb0VBQW9FLENBQUMsQ0FBQztTQUN6RjtRQUVELFFBQVEsTUFBTSxDQUFDLElBQUksRUFBRTtZQUNqQixLQUFLLFVBQVUsQ0FBQyxJQUFJLENBQUM7WUFDckIsS0FBSyxVQUFVLENBQUMsSUFBSTtnQkFDaEIsT0FBTyx1QkFBdUIsQ0FBQztZQUNuQztnQkFDSSxNQUFNLElBQUksS0FBSyxDQUFDLDZDQUE2QyxNQUFNLENBQUMsSUFBSSxlQUFlLENBQUMsQ0FBQztTQUNoRztJQUNMLENBQUM7OzRJQTlEUSw4Q0FBOEM7Z0pBQTlDLDhDQUE4Qzs0RkFBOUMsOENBQThDO2tCQUQxRCxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlLCBUeXBlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgRGF0YUdyb3VwLFxuICAgIGV4dHJhY3RGaWx0ZXJGcm9tRGF0YSxcbiAgICBGaWx0ZXJUeXBlLFxuICAgIEdyb3VwTmF2aWdhdGlvbkNvbXBvbmVudFJlc29sdmVyU2VydmljZSxcbiAgICBMb2dnZXJTZXJ2aWNlLFxuICAgIFRhc2tSZXNvdXJjZVNlcnZpY2UsXG4gICAgQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gICAgVmlldyxcbiAgICBWaWV3U2VydmljZSxcbiAgICBleHRyYWN0RmllbGRWYWx1ZUZyb21EYXRhLFxuICAgIFJvdXRpbmdCdWlsZGVyU2VydmljZSxcbiAgICBHcm91cE5hdmlnYXRpb25Db25zdGFudHNcbn0gZnJvbSAnQG5ldGdyaWYvY29tcG9uZW50cy1jb3JlJztcbmltcG9ydCB7RGVmYXVsdFRhYlZpZXdDb21wb25lbnR9IGZyb20gJy4vZGVmYXVsdC1jb21wb25lbnRzL2RlZmF1bHQtdGFiLXZpZXcvZGVmYXVsdC10YWItdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgICBEZWZhdWx0Tm9GaWx0ZXJQcm92aWRlZENvbXBvbmVudFxufSBmcm9tIFwiLi9kZWZhdWx0LWNvbXBvbmVudHMvZGVmYXVsdC1uby1maWx0ZXItcHJvdmlkZWQvZGVmYXVsdC1uby1maWx0ZXItcHJvdmlkZWQuY29tcG9uZW50XCI7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEZWZhdWx0R3JvdXBOYXZpZ2F0aW9uQ29tcG9uZW50UmVzb2x2ZXJTZXJ2aWNlIGV4dGVuZHMgR3JvdXBOYXZpZ2F0aW9uQ29tcG9uZW50UmVzb2x2ZXJTZXJ2aWNlIHtcblxuICAgIGNvbnN0cnVjdG9yKHRhc2tSZXNvdXJjZVNlcnZpY2U6IFRhc2tSZXNvdXJjZVNlcnZpY2UsIGxvZzogTG9nZ2VyU2VydmljZSwgcHJpdmF0ZSBfY29uZmlnU2VydmljZTogQ29uZmlndXJhdGlvblNlcnZpY2UsIHByaXZhdGUgX3ZpZXdTZXJ2aWNlOiBWaWV3U2VydmljZSwpIHtcbiAgICAgICAgc3VwZXIodGFza1Jlc291cmNlU2VydmljZSwgbG9nKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVzb2x2ZVZpZXdDb21wb25lbnQobmF2SXRlbURhdGE6IEFycmF5PERhdGFHcm91cD4pOiBUeXBlPGFueT4ge1xuICAgICAgICBjb25zdCB1c2VDdXN0b21Sb3V0aW5nID0gZXh0cmFjdEZpZWxkVmFsdWVGcm9tRGF0YTxib29sZWFuPihuYXZJdGVtRGF0YSwgJ3VzZV9jdXN0b21fdmlldycpO1xuICAgICAgICBpZiAodXNlQ3VzdG9tUm91dGluZykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucmVzb2x2ZUN1c3RvbUNvbXBvbmVudChuYXZJdGVtRGF0YSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5yZXNvbHZlRGVmYXVsdENvbXBvbmVudChuYXZJdGVtRGF0YSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcmVzb2x2ZUN1c3RvbUNvbXBvbmVudChuYXZJdGVtRGF0YTogQXJyYXk8RGF0YUdyb3VwPik6IFR5cGU8YW55PiB7XG4gICAgICAgIGNvbnN0IGN1c3RvbVNlbGVjdG9yID0gZXh0cmFjdEZpZWxkVmFsdWVGcm9tRGF0YTxzdHJpbmc+KG5hdkl0ZW1EYXRhLCAnY3VzdG9tX3ZpZXdfc2VsZWN0b3InKTtcbiAgICAgICAgZm9yIChjb25zdCBbcGF0aFNlZ21lbnQsIHZpZXddIG9mIE9iamVjdC5lbnRyaWVzKHRoaXMuX2NvbmZpZ1NlcnZpY2UuZ2V0KCkudmlld3MpKSB7XG4gICAgICAgICAgICBpZiAocGF0aFNlZ21lbnQgPT09IGN1c3RvbVNlbGVjdG9yKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucmVzb2x2ZUNvbXBvbmVudENsYXNzKHZpZXcsIHBhdGhTZWdtZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCByZXNvbHZlQ29tcG9uZW50Q2xhc3ModmlldzogVmlldywgY29uZmlnUGF0aDogc3RyaW5nKTogVHlwZTxhbnk+IHwgdW5kZWZpbmVkIHtcbiAgICAgICAgbGV0IHJlc3VsdDtcbiAgICAgICAgaWYgKCEhdmlldy5jb21wb25lbnQpIHtcbiAgICAgICAgICAgIHJlc3VsdCA9IHRoaXMuX3ZpZXdTZXJ2aWNlLnJlc29sdmVOYW1lVG9DbGFzcyh2aWV3LmNvbXBvbmVudC5jbGFzcyk7XG4gICAgICAgIH0gZWxzZSBpZiAoISF2aWV3LmxheW91dCkge1xuICAgICAgICAgICAgcmVzdWx0ID0gdGhpcy5yZXNvbHZlQ29tcG9uZW50Q2xhc3NGcm9tTGF5b3V0KHZpZXcsIGNvbmZpZ1BhdGgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICBpZiAocmVzdWx0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcmVzb2x2ZUNvbXBvbmVudENsYXNzRnJvbUxheW91dCh2aWV3OiBWaWV3LCBjb25maWdQYXRoOiBzdHJpbmcpOiBUeXBlPGFueT4gfCB1bmRlZmluZWQge1xuICAgICAgICBjb25zdCBjbGFzc05hbWUgPSBSb3V0aW5nQnVpbGRlclNlcnZpY2UucGFyc2VDbGFzc05hbWVGcm9tVmlldyh2aWV3LCBjb25maWdQYXRoKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZpZXdTZXJ2aWNlLnJlc29sdmVOYW1lVG9DbGFzcyhjbGFzc05hbWUpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCByZXNvbHZlRGVmYXVsdENvbXBvbmVudChuYXZJdGVtRGF0YTogQXJyYXk8RGF0YUdyb3VwPik6IFR5cGU8YW55PiB7XG4gICAgICAgIGNvbnN0IGZpbHRlclRhc2tSZWZWYWx1ZSA9IGV4dHJhY3RGaWVsZFZhbHVlRnJvbURhdGE8c3RyaW5nW10+KG5hdkl0ZW1EYXRhLCBHcm91cE5hdmlnYXRpb25Db25zdGFudHMuSVRFTV9GSUVMRF9JRF9GSUxURVJfVEFTS1JFRik7XG4gICAgICAgIGlmIChmaWx0ZXJUYXNrUmVmVmFsdWUgPT0gdW5kZWZpbmVkIHx8IGZpbHRlclRhc2tSZWZWYWx1ZS5sZW5ndGggPT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIERlZmF1bHROb0ZpbHRlclByb3ZpZGVkQ29tcG9uZW50XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBmaWx0ZXIgPSBleHRyYWN0RmlsdGVyRnJvbURhdGEobmF2SXRlbURhdGEpO1xuICAgICAgICBpZiAoZmlsdGVyID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignUHJvdmlkZWQgbmF2aWdhdGlvbiBpdGVtIHRhc2sgZGF0YSBkb2VzIG5vdCBjb250YWluIGEgZmlsdGVyIGZpZWxkJyk7XG4gICAgICAgIH1cblxuICAgICAgICBzd2l0Y2ggKGZpbHRlci50eXBlKSB7XG4gICAgICAgICAgICBjYXNlIEZpbHRlclR5cGUuQ0FTRTpcbiAgICAgICAgICAgIGNhc2UgRmlsdGVyVHlwZS5UQVNLOlxuICAgICAgICAgICAgICAgIHJldHVybiBEZWZhdWx0VGFiVmlld0NvbXBvbmVudDtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgcmVzb2x2ZSBuYXZpZ2F0aW9uIGNvbXBvbmVudCBmcm9tICcke2ZpbHRlci50eXBlfScgZmlsdGVyIHR5cGVgKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==