@valtimo/dossier 11.0.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/{dossier-bulk-assign-modal → components/dossier-bulk-assign-modal}/dossier-bulk-assign-modal.component.mjs +2 -2
- 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/{dossier-detail → components/dossier-detail}/tab/contact-moments/contact-moments.component.mjs +1 -1
- package/esm2022/lib/components/dossier-detail/tab/documenten-api-documents/documenten-api-documents.component.mjs +146 -0
- package/esm2022/lib/{dossier-detail → components/dossier-detail}/tab/documents/documents.component.mjs +1 -1
- 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/{dossier-detail → components/dossier-detail}/tab/progress/progress.component.mjs +1 -1
- 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/{dossier-process-start-modal → components/dossier-process-start-modal}/dossier-process-start-modal.component.mjs +1 -2
- 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/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 +14 -4
- package/esm2022/lib/dossier.module.mjs +33 -27
- package/esm2022/lib/models/dossier-detail-tab.model.mjs +27 -0
- package/esm2022/lib/models/index.mjs +3 -1
- package/esm2022/lib/models/tab-api.model.mjs +23 -0
- package/esm2022/lib/models/tabs.model.mjs +32 -28
- package/esm2022/lib/permissions/dossier-detail.permissions.mjs +55 -0
- package/esm2022/lib/permissions/index.mjs +2 -2
- 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-list-pagination.service.mjs +2 -2
- 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/esm2022/lib/services/index.mjs +4 -2
- package/esm2022/public_api.mjs +13 -15
- package/fesm2022/valtimo-dossier.mjs +1321 -1023
- package/fesm2022/valtimo-dossier.mjs.map +1 -1
- package/lib/components/dossier-assign-user/dossier-assign-user.component.d.ts.map +1 -0
- package/lib/{dossier-bulk-assign-modal → components/dossier-bulk-assign-modal}/dossier-bulk-assign-modal.component.d.ts +1 -1
- 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 +10 -10
- package/lib/components/dossier-detail/dossier-detail.component.d.ts.map +1 -0
- package/lib/components/dossier-detail/tab/audit/audit.component.d.ts.map +1 -0
- 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 +1 -1
- package/lib/components/dossier-detail/tab/documenten-api-documents/documenten-api-documents.component.d.ts.map +1 -0
- 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 +3 -3
- 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 +2 -2
- package/lib/components/dossier-detail/tab/object-type/object-type.component.d.ts.map +1 -0
- 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 +1 -1
- package/lib/components/dossier-detail/tab/s3-documents/s3-documents.component.d.ts.map +1 -0
- 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 +2 -2
- package/lib/components/dossier-detail/tab/zaakobjecten/zaakobjecten.component.d.ts.map +1 -0
- package/lib/{dossier-list → components/dossier-list}/dossier-list.component.d.ts +1 -1
- 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 +1 -1
- package/lib/components/dossier-list-actions/dossier-list-actions.component.d.ts.map +1 -0
- package/lib/components/dossier-process-start-modal/dossier-process-start-modal.component.d.ts.map +1 -0
- 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 +1 -1
- package/lib/components/dossier-update/dossier-update.component.d.ts.map +1 -0
- 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 +33 -31
- package/lib/dossier.module.d.ts.map +1 -1
- 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/index.d.ts +2 -0
- package/lib/models/index.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.permissions.d.ts → dossier-detail.permissions.d.ts} +1 -1
- package/lib/permissions/dossier-detail.permissions.d.ts.map +1 -0
- package/lib/permissions/index.d.ts +1 -1
- package/lib/permissions/index.d.ts.map +1 -1
- 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-list-pagination.service.d.ts +1 -1
- package/lib/services/dossier-list-pagination.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} +1 -1
- package/lib/services/dossier.service.d.ts.map +1 -0
- package/lib/services/index.d.ts +3 -1
- package/lib/services/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/public_api.d.ts +12 -14
- package/public_api.d.ts.map +1 -1
- package/esm2022/lib/dossier-assign-user/dossier-assign-user.component.mjs +0 -98
- package/esm2022/lib/dossier-detail/dossier-detail.component.mjs +0 -175
- package/esm2022/lib/dossier-detail/tab/audit/audit.component.mjs +0 -76
- package/esm2022/lib/dossier-detail/tab/documenten-api-documents/documenten-api-documents.component.mjs +0 -146
- package/esm2022/lib/dossier-detail/tab/notes/notes.component.mjs +0 -166
- package/esm2022/lib/dossier-detail/tab/object-type/object-type.component.mjs +0 -121
- package/esm2022/lib/dossier-detail/tab/s3-documents/s3-documents.component.mjs +0 -136
- package/esm2022/lib/dossier-detail/tab/summary/summary.component.mjs +0 -130
- package/esm2022/lib/dossier-detail/tab/zaakobjecten/zaakobjecten.component.mjs +0 -112
- package/esm2022/lib/dossier-detail-tab-enum.mjs +0 -26
- package/esm2022/lib/dossier-list/dossier-list.component.mjs +0 -371
- package/esm2022/lib/dossier-list-actions/dossier-list-actions.component.mjs +0 -84
- package/esm2022/lib/dossier-supporting-process-start-modal/dossier-supporting-process-start-modal.component.mjs +0 -116
- package/esm2022/lib/dossier-update/dossier-update.component.mjs +0 -113
- package/esm2022/lib/dossier.config.mjs +0 -29
- package/esm2022/lib/dossier.service.mjs +0 -58
- package/esm2022/lib/permissions/dossier.permissions.mjs +0 -55
- package/esm2022/lib/tab.service.mjs +0 -80
- package/lib/dossier-assign-user/dossier-assign-user.component.d.ts.map +0 -1
- package/lib/dossier-bulk-assign-modal/dossier-bulk-assign-modal.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.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/permissions/dossier.permissions.d.ts.map +0 -1
- package/lib/tab.service.d.ts +0 -21
- package/lib/tab.service.d.ts.map +0 -1
- /package/lib/{dossier-assign-user → components/dossier-assign-user}/dossier-assign-user.component.d.ts +0 -0
- /package/lib/{dossier-detail → components/dossier-detail}/tab/audit/audit.component.d.ts +0 -0
- /package/lib/{dossier-detail → components/dossier-detail}/tab/contact-moments/contact-moments.component.d.ts +0 -0
- /package/lib/{dossier-detail → components/dossier-detail}/tab/documents/documents.component.d.ts +0 -0
- /package/lib/{dossier-detail → components/dossier-detail}/tab/progress/progress.component.d.ts +0 -0
- /package/lib/{dossier-detail → components/dossier-detail}/tab/summary/summary.component.d.ts +0 -0
- /package/lib/{dossier-process-start-modal → components/dossier-process-start-modal}/dossier-process-start-modal.component.d.ts +0 -0
- /package/lib/{dossier-supporting-process-start-modal → components/dossier-supporting-process-start-modal}/dossier-supporting-process-start-modal.component.d.ts +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Injectable,
|
|
3
|
-
import * as i5 from '@angular/forms';
|
|
2
|
+
import { Injectable, Component, ViewEncapsulation, ViewChild, EventEmitter, Output, Input, InjectionToken, ChangeDetectionStrategy, Inject, Optional, HostBinding, Pipe, ViewContainerRef, NgModule } from '@angular/core';
|
|
3
|
+
import * as i5$2 from '@angular/forms';
|
|
4
4
|
import { Validators, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
5
5
|
import { BehaviorSubject, take, map, distinctUntilChanged, combineLatest, Subject, switchMap, tap, filter, Subscription, of, from, startWith, forkJoin } from 'rxjs';
|
|
6
6
|
import * as i1 from '@valtimo/config';
|
|
@@ -12,34 +12,34 @@ import { AdvancedDocumentSearchRequestImpl } from '@valtimo/document';
|
|
|
12
12
|
import * as i6 from '@ngx-translate/core';
|
|
13
13
|
import { TranslateModule, TranslateLoader } from '@ngx-translate/core';
|
|
14
14
|
import * as i1$1 from '@angular/router';
|
|
15
|
-
import {
|
|
16
|
-
import * as
|
|
17
|
-
import * as i3 from '@
|
|
18
|
-
import { CommonModule } from '@angular/common';
|
|
19
|
-
import * as i4 from 'carbon-components-angular';
|
|
20
|
-
import { Tabs, LoadingModule, ButtonModule as ButtonModule$1, IconModule, ModalModule as ModalModule$1, SelectModule as SelectModule$1, DropdownModule, TabsModule, ComboBoxModule } from 'carbon-components-angular';
|
|
21
|
-
import moment from 'moment';
|
|
22
|
-
import * as i3$2 from '@valtimo/components';
|
|
23
|
-
import { FormioOptionsImpl, TimelineItemImpl, CarbonListComponent, ListModule, WidgetModule, BpmnJsDiagramModule, TimelineModule, CamundaFormModule, FilterSidebarModule, DataListModule, FormIoModule, ModalModule, SpinnerModule, UploaderModule, DropzoneModule, SelectModule, InputLabelModule, ParagraphModule, TableModule, VModalModule, TitleModule, ButtonModule, DocumentenApiMetadataModalModule, SearchableDropdownSelectModule, SearchFieldsModule, PageModule, InputModule, FormModule as FormModule$1, ConfirmationModalModule, CarbonListModule } from '@valtimo/components';
|
|
24
|
-
import * as i5$2 from 'keycloak-angular';
|
|
25
|
-
import * as i7 from '@valtimo/access-control';
|
|
26
|
-
import * as i3$1 from '@valtimo/task';
|
|
15
|
+
import { RouterModule } from '@angular/router';
|
|
16
|
+
import * as i6$1 from 'ngx-logger';
|
|
17
|
+
import * as i3 from '@valtimo/task';
|
|
27
18
|
import { CAN_VIEW_TASK_PERMISSION, TASK_DETAIL_PERMISSION_RESOURCE, TaskModule } from '@valtimo/task';
|
|
19
|
+
import * as i3$1 from '@valtimo/components';
|
|
20
|
+
import { FormioOptionsImpl, TimelineItemImpl, CarbonListComponent, ListModule, WidgetModule, BpmnJsDiagramModule, TimelineModule, CamundaFormModule, FilterSidebarModule, DataListModule, FormIoModule, ModalModule, SpinnerModule, UploaderModule, DropzoneModule, SelectModule, InputLabelModule, ParagraphModule, TableModule, VModalModule, TitleModule, ButtonModule, DocumentenApiMetadataModalModule, SearchableDropdownSelectModule, SearchFieldsModule, PageModule, InputModule, FormModule as FormModule$1, ConfirmationModalModule, CarbonListModule, IsArrayPipe } from '@valtimo/components';
|
|
21
|
+
import moment from 'moment';
|
|
22
|
+
import { catchError, switchMap as switchMap$1, map as map$1, tap as tap$1, take as take$1 } from 'rxjs/operators';
|
|
28
23
|
import * as i2$2 from '@valtimo/process';
|
|
29
24
|
import { ProcessModule } from '@valtimo/process';
|
|
30
|
-
import * as i5
|
|
25
|
+
import * as i5 from '@valtimo/form';
|
|
31
26
|
import { FormModule } from '@valtimo/form';
|
|
32
|
-
import * as i6$
|
|
27
|
+
import * as i6$2 from '@valtimo/security';
|
|
33
28
|
import { AuthGuardService } from '@valtimo/security';
|
|
29
|
+
import * as i7 from '@valtimo/access-control';
|
|
30
|
+
import * as i5$1 from '@angular/common';
|
|
31
|
+
import { CommonModule } from '@angular/common';
|
|
34
32
|
import * as i10 from '@ng-bootstrap/ng-bootstrap';
|
|
35
33
|
import { NgbButtonsModule, NgbTooltipModule, NgbPaginationModule, NgbModule } from '@ng-bootstrap/ng-bootstrap';
|
|
36
|
-
import * as
|
|
37
|
-
import {
|
|
38
|
-
import * as i3$
|
|
34
|
+
import * as i4 from 'carbon-components-angular';
|
|
35
|
+
import { Tabs, LoadingModule, ButtonModule as ButtonModule$1, IconModule, ModalModule as ModalModule$1, SelectModule as SelectModule$1, DropdownModule, TabsModule, ComboBoxModule } from 'carbon-components-angular';
|
|
36
|
+
import * as i3$2 from 'ngx-spinner';
|
|
37
|
+
import * as i3$3 from 'ngx-toastr';
|
|
39
38
|
import * as i4$1 from '@valtimo/resource';
|
|
40
|
-
import * as
|
|
39
|
+
import * as i1$2 from '@valtimo/contact-moment';
|
|
40
|
+
import * as i4$2 from 'keycloak-angular';
|
|
41
|
+
import * as i3$4 from '@valtimo/form-link';
|
|
41
42
|
import { FormLinkModule } from '@valtimo/form-link';
|
|
42
|
-
import * as i1$3 from '@valtimo/contact-moment';
|
|
43
43
|
import { isEqual } from 'lodash';
|
|
44
44
|
|
|
45
45
|
class DossierBulkAssignService {
|
|
@@ -365,42 +365,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
365
365
|
type: Injectable
|
|
366
366
|
}], ctorParameters: function () { return [{ type: i1$1.Router }, { type: i1$1.ActivatedRoute }]; } });
|
|
367
367
|
|
|
368
|
-
/*
|
|
369
|
-
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
370
|
-
*
|
|
371
|
-
* Licensed under EUPL, Version 1.2 (the "License");
|
|
372
|
-
* you may not use this file except in compliance with the License.
|
|
373
|
-
* You may obtain a copy of the License at
|
|
374
|
-
*
|
|
375
|
-
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
376
|
-
*
|
|
377
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
378
|
-
* distributed under the License is distributed on an "AS IS" basis,
|
|
379
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
380
|
-
* See the License for the specific language governing permissions and
|
|
381
|
-
* limitations under the License.
|
|
382
|
-
*/
|
|
383
|
-
class FileSortService {
|
|
384
|
-
constructor(configService) {
|
|
385
|
-
this.configService = configService;
|
|
386
|
-
}
|
|
387
|
-
sortRelatedFilesByDateDescending(relatedFiles) {
|
|
388
|
-
const sortByDate = this.configService.config?.featureToggles?.sortFilesByDate;
|
|
389
|
-
if (sortByDate) {
|
|
390
|
-
return relatedFiles.sort((a, b) => new Date(b.createdOn).getTime() - new Date(a.createdOn).getTime());
|
|
391
|
-
}
|
|
392
|
-
return relatedFiles;
|
|
393
|
-
}
|
|
394
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FileSortService, deps: [{ token: i1.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
395
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FileSortService, providedIn: 'root' }); }
|
|
396
|
-
}
|
|
397
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FileSortService, decorators: [{
|
|
398
|
-
type: Injectable,
|
|
399
|
-
args: [{
|
|
400
|
-
providedIn: 'root',
|
|
401
|
-
}]
|
|
402
|
-
}], ctorParameters: function () { return [{ type: i1.ConfigService }]; } });
|
|
403
|
-
|
|
404
368
|
/*
|
|
405
369
|
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
406
370
|
*
|
|
@@ -590,7 +554,7 @@ class DossierService {
|
|
|
590
554
|
},
|
|
591
555
|
};
|
|
592
556
|
}
|
|
593
|
-
get refreshDocument() {
|
|
557
|
+
get refreshDocument$() {
|
|
594
558
|
return this._refreshDocument$.asObservable();
|
|
595
559
|
}
|
|
596
560
|
refresh() {
|
|
@@ -712,12 +676,12 @@ class DossierListPaginationService {
|
|
|
712
676
|
sort: defaultSortState,
|
|
713
677
|
};
|
|
714
678
|
}
|
|
715
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierListPaginationService, deps: [{ token:
|
|
679
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierListPaginationService, deps: [{ token: i6$1.NGXLogger }, { token: DossierParameterService }, { token: DossierService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
716
680
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierListPaginationService }); }
|
|
717
681
|
}
|
|
718
682
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierListPaginationService, decorators: [{
|
|
719
683
|
type: Injectable
|
|
720
|
-
}], ctorParameters: function () { return [{ type:
|
|
684
|
+
}], ctorParameters: function () { return [{ type: i6$1.NGXLogger }, { type: DossierParameterService }, { type: DossierService }]; } });
|
|
721
685
|
|
|
722
686
|
/*
|
|
723
687
|
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
@@ -772,114 +736,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
772
736
|
type: Injectable
|
|
773
737
|
}], ctorParameters: function () { return [{ type: DossierListService }, { type: i2$1.DocumentService }, { type: DossierParameterService }]; } });
|
|
774
738
|
|
|
775
|
-
/*
|
|
776
|
-
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
777
|
-
*
|
|
778
|
-
* Licensed under EUPL, Version 1.2 (the "License");
|
|
779
|
-
* you may not use this file except in compliance with the License.
|
|
780
|
-
* You may obtain a copy of the License at
|
|
781
|
-
*
|
|
782
|
-
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
783
|
-
*
|
|
784
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
785
|
-
* distributed under the License is distributed on an "AS IS" basis,
|
|
786
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
787
|
-
* See the License for the specific language governing permissions and
|
|
788
|
-
* limitations under the License.
|
|
789
|
-
*/
|
|
790
|
-
|
|
791
|
-
/*
|
|
792
|
-
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
793
|
-
*
|
|
794
|
-
* Licensed under EUPL, Version 1.2 (the "License");
|
|
795
|
-
* you may not use this file except in compliance with the License.
|
|
796
|
-
* You may obtain a copy of the License at
|
|
797
|
-
*
|
|
798
|
-
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
799
|
-
*
|
|
800
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
801
|
-
* distributed under the License is distributed on an "AS IS" basis,
|
|
802
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
803
|
-
* See the License for the specific language governing permissions and
|
|
804
|
-
* limitations under the License.
|
|
805
|
-
*/
|
|
806
|
-
class DossierBulkAssignModalComponent {
|
|
807
|
-
set documentIds(value) {
|
|
808
|
-
if (!value.length) {
|
|
809
|
-
return;
|
|
810
|
-
}
|
|
811
|
-
this.bulkAssignService.loadCandidateUsers(value);
|
|
812
|
-
}
|
|
813
|
-
constructor(bulkAssignService, fb) {
|
|
814
|
-
this.bulkAssignService = bulkAssignService;
|
|
815
|
-
this.fb = fb;
|
|
816
|
-
this.modalClass = 'valtimo-dossier-bulk-assign-modal';
|
|
817
|
-
this.open = false;
|
|
818
|
-
this.closeEvent = new EventEmitter();
|
|
819
|
-
this.candidateUsers$ = this.bulkAssignService.candidateUsers$.pipe(map((candidateUsers) => candidateUsers.map((candidateUser) => ({
|
|
820
|
-
id: candidateUser.id,
|
|
821
|
-
content: `${candidateUser.firstName} ${candidateUser.lastName}`,
|
|
822
|
-
selected: this.formGroup.get('assignee')?.value?.id === candidateUser.id,
|
|
823
|
-
}))));
|
|
824
|
-
this.formGroup = this.fb.group({
|
|
825
|
-
assignee: this.fb.control({ id: '', content: '', selected: false }, Validators.required),
|
|
826
|
-
});
|
|
827
|
-
}
|
|
828
|
-
closeModal(confirm) {
|
|
829
|
-
const assignee = this.formGroup.get('assignee')?.value ?? null;
|
|
830
|
-
if (!assignee) {
|
|
831
|
-
this.closeEvent.emit(null);
|
|
832
|
-
return;
|
|
833
|
-
}
|
|
834
|
-
this.closeEvent.emit(confirm ? assignee.id : null);
|
|
835
|
-
this.formGroup.reset();
|
|
836
|
-
}
|
|
837
|
-
trackByIndex(index) {
|
|
838
|
-
return index;
|
|
839
|
-
}
|
|
840
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierBulkAssignModalComponent, deps: [{ token: DossierBulkAssignService }, { token: i5.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
841
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DossierBulkAssignModalComponent, selector: "valtimo-dossier-bulk-assign-modal", inputs: { documentIds: "documentIds", open: "open" }, outputs: { closeEvent: "closeEvent" }, host: { properties: { "class": "this.modalClass" } }, 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<cds-modal valtimoCdsModal [open]=\"open\" (close)=\"closeModal()\" showFooter=\"true\">\n <cds-modal-header showCloseButton=\"true\" (closeSelect)=\"closeModal()\">\n <h3 cdsModalHeaderHeading>{{ 'dossier.bulkAssign.modal.title' | translate }}</h3>\n </cds-modal-header>\n\n <section cdsModalContent>\n <form *ngIf=\"candidateUsers$ | async as candidateUsers\" [formGroup]=\"formGroup\">\n <cds-combo-box\n formControlName=\"assignee\"\n [dropUp]=\"false\"\n [items]=\"candidateUsers\"\n [label]=\"'dossier.bulkAssign.modal.selectLabel' | translate\"\n [placeholder]=\"'dossier.bulkAssign.modal.selectPlaceholder' | translate\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n </form>\n </section>\n\n <cds-modal-footer>\n <button cdsButton=\"ghost\" (click)=\"closeModal()\">{{ 'interface.cancel' | translate }}</button>\n\n <button cdsButton=\"primary\" [disabled]=\"formGroup.invalid\" (click)=\"closeModal(true)\">\n {{ 'dossier.bulkAssign.modal.confirm' | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n", styles: ["::ng-deep .valtimo-dossier-bulk-assign-modal .cds--list-box__field{background-color:#fff}::ng-deep .valtimo-dossier-bulk-assign-modal .cds--modal-container,::ng-deep .valtimo-dossier-bulk-assign-modal .cds--modal-content{overflow:unset}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i4.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "component", type: i4.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i4.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i4.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i4.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i4.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "component", type: i4.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "component", type: i4.ComboBox, selector: "cds-combo-box, ibm-combo-box", inputs: ["placeholder", "openMenuAria", "closeMenuAria", "clearSelectionsTitle", "clearSelectionsAria", "clearSelectionTitle", "clearSelectionAria", "id", "items", "type", "size", "itemValueKey", "label", "helperText", "appendInline", "invalid", "invalidText", "warn", "warnText", "maxLength", "theme", "selectionFeedback", "autocomplete", "dropUp", "disabled"], outputs: ["selected", "submit", "close", "search", "clear"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
842
|
-
}
|
|
843
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierBulkAssignModalComponent, decorators: [{
|
|
844
|
-
type: Component,
|
|
845
|
-
args: [{ selector: 'valtimo-dossier-bulk-assign-modal', changeDetection: ChangeDetectionStrategy.OnPush, 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<cds-modal valtimoCdsModal [open]=\"open\" (close)=\"closeModal()\" showFooter=\"true\">\n <cds-modal-header showCloseButton=\"true\" (closeSelect)=\"closeModal()\">\n <h3 cdsModalHeaderHeading>{{ 'dossier.bulkAssign.modal.title' | translate }}</h3>\n </cds-modal-header>\n\n <section cdsModalContent>\n <form *ngIf=\"candidateUsers$ | async as candidateUsers\" [formGroup]=\"formGroup\">\n <cds-combo-box\n formControlName=\"assignee\"\n [dropUp]=\"false\"\n [items]=\"candidateUsers\"\n [label]=\"'dossier.bulkAssign.modal.selectLabel' | translate\"\n [placeholder]=\"'dossier.bulkAssign.modal.selectPlaceholder' | translate\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n </form>\n </section>\n\n <cds-modal-footer>\n <button cdsButton=\"ghost\" (click)=\"closeModal()\">{{ 'interface.cancel' | translate }}</button>\n\n <button cdsButton=\"primary\" [disabled]=\"formGroup.invalid\" (click)=\"closeModal(true)\">\n {{ 'dossier.bulkAssign.modal.confirm' | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n", styles: ["::ng-deep .valtimo-dossier-bulk-assign-modal .cds--list-box__field{background-color:#fff}::ng-deep .valtimo-dossier-bulk-assign-modal .cds--modal-container,::ng-deep .valtimo-dossier-bulk-assign-modal .cds--modal-content{overflow:unset}\n"] }]
|
|
846
|
-
}], ctorParameters: function () { return [{ type: DossierBulkAssignService }, { type: i5.FormBuilder }]; }, propDecorators: { modalClass: [{
|
|
847
|
-
type: HostBinding,
|
|
848
|
-
args: ['class']
|
|
849
|
-
}], documentIds: [{
|
|
850
|
-
type: Input
|
|
851
|
-
}], open: [{
|
|
852
|
-
type: Input
|
|
853
|
-
}], closeEvent: [{
|
|
854
|
-
type: Output
|
|
855
|
-
}] } });
|
|
856
|
-
|
|
857
|
-
/*
|
|
858
|
-
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
859
|
-
*
|
|
860
|
-
* Licensed under EUPL, Version 1.2 (the "License");
|
|
861
|
-
* you may not use this file except in compliance with the License.
|
|
862
|
-
* You may obtain a copy of the License at
|
|
863
|
-
*
|
|
864
|
-
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
865
|
-
*
|
|
866
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
867
|
-
* distributed under the License is distributed on an "AS IS" basis,
|
|
868
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
869
|
-
* See the License for the specific language governing permissions and
|
|
870
|
-
* limitations under the License.
|
|
871
|
-
*/
|
|
872
|
-
var DefaultTabs;
|
|
873
|
-
(function (DefaultTabs) {
|
|
874
|
-
DefaultTabs["summary"] = "summary";
|
|
875
|
-
DefaultTabs["progress"] = "progress";
|
|
876
|
-
DefaultTabs["audit"] = "audit";
|
|
877
|
-
DefaultTabs["documents"] = "documents";
|
|
878
|
-
DefaultTabs["contactMoments"] = "contact-moments";
|
|
879
|
-
DefaultTabs["zaakobjecten"] = "zaakobjecten";
|
|
880
|
-
DefaultTabs["notes"] = "notes";
|
|
881
|
-
})(DefaultTabs || (DefaultTabs = {}));
|
|
882
|
-
|
|
883
739
|
/*
|
|
884
740
|
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
885
741
|
*
|
|
@@ -944,26 +800,29 @@ var DefaultTabs;
|
|
|
944
800
|
* limitations under the License.
|
|
945
801
|
*/
|
|
946
802
|
class TabLoaderImpl {
|
|
947
|
-
constructor(tabs, componentFactoryResolver, viewContainerRef,
|
|
803
|
+
constructor(tabs, componentFactoryResolver, viewContainerRef, router, route) {
|
|
948
804
|
this._tabs = null;
|
|
949
805
|
this._componentFactoryResolver = null;
|
|
950
806
|
this._viewContainerRef = null;
|
|
951
807
|
this._activeComponent = null;
|
|
952
808
|
this._activeTab = null;
|
|
953
|
-
this._translateService = null;
|
|
954
809
|
this._tabs = tabs;
|
|
955
810
|
this._componentFactoryResolver = componentFactoryResolver;
|
|
956
811
|
this._viewContainerRef = viewContainerRef;
|
|
957
|
-
this._translateService = translateService;
|
|
958
812
|
this._router = router;
|
|
959
|
-
this.
|
|
813
|
+
this._route = route;
|
|
814
|
+
}
|
|
815
|
+
get tabs() {
|
|
816
|
+
return this._tabs;
|
|
960
817
|
}
|
|
961
818
|
initial(tabName) {
|
|
962
819
|
let initialTab;
|
|
963
820
|
if (tabName) {
|
|
964
|
-
initialTab =
|
|
821
|
+
initialTab =
|
|
822
|
+
this._tabs.find(tab => tab.name === tabName) ||
|
|
823
|
+
this._tabs.find(tab => tab.contentKey === tabName);
|
|
965
824
|
}
|
|
966
|
-
|
|
825
|
+
if (!initialTab) {
|
|
967
826
|
initialTab = this._tabs[0] || null;
|
|
968
827
|
}
|
|
969
828
|
this.load(initialTab);
|
|
@@ -987,38 +846,32 @@ class TabLoaderImpl {
|
|
|
987
846
|
}
|
|
988
847
|
this._activeComponent = this._viewContainerRef.createComponent(componentFactory);
|
|
989
848
|
}
|
|
990
|
-
replaceUrlState(
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
}
|
|
999
|
-
else {
|
|
1000
|
-
this._router.navigateByUrl(newUrl);
|
|
1001
|
-
}
|
|
849
|
+
replaceUrlState(nextTab) {
|
|
850
|
+
this._route.params.pipe(take(1)).subscribe(params => {
|
|
851
|
+
const currentUrl = this._router.url;
|
|
852
|
+
const currentDocumentId = params?.documentId;
|
|
853
|
+
const queryParams = currentUrl.split('?')[1] || '';
|
|
854
|
+
const urlBeforeDocumentId = currentUrl.split(currentDocumentId)[0];
|
|
855
|
+
this._router.navigateByUrl(`${urlBeforeDocumentId}${currentDocumentId}/${nextTab.name}${queryParams ? `?${queryParams}` : ''}`);
|
|
856
|
+
});
|
|
1002
857
|
}
|
|
1003
858
|
setActive(tab) {
|
|
1004
859
|
tab.activate();
|
|
1005
860
|
this._activeTab = tab;
|
|
1006
861
|
}
|
|
1007
|
-
get tabs() {
|
|
1008
|
-
return this._tabs;
|
|
1009
|
-
}
|
|
1010
|
-
translateTabName(tab) {
|
|
1011
|
-
const translationId = 'dossier.tabs.' + tab.name;
|
|
1012
|
-
const translation = this._translateService.instant('dossier.tabs.' + tab.name);
|
|
1013
|
-
return translationId !== translation ? translation : tab.name;
|
|
1014
|
-
}
|
|
1015
862
|
}
|
|
1016
863
|
class TabImpl {
|
|
1017
|
-
constructor(name, sequence, component) {
|
|
864
|
+
constructor(name, sequence, component, contentKey, title) {
|
|
1018
865
|
this._active = false;
|
|
1019
866
|
this._name = name;
|
|
1020
867
|
this._sequence = sequence;
|
|
1021
868
|
this._component = component;
|
|
869
|
+
if (contentKey) {
|
|
870
|
+
this._contentKey = contentKey;
|
|
871
|
+
}
|
|
872
|
+
if (title) {
|
|
873
|
+
this._title = title;
|
|
874
|
+
}
|
|
1022
875
|
}
|
|
1023
876
|
get name() {
|
|
1024
877
|
return this._name;
|
|
@@ -1029,6 +882,12 @@ class TabImpl {
|
|
|
1029
882
|
get component() {
|
|
1030
883
|
return this._component;
|
|
1031
884
|
}
|
|
885
|
+
get contentKey() {
|
|
886
|
+
return this._contentKey;
|
|
887
|
+
}
|
|
888
|
+
get title() {
|
|
889
|
+
return this._title;
|
|
890
|
+
}
|
|
1032
891
|
activate() {
|
|
1033
892
|
this._active = true;
|
|
1034
893
|
}
|
|
@@ -1071,6 +930,16 @@ class TabImpl {
|
|
|
1071
930
|
* See the License for the specific language governing permissions and
|
|
1072
931
|
* limitations under the License.
|
|
1073
932
|
*/
|
|
933
|
+
var DefaultTabs;
|
|
934
|
+
(function (DefaultTabs) {
|
|
935
|
+
DefaultTabs["summary"] = "summary";
|
|
936
|
+
DefaultTabs["progress"] = "progress";
|
|
937
|
+
DefaultTabs["audit"] = "audit";
|
|
938
|
+
DefaultTabs["documents"] = "documents";
|
|
939
|
+
DefaultTabs["contactMoments"] = "contact-moments";
|
|
940
|
+
DefaultTabs["zaakobjecten"] = "zaakobjecten";
|
|
941
|
+
DefaultTabs["notes"] = "notes";
|
|
942
|
+
})(DefaultTabs || (DefaultTabs = {}));
|
|
1074
943
|
|
|
1075
944
|
/*
|
|
1076
945
|
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
@@ -1087,44 +956,12 @@ class TabImpl {
|
|
|
1087
956
|
* See the License for the specific language governing permissions and
|
|
1088
957
|
* limitations under the License.
|
|
1089
958
|
*/
|
|
1090
|
-
var
|
|
1091
|
-
(function (
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
PERMISSION_ACTION["edit"] = "modify";
|
|
1097
|
-
})(PERMISSION_ACTION || (PERMISSION_ACTION = {}));
|
|
1098
|
-
var DOSSIER_DETAIL_PERMISSION_RESOURCE;
|
|
1099
|
-
(function (DOSSIER_DETAIL_PERMISSION_RESOURCE) {
|
|
1100
|
-
DOSSIER_DETAIL_PERMISSION_RESOURCE["jsonSchemaDocument"] = "com.ritense.document.domain.impl.JsonSchemaDocument";
|
|
1101
|
-
DOSSIER_DETAIL_PERMISSION_RESOURCE["note"] = "com.ritense.note.domain.Note";
|
|
1102
|
-
DOSSIER_DETAIL_PERMISSION_RESOURCE["jsonSchemaDocumentDefinition"] = "com.ritense.document.domain.impl.JsonSchemaDocumentDefinition";
|
|
1103
|
-
})(DOSSIER_DETAIL_PERMISSION_RESOURCE || (DOSSIER_DETAIL_PERMISSION_RESOURCE = {}));
|
|
1104
|
-
const CAN_CLAIM_CASE_PERMISSION = {
|
|
1105
|
-
action: PERMISSION_ACTION.claim,
|
|
1106
|
-
resource: DOSSIER_DETAIL_PERMISSION_RESOURCE.jsonSchemaDocument,
|
|
1107
|
-
};
|
|
1108
|
-
const CAN_ADD_NOTE_PERMISSION = {
|
|
1109
|
-
action: PERMISSION_ACTION.add,
|
|
1110
|
-
resource: DOSSIER_DETAIL_PERMISSION_RESOURCE.note,
|
|
1111
|
-
};
|
|
1112
|
-
const CAN_DELETE_NOTE_PERMISSION = {
|
|
1113
|
-
action: PERMISSION_ACTION.delete,
|
|
1114
|
-
resource: DOSSIER_DETAIL_PERMISSION_RESOURCE.note,
|
|
1115
|
-
};
|
|
1116
|
-
const CAN_EDIT_NOTE_PERMISSION = {
|
|
1117
|
-
action: PERMISSION_ACTION.edit,
|
|
1118
|
-
resource: DOSSIER_DETAIL_PERMISSION_RESOURCE.note,
|
|
1119
|
-
};
|
|
1120
|
-
const CAN_ASSIGN_CASE_PERMISSION = {
|
|
1121
|
-
action: PERMISSION_ACTION.assign,
|
|
1122
|
-
resource: DOSSIER_DETAIL_PERMISSION_RESOURCE.jsonSchemaDocument,
|
|
1123
|
-
};
|
|
1124
|
-
const CAN_CREATE_CASE_PERMISSION = {
|
|
1125
|
-
action: PERMISSION_ACTION.add,
|
|
1126
|
-
resource: DOSSIER_DETAIL_PERMISSION_RESOURCE.jsonSchemaDocument,
|
|
1127
|
-
};
|
|
959
|
+
var ApiTabType;
|
|
960
|
+
(function (ApiTabType) {
|
|
961
|
+
ApiTabType["STANDARD"] = "standard";
|
|
962
|
+
ApiTabType["FORMIO"] = "formio";
|
|
963
|
+
ApiTabType["CUSTOM"] = "custom";
|
|
964
|
+
})(ApiTabType || (ApiTabType = {}));
|
|
1128
965
|
|
|
1129
966
|
/*
|
|
1130
967
|
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
@@ -1227,7 +1064,10 @@ class DossierDetailTabSummaryComponent {
|
|
|
1227
1064
|
resource: TASK_DETAIL_PERMISSION_RESOURCE.task,
|
|
1228
1065
|
identifier: task.id,
|
|
1229
1066
|
})),
|
|
1230
|
-
])))
|
|
1067
|
+
])), catchError(() => {
|
|
1068
|
+
this.loadingTasks$.next(false);
|
|
1069
|
+
return of(null);
|
|
1070
|
+
}))
|
|
1231
1071
|
.subscribe(res => {
|
|
1232
1072
|
const tasks = res[0];
|
|
1233
1073
|
const permissions = res.filter((_, index) => index !== 0);
|
|
@@ -1243,13 +1083,13 @@ class DossierDetailTabSummaryComponent {
|
|
|
1243
1083
|
this.loadingTasks$.next(false);
|
|
1244
1084
|
}));
|
|
1245
1085
|
}
|
|
1246
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierDetailTabSummaryComponent, deps: [{ token: i1$1.Router }, { token: i2$1.DocumentService }, { token: i3
|
|
1247
|
-
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=\"
|
|
1086
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierDetailTabSummaryComponent, deps: [{ token: i1$1.Router }, { token: i2$1.DocumentService }, { token: i3.TaskService }, { token: i2$2.ProcessService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1$1.ActivatedRoute }, { token: i5.FormService }, { token: i6$2.UserProviderService }, { token: i7.PermissionService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1087
|
+
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: i5$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$1.WidgetComponent, selector: "valtimo-widget", inputs: ["type", "name", "icon", "contrast", "divider", "title", "subtitle", "collapseAble", "collapse", "additionalClasses"] }, { kind: "component", type: i3$1.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: i4.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "pipe", type: i5$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }, { kind: "pipe", type: i3$1.IsArrayPipe, name: "isArray" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
1248
1088
|
}
|
|
1249
1089
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierDetailTabSummaryComponent, decorators: [{
|
|
1250
1090
|
type: Component,
|
|
1251
|
-
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=\"
|
|
1252
|
-
}], ctorParameters: function () { return [{ type: i1$1.Router }, { type: i2$1.DocumentService }, { type: i3
|
|
1091
|
+
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"] }]
|
|
1092
|
+
}], ctorParameters: function () { return [{ type: i1$1.Router }, { type: i2$1.DocumentService }, { type: i3.TaskService }, { type: i2$2.ProcessService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1$1.ActivatedRoute }, { type: i5.FormService }, { type: i6$2.UserProviderService }, { type: i7.PermissionService }]; }, propDecorators: { taskDetail: [{
|
|
1253
1093
|
type: ViewChild,
|
|
1254
1094
|
args: ['taskDetail']
|
|
1255
1095
|
}] } });
|
|
@@ -1290,7 +1130,7 @@ class DossierDetailTabProgressComponent {
|
|
|
1290
1130
|
this.selectedProcessInstanceId = processInstanceId;
|
|
1291
1131
|
}
|
|
1292
1132
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierDetailTabProgressComponent, deps: [{ token: i1$1.ActivatedRoute }, { token: i2$1.DocumentService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1293
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DossierDetailTabProgressComponent, selector: "valtimo-dossier-detail-tab-progress", 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\n class=\"full-height-tab-content\"\n *ngIf=\"\n processDocumentInstances && processDocumentInstances.length > 0;\n else emptyProcessDocumentInstances\n \"\n>\n <div class=\"col-3\">\n <label><strong>Process</strong></label\n ><br />\n <select class=\"form-control\" (change)=\"loadProcessInstance($event.target.value)\">\n <option\n *ngFor=\"let processDocumentInstance of processDocumentInstances\"\n [value]=\"processDocumentInstance.id.processInstanceId\"\n [selected]=\"selectedProcessInstanceId === processDocumentInstance.id.processInstanceId\"\n >\n {{ processDocumentInstance.processName }}\n </option>\n </select>\n </div>\n <valtimo-process-diagram\n [processInstanceId]=\"selectedProcessInstanceId\"\n ></valtimo-process-diagram>\n</div>\n\n<ng-template #emptyProcessDocumentInstances>\n <span> {{ 'progress.noProcessDocumentInstances' | translate }}</span>\n</ng-template>\n", styles: [".full-height-tab-content{height:calc(100vh - 380px);width:100%}\n"], dependencies: [{ kind: "directive", type:
|
|
1133
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DossierDetailTabProgressComponent, selector: "valtimo-dossier-detail-tab-progress", 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\n class=\"full-height-tab-content\"\n *ngIf=\"\n processDocumentInstances && processDocumentInstances.length > 0;\n else emptyProcessDocumentInstances\n \"\n>\n <div class=\"col-3\">\n <label><strong>Process</strong></label\n ><br />\n <select class=\"form-control\" (change)=\"loadProcessInstance($event.target.value)\">\n <option\n *ngFor=\"let processDocumentInstance of processDocumentInstances\"\n [value]=\"processDocumentInstance.id.processInstanceId\"\n [selected]=\"selectedProcessInstanceId === processDocumentInstance.id.processInstanceId\"\n >\n {{ processDocumentInstance.processName }}\n </option>\n </select>\n </div>\n <valtimo-process-diagram\n [processInstanceId]=\"selectedProcessInstanceId\"\n ></valtimo-process-diagram>\n</div>\n\n<ng-template #emptyProcessDocumentInstances>\n <span> {{ 'progress.noProcessDocumentInstances' | translate }}</span>\n</ng-template>\n", styles: [".full-height-tab-content{height:calc(100vh - 380px);width:100%}\n"], dependencies: [{ kind: "directive", type: i5$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$2.ProcessDiagramComponent, selector: "valtimo-process-diagram", inputs: ["processDefinitionKey", "processInstanceId"], outputs: ["importDone"] }, { kind: "directive", type: i5$2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i5$2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.Option, selector: "option" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
|
|
1294
1134
|
}
|
|
1295
1135
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierDetailTabProgressComponent, decorators: [{
|
|
1296
1136
|
type: Component,
|
|
@@ -1352,16 +1192,52 @@ class DossierDetailTabAuditComponent {
|
|
|
1352
1192
|
this.currentAuditPage = page - 1;
|
|
1353
1193
|
this.loadAuditPage(this.currentAuditPage);
|
|
1354
1194
|
}
|
|
1355
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierDetailTabAuditComponent, deps: [{ token: i1$1.ActivatedRoute }, { token: i2$1.DocumentService }, { token: i3$
|
|
1356
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DossierDetailTabAuditComponent, selector: "valtimo-dossier-detail-tab-audit", outputs: { paginationClicked: "paginationClicked" }, 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 *ngIf=\"timelineItems\">\n <valtimo-timeline [items]=\"timelineItems\"></valtimo-timeline>\n</div>\n<valtimo-spinner\n [useBootstrapSpinner]=\"false\"\n name=\"auditSpinner\"\n bdColor=\"rgba(125, 125, 125, 0.35)\"\n color=\"#264251\"\n type=\"square-jelly-box\"\n>\n</valtimo-spinner>\n<div\n class=\"pagination-holder audit-pagination bg-light px-4 pt-4 pb-2 overflow-auto row mr-0 ml-0\"\n *ngIf=\"pagination && pagination.totalElements > pagination.size\"\n>\n <div class=\"float-left page-count col-4\">\n <strong>{{\n 'list.currentPage' | translate: {current: pagination.number, total: pagination.totalPages}\n }}</strong>\n <br />\n {{\n pagination.totalElements === 1\n ? ('list.showingResult' | translate: {number: pagination.content.length})\n : ('list.showingResults'\n | translate: {number: pagination.content.length, total: pagination.totalElements})\n }}\n </div>\n <div class=\"col-8\">\n <ngb-pagination\n *ngIf=\"pagination.totalElements > pagination.size\"\n class=\"float-right\"\n [collectionSize]=\"pagination.totalElements\"\n [(page)]=\"pagination.number\"\n [pageSize]=\"pagination.size\"\n [maxSize]=\"pagination.size\"\n [rotate]=\"true\"\n (pageChange)=\"onChangePagination(pagination.number)\"\n ></ngb-pagination>\n </div>\n</div>\n", styles: [".audit-pagination{margin:0 -1.923rem -1.923rem!important;border-top:1px solid #dee2e6}\n"], dependencies: [{ kind: "directive", type:
|
|
1195
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierDetailTabAuditComponent, deps: [{ token: i1$1.ActivatedRoute }, { token: i2$1.DocumentService }, { token: i3$2.NgxSpinnerService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1196
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DossierDetailTabAuditComponent, selector: "valtimo-dossier-detail-tab-audit", outputs: { paginationClicked: "paginationClicked" }, 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 *ngIf=\"timelineItems\">\n <valtimo-timeline [items]=\"timelineItems\"></valtimo-timeline>\n</div>\n<valtimo-spinner\n [useBootstrapSpinner]=\"false\"\n name=\"auditSpinner\"\n bdColor=\"rgba(125, 125, 125, 0.35)\"\n color=\"#264251\"\n type=\"square-jelly-box\"\n>\n</valtimo-spinner>\n<div\n class=\"pagination-holder audit-pagination bg-light px-4 pt-4 pb-2 overflow-auto row mr-0 ml-0\"\n *ngIf=\"pagination && pagination.totalElements > pagination.size\"\n>\n <div class=\"float-left page-count col-4\">\n <strong>{{\n 'list.currentPage' | translate: {current: pagination.number, total: pagination.totalPages}\n }}</strong>\n <br />\n {{\n pagination.totalElements === 1\n ? ('list.showingResult' | translate: {number: pagination.content.length})\n : ('list.showingResults'\n | translate: {number: pagination.content.length, total: pagination.totalElements})\n }}\n </div>\n <div class=\"col-8\">\n <ngb-pagination\n *ngIf=\"pagination.totalElements > pagination.size\"\n class=\"float-right\"\n [collectionSize]=\"pagination.totalElements\"\n [(page)]=\"pagination.number\"\n [pageSize]=\"pagination.size\"\n [maxSize]=\"pagination.size\"\n [rotate]=\"true\"\n (pageChange)=\"onChangePagination(pagination.number)\"\n ></ngb-pagination>\n </div>\n</div>\n", styles: [".audit-pagination{margin:0 -1.923rem -1.923rem!important;border-top:1px solid #dee2e6}\n"], dependencies: [{ kind: "directive", type: i5$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$1.TimelineComponent, selector: "valtimo-timeline", inputs: ["items", "actions"] }, { kind: "component", type: i3$1.SpinnerComponent, selector: "valtimo-spinner", inputs: ["useBootstrapSpinner", "name", "type", "size", "color", "bdColor", "fullScreen", "noMarginTop"] }, { kind: "component", type: i10.NgbPagination, selector: "ngb-pagination", inputs: ["disabled", "boundaryLinks", "directionLinks", "ellipses", "rotate", "collectionSize", "maxSize", "page", "pageSize", "size"], outputs: ["pageChange"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
|
|
1357
1197
|
}
|
|
1358
1198
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierDetailTabAuditComponent, decorators: [{
|
|
1359
1199
|
type: Component,
|
|
1360
1200
|
args: [{ selector: 'valtimo-dossier-detail-tab-audit', 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 *ngIf=\"timelineItems\">\n <valtimo-timeline [items]=\"timelineItems\"></valtimo-timeline>\n</div>\n<valtimo-spinner\n [useBootstrapSpinner]=\"false\"\n name=\"auditSpinner\"\n bdColor=\"rgba(125, 125, 125, 0.35)\"\n color=\"#264251\"\n type=\"square-jelly-box\"\n>\n</valtimo-spinner>\n<div\n class=\"pagination-holder audit-pagination bg-light px-4 pt-4 pb-2 overflow-auto row mr-0 ml-0\"\n *ngIf=\"pagination && pagination.totalElements > pagination.size\"\n>\n <div class=\"float-left page-count col-4\">\n <strong>{{\n 'list.currentPage' | translate: {current: pagination.number, total: pagination.totalPages}\n }}</strong>\n <br />\n {{\n pagination.totalElements === 1\n ? ('list.showingResult' | translate: {number: pagination.content.length})\n : ('list.showingResults'\n | translate: {number: pagination.content.length, total: pagination.totalElements})\n }}\n </div>\n <div class=\"col-8\">\n <ngb-pagination\n *ngIf=\"pagination.totalElements > pagination.size\"\n class=\"float-right\"\n [collectionSize]=\"pagination.totalElements\"\n [(page)]=\"pagination.number\"\n [pageSize]=\"pagination.size\"\n [maxSize]=\"pagination.size\"\n [rotate]=\"true\"\n (pageChange)=\"onChangePagination(pagination.number)\"\n ></ngb-pagination>\n </div>\n</div>\n", styles: [".audit-pagination{margin:0 -1.923rem -1.923rem!important;border-top:1px solid #dee2e6}\n"] }]
|
|
1361
|
-
}], ctorParameters: function () { return [{ type: i1$1.ActivatedRoute }, { type: i2$1.DocumentService }, { type: i3$
|
|
1201
|
+
}], ctorParameters: function () { return [{ type: i1$1.ActivatedRoute }, { type: i2$1.DocumentService }, { type: i3$2.NgxSpinnerService }]; }, propDecorators: { paginationClicked: [{
|
|
1362
1202
|
type: Output
|
|
1363
1203
|
}] } });
|
|
1364
1204
|
|
|
1205
|
+
/*
|
|
1206
|
+
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
1207
|
+
*
|
|
1208
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
1209
|
+
* you may not use this file except in compliance with the License.
|
|
1210
|
+
* You may obtain a copy of the License at
|
|
1211
|
+
*
|
|
1212
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
1213
|
+
*
|
|
1214
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1215
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
1216
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1217
|
+
* See the License for the specific language governing permissions and
|
|
1218
|
+
* limitations under the License.
|
|
1219
|
+
*/
|
|
1220
|
+
class FileSortService {
|
|
1221
|
+
constructor(configService) {
|
|
1222
|
+
this.configService = configService;
|
|
1223
|
+
}
|
|
1224
|
+
sortRelatedFilesByDateDescending(relatedFiles) {
|
|
1225
|
+
const sortByDate = this.configService.config?.featureToggles?.sortFilesByDate;
|
|
1226
|
+
if (sortByDate) {
|
|
1227
|
+
return relatedFiles.sort((a, b) => new Date(b.createdOn).getTime() - new Date(a.createdOn).getTime());
|
|
1228
|
+
}
|
|
1229
|
+
return relatedFiles;
|
|
1230
|
+
}
|
|
1231
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FileSortService, deps: [{ token: i1.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1232
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FileSortService, providedIn: 'root' }); }
|
|
1233
|
+
}
|
|
1234
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FileSortService, decorators: [{
|
|
1235
|
+
type: Injectable,
|
|
1236
|
+
args: [{
|
|
1237
|
+
providedIn: 'root',
|
|
1238
|
+
}]
|
|
1239
|
+
}], ctorParameters: function () { return [{ type: i1.ConfigService }]; } });
|
|
1240
|
+
|
|
1365
1241
|
/*
|
|
1366
1242
|
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
1367
1243
|
*
|
|
@@ -1484,13 +1360,13 @@ class DossierDetailTabDocumentenApiDocumentsComponent {
|
|
|
1484
1360
|
this.uploadProcessLinkedSet = true;
|
|
1485
1361
|
});
|
|
1486
1362
|
}
|
|
1487
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierDetailTabDocumentenApiDocumentsComponent, deps: [{ token: i1$1.ActivatedRoute }, { token: i2$1.DocumentService }, { token: i3$
|
|
1488
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DossierDetailTabDocumentenApiDocumentsComponent, selector: "valtimo-dossier-detail-tab-documenten-api-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<ng-container *ngIf=\"{loading: loading$ | async} as obs\">\n <div *ngIf=\"uploadProcessLinkedSet && !uploadProcessLinked\">\n <div\n *ngIf=\"isAdmin\"\n [translate]=\"'dossier.documenten.noProcessLinked.adminRole'\"\n class=\"bg-warning text-black mb-2 p-3 text-center\"\n ></div>\n <div\n *ngIf=\"!isAdmin\"\n [translate]=\"'dossier.documenten.noProcessLinked.regularUser'\"\n class=\"bg-warning text-black mb-2 p-3 text-center\"\n ></div>\n </div>\n <div *ngIf=\"showZaakLinkWarning\">\n <div\n [translate]=\"'dossier.documenten.noZaakFound'\"\n class=\"bg-warning text-black mb-2 p-3 text-center\"\n ></div>\n </div>\n\n <valtimo-dropzone\n *ngIf=\"!obs.loading\"\n (fileSelected)=\"fileSelected($event)\"\n [acceptedFiles]=\"acceptedFiles\"\n [camera]=\"false\"\n [disabled]=\"\n !uploadProcessLinkedSet || !uploadProcessLinked || obs.loading || showZaakLinkWarning\n \"\n [hideFilePreview]=\"true\"\n [hideTitle]=\"true\"\n [maxFileSize]=\"maxFileSize\"\n [maxFiles]=\"1\"\n [showMaxFileSize]=\"true\"\n [uploading]=\"uploading$ | async\"\n ></valtimo-dropzone>\n\n <valtimo-widget>\n <valtimo-list\n [ngClass]=\"{hidden: obs.loading}\"\n [fields]=\"fields\"\n [header]=\"true\"\n [isSearchable]=\"true\"\n [items]=\"relatedFiles$ | async\"\n [viewMode]=\"true\"\n [lastColumnTemplate]=\"downloadButton\"\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 <ng-container *ngTemplateOutlet=\"loading; context: {loading: obs.loading}\"></ng-container>\n </valtimo-widget>\n</ng-container>\n\n<valtimo-documenten-api-metadata-modal\n (metadata)=\"metadataSet($event)\"\n [disabled$]=\"modalDisabled$\"\n [file$]=\"fileToBeUploaded$\"\n [hide$]=\"hideModal$\"\n [show$]=\"showModal$\"\n></valtimo-documenten-api-metadata-modal>\n\n<ng-template #loading let-loading=\"loading\">\n <div *ngIf=\"loading\" class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n\n<ng-template #downloadButton let-index=\"index\" let-item=\"item\">\n <div\n class=\"download-button-container\"\n *ngIf=\"{isDownloading: indexesIncludeIndex(downloadingFileIndexes$ | async, index)} as vars\"\n >\n <button\n *ngIf=\"!vars.isDownloading\"\n cdsButton=\"primary\"\n size=\"sm\"\n (click)=\"downloadDocument(item, index)\"\n >\n {{ 'interface.download' | translate\n }}<svg class=\"cds--btn__icon\" cdsIcon=\"download\" size=\"16\"></svg>\n </button>\n <cds-loading size=\"sm\" *ngIf=\"vars.isDownloading\"></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 */.hidden{display:none}.loading-container{padding:var(--cds-grid-margin);display:flex;align-items:center;justify-content:center}.download-button-container{display:flex;width:100%;flex-direction:row;justify-content:flex-end;align-items:center;min-height:32px}\n"], dependencies: [{ kind: "directive", type:
|
|
1363
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierDetailTabDocumentenApiDocumentsComponent, deps: [{ token: i1$1.ActivatedRoute }, { token: i2$1.DocumentService }, { token: i3$3.ToastrService }, { token: i4$1.UploadProviderService }, { token: i4$1.DownloadService }, { token: i3$1.PromptService }, { token: i6.TranslateService }, { token: i1.ConfigService }, { token: i6$2.UserProviderService }, { token: FileSortService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1364
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DossierDetailTabDocumentenApiDocumentsComponent, selector: "valtimo-dossier-detail-tab-documenten-api-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<ng-container *ngIf=\"{loading: loading$ | async} as obs\">\n <div *ngIf=\"uploadProcessLinkedSet && !uploadProcessLinked\">\n <div\n *ngIf=\"isAdmin\"\n [translate]=\"'dossier.documenten.noProcessLinked.adminRole'\"\n class=\"bg-warning text-black mb-2 p-3 text-center\"\n ></div>\n <div\n *ngIf=\"!isAdmin\"\n [translate]=\"'dossier.documenten.noProcessLinked.regularUser'\"\n class=\"bg-warning text-black mb-2 p-3 text-center\"\n ></div>\n </div>\n <div *ngIf=\"showZaakLinkWarning\">\n <div\n [translate]=\"'dossier.documenten.noZaakFound'\"\n class=\"bg-warning text-black mb-2 p-3 text-center\"\n ></div>\n </div>\n\n <valtimo-dropzone\n *ngIf=\"!obs.loading\"\n (fileSelected)=\"fileSelected($event)\"\n [acceptedFiles]=\"acceptedFiles\"\n [camera]=\"false\"\n [disabled]=\"\n !uploadProcessLinkedSet || !uploadProcessLinked || obs.loading || showZaakLinkWarning\n \"\n [hideFilePreview]=\"true\"\n [hideTitle]=\"true\"\n [maxFileSize]=\"maxFileSize\"\n [maxFiles]=\"1\"\n [showMaxFileSize]=\"true\"\n [uploading]=\"uploading$ | async\"\n ></valtimo-dropzone>\n\n <valtimo-widget>\n <valtimo-list\n [ngClass]=\"{hidden: obs.loading}\"\n [fields]=\"fields\"\n [header]=\"true\"\n [isSearchable]=\"true\"\n [items]=\"relatedFiles$ | async\"\n [viewMode]=\"true\"\n [lastColumnTemplate]=\"downloadButton\"\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 <ng-container *ngTemplateOutlet=\"loading; context: {loading: obs.loading}\"></ng-container>\n </valtimo-widget>\n</ng-container>\n\n<valtimo-documenten-api-metadata-modal\n (metadata)=\"metadataSet($event)\"\n [disabled$]=\"modalDisabled$\"\n [file$]=\"fileToBeUploaded$\"\n [hide$]=\"hideModal$\"\n [show$]=\"showModal$\"\n></valtimo-documenten-api-metadata-modal>\n\n<ng-template #loading let-loading=\"loading\">\n <div *ngIf=\"loading\" class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n\n<ng-template #downloadButton let-index=\"index\" let-item=\"item\">\n <div\n class=\"download-button-container\"\n *ngIf=\"{isDownloading: indexesIncludeIndex(downloadingFileIndexes$ | async, index)} as vars\"\n >\n <button\n *ngIf=\"!vars.isDownloading\"\n cdsButton=\"primary\"\n size=\"sm\"\n (click)=\"downloadDocument(item, index)\"\n >\n {{ 'interface.download' | translate\n }}<svg class=\"cds--btn__icon\" cdsIcon=\"download\" size=\"16\"></svg>\n </button>\n <cds-loading size=\"sm\" *ngIf=\"vars.isDownloading\"></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 */.hidden{display:none}.loading-container{padding:var(--cds-grid-margin);display:flex;align-items:center;justify-content:center}.download-button-container{display:flex;width:100%;flex-direction:row;justify-content:flex-end;align-items:center;min-height:32px}\n"], dependencies: [{ kind: "directive", type: i5$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3$1.ListComponent, selector: "valtimo-list", inputs: ["items", "fields", "pagination", "viewMode", "isSearchable", "header", "actions", "paginationIdentifier", "initialSortState", "lastColumnTemplate"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged"] }, { kind: "component", type: i3$1.WidgetComponent, selector: "valtimo-widget", inputs: ["type", "name", "icon", "contrast", "divider", "title", "subtitle", "collapseAble", "collapse", "additionalClasses"] }, { kind: "directive", type: i6.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i3$1.DropzoneComponent, selector: "valtimo-dropzone", inputs: ["title", "hideTitle", "subtitle", "externalError$", "maxFileSize", "showMaxFileSize", "acceptedFiles", "clear$", "disabled", "hideFilePreview", "uploading", "camera", "maxFiles"], outputs: ["fileSelected"] }, { kind: "component", type: i3$1.DocumentenApiMetadataModalComponent, selector: "valtimo-documenten-api-metadata-modal", inputs: ["show$", "hide$", "disabled$", "file$", "documentTitle", "disableDocumentTitle", "filename", "disableFilename", "author", "disableAuthor", "status", "disableStatus", "language", "disableLanguage", "documentType", "disableDocumentType", "description", "disableDescription", "confidentialityLevel", "disableConfidentialityLevel"], outputs: ["metadata"] }, { kind: "component", type: i4.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "directive", type: i4.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i4.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "pipe", type: i5$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
|
|
1489
1365
|
}
|
|
1490
1366
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierDetailTabDocumentenApiDocumentsComponent, decorators: [{
|
|
1491
1367
|
type: Component,
|
|
1492
1368
|
args: [{ selector: 'valtimo-dossier-detail-tab-documenten-api-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<ng-container *ngIf=\"{loading: loading$ | async} as obs\">\n <div *ngIf=\"uploadProcessLinkedSet && !uploadProcessLinked\">\n <div\n *ngIf=\"isAdmin\"\n [translate]=\"'dossier.documenten.noProcessLinked.adminRole'\"\n class=\"bg-warning text-black mb-2 p-3 text-center\"\n ></div>\n <div\n *ngIf=\"!isAdmin\"\n [translate]=\"'dossier.documenten.noProcessLinked.regularUser'\"\n class=\"bg-warning text-black mb-2 p-3 text-center\"\n ></div>\n </div>\n <div *ngIf=\"showZaakLinkWarning\">\n <div\n [translate]=\"'dossier.documenten.noZaakFound'\"\n class=\"bg-warning text-black mb-2 p-3 text-center\"\n ></div>\n </div>\n\n <valtimo-dropzone\n *ngIf=\"!obs.loading\"\n (fileSelected)=\"fileSelected($event)\"\n [acceptedFiles]=\"acceptedFiles\"\n [camera]=\"false\"\n [disabled]=\"\n !uploadProcessLinkedSet || !uploadProcessLinked || obs.loading || showZaakLinkWarning\n \"\n [hideFilePreview]=\"true\"\n [hideTitle]=\"true\"\n [maxFileSize]=\"maxFileSize\"\n [maxFiles]=\"1\"\n [showMaxFileSize]=\"true\"\n [uploading]=\"uploading$ | async\"\n ></valtimo-dropzone>\n\n <valtimo-widget>\n <valtimo-list\n [ngClass]=\"{hidden: obs.loading}\"\n [fields]=\"fields\"\n [header]=\"true\"\n [isSearchable]=\"true\"\n [items]=\"relatedFiles$ | async\"\n [viewMode]=\"true\"\n [lastColumnTemplate]=\"downloadButton\"\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 <ng-container *ngTemplateOutlet=\"loading; context: {loading: obs.loading}\"></ng-container>\n </valtimo-widget>\n</ng-container>\n\n<valtimo-documenten-api-metadata-modal\n (metadata)=\"metadataSet($event)\"\n [disabled$]=\"modalDisabled$\"\n [file$]=\"fileToBeUploaded$\"\n [hide$]=\"hideModal$\"\n [show$]=\"showModal$\"\n></valtimo-documenten-api-metadata-modal>\n\n<ng-template #loading let-loading=\"loading\">\n <div *ngIf=\"loading\" class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n\n<ng-template #downloadButton let-index=\"index\" let-item=\"item\">\n <div\n class=\"download-button-container\"\n *ngIf=\"{isDownloading: indexesIncludeIndex(downloadingFileIndexes$ | async, index)} as vars\"\n >\n <button\n *ngIf=\"!vars.isDownloading\"\n cdsButton=\"primary\"\n size=\"sm\"\n (click)=\"downloadDocument(item, index)\"\n >\n {{ 'interface.download' | translate\n }}<svg class=\"cds--btn__icon\" cdsIcon=\"download\" size=\"16\"></svg>\n </button>\n <cds-loading size=\"sm\" *ngIf=\"vars.isDownloading\"></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 */.hidden{display:none}.loading-container{padding:var(--cds-grid-margin);display:flex;align-items:center;justify-content:center}.download-button-container{display:flex;width:100%;flex-direction:row;justify-content:flex-end;align-items:center;min-height:32px}\n"] }]
|
|
1493
|
-
}], ctorParameters: function () { return [{ type: i1$1.ActivatedRoute }, { type: i2$1.DocumentService }, { type: i3$
|
|
1369
|
+
}], ctorParameters: function () { return [{ type: i1$1.ActivatedRoute }, { type: i2$1.DocumentService }, { type: i3$3.ToastrService }, { type: i4$1.UploadProviderService }, { type: i4$1.DownloadService }, { type: i3$1.PromptService }, { type: i6.TranslateService }, { type: i1.ConfigService }, { type: i6$2.UserProviderService }, { type: FileSortService }]; } });
|
|
1494
1370
|
|
|
1495
1371
|
/*
|
|
1496
1372
|
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
@@ -1607,13 +1483,13 @@ class DossierDetailTabS3DocumentsComponent {
|
|
|
1607
1483
|
refetchDocuments() {
|
|
1608
1484
|
this.refetch$.next(null);
|
|
1609
1485
|
}
|
|
1610
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierDetailTabS3DocumentsComponent, deps: [{ token: i1$1.ActivatedRoute }, { token: i2$1.DocumentService }, { token: i3$
|
|
1611
|
-
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: i3$
|
|
1486
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierDetailTabS3DocumentsComponent, deps: [{ token: i1$1.ActivatedRoute }, { token: i2$1.DocumentService }, { token: i3$3.ToastrService }, { token: i4$1.UploadProviderService }, { token: i4$1.DownloadService }, { token: i3$1.PromptService }, { token: i6.TranslateService }, { token: i1.ConfigService }, { token: FileSortService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1487
|
+
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: i3$1.ListComponent, selector: "valtimo-list", inputs: ["items", "fields", "pagination", "viewMode", "isSearchable", "header", "actions", "paginationIdentifier", "initialSortState", "lastColumnTemplate"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged"] }, { kind: "component", type: i3$1.WidgetComponent, selector: "valtimo-widget", inputs: ["type", "name", "icon", "contrast", "divider", "title", "subtitle", "collapseAble", "collapse", "additionalClasses"] }, { kind: "component", type: i3$1.DropzoneComponent, selector: "valtimo-dropzone", inputs: ["title", "hideTitle", "subtitle", "externalError$", "maxFileSize", "showMaxFileSize", "acceptedFiles", "clear$", "disabled", "hideFilePreview", "uploading", "camera", "maxFiles"], outputs: ["fileSelected"] }, { kind: "pipe", type: i5$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
|
|
1612
1488
|
}
|
|
1613
1489
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierDetailTabS3DocumentsComponent, decorators: [{
|
|
1614
1490
|
type: Component,
|
|
1615
1491
|
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"] }]
|
|
1616
|
-
}], ctorParameters: function () { return [{ type: i1$1.ActivatedRoute }, { type: i2$1.DocumentService }, { type: i3$
|
|
1492
|
+
}], ctorParameters: function () { return [{ type: i1$1.ActivatedRoute }, { type: i2$1.DocumentService }, { type: i3$3.ToastrService }, { type: i4$1.UploadProviderService }, { type: i4$1.DownloadService }, { type: i3$1.PromptService }, { type: i6.TranslateService }, { type: i1.ConfigService }, { type: FileSortService }]; } });
|
|
1617
1493
|
|
|
1618
1494
|
/*
|
|
1619
1495
|
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
@@ -1642,7 +1518,7 @@ class DossierDetailTabDocumentsComponent {
|
|
|
1642
1518
|
this.s3UploadProvider = config.uploadProvider === UploadProvider.S3;
|
|
1643
1519
|
}
|
|
1644
1520
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierDetailTabDocumentsComponent, deps: [{ token: i1.ConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1645
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DossierDetailTabDocumentsComponent, selector: "valtimo-dossier-detail-tab-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-dossier-detail-tab-s3-documents\n *ngIf=\"s3UploadProvider || openZaakUploadProvider\"\n></valtimo-dossier-detail-tab-s3-documents>\n<valtimo-dossier-detail-tab-documenten-api-documents *ngIf=\"documentenApiUploadProvider\">\n</valtimo-dossier-detail-tab-documenten-api-documents>\n", styles: [""], dependencies: [{ kind: "directive", type:
|
|
1521
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DossierDetailTabDocumentsComponent, selector: "valtimo-dossier-detail-tab-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-dossier-detail-tab-s3-documents\n *ngIf=\"s3UploadProvider || openZaakUploadProvider\"\n></valtimo-dossier-detail-tab-s3-documents>\n<valtimo-dossier-detail-tab-documenten-api-documents *ngIf=\"documentenApiUploadProvider\">\n</valtimo-dossier-detail-tab-documenten-api-documents>\n", styles: [""], dependencies: [{ kind: "directive", type: i5$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DossierDetailTabDocumentenApiDocumentsComponent, selector: "valtimo-dossier-detail-tab-documenten-api-documents" }, { kind: "component", type: DossierDetailTabS3DocumentsComponent, selector: "valtimo-dossier-detail-tab-s3-documents" }] }); }
|
|
1646
1522
|
}
|
|
1647
1523
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierDetailTabDocumentsComponent, decorators: [{
|
|
1648
1524
|
type: Component,
|
|
@@ -1664,13 +1540,65 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
1664
1540
|
* See the License for the specific language governing permissions and
|
|
1665
1541
|
* limitations under the License.
|
|
1666
1542
|
*/
|
|
1667
|
-
|
|
1668
|
-
|
|
1669
|
-
|
|
1670
|
-
|
|
1671
|
-
|
|
1672
|
-
|
|
1673
|
-
|
|
1543
|
+
moment.locale(localStorage.getItem('langKey') || '');
|
|
1544
|
+
class DossierDetailTabContactMomentsComponent {
|
|
1545
|
+
constructor(contactMomentService, alertService, translateService) {
|
|
1546
|
+
this.contactMomentService = contactMomentService;
|
|
1547
|
+
this.alertService = alertService;
|
|
1548
|
+
this.translateService = translateService;
|
|
1549
|
+
this.refetchContactMoments$ = new BehaviorSubject('');
|
|
1550
|
+
this.contactMoments$ = this.refetchContactMoments$.pipe(switchMap$1(() => this.contactMomentService.getContactMoments()), map$1(contactMoments => contactMoments.map(contactMoment => {
|
|
1551
|
+
const registratieDatum = moment(contactMoment.registratiedatum);
|
|
1552
|
+
return new TimelineItemImpl(registratieDatum.format('DD MMM YYYY'), registratieDatum.format('HH:mm'), contactMoment.medewerkerIdentificatie.achternaam, contactMoment.kanaal, contactMoment.tekst, null);
|
|
1553
|
+
})));
|
|
1554
|
+
this.text$ = new BehaviorSubject('');
|
|
1555
|
+
this.channel$ = new BehaviorSubject('MAIL');
|
|
1556
|
+
this.requestData$ = combineLatest([this.text$, this.channel$]);
|
|
1557
|
+
this.valid$ = this.requestData$.pipe(map$1(([text, channel]) => !!(text && channel)));
|
|
1558
|
+
this.disabled$ = new BehaviorSubject(false);
|
|
1559
|
+
}
|
|
1560
|
+
textChange(text) {
|
|
1561
|
+
this.text$.next(text);
|
|
1562
|
+
}
|
|
1563
|
+
buttonClick() {
|
|
1564
|
+
this.modal.show();
|
|
1565
|
+
}
|
|
1566
|
+
saveNote() {
|
|
1567
|
+
this.disable();
|
|
1568
|
+
this.requestData$.pipe(take$1(1)).subscribe(([text, channel]) => {
|
|
1569
|
+
this.contactMomentService.saveContactMoment({ kanaal: channel, tekst: text }).subscribe(() => {
|
|
1570
|
+
this.alertService.success(this.translateService.instant('dossier.contactMoments.saveSuccess'));
|
|
1571
|
+
this.enable();
|
|
1572
|
+
this.clear();
|
|
1573
|
+
this.modal.hide();
|
|
1574
|
+
this.refetchContactMoments();
|
|
1575
|
+
}, () => {
|
|
1576
|
+
this.enable();
|
|
1577
|
+
});
|
|
1578
|
+
});
|
|
1579
|
+
}
|
|
1580
|
+
disable() {
|
|
1581
|
+
this.disabled$.next(true);
|
|
1582
|
+
}
|
|
1583
|
+
enable() {
|
|
1584
|
+
this.disabled$.next(false);
|
|
1585
|
+
}
|
|
1586
|
+
clear() {
|
|
1587
|
+
this.text$.next('');
|
|
1588
|
+
}
|
|
1589
|
+
refetchContactMoments() {
|
|
1590
|
+
this.refetchContactMoments$.next('');
|
|
1591
|
+
}
|
|
1592
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierDetailTabContactMomentsComponent, deps: [{ token: i1$2.ContactMomentService }, { token: i3$1.AlertService }, { token: i6.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1593
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DossierDetailTabContactMomentsComponent, selector: "valtimo-dossier-detail-tab-contact-moments", viewQueries: [{ propertyName: "modal", first: true, predicate: ["contactMomentsNoteModal"], 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=\"contact-moments-container\">\n <ng-container *ngTemplateOutlet=\"buttons\"></ng-container>\n <ng-container *ngTemplateOutlet=\"moments\"></ng-container>\n</div>\n\n<valtimo-modal\n #contactMomentsNoteModal\n [title]=\"'dossier.contactMoments.popupTitle' | translate\"\n [showFooter]=\"true\"\n [elementId]=\"'contact-moments-modal'\"\n>\n <div class=\"mt-2\" body>\n <ng-container *ngTemplateOutlet=\"body\"></ng-container>\n </div>\n <div footer>\n <ng-container *ngTemplateOutlet=\"footer\"></ng-container>\n </div>\n</valtimo-modal>\n\n<ng-template #body>\n <form>\n <div class=\"form-group row\">\n <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"body\">\n {{ 'dossier.contactMoments.noteText' | translate }}\n </label>\n <div class=\"col-12 col-sm-8 col-lg-6\">\n <textarea\n [disabled]=\"disabled$ | async\"\n class=\"form-control\"\n id=\"body\"\n name=\"body\"\n [ngModel]=\"text$ | async\"\n (ngModelChange)=\"textChange($event)\"\n ></textarea>\n </div>\n </div>\n </form>\n</ng-template>\n\n<ng-template #footer>\n <button\n *ngIf=\"(disabled$ | async) === false; else loading\"\n class=\"btn btn-primary\"\n [disabled]=\"(valid$ | async) === false || (disabled$ | async)\"\n (click)=\"saveNote()\"\n >\n {{ 'dossier.contactMoments.saveButtonText' | translate }}\n </button>\n</ng-template>\n\n<ng-template #loading>\n <valtimo-spinner [noMarginTop]=\"true\"></valtimo-spinner>\n</ng-template>\n\n<ng-template #buttons>\n <div class=\"btn-group mt-m3px mb-3 button-container\">\n <button class=\"btn btn-primary btn-space\" (click)=\"buttonClick()\">\n <i class=\"icon mdi mdi-note-plus\"></i>\n {{ 'dossier.contactMoments.makeNoteButton' | translate }}\n </button>\n </div>\n</ng-template>\n\n<ng-template #moments>\n <div *ngIf=\"contactMoments$ | async as contactMoments; else loading\">\n <valtimo-timeline [items]=\"contactMoments\"></valtimo-timeline>\n </div>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-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 */.contact-moments-container{display:flex;flex-direction:column}.button-container{display:inline;align-self:flex-end}\n"], dependencies: [{ kind: "directive", type: i5$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3$1.TimelineComponent, selector: "valtimo-timeline", inputs: ["items", "actions"] }, { kind: "directive", type: i5$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5$2.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i3$1.ModalComponent, selector: "valtimo-modal", inputs: ["elementId", "title", "subtitle", "templateBelowSubtitle", "showFooter"] }, { kind: "component", type: i3$1.SpinnerComponent, selector: "valtimo-spinner", inputs: ["useBootstrapSpinner", "name", "type", "size", "color", "bdColor", "fullScreen", "noMarginTop"] }, { kind: "pipe", type: i5$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
|
|
1594
|
+
}
|
|
1595
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierDetailTabContactMomentsComponent, decorators: [{
|
|
1596
|
+
type: Component,
|
|
1597
|
+
args: [{ selector: 'valtimo-dossier-detail-tab-contact-moments', 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=\"contact-moments-container\">\n <ng-container *ngTemplateOutlet=\"buttons\"></ng-container>\n <ng-container *ngTemplateOutlet=\"moments\"></ng-container>\n</div>\n\n<valtimo-modal\n #contactMomentsNoteModal\n [title]=\"'dossier.contactMoments.popupTitle' | translate\"\n [showFooter]=\"true\"\n [elementId]=\"'contact-moments-modal'\"\n>\n <div class=\"mt-2\" body>\n <ng-container *ngTemplateOutlet=\"body\"></ng-container>\n </div>\n <div footer>\n <ng-container *ngTemplateOutlet=\"footer\"></ng-container>\n </div>\n</valtimo-modal>\n\n<ng-template #body>\n <form>\n <div class=\"form-group row\">\n <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"body\">\n {{ 'dossier.contactMoments.noteText' | translate }}\n </label>\n <div class=\"col-12 col-sm-8 col-lg-6\">\n <textarea\n [disabled]=\"disabled$ | async\"\n class=\"form-control\"\n id=\"body\"\n name=\"body\"\n [ngModel]=\"text$ | async\"\n (ngModelChange)=\"textChange($event)\"\n ></textarea>\n </div>\n </div>\n </form>\n</ng-template>\n\n<ng-template #footer>\n <button\n *ngIf=\"(disabled$ | async) === false; else loading\"\n class=\"btn btn-primary\"\n [disabled]=\"(valid$ | async) === false || (disabled$ | async)\"\n (click)=\"saveNote()\"\n >\n {{ 'dossier.contactMoments.saveButtonText' | translate }}\n </button>\n</ng-template>\n\n<ng-template #loading>\n <valtimo-spinner [noMarginTop]=\"true\"></valtimo-spinner>\n</ng-template>\n\n<ng-template #buttons>\n <div class=\"btn-group mt-m3px mb-3 button-container\">\n <button class=\"btn btn-primary btn-space\" (click)=\"buttonClick()\">\n <i class=\"icon mdi mdi-note-plus\"></i>\n {{ 'dossier.contactMoments.makeNoteButton' | translate }}\n </button>\n </div>\n</ng-template>\n\n<ng-template #moments>\n <div *ngIf=\"contactMoments$ | async as contactMoments; else loading\">\n <valtimo-timeline [items]=\"contactMoments\"></valtimo-timeline>\n </div>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-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 */.contact-moments-container{display:flex;flex-direction:column}.button-container{display:inline;align-self:flex-end}\n"] }]
|
|
1598
|
+
}], ctorParameters: function () { return [{ type: i1$2.ContactMomentService }, { type: i3$1.AlertService }, { type: i6.TranslateService }]; }, propDecorators: { modal: [{
|
|
1599
|
+
type: ViewChild,
|
|
1600
|
+
args: ['contactMomentsNoteModal']
|
|
1601
|
+
}] } });
|
|
1674
1602
|
|
|
1675
1603
|
/*
|
|
1676
1604
|
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
@@ -1687,43 +1615,23 @@ const DEFAULT_TABS = new Map([
|
|
|
1687
1615
|
* See the License for the specific language governing permissions and
|
|
1688
1616
|
* limitations under the License.
|
|
1689
1617
|
*/
|
|
1690
|
-
class
|
|
1618
|
+
class DossierDetailTabZaakobjectenComponent {
|
|
1691
1619
|
constructor(route, zaakobjectenService, modalService) {
|
|
1692
1620
|
this.route = route;
|
|
1693
1621
|
this.zaakobjectenService = zaakobjectenService;
|
|
1694
1622
|
this.modalService = modalService;
|
|
1695
1623
|
this.documentId$ = this.route.params.pipe(map(params => params.documentId));
|
|
1696
1624
|
this.objecttypes$ = this.documentId$.pipe(switchMap(documentId => this.zaakobjectenService.getDocumentObjectTypes(documentId)));
|
|
1697
|
-
this.
|
|
1698
|
-
|
|
1699
|
-
const splitUrl = currentUrl.split('/');
|
|
1700
|
-
const lastUrlPart = splitUrl[splitUrl.length - 1];
|
|
1701
|
-
return lastUrlPart;
|
|
1702
|
-
}));
|
|
1703
|
-
this.selectedObjecttypeUrl$ = combineLatest([
|
|
1704
|
-
this.objecttypes$,
|
|
1705
|
-
this.objectName$,
|
|
1706
|
-
]).pipe(map(([objectTypes, objectName]) => {
|
|
1707
|
-
const currentType = objectTypes?.find(type => type?.name.toLowerCase() === objectName?.toLowerCase());
|
|
1708
|
-
const currentTypeUrl = currentType?.url;
|
|
1709
|
-
if (objectTypes && objectName && currentTypeUrl)
|
|
1710
|
-
return currentTypeUrl;
|
|
1711
|
-
return '';
|
|
1712
|
-
}));
|
|
1713
|
-
this.loading$ = new BehaviorSubject(true);
|
|
1714
|
-
this.hasData$ = new BehaviorSubject(false);
|
|
1625
|
+
this.objecttypeSelectItems$ = this.objecttypes$.pipe(map(objecttypes => objecttypes.map(type => ({ id: type.url, text: type.name || '-' }))));
|
|
1626
|
+
this.selectedObjecttypeUrl$ = new BehaviorSubject(null);
|
|
1715
1627
|
this.objects$ = combineLatest([
|
|
1716
1628
|
this.documentId$,
|
|
1717
1629
|
this.selectedObjecttypeUrl$,
|
|
1718
1630
|
]).pipe(switchMap(([documentId, selectedObjecttypeUrl]) => documentId && selectedObjecttypeUrl
|
|
1719
|
-
? this.zaakobjectenService
|
|
1720
|
-
|
|
1721
|
-
|
|
1722
|
-
|
|
1723
|
-
: of(null).pipe(tap(() => {
|
|
1724
|
-
this.loading$.next(false);
|
|
1725
|
-
this.hasData$.next(false);
|
|
1726
|
-
}))));
|
|
1631
|
+
? this.zaakobjectenService
|
|
1632
|
+
.getDocumentObjectsOfType(documentId, selectedObjecttypeUrl)
|
|
1633
|
+
.pipe(map(objects => objects.map(object => ({ ...object, title: object.title || '-' }))))
|
|
1634
|
+
: of(null)));
|
|
1727
1635
|
this.columns$ = new BehaviorSubject([
|
|
1728
1636
|
{
|
|
1729
1637
|
labelTranslationKey: 'dossier.zaakobjecten.index',
|
|
@@ -1739,9 +1647,13 @@ class DossierDetailTabObjectTypeComponent {
|
|
|
1739
1647
|
},
|
|
1740
1648
|
]);
|
|
1741
1649
|
this.objectForm$ = new BehaviorSubject(null);
|
|
1650
|
+
this.objectName$ = new BehaviorSubject('');
|
|
1742
1651
|
this.noFormDefinitionComponent$ = new BehaviorSubject(false);
|
|
1743
1652
|
}
|
|
1744
|
-
|
|
1653
|
+
selectObjectType(objectTypeUrl) {
|
|
1654
|
+
this.selectedObjecttypeUrl$.next(objectTypeUrl);
|
|
1655
|
+
}
|
|
1656
|
+
rowClicked(object, objectTypeSelectItems) {
|
|
1745
1657
|
this.documentId$.pipe(take$1(1)).subscribe(documentId => {
|
|
1746
1658
|
this.zaakobjectenService.getObjectTypeForm(documentId, object.url).subscribe(res => {
|
|
1747
1659
|
const definition = res.formDefinition;
|
|
@@ -1749,21 +1661,27 @@ class DossierDetailTabObjectTypeComponent {
|
|
|
1749
1661
|
...component,
|
|
1750
1662
|
disabled: true,
|
|
1751
1663
|
}));
|
|
1752
|
-
this.setModalData(definition);
|
|
1664
|
+
this.setModalData(objectTypeSelectItems, definition);
|
|
1753
1665
|
}, () => {
|
|
1754
|
-
this.setModalData();
|
|
1666
|
+
this.setModalData(objectTypeSelectItems);
|
|
1755
1667
|
});
|
|
1756
1668
|
});
|
|
1757
1669
|
}
|
|
1758
1670
|
hide() {
|
|
1759
1671
|
this.modalService.closeModal(() => {
|
|
1672
|
+
this.objectName$.next('');
|
|
1760
1673
|
this.objectForm$.next(null);
|
|
1761
1674
|
});
|
|
1762
1675
|
}
|
|
1763
1676
|
show() {
|
|
1764
|
-
this.modalService.openModal(this.
|
|
1677
|
+
this.modalService.openModal(this.viewZaakobjectModal);
|
|
1765
1678
|
}
|
|
1766
|
-
|
|
1679
|
+
getObjectTypeName(objectTypeSelectItems) {
|
|
1680
|
+
const selectedObjectTypeUrl = this.selectedObjecttypeUrl$.getValue();
|
|
1681
|
+
const currentTypeSelectItem = objectTypeSelectItems.find(selectItem => selectItem.id === selectedObjectTypeUrl);
|
|
1682
|
+
return currentTypeSelectItem.text;
|
|
1683
|
+
}
|
|
1684
|
+
setModalData(objectTypeSelectItems, definition) {
|
|
1767
1685
|
if (definition) {
|
|
1768
1686
|
this.objectForm$.next(definition);
|
|
1769
1687
|
this.noFormDefinitionComponent$.next(false);
|
|
@@ -1771,17 +1689,18 @@ class DossierDetailTabObjectTypeComponent {
|
|
|
1771
1689
|
else {
|
|
1772
1690
|
this.noFormDefinitionComponent$.next(true);
|
|
1773
1691
|
}
|
|
1692
|
+
this.objectName$.next(this.getObjectTypeName(objectTypeSelectItems));
|
|
1774
1693
|
this.show();
|
|
1775
1694
|
}
|
|
1776
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type:
|
|
1777
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type:
|
|
1695
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierDetailTabZaakobjectenComponent, deps: [{ token: i1$1.ActivatedRoute }, { token: ZaakobjectenService }, { token: i3$1.ModalService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1696
|
+
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: i5$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$1.FormioComponent, selector: "valtimo-form-io", inputs: ["form", "options", "submission", "readOnly", "formRefresh$"], outputs: ["submit", "change"] }, { kind: "component", type: i3$1.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$1.InputLabelComponent, selector: "v-input-label", inputs: ["name", "tooltip", "largeMargin", "small", "title", "titleTranslationKey", "required", "disabled", "carbonTheme"] }, { kind: "component", type: i3$1.ParagraphComponent, selector: "v-paragraph", inputs: ["center", "fullWidth", "margin", "italic", "loading"] }, { kind: "component", type: i3$1.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$1.VModalComponent, selector: "v-modal", inputs: ["appearingDelayMs", "maxWidthPx", "hideFooter"], outputs: ["closeEvent"] }, { kind: "component", type: i3$1.TitleComponent, selector: "v-title", inputs: ["type", "margin", "fullWidth", "center"] }, { kind: "pipe", type: i5$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
|
|
1778
1697
|
}
|
|
1779
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type:
|
|
1698
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierDetailTabZaakobjectenComponent, decorators: [{
|
|
1780
1699
|
type: Component,
|
|
1781
|
-
args: [{ selector: 'valtimo-
|
|
1782
|
-
}], ctorParameters: function () { return [{ type: i1$1.ActivatedRoute }, { type: ZaakobjectenService }, { type: i3$
|
|
1700
|
+
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"] }]
|
|
1701
|
+
}], ctorParameters: function () { return [{ type: i1$1.ActivatedRoute }, { type: ZaakobjectenService }, { type: i3$1.ModalService }]; }, propDecorators: { viewZaakobjectModal: [{
|
|
1783
1702
|
type: ViewChild,
|
|
1784
|
-
args: ['
|
|
1703
|
+
args: ['viewZaakobjectModal']
|
|
1785
1704
|
}] } });
|
|
1786
1705
|
|
|
1787
1706
|
/*
|
|
@@ -1799,62 +1718,44 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
1799
1718
|
* See the License for the specific language governing permissions and
|
|
1800
1719
|
* limitations under the License.
|
|
1801
1720
|
*/
|
|
1802
|
-
|
|
1803
|
-
|
|
1804
|
-
|
|
1805
|
-
|
|
1806
|
-
|
|
1807
|
-
|
|
1808
|
-
|
|
1809
|
-
|
|
1810
|
-
|
|
1811
|
-
|
|
1812
|
-
|
|
1813
|
-
|
|
1814
|
-
|
|
1815
|
-
|
|
1816
|
-
|
|
1817
|
-
|
|
1818
|
-
|
|
1819
|
-
|
|
1820
|
-
|
|
1821
|
-
|
|
1822
|
-
|
|
1823
|
-
|
|
1824
|
-
|
|
1825
|
-
|
|
1826
|
-
|
|
1827
|
-
|
|
1828
|
-
|
|
1829
|
-
|
|
1830
|
-
|
|
1831
|
-
|
|
1832
|
-
|
|
1833
|
-
|
|
1834
|
-
|
|
1835
|
-
|
|
1836
|
-
|
|
1837
|
-
|
|
1838
|
-
|
|
1839
|
-
|
|
1840
|
-
this.router.events.subscribe((event) => {
|
|
1841
|
-
if (event instanceof NavigationEnd) {
|
|
1842
|
-
this.setTabs(this.extraTabs);
|
|
1843
|
-
}
|
|
1844
|
-
});
|
|
1845
|
-
}
|
|
1846
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TabService, deps: [{ token: TAB_MAP }, { token: i1.ConfigService }, { token: i1$1.ActivatedRoute }, { token: i1$1.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1847
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TabService, providedIn: 'root' }); }
|
|
1848
|
-
}
|
|
1849
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TabService, decorators: [{
|
|
1850
|
-
type: Injectable,
|
|
1851
|
-
args: [{
|
|
1852
|
-
providedIn: 'root',
|
|
1853
|
-
}]
|
|
1854
|
-
}], ctorParameters: function () { return [{ type: Map, decorators: [{
|
|
1855
|
-
type: Inject,
|
|
1856
|
-
args: [TAB_MAP]
|
|
1857
|
-
}] }, { type: i1.ConfigService }, { type: i1$1.ActivatedRoute }, { type: i1$1.Router }]; } });
|
|
1721
|
+
var PERMISSION_ACTION;
|
|
1722
|
+
(function (PERMISSION_ACTION) {
|
|
1723
|
+
PERMISSION_ACTION["add"] = "create";
|
|
1724
|
+
PERMISSION_ACTION["assign"] = "assign";
|
|
1725
|
+
PERMISSION_ACTION["claim"] = "claim";
|
|
1726
|
+
PERMISSION_ACTION["delete"] = "delete";
|
|
1727
|
+
PERMISSION_ACTION["edit"] = "modify";
|
|
1728
|
+
})(PERMISSION_ACTION || (PERMISSION_ACTION = {}));
|
|
1729
|
+
var DOSSIER_DETAIL_PERMISSION_RESOURCE;
|
|
1730
|
+
(function (DOSSIER_DETAIL_PERMISSION_RESOURCE) {
|
|
1731
|
+
DOSSIER_DETAIL_PERMISSION_RESOURCE["jsonSchemaDocument"] = "com.ritense.document.domain.impl.JsonSchemaDocument";
|
|
1732
|
+
DOSSIER_DETAIL_PERMISSION_RESOURCE["note"] = "com.ritense.note.domain.Note";
|
|
1733
|
+
DOSSIER_DETAIL_PERMISSION_RESOURCE["jsonSchemaDocumentDefinition"] = "com.ritense.document.domain.impl.JsonSchemaDocumentDefinition";
|
|
1734
|
+
})(DOSSIER_DETAIL_PERMISSION_RESOURCE || (DOSSIER_DETAIL_PERMISSION_RESOURCE = {}));
|
|
1735
|
+
const CAN_CLAIM_CASE_PERMISSION = {
|
|
1736
|
+
action: PERMISSION_ACTION.claim,
|
|
1737
|
+
resource: DOSSIER_DETAIL_PERMISSION_RESOURCE.jsonSchemaDocument,
|
|
1738
|
+
};
|
|
1739
|
+
const CAN_ADD_NOTE_PERMISSION = {
|
|
1740
|
+
action: PERMISSION_ACTION.add,
|
|
1741
|
+
resource: DOSSIER_DETAIL_PERMISSION_RESOURCE.note,
|
|
1742
|
+
};
|
|
1743
|
+
const CAN_DELETE_NOTE_PERMISSION = {
|
|
1744
|
+
action: PERMISSION_ACTION.delete,
|
|
1745
|
+
resource: DOSSIER_DETAIL_PERMISSION_RESOURCE.note,
|
|
1746
|
+
};
|
|
1747
|
+
const CAN_EDIT_NOTE_PERMISSION = {
|
|
1748
|
+
action: PERMISSION_ACTION.edit,
|
|
1749
|
+
resource: DOSSIER_DETAIL_PERMISSION_RESOURCE.note,
|
|
1750
|
+
};
|
|
1751
|
+
const CAN_ASSIGN_CASE_PERMISSION = {
|
|
1752
|
+
action: PERMISSION_ACTION.assign,
|
|
1753
|
+
resource: DOSSIER_DETAIL_PERMISSION_RESOURCE.jsonSchemaDocument,
|
|
1754
|
+
};
|
|
1755
|
+
const CAN_CREATE_CASE_PERMISSION = {
|
|
1756
|
+
action: PERMISSION_ACTION.add,
|
|
1757
|
+
resource: DOSSIER_DETAIL_PERMISSION_RESOURCE.jsonSchemaDocument,
|
|
1758
|
+
};
|
|
1858
1759
|
|
|
1859
1760
|
/*
|
|
1860
1761
|
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
@@ -1871,93 +1772,77 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
1871
1772
|
* See the License for the specific language governing permissions and
|
|
1872
1773
|
* limitations under the License.
|
|
1873
1774
|
*/
|
|
1874
|
-
|
|
1875
|
-
|
|
1876
|
-
|
|
1877
|
-
|
|
1878
|
-
|
|
1879
|
-
|
|
1880
|
-
|
|
1881
|
-
|
|
1882
|
-
|
|
1883
|
-
|
|
1884
|
-
|
|
1885
|
-
|
|
1886
|
-
|
|
1887
|
-
|
|
1775
|
+
|
|
1776
|
+
/*
|
|
1777
|
+
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
1778
|
+
*
|
|
1779
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
1780
|
+
* you may not use this file except in compliance with the License.
|
|
1781
|
+
* You may obtain a copy of the License at
|
|
1782
|
+
*
|
|
1783
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
1784
|
+
*
|
|
1785
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1786
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
1787
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1788
|
+
* See the License for the specific language governing permissions and
|
|
1789
|
+
* limitations under the License.
|
|
1790
|
+
*/
|
|
1791
|
+
class NotesService {
|
|
1792
|
+
constructor(configService, http) {
|
|
1793
|
+
this.configService = configService;
|
|
1794
|
+
this.http = http;
|
|
1795
|
+
this.VALTIMO_API_ENDPOINT_URI = this.configService.config.valtimoApi.endpointUri;
|
|
1796
|
+
this._showModal$ = new Subject();
|
|
1797
|
+
this._hideModal$ = new Subject();
|
|
1798
|
+
this._refresh$ = new BehaviorSubject(null);
|
|
1799
|
+
this._modalType$ = new BehaviorSubject('add');
|
|
1888
1800
|
}
|
|
1889
|
-
|
|
1890
|
-
this.
|
|
1891
|
-
this.formDefinition = null;
|
|
1892
|
-
this.formFlowInstanceId = null;
|
|
1893
|
-
this.processService
|
|
1894
|
-
.getProcessDefinitionStartProcessLink(this.processDefinitionId, this.documentId, null)
|
|
1895
|
-
.pipe(take$1(1))
|
|
1896
|
-
.subscribe(startProcessResult => {
|
|
1897
|
-
if (startProcessResult) {
|
|
1898
|
-
switch (startProcessResult.type) {
|
|
1899
|
-
case 'form':
|
|
1900
|
-
this.formDefinition = startProcessResult.properties.prefilledForm;
|
|
1901
|
-
this.processLinkId = startProcessResult.processLinkId;
|
|
1902
|
-
break;
|
|
1903
|
-
case 'form-flow':
|
|
1904
|
-
this.formFlowInstanceId = startProcessResult.properties.formFlowInstanceId;
|
|
1905
|
-
break;
|
|
1906
|
-
}
|
|
1907
|
-
}
|
|
1908
|
-
this.modal.show();
|
|
1909
|
-
});
|
|
1801
|
+
getDocumentNotes(documentId, params) {
|
|
1802
|
+
return this.http.get(`${this.VALTIMO_API_ENDPOINT_URI}v1/document/${documentId}/note`, { params });
|
|
1910
1803
|
}
|
|
1911
|
-
|
|
1912
|
-
this.documentId
|
|
1913
|
-
this.documentDefinitionName = processDocumentDefinition.id.documentDefinitionId.name;
|
|
1914
|
-
this.processDefinitionKey = processDocumentDefinition.id.processDefinitionKey;
|
|
1915
|
-
this.processDefinitionId = processDocumentDefinition.latestVersionId;
|
|
1916
|
-
this.processName = processDocumentDefinition.processName;
|
|
1917
|
-
this.options = new FormioOptionsImpl();
|
|
1918
|
-
this.options.disableAlerts = true;
|
|
1919
|
-
const formioBeforeSubmit = function (submission, callback) {
|
|
1920
|
-
callback(null, submission);
|
|
1921
|
-
};
|
|
1922
|
-
this.options.setHooks(formioBeforeSubmit);
|
|
1923
|
-
this.loadProcessLink();
|
|
1804
|
+
createDocumentNote(documentId, request) {
|
|
1805
|
+
return this.http.post(`${this.VALTIMO_API_ENDPOINT_URI}v1/document/${documentId}/note`, request);
|
|
1924
1806
|
}
|
|
1925
|
-
|
|
1926
|
-
this.
|
|
1927
|
-
this.processLinkService
|
|
1928
|
-
.submitForm(this.processLinkId, submission.data, this.documentId)
|
|
1929
|
-
.subscribe({
|
|
1930
|
-
next: (formSubmissionResult) => {
|
|
1931
|
-
this.formSubmitted();
|
|
1932
|
-
},
|
|
1933
|
-
error: errors => {
|
|
1934
|
-
this.form.showErrors(errors);
|
|
1935
|
-
},
|
|
1936
|
-
});
|
|
1807
|
+
updateNote(noteId, request) {
|
|
1808
|
+
return this.http.put(`${this.VALTIMO_API_ENDPOINT_URI}v1/note/${noteId}`, request);
|
|
1937
1809
|
}
|
|
1938
|
-
|
|
1939
|
-
this.
|
|
1940
|
-
this.formSubmit.emit();
|
|
1810
|
+
deleteNote(noteId) {
|
|
1811
|
+
return this.http.delete(`${this.VALTIMO_API_ENDPOINT_URI}v1/note/${noteId}`);
|
|
1941
1812
|
}
|
|
1942
|
-
|
|
1943
|
-
this.
|
|
1944
|
-
|
|
1813
|
+
get showModal$() {
|
|
1814
|
+
return this._showModal$.asObservable();
|
|
1815
|
+
}
|
|
1816
|
+
get hideModal$() {
|
|
1817
|
+
return this._hideModal$.asObservable();
|
|
1818
|
+
}
|
|
1819
|
+
get refresh$() {
|
|
1820
|
+
return this._refresh$.asObservable();
|
|
1821
|
+
}
|
|
1822
|
+
get modalType$() {
|
|
1823
|
+
return this._modalType$.asObservable();
|
|
1824
|
+
}
|
|
1825
|
+
showModal() {
|
|
1826
|
+
this._showModal$.next(null);
|
|
1827
|
+
}
|
|
1828
|
+
hideModal() {
|
|
1829
|
+
this._hideModal$.next(null);
|
|
1830
|
+
}
|
|
1831
|
+
refresh() {
|
|
1832
|
+
this._refresh$.next(null);
|
|
1833
|
+
}
|
|
1834
|
+
setModalType(type) {
|
|
1835
|
+
this._modalType$.next(type);
|
|
1945
1836
|
}
|
|
1946
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type:
|
|
1947
|
-
static { this.ɵ
|
|
1837
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NotesService, deps: [{ token: i1.ConfigService }, { token: i2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1838
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NotesService, providedIn: 'root' }); }
|
|
1948
1839
|
}
|
|
1949
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type:
|
|
1950
|
-
type:
|
|
1951
|
-
args: [{
|
|
1952
|
-
|
|
1953
|
-
|
|
1954
|
-
|
|
1955
|
-
}], modal: [{
|
|
1956
|
-
type: ViewChild,
|
|
1957
|
-
args: ['supportingProcessStartModal', { static: false }]
|
|
1958
|
-
}], formSubmit: [{
|
|
1959
|
-
type: Output
|
|
1960
|
-
}] } });
|
|
1840
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NotesService, decorators: [{
|
|
1841
|
+
type: Injectable,
|
|
1842
|
+
args: [{
|
|
1843
|
+
providedIn: 'root',
|
|
1844
|
+
}]
|
|
1845
|
+
}], ctorParameters: function () { return [{ type: i1.ConfigService }, { type: i2.HttpClient }]; } });
|
|
1961
1846
|
|
|
1962
1847
|
/*
|
|
1963
1848
|
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
@@ -1974,234 +1859,405 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
1974
1859
|
* See the License for the specific language governing permissions and
|
|
1975
1860
|
* limitations under the License.
|
|
1976
1861
|
*/
|
|
1977
|
-
class
|
|
1978
|
-
|
|
1979
|
-
this.
|
|
1862
|
+
class NoteModalComponent {
|
|
1863
|
+
constructor(notesService, modalService) {
|
|
1864
|
+
this.notesService = notesService;
|
|
1865
|
+
this.modalService = modalService;
|
|
1866
|
+
this.createNoteEvent = new EventEmitter();
|
|
1867
|
+
this.editNoteEvent = new EventEmitter();
|
|
1868
|
+
this.valid$ = new BehaviorSubject(false);
|
|
1869
|
+
this.showForm$ = this.modalService.modalVisible$;
|
|
1870
|
+
this.formData$ = new BehaviorSubject(null);
|
|
1871
|
+
this.modalType$ = this.notesService.modalType$;
|
|
1872
|
+
this.returnToFirstStepSubject$ = new Subject();
|
|
1980
1873
|
}
|
|
1981
|
-
|
|
1982
|
-
this.
|
|
1874
|
+
ngAfterViewInit() {
|
|
1875
|
+
this.openShowSubscription();
|
|
1876
|
+
this.openHideSubscription();
|
|
1983
1877
|
}
|
|
1984
|
-
|
|
1985
|
-
this.
|
|
1878
|
+
ngOnDestroy() {
|
|
1879
|
+
this.showSubscription?.unsubscribe();
|
|
1880
|
+
this.hideSubscription?.unsubscribe();
|
|
1986
1881
|
}
|
|
1987
|
-
|
|
1988
|
-
this.
|
|
1989
|
-
this.
|
|
1990
|
-
this.
|
|
1991
|
-
this.disabled$ = new BehaviorSubject(true);
|
|
1992
|
-
this.documentId$ = new BehaviorSubject('');
|
|
1993
|
-
this.userItems$ = this.documentId$.pipe(filter(documentId => !!documentId), switchMap(documentId => this.hasPermission ? this.documentService.getCandidateUsers(documentId) : of([])), map(candidateUsers => this.mapUsersForDropdown(candidateUsers)), tap$1(() => this.enable()));
|
|
1994
|
-
this.assigneeId$ = new BehaviorSubject('');
|
|
1995
|
-
this.assigneeFullName$ = new BehaviorSubject('');
|
|
1882
|
+
hide() {
|
|
1883
|
+
this.formData$.next(null);
|
|
1884
|
+
this.valid$.next(false);
|
|
1885
|
+
this.modalService.closeModal();
|
|
1996
1886
|
}
|
|
1997
|
-
|
|
1998
|
-
this.
|
|
1999
|
-
this.documentId$
|
|
2000
|
-
.pipe(switchMap(documentId => this.documentService.assignHandlerToDocument(documentId, userId)))
|
|
2001
|
-
.subscribe(() => {
|
|
2002
|
-
this.emitChange();
|
|
2003
|
-
this.enable();
|
|
2004
|
-
});
|
|
1887
|
+
cancel() {
|
|
1888
|
+
this.hide();
|
|
2005
1889
|
}
|
|
2006
|
-
|
|
2007
|
-
this.
|
|
2008
|
-
|
|
2009
|
-
.
|
|
2010
|
-
|
|
2011
|
-
|
|
2012
|
-
|
|
1890
|
+
save() {
|
|
1891
|
+
combineLatest([this.valid$, this.formData$])
|
|
1892
|
+
.pipe(take$1(1))
|
|
1893
|
+
.subscribe(([valid, formData]) => {
|
|
1894
|
+
if (valid) {
|
|
1895
|
+
this.createNoteEvent.emit(formData);
|
|
1896
|
+
}
|
|
2013
1897
|
});
|
|
2014
1898
|
}
|
|
2015
|
-
|
|
2016
|
-
|
|
2017
|
-
.
|
|
2018
|
-
|
|
2019
|
-
|
|
1899
|
+
emitNoteData() {
|
|
1900
|
+
combineLatest([this.valid$, this.formData$, this.modalType$])
|
|
1901
|
+
.pipe(take$1(1))
|
|
1902
|
+
.subscribe(([valid, formData, modalType]) => {
|
|
1903
|
+
if (valid) {
|
|
1904
|
+
if (modalType === 'add') {
|
|
1905
|
+
this.createNoteEvent.emit(formData);
|
|
1906
|
+
}
|
|
1907
|
+
else {
|
|
1908
|
+
this.editNoteEvent.emit({ formData, data: this.customData });
|
|
1909
|
+
}
|
|
2020
1910
|
}
|
|
2021
|
-
|
|
2022
|
-
})
|
|
2023
|
-
.map(user => ({ text: user.label, id: user.id }));
|
|
1911
|
+
});
|
|
2024
1912
|
}
|
|
2025
|
-
|
|
2026
|
-
this.
|
|
1913
|
+
openShowSubscription() {
|
|
1914
|
+
this.showSubscription = this.notesService.showModal$.subscribe(() => {
|
|
1915
|
+
this.show();
|
|
1916
|
+
});
|
|
2027
1917
|
}
|
|
2028
|
-
|
|
2029
|
-
this.
|
|
1918
|
+
openHideSubscription() {
|
|
1919
|
+
this.hideSubscription = this.notesService.hideModal$.subscribe(() => {
|
|
1920
|
+
this.hide();
|
|
1921
|
+
});
|
|
2030
1922
|
}
|
|
2031
|
-
|
|
2032
|
-
this.
|
|
1923
|
+
show() {
|
|
1924
|
+
this.notesService.modalType$.pipe(take$1(1)).subscribe(() => {
|
|
1925
|
+
this.modalService.openModal(this.noteModal);
|
|
1926
|
+
});
|
|
2033
1927
|
}
|
|
2034
|
-
|
|
2035
|
-
|
|
1928
|
+
formValueChange(data) {
|
|
1929
|
+
this.formData$.next(data);
|
|
1930
|
+
this.setValid(data);
|
|
1931
|
+
}
|
|
1932
|
+
setValid(data) {
|
|
1933
|
+
this.valid$.next(!!data.content);
|
|
1934
|
+
}
|
|
1935
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NoteModalComponent, deps: [{ token: NotesService }, { token: i3$1.ModalService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1936
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NoteModalComponent, selector: "valtimo-note-modal", inputs: { customData: "customData" }, outputs: { createNoteEvent: "createNoteEvent", editNoteEvent: "editNoteEvent" }, viewQueries: [{ propertyName: "noteModal", first: true, predicate: ["noteModal"], 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<v-modal\n #noteModal\n *ngIf=\"{disabled: disabled$ | async, valid: valid$ | async, modalType: modalType$ | async} as obs\"\n>\n <div role=\"header\">\n <div class=\"add-note-title\">\n <v-title [margin]=\"false\">{{\n (obs.modalType === 'add' ? 'dossier.notes.addNote' : 'dossier.notes.modifyNote') | translate\n }}</v-title>\n </div>\n </div>\n <div role=\"content\">\n <ng-container *ngTemplateOutlet=\"form\"></ng-container>\n </div>\n <div role=\"footer\">\n <div class=\"buttons\">\n <v-button (clickEvent)=\"cancel()\" [disabled]=\"obs.disabled\" type=\"secondary\">\n {{ 'document.cancel' | translate }}\n </v-button>\n <ng-container\n *ngTemplateOutlet=\"\n obs.modalType === 'add' ? addNoteButton : editNoteButton;\n context: {obs: obs}\n \"\n ></ng-container>\n </div>\n </div>\n</v-modal>\n\n<ng-template #addNoteButton let-obs=\"obs\">\n <v-button\n (clickEvent)=\"emitNoteData()\"\n [disabled]=\"obs.disabled || !obs.valid\"\n mdiIcon=\"plus\"\n type=\"success\"\n >\n {{ 'dossier.notes.addNote' | translate }}\n </v-button>\n</ng-template>\n<ng-template #editNoteButton let-obs=\"obs\">\n <v-button\n [disabled]=\"obs.disabled || !obs.valid\"\n (clickEvent)=\"emitNoteData()\"\n mdiIcon=\"pencil\"\n type=\"success\"\n >\n {{ 'dossier.notes.modifyNote' | translate }}\n </v-button>\n</ng-template>\n\n<ng-template #form>\n <ng-container *ngIf=\"showForm$ | async\">\n <v-form (valueChange)=\"formValueChange($event)\">\n <v-input\n type=\"textarea\"\n [margin]=\"true\"\n [required]=\"true\"\n [title]=\"'dossier.notes.input.content' | translate\"\n name=\"content\"\n [fullWidth]=\"true\"\n [rows]=\"10\"\n [defaultValue]=\"customData?.summaryTranslationKey || ''\"\n >\n </v-input>\n </v-form>\n </ng-container>\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 */.buttons,.add-note-title{width:100%;display:flex;flex-direction:row;justify-content:space-between}.add-note-title{justify-content:center}\n"], dependencies: [{ kind: "directive", type: i5$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3$1.VModalComponent, selector: "v-modal", inputs: ["appearingDelayMs", "maxWidthPx", "hideFooter"], outputs: ["closeEvent"] }, { kind: "component", type: i3$1.TitleComponent, selector: "v-title", inputs: ["type", "margin", "fullWidth", "center"] }, { kind: "component", type: i3$1.ButtonComponent, selector: "v-button", inputs: ["type", "mdiIcon", "disabled", "title", "titleTranslationKey"], outputs: ["clickEvent"] }, { kind: "component", type: i3$1.InputComponent, selector: "v-input", inputs: ["name", "type", "title", "titleTranslationKey", "defaultValue", "widthPx", "fullWidth", "margin", "smallMargin", "disabled", "step", "min", "maxLength", "tooltip", "required", "hideNumberSpinBox", "smallLabel", "rows", "clear$", "carbonTheme", "placeholder"], outputs: ["valueChange"] }, { kind: "component", type: i3$1.FormComponent, selector: "v-form", inputs: ["className"], outputs: ["valueChange"] }, { kind: "pipe", type: i5$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
|
|
2036
1937
|
}
|
|
2037
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type:
|
|
1938
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NoteModalComponent, decorators: [{
|
|
2038
1939
|
type: Component,
|
|
2039
|
-
args: [{ selector: 'valtimo-
|
|
2040
|
-
}], ctorParameters: function () { return [{ type:
|
|
2041
|
-
type:
|
|
2042
|
-
|
|
2043
|
-
|
|
2044
|
-
}], assigneeFullName: [{
|
|
2045
|
-
type: Input
|
|
2046
|
-
}], hasPermission: [{
|
|
1940
|
+
args: [{ selector: 'valtimo-note-modal', 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<v-modal\n #noteModal\n *ngIf=\"{disabled: disabled$ | async, valid: valid$ | async, modalType: modalType$ | async} as obs\"\n>\n <div role=\"header\">\n <div class=\"add-note-title\">\n <v-title [margin]=\"false\">{{\n (obs.modalType === 'add' ? 'dossier.notes.addNote' : 'dossier.notes.modifyNote') | translate\n }}</v-title>\n </div>\n </div>\n <div role=\"content\">\n <ng-container *ngTemplateOutlet=\"form\"></ng-container>\n </div>\n <div role=\"footer\">\n <div class=\"buttons\">\n <v-button (clickEvent)=\"cancel()\" [disabled]=\"obs.disabled\" type=\"secondary\">\n {{ 'document.cancel' | translate }}\n </v-button>\n <ng-container\n *ngTemplateOutlet=\"\n obs.modalType === 'add' ? addNoteButton : editNoteButton;\n context: {obs: obs}\n \"\n ></ng-container>\n </div>\n </div>\n</v-modal>\n\n<ng-template #addNoteButton let-obs=\"obs\">\n <v-button\n (clickEvent)=\"emitNoteData()\"\n [disabled]=\"obs.disabled || !obs.valid\"\n mdiIcon=\"plus\"\n type=\"success\"\n >\n {{ 'dossier.notes.addNote' | translate }}\n </v-button>\n</ng-template>\n<ng-template #editNoteButton let-obs=\"obs\">\n <v-button\n [disabled]=\"obs.disabled || !obs.valid\"\n (clickEvent)=\"emitNoteData()\"\n mdiIcon=\"pencil\"\n type=\"success\"\n >\n {{ 'dossier.notes.modifyNote' | translate }}\n </v-button>\n</ng-template>\n\n<ng-template #form>\n <ng-container *ngIf=\"showForm$ | async\">\n <v-form (valueChange)=\"formValueChange($event)\">\n <v-input\n type=\"textarea\"\n [margin]=\"true\"\n [required]=\"true\"\n [title]=\"'dossier.notes.input.content' | translate\"\n name=\"content\"\n [fullWidth]=\"true\"\n [rows]=\"10\"\n [defaultValue]=\"customData?.summaryTranslationKey || ''\"\n >\n </v-input>\n </v-form>\n </ng-container>\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 */.buttons,.add-note-title{width:100%;display:flex;flex-direction:row;justify-content:space-between}.add-note-title{justify-content:center}\n"] }]
|
|
1941
|
+
}], ctorParameters: function () { return [{ type: NotesService }, { type: i3$1.ModalService }]; }, propDecorators: { noteModal: [{
|
|
1942
|
+
type: ViewChild,
|
|
1943
|
+
args: ['noteModal']
|
|
1944
|
+
}], customData: [{
|
|
2047
1945
|
type: Input
|
|
2048
|
-
}],
|
|
1946
|
+
}], createNoteEvent: [{
|
|
1947
|
+
type: Output
|
|
1948
|
+
}], editNoteEvent: [{
|
|
2049
1949
|
type: Output
|
|
2050
1950
|
}] } });
|
|
2051
1951
|
|
|
2052
|
-
|
|
2053
|
-
|
|
2054
|
-
|
|
2055
|
-
|
|
2056
|
-
|
|
2057
|
-
|
|
2058
|
-
|
|
2059
|
-
|
|
2060
|
-
|
|
2061
|
-
|
|
1952
|
+
/*
|
|
1953
|
+
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
1954
|
+
*
|
|
1955
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
1956
|
+
* you may not use this file except in compliance with the License.
|
|
1957
|
+
* You may obtain a copy of the License at
|
|
1958
|
+
*
|
|
1959
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
1960
|
+
*
|
|
1961
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1962
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
1963
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1964
|
+
* See the License for the specific language governing permissions and
|
|
1965
|
+
* limitations under the License.
|
|
1966
|
+
*/
|
|
1967
|
+
class DossierDetailTabNotesComponent {
|
|
1968
|
+
constructor(notesService, permissionService, promptService, route, toastrService, translateService) {
|
|
1969
|
+
this.notesService = notesService;
|
|
2062
1970
|
this.permissionService = permissionService;
|
|
1971
|
+
this.promptService = promptService;
|
|
2063
1972
|
this.route = route;
|
|
2064
|
-
this.
|
|
2065
|
-
this.tabService = tabService;
|
|
1973
|
+
this.toastrService = toastrService;
|
|
2066
1974
|
this.translateService = translateService;
|
|
2067
|
-
this.
|
|
2068
|
-
this.
|
|
2069
|
-
this.
|
|
2070
|
-
this.
|
|
2071
|
-
this.
|
|
2072
|
-
this.
|
|
2073
|
-
|
|
2074
|
-
|
|
2075
|
-
|
|
2076
|
-
|
|
2077
|
-
this.document = document;
|
|
2078
|
-
if (this.configService.config.customDossierHeader?.hasOwnProperty(this.documentDefinitionName.toLowerCase()) &&
|
|
2079
|
-
this.customDossierHeaderItems.length === 0) {
|
|
2080
|
-
this.configService.config.customDossierHeader[this.documentDefinitionName.toLowerCase()]?.forEach(item => this.getCustomDossierHeaderItem(item));
|
|
2081
|
-
}
|
|
2082
|
-
}
|
|
2083
|
-
}));
|
|
2084
|
-
this.documentDefinitionName$ = this.route.params.pipe(map(params => params.documentDefinitionName || ''));
|
|
2085
|
-
this.userId$ = from(this.keyCloakService.isLoggedIn()).pipe(switchMap(() => this.keyCloakService.loadUserProfile()), map(profile => profile?.id));
|
|
2086
|
-
this.isAssigning$ = new BehaviorSubject(false);
|
|
2087
|
-
this.isAssignedToCurrentUser$ = combineLatest([
|
|
2088
|
-
this.assigneeId$,
|
|
2089
|
-
this.userId$,
|
|
2090
|
-
]).pipe(map(([assigneeId, userId]) => !!assigneeId && !!userId && assigneeId === userId), startWith(true));
|
|
2091
|
-
this.canHaveAssignee$ = this.documentDefinitionName$.pipe(switchMap(documentDefinitionName => this.documentService.getCaseSettings(documentDefinitionName)), map(caseSettings => caseSettings?.canHaveAssignee));
|
|
2092
|
-
this.canAssignLoaded$ = new BehaviorSubject(false);
|
|
2093
|
-
this.canAssign$ = this.route.paramMap.pipe(switchMap((params) => this.permissionService.requestPermission(CAN_ASSIGN_CASE_PERMISSION, {
|
|
2094
|
-
resource: DOSSIER_DETAIL_PERMISSION_RESOURCE.jsonSchemaDocument,
|
|
2095
|
-
identifier: params.get('documentId') ?? '',
|
|
2096
|
-
})), tap(() => {
|
|
2097
|
-
this.canAssignLoaded$.next(true);
|
|
2098
|
-
}));
|
|
2099
|
-
this.canClaim$ = this.route.paramMap.pipe(switchMap((params) => this.permissionService.requestPermission(CAN_CLAIM_CASE_PERMISSION, {
|
|
1975
|
+
this.timelineItems = [];
|
|
1976
|
+
this.loading$ = new BehaviorSubject(true);
|
|
1977
|
+
this.fields$ = new BehaviorSubject([]);
|
|
1978
|
+
this.customData$ = new BehaviorSubject({});
|
|
1979
|
+
this.documentId$ = this.route.params.pipe(map(params => params.documentId));
|
|
1980
|
+
this.actions = [
|
|
1981
|
+
{ id: 'edit', label: 'Edit', icon: 'mdi-pencil', callback: this.editNote.bind(this) },
|
|
1982
|
+
{ id: 'delete', label: 'Delete', icon: 'mdi-delete', callback: this.deleteNote.bind(this) },
|
|
1983
|
+
];
|
|
1984
|
+
this.canAdd$ = this.documentId$.pipe(switchMap$1((identifier) => this.permissionService.requestPermission(CAN_ADD_NOTE_PERMISSION, {
|
|
2100
1985
|
resource: DOSSIER_DETAIL_PERMISSION_RESOURCE.jsonSchemaDocument,
|
|
2101
|
-
identifier
|
|
1986
|
+
identifier,
|
|
2102
1987
|
})));
|
|
2103
|
-
this.
|
|
2104
|
-
|
|
2105
|
-
|
|
2106
|
-
|
|
1988
|
+
this.currentPageAndSize$ = new BehaviorSubject({
|
|
1989
|
+
page: 0,
|
|
1990
|
+
size: 10,
|
|
1991
|
+
});
|
|
1992
|
+
this.pageSizes$ = new BehaviorSubject({
|
|
1993
|
+
collectionSize: 0,
|
|
1994
|
+
});
|
|
1995
|
+
this.pagination$ = combineLatest([
|
|
1996
|
+
this.currentPageAndSize$,
|
|
1997
|
+
this.pageSizes$,
|
|
1998
|
+
]).pipe(map(([currentPage, sizes]) => ({ ...currentPage, ...sizes, page: (currentPage.page ?? 0) + 1 })));
|
|
1999
|
+
this.notes$ = combineLatest([
|
|
2000
|
+
this.documentId$,
|
|
2001
|
+
this.currentPageAndSize$,
|
|
2002
|
+
this.notesService.refresh$,
|
|
2003
|
+
this.notesService.refresh$,
|
|
2004
|
+
]).pipe(tap$1(() => (this.timelineItems = [])), switchMap$1(([documentId, currentPage]) => this.notesService.getDocumentNotes(documentId, {
|
|
2005
|
+
page: currentPage.page,
|
|
2006
|
+
size: currentPage.size,
|
|
2007
|
+
})), tap$1((res) => {
|
|
2008
|
+
this.timelineItems = [];
|
|
2009
|
+
this.pageSizes$.pipe(take$1(1)).subscribe(sizes => {
|
|
2010
|
+
this.pageSizes$.next({ ...sizes, collectionSize: res.totalElements });
|
|
2011
|
+
});
|
|
2012
|
+
}), switchMap$1(res => combineLatest([
|
|
2013
|
+
of(res),
|
|
2014
|
+
...res.content.map(note => this.permissionService.requestPermission(CAN_DELETE_NOTE_PERMISSION, {
|
|
2015
|
+
resource: DOSSIER_DETAIL_PERMISSION_RESOURCE.note,
|
|
2016
|
+
identifier: note.id,
|
|
2017
|
+
})),
|
|
2018
|
+
...res.content.map(note => this.permissionService.requestPermission(CAN_EDIT_NOTE_PERMISSION, {
|
|
2019
|
+
resource: DOSSIER_DETAIL_PERMISSION_RESOURCE.note,
|
|
2020
|
+
identifier: note.id,
|
|
2021
|
+
})),
|
|
2022
|
+
])), map(combinedResults => {
|
|
2023
|
+
const permissionResults = combinedResults.filter((curr, index) => index !== 0);
|
|
2024
|
+
const halfIndex = Math.ceil(permissionResults.length / 2);
|
|
2025
|
+
const deletePermissions = permissionResults.slice(0, halfIndex);
|
|
2026
|
+
const editPermissions = permissionResults.slice(halfIndex);
|
|
2027
|
+
return combinedResults[0].content.map((note, index) => {
|
|
2028
|
+
const noteCreatedDate = moment(note.createdDate).locale(this.translateService.currentLang);
|
|
2029
|
+
this.timelineItems.push(new TimelineItemImpl(noteCreatedDate.format('DD MMM YYYY'), noteCreatedDate.format('HH:mm'), note.createdByUserFullName, noteCreatedDate.fromNow(), note.content, {}, { id: note.id }, [
|
|
2030
|
+
...(deletePermissions[index] ? ['delete'] : []),
|
|
2031
|
+
...(editPermissions[index] ? ['edit'] : []),
|
|
2032
|
+
]));
|
|
2033
|
+
return {
|
|
2034
|
+
...note,
|
|
2035
|
+
};
|
|
2036
|
+
});
|
|
2037
|
+
}), tap$1(() => this.loading$.next(false)));
|
|
2107
2038
|
}
|
|
2108
|
-
|
|
2109
|
-
this.
|
|
2110
|
-
|
|
2111
|
-
.getDocumentDefinition(this.documentDefinitionName)
|
|
2112
|
-
.subscribe(definition => {
|
|
2113
|
-
this.documentDefinitionNameTitle = definition.schema.title;
|
|
2114
|
-
this.setBreadcrumb();
|
|
2039
|
+
ngOnInit() {
|
|
2040
|
+
this.translateService.onLangChange.subscribe(() => {
|
|
2041
|
+
this.notesService.refresh();
|
|
2115
2042
|
});
|
|
2116
|
-
this._initialTabName = this._snapshot.get('tab') ?? '';
|
|
2117
|
-
this.tabLoader.initial(this._initialTabName);
|
|
2118
|
-
this.getAllAssociatedProcessDefinitions();
|
|
2119
2043
|
}
|
|
2120
|
-
|
|
2121
|
-
this.
|
|
2044
|
+
paginationClicked(newPageNumber) {
|
|
2045
|
+
this.currentPageAndSize$.pipe(take$1(1)).subscribe(currentPage => {
|
|
2046
|
+
this.currentPageAndSize$.next({ ...currentPage, page: newPageNumber - 1 });
|
|
2047
|
+
});
|
|
2122
2048
|
}
|
|
2123
|
-
|
|
2124
|
-
this.
|
|
2125
|
-
|
|
2126
|
-
|
|
2127
|
-
|
|
2128
|
-
|
|
2129
|
-
|
|
2130
|
-
|
|
2131
|
-
|
|
2132
|
-
|
|
2133
|
-
|
|
2049
|
+
showAddModal() {
|
|
2050
|
+
this.customData$.next({});
|
|
2051
|
+
this.notesService.setModalType('add');
|
|
2052
|
+
this.notesService.showModal();
|
|
2053
|
+
}
|
|
2054
|
+
createNewNote(content) {
|
|
2055
|
+
this.documentId$
|
|
2056
|
+
.pipe(take$1(1), switchMap$1((documentId) => this.notesService.createDocumentNote(documentId, content)))
|
|
2057
|
+
.subscribe(() => {
|
|
2058
|
+
this.notesService.refresh();
|
|
2059
|
+
this.notesService.hideModal();
|
|
2134
2060
|
});
|
|
2135
2061
|
}
|
|
2136
|
-
|
|
2137
|
-
this.
|
|
2062
|
+
editNoteEvent(content) {
|
|
2063
|
+
this.notesService.updateNote(content.data.customData.id, content.formData).subscribe(() => {
|
|
2064
|
+
this.notesService.refresh();
|
|
2065
|
+
this.notesService.hideModal();
|
|
2066
|
+
this.toastrService.success(this.translateService.instant('dossier.notes.editedMessage'));
|
|
2067
|
+
});
|
|
2138
2068
|
}
|
|
2139
|
-
|
|
2140
|
-
this.
|
|
2141
|
-
this.
|
|
2142
|
-
|
|
2143
|
-
|
|
2144
|
-
|
|
2145
|
-
|
|
2146
|
-
|
|
2147
|
-
|
|
2148
|
-
|
|
2149
|
-
|
|
2150
|
-
|
|
2069
|
+
editNote(data) {
|
|
2070
|
+
this.customData$.next(data);
|
|
2071
|
+
this.notesService.setModalType('modify');
|
|
2072
|
+
this.notesService.showModal();
|
|
2073
|
+
}
|
|
2074
|
+
deleteNote(data) {
|
|
2075
|
+
this.promptService.openPrompt({
|
|
2076
|
+
headerText: this.translateService.instant('dossier.notes.deleteConfirmation.title'),
|
|
2077
|
+
bodyText: this.translateService.instant('dossier.notes.deleteConfirmation.description'),
|
|
2078
|
+
cancelButtonText: this.translateService.instant('dossier.deleteConfirmation.cancel'),
|
|
2079
|
+
confirmButtonText: this.translateService.instant('dossier.deleteConfirmation.delete'),
|
|
2080
|
+
cancelMdiIcon: 'cancel',
|
|
2081
|
+
confirmMdiIcon: 'delete',
|
|
2082
|
+
cancelButtonType: 'secondary',
|
|
2083
|
+
confirmButtonType: 'primary',
|
|
2084
|
+
closeOnConfirm: true,
|
|
2085
|
+
closeOnCancel: true,
|
|
2086
|
+
confirmCallBackFunction: () => {
|
|
2087
|
+
this.notesService.deleteNote(data.customData.id).subscribe(() => {
|
|
2088
|
+
this.notesService.refresh();
|
|
2089
|
+
this.toastrService.success(this.translateService.instant('dossier.notes.deleteConfirmation.deletedMessage'));
|
|
2090
|
+
});
|
|
2151
2091
|
},
|
|
2152
2092
|
});
|
|
2153
2093
|
}
|
|
2154
|
-
|
|
2155
|
-
|
|
2094
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierDetailTabNotesComponent, deps: [{ token: NotesService }, { token: i7.PermissionService }, { token: i3$1.PromptService }, { token: i1$1.ActivatedRoute }, { token: i3$3.ToastrService }, { token: i6.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2095
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DossierDetailTabNotesComponent, selector: "valtimo-dossier-detail-tab-notes", 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<div\n *ngIf=\"{\n canAdd: canAdd$ | async,\n notes: notes$ | async,\n pagination: pagination$ | async,\n loading: loading$ | async\n } as obs\"\n class=\"notes\"\n>\n <button\n *ngIf=\"obs.canAdd\"\n [disabled]=\"obs.loading\"\n (click)=\"showAddModal()\"\n aria-expanded=\"false\"\n aria-haspopup=\"true\"\n class=\"btn btn-space btn-primary mr-1 add-note\"\n type=\"button\"\n >\n <span>{{ 'dossier.notes.addNote' | translate }}</span>\n\n <i class=\"ml-1 icon mdi mdi-plus\"></i>\n </button>\n\n <div *ngIf=\"timelineItems\">\n <valtimo-timeline [actions]=\"actions\" [items]=\"timelineItems\"></valtimo-timeline>\n </div>\n\n <valtimo-spinner\n [useBootstrapSpinner]=\"false\"\n name=\"auditSpinner\"\n bdColor=\"rgba(125, 125, 125, 0.35)\"\n color=\"#264251\"\n type=\"square-jelly-box\"\n >\n </valtimo-spinner>\n\n <div *ngIf=\"obs.pagination\" class=\"d-flex justify-content-end row mr-0 ml-0\">\n <ngb-pagination\n *ngIf=\"obs.pagination.collectionSize > obs.pagination.size\"\n [collectionSize]=\"obs.pagination.collectionSize\"\n [maxSize]=\"obs.pagination.size\"\n [pageSize]=\"obs.pagination.size\"\n [rotate]=\"true\"\n [(page)]=\"obs.pagination.page\"\n (pageChange)=\"paginationClicked($event)\"\n ></ngb-pagination>\n </div>\n</div>\n\n<valtimo-note-modal\n [customData]=\"customData$ | async\"\n (createNoteEvent)=\"createNewNote($event)\"\n (editNoteEvent)=\"editNoteEvent($event)\"\n></valtimo-note-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 */.notes{position:relative}.add-note{position:absolute;right:0}\n"], dependencies: [{ kind: "directive", type: i5$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$1.TimelineComponent, selector: "valtimo-timeline", inputs: ["items", "actions"] }, { kind: "component", type: i3$1.SpinnerComponent, selector: "valtimo-spinner", inputs: ["useBootstrapSpinner", "name", "type", "size", "color", "bdColor", "fullScreen", "noMarginTop"] }, { kind: "component", type: i10.NgbPagination, selector: "ngb-pagination", inputs: ["disabled", "boundaryLinks", "directionLinks", "ellipses", "rotate", "collectionSize", "maxSize", "page", "pageSize", "size"], outputs: ["pageChange"] }, { kind: "component", type: NoteModalComponent, selector: "valtimo-note-modal", inputs: ["customData"], outputs: ["createNoteEvent", "editNoteEvent"] }, { kind: "pipe", type: i5$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
|
|
2096
|
+
}
|
|
2097
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierDetailTabNotesComponent, decorators: [{
|
|
2098
|
+
type: Component,
|
|
2099
|
+
args: [{ selector: 'valtimo-dossier-detail-tab-notes', 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<div\n *ngIf=\"{\n canAdd: canAdd$ | async,\n notes: notes$ | async,\n pagination: pagination$ | async,\n loading: loading$ | async\n } as obs\"\n class=\"notes\"\n>\n <button\n *ngIf=\"obs.canAdd\"\n [disabled]=\"obs.loading\"\n (click)=\"showAddModal()\"\n aria-expanded=\"false\"\n aria-haspopup=\"true\"\n class=\"btn btn-space btn-primary mr-1 add-note\"\n type=\"button\"\n >\n <span>{{ 'dossier.notes.addNote' | translate }}</span>\n\n <i class=\"ml-1 icon mdi mdi-plus\"></i>\n </button>\n\n <div *ngIf=\"timelineItems\">\n <valtimo-timeline [actions]=\"actions\" [items]=\"timelineItems\"></valtimo-timeline>\n </div>\n\n <valtimo-spinner\n [useBootstrapSpinner]=\"false\"\n name=\"auditSpinner\"\n bdColor=\"rgba(125, 125, 125, 0.35)\"\n color=\"#264251\"\n type=\"square-jelly-box\"\n >\n </valtimo-spinner>\n\n <div *ngIf=\"obs.pagination\" class=\"d-flex justify-content-end row mr-0 ml-0\">\n <ngb-pagination\n *ngIf=\"obs.pagination.collectionSize > obs.pagination.size\"\n [collectionSize]=\"obs.pagination.collectionSize\"\n [maxSize]=\"obs.pagination.size\"\n [pageSize]=\"obs.pagination.size\"\n [rotate]=\"true\"\n [(page)]=\"obs.pagination.page\"\n (pageChange)=\"paginationClicked($event)\"\n ></ngb-pagination>\n </div>\n</div>\n\n<valtimo-note-modal\n [customData]=\"customData$ | async\"\n (createNoteEvent)=\"createNewNote($event)\"\n (editNoteEvent)=\"editNoteEvent($event)\"\n></valtimo-note-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 */.notes{position:relative}.add-note{position:absolute;right:0}\n"] }]
|
|
2100
|
+
}], ctorParameters: function () { return [{ type: NotesService }, { type: i7.PermissionService }, { type: i3$1.PromptService }, { type: i1$1.ActivatedRoute }, { type: i3$3.ToastrService }, { type: i6.TranslateService }]; } });
|
|
2101
|
+
|
|
2102
|
+
/*
|
|
2103
|
+
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
2104
|
+
*
|
|
2105
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
2106
|
+
* you may not use this file except in compliance with the License.
|
|
2107
|
+
* You may obtain a copy of the License at
|
|
2108
|
+
*
|
|
2109
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
2110
|
+
*
|
|
2111
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
2112
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
2113
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2114
|
+
* See the License for the specific language governing permissions and
|
|
2115
|
+
* limitations under the License.
|
|
2116
|
+
*/
|
|
2117
|
+
const TAB_MAP = new InjectionToken('TabMap');
|
|
2118
|
+
const DEFAULT_TABS = new Map([
|
|
2119
|
+
[DefaultTabs.summary, DossierDetailTabSummaryComponent],
|
|
2120
|
+
[DefaultTabs.progress, DossierDetailTabProgressComponent],
|
|
2121
|
+
[DefaultTabs.audit, DossierDetailTabAuditComponent],
|
|
2122
|
+
[DefaultTabs.documents, DossierDetailTabDocumentsComponent],
|
|
2123
|
+
]);
|
|
2124
|
+
const DEFAULT_TAB_COMPONENTS = {
|
|
2125
|
+
[DefaultTabs.summary]: DossierDetailTabSummaryComponent,
|
|
2126
|
+
[DefaultTabs.progress]: DossierDetailTabProgressComponent,
|
|
2127
|
+
[DefaultTabs.audit]: DossierDetailTabAuditComponent,
|
|
2128
|
+
[DefaultTabs.documents]: DossierDetailTabDocumentsComponent,
|
|
2129
|
+
[DefaultTabs.contactMoments]: DossierDetailTabContactMomentsComponent,
|
|
2130
|
+
[DefaultTabs.zaakobjecten]: DossierDetailTabZaakobjectenComponent,
|
|
2131
|
+
[DefaultTabs.notes]: DossierDetailTabNotesComponent,
|
|
2132
|
+
};
|
|
2133
|
+
|
|
2134
|
+
/*
|
|
2135
|
+
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
2136
|
+
*
|
|
2137
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
2138
|
+
* you may not use this file except in compliance with the License.
|
|
2139
|
+
* You may obtain a copy of the License at
|
|
2140
|
+
*
|
|
2141
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
2142
|
+
*
|
|
2143
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
2144
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
2145
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2146
|
+
* See the License for the specific language governing permissions and
|
|
2147
|
+
* limitations under the License.
|
|
2148
|
+
*/
|
|
2149
|
+
const CASE_TAB_TOKEN = new InjectionToken('Specify a component to display per configured tab key.');
|
|
2150
|
+
|
|
2151
|
+
/*
|
|
2152
|
+
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
2153
|
+
*
|
|
2154
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
2155
|
+
* you may not use this file except in compliance with the License.
|
|
2156
|
+
* You may obtain a copy of the License at
|
|
2157
|
+
*
|
|
2158
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
2159
|
+
*
|
|
2160
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
2161
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
2162
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2163
|
+
* See the License for the specific language governing permissions and
|
|
2164
|
+
* limitations under the License.
|
|
2165
|
+
*/
|
|
2166
|
+
class DossierDetailTabObjectTypeComponent {
|
|
2167
|
+
constructor(route, zaakobjectenService, modalService) {
|
|
2168
|
+
this.route = route;
|
|
2169
|
+
this.zaakobjectenService = zaakobjectenService;
|
|
2170
|
+
this.modalService = modalService;
|
|
2171
|
+
this.documentId$ = this.route.params.pipe(map(params => params.documentId));
|
|
2172
|
+
this.objecttypes$ = this.documentId$.pipe(switchMap(documentId => this.zaakobjectenService.getDocumentObjectTypes(documentId)));
|
|
2173
|
+
this.objectName$ = this.route.params.pipe(map(() => {
|
|
2174
|
+
const currentUrl = window.location.href;
|
|
2175
|
+
const splitUrl = currentUrl.split('/');
|
|
2176
|
+
const lastUrlPart = splitUrl[splitUrl.length - 1];
|
|
2177
|
+
return lastUrlPart;
|
|
2178
|
+
}));
|
|
2179
|
+
this.selectedObjecttypeUrl$ = combineLatest([
|
|
2180
|
+
this.objecttypes$,
|
|
2181
|
+
this.objectName$,
|
|
2182
|
+
]).pipe(map(([objectTypes, objectName]) => {
|
|
2183
|
+
const currentType = objectTypes?.find(type => type?.name.toLowerCase() === objectName?.toLowerCase());
|
|
2184
|
+
const currentTypeUrl = currentType?.url;
|
|
2185
|
+
if (objectTypes && objectName && currentTypeUrl)
|
|
2186
|
+
return currentTypeUrl;
|
|
2187
|
+
return '';
|
|
2188
|
+
}));
|
|
2189
|
+
this.loading$ = new BehaviorSubject(true);
|
|
2190
|
+
this.hasData$ = new BehaviorSubject(false);
|
|
2191
|
+
this.objects$ = combineLatest([
|
|
2192
|
+
this.documentId$,
|
|
2193
|
+
this.selectedObjecttypeUrl$,
|
|
2194
|
+
]).pipe(switchMap(([documentId, selectedObjecttypeUrl]) => documentId && selectedObjecttypeUrl
|
|
2195
|
+
? this.zaakobjectenService.getDocumentObjectsOfType(documentId, selectedObjecttypeUrl).pipe(map(objects => objects.map(object => ({ ...object, title: object.title || '-' }))), tap(() => {
|
|
2196
|
+
this.loading$.next(false);
|
|
2197
|
+
this.hasData$.next(true);
|
|
2198
|
+
}))
|
|
2199
|
+
: of(null).pipe(tap(() => {
|
|
2200
|
+
this.loading$.next(false);
|
|
2201
|
+
this.hasData$.next(false);
|
|
2202
|
+
}))));
|
|
2203
|
+
this.columns$ = new BehaviorSubject([
|
|
2204
|
+
{
|
|
2205
|
+
labelTranslationKey: 'dossier.zaakobjecten.index',
|
|
2206
|
+
dataKey: 'index',
|
|
2207
|
+
},
|
|
2208
|
+
{
|
|
2209
|
+
labelTranslationKey: 'dossier.zaakobjecten.registrationAt',
|
|
2210
|
+
dataKey: 'registrationAt',
|
|
2211
|
+
},
|
|
2212
|
+
{
|
|
2213
|
+
labelTranslationKey: 'dossier.zaakobjecten.title',
|
|
2214
|
+
dataKey: 'title',
|
|
2215
|
+
},
|
|
2216
|
+
]);
|
|
2217
|
+
this.objectForm$ = new BehaviorSubject(null);
|
|
2218
|
+
this.noFormDefinitionComponent$ = new BehaviorSubject(false);
|
|
2156
2219
|
}
|
|
2157
|
-
|
|
2158
|
-
this.
|
|
2159
|
-
|
|
2160
|
-
|
|
2161
|
-
|
|
2162
|
-
|
|
2163
|
-
|
|
2164
|
-
|
|
2220
|
+
rowClicked(object) {
|
|
2221
|
+
this.documentId$.pipe(take$1(1)).subscribe(documentId => {
|
|
2222
|
+
this.zaakobjectenService.getObjectTypeForm(documentId, object.url).subscribe(res => {
|
|
2223
|
+
const definition = res.formDefinition;
|
|
2224
|
+
definition.components = definition.components.map(component => ({
|
|
2225
|
+
...component,
|
|
2226
|
+
disabled: true,
|
|
2227
|
+
}));
|
|
2228
|
+
this.setModalData(definition);
|
|
2229
|
+
}, () => {
|
|
2230
|
+
this.setModalData();
|
|
2231
|
+
});
|
|
2165
2232
|
});
|
|
2166
2233
|
}
|
|
2167
|
-
|
|
2168
|
-
|
|
2169
|
-
|
|
2170
|
-
const dateFormats = [moment.ISO_8601, 'MM-DD-YYYY', 'DD-MM-YYYY', 'YYYY-MM-DD'];
|
|
2171
|
-
switch (item['modifier']) {
|
|
2172
|
-
case 'age': {
|
|
2173
|
-
if (moment(string, dateFormats, true).isValid()) {
|
|
2174
|
-
string = moment().diff(string, 'years');
|
|
2175
|
-
}
|
|
2176
|
-
break;
|
|
2177
|
-
}
|
|
2178
|
-
default: {
|
|
2179
|
-
if (moment(string, dateFormats, true).isValid()) {
|
|
2180
|
-
string = moment(string).format('DD-MM-YYYY');
|
|
2181
|
-
}
|
|
2182
|
-
}
|
|
2183
|
-
}
|
|
2184
|
-
return prefix + string;
|
|
2185
|
-
}
|
|
2186
|
-
setBreadcrumb() {
|
|
2187
|
-
this.breadcrumbService.setSecondBreadcrumb({
|
|
2188
|
-
route: [`/dossiers/${this.documentDefinitionName}`],
|
|
2189
|
-
content: this.documentDefinitionNameTitle,
|
|
2190
|
-
href: `/dossiers/${this.documentDefinitionName}`,
|
|
2234
|
+
hide() {
|
|
2235
|
+
this.modalService.closeModal(() => {
|
|
2236
|
+
this.objectForm$.next(null);
|
|
2191
2237
|
});
|
|
2192
2238
|
}
|
|
2193
|
-
|
|
2194
|
-
|
|
2239
|
+
show() {
|
|
2240
|
+
this.modalService.openModal(this.viewObjectModal);
|
|
2241
|
+
}
|
|
2242
|
+
setModalData(definition) {
|
|
2243
|
+
if (definition) {
|
|
2244
|
+
this.objectForm$.next(definition);
|
|
2245
|
+
this.noFormDefinitionComponent$.next(false);
|
|
2246
|
+
}
|
|
2247
|
+
else {
|
|
2248
|
+
this.noFormDefinitionComponent$.next(true);
|
|
2249
|
+
}
|
|
2250
|
+
this.show();
|
|
2251
|
+
}
|
|
2252
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierDetailTabObjectTypeComponent, deps: [{ token: i1$1.ActivatedRoute }, { token: ZaakobjectenService }, { token: i3$1.ModalService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2253
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DossierDetailTabObjectTypeComponent, selector: "valtimo-object-type", viewQueries: [{ propertyName: "viewObjectModal", first: true, predicate: ["viewObjectModal"], 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 objects: objects$ | async,\n columns: columns$ | async,\n loading: loading$ | async,\n hasData: hasData$ | async\n } as obs\"\n>\n <v-table\n *ngIf=\"obs.hasData || obs.loading\"\n [loading]=\"obs.loading\"\n [items]=\"obs.objects\"\n [columns]=\"obs.columns\"\n [showEditButtons]=\"true\"\n editButtonTranslationKey=\"dossier.zaakobjecten.objectType.viewObject\"\n [amountOfLoadingRows]=\"2\"\n [itemsTranslationKey]=\"'pluginManagement.tableItemsText'\"\n [showPagination]=\"false\"\n (editButtonClicked)=\"rowClicked($event)\"\n ></v-table>\n\n <v-paragraph *ngIf=\"!obs.hasData && !obs.loading\" [center]=\"true\">{{\n 'dossier.zaakobjecten.noObjectType' | translate\n }}</v-paragraph>\n</ng-container>\n\n<v-modal #viewObjectModal (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: i5$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$1.FormioComponent, selector: "valtimo-form-io", inputs: ["form", "options", "submission", "readOnly", "formRefresh$"], outputs: ["submit", "change"] }, { kind: "component", type: i3$1.ParagraphComponent, selector: "v-paragraph", inputs: ["center", "fullWidth", "margin", "italic", "loading"] }, { kind: "component", type: i3$1.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$1.VModalComponent, selector: "v-modal", inputs: ["appearingDelayMs", "maxWidthPx", "hideFooter"], outputs: ["closeEvent"] }, { kind: "component", type: i3$1.TitleComponent, selector: "v-title", inputs: ["type", "margin", "fullWidth", "center"] }, { kind: "pipe", type: i5$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
|
|
2195
2254
|
}
|
|
2196
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type:
|
|
2255
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierDetailTabObjectTypeComponent, decorators: [{
|
|
2197
2256
|
type: Component,
|
|
2198
|
-
args: [{ selector: 'valtimo-
|
|
2199
|
-
}], ctorParameters: function () { return [{ type:
|
|
2200
|
-
type: ViewChild,
|
|
2201
|
-
args: ['supportingProcessStartModal']
|
|
2202
|
-
}], viewContainerRef: [{
|
|
2257
|
+
args: [{ selector: 'valtimo-object-type', 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 objects: objects$ | async,\n columns: columns$ | async,\n loading: loading$ | async,\n hasData: hasData$ | async\n } as obs\"\n>\n <v-table\n *ngIf=\"obs.hasData || obs.loading\"\n [loading]=\"obs.loading\"\n [items]=\"obs.objects\"\n [columns]=\"obs.columns\"\n [showEditButtons]=\"true\"\n editButtonTranslationKey=\"dossier.zaakobjecten.objectType.viewObject\"\n [amountOfLoadingRows]=\"2\"\n [itemsTranslationKey]=\"'pluginManagement.tableItemsText'\"\n [showPagination]=\"false\"\n (editButtonClicked)=\"rowClicked($event)\"\n ></v-table>\n\n <v-paragraph *ngIf=\"!obs.hasData && !obs.loading\" [center]=\"true\">{{\n 'dossier.zaakobjecten.noObjectType' | translate\n }}</v-paragraph>\n</ng-container>\n\n<v-modal #viewObjectModal (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"] }]
|
|
2258
|
+
}], ctorParameters: function () { return [{ type: i1$1.ActivatedRoute }, { type: ZaakobjectenService }, { type: i3$1.ModalService }]; }, propDecorators: { viewObjectModal: [{
|
|
2203
2259
|
type: ViewChild,
|
|
2204
|
-
args: ['
|
|
2260
|
+
args: ['viewObjectModal']
|
|
2205
2261
|
}] } });
|
|
2206
2262
|
|
|
2207
2263
|
/*
|
|
@@ -2219,64 +2275,260 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
2219
2275
|
* See the License for the specific language governing permissions and
|
|
2220
2276
|
* limitations under the License.
|
|
2221
2277
|
*/
|
|
2222
|
-
|
|
2223
|
-
|
|
2224
|
-
|
|
2225
|
-
this.
|
|
2226
|
-
this.
|
|
2227
|
-
this.
|
|
2228
|
-
this.
|
|
2229
|
-
this.
|
|
2230
|
-
|
|
2231
|
-
|
|
2232
|
-
|
|
2233
|
-
|
|
2234
|
-
|
|
2235
|
-
|
|
2236
|
-
|
|
2237
|
-
|
|
2238
|
-
|
|
2239
|
-
|
|
2240
|
-
|
|
2241
|
-
|
|
2242
|
-
|
|
2243
|
-
this.
|
|
2278
|
+
class DossierDetailTabFormioComponent {
|
|
2279
|
+
constructor(tabService, route, formService) {
|
|
2280
|
+
this.tabService = tabService;
|
|
2281
|
+
this.route = route;
|
|
2282
|
+
this.formService = formService;
|
|
2283
|
+
this.loading$ = new BehaviorSubject(true);
|
|
2284
|
+
this.formNotFound$ = new BehaviorSubject('');
|
|
2285
|
+
this.noFormSpecified$ = new BehaviorSubject(false);
|
|
2286
|
+
this.prefilledForm$ = combineLatest([
|
|
2287
|
+
this.tabService.tabs$,
|
|
2288
|
+
this.route.params,
|
|
2289
|
+
]).pipe(switchMap(([tabs, params]) => {
|
|
2290
|
+
const currentTabName = params?.tab;
|
|
2291
|
+
const documentId = params?.documentId;
|
|
2292
|
+
const currentTab = tabs.find(tab => tab.name === currentTabName);
|
|
2293
|
+
if (!documentId || !currentTab?.contentKey) {
|
|
2294
|
+
this.noFormSpecified$.next(true);
|
|
2295
|
+
return of(null);
|
|
2296
|
+
}
|
|
2297
|
+
this._formDefinitionName = currentTab.contentKey;
|
|
2298
|
+
return this.formService.getFormDefinitionByNamePreFilled(currentTab.contentKey, documentId);
|
|
2299
|
+
}), tap(() => this.loading$.next(false)), catchError(() => {
|
|
2300
|
+
this.formNotFound$.next(this._formDefinitionName);
|
|
2301
|
+
this.loading$.next(false);
|
|
2302
|
+
return of(null);
|
|
2303
|
+
}));
|
|
2304
|
+
}
|
|
2305
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierDetailTabFormioComponent, deps: [{ token: DossierTabService }, { token: i1$1.ActivatedRoute }, { token: i5.FormService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2306
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DossierDetailTabFormioComponent, selector: "ng-component", 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 prefilledForm: prefilledForm$ | async,\n loading: loading$ | async,\n formNotFound: formNotFound$ | async,\n noFormSpecified: noFormSpecified$ | async\n } as obs\"\n>\n <div *ngIf=\"obs.loading\" class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n\n <p *ngIf=\"obs.formNotFound\" class=\"error-message\">\n {{ 'dossier.formio.formNotFound' | translate: {formDefinitionName: obs.formNotFound} }}\n </p>\n\n <p *ngIf=\"obs.noFormSpecified\" class=\"error-message\">\n {{ 'dossier.formio.noFormSpecified' | translate }}\n </p>\n\n <valtimo-form-io *ngIf=\"obs.prefilledForm\" [form]=\"obs.prefilledForm\"> </valtimo-form-io>\n</ng-container>\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 */.loading-container{display:flex;width:100%;flex-direction:row;justify-content:center}.error-message{text-align:center}\n"], dependencies: [{ kind: "directive", type: i5$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$1.FormioComponent, selector: "valtimo-form-io", inputs: ["form", "options", "submission", "readOnly", "formRefresh$"], outputs: ["submit", "change"] }, { kind: "component", type: i4.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "pipe", type: i5$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2307
|
+
}
|
|
2308
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierDetailTabFormioComponent, decorators: [{
|
|
2309
|
+
type: Component,
|
|
2310
|
+
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, 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 prefilledForm: prefilledForm$ | async,\n loading: loading$ | async,\n formNotFound: formNotFound$ | async,\n noFormSpecified: noFormSpecified$ | async\n } as obs\"\n>\n <div *ngIf=\"obs.loading\" class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n\n <p *ngIf=\"obs.formNotFound\" class=\"error-message\">\n {{ 'dossier.formio.formNotFound' | translate: {formDefinitionName: obs.formNotFound} }}\n </p>\n\n <p *ngIf=\"obs.noFormSpecified\" class=\"error-message\">\n {{ 'dossier.formio.noFormSpecified' | translate }}\n </p>\n\n <valtimo-form-io *ngIf=\"obs.prefilledForm\" [form]=\"obs.prefilledForm\"> </valtimo-form-io>\n</ng-container>\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 */.loading-container{display:flex;width:100%;flex-direction:row;justify-content:center}.error-message{text-align:center}\n"] }]
|
|
2311
|
+
}], ctorParameters: function () { return [{ type: DossierTabService }, { type: i1$1.ActivatedRoute }, { type: i5.FormService }]; } });
|
|
2312
|
+
|
|
2313
|
+
class DossierTabApiService {
|
|
2314
|
+
constructor(configService, http) {
|
|
2315
|
+
this.configService = configService;
|
|
2316
|
+
this.http = http;
|
|
2317
|
+
this.VALTIMO_API_ENDPOINT_URI = this.configService.config.valtimoApi.endpointUri;
|
|
2318
|
+
}
|
|
2319
|
+
getDossierTabs(documentDefinitionName) {
|
|
2320
|
+
return this.http.get(`${this.VALTIMO_API_ENDPOINT_URI}v1/case-definition/${documentDefinitionName}/tab`);
|
|
2321
|
+
}
|
|
2322
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierTabApiService, deps: [{ token: i1.ConfigService }, { token: i2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
2323
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierTabApiService, providedIn: 'root' }); }
|
|
2324
|
+
}
|
|
2325
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierTabApiService, decorators: [{
|
|
2326
|
+
type: Injectable,
|
|
2327
|
+
args: [{
|
|
2328
|
+
providedIn: 'root',
|
|
2329
|
+
}]
|
|
2330
|
+
}], ctorParameters: function () { return [{ type: i1.ConfigService }, { type: i2.HttpClient }]; } });
|
|
2331
|
+
|
|
2332
|
+
/*
|
|
2333
|
+
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
2334
|
+
*
|
|
2335
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
2336
|
+
* you may not use this file except in compliance with the License.
|
|
2337
|
+
* You may obtain a copy of the License at
|
|
2338
|
+
*
|
|
2339
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
2340
|
+
*
|
|
2341
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
2342
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
2343
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2344
|
+
* See the License for the specific language governing permissions and
|
|
2345
|
+
* limitations under the License.
|
|
2346
|
+
*/
|
|
2347
|
+
class DossierTabService {
|
|
2348
|
+
get tabs$() {
|
|
2349
|
+
return this._tabs$.pipe(filter(tabs => !!tabs));
|
|
2350
|
+
}
|
|
2351
|
+
constructor(tabMap = DEFAULT_TABS, caseTabConfig, configService, route, dossierTabApiService) {
|
|
2352
|
+
this.tabMap = tabMap;
|
|
2353
|
+
this.caseTabConfig = caseTabConfig;
|
|
2354
|
+
this.configService = configService;
|
|
2355
|
+
this.route = route;
|
|
2356
|
+
this.dossierTabApiService = dossierTabApiService;
|
|
2357
|
+
this._documentDefinitionName$ = this.route.params.pipe(map(params => params?.documentDefinitionName), filter(documentDefinitionName => !!documentDefinitionName));
|
|
2358
|
+
this._tabs$ = new BehaviorSubject(null);
|
|
2359
|
+
this._subscriptions = new Subscription();
|
|
2360
|
+
this._tabManagementEnabled = this.configService.config?.featureToggles?.enableTabManagement;
|
|
2361
|
+
this.openDocumentDefinitionNameSubscription();
|
|
2362
|
+
}
|
|
2363
|
+
ngOnDestroy() {
|
|
2364
|
+
this._subscriptions.unsubscribe();
|
|
2365
|
+
}
|
|
2366
|
+
getConfigurableTabs(documentDefinitionName) {
|
|
2367
|
+
const tabMap = new Map();
|
|
2368
|
+
if (this.configService?.config?.caseObjectTypes) {
|
|
2369
|
+
const allNamesObjects = this.configService?.config?.caseObjectTypes[documentDefinitionName];
|
|
2370
|
+
allNamesObjects?.forEach(name => {
|
|
2371
|
+
tabMap.set(name, DossierDetailTabObjectTypeComponent);
|
|
2372
|
+
});
|
|
2373
|
+
}
|
|
2374
|
+
return tabMap;
|
|
2375
|
+
}
|
|
2376
|
+
getAllEnvironmentTabs(extraTabs) {
|
|
2377
|
+
let i = 0;
|
|
2378
|
+
const tabMap = extraTabs
|
|
2379
|
+
? new Map([...Array.from(this.tabMap.entries()), ...Array.from(extraTabs.entries())])
|
|
2380
|
+
: this.tabMap;
|
|
2381
|
+
const tabs = [];
|
|
2382
|
+
tabMap.forEach((component, name) => {
|
|
2383
|
+
tabs.push(new TabImpl(name, i, component));
|
|
2384
|
+
i++;
|
|
2385
|
+
});
|
|
2386
|
+
return tabs;
|
|
2387
|
+
}
|
|
2388
|
+
openDocumentDefinitionNameSubscription() {
|
|
2389
|
+
this._subscriptions.add(this._documentDefinitionName$.subscribe(documentDefinitionName => {
|
|
2390
|
+
if (this._tabManagementEnabled) {
|
|
2391
|
+
this.setApiTabs(documentDefinitionName);
|
|
2392
|
+
}
|
|
2393
|
+
else {
|
|
2394
|
+
this.setEnvironmentTabs(documentDefinitionName);
|
|
2395
|
+
}
|
|
2396
|
+
}));
|
|
2397
|
+
}
|
|
2398
|
+
setEnvironmentTabs(documentDefinitionName) {
|
|
2399
|
+
const configurableTabs = this.getConfigurableTabs(documentDefinitionName);
|
|
2400
|
+
const allEnvironmentTabs = this.getAllEnvironmentTabs(configurableTabs);
|
|
2401
|
+
this._tabs$.next(allEnvironmentTabs);
|
|
2402
|
+
}
|
|
2403
|
+
setApiTabs(documentDefinitionName) {
|
|
2404
|
+
this.dossierTabApiService.getDossierTabs(documentDefinitionName).subscribe({
|
|
2405
|
+
next: tabs => {
|
|
2406
|
+
const supportedTabs = tabs.filter(tab => this.filterTab(tab));
|
|
2407
|
+
const mappedTabs = supportedTabs.map((tab, index) => this.mapTab(tab, index));
|
|
2408
|
+
this._tabs$.next(mappedTabs.filter(tab => !!tab));
|
|
2409
|
+
},
|
|
2410
|
+
error: () => {
|
|
2411
|
+
this._tabs$.next([]);
|
|
2412
|
+
},
|
|
2413
|
+
});
|
|
2414
|
+
}
|
|
2415
|
+
filterTab(tab) {
|
|
2416
|
+
switch (tab.type) {
|
|
2417
|
+
case ApiTabType.STANDARD:
|
|
2418
|
+
return !!DEFAULT_TAB_COMPONENTS[tab.contentKey];
|
|
2419
|
+
case ApiTabType.CUSTOM:
|
|
2420
|
+
return !!(this.caseTabConfig || {})[tab.contentKey];
|
|
2421
|
+
default:
|
|
2422
|
+
return true;
|
|
2423
|
+
}
|
|
2424
|
+
}
|
|
2425
|
+
mapTab(tab, index) {
|
|
2426
|
+
switch (tab.type) {
|
|
2427
|
+
case ApiTabType.STANDARD:
|
|
2428
|
+
return new TabImpl(tab.key, index, DEFAULT_TAB_COMPONENTS[tab.contentKey], tab.contentKey, tab.name);
|
|
2429
|
+
case ApiTabType.FORMIO:
|
|
2430
|
+
return new TabImpl(tab.key, index, DossierDetailTabFormioComponent, tab.contentKey, tab.name);
|
|
2431
|
+
case ApiTabType.CUSTOM:
|
|
2432
|
+
return new TabImpl(tab.key, index, this.caseTabConfig[tab.contentKey], tab.contentKey, tab.name);
|
|
2433
|
+
default:
|
|
2434
|
+
return null;
|
|
2435
|
+
}
|
|
2436
|
+
}
|
|
2437
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierTabService, deps: [{ token: TAB_MAP }, { token: CASE_TAB_TOKEN, optional: true }, { token: i1.ConfigService }, { token: i1$1.ActivatedRoute }, { token: DossierTabApiService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
2438
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierTabService }); }
|
|
2439
|
+
}
|
|
2440
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierTabService, decorators: [{
|
|
2441
|
+
type: Injectable
|
|
2442
|
+
}], ctorParameters: function () { return [{ type: Map, decorators: [{
|
|
2443
|
+
type: Inject,
|
|
2444
|
+
args: [TAB_MAP]
|
|
2445
|
+
}] }, { type: undefined, decorators: [{
|
|
2446
|
+
type: Optional
|
|
2447
|
+
}, {
|
|
2448
|
+
type: Inject,
|
|
2449
|
+
args: [CASE_TAB_TOKEN]
|
|
2450
|
+
}] }, { type: i1.ConfigService }, { type: i1$1.ActivatedRoute }, { type: DossierTabApiService }]; } });
|
|
2451
|
+
|
|
2452
|
+
/*
|
|
2453
|
+
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
2454
|
+
*
|
|
2455
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
2456
|
+
* you may not use this file except in compliance with the License.
|
|
2457
|
+
* You may obtain a copy of the License at
|
|
2458
|
+
*
|
|
2459
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
2460
|
+
*
|
|
2461
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
2462
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
2463
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2464
|
+
* See the License for the specific language governing permissions and
|
|
2465
|
+
* limitations under the License.
|
|
2466
|
+
*/
|
|
2467
|
+
|
|
2468
|
+
/*
|
|
2469
|
+
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
2470
|
+
*
|
|
2471
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
2472
|
+
* you may not use this file except in compliance with the License.
|
|
2473
|
+
* You may obtain a copy of the License at
|
|
2474
|
+
*
|
|
2475
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
2476
|
+
*
|
|
2477
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
2478
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
2479
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2480
|
+
* See the License for the specific language governing permissions and
|
|
2481
|
+
* limitations under the License.
|
|
2482
|
+
*/
|
|
2483
|
+
class DossierBulkAssignModalComponent {
|
|
2484
|
+
set documentIds(value) {
|
|
2485
|
+
if (!value.length) {
|
|
2486
|
+
return;
|
|
2487
|
+
}
|
|
2488
|
+
this.bulkAssignService.loadCandidateUsers(value);
|
|
2244
2489
|
}
|
|
2245
|
-
|
|
2246
|
-
this.
|
|
2247
|
-
this.
|
|
2248
|
-
|
|
2249
|
-
|
|
2250
|
-
|
|
2251
|
-
|
|
2252
|
-
|
|
2253
|
-
|
|
2254
|
-
|
|
2255
|
-
|
|
2256
|
-
|
|
2490
|
+
constructor(bulkAssignService, fb) {
|
|
2491
|
+
this.bulkAssignService = bulkAssignService;
|
|
2492
|
+
this.fb = fb;
|
|
2493
|
+
this.modalClass = 'valtimo-dossier-bulk-assign-modal';
|
|
2494
|
+
this.open = false;
|
|
2495
|
+
this.closeEvent = new EventEmitter();
|
|
2496
|
+
this.candidateUsers$ = this.bulkAssignService.candidateUsers$.pipe(map((candidateUsers) => candidateUsers.map((candidateUser) => ({
|
|
2497
|
+
id: candidateUser.id,
|
|
2498
|
+
content: `${candidateUser.firstName} ${candidateUser.lastName}`,
|
|
2499
|
+
selected: this.formGroup.get('assignee')?.value?.id === candidateUser.id,
|
|
2500
|
+
}))));
|
|
2501
|
+
this.formGroup = this.fb.group({
|
|
2502
|
+
assignee: this.fb.control({ id: '', content: '', selected: false }, Validators.required),
|
|
2257
2503
|
});
|
|
2258
2504
|
}
|
|
2259
|
-
|
|
2260
|
-
this.
|
|
2261
|
-
|
|
2262
|
-
|
|
2263
|
-
|
|
2264
|
-
|
|
2265
|
-
|
|
2266
|
-
this.
|
|
2505
|
+
closeModal(confirm) {
|
|
2506
|
+
const assignee = this.formGroup.get('assignee')?.value ?? null;
|
|
2507
|
+
if (!assignee) {
|
|
2508
|
+
this.closeEvent.emit(null);
|
|
2509
|
+
return;
|
|
2510
|
+
}
|
|
2511
|
+
this.closeEvent.emit(confirm ? assignee.id : null);
|
|
2512
|
+
this.formGroup.reset();
|
|
2267
2513
|
}
|
|
2268
|
-
|
|
2269
|
-
|
|
2514
|
+
trackByIndex(index) {
|
|
2515
|
+
return index;
|
|
2270
2516
|
}
|
|
2271
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type:
|
|
2272
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type:
|
|
2517
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierBulkAssignModalComponent, deps: [{ token: DossierBulkAssignService }, { token: i5$2.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2518
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DossierBulkAssignModalComponent, selector: "valtimo-dossier-bulk-assign-modal", inputs: { documentIds: "documentIds", open: "open" }, outputs: { closeEvent: "closeEvent" }, host: { properties: { "class": "this.modalClass" } }, 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<cds-modal valtimoCdsModal [open]=\"open\" (close)=\"closeModal()\" showFooter=\"true\">\n <cds-modal-header showCloseButton=\"true\" (closeSelect)=\"closeModal()\">\n <h3 cdsModalHeaderHeading>{{ 'dossier.bulkAssign.modal.title' | translate }}</h3>\n </cds-modal-header>\n\n <section cdsModalContent>\n <form *ngIf=\"candidateUsers$ | async as candidateUsers\" [formGroup]=\"formGroup\">\n <cds-combo-box\n formControlName=\"assignee\"\n [dropUp]=\"false\"\n [items]=\"candidateUsers\"\n [label]=\"'dossier.bulkAssign.modal.selectLabel' | translate\"\n [placeholder]=\"'dossier.bulkAssign.modal.selectPlaceholder' | translate\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n </form>\n </section>\n\n <cds-modal-footer>\n <button cdsButton=\"ghost\" (click)=\"closeModal()\">{{ 'interface.cancel' | translate }}</button>\n\n <button cdsButton=\"primary\" [disabled]=\"formGroup.invalid\" (click)=\"closeModal(true)\">\n {{ 'dossier.bulkAssign.modal.confirm' | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n", styles: ["::ng-deep .valtimo-dossier-bulk-assign-modal .cds--list-box__field{background-color:#fff}::ng-deep .valtimo-dossier-bulk-assign-modal .cds--modal-container,::ng-deep .valtimo-dossier-bulk-assign-modal .cds--modal-content{overflow:unset}\n"], dependencies: [{ kind: "directive", type: i5$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i4.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "component", type: i4.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i4.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i4.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i4.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i4.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "component", type: i4.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "component", type: i4.ComboBox, selector: "cds-combo-box, ibm-combo-box", inputs: ["placeholder", "openMenuAria", "closeMenuAria", "clearSelectionsTitle", "clearSelectionsAria", "clearSelectionTitle", "clearSelectionAria", "id", "items", "type", "size", "itemValueKey", "label", "helperText", "appendInline", "invalid", "invalidText", "warn", "warnText", "maxLength", "theme", "selectionFeedback", "autocomplete", "dropUp", "disabled"], outputs: ["selected", "submit", "close", "search", "clear"] }, { kind: "pipe", type: i5$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2273
2519
|
}
|
|
2274
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type:
|
|
2520
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierBulkAssignModalComponent, decorators: [{
|
|
2275
2521
|
type: Component,
|
|
2276
|
-
args: [{ selector: 'valtimo-dossier-
|
|
2277
|
-
}], ctorParameters: function () { return [{ type:
|
|
2278
|
-
type:
|
|
2279
|
-
args: ['
|
|
2522
|
+
args: [{ selector: 'valtimo-dossier-bulk-assign-modal', changeDetection: ChangeDetectionStrategy.OnPush, 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<cds-modal valtimoCdsModal [open]=\"open\" (close)=\"closeModal()\" showFooter=\"true\">\n <cds-modal-header showCloseButton=\"true\" (closeSelect)=\"closeModal()\">\n <h3 cdsModalHeaderHeading>{{ 'dossier.bulkAssign.modal.title' | translate }}</h3>\n </cds-modal-header>\n\n <section cdsModalContent>\n <form *ngIf=\"candidateUsers$ | async as candidateUsers\" [formGroup]=\"formGroup\">\n <cds-combo-box\n formControlName=\"assignee\"\n [dropUp]=\"false\"\n [items]=\"candidateUsers\"\n [label]=\"'dossier.bulkAssign.modal.selectLabel' | translate\"\n [placeholder]=\"'dossier.bulkAssign.modal.selectPlaceholder' | translate\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n </form>\n </section>\n\n <cds-modal-footer>\n <button cdsButton=\"ghost\" (click)=\"closeModal()\">{{ 'interface.cancel' | translate }}</button>\n\n <button cdsButton=\"primary\" [disabled]=\"formGroup.invalid\" (click)=\"closeModal(true)\">\n {{ 'dossier.bulkAssign.modal.confirm' | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n", styles: ["::ng-deep .valtimo-dossier-bulk-assign-modal .cds--list-box__field{background-color:#fff}::ng-deep .valtimo-dossier-bulk-assign-modal .cds--modal-container,::ng-deep .valtimo-dossier-bulk-assign-modal .cds--modal-content{overflow:unset}\n"] }]
|
|
2523
|
+
}], ctorParameters: function () { return [{ type: DossierBulkAssignService }, { type: i5$2.FormBuilder }]; }, propDecorators: { modalClass: [{
|
|
2524
|
+
type: HostBinding,
|
|
2525
|
+
args: ['class']
|
|
2526
|
+
}], documentIds: [{
|
|
2527
|
+
type: Input
|
|
2528
|
+
}], open: [{
|
|
2529
|
+
type: Input
|
|
2530
|
+
}], closeEvent: [{
|
|
2531
|
+
type: Output
|
|
2280
2532
|
}] } });
|
|
2281
2533
|
|
|
2282
2534
|
/*
|
|
@@ -2294,61 +2546,93 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
2294
2546
|
* See the License for the specific language governing permissions and
|
|
2295
2547
|
* limitations under the License.
|
|
2296
2548
|
*/
|
|
2297
|
-
class
|
|
2298
|
-
constructor(
|
|
2299
|
-
this.
|
|
2300
|
-
this.
|
|
2301
|
-
this.
|
|
2302
|
-
this.
|
|
2303
|
-
this.
|
|
2304
|
-
this.
|
|
2305
|
-
this.
|
|
2306
|
-
|
|
2307
|
-
|
|
2308
|
-
|
|
2309
|
-
|
|
2310
|
-
|
|
2311
|
-
return this.http.post(`${this.VALTIMO_API_ENDPOINT_URI}v1/document/${documentId}/note`, request);
|
|
2312
|
-
}
|
|
2313
|
-
updateNote(noteId, request) {
|
|
2314
|
-
return this.http.put(`${this.VALTIMO_API_ENDPOINT_URI}v1/note/${noteId}`, request);
|
|
2315
|
-
}
|
|
2316
|
-
deleteNote(noteId) {
|
|
2317
|
-
return this.http.delete(`${this.VALTIMO_API_ENDPOINT_URI}v1/note/${noteId}`);
|
|
2318
|
-
}
|
|
2319
|
-
get showModal$() {
|
|
2320
|
-
return this._showModal$.asObservable();
|
|
2321
|
-
}
|
|
2322
|
-
get hideModal$() {
|
|
2323
|
-
return this._hideModal$.asObservable();
|
|
2324
|
-
}
|
|
2325
|
-
get refresh$() {
|
|
2326
|
-
return this._refresh$.asObservable();
|
|
2549
|
+
class DossierSupportingProcessStartModalComponent {
|
|
2550
|
+
constructor(route, router, processService, processLinkService, documentService, formFlowService, logger, userProviderService) {
|
|
2551
|
+
this.route = route;
|
|
2552
|
+
this.router = router;
|
|
2553
|
+
this.processService = processService;
|
|
2554
|
+
this.processLinkService = processLinkService;
|
|
2555
|
+
this.documentService = documentService;
|
|
2556
|
+
this.formFlowService = formFlowService;
|
|
2557
|
+
this.logger = logger;
|
|
2558
|
+
this.userProviderService = userProviderService;
|
|
2559
|
+
this.isAdmin$ = this.userProviderService
|
|
2560
|
+
.getUserSubject()
|
|
2561
|
+
.pipe(map$1(userIdentity => userIdentity?.roles?.includes('ROLE_ADMIN')));
|
|
2562
|
+
this.formSubmit = new EventEmitter();
|
|
2327
2563
|
}
|
|
2328
|
-
|
|
2329
|
-
|
|
2564
|
+
loadProcessLink() {
|
|
2565
|
+
this.processLinkId = null;
|
|
2566
|
+
this.formDefinition = null;
|
|
2567
|
+
this.formFlowInstanceId = null;
|
|
2568
|
+
this.processService
|
|
2569
|
+
.getProcessDefinitionStartProcessLink(this.processDefinitionId, this.documentId, null)
|
|
2570
|
+
.pipe(take$1(1))
|
|
2571
|
+
.subscribe(startProcessResult => {
|
|
2572
|
+
if (startProcessResult) {
|
|
2573
|
+
switch (startProcessResult.type) {
|
|
2574
|
+
case 'form':
|
|
2575
|
+
this.formDefinition = startProcessResult.properties.prefilledForm;
|
|
2576
|
+
this.processLinkId = startProcessResult.processLinkId;
|
|
2577
|
+
break;
|
|
2578
|
+
case 'form-flow':
|
|
2579
|
+
this.formFlowInstanceId = startProcessResult.properties.formFlowInstanceId;
|
|
2580
|
+
break;
|
|
2581
|
+
}
|
|
2582
|
+
}
|
|
2583
|
+
this.modal.show();
|
|
2584
|
+
});
|
|
2330
2585
|
}
|
|
2331
|
-
|
|
2332
|
-
this.
|
|
2586
|
+
openModal(processDocumentDefinition, documentId) {
|
|
2587
|
+
this.documentId = documentId;
|
|
2588
|
+
this.documentDefinitionName = processDocumentDefinition.id.documentDefinitionId.name;
|
|
2589
|
+
this.processDefinitionKey = processDocumentDefinition.id.processDefinitionKey;
|
|
2590
|
+
this.processDefinitionId = processDocumentDefinition.latestVersionId;
|
|
2591
|
+
this.processName = processDocumentDefinition.processName;
|
|
2592
|
+
this.options = new FormioOptionsImpl();
|
|
2593
|
+
this.options.disableAlerts = true;
|
|
2594
|
+
const formioBeforeSubmit = function (submission, callback) {
|
|
2595
|
+
callback(null, submission);
|
|
2596
|
+
};
|
|
2597
|
+
this.options.setHooks(formioBeforeSubmit);
|
|
2598
|
+
this.loadProcessLink();
|
|
2333
2599
|
}
|
|
2334
|
-
|
|
2335
|
-
this.
|
|
2600
|
+
onSubmit(submission) {
|
|
2601
|
+
this.formioSubmission = submission;
|
|
2602
|
+
this.processLinkService
|
|
2603
|
+
.submitForm(this.processLinkId, submission.data, this.documentId)
|
|
2604
|
+
.subscribe({
|
|
2605
|
+
next: (formSubmissionResult) => {
|
|
2606
|
+
this.formSubmitted();
|
|
2607
|
+
},
|
|
2608
|
+
error: errors => {
|
|
2609
|
+
this.form.showErrors(errors);
|
|
2610
|
+
},
|
|
2611
|
+
});
|
|
2336
2612
|
}
|
|
2337
|
-
|
|
2338
|
-
this.
|
|
2613
|
+
formSubmitted() {
|
|
2614
|
+
this.modal.hide();
|
|
2615
|
+
this.formSubmit.emit();
|
|
2339
2616
|
}
|
|
2340
|
-
|
|
2341
|
-
this.
|
|
2617
|
+
gotoProcessLinkScreen() {
|
|
2618
|
+
this.modal.hide();
|
|
2619
|
+
this.router.navigate(['process-links'], { queryParams: { process: this.processDefinitionKey } });
|
|
2342
2620
|
}
|
|
2343
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type:
|
|
2344
|
-
static { this.ɵ
|
|
2621
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierSupportingProcessStartModalComponent, deps: [{ token: i1$1.ActivatedRoute }, { token: i1$1.Router }, { token: i2$2.ProcessService }, { token: i3$4.ProcessLinkService }, { token: i2$1.DocumentService }, { token: i3$4.FormFlowService }, { token: i6$1.NGXLogger }, { token: i6$2.UserProviderService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2622
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DossierSupportingProcessStartModalComponent, selector: "valtimo-dossier-supporting-process-start-modal", outputs: { formSubmit: "formSubmit" }, viewQueries: [{ propertyName: "form", first: true, predicate: ["form"], descendants: true }, { propertyName: "modal", first: true, predicate: ["supportingProcessStartModal"], 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<valtimo-modal\n #supportingProcessStartModal\n elementId=\"supportingProcessStartModal\"\n [title]=\"\n (processDefinitionKey | translate) !== processDefinitionKey\n ? (processDefinitionKey | translate)\n : processName\n \"\n>\n <div body *ngIf=\"formDefinition\">\n <valtimo-form-io\n #form\n [submission]=\"submission\"\n [form]=\"formDefinition\"\n [options]=\"options\"\n (submit)=\"onSubmit($event)\"\n >\n </valtimo-form-io>\n </div>\n <div body *ngIf=\"formFlowInstanceId\">\n <valtimo-form-flow\n #formFlow\n [formFlowInstanceId]=\"formFlowInstanceId\"\n (formFlowComplete)=\"formSubmitted()\"\n ></valtimo-form-flow>\n </div>\n <div body *ngIf=\"!formDefinition && !formFlowInstanceId\">\n <div class=\"bg-warning text-black mb-0 p-3 text-center\">\n {{\n (isAdmin$ | async)\n ? ('formManagement.noFormDefinitionFoundAdmin' | translate)\n : ('formManagement.noFormDefinitionFoundUser' | translate)\n }}\n </div>\n <div class=\"mb-0 mt-4 p-3 text-center\">\n <button\n (click)=\"gotoProcessLinkScreen()\"\n class=\"btn btn-secondary btn-space\"\n id=\"process-link-button\"\n type=\"button\"\n >\n {{ 'formManagement.gotoProcessLinksButton' | translate }}\n </button>\n </div>\n </div>\n</valtimo-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 */#supportingProcessStartModal .formio-component-submit{text-align:right}\n"], dependencies: [{ kind: "directive", type: i5$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$1.FormioComponent, selector: "valtimo-form-io", inputs: ["form", "options", "submission", "readOnly", "formRefresh$"], outputs: ["submit", "change"] }, { kind: "component", type: i3$1.ModalComponent, selector: "valtimo-modal", inputs: ["elementId", "title", "subtitle", "templateBelowSubtitle", "showFooter"] }, { kind: "component", type: i3$4.FormFlowComponent, selector: "valtimo-form-flow", inputs: ["formIoFormData", "formFlowInstanceId"], outputs: ["formFlowComplete"] }, { kind: "pipe", type: i5$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
2345
2623
|
}
|
|
2346
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type:
|
|
2347
|
-
type:
|
|
2348
|
-
args: [{
|
|
2349
|
-
|
|
2350
|
-
|
|
2351
|
-
|
|
2624
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierSupportingProcessStartModalComponent, decorators: [{
|
|
2625
|
+
type: Component,
|
|
2626
|
+
args: [{ selector: 'valtimo-dossier-supporting-process-start-modal', 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<valtimo-modal\n #supportingProcessStartModal\n elementId=\"supportingProcessStartModal\"\n [title]=\"\n (processDefinitionKey | translate) !== processDefinitionKey\n ? (processDefinitionKey | translate)\n : processName\n \"\n>\n <div body *ngIf=\"formDefinition\">\n <valtimo-form-io\n #form\n [submission]=\"submission\"\n [form]=\"formDefinition\"\n [options]=\"options\"\n (submit)=\"onSubmit($event)\"\n >\n </valtimo-form-io>\n </div>\n <div body *ngIf=\"formFlowInstanceId\">\n <valtimo-form-flow\n #formFlow\n [formFlowInstanceId]=\"formFlowInstanceId\"\n (formFlowComplete)=\"formSubmitted()\"\n ></valtimo-form-flow>\n </div>\n <div body *ngIf=\"!formDefinition && !formFlowInstanceId\">\n <div class=\"bg-warning text-black mb-0 p-3 text-center\">\n {{\n (isAdmin$ | async)\n ? ('formManagement.noFormDefinitionFoundAdmin' | translate)\n : ('formManagement.noFormDefinitionFoundUser' | translate)\n }}\n </div>\n <div class=\"mb-0 mt-4 p-3 text-center\">\n <button\n (click)=\"gotoProcessLinkScreen()\"\n class=\"btn btn-secondary btn-space\"\n id=\"process-link-button\"\n type=\"button\"\n >\n {{ 'formManagement.gotoProcessLinksButton' | translate }}\n </button>\n </div>\n </div>\n</valtimo-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 */#supportingProcessStartModal .formio-component-submit{text-align:right}\n"] }]
|
|
2627
|
+
}], ctorParameters: function () { return [{ type: i1$1.ActivatedRoute }, { type: i1$1.Router }, { type: i2$2.ProcessService }, { type: i3$4.ProcessLinkService }, { type: i2$1.DocumentService }, { type: i3$4.FormFlowService }, { type: i6$1.NGXLogger }, { type: i6$2.UserProviderService }]; }, propDecorators: { form: [{
|
|
2628
|
+
type: ViewChild,
|
|
2629
|
+
args: ['form', { static: false }]
|
|
2630
|
+
}], modal: [{
|
|
2631
|
+
type: ViewChild,
|
|
2632
|
+
args: ['supportingProcessStartModal', { static: false }]
|
|
2633
|
+
}], formSubmit: [{
|
|
2634
|
+
type: Output
|
|
2635
|
+
}] } });
|
|
2352
2636
|
|
|
2353
2637
|
/*
|
|
2354
2638
|
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
@@ -2362,96 +2646,81 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
2362
2646
|
* Unless required by applicable law or agreed to in writing, software
|
|
2363
2647
|
* distributed under the License is distributed on an "AS IS" basis,
|
|
2364
2648
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2365
|
-
* See the License for the specific language governing permissions and
|
|
2366
|
-
* limitations under the License.
|
|
2367
|
-
*/
|
|
2368
|
-
class
|
|
2369
|
-
|
|
2370
|
-
this.
|
|
2371
|
-
this.modalService = modalService;
|
|
2372
|
-
this.createNoteEvent = new EventEmitter();
|
|
2373
|
-
this.editNoteEvent = new EventEmitter();
|
|
2374
|
-
this.valid$ = new BehaviorSubject(false);
|
|
2375
|
-
this.showForm$ = this.modalService.modalVisible$;
|
|
2376
|
-
this.formData$ = new BehaviorSubject(null);
|
|
2377
|
-
this.modalType$ = this.notesService.modalType$;
|
|
2378
|
-
this.returnToFirstStepSubject$ = new Subject();
|
|
2379
|
-
}
|
|
2380
|
-
ngAfterViewInit() {
|
|
2381
|
-
this.openShowSubscription();
|
|
2382
|
-
this.openHideSubscription();
|
|
2383
|
-
}
|
|
2384
|
-
ngOnDestroy() {
|
|
2385
|
-
this.showSubscription?.unsubscribe();
|
|
2386
|
-
this.hideSubscription?.unsubscribe();
|
|
2649
|
+
* See the License for the specific language governing permissions and
|
|
2650
|
+
* limitations under the License.
|
|
2651
|
+
*/
|
|
2652
|
+
class DossierAssignUserComponent {
|
|
2653
|
+
set documentId(value) {
|
|
2654
|
+
this.documentId$.next(value);
|
|
2387
2655
|
}
|
|
2388
|
-
|
|
2389
|
-
this.
|
|
2390
|
-
this.valid$.next(false);
|
|
2391
|
-
this.modalService.closeModal();
|
|
2656
|
+
set assigneeId(value) {
|
|
2657
|
+
this.assigneeId$.next(value);
|
|
2392
2658
|
}
|
|
2393
|
-
|
|
2394
|
-
this.
|
|
2659
|
+
set assigneeFullName(value) {
|
|
2660
|
+
this.assigneeFullName$.next(value);
|
|
2395
2661
|
}
|
|
2396
|
-
|
|
2397
|
-
|
|
2398
|
-
|
|
2399
|
-
|
|
2400
|
-
|
|
2401
|
-
|
|
2402
|
-
|
|
2403
|
-
|
|
2662
|
+
constructor(documentService) {
|
|
2663
|
+
this.documentService = documentService;
|
|
2664
|
+
this.hasPermission = true;
|
|
2665
|
+
this.assignmentOfDocumentChanged = new EventEmitter();
|
|
2666
|
+
this.disabled$ = new BehaviorSubject(true);
|
|
2667
|
+
this.documentId$ = new BehaviorSubject('');
|
|
2668
|
+
this.userItems$ = this.documentId$.pipe(filter(documentId => !!documentId), switchMap(documentId => this.hasPermission ? this.documentService.getCandidateUsers(documentId) : of([])), map(candidateUsers => this.mapUsersForDropdown(candidateUsers)), tap$1(() => this.enable()));
|
|
2669
|
+
this.assigneeId$ = new BehaviorSubject('');
|
|
2670
|
+
this.assigneeFullName$ = new BehaviorSubject('');
|
|
2404
2671
|
}
|
|
2405
|
-
|
|
2406
|
-
|
|
2407
|
-
|
|
2408
|
-
.
|
|
2409
|
-
|
|
2410
|
-
|
|
2411
|
-
|
|
2412
|
-
}
|
|
2413
|
-
else {
|
|
2414
|
-
this.editNoteEvent.emit({ formData, data: this.customData });
|
|
2415
|
-
}
|
|
2416
|
-
}
|
|
2672
|
+
assignDocument(userId) {
|
|
2673
|
+
this.disable();
|
|
2674
|
+
this.documentId$
|
|
2675
|
+
.pipe(switchMap(documentId => this.documentService.assignHandlerToDocument(documentId, userId)))
|
|
2676
|
+
.subscribe(() => {
|
|
2677
|
+
this.emitChange();
|
|
2678
|
+
this.enable();
|
|
2417
2679
|
});
|
|
2418
2680
|
}
|
|
2419
|
-
|
|
2420
|
-
this.
|
|
2421
|
-
|
|
2681
|
+
unassignDocument() {
|
|
2682
|
+
this.disable();
|
|
2683
|
+
this.documentId$
|
|
2684
|
+
.pipe(switchMap(documentId => this.documentService.unassignHandlerFromDocument(documentId)))
|
|
2685
|
+
.subscribe(() => {
|
|
2686
|
+
this.emitChange();
|
|
2687
|
+
this.enable();
|
|
2422
2688
|
});
|
|
2423
2689
|
}
|
|
2424
|
-
|
|
2425
|
-
|
|
2426
|
-
|
|
2427
|
-
|
|
2690
|
+
mapUsersForDropdown(users) {
|
|
2691
|
+
return users
|
|
2692
|
+
.sort((a, b) => {
|
|
2693
|
+
if (a.lastName && b.lastName) {
|
|
2694
|
+
return a.lastName.localeCompare(b.lastName);
|
|
2695
|
+
}
|
|
2696
|
+
return 0;
|
|
2697
|
+
})
|
|
2698
|
+
.map(user => ({ text: user.label, id: user.id }));
|
|
2428
2699
|
}
|
|
2429
|
-
|
|
2430
|
-
this.
|
|
2431
|
-
this.modalService.openModal(this.noteModal);
|
|
2432
|
-
});
|
|
2700
|
+
emitChange() {
|
|
2701
|
+
this.assignmentOfDocumentChanged.emit();
|
|
2433
2702
|
}
|
|
2434
|
-
|
|
2435
|
-
this.
|
|
2436
|
-
this.setValid(data);
|
|
2703
|
+
enable() {
|
|
2704
|
+
this.disabled$.next(false);
|
|
2437
2705
|
}
|
|
2438
|
-
|
|
2439
|
-
this.
|
|
2706
|
+
disable() {
|
|
2707
|
+
this.disabled$.next(true);
|
|
2440
2708
|
}
|
|
2441
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type:
|
|
2442
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type:
|
|
2709
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierAssignUserComponent, deps: [{ token: i2$1.DocumentService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2710
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DossierAssignUserComponent, selector: "valtimo-dossier-assign-user", inputs: { documentId: "documentId", assigneeId: "assigneeId", assigneeFullName: "assigneeFullName", hasPermission: "hasPermission" }, outputs: { assignmentOfDocumentChanged: "assignmentOfDocumentChanged" }, 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\">\n <div class=\"row\">\n <div class=\"col-12 pl-0 d-flex flex-row align-items-center\">\n <ng-container *ngTemplateOutlet=\"content\"> </ng-container>\n </div>\n </div>\n</div>\n\n<ng-template #content>\n <ng-container\n *ngIf=\"{\n disabled: disabled$ | async,\n assigneeFullName: assigneeFullName$ | async,\n assigneeId: assigneeId$ | async\n } as obs\"\n >\n <ng-container *ngIf=\"!hasPermission && obs.assigneeFullName\">\n <ng-container *ngTemplateOutlet=\"fullName; context: {obs: obs}\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"hasPermission\">\n <ng-container *ngTemplateOutlet=\"selectUser; context: {obs: obs}\"></ng-container>\n </ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template #fullName let-obs=\"obs\">\n <valtimo-searchable-dropdown-select\n [buttonText]=\"'assignDocument.header' | translate\"\n [clearSelectionButtonTitle]=\"'assignDocument.remove' | translate\"\n [hasPermission]=\"false\"\n [hasSelection]=\"true\"\n [noResultsText]=\"'interface.noSearchResults' | translate\"\n [searchText]=\"'interface.typeToSearch' | translate\"\n [selectedTextValue]=\"obs.assigneeFullName\"\n [selectedText]=\"'assignDocument.assignedTo' | translate\"\n [style]=\"'underlinedText'\"\n [width]=\"250\"\n class=\"dossier-candidates-dropdown\"\n >\n </valtimo-searchable-dropdown-select>\n</ng-template>\n\n<ng-template #selectUser let-obs=\"obs\">\n <ng-container *ngIf=\"userItems$ | async as userItems; else loadingUsers\">\n <valtimo-searchable-dropdown-select\n [buttonText]=\"'assignDocument.header' | translate\"\n [clearSelectionButtonTitle]=\"'assignDocument.remove' | translate\"\n [disabled]=\"obs.disabled\"\n [hasPermission]=\"hasPermission\"\n [hasSelection]=\"obs.assigneeId\"\n [items]=\"userItems\"\n [noResultsText]=\"'interface.noSearchResults' | translate\"\n [searchText]=\"'interface.typeToSearch' | translate\"\n [selectedTextValue]=\"obs.assigneeFullName\"\n [selectedText]=\"'assignDocument.assignedTo' | translate\"\n [style]=\"'underlinedText'\"\n [width]=\"250\"\n (clearSelection)=\"unassignDocument()\"\n (itemSelected)=\"assignDocument($event)\"\n class=\"dossier-candidates-dropdown\"\n >\n </valtimo-searchable-dropdown-select>\n </ng-container>\n</ng-template>\n\n<ng-template #loadingUsers>\n <h5>\n <b>{{ 'assignDocument.fetchingUsers' | translate }}</b>\n </h5>\n</ng-template>\n", styles: [".container-fluid{color:#959595}valtimo-searchable-dropdown-select{font-size:13px}:host .dossier-candidates-dropdown h5{margin-block:0}\n"], dependencies: [{ kind: "directive", type: i5$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3$1.SearchableDropdownSelectComponent, selector: "valtimo-searchable-dropdown-select", inputs: ["style", "items", "buttonText", "searchText", "noResultsText", "disabled", "selectedText", "selectedTextValue", "clearSelectionButtonTitle", "hasSelection", "width", "hasPermission"], outputs: ["itemSelected", "clearSelection"] }, { kind: "pipe", type: i5$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
|
|
2443
2711
|
}
|
|
2444
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type:
|
|
2712
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierAssignUserComponent, decorators: [{
|
|
2445
2713
|
type: Component,
|
|
2446
|
-
args: [{ selector: 'valtimo-
|
|
2447
|
-
}], ctorParameters: function () { return [{ type:
|
|
2448
|
-
type: ViewChild,
|
|
2449
|
-
args: ['noteModal']
|
|
2450
|
-
}], customData: [{
|
|
2714
|
+
args: [{ selector: 'valtimo-dossier-assign-user', 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\">\n <div class=\"row\">\n <div class=\"col-12 pl-0 d-flex flex-row align-items-center\">\n <ng-container *ngTemplateOutlet=\"content\"> </ng-container>\n </div>\n </div>\n</div>\n\n<ng-template #content>\n <ng-container\n *ngIf=\"{\n disabled: disabled$ | async,\n assigneeFullName: assigneeFullName$ | async,\n assigneeId: assigneeId$ | async\n } as obs\"\n >\n <ng-container *ngIf=\"!hasPermission && obs.assigneeFullName\">\n <ng-container *ngTemplateOutlet=\"fullName; context: {obs: obs}\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"hasPermission\">\n <ng-container *ngTemplateOutlet=\"selectUser; context: {obs: obs}\"></ng-container>\n </ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template #fullName let-obs=\"obs\">\n <valtimo-searchable-dropdown-select\n [buttonText]=\"'assignDocument.header' | translate\"\n [clearSelectionButtonTitle]=\"'assignDocument.remove' | translate\"\n [hasPermission]=\"false\"\n [hasSelection]=\"true\"\n [noResultsText]=\"'interface.noSearchResults' | translate\"\n [searchText]=\"'interface.typeToSearch' | translate\"\n [selectedTextValue]=\"obs.assigneeFullName\"\n [selectedText]=\"'assignDocument.assignedTo' | translate\"\n [style]=\"'underlinedText'\"\n [width]=\"250\"\n class=\"dossier-candidates-dropdown\"\n >\n </valtimo-searchable-dropdown-select>\n</ng-template>\n\n<ng-template #selectUser let-obs=\"obs\">\n <ng-container *ngIf=\"userItems$ | async as userItems; else loadingUsers\">\n <valtimo-searchable-dropdown-select\n [buttonText]=\"'assignDocument.header' | translate\"\n [clearSelectionButtonTitle]=\"'assignDocument.remove' | translate\"\n [disabled]=\"obs.disabled\"\n [hasPermission]=\"hasPermission\"\n [hasSelection]=\"obs.assigneeId\"\n [items]=\"userItems\"\n [noResultsText]=\"'interface.noSearchResults' | translate\"\n [searchText]=\"'interface.typeToSearch' | translate\"\n [selectedTextValue]=\"obs.assigneeFullName\"\n [selectedText]=\"'assignDocument.assignedTo' | translate\"\n [style]=\"'underlinedText'\"\n [width]=\"250\"\n (clearSelection)=\"unassignDocument()\"\n (itemSelected)=\"assignDocument($event)\"\n class=\"dossier-candidates-dropdown\"\n >\n </valtimo-searchable-dropdown-select>\n </ng-container>\n</ng-template>\n\n<ng-template #loadingUsers>\n <h5>\n <b>{{ 'assignDocument.fetchingUsers' | translate }}</b>\n </h5>\n</ng-template>\n", styles: [".container-fluid{color:#959595}valtimo-searchable-dropdown-select{font-size:13px}:host .dossier-candidates-dropdown h5{margin-block:0}\n"] }]
|
|
2715
|
+
}], ctorParameters: function () { return [{ type: i2$1.DocumentService }]; }, propDecorators: { documentId: [{
|
|
2451
2716
|
type: Input
|
|
2452
|
-
}],
|
|
2453
|
-
type:
|
|
2454
|
-
}],
|
|
2717
|
+
}], assigneeId: [{
|
|
2718
|
+
type: Input
|
|
2719
|
+
}], assigneeFullName: [{
|
|
2720
|
+
type: Input
|
|
2721
|
+
}], hasPermission: [{
|
|
2722
|
+
type: Input
|
|
2723
|
+
}], assignmentOfDocumentChanged: [{
|
|
2455
2724
|
type: Output
|
|
2456
2725
|
}] } });
|
|
2457
2726
|
|
|
@@ -2470,242 +2739,195 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
2470
2739
|
* See the License for the specific language governing permissions and
|
|
2471
2740
|
* limitations under the License.
|
|
2472
2741
|
*/
|
|
2473
|
-
class
|
|
2474
|
-
constructor(
|
|
2475
|
-
this.
|
|
2742
|
+
class TabTranslatePipe {
|
|
2743
|
+
constructor(translateService) {
|
|
2744
|
+
this.translateService = translateService;
|
|
2745
|
+
}
|
|
2746
|
+
transform(tab) {
|
|
2747
|
+
const translationId = 'dossier.tabs.' + tab.name;
|
|
2748
|
+
return tab.title
|
|
2749
|
+
? of(tab.title)
|
|
2750
|
+
: this.translateService
|
|
2751
|
+
.stream(translationId)
|
|
2752
|
+
.pipe(map(translation => (translationId !== translation ? translation : tab.name)));
|
|
2753
|
+
}
|
|
2754
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TabTranslatePipe, deps: [{ token: i6.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
2755
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: TabTranslatePipe, name: "tabTranslate" }); }
|
|
2756
|
+
}
|
|
2757
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TabTranslatePipe, decorators: [{
|
|
2758
|
+
type: Pipe,
|
|
2759
|
+
args: [{
|
|
2760
|
+
name: 'tabTranslate',
|
|
2761
|
+
}]
|
|
2762
|
+
}], ctorParameters: function () { return [{ type: i6.TranslateService }]; } });
|
|
2763
|
+
|
|
2764
|
+
class DossierDetailComponent {
|
|
2765
|
+
constructor(breadcrumbService, componentFactoryResolver, configService, documentService, keyCloakService, location, logger, permissionService, route, router, dossierTabService, dossierService) {
|
|
2766
|
+
this.breadcrumbService = breadcrumbService;
|
|
2767
|
+
this.componentFactoryResolver = componentFactoryResolver;
|
|
2768
|
+
this.configService = configService;
|
|
2769
|
+
this.documentService = documentService;
|
|
2770
|
+
this.keyCloakService = keyCloakService;
|
|
2771
|
+
this.location = location;
|
|
2772
|
+
this.logger = logger;
|
|
2476
2773
|
this.permissionService = permissionService;
|
|
2477
|
-
this.promptService = promptService;
|
|
2478
2774
|
this.route = route;
|
|
2479
|
-
this.
|
|
2480
|
-
this.
|
|
2481
|
-
this.
|
|
2482
|
-
this.
|
|
2483
|
-
this.
|
|
2484
|
-
this.
|
|
2485
|
-
this.
|
|
2486
|
-
this.
|
|
2487
|
-
|
|
2488
|
-
|
|
2489
|
-
|
|
2490
|
-
|
|
2775
|
+
this.router = router;
|
|
2776
|
+
this.dossierTabService = dossierTabService;
|
|
2777
|
+
this.dossierService = dossierService;
|
|
2778
|
+
this.customDossierHeaderItems = [];
|
|
2779
|
+
this.document = null;
|
|
2780
|
+
this.processDefinitionListFields = [];
|
|
2781
|
+
this.processDocumentDefinitions = [];
|
|
2782
|
+
this.tabLoader = null;
|
|
2783
|
+
this.assigneeId$ = new BehaviorSubject('');
|
|
2784
|
+
this.document$ = this.dossierService.refreshDocument$.pipe(switchMap(() => this.route.params), map((params) => params?.documentId), switchMap((documentId) => documentId ? this.documentService.getDocument(this.documentId) : of(null)), tap((document) => {
|
|
2785
|
+
if (document) {
|
|
2786
|
+
this.assigneeId$.next(document.assigneeId);
|
|
2787
|
+
this.document = document;
|
|
2788
|
+
if (this.configService.config.customDossierHeader?.hasOwnProperty(this.documentDefinitionName.toLowerCase()) &&
|
|
2789
|
+
this.customDossierHeaderItems.length === 0) {
|
|
2790
|
+
this.configService.config.customDossierHeader[this.documentDefinitionName.toLowerCase()]?.forEach(item => this.getCustomDossierHeaderItem(item));
|
|
2791
|
+
}
|
|
2792
|
+
}
|
|
2793
|
+
}));
|
|
2794
|
+
this.documentDefinitionName$ = this.route.params.pipe(map(params => params.documentDefinitionName || ''));
|
|
2795
|
+
this.userId$ = from(this.keyCloakService.isLoggedIn()).pipe(switchMap(() => this.keyCloakService.loadUserProfile()), map(profile => profile?.id));
|
|
2796
|
+
this.isAssigning$ = new BehaviorSubject(false);
|
|
2797
|
+
this.isAssignedToCurrentUser$ = combineLatest([
|
|
2798
|
+
this.assigneeId$,
|
|
2799
|
+
this.userId$,
|
|
2800
|
+
]).pipe(map(([assigneeId, userId]) => !!assigneeId && !!userId && assigneeId === userId), startWith(true));
|
|
2801
|
+
this.canHaveAssignee$ = this.documentDefinitionName$.pipe(switchMap(documentDefinitionName => this.documentService.getCaseSettings(documentDefinitionName)), map(caseSettings => caseSettings?.canHaveAssignee));
|
|
2802
|
+
this.canAssignLoaded$ = new BehaviorSubject(false);
|
|
2803
|
+
this.canAssign$ = this.route.paramMap.pipe(switchMap((params) => this.permissionService.requestPermission(CAN_ASSIGN_CASE_PERMISSION, {
|
|
2491
2804
|
resource: DOSSIER_DETAIL_PERMISSION_RESOURCE.jsonSchemaDocument,
|
|
2492
|
-
identifier,
|
|
2493
|
-
})))
|
|
2494
|
-
|
|
2495
|
-
|
|
2496
|
-
|
|
2497
|
-
|
|
2498
|
-
|
|
2499
|
-
|
|
2500
|
-
|
|
2501
|
-
this.
|
|
2502
|
-
|
|
2503
|
-
|
|
2504
|
-
|
|
2505
|
-
this.notes$ = combineLatest([
|
|
2506
|
-
this.documentId$,
|
|
2507
|
-
this.currentPageAndSize$,
|
|
2508
|
-
this.notesService.refresh$,
|
|
2509
|
-
this.notesService.refresh$,
|
|
2510
|
-
]).pipe(tap$1(() => (this.timelineItems = [])), switchMap$1(([documentId, currentPage]) => this.notesService.getDocumentNotes(documentId, {
|
|
2511
|
-
page: currentPage.page,
|
|
2512
|
-
size: currentPage.size,
|
|
2513
|
-
})), tap$1((res) => {
|
|
2514
|
-
this.timelineItems = [];
|
|
2515
|
-
this.pageSizes$.pipe(take$1(1)).subscribe(sizes => {
|
|
2516
|
-
this.pageSizes$.next({ ...sizes, collectionSize: res.totalElements });
|
|
2517
|
-
});
|
|
2518
|
-
}), switchMap$1(res => combineLatest([
|
|
2519
|
-
of(res),
|
|
2520
|
-
...res.content.map(note => this.permissionService.requestPermission(CAN_DELETE_NOTE_PERMISSION, {
|
|
2521
|
-
resource: DOSSIER_DETAIL_PERMISSION_RESOURCE.note,
|
|
2522
|
-
identifier: note.id,
|
|
2523
|
-
})),
|
|
2524
|
-
...res.content.map(note => this.permissionService.requestPermission(CAN_EDIT_NOTE_PERMISSION, {
|
|
2525
|
-
resource: DOSSIER_DETAIL_PERMISSION_RESOURCE.note,
|
|
2526
|
-
identifier: note.id,
|
|
2527
|
-
})),
|
|
2528
|
-
])), map(combinedResults => {
|
|
2529
|
-
const permissionResults = combinedResults.filter((curr, index) => index !== 0);
|
|
2530
|
-
const halfIndex = Math.ceil(permissionResults.length / 2);
|
|
2531
|
-
const deletePermissions = permissionResults.slice(0, halfIndex);
|
|
2532
|
-
const editPermissions = permissionResults.slice(halfIndex);
|
|
2533
|
-
return combinedResults[0].content.map((note, index) => {
|
|
2534
|
-
const noteCreatedDate = moment(note.createdDate).locale(this.translateService.currentLang);
|
|
2535
|
-
this.timelineItems.push(new TimelineItemImpl(noteCreatedDate.format('DD MMM YYYY'), noteCreatedDate.format('HH:mm'), note.createdByUserFullName, noteCreatedDate.fromNow(), note.content, {}, { id: note.id }, [
|
|
2536
|
-
...(deletePermissions[index] ? ['delete'] : []),
|
|
2537
|
-
...(editPermissions[index] ? ['edit'] : []),
|
|
2538
|
-
]));
|
|
2539
|
-
return {
|
|
2540
|
-
...note,
|
|
2541
|
-
};
|
|
2542
|
-
});
|
|
2543
|
-
}), tap$1(() => this.loading$.next(false)));
|
|
2544
|
-
}
|
|
2545
|
-
ngOnInit() {
|
|
2546
|
-
this.translateService.onLangChange.subscribe(() => {
|
|
2547
|
-
this.notesService.refresh();
|
|
2548
|
-
});
|
|
2549
|
-
}
|
|
2550
|
-
paginationClicked(newPageNumber) {
|
|
2551
|
-
this.currentPageAndSize$.pipe(take$1(1)).subscribe(currentPage => {
|
|
2552
|
-
this.currentPageAndSize$.next({ ...currentPage, page: newPageNumber - 1 });
|
|
2553
|
-
});
|
|
2554
|
-
}
|
|
2555
|
-
showAddModal() {
|
|
2556
|
-
this.customData$.next({});
|
|
2557
|
-
this.notesService.setModalType('add');
|
|
2558
|
-
this.notesService.showModal();
|
|
2559
|
-
}
|
|
2560
|
-
createNewNote(content) {
|
|
2561
|
-
this.documentId$
|
|
2562
|
-
.pipe(take$1(1), switchMap$1((documentId) => this.notesService.createDocumentNote(documentId, content)))
|
|
2563
|
-
.subscribe(() => {
|
|
2564
|
-
this.notesService.refresh();
|
|
2565
|
-
this.notesService.hideModal();
|
|
2566
|
-
});
|
|
2567
|
-
}
|
|
2568
|
-
editNoteEvent(content) {
|
|
2569
|
-
this.notesService.updateNote(content.data.customData.id, content.formData).subscribe(() => {
|
|
2570
|
-
this.notesService.refresh();
|
|
2571
|
-
this.notesService.hideModal();
|
|
2572
|
-
this.toastrService.success(this.translateService.instant('dossier.notes.editedMessage'));
|
|
2573
|
-
});
|
|
2805
|
+
identifier: params.get('documentId') ?? '',
|
|
2806
|
+
})), tap(() => {
|
|
2807
|
+
this.canAssignLoaded$.next(true);
|
|
2808
|
+
}));
|
|
2809
|
+
this.canClaim$ = this.route.paramMap.pipe(switchMap((params) => this.permissionService.requestPermission(CAN_CLAIM_CASE_PERMISSION, {
|
|
2810
|
+
resource: DOSSIER_DETAIL_PERMISSION_RESOURCE.jsonSchemaDocument,
|
|
2811
|
+
identifier: params.get('documentId') ?? '',
|
|
2812
|
+
})));
|
|
2813
|
+
this.loadingTabs$ = new BehaviorSubject(true);
|
|
2814
|
+
this.noTabsConfigured$ = new BehaviorSubject(false);
|
|
2815
|
+
this._snapshot = this.route.snapshot.paramMap;
|
|
2816
|
+
this.documentDefinitionName = this._snapshot.get('documentDefinitionName') || '';
|
|
2817
|
+
this.documentId = this._snapshot.get('documentId') || '';
|
|
2574
2818
|
}
|
|
2575
|
-
|
|
2576
|
-
this.
|
|
2577
|
-
this.
|
|
2578
|
-
this.
|
|
2819
|
+
ngAfterViewInit() {
|
|
2820
|
+
this.initTabLoader();
|
|
2821
|
+
this.initBreadcrumb();
|
|
2822
|
+
this.getAllAssociatedProcessDefinitions();
|
|
2579
2823
|
}
|
|
2580
|
-
|
|
2581
|
-
this.
|
|
2582
|
-
|
|
2583
|
-
|
|
2584
|
-
|
|
2585
|
-
|
|
2586
|
-
|
|
2587
|
-
|
|
2588
|
-
|
|
2589
|
-
|
|
2590
|
-
|
|
2591
|
-
|
|
2592
|
-
|
|
2593
|
-
|
|
2594
|
-
this.notesService.refresh();
|
|
2595
|
-
this.toastrService.success(this.translateService.instant('dossier.notes.deleteConfirmation.deletedMessage'));
|
|
2596
|
-
});
|
|
2597
|
-
},
|
|
2824
|
+
ngOnDestroy() {
|
|
2825
|
+
this.breadcrumbService.clearSecondBreadcrumb();
|
|
2826
|
+
}
|
|
2827
|
+
getAllAssociatedProcessDefinitions() {
|
|
2828
|
+
this.documentService
|
|
2829
|
+
.findProcessDocumentDefinitions(this.documentDefinitionName)
|
|
2830
|
+
.subscribe((processDocumentDefinitions) => {
|
|
2831
|
+
this.processDocumentDefinitions = processDocumentDefinitions.filter(processDocumentDefinition => processDocumentDefinition.startableByUser);
|
|
2832
|
+
this.processDefinitionListFields = [
|
|
2833
|
+
{
|
|
2834
|
+
key: 'processName',
|
|
2835
|
+
label: 'Proces',
|
|
2836
|
+
},
|
|
2837
|
+
];
|
|
2598
2838
|
});
|
|
2599
2839
|
}
|
|
2600
|
-
|
|
2601
|
-
|
|
2602
|
-
}
|
|
2603
|
-
|
|
2604
|
-
|
|
2605
|
-
|
|
2606
|
-
|
|
2607
|
-
|
|
2608
|
-
|
|
2609
|
-
|
|
2610
|
-
|
|
2611
|
-
* Licensed under EUPL, Version 1.2 (the "License");
|
|
2612
|
-
* you may not use this file except in compliance with the License.
|
|
2613
|
-
* You may obtain a copy of the License at
|
|
2614
|
-
*
|
|
2615
|
-
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
2616
|
-
*
|
|
2617
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
2618
|
-
* distributed under the License is distributed on an "AS IS" basis,
|
|
2619
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2620
|
-
* See the License for the specific language governing permissions and
|
|
2621
|
-
* limitations under the License.
|
|
2622
|
-
*/
|
|
2623
|
-
class DossierDetailTabZaakobjectenComponent {
|
|
2624
|
-
constructor(route, zaakobjectenService, modalService) {
|
|
2625
|
-
this.route = route;
|
|
2626
|
-
this.zaakobjectenService = zaakobjectenService;
|
|
2627
|
-
this.modalService = modalService;
|
|
2628
|
-
this.documentId$ = this.route.params.pipe(map(params => params.documentId));
|
|
2629
|
-
this.objecttypes$ = this.documentId$.pipe(switchMap(documentId => this.zaakobjectenService.getDocumentObjectTypes(documentId)));
|
|
2630
|
-
this.objecttypeSelectItems$ = this.objecttypes$.pipe(map(objecttypes => objecttypes.map(type => ({ id: type.url, text: type.name || '-' }))));
|
|
2631
|
-
this.selectedObjecttypeUrl$ = new BehaviorSubject(null);
|
|
2632
|
-
this.objects$ = combineLatest([
|
|
2633
|
-
this.documentId$,
|
|
2634
|
-
this.selectedObjecttypeUrl$,
|
|
2635
|
-
]).pipe(switchMap(([documentId, selectedObjecttypeUrl]) => documentId && selectedObjecttypeUrl
|
|
2636
|
-
? this.zaakobjectenService
|
|
2637
|
-
.getDocumentObjectsOfType(documentId, selectedObjecttypeUrl)
|
|
2638
|
-
.pipe(map(objects => objects.map(object => ({ ...object, title: object.title || '-' }))))
|
|
2639
|
-
: of(null)));
|
|
2640
|
-
this.columns$ = new BehaviorSubject([
|
|
2641
|
-
{
|
|
2642
|
-
labelTranslationKey: 'dossier.zaakobjecten.index',
|
|
2643
|
-
dataKey: 'index',
|
|
2644
|
-
},
|
|
2645
|
-
{
|
|
2646
|
-
labelTranslationKey: 'dossier.zaakobjecten.registrationAt',
|
|
2647
|
-
dataKey: 'registrationAt',
|
|
2840
|
+
startProcess(processDocumentDefinition) {
|
|
2841
|
+
this.supportingProcessStart.openModal(processDocumentDefinition, this.documentId);
|
|
2842
|
+
}
|
|
2843
|
+
claimAssignee() {
|
|
2844
|
+
this.isAssigning$.next(true);
|
|
2845
|
+
this.userId$
|
|
2846
|
+
.pipe(take(1), switchMap((userId) => this.documentService.assignHandlerToDocument(this.documentId, userId ?? '')))
|
|
2847
|
+
.subscribe({
|
|
2848
|
+
next: () => {
|
|
2849
|
+
this.isAssigning$.next(false);
|
|
2850
|
+
this.dossierService.refresh();
|
|
2648
2851
|
},
|
|
2649
|
-
{
|
|
2650
|
-
|
|
2651
|
-
|
|
2852
|
+
error: () => {
|
|
2853
|
+
this.isAssigning$.next(false);
|
|
2854
|
+
this.logger.debug('Something went wrong while assigning user to case');
|
|
2652
2855
|
},
|
|
2653
|
-
|
|
2654
|
-
this.objectForm$ = new BehaviorSubject(null);
|
|
2655
|
-
this.objectName$ = new BehaviorSubject('');
|
|
2656
|
-
this.noFormDefinitionComponent$ = new BehaviorSubject(false);
|
|
2657
|
-
}
|
|
2658
|
-
selectObjectType(objectTypeUrl) {
|
|
2659
|
-
this.selectedObjecttypeUrl$.next(objectTypeUrl);
|
|
2856
|
+
});
|
|
2660
2857
|
}
|
|
2661
|
-
|
|
2662
|
-
this.
|
|
2663
|
-
|
|
2664
|
-
|
|
2665
|
-
|
|
2666
|
-
|
|
2667
|
-
disabled: true,
|
|
2668
|
-
}));
|
|
2669
|
-
this.setModalData(objectTypeSelectItems, definition);
|
|
2670
|
-
}, () => {
|
|
2671
|
-
this.setModalData(objectTypeSelectItems);
|
|
2672
|
-
});
|
|
2858
|
+
initBreadcrumb() {
|
|
2859
|
+
this.documentService
|
|
2860
|
+
.getDocumentDefinition(this.documentDefinitionName)
|
|
2861
|
+
.subscribe(definition => {
|
|
2862
|
+
this.documentDefinitionNameTitle = definition.schema.title;
|
|
2863
|
+
this.setBreadcrumb();
|
|
2673
2864
|
});
|
|
2674
2865
|
}
|
|
2675
|
-
|
|
2676
|
-
this.
|
|
2677
|
-
|
|
2678
|
-
|
|
2866
|
+
initTabLoader() {
|
|
2867
|
+
this.dossierTabService.tabs$.pipe(take(1)).subscribe(tabs => {
|
|
2868
|
+
if (tabs?.length > 0) {
|
|
2869
|
+
this._initialTabName = this._snapshot.get('tab') ?? '';
|
|
2870
|
+
this.tabLoader = new TabLoaderImpl(tabs, this.componentFactoryResolver, this.viewContainerRef, this.router, this.route);
|
|
2871
|
+
this.tabLoader.initial(this._initialTabName);
|
|
2872
|
+
this.loadingTabs$.next(false);
|
|
2873
|
+
}
|
|
2874
|
+
else {
|
|
2875
|
+
this.noTabsConfigured$.next(true);
|
|
2876
|
+
this.loadingTabs$.next(false);
|
|
2877
|
+
}
|
|
2679
2878
|
});
|
|
2680
2879
|
}
|
|
2681
|
-
|
|
2682
|
-
this.
|
|
2880
|
+
assignmentOfDocumentChanged() {
|
|
2881
|
+
this.dossierService.refresh();
|
|
2683
2882
|
}
|
|
2684
|
-
|
|
2685
|
-
|
|
2686
|
-
|
|
2687
|
-
|
|
2883
|
+
getCustomDossierHeaderItem(item) {
|
|
2884
|
+
this.customDossierHeaderItems.push({
|
|
2885
|
+
label: item['labelTranslationKey'] || '',
|
|
2886
|
+
columnSize: item['columnSize'] || 3,
|
|
2887
|
+
textSize: item['textSize'] || 'md',
|
|
2888
|
+
customClass: item['customClass'] || '',
|
|
2889
|
+
modifier: item['modifier'] || '',
|
|
2890
|
+
value: item['propertyPaths']?.reduce((prev, curr) => prev + this.getStringFromDocumentPath(item, curr), ''),
|
|
2891
|
+
});
|
|
2688
2892
|
}
|
|
2689
|
-
|
|
2690
|
-
|
|
2691
|
-
|
|
2692
|
-
|
|
2693
|
-
|
|
2694
|
-
|
|
2695
|
-
|
|
2893
|
+
getStringFromDocumentPath(item, path) {
|
|
2894
|
+
const prefix = item['propertyPaths'].indexOf(path) > 0 ? ' ' : '';
|
|
2895
|
+
let string = path.split('.').reduce((o, i) => o[i], this.document?.content) || item['noValueText'] || '';
|
|
2896
|
+
const dateFormats = [moment.ISO_8601, 'MM-DD-YYYY', 'DD-MM-YYYY', 'YYYY-MM-DD'];
|
|
2897
|
+
switch (item['modifier']) {
|
|
2898
|
+
case 'age': {
|
|
2899
|
+
if (moment(string, dateFormats, true).isValid()) {
|
|
2900
|
+
string = moment().diff(string, 'years');
|
|
2901
|
+
}
|
|
2902
|
+
break;
|
|
2903
|
+
}
|
|
2904
|
+
default: {
|
|
2905
|
+
if (moment(string, dateFormats, true).isValid()) {
|
|
2906
|
+
string = moment(string).format('DD-MM-YYYY');
|
|
2907
|
+
}
|
|
2908
|
+
}
|
|
2696
2909
|
}
|
|
2697
|
-
|
|
2698
|
-
|
|
2910
|
+
return prefix + string;
|
|
2911
|
+
}
|
|
2912
|
+
setBreadcrumb() {
|
|
2913
|
+
this.breadcrumbService.setSecondBreadcrumb({
|
|
2914
|
+
route: [`/dossiers/${this.documentDefinitionName}`],
|
|
2915
|
+
content: this.documentDefinitionNameTitle,
|
|
2916
|
+
href: `/dossiers/${this.documentDefinitionName}`,
|
|
2917
|
+
});
|
|
2699
2918
|
}
|
|
2700
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type:
|
|
2701
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type:
|
|
2919
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierDetailComponent, deps: [{ token: i3$1.BreadcrumbService }, { token: i0.ComponentFactoryResolver }, { token: i1.ConfigService }, { token: i2$1.DocumentService }, { token: i4$2.KeycloakService }, { token: i5$1.Location }, { token: i6$1.NGXLogger }, { token: i7.PermissionService }, { token: i1$1.ActivatedRoute }, { token: i1$1.Router }, { token: DossierTabService }, { token: DossierService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2920
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DossierDetailComponent, selector: "valtimo-dossier-detail", providers: [DossierTabService], viewQueries: [{ propertyName: "supportingProcessStart", first: true, predicate: ["supportingProcessStartModal"], descendants: true }, { propertyName: "viewContainerRef", first: true, predicate: ["tabContainer"], descendants: true, read: ViewContainerRef }], 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<div\n *ngIf=\"{\n canAssign: canAssign$ | async,\n canClaim: canClaim$ | async,\n canHaveAssignee: canHaveAssignee$ | async,\n document: document$ | async\n } as obs\"\n class=\"main-content\"\n>\n <div class=\"container-fluid\">\n <div class=\"col-12 px-0 mb-5\">\n <valtimo-widget>\n <div class=\"card-header bg-light card-header-divider pb-2\">\n <div class=\"row\">\n <div class=\"col\">\n <ng-container\n *ngTemplateOutlet=\"\n caseDetailHeader;\n context: {\n canHaveAssignee: obs.canHaveAssignee,\n document: obs.document,\n canAssign: obs.canAssign\n }\n \"\n ></ng-container>\n </div>\n\n <div class=\"btn-group mt-m3px mb-3 col-auto\">\n <valtimo-extension\n module=\"dossier\"\n page=\"dossier-detail\"\n section=\"card-header\"\n ></valtimo-extension>\n\n <ng-container\n *ngTemplateOutlet=\"\n claimButton;\n context: {canClaim: obs.canClaim, canHaveAssignee: obs.canHaveAssignee}\n \"\n ></ng-container>\n\n <div class=\"dropdown\">\n <button\n [disabled]=\"processDocumentDefinitions.length === 0\"\n [ngbTooltip]=\"processDocumentDefinitions.length === 0 ? 'No action' : null\"\n aria-expanded=\"false\"\n aria-haspopup=\"true\"\n class=\"btn btn-primary dropdown-toggle\"\n data-toggle=\"dropdown\"\n id=\"startProcessDropdown\"\n placement=\"bottom\"\n type=\"button\"\n >\n <span>{{ 'dossier.startSubProcess' | translate }}</span>\n\n <i class=\"ml-1 mdi mdi-chevron-down\"></i>\n </button>\n\n <div\n aria-labelledby=\"startProcessDropdown\"\n class=\"dropdown-menu dropdown-menu-right\"\n >\n <button\n *ngFor=\"let processDocumentDefinition of processDocumentDefinitions\"\n (click)=\"startProcess(processDocumentDefinition)\"\n class=\"dropdown-item p\"\n href=\"#\"\n >\n {{\n (processDocumentDefinition?.id?.processDefinitionKey | translate) !==\n processDocumentDefinition?.id?.processDefinitionKey\n ? (processDocumentDefinition.id.processDefinitionKey | translate)\n : processDocumentDefinition.processName\n }}\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <ul *ngIf=\"tabLoader\" class=\"nav nav-tabs\">\n <li class=\"nav-item\" *ngFor=\"let tab of tabLoader.tabs\">\n <a\n [ngClass]=\"{active: tab.isActive()}\"\n (click)=\"tabLoader.load(tab)\"\n class=\"nav-link clickable\"\n data-toggle=\"tab\"\n id=\"{{ tab.name }}-tab\"\n >\n {{ tab | tabTranslate | async }}\n </a>\n </li>\n </ul>\n\n <div class=\"card-body bg-white p-5 position-relative tab-container\">\n <div *ngIf=\"loadingTabs$ | async\" class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n\n <valtimo-no-results\n *ngIf=\"noTabsConfigured$ | async\"\n [description]=\"'dossier.tabs.noResultsDescription' | translate\"\n [title]=\"'dossier.tabs.noResults' | translate\"\n ></valtimo-no-results>\n\n <ng-template #tabContainer></ng-template>\n\n <div class=\"clearfix\"></div>\n </div>\n </valtimo-widget>\n </div>\n\n <valtimo-dossier-supporting-process-start-modal\n (formSubmit)=\"tabLoader.refreshView()\"\n #supportingProcessStartModal\n ></valtimo-dossier-supporting-process-start-modal>\n </div>\n</div>\n\n<ng-template\n #caseDetailHeader\n let-canHaveAssignee=\"canHaveAssignee\"\n let-document=\"document\"\n let-canAssign=\"canAssign\"\n>\n <div class=\"row\" *ngIf=\"customDossierHeaderItems.length > 0; else defaultTitle\">\n <span\n *ngFor=\"let item of customDossierHeaderItems\"\n [ngClass]=\"{\n h1: item.textSize === 'xl',\n h2: item.textSize === 'lg',\n h3: item.textSize === 'md',\n h4: item.textSize === 'sm',\n h5: item.textSize === 'xs'\n }\"\n class=\"mb-0 mt-0 pb-2 align-self-end col-xl-{{ item.columnSize }} col-lg-{{\n item.columnSize * 2\n }} {{ item.customClass }}\"\n >\n <span *ngIf=\"item.label\">{{ item.label | translate }}</span>\n\n <span *ngIf=\"item.label && item.value\">: </span>\n\n <strong>{{ item.value }}</strong>\n </span>\n </div>\n\n <ng-container\n *ngTemplateOutlet=\"\n caseDetailAssignee;\n context: {canHaveAssignee: canHaveAssignee, document: document, canAssign: canAssign}\n \"\n ></ng-container>\n</ng-template>\n\n<ng-template #defaultTitle>\n <div class=\"row ml-0 mr-0\">{{ documentDefinitionNameTitle?.trim() }}</div>\n</ng-template>\n\n<ng-template\n #caseDetailAssignee\n let-canHaveAssignee=\"canHaveAssignee\"\n let-document=\"document\"\n let-canAssign=\"canAssign\"\n>\n <div class=\"row ml-0 mr-0 mt-1 mb-1\" *ngIf=\"canHaveAssignee && document\">\n <valtimo-dossier-assign-user\n *ngIf=\"canAssignLoaded$ | async\"\n [assigneeFullName]=\"document?.assigneeFullName\"\n [assigneeId]=\"document.assigneeId\"\n [documentId]=\"document.id\"\n [hasPermission]=\"canAssign\"\n (assignmentOfDocumentChanged)=\"assignmentOfDocumentChanged()\"\n ></valtimo-dossier-assign-user>\n </div>\n</ng-template>\n\n<ng-template #claimButton let-canClaim=\"canClaim\" let-canHaveAssignee=\"canHaveAssignee\">\n <div class=\"user-full-name\" *ngIf=\"canClaim && canHaveAssignee\">\n <button\n [disabled]=\"(isAssigning$ | async) || (isAssignedToCurrentUser$ | async)\"\n (click)=\"claimAssignee()\"\n aria-expanded=\"false\"\n aria-haspopup=\"true\"\n class=\"btn btn-space btn-primary mr-1\"\n placement=\"bottom\"\n type=\"button\"\n >\n <span>{{ 'dossier.claimAssigneeCase' | translate }}</span>\n </button>\n </div>\n</ng-template>\n", styles: [".tab-container{min-height:300px}.loading-container{display:flex;justify-content:center;flex-direction:row}\n"], dependencies: [{ kind: "directive", type: i5$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3$1.WidgetComponent, selector: "valtimo-widget", inputs: ["type", "name", "icon", "contrast", "divider", "title", "subtitle", "collapseAble", "collapse", "additionalClasses"] }, { 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: i1.ExtensionComponent, selector: "valtimo-extension", inputs: ["module", "page", "section"] }, { kind: "component", type: i4.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "component", type: i3$1.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title"] }, { kind: "component", type: DossierSupportingProcessStartModalComponent, selector: "valtimo-dossier-supporting-process-start-modal", outputs: ["formSubmit"] }, { kind: "component", type: DossierAssignUserComponent, selector: "valtimo-dossier-assign-user", inputs: ["documentId", "assigneeId", "assigneeFullName", "hasPermission"], outputs: ["assignmentOfDocumentChanged"] }, { kind: "pipe", type: i5$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }, { kind: "pipe", type: TabTranslatePipe, name: "tabTranslate" }] }); }
|
|
2702
2921
|
}
|
|
2703
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type:
|
|
2922
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierDetailComponent, decorators: [{
|
|
2704
2923
|
type: Component,
|
|
2705
|
-
args: [{ selector: 'valtimo-dossier-detail
|
|
2706
|
-
}], ctorParameters: function () { return [{ type:
|
|
2924
|
+
args: [{ selector: 'valtimo-dossier-detail', providers: [DossierTabService], 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<div\n *ngIf=\"{\n canAssign: canAssign$ | async,\n canClaim: canClaim$ | async,\n canHaveAssignee: canHaveAssignee$ | async,\n document: document$ | async\n } as obs\"\n class=\"main-content\"\n>\n <div class=\"container-fluid\">\n <div class=\"col-12 px-0 mb-5\">\n <valtimo-widget>\n <div class=\"card-header bg-light card-header-divider pb-2\">\n <div class=\"row\">\n <div class=\"col\">\n <ng-container\n *ngTemplateOutlet=\"\n caseDetailHeader;\n context: {\n canHaveAssignee: obs.canHaveAssignee,\n document: obs.document,\n canAssign: obs.canAssign\n }\n \"\n ></ng-container>\n </div>\n\n <div class=\"btn-group mt-m3px mb-3 col-auto\">\n <valtimo-extension\n module=\"dossier\"\n page=\"dossier-detail\"\n section=\"card-header\"\n ></valtimo-extension>\n\n <ng-container\n *ngTemplateOutlet=\"\n claimButton;\n context: {canClaim: obs.canClaim, canHaveAssignee: obs.canHaveAssignee}\n \"\n ></ng-container>\n\n <div class=\"dropdown\">\n <button\n [disabled]=\"processDocumentDefinitions.length === 0\"\n [ngbTooltip]=\"processDocumentDefinitions.length === 0 ? 'No action' : null\"\n aria-expanded=\"false\"\n aria-haspopup=\"true\"\n class=\"btn btn-primary dropdown-toggle\"\n data-toggle=\"dropdown\"\n id=\"startProcessDropdown\"\n placement=\"bottom\"\n type=\"button\"\n >\n <span>{{ 'dossier.startSubProcess' | translate }}</span>\n\n <i class=\"ml-1 mdi mdi-chevron-down\"></i>\n </button>\n\n <div\n aria-labelledby=\"startProcessDropdown\"\n class=\"dropdown-menu dropdown-menu-right\"\n >\n <button\n *ngFor=\"let processDocumentDefinition of processDocumentDefinitions\"\n (click)=\"startProcess(processDocumentDefinition)\"\n class=\"dropdown-item p\"\n href=\"#\"\n >\n {{\n (processDocumentDefinition?.id?.processDefinitionKey | translate) !==\n processDocumentDefinition?.id?.processDefinitionKey\n ? (processDocumentDefinition.id.processDefinitionKey | translate)\n : processDocumentDefinition.processName\n }}\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <ul *ngIf=\"tabLoader\" class=\"nav nav-tabs\">\n <li class=\"nav-item\" *ngFor=\"let tab of tabLoader.tabs\">\n <a\n [ngClass]=\"{active: tab.isActive()}\"\n (click)=\"tabLoader.load(tab)\"\n class=\"nav-link clickable\"\n data-toggle=\"tab\"\n id=\"{{ tab.name }}-tab\"\n >\n {{ tab | tabTranslate | async }}\n </a>\n </li>\n </ul>\n\n <div class=\"card-body bg-white p-5 position-relative tab-container\">\n <div *ngIf=\"loadingTabs$ | async\" class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n\n <valtimo-no-results\n *ngIf=\"noTabsConfigured$ | async\"\n [description]=\"'dossier.tabs.noResultsDescription' | translate\"\n [title]=\"'dossier.tabs.noResults' | translate\"\n ></valtimo-no-results>\n\n <ng-template #tabContainer></ng-template>\n\n <div class=\"clearfix\"></div>\n </div>\n </valtimo-widget>\n </div>\n\n <valtimo-dossier-supporting-process-start-modal\n (formSubmit)=\"tabLoader.refreshView()\"\n #supportingProcessStartModal\n ></valtimo-dossier-supporting-process-start-modal>\n </div>\n</div>\n\n<ng-template\n #caseDetailHeader\n let-canHaveAssignee=\"canHaveAssignee\"\n let-document=\"document\"\n let-canAssign=\"canAssign\"\n>\n <div class=\"row\" *ngIf=\"customDossierHeaderItems.length > 0; else defaultTitle\">\n <span\n *ngFor=\"let item of customDossierHeaderItems\"\n [ngClass]=\"{\n h1: item.textSize === 'xl',\n h2: item.textSize === 'lg',\n h3: item.textSize === 'md',\n h4: item.textSize === 'sm',\n h5: item.textSize === 'xs'\n }\"\n class=\"mb-0 mt-0 pb-2 align-self-end col-xl-{{ item.columnSize }} col-lg-{{\n item.columnSize * 2\n }} {{ item.customClass }}\"\n >\n <span *ngIf=\"item.label\">{{ item.label | translate }}</span>\n\n <span *ngIf=\"item.label && item.value\">: </span>\n\n <strong>{{ item.value }}</strong>\n </span>\n </div>\n\n <ng-container\n *ngTemplateOutlet=\"\n caseDetailAssignee;\n context: {canHaveAssignee: canHaveAssignee, document: document, canAssign: canAssign}\n \"\n ></ng-container>\n</ng-template>\n\n<ng-template #defaultTitle>\n <div class=\"row ml-0 mr-0\">{{ documentDefinitionNameTitle?.trim() }}</div>\n</ng-template>\n\n<ng-template\n #caseDetailAssignee\n let-canHaveAssignee=\"canHaveAssignee\"\n let-document=\"document\"\n let-canAssign=\"canAssign\"\n>\n <div class=\"row ml-0 mr-0 mt-1 mb-1\" *ngIf=\"canHaveAssignee && document\">\n <valtimo-dossier-assign-user\n *ngIf=\"canAssignLoaded$ | async\"\n [assigneeFullName]=\"document?.assigneeFullName\"\n [assigneeId]=\"document.assigneeId\"\n [documentId]=\"document.id\"\n [hasPermission]=\"canAssign\"\n (assignmentOfDocumentChanged)=\"assignmentOfDocumentChanged()\"\n ></valtimo-dossier-assign-user>\n </div>\n</ng-template>\n\n<ng-template #claimButton let-canClaim=\"canClaim\" let-canHaveAssignee=\"canHaveAssignee\">\n <div class=\"user-full-name\" *ngIf=\"canClaim && canHaveAssignee\">\n <button\n [disabled]=\"(isAssigning$ | async) || (isAssignedToCurrentUser$ | async)\"\n (click)=\"claimAssignee()\"\n aria-expanded=\"false\"\n aria-haspopup=\"true\"\n class=\"btn btn-space btn-primary mr-1\"\n placement=\"bottom\"\n type=\"button\"\n >\n <span>{{ 'dossier.claimAssigneeCase' | translate }}</span>\n </button>\n </div>\n</ng-template>\n", styles: [".tab-container{min-height:300px}.loading-container{display:flex;justify-content:center;flex-direction:row}\n"] }]
|
|
2925
|
+
}], ctorParameters: function () { return [{ type: i3$1.BreadcrumbService }, { type: i0.ComponentFactoryResolver }, { type: i1.ConfigService }, { type: i2$1.DocumentService }, { type: i4$2.KeycloakService }, { type: i5$1.Location }, { type: i6$1.NGXLogger }, { type: i7.PermissionService }, { type: i1$1.ActivatedRoute }, { type: i1$1.Router }, { type: DossierTabService }, { type: DossierService }]; }, propDecorators: { supportingProcessStart: [{
|
|
2707
2926
|
type: ViewChild,
|
|
2708
|
-
args: ['
|
|
2927
|
+
args: ['supportingProcessStartModal']
|
|
2928
|
+
}], viewContainerRef: [{
|
|
2929
|
+
type: ViewChild,
|
|
2930
|
+
args: ['tabContainer', { read: ViewContainerRef }]
|
|
2709
2931
|
}] } });
|
|
2710
2932
|
|
|
2711
2933
|
/*
|
|
@@ -2809,16 +3031,15 @@ class DossierProcessStartModalComponent {
|
|
|
2809
3031
|
this.documentDefinitionName,
|
|
2810
3032
|
'document',
|
|
2811
3033
|
formSubmissionResult.documentId,
|
|
2812
|
-
'summary',
|
|
2813
3034
|
]);
|
|
2814
3035
|
}
|
|
2815
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierProcessStartModalComponent, deps: [{ token: i1$1.ActivatedRoute }, { token: i1$1.Router }, { token: i2$2.ProcessService }, { token: i2$1.DocumentService }, { token: i3$
|
|
2816
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DossierProcessStartModalComponent, selector: "valtimo-dossier-process-start-modal", outputs: { formFlowComplete: "formFlowComplete" }, viewQueries: [{ propertyName: "form", first: true, predicate: ["form"], descendants: true }, { propertyName: "modal", first: true, predicate: ["processStartModal"], 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<valtimo-modal #processStartModal elementId=\"processStartModal\" [title]=\"modalTitle\">\n <div body *ngIf=\"formDefinition\">\n <valtimo-form-io #form [form]=\"formDefinition\" [options]=\"options\" (submit)=\"onSubmit($event)\">\n </valtimo-form-io>\n </div>\n <div body *ngIf=\"formFlowInstanceId\">\n <valtimo-form-flow\n [formFlowInstanceId]=\"formFlowInstanceId\"\n (formFlowComplete)=\"formFlowSubmitted()\"\n ></valtimo-form-flow>\n </div>\n <div body *ngIf=\"!formFlowInstanceId && !formDefinition && isAdmin\">\n <div\n class=\"bg-warning text-black mb-0 p-3 text-center\"\n [translate]=\"'formManagement.noFormDefinitionFoundAdmin'\"\n ></div>\n <div class=\"mb-0 mt-4 p-3 text-center\">\n <button\n (click)=\"gotoProcessLinkScreen()\"\n class=\"btn btn-secondary btn-space\"\n id=\"process-link-button\"\n type=\"button\"\n >\n {{ 'formManagement.gotoProcessLinksButton' | translate }}\n </button>\n </div>\n </div>\n <div body *ngIf=\"!formFlowInstanceId && !formDefinition && !isAdmin\">\n <div\n class=\"bg-warning text-black mb-0 p-3 text-center\"\n [translate]=\"'formManagement.noFormDefinitionFoundUser'\"\n ></div>\n </div>\n</valtimo-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 */#processStartModal .formio-component-submit{text-align:right}\n"], dependencies: [{ kind: "directive", type:
|
|
3036
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierProcessStartModalComponent, deps: [{ token: i1$1.ActivatedRoute }, { token: i1$1.Router }, { token: i2$2.ProcessService }, { token: i2$1.DocumentService }, { token: i3$4.ProcessLinkService }, { token: i3$4.FormFlowService }, { token: i6$2.UserProviderService }, { token: i6$1.NGXLogger }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3037
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DossierProcessStartModalComponent, selector: "valtimo-dossier-process-start-modal", outputs: { formFlowComplete: "formFlowComplete" }, viewQueries: [{ propertyName: "form", first: true, predicate: ["form"], descendants: true }, { propertyName: "modal", first: true, predicate: ["processStartModal"], 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<valtimo-modal #processStartModal elementId=\"processStartModal\" [title]=\"modalTitle\">\n <div body *ngIf=\"formDefinition\">\n <valtimo-form-io #form [form]=\"formDefinition\" [options]=\"options\" (submit)=\"onSubmit($event)\">\n </valtimo-form-io>\n </div>\n <div body *ngIf=\"formFlowInstanceId\">\n <valtimo-form-flow\n [formFlowInstanceId]=\"formFlowInstanceId\"\n (formFlowComplete)=\"formFlowSubmitted()\"\n ></valtimo-form-flow>\n </div>\n <div body *ngIf=\"!formFlowInstanceId && !formDefinition && isAdmin\">\n <div\n class=\"bg-warning text-black mb-0 p-3 text-center\"\n [translate]=\"'formManagement.noFormDefinitionFoundAdmin'\"\n ></div>\n <div class=\"mb-0 mt-4 p-3 text-center\">\n <button\n (click)=\"gotoProcessLinkScreen()\"\n class=\"btn btn-secondary btn-space\"\n id=\"process-link-button\"\n type=\"button\"\n >\n {{ 'formManagement.gotoProcessLinksButton' | translate }}\n </button>\n </div>\n </div>\n <div body *ngIf=\"!formFlowInstanceId && !formDefinition && !isAdmin\">\n <div\n class=\"bg-warning text-black mb-0 p-3 text-center\"\n [translate]=\"'formManagement.noFormDefinitionFoundUser'\"\n ></div>\n </div>\n</valtimo-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 */#processStartModal .formio-component-submit{text-align:right}\n"], dependencies: [{ kind: "directive", type: i5$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$1.FormioComponent, selector: "valtimo-form-io", inputs: ["form", "options", "submission", "readOnly", "formRefresh$"], outputs: ["submit", "change"] }, { kind: "component", type: i3$1.ModalComponent, selector: "valtimo-modal", inputs: ["elementId", "title", "subtitle", "templateBelowSubtitle", "showFooter"] }, { kind: "directive", type: i6.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i3$4.FormFlowComponent, selector: "valtimo-form-flow", inputs: ["formIoFormData", "formFlowInstanceId"], outputs: ["formFlowComplete"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
2817
3038
|
}
|
|
2818
3039
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierProcessStartModalComponent, decorators: [{
|
|
2819
3040
|
type: Component,
|
|
2820
3041
|
args: [{ selector: 'valtimo-dossier-process-start-modal', 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<valtimo-modal #processStartModal elementId=\"processStartModal\" [title]=\"modalTitle\">\n <div body *ngIf=\"formDefinition\">\n <valtimo-form-io #form [form]=\"formDefinition\" [options]=\"options\" (submit)=\"onSubmit($event)\">\n </valtimo-form-io>\n </div>\n <div body *ngIf=\"formFlowInstanceId\">\n <valtimo-form-flow\n [formFlowInstanceId]=\"formFlowInstanceId\"\n (formFlowComplete)=\"formFlowSubmitted()\"\n ></valtimo-form-flow>\n </div>\n <div body *ngIf=\"!formFlowInstanceId && !formDefinition && isAdmin\">\n <div\n class=\"bg-warning text-black mb-0 p-3 text-center\"\n [translate]=\"'formManagement.noFormDefinitionFoundAdmin'\"\n ></div>\n <div class=\"mb-0 mt-4 p-3 text-center\">\n <button\n (click)=\"gotoProcessLinkScreen()\"\n class=\"btn btn-secondary btn-space\"\n id=\"process-link-button\"\n type=\"button\"\n >\n {{ 'formManagement.gotoProcessLinksButton' | translate }}\n </button>\n </div>\n </div>\n <div body *ngIf=\"!formFlowInstanceId && !formDefinition && !isAdmin\">\n <div\n class=\"bg-warning text-black mb-0 p-3 text-center\"\n [translate]=\"'formManagement.noFormDefinitionFoundUser'\"\n ></div>\n </div>\n</valtimo-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 */#processStartModal .formio-component-submit{text-align:right}\n"] }]
|
|
2821
|
-
}], ctorParameters: function () { return [{ type: i1$1.ActivatedRoute }, { type: i1$1.Router }, { type: i2$2.ProcessService }, { type: i2$1.DocumentService }, { type: i3$
|
|
3042
|
+
}], ctorParameters: function () { return [{ type: i1$1.ActivatedRoute }, { type: i1$1.Router }, { type: i2$2.ProcessService }, { type: i2$1.DocumentService }, { type: i3$4.ProcessLinkService }, { type: i3$4.FormFlowService }, { type: i6$2.UserProviderService }, { type: i6$1.NGXLogger }]; }, propDecorators: { form: [{
|
|
2822
3043
|
type: ViewChild,
|
|
2823
3044
|
args: ['form', { static: false }]
|
|
2824
3045
|
}], modal: [{
|
|
@@ -2890,7 +3111,7 @@ class DossierListActionsComponent {
|
|
|
2890
3111
|
}
|
|
2891
3112
|
}
|
|
2892
3113
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierListActionsComponent, deps: [{ token: i2$1.DocumentService }, { token: DossierListService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2893
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DossierListActionsComponent, selector: "valtimo-dossier-list-actions", inputs: { loading: "loading" }, outputs: { formFlowComplete: "formFlowComplete" }, viewQueries: [{ propertyName: "processStart", first: true, predicate: ["processStartModal"], 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 *ngIf=\"associatedProcessDocumentDefinitions$ | async as associatedProcessDocumentDefinitions\">\n <div\n class=\"modal fade\"\n id=\"startProcess\"\n tabindex=\"-1\"\n role=\"dialog\"\n aria-labelledby=\"startProcessLabel\"\n aria-hidden=\"true\"\n >\n <div class=\"modal-dialog modal-dialog-centered\" role=\"document\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h3 class=\"modal-title\" id=\"startProcessLabel\">\n {{ 'dashboard.startProcess.title' | translate }}\n </h3>\n\n <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">\n <span aria-hidden=\"true\">×</span>\n </button>\n </div>\n <div class=\"modal-body\">\n <div class=\"table-responsive\">\n <table class=\"table m-0\">\n <tr\n *ngFor=\"let processDocumentDefinition of associatedProcessDocumentDefinitions\"\n (click)=\"selectProcess(processDocumentDefinition)\"\n style=\"cursor: pointer\"\n >\n <td>{{ processDocumentDefinition.processName }}</td>\n </tr>\n </table>\n </div>\n </div>\n\n <div class=\"modal-footer\">\n <button type=\"button\" class=\"btn btn-secondary\" data-dismiss=\"modal\">\n {{ 'cta.close' | translate }}\n </button>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n<valtimo-dossier-process-start-modal\n #processStartModal\n (formFlowComplete)=\"onFormFlowComplete()\"\n></valtimo-dossier-process-start-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:
|
|
3114
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DossierListActionsComponent, selector: "valtimo-dossier-list-actions", inputs: { loading: "loading" }, outputs: { formFlowComplete: "formFlowComplete" }, viewQueries: [{ propertyName: "processStart", first: true, predicate: ["processStartModal"], 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 *ngIf=\"associatedProcessDocumentDefinitions$ | async as associatedProcessDocumentDefinitions\">\n <div\n class=\"modal fade\"\n id=\"startProcess\"\n tabindex=\"-1\"\n role=\"dialog\"\n aria-labelledby=\"startProcessLabel\"\n aria-hidden=\"true\"\n >\n <div class=\"modal-dialog modal-dialog-centered\" role=\"document\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h3 class=\"modal-title\" id=\"startProcessLabel\">\n {{ 'dashboard.startProcess.title' | translate }}\n </h3>\n\n <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">\n <span aria-hidden=\"true\">×</span>\n </button>\n </div>\n <div class=\"modal-body\">\n <div class=\"table-responsive\">\n <table class=\"table m-0\">\n <tr\n *ngFor=\"let processDocumentDefinition of associatedProcessDocumentDefinitions\"\n (click)=\"selectProcess(processDocumentDefinition)\"\n style=\"cursor: pointer\"\n >\n <td>{{ processDocumentDefinition.processName }}</td>\n </tr>\n </table>\n </div>\n </div>\n\n <div class=\"modal-footer\">\n <button type=\"button\" class=\"btn btn-secondary\" data-dismiss=\"modal\">\n {{ 'cta.close' | translate }}\n </button>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n<valtimo-dossier-process-start-modal\n #processStartModal\n (formFlowComplete)=\"onFormFlowComplete()\"\n></valtimo-dossier-process-start-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: i5$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DossierProcessStartModalComponent, selector: "valtimo-dossier-process-start-modal", outputs: ["formFlowComplete"] }, { kind: "pipe", type: i5$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
|
|
2894
3115
|
}
|
|
2895
3116
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierListActionsComponent, decorators: [{
|
|
2896
3117
|
type: Component,
|
|
@@ -3100,7 +3321,7 @@ class DossierListComponent {
|
|
|
3100
3321
|
this.listService.documentDefinitionName$.pipe(take(1)).subscribe(documentDefinitionName => {
|
|
3101
3322
|
this.breadcrumbService.cacheQueryParams(`/dossiers/${documentDefinitionName}`, this.route.snapshot.queryParams);
|
|
3102
3323
|
this.router.navigate([
|
|
3103
|
-
`/dossiers/${documentDefinitionName}/document/${document.id}
|
|
3324
|
+
`/dossiers/${documentDefinitionName}/document/${document.id}`,
|
|
3104
3325
|
]);
|
|
3105
3326
|
});
|
|
3106
3327
|
}
|
|
@@ -3221,7 +3442,7 @@ class DossierListComponent {
|
|
|
3221
3442
|
title: `dossier.noResults.${this.activeTab ?? 'ALL'}.title`,
|
|
3222
3443
|
});
|
|
3223
3444
|
}
|
|
3224
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierListComponent, deps: [{ token: DossierListAssigneeService }, { token: i3$
|
|
3445
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierListComponent, deps: [{ token: DossierListAssigneeService }, { token: i3$1.BreadcrumbService }, { token: DossierBulkAssignService }, { token: DossierColumnService }, { token: i1.ConfigService }, { token: i2$1.DocumentService }, { token: DossierListService }, { token: i3$1.PageTitleService }, { token: DossierListPaginationService }, { token: DossierParameterService }, { token: i1$1.ActivatedRoute }, { token: i1$1.Router }, { token: DossierListSearchService }, { token: i6.TranslateService }, { token: i7.PermissionService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3225
3446
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DossierListComponent, selector: "valtimo-dossier-list", providers: [
|
|
3226
3447
|
DossierListService,
|
|
3227
3448
|
DossierColumnService,
|
|
@@ -3229,7 +3450,7 @@ class DossierListComponent {
|
|
|
3229
3450
|
DossierParameterService,
|
|
3230
3451
|
DossierListPaginationService,
|
|
3231
3452
|
DossierListSearchService,
|
|
3232
|
-
], viewQueries: [{ propertyName: "carbonList", first: true, predicate: CarbonListComponent, descendants: true }, { propertyName: "listActionsComponent", first: true, predicate: DossierListActionsComponent, descendants: true }, { propertyName: "tabsComponent", first: true, predicate: Tabs, 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 fields: fields$ | async,\n documentItems: documentItems$ | async,\n noResultsMessage: noResultsMessage$ | async,\n searchFields: searchFields$ | async,\n schema: schema$ | async,\n showAssignModal: showAssignModal$ | async,\n selectedDocumentIds: selectedDocumentIds$ | async,\n loaded:\n !loadingFields &&\n !loadingPagination &&\n !loadingSearchFields &&\n !loadingAssigneeFilter &&\n !loadingDocumentItems\n } as obs\"\n>\n <div class=\"main-content pt-0\">\n <div class=\"container-fluid\">\n <div class=\"col-12 px-0 mb-5\">\n <valtimo-dossier-list-actions\n [loading]=\"!obs.loaded\"\n (formFlowComplete)=\"forceRefresh()\"\n ></valtimo-dossier-list-actions>\n <ng-container *ngTemplateOutlet=\"searchFields; context: {obs: obs}\"></ng-container>\n\n <ng-container *ngIf=\"obs.loaded; else loading\">\n <ng-container *ngTemplateOutlet=\"list; context: {obs: obs}\"></ng-container>\n </ng-container>\n </div>\n </div>\n </div>\n\n <ng-container *ngTemplateOutlet=\"bulkAssignModal; context: {obs: obs}\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"changePageModal\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"changeTabModal\"></ng-container>\n</ng-container>\n\n<ng-template #searchFields let-obs=\"obs\">\n <div class=\"mb-3\">\n <valtimo-search-fields\n [searchFields]=\"obs.searchFields\"\n (doSearch)=\"search($event)\"\n [documentDefinitionName]=\"documentDefinitionName$ | async\"\n [defaultValues]=\"searchFieldValues$ | async\"\n [inputDisabled]=\"!obs.loaded\"\n ></valtimo-search-fields>\n </div>\n</ng-template>\n\n<ng-template #list let-obs=\"obs\">\n <valtimo-carbon-list\n [fields]=\"obs.fields\"\n [header]=\"false\"\n [initialSortState]=\"pagination.sort\"\n [items]=\"obs.documentItems\"\n [pagination]=\"pagination\"\n paginationIdentifier=\"dossierList\"\n [showSelectionColumn]=\"canHaveAssignee\"\n [tableTranslations]=\"tableTranslations\"\n (paginationClicked)=\"pageChange($event)\"\n (paginationSet)=\"pageSizeChange($event)\"\n (rowClicked)=\"rowClick($event)\"\n (sortChanged)=\"sortChanged($event)\"\n >\n <ng-container carbonToolbarActions>\n <button cdsButton=\"primary\" (click)=\"showAssignModal()\">\n {{ 'dossier.bulkAssign.assign' | translate }}\n </button>\n </ng-container>\n\n <div carbonToolbarContent>\n <ng-container *ngTemplateOutlet=\"dossierListActions\"></ng-container>\n </div>\n\n <valtimo-no-results\n [action]=\"obs.noResultsMessage.isSearchResult ? null : dossierListActions\"\n [description]=\"obs.noResultsMessage.description | translate\"\n [title]=\"obs.noResultsMessage.title | translate\"\n ></valtimo-no-results>\n\n <div tabs *ngIf=\"canHaveAssignee\">\n <ng-container *ngTemplateOutlet=\"tabs\"></ng-container>\n </div>\n </valtimo-carbon-list>\n</ng-template>\n\n<ng-template #tabs>\n <ng-container *ngIf=\"assigneeFilter$ | async as assigneeFilter\">\n <cds-tabs\n *ngIf=\"!visibleDossierTabs; else configuredTabs\"\n type=\"contained\"\n data-carbon-theme=\"g10\"\n class=\"dossier-list-tabs\"\n >\n <cds-tab\n *ngFor=\"let tab of defaultTabs; trackBy: trackByIndex\"\n [active]=\"assigneeFilter === tab\"\n heading=\"{{ 'dossier.tabs.' + tab | translate }}\"\n [id]=\"tab\"\n (selected)=\"tabChange(tab)\"\n ></cds-tab>\n </cds-tabs>\n </ng-container>\n</ng-template>\n\n<ng-template #configuredTabs>\n <ng-container *ngIf=\"assigneeFilter$ | async as assigneeFilter\">\n <cds-tabs type=\"contained\" class=\"dossier-list-tabs\">\n <cds-tab\n *ngFor=\"let tab of visibleDossierTabs; trackBy: trackByIndex\"\n [active]=\"assigneeFilter === tab\"\n heading=\"{{ 'dossier.tabs.' + tab | translate }}\"\n [id]=\"tab\"\n (selected)=\"tabChange(tab)\"\n ></cds-tab>\n </cds-tabs>\n </ng-container>\n</ng-template>\n\n<ng-template #loading\n ><valtimo-carbon-list [loading]=\"true\">\n <div tabs *ngIf=\"canHaveAssignee\">\n <ng-container *ngTemplateOutlet=\"tabs\"></ng-container>\n </div> </valtimo-carbon-list\n></ng-template>\n\n<ng-template #bulkAssignModal let-obs=\"obs\">\n <valtimo-dossier-bulk-assign-modal\n [documentIds]=\"obs.selectedDocumentIds\"\n [open]=\"obs.showAssignModal\"\n (closeEvent)=\"onCloseEvent($event, obs.selectedDocumentIds)\"\n ></valtimo-dossier-bulk-assign-modal>\n</ng-template>\n\n<ng-template #changePageModal>\n <valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"dossier.changePageModal.confirm\"\n contentTranslationKey=\"dossier.changePageModal.content\"\n [outputOnConfirm]=\"paginationChange$ | async\"\n [showModalSubject$]=\"showChangePageModal$\"\n titleTranslationKey=\"dossier.changePageModal.title\"\n (confirmEvent)=\"onChangePageConfirm($event)\"\n ></valtimo-confirmation-modal>\n</ng-template>\n\n<ng-template #changeTabModal>\n <valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"dossier.changeTabModal.confirm\"\n contentTranslationKey=\"dossier.changeTabModal.content\"\n [outputOnConfirm]=\"tabChange$ | async\"\n [showModalSubject$]=\"showChangeTabModal$\"\n titleTranslationKey=\"dossier.changeTabModal.title\"\n (cancelEvent)=\"onChangeTabCancel()\"\n (confirmEvent)=\"onChangeTabConfirm($event)\"\n ></valtimo-confirmation-modal>\n</ng-template>\n\n<ng-template #dossierListActions>\n <button\n
|
|
3453
|
+
], viewQueries: [{ propertyName: "carbonList", first: true, predicate: CarbonListComponent, descendants: true }, { propertyName: "listActionsComponent", first: true, predicate: DossierListActionsComponent, descendants: true }, { propertyName: "tabsComponent", first: true, predicate: Tabs, 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 fields: fields$ | async,\n documentItems: documentItems$ | async,\n noResultsMessage: noResultsMessage$ | async,\n searchFields: searchFields$ | async,\n schema: schema$ | async,\n showAssignModal: showAssignModal$ | async,\n selectedDocumentIds: selectedDocumentIds$ | async,\n loaded:\n !loadingFields &&\n !loadingPagination &&\n !loadingSearchFields &&\n !loadingAssigneeFilter &&\n !loadingDocumentItems\n } as obs\"\n>\n <div class=\"main-content pt-0\">\n <div class=\"container-fluid\">\n <div class=\"col-12 px-0 mb-5\">\n <valtimo-dossier-list-actions\n [loading]=\"!obs.loaded\"\n (formFlowComplete)=\"forceRefresh()\"\n ></valtimo-dossier-list-actions>\n <ng-container *ngTemplateOutlet=\"searchFields; context: {obs: obs}\"></ng-container>\n\n <ng-container *ngIf=\"obs.loaded; else loading\">\n <ng-container *ngTemplateOutlet=\"list; context: {obs: obs}\"></ng-container>\n </ng-container>\n </div>\n </div>\n </div>\n\n <ng-container *ngTemplateOutlet=\"bulkAssignModal; context: {obs: obs}\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"changePageModal\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"changeTabModal\"></ng-container>\n</ng-container>\n\n<ng-template #searchFields let-obs=\"obs\">\n <div class=\"mb-3\">\n <valtimo-search-fields\n [searchFields]=\"obs.searchFields\"\n (doSearch)=\"search($event)\"\n [documentDefinitionName]=\"documentDefinitionName$ | async\"\n [defaultValues]=\"searchFieldValues$ | async\"\n [inputDisabled]=\"!obs.loaded\"\n ></valtimo-search-fields>\n </div>\n</ng-template>\n\n<ng-template #list let-obs=\"obs\">\n <valtimo-carbon-list\n [fields]=\"obs.fields\"\n [header]=\"false\"\n [initialSortState]=\"pagination.sort\"\n [items]=\"obs.documentItems\"\n [pagination]=\"pagination\"\n paginationIdentifier=\"dossierList\"\n [showSelectionColumn]=\"canHaveAssignee\"\n [tableTranslations]=\"tableTranslations\"\n (paginationClicked)=\"pageChange($event)\"\n (paginationSet)=\"pageSizeChange($event)\"\n (rowClicked)=\"rowClick($event)\"\n (sortChanged)=\"sortChanged($event)\"\n >\n <ng-container carbonToolbarActions>\n <button cdsButton=\"primary\" (click)=\"showAssignModal()\">\n {{ 'dossier.bulkAssign.assign' | translate }}\n </button>\n </ng-container>\n\n <div carbonToolbarContent>\n <ng-container *ngTemplateOutlet=\"dossierListActions\"></ng-container>\n </div>\n\n <valtimo-no-results\n [action]=\"obs.noResultsMessage.isSearchResult ? null : dossierListActions\"\n [description]=\"obs.noResultsMessage.description | translate\"\n [title]=\"obs.noResultsMessage.title | translate\"\n ></valtimo-no-results>\n\n <div tabs *ngIf=\"canHaveAssignee\">\n <ng-container *ngTemplateOutlet=\"tabs\"></ng-container>\n </div>\n </valtimo-carbon-list>\n</ng-template>\n\n<ng-template #tabs>\n <ng-container *ngIf=\"assigneeFilter$ | async as assigneeFilter\">\n <cds-tabs\n *ngIf=\"!visibleDossierTabs; else configuredTabs\"\n type=\"contained\"\n data-carbon-theme=\"g10\"\n class=\"dossier-list-tabs\"\n >\n <cds-tab\n *ngFor=\"let tab of defaultTabs; trackBy: trackByIndex\"\n [active]=\"assigneeFilter === tab\"\n heading=\"{{ 'dossier.tabs.' + tab | translate }}\"\n [id]=\"tab\"\n (selected)=\"tabChange(tab)\"\n ></cds-tab>\n </cds-tabs>\n </ng-container>\n</ng-template>\n\n<ng-template #configuredTabs>\n <ng-container *ngIf=\"assigneeFilter$ | async as assigneeFilter\">\n <cds-tabs type=\"contained\" class=\"dossier-list-tabs\">\n <cds-tab\n *ngFor=\"let tab of visibleDossierTabs; trackBy: trackByIndex\"\n [active]=\"assigneeFilter === tab\"\n heading=\"{{ 'dossier.tabs.' + tab | translate }}\"\n [id]=\"tab\"\n (selected)=\"tabChange(tab)\"\n ></cds-tab>\n </cds-tabs>\n </ng-container>\n</ng-template>\n\n<ng-template #loading\n ><valtimo-carbon-list [loading]=\"true\">\n <div tabs *ngIf=\"canHaveAssignee\">\n <ng-container *ngTemplateOutlet=\"tabs\"></ng-container>\n </div> </valtimo-carbon-list\n></ng-template>\n\n<ng-template #bulkAssignModal let-obs=\"obs\">\n <valtimo-dossier-bulk-assign-modal\n [documentIds]=\"obs.selectedDocumentIds\"\n [open]=\"obs.showAssignModal\"\n (closeEvent)=\"onCloseEvent($event, obs.selectedDocumentIds)\"\n ></valtimo-dossier-bulk-assign-modal>\n</ng-template>\n\n<ng-template #changePageModal>\n <valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"dossier.changePageModal.confirm\"\n contentTranslationKey=\"dossier.changePageModal.content\"\n [outputOnConfirm]=\"paginationChange$ | async\"\n [showModalSubject$]=\"showChangePageModal$\"\n titleTranslationKey=\"dossier.changePageModal.title\"\n (confirmEvent)=\"onChangePageConfirm($event)\"\n ></valtimo-confirmation-modal>\n</ng-template>\n\n<ng-template #changeTabModal>\n <valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"dossier.changeTabModal.confirm\"\n contentTranslationKey=\"dossier.changeTabModal.content\"\n [outputOnConfirm]=\"tabChange$ | async\"\n [showModalSubject$]=\"showChangeTabModal$\"\n titleTranslationKey=\"dossier.changeTabModal.title\"\n (cancelEvent)=\"onChangeTabCancel()\"\n (confirmEvent)=\"onChangeTabConfirm($event)\"\n ></valtimo-confirmation-modal>\n</ng-template>\n\n<ng-template #dossierListActions>\n <button\n cdsButton=\"primary\"\n [disabled]=\"listActionsComponent?.disableStartDossierButton$ | async\"\n (click)=\"startDossier()\"\n >\n {{ 'Start Dossier' | translate }}\n\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n</ng-template>\n", styles: [".dossier-list-tabs cds-tab{display:none}\n"], dependencies: [{ kind: "directive", type: i5$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3$1.SearchFieldsComponent, selector: "valtimo-search-fields", inputs: ["loading", "searchFields", "documentDefinitionName", "setValuesSubject$", "defaultValues", "inputDisabled"], outputs: ["doSearch"] }, { kind: "directive", type: i4.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i4.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i3$1.ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: ["titleTranslationKey", "title", "content", "contentTranslationKey", "confirmButtonText", "confirmButtonTextTranslationKey", "confirmButtonType", "cancelButtonText", "cancelButtonTextTranslationKey", "cancelButtonType", "showModalSubject$", "outputOnConfirm"], outputs: ["confirmEvent", "cancelEvent"] }, { kind: "component", type: i4.Tabs, selector: "cds-tabs, ibm-tabs", inputs: ["position", "cacheActive", "followFocus", "isNavigation", "ariaLabel", "ariaLabelledby", "type", "theme", "skeleton"] }, { kind: "component", type: i4.Tab, selector: "cds-tab, ibm-tab", inputs: ["heading", "title", "context", "active", "disabled", "tabIndex", "id", "cacheActive"], outputs: ["selected"] }, { kind: "component", type: i3$1.CarbonListComponent, selector: "valtimo-carbon-list", inputs: ["items", "fields", "tableTranslations", "paginatorConfig", "pagination", "loading", "actions", "header", "initialSortState", "isSearchable", "enableSingleSelection", "lastColumnTemplate", "paginationIdentifier", "showSelectionColumn", "striped"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged"] }, { kind: "component", type: i3$1.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title"] }, { kind: "component", type: DossierBulkAssignModalComponent, selector: "valtimo-dossier-bulk-assign-modal", inputs: ["documentIds", "open"], outputs: ["closeEvent"] }, { kind: "component", type: DossierListActionsComponent, selector: "valtimo-dossier-list-actions", inputs: ["loading"], outputs: ["formFlowComplete"] }, { kind: "pipe", type: i5$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
|
|
3233
3454
|
}
|
|
3234
3455
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierListComponent, decorators: [{
|
|
3235
3456
|
type: Component,
|
|
@@ -3240,8 +3461,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
3240
3461
|
DossierParameterService,
|
|
3241
3462
|
DossierListPaginationService,
|
|
3242
3463
|
DossierListSearchService,
|
|
3243
|
-
], 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 fields: fields$ | async,\n documentItems: documentItems$ | async,\n noResultsMessage: noResultsMessage$ | async,\n searchFields: searchFields$ | async,\n schema: schema$ | async,\n showAssignModal: showAssignModal$ | async,\n selectedDocumentIds: selectedDocumentIds$ | async,\n loaded:\n !loadingFields &&\n !loadingPagination &&\n !loadingSearchFields &&\n !loadingAssigneeFilter &&\n !loadingDocumentItems\n } as obs\"\n>\n <div class=\"main-content pt-0\">\n <div class=\"container-fluid\">\n <div class=\"col-12 px-0 mb-5\">\n <valtimo-dossier-list-actions\n [loading]=\"!obs.loaded\"\n (formFlowComplete)=\"forceRefresh()\"\n ></valtimo-dossier-list-actions>\n <ng-container *ngTemplateOutlet=\"searchFields; context: {obs: obs}\"></ng-container>\n\n <ng-container *ngIf=\"obs.loaded; else loading\">\n <ng-container *ngTemplateOutlet=\"list; context: {obs: obs}\"></ng-container>\n </ng-container>\n </div>\n </div>\n </div>\n\n <ng-container *ngTemplateOutlet=\"bulkAssignModal; context: {obs: obs}\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"changePageModal\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"changeTabModal\"></ng-container>\n</ng-container>\n\n<ng-template #searchFields let-obs=\"obs\">\n <div class=\"mb-3\">\n <valtimo-search-fields\n [searchFields]=\"obs.searchFields\"\n (doSearch)=\"search($event)\"\n [documentDefinitionName]=\"documentDefinitionName$ | async\"\n [defaultValues]=\"searchFieldValues$ | async\"\n [inputDisabled]=\"!obs.loaded\"\n ></valtimo-search-fields>\n </div>\n</ng-template>\n\n<ng-template #list let-obs=\"obs\">\n <valtimo-carbon-list\n [fields]=\"obs.fields\"\n [header]=\"false\"\n [initialSortState]=\"pagination.sort\"\n [items]=\"obs.documentItems\"\n [pagination]=\"pagination\"\n paginationIdentifier=\"dossierList\"\n [showSelectionColumn]=\"canHaveAssignee\"\n [tableTranslations]=\"tableTranslations\"\n (paginationClicked)=\"pageChange($event)\"\n (paginationSet)=\"pageSizeChange($event)\"\n (rowClicked)=\"rowClick($event)\"\n (sortChanged)=\"sortChanged($event)\"\n >\n <ng-container carbonToolbarActions>\n <button cdsButton=\"primary\" (click)=\"showAssignModal()\">\n {{ 'dossier.bulkAssign.assign' | translate }}\n </button>\n </ng-container>\n\n <div carbonToolbarContent>\n <ng-container *ngTemplateOutlet=\"dossierListActions\"></ng-container>\n </div>\n\n <valtimo-no-results\n [action]=\"obs.noResultsMessage.isSearchResult ? null : dossierListActions\"\n [description]=\"obs.noResultsMessage.description | translate\"\n [title]=\"obs.noResultsMessage.title | translate\"\n ></valtimo-no-results>\n\n <div tabs *ngIf=\"canHaveAssignee\">\n <ng-container *ngTemplateOutlet=\"tabs\"></ng-container>\n </div>\n </valtimo-carbon-list>\n</ng-template>\n\n<ng-template #tabs>\n <ng-container *ngIf=\"assigneeFilter$ | async as assigneeFilter\">\n <cds-tabs\n *ngIf=\"!visibleDossierTabs; else configuredTabs\"\n type=\"contained\"\n data-carbon-theme=\"g10\"\n class=\"dossier-list-tabs\"\n >\n <cds-tab\n *ngFor=\"let tab of defaultTabs; trackBy: trackByIndex\"\n [active]=\"assigneeFilter === tab\"\n heading=\"{{ 'dossier.tabs.' + tab | translate }}\"\n [id]=\"tab\"\n (selected)=\"tabChange(tab)\"\n ></cds-tab>\n </cds-tabs>\n </ng-container>\n</ng-template>\n\n<ng-template #configuredTabs>\n <ng-container *ngIf=\"assigneeFilter$ | async as assigneeFilter\">\n <cds-tabs type=\"contained\" class=\"dossier-list-tabs\">\n <cds-tab\n *ngFor=\"let tab of visibleDossierTabs; trackBy: trackByIndex\"\n [active]=\"assigneeFilter === tab\"\n heading=\"{{ 'dossier.tabs.' + tab | translate }}\"\n [id]=\"tab\"\n (selected)=\"tabChange(tab)\"\n ></cds-tab>\n </cds-tabs>\n </ng-container>\n</ng-template>\n\n<ng-template #loading\n ><valtimo-carbon-list [loading]=\"true\">\n <div tabs *ngIf=\"canHaveAssignee\">\n <ng-container *ngTemplateOutlet=\"tabs\"></ng-container>\n </div> </valtimo-carbon-list\n></ng-template>\n\n<ng-template #bulkAssignModal let-obs=\"obs\">\n <valtimo-dossier-bulk-assign-modal\n [documentIds]=\"obs.selectedDocumentIds\"\n [open]=\"obs.showAssignModal\"\n (closeEvent)=\"onCloseEvent($event, obs.selectedDocumentIds)\"\n ></valtimo-dossier-bulk-assign-modal>\n</ng-template>\n\n<ng-template #changePageModal>\n <valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"dossier.changePageModal.confirm\"\n contentTranslationKey=\"dossier.changePageModal.content\"\n [outputOnConfirm]=\"paginationChange$ | async\"\n [showModalSubject$]=\"showChangePageModal$\"\n titleTranslationKey=\"dossier.changePageModal.title\"\n (confirmEvent)=\"onChangePageConfirm($event)\"\n ></valtimo-confirmation-modal>\n</ng-template>\n\n<ng-template #changeTabModal>\n <valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"dossier.changeTabModal.confirm\"\n contentTranslationKey=\"dossier.changeTabModal.content\"\n [outputOnConfirm]=\"tabChange$ | async\"\n [showModalSubject$]=\"showChangeTabModal$\"\n titleTranslationKey=\"dossier.changeTabModal.title\"\n (cancelEvent)=\"onChangeTabCancel()\"\n (confirmEvent)=\"onChangeTabConfirm($event)\"\n ></valtimo-confirmation-modal>\n</ng-template>\n\n<ng-template #dossierListActions>\n <button\n
|
|
3244
|
-
}], ctorParameters: function () { return [{ type: DossierListAssigneeService }, { type: i3$
|
|
3464
|
+
], 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 fields: fields$ | async,\n documentItems: documentItems$ | async,\n noResultsMessage: noResultsMessage$ | async,\n searchFields: searchFields$ | async,\n schema: schema$ | async,\n showAssignModal: showAssignModal$ | async,\n selectedDocumentIds: selectedDocumentIds$ | async,\n loaded:\n !loadingFields &&\n !loadingPagination &&\n !loadingSearchFields &&\n !loadingAssigneeFilter &&\n !loadingDocumentItems\n } as obs\"\n>\n <div class=\"main-content pt-0\">\n <div class=\"container-fluid\">\n <div class=\"col-12 px-0 mb-5\">\n <valtimo-dossier-list-actions\n [loading]=\"!obs.loaded\"\n (formFlowComplete)=\"forceRefresh()\"\n ></valtimo-dossier-list-actions>\n <ng-container *ngTemplateOutlet=\"searchFields; context: {obs: obs}\"></ng-container>\n\n <ng-container *ngIf=\"obs.loaded; else loading\">\n <ng-container *ngTemplateOutlet=\"list; context: {obs: obs}\"></ng-container>\n </ng-container>\n </div>\n </div>\n </div>\n\n <ng-container *ngTemplateOutlet=\"bulkAssignModal; context: {obs: obs}\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"changePageModal\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"changeTabModal\"></ng-container>\n</ng-container>\n\n<ng-template #searchFields let-obs=\"obs\">\n <div class=\"mb-3\">\n <valtimo-search-fields\n [searchFields]=\"obs.searchFields\"\n (doSearch)=\"search($event)\"\n [documentDefinitionName]=\"documentDefinitionName$ | async\"\n [defaultValues]=\"searchFieldValues$ | async\"\n [inputDisabled]=\"!obs.loaded\"\n ></valtimo-search-fields>\n </div>\n</ng-template>\n\n<ng-template #list let-obs=\"obs\">\n <valtimo-carbon-list\n [fields]=\"obs.fields\"\n [header]=\"false\"\n [initialSortState]=\"pagination.sort\"\n [items]=\"obs.documentItems\"\n [pagination]=\"pagination\"\n paginationIdentifier=\"dossierList\"\n [showSelectionColumn]=\"canHaveAssignee\"\n [tableTranslations]=\"tableTranslations\"\n (paginationClicked)=\"pageChange($event)\"\n (paginationSet)=\"pageSizeChange($event)\"\n (rowClicked)=\"rowClick($event)\"\n (sortChanged)=\"sortChanged($event)\"\n >\n <ng-container carbonToolbarActions>\n <button cdsButton=\"primary\" (click)=\"showAssignModal()\">\n {{ 'dossier.bulkAssign.assign' | translate }}\n </button>\n </ng-container>\n\n <div carbonToolbarContent>\n <ng-container *ngTemplateOutlet=\"dossierListActions\"></ng-container>\n </div>\n\n <valtimo-no-results\n [action]=\"obs.noResultsMessage.isSearchResult ? null : dossierListActions\"\n [description]=\"obs.noResultsMessage.description | translate\"\n [title]=\"obs.noResultsMessage.title | translate\"\n ></valtimo-no-results>\n\n <div tabs *ngIf=\"canHaveAssignee\">\n <ng-container *ngTemplateOutlet=\"tabs\"></ng-container>\n </div>\n </valtimo-carbon-list>\n</ng-template>\n\n<ng-template #tabs>\n <ng-container *ngIf=\"assigneeFilter$ | async as assigneeFilter\">\n <cds-tabs\n *ngIf=\"!visibleDossierTabs; else configuredTabs\"\n type=\"contained\"\n data-carbon-theme=\"g10\"\n class=\"dossier-list-tabs\"\n >\n <cds-tab\n *ngFor=\"let tab of defaultTabs; trackBy: trackByIndex\"\n [active]=\"assigneeFilter === tab\"\n heading=\"{{ 'dossier.tabs.' + tab | translate }}\"\n [id]=\"tab\"\n (selected)=\"tabChange(tab)\"\n ></cds-tab>\n </cds-tabs>\n </ng-container>\n</ng-template>\n\n<ng-template #configuredTabs>\n <ng-container *ngIf=\"assigneeFilter$ | async as assigneeFilter\">\n <cds-tabs type=\"contained\" class=\"dossier-list-tabs\">\n <cds-tab\n *ngFor=\"let tab of visibleDossierTabs; trackBy: trackByIndex\"\n [active]=\"assigneeFilter === tab\"\n heading=\"{{ 'dossier.tabs.' + tab | translate }}\"\n [id]=\"tab\"\n (selected)=\"tabChange(tab)\"\n ></cds-tab>\n </cds-tabs>\n </ng-container>\n</ng-template>\n\n<ng-template #loading\n ><valtimo-carbon-list [loading]=\"true\">\n <div tabs *ngIf=\"canHaveAssignee\">\n <ng-container *ngTemplateOutlet=\"tabs\"></ng-container>\n </div> </valtimo-carbon-list\n></ng-template>\n\n<ng-template #bulkAssignModal let-obs=\"obs\">\n <valtimo-dossier-bulk-assign-modal\n [documentIds]=\"obs.selectedDocumentIds\"\n [open]=\"obs.showAssignModal\"\n (closeEvent)=\"onCloseEvent($event, obs.selectedDocumentIds)\"\n ></valtimo-dossier-bulk-assign-modal>\n</ng-template>\n\n<ng-template #changePageModal>\n <valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"dossier.changePageModal.confirm\"\n contentTranslationKey=\"dossier.changePageModal.content\"\n [outputOnConfirm]=\"paginationChange$ | async\"\n [showModalSubject$]=\"showChangePageModal$\"\n titleTranslationKey=\"dossier.changePageModal.title\"\n (confirmEvent)=\"onChangePageConfirm($event)\"\n ></valtimo-confirmation-modal>\n</ng-template>\n\n<ng-template #changeTabModal>\n <valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"dossier.changeTabModal.confirm\"\n contentTranslationKey=\"dossier.changeTabModal.content\"\n [outputOnConfirm]=\"tabChange$ | async\"\n [showModalSubject$]=\"showChangeTabModal$\"\n titleTranslationKey=\"dossier.changeTabModal.title\"\n (cancelEvent)=\"onChangeTabCancel()\"\n (confirmEvent)=\"onChangeTabConfirm($event)\"\n ></valtimo-confirmation-modal>\n</ng-template>\n\n<ng-template #dossierListActions>\n <button\n cdsButton=\"primary\"\n [disabled]=\"listActionsComponent?.disableStartDossierButton$ | async\"\n (click)=\"startDossier()\"\n >\n {{ 'Start Dossier' | translate }}\n\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n</ng-template>\n", styles: [".dossier-list-tabs cds-tab{display:none}\n"] }]
|
|
3465
|
+
}], ctorParameters: function () { return [{ type: DossierListAssigneeService }, { type: i3$1.BreadcrumbService }, { type: DossierBulkAssignService }, { type: DossierColumnService }, { type: i1.ConfigService }, { type: i2$1.DocumentService }, { type: DossierListService }, { type: i3$1.PageTitleService }, { type: DossierListPaginationService }, { type: DossierParameterService }, { type: i1$1.ActivatedRoute }, { type: i1$1.Router }, { type: DossierListSearchService }, { type: i6.TranslateService }, { type: i7.PermissionService }]; }, propDecorators: { carbonList: [{
|
|
3245
3466
|
type: ViewChild,
|
|
3246
3467
|
args: [CarbonListComponent]
|
|
3247
3468
|
}], listActionsComponent: [{
|
|
@@ -3347,13 +3568,13 @@ class DossierUpdateComponent {
|
|
|
3347
3568
|
returnZero() {
|
|
3348
3569
|
return 0;
|
|
3349
3570
|
}
|
|
3350
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierUpdateComponent, deps: [{ token: i3
|
|
3351
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DossierUpdateComponent, selector: "valtimo-dossier-update", 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=\"main-content\">\n <div class=\"container-fluid\">\n <div class=\"col-12 px-0 mb-5\">\n <valtimo-widget [title]=\"page?.title\" [subtitle]=\"page?.subtitle\" [divider]=\"true\">\n <div class=\"card-body\">\n <!--view with custom definitions-->\n <div *ngIf=\"this.customDefinitions\">\n <div\n class=\"mb-4\"\n *ngFor=\"let definition of this.customDefinitions | keyvalue: returnZero\"\n ></div>\n <div class=\"row pt-3 mt-1\">\n <div class=\"col-sm-12\">\n <div class=\"text-right\">\n <button\n class=\"btn btn-space btn-default float-left\"\n type=\"button\"\n (click)=\"back()\"\n id=\"back-button\"\n >\n Back\n </button>\n <button\n class=\"btn btn-space btn-secondary\"\n type=\"button\"\n (click)=\"reset()\"\n id=\"reset-button\"\n >\n Reset\n </button>\n <button\n class=\"btn btn-space btn-primary\"\n type=\"button\"\n (click)=\"save()\"\n id=\"save-button\"\n >\n Save\n </button>\n <button\n class=\"btn btn-space btn-primary\"\n type=\"submit\"\n (click)=\"submit({})\"\n id=\"submit-button\"\n >\n Submit\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <valtimo-camunda-form\n *ngIf=\"task?.formFields && !this.customDefinitions\"\n (submitted)=\"submit($event)\"\n [formFields]=\"task.formFields\"\n [componentName]=\"task.formLocation\"\n ></valtimo-camunda-form>\n </div>\n </valtimo-widget>\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type:
|
|
3571
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierUpdateComponent, deps: [{ token: i3.TaskService }, { token: i2$1.DocumentService }, { token: i1$1.ActivatedRoute }, { token: i3$3.ToastrService }, { token: i5$1.Location }, { token: DossierService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3572
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DossierUpdateComponent, selector: "valtimo-dossier-update", 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=\"main-content\">\n <div class=\"container-fluid\">\n <div class=\"col-12 px-0 mb-5\">\n <valtimo-widget [title]=\"page?.title\" [subtitle]=\"page?.subtitle\" [divider]=\"true\">\n <div class=\"card-body\">\n <!--view with custom definitions-->\n <div *ngIf=\"this.customDefinitions\">\n <div\n class=\"mb-4\"\n *ngFor=\"let definition of this.customDefinitions | keyvalue: returnZero\"\n ></div>\n <div class=\"row pt-3 mt-1\">\n <div class=\"col-sm-12\">\n <div class=\"text-right\">\n <button\n class=\"btn btn-space btn-default float-left\"\n type=\"button\"\n (click)=\"back()\"\n id=\"back-button\"\n >\n Back\n </button>\n <button\n class=\"btn btn-space btn-secondary\"\n type=\"button\"\n (click)=\"reset()\"\n id=\"reset-button\"\n >\n Reset\n </button>\n <button\n class=\"btn btn-space btn-primary\"\n type=\"button\"\n (click)=\"save()\"\n id=\"save-button\"\n >\n Save\n </button>\n <button\n class=\"btn btn-space btn-primary\"\n type=\"submit\"\n (click)=\"submit({})\"\n id=\"submit-button\"\n >\n Submit\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <valtimo-camunda-form\n *ngIf=\"task?.formFields && !this.customDefinitions\"\n (submitted)=\"submit($event)\"\n [formFields]=\"task.formFields\"\n [componentName]=\"task.formLocation\"\n ></valtimo-camunda-form>\n </div>\n </valtimo-widget>\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i5$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$1.WidgetComponent, selector: "valtimo-widget", inputs: ["type", "name", "icon", "contrast", "divider", "title", "subtitle", "collapseAble", "collapse", "additionalClasses"] }, { kind: "component", type: i3$1.CamundaFormComponent, selector: "valtimo-camunda-form", inputs: ["componentName", "formFields"], outputs: ["submitted"] }, { kind: "pipe", type: i5$1.KeyValuePipe, name: "keyvalue" }] }); }
|
|
3352
3573
|
}
|
|
3353
3574
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierUpdateComponent, decorators: [{
|
|
3354
3575
|
type: Component,
|
|
3355
3576
|
args: [{ selector: 'valtimo-dossier-update', 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=\"main-content\">\n <div class=\"container-fluid\">\n <div class=\"col-12 px-0 mb-5\">\n <valtimo-widget [title]=\"page?.title\" [subtitle]=\"page?.subtitle\" [divider]=\"true\">\n <div class=\"card-body\">\n <!--view with custom definitions-->\n <div *ngIf=\"this.customDefinitions\">\n <div\n class=\"mb-4\"\n *ngFor=\"let definition of this.customDefinitions | keyvalue: returnZero\"\n ></div>\n <div class=\"row pt-3 mt-1\">\n <div class=\"col-sm-12\">\n <div class=\"text-right\">\n <button\n class=\"btn btn-space btn-default float-left\"\n type=\"button\"\n (click)=\"back()\"\n id=\"back-button\"\n >\n Back\n </button>\n <button\n class=\"btn btn-space btn-secondary\"\n type=\"button\"\n (click)=\"reset()\"\n id=\"reset-button\"\n >\n Reset\n </button>\n <button\n class=\"btn btn-space btn-primary\"\n type=\"button\"\n (click)=\"save()\"\n id=\"save-button\"\n >\n Save\n </button>\n <button\n class=\"btn btn-space btn-primary\"\n type=\"submit\"\n (click)=\"submit({})\"\n id=\"submit-button\"\n >\n Submit\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <valtimo-camunda-form\n *ngIf=\"task?.formFields && !this.customDefinitions\"\n (submitted)=\"submit($event)\"\n [formFields]=\"task.formFields\"\n [componentName]=\"task.formLocation\"\n ></valtimo-camunda-form>\n </div>\n </valtimo-widget>\n </div>\n </div>\n</div>\n" }]
|
|
3356
|
-
}], ctorParameters: function () { return [{ type: i3
|
|
3577
|
+
}], ctorParameters: function () { return [{ type: i3.TaskService }, { type: i2$1.DocumentService }, { type: i1$1.ActivatedRoute }, { type: i3$3.ToastrService }, { type: i5$1.Location }, { type: DossierService }]; } });
|
|
3357
3578
|
|
|
3358
3579
|
/*
|
|
3359
3580
|
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
@@ -3387,6 +3608,16 @@ const routes = [
|
|
|
3387
3608
|
roles: [ROLE_USER],
|
|
3388
3609
|
},
|
|
3389
3610
|
},
|
|
3611
|
+
{
|
|
3612
|
+
path: 'dossiers/:documentDefinitionName/document/:documentId',
|
|
3613
|
+
component: DossierDetailComponent,
|
|
3614
|
+
canActivate: [AuthGuardService],
|
|
3615
|
+
data: {
|
|
3616
|
+
title: 'Dossier details',
|
|
3617
|
+
parentPath: 'dossiers/:documentDefinitionName',
|
|
3618
|
+
roles: [ROLE_USER],
|
|
3619
|
+
},
|
|
3620
|
+
},
|
|
3390
3621
|
{
|
|
3391
3622
|
path: 'dossiers/:documentDefinitionName/document/:documentId/:tab/tasks/:taskId',
|
|
3392
3623
|
component: DossierUpdateComponent,
|
|
@@ -3411,6 +3642,67 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
3411
3642
|
}]
|
|
3412
3643
|
}] });
|
|
3413
3644
|
|
|
3645
|
+
/*
|
|
3646
|
+
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
3647
|
+
*
|
|
3648
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
3649
|
+
* you may not use this file except in compliance with the License.
|
|
3650
|
+
* You may obtain a copy of the License at
|
|
3651
|
+
*
|
|
3652
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
3653
|
+
*
|
|
3654
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
3655
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
3656
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3657
|
+
* See the License for the specific language governing permissions and
|
|
3658
|
+
* limitations under the License.
|
|
3659
|
+
*/
|
|
3660
|
+
class TabTranslatePipeModule {
|
|
3661
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TabTranslatePipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
3662
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: TabTranslatePipeModule, declarations: [TabTranslatePipe], imports: [TranslateModule], exports: [TabTranslatePipe] }); }
|
|
3663
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TabTranslatePipeModule, imports: [TranslateModule] }); }
|
|
3664
|
+
}
|
|
3665
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TabTranslatePipeModule, decorators: [{
|
|
3666
|
+
type: NgModule,
|
|
3667
|
+
args: [{
|
|
3668
|
+
imports: [TranslateModule],
|
|
3669
|
+
declarations: [TabTranslatePipe],
|
|
3670
|
+
exports: [TabTranslatePipe],
|
|
3671
|
+
}]
|
|
3672
|
+
}] });
|
|
3673
|
+
|
|
3674
|
+
/*
|
|
3675
|
+
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
3676
|
+
*
|
|
3677
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
3678
|
+
* you may not use this file except in compliance with the License.
|
|
3679
|
+
* You may obtain a copy of the License at
|
|
3680
|
+
*
|
|
3681
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
3682
|
+
*
|
|
3683
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
3684
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
3685
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3686
|
+
* See the License for the specific language governing permissions and
|
|
3687
|
+
* limitations under the License.
|
|
3688
|
+
*/
|
|
3689
|
+
|
|
3690
|
+
/*
|
|
3691
|
+
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
3692
|
+
*
|
|
3693
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
3694
|
+
* you may not use this file except in compliance with the License.
|
|
3695
|
+
* You may obtain a copy of the License at
|
|
3696
|
+
*
|
|
3697
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
3698
|
+
*
|
|
3699
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
3700
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
3701
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3702
|
+
* See the License for the specific language governing permissions and
|
|
3703
|
+
* limitations under the License.
|
|
3704
|
+
*/
|
|
3705
|
+
|
|
3414
3706
|
/*
|
|
3415
3707
|
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
3416
3708
|
*
|
|
@@ -3433,7 +3725,6 @@ class DossierModule {
|
|
|
3433
3725
|
providers: [
|
|
3434
3726
|
DossierService,
|
|
3435
3727
|
DossierBulkAssignService,
|
|
3436
|
-
TabService,
|
|
3437
3728
|
{
|
|
3438
3729
|
provide: TAB_MAP,
|
|
3439
3730
|
useFactory: tabsFactory,
|
|
@@ -3460,7 +3751,8 @@ class DossierModule {
|
|
|
3460
3751
|
DossierDetailTabDocumentenApiDocumentsComponent,
|
|
3461
3752
|
DossierDetailTabS3DocumentsComponent,
|
|
3462
3753
|
DossierAssignUserComponent,
|
|
3463
|
-
NoteModalComponent
|
|
3754
|
+
NoteModalComponent,
|
|
3755
|
+
DossierDetailTabFormioComponent], imports: [CommonModule,
|
|
3464
3756
|
DossierRoutingModule,
|
|
3465
3757
|
ListModule,
|
|
3466
3758
|
WidgetModule,
|
|
@@ -3508,7 +3800,9 @@ class DossierModule {
|
|
|
3508
3800
|
DropdownModule,
|
|
3509
3801
|
TabsModule,
|
|
3510
3802
|
ComboBoxModule,
|
|
3511
|
-
|
|
3803
|
+
TabTranslatePipeModule,
|
|
3804
|
+
CarbonListModule,
|
|
3805
|
+
IsArrayPipe], exports: [DossierListComponent, DossierDetailComponent] }); }
|
|
3512
3806
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierModule, imports: [CommonModule,
|
|
3513
3807
|
DossierRoutingModule,
|
|
3514
3808
|
ListModule,
|
|
@@ -3565,6 +3859,7 @@ class DossierModule {
|
|
|
3565
3859
|
DropdownModule,
|
|
3566
3860
|
TabsModule,
|
|
3567
3861
|
ComboBoxModule,
|
|
3862
|
+
TabTranslatePipeModule,
|
|
3568
3863
|
CarbonListModule] }); }
|
|
3569
3864
|
}
|
|
3570
3865
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierModule, decorators: [{
|
|
@@ -3590,6 +3885,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
3590
3885
|
DossierDetailTabS3DocumentsComponent,
|
|
3591
3886
|
DossierAssignUserComponent,
|
|
3592
3887
|
NoteModalComponent,
|
|
3888
|
+
DossierDetailTabFormioComponent,
|
|
3593
3889
|
],
|
|
3594
3890
|
imports: [
|
|
3595
3891
|
CommonModule,
|
|
@@ -3648,7 +3944,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
3648
3944
|
DropdownModule,
|
|
3649
3945
|
TabsModule,
|
|
3650
3946
|
ComboBoxModule,
|
|
3947
|
+
TabTranslatePipeModule,
|
|
3651
3948
|
CarbonListModule,
|
|
3949
|
+
IsArrayPipe,
|
|
3652
3950
|
],
|
|
3653
3951
|
exports: [DossierListComponent, DossierDetailComponent],
|
|
3654
3952
|
}]
|
|
@@ -3677,5 +3975,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
3677
3975
|
* Generated bundle index. Do not edit.
|
|
3678
3976
|
*/
|
|
3679
3977
|
|
|
3680
|
-
export { DEFAULT_TABS, DefaultTabs, DossierBulkAssignModalComponent, DossierBulkAssignService, DossierColumnService, DossierDetailComponent, DossierDetailTabAuditComponent, DossierDetailTabContactMomentsComponent, DossierDetailTabDocumentsComponent, DossierDetailTabNotesComponent, DossierDetailTabProgressComponent, DossierDetailTabSummaryComponent, DossierDetailTabZaakobjectenComponent, DossierListAssigneeService, DossierListComponent, DossierListPaginationService, DossierListSearchService, DossierListService, DossierModule, DossierParameterService, DossierService,
|
|
3978
|
+
export { ApiTabType, CASE_TAB_TOKEN, DEFAULT_TABS, DEFAULT_TAB_COMPONENTS, DefaultTabs, DossierBulkAssignModalComponent, DossierBulkAssignService, DossierColumnService, DossierDetailComponent, DossierDetailTabAuditComponent, DossierDetailTabContactMomentsComponent, DossierDetailTabDocumentsComponent, DossierDetailTabNotesComponent, DossierDetailTabProgressComponent, DossierDetailTabSummaryComponent, DossierDetailTabZaakobjectenComponent, DossierListAssigneeService, DossierListComponent, DossierListPaginationService, DossierListSearchService, DossierListService, DossierModule, DossierParameterService, DossierService, DossierTabApiService, DossierTabService, TAB_MAP, TabImpl, TabLoaderImpl, ZaakobjectenService };
|
|
3681
3979
|
//# sourceMappingURL=valtimo-dossier.mjs.map
|