@valtimo/form-flow-management 12.14.1 → 13.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/valtimo-form-flow-management.mjs +226 -269
- package/fesm2022/valtimo-form-flow-management.mjs.map +1 -1
- package/lib/components/delete-form-flow-modal/delete-form-flow-modal.component.d.ts.map +1 -1
- package/lib/components/editor/form-flow-editor.component.d.ts +22 -24
- package/lib/components/editor/form-flow-editor.component.d.ts.map +1 -1
- package/lib/components/new-form-flow-modal/new-form-flow-modal.component.d.ts.map +1 -1
- package/lib/components/overview/form-flow-overview.component.d.ts +24 -11
- package/lib/components/overview/form-flow-overview.component.d.ts.map +1 -1
- package/lib/form-flow-management.module.d.ts +5 -6
- package/lib/form-flow-management.module.d.ts.map +1 -1
- package/lib/models/form-flow.model.d.ts +6 -2
- package/lib/models/form-flow.model.d.ts.map +1 -1
- package/lib/services/form-flow-download.service.d.ts +4 -5
- package/lib/services/form-flow-download.service.d.ts.map +1 -1
- package/lib/services/form-flow.service.d.ts +12 -17
- package/lib/services/form-flow.service.d.ts.map +1 -1
- package/package.json +4 -6
- package/public-api.d.ts +2 -0
- package/public-api.d.ts.map +1 -1
- package/esm2022/lib/components/delete-form-flow-modal/delete-form-flow-modal.component.mjs +0 -39
- package/esm2022/lib/components/editor/form-flow-editor.component.mjs +0 -161
- package/esm2022/lib/components/editor/formflow.schema.json +0 -79
- package/esm2022/lib/components/new-form-flow-modal/new-form-flow-modal.component.mjs +0 -67
- package/esm2022/lib/components/overview/form-flow-overview.component.mjs +0 -80
- package/esm2022/lib/form-flow-management-routing.module.mjs +0 -55
- package/esm2022/lib/form-flow-management.module.mjs +0 -101
- package/esm2022/lib/models/form-flow.model.mjs +0 -17
- package/esm2022/lib/models/index.mjs +0 -17
- package/esm2022/lib/services/form-flow-download.service.mjs +0 -40
- package/esm2022/lib/services/form-flow.service.mjs +0 -66
- package/esm2022/lib/services/index.mjs +0 -17
- package/esm2022/public-api.mjs +0 -22
- package/esm2022/valtimo-form-flow-management.mjs +0 -5
- package/lib/form-flow-management-routing.module.d.ts +0 -9
- package/lib/form-flow-management-routing.module.d.ts.map +0 -1
|
@@ -1,25 +1,24 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Injectable, EventEmitter, Output, Input, ChangeDetectionStrategy, Component, ViewChild, NgModule } from '@angular/core';
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import * as
|
|
7
|
-
import
|
|
8
|
-
import {
|
|
9
|
-
import * as
|
|
3
|
+
import * as i2 from '@valtimo/shared';
|
|
4
|
+
import { BaseApiService, getCaseManagementRouteParams } from '@valtimo/shared';
|
|
5
|
+
import * as i1 from '@angular/common/http';
|
|
6
|
+
import * as i1$2 from '@valtimo/components';
|
|
7
|
+
import { CARBON_CONSTANTS, ViewType, CarbonListComponent, ConfirmationModalModule, EditorModule, RenderInPageHeaderDirective, CarbonListModule } from '@valtimo/components';
|
|
8
|
+
import { BehaviorSubject, combineLatest, tap, switchMap, of, map, take, finalize } from 'rxjs';
|
|
9
|
+
import * as i3 from '@angular/router';
|
|
10
|
+
import * as i4 from '@ngx-translate/core';
|
|
10
11
|
import { TranslateModule } from '@ngx-translate/core';
|
|
11
|
-
import * as
|
|
12
|
-
import {
|
|
13
|
-
import * as i2$1 from '
|
|
14
|
-
import {
|
|
15
|
-
import { AuthGuardService } from '@valtimo/security';
|
|
16
|
-
import * as i4 from 'carbon-components-angular';
|
|
17
|
-
import { NotificationService, ButtonModule, ModalModule, InputModule, IconModule, LoadingModule, DialogModule, NotificationModule, DropdownModule } from 'carbon-components-angular';
|
|
12
|
+
import * as i5 from '@angular/common';
|
|
13
|
+
import { CommonModule } from '@angular/common';
|
|
14
|
+
import * as i2$1 from 'carbon-components-angular';
|
|
15
|
+
import { ButtonModule, ModalModule, InputModule, IconModule, LoadingModule, DialogModule, NotificationModule, DropdownModule } from 'carbon-components-angular';
|
|
18
16
|
import * as i1$1 from '@angular/forms';
|
|
19
17
|
import { Validators, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
18
|
+
import { ArrowLeft16 } from '@carbon/icons';
|
|
20
19
|
|
|
21
20
|
/*
|
|
22
|
-
* Copyright 2015-
|
|
21
|
+
* Copyright 2015-2025 Ritense BV, the Netherlands.
|
|
23
22
|
*
|
|
24
23
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
25
24
|
* you may not use this file except in compliance with the License.
|
|
@@ -35,7 +34,7 @@ import { Validators, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
|
35
34
|
*/
|
|
36
35
|
|
|
37
36
|
/*
|
|
38
|
-
* Copyright 2015-
|
|
37
|
+
* Copyright 2015-2025 Ritense BV, the Netherlands.
|
|
39
38
|
*
|
|
40
39
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
41
40
|
* you may not use this file except in compliance with the License.
|
|
@@ -50,69 +49,39 @@ import { Validators, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
|
50
49
|
* limitations under the License.
|
|
51
50
|
*/
|
|
52
51
|
|
|
53
|
-
class FormFlowService {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
constructor(configService, http) {
|
|
52
|
+
class FormFlowService extends BaseApiService {
|
|
53
|
+
constructor(httpClient, configService) {
|
|
54
|
+
super(httpClient, configService);
|
|
55
|
+
this.httpClient = httpClient;
|
|
58
56
|
this.configService = configService;
|
|
59
|
-
this.http = http;
|
|
60
|
-
this.formFlows$ = new BehaviorSubject([]);
|
|
61
|
-
this.loading$ = new BehaviorSubject(false);
|
|
62
|
-
this.valtimoEndpointUri = `${this.configService.config.valtimoApi.endpointUri}management/`;
|
|
63
57
|
}
|
|
64
|
-
|
|
65
|
-
return this.
|
|
58
|
+
getFormFlowDefinitions(caseDefinitionKey, caseVersionTag) {
|
|
59
|
+
return this.httpClient.get(this.getApiUrl(`management/v1/case-definition/${caseDefinitionKey}/version/${caseVersionTag}/form-flow-definition`));
|
|
66
60
|
}
|
|
67
|
-
|
|
68
|
-
return this.
|
|
61
|
+
getFormFlowDefinitionByKey(caseDefinitionKey, caseVersionTag, formFlowDefinitionKey) {
|
|
62
|
+
return this.httpClient.get(this.getApiUrl(`management/v1/case-definition/${caseDefinitionKey}/version/${caseVersionTag}/form-flow-definition/${formFlowDefinitionKey}`));
|
|
69
63
|
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
.pipe(tap(() => {
|
|
73
|
-
this.loading$.next(true);
|
|
74
|
-
}), switchMap(() => this.formFlowDefinitions$), take(1), catchError(error => of(error)))
|
|
75
|
-
.subscribe({
|
|
76
|
-
next: (formFlows) => {
|
|
77
|
-
this.formFlows$.next(formFlows.content);
|
|
78
|
-
this.loading$.next(false);
|
|
79
|
-
},
|
|
80
|
-
error: error => {
|
|
81
|
-
console.error(error);
|
|
82
|
-
},
|
|
83
|
-
});
|
|
64
|
+
createFormFlowDefinition(caseDefinitionKey, caseVersionTag, definition) {
|
|
65
|
+
return this.httpClient.post(this.getApiUrl(`management/v1/case-definition/${caseDefinitionKey}/version/${caseVersionTag}/form-flow-definition`), definition);
|
|
84
66
|
}
|
|
85
|
-
|
|
86
|
-
this.
|
|
87
|
-
.pipe(tap(() => {
|
|
88
|
-
this.loading$.next(true);
|
|
89
|
-
}), take(1))
|
|
90
|
-
.subscribe({
|
|
91
|
-
next: (items) => {
|
|
92
|
-
this.formFlows$.next(items.content);
|
|
93
|
-
this.loading$.next(false);
|
|
94
|
-
},
|
|
95
|
-
error: error => {
|
|
96
|
-
console.error(error);
|
|
97
|
-
},
|
|
98
|
-
});
|
|
99
|
-
}
|
|
100
|
-
getFormFlowDefinition(id) {
|
|
101
|
-
return this.http.get(`${this.valtimoEndpointUri}v1/form-flow/definition/${id.key}/${id.version}`);
|
|
67
|
+
deleteFormFlowDefinition(caseDefinitionKey, caseVersionTag, definitionKey) {
|
|
68
|
+
return this.httpClient.delete(this.getApiUrl(`management/v1/case-definition/${caseDefinitionKey}/version/${caseVersionTag}/form-flow-definition/${definitionKey}`));
|
|
102
69
|
}
|
|
103
|
-
updateFormFlowDefinition(
|
|
104
|
-
return this.
|
|
70
|
+
updateFormFlowDefinition(caseDefinitionKey, caseVersionTag, definitionKey, updatedDefinition) {
|
|
71
|
+
return this.httpClient.put(this.getApiUrl(`management/v1/case-definition/${caseDefinitionKey}/version/${caseVersionTag}/form-flow-definition/${definitionKey}`), updatedDefinition);
|
|
105
72
|
}
|
|
106
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
107
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
73
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FormFlowService, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
74
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FormFlowService, providedIn: 'root' }); }
|
|
108
75
|
}
|
|
109
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
76
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FormFlowService, decorators: [{
|
|
110
77
|
type: Injectable,
|
|
111
|
-
args: [{
|
|
112
|
-
|
|
78
|
+
args: [{
|
|
79
|
+
providedIn: 'root',
|
|
80
|
+
}]
|
|
81
|
+
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.ConfigService }] });
|
|
113
82
|
|
|
114
83
|
/*
|
|
115
|
-
* Copyright 2015-
|
|
84
|
+
* Copyright 2015-2025 Ritense BV, the Netherlands.
|
|
116
85
|
*
|
|
117
86
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
118
87
|
* you may not use this file except in compliance with the License.
|
|
@@ -128,7 +97,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
128
97
|
*/
|
|
129
98
|
|
|
130
99
|
/*
|
|
131
|
-
* Copyright 2015-
|
|
100
|
+
* Copyright 2015-2025 Ritense BV, the Netherlands.
|
|
132
101
|
*
|
|
133
102
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
134
103
|
* you may not use this file except in compliance with the License.
|
|
@@ -163,8 +132,7 @@ class NewFormFlowModalComponent {
|
|
|
163
132
|
return;
|
|
164
133
|
}
|
|
165
134
|
this.closeEvent.emit({
|
|
166
|
-
key: this.key.value,
|
|
167
|
-
version: 1,
|
|
135
|
+
key: this.key.value ?? '',
|
|
168
136
|
startStep: 'start-step',
|
|
169
137
|
steps: [],
|
|
170
138
|
});
|
|
@@ -175,12 +143,12 @@ class NewFormFlowModalComponent {
|
|
|
175
143
|
this.form.reset();
|
|
176
144
|
}, CARBON_CONSTANTS.modalAnimationMs);
|
|
177
145
|
}
|
|
178
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
179
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
146
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: NewFormFlowModalComponent, deps: [{ token: i1$1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
147
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: NewFormFlowModalComponent, isStandalone: false, selector: "valtimo-new-form-flow-modal", inputs: { open: "open" }, outputs: { closeEvent: "closeEvent" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS 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 [open]=\"open\"\n showFooter=\"true\"\n [title]=\"'formFlow.add' | translate\"\n valtimoCdsModal\n (close)=\"onCancel()\"\n>\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onCancel()\">\n <h3 cdsModalHeaderHeading>\n {{ 'formFlow.add' | translate }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent>\n <form [formGroup]=\"form\">\n <cds-label [invalid]=\"key.dirty && key.invalid\">\n {{ 'formFlow.key' | translate }}\n\n <input\n formControlName=\"key\"\n cdsText\n placeholder=\"{{ 'formFlow.key' | translate }}\"\n [attr.modal-primary-focus]=\"true\"\n [invalid]=\"key.dirty && key.invalid\"\n />\n </cds-label>\n </form>\n </section>\n\n <cds-modal-footer>\n <button cdsButton=\"ghost\" (click)=\"onCancel()\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button [disabled]=\"this.form.invalid\" (click)=\"onConfirm()\" cdsButton=\"primary\">\n {{ 'interface.create' | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n", dependencies: [{ kind: "directive", type: i2$1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$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: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: i2$1.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i2$1.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i2$1.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i2$1.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i2$1.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2$1.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i2$1.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
180
148
|
}
|
|
181
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
149
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: NewFormFlowModalComponent, decorators: [{
|
|
182
150
|
type: Component,
|
|
183
|
-
args: [{ selector: 'valtimo-new-form-flow-modal', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n ~ Copyright 2015-
|
|
151
|
+
args: [{ standalone: false, selector: 'valtimo-new-form-flow-modal', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS 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 [open]=\"open\"\n showFooter=\"true\"\n [title]=\"'formFlow.add' | translate\"\n valtimoCdsModal\n (close)=\"onCancel()\"\n>\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onCancel()\">\n <h3 cdsModalHeaderHeading>\n {{ 'formFlow.add' | translate }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent>\n <form [formGroup]=\"form\">\n <cds-label [invalid]=\"key.dirty && key.invalid\">\n {{ 'formFlow.key' | translate }}\n\n <input\n formControlName=\"key\"\n cdsText\n placeholder=\"{{ 'formFlow.key' | translate }}\"\n [attr.modal-primary-focus]=\"true\"\n [invalid]=\"key.dirty && key.invalid\"\n />\n </cds-label>\n </form>\n </section>\n\n <cds-modal-footer>\n <button cdsButton=\"ghost\" (click)=\"onCancel()\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button [disabled]=\"this.form.invalid\" (click)=\"onConfirm()\" cdsButton=\"primary\">\n {{ 'interface.create' | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n" }]
|
|
184
152
|
}], ctorParameters: () => [{ type: i1$1.FormBuilder }], propDecorators: { open: [{
|
|
185
153
|
type: Input
|
|
186
154
|
}], closeEvent: [{
|
|
@@ -188,7 +156,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
188
156
|
}] } });
|
|
189
157
|
|
|
190
158
|
/*
|
|
191
|
-
* Copyright 2015-
|
|
159
|
+
* Copyright 2015-2025 Ritense BV, the Netherlands.
|
|
192
160
|
*
|
|
193
161
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
194
162
|
* you may not use this file except in compliance with the License.
|
|
@@ -203,10 +171,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
203
171
|
* limitations under the License.
|
|
204
172
|
*/
|
|
205
173
|
class FormFlowOverviewComponent {
|
|
206
|
-
constructor(formFlowService, router) {
|
|
174
|
+
constructor(formFlowService, globalNotificationService, route, router, translateService, editPermissionsService) {
|
|
207
175
|
this.formFlowService = formFlowService;
|
|
176
|
+
this.globalNotificationService = globalNotificationService;
|
|
177
|
+
this.route = route;
|
|
208
178
|
this.router = router;
|
|
209
|
-
this.
|
|
179
|
+
this.translateService = translateService;
|
|
180
|
+
this.editPermissionsService = editPermissionsService;
|
|
181
|
+
this.FIELDS = [
|
|
210
182
|
{
|
|
211
183
|
viewType: ViewType.TEXT,
|
|
212
184
|
key: 'key',
|
|
@@ -223,35 +195,82 @@ class FormFlowOverviewComponent {
|
|
|
223
195
|
label: 'formFlow.readOnly',
|
|
224
196
|
},
|
|
225
197
|
];
|
|
226
|
-
this.
|
|
227
|
-
|
|
198
|
+
this.ACTION_ITEMS = [
|
|
199
|
+
{
|
|
200
|
+
callback: this.editFormFlowDetails.bind(this),
|
|
201
|
+
label: 'interface.edit',
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
callback: this.deleteFormFlow.bind(this),
|
|
205
|
+
label: 'interface.delete',
|
|
206
|
+
type: 'danger',
|
|
207
|
+
},
|
|
208
|
+
];
|
|
209
|
+
this.loading$ = new BehaviorSubject(true);
|
|
210
|
+
this.showDeleteModal$ = new BehaviorSubject(false);
|
|
211
|
+
this.deleteDefinitionKey$ = new BehaviorSubject(null);
|
|
212
|
+
this._params = undefined;
|
|
213
|
+
this._refresh$ = new BehaviorSubject(null);
|
|
214
|
+
this.formFlowDefinitions$ = combineLatest([
|
|
215
|
+
getCaseManagementRouteParams(this.route),
|
|
216
|
+
this._refresh$,
|
|
217
|
+
]).pipe(tap(([params]) => {
|
|
218
|
+
this.loading$.next(true);
|
|
219
|
+
this._params = params;
|
|
220
|
+
}), switchMap(([params]) => !params
|
|
221
|
+
? of(null)
|
|
222
|
+
: this.formFlowService.getFormFlowDefinitions(params.caseDefinitionKey, params.caseDefinitionVersionTag)), map((formFlows) => {
|
|
223
|
+
this.loading$.next(false);
|
|
224
|
+
return !formFlows ? [] : formFlows.content;
|
|
225
|
+
}));
|
|
228
226
|
this.showAddModal$ = new BehaviorSubject(false);
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
this.formFlowService.loadFormFlows();
|
|
227
|
+
this.params$ = getCaseManagementRouteParams(this.route);
|
|
228
|
+
this.hasEditPermissions$ = this.params$.pipe(switchMap(params => this.editPermissionsService.hasEditPermissions(params?.caseDefinitionKey, params?.caseDefinitionVersionTag)));
|
|
232
229
|
}
|
|
233
230
|
openAddModal() {
|
|
234
231
|
this.showAddModal$.next(true);
|
|
235
232
|
}
|
|
236
|
-
onAdd(
|
|
233
|
+
onAdd(formFlowDefinition) {
|
|
237
234
|
this.showAddModal$.next(false);
|
|
238
|
-
if (!
|
|
235
|
+
if (!formFlowDefinition || !this._params)
|
|
239
236
|
return;
|
|
240
|
-
|
|
241
|
-
|
|
237
|
+
this.formFlowService
|
|
238
|
+
.createFormFlowDefinition(this._params.caseDefinitionKey, this._params.caseDefinitionVersionTag, formFlowDefinition)
|
|
239
|
+
.subscribe((formFlowDefinition) => {
|
|
242
240
|
this.showAddModal$.next(false);
|
|
243
|
-
|
|
241
|
+
this.router.navigate([formFlowDefinition.key], { relativeTo: this.route });
|
|
242
|
+
});
|
|
244
243
|
}
|
|
245
|
-
|
|
246
|
-
this.router.navigate([
|
|
244
|
+
editFormFlowDetails(formFlowDefinition) {
|
|
245
|
+
this.router.navigate([formFlowDefinition.key], { relativeTo: this.route });
|
|
247
246
|
}
|
|
248
|
-
|
|
249
|
-
|
|
247
|
+
deleteFormFlow(item) {
|
|
248
|
+
this.deleteDefinitionKey$.next(item.key);
|
|
249
|
+
this.showDeleteModal$.next(true);
|
|
250
|
+
}
|
|
251
|
+
onDelete(definitionKey) {
|
|
252
|
+
if (!this._params)
|
|
253
|
+
return;
|
|
254
|
+
this.formFlowService
|
|
255
|
+
.deleteFormFlowDefinition(this._params.caseDefinitionKey, this._params.caseDefinitionVersionTag, definitionKey)
|
|
256
|
+
.subscribe(() => {
|
|
257
|
+
this.globalNotificationService.showToast({
|
|
258
|
+
title: this.translateService.instant('interface.delete'),
|
|
259
|
+
caption: this.translateService.instant('formFlow.deletedSuccessfully', {
|
|
260
|
+
key: definitionKey,
|
|
261
|
+
}),
|
|
262
|
+
type: 'success',
|
|
263
|
+
});
|
|
264
|
+
this._refresh$.next(null);
|
|
265
|
+
});
|
|
266
|
+
}
|
|
267
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FormFlowOverviewComponent, deps: [{ token: FormFlowService }, { token: i2.GlobalNotificationService }, { token: i3.ActivatedRoute }, { token: i3.Router }, { token: i4.TranslateService }, { token: i2.EditPermissionsService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
268
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: FormFlowOverviewComponent, isStandalone: false, selector: "ng-component", viewQueries: [{ propertyName: "carbonList", first: true, predicate: CarbonListComponent, descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS 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 [actionItems]=\"ACTION_ITEMS\"\n [header]=\"false\"\n [items]=\"formFlowDefinitions$ | async\"\n [fields]=\"FIELDS\"\n [loading]=\"loading$ | async\"\n (rowClicked)=\"editFormFlowDetails($event)\"\n>\n <ng-container header> {{ 'formFlow.title' | translate }} </ng-container>\n\n <div carbonToolbarContent>\n <ng-container [ngTemplateOutlet]=\"addFormFlowButton\"></ng-container>\n </div>\n\n <valtimo-no-results\n [action]=\"addFormFlowButton\"\n description=\"{{ 'formFlow.noResults.description' | translate }}\"\n title=\"{{ 'formFlow.noResults.title' | translate }}\"\n ></valtimo-no-results>\n</valtimo-carbon-list>\n\n<valtimo-new-form-flow-modal\n [open]=\"showAddModal$ | async\"\n (closeEvent)=\"onAdd($event)\"\n></valtimo-new-form-flow-modal>\n\n<ng-template #addFormFlowButton>\n <button *ngIf=\"hasEditPermissions$ | async\" cdsButton=\"primary\" (click)=\"openAddModal()\">\n {{ 'formFlow.add' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"formFlow.deleteModalContent\"\n [outputOnConfirm]=\"deleteDefinitionKey$ | async\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"interface.delete\"\n (confirmEvent)=\"onDelete($event)\"\n></valtimo-confirmation-modal>\n", dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i2$1.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i1$2.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: i1$2.CarbonListComponent, selector: "valtimo-carbon-list", inputs: ["items", "fields", "tableTranslations", "paginatorConfig", "pagination", "loading", "actions", "actionItems", "showActionItems", "header", "hideColumnHeader", "initialSortState", "sortState", "isSearchable", "enableSingleSelection", "lastColumnTemplate", "paginationIdentifier", "showSelectionColumn", "striped", "hideToolbar", "lockedTooltipTranslationKey", "movingRowsEnabled", "dragAndDrop", "dragAndDropDisabled"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged", "moveRow", "itemsReordered"] }, { kind: "component", type: i1$2.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "component", type: NewFormFlowModalComponent, selector: "valtimo-new-form-flow-modal", inputs: ["open"], outputs: ["closeEvent"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
250
269
|
}
|
|
251
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
270
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FormFlowOverviewComponent, decorators: [{
|
|
252
271
|
type: Component,
|
|
253
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n ~ Copyright 2015-
|
|
254
|
-
}], ctorParameters: () => [{ type: FormFlowService }, { type: i2
|
|
272
|
+
args: [{ standalone: false, changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS 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 [actionItems]=\"ACTION_ITEMS\"\n [header]=\"false\"\n [items]=\"formFlowDefinitions$ | async\"\n [fields]=\"FIELDS\"\n [loading]=\"loading$ | async\"\n (rowClicked)=\"editFormFlowDetails($event)\"\n>\n <ng-container header> {{ 'formFlow.title' | translate }} </ng-container>\n\n <div carbonToolbarContent>\n <ng-container [ngTemplateOutlet]=\"addFormFlowButton\"></ng-container>\n </div>\n\n <valtimo-no-results\n [action]=\"addFormFlowButton\"\n description=\"{{ 'formFlow.noResults.description' | translate }}\"\n title=\"{{ 'formFlow.noResults.title' | translate }}\"\n ></valtimo-no-results>\n</valtimo-carbon-list>\n\n<valtimo-new-form-flow-modal\n [open]=\"showAddModal$ | async\"\n (closeEvent)=\"onAdd($event)\"\n></valtimo-new-form-flow-modal>\n\n<ng-template #addFormFlowButton>\n <button *ngIf=\"hasEditPermissions$ | async\" cdsButton=\"primary\" (click)=\"openAddModal()\">\n {{ 'formFlow.add' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"formFlow.deleteModalContent\"\n [outputOnConfirm]=\"deleteDefinitionKey$ | async\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"interface.delete\"\n (confirmEvent)=\"onDelete($event)\"\n></valtimo-confirmation-modal>\n" }]
|
|
273
|
+
}], ctorParameters: () => [{ type: FormFlowService }, { type: i2.GlobalNotificationService }, { type: i3.ActivatedRoute }, { type: i3.Router }, { type: i4.TranslateService }, { type: i2.EditPermissionsService }], propDecorators: { carbonList: [{
|
|
255
274
|
type: ViewChild,
|
|
256
275
|
args: [CarbonListComponent]
|
|
257
276
|
}] } });
|
|
@@ -339,7 +358,7 @@ var properties = {
|
|
|
339
358
|
"type"
|
|
340
359
|
]
|
|
341
360
|
},
|
|
342
|
-
minItems:
|
|
361
|
+
minItems: 0,
|
|
343
362
|
uniqueItems: true
|
|
344
363
|
}
|
|
345
364
|
};
|
|
@@ -358,7 +377,7 @@ var formFlowSchemaJson = {
|
|
|
358
377
|
};
|
|
359
378
|
|
|
360
379
|
/*
|
|
361
|
-
* Copyright 2015-
|
|
380
|
+
* Copyright 2015-2025 Ritense BV, the Netherlands.
|
|
362
381
|
*
|
|
363
382
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
364
383
|
* you may not use this file except in compliance with the License.
|
|
@@ -373,65 +392,26 @@ var formFlowSchemaJson = {
|
|
|
373
392
|
* limitations under the License.
|
|
374
393
|
*/
|
|
375
394
|
class FormFlowDownloadService {
|
|
376
|
-
|
|
377
|
-
this.formFlowService = formFlowService;
|
|
378
|
-
}
|
|
379
|
-
downloadJson(json, formFlowDefinitionId) {
|
|
395
|
+
downloadJson(json, params) {
|
|
380
396
|
const sJson = JSON.stringify(json, null, 2);
|
|
381
397
|
const element = document.createElement('a');
|
|
382
398
|
element.setAttribute('href', 'data:text/json;charset=UTF-8,' + encodeURIComponent(sJson));
|
|
383
|
-
element.setAttribute('download', `${
|
|
399
|
+
element.setAttribute('download', `${params.caseDefinitionKey}-${params.caseDefinitionVersionTag}-${params.formFlowDefinitionKey}.formflow.json`);
|
|
384
400
|
element.style.display = 'none';
|
|
385
401
|
document.body.appendChild(element);
|
|
386
402
|
element.click(); // simulate click
|
|
387
403
|
document.body.removeChild(element);
|
|
388
404
|
}
|
|
389
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
390
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
405
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FormFlowDownloadService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
406
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FormFlowDownloadService, providedIn: 'root' }); }
|
|
391
407
|
}
|
|
392
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
408
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FormFlowDownloadService, decorators: [{
|
|
393
409
|
type: Injectable,
|
|
394
410
|
args: [{ providedIn: 'root' }]
|
|
395
|
-
}]
|
|
396
|
-
|
|
397
|
-
/*
|
|
398
|
-
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
399
|
-
*
|
|
400
|
-
* Licensed under EUPL, Version 1.2 (the "License");
|
|
401
|
-
* you may not use this file except in compliance with the License.
|
|
402
|
-
* You may obtain a copy of the License at
|
|
403
|
-
*
|
|
404
|
-
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
405
|
-
*
|
|
406
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
407
|
-
* distributed under the License is distributed on an "AS IS" basis,
|
|
408
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
409
|
-
* See the License for the specific language governing permissions and
|
|
410
|
-
* limitations under the License.
|
|
411
|
-
*/
|
|
412
|
-
class DeleteFormFlowModalComponent {
|
|
413
|
-
constructor() {
|
|
414
|
-
this.deleteEvent = new EventEmitter();
|
|
415
|
-
}
|
|
416
|
-
onDelete(formFlowDefinitionKey) {
|
|
417
|
-
this.deleteEvent.emit(formFlowDefinitionKey);
|
|
418
|
-
}
|
|
419
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DeleteFormFlowModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
420
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DeleteFormFlowModalComponent, selector: "valtimo-delete-form-flow-modal", inputs: { deleteFormFlowDefinitionKey: "deleteFormFlowDefinitionKey", showDeleteModal$: "showDeleteModal$" }, outputs: { deleteEvent: "deleteEvent" }, 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-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"formFlow.deleteModalContent\"\n [outputOnConfirm]=\"deleteFormFlowDefinitionKey\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"interface.delete\"\n (confirmEvent)=\"onDelete($event)\"\n></valtimo-confirmation-modal>\n", dependencies: [{ kind: "component", type: i3$1.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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
421
|
-
}
|
|
422
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DeleteFormFlowModalComponent, decorators: [{
|
|
423
|
-
type: Component,
|
|
424
|
-
args: [{ selector: 'valtimo-delete-form-flow-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<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"formFlow.deleteModalContent\"\n [outputOnConfirm]=\"deleteFormFlowDefinitionKey\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"interface.delete\"\n (confirmEvent)=\"onDelete($event)\"\n></valtimo-confirmation-modal>\n" }]
|
|
425
|
-
}], propDecorators: { deleteFormFlowDefinitionKey: [{
|
|
426
|
-
type: Input
|
|
427
|
-
}], showDeleteModal$: [{
|
|
428
|
-
type: Input
|
|
429
|
-
}], deleteEvent: [{
|
|
430
|
-
type: Output
|
|
431
|
-
}] } });
|
|
411
|
+
}] });
|
|
432
412
|
|
|
433
413
|
/*
|
|
434
|
-
* Copyright 2015-
|
|
414
|
+
* Copyright 2015-2025 Ritense BV, the Netherlands.
|
|
435
415
|
*
|
|
436
416
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
437
417
|
* you may not use this file except in compliance with the License.
|
|
@@ -446,139 +426,127 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
446
426
|
* limitations under the License.
|
|
447
427
|
*/
|
|
448
428
|
class FormFlowEditorComponent {
|
|
449
|
-
constructor(
|
|
429
|
+
constructor(breadcrumbService, formFlowDownloadService, formFlowService, iconService, notificationService, pageHeaderService, pageTitleService, route, router, translateService) {
|
|
430
|
+
this.breadcrumbService = breadcrumbService;
|
|
431
|
+
this.formFlowDownloadService = formFlowDownloadService;
|
|
450
432
|
this.formFlowService = formFlowService;
|
|
451
|
-
this.
|
|
433
|
+
this.iconService = iconService;
|
|
434
|
+
this.notificationService = notificationService;
|
|
435
|
+
this.pageHeaderService = pageHeaderService;
|
|
452
436
|
this.pageTitleService = pageTitleService;
|
|
437
|
+
this.route = route;
|
|
453
438
|
this.router = router;
|
|
454
|
-
this.notificationService = notificationService;
|
|
455
439
|
this.translateService = translateService;
|
|
456
|
-
this.formFlowDownloadService = formFlowDownloadService;
|
|
457
|
-
this.pageHeaderService = pageHeaderService;
|
|
458
|
-
this.model$ = new BehaviorSubject(null);
|
|
459
440
|
this.readOnly$ = new BehaviorSubject(false);
|
|
460
441
|
this.valid$ = new BehaviorSubject(false);
|
|
461
442
|
this.loading$ = new BehaviorSubject(true);
|
|
462
443
|
this.showDeleteModal$ = new BehaviorSubject(false);
|
|
463
|
-
this.formFlowDefinitionVersions$ = new BehaviorSubject([1]);
|
|
464
444
|
this.formFlowDefinitionId$ = new BehaviorSubject(null);
|
|
465
445
|
this.CARBON_THEME = 'g10';
|
|
446
|
+
this._params$ = combineLatest([
|
|
447
|
+
getCaseManagementRouteParams(this.route),
|
|
448
|
+
this.route.params,
|
|
449
|
+
]).pipe(map(([caseManagementParams, params]) => ({
|
|
450
|
+
...(caseManagementParams ?? { caseDefinitionKey: '', caseDefinitionVersionTag: '' }),
|
|
451
|
+
...params,
|
|
452
|
+
})));
|
|
466
453
|
this.formFlowSchemaJson = formFlowSchemaJson;
|
|
454
|
+
this._formFlowDefinition2$ = this._params$.pipe(tap(() => this.loading$.next(true)), switchMap((params) => {
|
|
455
|
+
this.initBreadcrumbs(params);
|
|
456
|
+
return this.formFlowService.getFormFlowDefinitionByKey(params.caseDefinitionKey, params.caseDefinitionVersionTag, params.formFlowDefinitionKey);
|
|
457
|
+
}), tap((formFlowDefinition) => {
|
|
458
|
+
this.pageTitleService.setCustomPageTitle(formFlowDefinition.key);
|
|
459
|
+
this.readOnly$.next(formFlowDefinition.readOnly === true);
|
|
460
|
+
this.loading$.next(false);
|
|
461
|
+
}));
|
|
462
|
+
this.model$ = this._formFlowDefinition2$.pipe(map((formFlowDefinition) => this.getEditorModel(formFlowDefinition)));
|
|
467
463
|
this._updatedModelValue$ = new BehaviorSubject('');
|
|
468
|
-
this.formFlowDefinitionVersionItems$ = combineLatest([this.formFlowDefinitionVersions$, this.formFlowDefinitionId$]).pipe(filter(([versions, formFlowDefinitionId]) => !!versions && !!formFlowDefinitionId), map(([versions, formFlowDefinitionId]) => versions.map(version => ({
|
|
469
|
-
formFlowDefinitionId: {
|
|
470
|
-
key: formFlowDefinitionId.key,
|
|
471
|
-
version,
|
|
472
|
-
},
|
|
473
|
-
content: `${this.translateService.instant('formFlow.version')}: ${version}`,
|
|
474
|
-
selected: version === formFlowDefinitionId.version,
|
|
475
|
-
}))), map(formFlowDefinitionVersionItems => ({
|
|
476
|
-
value: formFlowDefinitionVersionItems,
|
|
477
|
-
isLoading: false,
|
|
478
|
-
})), startWith({ isLoading: true }));
|
|
479
|
-
this.formFlowDefinition$ = this.formFlowDefinitionId$.pipe(filter(id => !!id), switchMap(id => this.formFlowService.getFormFlowDefinition(id)));
|
|
480
464
|
this.compactMode$ = this.pageHeaderService.compactMode$;
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
this.formFlowService.loadFormFlows();
|
|
484
|
-
this.openFormFlowDefinitionSubscription();
|
|
465
|
+
this.iconService.registerAll([ArrowLeft16]);
|
|
466
|
+
this.pageTitleService.disableReset();
|
|
485
467
|
}
|
|
486
468
|
ngOnDestroy() {
|
|
487
469
|
this.pageTitleService.enableReset();
|
|
488
|
-
this.
|
|
489
|
-
this.
|
|
470
|
+
this.breadcrumbService.clearThirdBreadcrumb();
|
|
471
|
+
this.breadcrumbService.clearFourthBreadcrumb();
|
|
490
472
|
}
|
|
491
473
|
onValid(valid) {
|
|
492
|
-
this.valid$.next(valid
|
|
474
|
+
this.valid$.next(valid);
|
|
493
475
|
}
|
|
494
476
|
onValueChange(value) {
|
|
495
477
|
this._updatedModelValue$.next(value);
|
|
496
478
|
}
|
|
497
479
|
updateFormFlowDefinition() {
|
|
498
480
|
this.loading$.next(true);
|
|
499
|
-
combineLatest([this.
|
|
500
|
-
.pipe(take(1),
|
|
481
|
+
combineLatest([this._params$, this._updatedModelValue$])
|
|
482
|
+
.pipe(take(1), switchMap(([params, updatedModelValue]) => this.formFlowService.updateFormFlowDefinition(params.caseDefinitionKey, params.caseDefinitionVersionTag, params.formFlowDefinitionKey, {
|
|
501
483
|
...JSON.parse(updatedModelValue),
|
|
502
|
-
key:
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
.
|
|
506
|
-
next: result => {
|
|
507
|
-
const id = { key: result.key, version: result.version };
|
|
508
|
-
this.showSuccessMessage(result.key);
|
|
509
|
-
this.formFlowDefinitionId$.next(id);
|
|
510
|
-
this.formFlowDefinitionVersions$.next([id.version].concat(this.formFlowDefinitionVersions$.value));
|
|
511
|
-
},
|
|
512
|
-
error: () => {
|
|
513
|
-
this.loading$.next(false);
|
|
514
|
-
},
|
|
484
|
+
key: params.formFlowDefinitionKey,
|
|
485
|
+
})), finalize(() => this.loading$.next(false)))
|
|
486
|
+
.subscribe(result => {
|
|
487
|
+
this.showSuccessMessage(result.key);
|
|
515
488
|
});
|
|
516
489
|
}
|
|
517
|
-
onDelete(
|
|
490
|
+
onDelete() {
|
|
518
491
|
this.loading$.next(true);
|
|
519
|
-
this.
|
|
520
|
-
this.
|
|
521
|
-
|
|
492
|
+
this._params$
|
|
493
|
+
.pipe(take(1), switchMap((params) => this.formFlowService.deleteFormFlowDefinition(params.caseDefinitionKey, params.caseDefinitionVersionTag, params.formFlowDefinitionKey)))
|
|
494
|
+
.subscribe(() => {
|
|
495
|
+
this.router.navigate(['../'], { relativeTo: this.route });
|
|
496
|
+
});
|
|
522
497
|
}
|
|
523
498
|
showDeleteModal() {
|
|
524
499
|
this.showDeleteModal$.next(true);
|
|
525
500
|
}
|
|
526
501
|
downloadFormFlowDefinition(model) {
|
|
527
|
-
this.
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
if (!!formFlowDefinitionId) {
|
|
531
|
-
this.formFlowDefinitionId$.next(formFlowDefinitionId);
|
|
532
|
-
}
|
|
502
|
+
this._params$
|
|
503
|
+
.pipe(take(1))
|
|
504
|
+
.subscribe((params) => this.formFlowDownloadService.downloadJson(JSON.parse(model.value), params));
|
|
533
505
|
}
|
|
534
|
-
|
|
535
|
-
this.
|
|
536
|
-
this._idSubscription = this.route.params
|
|
537
|
-
.pipe(filter(params => params?.key), map(params => params.key), switchMap(key => combineLatest([
|
|
538
|
-
of(key),
|
|
539
|
-
this.formFlowService.formFlows$.pipe(map(formFlowDefinitions => formFlowDefinitions.find(definition => definition.key === key)?.versions), filter(versions => !!versions), take(1), tap(versions => this.formFlowDefinitionVersions$.next(versions))),
|
|
540
|
-
])), map(([key, versions]) => ({ key, version: versions[0] })))
|
|
541
|
-
.subscribe(formFlowDefinitionId => {
|
|
542
|
-
this.pageTitleService.setCustomPageTitle(formFlowDefinitionId.key);
|
|
543
|
-
this.formFlowDefinitionId$.next(formFlowDefinitionId);
|
|
544
|
-
});
|
|
545
|
-
this._definitionSubscription = this.formFlowDefinition$.pipe().subscribe(formFlowDefinition => {
|
|
546
|
-
this.readOnly$.next(formFlowDefinition.readOnly === true);
|
|
547
|
-
this.setModel(formFlowDefinition);
|
|
548
|
-
});
|
|
506
|
+
navigateBack() {
|
|
507
|
+
this.router.navigate(['../'], { relativeTo: this.route });
|
|
549
508
|
}
|
|
550
|
-
|
|
509
|
+
getEditorModel(formFlowDefinition) {
|
|
551
510
|
const clone = { ...formFlowDefinition };
|
|
552
|
-
delete clone.version;
|
|
553
511
|
delete clone.readOnly;
|
|
554
|
-
|
|
512
|
+
return {
|
|
555
513
|
value: JSON.stringify(clone),
|
|
556
514
|
language: 'json',
|
|
557
|
-
|
|
558
|
-
});
|
|
559
|
-
this.loading$.next(false);
|
|
515
|
+
};
|
|
560
516
|
}
|
|
561
|
-
showSuccessMessage(
|
|
517
|
+
showSuccessMessage(formFlowDefinitionKey) {
|
|
562
518
|
this.notificationService.showToast({
|
|
563
519
|
caption: this.translateService.instant('formFlow.savedSuccessTitleMessage', {
|
|
564
|
-
key,
|
|
520
|
+
key: formFlowDefinitionKey,
|
|
565
521
|
}),
|
|
566
522
|
type: 'success',
|
|
567
|
-
duration: CARBON_CONSTANTS.notificationDuration,
|
|
568
|
-
showClose: true,
|
|
569
523
|
title: this.translateService.instant('formFlow.savedSuccessTitle'),
|
|
570
524
|
});
|
|
571
525
|
}
|
|
572
|
-
|
|
573
|
-
|
|
526
|
+
initBreadcrumbs(params) {
|
|
527
|
+
const route = `/case-management/case/${params.caseDefinitionKey}/version/${params.caseDefinitionVersionTag}`;
|
|
528
|
+
this.breadcrumbService.setThirdBreadcrumb({
|
|
529
|
+
route: [route],
|
|
530
|
+
content: `${params.caseDefinitionKey} (${params.caseDefinitionVersionTag})`,
|
|
531
|
+
href: route,
|
|
532
|
+
});
|
|
533
|
+
const routeWithFormFlows = `${route}/form-flows`;
|
|
534
|
+
this.breadcrumbService.setFourthBreadcrumb({
|
|
535
|
+
route: [routeWithFormFlows],
|
|
536
|
+
content: this.translateService.instant('caseManagement.tabs.formFlows'),
|
|
537
|
+
href: routeWithFormFlows,
|
|
538
|
+
});
|
|
539
|
+
}
|
|
540
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FormFlowEditorComponent, deps: [{ token: i1$2.BreadcrumbService }, { token: FormFlowDownloadService }, { token: FormFlowService }, { token: i2$1.IconService }, { token: i2.GlobalNotificationService }, { token: i1$2.PageHeaderService }, { token: i1$2.PageTitleService }, { token: i3.ActivatedRoute }, { token: i3.Router }, { token: i4.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
541
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: FormFlowEditorComponent, isStandalone: false, selector: "ng-component", ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS 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@if (model$ | async; as model) {\n <valtimo-editor\n [disabled]=\"(loading$ | async) === false && readOnly$ | async\"\n [model]=\"model\"\n [jsonSchema]=\"formFlowSchemaJson\"\n (validEvent)=\"onValid($event)\"\n (valueChangeEvent)=\"onValueChange($event)\"\n [fitPage]=\"true\"\n ></valtimo-editor>\n} @else {\n <cds-loading></cds-loading>\n}\n\n<ng-container renderInPageHeader>\n <ng-template>\n <div\n *ngIf=\"{\n compactMode: compactMode$ | async,\n valid: valid$ | async,\n readOnly: readOnly$ | async,\n model: model$ | async,\n } as obs\"\n class=\"buttons-container\"\n >\n <cds-overflow-menu>\n <cds-overflow-menu-option\n [disabled]=\"!obs.valid && !obs.readOnly\"\n (selected)=\"downloadFormFlowDefinition(obs.model)\"\n >{{ 'interface.export' | translate }}\n </cds-overflow-menu-option>\n\n <cds-overflow-menu-option\n [disabled]=\"obs.readOnly\"\n type=\"danger\"\n (selected)=\"showDeleteModal()\"\n >{{ 'interface.delete' | translate }}\n </cds-overflow-menu-option>\n </cds-overflow-menu>\n\n <button cdsButton=\"secondary\" [size]=\"obs.compactMode ? 'sm' : 'md'\" (click)=\"navigateBack()\">\n {{ 'interface.back' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"arrow--left\" size=\"16\"></svg>\n </button>\n\n <button\n [disabled]=\"!obs.valid || obs.readOnly\"\n cdsButton=\"primary\"\n [size]=\"obs.compactMode ? 'sm' : 'md'\"\n (click)=\"updateFormFlowDefinition()\"\n >\n {{ 'interface.save' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"save\" size=\"16\"></svg>\n </button>\n </div>\n </ng-template>\n</ng-container>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"formFlow.deleteModalContent\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"interface.delete\"\n (confirmEvent)=\"onDelete()\"\n></valtimo-confirmation-modal>\n", styles: ["cds-loading{display:flex;justify-content:center}.buttons-container{display:flex;align-items:center;justify-self:flex-end;gap:16px}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i2$1.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i1$2.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: i1$2.EditorComponent, selector: "valtimo-editor", inputs: ["editorOptions", "model", "disabled", "formatOnLoad", "widthPx", "heightPx", "heightStyle", "jsonSchema", "fitPage", "fitPageExtraSpace"], outputs: ["validEvent", "valueChangeEvent"] }, { kind: "directive", type: i1$2.RenderInPageHeaderDirective, selector: "[renderInPageHeader]", inputs: ["fullWidth"] }, { kind: "component", type: i2$1.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "component", type: i2$1.OverflowMenu, selector: "cds-overflow-menu, ibm-overflow-menu", inputs: ["buttonLabel", "description", "flip", "placement", "open", "customTrigger", "offset", "wrapperClass", "triggerClass"], outputs: ["openChange"] }, { kind: "component", type: i2$1.OverflowMenuOption, selector: "cds-overflow-menu-option, ibm-overflow-menu-option", inputs: ["divider", "type", "disabled", "href", "target", "innerClass"], outputs: ["selected"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
574
542
|
}
|
|
575
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
543
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FormFlowEditorComponent, decorators: [{
|
|
576
544
|
type: Component,
|
|
577
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush,
|
|
578
|
-
}], ctorParameters: () => [{ type: FormFlowService }, { type: i2$1.
|
|
545
|
+
args: [{ standalone: false, changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS 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@if (model$ | async; as model) {\n <valtimo-editor\n [disabled]=\"(loading$ | async) === false && readOnly$ | async\"\n [model]=\"model\"\n [jsonSchema]=\"formFlowSchemaJson\"\n (validEvent)=\"onValid($event)\"\n (valueChangeEvent)=\"onValueChange($event)\"\n [fitPage]=\"true\"\n ></valtimo-editor>\n} @else {\n <cds-loading></cds-loading>\n}\n\n<ng-container renderInPageHeader>\n <ng-template>\n <div\n *ngIf=\"{\n compactMode: compactMode$ | async,\n valid: valid$ | async,\n readOnly: readOnly$ | async,\n model: model$ | async,\n } as obs\"\n class=\"buttons-container\"\n >\n <cds-overflow-menu>\n <cds-overflow-menu-option\n [disabled]=\"!obs.valid && !obs.readOnly\"\n (selected)=\"downloadFormFlowDefinition(obs.model)\"\n >{{ 'interface.export' | translate }}\n </cds-overflow-menu-option>\n\n <cds-overflow-menu-option\n [disabled]=\"obs.readOnly\"\n type=\"danger\"\n (selected)=\"showDeleteModal()\"\n >{{ 'interface.delete' | translate }}\n </cds-overflow-menu-option>\n </cds-overflow-menu>\n\n <button cdsButton=\"secondary\" [size]=\"obs.compactMode ? 'sm' : 'md'\" (click)=\"navigateBack()\">\n {{ 'interface.back' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"arrow--left\" size=\"16\"></svg>\n </button>\n\n <button\n [disabled]=\"!obs.valid || obs.readOnly\"\n cdsButton=\"primary\"\n [size]=\"obs.compactMode ? 'sm' : 'md'\"\n (click)=\"updateFormFlowDefinition()\"\n >\n {{ 'interface.save' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"save\" size=\"16\"></svg>\n </button>\n </div>\n </ng-template>\n</ng-container>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"formFlow.deleteModalContent\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"interface.delete\"\n (confirmEvent)=\"onDelete()\"\n></valtimo-confirmation-modal>\n", styles: ["cds-loading{display:flex;justify-content:center}.buttons-container{display:flex;align-items:center;justify-self:flex-end;gap:16px}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS 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"] }]
|
|
546
|
+
}], ctorParameters: () => [{ type: i1$2.BreadcrumbService }, { type: FormFlowDownloadService }, { type: FormFlowService }, { type: i2$1.IconService }, { type: i2.GlobalNotificationService }, { type: i1$2.PageHeaderService }, { type: i1$2.PageTitleService }, { type: i3.ActivatedRoute }, { type: i3.Router }, { type: i4.TranslateService }] });
|
|
579
547
|
|
|
580
548
|
/*
|
|
581
|
-
* Copyright 2015-
|
|
549
|
+
* Copyright 2015-2025 Ritense BV, the Netherlands.
|
|
582
550
|
*
|
|
583
551
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
584
552
|
* you may not use this file except in compliance with the License.
|
|
@@ -592,39 +560,29 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
592
560
|
* See the License for the specific language governing permissions and
|
|
593
561
|
* limitations under the License.
|
|
594
562
|
*/
|
|
595
|
-
|
|
596
|
-
{
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
}
|
|
602
|
-
{
|
|
603
|
-
|
|
604
|
-
component: FormFlowEditorComponent,
|
|
605
|
-
canActivate: [AuthGuardService],
|
|
606
|
-
data: {
|
|
607
|
-
title: 'FormFlow details',
|
|
608
|
-
formFlows: [ROLE_ADMIN],
|
|
609
|
-
customPageTitle: true,
|
|
610
|
-
},
|
|
611
|
-
},
|
|
612
|
-
];
|
|
613
|
-
class FormFlowManagementRoutingModule {
|
|
614
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormFlowManagementRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
615
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: FormFlowManagementRoutingModule, imports: [CommonModule, i2$1.RouterModule], exports: [RouterModule] }); }
|
|
616
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormFlowManagementRoutingModule, imports: [CommonModule, RouterModule.forChild(routes), RouterModule] }); }
|
|
563
|
+
class DeleteFormFlowModalComponent {
|
|
564
|
+
constructor() {
|
|
565
|
+
this.deleteEvent = new EventEmitter();
|
|
566
|
+
}
|
|
567
|
+
onDelete(formFlowDefinitionKey) {
|
|
568
|
+
this.deleteEvent.emit(formFlowDefinitionKey);
|
|
569
|
+
}
|
|
570
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DeleteFormFlowModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
571
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: DeleteFormFlowModalComponent, isStandalone: false, selector: "valtimo-delete-form-flow-modal", inputs: { deleteFormFlowDefinitionKey: "deleteFormFlowDefinitionKey", showDeleteModal$: "showDeleteModal$" }, outputs: { deleteEvent: "deleteEvent" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS 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-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"formFlow.deleteModalContent\"\n [outputOnConfirm]=\"deleteFormFlowDefinitionKey\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"interface.delete\"\n (confirmEvent)=\"onDelete($event)\"\n></valtimo-confirmation-modal>\n", dependencies: [{ kind: "component", type: i1$2.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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
617
572
|
}
|
|
618
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
619
|
-
type:
|
|
620
|
-
args: [{
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
573
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DeleteFormFlowModalComponent, decorators: [{
|
|
574
|
+
type: Component,
|
|
575
|
+
args: [{ standalone: false, selector: 'valtimo-delete-form-flow-modal', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS 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-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"formFlow.deleteModalContent\"\n [outputOnConfirm]=\"deleteFormFlowDefinitionKey\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"interface.delete\"\n (confirmEvent)=\"onDelete($event)\"\n></valtimo-confirmation-modal>\n" }]
|
|
576
|
+
}], propDecorators: { deleteFormFlowDefinitionKey: [{
|
|
577
|
+
type: Input
|
|
578
|
+
}], showDeleteModal$: [{
|
|
579
|
+
type: Input
|
|
580
|
+
}], deleteEvent: [{
|
|
581
|
+
type: Output
|
|
582
|
+
}] } });
|
|
625
583
|
|
|
626
584
|
/*
|
|
627
|
-
* Copyright 2015-
|
|
585
|
+
* Copyright 2015-2025 Ritense BV, the Netherlands.
|
|
628
586
|
*
|
|
629
587
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
630
588
|
* you may not use this file except in compliance with the License.
|
|
@@ -639,12 +597,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
639
597
|
* limitations under the License.
|
|
640
598
|
*/
|
|
641
599
|
class FormFlowManagementModule {
|
|
642
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
643
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
600
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FormFlowManagementModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
601
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.14", ngImport: i0, type: FormFlowManagementModule, declarations: [FormFlowOverviewComponent,
|
|
644
602
|
NewFormFlowModalComponent,
|
|
645
603
|
FormFlowEditorComponent,
|
|
646
604
|
DeleteFormFlowModalComponent], imports: [CommonModule,
|
|
647
|
-
FormFlowManagementRoutingModule,
|
|
648
605
|
ButtonModule,
|
|
649
606
|
FormsModule,
|
|
650
607
|
ModalModule,
|
|
@@ -654,15 +611,15 @@ class FormFlowManagementModule {
|
|
|
654
611
|
IconModule,
|
|
655
612
|
ConfirmationModalModule,
|
|
656
613
|
EditorModule,
|
|
657
|
-
|
|
614
|
+
RenderInPageHeaderDirective,
|
|
658
615
|
LoadingModule,
|
|
659
616
|
IconModule,
|
|
660
617
|
DialogModule,
|
|
661
618
|
NotificationModule,
|
|
662
619
|
CarbonListModule,
|
|
663
|
-
DropdownModule
|
|
664
|
-
|
|
665
|
-
|
|
620
|
+
DropdownModule,
|
|
621
|
+
ConfirmationModalModule] }); }
|
|
622
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FormFlowManagementModule, imports: [CommonModule,
|
|
666
623
|
ButtonModule,
|
|
667
624
|
FormsModule,
|
|
668
625
|
ModalModule,
|
|
@@ -672,15 +629,15 @@ class FormFlowManagementModule {
|
|
|
672
629
|
IconModule,
|
|
673
630
|
ConfirmationModalModule,
|
|
674
631
|
EditorModule,
|
|
675
|
-
RenderInPageHeaderDirectiveModule,
|
|
676
632
|
LoadingModule,
|
|
677
633
|
IconModule,
|
|
678
634
|
DialogModule,
|
|
679
635
|
NotificationModule,
|
|
680
636
|
CarbonListModule,
|
|
681
|
-
DropdownModule
|
|
637
|
+
DropdownModule,
|
|
638
|
+
ConfirmationModalModule] }); }
|
|
682
639
|
}
|
|
683
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
640
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FormFlowManagementModule, decorators: [{
|
|
684
641
|
type: NgModule,
|
|
685
642
|
args: [{
|
|
686
643
|
declarations: [
|
|
@@ -691,7 +648,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
691
648
|
],
|
|
692
649
|
imports: [
|
|
693
650
|
CommonModule,
|
|
694
|
-
FormFlowManagementRoutingModule,
|
|
695
651
|
ButtonModule,
|
|
696
652
|
FormsModule,
|
|
697
653
|
ModalModule,
|
|
@@ -701,19 +657,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
701
657
|
IconModule,
|
|
702
658
|
ConfirmationModalModule,
|
|
703
659
|
EditorModule,
|
|
704
|
-
|
|
660
|
+
RenderInPageHeaderDirective,
|
|
705
661
|
LoadingModule,
|
|
706
662
|
IconModule,
|
|
707
663
|
DialogModule,
|
|
708
664
|
NotificationModule,
|
|
709
665
|
CarbonListModule,
|
|
710
666
|
DropdownModule,
|
|
667
|
+
ConfirmationModalModule,
|
|
711
668
|
],
|
|
712
669
|
}]
|
|
713
670
|
}] });
|
|
714
671
|
|
|
715
672
|
/*
|
|
716
|
-
* Copyright 2015-
|
|
673
|
+
* Copyright 2015-2025 Ritense BV, the Netherlands.
|
|
717
674
|
*
|
|
718
675
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
719
676
|
* you may not use this file except in compliance with the License.
|
|
@@ -735,5 +692,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
735
692
|
* Generated bundle index. Do not edit.
|
|
736
693
|
*/
|
|
737
694
|
|
|
738
|
-
export { FormFlowManagementModule, FormFlowService };
|
|
695
|
+
export { FormFlowEditorComponent, FormFlowManagementModule, FormFlowOverviewComponent, FormFlowService };
|
|
739
696
|
//# sourceMappingURL=valtimo-form-flow-management.mjs.map
|