@valtimo/dossier 11.0.0 → 11.1.2
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 +194 -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 +2 -3
- package/esm2022/lib/components/dossier-supporting-process-start-modal/dossier-supporting-process-start-modal.component.mjs +123 -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 +1345 -1036
- 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 +11 -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/{dossier-supporting-process-start-modal → components/dossier-supporting-process-start-modal}/dossier-supporting-process-start-modal.component.d.ts +21 -26
- 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
|
@@ -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$3 from 'keycloak-angular';
|
|
41
|
+
import * as i4$2 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,11 +1064,14 @@ 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
|
-
const tasks = res[0];
|
|
1233
|
-
const permissions = res
|
|
1234
|
-
if (tasks
|
|
1072
|
+
const tasks = res?.[0];
|
|
1073
|
+
const permissions = res?.filter((_, index) => index !== 0);
|
|
1074
|
+
if (!!tasks) {
|
|
1235
1075
|
tasks.forEach((task, taskIndex) => {
|
|
1236
1076
|
task.createdUnix = this.moment(task.created).unix();
|
|
1237
1077
|
task.created = this.moment(task.created).format('DD MMM YYYY HH:mm');
|
|
@@ -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: ["options", "submission", "form", "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: ["options", "submission", "form", "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,235 +1859,245 @@ 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
|
-
this.tabService.getConfigurableTabs(this.documentDefinitionName);
|
|
2107
|
-
}
|
|
2108
|
-
ngAfterViewInit() {
|
|
2109
|
-
this.tabLoader = new TabLoaderImpl(this.tabService.getTabs(), this.componentFactoryResolver, this.viewContainerRef, this.translateService, this.router, this.location);
|
|
2110
|
-
this.documentService
|
|
2111
|
-
.getDocumentDefinition(this.documentDefinitionName)
|
|
2112
|
-
.subscribe(definition => {
|
|
2113
|
-
this.documentDefinitionNameTitle = definition.schema.title;
|
|
2114
|
-
this.setBreadcrumb();
|
|
1988
|
+
this.currentPageAndSize$ = new BehaviorSubject({
|
|
1989
|
+
page: 0,
|
|
1990
|
+
size: 10,
|
|
2115
1991
|
});
|
|
2116
|
-
this.
|
|
2117
|
-
|
|
2118
|
-
|
|
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)));
|
|
2119
2038
|
}
|
|
2120
|
-
|
|
2121
|
-
this.
|
|
2039
|
+
ngOnInit() {
|
|
2040
|
+
this.translateService.onLangChange.subscribe(() => {
|
|
2041
|
+
this.notesService.refresh();
|
|
2042
|
+
});
|
|
2122
2043
|
}
|
|
2123
|
-
|
|
2124
|
-
this.
|
|
2125
|
-
.
|
|
2126
|
-
.subscribe((processDocumentDefinitions) => {
|
|
2127
|
-
this.processDocumentDefinitions = processDocumentDefinitions.filter(processDocumentDefinition => processDocumentDefinition.startableByUser);
|
|
2128
|
-
this.processDefinitionListFields = [
|
|
2129
|
-
{
|
|
2130
|
-
key: 'processName',
|
|
2131
|
-
label: 'Proces',
|
|
2132
|
-
},
|
|
2133
|
-
];
|
|
2044
|
+
paginationClicked(newPageNumber) {
|
|
2045
|
+
this.currentPageAndSize$.pipe(take$1(1)).subscribe(currentPage => {
|
|
2046
|
+
this.currentPageAndSize$.next({ ...currentPage, page: newPageNumber - 1 });
|
|
2134
2047
|
});
|
|
2135
2048
|
}
|
|
2136
|
-
|
|
2137
|
-
this.
|
|
2049
|
+
showAddModal() {
|
|
2050
|
+
this.customData$.next({});
|
|
2051
|
+
this.notesService.setModalType('add');
|
|
2052
|
+
this.notesService.showModal();
|
|
2138
2053
|
}
|
|
2139
|
-
|
|
2140
|
-
this.
|
|
2141
|
-
|
|
2142
|
-
.
|
|
2143
|
-
.
|
|
2144
|
-
|
|
2145
|
-
this.isAssigning$.next(false);
|
|
2146
|
-
this.dossierService.refresh();
|
|
2147
|
-
},
|
|
2148
|
-
error: () => {
|
|
2149
|
-
this.isAssigning$.next(false);
|
|
2150
|
-
this.logger.debug('Something went wrong while assigning user to case');
|
|
2151
|
-
},
|
|
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();
|
|
2152
2060
|
});
|
|
2153
2061
|
}
|
|
2154
|
-
|
|
2155
|
-
this.
|
|
2156
|
-
|
|
2157
|
-
|
|
2158
|
-
|
|
2159
|
-
label: item['labelTranslationKey'] || '',
|
|
2160
|
-
columnSize: item['columnSize'] || 3,
|
|
2161
|
-
textSize: item['textSize'] || 'md',
|
|
2162
|
-
customClass: item['customClass'] || '',
|
|
2163
|
-
modifier: item['modifier'] || '',
|
|
2164
|
-
value: item['propertyPaths']?.reduce((prev, curr) => prev + this.getStringFromDocumentPath(item, curr), ''),
|
|
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'));
|
|
2165
2067
|
});
|
|
2166
2068
|
}
|
|
2167
|
-
|
|
2168
|
-
|
|
2169
|
-
|
|
2170
|
-
|
|
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;
|
|
2069
|
+
editNote(data) {
|
|
2070
|
+
this.customData$.next(data);
|
|
2071
|
+
this.notesService.setModalType('modify');
|
|
2072
|
+
this.notesService.showModal();
|
|
2185
2073
|
}
|
|
2186
|
-
|
|
2187
|
-
this.
|
|
2188
|
-
|
|
2189
|
-
|
|
2190
|
-
|
|
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
|
+
});
|
|
2091
|
+
},
|
|
2191
2092
|
});
|
|
2192
2093
|
}
|
|
2193
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type:
|
|
2194
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type:
|
|
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<ng-container\n *ngIf=\"{\n canAdd: canAdd$ | async,\n notes: notes$ | async,\n pagination: pagination$ | async,\n loading: loading$ | async\n } as obs\"\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</ng-container>\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 */:host{display:flex;flex-direction:column}.add-note{align-self:flex-end}\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" }] }); }
|
|
2195
2096
|
}
|
|
2196
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type:
|
|
2097
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierDetailTabNotesComponent, decorators: [{
|
|
2197
2098
|
type: Component,
|
|
2198
|
-
args: [{ selector: 'valtimo-dossier-detail', 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<
|
|
2199
|
-
}], ctorParameters: function () { return [{ type:
|
|
2200
|
-
type: ViewChild,
|
|
2201
|
-
args: ['supportingProcessStartModal']
|
|
2202
|
-
}], viewContainerRef: [{
|
|
2203
|
-
type: ViewChild,
|
|
2204
|
-
args: ['tabContainer', { read: ViewContainerRef }]
|
|
2205
|
-
}] } });
|
|
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<ng-container\n *ngIf=\"{\n canAdd: canAdd$ | async,\n notes: notes$ | async,\n pagination: pagination$ | async,\n loading: loading$ | async\n } as obs\"\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</ng-container>\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 */:host{display:flex;flex-direction:column}.add-note{align-self:flex-end}\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 }]; } });
|
|
2206
2101
|
|
|
2207
2102
|
/*
|
|
2208
2103
|
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
@@ -2219,65 +2114,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
2219
2114
|
* See the License for the specific language governing permissions and
|
|
2220
2115
|
* limitations under the License.
|
|
2221
2116
|
*/
|
|
2222
|
-
|
|
2223
|
-
|
|
2224
|
-
|
|
2225
|
-
|
|
2226
|
-
|
|
2227
|
-
|
|
2228
|
-
|
|
2229
|
-
|
|
2230
|
-
|
|
2231
|
-
|
|
2232
|
-
|
|
2233
|
-
|
|
2234
|
-
|
|
2235
|
-
|
|
2236
|
-
|
|
2237
|
-
|
|
2238
|
-
}
|
|
2239
|
-
textChange(text) {
|
|
2240
|
-
this.text$.next(text);
|
|
2241
|
-
}
|
|
2242
|
-
buttonClick() {
|
|
2243
|
-
this.modal.show();
|
|
2244
|
-
}
|
|
2245
|
-
saveNote() {
|
|
2246
|
-
this.disable();
|
|
2247
|
-
this.requestData$.pipe(take$1(1)).subscribe(([text, channel]) => {
|
|
2248
|
-
this.contactMomentService.saveContactMoment({ kanaal: channel, tekst: text }).subscribe(() => {
|
|
2249
|
-
this.alertService.success(this.translateService.instant('dossier.contactMoments.saveSuccess'));
|
|
2250
|
-
this.enable();
|
|
2251
|
-
this.clear();
|
|
2252
|
-
this.modal.hide();
|
|
2253
|
-
this.refetchContactMoments();
|
|
2254
|
-
}, () => {
|
|
2255
|
-
this.enable();
|
|
2256
|
-
});
|
|
2257
|
-
});
|
|
2258
|
-
}
|
|
2259
|
-
disable() {
|
|
2260
|
-
this.disabled$.next(true);
|
|
2261
|
-
}
|
|
2262
|
-
enable() {
|
|
2263
|
-
this.disabled$.next(false);
|
|
2264
|
-
}
|
|
2265
|
-
clear() {
|
|
2266
|
-
this.text$.next('');
|
|
2267
|
-
}
|
|
2268
|
-
refetchContactMoments() {
|
|
2269
|
-
this.refetchContactMoments$.next('');
|
|
2270
|
-
}
|
|
2271
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierDetailTabContactMomentsComponent, deps: [{ token: i1$3.ContactMomentService }, { token: i3$2.AlertService }, { token: i6.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2272
|
-
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: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3$2.TimelineComponent, selector: "valtimo-timeline", inputs: ["items", "actions"] }, { kind: "directive", type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { 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.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i3$2.ModalComponent, selector: "valtimo-modal", inputs: ["elementId", "title", "subtitle", "templateBelowSubtitle", "showFooter"] }, { kind: "component", type: i3$2.SpinnerComponent, selector: "valtimo-spinner", inputs: ["useBootstrapSpinner", "name", "type", "size", "color", "bdColor", "fullScreen", "noMarginTop"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
|
|
2273
|
-
}
|
|
2274
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierDetailTabContactMomentsComponent, decorators: [{
|
|
2275
|
-
type: Component,
|
|
2276
|
-
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"] }]
|
|
2277
|
-
}], ctorParameters: function () { return [{ type: i1$3.ContactMomentService }, { type: i3$2.AlertService }, { type: i6.TranslateService }]; }, propDecorators: { modal: [{
|
|
2278
|
-
type: ViewChild,
|
|
2279
|
-
args: ['contactMomentsNoteModal']
|
|
2280
|
-
}] } });
|
|
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
|
+
};
|
|
2281
2133
|
|
|
2282
2134
|
/*
|
|
2283
2135
|
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
@@ -2294,61 +2146,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
2294
2146
|
* See the License for the specific language governing permissions and
|
|
2295
2147
|
* limitations under the License.
|
|
2296
2148
|
*/
|
|
2297
|
-
|
|
2298
|
-
constructor(configService, http) {
|
|
2299
|
-
this.configService = configService;
|
|
2300
|
-
this.http = http;
|
|
2301
|
-
this.VALTIMO_API_ENDPOINT_URI = this.configService.config.valtimoApi.endpointUri;
|
|
2302
|
-
this._showModal$ = new Subject();
|
|
2303
|
-
this._hideModal$ = new Subject();
|
|
2304
|
-
this._refresh$ = new BehaviorSubject(null);
|
|
2305
|
-
this._modalType$ = new BehaviorSubject('add');
|
|
2306
|
-
}
|
|
2307
|
-
getDocumentNotes(documentId, params) {
|
|
2308
|
-
return this.http.get(`${this.VALTIMO_API_ENDPOINT_URI}v1/document/${documentId}/note`, { params });
|
|
2309
|
-
}
|
|
2310
|
-
createDocumentNote(documentId, request) {
|
|
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();
|
|
2327
|
-
}
|
|
2328
|
-
get modalType$() {
|
|
2329
|
-
return this._modalType$.asObservable();
|
|
2330
|
-
}
|
|
2331
|
-
showModal() {
|
|
2332
|
-
this._showModal$.next(null);
|
|
2333
|
-
}
|
|
2334
|
-
hideModal() {
|
|
2335
|
-
this._hideModal$.next(null);
|
|
2336
|
-
}
|
|
2337
|
-
refresh() {
|
|
2338
|
-
this._refresh$.next(null);
|
|
2339
|
-
}
|
|
2340
|
-
setModalType(type) {
|
|
2341
|
-
this._modalType$.next(type);
|
|
2342
|
-
}
|
|
2343
|
-
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 }); }
|
|
2344
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NotesService, providedIn: 'root' }); }
|
|
2345
|
-
}
|
|
2346
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NotesService, decorators: [{
|
|
2347
|
-
type: Injectable,
|
|
2348
|
-
args: [{
|
|
2349
|
-
providedIn: 'root',
|
|
2350
|
-
}]
|
|
2351
|
-
}], ctorParameters: function () { return [{ type: i1.ConfigService }, { type: i2.HttpClient }]; } });
|
|
2149
|
+
const CASE_TAB_TOKEN = new InjectionToken('Specify a component to display per configured tab key.');
|
|
2352
2150
|
|
|
2353
2151
|
/*
|
|
2354
2152
|
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
@@ -2365,94 +2163,101 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
2365
2163
|
* See the License for the specific language governing permissions and
|
|
2366
2164
|
* limitations under the License.
|
|
2367
2165
|
*/
|
|
2368
|
-
class
|
|
2369
|
-
constructor(
|
|
2370
|
-
this.
|
|
2166
|
+
class DossierDetailTabObjectTypeComponent {
|
|
2167
|
+
constructor(route, zaakobjectenService, modalService) {
|
|
2168
|
+
this.route = route;
|
|
2169
|
+
this.zaakobjectenService = zaakobjectenService;
|
|
2371
2170
|
this.modalService = modalService;
|
|
2372
|
-
this.
|
|
2373
|
-
this.
|
|
2374
|
-
this.
|
|
2375
|
-
|
|
2376
|
-
|
|
2377
|
-
|
|
2378
|
-
|
|
2379
|
-
|
|
2380
|
-
|
|
2381
|
-
|
|
2382
|
-
|
|
2383
|
-
|
|
2384
|
-
|
|
2385
|
-
|
|
2386
|
-
|
|
2387
|
-
|
|
2388
|
-
|
|
2389
|
-
|
|
2390
|
-
this.
|
|
2391
|
-
this.
|
|
2392
|
-
|
|
2393
|
-
|
|
2394
|
-
|
|
2395
|
-
|
|
2396
|
-
|
|
2397
|
-
|
|
2398
|
-
|
|
2399
|
-
|
|
2400
|
-
|
|
2401
|
-
this.
|
|
2402
|
-
|
|
2403
|
-
|
|
2404
|
-
|
|
2405
|
-
|
|
2406
|
-
|
|
2407
|
-
|
|
2408
|
-
|
|
2409
|
-
|
|
2410
|
-
|
|
2411
|
-
|
|
2412
|
-
|
|
2413
|
-
|
|
2414
|
-
|
|
2415
|
-
|
|
2416
|
-
}
|
|
2417
|
-
|
|
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);
|
|
2418
2219
|
}
|
|
2419
|
-
|
|
2420
|
-
this.
|
|
2421
|
-
this.
|
|
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
|
+
});
|
|
2422
2232
|
});
|
|
2423
2233
|
}
|
|
2424
|
-
|
|
2425
|
-
this.
|
|
2426
|
-
this.
|
|
2234
|
+
hide() {
|
|
2235
|
+
this.modalService.closeModal(() => {
|
|
2236
|
+
this.objectForm$.next(null);
|
|
2427
2237
|
});
|
|
2428
2238
|
}
|
|
2429
2239
|
show() {
|
|
2430
|
-
this.
|
|
2431
|
-
this.modalService.openModal(this.noteModal);
|
|
2432
|
-
});
|
|
2433
|
-
}
|
|
2434
|
-
formValueChange(data) {
|
|
2435
|
-
this.formData$.next(data);
|
|
2436
|
-
this.setValid(data);
|
|
2240
|
+
this.modalService.openModal(this.viewObjectModal);
|
|
2437
2241
|
}
|
|
2438
|
-
|
|
2439
|
-
|
|
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();
|
|
2440
2251
|
}
|
|
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:
|
|
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: ["options", "submission", "form", "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" }] }); }
|
|
2443
2254
|
}
|
|
2444
|
-
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: [{
|
|
2445
2256
|
type: Component,
|
|
2446
|
-
args: [{ selector: 'valtimo-
|
|
2447
|
-
}], ctorParameters: function () { return [{ type:
|
|
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: [{
|
|
2448
2259
|
type: ViewChild,
|
|
2449
|
-
args: ['
|
|
2450
|
-
}], customData: [{
|
|
2451
|
-
type: Input
|
|
2452
|
-
}], createNoteEvent: [{
|
|
2453
|
-
type: Output
|
|
2454
|
-
}], editNoteEvent: [{
|
|
2455
|
-
type: Output
|
|
2260
|
+
args: ['viewObjectModal']
|
|
2456
2261
|
}] } });
|
|
2457
2262
|
|
|
2458
2263
|
/*
|
|
@@ -2470,242 +2275,670 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
2470
2275
|
* See the License for the specific language governing permissions and
|
|
2471
2276
|
* limitations under the License.
|
|
2472
2277
|
*/
|
|
2473
|
-
class
|
|
2474
|
-
constructor(
|
|
2475
|
-
this.
|
|
2476
|
-
this.permissionService = permissionService;
|
|
2477
|
-
this.promptService = promptService;
|
|
2278
|
+
class DossierDetailTabFormioComponent {
|
|
2279
|
+
constructor(tabService, route, formService) {
|
|
2280
|
+
this.tabService = tabService;
|
|
2478
2281
|
this.route = route;
|
|
2479
|
-
this.
|
|
2480
|
-
this.translateService = translateService;
|
|
2481
|
-
this.timelineItems = [];
|
|
2282
|
+
this.formService = formService;
|
|
2482
2283
|
this.loading$ = new BehaviorSubject(true);
|
|
2483
|
-
this.
|
|
2484
|
-
this.
|
|
2485
|
-
this.
|
|
2486
|
-
|
|
2487
|
-
|
|
2488
|
-
|
|
2489
|
-
|
|
2490
|
-
|
|
2491
|
-
|
|
2492
|
-
|
|
2493
|
-
|
|
2494
|
-
|
|
2495
|
-
|
|
2496
|
-
|
|
2497
|
-
|
|
2498
|
-
this.
|
|
2499
|
-
|
|
2500
|
-
|
|
2501
|
-
|
|
2502
|
-
|
|
2503
|
-
|
|
2504
|
-
|
|
2505
|
-
|
|
2506
|
-
|
|
2507
|
-
|
|
2508
|
-
|
|
2509
|
-
this.
|
|
2510
|
-
]
|
|
2511
|
-
|
|
2512
|
-
|
|
2513
|
-
|
|
2514
|
-
|
|
2515
|
-
|
|
2516
|
-
|
|
2517
|
-
|
|
2518
|
-
|
|
2519
|
-
|
|
2520
|
-
|
|
2521
|
-
|
|
2522
|
-
|
|
2523
|
-
|
|
2524
|
-
|
|
2525
|
-
|
|
2526
|
-
|
|
2527
|
-
|
|
2528
|
-
|
|
2529
|
-
|
|
2530
|
-
|
|
2531
|
-
|
|
2532
|
-
|
|
2533
|
-
|
|
2534
|
-
|
|
2535
|
-
|
|
2536
|
-
|
|
2537
|
-
|
|
2538
|
-
|
|
2539
|
-
|
|
2540
|
-
|
|
2541
|
-
|
|
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: ["options", "submission", "form", "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);
|
|
2542
2372
|
});
|
|
2543
|
-
}
|
|
2373
|
+
}
|
|
2374
|
+
return tabMap;
|
|
2544
2375
|
}
|
|
2545
|
-
|
|
2546
|
-
|
|
2547
|
-
|
|
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++;
|
|
2548
2385
|
});
|
|
2386
|
+
return tabs;
|
|
2549
2387
|
}
|
|
2550
|
-
|
|
2551
|
-
this.
|
|
2552
|
-
this.
|
|
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
|
+
},
|
|
2553
2413
|
});
|
|
2554
2414
|
}
|
|
2555
|
-
|
|
2556
|
-
|
|
2557
|
-
|
|
2558
|
-
|
|
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
|
+
}
|
|
2559
2424
|
}
|
|
2560
|
-
|
|
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);
|
|
2489
|
+
}
|
|
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),
|
|
2503
|
+
});
|
|
2504
|
+
}
|
|
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();
|
|
2513
|
+
}
|
|
2514
|
+
trackByIndex(index) {
|
|
2515
|
+
return index;
|
|
2516
|
+
}
|
|
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 }); }
|
|
2519
|
+
}
|
|
2520
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierBulkAssignModalComponent, decorators: [{
|
|
2521
|
+
type: Component,
|
|
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
|
|
2532
|
+
}] } });
|
|
2533
|
+
|
|
2534
|
+
/*
|
|
2535
|
+
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
2536
|
+
*
|
|
2537
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
2538
|
+
* you may not use this file except in compliance with the License.
|
|
2539
|
+
* You may obtain a copy of the License at
|
|
2540
|
+
*
|
|
2541
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
2542
|
+
*
|
|
2543
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
2544
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
2545
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2546
|
+
* See the License for the specific language governing permissions and
|
|
2547
|
+
* limitations under the License.
|
|
2548
|
+
*/
|
|
2549
|
+
class DossierSupportingProcessStartModalComponent {
|
|
2550
|
+
constructor(router, processService, processLinkService, userProviderService) {
|
|
2551
|
+
this.router = router;
|
|
2552
|
+
this.processService = processService;
|
|
2553
|
+
this.processLinkService = processLinkService;
|
|
2554
|
+
this.userProviderService = userProviderService;
|
|
2555
|
+
this.formSubmit = new EventEmitter();
|
|
2556
|
+
this.processDefinitionKey$ = new BehaviorSubject('');
|
|
2557
|
+
this.documentDefinitionName$ = new BehaviorSubject('');
|
|
2558
|
+
this.processName$ = new BehaviorSubject('');
|
|
2559
|
+
this.formDefinition$ = new BehaviorSubject(undefined);
|
|
2560
|
+
this.formioSubmission$ = new BehaviorSubject(undefined);
|
|
2561
|
+
this.processLinkId$ = new BehaviorSubject('');
|
|
2562
|
+
this.options$ = new BehaviorSubject(undefined);
|
|
2563
|
+
this.submission$ = new BehaviorSubject(undefined);
|
|
2564
|
+
this.processDefinitionId$ = new BehaviorSubject(undefined);
|
|
2565
|
+
this.formFlowInstanceId$ = new BehaviorSubject(undefined);
|
|
2566
|
+
this.documentId$ = new BehaviorSubject(undefined);
|
|
2567
|
+
this.isAdmin$ = this.userProviderService
|
|
2568
|
+
.getUserSubject()
|
|
2569
|
+
.pipe(map$1(userIdentity => userIdentity?.roles?.includes('ROLE_ADMIN')));
|
|
2570
|
+
}
|
|
2571
|
+
loadProcessLink() {
|
|
2572
|
+
combineLatest([this.processDefinitionId$, this.documentId$])
|
|
2573
|
+
.pipe(take$1(1), switchMap(([processDefinitionId, documentId]) => this.processService.getProcessDefinitionStartProcessLink(processDefinitionId, documentId, null)))
|
|
2574
|
+
.subscribe(startProcessResult => {
|
|
2575
|
+
if (startProcessResult) {
|
|
2576
|
+
switch (startProcessResult.type) {
|
|
2577
|
+
case 'form':
|
|
2578
|
+
this.formDefinition$.next(startProcessResult.properties.prefilledForm);
|
|
2579
|
+
this.processLinkId$.next(startProcessResult.processLinkId);
|
|
2580
|
+
break;
|
|
2581
|
+
case 'form-flow':
|
|
2582
|
+
this.formFlowInstanceId$.next(startProcessResult.properties.formFlowInstanceId);
|
|
2583
|
+
break;
|
|
2584
|
+
}
|
|
2585
|
+
this.modal.show();
|
|
2586
|
+
}
|
|
2587
|
+
});
|
|
2588
|
+
}
|
|
2589
|
+
openModal(processDocumentDefinition, documentId) {
|
|
2590
|
+
this.documentId$.next(documentId);
|
|
2591
|
+
this.documentDefinitionName$.next(processDocumentDefinition.id.documentDefinitionId.name);
|
|
2592
|
+
this.processDefinitionKey$.next(processDocumentDefinition.id.processDefinitionKey);
|
|
2593
|
+
this.processDefinitionId$.next(processDocumentDefinition.latestVersionId);
|
|
2594
|
+
this.processName$.next(processDocumentDefinition.processName);
|
|
2595
|
+
const formioBeforeSubmit = function (submission, callback) {
|
|
2596
|
+
callback(null, submission);
|
|
2597
|
+
};
|
|
2598
|
+
const options = new FormioOptionsImpl();
|
|
2599
|
+
options.disableAlerts = true;
|
|
2600
|
+
options.setHooks(formioBeforeSubmit);
|
|
2601
|
+
this.options$.next(options);
|
|
2602
|
+
this.loadProcessLink();
|
|
2603
|
+
}
|
|
2604
|
+
onSubmit(submission) {
|
|
2605
|
+
this.formioSubmission$.next(submission);
|
|
2606
|
+
if (this.processLinkId$.getValue()) {
|
|
2607
|
+
combineLatest([this.processLinkId$, this.documentId$])
|
|
2608
|
+
.pipe(take$1(1), switchMap(([processLinkId, documentId]) => this.processLinkService.submitForm(processLinkId, submission.data, documentId)))
|
|
2609
|
+
.subscribe({
|
|
2610
|
+
next: (formSubmissionResult) => {
|
|
2611
|
+
this.formSubmitted();
|
|
2612
|
+
},
|
|
2613
|
+
error: errors => {
|
|
2614
|
+
this.form.showErrors(errors);
|
|
2615
|
+
},
|
|
2616
|
+
});
|
|
2617
|
+
}
|
|
2618
|
+
}
|
|
2619
|
+
formSubmitted() {
|
|
2620
|
+
this.modal.hide();
|
|
2621
|
+
this.formSubmit.emit();
|
|
2622
|
+
}
|
|
2623
|
+
gotoFormLinkScreen() {
|
|
2624
|
+
this.modal.hide();
|
|
2625
|
+
this.router.navigate(['form-links'], {
|
|
2626
|
+
queryParams: { process: this.processDefinitionKey$.getValue() },
|
|
2627
|
+
});
|
|
2628
|
+
}
|
|
2629
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierSupportingProcessStartModalComponent, deps: [{ token: i1$1.Router }, { token: i2$2.ProcessService }, { token: i4$2.ProcessLinkService }, { token: i6$2.UserProviderService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2630
|
+
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 *ngIf=\"{\n processDefinitionKey: processDefinitionKey$ | async,\n processName: processName$ | async\n } as vars\"\n #supportingProcessStartModal\n elementId=\"supportingProcessStartModal\"\n [title]=\"\n (vars.processDefinitionKey | translate) !== vars.processDefinitionKey\n ? (vars.processDefinitionKey | translate)\n : vars.processName\n \"\n>\n <div body *ngIf=\"formDefinition$ | async as formDefinition\">\n <valtimo-form-io\n #form\n [submission]=\"submission$ | async\"\n [form]=\"formDefinition\"\n [options]=\"options$ | async\"\n (submit)=\"onSubmit($event)\"\n >\n </valtimo-form-io>\n </div>\n <div body *ngIf=\"formFlowInstanceId$ | async as formFlowInstanceId\">\n <valtimo-form-flow\n #formFlow\n [formFlowInstanceId]=\"formFlowInstanceId\"\n (formFlowComplete)=\"formSubmitted()\"\n ></valtimo-form-flow>\n </div>\n\n <ng-container\n *ngIf=\"{\n formDefinition: formDefinition$ | async,\n formFlowInstanceId: formFlowInstanceId$ | async\n } as obs\"\n >\n <div body *ngIf=\"!obs.formDefinition && !obs.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 class=\"btn btn-secondary btn-space\"\n type=\"button\"\n (click)=\"gotoFormLinkScreen()\"\n id=\"form-link-button\"\n >\n {{ 'formManagement.gotoProcessLinksButton' | translate }}\n </button>\n </div>\n </div>\n </ng-container>\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: ["options", "submission", "form", "readOnly", "formRefresh$"], outputs: ["submit", "change"] }, { kind: "component", type: i3$1.ModalComponent, selector: "valtimo-modal", inputs: ["elementId", "title", "subtitle", "templateBelowSubtitle", "showFooter"] }, { kind: "component", type: i4$2.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 }); }
|
|
2631
|
+
}
|
|
2632
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierSupportingProcessStartModalComponent, decorators: [{
|
|
2633
|
+
type: Component,
|
|
2634
|
+
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 *ngIf=\"{\n processDefinitionKey: processDefinitionKey$ | async,\n processName: processName$ | async\n } as vars\"\n #supportingProcessStartModal\n elementId=\"supportingProcessStartModal\"\n [title]=\"\n (vars.processDefinitionKey | translate) !== vars.processDefinitionKey\n ? (vars.processDefinitionKey | translate)\n : vars.processName\n \"\n>\n <div body *ngIf=\"formDefinition$ | async as formDefinition\">\n <valtimo-form-io\n #form\n [submission]=\"submission$ | async\"\n [form]=\"formDefinition\"\n [options]=\"options$ | async\"\n (submit)=\"onSubmit($event)\"\n >\n </valtimo-form-io>\n </div>\n <div body *ngIf=\"formFlowInstanceId$ | async as formFlowInstanceId\">\n <valtimo-form-flow\n #formFlow\n [formFlowInstanceId]=\"formFlowInstanceId\"\n (formFlowComplete)=\"formSubmitted()\"\n ></valtimo-form-flow>\n </div>\n\n <ng-container\n *ngIf=\"{\n formDefinition: formDefinition$ | async,\n formFlowInstanceId: formFlowInstanceId$ | async\n } as obs\"\n >\n <div body *ngIf=\"!obs.formDefinition && !obs.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 class=\"btn btn-secondary btn-space\"\n type=\"button\"\n (click)=\"gotoFormLinkScreen()\"\n id=\"form-link-button\"\n >\n {{ 'formManagement.gotoProcessLinksButton' | translate }}\n </button>\n </div>\n </div>\n </ng-container>\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"] }]
|
|
2635
|
+
}], ctorParameters: function () { return [{ type: i1$1.Router }, { type: i2$2.ProcessService }, { type: i4$2.ProcessLinkService }, { type: i6$2.UserProviderService }]; }, propDecorators: { form: [{
|
|
2636
|
+
type: ViewChild,
|
|
2637
|
+
args: ['form', { static: false }]
|
|
2638
|
+
}], modal: [{
|
|
2639
|
+
type: ViewChild,
|
|
2640
|
+
args: ['supportingProcessStartModal', { static: false }]
|
|
2641
|
+
}], formSubmit: [{
|
|
2642
|
+
type: Output
|
|
2643
|
+
}] } });
|
|
2644
|
+
|
|
2645
|
+
/*
|
|
2646
|
+
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
2647
|
+
*
|
|
2648
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
2649
|
+
* you may not use this file except in compliance with the License.
|
|
2650
|
+
* You may obtain a copy of the License at
|
|
2651
|
+
*
|
|
2652
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
2653
|
+
*
|
|
2654
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
2655
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
2656
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2657
|
+
* See the License for the specific language governing permissions and
|
|
2658
|
+
* limitations under the License.
|
|
2659
|
+
*/
|
|
2660
|
+
class DossierAssignUserComponent {
|
|
2661
|
+
set documentId(value) {
|
|
2662
|
+
this.documentId$.next(value);
|
|
2663
|
+
}
|
|
2664
|
+
set assigneeId(value) {
|
|
2665
|
+
this.assigneeId$.next(value);
|
|
2666
|
+
}
|
|
2667
|
+
set assigneeFullName(value) {
|
|
2668
|
+
this.assigneeFullName$.next(value);
|
|
2669
|
+
}
|
|
2670
|
+
constructor(documentService) {
|
|
2671
|
+
this.documentService = documentService;
|
|
2672
|
+
this.hasPermission = true;
|
|
2673
|
+
this.assignmentOfDocumentChanged = new EventEmitter();
|
|
2674
|
+
this.disabled$ = new BehaviorSubject(true);
|
|
2675
|
+
this.documentId$ = new BehaviorSubject('');
|
|
2676
|
+
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()));
|
|
2677
|
+
this.assigneeId$ = new BehaviorSubject('');
|
|
2678
|
+
this.assigneeFullName$ = new BehaviorSubject('');
|
|
2679
|
+
}
|
|
2680
|
+
assignDocument(userId) {
|
|
2681
|
+
this.disable();
|
|
2561
2682
|
this.documentId$
|
|
2562
|
-
.pipe(
|
|
2683
|
+
.pipe(switchMap(documentId => this.documentService.assignHandlerToDocument(documentId, userId)))
|
|
2563
2684
|
.subscribe(() => {
|
|
2564
|
-
this.
|
|
2565
|
-
this.
|
|
2685
|
+
this.emitChange();
|
|
2686
|
+
this.enable();
|
|
2566
2687
|
});
|
|
2567
2688
|
}
|
|
2568
|
-
|
|
2569
|
-
this.
|
|
2570
|
-
|
|
2571
|
-
this.
|
|
2572
|
-
|
|
2573
|
-
|
|
2689
|
+
unassignDocument() {
|
|
2690
|
+
this.disable();
|
|
2691
|
+
this.documentId$
|
|
2692
|
+
.pipe(switchMap(documentId => this.documentService.unassignHandlerFromDocument(documentId)))
|
|
2693
|
+
.subscribe(() => {
|
|
2694
|
+
this.emitChange();
|
|
2695
|
+
this.enable();
|
|
2696
|
+
});
|
|
2697
|
+
}
|
|
2698
|
+
mapUsersForDropdown(users) {
|
|
2699
|
+
return users
|
|
2700
|
+
.sort((a, b) => {
|
|
2701
|
+
if (a.lastName && b.lastName) {
|
|
2702
|
+
return a.lastName.localeCompare(b.lastName);
|
|
2703
|
+
}
|
|
2704
|
+
return 0;
|
|
2705
|
+
})
|
|
2706
|
+
.map(user => ({ text: user.label, id: user.id }));
|
|
2707
|
+
}
|
|
2708
|
+
emitChange() {
|
|
2709
|
+
this.assignmentOfDocumentChanged.emit();
|
|
2710
|
+
}
|
|
2711
|
+
enable() {
|
|
2712
|
+
this.disabled$.next(false);
|
|
2713
|
+
}
|
|
2714
|
+
disable() {
|
|
2715
|
+
this.disabled$.next(true);
|
|
2716
|
+
}
|
|
2717
|
+
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 }); }
|
|
2718
|
+
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" }] }); }
|
|
2719
|
+
}
|
|
2720
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierAssignUserComponent, decorators: [{
|
|
2721
|
+
type: Component,
|
|
2722
|
+
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"] }]
|
|
2723
|
+
}], ctorParameters: function () { return [{ type: i2$1.DocumentService }]; }, propDecorators: { documentId: [{
|
|
2724
|
+
type: Input
|
|
2725
|
+
}], assigneeId: [{
|
|
2726
|
+
type: Input
|
|
2727
|
+
}], assigneeFullName: [{
|
|
2728
|
+
type: Input
|
|
2729
|
+
}], hasPermission: [{
|
|
2730
|
+
type: Input
|
|
2731
|
+
}], assignmentOfDocumentChanged: [{
|
|
2732
|
+
type: Output
|
|
2733
|
+
}] } });
|
|
2734
|
+
|
|
2735
|
+
/*
|
|
2736
|
+
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
2737
|
+
*
|
|
2738
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
2739
|
+
* you may not use this file except in compliance with the License.
|
|
2740
|
+
* You may obtain a copy of the License at
|
|
2741
|
+
*
|
|
2742
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
2743
|
+
*
|
|
2744
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
2745
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
2746
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2747
|
+
* See the License for the specific language governing permissions and
|
|
2748
|
+
* limitations under the License.
|
|
2749
|
+
*/
|
|
2750
|
+
class TabTranslatePipe {
|
|
2751
|
+
constructor(translateService) {
|
|
2752
|
+
this.translateService = translateService;
|
|
2753
|
+
}
|
|
2754
|
+
transform(tab) {
|
|
2755
|
+
const translationId = 'dossier.tabs.' + tab.name;
|
|
2756
|
+
return tab.title
|
|
2757
|
+
? of(tab.title)
|
|
2758
|
+
: this.translateService
|
|
2759
|
+
.stream(translationId)
|
|
2760
|
+
.pipe(map(translation => (translationId !== translation ? translation : tab.name)));
|
|
2761
|
+
}
|
|
2762
|
+
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 }); }
|
|
2763
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: TabTranslatePipe, name: "tabTranslate" }); }
|
|
2764
|
+
}
|
|
2765
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TabTranslatePipe, decorators: [{
|
|
2766
|
+
type: Pipe,
|
|
2767
|
+
args: [{
|
|
2768
|
+
name: 'tabTranslate',
|
|
2769
|
+
}]
|
|
2770
|
+
}], ctorParameters: function () { return [{ type: i6.TranslateService }]; } });
|
|
2771
|
+
|
|
2772
|
+
class DossierDetailComponent {
|
|
2773
|
+
constructor(breadcrumbService, componentFactoryResolver, configService, documentService, keyCloakService, location, logger, permissionService, route, router, dossierTabService, dossierService) {
|
|
2774
|
+
this.breadcrumbService = breadcrumbService;
|
|
2775
|
+
this.componentFactoryResolver = componentFactoryResolver;
|
|
2776
|
+
this.configService = configService;
|
|
2777
|
+
this.documentService = documentService;
|
|
2778
|
+
this.keyCloakService = keyCloakService;
|
|
2779
|
+
this.location = location;
|
|
2780
|
+
this.logger = logger;
|
|
2781
|
+
this.permissionService = permissionService;
|
|
2782
|
+
this.route = route;
|
|
2783
|
+
this.router = router;
|
|
2784
|
+
this.dossierTabService = dossierTabService;
|
|
2785
|
+
this.dossierService = dossierService;
|
|
2786
|
+
this.customDossierHeaderItems = [];
|
|
2787
|
+
this.document = null;
|
|
2788
|
+
this.processDefinitionListFields = [];
|
|
2789
|
+
this.processDocumentDefinitions = [];
|
|
2790
|
+
this.tabLoader = null;
|
|
2791
|
+
this.assigneeId$ = new BehaviorSubject('');
|
|
2792
|
+
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) => {
|
|
2793
|
+
if (document) {
|
|
2794
|
+
this.assigneeId$.next(document.assigneeId);
|
|
2795
|
+
this.document = document;
|
|
2796
|
+
if (this.configService.config.customDossierHeader?.hasOwnProperty(this.documentDefinitionName.toLowerCase()) &&
|
|
2797
|
+
this.customDossierHeaderItems.length === 0) {
|
|
2798
|
+
this.configService.config.customDossierHeader[this.documentDefinitionName.toLowerCase()]?.forEach(item => this.getCustomDossierHeaderItem(item));
|
|
2799
|
+
}
|
|
2800
|
+
}
|
|
2801
|
+
}));
|
|
2802
|
+
this.documentDefinitionName$ = this.route.params.pipe(map(params => params.documentDefinitionName || ''));
|
|
2803
|
+
this.userId$ = from(this.keyCloakService.isLoggedIn()).pipe(switchMap(() => this.keyCloakService.loadUserProfile()), map(profile => profile?.id));
|
|
2804
|
+
this.isAssigning$ = new BehaviorSubject(false);
|
|
2805
|
+
this.isAssignedToCurrentUser$ = combineLatest([
|
|
2806
|
+
this.assigneeId$,
|
|
2807
|
+
this.userId$,
|
|
2808
|
+
]).pipe(map(([assigneeId, userId]) => !!assigneeId && !!userId && assigneeId === userId), startWith(true));
|
|
2809
|
+
this.canHaveAssignee$ = this.documentDefinitionName$.pipe(switchMap(documentDefinitionName => this.documentService.getCaseSettings(documentDefinitionName)), map(caseSettings => caseSettings?.canHaveAssignee));
|
|
2810
|
+
this.canAssignLoaded$ = new BehaviorSubject(false);
|
|
2811
|
+
this.canAssign$ = this.route.paramMap.pipe(switchMap((params) => this.permissionService.requestPermission(CAN_ASSIGN_CASE_PERMISSION, {
|
|
2812
|
+
resource: DOSSIER_DETAIL_PERMISSION_RESOURCE.jsonSchemaDocument,
|
|
2813
|
+
identifier: params.get('documentId') ?? '',
|
|
2814
|
+
})), tap(() => {
|
|
2815
|
+
this.canAssignLoaded$.next(true);
|
|
2816
|
+
}));
|
|
2817
|
+
this.canClaim$ = this.route.paramMap.pipe(switchMap((params) => this.permissionService.requestPermission(CAN_CLAIM_CASE_PERMISSION, {
|
|
2818
|
+
resource: DOSSIER_DETAIL_PERMISSION_RESOURCE.jsonSchemaDocument,
|
|
2819
|
+
identifier: params.get('documentId') ?? '',
|
|
2820
|
+
})));
|
|
2821
|
+
this.loadingTabs$ = new BehaviorSubject(true);
|
|
2822
|
+
this.noTabsConfigured$ = new BehaviorSubject(false);
|
|
2823
|
+
this._snapshot = this.route.snapshot.paramMap;
|
|
2824
|
+
this.documentDefinitionName = this._snapshot.get('documentDefinitionName') || '';
|
|
2825
|
+
this.documentId = this._snapshot.get('documentId') || '';
|
|
2826
|
+
}
|
|
2827
|
+
ngAfterViewInit() {
|
|
2828
|
+
this.initTabLoader();
|
|
2829
|
+
this.initBreadcrumb();
|
|
2830
|
+
this.getAllAssociatedProcessDefinitions();
|
|
2574
2831
|
}
|
|
2575
|
-
|
|
2576
|
-
this.
|
|
2577
|
-
this.notesService.setModalType('modify');
|
|
2578
|
-
this.notesService.showModal();
|
|
2832
|
+
ngOnDestroy() {
|
|
2833
|
+
this.breadcrumbService.clearSecondBreadcrumb();
|
|
2579
2834
|
}
|
|
2580
|
-
|
|
2581
|
-
this.
|
|
2582
|
-
|
|
2583
|
-
|
|
2584
|
-
|
|
2585
|
-
|
|
2586
|
-
|
|
2587
|
-
|
|
2588
|
-
|
|
2589
|
-
|
|
2590
|
-
|
|
2591
|
-
closeOnCancel: true,
|
|
2592
|
-
confirmCallBackFunction: () => {
|
|
2593
|
-
this.notesService.deleteNote(data.customData.id).subscribe(() => {
|
|
2594
|
-
this.notesService.refresh();
|
|
2595
|
-
this.toastrService.success(this.translateService.instant('dossier.notes.deleteConfirmation.deletedMessage'));
|
|
2596
|
-
});
|
|
2597
|
-
},
|
|
2835
|
+
getAllAssociatedProcessDefinitions() {
|
|
2836
|
+
this.documentService
|
|
2837
|
+
.findProcessDocumentDefinitions(this.documentDefinitionName)
|
|
2838
|
+
.subscribe((processDocumentDefinitions) => {
|
|
2839
|
+
this.processDocumentDefinitions = processDocumentDefinitions.filter(processDocumentDefinition => processDocumentDefinition.startableByUser);
|
|
2840
|
+
this.processDefinitionListFields = [
|
|
2841
|
+
{
|
|
2842
|
+
key: 'processName',
|
|
2843
|
+
label: 'Proces',
|
|
2844
|
+
},
|
|
2845
|
+
];
|
|
2598
2846
|
});
|
|
2599
2847
|
}
|
|
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',
|
|
2848
|
+
startProcess(processDocumentDefinition) {
|
|
2849
|
+
this.supportingProcessStart.openModal(processDocumentDefinition, this.documentId);
|
|
2850
|
+
}
|
|
2851
|
+
claimAssignee() {
|
|
2852
|
+
this.isAssigning$.next(true);
|
|
2853
|
+
this.userId$
|
|
2854
|
+
.pipe(take(1), switchMap((userId) => this.documentService.assignHandlerToDocument(this.documentId, userId ?? '')))
|
|
2855
|
+
.subscribe({
|
|
2856
|
+
next: () => {
|
|
2857
|
+
this.isAssigning$.next(false);
|
|
2858
|
+
this.dossierService.refresh();
|
|
2648
2859
|
},
|
|
2649
|
-
{
|
|
2650
|
-
|
|
2651
|
-
|
|
2860
|
+
error: () => {
|
|
2861
|
+
this.isAssigning$.next(false);
|
|
2862
|
+
this.logger.debug('Something went wrong while assigning user to case');
|
|
2652
2863
|
},
|
|
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);
|
|
2864
|
+
});
|
|
2660
2865
|
}
|
|
2661
|
-
|
|
2662
|
-
this.
|
|
2663
|
-
|
|
2664
|
-
|
|
2665
|
-
|
|
2666
|
-
|
|
2667
|
-
disabled: true,
|
|
2668
|
-
}));
|
|
2669
|
-
this.setModalData(objectTypeSelectItems, definition);
|
|
2670
|
-
}, () => {
|
|
2671
|
-
this.setModalData(objectTypeSelectItems);
|
|
2672
|
-
});
|
|
2866
|
+
initBreadcrumb() {
|
|
2867
|
+
this.documentService
|
|
2868
|
+
.getDocumentDefinition(this.documentDefinitionName)
|
|
2869
|
+
.subscribe(definition => {
|
|
2870
|
+
this.documentDefinitionNameTitle = definition.schema.title;
|
|
2871
|
+
this.setBreadcrumb();
|
|
2673
2872
|
});
|
|
2674
2873
|
}
|
|
2675
|
-
|
|
2676
|
-
this.
|
|
2677
|
-
|
|
2678
|
-
|
|
2874
|
+
initTabLoader() {
|
|
2875
|
+
this.dossierTabService.tabs$.pipe(take(1)).subscribe(tabs => {
|
|
2876
|
+
if (tabs?.length > 0) {
|
|
2877
|
+
this._initialTabName = this._snapshot.get('tab') ?? '';
|
|
2878
|
+
this.tabLoader = new TabLoaderImpl(tabs, this.componentFactoryResolver, this.viewContainerRef, this.router, this.route);
|
|
2879
|
+
this.tabLoader.initial(this._initialTabName);
|
|
2880
|
+
this.loadingTabs$.next(false);
|
|
2881
|
+
}
|
|
2882
|
+
else {
|
|
2883
|
+
this.noTabsConfigured$.next(true);
|
|
2884
|
+
this.loadingTabs$.next(false);
|
|
2885
|
+
}
|
|
2679
2886
|
});
|
|
2680
2887
|
}
|
|
2681
|
-
|
|
2682
|
-
this.
|
|
2888
|
+
assignmentOfDocumentChanged() {
|
|
2889
|
+
this.dossierService.refresh();
|
|
2683
2890
|
}
|
|
2684
|
-
|
|
2685
|
-
|
|
2686
|
-
|
|
2687
|
-
|
|
2891
|
+
getCustomDossierHeaderItem(item) {
|
|
2892
|
+
this.customDossierHeaderItems.push({
|
|
2893
|
+
label: item['labelTranslationKey'] || '',
|
|
2894
|
+
columnSize: item['columnSize'] || 3,
|
|
2895
|
+
textSize: item['textSize'] || 'md',
|
|
2896
|
+
customClass: item['customClass'] || '',
|
|
2897
|
+
modifier: item['modifier'] || '',
|
|
2898
|
+
value: item['propertyPaths']?.reduce((prev, curr) => prev + this.getStringFromDocumentPath(item, curr), ''),
|
|
2899
|
+
});
|
|
2688
2900
|
}
|
|
2689
|
-
|
|
2690
|
-
|
|
2691
|
-
|
|
2692
|
-
|
|
2693
|
-
|
|
2694
|
-
|
|
2695
|
-
|
|
2901
|
+
getStringFromDocumentPath(item, path) {
|
|
2902
|
+
const prefix = item['propertyPaths'].indexOf(path) > 0 ? ' ' : '';
|
|
2903
|
+
let string = this.getNestedProperty(this.document.content, path, item['noValueText']) || '';
|
|
2904
|
+
const dateFormats = [moment.ISO_8601, 'MM-DD-YYYY', 'DD-MM-YYYY', 'YYYY-MM-DD'];
|
|
2905
|
+
switch (item['modifier']) {
|
|
2906
|
+
case 'age': {
|
|
2907
|
+
if (moment(string, dateFormats, true).isValid()) {
|
|
2908
|
+
string = moment().diff(string, 'years');
|
|
2909
|
+
}
|
|
2910
|
+
break;
|
|
2911
|
+
}
|
|
2912
|
+
default: {
|
|
2913
|
+
if (moment(string, dateFormats, true).isValid()) {
|
|
2914
|
+
string = moment(string).format('DD-MM-YYYY');
|
|
2915
|
+
}
|
|
2916
|
+
}
|
|
2696
2917
|
}
|
|
2697
|
-
|
|
2698
|
-
|
|
2918
|
+
return prefix + string;
|
|
2919
|
+
}
|
|
2920
|
+
getNestedProperty(obj, path, defaultValue) {
|
|
2921
|
+
return path.split('.').reduce((currentObject, key) => currentObject?.[key], obj) || defaultValue;
|
|
2922
|
+
}
|
|
2923
|
+
setBreadcrumb() {
|
|
2924
|
+
this.breadcrumbService.setSecondBreadcrumb({
|
|
2925
|
+
route: [`/dossiers/${this.documentDefinitionName}`],
|
|
2926
|
+
content: this.documentDefinitionNameTitle,
|
|
2927
|
+
href: `/dossiers/${this.documentDefinitionName}`,
|
|
2928
|
+
});
|
|
2699
2929
|
}
|
|
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:
|
|
2930
|
+
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$3.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 }); }
|
|
2931
|
+
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
2932
|
}
|
|
2703
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type:
|
|
2933
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierDetailComponent, decorators: [{
|
|
2704
2934
|
type: Component,
|
|
2705
|
-
args: [{ selector: 'valtimo-dossier-detail
|
|
2706
|
-
}], ctorParameters: function () { return [{ type: i1$1.
|
|
2935
|
+
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"] }]
|
|
2936
|
+
}], ctorParameters: function () { return [{ type: i3$1.BreadcrumbService }, { type: i0.ComponentFactoryResolver }, { type: i1.ConfigService }, { type: i2$1.DocumentService }, { type: i4$3.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
2937
|
type: ViewChild,
|
|
2708
|
-
args: ['
|
|
2938
|
+
args: ['supportingProcessStartModal']
|
|
2939
|
+
}], viewContainerRef: [{
|
|
2940
|
+
type: ViewChild,
|
|
2941
|
+
args: ['tabContainer', { read: ViewContainerRef }]
|
|
2709
2942
|
}] } });
|
|
2710
2943
|
|
|
2711
2944
|
/*
|
|
@@ -2809,16 +3042,15 @@ class DossierProcessStartModalComponent {
|
|
|
2809
3042
|
this.documentDefinitionName,
|
|
2810
3043
|
'document',
|
|
2811
3044
|
formSubmissionResult.documentId,
|
|
2812
|
-
'summary',
|
|
2813
3045
|
]);
|
|
2814
3046
|
}
|
|
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:
|
|
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:
|
|
3047
|
+
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: i4$2.ProcessLinkService }, { token: i4$2.FormFlowService }, { token: i6$2.UserProviderService }, { token: i6$1.NGXLogger }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3048
|
+
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: ["options", "submission", "form", "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: i4$2.FormFlowComponent, selector: "valtimo-form-flow", inputs: ["formIoFormData", "formFlowInstanceId"], outputs: ["formFlowComplete"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
2817
3049
|
}
|
|
2818
3050
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierProcessStartModalComponent, decorators: [{
|
|
2819
3051
|
type: Component,
|
|
2820
3052
|
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:
|
|
3053
|
+
}], ctorParameters: function () { return [{ type: i1$1.ActivatedRoute }, { type: i1$1.Router }, { type: i2$2.ProcessService }, { type: i2$1.DocumentService }, { type: i4$2.ProcessLinkService }, { type: i4$2.FormFlowService }, { type: i6$2.UserProviderService }, { type: i6$1.NGXLogger }]; }, propDecorators: { form: [{
|
|
2822
3054
|
type: ViewChild,
|
|
2823
3055
|
args: ['form', { static: false }]
|
|
2824
3056
|
}], modal: [{
|
|
@@ -2890,7 +3122,7 @@ class DossierListActionsComponent {
|
|
|
2890
3122
|
}
|
|
2891
3123
|
}
|
|
2892
3124
|
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:
|
|
3125
|
+
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
3126
|
}
|
|
2895
3127
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierListActionsComponent, decorators: [{
|
|
2896
3128
|
type: Component,
|
|
@@ -3100,7 +3332,7 @@ class DossierListComponent {
|
|
|
3100
3332
|
this.listService.documentDefinitionName$.pipe(take(1)).subscribe(documentDefinitionName => {
|
|
3101
3333
|
this.breadcrumbService.cacheQueryParams(`/dossiers/${documentDefinitionName}`, this.route.snapshot.queryParams);
|
|
3102
3334
|
this.router.navigate([
|
|
3103
|
-
`/dossiers/${documentDefinitionName}/document/${document.id}
|
|
3335
|
+
`/dossiers/${documentDefinitionName}/document/${document.id}`,
|
|
3104
3336
|
]);
|
|
3105
3337
|
});
|
|
3106
3338
|
}
|
|
@@ -3221,7 +3453,7 @@ class DossierListComponent {
|
|
|
3221
3453
|
title: `dossier.noResults.${this.activeTab ?? 'ALL'}.title`,
|
|
3222
3454
|
});
|
|
3223
3455
|
}
|
|
3224
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierListComponent, deps: [{ token: DossierListAssigneeService }, { token: i3$
|
|
3456
|
+
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
3457
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DossierListComponent, selector: "valtimo-dossier-list", providers: [
|
|
3226
3458
|
DossierListService,
|
|
3227
3459
|
DossierColumnService,
|
|
@@ -3229,7 +3461,7 @@ class DossierListComponent {
|
|
|
3229
3461
|
DossierParameterService,
|
|
3230
3462
|
DossierListPaginationService,
|
|
3231
3463
|
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
|
|
3464
|
+
], 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
3465
|
}
|
|
3234
3466
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierListComponent, decorators: [{
|
|
3235
3467
|
type: Component,
|
|
@@ -3240,8 +3472,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
3240
3472
|
DossierParameterService,
|
|
3241
3473
|
DossierListPaginationService,
|
|
3242
3474
|
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$
|
|
3475
|
+
], 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"] }]
|
|
3476
|
+
}], 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
3477
|
type: ViewChild,
|
|
3246
3478
|
args: [CarbonListComponent]
|
|
3247
3479
|
}], listActionsComponent: [{
|
|
@@ -3347,13 +3579,13 @@ class DossierUpdateComponent {
|
|
|
3347
3579
|
returnZero() {
|
|
3348
3580
|
return 0;
|
|
3349
3581
|
}
|
|
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:
|
|
3582
|
+
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 }); }
|
|
3583
|
+
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
3584
|
}
|
|
3353
3585
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierUpdateComponent, decorators: [{
|
|
3354
3586
|
type: Component,
|
|
3355
3587
|
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
|
|
3588
|
+
}], 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
3589
|
|
|
3358
3590
|
/*
|
|
3359
3591
|
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
@@ -3387,6 +3619,16 @@ const routes = [
|
|
|
3387
3619
|
roles: [ROLE_USER],
|
|
3388
3620
|
},
|
|
3389
3621
|
},
|
|
3622
|
+
{
|
|
3623
|
+
path: 'dossiers/:documentDefinitionName/document/:documentId',
|
|
3624
|
+
component: DossierDetailComponent,
|
|
3625
|
+
canActivate: [AuthGuardService],
|
|
3626
|
+
data: {
|
|
3627
|
+
title: 'Dossier details',
|
|
3628
|
+
parentPath: 'dossiers/:documentDefinitionName',
|
|
3629
|
+
roles: [ROLE_USER],
|
|
3630
|
+
},
|
|
3631
|
+
},
|
|
3390
3632
|
{
|
|
3391
3633
|
path: 'dossiers/:documentDefinitionName/document/:documentId/:tab/tasks/:taskId',
|
|
3392
3634
|
component: DossierUpdateComponent,
|
|
@@ -3411,6 +3653,67 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
3411
3653
|
}]
|
|
3412
3654
|
}] });
|
|
3413
3655
|
|
|
3656
|
+
/*
|
|
3657
|
+
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
3658
|
+
*
|
|
3659
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
3660
|
+
* you may not use this file except in compliance with the License.
|
|
3661
|
+
* You may obtain a copy of the License at
|
|
3662
|
+
*
|
|
3663
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
3664
|
+
*
|
|
3665
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
3666
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
3667
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3668
|
+
* See the License for the specific language governing permissions and
|
|
3669
|
+
* limitations under the License.
|
|
3670
|
+
*/
|
|
3671
|
+
class TabTranslatePipeModule {
|
|
3672
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TabTranslatePipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
3673
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: TabTranslatePipeModule, declarations: [TabTranslatePipe], imports: [TranslateModule], exports: [TabTranslatePipe] }); }
|
|
3674
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TabTranslatePipeModule, imports: [TranslateModule] }); }
|
|
3675
|
+
}
|
|
3676
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TabTranslatePipeModule, decorators: [{
|
|
3677
|
+
type: NgModule,
|
|
3678
|
+
args: [{
|
|
3679
|
+
imports: [TranslateModule],
|
|
3680
|
+
declarations: [TabTranslatePipe],
|
|
3681
|
+
exports: [TabTranslatePipe],
|
|
3682
|
+
}]
|
|
3683
|
+
}] });
|
|
3684
|
+
|
|
3685
|
+
/*
|
|
3686
|
+
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
3687
|
+
*
|
|
3688
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
3689
|
+
* you may not use this file except in compliance with the License.
|
|
3690
|
+
* You may obtain a copy of the License at
|
|
3691
|
+
*
|
|
3692
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
3693
|
+
*
|
|
3694
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
3695
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
3696
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3697
|
+
* See the License for the specific language governing permissions and
|
|
3698
|
+
* limitations under the License.
|
|
3699
|
+
*/
|
|
3700
|
+
|
|
3701
|
+
/*
|
|
3702
|
+
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
3703
|
+
*
|
|
3704
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
3705
|
+
* you may not use this file except in compliance with the License.
|
|
3706
|
+
* You may obtain a copy of the License at
|
|
3707
|
+
*
|
|
3708
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
3709
|
+
*
|
|
3710
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
3711
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
3712
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3713
|
+
* See the License for the specific language governing permissions and
|
|
3714
|
+
* limitations under the License.
|
|
3715
|
+
*/
|
|
3716
|
+
|
|
3414
3717
|
/*
|
|
3415
3718
|
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
3416
3719
|
*
|
|
@@ -3433,7 +3736,6 @@ class DossierModule {
|
|
|
3433
3736
|
providers: [
|
|
3434
3737
|
DossierService,
|
|
3435
3738
|
DossierBulkAssignService,
|
|
3436
|
-
TabService,
|
|
3437
3739
|
{
|
|
3438
3740
|
provide: TAB_MAP,
|
|
3439
3741
|
useFactory: tabsFactory,
|
|
@@ -3460,7 +3762,8 @@ class DossierModule {
|
|
|
3460
3762
|
DossierDetailTabDocumentenApiDocumentsComponent,
|
|
3461
3763
|
DossierDetailTabS3DocumentsComponent,
|
|
3462
3764
|
DossierAssignUserComponent,
|
|
3463
|
-
NoteModalComponent
|
|
3765
|
+
NoteModalComponent,
|
|
3766
|
+
DossierDetailTabFormioComponent], imports: [CommonModule,
|
|
3464
3767
|
DossierRoutingModule,
|
|
3465
3768
|
ListModule,
|
|
3466
3769
|
WidgetModule,
|
|
@@ -3508,7 +3811,9 @@ class DossierModule {
|
|
|
3508
3811
|
DropdownModule,
|
|
3509
3812
|
TabsModule,
|
|
3510
3813
|
ComboBoxModule,
|
|
3511
|
-
|
|
3814
|
+
TabTranslatePipeModule,
|
|
3815
|
+
CarbonListModule,
|
|
3816
|
+
IsArrayPipe], exports: [DossierListComponent, DossierDetailComponent] }); }
|
|
3512
3817
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierModule, imports: [CommonModule,
|
|
3513
3818
|
DossierRoutingModule,
|
|
3514
3819
|
ListModule,
|
|
@@ -3565,6 +3870,7 @@ class DossierModule {
|
|
|
3565
3870
|
DropdownModule,
|
|
3566
3871
|
TabsModule,
|
|
3567
3872
|
ComboBoxModule,
|
|
3873
|
+
TabTranslatePipeModule,
|
|
3568
3874
|
CarbonListModule] }); }
|
|
3569
3875
|
}
|
|
3570
3876
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierModule, decorators: [{
|
|
@@ -3590,6 +3896,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
3590
3896
|
DossierDetailTabS3DocumentsComponent,
|
|
3591
3897
|
DossierAssignUserComponent,
|
|
3592
3898
|
NoteModalComponent,
|
|
3899
|
+
DossierDetailTabFormioComponent,
|
|
3593
3900
|
],
|
|
3594
3901
|
imports: [
|
|
3595
3902
|
CommonModule,
|
|
@@ -3648,7 +3955,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
3648
3955
|
DropdownModule,
|
|
3649
3956
|
TabsModule,
|
|
3650
3957
|
ComboBoxModule,
|
|
3958
|
+
TabTranslatePipeModule,
|
|
3651
3959
|
CarbonListModule,
|
|
3960
|
+
IsArrayPipe,
|
|
3652
3961
|
],
|
|
3653
3962
|
exports: [DossierListComponent, DossierDetailComponent],
|
|
3654
3963
|
}]
|
|
@@ -3677,5 +3986,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
3677
3986
|
* Generated bundle index. Do not edit.
|
|
3678
3987
|
*/
|
|
3679
3988
|
|
|
3680
|
-
export { DEFAULT_TABS, DefaultTabs, DossierBulkAssignModalComponent, DossierBulkAssignService, DossierColumnService, DossierDetailComponent, DossierDetailTabAuditComponent, DossierDetailTabContactMomentsComponent, DossierDetailTabDocumentsComponent, DossierDetailTabNotesComponent, DossierDetailTabProgressComponent, DossierDetailTabSummaryComponent, DossierDetailTabZaakobjectenComponent, DossierListAssigneeService, DossierListComponent, DossierListPaginationService, DossierListSearchService, DossierListService, DossierModule, DossierParameterService, DossierService,
|
|
3989
|
+
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
3990
|
//# sourceMappingURL=valtimo-dossier.mjs.map
|