@valtimo-plugins/open-product 1.3.1 → 1.4.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.
@@ -1,13 +1,20 @@
1
+ import { combineLatest, map, BehaviorSubject, take, Subscription, of, filter, distinctUntilChanged, switchMap, catchError, tap } from 'rxjs';
1
2
  import * as i0 from '@angular/core';
2
- import { EventEmitter, Output, Input, Component, NgModule } from '@angular/core';
3
- import { BehaviorSubject, combineLatest, map, take } from 'rxjs';
4
- import * as i3 from '@valtimo/plugin';
3
+ import { EventEmitter, Output, Input, Component, Injectable, NgModule } from '@angular/core';
4
+ import * as i1 from '@valtimo/plugin';
5
5
  import { PluginTranslatePipeModule } from '@valtimo/plugin';
6
6
  import * as i2 from '@ngx-translate/core';
7
- import * as i1 from '@angular/common';
7
+ import * as i1$1 from '@angular/common';
8
8
  import { CommonModule } from '@angular/common';
9
9
  import * as i2$1 from '@valtimo/components';
10
10
  import { FormModule, InputModule, SelectModule, CarbonMultiInputModule } from '@valtimo/components';
11
+ import * as i1$3 from '@angular/forms';
12
+ import { ReactiveFormsModule } from '@angular/forms';
13
+ import * as i4 from 'carbon-components-angular';
14
+ import { InputModule as InputModule$1, SelectModule as SelectModule$1 } from 'carbon-components-angular';
15
+ import * as i2$2 from '@valtimo/shared';
16
+ import { BaseApiService } from '@valtimo/shared';
17
+ import * as i1$2 from '@angular/common/http';
11
18
 
12
19
  /*
13
20
  * Copyright 2015-2025 Ritense BV, the Netherlands.
@@ -25,6 +32,31 @@ import { FormModule, InputModule, SelectModule, CarbonMultiInputModule } from '@
25
32
  * limitations under the License.
26
33
  */
27
34
 
