@valtimo/process-link 12.14.1 → 13.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.
Files changed (88) hide show
  1. package/fesm2022/valtimo-process-link.mjs +694 -682
  2. package/fesm2022/valtimo-process-link.mjs.map +1 -1
  3. package/lib/components/choose-process-link-type/choose-process-link-type.component.d.ts.map +1 -1
  4. package/lib/components/form-display-configuration/form-display-configuration.component.d.ts +1 -4
  5. package/lib/components/form-display-configuration/form-display-configuration.component.d.ts.map +1 -1
  6. package/lib/components/form-flow/form-flow.component.d.ts +1 -1
  7. package/lib/components/form-flow/form-flow.component.d.ts.map +1 -1
  8. package/lib/components/form-flow-configuration-container/form-flow-configuration-container.component.d.ts.map +1 -1
  9. package/lib/components/form-link-process-diagram/form-link-process-diagram.component.d.ts +1 -1
  10. package/lib/components/form-link-process-diagram/form-link-process-diagram.component.d.ts.map +1 -1
  11. package/lib/components/import-plugin-configuration/import-plugin-configuration.component.d.ts.map +1 -1
  12. package/lib/components/plugin-action-configuration/plugin-action-configuration.component.d.ts.map +1 -1
  13. package/lib/components/process-link/process-link.component.d.ts.map +1 -1
  14. package/lib/components/process-link-modal/process-link-modal.component.d.ts +1 -1
  15. package/lib/components/process-link-modal/process-link-modal.component.d.ts.map +1 -1
  16. package/lib/components/select-form/select-form.component.d.ts +12 -9
  17. package/lib/components/select-form/select-form.component.d.ts.map +1 -1
  18. package/lib/components/select-form-flow/select-form-flow.component.d.ts +14 -12
  19. package/lib/components/select-form-flow/select-form-flow.component.d.ts.map +1 -1
  20. package/lib/components/select-plugin-action/select-plugin-action.component.d.ts +3 -2
  21. package/lib/components/select-plugin-action/select-plugin-action.component.d.ts.map +1 -1
  22. package/lib/components/select-plugin-configuration/select-plugin-configuration.component.d.ts.map +1 -1
  23. package/lib/components/select-ui-component/select-ui-component.component.d.ts.map +1 -1
  24. package/lib/models/form-link.model.d.ts +1 -0
  25. package/lib/models/form-link.model.d.ts.map +1 -1
  26. package/lib/models/process-link.model.d.ts +48 -4
  27. package/lib/models/process-link.model.d.ts.map +1 -1
  28. package/lib/process-link.module.d.ts +11 -12
  29. package/lib/process-link.module.d.ts.map +1 -1
  30. package/lib/services/form-flow.service.d.ts +6 -8
  31. package/lib/services/form-flow.service.d.ts.map +1 -1
  32. package/lib/services/index.d.ts +2 -0
  33. package/lib/services/index.d.ts.map +1 -1
  34. package/lib/services/process-link-button.service.d.ts.map +1 -1
  35. package/lib/services/process-link-state.service.d.ts +20 -8
  36. package/lib/services/process-link-state.service.d.ts.map +1 -1
  37. package/lib/services/process-link-step.service.d.ts.map +1 -1
  38. package/lib/services/process-link.service.d.ts +6 -4
  39. package/lib/services/process-link.service.d.ts.map +1 -1
  40. package/lib/services/url-resolver.service.d.ts.map +1 -1
  41. package/lib/services/url-validator.service.d.ts.map +1 -1
  42. package/package.json +4 -6
  43. package/public-api.d.ts +1 -5
  44. package/public-api.d.ts.map +1 -1
  45. package/esm2022/lib/components/choose-process-link-type/choose-process-link-type.component.mjs +0 -38
  46. package/esm2022/lib/components/choose-process-link-type/index.mjs +0 -17
  47. package/esm2022/lib/components/form-display-configuration/form-display-configuration.component.mjs +0 -119
  48. package/esm2022/lib/components/form-flow/form-flow.component.mjs +0 -206
  49. package/esm2022/lib/components/form-flow-configuration-container/form-flow-configuration-container.component.mjs +0 -107
  50. package/esm2022/lib/components/form-flow-configuration-container/index.mjs +0 -17
  51. package/esm2022/lib/components/form-link-process-diagram/form-link-process-diagram.component.mjs +0 -150
  52. package/esm2022/lib/components/import-plugin-configuration/import-plugin-configuration.component.mjs +0 -133
  53. package/esm2022/lib/components/plugin-action-configuration/plugin-action-configuration.component.mjs +0 -137
  54. package/esm2022/lib/components/process-link/process-link.component.mjs +0 -69
  55. package/esm2022/lib/components/process-link-modal/process-link-modal.component.mjs +0 -91
  56. package/esm2022/lib/components/select-form/index.mjs +0 -17
  57. package/esm2022/lib/components/select-form/select-form.component.mjs +0 -172
  58. package/esm2022/lib/components/select-form-flow/index.mjs +0 -17
  59. package/esm2022/lib/components/select-form-flow/select-form-flow.component.mjs +0 -160
  60. package/esm2022/lib/components/select-plugin-action/select-plugin-action.component.mjs +0 -74
  61. package/esm2022/lib/components/select-plugin-configuration/select-plugin-configuration.component.mjs +0 -75
  62. package/esm2022/lib/components/select-ui-component/select-ui-component.component.mjs +0 -128
  63. package/esm2022/lib/components/select-url/select-url.component.mjs +0 -125
  64. package/esm2022/lib/constants/index.mjs +0 -18
  65. package/esm2022/lib/constants/injection-tokens.mjs +0 -20
  66. package/esm2022/lib/constants/process.link.mjs +0 -23
  67. package/esm2022/lib/models/form-custom-component.model.mjs +0 -17
  68. package/esm2022/lib/models/form-flow.model.mjs +0 -17
  69. package/esm2022/lib/models/form-link.model.mjs +0 -17
  70. package/esm2022/lib/models/index.mjs +0 -20
  71. package/esm2022/lib/models/process-link-url.model.mjs +0 -17
  72. package/esm2022/lib/models/process-link.model.mjs +0 -17
  73. package/esm2022/lib/process-link-routing.module.mjs +0 -44
  74. package/esm2022/lib/process-link.module.mjs +0 -203
  75. package/esm2022/lib/services/form-flow-component.service.mjs +0 -44
  76. package/esm2022/lib/services/form-flow.service.mjs +0 -59
  77. package/esm2022/lib/services/index.mjs +0 -23
  78. package/esm2022/lib/services/plugin-state.service.mjs +0 -90
  79. package/esm2022/lib/services/process-link-button.service.mjs +0 -106
  80. package/esm2022/lib/services/process-link-state.service.mjs +0 -173
  81. package/esm2022/lib/services/process-link-step.service.mjs +0 -269
  82. package/esm2022/lib/services/process-link.service.mjs +0 -117
  83. package/esm2022/lib/services/url-resolver.service.mjs +0 -18
  84. package/esm2022/lib/services/url-validator.service.mjs +0 -26
  85. package/esm2022/public-api.mjs +0 -34
  86. package/esm2022/valtimo-process-link.mjs +0 -5
  87. package/lib/components/select-url/select-url.component.d.ts +0 -31
  88. package/lib/components/select-url/select-url.component.d.ts.map +0 -1
@@ -1,34 +1,35 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Injectable, InjectionToken, Optional, Inject, Component, EventEmitter, Output, Input, ViewChild, ChangeDetectionStrategy, NgModule, ViewContainerRef } from '@angular/core';
3
+ import * as i2 from '@valtimo/shared';
4
+ import { BaseApiService, getCaseManagementRouteParams, ROLE_ADMIN } from '@valtimo/shared';
3
5
  import * as i1 from '@angular/common/http';
4
6
  import { HttpParams, HttpHeaders } from '@angular/common/http';
5
- import * as i1$1 from '@valtimo/config';
6
- import { ROLE_ADMIN } from '@valtimo/config';
7
- import { map, BehaviorSubject, Subject, switchMap, of, combineLatest, filter, Subscription, startWith, tap, take as take$1 } from 'rxjs';
8
- import { map as map$1, take, switchMap as switchMap$1, distinctUntilChanged, tap as tap$1 } from 'rxjs/operators';
9
- import * as i1$2 from '@valtimo/plugin';
7
+ import { BehaviorSubject, Subject, switchMap, of, combineLatest, map as map$1, filter, Subscription, startWith, mergeMap, tap, take as take$1 } from 'rxjs';
8
+ import { map, take, switchMap as switchMap$1, tap as tap$1 } from 'rxjs/operators';
9
+ import * as i1$1 from '@valtimo/plugin';
10
10
  import { PluginTranslatePipeModule, PluginConfigurationContainerModule } from '@valtimo/plugin';
11
- import * as i3 from '@ngx-translate/core';
11
+ import * as i2$1 from '@ngx-translate/core';
12
12
  import { TranslateModule } from '@ngx-translate/core';
13
- import * as i3$1 from '@angular/common';
13
+ import * as i3 from '@angular/common';
14
14
  import { CommonModule } from '@angular/common';
15
15
  import * as i4 from 'carbon-components-angular';
16
- import { ModalModule as ModalModule$1, ProgressIndicatorModule, ButtonModule as ButtonModule$1, IconModule, ComboBoxModule, InputModule, LoadingModule, StructuredListModule, TilesModule, SelectModule, ToggleModule, LayerModule, ToggletipModule } from 'carbon-components-angular';
17
- import * as i5 from '@angular/forms';
18
- import { FormGroup, FormControl, Validators, FormsModule, ReactiveFormsModule } from '@angular/forms';
19
- import * as i4$1 from '@valtimo/components';
20
- import { FormioOptionsImpl, ModalModule, SearchableDropdownSelectModule, StepperModule, VModalModule, VCardModule, ParagraphModule, ButtonModule, TitleModule, TooltipModule, TooltipIconModule, FormIoModule, ValtimoCdsModalDirectiveModule, RenderInPageHeaderDirectiveModule, CarbonMultiInputModule, RemoveClassnamesDirective } from '@valtimo/components';
16
+ import { ModalModule as ModalModule$1, ProgressIndicatorModule, ButtonModule, IconModule, ComboBoxModule, InputModule, LoadingModule, StructuredListModule, TilesModule, SelectModule, ToggleModule, LayerModule, ToggletipModule } from 'carbon-components-angular';
17
+ import * as i1$2 from '@angular/forms';
18
+ import { FormControl, Validators, FormsModule, ReactiveFormsModule } from '@angular/forms';
21
19
  import { Upload16 } from '@carbon/icons';
22
- import * as i5$1 from 'carbon-components-angular/dropdown';
23
- import BpmnJS from 'bpmn-js/dist/bpmn-navigated-viewer.production.min.js';
20
+ import * as i2$2 from '@valtimo/components';
21
+ import { FormioOptionsImpl, ModalModule, SearchableDropdownSelectModule, StepperModule, VModalModule, ParagraphModule, TooltipModule, TooltipIconModule, FormIoModule, ValtimoCdsModalDirective, RenderInPageHeaderDirective, CarbonMultiInputModule, RemoveClassnamesDirective } from '@valtimo/components';
22
+ import * as i5 from 'carbon-components-angular/dropdown';
23
+ import BpmnViewer from 'bpmn-js';
24
24
  import * as i1$3 from '@valtimo/process';
25
- import * as i2 from '@angular/router';
25
+ import * as i3$1 from '@angular/router';
26
26
  import { RouterModule } from '@angular/router';
27
27
  import { AuthGuardService } from '@valtimo/security';
28
- import * as i2$1 from '@valtimo/form';
28
+ import * as i1$4 from '@valtimo/form';
29
+ import * as i1$5 from '@valtimo/form-flow-management';
29
30
 
30
31
  /*
31
- * Copyright 2015-2024 Ritense BV, the Netherlands.
32
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
32
33
  *
33
34
  * Licensed under EUPL, Version 1.2 (the "License");
34
35
  * you may not use this file except in compliance with the License.
@@ -42,48 +43,130 @@ import * as i2$1 from '@valtimo/form';
42
43
  * See the License for the specific language governing permissions and
43
44
  * limitations under the License.
44
45
  */
45
- class FormFlowService {
46
- constructor(http, configService) {
47
- this.http = http;
46
+ class FormFlowService extends BaseApiService {
47
+ constructor(httpClient, configService) {
48
+ super(httpClient, configService);
49
+ this.httpClient = httpClient;
48
50
  this.configService = configService;
49
- this.valtimoEndpointUri = configService.config.valtimoApi.endpointUri;
50
- }
51
- getFormFlowDefinitions() {
52
- return this.http.get(`${this.valtimoEndpointUri}v1/form-flow/definition`);
53
51
  }
54
52
  createInstanceForNewProcess(processDefinitionKey, request) {
55
- return this.http.post(`${this.valtimoEndpointUri}v1/process-definition/${processDefinitionKey}/form-flow`, request);
53
+ return this.httpClient.post(this.getApiUrl(`v1/process-definition/${processDefinitionKey}/form-flow`), request);
56
54
  }
57
55
  getFormFlowStep(formFlowInstanceId) {
58
- return this.http.get(`${this.valtimoEndpointUri}v1/form-flow/instance/${formFlowInstanceId}`);
56
+ return this.httpClient.get(this.getApiUrl(`v1/form-flow/instance/${formFlowInstanceId}`));
59
57
  }
60
58
  submitStep(formFlowInstanceId, stepInstanceId, submissionData) {
61
- return this.http.post(`${this.valtimoEndpointUri}v1/form-flow/instance/${formFlowInstanceId}/step/instance/${stepInstanceId}`, submissionData);
59
+ return this.httpClient.post(this.getApiUrl(`v1/form-flow/instance/${formFlowInstanceId}/step/instance/${stepInstanceId}`), submissionData);
62
60
  }
63
61
  back(formFlowInstanceId, submissionData) {
64
- return this.http.post(`${this.valtimoEndpointUri}v1/form-flow/instance/${formFlowInstanceId}/back`, submissionData);
62
+ return this.httpClient.post(this.getApiUrl(`v1/form-flow/instance/${formFlowInstanceId}/back`), submissionData);
65
63
  }
66
64
  save(formFlowInstanceId, submissionData) {
67
- return this.http.post(`${this.valtimoEndpointUri}v1/form-flow/instance/${formFlowInstanceId}/save`, submissionData);
65
+ return this.httpClient.post(this.getApiUrl(`v1/form-flow/instance/${formFlowInstanceId}/save`), submissionData);
68
66
  }
69
67
  getBreadcrumbs(formFlowInstanceId) {
70
- return this.http.get(`${this.valtimoEndpointUri}v1/form-flow/instance/${formFlowInstanceId}/breadcrumbs`);
68
+ return this.httpClient.get(this.getApiUrl(`v1/form-flow/instance/${formFlowInstanceId}/breadcrumbs`));
71
69
  }
72
70
  navigateToStep(instanceId, currentStepInstanceId, targetStepInstanceId, submissionData) {
73
- return this.http.post(`${this.valtimoEndpointUri}v1/form-flow/instance/${instanceId}/step/instance/${currentStepInstanceId}/to/step/instance/${targetStepInstanceId}`, submissionData);
71
+ return this.httpClient.post(this.getApiUrl(`v1/form-flow/instance/${instanceId}/step/instance/${currentStepInstanceId}/to/step/instance/${targetStepInstanceId}`), submissionData);
74
72
  }
75
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormFlowService, deps: [{ token: i1.HttpClient }, { token: i1$1.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
76
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormFlowService, providedIn: 'root' }); }
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' }); }
77
75
  }
78
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormFlowService, decorators: [{
76
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FormFlowService, decorators: [{
79
77
  type: Injectable,
80
78
  args: [{
81
79
  providedIn: 'root',
82
80
  }]
83
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i1$1.ConfigService }] });
81
+ }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.ConfigService }] });
84
82
 
85
83
  /*
86
- * Copyright 2015-2024 Ritense BV, the Netherlands.
84
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
85
+ *
86
+ * Licensed under EUPL, Version 1.2 (the "License");
87
+ * you may not use this file except in compliance with the License.
88
+ * You may obtain a copy of the License at
89
+ *
90
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
91
+ *
92
+ * Unless required by applicable law or agreed to in writing, software
93
+ * distributed under the License is distributed on an "AS IS" basis,
94
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
95
+ * See the License for the specific language governing permissions and
96
+ * limitations under the License.
97
+ */
98
+ class PluginStateService {
99
+ constructor(pluginManagementService, pluginService) {
100
+ this.pluginManagementService = pluginManagementService;
101
+ this.pluginService = pluginService;
102
+ this._selectedPluginDefinition$ = new BehaviorSubject(undefined);
103
+ this._selectedPluginConfiguration$ = new BehaviorSubject(undefined);
104
+ this._selectedPluginFunction$ = new BehaviorSubject(undefined);
105
+ this._save$ = new Subject();
106
+ this._selectedProcessLink$ = new BehaviorSubject(undefined);
107
+ }
108
+ get selectedPluginDefinition$() {
109
+ return this._selectedPluginDefinition$.asObservable();
110
+ }
111
+ get selectedPluginConfiguration$() {
112
+ return this._selectedPluginConfiguration$.asObservable();
113
+ }
114
+ get selectedPluginFunction$() {
115
+ return this._selectedPluginFunction$.asObservable();
116
+ }
117
+ get save$() {
118
+ return this._save$.asObservable();
119
+ }
120
+ get functionKey$() {
121
+ return this._selectedProcessLink$.pipe(switchMap(processLink => !processLink
122
+ ? this._selectedPluginFunction$.pipe(map(pluginFunction => pluginFunction?.key))
123
+ : of(processLink?.pluginActionDefinitionKey)));
124
+ }
125
+ get pluginDefinitionKey$() {
126
+ return this._selectedProcessLink$.pipe(switchMap(selectedProcesLink => !selectedProcesLink
127
+ ? this._selectedPluginConfiguration$.pipe(map(configuration => configuration?.pluginDefinition.key))
128
+ : combineLatest([
129
+ this._selectedProcessLink$,
130
+ this.pluginService.pluginSpecifications$,
131
+ ]).pipe(map(([processLink, pluginSpecifications]) => {
132
+ const pluginSpecification = pluginSpecifications.find(specification => {
133
+ const functionKeys = specification?.functionConfigurationComponents &&
134
+ Object.keys(specification.functionConfigurationComponents);
135
+ return functionKeys?.includes(processLink?.pluginActionDefinitionKey);
136
+ });
137
+ return pluginSpecification?.pluginId;
138
+ }))));
139
+ }
140
+ selectPluginDefinition(definition) {
141
+ this._selectedPluginDefinition$.next(definition);
142
+ }
143
+ selectPluginConfiguration(configuration) {
144
+ this._selectedPluginConfiguration$.next(configuration);
145
+ }
146
+ selectPluginFunction(pluginFunction) {
147
+ this._selectedPluginFunction$.next(pluginFunction);
148
+ }
149
+ selectProcessLink(processLink) {
150
+ this._selectedProcessLink$.next(processLink);
151
+ }
152
+ deselectProcessLink() {
153
+ this._selectedProcessLink$.next(undefined);
154
+ }
155
+ save() {
156
+ this._save$.next(null);
157
+ }
158
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: PluginStateService, deps: [{ token: i1$1.PluginManagementService }, { token: i1$1.PluginService }], target: i0.ɵɵFactoryTarget.Injectable }); }
159
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: PluginStateService, providedIn: 'root' }); }
160
+ }
161
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: PluginStateService, decorators: [{
162
+ type: Injectable,
163
+ args: [{
164
+ providedIn: 'root',
165
+ }]
166
+ }], ctorParameters: () => [{ type: i1$1.PluginManagementService }, { type: i1$1.PluginService }] });
167
+
168
+ /*
169
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
87
170
  *
88
171
  * Licensed under EUPL, Version 1.2 (the "License");
89
172
  * you may not use this file except in compliance with the License.
@@ -101,17 +184,17 @@ class ProcessLinkService {
101
184
  constructor(configService, http) {
102
185
  this.configService = configService;
103
186
  this.http = http;
104
- this.VALTIMO_ENDPOINT_URI = configService.config.valtimoApi.endpointUri;
187
+ this.VALTIMO_ENDPOINT_URI = this.configService.config.valtimoApi.endpointUri;
105
188
  }
106
189
  getTasksWithProcessLinks(processInstanceId) {
107
190
  return this.http
108
191
  .get(`${this.VALTIMO_ENDPOINT_URI}v1/process/${processInstanceId}/tasks/process-link`, {})
109
- .pipe(map(res => res || []));
192
+ .pipe(map$1(res => res || []));
110
193
  }
111
194
  getProcessLink(getProcessLinkRequest) {
112
- const params = new HttpParams()
113
- .set('activityId', getProcessLinkRequest.activityId)
114
- .set('processDefinitionId', getProcessLinkRequest.processDefinitionId);
195
+ var params = new HttpParams().set('processDefinitionId', getProcessLinkRequest.processDefinitionId);
196
+ if (getProcessLinkRequest.activityId !== undefined)
197
+ params = params.set('activityId', getProcessLinkRequest.activityId);
115
198
  return this.http.get(`${this.VALTIMO_ENDPOINT_URI}v1/process-link`, {
116
199
  params,
117
200
  });
@@ -128,6 +211,28 @@ class ProcessLinkService {
128
211
  getProcessLinkCandidates(activityType) {
129
212
  return this.http.get(`${this.VALTIMO_ENDPOINT_URI}v1/process-link/types?activityType=${activityType}`);
130
213
  }
214
+ deployProcessWithProcessLinks(processLinks = [], processDefinitionId, processXml) {
215
+ const formData = new FormData();
216
+ const processLinksBlob = new Blob([JSON.stringify(processLinks.map(processLink => this.emptyStringToNull(processLink)))], { type: 'application/json' });
217
+ if (processXml)
218
+ formData.append('file', new File([processXml], 'process.bpmn'));
219
+ if (processDefinitionId)
220
+ formData.append('processDefinitionId', processDefinitionId);
221
+ formData.append('processLinks', processLinksBlob);
222
+ return this.http.post(`${this.VALTIMO_ENDPOINT_URI}management/v1/process-definition`, formData);
223
+ }
224
+ deployProcessWithProcessLinksForCase(processLinks = [], processDefinitionId, processXml, caseDefinitionKey, caseDefinitionVersionTag, canInitializeDocument = false, startableByUser = false) {
225
+ const formData = new FormData();
226
+ const processLinksBlob = new Blob([JSON.stringify(processLinks.map(processLink => this.emptyStringToNull(processLink)))], { type: 'application/json' });
227
+ if (processXml)
228
+ formData.append('file', new File([processXml], 'process.bpmn'));
229
+ if (processDefinitionId)
230
+ formData.append('processDefinitionId', processDefinitionId);
231
+ formData.append('processLinks', processLinksBlob);
232
+ formData.append('canInitializeDocument', String(canInitializeDocument));
233
+ formData.append('startableByUser', String(startableByUser));
234
+ return this.http.post(`${this.VALTIMO_ENDPOINT_URI}management/v1/case-definition/${caseDefinitionKey}/version/${caseDefinitionVersionTag}/process-definition`, formData);
235
+ }
131
236
  submitForm(processLinkId, formData, documentId, taskInstanceId, documentDefinitionName) {
132
237
  let params = new HttpParams();
133
238
  if (documentId) {
@@ -183,57 +288,40 @@ class ProcessLinkService {
183
288
  }
184
289
  return object;
185
290
  }
186
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ProcessLinkService, deps: [{ token: i1$1.ConfigService }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
187
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ProcessLinkService, providedIn: 'root' }); }
291
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ProcessLinkService, deps: [{ token: i2.ConfigService }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
292
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ProcessLinkService, providedIn: 'root' }); }
188
293
  }
189
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ProcessLinkService, decorators: [{
294
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ProcessLinkService, decorators: [{
190
295
  type: Injectable,
191
296
  args: [{
192
297
  providedIn: 'root',
193
298
  }]
194
- }], ctorParameters: () => [{ type: i1$1.ConfigService }, { type: i1.HttpClient }] });
299
+ }], ctorParameters: () => [{ type: i2.ConfigService }, { type: i1.HttpClient }] });
195
300
 
196
- class UrlResolverService {
197
- resolveUrlVariables(url, variables) {
198
- let resolvingUrl = url;
199
- Object.keys(variables).forEach(key => {
200
- let value = variables[key];
201
- resolvingUrl = resolvingUrl.replace('<' + key + '>', value);
202
- });
203
- return resolvingUrl;
204
- }
205
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: UrlResolverService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
206
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: UrlResolverService }); }
207
- }
208
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: UrlResolverService, decorators: [{
209
- type: Injectable
210
- }] });
301
+ /*
302
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
303
+ *
304
+ * Licensed under EUPL, Version 1.2 (the "License");
305
+ * you may not use this file except in compliance with the License.
306
+ * You may obtain a copy of the License at
307
+ *
308
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
309
+ *
310
+ * Unless required by applicable law or agreed to in writing, software
311
+ * distributed under the License is distributed on an "AS IS" basis,
312
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
313
+ * See the License for the specific language governing permissions and
314
+ * limitations under the License.
315
+ */
211
316
 
212
- class UrlValidatorService {
213
- constructor(urlResolverService) {
214
- this.urlResolverService = urlResolverService;
215
- }
216
- urlValidator(variables) {
217
- return (control) => {
218
- const url = this.urlResolverService.resolveUrlVariables(control.value, variables);
219
- try {
220
- new URL(url);
221
- return null;
222
- }
223
- catch (_) {
224
- return { invalidUrl: url };
225
- }
226
- };
227
- }
228
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: UrlValidatorService, deps: [{ token: UrlResolverService }], target: i0.ɵɵFactoryTarget.Injectable }); }
229
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: UrlValidatorService }); }
230
- }
231
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: UrlValidatorService, decorators: [{
232
- type: Injectable
233
- }], ctorParameters: () => [{ type: UrlResolverService }] });
317
+ var ProcessLinkEditMode;
318
+ (function (ProcessLinkEditMode) {
319
+ ProcessLinkEditMode[ProcessLinkEditMode["SAVE_TO_BACKEND"] = 0] = "SAVE_TO_BACKEND";
320
+ ProcessLinkEditMode[ProcessLinkEditMode["EMIT_EVENTS"] = 1] = "EMIT_EVENTS";
321
+ })(ProcessLinkEditMode || (ProcessLinkEditMode = {}));
234
322
 
235
323
  /*
236
- * Copyright 2015-2024 Ritense BV, the Netherlands.
324
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
237
325
  *
238
326
  * Licensed under EUPL, Version 1.2 (the "License");
239
327
  * you may not use this file except in compliance with the License.
@@ -247,78 +335,41 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
247
335
  * See the License for the specific language governing permissions and
248
336
  * limitations under the License.
249
337
  */
250
- class PluginStateService {
251
- constructor(pluginManagementService, pluginService) {
252
- this.pluginManagementService = pluginManagementService;
253
- this.pluginService = pluginService;
254
- this._selectedPluginDefinition$ = new BehaviorSubject(undefined);
255
- this._selectedPluginConfiguration$ = new BehaviorSubject(undefined);
256
- this._selectedPluginFunction$ = new BehaviorSubject(undefined);
257
- this._save$ = new Subject();
258
- this._selectedProcessLink$ = new BehaviorSubject(undefined);
259
- }
260
- get selectedPluginDefinition$() {
261
- return this._selectedPluginDefinition$.asObservable();
262
- }
263
- get selectedPluginConfiguration$() {
264
- return this._selectedPluginConfiguration$.asObservable();
265
- }
266
- get selectedPluginFunction$() {
267
- return this._selectedPluginFunction$.asObservable();
268
- }
269
- get save$() {
270
- return this._save$.asObservable();
271
- }
272
- get functionKey$() {
273
- return this._selectedProcessLink$.pipe(switchMap(processLink => !processLink
274
- ? this._selectedPluginFunction$.pipe(map$1(pluginFunction => pluginFunction?.key))
275
- : of(processLink?.pluginActionDefinitionKey)));
276
- }
277
- get pluginDefinitionKey$() {
278
- return this._selectedProcessLink$.pipe(switchMap(selectedProcesLink => !selectedProcesLink
279
- ? this._selectedPluginConfiguration$.pipe(map$1(configuration => configuration?.pluginDefinition.key))
280
- : combineLatest([
281
- this._selectedProcessLink$,
282
- this.pluginService.pluginSpecifications$,
283
- ]).pipe(map$1(([processLink, pluginSpecifications]) => {
284
- const pluginSpecification = pluginSpecifications.find(specification => {
285
- const functionKeys = specification?.functionConfigurationComponents &&
286
- Object.keys(specification.functionConfigurationComponents);
287
- return functionKeys?.includes(processLink?.pluginActionDefinitionKey);
288
- });
289
- return pluginSpecification?.pluginId;
290
- }))));
291
- }
292
- selectPluginDefinition(definition) {
293
- this._selectedPluginDefinition$.next(definition);
294
- }
295
- selectPluginConfiguration(configuration) {
296
- this._selectedPluginConfiguration$.next(configuration);
297
- }
298
- selectPluginFunction(pluginFunction) {
299
- this._selectedPluginFunction$.next(pluginFunction);
300
- }
301
- selectProcessLink(processLink) {
302
- this._selectedProcessLink$.next(processLink);
303
- }
304
- deselectProcessLink() {
305
- this._selectedProcessLink$.next(undefined);
306
- }
307
- save() {
308
- this._save$.next(null);
309
- }
310
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PluginStateService, deps: [{ token: i1$2.PluginManagementService }, { token: i1$2.PluginService }], target: i0.ɵɵFactoryTarget.Injectable }); }
311
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PluginStateService, providedIn: 'root' }); }
312
- }
313
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PluginStateService, decorators: [{
314
- type: Injectable,
315
- args: [{
316
- providedIn: 'root',
317
- }]
318
- }], ctorParameters: () => [{ type: i1$2.PluginManagementService }, { type: i1$2.PluginService }] });
319
338
 
320
339
  /*
321
- * Copyright 2015-2024 Ritense BV, the Netherlands.
340
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
341
+ *
342
+ * Licensed under EUPL, Version 1.2 (the "License");
343
+ * you may not use this file except in compliance with the License.
344
+ * You may obtain a copy of the License at
345
+ *
346
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
347
+ *
348
+ * Unless required by applicable law or agreed to in writing, software
349
+ * distributed under the License is distributed on an "AS IS" basis,
350
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
351
+ * See the License for the specific language governing permissions and
352
+ * limitations under the License.
353
+ */
354
+
355
+ /*
356
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
357
+ *
358
+ * Licensed under EUPL, Version 1.2 (the "License");
359
+ * you may not use this file except in compliance with the License.
360
+ * You may obtain a copy of the License at
361
+ *
362
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
363
+ *
364
+ * Unless required by applicable law or agreed to in writing, software
365
+ * distributed under the License is distributed on an "AS IS" basis,
366
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
367
+ * See the License for the specific language governing permissions and
368
+ * limitations under the License.
369
+ */
370
+
371
+ /*
372
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
322
373
  *
323
374
  * Licensed under EUPL, Version 1.2 (the "License");
324
375
  * you may not use this file except in compliance with the License.
@@ -336,7 +387,7 @@ const FORM_FLOW_COMPONENT_TOKEN = new InjectionToken('Supported form-flow Angula
336
387
  const FORM_CUSTOM_COMPONENT_TOKEN = new InjectionToken('Custom component that can be used instead of FormIO or form-flow');
337
388
 
338
389
  /*
339
- * Copyright 2015-2024 Ritense BV, the Netherlands.
390
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
340
391
  *
341
392
  * Licensed under EUPL, Version 1.2 (the "License");
342
393
  * you may not use this file except in compliance with the License.
@@ -358,7 +409,7 @@ const formSizeToCarbonModalSizeMap = {
358
409
  };
359
410
 
360
411
  /*
361
- * Copyright 2015-2024 Ritense BV, the Netherlands.
412
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
362
413
  *
363
414
  * Licensed under EUPL, Version 1.2 (the "License");
364
415
  * you may not use this file except in compliance with the License.
@@ -374,7 +425,7 @@ const formSizeToCarbonModalSizeMap = {
374
425
  */
375
426
 
