@valtimo/dossier 10.8.0 → 11.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/esm2022/lib/components/dossier-assign-user/dossier-assign-user.component.mjs +98 -0
- package/esm2022/lib/components/dossier-bulk-assign-modal/dossier-bulk-assign-modal.component.mjs +75 -0
- package/esm2022/lib/components/dossier-detail/dossier-detail.component.mjs +191 -0
- package/esm2022/lib/components/dossier-detail/tab/audit/audit.component.mjs +76 -0
- package/esm2022/lib/components/dossier-detail/tab/contact-moments/contact-moments.component.mjs +86 -0
- package/esm2022/lib/components/dossier-detail/tab/documenten-api-documents/documenten-api-documents.component.mjs +146 -0
- package/esm2022/lib/components/dossier-detail/tab/documents/documents.component.mjs +41 -0
- package/esm2022/lib/components/dossier-detail/tab/formio/formio.component.mjs +61 -0
- package/esm2022/lib/components/dossier-detail/tab/notes/notes.component.mjs +166 -0
- package/esm2022/lib/components/dossier-detail/tab/object-type/object-type.component.mjs +121 -0
- package/esm2022/lib/components/dossier-detail/tab/progress/progress.component.mjs +52 -0
- package/esm2022/lib/components/dossier-detail/tab/s3-documents/s3-documents.component.mjs +136 -0
- package/esm2022/lib/components/dossier-detail/tab/summary/summary.component.mjs +134 -0
- package/esm2022/lib/components/dossier-detail/tab/zaakobjecten/zaakobjecten.component.mjs +112 -0
- package/esm2022/lib/components/dossier-list/dossier-list.component.mjs +370 -0
- package/esm2022/lib/components/dossier-list-actions/dossier-list-actions.component.mjs +84 -0
- package/esm2022/lib/components/dossier-process-start-modal/dossier-process-start-modal.component.mjs +132 -0
- package/esm2022/lib/components/dossier-supporting-process-start-modal/dossier-supporting-process-start-modal.component.mjs +116 -0
- package/esm2022/lib/components/dossier-update/dossier-update.component.mjs +113 -0
- package/{esm2020 → esm2022}/lib/components/note-modal/note-modal.component.mjs +5 -5
- package/esm2022/lib/constants/case-tab-token.mjs +19 -0
- package/esm2022/lib/constants/index.mjs +3 -0
- package/esm2022/lib/constants/tab.mjs +42 -0
- package/esm2022/lib/dossier-routing.module.mjs +76 -0
- package/esm2022/lib/dossier.module.mjs +288 -0
- package/esm2022/lib/models/candidate-user.model.mjs +17 -0
- package/esm2022/lib/models/dossier-detail-tab.model.mjs +27 -0
- package/{esm2020 → esm2022}/lib/models/dossier-parameters.model.mjs +1 -1
- package/esm2022/lib/models/index.mjs +23 -0
- package/esm2022/lib/models/tab-api.model.mjs +23 -0
- package/esm2022/lib/models/tabs.model.mjs +116 -0
- package/esm2022/lib/permissions/dossier-detail.permissions.mjs +55 -0
- package/esm2022/lib/permissions/index.mjs +17 -0
- package/esm2022/lib/pipes/index.mjs +17 -0
- package/esm2022/lib/pipes/tab-translate/index.mjs +18 -0
- package/esm2022/lib/pipes/tab-translate/tab-translate-pipe.module.mjs +33 -0
- package/esm2022/lib/pipes/tab-translate/tab-translate.pipe.mjs +41 -0
- package/esm2022/lib/services/dossier-bulk-assign.service.mjs +35 -0
- package/esm2022/lib/services/dossier-column.service.mjs +98 -0
- package/esm2022/lib/services/dossier-list-assignee.service.mjs +89 -0
- package/esm2022/lib/services/dossier-list-pagination.service.mjs +119 -0
- package/esm2022/lib/services/dossier-list-search.service.mjs +59 -0
- package/esm2022/lib/services/dossier-list.service.mjs +74 -0
- package/esm2022/lib/services/dossier-parameter.service.mjs +165 -0
- package/esm2022/lib/services/dossier-tab-api.service.mjs +23 -0
- package/esm2022/lib/services/dossier-tab.service.mjs +130 -0
- package/esm2022/lib/services/dossier.service.mjs +58 -0
- package/{esm2020 → esm2022}/lib/services/file-sort.service.mjs +4 -4
- package/esm2022/lib/services/index.mjs +27 -0
- package/esm2022/lib/services/notes.service.mjs +76 -0
- package/{esm2020 → esm2022}/lib/services/zaakobjecten.service.mjs +4 -4
- package/esm2022/public_api.mjs +34 -0
- package/fesm2022/valtimo-dossier.mjs +3979 -0
- package/fesm2022/valtimo-dossier.mjs.map +1 -0
- package/lib/components/dossier-assign-user/dossier-assign-user.component.d.ts +28 -0
- package/lib/components/dossier-assign-user/dossier-assign-user.component.d.ts.map +1 -0
- package/lib/components/dossier-bulk-assign-modal/dossier-bulk-assign-modal.component.d.ts +22 -0
- package/lib/components/dossier-bulk-assign-modal/dossier-bulk-assign-modal.component.d.ts.map +1 -0
- package/lib/{dossier-detail → components/dossier-detail}/dossier-detail.component.d.ts +36 -33
- package/lib/components/dossier-detail/dossier-detail.component.d.ts.map +1 -0
- package/lib/{dossier-detail → components/dossier-detail}/tab/audit/audit.component.d.ts +1 -1
- package/lib/components/dossier-detail/tab/audit/audit.component.d.ts.map +1 -0
- package/lib/{dossier-detail → components/dossier-detail}/tab/contact-moments/contact-moments.component.d.ts +1 -1
- package/lib/components/dossier-detail/tab/contact-moments/contact-moments.component.d.ts.map +1 -0
- package/lib/{dossier-detail → components/dossier-detail}/tab/documenten-api-documents/documenten-api-documents.component.d.ts +3 -4
- package/lib/components/dossier-detail/tab/documenten-api-documents/documenten-api-documents.component.d.ts.map +1 -0
- package/lib/{dossier-detail → components/dossier-detail}/tab/documents/documents.component.d.ts +1 -1
- package/lib/components/dossier-detail/tab/documents/documents.component.d.ts.map +1 -0
- package/lib/components/dossier-detail/tab/formio/formio.component.d.ts +20 -0
- package/lib/components/dossier-detail/tab/formio/formio.component.d.ts.map +1 -0
- package/lib/{dossier-detail → components/dossier-detail}/tab/notes/notes.component.d.ts +19 -12
- package/lib/components/dossier-detail/tab/notes/notes.component.d.ts.map +1 -0
- package/lib/{dossier-detail → components/dossier-detail}/tab/object-type/object-type.component.d.ts +5 -5
- package/lib/components/dossier-detail/tab/object-type/object-type.component.d.ts.map +1 -0
- package/lib/{dossier-detail → components/dossier-detail}/tab/progress/progress.component.d.ts +1 -1
- package/lib/components/dossier-detail/tab/progress/progress.component.d.ts.map +1 -0
- package/lib/{dossier-detail → components/dossier-detail}/tab/s3-documents/s3-documents.component.d.ts +3 -3
- package/lib/components/dossier-detail/tab/s3-documents/s3-documents.component.d.ts.map +1 -0
- package/lib/{dossier-detail → components/dossier-detail}/tab/summary/summary.component.d.ts +8 -4
- package/lib/components/dossier-detail/tab/summary/summary.component.d.ts.map +1 -0
- package/lib/{dossier-detail → components/dossier-detail}/tab/zaakobjecten/zaakobjecten.component.d.ts +5 -5
- package/lib/components/dossier-detail/tab/zaakobjecten/zaakobjecten.component.d.ts.map +1 -0
- package/lib/components/dossier-list/dossier-list.component.d.ts +94 -0
- package/lib/components/dossier-list/dossier-list.component.d.ts.map +1 -0
- package/lib/{dossier-list-actions → components/dossier-list-actions}/dossier-list-actions.component.d.ts +6 -7
- package/lib/components/dossier-list-actions/dossier-list-actions.component.d.ts.map +1 -0
- package/lib/{dossier-process-start-modal → components/dossier-process-start-modal}/dossier-process-start-modal.component.d.ts +4 -7
- package/lib/components/dossier-process-start-modal/dossier-process-start-modal.component.d.ts.map +1 -0
- package/lib/{dossier-supporting-process-start-modal → components/dossier-supporting-process-start-modal}/dossier-supporting-process-start-modal.component.d.ts +4 -7
- package/lib/components/dossier-supporting-process-start-modal/dossier-supporting-process-start-modal.component.d.ts.map +1 -0
- package/lib/{dossier-update → components/dossier-update}/dossier-update.component.d.ts +2 -2
- package/lib/components/dossier-update/dossier-update.component.d.ts.map +1 -0
- package/lib/components/note-modal/note-modal.component.d.ts +3 -3
- package/lib/components/note-modal/note-modal.component.d.ts.map +1 -1
- package/lib/constants/case-tab-token.d.ts +5 -0
- package/lib/constants/case-tab-token.d.ts.map +1 -0
- package/lib/constants/index.d.ts +3 -0
- package/lib/constants/index.d.ts.map +1 -0
- package/lib/constants/tab.d.ts +7 -0
- package/lib/constants/tab.d.ts.map +1 -0
- package/lib/dossier-routing.module.d.ts.map +1 -1
- package/lib/dossier.module.d.ts +35 -33
- package/lib/dossier.module.d.ts.map +1 -1
- package/lib/models/candidate-user.model.d.ts +7 -0
- package/lib/models/candidate-user.model.d.ts.map +1 -0
- package/lib/models/dossier-detail-tab.model.d.ts +18 -0
- package/lib/models/dossier-detail-tab.model.d.ts.map +1 -0
- package/lib/models/dossier-parameters.model.d.ts +0 -1
- package/lib/models/dossier-parameters.model.d.ts.map +1 -1
- package/lib/models/index.d.ts +5 -2
- package/lib/models/index.d.ts.map +1 -1
- package/lib/models/search.model.d.ts +3 -3
- package/lib/models/search.model.d.ts.map +1 -1
- package/lib/models/tab-api.model.d.ts +13 -0
- package/lib/models/tab-api.model.d.ts.map +1 -0
- package/lib/models/tabs.model.d.ts +11 -10
- package/lib/models/tabs.model.d.ts.map +1 -1
- package/lib/permissions/dossier-detail.permissions.d.ts +14 -0
- package/lib/permissions/dossier-detail.permissions.d.ts.map +1 -0
- package/lib/permissions/index.d.ts +2 -0
- package/lib/permissions/index.d.ts.map +1 -0
- package/lib/pipes/index.d.ts +2 -0
- package/lib/pipes/index.d.ts.map +1 -0
- package/lib/pipes/tab-translate/index.d.ts +3 -0
- package/lib/pipes/tab-translate/index.d.ts.map +1 -0
- package/lib/pipes/tab-translate/tab-translate-pipe.module.d.ts +9 -0
- package/lib/pipes/tab-translate/tab-translate-pipe.module.d.ts.map +1 -0
- package/lib/pipes/tab-translate/tab-translate.pipe.d.ts +13 -0
- package/lib/pipes/tab-translate/tab-translate.pipe.d.ts.map +1 -0
- package/lib/services/dossier-bulk-assign.service.d.ts +17 -0
- package/lib/services/dossier-bulk-assign.service.d.ts.map +1 -0
- package/lib/services/dossier-column.service.d.ts +1 -1
- package/lib/services/dossier-column.service.d.ts.map +1 -1
- package/lib/services/dossier-list-assignee.service.d.ts +5 -4
- package/lib/services/dossier-list-assignee.service.d.ts.map +1 -1
- package/lib/services/dossier-list-pagination.service.d.ts +2 -2
- package/lib/services/dossier-list-pagination.service.d.ts.map +1 -1
- package/lib/services/dossier-list-search.service.d.ts +0 -3
- package/lib/services/dossier-list-search.service.d.ts.map +1 -1
- package/lib/services/dossier-list.service.d.ts +6 -0
- package/lib/services/dossier-list.service.d.ts.map +1 -1
- package/lib/services/dossier-parameter.service.d.ts.map +1 -1
- package/lib/services/dossier-tab-api.service.d.ts +15 -0
- package/lib/services/dossier-tab-api.service.d.ts.map +1 -0
- package/lib/services/dossier-tab.service.d.ts +31 -0
- package/lib/services/dossier-tab.service.d.ts.map +1 -0
- package/lib/{dossier.service.d.ts → services/dossier.service.d.ts} +5 -1
- package/lib/services/dossier.service.d.ts.map +1 -0
- package/lib/services/index.d.ts +4 -1
- package/lib/services/index.d.ts.map +1 -1
- package/lib/services/notes.service.d.ts.map +1 -1
- package/lib/services/zaakobjecten.service.d.ts.map +1 -1
- package/package.json +13 -19
- package/public_api.d.ts +13 -14
- package/public_api.d.ts.map +1 -1
- package/esm2020/lib/dossier-assign-user/dossier-assign-user.component.mjs +0 -126
- package/esm2020/lib/dossier-detail/dossier-detail.component.mjs +0 -175
- package/esm2020/lib/dossier-detail/tab/audit/audit.component.mjs +0 -76
- package/esm2020/lib/dossier-detail/tab/contact-moments/contact-moments.component.mjs +0 -86
- package/esm2020/lib/dossier-detail/tab/documenten-api-documents/documenten-api-documents.component.mjs +0 -147
- package/esm2020/lib/dossier-detail/tab/documents/documents.component.mjs +0 -41
- package/esm2020/lib/dossier-detail/tab/notes/notes.component.mjs +0 -153
- package/esm2020/lib/dossier-detail/tab/object-type/object-type.component.mjs +0 -122
- package/esm2020/lib/dossier-detail/tab/progress/progress.component.mjs +0 -51
- package/esm2020/lib/dossier-detail/tab/s3-documents/s3-documents.component.mjs +0 -134
- package/esm2020/lib/dossier-detail/tab/summary/summary.component.mjs +0 -124
- package/esm2020/lib/dossier-detail/tab/zaakobjecten/zaakobjecten.component.mjs +0 -113
- package/esm2020/lib/dossier-detail-tab-enum.mjs +0 -26
- package/esm2020/lib/dossier-list/dossier-list.component.mjs +0 -224
- package/esm2020/lib/dossier-list-actions/dossier-list-actions.component.mjs +0 -86
- package/esm2020/lib/dossier-process-start-modal/dossier-process-start-modal.component.mjs +0 -192
- package/esm2020/lib/dossier-routing.module.mjs +0 -66
- package/esm2020/lib/dossier-supporting-process-start-modal/dossier-supporting-process-start-modal.component.mjs +0 -181
- package/esm2020/lib/dossier-update/dossier-update.component.mjs +0 -113
- package/esm2020/lib/dossier.config.mjs +0 -29
- package/esm2020/lib/dossier.module.mjs +0 -259
- package/esm2020/lib/dossier.service.mjs +0 -50
- package/esm2020/lib/models/index.mjs +0 -20
- package/esm2020/lib/models/tabs.model.mjs +0 -112
- package/esm2020/lib/services/dossier-column.service.mjs +0 -100
- package/esm2020/lib/services/dossier-list-assignee.service.mjs +0 -82
- package/esm2020/lib/services/dossier-list-pagination.service.mjs +0 -116
- package/esm2020/lib/services/dossier-list-search.service.mjs +0 -66
- package/esm2020/lib/services/dossier-list.service.mjs +0 -56
- package/esm2020/lib/services/dossier-parameter.service.mjs +0 -167
- package/esm2020/lib/services/index.mjs +0 -24
- package/esm2020/lib/services/notes.service.mjs +0 -76
- package/esm2020/lib/tab.service.mjs +0 -80
- package/esm2020/public_api.mjs +0 -35
- package/fesm2015/valtimo-dossier.mjs +0 -3348
- package/fesm2015/valtimo-dossier.mjs.map +0 -1
- package/fesm2020/valtimo-dossier.mjs +0 -3447
- package/fesm2020/valtimo-dossier.mjs.map +0 -1
- package/lib/dossier-assign-user/dossier-assign-user.component.d.ts +0 -34
- package/lib/dossier-assign-user/dossier-assign-user.component.d.ts.map +0 -1
- package/lib/dossier-detail/dossier-detail.component.d.ts.map +0 -1
- package/lib/dossier-detail/tab/audit/audit.component.d.ts.map +0 -1
- package/lib/dossier-detail/tab/contact-moments/contact-moments.component.d.ts.map +0 -1
- package/lib/dossier-detail/tab/documenten-api-documents/documenten-api-documents.component.d.ts.map +0 -1
- package/lib/dossier-detail/tab/documents/documents.component.d.ts.map +0 -1
- package/lib/dossier-detail/tab/notes/notes.component.d.ts.map +0 -1
- package/lib/dossier-detail/tab/object-type/object-type.component.d.ts.map +0 -1
- package/lib/dossier-detail/tab/progress/progress.component.d.ts.map +0 -1
- package/lib/dossier-detail/tab/s3-documents/s3-documents.component.d.ts.map +0 -1
- package/lib/dossier-detail/tab/summary/summary.component.d.ts.map +0 -1
- package/lib/dossier-detail/tab/zaakobjecten/zaakobjecten.component.d.ts.map +0 -1
- package/lib/dossier-detail-tab-enum.d.ts +0 -10
- package/lib/dossier-detail-tab-enum.d.ts.map +0 -1
- package/lib/dossier-list/dossier-list.component.d.ts +0 -66
- package/lib/dossier-list/dossier-list.component.d.ts.map +0 -1
- package/lib/dossier-list-actions/dossier-list-actions.component.d.ts.map +0 -1
- package/lib/dossier-process-start-modal/dossier-process-start-modal.component.d.ts.map +0 -1
- package/lib/dossier-supporting-process-start-modal/dossier-supporting-process-start-modal.component.d.ts.map +0 -1
- package/lib/dossier-update/dossier-update.component.d.ts.map +0 -1
- package/lib/dossier.config.d.ts +0 -4
- package/lib/dossier.config.d.ts.map +0 -1
- package/lib/dossier.service.d.ts.map +0 -1
- package/lib/tab.service.d.ts +0 -21
- package/lib/tab.service.d.ts.map +0 -1
- /package/{esm2020 → esm2022}/lib/models/notes.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/search.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/zaakobjecten.model.mjs +0 -0
- /package/{esm2020 → esm2022}/valtimo-dossier.mjs +0 -0
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2015-2023 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 "@valtimo/components";
|
|
25
|
+
import * as i6 from "@ngx-translate/core";
|
|
26
|
+
import * as i7 from "@valtimo/config";
|
|
27
|
+
import * as i8 from "../../../../services/file-sort.service";
|
|
28
|
+
import * as i9 from "@angular/common";
|
|
29
|
+
export class DossierDetailTabS3DocumentsComponent {
|
|
30
|
+
constructor(route, documentService, toastrService, uploadProviderService, downloadService, promptService, translateService, configService, fileSortService) {
|
|
31
|
+
this.route = route;
|
|
32
|
+
this.documentService = documentService;
|
|
33
|
+
this.toastrService = toastrService;
|
|
34
|
+
this.uploadProviderService = uploadProviderService;
|
|
35
|
+
this.downloadService = downloadService;
|
|
36
|
+
this.promptService = promptService;
|
|
37
|
+
this.translateService = translateService;
|
|
38
|
+
this.configService = configService;
|
|
39
|
+
this.fileSortService = fileSortService;
|
|
40
|
+
this.maxFileSize = this.configService?.config?.caseFileSizeUploadLimitMB || 5;
|
|
41
|
+
this.acceptedFiles = this.configService?.config?.caseFileUploadAcceptedFiles || null;
|
|
42
|
+
this.fields = [
|
|
43
|
+
{ key: 'fileName', label: 'File name' },
|
|
44
|
+
{ key: 'sizeInBytes', label: 'Size in bytes' },
|
|
45
|
+
{ key: 'createdOn', label: 'Created on', viewType: 'date' },
|
|
46
|
+
{ key: 'createdBy', label: 'Created by' },
|
|
47
|
+
];
|
|
48
|
+
this.actions = [
|
|
49
|
+
{
|
|
50
|
+
columnName: '',
|
|
51
|
+
iconClass: 'mdi mdi-open-in-new',
|
|
52
|
+
callback: this.downloadDocument.bind(this),
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
columnName: '',
|
|
56
|
+
iconClass: 'mdi mdi-delete',
|
|
57
|
+
callback: this.removeRelatedFile.bind(this),
|
|
58
|
+
},
|
|
59
|
+
];
|
|
60
|
+
this.uploading$ = new BehaviorSubject(false);
|
|
61
|
+
this.refetch$ = new BehaviorSubject(null);
|
|
62
|
+
this.relatedFiles$ = this.refetch$.pipe(switchMap(() => combineLatest([
|
|
63
|
+
this.documentService.getDocument(this.documentId),
|
|
64
|
+
this.translateService.stream('key'),
|
|
65
|
+
])), map(([document]) => {
|
|
66
|
+
const relatedFiles = document?.relatedFiles || [];
|
|
67
|
+
const translatedFiles = relatedFiles.map(file => ({
|
|
68
|
+
...file,
|
|
69
|
+
createdBy: file.createdBy || this.translateService.instant('list.automaticallyGenerated'),
|
|
70
|
+
}));
|
|
71
|
+
return translatedFiles || [];
|
|
72
|
+
}), map(relatedFiles => this.fileSortService.sortRelatedFilesByDateDescending(relatedFiles)));
|
|
73
|
+
const snapshot = this.route.snapshot.paramMap;
|
|
74
|
+
this.documentId = snapshot.get('documentId') || '';
|
|
75
|
+
this.documentDefinitionName = snapshot.get('documentDefinitionName') || '';
|
|
76
|
+
}
|
|
77
|
+
ngOnInit() {
|
|
78
|
+
this.refetchDocuments();
|
|
79
|
+
}
|
|
80
|
+
fileSelected(file) {
|
|
81
|
+
this.uploading$.next(true);
|
|
82
|
+
this.uploadProviderService
|
|
83
|
+
.uploadFile(file, this.documentDefinitionName, this.documentId)
|
|
84
|
+
.pipe(switchMap(resourceFile => this.documentService.assignResource(this.documentId, resourceFile.data.resourceId)))
|
|
85
|
+
.subscribe({
|
|
86
|
+
next: () => {
|
|
87
|
+
this.toastrService.success('Successfully uploaded document to dossier');
|
|
88
|
+
this.refetchDocuments();
|
|
89
|
+
this.uploading$.next(false);
|
|
90
|
+
},
|
|
91
|
+
error: () => {
|
|
92
|
+
this.toastrService.error('Failed to upload document to dossier');
|
|
93
|
+
this.uploading$.next(false);
|
|
94
|
+
},
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
downloadDocument(relatedFile) {
|
|
98
|
+
this.uploadProviderService
|
|
99
|
+
.getResource(relatedFile.fileId)
|
|
100
|
+
.subscribe((resource) => {
|
|
101
|
+
this.downloadService.downloadFile(resource.url, resource.resource.name);
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
removeRelatedFile(relatedFile) {
|
|
105
|
+
this.promptService.openPrompt({
|
|
106
|
+
headerText: this.translateService.instant('dossier.deleteConfirmation.title'),
|
|
107
|
+
bodyText: this.translateService.instant('dossier.deleteConfirmation.description'),
|
|
108
|
+
cancelButtonText: this.translateService.instant('dossier.deleteConfirmation.cancel'),
|
|
109
|
+
confirmButtonText: this.translateService.instant('dossier.deleteConfirmation.delete'),
|
|
110
|
+
cancelMdiIcon: 'cancel',
|
|
111
|
+
confirmMdiIcon: 'delete',
|
|
112
|
+
cancelButtonType: 'secondary',
|
|
113
|
+
confirmButtonType: 'primary',
|
|
114
|
+
closeOnConfirm: true,
|
|
115
|
+
closeOnCancel: true,
|
|
116
|
+
confirmCallBackFunction: () => {
|
|
117
|
+
this.documentService.removeResource(this.documentId, relatedFile.fileId).subscribe(() => {
|
|
118
|
+
this.toastrService.success('Successfully removed document from dossier');
|
|
119
|
+
this.refetchDocuments();
|
|
120
|
+
}, () => {
|
|
121
|
+
this.toastrService.error('Failed to remove document from dossier');
|
|
122
|
+
});
|
|
123
|
+
},
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
refetchDocuments() {
|
|
127
|
+
this.refetch$.next(null);
|
|
128
|
+
}
|
|
129
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierDetailTabS3DocumentsComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.DocumentService }, { token: i3.ToastrService }, { token: i4.UploadProviderService }, { token: i4.DownloadService }, { token: i5.PromptService }, { token: i6.TranslateService }, { token: i7.ConfigService }, { token: i8.FileSortService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
130
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DossierDetailTabS3DocumentsComponent, selector: "valtimo-dossier-detail-tab-s3-documents", ngImport: i0, template: "<!--\n ~ Copyright 2015-2023 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]=\"acceptedFiles\"\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: ["/*!\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "component", type: i5.ListComponent, selector: "valtimo-list", inputs: ["items", "fields", "pagination", "viewMode", "isSearchable", "header", "actions", "paginationIdentifier", "initialSortState", "lastColumnTemplate"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged"] }, { kind: "component", type: i5.WidgetComponent, selector: "valtimo-widget", inputs: ["type", "name", "icon", "contrast", "divider", "title", "subtitle", "collapseAble", "collapse", "additionalClasses"] }, { kind: "component", type: i5.DropzoneComponent, selector: "valtimo-dropzone", inputs: ["title", "hideTitle", "subtitle", "externalError$", "maxFileSize", "showMaxFileSize", "acceptedFiles", "clear$", "disabled", "hideFilePreview", "uploading", "camera", "maxFiles"], outputs: ["fileSelected"] }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
|
|
131
|
+
}
|
|
132
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierDetailTabS3DocumentsComponent, decorators: [{
|
|
133
|
+
type: Component,
|
|
134
|
+
args: [{ selector: 'valtimo-dossier-detail-tab-s3-documents', template: "<!--\n ~ Copyright 2015-2023 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]=\"acceptedFiles\"\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: ["/*!\n * Copyright 2015-2023 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"] }]
|
|
135
|
+
}], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i2.DocumentService }, { type: i3.ToastrService }, { type: i4.UploadProviderService }, { type: i4.DownloadService }, { type: i5.PromptService }, { type: i6.TranslateService }, { type: i7.ConfigService }, { type: i8.FileSortService }]; } });
|
|
136
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiczMtZG9jdW1lbnRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZG9zc2llci9zcmMvbGliL2NvbXBvbmVudHMvZG9zc2llci1kZXRhaWwvdGFiL3MzLWRvY3VtZW50cy9zMy1kb2N1bWVudHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyL3NyYy9saWIvY29tcG9uZW50cy9kb3NzaWVyLWRldGFpbC90YWIvczMtZG9jdW1lbnRzL3MzLWRvY3VtZW50cy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxTQUFTLEVBQVMsTUFBTSxlQUFlLENBQUM7QUFLaEQsT0FBTyxFQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUMsZUFBZSxFQUFFLGFBQWEsRUFBYSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7Ozs7QUFXaEUsTUFBTSxPQUFPLG9DQUFvQztJQTZDL0MsWUFDbUIsS0FBcUIsRUFDckIsZUFBZ0MsRUFDaEMsYUFBNEIsRUFDNUIscUJBQTRDLEVBQzVDLGVBQWdDLEVBQ2hDLGFBQTRCLEVBQzVCLGdCQUFrQyxFQUNsQyxhQUE0QixFQUM1QixlQUFnQztRQVJoQyxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1QyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxrQkFBYSxHQUFiLGFB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QUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyx3Q0FBd0MsQ0FBQztZQUNqRixnQkFBZ0IsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLG1DQUFtQyxDQUFDO1lBQ3BGLGlCQUFpQixFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsbUNBQW1DLENBQUM7WUFDckYsYUFBYSxFQUFFLFFBQVE7WUFDdkIsY0FBYyxFQUFFLFFBQVE7WUFDeEIsZ0JBQWdCLEVBQUUsV0FBVztZQUM3QixpQkFBaUIsRUFBRSxTQUFTO1lBQzVCLGNBQWMsRUFBRSxJQUFJO1lBQ3BCLGFBQWEsRUFBRSxJQUFJO1lBQ25CLHVCQUF1QixFQUFFLEdBQUcsRUFBRTtnQkFDNUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUNoRixHQUFHLEVBQUU7b0JBQ0gsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsNENBQTRDLENBQUMsQ0FBQztvQkFDekUsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7Z0JBQzFCLENBQUMsRUFDRCxHQUFHLEVBQUU7b0JBQ0gsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsd0NBQXdDLENBQUMsQ0FBQztnQkFDckUsQ0FBQyxDQUNGLENBQUM7WUFDSixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGdCQUFnQjtRQUN0QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQixDQUFDOytHQTVIVSxvQ0FBb0M7bUdBQXBDLG9DQUFvQywrRUNqQ2pELHM2Q0E0Q0E7OzRGRFhhLG9DQUFvQztrQkFMaEQsU0FBUzsrQkFDRSx5Q0FBeUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMyBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge0NvbXBvbmVudCwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge0RvY3VtZW50U2VydmljZSwgUmVsYXRlZEZpbGV9IGZyb20gJ0B2YWx0aW1vL2RvY3VtZW50JztcbmltcG9ydCB7RG93bmxvYWRTZXJ2aWNlLCBSZXNvdXJjZUR0bywgVXBsb2FkUHJvdmlkZXJTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9yZXNvdXJjZSc7XG5pbXBvcnQge1RvYXN0clNlcnZpY2V9IGZyb20gJ25neC10b2FzdHInO1xuaW1wb3J0IHttYXAsIHN3aXRjaE1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7Q29uZmlnU2VydmljZX0gZnJvbSAnQHZhbHRpbW8vY29uZmlnJztcbmltcG9ydCB7UHJvbXB0U2VydmljZX0gZnJvbSAnQHZhbHRpbW8vY29tcG9uZW50cyc7XG5pbXBvcnQge0ZpbGVTb3J0U2VydmljZX0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvZmlsZS1zb3J0LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLWRvc3NpZXItZGV0YWlsLXRhYi1zMy1kb2N1bWVudHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vczMtZG9jdW1lbnRzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vczMtZG9jdW1lbnRzLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIERvc3NpZXJEZXRhaWxUYWJTM0RvY3VtZW50c0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHB1YmxpYyByZWFkb25seSBkb2N1bWVudElkOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBkb2N1bWVudERlZmluaXRpb25OYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBtYXhGaWxlU2l6ZTogbnVtYmVyID0gdGhpcy5jb25maWdTZXJ2aWNlPy5jb25maWc/LmNhc2VGaWxlU2l6ZVVwbG9hZExpbWl0TUIgfHwgNTtcbiAgcHVibGljIHJlYWRvbmx5IGFjY2VwdGVkRmlsZXM6IHN0cmluZyA9XG4gICAgdGhpcy5jb25maWdTZXJ2aWNlPy5jb25maWc/LmNhc2VGaWxlVXBsb2FkQWNjZXB0ZWRGaWxlcyB8fCBudWxsO1xuICBwdWJsaWMgZmllbGRzID0gW1xuICAgIHtrZXk6ICdmaWxlTmFtZScsIGxhYmVsOiAnRmlsZSBuYW1lJ30sXG4gICAge2tleTogJ3NpemVJbkJ5dGVzJywgbGFiZWw6ICdTaXplIGluIGJ5dGVzJ30sXG4gICAge2tleTogJ2NyZWF0ZWRPbicsIGxhYmVsOiAnQ3JlYXRlZCBvbicsIHZpZXdUeXBlOiAnZGF0ZSd9LFxuICAgIHtrZXk6ICdjcmVhdGVkQnknLCBsYWJlbDogJ0NyZWF0ZWQgYnknfSxcbiAgXTtcbiAgcHVibGljIGFjdGlvbnMgPSBbXG4gICAge1xuICAgICAgY29sdW1uTmFtZTogJycsXG4gICAgICBpY29uQ2xhc3M6ICdtZGkgbWRpLW9wZW4taW4tbmV3JyxcbiAgICAgIGNhbGxiYWNrOiB0aGlzLmRvd25sb2FkRG9jdW1lbnQuYmluZCh0aGlzKSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGNvbHVtbk5hbWU6ICcnLFxuICAgICAgaWNvbkNsYXNzOiAnbWRpIG1kaS1kZWxldGUnLFxuICAgICAgY2FsbGJhY2s6IHRoaXMucmVtb3ZlUmVsYXRlZEZpbGUuYmluZCh0aGlzKSxcbiAgICB9LFxuICBdO1xuICByZWFkb25seSB1cGxvYWRpbmckID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcmVmZXRjaCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bGw+KG51bGwpO1xuICBwdWJsaWMgcmVsYXRlZEZpbGVzJDogT2JzZXJ2YWJsZTxBcnJheTxSZWxhdGVkRmlsZT4+ID0gdGhpcy5yZWZldGNoJC5waXBlKFxuICAgIHN3aXRjaE1hcCgoKSA9PlxuICAgICAgY29tYmluZUxhdGVzdChbXG4gICAgICAgIHRoaXMuZG9jdW1lbnRTZXJ2aWNlLmdldERvY3VtZW50KHRoaXMuZG9jdW1lbnRJZCksXG4gICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5zdHJlYW0oJ2tleScpLFxuICAgICAgXSlcbiAgICApLFxuICAgIG1hcCgoW2RvY3VtZW50XSkgPT4ge1xuICAgICAgY29uc3QgcmVsYXRlZEZpbGVzID0gZG9jdW1lbnQ/LnJlbGF0ZWRGaWxlcyB8fCBbXTtcbiAgICAgIGNvbnN0IHRyYW5zbGF0ZWRGaWxlcyA9IHJlbGF0ZWRGaWxlcy5tYXAoZmlsZSA9PiAoe1xuICAgICAgICAuLi5maWxlLFxuICAgICAgICBjcmVhdGVkQnk6IGZpbGUuY3JlYXRlZEJ5IHx8IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdsaXN0LmF1dG9tYXRpY2FsbHlHZW5lcmF0ZWQnKSxcbiAgICAgIH0pKTtcblxuICAgICAgcmV0dXJuIHRyYW5zbGF0ZWRGaWxlcyB8fCBbXTtcbiAgICB9KSxcbiAgICBtYXAocmVsYXRlZEZpbGVzID0+IHRoaXMuZmlsZVNvcnRTZXJ2aWNlLnNvcnRSZWxhdGVkRmlsZXNCeURhdGVEZXNjZW5kaW5nKHJlbGF0ZWRGaWxlcykpXG4gICk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudFNlcnZpY2U6IERvY3VtZW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRvYXN0clNlcnZpY2U6IFRvYXN0clNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB1cGxvYWRQcm92aWRlclNlcnZpY2U6IFVwbG9hZFByb3ZpZGVyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRvd25sb2FkU2VydmljZTogRG93bmxvYWRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcHJvbXB0U2VydmljZTogUHJvbXB0U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZmlsZVNvcnRTZXJ2aWNlOiBGaWxlU29ydFNlcnZpY2VcbiAgKSB7XG4gICAgY29uc3Qgc25hcHNob3QgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnBhcmFtTWFwO1xuICAgIHRoaXMuZG9jdW1lbnRJZCA9IHNuYXBzaG90LmdldCgnZG9jdW1lbnRJZCcpIHx8ICcnO1xuICAgIHRoaXMuZG9jdW1lbnREZWZpbml0aW9uTmFtZSA9IHNuYXBzaG90LmdldCgnZG9jdW1lbnREZWZpbml0aW9uTmFtZScpIHx8ICcnO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5yZWZldGNoRG9jdW1lbnRzKCk7XG4gIH1cblxuICBmaWxlU2VsZWN0ZWQoZmlsZTogRmlsZSk6IHZvaWQge1xuICAgIHRoaXMudXBsb2FkaW5nJC5uZXh0KHRydWUpO1xuXG4gICAgdGhpcy51cGxvYWRQcm92aWRlclNlcnZpY2VcbiAgICAgIC51cGxvYWRGaWxlKGZpbGUsIHRoaXMuZG9jdW1lbnREZWZpbml0aW9uTmFtZSwgdGhpcy5kb2N1bWVudElkKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcChyZXNvdXJjZUZpbGUgPT5cbiAgICAgICAgICB0aGlzLmRvY3VtZW50U2VydmljZS5hc3NpZ25SZXNvdXJjZSh0aGlzLmRvY3VtZW50SWQsIHJlc291cmNlRmlsZS5kYXRhLnJlc291cmNlSWQpXG4gICAgICAgIClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAoKSA9PiB7XG4gICAgICAgICAgdGhpcy50b2FzdHJTZXJ2aWNlLnN1Y2Nlc3MoJ1N1Y2Nlc3NmdWxseSB1cGxvYWRlZCBkb2N1bWVudCB0byBkb3NzaWVyJyk7XG4gICAgICAgICAgdGhpcy5yZWZldGNoRG9jdW1lbnRzKCk7XG4gICAgICAgICAgdGhpcy51cGxvYWRpbmckLm5leHQoZmFsc2UpO1xuICAgICAgICB9LFxuICAgICAgICBlcnJvcjogKCkgPT4ge1xuICAgICAgICAgIHRoaXMudG9hc3RyU2VydmljZS5lcnJvcignRmFpbGVkIHRvIHVwbG9hZCBkb2N1bWVudCB0byBkb3NzaWVyJyk7XG4gICAgICAgICAgdGhpcy51cGxvYWRpbmckLm5leHQoZmFsc2UpO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gIH1cblxuICBkb3dubG9hZERvY3VtZW50KHJlbGF0ZWRGaWxlOiBSZWxhdGVkRmlsZSk6IHZvaWQge1xuICAgIHRoaXMudXBsb2FkUHJvdmlkZXJTZXJ2aWNlXG4gICAgICAuZ2V0UmVzb3VyY2UocmVsYXRlZEZpbGUuZmlsZUlkKVxuICAgICAgLnN1YnNjcmliZSgocmVzb3VyY2U6IFJlc291cmNlRHRvKSA9PiB7XG4gICAgICAgIHRoaXMuZG93bmxvYWRTZXJ2aWNlLmRvd25sb2FkRmlsZShyZXNvdXJjZS51cmwsIHJlc291cmNlLnJlc291cmNlLm5hbWUpO1xuICAgICAgfSk7XG4gIH1cblxuICByZW1vdmVSZWxhdGVkRmlsZShyZWxhdGVkRmlsZTogUmVsYXRlZEZpbGUpIHtcbiAgICB0aGlzLnByb21wdFNlcnZpY2Uub3BlblByb21wdCh7XG4gICAgICBoZWFkZXJUZXh0OiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnZG9zc2llci5kZWxldGVDb25maXJtYXRpb24udGl0bGUnKSxcbiAgICAgIGJvZHlUZXh0OiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnZG9zc2llci5kZWxldGVDb25maXJtYXRpb24uZGVzY3JpcHRpb24nKSxcbiAgICAgIGNhbmNlbEJ1dHRvblRleHQ6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdkb3NzaWVyLmRlbGV0ZUNvbmZpcm1hdGlvbi5jYW5jZWwnKSxcbiAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnZG9zc2llci5kZWxldGVDb25maXJtYXRpb24uZGVsZXRlJyksXG4gICAgICBjYW5jZWxNZGlJY29uOiAnY2FuY2VsJyxcbiAgICAgIGNvbmZpcm1NZGlJY29uOiAnZGVsZXRlJyxcbiAgICAgIGNhbmNlbEJ1dHRvblR5cGU6ICdzZWNvbmRhcnknLFxuICAgICAgY29uZmlybUJ1dHRvblR5cGU6ICdwcmltYXJ5JyxcbiAgICAgIGNsb3NlT25Db25maXJtOiB0cnVlLFxuICAgICAgY2xvc2VPbkNhbmNlbDogdHJ1ZSxcbiAgICAgIGNvbmZpcm1DYWxsQmFja0Z1bmN0aW9uOiAoKSA9PiB7XG4gICAgICAgIHRoaXMuZG9jdW1lbnRTZXJ2aWNlLnJlbW92ZVJlc291cmNlKHRoaXMuZG9jdW1lbnRJZCwgcmVsYXRlZEZpbGUuZmlsZUlkKS5zdWJzY3JpYmUoXG4gICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy50b2FzdHJTZXJ2aWNlLnN1Y2Nlc3MoJ1N1Y2Nlc3NmdWxseSByZW1vdmVkIGRvY3VtZW50IGZyb20gZG9zc2llcicpO1xuICAgICAgICAgICAgdGhpcy5yZWZldGNoRG9jdW1lbnRzKCk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnRvYXN0clNlcnZpY2UuZXJyb3IoJ0ZhaWxlZCB0byByZW1vdmUgZG9jdW1lbnQgZnJvbSBkb3NzaWVyJyk7XG4gICAgICAgICAgfVxuICAgICAgICApO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVmZXRjaERvY3VtZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLnJlZmV0Y2gkLm5leHQobnVsbCk7XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDIzIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPHZhbHRpbW8tZHJvcHpvbmVcbiAgKGZpbGVTZWxlY3RlZCk9XCJmaWxlU2VsZWN0ZWQoJGV2ZW50KVwiXG4gIFthY2NlcHRlZEZpbGVzXT1cImFjY2VwdGVkRmlsZXNcIlxuICBbaGlkZUZpbGVQcmV2aWV3XT1cInRydWVcIlxuICBbaGlkZVRpdGxlXT1cInRydWVcIlxuICBbbWF4RmlsZVNpemVdPVwibWF4RmlsZVNpemVcIlxuICBbc2hvd01heEZpbGVTaXplXT1cInRydWVcIlxuICBbY2FtZXJhXT1cImZhbHNlXCJcbiAgW3VwbG9hZGluZ109XCJ1cGxvYWRpbmckIHwgYXN5bmNcIlxuPjwvdmFsdGltby1kcm9wem9uZT5cblxuPHZhbHRpbW8td2lkZ2V0PlxuICA8dmFsdGltby1saXN0XG4gICAgW2ZpZWxkc109XCJmaWVsZHNcIlxuICAgIFtpdGVtc109XCJyZWxhdGVkRmlsZXMkIHwgYXN5bmNcIlxuICAgIFtoZWFkZXJdPVwidHJ1ZVwiXG4gICAgW2lzU2VhcmNoYWJsZV09XCJ0cnVlXCJcbiAgICBbdmlld01vZGVdPVwidHJ1ZVwiXG4gICAgW2FjdGlvbnNdPVwiYWN0aW9uc1wiXG4gID5cbiAgICA8ZGl2IGhlYWRlcj5cbiAgICAgIDxoMyBjbGFzcz1cImxpc3QtaGVhZGVyLXRpdGxlXCI+e3sgJ1JlbGF0ZWQgZG9jdW1lbnRzJyB8IHRyYW5zbGF0ZSB9fTwvaDM+XG4gICAgICA8aDUgY2xhc3M9XCJsaXN0LWhlYWRlci1kZXNjcmlwdGlvblwiPlxuICAgICAgICB7eyAnT3ZlcnZpZXcgb2YgYWxsIGRvY3VtZW50cyBpbiB0aGlzIGRvc3NpZXInIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2g1PlxuICAgIDwvZGl2PlxuICA8L3ZhbHRpbW8tbGlzdD5cbjwvdmFsdGltby13aWRnZXQ+XG4iXX0=
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2015-2023 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, ViewEncapsulation, } from '@angular/core';
|
|
17
|
+
import { CAN_VIEW_TASK_PERMISSION, TASK_DETAIL_PERMISSION_RESOURCE, } from '@valtimo/task';
|
|
18
|
+
import { FormioOptionsImpl } from '@valtimo/components';
|
|
19
|
+
import moment from 'moment';
|
|
20
|
+
import { BehaviorSubject, combineLatest, of, Subscription, switchMap } from 'rxjs';
|
|
21
|
+
import { catchError } from 'rxjs/operators';
|
|
22
|
+
import * as i0 from "@angular/core";
|
|
23
|
+
import * as i1 from "@angular/router";
|
|
24
|
+
import * as i2 from "@valtimo/document";
|
|
25
|
+
import * as i3 from "@valtimo/task";
|
|
26
|
+
import * as i4 from "@valtimo/process";
|
|
27
|
+
import * as i5 from "@valtimo/form";
|
|
28
|
+
import * as i6 from "@valtimo/security";
|
|
29
|
+
import * as i7 from "@valtimo/access-control";
|
|
30
|
+
import * as i8 from "@angular/common";
|
|
31
|
+
import * as i9 from "@valtimo/components";
|
|
32
|
+
import * as i10 from "@ng-bootstrap/ng-bootstrap";
|
|
33
|
+
import * as i11 from "carbon-components-angular";
|
|
34
|
+
import * as i12 from "@ngx-translate/core";
|
|
35
|
+
moment.locale(localStorage.getItem('langKey') || '');
|
|
36
|
+
moment.defaultFormat = 'DD MMM YYYY HH:mm';
|
|
37
|
+
export class DossierDetailTabSummaryComponent {
|
|
38
|
+
constructor(router, documentService, taskService, processService, el, renderer, route, formService, userProviderService, permissionService) {
|
|
39
|
+
this.router = router;
|
|
40
|
+
this.documentService = documentService;
|
|
41
|
+
this.taskService = taskService;
|
|
42
|
+
this.processService = processService;
|
|
43
|
+
this.el = el;
|
|
44
|
+
this.renderer = renderer;
|
|
45
|
+
this.route = route;
|
|
46
|
+
this.formService = formService;
|
|
47
|
+
this.userProviderService = userProviderService;
|
|
48
|
+
this.permissionService = permissionService;
|
|
49
|
+
this.processDocumentInstances = [];
|
|
50
|
+
this.tasks = [];
|
|
51
|
+
this.formDefinition = null;
|
|
52
|
+
this.roles = [];
|
|
53
|
+
this.loadingTasks$ = new BehaviorSubject(true);
|
|
54
|
+
this._subscriptions = new Subscription();
|
|
55
|
+
this.snapshot = this.route.snapshot.paramMap;
|
|
56
|
+
this.documentDefinitionName = this.snapshot.get('documentDefinitionName') || '';
|
|
57
|
+
this.documentId = this.snapshot.get('documentId') || '';
|
|
58
|
+
this.options = new FormioOptionsImpl();
|
|
59
|
+
this.options.disableAlerts = true;
|
|
60
|
+
}
|
|
61
|
+
ngOnInit() {
|
|
62
|
+
this.moment = moment;
|
|
63
|
+
this.init();
|
|
64
|
+
}
|
|
65
|
+
ngOnDestroy() {
|
|
66
|
+
this._subscriptions.unsubscribe();
|
|
67
|
+
}
|
|
68
|
+
init() {
|
|
69
|
+
this._subscriptions.add(this.documentService.getDocument(this.documentId).subscribe(document => {
|
|
70
|
+
this.document = document;
|
|
71
|
+
}));
|
|
72
|
+
this._subscriptions.add(this.formService
|
|
73
|
+
.getFormDefinitionByNamePreFilled(`${this.documentDefinitionName}.summary`, this.documentId)
|
|
74
|
+
.subscribe(formDefinition => {
|
|
75
|
+
this.formDefinition = formDefinition;
|
|
76
|
+
}));
|
|
77
|
+
this._subscriptions.add(this.userProviderService.getUserSubject().subscribe(user => {
|
|
78
|
+
this.roles = user.roles;
|
|
79
|
+
this.tasks = [];
|
|
80
|
+
this.loadProcessDocumentInstances(this.documentId);
|
|
81
|
+
}));
|
|
82
|
+
}
|
|
83
|
+
loadProcessDocumentInstances(documentId) {
|
|
84
|
+
this._subscriptions.add(this.documentService
|
|
85
|
+
.findProcessDocumentInstances(documentId)
|
|
86
|
+
.subscribe(processDocumentInstances => {
|
|
87
|
+
this.processDocumentInstances = processDocumentInstances;
|
|
88
|
+
this.processDocumentInstances.forEach(instance => {
|
|
89
|
+
this.loadProcessInstanceTasks(instance.id.processInstanceId);
|
|
90
|
+
});
|
|
91
|
+
}));
|
|
92
|
+
}
|
|
93
|
+
rowTaskClick(task) {
|
|
94
|
+
this.taskDetail.openTaskDetails(task);
|
|
95
|
+
}
|
|
96
|
+
loadProcessInstanceTasks(processInstanceId) {
|
|
97
|
+
this._subscriptions.add(this.processService
|
|
98
|
+
.getProcessInstanceTasks(processInstanceId)
|
|
99
|
+
.pipe(switchMap(tasks => combineLatest([
|
|
100
|
+
of(tasks),
|
|
101
|
+
...tasks.map(task => this.permissionService.requestPermission(CAN_VIEW_TASK_PERMISSION, {
|
|
102
|
+
resource: TASK_DETAIL_PERMISSION_RESOURCE.task,
|
|
103
|
+
identifier: task.id,
|
|
104
|
+
})),
|
|
105
|
+
])), catchError(() => {
|
|
106
|
+
this.loadingTasks$.next(false);
|
|
107
|
+
return of(null);
|
|
108
|
+
}))
|
|
109
|
+
.subscribe(res => {
|
|
110
|
+
const tasks = res[0];
|
|
111
|
+
const permissions = res.filter((_, index) => index !== 0);
|
|
112
|
+
if (tasks != null) {
|
|
113
|
+
tasks.forEach((task, taskIndex) => {
|
|
114
|
+
task.createdUnix = this.moment(task.created).unix();
|
|
115
|
+
task.created = this.moment(task.created).format('DD MMM YYYY HH:mm');
|
|
116
|
+
task.isLocked = !permissions[taskIndex];
|
|
117
|
+
});
|
|
118
|
+
this.tasks = this.tasks.concat(tasks);
|
|
119
|
+
this.tasks.sort((t1, t2) => t2.createdUnix - t1.createdUnix);
|
|
120
|
+
}
|
|
121
|
+
this.loadingTasks$.next(false);
|
|
122
|
+
}));
|
|
123
|
+
}
|
|
124
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierDetailTabSummaryComponent, deps: [{ token: i1.Router }, { token: i2.DocumentService }, { token: i3.TaskService }, { token: i4.ProcessService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.ActivatedRoute }, { token: i5.FormService }, { token: i6.UserProviderService }, { token: i7.PermissionService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
125
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DossierDetailTabSummaryComponent, selector: "valtimo-dossier-detail-tab-summary", viewQueries: [{ propertyName: "taskDetail", first: true, predicate: ["taskDetail"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2023 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=\"container-fluid\" *ngIf=\"{loadingTasks: loadingTasks$ | async} as obs\">\n <div class=\"row py-4\">\n <div class=\"col-sm-12 col-md-8 col-xl-9\">\n <div *ngIf=\"document\">\n <div *ngIf=\"formDefinition\" class=\"summaryForm\">\n <div class=\"mb-4\">\n <valtimo-form-io [form]=\"formDefinition\" [options]=\"options\"></valtimo-form-io>\n </div>\n </div>\n </div>\n </div>\n\n <!--Current user tasks right side-->\n <div class=\"col-sm-12 col-md-4 col-xl-3\">\n <h4 class=\"user-tasks-title\">{{ 'summary.userTasks' | translate }}</h4>\n <ng-container *ngIf=\"!obs.loadingTasks; else loadingTasksTemplate\">\n <ng-container *ngIf=\"(tasks | isArray: 1) === false\">\n <valtimo-widget>\n <div class=\"p-3\">\n <img class=\"float-left\" src=\"assets/audit-2.png\" height=\"25\" />\n <span class=\"float-right\">{{ 'summary.userTasksDoneState' | translate }}</span>\n <div class=\"clearfix\"></div>\n </div>\n </valtimo-widget>\n </ng-container>\n\n <ng-container *ngIf=\"tasks | isArray: 1\">\n <valtimo-widget *ngFor=\"let task of tasks\">\n <div\n *ngIf=\"!task.isLocked\"\n class=\"p-3 clickable hoverable\"\n (click)=\"rowTaskClick(task)\"\n >\n <span class=\"float-right badge badge-pill badge-primary\">{{\n 'summary.taskOpen' | translate\n }}</span>\n <strong>{{ task.name }}</strong>\n <div class=\"mt-1\">{{ 'summary.taskCreated' | translate }} {{ task.created }}</div>\n </div>\n <div class=\"p-3 hoverable\" *ngIf=\"task.isLocked\">\n <span\n class=\"float-right badge badge-pill badge-secondary bg-grey\"\n ngbTooltip=\"{{ 'summary.taskLocked' | translate }}\"\n >\n <i class=\"icon mdi mdi-lock\"></i>\n </span>\n <strong>{{ task.name }}</strong>\n <div>{{ 'summary.taskCreated' | translate }} {{ task.created }}</div>\n </div>\n </valtimo-widget>\n </ng-container>\n </ng-container>\n\n <valtimo-task-detail-modal\n #taskDetail\n (formSubmit)=\"init()\"\n (assignmentOfTaskChanged)=\"init()\"\n ></valtimo-task-detail-modal>\n </div>\n </div>\n</div>\n\n<ng-template #loadingTasksTemplate>\n <div class=\"loading-container\">\n <cds-loading size=\"sm\"></cds-loading>\n </div>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2023 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 */.hoverable:hover{background-color:#eee}.summaryForm .formio-component{margin-bottom:0!important}.summaryForm .formio-component div[ref=element] .form-control{height:24px!important;background-color:#fff;border:0px;margin:0;padding:0!important;font-size:13px}.summaryForm .formio-field div[ref=element] .form-control{font-weight:400}.summaryForm .formio-value div[ref=element] .form-control{font-weight:700}.user-tasks-title{margin-top:0;margin-bottom:12px;font-weight:400;color:#000;height:20px}.loading-container{display:flex;width:100%;justify-content:center}\n"], dependencies: [{ kind: "directive", type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i9.WidgetComponent, selector: "valtimo-widget", inputs: ["type", "name", "icon", "contrast", "divider", "title", "subtitle", "collapseAble", "collapse", "additionalClasses"] }, { kind: "component", type: i9.FormioComponent, selector: "valtimo-form-io", inputs: ["form", "options", "submission", "readOnly", "formRefresh$"], outputs: ["submit", "change"] }, { kind: "component", type: i3.TaskDetailModalComponent, selector: "valtimo-task-detail-modal", outputs: ["formSubmit", "assignmentOfTaskChanged"] }, { kind: "directive", type: i10.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "triggers", "container", "disableTooltip", "tooltipClass", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "component", type: i11.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "pipe", type: i8.AsyncPipe, name: "async" }, { kind: "pipe", type: i12.TranslatePipe, name: "translate" }, { kind: "pipe", type: i9.IsArrayPipe, name: "isArray" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
126
|
+
}
|
|
127
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierDetailTabSummaryComponent, decorators: [{
|
|
128
|
+
type: Component,
|
|
129
|
+
args: [{ selector: 'valtimo-dossier-detail-tab-summary', encapsulation: ViewEncapsulation.None, template: "<!--\n ~ Copyright 2015-2023 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=\"container-fluid\" *ngIf=\"{loadingTasks: loadingTasks$ | async} as obs\">\n <div class=\"row py-4\">\n <div class=\"col-sm-12 col-md-8 col-xl-9\">\n <div *ngIf=\"document\">\n <div *ngIf=\"formDefinition\" class=\"summaryForm\">\n <div class=\"mb-4\">\n <valtimo-form-io [form]=\"formDefinition\" [options]=\"options\"></valtimo-form-io>\n </div>\n </div>\n </div>\n </div>\n\n <!--Current user tasks right side-->\n <div class=\"col-sm-12 col-md-4 col-xl-3\">\n <h4 class=\"user-tasks-title\">{{ 'summary.userTasks' | translate }}</h4>\n <ng-container *ngIf=\"!obs.loadingTasks; else loadingTasksTemplate\">\n <ng-container *ngIf=\"(tasks | isArray: 1) === false\">\n <valtimo-widget>\n <div class=\"p-3\">\n <img class=\"float-left\" src=\"assets/audit-2.png\" height=\"25\" />\n <span class=\"float-right\">{{ 'summary.userTasksDoneState' | translate }}</span>\n <div class=\"clearfix\"></div>\n </div>\n </valtimo-widget>\n </ng-container>\n\n <ng-container *ngIf=\"tasks | isArray: 1\">\n <valtimo-widget *ngFor=\"let task of tasks\">\n <div\n *ngIf=\"!task.isLocked\"\n class=\"p-3 clickable hoverable\"\n (click)=\"rowTaskClick(task)\"\n >\n <span class=\"float-right badge badge-pill badge-primary\">{{\n 'summary.taskOpen' | translate\n }}</span>\n <strong>{{ task.name }}</strong>\n <div class=\"mt-1\">{{ 'summary.taskCreated' | translate }} {{ task.created }}</div>\n </div>\n <div class=\"p-3 hoverable\" *ngIf=\"task.isLocked\">\n <span\n class=\"float-right badge badge-pill badge-secondary bg-grey\"\n ngbTooltip=\"{{ 'summary.taskLocked' | translate }}\"\n >\n <i class=\"icon mdi mdi-lock\"></i>\n </span>\n <strong>{{ task.name }}</strong>\n <div>{{ 'summary.taskCreated' | translate }} {{ task.created }}</div>\n </div>\n </valtimo-widget>\n </ng-container>\n </ng-container>\n\n <valtimo-task-detail-modal\n #taskDetail\n (formSubmit)=\"init()\"\n (assignmentOfTaskChanged)=\"init()\"\n ></valtimo-task-detail-modal>\n </div>\n </div>\n</div>\n\n<ng-template #loadingTasksTemplate>\n <div class=\"loading-container\">\n <cds-loading size=\"sm\"></cds-loading>\n </div>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2023 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 */.hoverable:hover{background-color:#eee}.summaryForm .formio-component{margin-bottom:0!important}.summaryForm .formio-component div[ref=element] .form-control{height:24px!important;background-color:#fff;border:0px;margin:0;padding:0!important;font-size:13px}.summaryForm .formio-field div[ref=element] .form-control{font-weight:400}.summaryForm .formio-value div[ref=element] .form-control{font-weight:700}.user-tasks-title{margin-top:0;margin-bottom:12px;font-weight:400;color:#000;height:20px}.loading-container{display:flex;width:100%;justify-content:center}\n"] }]
|
|
130
|
+
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.DocumentService }, { type: i3.TaskService }, { type: i4.ProcessService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.ActivatedRoute }, { type: i5.FormService }, { type: i6.UserProviderService }, { type: i7.PermissionService }]; }, propDecorators: { taskDetail: [{
|
|
131
|
+
type: ViewChild,
|
|
132
|
+
args: ['taskDetail']
|
|
133
|
+
}] } });
|
|
134
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VtbWFyeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2Rvc3NpZXIvc3JjL2xpYi9jb21wb25lbnRzL2Rvc3NpZXItZGV0YWlsL3RhYi9zdW1tYXJ5L3N1bW1hcnkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyL3NyYy9saWIvY29tcG9uZW50cy9kb3NzaWVyLWRldGFpbC90YWIvc3VtbWFyeS9zdW1tYXJ5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUNMLFNBQVMsRUFLVCxTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFDTCx3QkFBd0IsRUFDeEIsK0JBQStCLEdBR2hDLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBQyxpQkFBaUIsRUFBdUIsTUFBTSxxQkFBcUIsQ0FBQztBQUM1RSxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFHNUIsT0FBTyxFQUFDLGVBQWUsRUFBRSxhQUFhLEVBQUUsRUFBRSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFakYsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7OztBQUUxQyxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7QUFDckQsTUFBTSxDQUFDLGFBQWEsR0FBRyxtQkFBbUIsQ0FBQztBQVEzQyxNQUFNLE9BQU8sZ0NBQWdDO0lBZTNDLFlBQ21CLE1BQWMsRUFDZCxlQUFnQyxFQUNoQyxXQUF3QixFQUN4QixjQUE4QixFQUM5QixFQUFjLEVBQ2Qs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KlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMyBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBSZW5kZXJlcjIsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtQcm9jZXNzSW5zdGFuY2VUYXNrLCBQcm9jZXNzU2VydmljZX0gZnJvbSAnQHZhbHRpbW8vcHJvY2Vzcyc7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlLCBQYXJhbU1hcCwgUm91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtEb2N1bWVudCwgRG9jdW1lbnRTZXJ2aWNlLCBQcm9jZXNzRG9jdW1lbnRJbnN0YW5jZX0gZnJvbSAnQHZhbHRpbW8vZG9jdW1lbnQnO1xuaW1wb3J0IHtcbiAgQ0FOX1ZJRVdfVEFTS19QRVJNSVNTSU9OLFxuICBUQVNLX0RFVEFJTF9QRVJNSVNTSU9OX1JFU09VUkNFLFxuICBUYXNrRGV0YWlsTW9kYWxDb21wb25lbnQsXG4gIFRhc2tTZXJ2aWNlLFxufSBmcm9tICdAdmFsdGltby90YXNrJztcbmltcG9ydCB7Rm9ybVNlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2Zvcm0nO1xuaW1wb3J0IHtGb3JtaW9PcHRpb25zSW1wbCwgVmFsdGltb0Zvcm1pb09wdGlvbnN9IGZyb20gJ0B2YWx0aW1vL2NvbXBvbmVudHMnO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHtGb3JtaW9Gb3JtfSBmcm9tICdAZm9ybWlvL2FuZ3VsYXInO1xuaW1wb3J0IHtVc2VyUHJvdmlkZXJTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9zZWN1cml0eSc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgb2YsIFN1YnNjcmlwdGlvbiwgc3dpdGNoTWFwfSBmcm9tICdyeGpzJztcbmltcG9ydCB7UGVybWlzc2lvblNlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2FjY2Vzcy1jb250cm9sJztcbmltcG9ydCB7Y2F0Y2hFcnJvcn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5tb21lbnQubG9jYWxlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdsYW5nS2V5JykgfHwgJycpO1xubW9tZW50LmRlZmF1bHRGb3JtYXQgPSAnREQgTU1NIFlZWVkgSEg6bW0nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLWRvc3NpZXItZGV0YWlsLXRhYi1zdW1tYXJ5JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3N1bW1hcnkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zdW1tYXJ5LmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIERvc3NpZXJEZXRhaWxUYWJTdW1tYXJ5Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBAVmlld0NoaWxkKCd0YXNrRGV0YWlsJykgdGFza0RldGFpbDogVGFza0RldGFpbE1vZGFsQ29tcG9uZW50O1xuICBwdWJsaWMgcmVhZG9ubHkgZG9jdW1lbnREZWZpbml0aW9uTmFtZTogc3RyaW5nO1xuICBwdWJsaWMgZG9jdW1lbnQ6IERvY3VtZW50O1xuICBwdWJsaWMgZG9jdW1lbnRJZDogc3RyaW5nO1xuICBwdWJsaWMgcHJvY2Vzc0RvY3VtZW50SW5zdGFuY2VzOiBQcm9jZXNzRG9jdW1lbnRJbnN0YW5jZVtdID0gW107XG4gIHByaXZhdGUgc25hcHNob3Q6IFBhcmFtTWFwO1xuICBwdWJsaWMgdGFza3M6IFByb2Nlc3NJbnN0YW5jZVRhc2tbXSA9IFtdO1xuICBwdWJsaWMgbW9tZW50O1xuICBwdWJsaWMgZm9ybURlZmluaXRpb246IEZvcm1pb0Zvcm0gPSBudWxsO1xuICBwdWJsaWMgb3B0aW9uczogVmFsdGltb0Zvcm1pb09wdGlvbnM7XG4gIHB1YmxpYyByb2xlczogc3RyaW5nW10gPSBbXTtcbiAgcHVibGljIHJlYWRvbmx5IGxvYWRpbmdUYXNrcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xuICBwcml2YXRlIF9zdWJzY3JpcHRpb25zID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudFNlcnZpY2U6IERvY3VtZW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRhc2tTZXJ2aWNlOiBUYXNrU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHByb2Nlc3NTZXJ2aWNlOiBQcm9jZXNzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvcm1TZXJ2aWNlOiBGb3JtU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHVzZXJQcm92aWRlclNlcnZpY2U6IFVzZXJQcm92aWRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwZXJtaXNzaW9uU2VydmljZTogUGVybWlzc2lvblNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5zbmFwc2hvdCA9IHRoaXMucm91dGUuc25hcHNob3QucGFyYW1NYXA7XG4gICAgdGhpcy5kb2N1bWVudERlZmluaXRpb25OYW1lID0gdGhpcy5zbmFwc2hvdC5nZXQoJ2RvY3VtZW50RGVmaW5pdGlvbk5hbWUnKSB8fCAnJztcbiAgICB0aGlzLmRvY3VtZW50SWQgPSB0aGlzLnNuYXBzaG90LmdldCgnZG9jdW1lbnRJZCcpIHx8ICcnO1xuICAgIHRoaXMub3B0aW9ucyA9IG5ldyBGb3JtaW9PcHRpb25zSW1wbCgpO1xuICAgIHRoaXMub3B0aW9ucy5kaXNhYmxlQWxlcnRzID0gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm1vbWVudCA9IG1vbWVudDtcbiAgICB0aGlzLmluaXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XG4gIH1cbiAgcHVibGljIGluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICB0aGlzLmRvY3VtZW50U2VydmljZS5nZXREb2N1bWVudCh0aGlzLmRvY3VtZW50SWQpLnN1YnNjcmliZShkb2N1bWVudCA9PiB7XG4gICAgICAgIHRoaXMuZG9jdW1lbnQgPSBkb2N1bWVudDtcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgdGhpcy5mb3JtU2VydmljZVxuICAgICAgICAuZ2V0Rm9ybURlZmluaXRpb25CeU5hbWVQcmVGaWxsZWQoYCR7dGhpcy5kb2N1bWVudERlZmluaXRpb25OYW1lfS5zdW1tYXJ5YCwgdGhpcy5kb2N1bWVudElkKVxuICAgICAgICAuc3Vic2NyaWJlKGZvcm1EZWZpbml0aW9uID0+IHtcbiAgICAgICAgICB0aGlzLmZvcm1EZWZpbml0aW9uID0gZm9ybURlZmluaXRpb247XG4gICAgICAgIH0pXG4gICAgKTtcblxuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgdGhpcy51c2VyUHJvdmlkZXJTZXJ2aWNlLmdldFVzZXJTdWJqZWN0KCkuc3Vic2NyaWJlKHVzZXIgPT4ge1xuICAgICAgICB0aGlzLnJvbGVzID0gdXNlci5yb2xlcztcbiAgICAgICAgdGhpcy50YXNrcyA9IFtdO1xuICAgICAgICB0aGlzLmxvYWRQcm9jZXNzRG9jdW1lbnRJbnN0YW5jZXModGhpcy5kb2N1bWVudElkKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBsb2FkUHJvY2Vzc0RvY3VtZW50SW5zdGFuY2VzKGRvY3VtZW50SWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgdGhpcy5kb2N1bWVudFNlcnZpY2VcbiAgICAgICAgLmZpbmRQcm9jZXNzRG9jdW1lbnRJbnN0YW5jZXMoZG9jdW1lbnRJZClcbiAgICAgICAgLnN1YnNjcmliZShwcm9jZXNzRG9jdW1lbnRJbnN0YW5jZXMgPT4ge1xuICAgICAgICAgIHRoaXMucHJvY2Vzc0RvY3VtZW50SW5zdGFuY2VzID0gcHJvY2Vzc0RvY3VtZW50SW5zdGFuY2VzO1xuICAgICAgICAgIHRoaXMucHJvY2Vzc0RvY3VtZW50SW5zdGFuY2VzLmZvckVhY2goaW5zdGFuY2UgPT4ge1xuICAgICAgICAgICAgdGhpcy5sb2FkUHJvY2Vzc0luc3RhbmNlVGFza3MoaW5zdGFuY2UuaWQucHJvY2Vzc0luc3RhbmNlSWQpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgcm93VGFza0NsaWNrKHRhc2s6IGFueSk6IHZvaWQge1xuICAgIHRoaXMudGFza0RldGFpbC5vcGVuVGFza0RldGFpbHModGFzayk7XG4gIH1cblxuICBwcml2YXRlIGxvYWRQcm9jZXNzSW5zdGFuY2VUYXNrcyhwcm9jZXNzSW5zdGFuY2VJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICB0aGlzLnByb2Nlc3NTZXJ2aWNlXG4gICAgICAgIC5nZXRQcm9jZXNzSW5zdGFuY2VUYXNrcyhwcm9jZXNzSW5zdGFuY2VJZClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgc3dpdGNoTWFwKHRhc2tzID0+XG4gICAgICAgICAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICAgICAgb2YodGFza3MpLFxuICAgICAgICAgICAgICAuLi50YXNrcy5tYXAodGFzayA9PlxuICAgICAgICAgICAgICAgIHRoaXMucGVybWlzc2lvblNlcnZpY2UucmVxdWVzdFBlcm1pc3Npb24oQ0FOX1ZJRVdfVEFTS19QRVJNSVNTSU9OLCB7XG4gICAgICAgICAgICAgICAgICByZXNvdXJjZTogVEFTS19ERVRBSUxfUEVSTUlTU0lPTl9SRVNPVVJDRS50YXNrLFxuICAgICAgICAgICAgICAgICAgaWRlbnRpZmllcjogdGFzay5pZCxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgXSlcbiAgICAgICAgICApLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5sb2FkaW5nVGFza3MkLm5leHQoZmFsc2UpO1xuICAgICAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICAgIGNvbnN0IHRhc2tzID0gcmVzWzBdO1xuICAgICAgICAgIGNvbnN0IHBlcm1pc3Npb25zID0gcmVzLmZpbHRlcigoXywgaW5kZXgpID0+IGluZGV4ICE9PSAwKTtcblxuICAgICAgICAgIGlmICh0YXNrcyAhPSBudWxsKSB7XG4gICAgICAgICAgICB0YXNrcy5mb3JFYWNoKCh0YXNrLCB0YXNrSW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgdGFzay5jcmVhdGVkVW5peCA9IHRoaXMubW9tZW50KHRhc2suY3JlYXRlZCkudW5peCgpO1xuICAgICAgICAgICAgICB0YXNrLmNyZWF0ZWQgPSB0aGlzLm1vbWVudCh0YXNrLmNyZWF0ZWQpLmZvcm1hdCgnREQgTU1NIFlZWVkgSEg6bW0nKTtcbiAgICAgICAgICAgICAgdGFzay5pc0xvY2tlZCA9ICFwZXJtaXNzaW9uc1t0YXNrSW5kZXhdO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLnRhc2tzID0gdGhpcy50YXNrcy5jb25jYXQodGFza3MpO1xuICAgICAgICAgICAgdGhpcy50YXNrcy5zb3J0KCh0MSwgdDIpID0+IHQyLmNyZWF0ZWRVbml4IC0gdDEuY3JlYXRlZFVuaXgpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMubG9hZGluZ1Rhc2tzJC5uZXh0KGZhbHNlKTtcbiAgICAgICAgfSlcbiAgICApO1xuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyMyBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjxkaXYgY2xhc3M9XCJjb250YWluZXItZmx1aWRcIiAqbmdJZj1cIntsb2FkaW5nVGFza3M6IGxvYWRpbmdUYXNrcyQgfCBhc3luY30gYXMgb2JzXCI+XG4gIDxkaXYgY2xhc3M9XCJyb3cgcHktNFwiPlxuICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTIgY29sLW1kLTggY29sLXhsLTlcIj5cbiAgICAgIDxkaXYgKm5nSWY9XCJkb2N1bWVudFwiPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiZm9ybURlZmluaXRpb25cIiBjbGFzcz1cInN1bW1hcnlGb3JtXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTRcIj5cbiAgICAgICAgICAgIDx2YWx0aW1vLWZvcm0taW8gW2Zvcm1dPVwiZm9ybURlZmluaXRpb25cIiBbb3B0aW9uc109XCJvcHRpb25zXCI+PC92YWx0aW1vLWZvcm0taW8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8IS0tQ3VycmVudCB1c2VyIHRhc2tzIHJpZ2h0IHNpZGUtLT5cbiAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC00IGNvbC14bC0zXCI+XG4gICAgICA8aDQgY2xhc3M9XCJ1c2VyLXRhc2tzLXRpdGxlXCI+e3sgJ3N1bW1hcnkudXNlclRhc2tzJyB8IHRyYW5zbGF0ZSB9fTwvaDQ+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIW9icy5sb2FkaW5nVGFza3M7IGVsc2UgbG9hZGluZ1Rhc2tzVGVtcGxhdGVcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIih0YXNrcyB8IGlzQXJyYXk6IDEpID09PSBmYWxzZVwiPlxuICAgICAgICAgIDx2YWx0aW1vLXdpZGdldD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLTNcIj5cbiAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImZsb2F0LWxlZnRcIiBzcmM9XCJhc3NldHMvYXVkaXQtMi5wbmdcIiBoZWlnaHQ9XCIyNVwiIC8+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmxvYXQtcmlnaHRcIj57eyAnc3VtbWFyeS51c2VyVGFza3NEb25lU3RhdGUnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2xlYXJmaXhcIj48L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvdmFsdGltby13aWRnZXQ+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0YXNrcyB8IGlzQXJyYXk6IDFcIj5cbiAgICAgICAgICA8dmFsdGltby13aWRnZXQgKm5nRm9yPVwibGV0IHRhc2sgb2YgdGFza3NcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgKm5nSWY9XCIhdGFzay5pc0xvY2tlZFwiXG4gICAgICAgICAgICAgIGNsYXNzPVwicC0zIGNsaWNrYWJsZSBob3ZlcmFibGVcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwicm93VGFza0NsaWNrKHRhc2spXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmbG9hdC1yaWdodCBiYWRnZSBiYWRnZS1waWxsIGJhZGdlLXByaW1hcnlcIj57e1xuICAgICAgICAgICAgICAgICdzdW1tYXJ5LnRhc2tPcGVuJyB8IHRyYW5zbGF0ZVxuICAgICAgICAgICAgICB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPHN0cm9uZz57eyB0YXNrLm5hbWUgfX08L3N0cm9uZz5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTFcIj57eyAnc3VtbWFyeS50YXNrQ3JlYXRlZCcgfCB0cmFuc2xhdGUgfX0ge3sgdGFzay5jcmVhdGVkIH19PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLTMgaG92ZXJhYmxlXCIgKm5nSWY9XCJ0YXNrLmlzTG9ja2VkXCI+XG4gICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmbG9hdC1yaWdodCBiYWRnZSBiYWRnZS1waWxsIGJhZGdlLXNlY29uZGFyeSBiZy1ncmV5XCJcbiAgICAgICAgICAgICAgICBuZ2JUb29sdGlwPVwie3sgJ3N1bW1hcnkudGFza0xvY2tlZCcgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uIG1kaSBtZGktbG9ja1wiPjwvaT5cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8c3Ryb25nPnt7IHRhc2submFtZSB9fTwvc3Ryb25nPlxuICAgICAgICAgICAgICA8ZGl2Pnt7ICdzdW1tYXJ5LnRhc2tDcmVhdGVkJyB8IHRyYW5zbGF0ZSB9fSB7eyB0YXNrLmNyZWF0ZWQgfX08L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvdmFsdGltby13aWRnZXQ+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDx2YWx0aW1vLXRhc2stZGV0YWlsLW1vZGFsXG4gICAgICAgICN0YXNrRGV0YWlsXG4gICAgICAgIChmb3JtU3VibWl0KT1cImluaXQoKVwiXG4gICAgICAgIChhc3NpZ25tZW50T2ZUYXNrQ2hhbmdlZCk9XCJpbml0KClcIlxuICAgICAgPjwvdmFsdGltby10YXNrLWRldGFpbC1tb2RhbD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNsb2FkaW5nVGFza3NUZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz1cImxvYWRpbmctY29udGFpbmVyXCI+XG4gICAgPGNkcy1sb2FkaW5nIHNpemU9XCJzbVwiPjwvY2RzLWxvYWRpbmc+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2015-2023 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 { BehaviorSubject, combineLatest, map, of, switchMap } from 'rxjs';
|
|
18
|
+
import { take } from 'rxjs/operators';
|
|
19
|
+
import * as i0 from "@angular/core";
|
|
20
|
+
import * as i1 from "@angular/router";
|
|
21
|
+
import * as i2 from "../../../../services/zaakobjecten.service";
|
|
22
|
+
import * as i3 from "@valtimo/components";
|
|
23
|
+
import * as i4 from "@angular/common";
|
|
24
|
+
import * as i5 from "@ngx-translate/core";
|
|
25
|
+
export class DossierDetailTabZaakobjectenComponent {
|
|
26
|
+
constructor(route, zaakobjectenService, modalService) {
|
|
27
|
+
this.route = route;
|
|
28
|
+
this.zaakobjectenService = zaakobjectenService;
|
|
29
|
+
this.modalService = modalService;
|
|
30
|
+
this.documentId$ = this.route.params.pipe(map(params => params.documentId));
|
|
31
|
+
this.objecttypes$ = this.documentId$.pipe(switchMap(documentId => this.zaakobjectenService.getDocumentObjectTypes(documentId)));
|
|
32
|
+
this.objecttypeSelectItems$ = this.objecttypes$.pipe(map(objecttypes => objecttypes.map(type => ({ id: type.url, text: type.name || '-' }))));
|
|
33
|
+
this.selectedObjecttypeUrl$ = new BehaviorSubject(null);
|
|
34
|
+
this.objects$ = combineLatest([
|
|
35
|
+
this.documentId$,
|
|
36
|
+
this.selectedObjecttypeUrl$,
|
|
37
|
+
]).pipe(switchMap(([documentId, selectedObjecttypeUrl]) => documentId && selectedObjecttypeUrl
|
|
38
|
+
? this.zaakobjectenService
|
|
39
|
+
.getDocumentObjectsOfType(documentId, selectedObjecttypeUrl)
|
|
40
|
+
.pipe(map(objects => objects.map(object => ({ ...object, title: object.title || '-' }))))
|
|
41
|
+
: of(null)));
|
|
42
|
+
this.columns$ = new BehaviorSubject([
|
|
43
|
+
{
|
|
44
|
+
labelTranslationKey: 'dossier.zaakobjecten.index',
|
|
45
|
+
dataKey: 'index',
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
labelTranslationKey: 'dossier.zaakobjecten.registrationAt',
|
|
49
|
+
dataKey: 'registrationAt',
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
labelTranslationKey: 'dossier.zaakobjecten.title',
|
|
53
|
+
dataKey: 'title',
|
|
54
|
+
},
|
|
55
|
+
]);
|
|
56
|
+
this.objectForm$ = new BehaviorSubject(null);
|
|
57
|
+
this.objectName$ = new BehaviorSubject('');
|
|
58
|
+
this.noFormDefinitionComponent$ = new BehaviorSubject(false);
|
|
59
|
+
}
|
|
60
|
+
selectObjectType(objectTypeUrl) {
|
|
61
|
+
this.selectedObjecttypeUrl$.next(objectTypeUrl);
|
|
62
|
+
}
|
|
63
|
+
rowClicked(object, objectTypeSelectItems) {
|
|
64
|
+
this.documentId$.pipe(take(1)).subscribe(documentId => {
|
|
65
|
+
this.zaakobjectenService.getObjectTypeForm(documentId, object.url).subscribe(res => {
|
|
66
|
+
const definition = res.formDefinition;
|
|
67
|
+
definition.components = definition.components.map(component => ({
|
|
68
|
+
...component,
|
|
69
|
+
disabled: true,
|
|
70
|
+
}));
|
|
71
|
+
this.setModalData(objectTypeSelectItems, definition);
|
|
72
|
+
}, () => {
|
|
73
|
+
this.setModalData(objectTypeSelectItems);
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
hide() {
|
|
78
|
+
this.modalService.closeModal(() => {
|
|
79
|
+
this.objectName$.next('');
|
|
80
|
+
this.objectForm$.next(null);
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
show() {
|
|
84
|
+
this.modalService.openModal(this.viewZaakobjectModal);
|
|
85
|
+
}
|
|
86
|
+
getObjectTypeName(objectTypeSelectItems) {
|
|
87
|
+
const selectedObjectTypeUrl = this.selectedObjecttypeUrl$.getValue();
|
|
88
|
+
const currentTypeSelectItem = objectTypeSelectItems.find(selectItem => selectItem.id === selectedObjectTypeUrl);
|
|
89
|
+
return currentTypeSelectItem.text;
|
|
90
|
+
}
|
|
91
|
+
setModalData(objectTypeSelectItems, definition) {
|
|
92
|
+
if (definition) {
|
|
93
|
+
this.objectForm$.next(definition);
|
|
94
|
+
this.noFormDefinitionComponent$.next(false);
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
this.noFormDefinitionComponent$.next(true);
|
|
98
|
+
}
|
|
99
|
+
this.objectName$.next(this.getObjectTypeName(objectTypeSelectItems));
|
|
100
|
+
this.show();
|
|
101
|
+
}
|
|
102
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierDetailTabZaakobjectenComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.ZaakobjectenService }, { token: i3.ModalService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
103
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DossierDetailTabZaakobjectenComponent, selector: "valtimo-dossier-detail-tab-zaakobjecten", viewQueries: [{ propertyName: "viewZaakobjectModal", first: true, predicate: ["viewZaakobjectModal"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2023 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<ng-container\n *ngIf=\"{\n objecttypeSelectItems: objecttypeSelectItems$ | async,\n objects: objects$ | async,\n columns: columns$ | async,\n selectedObjectTypeUrl: selectedObjecttypeUrl$ | async\n } as obs\"\n>\n <v-select\n [items]=\"obs.objecttypeSelectItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"objecttypes\"\n [title]=\"'dossier.zaakobjecten.objecttype' | translate\"\n [placeholder]=\"'dossier.zaakobjecten.objecttypePlaceholder' | translate\"\n [loading]=\"!obs.objecttypeSelectItems\"\n (selectedChange)=\"selectObjectType($event)\"\n ></v-select>\n <v-input-label\n titleTranslationKey=\"dossier.zaakobjecten.objecten\"\n [largeMargin]=\"!!obs.selectedObjectTypeUrl\"\n ></v-input-label>\n <v-paragraph *ngIf=\"!obs.selectedObjectTypeUrl\">{{\n 'dossier.zaakobjecten.objectenPlaceholder' | translate\n }}</v-paragraph>\n <v-table\n *ngIf=\"obs.selectedObjectTypeUrl\"\n [loading]=\"!obs.objects\"\n [items]=\"obs.objects\"\n [columns]=\"obs.columns\"\n [showEditButtons]=\"true\"\n [amountOfLoadingRows]=\"2\"\n [itemsTranslationKey]=\"'pluginManagement.tableItemsText'\"\n [showPagination]=\"false\"\n editButtonTranslationKey=\"dossier.zaakobjecten.objectType.viewObject\"\n (editButtonClicked)=\"rowClicked($event, obs.objecttypeSelectItems)\"\n ></v-table>\n</ng-container>\n\n<v-modal #viewZaakobjectModal (closeEvent)=\"hide()\" [hideFooter]=\"true\" [maxWidthPx]=\"750\">\n <div role=\"header\">\n <v-title [margin]=\"false\" type=\"h2\" [fullWidth]=\"true\" [center]=\"true\">{{\n objectName$ | async\n }}</v-title>\n </div>\n\n <div role=\"content\">\n <valtimo-form-io\n *ngIf=\"(noFormDefinitionComponent$ | async) === false\"\n [form]=\"objectForm$ | async\"\n ></valtimo-form-io>\n <v-paragraph *ngIf=\"noFormDefinitionComponent$ | async\" [center]=\"true\">{{\n 'dossier.zaakobjecten.noFormDefinitionComponent' | translate\n }}</v-paragraph>\n </div>\n</v-modal>\n", styles: ["/*!\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.FormioComponent, selector: "valtimo-form-io", inputs: ["form", "options", "submission", "readOnly", "formRefresh$"], outputs: ["submit", "change"] }, { kind: "component", type: i3.SelectComponent, selector: "v-select", inputs: ["items", "defaultSelection", "defaultSelectionId", "defaultSelectionIds", "disabled", "multiple", "margin", "widthInPx", "notFoundText", "clearAllText", "clearText", "name", "title", "titleTranslationKey", "clearSelectionSubject$", "tooltip", "required", "loading", "loadingText", "placeholder", "smallMargin", "carbonTheme"], outputs: ["selectedChange"] }, { kind: "component", type: i3.InputLabelComponent, selector: "v-input-label", inputs: ["name", "tooltip", "largeMargin", "small", "title", "titleTranslationKey", "required", "disabled", "carbonTheme"] }, { kind: "component", type: i3.ParagraphComponent, selector: "v-paragraph", inputs: ["center", "fullWidth", "margin", "italic", "loading"] }, { kind: "component", type: i3.TableComponent, selector: "v-table", inputs: ["items", "columns", "loading", "showEditButtons", "showPagination", "editButtonTranslationKey", "itemsTranslationKey", "noResultsTranslationKey", "mobileBreakpointPx", "amountOfLoadingRows", "collectionSize", "page", "size"], outputs: ["editButtonClicked", "paginationSizeSet", "paginationPageSet"] }, { kind: "component", type: i3.VModalComponent, selector: "v-modal", inputs: ["appearingDelayMs", "maxWidthPx", "hideFooter"], outputs: ["closeEvent"] }, { kind: "component", type: i3.TitleComponent, selector: "v-title", inputs: ["type", "margin", "fullWidth", "center"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] }); }
|
|
104
|
+
}
|
|
105
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierDetailTabZaakobjectenComponent, decorators: [{
|
|
106
|
+
type: Component,
|
|
107
|
+
args: [{ selector: 'valtimo-dossier-detail-tab-zaakobjecten', template: "<!--\n ~ Copyright 2015-2023 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<ng-container\n *ngIf=\"{\n objecttypeSelectItems: objecttypeSelectItems$ | async,\n objects: objects$ | async,\n columns: columns$ | async,\n selectedObjectTypeUrl: selectedObjecttypeUrl$ | async\n } as obs\"\n>\n <v-select\n [items]=\"obs.objecttypeSelectItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"objecttypes\"\n [title]=\"'dossier.zaakobjecten.objecttype' | translate\"\n [placeholder]=\"'dossier.zaakobjecten.objecttypePlaceholder' | translate\"\n [loading]=\"!obs.objecttypeSelectItems\"\n (selectedChange)=\"selectObjectType($event)\"\n ></v-select>\n <v-input-label\n titleTranslationKey=\"dossier.zaakobjecten.objecten\"\n [largeMargin]=\"!!obs.selectedObjectTypeUrl\"\n ></v-input-label>\n <v-paragraph *ngIf=\"!obs.selectedObjectTypeUrl\">{{\n 'dossier.zaakobjecten.objectenPlaceholder' | translate\n }}</v-paragraph>\n <v-table\n *ngIf=\"obs.selectedObjectTypeUrl\"\n [loading]=\"!obs.objects\"\n [items]=\"obs.objects\"\n [columns]=\"obs.columns\"\n [showEditButtons]=\"true\"\n [amountOfLoadingRows]=\"2\"\n [itemsTranslationKey]=\"'pluginManagement.tableItemsText'\"\n [showPagination]=\"false\"\n editButtonTranslationKey=\"dossier.zaakobjecten.objectType.viewObject\"\n (editButtonClicked)=\"rowClicked($event, obs.objecttypeSelectItems)\"\n ></v-table>\n</ng-container>\n\n<v-modal #viewZaakobjectModal (closeEvent)=\"hide()\" [hideFooter]=\"true\" [maxWidthPx]=\"750\">\n <div role=\"header\">\n <v-title [margin]=\"false\" type=\"h2\" [fullWidth]=\"true\" [center]=\"true\">{{\n objectName$ | async\n }}</v-title>\n </div>\n\n <div role=\"content\">\n <valtimo-form-io\n *ngIf=\"(noFormDefinitionComponent$ | async) === false\"\n [form]=\"objectForm$ | async\"\n ></valtimo-form-io>\n <v-paragraph *ngIf=\"noFormDefinitionComponent$ | async\" [center]=\"true\">{{\n 'dossier.zaakobjecten.noFormDefinitionComponent' | translate\n }}</v-paragraph>\n </div>\n</v-modal>\n", styles: ["/*!\n * Copyright 2015-2023 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"] }]
|
|
108
|
+
}], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i2.ZaakobjectenService }, { type: i3.ModalService }]; }, propDecorators: { viewZaakobjectModal: [{
|
|
109
|
+
type: ViewChild,
|
|
110
|
+
args: ['viewZaakobjectModal']
|
|
111
|
+
}] } });
|
|
112
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemFha29iamVjdGVuLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZG9zc2llci9zcmMvbGliL2NvbXBvbmVudHMvZG9zc2llci1kZXRhaWwvdGFiL3phYWtvYmplY3Rlbi96YWFrb2JqZWN0ZW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyL3NyYy9saWIvY29tcG9uZW50cy9kb3NzaWVyLWRldGFpbC90YWIvemFha29iamVjdGVuL3phYWtvYmplY3Rlbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxTQUFTLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBR25ELE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsU0FBUyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBR3BGLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7OztBQVFwQyxNQUFNLE9BQU8scUNBQXFDO0lBaURoRCxZQUNtQixLQUFxQixFQUNyQixtQkFBd0MsRUFDeEMsWUFBMEI7UUFGMUIsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQWpENUIsZ0JBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFFdkUsaUJBQVksR0FBc0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQ3RGLFNBQVMsQ0FBQyxVQUFV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QUNkLENBQUM7K0dBN0dVLHFDQUFxQzttR0FBckMscUNBQXFDLDJNQzlCbEQsaW9GQXdFQTs7NEZEMUNhLHFDQUFxQztrQkFMakQsU0FBUzsrQkFDRSx5Q0FBeUM7a0tBS2pCLG1CQUFtQjtzQkFBcEQsU0FBUzt1QkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMyBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge0NvbXBvbmVudCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1phYWtvYmplY3RlblNlcnZpY2V9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL3phYWtvYmplY3Rlbi5zZXJ2aWNlJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBtYXAsIE9ic2VydmFibGUsIG9mLCBzd2l0Y2hNYXB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtaYWFrT2JqZWN0LCBaYWFrT2JqZWN0VHlwZX0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7Vk1vZGFsQ29tcG9uZW50LCBNb2RhbFNlcnZpY2UsIFNlbGVjdEl0ZW0sIFRhYmxlQ29sdW1ufSBmcm9tICdAdmFsdGltby9jb21wb25lbnRzJztcbmltcG9ydCB7dGFrZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtGb3JtaW9Gb3JtfSBmcm9tICdAZm9ybWlvL2FuZ3VsYXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLWRvc3NpZXItZGV0YWlsLXRhYi16YWFrb2JqZWN0ZW4nLFxuICB0ZW1wbGF0ZVVybDogJy4vemFha29iamVjdGVuLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vemFha29iamVjdGVuLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIERvc3NpZXJEZXRhaWxUYWJaYWFrb2JqZWN0ZW5Db21wb25lbnQge1xuICBAVmlld0NoaWxkKCd2aWV3WmFha29iamVjdE1vZGFsJykgdmlld1phYWtvYmplY3RNb2RhbDogVk1vZGFsQ29tcG9uZW50O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnRJZCQgPSB0aGlzLnJvdXRlLnBhcmFtcy5waXBlKG1hcChwYXJhbXMgPT4gcGFyYW1zLmRvY3VtZW50SWQpKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IG9iamVjdHR5cGVzJDogT2JzZXJ2YWJsZTxBcnJheTxaYWFrT2JqZWN0VHlwZT4+ID0gdGhpcy5kb2N1bWVudElkJC5waXBlKFxuICAgIHN3aXRjaE1hcChkb2N1bWVudElkID0+IHRoaXMuemFha29iamVjdGVuU2VydmljZS5nZXREb2N1bWVudE9iamVjdFR5cGVzKGRvY3VtZW50SWQpKVxuICApO1xuXG4gIHJlYWRvbmx5IG9iamVjdHR5cGVTZWxlY3RJdGVtcyQ6IE9ic2VydmFibGU8QXJyYXk8U2VsZWN0SXRlbT4+ID0gdGhpcy5vYmplY3R0eXBlcyQucGlwZShcbiAgICBtYXAob2JqZWN0dHlwZXMgPT4gb2JqZWN0dHlwZXMubWFwKHR5cGUgPT4gKHtpZDogdHlwZS51cmwsIHRleHQ6IHR5cGUubmFtZSB8fCAnLSd9KSkpXG4gICk7XG5cbiAgcmVhZG9ubHkgc2VsZWN0ZWRPYmplY3R0eXBlVXJsJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG5cbiAgcmVhZG9ubHkgb2JqZWN0cyQ6IE9ic2VydmFibGU8QXJyYXk8WmFha09iamVjdD4gfCBudWxsPiA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMuZG9jdW1lbnRJZCQsXG4gICAgdGhpcy5zZWxlY3RlZE9iamVjdHR5cGVVcmwkLFxuICBdKS5waXBlKFxuICAgIHN3aXRjaE1hcCgoW2RvY3VtZW50SWQsIHNlbGVjdGVkT2JqZWN0dHlwZVVybF0pID0+XG4gICAgICBkb2N1bWVudElkICYmIHNlbGVjdGVkT2JqZWN0dHlwZVVybFxuICAgICAgICA/IHRoaXMuemFha29iamVjdGVuU2VydmljZVxuICAgICAgICAgICAgLmdldERvY3VtZW50T2JqZWN0c09mVHlwZShkb2N1bWVudElkLCBzZWxlY3RlZE9iamVjdHR5cGVVcmwpXG4gICAgICAgICAgICAucGlwZShtYXAob2JqZWN0cyA9PiBvYmplY3RzLm1hcChvYmplY3QgPT4gKHsuLi5vYmplY3QsIHRpdGxlOiBvYmplY3QudGl0bGUgfHwgJy0nfSkpKSlcbiAgICAgICAgOiBvZihudWxsKVxuICAgIClcbiAgKTtcblxuICByZWFkb25seSBjb2x1bW5zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXJyYXk8VGFibGVDb2x1bW4+PihbXG4gICAge1xuICAgICAgbGFiZWxUcmFuc2xhdGlvbktleTogJ2Rvc3NpZXIuemFha29iamVjdGVuLmluZGV4JyxcbiAgICAgIGRhdGFLZXk6ICdpbmRleCcsXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbFRyYW5zbGF0aW9uS2V5OiAnZG9zc2llci56YWFrb2JqZWN0ZW4ucmVnaXN0cmF0aW9uQXQnLFxuICAgICAgZGF0YUtleTogJ3JlZ2lzdHJhdGlvbkF0JyxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsVHJhbnNsYXRpb25LZXk6ICdkb3NzaWVyLnphYWtvYmplY3Rlbi50aXRsZScsXG4gICAgICBkYXRhS2V5OiAndGl0bGUnLFxuICAgIH0sXG4gIF0pO1xuXG4gIHJlYWRvbmx5IG9iamVjdEZvcm0kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxGb3JtaW9Gb3JtIHwgbnVsbD4obnVsbCk7XG5cbiAgcmVhZG9ubHkgb2JqZWN0TmFtZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuXG4gIHJlYWRvbmx5IG5vRm9ybURlZmluaXRpb25Db21wb25lbnQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSByZWFkb25seSB6YWFrb2JqZWN0ZW5TZXJ2aWNlOiBaYWFrb2JqZWN0ZW5TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbW9kYWxTZXJ2aWNlOiBNb2RhbFNlcnZpY2VcbiAgKSB7fVxuXG4gIHNlbGVjdE9iamVjdFR5cGUob2JqZWN0VHlwZVVybDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZE9iamVjdHR5cGVVcmwkLm5leHQob2JqZWN0VHlwZVVybCk7XG4gIH1cblxuICByb3dDbGlja2VkKG9iamVjdDogWmFha09iamVjdCwgb2JqZWN0VHlwZVNlbGVjdEl0ZW1zOiBBcnJheTxTZWxlY3RJdGVtPik6IHZvaWQge1xuICAgIHRoaXMuZG9jdW1lbnRJZCQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoZG9jdW1lbnRJZCA9PiB7XG4gICAgICB0aGlzLnphYWtvYmplY3RlblNlcnZpY2UuZ2V0T2JqZWN0VHlwZUZvcm0oZG9jdW1lbnRJZCwgb2JqZWN0LnVybCkuc3Vic2NyaWJlKFxuICAgICAgICByZXMgPT4ge1xuICAgICAgICAgIGNvbnN0IGRlZmluaXRpb24gPSByZXMuZm9ybURlZmluaXRpb247XG5cbiAgICAgICAgICBkZWZpbml0aW9uLmNvbXBvbmVudHMgPSBkZWZpbml0aW9uLmNvbXBvbmVudHMubWFwKGNvbXBvbmVudCA9PiAoe1xuICAgICAgICAgICAgLi4uY29tcG9uZW50LFxuICAgICAgICAgICAgZGlzYWJsZWQ6IHRydWUsXG4gICAgICAgICAgfSkpO1xuXG4gICAgICAgICAgdGhpcy5zZXRNb2RhbERhdGEob2JqZWN0VHlwZVNlbGVjdEl0ZW1zLCBkZWZpbml0aW9uKTtcbiAgICAgICAgfSxcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHRoaXMuc2V0TW9kYWxEYXRhKG9iamVjdFR5cGVTZWxlY3RJdGVtcyk7XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfSk7XG4gIH1cblxuICBoaWRlKCk6IHZvaWQge1xuICAgIHRoaXMubW9kYWxTZXJ2aWNlLmNsb3NlTW9kYWwoKCkgPT4ge1xuICAgICAgdGhpcy5vYmplY3ROYW1lJC5uZXh0KCcnKTtcbiAgICAgIHRoaXMub2JqZWN0Rm9ybSQubmV4dChudWxsKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc2hvdygpOiB2b2lkIHtcbiAgICB0aGlzLm1vZGFsU2VydmljZS5vcGVuTW9kYWwodGhpcy52aWV3WmFha29iamVjdE1vZGFsKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0T2JqZWN0VHlwZU5hbWUob2JqZWN0VHlwZVNlbGVjdEl0ZW1zOiBBcnJheTxTZWxlY3RJdGVtPik6IHN0cmluZyB7XG4gICAgY29uc3Qgc2VsZWN0ZWRPYmplY3RUeXBlVXJsID0gdGhpcy5zZWxlY3RlZE9iamVjdHR5cGVVcmwkLmdldFZhbHVlKCk7XG4gICAgY29uc3QgY3VycmVudFR5cGVTZWxlY3RJdGVtID0gb2JqZWN0VHlwZVNlbGVjdEl0ZW1zLmZpbmQoXG4gICAgICBzZWxlY3RJdGVtID0+IHNlbGVjdEl0ZW0uaWQgPT09IHNlbGVjdGVkT2JqZWN0VHlwZVVybFxuICAgICk7XG5cbiAgICByZXR1cm4gY3VycmVudFR5cGVTZWxlY3RJdGVtLnRleHQ7XG4gIH1cblxuICBwcml2YXRlIHNldE1vZGFsRGF0YShvYmplY3RUeXBlU2VsZWN0SXRlbXM6IEFycmF5PFNlbGVjdEl0ZW0+LCBkZWZpbml0aW9uPzogRm9ybWlvRm9ybSk6IHZvaWQge1xuICAgIGlmIChkZWZpbml0aW9uKSB7XG4gICAgICB0aGlzLm9iamVjdEZvcm0kLm5leHQoZGVmaW5pdGlvbik7XG4gICAgICB0aGlzLm5vRm9ybURlZmluaXRpb25Db21wb25lbnQkLm5leHQoZmFsc2UpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm5vRm9ybURlZmluaXRpb25Db21wb25lbnQkLm5leHQodHJ1ZSk7XG4gICAgfVxuXG4gICAgdGhpcy5vYmplY3ROYW1lJC5uZXh0KHRoaXMuZ2V0T2JqZWN0VHlwZU5hbWUob2JqZWN0VHlwZVNlbGVjdEl0ZW1zKSk7XG4gICAgdGhpcy5zaG93KCk7XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDIzIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPG5nLWNvbnRhaW5lclxuICAqbmdJZj1cIntcbiAgICBvYmplY3R0eXBlU2VsZWN0SXRlbXM6IG9iamVjdHR5cGVTZWxlY3RJdGVtcyQgfCBhc3luYyxcbiAgICBvYmplY3RzOiBvYmplY3RzJCB8IGFzeW5jLFxuICAgIGNvbHVtbnM6IGNvbHVtbnMkIHwgYXN5bmMsXG4gICAgc2VsZWN0ZWRPYmplY3RUeXBlVXJsOiBzZWxlY3RlZE9iamVjdHR5cGVVcmwkIHwgYXN5bmNcbiAgfSBhcyBvYnNcIlxuPlxuICA8di1zZWxlY3RcbiAgICBbaXRlbXNdPVwib2JzLm9iamVjdHR5cGVTZWxlY3RJdGVtc1wiXG4gICAgW21hcmdpbl09XCJ0cnVlXCJcbiAgICBbd2lkdGhJblB4XT1cIjM1MFwiXG4gICAgbmFtZT1cIm9iamVjdHR5cGVzXCJcbiAgICBbdGl0bGVdPVwiJ2Rvc3NpZXIuemFha29iamVjdGVuLm9iamVjdHR5cGUnIHwgdHJhbnNsYXRlXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwiJ2Rvc3NpZXIuemFha29iamVjdGVuLm9iamVjdHR5cGVQbGFjZWhvbGRlcicgfCB0cmFuc2xhdGVcIlxuICAgIFtsb2FkaW5nXT1cIiFvYnMub2JqZWN0dHlwZVNlbGVjdEl0ZW1zXCJcbiAgICAoc2VsZWN0ZWRDaGFuZ2UpPVwic2VsZWN0T2JqZWN0VHlwZSgkZXZlbnQpXCJcbiAgPjwvdi1zZWxlY3Q+XG4gIDx2LWlucHV0LWxhYmVsXG4gICAgdGl0bGVUcmFuc2xhdGlvbktleT1cImRvc3NpZXIuemFha29iamVjdGVuLm9iamVjdGVuXCJcbiAgICBbbGFyZ2VNYXJnaW5dPVwiISFvYnMuc2VsZWN0ZWRPYmplY3RUeXBlVXJsXCJcbiAgPjwvdi1pbnB1dC1sYWJlbD5cbiAgPHYtcGFyYWdyYXBoICpuZ0lmPVwiIW9icy5zZWxlY3RlZE9iamVjdFR5cGVVcmxcIj57e1xuICAgICdkb3NzaWVyLnphYWtvYmplY3Rlbi5vYmplY3RlblBsYWNlaG9sZGVyJyB8IHRyYW5zbGF0ZVxuICB9fTwvdi1wYXJhZ3JhcGg+XG4gIDx2LXRhYmxlXG4gICAgKm5nSWY9XCJvYnMuc2VsZWN0ZWRPYmplY3RUeXBlVXJsXCJcbiAgICBbbG9hZGluZ109XCIhb2JzLm9iamVjdHNcIlxuICAgIFtpdGVtc109XCJvYnMub2JqZWN0c1wiXG4gICAgW2NvbHVtbnNdPVwib2JzLmNvbHVtbnNcIlxuICAgIFtzaG93RWRpdEJ1dHRvbnNdPVwidHJ1ZVwiXG4gICAgW2Ftb3VudE9mTG9hZGluZ1Jvd3NdPVwiMlwiXG4gICAgW2l0ZW1zVHJhbnNsYXRpb25LZXldPVwiJ3BsdWdpbk1hbmFnZW1lbnQudGFibGVJdGVtc1RleHQnXCJcbiAgICBbc2hvd1BhZ2luYXRpb25dPVwiZmFsc2VcIlxuICAgIGVkaXRCdXR0b25UcmFuc2xhdGlvbktleT1cImRvc3NpZXIuemFha29iamVjdGVuLm9iamVjdFR5cGUudmlld09iamVjdFwiXG4gICAgKGVkaXRCdXR0b25DbGlja2VkKT1cInJvd0NsaWNrZWQoJGV2ZW50LCBvYnMub2JqZWN0dHlwZVNlbGVjdEl0ZW1zKVwiXG4gID48L3YtdGFibGU+XG48L25nLWNvbnRhaW5lcj5cblxuPHYtbW9kYWwgI3ZpZXdaYWFrb2JqZWN0TW9kYWwgKGNsb3NlRXZlbnQpPVwiaGlkZSgpXCIgW2hpZGVGb290ZXJdPVwidHJ1ZVwiIFttYXhXaWR0aFB4XT1cIjc1MFwiPlxuICA8ZGl2IHJvbGU9XCJoZWFkZXJcIj5cbiAgICA8di10aXRsZSBbbWFyZ2luXT1cImZhbHNlXCIgdHlwZT1cImgyXCIgW2Z1bGxXaWR0aF09XCJ0cnVlXCIgW2NlbnRlcl09XCJ0cnVlXCI+e3tcbiAgICAgIG9iamVjdE5hbWUkIHwgYXN5bmNcbiAgICB9fTwvdi10aXRsZT5cbiAgPC9kaXY+XG5cbiAgPGRpdiByb2xlPVwiY29udGVudFwiPlxuICAgIDx2YWx0aW1vLWZvcm0taW9cbiAgICAgICpuZ0lmPVwiKG5vRm9ybURlZmluaXRpb25Db21wb25lbnQkIHwgYXN5bmMpID09PSBmYWxzZVwiXG4gICAgICBbZm9ybV09XCJvYmplY3RGb3JtJCB8IGFzeW5jXCJcbiAgICA+PC92YWx0aW1vLWZvcm0taW8+XG4gICAgPHYtcGFyYWdyYXBoICpuZ0lmPVwibm9Gb3JtRGVmaW5pdGlvbkNvbXBvbmVudCQgfCBhc3luY1wiIFtjZW50ZXJdPVwidHJ1ZVwiPnt7XG4gICAgICAnZG9zc2llci56YWFrb2JqZWN0ZW4ubm9Gb3JtRGVmaW5pdGlvbkNvbXBvbmVudCcgfCB0cmFuc2xhdGVcbiAgICB9fTwvdi1wYXJhZ3JhcGg+XG4gIDwvZGl2PlxuPC92LW1vZGFsPlxuIl19
|