35
+ /*
36
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
37
+ *
38
+ * Licensed under EUPL, Version 1.2 (the "License");
39
+ * you may not use this file except in compliance with the License.
40
+ * You may obtain a copy of the License at
41
+ *
42
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
43
+ *
44
+ * Unless required by applicable law or agreed to in writing, software
45
+ * distributed under the License is distributed on an "AS IS" basis,
46
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
47
+ * See the License for the specific language governing permissions and
48
+ * limitations under the License.
49
+ */
50
+ const JA = 'true';
51
+ const NEE = 'false';
52
+ const jaNeeSelectItems$ = (pluginTranslationService, pluginId) => combineLatest([
53
+ pluginTranslationService.translate('ja', pluginId),
54
+ pluginTranslationService.translate('nee', pluginId),
55
+ ]).pipe(map(([ja, nee]) => [{ id: JA, text: ja }, { id: NEE, text: nee }]));
56
+ // Process links written by hand can hold the value as a string ("true"), the UI stores a boolean.
57
+ const toJaNeeSelectionId = (value) => value === true || value === JA ? JA : NEE;
58
+ const fromJaNeeSelectionId = (value) => value === true || value === JA;
59
+
28
60
  /*
29
61
  * Copyright 2015-2025 Ritense BV, the Netherlands.
30
62
  *
@@ -99,13 +131,13 @@ class OpenProductConfigurationComponent {
99
131
  });
100
132
  });
101
133
  }
102
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: OpenProductConfigurationComponent, deps: [{ token: i3.PluginManagementService }, { token: i2.TranslateService }, { token: i3.PluginTranslationService }], target: i0.ɵɵFactoryTarget.Component }); }
103
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: OpenProductConfigurationComponent, isStandalone: false, selector: "valtimo-open-product-configuration", inputs: { save$: "save$", disabled$: "disabled$", pluginId: "pluginId", prefillConfiguration$: "prefillConfiguration$" }, 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<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Open Product Plugin\"\n >\n </v-input>\n <v-input\n name=\"baseUrl\"\n [title]=\"'baseUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.baseUrl\"\n [required]=\"true\"\n [tooltip]=\"'baseUrlTooltip' | pluginTranslate: pluginId | async\"\n >\n </v-input>\n <ng-container\n *ngIf=\"{authenticationPluginSelectItems: authenticationPluginSelectItems$ | async} as authObs\"\n >\n <v-select\n [items]=\"authObs.authenticationPluginSelectItems\"\n [margin]=\"true\"\n name=\"authenticationPluginConfiguration\"\n [title]=\"'authenticationPluginConfiguration' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.authenticationPluginConfiguration\"\n [required]=\"true\"\n [loading]=\"!authObs.authenticationPluginSelectItems\"\n ></v-select>\n </ng-container>\n\n</v-form>\n", styles: ["/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$1.FormComponent, selector: "v-form", inputs: ["className"], outputs: ["valueChange"] }, { kind: "component", type: i2$1.InputComponent, selector: "v-input", inputs: ["name", "type", "title", "titleTranslationKey", "defaultValue", "widthPx", "fullWidth", "margin", "smallMargin", "disabled", "step", "min", "maxLength", "tooltip", "required", "hideNumberSpinBox", "smallLabel", "rows", "clear$", "carbonTheme", "placeholder", "dataTestId", "trim", "presetsTitle", "presetOptions"], outputs: ["valueChange"] }, { kind: "component", type: i2$1.SelectComponent, selector: "v-select", inputs: ["items", "defaultSelection", "defaultSelectionId", "defaultSelectionIds", "disabled", "dropUp", "invalid", "multiple", "margin", "widthInPx", "notFoundText", "clearAllText", "clearText", "clearable", "name", "title", "titleTranslationKey", "clearSelectionSubject$", "tooltip", "required", "loading", "loadingText", "placeholder", "smallMargin", "carbonTheme", "appendInline", "warn", "warnText", "dataTestId"], outputs: ["selectedChange"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.PluginTranslatePipe, name: "pluginTranslate" }] }); }
134
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: OpenProductConfigurationComponent, deps: [{ token: i1.PluginManagementService }, { token: i2.TranslateService }, { token: i1.PluginTranslationService }], target: i0.ɵɵFactoryTarget.Component }); }
135
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: OpenProductConfigurationComponent, isStandalone: false, selector: "valtimo-open-product-configuration", inputs: { save$: "save$", disabled$: "disabled$", pluginId: "pluginId", prefillConfiguration$: "prefillConfiguration$" }, 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<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Open Product Plugin\"\n >\n </v-input>\n <v-input\n name=\"baseUrl\"\n [title]=\"'baseUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.baseUrl\"\n [required]=\"true\"\n [tooltip]=\"'baseUrlTooltip' | pluginTranslate: pluginId | async\"\n >\n </v-input>\n <ng-container\n *ngIf=\"{authenticationPluginSelectItems: authenticationPluginSelectItems$ | async} as authObs\"\n >\n <v-select\n [items]=\"authObs.authenticationPluginSelectItems\"\n [margin]=\"true\"\n name=\"authenticationPluginConfiguration\"\n [title]=\"'authenticationPluginConfiguration' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.authenticationPluginConfiguration\"\n [required]=\"true\"\n [loading]=\"!authObs.authenticationPluginSelectItems\"\n ></v-select>\n </ng-container>\n\n</v-form>\n", styles: ["/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$1.FormComponent, selector: "v-form", inputs: ["className"], outputs: ["valueChange"] }, { kind: "component", type: i2$1.InputComponent, selector: "v-input", inputs: ["name", "type", "title", "titleTranslationKey", "defaultValue", "widthPx", "fullWidth", "margin", "smallMargin", "disabled", "step", "min", "maxLength", "tooltip", "required", "hideNumberSpinBox", "smallLabel", "rows", "clear$", "carbonTheme", "placeholder", "dataTestId", "trim", "presetsTitle", "presetOptions"], outputs: ["valueChange"] }, { kind: "component", type: i2$1.SelectComponent, selector: "v-select", inputs: ["items", "defaultSelection", "defaultSelectionId", "defaultSelectionIds", "disabled", "dropUp", "invalid", "multiple", "margin", "widthInPx", "notFoundText", "clearAllText", "clearText", "clearable", "name", "title", "titleTranslationKey", "clearSelectionSubject$", "tooltip", "required", "loading", "loadingText", "placeholder", "smallMargin", "carbonTheme", "appendInline", "warn", "warnText", "dataTestId"], outputs: ["selectedChange"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.PluginTranslatePipe, name: "pluginTranslate" }] }); }
104
136
  }
105
137
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: OpenProductConfigurationComponent, decorators: [{
106
138
  type: Component,
107
139
  args: [{ standalone: false, selector: 'valtimo-open-product-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<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Open Product Plugin\"\n >\n </v-input>\n <v-input\n name=\"baseUrl\"\n [title]=\"'baseUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.baseUrl\"\n [required]=\"true\"\n [tooltip]=\"'baseUrlTooltip' | pluginTranslate: pluginId | async\"\n >\n </v-input>\n <ng-container\n *ngIf=\"{authenticationPluginSelectItems: authenticationPluginSelectItems$ | async} as authObs\"\n >\n <v-select\n [items]=\"authObs.authenticationPluginSelectItems\"\n [margin]=\"true\"\n name=\"authenticationPluginConfiguration\"\n [title]=\"'authenticationPluginConfiguration' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.authenticationPluginConfiguration\"\n [required]=\"true\"\n [loading]=\"!authObs.authenticationPluginSelectItems\"\n ></v-select>\n </ng-container>\n\n</v-form>\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"] }]
108
- }], ctorParameters: () => [{ type: i3.PluginManagementService }, { type: i2.TranslateService }, { type: i3.PluginTranslationService }], propDecorators: { save$: [{
140
+ }], ctorParameters: () => [{ type: i1.PluginManagementService }, { type: i2.TranslateService }, { type: i1.PluginTranslationService }], propDecorators: { save$: [{
109
141
  type: Input
110
142
  }], disabled$: [{
111
143
  type: Input
@@ -153,7 +185,7 @@ class GetProductConfigurationComponent {
153
185
  });
154
186
  }
155
187
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: GetProductConfigurationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
156
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: GetProductConfigurationComponent, isStandalone: false, selector: "valtimo-get-product-configuration", inputs: { save$: "save$", disabled$: "disabled$", pluginId: "pluginId", prefillConfiguration$: "prefillConfiguration$" }, outputs: { valid: "valid", configuration: "configuration" }, ngImport: i0, template: "<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null\n } as obs\"\n>\n <v-input\n name=\"productUuid\"\n [title]=\"'productUuid' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.productUuid\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n</v-form>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$1.FormComponent, selector: "v-form", inputs: ["className"], outputs: ["valueChange"] }, { kind: "component", type: i2$1.InputComponent, selector: "v-input", inputs: ["name", "type", "title", "titleTranslationKey", "defaultValue", "widthPx", "fullWidth", "margin", "smallMargin", "disabled", "step", "min", "maxLength", "tooltip", "required", "hideNumberSpinBox", "smallLabel", "rows", "clear$", "carbonTheme", "placeholder", "dataTestId", "trim", "presetsTitle", "presetOptions"], outputs: ["valueChange"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.PluginTranslatePipe, name: "pluginTranslate" }] }); }
188
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: GetProductConfigurationComponent, isStandalone: false, selector: "valtimo-get-product-configuration", inputs: { save$: "save$", disabled$: "disabled$", pluginId: "pluginId", prefillConfiguration$: "prefillConfiguration$" }, outputs: { valid: "valid", configuration: "configuration" }, ngImport: i0, template: "<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null\n } as obs\"\n>\n <v-input\n name=\"productUuid\"\n [title]=\"'productUuid' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.productUuid\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n</v-form>\n", dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$1.FormComponent, selector: "v-form", inputs: ["className"], outputs: ["valueChange"] }, { kind: "component", type: i2$1.InputComponent, selector: "v-input", inputs: ["name", "type", "title", "titleTranslationKey", "defaultValue", "widthPx", "fullWidth", "margin", "smallMargin", "disabled", "step", "min", "maxLength", "tooltip", "required", "hideNumberSpinBox", "smallLabel", "rows", "clear$", "carbonTheme", "placeholder", "dataTestId", "trim", "presetsTitle", "presetOptions"], outputs: ["valueChange"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.PluginTranslatePipe, name: "pluginTranslate" }] }); }
157
189
  }
158
190
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: GetProductConfigurationComponent, decorators: [{
159
191
  type: Component,
@@ -173,15 +205,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
173
205
  }] } });
174
206
 
175
207
  class CreateProductConfigurationComponent {
176
- constructor() {
208
+ constructor(pluginTranslationService) {
209
+ this.pluginTranslationService = pluginTranslationService;
177
210
  this.valid = new EventEmitter();
178
211
  this.configuration = new EventEmitter();
179
212
  this.formValue$ = new BehaviorSubject(null);
180
213
  this.valid$ = new BehaviorSubject(false);
181
214
  }
182
215
  ngOnInit() {
216
+ this.jaNeeSelectItems$ = jaNeeSelectItems$(this.pluginTranslationService, this.pluginId);
183
217
  this.openSaveSubscription();
184
218
  }
219
+ gepubliceerdSelectionId(prefill) {
220
+ return toJaNeeSelectionId(prefill?.gepubliceerd);
221
+ }
222
+ koppelZaakDocumentenSelectionId(prefill) {
223
+ return toJaNeeSelectionId(prefill?.koppelZaakDocumenten);
224
+ }
185
225
  ngOnDestroy() {
186
226
  this.saveSubscription?.unsubscribe();
187
227
  }
@@ -190,7 +230,12 @@ class CreateProductConfigurationComponent {
190
230
  this.handleValid(formValue);
191
231
  }
192
232
  handleValid(formValue) {
193
- const valid = !!(formValue.productTypeUuid && formValue.eigenaarBsn && formValue.productPrijs && formValue.productStatus && formValue.aanvraagZaakUrn);
233
+ const valid = !!(formValue.productTypeUuid &&
234
+ formValue.eigenaarBsn &&
235
+ formValue.productStatus &&
236
+ formValue.aanvraagZaakUrl &&
237
+ formValue.productPrijs &&
238
+ formValue.productFrequentie);
194
239
  this.valid$.next(valid);
195
240
  this.valid.emit(valid);
196
241
  }
@@ -200,18 +245,22 @@ class CreateProductConfigurationComponent {
200
245
  .pipe(take(1))
201
246
  .subscribe(([formValue, valid]) => {
202
247
  if (valid) {
203
- this.configuration.emit(formValue);
248
+ this.configuration.emit({
249
+ ...formValue,
250
+ gepubliceerd: fromJaNeeSelectionId(formValue.gepubliceerd),
251
+ koppelZaakDocumenten: fromJaNeeSelectionId(formValue.koppelZaakDocumenten),
252
+ });
204
253
  }
205
254
  });
206
255
  });
207
256
  }
208
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CreateProductConfigurationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
209
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CreateProductConfigurationComponent, isStandalone: false, selector: "valtimo-create-product-configuration", inputs: { save$: "save$", disabled$: "disabled$", pluginId: "pluginId", prefillConfiguration$: "prefillConfiguration$" }, outputs: { valid: "valid", configuration: "configuration" }, ngImport: i0, template: "<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null\n } as obs\"\n>\n <v-input\n name=\"productNaam\"\n [title]=\"'productNaam' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.productNaam\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"productTypeUuid\"\n [title]=\"'productTypeUUID' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.productTypeUuid\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"eigenaarBsn\"\n [title]=\"'eigenaarBsn' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.eigenaarBsn\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"aanvraagZaakUrn\"\n [title]=\"'aanvraagZaakUrn' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.aanvraagZaakUrn\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"aanvraagZaakUrl\"\n [title]=\"'aanvraagZaakUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.aanvraagZaakUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"productPrijs\"\n [title]=\"'productPrijs' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.productPrijs\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"productFrequentie\"\n [title]=\"'productFrequentie' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.productFrequentie\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"productStatus\"\n [title]=\"'productStatus' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.productStatus\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"gepubliceerd\"\n [title]=\"'gepubliceerd' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.gepubliceerd.toString()\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"dataobjectVariabelNaam\"\n [title]=\"'dataobjectVariabelNaam' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.dataobjectVariabelNaam\"\n [disabled]=\"obs.disabled\"\n >\n </v-input>\n</v-form>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$1.FormComponent, selector: "v-form", inputs: ["className"], outputs: ["valueChange"] }, { kind: "component", type: i2$1.InputComponent, selector: "v-input", inputs: ["name", "type", "title", "titleTranslationKey", "defaultValue", "widthPx", "fullWidth", "margin", "smallMargin", "disabled", "step", "min", "maxLength", "tooltip", "required", "hideNumberSpinBox", "smallLabel", "rows", "clear$", "carbonTheme", "placeholder", "dataTestId", "trim", "presetsTitle", "presetOptions"], outputs: ["valueChange"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.PluginTranslatePipe, name: "pluginTranslate" }] }); }
257
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CreateProductConfigurationComponent, deps: [{ token: i1.PluginTranslationService }], target: i0.ɵɵFactoryTarget.Component }); }
258
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CreateProductConfigurationComponent, isStandalone: false, selector: "valtimo-create-product-configuration", inputs: { save$: "save$", disabled$: "disabled$", pluginId: "pluginId", prefillConfiguration$: "prefillConfiguration$" }, outputs: { valid: "valid", configuration: "configuration" }, ngImport: i0, template: "<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null\n } as obs\"\n>\n <v-input\n name=\"productNaam\"\n [title]=\"'productNaam' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.productNaam\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"productTypeUuid\"\n [title]=\"'productTypeUUID' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.productTypeUuid\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"eigenaarBsn\"\n [title]=\"'eigenaarBsn' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.eigenaarBsn\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"aanvraagZaakUrn\"\n [title]=\"'aanvraagZaakUrn' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.aanvraagZaakUrn\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n >\n </v-input>\n <v-input\n name=\"aanvraagZaakUrl\"\n [title]=\"'aanvraagZaakUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.aanvraagZaakUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"productPrijs\"\n [title]=\"'productPrijs' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.productPrijs\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"productFrequentie\"\n [title]=\"'productFrequentie' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.productFrequentie\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"productStatus\"\n [title]=\"'productStatus' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.productStatus\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-select\n name=\"gepubliceerd\"\n [items]=\"jaNeeSelectItems$ | async\"\n [title]=\"'gepubliceerd' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultSelectionId]=\"gepubliceerdSelectionId(obs.prefill)\"\n [disabled]=\"obs.disabled\"\n ></v-select>\n <v-input\n name=\"dataobjectVariabelNaam\"\n [title]=\"'dataobjectVariabelNaam' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.dataobjectVariabelNaam\"\n [disabled]=\"obs.disabled\"\n >\n </v-input>\n <v-select\n name=\"koppelZaakDocumenten\"\n [items]=\"jaNeeSelectItems$ | async\"\n [title]=\"'koppelZaakDocumenten' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'koppelZaakDocumentenTooltip' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultSelectionId]=\"koppelZaakDocumentenSelectionId(obs.prefill)\"\n [disabled]=\"obs.disabled\"\n ></v-select>\n</v-form>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$1.FormComponent, selector: "v-form", inputs: ["className"], outputs: ["valueChange"] }, { kind: "component", type: i2$1.InputComponent, selector: "v-input", inputs: ["name", "type", "title", "titleTranslationKey", "defaultValue", "widthPx", "fullWidth", "margin", "smallMargin", "disabled", "step", "min", "maxLength", "tooltip", "required", "hideNumberSpinBox", "smallLabel", "rows", "clear$", "carbonTheme", "placeholder", "dataTestId", "trim", "presetsTitle", "presetOptions"], outputs: ["valueChange"] }, { kind: "component", type: i2$1.SelectComponent, selector: "v-select", inputs: ["items", "defaultSelection", "defaultSelectionId", "defaultSelectionIds", "disabled", "dropUp", "invalid", "multiple", "margin", "widthInPx", "notFoundText", "clearAllText", "clearText", "clearable", "name", "title", "titleTranslationKey", "clearSelectionSubject$", "tooltip", "required", "loading", "loadingText", "placeholder", "smallMargin", "carbonTheme", "appendInline", "warn", "warnText", "dataTestId"], outputs: ["selectedChange"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.PluginTranslatePipe, name: "pluginTranslate" }] }); }
210
259
  }
211
260
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CreateProductConfigurationComponent, decorators: [{
212
261
  type: Component,
213
- args: [{ standalone: false, selector: 'valtimo-create-product-configuration', template: "<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null\n } as obs\"\n>\n <v-input\n name=\"productNaam\"\n [title]=\"'productNaam' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.productNaam\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"productTypeUuid\"\n [title]=\"'productTypeUUID' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.productTypeUuid\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"eigenaarBsn\"\n [title]=\"'eigenaarBsn' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.eigenaarBsn\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"aanvraagZaakUrn\"\n [title]=\"'aanvraagZaakUrn' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.aanvraagZaakUrn\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"aanvraagZaakUrl\"\n [title]=\"'aanvraagZaakUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.aanvraagZaakUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"productPrijs\"\n [title]=\"'productPrijs' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.productPrijs\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"productFrequentie\"\n [title]=\"'productFrequentie' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.productFrequentie\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"productStatus\"\n [title]=\"'productStatus' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.productStatus\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"gepubliceerd\"\n [title]=\"'gepubliceerd' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.gepubliceerd.toString()\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"dataobjectVariabelNaam\"\n [title]=\"'dataobjectVariabelNaam' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.dataobjectVariabelNaam\"\n [disabled]=\"obs.disabled\"\n >\n </v-input>\n</v-form>\n" }]
214
- }], propDecorators: { save$: [{
262
+ args: [{ standalone: false, selector: 'valtimo-create-product-configuration', template: "<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null\n } as obs\"\n>\n <v-input\n name=\"productNaam\"\n [title]=\"'productNaam' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.productNaam\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"productTypeUuid\"\n [title]=\"'productTypeUUID' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.productTypeUuid\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"eigenaarBsn\"\n [title]=\"'eigenaarBsn' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.eigenaarBsn\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"aanvraagZaakUrn\"\n [title]=\"'aanvraagZaakUrn' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.aanvraagZaakUrn\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n >\n </v-input>\n <v-input\n name=\"aanvraagZaakUrl\"\n [title]=\"'aanvraagZaakUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.aanvraagZaakUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"productPrijs\"\n [title]=\"'productPrijs' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.productPrijs\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"productFrequentie\"\n [title]=\"'productFrequentie' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.productFrequentie\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"productStatus\"\n [title]=\"'productStatus' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.productStatus\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-select\n name=\"gepubliceerd\"\n [items]=\"jaNeeSelectItems$ | async\"\n [title]=\"'gepubliceerd' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultSelectionId]=\"gepubliceerdSelectionId(obs.prefill)\"\n [disabled]=\"obs.disabled\"\n ></v-select>\n <v-input\n name=\"dataobjectVariabelNaam\"\n [title]=\"'dataobjectVariabelNaam' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.dataobjectVariabelNaam\"\n [disabled]=\"obs.disabled\"\n >\n </v-input>\n <v-select\n name=\"koppelZaakDocumenten\"\n [items]=\"jaNeeSelectItems$ | async\"\n [title]=\"'koppelZaakDocumenten' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'koppelZaakDocumentenTooltip' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultSelectionId]=\"koppelZaakDocumentenSelectionId(obs.prefill)\"\n [disabled]=\"obs.disabled\"\n ></v-select>\n</v-form>\n" }]
263
+ }], ctorParameters: () => [{ type: i1.PluginTranslationService }], propDecorators: { save$: [{
215
264
  type: Input
216
265
  }], disabled$: [{
217
266
  type: Input
@@ -226,15 +275,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
226
275
  }] } });
227
276
 
228
277
  class UpdateProductConfigurationComponent {
229
- constructor() {
278
+ constructor(pluginTranslationService) {
279
+ this.pluginTranslationService = pluginTranslationService;
230
280
  this.valid = new EventEmitter();
231
281
  this.configuration = new EventEmitter();
232
282
  this.formValue$ = new BehaviorSubject(null);
233
283
  this.valid$ = new BehaviorSubject(false);
234
284
  }
235
285
  ngOnInit() {
286
+ this.jaNeeSelectItems$ = jaNeeSelectItems$(this.pluginTranslationService, this.pluginId);
236
287
  this.openSaveSubscription();
237
288
  }
289
+ koppelZaakDocumentenSelectionId(prefill) {
290
+ return toJaNeeSelectionId(prefill?.koppelZaakDocumenten);
291
+ }
238
292
  ngOnDestroy() {
239
293
  this.saveSubscription?.unsubscribe();
240
294
  }
@@ -253,18 +307,21 @@ class UpdateProductConfigurationComponent {
253
307
  .pipe(take(1))
254
308
  .subscribe(([formValue, valid]) => {
255
309
  if (valid) {
256
- this.configuration.emit(formValue);
310
+ this.configuration.emit({
311
+ ...formValue,
312
+ koppelZaakDocumenten: fromJaNeeSelectionId(formValue.koppelZaakDocumenten),
313
+ });
257
314
  }
258
315
  });
259
316
  });
260
317
  }
261
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: UpdateProductConfigurationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
262
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: UpdateProductConfigurationComponent, isStandalone: false, selector: "valtimo-update-product-configuration", inputs: { save$: "save$", disabled$: "disabled$", pluginId: "pluginId", prefillConfiguration$: "prefillConfiguration$" }, outputs: { valid: "valid", configuration: "configuration" }, ngImport: i0, template: "<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null\n } as obs\"\n>\n <v-input\n name=\"productUuid\"\n [title]=\"'productUuid' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.productUuid\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"productNaam\"\n [title]=\"'productNaam' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.productNaam\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"productTypeUuid\"\n [title]=\"'productTypeUuid' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.productTypeUuid\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"eigenaarBsn\"\n [title]=\"'eigenaarBsn' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.eigenaarBsn\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"aanvraagZaakUrn\"\n [title]=\"'aanvraagZaakUrn' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.aanvraagZaakUrn\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"aanvraagZaakUrl\"\n [title]=\"'aanvraagZaakUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.aanvraagZaakUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"productPrijs\"\n [title]=\"'productPrijs' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.productPrijs\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"productFrequentie\"\n [title]=\"'productFrequentie' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.productFrequentie\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"productStatus\"\n [title]=\"'productStatus' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.productStatus\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"gepubliceerd\"\n [title]=\"'gepubliceerd' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.gepubliceerd.toString()\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"dataobjectVariabelNaam\"\n [title]=\"'dataobjectVariabelNaam' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.dataobjectVariabelNaam\"\n [disabled]=\"obs.disabled\"\n >\n </v-input>\n</v-form>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$1.FormComponent, selector: "v-form", inputs: ["className"], outputs: ["valueChange"] }, { kind: "component", type: i2$1.InputComponent, selector: "v-input", inputs: ["name", "type", "title", "titleTranslationKey", "defaultValue", "widthPx", "fullWidth", "margin", "smallMargin", "disabled", "step", "min", "maxLength", "tooltip", "required", "hideNumberSpinBox", "smallLabel", "rows", "clear$", "carbonTheme", "placeholder", "dataTestId", "trim", "presetsTitle", "presetOptions"], outputs: ["valueChange"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.PluginTranslatePipe, name: "pluginTranslate" }] }); }
318
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: UpdateProductConfigurationComponent, deps: [{ token: i1.PluginTranslationService }], target: i0.ɵɵFactoryTarget.Component }); }
319
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: UpdateProductConfigurationComponent, isStandalone: false, selector: "valtimo-update-product-configuration", inputs: { save$: "save$", disabled$: "disabled$", pluginId: "pluginId", prefillConfiguration$: "prefillConfiguration$" }, outputs: { valid: "valid", configuration: "configuration" }, ngImport: i0, template: "<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null\n } as obs\"\n>\n <v-input\n name=\"productUuid\"\n [title]=\"'productUuid' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.productUuid\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"productNaam\"\n [title]=\"'productNaam' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.productNaam\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"productTypeUuid\"\n [title]=\"'productTypeUuid' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.productTypeUuid\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"eigenaarBsn\"\n [title]=\"'eigenaarBsn' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.eigenaarBsn\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"aanvraagZaakUrn\"\n [title]=\"'aanvraagZaakUrn' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.aanvraagZaakUrn\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"aanvraagZaakUrl\"\n [title]=\"'aanvraagZaakUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.aanvraagZaakUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"productPrijs\"\n [title]=\"'productPrijs' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.productPrijs\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"productFrequentie\"\n [title]=\"'productFrequentie' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.productFrequentie\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"productStatus\"\n [title]=\"'productStatus' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.productStatus\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"gepubliceerd\"\n [title]=\"'gepubliceerd' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.gepubliceerd.toString()\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"dataobjectVariabelNaam\"\n [title]=\"'dataobjectVariabelNaam' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.dataobjectVariabelNaam\"\n [disabled]=\"obs.disabled\"\n >\n </v-input>\n <v-select\n name=\"koppelZaakDocumenten\"\n [items]=\"jaNeeSelectItems$ | async\"\n [title]=\"'koppelZaakDocumenten' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'koppelZaakDocumentenUpdateTooltip' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultSelectionId]=\"koppelZaakDocumentenSelectionId(obs.prefill)\"\n [disabled]=\"obs.disabled\"\n ></v-select>\n <v-input\n name=\"documentenVariabelNaam\"\n [title]=\"'documentenVariabelNaam' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'documentenVariabelNaamTooltip' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.documentenVariabelNaam\"\n [disabled]=\"obs.disabled\"\n >\n </v-input>\n</v-form>\n", dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$1.FormComponent, selector: "v-form", inputs: ["className"], outputs: ["valueChange"] }, { kind: "component", type: i2$1.InputComponent, selector: "v-input", inputs: ["name", "type", "title", "titleTranslationKey", "defaultValue", "widthPx", "fullWidth", "margin", "smallMargin", "disabled", "step", "min", "maxLength", "tooltip", "required", "hideNumberSpinBox", "smallLabel", "rows", "clear$", "carbonTheme", "placeholder", "dataTestId", "trim", "presetsTitle", "presetOptions"], outputs: ["valueChange"] }, { kind: "component", type: i2$1.SelectComponent, selector: "v-select", inputs: ["items", "defaultSelection", "defaultSelectionId", "defaultSelectionIds", "disabled", "dropUp", "invalid", "multiple", "margin", "widthInPx", "notFoundText", "clearAllText", "clearText", "clearable", "name", "title", "titleTranslationKey", "clearSelectionSubject$", "tooltip", "required", "loading", "loadingText", "placeholder", "smallMargin", "carbonTheme", "appendInline", "warn", "warnText", "dataTestId"], outputs: ["selectedChange"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.PluginTranslatePipe, name: "pluginTranslate" }] }); }
263
320
  }
264
321
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: UpdateProductConfigurationComponent, decorators: [{
265
322
  type: Component,
266
- args: [{ standalone: false, selector: 'valtimo-update-product-configuration', template: "<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null\n } as obs\"\n>\n <v-input\n name=\"productUuid\"\n [title]=\"'productUuid' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.productUuid\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"productNaam\"\n [title]=\"'productNaam' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.productNaam\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"productTypeUuid\"\n [title]=\"'productTypeUuid' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.productTypeUuid\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"eigenaarBsn\"\n [title]=\"'eigenaarBsn' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.eigenaarBsn\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"aanvraagZaakUrn\"\n [title]=\"'aanvraagZaakUrn' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.aanvraagZaakUrn\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"aanvraagZaakUrl\"\n [title]=\"'aanvraagZaakUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.aanvraagZaakUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"productPrijs\"\n [title]=\"'productPrijs' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.productPrijs\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"productFrequentie\"\n [title]=\"'productFrequentie' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.productFrequentie\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"productStatus\"\n [title]=\"'productStatus' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.productStatus\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"gepubliceerd\"\n [title]=\"'gepubliceerd' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.gepubliceerd.toString()\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"dataobjectVariabelNaam\"\n [title]=\"'dataobjectVariabelNaam' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.dataobjectVariabelNaam\"\n [disabled]=\"obs.disabled\"\n >\n </v-input>\n</v-form>\n" }]
267
- }], propDecorators: { save$: [{
323
+ args: [{ standalone: false, selector: 'valtimo-update-product-configuration', template: "<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null\n } as obs\"\n>\n <v-input\n name=\"productUuid\"\n [title]=\"'productUuid' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.productUuid\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"productNaam\"\n [title]=\"'productNaam' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.productNaam\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"productTypeUuid\"\n [title]=\"'productTypeUuid' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.productTypeUuid\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"eigenaarBsn\"\n [title]=\"'eigenaarBsn' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.eigenaarBsn\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"aanvraagZaakUrn\"\n [title]=\"'aanvraagZaakUrn' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.aanvraagZaakUrn\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"aanvraagZaakUrl\"\n [title]=\"'aanvraagZaakUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.aanvraagZaakUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"productPrijs\"\n [title]=\"'productPrijs' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.productPrijs\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"productFrequentie\"\n [title]=\"'productFrequentie' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.productFrequentie\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"productStatus\"\n [title]=\"'productStatus' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.productStatus\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"gepubliceerd\"\n [title]=\"'gepubliceerd' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.gepubliceerd.toString()\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"dataobjectVariabelNaam\"\n [title]=\"'dataobjectVariabelNaam' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.dataobjectVariabelNaam\"\n [disabled]=\"obs.disabled\"\n >\n </v-input>\n <v-select\n name=\"koppelZaakDocumenten\"\n [items]=\"jaNeeSelectItems$ | async\"\n [title]=\"'koppelZaakDocumenten' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'koppelZaakDocumentenUpdateTooltip' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultSelectionId]=\"koppelZaakDocumentenSelectionId(obs.prefill)\"\n [disabled]=\"obs.disabled\"\n ></v-select>\n <v-input\n name=\"documentenVariabelNaam\"\n [title]=\"'documentenVariabelNaam' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'documentenVariabelNaamTooltip' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.documentenVariabelNaam\"\n [disabled]=\"obs.disabled\"\n >\n </v-input>\n</v-form>\n" }]
324
+ }], ctorParameters: () => [{ type: i1.PluginTranslationService }], propDecorators: { save$: [{
268
325
  type: Input
269
326
  }], disabled$: [{
270
327
  type: Input
@@ -312,7 +369,7 @@ class DeleteProductConfigurationComponent {
312
369
  });
313
370
  }
314
371
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: DeleteProductConfigurationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
315
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: DeleteProductConfigurationComponent, isStandalone: false, selector: "valtimo-delete-product-configuration", inputs: { save$: "save$", disabled$: "disabled$", pluginId: "pluginId", prefillConfiguration$: "prefillConfiguration$" }, outputs: { valid: "valid", configuration: "configuration" }, ngImport: i0, template: "<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null\n } as obs\"\n>\n <v-input\n name=\"productUuid\"\n [title]=\"'productUuid' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.productUuid\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n</v-form>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$1.FormComponent, selector: "v-form", inputs: ["className"], outputs: ["valueChange"] }, { kind: "component", type: i2$1.InputComponent, selector: "v-input", inputs: ["name", "type", "title", "titleTranslationKey", "defaultValue", "widthPx", "fullWidth", "margin", "smallMargin", "disabled", "step", "min", "maxLength", "tooltip", "required", "hideNumberSpinBox", "smallLabel", "rows", "clear$", "carbonTheme", "placeholder", "dataTestId", "trim", "presetsTitle", "presetOptions"], outputs: ["valueChange"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.PluginTranslatePipe, name: "pluginTranslate" }] }); }
372
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: DeleteProductConfigurationComponent, isStandalone: false, selector: "valtimo-delete-product-configuration", inputs: { save$: "save$", disabled$: "disabled$", pluginId: "pluginId", prefillConfiguration$: "prefillConfiguration$" }, outputs: { valid: "valid", configuration: "configuration" }, ngImport: i0, template: "<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null\n } as obs\"\n>\n <v-input\n name=\"productUuid\"\n [title]=\"'productUuid' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.productUuid\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n</v-form>\n", dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$1.FormComponent, selector: "v-form", inputs: ["className"], outputs: ["valueChange"] }, { kind: "component", type: i2$1.InputComponent, selector: "v-input", inputs: ["name", "type", "title", "titleTranslationKey", "defaultValue", "widthPx", "fullWidth", "margin", "smallMargin", "disabled", "step", "min", "maxLength", "tooltip", "required", "hideNumberSpinBox", "smallLabel", "rows", "clear$", "carbonTheme", "placeholder", "dataTestId", "trim", "presetsTitle", "presetOptions"], outputs: ["valueChange"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.PluginTranslatePipe, name: "pluginTranslate" }] }); }
316
373
  }
317
374
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: DeleteProductConfigurationComponent, decorators: [{
318
375
  type: Component,
@@ -365,7 +422,7 @@ class GetAllProductsConfigurationComponent {
365
422
  });
366
423
  }
367
424
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: GetAllProductsConfigurationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
368
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: GetAllProductsConfigurationComponent, isStandalone: false, selector: "valtimo-get-all-products-configuration", inputs: { save$: "save$", disabled$: "disabled$", pluginId: "pluginId", prefillConfiguration$: "prefillConfiguration$" }, outputs: { valid: "valid", configuration: "configuration" }, ngImport: i0, template: "<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null\n } as obs\"\n>\n <v-input\n name=\"producttypeUuid\"\n [title]=\"'producttypeUuid' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.producttypeUuid\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n >\n </v-input>\n <v-input\n name=\"eigenaarBsn\"\n [title]=\"'eigenaarBsn' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.eigenaarBsn\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n >\n </v-input>\n <v-input\n name=\"status\"\n [title]=\"'status' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.status\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n >\n </v-input>\n <v-input\n name=\"resultaatVariabelNaam\"\n [title]=\"'resultaatVariabelNaam' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.resultaatVariabelNaam\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n >\n </v-input>\n</v-form>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$1.FormComponent, selector: "v-form", inputs: ["className"], outputs: ["valueChange"] }, { kind: "component", type: i2$1.InputComponent, selector: "v-input", inputs: ["name", "type", "title", "titleTranslationKey", "defaultValue", "widthPx", "fullWidth", "margin", "smallMargin", "disabled", "step", "min", "maxLength", "tooltip", "required", "hideNumberSpinBox", "smallLabel", "rows", "clear$", "carbonTheme", "placeholder", "dataTestId", "trim", "presetsTitle", "presetOptions"], outputs: ["valueChange"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.PluginTranslatePipe, name: "pluginTranslate" }] }); }
425
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: GetAllProductsConfigurationComponent, isStandalone: false, selector: "valtimo-get-all-products-configuration", inputs: { save$: "save$", disabled$: "disabled$", pluginId: "pluginId", prefillConfiguration$: "prefillConfiguration$" }, outputs: { valid: "valid", configuration: "configuration" }, ngImport: i0, template: "<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null\n } as obs\"\n>\n <v-input\n name=\"producttypeUuid\"\n [title]=\"'producttypeUuid' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.producttypeUuid\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n >\n </v-input>\n <v-input\n name=\"eigenaarBsn\"\n [title]=\"'eigenaarBsn' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.eigenaarBsn\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n >\n </v-input>\n <v-input\n name=\"status\"\n [title]=\"'status' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.status\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n >\n </v-input>\n <v-input\n name=\"resultaatVariabelNaam\"\n [title]=\"'resultaatVariabelNaam' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.resultaatVariabelNaam\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n >\n </v-input>\n</v-form>\n", dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$1.FormComponent, selector: "v-form", inputs: ["className"], outputs: ["valueChange"] }, { kind: "component", type: i2$1.InputComponent, selector: "v-input", inputs: ["name", "type", "title", "titleTranslationKey", "defaultValue", "widthPx", "fullWidth", "margin", "smallMargin", "disabled", "step", "min", "maxLength", "tooltip", "required", "hideNumberSpinBox", "smallLabel", "rows", "clear$", "carbonTheme", "placeholder", "dataTestId", "trim", "presetsTitle", "presetOptions"], outputs: ["valueChange"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.PluginTranslatePipe, name: "pluginTranslate" }] }); }
369
426
  }
370
427
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: GetAllProductsConfigurationComponent, decorators: [{
371
428
  type: Component,
@@ -418,7 +475,7 @@ class GetZaakDocumentenConfigurationComponent {
418
475
  });
419
476
  }
420
477
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: GetZaakDocumentenConfigurationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
421
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: GetZaakDocumentenConfigurationComponent, isStandalone: false, selector: "valtimo-get-zaak-documenten-configuration", inputs: { save$: "save$", disabled$: "disabled$", pluginId: "pluginId", prefillConfiguration$: "prefillConfiguration$" }, outputs: { valid: "valid", configuration: "configuration" }, ngImport: i0, template: "<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null\n } as obs\"\n>\n <v-input\n name=\"aanvraagZaakUrl\"\n [title]=\"'aanvraagZaakUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.aanvraagZaakUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"zaakDocumentenVariabelNaam\"\n [title]=\"'zaakDocumentenVariabelNaam' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.zaakDocumentenVariabelNaam\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n >\n </v-input>\n</v-form>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$1.FormComponent, selector: "v-form", inputs: ["className"], outputs: ["valueChange"] }, { kind: "component", type: i2$1.InputComponent, selector: "v-input", inputs: ["name", "type", "title", "titleTranslationKey", "defaultValue", "widthPx", "fullWidth", "margin", "smallMargin", "disabled", "step", "min", "maxLength", "tooltip", "required", "hideNumberSpinBox", "smallLabel", "rows", "clear$", "carbonTheme", "placeholder", "dataTestId", "trim", "presetsTitle", "presetOptions"], outputs: ["valueChange"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.PluginTranslatePipe, name: "pluginTranslate" }] }); }
478
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: GetZaakDocumentenConfigurationComponent, isStandalone: false, selector: "valtimo-get-zaak-documenten-configuration", inputs: { save$: "save$", disabled$: "disabled$", pluginId: "pluginId", prefillConfiguration$: "prefillConfiguration$" }, outputs: { valid: "valid", configuration: "configuration" }, ngImport: i0, template: "<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null\n } as obs\"\n>\n <v-input\n name=\"aanvraagZaakUrl\"\n [title]=\"'aanvraagZaakUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.aanvraagZaakUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n >\n </v-input>\n <v-input\n name=\"zaakDocumentenVariabelNaam\"\n [title]=\"'zaakDocumentenVariabelNaam' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.zaakDocumentenVariabelNaam\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n >\n </v-input>\n</v-form>\n", dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$1.FormComponent, selector: "v-form", inputs: ["className"], outputs: ["valueChange"] }, { kind: "component", type: i2$1.InputComponent, selector: "v-input", inputs: ["name", "type", "title", "titleTranslationKey", "defaultValue", "widthPx", "fullWidth", "margin", "smallMargin", "disabled", "step", "min", "maxLength", "tooltip", "required", "hideNumberSpinBox", "smallLabel", "rows", "clear$", "carbonTheme", "placeholder", "dataTestId", "trim", "presetsTitle", "presetOptions"], outputs: ["valueChange"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.PluginTranslatePipe, name: "pluginTranslate" }] }); }
422
479
  }
423
480
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: GetZaakDocumentenConfigurationComponent, decorators: [{
424
481
  type: Component,
@@ -437,6 +494,278 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
437
494
  type: Output
438
495
  }] } });
439
496
 
497
+ class OpenProductApiService extends BaseApiService {
498
+ constructor(httpClient, configService) {
499
+ super(httpClient, configService);
500
+ this.httpClient = httpClient;
501
+ this.configService = configService;
502
+ }
503
+ getProducttypen(pluginConfigurationId) {
504
+ return this.httpClient.get(this.getApiUrl(`/management/v1/openproduct/${pluginConfigurationId}/producttypen`));
505
+ }
506
+ getDataobjectSchema(pluginConfigurationId, producttypeUuid) {
507
+ return this.httpClient.get(this.getApiUrl(`/management/v1/openproduct/${pluginConfigurationId}/producttypen/${producttypeUuid}/dataobject-schema`));
508
+ }
509
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: OpenProductApiService, deps: [{ token: i1$2.HttpClient }, { token: i2$2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
510
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: OpenProductApiService, providedIn: 'root' }); }
511
+ }
512
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: OpenProductApiService, decorators: [{
513
+ type: Injectable,
514
+ args: [{ providedIn: 'root' }]
515
+ }], ctorParameters: () => [{ type: i1$2.HttpClient }, { type: i2$2.ConfigService }] });
516
+
517
+ /*
518
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
519
+ *
520
+ * Licensed under EUPL, Version 1.2 (the "License");
521
+ * you may not use this file except in compliance with the License.
522
+ * You may obtain a copy of the License at
523
+ *
524
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
525
+ *
526
+ * Unless required by applicable law or agreed to in writing, software
527
+ * distributed under the License is distributed on an "AS IS" basis,
528
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
529
+ * See the License for the specific language governing permissions and
530
+ * limitations under the License.
531
+ */
532
+ const PV_PREFIX = 'pv:';
533
+ const STANDARD_FIELDS = [
534
+ { key: 'productNaam' },
535
+ { key: 'productStatus', options: ['initieel', 'in_aanvraag', 'gereed', 'actief', 'ingetrokken', 'geweigerd', 'verlopen'] },
536
+ { key: 'productPrijs' },
537
+ { key: 'productFrequentie', options: ['eenmalig', 'maandelijks', 'jaarlijks'] },
538
+ { key: 'gepubliceerd', options: ['true', 'false'] },
539
+ { key: 'startDatum' },
540
+ { key: 'eindDatum' },
541
+ { key: 'aanvraagZaakUrn' },
542
+ { key: 'aanvraagZaakUrl' },
543
+ ];
544
+ class CreateOrUpdateProductConfigurationComponent {
545
+ constructor(formBuilder, openProductApiService) {
546
+ this.formBuilder = formBuilder;
547
+ this.openProductApiService = openProductApiService;
548
+ this.valid = new EventEmitter();
549
+ this.configuration = new EventEmitter();
550
+ this.standardFields = STANDARD_FIELDS;
551
+ this.eigenaarTypes = ['bsn', 'kvk_nummer', 'klantnummer'];
552
+ this.producttypen$ = new BehaviorSubject(null);
553
+ this.dataobjectFields$ = new BehaviorSubject([]);
554
+ this.loadError$ = new BehaviorSubject(false);
555
+ this.form = this.formBuilder.group({
556
+ producttypeUuid: [''],
557
+ eigenaarType: ['bsn'],
558
+ eigenaarIdentificatie: this.valueGroup(),
559
+ eigenaarVestigingsnummer: this.valueGroup(),
560
+ standard: this.formBuilder.group(Object.fromEntries(STANDARD_FIELDS.map(field => [field.key, this.valueGroup()]))),
561
+ documenten: [''],
562
+ dataobject: this.formBuilder.array([]),
563
+ resultaatVariabelNaam: [''],
564
+ });
565
+ this.configurationId$ = new BehaviorSubject(null);
566
+ this.subscriptions = new Subscription();
567
+ this.prefillMapping = [];
568
+ this.prefillProducttypeUuid = null;
569
+ this.disabled = false;
570
+ }
571
+ get dataobjectArray() {
572
+ return this.form.get('dataobject');
573
+ }
574
+ ngOnInit() {
575
+ this.subscriptions.add((this.selectedPluginConfigurationData$ ?? of(null))
576
+ .pipe(map(configuration => configuration?.configurationId ?? null))
577
+ .subscribe(configurationId => this.configurationId$.next(configurationId)));
578
+ this.openProducttypenSubscription();
579
+ this.openSchemaSubscription();
580
+ this.openPrefillSubscription();
581
+ this.openDisabledSubscription();
582
+ this.subscriptions.add(this.form.valueChanges.subscribe(() => this.emitValid()));
583
+ this.subscriptions.add(this.save$?.subscribe(() => this.save()));
584
+ this.emitValid();
585
+ }
586
+ ngOnDestroy() {
587
+ this.subscriptions.unsubscribe();
588
+ }
589
+ openProducttypenSubscription() {
590
+ this.subscriptions.add(this.configurationId$
591
+ .pipe(filter((configurationId) => !!configurationId), distinctUntilChanged(), switchMap(configurationId => this.openProductApiService.getProducttypen(configurationId).pipe(catchError(() => {
592
+ this.loadError$.next(true);
593
+ return of([]);
594
+ }))))
595
+ .subscribe(producttypen => this.producttypen$.next(producttypen)));
596
+ }
597
+ openSchemaSubscription() {
598
+ this.subscriptions.add(combineLatest([
599
+ this.configurationId$.pipe(filter((configurationId) => !!configurationId)),
600
+ this.form.get('producttypeUuid').valueChanges.pipe(filter((producttypeUuid) => !!producttypeUuid), distinctUntilChanged()),
601
+ ])
602
+ .pipe(tap(() => this.loadError$.next(false)), switchMap(([configurationId, producttypeUuid]) => this.openProductApiService.getDataobjectSchema(configurationId, producttypeUuid).pipe(catchError(() => {
603
+ this.loadError$.next(true);
604
+ return of({ schema: null });
605
+ }))))
606
+ .subscribe(dataobjectSchema => {
607
+ const keepUnknownKeys = this.form.get('producttypeUuid').value === this.prefillProducttypeUuid;
608
+ const properties = dataobjectSchema.schema?.properties ?? {};
609
+ const required = dataobjectSchema.schema?.required ?? [];
610
+ this.setDataobjectFields(Object.entries(properties).map(([key, property]) => ({
611
+ key,
612
+ type: [property.type ?? ''].flat().join(', '),
613
+ required: required.includes(key),
614
+ })), keepUnknownKeys);
615
+ }));
616
+ }
617
+ openPrefillSubscription() {
618
+ if (!this.prefillConfiguration$) {
619
+ return;
620
+ }
621
+ this.subscriptions.add(this.prefillConfiguration$.pipe(filter(prefill => !!prefill)).subscribe(prefill => {
622
+ this.prefillMapping = prefill.dataobjectMapping ?? [];
623
+ this.prefillProducttypeUuid = prefill.producttypeUuid ?? null;
624
+ this.setDataobjectFields(this.dataobjectFields$.value, true);
625
+ this.form.patchValue({
626
+ producttypeUuid: prefill.producttypeUuid ?? '',
627
+ eigenaarType: prefill.eigenaarType ?? 'bsn',
628
+ eigenaarIdentificatie: this.toValueGroup(prefill.eigenaarIdentificatie),
629
+ eigenaarVestigingsnummer: this.toValueGroup(prefill.eigenaarVestigingsnummer),
630
+ standard: Object.fromEntries(STANDARD_FIELDS.map(field => [field.key, this.toValueGroup(prefill[field.key])])),
631
+ documenten: this.withoutPvPrefix(prefill.documenten),
632
+ resultaatVariabelNaam: prefill.resultaatVariabelNaam ?? '',
633
+ });
634
+ }));
635
+ }
636
+ openDisabledSubscription() {
637
+ if (!this.disabled$) {
638
+ return;
639
+ }
640
+ this.subscriptions.add(this.disabled$.subscribe(disabled => {
641
+ this.disabled = disabled;
642
+ if (disabled) {
643
+ this.form.disable();
644
+ }
645
+ else {
646
+ this.form.enable();
647
+ }
648
+ }));
649
+ }
650
+ // Keeps mapped keys the schema no longer lists while the saved product type is shown, so they are not lost silently.
651
+ setDataobjectFields(schemaFields, keepUnknownKeys) {
652
+ const current = this.dataobjectArray.length
653
+ ? this.toDataobjectMapping()
654
+ : this.prefillMapping;
655
+ const unknownKeys = keepUnknownKeys
656
+ ? current.map(entry => entry.key).filter(key => !schemaFields.some(field => field.key === key))
657
+ : [];
658
+ const fields = [
659
+ ...schemaFields,
660
+ ...unknownKeys.map(key => ({ key, type: '', required: false })),
661
+ ];
662
+ this.dataobjectFields$.next(fields);
663
+ this.dataobjectArray.clear();
664
+ fields.forEach(field => {
665
+ const value = current.find(entry => entry.key === field.key)?.value;
666
+ this.dataobjectArray.push(this.formBuilder.group({ key: [field.key], ...this.toValueGroup(value) }));
667
+ });
668
+ if (this.disabled) {
669
+ this.dataobjectArray.disable();
670
+ }
671
+ this.emitValid();
672
+ }
673
+ save() {
674
+ if (this.isValid()) {
675
+ this.configuration.emit(this.toConfiguration());
676
+ }
677
+ }
678
+ toConfiguration() {
679
+ const value = this.form.getRawValue();
680
+ const standard = Object.fromEntries(STANDARD_FIELDS.map(field => [field.key, this.fromValueGroup(value.standard[field.key])])
681
+ .filter(([, fieldValue]) => fieldValue !== undefined));
682
+ const configuration = {
683
+ producttypeUuid: value.producttypeUuid,
684
+ eigenaarType: value.eigenaarType,
685
+ eigenaarIdentificatie: this.fromValueGroup(value.eigenaarIdentificatie),
686
+ ...standard,
687
+ dataobjectMapping: this.toDataobjectMapping(),
688
+ };
689
+ const vestigingsnummer = this.fromValueGroup(value.eigenaarVestigingsnummer);
690
+ if (value.eigenaarType === 'kvk_nummer' && vestigingsnummer !== undefined) {
691
+ configuration.eigenaarVestigingsnummer = vestigingsnummer;
692
+ }
693
+ if (value.documenten?.trim()) {
694
+ configuration.documenten = `${PV_PREFIX}${this.withoutPvPrefix(value.documenten.trim())}`;
695
+ }
696
+ if (value.resultaatVariabelNaam?.trim()) {
697
+ configuration.resultaatVariabelNaam = value.resultaatVariabelNaam.trim();
698
+ }
699
+ return configuration;
700
+ }
701
+ toDataobjectMapping() {
702
+ return this.dataobjectArray
703
+ .getRawValue()
704
+ .map(entry => ({ key: entry.key, value: this.fromValueGroup(entry) }))
705
+ .filter((entry) => entry.value !== undefined);
706
+ }
707
+ isValid() {
708
+ const value = this.form.getRawValue();
709
+ const mapping = this.toDataobjectMapping();
710
+ const requiredFieldsSet = this.dataobjectFields$.value
711
+ .filter(field => field.required)
712
+ .every(field => mapping.some(entry => entry.key === field.key));
713
+ const aanvraagZaakSet = this.fromValueGroup(value.standard.aanvraagZaakUrn) !== undefined ||
714
+ this.fromValueGroup(value.standard.aanvraagZaakUrl) !== undefined;
715
+ return (!!value.producttypeUuid &&
716
+ !!value.eigenaarType &&
717
+ this.fromValueGroup(value.eigenaarIdentificatie) !== undefined &&
718
+ aanvraagZaakSet &&
719
+ requiredFieldsSet &&
720
+ !this.loadError$.value);
721
+ }
722
+ emitValid() {
723
+ this.valid.emit(this.isValid());
724
+ }
725
+ valueGroup() {
726
+ return this.formBuilder.group({ mode: ['fixed'], value: [''] });
727
+ }
728
+ toValueGroup(stored) {
729
+ if (stored === undefined || stored === null) {
730
+ return { mode: 'fixed', value: '' };
731
+ }
732
+ const text = `${stored}`;
733
+ return text.startsWith(PV_PREFIX)
734
+ ? { mode: 'pv', value: text.substring(PV_PREFIX.length) }
735
+ : { mode: 'fixed', value: text };
736
+ }
737
+ fromValueGroup(group) {
738
+ const value = group?.value?.trim();
739
+ if (!value) {
740
+ return undefined;
741
+ }
742
+ return group.mode === 'pv' ? `${PV_PREFIX}${this.withoutPvPrefix(value)}` : value;
743
+ }
744
+ withoutPvPrefix(stored) {
745
+ return stored?.startsWith(PV_PREFIX) ? stored.substring(PV_PREFIX.length) : stored ?? '';
746
+ }
747
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CreateOrUpdateProductConfigurationComponent, deps: [{ token: i1$3.FormBuilder }, { token: OpenProductApiService }], target: i0.ɵɵFactoryTarget.Component }); }
748
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CreateOrUpdateProductConfigurationComponent, isStandalone: false, selector: "valtimo-create-or-update-product-configuration", inputs: { save$: "save$", disabled$: "disabled$", pluginId: "pluginId", prefillConfiguration$: "prefillConfiguration$", selectedPluginConfigurationData$: "selectedPluginConfigurationData$" }, 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<form class=\"create-or-update-product\" [formGroup]=\"form\">\n <cds-select\n class=\"create-or-update-product__field\"\n formControlName=\"producttypeUuid\"\n data-testid=\"producttype\"\n [label]=\"'producttypeKeuze' | pluginTranslate: pluginId | async\"\n [helperText]=\"'producttypeKeuzeTooltip' | pluginTranslate: pluginId | async\"\n >\n <option value=\"\" disabled hidden>{{ 'producttypeKiezen' | pluginTranslate: pluginId | async }}</option>\n <option *ngFor=\"let producttype of producttypen$ | async\" [value]=\"producttype.uuid\">\n {{ producttype.naam || producttype.code || producttype.uuid }}\n </option>\n </cds-select>\n <p *ngIf=\"loadError$ | async\" class=\"create-or-update-product__error\" data-testid=\"load-error\">\n {{ 'openProductNietBereikbaar' | pluginTranslate: pluginId | async }}\n </p>\n\n <h4 class=\"create-or-update-product__heading\">{{ 'eigenaarKop' | pluginTranslate: pluginId | async }}</h4>\n <cds-select\n class=\"create-or-update-product__field\"\n formControlName=\"eigenaarType\"\n data-testid=\"eigenaarType\"\n [label]=\"'eigenaarType' | pluginTranslate: pluginId | async\"\n >\n <option *ngFor=\"let eigenaarType of eigenaarTypes\" [value]=\"eigenaarType\">\n {{ 'eigenaarType_' + eigenaarType | pluginTranslate: pluginId | async }}\n </option>\n </cds-select>\n <ng-container\n *ngTemplateOutlet=\"valueRow; context: {group: form.get('eigenaarIdentificatie'), fieldKey: 'eigenaarIdentificatie', label: 'eigenaarIdentificatie', required: true}\"\n ></ng-container>\n <ng-container *ngIf=\"form.get('eigenaarType').value === 'kvk_nummer'\">\n <ng-container\n *ngTemplateOutlet=\"valueRow; context: {group: form.get('eigenaarVestigingsnummer'), fieldKey: 'eigenaarVestigingsnummer', label: 'eigenaarVestigingsnummer'}\"\n ></ng-container>\n </ng-container>\n\n <h4 class=\"create-or-update-product__heading\">{{ 'productgegevensKop' | pluginTranslate: pluginId | async }}</h4>\n <p class=\"create-or-update-product__hint\">{{ 'productgegevensUitleg' | pluginTranslate: pluginId | async }}</p>\n <ng-container *ngFor=\"let field of standardFields\">\n <ng-container\n *ngTemplateOutlet=\"valueRow; context: {group: form.get(['standard', field.key]), fieldKey: field.key, label: field.key, options: field.options}\"\n ></ng-container>\n </ng-container>\n <cds-text-label class=\"create-or-update-product__field\" [helperText]=\"'documentenTooltip' | pluginTranslate: pluginId | async\">\n {{ 'documenten' | pluginTranslate: pluginId | async }}\n <input cdsText formControlName=\"documenten\" data-testid=\"documenten\" />\n </cds-text-label>\n\n <h4 class=\"create-or-update-product__heading\">{{ 'dataobjectKop' | pluginTranslate: pluginId | async }}</h4>\n <p\n *ngIf=\"form.get('producttypeUuid').value && !(dataobjectFields$ | async)?.length\"\n class=\"create-or-update-product__hint\"\n data-testid=\"no-dataobject-fields\"\n >\n {{ 'geenDataobjectVelden' | pluginTranslate: pluginId | async }}\n </p>\n <ng-container *ngFor=\"let field of dataobjectFields$ | async; let index = index\">\n <ng-container\n *ngTemplateOutlet=\"valueRow; context: {group: dataobjectArray.at(index), fieldKey: 'dataobject.' + field.key, text: field.key + (field.type ? ' (' + field.type + ')' : ''), required: field.required}\"\n ></ng-container>\n </ng-container>\n\n <cds-text-label class=\"create-or-update-product__field\" [helperText]=\"'resultaatVariabelNaamTooltip' | pluginTranslate: pluginId | async\">\n {{ 'resultaatVariabelNaamUpsert' | pluginTranslate: pluginId | async }}\n <input cdsText formControlName=\"resultaatVariabelNaam\" placeholder=\"productUuid\" data-testid=\"resultaatVariabelNaam\" />\n </cds-text-label>\n</form>\n\n<ng-template #valueRow let-group=\"group\" let-fieldKey=\"fieldKey\" let-label=\"label\" let-text=\"text\" let-options=\"options\" let-required=\"required\">\n <div class=\"create-or-update-product__value-row\" [formGroup]=\"group\" [attr.data-testid]=\"'row-' + fieldKey\">\n <span class=\"create-or-update-product__value-label\">\n {{ text || (label | pluginTranslate: pluginId | async) }}<span *ngIf=\"required\"> *</span>\n </span>\n <cds-select size=\"sm\" formControlName=\"mode\" [attr.data-testid]=\"'mode-' + fieldKey\">\n <option value=\"fixed\">{{ 'vasteWaarde' | pluginTranslate: pluginId | async }}</option>\n <option value=\"pv\">{{ 'procesvariabele' | pluginTranslate: pluginId | async }}</option>\n </cds-select>\n <cds-select\n *ngIf=\"options && group.get('mode').value === 'fixed'; else textInput\"\n size=\"sm\"\n formControlName=\"value\"\n [attr.data-testid]=\"'value-' + fieldKey\"\n >\n <option value=\"\"></option>\n <option *ngFor=\"let option of options\" [value]=\"option\">{{ option }}</option>\n </cds-select>\n <ng-template #textInput>\n <input\n cdsText\n size=\"sm\"\n formControlName=\"value\"\n [attr.data-testid]=\"'value-' + fieldKey\"\n [placeholder]=\"(group.get('mode').value === 'pv' ? 'procesvariabeleNaam' : 'vasteWaarde') | pluginTranslate: pluginId | async\"\n />\n </ng-template>\n </div>\n</ng-template>\n", styles: [".create-or-update-product{display:flex;flex-direction:column;gap:16px}.create-or-update-product__heading{margin-top:8px}.create-or-update-product__value-row{display:grid;grid-template-columns:minmax(160px,1fr) 180px 2fr;gap:8px;align-items:center}.create-or-update-product__error{color:var(--cds-text-error)}.create-or-update-product__hint{color:var(--cds-text-secondary)}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.TextInputLabelComponent, selector: "cds-text-label, ibm-text-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "textInputTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel", "fluid"] }, { kind: "directive", type: i4.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { 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" }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.PluginTranslatePipe, name: "pluginTranslate" }] }); }
749
+ }
750
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CreateOrUpdateProductConfigurationComponent, decorators: [{
751
+ type: Component,
752
+ args: [{ standalone: false, selector: 'valtimo-create-or-update-product-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<form class=\"create-or-update-product\" [formGroup]=\"form\">\n <cds-select\n class=\"create-or-update-product__field\"\n formControlName=\"producttypeUuid\"\n data-testid=\"producttype\"\n [label]=\"'producttypeKeuze' | pluginTranslate: pluginId | async\"\n [helperText]=\"'producttypeKeuzeTooltip' | pluginTranslate: pluginId | async\"\n >\n <option value=\"\" disabled hidden>{{ 'producttypeKiezen' | pluginTranslate: pluginId | async }}</option>\n <option *ngFor=\"let producttype of producttypen$ | async\" [value]=\"producttype.uuid\">\n {{ producttype.naam || producttype.code || producttype.uuid }}\n </option>\n </cds-select>\n <p *ngIf=\"loadError$ | async\" class=\"create-or-update-product__error\" data-testid=\"load-error\">\n {{ 'openProductNietBereikbaar' | pluginTranslate: pluginId | async }}\n </p>\n\n <h4 class=\"create-or-update-product__heading\">{{ 'eigenaarKop' | pluginTranslate: pluginId | async }}</h4>\n <cds-select\n class=\"create-or-update-product__field\"\n formControlName=\"eigenaarType\"\n data-testid=\"eigenaarType\"\n [label]=\"'eigenaarType' | pluginTranslate: pluginId | async\"\n >\n <option *ngFor=\"let eigenaarType of eigenaarTypes\" [value]=\"eigenaarType\">\n {{ 'eigenaarType_' + eigenaarType | pluginTranslate: pluginId | async }}\n </option>\n </cds-select>\n <ng-container\n *ngTemplateOutlet=\"valueRow; context: {group: form.get('eigenaarIdentificatie'), fieldKey: 'eigenaarIdentificatie', label: 'eigenaarIdentificatie', required: true}\"\n ></ng-container>\n <ng-container *ngIf=\"form.get('eigenaarType').value === 'kvk_nummer'\">\n <ng-container\n *ngTemplateOutlet=\"valueRow; context: {group: form.get('eigenaarVestigingsnummer'), fieldKey: 'eigenaarVestigingsnummer', label: 'eigenaarVestigingsnummer'}\"\n ></ng-container>\n </ng-container>\n\n <h4 class=\"create-or-update-product__heading\">{{ 'productgegevensKop' | pluginTranslate: pluginId | async }}</h4>\n <p class=\"create-or-update-product__hint\">{{ 'productgegevensUitleg' | pluginTranslate: pluginId | async }}</p>\n <ng-container *ngFor=\"let field of standardFields\">\n <ng-container\n *ngTemplateOutlet=\"valueRow; context: {group: form.get(['standard', field.key]), fieldKey: field.key, label: field.key, options: field.options}\"\n ></ng-container>\n </ng-container>\n <cds-text-label class=\"create-or-update-product__field\" [helperText]=\"'documentenTooltip' | pluginTranslate: pluginId | async\">\n {{ 'documenten' | pluginTranslate: pluginId | async }}\n <input cdsText formControlName=\"documenten\" data-testid=\"documenten\" />\n </cds-text-label>\n\n <h4 class=\"create-or-update-product__heading\">{{ 'dataobjectKop' | pluginTranslate: pluginId | async }}</h4>\n <p\n *ngIf=\"form.get('producttypeUuid').value && !(dataobjectFields$ | async)?.length\"\n class=\"create-or-update-product__hint\"\n data-testid=\"no-dataobject-fields\"\n >\n {{ 'geenDataobjectVelden' | pluginTranslate: pluginId | async }}\n </p>\n <ng-container *ngFor=\"let field of dataobjectFields$ | async; let index = index\">\n <ng-container\n *ngTemplateOutlet=\"valueRow; context: {group: dataobjectArray.at(index), fieldKey: 'dataobject.' + field.key, text: field.key + (field.type ? ' (' + field.type + ')' : ''), required: field.required}\"\n ></ng-container>\n </ng-container>\n\n <cds-text-label class=\"create-or-update-product__field\" [helperText]=\"'resultaatVariabelNaamTooltip' | pluginTranslate: pluginId | async\">\n {{ 'resultaatVariabelNaamUpsert' | pluginTranslate: pluginId | async }}\n <input cdsText formControlName=\"resultaatVariabelNaam\" placeholder=\"productUuid\" data-testid=\"resultaatVariabelNaam\" />\n </cds-text-label>\n</form>\n\n<ng-template #valueRow let-group=\"group\" let-fieldKey=\"fieldKey\" let-label=\"label\" let-text=\"text\" let-options=\"options\" let-required=\"required\">\n <div class=\"create-or-update-product__value-row\" [formGroup]=\"group\" [attr.data-testid]=\"'row-' + fieldKey\">\n <span class=\"create-or-update-product__value-label\">\n {{ text || (label | pluginTranslate: pluginId | async) }}<span *ngIf=\"required\"> *</span>\n </span>\n <cds-select size=\"sm\" formControlName=\"mode\" [attr.data-testid]=\"'mode-' + fieldKey\">\n <option value=\"fixed\">{{ 'vasteWaarde' | pluginTranslate: pluginId | async }}</option>\n <option value=\"pv\">{{ 'procesvariabele' | pluginTranslate: pluginId | async }}</option>\n </cds-select>\n <cds-select\n *ngIf=\"options && group.get('mode').value === 'fixed'; else textInput\"\n size=\"sm\"\n formControlName=\"value\"\n [attr.data-testid]=\"'value-' + fieldKey\"\n >\n <option value=\"\"></option>\n <option *ngFor=\"let option of options\" [value]=\"option\">{{ option }}</option>\n </cds-select>\n <ng-template #textInput>\n <input\n cdsText\n size=\"sm\"\n formControlName=\"value\"\n [attr.data-testid]=\"'value-' + fieldKey\"\n [placeholder]=\"(group.get('mode').value === 'pv' ? 'procesvariabeleNaam' : 'vasteWaarde') | pluginTranslate: pluginId | async\"\n />\n </ng-template>\n </div>\n</ng-template>\n", styles: [".create-or-update-product{display:flex;flex-direction:column;gap:16px}.create-or-update-product__heading{margin-top:8px}.create-or-update-product__value-row{display:grid;grid-template-columns:minmax(160px,1fr) 180px 2fr;gap:8px;align-items:center}.create-or-update-product__error{color:var(--cds-text-error)}.create-or-update-product__hint{color:var(--cds-text-secondary)}\n"] }]
753
+ }], ctorParameters: () => [{ type: i1$3.FormBuilder }, { type: OpenProductApiService }], propDecorators: { save$: [{
754
+ type: Input
755
+ }], disabled$: [{
756
+ type: Input
757
+ }], pluginId: [{
758
+ type: Input
759
+ }], prefillConfiguration$: [{
760
+ type: Input
761
+ }], selectedPluginConfigurationData$: [{
762
+ type: Input
763
+ }], valid: [{
764
+ type: Output
765
+ }], configuration: [{
766
+ type: Output
767
+ }] } });
768
+
440
769
  /*
441
770
  * Copyright 2015-2025 Ritense BV, the Netherlands.
442
771
  *
@@ -454,15 +783,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
454
783
  */
455
784
  class OpenProductPluginModule {
456
785
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: OpenProductPluginModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
457
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.20", ngImport: i0, type: OpenProductPluginModule, declarations: [OpenProductConfigurationComponent, GetProductConfigurationComponent, GetAllProductsConfigurationComponent, GetZaakDocumentenConfigurationComponent, CreateProductConfigurationComponent, UpdateProductConfigurationComponent, DeleteProductConfigurationComponent], imports: [CommonModule, PluginTranslatePipeModule, FormModule, InputModule, SelectModule, CarbonMultiInputModule], exports: [OpenProductConfigurationComponent, GetProductConfigurationComponent, GetAllProductsConfigurationComponent, GetZaakDocumentenConfigurationComponent, CreateProductConfigurationComponent, UpdateProductConfigurationComponent, DeleteProductConfigurationComponent] }); }
458
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: OpenProductPluginModule, imports: [CommonModule, PluginTranslatePipeModule, FormModule, InputModule, SelectModule, CarbonMultiInputModule] }); }
786
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.20", ngImport: i0, type: OpenProductPluginModule, declarations: [OpenProductConfigurationComponent, GetProductConfigurationComponent, GetAllProductsConfigurationComponent, GetZaakDocumentenConfigurationComponent, CreateProductConfigurationComponent, UpdateProductConfigurationComponent, DeleteProductConfigurationComponent, CreateOrUpdateProductConfigurationComponent], imports: [CommonModule, PluginTranslatePipeModule, FormModule, InputModule, SelectModule, CarbonMultiInputModule, ReactiveFormsModule, InputModule$1, SelectModule$1], exports: [OpenProductConfigurationComponent, GetProductConfigurationComponent, GetAllProductsConfigurationComponent, GetZaakDocumentenConfigurationComponent, CreateProductConfigurationComponent, UpdateProductConfigurationComponent, DeleteProductConfigurationComponent, CreateOrUpdateProductConfigurationComponent] }); }
787
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: OpenProductPluginModule, imports: [CommonModule, PluginTranslatePipeModule, FormModule, InputModule, SelectModule, CarbonMultiInputModule, ReactiveFormsModule, InputModule$1, SelectModule$1] }); }
459
788
  }