376
427
  /*
377
- * Copyright 2015-2024 Ritense BV, the Netherlands.
428
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
378
429
  *
379
430
  * Licensed under EUPL, Version 1.2 (the "License");
380
431
  * you may not use this file except in compliance with the License.
@@ -469,15 +520,18 @@ class ProcessLinkButtonService {
469
520
  this.hideNextButton();
470
521
  this.disableNextButton();
471
522
  }
472
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ProcessLinkButtonService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
473
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ProcessLinkButtonService }); }
523
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ProcessLinkButtonService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
524
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ProcessLinkButtonService, providedIn: 'root' }); }
474
525
  }
475
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ProcessLinkButtonService, decorators: [{
476
- type: Injectable
526
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ProcessLinkButtonService, decorators: [{
527
+ type: Injectable,
528
+ args: [{
529
+ providedIn: 'root',
530
+ }]
477
531
  }] });
478
532
 
479
533
  /*
480
- * Copyright 2015-2024 Ritense BV, the Netherlands.
534
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
481
535
  *
482
536
  * Licensed under EUPL, Version 1.2 (the "License");
483
537
  * you may not use this file except in compliance with the License.
@@ -497,7 +551,7 @@ class ProcessLinkStepService {
497
551
  this._steps$,
498
552
  this._disableSteps$,
499
553
  this.translateService.stream('key'),
500
- ]).pipe(filter(([steps]) => !!steps), map(([steps, disableSteps]) => steps.map(step => ({
554
+ ]).pipe(filter(([steps]) => !!steps), map$1(([steps, disableSteps]) => steps.map(step => ({
501
555
  ...step,
502
556
  disabled: disableSteps,
503
557
  label: this.translateService.instant(`processLinkSteps.${step.label}`),
@@ -510,7 +564,7 @@ class ProcessLinkStepService {
510
564
  return this._currentStepIndex$.asObservable();
511
565
  }
512
566
  get currentStepId$() {
513
- return combineLatest([this._steps$, this.currentStepIndex$]).pipe(filter(([steps, currentStepIndex]) => !!steps && typeof currentStepIndex === 'number'), map(([steps, currentStepIndex]) => steps.length > 0 ? steps[currentStepIndex]?.label : ''));
567
+ return combineLatest([this._steps$, this.currentStepIndex$]).pipe(filter(([steps, currentStepIndex]) => !!steps && typeof currentStepIndex === 'number'), map$1(([steps, currentStepIndex]) => steps.length > 0 ? steps[currentStepIndex]?.label : ''));
514
568
  }
515
569
  get hasOneProcessLinkType$() {
516
570
  return this._hasOneProcessLinkType$.asObservable();
@@ -730,15 +784,18 @@ class ProcessLinkStepService {
730
784
  ]);
731
785
  this._currentStepIndex$.next(0);
732
786
  }
733
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ProcessLinkStepService, deps: [{ token: i3.TranslateService }, { token: ProcessLinkButtonService }, { token: PluginStateService }, { token: i1$2.PluginTranslationService }], target: i0.ɵɵFactoryTarget.Injectable }); }
734
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ProcessLinkStepService }); }
787
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ProcessLinkStepService, deps: [{ token: i2$1.TranslateService }, { token: ProcessLinkButtonService }, { token: PluginStateService }, { token: i1$1.PluginTranslationService }], target: i0.ɵɵFactoryTarget.Injectable }); }
788
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ProcessLinkStepService, providedIn: 'root' }); }
735
789
  }
736
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ProcessLinkStepService, decorators: [{
737
- type: Injectable
738
- }], ctorParameters: () => [{ type: i3.TranslateService }, { type: ProcessLinkButtonService }, { type: PluginStateService }, { type: i1$2.PluginTranslationService }] });
790
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ProcessLinkStepService, decorators: [{
791
+ type: Injectable,
792
+ args: [{
793
+ providedIn: 'root',
794
+ }]
795
+ }], ctorParameters: () => [{ type: i2$1.TranslateService }, { type: ProcessLinkButtonService }, { type: PluginStateService }, { type: i1$1.PluginTranslationService }] });
739
796
 
740
797
  /*
741
- * Copyright 2015-2024 Ritense BV, the Netherlands.
798
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
742
799
  *
743
800
  * Licensed under EUPL, Version 1.2 (the "License");
744
801
  * you may not use this file except in compliance with the License.
@@ -753,6 +810,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
753
810
  * limitations under the License.
754
811
  */
755
812
  class ProcessLinkStateService {
813
+ get processLinkUpdateEvents$() {
814
+ return this._processLinkUpdateEvents$.asObservable();
815
+ }
816
+ get processLinkCreateEvents$() {
817
+ return this._processLinkCreateEvents$.asObservable();
818
+ }
819
+ get processLinkDeleteEvents$() {
820
+ return this._processLinkDeleteEvents$.asObservable();
821
+ }
756
822
  get showModal$() {
757
823
  return this._showModal$.asObservable();
758
824
  }
@@ -760,22 +826,17 @@ class ProcessLinkStateService {
760
826
  return this._elementName$.asObservable();
761
827
  }
762
828
  get availableProcessLinkTypes$() {
763
- return this._availableProcessLinkTypes$.asObservable().pipe(map(types => {
764
- if (!this.formCustomComponentConfig) {
765
- return types.map(type => {
766
- if (type.processLinkType === 'ui-component') {
767
- type.enabled = false;
768
- }
769
- return type;
770
- });
771
- }
772
- return types;
773
- }));
829
+ return this._availableProcessLinkTypes$.pipe(map$1(types => (!this.formCustomComponentConfig
830
+ ? types.map(type => ({
831
+ ...type,
832
+ enabled: type.processLinkType === 'ui-component' ? false : type.enabled,
833
+ }))
834
+ : types).filter(type => type.processLinkType !== 'url')));
774
835
  }
775
836
  get hideProgressIndicator$() {
776
837
  return this._availableProcessLinkTypes$
777
838
  .asObservable()
778
- .pipe(map(availableTypes => Array.isArray(availableTypes) &&
839
+ .pipe(map$1(availableTypes => Array.isArray(availableTypes) &&
779
840
  availableTypes.length === 1 &&
780
841
  (availableTypes[0]?.processLinkType === 'form' ||
781
842
  availableTypes[0]?.processLinkType === 'form-flow')));
@@ -793,7 +854,16 @@ class ProcessLinkStateService {
793
854
  return this._selectedProcessLink$.asObservable();
794
855
  }
795
856
  get typeOfSelectedProcessLink$() {
796
- return this.selectedProcessLink$.pipe(map(processLink => processLink?.processLinkType || ''));
857
+ return this.selectedProcessLink$.pipe(map$1(processLink => processLink?.processLinkType || ''));
858
+ }
859
+ get processLinkEditMode() {
860
+ return this._processLinkEditMode$.getValue();
861
+ }
862
+ get viewModelEnabled$() {
863
+ return this._viewModelEnabled$.asObservable();
864
+ }
865
+ get url$() {
866
+ return this._url$.asObservable();
797
867
  }
798
868
  constructor(processLinkStepService, buttonService, pluginStateService, formCustomComponentConfig) {
799
869
  this.processLinkStepService = processLinkStepService;
@@ -809,6 +879,10 @@ class ProcessLinkStateService {
809
879
  this._saving$ = new BehaviorSubject(false);
810
880
  this._modalParams$ = new BehaviorSubject(undefined);
811
881
  this._selectedProcessLink$ = new BehaviorSubject(undefined);
882
+ this._processLinkEditMode$ = new BehaviorSubject(ProcessLinkEditMode.SAVE_TO_BACKEND);
883
+ this._processLinkUpdateEvents$ = new Subject();
884
+ this._processLinkCreateEvents$ = new Subject();
885
+ this._processLinkDeleteEvents$ = new Subject();
812
886
  this.openAvailableProcessLinkTypesSubscription();
813
887
  }
814
888
  ngOnDestroy() {
@@ -841,12 +915,6 @@ class ProcessLinkStateService {
841
915
  setViewModelEnabled(viewModelEnabled) {
842
916
  this._viewModelEnabled$.next(viewModelEnabled);
843
917
  }
844
- get viewModelEnabled$() {
845
- return this._viewModelEnabled$.asObservable();
846
- }
847
- get url$() {
848
- return this._url$.asObservable();
849
- }
850
918
  clearSelectedProcessLinkType() {
851
919
  this._selectedProcessLinkTypeId$.next('');
852
920
  }
@@ -867,15 +935,29 @@ class ProcessLinkStateService {
867
935
  this._modalParams$.next(params);
868
936
  }
869
937
  selectProcessLink(processLink) {
938
+ if (!processLink)
939
+ return;
870
940
  this._selectedProcessLink$.next(processLink);
871
941
  this.pluginStateService.selectProcessLink(processLink);
872
- this.setViewModelEnabled(processLink.viewModelEnabled);
873
- this._url$.next(processLink.url);
942
+ this.setViewModelEnabled(processLink.viewModelEnabled ?? false);
943
+ this._url$.next(processLink.url ?? '');
874
944
  }
875
945
  deselectProcessLink() {
876
946
  this._selectedProcessLink$.next(undefined);
877
947
  this.pluginStateService.deselectProcessLink();
878
948
  }
949
+ setEditMode(editMode) {
950
+ this._processLinkEditMode$.next(editMode);
951
+ }
952
+ sendProcessLinkUpdateEvent(event) {
953
+ this._processLinkUpdateEvents$.next(event);
954
+ }
955
+ sendProcessLinkCreateEvent(event) {
956
+ this._processLinkCreateEvents$.next(event);
957
+ }
958
+ sendProcessLinkDeleteEvent(event) {
959
+ this._processLinkDeleteEvents$.next(event);
960
+ }
879
961
  openAvailableProcessLinkTypesSubscription() {
880
962
  this._availableProcessLinkTypesSubscription = this._availableProcessLinkTypes$.subscribe(availableProcessLinkTypes => {
881
963
  if (availableProcessLinkTypes.length > 1) {
@@ -891,11 +973,14 @@ class ProcessLinkStateService {
891
973
  this.clearSelectedProcessLinkType();
892
974
  this.deselectProcessLink();
893
975
  }
894
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ProcessLinkStateService, deps: [{ token: ProcessLinkStepService }, { token: ProcessLinkButtonService }, { token: PluginStateService }, { token: FORM_CUSTOM_COMPONENT_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
895
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ProcessLinkStateService }); }
976
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ProcessLinkStateService, deps: [{ token: ProcessLinkStepService }, { token: ProcessLinkButtonService }, { token: PluginStateService }, { token: FORM_CUSTOM_COMPONENT_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
977
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ProcessLinkStateService, providedIn: 'root' }); }
896
978
  }
897
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ProcessLinkStateService, decorators: [{
898
- type: Injectable
979
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ProcessLinkStateService, decorators: [{
980
+ type: Injectable,
981
+ args: [{
982
+ providedIn: 'root',
983
+ }]
899
984
  }], ctorParameters: () => [{ type: ProcessLinkStepService }, { type: ProcessLinkButtonService }, { type: PluginStateService }, { type: undefined, decorators: [{
900
985
  type: Optional
901
986
  }, {
@@ -904,7 +989,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
904
989
  }] }] });
905
990
 
906
991
  /*
907
- * Copyright 2015-2024 Ritense BV, the Netherlands.
992
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
908
993
  *
909
994
  * Licensed under EUPL, Version 1.2 (the "License");
910
995
  * you may not use this file except in compliance with the License.
@@ -930,10 +1015,10 @@ class FormFlowComponentService {
930
1015
  setSupportedComponents(supportedComponents) {
931
1016
  this._supportedComponents$.next(supportedComponents);
932
1017
  }
933
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormFlowComponentService, deps: [{ token: FORM_FLOW_COMPONENT_TOKEN }], target: i0.ɵɵFactoryTarget.Injectable }); }
934
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormFlowComponentService, providedIn: 'root' }); }
1018
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FormFlowComponentService, deps: [{ token: FORM_FLOW_COMPONENT_TOKEN }], target: i0.ɵɵFactoryTarget.Injectable }); }
1019
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FormFlowComponentService, providedIn: 'root' }); }
935
1020
  }
936
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormFlowComponentService, decorators: [{
1021
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FormFlowComponentService, decorators: [{
937
1022
  type: Injectable,
938
1023
  args: [{
939
1024
  providedIn: 'root',
@@ -944,7 +1029,61 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
944
1029
  }] }] });
945
1030
 
946
1031
  /*
947
- * Copyright 2015-2024 Ritense BV, the Netherlands.
1032
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
1033
+ *
1034
+ * Licensed under EUPL, Version 1.2 (the "License");
1035
+ * you may not use this file except in compliance with the License.
1036
+ * You may obtain a copy of the License at
1037
+ *
1038
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
1039
+ *
1040
+ * Unless required by applicable law or agreed to in writing, software
1041
+ * distributed under the License is distributed on an "AS IS" basis,
1042
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1043
+ * See the License for the specific language governing permissions and
1044
+ * limitations under the License.
1045
+ */
1046
+ class UrlResolverService {
1047
+ resolveUrlVariables(url, variables) {
1048
+ let resolvingUrl = url;
1049
+ Object.keys(variables).forEach(key => {
1050
+ let value = variables[key];
1051
+ resolvingUrl = resolvingUrl.replace('<' + key + '>', value);
1052
+ });
1053
+ return resolvingUrl;
1054
+ }
1055
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: UrlResolverService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1056
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: UrlResolverService }); }
1057
+ }
1058
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: UrlResolverService, decorators: [{
1059
+ type: Injectable
1060
+ }] });
1061
+
1062
+ class UrlValidatorService {
1063
+ constructor(urlResolverService) {
1064
+ this.urlResolverService = urlResolverService;
1065
+ }
1066
+ urlValidator(variables) {
1067
+ return (control) => {
1068
+ const url = this.urlResolverService.resolveUrlVariables(control.value, variables);
1069
+ try {
1070
+ new URL(url);
1071
+ return null;
1072
+ }
1073
+ catch (_) {
1074
+ return { invalidUrl: url };
1075
+ }
1076
+ };
1077
+ }
1078
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: UrlValidatorService, deps: [{ token: UrlResolverService }], target: i0.ɵɵFactoryTarget.Injectable }); }
1079
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: UrlValidatorService }); }
1080
+ }
1081
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: UrlValidatorService, decorators: [{
1082
+ type: Injectable
1083
+ }], ctorParameters: () => [{ type: UrlResolverService }] });
1084
+
1085
+ /*
1086
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
948
1087
  *
949
1088
  * Licensed under EUPL, Version 1.2 (the "License");
950
1089
  * you may not use this file except in compliance with the License.
@@ -960,7 +1099,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
960
1099
  */
961
1100
 
962
1101
  /*
963
- * Copyright 2015-2024 Ritense BV, the Netherlands.
1102
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
964
1103
  *
965
1104
  * Licensed under EUPL, Version 1.2 (the "License");
966
1105
  * you may not use this file except in compliance with the License.
@@ -987,7 +1126,7 @@ class SelectPluginConfigurationComponent {
987
1126
  ? this.pluginManagementService.getAllPluginConfigurationsWithLogos(modalData?.element?.activityListenerType)
988
1127
  : of(undefined),
989
1128
  this.pluginService.availablePluginIds$,
990
- ]).pipe(map$1(([pluginConfigurations, availablePluginIds]) => pluginConfigurations?.filter(configuration => availablePluginIds.includes(configuration.pluginDefinition.key))))));
1129
+ ]).pipe(map(([pluginConfigurations, availablePluginIds]) => pluginConfigurations?.filter(configuration => availablePluginIds.includes(configuration.pluginDefinition.key))))));
991
1130
  this.selectedPluginConfiguration$ = this.pluginStateService.selectedPluginConfiguration$;
992
1131
  this._subscriptions = new Subscription();
993
1132
  }
@@ -1016,16 +1155,16 @@ class SelectPluginConfigurationComponent {
1016
1155
  this.stepService.setChoosePluginActionSteps();
1017
1156
  }));
1018
1157
  }
1019
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectPluginConfigurationComponent, deps: [{ token: i1$2.PluginManagementService }, { token: PluginStateService }, { token: i1$2.PluginService }, { token: ProcessLinkStateService }, { token: ProcessLinkButtonService }, { token: ProcessLinkStepService }], target: i0.ɵɵFactoryTarget.Component }); }
1020
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SelectPluginConfigurationComponent, selector: "valtimo-select-plugin-configuration", 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 *ngIf=\"pluginConfigurations$ | async as pluginConfigurations; else loading\">\n <p class=\"step-description\">\n {{ 'processLinkConfiguration.choosePluginConfigurationDescription' | translate }}\n </p>\n <div class=\"list-container\">\n <cds-structured-list (selected)=\"selected($event)\" selection=\"true\">\n <cds-list-header>\n <cds-list-column nowrap=\"true\"></cds-list-column>\n <cds-list-column nowrap=\"true\">{{\n 'pluginManagement.labels.configurationName' | translate\n }}</cds-list-column>\n <cds-list-column>{{\n 'processLinkConfiguration.pluginDescription' | translate\n }}</cds-list-column>\n </cds-list-header>\n <cds-list-row\n *ngFor=\"let pluginConfiguration of pluginConfigurations\"\n [value]=\"pluginConfiguration\"\n >\n <cds-list-column>\n <div *ngIf=\"pluginConfiguration.pluginLogoBase64\">\n <img\n [src]=\"pluginConfiguration.pluginLogoBase64\"\n [title]=\"'title' | pluginTranslate: pluginConfiguration.pluginDefinition.key | async\"\n class=\"plugin-configuration-logo\"\n /></div\n ></cds-list-column>\n <cds-list-column>{{ pluginConfiguration.title }}</cds-list-column>\n <cds-list-column>\n {{ 'description' | pluginTranslate: pluginConfiguration.pluginDefinition.key | async }}\n </cds-list-column>\n </cds-list-row>\n </cds-structured-list>\n </div>\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: [".btn-back{position:absolute}.cards-container{display:flex;flex-flow:row wrap;width:100%}.card{width:calc(33.3% - 20px);margin-right:30px}.card:nth-child(3n+3){margin-right:0}.card-header{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plugin-configuration-logo{object-fit:contain;height:60px;width:100%;margin-bottom:-.5rem}.loading-container{display:flex;justify-content:center;margin-top:40px;flex-direction:row}.list-container{margin-top:32px;margin-bottom:32px}::ng-deep .list-container .cds--structured-list-td{vertical-align:top}\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: i3$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "component", type: i4.StructuredList, selector: "cds-structured-list, ibm-structured-list", inputs: ["selection", "flushed", "condensed", "name", "skeleton"], outputs: ["selected"] }, { kind: "component", type: i4.ListRow, selector: "cds-list-row, ibm-list-row", inputs: ["selected", "label", "value"], outputs: ["change"] }, { kind: "component", type: i4.ListHeader, selector: "cds-list-header, ibm-list-header", inputs: ["skeleton"] }, { kind: "component", type: i4.ListColumn, selector: "cds-list-column, ibm-list-column", inputs: ["skeleton", "nowrap"] }, { kind: "pipe", type: i3$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "pipe", type: i1$2.PluginTranslatePipe, name: "pluginTranslate" }] }); }
1158
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SelectPluginConfigurationComponent, deps: [{ token: i1$1.PluginManagementService }, { token: PluginStateService }, { token: i1$1.PluginService }, { token: ProcessLinkStateService }, { token: ProcessLinkButtonService }, { token: ProcessLinkStepService }], target: i0.ɵɵFactoryTarget.Component }); }
1159
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: SelectPluginConfigurationComponent, isStandalone: false, selector: "valtimo-select-plugin-configuration", 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<ng-container *ngIf=\"pluginConfigurations$ | async as pluginConfigurations; else loading\">\n <p class=\"step-description\">\n {{ 'processLinkConfiguration.choosePluginConfigurationDescription' | translate }}\n </p>\n <div class=\"list-container\">\n <cds-structured-list (selected)=\"selected($event)\" selection=\"true\">\n <cds-list-header>\n <cds-list-column nowrap=\"true\"></cds-list-column>\n <cds-list-column nowrap=\"true\">{{\n 'pluginManagement.labels.configurationName' | translate\n }}</cds-list-column>\n <cds-list-column>{{\n 'processLinkConfiguration.pluginDescription' | translate\n }}</cds-list-column>\n </cds-list-header>\n <cds-list-row\n *ngFor=\"let pluginConfiguration of pluginConfigurations\"\n [value]=\"pluginConfiguration\"\n >\n <cds-list-column>\n <div *ngIf=\"pluginConfiguration.pluginLogoBase64\">\n <img\n [src]=\"pluginConfiguration.pluginLogoBase64\"\n [title]=\"'title' | pluginTranslate: pluginConfiguration.pluginDefinition.key | async\"\n class=\"plugin-configuration-logo\"\n /></div\n ></cds-list-column>\n <cds-list-column>{{ pluginConfiguration.title }}</cds-list-column>\n <cds-list-column>\n {{ 'description' | pluginTranslate: pluginConfiguration.pluginDefinition.key | async }}\n </cds-list-column>\n </cds-list-row>\n </cds-structured-list>\n </div>\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: [".btn-back{position:absolute}.cards-container{display:flex;flex-flow:row wrap;width:100%}.card{width:calc(33.3% - 20px);margin-right:30px}.card:nth-child(3n+3){margin-right:0}.card-header{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plugin-configuration-logo{object-fit:contain;height:60px;width:100%;margin-bottom:-.5rem}.loading-container{display:flex;justify-content:center;margin-top:40px;flex-direction:row}.list-container{margin-top:32px;margin-bottom:32px}::ng-deep .list-container .cds--structured-list-td{vertical-align:top}\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: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "component", type: i4.StructuredList, selector: "cds-structured-list, ibm-structured-list", inputs: ["selection", "flushed", "condensed", "name", "skeleton"], outputs: ["selected"] }, { kind: "component", type: i4.ListRow, selector: "cds-list-row, ibm-list-row", inputs: ["selected", "label", "value"], outputs: ["change"] }, { kind: "component", type: i4.ListHeader, selector: "cds-list-header, ibm-list-header", inputs: ["skeleton"] }, { kind: "component", type: i4.ListColumn, selector: "cds-list-column, ibm-list-column", inputs: ["skeleton", "nowrap"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i2$1.TranslatePipe, name: "translate" }, { kind: "pipe", type: i1$1.PluginTranslatePipe, name: "pluginTranslate" }] }); }
1021
1160
  }
1022
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectPluginConfigurationComponent, decorators: [{
1161
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SelectPluginConfigurationComponent, decorators: [{
1023
1162
  type: Component,
1024
- args: [{ selector: 'valtimo-select-plugin-configuration', 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 *ngIf=\"pluginConfigurations$ | async as pluginConfigurations; else loading\">\n <p class=\"step-description\">\n {{ 'processLinkConfiguration.choosePluginConfigurationDescription' | translate }}\n </p>\n <div class=\"list-container\">\n <cds-structured-list (selected)=\"selected($event)\" selection=\"true\">\n <cds-list-header>\n <cds-list-column nowrap=\"true\"></cds-list-column>\n <cds-list-column nowrap=\"true\">{{\n 'pluginManagement.labels.configurationName' | translate\n }}</cds-list-column>\n <cds-list-column>{{\n 'processLinkConfiguration.pluginDescription' | translate\n }}</cds-list-column>\n </cds-list-header>\n <cds-list-row\n *ngFor=\"let pluginConfiguration of pluginConfigurations\"\n [value]=\"pluginConfiguration\"\n >\n <cds-list-column>\n <div *ngIf=\"pluginConfiguration.pluginLogoBase64\">\n <img\n [src]=\"pluginConfiguration.pluginLogoBase64\"\n [title]=\"'title' | pluginTranslate: pluginConfiguration.pluginDefinition.key | async\"\n class=\"plugin-configuration-logo\"\n /></div\n ></cds-list-column>\n <cds-list-column>{{ pluginConfiguration.title }}</cds-list-column>\n <cds-list-column>\n {{ 'description' | pluginTranslate: pluginConfiguration.pluginDefinition.key | async }}\n </cds-list-column>\n </cds-list-row>\n </cds-structured-list>\n </div>\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: [".btn-back{position:absolute}.cards-container{display:flex;flex-flow:row wrap;width:100%}.card{width:calc(33.3% - 20px);margin-right:30px}.card:nth-child(3n+3){margin-right:0}.card-header{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plugin-configuration-logo{object-fit:contain;height:60px;width:100%;margin-bottom:-.5rem}.loading-container{display:flex;justify-content:center;margin-top:40px;flex-direction:row}.list-container{margin-top:32px;margin-bottom:32px}::ng-deep .list-container .cds--structured-list-td{vertical-align:top}\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"] }]
1025
- }], ctorParameters: () => [{ type: i1$2.PluginManagementService }, { type: PluginStateService }, { type: i1$2.PluginService }, { type: ProcessLinkStateService }, { type: ProcessLinkButtonService }, { type: ProcessLinkStepService }] });
1163
+ args: [{ standalone: false, selector: 'valtimo-select-plugin-configuration', 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<ng-container *ngIf=\"pluginConfigurations$ | async as pluginConfigurations; else loading\">\n <p class=\"step-description\">\n {{ 'processLinkConfiguration.choosePluginConfigurationDescription' | translate }}\n </p>\n <div class=\"list-container\">\n <cds-structured-list (selected)=\"selected($event)\" selection=\"true\">\n <cds-list-header>\n <cds-list-column nowrap=\"true\"></cds-list-column>\n <cds-list-column nowrap=\"true\">{{\n 'pluginManagement.labels.configurationName' | translate\n }}</cds-list-column>\n <cds-list-column>{{\n 'processLinkConfiguration.pluginDescription' | translate\n }}</cds-list-column>\n </cds-list-header>\n <cds-list-row\n *ngFor=\"let pluginConfiguration of pluginConfigurations\"\n [value]=\"pluginConfiguration\"\n >\n <cds-list-column>\n <div *ngIf=\"pluginConfiguration.pluginLogoBase64\">\n <img\n [src]=\"pluginConfiguration.pluginLogoBase64\"\n [title]=\"'title' | pluginTranslate: pluginConfiguration.pluginDefinition.key | async\"\n class=\"plugin-configuration-logo\"\n /></div\n ></cds-list-column>\n <cds-list-column>{{ pluginConfiguration.title }}</cds-list-column>\n <cds-list-column>\n {{ 'description' | pluginTranslate: pluginConfiguration.pluginDefinition.key | async }}\n </cds-list-column>\n </cds-list-row>\n </cds-structured-list>\n </div>\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: [".btn-back{position:absolute}.cards-container{display:flex;flex-flow:row wrap;width:100%}.card{width:calc(33.3% - 20px);margin-right:30px}.card:nth-child(3n+3){margin-right:0}.card-header{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plugin-configuration-logo{object-fit:contain;height:60px;width:100%;margin-bottom:-.5rem}.loading-container{display:flex;justify-content:center;margin-top:40px;flex-direction:row}.list-container{margin-top:32px;margin-bottom:32px}::ng-deep .list-container .cds--structured-list-td{vertical-align:top}\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"] }]
1164
+ }], ctorParameters: () => [{ type: i1$1.PluginManagementService }, { type: PluginStateService }, { type: i1$1.PluginService }, { type: ProcessLinkStateService }, { type: ProcessLinkButtonService }, { type: ProcessLinkStepService }] });
1026
1165
 
1027
1166
  /*
1028
- * Copyright 2015-2024 Ritense BV, the Netherlands.
1167
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
1029
1168
  *
1030
1169
  * Licensed under EUPL, Version 1.2 (the "License");
1031
1170
  * you may not use this file except in compliance with the License.
@@ -1040,13 +1179,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
1040
1179
  * limitations under the License.
1041
1180
  */
