@valtimo/dossier-management 11.3.2 → 12.0.1
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.
- package/esm2022/lib/components/dossier-management-assignee/dossier-management-assignee.component.mjs +7 -7
- package/esm2022/lib/components/dossier-management-connect-modal/dossier-management-connect-modal.component.mjs +7 -7
- package/esm2022/lib/components/dossier-management-create/dossier-management-create.component.mjs +119 -0
- package/esm2022/lib/components/dossier-management-detail/dossier-management-detail.component.mjs +34 -12
- package/esm2022/lib/components/dossier-management-detail-container/dossier-management-detail-container.component.mjs +111 -36
- package/esm2022/lib/components/dossier-management-detail-container-actions/dossier-management-detail-container-actions.component.mjs +159 -0
- package/esm2022/lib/components/dossier-management-document-definition/dossier-management-document-definition.component.mjs +147 -0
- package/esm2022/lib/components/dossier-management-list/dossier-management-list.component.mjs +33 -16
- package/esm2022/lib/components/dossier-management-list-columns/dossier-management-list-columns.component.mjs +12 -11
- package/esm2022/lib/components/dossier-management-processes/dossier-management-processes.component.mjs +7 -7
- package/esm2022/lib/components/dossier-management-remove-modal/dossier-management-remove-modal.component.mjs +7 -7
- package/esm2022/lib/components/dossier-management-search-fields/dossier-management-search-fields.component.mjs +50 -29
- package/esm2022/lib/components/dossier-management-statuses/dossier-management-status-modal/dossier-management-status-modal.component.mjs +285 -0
- package/esm2022/lib/components/dossier-management-statuses/dossier-management-statuses.component.mjs +154 -0
- package/esm2022/lib/components/dossier-management-tabs/dossier-management-add-tab-modal/dossier-management-add-tab-modal.component.mjs +10 -9
- package/esm2022/lib/components/dossier-management-tabs/dossier-management-edit-tab-modal/dossier-management-edit-tab-modal.component.mjs +10 -9
- package/esm2022/lib/components/dossier-management-tabs/dossier-management-tabs.component.mjs +7 -7
- package/esm2022/lib/components/dossier-management-tabs/tab-form/tab-form.component.mjs +7 -7
- package/esm2022/lib/components/dossier-management-upload/dossier-management-upload.component.mjs +14 -17
- package/esm2022/lib/components/dossier-management-upload/dossier-management-upload.constants.mjs +16 -1
- package/esm2022/lib/components/dossier-management-upload/step/dossier-management-upload-step.component.mjs +20 -5
- package/esm2022/lib/dossier-management-routing.module.mjs +10 -8
- package/esm2022/lib/dossier-management.module.mjs +33 -18
- package/esm2022/lib/models/index.mjs +3 -2
- package/esm2022/lib/models/list-column.model.mjs +2 -2
- package/esm2022/lib/models/status.model.mjs +17 -0
- package/esm2022/lib/models/tab.enum.mjs +3 -2
- package/esm2022/lib/services/dossier-detail.service.mjs +18 -11
- package/esm2022/lib/services/dossier-export.service.mjs +7 -7
- package/esm2022/lib/services/dossier-management.service.mjs +38 -0
- package/esm2022/lib/services/index.mjs +2 -2
- package/esm2022/lib/services/tab-management.service.mjs +5 -5
- package/esm2022/lib/services/tab.service.mjs +25 -8
- package/esm2022/public-api.mjs +2 -2
- package/fesm2022/valtimo-dossier-management.mjs +1238 -473
- package/fesm2022/valtimo-dossier-management.mjs.map +1 -1
- package/lib/components/dossier-management-create/dossier-management-create.component.d.ts +26 -0
- package/lib/components/dossier-management-create/dossier-management-create.component.d.ts.map +1 -0
- package/lib/components/dossier-management-detail/dossier-management-detail.component.d.ts +9 -3
- package/lib/components/dossier-management-detail/dossier-management-detail.component.d.ts.map +1 -1
- package/lib/components/dossier-management-detail-container/dossier-management-detail-container.component.d.ts +27 -14
- package/lib/components/dossier-management-detail-container/dossier-management-detail-container.component.d.ts.map +1 -1
- package/lib/components/dossier-management-detail-container-actions/{dossier-management-detail-container-actions.d.ts → dossier-management-detail-container-actions.component.d.ts} +9 -3
- package/lib/components/dossier-management-detail-container-actions/dossier-management-detail-container-actions.component.d.ts.map +1 -0
- package/lib/components/dossier-management-document-definition/dossier-management-document-definition.component.d.ts +48 -0
- package/lib/components/dossier-management-document-definition/dossier-management-document-definition.component.d.ts.map +1 -0
- package/lib/components/dossier-management-list/dossier-management-list.component.d.ts +7 -4
- package/lib/components/dossier-management-list/dossier-management-list.component.d.ts.map +1 -1
- package/lib/components/dossier-management-list-columns/dossier-management-list-columns.component.d.ts +2 -2
- package/lib/components/dossier-management-list-columns/dossier-management-list-columns.component.d.ts.map +1 -1
- package/lib/components/dossier-management-search-fields/dossier-management-search-fields.component.d.ts +10 -4
- package/lib/components/dossier-management-search-fields/dossier-management-search-fields.component.d.ts.map +1 -1
- package/lib/components/dossier-management-statuses/dossier-management-status-modal/dossier-management-status-modal.component.d.ts +77 -0
- package/lib/components/dossier-management-statuses/dossier-management-status-modal/dossier-management-status-modal.component.d.ts.map +1 -0
- package/lib/components/dossier-management-statuses/dossier-management-statuses.component.d.ts +47 -0
- package/lib/components/dossier-management-statuses/dossier-management-statuses.component.d.ts.map +1 -0
- package/lib/components/dossier-management-upload/dossier-management-upload.component.d.ts +3 -5
- package/lib/components/dossier-management-upload/dossier-management-upload.component.d.ts.map +1 -1
- package/lib/components/dossier-management-upload/dossier-management-upload.constants.d.ts.map +1 -1
- package/lib/components/dossier-management-upload/step/dossier-management-upload-step.component.d.ts.map +1 -1
- package/lib/dossier-management-routing.module.d.ts.map +1 -1
- package/lib/dossier-management.module.d.ts +24 -22
- package/lib/dossier-management.module.d.ts.map +1 -1
- package/lib/models/index.d.ts +1 -0
- package/lib/models/index.d.ts.map +1 -1
- package/lib/models/status.model.d.ts +4 -0
- package/lib/models/status.model.d.ts.map +1 -0
- package/lib/models/tab.enum.d.ts +2 -1
- package/lib/models/tab.enum.d.ts.map +1 -1
- package/lib/services/dossier-detail.service.d.ts +4 -1
- package/lib/services/dossier-detail.service.d.ts.map +1 -1
- package/lib/services/{dossier-import.service.d.ts → dossier-management.service.d.ts} +4 -4
- package/lib/services/dossier-management.service.d.ts.map +1 -0
- package/lib/services/tab.service.d.ts +9 -4
- package/lib/services/tab.service.d.ts.map +1 -1
- package/package.json +3 -3
- package/esm2022/lib/components/dossier-management-detail-container-actions/dossier-management-detail-container-actions.mjs +0 -152
- package/esm2022/lib/components/dossier-management-document-definition/dossier-management-document-definition.mjs +0 -48
- package/esm2022/lib/components/dossier-management-link-process/dossier-management-link-process.component.mjs +0 -84
- package/esm2022/lib/services/dossier-import.service.mjs +0 -38
- package/lib/components/dossier-management-detail-container-actions/dossier-management-detail-container-actions.d.ts.map +0 -1
- package/lib/components/dossier-management-document-definition/dossier-management-document-definition.d.ts +0 -15
- package/lib/components/dossier-management-document-definition/dossier-management-document-definition.d.ts.map +0 -1
- package/lib/components/dossier-management-link-process/dossier-management-link-process.component.d.ts +0 -27
- package/lib/components/dossier-management-link-process/dossier-management-link-process.component.d.ts.map +0 -1
- package/lib/services/dossier-import.service.d.ts.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* Copyright 2015-
|
|
2
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
3
3
|
*
|
|
4
4
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
5
|
* you may not use this file except in compliance with the License.
|
|
@@ -13,60 +13,135 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import { Component } from '@angular/core';
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
16
|
+
import { ChangeDetectionStrategy, Component, ViewChild, ViewContainerRef, } from '@angular/core';
|
|
17
|
+
import { PendingChangesComponent } from '@valtimo/components';
|
|
18
|
+
import { combineLatest, distinctUntilChanged, filter, map, Subscription, tap, } from 'rxjs';
|
|
19
19
|
import { TabEnum } from '../../models';
|
|
20
|
+
import { DossierDetailService } from '../../services';
|
|
21
|
+
import { DossierManagementDocumentDefinitionComponent } from '../dossier-management-document-definition/dossier-management-document-definition.component';
|
|
20
22
|
import * as i0 from "@angular/core";
|
|
21
|
-
import * as i1 from "
|
|
23
|
+
import * as i1 from "../../services";
|
|
22
24
|
import * as i2 from "@angular/router";
|
|
23
25
|
import * as i3 from "@valtimo/config";
|
|
24
|
-
import * as i4 from "
|
|
25
|
-
import * as i5 from "@
|
|
26
|
-
import * as i6 from "
|
|
27
|
-
import * as i7 from "
|
|
28
|
-
import * as i8 from "../dossier-management-
|
|
29
|
-
import * as i9 from "../dossier-management-
|
|
30
|
-
import * as i10 from "../dossier-management-
|
|
31
|
-
import * as i11 from "../dossier-management-
|
|
32
|
-
import * as i12 from "../dossier-management-
|
|
33
|
-
import * as i13 from "../dossier-management-
|
|
34
|
-
import * as i14 from "../dossier-management-
|
|
26
|
+
import * as i4 from "@valtimo/components";
|
|
27
|
+
import * as i5 from "@angular/common";
|
|
28
|
+
import * as i6 from "carbon-components-angular";
|
|
29
|
+
import * as i7 from "../dossier-management-detail/dossier-management-detail.component";
|
|
30
|
+
import * as i8 from "../dossier-management-search-fields/dossier-management-search-fields.component";
|
|
31
|
+
import * as i9 from "../dossier-management-list-columns/dossier-management-list-columns.component";
|
|
32
|
+
import * as i10 from "../dossier-management-tabs/dossier-management-tabs.component";
|
|
33
|
+
import * as i11 from "../dossier-management-detail-container-actions/dossier-management-detail-container-actions.component";
|
|
34
|
+
import * as i12 from "../dossier-management-document-definition/dossier-management-document-definition.component";
|
|
35
|
+
import * as i13 from "../dossier-management-processes/dossier-management-processes.component";
|
|
36
|
+
import * as i14 from "../dossier-management-statuses/dossier-management-statuses.component";
|
|
35
37
|
import * as i15 from "@ngx-translate/core";
|
|
36
|
-
export class DossierManagementDetailContainerComponent {
|
|
37
|
-
constructor(
|
|
38
|
-
|
|
38
|
+
export class DossierManagementDetailContainerComponent extends PendingChangesComponent {
|
|
39
|
+
constructor(dossierDetailService, route, configService, tabService, pageTitleService) {
|
|
40
|
+
super();
|
|
41
|
+
this.dossierDetailService = dossierDetailService;
|
|
39
42
|
this.route = route;
|
|
40
43
|
this.configService = configService;
|
|
41
44
|
this.tabService = tabService;
|
|
42
45
|
this.pageTitleService = pageTitleService;
|
|
46
|
+
this.documentDefinitionName$ = this.route.params.pipe(map(params => params.name || ''), filter(docDefName => !!docDefName));
|
|
47
|
+
this.currentTab$ = this.tabService.currentTab$.pipe(tap((currentTab) => {
|
|
48
|
+
this._activeTab = currentTab;
|
|
49
|
+
}));
|
|
50
|
+
this.injectedCaseManagementTabs$ = this.tabService.injectedCaseManagementTabs$;
|
|
43
51
|
this.documentDefinitionTitle$ = this.pageTitleService.customPageTitle$;
|
|
44
52
|
this.CARBON_THEME = 'g10';
|
|
53
|
+
this.DossierManagementTabs = Object.values(TabEnum);
|
|
45
54
|
this.TabEnum = TabEnum;
|
|
46
|
-
this.
|
|
47
|
-
this.documentDefinition$ = this.documentDefinitionName$.pipe(switchMap(documentDefinitionName => this.documentService.getDocumentDefinitionForManagement(documentDefinitionName)));
|
|
55
|
+
this._subscriptions = new Subscription();
|
|
48
56
|
const featureToggles = this.configService.config.featureToggles;
|
|
49
|
-
this.caseListColumn =
|
|
50
|
-
this.tabManagementEnabled =
|
|
57
|
+
this.caseListColumn = featureToggles?.caseListColumn ?? true;
|
|
58
|
+
this.tabManagementEnabled = featureToggles?.enableTabManagement ?? true;
|
|
51
59
|
}
|
|
52
60
|
ngOnInit() {
|
|
53
|
-
this.
|
|
61
|
+
this.openActiveVersionSubscription();
|
|
54
62
|
}
|
|
55
|
-
|
|
56
|
-
this.
|
|
57
|
-
|
|
58
|
-
openCurrentTabSubscription() {
|
|
59
|
-
this.tabSubscription = this.tabService.currentTab$.subscribe(value => (this.currentTab = value));
|
|
63
|
+
ngAfterViewInit() {
|
|
64
|
+
this.customModal = this._documentDefinitionTab.cancelModal;
|
|
65
|
+
this.openInjectedTabSubscription();
|
|
60
66
|
}
|
|
61
67
|
ngOnDestroy() {
|
|
62
68
|
this.tabService.currentTab = TabEnum.DOCUMENT;
|
|
63
|
-
this.
|
|
69
|
+
this._subscriptions.unsubscribe();
|
|
70
|
+
this.pageTitleService.enableReset();
|
|
71
|
+
}
|
|
72
|
+
displayBodyComponent(tab, isInjectedTab = false) {
|
|
73
|
+
if (this.pendingChanges) {
|
|
74
|
+
this.onCanDeactivate();
|
|
75
|
+
}
|
|
76
|
+
this.tabService.currentTab = tab;
|
|
77
|
+
}
|
|
78
|
+
onCancelRedirectEvent() {
|
|
79
|
+
this.onCustomCancel();
|
|
80
|
+
if (this._activeVersion) {
|
|
81
|
+
this.dossierDetailService.setPreviousSelectedVersionNumber(this._activeVersion);
|
|
82
|
+
this._activeVersion = null;
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
if (!this.pendingTab) {
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
this.tabService.currentTab = this.pendingTab;
|
|
89
|
+
}
|
|
90
|
+
onConfirmRedirectEvent() {
|
|
91
|
+
this.pendingTab = null;
|
|
92
|
+
this._activeVersion = null;
|
|
93
|
+
if (this._pendingVersion) {
|
|
94
|
+
this.dossierDetailService.setSelectedVersionNumber(this._pendingVersion);
|
|
95
|
+
this._pendingVersion = null;
|
|
96
|
+
this.dossierDetailService.setPreviousSelectedVersionNumber(null);
|
|
97
|
+
}
|
|
98
|
+
this.onCustomConfirm();
|
|
99
|
+
}
|
|
100
|
+
onPendingChangesUpdate(pendingChanges) {
|
|
101
|
+
this.pendingChanges = pendingChanges;
|
|
102
|
+
this.pendingTab = pendingChanges ? this._activeTab : null;
|
|
103
|
+
}
|
|
104
|
+
onVersionSet(version) {
|
|
105
|
+
if (this.pendingChanges) {
|
|
106
|
+
this.onCanDeactivate();
|
|
107
|
+
this._pendingVersion = version;
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
this.dossierDetailService.setSelectedVersionNumber(version);
|
|
111
|
+
}
|
|
112
|
+
openActiveVersionSubscription() {
|
|
113
|
+
this._subscriptions.add(this.dossierDetailService.selectedVersionNumber$.subscribe((versionNumber) => {
|
|
114
|
+
this._activeVersion = versionNumber;
|
|
115
|
+
}));
|
|
116
|
+
}
|
|
117
|
+
openInjectedTabSubscription() {
|
|
118
|
+
this._subscriptions.add(combineLatest([
|
|
119
|
+
this.currentTab$.pipe(distinctUntilChanged()),
|
|
120
|
+
this.injectedCaseManagementTabs$,
|
|
121
|
+
]).subscribe(([currentTab, injectedCaseManagementTabs]) => {
|
|
122
|
+
const findInjectedTab = injectedCaseManagementTabs.find(injectedTab => injectedTab.translationKey === currentTab);
|
|
123
|
+
if (findInjectedTab && this._contentContainer) {
|
|
124
|
+
this._contentContainer.createComponent(findInjectedTab.component);
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
this._contentContainer.clear();
|
|
128
|
+
}
|
|
129
|
+
}));
|
|
130
|
+
}
|
|
131
|
+
onCanDeactivate() {
|
|
132
|
+
this._documentDefinitionTab.onCanDeactivate();
|
|
64
133
|
}
|
|
65
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
66
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
134
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementDetailContainerComponent, deps: [{ token: i1.DossierDetailService }, { token: i2.ActivatedRoute }, { token: i3.ConfigService }, { token: i1.TabService }, { token: i4.PageTitleService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
135
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.3", type: DossierManagementDetailContainerComponent, selector: "valtimo-dossier-management-detail-container", providers: [DossierDetailService], viewQueries: [{ propertyName: "_contentContainer", first: true, predicate: ["contentContainer"], descendants: true, read: ViewContainerRef }, { propertyName: "_documentDefinitionTab", first: true, predicate: DossierManagementDocumentDefinitionComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n *ngIf=\"{\n currentTab: currentTab$ | async,\n injectedTabs: injectedCaseManagementTabs$ | async\n } as obs\"\n class=\"dossier-management-detail-container\"\n>\n <valtimo-documenten-api></valtimo-documenten-api>\n <cds-tabs\n class=\"dossier-management-tabs\"\n type=\"contained\"\n [attr.data-carbon-theme]=\"CARBON_THEME\"\n >\n <cds-tab\n class=\"no-padding-left-right no-padding-top-bottom\"\n [active]=\"obs.currentTab === TabEnum.DOCUMENT\"\n [heading]=\"'dossierManagement.tabs.document' | translate\"\n (selected)=\"displayBodyComponent(TabEnum.DOCUMENT)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"no-padding-left-right main-content\"\n [active]=\"obs.currentTab === TabEnum.CASE\"\n [heading]=\"'dossierManagement.tabs.cases' | translate\"\n (selected)=\"displayBodyComponent(TabEnum.CASE)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"no-padding-left-right main-content\"\n [active]=\"obs.currentTab === TabEnum.PROCESSES\"\n [heading]=\"'dossierManagement.tabs.processes' | translate\"\n (selected)=\"displayBodyComponent(TabEnum.PROCESSES)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"main-content no-padding-left-right no-padding-bottom\"\n [active]=\"obs.currentTab === TabEnum.SEARCH\"\n [heading]=\"'dossierManagement.tabs.searchFields' | translate\"\n (selected)=\"displayBodyComponent(TabEnum.SEARCH)\"\n >\n </cds-tab>\n\n <cds-tab\n *ngIf=\"caseListColumn\"\n class=\"no-padding-left-right no-padding-top-bottom\"\n [active]=\"obs.currentTab === TabEnum.LIST\"\n [heading]=\"'dossierManagement.tabs.listColumns' | translate\"\n (selected)=\"displayBodyComponent(TabEnum.LIST)\"\n >\n </cds-tab>\n\n <cds-tab\n *ngIf=\"tabManagementEnabled\"\n class=\"no-padding-left-right no-padding-top-bottom\"\n [active]=\"obs.currentTab === TabEnum.TABS\"\n [heading]=\"'dossierManagement.tabs.tabManagement' | translate\"\n (selected)=\"displayBodyComponent(TabEnum.TABS)\"\n >\n </cds-tab>\n\n <cds-tab\n *ngIf=\"{active: obs.currentTab === TabEnum.STATUSES} as vars\"\n class=\"no-padding-left-right no-padding-top-bottom\"\n [active]=\"vars.active\"\n [heading]=\"'dossierManagement.tabs.statuses' | translate\"\n (selected)=\"displayBodyComponent(TabEnum.STATUSES)\"\n >\n <valtimo-dossier-management-statuses\n *ngIf=\"vars.active\"\n ></valtimo-dossier-management-statuses>\n </cds-tab>\n\n @for (injectedTab of obs.injectedTabs; track injectedTab.translationKey) {\n <cds-tab\n class=\"no-padding-left-right no-padding-top-bottom\"\n [active]=\"obs.currentTab === injectedTab.translationKey\"\n [heading]=\"injectedTab.translationKey | translate\"\n (selected)=\"displayBodyComponent(injectedTab.translationKey, true)\"\n >\n </cds-tab>\n }\n </cds-tabs>\n\n <div class=\"dossier-management-detail-container__content\">\n <ng-template #contentContainer></ng-template>\n\n <valtimo-dossier-management-document-definition\n *ngIf=\"\n (obs.currentTab === TabEnum.DOCUMENT && !pendingChanges) || pendingTab === TabEnum.DOCUMENT\n \"\n [documentDefinitionName]=\"documentDefinitionName$ | async\"\n (pendingChangesUpdate)=\"onPendingChangesUpdate($event)\"\n (cancelRedirect)=\"onCancelRedirectEvent()\"\n (confirmRedirect)=\"onConfirmRedirectEvent()\"\n ></valtimo-dossier-management-document-definition>\n\n <valtimo-dossier-management-detail\n *ngIf=\"(obs.currentTab === TabEnum.CASE && !pendingChanges) || pendingTab === TabEnum.CASE\"\n ></valtimo-dossier-management-detail>\n\n <valtimo-dossier-management-processes\n *ngIf=\"\n (obs.currentTab === TabEnum.PROCESSES && !pendingChanges) ||\n pendingTab === TabEnum.PROCESSES\n \"\n ></valtimo-dossier-management-processes>\n\n <valtimo-dossier-management-search-fields\n *ngIf=\"\n (obs.currentTab === TabEnum.SEARCH && !pendingChanges) || pendingTab === TabEnum.SEARCH\n \"\n ></valtimo-dossier-management-search-fields>\n\n <valtimo-dossier-management-list-columns\n *ngIf=\"(obs.currentTab === TabEnum.LIST && !pendingChanges) || pendingTab === TabEnum.LIST\"\n ></valtimo-dossier-management-list-columns>\n\n <valtimo-dossier-management-tabs\n *ngIf=\"(obs.currentTab === TabEnum.TABS && !pendingChanges) || pendingTab === TabEnum.TABS\"\n [documentDefinitionName]=\"documentDefinitionName$ | async\"\n ></valtimo-dossier-management-tabs>\n </div>\n</div>\n\n<ng-container renderInPageHeader [fullWidth]=\"true\">\n <ng-template>\n <valtimo-dossier-management-detail-container-actions\n [documentDefinitionTitle]=\"documentDefinitionTitle$ | async\"\n [documentDefinitionName]=\"documentDefinitionName$ | async\"\n (versionSet)=\"onVersionSet($event)\"\n ></valtimo-dossier-management-detail-container-actions>\n </ng-template>\n</ng-container>\n", styles: ["::ng-deep .dossier-management-tabs .cds--tab-content{background-color:var(--cds-layer)}::ng-deep .dossier-management-tabs .cds--tab-content:focus{outline:none}::ng-deep .dossier-management-tabs .no-padding-left-right .cds--tab-content{padding-left:0;padding-right:0}::ng-deep .dossier-management-tabs .no-padding-top-bottom .cds--tab-content{padding-top:0;padding-bottom:0}::ng-deep .dossier-management-tabs .no-padding-bottom .cds--tab-content{padding-bottom:0}.tab-container{min-height:300px}.dossier-header{height:80px;padding-top:21px;padding-left:18px;padding-right:18px;border-bottom:1px solid rgba(0,0,0,.125)}.dossier-title{margin-top:0;margin-bottom:7px}.dossier-management-detail-container{display:flex;flex-direction:column;width:100%}.dossier-management-detail-container__content{background:var(--cds-layer)}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.RenderInPageHeaderDirective, selector: "[renderInPageHeader]", inputs: ["fullWidth"] }, { kind: "component", type: i6.Tabs, selector: "cds-tabs, ibm-tabs", inputs: ["position", "cacheActive", "followFocus", "isNavigation", "ariaLabel", "ariaLabelledby", "type", "theme", "skeleton"] }, { kind: "component", type: i6.Tab, selector: "cds-tab, ibm-tab", inputs: ["heading", "title", "context", "active", "disabled", "tabIndex", "id", "cacheActive"], outputs: ["selected"] }, { kind: "component", type: i7.DossierManagementDetailComponent, selector: "valtimo-dossier-management-detail" }, { kind: "component", type: i8.DossierManagementSearchFieldsComponent, selector: "valtimo-dossier-management-search-fields", outputs: ["searchField"] }, { kind: "component", type: i9.DossierManagementListColumnsComponent, selector: "valtimo-dossier-management-list-columns" }, { kind: "component", type: i10.DossierManagementTabsComponent, selector: "valtimo-dossier-management-tabs", inputs: ["documentDefinitionName"] }, { kind: "component", type: i11.DossierManagementDetailContainerActionsComponent, selector: "valtimo-dossier-management-detail-container-actions", inputs: ["documentDefinitionTitle", "documentDefinitionName"], outputs: ["versionSet"] }, { kind: "component", type: i12.DossierManagementDocumentDefinitionComponent, selector: "valtimo-dossier-management-document-definition", inputs: ["documentDefinitionName"], outputs: ["cancelRedirect", "confirmRedirect", "pendingChangesUpdate"] }, { kind: "component", type: i13.DossierManagementProcessesComponent, selector: "valtimo-dossier-management-processes" }, { kind: "component", type: i14.DossierManagementStatusesComponent, selector: "valtimo-dossier-management-statuses" }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i15.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
67
136
|
}
|
|
68
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
137
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementDetailContainerComponent, decorators: [{
|
|
69
138
|
type: Component,
|
|
70
|
-
args: [{ selector: 'valtimo-dossier-management-detail-container', providers: [DossierDetailService], template: "<!--\n ~ Copyright 2015-
|
|
71
|
-
}], ctorParameters:
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9zc2llci1tYW5hZ2VtZW50LWRldGFpbC1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyLW1hbmFnZW1lbnQvc3JjL2xpYi9jb21wb25lbnRzL2Rvc3NpZXItbWFuYWdlbWVudC1kZXRhaWwtY29udGFpbmVyL2Rvc3NpZXItbWFuYWdlbWVudC1kZXRhaWwtY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZG9zc2llci1tYW5hZ2VtZW50L3NyYy9saWIvY29tcG9uZW50cy9kb3NzaWVyLW1hbmFnZW1lbnQtZGV0YWlsLWNvbnRhaW5lci9kb3NzaWVyLW1hbmFnZW1lbnQtZGV0YWlsLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxTQUFTLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBRzNELE9BQU8sRUFBQyxNQUFNLEVBQUUsR0FBRyxFQUE0QixTQUFTLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFdEUsT0FBTyxFQUFDLG9CQUFvQixFQUFhLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEUsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLGNBQWMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFTckMsTUFBTSxPQUFPLHlDQUF5QztJQXVCcEQsWUFDbUIsZUFBZ0MsRUFDaEMsS0FBcUIsRUFDckIsYUFBNEIsRUFDNUIsVUFBc0IsRUFDdEIsZ0JBQWtDO1FBSmxDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUF2QnJDLDZCQUF3QixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQztRQUNsRSxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUk1QixZQUFPLEdBQUcsT0FBTyxDQUFDO1FBRWxCLDRCQUF1QixHQUF1QixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQzNFLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLEVBQ2hDLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FDbkMsQ0FBQztRQUVPLHdCQUFtQixHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQzlELFNBQVMsQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLENBQ2pDLElBQUksQ0FBQyxlQUFlLENBQUMsa0NBQWtDLENBQUMsc0JBQXNCLENBQUMsQ0FDaEYsQ0FDRixDQUFDO1FBU0EsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDLGNBQWMsRUFBRSxjQUFjLENBQUM7UUFDdkQsSUFBSSxDQUFDLG9CQUFvQixHQUFHLENBQUMsQ0FBQyxjQUFjLEVBQUUsbUJBQW1CLENBQUM7SUFDcEUsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsb0JBQW9CLENBQUMsR0FBWTtRQUMvQixJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUM7SUFDbkMsQ0FBQztJQUVELDBCQUEwQjtRQUN4QixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FDMUQsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLENBQ25DLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUM7UUFDOUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUN0QyxDQUFDOytHQXBEVSx5Q0FBeUM7bUdBQXpDLHlDQUF5QyxzRUFGekMsQ0FBQyxvQkFBb0IsQ0FBQywwQkM3Qm5DLG8rSEFzR0E7OzRGRHZFYSx5Q0FBeUM7a0JBTnJELFNBQVM7K0JBQ0UsNkNBQTZDLGFBRzVDLENBQUMsb0JBQW9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMyBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge0NvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7RG9jdW1lbnRTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9kb2N1bWVudCc7XG5pbXBvcnQge2ZpbHRlciwgbWFwLCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24sIHN3aXRjaE1hcH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0NvbmZpZ1NlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2NvbmZpZyc7XG5pbXBvcnQge0Rvc3NpZXJEZXRhaWxTZXJ2aWNlLCBUYWJTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQge1RhYkVudW19IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQge1BhZ2VUaXRsZVNlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2NvbXBvbmVudHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLWRvc3NpZXItbWFuYWdlbWVudC1kZXRhaWwtY29udGFpbmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Rvc3NpZXItbWFuYWdlbWVudC1kZXRhaWwtY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZG9zc2llci1tYW5hZ2VtZW50LWRldGFpbC1jb250YWluZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbRG9zc2llckRldGFpbFNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBEb3NzaWVyTWFuYWdlbWVudERldGFpbENvbnRhaW5lckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHVibGljIGN1cnJlbnRUYWI6IFRhYkVudW07XG4gIHB1YmxpYyBjYXNlTGlzdENvbHVtbiE6IGJvb2xlYW47XG4gIHB1YmxpYyB0YWJNYW5hZ2VtZW50RW5hYmxlZCE6IGJvb2xlYW47XG5cbiAgcHVibGljIHJlYWRvbmx5IGRvY3VtZW50RGVmaW5pdGlvblRpdGxlJCA9IHRoaXMucGFnZVRpdGxlU2VydmljZS5jdXN0b21QYWdlVGl0bGUkO1xuICBwdWJsaWMgcmVhZG9ubHkgQ0FSQk9OX1RIRU1FID0gJ2cxMCc7XG5cbiAgcHJpdmF0ZSB0YWJTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICByZWFkb25seSBUYWJFbnVtID0gVGFiRW51bTtcblxuICByZWFkb25seSBkb2N1bWVudERlZmluaXRpb25OYW1lJDogT2JzZXJ2YWJsZTxzdHJpbmc+ID0gdGhpcy5yb3V0ZS5wYXJhbXMucGlwZShcbiAgICBtYXAocGFyYW1zID0+IHBhcmFtcy5uYW1lIHx8ICcnKSxcbiAgICBmaWx0ZXIoZG9jRGVmTmFtZSA9PiAhIWRvY0RlZk5hbWUpXG4gICk7XG5cbiAgcmVhZG9ubHkgZG9jdW1lbnREZWZpbml0aW9uJCA9IHRoaXMuZG9jdW1lbnREZWZpbml0aW9uTmFtZSQucGlwZShcbiAgICBzd2l0Y2hNYXAoZG9jdW1lbnREZWZpbml0aW9uTmFtZSA9PlxuICAgICAgdGhpcy5kb2N1bWVudFNlcnZpY2UuZ2V0RG9jdW1lbnREZWZpbml0aW9uRm9yTWFuYWdlbWVudChkb2N1bWVudERlZmluaXRpb25OYW1lKVxuICAgIClcbiAgKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50U2VydmljZTogRG9jdW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRhYlNlcnZpY2U6IFRhYlNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwYWdlVGl0bGVTZXJ2aWNlOiBQYWdlVGl0bGVTZXJ2aWNlXG4gICkge1xuICAgIGNvbnN0IGZlYXR1cmVUb2dnbGVzID0gdGhpcy5jb25maWdTZXJ2aWNlLmNvbmZpZy5mZWF0dXJlVG9nZ2xlcztcbiAgICB0aGlzLmNhc2VMaXN0Q29sdW1uID0gISFmZWF0dXJlVG9nZ2xlcz8uY2FzZUxpc3RDb2x1bW47XG4gICAgdGhpcy50YWJNYW5hZ2VtZW50RW5hYmxlZCA9ICEhZmVhdHVyZVRvZ2dsZXM/LmVuYWJsZVRhYk1hbmFnZW1lbnQ7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm9wZW5DdXJyZW50VGFiU3Vic2NyaXB0aW9uKCk7XG4gIH1cblxuICBkaXNwbGF5Qm9keUNvbXBvbmVudCh0YWI6IFRhYkVudW0pOiB2b2lkIHtcbiAgICB0aGlzLnRhYlNlcnZpY2UuY3VycmVudFRhYiA9IHRhYjtcbiAgfVxuXG4gIG9wZW5DdXJyZW50VGFiU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMudGFiU3Vic2NyaXB0aW9uID0gdGhpcy50YWJTZXJ2aWNlLmN1cnJlbnRUYWIkLnN1YnNjcmliZShcbiAgICAgIHZhbHVlID0+ICh0aGlzLmN1cnJlbnRUYWIgPSB2YWx1ZSlcbiAgICApO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy50YWJTZXJ2aWNlLmN1cnJlbnRUYWIgPSBUYWJFbnVtLkRPQ1VNRU5UO1xuICAgIHRoaXMudGFiU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICB9XG59IiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjMgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48ZGl2IGNsYXNzPVwiZG9zc2llci1tYW5hZ2VtZW50LWRldGFpbC1jb250YWluZXJcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRhYnNcIj48L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI3RhYnM+XG4gIDxjZHMtdGFic1xuICAgIGNsYXNzPVwiZG9zc2llci1tYW5hZ2VtZW50LXRhYnNcIlxuICAgIHR5cGU9XCJjb250YWluZWRcIlxuICAgIFthdHRyLmRhdGEtY2FyYm9uLXRoZW1lXT1cIkNBUkJPTl9USEVNRVwiXG4gID5cbiAgICA8Y2RzLXRhYlxuICAgICAgKm5nSWY9XCJ7YWN0aXZlOiBjdXJyZW50VGFiID09PSBUYWJFbnVtLkRPQ1VNRU5UfSBhcyB2YXJzXCJcbiAgICAgIGNsYXNzPVwibm8tcGFkZGluZy1sZWZ0LXJpZ2h0IG5vLXBhZGRpbmctdG9wLWJvdHRvbVwiXG4gICAgICBbYWN0aXZlXT1cInZhcnMuYWN0aXZlXCJcbiAgICAgIFtoZWFkaW5nXT1cIidkb3NzaWVyTWFuYWdlbWVudC50YWJzLmRvY3VtZW50JyB8IHRyYW5zbGF0ZVwiXG4gICAgICAoc2VsZWN0ZWQpPVwiZGlzcGxheUJvZHlDb21wb25lbnQoVGFiRW51bS5ET0NVTUVOVClcIlxuICAgID5cbiAgICAgIDx2YWx0aW1vLWRvc3NpZXItbWFuYWdlbWVudC1kb2N1bWVudC1kZWZpbml0aW9uXG4gICAgICAgICpuZ0lmPVwidmFycy5hY3RpdmVcIlxuICAgICAgPjwvdmFsdGltby1kb3NzaWVyLW1hbmFnZW1lbnQtZG9jdW1lbnQtZGVmaW5pdGlvbj5cbiAgICA8L2Nkcy10YWI+XG4gICAgPGNkcy10YWJcbiAgICAgICpuZ0lmPVwie2FjdGl2ZTogY3VycmVudFRhYiA9PT0gVGFiRW51bS5DQVNFfSBhcyB2YXJzXCJcbiAgICAgIGNsYXNzPVwibm8tcGFkZGluZy1sZWZ0LXJpZ2h0IG1haW4tY29udGVudFwiXG4gICAgICBbYWN0aXZlXT1cInZhcnMuYWN0aXZlXCJcbiAgICAgIFtoZWFkaW5nXT1cIidkb3NzaWVyTWFuYWdlbWVudC50YWJzLmNhc2VzJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAoc2VsZWN0ZWQpPVwiZGlzcGxheUJvZHlDb21wb25lbnQoVGFiRW51bS5DQVNFKVwiXG4gICAgPlxuICAgICAgPHZhbHRpbW8tZG9zc2llci1tYW5hZ2VtZW50LWRldGFpbCAqbmdJZj1cInZhcnMuYWN0aXZlXCI+PC92YWx0aW1vLWRvc3NpZXItbWFuYWdlbWVudC1kZXRhaWw+XG4gICAgPC9jZHMtdGFiPlxuICAgIDxjZHMtdGFiXG4gICAgICAqbmdJZj1cInthY3RpdmU6IGN1cnJlbnRUYWIgPT09IFRhYkVudW0uUFJPQ0VTU0VTfSBhcyB2YXJzXCJcbiAgICAgIGNsYXNzPVwibm8tcGFkZGluZy1sZWZ0LXJpZ2h0IG1haW4tY29udGVudFwiXG4gICAgICBbYWN0aXZlXT1cInZhcnMuYWN0aXZlXCJcbiAgICAgIFtoZWFkaW5nXT1cIidkb3NzaWVyTWFuYWdlbWVudC50YWJzLnByb2Nlc3NlcycgfCB0cmFuc2xhdGVcIlxuICAgICAgKHNlbGVjdGVkKT1cImRpc3BsYXlCb2R5Q29tcG9uZW50KFRhYkVudW0uUFJPQ0VTU0VTKVwiXG4gICAgPlxuICAgICAgPHZhbHRpbW8tZG9zc2llci1tYW5hZ2VtZW50LXByb2Nlc3Nlc1xuICAgICAgICAqbmdJZj1cInZhcnMuYWN0aXZlXCJcbiAgICAgID48L3ZhbHRpbW8tZG9zc2llci1tYW5hZ2VtZW50LXByb2Nlc3Nlcz5cbiAgICA8L2Nkcy10YWI+XG4gICAgPGNkcy10YWJcbiAgICAgICpuZ0lmPVwie2FjdGl2ZTogY3VycmVudFRhYiA9PT0gVGFiRW51bS5TRUFSQ0h9IGFzIHZhcnNcIlxuICAgICAgY2xhc3M9XCJtYWluLWNvbnRlbnQgbm8tcGFkZGluZy1sZWZ0LXJpZ2h0IG5vLXBhZGRpbmctYm90dG9tXCJcbiAgICAgIFthY3RpdmVdPVwidmFycy5hY3RpdmVcIlxuICAgICAgW2hlYWRpbmddPVwiJ2Rvc3NpZXJNYW5hZ2VtZW50LnRhYnMuc2VhcmNoRmllbGRzJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAoc2VsZWN0ZWQpPVwiZGlzcGxheUJvZHlDb21wb25lbnQoVGFiRW51bS5TRUFSQ0gpXCJcbiAgICA+XG4gICAgICA8dmFsdGltby1kb3NzaWVyLW1hbmFnZW1lbnQtc2VhcmNoLWZpZWxkc1xuICAgICAgICAqbmdJZj1cInZhcnMuYWN0aXZlXCJcbiAgICAgID48L3ZhbHRpbW8tZG9zc2llci1tYW5hZ2VtZW50LXNlYXJjaC1maWVsZHM+XG4gICAgPC9jZHMtdGFiPlxuICAgIDxjZHMtdGFiXG4gICAgICAqbmdJZj1cInthY3RpdmU6IGN1cnJlbnRUYWIgPT09IFRhYkVudW0uTElTVH0gYXMgdmFyc1wiXG4gICAgICBjbGFzcz1cIm5vLXBhZGRpbmctbGVmdC1yaWdodCBuby1wYWRkaW5nLXRvcC1ib3R0b21cIlxuICAgICAgW2FjdGl2ZV09XCJ2YXJzLmFjdGl2ZVwiXG4gICAgICBbaGVhZGluZ109XCInZG9zc2llck1hbmFnZW1lbnQudGFicy5saXN0Q29sdW1ucycgfCB0cmFuc2xhdGVcIlxuICAgICAgKHNlbGVjdGVkKT1cImRpc3BsYXlCb2R5Q29tcG9uZW50KFRhYkVudW0uTElTVClcIlxuICAgID5cbiAgICAgIDx2YWx0aW1vLWRvc3NpZXItbWFuYWdlbWVudC1saXN0LWNvbHVtbnNcbiAgICAgICAgKm5nSWY9XCJ2YXJzLmFjdGl2ZVwiXG4gICAgICA+PC92YWx0aW1vLWRvc3NpZXItbWFuYWdlbWVudC1saXN0LWNvbHVtbnM+XG4gICAgPC9jZHMtdGFiPlxuICAgIDxjZHMtdGFiXG4gICAgICAqbmdJZj1cInthY3RpdmU6IGN1cnJlbnRUYWIgPT09IFRhYkVudW0uVEFCU30gYXMgdmFyc1wiXG4gICAgICBjbGFzcz1cIm5vLXBhZGRpbmctbGVmdC1yaWdodCBuby1wYWRkaW5nLXRvcC1ib3R0b21cIlxuICAgICAgW2FjdGl2ZV09XCJ2YXJzLmFjdGl2ZVwiXG4gICAgICBbaGVhZGluZ109XCInZG9zc2llck1hbmFnZW1lbnQudGFicy50YWJNYW5hZ2VtZW50JyB8IHRyYW5zbGF0ZVwiXG4gICAgICAoc2VsZWN0ZWQpPVwiZGlzcGxheUJvZHlDb21wb25lbnQoVGFiRW51bS5UQUJTKVwiXG4gICAgPlxuICAgICAgPHZhbHRpbW8tZG9zc2llci1tYW5hZ2VtZW50LXRhYnNcbiAgICAgICAgKm5nSWY9XCJ2YXJzLmFjdGl2ZVwiXG4gICAgICAgIFtkb2N1bWVudERlZmluaXRpb25OYW1lXT1cImRvY3VtZW50RGVmaW5pdGlvbk5hbWUkIHwgYXN5bmNcIlxuICAgICAgPjwvdmFsdGltby1kb3NzaWVyLW1hbmFnZW1lbnQtdGFicz5cbiAgICA8L2Nkcy10YWI+XG4gIDwvY2RzLXRhYnM+XG48L25nLXRlbXBsYXRlPlxuXG48bmctY29udGFpbmVyIHJlbmRlckluUGFnZUhlYWRlciBbZnVsbFdpZHRoXT1cInRydWVcIj5cbiAgPG5nLXRlbXBsYXRlPlxuICAgIDx2YWx0aW1vLWRvc3NpZXItbWFuYWdlbWVudC1kZXRhaWwtY29udGFpbmVyLWFjdGlvbnNcbiAgICAgIFtkb2N1bWVudERlZmluaXRpb25UaXRsZV09XCJkb2N1bWVudERlZmluaXRpb25UaXRsZSQgfCBhc3luY1wiXG4gICAgICBbZG9jdW1lbnREZWZpbml0aW9uTmFtZV09XCJkb2N1bWVudERlZmluaXRpb25OYW1lJCB8IGFzeW5jXCJcbiAgICA+PC92YWx0aW1vLWRvc3NpZXItbWFuYWdlbWVudC1kZXRhaWwtY29udGFpbmVyLWFjdGlvbnM+XG4gIDwvbmctdGVtcGxhdGU+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
|
139
|
+
args: [{ selector: 'valtimo-dossier-management-detail-container', providers: [DossierDetailService], changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n *ngIf=\"{\n currentTab: currentTab$ | async,\n injectedTabs: injectedCaseManagementTabs$ | async\n } as obs\"\n class=\"dossier-management-detail-container\"\n>\n <valtimo-documenten-api></valtimo-documenten-api>\n <cds-tabs\n class=\"dossier-management-tabs\"\n type=\"contained\"\n [attr.data-carbon-theme]=\"CARBON_THEME\"\n >\n <cds-tab\n class=\"no-padding-left-right no-padding-top-bottom\"\n [active]=\"obs.currentTab === TabEnum.DOCUMENT\"\n [heading]=\"'dossierManagement.tabs.document' | translate\"\n (selected)=\"displayBodyComponent(TabEnum.DOCUMENT)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"no-padding-left-right main-content\"\n [active]=\"obs.currentTab === TabEnum.CASE\"\n [heading]=\"'dossierManagement.tabs.cases' | translate\"\n (selected)=\"displayBodyComponent(TabEnum.CASE)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"no-padding-left-right main-content\"\n [active]=\"obs.currentTab === TabEnum.PROCESSES\"\n [heading]=\"'dossierManagement.tabs.processes' | translate\"\n (selected)=\"displayBodyComponent(TabEnum.PROCESSES)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"main-content no-padding-left-right no-padding-bottom\"\n [active]=\"obs.currentTab === TabEnum.SEARCH\"\n [heading]=\"'dossierManagement.tabs.searchFields' | translate\"\n (selected)=\"displayBodyComponent(TabEnum.SEARCH)\"\n >\n </cds-tab>\n\n <cds-tab\n *ngIf=\"caseListColumn\"\n class=\"no-padding-left-right no-padding-top-bottom\"\n [active]=\"obs.currentTab === TabEnum.LIST\"\n [heading]=\"'dossierManagement.tabs.listColumns' | translate\"\n (selected)=\"displayBodyComponent(TabEnum.LIST)\"\n >\n </cds-tab>\n\n <cds-tab\n *ngIf=\"tabManagementEnabled\"\n class=\"no-padding-left-right no-padding-top-bottom\"\n [active]=\"obs.currentTab === TabEnum.TABS\"\n [heading]=\"'dossierManagement.tabs.tabManagement' | translate\"\n (selected)=\"displayBodyComponent(TabEnum.TABS)\"\n >\n </cds-tab>\n\n <cds-tab\n *ngIf=\"{active: obs.currentTab === TabEnum.STATUSES} as vars\"\n class=\"no-padding-left-right no-padding-top-bottom\"\n [active]=\"vars.active\"\n [heading]=\"'dossierManagement.tabs.statuses' | translate\"\n (selected)=\"displayBodyComponent(TabEnum.STATUSES)\"\n >\n <valtimo-dossier-management-statuses\n *ngIf=\"vars.active\"\n ></valtimo-dossier-management-statuses>\n </cds-tab>\n\n @for (injectedTab of obs.injectedTabs; track injectedTab.translationKey) {\n <cds-tab\n class=\"no-padding-left-right no-padding-top-bottom\"\n [active]=\"obs.currentTab === injectedTab.translationKey\"\n [heading]=\"injectedTab.translationKey | translate\"\n (selected)=\"displayBodyComponent(injectedTab.translationKey, true)\"\n >\n </cds-tab>\n }\n </cds-tabs>\n\n <div class=\"dossier-management-detail-container__content\">\n <ng-template #contentContainer></ng-template>\n\n <valtimo-dossier-management-document-definition\n *ngIf=\"\n (obs.currentTab === TabEnum.DOCUMENT && !pendingChanges) || pendingTab === TabEnum.DOCUMENT\n \"\n [documentDefinitionName]=\"documentDefinitionName$ | async\"\n (pendingChangesUpdate)=\"onPendingChangesUpdate($event)\"\n (cancelRedirect)=\"onCancelRedirectEvent()\"\n (confirmRedirect)=\"onConfirmRedirectEvent()\"\n ></valtimo-dossier-management-document-definition>\n\n <valtimo-dossier-management-detail\n *ngIf=\"(obs.currentTab === TabEnum.CASE && !pendingChanges) || pendingTab === TabEnum.CASE\"\n ></valtimo-dossier-management-detail>\n\n <valtimo-dossier-management-processes\n *ngIf=\"\n (obs.currentTab === TabEnum.PROCESSES && !pendingChanges) ||\n pendingTab === TabEnum.PROCESSES\n \"\n ></valtimo-dossier-management-processes>\n\n <valtimo-dossier-management-search-fields\n *ngIf=\"\n (obs.currentTab === TabEnum.SEARCH && !pendingChanges) || pendingTab === TabEnum.SEARCH\n \"\n ></valtimo-dossier-management-search-fields>\n\n <valtimo-dossier-management-list-columns\n *ngIf=\"(obs.currentTab === TabEnum.LIST && !pendingChanges) || pendingTab === TabEnum.LIST\"\n ></valtimo-dossier-management-list-columns>\n\n <valtimo-dossier-management-tabs\n *ngIf=\"(obs.currentTab === TabEnum.TABS && !pendingChanges) || pendingTab === TabEnum.TABS\"\n [documentDefinitionName]=\"documentDefinitionName$ | async\"\n ></valtimo-dossier-management-tabs>\n </div>\n</div>\n\n<ng-container renderInPageHeader [fullWidth]=\"true\">\n <ng-template>\n <valtimo-dossier-management-detail-container-actions\n [documentDefinitionTitle]=\"documentDefinitionTitle$ | async\"\n [documentDefinitionName]=\"documentDefinitionName$ | async\"\n (versionSet)=\"onVersionSet($event)\"\n ></valtimo-dossier-management-detail-container-actions>\n </ng-template>\n</ng-container>\n", styles: ["::ng-deep .dossier-management-tabs .cds--tab-content{background-color:var(--cds-layer)}::ng-deep .dossier-management-tabs .cds--tab-content:focus{outline:none}::ng-deep .dossier-management-tabs .no-padding-left-right .cds--tab-content{padding-left:0;padding-right:0}::ng-deep .dossier-management-tabs .no-padding-top-bottom .cds--tab-content{padding-top:0;padding-bottom:0}::ng-deep .dossier-management-tabs .no-padding-bottom .cds--tab-content{padding-bottom:0}.tab-container{min-height:300px}.dossier-header{height:80px;padding-top:21px;padding-left:18px;padding-right:18px;border-bottom:1px solid rgba(0,0,0,.125)}.dossier-title{margin-top:0;margin-bottom:7px}.dossier-management-detail-container{display:flex;flex-direction:column;width:100%}.dossier-management-detail-container__content{background:var(--cds-layer)}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
140
|
+
}], ctorParameters: () => [{ type: i1.DossierDetailService }, { type: i2.ActivatedRoute }, { type: i3.ConfigService }, { type: i1.TabService }, { type: i4.PageTitleService }], propDecorators: { _contentContainer: [{
|
|
141
|
+
type: ViewChild,
|
|
142
|
+
args: ['contentContainer', { read: ViewContainerRef }]
|
|
143
|
+
}], _documentDefinitionTab: [{
|
|
144
|
+
type: ViewChild,
|
|
145
|
+
args: [DossierManagementDocumentDefinitionComponent]
|
|
146
|
+
}] } });
|
|
147
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9zc2llci1tYW5hZ2VtZW50LWRldGFpbC1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyLW1hbmFnZW1lbnQvc3JjL2xpYi9jb21wb25lbnRzL2Rvc3NpZXItbWFuYWdlbWVudC1kZXRhaWwtY29udGFpbmVyL2Rvc3NpZXItbWFuYWdlbWVudC1kZXRhaWwtY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZG9zc2llci1tYW5hZ2VtZW50L3NyYy9saWIvY29tcG9uZW50cy9kb3NzaWVyLW1hbmFnZW1lbnQtZGV0YWlsLWNvbnRhaW5lci9kb3NzaWVyLW1hbmFnZW1lbnQtZGV0YWlsLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUdULFNBQVMsRUFDVCxnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFtQix1QkFBdUIsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRTlFLE9BQU8sRUFDTCxhQUFhLEVBQ2Isb0JBQW9CLEVBQ3BCLE1BQU0sRUFDTixHQUFHLEVBRUgsWUFBWSxFQUNaLEdBQUcsR0FDSixNQUFNLE1BQU0sQ0FBQztBQUNkLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDckMsT0FBTyxFQUFDLG9CQUFvQixFQUFhLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEUsT0FBTyxFQUFDLDRDQUE0QyxFQUFDLE1BQU0sNEZBQTRGLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBU3hKLE1BQU0sT0FBTyx5Q0FDWCxTQUFRLHVCQUF1QjtJQWtDL0IsWUFDbUIsb0JBQTBDLEVBQzFDLEtBQXFCLEVBQ3JCLGFBQTRCLEVBQzVCLFVBQXNCLEVBQ3RCLGdCQUFrQztRQUVuRCxLQUFLLEVBQUUsQ0FBQztRQU5TLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBL0JyQyw0QkFBdUIsR0FBdUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUNsRixHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxFQUNoQyxNQUFNLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQ25DLENBQUM7UUFPSyxnQkFBVyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLElBQUksQ0FDbkQsR0FBRyxDQUFDLENBQUMsVUFBbUIsRUFBRSxFQUFFO1lBQzFCLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUNILENBQUM7UUFDYyxnQ0FBMkIsR0FDekMsSUFBSSxDQUFDLFVBQVUsQ0FBQywyQkFBMkIsQ0FBQztRQUM5Qiw2QkFBd0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUM7UUFDbEUsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsMEJBQXFCLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUUvQyxZQUFPLEdBQUcsT0FBTyxDQUFDO1FBSTFCLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQVMxQyxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUM7UUFDaEUsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLEVBQUUsY0FBYyxJQUFJLElBQUksQ0FBQztRQUM3RCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsY0FBYyxFQUFFLG1CQUFtQixJQUFJLElBQUksQ0FBQztJQUMxRSxDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyw2QkFBNkIsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFTSxlQUFlO1FBQ3BCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFdBQVcsQ0FBQztRQUMzRCxJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDO1FBQzlDLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFTSxvQkFBb0IsQ0FBQyxHQUFxQixFQUFFLGFBQWEsR0FBRyxLQUFLO1FBQ3RFLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN6QixDQUFDO1FBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDO0lBQ25DLENBQUM7SUFFTSxxQkFBcUI7UUFDMUIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3RCLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxnQ0FBZ0MsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDaEYsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7WUFDM0IsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3JCLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUMvQyxDQUFDO0lBRU0sc0JBQXNCO1FBQzNCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1FBQzNCLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDekUsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7WUFDNUIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGdDQUFnQyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25FLENBQUM7UUFDRCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVNLHNCQUFzQixDQUFDLGNBQXVCO1FBQ25ELElBQUksQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxVQUFVLEdBQUcsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDNUQsQ0FBQztJQUVNLFlBQVksQ0FBQyxPQUFlO1FBQ2pDLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsZUFBZSxHQUFHLE9BQU8sQ0FBQztZQUMvQixPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyx3QkFBd0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRU8sNkJBQTZCO1FBQ25DLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUNyQixJQUFJLENBQUMsb0JBQW9CLENBQUMsc0JBQXNCLENBQUMsU0FBUyxDQUFDLENBQUMsYUFBNEIsRUFBRSxFQUFFO1lBQzFGLElBQUksQ0FBQyxjQUFjLEdBQUcsYUFBYSxDQUFDO1FBQ3RDLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRU8sMkJBQTJCO1FBQ2pDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUNyQixhQUFhLENBQUM7WUFDWixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1lBQzdDLElBQUksQ0FBQywyQkFBMkI7U0FDakMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLDBCQUEwQixDQUFDLEVBQUUsRUFBRTtZQUN4RCxNQUFNLGVBQWUsR0FBRywwQkFBMEIsQ0FBQyxJQUFJLENBQ3JELFdBQVcsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLGNBQWMsS0FBSyxVQUFVLENBQ3pELENBQUM7WUFFRixJQUFJLGVBQWUsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztnQkFDOUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDcEUsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNqQyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFUyxlQUFlO1FBQ3ZCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUNoRCxDQUFDOzhHQTFJVSx5Q0FBeUM7a0dBQXpDLHlDQUF5QyxzRUFIekMsQ0FBQyxvQkFBb0IsQ0FBQyw0SEFPSyxnQkFBZ0Isc0VBRTNDLDRDQUE0Qyx1RUNyRHpELGluTEF3SkE7OzJGRHpHYSx5Q0FBeUM7a0JBUHJELFNBQVM7K0JBQ0UsNkNBQTZDLGFBRzVDLENBQUMsb0JBQW9CLENBQUMsbUJBQ2hCLHVCQUF1QixDQUFDLE1BQU07ME1BT3ZDLGlCQUFpQjtzQkFEeEIsU0FBUzt1QkFBQyxrQkFBa0IsRUFBRSxFQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBQztnQkFHL0Msc0JBQXNCO3NCQUQ3QixTQUFTO3VCQUFDLDRDQUE0QyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgVmlld0NoaWxkLFxuICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1BhZ2VUaXRsZVNlcnZpY2UsIFBlbmRpbmdDaGFuZ2VzQ29tcG9uZW50fSBmcm9tICdAdmFsdGltby9jb21wb25lbnRzJztcbmltcG9ydCB7Q2FzZU1hbmFnZW1lbnRUYWJDb25maWcsIENvbmZpZ1NlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2NvbmZpZyc7XG5pbXBvcnQge1xuICBjb21iaW5lTGF0ZXN0LFxuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgZmlsdGVyLFxuICBtYXAsXG4gIE9ic2VydmFibGUsXG4gIFN1YnNjcmlwdGlvbixcbiAgdGFwLFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7VGFiRW51bX0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7RG9zc2llckRldGFpbFNlcnZpY2UsIFRhYlNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7RG9zc2llck1hbmFnZW1lbnREb2N1bWVudERlZmluaXRpb25Db21wb25lbnR9IGZyb20gJy4uL2Rvc3NpZXItbWFuYWdlbWVudC1kb2N1bWVudC1kZWZpbml0aW9uL2Rvc3NpZXItbWFuYWdlbWVudC1kb2N1bWVudC1kZWZpbml0aW9uLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbHRpbW8tZG9zc2llci1tYW5hZ2VtZW50LWRldGFpbC1jb250YWluZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZG9zc2llci1tYW5hZ2VtZW50LWRldGFpbC1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kb3NzaWVyLW1hbmFnZW1lbnQtZGV0YWlsLWNvbnRhaW5lci5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtEb3NzaWVyRGV0YWlsU2VydmljZV0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBEb3NzaWVyTWFuYWdlbWVudERldGFpbENvbnRhaW5lckNvbXBvbmVudFxuICBleHRlbmRzIFBlbmRpbmdDaGFuZ2VzQ29tcG9uZW50XG4gIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3lcbntcbiAgQFZpZXdDaGlsZCgnY29udGVudENvbnRhaW5lcicsIHtyZWFkOiBWaWV3Q29udGFpbmVyUmVmfSlcbiAgcHJpdmF0ZSBfY29udGVudENvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZjtcbiAgQFZpZXdDaGlsZChEb3NzaWVyTWFuYWdlbWVudERvY3VtZW50RGVmaW5pdGlvbkNvbXBvbmVudClcbiAgcHJpdmF0ZSBfZG9jdW1lbnREZWZpbml0aW9uVGFiOiBEb3NzaWVyTWFuYWdlbWVudERvY3VtZW50RGVmaW5pdGlvbkNvbXBvbmVudDtcblxuICBwdWJsaWMgcmVhZG9ubHkgZG9jdW1lbnREZWZpbml0aW9uTmFtZSQ6IE9ic2VydmFibGU8c3RyaW5nPiA9IHRoaXMucm91dGUucGFyYW1zLnBpcGUoXG4gICAgbWFwKHBhcmFtcyA9PiBwYXJhbXMubmFtZSB8fCAnJyksXG4gICAgZmlsdGVyKGRvY0RlZk5hbWUgPT4gISFkb2NEZWZOYW1lKVxuICApO1xuXG4gIHB1YmxpYyBjYXNlTGlzdENvbHVtbiE6IGJvb2xlYW47XG4gIHB1YmxpYyB0YWJNYW5hZ2VtZW50RW5hYmxlZCE6IGJvb2xlYW47XG5cbiAgcHVibGljIF9hY3RpdmVUYWI6IFRhYkVudW07XG4gIHB1YmxpYyBwZW5kaW5nVGFiOiBUYWJFbnVtIHwgbnVsbDtcbiAgcHVibGljIGN1cnJlbnRUYWIkID0gdGhpcy50YWJTZXJ2aWNlLmN1cnJlbnRUYWIkLnBpcGUoXG4gICAgdGFwKChjdXJyZW50VGFiOiBUYWJFbnVtKSA9PiB7XG4gICAgICB0aGlzLl9hY3RpdmVUYWIgPSBjdXJyZW50VGFiO1xuICAgIH0pXG4gICk7XG4gIHB1YmxpYyByZWFkb25seSBpbmplY3RlZENhc2VNYW5hZ2VtZW50VGFicyQ6IE9ic2VydmFibGU8Q2FzZU1hbmFnZW1lbnRUYWJDb25maWdbXT4gPVxuICAgIHRoaXMudGFiU2VydmljZS5pbmplY3RlZENhc2VNYW5hZ2VtZW50VGFicyQ7XG4gIHB1YmxpYyByZWFkb25seSBkb2N1bWVudERlZmluaXRpb25UaXRsZSQgPSB0aGlzLnBhZ2VUaXRsZVNlcnZpY2UuY3VzdG9tUGFnZVRpdGxlJDtcbiAgcHVibGljIHJlYWRvbmx5IENBUkJPTl9USEVNRSA9ICdnMTAnO1xuICBwdWJsaWMgcmVhZG9ubHkgRG9zc2llck1hbmFnZW1lbnRUYWJzID0gT2JqZWN0LnZhbHVlcyhUYWJFbnVtKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgVGFiRW51bSA9IFRhYkVudW07XG5cbiAgcHJpdmF0ZSBfYWN0aXZlVmVyc2lvbjogbnVtYmVyIHwgbnVsbDtcbiAgcHJpdmF0ZSBfcGVuZGluZ1ZlcnNpb246IG51bWJlciB8IG51bGw7XG4gIHByaXZhdGUgX3N1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZG9zc2llckRldGFpbFNlcnZpY2U6IERvc3NpZXJEZXRhaWxTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRhYlNlcnZpY2U6IFRhYlNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwYWdlVGl0bGVTZXJ2aWNlOiBQYWdlVGl0bGVTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgY29uc3QgZmVhdHVyZVRvZ2dsZXMgPSB0aGlzLmNvbmZpZ1NlcnZpY2UuY29uZmlnLmZlYXR1cmVUb2dnbGVzO1xuICAgIHRoaXMuY2FzZUxpc3RDb2x1bW4gPSBmZWF0dXJlVG9nZ2xlcz8uY2FzZUxpc3RDb2x1bW4gPz8gdHJ1ZTtcbiAgICB0aGlzLnRhYk1hbmFnZW1lbnRFbmFibGVkID0gZmVhdHVyZVRvZ2dsZXM/LmVuYWJsZVRhYk1hbmFnZW1lbnQgPz8gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm9wZW5BY3RpdmVWZXJzaW9uU3Vic2NyaXB0aW9uKCk7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY3VzdG9tTW9kYWwgPSB0aGlzLl9kb2N1bWVudERlZmluaXRpb25UYWIuY2FuY2VsTW9kYWw7XG4gICAgdGhpcy5vcGVuSW5qZWN0ZWRUYWJTdWJzY3JpcHRpb24oKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnRhYlNlcnZpY2UuY3VycmVudFRhYiA9IFRhYkVudW0uRE9DVU1FTlQ7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMucGFnZVRpdGxlU2VydmljZS5lbmFibGVSZXNldCgpO1xuICB9XG5cbiAgcHVibGljIGRpc3BsYXlCb2R5Q29tcG9uZW50KHRhYjogVGFiRW51bSB8IHN0cmluZywgaXNJbmplY3RlZFRhYiA9IGZhbHNlKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucGVuZGluZ0NoYW5nZXMpIHtcbiAgICAgIHRoaXMub25DYW5EZWFjdGl2YXRlKCk7XG4gICAgfVxuICAgIHRoaXMudGFiU2VydmljZS5jdXJyZW50VGFiID0gdGFiO1xuICB9XG5cbiAgcHVibGljIG9uQ2FuY2VsUmVkaXJlY3RFdmVudCgpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ3VzdG9tQ2FuY2VsKCk7XG4gICAgaWYgKHRoaXMuX2FjdGl2ZVZlcnNpb24pIHtcbiAgICAgIHRoaXMuZG9zc2llckRldGFpbFNlcnZpY2Uuc2V0UHJldmlvdXNTZWxlY3RlZFZlcnNpb25OdW1iZXIodGhpcy5fYWN0aXZlVmVyc2lvbik7XG4gICAgICB0aGlzLl9hY3RpdmVWZXJzaW9uID0gbnVsbDtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMucGVuZGluZ1RhYikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnRhYlNlcnZpY2UuY3VycmVudFRhYiA9IHRoaXMucGVuZGluZ1RhYjtcbiAgfVxuXG4gIHB1YmxpYyBvbkNvbmZpcm1SZWRpcmVjdEV2ZW50KCk6IHZvaWQge1xuICAgIHRoaXMucGVuZGluZ1RhYiA9IG51bGw7XG4gICAgdGhpcy5fYWN0aXZlVmVyc2lvbiA9IG51bGw7XG4gICAgaWYgKHRoaXMuX3BlbmRpbmdWZXJzaW9uKSB7XG4gICAgICB0aGlzLmRvc3NpZXJEZXRhaWxTZXJ2aWNlLnNldFNlbGVjdGVkVmVyc2lvbk51bWJlcih0aGlzLl9wZW5kaW5nVmVyc2lvbik7XG4gICAgICB0aGlzLl9wZW5kaW5nVmVyc2lvbiA9IG51bGw7XG4gICAgICB0aGlzLmRvc3NpZXJEZXRhaWxTZXJ2aWNlLnNldFByZXZpb3VzU2VsZWN0ZWRWZXJzaW9uTnVtYmVyKG51bGwpO1xuICAgIH1cbiAgICB0aGlzLm9uQ3VzdG9tQ29uZmlybSgpO1xuICB9XG5cbiAgcHVibGljIG9uUGVuZGluZ0NoYW5nZXNVcGRhdGUocGVuZGluZ0NoYW5nZXM6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLnBlbmRpbmdDaGFuZ2VzID0gcGVuZGluZ0NoYW5nZXM7XG4gICAgdGhpcy5wZW5kaW5nVGFiID0gcGVuZGluZ0NoYW5nZXMgPyB0aGlzLl9hY3RpdmVUYWIgOiBudWxsO1xuICB9XG5cbiAgcHVibGljIG9uVmVyc2lvblNldCh2ZXJzaW9uOiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5wZW5kaW5nQ2hhbmdlcykge1xuICAgICAgdGhpcy5vbkNhbkRlYWN0aXZhdGUoKTtcbiAgICAgIHRoaXMuX3BlbmRpbmdWZXJzaW9uID0gdmVyc2lvbjtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5kb3NzaWVyRGV0YWlsU2VydmljZS5zZXRTZWxlY3RlZFZlcnNpb25OdW1iZXIodmVyc2lvbik7XG4gIH1cblxuICBwcml2YXRlIG9wZW5BY3RpdmVWZXJzaW9uU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgdGhpcy5kb3NzaWVyRGV0YWlsU2VydmljZS5zZWxlY3RlZFZlcnNpb25OdW1iZXIkLnN1YnNjcmliZSgodmVyc2lvbk51bWJlcjogbnVtYmVyIHwgbnVsbCkgPT4ge1xuICAgICAgICB0aGlzLl9hY3RpdmVWZXJzaW9uID0gdmVyc2lvbk51bWJlcjtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgb3BlbkluamVjdGVkVGFiU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgY29tYmluZUxhdGVzdChbXG4gICAgICAgIHRoaXMuY3VycmVudFRhYiQucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKSxcbiAgICAgICAgdGhpcy5pbmplY3RlZENhc2VNYW5hZ2VtZW50VGFicyQsXG4gICAgICBdKS5zdWJzY3JpYmUoKFtjdXJyZW50VGFiLCBpbmplY3RlZENhc2VNYW5hZ2VtZW50VGFic10pID0+IHtcbiAgICAgICAgY29uc3QgZmluZEluamVjdGVkVGFiID0gaW5qZWN0ZWRDYXNlTWFuYWdlbWVudFRhYnMuZmluZChcbiAgICAgICAgICBpbmplY3RlZFRhYiA9PiBpbmplY3RlZFRhYi50cmFuc2xhdGlvbktleSA9PT0gY3VycmVudFRhYlxuICAgICAgICApO1xuXG4gICAgICAgIGlmIChmaW5kSW5qZWN0ZWRUYWIgJiYgdGhpcy5fY29udGVudENvbnRhaW5lcikge1xuICAgICAgICAgIHRoaXMuX2NvbnRlbnRDb250YWluZXIuY3JlYXRlQ29tcG9uZW50KGZpbmRJbmplY3RlZFRhYi5jb21wb25lbnQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuX2NvbnRlbnRDb250YWluZXIuY2xlYXIoKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uQ2FuRGVhY3RpdmF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kb2N1bWVudERlZmluaXRpb25UYWIub25DYW5EZWFjdGl2YXRlKCk7XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPGRpdlxuICAqbmdJZj1cIntcbiAgICBjdXJyZW50VGFiOiBjdXJyZW50VGFiJCB8IGFzeW5jLFxuICAgIGluamVjdGVkVGFiczogaW5qZWN0ZWRDYXNlTWFuYWdlbWVudFRhYnMkIHwgYXN5bmNcbiAgfSBhcyBvYnNcIlxuICBjbGFzcz1cImRvc3NpZXItbWFuYWdlbWVudC1kZXRhaWwtY29udGFpbmVyXCJcbj5cbiAgPHZhbHRpbW8tZG9jdW1lbnRlbi1hcGk+PC92YWx0aW1vLWRvY3VtZW50ZW4tYXBpPlxuICA8Y2RzLXRhYnNcbiAgICBjbGFzcz1cImRvc3NpZXItbWFuYWdlbWVudC10YWJzXCJcbiAgICB0eXBlPVwiY29udGFpbmVkXCJcbiAgICBbYXR0ci5kYXRhLWNhcmJvbi10aGVtZV09XCJDQVJCT05fVEhFTUVcIlxuICA+XG4gICAgPGNkcy10YWJcbiAgICAgIGNsYXNzPVwibm8tcGFkZGluZy1sZWZ0LXJpZ2h0IG5vLXBhZGRpbmctdG9wLWJvdHRvbVwiXG4gICAgICBbYWN0aXZlXT1cIm9icy5jdXJyZW50VGFiID09PSBUYWJFbnVtLkRPQ1VNRU5UXCJcbiAgICAgIFtoZWFkaW5nXT1cIidkb3NzaWVyTWFuYWdlbWVudC50YWJzLmRvY3VtZW50JyB8IHRyYW5zbGF0ZVwiXG4gICAgICAoc2VsZWN0ZWQpPVwiZGlzcGxheUJvZHlDb21wb25lbnQoVGFiRW51bS5ET0NVTUVOVClcIlxuICAgID5cbiAgICA8L2Nkcy10YWI+XG5cbiAgICA8Y2RzLXRhYlxuICAgICAgY2xhc3M9XCJuby1wYWRkaW5nLWxlZnQtcmlnaHQgbWFpbi1jb250ZW50XCJcbiAgICAgIFthY3RpdmVdPVwib2JzLmN1cnJlbnRUYWIgPT09IFRhYkVudW0uQ0FTRVwiXG4gICAgICBbaGVhZGluZ109XCInZG9zc2llck1hbmFnZW1lbnQudGFicy5jYXNlcycgfCB0cmFuc2xhdGVcIlxuICAgICAgKHNlbGVjdGVkKT1cImRpc3BsYXlCb2R5Q29tcG9uZW50KFRhYkVudW0uQ0FTRSlcIlxuICAgID5cbiAgICA8L2Nkcy10YWI+XG5cbiAgICA8Y2RzLXRhYlxuICAgICAgY2xhc3M9XCJuby1wYWRkaW5nLWxlZnQtcmlnaHQgbWFpbi1jb250ZW50XCJcbiAgICAgIFthY3RpdmVdPVwib2JzLmN1cnJlbnRUYWIgPT09IFRhYkVudW0uUFJPQ0VTU0VTXCJcbiAgICAgIFtoZWFkaW5nXT1cIidkb3NzaWVyTWFuYWdlbWVudC50YWJzLnByb2Nlc3NlcycgfCB0cmFuc2xhdGVcIlxuICAgICAgKHNlbGVjdGVkKT1cImRpc3BsYXlCb2R5Q29tcG9uZW50KFRhYkVudW0uUFJPQ0VTU0VTKVwiXG4gICAgPlxuICAgIDwvY2RzLXRhYj5cblxuICAgIDxjZHMtdGFiXG4gICAgICBjbGFzcz1cIm1haW4tY29udGVudCBuby1wYWRkaW5nLWxlZnQtcmlnaHQgbm8tcGFkZGluZy1ib3R0b21cIlxuICAgICAgW2FjdGl2ZV09XCJvYnMuY3VycmVudFRhYiA9PT0gVGFiRW51bS5TRUFSQ0hcIlxuICAgICAgW2hlYWRpbmddPVwiJ2Rvc3NpZXJNYW5hZ2VtZW50LnRhYnMuc2VhcmNoRmllbGRzJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAoc2VsZWN0ZWQpPVwiZGlzcGxheUJvZHlDb21wb25lbnQoVGFiRW51bS5TRUFSQ0gpXCJcbiAgICA+XG4gICAgPC9jZHMtdGFiPlxuXG4gICAgPGNkcy10YWJcbiAgICAgICpuZ0lmPVwiY2FzZUxpc3RDb2x1bW5cIlxuICAgICAgY2xhc3M9XCJuby1wYWRkaW5nLWxlZnQtcmlnaHQgbm8tcGFkZGluZy10b3AtYm90dG9tXCJcbiAgICAgIFthY3RpdmVdPVwib2JzLmN1cnJlbnRUYWIgPT09IFRhYkVudW0uTElTVFwiXG4gICAgICBbaGVhZGluZ109XCInZG9zc2llck1hbmFnZW1lbnQudGFicy5saXN0Q29sdW1ucycgfCB0cmFuc2xhdGVcIlxuICAgICAgKHNlbGVjdGVkKT1cImRpc3BsYXlCb2R5Q29tcG9uZW50KFRhYkVudW0uTElTVClcIlxuICAgID5cbiAgICA8L2Nkcy10YWI+XG5cbiAgICA8Y2RzLXRhYlxuICAgICAgKm5nSWY9XCJ0YWJNYW5hZ2VtZW50RW5hYmxlZFwiXG4gICAgICBjbGFzcz1cIm5vLXBhZGRpbmctbGVmdC1yaWdodCBuby1wYWRkaW5nLXRvcC1ib3R0b21cIlxuICAgICAgW2FjdGl2ZV09XCJvYnMuY3VycmVudFRhYiA9PT0gVGFiRW51bS5UQUJTXCJcbiAgICAgIFtoZWFkaW5nXT1cIidkb3NzaWVyTWFuYWdlbWVudC50YWJzLnRhYk1hbmFnZW1lbnQnIHwgdHJhbnNsYXRlXCJcbiAgICAgIChzZWxlY3RlZCk9XCJkaXNwbGF5Qm9keUNvbXBvbmVudChUYWJFbnVtLlRBQlMpXCJcbiAgICA+XG4gICAgPC9jZHMtdGFiPlxuXG4gICAgPGNkcy10YWJcbiAgICAgICpuZ0lmPVwie2FjdGl2ZTogb2JzLmN1cnJlbnRUYWIgPT09IFRhYkVudW0uU1RBVFVTRVN9IGFzIHZhcnNcIlxuICAgICAgY2xhc3M9XCJuby1wYWRkaW5nLWxlZnQtcmlnaHQgbm8tcGFkZGluZy10b3AtYm90dG9tXCJcbiAgICAgIFthY3RpdmVdPVwidmFycy5hY3RpdmVcIlxuICAgICAgW2hlYWRpbmddPVwiJ2Rvc3NpZXJNYW5hZ2VtZW50LnRhYnMuc3RhdHVzZXMnIHwgdHJhbnNsYXRlXCJcbiAgICAgIChzZWxlY3RlZCk9XCJkaXNwbGF5Qm9keUNvbXBvbmVudChUYWJFbnVtLlNUQVRVU0VTKVwiXG4gICAgPlxuICAgICAgPHZhbHRpbW8tZG9zc2llci1tYW5hZ2VtZW50LXN0YXR1c2VzXG4gICAgICAgICpuZ0lmPVwidmFycy5hY3RpdmVcIlxuICAgICAgPjwvdmFsdGltby1kb3NzaWVyLW1hbmFnZW1lbnQtc3RhdHVzZXM+XG4gICAgPC9jZHMtdGFiPlxuXG4gICAgQGZvciAoaW5qZWN0ZWRUYWIgb2Ygb2JzLmluamVjdGVkVGFiczsgdHJhY2sgaW5qZWN0ZWRUYWIudHJhbnNsYXRpb25LZXkpIHtcbiAgICAgIDxjZHMtdGFiXG4gICAgICAgIGNsYXNzPVwibm8tcGFkZGluZy1sZWZ0LXJpZ2h0IG5vLXBhZGRpbmctdG9wLWJvdHRvbVwiXG4gICAgICAgIFthY3RpdmVdPVwib2JzLmN1cnJlbnRUYWIgPT09IGluamVjdGVkVGFiLnRyYW5zbGF0aW9uS2V5XCJcbiAgICAgICAgW2hlYWRpbmddPVwiaW5qZWN0ZWRUYWIudHJhbnNsYXRpb25LZXkgfCB0cmFuc2xhdGVcIlxuICAgICAgICAoc2VsZWN0ZWQpPVwiZGlzcGxheUJvZHlDb21wb25lbnQoaW5qZWN0ZWRUYWIudHJhbnNsYXRpb25LZXksIHRydWUpXCJcbiAgICAgID5cbiAgICAgIDwvY2RzLXRhYj5cbiAgICB9XG4gIDwvY2RzLXRhYnM+XG5cbiAgPGRpdiBjbGFzcz1cImRvc3NpZXItbWFuYWdlbWVudC1kZXRhaWwtY29udGFpbmVyX19jb250ZW50XCI+XG4gICAgPG5nLXRlbXBsYXRlICNjb250ZW50Q29udGFpbmVyPjwvbmctdGVtcGxhdGU+XG5cbiAgICA8dmFsdGltby1kb3NzaWVyLW1hbmFnZW1lbnQtZG9jdW1lbnQtZGVmaW5pdGlvblxuICAgICAgKm5nSWY9XCJcbiAgICAgICAgKG9icy5jdXJyZW50VGFiID09PSBUYWJFbnVtLkRPQ1VNRU5UICYmICFwZW5kaW5nQ2hhbmdlcykgfHwgcGVuZGluZ1RhYiA9PT0gVGFiRW51bS5ET0NVTUVOVFxuICAgICAgXCJcbiAgICAgIFtkb2N1bWVudERlZmluaXRpb25OYW1lXT1cImRvY3VtZW50RGVmaW5pdGlvbk5hbWUkIHwgYXN5bmNcIlxuICAgICAgKHBlbmRpbmdDaGFuZ2VzVXBkYXRlKT1cIm9uUGVuZGluZ0NoYW5nZXNVcGRhdGUoJGV2ZW50KVwiXG4gICAgICAoY2FuY2VsUmVkaXJlY3QpPVwib25DYW5jZWxSZWRpcmVjdEV2ZW50KClcIlxuICAgICAgKGNvbmZpcm1SZWRpcmVjdCk9XCJvbkNvbmZpcm1SZWRpcmVjdEV2ZW50KClcIlxuICAgID48L3ZhbHRpbW8tZG9zc2llci1tYW5hZ2VtZW50LWRvY3VtZW50LWRlZmluaXRpb24+XG5cbiAgICA8dmFsdGltby1kb3NzaWVyLW1hbmFnZW1lbnQtZGV0YWlsXG4gICAgICAqbmdJZj1cIihvYnMuY3VycmVudFRhYiA9PT0gVGFiRW51bS5DQVNFICYmICFwZW5kaW5nQ2hhbmdlcykgfHwgcGVuZGluZ1RhYiA9PT0gVGFiRW51bS5DQVNFXCJcbiAgICA+PC92YWx0aW1vLWRvc3NpZXItbWFuYWdlbWVudC1kZXRhaWw+XG5cbiAgICA8dmFsdGltby1kb3NzaWVyLW1hbmFnZW1lbnQtcHJvY2Vzc2VzXG4gICAgICAqbmdJZj1cIlxuICAgICAgICAob2JzLmN1cnJlbnRUYWIgPT09IFRhYkVudW0uUFJPQ0VTU0VTICYmICFwZW5kaW5nQ2hhbmdlcykgfHxcbiAgICAgICAgcGVuZGluZ1RhYiA9PT0gVGFiRW51bS5QUk9DRVNTRVNcbiAgICAgIFwiXG4gICAgPjwvdmFsdGltby1kb3NzaWVyLW1hbmFnZW1lbnQtcHJvY2Vzc2VzPlxuXG4gICAgPHZhbHRpbW8tZG9zc2llci1tYW5hZ2VtZW50LXNlYXJjaC1maWVsZHNcbiAgICAgICpuZ0lmPVwiXG4gICAgICAgIChvYnMuY3VycmVudFRhYiA9PT0gVGFiRW51bS5TRUFSQ0ggJiYgIXBlbmRpbmdDaGFuZ2VzKSB8fCBwZW5kaW5nVGFiID09PSBUYWJFbnVtLlNFQVJDSFxuICAgICAgXCJcbiAgICA+PC92YWx0aW1vLWRvc3NpZXItbWFuYWdlbWVudC1zZWFyY2gtZmllbGRzPlxuXG4gICAgPHZhbHRpbW8tZG9zc2llci1tYW5hZ2VtZW50LWxpc3QtY29sdW1uc1xuICAgICAgKm5nSWY9XCIob2JzLmN1cnJlbnRUYWIgPT09IFRhYkVudW0uTElTVCAmJiAhcGVuZGluZ0NoYW5nZXMpIHx8IHBlbmRpbmdUYWIgPT09IFRhYkVudW0uTElTVFwiXG4gICAgPjwvdmFsdGltby1kb3NzaWVyLW1hbmFnZW1lbnQtbGlzdC1jb2x1bW5zPlxuXG4gICAgPHZhbHRpbW8tZG9zc2llci1tYW5hZ2VtZW50LXRhYnNcbiAgICAgICpuZ0lmPVwiKG9icy5jdXJyZW50VGFiID09PSBUYWJFbnVtLlRBQlMgJiYgIXBlbmRpbmdDaGFuZ2VzKSB8fCBwZW5kaW5nVGFiID09PSBUYWJFbnVtLlRBQlNcIlxuICAgICAgW2RvY3VtZW50RGVmaW5pdGlvbk5hbWVdPVwiZG9jdW1lbnREZWZpbml0aW9uTmFtZSQgfCBhc3luY1wiXG4gICAgPjwvdmFsdGltby1kb3NzaWVyLW1hbmFnZW1lbnQtdGFicz5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPG5nLWNvbnRhaW5lciByZW5kZXJJblBhZ2VIZWFkZXIgW2Z1bGxXaWR0aF09XCJ0cnVlXCI+XG4gIDxuZy10ZW1wbGF0ZT5cbiAgICA8dmFsdGltby1kb3NzaWVyLW1hbmFnZW1lbnQtZGV0YWlsLWNvbnRhaW5lci1hY3Rpb25zXG4gICAgICBbZG9jdW1lbnREZWZpbml0aW9uVGl0bGVdPVwiZG9jdW1lbnREZWZpbml0aW9uVGl0bGUkIHwgYXN5bmNcIlxuICAgICAgW2RvY3VtZW50RGVmaW5pdGlvbk5hbWVdPVwiZG9jdW1lbnREZWZpbml0aW9uTmFtZSQgfCBhc3luY1wiXG4gICAgICAodmVyc2lvblNldCk9XCJvblZlcnNpb25TZXQoJGV2ZW50KVwiXG4gICAgPjwvdmFsdGltby1kb3NzaWVyLW1hbmFnZW1lbnQtZGV0YWlsLWNvbnRhaW5lci1hY3Rpb25zPlxuICA8L25nLXRlbXBsYXRlPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Inject, Input, Output, ViewChild, } from '@angular/core';
|
|
17
|
+
import { BehaviorSubject, combineLatest, map, switchMap, tap } from 'rxjs';
|
|
18
|
+
import { NotificationService } from 'carbon-components-angular';
|
|
19
|
+
import { DOCUMENT } from '@angular/common';
|
|
20
|
+
import { take } from 'rxjs/operators';
|
|
21
|
+
import * as i0 from "@angular/core";
|
|
22
|
+
import * as i1 from "carbon-components-angular";
|
|
23
|
+
import * as i2 from "../../services";
|
|
24
|
+
import * as i3 from "@ngx-translate/core";
|
|
25
|
+
import * as i4 from "@valtimo/document";
|
|
26
|
+
import * as i5 from "@valtimo/components";
|
|
27
|
+
import * as i6 from "@angular/common";
|
|
28
|
+
import * as i7 from "../dossier-management-remove-modal/dossier-management-remove-modal.component";
|
|
29
|
+
export class DossierManagementDetailContainerActionsComponent {
|
|
30
|
+
set documentDefinitionName(value) {
|
|
31
|
+
this.dossierDetailService.setSelectedDocumentDefinitionName(value);
|
|
32
|
+
}
|
|
33
|
+
constructor(document, notificationService, dossierExportService, translateService, documentService, dossierDetailService, pageHeaderService) {
|
|
34
|
+
this.document = document;
|
|
35
|
+
this.notificationService = notificationService;
|
|
36
|
+
this.dossierExportService = dossierExportService;
|
|
37
|
+
this.translateService = translateService;
|
|
38
|
+
this.documentService = documentService;
|
|
39
|
+
this.dossierDetailService = dossierDetailService;
|
|
40
|
+
this.pageHeaderService = pageHeaderService;
|
|
41
|
+
this.documentDefinitionTitle = '';
|
|
42
|
+
this.versionSet = new EventEmitter();
|
|
43
|
+
this.CARBON_THEME = 'g10';
|
|
44
|
+
this.exporting$ = new BehaviorSubject(false);
|
|
45
|
+
this.selectedVersionNumber$ = this.dossierDetailService.selectedVersionNumber$;
|
|
46
|
+
this._previousSelectedVersionNumber$ = this.dossierDetailService.previousSelectedVersionNumber$;
|
|
47
|
+
this._documentDefinitionName$ = this.dossierDetailService.selectedDocumentDefinitionName$;
|
|
48
|
+
this.loadingVersion$ = new BehaviorSubject(true);
|
|
49
|
+
this._documentDefinitionVersions$ = this._documentDefinitionName$.pipe(switchMap(documentDefinitionName => this.documentService.getDocumentDefinitionVersions(documentDefinitionName)), tap(res => {
|
|
50
|
+
this.dossierDetailService.setSelectedVersionNumber(this.findLargestInArray(res.versions));
|
|
51
|
+
this.loadingVersion$.next(false);
|
|
52
|
+
}));
|
|
53
|
+
this.versionListItems$ = combineLatest([
|
|
54
|
+
this._documentDefinitionVersions$,
|
|
55
|
+
this.selectedVersionNumber$,
|
|
56
|
+
this._previousSelectedVersionNumber$,
|
|
57
|
+
this.translateService.stream('key'),
|
|
58
|
+
]).pipe(map(([versionsRes, selectVersionNumber, previousVersionNumber]) => versionsRes?.versions?.map(version => ({
|
|
59
|
+
content: `${this.translateService.instant('dossierManagement.version')}${version}`,
|
|
60
|
+
selected: selectVersionNumber === version || previousVersionNumber === version,
|
|
61
|
+
id: `${version}`,
|
|
62
|
+
})) || []));
|
|
63
|
+
this.selectedDocumentDefinition$ = this.dossierDetailService.documentDefinition$;
|
|
64
|
+
this.selectedDocumentDefinitionIsReadOnly$ = this.dossierDetailService.selectedDocumentDefinitionIsReadOnly$;
|
|
65
|
+
this.compactMode$ = this.pageHeaderService.compactMode$;
|
|
66
|
+
}
|
|
67
|
+
export() {
|
|
68
|
+
this.closeCurrentNotification();
|
|
69
|
+
this._currentNotification = this.notificationService.showNotification({
|
|
70
|
+
type: 'info',
|
|
71
|
+
title: '',
|
|
72
|
+
showClose: false,
|
|
73
|
+
template: this._exportMessageTemplateRef,
|
|
74
|
+
});
|
|
75
|
+
let selectedVersionNumber;
|
|
76
|
+
this.startExporting();
|
|
77
|
+
combineLatest([this.selectedVersionNumber$, this._documentDefinitionName$])
|
|
78
|
+
.pipe(take(1), tap(([selectedVersion]) => (selectedVersionNumber = selectedVersion)), switchMap(([selectedVersion, documentDefinitionName]) => this.dossierExportService.exportDocumentDefinition(documentDefinitionName, selectedVersion)))
|
|
79
|
+
.subscribe({
|
|
80
|
+
next: response => {
|
|
81
|
+
this.closeCurrentNotification();
|
|
82
|
+
this._currentNotification = this.notificationService.showNotification({
|
|
83
|
+
type: 'success',
|
|
84
|
+
title: this.translateService.instant('dossierManagement.exportSuccessTitle'),
|
|
85
|
+
duration: 5000,
|
|
86
|
+
});
|
|
87
|
+
this.downloadZip(response, selectedVersionNumber);
|
|
88
|
+
this.stopExporting();
|
|
89
|
+
},
|
|
90
|
+
error: () => {
|
|
91
|
+
this.closeCurrentNotification();
|
|
92
|
+
this._currentNotification = this.notificationService.showNotification({
|
|
93
|
+
type: 'error',
|
|
94
|
+
title: this.translateService.instant('dossierManagement.exportErrorTitle'),
|
|
95
|
+
message: this.translateService.instant('dossierManagement.exportErrorMessage'),
|
|
96
|
+
duration: 5000,
|
|
97
|
+
});
|
|
98
|
+
this.stopExporting();
|
|
99
|
+
},
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
setVersion(version) {
|
|
103
|
+
this.versionSet.emit(Number(version.item.id));
|
|
104
|
+
}
|
|
105
|
+
openDossierRemoveModal() {
|
|
106
|
+
this.selectedDocumentDefinition$.pipe(take(1)).subscribe(definition => {
|
|
107
|
+
this._dossierRemoveModal.openModal(definition);
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
startExporting() {
|
|
111
|
+
this.exporting$.next(true);
|
|
112
|
+
}
|
|
113
|
+
stopExporting() {
|
|
114
|
+
this.exporting$.next(false);
|
|
115
|
+
}
|
|
116
|
+
downloadZip(response, versionNumber) {
|
|
117
|
+
const link = document.createElement('a');
|
|
118
|
+
const contentDisposition = response.headers.get('content-disposition');
|
|
119
|
+
const splitContentDisposition = contentDisposition.split('filename=');
|
|
120
|
+
const fileName = splitContentDisposition.length > 1 && splitContentDisposition[1];
|
|
121
|
+
link.href = this.document.defaultView.URL.createObjectURL(response.body);
|
|
122
|
+
link.download = fileName || `${this.documentDefinitionName}_${versionNumber}.valtimo.zip`;
|
|
123
|
+
link.target = '_blank';
|
|
124
|
+
link.click();
|
|
125
|
+
link.remove();
|
|
126
|
+
}
|
|
127
|
+
closeCurrentNotification() {
|
|
128
|
+
if (this._currentNotification) {
|
|
129
|
+
this.notificationService.close(this._currentNotification);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
findLargestInArray(array) {
|
|
133
|
+
return array.reduce(function (a, b) {
|
|
134
|
+
return a > b ? a : b;
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementDetailContainerActionsComponent, deps: [{ token: DOCUMENT }, { token: i1.NotificationService }, { token: i2.DossierExportService }, { token: i3.TranslateService }, { token: i4.DocumentService }, { token: i2.DossierDetailService }, { token: i5.PageHeaderService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
138
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: DossierManagementDetailContainerActionsComponent, selector: "valtimo-dossier-management-detail-container-actions", inputs: { documentDefinitionTitle: "documentDefinitionTitle", documentDefinitionName: "documentDefinitionName" }, outputs: { versionSet: "versionSet" }, providers: [NotificationService], viewQueries: [{ propertyName: "_exportMessageTemplateRef", first: true, predicate: ["exportingMessage"], descendants: true }, { propertyName: "_dossierRemoveModal", first: true, predicate: ["dossierRemoveModal"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n class=\"dossier-actions\"\n *ngIf=\"{\n exporting: exporting$ | async,\n loadingVersion: loadingVersion$ | async,\n versionListItems: versionListItems$ | async,\n selectedDocumentDefinition: selectedDocumentDefinition$ | async,\n selectedDocumentDefinitionIsReadOnly: selectedDocumentDefinitionIsReadOnly$ | async,\n compactMode: compactMode$ | async\n } as obs\"\n [ngClass]=\"{'--compact': obs.compactMode}\"\n>\n <div class=\"dossier-metadata\">\n <ng-container *ngTemplateOutlet=\"versionSelection; context: {obs: obs}\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"readOnly; context: {obs: obs}\"></ng-container>\n </div>\n\n <ng-container *ngTemplateOutlet=\"exportMenu; context: {obs: obs}\"></ng-container>\n</div>\n\n<ng-template #versionSelection let-obs=\"obs\">\n <cds-dropdown\n class=\"version-selection\"\n [disabled]=\"obs.loadingVersion || (obs.versionListItems.length || []) === 1\"\n [skeleton]=\"obs.loadingVersion\"\n (selected)=\"setVersion($event)\"\n [size]=\"obs.compactMode ? 'sm' : 'md'\"\n >\n <cds-dropdown-list [items]=\"obs.versionListItems || []\"></cds-dropdown-list>\n </cds-dropdown>\n</ng-template>\n\n<ng-template #exportMenu let-obs=\"obs\">\n <cds-overflow-menu\n valtimoCdsOverflowButton\n [width]=\"250\"\n [customTrigger]=\"customTrigger\"\n [offset]=\"{y: 48, x: 37}\"\n class=\"overflow-button\"\n >\n <cds-overflow-menu-option\n [id]=\"'exportDocumentDefinition'\"\n [disabled]=\"obs.exporting || obs.loadingVersion\"\n (selected)=\"export()\"\n >{{\n 'dossierManagement.export' | translate: {value: documentDefinitionTitle}\n }}</cds-overflow-menu-option\n >\n\n <cds-overflow-menu-option\n *ngIf=\"obs.selectedDocumentDefinition && !obs.selectedDocumentDefinition.readOnly\"\n [id]=\"'removeDocumentDefinition'\"\n [disabled]=\"obs.exporting || obs.loadingVersion\"\n (selected)=\"openDossierRemoveModal()\"\n >{{ 'Remove document definition' | translate }}</cds-overflow-menu-option\n >\n </cds-overflow-menu>\n</ng-template>\n\n<ng-template #customTrigger>\n <button cdsButton=\"tertiary\" [size]=\"(compactMode$ | async) ? 'sm' : 'md'\">\n {{ 'dossierManagement.more' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"overflow-menu--vertical\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<ng-template #exportingMessage>\n <div class=\"exporting-message\">\n <span class=\"cds--inline-notification__title\">{{\n 'dossierManagement.preparingDownload' | translate\n }}</span>\n\n <cds-loading size=\"sm\"></cds-loading>\n </div>\n</ng-template>\n\n<ng-template #readOnly let-obs=\"obs\">\n <cds-tag *ngIf=\"obs.selectedDocumentDefinitionIsReadOnly\" type=\"blue\">{{\n 'dossierManagement.readonly' | translate\n }}</cds-tag>\n</ng-template>\n\n<valtimo-dossier-management-remove-modal\n #dossierRemoveModal\n></valtimo-dossier-management-remove-modal>\n", styles: [".dossier-actions{display:flex;width:100%;justify-content:space-between;align-items:flex-end}.dossier-actions.--compact{align-items:center}.dossier-actions ::ng-deep .version-selection{width:160px}.dossier-actions ::ng-deep .version-selection .cds--list-box__selection{display:none}.exporting-message{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px}.dossier-metadata{display:flex;gap:24px;align-items:flex-end}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i1.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i1.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i1.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "component", type: i1.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "component", type: i1.OverflowMenu, selector: "cds-overflow-menu, ibm-overflow-menu", inputs: ["buttonLabel", "flip", "placement", "open", "customTrigger", "offset", "wrapperClass", "triggerClass"], outputs: ["openChange"] }, { kind: "component", type: i1.OverflowMenuOption, selector: "cds-overflow-menu-option, ibm-overflow-menu-option", inputs: ["divider", "type", "disabled", "href", "target", "innerClass"], outputs: ["selected"] }, { kind: "directive", type: i5.ValtimoCdsOverflowButtonDirective, selector: "[valtimoCdsOverflowButton]", inputs: ["width"] }, { kind: "component", type: i1.Tag, selector: "cds-tag, ibm-tag", inputs: ["type", "size", "class"] }, { kind: "component", type: i7.DossierManagementRemoveModalComponent, selector: "valtimo-dossier-management-remove-modal" }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
139
|
+
}
|
|
140
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementDetailContainerActionsComponent, decorators: [{
|
|
141
|
+
type: Component,
|
|
142
|
+
args: [{ selector: 'valtimo-dossier-management-detail-container-actions', changeDetection: ChangeDetectionStrategy.OnPush, providers: [NotificationService], template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n class=\"dossier-actions\"\n *ngIf=\"{\n exporting: exporting$ | async,\n loadingVersion: loadingVersion$ | async,\n versionListItems: versionListItems$ | async,\n selectedDocumentDefinition: selectedDocumentDefinition$ | async,\n selectedDocumentDefinitionIsReadOnly: selectedDocumentDefinitionIsReadOnly$ | async,\n compactMode: compactMode$ | async\n } as obs\"\n [ngClass]=\"{'--compact': obs.compactMode}\"\n>\n <div class=\"dossier-metadata\">\n <ng-container *ngTemplateOutlet=\"versionSelection; context: {obs: obs}\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"readOnly; context: {obs: obs}\"></ng-container>\n </div>\n\n <ng-container *ngTemplateOutlet=\"exportMenu; context: {obs: obs}\"></ng-container>\n</div>\n\n<ng-template #versionSelection let-obs=\"obs\">\n <cds-dropdown\n class=\"version-selection\"\n [disabled]=\"obs.loadingVersion || (obs.versionListItems.length || []) === 1\"\n [skeleton]=\"obs.loadingVersion\"\n (selected)=\"setVersion($event)\"\n [size]=\"obs.compactMode ? 'sm' : 'md'\"\n >\n <cds-dropdown-list [items]=\"obs.versionListItems || []\"></cds-dropdown-list>\n </cds-dropdown>\n</ng-template>\n\n<ng-template #exportMenu let-obs=\"obs\">\n <cds-overflow-menu\n valtimoCdsOverflowButton\n [width]=\"250\"\n [customTrigger]=\"customTrigger\"\n [offset]=\"{y: 48, x: 37}\"\n class=\"overflow-button\"\n >\n <cds-overflow-menu-option\n [id]=\"'exportDocumentDefinition'\"\n [disabled]=\"obs.exporting || obs.loadingVersion\"\n (selected)=\"export()\"\n >{{\n 'dossierManagement.export' | translate: {value: documentDefinitionTitle}\n }}</cds-overflow-menu-option\n >\n\n <cds-overflow-menu-option\n *ngIf=\"obs.selectedDocumentDefinition && !obs.selectedDocumentDefinition.readOnly\"\n [id]=\"'removeDocumentDefinition'\"\n [disabled]=\"obs.exporting || obs.loadingVersion\"\n (selected)=\"openDossierRemoveModal()\"\n >{{ 'Remove document definition' | translate }}</cds-overflow-menu-option\n >\n </cds-overflow-menu>\n</ng-template>\n\n<ng-template #customTrigger>\n <button cdsButton=\"tertiary\" [size]=\"(compactMode$ | async) ? 'sm' : 'md'\">\n {{ 'dossierManagement.more' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"overflow-menu--vertical\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<ng-template #exportingMessage>\n <div class=\"exporting-message\">\n <span class=\"cds--inline-notification__title\">{{\n 'dossierManagement.preparingDownload' | translate\n }}</span>\n\n <cds-loading size=\"sm\"></cds-loading>\n </div>\n</ng-template>\n\n<ng-template #readOnly let-obs=\"obs\">\n <cds-tag *ngIf=\"obs.selectedDocumentDefinitionIsReadOnly\" type=\"blue\">{{\n 'dossierManagement.readonly' | translate\n }}</cds-tag>\n</ng-template>\n\n<valtimo-dossier-management-remove-modal\n #dossierRemoveModal\n></valtimo-dossier-management-remove-modal>\n", styles: [".dossier-actions{display:flex;width:100%;justify-content:space-between;align-items:flex-end}.dossier-actions.--compact{align-items:center}.dossier-actions ::ng-deep .version-selection{width:160px}.dossier-actions ::ng-deep .version-selection .cds--list-box__selection{display:none}.exporting-message{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px}.dossier-metadata{display:flex;gap:24px;align-items:flex-end}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
143
|
+
}], ctorParameters: () => [{ type: Document, decorators: [{
|
|
144
|
+
type: Inject,
|
|
145
|
+
args: [DOCUMENT]
|
|
146
|
+
}] }, { type: i1.NotificationService }, { type: i2.DossierExportService }, { type: i3.TranslateService }, { type: i4.DocumentService }, { type: i2.DossierDetailService }, { type: i5.PageHeaderService }], propDecorators: { _exportMessageTemplateRef: [{
|
|
147
|
+
type: ViewChild,
|
|
148
|
+
args: ['exportingMessage']
|
|
149
|
+
}], _dossierRemoveModal: [{
|
|
150
|
+
type: ViewChild,
|
|
151
|
+
args: ['dossierRemoveModal']
|
|
152
|
+
}], documentDefinitionTitle: [{
|
|
153
|
+
type: Input
|
|
154
|
+
}], documentDefinitionName: [{
|
|
155
|
+
type: Input
|
|
156
|
+
}], versionSet: [{
|
|
157
|
+
type: Output
|
|
158
|
+
}] } });
|
|
159
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9zc2llci1tYW5hZ2VtZW50LWRldGFpbC1jb250YWluZXItYWN0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2Rvc3NpZXItbWFuYWdlbWVudC9zcmMvbGliL2NvbXBvbmVudHMvZG9zc2llci1tYW5hZ2VtZW50LWRldGFpbC1jb250YWluZXItYWN0aW9ucy9kb3NzaWVyLW1hbmFnZW1lbnQtZGV0YWlsLWNvbnRhaW5lci1hY3Rpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZG9zc2llci1tYW5hZ2VtZW50L3NyYy9saWIvY29tcG9uZW50cy9kb3NzaWVyLW1hbmFnZW1lbnQtZGV0YWlsLWNvbnRhaW5lci1hY3Rpb25zL2Rvc3NpZXItbWFuYWdlbWVudC1kZXRhaWwtY29udGFpbmVyLWFjdGlvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBRU4sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBYyxTQUFTLEVBQUUsR0FBRyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3JGLE9BQU8sRUFBeUIsbUJBQW1CLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUd0RixPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFHekMsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7QUFXcEMsTUFBTSxPQUFPLGdEQUFnRDtJQU8zRCxJQUFvQixzQkFBc0IsQ0FBQyxLQUFhO1FBQ3RELElBQUks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QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxtQkFBbUIsQ0FBQzs7MEJBMEQ3QixNQUFNOzJCQUFDLFFBQVE7OE9BdERELHlCQUF5QjtzQkFEekMsU0FBUzt1QkFBQyxrQkFBa0I7Z0JBR1osbUJBQW1CO3NCQURuQyxTQUFTO3VCQUFDLG9CQUFvQjtnQkFHZix1QkFBdUI7c0JBQXRDLEtBQUs7Z0JBQ2Msc0JBQXNCO3NCQUF6QyxLQUFLO2dCQUdXLFVBQVU7c0JBQTFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgbWFwLCBPYnNlcnZhYmxlLCBzd2l0Y2hNYXAsIHRhcH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0xpc3RJdGVtLCBOb3RpZmljYXRpb24sIE5vdGlmaWNhdGlvblNlcnZpY2V9IGZyb20gJ2NhcmJvbi1jb21wb25lbnRzLWFuZ3VsYXInO1xuaW1wb3J0IHtEb3NzaWVyRGV0YWlsU2VydmljZSwgRG9zc2llckV4cG9ydFNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtIdHRwUmVzcG9uc2V9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7RG9jdW1lbnRTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9kb2N1bWVudCc7XG5pbXBvcnQge3Rha2V9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7RG9zc2llck1hbmFnZW1lbnRSZW1vdmVNb2RhbENvbXBvbmVudH0gZnJvbSAnLi4vZG9zc2llci1tYW5hZ2VtZW50LXJlbW92ZS1tb2RhbC9kb3NzaWVyLW1hbmFnZW1lbnQtcmVtb3ZlLW1vZGFsLmNvbXBvbmVudCc7XG5pbXBvcnQge1BhZ2VIZWFkZXJTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9jb21wb25lbnRzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1kb3NzaWVyLW1hbmFnZW1lbnQtZGV0YWlsLWNvbnRhaW5lci1hY3Rpb25zJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Rvc3NpZXItbWFuYWdlbWVudC1kZXRhaWwtY29udGFpbmVyLWFjdGlvbnMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kb3NzaWVyLW1hbmFnZW1lbnQtZGV0YWlsLWNvbnRhaW5lci1hY3Rpb25zLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtOb3RpZmljYXRpb25TZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgRG9zc2llck1hbmFnZW1lbnREZXRhaWxDb250YWluZXJBY3Rpb25zQ29tcG9uZW50IHtcbiAgQFZpZXdDaGlsZCgnZXhwb3J0aW5nTWVzc2FnZScpXG4gIHByaXZhdGUgcmVhZG9ubHkgX2V4cG9ydE1lc3NhZ2VUZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8SFRNTERpdkVsZW1lbnQ+O1xuICBAVmlld0NoaWxkKCdkb3NzaWVyUmVtb3ZlTW9kYWwnKVxuICBwcml2YXRlIHJlYWRvbmx5IF9kb3NzaWVyUmVtb3ZlTW9kYWw6IERvc3NpZXJNYW5hZ2VtZW50UmVtb3ZlTW9kYWxDb21wb25lbnQ7XG5cbiAgQElucHV0KCkgcHVibGljIGRvY3VtZW50RGVmaW5pdGlvblRpdGxlID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgZG9jdW1lbnREZWZpbml0aW9uTmFtZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5kb3NzaWVyRGV0YWlsU2VydmljZS5zZXRTZWxlY3RlZERvY3VtZW50RGVmaW5pdGlvbk5hbWUodmFsdWUpO1xuICB9XG4gIEBPdXRwdXQoKSBwdWJsaWMgdmVyc2lvblNldCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIHB1YmxpYyByZWFkb25seSBDQVJCT05fVEhFTUUgPSAnZzEwJztcblxuICBwdWJsaWMgcmVhZG9ubHkgZXhwb3J0aW5nJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0ZWRWZXJzaW9uTnVtYmVyJCA9IHRoaXMuZG9zc2llckRldGFpbFNlcnZpY2Uuc2VsZWN0ZWRWZXJzaW9uTnVtYmVyJDtcbiAgcHJpdmF0ZSByZWFkb25seSBfcHJldmlvdXNTZWxlY3RlZFZlcnNpb25OdW1iZXIkID1cbiAgICB0aGlzLmRvc3NpZXJEZXRhaWxTZXJ2aWNlLnByZXZpb3VzU2VsZWN0ZWRWZXJzaW9uTnVtYmVyJDtcbiAgcHJpdmF0ZSByZWFkb25seSBfZG9jdW1lbnREZWZpbml0aW9uTmFtZSQgPVxuICAgIHRoaXMuZG9zc2llckRldGFpbFNlcnZpY2Uuc2VsZWN0ZWREb2N1bWVudERlZmluaXRpb25OYW1lJDtcbiAgcHVibGljIHJlYWRvbmx5IGxvYWRpbmdWZXJzaW9uJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2RvY3VtZW50RGVmaW5pdGlvblZlcnNpb25zJCA9IHRoaXMuX2RvY3VtZW50RGVmaW5pdGlvbk5hbWUkLnBpcGUoXG4gICAgc3dpdGNoTWFwKGRvY3VtZW50RGVmaW5pdGlvbk5hbWUgPT5cbiAgICAgIHRoaXMuZG9jdW1lbnRTZXJ2aWNlLmdldERvY3VtZW50RGVmaW5pdGlvblZlcnNpb25zKGRvY3VtZW50RGVmaW5pdGlvbk5hbWUpXG4gICAgKSxcbiAgICB0YXAocmVzID0+IHtcbiAgICAgIHRoaXMuZG9zc2llckRldGFpbFNlcnZpY2Uuc2V0U2VsZWN0ZWRWZXJzaW9uTnVtYmVyKHRoaXMuZmluZExhcmdlc3RJbkFycmF5KHJlcy52ZXJzaW9ucykpO1xuICAgICAgdGhpcy5sb2FkaW5nVmVyc2lvbiQubmV4dChmYWxzZSk7XG4gICAgfSlcbiAgKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgdmVyc2lvbkxpc3RJdGVtcyQ6IE9ic2VydmFibGU8QXJyYXk8TGlzdEl0ZW0+PiA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMuX2RvY3VtZW50RGVmaW5pdGlvblZlcnNpb25zJCxcbiAgICB0aGlzLnNlbGVjdGVkVmVyc2lvbk51bWJlciQsXG4gICAgdGhpcy5fcHJldmlvdXNTZWxlY3RlZFZlcnNpb25OdW1iZXIkLFxuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5zdHJlYW0oJ2tleScpLFxuICBdKS5waXBlKFxuICAgIG1hcChcbiAgICAgIChbdmVyc2lvbnNSZXMsIHNlbGVjdFZlcnNpb25OdW1iZXIsIHByZXZpb3VzVmVyc2lvbk51bWJlcl0pID0+XG4gICAgICAgIHZlcnNpb25zUmVzPy52ZXJzaW9ucz8ubWFwKHZlcnNpb24gPT4gKHtcbiAgICAgICAgICBjb250ZW50OiBgJHt0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnZG9zc2llck1hbmFnZW1lbnQudmVyc2lvbicpfSR7dmVyc2lvbn1gLFxuICAgICAgICAgIHNlbGVjdGVkOiBzZWxlY3RWZXJzaW9uTnVtYmVyID09PSB2ZXJzaW9uIHx8IHByZXZpb3VzVmVyc2lvbk51bWJlciA9PT0gdmVyc2lvbixcbiAgICAgICAgICBpZDogYCR7dmVyc2lvbn1gLFxuICAgICAgICB9KSkgfHwgW11cbiAgICApXG4gICk7XG4gIHB1YmxpYyByZWFkb25seSBzZWxlY3RlZERvY3VtZW50RGVmaW5pdGlvbiQgPSB0aGlzLmRvc3NpZXJEZXRhaWxTZXJ2aWNlLmRvY3VtZW50RGVmaW5pdGlvbiQ7XG5cbiAgcHVibGljIHJlYWRvbmx5IHNlbGVjdGVkRG9jdW1lbnREZWZpbml0aW9uSXNSZWFkT25seSQgPVxuICAgIHRoaXMuZG9zc2llckRldGFpbFNlcnZpY2Uuc2VsZWN0ZWREb2N1bWVudERlZmluaXRpb25Jc1JlYWRPbmx5JDtcblxuICBwdWJsaWMgcmVhZG9ubHkgY29tcGFjdE1vZGUkID0gdGhpcy5wYWdlSGVhZGVyU2VydmljZS5jb21wYWN0TW9kZSQ7XG5cbiAgcHJpdmF0ZSBfY3VycmVudE5vdGlmaWNhdGlvbiE6IE5vdGlmaWNhdGlvbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudCxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5vdGlmaWNhdGlvblNlcnZpY2U6IE5vdGlmaWNhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBkb3NzaWVyRXhwb3J0U2VydmljZTogRG9zc2llckV4cG9ydFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnRTZXJ2aWNlOiBEb2N1bWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBkb3NzaWVyRGV0YWlsU2VydmljZTogRG9zc2llckRldGFpbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwYWdlSGVhZGVyU2VydmljZTogUGFnZUhlYWRlclNlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBleHBvcnQoKTogdm9pZCB7XG4gICAgdGhpcy5jbG9zZUN1cnJlbnROb3RpZmljYXRpb24oKTtcblxuICAgIHRoaXMuX2N1cnJlbnROb3RpZmljYXRpb24gPSB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2Uuc2hvd05vdGlmaWNhdGlvbih7XG4gICAgICB0eXBlOiAnaW5mbycsXG4gICAgICB0aXRsZTogJycsXG4gICAgICBzaG93Q2xvc2U6IGZhbHNlLFxuICAgICAgdGVtcGxhdGU6IHRoaXMuX2V4cG9ydE1lc3NhZ2VUZW1wbGF0ZVJlZixcbiAgICB9KTtcbiAgICBsZXQgc2VsZWN0ZWRWZXJzaW9uTnVtYmVyITogbnVtYmVyO1xuXG4gICAgdGhpcy5zdGFydEV4cG9ydGluZygpO1xuXG4gICAgY29tYmluZUxhdGVzdChbdGhpcy5zZWxlY3RlZFZlcnNpb25OdW1iZXIkLCB0aGlzLl9kb2N1bWVudERlZmluaXRpb25OYW1lJF0pXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgdGFwKChbc2VsZWN0ZWRWZXJzaW9uXSkgPT4gKHNlbGVjdGVkVmVyc2lvbk51bWJlciA9IHNlbGVjdGVkVmVyc2lvbikpLFxuICAgICAgICBzd2l0Y2hNYXAoKFtzZWxlY3RlZFZlcnNpb24sIGRvY3VtZW50RGVmaW5pdGlvbk5hbWVdKSA9PlxuICAgICAgICAgIHRoaXMuZG9zc2llckV4cG9ydFNlcnZpY2UuZXhwb3J0RG9jdW1lbnREZWZpbml0aW9uKFxuICAgICAgICAgICAgZG9jdW1lbnREZWZpbml0aW9uTmFtZSxcbiAgICAgICAgICAgIHNlbGVjdGVkVmVyc2lvblxuICAgICAgICAgIClcbiAgICAgICAgKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6IHJlc3BvbnNlID0+IHtcbiAgICAgICAgICB0aGlzLmNsb3NlQ3VycmVudE5vdGlmaWNhdGlvbigpO1xuICAgICAgICAgIHRoaXMuX2N1cnJlbnROb3RpZmljYXRpb24gPSB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2Uuc2hvd05vdGlmaWNhdGlvbih7XG4gICAgICAgICAgICB0eXBlOiAnc3VjY2VzcycsXG4gICAgICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ2Rvc3NpZXJNYW5hZ2VtZW50LmV4cG9ydFN1Y2Nlc3NUaXRsZScpLFxuICAgICAgICAgICAgZHVyYXRpb246IDUwMDAsXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgdGhpcy5kb3dubG9hZFppcChyZXNwb25zZSwgc2VsZWN0ZWRWZXJzaW9uTnVtYmVyKTtcbiAgICAgICAgICB0aGlzLnN0b3BFeHBvcnRpbmcoKTtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3I6ICgpID0+IHtcbiAgICAgICAgICB0aGlzLmNsb3NlQ3VycmVudE5vdGlmaWNhdGlvbigpO1xuICAgICAgICAgIHRoaXMuX2N1cnJlbnROb3RpZmljYXRpb24gPSB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2Uuc2hvd05vdGlmaWNhdGlvbih7XG4gICAgICAgICAgICB0eXBlOiAnZXJyb3InLFxuICAgICAgICAgICAgdGl0bGU6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdkb3NzaWVyTWFuYWdlbWVudC5leHBvcnRFcnJvclRpdGxlJyksXG4gICAgICAgICAgICBtZXNzYWdlOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnZG9zc2llck1hbmFnZW1lbnQuZXhwb3J0RXJyb3JNZXNzYWdlJyksXG4gICAgICAgICAgICBkdXJhdGlvbjogNTAwMCxcbiAgICAgICAgICB9KTtcbiAgICAgICAgICB0aGlzLnN0b3BFeHBvcnRpbmcoKTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHNldFZlcnNpb24odmVyc2lvbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy52ZXJzaW9uU2V0LmVtaXQoTnVtYmVyKHZlcnNpb24uaXRlbS5pZCkpO1xuICB9XG5cbiAgcHVibGljIG9wZW5Eb3NzaWVyUmVtb3ZlTW9kYWwoKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZERvY3VtZW50RGVmaW5pdGlvbiQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoZGVmaW5pdGlvbiA9PiB7XG4gICAgICB0aGlzLl9kb3NzaWVyUmVtb3ZlTW9kYWwub3Blbk1vZGFsKGRlZmluaXRpb24pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGFydEV4cG9ydGluZygpOiB2b2lkIHtcbiAgICB0aGlzLmV4cG9ydGluZyQubmV4dCh0cnVlKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RvcEV4cG9ydGluZygpOiB2b2lkIHtcbiAgICB0aGlzLmV4cG9ydGluZyQubmV4dChmYWxzZSk7XG4gIH1cblxuICBwcml2YXRlIGRvd25sb2FkWmlwKHJlc3BvbnNlOiBIdHRwUmVzcG9uc2U8QmxvYj4sIHZlcnNpb25OdW1iZXI6IG51bWJlcik6IHZvaWQge1xuICAgIGNvbnN0IGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gICAgY29uc3QgY29udGVudERpc3Bvc2l0aW9uID0gcmVzcG9uc2UuaGVhZGVycy5nZXQoJ2NvbnRlbnQtZGlzcG9zaXRpb24nKTtcbiAgICBjb25zdCBzcGxpdENvbnRlbnREaXNwb3NpdGlvbiA9IGNvbnRlbnREaXNwb3NpdGlvbi5zcGxpdCgnZmlsZW5hbWU9Jyk7XG4gICAgY29uc3QgZmlsZU5hbWUgPSBzcGxpdENvbnRlbnREaXNwb3NpdGlvbi5sZW5ndGggPiAxICYmIHNwbGl0Q29udGVudERpc3Bvc2l0aW9uWzFdO1xuXG4gICAgbGluay5ocmVmID0gdGhpcy5kb2N1bWVudC5kZWZhdWx0Vmlldy5VUkwuY3JlYXRlT2JqZWN0VVJMKHJlc3BvbnNlLmJvZHkpO1xuICAgIGxpbmsuZG93bmxvYWQgPSBmaWxlTmFtZSB8fCBgJHt0aGlzLmRvY3VtZW50RGVmaW5pdGlvbk5hbWV9XyR7dmVyc2lvbk51bWJlcn0udmFsdGltby56aXBgO1xuICAgIGxpbmsudGFyZ2V0ID0gJ19ibGFuayc7XG4gICAgbGluay5jbGljaygpO1xuICAgIGxpbmsucmVtb3ZlKCk7XG4gIH1cblxuICBwcml2YXRlIGNsb3NlQ3VycmVudE5vdGlmaWNhdGlvbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fY3VycmVudE5vdGlmaWNhdGlvbikge1xuICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLmNsb3NlKHRoaXMuX2N1cnJlbnROb3RpZmljYXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZmluZExhcmdlc3RJbkFycmF5KGFycmF5OiBBcnJheTxudW1iZXI+KTogbnVtYmVyIHtcbiAgICByZXR1cm4gYXJyYXkucmVkdWNlKGZ1bmN0aW9uIChhLCBiKSB7XG4gICAgICByZXR1cm4gYSA+IGIgPyBhIDogYjtcbiAgICB9KTtcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48ZGl2XG4gIGNsYXNzPVwiZG9zc2llci1hY3Rpb25zXCJcbiAgKm5nSWY9XCJ7XG4gICAgZXhwb3J0aW5nOiBleHBvcnRpbmckIHwgYXN5bmMsXG4gICAgbG9hZGluZ1ZlcnNpb246IGxvYWRpbmdWZXJzaW9uJCB8IGFzeW5jLFxuICAgIHZlcnNpb25MaXN0SXRlbXM6IHZlcnNpb25MaXN0SXRlbXMkIHwgYXN5bmMsXG4gICAgc2VsZWN0ZWREb2N1bWVudERlZmluaXRpb246IHNlbGVjdGVkRG9jdW1lbnREZWZpbml0aW9uJCB8IGFzeW5jLFxuICAgIHNlbGVjdGVkRG9jdW1lbnREZWZpbml0aW9uSXNSZWFkT25seTogc2VsZWN0ZWREb2N1bWVudERlZmluaXRpb25Jc1JlYWRPbmx5JCB8IGFzeW5jLFxuICAgIGNvbXBhY3RNb2RlOiBjb21wYWN0TW9kZSQgfCBhc3luY1xuICB9IGFzIG9ic1wiXG4gIFtuZ0NsYXNzXT1cInsnLS1jb21wYWN0Jzogb2JzLmNvbXBhY3RNb2RlfVwiXG4+XG4gIDxkaXYgY2xhc3M9XCJkb3NzaWVyLW1ldGFkYXRhXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInZlcnNpb25TZWxlY3Rpb247IGNvbnRleHQ6IHtvYnM6IG9ic31cIj48L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyZWFkT25seTsgY29udGV4dDoge29iczogb2JzfVwiPjwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cblxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZXhwb3J0TWVudTsgY29udGV4dDoge29iczogb2JzfVwiPjwvbmctY29udGFpbmVyPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjdmVyc2lvblNlbGVjdGlvbiBsZXQtb2JzPVwib2JzXCI+XG4gIDxjZHMtZHJvcGRvd25cbiAgICBjbGFzcz1cInZlcnNpb24tc2VsZWN0aW9uXCJcbiAgICBbZGlzYWJsZWRdPVwib2JzLmxvYWRpbmdWZXJzaW9uIHx8IChvYnMudmVyc2lvbkxpc3RJdGVtcy5sZW5ndGggfHwgW10pID09PSAxXCJcbiAgICBbc2tlbGV0b25dPVwib2JzLmxvYWRpbmdWZXJzaW9uXCJcbiAgICAoc2VsZWN0ZWQpPVwic2V0VmVyc2lvbigkZXZlbnQpXCJcbiAgICBbc2l6ZV09XCJvYnMuY29tcGFjdE1vZGUgPyAnc20nIDogJ21kJ1wiXG4gID5cbiAgICA8Y2RzLWRyb3Bkb3duLWxpc3QgW2l0ZW1zXT1cIm9icy52ZXJzaW9uTGlzdEl0ZW1zIHx8IFtdXCI+PC9jZHMtZHJvcGRvd24tbGlzdD5cbiAgPC9jZHMtZHJvcGRvd24+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2V4cG9ydE1lbnUgbGV0LW9icz1cIm9ic1wiPlxuICA8Y2RzLW92ZXJmbG93LW1lbnVcbiAgICB2YWx0aW1vQ2RzT3ZlcmZsb3dCdXR0b25cbiAgICBbd2lkdGhdPVwiMjUwXCJcbiAgICBbY3VzdG9tVHJpZ2dlcl09XCJjdXN0b21UcmlnZ2VyXCJcbiAgICBbb2Zmc2V0XT1cInt5OiA0OCwgeDogMzd9XCJcbiAgICBjbGFzcz1cIm92ZXJmbG93LWJ1dHRvblwiXG4gID5cbiAgICA8Y2RzLW92ZXJmbG93LW1lbnUtb3B0aW9uXG4gICAgICBbaWRdPVwiJ2V4cG9ydERvY3VtZW50RGVmaW5pdGlvbidcIlxuICAgICAgW2Rpc2FibGVkXT1cIm9icy5leHBvcnRpbmcgfHwgb2JzLmxvYWRpbmdWZXJzaW9uXCJcbiAgICAgIChzZWxlY3RlZCk9XCJleHBvcnQoKVwiXG4gICAgICA+e3tcbiAgICAgICAgJ2Rvc3NpZXJNYW5hZ2VtZW50LmV4cG9ydCcgfCB0cmFuc2xhdGU6IHt2YWx1ZTogZG9jdW1lbnREZWZpbml0aW9uVGl0bGV9XG4gICAgICB9fTwvY2RzLW92ZXJmbG93LW1lbnUtb3B0aW9uXG4gICAgPlxuXG4gICAgPGNkcy1vdmVyZmxvdy1tZW51LW9wdGlvblxuICAgICAgKm5nSWY9XCJvYnMuc2VsZWN0ZWREb2N1bWVudERlZmluaXRpb24gJiYgIW9icy5zZWxlY3RlZERvY3VtZW50RGVmaW5pdGlvbi5yZWFkT25seVwiXG4gICAgICBbaWRdPVwiJ3JlbW92ZURvY3VtZW50RGVmaW5pdGlvbidcIlxuICAgICAgW2Rpc2FibGVkXT1cIm9icy5leHBvcnRpbmcgfHwgb2JzLmxvYWRpbmdWZXJzaW9uXCJcbiAgICAgIChzZWxlY3RlZCk9XCJvcGVuRG9zc2llclJlbW92ZU1vZGFsKClcIlxuICAgICAgPnt7ICdSZW1vdmUgZG9jdW1lbnQgZGVmaW5pdGlvbicgfCB0cmFuc2xhdGUgfX08L2Nkcy1vdmVyZmxvdy1tZW51LW9wdGlvblxuICAgID5cbiAgPC9jZHMtb3ZlcmZsb3ctbWVudT5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjY3VzdG9tVHJpZ2dlcj5cbiAgPGJ1dHRvbiBjZHNCdXR0b249XCJ0ZXJ0aWFyeVwiIFtzaXplXT1cIihjb21wYWN0TW9kZSQgfCBhc3luYykgPyAnc20nIDogJ21kJ1wiPlxuICAgIHt7ICdkb3NzaWVyTWFuYWdlbWVudC5tb3JlJyB8IHRyYW5zbGF0ZSB9fVxuXG4gICAgPHN2ZyBjbGFzcz1cImNkcy0tYnRuX19pY29uXCIgY2RzSWNvbj1cIm92ZXJmbG93LW1lbnUtLXZlcnRpY2FsXCIgc2l6ZT1cIjE2XCI+PC9zdmc+XG4gIDwvYnV0dG9uPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNleHBvcnRpbmdNZXNzYWdlPlxuICA8ZGl2IGNsYXNzPVwiZXhwb3J0aW5nLW1lc3NhZ2VcIj5cbiAgICA8c3BhbiBjbGFzcz1cImNkcy0taW5saW5lLW5vdGlmaWNhdGlvbl9fdGl0bGVcIj57e1xuICAgICAgJ2Rvc3NpZXJNYW5hZ2VtZW50LnByZXBhcmluZ0Rvd25sb2FkJyB8IHRyYW5zbGF0ZVxuICAgIH19PC9zcGFuPlxuXG4gICAgPGNkcy1sb2FkaW5nIHNpemU9XCJzbVwiPjwvY2RzLWxvYWRpbmc+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNyZWFkT25seSBsZXQtb2JzPVwib2JzXCI+XG4gIDxjZHMtdGFnICpuZ0lmPVwib2JzLnNlbGVjdGVkRG9jdW1lbnREZWZpbml0aW9uSXNSZWFkT25seVwiIHR5cGU9XCJibHVlXCI+e3tcbiAgICAnZG9zc2llck1hbmFnZW1lbnQucmVhZG9ubHknIHwgdHJhbnNsYXRlXG4gIH19PC9jZHMtdGFnPlxuPC9uZy10ZW1wbGF0ZT5cblxuPHZhbHRpbW8tZG9zc2llci1tYW5hZ2VtZW50LXJlbW92ZS1tb2RhbFxuICAjZG9zc2llclJlbW92ZU1vZGFsXG4+PC92YWx0aW1vLWRvc3NpZXItbWFuYWdlbWVudC1yZW1vdmUtbW9kYWw+XG4iXX0=
|