460
789
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: OpenProductPluginModule, decorators: [{
461
790
  type: NgModule,
462
791
  args: [{
463
- declarations: [OpenProductConfigurationComponent, GetProductConfigurationComponent, GetAllProductsConfigurationComponent, GetZaakDocumentenConfigurationComponent, CreateProductConfigurationComponent, UpdateProductConfigurationComponent, DeleteProductConfigurationComponent],
464
- imports: [CommonModule, PluginTranslatePipeModule, FormModule, InputModule, SelectModule, CarbonMultiInputModule],
465
- exports: [OpenProductConfigurationComponent, GetProductConfigurationComponent, GetAllProductsConfigurationComponent, GetZaakDocumentenConfigurationComponent, CreateProductConfigurationComponent, UpdateProductConfigurationComponent, DeleteProductConfigurationComponent],
792
+ declarations: [OpenProductConfigurationComponent, GetProductConfigurationComponent, GetAllProductsConfigurationComponent, GetZaakDocumentenConfigurationComponent, CreateProductConfigurationComponent, UpdateProductConfigurationComponent, DeleteProductConfigurationComponent, CreateOrUpdateProductConfigurationComponent],
793
+ imports: [CommonModule, PluginTranslatePipeModule, FormModule, InputModule, SelectModule, CarbonMultiInputModule, ReactiveFormsModule, InputModule$1, SelectModule$1],
794
+ exports: [OpenProductConfigurationComponent, GetProductConfigurationComponent, GetAllProductsConfigurationComponent, GetZaakDocumentenConfigurationComponent, CreateProductConfigurationComponent, UpdateProductConfigurationComponent, DeleteProductConfigurationComponent, CreateOrUpdateProductConfigurationComponent],
466
795
  }]
467
796
  }] });