1042
1181
  class SelectPluginActionComponent {
1043
- constructor(buttonService, pluginManagementService, stateService, stepService) {
1182
+ constructor(buttonService, pluginManagementService, stateService, stepService, processLinkStateService) {
1044
1183
  this.buttonService = buttonService;
1045
1184
  this.pluginManagementService = pluginManagementService;
1046
1185
  this.stateService = stateService;
1047
1186
  this.stepService = stepService;
1048
- this.pluginFunctions$ = this.stateService.selectedPluginDefinition$.pipe(switchMap$1(selectedDefinition => selectedDefinition
1049
- ? this.pluginManagementService.getPluginFunctions(selectedDefinition.key)
1187
+ this.processLinkStateService = processLinkStateService;
1188
+ this.pluginFunctions$ = combineLatest([
1189
+ this.stateService.selectedPluginDefinition$,
1190
+ this.processLinkStateService.modalParams$,
1191
+ ]).pipe(switchMap$1(([selectedDefinition, modalParams]) => selectedDefinition
1192
+ ? this.pluginManagementService.getPluginFunctions(selectedDefinition.key, modalParams.element.activityListenerType)
1050
1193
  : of(undefined)));
1051
1194
  this.selectedPluginDefinition$ = this.stateService.selectedPluginDefinition$;
1052
1195
  this.selectedPluginFunction$ = this.stateService.selectedPluginFunction$;
@@ -1059,151 +1202,38 @@ class SelectPluginActionComponent {
1059
1202
  ngOnDestroy() {
1060
1203
  this._subscriptions.unsubscribe();
1061
1204
  }
1062
- selectFunction(pluginFunction) {
1063
- this.stateService.selectPluginFunction(pluginFunction);
1064
- }
1065
- selected(event) {
1066
- this.selectFunction(JSON.parse(event.value));
1067
- this.buttonService.enableNextButton();
1068
- }
1069
- stringify(object) {
1070
- return JSON.stringify(object);
1071
- }
1072
- openBackButtonSubscription() {
1073
- this.buttonService.backButtonClick$
1074
- .pipe(switchMap$1(() => this.stepService.hasOneProcessLinkType$), take(1))
1075
- .subscribe((hasOneOption) => {
1076
- this.stepService.setProcessLinkTypeSteps('plugin', hasOneOption);
1077
- });
1078
- }
1079
- openNextButtonSubscription() {
1080
- this._subscriptions.add(this.buttonService.nextButtonClick$.subscribe(() => {
1081
- this.stepService.setConfigurePluginActionSteps();
1082
- }));
1083
- }
1084
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectPluginActionComponent, deps: [{ token: ProcessLinkButtonService }, { token: i1$2.PluginManagementService }, { token: PluginStateService }, { token: ProcessLinkStepService }], target: i0.ɵɵFactoryTarget.Component }); }
1085
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SelectPluginActionComponent, selector: "valtimo-select-plugin-action", 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 *ngIf=\"pluginFunctions$ | async as pluginFunctions; else loading\">\n <div class=\"choose-plugin-action\" *ngIf=\"pluginFunctions?.length > 0\">\n <p class=\"step-description\">\n {{ 'processLinkConfiguration.choosePluginActionDescription' | translate }}\n </p>\n <div class=\"action-tiles\">\n <cds-tile-group\n [multiple]=\"false\"\n *ngIf=\"{selectedPluginDefinition: selectedPluginDefinition$ | async} as obs\"\n (selected)=\"selected($event)\"\n >\n <cds-selection-tile\n *ngFor=\"let pluginFunction of pluginFunctions\"\n [value]=\"stringify(pluginFunction)\"\n [selected]=\"false\"\n >{{\n pluginFunction.key | pluginTranslate: obs.selectedPluginDefinition.key | async\n }}</cds-selection-tile\n >\n </cds-tile-group>\n </div>\n </div>\n <ng-container *ngIf=\"!pluginFunctions || pluginFunctions?.length === 0\">\n <ng-container *ngTemplateOutlet=\"noPluginFunctionsTemplate\"> </ng-container>\n </ng-container>\n</ng-container>\n\n<ng-template #noPluginFunctionsTemplate>\n <p class=\"step-description\">\n {{ 'processLink.noPluginFunctions' | translate }}\n </p>\n</ng-template>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n", styles: [".btn-back{position:absolute}.cards-container{display:flex;flex-flow:row wrap;width:100%}.card{width:calc(33.3% - 20px);margin-right:30px}.card:nth-child(3n+3){margin-right:0}.card-header{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.loading-container{display:flex;justify-content:center;margin-top:40px;flex-direction:row}.action-tiles{margin-top:24px;width:calc(100% + 8px);margin-left:-8px}::ng-deep .choose-plugin-action cds-selection-tile{display:flex;width:calc(33.3% - 8px)}::ng-deep .choose-plugin-action .cds--tile{width:100%}::ng-deep .choose-plugin-action cds-tile-group fieldset{display:flex;flex-direction:row;flex-wrap:wrap}::ng-deep .choose-plugin-action cds-selection-tile{margin-left:8px}::ng-deep .choose-plugin-action cds-selection-tile:nth-child(n+4){margin-top:8px}::ng-deep .action-tiles .cds--tile{background-color:var(--cds-layer-02, #ffffff)}::ng-deep .action-tiles .cds--tile:hover{background:var(--cds-layer-hover)}\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: i3$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "component", type: i4.SelectionTile, selector: "cds-selection-tile, ibm-selection-tile", inputs: ["theme", "id", "selected", "value", "disabled"], outputs: ["change"] }, { kind: "component", type: i4.TileGroup, selector: "cds-tile-group, ibm-tile-group", inputs: ["name", "multiple", "legend"], outputs: ["selected"] }, { kind: "pipe", type: i3$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "pipe", type: i1$2.PluginTranslatePipe, name: "pluginTranslate" }] }); }
1086
- }
1087
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectPluginActionComponent, decorators: [{
1088
- type: Component,
1089
- args: [{ selector: 'valtimo-select-plugin-action', 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 *ngIf=\"pluginFunctions$ | async as pluginFunctions; else loading\">\n <div class=\"choose-plugin-action\" *ngIf=\"pluginFunctions?.length > 0\">\n <p class=\"step-description\">\n {{ 'processLinkConfiguration.choosePluginActionDescription' | translate }}\n </p>\n <div class=\"action-tiles\">\n <cds-tile-group\n [multiple]=\"false\"\n *ngIf=\"{selectedPluginDefinition: selectedPluginDefinition$ | async} as obs\"\n (selected)=\"selected($event)\"\n >\n <cds-selection-tile\n *ngFor=\"let pluginFunction of pluginFunctions\"\n [value]=\"stringify(pluginFunction)\"\n [selected]=\"false\"\n >{{\n pluginFunction.key | pluginTranslate: obs.selectedPluginDefinition.key | async\n }}</cds-selection-tile\n >\n </cds-tile-group>\n </div>\n </div>\n <ng-container *ngIf=\"!pluginFunctions || pluginFunctions?.length === 0\">\n <ng-container *ngTemplateOutlet=\"noPluginFunctionsTemplate\"> </ng-container>\n </ng-container>\n</ng-container>\n\n<ng-template #noPluginFunctionsTemplate>\n <p class=\"step-description\">\n {{ 'processLink.noPluginFunctions' | translate }}\n </p>\n</ng-template>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n", styles: [".btn-back{position:absolute}.cards-container{display:flex;flex-flow:row wrap;width:100%}.card{width:calc(33.3% - 20px);margin-right:30px}.card:nth-child(3n+3){margin-right:0}.card-header{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.loading-container{display:flex;justify-content:center;margin-top:40px;flex-direction:row}.action-tiles{margin-top:24px;width:calc(100% + 8px);margin-left:-8px}::ng-deep .choose-plugin-action cds-selection-tile{display:flex;width:calc(33.3% - 8px)}::ng-deep .choose-plugin-action .cds--tile{width:100%}::ng-deep .choose-plugin-action cds-tile-group fieldset{display:flex;flex-direction:row;flex-wrap:wrap}::ng-deep .choose-plugin-action cds-selection-tile{margin-left:8px}::ng-deep .choose-plugin-action cds-selection-tile:nth-child(n+4){margin-top:8px}::ng-deep .action-tiles .cds--tile{background-color:var(--cds-layer-02, #ffffff)}::ng-deep .action-tiles .cds--tile:hover{background:var(--cds-layer-hover)}\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"] }]
1090
- }], ctorParameters: () => [{ type: ProcessLinkButtonService }, { type: i1$2.PluginManagementService }, { type: PluginStateService }, { type: ProcessLinkStepService }] });
1091
-
1092
- /*
1093
- * Copyright 2015-2024 Ritense BV, the Netherlands.
1094
- *
1095
- * Licensed under EUPL, Version 1.2 (the "License");
1096
- * you may not use this file except in compliance with the License.
1097
- * You may obtain a copy of the License at
1098
- *
1099
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
1100
- *
1101
- * Unless required by applicable law or agreed to in writing, software
1102
- * distributed under the License is distributed on an "AS IS" basis,
1103
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1104
- * See the License for the specific language governing permissions and
1105
- * limitations under the License.
1106
- */
1107
- class SelectUrlComponent {
1108
- get url() {
1109
- return this.urlForm.get('url');
1110
- }
1111
- constructor(stateService, buttonService, processLinkService, urlValidatorService, urlResolverService, alertService) {
1112
- this.stateService = stateService;
1113
- this.buttonService = buttonService;
1114
- this.processLinkService = processLinkService;
1115
- this.urlValidatorService = urlValidatorService;
1116
- this.urlResolverService = urlResolverService;
1117
- this.alertService = alertService;
1118
- this.urlForm = new FormGroup({
1119
- url: new FormControl('', Validators.required),
1120
- });
1121
- this._subscriptions = new Subscription();
1122
- }
1123
- ngOnInit() {
1124
- this.openBackButtonSubscription();
1125
- this.openSaveButtonSubscription();
1126
- this._subscriptions.add(this.urlForm.statusChanges.pipe(distinctUntilChanged()).subscribe(status => {
1127
- if (status === 'VALID') {
1128
- this.buttonService.enableSaveButton();
1129
- }
1130
- else {
1131
- this.buttonService.disableSaveButton();
1132
- }
1133
- }));
1134
- this.stateService.url$.subscribe(url => this.url.setValue(url));
1135
- this.processLinkService.getVariables().subscribe(urlVariables => {
1136
- this.url.addValidators(this.urlValidatorService.urlValidator(urlVariables.variables));
1137
- this.variables = urlVariables.variables;
1138
- });
1139
- }
1140
- ngOnDestroy() {
1141
- this._subscriptions.unsubscribe();
1142
- }
1143
- openBackButtonSubscription() {
1144
- this._subscriptions.add(this.buttonService.backButtonClick$.subscribe(() => {
1145
- this.stateService.setInitial();
1146
- }));
1147
- }
1148
- openSaveButtonSubscription() {
1149
- this._subscriptions.add(this.buttonService.saveButtonClick$.subscribe(() => {
1150
- this.stateService.startSaving();
1151
- this.saveProcessLink();
1152
- }));
1153
- }
1154
- saveProcessLink() {
1155
- this.stateService.selectedProcessLink$.pipe(take(1)).subscribe(selectedProcessLink => {
1156
- if (selectedProcessLink) {
1157
- this.updateProcessLink();
1158
- }
1159
- else {
1160
- this.saveNewProcessLink();
1161
- }
1162
- });
1163
- }
1164
- updateProcessLink() {
1165
- this.stateService.selectedProcessLink$.pipe(take(1)).subscribe(selectedProcessLink => {
1166
- const updateProcessLinkRequest = {
1167
- id: selectedProcessLink.id,
1168
- url: this.url.value,
1169
- };
1170
- this.processLinkService.updateProcessLink(updateProcessLinkRequest).subscribe(() => {
1171
- this.stateService.closeModal();
1172
- }, () => {
1173
- this.stateService.stopSaving();
1174
- });
1175
- });
1205
+ selectFunction(pluginFunction) {
1206
+ this.stateService.selectPluginFunction(pluginFunction);
1176
1207
  }
1177
- saveNewProcessLink() {
1178
- combineLatest([this.stateService.modalParams$, this.stateService.selectedProcessLinkTypeId$])
1179
- .pipe(take(1), switchMap(([modalParams, processLinkTypeId]) => this.processLinkService.saveProcessLink({
1180
- url: this.url.value,
1181
- activityType: modalParams.element.activityListenerType,
1182
- processDefinitionId: modalParams.processDefinitionId,
1183
- processLinkType: processLinkTypeId,
1184
- activityId: modalParams.element.id,
1185
- })))
1186
- .subscribe({
1187
- complete: () => this.stateService.closeModal(),
1188
- error: () => {
1189
- this.alertService.error('Failed to save process link');
1190
- this.stateService.stopSaving();
1191
- },
1208
+ selected(event) {
1209
+ this.selectFunction(JSON.parse(event.value));
1210
+ this.buttonService.enableNextButton();
1211
+ }
1212
+ stringify(object) {
1213
+ return JSON.stringify(object);
1214
+ }
1215
+ openBackButtonSubscription() {
1216
+ this.buttonService.backButtonClick$
1217
+ .pipe(switchMap$1(() => this.stepService.hasOneProcessLinkType$), take(1))
1218
+ .subscribe((hasOneOption) => {
1219
+ this.stepService.setProcessLinkTypeSteps('plugin', hasOneOption);
1192
1220
  });
1193
1221
  }
1194
- resolveUrlVariables(url) {
1195
- return this.urlResolverService.resolveUrlVariables(url, this.variables);
1222
+ openNextButtonSubscription() {
1223
+ this._subscriptions.add(this.buttonService.nextButtonClick$.subscribe(() => {
1224
+ this.stepService.setConfigurePluginActionSteps();
1225
+ }));
1196
1226
  }
1197
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectUrlComponent, deps: [{ token: ProcessLinkStateService }, { token: ProcessLinkButtonService }, { token: ProcessLinkService }, { token: UrlValidatorService }, { token: UrlResolverService }, { token: i4$1.AlertService }], target: i0.ɵɵFactoryTarget.Component }); }
1198
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SelectUrlComponent, selector: "valtimo-select-url", 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 [formGroup]=\"urlForm\">\n <cds-label\n [invalidText]=\"'processLinkUrlInvalid' | translate: {URL: url.errors?.invalidUrl ?? ''}\"\n [invalid]=\"url.invalid && url.touched\"\n [helperText]=\"url.invalid ? '' : resolveUrlVariables(url.value)\"\n >Url\n <input\n cdsText\n type=\"text\"\n required\n class=\"form-control\"\n formControlName=\"url\"\n [invalid]=\"url.invalid\"\n />\n </cds-label>\n</div>\n", dependencies: [{ kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "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: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
1227
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SelectPluginActionComponent, deps: [{ token: ProcessLinkButtonService }, { token: i1$1.PluginManagementService }, { token: PluginStateService }, { token: ProcessLinkStepService }, { token: ProcessLinkStateService }], target: i0.ɵɵFactoryTarget.Component }); }
1228
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: SelectPluginActionComponent, isStandalone: false, selector: "valtimo-select-plugin-action", 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<ng-container *ngIf=\"pluginFunctions$ | async as pluginFunctions; else loading\">\n <div class=\"choose-plugin-action\" *ngIf=\"pluginFunctions?.length > 0\">\n <p class=\"step-description\">\n {{ 'processLinkConfiguration.choosePluginActionDescription' | translate }}\n </p>\n <div class=\"action-tiles\">\n <cds-tile-group\n [multiple]=\"false\"\n *ngIf=\"{selectedPluginDefinition: selectedPluginDefinition$ | async} as obs\"\n (selected)=\"selected($event)\"\n >\n <cds-selection-tile\n *ngFor=\"let pluginFunction of pluginFunctions\"\n [value]=\"stringify(pluginFunction)\"\n [selected]=\"false\"\n >{{\n pluginFunction.key | pluginTranslate: obs.selectedPluginDefinition.key | async\n }}</cds-selection-tile\n >\n </cds-tile-group>\n </div>\n </div>\n <ng-container *ngIf=\"!pluginFunctions || pluginFunctions?.length === 0\">\n <ng-container *ngTemplateOutlet=\"noPluginFunctionsTemplate\"> </ng-container>\n </ng-container>\n</ng-container>\n\n<ng-template #noPluginFunctionsTemplate>\n <p class=\"step-description\">\n {{ 'processLink.noPluginFunctions' | translate }}\n </p>\n</ng-template>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n", styles: [".btn-back{position:absolute}.cards-container{display:flex;flex-flow:row wrap;width:100%}.card{width:calc(33.3% - 20px);margin-right:30px}.card:nth-child(3n+3){margin-right:0}.card-header{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.loading-container{display:flex;justify-content:center;margin-top:40px;flex-direction:row}.action-tiles{margin-top:24px;width:calc(100% + 8px);margin-left:-8px}::ng-deep .choose-plugin-action cds-selection-tile{display:flex;width:calc(33.3% - 8px)}::ng-deep .choose-plugin-action .cds--tile{width:100%}::ng-deep .choose-plugin-action cds-tile-group fieldset{display:flex;flex-direction:row;flex-wrap:wrap}::ng-deep .choose-plugin-action cds-selection-tile{margin-left:8px}::ng-deep .choose-plugin-action cds-selection-tile:nth-child(n+4){margin-top:8px}::ng-deep .action-tiles .cds--tile{background-color:var(--cds-layer-02, #ffffff)}::ng-deep .action-tiles .cds--tile:hover{background:var(--cds-layer-hover)}\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: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "component", type: i4.SelectionTile, selector: "cds-selection-tile, ibm-selection-tile", inputs: ["theme", "id", "selected", "value", "disabled"], outputs: ["change"] }, { kind: "component", type: i4.TileGroup, selector: "cds-tile-group, ibm-tile-group", inputs: ["name", "multiple", "legend"], outputs: ["selected"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i2$1.TranslatePipe, name: "translate" }, { kind: "pipe", type: i1$1.PluginTranslatePipe, name: "pluginTranslate" }] }); }
1199
1229
  }
1200
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectUrlComponent, decorators: [{
1230
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SelectPluginActionComponent, decorators: [{
1201
1231
  type: Component,
1202
- args: [{ selector: 'valtimo-select-url', 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 [formGroup]=\"urlForm\">\n <cds-label\n [invalidText]=\"'processLinkUrlInvalid' | translate: {URL: url.errors?.invalidUrl ?? ''}\"\n [invalid]=\"url.invalid && url.touched\"\n [helperText]=\"url.invalid ? '' : resolveUrlVariables(url.value)\"\n >Url\n <input\n cdsText\n type=\"text\"\n required\n class=\"form-control\"\n formControlName=\"url\"\n [invalid]=\"url.invalid\"\n />\n </cds-label>\n</div>\n" }]
1203
- }], ctorParameters: () => [{ type: ProcessLinkStateService }, { type: ProcessLinkButtonService }, { type: ProcessLinkService }, { type: UrlValidatorService }, { type: UrlResolverService }, { type: i4$1.AlertService }] });
1232
+ args: [{ standalone: false, selector: 'valtimo-select-plugin-action', 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<ng-container *ngIf=\"pluginFunctions$ | async as pluginFunctions; else loading\">\n <div class=\"choose-plugin-action\" *ngIf=\"pluginFunctions?.length > 0\">\n <p class=\"step-description\">\n {{ 'processLinkConfiguration.choosePluginActionDescription' | translate }}\n </p>\n <div class=\"action-tiles\">\n <cds-tile-group\n [multiple]=\"false\"\n *ngIf=\"{selectedPluginDefinition: selectedPluginDefinition$ | async} as obs\"\n (selected)=\"selected($event)\"\n >\n <cds-selection-tile\n *ngFor=\"let pluginFunction of pluginFunctions\"\n [value]=\"stringify(pluginFunction)\"\n [selected]=\"false\"\n >{{\n pluginFunction.key | pluginTranslate: obs.selectedPluginDefinition.key | async\n }}</cds-selection-tile\n >\n </cds-tile-group>\n </div>\n </div>\n <ng-container *ngIf=\"!pluginFunctions || pluginFunctions?.length === 0\">\n <ng-container *ngTemplateOutlet=\"noPluginFunctionsTemplate\"> </ng-container>\n </ng-container>\n</ng-container>\n\n<ng-template #noPluginFunctionsTemplate>\n <p class=\"step-description\">\n {{ 'processLink.noPluginFunctions' | translate }}\n </p>\n</ng-template>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n", styles: [".btn-back{position:absolute}.cards-container{display:flex;flex-flow:row wrap;width:100%}.card{width:calc(33.3% - 20px);margin-right:30px}.card:nth-child(3n+3){margin-right:0}.card-header{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.loading-container{display:flex;justify-content:center;margin-top:40px;flex-direction:row}.action-tiles{margin-top:24px;width:calc(100% + 8px);margin-left:-8px}::ng-deep .choose-plugin-action cds-selection-tile{display:flex;width:calc(33.3% - 8px)}::ng-deep .choose-plugin-action .cds--tile{width:100%}::ng-deep .choose-plugin-action cds-tile-group fieldset{display:flex;flex-direction:row;flex-wrap:wrap}::ng-deep .choose-plugin-action cds-selection-tile{margin-left:8px}::ng-deep .choose-plugin-action cds-selection-tile:nth-child(n+4){margin-top:8px}::ng-deep .action-tiles .cds--tile{background-color:var(--cds-layer-02, #ffffff)}::ng-deep .action-tiles .cds--tile:hover{background:var(--cds-layer-hover)}\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"] }]
1233
+ }], ctorParameters: () => [{ type: ProcessLinkButtonService }, { type: i1$1.PluginManagementService }, { type: PluginStateService }, { type: ProcessLinkStepService }, { type: ProcessLinkStateService }] });
1204
1234
 
