@valtimo/dossier 4.22.0 → 5.1.0
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/esm2020/lib/dossier-detail/dossier-detail.component.mjs +115 -0
- package/esm2020/lib/dossier-detail/tab/audit/audit.component.mjs +76 -0
- package/esm2020/lib/dossier-detail/tab/contact-moments/contact-moments.component.mjs +86 -0
- package/esm2020/lib/dossier-detail/tab/documents/documents.component.mjs +115 -0
- package/esm2020/lib/dossier-detail/tab/progress/progress.component.mjs +48 -0
- package/esm2020/lib/dossier-detail/tab/summary/summary.component.mjs +117 -0
- package/esm2020/lib/dossier-detail-tab-enum.mjs +24 -0
- package/esm2020/lib/dossier-list/dossier-list.component.mjs +218 -0
- package/esm2020/lib/dossier-process-start-modal/dossier-process-start-modal.component.mjs +125 -0
- package/esm2020/lib/dossier-routing.module.mjs +62 -0
- package/esm2020/lib/dossier-supporting-process-start-modal/dossier-supporting-process-start-modal.component.mjs +122 -0
- package/esm2020/lib/dossier-update/dossier-update.component.mjs +113 -0
- package/esm2020/lib/dossier.config.mjs +29 -0
- package/esm2020/lib/dossier.module.mjs +179 -0
- package/esm2020/lib/dossier.service.mjs +51 -0
- package/esm2020/lib/models/index.mjs +19 -0
- package/esm2020/lib/models/tabs.model.mjs +104 -0
- package/esm2020/lib/tab.service.mjs +45 -0
- package/esm2020/public_api.mjs +32 -0
- package/esm2020/valtimo-dossier.mjs +5 -0
- package/fesm2015/valtimo-dossier.mjs +1519 -0
- package/fesm2015/valtimo-dossier.mjs.map +1 -0
- package/fesm2020/valtimo-dossier.mjs +1535 -0
- package/fesm2020/valtimo-dossier.mjs.map +1 -0
- package/lib/dossier-detail/dossier-detail.component.d.ts +4 -0
- package/lib/dossier-detail/dossier-detail.component.d.ts.map +1 -0
- package/lib/dossier-detail/tab/audit/audit.component.d.ts +4 -0
- package/lib/dossier-detail/tab/audit/audit.component.d.ts.map +1 -0
- package/lib/dossier-detail/tab/contact-moments/contact-moments.component.d.ts +4 -0
- package/lib/dossier-detail/tab/contact-moments/contact-moments.component.d.ts.map +1 -0
- package/lib/dossier-detail/tab/documents/documents.component.d.ts +4 -0
- package/lib/dossier-detail/tab/documents/documents.component.d.ts.map +1 -0
- package/lib/dossier-detail/tab/progress/progress.component.d.ts +4 -0
- package/lib/dossier-detail/tab/progress/progress.component.d.ts.map +1 -0
- package/lib/dossier-detail/tab/summary/summary.component.d.ts +4 -0
- package/lib/dossier-detail/tab/summary/summary.component.d.ts.map +1 -0
- package/lib/dossier-detail-tab-enum.d.ts +1 -0
- package/lib/dossier-detail-tab-enum.d.ts.map +1 -0
- package/lib/dossier-list/dossier-list.component.d.ts +4 -0
- package/lib/dossier-list/dossier-list.component.d.ts.map +1 -0
- package/lib/dossier-process-start-modal/dossier-process-start-modal.component.d.ts +4 -0
- package/lib/dossier-process-start-modal/dossier-process-start-modal.component.d.ts.map +1 -0
- package/lib/dossier-routing.module.d.ts +7 -0
- package/lib/dossier-routing.module.d.ts.map +1 -0
- package/lib/dossier-supporting-process-start-modal/dossier-supporting-process-start-modal.component.d.ts +4 -0
- package/lib/dossier-supporting-process-start-modal/dossier-supporting-process-start-modal.component.d.ts.map +1 -0
- package/lib/dossier-update/dossier-update.component.d.ts +4 -0
- package/lib/dossier-update/dossier-update.component.d.ts.map +1 -0
- package/lib/dossier.config.d.ts +1 -0
- package/lib/dossier.config.d.ts.map +1 -0
- package/lib/dossier.module.d.ts +25 -0
- package/lib/dossier.module.d.ts.map +1 -0
- package/lib/dossier.service.d.ts +4 -0
- package/lib/dossier.service.d.ts.map +1 -0
- package/lib/models/index.d.ts +1 -0
- package/lib/models/index.d.ts.map +1 -0
- package/lib/models/tabs.model.d.ts +1 -0
- package/lib/models/tabs.model.d.ts.map +1 -0
- package/lib/tab.service.d.ts +4 -0
- package/lib/tab.service.d.ts.map +1 -0
- package/package.json +23 -11
- package/public_api.d.ts +1 -0
- package/public_api.d.ts.map +1 -0
- package/valtimo-dossier.d.ts +2 -4
- package/valtimo-dossier.d.ts.map +1 -0
- package/bundles/valtimo-dossier.umd.js +0 -1915
- package/bundles/valtimo-dossier.umd.js.map +0 -1
- package/bundles/valtimo-dossier.umd.min.js +0 -2
- package/bundles/valtimo-dossier.umd.min.js.map +0 -1
- package/esm2015/lib/dossier-detail/dossier-detail.component.js +0 -125
- package/esm2015/lib/dossier-detail/tab/audit/audit.component.js +0 -79
- package/esm2015/lib/dossier-detail/tab/contact-moments/contact-moments.component.js +0 -90
- package/esm2015/lib/dossier-detail/tab/documents/documents.component.js +0 -122
- package/esm2015/lib/dossier-detail/tab/progress/progress.component.js +0 -49
- package/esm2015/lib/dossier-detail/tab/summary/summary.component.js +0 -126
- package/esm2015/lib/dossier-detail-tab-enum.js +0 -24
- package/esm2015/lib/dossier-list/dossier-list.component.js +0 -216
- package/esm2015/lib/dossier-process-start-modal/dossier-process-start-modal.component.js +0 -130
- package/esm2015/lib/dossier-routing.module.js +0 -58
- package/esm2015/lib/dossier-supporting-process-start-modal/dossier-supporting-process-start-modal.component.js +0 -125
- package/esm2015/lib/dossier-update/dossier-update.component.js +0 -121
- package/esm2015/lib/dossier.config.js +0 -29
- package/esm2015/lib/dossier.module.js +0 -121
- package/esm2015/lib/dossier.service.js +0 -53
- package/esm2015/lib/models/index.js +0 -19
- package/esm2015/lib/models/tabs.model.js +0 -104
- package/esm2015/lib/tab.service.js +0 -44
- package/esm2015/public_api.js +0 -32
- package/esm2015/valtimo-dossier.js +0 -9
- package/fesm2015/valtimo-dossier.js +0 -1548
- package/fesm2015/valtimo-dossier.js.map +0 -1
- package/valtimo-dossier.metadata.json +0 -1
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2015-2020 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 { Component, ViewChild, ViewContainerRef, } from '@angular/core';
|
|
17
|
+
import { TabLoaderImpl } from '../models';
|
|
18
|
+
import * as moment from 'moment';
|
|
19
|
+
import * as i0 from "@angular/core";
|
|
20
|
+
import * as i1 from "@ngx-translate/core";
|
|
21
|
+
import * as i2 from "@valtimo/document";
|
|
22
|
+
import * as i3 from "@valtimo/process";
|
|
23
|
+
import * as i4 from "@angular/router";
|
|
24
|
+
import * as i5 from "@angular/common";
|
|
25
|
+
import * as i6 from "../tab.service";
|
|
26
|
+
import * as i7 from "@valtimo/config";
|
|
27
|
+
import * as i8 from "@valtimo/components";
|
|
28
|
+
import * as i9 from "../dossier-supporting-process-start-modal/dossier-supporting-process-start-modal.component";
|
|
29
|
+
import * as i10 from "@ng-bootstrap/ng-bootstrap";
|
|
30
|
+
export class DossierDetailComponent {
|
|
31
|
+
constructor(componentFactoryResolver, translateService, documentService, processService, route, router, location, tabService, configService) {
|
|
32
|
+
this.componentFactoryResolver = componentFactoryResolver;
|
|
33
|
+
this.translateService = translateService;
|
|
34
|
+
this.documentService = documentService;
|
|
35
|
+
this.processService = processService;
|
|
36
|
+
this.route = route;
|
|
37
|
+
this.router = router;
|
|
38
|
+
this.location = location;
|
|
39
|
+
this.tabService = tabService;
|
|
40
|
+
this.configService = configService;
|
|
41
|
+
this.document = null;
|
|
42
|
+
this.tabLoader = null;
|
|
43
|
+
this.processDefinitionListFields = [];
|
|
44
|
+
this.processDocumentDefinitions = [];
|
|
45
|
+
this.customDossierHeaderItems = [];
|
|
46
|
+
this.snapshot = this.route.snapshot.paramMap;
|
|
47
|
+
this.documentDefinitionName = this.snapshot.get('documentDefinitionName') || '';
|
|
48
|
+
this.documentId = this.snapshot.get('documentId') || '';
|
|
49
|
+
}
|
|
50
|
+
ngOnInit() {
|
|
51
|
+
this.tabLoader = new TabLoaderImpl(this.tabService.getTabs(), this.componentFactoryResolver, this.viewContainerRef, this.translateService, this.router, this.location);
|
|
52
|
+
this.documentService
|
|
53
|
+
.getDocumentDefinition(this.documentDefinitionName)
|
|
54
|
+
.subscribe(definition => {
|
|
55
|
+
this.documentDefinitionNameTitle = definition.schema.title;
|
|
56
|
+
});
|
|
57
|
+
this.getCustomDossierHeader();
|
|
58
|
+
this.initialTabName = this.snapshot.get('tab');
|
|
59
|
+
this.tabLoader.initial(this.initialTabName);
|
|
60
|
+
this.getAllAssociatedProcessDefinitions();
|
|
61
|
+
}
|
|
62
|
+
getAllAssociatedProcessDefinitions() {
|
|
63
|
+
this.documentService
|
|
64
|
+
.findProcessDocumentDefinitions(this.documentDefinitionName)
|
|
65
|
+
.subscribe(processDocumentDefinitions => {
|
|
66
|
+
this.processDocumentDefinitions = processDocumentDefinitions.filter(processDocumentDefinition => processDocumentDefinition.startableByUser);
|
|
67
|
+
this.processDefinitionListFields = [
|
|
68
|
+
{
|
|
69
|
+
key: 'processName',
|
|
70
|
+
label: 'Proces',
|
|
71
|
+
},
|
|
72
|
+
];
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
startProcess(processDocumentDefinition) {
|
|
76
|
+
this.supportingProcessStart.openModal(processDocumentDefinition, this.documentId);
|
|
77
|
+
}
|
|
78
|
+
getCustomDossierHeader() {
|
|
79
|
+
if (this.configService.config.customDossierHeader?.hasOwnProperty(this.documentDefinitionName.toLowerCase())) {
|
|
80
|
+
this.documentService.getDocument(this.documentId).subscribe(document => {
|
|
81
|
+
this.document = document;
|
|
82
|
+
this.configService.config.customDossierHeader[this.documentDefinitionName.toLowerCase()]?.forEach(item => this.getCustomDossierHeaderItem(item));
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
getCustomDossierHeaderItem(item) {
|
|
87
|
+
this.customDossierHeaderItems.push({
|
|
88
|
+
label: item['labelTranslationKey'] || '',
|
|
89
|
+
columnSize: item['columnSize'] || 3,
|
|
90
|
+
textSize: item['textSize'] || 'md',
|
|
91
|
+
customClass: item['customClass'] || '',
|
|
92
|
+
value: item['propertyPaths']?.reduce((prev, curr) => prev + this.getStringFromDocumentPath(item, curr), ''),
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
getStringFromDocumentPath(item, path) {
|
|
96
|
+
const prefix = item['propertyPaths'].indexOf(path) > 0 ? ' ' : '';
|
|
97
|
+
const string = path.split('.').reduce((o, i) => o[i], this.document.content) || item['noValueText'] || '';
|
|
98
|
+
const regex = new RegExp('(T\\d\\d:\\d\\d:\\d\\d[+-])');
|
|
99
|
+
const formattedString = regex.test(string) ? moment(string).format('DD-MM-YYYY') : string;
|
|
100
|
+
return prefix + formattedString;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
DossierDetailComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: DossierDetailComponent, deps: [{ token: i0.ComponentFactoryResolver }, { token: i1.TranslateService }, { token: i2.DocumentService }, { token: i3.ProcessService }, { token: i4.ActivatedRoute }, { token: i4.Router }, { token: i5.Location }, { token: i6.TabService }, { token: i7.ConfigService }], target: i0.ɵɵFactoryTarget.Component });
|
|
104
|
+
DossierDetailComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: DossierDetailComponent, selector: "valtimo-dossier-detail", viewQueries: [{ propertyName: "viewContainerRef", first: true, predicate: ["tabContainer"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "supportingProcessStart", first: true, predicate: ["supportingProcessStartModal"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2020 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 class=\"main-content\">\n <div class=\"container-fluid\">\n <div class=\"col-12 px-0 mb-5\">\n <valtimo-widget>\n <div class=\"card-header bg-light card-header-divider pb-2\">\n <div class=\"row\">\n <div class=\"col\">\n <div class=\"row\" *ngIf=\"customDossierHeaderItems.length > 0; else defaultTitle\">\n <span\n class=\"mb-0 mt-0 pb-2 align-self-end col-xl-{{ item.columnSize }} col-lg-{{\n item.columnSize * 2\n }} {{ item.customClass }}\"\n [ngClass]=\"{\n h1: item.textSize === 'xl',\n h2: item.textSize === 'lg',\n h3: item.textSize === 'md',\n h4: item.textSize === 'sm',\n h5: item.textSize === 'xs'\n }\"\n *ngFor=\"let item of customDossierHeaderItems\"\n >\n <span *ngIf=\"item.label !== ''\">{{ item.label | translate }}</span>\n <span *ngIf=\"item.label !== '' && item.value !== '' && item.value !== null\"\n >:\n </span>\n <strong>{{ item.value }}</strong>\n </span>\n </div>\n <ng-template #defaultTitle>\n {{ documentDefinitionNameTitle }}\n </ng-template>\n </div>\n <div class=\"btn-group mt-m3px mb-3 col-auto\">\n <valtimo-extension\n module=\"dossier\"\n page=\"dossier-detail\"\n section=\"card-header\"\n ></valtimo-extension>\n <div class=\"dropdown\">\n <button\n class=\"btn btn-primary dropdown-toggle\"\n type=\"button\"\n id=\"startProcessDropdown\"\n placement=\"bottom\"\n [ngbTooltip]=\"processDocumentDefinitions.length === 0 ? 'No action' : null\"\n [disabled]=\"processDocumentDefinitions.length === 0\"\n data-toggle=\"dropdown\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n >\n <span>Start</span>\n <i class=\"ml-1 mdi mdi-chevron-down\"></i>\n </button>\n <div\n class=\"dropdown-menu dropdown-menu-right\"\n aria-labelledby=\"startProcessDropdown\"\n >\n <button\n *ngFor=\"let processDocumentDefinition of processDocumentDefinitions\"\n class=\"dropdown-item p\"\n href=\"#\"\n (click)=\"startProcess(processDocumentDefinition)\"\n >\n {{ processDocumentDefinition.processName }}\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n <ul class=\"nav nav-tabs\">\n <li class=\"nav-item\" *ngFor=\"let tab of tabLoader.tabs\">\n <a\n id=\"{{ tab.name }}-tab\"\n class=\"nav-link clickable\"\n [ngClass]=\"{active: tab.isActive()}\"\n data-toggle=\"tab\"\n (click)=\"tabLoader.load(tab)\"\n >\n {{ tabLoader.translateTabName(tab) }}\n </a>\n </li>\n </ul>\n <div class=\"card-body bg-white p-5 position-relative tab-container\">\n <ng-template #tabContainer>Loading...</ng-template>\n <div class=\"clearfix\"></div>\n </div>\n </valtimo-widget>\n </div>\n <valtimo-dossier-supporting-process-start-modal\n (formSubmit)=\"tabLoader.refreshView()\"\n #supportingProcessStartModal\n ></valtimo-dossier-supporting-process-start-modal>\n </div>\n</div>\n", styles: [".tab-container{min-height:300px}\n"], components: [{ type: i8.WidgetComponent, selector: "valtimo-widget", inputs: ["type", "name", "icon", "contrast", "divider", "title", "subtitle", "collapseAble", "collapse", "additionalClasses"] }, { type: i7.ExtensionComponent, selector: "valtimo-extension", inputs: ["module", "page", "section"] }, { type: i9.DossierSupportingProcessStartModalComponent, selector: "valtimo-dossier-supporting-process-start-modal", outputs: ["formSubmit"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i10.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "triggers", "container", "disableTooltip", "tooltipClass", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }], pipes: { "translate": i1.TranslatePipe } });
|
|
105
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: DossierDetailComponent, decorators: [{
|
|
106
|
+
type: Component,
|
|
107
|
+
args: [{ selector: 'valtimo-dossier-detail', template: "<!--\n ~ Copyright 2015-2020 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 class=\"main-content\">\n <div class=\"container-fluid\">\n <div class=\"col-12 px-0 mb-5\">\n <valtimo-widget>\n <div class=\"card-header bg-light card-header-divider pb-2\">\n <div class=\"row\">\n <div class=\"col\">\n <div class=\"row\" *ngIf=\"customDossierHeaderItems.length > 0; else defaultTitle\">\n <span\n class=\"mb-0 mt-0 pb-2 align-self-end col-xl-{{ item.columnSize }} col-lg-{{\n item.columnSize * 2\n }} {{ item.customClass }}\"\n [ngClass]=\"{\n h1: item.textSize === 'xl',\n h2: item.textSize === 'lg',\n h3: item.textSize === 'md',\n h4: item.textSize === 'sm',\n h5: item.textSize === 'xs'\n }\"\n *ngFor=\"let item of customDossierHeaderItems\"\n >\n <span *ngIf=\"item.label !== ''\">{{ item.label | translate }}</span>\n <span *ngIf=\"item.label !== '' && item.value !== '' && item.value !== null\"\n >:\n </span>\n <strong>{{ item.value }}</strong>\n </span>\n </div>\n <ng-template #defaultTitle>\n {{ documentDefinitionNameTitle }}\n </ng-template>\n </div>\n <div class=\"btn-group mt-m3px mb-3 col-auto\">\n <valtimo-extension\n module=\"dossier\"\n page=\"dossier-detail\"\n section=\"card-header\"\n ></valtimo-extension>\n <div class=\"dropdown\">\n <button\n class=\"btn btn-primary dropdown-toggle\"\n type=\"button\"\n id=\"startProcessDropdown\"\n placement=\"bottom\"\n [ngbTooltip]=\"processDocumentDefinitions.length === 0 ? 'No action' : null\"\n [disabled]=\"processDocumentDefinitions.length === 0\"\n data-toggle=\"dropdown\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n >\n <span>Start</span>\n <i class=\"ml-1 mdi mdi-chevron-down\"></i>\n </button>\n <div\n class=\"dropdown-menu dropdown-menu-right\"\n aria-labelledby=\"startProcessDropdown\"\n >\n <button\n *ngFor=\"let processDocumentDefinition of processDocumentDefinitions\"\n class=\"dropdown-item p\"\n href=\"#\"\n (click)=\"startProcess(processDocumentDefinition)\"\n >\n {{ processDocumentDefinition.processName }}\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n <ul class=\"nav nav-tabs\">\n <li class=\"nav-item\" *ngFor=\"let tab of tabLoader.tabs\">\n <a\n id=\"{{ tab.name }}-tab\"\n class=\"nav-link clickable\"\n [ngClass]=\"{active: tab.isActive()}\"\n data-toggle=\"tab\"\n (click)=\"tabLoader.load(tab)\"\n >\n {{ tabLoader.translateTabName(tab) }}\n </a>\n </li>\n </ul>\n <div class=\"card-body bg-white p-5 position-relative tab-container\">\n <ng-template #tabContainer>Loading...</ng-template>\n <div class=\"clearfix\"></div>\n </div>\n </valtimo-widget>\n </div>\n <valtimo-dossier-supporting-process-start-modal\n (formSubmit)=\"tabLoader.refreshView()\"\n #supportingProcessStartModal\n ></valtimo-dossier-supporting-process-start-modal>\n </div>\n</div>\n", styles: [".tab-container{min-height:300px}\n"] }]
|
|
108
|
+
}], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i1.TranslateService }, { type: i2.DocumentService }, { type: i3.ProcessService }, { type: i4.ActivatedRoute }, { type: i4.Router }, { type: i5.Location }, { type: i6.TabService }, { type: i7.ConfigService }]; }, propDecorators: { viewContainerRef: [{
|
|
109
|
+
type: ViewChild,
|
|
110
|
+
args: ['tabContainer', { read: ViewContainerRef, static: true }]
|
|
111
|
+
}], supportingProcessStart: [{
|
|
112
|
+
type: ViewChild,
|
|
113
|
+
args: ['supportingProcessStartModal']
|
|
114
|
+
}] } });
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9zc2llci1kZXRhaWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyL3NyYy9saWIvZG9zc2llci1kZXRhaWwvZG9zc2llci1kZXRhaWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyL3NyYy9saWIvZG9zc2llci1kZXRhaWwvZG9zc2llci1kZXRhaWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQ0wsU0FBUyxFQUdULFNBQVMsRUFDVCxnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLFdBQVcsQ0FBQztBQU94QyxPQUFPLEtBQUssTUFBTSxNQUFNLFFBQVEsQ0FBQzs7Ozs7Ozs7Ozs7O0FBT2pDLE1BQU0sT0FBTyxzQkFBc0I7SUFpQmpDLFlBQ1Usd0JBQWtELEVBQ2xELGdCQUFrQyxFQUNsQyxlQUFnQyxFQUNoQyxjQUE4QixFQUM5QixLQUFxQixFQUNyQixNQUFjLEVBQ2QsUUFBa0IsRUFDbEIsVUFBc0IsRUFDdEIsYUFBNEI7UUFSNUIsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQW5CL0IsYUFBUSxHQUFhLElBQUksQ0FBQztRQUMxQixjQUFTLEdBQWtC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QUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDMUYsT0FBTyxNQUFNLEdBQUcsZUFBZSxDQUFDO0lBQ2xDLENBQUM7O21IQTVHVSxzQkFBc0I7dUdBQXRCLHNCQUFzQiwySkFDQyxnQkFBZ0IsbUtDeENwRCwwL0lBK0dBOzJGRHhFYSxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0Usd0JBQXdCO3VVQU1sQyxnQkFBZ0I7c0JBRGYsU0FBUzt1QkFBQyxjQUFjLEVBQUUsRUFBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBQztnQkFjakUsc0JBQXNCO3NCQURyQixTQUFTO3VCQUFDLDZCQUE2QiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIwIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICBPbkluaXQsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlLCBQYXJhbU1hcCwgUm91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtEb2N1bWVudFNlcnZpY2UsIERvY3VtZW50LCBQcm9jZXNzRG9jdW1lbnREZWZpbml0aW9ufSBmcm9tICdAdmFsdGltby9kb2N1bWVudCc7XG5pbXBvcnQge1RhYkxvYWRlckltcGx9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtMb2NhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7VGFiU2VydmljZX0gZnJvbSAnLi4vdGFiLnNlcnZpY2UnO1xuaW1wb3J0IHtQcm9jZXNzU2VydmljZX0gZnJvbSAnQHZhbHRpbW8vcHJvY2Vzcyc7XG5pbXBvcnQge0Rvc3NpZXJTdXBwb3J0aW5nUHJvY2Vzc1N0YXJ0TW9kYWxDb21wb25lbnR9IGZyb20gJy4uL2Rvc3NpZXItc3VwcG9ydGluZy1wcm9jZXNzLXN0YXJ0LW1vZGFsL2Rvc3NpZXItc3VwcG9ydGluZy1wcm9jZXNzLXN0YXJ0LW1vZGFsLmNvbXBvbmVudCc7XG5pbXBvcnQge0NvbmZpZ1NlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2NvbmZpZyc7XG5pbXBvcnQgKiBhcyBtb21lbnQgZnJvbSAnbW9tZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1kb3NzaWVyLWRldGFpbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9kb3NzaWVyLWRldGFpbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Rvc3NpZXItZGV0YWlsLmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRG9zc2llckRldGFpbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBWaWV3Q2hpbGQoJ3RhYkNvbnRhaW5lcicsIHtyZWFkOiBWaWV3Q29udGFpbmVyUmVmLCBzdGF0aWM6IHRydWV9KVxuICB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmO1xuXG4gIHB1YmxpYyBkb2N1bWVudERlZmluaXRpb25OYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyBkb2N1bWVudERlZmluaXRpb25OYW1lVGl0bGU6IHN0cmluZztcbiAgcHVibGljIGRvY3VtZW50SWQ6IHN0cmluZztcbiAgcHVibGljIGRvY3VtZW50OiBEb2N1bWVudCA9IG51bGw7XG4gIHB1YmxpYyB0YWJMb2FkZXI6IFRhYkxvYWRlckltcGwgPSBudWxsO1xuICBwcml2YXRlIHNuYXBzaG90OiBQYXJhbU1hcDtcbiAgcHVibGljIHByb2Nlc3NEZWZpbml0aW9uTGlzdEZpZWxkczogQXJyYXk8YW55PiA9IFtdO1xuICBwdWJsaWMgcHJvY2Vzc0RvY3VtZW50RGVmaW5pdGlvbnM6IFByb2Nlc3NEb2N1bWVudERlZmluaXRpb25bXSA9IFtdO1xuICBwcml2YXRlIGluaXRpYWxUYWJOYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyBjdXN0b21Eb3NzaWVySGVhZGVySXRlbXM6IEFycmF5PGFueT4gPSBbXTtcbiAgQFZpZXdDaGlsZCgnc3VwcG9ydGluZ1Byb2Nlc3NTdGFydE1vZGFsJylcbiAgc3VwcG9ydGluZ1Byb2Nlc3NTdGFydDogRG9zc2llclN1cHBvcnRpbmdQcm9jZXNzU3RhcnRNb2RhbENvbXBvbmVudDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIGRvY3VtZW50U2VydmljZTogRG9jdW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcHJvY2Vzc1NlcnZpY2U6IFByb2Nlc3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSBsb2NhdGlvbjogTG9jYXRpb24sXG4gICAgcHJpdmF0ZSB0YWJTZXJ2aWNlOiBUYWJTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZVxuICApIHtcbiAgICB0aGlzLnNuYXBzaG90ID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5wYXJhbU1hcDtcbiAgICB0aGlzLmRvY3VtZW50RGVmaW5pdGlvbk5hbWUgPSB0aGlzLnNuYXBzaG90LmdldCgnZG9jdW1lbnREZWZpbml0aW9uTmFtZScpIHx8ICcnO1xuICAgIHRoaXMuZG9jdW1lbnRJZCA9IHRoaXMuc25hcHNob3QuZ2V0KCdkb2N1bWVudElkJykgfHwgJyc7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnRhYkxvYWRlciA9IG5ldyBUYWJMb2FkZXJJbXBsKFxuICAgICAgdGhpcy50YWJTZXJ2aWNlLmdldFRhYnMoKSxcbiAgICAgIHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgICAgdGhpcy52aWV3Q29udGFpbmVyUmVmLFxuICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgdGhpcy5yb3V0ZXIsXG4gICAgICB0aGlzLmxvY2F0aW9uXG4gICAgKTtcbiAgICB0aGlzLmRvY3VtZW50U2VydmljZVxuICAgICAgLmdldERvY3VtZW50RGVmaW5pdGlvbih0aGlzLmRvY3VtZW50RGVmaW5pdGlvbk5hbWUpXG4gICAgICAuc3Vic2NyaWJlKGRlZmluaXRpb24gPT4ge1xuICAgICAgICB0aGlzLmRvY3VtZW50RGVmaW5pdGlvbk5hbWVUaXRsZSA9IGRlZmluaXRpb24uc2NoZW1hLnRpdGxlO1xuICAgICAgfSk7XG4gICAgdGhpcy5nZXRDdXN0b21Eb3NzaWVySGVhZGVyKCk7XG4gICAgdGhpcy5pbml0aWFsVGFiTmFtZSA9IHRoaXMuc25hcHNob3QuZ2V0KCd0YWInKTtcbiAgICB0aGlzLnRhYkxvYWRlci5pbml0aWFsKHRoaXMuaW5pdGlhbFRhYk5hbWUpO1xuICAgIHRoaXMuZ2V0QWxsQXNzb2NpYXRlZFByb2Nlc3NEZWZpbml0aW9ucygpO1xuICB9XG5cbiAgcHVibGljIGdldEFsbEFzc29jaWF0ZWRQcm9jZXNzRGVmaW5pdGlvbnMoKSB7XG4gICAgdGhpcy5kb2N1bWVudFNlcnZpY2VcbiAgICAgIC5maW5kUHJvY2Vzc0RvY3VtZW50RGVmaW5pdGlvbnModGhpcy5kb2N1bWVudERlZmluaXRpb25OYW1lKVxuICAgICAgLnN1YnNjcmliZShwcm9jZXNzRG9jdW1lbnREZWZpbml0aW9ucyA9PiB7XG4gICAgICAgIHRoaXMucHJvY2Vzc0RvY3VtZW50RGVmaW5pdGlvbnMgPSBwcm9jZXNzRG9jdW1lbnREZWZpbml0aW9ucy5maWx0ZXIoXG4gICAgICAgICAgcHJvY2Vzc0RvY3VtZW50RGVmaW5pdGlvbiA9PiBwcm9jZXNzRG9jdW1lbnREZWZpbml0aW9uLnN0YXJ0YWJsZUJ5VXNlclxuICAgICAgICApO1xuICAgICAgICB0aGlzLnByb2Nlc3NEZWZpbml0aW9uTGlzdEZpZWxkcyA9IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBrZXk6ICdwcm9jZXNzTmFtZScsXG4gICAgICAgICAgICBsYWJlbDogJ1Byb2NlcycsXG4gICAgICAgICAgfSxcbiAgICAgICAgXTtcbiAgICAgIH0pO1xuICB9XG5cbiAgc3RhcnRQcm9jZXNzKHByb2Nlc3NEb2N1bWVudERlZmluaXRpb246IFByb2Nlc3NEb2N1bWVudERlZmluaXRpb24pIHtcbiAgICB0aGlzLnN1cHBvcnRpbmdQcm9jZXNzU3RhcnQub3Blbk1vZGFsKHByb2Nlc3NEb2N1bWVudERlZmluaXRpb24sIHRoaXMuZG9jdW1lbnRJZCk7XG4gIH1cblxuICBwcml2YXRlIGdldEN1c3RvbURvc3NpZXJIZWFkZXIoKSB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5jb25maWdTZXJ2aWNlLmNvbmZpZy5jdXN0b21Eb3NzaWVySGVhZGVyPy5oYXNPd25Qcm9wZXJ0eShcbiAgICAgICAgdGhpcy5kb2N1bWVudERlZmluaXRpb25OYW1lLnRvTG93ZXJDYXNlKClcbiAgICAgIClcbiAgICApIHtcbiAgICAgIHRoaXMuZG9jdW1lbnRTZXJ2aWNlLmdldERvY3VtZW50KHRoaXMuZG9jdW1lbnRJZCkuc3Vic2NyaWJlKGRvY3VtZW50ID0+IHtcbiAgICAgICAgdGhpcy5kb2N1bWVudCA9IGRvY3VtZW50O1xuICAgICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UuY29uZmlnLmN1c3RvbURvc3NpZXJIZWFkZXJbXG4gICAgICAgICAgdGhpcy5kb2N1bWVudERlZmluaXRpb25OYW1lLnRvTG93ZXJDYXNlKClcbiAgICAgICAgXT8uZm9yRWFjaChpdGVtID0+IHRoaXMuZ2V0Q3VzdG9tRG9zc2llckhlYWRlckl0ZW0oaXRlbSkpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRDdXN0b21Eb3NzaWVySGVhZGVySXRlbShpdGVtKSB7XG4gICAgdGhpcy5jdXN0b21Eb3NzaWVySGVhZGVySXRlbXMucHVzaCh7XG4gICAgICBsYWJlbDogaXRlbVsnbGFiZWxUcmFuc2xhdGlvbktleSddIHx8ICcnLFxuICAgICAgY29sdW1uU2l6ZTogaXRlbVsnY29sdW1uU2l6ZSddIHx8IDMsXG4gICAgICB0ZXh0U2l6ZTogaXRlbVsndGV4dFNpemUnXSB8fCAnbWQnLFxuICAgICAgY3VzdG9tQ2xhc3M6IGl0ZW1bJ2N1c3RvbUNsYXNzJ10gfHwgJycsXG4gICAgICB2YWx1ZTogaXRlbVsncHJvcGVydHlQYXRocyddPy5yZWR1Y2UoXG4gICAgICAgIChwcmV2LCBjdXJyKSA9PiBwcmV2ICsgdGhpcy5nZXRTdHJpbmdGcm9tRG9jdW1lbnRQYXRoKGl0ZW0sIGN1cnIpLFxuICAgICAgICAnJ1xuICAgICAgKSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U3RyaW5nRnJvbURvY3VtZW50UGF0aChpdGVtLCBwYXRoKSB7XG4gICAgY29uc3QgcHJlZml4ID0gaXRlbVsncHJvcGVydHlQYXRocyddLmluZGV4T2YocGF0aCkgPiAwID8gJyAnIDogJyc7XG4gICAgY29uc3Qgc3RyaW5nID1cbiAgICAgIHBhdGguc3BsaXQoJy4nKS5yZWR1Y2UoKG8sIGkpID0+IG9baV0sIHRoaXMuZG9jdW1lbnQuY29udGVudCkgfHwgaXRlbVsnbm9WYWx1ZVRleHQnXSB8fCAnJztcbiAgICBjb25zdCByZWdleCA9IG5ldyBSZWdFeHAoJyhUXFxcXGRcXFxcZDpcXFxcZFxcXFxkOlxcXFxkXFxcXGRbKy1dKScpO1xuICAgIGNvbnN0IGZvcm1hdHRlZFN0cmluZyA9IHJlZ2V4LnRlc3Qoc3RyaW5nKSA/IG1vbWVudChzdHJpbmcpLmZvcm1hdCgnREQtTU0tWVlZWScpIDogc3RyaW5nO1xuICAgIHJldHVybiBwcmVmaXggKyBmb3JtYXR0ZWRTdHJpbmc7XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDIwIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPGRpdiBjbGFzcz1cIm1haW4tY29udGVudFwiPlxuICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWZsdWlkXCI+XG4gICAgPGRpdiBjbGFzcz1cImNvbC0xMiBweC0wIG1iLTVcIj5cbiAgICAgIDx2YWx0aW1vLXdpZGdldD5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIGJnLWxpZ2h0IGNhcmQtaGVhZGVyLWRpdmlkZXIgcGItMlwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2xcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiICpuZ0lmPVwiY3VzdG9tRG9zc2llckhlYWRlckl0ZW1zLmxlbmd0aCA+IDA7IGVsc2UgZGVmYXVsdFRpdGxlXCI+XG4gICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWItMCBtdC0wIHBiLTIgYWxpZ24tc2VsZi1lbmQgY29sLXhsLXt7IGl0ZW0uY29sdW1uU2l6ZSB9fSBjb2wtbGcte3tcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5jb2x1bW5TaXplICogMlxuICAgICAgICAgICAgICAgICAgfX0ge3sgaXRlbS5jdXN0b21DbGFzcyB9fVwiXG4gICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgIGgxOiBpdGVtLnRleHRTaXplID09PSAneGwnLFxuICAgICAgICAgICAgICAgICAgICBoMjogaXRlbS50ZXh0U2l6ZSA9PT0gJ2xnJyxcbiAgICAgICAgICAgICAgICAgICAgaDM6IGl0ZW0udGV4dFNpemUgPT09ICdtZCcsXG4gICAgICAgICAgICAgICAgICAgIGg0OiBpdGVtLnRleHRTaXplID09PSAnc20nLFxuICAgICAgICAgICAgICAgICAgICBoNTogaXRlbS50ZXh0U2l6ZSA9PT0gJ3hzJ1xuICAgICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBjdXN0b21Eb3NzaWVySGVhZGVySXRlbXNcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaXRlbS5sYWJlbCAhPT0gJydcIj57eyBpdGVtLmxhYmVsIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpdGVtLmxhYmVsICE9PSAnJyAmJiBpdGVtLnZhbHVlICE9PSAnJyAmJiBpdGVtLnZhbHVlICE9PSBudWxsXCJcbiAgICAgICAgICAgICAgICAgICAgPjpcbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDxzdHJvbmc+e3sgaXRlbS52YWx1ZSB9fTwvc3Ryb25nPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdFRpdGxlPlxuICAgICAgICAgICAgICAgIHt7IGRvY3VtZW50RGVmaW5pdGlvbk5hbWVUaXRsZSB9fVxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuLWdyb3VwIG10LW0zcHggbWItMyBjb2wtYXV0b1wiPlxuICAgICAgICAgICAgICA8dmFsdGltby1leHRlbnNpb25cbiAgICAgICAgICAgICAgICBtb2R1bGU9XCJkb3NzaWVyXCJcbiAgICAgICAgICAgICAgICBwYWdlPVwiZG9zc2llci1kZXRhaWxcIlxuICAgICAgICAgICAgICAgIHNlY3Rpb249XCJjYXJkLWhlYWRlclwiXG4gICAgICAgICAgICAgID48L3ZhbHRpbW8tZXh0ZW5zaW9uPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd25cIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBkcm9wZG93bi10b2dnbGVcIlxuICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICBpZD1cInN0YXJ0UHJvY2Vzc0Ryb3Bkb3duXCJcbiAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbVwiXG4gICAgICAgICAgICAgICAgICBbbmdiVG9vbHRpcF09XCJwcm9jZXNzRG9jdW1lbnREZWZpbml0aW9ucy5sZW5ndGggPT09IDAgPyAnTm8gYWN0aW9uJyA6IG51bGxcIlxuICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInByb2Nlc3NEb2N1bWVudERlZmluaXRpb25zLmxlbmd0aCA9PT0gMFwiXG4gICAgICAgICAgICAgICAgICBkYXRhLXRvZ2dsZT1cImRyb3Bkb3duXCJcbiAgICAgICAgICAgICAgICAgIGFyaWEtaGFzcG9wdXA9XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPHNwYW4+U3RhcnQ8L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cIm1sLTEgbWRpIG1kaS1jaGV2cm9uLWRvd25cIj48L2k+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkcm9wZG93bi1tZW51IGRyb3Bkb3duLW1lbnUtcmlnaHRcIlxuICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PVwic3RhcnRQcm9jZXNzRHJvcGRvd25cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IHByb2Nlc3NEb2N1bWVudERlZmluaXRpb24gb2YgcHJvY2Vzc0RvY3VtZW50RGVmaW5pdGlvbnNcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImRyb3Bkb3duLWl0ZW0gcFwiXG4gICAgICAgICAgICAgICAgICAgIGhyZWY9XCIjXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInN0YXJ0UHJvY2Vzcyhwcm9jZXNzRG9jdW1lbnREZWZpbml0aW9uKVwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt7IHByb2Nlc3NEb2N1bWVudERlZmluaXRpb24ucHJvY2Vzc05hbWUgfX1cbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHVsIGNsYXNzPVwibmF2IG5hdi10YWJzXCI+XG4gICAgICAgICAgPGxpIGNsYXNzPVwibmF2LWl0ZW1cIiAqbmdGb3I9XCJsZXQgdGFiIG9mIHRhYkxvYWRlci50YWJzXCI+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICBpZD1cInt7IHRhYi5uYW1lIH19LXRhYlwiXG4gICAgICAgICAgICAgIGNsYXNzPVwibmF2LWxpbmsgY2xpY2thYmxlXCJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie2FjdGl2ZTogdGFiLmlzQWN0aXZlKCl9XCJcbiAgICAgICAgICAgICAgZGF0YS10b2dnbGU9XCJ0YWJcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwidGFiTG9hZGVyLmxvYWQodGFiKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt7IHRhYkxvYWRlci50cmFuc2xhdGVUYWJOYW1lKHRhYikgfX1cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICA8L2xpPlxuICAgICAgICA8L3VsPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGJnLXdoaXRlIHAtNSBwb3NpdGlvbi1yZWxhdGl2ZSB0YWItY29udGFpbmVyXCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICN0YWJDb250YWluZXI+TG9hZGluZy4uLjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNsZWFyZml4XCI+PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC92YWx0aW1vLXdpZGdldD5cbiAgICA8L2Rpdj5cbiAgICA8dmFsdGltby1kb3NzaWVyLXN1cHBvcnRpbmctcHJvY2Vzcy1zdGFydC1tb2RhbFxuICAgICAgKGZvcm1TdWJtaXQpPVwidGFiTG9hZGVyLnJlZnJlc2hWaWV3KClcIlxuICAgICAgI3N1cHBvcnRpbmdQcm9jZXNzU3RhcnRNb2RhbFxuICAgID48L3ZhbHRpbW8tZG9zc2llci1zdXBwb3J0aW5nLXByb2Nlc3Mtc3RhcnQtbW9kYWw+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2015-2020 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 { Component, EventEmitter, Output } from '@angular/core';
|
|
17
|
+
import { TimelineItemImpl } from '@valtimo/components';
|
|
18
|
+
import moment from 'moment';
|
|
19
|
+
import * as i0 from "@angular/core";
|
|
20
|
+
import * as i1 from "@angular/router";
|
|
21
|
+
import * as i2 from "@valtimo/document";
|
|
22
|
+
import * as i3 from "ngx-spinner";
|
|
23
|
+
import * as i4 from "@valtimo/components";
|
|
24
|
+
import * as i5 from "@ng-bootstrap/ng-bootstrap";
|
|
25
|
+
import * as i6 from "@angular/common";
|
|
26
|
+
import * as i7 from "@ngx-translate/core";
|
|
27
|
+
moment.locale(localStorage.getItem('langKey') || '');
|
|
28
|
+
moment.defaultFormat = 'DD MMM YYYY HH:mm';
|
|
29
|
+
export class DossierDetailTabAuditComponent {
|
|
30
|
+
constructor(route, documentService, spinnerService) {
|
|
31
|
+
this.route = route;
|
|
32
|
+
this.documentService = documentService;
|
|
33
|
+
this.spinnerService = spinnerService;
|
|
34
|
+
this.paginationClicked = new EventEmitter();
|
|
35
|
+
this.defaultAuditPage = 0;
|
|
36
|
+
this.spinnerService.show('auditSpinner');
|
|
37
|
+
const snapshot = this.route.snapshot.paramMap;
|
|
38
|
+
this.documentId = snapshot.get('documentId') || '';
|
|
39
|
+
}
|
|
40
|
+
static getTranslationKey(auditEvent) {
|
|
41
|
+
const classNameArray = auditEvent.className.split('.');
|
|
42
|
+
const eventName = classNameArray[classNameArray.length - 1];
|
|
43
|
+
return 'events.' + eventName;
|
|
44
|
+
}
|
|
45
|
+
ngOnInit() {
|
|
46
|
+
this.loadAuditPage(this.defaultAuditPage);
|
|
47
|
+
}
|
|
48
|
+
loadAuditPage(pageNumber) {
|
|
49
|
+
this.documentService.getAuditLog(this.documentId, pageNumber).subscribe(page => {
|
|
50
|
+
const timelineItems = [];
|
|
51
|
+
page.content.forEach(auditRecord => {
|
|
52
|
+
const occurredOn = moment(auditRecord.metaData.occurredOn);
|
|
53
|
+
const fromNow = occurredOn.fromNow();
|
|
54
|
+
timelineItems.push(new TimelineItemImpl(occurredOn.format('DD MMM YYYY'), occurredOn.format('HH:mm'), auditRecord.metaData.user, fromNow, DossierDetailTabAuditComponent.getTranslationKey(auditRecord.auditEvent), auditRecord.auditEvent));
|
|
55
|
+
});
|
|
56
|
+
this.timelineItems = timelineItems;
|
|
57
|
+
this.spinnerService.hide('auditSpinner');
|
|
58
|
+
this.pagination = page;
|
|
59
|
+
this.pagination.number += 1;
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
onChangePagination(page) {
|
|
63
|
+
this.paginationClicked.emit(page);
|
|
64
|
+
this.currentAuditPage = page - 1;
|
|
65
|
+
this.loadAuditPage(this.currentAuditPage);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
DossierDetailTabAuditComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: DossierDetailTabAuditComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.DocumentService }, { token: i3.NgxSpinnerService }], target: i0.ɵɵFactoryTarget.Component });
|
|
69
|
+
DossierDetailTabAuditComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: DossierDetailTabAuditComponent, selector: "valtimo-dossier-detail-tab-audit", outputs: { paginationClicked: "paginationClicked" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2020 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 *ngIf=\"timelineItems\">\n <valtimo-timeline [items]=\"timelineItems\"></valtimo-timeline>\n</div>\n<valtimo-spinner\n [useBootstrapSpinner]=\"false\"\n name=\"auditSpinner\"\n bdColor=\"rgba(125, 125, 125, 0.35)\"\n color=\"#264251\"\n type=\"square-jelly-box\"\n>\n</valtimo-spinner>\n<div\n class=\"pagination-holder audit-pagination bg-light px-4 pt-4 pb-2 overflow-auto row mr-0 ml-0\"\n *ngIf=\"pagination && pagination.totalElements > pagination.size\"\n>\n <div class=\"float-left page-count col-4\">\n <strong>{{\n 'list.currentPage' | translate: {current: pagination.number, total: pagination.totalPages}\n }}</strong>\n <br />\n {{\n pagination.totalElements === 1\n ? ('list.showingResult' | translate: {number: pagination.content.length})\n : ('list.showingResults'\n | translate: {number: pagination.content.length, total: pagination.totalElements})\n }}\n </div>\n <div class=\"col-8\">\n <ngb-pagination\n *ngIf=\"pagination.totalElements > pagination.size\"\n class=\"float-right\"\n [collectionSize]=\"pagination.totalElements\"\n [(page)]=\"pagination.number\"\n [pageSize]=\"pagination.size\"\n [maxSize]=\"pagination.size\"\n [rotate]=\"true\"\n (pageChange)=\"onChangePagination(pagination.number)\"\n ></ngb-pagination>\n </div>\n</div>\n", styles: [".audit-pagination{margin:0 -1.923rem -1.923rem!important;border-top:1px solid #dee2e6}\n"], components: [{ type: i4.TimelineComponent, selector: "valtimo-timeline", inputs: ["items"] }, { type: i4.SpinnerComponent, selector: "valtimo-spinner", inputs: ["useBootstrapSpinner", "name", "type", "size", "color", "bdColor", "fullScreen", "noMarginTop"] }, { type: i5.NgbPagination, selector: "ngb-pagination", inputs: ["disabled", "boundaryLinks", "directionLinks", "ellipses", "rotate", "collectionSize", "maxSize", "page", "pageSize", "size"], outputs: ["pageChange"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i7.TranslatePipe } });
|
|
70
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: DossierDetailTabAuditComponent, decorators: [{
|
|
71
|
+
type: Component,
|
|
72
|
+
args: [{ selector: 'valtimo-dossier-detail-tab-audit', template: "<!--\n ~ Copyright 2015-2020 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 *ngIf=\"timelineItems\">\n <valtimo-timeline [items]=\"timelineItems\"></valtimo-timeline>\n</div>\n<valtimo-spinner\n [useBootstrapSpinner]=\"false\"\n name=\"auditSpinner\"\n bdColor=\"rgba(125, 125, 125, 0.35)\"\n color=\"#264251\"\n type=\"square-jelly-box\"\n>\n</valtimo-spinner>\n<div\n class=\"pagination-holder audit-pagination bg-light px-4 pt-4 pb-2 overflow-auto row mr-0 ml-0\"\n *ngIf=\"pagination && pagination.totalElements > pagination.size\"\n>\n <div class=\"float-left page-count col-4\">\n <strong>{{\n 'list.currentPage' | translate: {current: pagination.number, total: pagination.totalPages}\n }}</strong>\n <br />\n {{\n pagination.totalElements === 1\n ? ('list.showingResult' | translate: {number: pagination.content.length})\n : ('list.showingResults'\n | translate: {number: pagination.content.length, total: pagination.totalElements})\n }}\n </div>\n <div class=\"col-8\">\n <ngb-pagination\n *ngIf=\"pagination.totalElements > pagination.size\"\n class=\"float-right\"\n [collectionSize]=\"pagination.totalElements\"\n [(page)]=\"pagination.number\"\n [pageSize]=\"pagination.size\"\n [maxSize]=\"pagination.size\"\n [rotate]=\"true\"\n (pageChange)=\"onChangePagination(pagination.number)\"\n ></ngb-pagination>\n </div>\n</div>\n", styles: [".audit-pagination{margin:0 -1.923rem -1.923rem!important;border-top:1px solid #dee2e6}\n"] }]
|
|
73
|
+
}], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i2.DocumentService }, { type: i3.NgxSpinnerService }]; }, propDecorators: { paginationClicked: [{
|
|
74
|
+
type: Output
|
|
75
|
+
}] } });
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyL3NyYy9saWIvZG9zc2llci1kZXRhaWwvdGFiL2F1ZGl0L2F1ZGl0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZG9zc2llci9zcmMvbGliL2Rvc3NpZXItZGV0YWlsL3RhYi9hdWRpdC9hdWRpdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFVLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLEVBQWUsZ0JBQWdCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRSxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7Ozs7Ozs7OztBQUs1QixNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7QUFDckQsTUFBTSxDQUFDLGFBQWEsR0FBRyxtQkFBbUIsQ0FBQztBQU8zQyxNQUFNLE9BQU8sOEJBQThCO0lBU3pDLFlBQ1UsS0FBcUIsRUFDckIsZUFBZ0MsRUFDaEMsY0FBaUM7UUFGakMsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQVhqQyxzQkFBaUIsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUs1RCxxQkFBZ0IsR0FBRyxDQUFDLENBQUM7UUFRM0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDekMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDO1FBQzlDLElBQUksQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDckQsQ0FBQztJQUVPLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxVQUFzQjtRQUNyRCxNQUFNLGNBQWMsR0FBRyxVQUFVLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN2RCxNQUFNLFNBQVMsR0FBRyxjQUFjLENBQUMsY0FBYyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUM1RCxPQUFPLFNBQVMsR0FBRyxTQUFTLENBQUM7SUFDL0IsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFTSxhQUFhLENBQUMsVUFBa0I7UUFDckMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDN0UsTUFBTSxhQUFhLEdBQUcsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFO2dCQUNqQyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDM0QsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNyQyxhQUFhLENBQUMsSUFBSSxDQUNoQixJQUFJLGdCQUFnQixDQUNsQixVQUFVLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxFQUNoQyxVQUFVLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUMxQixXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksRUFDekIsT0FBTyxFQUNQLDhCQUE4QixDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsRUFDeEUsV0FBVyxDQUFDLFVBQVUsQ0FDdkIsQ0FDRixDQUFDO1lBQ0osQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztZQUNuQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUN6QyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sa0JBQWtCLENBQUMsSUFBSTtRQUM1QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDNUMsQ0FBQzs7MkhBekRVLDhCQUE4QjsrR0FBOUIsOEJBQThCLDZIQy9CM0MsOCtEQXdEQTsyRkR6QmEsOEJBQThCO2tCQUwxQyxTQUFTOytCQUNFLGtDQUFrQzttS0FLbEMsaUJBQWlCO3NCQUExQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjAgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT25Jbml0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUaW1lbGluZUl0ZW0sIFRpbWVsaW5lSXRlbUltcGx9IGZyb20gJ0B2YWx0aW1vL2NvbXBvbmVudHMnO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7RG9jdW1lbnRTZXJ2aWNlLCBBdWRpdEV2ZW50fSBmcm9tICdAdmFsdGltby9kb2N1bWVudCc7XG5pbXBvcnQge05neFNwaW5uZXJTZXJ2aWNlfSBmcm9tICduZ3gtc3Bpbm5lcic7XG5cbm1vbWVudC5sb2NhbGUobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2xhbmdLZXknKSB8fCAnJyk7XG5tb21lbnQuZGVmYXVsdEZvcm1hdCA9ICdERCBNTU0gWVlZWSBISDptbSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbHRpbW8tZG9zc2llci1kZXRhaWwtdGFiLWF1ZGl0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2F1ZGl0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXVkaXQuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBEb3NzaWVyRGV0YWlsVGFiQXVkaXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBAT3V0cHV0KCkgcGFnaW5hdGlvbkNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHB1YmxpYyB0aW1lbGluZUl0ZW1zOiBUaW1lbGluZUl0ZW1bXTtcbiAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudElkOiBzdHJpbmc7XG4gIHB1YmxpYyBwYWdpbmF0aW9uOiBhbnk7XG4gIHByaXZhdGUgZGVmYXVsdEF1ZGl0UGFnZSA9IDA7XG4gIHByaXZhdGUgY3VycmVudEF1ZGl0UGFnZTogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgZG9jdW1lbnRTZXJ2aWNlOiBEb2N1bWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzcGlubmVyU2VydmljZTogTmd4U3Bpbm5lclNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5zcGlubmVyU2VydmljZS5zaG93KCdhdWRpdFNwaW5uZXInKTtcbiAgICBjb25zdCBzbmFwc2hvdCA9IHRoaXMucm91dGUuc25hcHNob3QucGFyYW1NYXA7XG4gICAgdGhpcy5kb2N1bWVudElkID0gc25hcHNob3QuZ2V0KCdkb2N1bWVudElkJykgfHwgJyc7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBnZXRUcmFuc2xhdGlvbktleShhdWRpdEV2ZW50OiBBdWRpdEV2ZW50KSB7XG4gICAgY29uc3QgY2xhc3NOYW1lQXJyYXkgPSBhdWRpdEV2ZW50LmNsYXNzTmFtZS5zcGxpdCgnLicpO1xuICAgIGNvbnN0IGV2ZW50TmFtZSA9IGNsYXNzTmFtZUFycmF5W2NsYXNzTmFtZUFycmF5Lmxlbmd0aCAtIDFdO1xuICAgIHJldHVybiAnZXZlbnRzLicgKyBldmVudE5hbWU7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmxvYWRBdWRpdFBhZ2UodGhpcy5kZWZhdWx0QXVkaXRQYWdlKTtcbiAgfVxuXG4gIHB1YmxpYyBsb2FkQXVkaXRQYWdlKHBhZ2VOdW1iZXI6IG51bWJlcikge1xuICAgIHRoaXMuZG9jdW1lbnRTZXJ2aWNlLmdldEF1ZGl0TG9nKHRoaXMuZG9jdW1lbnRJZCwgcGFnZU51bWJlcikuc3Vic2NyaWJlKHBhZ2UgPT4ge1xuICAgICAgY29uc3QgdGltZWxpbmVJdGVtcyA9IFtdO1xuICAgICAgcGFnZS5jb250ZW50LmZvckVhY2goYXVkaXRSZWNvcmQgPT4ge1xuICAgICAgICBjb25zdCBvY2N1cnJlZE9uID0gbW9tZW50KGF1ZGl0UmVjb3JkLm1ldGFEYXRhLm9jY3VycmVkT24pO1xuICAgICAgICBjb25zdCBmcm9tTm93ID0gb2NjdXJyZWRPbi5mcm9tTm93KCk7XG4gICAgICAgIHRpbWVsaW5lSXRlbXMucHVzaChcbiAgICAgICAgICBuZXcgVGltZWxpbmVJdGVtSW1wbChcbiAgICAgICAgICAgIG9jY3VycmVkT24uZm9ybWF0KCdERCBNTU0gWVlZWScpLFxuICAgICAgICAgICAgb2NjdXJyZWRPbi5mb3JtYXQoJ0hIOm1tJyksXG4gICAgICAgICAgICBhdWRpdFJlY29yZC5tZXRhRGF0YS51c2VyLFxuICAgICAgICAgICAgZnJvbU5vdyxcbiAgICAgICAgICAgIERvc3NpZXJEZXRhaWxUYWJBdWRpdENvbXBvbmVudC5nZXRUcmFuc2xhdGlvbktleShhdWRpdFJlY29yZC5hdWRpdEV2ZW50KSxcbiAgICAgICAgICAgIGF1ZGl0UmVjb3JkLmF1ZGl0RXZlbnRcbiAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgICAgIHRoaXMudGltZWxpbmVJdGVtcyA9IHRpbWVsaW5lSXRlbXM7XG4gICAgICB0aGlzLnNwaW5uZXJTZXJ2aWNlLmhpZGUoJ2F1ZGl0U3Bpbm5lcicpO1xuICAgICAgdGhpcy5wYWdpbmF0aW9uID0gcGFnZTtcbiAgICAgIHRoaXMucGFnaW5hdGlvbi5udW1iZXIgKz0gMTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNoYW5nZVBhZ2luYXRpb24ocGFnZSkge1xuICAgIHRoaXMucGFnaW5hdGlvbkNsaWNrZWQuZW1pdChwYWdlKTtcbiAgICB0aGlzLmN1cnJlbnRBdWRpdFBhZ2UgPSBwYWdlIC0gMTtcbiAgICB0aGlzLmxvYWRBdWRpdFBhZ2UodGhpcy5jdXJyZW50QXVkaXRQYWdlKTtcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjAgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48ZGl2ICpuZ0lmPVwidGltZWxpbmVJdGVtc1wiPlxuICA8dmFsdGltby10aW1lbGluZSBbaXRlbXNdPVwidGltZWxpbmVJdGVtc1wiPjwvdmFsdGltby10aW1lbGluZT5cbjwvZGl2PlxuPHZhbHRpbW8tc3Bpbm5lclxuICBbdXNlQm9vdHN0cmFwU3Bpbm5lcl09XCJmYWxzZVwiXG4gIG5hbWU9XCJhdWRpdFNwaW5uZXJcIlxuICBiZENvbG9yPVwicmdiYSgxMjUsIDEyNSwgMTI1LCAwLjM1KVwiXG4gIGNvbG9yPVwiIzI2NDI1MVwiXG4gIHR5cGU9XCJzcXVhcmUtamVsbHktYm94XCJcbj5cbjwvdmFsdGltby1zcGlubmVyPlxuPGRpdlxuICBjbGFzcz1cInBhZ2luYXRpb24taG9sZGVyIGF1ZGl0LXBhZ2luYXRpb24gYmctbGlnaHQgcHgtNCBwdC00IHBiLTIgb3ZlcmZsb3ctYXV0byByb3cgbXItMCBtbC0wXCJcbiAgKm5nSWY9XCJwYWdpbmF0aW9uICYmIHBhZ2luYXRpb24udG90YWxFbGVtZW50cyA+IHBhZ2luYXRpb24uc2l6ZVwiXG4+XG4gIDxkaXYgY2xhc3M9XCJmbG9hdC1sZWZ0IHBhZ2UtY291bnQgY29sLTRcIj5cbiAgICA8c3Ryb25nPnt7XG4gICAgICAnbGlzdC5jdXJyZW50UGFnZScgfCB0cmFuc2xhdGU6IHtjdXJyZW50OiBwYWdpbmF0aW9uLm51bWJlciwgdG90YWw6IHBhZ2luYXRpb24udG90YWxQYWdlc31cbiAgICB9fTwvc3Ryb25nPlxuICAgIDxiciAvPlxuICAgIHt7XG4gICAgICBwYWdpbmF0aW9uLnRvdGFsRWxlbWVudHMgPT09IDFcbiAgICAgICAgPyAoJ2xpc3Quc2hvd2luZ1Jlc3VsdCcgfCB0cmFuc2xhdGU6IHtudW1iZXI6IHBhZ2luYXRpb24uY29udGVudC5sZW5ndGh9KVxuICAgICAgICA6ICgnbGlzdC5zaG93aW5nUmVzdWx0cydcbiAgICAgICAgICB8IHRyYW5zbGF0ZToge251bWJlcjogcGFnaW5hdGlvbi5jb250ZW50Lmxlbmd0aCwgdG90YWw6IHBhZ2luYXRpb24udG90YWxFbGVtZW50c30pXG4gICAgfX1cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJjb2wtOFwiPlxuICAgIDxuZ2ItcGFnaW5hdGlvblxuICAgICAgKm5nSWY9XCJwYWdpbmF0aW9uLnRvdGFsRWxlbWVudHMgPiBwYWdpbmF0aW9uLnNpemVcIlxuICAgICAgY2xhc3M9XCJmbG9hdC1yaWdodFwiXG4gICAgICBbY29sbGVjdGlvblNpemVdPVwicGFnaW5hdGlvbi50b3RhbEVsZW1lbnRzXCJcbiAgICAgIFsocGFnZSldPVwicGFnaW5hdGlvbi5udW1iZXJcIlxuICAgICAgW3BhZ2VTaXplXT1cInBhZ2luYXRpb24uc2l6ZVwiXG4gICAgICBbbWF4U2l6ZV09XCJwYWdpbmF0aW9uLnNpemVcIlxuICAgICAgW3JvdGF0ZV09XCJ0cnVlXCJcbiAgICAgIChwYWdlQ2hhbmdlKT1cIm9uQ2hhbmdlUGFnaW5hdGlvbihwYWdpbmF0aW9uLm51bWJlcilcIlxuICAgID48L25nYi1wYWdpbmF0aW9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2015-2021 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 { Component, ViewChild } from '@angular/core';
|
|
17
|
+
import moment from 'moment';
|
|
18
|
+
import { BehaviorSubject, combineLatest } from 'rxjs';
|
|
19
|
+
import { TimelineItemImpl } from '@valtimo/components';
|
|
20
|
+
import { map, switchMap, take } from 'rxjs/operators';
|
|
21
|
+
import * as i0 from "@angular/core";
|
|
22
|
+
import * as i1 from "@valtimo/contact-moment";
|
|
23
|
+
import * as i2 from "@valtimo/components";
|
|
24
|
+
import * as i3 from "@ngx-translate/core";
|
|
25
|
+
import * as i4 from "@angular/common";
|
|
26
|
+
import * as i5 from "@angular/forms";
|
|
27
|
+
moment.locale(localStorage.getItem('langKey') || '');
|
|
28
|
+
export class DossierDetailTabContactMomentsComponent {
|
|
29
|
+
constructor(contactMomentService, alertService, translateService) {
|
|
30
|
+
this.contactMomentService = contactMomentService;
|
|
31
|
+
this.alertService = alertService;
|
|
32
|
+
this.translateService = translateService;
|
|
33
|
+
this.refetchContactMoments$ = new BehaviorSubject('');
|
|
34
|
+
this.contactMoments$ = this.refetchContactMoments$.pipe(switchMap(() => this.contactMomentService.getContactMoments()), map(contactMoments => contactMoments.map(contactMoment => {
|
|
35
|
+
const registratieDatum = moment(contactMoment.registratiedatum);
|
|
36
|
+
return new TimelineItemImpl(registratieDatum.format('DD MMM YYYY'), registratieDatum.format('HH:mm'), contactMoment.medewerkerIdentificatie.achternaam, contactMoment.kanaal, contactMoment.tekst, null);
|
|
37
|
+
})));
|
|
38
|
+
this.text$ = new BehaviorSubject('');
|
|
39
|
+
this.channel$ = new BehaviorSubject('MAIL');
|
|
40
|
+
this.requestData$ = combineLatest([this.text$, this.channel$]);
|
|
41
|
+
this.valid$ = this.requestData$.pipe(map(([text, channel]) => !!(text && channel)));
|
|
42
|
+
this.disabled$ = new BehaviorSubject(false);
|
|
43
|
+
}
|
|
44
|
+
textChange(text) {
|
|
45
|
+
this.text$.next(text);
|
|
46
|
+
}
|
|
47
|
+
buttonClick() {
|
|
48
|
+
this.modal.show();
|
|
49
|
+
}
|
|
50
|
+
saveNote() {
|
|
51
|
+
this.disable();
|
|
52
|
+
this.requestData$.pipe(take(1)).subscribe(([text, channel]) => {
|
|
53
|
+
this.contactMomentService.saveContactMoment({ kanaal: channel, tekst: text }).subscribe(() => {
|
|
54
|
+
this.alertService.success(this.translateService.instant('dossier.contactMoments.saveSuccess'));
|
|
55
|
+
this.enable();
|
|
56
|
+
this.clear();
|
|
57
|
+
this.modal.hide();
|
|
58
|
+
this.refetchContactMoments();
|
|
59
|
+
}, () => {
|
|
60
|
+
this.enable();
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
disable() {
|
|
65
|
+
this.disabled$.next(true);
|
|
66
|
+
}
|
|
67
|
+
enable() {
|
|
68
|
+
this.disabled$.next(false);
|
|
69
|
+
}
|
|
70
|
+
clear() {
|
|
71
|
+
this.text$.next('');
|
|
72
|
+
}
|
|
73
|
+
refetchContactMoments() {
|
|
74
|
+
this.refetchContactMoments$.next('');
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
DossierDetailTabContactMomentsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: DossierDetailTabContactMomentsComponent, deps: [{ token: i1.ContactMomentService }, { token: i2.AlertService }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
78
|
+
DossierDetailTabContactMomentsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: DossierDetailTabContactMomentsComponent, selector: "valtimo-dossier-detail-tab-contact-moments", viewQueries: [{ propertyName: "modal", first: true, predicate: ["contactMomentsNoteModal"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2021 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 class=\"contact-moments-container\">\n <ng-container *ngTemplateOutlet=\"buttons\"></ng-container>\n <ng-container *ngTemplateOutlet=\"moments\"></ng-container>\n</div>\n\n<valtimo-modal\n #contactMomentsNoteModal\n [title]=\"'dossier.contactMoments.popupTitle' | translate\"\n [showFooter]=\"true\"\n [elementId]=\"'contact-moments-modal'\"\n>\n <div class=\"mt-2\" body>\n <ng-container *ngTemplateOutlet=\"body\"></ng-container>\n </div>\n <div footer>\n <ng-container *ngTemplateOutlet=\"footer\"></ng-container>\n </div>\n</valtimo-modal>\n\n<ng-template #body>\n <form>\n <div class=\"form-group row\">\n <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"body\">\n {{ 'dossier.contactMoments.noteText' | translate }}\n </label>\n <div class=\"col-12 col-sm-8 col-lg-6\">\n <textarea\n [disabled]=\"disabled$ | async\"\n class=\"form-control\"\n id=\"body\"\n name=\"body\"\n [ngModel]=\"text$ | async\"\n (ngModelChange)=\"textChange($event)\"\n ></textarea>\n </div>\n </div>\n </form>\n</ng-template>\n\n<ng-template #footer>\n <button\n *ngIf=\"(disabled$ | async) === false; else loading\"\n class=\"btn btn-primary\"\n [disabled]=\"(valid$ | async) === false || (disabled$ | async)\"\n (click)=\"saveNote()\"\n >\n {{ 'dossier.contactMoments.saveButtonText' | translate }}\n </button>\n</ng-template>\n\n<ng-template #loading>\n <valtimo-spinner [noMarginTop]=\"true\"></valtimo-spinner>\n</ng-template>\n\n<ng-template #buttons>\n <div class=\"btn-group mt-m3px mb-3 button-container\">\n <button class=\"btn btn-primary btn-space\" (click)=\"buttonClick()\">\n <i class=\"icon mdi mdi-note-plus\"></i>\n {{ 'dossier.contactMoments.makeNoteButton' | translate }}\n </button>\n </div>\n</ng-template>\n\n<ng-template #moments>\n <div *ngIf=\"contactMoments$ | async as contactMoments; else loading\">\n <valtimo-timeline [items]=\"contactMoments\"></valtimo-timeline>\n </div>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2021 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 */.contact-moments-container{display:flex;flex-direction:column}.button-container{display:inline;align-self:flex-end}\n"], components: [{ type: i2.ModalComponent, selector: "valtimo-modal", inputs: ["elementId", "title", "subtitle", "templateBelowSubtitle", "showFooter"] }, { type: i2.SpinnerComponent, selector: "valtimo-spinner", inputs: ["useBootstrapSpinner", "name", "type", "size", "color", "bdColor", "fullScreen", "noMarginTop"] }, { type: i2.TimelineComponent, selector: "valtimo-timeline", inputs: ["items"] }], directives: [{ type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i5.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i3.TranslatePipe, "async": i4.AsyncPipe } });
|
|
79
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: DossierDetailTabContactMomentsComponent, decorators: [{
|
|
80
|
+
type: Component,
|
|
81
|
+
args: [{ selector: 'valtimo-dossier-detail-tab-contact-moments', template: "<!--\n ~ Copyright 2015-2021 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 class=\"contact-moments-container\">\n <ng-container *ngTemplateOutlet=\"buttons\"></ng-container>\n <ng-container *ngTemplateOutlet=\"moments\"></ng-container>\n</div>\n\n<valtimo-modal\n #contactMomentsNoteModal\n [title]=\"'dossier.contactMoments.popupTitle' | translate\"\n [showFooter]=\"true\"\n [elementId]=\"'contact-moments-modal'\"\n>\n <div class=\"mt-2\" body>\n <ng-container *ngTemplateOutlet=\"body\"></ng-container>\n </div>\n <div footer>\n <ng-container *ngTemplateOutlet=\"footer\"></ng-container>\n </div>\n</valtimo-modal>\n\n<ng-template #body>\n <form>\n <div class=\"form-group row\">\n <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"body\">\n {{ 'dossier.contactMoments.noteText' | translate }}\n </label>\n <div class=\"col-12 col-sm-8 col-lg-6\">\n <textarea\n [disabled]=\"disabled$ | async\"\n class=\"form-control\"\n id=\"body\"\n name=\"body\"\n [ngModel]=\"text$ | async\"\n (ngModelChange)=\"textChange($event)\"\n ></textarea>\n </div>\n </div>\n </form>\n</ng-template>\n\n<ng-template #footer>\n <button\n *ngIf=\"(disabled$ | async) === false; else loading\"\n class=\"btn btn-primary\"\n [disabled]=\"(valid$ | async) === false || (disabled$ | async)\"\n (click)=\"saveNote()\"\n >\n {{ 'dossier.contactMoments.saveButtonText' | translate }}\n </button>\n</ng-template>\n\n<ng-template #loading>\n <valtimo-spinner [noMarginTop]=\"true\"></valtimo-spinner>\n</ng-template>\n\n<ng-template #buttons>\n <div class=\"btn-group mt-m3px mb-3 button-container\">\n <button class=\"btn btn-primary btn-space\" (click)=\"buttonClick()\">\n <i class=\"icon mdi mdi-note-plus\"></i>\n {{ 'dossier.contactMoments.makeNoteButton' | translate }}\n </button>\n </div>\n</ng-template>\n\n<ng-template #moments>\n <div *ngIf=\"contactMoments$ | async as contactMoments; else loading\">\n <valtimo-timeline [items]=\"contactMoments\"></valtimo-timeline>\n </div>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2021 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 */.contact-moments-container{display:flex;flex-direction:column}.button-container{display:inline;align-self:flex-end}\n"] }]
|
|
82
|
+
}], ctorParameters: function () { return [{ type: i1.ContactMomentService }, { type: i2.AlertService }, { type: i3.TranslateService }]; }, propDecorators: { modal: [{
|
|
83
|
+
type: ViewChild,
|
|
84
|
+
args: ['contactMomentsNoteModal']
|
|
85
|
+
}] } });
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdC1tb21lbnRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZG9zc2llci9zcmMvbGliL2Rvc3NpZXItZGV0YWlsL3RhYi9jb250YWN0LW1vbWVudHMvY29udGFjdC1tb21lbnRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZG9zc2llci9zcmMvbGliL2Rvc3NpZXItZGV0YWlsL3RhYi9jb250YWN0LW1vbWVudHMvY29udGFjdC1tb21lbnRzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFzQixNQUFNLE1BQU0sQ0FBQztBQUN6RSxPQUFPLEVBQStCLGdCQUFnQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDbkYsT0FBTyxFQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7QUFJcEQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0FBT3JELE1BQU0sT0FBTyx1Q0FBdUM7SUE2QmxELFlBQ21CLG9CQUEwQyxFQUMxQyxZQUEwQixFQUMxQixnQkFBa0M7UUFGbEMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUMxQyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBN0I1QywyQkFBc0IsR0FBRyxJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMs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QUFFLENBQUMsQ0FBQztJQUN0QixDQUFDO0lBRU8scUJBQXFCO1FBQzNCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDdkMsQ0FBQzs7b0lBOUVVLHVDQUF1Qzt3SEFBdkMsdUNBQXVDLG9NQ2hDcEQsaXNGQW9GQTsyRkRwRGEsdUNBQXVDO2tCQUxuRCxTQUFTOytCQUNFLDRDQUE0QztxS0FLaEIsS0FBSztzQkFBMUMsU0FBUzt1QkFBQyx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMSBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge0NvbXBvbmVudCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29udGFjdE1vbWVudFNlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2NvbnRhY3QtbW9tZW50JztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7TW9kYWxDb21wb25lbnQsIFRpbWVsaW5lSXRlbSwgVGltZWxpbmVJdGVtSW1wbH0gZnJvbSAnQHZhbHRpbW8vY29tcG9uZW50cyc7XG5pbXBvcnQge21hcCwgc3dpdGNoTWFwLCB0YWtlfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0FsZXJ0U2VydmljZX0gZnJvbSAnQHZhbHRpbW8vY29tcG9uZW50cyc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5tb21lbnQubG9jYWxlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdsYW5nS2V5JykgfHwgJycpO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLWRvc3NpZXItZGV0YWlsLXRhYi1jb250YWN0LW1vbWVudHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vY29udGFjdC1tb21lbnRzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29udGFjdC1tb21lbnRzLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIERvc3NpZXJEZXRhaWxUYWJDb250YWN0TW9tZW50c0NvbXBvbmVudCB7XG4gIEBWaWV3Q2hpbGQoJ2NvbnRhY3RNb21lbnRzTm90ZU1vZGFsJykgbW9kYWw6IE1vZGFsQ29tcG9uZW50O1xuXG4gIHJlYWRvbmx5IHJlZmV0Y2hDb250YWN0TW9tZW50cyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KCcnKTtcbiAgcmVhZG9ubHkgY29udGFjdE1vbWVudHMkOiBPYnNlcnZhYmxlPEFycmF5PFRpbWVsaW5lSXRlbT4+ID0gdGhpcy5yZWZldGNoQ29udGFjdE1vbWVudHMkLnBpcGUoXG4gICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuY29udGFjdE1vbWVudFNlcnZpY2UuZ2V0Q29udGFjdE1vbWVudHMoKSksXG4gICAgbWFwKGNvbnRhY3RNb21lbnRzID0+XG4gICAgICBjb250YWN0TW9tZW50cy5tYXAoY29udGFjdE1vbWVudCA9PiB7XG4gICAgICAgIGNvbnN0IHJlZ2lzdHJhdGllRGF0dW0gPSBtb21lbnQoY29udGFjdE1vbWVudC5yZWdpc3RyYXRpZWRhdHVtKTtcbiAgICAgICAgcmV0dXJuIG5ldyBUaW1lbGluZUl0ZW1JbXBsKFxuICAgICAgICAgIHJlZ2lzdHJhdGllRGF0dW0uZm9ybWF0KCdERCBNTU0gWVlZWScpLFxuICAgICAgICAgIHJlZ2lzdHJhdGllRGF0dW0uZm9ybWF0KCdISDptbScpLFxuICAgICAgICAgIGNvbnRhY3RNb21lbnQubWVkZXdlcmtlcklkZW50aWZpY2F0aWUuYWNodGVybmFhbSxcbiAgICAgICAgICBjb250YWN0TW9tZW50LmthbmFhbCxcbiAgICAgICAgICBjb250YWN0TW9tZW50LnRla3N0LFxuICAgICAgICAgIG51bGxcbiAgICAgICAgKTtcbiAgICAgIH0pXG4gICAgKVxuICApO1xuXG4gIHJlYWRvbmx5IHRleHQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcbiAgcmVhZG9ubHkgY2hhbm5lbCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJ01BSUwnKTtcbiAgcmVhZG9ubHkgcmVxdWVzdERhdGEkOiBPYnNlcnZhYmxlPEFycmF5PHN0cmluZz4+ID0gY29tYmluZUxhdGVzdChbdGhpcy50ZXh0JCwgdGhpcy5jaGFubmVsJF0pO1xuICByZWFkb25seSB2YWxpZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLnJlcXVlc3REYXRhJC5waXBlKFxuICAgIG1hcCgoW3RleHQsIGNoYW5uZWxdKSA9PiAhISh0ZXh0ICYmIGNoYW5uZWwpKVxuICApO1xuICByZWFkb25seSBkaXNhYmxlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbnRhY3RNb21lbnRTZXJ2aWNlOiBDb250YWN0TW9tZW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZVxuICApIHt9XG5cbiAgdGV4dENoYW5nZSh0ZXh0OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnRleHQkLm5leHQodGV4dCk7XG4gIH1cblxuICBidXR0b25DbGljaygpOiB2b2lkIHtcbiAgICB0aGlzLm1vZGFsLnNob3coKTtcbiAgfVxuXG4gIHNhdmVOb3RlKCk6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZSgpO1xuXG4gICAgdGhpcy5yZXF1ZXN0RGF0YSQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKFt0ZXh0LCBjaGFubmVsXSkgPT4ge1xuICAgICAgdGhpcy5jb250YWN0TW9tZW50U2VydmljZS5zYXZlQ29udGFjdE1vbWVudCh7a2FuYWFsOiBjaGFubmVsLCB0ZWtzdDogdGV4dH0pLnN1YnNjcmliZShcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnN1Y2Nlc3MoXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnZG9zc2llci5jb250YWN0TW9tZW50cy5zYXZlU3VjY2VzcycpXG4gICAgICAgICAgKTtcbiAgICAgICAgICB0aGlzLmVuYWJsZSgpO1xuICAgICAgICAgIHRoaXMuY2xlYXIoKTtcbiAgICAgICAgICB0aGlzLm1vZGFsLmhpZGUoKTtcbiAgICAgICAgICB0aGlzLnJlZmV0Y2hDb250YWN0TW9tZW50cygpO1xuICAgICAgICB9LFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5lbmFibGUoKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZGlzYWJsZSgpOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkJC5uZXh0KHRydWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbmFibGUoKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCQubmV4dChmYWxzZSk7XG4gIH1cblxuICBwcml2YXRlIGNsZWFyKCk6IHZvaWQge1xuICAgIHRoaXMudGV4dCQubmV4dCgnJyk7XG4gIH1cblxuICBwcml2YXRlIHJlZmV0Y2hDb250YWN0TW9tZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLnJlZmV0Y2hDb250YWN0TW9tZW50cyQubmV4dCgnJyk7XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDIxIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPGRpdiBjbGFzcz1cImNvbnRhY3QtbW9tZW50cy1jb250YWluZXJcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJ1dHRvbnNcIj48L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm1vbWVudHNcIj48L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG48dmFsdGltby1tb2RhbFxuICAjY29udGFjdE1vbWVudHNOb3RlTW9kYWxcbiAgW3RpdGxlXT1cIidkb3NzaWVyLmNvbnRhY3RNb21lbnRzLnBvcHVwVGl0bGUnIHwgdHJhbnNsYXRlXCJcbiAgW3Nob3dGb290ZXJdPVwidHJ1ZVwiXG4gIFtlbGVtZW50SWRdPVwiJ2NvbnRhY3QtbW9tZW50cy1tb2RhbCdcIlxuPlxuICA8ZGl2IGNsYXNzPVwibXQtMlwiIGJvZHk+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJvZHlcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG4gIDxkaXYgZm9vdGVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmb290ZXJcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L3ZhbHRpbW8tbW9kYWw+XG5cbjxuZy10ZW1wbGF0ZSAjYm9keT5cbiAgPGZvcm0+XG4gICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgcm93XCI+XG4gICAgICA8bGFiZWwgY2xhc3M9XCJjb2wtMTIgY29sLXNtLTMgY29sLWZvcm0tbGFiZWwgdGV4dC1zbS1yaWdodFwiIGZvcj1cImJvZHlcIj5cbiAgICAgICAge3sgJ2Rvc3NpZXIuY29udGFjdE1vbWVudHMubm90ZVRleHQnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2xhYmVsPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tOCBjb2wtbGctNlwiPlxuICAgICAgICA8dGV4dGFyZWFcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQkIHwgYXN5bmNcIlxuICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICBpZD1cImJvZHlcIlxuICAgICAgICAgIG5hbWU9XCJib2R5XCJcbiAgICAgICAgICBbbmdNb2RlbF09XCJ0ZXh0JCB8IGFzeW5jXCJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJ0ZXh0Q2hhbmdlKCRldmVudClcIlxuICAgICAgICA+PC90ZXh0YXJlYT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Zvcm0+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2Zvb3Rlcj5cbiAgPGJ1dHRvblxuICAgICpuZ0lmPVwiKGRpc2FibGVkJCB8IGFzeW5jKSA9PT0gZmFsc2U7IGVsc2UgbG9hZGluZ1wiXG4gICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIlxuICAgIFtkaXNhYmxlZF09XCIodmFsaWQkIHwgYXN5bmMpID09PSBmYWxzZSB8fCAoZGlzYWJsZWQkIHwgYXN5bmMpXCJcbiAgICAoY2xpY2spPVwic2F2ZU5vdGUoKVwiXG4gID5cbiAgICB7eyAnZG9zc2llci5jb250YWN0TW9tZW50cy5zYXZlQnV0dG9uVGV4dCcgfCB0cmFuc2xhdGUgfX1cbiAgPC9idXR0b24+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2xvYWRpbmc+XG4gIDx2YWx0aW1vLXNwaW5uZXIgW25vTWFyZ2luVG9wXT1cInRydWVcIj48L3ZhbHRpbW8tc3Bpbm5lcj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjYnV0dG9ucz5cbiAgPGRpdiBjbGFzcz1cImJ0bi1ncm91cCBtdC1tM3B4IG1iLTMgYnV0dG9uLWNvbnRhaW5lclwiPlxuICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLXNwYWNlXCIgKGNsaWNrKT1cImJ1dHRvbkNsaWNrKClcIj5cbiAgICAgIDxpIGNsYXNzPVwiaWNvbiBtZGkgbWRpLW5vdGUtcGx1c1wiPjwvaT5cbiAgICAgICZuYnNwO3t7ICdkb3NzaWVyLmNvbnRhY3RNb21lbnRzLm1ha2VOb3RlQnV0dG9uJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjbW9tZW50cz5cbiAgPGRpdiAqbmdJZj1cImNvbnRhY3RNb21lbnRzJCB8IGFzeW5jIGFzIGNvbnRhY3RNb21lbnRzOyBlbHNlIGxvYWRpbmdcIj5cbiAgICA8dmFsdGltby10aW1lbGluZSBbaXRlbXNdPVwiY29udGFjdE1vbWVudHNcIj48L3ZhbHRpbW8tdGltZWxpbmU+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2015-2020 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 { Component } from '@angular/core';
|
|
17
|
+
import { map, switchMap } from 'rxjs/operators';
|
|
18
|
+
import { BehaviorSubject, combineLatest } from 'rxjs';
|
|
19
|
+
import * as i0 from "@angular/core";
|
|
20
|
+
import * as i1 from "@angular/router";
|
|
21
|
+
import * as i2 from "@valtimo/document";
|
|
22
|
+
import * as i3 from "ngx-toastr";
|
|
23
|
+
import * as i4 from "@valtimo/resource";
|
|
24
|
+
import * as i5 from "@ngx-translate/core";
|
|
25
|
+
import * as i6 from "@valtimo/config";
|
|
26
|
+
import * as i7 from "@valtimo/components";
|
|
27
|
+
import * as i8 from "@angular/common";
|
|
28
|
+
export class DossierDetailTabDocumentsComponent {
|
|
29
|
+
constructor(route, documentService, toastrService, uploadProviderService, downloadService, translateService, configService) {
|
|
30
|
+
this.route = route;
|
|
31
|
+
this.documentService = documentService;
|
|
32
|
+
this.toastrService = toastrService;
|
|
33
|
+
this.uploadProviderService = uploadProviderService;
|
|
34
|
+
this.downloadService = downloadService;
|
|
35
|
+
this.translateService = translateService;
|
|
36
|
+
this.configService = configService;
|
|
37
|
+
this.maxFileSize = this.configService?.config?.caseFileSizeUploadLimitMB || 5;
|
|
38
|
+
this.refetch$ = new BehaviorSubject(null);
|
|
39
|
+
this.relatedFiles$ = this.refetch$.pipe(switchMap(() => combineLatest([
|
|
40
|
+
this.documentService.getDocument(this.documentId),
|
|
41
|
+
this.translateService.stream('key'),
|
|
42
|
+
])), map(([document]) => {
|
|
43
|
+
const relatedFiles = document?.relatedFiles || [];
|
|
44
|
+
const translatedFiles = relatedFiles.map(file => ({
|
|
45
|
+
...file,
|
|
46
|
+
createdBy: file.createdBy || this.translateService.instant('list.automaticallyGenerated'),
|
|
47
|
+
}));
|
|
48
|
+
return translatedFiles || [];
|
|
49
|
+
}));
|
|
50
|
+
this.fields = [
|
|
51
|
+
{ key: 'fileName', label: 'File name' },
|
|
52
|
+
{ key: 'sizeInBytes', label: 'Size in bytes' },
|
|
53
|
+
{ key: 'createdOn', label: 'Created on', viewType: 'date' },
|
|
54
|
+
{ key: 'createdBy', label: 'Created by' },
|
|
55
|
+
];
|
|
56
|
+
this.actions = [
|
|
57
|
+
{
|
|
58
|
+
columnName: '',
|
|
59
|
+
iconClass: 'mdi mdi-open-in-new',
|
|
60
|
+
callback: this.downloadDocument.bind(this),
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
columnName: '',
|
|
64
|
+
iconClass: 'mdi mdi-delete',
|
|
65
|
+
callback: this.removeRelatedFile.bind(this),
|
|
66
|
+
},
|
|
67
|
+
];
|
|
68
|
+
this.uploading$ = new BehaviorSubject(false);
|
|
69
|
+
const snapshot = this.route.snapshot.paramMap;
|
|
70
|
+
this.documentId = snapshot.get('documentId') || '';
|
|
71
|
+
this.documentDefinitionName = snapshot.get('documentDefinitionName') || '';
|
|
72
|
+
}
|
|
73
|
+
ngOnInit() {
|
|
74
|
+
this.refetchDocuments();
|
|
75
|
+
}
|
|
76
|
+
fileSelected(file) {
|
|
77
|
+
this.uploading$.next(true);
|
|
78
|
+
this.uploadProviderService
|
|
79
|
+
.uploadFile(file, this.documentDefinitionName)
|
|
80
|
+
.pipe(switchMap(resourceFile => this.documentService.assignResource(this.documentId, resourceFile.data.resourceId)))
|
|
81
|
+
.subscribe(() => {
|
|
82
|
+
this.toastrService.success('Successfully uploaded document to dossier');
|
|
83
|
+
this.refetchDocuments();
|
|
84
|
+
this.uploading$.next(false);
|
|
85
|
+
}, () => {
|
|
86
|
+
this.toastrService.error('Failed to upload document to dossier');
|
|
87
|
+
this.uploading$.next(false);
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
downloadDocument(relatedFile) {
|
|
91
|
+
this.uploadProviderService
|
|
92
|
+
.getResource(relatedFile.fileId)
|
|
93
|
+
.subscribe((resource) => {
|
|
94
|
+
this.downloadService.downloadFile(resource.url, resource.resource.name);
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
removeRelatedFile(relatedFile) {
|
|
98
|
+
this.documentService.removeResource(this.documentId, relatedFile.fileId).subscribe(() => {
|
|
99
|
+
this.toastrService.success('Successfully removed document from dossier');
|
|
100
|
+
this.refetchDocuments();
|
|
101
|
+
}, () => {
|
|
102
|
+
this.toastrService.error('Failed to remove document from dossier');
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
refetchDocuments() {
|
|
106
|
+
this.refetch$.next(null);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
DossierDetailTabDocumentsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: DossierDetailTabDocumentsComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.DocumentService }, { token: i3.ToastrService }, { token: i4.UploadProviderService }, { token: i4.DownloadService }, { token: i5.TranslateService }, { token: i6.ConfigService }], target: i0.ɵɵFactoryTarget.Component });
|
|
110
|
+
DossierDetailTabDocumentsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: DossierDetailTabDocumentsComponent, selector: "valtimo-dossier-detail-tab-documents", ngImport: i0, template: "<!--\n ~ Copyright 2015-2020 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<valtimo-dropzone\n (fileSelected)=\"fileSelected($event)\"\n [acceptedFiles]=\"null\"\n [hideFilePreview]=\"true\"\n [hideTitle]=\"true\"\n [maxFileSize]=\"maxFileSize\"\n [showMaxFileSize]=\"true\"\n [camera]=\"false\"\n [uploading]=\"uploading$ | async\"\n></valtimo-dropzone>\n\n<valtimo-widget>\n <valtimo-list\n [fields]=\"fields\"\n [items]=\"relatedFiles$ | async\"\n [header]=\"true\"\n [isSearchable]=\"true\"\n [viewMode]=\"true\"\n [actions]=\"actions\"\n >\n <div header>\n <h3 class=\"list-header-title\">{{ 'Related documents' | translate }}</h3>\n <h5 class=\"list-header-description\">\n {{ 'Overview of all documents in this dossier' | translate }}\n </h5>\n </div>\n </valtimo-list>\n</valtimo-widget>\n", styles: [""], components: [{ type: i7.DropzoneComponent, selector: "valtimo-dropzone", inputs: ["title", "hideTitle", "subtitle", "externalError$", "maxFileSize", "showMaxFileSize", "acceptedFiles", "clear$", "disabled", "hideFilePreview", "uploading", "camera"], outputs: ["fileSelected"] }, { type: i7.WidgetComponent, selector: "valtimo-widget", inputs: ["type", "name", "icon", "contrast", "divider", "title", "subtitle", "collapseAble", "collapse", "additionalClasses"] }, { type: i7.ListComponent, selector: "valtimo-list", inputs: ["items", "fields", "pagination", "viewMode", "isSearchable", "header", "actions", "paginationIdentifier", "initialSortState"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged"] }], pipes: { "async": i8.AsyncPipe, "translate": i5.TranslatePipe } });
|
|
111
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: DossierDetailTabDocumentsComponent, decorators: [{
|
|
112
|
+
type: Component,
|
|
113
|
+
args: [{ selector: 'valtimo-dossier-detail-tab-documents', template: "<!--\n ~ Copyright 2015-2020 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<valtimo-dropzone\n (fileSelected)=\"fileSelected($event)\"\n [acceptedFiles]=\"null\"\n [hideFilePreview]=\"true\"\n [hideTitle]=\"true\"\n [maxFileSize]=\"maxFileSize\"\n [showMaxFileSize]=\"true\"\n [camera]=\"false\"\n [uploading]=\"uploading$ | async\"\n></valtimo-dropzone>\n\n<valtimo-widget>\n <valtimo-list\n [fields]=\"fields\"\n [items]=\"relatedFiles$ | async\"\n [header]=\"true\"\n [isSearchable]=\"true\"\n [viewMode]=\"true\"\n [actions]=\"actions\"\n >\n <div header>\n <h3 class=\"list-header-title\">{{ 'Related documents' | translate }}</h3>\n <h5 class=\"list-header-description\">\n {{ 'Overview of all documents in this dossier' | translate }}\n </h5>\n </div>\n </valtimo-list>\n</valtimo-widget>\n", styles: [""] }]
|
|
114
|
+
}], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i2.DocumentService }, { type: i3.ToastrService }, { type: i4.UploadProviderService }, { type: i4.DownloadService }, { type: i5.TranslateService }, { type: i6.ConfigService }]; } });
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZG9zc2llci9zcmMvbGliL2Rvc3NpZXItZGV0YWlsL3RhYi9kb2N1bWVudHMvZG9jdW1lbnRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZG9zc2llci9zcmMvbGliL2Rvc3NpZXItZGV0YWlsL3RhYi9kb2N1bWVudHMvZG9jdW1lbnRzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFNBQVMsRUFBUyxNQUFNLGVBQWUsQ0FBQztBQU1oRCxPQUFPLEVBQUMsR0FBRyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFhLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7O0FBU2hFLE1BQU0sT0FBTyxrQ0FBa0M7SUE0QzdDLFlBQ21CLEtBQXFCLEVBQ3JCLGVBQWdDLEVBQ2hDLGFBQTRCLEVBQzVCLHFCQUE0QyxFQUM1QyxlQUFnQyxFQUNoQyxnQkFBa0MsRUFDbEMsYUFBNEI7UUFONUIsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDNUMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFoRC9CLGdCQUFXLEdBQVcsSUFBSSxDQUFDLGFBQWEsRUFBRSxNQUFNLEVBQUUseUJBQXlCLElBQUksQ0FBQyxDQUFDO1FBQ2hGLGFBQVEsR0FBRyxJ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QXNDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjAgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtDb21wb25lbnQsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtEb2N1bWVudFNlcnZpY2UsIFJlbGF0ZWRGaWxlfSBmcm9tICdAdmFsdGltby9kb2N1bWVudCc7XG5pbXBvcnQge1Jlc291cmNlRHRvfSBmcm9tICdAdmFsdGltby9yZXNvdXJjZSc7XG5pbXBvcnQge1RvYXN0clNlcnZpY2V9IGZyb20gJ25neC10b2FzdHInO1xuaW1wb3J0IHtEb3dubG9hZFNlcnZpY2UsIFVwbG9hZFByb3ZpZGVyU2VydmljZX0gZnJvbSAnQHZhbHRpbW8vcmVzb3VyY2UnO1xuaW1wb3J0IHttYXAsIHN3aXRjaE1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7Q29uZmlnU2VydmljZX0gZnJvbSAnQHZhbHRpbW8vY29uZmlnJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1kb3NzaWVyLWRldGFpbC10YWItZG9jdW1lbnRzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RvY3VtZW50cy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RvY3VtZW50cy5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIERvc3NpZXJEZXRhaWxUYWJEb2N1bWVudHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwdWJsaWMgcmVhZG9ubHkgZG9jdW1lbnRJZDogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgZG9jdW1lbnREZWZpbml0aW9uTmFtZTogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgbWF4RmlsZVNpemU6IG51bWJlciA9IHRoaXMuY29uZmlnU2VydmljZT8uY29uZmlnPy5jYXNlRmlsZVNpemVVcGxvYWRMaW1pdE1CIHx8IDU7XG4gIHByaXZhdGUgcmVhZG9ubHkgcmVmZXRjaCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bGw+KG51bGwpO1xuICBwdWJsaWMgcmVsYXRlZEZpbGVzJDogT2JzZXJ2YWJsZTxBcnJheTxSZWxhdGVkRmlsZT4+ID0gdGhpcy5yZWZldGNoJC5waXBlKFxuICAgIHN3aXRjaE1hcCgoKSA9PlxuICAgICAgY29tYmluZUxhdGVzdChbXG4gICAgICAgIHRoaXMuZG9jdW1lbnRTZXJ2aWNlLmdldERvY3VtZW50KHRoaXMuZG9jdW1lbnRJZCksXG4gICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5zdHJlYW0oJ2tleScpLFxuICAgICAgXSlcbiAgICApLFxuICAgIG1hcCgoW2RvY3VtZW50XSkgPT4ge1xuICAgICAgY29uc3QgcmVsYXRlZEZpbGVzID0gZG9jdW1lbnQ/LnJlbGF0ZWRGaWxlcyB8fCBbXTtcbiAgICAgIGNvbnN0IHRyYW5zbGF0ZWRGaWxlcyA9IHJlbGF0ZWRGaWxlcy5tYXAoZmlsZSA9PiAoe1xuICAgICAgICAuLi5maWxlLFxuICAgICAgICBjcmVhdGVkQnk6IGZpbGUuY3JlYXRlZEJ5IHx8IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdsaXN0LmF1dG9tYXRpY2FsbHlHZW5lcmF0ZWQnKSxcbiAgICAgIH0pKTtcblxuICAgICAgcmV0dXJuIHRyYW5zbGF0ZWRGaWxlcyB8fCBbXTtcbiAgICB9KVxuICApO1xuXG4gIHB1YmxpYyBmaWVsZHMgPSBbXG4gICAge2tleTogJ2ZpbGVOYW1lJywgbGFiZWw6ICdGaWxlIG5hbWUnfSxcbiAgICB7a2V5OiAnc2l6ZUluQnl0ZXMnLCBsYWJlbDogJ1NpemUgaW4gYnl0ZXMnfSxcbiAgICB7a2V5OiAnY3JlYXRlZE9uJywgbGFiZWw6ICdDcmVhdGVkIG9uJywgdmlld1R5cGU6ICdkYXRlJ30sXG4gICAge2tleTogJ2NyZWF0ZWRCeScsIGxhYmVsOiAnQ3JlYXRlZCBieSd9LFxuICBdO1xuICBwdWJsaWMgYWN0aW9ucyA9IFtcbiAgICB7XG4gICAgICBjb2x1bW5OYW1lOiAnJyxcbiAgICAgIGljb25DbGFzczogJ21kaSBtZGktb3Blbi1pbi1uZXcnLFxuICAgICAgY2FsbGJhY2s6IHRoaXMuZG93bmxvYWREb2N1bWVudC5iaW5kKHRoaXMpLFxuICAgIH0sXG4gICAge1xuICAgICAgY29sdW1uTmFtZTogJycsXG4gICAgICBpY29uQ2xhc3M6ICdtZGkgbWRpLWRlbGV0ZScsXG4gICAgICBjYWxsYmFjazogdGhpcy5yZW1vdmVSZWxhdGVkRmlsZS5iaW5kKHRoaXMpLFxuICAgIH0sXG4gIF07XG5cbiAgcmVhZG9ubHkgdXBsb2FkaW5nJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnRTZXJ2aWNlOiBEb2N1bWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0b2FzdHJTZXJ2aWNlOiBUb2FzdHJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdXBsb2FkUHJvdmlkZXJTZXJ2aWNlOiBVcGxvYWRQcm92aWRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBkb3dubG9hZFNlcnZpY2U6IERvd25sb2FkU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlXG4gICkge1xuICAgIGNvbnN0IHNuYXBzaG90ID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5wYXJhbU1hcDtcbiAgICB0aGlzLmRvY3VtZW50SWQgPSBzbmFwc2hvdC5nZXQoJ2RvY3VtZW50SWQnKSB8fCAnJztcbiAgICB0aGlzLmRvY3VtZW50RGVmaW5pdGlvbk5hbWUgPSBzbmFwc2hvdC5nZXQoJ2RvY3VtZW50RGVmaW5pdGlvbk5hbWUnKSB8fCAnJztcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMucmVmZXRjaERvY3VtZW50cygpO1xuICB9XG5cbiAgZmlsZVNlbGVjdGVkKGZpbGU6IEZpbGUpOiB2b2lkIHtcbiAgICB0aGlzLnVwbG9hZGluZyQubmV4dCh0cnVlKTtcblxuICAgIHRoaXMudXBsb2FkUHJvdmlkZXJTZXJ2aWNlXG4gICAgICAudXBsb2FkRmlsZShmaWxlLCB0aGlzLmRvY3VtZW50RGVmaW5pdGlvbk5hbWUpXG4gICAgICAucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKHJlc291cmNlRmlsZSA9PlxuICAgICAgICAgIHRoaXMuZG9jdW1lbnRTZXJ2aWNlLmFzc2lnblJlc291cmNlKHRoaXMuZG9jdW1lbnRJZCwgcmVzb3VyY2VGaWxlLmRhdGEucmVzb3VyY2VJZClcbiAgICAgICAgKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHRoaXMudG9hc3RyU2VydmljZS5zdWNjZXNzKCdTdWNjZXNzZnVsbHkgdXBsb2FkZWQgZG9jdW1lbnQgdG8gZG9zc2llcicpO1xuICAgICAgICAgIHRoaXMucmVmZXRjaERvY3VtZW50cygpO1xuICAgICAgICAgIHRoaXMudXBsb2FkaW5nJC5uZXh0KGZhbHNlKTtcbiAgICAgICAgfSxcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHRoaXMudG9hc3RyU2VydmljZS5lcnJvcignRmFpbGVkIHRvIHVwbG9hZCBkb2N1bWVudCB0byBkb3NzaWVyJyk7XG4gICAgICAgICAgdGhpcy51cGxvYWRpbmckLm5leHQoZmFsc2UpO1xuICAgICAgICB9XG4gICAgICApO1xuICB9XG5cbiAgZG93bmxvYWREb2N1bWVudChyZWxhdGVkRmlsZTogUmVsYXRlZEZpbGUpOiB2b2lkIHtcbiAgICB0aGlzLnVwbG9hZFByb3ZpZGVyU2VydmljZVxuICAgICAgLmdldFJlc291cmNlKHJlbGF0ZWRGaWxlLmZpbGVJZClcbiAgICAgIC5zdWJzY3JpYmUoKHJlc291cmNlOiBSZXNvdXJjZUR0bykgPT4ge1xuICAgICAgICB0aGlzLmRvd25sb2FkU2VydmljZS5kb3dubG9hZEZpbGUocmVzb3VyY2UudXJsLCByZXNvdXJjZS5yZXNvdXJjZS5uYW1lKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcmVtb3ZlUmVsYXRlZEZpbGUocmVsYXRlZEZpbGU6IFJlbGF0ZWRGaWxlKTogdm9pZCB7XG4gICAgdGhpcy5kb2N1bWVudFNlcnZpY2UucmVtb3ZlUmVzb3VyY2UodGhpcy5kb2N1bWVudElkLCByZWxhdGVkRmlsZS5maWxlSWQpLnN1YnNjcmliZShcbiAgICAgICgpID0+IHtcbiAgICAgICAgdGhpcy50b2FzdHJTZXJ2aWNlLnN1Y2Nlc3MoJ1N1Y2Nlc3NmdWxseSByZW1vdmVkIGRvY3VtZW50IGZyb20gZG9zc2llcicpO1xuICAgICAgICB0aGlzLnJlZmV0Y2hEb2N1bWVudHMoKTtcbiAgICAgIH0sXG4gICAgICAoKSA9PiB7XG4gICAgICAgIHRoaXMudG9hc3RyU2VydmljZS5lcnJvcignRmFpbGVkIHRvIHJlbW92ZSBkb2N1bWVudCBmcm9tIGRvc3NpZXInKTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSByZWZldGNoRG9jdW1lbnRzKCk6IHZvaWQge1xuICAgIHRoaXMucmVmZXRjaCQubmV4dChudWxsKTtcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjAgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48dmFsdGltby1kcm9wem9uZVxuICAoZmlsZVNlbGVjdGVkKT1cImZpbGVTZWxlY3RlZCgkZXZlbnQpXCJcbiAgW2FjY2VwdGVkRmlsZXNdPVwibnVsbFwiXG4gIFtoaWRlRmlsZVByZXZpZXddPVwidHJ1ZVwiXG4gIFtoaWRlVGl0bGVdPVwidHJ1ZVwiXG4gIFttYXhGaWxlU2l6ZV09XCJtYXhGaWxlU2l6ZVwiXG4gIFtzaG93TWF4RmlsZVNpemVdPVwidHJ1ZVwiXG4gIFtjYW1lcmFdPVwiZmFsc2VcIlxuICBbdXBsb2FkaW5nXT1cInVwbG9hZGluZyQgfCBhc3luY1wiXG4+PC92YWx0aW1vLWRyb3B6b25lPlxuXG48dmFsdGltby13aWRnZXQ+XG4gIDx2YWx0aW1vLWxpc3RcbiAgICBbZmllbGRzXT1cImZpZWxkc1wiXG4gICAgW2l0ZW1zXT1cInJlbGF0ZWRGaWxlcyQgfCBhc3luY1wiXG4gICAgW2hlYWRlcl09XCJ0cnVlXCJcbiAgICBbaXNTZWFyY2hhYmxlXT1cInRydWVcIlxuICAgIFt2aWV3TW9kZV09XCJ0cnVlXCJcbiAgICBbYWN0aW9uc109XCJhY3Rpb25zXCJcbiAgPlxuICAgIDxkaXYgaGVhZGVyPlxuICAgICAgPGgzIGNsYXNzPVwibGlzdC1oZWFkZXItdGl0bGVcIj57eyAnUmVsYXRlZCBkb2N1bWVudHMnIHwgdHJhbnNsYXRlIH19PC9oMz5cbiAgICAgIDxoNSBjbGFzcz1cImxpc3QtaGVhZGVyLWRlc2NyaXB0aW9uXCI+XG4gICAgICAgIHt7ICdPdmVydmlldyBvZiBhbGwgZG9jdW1lbnRzIGluIHRoaXMgZG9zc2llcicgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvaDU+XG4gICAgPC9kaXY+XG4gIDwvdmFsdGltby1saXN0PlxuPC92YWx0aW1vLXdpZGdldD5cbiJdfQ==
|