468
797
 
@@ -528,6 +857,7 @@ const openProductPluginSpecification = {
528
857
  'get-zaak-documenten': GetZaakDocumentenConfigurationComponent,
529
858
  'create-product': CreateProductConfigurationComponent,
530
859
  'update-product': UpdateProductConfigurationComponent,
860
+ 'create-or-update-product': CreateOrUpdateProductConfigurationComponent,
531
861
  'delete-product': DeleteProductConfigurationComponent
532
862
  },
533
863
  pluginTranslations: {
@@ -555,10 +885,43 @@ const openProductPluginSpecification = {
555
885
  resultaatPV: 'De naam van de process variable waar het resultaat in komt',
556
886
  authenticationPluginConfiguration: 'Selecteer de authenticatie plugin configuratie',
557
887
  dataobjectVariabelNaam: 'Naam van de procesvariabele voor het dataobject (optioneel)',
888
+ koppelZaakDocumenten: 'Zaakdocumenten koppelen aan het product?',
889
+ koppelZaakDocumentenTooltip: 'Bij Ja worden alle documenten die op dat moment aan de zaak (aanvraagZaakUrl) gekoppeld zijn aan het product toegevoegd.',
890
+ koppelZaakDocumentenUpdateTooltip: 'Bij Ja worden de documenten van de zaak (aanvraagZaakUrl) op het product gezet. Wordt genegeerd als een procesvariabele met documenten is ingevuld.',
891
+ documentenVariabelNaam: 'Procesvariabele met de documenten (optioneel)',
892
+ documentenVariabelNaamTooltip: 'Een lijst met { url } per document, bijvoorbeeld gevuld door de actie "Zaakdocumenten ophalen als productdocumenten". Gaat voor op "Zaakdocumenten koppelen".',
893
+ ja: 'Ja',
894
+ nee: 'Nee',
558
895
  producttypeUuid: 'UUID van het producttype om op te filteren (optioneel)',
559
896
  status: 'Status van het product om op te filteren (optioneel, bijv. gereed, actief)',
560
897
  resultaatVariabelNaam: 'Naam van de procesvariabele voor de resultatenlijst (standaard: alleProducten)',
561
898
  zaakDocumentenVariabelNaam: 'Naam van de procesvariabele voor de zaakdocumentenlijst (standaard: zaakDocumenten)',
899
+ 'create-or-update-product': 'Product aanmaken of bijwerken',
900
+ producttypeKeuze: 'Producttype',
901
+ producttypeKeuzeTooltip: 'De producttypen van de gekozen Open Product-configuratie. De velden van het dataobject komen uit het schema van dit producttype.',
902
+ producttypeKiezen: 'Kies een producttype',
903
+ openProductNietBereikbaar: 'De producttypen of het schema konden niet uit Open Producten worden opgehaald. Controleer de pluginconfiguratie.',
904
+ eigenaarKop: 'Eigenaar',
905
+ eigenaarType: 'De eigenaar wordt herkend aan',
906
+ eigenaarType_bsn: 'BSN',
907
+ eigenaarType_kvk_nummer: 'KVK-nummer',
908
+ eigenaarType_klantnummer: 'Klantnummer',
909
+ eigenaarIdentificatie: 'BSN, KVK-nummer of klantnummer van de eigenaar',
910
+ eigenaarVestigingsnummer: 'Vestigingsnummer (optioneel)',
911
+ productgegevensKop: 'Productgegevens',
912
+ productgegevensUitleg: 'Laat een veld leeg om bij bijwerken de huidige waarde te houden. De aanvraagzaak (URN of URL) is verplicht en wordt alleen bij aanmaken meegestuurd.',
913
+ aanvraagZaakUrn: 'De URN van de aanvraagzaak',
914
+ startDatum: 'Startdatum (JJJJ-MM-DD)',
915
+ eindDatum: 'Einddatum (JJJJ-MM-DD)',
916
+ documenten: 'Procesvariabele met de documenten (optioneel)',
917
+ documentenTooltip: 'Bijvoorbeeld de procesvariabele die de actie "Zaakdocumenten ophalen als productdocumenten" vult. Bij bijwerken worden de documenten toegevoegd aan de bestaande.',
918
+ dataobjectKop: 'Dataobject',
919
+ geenDataobjectVelden: 'Dit producttype heeft geen dataobject-schema.',
920
+ resultaatVariabelNaamUpsert: 'Naam van de procesvariabele voor de UUID van het product (optioneel)',
921
+ resultaatVariabelNaamTooltip: 'Standaard: productUuid',
922
+ vasteWaarde: 'Vaste waarde',
923
+ procesvariabele: 'Procesvariabele',
924
+ procesvariabeleNaam: 'Naam van de procesvariabele',
562
925
  },
563
926
  en: {
564
927
  title: 'Open Product Plugin',
@@ -584,10 +947,43 @@ const openProductPluginSpecification = {
584
947
  resultaatPV: 'The name of the process variable that will contain the result',
585
948
  authenticationPluginConfiguration: 'Select the authentication plugin configuration',
586
949
  dataobjectVariabelNaam: 'Process variable name for the data object (optional)',
950
+ koppelZaakDocumenten: 'Link zaak documents to the product?',
951
+ koppelZaakDocumentenTooltip: 'When Yes, all documents linked to the zaak (aanvraagZaakUrl) at that moment are added to the product.',
952
+ koppelZaakDocumentenUpdateTooltip: 'When Yes, the documents of the zaak (aanvraagZaakUrl) are set on the product. Ignored when a documents process variable is filled in.',
953
+ documentenVariabelNaam: 'Process variable holding the documents (optional)',
954
+ documentenVariabelNaamTooltip: 'A list with a { url } per document, for example filled by the action "Retrieve zaak documents as product documents". Takes precedence over "Link zaak documents".',
955
+ ja: 'Yes',
956
+ nee: 'No',
587
957
  producttypeUuid: 'Product type UUID to filter on (optional)',
588
958
  status: 'Product status to filter on (optional, e.g. gereed, actief)',
589
959
  resultaatVariabelNaam: 'Process variable name for the results list (default: alleProducten)',
590
960
  zaakDocumentenVariabelNaam: 'Process variable name for the zaak documents list (default: zaakDocumenten)',
961
+ 'create-or-update-product': 'Create or update product',
962
+ producttypeKeuze: 'Product type',
963
+ producttypeKeuzeTooltip: 'The product types of the selected Open Product configuration. The dataobject fields come from the schema of this product type.',
964
+ producttypeKiezen: 'Choose a product type',
965
+ openProductNietBereikbaar: 'The product types or the schema could not be retrieved from Open Producten. Check the plugin configuration.',
966
+ eigenaarKop: 'Owner',
967
+ eigenaarType: 'The owner is identified by',
968
+ eigenaarType_bsn: 'BSN',
969
+ eigenaarType_kvk_nummer: 'KVK number',
970
+ eigenaarType_klantnummer: 'Customer number',
971
+ eigenaarIdentificatie: 'BSN, KVK number or customer number of the owner',
972
+ eigenaarVestigingsnummer: 'Branch number (optional)',
973
+ productgegevensKop: 'Product details',
974
+ productgegevensUitleg: 'Leave a field empty to keep its current value on update. The application zaak (URN or URL) is required and is only sent on create.',
975
+ aanvraagZaakUrn: 'The URN of the application zaak',
976
+ startDatum: 'Start date (YYYY-MM-DD)',
977
+ eindDatum: 'End date (YYYY-MM-DD)',
978
+ documenten: 'Process variable holding the documents (optional)',
979
+ documentenTooltip: 'For example the process variable filled by the action "Retrieve zaak documents as product documents". On update the documents are added to the existing ones.',
980
+ dataobjectKop: 'Dataobject',
981
+ geenDataobjectVelden: 'This product type has no dataobject schema.',
982
+ resultaatVariabelNaamUpsert: 'Process variable name for the product UUID (optional)',
983
+ resultaatVariabelNaamTooltip: 'Default: productUuid',
984
+ vasteWaarde: 'Fixed value',
985
+ procesvariabele: 'Process variable',
986
+ procesvariabeleNaam: 'Name of the process variable',
591
987
  },
592
988
  de: {
593
989
  title: 'Open Product Plugin',
@@ -607,10 +1003,43 @@ const openProductPluginSpecification = {
607
1003
  resultaatPV: 'Der Name der Prozessvariablen, in der das Ergebnis gespeichert wird',
608
1004
  authenticationPluginConfiguration: 'Wählen Sie die Authentifizierungs-Plugin-Konfiguration aus',
609
1005
  dataobjectVariabelNaam: 'Prozessvariablenname für das Datenobjekt (optional)',
1006
+ koppelZaakDocumenten: 'Zaakdokumente mit dem Produkt verknüpfen?',
1007
+ koppelZaakDocumentenTooltip: 'Bei Ja werden alle Dokumente, die zu diesem Zeitpunkt mit der Zaak (aanvraagZaakUrl) verknüpft sind, dem Produkt hinzugefügt.',
1008
+ koppelZaakDocumentenUpdateTooltip: 'Bei Ja werden die Dokumente der Zaak (aanvraagZaakUrl) am Produkt gesetzt. Wird ignoriert, wenn eine Prozessvariable mit Dokumenten angegeben ist.',
1009
+ documentenVariabelNaam: 'Prozessvariable mit den Dokumenten (optional)',
1010
+ documentenVariabelNaamTooltip: 'Eine Liste mit einer { url } pro Dokument, z. B. gefüllt durch die Aktion "Zaakdokumente als Produktdokumente abrufen". Hat Vorrang vor "Zaakdokumente verknüpfen".',
1011
+ ja: 'Ja',
1012
+ nee: 'Nein',
610
1013
  producttypeUuid: 'Produkttyp-UUID zum Filtern (optional)',
611
1014
  status: 'Produktstatus zum Filtern (optional, z. B. gereed, actief)',
612
1015
  resultaatVariabelNaam: 'Prozessvariablenname für die Ergebnisliste (Standard: alleProducten)',
613
1016
  zaakDocumentenVariabelNaam: 'Prozessvariablenname für die Zaakdokumentenliste (Standard: zaakDocumenten)',
1017
+ 'create-or-update-product': 'Produkt anlegen oder aktualisieren',
1018
+ producttypeKeuze: 'Produkttyp',
1019
+ producttypeKeuzeTooltip: 'Die Produkttypen der gewählten Open-Product-Konfiguration. Die Felder des Datenobjekts stammen aus dem Schema dieses Produkttyps.',
1020
+ producttypeKiezen: 'Produkttyp wählen',
1021
+ openProductNietBereikbaar: 'Die Produkttypen oder das Schema konnten nicht aus Open Producten abgerufen werden. Prüfen Sie die Plugin-Konfiguration.',
1022
+ eigenaarKop: 'Eigentümer',
1023
+ eigenaarType: 'Der Eigentümer wird erkannt an',
1024
+ eigenaarType_bsn: 'BSN',
1025
+ eigenaarType_kvk_nummer: 'KVK-Nummer',
1026
+ eigenaarType_klantnummer: 'Kundennummer',
1027
+ eigenaarIdentificatie: 'BSN, KVK-Nummer oder Kundennummer des Eigentümers',
1028
+ eigenaarVestigingsnummer: 'Niederlassungsnummer (optional)',
1029
+ productgegevensKop: 'Produktdaten',
1030
+ productgegevensUitleg: 'Lassen Sie ein Feld leer, um beim Aktualisieren den aktuellen Wert zu behalten. Die Antrags-Zaak (URN oder URL) ist erforderlich und wird nur beim Anlegen gesendet.',
1031
+ aanvraagZaakUrn: 'Die URN der Antrags-Zaak',
1032
+ startDatum: 'Startdatum (JJJJ-MM-TT)',
1033
+ eindDatum: 'Enddatum (JJJJ-MM-TT)',
1034
+ documenten: 'Prozessvariable mit den Dokumenten (optional)',
1035
+ documentenTooltip: 'Zum Beispiel die Prozessvariable, die die Aktion zum Abrufen der Zaak-Dokumente füllt. Beim Aktualisieren werden die Dokumente zu den vorhandenen hinzugefügt.',
1036
+ dataobjectKop: 'Datenobjekt',
1037
+ geenDataobjectVelden: 'Dieser Produkttyp hat kein Datenobjekt-Schema.',
1038
+ resultaatVariabelNaamUpsert: 'Prozessvariablenname für die Produkt-UUID (optional)',
1039
+ resultaatVariabelNaamTooltip: 'Standard: productUuid',
1040
+ vasteWaarde: 'Fester Wert',
1041
+ procesvariabele: 'Prozessvariable',
1042
+ procesvariabeleNaam: 'Name der Prozessvariablen',
614
1043
  }
615
1044
  }
616
1045
  };
@@ -638,5 +1067,5 @@ const openProductPluginSpecification = {
638
1067
  * Generated bundle index. Do not edit.
639
1068
  */
640
1069
 
641
- export { CreateProductConfigurationComponent, DeleteProductConfigurationComponent, GetAllProductsConfigurationComponent, GetProductConfigurationComponent, GetZaakDocumentenConfigurationComponent, OpenProductConfigurationComponent, OpenProductPluginModule, UpdateProductConfigurationComponent, openProductPluginSpecification };
1070
+ export { CreateOrUpdateProductConfigurationComponent, CreateProductConfigurationComponent, DeleteProductConfigurationComponent, GetAllProductsConfigurationComponent, GetProductConfigurationComponent, GetZaakDocumentenConfigurationComponent, OpenProductConfigurationComponent, OpenProductPluginModule, UpdateProductConfigurationComponent, fromJaNeeSelectionId, jaNeeSelectItems$, openProductPluginSpecification, toJaNeeSelectionId };
642
1071
  //# sourceMappingURL=valtimo-plugins-open-product.mjs.map