@valtimo-plugins/open-product 1.3.0 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/valtimo-plugins-open-product.mjs +366 -8
- package/fesm2022/valtimo-plugins-open-product.mjs.map +1 -1
- package/lib/components/create-or-update-product/create-or-update-product-configuration.component.d.ts +59 -0
- package/lib/components/create-or-update-product/models/create-or-update-product-config.d.ts +25 -0
- package/lib/open-product-plugin.module.d.ts +7 -4
- package/lib/services/open-product-api.service.d.ts +32 -0
- package/package.json +1 -1
- package/public_api.d.ts +1 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { EventEmitter, Output, Input, Component, NgModule } from '@angular/core';
|
|
3
|
-
import { BehaviorSubject, combineLatest, map, take } from 'rxjs';
|
|
2
|
+
import { EventEmitter, Output, Input, Component, Injectable, NgModule } from '@angular/core';
|
|
3
|
+
import { BehaviorSubject, combineLatest, map, take, Subscription, of, filter, distinctUntilChanged, switchMap, catchError, tap } from 'rxjs';
|
|
4
4
|
import * as i3 from '@valtimo/plugin';
|
|
5
5
|
import { PluginTranslatePipeModule } from '@valtimo/plugin';
|
|
6
6
|
import * as i2 from '@ngx-translate/core';
|
|
@@ -8,6 +8,13 @@ import * as i1 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$2 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$1 from '@angular/common/http';
|
|
11
18
|
|
|
12
19
|
/*
|
|
13
20
|
* Copyright 2015-2025 Ritense BV, the Netherlands.
|
|
@@ -437,6 +444,278 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
437
444
|
type: Output
|
|
438
445
|
}] } });
|
|
439
446
|
|
|
447
|
+
class OpenProductApiService extends BaseApiService {
|
|
448
|
+
constructor(httpClient, configService) {
|
|
449
|
+
super(httpClient, configService);
|
|
450
|
+
this.httpClient = httpClient;
|
|
451
|
+
this.configService = configService;
|
|
452
|
+
}
|
|
453
|
+
getProducttypen(pluginConfigurationId) {
|
|
454
|
+
return this.httpClient.get(this.getApiUrl(`/management/v1/openproduct/${pluginConfigurationId}/producttypen`));
|
|
455
|
+
}
|
|
456
|
+
getDataobjectSchema(pluginConfigurationId, producttypeUuid) {
|
|
457
|
+
return this.httpClient.get(this.getApiUrl(`/management/v1/openproduct/${pluginConfigurationId}/producttypen/${producttypeUuid}/dataobject-schema`));
|
|
458
|
+
}
|
|
459
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: OpenProductApiService, deps: [{ token: i1$1.HttpClient }, { token: i2$2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
460
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: OpenProductApiService, providedIn: 'root' }); }
|
|
461
|
+
}
|
|
462
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: OpenProductApiService, decorators: [{
|
|
463
|
+
type: Injectable,
|
|
464
|
+
args: [{ providedIn: 'root' }]
|
|
465
|
+
}], ctorParameters: () => [{ type: i1$1.HttpClient }, { type: i2$2.ConfigService }] });
|
|
466
|
+
|
|
467
|
+
/*
|
|
468
|
+
* Copyright 2015-2025 Ritense BV, the Netherlands.
|
|
469
|
+
*
|
|
470
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
471
|
+
* you may not use this file except in compliance with the License.
|
|
472
|
+
* You may obtain a copy of the License at
|
|
473
|
+
*
|
|
474
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
475
|
+
*
|
|
476
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
477
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
478
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
479
|
+
* See the License for the specific language governing permissions and
|
|
480
|
+
* limitations under the License.
|
|
481
|
+
*/
|
|
482
|
+
const PV_PREFIX = 'pv:';
|
|
483
|
+
const STANDARD_FIELDS = [
|
|
484
|
+
{ key: 'productNaam' },
|
|
485
|
+
{ key: 'productStatus', options: ['initieel', 'in_aanvraag', 'gereed', 'actief', 'ingetrokken', 'geweigerd', 'verlopen'] },
|
|
486
|
+
{ key: 'productPrijs' },
|
|
487
|
+
{ key: 'productFrequentie', options: ['eenmalig', 'maandelijks', 'jaarlijks'] },
|
|
488
|
+
{ key: 'gepubliceerd', options: ['true', 'false'] },
|
|
489
|
+
{ key: 'startDatum' },
|
|
490
|
+
{ key: 'eindDatum' },
|
|
491
|
+
{ key: 'aanvraagZaakUrn' },
|
|
492
|
+
{ key: 'aanvraagZaakUrl' },
|
|
493
|
+
];
|
|
494
|
+
class CreateOrUpdateProductConfigurationComponent {
|
|
495
|
+
constructor(formBuilder, openProductApiService) {
|
|
496
|
+
this.formBuilder = formBuilder;
|
|
497
|
+
this.openProductApiService = openProductApiService;
|
|
498
|
+
this.valid = new EventEmitter();
|
|
499
|
+
this.configuration = new EventEmitter();
|
|
500
|
+
this.standardFields = STANDARD_FIELDS;
|
|
501
|
+
this.eigenaarTypes = ['bsn', 'kvk_nummer', 'klantnummer'];
|
|
502
|
+
this.producttypen$ = new BehaviorSubject(null);
|
|
503
|
+
this.dataobjectFields$ = new BehaviorSubject([]);
|
|
504
|
+
this.loadError$ = new BehaviorSubject(false);
|
|
505
|
+
this.form = this.formBuilder.group({
|
|
506
|
+
producttypeUuid: [''],
|
|
507
|
+
eigenaarType: ['bsn'],
|
|
508
|
+
eigenaarIdentificatie: this.valueGroup(),
|
|
509
|
+
eigenaarVestigingsnummer: this.valueGroup(),
|
|
510
|
+
standard: this.formBuilder.group(Object.fromEntries(STANDARD_FIELDS.map(field => [field.key, this.valueGroup()]))),
|
|
511
|
+
documenten: [''],
|
|
512
|
+
dataobject: this.formBuilder.array([]),
|
|
513
|
+
resultaatVariabelNaam: [''],
|
|
514
|
+
});
|
|
515
|
+
this.configurationId$ = new BehaviorSubject(null);
|
|
516
|
+
this.subscriptions = new Subscription();
|
|
517
|
+
this.prefillMapping = [];
|
|
518
|
+
this.prefillProducttypeUuid = null;
|
|
519
|
+
this.disabled = false;
|
|
520
|
+
}
|
|
521
|
+
get dataobjectArray() {
|
|
522
|
+
return this.form.get('dataobject');
|
|
523
|
+
}
|
|
524
|
+
ngOnInit() {
|
|
525
|
+
this.subscriptions.add((this.selectedPluginConfigurationData$ ?? of(null))
|
|
526
|
+
.pipe(map(configuration => configuration?.configurationId ?? null))
|
|
527
|
+
.subscribe(configurationId => this.configurationId$.next(configurationId)));
|
|
528
|
+
this.openProducttypenSubscription();
|
|
529
|
+
this.openSchemaSubscription();
|
|
530
|
+
this.openPrefillSubscription();
|
|
531
|
+
this.openDisabledSubscription();
|
|
532
|
+
this.subscriptions.add(this.form.valueChanges.subscribe(() => this.emitValid()));
|
|
533
|
+
this.subscriptions.add(this.save$?.subscribe(() => this.save()));
|
|
534
|
+
this.emitValid();
|
|
535
|
+
}
|
|
536
|
+
ngOnDestroy() {
|
|
537
|
+
this.subscriptions.unsubscribe();
|
|
538
|
+
}
|
|
539
|
+
openProducttypenSubscription() {
|
|
540
|
+
this.subscriptions.add(this.configurationId$
|
|
541
|
+
.pipe(filter((configurationId) => !!configurationId), distinctUntilChanged(), switchMap(configurationId => this.openProductApiService.getProducttypen(configurationId).pipe(catchError(() => {
|
|
542
|
+
this.loadError$.next(true);
|
|
543
|
+
return of([]);
|
|
544
|
+
}))))
|
|
545
|
+
.subscribe(producttypen => this.producttypen$.next(producttypen)));
|
|
546
|
+
}
|
|
547
|
+
openSchemaSubscription() {
|
|
548
|
+
this.subscriptions.add(combineLatest([
|
|
549
|
+
this.configurationId$.pipe(filter((configurationId) => !!configurationId)),
|
|
550
|
+
this.form.get('producttypeUuid').valueChanges.pipe(filter((producttypeUuid) => !!producttypeUuid), distinctUntilChanged()),
|
|
551
|
+
])
|
|
552
|
+
.pipe(tap(() => this.loadError$.next(false)), switchMap(([configurationId, producttypeUuid]) => this.openProductApiService.getDataobjectSchema(configurationId, producttypeUuid).pipe(catchError(() => {
|
|
553
|
+
this.loadError$.next(true);
|
|
554
|
+
return of({ schema: null });
|
|
555
|
+
}))))
|
|
556
|
+
.subscribe(dataobjectSchema => {
|
|
557
|
+
const keepUnknownKeys = this.form.get('producttypeUuid').value === this.prefillProducttypeUuid;
|
|
558
|
+
const properties = dataobjectSchema.schema?.properties ?? {};
|
|
559
|
+
const required = dataobjectSchema.schema?.required ?? [];
|
|
560
|
+
this.setDataobjectFields(Object.entries(properties).map(([key, property]) => ({
|
|
561
|
+
key,
|
|
562
|
+
type: [property.type ?? ''].flat().join(', '),
|
|
563
|
+
required: required.includes(key),
|
|
564
|
+
})), keepUnknownKeys);
|
|
565
|
+
}));
|
|
566
|
+
}
|
|
567
|
+
openPrefillSubscription() {
|
|
568
|
+
if (!this.prefillConfiguration$) {
|
|
569
|
+
return;
|
|
570
|
+
}
|
|
571
|
+
this.subscriptions.add(this.prefillConfiguration$.pipe(filter(prefill => !!prefill)).subscribe(prefill => {
|
|
572
|
+
this.prefillMapping = prefill.dataobjectMapping ?? [];
|
|
573
|
+
this.prefillProducttypeUuid = prefill.producttypeUuid ?? null;
|
|
574
|
+
this.setDataobjectFields(this.dataobjectFields$.value, true);
|
|
575
|
+
this.form.patchValue({
|
|
576
|
+
producttypeUuid: prefill.producttypeUuid ?? '',
|
|
577
|
+
eigenaarType: prefill.eigenaarType ?? 'bsn',
|
|
578
|
+
eigenaarIdentificatie: this.toValueGroup(prefill.eigenaarIdentificatie),
|
|
579
|
+
eigenaarVestigingsnummer: this.toValueGroup(prefill.eigenaarVestigingsnummer),
|
|
580
|
+
standard: Object.fromEntries(STANDARD_FIELDS.map(field => [field.key, this.toValueGroup(prefill[field.key])])),
|
|
581
|
+
documenten: this.withoutPvPrefix(prefill.documenten),
|
|
582
|
+
resultaatVariabelNaam: prefill.resultaatVariabelNaam ?? '',
|
|
583
|
+
});
|
|
584
|
+
}));
|
|
585
|
+
}
|
|
586
|
+
openDisabledSubscription() {
|
|
587
|
+
if (!this.disabled$) {
|
|
588
|
+
return;
|
|
589
|
+
}
|
|
590
|
+
this.subscriptions.add(this.disabled$.subscribe(disabled => {
|
|
591
|
+
this.disabled = disabled;
|
|
592
|
+
if (disabled) {
|
|
593
|
+
this.form.disable();
|
|
594
|
+
}
|
|
595
|
+
else {
|
|
596
|
+
this.form.enable();
|
|
597
|
+
}
|
|
598
|
+
}));
|
|
599
|
+
}
|
|
600
|
+
// Keeps mapped keys the schema no longer lists while the saved product type is shown, so they are not lost silently.
|
|
601
|
+
setDataobjectFields(schemaFields, keepUnknownKeys) {
|
|
602
|
+
const current = this.dataobjectArray.length
|
|
603
|
+
? this.toDataobjectMapping()
|
|
604
|
+
: this.prefillMapping;
|
|
605
|
+
const unknownKeys = keepUnknownKeys
|
|
606
|
+
? current.map(entry => entry.key).filter(key => !schemaFields.some(field => field.key === key))
|
|
607
|
+
: [];
|
|
608
|
+
const fields = [
|
|
609
|
+
...schemaFields,
|
|
610
|
+
...unknownKeys.map(key => ({ key, type: '', required: false })),
|
|
611
|
+
];
|
|
612
|
+
this.dataobjectFields$.next(fields);
|
|
613
|
+
this.dataobjectArray.clear();
|
|
614
|
+
fields.forEach(field => {
|
|
615
|
+
const value = current.find(entry => entry.key === field.key)?.value;
|
|
616
|
+
this.dataobjectArray.push(this.formBuilder.group({ key: [field.key], ...this.toValueGroup(value) }));
|
|
617
|
+
});
|
|
618
|
+
if (this.disabled) {
|
|
619
|
+
this.dataobjectArray.disable();
|
|
620
|
+
}
|
|
621
|
+
this.emitValid();
|
|
622
|
+
}
|
|
623
|
+
save() {
|
|
624
|
+
if (this.isValid()) {
|
|
625
|
+
this.configuration.emit(this.toConfiguration());
|
|
626
|
+
}
|
|
627
|
+
}
|
|
628
|
+
toConfiguration() {
|
|
629
|
+
const value = this.form.getRawValue();
|
|
630
|
+
const standard = Object.fromEntries(STANDARD_FIELDS.map(field => [field.key, this.fromValueGroup(value.standard[field.key])])
|
|
631
|
+
.filter(([, fieldValue]) => fieldValue !== undefined));
|
|
632
|
+
const configuration = {
|
|
633
|
+
producttypeUuid: value.producttypeUuid,
|
|
634
|
+
eigenaarType: value.eigenaarType,
|
|
635
|
+
eigenaarIdentificatie: this.fromValueGroup(value.eigenaarIdentificatie),
|
|
636
|
+
...standard,
|
|
637
|
+
dataobjectMapping: this.toDataobjectMapping(),
|
|
638
|
+
};
|
|
639
|
+
const vestigingsnummer = this.fromValueGroup(value.eigenaarVestigingsnummer);
|
|
640
|
+
if (value.eigenaarType === 'kvk_nummer' && vestigingsnummer !== undefined) {
|
|
641
|
+
configuration.eigenaarVestigingsnummer = vestigingsnummer;
|
|
642
|
+
}
|
|
643
|
+
if (value.documenten?.trim()) {
|
|
644
|
+
configuration.documenten = `${PV_PREFIX}${this.withoutPvPrefix(value.documenten.trim())}`;
|
|
645
|
+
}
|
|
646
|
+
if (value.resultaatVariabelNaam?.trim()) {
|
|
647
|
+
configuration.resultaatVariabelNaam = value.resultaatVariabelNaam.trim();
|
|
648
|
+
}
|
|
649
|
+
return configuration;
|
|
650
|
+
}
|
|
651
|
+
toDataobjectMapping() {
|
|
652
|
+
return this.dataobjectArray
|
|
653
|
+
.getRawValue()
|
|
654
|
+
.map(entry => ({ key: entry.key, value: this.fromValueGroup(entry) }))
|
|
655
|
+
.filter((entry) => entry.value !== undefined);
|
|
656
|
+
}
|
|
657
|
+
isValid() {
|
|
658
|
+
const value = this.form.getRawValue();
|
|
659
|
+
const mapping = this.toDataobjectMapping();
|
|
660
|
+
const requiredFieldsSet = this.dataobjectFields$.value
|
|
661
|
+
.filter(field => field.required)
|
|
662
|
+
.every(field => mapping.some(entry => entry.key === field.key));
|
|
663
|
+
const aanvraagZaakSet = this.fromValueGroup(value.standard.aanvraagZaakUrn) !== undefined ||
|
|
664
|
+
this.fromValueGroup(value.standard.aanvraagZaakUrl) !== undefined;
|
|
665
|
+
return (!!value.producttypeUuid &&
|
|
666
|
+
!!value.eigenaarType &&
|
|
667
|
+
this.fromValueGroup(value.eigenaarIdentificatie) !== undefined &&
|
|
668
|
+
aanvraagZaakSet &&
|
|
669
|
+
requiredFieldsSet &&
|
|
670
|
+
!this.loadError$.value);
|
|
671
|
+
}
|
|
672
|
+
emitValid() {
|
|
673
|
+
this.valid.emit(this.isValid());
|
|
674
|
+
}
|
|
675
|
+
valueGroup() {
|
|
676
|
+
return this.formBuilder.group({ mode: ['fixed'], value: [''] });
|
|
677
|
+
}
|
|
678
|
+
toValueGroup(stored) {
|
|
679
|
+
if (stored === undefined || stored === null) {
|
|
680
|
+
return { mode: 'fixed', value: '' };
|
|
681
|
+
}
|
|
682
|
+
const text = `${stored}`;
|
|
683
|
+
return text.startsWith(PV_PREFIX)
|
|
684
|
+
? { mode: 'pv', value: text.substring(PV_PREFIX.length) }
|
|
685
|
+
: { mode: 'fixed', value: text };
|
|
686
|
+
}
|
|
687
|
+
fromValueGroup(group) {
|
|
688
|
+
const value = group?.value?.trim();
|
|
689
|
+
if (!value) {
|
|
690
|
+
return undefined;
|
|
691
|
+
}
|
|
692
|
+
return group.mode === 'pv' ? `${PV_PREFIX}${this.withoutPvPrefix(value)}` : value;
|
|
693
|
+
}
|
|
694
|
+
withoutPvPrefix(stored) {
|
|
695
|
+
return stored?.startsWith(PV_PREFIX) ? stored.substring(PV_PREFIX.length) : stored ?? '';
|
|
696
|
+
}
|
|
697
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CreateOrUpdateProductConfigurationComponent, deps: [{ token: i1$2.FormBuilder }, { token: OpenProductApiService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
698
|
+
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.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.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.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.PluginTranslatePipe, name: "pluginTranslate" }] }); }
|
|
699
|
+
}
|
|
700
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CreateOrUpdateProductConfigurationComponent, decorators: [{
|
|
701
|
+
type: Component,
|
|
702
|
+
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"] }]
|
|
703
|
+
}], ctorParameters: () => [{ type: i1$2.FormBuilder }, { type: OpenProductApiService }], propDecorators: { save$: [{
|
|
704
|
+
type: Input
|
|
705
|
+
}], disabled$: [{
|
|
706
|
+
type: Input
|
|
707
|
+
}], pluginId: [{
|
|
708
|
+
type: Input
|
|
709
|
+
}], prefillConfiguration$: [{
|
|
710
|
+
type: Input
|
|
711
|
+
}], selectedPluginConfigurationData$: [{
|
|
712
|
+
type: Input
|
|
713
|
+
}], valid: [{
|
|
714
|
+
type: Output
|
|
715
|
+
}], configuration: [{
|
|
716
|
+
type: Output
|
|
717
|
+
}] } });
|
|
718
|
+
|
|
440
719
|
/*
|
|
441
720
|
* Copyright 2015-2025 Ritense BV, the Netherlands.
|
|
442
721
|
*
|
|
@@ -454,15 +733,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
454
733
|
*/
|
|
455
734
|
class OpenProductPluginModule {
|
|
456
735
|
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] }); }
|
|
736
|
+
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] }); }
|
|
737
|
+
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
738
|
}
|
|
460
739
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: OpenProductPluginModule, decorators: [{
|
|
461
740
|
type: NgModule,
|
|
462
741
|
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],
|
|
742
|
+
declarations: [OpenProductConfigurationComponent, GetProductConfigurationComponent, GetAllProductsConfigurationComponent, GetZaakDocumentenConfigurationComponent, CreateProductConfigurationComponent, UpdateProductConfigurationComponent, DeleteProductConfigurationComponent, CreateOrUpdateProductConfigurationComponent],
|
|
743
|
+
imports: [CommonModule, PluginTranslatePipeModule, FormModule, InputModule, SelectModule, CarbonMultiInputModule, ReactiveFormsModule, InputModule$1, SelectModule$1],
|
|
744
|
+
exports: [OpenProductConfigurationComponent, GetProductConfigurationComponent, GetAllProductsConfigurationComponent, GetZaakDocumentenConfigurationComponent, CreateProductConfigurationComponent, UpdateProductConfigurationComponent, DeleteProductConfigurationComponent, CreateOrUpdateProductConfigurationComponent],
|
|
466
745
|
}]
|
|
467
746
|
}] });
|
|
468
747
|
|
|
@@ -528,6 +807,7 @@ const openProductPluginSpecification = {
|
|
|
528
807
|
'get-zaak-documenten': GetZaakDocumentenConfigurationComponent,
|
|
529
808
|
'create-product': CreateProductConfigurationComponent,
|
|
530
809
|
'update-product': UpdateProductConfigurationComponent,
|
|
810
|
+
'create-or-update-product': CreateOrUpdateProductConfigurationComponent,
|
|
531
811
|
'delete-product': DeleteProductConfigurationComponent
|
|
532
812
|
},
|
|
533
813
|
pluginTranslations: {
|
|
@@ -559,6 +839,32 @@ const openProductPluginSpecification = {
|
|
|
559
839
|
status: 'Status van het product om op te filteren (optioneel, bijv. gereed, actief)',
|
|
560
840
|
resultaatVariabelNaam: 'Naam van de procesvariabele voor de resultatenlijst (standaard: alleProducten)',
|
|
561
841
|
zaakDocumentenVariabelNaam: 'Naam van de procesvariabele voor de zaakdocumentenlijst (standaard: zaakDocumenten)',
|
|
842
|
+
'create-or-update-product': 'Product aanmaken of bijwerken',
|
|
843
|
+
producttypeKeuze: 'Producttype',
|
|
844
|
+
producttypeKeuzeTooltip: 'De producttypen van de gekozen Open Product-configuratie. De velden van het dataobject komen uit het schema van dit producttype.',
|
|
845
|
+
producttypeKiezen: 'Kies een producttype',
|
|
846
|
+
openProductNietBereikbaar: 'De producttypen of het schema konden niet uit Open Producten worden opgehaald. Controleer de pluginconfiguratie.',
|
|
847
|
+
eigenaarKop: 'Eigenaar',
|
|
848
|
+
eigenaarType: 'De eigenaar wordt herkend aan',
|
|
849
|
+
eigenaarType_bsn: 'BSN',
|
|
850
|
+
eigenaarType_kvk_nummer: 'KVK-nummer',
|
|
851
|
+
eigenaarType_klantnummer: 'Klantnummer',
|
|
852
|
+
eigenaarIdentificatie: 'BSN, KVK-nummer of klantnummer van de eigenaar',
|
|
853
|
+
eigenaarVestigingsnummer: 'Vestigingsnummer (optioneel)',
|
|
854
|
+
productgegevensKop: 'Productgegevens',
|
|
855
|
+
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.',
|
|
856
|
+
aanvraagZaakUrn: 'De URN van de aanvraagzaak',
|
|
857
|
+
startDatum: 'Startdatum (JJJJ-MM-DD)',
|
|
858
|
+
eindDatum: 'Einddatum (JJJJ-MM-DD)',
|
|
859
|
+
documenten: 'Procesvariabele met de documenten (optioneel)',
|
|
860
|
+
documentenTooltip: 'Bijvoorbeeld de procesvariabele die de actie "Zaakdocumenten ophalen als productdocumenten" vult. Bij bijwerken worden de documenten toegevoegd aan de bestaande.',
|
|
861
|
+
dataobjectKop: 'Dataobject',
|
|
862
|
+
geenDataobjectVelden: 'Dit producttype heeft geen dataobject-schema.',
|
|
863
|
+
resultaatVariabelNaamUpsert: 'Naam van de procesvariabele voor de UUID van het product (optioneel)',
|
|
864
|
+
resultaatVariabelNaamTooltip: 'Standaard: productUuid',
|
|
865
|
+
vasteWaarde: 'Vaste waarde',
|
|
866
|
+
procesvariabele: 'Procesvariabele',
|
|
867
|
+
procesvariabeleNaam: 'Naam van de procesvariabele',
|
|
562
868
|
},
|
|
563
869
|
en: {
|
|
564
870
|
title: 'Open Product Plugin',
|
|
@@ -588,6 +894,32 @@ const openProductPluginSpecification = {
|
|
|
588
894
|
status: 'Product status to filter on (optional, e.g. gereed, actief)',
|
|
589
895
|
resultaatVariabelNaam: 'Process variable name for the results list (default: alleProducten)',
|
|
590
896
|
zaakDocumentenVariabelNaam: 'Process variable name for the zaak documents list (default: zaakDocumenten)',
|
|
897
|
+
'create-or-update-product': 'Create or update product',
|
|
898
|
+
producttypeKeuze: 'Product type',
|
|
899
|
+
producttypeKeuzeTooltip: 'The product types of the selected Open Product configuration. The dataobject fields come from the schema of this product type.',
|
|
900
|
+
producttypeKiezen: 'Choose a product type',
|
|
901
|
+
openProductNietBereikbaar: 'The product types or the schema could not be retrieved from Open Producten. Check the plugin configuration.',
|
|
902
|
+
eigenaarKop: 'Owner',
|
|
903
|
+
eigenaarType: 'The owner is identified by',
|
|
904
|
+
eigenaarType_bsn: 'BSN',
|
|
905
|
+
eigenaarType_kvk_nummer: 'KVK number',
|
|
906
|
+
eigenaarType_klantnummer: 'Customer number',
|
|
907
|
+
eigenaarIdentificatie: 'BSN, KVK number or customer number of the owner',
|
|
908
|
+
eigenaarVestigingsnummer: 'Branch number (optional)',
|
|
909
|
+
productgegevensKop: 'Product details',
|
|
910
|
+
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.',
|
|
911
|
+
aanvraagZaakUrn: 'The URN of the application zaak',
|
|
912
|
+
startDatum: 'Start date (YYYY-MM-DD)',
|
|
913
|
+
eindDatum: 'End date (YYYY-MM-DD)',
|
|
914
|
+
documenten: 'Process variable holding the documents (optional)',
|
|
915
|
+
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.',
|
|
916
|
+
dataobjectKop: 'Dataobject',
|
|
917
|
+
geenDataobjectVelden: 'This product type has no dataobject schema.',
|
|
918
|
+
resultaatVariabelNaamUpsert: 'Process variable name for the product UUID (optional)',
|
|
919
|
+
resultaatVariabelNaamTooltip: 'Default: productUuid',
|
|
920
|
+
vasteWaarde: 'Fixed value',
|
|
921
|
+
procesvariabele: 'Process variable',
|
|
922
|
+
procesvariabeleNaam: 'Name of the process variable',
|
|
591
923
|
},
|
|
592
924
|
de: {
|
|
593
925
|
title: 'Open Product Plugin',
|
|
@@ -611,6 +943,32 @@ const openProductPluginSpecification = {
|
|
|
611
943
|
status: 'Produktstatus zum Filtern (optional, z. B. gereed, actief)',
|
|
612
944
|
resultaatVariabelNaam: 'Prozessvariablenname für die Ergebnisliste (Standard: alleProducten)',
|
|
613
945
|
zaakDocumentenVariabelNaam: 'Prozessvariablenname für die Zaakdokumentenliste (Standard: zaakDocumenten)',
|
|
946
|
+
'create-or-update-product': 'Produkt anlegen oder aktualisieren',
|
|
947
|
+
producttypeKeuze: 'Produkttyp',
|
|
948
|
+
producttypeKeuzeTooltip: 'Die Produkttypen der gewählten Open-Product-Konfiguration. Die Felder des Datenobjekts stammen aus dem Schema dieses Produkttyps.',
|
|
949
|
+
producttypeKiezen: 'Produkttyp wählen',
|
|
950
|
+
openProductNietBereikbaar: 'Die Produkttypen oder das Schema konnten nicht aus Open Producten abgerufen werden. Prüfen Sie die Plugin-Konfiguration.',
|
|
951
|
+
eigenaarKop: 'Eigentümer',
|
|
952
|
+
eigenaarType: 'Der Eigentümer wird erkannt an',
|
|
953
|
+
eigenaarType_bsn: 'BSN',
|
|
954
|
+
eigenaarType_kvk_nummer: 'KVK-Nummer',
|
|
955
|
+
eigenaarType_klantnummer: 'Kundennummer',
|
|
956
|
+
eigenaarIdentificatie: 'BSN, KVK-Nummer oder Kundennummer des Eigentümers',
|
|
957
|
+
eigenaarVestigingsnummer: 'Niederlassungsnummer (optional)',
|
|
958
|
+
productgegevensKop: 'Produktdaten',
|
|
959
|
+
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.',
|
|
960
|
+
aanvraagZaakUrn: 'Die URN der Antrags-Zaak',
|
|
961
|
+
startDatum: 'Startdatum (JJJJ-MM-TT)',
|
|
962
|
+
eindDatum: 'Enddatum (JJJJ-MM-TT)',
|
|
963
|
+
documenten: 'Prozessvariable mit den Dokumenten (optional)',
|
|
964
|
+
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.',
|
|
965
|
+
dataobjectKop: 'Datenobjekt',
|
|
966
|
+
geenDataobjectVelden: 'Dieser Produkttyp hat kein Datenobjekt-Schema.',
|
|
967
|
+
resultaatVariabelNaamUpsert: 'Prozessvariablenname für die Produkt-UUID (optional)',
|
|
968
|
+
resultaatVariabelNaamTooltip: 'Standard: productUuid',
|
|
969
|
+
vasteWaarde: 'Fester Wert',
|
|
970
|
+
procesvariabele: 'Prozessvariable',
|
|
971
|
+
procesvariabeleNaam: 'Name der Prozessvariablen',
|
|
614
972
|
}
|
|
615
973
|
}
|
|
616
974
|
};
|
|
@@ -638,5 +996,5 @@ const openProductPluginSpecification = {
|
|
|
638
996
|
* Generated bundle index. Do not edit.
|
|
639
997
|
*/
|
|
640
998
|
|
|
641
|
-
export { CreateProductConfigurationComponent, DeleteProductConfigurationComponent, GetAllProductsConfigurationComponent, GetProductConfigurationComponent, GetZaakDocumentenConfigurationComponent, OpenProductConfigurationComponent, OpenProductPluginModule, UpdateProductConfigurationComponent, openProductPluginSpecification };
|
|
999
|
+
export { CreateOrUpdateProductConfigurationComponent, CreateProductConfigurationComponent, DeleteProductConfigurationComponent, GetAllProductsConfigurationComponent, GetProductConfigurationComponent, GetZaakDocumentenConfigurationComponent, OpenProductConfigurationComponent, OpenProductPluginModule, UpdateProductConfigurationComponent, openProductPluginSpecification };
|
|
642
1000
|
//# sourceMappingURL=valtimo-plugins-open-product.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"valtimo-plugins-open-product.mjs","sources":["../../../../frontend/projects/plugin/src/lib/models/config.ts","../../../../frontend/projects/plugin/src/lib/models/index.ts","../../../../frontend/projects/plugin/src/lib/components/open-product-configuration/open-product-configuration.component.ts","../../../../frontend/projects/plugin/src/lib/components/open-product-configuration/open-product-configuration.component.html","../../../../frontend/projects/plugin/src/lib/components/get-product/get-product-configuration.component.ts","../../../../frontend/projects/plugin/src/lib/components/get-product/get-product-configuration.component.html","../../../../frontend/projects/plugin/src/lib/components/create-product/create-product-configuration.component.ts","../../../../frontend/projects/plugin/src/lib/components/create-product/create-product-configuration.component.html","../../../../frontend/projects/plugin/src/lib/components/update-product/update-product-configuration.component.ts","../../../../frontend/projects/plugin/src/lib/components/update-product/update-product-configuration.component.html","../../../../frontend/projects/plugin/src/lib/components/delete-product/delete-product-configuration.component.ts","../../../../frontend/projects/plugin/src/lib/components/delete-product/delete-product-configuration.component.html","../../../../frontend/projects/plugin/src/lib/components/get-all-products/get-all-products-configuration.component.ts","../../../../frontend/projects/plugin/src/lib/components/get-all-products/get-all-products-configuration.component.html","../../../../frontend/projects/plugin/src/lib/components/get-zaak-documenten/get-zaak-documenten-configuration.component.ts","../../../../frontend/projects/plugin/src/lib/components/get-zaak-documenten/get-zaak-documenten-configuration.component.html","../../../../frontend/projects/plugin/src/lib/open-product-plugin.module.ts","../../../../frontend/projects/plugin/src/lib/assets/open-product-plugin-logo.ts","../../../../frontend/projects/plugin/src/lib/assets/index.ts","../../../../frontend/projects/plugin/src/lib/open-product-plugin.specification.ts","../../../../frontend/projects/plugin/src/public_api.ts","../../../../frontend/projects/plugin/src/valtimo-plugins-open-product.ts"],"sourcesContent":["/*\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\nimport {PluginConfigurationData} from \"@valtimo/plugin\";\n\n\ninterface OpenProductConfig extends PluginConfigurationData {\n baseUrl: string;\n authenticationPluginConfiguration: string;\n}\n\nexport {OpenProductConfig};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './config';\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {OpenProductConfig} from '../../models';\nimport {PluginConfigurationComponent} from \"@valtimo/plugin\";\nimport {PluginManagementService, PluginTranslationService} from \"@valtimo/plugin\";\n\nimport {TranslateService} from \"@ngx-translate/core\";\n\n@Component({\n standalone: false,\n selector: 'valtimo-open-product-configuration',\n templateUrl: './open-product-configuration.component.html',\n styleUrls: ['./open-product-configuration.component.scss'],\n})\nexport class OpenProductConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<OpenProductConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<OpenProductConfig> =\n new EventEmitter<OpenProductConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<OpenProductConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {\n }\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: OpenProductConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: OpenProductConfig): void {\n const valid = !!(formValue.configurationTitle && formValue.baseUrl);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n readonly authenticationPluginSelectItems$: Observable<Array<{ id: string; text: string }>> =\n combineLatest([\n this.pluginManagementService.getPluginConfigurationsByCategory(\n 'valtimo-token-authentication-configuration'\n ),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\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","import {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from \"@valtimo/plugin\";\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {GetProductConfig} from './models/get-product-config';\n\n@Component({\n standalone: false,\n selector: 'valtimo-get-product-configuration',\n templateUrl: './get-product-configuration.component.html'\n})\nexport class GetProductConfigurationComponent\n // The component explicitly implements the FunctionConfigurationComponent interface\n implements FunctionConfigurationComponent, OnInit, OnDestroy {\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<GetProductConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<GetProductConfig> =\n new EventEmitter<GetProductConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<GetProductConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: GetProductConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: GetProductConfig): void {\n const valid = !!(formValue.productUuid);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\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=\"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","import {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from \"@valtimo/plugin\";\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {CreateProductConfig} from './models/create-product-config';\n\n@Component({\n standalone: false,\n selector: 'valtimo-create-product-configuration',\n templateUrl: './create-product-configuration.component.html',\n styleUrls: ['./create-product-configuration.component.scss'],\n})\nexport class CreateProductConfigurationComponent\n // The component explicitly implements the FunctionConfigurationComponent interface\n implements FunctionConfigurationComponent, OnInit, OnDestroy {\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<CreateProductConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<CreateProductConfig> =\n new EventEmitter<CreateProductConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<CreateProductConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: CreateProductConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n\n }\n\n private handleValid(formValue: CreateProductConfig): void {\n const valid = !!(formValue.productTypeUuid && formValue.eigenaarBsn && formValue.productPrijs && formValue.productStatus && formValue.aanvraagZaakUrn);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\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=\"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","import {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from \"@valtimo/plugin\";\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {UpdateProductConfig} from './models/update-product-config';\n\n@Component({\n standalone: false,\n selector: 'valtimo-update-product-configuration',\n templateUrl: './update-product-configuration.component.html',\n})\nexport class UpdateProductConfigurationComponent\n // The component explicitly implements the FunctionConfigurationComponent interface\n implements FunctionConfigurationComponent, OnInit, OnDestroy {\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<UpdateProductConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<UpdateProductConfig> =\n new EventEmitter<UpdateProductConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<UpdateProductConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: UpdateProductConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: UpdateProductConfig): void {\n const valid = !!(formValue.productUuid);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\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=\"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","import {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from \"@valtimo/plugin\";\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {DeleteProductConfig} from './models/delete-product-config';\n\n@Component({\n standalone: false,\n selector: 'valtimo-delete-product-configuration',\n templateUrl: './delete-product-configuration.component.html',\n})\nexport class DeleteProductConfigurationComponent\n // The component explicitly implements the FunctionConfigurationComponent interface\n implements FunctionConfigurationComponent, OnInit, OnDestroy {\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<DeleteProductConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<DeleteProductConfig> =\n new EventEmitter<DeleteProductConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<DeleteProductConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: DeleteProductConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: DeleteProductConfig): void {\n const valid = !!(formValue.productUuid);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\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=\"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","import {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from \"@valtimo/plugin\";\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {GetAllProductsConfig} from './models/get-all-products-config';\n\n@Component({\n standalone: false,\n selector: 'valtimo-get-all-products-configuration',\n templateUrl: './get-all-products-configuration.component.html'\n})\nexport class GetAllProductsConfigurationComponent\n // The component explicitly implements the FunctionConfigurationComponent interface\n implements FunctionConfigurationComponent, OnInit, OnDestroy {\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<GetAllProductsConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<GetAllProductsConfig> =\n new EventEmitter<GetAllProductsConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<GetAllProductsConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: GetAllProductsConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: GetAllProductsConfig): void {\n const valid = true;\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\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=\"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","import {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from \"@valtimo/plugin\";\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {GetZaakDocumentenConfig} from './models/get-zaak-documenten-config';\n\n@Component({\n standalone: false,\n selector: 'valtimo-get-zaak-documenten-configuration',\n templateUrl: './get-zaak-documenten-configuration.component.html'\n})\nexport class GetZaakDocumentenConfigurationComponent\n // The component explicitly implements the FunctionConfigurationComponent interface\n implements FunctionConfigurationComponent, OnInit, OnDestroy {\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<GetZaakDocumentenConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<GetZaakDocumentenConfig> =\n new EventEmitter<GetZaakDocumentenConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<GetZaakDocumentenConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: GetZaakDocumentenConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: GetZaakDocumentenConfig): void {\n const valid = !!formValue?.aanvraagZaakUrl;\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\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=\"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","/*\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\nimport {\n OpenProductConfigurationComponent\n} from './components/open-product-configuration/open-product-configuration.component';\nimport {CommonModule} from '@angular/common';\nimport {CarbonMultiInputModule, FormModule, InputModule, SelectModule} from '@valtimo/components';\nimport {NgModule} from '@angular/core';\nimport {PluginTranslatePipeModule} from \"@valtimo/plugin\";\nimport {GetProductConfigurationComponent} from \"./components/get-product/get-product-configuration.component\";\nimport {CreateProductConfigurationComponent} from './components/create-product/create-product-configuration.component'\nimport {UpdateProductConfigurationComponent} from \"./components/update-product/update-product-configuration.component\";\nimport {DeleteProductConfigurationComponent} from \"./components/delete-product/delete-product-configuration.component\";\nimport {GetAllProductsConfigurationComponent} from \"./components/get-all-products/get-all-products-configuration.component\";\nimport {GetZaakDocumentenConfigurationComponent} from \"./components/get-zaak-documenten/get-zaak-documenten-configuration.component\";\n\n@NgModule({\n declarations: [OpenProductConfigurationComponent, GetProductConfigurationComponent, GetAllProductsConfigurationComponent, GetZaakDocumentenConfigurationComponent, CreateProductConfigurationComponent, UpdateProductConfigurationComponent, DeleteProductConfigurationComponent],\n imports: [CommonModule, PluginTranslatePipeModule, FormModule, InputModule, SelectModule, CarbonMultiInputModule],\n exports: [OpenProductConfigurationComponent, GetProductConfigurationComponent, GetAllProductsConfigurationComponent, GetZaakDocumentenConfigurationComponent, CreateProductConfigurationComponent, UpdateProductConfigurationComponent, DeleteProductConfigurationComponent],\n})\nexport class OpenProductPluginModule {\n}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst OPEN_PRODUCT_PLUGIN_LOGO_BASE64 =\n 'data:image/png;base64,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'\n\nexport {OPEN_PRODUCT_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './open-product-plugin-logo';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n OpenProductConfigurationComponent\n} from './components/open-product-configuration/open-product-configuration.component';\nimport {OPEN_PRODUCT_PLUGIN_LOGO_BASE64} from './assets';\nimport {PluginSpecification} from \"@valtimo/plugin\";\nimport {GetProductConfigurationComponent} from \"./components/get-product/get-product-configuration.component\";\nimport {CreateProductConfigurationComponent} from \"./components/create-product/create-product-configuration.component\";\nimport {UpdateProductConfigurationComponent} from \"./components/update-product/update-product-configuration.component\";\nimport {DeleteProductConfigurationComponent} from \"./components/delete-product/delete-product-configuration.component\";\nimport {\n GetAllProductsConfigurationComponent\n} from \"./components/get-all-products/get-all-products-configuration.component\";\nimport {\n GetZaakDocumentenConfigurationComponent\n} from \"./components/get-zaak-documenten/get-zaak-documenten-configuration.component\";\n\nconst openProductPluginSpecification: PluginSpecification = {\n pluginId: 'openproduct',\n pluginConfigurationComponent: OpenProductConfigurationComponent,\n pluginLogoBase64: OPEN_PRODUCT_PLUGIN_LOGO_BASE64,\n functionConfigurationComponents: {\n /*\n For each plugin action id received from the backend, a component is provided of the interface FunctionConfigurationComponent.\n These are used to configure each plugin action.\n */\n 'get-product': GetProductConfigurationComponent,\n 'get-all-products': GetAllProductsConfigurationComponent,\n 'get-zaak-documenten': GetZaakDocumentenConfigurationComponent,\n 'create-product': CreateProductConfigurationComponent,\n 'update-product': UpdateProductConfigurationComponent,\n 'delete-product': DeleteProductConfigurationComponent\n },\n\n pluginTranslations: {\n nl: {\n title: 'Open Product Plugin',\n description: 'Deze plugin maakt het mogelijk om producten van de open producten API te beheren binnen Valtimo.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip: 'Configuratie naam is de naam die gebruikt wordt om de configuratie te identificeren.',\n baseUrl: 'URL',\n 'get-product': \"Product ophalen via UUID\",\n \"create-product\": \"Product aanmaken\",\n \"delete-product\": \"Product verwijderen via UUID\",\n \"update-product\": \"Product bijwerken via UUID\",\n \"get-all-products\": \"Alle producten ophalen via BSN\",\n \"get-zaak-documenten\": \"Zaakdocumenten ophalen als productdocumenten\",\n aanvraagZaakUrl: 'De URL van de zaak',\n productUuid: 'De UUID van het product',\n productNaam: 'De naam van het product',\n productTypeUuid: 'De UUID van het producttype',\n eigenaarBsn: 'De bsn van de eigenaar',\n gepubliceerd: 'Kan het object getoond worden?',\n productPrijs: 'De prijs van het product',\n productFrequentie: 'De frequentie van de betalingen',\n productStatus: 'De status van het product',\n resultaatPV: 'De naam van de process variable waar het resultaat in komt',\n authenticationPluginConfiguration: 'Selecteer de authenticatie plugin configuratie',\n dataobjectVariabelNaam: 'Naam van de procesvariabele voor het dataobject (optioneel)',\n producttypeUuid: 'UUID van het producttype om op te filteren (optioneel)',\n status: 'Status van het product om op te filteren (optioneel, bijv. gereed, actief)',\n resultaatVariabelNaam: 'Naam van de procesvariabele voor de resultatenlijst (standaard: alleProducten)',\n zaakDocumentenVariabelNaam: 'Naam van de procesvariabele voor de zaakdocumentenlijst (standaard: zaakDocumenten)',\n },\n en: {\n title: 'Open Product Plugin',\n description: 'This plugin enables management of products from the Open Products API within Valtimo.',\n configurationTitle: 'Configuration Name',\n configurationTitleTooltip: 'The name used to identify this configuration.',\n baseUrl: 'URL',\n \"get-product\": \"Retrieve product via UUID\",\n \"create-product\": \"New product\",\n \"delete-product\": \"Delete product via UUID\",\n \"update-product\": \"Update product via UUID\",\n \"get-all-products\": \"Retrieve all products\",\n \"get-zaak-documenten\": \"Retrieve zaak documents as product documents\",\n aanvraagZaakUrl: 'The URL of the zaak',\n productUuid: 'The UUID of the product',\n productNaam: 'The name of the product',\n productTypeUuid: 'The UUID of the product type',\n eigenaarBsn: 'The citizen service number (BSN) of the owner',\n gepubliceerd: 'Should this product be publicly visible?',\n productPrijs: 'The price of the product',\n productFrequentie: 'The payment frequency',\n productStatus: 'The product’s status',\n resultaatPV: 'The name of the process variable that will contain the result',\n authenticationPluginConfiguration: 'Select the authentication plugin configuration',\n dataobjectVariabelNaam: 'Process variable name for the data object (optional)',\n producttypeUuid: 'Product type UUID to filter on (optional)',\n status: 'Product status to filter on (optional, e.g. gereed, actief)',\n resultaatVariabelNaam: 'Process variable name for the results list (default: alleProducten)',\n zaakDocumentenVariabelNaam: 'Process variable name for the zaak documents list (default: zaakDocumenten)',\n },\n de: {\n title: 'Open Product Plugin',\n description: 'Dieses Plugin ermöglicht die Verwaltung von Produkten der Open Products API innerhalb von Valtimo.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip: 'Der Name, mit dem diese Konfiguration identifiziert wird.',\n baseUrl: 'URL',\n aanvraagZaakUrl: 'Die URL der Zaak',\n productUuid: 'Die UUID des Produkts',\n productNaam: 'Der Name des Produkts',\n productTypeUuid: 'Die UUID des Produkttyps',\n eigenaarBsn: 'Die BSN (Bürgernummer) des Eigentümers',\n gepubliceerd: 'Soll dieses Produkt öffentlich angezeigt werden?',\n productPrijs: 'Der Preis des Produkts',\n productFrequentie: 'Die Häufigkeit der Zahlungen',\n productStatus: 'Der Status des Produkts',\n resultaatPV: 'Der Name der Prozessvariablen, in der das Ergebnis gespeichert wird',\n authenticationPluginConfiguration: 'Wählen Sie die Authentifizierungs-Plugin-Konfiguration aus',\n dataobjectVariabelNaam: 'Prozessvariablenname für das Datenobjekt (optional)',\n producttypeUuid: 'Produkttyp-UUID zum Filtern (optional)',\n status: 'Produktstatus zum Filtern (optional, z. B. gereed, actief)',\n resultaatVariabelNaam: 'Prozessvariablenname für die Ergebnisliste (Standard: alleProducten)',\n zaakDocumentenVariabelNaam: 'Prozessvariablenname für die Zaakdokumentenliste (Standard: zaakDocumenten)',\n }\n }\n};\n\nexport {openProductPluginSpecification};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*\n * Public API Surface of Open-Product\n */\n\nexport * from './lib/models';\nexport * from './lib/open-product-plugin.module';\nexport * from './lib/open-product-plugin.specification';\nexport * from './lib/components/open-product-configuration/open-product-configuration.component';\nexport * from './lib/components/get-product/get-product-configuration.component';\nexport * from './lib/components/get-all-products/get-all-products-configuration.component';\nexport * from './lib/components/get-zaak-documenten/get-zaak-documenten-configuration.component';\nexport * from './lib/components/create-product/create-product-configuration.component';\nexport * from './lib/components/delete-product/delete-product-configuration.component';\nexport * from './lib/components/update-product/update-product-configuration.component';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i3","i4","i2"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"valtimo-plugins-open-product.mjs","sources":["../../../../frontend/projects/plugin/src/lib/models/config.ts","../../../../frontend/projects/plugin/src/lib/models/index.ts","../../../../frontend/projects/plugin/src/lib/components/open-product-configuration/open-product-configuration.component.ts","../../../../frontend/projects/plugin/src/lib/components/open-product-configuration/open-product-configuration.component.html","../../../../frontend/projects/plugin/src/lib/components/get-product/get-product-configuration.component.ts","../../../../frontend/projects/plugin/src/lib/components/get-product/get-product-configuration.component.html","../../../../frontend/projects/plugin/src/lib/components/create-product/create-product-configuration.component.ts","../../../../frontend/projects/plugin/src/lib/components/create-product/create-product-configuration.component.html","../../../../frontend/projects/plugin/src/lib/components/update-product/update-product-configuration.component.ts","../../../../frontend/projects/plugin/src/lib/components/update-product/update-product-configuration.component.html","../../../../frontend/projects/plugin/src/lib/components/delete-product/delete-product-configuration.component.ts","../../../../frontend/projects/plugin/src/lib/components/delete-product/delete-product-configuration.component.html","../../../../frontend/projects/plugin/src/lib/components/get-all-products/get-all-products-configuration.component.ts","../../../../frontend/projects/plugin/src/lib/components/get-all-products/get-all-products-configuration.component.html","../../../../frontend/projects/plugin/src/lib/components/get-zaak-documenten/get-zaak-documenten-configuration.component.ts","../../../../frontend/projects/plugin/src/lib/components/get-zaak-documenten/get-zaak-documenten-configuration.component.html","../../../../frontend/projects/plugin/src/lib/services/open-product-api.service.ts","../../../../frontend/projects/plugin/src/lib/components/create-or-update-product/create-or-update-product-configuration.component.ts","../../../../frontend/projects/plugin/src/lib/components/create-or-update-product/create-or-update-product-configuration.component.html","../../../../frontend/projects/plugin/src/lib/open-product-plugin.module.ts","../../../../frontend/projects/plugin/src/lib/assets/open-product-plugin-logo.ts","../../../../frontend/projects/plugin/src/lib/assets/index.ts","../../../../frontend/projects/plugin/src/lib/open-product-plugin.specification.ts","../../../../frontend/projects/plugin/src/public_api.ts","../../../../frontend/projects/plugin/src/valtimo-plugins-open-product.ts"],"sourcesContent":["/*\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\nimport {PluginConfigurationData} from \"@valtimo/plugin\";\n\n\ninterface OpenProductConfig extends PluginConfigurationData {\n baseUrl: string;\n authenticationPluginConfiguration: string;\n}\n\nexport {OpenProductConfig};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './config';\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {BehaviorSubject, combineLatest, map, Observable, Subscription, take} from 'rxjs';\nimport {OpenProductConfig} from '../../models';\nimport {PluginConfigurationComponent} from \"@valtimo/plugin\";\nimport {PluginManagementService, PluginTranslationService} from \"@valtimo/plugin\";\n\nimport {TranslateService} from \"@ngx-translate/core\";\n\n@Component({\n standalone: false,\n selector: 'valtimo-open-product-configuration',\n templateUrl: './open-product-configuration.component.html',\n styleUrls: ['./open-product-configuration.component.scss'],\n})\nexport class OpenProductConfigurationComponent\n implements PluginConfigurationComponent, OnInit, OnDestroy\n{\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<OpenProductConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<OpenProductConfig> =\n new EventEmitter<OpenProductConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<OpenProductConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly pluginManagementService: PluginManagementService,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService\n ) {\n }\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: OpenProductConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: OpenProductConfig): void {\n const valid = !!(formValue.configurationTitle && formValue.baseUrl);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n readonly authenticationPluginSelectItems$: Observable<Array<{ id: string; text: string }>> =\n combineLatest([\n this.pluginManagementService.getPluginConfigurationsByCategory(\n 'valtimo-token-authentication-configuration'\n ),\n this.translateService.stream('key'),\n ]).pipe(\n map(([configurations]) =>\n configurations.map(configuration => ({\n id: configuration.id,\n text: `${configuration.title} - ${this.pluginTranslationService.instant(\n 'title',\n configuration.pluginDefinition.key\n )}`,\n }))\n )\n );\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\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","import {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from \"@valtimo/plugin\";\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {GetProductConfig} from './models/get-product-config';\n\n@Component({\n standalone: false,\n selector: 'valtimo-get-product-configuration',\n templateUrl: './get-product-configuration.component.html'\n})\nexport class GetProductConfigurationComponent\n // The component explicitly implements the FunctionConfigurationComponent interface\n implements FunctionConfigurationComponent, OnInit, OnDestroy {\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<GetProductConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<GetProductConfig> =\n new EventEmitter<GetProductConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<GetProductConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: GetProductConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: GetProductConfig): void {\n const valid = !!(formValue.productUuid);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\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=\"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","import {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from \"@valtimo/plugin\";\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {CreateProductConfig} from './models/create-product-config';\n\n@Component({\n standalone: false,\n selector: 'valtimo-create-product-configuration',\n templateUrl: './create-product-configuration.component.html',\n styleUrls: ['./create-product-configuration.component.scss'],\n})\nexport class CreateProductConfigurationComponent\n // The component explicitly implements the FunctionConfigurationComponent interface\n implements FunctionConfigurationComponent, OnInit, OnDestroy {\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<CreateProductConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<CreateProductConfig> =\n new EventEmitter<CreateProductConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<CreateProductConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: CreateProductConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n\n }\n\n private handleValid(formValue: CreateProductConfig): void {\n const valid = !!(formValue.productTypeUuid && formValue.eigenaarBsn && formValue.productPrijs && formValue.productStatus && formValue.aanvraagZaakUrn);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\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=\"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","import {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from \"@valtimo/plugin\";\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {UpdateProductConfig} from './models/update-product-config';\n\n@Component({\n standalone: false,\n selector: 'valtimo-update-product-configuration',\n templateUrl: './update-product-configuration.component.html',\n})\nexport class UpdateProductConfigurationComponent\n // The component explicitly implements the FunctionConfigurationComponent interface\n implements FunctionConfigurationComponent, OnInit, OnDestroy {\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<UpdateProductConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<UpdateProductConfig> =\n new EventEmitter<UpdateProductConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<UpdateProductConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: UpdateProductConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: UpdateProductConfig): void {\n const valid = !!(formValue.productUuid);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\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=\"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","import {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from \"@valtimo/plugin\";\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {DeleteProductConfig} from './models/delete-product-config';\n\n@Component({\n standalone: false,\n selector: 'valtimo-delete-product-configuration',\n templateUrl: './delete-product-configuration.component.html',\n})\nexport class DeleteProductConfigurationComponent\n // The component explicitly implements the FunctionConfigurationComponent interface\n implements FunctionConfigurationComponent, OnInit, OnDestroy {\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<DeleteProductConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<DeleteProductConfig> =\n new EventEmitter<DeleteProductConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<DeleteProductConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: DeleteProductConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: DeleteProductConfig): void {\n const valid = !!(formValue.productUuid);\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\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=\"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","import {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from \"@valtimo/plugin\";\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {GetAllProductsConfig} from './models/get-all-products-config';\n\n@Component({\n standalone: false,\n selector: 'valtimo-get-all-products-configuration',\n templateUrl: './get-all-products-configuration.component.html'\n})\nexport class GetAllProductsConfigurationComponent\n // The component explicitly implements the FunctionConfigurationComponent interface\n implements FunctionConfigurationComponent, OnInit, OnDestroy {\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<GetAllProductsConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<GetAllProductsConfig> =\n new EventEmitter<GetAllProductsConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<GetAllProductsConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: GetAllProductsConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: GetAllProductsConfig): void {\n const valid = true;\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\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=\"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","import {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FunctionConfigurationComponent} from \"@valtimo/plugin\";\nimport {BehaviorSubject, combineLatest, Observable, Subscription, take} from 'rxjs';\nimport {GetZaakDocumentenConfig} from './models/get-zaak-documenten-config';\n\n@Component({\n standalone: false,\n selector: 'valtimo-get-zaak-documenten-configuration',\n templateUrl: './get-zaak-documenten-configuration.component.html'\n})\nexport class GetZaakDocumentenConfigurationComponent\n // The component explicitly implements the FunctionConfigurationComponent interface\n implements FunctionConfigurationComponent, OnInit, OnDestroy {\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<GetZaakDocumentenConfig>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<GetZaakDocumentenConfig> =\n new EventEmitter<GetZaakDocumentenConfig>();\n\n private saveSubscription!: Subscription;\n\n private readonly formValue$ = new BehaviorSubject<GetZaakDocumentenConfig | null>(null);\n private readonly valid$ = new BehaviorSubject<boolean>(false);\n\n ngOnInit(): void {\n this.openSaveSubscription();\n }\n\n ngOnDestroy() {\n this.saveSubscription?.unsubscribe();\n }\n\n formValueChange(formValue: GetZaakDocumentenConfig): void {\n this.formValue$.next(formValue);\n this.handleValid(formValue);\n }\n\n private handleValid(formValue: GetZaakDocumentenConfig): void {\n const valid = !!formValue?.aanvraagZaakUrl;\n\n this.valid$.next(valid);\n this.valid.emit(valid);\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.save$?.subscribe(save => {\n combineLatest([this.formValue$, this.valid$])\n .pipe(take(1))\n .subscribe(([formValue, valid]) => {\n if (valid) {\n this.configuration.emit(formValue);\n }\n });\n });\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=\"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","/*\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\nimport {HttpClient} from '@angular/common/http';\nimport {Injectable} from '@angular/core';\nimport {BaseApiService, ConfigService} from '@valtimo/shared';\nimport {Observable} from 'rxjs';\n\ninterface Producttype {\n uuid: string;\n naam: string | null;\n code: string | null;\n}\n\ninterface JsonSchemaProperty {\n type?: string | string[];\n title?: string;\n description?: string;\n}\n\ninterface DataobjectSchema {\n schema: {\n properties?: {[key: string]: JsonSchemaProperty};\n required?: string[];\n } | null;\n}\n\n@Injectable({providedIn: 'root'})\nclass OpenProductApiService extends BaseApiService {\n constructor(\n protected readonly httpClient: HttpClient,\n protected readonly configService: ConfigService\n ) {\n super(httpClient, configService);\n }\n\n getProducttypen(pluginConfigurationId: string): Observable<Producttype[]> {\n return this.httpClient.get<Producttype[]>(\n this.getApiUrl(`/management/v1/openproduct/${pluginConfigurationId}/producttypen`)\n );\n }\n\n getDataobjectSchema(pluginConfigurationId: string, producttypeUuid: string): Observable<DataobjectSchema> {\n return this.httpClient.get<DataobjectSchema>(\n this.getApiUrl(\n `/management/v1/openproduct/${pluginConfigurationId}/producttypen/${producttypeUuid}/dataobject-schema`\n )\n );\n }\n}\n\nexport {DataobjectSchema, JsonSchemaProperty, OpenProductApiService, Producttype};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FormArray, FormBuilder, FormGroup} from '@angular/forms';\nimport {FunctionConfigurationComponent, PluginConfigurationData} from '@valtimo/plugin';\nimport {\n BehaviorSubject,\n catchError,\n combineLatest,\n distinctUntilChanged,\n filter,\n map,\n Observable,\n of,\n Subscription,\n switchMap,\n tap,\n} from 'rxjs';\nimport {JsonSchemaProperty, OpenProductApiService, Producttype} from '../../services/open-product-api.service';\nimport {\n CreateOrUpdateProductConfig,\n DataobjectMappingEntry,\n EigenaarType,\n ValueMode,\n} from './models/create-or-update-product-config';\n\ninterface StandardField {\n key: keyof CreateOrUpdateProductConfig;\n options?: string[];\n}\n\ninterface DataobjectField {\n key: string;\n type: string;\n required: boolean;\n}\n\nconst PV_PREFIX = 'pv:';\n\nconst STANDARD_FIELDS: StandardField[] = [\n {key: 'productNaam'},\n {key: 'productStatus', options: ['initieel', 'in_aanvraag', 'gereed', 'actief', 'ingetrokken', 'geweigerd', 'verlopen']},\n {key: 'productPrijs'},\n {key: 'productFrequentie', options: ['eenmalig', 'maandelijks', 'jaarlijks']},\n {key: 'gepubliceerd', options: ['true', 'false']},\n {key: 'startDatum'},\n {key: 'eindDatum'},\n {key: 'aanvraagZaakUrn'},\n {key: 'aanvraagZaakUrl'},\n];\n\n@Component({\n standalone: false,\n selector: 'valtimo-create-or-update-product-configuration',\n templateUrl: './create-or-update-product-configuration.component.html',\n styleUrls: ['./create-or-update-product-configuration.component.scss'],\n})\nexport class CreateOrUpdateProductConfigurationComponent\n implements FunctionConfigurationComponent, OnInit, OnDestroy {\n @Input() save$: Observable<void>;\n @Input() disabled$: Observable<boolean>;\n @Input() pluginId: string;\n @Input() prefillConfiguration$: Observable<CreateOrUpdateProductConfig>;\n @Input() selectedPluginConfigurationData$: Observable<PluginConfigurationData>;\n @Output() valid: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() configuration: EventEmitter<CreateOrUpdateProductConfig> =\n new EventEmitter<CreateOrUpdateProductConfig>();\n\n readonly standardFields = STANDARD_FIELDS;\n readonly eigenaarTypes: EigenaarType[] = ['bsn', 'kvk_nummer', 'klantnummer'];\n readonly producttypen$ = new BehaviorSubject<Producttype[] | null>(null);\n readonly dataobjectFields$ = new BehaviorSubject<DataobjectField[]>([]);\n readonly loadError$ = new BehaviorSubject<boolean>(false);\n\n readonly form: FormGroup = this.formBuilder.group({\n producttypeUuid: [''],\n eigenaarType: ['bsn'],\n eigenaarIdentificatie: this.valueGroup(),\n eigenaarVestigingsnummer: this.valueGroup(),\n standard: this.formBuilder.group(\n Object.fromEntries(STANDARD_FIELDS.map(field => [field.key, this.valueGroup()]))\n ),\n documenten: [''],\n dataobject: this.formBuilder.array([]),\n resultaatVariabelNaam: [''],\n });\n\n private readonly configurationId$ = new BehaviorSubject<string | null>(null);\n private readonly subscriptions = new Subscription();\n private prefillMapping: DataobjectMappingEntry[] = [];\n private prefillProducttypeUuid: string | null = null;\n private disabled = false;\n\n constructor(\n private readonly formBuilder: FormBuilder,\n private readonly openProductApiService: OpenProductApiService\n ) {}\n\n get dataobjectArray(): FormArray {\n return this.form.get('dataobject') as FormArray;\n }\n\n ngOnInit(): void {\n this.subscriptions.add(\n (this.selectedPluginConfigurationData$ ?? of(null))\n .pipe(map(configuration => configuration?.configurationId ?? null))\n .subscribe(configurationId => this.configurationId$.next(configurationId))\n );\n this.openProducttypenSubscription();\n this.openSchemaSubscription();\n this.openPrefillSubscription();\n this.openDisabledSubscription();\n this.subscriptions.add(this.form.valueChanges.subscribe(() => this.emitValid()));\n this.subscriptions.add(this.save$?.subscribe(() => this.save()));\n this.emitValid();\n }\n\n ngOnDestroy(): void {\n this.subscriptions.unsubscribe();\n }\n\n private openProducttypenSubscription(): void {\n this.subscriptions.add(\n this.configurationId$\n .pipe(\n filter((configurationId): configurationId is string => !!configurationId),\n distinctUntilChanged(),\n switchMap(configurationId =>\n this.openProductApiService.getProducttypen(configurationId).pipe(\n catchError(() => {\n this.loadError$.next(true);\n return of([] as Producttype[]);\n })\n )\n )\n )\n .subscribe(producttypen => this.producttypen$.next(producttypen))\n );\n }\n\n private openSchemaSubscription(): void {\n this.subscriptions.add(\n combineLatest([\n this.configurationId$.pipe(filter((configurationId): configurationId is string => !!configurationId)),\n this.form.get('producttypeUuid').valueChanges.pipe(\n filter((producttypeUuid: string) => !!producttypeUuid),\n distinctUntilChanged()\n ),\n ])\n .pipe(\n tap(() => this.loadError$.next(false)),\n switchMap(([configurationId, producttypeUuid]) =>\n this.openProductApiService.getDataobjectSchema(configurationId, producttypeUuid).pipe(\n catchError(() => {\n this.loadError$.next(true);\n return of({schema: null});\n })\n )\n )\n )\n .subscribe(dataobjectSchema => {\n const keepUnknownKeys = this.form.get('producttypeUuid').value === this.prefillProducttypeUuid;\n const properties: {[key: string]: JsonSchemaProperty} = dataobjectSchema.schema?.properties ?? {};\n const required = dataobjectSchema.schema?.required ?? [];\n this.setDataobjectFields(\n Object.entries(properties).map(([key, property]) => ({\n key,\n type: [property.type ?? ''].flat().join(', '),\n required: required.includes(key),\n })),\n keepUnknownKeys\n );\n })\n );\n }\n\n private openPrefillSubscription(): void {\n if (!this.prefillConfiguration$) {\n return;\n }\n this.subscriptions.add(\n this.prefillConfiguration$.pipe(filter(prefill => !!prefill)).subscribe(prefill => {\n this.prefillMapping = prefill.dataobjectMapping ?? [];\n this.prefillProducttypeUuid = prefill.producttypeUuid ?? null;\n this.setDataobjectFields(this.dataobjectFields$.value, true);\n this.form.patchValue({\n producttypeUuid: prefill.producttypeUuid ?? '',\n eigenaarType: prefill.eigenaarType ?? 'bsn',\n eigenaarIdentificatie: this.toValueGroup(prefill.eigenaarIdentificatie),\n eigenaarVestigingsnummer: this.toValueGroup(prefill.eigenaarVestigingsnummer),\n standard: Object.fromEntries(\n STANDARD_FIELDS.map(field => [field.key, this.toValueGroup(prefill[field.key])])\n ),\n documenten: this.withoutPvPrefix(prefill.documenten),\n resultaatVariabelNaam: prefill.resultaatVariabelNaam ?? '',\n });\n })\n );\n }\n\n private openDisabledSubscription(): void {\n if (!this.disabled$) {\n return;\n }\n this.subscriptions.add(\n this.disabled$.subscribe(disabled => {\n this.disabled = disabled;\n if (disabled) {\n this.form.disable();\n } else {\n this.form.enable();\n }\n })\n );\n }\n\n // Keeps mapped keys the schema no longer lists while the saved product type is shown, so they are not lost silently.\n private setDataobjectFields(schemaFields: DataobjectField[], keepUnknownKeys: boolean): void {\n const current: DataobjectMappingEntry[] = this.dataobjectArray.length\n ? this.toDataobjectMapping()\n : this.prefillMapping;\n const unknownKeys = keepUnknownKeys\n ? current.map(entry => entry.key).filter(key => !schemaFields.some(field => field.key === key))\n : [];\n const fields = [\n ...schemaFields,\n ...unknownKeys.map(key => ({key, type: '', required: false})),\n ];\n this.dataobjectFields$.next(fields);\n this.dataobjectArray.clear();\n fields.forEach(field => {\n const value = current.find(entry => entry.key === field.key)?.value;\n this.dataobjectArray.push(\n this.formBuilder.group({key: [field.key], ...this.toValueGroup(value)})\n );\n });\n if (this.disabled) {\n this.dataobjectArray.disable();\n }\n this.emitValid();\n }\n\n private save(): void {\n if (this.isValid()) {\n this.configuration.emit(this.toConfiguration());\n }\n }\n\n private toConfiguration(): CreateOrUpdateProductConfig {\n const value = this.form.getRawValue();\n const standard = Object.fromEntries(\n STANDARD_FIELDS.map(field => [field.key, this.fromValueGroup(value.standard[field.key])])\n .filter(([, fieldValue]) => fieldValue !== undefined)\n );\n const configuration: CreateOrUpdateProductConfig = {\n producttypeUuid: value.producttypeUuid,\n eigenaarType: value.eigenaarType,\n eigenaarIdentificatie: this.fromValueGroup(value.eigenaarIdentificatie),\n ...standard,\n dataobjectMapping: this.toDataobjectMapping(),\n };\n const vestigingsnummer = this.fromValueGroup(value.eigenaarVestigingsnummer);\n if (value.eigenaarType === 'kvk_nummer' && vestigingsnummer !== undefined) {\n configuration.eigenaarVestigingsnummer = vestigingsnummer;\n }\n if (value.documenten?.trim()) {\n configuration.documenten = `${PV_PREFIX}${this.withoutPvPrefix(value.documenten.trim())}`;\n }\n if (value.resultaatVariabelNaam?.trim()) {\n configuration.resultaatVariabelNaam = value.resultaatVariabelNaam.trim();\n }\n return configuration;\n }\n\n private toDataobjectMapping(): DataobjectMappingEntry[] {\n return this.dataobjectArray\n .getRawValue()\n .map(entry => ({key: entry.key, value: this.fromValueGroup(entry)}))\n .filter((entry): entry is DataobjectMappingEntry => entry.value !== undefined);\n }\n\n private isValid(): boolean {\n const value = this.form.getRawValue();\n const mapping = this.toDataobjectMapping();\n const requiredFieldsSet = this.dataobjectFields$.value\n .filter(field => field.required)\n .every(field => mapping.some(entry => entry.key === field.key));\n const aanvraagZaakSet =\n this.fromValueGroup(value.standard.aanvraagZaakUrn) !== undefined ||\n this.fromValueGroup(value.standard.aanvraagZaakUrl) !== undefined;\n return (\n !!value.producttypeUuid &&\n !!value.eigenaarType &&\n this.fromValueGroup(value.eigenaarIdentificatie) !== undefined &&\n aanvraagZaakSet &&\n requiredFieldsSet &&\n !this.loadError$.value\n );\n }\n\n private emitValid(): void {\n this.valid.emit(this.isValid());\n }\n\n private valueGroup(): FormGroup {\n return this.formBuilder.group({mode: ['fixed'], value: ['']});\n }\n\n private toValueGroup(stored: unknown): {mode: ValueMode; value: string} {\n if (stored === undefined || stored === null) {\n return {mode: 'fixed', value: ''};\n }\n const text = `${stored}`;\n return text.startsWith(PV_PREFIX)\n ? {mode: 'pv', value: text.substring(PV_PREFIX.length)}\n : {mode: 'fixed', value: text};\n }\n\n private fromValueGroup(group: {mode: ValueMode; value: string}): string | undefined {\n const value = group?.value?.trim();\n if (!value) {\n return undefined;\n }\n return group.mode === 'pv' ? `${PV_PREFIX}${this.withoutPvPrefix(value)}` : value;\n }\n\n private withoutPvPrefix(stored: string | undefined): string {\n return stored?.startsWith(PV_PREFIX) ? stored.substring(PV_PREFIX.length) : stored ?? '';\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\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","/*\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\nimport {\n OpenProductConfigurationComponent\n} from './components/open-product-configuration/open-product-configuration.component';\nimport {CommonModule} from '@angular/common';\nimport {ReactiveFormsModule} from '@angular/forms';\nimport {InputModule as CarbonInputModule, SelectModule as CarbonSelectModule} from 'carbon-components-angular';\nimport {CarbonMultiInputModule, FormModule, InputModule, SelectModule} from '@valtimo/components';\nimport {NgModule} from '@angular/core';\nimport {PluginTranslatePipeModule} from \"@valtimo/plugin\";\nimport {GetProductConfigurationComponent} from \"./components/get-product/get-product-configuration.component\";\nimport {CreateProductConfigurationComponent} from './components/create-product/create-product-configuration.component'\nimport {UpdateProductConfigurationComponent} from \"./components/update-product/update-product-configuration.component\";\nimport {DeleteProductConfigurationComponent} from \"./components/delete-product/delete-product-configuration.component\";\nimport {GetAllProductsConfigurationComponent} from \"./components/get-all-products/get-all-products-configuration.component\";\nimport {GetZaakDocumentenConfigurationComponent} from \"./components/get-zaak-documenten/get-zaak-documenten-configuration.component\";\nimport {CreateOrUpdateProductConfigurationComponent} from \"./components/create-or-update-product/create-or-update-product-configuration.component\";\n\n@NgModule({\n declarations: [OpenProductConfigurationComponent, GetProductConfigurationComponent, GetAllProductsConfigurationComponent, GetZaakDocumentenConfigurationComponent, CreateProductConfigurationComponent, UpdateProductConfigurationComponent, DeleteProductConfigurationComponent, CreateOrUpdateProductConfigurationComponent],\n imports: [CommonModule, PluginTranslatePipeModule, FormModule, InputModule, SelectModule, CarbonMultiInputModule, ReactiveFormsModule, CarbonInputModule, CarbonSelectModule],\n exports: [OpenProductConfigurationComponent, GetProductConfigurationComponent, GetAllProductsConfigurationComponent, GetZaakDocumentenConfigurationComponent, CreateProductConfigurationComponent, UpdateProductConfigurationComponent, DeleteProductConfigurationComponent, CreateOrUpdateProductConfigurationComponent],\n})\nexport class OpenProductPluginModule {\n}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst OPEN_PRODUCT_PLUGIN_LOGO_BASE64 =\n 'data:image/png;base64,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'\n\nexport {OPEN_PRODUCT_PLUGIN_LOGO_BASE64};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './open-product-plugin-logo';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n OpenProductConfigurationComponent\n} from './components/open-product-configuration/open-product-configuration.component';\nimport {OPEN_PRODUCT_PLUGIN_LOGO_BASE64} from './assets';\nimport {PluginSpecification} from \"@valtimo/plugin\";\nimport {GetProductConfigurationComponent} from \"./components/get-product/get-product-configuration.component\";\nimport {CreateProductConfigurationComponent} from \"./components/create-product/create-product-configuration.component\";\nimport {UpdateProductConfigurationComponent} from \"./components/update-product/update-product-configuration.component\";\nimport {DeleteProductConfigurationComponent} from \"./components/delete-product/delete-product-configuration.component\";\nimport {\n GetAllProductsConfigurationComponent\n} from \"./components/get-all-products/get-all-products-configuration.component\";\nimport {\n GetZaakDocumentenConfigurationComponent\n} from \"./components/get-zaak-documenten/get-zaak-documenten-configuration.component\";\nimport {\n CreateOrUpdateProductConfigurationComponent\n} from \"./components/create-or-update-product/create-or-update-product-configuration.component\";\n\nconst openProductPluginSpecification: PluginSpecification = {\n pluginId: 'openproduct',\n pluginConfigurationComponent: OpenProductConfigurationComponent,\n pluginLogoBase64: OPEN_PRODUCT_PLUGIN_LOGO_BASE64,\n functionConfigurationComponents: {\n /*\n For each plugin action id received from the backend, a component is provided of the interface FunctionConfigurationComponent.\n These are used to configure each plugin action.\n */\n 'get-product': GetProductConfigurationComponent,\n 'get-all-products': GetAllProductsConfigurationComponent,\n 'get-zaak-documenten': GetZaakDocumentenConfigurationComponent,\n 'create-product': CreateProductConfigurationComponent,\n 'update-product': UpdateProductConfigurationComponent,\n 'create-or-update-product': CreateOrUpdateProductConfigurationComponent,\n 'delete-product': DeleteProductConfigurationComponent\n },\n\n pluginTranslations: {\n nl: {\n title: 'Open Product Plugin',\n description: 'Deze plugin maakt het mogelijk om producten van de open producten API te beheren binnen Valtimo.',\n configurationTitle: 'Configuratienaam',\n configurationTitleTooltip: 'Configuratie naam is de naam die gebruikt wordt om de configuratie te identificeren.',\n baseUrl: 'URL',\n 'get-product': \"Product ophalen via UUID\",\n \"create-product\": \"Product aanmaken\",\n \"delete-product\": \"Product verwijderen via UUID\",\n \"update-product\": \"Product bijwerken via UUID\",\n \"get-all-products\": \"Alle producten ophalen via BSN\",\n \"get-zaak-documenten\": \"Zaakdocumenten ophalen als productdocumenten\",\n aanvraagZaakUrl: 'De URL van de zaak',\n productUuid: 'De UUID van het product',\n productNaam: 'De naam van het product',\n productTypeUuid: 'De UUID van het producttype',\n eigenaarBsn: 'De bsn van de eigenaar',\n gepubliceerd: 'Kan het object getoond worden?',\n productPrijs: 'De prijs van het product',\n productFrequentie: 'De frequentie van de betalingen',\n productStatus: 'De status van het product',\n resultaatPV: 'De naam van de process variable waar het resultaat in komt',\n authenticationPluginConfiguration: 'Selecteer de authenticatie plugin configuratie',\n dataobjectVariabelNaam: 'Naam van de procesvariabele voor het dataobject (optioneel)',\n producttypeUuid: 'UUID van het producttype om op te filteren (optioneel)',\n status: 'Status van het product om op te filteren (optioneel, bijv. gereed, actief)',\n resultaatVariabelNaam: 'Naam van de procesvariabele voor de resultatenlijst (standaard: alleProducten)',\n zaakDocumentenVariabelNaam: 'Naam van de procesvariabele voor de zaakdocumentenlijst (standaard: zaakDocumenten)',\n 'create-or-update-product': 'Product aanmaken of bijwerken',\n producttypeKeuze: 'Producttype',\n producttypeKeuzeTooltip: 'De producttypen van de gekozen Open Product-configuratie. De velden van het dataobject komen uit het schema van dit producttype.',\n producttypeKiezen: 'Kies een producttype',\n openProductNietBereikbaar: 'De producttypen of het schema konden niet uit Open Producten worden opgehaald. Controleer de pluginconfiguratie.',\n eigenaarKop: 'Eigenaar',\n eigenaarType: 'De eigenaar wordt herkend aan',\n eigenaarType_bsn: 'BSN',\n eigenaarType_kvk_nummer: 'KVK-nummer',\n eigenaarType_klantnummer: 'Klantnummer',\n eigenaarIdentificatie: 'BSN, KVK-nummer of klantnummer van de eigenaar',\n eigenaarVestigingsnummer: 'Vestigingsnummer (optioneel)',\n productgegevensKop: 'Productgegevens',\n 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.',\n aanvraagZaakUrn: 'De URN van de aanvraagzaak',\n startDatum: 'Startdatum (JJJJ-MM-DD)',\n eindDatum: 'Einddatum (JJJJ-MM-DD)',\n documenten: 'Procesvariabele met de documenten (optioneel)',\n documentenTooltip: 'Bijvoorbeeld de procesvariabele die de actie \"Zaakdocumenten ophalen als productdocumenten\" vult. Bij bijwerken worden de documenten toegevoegd aan de bestaande.',\n dataobjectKop: 'Dataobject',\n geenDataobjectVelden: 'Dit producttype heeft geen dataobject-schema.',\n resultaatVariabelNaamUpsert: 'Naam van de procesvariabele voor de UUID van het product (optioneel)',\n resultaatVariabelNaamTooltip: 'Standaard: productUuid',\n vasteWaarde: 'Vaste waarde',\n procesvariabele: 'Procesvariabele',\n procesvariabeleNaam: 'Naam van de procesvariabele',\n },\n en: {\n title: 'Open Product Plugin',\n description: 'This plugin enables management of products from the Open Products API within Valtimo.',\n configurationTitle: 'Configuration Name',\n configurationTitleTooltip: 'The name used to identify this configuration.',\n baseUrl: 'URL',\n \"get-product\": \"Retrieve product via UUID\",\n \"create-product\": \"New product\",\n \"delete-product\": \"Delete product via UUID\",\n \"update-product\": \"Update product via UUID\",\n \"get-all-products\": \"Retrieve all products\",\n \"get-zaak-documenten\": \"Retrieve zaak documents as product documents\",\n aanvraagZaakUrl: 'The URL of the zaak',\n productUuid: 'The UUID of the product',\n productNaam: 'The name of the product',\n productTypeUuid: 'The UUID of the product type',\n eigenaarBsn: 'The citizen service number (BSN) of the owner',\n gepubliceerd: 'Should this product be publicly visible?',\n productPrijs: 'The price of the product',\n productFrequentie: 'The payment frequency',\n productStatus: 'The product’s status',\n resultaatPV: 'The name of the process variable that will contain the result',\n authenticationPluginConfiguration: 'Select the authentication plugin configuration',\n dataobjectVariabelNaam: 'Process variable name for the data object (optional)',\n producttypeUuid: 'Product type UUID to filter on (optional)',\n status: 'Product status to filter on (optional, e.g. gereed, actief)',\n resultaatVariabelNaam: 'Process variable name for the results list (default: alleProducten)',\n zaakDocumentenVariabelNaam: 'Process variable name for the zaak documents list (default: zaakDocumenten)',\n 'create-or-update-product': 'Create or update product',\n producttypeKeuze: 'Product type',\n producttypeKeuzeTooltip: 'The product types of the selected Open Product configuration. The dataobject fields come from the schema of this product type.',\n producttypeKiezen: 'Choose a product type',\n openProductNietBereikbaar: 'The product types or the schema could not be retrieved from Open Producten. Check the plugin configuration.',\n eigenaarKop: 'Owner',\n eigenaarType: 'The owner is identified by',\n eigenaarType_bsn: 'BSN',\n eigenaarType_kvk_nummer: 'KVK number',\n eigenaarType_klantnummer: 'Customer number',\n eigenaarIdentificatie: 'BSN, KVK number or customer number of the owner',\n eigenaarVestigingsnummer: 'Branch number (optional)',\n productgegevensKop: 'Product details',\n 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.',\n aanvraagZaakUrn: 'The URN of the application zaak',\n startDatum: 'Start date (YYYY-MM-DD)',\n eindDatum: 'End date (YYYY-MM-DD)',\n documenten: 'Process variable holding the documents (optional)',\n 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.',\n dataobjectKop: 'Dataobject',\n geenDataobjectVelden: 'This product type has no dataobject schema.',\n resultaatVariabelNaamUpsert: 'Process variable name for the product UUID (optional)',\n resultaatVariabelNaamTooltip: 'Default: productUuid',\n vasteWaarde: 'Fixed value',\n procesvariabele: 'Process variable',\n procesvariabeleNaam: 'Name of the process variable',\n },\n de: {\n title: 'Open Product Plugin',\n description: 'Dieses Plugin ermöglicht die Verwaltung von Produkten der Open Products API innerhalb von Valtimo.',\n configurationTitle: 'Konfigurationsname',\n configurationTitleTooltip: 'Der Name, mit dem diese Konfiguration identifiziert wird.',\n baseUrl: 'URL',\n aanvraagZaakUrl: 'Die URL der Zaak',\n productUuid: 'Die UUID des Produkts',\n productNaam: 'Der Name des Produkts',\n productTypeUuid: 'Die UUID des Produkttyps',\n eigenaarBsn: 'Die BSN (Bürgernummer) des Eigentümers',\n gepubliceerd: 'Soll dieses Produkt öffentlich angezeigt werden?',\n productPrijs: 'Der Preis des Produkts',\n productFrequentie: 'Die Häufigkeit der Zahlungen',\n productStatus: 'Der Status des Produkts',\n resultaatPV: 'Der Name der Prozessvariablen, in der das Ergebnis gespeichert wird',\n authenticationPluginConfiguration: 'Wählen Sie die Authentifizierungs-Plugin-Konfiguration aus',\n dataobjectVariabelNaam: 'Prozessvariablenname für das Datenobjekt (optional)',\n producttypeUuid: 'Produkttyp-UUID zum Filtern (optional)',\n status: 'Produktstatus zum Filtern (optional, z. B. gereed, actief)',\n resultaatVariabelNaam: 'Prozessvariablenname für die Ergebnisliste (Standard: alleProducten)',\n zaakDocumentenVariabelNaam: 'Prozessvariablenname für die Zaakdokumentenliste (Standard: zaakDocumenten)',\n 'create-or-update-product': 'Produkt anlegen oder aktualisieren',\n producttypeKeuze: 'Produkttyp',\n producttypeKeuzeTooltip: 'Die Produkttypen der gewählten Open-Product-Konfiguration. Die Felder des Datenobjekts stammen aus dem Schema dieses Produkttyps.',\n producttypeKiezen: 'Produkttyp wählen',\n openProductNietBereikbaar: 'Die Produkttypen oder das Schema konnten nicht aus Open Producten abgerufen werden. Prüfen Sie die Plugin-Konfiguration.',\n eigenaarKop: 'Eigentümer',\n eigenaarType: 'Der Eigentümer wird erkannt an',\n eigenaarType_bsn: 'BSN',\n eigenaarType_kvk_nummer: 'KVK-Nummer',\n eigenaarType_klantnummer: 'Kundennummer',\n eigenaarIdentificatie: 'BSN, KVK-Nummer oder Kundennummer des Eigentümers',\n eigenaarVestigingsnummer: 'Niederlassungsnummer (optional)',\n productgegevensKop: 'Produktdaten',\n 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.',\n aanvraagZaakUrn: 'Die URN der Antrags-Zaak',\n startDatum: 'Startdatum (JJJJ-MM-TT)',\n eindDatum: 'Enddatum (JJJJ-MM-TT)',\n documenten: 'Prozessvariable mit den Dokumenten (optional)',\n 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.',\n dataobjectKop: 'Datenobjekt',\n geenDataobjectVelden: 'Dieser Produkttyp hat kein Datenobjekt-Schema.',\n resultaatVariabelNaamUpsert: 'Prozessvariablenname für die Produkt-UUID (optional)',\n resultaatVariabelNaamTooltip: 'Standard: productUuid',\n vasteWaarde: 'Fester Wert',\n procesvariabele: 'Prozessvariable',\n procesvariabeleNaam: 'Name der Prozessvariablen',\n }\n }\n};\n\nexport {openProductPluginSpecification};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*\n * Public API Surface of Open-Product\n */\n\nexport * from './lib/models';\nexport * from './lib/open-product-plugin.module';\nexport * from './lib/open-product-plugin.specification';\nexport * from './lib/components/open-product-configuration/open-product-configuration.component';\nexport * from './lib/components/get-product/get-product-configuration.component';\nexport * from './lib/components/get-all-products/get-all-products-configuration.component';\nexport * from './lib/components/get-zaak-documenten/get-zaak-documenten-configuration.component';\nexport * from './lib/components/create-product/create-product-configuration.component';\nexport * from './lib/components/delete-product/delete-product-configuration.component';\nexport * from './lib/components/update-product/update-product-configuration.component';\nexport * from './lib/components/create-or-update-product/create-or-update-product-configuration.component';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i3","i4","i2","i2.OpenProductApiService","i5","CarbonInputModule","CarbonSelectModule"],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { EventEmitter, OnDestroy, OnInit } from '@angular/core';
|
|
2
|
+
import { FormArray, FormBuilder, FormGroup } from '@angular/forms';
|
|
3
|
+
import { FunctionConfigurationComponent, PluginConfigurationData } from '@valtimo/plugin';
|
|
4
|
+
import { BehaviorSubject, Observable } from 'rxjs';
|
|
5
|
+
import { OpenProductApiService, Producttype } from '../../services/open-product-api.service';
|
|
6
|
+
import { CreateOrUpdateProductConfig, EigenaarType } from './models/create-or-update-product-config';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
interface StandardField {
|
|
9
|
+
key: keyof CreateOrUpdateProductConfig;
|
|
10
|
+
options?: string[];
|
|
11
|
+
}
|
|
12
|
+
interface DataobjectField {
|
|
13
|
+
key: string;
|
|
14
|
+
type: string;
|
|
15
|
+
required: boolean;
|
|
16
|
+
}
|
|
17
|
+
export declare class CreateOrUpdateProductConfigurationComponent implements FunctionConfigurationComponent, OnInit, OnDestroy {
|
|
18
|
+
private readonly formBuilder;
|
|
19
|
+
private readonly openProductApiService;
|
|
20
|
+
save$: Observable<void>;
|
|
21
|
+
disabled$: Observable<boolean>;
|
|
22
|
+
pluginId: string;
|
|
23
|
+
prefillConfiguration$: Observable<CreateOrUpdateProductConfig>;
|
|
24
|
+
selectedPluginConfigurationData$: Observable<PluginConfigurationData>;
|
|
25
|
+
valid: EventEmitter<boolean>;
|
|
26
|
+
configuration: EventEmitter<CreateOrUpdateProductConfig>;
|
|
27
|
+
readonly standardFields: StandardField[];
|
|
28
|
+
readonly eigenaarTypes: EigenaarType[];
|
|
29
|
+
readonly producttypen$: BehaviorSubject<Producttype[]>;
|
|
30
|
+
readonly dataobjectFields$: BehaviorSubject<DataobjectField[]>;
|
|
31
|
+
readonly loadError$: BehaviorSubject<boolean>;
|
|
32
|
+
readonly form: FormGroup;
|
|
33
|
+
private readonly configurationId$;
|
|
34
|
+
private readonly subscriptions;
|
|
35
|
+
private prefillMapping;
|
|
36
|
+
private prefillProducttypeUuid;
|
|
37
|
+
private disabled;
|
|
38
|
+
constructor(formBuilder: FormBuilder, openProductApiService: OpenProductApiService);
|
|
39
|
+
get dataobjectArray(): FormArray;
|
|
40
|
+
ngOnInit(): void;
|
|
41
|
+
ngOnDestroy(): void;
|
|
42
|
+
private openProducttypenSubscription;
|
|
43
|
+
private openSchemaSubscription;
|
|
44
|
+
private openPrefillSubscription;
|
|
45
|
+
private openDisabledSubscription;
|
|
46
|
+
private setDataobjectFields;
|
|
47
|
+
private save;
|
|
48
|
+
private toConfiguration;
|
|
49
|
+
private toDataobjectMapping;
|
|
50
|
+
private isValid;
|
|
51
|
+
private emitValid;
|
|
52
|
+
private valueGroup;
|
|
53
|
+
private toValueGroup;
|
|
54
|
+
private fromValueGroup;
|
|
55
|
+
private withoutPvPrefix;
|
|
56
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CreateOrUpdateProductConfigurationComponent, never>;
|
|
57
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<CreateOrUpdateProductConfigurationComponent, "valtimo-create-or-update-product-configuration", never, { "save$": { "alias": "save$"; "required": false; }; "disabled$": { "alias": "disabled$"; "required": false; }; "pluginId": { "alias": "pluginId"; "required": false; }; "prefillConfiguration$": { "alias": "prefillConfiguration$"; "required": false; }; "selectedPluginConfigurationData$": { "alias": "selectedPluginConfigurationData$"; "required": false; }; }, { "valid": "valid"; "configuration": "configuration"; }, never, never, false, never>;
|
|
58
|
+
}
|
|
59
|
+
export {};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
type EigenaarType = 'bsn' | 'kvk_nummer' | 'klantnummer';
|
|
2
|
+
type ValueMode = 'fixed' | 'pv';
|
|
3
|
+
interface DataobjectMappingEntry {
|
|
4
|
+
key: string;
|
|
5
|
+
value: string;
|
|
6
|
+
}
|
|
7
|
+
interface CreateOrUpdateProductConfig {
|
|
8
|
+
producttypeUuid: string;
|
|
9
|
+
eigenaarType: EigenaarType;
|
|
10
|
+
eigenaarIdentificatie: string;
|
|
11
|
+
eigenaarVestigingsnummer?: string;
|
|
12
|
+
productNaam?: string;
|
|
13
|
+
productStatus?: string;
|
|
14
|
+
productPrijs?: string;
|
|
15
|
+
productFrequentie?: string;
|
|
16
|
+
gepubliceerd?: string;
|
|
17
|
+
startDatum?: string;
|
|
18
|
+
eindDatum?: string;
|
|
19
|
+
aanvraagZaakUrn?: string;
|
|
20
|
+
aanvraagZaakUrl?: string;
|
|
21
|
+
documenten?: string;
|
|
22
|
+
dataobjectMapping: DataobjectMappingEntry[];
|
|
23
|
+
resultaatVariabelNaam?: string;
|
|
24
|
+
}
|
|
25
|
+
export { CreateOrUpdateProductConfig, DataobjectMappingEntry, EigenaarType, ValueMode };
|
|
@@ -6,11 +6,14 @@ import * as i4 from "./components/get-zaak-documenten/get-zaak-documenten-config
|
|
|
6
6
|
import * as i5 from "./components/create-product/create-product-configuration.component";
|
|
7
7
|
import * as i6 from "./components/update-product/update-product-configuration.component";
|
|
8
8
|
import * as i7 from "./components/delete-product/delete-product-configuration.component";
|
|
9
|
-
import * as i8 from "
|
|
10
|
-
import * as i9 from "@
|
|
11
|
-
import * as i10 from "@valtimo/
|
|
9
|
+
import * as i8 from "./components/create-or-update-product/create-or-update-product-configuration.component";
|
|
10
|
+
import * as i9 from "@angular/common";
|
|
11
|
+
import * as i10 from "@valtimo/plugin";
|
|
12
|
+
import * as i11 from "@valtimo/components";
|
|
13
|
+
import * as i12 from "@angular/forms";
|
|
14
|
+
import * as i13 from "carbon-components-angular";
|
|
12
15
|
export declare class OpenProductPluginModule {
|
|
13
16
|
static ɵfac: i0.ɵɵFactoryDeclaration<OpenProductPluginModule, never>;
|
|
14
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<OpenProductPluginModule, [typeof i1.OpenProductConfigurationComponent, typeof i2.GetProductConfigurationComponent, typeof i3.GetAllProductsConfigurationComponent, typeof i4.GetZaakDocumentenConfigurationComponent, typeof i5.CreateProductConfigurationComponent, typeof i6.UpdateProductConfigurationComponent, typeof i7.DeleteProductConfigurationComponent], [typeof
|
|
17
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<OpenProductPluginModule, [typeof i1.OpenProductConfigurationComponent, typeof i2.GetProductConfigurationComponent, typeof i3.GetAllProductsConfigurationComponent, typeof i4.GetZaakDocumentenConfigurationComponent, typeof i5.CreateProductConfigurationComponent, typeof i6.UpdateProductConfigurationComponent, typeof i7.DeleteProductConfigurationComponent, typeof i8.CreateOrUpdateProductConfigurationComponent], [typeof i9.CommonModule, typeof i10.PluginTranslatePipeModule, typeof i11.FormModule, typeof i11.InputModule, typeof i11.SelectModule, typeof i11.CarbonMultiInputModule, typeof i12.ReactiveFormsModule, typeof i13.InputModule, typeof i13.SelectModule], [typeof i1.OpenProductConfigurationComponent, typeof i2.GetProductConfigurationComponent, typeof i3.GetAllProductsConfigurationComponent, typeof i4.GetZaakDocumentenConfigurationComponent, typeof i5.CreateProductConfigurationComponent, typeof i6.UpdateProductConfigurationComponent, typeof i7.DeleteProductConfigurationComponent, typeof i8.CreateOrUpdateProductConfigurationComponent]>;
|
|
15
18
|
static ɵinj: i0.ɵɵInjectorDeclaration<OpenProductPluginModule>;
|
|
16
19
|
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { HttpClient } from '@angular/common/http';
|
|
2
|
+
import { BaseApiService, ConfigService } from '@valtimo/shared';
|
|
3
|
+
import { Observable } from 'rxjs';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
interface Producttype {
|
|
6
|
+
uuid: string;
|
|
7
|
+
naam: string | null;
|
|
8
|
+
code: string | null;
|
|
9
|
+
}
|
|
10
|
+
interface JsonSchemaProperty {
|
|
11
|
+
type?: string | string[];
|
|
12
|
+
title?: string;
|
|
13
|
+
description?: string;
|
|
14
|
+
}
|
|
15
|
+
interface DataobjectSchema {
|
|
16
|
+
schema: {
|
|
17
|
+
properties?: {
|
|
18
|
+
[key: string]: JsonSchemaProperty;
|
|
19
|
+
};
|
|
20
|
+
required?: string[];
|
|
21
|
+
} | null;
|
|
22
|
+
}
|
|
23
|
+
declare class OpenProductApiService extends BaseApiService {
|
|
24
|
+
protected readonly httpClient: HttpClient;
|
|
25
|
+
protected readonly configService: ConfigService;
|
|
26
|
+
constructor(httpClient: HttpClient, configService: ConfigService);
|
|
27
|
+
getProducttypen(pluginConfigurationId: string): Observable<Producttype[]>;
|
|
28
|
+
getDataobjectSchema(pluginConfigurationId: string, producttypeUuid: string): Observable<DataobjectSchema>;
|
|
29
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<OpenProductApiService, never>;
|
|
30
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<OpenProductApiService>;
|
|
31
|
+
}
|
|
32
|
+
export { DataobjectSchema, JsonSchemaProperty, OpenProductApiService, Producttype };
|
package/package.json
CHANGED
package/public_api.d.ts
CHANGED
|
@@ -8,3 +8,4 @@ export * from './lib/components/get-zaak-documenten/get-zaak-documenten-configur
|
|
|
8
8
|
export * from './lib/components/create-product/create-product-configuration.component';
|
|
9
9
|
export * from './lib/components/delete-product/delete-product-configuration.component';
|
|
10
10
|
export * from './lib/components/update-product/update-product-configuration.component';
|
|
11
|
+
export * from './lib/components/create-or-update-product/create-or-update-product-configuration.component';
|