@valtimo/dossier-management 11.3.2 → 12.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/dossier-management-assignee/dossier-management-assignee.component.mjs +7 -7
- package/esm2022/lib/components/dossier-management-connect-modal/dossier-management-connect-modal.component.mjs +7 -7
- package/esm2022/lib/components/dossier-management-create/dossier-management-create.component.mjs +119 -0
- package/esm2022/lib/components/dossier-management-detail/dossier-management-detail.component.mjs +34 -12
- package/esm2022/lib/components/dossier-management-detail-container/dossier-management-detail-container.component.mjs +111 -36
- package/esm2022/lib/components/dossier-management-detail-container-actions/dossier-management-detail-container-actions.component.mjs +159 -0
- package/esm2022/lib/components/dossier-management-document-definition/dossier-management-document-definition.component.mjs +147 -0
- package/esm2022/lib/components/dossier-management-list/dossier-management-list.component.mjs +33 -16
- package/esm2022/lib/components/dossier-management-list-columns/dossier-management-list-columns.component.mjs +12 -11
- package/esm2022/lib/components/dossier-management-processes/dossier-management-processes.component.mjs +7 -7
- package/esm2022/lib/components/dossier-management-remove-modal/dossier-management-remove-modal.component.mjs +7 -7
- package/esm2022/lib/components/dossier-management-search-fields/dossier-management-search-fields.component.mjs +50 -29
- package/esm2022/lib/components/dossier-management-statuses/dossier-management-status-modal/dossier-management-status-modal.component.mjs +285 -0
- package/esm2022/lib/components/dossier-management-statuses/dossier-management-statuses.component.mjs +154 -0
- package/esm2022/lib/components/dossier-management-tabs/dossier-management-add-tab-modal/dossier-management-add-tab-modal.component.mjs +10 -9
- package/esm2022/lib/components/dossier-management-tabs/dossier-management-edit-tab-modal/dossier-management-edit-tab-modal.component.mjs +10 -9
- package/esm2022/lib/components/dossier-management-tabs/dossier-management-tabs.component.mjs +7 -7
- package/esm2022/lib/components/dossier-management-tabs/tab-form/tab-form.component.mjs +7 -7
- package/esm2022/lib/components/dossier-management-upload/dossier-management-upload.component.mjs +14 -17
- package/esm2022/lib/components/dossier-management-upload/dossier-management-upload.constants.mjs +16 -1
- package/esm2022/lib/components/dossier-management-upload/step/dossier-management-upload-step.component.mjs +20 -5
- package/esm2022/lib/dossier-management-routing.module.mjs +10 -8
- package/esm2022/lib/dossier-management.module.mjs +33 -18
- package/esm2022/lib/models/index.mjs +3 -2
- package/esm2022/lib/models/list-column.model.mjs +2 -2
- package/esm2022/lib/models/status.model.mjs +17 -0
- package/esm2022/lib/models/tab.enum.mjs +3 -2
- package/esm2022/lib/services/dossier-detail.service.mjs +18 -11
- package/esm2022/lib/services/dossier-export.service.mjs +7 -7
- package/esm2022/lib/services/dossier-management.service.mjs +38 -0
- package/esm2022/lib/services/index.mjs +2 -2
- package/esm2022/lib/services/tab-management.service.mjs +5 -5
- package/esm2022/lib/services/tab.service.mjs +25 -8
- package/esm2022/public-api.mjs +2 -2
- package/fesm2022/valtimo-dossier-management.mjs +1238 -473
- package/fesm2022/valtimo-dossier-management.mjs.map +1 -1
- package/lib/components/dossier-management-create/dossier-management-create.component.d.ts +26 -0
- package/lib/components/dossier-management-create/dossier-management-create.component.d.ts.map +1 -0
- package/lib/components/dossier-management-detail/dossier-management-detail.component.d.ts +9 -3
- package/lib/components/dossier-management-detail/dossier-management-detail.component.d.ts.map +1 -1
- package/lib/components/dossier-management-detail-container/dossier-management-detail-container.component.d.ts +27 -14
- package/lib/components/dossier-management-detail-container/dossier-management-detail-container.component.d.ts.map +1 -1
- package/lib/components/dossier-management-detail-container-actions/{dossier-management-detail-container-actions.d.ts → dossier-management-detail-container-actions.component.d.ts} +9 -3
- package/lib/components/dossier-management-detail-container-actions/dossier-management-detail-container-actions.component.d.ts.map +1 -0
- package/lib/components/dossier-management-document-definition/dossier-management-document-definition.component.d.ts +48 -0
- package/lib/components/dossier-management-document-definition/dossier-management-document-definition.component.d.ts.map +1 -0
- package/lib/components/dossier-management-list/dossier-management-list.component.d.ts +7 -4
- package/lib/components/dossier-management-list/dossier-management-list.component.d.ts.map +1 -1
- package/lib/components/dossier-management-list-columns/dossier-management-list-columns.component.d.ts +2 -2
- package/lib/components/dossier-management-list-columns/dossier-management-list-columns.component.d.ts.map +1 -1
- package/lib/components/dossier-management-search-fields/dossier-management-search-fields.component.d.ts +10 -4
- package/lib/components/dossier-management-search-fields/dossier-management-search-fields.component.d.ts.map +1 -1
- package/lib/components/dossier-management-statuses/dossier-management-status-modal/dossier-management-status-modal.component.d.ts +77 -0
- package/lib/components/dossier-management-statuses/dossier-management-status-modal/dossier-management-status-modal.component.d.ts.map +1 -0
- package/lib/components/dossier-management-statuses/dossier-management-statuses.component.d.ts +47 -0
- package/lib/components/dossier-management-statuses/dossier-management-statuses.component.d.ts.map +1 -0
- package/lib/components/dossier-management-upload/dossier-management-upload.component.d.ts +3 -5
- package/lib/components/dossier-management-upload/dossier-management-upload.component.d.ts.map +1 -1
- package/lib/components/dossier-management-upload/dossier-management-upload.constants.d.ts.map +1 -1
- package/lib/components/dossier-management-upload/step/dossier-management-upload-step.component.d.ts.map +1 -1
- package/lib/dossier-management-routing.module.d.ts.map +1 -1
- package/lib/dossier-management.module.d.ts +24 -22
- package/lib/dossier-management.module.d.ts.map +1 -1
- package/lib/models/index.d.ts +1 -0
- package/lib/models/index.d.ts.map +1 -1
- package/lib/models/status.model.d.ts +4 -0
- package/lib/models/status.model.d.ts.map +1 -0
- package/lib/models/tab.enum.d.ts +2 -1
- package/lib/models/tab.enum.d.ts.map +1 -1
- package/lib/services/dossier-detail.service.d.ts +4 -1
- package/lib/services/dossier-detail.service.d.ts.map +1 -1
- package/lib/services/{dossier-import.service.d.ts → dossier-management.service.d.ts} +4 -4
- package/lib/services/dossier-management.service.d.ts.map +1 -0
- package/lib/services/tab.service.d.ts +9 -4
- package/lib/services/tab.service.d.ts.map +1 -1
- package/package.json +3 -3
- package/esm2022/lib/components/dossier-management-detail-container-actions/dossier-management-detail-container-actions.mjs +0 -152
- package/esm2022/lib/components/dossier-management-document-definition/dossier-management-document-definition.mjs +0 -48
- package/esm2022/lib/components/dossier-management-link-process/dossier-management-link-process.component.mjs +0 -84
- package/esm2022/lib/services/dossier-import.service.mjs +0 -38
- package/lib/components/dossier-management-detail-container-actions/dossier-management-detail-container-actions.d.ts.map +0 -1
- package/lib/components/dossier-management-document-definition/dossier-management-document-definition.d.ts +0 -15
- package/lib/components/dossier-management-document-definition/dossier-management-document-definition.d.ts.map +0 -1
- package/lib/components/dossier-management-link-process/dossier-management-link-process.component.d.ts +0 -27
- package/lib/components/dossier-management-link-process/dossier-management-link-process.component.d.ts.map +0 -1
- package/lib/services/dossier-import.service.d.ts.map +0 -1
|
@@ -1,37 +1,37 @@
|
|
|
1
1
|
import * as i6 from '@angular/common';
|
|
2
2
|
import { DOCUMENT, CommonModule } from '@angular/common';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
|
-
import { Component, Injectable, Optional, Inject, EventEmitter, ViewChild, Output, ChangeDetectionStrategy, Input, ViewEncapsulation, NgModule } from '@angular/core';
|
|
5
|
-
import * as
|
|
4
|
+
import { Component, Injectable, Optional, Inject, EventEmitter, ViewChild, Output, ChangeDetectionStrategy, Input, ViewContainerRef, ViewEncapsulation, NgModule } from '@angular/core';
|
|
5
|
+
import * as i1$3 from '@angular/forms';
|
|
6
6
|
import { FormGroup, FormControl, Validators, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
7
7
|
import * as i9 from '@ng-bootstrap/ng-bootstrap';
|
|
8
8
|
import { NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap';
|
|
9
9
|
import * as i3 from '@ngx-translate/core';
|
|
10
10
|
import { TranslateModule } from '@ngx-translate/core';
|
|
11
|
-
import * as
|
|
12
|
-
import { ViewType, MoveRowDirection, CARBON_CONSTANTS, WidgetModule, DropzoneModule, ListModule, ModalModule, MultiselectDropdownModule, ParagraphModule, SelectModule, SpinnerModule, InputModule, FormModule, TooltipIconModule, CarbonMultiInputModule, ConfirmationModalModule, TableModule, ValtimoCdsModalDirectiveModule, CarbonListModule, RenderInPageHeaderDirectiveModule, ValtimoCdsOverflowButtonDirectiveModule, EditorModule } from '@valtimo/components';
|
|
13
|
-
import * as
|
|
14
|
-
import {
|
|
15
|
-
import * as
|
|
16
|
-
import { NotificationService, NotificationModule, ButtonModule, IconModule, ModalModule as ModalModule$1, InputModule as InputModule$1, DropdownModule, CheckboxModule, LoadingModule, LinkModule, ComboBoxModule, DialogModule, TabsModule, TagModule, FileUploaderModule, ProgressBarModule } from 'carbon-components-angular';
|
|
11
|
+
import * as i5 from '@valtimo/components';
|
|
12
|
+
import { ViewType, MoveRowDirection, CARBON_CONSTANTS, PendingChangesComponent, pendingChangesGuard, WidgetModule, DropzoneModule, ListModule, ModalModule, MultiselectDropdownModule, ParagraphModule, SelectModule, SpinnerModule, InputModule, FormModule, TooltipIconModule, CarbonMultiInputModule, ConfirmationModalModule, TableModule, ValtimoCdsModalDirectiveModule, CarbonListModule, RenderInPageHeaderDirectiveModule, ValtimoCdsOverflowButtonDirectiveModule, EditorModule } from '@valtimo/components';
|
|
13
|
+
import * as i2$1 from '@valtimo/config';
|
|
14
|
+
import { CASE_MANAGEMENT_TAB_TOKEN, ZGW_CASE_CONFIGURATION_EXTENSIONS_TOKEN, ROLE_ADMIN, ConfigModule } from '@valtimo/config';
|
|
15
|
+
import * as i2$2 from 'carbon-components-angular';
|
|
16
|
+
import { NotificationService, NotificationModule, ButtonModule, IconModule, ModalModule as ModalModule$1, InputModule as InputModule$1, DropdownModule, CheckboxModule, LoadingModule, LinkModule, ComboBoxModule, DialogModule, TabsModule, TagModule, FileUploaderModule, ProgressBarModule, ToggleModule, TooltipModule } from 'carbon-components-angular';
|
|
17
17
|
import { BehaviorSubject, map, switchMap, combineLatest, take, tap as tap$1, of, catchError, filter, distinctUntilChanged, Subscription, delay, startWith, Subject } from 'rxjs';
|
|
18
|
-
import { tap, take as take$1 } from 'rxjs/operators';
|
|
18
|
+
import { tap, take as take$1, switchMap as switchMap$1, map as map$1 } from 'rxjs/operators';
|
|
19
19
|
import * as i1 from '@valtimo/document';
|
|
20
|
-
import { DocumentDefinitionCreateRequest } from '@valtimo/document';
|
|
20
|
+
import { DocumentDefinitionCreateRequest, InternalCaseStatusColor, InternalCaseStatusUtils } from '@valtimo/document';
|
|
21
21
|
import * as i2 from '@angular/router';
|
|
22
22
|
import { RouterModule } from '@angular/router';
|
|
23
23
|
import { DefaultTabs, CASE_TAB_TOKEN, ApiTabType } from '@valtimo/dossier';
|
|
24
24
|
import * as i1$1 from '@valtimo/form';
|
|
25
|
-
import * as i1$
|
|
25
|
+
import * as i1$2 from '@angular/common/http';
|
|
26
26
|
import { InterceptorSkipHeader, AuthGuardService } from '@valtimo/security';
|
|
27
|
-
import * as i4
|
|
28
|
-
import
|
|
29
|
-
import
|
|
30
|
-
import * as
|
|
27
|
+
import * as i4 from '@valtimo/process';
|
|
28
|
+
import * as i2$3 from 'ngx-toastr';
|
|
29
|
+
import { Edit16, Save16, ArrowDown16, ArrowUp16, Code16, Development16, WatsonHealthPageScroll16, Link16, WarningFilled16, Information16, Search20, TrashCan20, Upload16 } from '@carbon/icons';
|
|
30
|
+
import * as i4$1 from '@angular/platform-browser';
|
|
31
31
|
import moment from 'moment';
|
|
32
32
|
|
|
33
33
|
/*
|
|
34
|
-
* Copyright 2015-
|
|
34
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
35
35
|
*
|
|
36
36
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
37
37
|
* you may not use this file except in compliance with the License.
|
|
@@ -88,16 +88,16 @@ class DossierManagementAssigneeComponent {
|
|
|
88
88
|
autoAssignTasks: !currentSettings.autoAssignTasks,
|
|
89
89
|
}, documentDefinitionName);
|
|
90
90
|
}
|
|
91
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
92
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
91
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementAssigneeComponent, deps: [{ token: i1.DocumentService }, { token: i2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
92
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: DossierManagementAssigneeComponent, selector: "valtimo-dossier-management-assignee", ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<h2 class=\"mb-4\">{{ 'dossierManagement.toggleAssignee.title' | translate }}</h2>\n\n<ng-container\n *ngIf=\"{\n currentValue: currentValue$ | async,\n documentDefinitionName: documentDefinitionName$ | async,\n loading: loading$ | async,\n disabled: disabled$ | async\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <label\n class=\"custom-control custom-checkbox custom-control-inline pl-6 mr-5\"\n placement=\"bottom\"\n >\n <input\n [checked]=\"obs?.currentValue?.canHaveAssignee\"\n class=\"custom-control-input\"\n type=\"checkbox\"\n [disabled]=\"obs.disabled\"\n (click)=\"toggleAssignee(obs?.currentValue, obs.documentDefinitionName)\"\n /><span class=\"custom-control-label custom-control-color\">{{\n 'dossierManagement.toggleAssignee.checkboxDescription' | translate\n }}</span>\n </label>\n </ng-container>\n <ng-container *ngIf=\"obs?.currentValue?.canHaveAssignee\">\n <label\n class=\"custom-control custom-checkbox custom-control-inline pl-6 mr-5\"\n placement=\"bottom\"\n >\n <input\n [checked]=\"obs?.currentValue?.autoAssignTasks\"\n class=\"custom-control-input\"\n type=\"checkbox\"\n [disabled]=\"obs.disabled\"\n (click)=\"toggleTaskAssignment(obs?.currentValue, obs?.documentDefinitionName)\"\n /><span class=\"custom-control-label custom-control-color\">{{\n 'dossierManagement.toggleAutoAssignTasks.checkboxDescription' | translate\n }}</span>\n </label>\n </ng-container>\n</ng-container>\n\n<ng-template #loading>\n <valtimo-spinner></valtimo-spinner>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.SpinnerComponent, selector: "valtimo-spinner", inputs: ["useBootstrapSpinner", "name", "type", "size", "color", "bdColor", "fullScreen", "noMarginTop"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
|
|
93
93
|
}
|
|
94
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
94
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementAssigneeComponent, decorators: [{
|
|
95
95
|
type: Component,
|
|
96
|
-
args: [{ selector: 'valtimo-dossier-management-assignee', template: "<!--\n ~ Copyright 2015-
|
|
97
|
-
}], ctorParameters:
|
|
96
|
+
args: [{ selector: 'valtimo-dossier-management-assignee', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<h2 class=\"mb-4\">{{ 'dossierManagement.toggleAssignee.title' | translate }}</h2>\n\n<ng-container\n *ngIf=\"{\n currentValue: currentValue$ | async,\n documentDefinitionName: documentDefinitionName$ | async,\n loading: loading$ | async,\n disabled: disabled$ | async\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <label\n class=\"custom-control custom-checkbox custom-control-inline pl-6 mr-5\"\n placement=\"bottom\"\n >\n <input\n [checked]=\"obs?.currentValue?.canHaveAssignee\"\n class=\"custom-control-input\"\n type=\"checkbox\"\n [disabled]=\"obs.disabled\"\n (click)=\"toggleAssignee(obs?.currentValue, obs.documentDefinitionName)\"\n /><span class=\"custom-control-label custom-control-color\">{{\n 'dossierManagement.toggleAssignee.checkboxDescription' | translate\n }}</span>\n </label>\n </ng-container>\n <ng-container *ngIf=\"obs?.currentValue?.canHaveAssignee\">\n <label\n class=\"custom-control custom-checkbox custom-control-inline pl-6 mr-5\"\n placement=\"bottom\"\n >\n <input\n [checked]=\"obs?.currentValue?.autoAssignTasks\"\n class=\"custom-control-input\"\n type=\"checkbox\"\n [disabled]=\"obs.disabled\"\n (click)=\"toggleTaskAssignment(obs?.currentValue, obs?.documentDefinitionName)\"\n /><span class=\"custom-control-label custom-control-color\">{{\n 'dossierManagement.toggleAutoAssignTasks.checkboxDescription' | translate\n }}</span>\n </label>\n </ng-container>\n</ng-container>\n\n<ng-template #loading>\n <valtimo-spinner></valtimo-spinner>\n</ng-template>\n" }]
|
|
97
|
+
}], ctorParameters: () => [{ type: i1.DocumentService }, { type: i2.ActivatedRoute }] });
|
|
98
98
|
|
|
99
99
|
/*
|
|
100
|
-
* Copyright 2015-
|
|
100
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
101
101
|
*
|
|
102
102
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
103
103
|
* you may not use this file except in compliance with the License.
|
|
@@ -119,10 +119,11 @@ var TabEnum;
|
|
|
119
119
|
TabEnum["SEARCH"] = "search";
|
|
120
120
|
TabEnum["LIST"] = "list";
|
|
121
121
|
TabEnum["TABS"] = "tabs";
|
|
122
|
+
TabEnum["STATUSES"] = "statuses";
|
|
122
123
|
})(TabEnum || (TabEnum = {}));
|
|
123
124
|
|
|
124
125
|
/*
|
|
125
|
-
* Copyright 2015-
|
|
126
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
126
127
|
*
|
|
127
128
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
128
129
|
* you may not use this file except in compliance with the License.
|
|
@@ -137,6 +138,9 @@ var TabEnum;
|
|
|
137
138
|
* limitations under the License.
|
|
138
139
|
*/
|
|
139
140
|
class TabService {
|
|
141
|
+
get injectedCaseManagementTabs$() {
|
|
142
|
+
return this._injectedCaseManagementTabs$.asObservable();
|
|
143
|
+
}
|
|
140
144
|
get currentTab$() {
|
|
141
145
|
return this._currentTab$.asObservable();
|
|
142
146
|
}
|
|
@@ -149,10 +153,12 @@ class TabService {
|
|
|
149
153
|
set configuredContentKeys(value) {
|
|
150
154
|
this._configuredContentKeys$.next(value);
|
|
151
155
|
}
|
|
152
|
-
constructor(caseTabConfig, formService, translateService) {
|
|
156
|
+
constructor(caseTabConfig, caseManagementTabConfig, formService, translateService) {
|
|
153
157
|
this.caseTabConfig = caseTabConfig;
|
|
158
|
+
this.caseManagementTabConfig = caseManagementTabConfig;
|
|
154
159
|
this.formService = formService;
|
|
155
160
|
this.translateService = translateService;
|
|
161
|
+
this._injectedCaseManagementTabs$ = new BehaviorSubject([]);
|
|
156
162
|
this._currentTab$ = new BehaviorSubject(TabEnum.DOCUMENT);
|
|
157
163
|
this._configuredContentKeys$ = new BehaviorSubject([]);
|
|
158
164
|
this.formDefinitions$ = this.formService
|
|
@@ -186,21 +192,32 @@ class TabService {
|
|
|
186
192
|
formIO: !formDefinitions.length ||
|
|
187
193
|
formDefinitions.every((tabItem) => tabKeys.includes(tabItem.contentKey)),
|
|
188
194
|
})));
|
|
195
|
+
this.setInjectedCaseManagementTabs(this.caseManagementTabConfig);
|
|
196
|
+
}
|
|
197
|
+
setInjectedCaseManagementTabs(caseManagementTabConfig) {
|
|
198
|
+
if (!caseManagementTabConfig)
|
|
199
|
+
return;
|
|
200
|
+
this._injectedCaseManagementTabs$.next(Array.isArray(caseManagementTabConfig) ? caseManagementTabConfig : [caseManagementTabConfig]);
|
|
189
201
|
}
|
|
190
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
191
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
202
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TabService, deps: [{ token: CASE_TAB_TOKEN, optional: true }, { token: CASE_MANAGEMENT_TAB_TOKEN, optional: true }, { token: i1$1.FormService }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
203
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TabService, providedIn: 'root' }); }
|
|
192
204
|
}
|
|
193
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
205
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TabService, decorators: [{
|
|
194
206
|
type: Injectable,
|
|
195
207
|
args: [{
|
|
196
208
|
providedIn: 'root',
|
|
197
209
|
}]
|
|
198
|
-
}], ctorParameters:
|
|
210
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
199
211
|
type: Optional
|
|
200
212
|
}, {
|
|
201
213
|
type: Inject,
|
|
202
214
|
args: [CASE_TAB_TOKEN]
|
|
203
|
-
}] }, { type:
|
|
215
|
+
}] }, { type: undefined, decorators: [{
|
|
216
|
+
type: Optional
|
|
217
|
+
}, {
|
|
218
|
+
type: Inject,
|
|
219
|
+
args: [CASE_MANAGEMENT_TAB_TOKEN]
|
|
220
|
+
}] }, { type: i1$1.FormService }, { type: i3.TranslateService }] });
|
|
204
221
|
|
|
205
222
|
class TabManagementService {
|
|
206
223
|
constructor(configService, http) {
|
|
@@ -264,20 +281,20 @@ class TabManagementService {
|
|
|
264
281
|
}
|
|
265
282
|
return tab;
|
|
266
283
|
}
|
|
267
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
268
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
284
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TabManagementService, deps: [{ token: i2$1.ConfigService }, { token: i1$2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
285
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TabManagementService }); }
|
|
269
286
|
}
|
|
270
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
287
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TabManagementService, decorators: [{
|
|
271
288
|
type: Injectable
|
|
272
|
-
}], ctorParameters:
|
|
289
|
+
}], ctorParameters: () => [{ type: i2$1.ConfigService }, { type: i1$2.HttpClient }] });
|
|
273
290
|
|
|
274
291
|
/*
|
|
275
|
-
* Copyright 2015-
|
|
292
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
276
293
|
*
|
|
277
294
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
278
295
|
* you may not use this file except in compliance with the License.
|
|
279
|
-
*
|
|
280
296
|
* You may obtain a copy of the License at
|
|
297
|
+
*
|
|
281
298
|
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
282
299
|
*
|
|
283
300
|
* Unless required by applicable law or agreed to in writing, software
|
|
@@ -295,18 +312,18 @@ class DossierExportService {
|
|
|
295
312
|
exportDocumentDefinition(documentDefinitionName, version = 1) {
|
|
296
313
|
return this.http.get(`${this.valtimoEndpointUri}management/v1/case/${documentDefinitionName}/${version}/export`, { observe: 'response', responseType: 'blob', headers: InterceptorSkipHeader });
|
|
297
314
|
}
|
|
298
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
299
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
315
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierExportService, deps: [{ token: i1$2.HttpClient }, { token: i2$1.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
316
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierExportService, providedIn: 'root' }); }
|
|
300
317
|
}
|
|
301
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
318
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierExportService, decorators: [{
|
|
302
319
|
type: Injectable,
|
|
303
320
|
args: [{
|
|
304
321
|
providedIn: 'root',
|
|
305
322
|
}]
|
|
306
|
-
}], ctorParameters:
|
|
323
|
+
}], ctorParameters: () => [{ type: i1$2.HttpClient }, { type: i2$1.ConfigService }] });
|
|
307
324
|
|
|
308
325
|
/*
|
|
309
|
-
* Copyright 2015-
|
|
326
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
310
327
|
*
|
|
311
328
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
312
329
|
* you may not use this file except in compliance with the License.
|
|
@@ -322,10 +339,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
322
339
|
*/
|
|
323
340
|
class DossierDetailService {
|
|
324
341
|
get selectedVersionNumber$() {
|
|
325
|
-
return this._selectedVersionNumber$.pipe(filter(version => typeof version === 'number')
|
|
342
|
+
return this._selectedVersionNumber$.pipe(filter(version => typeof version === 'number'));
|
|
343
|
+
}
|
|
344
|
+
get previousSelectedVersionNumber$() {
|
|
345
|
+
return this._previousSelectedVersionNumber$.asObservable();
|
|
326
346
|
}
|
|
327
347
|
get selectedDocumentDefinitionName$() {
|
|
328
|
-
return this._selectedDocumentDefinitionName$.pipe(filter(name => !!name)
|
|
348
|
+
return this._selectedDocumentDefinitionName$.pipe(filter(name => !!name));
|
|
329
349
|
}
|
|
330
350
|
get selectedDocumentDefinitionIsReadOnly$() {
|
|
331
351
|
return this.documentDefinition$.pipe(map(definition => definition.readOnly), distinctUntilChanged());
|
|
@@ -343,11 +363,12 @@ class DossierDetailService {
|
|
|
343
363
|
this.documentService = documentService;
|
|
344
364
|
this.pageTitleService = pageTitleService;
|
|
345
365
|
this._loadingDocumentDefinition$ = new BehaviorSubject(true);
|
|
366
|
+
this._previousSelectedVersionNumber$ = new BehaviorSubject(null);
|
|
346
367
|
this._selectedVersionNumber$ = new BehaviorSubject(null);
|
|
347
368
|
this._selectedDocumentDefinitionName$ = new BehaviorSubject('');
|
|
348
369
|
this._documentDefinition$ = new BehaviorSubject(null);
|
|
349
|
-
this._documentDefinitionModel$ = this.documentDefinition$.pipe(map(definition => ({
|
|
350
|
-
value: JSON.stringify(definition, null, 2),
|
|
370
|
+
this._documentDefinitionModel$ = this.documentDefinition$.pipe(map((definition) => ({
|
|
371
|
+
value: JSON.stringify(definition.schema, null, 2),
|
|
351
372
|
language: 'json',
|
|
352
373
|
})));
|
|
353
374
|
this._subscriptions = new Subscription();
|
|
@@ -359,6 +380,9 @@ class DossierDetailService {
|
|
|
359
380
|
setSelectedVersionNumber(versionNumber) {
|
|
360
381
|
this._selectedVersionNumber$.next(versionNumber);
|
|
361
382
|
}
|
|
383
|
+
setPreviousSelectedVersionNumber(versionNumber) {
|
|
384
|
+
this._previousSelectedVersionNumber$.next(versionNumber);
|
|
385
|
+
}
|
|
362
386
|
setSelectedDocumentDefinitionName(name) {
|
|
363
387
|
this._selectedDocumentDefinitionName$.next(name);
|
|
364
388
|
}
|
|
@@ -372,20 +396,20 @@ class DossierDetailService {
|
|
|
372
396
|
this.setLoadingDocumentDefinition(true);
|
|
373
397
|
}), switchMap(([selectedVersion, selectedDocumentDefinitionName]) => this.documentService.getDocumentDefinitionByVersion(selectedDocumentDefinitionName, selectedVersion)), tap$1(res => {
|
|
374
398
|
this._documentDefinition$.next(res);
|
|
375
|
-
this.pageTitleService.setCustomPageTitle(res?.schema?.title || '-');
|
|
399
|
+
this.pageTitleService.setCustomPageTitle(res?.schema?.title || '-', true);
|
|
376
400
|
this.setLoadingDocumentDefinition(false);
|
|
377
401
|
}))
|
|
378
402
|
.subscribe());
|
|
379
403
|
}
|
|
380
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
381
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
404
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierDetailService, deps: [{ token: i1.DocumentService }, { token: i5.PageTitleService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
405
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierDetailService }); }
|
|
382
406
|
}
|
|
383
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
407
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierDetailService, decorators: [{
|
|
384
408
|
type: Injectable
|
|
385
|
-
}], ctorParameters:
|
|
409
|
+
}], ctorParameters: () => [{ type: i1.DocumentService }, { type: i5.PageTitleService }] });
|
|
386
410
|
|
|
387
411
|
/*
|
|
388
|
-
* Copyright 2015-
|
|
412
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
389
413
|
*
|
|
390
414
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
391
415
|
* you may not use this file except in compliance with the License.
|
|
@@ -401,7 +425,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
401
425
|
*/
|
|
402
426
|
|
|
403
427
|
/*
|
|
404
|
-
* Copyright 2015-
|
|
428
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
405
429
|
*
|
|
406
430
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
407
431
|
* you may not use this file except in compliance with the License.
|
|
@@ -495,13 +519,13 @@ class DossierManagementConnectModalComponent {
|
|
|
495
519
|
},
|
|
496
520
|
});
|
|
497
521
|
}
|
|
498
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
499
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
522
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementConnectModalComponent, deps: [{ token: i1.DocumentService }, { token: DossierDetailService }, { token: i2$2.NotificationService }, { token: i4.ProcessService }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
523
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: DossierManagementConnectModalComponent, selector: "valtimo-dossier-management-connect-modal", outputs: { reloadProcessDocumentDefinitions: "reloadProcessDocumentDefinitions" }, providers: [NotificationService], viewQueries: [{ propertyName: "_modal", first: true, predicate: ["dossierConnectModal"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-modal\n #dossierConnectModal\n elementId=\"dossierConnectModal\"\n [title]=\"documentDefinition ? documentDefinition.schema.title : 'Document definition'\"\n subtitle=\"Connect document definition to process definition\"\n showFooter=\"true\"\n>\n <div body *ngIf=\"documentDefinition\">\n <p>\n {{ 'Select process definition for document definition' | translate }}\n <strong>{{ documentDefinition.id.name }} *</strong>\n </p>\n <div class=\"input-group mb-3 align-items-center\">\n <select class=\"form-control\" [(ngModel)]=\"newDocumentProcessDefinition\">\n <option [ngValue]=\"null\">{{ 'dossierManagement.selectProcessDef' | translate }}</option>\n <option\n *ngFor=\"let processDefinition of processDefinitions\"\n [disabled]=\"processDocumentDefinitionExists[processDefinition.key]\"\n [ngValue]=\"processDefinition\"\n >\n {{ processDefinition.name }} ({{ processDefinition.key }})\n </option>\n </select>\n </div>\n <p>\n {{ 'Select options for the selected process' | translate }}\n </p>\n <div class=\"input-group mb-3 align-items-center\">\n <label\n class=\"custom-control custom-checkbox custom-control-inline pl-6 mb-0\"\n placement=\"bottom\"\n ngbTooltip=\"{{ 'processCaseConnection.processCreatesCaseTooltip' | translate }}\"\n >\n <input\n class=\"custom-control-input\"\n type=\"checkbox\"\n [(ngModel)]=\"newDocumentProcessDefinitionInit\"\n /><span class=\"custom-control-label custom-control-color\">{{\n 'processCaseConnection.processCreatesCase' | translate\n }}</span>\n </label>\n <label\n class=\"custom-control custom-checkbox custom-control-inline ml-2 pl-6 mb-0\"\n placement=\"bottom\"\n ngbTooltip=\"{{ 'processCaseConnection.startableWithinCaseTooltip' | translate }}\"\n >\n <input\n class=\"custom-control-input\"\n type=\"checkbox\"\n [(ngModel)]=\"newDocumentProcessDefinitionStartableByUser\"\n /><span class=\"custom-control-label custom-control-color\">{{\n 'processCaseConnection.startableWithinCase' | translate\n }}</span>\n </label>\n </div>\n </div>\n <div footer>\n <button\n (click)=\"submit()\"\n class=\"btn btn-primary\"\n data-dismiss=\"modal\"\n [disabled]=\"!newDocumentProcessDefinition\"\n >\n {{ 'Save' | translate }}\n </button>\n </div>\n</valtimo-modal>\n", styles: ["/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$3.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$3.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.ModalComponent, selector: "valtimo-modal", inputs: ["elementId", "title", "subtitle", "templateBelowSubtitle", "showFooter"] }, { kind: "directive", type: i9.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "triggers", "container", "disableTooltip", "tooltipClass", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
|
|
500
524
|
}
|
|
501
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
525
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementConnectModalComponent, decorators: [{
|
|
502
526
|
type: Component,
|
|
503
|
-
args: [{ selector: 'valtimo-dossier-management-connect-modal', providers: [NotificationService], template: "<!--\n ~ Copyright 2015-
|
|
504
|
-
}], ctorParameters:
|
|
527
|
+
args: [{ selector: 'valtimo-dossier-management-connect-modal', providers: [NotificationService], template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-modal\n #dossierConnectModal\n elementId=\"dossierConnectModal\"\n [title]=\"documentDefinition ? documentDefinition.schema.title : 'Document definition'\"\n subtitle=\"Connect document definition to process definition\"\n showFooter=\"true\"\n>\n <div body *ngIf=\"documentDefinition\">\n <p>\n {{ 'Select process definition for document definition' | translate }}\n <strong>{{ documentDefinition.id.name }} *</strong>\n </p>\n <div class=\"input-group mb-3 align-items-center\">\n <select class=\"form-control\" [(ngModel)]=\"newDocumentProcessDefinition\">\n <option [ngValue]=\"null\">{{ 'dossierManagement.selectProcessDef' | translate }}</option>\n <option\n *ngFor=\"let processDefinition of processDefinitions\"\n [disabled]=\"processDocumentDefinitionExists[processDefinition.key]\"\n [ngValue]=\"processDefinition\"\n >\n {{ processDefinition.name }} ({{ processDefinition.key }})\n </option>\n </select>\n </div>\n <p>\n {{ 'Select options for the selected process' | translate }}\n </p>\n <div class=\"input-group mb-3 align-items-center\">\n <label\n class=\"custom-control custom-checkbox custom-control-inline pl-6 mb-0\"\n placement=\"bottom\"\n ngbTooltip=\"{{ 'processCaseConnection.processCreatesCaseTooltip' | translate }}\"\n >\n <input\n class=\"custom-control-input\"\n type=\"checkbox\"\n [(ngModel)]=\"newDocumentProcessDefinitionInit\"\n /><span class=\"custom-control-label custom-control-color\">{{\n 'processCaseConnection.processCreatesCase' | translate\n }}</span>\n </label>\n <label\n class=\"custom-control custom-checkbox custom-control-inline ml-2 pl-6 mb-0\"\n placement=\"bottom\"\n ngbTooltip=\"{{ 'processCaseConnection.startableWithinCaseTooltip' | translate }}\"\n >\n <input\n class=\"custom-control-input\"\n type=\"checkbox\"\n [(ngModel)]=\"newDocumentProcessDefinitionStartableByUser\"\n /><span class=\"custom-control-label custom-control-color\">{{\n 'processCaseConnection.startableWithinCase' | translate\n }}</span>\n </label>\n </div>\n </div>\n <div footer>\n <button\n (click)=\"submit()\"\n class=\"btn btn-primary\"\n data-dismiss=\"modal\"\n [disabled]=\"!newDocumentProcessDefinition\"\n >\n {{ 'Save' | translate }}\n </button>\n </div>\n</valtimo-modal>\n", styles: ["/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
528
|
+
}], ctorParameters: () => [{ type: i1.DocumentService }, { type: DossierDetailService }, { type: i2$2.NotificationService }, { type: i4.ProcessService }, { type: i3.TranslateService }], propDecorators: { _modal: [{
|
|
505
529
|
type: ViewChild,
|
|
506
530
|
args: ['dossierConnectModal']
|
|
507
531
|
}], reloadProcessDocumentDefinitions: [{
|
|
@@ -509,7 +533,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
509
533
|
}] } });
|
|
510
534
|
|
|
511
535
|
/*
|
|
512
|
-
* Copyright 2015-
|
|
536
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
513
537
|
*
|
|
514
538
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
515
539
|
* you may not use this file except in compliance with the License.
|
|
@@ -523,9 +547,44 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
523
547
|
* See the License for the specific language governing permissions and
|
|
524
548
|
* limitations under the License.
|
|
525
549
|
*/
|
|
550
|
+
class DossierManagementRemoveModalComponent {
|
|
551
|
+
constructor(documentService, toasterService, router, translateService, menuService) {
|
|
552
|
+
this.documentService = documentService;
|
|
553
|
+
this.toasterService = toasterService;
|
|
554
|
+
this.router = router;
|
|
555
|
+
this.translateService = translateService;
|
|
556
|
+
this.menuService = menuService;
|
|
557
|
+
this.documentDefinition = null;
|
|
558
|
+
this.errors = [];
|
|
559
|
+
}
|
|
560
|
+
openModal(documentDefinition) {
|
|
561
|
+
this.documentDefinition = documentDefinition;
|
|
562
|
+
this.modal.show();
|
|
563
|
+
}
|
|
564
|
+
removeDocumentDefinition() {
|
|
565
|
+
this.documentService
|
|
566
|
+
.removeDocumentDefinitionForManagement(this.documentDefinition.id.name)
|
|
567
|
+
.subscribe(() => {
|
|
568
|
+
this.menuService.reload();
|
|
569
|
+
this.router.navigate(['/dossier-management']);
|
|
570
|
+
this.toasterService.success(this.translateService.instant('remove-document-definition-success'));
|
|
571
|
+
}, (result) => {
|
|
572
|
+
this.errors = result.errors;
|
|
573
|
+
});
|
|
574
|
+
}
|
|
575
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementRemoveModalComponent, deps: [{ token: i1.DocumentService }, { token: i2$3.ToastrService }, { token: i2.Router }, { token: i3.TranslateService }, { token: i5.MenuService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
576
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: DossierManagementRemoveModalComponent, selector: "valtimo-dossier-management-remove-modal", viewQueries: [{ propertyName: "modal", first: true, predicate: ["documentDefinitionRemoveModal"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-modal\n #documentDefinitionRemoveModal\n elementId=\"documentDefinitionRemoveModal\"\n [title]=\"documentDefinition ? documentDefinition.schema.title : 'Document definition'\"\n subtitle=\"{{ 'Remove document definition' | translate }}\"\n showFooter=\"true\"\n>\n <div body *ngIf=\"documentDefinition\">\n <div class=\"alert alert-contrast alert-danger mt-2\" role=\"alert\">\n <div class=\"icon\"><span class=\"mdi mdi-alert-triangle\"></span></div>\n <div\n class=\"message\"\n [innerHTML]=\"'remove-document-definition-confirmation' | translate\"\n ></div>\n </div>\n <div *ngIf=\"errors.length > 0\" class=\"alert alert-danger pt-5 pb-5 mb-2\">\n <ol>\n <li *ngFor=\"let error of errors\">\n {{ error }}\n </li>\n </ol>\n </div>\n </div>\n <div footer>\n <button (click)=\"removeDocumentDefinition()\" class=\"btn btn-primary\" data-dismiss=\"modal\">\n {{ 'remove-document-definition-confirmation-button' | translate }}\n </button>\n </div>\n</valtimo-modal>\n", styles: ["/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.ModalComponent, selector: "valtimo-modal", inputs: ["elementId", "title", "subtitle", "templateBelowSubtitle", "showFooter"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
|
|
577
|
+
}
|
|
578
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementRemoveModalComponent, decorators: [{
|
|
579
|
+
type: Component,
|
|
580
|
+
args: [{ selector: 'valtimo-dossier-management-remove-modal', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-modal\n #documentDefinitionRemoveModal\n elementId=\"documentDefinitionRemoveModal\"\n [title]=\"documentDefinition ? documentDefinition.schema.title : 'Document definition'\"\n subtitle=\"{{ 'Remove document definition' | translate }}\"\n showFooter=\"true\"\n>\n <div body *ngIf=\"documentDefinition\">\n <div class=\"alert alert-contrast alert-danger mt-2\" role=\"alert\">\n <div class=\"icon\"><span class=\"mdi mdi-alert-triangle\"></span></div>\n <div\n class=\"message\"\n [innerHTML]=\"'remove-document-definition-confirmation' | translate\"\n ></div>\n </div>\n <div *ngIf=\"errors.length > 0\" class=\"alert alert-danger pt-5 pb-5 mb-2\">\n <ol>\n <li *ngFor=\"let error of errors\">\n {{ error }}\n </li>\n </ol>\n </div>\n </div>\n <div footer>\n <button (click)=\"removeDocumentDefinition()\" class=\"btn btn-primary\" data-dismiss=\"modal\">\n {{ 'remove-document-definition-confirmation-button' | translate }}\n </button>\n </div>\n</valtimo-modal>\n", styles: ["/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
581
|
+
}], ctorParameters: () => [{ type: i1.DocumentService }, { type: i2$3.ToastrService }, { type: i2.Router }, { type: i3.TranslateService }, { type: i5.MenuService }], propDecorators: { modal: [{
|
|
582
|
+
type: ViewChild,
|
|
583
|
+
args: ['documentDefinitionRemoveModal']
|
|
584
|
+
}] } });
|
|
526
585
|
|
|
527
586
|
/*
|
|
528
|
-
* Copyright 2015-
|
|
587
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
529
588
|
*
|
|
530
589
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
531
590
|
* you may not use this file except in compliance with the License.
|
|
@@ -539,9 +598,139 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
539
598
|
* See the License for the specific language governing permissions and
|
|
540
599
|
* limitations under the License.
|
|
541
600
|
*/
|
|
601
|
+
class DossierManagementDetailContainerActionsComponent {
|
|
602
|
+
set documentDefinitionName(value) {
|
|
603
|
+
this.dossierDetailService.setSelectedDocumentDefinitionName(value);
|
|
604
|
+
}
|
|
605
|
+
constructor(document, notificationService, dossierExportService, translateService, documentService, dossierDetailService, pageHeaderService) {
|
|
606
|
+
this.document = document;
|
|
607
|
+
this.notificationService = notificationService;
|
|
608
|
+
this.dossierExportService = dossierExportService;
|
|
609
|
+
this.translateService = translateService;
|
|
610
|
+
this.documentService = documentService;
|
|
611
|
+
this.dossierDetailService = dossierDetailService;
|
|
612
|
+
this.pageHeaderService = pageHeaderService;
|
|
613
|
+
this.documentDefinitionTitle = '';
|
|
614
|
+
this.versionSet = new EventEmitter();
|
|
615
|
+
this.CARBON_THEME = 'g10';
|
|
616
|
+
this.exporting$ = new BehaviorSubject(false);
|
|
617
|
+
this.selectedVersionNumber$ = this.dossierDetailService.selectedVersionNumber$;
|
|
618
|
+
this._previousSelectedVersionNumber$ = this.dossierDetailService.previousSelectedVersionNumber$;
|
|
619
|
+
this._documentDefinitionName$ = this.dossierDetailService.selectedDocumentDefinitionName$;
|
|
620
|
+
this.loadingVersion$ = new BehaviorSubject(true);
|
|
621
|
+
this._documentDefinitionVersions$ = this._documentDefinitionName$.pipe(switchMap(documentDefinitionName => this.documentService.getDocumentDefinitionVersions(documentDefinitionName)), tap$1(res => {
|
|
622
|
+
this.dossierDetailService.setSelectedVersionNumber(this.findLargestInArray(res.versions));
|
|
623
|
+
this.loadingVersion$.next(false);
|
|
624
|
+
}));
|
|
625
|
+
this.versionListItems$ = combineLatest([
|
|
626
|
+
this._documentDefinitionVersions$,
|
|
627
|
+
this.selectedVersionNumber$,
|
|
628
|
+
this._previousSelectedVersionNumber$,
|
|
629
|
+
this.translateService.stream('key'),
|
|
630
|
+
]).pipe(map(([versionsRes, selectVersionNumber, previousVersionNumber]) => versionsRes?.versions?.map(version => ({
|
|
631
|
+
content: `${this.translateService.instant('dossierManagement.version')}${version}`,
|
|
632
|
+
selected: selectVersionNumber === version || previousVersionNumber === version,
|
|
633
|
+
id: `${version}`,
|
|
634
|
+
})) || []));
|
|
635
|
+
this.selectedDocumentDefinition$ = this.dossierDetailService.documentDefinition$;
|
|
636
|
+
this.selectedDocumentDefinitionIsReadOnly$ = this.dossierDetailService.selectedDocumentDefinitionIsReadOnly$;
|
|
637
|
+
this.compactMode$ = this.pageHeaderService.compactMode$;
|
|
638
|
+
}
|
|
639
|
+
export() {
|
|
640
|
+
this.closeCurrentNotification();
|
|
641
|
+
this._currentNotification = this.notificationService.showNotification({
|
|
642
|
+
type: 'info',
|
|
643
|
+
title: '',
|
|
644
|
+
showClose: false,
|
|
645
|
+
template: this._exportMessageTemplateRef,
|
|
646
|
+
});
|
|
647
|
+
let selectedVersionNumber;
|
|
648
|
+
this.startExporting();
|
|
649
|
+
combineLatest([this.selectedVersionNumber$, this._documentDefinitionName$])
|
|
650
|
+
.pipe(take$1(1), tap$1(([selectedVersion]) => (selectedVersionNumber = selectedVersion)), switchMap(([selectedVersion, documentDefinitionName]) => this.dossierExportService.exportDocumentDefinition(documentDefinitionName, selectedVersion)))
|
|
651
|
+
.subscribe({
|
|
652
|
+
next: response => {
|
|
653
|
+
this.closeCurrentNotification();
|
|
654
|
+
this._currentNotification = this.notificationService.showNotification({
|
|
655
|
+
type: 'success',
|
|
656
|
+
title: this.translateService.instant('dossierManagement.exportSuccessTitle'),
|
|
657
|
+
duration: 5000,
|
|
658
|
+
});
|
|
659
|
+
this.downloadZip(response, selectedVersionNumber);
|
|
660
|
+
this.stopExporting();
|
|
661
|
+
},
|
|
662
|
+
error: () => {
|
|
663
|
+
this.closeCurrentNotification();
|
|
664
|
+
this._currentNotification = this.notificationService.showNotification({
|
|
665
|
+
type: 'error',
|
|
666
|
+
title: this.translateService.instant('dossierManagement.exportErrorTitle'),
|
|
667
|
+
message: this.translateService.instant('dossierManagement.exportErrorMessage'),
|
|
668
|
+
duration: 5000,
|
|
669
|
+
});
|
|
670
|
+
this.stopExporting();
|
|
671
|
+
},
|
|
672
|
+
});
|
|
673
|
+
}
|
|
674
|
+
setVersion(version) {
|
|
675
|
+
this.versionSet.emit(Number(version.item.id));
|
|
676
|
+
}
|
|
677
|
+
openDossierRemoveModal() {
|
|
678
|
+
this.selectedDocumentDefinition$.pipe(take$1(1)).subscribe(definition => {
|
|
679
|
+
this._dossierRemoveModal.openModal(definition);
|
|
680
|
+
});
|
|
681
|
+
}
|
|
682
|
+
startExporting() {
|
|
683
|
+
this.exporting$.next(true);
|
|
684
|
+
}
|
|
685
|
+
stopExporting() {
|
|
686
|
+
this.exporting$.next(false);
|
|
687
|
+
}
|
|
688
|
+
downloadZip(response, versionNumber) {
|
|
689
|
+
const link = document.createElement('a');
|
|
690
|
+
const contentDisposition = response.headers.get('content-disposition');
|
|
691
|
+
const splitContentDisposition = contentDisposition.split('filename=');
|
|
692
|
+
const fileName = splitContentDisposition.length > 1 && splitContentDisposition[1];
|
|
693
|
+
link.href = this.document.defaultView.URL.createObjectURL(response.body);
|
|
694
|
+
link.download = fileName || `${this.documentDefinitionName}_${versionNumber}.valtimo.zip`;
|
|
695
|
+
link.target = '_blank';
|
|
696
|
+
link.click();
|
|
697
|
+
link.remove();
|
|
698
|
+
}
|
|
699
|
+
closeCurrentNotification() {
|
|
700
|
+
if (this._currentNotification) {
|
|
701
|
+
this.notificationService.close(this._currentNotification);
|
|
702
|
+
}
|
|
703
|
+
}
|
|
704
|
+
findLargestInArray(array) {
|
|
705
|
+
return array.reduce(function (a, b) {
|
|
706
|
+
return a > b ? a : b;
|
|
707
|
+
});
|
|
708
|
+
}
|
|
709
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementDetailContainerActionsComponent, deps: [{ token: DOCUMENT }, { token: i2$2.NotificationService }, { token: DossierExportService }, { token: i3.TranslateService }, { token: i1.DocumentService }, { token: DossierDetailService }, { token: i5.PageHeaderService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
710
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: DossierManagementDetailContainerActionsComponent, selector: "valtimo-dossier-management-detail-container-actions", inputs: { documentDefinitionTitle: "documentDefinitionTitle", documentDefinitionName: "documentDefinitionName" }, outputs: { versionSet: "versionSet" }, providers: [NotificationService], viewQueries: [{ propertyName: "_exportMessageTemplateRef", first: true, predicate: ["exportingMessage"], descendants: true }, { propertyName: "_dossierRemoveModal", first: true, predicate: ["dossierRemoveModal"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n class=\"dossier-actions\"\n *ngIf=\"{\n exporting: exporting$ | async,\n loadingVersion: loadingVersion$ | async,\n versionListItems: versionListItems$ | async,\n selectedDocumentDefinition: selectedDocumentDefinition$ | async,\n selectedDocumentDefinitionIsReadOnly: selectedDocumentDefinitionIsReadOnly$ | async,\n compactMode: compactMode$ | async\n } as obs\"\n [ngClass]=\"{'--compact': obs.compactMode}\"\n>\n <div class=\"dossier-metadata\">\n <ng-container *ngTemplateOutlet=\"versionSelection; context: {obs: obs}\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"readOnly; context: {obs: obs}\"></ng-container>\n </div>\n\n <ng-container *ngTemplateOutlet=\"exportMenu; context: {obs: obs}\"></ng-container>\n</div>\n\n<ng-template #versionSelection let-obs=\"obs\">\n <cds-dropdown\n class=\"version-selection\"\n [disabled]=\"obs.loadingVersion || (obs.versionListItems.length || []) === 1\"\n [skeleton]=\"obs.loadingVersion\"\n (selected)=\"setVersion($event)\"\n [size]=\"obs.compactMode ? 'sm' : 'md'\"\n >\n <cds-dropdown-list [items]=\"obs.versionListItems || []\"></cds-dropdown-list>\n </cds-dropdown>\n</ng-template>\n\n<ng-template #exportMenu let-obs=\"obs\">\n <cds-overflow-menu\n valtimoCdsOverflowButton\n [width]=\"250\"\n [customTrigger]=\"customTrigger\"\n [offset]=\"{y: 48, x: 37}\"\n class=\"overflow-button\"\n >\n <cds-overflow-menu-option\n [id]=\"'exportDocumentDefinition'\"\n [disabled]=\"obs.exporting || obs.loadingVersion\"\n (selected)=\"export()\"\n >{{\n 'dossierManagement.export' | translate: {value: documentDefinitionTitle}\n }}</cds-overflow-menu-option\n >\n\n <cds-overflow-menu-option\n *ngIf=\"obs.selectedDocumentDefinition && !obs.selectedDocumentDefinition.readOnly\"\n [id]=\"'removeDocumentDefinition'\"\n [disabled]=\"obs.exporting || obs.loadingVersion\"\n (selected)=\"openDossierRemoveModal()\"\n >{{ 'Remove document definition' | translate }}</cds-overflow-menu-option\n >\n </cds-overflow-menu>\n</ng-template>\n\n<ng-template #customTrigger>\n <button cdsButton=\"tertiary\" [size]=\"(compactMode$ | async) ? 'sm' : 'md'\">\n {{ 'dossierManagement.more' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"overflow-menu--vertical\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<ng-template #exportingMessage>\n <div class=\"exporting-message\">\n <span class=\"cds--inline-notification__title\">{{\n 'dossierManagement.preparingDownload' | translate\n }}</span>\n\n <cds-loading size=\"sm\"></cds-loading>\n </div>\n</ng-template>\n\n<ng-template #readOnly let-obs=\"obs\">\n <cds-tag *ngIf=\"obs.selectedDocumentDefinitionIsReadOnly\" type=\"blue\">{{\n 'dossierManagement.readonly' | translate\n }}</cds-tag>\n</ng-template>\n\n<valtimo-dossier-management-remove-modal\n #dossierRemoveModal\n></valtimo-dossier-management-remove-modal>\n", styles: [".dossier-actions{display:flex;width:100%;justify-content:space-between;align-items:flex-end}.dossier-actions.--compact{align-items:center}.dossier-actions ::ng-deep .version-selection{width:160px}.dossier-actions ::ng-deep .version-selection .cds--list-box__selection{display:none}.exporting-message{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px}.dossier-metadata{display:flex;gap:24px;align-items:flex-end}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i2$2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i2$2.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i2$2.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "component", type: i2$2.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "component", type: i2$2.OverflowMenu, selector: "cds-overflow-menu, ibm-overflow-menu", inputs: ["buttonLabel", "flip", "placement", "open", "customTrigger", "offset", "wrapperClass", "triggerClass"], outputs: ["openChange"] }, { kind: "component", type: i2$2.OverflowMenuOption, selector: "cds-overflow-menu-option, ibm-overflow-menu-option", inputs: ["divider", "type", "disabled", "href", "target", "innerClass"], outputs: ["selected"] }, { kind: "directive", type: i5.ValtimoCdsOverflowButtonDirective, selector: "[valtimoCdsOverflowButton]", inputs: ["width"] }, { kind: "component", type: i2$2.Tag, selector: "cds-tag, ibm-tag", inputs: ["type", "size", "class"] }, { kind: "component", type: DossierManagementRemoveModalComponent, selector: "valtimo-dossier-management-remove-modal" }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
711
|
+
}
|
|
712
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementDetailContainerActionsComponent, decorators: [{
|
|
713
|
+
type: Component,
|
|
714
|
+
args: [{ selector: 'valtimo-dossier-management-detail-container-actions', changeDetection: ChangeDetectionStrategy.OnPush, providers: [NotificationService], template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n class=\"dossier-actions\"\n *ngIf=\"{\n exporting: exporting$ | async,\n loadingVersion: loadingVersion$ | async,\n versionListItems: versionListItems$ | async,\n selectedDocumentDefinition: selectedDocumentDefinition$ | async,\n selectedDocumentDefinitionIsReadOnly: selectedDocumentDefinitionIsReadOnly$ | async,\n compactMode: compactMode$ | async\n } as obs\"\n [ngClass]=\"{'--compact': obs.compactMode}\"\n>\n <div class=\"dossier-metadata\">\n <ng-container *ngTemplateOutlet=\"versionSelection; context: {obs: obs}\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"readOnly; context: {obs: obs}\"></ng-container>\n </div>\n\n <ng-container *ngTemplateOutlet=\"exportMenu; context: {obs: obs}\"></ng-container>\n</div>\n\n<ng-template #versionSelection let-obs=\"obs\">\n <cds-dropdown\n class=\"version-selection\"\n [disabled]=\"obs.loadingVersion || (obs.versionListItems.length || []) === 1\"\n [skeleton]=\"obs.loadingVersion\"\n (selected)=\"setVersion($event)\"\n [size]=\"obs.compactMode ? 'sm' : 'md'\"\n >\n <cds-dropdown-list [items]=\"obs.versionListItems || []\"></cds-dropdown-list>\n </cds-dropdown>\n</ng-template>\n\n<ng-template #exportMenu let-obs=\"obs\">\n <cds-overflow-menu\n valtimoCdsOverflowButton\n [width]=\"250\"\n [customTrigger]=\"customTrigger\"\n [offset]=\"{y: 48, x: 37}\"\n class=\"overflow-button\"\n >\n <cds-overflow-menu-option\n [id]=\"'exportDocumentDefinition'\"\n [disabled]=\"obs.exporting || obs.loadingVersion\"\n (selected)=\"export()\"\n >{{\n 'dossierManagement.export' | translate: {value: documentDefinitionTitle}\n }}</cds-overflow-menu-option\n >\n\n <cds-overflow-menu-option\n *ngIf=\"obs.selectedDocumentDefinition && !obs.selectedDocumentDefinition.readOnly\"\n [id]=\"'removeDocumentDefinition'\"\n [disabled]=\"obs.exporting || obs.loadingVersion\"\n (selected)=\"openDossierRemoveModal()\"\n >{{ 'Remove document definition' | translate }}</cds-overflow-menu-option\n >\n </cds-overflow-menu>\n</ng-template>\n\n<ng-template #customTrigger>\n <button cdsButton=\"tertiary\" [size]=\"(compactMode$ | async) ? 'sm' : 'md'\">\n {{ 'dossierManagement.more' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"overflow-menu--vertical\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<ng-template #exportingMessage>\n <div class=\"exporting-message\">\n <span class=\"cds--inline-notification__title\">{{\n 'dossierManagement.preparingDownload' | translate\n }}</span>\n\n <cds-loading size=\"sm\"></cds-loading>\n </div>\n</ng-template>\n\n<ng-template #readOnly let-obs=\"obs\">\n <cds-tag *ngIf=\"obs.selectedDocumentDefinitionIsReadOnly\" type=\"blue\">{{\n 'dossierManagement.readonly' | translate\n }}</cds-tag>\n</ng-template>\n\n<valtimo-dossier-management-remove-modal\n #dossierRemoveModal\n></valtimo-dossier-management-remove-modal>\n", styles: [".dossier-actions{display:flex;width:100%;justify-content:space-between;align-items:flex-end}.dossier-actions.--compact{align-items:center}.dossier-actions ::ng-deep .version-selection{width:160px}.dossier-actions ::ng-deep .version-selection .cds--list-box__selection{display:none}.exporting-message{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px}.dossier-metadata{display:flex;gap:24px;align-items:flex-end}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
715
|
+
}], ctorParameters: () => [{ type: Document, decorators: [{
|
|
716
|
+
type: Inject,
|
|
717
|
+
args: [DOCUMENT]
|
|
718
|
+
}] }, { type: i2$2.NotificationService }, { type: DossierExportService }, { type: i3.TranslateService }, { type: i1.DocumentService }, { type: DossierDetailService }, { type: i5.PageHeaderService }], propDecorators: { _exportMessageTemplateRef: [{
|
|
719
|
+
type: ViewChild,
|
|
720
|
+
args: ['exportingMessage']
|
|
721
|
+
}], _dossierRemoveModal: [{
|
|
722
|
+
type: ViewChild,
|
|
723
|
+
args: ['dossierRemoveModal']
|
|
724
|
+
}], documentDefinitionTitle: [{
|
|
725
|
+
type: Input
|
|
726
|
+
}], documentDefinitionName: [{
|
|
727
|
+
type: Input
|
|
728
|
+
}], versionSet: [{
|
|
729
|
+
type: Output
|
|
730
|
+
}] } });
|
|
542
731
|
|
|
543
732
|
/*
|
|
544
|
-
* Copyright 2015-
|
|
733
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
545
734
|
*
|
|
546
735
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
547
736
|
* you may not use this file except in compliance with the License.
|
|
@@ -555,66 +744,176 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
555
744
|
* See the License for the specific language governing permissions and
|
|
556
745
|
* limitations under the License.
|
|
557
746
|
*/
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
747
|
+
|
|
748
|
+
/*
|
|
749
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
750
|
+
*
|
|
751
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
752
|
+
* you may not use this file except in compliance with the License.
|
|
753
|
+
* You may obtain a copy of the License at
|
|
754
|
+
*
|
|
755
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
756
|
+
*
|
|
757
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
758
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
759
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
760
|
+
* See the License for the specific language governing permissions and
|
|
761
|
+
* limitations under the License.
|
|
762
|
+
*/
|
|
763
|
+
|
|
764
|
+
/*
|
|
765
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
766
|
+
*
|
|
767
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
768
|
+
* you may not use this file except in compliance with the License.
|
|
769
|
+
* You may obtain a copy of the License at
|
|
770
|
+
*
|
|
771
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
772
|
+
*
|
|
773
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
774
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
775
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
776
|
+
* See the License for the specific language governing permissions and
|
|
777
|
+
* limitations under the License.
|
|
778
|
+
*/
|
|
779
|
+
|
|
780
|
+
/*
|
|
781
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
782
|
+
*
|
|
783
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
784
|
+
* you may not use this file except in compliance with the License.
|
|
785
|
+
* You may obtain a copy of the License at
|
|
786
|
+
*
|
|
787
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
788
|
+
*
|
|
789
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
790
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
791
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
792
|
+
* See the License for the specific language governing permissions and
|
|
793
|
+
* limitations under the License.
|
|
794
|
+
*/
|
|
795
|
+
class DossierManagementDocumentDefinitionComponent {
|
|
796
|
+
constructor(documentService, dossierDetailService, iconService, pageHeaderService) {
|
|
563
797
|
this.documentService = documentService;
|
|
564
|
-
this.
|
|
565
|
-
this.
|
|
566
|
-
this.
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
this.
|
|
570
|
-
this.
|
|
571
|
-
this.
|
|
798
|
+
this.dossierDetailService = dossierDetailService;
|
|
799
|
+
this.iconService = iconService;
|
|
800
|
+
this.pageHeaderService = pageHeaderService;
|
|
801
|
+
this.cancelRedirect = new EventEmitter();
|
|
802
|
+
this.confirmRedirect = new EventEmitter();
|
|
803
|
+
this.pendingChangesUpdate = new EventEmitter();
|
|
804
|
+
this.loadingDocumentDefinition$ = this.dossierDetailService.loadingDocumentDefinition$;
|
|
805
|
+
this._refreshEditor$ = new BehaviorSubject(null);
|
|
806
|
+
this.documentDefinitionModel$ = this._refreshEditor$.pipe(switchMap$1(() => this.dossierDetailService.documentDefinitionModel$));
|
|
807
|
+
this._pendingChanges$ = new BehaviorSubject(false);
|
|
808
|
+
this.pendingChanges$ = this._pendingChanges$.pipe(tap((pendingChanges) => {
|
|
809
|
+
this.pendingChangesUpdate.emit(pendingChanges);
|
|
810
|
+
}));
|
|
811
|
+
this.editActive$ = new BehaviorSubject(false);
|
|
812
|
+
this.showSaveConfirmation$ = new BehaviorSubject(false);
|
|
813
|
+
this.showCancelConfirmation$ = new BehaviorSubject(false);
|
|
814
|
+
this.selectedDocumentDefinition$ = this.dossierDetailService.documentDefinition$.pipe(tap((documentDefinition) => (this._initialId = documentDefinition.schema.$id)));
|
|
815
|
+
this._changeIsValid$ = new BehaviorSubject(false);
|
|
816
|
+
this._idChanged$ = new BehaviorSubject(false);
|
|
817
|
+
this.saveButtonDisabled$ = combineLatest([
|
|
818
|
+
this.pendingChanges$,
|
|
819
|
+
this._changeIsValid$,
|
|
820
|
+
this._idChanged$,
|
|
821
|
+
]).pipe(map$1(([pendingChanges, changeIsValid, idChanged]) => !pendingChanges || !changeIsValid || idChanged));
|
|
822
|
+
this.compactMode$ = this.pageHeaderService.compactMode$;
|
|
823
|
+
this.iconService.registerAll([Edit16, Save16]);
|
|
572
824
|
}
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
825
|
+
downloadDefinition() {
|
|
826
|
+
this.selectedDocumentDefinition$.pipe(take$1(1)).subscribe(definition => {
|
|
827
|
+
const dataString = 'data:text/json;charset=utf-8,' +
|
|
828
|
+
encodeURIComponent(JSON.stringify(definition.schema, null, 2));
|
|
829
|
+
const downloadAnchorElement = document.getElementById('downloadAnchorElement');
|
|
830
|
+
if (!downloadAnchorElement) {
|
|
831
|
+
return;
|
|
832
|
+
}
|
|
833
|
+
downloadAnchorElement.setAttribute('href', dataString);
|
|
834
|
+
downloadAnchorElement.setAttribute('download', `${definition.id.name}-v${definition.id.version}.json`);
|
|
835
|
+
downloadAnchorElement.click();
|
|
836
|
+
});
|
|
577
837
|
}
|
|
578
|
-
|
|
579
|
-
this.
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
this.disabled$.next(true);
|
|
583
|
-
this.documentService
|
|
584
|
-
.updateLinkedUploadProcess(this.documentDefinitionName, processDefinitionKey)
|
|
585
|
-
.subscribe(processLink => {
|
|
586
|
-
this.selectionId$.next(processLink.processDefinitionKey);
|
|
587
|
-
this.disabled$.next(false);
|
|
588
|
-
});
|
|
589
|
-
}
|
|
590
|
-
else if (!processDefinitionKey) {
|
|
591
|
-
this.documentService.deleteLinkedUploadProcess(this.documentDefinitionName).subscribe(() => {
|
|
592
|
-
this.disabled$.next(false);
|
|
593
|
-
});
|
|
594
|
-
}
|
|
838
|
+
discardChanges() {
|
|
839
|
+
this.showCancelConfirmation$.next(false);
|
|
840
|
+
this.confirmRedirect.emit();
|
|
841
|
+
this.resetEditorState();
|
|
595
842
|
}
|
|
596
|
-
|
|
597
|
-
this.
|
|
843
|
+
keepEditingDefinition() {
|
|
844
|
+
this.cancelRedirect.emit();
|
|
845
|
+
this.showSaveConfirmation$.next(false);
|
|
846
|
+
this.showCancelConfirmation$.next(false);
|
|
598
847
|
}
|
|
599
|
-
|
|
848
|
+
onCancelClick(pendingChanges) {
|
|
849
|
+
if (pendingChanges) {
|
|
850
|
+
this.showCancelConfirmation$.next(true);
|
|
851
|
+
return;
|
|
852
|
+
}
|
|
853
|
+
this.resetEditorState();
|
|
854
|
+
}
|
|
855
|
+
saveDefinition() {
|
|
856
|
+
this.showSaveConfirmation$.next(false);
|
|
857
|
+
this.editActive$.next(false);
|
|
858
|
+
const newDocumentDefinition = new DocumentDefinitionCreateRequest(JSON.stringify(this._changesToSave));
|
|
600
859
|
this.documentService
|
|
601
|
-
.
|
|
602
|
-
.
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
860
|
+
.createDocumentDefinitionForManagement(newDocumentDefinition)
|
|
861
|
+
.pipe(take$1(1))
|
|
862
|
+
.subscribe({
|
|
863
|
+
next: () => {
|
|
864
|
+
this.dossierDetailService.setSelectedDocumentDefinitionName(this.documentDefinitionName);
|
|
865
|
+
this.confirmRedirect.emit();
|
|
866
|
+
this._pendingChanges$.next(false);
|
|
867
|
+
},
|
|
868
|
+
error: () => {
|
|
869
|
+
this.cancelRedirect.emit();
|
|
870
|
+
},
|
|
606
871
|
});
|
|
607
872
|
}
|
|
608
|
-
|
|
609
|
-
|
|
873
|
+
onEditClick() {
|
|
874
|
+
this.editActive$.next(true);
|
|
875
|
+
}
|
|
876
|
+
onSaveClick() {
|
|
877
|
+
this.showSaveConfirmation$.next(true);
|
|
878
|
+
}
|
|
879
|
+
onValueChangeEvent(value) {
|
|
880
|
+
this._pendingChanges$.next(true);
|
|
881
|
+
this._changesToSave = JSON.parse(value);
|
|
882
|
+
const id = this._changesToSave.$id;
|
|
883
|
+
this._idChanged$.next(this._initialId !== id);
|
|
884
|
+
}
|
|
885
|
+
onValidEvent(valid) {
|
|
886
|
+
this._changeIsValid$.next(valid);
|
|
887
|
+
}
|
|
888
|
+
onCanDeactivate() {
|
|
889
|
+
this.showCancelConfirmation$.next(true);
|
|
890
|
+
}
|
|
891
|
+
resetEditorState() {
|
|
892
|
+
this._refreshEditor$.next(null);
|
|
893
|
+
this.editActive$.next(false);
|
|
894
|
+
this._pendingChanges$.next(false);
|
|
895
|
+
}
|
|
896
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementDocumentDefinitionComponent, deps: [{ token: i1.DocumentService }, { token: DossierDetailService }, { token: i2$2.IconService }, { token: i5.PageHeaderService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
897
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: DossierManagementDocumentDefinitionComponent, selector: "valtimo-dossier-management-document-definition", inputs: { documentDefinitionName: "documentDefinitionName" }, outputs: { cancelRedirect: "cancelRedirect", confirmRedirect: "confirmRedirect", pendingChangesUpdate: "pendingChangesUpdate" }, viewQueries: [{ propertyName: "cancelModal", first: true, predicate: ["cancelModal"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n documentDefinitionModel: documentDefinitionModel$ | async,\n editActive: editActive$ | async,\n loadingDocumentDefinition: loadingDocumentDefinition$ | async,\n pendingChanges: pendingChanges$ | async,\n saveButtonDisabled: saveButtonDisabled$ | async,\n selectedDocumentDefinition: selectedDocumentDefinition$ | async,\n compactMode: compactMode$ | async\n } as obs\"\n>\n <div class=\"cds--toolbar-content\">\n <ng-container *ngIf=\"!obs.editActive; else editActive\">\n <button\n cdsButton=\"ghost\"\n (click)=\"downloadDefinition()\"\n [disabled]=\"obs.loadingDocumentDefinition || !obs.selectedDocumentDefinition\"\n >\n {{ 'interface.download' | translate }}\n\n <svg cdsIcon=\"download\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n\n <button\n cdsButton=\"primary\"\n [disabled]=\"obs.selectedDocumentDefinition?.readOnly\"\n (click)=\"onEditClick()\"\n >\n {{ 'interface.edit' | translate }}\n\n <svg cdsIcon=\"edit\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n </ng-container>\n </div>\n\n <valtimo-editor\n *ngIf=\"!obs.loadingDocumentDefinition; else loading\"\n [model]=\"obs.documentDefinitionModel\"\n [disabled]=\"!obs.editActive\"\n (validEvent)=\"onValidEvent($event)\"\n (valueChangeEvent)=\"onValueChangeEvent($event)\"\n [fitPage]=\"true\"\n [fitPageExtraSpace]=\"96\"\n >\n </valtimo-editor>\n\n <a id=\"downloadAnchorElement\" style=\"display: none\"></a>\n\n <ng-template #editActive>\n <button cdsButton=\"secondary\" (click)=\"onCancelClick(obs.pendingChanges)\">\n {{ 'interface.cancel' | translate }}\n\n <svg cdsIcon=\"close\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n\n <button cdsButton=\"primary\" [disabled]=\"obs.saveButtonDisabled\" (click)=\"onSaveClick()\">\n {{ 'interface.save' | translate }}\n\n <svg cdsIcon=\"save\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n </ng-template>\n\n <valtimo-confirmation-modal\n [showModalSubject$]=\"showSaveConfirmation$\"\n cancelButtonTextTranslationKey=\"interface.cancel\"\n confirmButtonTextTranslationKey=\"interface.save\"\n contentTranslationKey=\"dossierManagement.documentDefinition.saveModalContent\"\n titleTranslationKey=\"interface.save\"\n (cancelEvent)=\"keepEditing()\"\n (confirmEvent)=\"saveDefinition()\"\n ></valtimo-confirmation-modal>\n\n <valtimo-confirmation-modal\n #cancelModal\n [showModalSubject$]=\"showCancelConfirmation$\"\n cancelButtonTextTranslationKey=\"dossierManagement.documentDefinition.cancelModal.keepEditing\"\n cancelButtonType=\"ghost\"\n confirmButtonTextTranslationKey=\"interface.discard\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"dossierManagement.documentDefinition.cancelModal.content\"\n optionalButtonTextTranslationKey=\"interface.save\"\n optionalButtonType=\"secondary\"\n titleTranslationKey=\"dossierManagement.documentDefinition.cancelModal.title\"\n showOptionalButton=\"true\"\n spacerAfterCancelButton=\"true\"\n (cancelEvent)=\"keepEditingDefinition()\"\n (confirmEvent)=\"discardChanges()\"\n (optionalEvent)=\"saveDefinition()\"\n ></valtimo-confirmation-modal>\n</ng-container>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n", styles: [".loading-container{display:flex;width:100%;justify-content:center;padding-top:16px;padding-bottom:16px}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i2$2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i2$2.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "component", type: i5.ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: ["titleTranslationKey", "title", "content", "contentTranslationKey", "confirmButtonText", "confirmButtonTextTranslationKey", "confirmButtonType", "showOptionalButton", "optionalButtonText", "optionalButtonTextTranslationKey", "optionalButtonType", "cancelButtonText", "cancelButtonTextTranslationKey", "cancelButtonType", "showModalSubject$", "outputOnConfirm", "outputOnOptional", "spacerAfterCancelButton"], outputs: ["confirmEvent", "optionalEvent", "cancelEvent"] }, { kind: "component", type: i5.EditorComponent, selector: "valtimo-editor", inputs: ["editorOptions", "model", "disabled", "formatOnLoad", "widthPx", "heightPx", "heightStyle", "jsonSchema", "fitPage", "fitPageExtraSpace"], outputs: ["validEvent", "valueChangeEvent"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
610
898
|
}
|
|
611
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
899
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementDocumentDefinitionComponent, decorators: [{
|
|
612
900
|
type: Component,
|
|
613
|
-
args: [{ selector: 'valtimo-dossier-management-
|
|
614
|
-
}], ctorParameters:
|
|
901
|
+
args: [{ selector: 'valtimo-dossier-management-document-definition', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n documentDefinitionModel: documentDefinitionModel$ | async,\n editActive: editActive$ | async,\n loadingDocumentDefinition: loadingDocumentDefinition$ | async,\n pendingChanges: pendingChanges$ | async,\n saveButtonDisabled: saveButtonDisabled$ | async,\n selectedDocumentDefinition: selectedDocumentDefinition$ | async,\n compactMode: compactMode$ | async\n } as obs\"\n>\n <div class=\"cds--toolbar-content\">\n <ng-container *ngIf=\"!obs.editActive; else editActive\">\n <button\n cdsButton=\"ghost\"\n (click)=\"downloadDefinition()\"\n [disabled]=\"obs.loadingDocumentDefinition || !obs.selectedDocumentDefinition\"\n >\n {{ 'interface.download' | translate }}\n\n <svg cdsIcon=\"download\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n\n <button\n cdsButton=\"primary\"\n [disabled]=\"obs.selectedDocumentDefinition?.readOnly\"\n (click)=\"onEditClick()\"\n >\n {{ 'interface.edit' | translate }}\n\n <svg cdsIcon=\"edit\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n </ng-container>\n </div>\n\n <valtimo-editor\n *ngIf=\"!obs.loadingDocumentDefinition; else loading\"\n [model]=\"obs.documentDefinitionModel\"\n [disabled]=\"!obs.editActive\"\n (validEvent)=\"onValidEvent($event)\"\n (valueChangeEvent)=\"onValueChangeEvent($event)\"\n [fitPage]=\"true\"\n [fitPageExtraSpace]=\"96\"\n >\n </valtimo-editor>\n\n <a id=\"downloadAnchorElement\" style=\"display: none\"></a>\n\n <ng-template #editActive>\n <button cdsButton=\"secondary\" (click)=\"onCancelClick(obs.pendingChanges)\">\n {{ 'interface.cancel' | translate }}\n\n <svg cdsIcon=\"close\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n\n <button cdsButton=\"primary\" [disabled]=\"obs.saveButtonDisabled\" (click)=\"onSaveClick()\">\n {{ 'interface.save' | translate }}\n\n <svg cdsIcon=\"save\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n </ng-template>\n\n <valtimo-confirmation-modal\n [showModalSubject$]=\"showSaveConfirmation$\"\n cancelButtonTextTranslationKey=\"interface.cancel\"\n confirmButtonTextTranslationKey=\"interface.save\"\n contentTranslationKey=\"dossierManagement.documentDefinition.saveModalContent\"\n titleTranslationKey=\"interface.save\"\n (cancelEvent)=\"keepEditing()\"\n (confirmEvent)=\"saveDefinition()\"\n ></valtimo-confirmation-modal>\n\n <valtimo-confirmation-modal\n #cancelModal\n [showModalSubject$]=\"showCancelConfirmation$\"\n cancelButtonTextTranslationKey=\"dossierManagement.documentDefinition.cancelModal.keepEditing\"\n cancelButtonType=\"ghost\"\n confirmButtonTextTranslationKey=\"interface.discard\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"dossierManagement.documentDefinition.cancelModal.content\"\n optionalButtonTextTranslationKey=\"interface.save\"\n optionalButtonType=\"secondary\"\n titleTranslationKey=\"dossierManagement.documentDefinition.cancelModal.title\"\n showOptionalButton=\"true\"\n spacerAfterCancelButton=\"true\"\n (cancelEvent)=\"keepEditingDefinition()\"\n (confirmEvent)=\"discardChanges()\"\n (optionalEvent)=\"saveDefinition()\"\n ></valtimo-confirmation-modal>\n</ng-container>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n", styles: [".loading-container{display:flex;width:100%;justify-content:center;padding-top:16px;padding-bottom:16px}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
902
|
+
}], ctorParameters: () => [{ type: i1.DocumentService }, { type: DossierDetailService }, { type: i2$2.IconService }, { type: i5.PageHeaderService }], propDecorators: { cancelModal: [{
|
|
903
|
+
type: ViewChild,
|
|
904
|
+
args: ['cancelModal']
|
|
905
|
+
}], documentDefinitionName: [{
|
|
906
|
+
type: Input
|
|
907
|
+
}], cancelRedirect: [{
|
|
908
|
+
type: Output
|
|
909
|
+
}], confirmRedirect: [{
|
|
910
|
+
type: Output
|
|
911
|
+
}], pendingChangesUpdate: [{
|
|
912
|
+
type: Output
|
|
913
|
+
}] } });
|
|
615
914
|
|
|
616
915
|
/*
|
|
617
|
-
* Copyright 2015-
|
|
916
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
618
917
|
*
|
|
619
918
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
620
919
|
* you may not use this file except in compliance with the License.
|
|
@@ -629,21 +928,44 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
629
928
|
* limitations under the License.
|
|
630
929
|
*/
|
|
631
930
|
class DossierManagementDetailComponent {
|
|
632
|
-
constructor(documentService, route) {
|
|
931
|
+
constructor(documentService, route, zgwCaseConfigurationExtensionComponents, cdr) {
|
|
633
932
|
this.documentService = documentService;
|
|
634
933
|
this.route = route;
|
|
934
|
+
this.zgwCaseConfigurationExtensionComponents = zgwCaseConfigurationExtensionComponents;
|
|
935
|
+
this.cdr = cdr;
|
|
635
936
|
this.documentDefinition$ = this.route.paramMap.pipe(switchMap((params) => this.documentService.getDocumentDefinitionForManagement(params.get('name') ?? '')));
|
|
636
937
|
}
|
|
637
|
-
|
|
638
|
-
|
|
938
|
+
ngAfterViewInit() {
|
|
939
|
+
this.renderExtensions();
|
|
940
|
+
}
|
|
941
|
+
renderExtensions() {
|
|
942
|
+
if (!Array.isArray(this.zgwCaseConfigurationExtensionComponents) ||
|
|
943
|
+
this.zgwCaseConfigurationExtensionComponents.length === 0) {
|
|
944
|
+
return;
|
|
945
|
+
}
|
|
946
|
+
this.zgwCaseConfigurationExtensionComponents.forEach(extensionComponent => {
|
|
947
|
+
this._extensions.createComponent(extensionComponent);
|
|
948
|
+
});
|
|
949
|
+
this.cdr.detectChanges();
|
|
950
|
+
}
|
|
951
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementDetailComponent, deps: [{ token: i1.DocumentService }, { token: i2.ActivatedRoute }, { token: ZGW_CASE_CONFIGURATION_EXTENSIONS_TOKEN, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
952
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: DossierManagementDetailComponent, selector: "valtimo-dossier-management-detail", viewQueries: [{ propertyName: "_extensions", first: true, predicate: ["extensions"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"col-12 px-0 mb-5\">\n <valtimo-widget>\n <div class=\"row pt-4 mb-5 pb-4 pl-2 pr-2\">\n <div class=\"col-10 offset-1\">\n <ng-template #extensions></ng-template>\n\n <valtimo-dossier-management-assignee\n *ngIf=\"documentDefinition$ | async\"\n ></valtimo-dossier-management-assignee>\n </div>\n </div>\n </valtimo-widget>\n</div>\n", styles: [".row{margin:0}.dossier-schema{resize:none}valtimo-widget::ng-deep .card-border.card-full-default{background:transparent;border:none}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.WidgetComponent, selector: "valtimo-widget", inputs: ["type", "name", "icon", "contrast", "divider", "title", "subtitle", "collapseAble", "collapse", "additionalClasses"] }, { kind: "component", type: DossierManagementAssigneeComponent, selector: "valtimo-dossier-management-assignee" }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }] }); }
|
|
639
953
|
}
|
|
640
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
954
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementDetailComponent, decorators: [{
|
|
641
955
|
type: Component,
|
|
642
|
-
args: [{ selector: 'valtimo-dossier-management-detail', template: "<!--\n ~ Copyright 2015-
|
|
643
|
-
}], ctorParameters:
|
|
956
|
+
args: [{ selector: 'valtimo-dossier-management-detail', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"col-12 px-0 mb-5\">\n <valtimo-widget>\n <div class=\"row pt-4 mb-5 pb-4 pl-2 pr-2\">\n <div class=\"col-10 offset-1\">\n <ng-template #extensions></ng-template>\n\n <valtimo-dossier-management-assignee\n *ngIf=\"documentDefinition$ | async\"\n ></valtimo-dossier-management-assignee>\n </div>\n </div>\n </valtimo-widget>\n</div>\n", styles: [".row{margin:0}.dossier-schema{resize:none}valtimo-widget::ng-deep .card-border.card-full-default{background:transparent;border:none}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
957
|
+
}], ctorParameters: () => [{ type: i1.DocumentService }, { type: i2.ActivatedRoute }, { type: undefined, decorators: [{
|
|
958
|
+
type: Optional
|
|
959
|
+
}, {
|
|
960
|
+
type: Inject,
|
|
961
|
+
args: [ZGW_CASE_CONFIGURATION_EXTENSIONS_TOKEN]
|
|
962
|
+
}] }, { type: i0.ChangeDetectorRef }], propDecorators: { _extensions: [{
|
|
963
|
+
type: ViewChild,
|
|
964
|
+
args: ['extensions', { read: ViewContainerRef }]
|
|
965
|
+
}] } });
|
|
644
966
|
|
|
645
967
|
/*
|
|
646
|
-
* Copyright 2015-
|
|
968
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
647
969
|
*
|
|
648
970
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
649
971
|
* you may not use this file except in compliance with the License.
|
|
@@ -669,12 +991,21 @@ class DossierManagementSearchFieldsComponent {
|
|
|
669
991
|
this.downloadUrl$ = new BehaviorSubject(undefined);
|
|
670
992
|
this.disableInput$ = new BehaviorSubject(false);
|
|
671
993
|
this.selectedSearchField$ = new BehaviorSubject(undefined);
|
|
994
|
+
this.selectedDeleteSearchField$ = new BehaviorSubject(undefined);
|
|
672
995
|
this.formData$ = new BehaviorSubject(null);
|
|
673
996
|
this.valid$ = new BehaviorSubject(false);
|
|
997
|
+
this.showFields$ = new BehaviorSubject(false);
|
|
998
|
+
this.modalShowing$ = new BehaviorSubject(false);
|
|
999
|
+
this.showDeleteModal$ = new BehaviorSubject(false);
|
|
674
1000
|
this._subscriptions = new Subscription();
|
|
675
1001
|
this.actionItems = [
|
|
676
1002
|
{
|
|
677
|
-
|
|
1003
|
+
label: 'interface.edit',
|
|
1004
|
+
callback: this.showEditModal.bind(this),
|
|
1005
|
+
type: 'normal',
|
|
1006
|
+
},
|
|
1007
|
+
{
|
|
1008
|
+
callback: this.showDeleteModal.bind(this),
|
|
678
1009
|
label: 'interface.delete',
|
|
679
1010
|
type: 'danger',
|
|
680
1011
|
},
|
|
@@ -728,7 +1059,9 @@ class DossierManagementSearchFieldsComponent {
|
|
|
728
1059
|
'datetime',
|
|
729
1060
|
'boolean',
|
|
730
1061
|
];
|
|
731
|
-
this.dataTypeItems$ = this.translateService
|
|
1062
|
+
this.dataTypeItems$ = this.translateService
|
|
1063
|
+
.stream('key')
|
|
1064
|
+
.pipe(map(() => this.DATA_TYPES.map(dataType => ({
|
|
732
1065
|
id: dataType,
|
|
733
1066
|
text: this.translateService.instant(`searchFields.${dataType}`),
|
|
734
1067
|
}))));
|
|
@@ -773,14 +1106,13 @@ class DossierManagementSearchFieldsComponent {
|
|
|
773
1106
|
}))));
|
|
774
1107
|
this.documentDefinitionName$ = this.route.params.pipe(map(params => params.name || ''), filter(docDefName => !!docDefName), tap$1((documentDefinitionName) => (this._documentDefinitionName = documentDefinitionName)));
|
|
775
1108
|
this.loadingSearchFields = true;
|
|
776
|
-
this.showSearchFieldsForm = false;
|
|
777
1109
|
this.refreshSearchFields$ = new BehaviorSubject(null);
|
|
778
1110
|
this.searchFields$ = combineLatest([
|
|
779
1111
|
this.documentDefinitionName$,
|
|
780
1112
|
this.refreshSearchFields$,
|
|
781
1113
|
]).pipe(switchMap(([documentDefinitionName]) => this.documentService.getDocumentSearchFields(documentDefinitionName)), tap$1(searchFields => {
|
|
782
1114
|
this.documentDefinitionName$.pipe(take(1)).subscribe(documentDefinitionName => {
|
|
783
|
-
if (searchFields && Array.isArray(searchFields) && searchFields
|
|
1115
|
+
if (searchFields && Array.isArray(searchFields) && searchFields?.length > 0) {
|
|
784
1116
|
this.setDownload(documentDefinitionName, searchFields);
|
|
785
1117
|
}
|
|
786
1118
|
});
|
|
@@ -848,6 +1180,7 @@ class DossierManagementSearchFieldsComponent {
|
|
|
848
1180
|
fieldTypeIsDropdown &&
|
|
849
1181
|
!!formData?.dropdownDataProvider &&
|
|
850
1182
|
this.dropdownDataProviderSupportsUpdates(formData?.dropdownDataProvider)));
|
|
1183
|
+
this.CARBON_THEME = 'white';
|
|
851
1184
|
this.iconService.registerAll([ArrowDown16, ArrowUp16]);
|
|
852
1185
|
}
|
|
853
1186
|
ngOnInit() {
|
|
@@ -864,7 +1197,8 @@ class DossierManagementSearchFieldsComponent {
|
|
|
864
1197
|
if (!inputDisabled) {
|
|
865
1198
|
this.searchFieldActionTypeIsAdd = searchFieldActionTypeIsAdd;
|
|
866
1199
|
const searchFieldToSelect = this.cachedSearchFields.find(field => field.key === searchField.key);
|
|
867
|
-
this.selectedSearchField$.next(searchFieldToSelect);
|
|
1200
|
+
this.selectedSearchField$.next(searchFieldToSelect || {});
|
|
1201
|
+
this.showModal();
|
|
868
1202
|
}
|
|
869
1203
|
});
|
|
870
1204
|
}
|
|
@@ -888,21 +1222,21 @@ class DossierManagementSearchFieldsComponent {
|
|
|
888
1222
|
const searchFieldIndex = searchFields.findIndex(field => field.key === searchFieldRow.key);
|
|
889
1223
|
const foundSearchField = { ...searchFields[searchFieldIndex] };
|
|
890
1224
|
const filteredSearchFields = searchFields.filter(field => field.key !== searchFieldRow.key);
|
|
891
|
-
const multipleSearchFields = searchFields
|
|
1225
|
+
const multipleSearchFields = searchFields?.length > 1;
|
|
892
1226
|
if (multipleSearchFields && moveUp && searchFieldIndex > 0) {
|
|
893
1227
|
const searchFieldBeforeKey = `${searchFields[searchFieldIndex - 1].key}`;
|
|
894
1228
|
const searchFieldBeforeIndex = filteredSearchFields.findIndex(field => field.key === searchFieldBeforeKey);
|
|
895
1229
|
filteredSearchFields.splice(searchFieldBeforeIndex, 0, foundSearchField);
|
|
896
1230
|
this.updateSearchFields(documentDefinitionName, filteredSearchFields);
|
|
897
1231
|
}
|
|
898
|
-
else if (multipleSearchFields && !moveUp && searchFieldIndex < searchFields
|
|
1232
|
+
else if (multipleSearchFields && !moveUp && searchFieldIndex < searchFields?.length) {
|
|
899
1233
|
const searchFieldAfterKey = `${searchFields[searchFieldIndex + 1].key}`;
|
|
900
1234
|
const searchFieldAfterIndex = filteredSearchFields.findIndex(field => field.key === searchFieldAfterKey);
|
|
901
1235
|
filteredSearchFields.splice(searchFieldAfterIndex + 1, 0, foundSearchField);
|
|
902
1236
|
this.updateSearchFields(documentDefinitionName, filteredSearchFields);
|
|
903
1237
|
}
|
|
904
1238
|
}
|
|
905
|
-
|
|
1239
|
+
onDeleteSelectedSearchFieldConfirm(selectedSearchField) {
|
|
906
1240
|
this.disableInput();
|
|
907
1241
|
if (this.dropdownDataProviderSupportsUpdates(selectedSearchField?.dropdownDataProvider)) {
|
|
908
1242
|
this.documentService
|
|
@@ -978,6 +1312,9 @@ class DossierManagementSearchFieldsComponent {
|
|
|
978
1312
|
this.enableInput();
|
|
979
1313
|
});
|
|
980
1314
|
}
|
|
1315
|
+
onModalClose() {
|
|
1316
|
+
this.hideModal();
|
|
1317
|
+
}
|
|
981
1318
|
nextIfChanged(behaviourSubject$, value) {
|
|
982
1319
|
if (JSON.stringify(behaviourSubject$.value) !== JSON.stringify(value)) {
|
|
983
1320
|
behaviourSubject$.next(value);
|
|
@@ -992,7 +1329,8 @@ class DossierManagementSearchFieldsComponent {
|
|
|
992
1329
|
data.dataType &&
|
|
993
1330
|
validMatchType &&
|
|
994
1331
|
validDropdownDataProvider &&
|
|
995
|
-
data.path
|
|
1332
|
+
data.path &&
|
|
1333
|
+
data.fieldType);
|
|
996
1334
|
const keyIsUnique = !this.searchFieldActionTypeIsAdd ||
|
|
997
1335
|
this.cachedSearchFields.findIndex(field => field.key === data.key) === -1;
|
|
998
1336
|
return containsAllValues && keyIsUnique;
|
|
@@ -1004,21 +1342,22 @@ class DossierManagementSearchFieldsComponent {
|
|
|
1004
1342
|
return dropdownDataProvider === 'dropdownDatabaseDataProvider';
|
|
1005
1343
|
}
|
|
1006
1344
|
openSelectedSearchFieldSubscription() {
|
|
1007
|
-
this._subscriptions.add(this.selectedSearchField$.subscribe(
|
|
1008
|
-
|
|
1345
|
+
this._subscriptions.add(this.selectedSearchField$.subscribe(selectedSearchField => {
|
|
1346
|
+
if (selectedSearchField)
|
|
1347
|
+
this.showModal();
|
|
1009
1348
|
}));
|
|
1010
1349
|
}
|
|
1011
1350
|
openModalShowingSubscription() {
|
|
1012
|
-
this._subscriptions.add(this.
|
|
1351
|
+
this._subscriptions.add(this.modalShowing$.subscribe(modalShowing => {
|
|
1013
1352
|
if (modalShowing) {
|
|
1014
1353
|
setTimeout(() => {
|
|
1015
|
-
this.
|
|
1354
|
+
this.showFields$.next(true);
|
|
1016
1355
|
}, 0);
|
|
1017
1356
|
}
|
|
1018
1357
|
else {
|
|
1019
1358
|
setTimeout(() => {
|
|
1020
|
-
this.
|
|
1021
|
-
},
|
|
1359
|
+
this.showFields$.next(false);
|
|
1360
|
+
}, CARBON_CONSTANTS.modalAnimationMs);
|
|
1022
1361
|
}
|
|
1023
1362
|
}));
|
|
1024
1363
|
}
|
|
@@ -1034,29 +1373,33 @@ class DossierManagementSearchFieldsComponent {
|
|
|
1034
1373
|
this.disableInput$.next(false);
|
|
1035
1374
|
}
|
|
1036
1375
|
showModal() {
|
|
1037
|
-
this.
|
|
1376
|
+
this.modalShowing$.next(true);
|
|
1038
1377
|
}
|
|
1039
1378
|
hideModal() {
|
|
1040
|
-
this.
|
|
1379
|
+
this.modalShowing$.next(false);
|
|
1041
1380
|
}
|
|
1042
1381
|
refreshSearchFields() {
|
|
1043
1382
|
this.refreshSearchFields$.next(null);
|
|
1044
1383
|
}
|
|
1045
|
-
|
|
1046
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DossierManagementSearchFieldsComponent, selector: "valtimo-dossier-management-search-fields", outputs: { searchField: "searchField" }, viewQueries: [{ propertyName: "modal", first: true, predicate: ["searchFieldModal"], 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 searchFields: translatedSearchFields$ | async,\n downloadUrl: downloadUrl$ | async,\n downloadName: downloadName$ | async,\n documentDefinitionName: documentDefinitionName$ | async,\n valid: valid$ | async,\n disableInput: disableInput$ | async\n } as obs\"\n>\n <ng-container *ngTemplateOutlet=\"list; context: {obs: obs}\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"modal; context: {obs: obs}\"></ng-container>\n</ng-container>\n\n<ng-template #buttons let-obs=\"obs\">\n <div class=\"dossier-management-search-fields__buttons\">\n <a\n cdsLink\n class=\"center-link\"\n [disabled]=\"\n !obs.downloadUrl || !obs.downloadName || obs.searchFields.length <= 0 || obs.disableInput\n \"\n [download]=\"obs.downloadName\"\n [href]=\"obs.downloadUrl\"\n >\n {{ 'searchFields.downloadButtonText' | translate }}\n </a>\n\n <button\n cdsButton=\"primary\"\n [disabled]=\"loadingSearchFields || obs.disableInput\"\n (click)=\"searchFieldClicked($event, true)\"\n >\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n\n {{ 'searchFieldsOverview.addRow' | translate }}\n </button>\n </div>\n</ng-template>\n\n<ng-template #list let-obs=\"obs\">\n <valtimo-carbon-list\n [actionItems]=\"actionItems\"\n [fields]=\"fields\"\n [header]=\"false\"\n [items]=\"obs.searchFields\"\n [loading]=\"!obs.searchFields\"\n [movingRowsEnabled]=\"true\"\n (rowClicked)=\"searchFieldClicked($event, false)\"\n (moveRow)=\"onMoveRowClick($event, obs.documentDefinitionName)\"\n >\n <ng-container\n carbonToolbarContent\n *ngTemplateOutlet=\"buttons; context: {obs: obs}\"\n ></ng-container>\n </valtimo-carbon-list>\n</ng-template>\n\n<ng-template #modal let-obs=\"obs\">\n <valtimo-modal\n #searchFieldModal\n elementId=\"searchFieldModal\"\n [title]=\"\n searchFieldActionTypeIsAdd\n ? ('searchFieldsOverview.addRow' | translate)\n : ('searchFieldsOverview.edit' | translate)\n \"\n [showFooter]=\"true\"\n >\n <div body class=\"mt-2\">\n <v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"showSearchFieldsForm && {searchField: selectedSearchField$ | async} as searchObs\"\n >\n <v-input\n name=\"title\"\n [title]=\"'searchFieldsOverview.title' | translate\"\n [margin]=\"true\"\n [defaultValue]=\"searchObs.searchField?.title\"\n [disabled]=\"obs.disableInput\"\n [required]=\"false\"\n [fullWidth]=\"true\"\n [tooltip]=\"'searchFieldsOverviewTooltips.title' | translate\"\n >\n </v-input>\n <v-input\n name=\"key\"\n [title]=\"'searchFieldsOverview.key' | translate\"\n [margin]=\"true\"\n [defaultValue]=\"searchObs.searchField?.key\"\n [disabled]=\"obs.disableInput || !searchFieldActionTypeIsAdd\"\n [required]=\"true\"\n [widthPx]=\"200\"\n [tooltip]=\"'searchFieldsOverviewTooltips.key' | translate\"\n >\n </v-input>\n <v-input\n name=\"path\"\n [title]=\"'searchFieldsOverview.path' | translate\"\n [margin]=\"true\"\n [defaultValue]=\"searchObs.searchField?.path\"\n [disabled]=\"obs.disableInput\"\n [required]=\"true\"\n [fullWidth]=\"true\"\n [tooltip]=\"'searchFieldsOverviewTooltips.path' | translate\"\n >\n </v-input>\n <v-select\n *ngIf=\"dataTypeItems$ | async as dataTypeItems\"\n [items]=\"dataTypeItems\"\n [placeholder]=\"'searchFieldsOverview.searchFieldPlaceholder' | translate\"\n [title]=\"'searchFieldsOverview.dataType' | translate\"\n [disabled]=\"obs.disableInput\"\n [margin]=\"true\"\n [required]=\"true\"\n name=\"dataType\"\n [defaultSelectionId]=\"searchObs.searchField?.dataType\"\n [widthInPx]=\"200\"\n [tooltip]=\"'searchFieldsOverviewTooltips.dataType' | translate\"\n ></v-select>\n <v-select\n *ngIf=\"(showMatchTypes$ | async) && (matchTypeItems$ | async) as matchTypeItems\"\n [items]=\"matchTypeItems\"\n [placeholder]=\"'searchFieldsOverview.searchFieldPlaceholder' | translate\"\n [title]=\"'searchFieldsOverview.matchType' | translate\"\n [disabled]=\"obs.disableInput\"\n [margin]=\"true\"\n [required]=\"true\"\n name=\"matchType\"\n [defaultSelectionId]=\"searchObs.searchField?.matchType\"\n [widthInPx]=\"200\"\n [tooltip]=\"'searchFieldsOverviewTooltips.matchType' | translate\"\n ></v-select>\n <v-select\n *ngIf=\"fieldTypeItems$ | async as fieldTypeItems\"\n [items]=\"fieldTypeItems\"\n [placeholder]=\"'searchFieldsOverview.searchFieldPlaceholder' | translate\"\n [title]=\"'searchFieldsOverview.fieldType' | translate\"\n [disabled]=\"obs.disableInput\"\n [margin]=\"true\"\n [required]=\"true\"\n name=\"fieldType\"\n [defaultSelectionId]=\"searchObs.searchField?.fieldType\"\n [widthInPx]=\"200\"\n [tooltip]=\"'searchFieldsOverviewTooltips.fieldType' | translate\"\n ></v-select>\n <v-select\n *ngIf=\"\n (fieldTypeIsDropdown$ | async) &&\n (dropdownDataProviderNames$ | async) as dropdownDataProviderNames\n \"\n [items]=\"dropdownDataProviderNames\"\n [placeholder]=\"'searchFieldsOverview.searchFieldPlaceholder' | translate\"\n [title]=\"'searchFieldsOverview.dropdownDataProvider' | translate\"\n [disabled]=\"obs.disableInput\"\n [margin]=\"true\"\n [required]=\"false\"\n name=\"dropdownDataProvider\"\n [defaultSelectionId]=\"searchObs.searchField?.dropdownDataProvider\"\n [widthInPx]=\"200\"\n [tooltip]=\"'searchFieldsOverviewTooltips.dropdownDataProvider' | translate\"\n ></v-select>\n <valtimo-carbon-multi-input\n *ngIf=\"\n (showInputDropdownTable$ | async) &&\n (initialDropdownValues$ | async) as initialDropdownValues\n \"\n name=\"dropdownValues\"\n [title]=\"'searchFieldsOverview.dropdownListValues' | translate\"\n type=\"keyValue\"\n [disabled]=\"obs.disableInput\"\n [defaultValues]=\"initialDropdownValues\"\n [margin]=\"true\"\n [required]=\"false\"\n [tooltip]=\"'searchFieldsOverviewTooltips.dropdownListValues' | translate\"\n (valueChange)=\"dropdownDatalistChange($event)\"\n >\n </valtimo-carbon-multi-input>\n <v-table\n *ngIf=\"\n (showReadonlyDropdownTable$ | async) &&\n (initialDropdownValues$ | async) as initialDropdownValues\n \"\n [items]=\"initialDropdownValues\"\n [columns]=\"dropdownColumns$ | async\"\n [showEditButtons]=\"false\"\n [itemsTranslationKey]=\"'searchFieldsOverview'\"\n [showPagination]=\"false\"\n [mobileBreakpointPx]=\"200\"\n ></v-table>\n </v-form>\n </div>\n <div footer>\n <div class=\"col-12 p-0\">\n <ng-container *ngTemplateOutlet=\"buttonsFooterModal; context: {obs: obs}\"></ng-container>\n </div>\n </div>\n </valtimo-modal>\n</ng-template>\n\n<ng-template #buttonsFooterModal let-obs=\"obs\">\n <div class=\"buttons-container\" *ngIf=\"{searchField: selectedSearchField$ | async} as searchObs\">\n <div class=\"right-buttons\">\n <button\n class=\"btn btn-space btn-secondary\"\n *ngIf=\"!searchFieldActionTypeIsAdd\"\n [disabled]=\"obs.disableInput\"\n (click)=\"deleteSelectedSearchField(searchObs.searchField)\"\n >\n {{ 'searchFieldsOverview.delete' | translate }}\n </button>\n <button\n (click)=\"saveSearchField(obs.documentDefinitionName)\"\n type=\"button\"\n class=\"btn btn-primary btn-space mr-0\"\n [disabled]=\"obs.disableInput || !obs.valid\"\n >\n {{ 'searchFieldsOverview.submit' | translate }}\n </button>\n </div>\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 */valtimo-list::ng-deep table{border-top:1px solid rgba(0,0,0,.125)}.dossier-management-search-fields__buttons{display:flex;gap:16px}.dossier-management-search-fields__buttons .center-link{display:flex;align-items:center}.dossier-management-search-fields__move-buttons{width:100%;justify-content:flex-end;display:flex;flex-direction:row;position:relative}.dossier-management-search-fields__move-buttons button:not(:last-child){margin-right:8px}.list-actions{width:1px}.modal-header::ng-deep{background-color:#f3f4f7}::ng-deep .tab-container{min-height:unset!important}::ng-deep .cds--tab-content{padding-top:0!important}\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i7.ModalComponent, selector: "valtimo-modal", inputs: ["elementId", "title", "subtitle", "templateBelowSubtitle", "showFooter"] }, { kind: "component", type: i7.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: i7.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: i7.FormComponent, selector: "v-form", inputs: ["className"], outputs: ["valueChange"] }, { 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: i7.CarbonMultiInputComponent, selector: "valtimo-carbon-multi-input", inputs: ["name", "title", "titleTranslationKey", "type", "initialAmountOfRows", "minimumAmountOfRows", "maxRows", "addRowText", "addRowTranslationKey", "deleteRowText", "deleteRowTranslationKey", "disabled", "defaultValues", "margin", "tooltip", "required", "keyColumnTitle", "valueColumnTitle", "dropdownColumnTitle", "hideDeleteButton", "hideAddButton", "dropdownItems", "dropdownWidth", "fullWidth"], outputs: ["valueChange", "allValuesValidEvent"] }, { kind: "directive", type: i4.Link, selector: "[cdsLink], [ibmLink]", inputs: ["inline", "disabled"] }, { kind: "component", type: i7.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: i7.CarbonListComponent, selector: "valtimo-carbon-list", inputs: ["items", "fields", "tableTranslations", "paginatorConfig", "pagination", "loading", "actions", "actionItems", "header", "hideColumnHeader", "initialSortState", "isSearchable", "enableSingleSelection", "lastColumnTemplate", "paginationIdentifier", "showSelectionColumn", "striped", "hideToolbar", "lockedTooltipTranslationKey", "movingRowsEnabled"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged", "moveRow"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
|
|
1384
|
+
showDeleteModal(searchField) {
|
|
1385
|
+
this.selectedDeleteSearchField$.next(searchField);
|
|
1386
|
+
this.showDeleteModal$.next(true);
|
|
1387
|
+
}
|
|
1388
|
+
showEditModal(searchField) {
|
|
1389
|
+
this.searchFieldClicked(searchField, false);
|
|
1390
|
+
}
|
|
1391
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementSearchFieldsComponent, deps: [{ token: i1.DocumentService }, { token: i2.ActivatedRoute }, { token: i3.TranslateService }, { token: i4$1.DomSanitizer }, { token: i2$2.IconService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1392
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: DossierManagementSearchFieldsComponent, selector: "valtimo-dossier-management-search-fields", outputs: { searchField: "searchField" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n searchFields: translatedSearchFields$ | async,\n downloadUrl: downloadUrl$ | async,\n downloadName: downloadName$ | async,\n documentDefinitionName: documentDefinitionName$ | async,\n valid: valid$ | async,\n disableInput: disableInput$ | async\n } as obs\"\n>\n <ng-container *ngTemplateOutlet=\"list; context: {obs: obs}\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"modal; context: {obs: obs}\"></ng-container>\n</ng-container>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"dossierManagement.statuses.deleteText\"\n [outputOnConfirm]=\"selectedDeleteSearchField$ | async\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"interface.delete\"\n (confirmEvent)=\"onDeleteSelectedSearchFieldConfirm($event)\"\n></valtimo-confirmation-modal>\n\n<ng-template #buttons let-obs=\"obs\">\n <button\n cdsButton=\"ghost\"\n iconOnly=\"true\"\n [disabled]=\"\n !obs.downloadUrl || !obs.downloadName || obs.searchFields?.length <= 0 || obs.disableInput\n \"\n [download]=\"obs.downloadName\"\n [href]=\"obs.downloadUrl\"\n >\n <svg class=\"cds--btn__icon\" cdsIcon=\"download\" size=\"16\"></svg>\n </button>\n\n <button\n cdsButton=\"primary\"\n [disabled]=\"loadingSearchFields || obs.disableInput\"\n (click)=\"searchFieldClicked($event, true)\"\n >\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n\n {{ 'searchFieldsOverview.addRow' | translate }}\n </button>\n</ng-template>\n\n<ng-template #list let-obs=\"obs\">\n <valtimo-carbon-list\n [actionItems]=\"actionItems\"\n [fields]=\"fields\"\n [header]=\"false\"\n [items]=\"obs.searchFields\"\n [loading]=\"!obs.searchFields\"\n [movingRowsEnabled]=\"true\"\n (rowClicked)=\"searchFieldClicked($event, false)\"\n (moveRow)=\"onMoveRowClick($event, obs.documentDefinitionName)\"\n >\n <ng-container\n carbonToolbarContent\n *ngTemplateOutlet=\"buttons; context: {obs: obs}\"\n ></ng-container>\n\n <valtimo-no-results\n [title]=\"'searchFieldsOverview.noSearchfieldsTitle' | translate\"\n [description]=\"'searchFieldsOverview.noSearchfieldsDescription' | translate\"\n ></valtimo-no-results>\n </valtimo-carbon-list>\n</ng-template>\n\n<ng-template #modal let-obs=\"obs\">\n <cds-modal\n valtimoCdsModal\n [title]=\"\n searchFieldActionTypeIsAdd\n ? ('searchFieldsOverview.addRow' | translate)\n : ('searchFieldsOverview.edit' | translate)\n \"\n [open]=\"modalShowing$ | async\"\n [showFooter]=\"true\"\n >\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onModalClose()\">\n <h3 cdsModalHeaderHeading>\n {{\n (searchFieldActionTypeIsAdd ? 'searchFieldsOverview.addRow' : 'searchFieldsOverview.edit')\n | translate\n }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent>\n <v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"\n (showFields$ | async) && {\n searchField: selectedSearchField$ | async\n } as searchObs\n \"\n >\n <v-input\n name=\"title\"\n [title]=\"'searchFieldsOverview.title' | translate\"\n [margin]=\"true\"\n [defaultValue]=\"searchObs.searchField?.title\"\n [disabled]=\"obs.disableInput\"\n [required]=\"false\"\n [fullWidth]=\"true\"\n [tooltip]=\"'searchFieldsOverviewTooltips.title' | translate\"\n [carbonTheme]=\"CARBON_THEME\"\n >\n </v-input>\n\n <v-input\n name=\"key\"\n [title]=\"'searchFieldsOverview.key' | translate\"\n [margin]=\"true\"\n [defaultValue]=\"searchObs.searchField?.key\"\n [disabled]=\"obs.disableInput || !searchFieldActionTypeIsAdd\"\n [required]=\"true\"\n [widthPx]=\"200\"\n [tooltip]=\"'searchFieldsOverviewTooltips.key' | translate\"\n [carbonTheme]=\"CARBON_THEME\"\n >\n </v-input>\n\n <v-input\n name=\"path\"\n [title]=\"'searchFieldsOverview.path' | translate\"\n [margin]=\"true\"\n [defaultValue]=\"searchObs.searchField?.path\"\n [disabled]=\"obs.disableInput\"\n [required]=\"true\"\n [fullWidth]=\"true\"\n [tooltip]=\"'searchFieldsOverviewTooltips.path' | translate\"\n [carbonTheme]=\"CARBON_THEME\"\n >\n </v-input>\n\n <v-select\n *ngIf=\"dataTypeItems$ | async as dataTypeItems\"\n [appendInline]=\"true\"\n [dropUp]=\"false\"\n [items]=\"dataTypeItems\"\n [placeholder]=\"'searchFieldsOverview.searchFieldPlaceholder' | translate\"\n [title]=\"'searchFieldsOverview.dataType' | translate\"\n [disabled]=\"obs.disableInput\"\n [margin]=\"true\"\n [required]=\"true\"\n name=\"dataType\"\n [defaultSelectionId]=\"searchObs.searchField?.dataType\"\n [widthInPx]=\"200\"\n [tooltip]=\"'searchFieldsOverviewTooltips.dataType' | translate\"\n [carbonTheme]=\"CARBON_THEME\"\n ></v-select>\n\n <v-select\n *ngIf=\"(showMatchTypes$ | async) && (matchTypeItems$ | async) as matchTypeItems\"\n [appendInline]=\"true\"\n [dropUp]=\"false\"\n [items]=\"matchTypeItems\"\n [placeholder]=\"'searchFieldsOverview.searchFieldPlaceholder' | translate\"\n [title]=\"'searchFieldsOverview.matchType' | translate\"\n [disabled]=\"obs.disableInput\"\n [margin]=\"true\"\n [required]=\"true\"\n name=\"matchType\"\n [defaultSelectionId]=\"searchObs.searchField?.matchType\"\n [widthInPx]=\"200\"\n [tooltip]=\"'searchFieldsOverviewTooltips.matchType' | translate\"\n [carbonTheme]=\"CARBON_THEME\"\n ></v-select>\n\n <v-select\n *ngIf=\"fieldTypeItems$ | async as fieldTypeItems\"\n [appendInline]=\"true\"\n [dropUp]=\"false\"\n [items]=\"fieldTypeItems\"\n [placeholder]=\"'searchFieldsOverview.searchFieldPlaceholder' | translate\"\n [title]=\"'searchFieldsOverview.fieldType' | translate\"\n [disabled]=\"obs.disableInput\"\n [margin]=\"true\"\n [required]=\"true\"\n name=\"fieldType\"\n [defaultSelectionId]=\"searchObs.searchField?.fieldType\"\n [widthInPx]=\"200\"\n [tooltip]=\"'searchFieldsOverviewTooltips.fieldType' | translate\"\n [carbonTheme]=\"CARBON_THEME\"\n ></v-select>\n\n <v-select\n *ngIf=\"\n (fieldTypeIsDropdown$ | async) &&\n (dropdownDataProviderNames$ | async) as dropdownDataProviderNames\n \"\n [appendInline]=\"true\"\n [dropUp]=\"false\"\n [items]=\"dropdownDataProviderNames\"\n [placeholder]=\"'searchFieldsOverview.searchFieldPlaceholder' | translate\"\n [title]=\"'searchFieldsOverview.dropdownDataProvider' | translate\"\n [disabled]=\"obs.disableInput\"\n [margin]=\"true\"\n [required]=\"false\"\n name=\"dropdownDataProvider\"\n [defaultSelectionId]=\"searchObs.searchField?.dropdownDataProvider\"\n [widthInPx]=\"200\"\n [tooltip]=\"'searchFieldsOverviewTooltips.dropdownDataProvider' | translate\"\n [carbonTheme]=\"CARBON_THEME\"\n ></v-select>\n\n <valtimo-carbon-multi-input\n *ngIf=\"\n (showInputDropdownTable$ | async) &&\n (initialDropdownValues$ | async) as initialDropdownValues\n \"\n name=\"dropdownValues\"\n [title]=\"'searchFieldsOverview.dropdownListValues' | translate\"\n type=\"keyValue\"\n [disabled]=\"obs.disableInput\"\n [defaultValues]=\"initialDropdownValues\"\n [margin]=\"true\"\n [required]=\"false\"\n [tooltip]=\"'searchFieldsOverviewTooltips.dropdownListValues' | translate\"\n (valueChange)=\"dropdownDatalistChange($event)\"\n [carbonTheme]=\"CARBON_THEME\"\n >\n </valtimo-carbon-multi-input>\n\n <v-table\n *ngIf=\"\n (showReadonlyDropdownTable$ | async) &&\n (initialDropdownValues$ | async) as initialDropdownValues\n \"\n [items]=\"initialDropdownValues\"\n [columns]=\"dropdownColumns$ | async\"\n [showEditButtons]=\"false\"\n [itemsTranslationKey]=\"'searchFieldsOverview'\"\n [showPagination]=\"false\"\n [mobileBreakpointPx]=\"200\"\n [carbonTheme]=\"CARBON_THEME\"\n ></v-table>\n </v-form>\n </section>\n\n <cds-modal-footer>\n <ng-container *ngTemplateOutlet=\"buttonsFooterModal; context: {obs: obs}\"></ng-container>\n </cds-modal-footer>\n </cds-modal>\n</ng-template>\n\n<ng-template #buttonsFooterModal let-obs=\"obs\">\n <button cdsButton=\"secondary\" (click)=\"onModalClose()\" [disabled]=\"obs.disableInput\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button\n cdsButton=\"primary\"\n [disabled]=\"obs.disableInput || !obs.valid\"\n (click)=\"saveSearchField(obs.documentDefinitionName)\"\n >\n {{ 'searchFieldsOverview.submit' | translate }}\n </button>\n</ng-template>\n", styles: ["valtimo-list::ng-deep table{border-top:1px solid rgba(0,0,0,.125)}.dossier-management-search-fields__buttons{display:flex;gap:16px}.dossier-management-search-fields__buttons .center-link{display:flex;align-items:center}.dossier-management-search-fields__move-buttons{width:100%;justify-content:flex-end;display:flex;flex-direction:row;position:relative}.dossier-management-search-fields__move-buttons button:not(:last-child){margin-right:8px}.list-actions{width:1px}.modal-header::ng-deep{background-color:#f3f4f7}::ng-deep .tab-container{min-height:unset!important}::ng-deep .cds--tab-content{padding-top:0!important}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i5.SelectComponent, selector: "v-select", inputs: ["items", "defaultSelection", "defaultSelectionId", "defaultSelectionIds", "disabled", "dropUp", "multiple", "margin", "widthInPx", "notFoundText", "clearAllText", "clearText", "name", "title", "titleTranslationKey", "clearSelectionSubject$", "tooltip", "required", "loading", "loadingText", "placeholder", "smallMargin", "carbonTheme", "appendInline"], outputs: ["selectedChange"] }, { kind: "component", type: i5.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: i5.FormComponent, selector: "v-form", inputs: ["className"], outputs: ["valueChange"] }, { kind: "directive", type: i2$2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i2$2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i2$2.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i2$2.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i2$2.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i2$2.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i2$2.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "component", type: i5.CarbonMultiInputComponent, selector: "valtimo-carbon-multi-input", inputs: ["name", "title", "titleTranslationKey", "type", "arbitraryValueAmount", "arbitraryAmountTitles", "initialAmountOfRows", "minimumAmountOfRows", "maxRows", "addRowText", "addRowTranslationKey", "deleteRowText", "deleteRowTranslationKey", "disabled", "defaultValues", "margin", "tooltip", "required", "keyColumnTitle", "valueColumnTitle", "dropdownColumnTitle", "hideDeleteButton", "hideAddButton", "dropdownItems", "dropdownWidth", "fullWidth", "carbonTheme"], outputs: ["valueChange", "allValuesValidEvent"] }, { kind: "component", type: i5.ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: ["titleTranslationKey", "title", "content", "contentTranslationKey", "confirmButtonText", "confirmButtonTextTranslationKey", "confirmButtonType", "showOptionalButton", "optionalButtonText", "optionalButtonTextTranslationKey", "optionalButtonType", "cancelButtonText", "cancelButtonTextTranslationKey", "cancelButtonType", "showModalSubject$", "outputOnConfirm", "outputOnOptional", "spacerAfterCancelButton"], outputs: ["confirmEvent", "optionalEvent", "cancelEvent"] }, { kind: "component", type: i5.TableComponent, selector: "v-table", inputs: ["items", "columns", "loading", "showEditButtons", "showPagination", "editButtonTranslationKey", "itemsTranslationKey", "noResultsTranslationKey", "mobileBreakpointPx", "amountOfLoadingRows", "collectionSize", "page", "size"], outputs: ["editButtonClicked", "paginationSizeSet", "paginationPageSet"] }, { kind: "directive", type: i5.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]" }, { kind: "component", type: i5.CarbonListComponent, selector: "valtimo-carbon-list", inputs: ["items", "fields", "tableTranslations", "paginatorConfig", "pagination", "loading", "actions", "actionItems", "header", "hideColumnHeader", "initialSortState", "isSearchable", "enableSingleSelection", "lastColumnTemplate", "paginationIdentifier", "showSelectionColumn", "striped", "hideToolbar", "lockedTooltipTranslationKey", "movingRowsEnabled"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged", "moveRow", "itemsReordered"] }, { kind: "component", type: i5.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1047
1393
|
}
|
|
1048
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1394
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementSearchFieldsComponent, decorators: [{
|
|
1049
1395
|
type: Component,
|
|
1050
|
-
args: [{ selector: 'valtimo-dossier-management-search-fields', 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 searchFields: translatedSearchFields$ | async,\n downloadUrl: downloadUrl$ | async,\n downloadName: downloadName$ | async,\n documentDefinitionName: documentDefinitionName$ | async,\n valid: valid$ | async,\n disableInput: disableInput$ | async\n } as obs\"\n>\n <ng-container *ngTemplateOutlet=\"list; context: {obs: obs}\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"modal; context: {obs: obs}\"></ng-container>\n</ng-container>\n\n<ng-template #buttons let-obs=\"obs\">\n <div class=\"dossier-management-search-fields__buttons\">\n <a\n cdsLink\n class=\"center-link\"\n [disabled]=\"\n !obs.downloadUrl || !obs.downloadName || obs.searchFields.length <= 0 || obs.disableInput\n \"\n [download]=\"obs.downloadName\"\n [href]=\"obs.downloadUrl\"\n >\n {{ 'searchFields.downloadButtonText' | translate }}\n </a>\n\n <button\n cdsButton=\"primary\"\n [disabled]=\"loadingSearchFields || obs.disableInput\"\n (click)=\"searchFieldClicked($event, true)\"\n >\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n\n {{ 'searchFieldsOverview.addRow' | translate }}\n </button>\n </div>\n</ng-template>\n\n<ng-template #list let-obs=\"obs\">\n <valtimo-carbon-list\n [actionItems]=\"actionItems\"\n [fields]=\"fields\"\n [header]=\"false\"\n [items]=\"obs.searchFields\"\n [loading]=\"!obs.searchFields\"\n [movingRowsEnabled]=\"true\"\n (rowClicked)=\"searchFieldClicked($event, false)\"\n (moveRow)=\"onMoveRowClick($event, obs.documentDefinitionName)\"\n >\n <ng-container\n carbonToolbarContent\n *ngTemplateOutlet=\"buttons; context: {obs: obs}\"\n ></ng-container>\n </valtimo-carbon-list>\n</ng-template>\n\n<ng-template #modal let-obs=\"obs\">\n <valtimo-modal\n #searchFieldModal\n elementId=\"searchFieldModal\"\n [title]=\"\n searchFieldActionTypeIsAdd\n ? ('searchFieldsOverview.addRow' | translate)\n : ('searchFieldsOverview.edit' | translate)\n \"\n [showFooter]=\"true\"\n >\n <div body class=\"mt-2\">\n <v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"showSearchFieldsForm && {searchField: selectedSearchField$ | async} as searchObs\"\n >\n <v-input\n name=\"title\"\n [title]=\"'searchFieldsOverview.title' | translate\"\n [margin]=\"true\"\n [defaultValue]=\"searchObs.searchField?.title\"\n [disabled]=\"obs.disableInput\"\n [required]=\"false\"\n [fullWidth]=\"true\"\n [tooltip]=\"'searchFieldsOverviewTooltips.title' | translate\"\n >\n </v-input>\n <v-input\n name=\"key\"\n [title]=\"'searchFieldsOverview.key' | translate\"\n [margin]=\"true\"\n [defaultValue]=\"searchObs.searchField?.key\"\n [disabled]=\"obs.disableInput || !searchFieldActionTypeIsAdd\"\n [required]=\"true\"\n [widthPx]=\"200\"\n [tooltip]=\"'searchFieldsOverviewTooltips.key' | translate\"\n >\n </v-input>\n <v-input\n name=\"path\"\n [title]=\"'searchFieldsOverview.path' | translate\"\n [margin]=\"true\"\n [defaultValue]=\"searchObs.searchField?.path\"\n [disabled]=\"obs.disableInput\"\n [required]=\"true\"\n [fullWidth]=\"true\"\n [tooltip]=\"'searchFieldsOverviewTooltips.path' | translate\"\n >\n </v-input>\n <v-select\n *ngIf=\"dataTypeItems$ | async as dataTypeItems\"\n [items]=\"dataTypeItems\"\n [placeholder]=\"'searchFieldsOverview.searchFieldPlaceholder' | translate\"\n [title]=\"'searchFieldsOverview.dataType' | translate\"\n [disabled]=\"obs.disableInput\"\n [margin]=\"true\"\n [required]=\"true\"\n name=\"dataType\"\n [defaultSelectionId]=\"searchObs.searchField?.dataType\"\n [widthInPx]=\"200\"\n [tooltip]=\"'searchFieldsOverviewTooltips.dataType' | translate\"\n ></v-select>\n <v-select\n *ngIf=\"(showMatchTypes$ | async) && (matchTypeItems$ | async) as matchTypeItems\"\n [items]=\"matchTypeItems\"\n [placeholder]=\"'searchFieldsOverview.searchFieldPlaceholder' | translate\"\n [title]=\"'searchFieldsOverview.matchType' | translate\"\n [disabled]=\"obs.disableInput\"\n [margin]=\"true\"\n [required]=\"true\"\n name=\"matchType\"\n [defaultSelectionId]=\"searchObs.searchField?.matchType\"\n [widthInPx]=\"200\"\n [tooltip]=\"'searchFieldsOverviewTooltips.matchType' | translate\"\n ></v-select>\n <v-select\n *ngIf=\"fieldTypeItems$ | async as fieldTypeItems\"\n [items]=\"fieldTypeItems\"\n [placeholder]=\"'searchFieldsOverview.searchFieldPlaceholder' | translate\"\n [title]=\"'searchFieldsOverview.fieldType' | translate\"\n [disabled]=\"obs.disableInput\"\n [margin]=\"true\"\n [required]=\"true\"\n name=\"fieldType\"\n [defaultSelectionId]=\"searchObs.searchField?.fieldType\"\n [widthInPx]=\"200\"\n [tooltip]=\"'searchFieldsOverviewTooltips.fieldType' | translate\"\n ></v-select>\n <v-select\n *ngIf=\"\n (fieldTypeIsDropdown$ | async) &&\n (dropdownDataProviderNames$ | async) as dropdownDataProviderNames\n \"\n [items]=\"dropdownDataProviderNames\"\n [placeholder]=\"'searchFieldsOverview.searchFieldPlaceholder' | translate\"\n [title]=\"'searchFieldsOverview.dropdownDataProvider' | translate\"\n [disabled]=\"obs.disableInput\"\n [margin]=\"true\"\n [required]=\"false\"\n name=\"dropdownDataProvider\"\n [defaultSelectionId]=\"searchObs.searchField?.dropdownDataProvider\"\n [widthInPx]=\"200\"\n [tooltip]=\"'searchFieldsOverviewTooltips.dropdownDataProvider' | translate\"\n ></v-select>\n <valtimo-carbon-multi-input\n *ngIf=\"\n (showInputDropdownTable$ | async) &&\n (initialDropdownValues$ | async) as initialDropdownValues\n \"\n name=\"dropdownValues\"\n [title]=\"'searchFieldsOverview.dropdownListValues' | translate\"\n type=\"keyValue\"\n [disabled]=\"obs.disableInput\"\n [defaultValues]=\"initialDropdownValues\"\n [margin]=\"true\"\n [required]=\"false\"\n [tooltip]=\"'searchFieldsOverviewTooltips.dropdownListValues' | translate\"\n (valueChange)=\"dropdownDatalistChange($event)\"\n >\n </valtimo-carbon-multi-input>\n <v-table\n *ngIf=\"\n (showReadonlyDropdownTable$ | async) &&\n (initialDropdownValues$ | async) as initialDropdownValues\n \"\n [items]=\"initialDropdownValues\"\n [columns]=\"dropdownColumns$ | async\"\n [showEditButtons]=\"false\"\n [itemsTranslationKey]=\"'searchFieldsOverview'\"\n [showPagination]=\"false\"\n [mobileBreakpointPx]=\"200\"\n ></v-table>\n </v-form>\n </div>\n <div footer>\n <div class=\"col-12 p-0\">\n <ng-container *ngTemplateOutlet=\"buttonsFooterModal; context: {obs: obs}\"></ng-container>\n </div>\n </div>\n </valtimo-modal>\n</ng-template>\n\n<ng-template #buttonsFooterModal let-obs=\"obs\">\n <div class=\"buttons-container\" *ngIf=\"{searchField: selectedSearchField$ | async} as searchObs\">\n <div class=\"right-buttons\">\n <button\n class=\"btn btn-space btn-secondary\"\n *ngIf=\"!searchFieldActionTypeIsAdd\"\n [disabled]=\"obs.disableInput\"\n (click)=\"deleteSelectedSearchField(searchObs.searchField)\"\n >\n {{ 'searchFieldsOverview.delete' | translate }}\n </button>\n <button\n (click)=\"saveSearchField(obs.documentDefinitionName)\"\n type=\"button\"\n class=\"btn btn-primary btn-space mr-0\"\n [disabled]=\"obs.disableInput || !obs.valid\"\n >\n {{ 'searchFieldsOverview.submit' | translate }}\n </button>\n </div>\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 */valtimo-list::ng-deep table{border-top:1px solid rgba(0,0,0,.125)}.dossier-management-search-fields__buttons{display:flex;gap:16px}.dossier-management-search-fields__buttons .center-link{display:flex;align-items:center}.dossier-management-search-fields__move-buttons{width:100%;justify-content:flex-end;display:flex;flex-direction:row;position:relative}.dossier-management-search-fields__move-buttons button:not(:last-child){margin-right:8px}.list-actions{width:1px}.modal-header::ng-deep{background-color:#f3f4f7}::ng-deep .tab-container{min-height:unset!important}::ng-deep .cds--tab-content{padding-top:0!important}\n"] }]
|
|
1051
|
-
}], ctorParameters:
|
|
1052
|
-
type: ViewChild,
|
|
1053
|
-
args: ['searchFieldModal']
|
|
1054
|
-
}], searchField: [{
|
|
1396
|
+
args: [{ selector: 'valtimo-dossier-management-search-fields', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n searchFields: translatedSearchFields$ | async,\n downloadUrl: downloadUrl$ | async,\n downloadName: downloadName$ | async,\n documentDefinitionName: documentDefinitionName$ | async,\n valid: valid$ | async,\n disableInput: disableInput$ | async\n } as obs\"\n>\n <ng-container *ngTemplateOutlet=\"list; context: {obs: obs}\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"modal; context: {obs: obs}\"></ng-container>\n</ng-container>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"dossierManagement.statuses.deleteText\"\n [outputOnConfirm]=\"selectedDeleteSearchField$ | async\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"interface.delete\"\n (confirmEvent)=\"onDeleteSelectedSearchFieldConfirm($event)\"\n></valtimo-confirmation-modal>\n\n<ng-template #buttons let-obs=\"obs\">\n <button\n cdsButton=\"ghost\"\n iconOnly=\"true\"\n [disabled]=\"\n !obs.downloadUrl || !obs.downloadName || obs.searchFields?.length <= 0 || obs.disableInput\n \"\n [download]=\"obs.downloadName\"\n [href]=\"obs.downloadUrl\"\n >\n <svg class=\"cds--btn__icon\" cdsIcon=\"download\" size=\"16\"></svg>\n </button>\n\n <button\n cdsButton=\"primary\"\n [disabled]=\"loadingSearchFields || obs.disableInput\"\n (click)=\"searchFieldClicked($event, true)\"\n >\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n\n {{ 'searchFieldsOverview.addRow' | translate }}\n </button>\n</ng-template>\n\n<ng-template #list let-obs=\"obs\">\n <valtimo-carbon-list\n [actionItems]=\"actionItems\"\n [fields]=\"fields\"\n [header]=\"false\"\n [items]=\"obs.searchFields\"\n [loading]=\"!obs.searchFields\"\n [movingRowsEnabled]=\"true\"\n (rowClicked)=\"searchFieldClicked($event, false)\"\n (moveRow)=\"onMoveRowClick($event, obs.documentDefinitionName)\"\n >\n <ng-container\n carbonToolbarContent\n *ngTemplateOutlet=\"buttons; context: {obs: obs}\"\n ></ng-container>\n\n <valtimo-no-results\n [title]=\"'searchFieldsOverview.noSearchfieldsTitle' | translate\"\n [description]=\"'searchFieldsOverview.noSearchfieldsDescription' | translate\"\n ></valtimo-no-results>\n </valtimo-carbon-list>\n</ng-template>\n\n<ng-template #modal let-obs=\"obs\">\n <cds-modal\n valtimoCdsModal\n [title]=\"\n searchFieldActionTypeIsAdd\n ? ('searchFieldsOverview.addRow' | translate)\n : ('searchFieldsOverview.edit' | translate)\n \"\n [open]=\"modalShowing$ | async\"\n [showFooter]=\"true\"\n >\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onModalClose()\">\n <h3 cdsModalHeaderHeading>\n {{\n (searchFieldActionTypeIsAdd ? 'searchFieldsOverview.addRow' : 'searchFieldsOverview.edit')\n | translate\n }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent>\n <v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"\n (showFields$ | async) && {\n searchField: selectedSearchField$ | async\n } as searchObs\n \"\n >\n <v-input\n name=\"title\"\n [title]=\"'searchFieldsOverview.title' | translate\"\n [margin]=\"true\"\n [defaultValue]=\"searchObs.searchField?.title\"\n [disabled]=\"obs.disableInput\"\n [required]=\"false\"\n [fullWidth]=\"true\"\n [tooltip]=\"'searchFieldsOverviewTooltips.title' | translate\"\n [carbonTheme]=\"CARBON_THEME\"\n >\n </v-input>\n\n <v-input\n name=\"key\"\n [title]=\"'searchFieldsOverview.key' | translate\"\n [margin]=\"true\"\n [defaultValue]=\"searchObs.searchField?.key\"\n [disabled]=\"obs.disableInput || !searchFieldActionTypeIsAdd\"\n [required]=\"true\"\n [widthPx]=\"200\"\n [tooltip]=\"'searchFieldsOverviewTooltips.key' | translate\"\n [carbonTheme]=\"CARBON_THEME\"\n >\n </v-input>\n\n <v-input\n name=\"path\"\n [title]=\"'searchFieldsOverview.path' | translate\"\n [margin]=\"true\"\n [defaultValue]=\"searchObs.searchField?.path\"\n [disabled]=\"obs.disableInput\"\n [required]=\"true\"\n [fullWidth]=\"true\"\n [tooltip]=\"'searchFieldsOverviewTooltips.path' | translate\"\n [carbonTheme]=\"CARBON_THEME\"\n >\n </v-input>\n\n <v-select\n *ngIf=\"dataTypeItems$ | async as dataTypeItems\"\n [appendInline]=\"true\"\n [dropUp]=\"false\"\n [items]=\"dataTypeItems\"\n [placeholder]=\"'searchFieldsOverview.searchFieldPlaceholder' | translate\"\n [title]=\"'searchFieldsOverview.dataType' | translate\"\n [disabled]=\"obs.disableInput\"\n [margin]=\"true\"\n [required]=\"true\"\n name=\"dataType\"\n [defaultSelectionId]=\"searchObs.searchField?.dataType\"\n [widthInPx]=\"200\"\n [tooltip]=\"'searchFieldsOverviewTooltips.dataType' | translate\"\n [carbonTheme]=\"CARBON_THEME\"\n ></v-select>\n\n <v-select\n *ngIf=\"(showMatchTypes$ | async) && (matchTypeItems$ | async) as matchTypeItems\"\n [appendInline]=\"true\"\n [dropUp]=\"false\"\n [items]=\"matchTypeItems\"\n [placeholder]=\"'searchFieldsOverview.searchFieldPlaceholder' | translate\"\n [title]=\"'searchFieldsOverview.matchType' | translate\"\n [disabled]=\"obs.disableInput\"\n [margin]=\"true\"\n [required]=\"true\"\n name=\"matchType\"\n [defaultSelectionId]=\"searchObs.searchField?.matchType\"\n [widthInPx]=\"200\"\n [tooltip]=\"'searchFieldsOverviewTooltips.matchType' | translate\"\n [carbonTheme]=\"CARBON_THEME\"\n ></v-select>\n\n <v-select\n *ngIf=\"fieldTypeItems$ | async as fieldTypeItems\"\n [appendInline]=\"true\"\n [dropUp]=\"false\"\n [items]=\"fieldTypeItems\"\n [placeholder]=\"'searchFieldsOverview.searchFieldPlaceholder' | translate\"\n [title]=\"'searchFieldsOverview.fieldType' | translate\"\n [disabled]=\"obs.disableInput\"\n [margin]=\"true\"\n [required]=\"true\"\n name=\"fieldType\"\n [defaultSelectionId]=\"searchObs.searchField?.fieldType\"\n [widthInPx]=\"200\"\n [tooltip]=\"'searchFieldsOverviewTooltips.fieldType' | translate\"\n [carbonTheme]=\"CARBON_THEME\"\n ></v-select>\n\n <v-select\n *ngIf=\"\n (fieldTypeIsDropdown$ | async) &&\n (dropdownDataProviderNames$ | async) as dropdownDataProviderNames\n \"\n [appendInline]=\"true\"\n [dropUp]=\"false\"\n [items]=\"dropdownDataProviderNames\"\n [placeholder]=\"'searchFieldsOverview.searchFieldPlaceholder' | translate\"\n [title]=\"'searchFieldsOverview.dropdownDataProvider' | translate\"\n [disabled]=\"obs.disableInput\"\n [margin]=\"true\"\n [required]=\"false\"\n name=\"dropdownDataProvider\"\n [defaultSelectionId]=\"searchObs.searchField?.dropdownDataProvider\"\n [widthInPx]=\"200\"\n [tooltip]=\"'searchFieldsOverviewTooltips.dropdownDataProvider' | translate\"\n [carbonTheme]=\"CARBON_THEME\"\n ></v-select>\n\n <valtimo-carbon-multi-input\n *ngIf=\"\n (showInputDropdownTable$ | async) &&\n (initialDropdownValues$ | async) as initialDropdownValues\n \"\n name=\"dropdownValues\"\n [title]=\"'searchFieldsOverview.dropdownListValues' | translate\"\n type=\"keyValue\"\n [disabled]=\"obs.disableInput\"\n [defaultValues]=\"initialDropdownValues\"\n [margin]=\"true\"\n [required]=\"false\"\n [tooltip]=\"'searchFieldsOverviewTooltips.dropdownListValues' | translate\"\n (valueChange)=\"dropdownDatalistChange($event)\"\n [carbonTheme]=\"CARBON_THEME\"\n >\n </valtimo-carbon-multi-input>\n\n <v-table\n *ngIf=\"\n (showReadonlyDropdownTable$ | async) &&\n (initialDropdownValues$ | async) as initialDropdownValues\n \"\n [items]=\"initialDropdownValues\"\n [columns]=\"dropdownColumns$ | async\"\n [showEditButtons]=\"false\"\n [itemsTranslationKey]=\"'searchFieldsOverview'\"\n [showPagination]=\"false\"\n [mobileBreakpointPx]=\"200\"\n [carbonTheme]=\"CARBON_THEME\"\n ></v-table>\n </v-form>\n </section>\n\n <cds-modal-footer>\n <ng-container *ngTemplateOutlet=\"buttonsFooterModal; context: {obs: obs}\"></ng-container>\n </cds-modal-footer>\n </cds-modal>\n</ng-template>\n\n<ng-template #buttonsFooterModal let-obs=\"obs\">\n <button cdsButton=\"secondary\" (click)=\"onModalClose()\" [disabled]=\"obs.disableInput\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button\n cdsButton=\"primary\"\n [disabled]=\"obs.disableInput || !obs.valid\"\n (click)=\"saveSearchField(obs.documentDefinitionName)\"\n >\n {{ 'searchFieldsOverview.submit' | translate }}\n </button>\n</ng-template>\n", styles: ["valtimo-list::ng-deep table{border-top:1px solid rgba(0,0,0,.125)}.dossier-management-search-fields__buttons{display:flex;gap:16px}.dossier-management-search-fields__buttons .center-link{display:flex;align-items:center}.dossier-management-search-fields__move-buttons{width:100%;justify-content:flex-end;display:flex;flex-direction:row;position:relative}.dossier-management-search-fields__move-buttons button:not(:last-child){margin-right:8px}.list-actions{width:1px}.modal-header::ng-deep{background-color:#f3f4f7}::ng-deep .tab-container{min-height:unset!important}::ng-deep .cds--tab-content{padding-top:0!important}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
1397
|
+
}], ctorParameters: () => [{ type: i1.DocumentService }, { type: i2.ActivatedRoute }, { type: i3.TranslateService }, { type: i4$1.DomSanitizer }, { type: i2$2.IconService }], propDecorators: { searchField: [{
|
|
1055
1398
|
type: Output
|
|
1056
1399
|
}] } });
|
|
1057
1400
|
|
|
1058
1401
|
/*
|
|
1059
|
-
* Copyright 2015-
|
|
1402
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
1060
1403
|
*
|
|
1061
1404
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
1062
1405
|
* you may not use this file except in compliance with the License.
|
|
@@ -1200,6 +1543,7 @@ class DossierManagementListColumnsComponent {
|
|
|
1200
1543
|
ViewType.ENUM,
|
|
1201
1544
|
ViewType.ARRAY_COUNT,
|
|
1202
1545
|
ViewType.UNDERSCORES_TO_SPACES,
|
|
1546
|
+
ViewType.TAGS,
|
|
1203
1547
|
];
|
|
1204
1548
|
this.showDateFormat$ = this.formGroup.valueChanges.pipe(map(formValues => !!(formValues.displayType?.key === this.DISPLAY_TYPES[1])), tap$1(showDateFormat => {
|
|
1205
1549
|
if (showDateFormat === false && !!this.formGroup.value.dateFormat) {
|
|
@@ -1297,10 +1641,10 @@ class DossierManagementListColumnsComponent {
|
|
|
1297
1641
|
});
|
|
1298
1642
|
}
|
|
1299
1643
|
}
|
|
1300
|
-
|
|
1644
|
+
onMoveRowEvent(event, documentDefinitionName) {
|
|
1301
1645
|
const caseListColumns = [...this.cachedCaseListColumns];
|
|
1302
|
-
const caseListColumnRow = caseListColumns[
|
|
1303
|
-
|
|
1646
|
+
const caseListColumnRow = caseListColumns[event.index];
|
|
1647
|
+
const moveUp = event.direction === MoveRowDirection.UP;
|
|
1304
1648
|
const caseListColumnIndex = caseListColumns.findIndex(field => field.key === caseListColumnRow.key);
|
|
1305
1649
|
const foundCaseListColumn = { ...caseListColumns[caseListColumnIndex] };
|
|
1306
1650
|
const filteredCaseListColumns = caseListColumns.filter(field => field.key !== caseListColumnRow.key);
|
|
@@ -1491,16 +1835,16 @@ class DossierManagementListColumnsComponent {
|
|
|
1491
1835
|
},
|
|
1492
1836
|
};
|
|
1493
1837
|
}
|
|
1494
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1495
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DossierManagementListColumnsComponent, selector: "valtimo-dossier-management-list-columns", 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 caseListColumn: translatedCaseListColumns$ | async,\n documentDefinitionName: documentDefinitionName$ | async,\n hasEnvironmentConfig: hasEnvironmentConfig$ | async,\n downloadUrl: downloadUrl$ | async,\n downloadName: downloadName$ | async,\n loadingCaseListColumns: loadingCaseListColumns$ | async\n } as obs\"\n>\n <div class=\"cds--toolbar-content list-columns__buttons\">\n <ng-container *ngTemplateOutlet=\"buttons; context: {obs: obs}\"></ng-container>\n </div>\n\n <ng-container *ngIf=\"!obs.hasEnvironmentConfig; else environmentConfigWarning\">\n <ng-container *ngIf=\"!obs.caseListColumn || obs.caseListColumn?.length > 0\">\n <ng-container *ngTemplateOutlet=\"list; context: {obs: obs}\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"obs.caseListColumn?.length === 0\">\n <ng-container *ngTemplateOutlet=\"noConfigWarning\"></ng-container>\n </ng-container>\n </ng-container>\n\n <ng-container *ngTemplateOutlet=\"createEditModal\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"deleteModal\"></ng-container>\n</ng-container>\n\n<ng-template #list let-obs=\"obs\">\n <valtimo-carbon-list\n [actionItems]=\"actionItems\"\n [loading]=\"obs.loadingCaseListColumns\"\n [items]=\"obs.caseListColumn\"\n [fields]=\"fields\"\n [viewMode]=\"false\"\n [header]=\"false\"\n [hideToolbar]=\"true\"\n [movingRowsEnabled]=\"true\"\n (rowClicked)=\"columnRowClicked($event)\"\n >\n </valtimo-carbon-list>\n</ng-template>\n\n<ng-template #buttons let-obs=\"obs\">\n <a\n cdsLink\n class=\"center-link\"\n [href]=\"obs.downloadUrl\"\n [download]=\"obs.downloadName\"\n [disabled]=\"\n obs.hasEnvironmentConfig ||\n !obs.downloadUrl ||\n !obs.downloadName ||\n obs.caseListColumn?.length < 1 ||\n obs.disableInput ||\n loadingCaseListColumns\n \"\n >\n {{ 'listColumn.downloadButtonText' | translate }}\n </a>\n\n <button\n (click)=\"openModal('create')\"\n cdsButton=\"primary\"\n [disabled]=\"obs.hasEnvironmentConfig || loadingCaseListColumns\"\n >\n {{ 'listColumn.addButtonText' | translate }}\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<ng-template #environmentConfigWarning>\n <div class=\"pl-2 pr-2 pb-2 pt-2\">\n <cds-notification\n [notificationObj]=\"{\n type: 'warning',\n title: 'listColumn.hasEnvConfigWarningTitle' | translate,\n message: 'listColumn.hasEnvConfigWarning' | translate,\n showClose: false\n }\"\n >\n </cds-notification>\n </div>\n</ng-template>\n\n<ng-template #noConfigWarning>\n <div class=\"pl-2 pr-2 pb-2 pt-2\">\n <cds-notification\n [notificationObj]=\"{\n type: 'info',\n title: 'listColumn.noConfigWarningTitle' | translate,\n message: 'listColumn.noConfigWarning' | translate,\n showClose: false\n }\"\n >\n </cds-notification>\n </div>\n</ng-template>\n\n<ng-template #createEditModal>\n <cds-modal\n valtimoCdsModal\n *ngIf=\"{\n type: currentModalType$ | async,\n show: showModal$ | async,\n valid: valid$ | async,\n disableInput: disableInput$ | async,\n validKey: validKey$ | async,\n disableDefaultSort: disableDefaultSort$ | async,\n showEnum: showEnum$ | async,\n isYesNo: isYesNo$ | async\n } as modalObs\"\n [open]=\"modalObs.show\"\n >\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"closeModal()\">\n <h3 cdsModalHeaderHeading>\n {{\n modalObs.type === 'create'\n ? ('listColumn.addButtonText' | translate)\n : ('listColumn.editColumnTitle' | translate)\n }}\n </h3>\n </cds-modal-header>\n <section cdsModalContent>\n <ng-container *ngTemplateOutlet=\"modalContent; context: {modalObs: modalObs}\"></ng-container>\n </section>\n <ng-container *ngTemplateOutlet=\"modalFooter; context: {modalObs: modalObs}\"></ng-container>\n </cds-modal>\n</ng-template>\n\n<ng-template #modalContent let-modalObs=\"modalObs\">\n <form [formGroup]=\"formGroup\" class=\"list-column-form\">\n <div class=\"cds--text-input__field-wrapper\">\n <cds-label [disabled]=\"modalObs.disableInput\">\n <span class=\"label-with-tooltip\">\n {{ 'listColumn.titleTitle' | translate }}\n <v-tooltip-icon\n [tooltip]=\"'listColumn.titleTooltip' | translate\"\n [disabled]=\"modalObs.disableInput\"\n ></v-tooltip-icon>\n </span>\n <input cdsText formControlName=\"title\" />\n </cds-label>\n </div>\n <div class=\"cds--text-input__field-wrapper\">\n <cds-label\n [disabled]=\"modalObs.disableInput || modalObs.type === 'edit'\"\n [invalid]=\"modalObs.validKey === false\"\n [invalidText]=\"'listColumn.uniqueKeyWarning' | translate\"\n >\n <span class=\"label-with-tooltip\">\n {{ 'listColumn.key' | translate }}\n <v-tooltip-icon\n [tooltip]=\"'listColumn.keyTooltip' | translate\"\n [disabled]=\"modalObs.disableInput\"\n ></v-tooltip-icon>\n </span>\n <input cdsText formControlName=\"key\" [invalid]=\"modalObs.validKey === false\" />\n </cds-label>\n </div>\n <div class=\"cds--text-input__field-wrapper\">\n <cds-label [disabled]=\"modalObs.disableInput\">\n <span class=\"label-with-tooltip\">\n {{ 'listColumn.path' | translate }}\n <v-tooltip-icon\n [tooltip]=\"'listColumn.pathTooltip' | translate\"\n [disabled]=\"modalObs.disableInput\"\n ></v-tooltip-icon>\n </span>\n <input cdsText formControlName=\"path\" />\n </cds-label>\n </div>\n <div class=\"cds--text-input__field-wrapper\">\n <cds-label [disabled]=\"modalObs.disableInput\">\n <span class=\"label-with-tooltip select-label\">\n {{ 'listColumn.displayType' | translate }}\n <v-tooltip-icon\n [tooltip]=\"'listColumn.displayTypeTooltip' | translate\"\n [disabled]=\"modalObs.disableInput\"\n ></v-tooltip-icon>\n </span>\n <cds-dropdown formControlName=\"displayType\" [disabled]=\"modalObs.disableInput\">\n <cds-dropdown-list [items]=\"viewTypeItems$ | async\"></cds-dropdown-list>\n </cds-dropdown>\n </cds-label>\n </div>\n <div class=\"cds--text-input__field-wrapper\" *ngIf=\"showDateFormat$ | async\">\n <cds-label [disabled]=\"modalObs.disableInput\">\n <span class=\"label-with-tooltip\">\n {{ 'listColumn.dateFormat' | translate }}\n <v-tooltip-icon\n [tooltip]=\"'listColumn.dateFormatTooltip' | translate\"\n [disabled]=\"modalObs.disableInput\"\n ></v-tooltip-icon>\n </span>\n <input cdsText formControlName=\"dateFormat\" />\n </cds-label>\n </div>\n <div\n class=\"cds--text-input__field-wrapper\"\n *ngIf=\"modalObs.showEnum || modalObs.isYesNo\"\n [ngClass]=\"{'no-margin': modalObs.isYesNo}\"\n >\n <cds-label [disabled]=\"modalObs.disableInput\">\n <span class=\"label-with-tooltip select-label\">\n {{\n modalObs.isYesNo\n ? ('listColumn.enumTitleOptional' | translate)\n : ('listColumn.enumTitle' | translate)\n }}\n <v-tooltip-icon\n [tooltip]=\"\n modalObs.isYesNo\n ? ('listColumn.enumTooltipOptional' | translate)\n : ('listColumn.enumTooltip' | translate)\n \"\n [disabled]=\"modalObs.disableInput\"\n ></v-tooltip-icon>\n </span>\n <valtimo-carbon-multi-input\n *ngIf=\"(showModal$ | async) || (modalShowing$ | async)\"\n type=\"keyValue\"\n (valueChange)=\"enumValueChange($event)\"\n [defaultValues]=\"defaultEnumValues$ | async\"\n [hideAddButton]=\"modalObs.isYesNo\"\n [hideDeleteButton]=\"modalObs.isYesNo\"\n [maxRows]=\"modalObs.isYesNo ? 1 : null\"\n [keyColumnTitle]=\"modalObs.isYesNo && ('viewTypeConverter.Yes' | translate)\"\n [valueColumnTitle]=\"modalObs.isYesNo && ('viewTypeConverter.No' | translate)\"\n ></valtimo-carbon-multi-input>\n </cds-label>\n </div>\n <div class=\"cds--text-input__field-wrapper\">\n <cds-checkbox formControlName=\"sortable\"\n >{{ 'listColumn.sortable' | translate }}\n </cds-checkbox>\n </div>\n <div class=\"cds--text-input__field-wrapper\">\n <cds-label [disabled]=\"modalObs.disableInput || modalObs.disableDefaultSort\">\n <span class=\"label-with-tooltip select-label\">\n {{ 'listColumn.defaultSortTitle' | translate }}\n <v-tooltip-icon\n [tooltip]=\"'listColumn.defaultSortTooltip' | translate\"\n [disabled]=\"modalObs.disableInput\"\n ></v-tooltip-icon>\n </span>\n <cds-dropdown\n formControlName=\"defaultSort\"\n [disabled]=\"modalObs.disableInput || modalObs.disableDefaultSort\"\n >\n <cds-dropdown-list [items]=\"sortItems$ | async\"></cds-dropdown-list>\n </cds-dropdown>\n </cds-label>\n </div>\n </form>\n</ng-template>\n\n<ng-template #modalFooter let-modalObs=\"modalObs\">\n <cds-modal-footer>\n <ng-container>\n <button\n cdsButton=\"secondary\"\n [attr.modal-primary-focus]=\"true\"\n (click)=\"closeModal()\"\n [disabled]=\"modalObs.disableInput\"\n >\n {{ 'listColumn.close' | translate }}\n </button>\n <button\n cdsButton=\"primary\"\n [attr.modal-primary-focus]=\"true\"\n [disabled]=\"modalObs.valid === false\"\n (click)=\"saveCasListColumns()\"\n [disabled]=\"\n modalObs.disableInput || modalObs.valid === false || modalObs.validKey === false\n \"\n >\n {{ 'listColumn.save' | translate }}\n </button>\n </ng-container>\n </cds-modal-footer>\n</ng-template>\n\n<ng-template #deleteModal>\n <valtimo-confirmation-modal\n [showModalSubject$]=\"showDeleteModal$\"\n [outputOnConfirm]=\"deleteRowKey$ | async\"\n (confirmEvent)=\"deleteRowConfirmation($event)\"\n confirmButtonTextTranslationKey=\"listColumn.deleteColumn\"\n titleTranslationKey=\"listColumn.deleteColumn\"\n contentTranslationKey=\"listColumn.deleteColumnConfirmation\"\n ></valtimo-confirmation-modal>\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 */::ng-deep .tab-container{min-height:unset!important}::ng-deep .cds--inline-notification{max-width:100%}.label-with-tooltip{display:flex;align-items:center}.cds--text-input__field-wrapper:not(:last-child){margin-bottom:1rem}.no-margin{margin-bottom:0!important}.display-type-dropdown{width:300px}.list-column-form{margin-bottom:3rem}.select-label{padding-bottom:.5rem;width:250px}.center-link{display:flex;align-items:center}.dossier-list-columns__actions{display:flex;gap:8px}.list-columns__buttons{display:flex;gap:16px;flex-direction:row;justify-content:flex-end}\n"], dependencies: [{ kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$1.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: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: i4.Notification, selector: "cds-notification, cds-inline-notification, ibm-notification, ibm-inline-notification", inputs: ["notificationObj"] }, { 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: 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.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i4.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i4.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "component", type: i4.Checkbox, selector: "cds-checkbox, ibm-checkbox", inputs: ["disabled", "skeleton", "hideLabel", "name", "id", "required", "value", "ariaLabel", "ariaLabelledby", "indeterminate", "checked"], outputs: ["click", "checkedChange", "indeterminateChange"] }, { kind: "component", type: i7.TooltipIconComponent, selector: "v-tooltip-icon", inputs: ["tooltip", "disabled"] }, { kind: "component", type: i7.CarbonMultiInputComponent, selector: "valtimo-carbon-multi-input", inputs: ["name", "title", "titleTranslationKey", "type", "initialAmountOfRows", "minimumAmountOfRows", "maxRows", "addRowText", "addRowTranslationKey", "deleteRowText", "deleteRowTranslationKey", "disabled", "defaultValues", "margin", "tooltip", "required", "keyColumnTitle", "valueColumnTitle", "dropdownColumnTitle", "hideDeleteButton", "hideAddButton", "dropdownItems", "dropdownWidth", "fullWidth"], outputs: ["valueChange", "allValuesValidEvent"] }, { kind: "directive", type: i4.Link, selector: "[cdsLink], [ibmLink]", inputs: ["inline", "disabled"] }, { kind: "component", type: i7.ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: ["titleTranslationKey", "title", "content", "contentTranslationKey", "confirmButtonText", "confirmButtonTextTranslationKey", "confirmButtonType", "cancelButtonText", "cancelButtonTextTranslationKey", "cancelButtonType", "showModalSubject$", "outputOnConfirm"], outputs: ["confirmEvent", "cancelEvent"] }, { kind: "directive", type: i7.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]" }, { kind: "component", type: i7.CarbonListComponent, selector: "valtimo-carbon-list", inputs: ["items", "fields", "tableTranslations", "paginatorConfig", "pagination", "loading", "actions", "actionItems", "header", "hideColumnHeader", "initialSortState", "isSearchable", "enableSingleSelection", "lastColumnTemplate", "paginationIdentifier", "showSelectionColumn", "striped", "hideToolbar", "lockedTooltipTranslationKey", "movingRowsEnabled"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged", "moveRow"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
|
|
1838
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementListColumnsComponent, deps: [{ token: i1.DocumentService }, { token: i2.ActivatedRoute }, { token: i3.TranslateService }, { token: i2$1.ConfigService }, { token: i4$1.DomSanitizer }, { token: i2$2.IconService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1839
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: DossierManagementListColumnsComponent, selector: "valtimo-dossier-management-list-columns", ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n caseListColumn: translatedCaseListColumns$ | async,\n documentDefinitionName: documentDefinitionName$ | async,\n hasEnvironmentConfig: hasEnvironmentConfig$ | async,\n downloadUrl: downloadUrl$ | async,\n downloadName: downloadName$ | async,\n loadingCaseListColumns: loadingCaseListColumns$ | async\n } as obs\"\n>\n <ng-container *ngTemplateOutlet=\"list; context: {obs: obs}\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"createEditModal\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"deleteModal\"></ng-container>\n</ng-container>\n\n<ng-template #list let-obs=\"obs\">\n <valtimo-carbon-list\n [actionItems]=\"actionItems\"\n [loading]=\"obs.loadingCaseListColumns\"\n [items]=\"obs.caseListColumn\"\n [fields]=\"fields\"\n [viewMode]=\"false\"\n [header]=\"false\"\n [movingRowsEnabled]=\"true\"\n (moveRow)=\"onMoveRowEvent($event, obs.documentDefinitionName)\"\n (rowClicked)=\"columnRowClicked($event)\"\n >\n <ng-container\n carbonToolbarContent\n *ngTemplateOutlet=\"buttons; context: {obs: obs}\"\n ></ng-container>\n\n <valtimo-no-results\n *ngIf=\"!obs.hasEnvironmentConfig\"\n [title]=\"'listColumn.noConfigWarningTitle' | translate\"\n [description]=\"'listColumn.noConfigWarning' | translate\"\n illustration=\"valtimo-layout/img/emptystate-empty.svg\"\n ></valtimo-no-results>\n\n <valtimo-no-results\n *ngIf=\"obs.hasEnvironmentConfig\"\n [title]=\"'listColumn.hasEnvConfigWarningTitle' | translate\"\n [description]=\"'listColumn.hasEnvConfigWarning' | translate\"\n illustration=\"valtimo-layout/img/emptystate-error.svg\"\n ></valtimo-no-results>\n </valtimo-carbon-list>\n</ng-template>\n\n<ng-template #buttons let-obs=\"obs\">\n <button\n cdsButton=\"ghost\"\n iconOnly=\"true\"\n [href]=\"obs.downloadUrl\"\n [download]=\"obs.downloadName\"\n [disabled]=\"\n obs.hasEnvironmentConfig ||\n !obs.downloadUrl ||\n !obs.downloadName ||\n obs.caseListColumn?.length < 1 ||\n obs.disableInput ||\n loadingCaseListColumns\n \"\n >\n <svg class=\"cds--btn__icon\" cdsIcon=\"download\" size=\"16\"></svg>\n </button>\n\n <button\n (click)=\"openModal('create')\"\n cdsButton=\"primary\"\n [disabled]=\"obs.hasEnvironmentConfig || loadingCaseListColumns\"\n >\n {{ 'listColumn.addButtonText' | translate }}\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<ng-template #environmentConfigWarning>\n <div class=\"pl-2 pr-2 pb-2 pt-2\">\n <cds-notification\n [notificationObj]=\"{\n type: 'warning',\n title: 'listColumn.hasEnvConfigWarningTitle' | translate,\n message: 'listColumn.hasEnvConfigWarning' | translate,\n showClose: false\n }\"\n >\n </cds-notification>\n </div>\n</ng-template>\n\n<ng-template #noConfigWarning>\n <div class=\"pl-2 pr-2 pb-2 pt-2\">\n <cds-notification\n [notificationObj]=\"{\n type: 'info',\n title: 'listColumn.noConfigWarningTitle' | translate,\n message: 'listColumn.noConfigWarning' | translate,\n showClose: false\n }\"\n >\n </cds-notification>\n </div>\n</ng-template>\n\n<ng-template #createEditModal>\n <cds-modal\n valtimoCdsModal\n *ngIf=\"{\n type: currentModalType$ | async,\n show: showModal$ | async,\n valid: valid$ | async,\n disableInput: disableInput$ | async,\n validKey: validKey$ | async,\n disableDefaultSort: disableDefaultSort$ | async,\n showEnum: showEnum$ | async,\n isYesNo: isYesNo$ | async\n } as modalObs\"\n [open]=\"modalObs.show\"\n >\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"closeModal()\">\n <h3 cdsModalHeaderHeading>\n {{\n modalObs.type === 'create'\n ? ('listColumn.addButtonText' | translate)\n : ('listColumn.editColumnTitle' | translate)\n }}\n </h3>\n </cds-modal-header>\n <section cdsModalContent>\n <ng-container *ngTemplateOutlet=\"modalContent; context: {modalObs: modalObs}\"></ng-container>\n </section>\n <ng-container *ngTemplateOutlet=\"modalFooter; context: {modalObs: modalObs}\"></ng-container>\n </cds-modal>\n</ng-template>\n\n<ng-template #modalContent let-modalObs=\"modalObs\">\n <form [formGroup]=\"formGroup\" class=\"list-column-form\">\n <div class=\"cds--text-input__field-wrapper\">\n <cds-label [disabled]=\"modalObs.disableInput\">\n <span class=\"label-with-tooltip\">\n {{ 'listColumn.titleTitle' | translate }}\n <v-tooltip-icon\n [tooltip]=\"'listColumn.titleTooltip' | translate\"\n [disabled]=\"modalObs.disableInput\"\n ></v-tooltip-icon>\n </span>\n <input cdsText formControlName=\"title\" />\n </cds-label>\n </div>\n <div class=\"cds--text-input__field-wrapper\">\n <cds-label\n [disabled]=\"modalObs.disableInput || modalObs.type === 'edit'\"\n [invalid]=\"modalObs.validKey === false\"\n [invalidText]=\"'listColumn.uniqueKeyWarning' | translate\"\n >\n <span class=\"label-with-tooltip\">\n {{ 'listColumn.key' | translate }}\n <v-tooltip-icon\n [tooltip]=\"'listColumn.keyTooltip' | translate\"\n [disabled]=\"modalObs.disableInput\"\n ></v-tooltip-icon>\n </span>\n <input cdsText formControlName=\"key\" [invalid]=\"modalObs.validKey === false\" />\n </cds-label>\n </div>\n <div class=\"cds--text-input__field-wrapper\">\n <cds-label [disabled]=\"modalObs.disableInput\">\n <span class=\"label-with-tooltip\">\n {{ 'listColumn.path' | translate }}\n <v-tooltip-icon\n [tooltip]=\"'listColumn.pathTooltip' | translate\"\n [disabled]=\"modalObs.disableInput\"\n ></v-tooltip-icon>\n </span>\n <input cdsText formControlName=\"path\" />\n </cds-label>\n </div>\n <div class=\"cds--text-input__field-wrapper\">\n <cds-label [disabled]=\"modalObs.disableInput\">\n <span class=\"label-with-tooltip select-label\">\n {{ 'listColumn.displayType' | translate }}\n <v-tooltip-icon\n [tooltip]=\"'listColumn.displayTypeTooltip' | translate\"\n [disabled]=\"modalObs.disableInput\"\n ></v-tooltip-icon>\n </span>\n <cds-dropdown formControlName=\"displayType\" [disabled]=\"modalObs.disableInput\">\n <cds-dropdown-list [items]=\"viewTypeItems$ | async\"></cds-dropdown-list>\n </cds-dropdown>\n </cds-label>\n </div>\n <div class=\"cds--text-input__field-wrapper\" *ngIf=\"showDateFormat$ | async\">\n <cds-label [disabled]=\"modalObs.disableInput\">\n <span class=\"label-with-tooltip\">\n {{ 'listColumn.dateFormat' | translate }}\n <v-tooltip-icon\n [tooltip]=\"'listColumn.dateFormatTooltip' | translate\"\n [disabled]=\"modalObs.disableInput\"\n ></v-tooltip-icon>\n </span>\n <input cdsText formControlName=\"dateFormat\" />\n </cds-label>\n </div>\n <div\n class=\"cds--text-input__field-wrapper\"\n *ngIf=\"modalObs.showEnum || modalObs.isYesNo\"\n [ngClass]=\"{'no-margin': modalObs.isYesNo}\"\n >\n <cds-label [disabled]=\"modalObs.disableInput\">\n <span class=\"label-with-tooltip select-label\">\n {{\n modalObs.isYesNo\n ? ('listColumn.enumTitleOptional' | translate)\n : ('listColumn.enumTitle' | translate)\n }}\n <v-tooltip-icon\n [tooltip]=\"\n modalObs.isYesNo\n ? ('listColumn.enumTooltipOptional' | translate)\n : ('listColumn.enumTooltip' | translate)\n \"\n [disabled]=\"modalObs.disableInput\"\n ></v-tooltip-icon>\n </span>\n <valtimo-carbon-multi-input\n *ngIf=\"(showModal$ | async) || (modalShowing$ | async)\"\n type=\"keyValue\"\n (valueChange)=\"enumValueChange($event)\"\n [defaultValues]=\"defaultEnumValues$ | async\"\n [hideAddButton]=\"modalObs.isYesNo\"\n [hideDeleteButton]=\"modalObs.isYesNo\"\n [maxRows]=\"modalObs.isYesNo ? 1 : null\"\n [keyColumnTitle]=\"modalObs.isYesNo && ('viewTypeConverter.Yes' | translate)\"\n [valueColumnTitle]=\"modalObs.isYesNo && ('viewTypeConverter.No' | translate)\"\n ></valtimo-carbon-multi-input>\n </cds-label>\n </div>\n <div class=\"cds--text-input__field-wrapper\">\n <cds-checkbox formControlName=\"sortable\"\n >{{ 'listColumn.sortable' | translate }}\n </cds-checkbox>\n </div>\n <div class=\"cds--text-input__field-wrapper\">\n <cds-label [disabled]=\"modalObs.disableInput || modalObs.disableDefaultSort\">\n <span class=\"label-with-tooltip select-label\">\n {{ 'listColumn.defaultSortTitle' | translate }}\n <v-tooltip-icon\n [tooltip]=\"'listColumn.defaultSortTooltip' | translate\"\n [disabled]=\"modalObs.disableInput\"\n ></v-tooltip-icon>\n </span>\n <cds-dropdown\n formControlName=\"defaultSort\"\n [disabled]=\"modalObs.disableInput || modalObs.disableDefaultSort\"\n >\n <cds-dropdown-list [items]=\"sortItems$ | async\"></cds-dropdown-list>\n </cds-dropdown>\n </cds-label>\n </div>\n </form>\n</ng-template>\n\n<ng-template #modalFooter let-modalObs=\"modalObs\">\n <cds-modal-footer>\n <ng-container>\n <button\n cdsButton=\"secondary\"\n [attr.modal-primary-focus]=\"true\"\n (click)=\"closeModal()\"\n [disabled]=\"modalObs.disableInput\"\n >\n {{ 'listColumn.close' | translate }}\n </button>\n <button\n cdsButton=\"primary\"\n [attr.modal-primary-focus]=\"true\"\n [disabled]=\"modalObs.valid === false\"\n (click)=\"saveCasListColumns()\"\n [disabled]=\"\n modalObs.disableInput || modalObs.valid === false || modalObs.validKey === false\n \"\n >\n {{ 'listColumn.save' | translate }}\n </button>\n </ng-container>\n </cds-modal-footer>\n</ng-template>\n\n<ng-template #deleteModal>\n <valtimo-confirmation-modal\n [showModalSubject$]=\"showDeleteModal$\"\n [outputOnConfirm]=\"deleteRowKey$ | async\"\n (confirmEvent)=\"deleteRowConfirmation($event)\"\n confirmButtonTextTranslationKey=\"listColumn.deleteColumn\"\n titleTranslationKey=\"listColumn.deleteColumn\"\n contentTranslationKey=\"listColumn.deleteColumnConfirmation\"\n ></valtimo-confirmation-modal>\n</ng-template>\n", styles: ["::ng-deep .tab-container{min-height:unset!important}::ng-deep .cds--inline-notification{max-width:100%}.label-with-tooltip{display:flex;align-items:center}.cds--text-input__field-wrapper:not(:last-child){margin-bottom:1rem}.no-margin{margin-bottom:0!important}.display-type-dropdown{width:300px}.list-column-form{margin-bottom:3rem}.select-label{padding-bottom:.5rem;width:250px}.center-link{display:flex;align-items:center}.dossier-list-columns__actions{display:flex;gap:8px}.list-columns__buttons{display:flex;gap:16px;flex-direction:row;justify-content:flex-end}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.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: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: i2$2.Notification, selector: "cds-notification, cds-inline-notification, ibm-notification, ibm-inline-notification", inputs: ["notificationObj"] }, { kind: "directive", type: i2$2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i2$2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i2$2.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i2$2.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i2$2.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i2$2.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i2$2.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "component", type: i2$2.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i2$2.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2$2.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i2$2.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "component", type: i2$2.Checkbox, selector: "cds-checkbox, ibm-checkbox", inputs: ["disabled", "skeleton", "hideLabel", "name", "id", "required", "value", "ariaLabel", "ariaLabelledby", "indeterminate", "checked"], outputs: ["click", "checkedChange", "indeterminateChange"] }, { kind: "component", type: i5.TooltipIconComponent, selector: "v-tooltip-icon", inputs: ["tooltip", "disabled"] }, { kind: "component", type: i5.CarbonMultiInputComponent, selector: "valtimo-carbon-multi-input", inputs: ["name", "title", "titleTranslationKey", "type", "arbitraryValueAmount", "arbitraryAmountTitles", "initialAmountOfRows", "minimumAmountOfRows", "maxRows", "addRowText", "addRowTranslationKey", "deleteRowText", "deleteRowTranslationKey", "disabled", "defaultValues", "margin", "tooltip", "required", "keyColumnTitle", "valueColumnTitle", "dropdownColumnTitle", "hideDeleteButton", "hideAddButton", "dropdownItems", "dropdownWidth", "fullWidth", "carbonTheme"], outputs: ["valueChange", "allValuesValidEvent"] }, { kind: "component", type: i5.ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: ["titleTranslationKey", "title", "content", "contentTranslationKey", "confirmButtonText", "confirmButtonTextTranslationKey", "confirmButtonType", "showOptionalButton", "optionalButtonText", "optionalButtonTextTranslationKey", "optionalButtonType", "cancelButtonText", "cancelButtonTextTranslationKey", "cancelButtonType", "showModalSubject$", "outputOnConfirm", "outputOnOptional", "spacerAfterCancelButton"], outputs: ["confirmEvent", "optionalEvent", "cancelEvent"] }, { kind: "directive", type: i5.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]" }, { kind: "component", type: i5.CarbonListComponent, selector: "valtimo-carbon-list", inputs: ["items", "fields", "tableTranslations", "paginatorConfig", "pagination", "loading", "actions", "actionItems", "header", "hideColumnHeader", "initialSortState", "isSearchable", "enableSingleSelection", "lastColumnTemplate", "paginationIdentifier", "showSelectionColumn", "striped", "hideToolbar", "lockedTooltipTranslationKey", "movingRowsEnabled"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged", "moveRow", "itemsReordered"] }, { kind: "component", type: i5.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
|
|
1496
1840
|
}
|
|
1497
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1841
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementListColumnsComponent, decorators: [{
|
|
1498
1842
|
type: Component,
|
|
1499
|
-
args: [{ selector: 'valtimo-dossier-management-list-columns', 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 caseListColumn: translatedCaseListColumns$ | async,\n documentDefinitionName: documentDefinitionName$ | async,\n hasEnvironmentConfig: hasEnvironmentConfig$ | async,\n downloadUrl: downloadUrl$ | async,\n downloadName: downloadName$ | async,\n loadingCaseListColumns: loadingCaseListColumns$ | async\n } as obs\"\n>\n <div class=\"cds--toolbar-content list-columns__buttons\">\n <ng-container *ngTemplateOutlet=\"buttons; context: {obs: obs}\"></ng-container>\n </div>\n\n <ng-container *ngIf=\"!obs.hasEnvironmentConfig; else environmentConfigWarning\">\n <ng-container *ngIf=\"!obs.caseListColumn || obs.caseListColumn?.length > 0\">\n <ng-container *ngTemplateOutlet=\"list; context: {obs: obs}\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"obs.caseListColumn?.length === 0\">\n <ng-container *ngTemplateOutlet=\"noConfigWarning\"></ng-container>\n </ng-container>\n </ng-container>\n\n <ng-container *ngTemplateOutlet=\"createEditModal\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"deleteModal\"></ng-container>\n</ng-container>\n\n<ng-template #list let-obs=\"obs\">\n <valtimo-carbon-list\n [actionItems]=\"actionItems\"\n [loading]=\"obs.loadingCaseListColumns\"\n [items]=\"obs.caseListColumn\"\n [fields]=\"fields\"\n [viewMode]=\"false\"\n [header]=\"false\"\n [hideToolbar]=\"true\"\n [movingRowsEnabled]=\"true\"\n (rowClicked)=\"columnRowClicked($event)\"\n >\n </valtimo-carbon-list>\n</ng-template>\n\n<ng-template #buttons let-obs=\"obs\">\n <a\n cdsLink\n class=\"center-link\"\n [href]=\"obs.downloadUrl\"\n [download]=\"obs.downloadName\"\n [disabled]=\"\n obs.hasEnvironmentConfig ||\n !obs.downloadUrl ||\n !obs.downloadName ||\n obs.caseListColumn?.length < 1 ||\n obs.disableInput ||\n loadingCaseListColumns\n \"\n >\n {{ 'listColumn.downloadButtonText' | translate }}\n </a>\n\n <button\n (click)=\"openModal('create')\"\n cdsButton=\"primary\"\n [disabled]=\"obs.hasEnvironmentConfig || loadingCaseListColumns\"\n >\n {{ 'listColumn.addButtonText' | translate }}\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<ng-template #environmentConfigWarning>\n <div class=\"pl-2 pr-2 pb-2 pt-2\">\n <cds-notification\n [notificationObj]=\"{\n type: 'warning',\n title: 'listColumn.hasEnvConfigWarningTitle' | translate,\n message: 'listColumn.hasEnvConfigWarning' | translate,\n showClose: false\n }\"\n >\n </cds-notification>\n </div>\n</ng-template>\n\n<ng-template #noConfigWarning>\n <div class=\"pl-2 pr-2 pb-2 pt-2\">\n <cds-notification\n [notificationObj]=\"{\n type: 'info',\n title: 'listColumn.noConfigWarningTitle' | translate,\n message: 'listColumn.noConfigWarning' | translate,\n showClose: false\n }\"\n >\n </cds-notification>\n </div>\n</ng-template>\n\n<ng-template #createEditModal>\n <cds-modal\n valtimoCdsModal\n *ngIf=\"{\n type: currentModalType$ | async,\n show: showModal$ | async,\n valid: valid$ | async,\n disableInput: disableInput$ | async,\n validKey: validKey$ | async,\n disableDefaultSort: disableDefaultSort$ | async,\n showEnum: showEnum$ | async,\n isYesNo: isYesNo$ | async\n } as modalObs\"\n [open]=\"modalObs.show\"\n >\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"closeModal()\">\n <h3 cdsModalHeaderHeading>\n {{\n modalObs.type === 'create'\n ? ('listColumn.addButtonText' | translate)\n : ('listColumn.editColumnTitle' | translate)\n }}\n </h3>\n </cds-modal-header>\n <section cdsModalContent>\n <ng-container *ngTemplateOutlet=\"modalContent; context: {modalObs: modalObs}\"></ng-container>\n </section>\n <ng-container *ngTemplateOutlet=\"modalFooter; context: {modalObs: modalObs}\"></ng-container>\n </cds-modal>\n</ng-template>\n\n<ng-template #modalContent let-modalObs=\"modalObs\">\n <form [formGroup]=\"formGroup\" class=\"list-column-form\">\n <div class=\"cds--text-input__field-wrapper\">\n <cds-label [disabled]=\"modalObs.disableInput\">\n <span class=\"label-with-tooltip\">\n {{ 'listColumn.titleTitle' | translate }}\n <v-tooltip-icon\n [tooltip]=\"'listColumn.titleTooltip' | translate\"\n [disabled]=\"modalObs.disableInput\"\n ></v-tooltip-icon>\n </span>\n <input cdsText formControlName=\"title\" />\n </cds-label>\n </div>\n <div class=\"cds--text-input__field-wrapper\">\n <cds-label\n [disabled]=\"modalObs.disableInput || modalObs.type === 'edit'\"\n [invalid]=\"modalObs.validKey === false\"\n [invalidText]=\"'listColumn.uniqueKeyWarning' | translate\"\n >\n <span class=\"label-with-tooltip\">\n {{ 'listColumn.key' | translate }}\n <v-tooltip-icon\n [tooltip]=\"'listColumn.keyTooltip' | translate\"\n [disabled]=\"modalObs.disableInput\"\n ></v-tooltip-icon>\n </span>\n <input cdsText formControlName=\"key\" [invalid]=\"modalObs.validKey === false\" />\n </cds-label>\n </div>\n <div class=\"cds--text-input__field-wrapper\">\n <cds-label [disabled]=\"modalObs.disableInput\">\n <span class=\"label-with-tooltip\">\n {{ 'listColumn.path' | translate }}\n <v-tooltip-icon\n [tooltip]=\"'listColumn.pathTooltip' | translate\"\n [disabled]=\"modalObs.disableInput\"\n ></v-tooltip-icon>\n </span>\n <input cdsText formControlName=\"path\" />\n </cds-label>\n </div>\n <div class=\"cds--text-input__field-wrapper\">\n <cds-label [disabled]=\"modalObs.disableInput\">\n <span class=\"label-with-tooltip select-label\">\n {{ 'listColumn.displayType' | translate }}\n <v-tooltip-icon\n [tooltip]=\"'listColumn.displayTypeTooltip' | translate\"\n [disabled]=\"modalObs.disableInput\"\n ></v-tooltip-icon>\n </span>\n <cds-dropdown formControlName=\"displayType\" [disabled]=\"modalObs.disableInput\">\n <cds-dropdown-list [items]=\"viewTypeItems$ | async\"></cds-dropdown-list>\n </cds-dropdown>\n </cds-label>\n </div>\n <div class=\"cds--text-input__field-wrapper\" *ngIf=\"showDateFormat$ | async\">\n <cds-label [disabled]=\"modalObs.disableInput\">\n <span class=\"label-with-tooltip\">\n {{ 'listColumn.dateFormat' | translate }}\n <v-tooltip-icon\n [tooltip]=\"'listColumn.dateFormatTooltip' | translate\"\n [disabled]=\"modalObs.disableInput\"\n ></v-tooltip-icon>\n </span>\n <input cdsText formControlName=\"dateFormat\" />\n </cds-label>\n </div>\n <div\n class=\"cds--text-input__field-wrapper\"\n *ngIf=\"modalObs.showEnum || modalObs.isYesNo\"\n [ngClass]=\"{'no-margin': modalObs.isYesNo}\"\n >\n <cds-label [disabled]=\"modalObs.disableInput\">\n <span class=\"label-with-tooltip select-label\">\n {{\n modalObs.isYesNo\n ? ('listColumn.enumTitleOptional' | translate)\n : ('listColumn.enumTitle' | translate)\n }}\n <v-tooltip-icon\n [tooltip]=\"\n modalObs.isYesNo\n ? ('listColumn.enumTooltipOptional' | translate)\n : ('listColumn.enumTooltip' | translate)\n \"\n [disabled]=\"modalObs.disableInput\"\n ></v-tooltip-icon>\n </span>\n <valtimo-carbon-multi-input\n *ngIf=\"(showModal$ | async) || (modalShowing$ | async)\"\n type=\"keyValue\"\n (valueChange)=\"enumValueChange($event)\"\n [defaultValues]=\"defaultEnumValues$ | async\"\n [hideAddButton]=\"modalObs.isYesNo\"\n [hideDeleteButton]=\"modalObs.isYesNo\"\n [maxRows]=\"modalObs.isYesNo ? 1 : null\"\n [keyColumnTitle]=\"modalObs.isYesNo && ('viewTypeConverter.Yes' | translate)\"\n [valueColumnTitle]=\"modalObs.isYesNo && ('viewTypeConverter.No' | translate)\"\n ></valtimo-carbon-multi-input>\n </cds-label>\n </div>\n <div class=\"cds--text-input__field-wrapper\">\n <cds-checkbox formControlName=\"sortable\"\n >{{ 'listColumn.sortable' | translate }}\n </cds-checkbox>\n </div>\n <div class=\"cds--text-input__field-wrapper\">\n <cds-label [disabled]=\"modalObs.disableInput || modalObs.disableDefaultSort\">\n <span class=\"label-with-tooltip select-label\">\n {{ 'listColumn.defaultSortTitle' | translate }}\n <v-tooltip-icon\n [tooltip]=\"'listColumn.defaultSortTooltip' | translate\"\n [disabled]=\"modalObs.disableInput\"\n ></v-tooltip-icon>\n </span>\n <cds-dropdown\n formControlName=\"defaultSort\"\n [disabled]=\"modalObs.disableInput || modalObs.disableDefaultSort\"\n >\n <cds-dropdown-list [items]=\"sortItems$ | async\"></cds-dropdown-list>\n </cds-dropdown>\n </cds-label>\n </div>\n </form>\n</ng-template>\n\n<ng-template #modalFooter let-modalObs=\"modalObs\">\n <cds-modal-footer>\n <ng-container>\n <button\n cdsButton=\"secondary\"\n [attr.modal-primary-focus]=\"true\"\n (click)=\"closeModal()\"\n [disabled]=\"modalObs.disableInput\"\n >\n {{ 'listColumn.close' | translate }}\n </button>\n <button\n cdsButton=\"primary\"\n [attr.modal-primary-focus]=\"true\"\n [disabled]=\"modalObs.valid === false\"\n (click)=\"saveCasListColumns()\"\n [disabled]=\"\n modalObs.disableInput || modalObs.valid === false || modalObs.validKey === false\n \"\n >\n {{ 'listColumn.save' | translate }}\n </button>\n </ng-container>\n </cds-modal-footer>\n</ng-template>\n\n<ng-template #deleteModal>\n <valtimo-confirmation-modal\n [showModalSubject$]=\"showDeleteModal$\"\n [outputOnConfirm]=\"deleteRowKey$ | async\"\n (confirmEvent)=\"deleteRowConfirmation($event)\"\n confirmButtonTextTranslationKey=\"listColumn.deleteColumn\"\n titleTranslationKey=\"listColumn.deleteColumn\"\n contentTranslationKey=\"listColumn.deleteColumnConfirmation\"\n ></valtimo-confirmation-modal>\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 */::ng-deep .tab-container{min-height:unset!important}::ng-deep .cds--inline-notification{max-width:100%}.label-with-tooltip{display:flex;align-items:center}.cds--text-input__field-wrapper:not(:last-child){margin-bottom:1rem}.no-margin{margin-bottom:0!important}.display-type-dropdown{width:300px}.list-column-form{margin-bottom:3rem}.select-label{padding-bottom:.5rem;width:250px}.center-link{display:flex;align-items:center}.dossier-list-columns__actions{display:flex;gap:8px}.list-columns__buttons{display:flex;gap:16px;flex-direction:row;justify-content:flex-end}\n"] }]
|
|
1500
|
-
}], ctorParameters:
|
|
1843
|
+
args: [{ selector: 'valtimo-dossier-management-list-columns', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n caseListColumn: translatedCaseListColumns$ | async,\n documentDefinitionName: documentDefinitionName$ | async,\n hasEnvironmentConfig: hasEnvironmentConfig$ | async,\n downloadUrl: downloadUrl$ | async,\n downloadName: downloadName$ | async,\n loadingCaseListColumns: loadingCaseListColumns$ | async\n } as obs\"\n>\n <ng-container *ngTemplateOutlet=\"list; context: {obs: obs}\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"createEditModal\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"deleteModal\"></ng-container>\n</ng-container>\n\n<ng-template #list let-obs=\"obs\">\n <valtimo-carbon-list\n [actionItems]=\"actionItems\"\n [loading]=\"obs.loadingCaseListColumns\"\n [items]=\"obs.caseListColumn\"\n [fields]=\"fields\"\n [viewMode]=\"false\"\n [header]=\"false\"\n [movingRowsEnabled]=\"true\"\n (moveRow)=\"onMoveRowEvent($event, obs.documentDefinitionName)\"\n (rowClicked)=\"columnRowClicked($event)\"\n >\n <ng-container\n carbonToolbarContent\n *ngTemplateOutlet=\"buttons; context: {obs: obs}\"\n ></ng-container>\n\n <valtimo-no-results\n *ngIf=\"!obs.hasEnvironmentConfig\"\n [title]=\"'listColumn.noConfigWarningTitle' | translate\"\n [description]=\"'listColumn.noConfigWarning' | translate\"\n illustration=\"valtimo-layout/img/emptystate-empty.svg\"\n ></valtimo-no-results>\n\n <valtimo-no-results\n *ngIf=\"obs.hasEnvironmentConfig\"\n [title]=\"'listColumn.hasEnvConfigWarningTitle' | translate\"\n [description]=\"'listColumn.hasEnvConfigWarning' | translate\"\n illustration=\"valtimo-layout/img/emptystate-error.svg\"\n ></valtimo-no-results>\n </valtimo-carbon-list>\n</ng-template>\n\n<ng-template #buttons let-obs=\"obs\">\n <button\n cdsButton=\"ghost\"\n iconOnly=\"true\"\n [href]=\"obs.downloadUrl\"\n [download]=\"obs.downloadName\"\n [disabled]=\"\n obs.hasEnvironmentConfig ||\n !obs.downloadUrl ||\n !obs.downloadName ||\n obs.caseListColumn?.length < 1 ||\n obs.disableInput ||\n loadingCaseListColumns\n \"\n >\n <svg class=\"cds--btn__icon\" cdsIcon=\"download\" size=\"16\"></svg>\n </button>\n\n <button\n (click)=\"openModal('create')\"\n cdsButton=\"primary\"\n [disabled]=\"obs.hasEnvironmentConfig || loadingCaseListColumns\"\n >\n {{ 'listColumn.addButtonText' | translate }}\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<ng-template #environmentConfigWarning>\n <div class=\"pl-2 pr-2 pb-2 pt-2\">\n <cds-notification\n [notificationObj]=\"{\n type: 'warning',\n title: 'listColumn.hasEnvConfigWarningTitle' | translate,\n message: 'listColumn.hasEnvConfigWarning' | translate,\n showClose: false\n }\"\n >\n </cds-notification>\n </div>\n</ng-template>\n\n<ng-template #noConfigWarning>\n <div class=\"pl-2 pr-2 pb-2 pt-2\">\n <cds-notification\n [notificationObj]=\"{\n type: 'info',\n title: 'listColumn.noConfigWarningTitle' | translate,\n message: 'listColumn.noConfigWarning' | translate,\n showClose: false\n }\"\n >\n </cds-notification>\n </div>\n</ng-template>\n\n<ng-template #createEditModal>\n <cds-modal\n valtimoCdsModal\n *ngIf=\"{\n type: currentModalType$ | async,\n show: showModal$ | async,\n valid: valid$ | async,\n disableInput: disableInput$ | async,\n validKey: validKey$ | async,\n disableDefaultSort: disableDefaultSort$ | async,\n showEnum: showEnum$ | async,\n isYesNo: isYesNo$ | async\n } as modalObs\"\n [open]=\"modalObs.show\"\n >\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"closeModal()\">\n <h3 cdsModalHeaderHeading>\n {{\n modalObs.type === 'create'\n ? ('listColumn.addButtonText' | translate)\n : ('listColumn.editColumnTitle' | translate)\n }}\n </h3>\n </cds-modal-header>\n <section cdsModalContent>\n <ng-container *ngTemplateOutlet=\"modalContent; context: {modalObs: modalObs}\"></ng-container>\n </section>\n <ng-container *ngTemplateOutlet=\"modalFooter; context: {modalObs: modalObs}\"></ng-container>\n </cds-modal>\n</ng-template>\n\n<ng-template #modalContent let-modalObs=\"modalObs\">\n <form [formGroup]=\"formGroup\" class=\"list-column-form\">\n <div class=\"cds--text-input__field-wrapper\">\n <cds-label [disabled]=\"modalObs.disableInput\">\n <span class=\"label-with-tooltip\">\n {{ 'listColumn.titleTitle' | translate }}\n <v-tooltip-icon\n [tooltip]=\"'listColumn.titleTooltip' | translate\"\n [disabled]=\"modalObs.disableInput\"\n ></v-tooltip-icon>\n </span>\n <input cdsText formControlName=\"title\" />\n </cds-label>\n </div>\n <div class=\"cds--text-input__field-wrapper\">\n <cds-label\n [disabled]=\"modalObs.disableInput || modalObs.type === 'edit'\"\n [invalid]=\"modalObs.validKey === false\"\n [invalidText]=\"'listColumn.uniqueKeyWarning' | translate\"\n >\n <span class=\"label-with-tooltip\">\n {{ 'listColumn.key' | translate }}\n <v-tooltip-icon\n [tooltip]=\"'listColumn.keyTooltip' | translate\"\n [disabled]=\"modalObs.disableInput\"\n ></v-tooltip-icon>\n </span>\n <input cdsText formControlName=\"key\" [invalid]=\"modalObs.validKey === false\" />\n </cds-label>\n </div>\n <div class=\"cds--text-input__field-wrapper\">\n <cds-label [disabled]=\"modalObs.disableInput\">\n <span class=\"label-with-tooltip\">\n {{ 'listColumn.path' | translate }}\n <v-tooltip-icon\n [tooltip]=\"'listColumn.pathTooltip' | translate\"\n [disabled]=\"modalObs.disableInput\"\n ></v-tooltip-icon>\n </span>\n <input cdsText formControlName=\"path\" />\n </cds-label>\n </div>\n <div class=\"cds--text-input__field-wrapper\">\n <cds-label [disabled]=\"modalObs.disableInput\">\n <span class=\"label-with-tooltip select-label\">\n {{ 'listColumn.displayType' | translate }}\n <v-tooltip-icon\n [tooltip]=\"'listColumn.displayTypeTooltip' | translate\"\n [disabled]=\"modalObs.disableInput\"\n ></v-tooltip-icon>\n </span>\n <cds-dropdown formControlName=\"displayType\" [disabled]=\"modalObs.disableInput\">\n <cds-dropdown-list [items]=\"viewTypeItems$ | async\"></cds-dropdown-list>\n </cds-dropdown>\n </cds-label>\n </div>\n <div class=\"cds--text-input__field-wrapper\" *ngIf=\"showDateFormat$ | async\">\n <cds-label [disabled]=\"modalObs.disableInput\">\n <span class=\"label-with-tooltip\">\n {{ 'listColumn.dateFormat' | translate }}\n <v-tooltip-icon\n [tooltip]=\"'listColumn.dateFormatTooltip' | translate\"\n [disabled]=\"modalObs.disableInput\"\n ></v-tooltip-icon>\n </span>\n <input cdsText formControlName=\"dateFormat\" />\n </cds-label>\n </div>\n <div\n class=\"cds--text-input__field-wrapper\"\n *ngIf=\"modalObs.showEnum || modalObs.isYesNo\"\n [ngClass]=\"{'no-margin': modalObs.isYesNo}\"\n >\n <cds-label [disabled]=\"modalObs.disableInput\">\n <span class=\"label-with-tooltip select-label\">\n {{\n modalObs.isYesNo\n ? ('listColumn.enumTitleOptional' | translate)\n : ('listColumn.enumTitle' | translate)\n }}\n <v-tooltip-icon\n [tooltip]=\"\n modalObs.isYesNo\n ? ('listColumn.enumTooltipOptional' | translate)\n : ('listColumn.enumTooltip' | translate)\n \"\n [disabled]=\"modalObs.disableInput\"\n ></v-tooltip-icon>\n </span>\n <valtimo-carbon-multi-input\n *ngIf=\"(showModal$ | async) || (modalShowing$ | async)\"\n type=\"keyValue\"\n (valueChange)=\"enumValueChange($event)\"\n [defaultValues]=\"defaultEnumValues$ | async\"\n [hideAddButton]=\"modalObs.isYesNo\"\n [hideDeleteButton]=\"modalObs.isYesNo\"\n [maxRows]=\"modalObs.isYesNo ? 1 : null\"\n [keyColumnTitle]=\"modalObs.isYesNo && ('viewTypeConverter.Yes' | translate)\"\n [valueColumnTitle]=\"modalObs.isYesNo && ('viewTypeConverter.No' | translate)\"\n ></valtimo-carbon-multi-input>\n </cds-label>\n </div>\n <div class=\"cds--text-input__field-wrapper\">\n <cds-checkbox formControlName=\"sortable\"\n >{{ 'listColumn.sortable' | translate }}\n </cds-checkbox>\n </div>\n <div class=\"cds--text-input__field-wrapper\">\n <cds-label [disabled]=\"modalObs.disableInput || modalObs.disableDefaultSort\">\n <span class=\"label-with-tooltip select-label\">\n {{ 'listColumn.defaultSortTitle' | translate }}\n <v-tooltip-icon\n [tooltip]=\"'listColumn.defaultSortTooltip' | translate\"\n [disabled]=\"modalObs.disableInput\"\n ></v-tooltip-icon>\n </span>\n <cds-dropdown\n formControlName=\"defaultSort\"\n [disabled]=\"modalObs.disableInput || modalObs.disableDefaultSort\"\n >\n <cds-dropdown-list [items]=\"sortItems$ | async\"></cds-dropdown-list>\n </cds-dropdown>\n </cds-label>\n </div>\n </form>\n</ng-template>\n\n<ng-template #modalFooter let-modalObs=\"modalObs\">\n <cds-modal-footer>\n <ng-container>\n <button\n cdsButton=\"secondary\"\n [attr.modal-primary-focus]=\"true\"\n (click)=\"closeModal()\"\n [disabled]=\"modalObs.disableInput\"\n >\n {{ 'listColumn.close' | translate }}\n </button>\n <button\n cdsButton=\"primary\"\n [attr.modal-primary-focus]=\"true\"\n [disabled]=\"modalObs.valid === false\"\n (click)=\"saveCasListColumns()\"\n [disabled]=\"\n modalObs.disableInput || modalObs.valid === false || modalObs.validKey === false\n \"\n >\n {{ 'listColumn.save' | translate }}\n </button>\n </ng-container>\n </cds-modal-footer>\n</ng-template>\n\n<ng-template #deleteModal>\n <valtimo-confirmation-modal\n [showModalSubject$]=\"showDeleteModal$\"\n [outputOnConfirm]=\"deleteRowKey$ | async\"\n (confirmEvent)=\"deleteRowConfirmation($event)\"\n confirmButtonTextTranslationKey=\"listColumn.deleteColumn\"\n titleTranslationKey=\"listColumn.deleteColumn\"\n contentTranslationKey=\"listColumn.deleteColumnConfirmation\"\n ></valtimo-confirmation-modal>\n</ng-template>\n", styles: ["::ng-deep .tab-container{min-height:unset!important}::ng-deep .cds--inline-notification{max-width:100%}.label-with-tooltip{display:flex;align-items:center}.cds--text-input__field-wrapper:not(:last-child){margin-bottom:1rem}.no-margin{margin-bottom:0!important}.display-type-dropdown{width:300px}.list-column-form{margin-bottom:3rem}.select-label{padding-bottom:.5rem;width:250px}.center-link{display:flex;align-items:center}.dossier-list-columns__actions{display:flex;gap:8px}.list-columns__buttons{display:flex;gap:16px;flex-direction:row;justify-content:flex-end}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
1844
|
+
}], ctorParameters: () => [{ type: i1.DocumentService }, { type: i2.ActivatedRoute }, { type: i3.TranslateService }, { type: i2$1.ConfigService }, { type: i4$1.DomSanitizer }, { type: i2$2.IconService }] });
|
|
1501
1845
|
|
|
1502
1846
|
/*
|
|
1503
|
-
* Copyright 2015-
|
|
1847
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
1504
1848
|
*
|
|
1505
1849
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
1506
1850
|
* you may not use this file except in compliance with the License.
|
|
@@ -1556,18 +1900,18 @@ class TabFormComponent {
|
|
|
1556
1900
|
selected: this.form?.get('contentKey')?.value === tabItem.contentKey,
|
|
1557
1901
|
}));
|
|
1558
1902
|
}
|
|
1559
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1560
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
1903
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TabFormComponent, deps: [{ token: TabService }, { token: i1$3.FormGroupDirective }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1904
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: TabFormComponent, selector: "valtimo-tab-form", inputs: { tabType: "tabType" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<form *ngIf=\"form\" [formGroup]=\"form\" class=\"valtimo-tab-form-modal\">\n <cds-label>\n {{ 'dossierManagement.tabManagement.addModal.tabNameLabel' | translate }}\n\n <input cdsText formControlName=\"name\" [attr.modal-primary-focus]=\"true\" />\n </cds-label>\n\n <cds-label\n [invalid]=\"!!this.form.get('key').errors?.uniqueKey\"\n [invalidText]=\"'dossierManagement.tabManagement.addModal.uniqueKeyError' | translate\"\n >\n {{ 'dossierManagement.tabManagement.addModal.tabKeyLabel' | translate }}\n\n <input\n cdsText\n formControlName=\"key\"\n [invalid]=\"!!this.form.get('key').errors?.uniqueKey\"\n [attr.modal-primary-focus]=\"true\"\n />\n </cds-label>\n\n <cds-combo-box\n [dropUp]=\"false\"\n formControlName=\"contentKey\"\n [items]=\"listItems$ | async\"\n itemValueKey=\"contentKey\"\n [label]=\"'dossierManagement.tabManagement.contentLabels.' + tabType | translate\"\n (search)=\"onSearch($event)\"\n (selected)=\"onSelected($event)\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n</form>\n", styles: ["::ng-deep .valtimo-tab-form-modal{display:flex;flex-direction:column;gap:32px}::ng-deep .valtimo-tab-form-modal .cds--list-box__field{background-color:#fff}::ng-deep .valtimo-tab-form-modal .cds--modal-container,::ng-deep .valtimo-tab-form-modal .cds--modal-content{overflow:unset}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.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: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: i2$2.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i2$2.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2$2.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "component", type: i2$2.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: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1561
1905
|
}
|
|
1562
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1906
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TabFormComponent, decorators: [{
|
|
1563
1907
|
type: Component,
|
|
1564
|
-
args: [{ selector: 'valtimo-tab-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n ~ Copyright 2015-
|
|
1565
|
-
}], ctorParameters:
|
|
1908
|
+
args: [{ selector: 'valtimo-tab-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<form *ngIf=\"form\" [formGroup]=\"form\" class=\"valtimo-tab-form-modal\">\n <cds-label>\n {{ 'dossierManagement.tabManagement.addModal.tabNameLabel' | translate }}\n\n <input cdsText formControlName=\"name\" [attr.modal-primary-focus]=\"true\" />\n </cds-label>\n\n <cds-label\n [invalid]=\"!!this.form.get('key').errors?.uniqueKey\"\n [invalidText]=\"'dossierManagement.tabManagement.addModal.uniqueKeyError' | translate\"\n >\n {{ 'dossierManagement.tabManagement.addModal.tabKeyLabel' | translate }}\n\n <input\n cdsText\n formControlName=\"key\"\n [invalid]=\"!!this.form.get('key').errors?.uniqueKey\"\n [attr.modal-primary-focus]=\"true\"\n />\n </cds-label>\n\n <cds-combo-box\n [dropUp]=\"false\"\n formControlName=\"contentKey\"\n [items]=\"listItems$ | async\"\n itemValueKey=\"contentKey\"\n [label]=\"'dossierManagement.tabManagement.contentLabels.' + tabType | translate\"\n (search)=\"onSearch($event)\"\n (selected)=\"onSelected($event)\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n</form>\n", styles: ["::ng-deep .valtimo-tab-form-modal{display:flex;flex-direction:column;gap:32px}::ng-deep .valtimo-tab-form-modal .cds--list-box__field{background-color:#fff}::ng-deep .valtimo-tab-form-modal .cds--modal-container,::ng-deep .valtimo-tab-form-modal .cds--modal-content{overflow:unset}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
1909
|
+
}], ctorParameters: () => [{ type: TabService }, { type: i1$3.FormGroupDirective }], propDecorators: { tabType: [{
|
|
1566
1910
|
type: Input
|
|
1567
1911
|
}] } });
|
|
1568
1912
|
|
|
1569
1913
|
/*
|
|
1570
|
-
* Copyright 2015-
|
|
1914
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
1571
1915
|
*
|
|
1572
1916
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
1573
1917
|
* you may not use this file except in compliance with the License.
|
|
@@ -1643,13 +1987,13 @@ class DossierManagementAddTabModalComponent {
|
|
|
1643
1987
|
? null
|
|
1644
1988
|
: { uniqueKey: { value: control.value } };
|
|
1645
1989
|
}
|
|
1646
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1647
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
1990
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementAddTabModalComponent, deps: [{ token: i1$3.FormBuilder }, { token: i2$2.IconService }, { token: TabService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1991
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: DossierManagementAddTabModalComponent, selector: "valtimo-dossier-management-add-tab-modal", inputs: { documentDefinitionName: "documentDefinitionName", open: "open" }, outputs: { closeModalEvent: "closeModalEvent" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<cds-modal valtimoCdsModal *ngIf=\"{selectedTabType: selectedTabType$ | async} as obs\" [open]=\"open\">\n <cds-modal-header showCloseButton=\"true\" (closeSelect)=\"onCloseModal()\">\n <h3 cdsModalHeaderHeading>\n {{\n !obs.selectedTabType\n ? ('dossierManagement.tabManagement.addModal.title'\n | translate: {documentDefinitionName: (documentDefinitionName | titlecase)})\n : ('dossierManagement.tabManagement.titles.' + obs.selectedTabType | translate)\n }}\n </h3>\n </cds-modal-header>\n\n <section [formGroup]=\"form\" cdsModalContent class=\"valtimo-add-tab-modal__content\">\n <valtimo-tab-form\n *ngIf=\"obs.selectedTabType; else tabTypeSelection\"\n [tabType]=\"obs.selectedTabType\"\n ></valtimo-tab-form>\n\n <ng-template #tabTypeSelection>\n <span> {{ 'dossierManagement.tabManagement.addModal.description' | translate }} </span>\n\n <div *ngIf=\"tabTypes$ | async as tabTypes\" class=\"valtimo-add-tab-modal__types\">\n <button\n *ngFor=\"let tabType of tabTypes\"\n cdsButton=\"secondary\"\n [disabled]=\"tabType.disabled\"\n (click)=\"onTabTypeSelect(tabType.type)\"\n >\n {{ tabType.title | translate }}\n\n <svg [cdsIcon]=\"tabType.icon\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n </div>\n </ng-template>\n </section>\n\n <cds-modal-footer class=\"valtimo-add-tab-modal__footer\">\n <button class=\"valtimo-add-tab-modal__cancel\" cdsButton=\"ghost\" (click)=\"onCloseModal()\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <div class=\"valtimo-add-tab-modal__actions\" *ngIf=\"obs.selectedTabType\">\n <button cdsButton=\"secondary\" (click)=\"backClick()\">\n {{ 'interface.back' | translate }}\n </button>\n\n <button cdsButton=\"primary\" [disabled]=\"form.invalid\" (click)=\"addTab(obs.selectedTabType)\">\n {{ 'dossierManagement.tabManagement.addModal.addTab' | translate }}\n </button>\n </div>\n </cds-modal-footer>\n</cds-modal>\n", styles: [".valtimo-add-tab-modal__footer .cds--modal-footer{justify-content:unset;display:grid;grid-template-columns:1fr 1fr 2fr;grid-template-areas:\"cancel . actions\"}.valtimo-add-tab-modal__cancel{grid-area:cancel;width:100%}.valtimo-add-tab-modal__actions{grid-area:actions;display:flex}.valtimo-add-tab-modal__types{display:grid;grid-template:1fr/repeat(3,1fr);gap:16px}.valtimo-add-tab-modal__types button{width:100%}.valtimo-add-tab-modal__content{display:flex;flex-direction:column;gap:24px}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i2$2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i2$2.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i2$2.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i2$2.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i2$2.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i2$2.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]" }, { kind: "component", type: TabFormComponent, selector: "valtimo-tab-form", inputs: ["tabType"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
1648
1992
|
}
|
|
1649
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1993
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementAddTabModalComponent, decorators: [{
|
|
1650
1994
|
type: Component,
|
|
1651
|
-
args: [{ selector: 'valtimo-dossier-management-add-tab-modal', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<!--\n ~ Copyright 2015-
|
|
1652
|
-
}], ctorParameters:
|
|
1995
|
+
args: [{ selector: 'valtimo-dossier-management-add-tab-modal', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<cds-modal valtimoCdsModal *ngIf=\"{selectedTabType: selectedTabType$ | async} as obs\" [open]=\"open\">\n <cds-modal-header showCloseButton=\"true\" (closeSelect)=\"onCloseModal()\">\n <h3 cdsModalHeaderHeading>\n {{\n !obs.selectedTabType\n ? ('dossierManagement.tabManagement.addModal.title'\n | translate: {documentDefinitionName: (documentDefinitionName | titlecase)})\n : ('dossierManagement.tabManagement.titles.' + obs.selectedTabType | translate)\n }}\n </h3>\n </cds-modal-header>\n\n <section [formGroup]=\"form\" cdsModalContent class=\"valtimo-add-tab-modal__content\">\n <valtimo-tab-form\n *ngIf=\"obs.selectedTabType; else tabTypeSelection\"\n [tabType]=\"obs.selectedTabType\"\n ></valtimo-tab-form>\n\n <ng-template #tabTypeSelection>\n <span> {{ 'dossierManagement.tabManagement.addModal.description' | translate }} </span>\n\n <div *ngIf=\"tabTypes$ | async as tabTypes\" class=\"valtimo-add-tab-modal__types\">\n <button\n *ngFor=\"let tabType of tabTypes\"\n cdsButton=\"secondary\"\n [disabled]=\"tabType.disabled\"\n (click)=\"onTabTypeSelect(tabType.type)\"\n >\n {{ tabType.title | translate }}\n\n <svg [cdsIcon]=\"tabType.icon\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n </div>\n </ng-template>\n </section>\n\n <cds-modal-footer class=\"valtimo-add-tab-modal__footer\">\n <button class=\"valtimo-add-tab-modal__cancel\" cdsButton=\"ghost\" (click)=\"onCloseModal()\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <div class=\"valtimo-add-tab-modal__actions\" *ngIf=\"obs.selectedTabType\">\n <button cdsButton=\"secondary\" (click)=\"backClick()\">\n {{ 'interface.back' | translate }}\n </button>\n\n <button cdsButton=\"primary\" [disabled]=\"form.invalid\" (click)=\"addTab(obs.selectedTabType)\">\n {{ 'dossierManagement.tabManagement.addModal.addTab' | translate }}\n </button>\n </div>\n </cds-modal-footer>\n</cds-modal>\n", styles: [".valtimo-add-tab-modal__footer .cds--modal-footer{justify-content:unset;display:grid;grid-template-columns:1fr 1fr 2fr;grid-template-areas:\"cancel . actions\"}.valtimo-add-tab-modal__cancel{grid-area:cancel;width:100%}.valtimo-add-tab-modal__actions{grid-area:actions;display:flex}.valtimo-add-tab-modal__types{display:grid;grid-template:1fr/repeat(3,1fr);gap:16px}.valtimo-add-tab-modal__types button{width:100%}.valtimo-add-tab-modal__content{display:flex;flex-direction:column;gap:24px}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
1996
|
+
}], ctorParameters: () => [{ type: i1$3.FormBuilder }, { type: i2$2.IconService }, { type: TabService }], propDecorators: { documentDefinitionName: [{
|
|
1653
1997
|
type: Input
|
|
1654
1998
|
}], open: [{
|
|
1655
1999
|
type: Input
|
|
@@ -1658,7 +2002,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
1658
2002
|
}] } });
|
|
1659
2003
|
|
|
1660
2004
|
/*
|
|
1661
|
-
* Copyright 2015-
|
|
2005
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
1662
2006
|
*
|
|
1663
2007
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
1664
2008
|
* you may not use this file except in compliance with the License.
|
|
@@ -1705,13 +2049,13 @@ class DossierManagementEditTabModalComponent {
|
|
|
1705
2049
|
}
|
|
1706
2050
|
this.closeModalEvent.emit({ ...this.tab, name, contentKey });
|
|
1707
2051
|
}
|
|
1708
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1709
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
2052
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementEditTabModalComponent, deps: [{ token: i1$3.FormBuilder }, { token: TabService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2053
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: DossierManagementEditTabModalComponent, selector: "valtimo-dossier-management-edit-tab-modal", inputs: { open: "open", tab: "tab" }, outputs: { closeModalEvent: "closeModalEvent" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<cds-modal valtimoCdsModal *ngIf=\"form\" [open]=\"open\">\n <cds-modal-header showCloseButton=\"true\" (closeSelect)=\"onCloseModal()\">\n <h3 cdsModalHeaderHeading>\n {{\n 'dossierManagement.tabManagement.editModal.title'\n | translate: {name: tab?.name ?? 'dossier.tabs.' + tab.key | translate}\n }}\n </h3>\n </cds-modal-header>\n\n <section [formGroup]=\"form\" cdsModalContent>\n <valtimo-tab-form\n [configuredContentKeys]=\"configuredKeysForEdit\"\n [tabType]=\"tab?.type\"\n ></valtimo-tab-form>\n </section>\n\n <cds-modal-footer>\n <button cdsButton=\"secondary\" (click)=\"onCloseModal()\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button cdsButton=\"primary\" [disabled]=\"form.invalid\" (click)=\"editTab()\">\n {{ 'dossierManagement.tabManagement.editModal.updateTab' | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n", dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "component", type: i2$2.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i2$2.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i2$2.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i2$2.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i2$2.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]" }, { kind: "component", type: TabFormComponent, selector: "valtimo-tab-form", inputs: ["tabType"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
|
|
1710
2054
|
}
|
|
1711
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2055
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementEditTabModalComponent, decorators: [{
|
|
1712
2056
|
type: Component,
|
|
1713
|
-
args: [{ selector: 'valtimo-dossier-management-edit-tab-modal', template: "<!--\n ~ Copyright 2015-
|
|
1714
|
-
}], ctorParameters:
|
|
2057
|
+
args: [{ selector: 'valtimo-dossier-management-edit-tab-modal', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<cds-modal valtimoCdsModal *ngIf=\"form\" [open]=\"open\">\n <cds-modal-header showCloseButton=\"true\" (closeSelect)=\"onCloseModal()\">\n <h3 cdsModalHeaderHeading>\n {{\n 'dossierManagement.tabManagement.editModal.title'\n | translate: {name: tab?.name ?? 'dossier.tabs.' + tab.key | translate}\n }}\n </h3>\n </cds-modal-header>\n\n <section [formGroup]=\"form\" cdsModalContent>\n <valtimo-tab-form\n [configuredContentKeys]=\"configuredKeysForEdit\"\n [tabType]=\"tab?.type\"\n ></valtimo-tab-form>\n </section>\n\n <cds-modal-footer>\n <button cdsButton=\"secondary\" (click)=\"onCloseModal()\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button cdsButton=\"primary\" [disabled]=\"form.invalid\" (click)=\"editTab()\">\n {{ 'dossierManagement.tabManagement.editModal.updateTab' | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n" }]
|
|
2058
|
+
}], ctorParameters: () => [{ type: i1$3.FormBuilder }, { type: TabService }], propDecorators: { open: [{
|
|
1715
2059
|
type: Input
|
|
1716
2060
|
}], tab: [{
|
|
1717
2061
|
type: Input
|
|
@@ -1720,7 +2064,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
1720
2064
|
}] } });
|
|
1721
2065
|
|
|
1722
2066
|
/*
|
|
1723
|
-
* Copyright 2015-
|
|
2067
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
1724
2068
|
*
|
|
1725
2069
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
1726
2070
|
* you may not use this file except in compliance with the License.
|
|
@@ -1854,13 +2198,13 @@ class DossierManagementTabsComponent {
|
|
|
1854
2198
|
temp[index1] = temp.splice(index2, 1, temp[index1])[0];
|
|
1855
2199
|
return temp;
|
|
1856
2200
|
}
|
|
1857
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1858
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
2201
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementTabsComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i2$2.IconService }, { token: TabManagementService }, { token: TabService }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2202
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: DossierManagementTabsComponent, selector: "valtimo-dossier-management-tabs", inputs: { documentDefinitionName: "documentDefinitionName" }, viewQueries: [{ propertyName: "tabContentColumnTemplate", first: true, predicate: ["tabContentColumn"], descendants: true }, { propertyName: "tabTypeColumnTemplate", first: true, predicate: ["tabTypeColumn"], descendants: true }, { propertyName: "moveButtonsTemplate", first: true, predicate: ["moveButtonsTemplate"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-carbon-list\n *ngIf=\"{fields: fields$ | async, loading: loading$ | async, tabs: tabs$ | async} as obs\"\n [actionItems]=\"actionItems\"\n [items]=\"obs.tabs\"\n [fields]=\"obs.fields\"\n [header]=\"false\"\n [loading]=\"obs.loading\"\n [movingRowsEnabled]=\"true\"\n (rowClicked)=\"onRowClicked($event)\"\n (moveRow)=\"onMoveRowClick($event)\"\n>\n <ng-container carbonToolbarContent>\n <ng-container [ngTemplateOutlet]=\"addTabButton\"></ng-container>\n </ng-container>\n\n <valtimo-no-results\n [action]=\"addTabButton\"\n [description]=\"'dossier.tabs.noResultsDescription' | translate\"\n [title]=\"'dossier.tabs.noResults' | translate\"\n ></valtimo-no-results>\n</valtimo-carbon-list>\n\n<ng-template #tabTypeColumn let-data=\"data\">\n {{\n isTranslated('dossierManagement.tabType.' + data.item.type)\n ? ('dossierManagement.tabType.' + data.item.type | translate)\n : data.item.type\n }}\n</ng-template>\n\n<ng-template #tabContentColumn let-data=\"data\">\n {{\n isTranslated('dossier.tabs.' + data.item.contentKey)\n ? ('dossier.tabs.' + data.item.contentKey | translate)\n : data.item.contentKey\n }}\n</ng-template>\n\n<ng-template #addTabButton>\n <button cdsButton=\"primary\" (click)=\"openAddTabModal()\">\n {{ 'dossierManagement.tabManagement.addModal.addTab' | translate }}\n\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n</ng-template>\n\n<valtimo-dossier-management-add-tab-modal\n *ngIf=\"openAddModal$ | async\"\n [documentDefinitionName]=\"documentDefinitionName\"\n [open]=\"openAddModal$ | async\"\n (closeModalEvent)=\"onCloseAddModalEvent($event)\"\n></valtimo-dossier-management-add-tab-modal>\n\n<valtimo-dossier-management-edit-tab-modal\n *ngIf=\"openEditModal$ | async\"\n [tab]=\"tab$ | async\"\n (closeModalEvent)=\"onCloseEditModalEvent($event)\"\n [open]=\"openEditModal$ | async\"\n></valtimo-dossier-management-edit-tab-modal>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"dossierManagement.tabManagement.deleteModal.description\"\n [outputOnConfirm]=\"deleteRowKey$ | async\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"dossierManagement.tabManagement.deleteModal.title\"\n (confirmEvent)=\"onConfirmEvent($event)\"\n></valtimo-confirmation-modal>\n", styles: [".valtimo-dossier-management-tabs__actions{width:1px}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i2$2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i5.ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: ["titleTranslationKey", "title", "content", "contentTranslationKey", "confirmButtonText", "confirmButtonTextTranslationKey", "confirmButtonType", "showOptionalButton", "optionalButtonText", "optionalButtonTextTranslationKey", "optionalButtonType", "cancelButtonText", "cancelButtonTextTranslationKey", "cancelButtonType", "showModalSubject$", "outputOnConfirm", "outputOnOptional", "spacerAfterCancelButton"], outputs: ["confirmEvent", "optionalEvent", "cancelEvent"] }, { kind: "component", type: i5.CarbonListComponent, selector: "valtimo-carbon-list", inputs: ["items", "fields", "tableTranslations", "paginatorConfig", "pagination", "loading", "actions", "actionItems", "header", "hideColumnHeader", "initialSortState", "isSearchable", "enableSingleSelection", "lastColumnTemplate", "paginationIdentifier", "showSelectionColumn", "striped", "hideToolbar", "lockedTooltipTranslationKey", "movingRowsEnabled"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged", "moveRow", "itemsReordered"] }, { kind: "component", type: i5.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title"] }, { kind: "component", type: DossierManagementAddTabModalComponent, selector: "valtimo-dossier-management-add-tab-modal", inputs: ["documentDefinitionName", "open"], outputs: ["closeModalEvent"] }, { kind: "component", type: DossierManagementEditTabModalComponent, selector: "valtimo-dossier-management-edit-tab-modal", inputs: ["open", "tab"], outputs: ["closeModalEvent"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
1859
2203
|
}
|
|
1860
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2204
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementTabsComponent, decorators: [{
|
|
1861
2205
|
type: Component,
|
|
1862
|
-
args: [{ selector: 'valtimo-dossier-management-tabs', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<!--\n ~ Copyright 2015-
|
|
1863
|
-
}], ctorParameters:
|
|
2206
|
+
args: [{ selector: 'valtimo-dossier-management-tabs', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-carbon-list\n *ngIf=\"{fields: fields$ | async, loading: loading$ | async, tabs: tabs$ | async} as obs\"\n [actionItems]=\"actionItems\"\n [items]=\"obs.tabs\"\n [fields]=\"obs.fields\"\n [header]=\"false\"\n [loading]=\"obs.loading\"\n [movingRowsEnabled]=\"true\"\n (rowClicked)=\"onRowClicked($event)\"\n (moveRow)=\"onMoveRowClick($event)\"\n>\n <ng-container carbonToolbarContent>\n <ng-container [ngTemplateOutlet]=\"addTabButton\"></ng-container>\n </ng-container>\n\n <valtimo-no-results\n [action]=\"addTabButton\"\n [description]=\"'dossier.tabs.noResultsDescription' | translate\"\n [title]=\"'dossier.tabs.noResults' | translate\"\n ></valtimo-no-results>\n</valtimo-carbon-list>\n\n<ng-template #tabTypeColumn let-data=\"data\">\n {{\n isTranslated('dossierManagement.tabType.' + data.item.type)\n ? ('dossierManagement.tabType.' + data.item.type | translate)\n : data.item.type\n }}\n</ng-template>\n\n<ng-template #tabContentColumn let-data=\"data\">\n {{\n isTranslated('dossier.tabs.' + data.item.contentKey)\n ? ('dossier.tabs.' + data.item.contentKey | translate)\n : data.item.contentKey\n }}\n</ng-template>\n\n<ng-template #addTabButton>\n <button cdsButton=\"primary\" (click)=\"openAddTabModal()\">\n {{ 'dossierManagement.tabManagement.addModal.addTab' | translate }}\n\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n</ng-template>\n\n<valtimo-dossier-management-add-tab-modal\n *ngIf=\"openAddModal$ | async\"\n [documentDefinitionName]=\"documentDefinitionName\"\n [open]=\"openAddModal$ | async\"\n (closeModalEvent)=\"onCloseAddModalEvent($event)\"\n></valtimo-dossier-management-add-tab-modal>\n\n<valtimo-dossier-management-edit-tab-modal\n *ngIf=\"openEditModal$ | async\"\n [tab]=\"tab$ | async\"\n (closeModalEvent)=\"onCloseEditModalEvent($event)\"\n [open]=\"openEditModal$ | async\"\n></valtimo-dossier-management-edit-tab-modal>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"dossierManagement.tabManagement.deleteModal.description\"\n [outputOnConfirm]=\"deleteRowKey$ | async\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"dossierManagement.tabManagement.deleteModal.title\"\n (confirmEvent)=\"onConfirmEvent($event)\"\n></valtimo-confirmation-modal>\n", styles: [".valtimo-dossier-management-tabs__actions{width:1px}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
2207
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i2$2.IconService }, { type: TabManagementService }, { type: TabService }, { type: i3.TranslateService }], propDecorators: { tabContentColumnTemplate: [{
|
|
1864
2208
|
type: ViewChild,
|
|
1865
2209
|
args: ['tabContentColumn']
|
|
1866
2210
|
}], tabTypeColumnTemplate: [{
|
|
@@ -1874,7 +2218,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
1874
2218
|
}] } });
|
|
1875
2219
|
|
|
1876
2220
|
/*
|
|
1877
|
-
* Copyright 2015-
|
|
2221
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
1878
2222
|
*
|
|
1879
2223
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
1880
2224
|
* you may not use this file except in compliance with the License.
|
|
@@ -1888,44 +2232,89 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
1888
2232
|
* See the License for the specific language governing permissions and
|
|
1889
2233
|
* limitations under the License.
|
|
1890
2234
|
*/
|
|
1891
|
-
class
|
|
1892
|
-
constructor(documentService,
|
|
2235
|
+
class DossierManagementProcessesComponent {
|
|
2236
|
+
constructor(documentService, iconService, dossierDetailService, route, notificationService, translateService) {
|
|
1893
2237
|
this.documentService = documentService;
|
|
1894
|
-
this.
|
|
1895
|
-
this.
|
|
2238
|
+
this.iconService = iconService;
|
|
2239
|
+
this.dossierDetailService = dossierDetailService;
|
|
2240
|
+
this.route = route;
|
|
2241
|
+
this.notificationService = notificationService;
|
|
1896
2242
|
this.translateService = translateService;
|
|
1897
|
-
this.
|
|
1898
|
-
this.
|
|
1899
|
-
this.
|
|
1900
|
-
|
|
1901
|
-
|
|
1902
|
-
|
|
1903
|
-
|
|
2243
|
+
this._refresh$ = new BehaviorSubject(null);
|
|
2244
|
+
this.processDocumentDefinitions$ = this._refresh$.pipe(switchMap(() => combineLatest([this.route.paramMap, this.dossierDetailService.selectedVersionNumber$])), switchMap(([params, version]) => this.documentService.findProcessDocumentDefinitionsByVersion(params.get('name') ?? '', version)));
|
|
2245
|
+
this.documentDefinition$ = this.route.paramMap.pipe(switchMap((params) => this.documentService.getDocumentDefinitionForManagement(params.get('name') ?? '')));
|
|
2246
|
+
this.actionItems = [
|
|
2247
|
+
{
|
|
2248
|
+
label: 'dossierManagement.unlinkProcess',
|
|
2249
|
+
callback: this.deleteProcessDocumentDefinition.bind(this),
|
|
2250
|
+
type: 'danger',
|
|
2251
|
+
},
|
|
2252
|
+
];
|
|
2253
|
+
this.fields = [
|
|
2254
|
+
{
|
|
2255
|
+
key: 'processName',
|
|
2256
|
+
label: 'interface.name',
|
|
2257
|
+
viewType: ViewType.TEXT,
|
|
2258
|
+
},
|
|
2259
|
+
{
|
|
2260
|
+
key: 'canInitializeDocument',
|
|
2261
|
+
label: 'processCaseConnection.processCreatesCase',
|
|
2262
|
+
viewType: ViewType.BOOLEAN,
|
|
2263
|
+
},
|
|
2264
|
+
{
|
|
2265
|
+
key: 'startableByUser',
|
|
2266
|
+
label: 'processCaseConnection.startableWithinCase',
|
|
2267
|
+
viewType: ViewType.BOOLEAN,
|
|
2268
|
+
},
|
|
2269
|
+
];
|
|
2270
|
+
this.iconService.register(Link16);
|
|
1904
2271
|
}
|
|
1905
|
-
|
|
2272
|
+
deleteProcessDocumentDefinition(processDocumentDefinition) {
|
|
1906
2273
|
this.documentService
|
|
1907
|
-
.
|
|
1908
|
-
.
|
|
1909
|
-
|
|
1910
|
-
|
|
1911
|
-
|
|
1912
|
-
|
|
1913
|
-
|
|
2274
|
+
.deleteProcessDocumentDefinition({
|
|
2275
|
+
documentDefinitionName: processDocumentDefinition.id.documentDefinitionId.name,
|
|
2276
|
+
processDefinitionKey: processDocumentDefinition.id.processDefinitionKey,
|
|
2277
|
+
documentDefinitionVersion: processDocumentDefinition.id.documentDefinitionId.version,
|
|
2278
|
+
canInitializeDocument: processDocumentDefinition.canInitializeDocument,
|
|
2279
|
+
startableByUser: processDocumentDefinition.startableByUser,
|
|
2280
|
+
})
|
|
2281
|
+
.subscribe({
|
|
2282
|
+
next: () => {
|
|
2283
|
+
this.notificationService.showNotification({
|
|
2284
|
+
type: 'success',
|
|
2285
|
+
title: this.translateService.instant('dossierManagement.processLinkNotification.unlinkSuccess'),
|
|
2286
|
+
duration: 5000,
|
|
2287
|
+
});
|
|
2288
|
+
this.loadProcessDocumentDefinitions();
|
|
2289
|
+
},
|
|
2290
|
+
error: () => {
|
|
2291
|
+
this.notificationService.showNotification({
|
|
2292
|
+
type: 'error',
|
|
2293
|
+
title: this.translateService.instant('dossierManagement.processLinkNotification.unlinkFailure'),
|
|
2294
|
+
duration: 5000,
|
|
2295
|
+
});
|
|
2296
|
+
},
|
|
1914
2297
|
});
|
|
1915
2298
|
}
|
|
1916
|
-
|
|
1917
|
-
|
|
2299
|
+
loadProcessDocumentDefinitions() {
|
|
2300
|
+
this._refresh$.next(null);
|
|
2301
|
+
}
|
|
2302
|
+
openDossierConnectModal(documentDefinition) {
|
|
2303
|
+
this._dossierConnectModal.openModal(documentDefinition);
|
|
2304
|
+
}
|
|
2305
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementProcessesComponent, deps: [{ token: i1.DocumentService }, { token: i2$2.IconService }, { token: DossierDetailService }, { token: i2.ActivatedRoute }, { token: i2$2.NotificationService }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2306
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: DossierManagementProcessesComponent, selector: "valtimo-dossier-management-processes", providers: [NotificationService], viewQueries: [{ propertyName: "_dossierConnectModal", first: true, predicate: ["dossierConnectModal"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n documentDefinition: documentDefinition$ | async,\n processDocumentDefinitions: processDocumentDefinitions$ | async\n } as obs\"\n>\n <valtimo-carbon-list\n [actionItems]=\"actionItems\"\n [items]=\"obs.processDocumentDefinitions\"\n [loading]=\"!obs.processDocumentDefinitions\"\n [fields]=\"fields\"\n [header]=\"false\"\n >\n <ng-container carbonToolbarContent [ngTemplateOutlet]=\"connectProcessButton\"></ng-container>\n\n <valtimo-no-results\n [title]=\"'processCaseConnection.noProcessesTitle' | translate\"\n [description]=\"'processCaseConnection.noProcessesDescription' | translate\"\n [action]=\"connectProcessButton\"\n ></valtimo-no-results>\n </valtimo-carbon-list>\n\n <ng-template #connectProcessButton>\n <button\n cdsButton=\"primary\"\n [disabled]=\"!obs.processDocumentDefinitions\"\n (click)=\"openDossierConnectModal(obs.documentDefinition)\"\n >\n {{ 'dossierManagement.processLink' | translate }}\n\n <svg cdsIcon=\"link\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n </ng-template>\n</ng-container>\n\n<valtimo-dossier-management-connect-modal\n #dossierConnectModal\n (reloadProcessDocumentDefinitions)=\"loadProcessDocumentDefinitions()\"\n></valtimo-dossier-management-connect-modal>\n", styles: ["::ng-deep .cds--tab-content{padding:0!important}::ng-deep .dossier-management-processes_actions{width:1px}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i2$2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i5.CarbonListComponent, selector: "valtimo-carbon-list", inputs: ["items", "fields", "tableTranslations", "paginatorConfig", "pagination", "loading", "actions", "actionItems", "header", "hideColumnHeader", "initialSortState", "isSearchable", "enableSingleSelection", "lastColumnTemplate", "paginationIdentifier", "showSelectionColumn", "striped", "hideToolbar", "lockedTooltipTranslationKey", "movingRowsEnabled"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged", "moveRow", "itemsReordered"] }, { kind: "component", type: i5.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title"] }, { kind: "component", type: DossierManagementConnectModalComponent, selector: "valtimo-dossier-management-connect-modal", outputs: ["reloadProcessDocumentDefinitions"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
|
|
1918
2307
|
}
|
|
1919
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2308
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementProcessesComponent, decorators: [{
|
|
1920
2309
|
type: Component,
|
|
1921
|
-
args: [{ selector: 'valtimo-dossier-management-
|
|
1922
|
-
}], ctorParameters:
|
|
2310
|
+
args: [{ selector: 'valtimo-dossier-management-processes', providers: [NotificationService], template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n documentDefinition: documentDefinition$ | async,\n processDocumentDefinitions: processDocumentDefinitions$ | async\n } as obs\"\n>\n <valtimo-carbon-list\n [actionItems]=\"actionItems\"\n [items]=\"obs.processDocumentDefinitions\"\n [loading]=\"!obs.processDocumentDefinitions\"\n [fields]=\"fields\"\n [header]=\"false\"\n >\n <ng-container carbonToolbarContent [ngTemplateOutlet]=\"connectProcessButton\"></ng-container>\n\n <valtimo-no-results\n [title]=\"'processCaseConnection.noProcessesTitle' | translate\"\n [description]=\"'processCaseConnection.noProcessesDescription' | translate\"\n [action]=\"connectProcessButton\"\n ></valtimo-no-results>\n </valtimo-carbon-list>\n\n <ng-template #connectProcessButton>\n <button\n cdsButton=\"primary\"\n [disabled]=\"!obs.processDocumentDefinitions\"\n (click)=\"openDossierConnectModal(obs.documentDefinition)\"\n >\n {{ 'dossierManagement.processLink' | translate }}\n\n <svg cdsIcon=\"link\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n </ng-template>\n</ng-container>\n\n<valtimo-dossier-management-connect-modal\n #dossierConnectModal\n (reloadProcessDocumentDefinitions)=\"loadProcessDocumentDefinitions()\"\n></valtimo-dossier-management-connect-modal>\n", styles: ["::ng-deep .cds--tab-content{padding:0!important}::ng-deep .dossier-management-processes_actions{width:1px}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
2311
|
+
}], ctorParameters: () => [{ type: i1.DocumentService }, { type: i2$2.IconService }, { type: DossierDetailService }, { type: i2.ActivatedRoute }, { type: i2$2.NotificationService }, { type: i3.TranslateService }], propDecorators: { _dossierConnectModal: [{
|
|
1923
2312
|
type: ViewChild,
|
|
1924
|
-
args: ['
|
|
2313
|
+
args: ['dossierConnectModal']
|
|
1925
2314
|
}] } });
|
|
1926
2315
|
|
|
1927
2316
|
/*
|
|
1928
|
-
* Copyright 2015-
|
|
2317
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
1929
2318
|
*
|
|
1930
2319
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
1931
2320
|
* you may not use this file except in compliance with the License.
|
|
@@ -1939,172 +2328,265 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
1939
2328
|
* See the License for the specific language governing permissions and
|
|
1940
2329
|
* limitations under the License.
|
|
1941
2330
|
*/
|
|
1942
|
-
class
|
|
1943
|
-
set
|
|
1944
|
-
this.
|
|
2331
|
+
class DossierManagementStatusModalComponent {
|
|
2332
|
+
set type(value) {
|
|
2333
|
+
this._type$.next(value);
|
|
2334
|
+
if (value === 'closed') {
|
|
2335
|
+
setTimeout(() => {
|
|
2336
|
+
this._typeAnimationDelay$.next(value);
|
|
2337
|
+
}, CARBON_CONSTANTS.modalAnimationMs);
|
|
2338
|
+
}
|
|
2339
|
+
else {
|
|
2340
|
+
this._typeAnimationDelay$.next(value);
|
|
2341
|
+
}
|
|
1945
2342
|
}
|
|
1946
|
-
|
|
1947
|
-
this.
|
|
1948
|
-
|
|
1949
|
-
|
|
2343
|
+
set prefill(value) {
|
|
2344
|
+
this._prefillStatus.next(value);
|
|
2345
|
+
}
|
|
2346
|
+
get visibleInCaseListByDefault() {
|
|
2347
|
+
return this.statusFormGroup?.get('visibleInCaseListByDefault');
|
|
2348
|
+
}
|
|
2349
|
+
get key() {
|
|
2350
|
+
return this.statusFormGroup?.get('key');
|
|
2351
|
+
}
|
|
2352
|
+
get title() {
|
|
2353
|
+
return this.statusFormGroup?.get('title');
|
|
2354
|
+
}
|
|
2355
|
+
get color() {
|
|
2356
|
+
return this.statusFormGroup?.get('color');
|
|
2357
|
+
}
|
|
2358
|
+
get invalid() {
|
|
2359
|
+
return !!this.statusFormGroup?.invalid;
|
|
2360
|
+
}
|
|
2361
|
+
get pristine() {
|
|
2362
|
+
return !!this.statusFormGroup?.pristine;
|
|
2363
|
+
}
|
|
2364
|
+
constructor(fb, iconService, caseStatusService, translateService) {
|
|
2365
|
+
this.fb = fb;
|
|
2366
|
+
this.iconService = iconService;
|
|
2367
|
+
this.caseStatusService = caseStatusService;
|
|
1950
2368
|
this.translateService = translateService;
|
|
1951
|
-
this.
|
|
1952
|
-
this.
|
|
1953
|
-
this.
|
|
1954
|
-
this.
|
|
1955
|
-
this.
|
|
1956
|
-
|
|
1957
|
-
|
|
1958
|
-
|
|
1959
|
-
|
|
1960
|
-
|
|
1961
|
-
|
|
2369
|
+
this.closeModalEvent = new EventEmitter();
|
|
2370
|
+
this._type$ = new BehaviorSubject(undefined);
|
|
2371
|
+
this._typeAnimationDelay$ = new BehaviorSubject(undefined);
|
|
2372
|
+
this._prefillStatus = new BehaviorSubject(undefined);
|
|
2373
|
+
this.statusFormGroup = this.fb.group({
|
|
2374
|
+
title: this.fb.control('', Validators.required),
|
|
2375
|
+
key: this.fb.control('', [
|
|
2376
|
+
Validators.required,
|
|
2377
|
+
Validators.minLength(3),
|
|
2378
|
+
this.uniqueKeyValidator,
|
|
2379
|
+
]),
|
|
2380
|
+
visibleInCaseListByDefault: this.fb.control(true, Validators.required),
|
|
2381
|
+
color: this.fb.control('', Validators.required),
|
|
2382
|
+
});
|
|
2383
|
+
this.isEdit$ = combineLatest([this._typeAnimationDelay$, this._prefillStatus]).pipe(tap$1(([type, prefillStatus]) => {
|
|
2384
|
+
if (type === 'edit' && prefillStatus)
|
|
2385
|
+
this.prefillForm(prefillStatus);
|
|
2386
|
+
}), map(([type]) => type === 'edit'));
|
|
2387
|
+
this.isAdd$ = this._typeAnimationDelay$.pipe(map(type => type === 'add'), tap$1(isAdd => {
|
|
2388
|
+
if (isAdd)
|
|
2389
|
+
this.resetForm();
|
|
1962
2390
|
}));
|
|
1963
|
-
this.
|
|
1964
|
-
|
|
1965
|
-
|
|
2391
|
+
this.isClosed$ = this._type$.pipe(map(type => type === 'closed'));
|
|
2392
|
+
this.disabled$ = new BehaviorSubject(false);
|
|
2393
|
+
this.COLORS = [
|
|
2394
|
+
InternalCaseStatusColor.Red,
|
|
2395
|
+
InternalCaseStatusColor.Magenta,
|
|
2396
|
+
InternalCaseStatusColor.Purple,
|
|
2397
|
+
InternalCaseStatusColor.Blue,
|
|
2398
|
+
InternalCaseStatusColor.Teal,
|
|
2399
|
+
InternalCaseStatusColor.Green,
|
|
2400
|
+
InternalCaseStatusColor.Cyan,
|
|
2401
|
+
InternalCaseStatusColor.Gray,
|
|
2402
|
+
InternalCaseStatusColor.CoolGray,
|
|
2403
|
+
InternalCaseStatusColor.WarmGray,
|
|
2404
|
+
InternalCaseStatusColor.HighContrast,
|
|
2405
|
+
InternalCaseStatusColor.Outline,
|
|
2406
|
+
];
|
|
2407
|
+
this._selectedColor$ = new BehaviorSubject(undefined);
|
|
2408
|
+
this.colorListItems$ = combineLatest([
|
|
2409
|
+
this._selectedColor$,
|
|
1966
2410
|
this.translateService.stream('key'),
|
|
1967
|
-
]).pipe(map(([
|
|
1968
|
-
|
|
1969
|
-
|
|
1970
|
-
|
|
1971
|
-
|
|
1972
|
-
|
|
1973
|
-
|
|
2411
|
+
]).pipe(map(([selectedColor]) => this.COLORS.map(color => ({
|
|
2412
|
+
selected: color === selectedColor,
|
|
2413
|
+
content: this.translateService.instant('interface.tagType.' +
|
|
2414
|
+
InternalCaseStatusUtils.getTagTypeFromInternalCaseStatusColor(color)),
|
|
2415
|
+
color,
|
|
2416
|
+
tagType: InternalCaseStatusUtils.getTagTypeFromInternalCaseStatusColor(color),
|
|
2417
|
+
}))));
|
|
2418
|
+
this.editingKey$ = new BehaviorSubject(false);
|
|
2419
|
+
this._originalStatusKey$ = new BehaviorSubject('');
|
|
2420
|
+
this._subscriptions = new Subscription();
|
|
2421
|
+
this.iconService.registerAll([Edit16]);
|
|
1974
2422
|
}
|
|
1975
|
-
|
|
1976
|
-
this.
|
|
1977
|
-
|
|
1978
|
-
|
|
1979
|
-
|
|
1980
|
-
|
|
1981
|
-
|
|
2423
|
+
ngOnInit() {
|
|
2424
|
+
this.openAutoKeySubscription();
|
|
2425
|
+
}
|
|
2426
|
+
ngOnDestroy() {
|
|
2427
|
+
this._subscriptions.unsubscribe();
|
|
2428
|
+
}
|
|
2429
|
+
onClose() {
|
|
2430
|
+
this.close();
|
|
2431
|
+
}
|
|
2432
|
+
toggleCheckedChange(checked) {
|
|
2433
|
+
this.statusFormGroup.patchValue({
|
|
2434
|
+
visibleInCaseListByDefault: checked,
|
|
1982
2435
|
});
|
|
1983
|
-
|
|
1984
|
-
|
|
1985
|
-
|
|
1986
|
-
|
|
2436
|
+
this.statusFormGroup.markAsDirty();
|
|
2437
|
+
}
|
|
2438
|
+
addStatus() {
|
|
2439
|
+
this.disable();
|
|
2440
|
+
this.caseStatusService
|
|
2441
|
+
.saveInternalCaseStatus(this.documentDefinitionName, this.getFormValue())
|
|
1987
2442
|
.subscribe({
|
|
1988
|
-
next:
|
|
1989
|
-
this.
|
|
1990
|
-
this.
|
|
1991
|
-
type: 'success',
|
|
1992
|
-
title: this.translateService.instant('dossierManagement.exportSuccessTitle'),
|
|
1993
|
-
duration: 5000,
|
|
1994
|
-
});
|
|
1995
|
-
this.downloadZip(response, selectedVersionNumber);
|
|
1996
|
-
this.stopExporting();
|
|
2443
|
+
next: () => {
|
|
2444
|
+
this.enable();
|
|
2445
|
+
this.closeAndRefresh();
|
|
1997
2446
|
},
|
|
1998
2447
|
error: () => {
|
|
1999
|
-
this.
|
|
2000
|
-
this._currentNotification = this.notificationService.showNotification({
|
|
2001
|
-
type: 'error',
|
|
2002
|
-
title: this.translateService.instant('dossierManagement.exportErrorTitle'),
|
|
2003
|
-
message: this.translateService.instant('dossierManagement.exportErrorMessage'),
|
|
2004
|
-
duration: 5000,
|
|
2005
|
-
});
|
|
2006
|
-
this.stopExporting();
|
|
2448
|
+
this.enable(false);
|
|
2007
2449
|
},
|
|
2008
2450
|
});
|
|
2009
2451
|
}
|
|
2010
|
-
|
|
2011
|
-
this.
|
|
2012
|
-
|
|
2013
|
-
|
|
2014
|
-
|
|
2015
|
-
|
|
2452
|
+
editStatus() {
|
|
2453
|
+
this.disable();
|
|
2454
|
+
this._originalStatusKey$
|
|
2455
|
+
.pipe(take(1), switchMap(originalStatusKey => this.caseStatusService.updateInternalCaseStatus(this.documentDefinitionName, originalStatusKey, this.getFormValue())))
|
|
2456
|
+
.subscribe({
|
|
2457
|
+
next: () => {
|
|
2458
|
+
this.enable();
|
|
2459
|
+
this.closeAndRefresh();
|
|
2460
|
+
},
|
|
2461
|
+
error: () => {
|
|
2462
|
+
this.enable(false);
|
|
2463
|
+
},
|
|
2016
2464
|
});
|
|
2017
2465
|
}
|
|
2018
|
-
|
|
2019
|
-
this.
|
|
2466
|
+
editKeyButtonClick() {
|
|
2467
|
+
this.editingKey$.next(true);
|
|
2020
2468
|
}
|
|
2021
|
-
|
|
2022
|
-
|
|
2469
|
+
colorDropdownChange(event) {
|
|
2470
|
+
const newColor = event?.item?.color;
|
|
2471
|
+
if (newColor) {
|
|
2472
|
+
this._selectedColor$.next(newColor);
|
|
2473
|
+
this.statusFormGroup.patchValue({ color: newColor });
|
|
2474
|
+
this.statusFormGroup.markAsDirty();
|
|
2475
|
+
}
|
|
2023
2476
|
}
|
|
2024
|
-
|
|
2025
|
-
|
|
2026
|
-
|
|
2027
|
-
|
|
2028
|
-
|
|
2029
|
-
|
|
2030
|
-
|
|
2031
|
-
|
|
2032
|
-
|
|
2033
|
-
|
|
2477
|
+
prefillForm(prefillStatus) {
|
|
2478
|
+
this._originalStatusKey$.next(prefillStatus.key);
|
|
2479
|
+
this.statusFormGroup.patchValue({
|
|
2480
|
+
key: prefillStatus.key,
|
|
2481
|
+
title: prefillStatus.title,
|
|
2482
|
+
visibleInCaseListByDefault: prefillStatus.visibleInCaseListByDefault,
|
|
2483
|
+
color: prefillStatus.color,
|
|
2484
|
+
});
|
|
2485
|
+
this._selectedColor$.next(prefillStatus.color);
|
|
2486
|
+
this.statusFormGroup.markAsPristine();
|
|
2487
|
+
this.resetEditingKey();
|
|
2034
2488
|
}
|
|
2035
|
-
|
|
2036
|
-
|
|
2037
|
-
|
|
2489
|
+
resetForm() {
|
|
2490
|
+
this.statusFormGroup.patchValue({
|
|
2491
|
+
key: '',
|
|
2492
|
+
title: '',
|
|
2493
|
+
visibleInCaseListByDefault: true,
|
|
2494
|
+
color: InternalCaseStatusColor.Blue,
|
|
2495
|
+
});
|
|
2496
|
+
this._selectedColor$.next(InternalCaseStatusColor.Blue);
|
|
2497
|
+
this.statusFormGroup.markAsPristine();
|
|
2498
|
+
this.resetEditingKey();
|
|
2499
|
+
}
|
|
2500
|
+
resetEditingKey() {
|
|
2501
|
+
this.editingKey$.next(false);
|
|
2502
|
+
}
|
|
2503
|
+
openAutoKeySubscription() {
|
|
2504
|
+
this._subscriptions.add(combineLatest([this.isAdd$, this.title.valueChanges, this.editingKey$]).subscribe(([isAdd, titleValue, editingKey]) => {
|
|
2505
|
+
if (isAdd && !editingKey) {
|
|
2506
|
+
if (titleValue) {
|
|
2507
|
+
this.statusFormGroup.patchValue({ key: this.getUniqueKey(titleValue) });
|
|
2508
|
+
}
|
|
2509
|
+
else {
|
|
2510
|
+
this.clearKey();
|
|
2511
|
+
}
|
|
2512
|
+
}
|
|
2513
|
+
}));
|
|
2514
|
+
}
|
|
2515
|
+
getUniqueKey(title) {
|
|
2516
|
+
const dashCaseKey = `${title}`
|
|
2517
|
+
.toLowerCase()
|
|
2518
|
+
.replace(/[^a-z0-9-_]+|-[^a-z0-9]+/g, '-')
|
|
2519
|
+
.replace(/_[-_]+/g, '_')
|
|
2520
|
+
.replace(/^[^a-z]+/g, '');
|
|
2521
|
+
const usedKeys = this.usedKeys;
|
|
2522
|
+
if (!usedKeys.includes(dashCaseKey)) {
|
|
2523
|
+
return dashCaseKey;
|
|
2038
2524
|
}
|
|
2525
|
+
return this.getUniqueKeyWithNumber(dashCaseKey, usedKeys);
|
|
2526
|
+
}
|
|
2527
|
+
getUniqueKeyWithNumber(dashCaseKey, usedKeys) {
|
|
2528
|
+
const numbersFromCurrentKey = (dashCaseKey.match(/^\d+|\d+\b|\d+(?=\w)/g) || []).map((numberValue) => +numberValue);
|
|
2529
|
+
const lastNumberFromCurrentKey = numbersFromCurrentKey.length > 0 && numbersFromCurrentKey[numbersFromCurrentKey.length - 1];
|
|
2530
|
+
const newKey = lastNumberFromCurrentKey
|
|
2531
|
+
? `${dashCaseKey.replace(`${lastNumberFromCurrentKey}`, `${lastNumberFromCurrentKey + 1}`)}`
|
|
2532
|
+
: `${dashCaseKey}-1`;
|
|
2533
|
+
if (usedKeys.includes(newKey)) {
|
|
2534
|
+
return this.getUniqueKeyWithNumber(newKey, usedKeys);
|
|
2535
|
+
}
|
|
2536
|
+
return newKey;
|
|
2039
2537
|
}
|
|
2040
|
-
|
|
2041
|
-
|
|
2042
|
-
return a > b ? a : b;
|
|
2043
|
-
});
|
|
2538
|
+
clearKey() {
|
|
2539
|
+
this.statusFormGroup.patchValue({ key: '' });
|
|
2044
2540
|
}
|
|
2045
|
-
|
|
2046
|
-
|
|
2047
|
-
|
|
2048
|
-
|
|
2049
|
-
type: Component,
|
|
2050
|
-
args: [{ selector: 'valtimo-dossier-management-detail-container-actions', changeDetection: ChangeDetectionStrategy.OnPush, providers: [NotificationService], 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=\"dossier-actions\"\n *ngIf=\"{\n exporting: exporting$ | async,\n loadingVersion: loadingVersion$ | async,\n versionListItems: versionListItems$ | async,\n selectedDocumentDefinition: selectedDocumentDefinition$ | async,\n selectedDocumentDefinitionIsReadOnly: selectedDocumentDefinitionIsReadOnly$ | async\n } as obs\"\n>\n <div class=\"dossier-metadata\">\n <ng-container *ngTemplateOutlet=\"versionSelection;context:{obs:obs}\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"readOnly;context:{obs:obs}\"></ng-container>\n </div>\n\n <ng-container *ngTemplateOutlet=\"exportMenu;context:{obs:obs}\"></ng-container>\n</div>\n\n<ng-template #versionSelection let-obs=\"obs\">\n <cds-dropdown\n class=\"version-selection\"\n [disabled]=\"obs.loadingVersion || obs.versionListItems.length === 1\"\n [attr.data-carbon-theme]=\"CARBON_THEME\"\n [skeleton]=\"obs.loadingVersion\"\n (selected)=\"setVersion($event)\"\n >\n <cds-dropdown-list [items]=\"obs.versionListItems\"></cds-dropdown-list>\n </cds-dropdown>\n</ng-template>\n\n<ng-template #exportMenu let-obs=\"obs\">\n <cds-overflow-menu\n valtimoCdsOverflowButton\n [width]=\"250\"\n [customTrigger]=\"customTrigger\"\n [offset]=\"{y: 48, x: 37}\"\n class=\"overflow-button\"\n [attr.data-carbon-theme]=\"CARBON_THEME\"\n >\n <cds-overflow-menu-option\n [disabled]=\"obs.exporting || obs.loadingVersion\"\n (selected)=\"export() \"\n [attr.data-carbon-theme]=\"CARBON_THEME\"\n >{{ 'dossierManagement.export' | translate: {value: documentDefinitionTitle}\n }}</cds-overflow-menu-option\n >\n\n <cds-overflow-menu-option\n *ngIf=\"obs.selectedDocumentDefinition && !obs.selectedDocumentDefinition.readOnly\"\n [disabled]=\"obs.exporting || obs.loadingVersion\"\n (selected)=\"openDossierRemoveModal() \"\n [attr.data-carbon-theme]=\"CARBON_THEME\"\n >{{ 'Remove document definition' | translate}}</cds-overflow-menu-option\n >\n </cds-overflow-menu>\n</ng-template>\n\n<ng-template #customTrigger>\n <button cdsButton=\"tertiary\" [attr.data-carbon-theme]=\"CARBON_THEME\">\n {{ 'dossierManagement.more' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"overflow-menu--vertical\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<ng-template #exportingMessage>\n <div class=\"exporting-message\">\n <span class=\"cds--inline-notification__title\"\n >{{'dossierManagement.preparingDownload' | translate}}</span\n >\n\n <cds-loading size=\"sm\"></cds-loading>\n </div>\n</ng-template>\n\n<ng-template #readOnly let-obs=\"obs\">\n <cds-tag *ngIf=\"obs.selectedDocumentDefinitionIsReadOnly\" type=\"blue\"\n >{{'dossierManagement.readonly' | translate}}</cds-tag\n >\n</ng-template>\n\n<valtimo-dossier-management-remove-modal\n #dossierRemoveModal\n></valtimo-dossier-management-remove-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 */.dossier-actions{display:flex;width:100%;justify-content:space-between;align-items:flex-end}.dossier-actions ::ng-deep .version-selection{width:160px}.dossier-actions ::ng-deep .version-selection .cds--list-box__selection{display:none}.exporting-message{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px}.dossier-metadata{display:flex;gap:24px;align-items:flex-end}\n"] }]
|
|
2051
|
-
}], ctorParameters: function () { return [{ type: Document, decorators: [{
|
|
2052
|
-
type: Inject,
|
|
2053
|
-
args: [DOCUMENT]
|
|
2054
|
-
}] }, { type: i4.NotificationService }, { type: DossierExportService }, { type: i3.TranslateService }, { type: i1.DocumentService }, { type: DossierDetailService }]; }, propDecorators: { _exportMessageTemplateRef: [{
|
|
2055
|
-
type: ViewChild,
|
|
2056
|
-
args: ['exportingMessage']
|
|
2057
|
-
}], _dossierRemoveModal: [{
|
|
2058
|
-
type: ViewChild,
|
|
2059
|
-
args: ['dossierRemoveModal']
|
|
2060
|
-
}], documentDefinitionTitle: [{
|
|
2061
|
-
type: Input
|
|
2062
|
-
}], documentDefinitionName: [{
|
|
2063
|
-
type: Input
|
|
2064
|
-
}] } });
|
|
2065
|
-
|
|
2066
|
-
/*
|
|
2067
|
-
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
2068
|
-
*
|
|
2069
|
-
* Licensed under EUPL, Version 1.2 (the "License");
|
|
2070
|
-
* you may not use this file except in compliance with the License.
|
|
2071
|
-
* You may obtain a copy of the License at
|
|
2072
|
-
*
|
|
2073
|
-
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
2074
|
-
*
|
|
2075
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
2076
|
-
* distributed under the License is distributed on an "AS IS" basis,
|
|
2077
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2078
|
-
* See the License for the specific language governing permissions and
|
|
2079
|
-
* limitations under the License.
|
|
2080
|
-
*/
|
|
2081
|
-
class DossierManagementDocumentDefinitionComponent {
|
|
2082
|
-
constructor(dossierDetailService) {
|
|
2083
|
-
this.dossierDetailService = dossierDetailService;
|
|
2084
|
-
this.loadingDocumentDefinition$ = this.dossierDetailService.loadingDocumentDefinition$;
|
|
2085
|
-
this.documentDefinitionModel$ = this.dossierDetailService.documentDefinitionModel$;
|
|
2086
|
-
this.selectedDocumentDefinition$ = this.dossierDetailService.documentDefinition$;
|
|
2541
|
+
uniqueKeyValidator() {
|
|
2542
|
+
return (control) => combineLatest([this.isEdit$, control.valueChanges]).pipe(map(([isEdit, keyValue]) => this.usedKeys?.every((key) => key !== keyValue) || isEdit
|
|
2543
|
+
? null
|
|
2544
|
+
: { uniqueKey: { value: control.value } }));
|
|
2087
2545
|
}
|
|
2088
|
-
|
|
2089
|
-
this.
|
|
2090
|
-
|
|
2091
|
-
|
|
2092
|
-
|
|
2093
|
-
|
|
2094
|
-
|
|
2095
|
-
|
|
2096
|
-
});
|
|
2546
|
+
disable() {
|
|
2547
|
+
this.disabled$.next(true);
|
|
2548
|
+
this.statusFormGroup.disable();
|
|
2549
|
+
}
|
|
2550
|
+
enable(delay = true) {
|
|
2551
|
+
setTimeout(() => {
|
|
2552
|
+
this.disabled$.next(false);
|
|
2553
|
+
this.statusFormGroup.enable();
|
|
2554
|
+
}, delay ? CARBON_CONSTANTS.modalAnimationMs : 0);
|
|
2555
|
+
}
|
|
2556
|
+
close() {
|
|
2557
|
+
this.closeModalEvent.emit('close');
|
|
2558
|
+
}
|
|
2559
|
+
closeAndRefresh() {
|
|
2560
|
+
this.closeModalEvent.emit('closeAndRefresh');
|
|
2561
|
+
}
|
|
2562
|
+
getFormValue() {
|
|
2563
|
+
return {
|
|
2564
|
+
key: this.key.value,
|
|
2565
|
+
title: this.title.value,
|
|
2566
|
+
visibleInCaseListByDefault: this.visibleInCaseListByDefault.value,
|
|
2567
|
+
color: this.color.value,
|
|
2568
|
+
};
|
|
2097
2569
|
}
|
|
2098
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2099
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DossierManagementDocumentDefinitionComponent, selector: "valtimo-dossier-management-document-definition", 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=\"{documentDefinitionModel: documentDefinitionModel$ | async, loadingDocumentDefinition: loadingDocumentDefinition$ | async, selectedDocumentDefinition:selectedDocumentDefinition$ | async} as obs\"\n>\n <div class=\"cds--toolbar-content\">\n <button\n cdsButton=\"primary\"\n (click)=\"downloadDefinition()\"\n [disabled]=\"obs.loadingDocumentDefinition || !obs.selectedDocumentDefinition\"\n >\n <svg cdsIcon=\"download\" size=\"16\" class=\"cds--btn__icon\"></svg>\n\n {{ 'Download document definition'| translate }}\n </button>\n </div>\n\n <valtimo-editor\n *ngIf=\"!obs.loadingDocumentDefinition; else loading\"\n [model]=\"obs.documentDefinitionModel\"\n [disabled]=\"true\"\n heightStyle=\"calc(100vh - 316px)\"\n >\n </valtimo-editor>\n\n <a id=\"downloadAnchorElement\" style=\"display: none\"></a>\n</ng-container>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></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 */.loading-container{display:flex;width:100%;justify-content:center}\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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: i4.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "component", type: i7.EditorComponent, selector: "valtimo-editor", inputs: ["editorOptions", "model", "disabled", "formatOnLoad", "widthPx", "heightPx", "heightStyle"], outputs: ["validEvent", "valueChangeEvent"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2570
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementStatusModalComponent, deps: [{ token: i1$3.FormBuilder }, { token: i2$2.IconService }, { token: i1.CaseStatusService }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2571
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: DossierManagementStatusModalComponent, selector: "valtimo-dossier-management-status-modal", inputs: { type: "type", prefill: "prefill", usedKeys: "usedKeys", documentDefinitionName: "documentDefinitionName" }, outputs: { closeModalEvent: "closeModalEvent" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<cds-modal\n valtimoCdsModal\n *ngIf=\"{\n isAdd: isAdd$ | async,\n isEdit: isEdit$ | async,\n isClosed: isClosed$ | async,\n editingKey: editingKey$ | async,\n disabled: disabled$ | async\n } as obs\"\n [open]=\"!obs.isClosed\"\n size=\"sm\"\n>\n <cds-modal-header showCloseButton=\"true\" (closeSelect)=\"onClose()\">\n <h3 cdsModalHeaderHeading>\n {{ obs.isAdd ? ('dossierManagement.statuses.add' | translate) : '' }}\n {{ obs.isEdit ? ('dossierManagement.statuses.edit' | translate) : '' }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent>\n <ng-container *ngTemplateOutlet=\"statusForm; context: {obs: obs}\"></ng-container>\n </section>\n\n <cds-modal-footer>\n <ng-container *ngTemplateOutlet=\"buttons; context: {obs: obs}\"></ng-container>\n </cds-modal-footer>\n</cds-modal>\n\n<ng-template #colorDropdownItemTemplate let-item=\"item\">\n <div class=\"dropdown-color-tag\">\n <cds-tag *ngIf=\"item && item.content\" class=\"cds-tag--no-margin\" [type]=\"item?.tagType\">\n {{ 'interface.tagType.' + item?.tagType | translate }}\n </cds-tag>\n </div>\n</ng-template>\n\n<ng-template #statusForm let-obs=\"obs\">\n <form [formGroup]=\"statusFormGroup\" class=\"status-form\">\n <cds-label>\n {{ 'dossierManagement.statuses.columns.title' | translate }}\n\n <input cdsText formControlName=\"title\" [attr.modal-primary-focus]=\"true\" />\n </cds-label>\n\n <cds-label>\n {{ 'dossierManagement.statuses.columns.key' | translate }}\n\n <div class=\"edit-key-input\">\n <input\n cdsText\n formControlName=\"key\"\n [readOnly]=\"!obs.editingKey\"\n [placeholder]=\"\n obs.isAdd && !obs.editingKey\n ? ('dossierManagement.statuses.keyAutoGenerated' | translate)\n : ''\n \"\n />\n\n <cds-icon-button\n *ngIf=\"!obs.editingKey && obs.isAdd\"\n [disabled]=\"obs.disabled\"\n (click)=\"editKeyButtonClick()\"\n kind=\"secondary\"\n >\n <svg class=\"cds--btn__icon\" cdsIcon=\"edit\" size=\"16\"></svg>\n </cds-icon-button>\n </div>\n </cds-label>\n\n <div class=\"horizontal-inputs\">\n <cds-label>\n {{ 'dossierManagement.statuses.columns.color' | translate }}\n\n <cds-dropdown\n [id]=\"'status-color-dropdown'\"\n [appendInline]=\"false\"\n [placeholder]=\"'dossierManagement.statuses.colorPlaceholder' | translate\"\n (selected)=\"colorDropdownChange($event)\"\n >\n <cds-dropdown-list [items]=\"colorListItems$\" [listTpl]=\"colorDropdownItemTemplate\">\n </cds-dropdown-list>\n </cds-dropdown>\n </cds-label>\n\n <cds-toggle\n [label]=\"'dossierManagement.statuses.visibleTitle' | translate\"\n [onText]=\"'dossierManagement.statuses.visible' | translate\"\n [offText]=\"'dossierManagement.statuses.invisible' | translate\"\n [disabled]=\"obs.disabled\"\n [checked]=\"visibleInCaseListByDefault?.value\"\n (checkedChange)=\"toggleCheckedChange($event)\"\n ></cds-toggle>\n </div>\n </form>\n</ng-template>\n\n<ng-template #buttons let-obs=\"obs\">\n <button cdsButton=\"secondary\" (click)=\"onClose()\" [disabled]=\"obs.disabled\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button\n *ngIf=\"obs.isAdd\"\n cdsButton=\"primary\"\n [disabled]=\"invalid || pristine || obs.disabled\"\n (click)=\"addStatus()\"\n >\n {{ 'interface.add' | translate }}\n </button>\n\n <button\n *ngIf=\"obs.isEdit\"\n cdsButton=\"primary\"\n [disabled]=\"invalid || pristine || obs.disabled\"\n (click)=\"editStatus()\"\n >\n {{ 'interface.save' | translate }}\n </button>\n</ng-template>\n", styles: [".status-form{display:flex;flex-direction:column;gap:16px}.edit-key-input{height:40px;display:flex;width:100%;flex-direction:row;gap:16px;align-items:flex-end}.edit-key-input input:read-only{color:var(--cds-text-disabled)}::ng-deep .horizontal-inputs{display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}::ng-deep .horizontal-inputs .cds--label{width:100%;display:flex;flex-direction:column;gap:8px}::ng-deep .dropdown-color-tag .cds--tag{margin-top:-4px;margin-left:2px}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.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: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "component", type: i2$2.IconButton, selector: "cds-icon-button, ibm-icon-button", inputs: ["buttonNgClass", "buttonAttributes", "buttonId", "kind", "size", "type", "isExpressive", "disabled", "description"], outputs: ["click", "focus", "blur", "tooltipClick"] }, { kind: "directive", type: i2$2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i2$2.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i2$2.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i2$2.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i2$2.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i2$2.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "component", type: i2$2.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i2$2.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2$2.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i2$2.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "directive", type: i5.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]" }, { kind: "component", type: i2$2.Tag, selector: "cds-tag, ibm-tag", inputs: ["type", "size", "class"] }, { kind: "component", type: i2$2.Toggle, selector: "cds-toggle, ibm-toggle", inputs: ["offText", "onText", "label", "size", "hideLabel", "skeleton"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2100
2572
|
}
|
|
2101
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2573
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementStatusModalComponent, decorators: [{
|
|
2102
2574
|
type: Component,
|
|
2103
|
-
args: [{ selector: 'valtimo-dossier-management-
|
|
2104
|
-
}], ctorParameters:
|
|
2575
|
+
args: [{ selector: 'valtimo-dossier-management-status-modal', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<cds-modal\n valtimoCdsModal\n *ngIf=\"{\n isAdd: isAdd$ | async,\n isEdit: isEdit$ | async,\n isClosed: isClosed$ | async,\n editingKey: editingKey$ | async,\n disabled: disabled$ | async\n } as obs\"\n [open]=\"!obs.isClosed\"\n size=\"sm\"\n>\n <cds-modal-header showCloseButton=\"true\" (closeSelect)=\"onClose()\">\n <h3 cdsModalHeaderHeading>\n {{ obs.isAdd ? ('dossierManagement.statuses.add' | translate) : '' }}\n {{ obs.isEdit ? ('dossierManagement.statuses.edit' | translate) : '' }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent>\n <ng-container *ngTemplateOutlet=\"statusForm; context: {obs: obs}\"></ng-container>\n </section>\n\n <cds-modal-footer>\n <ng-container *ngTemplateOutlet=\"buttons; context: {obs: obs}\"></ng-container>\n </cds-modal-footer>\n</cds-modal>\n\n<ng-template #colorDropdownItemTemplate let-item=\"item\">\n <div class=\"dropdown-color-tag\">\n <cds-tag *ngIf=\"item && item.content\" class=\"cds-tag--no-margin\" [type]=\"item?.tagType\">\n {{ 'interface.tagType.' + item?.tagType | translate }}\n </cds-tag>\n </div>\n</ng-template>\n\n<ng-template #statusForm let-obs=\"obs\">\n <form [formGroup]=\"statusFormGroup\" class=\"status-form\">\n <cds-label>\n {{ 'dossierManagement.statuses.columns.title' | translate }}\n\n <input cdsText formControlName=\"title\" [attr.modal-primary-focus]=\"true\" />\n </cds-label>\n\n <cds-label>\n {{ 'dossierManagement.statuses.columns.key' | translate }}\n\n <div class=\"edit-key-input\">\n <input\n cdsText\n formControlName=\"key\"\n [readOnly]=\"!obs.editingKey\"\n [placeholder]=\"\n obs.isAdd && !obs.editingKey\n ? ('dossierManagement.statuses.keyAutoGenerated' | translate)\n : ''\n \"\n />\n\n <cds-icon-button\n *ngIf=\"!obs.editingKey && obs.isAdd\"\n [disabled]=\"obs.disabled\"\n (click)=\"editKeyButtonClick()\"\n kind=\"secondary\"\n >\n <svg class=\"cds--btn__icon\" cdsIcon=\"edit\" size=\"16\"></svg>\n </cds-icon-button>\n </div>\n </cds-label>\n\n <div class=\"horizontal-inputs\">\n <cds-label>\n {{ 'dossierManagement.statuses.columns.color' | translate }}\n\n <cds-dropdown\n [id]=\"'status-color-dropdown'\"\n [appendInline]=\"false\"\n [placeholder]=\"'dossierManagement.statuses.colorPlaceholder' | translate\"\n (selected)=\"colorDropdownChange($event)\"\n >\n <cds-dropdown-list [items]=\"colorListItems$\" [listTpl]=\"colorDropdownItemTemplate\">\n </cds-dropdown-list>\n </cds-dropdown>\n </cds-label>\n\n <cds-toggle\n [label]=\"'dossierManagement.statuses.visibleTitle' | translate\"\n [onText]=\"'dossierManagement.statuses.visible' | translate\"\n [offText]=\"'dossierManagement.statuses.invisible' | translate\"\n [disabled]=\"obs.disabled\"\n [checked]=\"visibleInCaseListByDefault?.value\"\n (checkedChange)=\"toggleCheckedChange($event)\"\n ></cds-toggle>\n </div>\n </form>\n</ng-template>\n\n<ng-template #buttons let-obs=\"obs\">\n <button cdsButton=\"secondary\" (click)=\"onClose()\" [disabled]=\"obs.disabled\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button\n *ngIf=\"obs.isAdd\"\n cdsButton=\"primary\"\n [disabled]=\"invalid || pristine || obs.disabled\"\n (click)=\"addStatus()\"\n >\n {{ 'interface.add' | translate }}\n </button>\n\n <button\n *ngIf=\"obs.isEdit\"\n cdsButton=\"primary\"\n [disabled]=\"invalid || pristine || obs.disabled\"\n (click)=\"editStatus()\"\n >\n {{ 'interface.save' | translate }}\n </button>\n</ng-template>\n", styles: [".status-form{display:flex;flex-direction:column;gap:16px}.edit-key-input{height:40px;display:flex;width:100%;flex-direction:row;gap:16px;align-items:flex-end}.edit-key-input input:read-only{color:var(--cds-text-disabled)}::ng-deep .horizontal-inputs{display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}::ng-deep .horizontal-inputs .cds--label{width:100%;display:flex;flex-direction:column;gap:8px}::ng-deep .dropdown-color-tag .cds--tag{margin-top:-4px;margin-left:2px}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
2576
|
+
}], ctorParameters: () => [{ type: i1$3.FormBuilder }, { type: i2$2.IconService }, { type: i1.CaseStatusService }, { type: i3.TranslateService }], propDecorators: { type: [{
|
|
2577
|
+
type: Input
|
|
2578
|
+
}], prefill: [{
|
|
2579
|
+
type: Input
|
|
2580
|
+
}], usedKeys: [{
|
|
2581
|
+
type: Input
|
|
2582
|
+
}], documentDefinitionName: [{
|
|
2583
|
+
type: Input
|
|
2584
|
+
}], closeModalEvent: [{
|
|
2585
|
+
type: Output
|
|
2586
|
+
}] } });
|
|
2105
2587
|
|
|
2106
2588
|
/*
|
|
2107
|
-
* Copyright 2015-
|
|
2589
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
2108
2590
|
*
|
|
2109
2591
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
2110
2592
|
* you may not use this file except in compliance with the License.
|
|
@@ -2118,89 +2600,135 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
2118
2600
|
* See the License for the specific language governing permissions and
|
|
2119
2601
|
* limitations under the License.
|
|
2120
2602
|
*/
|
|
2121
|
-
class
|
|
2122
|
-
|
|
2123
|
-
this.
|
|
2124
|
-
|
|
2125
|
-
|
|
2603
|
+
class DossierManagementStatusesComponent {
|
|
2604
|
+
get documentDefinitionName$() {
|
|
2605
|
+
return this._documentDefinitionName$;
|
|
2606
|
+
}
|
|
2607
|
+
constructor(caseStatusService, route) {
|
|
2608
|
+
this.caseStatusService = caseStatusService;
|
|
2126
2609
|
this.route = route;
|
|
2127
|
-
this.
|
|
2128
|
-
this.
|
|
2129
|
-
this.
|
|
2130
|
-
this.
|
|
2131
|
-
this.
|
|
2132
|
-
this.
|
|
2610
|
+
this._reload$ = new BehaviorSubject(null);
|
|
2611
|
+
this._documentDefinitionName$ = this.route.params.pipe(map(params => params?.name), filter(docDefName => !!docDefName));
|
|
2612
|
+
this.loading$ = new BehaviorSubject(true);
|
|
2613
|
+
this.usedKeys$ = new BehaviorSubject([]);
|
|
2614
|
+
this._documentStatuses = [];
|
|
2615
|
+
this.documentStatuses$ = combineLatest([
|
|
2616
|
+
this._documentDefinitionName$,
|
|
2617
|
+
this._reload$,
|
|
2618
|
+
]).pipe(tap$1(([_, reload]) => {
|
|
2619
|
+
if (reload === null) {
|
|
2620
|
+
this.loading$.next(true);
|
|
2621
|
+
}
|
|
2622
|
+
}), switchMap(([documentDefinitionName]) => this.caseStatusService.getInternalCaseStatusesManagement(documentDefinitionName)), map(statuses => statuses.map(status => ({
|
|
2623
|
+
...status,
|
|
2624
|
+
tagType: InternalCaseStatusUtils.getTagTypeFromInternalCaseStatusColor(status.color),
|
|
2625
|
+
}))), tap$1(statuses => {
|
|
2626
|
+
this._documentStatuses = statuses;
|
|
2627
|
+
this.usedKeys$.next(statuses.map(status => status.key));
|
|
2628
|
+
this.loading$.next(false);
|
|
2629
|
+
}));
|
|
2630
|
+
this.fields$ = new BehaviorSubject([]);
|
|
2631
|
+
this.ACTION_ITEMS = [
|
|
2133
2632
|
{
|
|
2134
|
-
label: '
|
|
2135
|
-
callback: this.
|
|
2633
|
+
label: 'interface.edit',
|
|
2634
|
+
callback: this.openEditModal.bind(this),
|
|
2635
|
+
type: 'normal',
|
|
2636
|
+
},
|
|
2637
|
+
{
|
|
2638
|
+
label: 'interface.delete',
|
|
2639
|
+
callback: this.openDeleteModal.bind(this),
|
|
2136
2640
|
type: 'danger',
|
|
2137
2641
|
},
|
|
2138
2642
|
];
|
|
2139
|
-
this.
|
|
2643
|
+
this.statusModalType$ = new BehaviorSubject('closed');
|
|
2644
|
+
this.prefillStatus$ = new BehaviorSubject(undefined);
|
|
2645
|
+
this.statusToDelete$ = new BehaviorSubject(undefined);
|
|
2646
|
+
this.showDeleteModal$ = new Subject();
|
|
2647
|
+
}
|
|
2648
|
+
ngAfterViewInit() {
|
|
2649
|
+
this.initFields();
|
|
2650
|
+
}
|
|
2651
|
+
openDeleteModal(status) {
|
|
2652
|
+
this.statusToDelete$.next(status);
|
|
2653
|
+
this.showDeleteModal$.next(true);
|
|
2654
|
+
}
|
|
2655
|
+
openEditModal(status) {
|
|
2656
|
+
this.prefillStatus$.next(status);
|
|
2657
|
+
this.statusModalType$.next('edit');
|
|
2658
|
+
}
|
|
2659
|
+
openAddModal() {
|
|
2660
|
+
this.statusModalType$.next('add');
|
|
2661
|
+
}
|
|
2662
|
+
closeModal(closeModalEvent) {
|
|
2663
|
+
if (closeModalEvent === 'closeAndRefresh') {
|
|
2664
|
+
this.reload();
|
|
2665
|
+
}
|
|
2666
|
+
this.statusModalType$.next('closed');
|
|
2667
|
+
}
|
|
2668
|
+
confirmDeleteStatus(status) {
|
|
2669
|
+
this.documentDefinitionName$
|
|
2670
|
+
.pipe(switchMap(documentDefinitionName => this.caseStatusService.deleteInternalCaseStatus(documentDefinitionName, status.key)))
|
|
2671
|
+
.subscribe(() => {
|
|
2672
|
+
this.reload();
|
|
2673
|
+
});
|
|
2674
|
+
}
|
|
2675
|
+
onMoveRowClick(event) {
|
|
2676
|
+
const { direction, index } = event;
|
|
2677
|
+
const orderedStatuses = direction === MoveRowDirection.UP
|
|
2678
|
+
? this.swapStatuses(this._documentStatuses, index - 1, index)
|
|
2679
|
+
: this.swapStatuses(this._documentStatuses, index, index + 1);
|
|
2680
|
+
this.documentDefinitionName$
|
|
2681
|
+
.pipe(switchMap(documentDefinitionName => this.caseStatusService.updateInternalCaseStatuses(documentDefinitionName, orderedStatuses)))
|
|
2682
|
+
.subscribe(() => {
|
|
2683
|
+
this.reload(true);
|
|
2684
|
+
});
|
|
2685
|
+
}
|
|
2686
|
+
reload(noAnimation = false) {
|
|
2687
|
+
this._reload$.next(noAnimation ? 'noAnimation' : null);
|
|
2688
|
+
}
|
|
2689
|
+
swapStatuses(statuses, index1, index2) {
|
|
2690
|
+
const temp = [...statuses];
|
|
2691
|
+
temp[index1] = temp.splice(index2, 1, temp[index1])[0];
|
|
2692
|
+
return temp;
|
|
2693
|
+
}
|
|
2694
|
+
initFields() {
|
|
2695
|
+
this.fields$.next([
|
|
2140
2696
|
{
|
|
2141
|
-
key: '
|
|
2142
|
-
label: '
|
|
2697
|
+
key: 'title',
|
|
2698
|
+
label: 'dossierManagement.statuses.columns.title',
|
|
2143
2699
|
viewType: ViewType.TEXT,
|
|
2144
2700
|
},
|
|
2145
2701
|
{
|
|
2146
|
-
key: '
|
|
2147
|
-
label: '
|
|
2148
|
-
viewType: ViewType.
|
|
2702
|
+
key: 'key',
|
|
2703
|
+
label: 'dossierManagement.statuses.columns.key',
|
|
2704
|
+
viewType: ViewType.TEXT,
|
|
2149
2705
|
},
|
|
2150
2706
|
{
|
|
2151
|
-
key: '
|
|
2152
|
-
label: '
|
|
2707
|
+
key: 'visibleInCaseListByDefault',
|
|
2708
|
+
label: 'dossierManagement.statuses.columns.visible',
|
|
2153
2709
|
viewType: ViewType.BOOLEAN,
|
|
2154
2710
|
},
|
|
2155
|
-
|
|
2156
|
-
|
|
2157
|
-
|
|
2158
|
-
|
|
2159
|
-
|
|
2160
|
-
.deleteProcessDocumentDefinition({
|
|
2161
|
-
documentDefinitionName: processDocumentDefinition.id.documentDefinitionId.name,
|
|
2162
|
-
processDefinitionKey: processDocumentDefinition.id.processDefinitionKey,
|
|
2163
|
-
documentDefinitionVersion: processDocumentDefinition.id.documentDefinitionId.version,
|
|
2164
|
-
canInitializeDocument: processDocumentDefinition.canInitializeDocument,
|
|
2165
|
-
startableByUser: processDocumentDefinition.startableByUser,
|
|
2166
|
-
})
|
|
2167
|
-
.subscribe({
|
|
2168
|
-
next: () => {
|
|
2169
|
-
this.notificationService.showNotification({
|
|
2170
|
-
type: 'success',
|
|
2171
|
-
title: this.translateService.instant('dossierManagement.processLinkNotification.unlinkSuccess'),
|
|
2172
|
-
duration: 5000,
|
|
2173
|
-
});
|
|
2174
|
-
this.loadProcessDocumentDefinitions();
|
|
2175
|
-
},
|
|
2176
|
-
error: () => {
|
|
2177
|
-
this.notificationService.showNotification({
|
|
2178
|
-
type: 'error',
|
|
2179
|
-
title: this.translateService.instant('dossierManagement.processLinkNotification.unlinkFailure'),
|
|
2180
|
-
duration: 5000,
|
|
2181
|
-
});
|
|
2711
|
+
{
|
|
2712
|
+
viewType: ViewType.TEMPLATE,
|
|
2713
|
+
template: this.colorColumnTemplate,
|
|
2714
|
+
key: 'color',
|
|
2715
|
+
label: 'dossierManagement.statuses.columns.color',
|
|
2182
2716
|
},
|
|
2183
|
-
|
|
2184
|
-
}
|
|
2185
|
-
loadProcessDocumentDefinitions() {
|
|
2186
|
-
this._refresh$.next(null);
|
|
2187
|
-
}
|
|
2188
|
-
openDossierConnectModal(documentDefinition) {
|
|
2189
|
-
this._dossierConnectModal.openModal(documentDefinition);
|
|
2717
|
+
]);
|
|
2190
2718
|
}
|
|
2191
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2192
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
2719
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementStatusesComponent, deps: [{ token: i1.CaseStatusService }, { token: i2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2720
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: DossierManagementStatusesComponent, selector: "valtimo-dossier-management-statuses", viewQueries: [{ propertyName: "colorColumnTemplate", first: true, predicate: ["colorColumnTemplate"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-carbon-list\n *ngIf=\"{\n loading: loading$ | async,\n documentStatuses: documentStatuses$ | async\n } as obs\"\n [items]=\"obs.documentStatuses\"\n [fields]=\"fields$ | async\"\n [header]=\"false\"\n [loading]=\"obs.loading\"\n [movingRowsEnabled]=\"true\"\n [actionItems]=\"ACTION_ITEMS\"\n (rowClicked)=\"openEditModal($event)\"\n (moveRow)=\"onMoveRowClick($event)\"\n>\n <ng-container\n carbonToolbarContent\n *ngTemplateOutlet=\"buttons; context: {obs: obs}\"\n ></ng-container>\n\n <valtimo-no-results\n [description]=\"'dossierManagement.statuses.noResults.description' | translate\"\n [title]=\"'dossierManagement.statuses.noResults.title' | translate\"\n ></valtimo-no-results>\n</valtimo-carbon-list>\n\n<valtimo-dossier-management-status-modal\n [type]=\"statusModalType$ | async\"\n [prefill]=\"prefillStatus$ | async\"\n [usedKeys]=\"usedKeys$ | async\"\n [documentDefinitionName]=\"documentDefinitionName$ | async\"\n (closeModalEvent)=\"closeModal($event)\"\n></valtimo-dossier-management-status-modal>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"dossierManagement.statuses.deleteText\"\n [outputOnConfirm]=\"statusToDelete$ | async\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"interface.delete\"\n (confirmEvent)=\"confirmDeleteStatus($event)\"\n></valtimo-confirmation-modal>\n\n<ng-template #buttons let-obs=\"obs\">\n <div class=\"dossier-management-search-fields__buttons\">\n <button cdsButton=\"primary\" [disabled]=\"obs.loading\" (click)=\"openAddModal()\">\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n\n {{ 'dossierManagement.statuses.add' | translate }}\n </button>\n </div>\n</ng-template>\n\n<ng-template #colorColumnTemplate let-data=\"data\">\n <cds-tag class=\"cds-tag--no-margin\" [type]=\"data?.item?.tagType\">\n {{ 'interface.tagType.' + data?.item?.tagType | translate }}\n </cds-tag>\n</ng-template>\n", styles: ["::ng-deep .cds-tag--no-margin{margin:0}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i2$2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i5.ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: ["titleTranslationKey", "title", "content", "contentTranslationKey", "confirmButtonText", "confirmButtonTextTranslationKey", "confirmButtonType", "showOptionalButton", "optionalButtonText", "optionalButtonTextTranslationKey", "optionalButtonType", "cancelButtonText", "cancelButtonTextTranslationKey", "cancelButtonType", "showModalSubject$", "outputOnConfirm", "outputOnOptional", "spacerAfterCancelButton"], outputs: ["confirmEvent", "optionalEvent", "cancelEvent"] }, { kind: "component", type: i5.CarbonListComponent, selector: "valtimo-carbon-list", inputs: ["items", "fields", "tableTranslations", "paginatorConfig", "pagination", "loading", "actions", "actionItems", "header", "hideColumnHeader", "initialSortState", "isSearchable", "enableSingleSelection", "lastColumnTemplate", "paginationIdentifier", "showSelectionColumn", "striped", "hideToolbar", "lockedTooltipTranslationKey", "movingRowsEnabled"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged", "moveRow", "itemsReordered"] }, { kind: "component", type: i5.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title"] }, { kind: "component", type: i2$2.Tag, selector: "cds-tag, ibm-tag", inputs: ["type", "size", "class"] }, { kind: "component", type: DossierManagementStatusModalComponent, selector: "valtimo-dossier-management-status-modal", inputs: ["type", "prefill", "usedKeys", "documentDefinitionName"], outputs: ["closeModalEvent"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2193
2721
|
}
|
|
2194
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2722
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementStatusesComponent, decorators: [{
|
|
2195
2723
|
type: Component,
|
|
2196
|
-
args: [{ selector: 'valtimo-dossier-management-
|
|
2197
|
-
}], ctorParameters:
|
|
2724
|
+
args: [{ selector: 'valtimo-dossier-management-statuses', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-carbon-list\n *ngIf=\"{\n loading: loading$ | async,\n documentStatuses: documentStatuses$ | async\n } as obs\"\n [items]=\"obs.documentStatuses\"\n [fields]=\"fields$ | async\"\n [header]=\"false\"\n [loading]=\"obs.loading\"\n [movingRowsEnabled]=\"true\"\n [actionItems]=\"ACTION_ITEMS\"\n (rowClicked)=\"openEditModal($event)\"\n (moveRow)=\"onMoveRowClick($event)\"\n>\n <ng-container\n carbonToolbarContent\n *ngTemplateOutlet=\"buttons; context: {obs: obs}\"\n ></ng-container>\n\n <valtimo-no-results\n [description]=\"'dossierManagement.statuses.noResults.description' | translate\"\n [title]=\"'dossierManagement.statuses.noResults.title' | translate\"\n ></valtimo-no-results>\n</valtimo-carbon-list>\n\n<valtimo-dossier-management-status-modal\n [type]=\"statusModalType$ | async\"\n [prefill]=\"prefillStatus$ | async\"\n [usedKeys]=\"usedKeys$ | async\"\n [documentDefinitionName]=\"documentDefinitionName$ | async\"\n (closeModalEvent)=\"closeModal($event)\"\n></valtimo-dossier-management-status-modal>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"dossierManagement.statuses.deleteText\"\n [outputOnConfirm]=\"statusToDelete$ | async\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"interface.delete\"\n (confirmEvent)=\"confirmDeleteStatus($event)\"\n></valtimo-confirmation-modal>\n\n<ng-template #buttons let-obs=\"obs\">\n <div class=\"dossier-management-search-fields__buttons\">\n <button cdsButton=\"primary\" [disabled]=\"obs.loading\" (click)=\"openAddModal()\">\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n\n {{ 'dossierManagement.statuses.add' | translate }}\n </button>\n </div>\n</ng-template>\n\n<ng-template #colorColumnTemplate let-data=\"data\">\n <cds-tag class=\"cds-tag--no-margin\" [type]=\"data?.item?.tagType\">\n {{ 'interface.tagType.' + data?.item?.tagType | translate }}\n </cds-tag>\n</ng-template>\n", styles: ["::ng-deep .cds-tag--no-margin{margin:0}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
2725
|
+
}], ctorParameters: () => [{ type: i1.CaseStatusService }, { type: i2.ActivatedRoute }], propDecorators: { colorColumnTemplate: [{
|
|
2198
2726
|
type: ViewChild,
|
|
2199
|
-
args: ['
|
|
2727
|
+
args: ['colorColumnTemplate']
|
|
2200
2728
|
}] } });
|
|
2201
2729
|
|
|
2202
2730
|
/*
|
|
2203
|
-
* Copyright 2015-
|
|
2731
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
2204
2732
|
*
|
|
2205
2733
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
2206
2734
|
* you may not use this file except in compliance with the License.
|
|
@@ -2214,43 +2742,131 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
2214
2742
|
* See the License for the specific language governing permissions and
|
|
2215
2743
|
* limitations under the License.
|
|
2216
2744
|
*/
|
|
2217
|
-
class DossierManagementDetailContainerComponent {
|
|
2218
|
-
constructor(
|
|
2219
|
-
|
|
2745
|
+
class DossierManagementDetailContainerComponent extends PendingChangesComponent {
|
|
2746
|
+
constructor(dossierDetailService, route, configService, tabService, pageTitleService) {
|
|
2747
|
+
super();
|
|
2748
|
+
this.dossierDetailService = dossierDetailService;
|
|
2220
2749
|
this.route = route;
|
|
2221
2750
|
this.configService = configService;
|
|
2222
2751
|
this.tabService = tabService;
|
|
2223
2752
|
this.pageTitleService = pageTitleService;
|
|
2753
|
+
this.documentDefinitionName$ = this.route.params.pipe(map(params => params.name || ''), filter(docDefName => !!docDefName));
|
|
2754
|
+
this.currentTab$ = this.tabService.currentTab$.pipe(tap$1((currentTab) => {
|
|
2755
|
+
this._activeTab = currentTab;
|
|
2756
|
+
}));
|
|
2757
|
+
this.injectedCaseManagementTabs$ = this.tabService.injectedCaseManagementTabs$;
|
|
2224
2758
|
this.documentDefinitionTitle$ = this.pageTitleService.customPageTitle$;
|
|
2225
2759
|
this.CARBON_THEME = 'g10';
|
|
2760
|
+
this.DossierManagementTabs = Object.values(TabEnum);
|
|
2226
2761
|
this.TabEnum = TabEnum;
|
|
2227
|
-
this.
|
|
2228
|
-
this.documentDefinition$ = this.documentDefinitionName$.pipe(switchMap(documentDefinitionName => this.documentService.getDocumentDefinitionForManagement(documentDefinitionName)));
|
|
2762
|
+
this._subscriptions = new Subscription();
|
|
2229
2763
|
const featureToggles = this.configService.config.featureToggles;
|
|
2230
|
-
this.caseListColumn =
|
|
2231
|
-
this.tabManagementEnabled =
|
|
2764
|
+
this.caseListColumn = featureToggles?.caseListColumn ?? true;
|
|
2765
|
+
this.tabManagementEnabled = featureToggles?.enableTabManagement ?? true;
|
|
2232
2766
|
}
|
|
2233
2767
|
ngOnInit() {
|
|
2234
|
-
this.
|
|
2235
|
-
}
|
|
2236
|
-
displayBodyComponent(tab) {
|
|
2237
|
-
this.tabService.currentTab = tab;
|
|
2768
|
+
this.openActiveVersionSubscription();
|
|
2238
2769
|
}
|
|
2239
|
-
|
|
2240
|
-
this.
|
|
2770
|
+
ngAfterViewInit() {
|
|
2771
|
+
this.customModal = this._documentDefinitionTab.cancelModal;
|
|
2772
|
+
this.openInjectedTabSubscription();
|
|
2241
2773
|
}
|
|
2242
2774
|
ngOnDestroy() {
|
|
2243
2775
|
this.tabService.currentTab = TabEnum.DOCUMENT;
|
|
2244
|
-
this.
|
|
2776
|
+
this._subscriptions.unsubscribe();
|
|
2777
|
+
this.pageTitleService.enableReset();
|
|
2778
|
+
}
|
|
2779
|
+
displayBodyComponent(tab, isInjectedTab = false) {
|
|
2780
|
+
if (this.pendingChanges) {
|
|
2781
|
+
this.onCanDeactivate();
|
|
2782
|
+
}
|
|
2783
|
+
this.tabService.currentTab = tab;
|
|
2784
|
+
}
|
|
2785
|
+
onCancelRedirectEvent() {
|
|
2786
|
+
this.onCustomCancel();
|
|
2787
|
+
if (this._activeVersion) {
|
|
2788
|
+
this.dossierDetailService.setPreviousSelectedVersionNumber(this._activeVersion);
|
|
2789
|
+
this._activeVersion = null;
|
|
2790
|
+
return;
|
|
2791
|
+
}
|
|
2792
|
+
if (!this.pendingTab) {
|
|
2793
|
+
return;
|
|
2794
|
+
}
|
|
2795
|
+
this.tabService.currentTab = this.pendingTab;
|
|
2796
|
+
}
|
|
2797
|
+
onConfirmRedirectEvent() {
|
|
2798
|
+
this.pendingTab = null;
|
|
2799
|
+
this._activeVersion = null;
|
|
2800
|
+
if (this._pendingVersion) {
|
|
2801
|
+
this.dossierDetailService.setSelectedVersionNumber(this._pendingVersion);
|
|
2802
|
+
this._pendingVersion = null;
|
|
2803
|
+
this.dossierDetailService.setPreviousSelectedVersionNumber(null);
|
|
2804
|
+
}
|
|
2805
|
+
this.onCustomConfirm();
|
|
2806
|
+
}
|
|
2807
|
+
onPendingChangesUpdate(pendingChanges) {
|
|
2808
|
+
this.pendingChanges = pendingChanges;
|
|
2809
|
+
this.pendingTab = pendingChanges ? this._activeTab : null;
|
|
2810
|
+
}
|
|
2811
|
+
onVersionSet(version) {
|
|
2812
|
+
if (this.pendingChanges) {
|
|
2813
|
+
this.onCanDeactivate();
|
|
2814
|
+
this._pendingVersion = version;
|
|
2815
|
+
return;
|
|
2816
|
+
}
|
|
2817
|
+
this.dossierDetailService.setSelectedVersionNumber(version);
|
|
2818
|
+
}
|
|
2819
|
+
openActiveVersionSubscription() {
|
|
2820
|
+
this._subscriptions.add(this.dossierDetailService.selectedVersionNumber$.subscribe((versionNumber) => {
|
|
2821
|
+
this._activeVersion = versionNumber;
|
|
2822
|
+
}));
|
|
2245
2823
|
}
|
|
2246
|
-
|
|
2247
|
-
|
|
2824
|
+
openInjectedTabSubscription() {
|
|
2825
|
+
this._subscriptions.add(combineLatest([
|
|
2826
|
+
this.currentTab$.pipe(distinctUntilChanged()),
|
|
2827
|
+
this.injectedCaseManagementTabs$,
|
|
2828
|
+
]).subscribe(([currentTab, injectedCaseManagementTabs]) => {
|
|
2829
|
+
const findInjectedTab = injectedCaseManagementTabs.find(injectedTab => injectedTab.translationKey === currentTab);
|
|
2830
|
+
if (findInjectedTab && this._contentContainer) {
|
|
2831
|
+
this._contentContainer.createComponent(findInjectedTab.component);
|
|
2832
|
+
}
|
|
2833
|
+
else {
|
|
2834
|
+
this._contentContainer.clear();
|
|
2835
|
+
}
|
|
2836
|
+
}));
|
|
2837
|
+
}
|
|
2838
|
+
onCanDeactivate() {
|
|
2839
|
+
this._documentDefinitionTab.onCanDeactivate();
|
|
2840
|
+
}
|
|
2841
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementDetailContainerComponent, deps: [{ token: DossierDetailService }, { token: i2.ActivatedRoute }, { token: i2$1.ConfigService }, { token: TabService }, { token: i5.PageTitleService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2842
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.3", type: DossierManagementDetailContainerComponent, selector: "valtimo-dossier-management-detail-container", providers: [DossierDetailService], viewQueries: [{ propertyName: "_contentContainer", first: true, predicate: ["contentContainer"], descendants: true, read: ViewContainerRef }, { propertyName: "_documentDefinitionTab", first: true, predicate: DossierManagementDocumentDefinitionComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n *ngIf=\"{\n currentTab: currentTab$ | async,\n injectedTabs: injectedCaseManagementTabs$ | async\n } as obs\"\n class=\"dossier-management-detail-container\"\n>\n <valtimo-documenten-api></valtimo-documenten-api>\n <cds-tabs\n class=\"dossier-management-tabs\"\n type=\"contained\"\n [attr.data-carbon-theme]=\"CARBON_THEME\"\n >\n <cds-tab\n class=\"no-padding-left-right no-padding-top-bottom\"\n [active]=\"obs.currentTab === TabEnum.DOCUMENT\"\n [heading]=\"'dossierManagement.tabs.document' | translate\"\n (selected)=\"displayBodyComponent(TabEnum.DOCUMENT)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"no-padding-left-right main-content\"\n [active]=\"obs.currentTab === TabEnum.CASE\"\n [heading]=\"'dossierManagement.tabs.cases' | translate\"\n (selected)=\"displayBodyComponent(TabEnum.CASE)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"no-padding-left-right main-content\"\n [active]=\"obs.currentTab === TabEnum.PROCESSES\"\n [heading]=\"'dossierManagement.tabs.processes' | translate\"\n (selected)=\"displayBodyComponent(TabEnum.PROCESSES)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"main-content no-padding-left-right no-padding-bottom\"\n [active]=\"obs.currentTab === TabEnum.SEARCH\"\n [heading]=\"'dossierManagement.tabs.searchFields' | translate\"\n (selected)=\"displayBodyComponent(TabEnum.SEARCH)\"\n >\n </cds-tab>\n\n <cds-tab\n *ngIf=\"caseListColumn\"\n class=\"no-padding-left-right no-padding-top-bottom\"\n [active]=\"obs.currentTab === TabEnum.LIST\"\n [heading]=\"'dossierManagement.tabs.listColumns' | translate\"\n (selected)=\"displayBodyComponent(TabEnum.LIST)\"\n >\n </cds-tab>\n\n <cds-tab\n *ngIf=\"tabManagementEnabled\"\n class=\"no-padding-left-right no-padding-top-bottom\"\n [active]=\"obs.currentTab === TabEnum.TABS\"\n [heading]=\"'dossierManagement.tabs.tabManagement' | translate\"\n (selected)=\"displayBodyComponent(TabEnum.TABS)\"\n >\n </cds-tab>\n\n <cds-tab\n *ngIf=\"{active: obs.currentTab === TabEnum.STATUSES} as vars\"\n class=\"no-padding-left-right no-padding-top-bottom\"\n [active]=\"vars.active\"\n [heading]=\"'dossierManagement.tabs.statuses' | translate\"\n (selected)=\"displayBodyComponent(TabEnum.STATUSES)\"\n >\n <valtimo-dossier-management-statuses\n *ngIf=\"vars.active\"\n ></valtimo-dossier-management-statuses>\n </cds-tab>\n\n @for (injectedTab of obs.injectedTabs; track injectedTab.translationKey) {\n <cds-tab\n class=\"no-padding-left-right no-padding-top-bottom\"\n [active]=\"obs.currentTab === injectedTab.translationKey\"\n [heading]=\"injectedTab.translationKey | translate\"\n (selected)=\"displayBodyComponent(injectedTab.translationKey, true)\"\n >\n </cds-tab>\n }\n </cds-tabs>\n\n <div class=\"dossier-management-detail-container__content\">\n <ng-template #contentContainer></ng-template>\n\n <valtimo-dossier-management-document-definition\n *ngIf=\"\n (obs.currentTab === TabEnum.DOCUMENT && !pendingChanges) || pendingTab === TabEnum.DOCUMENT\n \"\n [documentDefinitionName]=\"documentDefinitionName$ | async\"\n (pendingChangesUpdate)=\"onPendingChangesUpdate($event)\"\n (cancelRedirect)=\"onCancelRedirectEvent()\"\n (confirmRedirect)=\"onConfirmRedirectEvent()\"\n ></valtimo-dossier-management-document-definition>\n\n <valtimo-dossier-management-detail\n *ngIf=\"(obs.currentTab === TabEnum.CASE && !pendingChanges) || pendingTab === TabEnum.CASE\"\n ></valtimo-dossier-management-detail>\n\n <valtimo-dossier-management-processes\n *ngIf=\"\n (obs.currentTab === TabEnum.PROCESSES && !pendingChanges) ||\n pendingTab === TabEnum.PROCESSES\n \"\n ></valtimo-dossier-management-processes>\n\n <valtimo-dossier-management-search-fields\n *ngIf=\"\n (obs.currentTab === TabEnum.SEARCH && !pendingChanges) || pendingTab === TabEnum.SEARCH\n \"\n ></valtimo-dossier-management-search-fields>\n\n <valtimo-dossier-management-list-columns\n *ngIf=\"(obs.currentTab === TabEnum.LIST && !pendingChanges) || pendingTab === TabEnum.LIST\"\n ></valtimo-dossier-management-list-columns>\n\n <valtimo-dossier-management-tabs\n *ngIf=\"(obs.currentTab === TabEnum.TABS && !pendingChanges) || pendingTab === TabEnum.TABS\"\n [documentDefinitionName]=\"documentDefinitionName$ | async\"\n ></valtimo-dossier-management-tabs>\n </div>\n</div>\n\n<ng-container renderInPageHeader [fullWidth]=\"true\">\n <ng-template>\n <valtimo-dossier-management-detail-container-actions\n [documentDefinitionTitle]=\"documentDefinitionTitle$ | async\"\n [documentDefinitionName]=\"documentDefinitionName$ | async\"\n (versionSet)=\"onVersionSet($event)\"\n ></valtimo-dossier-management-detail-container-actions>\n </ng-template>\n</ng-container>\n", styles: ["::ng-deep .dossier-management-tabs .cds--tab-content{background-color:var(--cds-layer)}::ng-deep .dossier-management-tabs .cds--tab-content:focus{outline:none}::ng-deep .dossier-management-tabs .no-padding-left-right .cds--tab-content{padding-left:0;padding-right:0}::ng-deep .dossier-management-tabs .no-padding-top-bottom .cds--tab-content{padding-top:0;padding-bottom:0}::ng-deep .dossier-management-tabs .no-padding-bottom .cds--tab-content{padding-bottom:0}.tab-container{min-height:300px}.dossier-header{height:80px;padding-top:21px;padding-left:18px;padding-right:18px;border-bottom:1px solid rgba(0,0,0,.125)}.dossier-title{margin-top:0;margin-bottom:7px}.dossier-management-detail-container{display:flex;flex-direction:column;width:100%}.dossier-management-detail-container__content{background:var(--cds-layer)}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.RenderInPageHeaderDirective, selector: "[renderInPageHeader]", inputs: ["fullWidth"] }, { kind: "component", type: i2$2.Tabs, selector: "cds-tabs, ibm-tabs", inputs: ["position", "cacheActive", "followFocus", "isNavigation", "ariaLabel", "ariaLabelledby", "type", "theme", "skeleton"] }, { kind: "component", type: i2$2.Tab, selector: "cds-tab, ibm-tab", inputs: ["heading", "title", "context", "active", "disabled", "tabIndex", "id", "cacheActive"], outputs: ["selected"] }, { kind: "component", type: DossierManagementDetailComponent, selector: "valtimo-dossier-management-detail" }, { kind: "component", type: DossierManagementSearchFieldsComponent, selector: "valtimo-dossier-management-search-fields", outputs: ["searchField"] }, { kind: "component", type: DossierManagementListColumnsComponent, selector: "valtimo-dossier-management-list-columns" }, { kind: "component", type: DossierManagementTabsComponent, selector: "valtimo-dossier-management-tabs", inputs: ["documentDefinitionName"] }, { kind: "component", type: DossierManagementDetailContainerActionsComponent, selector: "valtimo-dossier-management-detail-container-actions", inputs: ["documentDefinitionTitle", "documentDefinitionName"], outputs: ["versionSet"] }, { kind: "component", type: DossierManagementDocumentDefinitionComponent, selector: "valtimo-dossier-management-document-definition", inputs: ["documentDefinitionName"], outputs: ["cancelRedirect", "confirmRedirect", "pendingChangesUpdate"] }, { kind: "component", type: DossierManagementProcessesComponent, selector: "valtimo-dossier-management-processes" }, { kind: "component", type: DossierManagementStatusesComponent, selector: "valtimo-dossier-management-statuses" }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2248
2843
|
}
|
|
2249
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2844
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementDetailContainerComponent, decorators: [{
|
|
2250
2845
|
type: Component,
|
|
2251
|
-
args: [{ selector: 'valtimo-dossier-management-detail-container', providers: [DossierDetailService], template: "<!--\n ~ Copyright 2015-
|
|
2252
|
-
}], ctorParameters:
|
|
2846
|
+
args: [{ selector: 'valtimo-dossier-management-detail-container', providers: [DossierDetailService], changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n *ngIf=\"{\n currentTab: currentTab$ | async,\n injectedTabs: injectedCaseManagementTabs$ | async\n } as obs\"\n class=\"dossier-management-detail-container\"\n>\n <valtimo-documenten-api></valtimo-documenten-api>\n <cds-tabs\n class=\"dossier-management-tabs\"\n type=\"contained\"\n [attr.data-carbon-theme]=\"CARBON_THEME\"\n >\n <cds-tab\n class=\"no-padding-left-right no-padding-top-bottom\"\n [active]=\"obs.currentTab === TabEnum.DOCUMENT\"\n [heading]=\"'dossierManagement.tabs.document' | translate\"\n (selected)=\"displayBodyComponent(TabEnum.DOCUMENT)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"no-padding-left-right main-content\"\n [active]=\"obs.currentTab === TabEnum.CASE\"\n [heading]=\"'dossierManagement.tabs.cases' | translate\"\n (selected)=\"displayBodyComponent(TabEnum.CASE)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"no-padding-left-right main-content\"\n [active]=\"obs.currentTab === TabEnum.PROCESSES\"\n [heading]=\"'dossierManagement.tabs.processes' | translate\"\n (selected)=\"displayBodyComponent(TabEnum.PROCESSES)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"main-content no-padding-left-right no-padding-bottom\"\n [active]=\"obs.currentTab === TabEnum.SEARCH\"\n [heading]=\"'dossierManagement.tabs.searchFields' | translate\"\n (selected)=\"displayBodyComponent(TabEnum.SEARCH)\"\n >\n </cds-tab>\n\n <cds-tab\n *ngIf=\"caseListColumn\"\n class=\"no-padding-left-right no-padding-top-bottom\"\n [active]=\"obs.currentTab === TabEnum.LIST\"\n [heading]=\"'dossierManagement.tabs.listColumns' | translate\"\n (selected)=\"displayBodyComponent(TabEnum.LIST)\"\n >\n </cds-tab>\n\n <cds-tab\n *ngIf=\"tabManagementEnabled\"\n class=\"no-padding-left-right no-padding-top-bottom\"\n [active]=\"obs.currentTab === TabEnum.TABS\"\n [heading]=\"'dossierManagement.tabs.tabManagement' | translate\"\n (selected)=\"displayBodyComponent(TabEnum.TABS)\"\n >\n </cds-tab>\n\n <cds-tab\n *ngIf=\"{active: obs.currentTab === TabEnum.STATUSES} as vars\"\n class=\"no-padding-left-right no-padding-top-bottom\"\n [active]=\"vars.active\"\n [heading]=\"'dossierManagement.tabs.statuses' | translate\"\n (selected)=\"displayBodyComponent(TabEnum.STATUSES)\"\n >\n <valtimo-dossier-management-statuses\n *ngIf=\"vars.active\"\n ></valtimo-dossier-management-statuses>\n </cds-tab>\n\n @for (injectedTab of obs.injectedTabs; track injectedTab.translationKey) {\n <cds-tab\n class=\"no-padding-left-right no-padding-top-bottom\"\n [active]=\"obs.currentTab === injectedTab.translationKey\"\n [heading]=\"injectedTab.translationKey | translate\"\n (selected)=\"displayBodyComponent(injectedTab.translationKey, true)\"\n >\n </cds-tab>\n }\n </cds-tabs>\n\n <div class=\"dossier-management-detail-container__content\">\n <ng-template #contentContainer></ng-template>\n\n <valtimo-dossier-management-document-definition\n *ngIf=\"\n (obs.currentTab === TabEnum.DOCUMENT && !pendingChanges) || pendingTab === TabEnum.DOCUMENT\n \"\n [documentDefinitionName]=\"documentDefinitionName$ | async\"\n (pendingChangesUpdate)=\"onPendingChangesUpdate($event)\"\n (cancelRedirect)=\"onCancelRedirectEvent()\"\n (confirmRedirect)=\"onConfirmRedirectEvent()\"\n ></valtimo-dossier-management-document-definition>\n\n <valtimo-dossier-management-detail\n *ngIf=\"(obs.currentTab === TabEnum.CASE && !pendingChanges) || pendingTab === TabEnum.CASE\"\n ></valtimo-dossier-management-detail>\n\n <valtimo-dossier-management-processes\n *ngIf=\"\n (obs.currentTab === TabEnum.PROCESSES && !pendingChanges) ||\n pendingTab === TabEnum.PROCESSES\n \"\n ></valtimo-dossier-management-processes>\n\n <valtimo-dossier-management-search-fields\n *ngIf=\"\n (obs.currentTab === TabEnum.SEARCH && !pendingChanges) || pendingTab === TabEnum.SEARCH\n \"\n ></valtimo-dossier-management-search-fields>\n\n <valtimo-dossier-management-list-columns\n *ngIf=\"(obs.currentTab === TabEnum.LIST && !pendingChanges) || pendingTab === TabEnum.LIST\"\n ></valtimo-dossier-management-list-columns>\n\n <valtimo-dossier-management-tabs\n *ngIf=\"(obs.currentTab === TabEnum.TABS && !pendingChanges) || pendingTab === TabEnum.TABS\"\n [documentDefinitionName]=\"documentDefinitionName$ | async\"\n ></valtimo-dossier-management-tabs>\n </div>\n</div>\n\n<ng-container renderInPageHeader [fullWidth]=\"true\">\n <ng-template>\n <valtimo-dossier-management-detail-container-actions\n [documentDefinitionTitle]=\"documentDefinitionTitle$ | async\"\n [documentDefinitionName]=\"documentDefinitionName$ | async\"\n (versionSet)=\"onVersionSet($event)\"\n ></valtimo-dossier-management-detail-container-actions>\n </ng-template>\n</ng-container>\n", styles: ["::ng-deep .dossier-management-tabs .cds--tab-content{background-color:var(--cds-layer)}::ng-deep .dossier-management-tabs .cds--tab-content:focus{outline:none}::ng-deep .dossier-management-tabs .no-padding-left-right .cds--tab-content{padding-left:0;padding-right:0}::ng-deep .dossier-management-tabs .no-padding-top-bottom .cds--tab-content{padding-top:0;padding-bottom:0}::ng-deep .dossier-management-tabs .no-padding-bottom .cds--tab-content{padding-bottom:0}.tab-container{min-height:300px}.dossier-header{height:80px;padding-top:21px;padding-left:18px;padding-right:18px;border-bottom:1px solid rgba(0,0,0,.125)}.dossier-title{margin-top:0;margin-bottom:7px}.dossier-management-detail-container{display:flex;flex-direction:column;width:100%}.dossier-management-detail-container__content{background:var(--cds-layer)}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
2847
|
+
}], ctorParameters: () => [{ type: DossierDetailService }, { type: i2.ActivatedRoute }, { type: i2$1.ConfigService }, { type: TabService }, { type: i5.PageTitleService }], propDecorators: { _contentContainer: [{
|
|
2848
|
+
type: ViewChild,
|
|
2849
|
+
args: ['contentContainer', { read: ViewContainerRef }]
|
|
2850
|
+
}], _documentDefinitionTab: [{
|
|
2851
|
+
type: ViewChild,
|
|
2852
|
+
args: [DossierManagementDocumentDefinitionComponent]
|
|
2853
|
+
}] } });
|
|
2253
2854
|
|
|
2855
|
+
/*
|
|
2856
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
2857
|
+
*
|
|
2858
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
2859
|
+
* you may not use this file except in compliance with the License.
|
|
2860
|
+
* You may obtain a copy of the License at
|
|
2861
|
+
*
|
|
2862
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
2863
|
+
*
|
|
2864
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
2865
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
2866
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2867
|
+
* See the License for the specific language governing permissions and
|
|
2868
|
+
* limitations under the License.
|
|
2869
|
+
*/
|
|
2254
2870
|
var UPLOAD_STATUS;
|
|
2255
2871
|
(function (UPLOAD_STATUS) {
|
|
2256
2872
|
UPLOAD_STATUS["ACTIVE"] = "active";
|
|
@@ -2274,12 +2890,12 @@ const STEPS = [
|
|
|
2274
2890
|
];
|
|
2275
2891
|
|
|
2276
2892
|
/*
|
|
2277
|
-
* Copyright 2015-
|
|
2893
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
2278
2894
|
*
|
|
2279
2895
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
2280
2896
|
* you may not use this file except in compliance with the License.
|
|
2281
|
-
*
|
|
2282
2897
|
* You may obtain a copy of the License at
|
|
2898
|
+
*
|
|
2283
2899
|
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
2284
2900
|
*
|
|
2285
2901
|
* Unless required by applicable law or agreed to in writing, software
|
|
@@ -2288,7 +2904,7 @@ const STEPS = [
|
|
|
2288
2904
|
* See the License for the specific language governing permissions and
|
|
2289
2905
|
* limitations under the License.
|
|
2290
2906
|
*/
|
|
2291
|
-
class
|
|
2907
|
+
class DossierManagementService {
|
|
2292
2908
|
constructor(http, configService) {
|
|
2293
2909
|
this.http = http;
|
|
2294
2910
|
this.configService = configService;
|
|
@@ -2297,23 +2913,38 @@ class DossierImportService {
|
|
|
2297
2913
|
importDocumentDefinitionZip(file) {
|
|
2298
2914
|
return this.http.post(`${this.valtimoEndpointUri}management/v1/case/import`, file);
|
|
2299
2915
|
}
|
|
2300
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2301
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
2916
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementService, deps: [{ token: i1$2.HttpClient }, { token: i2$1.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
2917
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementService, providedIn: 'root' }); }
|
|
2302
2918
|
}
|
|
2303
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2919
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementService, decorators: [{
|
|
2304
2920
|
type: Injectable,
|
|
2305
2921
|
args: [{
|
|
2306
2922
|
providedIn: 'root',
|
|
2307
2923
|
}]
|
|
2308
|
-
}], ctorParameters:
|
|
2924
|
+
}], ctorParameters: () => [{ type: i1$2.HttpClient }, { type: i2$1.ConfigService }] });
|
|
2309
2925
|
|
|
2926
|
+
/*
|
|
2927
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
2928
|
+
*
|
|
2929
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
2930
|
+
* you may not use this file except in compliance with the License.
|
|
2931
|
+
* You may obtain a copy of the License at
|
|
2932
|
+
*
|
|
2933
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
2934
|
+
*
|
|
2935
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
2936
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
2937
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2938
|
+
* See the License for the specific language governing permissions and
|
|
2939
|
+
* limitations under the License.
|
|
2940
|
+
*/
|
|
2310
2941
|
class DossierManagementUploadStepComponent {
|
|
2311
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2312
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
2942
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementUploadStepComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2943
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: DossierManagementUploadStepComponent, selector: "valtimo-dossier-management-upload-step", inputs: { illustration: "illustration", message: "message", title: "title" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"valtimo-upload-step__content\">\n <div class=\"valtimo-upload-step__title\">{{ title }}</div>\n\n <div class=\"valtimo-upload-step__message\">{{ message }}</div>\n</div>\n\n<img [src]=\"illustration\" alt=\"{{ illustration }}\" class=\"valtimo-upload-step__illustration\" />\n", styles: [":host{display:flex;justify-content:space-around;align-items:center;gap:32px;height:100%}:host label{color:unset}.valtimo-upload-step__content{display:flex;flex-direction:column;gap:16px}.valtimo-upload-step__title{font-weight:600;font-size:16px}.valtimo-upload-step__message{font-size:16px;line-height:28px}.valtimo-upload-step__illustration{max-width:200px}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }); }
|
|
2313
2944
|
}
|
|
2314
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2945
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementUploadStepComponent, decorators: [{
|
|
2315
2946
|
type: Component,
|
|
2316
|
-
args: [{ selector: 'valtimo-dossier-management-upload-step', template: "<div class=\"valtimo-upload-step__content\">\n <div class=\"valtimo-upload-step__title\">{{ title }}</div>\n\n <div class=\"valtimo-upload-step__message\">{{ message }}</div>\n</div>\n\n<img [src]=\"illustration\" alt=\"{{ illustration }}\" class=\"valtimo-upload-step__illustration\" />\n", styles: [":host{display:flex;justify-content:space-around;align-items:center;gap:32px;height:100%}:host label{color:unset}.valtimo-upload-step__content{display:flex;flex-direction:column;gap:16px}.valtimo-upload-step__title{font-weight:600;font-size:16px}.valtimo-upload-step__message{font-size:16px;line-height:28px}.valtimo-upload-step__illustration{max-width:200px}\n"] }]
|
|
2947
|
+
args: [{ selector: 'valtimo-dossier-management-upload-step', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"valtimo-upload-step__content\">\n <div class=\"valtimo-upload-step__title\">{{ title }}</div>\n\n <div class=\"valtimo-upload-step__message\">{{ message }}</div>\n</div>\n\n<img [src]=\"illustration\" alt=\"{{ illustration }}\" class=\"valtimo-upload-step__illustration\" />\n", styles: [":host{display:flex;justify-content:space-around;align-items:center;gap:32px;height:100%}:host label{color:unset}.valtimo-upload-step__content{display:flex;flex-direction:column;gap:16px}.valtimo-upload-step__title{font-weight:600;font-size:16px}.valtimo-upload-step__message{font-size:16px;line-height:28px}.valtimo-upload-step__illustration{max-width:200px}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
2317
2948
|
}], propDecorators: { illustration: [{
|
|
2318
2949
|
type: Input
|
|
2319
2950
|
}], message: [{
|
|
@@ -2323,7 +2954,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
2323
2954
|
}] } });
|
|
2324
2955
|
|
|
2325
2956
|
/*
|
|
2326
|
-
* Copyright 2015-
|
|
2957
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
2327
2958
|
*
|
|
2328
2959
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
2329
2960
|
* you may not use this file except in compliance with the License.
|
|
@@ -2338,9 +2969,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
2338
2969
|
* limitations under the License.
|
|
2339
2970
|
*/
|
|
2340
2971
|
class DossierManagementUploadComponent {
|
|
2341
|
-
constructor(documentService,
|
|
2972
|
+
constructor(documentService, dossierManagementService, fb, iconService, translateService) {
|
|
2342
2973
|
this.documentService = documentService;
|
|
2343
|
-
this.
|
|
2974
|
+
this.dossierManagementService = dossierManagementService;
|
|
2344
2975
|
this.fb = fb;
|
|
2345
2976
|
this.iconService = iconService;
|
|
2346
2977
|
this.translateService = translateService;
|
|
@@ -2383,7 +3014,7 @@ class DossierManagementUploadComponent {
|
|
|
2383
3014
|
if (!control) {
|
|
2384
3015
|
return;
|
|
2385
3016
|
}
|
|
2386
|
-
this._subscriptions.add(
|
|
3017
|
+
this._subscriptions.add(this.form.get('file').valueChanges.subscribe((fileSet) => {
|
|
2387
3018
|
const [fileItem] = fileSet;
|
|
2388
3019
|
if (!fileItem) {
|
|
2389
3020
|
this._disabled$.next(true);
|
|
@@ -2399,6 +3030,7 @@ class DossierManagementUploadComponent {
|
|
|
2399
3030
|
}));
|
|
2400
3031
|
}
|
|
2401
3032
|
ngOnDestroy() {
|
|
3033
|
+
this._subscriptions.unsubscribe();
|
|
2402
3034
|
this.resetModal();
|
|
2403
3035
|
}
|
|
2404
3036
|
onCloseModal(definitionUploaded) {
|
|
@@ -2469,7 +3101,7 @@ class DossierManagementUploadComponent {
|
|
|
2469
3101
|
this._disabled$.next(true);
|
|
2470
3102
|
this._importFile$
|
|
2471
3103
|
.pipe(switchMap((file) => file instanceof FormData
|
|
2472
|
-
? this.
|
|
3104
|
+
? this.dossierManagementService.importDocumentDefinitionZip(file)
|
|
2473
3105
|
: this.documentService.createDocumentDefinitionForManagement(new DocumentDefinitionCreateRequest(file))), take(1))
|
|
2474
3106
|
.subscribe({
|
|
2475
3107
|
next: () => {
|
|
@@ -2505,26 +3137,129 @@ class DossierManagementUploadComponent {
|
|
|
2505
3137
|
this.activeStep$.next(UPLOAD_STEP.PLUGINS);
|
|
2506
3138
|
this.uploadStatus$.next(UPLOAD_STATUS.ACTIVE);
|
|
2507
3139
|
this.showCheckboxError$.next(false);
|
|
2508
|
-
this._subscriptions.unsubscribe();
|
|
2509
3140
|
}, CARBON_CONSTANTS.modalAnimationMs);
|
|
2510
3141
|
}
|
|
2511
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2512
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DossierManagementUploadComponent, selector: "valtimo-dossier-management-upload", inputs: { open: "open" }, outputs: { closeModal: "closeModal" }, viewQueries: [{ propertyName: "modal", first: true, predicate: ["uploadDefinitionModal"], 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<cds-modal\n *ngIf=\"{\n activeStep: activeStep$ | async,\n backButtonEnabled: backButtonEnabled$ | async,\n isStepAfterUpload: isStepAfterUpload$ | async,\n nextButtonDisabled: nextButtonDisabled$ | async,\n notificationObj: notificationObj$ | async,\n showCheckboxError: showCheckboxError$ | async,\n showCloseButton: showCloseButton$ | async,\n uploadStatus: uploadStatus$ | async\n } as obs\"\n valtimoCdsModal\n [open]=\"open\"\n showFooter=\"true\"\n class=\"valtimo-definition-uploader\"\n (close)=\"onCloseModal()\"\n>\n <cds-modal-header\n [showCloseButton]=\"obs.showCloseButton\"\n (closeSelect)=\"onCloseModal(obs.isStepAfterUpload && obs.uploadStatus !== UPLOAD_STATUS.ERROR)\"\n >\n <h3 cdsModalHeaderHeading>\n {{ 'dossierManagement.importDefinition.title' | translate }}\n </h3>\n </cds-modal-header>\n\n <section [ngSwitch]=\"obs.activeStep\" cdsModalContent class=\"valtimo-definition-uploader__content\">\n <ng-template ngSwitchDefault>\n <valtimo-dossier-management-upload-step\n [message]=\"\n 'dossierManagement.importDefinition.steps.' + obs.activeStep + '.message' | translate\n \"\n [title]=\"\n 'dossierManagement.importDefinition.steps.' + obs.activeStep + '.title' | translate\n \"\n [illustration]=\"'valtimo-layout/img/' + obs.activeStep + '.svg'\"\n >\n </valtimo-dossier-management-upload-step>\n </ng-template>\n\n <form *ngSwitchCase=\"UPLOAD_STEP.FILE_SELECT\" [formGroup]=\"form\">\n <cds-file-uploader\n [accept]=\"acceptedFiles\"\n [buttonText]=\"'dossierManagement.importDefinition.upload.buttonText' | translate\"\n [description]=\"'dossierManagement.importDefinition.upload.description' | translate\"\n [multiple]=\"false\"\n [title]=\"'dossierManagement.importDefinition.upload.title' | translate\"\n buttonType=\"primary\"\n data-carbon-theme=\"g10\"\n formControlName=\"file\"\n class=\"valtimo-definition-uploader__file-uploader\"\n >\n </cds-file-uploader>\n\n <ng-container *ngIf=\"!obs.nextButtonDisabled\">\n <cds-inline-notification [notificationObj]=\"obs.notificationObj\"></cds-inline-notification>\n\n <div class=\"valtimo-uploader__checkbox\">\n <cds-checkbox\n [class.valtimo-definition-uploader__checkbox--invalid]=\"obs.showCheckboxError\"\n (checkedChange)=\"onCheckedChange($event)\"\n >\n {{ 'dossierManagement.importDefinition.checkbox.message' | translate }}\n </cds-checkbox>\n\n <div *ngIf=\"obs.showCheckboxError\" class=\"valtimo-definition-uploader__error\">\n <svg cdsIcon=\"warning--filled\" size=\"16\"></svg>\n\n {{ 'dossierManagement.importDefinition.checkbox.error' | translate }}\n </div>\n </div>\n </ng-container>\n </form>\n\n <cds-progress-bar\n *ngSwitchCase=\"UPLOAD_STEP.FILE_UPLOAD\"\n class=\"valtimo-definition-uploader__progress-bar\"\n [label]=\"'dossierManagement.importDefinition.progressBar.label' | translate\"\n [status]=\"obs.uploadStatus\"\n [helperText]=\"\n 'dossierManagement.importDefinition.progressBar.' + obs.uploadStatus | translate\n \"\n ></cds-progress-bar>\n </section>\n\n <cds-modal-footer\n class=\"valtimo-definition-uploader__footer\"\n [class.valtimo-definition-uploader__footer--double]=\"obs.activeStep === UPLOAD_STEP.PLUGINS\"\n >\n <button\n *ngIf=\"obs.uploadStatus !== UPLOAD_STATUS.ERROR && obs.activeStep !== UPLOAD_STEP.FILE_UPLOAD\"\n class=\"valtimo-definition-uploader__cancel\"\n cdsButton=\"ghost\"\n (click)=\"onCloseModal(obs.isStepAfterUpload)\"\n >\n {{ (obs.isStepAfterUpload ? 'interface.skip' : 'interface.cancel') | translate }}\n </button>\n\n <div class=\"valtimo-definition-uploader__actions\">\n <button\n *ngIf=\"obs.backButtonEnabled\"\n cdsButton=\"secondary\"\n (click)=\"onBackClick(obs.activeStep)\"\n >\n {{ 'interface.back' | translate }}\n </button>\n\n <button\n *ngIf=\"obs.uploadStatus !== UPLOAD_STATUS.ERROR && obs.activeStep !== UPLOAD_STEP.DASHBOARD\"\n cdsButton=\"primary\"\n [disabled]=\"obs.nextButtonDisabled\"\n (click)=\"onNextClick(obs.activeStep)\"\n >\n {{\n (obs.activeStep === UPLOAD_STEP.FILE_SELECT\n ? 'dossierManagement.importDefinition.startUpload'\n : 'interface.next'\n ) | translate\n }}\n </button>\n\n <button\n *ngIf=\"obs.uploadStatus === UPLOAD_STATUS.ERROR || obs.activeStep === UPLOAD_STEP.DASHBOARD\"\n class=\"valtimo-definition-uploader__cancel\"\n cdsButton=\"primary\"\n (click)=\"onCloseModal(true)\"\n >\n {{ 'interface.finish' | translate }}\n </button>\n </div>\n </cds-modal-footer>\n</cds-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 */.valtimo-definition-uploader__content,.valtimo-definition-uploader__content form{display:flex;flex-direction:column;gap:16px}.valtimo-definition-uploader__footer ::ng-deep .cds--modal-footer{justify-content:unset!important;display:grid!important;grid-template-columns:1fr 1fr 2fr!important;grid-template-areas:\"cancel . actions\"!important}.valtimo-definition-uploader__footer--double ::ng-deep .cds--modal-footer{grid-template-columns:1fr 1fr!important;grid-template-areas:\"cancel actions\"!important}.valtimo-definition-uploader__progress-bar{height:100%;display:flex;flex-direction:column;justify-content:center}.valtimo-definition-uploader__error{display:flex;align-items:center;gap:10px;color:#da1e28;fill:#da1e28;font-size:12px}.valtimo-definition-uploader__cancel{grid-area:cancel;width:100%}.valtimo-definition-uploader__actions{grid-area:actions;display:flex}.valtimo-definition-uploader__actions button{flex:unset;width:100%}.valtimo-definition-uploader__file-uploader ::ng-deep cds-file{max-width:unset}.valtimo-definition-uploader__checkbox{display:flex;flex-direction:column;gap:8px}.valtimo-definition-uploader__checkbox--invalid ::ng-deep label:before{border-color:#da1e28;margin-inline:0}.valtimo-definition-uploader ::ng-deep .cds--modal-container{height:550px}.valtimo-definition-uploader ::ng-deep .cds--checkbox-label-text{color:#000}\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i6.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i6.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: i4.Notification, selector: "cds-notification, cds-inline-notification, ibm-notification, ibm-inline-notification", inputs: ["notificationObj"] }, { 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: 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: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.Checkbox, selector: "cds-checkbox, ibm-checkbox", inputs: ["disabled", "skeleton", "hideLabel", "name", "id", "required", "value", "ariaLabel", "ariaLabelledby", "indeterminate", "checked"], outputs: ["click", "checkedChange", "indeterminateChange"] }, { kind: "directive", type: i7.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]" }, { kind: "component", type: i4.FileUploader, selector: "cds-file-uploader, ibm-file-uploader", inputs: ["buttonText", "buttonType", "title", "description", "accept", "multiple", "skeleton", "size", "fileItemSize", "drop", "dropText", "fileUploaderId", "files", "disabled"], outputs: ["filesChange"] }, { kind: "component", type: i4.ProgressBar, selector: "cds-progress-bar, ibm-progress-bar", inputs: ["value", "id", "label", "helperText", "max", "type", "status", "size"] }, { kind: "component", type: DossierManagementUploadStepComponent, selector: "valtimo-dossier-management-upload-step", inputs: ["illustration", "message", "title"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3142
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementUploadComponent, deps: [{ token: i1.DocumentService }, { token: DossierManagementService }, { token: i1$3.FormBuilder }, { token: i2$2.IconService }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3143
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: DossierManagementUploadComponent, selector: "valtimo-dossier-management-upload", inputs: { open: "open" }, outputs: { closeModal: "closeModal" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<cds-modal\n *ngIf=\"{\n activeStep: activeStep$ | async,\n backButtonEnabled: backButtonEnabled$ | async,\n isStepAfterUpload: isStepAfterUpload$ | async,\n nextButtonDisabled: nextButtonDisabled$ | async,\n notificationObj: notificationObj$ | async,\n showCheckboxError: showCheckboxError$ | async,\n showCloseButton: showCloseButton$ | async,\n uploadStatus: uploadStatus$ | async\n } as obs\"\n valtimoCdsModal\n [open]=\"open\"\n showFooter=\"true\"\n class=\"valtimo-definition-uploader\"\n (close)=\"onCloseModal()\"\n>\n <cds-modal-header\n [showCloseButton]=\"obs.showCloseButton\"\n (closeSelect)=\"onCloseModal(obs.isStepAfterUpload && obs.uploadStatus !== UPLOAD_STATUS.ERROR)\"\n >\n <h3 cdsModalHeaderHeading>\n {{ 'dossierManagement.importDefinition.title' | translate }}\n </h3>\n </cds-modal-header>\n\n <section [ngSwitch]=\"obs.activeStep\" cdsModalContent class=\"valtimo-definition-uploader__content\">\n <ng-template ngSwitchDefault>\n <valtimo-dossier-management-upload-step\n [message]=\"\n 'dossierManagement.importDefinition.steps.' + obs.activeStep + '.message' | translate\n \"\n [title]=\"\n 'dossierManagement.importDefinition.steps.' + obs.activeStep + '.title' | translate\n \"\n [illustration]=\"'valtimo-layout/img/' + obs.activeStep + '.svg'\"\n >\n </valtimo-dossier-management-upload-step>\n </ng-template>\n\n <form *ngSwitchCase=\"UPLOAD_STEP.FILE_SELECT\" [formGroup]=\"form\">\n <cds-file-uploader\n [accept]=\"acceptedFiles\"\n [buttonText]=\"'dossierManagement.importDefinition.upload.buttonText' | translate\"\n [description]=\"'dossierManagement.importDefinition.upload.description' | translate\"\n [multiple]=\"false\"\n [title]=\"'dossierManagement.importDefinition.upload.title' | translate\"\n buttonType=\"primary\"\n formControlName=\"file\"\n class=\"valtimo-definition-uploader__file-uploader\"\n >\n </cds-file-uploader>\n\n <ng-container *ngIf=\"!obs.nextButtonDisabled\">\n <cds-inline-notification [notificationObj]=\"obs.notificationObj\"></cds-inline-notification>\n\n <div class=\"valtimo-uploader__checkbox\">\n <cds-checkbox\n [class.valtimo-definition-uploader__checkbox--invalid]=\"obs.showCheckboxError\"\n (checkedChange)=\"onCheckedChange($event)\"\n >\n {{ 'dossierManagement.importDefinition.checkbox.message' | translate }}\n </cds-checkbox>\n\n <div *ngIf=\"obs.showCheckboxError\" class=\"valtimo-definition-uploader__error\">\n <svg cdsIcon=\"warning--filled\" size=\"16\"></svg>\n\n {{ 'dossierManagement.importDefinition.checkbox.error' | translate }}\n </div>\n </div>\n </ng-container>\n </form>\n\n <cds-progress-bar\n *ngSwitchCase=\"UPLOAD_STEP.FILE_UPLOAD\"\n class=\"valtimo-definition-uploader__progress-bar\"\n [label]=\"'dossierManagement.importDefinition.progressBar.label' | translate\"\n [status]=\"obs.uploadStatus\"\n [helperText]=\"\n 'dossierManagement.importDefinition.progressBar.' + obs.uploadStatus | translate\n \"\n ></cds-progress-bar>\n </section>\n\n <cds-modal-footer\n class=\"valtimo-definition-uploader__footer\"\n [class.valtimo-definition-uploader__footer--double]=\"obs.activeStep === UPLOAD_STEP.PLUGINS\"\n >\n <button\n *ngIf=\"obs.uploadStatus !== UPLOAD_STATUS.ERROR && obs.activeStep !== UPLOAD_STEP.FILE_UPLOAD\"\n class=\"valtimo-definition-uploader__cancel\"\n cdsButton=\"ghost\"\n (click)=\"onCloseModal(obs.isStepAfterUpload)\"\n >\n {{ (obs.isStepAfterUpload ? 'interface.skip' : 'interface.cancel') | translate }}\n </button>\n\n <div class=\"valtimo-definition-uploader__actions\">\n <button\n *ngIf=\"obs.backButtonEnabled\"\n cdsButton=\"secondary\"\n (click)=\"onBackClick(obs.activeStep)\"\n >\n {{ 'interface.back' | translate }}\n </button>\n\n <button\n *ngIf=\"obs.uploadStatus !== UPLOAD_STATUS.ERROR && obs.activeStep !== UPLOAD_STEP.DASHBOARD\"\n cdsButton=\"primary\"\n [disabled]=\"obs.nextButtonDisabled\"\n (click)=\"onNextClick(obs.activeStep)\"\n >\n {{\n (obs.activeStep === UPLOAD_STEP.FILE_SELECT\n ? 'dossierManagement.importDefinition.startUpload'\n : 'interface.next'\n ) | translate\n }}\n </button>\n\n <button\n *ngIf=\"obs.uploadStatus === UPLOAD_STATUS.ERROR || obs.activeStep === UPLOAD_STEP.DASHBOARD\"\n class=\"valtimo-definition-uploader__cancel\"\n cdsButton=\"primary\"\n (click)=\"onCloseModal(true)\"\n >\n {{ 'interface.finish' | translate }}\n </button>\n </div>\n </cds-modal-footer>\n</cds-modal>\n", styles: [".valtimo-definition-uploader__content,.valtimo-definition-uploader__content form{display:flex;flex-direction:column;gap:16px}.valtimo-definition-uploader__footer ::ng-deep .cds--modal-footer{justify-content:unset!important;display:grid!important;grid-template-columns:1fr 1fr 2fr!important;grid-template-areas:\"cancel . actions\"!important}.valtimo-definition-uploader__footer--double ::ng-deep .cds--modal-footer{grid-template-columns:1fr 1fr!important;grid-template-areas:\"cancel actions\"!important}.valtimo-definition-uploader__progress-bar{height:100%;display:flex;flex-direction:column;justify-content:center}.valtimo-definition-uploader__error{display:flex;align-items:center;gap:10px;color:#da1e28;fill:#da1e28;font-size:12px}.valtimo-definition-uploader__cancel{grid-area:cancel;width:100%}.valtimo-definition-uploader__actions{grid-area:actions;display:flex}.valtimo-definition-uploader__actions button{flex:unset;width:100%}.valtimo-definition-uploader__file-uploader ::ng-deep cds-file{max-width:unset}.valtimo-definition-uploader__checkbox{display:flex;flex-direction:column;gap:8px}.valtimo-definition-uploader__checkbox--invalid ::ng-deep label:before{border-color:#da1e28;margin-inline:0}.valtimo-definition-uploader ::ng-deep .cds--modal-container{height:550px}.valtimo-definition-uploader ::ng-deep .cds--checkbox-label-text{color:#000}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i6.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i6.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: i2$2.Notification, selector: "cds-notification, cds-inline-notification, ibm-notification, ibm-inline-notification", inputs: ["notificationObj"] }, { kind: "directive", type: i2$2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i2$2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i2$2.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i2$2.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i2$2.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i2$2.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i2$2.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2$2.Checkbox, selector: "cds-checkbox, ibm-checkbox", inputs: ["disabled", "skeleton", "hideLabel", "name", "id", "required", "value", "ariaLabel", "ariaLabelledby", "indeterminate", "checked"], outputs: ["click", "checkedChange", "indeterminateChange"] }, { kind: "directive", type: i5.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]" }, { kind: "component", type: i2$2.FileUploader, selector: "cds-file-uploader, ibm-file-uploader", inputs: ["buttonText", "buttonType", "title", "description", "accept", "multiple", "skeleton", "size", "fileItemSize", "drop", "dropText", "fileUploaderId", "files", "disabled"], outputs: ["filesChange"] }, { kind: "component", type: i2$2.ProgressBar, selector: "cds-progress-bar, ibm-progress-bar", inputs: ["value", "id", "label", "helperText", "max", "type", "status", "size"] }, { kind: "component", type: DossierManagementUploadStepComponent, selector: "valtimo-dossier-management-upload-step", inputs: ["illustration", "message", "title"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2513
3144
|
}
|
|
2514
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3145
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementUploadComponent, decorators: [{
|
|
2515
3146
|
type: Component,
|
|
2516
|
-
args: [{ selector: 'valtimo-dossier-management-upload', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n ~ Copyright 2015-
|
|
2517
|
-
}], ctorParameters:
|
|
2518
|
-
type:
|
|
2519
|
-
|
|
2520
|
-
|
|
3147
|
+
args: [{ selector: 'valtimo-dossier-management-upload', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<cds-modal\n *ngIf=\"{\n activeStep: activeStep$ | async,\n backButtonEnabled: backButtonEnabled$ | async,\n isStepAfterUpload: isStepAfterUpload$ | async,\n nextButtonDisabled: nextButtonDisabled$ | async,\n notificationObj: notificationObj$ | async,\n showCheckboxError: showCheckboxError$ | async,\n showCloseButton: showCloseButton$ | async,\n uploadStatus: uploadStatus$ | async\n } as obs\"\n valtimoCdsModal\n [open]=\"open\"\n showFooter=\"true\"\n class=\"valtimo-definition-uploader\"\n (close)=\"onCloseModal()\"\n>\n <cds-modal-header\n [showCloseButton]=\"obs.showCloseButton\"\n (closeSelect)=\"onCloseModal(obs.isStepAfterUpload && obs.uploadStatus !== UPLOAD_STATUS.ERROR)\"\n >\n <h3 cdsModalHeaderHeading>\n {{ 'dossierManagement.importDefinition.title' | translate }}\n </h3>\n </cds-modal-header>\n\n <section [ngSwitch]=\"obs.activeStep\" cdsModalContent class=\"valtimo-definition-uploader__content\">\n <ng-template ngSwitchDefault>\n <valtimo-dossier-management-upload-step\n [message]=\"\n 'dossierManagement.importDefinition.steps.' + obs.activeStep + '.message' | translate\n \"\n [title]=\"\n 'dossierManagement.importDefinition.steps.' + obs.activeStep + '.title' | translate\n \"\n [illustration]=\"'valtimo-layout/img/' + obs.activeStep + '.svg'\"\n >\n </valtimo-dossier-management-upload-step>\n </ng-template>\n\n <form *ngSwitchCase=\"UPLOAD_STEP.FILE_SELECT\" [formGroup]=\"form\">\n <cds-file-uploader\n [accept]=\"acceptedFiles\"\n [buttonText]=\"'dossierManagement.importDefinition.upload.buttonText' | translate\"\n [description]=\"'dossierManagement.importDefinition.upload.description' | translate\"\n [multiple]=\"false\"\n [title]=\"'dossierManagement.importDefinition.upload.title' | translate\"\n buttonType=\"primary\"\n formControlName=\"file\"\n class=\"valtimo-definition-uploader__file-uploader\"\n >\n </cds-file-uploader>\n\n <ng-container *ngIf=\"!obs.nextButtonDisabled\">\n <cds-inline-notification [notificationObj]=\"obs.notificationObj\"></cds-inline-notification>\n\n <div class=\"valtimo-uploader__checkbox\">\n <cds-checkbox\n [class.valtimo-definition-uploader__checkbox--invalid]=\"obs.showCheckboxError\"\n (checkedChange)=\"onCheckedChange($event)\"\n >\n {{ 'dossierManagement.importDefinition.checkbox.message' | translate }}\n </cds-checkbox>\n\n <div *ngIf=\"obs.showCheckboxError\" class=\"valtimo-definition-uploader__error\">\n <svg cdsIcon=\"warning--filled\" size=\"16\"></svg>\n\n {{ 'dossierManagement.importDefinition.checkbox.error' | translate }}\n </div>\n </div>\n </ng-container>\n </form>\n\n <cds-progress-bar\n *ngSwitchCase=\"UPLOAD_STEP.FILE_UPLOAD\"\n class=\"valtimo-definition-uploader__progress-bar\"\n [label]=\"'dossierManagement.importDefinition.progressBar.label' | translate\"\n [status]=\"obs.uploadStatus\"\n [helperText]=\"\n 'dossierManagement.importDefinition.progressBar.' + obs.uploadStatus | translate\n \"\n ></cds-progress-bar>\n </section>\n\n <cds-modal-footer\n class=\"valtimo-definition-uploader__footer\"\n [class.valtimo-definition-uploader__footer--double]=\"obs.activeStep === UPLOAD_STEP.PLUGINS\"\n >\n <button\n *ngIf=\"obs.uploadStatus !== UPLOAD_STATUS.ERROR && obs.activeStep !== UPLOAD_STEP.FILE_UPLOAD\"\n class=\"valtimo-definition-uploader__cancel\"\n cdsButton=\"ghost\"\n (click)=\"onCloseModal(obs.isStepAfterUpload)\"\n >\n {{ (obs.isStepAfterUpload ? 'interface.skip' : 'interface.cancel') | translate }}\n </button>\n\n <div class=\"valtimo-definition-uploader__actions\">\n <button\n *ngIf=\"obs.backButtonEnabled\"\n cdsButton=\"secondary\"\n (click)=\"onBackClick(obs.activeStep)\"\n >\n {{ 'interface.back' | translate }}\n </button>\n\n <button\n *ngIf=\"obs.uploadStatus !== UPLOAD_STATUS.ERROR && obs.activeStep !== UPLOAD_STEP.DASHBOARD\"\n cdsButton=\"primary\"\n [disabled]=\"obs.nextButtonDisabled\"\n (click)=\"onNextClick(obs.activeStep)\"\n >\n {{\n (obs.activeStep === UPLOAD_STEP.FILE_SELECT\n ? 'dossierManagement.importDefinition.startUpload'\n : 'interface.next'\n ) | translate\n }}\n </button>\n\n <button\n *ngIf=\"obs.uploadStatus === UPLOAD_STATUS.ERROR || obs.activeStep === UPLOAD_STEP.DASHBOARD\"\n class=\"valtimo-definition-uploader__cancel\"\n cdsButton=\"primary\"\n (click)=\"onCloseModal(true)\"\n >\n {{ 'interface.finish' | translate }}\n </button>\n </div>\n </cds-modal-footer>\n</cds-modal>\n", styles: [".valtimo-definition-uploader__content,.valtimo-definition-uploader__content form{display:flex;flex-direction:column;gap:16px}.valtimo-definition-uploader__footer ::ng-deep .cds--modal-footer{justify-content:unset!important;display:grid!important;grid-template-columns:1fr 1fr 2fr!important;grid-template-areas:\"cancel . actions\"!important}.valtimo-definition-uploader__footer--double ::ng-deep .cds--modal-footer{grid-template-columns:1fr 1fr!important;grid-template-areas:\"cancel actions\"!important}.valtimo-definition-uploader__progress-bar{height:100%;display:flex;flex-direction:column;justify-content:center}.valtimo-definition-uploader__error{display:flex;align-items:center;gap:10px;color:#da1e28;fill:#da1e28;font-size:12px}.valtimo-definition-uploader__cancel{grid-area:cancel;width:100%}.valtimo-definition-uploader__actions{grid-area:actions;display:flex}.valtimo-definition-uploader__actions button{flex:unset;width:100%}.valtimo-definition-uploader__file-uploader ::ng-deep cds-file{max-width:unset}.valtimo-definition-uploader__checkbox{display:flex;flex-direction:column;gap:8px}.valtimo-definition-uploader__checkbox--invalid ::ng-deep label:before{border-color:#da1e28;margin-inline:0}.valtimo-definition-uploader ::ng-deep .cds--modal-container{height:550px}.valtimo-definition-uploader ::ng-deep .cds--checkbox-label-text{color:#000}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
3148
|
+
}], ctorParameters: () => [{ type: i1.DocumentService }, { type: DossierManagementService }, { type: i1$3.FormBuilder }, { type: i2$2.IconService }, { type: i3.TranslateService }], propDecorators: { open: [{
|
|
3149
|
+
type: Input
|
|
3150
|
+
}], closeModal: [{
|
|
3151
|
+
type: Output
|
|
3152
|
+
}] } });
|
|
3153
|
+
|
|
3154
|
+
/*
|
|
3155
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
3156
|
+
*
|
|
3157
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
3158
|
+
* you may not use this file except in compliance with the License.
|
|
3159
|
+
* You may obtain a copy of the License at
|
|
3160
|
+
*
|
|
3161
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
3162
|
+
*
|
|
3163
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
3164
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
3165
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3166
|
+
* See the License for the specific language governing permissions and
|
|
3167
|
+
* limitations under the License.
|
|
3168
|
+
*/
|
|
3169
|
+
class DossierManagementCreateComponent {
|
|
3170
|
+
constructor(documentService, fb, iconService) {
|
|
3171
|
+
this.documentService = documentService;
|
|
3172
|
+
this.fb = fb;
|
|
3173
|
+
this.iconService = iconService;
|
|
3174
|
+
this.open = false;
|
|
3175
|
+
this.closeModal = new EventEmitter();
|
|
3176
|
+
this.formGroup = this.fb.group({
|
|
3177
|
+
title: this.fb.control('', Validators.required),
|
|
3178
|
+
name: this.fb.control({ value: '', disabled: true }, [
|
|
3179
|
+
Validators.required,
|
|
3180
|
+
Validators.pattern('[A-Za-z0-9-]*'),
|
|
3181
|
+
]),
|
|
3182
|
+
});
|
|
3183
|
+
this._editActive$ = new BehaviorSubject(false);
|
|
3184
|
+
this.editActive$ = this._editActive$.pipe(tap$1((editActive) => {
|
|
3185
|
+
const name = this.formGroup.get('name');
|
|
3186
|
+
if (!name) {
|
|
3187
|
+
return;
|
|
3188
|
+
}
|
|
3189
|
+
if (editActive) {
|
|
3190
|
+
name.enable();
|
|
3191
|
+
return;
|
|
3192
|
+
}
|
|
3193
|
+
name.disable();
|
|
3194
|
+
}));
|
|
3195
|
+
this.editDisabled$ = new BehaviorSubject(true);
|
|
3196
|
+
this.idError$ = new BehaviorSubject(null);
|
|
3197
|
+
this.iconService.registerAll([Edit16, Information16]);
|
|
3198
|
+
}
|
|
3199
|
+
onCloseModal(definitionCreated) {
|
|
3200
|
+
if (!definitionCreated) {
|
|
3201
|
+
this.closeModal.emit(null);
|
|
3202
|
+
this.resetForm();
|
|
3203
|
+
return;
|
|
3204
|
+
}
|
|
3205
|
+
const { name, title } = this.formGroup.controls;
|
|
3206
|
+
if (!name || !title) {
|
|
3207
|
+
return;
|
|
3208
|
+
}
|
|
3209
|
+
this.documentService
|
|
3210
|
+
.getDocumentDefinition(name.value, true)
|
|
3211
|
+
.pipe(take(1))
|
|
3212
|
+
.subscribe({
|
|
3213
|
+
next: () => {
|
|
3214
|
+
this.idError$.next('dossierManagement.createDefinition.idError');
|
|
3215
|
+
this.editDisabled$.next(false);
|
|
3216
|
+
this.enableEdit();
|
|
3217
|
+
},
|
|
3218
|
+
error: () => {
|
|
3219
|
+
this.closeModal.emit({
|
|
3220
|
+
documentDefinitionId: name.value,
|
|
3221
|
+
documentDefinitionTitle: title.value,
|
|
3222
|
+
});
|
|
3223
|
+
this.resetForm();
|
|
3224
|
+
},
|
|
3225
|
+
});
|
|
3226
|
+
}
|
|
3227
|
+
enableEdit() {
|
|
3228
|
+
this._editActive$.next(true);
|
|
3229
|
+
}
|
|
3230
|
+
onFocusOut() {
|
|
3231
|
+
const { name, title } = this.formGroup.controls;
|
|
3232
|
+
if (!name || !title) {
|
|
3233
|
+
return;
|
|
3234
|
+
}
|
|
3235
|
+
if (!title.value) {
|
|
3236
|
+
return;
|
|
3237
|
+
}
|
|
3238
|
+
name.patchValue(title.value.replace(/\W+/g, '-').replace(/\-$/, '').toLowerCase());
|
|
3239
|
+
this.editDisabled$.next(false);
|
|
3240
|
+
}
|
|
3241
|
+
resetForm() {
|
|
3242
|
+
setTimeout(() => {
|
|
3243
|
+
this.formGroup.reset();
|
|
3244
|
+
this.idError$.next(null);
|
|
3245
|
+
this._editActive$.next(false);
|
|
3246
|
+
this.editDisabled$.next(true);
|
|
3247
|
+
}, CARBON_CONSTANTS.modalAnimationMs);
|
|
3248
|
+
}
|
|
3249
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementCreateComponent, deps: [{ token: i1.DocumentService }, { token: i1$3.FormBuilder }, { token: i2$2.IconService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3250
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: DossierManagementCreateComponent, selector: "valtimo-dossier-management-create", inputs: { open: "open" }, outputs: { closeModal: "closeModal" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<cds-modal\n *ngIf=\"{\n editDisabled: editDisabled$ | async,\n idError: idError$ | async,\n editActive: editActive$ | async\n } as obs\"\n [open]=\"open\"\n showFooter=\"true\"\n valtimoCdsModal\n class=\"valtimo-definition-create\"\n (close)=\"onCloseModal()\"\n>\n <cds-modal-header showCloseButton=\"true\" (closeSelect)=\"onCloseModal()\">\n <h3 cdsModalHeaderHeading>\n {{ 'dossierManagement.createDefinition.modalTitle' | translate }}\n </h3>\n </cds-modal-header>\n\n <form [formGroup]=\"formGroup\" cdsModalContent class=\"valtimo-definition-create__content\">\n <cds-label>\n {{ 'dossierManagement.createDefinition.title' | translate }}\n\n <cds-tooltip\n [caret]=\"true\"\n [description]=\"'dossierManagement.createDefinition.titleTooltip' | translate\"\n >\n <svg class=\"tooltip-trigger\" cdsIcon=\"information\" size=\"16\"></svg>\n </cds-tooltip>\n\n <input\n formControlName=\"title\"\n cdsText\n placeholder=\"{{ 'dossierManagement.createDefinition.titlePlaceholder' | translate }}\"\n [attr.modal-primary-focus]=\"true\"\n (focusout)=\"onFocusOut()\"\n />\n </cds-label>\n\n <cds-label [invalid]=\"!!obs.idError\" [invalidText]=\"obs.idError | translate\">\n {{ 'dossierManagement.createDefinition.name' | translate }}\n\n <cds-tooltip\n [caret]=\"true\"\n [description]=\"'dossierManagement.createDefinition.nameTooltip' | translate\"\n >\n <svg class=\"tooltip-trigger\" cdsIcon=\"information\" size=\"16\"></svg>\n </cds-tooltip>\n\n <div class=\"valtimo-definition-create__name\">\n <input\n cdsText\n formControlName=\"name\"\n [invalid]=\"!!obs.idError\"\n [placeholder]=\"'dossierManagement.createDefinition.namePlaceholder' | translate\"\n [attr.modal-primary-focus]=\"true\"\n />\n\n <button\n *ngIf=\"!obs.editActive\"\n cdsButton=\"secondary\"\n [disabled]=\"obs.editDisabled\"\n [iconOnly]=\"true\"\n size=\"md\"\n (click)=\"enableEdit()\"\n >\n <svg cdsIcon=\"edit\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n </div>\n </cds-label>\n </form>\n\n <cds-modal-footer>\n <button cdsButton=\"ghost\" (click)=\"onCloseModal()\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button cdsButton=\"primary\" [disabled]=\"formGroup.invalid\" (click)=\"onCloseModal(true)\">\n {{ 'interface.save' | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n", styles: [".valtimo-definition-create__content{display:flex;flex-direction:column;gap:16px}.valtimo-definition-create__name{width:100%;display:flex;gap:8px}:host ::ng-deep .cds--label{display:flex;align-items:center;gap:12px}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.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: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i2$2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i2$2.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i2$2.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i2$2.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i2$2.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i2$2.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "component", type: i2$2.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i2$2.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i5.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]" }, { kind: "component", type: i2$2.Tooltip, selector: "cds-tooltip, ibm-tooltip", inputs: ["id", "enterDelayMs", "leaveDelayMs", "disabled", "description"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3251
|
+
}
|
|
3252
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementCreateComponent, decorators: [{
|
|
3253
|
+
type: Component,
|
|
3254
|
+
args: [{ selector: 'valtimo-dossier-management-create', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<cds-modal\n *ngIf=\"{\n editDisabled: editDisabled$ | async,\n idError: idError$ | async,\n editActive: editActive$ | async\n } as obs\"\n [open]=\"open\"\n showFooter=\"true\"\n valtimoCdsModal\n class=\"valtimo-definition-create\"\n (close)=\"onCloseModal()\"\n>\n <cds-modal-header showCloseButton=\"true\" (closeSelect)=\"onCloseModal()\">\n <h3 cdsModalHeaderHeading>\n {{ 'dossierManagement.createDefinition.modalTitle' | translate }}\n </h3>\n </cds-modal-header>\n\n <form [formGroup]=\"formGroup\" cdsModalContent class=\"valtimo-definition-create__content\">\n <cds-label>\n {{ 'dossierManagement.createDefinition.title' | translate }}\n\n <cds-tooltip\n [caret]=\"true\"\n [description]=\"'dossierManagement.createDefinition.titleTooltip' | translate\"\n >\n <svg class=\"tooltip-trigger\" cdsIcon=\"information\" size=\"16\"></svg>\n </cds-tooltip>\n\n <input\n formControlName=\"title\"\n cdsText\n placeholder=\"{{ 'dossierManagement.createDefinition.titlePlaceholder' | translate }}\"\n [attr.modal-primary-focus]=\"true\"\n (focusout)=\"onFocusOut()\"\n />\n </cds-label>\n\n <cds-label [invalid]=\"!!obs.idError\" [invalidText]=\"obs.idError | translate\">\n {{ 'dossierManagement.createDefinition.name' | translate }}\n\n <cds-tooltip\n [caret]=\"true\"\n [description]=\"'dossierManagement.createDefinition.nameTooltip' | translate\"\n >\n <svg class=\"tooltip-trigger\" cdsIcon=\"information\" size=\"16\"></svg>\n </cds-tooltip>\n\n <div class=\"valtimo-definition-create__name\">\n <input\n cdsText\n formControlName=\"name\"\n [invalid]=\"!!obs.idError\"\n [placeholder]=\"'dossierManagement.createDefinition.namePlaceholder' | translate\"\n [attr.modal-primary-focus]=\"true\"\n />\n\n <button\n *ngIf=\"!obs.editActive\"\n cdsButton=\"secondary\"\n [disabled]=\"obs.editDisabled\"\n [iconOnly]=\"true\"\n size=\"md\"\n (click)=\"enableEdit()\"\n >\n <svg cdsIcon=\"edit\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n </div>\n </cds-label>\n </form>\n\n <cds-modal-footer>\n <button cdsButton=\"ghost\" (click)=\"onCloseModal()\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button cdsButton=\"primary\" [disabled]=\"formGroup.invalid\" (click)=\"onCloseModal(true)\">\n {{ 'interface.save' | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n", styles: [".valtimo-definition-create__content{display:flex;flex-direction:column;gap:16px}.valtimo-definition-create__name{width:100%;display:flex;gap:8px}:host ::ng-deep .cds--label{display:flex;align-items:center;gap:12px}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
3255
|
+
}], ctorParameters: () => [{ type: i1.DocumentService }, { type: i1$3.FormBuilder }, { type: i2$2.IconService }], propDecorators: { open: [{
|
|
2521
3256
|
type: Input
|
|
2522
3257
|
}], closeModal: [{
|
|
2523
3258
|
type: Output
|
|
2524
3259
|
}] } });
|
|
2525
3260
|
|
|
2526
3261
|
/*
|
|
2527
|
-
* Copyright 2015-
|
|
3262
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
2528
3263
|
*
|
|
2529
3264
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
2530
3265
|
* you may not use this file except in compliance with the License.
|
|
@@ -2569,17 +3304,30 @@ class DossierManagementListComponent {
|
|
|
2569
3304
|
{ key: 'createdOn', label: 'fieldLabels.createdOn', viewType: ViewType.TEXT },
|
|
2570
3305
|
{ key: 'readOnly', label: 'fieldLabels.readOnly', viewType: ViewType.BOOLEAN },
|
|
2571
3306
|
];
|
|
2572
|
-
this.
|
|
2573
|
-
this.
|
|
3307
|
+
this.showCreateModal$ = new BehaviorSubject(false);
|
|
3308
|
+
this.showUploadModal$ = new BehaviorSubject(false);
|
|
3309
|
+
this.iconService.registerAll([Search20, TrashCan20, Upload16]);
|
|
2574
3310
|
}
|
|
2575
|
-
|
|
2576
|
-
this.
|
|
3311
|
+
onCloseUploadModal(definitionUploaded) {
|
|
3312
|
+
this.showUploadModal$.next(false);
|
|
2577
3313
|
if (!definitionUploaded) {
|
|
2578
3314
|
return;
|
|
2579
3315
|
}
|
|
2580
3316
|
this._refreshData$.next(null);
|
|
2581
3317
|
this.menuService.reload();
|
|
2582
3318
|
}
|
|
3319
|
+
onCloseCreateModal(templatePayload) {
|
|
3320
|
+
this.showCreateModal$.next(false);
|
|
3321
|
+
if (!templatePayload) {
|
|
3322
|
+
return;
|
|
3323
|
+
}
|
|
3324
|
+
this.documentService
|
|
3325
|
+
.createDocumentDefinitionTemplate(templatePayload)
|
|
3326
|
+
.pipe(take(1))
|
|
3327
|
+
.subscribe((response) => {
|
|
3328
|
+
this.redirectToDetails(response.documentDefinition);
|
|
3329
|
+
});
|
|
3330
|
+
}
|
|
2583
3331
|
paginationClicked(page) {
|
|
2584
3332
|
this.pagination = { ...this.pagination, page };
|
|
2585
3333
|
this._refreshData$.next(null);
|
|
@@ -2591,19 +3339,22 @@ class DossierManagementListComponent {
|
|
|
2591
3339
|
redirectToDetails(documentDefinition) {
|
|
2592
3340
|
this.router.navigate(['/dossier-management/dossier', documentDefinition.id.name]);
|
|
2593
3341
|
}
|
|
2594
|
-
|
|
2595
|
-
this.
|
|
3342
|
+
showUploadModal() {
|
|
3343
|
+
this.showUploadModal$.next(true);
|
|
2596
3344
|
}
|
|
2597
|
-
|
|
2598
|
-
|
|
3345
|
+
showCreateModal() {
|
|
3346
|
+
this.showCreateModal$.next(true);
|
|
3347
|
+
}
|
|
3348
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementListComponent, deps: [{ token: i1.DocumentService }, { token: i2$2.IconService }, { token: i5.MenuService }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3349
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: DossierManagementListComponent, selector: "valtimo-dossier-management-list", ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-carbon-list\n *ngIf=\"dossiers$ | async as dossiers; else loading\"\n [items]=\"dossiers\"\n [fields]=\"dossierFields\"\n [pagination]=\"pagination\"\n paginationIdentifier=\"dossierManagementList\"\n (paginationClicked)=\"paginationClicked($event)\"\n (paginationSet)=\"paginationSet($event)\"\n (rowClicked)=\"redirectToDetails($event)\"\n>\n <ng-container carbonToolbarContent [ngTemplateOutlet]=\"importCaseDefinitionButton\"></ng-container>\n\n <valtimo-no-results\n [action]=\"addCaseDefinitionButton\"\n [description]=\"'dossierManagement.noResults.description' | translate\"\n [title]=\"'dossierManagement.noResults.title' | translate\"\n ></valtimo-no-results>\n</valtimo-carbon-list>\n\n<ng-template #loading>\n <valtimo-carbon-list loading=\"true\"></valtimo-carbon-list>\n</ng-template>\n\n<valtimo-dossier-management-upload\n [open]=\"showUploadModal$ | async\"\n (closeModal)=\"onCloseUploadModal($event)\"\n></valtimo-dossier-management-upload>\n\n<valtimo-dossier-management-create\n [open]=\"showCreateModal$ | async\"\n (closeModal)=\"onCloseCreateModal($event)\"\n></valtimo-dossier-management-create>\n\n<ng-template #importCaseDefinitionButton>\n <button cdsButton=\"ghost\" (click)=\"showUploadModal()\">\n {{ 'Upload' | translate }}\n\n <svg cdsIcon=\"upload\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n\n <button cdsButton=\"primary\" (click)=\"showCreateModal()\">\n {{ 'interface.create' | translate }}\n\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i2$2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i5.CarbonListComponent, selector: "valtimo-carbon-list", inputs: ["items", "fields", "tableTranslations", "paginatorConfig", "pagination", "loading", "actions", "actionItems", "header", "hideColumnHeader", "initialSortState", "isSearchable", "enableSingleSelection", "lastColumnTemplate", "paginationIdentifier", "showSelectionColumn", "striped", "hideToolbar", "lockedTooltipTranslationKey", "movingRowsEnabled"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged", "moveRow", "itemsReordered"] }, { kind: "component", type: i5.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title"] }, { kind: "component", type: DossierManagementUploadComponent, selector: "valtimo-dossier-management-upload", inputs: ["open"], outputs: ["closeModal"] }, { kind: "component", type: DossierManagementCreateComponent, selector: "valtimo-dossier-management-create", inputs: ["open"], outputs: ["closeModal"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
|
|
2599
3350
|
}
|
|
2600
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3351
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementListComponent, decorators: [{
|
|
2601
3352
|
type: Component,
|
|
2602
|
-
args: [{ selector: 'valtimo-dossier-management-list', template: "<!--\n ~ Copyright 2015-
|
|
2603
|
-
}], ctorParameters:
|
|
3353
|
+
args: [{ selector: 'valtimo-dossier-management-list', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-carbon-list\n *ngIf=\"dossiers$ | async as dossiers; else loading\"\n [items]=\"dossiers\"\n [fields]=\"dossierFields\"\n [pagination]=\"pagination\"\n paginationIdentifier=\"dossierManagementList\"\n (paginationClicked)=\"paginationClicked($event)\"\n (paginationSet)=\"paginationSet($event)\"\n (rowClicked)=\"redirectToDetails($event)\"\n>\n <ng-container carbonToolbarContent [ngTemplateOutlet]=\"importCaseDefinitionButton\"></ng-container>\n\n <valtimo-no-results\n [action]=\"addCaseDefinitionButton\"\n [description]=\"'dossierManagement.noResults.description' | translate\"\n [title]=\"'dossierManagement.noResults.title' | translate\"\n ></valtimo-no-results>\n</valtimo-carbon-list>\n\n<ng-template #loading>\n <valtimo-carbon-list loading=\"true\"></valtimo-carbon-list>\n</ng-template>\n\n<valtimo-dossier-management-upload\n [open]=\"showUploadModal$ | async\"\n (closeModal)=\"onCloseUploadModal($event)\"\n></valtimo-dossier-management-upload>\n\n<valtimo-dossier-management-create\n [open]=\"showCreateModal$ | async\"\n (closeModal)=\"onCloseCreateModal($event)\"\n></valtimo-dossier-management-create>\n\n<ng-template #importCaseDefinitionButton>\n <button cdsButton=\"ghost\" (click)=\"showUploadModal()\">\n {{ 'Upload' | translate }}\n\n <svg cdsIcon=\"upload\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n\n <button cdsButton=\"primary\" (click)=\"showCreateModal()\">\n {{ 'interface.create' | translate }}\n\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
3354
|
+
}], ctorParameters: () => [{ type: i1.DocumentService }, { type: i2$2.IconService }, { type: i5.MenuService }, { type: i2.Router }] });
|
|
2604
3355
|
|
|
2605
3356
|
/*
|
|
2606
|
-
* Copyright 2015-
|
|
3357
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
2607
3358
|
*
|
|
2608
3359
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
2609
3360
|
* you may not use this file except in compliance with the License.
|
|
@@ -2628,15 +3379,16 @@ const routes = [
|
|
|
2628
3379
|
path: 'dossier-management/dossier/:name',
|
|
2629
3380
|
component: DossierManagementDetailContainerComponent,
|
|
2630
3381
|
canActivate: [AuthGuardService],
|
|
3382
|
+
canDeactivate: [pendingChangesGuard],
|
|
2631
3383
|
data: { title: 'Dossier details', roles: [ROLE_ADMIN], customPageTitle: true },
|
|
2632
3384
|
},
|
|
2633
3385
|
];
|
|
2634
3386
|
class DossierManagementRoutingModule {
|
|
2635
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2636
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
2637
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
3387
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
3388
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementRoutingModule, imports: [i2.RouterModule], exports: [RouterModule] }); }
|
|
3389
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementRoutingModule, imports: [RouterModule.forRoot(routes), RouterModule] }); }
|
|
2638
3390
|
}
|
|
2639
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3391
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementRoutingModule, decorators: [{
|
|
2640
3392
|
type: NgModule,
|
|
2641
3393
|
args: [{
|
|
2642
3394
|
imports: [RouterModule.forRoot(routes)],
|
|
@@ -2646,7 +3398,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
2646
3398
|
}] });
|
|
2647
3399
|
|
|
2648
3400
|
/*
|
|
2649
|
-
* Copyright 2015-
|
|
3401
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
2650
3402
|
*
|
|
2651
3403
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
2652
3404
|
* you may not use this file except in compliance with the License.
|
|
@@ -2661,13 +3413,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
2661
3413
|
* limitations under the License.
|
|
2662
3414
|
*/
|
|
2663
3415
|
class DossierManagementModule {
|
|
2664
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2665
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
3416
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
3417
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementModule, declarations: [DossierManagementListComponent,
|
|
2666
3418
|
DossierManagementDetailComponent,
|
|
2667
3419
|
DossierManagementConnectModalComponent,
|
|
2668
3420
|
DossierManagementRemoveModalComponent,
|
|
2669
3421
|
DossierManagementUploadComponent,
|
|
2670
|
-
DossierManagementLinkProcessComponent,
|
|
2671
3422
|
DossierManagementSearchFieldsComponent,
|
|
2672
3423
|
DossierManagementDetailContainerComponent,
|
|
2673
3424
|
DossierManagementAssigneeComponent,
|
|
@@ -2679,7 +3430,10 @@ class DossierManagementModule {
|
|
|
2679
3430
|
DossierManagementDetailContainerActionsComponent,
|
|
2680
3431
|
DossierManagementDocumentDefinitionComponent,
|
|
2681
3432
|
DossierManagementProcessesComponent,
|
|
2682
|
-
DossierManagementUploadStepComponent
|
|
3433
|
+
DossierManagementUploadStepComponent,
|
|
3434
|
+
DossierManagementStatusesComponent,
|
|
3435
|
+
DossierManagementStatusModalComponent,
|
|
3436
|
+
DossierManagementCreateComponent], imports: [CommonModule,
|
|
2683
3437
|
WidgetModule,
|
|
2684
3438
|
DropzoneModule,
|
|
2685
3439
|
ListModule,
|
|
@@ -2722,8 +3476,11 @@ class DossierManagementModule {
|
|
|
2722
3476
|
TabsModule,
|
|
2723
3477
|
TagModule,
|
|
2724
3478
|
FileUploaderModule,
|
|
2725
|
-
ProgressBarModule
|
|
2726
|
-
|
|
3479
|
+
ProgressBarModule,
|
|
3480
|
+
ConfirmationModalModule,
|
|
3481
|
+
ToggleModule,
|
|
3482
|
+
TooltipModule] }); }
|
|
3483
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementModule, providers: [TabManagementService], imports: [CommonModule,
|
|
2727
3484
|
WidgetModule,
|
|
2728
3485
|
DropzoneModule,
|
|
2729
3486
|
ListModule,
|
|
@@ -2766,9 +3523,12 @@ class DossierManagementModule {
|
|
|
2766
3523
|
TabsModule,
|
|
2767
3524
|
TagModule,
|
|
2768
3525
|
FileUploaderModule,
|
|
2769
|
-
ProgressBarModule
|
|
3526
|
+
ProgressBarModule,
|
|
3527
|
+
ConfirmationModalModule,
|
|
3528
|
+
ToggleModule,
|
|
3529
|
+
TooltipModule] }); }
|
|
2770
3530
|
}
|
|
2771
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3531
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementModule, decorators: [{
|
|
2772
3532
|
type: NgModule,
|
|
2773
3533
|
args: [{
|
|
2774
3534
|
declarations: [
|
|
@@ -2777,7 +3537,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
2777
3537
|
DossierManagementConnectModalComponent,
|
|
2778
3538
|
DossierManagementRemoveModalComponent,
|
|
2779
3539
|
DossierManagementUploadComponent,
|
|
2780
|
-
DossierManagementLinkProcessComponent,
|
|
2781
3540
|
DossierManagementSearchFieldsComponent,
|
|
2782
3541
|
DossierManagementDetailContainerComponent,
|
|
2783
3542
|
DossierManagementAssigneeComponent,
|
|
@@ -2790,6 +3549,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
2790
3549
|
DossierManagementDocumentDefinitionComponent,
|
|
2791
3550
|
DossierManagementProcessesComponent,
|
|
2792
3551
|
DossierManagementUploadStepComponent,
|
|
3552
|
+
DossierManagementStatusesComponent,
|
|
3553
|
+
DossierManagementStatusModalComponent,
|
|
3554
|
+
DossierManagementCreateComponent,
|
|
2793
3555
|
],
|
|
2794
3556
|
imports: [
|
|
2795
3557
|
CommonModule,
|
|
@@ -2836,13 +3598,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
2836
3598
|
TagModule,
|
|
2837
3599
|
FileUploaderModule,
|
|
2838
3600
|
ProgressBarModule,
|
|
3601
|
+
ConfirmationModalModule,
|
|
3602
|
+
ToggleModule,
|
|
3603
|
+
TooltipModule,
|
|
2839
3604
|
],
|
|
2840
3605
|
providers: [TabManagementService],
|
|
2841
3606
|
}]
|
|
2842
3607
|
}] });
|
|
2843
3608
|
|
|
2844
3609
|
/*
|
|
2845
|
-
* Copyright 2015-
|
|
3610
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
2846
3611
|
*
|
|
2847
3612
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
2848
3613
|
* you may not use this file except in compliance with the License.
|