1205
1235
  /*
1206
- * Copyright 2015-2024 Ritense BV, the Netherlands.
1236
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
1207
1237
  *
1208
1238
  * Licensed under EUPL, Version 1.2 (the "License");
1209
1239
  * you may not use this file except in compliance with the License.
@@ -1248,7 +1278,7 @@ class ImportPluginConfigurationComponent {
1248
1278
  this.processListItems$ = combineLatest([
1249
1279
  this._compatiblePluginProcessLinksSubject$,
1250
1280
  this.process.valueChanges.pipe(startWith('')),
1251
- ]).pipe(map(([compatibleProcessLinks, processValue]) => compatibleProcessLinks?.map(compatibleProcessLink => ({
1281
+ ]).pipe(map$1(([compatibleProcessLinks, processValue]) => compatibleProcessLinks?.map(compatibleProcessLink => ({
1252
1282
  content: compatibleProcessLink.processDefinitionKey,
1253
1283
  selected: processValue === compatibleProcessLink.processDefinitionKey,
1254
1284
  })) || []));
@@ -1256,7 +1286,7 @@ class ImportPluginConfigurationComponent {
1256
1286
  this._compatiblePluginProcessLinksSubject$,
1257
1287
  this.process.valueChanges.pipe(startWith('')),
1258
1288
  this.version.valueChanges.pipe(startWith('')),
1259
- ]).pipe(map(([compatibleProcessLinks, processValue, versionValue]) => !processValue
1289
+ ]).pipe(map$1(([compatibleProcessLinks, processValue, versionValue]) => !processValue
1260
1290
  ? []
1261
1291
  : compatibleProcessLinks
1262
1292
  .find(compatibleLinks => compatibleLinks.processDefinitionKey === processValue)
@@ -1270,7 +1300,7 @@ class ImportPluginConfigurationComponent {
1270
1300
  this.process.valueChanges.pipe(startWith('')),
1271
1301
  this.version.valueChanges.pipe(startWith('')),
1272
1302
  this.activity.valueChanges.pipe(startWith('')),
1273
- ]).pipe(map(([compatibleProcessLinks, processValue, versionValue, activityValue]) => !processValue || !versionValue
1303
+ ]).pipe(map$1(([compatibleProcessLinks, processValue, versionValue, activityValue]) => !processValue || !versionValue
1274
1304
  ? []
1275
1305
  : compatibleProcessLinks
1276
1306
  .find(compatibleLinks => compatibleLinks.processDefinitionKey === processValue)
@@ -1311,20 +1341,20 @@ class ImportPluginConfigurationComponent {
1311
1341
  activitySelected(event) {
1312
1342
  this.activity.setValue(event?.item?.content);
1313
1343
  }
1314
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ImportPluginConfigurationComponent, deps: [{ token: i5.FormBuilder }, { token: ProcessLinkService }, { token: i4.IconService }, { token: i4$1.CdsThemeService }], target: i0.ɵɵFactoryTarget.Component }); }
1315
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ImportPluginConfigurationComponent, selector: "valtimo-import-plugin-configuration", inputs: { pluginActionKey: "pluginActionKey" }, outputs: { configurationEvent: "configurationEvent" }, 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-toggletip align=\"right-bottom\" [autoAlign]=\"true\" [isOpen]=\"open$ | async\">\n <button\n class=\"process-link-configuration-import-button\"\n [disabled]=\"((compatiblePluginProcessLinks$ | async) || []).length === 0\"\n cdsToggletipButton\n [removeClassnames]=\"['cds--toggletip-button']\"\n cdsButton=\"ghost\"\n >\n {{ 'processLinkConfiguration.importConfiguration' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"upload\" size=\"16\"></svg>\n </button>\n\n <div\n cdsToggletipContent\n [attr.data-carbon-theme]=\"toggletipTheme$ | async\"\n class=\"process-link-configuration-select\"\n >\n <cds-dropdown\n [label]=\"'processLinkConfiguration.process' | translate\"\n [placeholder]=\"'processLinkConfiguration.selectProcess' | translate\"\n (selected)=\"processSelected($event)\"\n [appendInline]=\"true\"\n [cdsLayer]=\"1\"\n >\n <cds-dropdown-list\n [items]=\"processListItems$ | async\"\n onclick=\"event.stopPropagation()\"\n ></cds-dropdown-list>\n </cds-dropdown>\n\n <cds-dropdown\n [label]=\"'processLinkConfiguration.version' | translate\"\n [placeholder]=\"'processLinkConfiguration.selectVersion' | translate\"\n [disabled]=\"!process.value\"\n (selected)=\"versionSelected($event)\"\n [appendInline]=\"true\"\n [cdsLayer]=\"1\"\n >\n <cds-dropdown-list\n [items]=\"versionListItems$ | async\"\n onclick=\"event.stopPropagation()\"\n ></cds-dropdown-list>\n </cds-dropdown>\n\n <cds-dropdown\n [label]=\"'processLinkConfiguration.activity' | translate\"\n [placeholder]=\"'processLinkConfiguration.selectActivity' | translate\"\n [disabled]=\"!process.value || !version.value\"\n (selected)=\"activitySelected($event)\"\n [appendInline]=\"true\"\n [cdsLayer]=\"1\"\n >\n <cds-dropdown-list\n [items]=\"activityListItems$ | async\"\n onclick=\"event.stopPropagation()\"\n ></cds-dropdown-list>\n </cds-dropdown>\n\n <button cdsButton [disabled]=\"!importPluginForm.valid\" (click)=\"onSubmit()\" [cdsLayer]=\"1\">\n {{ 'processLinkConfiguration.importConfiguration' | translate }}\n </button>\n </div>\n</cds-toggletip>\n", styles: [":host ::ng-deep .cds--popover-content{max-inline-size:unset}.process-link-configuration-import-button{margin-bottom:16px}.process-link-configuration-select{width:400px;max-inline-size:400px;display:flex;flex-direction:column;gap:16px}.process-link-configuration-select .cds--btn{width:100%;max-width: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: 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: i5$1.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "hideLabel", "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: i5$1.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "directive", type: i4.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "component", type: i4.Toggletip, selector: "cds-toggletip, ibm-toggletip", inputs: ["id", "isOpen"] }, { kind: "directive", type: i4.ToggletipButton, selector: "[cdsToggletipButton], [ibmToggletipButton]", inputs: ["ariaLabel"] }, { kind: "directive", type: i4.ToggletipContent, selector: "[cdsToggletipContent], [ibmToggletipContent]" }, { kind: "directive", type: i4$1.RemoveClassnamesDirective, selector: "[removeClassnames]", inputs: ["removeClassnames"] }, { kind: "pipe", type: i3$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
1344
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ImportPluginConfigurationComponent, deps: [{ token: i1$2.FormBuilder }, { token: ProcessLinkService }, { token: i4.IconService }, { token: i2$2.CdsThemeService }], target: i0.ɵɵFactoryTarget.Component }); }
1345
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: ImportPluginConfigurationComponent, isStandalone: false, selector: "valtimo-import-plugin-configuration", inputs: { pluginActionKey: "pluginActionKey" }, outputs: { configurationEvent: "configurationEvent" }, 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-toggletip align=\"right-bottom\" [autoAlign]=\"true\" [isOpen]=\"open$ | async\">\n <button\n class=\"process-link-configuration-import-button\"\n [disabled]=\"((compatiblePluginProcessLinks$ | async) || []).length === 0\"\n cdsToggletipButton\n [removeClassnames]=\"['cds--toggletip-button']\"\n cdsButton=\"ghost\"\n >\n {{ 'processLinkConfiguration.importConfiguration' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"upload\" size=\"16\"></svg>\n </button>\n\n <div\n cdsToggletipContent\n [attr.data-carbon-theme]=\"toggletipTheme$ | async\"\n class=\"process-link-configuration-select\"\n >\n <cds-dropdown\n [label]=\"'processLinkConfiguration.process' | translate\"\n [placeholder]=\"'processLinkConfiguration.selectProcess' | translate\"\n (selected)=\"processSelected($event)\"\n [appendInline]=\"true\"\n [cdsLayer]=\"1\"\n >\n <cds-dropdown-list\n [items]=\"processListItems$ | async\"\n onclick=\"event.stopPropagation()\"\n ></cds-dropdown-list>\n </cds-dropdown>\n\n <cds-dropdown\n [label]=\"'processLinkConfiguration.version' | translate\"\n [placeholder]=\"'processLinkConfiguration.selectVersion' | translate\"\n [disabled]=\"!process.value\"\n (selected)=\"versionSelected($event)\"\n [appendInline]=\"true\"\n [cdsLayer]=\"1\"\n >\n <cds-dropdown-list\n [items]=\"versionListItems$ | async\"\n onclick=\"event.stopPropagation()\"\n ></cds-dropdown-list>\n </cds-dropdown>\n\n <cds-dropdown\n [label]=\"'processLinkConfiguration.activity' | translate\"\n [placeholder]=\"'processLinkConfiguration.selectActivity' | translate\"\n [disabled]=\"!process.value || !version.value\"\n (selected)=\"activitySelected($event)\"\n [appendInline]=\"true\"\n [cdsLayer]=\"1\"\n >\n <cds-dropdown-list\n [items]=\"activityListItems$ | async\"\n onclick=\"event.stopPropagation()\"\n ></cds-dropdown-list>\n </cds-dropdown>\n\n <button cdsButton [disabled]=\"!importPluginForm.valid\" (click)=\"onSubmit()\" [cdsLayer]=\"1\">\n {{ 'processLinkConfiguration.importConfiguration' | translate }}\n </button>\n </div>\n</cds-toggletip>\n", styles: [":host ::ng-deep .cds--popover-content{max-inline-size:unset}.process-link-configuration-import-button{margin-bottom:16px}.process-link-configuration-select{width:400px;max-inline-size:400px;display:flex;flex-direction:column;gap:16px}.process-link-configuration-select .cds--btn{width:100%;max-width:unset}\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: 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: i5.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "hideLabel", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "readonly", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp", "fluid"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i5.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "directive", type: i4.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "component", type: i4.Toggletip, selector: "cds-toggletip, ibm-toggletip", inputs: ["id", "isOpen"] }, { kind: "directive", type: i4.ToggletipButton, selector: "[cdsToggletipButton], [ibmToggletipButton]", inputs: ["ariaLabel"] }, { kind: "directive", type: i4.ToggletipContent, selector: "[cdsToggletipContent], [ibmToggletipContent]" }, { kind: "directive", type: i2$2.RemoveClassnamesDirective, selector: "[removeClassnames]", inputs: ["removeClassnames"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i2$1.TranslatePipe, name: "translate" }] }); }
1316
1346
  }
1317
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ImportPluginConfigurationComponent, decorators: [{
1347
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ImportPluginConfigurationComponent, decorators: [{
1318
1348
  type: Component,
1319
- args: [{ selector: 'valtimo-import-plugin-configuration', 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-toggletip align=\"right-bottom\" [autoAlign]=\"true\" [isOpen]=\"open$ | async\">\n <button\n class=\"process-link-configuration-import-button\"\n [disabled]=\"((compatiblePluginProcessLinks$ | async) || []).length === 0\"\n cdsToggletipButton\n [removeClassnames]=\"['cds--toggletip-button']\"\n cdsButton=\"ghost\"\n >\n {{ 'processLinkConfiguration.importConfiguration' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"upload\" size=\"16\"></svg>\n </button>\n\n <div\n cdsToggletipContent\n [attr.data-carbon-theme]=\"toggletipTheme$ | async\"\n class=\"process-link-configuration-select\"\n >\n <cds-dropdown\n [label]=\"'processLinkConfiguration.process' | translate\"\n [placeholder]=\"'processLinkConfiguration.selectProcess' | translate\"\n (selected)=\"processSelected($event)\"\n [appendInline]=\"true\"\n [cdsLayer]=\"1\"\n >\n <cds-dropdown-list\n [items]=\"processListItems$ | async\"\n onclick=\"event.stopPropagation()\"\n ></cds-dropdown-list>\n </cds-dropdown>\n\n <cds-dropdown\n [label]=\"'processLinkConfiguration.version' | translate\"\n [placeholder]=\"'processLinkConfiguration.selectVersion' | translate\"\n [disabled]=\"!process.value\"\n (selected)=\"versionSelected($event)\"\n [appendInline]=\"true\"\n [cdsLayer]=\"1\"\n >\n <cds-dropdown-list\n [items]=\"versionListItems$ | async\"\n onclick=\"event.stopPropagation()\"\n ></cds-dropdown-list>\n </cds-dropdown>\n\n <cds-dropdown\n [label]=\"'processLinkConfiguration.activity' | translate\"\n [placeholder]=\"'processLinkConfiguration.selectActivity' | translate\"\n [disabled]=\"!process.value || !version.value\"\n (selected)=\"activitySelected($event)\"\n [appendInline]=\"true\"\n [cdsLayer]=\"1\"\n >\n <cds-dropdown-list\n [items]=\"activityListItems$ | async\"\n onclick=\"event.stopPropagation()\"\n ></cds-dropdown-list>\n </cds-dropdown>\n\n <button cdsButton [disabled]=\"!importPluginForm.valid\" (click)=\"onSubmit()\" [cdsLayer]=\"1\">\n {{ 'processLinkConfiguration.importConfiguration' | translate }}\n </button>\n </div>\n</cds-toggletip>\n", styles: [":host ::ng-deep .cds--popover-content{max-inline-size:unset}.process-link-configuration-import-button{margin-bottom:16px}.process-link-configuration-select{width:400px;max-inline-size:400px;display:flex;flex-direction:column;gap:16px}.process-link-configuration-select .cds--btn{width:100%;max-width: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"] }]
1320
- }], ctorParameters: () => [{ type: i5.FormBuilder }, { type: ProcessLinkService }, { type: i4.IconService }, { type: i4$1.CdsThemeService }], propDecorators: { pluginActionKey: [{
1349
+ args: [{ standalone: false, selector: 'valtimo-import-plugin-configuration', 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-toggletip align=\"right-bottom\" [autoAlign]=\"true\" [isOpen]=\"open$ | async\">\n <button\n class=\"process-link-configuration-import-button\"\n [disabled]=\"((compatiblePluginProcessLinks$ | async) || []).length === 0\"\n cdsToggletipButton\n [removeClassnames]=\"['cds--toggletip-button']\"\n cdsButton=\"ghost\"\n >\n {{ 'processLinkConfiguration.importConfiguration' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"upload\" size=\"16\"></svg>\n </button>\n\n <div\n cdsToggletipContent\n [attr.data-carbon-theme]=\"toggletipTheme$ | async\"\n class=\"process-link-configuration-select\"\n >\n <cds-dropdown\n [label]=\"'processLinkConfiguration.process' | translate\"\n [placeholder]=\"'processLinkConfiguration.selectProcess' | translate\"\n (selected)=\"processSelected($event)\"\n [appendInline]=\"true\"\n [cdsLayer]=\"1\"\n >\n <cds-dropdown-list\n [items]=\"processListItems$ | async\"\n onclick=\"event.stopPropagation()\"\n ></cds-dropdown-list>\n </cds-dropdown>\n\n <cds-dropdown\n [label]=\"'processLinkConfiguration.version' | translate\"\n [placeholder]=\"'processLinkConfiguration.selectVersion' | translate\"\n [disabled]=\"!process.value\"\n (selected)=\"versionSelected($event)\"\n [appendInline]=\"true\"\n [cdsLayer]=\"1\"\n >\n <cds-dropdown-list\n [items]=\"versionListItems$ | async\"\n onclick=\"event.stopPropagation()\"\n ></cds-dropdown-list>\n </cds-dropdown>\n\n <cds-dropdown\n [label]=\"'processLinkConfiguration.activity' | translate\"\n [placeholder]=\"'processLinkConfiguration.selectActivity' | translate\"\n [disabled]=\"!process.value || !version.value\"\n (selected)=\"activitySelected($event)\"\n [appendInline]=\"true\"\n [cdsLayer]=\"1\"\n >\n <cds-dropdown-list\n [items]=\"activityListItems$ | async\"\n onclick=\"event.stopPropagation()\"\n ></cds-dropdown-list>\n </cds-dropdown>\n\n <button cdsButton [disabled]=\"!importPluginForm.valid\" (click)=\"onSubmit()\" [cdsLayer]=\"1\">\n {{ 'processLinkConfiguration.importConfiguration' | translate }}\n </button>\n </div>\n</cds-toggletip>\n", styles: [":host ::ng-deep .cds--popover-content{max-inline-size:unset}.process-link-configuration-import-button{margin-bottom:16px}.process-link-configuration-select{width:400px;max-inline-size:400px;display:flex;flex-direction:column;gap:16px}.process-link-configuration-select .cds--btn{width:100%;max-width:unset}\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"] }]
1350
+ }], ctorParameters: () => [{ type: i1$2.FormBuilder }, { type: ProcessLinkService }, { type: i4.IconService }, { type: i2$2.CdsThemeService }], propDecorators: { pluginActionKey: [{
1321
1351
  type: Input
1322
1352
  }], configurationEvent: [{
1323
1353
  type: Output
1324
1354
  }] } });
1325
1355
 
1326
1356
  /*
1327
- * Copyright 2015-2024 Ritense BV, the Netherlands.
1357
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
1328
1358
  *
1329
1359
  * Licensed under EUPL, Version 1.2 (the "License");
1330
1360
  * you may not use this file except in compliance with the License.
@@ -1352,11 +1382,11 @@ class PluginActionConfigurationComponent {
1352
1382
  this.save$ = this.pluginStateService.save$;
1353
1383
  this.saving$ = this.stateService.saving$;
1354
1384
  this._prefillConfigurationSubject$ = new BehaviorSubject(null);
1355
- this._prefillConfiguration$ = this.stateService.selectedProcessLink$.pipe(map$1(processLink => (processLink ? processLink?.actionProperties : undefined)));
1385
+ this._prefillConfiguration$ = this.stateService.selectedProcessLink$.pipe(map(processLink => (processLink ? processLink?.actionProperties : undefined)));
1356
1386
  this.prefillConfiguration$ = combineLatest([
1357
1387
  this._prefillConfigurationSubject$,
1358
1388
  this._prefillConfiguration$,
1359
- ]).pipe(map$1(([prefillConfigurationSubjectValue, prefillConfiguration]) => prefillConfigurationSubjectValue || prefillConfiguration));
1389
+ ]).pipe(map(([prefillConfigurationSubjectValue, prefillConfiguration]) => prefillConfigurationSubjectValue || prefillConfiguration));
1360
1390
  this._subscriptions = new Subscription();
1361
1391
  }
1362
1392
  ngOnInit() {
@@ -1367,12 +1397,10 @@ class PluginActionConfigurationComponent {
1367
1397
  this._subscriptions.unsubscribe();
1368
1398
  }
1369
1399
  onValid(valid) {
1370
- if (valid) {
1400
+ if (valid)
1371
1401
  this.buttonService.enableSaveButton();
1372
- }
1373
- else {
1402
+ else
1374
1403
  this.buttonService.disableSaveButton();
1375
- }
1376
1404
  }
1377
1405
  onConfiguration(configuration) {
1378
1406
  this.stateService.startSaving();
@@ -1392,10 +1420,15 @@ class PluginActionConfigurationComponent {
1392
1420
  this.stateService.selectedProcessLink$.pipe(take(1)).subscribe(selectedProcessLink => {
1393
1421
  const updateProcessLinkRequest = {
1394
1422
  id: selectedProcessLink.id,
1395
- pluginConfigurationId: selectedProcessLink.pluginConfigurationId,
1396
- pluginActionDefinitionKey: selectedProcessLink.pluginActionDefinitionKey,
1423
+ pluginConfigurationId: selectedProcessLink.pluginConfigurationId ?? '',
1424
+ pluginActionDefinitionKey: selectedProcessLink.pluginActionDefinitionKey ?? '',
1397
1425
  actionProperties: configuration,
1426
+ activityId: selectedProcessLink.activityId,
1398
1427
  };
1428
+ if (this.stateService.processLinkEditMode === ProcessLinkEditMode.EMIT_EVENTS) {
1429
+ this.stateService.sendProcessLinkUpdateEvent(updateProcessLinkRequest);
1430
+ return;
1431
+ }
1399
1432
  this.processLinkService.updateProcessLink(updateProcessLinkRequest).subscribe(() => {
1400
1433
  this.stateService.closeModal();
1401
1434
  }, () => {
@@ -1415,13 +1448,17 @@ class PluginActionConfigurationComponent {
1415
1448
  const processLinkRequest = {
1416
1449
  actionProperties: configuration,
1417
1450
  activityId: modalData?.element?.id,
1418
- activityType: modalData?.element?.activityListenerType,
1451
+ activityType: modalData?.element?.activityListenerType ?? '',
1419
1452
  pluginConfigurationId: selectedConfiguration.id,
1420
1453
  processDefinitionId: modalData?.processDefinitionId,
1421
1454
  pluginActionDefinitionKey: selectedFunction.key,
1422
1455
  processLinkType: selectedProcessLinkTypeId,
1423
1456
  };
1424
- this.processLinkService.saveProcessLink(processLinkRequest).subscribe(response => {
1457
+ if (this.stateService.processLinkEditMode === ProcessLinkEditMode.EMIT_EVENTS) {
1458
+ this.stateService.sendProcessLinkCreateEvent(processLinkRequest);
1459
+ return;
1460
+ }
1461
+ this.processLinkService.saveProcessLink(processLinkRequest).subscribe(() => {
1425
1462
  this.stateService.closeModal();
1426
1463
  }, () => {
1427
1464
  this.stateService.stopSaving();
@@ -1438,12 +1475,12 @@ class PluginActionConfigurationComponent {
1438
1475
  this.pluginStateService.save();
1439
1476
  }));
1440
1477
  }
1441
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PluginActionConfigurationComponent, deps: [{ token: ProcessLinkStateService }, { token: PluginStateService }, { token: ProcessLinkButtonService }, { token: ProcessLinkStepService }, { token: ProcessLinkService }], target: i0.ɵɵFactoryTarget.Component }); }
1442
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: PluginActionConfigurationComponent, selector: "valtimo-plugin-action-configuration", inputs: { selectedPluginConfiguration$: "selectedPluginConfiguration$" }, outputs: { valid: "valid", configuration: "configuration" }, 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-import-plugin-configuration\n [pluginActionKey]=\"functionKey$ | async\"\n (configurationEvent)=\"onImportConfiguration($event)\"\n></valtimo-import-plugin-configuration>\n\n<valtimo-plugin-configuration-container\n [pluginDefinitionKey]=\"pluginDefinitionKey$ | async\"\n [functionKey]=\"functionKey$ | async\"\n [save$]=\"save$\"\n [disabled$]=\"saving$\"\n [selectedPluginConfiguration$]=\"selectedPluginConfiguration$\"\n [prefillConfiguration$]=\"prefillConfiguration$\"\n (valid)=\"onValid($event)\"\n (configuration)=\"onConfiguration($event)\"\n type=\"function\"\n></valtimo-plugin-configuration-container>\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: "component", type: i1$2.PluginConfigurationContainerComponent, selector: "valtimo-plugin-configuration-container", inputs: ["type", "pluginDefinitionKey", "functionKey", "save$", "disabled$", "selectedPluginConfiguration$", "prefillConfiguration$"], outputs: ["valid", "configuration"] }, { kind: "component", type: ImportPluginConfigurationComponent, selector: "valtimo-import-plugin-configuration", inputs: ["pluginActionKey"], outputs: ["configurationEvent"] }, { kind: "pipe", type: i3$1.AsyncPipe, name: "async" }] }); }
1478
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: PluginActionConfigurationComponent, deps: [{ token: ProcessLinkStateService }, { token: PluginStateService }, { token: ProcessLinkButtonService }, { token: ProcessLinkStepService }, { token: ProcessLinkService }], target: i0.ɵɵFactoryTarget.Component }); }
1479
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: PluginActionConfigurationComponent, isStandalone: false, selector: "valtimo-plugin-action-configuration", inputs: { selectedPluginConfiguration$: "selectedPluginConfiguration$" }, outputs: { valid: "valid", configuration: "configuration" }, 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-import-plugin-configuration\n [pluginActionKey]=\"functionKey$ | async\"\n (configurationEvent)=\"onImportConfiguration($event)\"\n></valtimo-import-plugin-configuration>\n\n<valtimo-plugin-configuration-container\n [pluginDefinitionKey]=\"pluginDefinitionKey$ | async\"\n [functionKey]=\"functionKey$ | async\"\n [save$]=\"save$\"\n [disabled$]=\"saving$\"\n [selectedPluginConfiguration$]=\"selectedPluginConfiguration$\"\n [prefillConfiguration$]=\"prefillConfiguration$\"\n (valid)=\"onValid($event)\"\n (configuration)=\"onConfiguration($event)\"\n type=\"function\"\n></valtimo-plugin-configuration-container>\n", styles: ["/*!\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: "component", type: i1$1.PluginConfigurationContainerComponent, selector: "valtimo-plugin-configuration-container", inputs: ["type", "pluginDefinitionKey", "functionKey", "save$", "disabled$", "selectedPluginConfiguration$", "prefillConfiguration$"], outputs: ["valid", "configuration"] }, { kind: "component", type: ImportPluginConfigurationComponent, selector: "valtimo-import-plugin-configuration", inputs: ["pluginActionKey"], outputs: ["configurationEvent"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }] }); }
1443
1480
  }
1444
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PluginActionConfigurationComponent, decorators: [{
1481
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: PluginActionConfigurationComponent, decorators: [{
1445
1482
  type: Component,
1446
- args: [{ selector: 'valtimo-plugin-action-configuration', 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-import-plugin-configuration\n [pluginActionKey]=\"functionKey$ | async\"\n (configurationEvent)=\"onImportConfiguration($event)\"\n></valtimo-import-plugin-configuration>\n\n<valtimo-plugin-configuration-container\n [pluginDefinitionKey]=\"pluginDefinitionKey$ | async\"\n [functionKey]=\"functionKey$ | async\"\n [save$]=\"save$\"\n [disabled$]=\"saving$\"\n [selectedPluginConfiguration$]=\"selectedPluginConfiguration$\"\n [prefillConfiguration$]=\"prefillConfiguration$\"\n (valid)=\"onValid($event)\"\n (configuration)=\"onConfiguration($event)\"\n type=\"function\"\n></valtimo-plugin-configuration-container>\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"] }]
1483
+ args: [{ standalone: false, selector: 'valtimo-plugin-action-configuration', 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-import-plugin-configuration\n [pluginActionKey]=\"functionKey$ | async\"\n (configurationEvent)=\"onImportConfiguration($event)\"\n></valtimo-import-plugin-configuration>\n\n<valtimo-plugin-configuration-container\n [pluginDefinitionKey]=\"pluginDefinitionKey$ | async\"\n [functionKey]=\"functionKey$ | async\"\n [save$]=\"save$\"\n [disabled$]=\"saving$\"\n [selectedPluginConfiguration$]=\"selectedPluginConfiguration$\"\n [prefillConfiguration$]=\"prefillConfiguration$\"\n (valid)=\"onValid($event)\"\n (configuration)=\"onConfiguration($event)\"\n type=\"function\"\n></valtimo-plugin-configuration-container>\n", styles: ["/*!\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"] }]
1447
1484
  }], ctorParameters: () => [{ type: ProcessLinkStateService }, { type: PluginStateService }, { type: ProcessLinkButtonService }, { type: ProcessLinkStepService }, { type: ProcessLinkService }], propDecorators: { selectedPluginConfiguration$: [{
1448
1485
  type: Input
1449
1486
  }], valid: [{
@@ -1453,7 +1490,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
1453
1490
  }] } });
1454
1491
 
1455
1492
  /*
1456
- * Copyright 2015-2024 Ritense BV, the Netherlands.
1493
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
1457
1494
  *
1458
1495
  * Licensed under EUPL, Version 1.2 (the "License");
1459
1496
  * you may not use this file except in compliance with the License.
@@ -1479,7 +1516,7 @@ class FormLinkProcessDiagramComponent {
1479
1516
  ngOnInit() {
1480
1517
  this.pageTitleService.disableReset();
1481
1518
  combineLatest([this.route.queryParams, this.processService.getProcessDefinitions()])
1482
- .pipe(map$1(([queryParams, processDefinitions]) => ({ queryParams, processDefinitions })))
1519
+ .pipe(map(([queryParams, processDefinitions]) => ({ queryParams, processDefinitions })))
1483
1520
  .subscribe(response => {
1484
1521
  this.processDefinitions = response.processDefinitions;
1485
1522
  if (response.queryParams.process) {
@@ -1499,11 +1536,11 @@ class FormLinkProcessDiagramComponent {
1499
1536
  this.loadProcessDefinitionFromKey(this.processDefinitionKey);
1500
1537
  }
1501
1538
  });
1502
- this.bpmnJS = new BpmnJS();
1503
- this.bpmnJS.on('import.done', ({ error }) => {
1539
+ this.bpmnViewer = new BpmnViewer({});
1540
+ this.bpmnViewer.on('import.done', ({ error }) => {
1504
1541
  if (!error) {
1505
- const canvas = this.bpmnJS.get('canvas');
1506
- const eventBus = this.bpmnJS.get('eventBus');
1542
+ const canvas = this.bpmnViewer.get('canvas');
1543
+ const eventBus = this.bpmnViewer.get('eventBus');
1507
1544
  canvas.zoom('fit-viewport', 'auto');
1508
1545
  if (this.processDefinitionVersions && !this.callbacksAdded) {
1509
1546
  eventBus.on('element.click', e => {
@@ -1532,8 +1569,8 @@ class FormLinkProcessDiagramComponent {
1532
1569
  }
1533
1570
  ngOnDestroy() {
1534
1571
  this.bpmnElementModalClose.emit();
1535
- if (this.bpmnJS) {
1536
- this.bpmnJS.destroy();
1572
+ if (this.bpmnViewer) {
1573
+ this.bpmnViewer.destroy();
1537
1574
  }
1538
1575
  this.pageTitleService.enableReset();
1539
1576
  }
@@ -1560,8 +1597,8 @@ class FormLinkProcessDiagramComponent {
1560
1597
  loadProcessDefinitionXml(processDefinitionId) {
1561
1598
  this.processService.getProcessDefinitionXml(processDefinitionId).subscribe(response => {
1562
1599
  this.processDiagram = response;
1563
- this.bpmnJS.importXML(this.processDiagram.bpmn20Xml);
1564
- this.bpmnJS.attachTo(this.el.nativeElement);
1600
+ this.bpmnViewer.importXML(this.processDiagram.bpmn20Xml);
1601
+ this.bpmnViewer.attachTo(this.el.nativeElement);
1565
1602
  });
1566
1603
  }
1567
1604
  setProcessDefinitionKey(processDefinitionKey) {
@@ -1576,13 +1613,13 @@ class FormLinkProcessDiagramComponent {
1576
1613
  }
1577
1614
  this.version = +version;
1578
1615
  }
1579
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormLinkProcessDiagramComponent, deps: [{ token: i1$3.ProcessService }, { token: i2.ActivatedRoute }, { token: i4$1.PageTitleService }], target: i0.ɵɵFactoryTarget.Component }); }
1580
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FormLinkProcessDiagramComponent, selector: "valtimo-form-link-process-diagram", outputs: { bpmnElementModalOpen: "bpmnElementModalOpen", bpmnElementModalClose: "bpmnElementModalClose" }, viewQueries: [{ propertyName: "el", first: true, predicate: ["ref"], 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 class=\"container-fluid\">\n <div class=\"row p-4 bg-white\">\n <div class=\"col\">\n <div #ref class=\"diagram-container\"></div>\n </div>\n </div>\n</div>\n<div class=\"p-4 text-center legenda-holder\">\n <span>Click on a User Task to specify a form definition for that User Task.</span>\n</div>\n\n<ng-container renderInPageHeader [fullWidth]=\"true\">\n <ng-template>\n <div class=\"form-link-dossier-actions\">\n <cds-select [label]=\"'Process'\" (change)=\"setProcessDefinitionKey($event.target.value)\"\n ><option\n *ngFor=\"let processDefinition of processDefinitions\"\n [value]=\"processDefinition.key\"\n [selected]=\"processDefinitionKey === processDefinition.key\"\n >\n {{ processDefinition.name }}\n </option>\n </cds-select>\n <cds-select [label]=\"'Version'\" (change)=\"setProcessDefinitionVersion($event.target.value)\">\n <option\n *ngFor=\"let processDefinitionVersion of processDefinitionVersions\"\n [value]=\"processDefinitionVersion.version\"\n [selected]=\"processDefinitionVersion.version === version\"\n >\n {{ processDefinitionVersion.version }}\n </option>\n </cds-select>\n </div>\n </ng-template>\n</ng-container>\n", styles: [".diagram-container-switch-holder{width:100%;z-index:1000}.diagram-container{height:58vh}.container-fluid{border:1px solid #dee2e6}.options{border-bottom:1px solid #dee2e6}.form-link-dossier-actions{display:flex;flex-direction:row;gap:8px}\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: i3$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i5.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4$1.RenderInPageHeaderDirective, selector: "[renderInPageHeader]", inputs: ["fullWidth"] }, { kind: "component", type: i4.Select, selector: "cds-select, ibm-select", inputs: ["display", "label", "helperText", "invalidText", "warn", "warnText", "id", "size", "disabled", "skeleton", "invalid", "theme", "ariaLabel", "value"], outputs: ["valueChange"] }, { kind: "directive", type: i4.Option, selector: "option" }] }); }
1616
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FormLinkProcessDiagramComponent, deps: [{ token: i1$3.ProcessService }, { token: i3$1.ActivatedRoute }, { token: i2$2.PageTitleService }], target: i0.ɵɵFactoryTarget.Component }); }
1617
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: FormLinkProcessDiagramComponent, isStandalone: false, selector: "valtimo-form-link-process-diagram", outputs: { bpmnElementModalOpen: "bpmnElementModalOpen", bpmnElementModalClose: "bpmnElementModalClose" }, viewQueries: [{ propertyName: "el", first: true, predicate: ["ref"], 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<div class=\"container-fluid\">\n <div class=\"row p-4 bg-white\">\n <div class=\"col\">\n <div #ref class=\"diagram-container\"></div>\n </div>\n </div>\n</div>\n<div class=\"p-4 text-center legenda-holder\">\n <span>Click on a User Task to specify a form definition for that User Task.</span>\n</div>\n\n<ng-container renderInPageHeader [fullWidth]=\"true\">\n <ng-template>\n <div class=\"form-link-dossier-actions\">\n <cds-select [label]=\"'Process'\" (change)=\"setProcessDefinitionKey($event.target.value)\"\n ><option\n *ngFor=\"let processDefinition of processDefinitions\"\n [value]=\"processDefinition.key\"\n [selected]=\"processDefinitionKey === processDefinition.key\"\n >\n {{ processDefinition.name }}\n </option>\n </cds-select>\n <cds-select [label]=\"'Version'\" (change)=\"setProcessDefinitionVersion($event.target.value)\">\n <option\n *ngFor=\"let processDefinitionVersion of processDefinitionVersions\"\n [value]=\"processDefinitionVersion.version\"\n [selected]=\"processDefinitionVersion.version === version\"\n >\n {{ processDefinitionVersion.version }}\n </option>\n </cds-select>\n </div>\n </ng-template>\n</ng-container>\n", styles: [".diagram-container-switch-holder{width:100%;z-index:1000}.diagram-container{height:58vh}.container-fluid{border:1px solid #dee2e6}.options{border-bottom:1px solid #dee2e6}.form-link-dossier-actions{display:flex;flex-direction:row;gap:8px}\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: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2$2.RenderInPageHeaderDirective, selector: "[renderInPageHeader]", inputs: ["fullWidth"] }, { kind: "component", type: i4.Select, selector: "cds-select, ibm-select", inputs: ["value", "display", "label", "helperText", "invalidText", "warn", "warnText", "id", "size", "disabled", "skeleton", "invalid", "readonly", "theme", "ariaLabel", "fluid"], outputs: ["valueChange"] }, { kind: "directive", type: i4.Option, selector: "option" }] }); }
1581
1618
  }
1582
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormLinkProcessDiagramComponent, decorators: [{
1619
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FormLinkProcessDiagramComponent, decorators: [{
1583
1620
  type: Component,
1584
- args: [{ selector: 'valtimo-form-link-process-diagram', 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=\"container-fluid\">\n <div class=\"row p-4 bg-white\">\n <div class=\"col\">\n <div #ref class=\"diagram-container\"></div>\n </div>\n </div>\n</div>\n<div class=\"p-4 text-center legenda-holder\">\n <span>Click on a User Task to specify a form definition for that User Task.</span>\n</div>\n\n<ng-container renderInPageHeader [fullWidth]=\"true\">\n <ng-template>\n <div class=\"form-link-dossier-actions\">\n <cds-select [label]=\"'Process'\" (change)=\"setProcessDefinitionKey($event.target.value)\"\n ><option\n *ngFor=\"let processDefinition of processDefinitions\"\n [value]=\"processDefinition.key\"\n [selected]=\"processDefinitionKey === processDefinition.key\"\n >\n {{ processDefinition.name }}\n </option>\n </cds-select>\n <cds-select [label]=\"'Version'\" (change)=\"setProcessDefinitionVersion($event.target.value)\">\n <option\n *ngFor=\"let processDefinitionVersion of processDefinitionVersions\"\n [value]=\"processDefinitionVersion.version\"\n [selected]=\"processDefinitionVersion.version === version\"\n >\n {{ processDefinitionVersion.version }}\n </option>\n </cds-select>\n </div>\n </ng-template>\n</ng-container>\n", styles: [".diagram-container-switch-holder{width:100%;z-index:1000}.diagram-container{height:58vh}.container-fluid{border:1px solid #dee2e6}.options{border-bottom:1px solid #dee2e6}.form-link-dossier-actions{display:flex;flex-direction:row;gap:8px}\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"] }]
1585
- }], ctorParameters: () => [{ type: i1$3.ProcessService }, { type: i2.ActivatedRoute }, { type: i4$1.PageTitleService }], propDecorators: { el: [{
1621
+ args: [{ standalone: false, selector: 'valtimo-form-link-process-diagram', 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<div class=\"container-fluid\">\n <div class=\"row p-4 bg-white\">\n <div class=\"col\">\n <div #ref class=\"diagram-container\"></div>\n </div>\n </div>\n</div>\n<div class=\"p-4 text-center legenda-holder\">\n <span>Click on a User Task to specify a form definition for that User Task.</span>\n</div>\n\n<ng-container renderInPageHeader [fullWidth]=\"true\">\n <ng-template>\n <div class=\"form-link-dossier-actions\">\n <cds-select [label]=\"'Process'\" (change)=\"setProcessDefinitionKey($event.target.value)\"\n ><option\n *ngFor=\"let processDefinition of processDefinitions\"\n [value]=\"processDefinition.key\"\n [selected]=\"processDefinitionKey === processDefinition.key\"\n >\n {{ processDefinition.name }}\n </option>\n </cds-select>\n <cds-select [label]=\"'Version'\" (change)=\"setProcessDefinitionVersion($event.target.value)\">\n <option\n *ngFor=\"let processDefinitionVersion of processDefinitionVersions\"\n [value]=\"processDefinitionVersion.version\"\n [selected]=\"processDefinitionVersion.version === version\"\n >\n {{ processDefinitionVersion.version }}\n </option>\n </cds-select>\n </div>\n </ng-template>\n</ng-container>\n", styles: [".diagram-container-switch-holder{width:100%;z-index:1000}.diagram-container{height:58vh}.container-fluid{border:1px solid #dee2e6}.options{border-bottom:1px solid #dee2e6}.form-link-dossier-actions{display:flex;flex-direction:row;gap:8px}\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"] }]
1622
+ }], ctorParameters: () => [{ type: i1$3.ProcessService }, { type: i3$1.ActivatedRoute }, { type: i2$2.PageTitleService }], propDecorators: { el: [{
1586
1623
  type: ViewChild,
1587
1624
  args: ['ref']
1588
1625
  }], bpmnElementModalOpen: [{
@@ -1592,7 +1629,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
1592
1629
  }] } });
1593
1630
 
1594
1631
  /*
1595
- * Copyright 2015-2024 Ritense BV, the Netherlands.
1632
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
1596
1633
  *
1597
1634
  * Licensed under EUPL, Version 1.2 (the "License");
1598
1635
  * you may not use this file except in compliance with the License.
@@ -1614,18 +1651,32 @@ class ChooseProcessLinkTypeComponent {
1614
1651
  selectProcessLinkType(processLinkTypeId) {
1615
1652
  this.processLinkStateService.selectProcessLinkType(processLinkTypeId);
1616
1653
  }
1617
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChooseProcessLinkTypeComponent, deps: [{ token: ProcessLinkStateService }], target: i0.ɵɵFactoryTarget.Component }); }
1618
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ChooseProcessLinkTypeComponent, selector: "valtimo-choose-process-link-type", 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 availableProcessLinkTypes: availableProcessLinkTypes$ | async,\n } as obs\"\n>\n <p class=\"step-description\">\n {{ 'processLinkConfiguration.chooseProcessLinkTypeDescription' | translate }}\n </p>\n <div class=\"process-link-grid\">\n <div\n class=\"process-link-item\"\n *ngFor=\"let availableProcessLinkType of obs.availableProcessLinkTypes\"\n >\n <ng-container *ngIf=\"availableProcessLinkType.processLinkType as processLinkTypeId\">\n <button\n (click)=\"selectProcessLinkType(processLinkTypeId)\"\n cdsButton=\"secondary\"\n size=\"xl\"\n class=\"process-link-type-button\"\n [disabled]=\"!availableProcessLinkType.enabled\"\n [vTooltip]=\"'processLinkTypeDisabledTooltip.' + processLinkTypeId | translate\"\n [onBottom]=\"true\"\n [tooltipDisabled]=\"availableProcessLinkType.enabled\"\n >\n {{ 'processLinkType.' + processLinkTypeId | translate }}\n <svg\n *ngIf=\"processLinkTypeId === 'plugin'\"\n class=\"cds--btn__icon\"\n cdsIcon=\"link\"\n size=\"16\"\n ></svg>\n <svg\n *ngIf=\"processLinkTypeId === 'form'\"\n class=\"cds--btn__icon\"\n cdsIcon=\"receipt\"\n size=\"16\"\n ></svg>\n <svg\n *ngIf=\"processLinkTypeId === 'form-flow'\"\n class=\"cds--btn__icon\"\n cdsIcon=\"flow--data\"\n size=\"16\"\n ></svg>\n <svg\n *ngIf=\"processLinkTypeId === 'ui-component'\"\n class=\"cds--btn__icon\"\n cdsIcon=\"receipt\"\n size=\"16\"\n ></svg>\n </button>\n </ng-container>\n </div>\n </div>\n</ng-container>\n", styles: [".process-link-type-button{width:100%}.process-link-grid{margin-top:24px;display:flex;justify-content:flex-start;width:100%;flex-wrap:wrap;gap:8px}.process-link-item{flex-basis:calc(33.3% - 5.3333333333px)}\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: i3$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3$1.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: "directive", type: i4$1.TooltipDirective, selector: "[vTooltip]", inputs: ["vTooltip", "onBottom", "tooltipDisabled"] }, { kind: "pipe", type: i3$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
1654
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ChooseProcessLinkTypeComponent, deps: [{ token: ProcessLinkStateService }], target: i0.ɵɵFactoryTarget.Component }); }
1655
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: ChooseProcessLinkTypeComponent, isStandalone: false, selector: "valtimo-choose-process-link-type", 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<ng-container\n *ngIf=\"{\n availableProcessLinkTypes: availableProcessLinkTypes$ | async,\n } as obs\"\n>\n <p class=\"step-description\">\n {{ 'processLinkConfiguration.chooseProcessLinkTypeDescription' | translate }}\n </p>\n <div class=\"process-link-grid\">\n <div\n class=\"process-link-item\"\n *ngFor=\"let availableProcessLinkType of obs.availableProcessLinkTypes\"\n >\n <ng-container *ngIf=\"availableProcessLinkType.processLinkType as processLinkTypeId\">\n <button\n (click)=\"selectProcessLinkType(processLinkTypeId)\"\n cdsButton=\"secondary\"\n size=\"xl\"\n class=\"process-link-type-button\"\n [disabled]=\"!availableProcessLinkType.enabled\"\n [vTooltip]=\"'processLinkTypeDisabledTooltip.' + processLinkTypeId | translate\"\n [onBottom]=\"true\"\n [tooltipDisabled]=\"availableProcessLinkType.enabled\"\n >\n {{ 'processLinkType.' + processLinkTypeId | translate }}\n <svg\n *ngIf=\"processLinkTypeId === 'plugin'\"\n class=\"cds--btn__icon\"\n cdsIcon=\"link\"\n size=\"16\"\n ></svg>\n <svg\n *ngIf=\"processLinkTypeId === 'form'\"\n class=\"cds--btn__icon\"\n cdsIcon=\"receipt\"\n size=\"16\"\n ></svg>\n <svg\n *ngIf=\"processLinkTypeId === 'form-flow'\"\n class=\"cds--btn__icon\"\n cdsIcon=\"flow--data\"\n size=\"16\"\n ></svg>\n <svg\n *ngIf=\"processLinkTypeId === 'ui-component'\"\n class=\"cds--btn__icon\"\n cdsIcon=\"receipt\"\n size=\"16\"\n ></svg>\n </button>\n </ng-container>\n </div>\n </div>\n</ng-container>\n", styles: [".process-link-type-button{width:100%}.process-link-grid{margin-top:24px;display:flex;justify-content:flex-start;width:100%;flex-wrap:wrap;gap:8px}.process-link-item{flex-basis:calc(33.3% - 5.3333333333px)}\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: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.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: "directive", type: i2$2.TooltipDirective, selector: "[vTooltip]", inputs: ["vTooltip", "onBottom", "tooltipDisabled"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i2$1.TranslatePipe, name: "translate" }] }); }
1619
1656
  }
1620
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChooseProcessLinkTypeComponent, decorators: [{
1657
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ChooseProcessLinkTypeComponent, decorators: [{
1621
1658
  type: Component,
1622
- args: [{ selector: 'valtimo-choose-process-link-type', 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 availableProcessLinkTypes: availableProcessLinkTypes$ | async,\n } as obs\"\n>\n <p class=\"step-description\">\n {{ 'processLinkConfiguration.chooseProcessLinkTypeDescription' | translate }}\n </p>\n <div class=\"process-link-grid\">\n <div\n class=\"process-link-item\"\n *ngFor=\"let availableProcessLinkType of obs.availableProcessLinkTypes\"\n >\n <ng-container *ngIf=\"availableProcessLinkType.processLinkType as processLinkTypeId\">\n <button\n (click)=\"selectProcessLinkType(processLinkTypeId)\"\n cdsButton=\"secondary\"\n size=\"xl\"\n class=\"process-link-type-button\"\n [disabled]=\"!availableProcessLinkType.enabled\"\n [vTooltip]=\"'processLinkTypeDisabledTooltip.' + processLinkTypeId | translate\"\n [onBottom]=\"true\"\n [tooltipDisabled]=\"availableProcessLinkType.enabled\"\n >\n {{ 'processLinkType.' + processLinkTypeId | translate }}\n <svg\n *ngIf=\"processLinkTypeId === 'plugin'\"\n class=\"cds--btn__icon\"\n cdsIcon=\"link\"\n size=\"16\"\n ></svg>\n <svg\n *ngIf=\"processLinkTypeId === 'form'\"\n class=\"cds--btn__icon\"\n cdsIcon=\"receipt\"\n size=\"16\"\n ></svg>\n <svg\n *ngIf=\"processLinkTypeId === 'form-flow'\"\n class=\"cds--btn__icon\"\n cdsIcon=\"flow--data\"\n size=\"16\"\n ></svg>\n <svg\n *ngIf=\"processLinkTypeId === 'ui-component'\"\n class=\"cds--btn__icon\"\n cdsIcon=\"receipt\"\n size=\"16\"\n ></svg>\n </button>\n </ng-container>\n </div>\n </div>\n</ng-container>\n", styles: [".process-link-type-button{width:100%}.process-link-grid{margin-top:24px;display:flex;justify-content:flex-start;width:100%;flex-wrap:wrap;gap:8px}.process-link-item{flex-basis:calc(33.3% - 5.3333333333px)}\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"] }]
1659
+ args: [{ standalone: false, selector: 'valtimo-choose-process-link-type', 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<ng-container\n *ngIf=\"{\n availableProcessLinkTypes: availableProcessLinkTypes$ | async,\n } as obs\"\n>\n <p class=\"step-description\">\n {{ 'processLinkConfiguration.chooseProcessLinkTypeDescription' | translate }}\n </p>\n <div class=\"process-link-grid\">\n <div\n class=\"process-link-item\"\n *ngFor=\"let availableProcessLinkType of obs.availableProcessLinkTypes\"\n >\n <ng-container *ngIf=\"availableProcessLinkType.processLinkType as processLinkTypeId\">\n <button\n (click)=\"selectProcessLinkType(processLinkTypeId)\"\n cdsButton=\"secondary\"\n size=\"xl\"\n class=\"process-link-type-button\"\n [disabled]=\"!availableProcessLinkType.enabled\"\n [vTooltip]=\"'processLinkTypeDisabledTooltip.' + processLinkTypeId | translate\"\n [onBottom]=\"true\"\n [tooltipDisabled]=\"availableProcessLinkType.enabled\"\n >\n {{ 'processLinkType.' + processLinkTypeId | translate }}\n <svg\n *ngIf=\"processLinkTypeId === 'plugin'\"\n class=\"cds--btn__icon\"\n cdsIcon=\"link\"\n size=\"16\"\n ></svg>\n <svg\n *ngIf=\"processLinkTypeId === 'form'\"\n class=\"cds--btn__icon\"\n cdsIcon=\"receipt\"\n size=\"16\"\n ></svg>\n <svg\n *ngIf=\"processLinkTypeId === 'form-flow'\"\n class=\"cds--btn__icon\"\n cdsIcon=\"flow--data\"\n size=\"16\"\n ></svg>\n <svg\n *ngIf=\"processLinkTypeId === 'ui-component'\"\n class=\"cds--btn__icon\"\n cdsIcon=\"receipt\"\n size=\"16\"\n ></svg>\n </button>\n </ng-container>\n </div>\n </div>\n</ng-container>\n", styles: [".process-link-type-button{width:100%}.process-link-grid{margin-top:24px;display:flex;justify-content:flex-start;width:100%;flex-wrap:wrap;gap:8px}.process-link-item{flex-basis:calc(33.3% - 5.3333333333px)}\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"] }]
1623
1660
  }], ctorParameters: () => [{ type: ProcessLinkStateService }] });
1624
1661
 
1662
+ /*
1663
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
1664
+ *
1665
+ * Licensed under EUPL, Version 1.2 (the "License");
1666
+ * you may not use this file except in compliance with the License.
1667
+ * You may obtain a copy of the License at
1668
+ *
1669
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
1670
+ *
1671
+ * Unless required by applicable law or agreed to in writing, software
1672
+ * distributed under the License is distributed on an "AS IS" basis,
1673
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1674
+ * See the License for the specific language governing permissions and
1675
+ * limitations under the License.
1676
+ */
1625
1677
  class FormDisplayConfigurationComponent {
1626
- constructor(buttonService, configService, stateService, translateService) {
1678
+ constructor(buttonService, stateService, translateService) {
1627
1679
  this.buttonService = buttonService;
1628
- this.configService = configService;
1629
1680
  this.stateService = stateService;
1630
1681
  this.translateService = translateService;
1631
1682
  this.formDisplayValue = new EventEmitter();
@@ -1634,10 +1685,9 @@ class FormDisplayConfigurationComponent {
1634
1685
  this.formDisplayValue$ = new BehaviorSubject(null);
1635
1686
  this.formSizeValue$ = new BehaviorSubject(null);
1636
1687
  this._subtitles$ = new BehaviorSubject([]);
1637
- this.subtitles$ = this._subtitles$.pipe(map$1(subtitles => subtitles.map(subtitle => ({ value: subtitle }))));
1688
+ this.subtitles$ = this._subtitles$.pipe(map(subtitles => subtitles.map(subtitle => ({ value: subtitle }))));
1638
1689
  this.disableFormSizeInput$ = new BehaviorSubject(true);
1639
1690
  this.saving$ = this.stateService.saving$;
1640
- this.taskPanelEnabled$ = new BehaviorSubject(false);
1641
1691
  this.isUserTask$ = new BehaviorSubject(false);
1642
1692
  this._DISPLAY_TYPE_OPTIONS = ['modal', 'panel'];
1643
1693
  this._FORM_SIZE_OPTIONS = ['extraSmall', 'small', 'medium', 'large'];
@@ -1645,7 +1695,7 @@ class FormDisplayConfigurationComponent {
1645
1695
  this.formDisplayTypeListItems$ = combineLatest([
1646
1696
  this.formDisplayValue$,
1647
1697
  this.translateService.stream('key'),
1648
- ]).pipe(map$1(([formDisplayValue]) => this._DISPLAY_TYPE_OPTIONS.map((key) => ({
1698
+ ]).pipe(map(([formDisplayValue]) => this._DISPLAY_TYPE_OPTIONS.map((key) => ({
1649
1699
  content: this.translateService.instant(`processLinkSteps.displayType.options.${key}`),
1650
1700
  key: key,
1651
1701
  selected: this.formDisplayValue$.getValue() === key,
@@ -1653,12 +1703,11 @@ class FormDisplayConfigurationComponent {
1653
1703
  this.formSizeListItems$ = combineLatest([
1654
1704
  this.formSizeValue$,
1655
1705
  this.translateService.stream('key'),
1656
- ]).pipe(map$1(([formSizeValue]) => this._FORM_SIZE_OPTIONS.map((key) => ({
1706
+ ]).pipe(map(([formSizeValue]) => this._FORM_SIZE_OPTIONS.map((key) => ({
1657
1707
  content: this.translateService.instant(`processLinkSteps.formSize.options.${key}`),
1658
1708
  key: key,
1659
1709
  selected: this.formSizeValue$.getValue() === key,
1660
1710
  }))));
1661
- this.taskPanelEnabled$.next(!!this.configService.featureToggles?.enableTaskPanel);
1662
1711
  }
1663
1712
  ngOnInit() {
1664
1713
  this._subscriptions.add(combineLatest([
@@ -1707,20 +1756,18 @@ class FormDisplayConfigurationComponent {
1707
1756
  enableSaveButtonWhenValid() {
1708
1757
  if (this.selectedFormDefinition &&
1709
1758
  this.formDisplayValue$.getValue() &&
1710
- this.formSizeValue$.getValue()) {
1759
+ this.formSizeValue$.getValue())
1711
1760
  this.buttonService.enableSaveButton();
1712
- }
1713
- else {
1761
+ else
1714
1762
  this.buttonService.disableSaveButton();
1715
- }
1716
1763
  }
1717
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormDisplayConfigurationComponent, deps: [{ token: ProcessLinkButtonService }, { token: i1$1.ConfigService }, { token: ProcessLinkStateService }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
1718
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: FormDisplayConfigurationComponent, selector: "valtimo-form-display-configuration", inputs: { selectedFormDefinition: "selectedFormDefinition" }, outputs: { formDisplayValue: "formDisplayValue", formSizeValue: "formSizeValue", subtitlesValue: "subtitlesValue" }, ngImport: i0, template: "<ng-container\n *ngIf=\"{\n formDisplayValue: formDisplayValue$ | async,\n formDisplayTypeListItems: formDisplayTypeListItems$ | async,\n formSizeListItems: formSizeListItems$ | async,\n disableFormSizeInput: disableFormSizeInput$ | async,\n subtitles: subtitles$ | async,\n isUserTask: isUserTask$ | async,\n taskPanelEnabled: taskPanelEnabled$ | async,\n saving: saving$ | async,\n } as obs\"\n>\n @if (obs.taskPanelEnabled && obs.isUserTask) {\n <cds-combo-box\n [placeholder]=\"'processLinkSteps.displayType.placeholder' | translate\"\n [label]=\"'processLinkSteps.displayType.label' | translate\"\n [disabled]=\"obs.saving\"\n (selected)=\"selectFormDisplayType($event)\"\n >\n <cds-dropdown-list [items]=\"obs.formDisplayTypeListItems || []\"></cds-dropdown-list>\n </cds-combo-box>\n\n <br />\n\n <cds-combo-box\n [placeholder]=\"'processLinkSteps.formSize.placeholder' | translate\"\n [label]=\"'processLinkSteps.formSize.label' | translate\"\n [disabled]=\"obs.disableFormSizeInput || obs.saving\"\n (selected)=\"selectFormSize($event)\"\n >\n <cds-dropdown-list [items]=\"obs.formSizeListItems || []\"></cds-dropdown-list>\n </cds-combo-box>\n\n <br />\n\n <valtimo-carbon-multi-input\n type=\"value\"\n titleTranslationKey=\"processLinkSteps.subtitles\"\n addRowTranslationKey=\"processLinkSteps.addSubtitle\"\n [disabled]=\"obs.saving\"\n [fullWidth]=\"true\"\n [minimumAmountOfRows]=\"0\"\n [initialAmountOfRows]=\"0\"\n [defaultValues]=\"obs.subtitles\"\n (valueChange)=\"onSubtitlesChange($event)\"\n ></valtimo-carbon-multi-input>\n }\n</ng-container>\n", dependencies: [{ kind: "directive", type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.ComboBox, selector: "cds-combo-box, ibm-combo-box", inputs: ["placeholder", "openMenuAria", "closeMenuAria", "clearSelectionsTitle", "clearSelectionsAria", "clearSelectionTitle", "clearSelectionAria", "id", "labelId", "items", "type", "size", "itemValueKey", "label", "hideLabel", "helperText", "appendInline", "invalid", "invalidText", "warn", "warnText", "maxLength", "theme", "selectionFeedback", "autocomplete", "dropUp", "disabled"], outputs: ["selected", "submit", "close", "search", "clear"] }, { kind: "component", type: i5$1.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "component", type: i4$1.CarbonMultiInputComponent, selector: "valtimo-carbon-multi-input", inputs: ["addRowText", "addRowTranslationKey", "arbitraryAmountTitles", "arbitraryValueAmount", "defaultValues", "deleteRowText", "deleteRowTranslationKey", "disabled", "dropdownColumnTitle", "dropdownItems", "dropdownWidth", "fullWidth", "hideAddButton", "hideDeleteButton", "initialAmountOfRows", "keyColumnTitle", "margin", "maxRows", "minimumAmountOfRows", "name", "required", "title", "titleTranslationKey", "tooltip", "type", "valueColumnTitle", "valuePathSelectorDocumentDefinitionName", "valuePathSelectorPrefixes", "valuePathSelectorShowDocumentDefinitionSelector", "valuePathSelectorNotation", "keyColumnFlex", "dropdownColumnFlex", "valueColumnFlex"], outputs: ["valueChange", "allValuesValidEvent"] }, { kind: "pipe", type: i3$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
1764
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FormDisplayConfigurationComponent, deps: [{ token: ProcessLinkButtonService }, { token: ProcessLinkStateService }, { token: i2$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
1765
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: FormDisplayConfigurationComponent, isStandalone: false, selector: "valtimo-form-display-configuration", inputs: { selectedFormDefinition: "selectedFormDefinition" }, outputs: { formDisplayValue: "formDisplayValue", formSizeValue: "formSizeValue", subtitlesValue: "subtitlesValue" }, 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<ng-container\n *ngIf=\"{\n formDisplayValue: formDisplayValue$ | async,\n formDisplayTypeListItems: formDisplayTypeListItems$ | async,\n formSizeListItems: formSizeListItems$ | async,\n disableFormSizeInput: disableFormSizeInput$ | async,\n subtitles: subtitles$ | async,\n isUserTask: isUserTask$ | async,\n saving: saving$ | async,\n } as obs\"\n>\n @if (obs.isUserTask) {\n <cds-combo-box\n [placeholder]=\"'processLinkSteps.displayType.placeholder' | translate\"\n [label]=\"'processLinkSteps.displayType.label' | translate\"\n [disabled]=\"obs.saving\"\n (selected)=\"selectFormDisplayType($event)\"\n >\n <cds-dropdown-list [items]=\"obs.formDisplayTypeListItems || []\"></cds-dropdown-list>\n </cds-combo-box>\n\n <br />\n\n <cds-combo-box\n [placeholder]=\"'processLinkSteps.formSize.placeholder' | translate\"\n [label]=\"'processLinkSteps.formSize.label' | translate\"\n [disabled]=\"obs.disableFormSizeInput || obs.saving\"\n (selected)=\"selectFormSize($event)\"\n >\n <cds-dropdown-list [items]=\"obs.formSizeListItems || []\"></cds-dropdown-list>\n </cds-combo-box>\n\n <br />\n\n <valtimo-carbon-multi-input\n type=\"value\"\n titleTranslationKey=\"processLinkSteps.subtitles\"\n addRowTranslationKey=\"processLinkSteps.addSubtitle\"\n [disabled]=\"obs.saving\"\n [fullWidth]=\"true\"\n [minimumAmountOfRows]=\"0\"\n [initialAmountOfRows]=\"0\"\n [defaultValues]=\"obs.subtitles\"\n (valueChange)=\"onSubtitlesChange($event)\"\n ></valtimo-carbon-multi-input>\n }\n</ng-container>\n", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.ComboBox, selector: "cds-combo-box, ibm-combo-box", inputs: ["placeholder", "openMenuAria", "closeMenuAria", "clearSelectionsTitle", "clearSelectionsAria", "clearSelectionTitle", "clearSelectionAria", "id", "labelId", "items", "type", "size", "itemValueKey", "label", "hideLabel", "helperText", "appendInline", "invalid", "invalidText", "warn", "warnText", "maxLength", "theme", "selectionFeedback", "autocomplete", "dropUp", "disabled", "readonly", "fluid"], outputs: ["selected", "submit", "close", "search", "clear"] }, { kind: "component", type: i5.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "component", type: i2$2.CarbonMultiInputComponent, selector: "valtimo-carbon-multi-input", inputs: ["addRowText", "addRowTranslationKey", "arbitraryAmountTitles", "arbitraryValueAmount", "defaultValues", "deleteRowText", "deleteRowTranslationKey", "disabled", "dropdownColumnTitle", "dropdownItems", "dropdownWidth", "fullWidth", "hideAddButton", "hideDeleteButton", "initialAmountOfRows", "keyColumnTitle", "margin", "maxRows", "minimumAmountOfRows", "name", "required", "title", "titleTranslationKey", "tooltip", "type", "valueColumnTitle", "valuePathSelectorCaseDefinitionKey", "valuePathSelectorPrefixes", "valuePathSelectorShowCaseDefinitionSelector", "valuePathSelectorNotation", "keyColumnFlex", "dropdownColumnFlex", "valueColumnFlex"], outputs: ["valueChange", "allValuesValidEvent"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i2$1.TranslatePipe, name: "translate" }] }); }
1719
1766
  }
1720
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormDisplayConfigurationComponent, decorators: [{
1767
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FormDisplayConfigurationComponent, decorators: [{
1721
1768
  type: Component,
1722
- args: [{ selector: 'valtimo-form-display-configuration', template: "<ng-container\n *ngIf=\"{\n formDisplayValue: formDisplayValue$ | async,\n formDisplayTypeListItems: formDisplayTypeListItems$ | async,\n formSizeListItems: formSizeListItems$ | async,\n disableFormSizeInput: disableFormSizeInput$ | async,\n subtitles: subtitles$ | async,\n isUserTask: isUserTask$ | async,\n taskPanelEnabled: taskPanelEnabled$ | async,\n saving: saving$ | async,\n } as obs\"\n>\n @if (obs.taskPanelEnabled && obs.isUserTask) {\n <cds-combo-box\n [placeholder]=\"'processLinkSteps.displayType.placeholder' | translate\"\n [label]=\"'processLinkSteps.displayType.label' | translate\"\n [disabled]=\"obs.saving\"\n (selected)=\"selectFormDisplayType($event)\"\n >\n <cds-dropdown-list [items]=\"obs.formDisplayTypeListItems || []\"></cds-dropdown-list>\n </cds-combo-box>\n\n <br />\n\n <cds-combo-box\n [placeholder]=\"'processLinkSteps.formSize.placeholder' | translate\"\n [label]=\"'processLinkSteps.formSize.label' | translate\"\n [disabled]=\"obs.disableFormSizeInput || obs.saving\"\n (selected)=\"selectFormSize($event)\"\n >\n <cds-dropdown-list [items]=\"obs.formSizeListItems || []\"></cds-dropdown-list>\n </cds-combo-box>\n\n <br />\n\n <valtimo-carbon-multi-input\n type=\"value\"\n titleTranslationKey=\"processLinkSteps.subtitles\"\n addRowTranslationKey=\"processLinkSteps.addSubtitle\"\n [disabled]=\"obs.saving\"\n [fullWidth]=\"true\"\n [minimumAmountOfRows]=\"0\"\n [initialAmountOfRows]=\"0\"\n [defaultValues]=\"obs.subtitles\"\n (valueChange)=\"onSubtitlesChange($event)\"\n ></valtimo-carbon-multi-input>\n }\n</ng-container>\n" }]
1723
- }], ctorParameters: () => [{ type: ProcessLinkButtonService }, { type: i1$1.ConfigService }, { type: ProcessLinkStateService }, { type: i3.TranslateService }], propDecorators: { selectedFormDefinition: [{
1769
+ args: [{ standalone: false, selector: 'valtimo-form-display-configuration', 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<ng-container\n *ngIf=\"{\n formDisplayValue: formDisplayValue$ | async,\n formDisplayTypeListItems: formDisplayTypeListItems$ | async,\n formSizeListItems: formSizeListItems$ | async,\n disableFormSizeInput: disableFormSizeInput$ | async,\n subtitles: subtitles$ | async,\n isUserTask: isUserTask$ | async,\n saving: saving$ | async,\n } as obs\"\n>\n @if (obs.isUserTask) {\n <cds-combo-box\n [placeholder]=\"'processLinkSteps.displayType.placeholder' | translate\"\n [label]=\"'processLinkSteps.displayType.label' | translate\"\n [disabled]=\"obs.saving\"\n (selected)=\"selectFormDisplayType($event)\"\n >\n <cds-dropdown-list [items]=\"obs.formDisplayTypeListItems || []\"></cds-dropdown-list>\n </cds-combo-box>\n\n <br />\n\n <cds-combo-box\n [placeholder]=\"'processLinkSteps.formSize.placeholder' | translate\"\n [label]=\"'processLinkSteps.formSize.label' | translate\"\n [disabled]=\"obs.disableFormSizeInput || obs.saving\"\n (selected)=\"selectFormSize($event)\"\n >\n <cds-dropdown-list [items]=\"obs.formSizeListItems || []\"></cds-dropdown-list>\n </cds-combo-box>\n\n <br />\n\n <valtimo-carbon-multi-input\n type=\"value\"\n titleTranslationKey=\"processLinkSteps.subtitles\"\n addRowTranslationKey=\"processLinkSteps.addSubtitle\"\n [disabled]=\"obs.saving\"\n [fullWidth]=\"true\"\n [minimumAmountOfRows]=\"0\"\n [initialAmountOfRows]=\"0\"\n [defaultValues]=\"obs.subtitles\"\n (valueChange)=\"onSubtitlesChange($event)\"\n ></valtimo-carbon-multi-input>\n }\n</ng-container>\n" }]
1770
+ }], ctorParameters: () => [{ type: ProcessLinkButtonService }, { type: ProcessLinkStateService }, { type: i2$1.TranslateService }], propDecorators: { selectedFormDefinition: [{
1724
1771
  type: Input
1725
1772
  }], formDisplayValue: [{
1726
1773
  type: Output
@@ -1731,7 +1778,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
1731
1778
  }] } });
1732
1779
 
1733
1780
  /*
1734
- * Copyright 2015-2024 Ritense BV, the Netherlands.
1781
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
1735
1782
  *
1736
1783
  * Licensed under EUPL, Version 1.2 (the "License");
1737
1784
  * you may not use this file except in compliance with the License.
@@ -1746,18 +1793,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
1746
1793
  * limitations under the License.
1747
1794
  */
1748
1795
  class SelectFormComponent {
1749
- constructor(configService, formService, stateService, processLinkService, buttonService) {
1750
- this.configService = configService;
1796
+ constructor(formService, stateService, processLinkService, buttonService, route) {
1751
1797
  this.formService = formService;
1752
1798
  this.stateService = stateService;
1753
1799
  this.processLinkService = processLinkService;
1754
1800
  this.buttonService = buttonService;
1755
- this.formDisplayValue = '';
1756
- this.formSizeValue = '';
1801
+ this.route = route;
1757
1802
  this.subtitlesValue = [];
1758
1803
  this.saving$ = this.stateService.saving$;
1759
- this.formDefinitions$ = this.formService.getAllFormDefinitions();
1760
- this.formDefinitionListItems$ = combineLatest([this.stateService.selectedProcessLink$, this.formDefinitions$]).pipe(map(([selectedProcessLink, formDefinitions]) => formDefinitions.map(definition => ({
1804
+ this.caseDefinitionId$ = getCaseManagementRouteParams(this.route);
1805
+ this.formDefinitions$ = this.caseDefinitionId$.pipe(mergeMap(caseDefinitionId => {
1806
+ if (!!caseDefinitionId) {
1807
+ return this.formService.getAllFormDefinitionsForCaseDefinition(caseDefinitionId?.caseDefinitionKey ?? '', caseDefinitionId?.caseDefinitionVersionTag ?? '');
1808
+ }
1809
+ return this.formService.getAllUnlinkedFormDefinitions();
1810
+ }));
1811
+ this.formDefinitionListItems$ = combineLatest([this.stateService.selectedProcessLink$, this.formDefinitions$]).pipe(map$1(([selectedProcessLink, formDefinitions]) => formDefinitions.map(definition => ({
1761
1812
  content: definition.name,
1762
1813
  id: definition.id,
1763
1814
  selected: selectedProcessLink
@@ -1771,7 +1822,8 @@ class SelectFormComponent {
1771
1822
  }));
1772
1823
  this._subscriptions = new Subscription();
1773
1824
  this.isUserTask$ = new BehaviorSubject(false);
1774
- this._taskPanelToggle = this.configService.featureToggles?.enableTaskPanel;
1825
+ this._DEFAULT_FORM_DISPLAY_TYPE = 'panel';
1826
+ this._DEFAULT_FORM_DISPLAY_SIZE = 'medium';
1775
1827
  }
1776
1828
  ngOnInit() {
1777
1829
  this.openBackButtonSubscription();
@@ -1792,9 +1844,10 @@ class SelectFormComponent {
1792
1844
  }
1793
1845
  selectFormDefinition(formDefinition) {
1794
1846
  this.selectedFormDefinition = formDefinition?.id ? formDefinition : null;
1795
- this.selectedFormDefinition
1796
- ? this.buttonService.enableSaveButton()
1797
- : this.buttonService.disableSaveButton();
1847
+ if (this.selectedFormDefinition)
1848
+ this.buttonService.enableSaveButton();
1849
+ else
1850
+ this.buttonService.disableSaveButton();
1798
1851
  }
1799
1852
  selectedFormDisplayValue(formDisplay) {
1800
1853
  this.formDisplayValue = formDisplay;
@@ -1837,18 +1890,25 @@ class SelectFormComponent {
1837
1890
  const updateProcessLinkRequest = {
1838
1891
  id: selectedProcessLink.id,
1839
1892
  formDefinitionId: this.selectedFormDefinition.id,
1893
+ activityId: selectedProcessLink.activityId,
1840
1894
  viewModelEnabled,
1841
- ...(this._taskPanelToggle &&
1842
- isUserTask && {
1843
- formDisplayType: this.formDisplayValue,
1895
+ ...(isUserTask && {
1896
+ formDisplayType: this.formDisplayValue || this._DEFAULT_FORM_DISPLAY_TYPE,
1844
1897
  }),
1845
- ...(this._taskPanelToggle && isUserTask && { formSize: this.formSizeValue }),
1898
+ ...(isUserTask && { formSize: this.formSizeValue || this._DEFAULT_FORM_DISPLAY_TYPE }),
1846
1899
  ...(isUserTask && { subtitles: this.subtitlesValue }),
1847
1900
  };
1848
- this.processLinkService.updateProcessLink(updateProcessLinkRequest).subscribe(() => {
1849
- this.stateService.closeModal();
1850
- }, () => {
1851
- this.stateService.stopSaving();
1901
+ if (this.stateService.processLinkEditMode === ProcessLinkEditMode.EMIT_EVENTS) {
1902
+ this.stateService.sendProcessLinkUpdateEvent(updateProcessLinkRequest);
1903
+ return;
1904
+ }
1905
+ this.processLinkService.updateProcessLink(updateProcessLinkRequest).subscribe({
1906
+ next: () => {
1907
+ this.stateService.closeModal();
1908
+ },
1909
+ error: () => {
1910
+ this.stateService.stopSaving();
1911
+ },
1852
1912
  });
1853
1913
  });
1854
1914
  }
@@ -1859,39 +1919,49 @@ class SelectFormComponent {
1859
1919
  this.stateService.viewModelEnabled$,
1860
1920
  this.isUserTask$,
1861
1921
  ])
1862
- .pipe(take(1), switchMap(([modalParams, processLinkTypeId, viewModelEnabled, isUserTask]) => this.processLinkService.saveProcessLink({
1863
- formDefinitionId: this.selectedFormDefinition.id,
1864
- activityType: modalParams.element.activityListenerType,
1865
- processDefinitionId: modalParams.processDefinitionId,
1866
- processLinkType: processLinkTypeId,
1867
- activityId: modalParams.element.id,
1868
- viewModelEnabled,
1869
- ...(isUserTask && {
1870
- formDisplayType: this.formDisplayValue,
1871
- }),
1872
- ...(isUserTask && {
1873
- formSize: this.formSizeValue,
1874
- }),
1875
- ...(isUserTask && {
1876
- subtitles: this.subtitlesValue,
1877
- }),
1878
- })))
1879
- .subscribe(() => {
1880
- this.stateService.closeModal();
1881
- }, () => {
1882
- this.stateService.stopSaving();
1922
+ .pipe(take(1))
1923
+ .subscribe(([modalParams, processLinkTypeId, viewModelEnabled, isUserTask]) => {
1924
+ const createRequest = {
1925
+ formDefinitionId: this.selectedFormDefinition.id,
1926
+ activityType: modalParams.element.activityListenerType,
1927
+ processDefinitionId: modalParams.processDefinitionId,
1928
+ processLinkType: processLinkTypeId,
1929
+ activityId: modalParams.element.id,
1930
+ viewModelEnabled,
1931
+ ...(isUserTask && {
1932
+ formDisplayType: this.formDisplayValue || this._DEFAULT_FORM_DISPLAY_TYPE,
1933
+ }),
1934
+ ...(isUserTask && {
1935
+ formSize: this.formSizeValue || this._DEFAULT_FORM_DISPLAY_SIZE,
1936
+ }),
1937
+ ...(isUserTask && {
1938
+ subtitles: this.subtitlesValue,
1939
+ }),
1940
+ };
1941
+ if (this.stateService.processLinkEditMode === ProcessLinkEditMode.EMIT_EVENTS) {
1942
+ this.stateService.sendProcessLinkCreateEvent(createRequest);
1943
+ return;
1944
+ }
1945
+ this.processLinkService.saveProcessLink(createRequest).subscribe({
1946
+ next: () => {
1947
+ this.stateService.closeModal();
1948
+ },
1949
+ error: () => {
1950
+ this.stateService.stopSaving();
1951
+ },
1952
+ });
1883
1953
  });
1884
1954
  }
1885
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectFormComponent, deps: [{ token: i1$1.ConfigService }, { token: i2$1.FormService }, { token: ProcessLinkStateService }, { token: ProcessLinkService }, { token: ProcessLinkButtonService }], target: i0.ɵɵFactoryTarget.Component }); }
1886
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SelectFormComponent, selector: "valtimo-select-form", 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 formDefinitions: formDefinitionListItems$ | async,\n saving: saving$ | async,\n } as obs\"\n>\n <p class=\"step-description\">\n {{ 'processLinkConfiguration.chooseFormDescription' | translate }}\n </p>\n <div class=\"select-form\">\n <cds-combo-box\n [appendInline]=\"true\"\n [disabled]=\"!obs.formDefinitions || obs.saving\"\n [items]=\"obs.formDefinitions || []\"\n [placeholder]=\"'interface.typeToSearch' | translate\"\n (selected)=\"selectFormDefinition($event)\"\n [label]=\"'processLinkSteps.selectForm' | translate\"\n ><cds-dropdown-list></cds-dropdown-list\n ></cds-combo-box>\n <br />\n\n <valtimo-form-display-configuration\n [selectedFormDefinition]=\"selectedFormDefinition\"\n (formDisplayValue)=\"selectedFormDisplayValue($event)\"\n (formSizeValue)=\"selectedFormSizeValue($event)\"\n (subtitlesValue)=\"selectedSubtitlesValue($event)\"\n ></valtimo-form-display-configuration>\n </div>\n</ng-container>\n", styles: [".label-with-tooltip{display:flex;align-items:center}.select-form{display:flex;flex-direction:column;width:100%;margin-top: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: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.ComboBox, selector: "cds-combo-box, ibm-combo-box", inputs: ["placeholder", "openMenuAria", "closeMenuAria", "clearSelectionsTitle", "clearSelectionsAria", "clearSelectionTitle", "clearSelectionAria", "id", "labelId", "items", "type", "size", "itemValueKey", "label", "hideLabel", "helperText", "appendInline", "invalid", "invalidText", "warn", "warnText", "maxLength", "theme", "selectionFeedback", "autocomplete", "dropUp", "disabled"], outputs: ["selected", "submit", "close", "search", "clear"] }, { kind: "component", type: i5$1.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "component", type: FormDisplayConfigurationComponent, selector: "valtimo-form-display-configuration", inputs: ["selectedFormDefinition"], outputs: ["formDisplayValue", "formSizeValue", "subtitlesValue"] }, { kind: "pipe", type: i3$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
1955
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SelectFormComponent, deps: [{ token: i1$4.FormService }, { token: ProcessLinkStateService }, { token: ProcessLinkService }, { token: ProcessLinkButtonService }, { token: i3$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
1956
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: SelectFormComponent, isStandalone: false, selector: "valtimo-select-form", 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<ng-container\n *ngIf=\"{\n formDefinitions: formDefinitionListItems$ | async,\n saving: saving$ | async,\n } as obs\"\n>\n <p class=\"step-description\">\n {{ 'processLinkConfiguration.chooseFormDescription' | translate }}\n </p>\n <div class=\"select-form\">\n <cds-combo-box\n [appendInline]=\"true\"\n [disabled]=\"!obs.formDefinitions || obs.saving\"\n [items]=\"obs.formDefinitions || []\"\n [placeholder]=\"'interface.typeToSearch' | translate\"\n (selected)=\"selectFormDefinition($event)\"\n [label]=\"'processLinkSteps.selectForm' | translate\"\n ><cds-dropdown-list></cds-dropdown-list\n ></cds-combo-box>\n <br />\n\n <valtimo-form-display-configuration\n [selectedFormDefinition]=\"selectedFormDefinition\"\n (formDisplayValue)=\"selectedFormDisplayValue($event)\"\n (formSizeValue)=\"selectedFormSizeValue($event)\"\n (subtitlesValue)=\"selectedSubtitlesValue($event)\"\n ></valtimo-form-display-configuration>\n </div>\n</ng-container>\n", styles: [".label-with-tooltip{display:flex;align-items:center}.select-form{display:flex;flex-direction:column;width:100%;margin-top:24px}\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: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.ComboBox, selector: "cds-combo-box, ibm-combo-box", inputs: ["placeholder", "openMenuAria", "closeMenuAria", "clearSelectionsTitle", "clearSelectionsAria", "clearSelectionTitle", "clearSelectionAria", "id", "labelId", "items", "type", "size", "itemValueKey", "label", "hideLabel", "helperText", "appendInline", "invalid", "invalidText", "warn", "warnText", "maxLength", "theme", "selectionFeedback", "autocomplete", "dropUp", "disabled", "readonly", "fluid"], outputs: ["selected", "submit", "close", "search", "clear"] }, { kind: "component", type: i5.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "component", type: FormDisplayConfigurationComponent, selector: "valtimo-form-display-configuration", inputs: ["selectedFormDefinition"], outputs: ["formDisplayValue", "formSizeValue", "subtitlesValue"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i2$1.TranslatePipe, name: "translate" }] }); }
1887
1957
  }
1888
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectFormComponent, decorators: [{
1958
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SelectFormComponent, decorators: [{
1889
1959
  type: Component,
1890
- args: [{ selector: 'valtimo-select-form', 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 formDefinitions: formDefinitionListItems$ | async,\n saving: saving$ | async,\n } as obs\"\n>\n <p class=\"step-description\">\n {{ 'processLinkConfiguration.chooseFormDescription' | translate }}\n </p>\n <div class=\"select-form\">\n <cds-combo-box\n [appendInline]=\"true\"\n [disabled]=\"!obs.formDefinitions || obs.saving\"\n [items]=\"obs.formDefinitions || []\"\n [placeholder]=\"'interface.typeToSearch' | translate\"\n (selected)=\"selectFormDefinition($event)\"\n [label]=\"'processLinkSteps.selectForm' | translate\"\n ><cds-dropdown-list></cds-dropdown-list\n ></cds-combo-box>\n <br />\n\n <valtimo-form-display-configuration\n [selectedFormDefinition]=\"selectedFormDefinition\"\n (formDisplayValue)=\"selectedFormDisplayValue($event)\"\n (formSizeValue)=\"selectedFormSizeValue($event)\"\n (subtitlesValue)=\"selectedSubtitlesValue($event)\"\n ></valtimo-form-display-configuration>\n </div>\n</ng-container>\n", styles: [".label-with-tooltip{display:flex;align-items:center}.select-form{display:flex;flex-direction:column;width:100%;margin-top: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"] }]
1891
- }], ctorParameters: () => [{ type: i1$1.ConfigService }, { type: i2$1.FormService }, { type: ProcessLinkStateService }, { type: ProcessLinkService }, { type: ProcessLinkButtonService }] });
1960
+ args: [{ standalone: false, selector: 'valtimo-select-form', 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<ng-container\n *ngIf=\"{\n formDefinitions: formDefinitionListItems$ | async,\n saving: saving$ | async,\n } as obs\"\n>\n <p class=\"step-description\">\n {{ 'processLinkConfiguration.chooseFormDescription' | translate }}\n </p>\n <div class=\"select-form\">\n <cds-combo-box\n [appendInline]=\"true\"\n [disabled]=\"!obs.formDefinitions || obs.saving\"\n [items]=\"obs.formDefinitions || []\"\n [placeholder]=\"'interface.typeToSearch' | translate\"\n (selected)=\"selectFormDefinition($event)\"\n [label]=\"'processLinkSteps.selectForm' | translate\"\n ><cds-dropdown-list></cds-dropdown-list\n ></cds-combo-box>\n <br />\n\n <valtimo-form-display-configuration\n [selectedFormDefinition]=\"selectedFormDefinition\"\n (formDisplayValue)=\"selectedFormDisplayValue($event)\"\n (formSizeValue)=\"selectedFormSizeValue($event)\"\n (subtitlesValue)=\"selectedSubtitlesValue($event)\"\n ></valtimo-form-display-configuration>\n </div>\n</ng-container>\n", styles: [".label-with-tooltip{display:flex;align-items:center}.select-form{display:flex;flex-direction:column;width:100%;margin-top:24px}\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"] }]
1961
+ }], ctorParameters: () => [{ type: i1$4.FormService }, { type: ProcessLinkStateService }, { type: ProcessLinkService }, { type: ProcessLinkButtonService }, { type: i3$1.ActivatedRoute }] });
1892
1962
 
1893
1963
  /*
1894
- * Copyright 2015-2024 Ritense BV, the Netherlands.
1964
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
1895
1965
  *
1896
1966
  * Licensed under EUPL, Version 1.2 (the "License");
1897
1967
  * you may not use this file except in compliance with the License.
@@ -1906,23 +1976,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
1906
1976
  * limitations under the License.
1907
1977
  */
1908
1978
  class SelectFormFlowComponent {
1909
- constructor(configService, formFlowService, stateService, processLinkService, buttonService) {
1910
- this.configService = configService;
1979
+ constructor(formFlowService, stateService, processLinkService, buttonService, route) {
1911
1980
  this.formFlowService = formFlowService;
1912
1981
  this.stateService = stateService;
1913
1982
  this.processLinkService = processLinkService;
1914
1983
  this.buttonService = buttonService;
1915
- this.formDisplayValue = '';
1916
- this.formSizeValue = '';
1984
+ this.route = route;
1917
1985
  this.subtitlesValue = [];
1918
1986
  this.saving$ = this.stateService.saving$;
1919
- this.formFlowDefinitions$ = this.formFlowService.getFormFlowDefinitions();
1920
- this._taskPanelToggle = this.configService.featureToggles?.enableTaskPanel;
1921
- this.formFlowDefinitionListItems$ = combineLatest([this.stateService.selectedProcessLink$, this.formFlowDefinitions$]).pipe(map(([selectedProcessLink, formFlowDefinitions]) => formFlowDefinitions.map(definition => ({
1922
- content: definition.name,
1923
- id: definition.id,
1987
+ this.formFlowDefinitions$ = getCaseManagementRouteParams(this.route).pipe(switchMap$1((params) => this.formFlowService.getFormFlowDefinitions(params?.caseDefinitionKey ?? '', params?.caseDefinitionVersionTag ?? '')), map$1((formFlowDefinitions) => formFlowDefinitions.content));
1988
+ this.formFlowDefinitionListItems$ = combineLatest([this.stateService.selectedProcessLink$, this.formFlowDefinitions$]).pipe(map$1(([selectedProcessLink, formFlowDefinitions]) => formFlowDefinitions.map(definition => ({
1989
+ content: definition.key,
1990
+ id: definition.key,
1924
1991
  selected: selectedProcessLink
1925
- ? selectedProcessLink.formFlowDefinitionId === definition.id
1992
+ ? selectedProcessLink.formFlowDefinitionKey === definition.key
1926
1993
  : false,
1927
1994
  }))), tap(formFlowDefinitionListItems => {
1928
1995
  const selectedItem = formFlowDefinitionListItems.find(item => item.selected);
@@ -1932,6 +1999,8 @@ class SelectFormFlowComponent {
1932
1999
  }));
1933
2000
  this._subscriptions = new Subscription();
1934
2001
  this.isUserTask$ = new BehaviorSubject(false);
2002
+ this._DEFAULT_FORM_DISPLAY_TYPE = 'panel';
2003
+ this._DEFAULT_FORM_DISPLAY_SIZE = 'medium';
1935
2004
  }
1936
2005
  ngOnInit() {
1937
2006
  this.openBackButtonSubscription();
@@ -1957,10 +2026,13 @@ class SelectFormFlowComponent {
1957
2026
  this.formSizeValue = formSize;
1958
2027
  }
1959
2028
  selectFormFlowDefinition(formFlowDefinition) {
1960
- this.selectedFormFlowDefinition = formFlowDefinition?.id ? formFlowDefinition : null;
1961
- this.selectedFormFlowDefinition
1962
- ? this.buttonService.enableSaveButton()
1963
- : this.buttonService.disableSaveButton();
2029
+ if (!formFlowDefinition)
2030
+ return;
2031
+ this.selectedFormFlowDefinitionId = formFlowDefinition.id;
2032
+ if (this.selectedFormFlowDefinitionId)
2033
+ this.buttonService.enableSaveButton();
2034
+ else
2035
+ this.buttonService.disableSaveButton();
1964
2036
  }
1965
2037
  selectedSubtitlesValue(subtitles) {
1966
2038
  this.subtitlesValue = subtitles;
@@ -1978,32 +2050,37 @@ class SelectFormFlowComponent {
1978
2050
  }
1979
2051
  saveFormFlowLink() {
1980
2052
  this.stateService.selectedProcessLink$.pipe(take(1)).subscribe(selectedProcessLink => {
1981
- if (selectedProcessLink) {
2053
+ if (selectedProcessLink)
1982
2054
  this.updateProcessLink();
1983
- }
1984
- else {
2055
+ else
1985
2056
  this.saveNewProcessLink();
1986
- }
1987
2057
  });
1988
2058
  }
1989
2059
  updateProcessLink() {
1990
- combineLatest(this.stateService.selectedProcessLink$, this.isUserTask$)
2060
+ combineLatest([this.stateService.selectedProcessLink$, this.isUserTask$])
1991
2061
  .pipe(take(1))
1992
2062
  .subscribe(([selectedProcessLink, isUserTask]) => {
1993
2063
  const updateProcessLinkRequest = {
1994
2064
  id: selectedProcessLink.id,
1995
- formFlowDefinitionId: this.selectedFormFlowDefinition.id,
1996
- ...(this._taskPanelToggle &&
1997
- isUserTask && {
1998
- formDisplayType: this.formDisplayValue,
2065
+ formFlowDefinitionId: this.selectedFormFlowDefinitionId,
2066
+ activityId: selectedProcessLink.activityId,
2067
+ ...(isUserTask && {
2068
+ formDisplayType: this.formDisplayValue || this._DEFAULT_FORM_DISPLAY_TYPE,
1999
2069
  }),
2000
- ...(this._taskPanelToggle && isUserTask && { formSize: this.formSizeValue }),
2070
+ ...(isUserTask && { formSize: this.formSizeValue || this._DEFAULT_FORM_DISPLAY_SIZE }),
2001
2071
  ...(isUserTask && { subtitles: this.subtitlesValue }),
2002
2072
  };
2003
- this.processLinkService.updateProcessLink(updateProcessLinkRequest).subscribe(() => {
2004
- this.stateService.closeModal();
2005
- }, () => {
2006
- this.stateService.stopSaving();
2073
+ if (this.stateService.processLinkEditMode === ProcessLinkEditMode.EMIT_EVENTS) {
2074
+ this.stateService.sendProcessLinkUpdateEvent(updateProcessLinkRequest);
2075
+ return;
2076
+ }
2077
+ this.processLinkService.updateProcessLink(updateProcessLinkRequest).subscribe({
2078
+ next: () => {
2079
+ this.stateService.closeModal();
2080
+ },
2081
+ error: () => {
2082
+ this.stateService.stopSaving();
2083
+ },
2007
2084
  });
2008
2085
  });
2009
2086
  }
@@ -2013,34 +2090,44 @@ class SelectFormFlowComponent {
2013
2090
  this.stateService.selectedProcessLinkTypeId$,
2014
2091
  this.isUserTask$,
2015
2092
  ])
2016
- .pipe(take(1), switchMap(([modalParams, processLinkTypeId, isUserTask]) => this.processLinkService.saveProcessLink({
2017
- formFlowDefinitionId: this.selectedFormFlowDefinition.id,
2018
- activityType: modalParams.element.activityListenerType,
2019
- processDefinitionId: modalParams.processDefinitionId,
2020
- processLinkType: processLinkTypeId,
2021
- activityId: modalParams.element.id,
2022
- ...(isUserTask && {
2023
- formDisplayType: this.formDisplayValue,
2024
- }),
2025
- ...(isUserTask && { formSize: this.formSizeValue }),
2026
- ...(isUserTask && { subtitles: this.subtitlesValue }),
2027
- })))
2028
- .subscribe(() => {
2029
- this.stateService.closeModal();
2030
- }, () => {
2031
- this.stateService.stopSaving();
2093
+ .pipe(take(1))
2094
+ .subscribe(([modalParams, processLinkTypeId, isUserTask]) => {
2095
+ const createRequest = {
2096
+ formFlowDefinitionKey: this.selectedFormFlowDefinitionId,
2097
+ activityType: modalParams.element.activityListenerType,
2098
+ processDefinitionId: modalParams.processDefinitionId,
2099
+ processLinkType: processLinkTypeId,
2100
+ activityId: modalParams.element.id,
2101
+ ...(isUserTask && {
2102
+ formDisplayType: this.formDisplayValue || this._DEFAULT_FORM_DISPLAY_TYPE,
2103
+ }),
2104
+ ...(isUserTask && { formSize: this.formSizeValue || this._DEFAULT_FORM_DISPLAY_SIZE }),
2105
+ ...(isUserTask && { subtitles: this.subtitlesValue }),
2106
+ };
2107
+ if (this.stateService.processLinkEditMode === ProcessLinkEditMode.EMIT_EVENTS) {
2108
+ this.stateService.sendProcessLinkCreateEvent(createRequest);
2109
+ return;
2110
+ }
2111
+ this.processLinkService.saveProcessLink(createRequest).subscribe({
2112
+ next: () => {
2113
+ this.stateService.closeModal();
2114
+ },
2115
+ error: () => {
2116
+ this.stateService.stopSaving();
2117
+ },
2118
+ });
2032
2119
  });
2033
2120
  }
2034
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectFormFlowComponent, deps: [{ token: i1$1.ConfigService }, { token: FormFlowService }, { token: ProcessLinkStateService }, { token: ProcessLinkService }, { token: ProcessLinkButtonService }], target: i0.ɵɵFactoryTarget.Component }); }
2035
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SelectFormFlowComponent, selector: "valtimo-select-form-flow", 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 formFlowDefinitions: formFlowDefinitionListItems$ | async,\n saving: saving$ | async,\n } as obs\"\n>\n <p class=\"step-description\">\n {{ 'processLinkConfiguration.chooseFormFlowDescription' | translate }}\n </p>\n <div class=\"select-form-flow\">\n <cds-combo-box\n [appendInline]=\"true\"\n [disabled]=\"!obs.formFlowDefinitions || obs.saving\"\n [items]=\"obs.formFlowDefinitions || []\"\n [placeholder]=\"'interface.typeToSearch' | translate\"\n (selected)=\"selectFormFlowDefinition($event)\"\n [label]=\"'processLinkSteps.selectFormFlow' | translate\"\n ><cds-dropdown-list></cds-dropdown-list\n ></cds-combo-box>\n <br />\n\n <valtimo-form-display-configuration\n [selectedFormDefinition]=\"selectedFormFlowDefinition\"\n (formDisplayValue)=\"selectedFormDisplayValue($event)\"\n (formSizeValue)=\"selectedFormSizeValue($event)\"\n (subtitlesValue)=\"selectedSubtitlesValue($event)\"\n ></valtimo-form-display-configuration>\n </div>\n</ng-container>\n", styles: [".label-with-tooltip{display:flex;align-items:center}.select-form-flow{display:flex;flex-direction:column;width:100%;margin-top: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: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.ComboBox, selector: "cds-combo-box, ibm-combo-box", inputs: ["placeholder", "openMenuAria", "closeMenuAria", "clearSelectionsTitle", "clearSelectionsAria", "clearSelectionTitle", "clearSelectionAria", "id", "labelId", "items", "type", "size", "itemValueKey", "label", "hideLabel", "helperText", "appendInline", "invalid", "invalidText", "warn", "warnText", "maxLength", "theme", "selectionFeedback", "autocomplete", "dropUp", "disabled"], outputs: ["selected", "submit", "close", "search", "clear"] }, { kind: "component", type: i5$1.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "component", type: FormDisplayConfigurationComponent, selector: "valtimo-form-display-configuration", inputs: ["selectedFormDefinition"], outputs: ["formDisplayValue", "formSizeValue", "subtitlesValue"] }, { kind: "pipe", type: i3$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
2121
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SelectFormFlowComponent, deps: [{ token: i1$5.FormFlowService }, { token: ProcessLinkStateService }, { token: ProcessLinkService }, { token: ProcessLinkButtonService }, { token: i3$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
2122
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: SelectFormFlowComponent, isStandalone: false, selector: "valtimo-select-form-flow", 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<ng-container\n *ngIf=\"{\n formFlowDefinitions: formFlowDefinitionListItems$ | async,\n saving: saving$ | async,\n } as obs\"\n>\n <p class=\"step-description\">\n {{ 'processLinkConfiguration.chooseFormFlowDescription' | translate }}\n </p>\n\n <div class=\"select-form-flow\">\n <cds-combo-box\n [appendInline]=\"true\"\n [disabled]=\"!obs.formFlowDefinitions || obs.saving\"\n [items]=\"obs.formFlowDefinitions || []\"\n [placeholder]=\"'interface.typeToSearch' | translate\"\n (selected)=\"selectFormFlowDefinition($event)\"\n [label]=\"'processLinkSteps.selectFormFlow' | translate\"\n ><cds-dropdown-list></cds-dropdown-list\n ></cds-combo-box>\n\n <br />\n\n <valtimo-form-display-configuration\n [selectedFormDefinition]=\"selectedFormFlowDefinitionId\"\n (formDisplayValue)=\"selectedFormDisplayValue($event)\"\n (formSizeValue)=\"selectedFormSizeValue($event)\"\n (subtitlesValue)=\"selectedSubtitlesValue($event)\"\n ></valtimo-form-display-configuration>\n </div>\n</ng-container>\n", styles: [".label-with-tooltip{display:flex;align-items:center}.select-form-flow{display:flex;flex-direction:column;width:100%;margin-top:24px}\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: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.ComboBox, selector: "cds-combo-box, ibm-combo-box", inputs: ["placeholder", "openMenuAria", "closeMenuAria", "clearSelectionsTitle", "clearSelectionsAria", "clearSelectionTitle", "clearSelectionAria", "id", "labelId", "items", "type", "size", "itemValueKey", "label", "hideLabel", "helperText", "appendInline", "invalid", "invalidText", "warn", "warnText", "maxLength", "theme", "selectionFeedback", "autocomplete", "dropUp", "disabled", "readonly", "fluid"], outputs: ["selected", "submit", "close", "search", "clear"] }, { kind: "component", type: i5.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "component", type: FormDisplayConfigurationComponent, selector: "valtimo-form-display-configuration", inputs: ["selectedFormDefinition"], outputs: ["formDisplayValue", "formSizeValue", "subtitlesValue"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i2$1.TranslatePipe, name: "translate" }] }); }
2036
2123
  }
2037
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectFormFlowComponent, decorators: [{
2124
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SelectFormFlowComponent, decorators: [{
2038
2125
  type: Component,
2039
- args: [{ selector: 'valtimo-select-form-flow', 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 formFlowDefinitions: formFlowDefinitionListItems$ | async,\n saving: saving$ | async,\n } as obs\"\n>\n <p class=\"step-description\">\n {{ 'processLinkConfiguration.chooseFormFlowDescription' | translate }}\n </p>\n <div class=\"select-form-flow\">\n <cds-combo-box\n [appendInline]=\"true\"\n [disabled]=\"!obs.formFlowDefinitions || obs.saving\"\n [items]=\"obs.formFlowDefinitions || []\"\n [placeholder]=\"'interface.typeToSearch' | translate\"\n (selected)=\"selectFormFlowDefinition($event)\"\n [label]=\"'processLinkSteps.selectFormFlow' | translate\"\n ><cds-dropdown-list></cds-dropdown-list\n ></cds-combo-box>\n <br />\n\n <valtimo-form-display-configuration\n [selectedFormDefinition]=\"selectedFormFlowDefinition\"\n (formDisplayValue)=\"selectedFormDisplayValue($event)\"\n (formSizeValue)=\"selectedFormSizeValue($event)\"\n (subtitlesValue)=\"selectedSubtitlesValue($event)\"\n ></valtimo-form-display-configuration>\n </div>\n</ng-container>\n", styles: [".label-with-tooltip{display:flex;align-items:center}.select-form-flow{display:flex;flex-direction:column;width:100%;margin-top: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"] }]
2040
- }], ctorParameters: () => [{ type: i1$1.ConfigService }, { type: FormFlowService }, { type: ProcessLinkStateService }, { type: ProcessLinkService }, { type: ProcessLinkButtonService }] });
2126
+ args: [{ standalone: false, selector: 'valtimo-select-form-flow', 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<ng-container\n *ngIf=\"{\n formFlowDefinitions: formFlowDefinitionListItems$ | async,\n saving: saving$ | async,\n } as obs\"\n>\n <p class=\"step-description\">\n {{ 'processLinkConfiguration.chooseFormFlowDescription' | translate }}\n </p>\n\n <div class=\"select-form-flow\">\n <cds-combo-box\n [appendInline]=\"true\"\n [disabled]=\"!obs.formFlowDefinitions || obs.saving\"\n [items]=\"obs.formFlowDefinitions || []\"\n [placeholder]=\"'interface.typeToSearch' | translate\"\n (selected)=\"selectFormFlowDefinition($event)\"\n [label]=\"'processLinkSteps.selectFormFlow' | translate\"\n ><cds-dropdown-list></cds-dropdown-list\n ></cds-combo-box>\n\n <br />\n\n <valtimo-form-display-configuration\n [selectedFormDefinition]=\"selectedFormFlowDefinitionId\"\n (formDisplayValue)=\"selectedFormDisplayValue($event)\"\n (formSizeValue)=\"selectedFormSizeValue($event)\"\n (subtitlesValue)=\"selectedSubtitlesValue($event)\"\n ></valtimo-form-display-configuration>\n </div>\n</ng-container>\n", styles: [".label-with-tooltip{display:flex;align-items:center}.select-form-flow{display:flex;flex-direction:column;width:100%;margin-top:24px}\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"] }]
2127
+ }], ctorParameters: () => [{ type: i1$5.FormFlowService }, { type: ProcessLinkStateService }, { type: ProcessLinkService }, { type: ProcessLinkButtonService }, { type: i3$1.ActivatedRoute }] });
2041
2128
 
2042
2129
  /*
2043
- * Copyright 2015-2024 Ritense BV, the Netherlands.
2130
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
2044
2131
  *
2045
2132
  * Licensed under EUPL, Version 1.2 (the "License");
2046
2133
  * you may not use this file except in compliance with the License.
@@ -2064,7 +2151,7 @@ class SelectUIComponentComponent {
2064
2151
  this.formCustomComponentListItems$ = combineLatest([
2065
2152
  this.stateService.selectedProcessLink$,
2066
2153
  this._formCustomComponentConfig$,
2067
- ]).pipe(map(([selectedProcessLink, formCustomComponentConfigs]) => Object.keys(formCustomComponentConfigs).map(key => ({
2154
+ ]).pipe(map$1(([selectedProcessLink, formCustomComponentConfigs]) => Object.keys(formCustomComponentConfigs).map(key => ({
2068
2155
  content: key,
2069
2156
  selected: selectedProcessLink ? selectedProcessLink?.componentKey === key : false,
2070
2157
  }))), tap(formCustomComponentListItems => {
@@ -2085,7 +2172,7 @@ class SelectUIComponentComponent {
2085
2172
  }
2086
2173
  selectCustomComponent(selectedCustomComponent) {
2087
2174
  this._selectedCustomComponent = selectedCustomComponent;
2088
- this._selectedCustomComponent.content
2175
+ this._selectedCustomComponent?.content
2089
2176
  ? this.buttonService.enableSaveButton()
2090
2177
  : this.buttonService.disableSaveButton();
2091
2178
  }
@@ -2102,54 +2189,53 @@ class SelectUIComponentComponent {
2102
2189
  }
2103
2190
  saveProcessLink() {
2104
2191
  this.stateService.selectedProcessLink$.pipe(take$1(1)).subscribe(selectedProcessLink => {
2105
- if (selectedProcessLink) {
2106
- this.updateProcessLink();
2107
- }
2108
- else {
2109
- this.saveNewProcessLink();
2110
- }
2192
+ selectedProcessLink ? this.updateProcessLink() : this.saveNewProcessLink();
2111
2193
  });
2112
2194
  }
2113
2195
  updateProcessLink() {
2114
2196
  this.stateService.selectedProcessLink$.pipe(take$1(1)).subscribe(selectedProcessLink => {
2115
- const updateProcessLinkRequest = {
2197
+ const updateRequest = {
2116
2198
  id: selectedProcessLink.id,
2117
2199
  componentKey: this._selectedCustomComponent.content,
2200
+ activityId: selectedProcessLink.activityId,
2118
2201
  };
2119
- this.processLinkService.updateProcessLink(updateProcessLinkRequest).subscribe({
2120
- next: () => {
2121
- this.stateService.closeModal();
2122
- },
2123
- error: () => {
2124
- this.stateService.stopSaving();
2125
- },
2202
+ if (this.stateService.processLinkEditMode === ProcessLinkEditMode.EMIT_EVENTS) {
2203
+ this.stateService.sendProcessLinkUpdateEvent(updateRequest);
2204
+ return;
2205
+ }
2206
+ this.processLinkService.updateProcessLink(updateRequest).subscribe({
2207
+ next: () => this.stateService.closeModal(),
2208
+ error: () => this.stateService.stopSaving(),
2126
2209
  });
2127
2210
  });
2128
2211
  }
2129
2212
  saveNewProcessLink() {
2130
2213
  combineLatest([this.stateService.modalParams$, this.stateService.selectedProcessLinkTypeId$])
2131
- .pipe(take$1(1), switchMap(([modalParams, processLinkTypeId]) => this.processLinkService.saveProcessLink({
2132
- componentKey: this._selectedCustomComponent.content,
2133
- activityType: modalParams.element.activityListenerType || '',
2134
- processDefinitionId: modalParams.processDefinitionId,
2135
- processLinkType: processLinkTypeId,
2136
- activityId: modalParams.element.id,
2137
- })))
2214
+ .pipe(take$1(1), switchMap(([modalParams, processLinkTypeId]) => {
2215
+ const createRequest = {
2216
+ componentKey: this._selectedCustomComponent.content,
2217
+ activityType: modalParams.element.activityListenerType || '',
2218
+ processDefinitionId: modalParams.processDefinitionId,
2219
+ processLinkType: processLinkTypeId,
2220
+ activityId: modalParams.element.id,
2221
+ };
2222
+ if (this.stateService.processLinkEditMode === ProcessLinkEditMode.EMIT_EVENTS) {
2223
+ this.stateService.sendProcessLinkCreateEvent(createRequest);
2224
+ return [];
2225
+ }
2226
+ return this.processLinkService.saveProcessLink(createRequest);
2227
+ }))
2138
2228
  .subscribe({
2139
- next: () => {
2140
- this.stateService.closeModal();
2141
- },
2142
- error: () => {
2143
- this.stateService.stopSaving();
2144
- },
2229
+ next: () => this.stateService.closeModal(),
2230
+ error: () => this.stateService.stopSaving(),
2145
2231
  });
2146
2232
  }
2147
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectUIComponentComponent, deps: [{ token: ProcessLinkStateService }, { token: ProcessLinkButtonService }, { token: ProcessLinkService }, { token: FORM_CUSTOM_COMPONENT_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
2148
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SelectUIComponentComponent, selector: "valtimo-select-ui-component", 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<cds-combo-box\n [dropUp]=\"false\"\n formControlName=\"contentKey\"\n [items]=\"formCustomComponentListItems$ | async\"\n itemValueKey=\"contentKey\"\n [label]=\"'processLinkSteps.uiComponent' | translate\"\n (selected)=\"selectCustomComponent($event)\"\n>\n <cds-dropdown-list></cds-dropdown-list>\n</cds-combo-box>\n", styles: [".custom-widget{padding:24px}.custom-widget__header{display:flex;align-items:center;justify-content:space-between}.custom-widget__title{color:var(--cds-text-primary);font-weight:600;font-size:16px;line-height: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: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.ComboBox, selector: "cds-combo-box, ibm-combo-box", inputs: ["placeholder", "openMenuAria", "closeMenuAria", "clearSelectionsTitle", "clearSelectionsAria", "clearSelectionTitle", "clearSelectionAria", "id", "labelId", "items", "type", "size", "itemValueKey", "label", "hideLabel", "helperText", "appendInline", "invalid", "invalidText", "warn", "warnText", "maxLength", "theme", "selectionFeedback", "autocomplete", "dropUp", "disabled"], outputs: ["selected", "submit", "close", "search", "clear"] }, { kind: "component", type: i5$1.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "pipe", type: i3$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2233
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SelectUIComponentComponent, deps: [{ token: ProcessLinkStateService }, { token: ProcessLinkButtonService }, { token: ProcessLinkService }, { token: FORM_CUSTOM_COMPONENT_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
2234
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: SelectUIComponentComponent, isStandalone: false, selector: "valtimo-select-ui-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<cds-combo-box\n [dropUp]=\"false\"\n formControlName=\"contentKey\"\n [items]=\"formCustomComponentListItems$ | async\"\n itemValueKey=\"contentKey\"\n [label]=\"'processLinkSteps.uiComponent' | translate\"\n (selected)=\"selectCustomComponent($event)\"\n>\n <cds-dropdown-list></cds-dropdown-list>\n</cds-combo-box>\n", styles: [".custom-widget{padding:24px}.custom-widget__header{display:flex;align-items:center;justify-content:space-between}.custom-widget__title{color:var(--cds-text-primary);font-weight:600;font-size:16px;line-height:24px}\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: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.ComboBox, selector: "cds-combo-box, ibm-combo-box", inputs: ["placeholder", "openMenuAria", "closeMenuAria", "clearSelectionsTitle", "clearSelectionsAria", "clearSelectionTitle", "clearSelectionAria", "id", "labelId", "items", "type", "size", "itemValueKey", "label", "hideLabel", "helperText", "appendInline", "invalid", "invalidText", "warn", "warnText", "maxLength", "theme", "selectionFeedback", "autocomplete", "dropUp", "disabled", "readonly", "fluid"], outputs: ["selected", "submit", "close", "search", "clear"] }, { kind: "component", type: i5.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i2$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2149
2235
  }
2150
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectUIComponentComponent, decorators: [{
2236
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SelectUIComponentComponent, decorators: [{
2151
2237
  type: Component,
2152
- args: [{ selector: 'valtimo-select-ui-component', 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<cds-combo-box\n [dropUp]=\"false\"\n formControlName=\"contentKey\"\n [items]=\"formCustomComponentListItems$ | async\"\n itemValueKey=\"contentKey\"\n [label]=\"'processLinkSteps.uiComponent' | translate\"\n (selected)=\"selectCustomComponent($event)\"\n>\n <cds-dropdown-list></cds-dropdown-list>\n</cds-combo-box>\n", styles: [".custom-widget{padding:24px}.custom-widget__header{display:flex;align-items:center;justify-content:space-between}.custom-widget__title{color:var(--cds-text-primary);font-weight:600;font-size:16px;line-height: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"] }]
2238
+ args: [{ standalone: false, selector: 'valtimo-select-ui-component', 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<cds-combo-box\n [dropUp]=\"false\"\n formControlName=\"contentKey\"\n [items]=\"formCustomComponentListItems$ | async\"\n itemValueKey=\"contentKey\"\n [label]=\"'processLinkSteps.uiComponent' | translate\"\n (selected)=\"selectCustomComponent($event)\"\n>\n <cds-dropdown-list></cds-dropdown-list>\n</cds-combo-box>\n", styles: [".custom-widget{padding:24px}.custom-widget__header{display:flex;align-items:center;justify-content:space-between}.custom-widget__title{color:var(--cds-text-primary);font-weight:600;font-size:16px;line-height:24px}\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"] }]
2153
2239
  }], ctorParameters: () => [{ type: ProcessLinkStateService }, { type: ProcessLinkButtonService }, { type: ProcessLinkService }, { type: undefined, decorators: [{
2154
2240
  type: Optional
2155
2241
  }, {
@@ -2158,7 +2244,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
2158
2244
  }] }] });
2159
2245
 
2160
2246
  /*
2161
- * Copyright 2015-2024 Ritense BV, the Netherlands.
2247
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
2162
2248
  *
2163
2249
  * Licensed under EUPL, Version 1.2 (the "License");
2164
2250
  * you may not use this file except in compliance with the License.
@@ -2211,8 +2297,14 @@ class ProcessLinkModalComponent {
2211
2297
  this.buttonService.clickNextButton();
2212
2298
  }
2213
2299
  unlinkButtonClick() {
2214
- this.stateService.startSaving();
2215
2300
  this.stateService.selectedProcessLink$.pipe(take(1)).subscribe(selectedProcessLink => {
2301
+ if (this.processLinkStateService.processLinkEditMode === ProcessLinkEditMode.EMIT_EVENTS) {
2302
+ this.processLinkStateService.sendProcessLinkDeleteEvent({
2303
+ activityId: selectedProcessLink.activityId,
2304
+ });
2305
+ return;
2306
+ }
2307
+ this.stateService.startSaving();
2216
2308
  this.processLinkService.deleteProcessLink(selectedProcessLink.id).subscribe(() => {
2217
2309
  this.stateService.closeModal();
2218
2310
  }, () => {
@@ -2223,16 +2315,16 @@ class ProcessLinkModalComponent {
2223
2315
  toggleCheckedChange(value) {
2224
2316
  this.processLinkStateService.setViewModelEnabled(value);
2225
2317
  }
2226
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ProcessLinkModalComponent, deps: [{ token: ProcessLinkStateService }, { token: ProcessLinkStepService }, { token: ProcessLinkButtonService }, { token: PluginStateService }, { token: ProcessLinkService }, { token: ProcessLinkStateService }, { token: i1$1.ConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
2227
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ProcessLinkModalComponent, selector: "valtimo-process-link-modal", 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=\"process-link-modal-container\"\n *ngIf=\"{\n showModal: showModal$ | async,\n processStepName: processStepName$ | async,\n steps: steps$ | async,\n currentStepIndex: currentStepIndex$ | async,\n currentStepId: currentStepId$ | async,\n showSaveButton: showSaveButton$ | async,\n enableSaveButton: enableSaveButton$ | async,\n showBackButton: showBackButton$ | async,\n showNextButton: showNextButton$ | async,\n enableNextButton: enableNextButton$ | async,\n saving: saving$ | async,\n hideProgressIndicator: hideProgressIndicator$ | async,\n typeOfSelectedProgressLink: typeOfSelectedProcessLink$ | async,\n } as obs\"\n>\n <cds-modal valtimoCdsModal [open]=\"obs.showModal\" size=\"lg\">\n <cds-modal-header (closeSelect)=\"closeModal()\">\n <h2 cdsModalHeaderLabel>{{ 'processLinkConfiguration.configureStep' | translate }}</h2>\n <h3 cdsModalHeaderHeading>\n {{\n 'processLinkConfiguration.modalTitle'\n | translate: {processStepName: obs.processStepName || '-'}\n }}\n </h3>\n <div class=\"process-link-progress\" *ngIf=\"!obs.typeOfSelectedProgressLink\">\n <ng-container *ngTemplateOutlet=\"progressIndicator; context: {obs: obs}\"></ng-container>\n </div>\n </cds-modal-header>\n <section cdsModalContent [cdsLayer]=\"1\">\n <ng-container *ngTemplateOutlet=\"stepContent; context: {obs: obs}\"></ng-container>\n </section>\n <ng-template *ngTemplateOutlet=\"footer; context: {obs: obs}\"></ng-template>\n </cds-modal>\n</div>\n\n<ng-template #progressIndicator let-obs=\"obs\">\n <cds-progress-indicator\n *ngIf=\"obs.steps && !obs.hideProgressIndicator\"\n [steps]=\"obs.steps\"\n [current]=\"obs.currentStepIndex\"\n spacing=\"equal\"\n ></cds-progress-indicator>\n</ng-template>\n\n<ng-template #stepContent let-obs=\"obs\">\n <div class=\"cds-loading-container\" *ngIf=\"obs.saving\">\n <cds-loading></cds-loading>\n </div>\n <div [ngClass]=\"{hidden: obs.saving}\">\n <ng-container>\n <ng-container *ngIf=\"obs.currentStepId === 'chooseProcessLinkType'\">\n <valtimo-choose-process-link-type></valtimo-choose-process-link-type>\n </ng-container>\n <ng-container\n *ngIf=\"obs.currentStepId === 'selectForm' || obs.typeOfSelectedProgressLink === 'form'\"\n >\n <valtimo-select-form></valtimo-select-form>\n <br />\n <cds-toggle\n *ngIf=\"showViewModelToggle\"\n [label]=\"'processLinkConfiguration.toggleViewModel.title' | translate\"\n [onText]=\"'processLinkConfiguration.toggleViewModel.checkboxDescription' | translate\"\n [offText]=\"'processLinkConfiguration.toggleViewModel.checkboxDescription' | translate\"\n [checked]=\"viewModelEnabled$ | async\"\n (checkedChange)=\"toggleCheckedChange($event)\"\n ></cds-toggle>\n </ng-container>\n <ng-container\n *ngIf=\"\n obs.currentStepId === 'selectFormFlow' || obs.typeOfSelectedProgressLink === 'form-flow'\n \"\n >\n <valtimo-select-form-flow></valtimo-select-form-flow>\n </ng-container>\n <ng-container *ngIf=\"obs.currentStepId === 'choosePluginConfiguration'\">\n <valtimo-select-plugin-configuration></valtimo-select-plugin-configuration>\n </ng-container>\n <ng-container *ngIf=\"obs.currentStepId === 'choosePluginAction'\">\n <valtimo-select-plugin-action></valtimo-select-plugin-action>\n </ng-container>\n <ng-container\n *ngIf=\"\n obs.currentStepId === 'configurePluginAction' ||\n obs.typeOfSelectedProgressLink === 'plugin'\n \"\n >\n <valtimo-plugin-action-configuration\n [selectedPluginConfiguration$]=\"selectedPluginConfiguration$\"\n ></valtimo-plugin-action-configuration>\n </ng-container>\n </ng-container>\n <valtimo-select-url\n *ngIf=\"obs.currentStepId === 'selectURL' || obs.typeOfSelectedProgressLink === 'url'\"\n ></valtimo-select-url>\n <ng-container\n *ngIf=\"\n obs.currentStepId === 'uiComponent' || obs.typeOfSelectedProgressLink === 'ui-component'\n \"\n >\n <valtimo-select-ui-component></valtimo-select-ui-component>\n </ng-container>\n </div>\n</ng-template>\n\n<ng-template #footer let-obs=\"obs\">\n <cds-modal-footer *ngIf=\"!obs.saving\">\n <div class=\"cancel-button\">\n <button cdsButton=\"ghost\" (click)=\"closeModal()\" [disabled]=\"obs.disabled\">\n {{ 'processLinkConfiguration.cancel' | translate }}\n </button>\n </div>\n <div class=\"navigation-buttons\">\n <button\n *ngIf=\"obs.showBackButton && !obs.saving\"\n cdsButton=\"secondary\"\n (click)=\"backButtonClick()\"\n >\n {{ 'processLinkConfiguration.back' | translate }}\n </button>\n <button\n cdsButton=\"primary\"\n *ngIf=\"obs.showNextButton && !obs.saving\"\n [disabled]=\"obs.enableNextButton === false\"\n (click)=\"nextButtonClick()\"\n >\n {{ 'processLinkConfiguration.next' | translate }}\n </button>\n <button\n cdsButton=\"danger--primary\"\n *ngIf=\"obs.typeOfSelectedProgressLink\"\n (click)=\"unlinkButtonClick()\"\n >\n {{ 'processLinkConfiguration.unlink' | translate }}\n </button>\n <button\n cdsButton=\"primary\"\n *ngIf=\"(obs.showSaveButton && !obs.saving) || obs.typeOfSelectedProgressLink\"\n [disabled]=\"obs.enableSaveButton === false\"\n (click)=\"saveButtonClick()\"\n >\n {{ 'processLinkConfiguration.complete' | translate }}\n </button>\n </div>\n </cds-modal-footer>\n</ng-template>\n", styles: ["::ng-deep .process-link-modal-container .cds--modal-container{max-width:960px;min-height:70%}::ng-deep .process-link-modal-container .cds--modal-footer{justify-content:space-between}.cds-loading-container{position:absolute;top:50px;padding-bottom:50px;left:0;width:100%;height:calc(100% - 50px);display:flex;justify-content:center;align-items:center;background:var(--cds-layer);z-index:99;box-sizing:border-box}.navigation-buttons{justify-content:flex-end}.navigation-buttons,.cancel-button{max-width:50%;display:flex;flex-direction:row;flex-grow:1}.navigation-buttons button,.cancel-button button{min-width:50%}.cancel-button{max-width:25%}.cancel-button button{min-width:100%}.process-link-progress{width:100%;margin-top:32px;margin-bottom:40px}.hidden{visibility:hidden}\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: i3$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { 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: i4.ModalHeaderLabel, selector: "[cdsModalHeaderLabel], [ibmModalHeaderLabel]" }, { kind: "component", type: i4.ProgressIndicator, selector: "cds-progress-indicator, ibm-progress-indicator", inputs: ["current", "steps", "translations", "orientation", "skeleton", "spacing"], outputs: ["stepSelected"] }, { kind: "directive", type: i4.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "component", type: i4.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "directive", type: i4$1.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", inputs: ["enableOverflow"] }, { kind: "component", type: i4.Toggle, selector: "cds-toggle, ibm-toggle", inputs: ["offText", "onText", "label", "size", "hideLabel", "skeleton"] }, { kind: "directive", type: i4.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "component", type: SelectPluginConfigurationComponent, selector: "valtimo-select-plugin-configuration" }, { kind: "component", type: SelectPluginActionComponent, selector: "valtimo-select-plugin-action" }, { kind: "component", type: PluginActionConfigurationComponent, selector: "valtimo-plugin-action-configuration", inputs: ["selectedPluginConfiguration$"], outputs: ["valid", "configuration"] }, { kind: "component", type: ChooseProcessLinkTypeComponent, selector: "valtimo-choose-process-link-type" }, { kind: "component", type: SelectFormComponent, selector: "valtimo-select-form" }, { kind: "component", type: SelectFormFlowComponent, selector: "valtimo-select-form-flow" }, { kind: "component", type: SelectUrlComponent, selector: "valtimo-select-url" }, { kind: "component", type: SelectUIComponentComponent, selector: "valtimo-select-ui-component" }, { kind: "pipe", type: i3$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
2318
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ProcessLinkModalComponent, deps: [{ token: ProcessLinkStateService }, { token: ProcessLinkStepService }, { token: ProcessLinkButtonService }, { token: PluginStateService }, { token: ProcessLinkService }, { token: ProcessLinkStateService }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
2319
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: ProcessLinkModalComponent, isStandalone: false, selector: "valtimo-process-link-modal", 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<div\n class=\"process-link-modal-container\"\n *ngIf=\"{\n showModal: showModal$ | async,\n processStepName: processStepName$ | async,\n steps: steps$ | async,\n currentStepIndex: currentStepIndex$ | async,\n currentStepId: currentStepId$ | async,\n showSaveButton: showSaveButton$ | async,\n enableSaveButton: enableSaveButton$ | async,\n showBackButton: showBackButton$ | async,\n showNextButton: showNextButton$ | async,\n enableNextButton: enableNextButton$ | async,\n saving: saving$ | async,\n hideProgressIndicator: hideProgressIndicator$ | async,\n typeOfSelectedProgressLink: typeOfSelectedProcessLink$ | async,\n } as obs\"\n>\n <cds-modal valtimoCdsModal [open]=\"obs.showModal\" size=\"lg\" (close)=\"closeModal()\">\n <cds-modal-header (closeSelect)=\"closeModal()\">\n <h2 cdsModalHeaderLabel>{{ 'processLinkConfiguration.configureStep' | translate }}</h2>\n <h3 cdsModalHeaderHeading>\n {{\n 'processLinkConfiguration.modalTitle'\n | translate: {processStepName: obs.processStepName || '-'}\n }}\n </h3>\n <div class=\"process-link-progress\" *ngIf=\"!obs.typeOfSelectedProgressLink\">\n <ng-container *ngTemplateOutlet=\"progressIndicator; context: {obs: obs}\"></ng-container>\n </div>\n </cds-modal-header>\n <section cdsModalContent [cdsLayer]=\"1\">\n <ng-container *ngTemplateOutlet=\"stepContent; context: {obs: obs}\"></ng-container>\n </section>\n <ng-template *ngTemplateOutlet=\"footer; context: {obs: obs}\"></ng-template>\n </cds-modal>\n</div>\n\n<ng-template #progressIndicator let-obs=\"obs\">\n <cds-progress-indicator\n *ngIf=\"obs.steps && !obs.hideProgressIndicator\"\n [steps]=\"obs.steps\"\n [current]=\"obs.currentStepIndex\"\n spacing=\"equal\"\n ></cds-progress-indicator>\n</ng-template>\n\n<ng-template #stepContent let-obs=\"obs\">\n <div class=\"cds-loading-container\" *ngIf=\"obs.saving\">\n <cds-loading></cds-loading>\n </div>\n <div [ngClass]=\"{hidden: obs.saving}\">\n <ng-container>\n <ng-container *ngIf=\"obs.currentStepId === 'chooseProcessLinkType'\">\n <valtimo-choose-process-link-type></valtimo-choose-process-link-type>\n </ng-container>\n <ng-container\n *ngIf=\"obs.currentStepId === 'selectForm' || obs.typeOfSelectedProgressLink === 'form'\"\n >\n <valtimo-select-form></valtimo-select-form>\n <br />\n <cds-toggle\n *ngIf=\"showViewModelToggle\"\n [label]=\"'processLinkConfiguration.toggleViewModel.title' | translate\"\n [onText]=\"'processLinkConfiguration.toggleViewModel.checkboxDescription' | translate\"\n [offText]=\"'processLinkConfiguration.toggleViewModel.checkboxDescription' | translate\"\n [checked]=\"viewModelEnabled$ | async\"\n (checkedChange)=\"toggleCheckedChange($event)\"\n ></cds-toggle>\n </ng-container>\n <ng-container\n *ngIf=\"\n obs.currentStepId === 'selectFormFlow' || obs.typeOfSelectedProgressLink === 'form-flow'\n \"\n >\n <valtimo-select-form-flow></valtimo-select-form-flow>\n </ng-container>\n\n <ng-container *ngIf=\"obs.currentStepId === 'choosePluginConfiguration'\">\n <valtimo-select-plugin-configuration></valtimo-select-plugin-configuration>\n </ng-container>\n\n <ng-container *ngIf=\"obs.currentStepId === 'choosePluginAction'\">\n <valtimo-select-plugin-action></valtimo-select-plugin-action>\n </ng-container>\n\n <ng-container\n *ngIf=\"\n obs.currentStepId === 'configurePluginAction' ||\n obs.typeOfSelectedProgressLink === 'plugin'\n \"\n >\n <valtimo-plugin-action-configuration\n [selectedPluginConfiguration$]=\"selectedPluginConfiguration$\"\n ></valtimo-plugin-action-configuration>\n </ng-container>\n </ng-container>\n\n <ng-container\n *ngIf=\"\n obs.currentStepId === 'uiComponent' || obs.typeOfSelectedProgressLink === 'ui-component'\n \"\n >\n <valtimo-select-ui-component></valtimo-select-ui-component>\n </ng-container>\n </div>\n</ng-template>\n\n<ng-template #footer let-obs=\"obs\">\n <cds-modal-footer *ngIf=\"!obs.saving\">\n <div class=\"cancel-button\">\n <button cdsButton=\"ghost\" (click)=\"closeModal()\" [disabled]=\"obs.disabled\">\n {{ 'processLinkConfiguration.cancel' | translate }}\n </button>\n </div>\n <div class=\"navigation-buttons\">\n <button\n *ngIf=\"obs.showBackButton && !obs.saving\"\n cdsButton=\"secondary\"\n (click)=\"backButtonClick()\"\n >\n {{ 'processLinkConfiguration.back' | translate }}\n </button>\n <button\n cdsButton=\"primary\"\n *ngIf=\"obs.showNextButton && !obs.saving\"\n [disabled]=\"!obs.enableNextButton\"\n (click)=\"nextButtonClick()\"\n >\n {{ 'processLinkConfiguration.next' | translate }}\n </button>\n <button\n cdsButton=\"danger--primary\"\n *ngIf=\"obs.typeOfSelectedProgressLink\"\n (click)=\"unlinkButtonClick()\"\n >\n {{ 'processLinkConfiguration.unlink' | translate }}\n </button>\n <button\n cdsButton=\"primary\"\n *ngIf=\"(obs.showSaveButton && !obs.saving) || obs.typeOfSelectedProgressLink\"\n [disabled]=\"!obs.enableSaveButton\"\n (click)=\"saveButtonClick()\"\n >\n {{ 'processLinkConfiguration.complete' | translate }}\n </button>\n </div>\n </cds-modal-footer>\n</ng-template>\n", styles: ["::ng-deep .process-link-modal-container .cds--modal-container{max-width:960px;min-height:70%}::ng-deep .process-link-modal-container .cds--modal-footer{justify-content:space-between}.cds-loading-container{position:absolute;top:50px;padding-bottom:50px;left:0;width:100%;height:calc(100% - 50px);display:flex;justify-content:center;align-items:center;background:var(--cds-layer);z-index:99;box-sizing:border-box}.navigation-buttons{justify-content:flex-end}.navigation-buttons,.cancel-button{max-width:50%;display:flex;flex-direction:row;flex-grow:1}.navigation-buttons button,.cancel-button button{min-width:50%}.cancel-button{max-width:25%}.cancel-button button{min-width:100%}.process-link-progress{width:100%;margin-top:32px;margin-bottom:40px}.hidden{visibility:hidden}\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: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: 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: i4.ModalHeaderLabel, selector: "[cdsModalHeaderLabel], [ibmModalHeaderLabel]" }, { kind: "component", type: i4.ProgressIndicator, selector: "cds-progress-indicator, ibm-progress-indicator", inputs: ["current", "steps", "translations", "orientation", "skeleton", "spacing"], outputs: ["stepSelected"] }, { kind: "directive", type: i4.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "component", type: i4.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "directive", type: i2$2.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", inputs: ["minContentHeight"] }, { kind: "component", type: i4.Toggle, selector: "cds-toggle, ibm-toggle", inputs: ["offText", "onText", "label", "size", "hideLabel", "ariaLabel", "skeleton"] }, { kind: "directive", type: i4.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "component", type: SelectPluginConfigurationComponent, selector: "valtimo-select-plugin-configuration" }, { kind: "component", type: SelectPluginActionComponent, selector: "valtimo-select-plugin-action" }, { kind: "component", type: PluginActionConfigurationComponent, selector: "valtimo-plugin-action-configuration", inputs: ["selectedPluginConfiguration$"], outputs: ["valid", "configuration"] }, { kind: "component", type: ChooseProcessLinkTypeComponent, selector: "valtimo-choose-process-link-type" }, { kind: "component", type: SelectFormComponent, selector: "valtimo-select-form" }, { kind: "component", type: SelectFormFlowComponent, selector: "valtimo-select-form-flow" }, { kind: "component", type: SelectUIComponentComponent, selector: "valtimo-select-ui-component" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i2$1.TranslatePipe, name: "translate" }] }); }
2228
2320
  }
2229
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ProcessLinkModalComponent, decorators: [{
2321
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ProcessLinkModalComponent, decorators: [{
2230
2322
  type: Component,
2231
- args: [{ selector: 'valtimo-process-link-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<div\n class=\"process-link-modal-container\"\n *ngIf=\"{\n showModal: showModal$ | async,\n processStepName: processStepName$ | async,\n steps: steps$ | async,\n currentStepIndex: currentStepIndex$ | async,\n currentStepId: currentStepId$ | async,\n showSaveButton: showSaveButton$ | async,\n enableSaveButton: enableSaveButton$ | async,\n showBackButton: showBackButton$ | async,\n showNextButton: showNextButton$ | async,\n enableNextButton: enableNextButton$ | async,\n saving: saving$ | async,\n hideProgressIndicator: hideProgressIndicator$ | async,\n typeOfSelectedProgressLink: typeOfSelectedProcessLink$ | async,\n } as obs\"\n>\n <cds-modal valtimoCdsModal [open]=\"obs.showModal\" size=\"lg\">\n <cds-modal-header (closeSelect)=\"closeModal()\">\n <h2 cdsModalHeaderLabel>{{ 'processLinkConfiguration.configureStep' | translate }}</h2>\n <h3 cdsModalHeaderHeading>\n {{\n 'processLinkConfiguration.modalTitle'\n | translate: {processStepName: obs.processStepName || '-'}\n }}\n </h3>\n <div class=\"process-link-progress\" *ngIf=\"!obs.typeOfSelectedProgressLink\">\n <ng-container *ngTemplateOutlet=\"progressIndicator; context: {obs: obs}\"></ng-container>\n </div>\n </cds-modal-header>\n <section cdsModalContent [cdsLayer]=\"1\">\n <ng-container *ngTemplateOutlet=\"stepContent; context: {obs: obs}\"></ng-container>\n </section>\n <ng-template *ngTemplateOutlet=\"footer; context: {obs: obs}\"></ng-template>\n </cds-modal>\n</div>\n\n<ng-template #progressIndicator let-obs=\"obs\">\n <cds-progress-indicator\n *ngIf=\"obs.steps && !obs.hideProgressIndicator\"\n [steps]=\"obs.steps\"\n [current]=\"obs.currentStepIndex\"\n spacing=\"equal\"\n ></cds-progress-indicator>\n</ng-template>\n\n<ng-template #stepContent let-obs=\"obs\">\n <div class=\"cds-loading-container\" *ngIf=\"obs.saving\">\n <cds-loading></cds-loading>\n </div>\n <div [ngClass]=\"{hidden: obs.saving}\">\n <ng-container>\n <ng-container *ngIf=\"obs.currentStepId === 'chooseProcessLinkType'\">\n <valtimo-choose-process-link-type></valtimo-choose-process-link-type>\n </ng-container>\n <ng-container\n *ngIf=\"obs.currentStepId === 'selectForm' || obs.typeOfSelectedProgressLink === 'form'\"\n >\n <valtimo-select-form></valtimo-select-form>\n <br />\n <cds-toggle\n *ngIf=\"showViewModelToggle\"\n [label]=\"'processLinkConfiguration.toggleViewModel.title' | translate\"\n [onText]=\"'processLinkConfiguration.toggleViewModel.checkboxDescription' | translate\"\n [offText]=\"'processLinkConfiguration.toggleViewModel.checkboxDescription' | translate\"\n [checked]=\"viewModelEnabled$ | async\"\n (checkedChange)=\"toggleCheckedChange($event)\"\n ></cds-toggle>\n </ng-container>\n <ng-container\n *ngIf=\"\n obs.currentStepId === 'selectFormFlow' || obs.typeOfSelectedProgressLink === 'form-flow'\n \"\n >\n <valtimo-select-form-flow></valtimo-select-form-flow>\n </ng-container>\n <ng-container *ngIf=\"obs.currentStepId === 'choosePluginConfiguration'\">\n <valtimo-select-plugin-configuration></valtimo-select-plugin-configuration>\n </ng-container>\n <ng-container *ngIf=\"obs.currentStepId === 'choosePluginAction'\">\n <valtimo-select-plugin-action></valtimo-select-plugin-action>\n </ng-container>\n <ng-container\n *ngIf=\"\n obs.currentStepId === 'configurePluginAction' ||\n obs.typeOfSelectedProgressLink === 'plugin'\n \"\n >\n <valtimo-plugin-action-configuration\n [selectedPluginConfiguration$]=\"selectedPluginConfiguration$\"\n ></valtimo-plugin-action-configuration>\n </ng-container>\n </ng-container>\n <valtimo-select-url\n *ngIf=\"obs.currentStepId === 'selectURL' || obs.typeOfSelectedProgressLink === 'url'\"\n ></valtimo-select-url>\n <ng-container\n *ngIf=\"\n obs.currentStepId === 'uiComponent' || obs.typeOfSelectedProgressLink === 'ui-component'\n \"\n >\n <valtimo-select-ui-component></valtimo-select-ui-component>\n </ng-container>\n </div>\n</ng-template>\n\n<ng-template #footer let-obs=\"obs\">\n <cds-modal-footer *ngIf=\"!obs.saving\">\n <div class=\"cancel-button\">\n <button cdsButton=\"ghost\" (click)=\"closeModal()\" [disabled]=\"obs.disabled\">\n {{ 'processLinkConfiguration.cancel' | translate }}\n </button>\n </div>\n <div class=\"navigation-buttons\">\n <button\n *ngIf=\"obs.showBackButton && !obs.saving\"\n cdsButton=\"secondary\"\n (click)=\"backButtonClick()\"\n >\n {{ 'processLinkConfiguration.back' | translate }}\n </button>\n <button\n cdsButton=\"primary\"\n *ngIf=\"obs.showNextButton && !obs.saving\"\n [disabled]=\"obs.enableNextButton === false\"\n (click)=\"nextButtonClick()\"\n >\n {{ 'processLinkConfiguration.next' | translate }}\n </button>\n <button\n cdsButton=\"danger--primary\"\n *ngIf=\"obs.typeOfSelectedProgressLink\"\n (click)=\"unlinkButtonClick()\"\n >\n {{ 'processLinkConfiguration.unlink' | translate }}\n </button>\n <button\n cdsButton=\"primary\"\n *ngIf=\"(obs.showSaveButton && !obs.saving) || obs.typeOfSelectedProgressLink\"\n [disabled]=\"obs.enableSaveButton === false\"\n (click)=\"saveButtonClick()\"\n >\n {{ 'processLinkConfiguration.complete' | translate }}\n </button>\n </div>\n </cds-modal-footer>\n</ng-template>\n", styles: ["::ng-deep .process-link-modal-container .cds--modal-container{max-width:960px;min-height:70%}::ng-deep .process-link-modal-container .cds--modal-footer{justify-content:space-between}.cds-loading-container{position:absolute;top:50px;padding-bottom:50px;left:0;width:100%;height:calc(100% - 50px);display:flex;justify-content:center;align-items:center;background:var(--cds-layer);z-index:99;box-sizing:border-box}.navigation-buttons{justify-content:flex-end}.navigation-buttons,.cancel-button{max-width:50%;display:flex;flex-direction:row;flex-grow:1}.navigation-buttons button,.cancel-button button{min-width:50%}.cancel-button{max-width:25%}.cancel-button button{min-width:100%}.process-link-progress{width:100%;margin-top:32px;margin-bottom:40px}.hidden{visibility:hidden}\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"] }]
2232
- }], ctorParameters: () => [{ type: ProcessLinkStateService }, { type: ProcessLinkStepService }, { type: ProcessLinkButtonService }, { type: PluginStateService }, { type: ProcessLinkService }, { type: ProcessLinkStateService }, { type: i1$1.ConfigService }] });
2323
+ args: [{ standalone: false, selector: 'valtimo-process-link-modal', 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<div\n class=\"process-link-modal-container\"\n *ngIf=\"{\n showModal: showModal$ | async,\n processStepName: processStepName$ | async,\n steps: steps$ | async,\n currentStepIndex: currentStepIndex$ | async,\n currentStepId: currentStepId$ | async,\n showSaveButton: showSaveButton$ | async,\n enableSaveButton: enableSaveButton$ | async,\n showBackButton: showBackButton$ | async,\n showNextButton: showNextButton$ | async,\n enableNextButton: enableNextButton$ | async,\n saving: saving$ | async,\n hideProgressIndicator: hideProgressIndicator$ | async,\n typeOfSelectedProgressLink: typeOfSelectedProcessLink$ | async,\n } as obs\"\n>\n <cds-modal valtimoCdsModal [open]=\"obs.showModal\" size=\"lg\" (close)=\"closeModal()\">\n <cds-modal-header (closeSelect)=\"closeModal()\">\n <h2 cdsModalHeaderLabel>{{ 'processLinkConfiguration.configureStep' | translate }}</h2>\n <h3 cdsModalHeaderHeading>\n {{\n 'processLinkConfiguration.modalTitle'\n | translate: {processStepName: obs.processStepName || '-'}\n }}\n </h3>\n <div class=\"process-link-progress\" *ngIf=\"!obs.typeOfSelectedProgressLink\">\n <ng-container *ngTemplateOutlet=\"progressIndicator; context: {obs: obs}\"></ng-container>\n </div>\n </cds-modal-header>\n <section cdsModalContent [cdsLayer]=\"1\">\n <ng-container *ngTemplateOutlet=\"stepContent; context: {obs: obs}\"></ng-container>\n </section>\n <ng-template *ngTemplateOutlet=\"footer; context: {obs: obs}\"></ng-template>\n </cds-modal>\n</div>\n\n<ng-template #progressIndicator let-obs=\"obs\">\n <cds-progress-indicator\n *ngIf=\"obs.steps && !obs.hideProgressIndicator\"\n [steps]=\"obs.steps\"\n [current]=\"obs.currentStepIndex\"\n spacing=\"equal\"\n ></cds-progress-indicator>\n</ng-template>\n\n<ng-template #stepContent let-obs=\"obs\">\n <div class=\"cds-loading-container\" *ngIf=\"obs.saving\">\n <cds-loading></cds-loading>\n </div>\n <div [ngClass]=\"{hidden: obs.saving}\">\n <ng-container>\n <ng-container *ngIf=\"obs.currentStepId === 'chooseProcessLinkType'\">\n <valtimo-choose-process-link-type></valtimo-choose-process-link-type>\n </ng-container>\n <ng-container\n *ngIf=\"obs.currentStepId === 'selectForm' || obs.typeOfSelectedProgressLink === 'form'\"\n >\n <valtimo-select-form></valtimo-select-form>\n <br />\n <cds-toggle\n *ngIf=\"showViewModelToggle\"\n [label]=\"'processLinkConfiguration.toggleViewModel.title' | translate\"\n [onText]=\"'processLinkConfiguration.toggleViewModel.checkboxDescription' | translate\"\n [offText]=\"'processLinkConfiguration.toggleViewModel.checkboxDescription' | translate\"\n [checked]=\"viewModelEnabled$ | async\"\n (checkedChange)=\"toggleCheckedChange($event)\"\n ></cds-toggle>\n </ng-container>\n <ng-container\n *ngIf=\"\n obs.currentStepId === 'selectFormFlow' || obs.typeOfSelectedProgressLink === 'form-flow'\n \"\n >\n <valtimo-select-form-flow></valtimo-select-form-flow>\n </ng-container>\n\n <ng-container *ngIf=\"obs.currentStepId === 'choosePluginConfiguration'\">\n <valtimo-select-plugin-configuration></valtimo-select-plugin-configuration>\n </ng-container>\n\n <ng-container *ngIf=\"obs.currentStepId === 'choosePluginAction'\">\n <valtimo-select-plugin-action></valtimo-select-plugin-action>\n </ng-container>\n\n <ng-container\n *ngIf=\"\n obs.currentStepId === 'configurePluginAction' ||\n obs.typeOfSelectedProgressLink === 'plugin'\n \"\n >\n <valtimo-plugin-action-configuration\n [selectedPluginConfiguration$]=\"selectedPluginConfiguration$\"\n ></valtimo-plugin-action-configuration>\n </ng-container>\n </ng-container>\n\n <ng-container\n *ngIf=\"\n obs.currentStepId === 'uiComponent' || obs.typeOfSelectedProgressLink === 'ui-component'\n \"\n >\n <valtimo-select-ui-component></valtimo-select-ui-component>\n </ng-container>\n </div>\n</ng-template>\n\n<ng-template #footer let-obs=\"obs\">\n <cds-modal-footer *ngIf=\"!obs.saving\">\n <div class=\"cancel-button\">\n <button cdsButton=\"ghost\" (click)=\"closeModal()\" [disabled]=\"obs.disabled\">\n {{ 'processLinkConfiguration.cancel' | translate }}\n </button>\n </div>\n <div class=\"navigation-buttons\">\n <button\n *ngIf=\"obs.showBackButton && !obs.saving\"\n cdsButton=\"secondary\"\n (click)=\"backButtonClick()\"\n >\n {{ 'processLinkConfiguration.back' | translate }}\n </button>\n <button\n cdsButton=\"primary\"\n *ngIf=\"obs.showNextButton && !obs.saving\"\n [disabled]=\"!obs.enableNextButton\"\n (click)=\"nextButtonClick()\"\n >\n {{ 'processLinkConfiguration.next' | translate }}\n </button>\n <button\n cdsButton=\"danger--primary\"\n *ngIf=\"obs.typeOfSelectedProgressLink\"\n (click)=\"unlinkButtonClick()\"\n >\n {{ 'processLinkConfiguration.unlink' | translate }}\n </button>\n <button\n cdsButton=\"primary\"\n *ngIf=\"(obs.showSaveButton && !obs.saving) || obs.typeOfSelectedProgressLink\"\n [disabled]=\"!obs.enableSaveButton\"\n (click)=\"saveButtonClick()\"\n >\n {{ 'processLinkConfiguration.complete' | translate }}\n </button>\n </div>\n </cds-modal-footer>\n</ng-template>\n", styles: ["::ng-deep .process-link-modal-container .cds--modal-container{max-width:960px;min-height:70%}::ng-deep .process-link-modal-container .cds--modal-footer{justify-content:space-between}.cds-loading-container{position:absolute;top:50px;padding-bottom:50px;left:0;width:100%;height:calc(100% - 50px);display:flex;justify-content:center;align-items:center;background:var(--cds-layer);z-index:99;box-sizing:border-box}.navigation-buttons{justify-content:flex-end}.navigation-buttons,.cancel-button{max-width:50%;display:flex;flex-direction:row;flex-grow:1}.navigation-buttons button,.cancel-button button{min-width:50%}.cancel-button{max-width:25%}.cancel-button button{min-width:100%}.process-link-progress{width:100%;margin-top:32px;margin-bottom:40px}.hidden{visibility:hidden}\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"] }]
2324
+ }], ctorParameters: () => [{ type: ProcessLinkStateService }, { type: ProcessLinkStepService }, { type: ProcessLinkButtonService }, { type: PluginStateService }, { type: ProcessLinkService }, { type: ProcessLinkStateService }, { type: i2.ConfigService }] });
2233
2325
 
2234
2326
  /*
2235
- * Copyright 2015-2024 Ritense BV, the Netherlands.
2327
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
2236
2328
  *
2237
2329
  * Licensed under EUPL, Version 1.2 (the "License");
2238
2330
  * you may not use this file except in compliance with the License.
@@ -2284,16 +2376,16 @@ class ProcessLinkComponent {
2284
2376
  .subscribe();
2285
2377
  }
2286
2378
  }
2287
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ProcessLinkComponent, deps: [{ token: ProcessLinkService }, { token: ProcessLinkStateService }, { token: i4$1.ModalService }], target: i0.ɵɵFactoryTarget.Component }); }
2288
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ProcessLinkComponent, selector: "valtimo-process-link", providers: [ProcessLinkStateService, ProcessLinkStepService, ProcessLinkButtonService], 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=\"main-content\">\n <div class=\"container-fluid\">\n <valtimo-form-link-process-diagram\n (bpmnElementModalOpen)=\"openModal($event)\"\n ></valtimo-form-link-process-diagram>\n </div>\n</div>\n\n<valtimo-process-link-modal></valtimo-process-link-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: "component", type: FormLinkProcessDiagramComponent, selector: "valtimo-form-link-process-diagram", outputs: ["bpmnElementModalOpen", "bpmnElementModalClose"] }, { kind: "component", type: ProcessLinkModalComponent, selector: "valtimo-process-link-modal" }] }); }
2379
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ProcessLinkComponent, deps: [{ token: ProcessLinkService }, { token: ProcessLinkStateService }, { token: i2$2.ModalService }], target: i0.ɵɵFactoryTarget.Component }); }
2380
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: ProcessLinkComponent, isStandalone: false, selector: "valtimo-process-link", providers: [ProcessLinkStateService, ProcessLinkStepService, ProcessLinkButtonService], 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<div class=\"main-content\">\n <div class=\"container-fluid\">\n <valtimo-form-link-process-diagram\n (bpmnElementModalOpen)=\"openModal($event)\"\n ></valtimo-form-link-process-diagram>\n </div>\n</div>\n\n<valtimo-process-link-modal></valtimo-process-link-modal>\n", styles: ["/*!\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: "component", type: FormLinkProcessDiagramComponent, selector: "valtimo-form-link-process-diagram", outputs: ["bpmnElementModalOpen", "bpmnElementModalClose"] }, { kind: "component", type: ProcessLinkModalComponent, selector: "valtimo-process-link-modal" }] }); }
2289
2381
  }
2290
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ProcessLinkComponent, decorators: [{
2382
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ProcessLinkComponent, decorators: [{
2291
2383
  type: Component,
2292
- args: [{ selector: 'valtimo-process-link', providers: [ProcessLinkStateService, ProcessLinkStepService, ProcessLinkButtonService], 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=\"main-content\">\n <div class=\"container-fluid\">\n <valtimo-form-link-process-diagram\n (bpmnElementModalOpen)=\"openModal($event)\"\n ></valtimo-form-link-process-diagram>\n </div>\n</div>\n\n<valtimo-process-link-modal></valtimo-process-link-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"] }]
2293
- }], ctorParameters: () => [{ type: ProcessLinkService }, { type: ProcessLinkStateService }, { type: i4$1.ModalService }] });
2384
+ args: [{ standalone: false, selector: 'valtimo-process-link', providers: [ProcessLinkStateService, ProcessLinkStepService, ProcessLinkButtonService], 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<div class=\"main-content\">\n <div class=\"container-fluid\">\n <valtimo-form-link-process-diagram\n (bpmnElementModalOpen)=\"openModal($event)\"\n ></valtimo-form-link-process-diagram>\n </div>\n</div>\n\n<valtimo-process-link-modal></valtimo-process-link-modal>\n", styles: ["/*!\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"] }]
2385
+ }], ctorParameters: () => [{ type: ProcessLinkService }, { type: ProcessLinkStateService }, { type: i2$2.ModalService }] });
2294
2386
 
2295
2387
  /*
2296
- * Copyright 2015-2024 Ritense BV, the Netherlands.
2388
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
2297
2389
  *
2298
2390
  * Licensed under EUPL, Version 1.2 (the "License");
2299
2391
  * you may not use this file except in compliance with the License.
@@ -2316,21 +2408,21 @@ const routes = [
2316
2408
  },
2317
2409
  ];
2318
2410
  class ProcessLinkRoutingModule {
2319
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ProcessLinkRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
2320
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: ProcessLinkRoutingModule, imports: [i2.RouterModule], exports: [RouterModule] }); }
2321
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ProcessLinkRoutingModule, imports: [RouterModule.forRoot(routes), RouterModule] }); }
2411
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ProcessLinkRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
2412
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.14", ngImport: i0, type: ProcessLinkRoutingModule, imports: [i3$1.RouterModule], exports: [RouterModule] }); }
2413
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ProcessLinkRoutingModule, imports: [RouterModule.forChild(routes), RouterModule] }); }
2322
2414
  }
2323
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ProcessLinkRoutingModule, decorators: [{
2415
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ProcessLinkRoutingModule, decorators: [{
2324
2416
  type: NgModule,
2325
2417
  args: [{
2326
- imports: [RouterModule.forRoot(routes)],
2418
+ imports: [RouterModule.forChild(routes)],
2327
2419
  exports: [RouterModule],
2328
2420
  declarations: [],
2329
2421
  }]
2330
2422
  }] });
2331
2423
 
2332
2424
  /*
2333
- * Copyright 2015-2024 Ritense BV, the Netherlands.
2425
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
2334
2426
  *
2335
2427
  * Licensed under EUPL, Version 1.2 (the "License");
2336
2428
  * you may not use this file except in compliance with the License.
@@ -2346,7 +2438,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
2346
2438
  */
2347
2439
 
2348
2440
  /*
2349
- * Copyright 2015-2024 Ritense BV, the Netherlands.
2441
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
2350
2442
  *
2351
2443
  * Licensed under EUPL, Version 1.2 (the "License");
2352
2444
  * you may not use this file except in compliance with the License.
@@ -2362,7 +2454,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
2362
2454
  */
2363
2455
 
2364
2456
  /*
2365
- * Copyright 2015-2024 Ritense BV, the Netherlands.
2457
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
2366
2458
  *
2367
2459
  * Licensed under EUPL, Version 1.2 (the "License");
2368
2460
  * you may not use this file except in compliance with the License.
@@ -2442,12 +2534,12 @@ class FormFlowConfigurationContainerComponent {
2442
2534
  }
2443
2535
  }));
2444
2536
  }
2445
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormFlowConfigurationContainerComponent, deps: [{ token: FormFlowComponentService }], target: i0.ɵɵFactoryTarget.Component }); }
2446
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FormFlowConfigurationContainerComponent, selector: "valtimo-form-flow-configuration-container", inputs: { disabled: "disabled", componentId: "componentId", formFlowInstanceId: "formFlowInstanceId" }, outputs: { changeEvent: "changeEvent", submitEvent: "submitEvent" }, viewQueries: [{ propertyName: "_dynamicContainer", first: true, predicate: ["formFlowConfigurationComponent"], descendants: true, read: ViewContainerRef, static: 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-template #formFlowConfigurationComponent></ng-template>\n" }); }
2537
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FormFlowConfigurationContainerComponent, deps: [{ token: FormFlowComponentService }], target: i0.ɵɵFactoryTarget.Component }); }
2538
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: FormFlowConfigurationContainerComponent, isStandalone: false, selector: "valtimo-form-flow-configuration-container", inputs: { disabled: "disabled", componentId: "componentId", formFlowInstanceId: "formFlowInstanceId" }, outputs: { changeEvent: "changeEvent", submitEvent: "submitEvent" }, viewQueries: [{ propertyName: "_dynamicContainer", first: true, predicate: ["formFlowConfigurationComponent"], descendants: true, read: ViewContainerRef, static: 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<ng-template #formFlowConfigurationComponent></ng-template>\n" }); }
2447
2539
  }
2448
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormFlowConfigurationContainerComponent, decorators: [{
2540
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FormFlowConfigurationContainerComponent, decorators: [{
2449
2541
  type: Component,
2450
- args: [{ selector: 'valtimo-form-flow-configuration-container', 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-template #formFlowConfigurationComponent></ng-template>\n" }]
2542
+ args: [{ standalone: false, selector: 'valtimo-form-flow-configuration-container', 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<ng-template #formFlowConfigurationComponent></ng-template>\n" }]
2451
2543
  }], ctorParameters: () => [{ type: FormFlowComponentService }], propDecorators: { _dynamicContainer: [{
2452
2544
  type: ViewChild,
2453
2545
  args: ['formFlowConfigurationComponent', { static: true, read: ViewContainerRef }]
@@ -2464,7 +2556,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
2464
2556
  }] } });
2465
2557
 
2466
2558
  /*
2467
- * Copyright 2015-2024 Ritense BV, the Netherlands.
2559
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
2468
2560
  *
2469
2561
  * Licensed under EUPL, Version 1.2 (the "License");
2470
2562
  * you may not use this file except in compliance with the License.
@@ -2576,7 +2668,7 @@ class FormFlowComponent {
2576
2668
  this.formFlowService.getBreadcrumbs(this.formFlowInstanceId$.getValue()),
2577
2669
  this.translateService.stream('key'),
2578
2670
  ])
2579
- .pipe(map$1(([breadcrumbs]) => breadcrumbs))
2671
+ .pipe(map(([breadcrumbs]) => breadcrumbs))
2580
2672
  .subscribe(breadcrumbs => {
2581
2673
  const classElement = document.getElementsByClassName('cds--progress-step--current');
2582
2674
  this.currentStepIndex$.next(breadcrumbs.currentStepIndex);
@@ -2638,13 +2730,13 @@ class FormFlowComponent {
2638
2730
  enable() {
2639
2731
  this.disabled$.next(false);
2640
2732
  }
2641
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormFlowComponent, deps: [{ token: FormFlowService }, { token: i4$1.ValtimoModalService }, { token: i3.TranslateService }, { token: i1$1.ConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
2642
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FormFlowComponent, selector: "valtimo-form-flow", inputs: { formIoFormData: "formIoFormData", formFlowInstanceId: "formFlowInstanceId" }, outputs: { formFlowComplete: "formFlowComplete", formFlowChange: "formFlowChange" }, viewQueries: [{ propertyName: "form", first: true, predicate: ["form"], 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 *ngIf=\"{\n breadcrumbs: breadcrumbs$ | async,\n currentStepIndex: currentStepIndex$ | async,\n enableFormFlowBreadcrumbs: enableFormFlowBreadcrumbs$ | async,\n formFlowInstanceId: formFlowInstanceId$ | async,\n } as obs\"\n>\n <div *ngIf=\"formDefinition && (formFlowStepType$ | async) === 'form'\">\n <div *ngIf=\"obs.enableFormFlowBreadcrumbs\" class=\"form-flow__progress-bar-indicator\">\n <cds-progress-indicator\n [spacing]=\"'equal'\"\n [skeleton]=\"obs.breadcrumbs.length === 0\"\n [current]=\"obs.currentStepIndex\"\n [steps]=\"obs.breadcrumbs\"\n (stepSelected)=\"onStepSelected($event)\"\n >\n </cds-progress-indicator>\n </div>\n\n <valtimo-form-io\n #form\n [form]=\"formDefinition\"\n (submit)=\"onSubmit($event)\"\n (change)=\"onChange($event)\"\n (event)=\"onEvent($event)\"\n [options]=\"formioOptions\"\n ></valtimo-form-io>\n </div>\n\n <div *ngIf=\"(formFlowStepType$ | async) === 'custom-component'\">\n <valtimo-form-flow-configuration-container\n [componentId]=\"FormFlowCustomComponentId$ | async\"\n [formFlowInstanceId]=\"obs.formFlowInstanceId\"\n [disabled]=\"disabled$ | async\"\n (submitEvent)=\"onSubmit($event)\"\n (changeEvent)=\"onChange($event)\"\n >\n </valtimo-form-flow-configuration-container>\n </div>\n</div>\n", styles: [".form-flow__progress-bar-indicator{height:64px;overflow-x:auto;-ms-overflow-style:none;scrollbar-width:none}.form-flow__progress-bar-indicator ::-webkit-scrollbar{display:none}\n"], dependencies: [{ kind: "directive", type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.ProgressIndicator, selector: "cds-progress-indicator, ibm-progress-indicator", inputs: ["current", "steps", "translations", "orientation", "skeleton", "spacing"], outputs: ["stepSelected"] }, { kind: "component", type: i4$1.FormioComponent, selector: "valtimo-form-io", inputs: ["options", "submission", "form", "readOnly", "formRefresh$"], outputs: ["submit", "change", "event"] }, { kind: "component", type: FormFlowConfigurationContainerComponent, selector: "valtimo-form-flow-configuration-container", inputs: ["disabled", "componentId", "formFlowInstanceId"], outputs: ["changeEvent", "submitEvent"] }, { kind: "pipe", type: i3$1.AsyncPipe, name: "async" }] }); }
2733
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FormFlowComponent, deps: [{ token: FormFlowService }, { token: i2$2.ValtimoModalService }, { token: i2$1.TranslateService }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
2734
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: FormFlowComponent, isStandalone: false, selector: "valtimo-form-flow", inputs: { formIoFormData: "formIoFormData", formFlowInstanceId: "formFlowInstanceId" }, outputs: { formFlowComplete: "formFlowComplete", formFlowChange: "formFlowChange" }, viewQueries: [{ propertyName: "form", first: true, predicate: ["form"], 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<div\n *ngIf=\"{\n breadcrumbs: breadcrumbs$ | async,\n currentStepIndex: currentStepIndex$ | async,\n enableFormFlowBreadcrumbs: enableFormFlowBreadcrumbs$ | async,\n formFlowInstanceId: formFlowInstanceId$ | async,\n } as obs\"\n>\n <div *ngIf=\"formDefinition && (formFlowStepType$ | async) === 'form'\">\n <div *ngIf=\"obs.enableFormFlowBreadcrumbs\" class=\"form-flow__progress-bar-indicator\">\n <cds-progress-indicator\n [spacing]=\"'equal'\"\n [skeleton]=\"obs.breadcrumbs.length === 0\"\n [current]=\"obs.currentStepIndex\"\n [steps]=\"obs.breadcrumbs\"\n (stepSelected)=\"onStepSelected($event)\"\n >\n </cds-progress-indicator>\n </div>\n\n <valtimo-form-io\n #form\n [form]=\"formDefinition\"\n (submit)=\"onSubmit($event)\"\n (change)=\"onChange($event)\"\n (event)=\"onEvent($event)\"\n [options]=\"formioOptions\"\n ></valtimo-form-io>\n </div>\n\n <div *ngIf=\"(formFlowStepType$ | async) === 'custom-component'\">\n <valtimo-form-flow-configuration-container\n [componentId]=\"FormFlowCustomComponentId$ | async\"\n [formFlowInstanceId]=\"obs.formFlowInstanceId\"\n [disabled]=\"disabled$ | async\"\n (submitEvent)=\"onSubmit($event)\"\n (changeEvent)=\"onChange($event)\"\n >\n </valtimo-form-flow-configuration-container>\n </div>\n</div>\n", styles: [".form-flow__progress-bar-indicator{height:64px;overflow-x:auto;-ms-overflow-style:none;scrollbar-width:none}.form-flow__progress-bar-indicator ::-webkit-scrollbar{display:none}\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: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.ProgressIndicator, selector: "cds-progress-indicator, ibm-progress-indicator", inputs: ["current", "steps", "translations", "orientation", "skeleton", "spacing"], outputs: ["stepSelected"] }, { kind: "component", type: i2$2.FormioComponent, selector: "valtimo-form-io", inputs: ["options", "submission", "form", "readOnly", "formRefresh$"], outputs: ["submit", "change", "event"] }, { kind: "component", type: FormFlowConfigurationContainerComponent, selector: "valtimo-form-flow-configuration-container", inputs: ["disabled", "componentId", "formFlowInstanceId"], outputs: ["changeEvent", "submitEvent"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }] }); }
2643
2735
  }
2644
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormFlowComponent, decorators: [{
2736
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FormFlowComponent, decorators: [{
2645
2737
  type: Component,
2646
- args: [{ selector: 'valtimo-form-flow', 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 breadcrumbs: breadcrumbs$ | async,\n currentStepIndex: currentStepIndex$ | async,\n enableFormFlowBreadcrumbs: enableFormFlowBreadcrumbs$ | async,\n formFlowInstanceId: formFlowInstanceId$ | async,\n } as obs\"\n>\n <div *ngIf=\"formDefinition && (formFlowStepType$ | async) === 'form'\">\n <div *ngIf=\"obs.enableFormFlowBreadcrumbs\" class=\"form-flow__progress-bar-indicator\">\n <cds-progress-indicator\n [spacing]=\"'equal'\"\n [skeleton]=\"obs.breadcrumbs.length === 0\"\n [current]=\"obs.currentStepIndex\"\n [steps]=\"obs.breadcrumbs\"\n (stepSelected)=\"onStepSelected($event)\"\n >\n </cds-progress-indicator>\n </div>\n\n <valtimo-form-io\n #form\n [form]=\"formDefinition\"\n (submit)=\"onSubmit($event)\"\n (change)=\"onChange($event)\"\n (event)=\"onEvent($event)\"\n [options]=\"formioOptions\"\n ></valtimo-form-io>\n </div>\n\n <div *ngIf=\"(formFlowStepType$ | async) === 'custom-component'\">\n <valtimo-form-flow-configuration-container\n [componentId]=\"FormFlowCustomComponentId$ | async\"\n [formFlowInstanceId]=\"obs.formFlowInstanceId\"\n [disabled]=\"disabled$ | async\"\n (submitEvent)=\"onSubmit($event)\"\n (changeEvent)=\"onChange($event)\"\n >\n </valtimo-form-flow-configuration-container>\n </div>\n</div>\n", styles: [".form-flow__progress-bar-indicator{height:64px;overflow-x:auto;-ms-overflow-style:none;scrollbar-width:none}.form-flow__progress-bar-indicator ::-webkit-scrollbar{display:none}\n"] }]
2647
- }], ctorParameters: () => [{ type: FormFlowService }, { type: i4$1.ValtimoModalService }, { type: i3.TranslateService }, { type: i1$1.ConfigService }], propDecorators: { form: [{
2738
+ args: [{ standalone: false, selector: 'valtimo-form-flow', 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<div\n *ngIf=\"{\n breadcrumbs: breadcrumbs$ | async,\n currentStepIndex: currentStepIndex$ | async,\n enableFormFlowBreadcrumbs: enableFormFlowBreadcrumbs$ | async,\n formFlowInstanceId: formFlowInstanceId$ | async,\n } as obs\"\n>\n <div *ngIf=\"formDefinition && (formFlowStepType$ | async) === 'form'\">\n <div *ngIf=\"obs.enableFormFlowBreadcrumbs\" class=\"form-flow__progress-bar-indicator\">\n <cds-progress-indicator\n [spacing]=\"'equal'\"\n [skeleton]=\"obs.breadcrumbs.length === 0\"\n [current]=\"obs.currentStepIndex\"\n [steps]=\"obs.breadcrumbs\"\n (stepSelected)=\"onStepSelected($event)\"\n >\n </cds-progress-indicator>\n </div>\n\n <valtimo-form-io\n #form\n [form]=\"formDefinition\"\n (submit)=\"onSubmit($event)\"\n (change)=\"onChange($event)\"\n (event)=\"onEvent($event)\"\n [options]=\"formioOptions\"\n ></valtimo-form-io>\n </div>\n\n <div *ngIf=\"(formFlowStepType$ | async) === 'custom-component'\">\n <valtimo-form-flow-configuration-container\n [componentId]=\"FormFlowCustomComponentId$ | async\"\n [formFlowInstanceId]=\"obs.formFlowInstanceId\"\n [disabled]=\"disabled$ | async\"\n (submitEvent)=\"onSubmit($event)\"\n (changeEvent)=\"onChange($event)\"\n >\n </valtimo-form-flow-configuration-container>\n </div>\n</div>\n", styles: [".form-flow__progress-bar-indicator{height:64px;overflow-x:auto;-ms-overflow-style:none;scrollbar-width:none}.form-flow__progress-bar-indicator ::-webkit-scrollbar{display:none}\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"] }]
2739
+ }], ctorParameters: () => [{ type: FormFlowService }, { type: i2$2.ValtimoModalService }, { type: i2$1.TranslateService }, { type: i2.ConfigService }], propDecorators: { form: [{
2648
2740
  type: ViewChild,
2649
2741
  args: ['form']
2650
2742
  }], formIoFormData: [{
@@ -2658,7 +2750,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
2658
2750
  }] } });
2659
2751
 
2660
2752
  /*
2661
- * Copyright 2015-2024 Ritense BV, the Netherlands.
2753
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
2662
2754
  *
2663
2755
  * Licensed under EUPL, Version 1.2 (the "License");
2664
2756
  * you may not use this file except in compliance with the License.
@@ -2674,7 +2766,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
2674
2766
  */
2675
2767
 
2676
2768
  /*
2677
- * Copyright 2015-2024 Ritense BV, the Netherlands.
2769
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
2678
2770
  *
2679
2771
  * Licensed under EUPL, Version 1.2 (the "License");
2680
2772
  * you may not use this file except in compliance with the License.
@@ -2690,7 +2782,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
2690
2782
  */
2691
2783
 
2692
2784
  /*
2693
- * Copyright 2015-2024 Ritense BV, the Netherlands.
2785
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
2694
2786
  *
2695
2787
  * Licensed under EUPL, Version 1.2 (the "License");
2696
2788
  * you may not use this file except in compliance with the License.
@@ -2705,8 +2797,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
2705
2797
  * limitations under the License.
2706
2798
  */
2707
2799
  class ProcessLinkModule {
2708
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ProcessLinkModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
2709
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: ProcessLinkModule, declarations: [ProcessLinkComponent,
2800
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ProcessLinkModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
2801
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.14", ngImport: i0, type: ProcessLinkModule, declarations: [ProcessLinkComponent,
2710
2802
  FormLinkProcessDiagramComponent,
2711
2803
  SelectPluginConfigurationComponent,
2712
2804
  SelectPluginActionComponent,
@@ -2717,7 +2809,6 @@ class ProcessLinkModule {
2717
2809
  FormFlowComponent,
2718
2810
  SelectFormFlowComponent,
2719
2811
  FormFlowConfigurationContainerComponent,
2720
- SelectUrlComponent,
2721
2812
  FormDisplayConfigurationComponent,
2722
2813
  SelectUIComponentComponent,
2723
2814
  ImportPluginConfigurationComponent], imports: [CommonModule,
@@ -2729,15 +2820,12 @@ class ProcessLinkModule {
2729
2820
  TranslateModule,
2730
2821
  StepperModule,
2731
2822
  VModalModule,
2732
- VCardModule,
2733
2823
  PluginTranslatePipeModule,
2734
2824
  ParagraphModule,
2735
2825
  PluginConfigurationContainerModule,
2736
- ButtonModule,
2737
- TitleModule,
2738
2826
  ModalModule$1,
2739
2827
  ProgressIndicatorModule,
2740
- ButtonModule$1,
2828
+ ButtonModule,
2741
2829
  IconModule,
2742
2830
  TooltipModule,
2743
2831
  ComboBoxModule,
@@ -2745,23 +2833,27 @@ class ProcessLinkModule {
2745
2833
  TooltipIconModule,
2746
2834
  LoadingModule,
2747
2835
  FormIoModule,
2748
- ValtimoCdsModalDirectiveModule,
2836
+ ValtimoCdsModalDirective,
2749
2837
  StructuredListModule,
2750
2838
  TilesModule,
2751
- RenderInPageHeaderDirectiveModule,
2839
+ RenderInPageHeaderDirective,
2752
2840
  SelectModule,
2753
2841
  ToggleModule,
2754
2842
  CarbonMultiInputModule,
2755
2843
  LayerModule,
2756
2844
  ToggletipModule,
2757
- RemoveClassnamesDirective], exports: [ProcessLinkComponent,
2845
+ ComboBoxModule,
2846
+ TranslateModule,
2847
+ LayerModule,
2848
+ ToggletipModule,
2849
+ RemoveClassnamesDirective,
2850
+ ReactiveFormsModule], exports: [ProcessLinkComponent,
2758
2851
  SelectPluginConfigurationComponent,
2759
2852
  SelectPluginActionComponent,
2760
2853
  PluginActionConfigurationComponent,
2761
2854
  ProcessLinkModalComponent,
2762
- FormFlowComponent,
2763
- SelectUrlComponent] }); }
2764
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ProcessLinkModule, providers: [UrlValidatorService, UrlResolverService], imports: [CommonModule,
2855
+ FormFlowComponent] }); }
2856
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ProcessLinkModule, providers: [UrlValidatorService, UrlResolverService], imports: [CommonModule,
2765
2857
  ProcessLinkRoutingModule,
2766
2858
  FormsModule,
2767
2859
  ReactiveFormsModule,
@@ -2770,15 +2862,12 @@ class ProcessLinkModule {
2770
2862
  TranslateModule,
2771
2863
  StepperModule,
2772
2864
  VModalModule,
2773
- VCardModule,
2774
2865
  PluginTranslatePipeModule,
2775
2866
  ParagraphModule,
2776
2867
  PluginConfigurationContainerModule,
2777
- ButtonModule,
2778
- TitleModule,
2779
2868
  ModalModule$1,
2780
2869
  ProgressIndicatorModule,
2781
- ButtonModule$1,
2870
+ ButtonModule,
2782
2871
  IconModule,
2783
2872
  TooltipModule,
2784
2873
  ComboBoxModule,
@@ -2786,17 +2875,20 @@ class ProcessLinkModule {
2786
2875
  TooltipIconModule,
2787
2876
  LoadingModule,
2788
2877
  FormIoModule,
2789
- ValtimoCdsModalDirectiveModule,
2790
2878
  StructuredListModule,
2791
2879
  TilesModule,
2792
- RenderInPageHeaderDirectiveModule,
2793
2880
  SelectModule,
2794
2881
  ToggleModule,
2795
2882
  CarbonMultiInputModule,
2796
2883
  LayerModule,
2797
- ToggletipModule] }); }
2884
+ ToggletipModule,
2885
+ ComboBoxModule,
2886
+ TranslateModule,
2887
+ LayerModule,
2888
+ ToggletipModule,
2889
+ ReactiveFormsModule] }); }
2798
2890
  }
2799
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ProcessLinkModule, decorators: [{
2891
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ProcessLinkModule, decorators: [{
2800
2892
  type: NgModule,
2801
2893
  args: [{
2802
2894
  declarations: [
@@ -2811,7 +2903,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
2811
2903
  FormFlowComponent,
2812
2904
  SelectFormFlowComponent,
2813
2905
  FormFlowConfigurationContainerComponent,
2814
- SelectUrlComponent,
2815
2906
  FormDisplayConfigurationComponent,
2816
2907
  SelectUIComponentComponent,
2817
2908
  ImportPluginConfigurationComponent,
@@ -2826,15 +2917,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
2826
2917
  TranslateModule,
2827
2918
  StepperModule,
2828
2919
  VModalModule,
2829
- VCardModule,
2830
2920
  PluginTranslatePipeModule,
2831
2921
  ParagraphModule,
2832
2922
  PluginConfigurationContainerModule,
2833
- ButtonModule,
2834
- TitleModule,
2835
2923
  ModalModule$1,
2836
2924
  ProgressIndicatorModule,
2837
- ButtonModule$1,
2925
+ ButtonModule,
2838
2926
  IconModule,
2839
2927
  TooltipModule,
2840
2928
  ComboBoxModule,
@@ -2842,16 +2930,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
2842
2930
  TooltipIconModule,
2843
2931
  LoadingModule,
2844
2932
  FormIoModule,
2845
- ValtimoCdsModalDirectiveModule,
2933
+ ValtimoCdsModalDirective,
2846
2934
  StructuredListModule,
2847
2935
  TilesModule,
2848
- RenderInPageHeaderDirectiveModule,
2936
+ RenderInPageHeaderDirective,
2849
2937
  SelectModule,
2850
2938
  ToggleModule,
2851
2939
  CarbonMultiInputModule,
2852
2940
  LayerModule,
2853
2941
  ToggletipModule,
2942
+ ComboBoxModule,
2943
+ TranslateModule,
2944
+ LayerModule,
2945
+ ToggletipModule,
2854
2946
  RemoveClassnamesDirective,
2947
+ ReactiveFormsModule,
2855
2948
  ],
2856
2949
  exports: [
2857
2950
  ProcessLinkComponent,
@@ -2860,94 +2953,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
2860
2953
  PluginActionConfigurationComponent,
2861
2954
  ProcessLinkModalComponent,
2862
2955
  FormFlowComponent,
2863
- SelectUrlComponent,
2864
2956
  ],
2865
2957
  providers: [UrlValidatorService, UrlResolverService],
2866
2958
  }]
2867
2959
  }] });
2868
2960
 
2869
2961
  /*
2870
- * Copyright 2015-2024 Ritense BV, the Netherlands.
2871
- *
2872
- * Licensed under EUPL, Version 1.2 (the "License");
2873
- * you may not use this file except in compliance with the License.
2874
- * You may obtain a copy of the License at
2875
- *
2876
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
2877
- *
2878
- * Unless required by applicable law or agreed to in writing, software
2879
- * distributed under the License is distributed on an "AS IS" basis,
2880
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2881
- * See the License for the specific language governing permissions and
2882
- * limitations under the License.
2883
- */
2884
-
2885
- /*
2886
- * Copyright 2015-2024 Ritense BV, the Netherlands.
2887
- *
2888
- * Licensed under EUPL, Version 1.2 (the "License");
2889
- * you may not use this file except in compliance with the License.
2890
- * You may obtain a copy of the License at
2891
- *
2892
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
2893
- *
2894
- * Unless required by applicable law or agreed to in writing, software
2895
- * distributed under the License is distributed on an "AS IS" basis,
2896
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2897
- * See the License for the specific language governing permissions and
2898
- * limitations under the License.
2899
- */
2900
-
2901
- /*
2902
- * Copyright 2015-2024 Ritense BV, the Netherlands.
2903
- *
2904
- * Licensed under EUPL, Version 1.2 (the "License");
2905
- * you may not use this file except in compliance with the License.
2906
- * You may obtain a copy of the License at
2907
- *
2908
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
2909
- *
2910
- * Unless required by applicable law or agreed to in writing, software
2911
- * distributed under the License is distributed on an "AS IS" basis,
2912
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2913
- * See the License for the specific language governing permissions and
2914
- * limitations under the License.
2915
- */
2916
-
2917
- /*
2918
- * Copyright 2015-2024 Ritense BV, the Netherlands.
2919
- *
2920
- * Licensed under EUPL, Version 1.2 (the "License");
2921
- * you may not use this file except in compliance with the License.
2922
- * You may obtain a copy of the License at
2923
- *
2924
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
2925
- *
2926
- * Unless required by applicable law or agreed to in writing, software
2927
- * distributed under the License is distributed on an "AS IS" basis,
2928
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2929
- * See the License for the specific language governing permissions and
2930
- * limitations under the License.
2931
- */
2932
-
2933
- /*
2934
- * Copyright 2015-2024 Ritense BV, the Netherlands.
2935
- *
2936
- * Licensed under EUPL, Version 1.2 (the "License");
2937
- * you may not use this file except in compliance with the License.
2938
- * You may obtain a copy of the License at
2939
- *
2940
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
2941
- *
2942
- * Unless required by applicable law or agreed to in writing, software
2943
- * distributed under the License is distributed on an "AS IS" basis,
2944
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2945
- * See the License for the specific language governing permissions and
2946
- * limitations under the License.
2947
- */
2948
-
2949
- /*
2950
- * Copyright 2015-2024 Ritense BV, the Netherlands.
2962
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
2951
2963
  *
2952
2964
  * Licensed under EUPL, Version 1.2 (the "License");
2953
2965
  * you may not use this file except in compliance with the License.
@@ -2969,5 +2981,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
2969
2981
  * Generated bundle index. Do not edit.
2970
2982
  */
2971
2983
 
2972
- export { ChooseProcessLinkTypeComponent, FORM_CUSTOM_COMPONENT_TOKEN, FORM_FLOW_COMPONENT_TOKEN, FormFlowComponent, FormFlowService, PluginActionConfigurationComponent, ProcessLinkComponent, ProcessLinkModalComponent, ProcessLinkModule, ProcessLinkService, SelectPluginActionComponent, SelectPluginConfigurationComponent, SelectUrlComponent, UrlResolverService, UrlValidatorService, formSizeToCarbonModalSizeMap };
2984
+ export { ChooseProcessLinkTypeComponent, FORM_CUSTOM_COMPONENT_TOKEN, FORM_FLOW_COMPONENT_TOKEN, FormFlowComponent, FormFlowComponentService, FormFlowService, PluginActionConfigurationComponent, PluginStateService, ProcessLinkButtonService, ProcessLinkComponent, ProcessLinkEditMode, ProcessLinkModalComponent, ProcessLinkModule, ProcessLinkService, ProcessLinkStateService, ProcessLinkStepService, SelectPluginActionComponent, SelectPluginConfigurationComponent, UrlResolverService, UrlValidatorService, formSizeToCarbonModalSizeMap };
2973
2985
  //# sourceMappingURL=valtimo-process-link.mjs.map