@valtimo/plugin 12.20.0 → 12.21.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.
Files changed (37) hide show
  1. package/esm2022/lib/plugins/besluiten-api/besluiten-api-plugin.module.mjs +25 -6
  2. package/esm2022/lib/plugins/besluiten-api/besluiten-api-plugin.specification.mjs +35 -10
  3. package/esm2022/lib/plugins/besluiten-api/components/get-besluit/get-besluit-configuration.component.mjs +75 -0
  4. package/esm2022/lib/plugins/besluiten-api/components/patch-zaak-besluit/patch-zaak-besluit-configuration.component.mjs +132 -0
  5. package/esm2022/lib/plugins/besluiten-api/models/config.mjs +1 -1
  6. package/esm2022/lib/plugins/besluiten-api/models/patch-besluit-properties.mjs +27 -0
  7. package/esm2022/lib/plugins/zaken-api/components/get-zaakbesluiten/get-zaakbesluiten-configuration.component.mjs +75 -0
  8. package/esm2022/lib/plugins/zaken-api/components/set-zaak-status/set-zaak-status-configuration.component.mjs +154 -12
  9. package/esm2022/lib/plugins/zaken-api/models/config.mjs +1 -1
  10. package/esm2022/lib/plugins/zaken-api/zaken-api-plugin.module.mjs +17 -6
  11. package/esm2022/lib/plugins/zaken-api/zaken-api-plugin.specification.mjs +24 -1
  12. package/esm2022/public-api.mjs +4 -1
  13. package/fesm2022/valtimo-plugin.mjs +534 -34
  14. package/fesm2022/valtimo-plugin.mjs.map +1 -1
  15. package/lib/plugins/besluiten-api/besluiten-api-plugin.module.d.ts +8 -6
  16. package/lib/plugins/besluiten-api/besluiten-api-plugin.module.d.ts.map +1 -1
  17. package/lib/plugins/besluiten-api/besluiten-api-plugin.specification.d.ts.map +1 -1
  18. package/lib/plugins/besluiten-api/components/get-besluit/get-besluit-configuration.component.d.ts +24 -0
  19. package/lib/plugins/besluiten-api/components/get-besluit/get-besluit-configuration.component.d.ts.map +1 -0
  20. package/lib/plugins/besluiten-api/components/patch-zaak-besluit/patch-zaak-besluit-configuration.component.d.ts +39 -0
  21. package/lib/plugins/besluiten-api/components/patch-zaak-besluit/patch-zaak-besluit-configuration.component.d.ts.map +1 -0
  22. package/lib/plugins/besluiten-api/models/config.d.ts +17 -1
  23. package/lib/plugins/besluiten-api/models/config.d.ts.map +1 -1
  24. package/lib/plugins/besluiten-api/models/patch-besluit-properties.d.ts +3 -0
  25. package/lib/plugins/besluiten-api/models/patch-besluit-properties.d.ts.map +1 -0
  26. package/lib/plugins/zaken-api/components/get-zaakbesluiten/get-zaakbesluiten-configuration.component.d.ts +24 -0
  27. package/lib/plugins/zaken-api/components/get-zaakbesluiten/get-zaakbesluiten-configuration.component.d.ts.map +1 -0
  28. package/lib/plugins/zaken-api/components/set-zaak-status/set-zaak-status-configuration.component.d.ts +18 -2
  29. package/lib/plugins/zaken-api/components/set-zaak-status/set-zaak-status-configuration.component.d.ts.map +1 -1
  30. package/lib/plugins/zaken-api/models/config.d.ts +6 -1
  31. package/lib/plugins/zaken-api/models/config.d.ts.map +1 -1
  32. package/lib/plugins/zaken-api/zaken-api-plugin.module.d.ts +7 -6
  33. package/lib/plugins/zaken-api/zaken-api-plugin.module.d.ts.map +1 -1
  34. package/lib/plugins/zaken-api/zaken-api-plugin.specification.d.ts.map +1 -1
  35. package/package.json +1 -1
  36. package/public-api.d.ts +3 -0
  37. package/public-api.d.ts.map +1 -1
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { InjectionToken, Inject, Injectable, Pipe, NgModule, EventEmitter, Output, Input, Component, ViewContainerRef, ViewChild, ViewChildren } from '@angular/core';
3
- import { BehaviorSubject, combineLatest, take, map as map$1, Subject, switchMap, tap as tap$1, of, filter, Subscription, catchError } from 'rxjs';
3
+ import { BehaviorSubject, combineLatest, take, map as map$1, Subject, switchMap, tap as tap$1, of, Subscription, filter, catchError } from 'rxjs';
4
4
  import { map, tap } from 'rxjs/operators';
5
5
  import * as i2 from '@ngx-translate/core';
6
6
  import { TranslateModule } from '@ngx-translate/core';
@@ -11,11 +11,12 @@ import * as i1 from '@angular/common/http';
11
11
  import * as i1$1 from '@angular/common';
12
12
  import { CommonModule } from '@angular/common';
13
13
  import * as i2$2 from '@valtimo/components';
14
- import { ParagraphModule, FormModule, InputModule, ValuePathSelectorPrefix, SelectModule, CarbonMultiInputModule, InputLabelModule, RadioModule, VModalComponent, MultiInputFormModule, ButtonModule as ButtonModule$1, TooltipIconModule, ValtimoCdsModalDirectiveModule, VModalModule, DatePickerModule } from '@valtimo/components';
14
+ import { ParagraphModule, FormModule, InputModule, ValuePathSelectorPrefix, SelectModule, CarbonMultiInputModule, CARBON_THEME, CurrentCarbonTheme, InputLabelModule, RadioModule, VModalComponent, MultiInputFormModule, ButtonModule as ButtonModule$1, TooltipIconModule, ValtimoCdsModalDirectiveModule, VModalModule, DatePickerModule as DatePickerModule$1 } from '@valtimo/components';
15
15
  import { validate } from 'uuid';
16
+ import flatpickr from 'flatpickr';
16
17
  import * as i2$3 from '@valtimo/document';
17
18
  import * as i5 from 'carbon-components-angular';
18
- import { ToggleModule, LoadingModule, ButtonModule, DialogModule, IconModule, DatePickerInputModule, ModalModule, InputModule as InputModule$1 } from 'carbon-components-angular';
19
+ import { ToggleModule, LoadingModule, ButtonModule, DialogModule, IconModule, DatePickerInputModule, DatePickerModule, TimePickerModule, ModalModule, InputModule as InputModule$1 } from 'carbon-components-angular';
19
20
  import { Add16, TrashCan16 } from '@carbon/icons';
20
21
  import * as i1$2 from '@valtimo/resource';
21
22
  import * as i4 from '@valtimo/process';
@@ -2622,11 +2623,12 @@ class SetZaakStatusConfigurationComponent {
2622
2623
  set pluginId(value) {
2623
2624
  this.pluginId$.next(value);
2624
2625
  }
2625
- constructor(modalService, documentService, zakenApiService, pluginTranslatePipe) {
2626
+ constructor(modalService, documentService, zakenApiService, pluginTranslatePipe, cdsThemeService) {
2626
2627
  this.modalService = modalService;
2627
2628
  this.documentService = documentService;
2628
2629
  this.zakenApiService = zakenApiService;
2629
2630
  this.pluginTranslatePipe = pluginTranslatePipe;
2631
+ this.cdsThemeService = cdsThemeService;
2630
2632
  this.valid = new EventEmitter();
2631
2633
  this.configuration = new EventEmitter();
2632
2634
  this.caseDefinitionSelectItems$ = new BehaviorSubject(null);
@@ -2678,7 +2680,10 @@ class SetZaakStatusConfigurationComponent {
2678
2680
  this.loading$.next(false);
2679
2681
  }));
2680
2682
  this.selectedInputOption$ = new BehaviorSubject('selection');
2683
+ this.datumStatusGezetSelectedInputOption$ = new BehaviorSubject('now');
2684
+ this.datePickerInvalid$ = new BehaviorSubject(false);
2681
2685
  this.pluginId$ = new BehaviorSubject('');
2686
+ this._subscriptions = new Subscription();
2682
2687
  this.inputTypeOptions$ = this.pluginId$.pipe(filter(pluginId => !!pluginId), switchMap(pluginId => combineLatest([
2683
2688
  this.pluginTranslatePipe.transform('selection', pluginId),
2684
2689
  this.pluginTranslatePipe.transform('text', pluginId),
@@ -2686,20 +2691,46 @@ class SetZaakStatusConfigurationComponent {
2686
2691
  { value: 'selection', title: selectionTranslation },
2687
2692
  { value: 'text', title: textTranslation },
2688
2693
  ]));
2694
+ this.datePickerInputTypeOptions$ = this.pluginId$.pipe(filter(pluginId => !!pluginId), switchMap(pluginId => combineLatest([
2695
+ this.pluginTranslatePipe.transform('now', pluginId),
2696
+ this.pluginTranslatePipe.transform('selection', pluginId),
2697
+ this.pluginTranslatePipe.transform('text', pluginId),
2698
+ ])), map(([nowTranslation, selectionTranslation, textTranslation]) => [
2699
+ { value: 'now', title: nowTranslation },
2700
+ { value: 'selection', title: selectionTranslation },
2701
+ { value: 'text', title: textTranslation },
2702
+ ]));
2703
+ this.theme$ = this.cdsThemeService.currentTheme$.pipe(map((theme) => theme === CurrentCarbonTheme.G10 ? CARBON_THEME.WHITE : CARBON_THEME.G100));
2689
2704
  this.formValue$ = new BehaviorSubject(null);
2690
2705
  this.valid$ = new BehaviorSubject(false);
2706
+ this.selectedDate = null;
2707
+ this.selectedTime = null;
2691
2708
  }
2692
2709
  ngOnInit() {
2693
2710
  this.openSaveSubscription();
2711
+ this.prefillToday();
2694
2712
  }
2695
2713
  ngOnDestroy() {
2696
2714
  this.saveSubscription?.unsubscribe();
2715
+ this._subscriptions.unsubscribe();
2697
2716
  }
2698
2717
  formValueChange(formValue) {
2699
- this.formValue$.next(formValue);
2700
- this.handleValid(formValue);
2701
- if (formValue.inputTypeZaakStatusToggle) {
2702
- this.selectedInputOption$.next(formValue.inputTypeZaakStatusToggle);
2718
+ const currentFormValue = this.formValue$.value ?? {};
2719
+ const updatedFormValue = {
2720
+ ...currentFormValue,
2721
+ ...formValue,
2722
+ };
2723
+ this.formValue$.next(updatedFormValue);
2724
+ this.handleValid(updatedFormValue);
2725
+ if (updatedFormValue.inputTypeZaakStatusToggle) {
2726
+ this.selectedInputOption$.next(updatedFormValue.inputTypeZaakStatusToggle);
2727
+ }
2728
+ if (updatedFormValue.inputDatumStatusGezetToggle) {
2729
+ this.datumStatusGezetSelectedInputOption$.next(updatedFormValue.inputDatumStatusGezetToggle);
2730
+ }
2731
+ if (updatedFormValue.inputDatumStatusGezetToggle === 'now') {
2732
+ this.selectedDate = null;
2733
+ this.selectedTime = null;
2703
2734
  }
2704
2735
  }
2705
2736
  selectCaseDefinition(caseDefinitionId) {
@@ -2713,7 +2744,11 @@ class SetZaakStatusConfigurationComponent {
2713
2744
  return false;
2714
2745
  }
2715
2746
  handleValid(formValue) {
2716
- const valid = !!formValue.statustypeUrl;
2747
+ const hasStatusType = !!formValue.statustypeUrl;
2748
+ const hasValidDatumStatusGezet = this.isValidDatumStatusGezet(formValue.datumStatusGezet);
2749
+ const dateIsNotInFuture = this.isDateNotInFuture(formValue.datumStatusGezet);
2750
+ const hasEnteredDateText = this.hasEnteredDateText(formValue.datumStatusGezet);
2751
+ const valid = hasStatusType && hasValidDatumStatusGezet && dateIsNotInFuture && hasEnteredDateText;
2717
2752
  this.valid$.next(valid);
2718
2753
  this.valid.emit(valid);
2719
2754
  }
@@ -2723,21 +2758,126 @@ class SetZaakStatusConfigurationComponent {
2723
2758
  .pipe(take(1))
2724
2759
  .subscribe(([formValue, valid]) => {
2725
2760
  if (valid) {
2761
+ if (formValue.inputDatumStatusGezetToggle == 'now') {
2762
+ formValue.datumStatusGezet = null;
2763
+ }
2726
2764
  this.configuration.emit({
2727
2765
  statustoelichting: formValue.statustoelichting,
2728
2766
  statustypeUrl: formValue.statustypeUrl,
2767
+ datumStatusGezet: formValue.datumStatusGezet,
2729
2768
  });
2730
2769
  }
2731
2770
  });
2732
2771
  });
2733
2772
  }
2734
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SetZaakStatusConfigurationComponent, deps: [{ token: i2$2.ModalService }, { token: i2$3.DocumentService }, { token: ZakenApiService }, { token: PluginTranslatePipe }], target: i0.ɵɵFactoryTarget.Component }); }
2735
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SetZaakStatusConfigurationComponent, selector: "valtimo-set-zaak-status-configuration", inputs: { save$: "save$", disabled$: "disabled$", pluginId: "pluginId", prefillConfiguration$: "prefillConfiguration$" }, outputs: { valid: "valid", configuration: "configuration" }, providers: [PluginTranslatePipe], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n pluginId: pluginId$ | async,\n selectedInputOption: selectedInputOption$ | async,\n loading: loading$ | async,\n caseDefinitionItems: caseDefinitionSelectItems$ | async,\n statusTypeItems: statusTypeSelectItems$ | async,\n selectedCaseDefinitionId: selectedCaseDefinitionId$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <v-input\n name=\"statustoelichting\"\n [title]=\"'statustoelichting' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.statustoelichting\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'statustoelichtingTooltip' | pluginTranslate: obs.pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <v-radio\n name=\"inputTypeZaakStatusToggle\"\n [disabled]=\"obs.disabled\"\n [title]=\"'inputTypeZaakStatusToggle' | pluginTranslate: obs.pluginId | async\"\n [radioValues]=\"inputTypeOptions$ | async\"\n [defaultValue]=\"selectedInputOption$ | async\"\n [margin]=\"true\"\n >\n </v-radio>\n <v-input\n *ngIf=\"obs.selectedInputOption === 'text'\"\n name=\"statustypeUrl\"\n [title]=\"'statustypeUrl' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.statustypeUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'statustypeUrlTooltip' | pluginTranslate: obs.pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <ng-container *ngIf=\"obs.selectedInputOption === 'selection'\">\n <v-select\n [items]=\"obs.caseDefinitionItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"caseDefinition\"\n [title]=\"'caseDefinition' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"\n obs.disabled ||\n obs.selectedInputOption === 'text' ||\n !obs.caseDefinitionItems ||\n oneSelectItem(obs.caseDefinitionItems)\n \"\n [required]=\"true\"\n [loading]=\"!obs.caseDefinitionItems\"\n [tooltip]=\"'caseDefinitionTooltip' | pluginTranslate: obs.pluginId | async\"\n (selectedChange)=\"selectCaseDefinition($event)\"\n [defaultSelectionId]=\"obs?.selectedCaseDefinitionId\"\n ></v-select>\n <v-select\n [items]=\"obs.statusTypeItems && obs.statusTypeItems[obs.selectedCaseDefinitionId]\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"statustypeUrl\"\n [title]=\"'statustypeUrlSelect' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"\n obs.disabled ||\n obs.selectedInputOption === 'text' ||\n !obs.statusTypeItems ||\n !obs.statusTypeItems[obs.selectedCaseDefinitionId]\n \"\n [defaultSelectionId]=\"obs.prefill?.statustypeUrl\"\n [required]=\"true\"\n [loading]=\"!obs.statusTypeItems\"\n [tooltip]=\"'statustypeUrlSelectTooltip' | pluginTranslate: obs.pluginId | async\"\n [clearSelectionSubject$]=\"clearStatusSelection$\"\n ></v-select>\n </ng-container>\n </ng-container>\n</v-form>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n", styles: [".loading-container{display:flex;flex-direction:row;justify-content:center;height:100%;width:100%;align-items:center}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$2.FormComponent, selector: "v-form", inputs: ["className"], outputs: ["valueChange"] }, { kind: "component", type: i2$2.InputComponent, selector: "v-input", inputs: ["name", "type", "title", "titleTranslationKey", "defaultValue", "widthPx", "fullWidth", "margin", "smallMargin", "disabled", "step", "min", "maxLength", "tooltip", "required", "hideNumberSpinBox", "smallLabel", "rows", "clear$", "carbonTheme", "placeholder", "dataTestId", "trim"], outputs: ["valueChange"] }, { kind: "component", type: i2$2.SelectComponent, selector: "v-select", inputs: ["items", "defaultSelection", "defaultSelectionId", "defaultSelectionIds", "disabled", "dropUp", "multiple", "margin", "widthInPx", "notFoundText", "clearAllText", "clearText", "name", "title", "titleTranslationKey", "clearSelectionSubject$", "tooltip", "required", "loading", "loadingText", "placeholder", "smallMargin", "carbonTheme", "appendInline", "dataTestId"], outputs: ["selectedChange"] }, { kind: "component", type: i2$2.RadioComponent, selector: "v-radio", inputs: ["name", "title", "titleTranslationKey", "defaultValue", "widthPx", "fullWidth", "margin", "smallMargin", "disabled", "tooltip", "required", "smallLabel", "rows", "clear$", "radioValues"], outputs: ["valueChange"] }, { kind: "component", type: i5.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: PluginTranslatePipe, name: "pluginTranslate" }] }); }
2773
+ onDateSelected(event) {
2774
+ const date = Array.isArray(event) && event[0];
2775
+ if (!date)
2776
+ return;
2777
+ this.selectedDate = date.toISOString();
2778
+ this.updateDatumStatusGezet();
2779
+ }
2780
+ onTimeSelected(event) {
2781
+ this.selectedTime = event;
2782
+ this.updateDatumStatusGezet();
2783
+ }
2784
+ updateDatumStatusGezet() {
2785
+ if (!this.selectedDate && !this.selectedTime) {
2786
+ return;
2787
+ }
2788
+ let hoursStr;
2789
+ let minutesStr;
2790
+ let secondsStr;
2791
+ try {
2792
+ [hoursStr, minutesStr = '00', secondsStr = '00'] = this.selectedTime.split(':');
2793
+ }
2794
+ catch (error) {
2795
+ [hoursStr, minutesStr = '00', secondsStr = '00'] = ['00', '00'];
2796
+ }
2797
+ const date = new Date(this.selectedDate);
2798
+ const year = date.getFullYear();
2799
+ const month = String(date.getMonth() + 1).padStart(2, '0');
2800
+ const day = String(date.getDate()).padStart(2, '0');
2801
+ const hh = hoursStr.padStart(2, '0');
2802
+ const mm = minutesStr.padStart(2, '0');
2803
+ const ss = secondsStr.padStart(2, '0');
2804
+ const isoWithoutMs = `${year}-${month}-${day}T${hh}:${mm}:${ss}Z`;
2805
+ const currentFormValue = this.formValue$.value ?? {};
2806
+ const updatedFormValue = {
2807
+ ...currentFormValue,
2808
+ datumStatusGezet: isoWithoutMs,
2809
+ };
2810
+ this.formValueChange(updatedFormValue);
2811
+ }
2812
+ prefillToday() {
2813
+ this._subscriptions.add(this.prefillConfiguration$.subscribe(config => {
2814
+ console.log('Prefilling configuration', config?.datumStatusGezet);
2815
+ let baseDate;
2816
+ if (config?.datumStatusGezet) {
2817
+ try {
2818
+ baseDate = flatpickr.formatDate(!!config?.datumStatusGezet ? new Date(config.datumStatusGezet) : new Date(), 'Z');
2819
+ this.datumStatusGezetSelectedInputOption$.next('selection');
2820
+ }
2821
+ catch (error) {
2822
+ baseDate = config.datumStatusGezet;
2823
+ this.datumStatusGezetSelectedInputOption$.next('text');
2824
+ }
2825
+ }
2826
+ else {
2827
+ baseDate = null;
2828
+ this.datumStatusGezetSelectedInputOption$.next('now');
2829
+ }
2830
+ this.selectedDate = baseDate;
2831
+ this.selectedTime = this.formatTime(baseDate);
2832
+ }));
2833
+ this.updateDatumStatusGezet();
2834
+ }
2835
+ formatTime(date) {
2836
+ const [hours, minutes, seconds] = date.split('T')[1].split(':');
2837
+ return `${hours}:${minutes}:${seconds.split('.')[0]}`;
2838
+ }
2839
+ isValidDatumStatusGezet(value) {
2840
+ if (['text', 'now'].includes(this.datumStatusGezetSelectedInputOption$.getValue())) {
2841
+ return true;
2842
+ }
2843
+ if (!value) {
2844
+ return false;
2845
+ }
2846
+ const trimmed = value.trim();
2847
+ // Required format: YYYY-MM-DDTHH:mm:ssZ
2848
+ const regex = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$/;
2849
+ if (!regex.test(trimmed)) {
2850
+ return false;
2851
+ }
2852
+ const date = new Date(trimmed);
2853
+ return !isNaN(date.getTime());
2854
+ }
2855
+ isDateNotInFuture(value) {
2856
+ if (['text', 'now'].includes(this.datumStatusGezetSelectedInputOption$.getValue())) {
2857
+ return true;
2858
+ }
2859
+ if (!value) {
2860
+ return false;
2861
+ }
2862
+ const date = new Date(value);
2863
+ const now = new Date();
2864
+ const isDateNotInFuture = date.getTime() <= now.getTime();
2865
+ this.datePickerInvalid$.next(!isDateNotInFuture);
2866
+ return isDateNotInFuture;
2867
+ }
2868
+ hasEnteredDateText(value) {
2869
+ if (this.datumStatusGezetSelectedInputOption$.getValue() !== 'text') {
2870
+ return true;
2871
+ }
2872
+ return !value === false;
2873
+ }
2874
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SetZaakStatusConfigurationComponent, deps: [{ token: i2$2.ModalService }, { token: i2$3.DocumentService }, { token: ZakenApiService }, { token: PluginTranslatePipe }, { token: i2$2.CdsThemeService }], target: i0.ɵɵFactoryTarget.Component }); }
2875
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SetZaakStatusConfigurationComponent, selector: "valtimo-set-zaak-status-configuration", inputs: { save$: "save$", disabled$: "disabled$", pluginId: "pluginId", prefillConfiguration$: "prefillConfiguration$" }, outputs: { valid: "valid", configuration: "configuration" }, providers: [PluginTranslatePipe], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n pluginId: pluginId$ | async,\n selectedInputOption: selectedInputOption$ | async,\n datumStatusGezetSelectedInputOption: datumStatusGezetSelectedInputOption$ | async,\n loading: loading$ | async,\n caseDefinitionItems: caseDefinitionSelectItems$ | async,\n statusTypeItems: statusTypeSelectItems$ | async,\n selectedCaseDefinitionId: selectedCaseDefinitionId$ | async,\n datePickerInvalid: datePickerInvalid$ | async\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <v-input\n name=\"statustoelichting\"\n [title]=\"'statustoelichting' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.statustoelichting\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'statustoelichtingTooltip' | pluginTranslate: obs.pluginId | async\"\n [fullWidth]=\"true\"\n [placeholder]=\"'statustoelichting' | pluginTranslate: obs.pluginId | async\"\n >\n </v-input>\n\n <v-radio\n name=\"inputDatumStatusGezetToggle\"\n [disabled]=\"obs.disabled\"\n [title]=\"'inputDatumStatusGezetToggle' | pluginTranslate: obs.pluginId | async\"\n [radioValues]=\"datePickerInputTypeOptions$ | async\"\n [defaultValue]=\"obs.datumStatusGezetSelectedInputOption\"\n [margin]=\"true\"\n ></v-radio>\n\n <div class=\"date-time-row\" *ngIf=\"obs.datumStatusGezetSelectedInputOption === 'selection'\">\n <cds-date-picker\n [attr.data-carbon-theme]=\"theme$ | async\"\n [label]=\"'logging.search.afterTimestamp' | translate\"\n placeholder=\"DD-MM-YYYY\"\n [dateFormat]=\"'d-m-Y'\"\n [value]=\"[selectedDate]\"\n [invalid]=\"obs.datePickerInvalid\"\n [invalidText]=\"'datumStatusGezetInvalidText' | pluginTranslate: obs.pluginId | async\"\n (valueChange)=\"onDateSelected($event)\"\n ></cds-date-picker>\n\n <cds-timepicker\n class=\"timepicker\"\n [attr.data-carbon-theme]=\"theme$ | async\"\n [value]=\"selectedTime\"\n [invalid]=\"obs.datePickerInvalid\"\n (valueChange)=\"onTimeSelected($event)\"\n ></cds-timepicker>\n </div>\n\n <v-input\n *ngIf=\"obs.datumStatusGezetSelectedInputOption === 'text'\"\n name=\"datumStatusGezet\"\n [title]=\"'datumStatusGezet' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.datumStatusGezet\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'datumStatusGezetTooltip' | pluginTranslate: obs.pluginId | async\"\n [fullWidth]=\"true\"\n ></v-input>\n\n <v-radio\n name=\"inputTypeZaakStatusToggle\"\n [disabled]=\"obs.disabled\"\n [title]=\"'inputTypeZaakStatusToggle' | pluginTranslate: obs.pluginId | async\"\n [radioValues]=\"inputTypeOptions$ | async\"\n [defaultValue]=\"selectedInputOption$ | async\"\n [margin]=\"true\"\n >\n </v-radio>\n <v-input\n *ngIf=\"obs.selectedInputOption === 'text'\"\n name=\"statustypeUrl\"\n [title]=\"'statustypeUrl' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.statustypeUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'statustypeUrlTooltip' | pluginTranslate: obs.pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <ng-container *ngIf=\"obs.selectedInputOption === 'selection'\">\n <v-select\n [items]=\"obs.caseDefinitionItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"caseDefinition\"\n [title]=\"'caseDefinition' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"\n obs.disabled ||\n obs.selectedInputOption === 'text' ||\n !obs.caseDefinitionItems ||\n oneSelectItem(obs.caseDefinitionItems)\n \"\n [required]=\"true\"\n [loading]=\"!obs.caseDefinitionItems\"\n [tooltip]=\"'caseDefinitionTooltip' | pluginTranslate: obs.pluginId | async\"\n (selectedChange)=\"selectCaseDefinition($event)\"\n [defaultSelectionId]=\"obs?.selectedCaseDefinitionId\"\n ></v-select>\n <v-select\n [items]=\"obs.statusTypeItems && obs.statusTypeItems[obs.selectedCaseDefinitionId]\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"statustypeUrl\"\n [title]=\"'statustypeUrlSelect' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"\n obs.disabled ||\n obs.selectedInputOption === 'text' ||\n !obs.statusTypeItems ||\n !obs.statusTypeItems[obs.selectedCaseDefinitionId]\n \"\n [defaultSelectionId]=\"obs.prefill?.statustypeUrl\"\n [required]=\"true\"\n [loading]=\"!obs.statusTypeItems\"\n [tooltip]=\"'statustypeUrlSelectTooltip' | pluginTranslate: obs.pluginId | async\"\n [clearSelectionSubject$]=\"clearStatusSelection$\"\n ></v-select>\n </ng-container>\n </ng-container>\n</v-form>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n", styles: [".loading-container{display:flex;flex-direction:row;justify-content:center;height:100%;width:100%;align-items:center}.date-time-row{display:flex;align-items:flex-start;gap:16px;margin-bottom:34px}.timepicker{margin-top:24px!important;height:48px!important}.date-time-row cds-date-picker,.date-time-row cds-timepicker{display:block}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$2.FormComponent, selector: "v-form", inputs: ["className"], outputs: ["valueChange"] }, { kind: "component", type: i2$2.InputComponent, selector: "v-input", inputs: ["name", "type", "title", "titleTranslationKey", "defaultValue", "widthPx", "fullWidth", "margin", "smallMargin", "disabled", "step", "min", "maxLength", "tooltip", "required", "hideNumberSpinBox", "smallLabel", "rows", "clear$", "carbonTheme", "placeholder", "dataTestId", "trim"], outputs: ["valueChange"] }, { kind: "component", type: i2$2.SelectComponent, selector: "v-select", inputs: ["items", "defaultSelection", "defaultSelectionId", "defaultSelectionIds", "disabled", "dropUp", "multiple", "margin", "widthInPx", "notFoundText", "clearAllText", "clearText", "name", "title", "titleTranslationKey", "clearSelectionSubject$", "tooltip", "required", "loading", "loadingText", "placeholder", "smallMargin", "carbonTheme", "appendInline", "dataTestId"], outputs: ["selectedChange"] }, { kind: "component", type: i2$2.RadioComponent, selector: "v-radio", inputs: ["name", "title", "titleTranslationKey", "defaultValue", "widthPx", "fullWidth", "margin", "smallMargin", "disabled", "tooltip", "required", "smallLabel", "rows", "clear$", "radioValues"], outputs: ["valueChange"] }, { kind: "component", type: i5.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "component", type: i5.DatePicker, selector: "cds-date-picker, ibm-date-picker", inputs: ["range", "dateFormat", "language", "label", "helperText", "rangeHelperText", "rangeLabel", "placeholder", "ariaLabel", "inputPattern", "id", "value", "theme", "disabled", "invalid", "invalidText", "warn", "warnText", "size", "rangeInvalid", "rangeInvalidText", "rangeWarn", "rangeWarnText", "skeleton", "plugins", "flatpickrOptions"], outputs: ["valueChange", "onClose"] }, { kind: "component", type: i5.TimePicker, selector: "cds-timepicker, ibm-timepicker", inputs: ["invalid", "invalidText", "label", "hideLabel", "placeholder", "pattern", "id", "disabled", "value", "maxLength", "skeleton", "theme", "size"], outputs: ["valueChange"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: PluginTranslatePipe, name: "pluginTranslate" }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
2736
2876
  }
2737
2877
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SetZaakStatusConfigurationComponent, decorators: [{
2738
2878
  type: Component,
2739
- args: [{ selector: 'valtimo-set-zaak-status-configuration', providers: [PluginTranslatePipe], template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n pluginId: pluginId$ | async,\n selectedInputOption: selectedInputOption$ | async,\n loading: loading$ | async,\n caseDefinitionItems: caseDefinitionSelectItems$ | async,\n statusTypeItems: statusTypeSelectItems$ | async,\n selectedCaseDefinitionId: selectedCaseDefinitionId$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <v-input\n name=\"statustoelichting\"\n [title]=\"'statustoelichting' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.statustoelichting\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'statustoelichtingTooltip' | pluginTranslate: obs.pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <v-radio\n name=\"inputTypeZaakStatusToggle\"\n [disabled]=\"obs.disabled\"\n [title]=\"'inputTypeZaakStatusToggle' | pluginTranslate: obs.pluginId | async\"\n [radioValues]=\"inputTypeOptions$ | async\"\n [defaultValue]=\"selectedInputOption$ | async\"\n [margin]=\"true\"\n >\n </v-radio>\n <v-input\n *ngIf=\"obs.selectedInputOption === 'text'\"\n name=\"statustypeUrl\"\n [title]=\"'statustypeUrl' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.statustypeUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'statustypeUrlTooltip' | pluginTranslate: obs.pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <ng-container *ngIf=\"obs.selectedInputOption === 'selection'\">\n <v-select\n [items]=\"obs.caseDefinitionItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"caseDefinition\"\n [title]=\"'caseDefinition' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"\n obs.disabled ||\n obs.selectedInputOption === 'text' ||\n !obs.caseDefinitionItems ||\n oneSelectItem(obs.caseDefinitionItems)\n \"\n [required]=\"true\"\n [loading]=\"!obs.caseDefinitionItems\"\n [tooltip]=\"'caseDefinitionTooltip' | pluginTranslate: obs.pluginId | async\"\n (selectedChange)=\"selectCaseDefinition($event)\"\n [defaultSelectionId]=\"obs?.selectedCaseDefinitionId\"\n ></v-select>\n <v-select\n [items]=\"obs.statusTypeItems && obs.statusTypeItems[obs.selectedCaseDefinitionId]\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"statustypeUrl\"\n [title]=\"'statustypeUrlSelect' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"\n obs.disabled ||\n obs.selectedInputOption === 'text' ||\n !obs.statusTypeItems ||\n !obs.statusTypeItems[obs.selectedCaseDefinitionId]\n \"\n [defaultSelectionId]=\"obs.prefill?.statustypeUrl\"\n [required]=\"true\"\n [loading]=\"!obs.statusTypeItems\"\n [tooltip]=\"'statustypeUrlSelectTooltip' | pluginTranslate: obs.pluginId | async\"\n [clearSelectionSubject$]=\"clearStatusSelection$\"\n ></v-select>\n </ng-container>\n </ng-container>\n</v-form>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n", styles: [".loading-container{display:flex;flex-direction:row;justify-content:center;height:100%;width:100%;align-items:center}\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"] }]
2740
- }], ctorParameters: () => [{ type: i2$2.ModalService }, { type: i2$3.DocumentService }, { type: ZakenApiService }, { type: PluginTranslatePipe }], propDecorators: { save$: [{
2879
+ args: [{ selector: 'valtimo-set-zaak-status-configuration', providers: [PluginTranslatePipe], template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n pluginId: pluginId$ | async,\n selectedInputOption: selectedInputOption$ | async,\n datumStatusGezetSelectedInputOption: datumStatusGezetSelectedInputOption$ | async,\n loading: loading$ | async,\n caseDefinitionItems: caseDefinitionSelectItems$ | async,\n statusTypeItems: statusTypeSelectItems$ | async,\n selectedCaseDefinitionId: selectedCaseDefinitionId$ | async,\n datePickerInvalid: datePickerInvalid$ | async\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <v-input\n name=\"statustoelichting\"\n [title]=\"'statustoelichting' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.statustoelichting\"\n [disabled]=\"obs.disabled\"\n [required]=\"false\"\n [tooltip]=\"'statustoelichtingTooltip' | pluginTranslate: obs.pluginId | async\"\n [fullWidth]=\"true\"\n [placeholder]=\"'statustoelichting' | pluginTranslate: obs.pluginId | async\"\n >\n </v-input>\n\n <v-radio\n name=\"inputDatumStatusGezetToggle\"\n [disabled]=\"obs.disabled\"\n [title]=\"'inputDatumStatusGezetToggle' | pluginTranslate: obs.pluginId | async\"\n [radioValues]=\"datePickerInputTypeOptions$ | async\"\n [defaultValue]=\"obs.datumStatusGezetSelectedInputOption\"\n [margin]=\"true\"\n ></v-radio>\n\n <div class=\"date-time-row\" *ngIf=\"obs.datumStatusGezetSelectedInputOption === 'selection'\">\n <cds-date-picker\n [attr.data-carbon-theme]=\"theme$ | async\"\n [label]=\"'logging.search.afterTimestamp' | translate\"\n placeholder=\"DD-MM-YYYY\"\n [dateFormat]=\"'d-m-Y'\"\n [value]=\"[selectedDate]\"\n [invalid]=\"obs.datePickerInvalid\"\n [invalidText]=\"'datumStatusGezetInvalidText' | pluginTranslate: obs.pluginId | async\"\n (valueChange)=\"onDateSelected($event)\"\n ></cds-date-picker>\n\n <cds-timepicker\n class=\"timepicker\"\n [attr.data-carbon-theme]=\"theme$ | async\"\n [value]=\"selectedTime\"\n [invalid]=\"obs.datePickerInvalid\"\n (valueChange)=\"onTimeSelected($event)\"\n ></cds-timepicker>\n </div>\n\n <v-input\n *ngIf=\"obs.datumStatusGezetSelectedInputOption === 'text'\"\n name=\"datumStatusGezet\"\n [title]=\"'datumStatusGezet' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.datumStatusGezet\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'datumStatusGezetTooltip' | pluginTranslate: obs.pluginId | async\"\n [fullWidth]=\"true\"\n ></v-input>\n\n <v-radio\n name=\"inputTypeZaakStatusToggle\"\n [disabled]=\"obs.disabled\"\n [title]=\"'inputTypeZaakStatusToggle' | pluginTranslate: obs.pluginId | async\"\n [radioValues]=\"inputTypeOptions$ | async\"\n [defaultValue]=\"selectedInputOption$ | async\"\n [margin]=\"true\"\n >\n </v-radio>\n <v-input\n *ngIf=\"obs.selectedInputOption === 'text'\"\n name=\"statustypeUrl\"\n [title]=\"'statustypeUrl' | pluginTranslate: obs.pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.statustypeUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'statustypeUrlTooltip' | pluginTranslate: obs.pluginId | async\"\n [fullWidth]=\"true\"\n >\n </v-input>\n <ng-container *ngIf=\"obs.selectedInputOption === 'selection'\">\n <v-select\n [items]=\"obs.caseDefinitionItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"caseDefinition\"\n [title]=\"'caseDefinition' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"\n obs.disabled ||\n obs.selectedInputOption === 'text' ||\n !obs.caseDefinitionItems ||\n oneSelectItem(obs.caseDefinitionItems)\n \"\n [required]=\"true\"\n [loading]=\"!obs.caseDefinitionItems\"\n [tooltip]=\"'caseDefinitionTooltip' | pluginTranslate: obs.pluginId | async\"\n (selectedChange)=\"selectCaseDefinition($event)\"\n [defaultSelectionId]=\"obs?.selectedCaseDefinitionId\"\n ></v-select>\n <v-select\n [items]=\"obs.statusTypeItems && obs.statusTypeItems[obs.selectedCaseDefinitionId]\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"statustypeUrl\"\n [title]=\"'statustypeUrlSelect' | pluginTranslate: obs.pluginId | async\"\n [disabled]=\"\n obs.disabled ||\n obs.selectedInputOption === 'text' ||\n !obs.statusTypeItems ||\n !obs.statusTypeItems[obs.selectedCaseDefinitionId]\n \"\n [defaultSelectionId]=\"obs.prefill?.statustypeUrl\"\n [required]=\"true\"\n [loading]=\"!obs.statusTypeItems\"\n [tooltip]=\"'statustypeUrlSelectTooltip' | pluginTranslate: obs.pluginId | async\"\n [clearSelectionSubject$]=\"clearStatusSelection$\"\n ></v-select>\n </ng-container>\n </ng-container>\n</v-form>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n", styles: [".loading-container{display:flex;flex-direction:row;justify-content:center;height:100%;width:100%;align-items:center}.date-time-row{display:flex;align-items:flex-start;gap:16px;margin-bottom:34px}.timepicker{margin-top:24px!important;height:48px!important}.date-time-row cds-date-picker,.date-time-row cds-timepicker{display:block}\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"] }]
2880
+ }], ctorParameters: () => [{ type: i2$2.ModalService }, { type: i2$3.DocumentService }, { type: ZakenApiService }, { type: PluginTranslatePipe }, { type: i2$2.CdsThemeService }], propDecorators: { save$: [{
2741
2881
  type: Input
2742
2882
  }], disabled$: [{
2743
2883
  type: Input
@@ -4139,6 +4279,75 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
4139
4279
  type: Output
4140
4280
  }] } });
4141
4281
 
4282
+ /*
4283
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
4284
+ *
4285
+ * Licensed under EUPL, Version 1.2 (the "License");
4286
+ * you may not use this file except in compliance with the License.
4287
+ * You may obtain a copy of the License at
4288
+ *
4289
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
4290
+ *
4291
+ * Unless required by applicable law or agreed to in writing, software
4292
+ * distributed under the License is distributed on an "AS IS" basis,
4293
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
4294
+ * See the License for the specific language governing permissions and
4295
+ * limitations under the License.
4296
+ */
4297
+ class GetZaakbesluitenConfigurationComponent {
4298
+ constructor() {
4299
+ this.valid = new EventEmitter();
4300
+ this.configuration = new EventEmitter();
4301
+ this.formValue$ = new BehaviorSubject(null);
4302
+ this.valid$ = new BehaviorSubject(false);
4303
+ }
4304
+ ngOnInit() {
4305
+ this.openSaveSubscription();
4306
+ this.valid.emit(true);
4307
+ }
4308
+ ngOnDestroy() {
4309
+ this.saveSubscription?.unsubscribe();
4310
+ }
4311
+ openSaveSubscription() {
4312
+ this.saveSubscription = this.save$?.subscribe(save => {
4313
+ combineLatest([this.formValue$, this.valid$])
4314
+ .pipe(take(1))
4315
+ .subscribe(([formValue, valid]) => {
4316
+ if (valid) {
4317
+ this.configuration.emit(formValue);
4318
+ }
4319
+ });
4320
+ });
4321
+ }
4322
+ formValueChange(formValue) {
4323
+ this.formValue$.next(formValue);
4324
+ this.handleValid(formValue);
4325
+ }
4326
+ handleValid(formValue) {
4327
+ const valid = !!formValue.resultProcessVariable;
4328
+ this.valid$.next(valid);
4329
+ this.valid.emit(valid);
4330
+ }
4331
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GetZaakbesluitenConfigurationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4332
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: GetZaakbesluitenConfigurationComponent, selector: "valtimo-get-zaakbesluiten-configuration", inputs: { save$: "save$", disabled$: "disabled$", pluginId: "pluginId", prefillConfiguration$: "prefillConfiguration$" }, 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<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=\"resultProcessVariable\"\n [title]=\"'resultProcessVariable' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.resultProcessVariable\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'resultProcessVariableTooltip' | pluginTranslate: pluginId | async\"\n ></v-input>\n</v-form>\n", dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$2.FormComponent, selector: "v-form", inputs: ["className"], outputs: ["valueChange"] }, { kind: "component", type: i2$2.InputComponent, selector: "v-input", inputs: ["name", "type", "title", "titleTranslationKey", "defaultValue", "widthPx", "fullWidth", "margin", "smallMargin", "disabled", "step", "min", "maxLength", "tooltip", "required", "hideNumberSpinBox", "smallLabel", "rows", "clear$", "carbonTheme", "placeholder", "dataTestId", "trim"], outputs: ["valueChange"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: PluginTranslatePipe, name: "pluginTranslate" }] }); }
4333
+ }
4334
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GetZaakbesluitenConfigurationComponent, decorators: [{
4335
+ type: Component,
4336
+ args: [{ selector: 'valtimo-get-zaakbesluiten-configuration', standalone: false, 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<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=\"resultProcessVariable\"\n [title]=\"'resultProcessVariable' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.resultProcessVariable\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'resultProcessVariableTooltip' | pluginTranslate: pluginId | async\"\n ></v-input>\n</v-form>\n" }]
4337
+ }], propDecorators: { save$: [{
4338
+ type: Input
4339
+ }], disabled$: [{
4340
+ type: Input
4341
+ }], pluginId: [{
4342
+ type: Input
4343
+ }], prefillConfiguration$: [{
4344
+ type: Input
4345
+ }], valid: [{
4346
+ type: Output
4347
+ }], configuration: [{
4348
+ type: Output
4349
+ }] } });
4350
+
4142
4351
  /*
4143
4352
  * Copyright 2015-2024 Ritense BV, the Netherlands.
4144
4353
  *
@@ -4172,7 +4381,8 @@ class ZakenApiPluginModule {
4172
4381
  UpdateZaakeigenschapComponent,
4173
4382
  DeleteZaakeigenschapComponent,
4174
4383
  CreateZaakObjectConfigurationComponent,
4175
- RelateerZakenComponent], imports: [CommonModule,
4384
+ RelateerZakenComponent,
4385
+ GetZaakbesluitenConfigurationComponent], imports: [CommonModule,
4176
4386
  PluginTranslatePipeModule,
4177
4387
  FormModule,
4178
4388
  InputModule,
@@ -4186,7 +4396,9 @@ class ZakenApiPluginModule {
4186
4396
  DialogModule,
4187
4397
  IconModule,
4188
4398
  TranslateModule,
4189
- DatePickerInputModule], exports: [ZakenApiConfigurationComponent,
4399
+ DatePickerInputModule,
4400
+ DatePickerModule,
4401
+ TimePickerModule], exports: [ZakenApiConfigurationComponent,
4190
4402
  LinkDocumentToZaakConfigurationComponent,
4191
4403
  LinkUploadedDocumentToZaakConfigurationComponent,
4192
4404
  SetZaakStatusConfigurationComponent,
@@ -4202,7 +4414,8 @@ class ZakenApiPluginModule {
4202
4414
  UpdateZaakeigenschapComponent,
4203
4415
  DeleteZaakeigenschapComponent,
4204
4416
  CreateZaakObjectConfigurationComponent,
4205
- RelateerZakenComponent] }); }
4417
+ RelateerZakenComponent,
4418
+ GetZaakbesluitenConfigurationComponent] }); }
4206
4419
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ZakenApiPluginModule, imports: [CommonModule,
4207
4420
  PluginTranslatePipeModule,
4208
4421
  FormModule,
@@ -4217,7 +4430,9 @@ class ZakenApiPluginModule {
4217
4430
  DialogModule,
4218
4431
  IconModule,
4219
4432
  TranslateModule,
4220
- DatePickerInputModule] }); }
4433
+ DatePickerInputModule,
4434
+ DatePickerModule,
4435
+ TimePickerModule] }); }
4221
4436
  }
4222
4437
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ZakenApiPluginModule, decorators: [{
4223
4438
  type: NgModule,
@@ -4240,6 +4455,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
4240
4455
  DeleteZaakeigenschapComponent,
4241
4456
  CreateZaakObjectConfigurationComponent,
4242
4457
  RelateerZakenComponent,
4458
+ GetZaakbesluitenConfigurationComponent,
4243
4459
  ],
4244
4460
  imports: [
4245
4461
  CommonModule,
@@ -4257,6 +4473,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
4257
4473
  IconModule,
4258
4474
  TranslateModule,
4259
4475
  DatePickerInputModule,
4476
+ DatePickerModule,
4477
+ TimePickerModule,
4260
4478
  ],
4261
4479
  exports: [
4262
4480
  ZakenApiConfigurationComponent,
@@ -4276,6 +4494,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
4276
4494
  DeleteZaakeigenschapComponent,
4277
4495
  CreateZaakObjectConfigurationComponent,
4278
4496
  RelateerZakenComponent,
4497
+ GetZaakbesluitenConfigurationComponent,
4279
4498
  ],
4280
4499
  }]
4281
4500
  }] });
@@ -4349,6 +4568,7 @@ const zakenApiPluginSpecification = {
4349
4568
  'delete-zaakeigenschap': DeleteZaakeigenschapComponent,
4350
4569
  'create-zaak-object': CreateZaakObjectConfigurationComponent,
4351
4570
  'relateer-zaken': RelateerZakenComponent,
4571
+ 'get-zaakbesluiten': GetZaakbesluitenConfigurationComponent,
4352
4572
  },
4353
4573
  pluginTranslations: {
4354
4574
  nl: {
@@ -4383,6 +4603,7 @@ const zakenApiPluginSpecification = {
4383
4603
  zaakTypeTooltip: 'In dit veld moet de verwijzing komen naar de type zaak.',
4384
4604
  zaakTypeSelectTooltip: 'In dit veld moet de verwijzing komen naar de type zaak. Als er slechts één zaaktype beschikbaar is, wordt deze standaard geselecteerd.',
4385
4605
  inputTypeZaakTypeToggle: 'Invoertype Zaaktype-URL',
4606
+ now: 'Gebruik huidige datum/tijd',
4386
4607
  text: 'Tekst',
4387
4608
  selection: 'Selectie',
4388
4609
  'create-natuurlijk-persoon-zaak-rol': 'Zaakrol aanmaken - natuurlijk persoon',
@@ -4423,6 +4644,9 @@ const zakenApiPluginSpecification = {
4423
4644
  'set-zaakstatus': 'Zaakstatus aanmaken',
4424
4645
  statustypeUrl: 'Zaakstatus type URL',
4425
4646
  statustypeUrlTooltip: 'URL-referentie naar het statustype.',
4647
+ datumStatusGezet: 'Datum status gezet.',
4648
+ datumStatusGezetTooltip: 'Datum/tijd waarde van het zaakstatus.',
4649
+ datumStatusGezetInvalidText: 'Datum en tijd mogen niet in de toekomst liggen.',
4426
4650
  statustoelichting: 'Zaakstatus toelichting',
4427
4651
  statustoelichtingTooltip: 'Een, voor de initiator van de zaak relevante, toelichting op de status van een zaak.',
4428
4652
  'create-zaakresultaat': 'Zaakresultaat aanmaken',
@@ -4438,6 +4662,7 @@ const zakenApiPluginSpecification = {
4438
4662
  resultaattypeUrlSelect: 'Zaakresultaat',
4439
4663
  resultaattypeUrlSelectTooltip: 'Selecteer het resultaattype.',
4440
4664
  inputTypeZaakStatusToggle: 'Invoertype Zaakstatus-URL',
4665
+ inputDatumStatusGezetToggle: 'Invoertype datum status gezet',
4441
4666
  inputTypeZaakResultaatToggle: 'Invoertype Zaakresultaat-URL',
4442
4667
  addZaakProperty: 'Voeg nieuwe parameter toe',
4443
4668
  plannedEndDate: 'Geplande eind datum',
@@ -4472,6 +4697,8 @@ const zakenApiPluginSpecification = {
4472
4697
  resultProcessVariable: 'Resultaat process variable',
4473
4698
  rolUuid: 'Rol UUID',
4474
4699
  rolUuidTooltip: 'De UUID van de rol',
4700
+ resultProcessVariableTooltip: 'De naam van de procesvariabele waarin het resultaat wordt opgeslagen.',
4701
+ 'get-zaakbesluiten': 'Ophalen zaakbesluiten',
4475
4702
  },
4476
4703
  en: {
4477
4704
  title: 'Zaken API',
@@ -4505,6 +4732,7 @@ const zakenApiPluginSpecification = {
4505
4732
  zaakTypeTooltip: 'In this field the reference must be made to the type of the zaak.',
4506
4733
  zaakTypeSelectTooltip: 'In this field the reference must be made to the type of the zaak. If only one zaaktype is available, it will be selected by default.',
4507
4734
  inputTypeZaakTypeToggle: 'Input type Zaaktype-URL',
4735
+ now: 'Use current date/time',
4508
4736
  text: 'Text',
4509
4737
  selection: 'Selection',
4510
4738
  'create-natuurlijk-persoon-zaak-rol': 'Create Zaakrol - natural person',
@@ -4545,6 +4773,9 @@ const zakenApiPluginSpecification = {
4545
4773
  'set-zaakstatus': 'Create zaakstatus',
4546
4774
  statustypeUrl: 'Zaakstatus type URL',
4547
4775
  statustypeUrlTooltip: 'URL reference to the status type.',
4776
+ datumStatusGezet: 'Date status set.',
4777
+ datumStatusGezetTooltip: 'Date/time value of the zaakstatus.',
4778
+ datumStatusGezetInvalidText: 'Date and time may not be in the future.',
4548
4779
  statustoelichting: 'Zaakstatus explanation',
4549
4780
  statustoelichtingTooltip: 'An explanation of the status of a zaak that is relevant to the initiator of the zaak.',
4550
4781
  'create-zaakresultaat': 'Create Zaakresultaat',
@@ -4560,6 +4791,7 @@ const zakenApiPluginSpecification = {
4560
4791
  resultaattypeUrlSelect: 'Zaakresultaat',
4561
4792
  resultaattypeUrlSelectTooltip: 'Select the resultaat type.',
4562
4793
  inputTypeZaakStatusToggle: 'Input type Zaakstatus-URL',
4794
+ inputDatumStatusGezetToggle: 'Input type datum status gezet',
4563
4795
  inputTypeZaakResultaatToggle: 'Input type Zaakresultaat-URL',
4564
4796
  addZaakProperty: 'Add new case property',
4565
4797
  plannedEndDate: 'Planned end date',
@@ -4594,6 +4826,8 @@ const zakenApiPluginSpecification = {
4594
4826
  resultProcessVariable: 'Result process variable',
4595
4827
  rolUuid: 'Rol UUID',
4596
4828
  rolUuidTooltip: 'The UUID of the rol',
4829
+ resultProcessVariableTooltip: 'The name of the process variable in which the result is stored.',
4830
+ 'get-zaakbesluiten': 'Retrieve zaakbesluiten',
4597
4831
  },
4598
4832
  de: {
4599
4833
  title: 'Zaken API',
@@ -4627,6 +4861,7 @@ const zakenApiPluginSpecification = {
4627
4861
  zaakTypeTooltip: 'In diesem Feld muss auf die zaaktype verwiesen werden.',
4628
4862
  zaakTypeSelectTooltip: 'In diesem Feld muss auf die zaaktype verwiesen werden. Wenn nur ein Zaaktyp verfügbar ist, wird dieser standardmäßig ausgewählt.',
4629
4863
  inputTypeZaakTypeToggle: 'Eingabetyp Zaaktype-URL',
4864
+ now: 'Aktuelles Datum/Uhrzeit verwenden',
4630
4865
  text: 'Text',
4631
4866
  selection: 'Auswahl',
4632
4867
  'create-natuurlijk-persoon-zaak-rol': 'Zaakrol erstellen – natürliche Person',
@@ -4667,6 +4902,9 @@ const zakenApiPluginSpecification = {
4667
4902
  'set-zaakstatus': 'Fallstatus erstellen',
4668
4903
  statustypeUrl: 'URL des Zaakstatustyps',
4669
4904
  statustypeUrlTooltip: 'URL-Referenz zum Statustyp.',
4905
+ datumStatusGezet: 'Datumsstatus festgelegt.',
4906
+ datumStatusGezetTooltip: 'Datums-/Uhrzeitwert des zaakstatus.',
4907
+ datumStatusGezetInvalidText: 'Datum und Uhrzeit dürfen nicht in der Zukunft liegen.',
4670
4908
  statustoelichting: 'Erklärung des Zaakstatus',
4671
4909
  statustoelichtingTooltip: 'Eine Erklärung des Status eines zaak, die für den Initiator des Zaak relevant ist.',
4672
4910
  'create-zaakresultaat': 'Zaakgebnis erstellen',
@@ -4682,6 +4920,7 @@ const zakenApiPluginSpecification = {
4682
4920
  resultaattypeUrlSelect: 'Zaakresultaat',
4683
4921
  resultaattypeUrlSelectTooltip: 'Wählen Sie den Resultaattype aus.',
4684
4922
  inputTypeZaakStatusToggle: 'Eingabetyp Zaakstatus-URL',
4923
+ inputDatumStatusGezetToggle: 'Eingabetyp datum status gezet',
4685
4924
  inputTypeZaakResultaatToggle: 'Eingabetyp Zaakresultaat-URL',
4686
4925
  addZaakProperty: 'Neue Case-Eigenschaft hinzufügen',
4687
4926
  plannedEndDate: 'Geplantes Enddatum',
@@ -4716,6 +4955,8 @@ const zakenApiPluginSpecification = {
4716
4955
  resultProcessVariable: 'Ergebnis process variable',
4717
4956
  rolUuid: 'Rolle UUID',
4718
4957
  rolUuidTooltip: 'Die UUID der Rolle',
4958
+ resultProcessVariableTooltip: 'Der Name der Prozessvariable, in der das Ergebnis gespeichert wird.',
4959
+ 'get-zaakbesluiten': 'Zaakbesluiten abrufen',
4719
4960
  },
4720
4961
  },
4721
4962
  };
@@ -7304,6 +7545,156 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
7304
7545
  type: Output
7305
7546
  }] } });
7306
7547
 
7548
+ /*
7549
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
7550
+ *
7551
+ * Licensed under EUPL, Version 1.2 (the "License");
7552
+ * you may not use this file except in compliance with the License.
7553
+ * You may obtain a copy of the License at
7554
+ *
7555
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
7556
+ *
7557
+ * Unless required by applicable law or agreed to in writing, software
7558
+ * distributed under the License is distributed on an "AS IS" basis,
7559
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
7560
+ * See the License for the specific language governing permissions and
7561
+ * limitations under the License.
7562
+ */
7563
+ const PatchBesluitPropertyOptions = [
7564
+ 'beslisdatum',
7565
+ 'toelichting',
7566
+ 'bestuursorgaan',
7567
+ 'ingangsdatum',
7568
+ 'vervaldatum',
7569
+ 'vervalreden',
7570
+ 'publicatiedatum',
7571
+ 'verzenddatum',
7572
+ 'uiterlijkeReactieDatum',
7573
+ ];
7574
+
7575
+ class PatchZaakBesluitConfigurationComponent {
7576
+ constructor(iconService) {
7577
+ this.iconService = iconService;
7578
+ this.valid = new EventEmitter();
7579
+ this.configuration = new EventEmitter();
7580
+ this.propertyOptions = [...PatchBesluitPropertyOptions];
7581
+ this.propertyList = [];
7582
+ this._formValue$ = new BehaviorSubject(null);
7583
+ this._properties = new Map();
7584
+ this._valid$ = new BehaviorSubject(false);
7585
+ this._prefillConfig = null;
7586
+ this.iconService.registerAll([Add16, TrashCan16]);
7587
+ }
7588
+ ngOnInit() {
7589
+ this.openSaveSubscription();
7590
+ this.prefillConfiguration$.pipe(take(1)).subscribe(prefill => {
7591
+ if (!prefill)
7592
+ return;
7593
+ this._prefillConfig = prefill;
7594
+ const prefilledProperties = this.propertyOptions.filter(property => !!this.prefillValueFor(property, prefill));
7595
+ this.propertyList = [...prefilledProperties];
7596
+ });
7597
+ }
7598
+ ngOnDestroy() {
7599
+ this._saveSubscription?.unsubscribe();
7600
+ }
7601
+ onFormValueChanged(formValue) {
7602
+ this._formValue$.next(formValue);
7603
+ this.handleValid(formValue);
7604
+ }
7605
+ onPropertyChanged(property, value) {
7606
+ this._properties.set(property, value);
7607
+ const formValue = this._formValue$.value;
7608
+ if (!formValue)
7609
+ return;
7610
+ this._properties.forEach((propValue, key) => {
7611
+ formValue[key] = propValue;
7612
+ });
7613
+ this.onFormValueChanged(formValue);
7614
+ }
7615
+ prefillValueFor(property, prefill) {
7616
+ return prefill ? (prefill[property] ?? null) : null;
7617
+ }
7618
+ translationKeyFor(property) {
7619
+ return property === 'description' ? 'omschrijving' : property;
7620
+ }
7621
+ translationKeyForPropertyList(property) {
7622
+ return this.translationKeyFor(property);
7623
+ }
7624
+ addProperty(property) {
7625
+ if (!this.propertyList.includes(property)) {
7626
+ this.propertyList = [...this.propertyList, property];
7627
+ const formValue = this._formValue$.value;
7628
+ if (formValue)
7629
+ this.handleValid(formValue);
7630
+ }
7631
+ }
7632
+ removeProperty(property) {
7633
+ if (this.propertyList.includes(property)) {
7634
+ this.propertyList = this.propertyList.filter(p => p !== property);
7635
+ this._properties.delete(property);
7636
+ const formValue = this._formValue$.value;
7637
+ if (formValue) {
7638
+ formValue[property] = undefined;
7639
+ this.handleValid(formValue);
7640
+ }
7641
+ }
7642
+ }
7643
+ hasPropertyBeenAdded(property) {
7644
+ return this.propertyList.includes(property);
7645
+ }
7646
+ handleValid(formValue) {
7647
+ const combined = {
7648
+ ...(this._prefillConfig || {}),
7649
+ ...formValue,
7650
+ };
7651
+ const besluitUrlValid = !!combined.besluitUrl;
7652
+ const dynamicValid = this.propertyList.every(p => !!combined[p]);
7653
+ const valid = besluitUrlValid && dynamicValid;
7654
+ this._valid$.next(valid);
7655
+ this.valid.emit(valid);
7656
+ }
7657
+ openSaveSubscription() {
7658
+ this._saveSubscription = this.save$?.subscribe(() => {
7659
+ combineLatest([this._formValue$, this._valid$])
7660
+ .pipe(take(1))
7661
+ .subscribe(([formValue, valid]) => {
7662
+ if (!valid || !formValue)
7663
+ return;
7664
+ const combined = {
7665
+ ...(this._prefillConfig || {}),
7666
+ ...formValue,
7667
+ };
7668
+ const payload = {
7669
+ besluitUrl: combined.besluitUrl,
7670
+ };
7671
+ this.propertyList.forEach(property => {
7672
+ payload[property] = combined[property];
7673
+ });
7674
+ this.configuration.emit(payload);
7675
+ });
7676
+ });
7677
+ }
7678
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PatchZaakBesluitConfigurationComponent, deps: [{ token: i5.IconService }], target: i0.ɵɵFactoryTarget.Component }); }
7679
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PatchZaakBesluitConfigurationComponent, selector: "valtimo-patch-zaak-besluit-configuration", inputs: { save$: "save$", disabled$: "disabled$", pluginId: "pluginId", prefillConfiguration$: "prefillConfiguration$" }, outputs: { valid: "valid", configuration: "configuration" }, ngImport: i0, template: "<ng-container\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'patchZaakBesluitInformation' | pluginTranslate: pluginId | async }}\n </v-paragraph>\n\n <v-form (valueChange)=\"onFormValueChanged($event)\">\n <v-input\n name=\"besluitUrl\"\n [title]=\"'besluitUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.besluitUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'besluitUrlTooltip' | pluginTranslate: pluginId | async\"\n [widthPx]=\"350\"\n ></v-input>\n\n <div class=\"row\">\n <div class=\"col-12\">\n <button\n cdsButton=\"primary\"\n [size]=\"'md'\"\n [cdsOverflowMenu]=\"addPropertyList\"\n [customPane]=\"true\"\n placement=\"bottom\"\n class=\"add-button\"\n >\n {{ 'addPatchBesluitProperty' | pluginTranslate: pluginId | async }}\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n </div>\n </div>\n\n @for (property of propertyList; track property) {\n <div class=\"row\">\n <div class=\"col-11\">\n <v-input\n [name]=\"property\"\n [title]=\"translationKeyFor(property) | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"prefillValueFor(property, obs.prefill)\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"translationKeyFor(property + 'Tooltip') | pluginTranslate: pluginId | async\"\n [widthPx]=\"350\"\n (valueChange)=\"onPropertyChanged(property, $event)\"\n ></v-input>\n </div>\n\n <div class=\"col-1\">\n <button class=\"btn btn-space delete-button\" (click)=\"removeProperty(property)\">\n <svg class=\"cds--btn__icon\" cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n </div>\n </div>\n }\n </v-form>\n</ng-container>\n\n<ng-template #addPropertyList>\n @for (propertyOption of propertyOptions; track propertyOption) {\n <cds-overflow-menu-option\n *ngIf=\"!hasPropertyBeenAdded(propertyOption)\"\n (click)=\"addProperty(propertyOption)\"\n >\n {{ translationKeyForPropertyList(propertyOption) | pluginTranslate: pluginId | async }}\n </cds-overflow-menu-option>\n }\n</ng-template>\n", styles: [".delete-button{height:46px;width:46px;margin-top:20px}.delete-button:hover{background-color:#e12717}.add-button{margin-block-end:var(--v-input-margin)}::ng-deep .cds--overflow-menu-options{z-index:10000!important;width:230px}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$2.FormComponent, selector: "v-form", inputs: ["className"], outputs: ["valueChange"] }, { kind: "component", type: i2$2.InputComponent, selector: "v-input", inputs: ["name", "type", "title", "titleTranslationKey", "defaultValue", "widthPx", "fullWidth", "margin", "smallMargin", "disabled", "step", "min", "maxLength", "tooltip", "required", "hideNumberSpinBox", "smallLabel", "rows", "clear$", "carbonTheme", "placeholder", "dataTestId", "trim"], outputs: ["valueChange"] }, { kind: "component", type: i2$2.ParagraphComponent, selector: "v-paragraph", inputs: ["center", "fullWidth", "margin", "italic", "loading", "dataTestId"] }, { kind: "directive", type: i5.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i5.OverflowMenuDirective, selector: "[cdsOverflowMenu], [ibmOverflowMenu]", inputs: ["ibmOverflowMenu", "cdsOverflowMenu", "flip", "offset", "wrapperClass", "customPane"], exportAs: ["overflowMenu"] }, { kind: "component", type: i5.OverflowMenuOption, selector: "cds-overflow-menu-option, ibm-overflow-menu-option", inputs: ["divider", "type", "disabled", "href", "target", "innerClass"], outputs: ["selected"] }, { kind: "directive", type: i5.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: PluginTranslatePipe, name: "pluginTranslate" }] }); }
7680
+ }
7681
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PatchZaakBesluitConfigurationComponent, decorators: [{
7682
+ type: Component,
7683
+ args: [{ standalone: false, selector: 'valtimo-patch-zaak-besluit-configuration', template: "<ng-container\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'patchZaakBesluitInformation' | pluginTranslate: pluginId | async }}\n </v-paragraph>\n\n <v-form (valueChange)=\"onFormValueChanged($event)\">\n <v-input\n name=\"besluitUrl\"\n [title]=\"'besluitUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.besluitUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'besluitUrlTooltip' | pluginTranslate: pluginId | async\"\n [widthPx]=\"350\"\n ></v-input>\n\n <div class=\"row\">\n <div class=\"col-12\">\n <button\n cdsButton=\"primary\"\n [size]=\"'md'\"\n [cdsOverflowMenu]=\"addPropertyList\"\n [customPane]=\"true\"\n placement=\"bottom\"\n class=\"add-button\"\n >\n {{ 'addPatchBesluitProperty' | pluginTranslate: pluginId | async }}\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n </div>\n </div>\n\n @for (property of propertyList; track property) {\n <div class=\"row\">\n <div class=\"col-11\">\n <v-input\n [name]=\"property\"\n [title]=\"translationKeyFor(property) | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"prefillValueFor(property, obs.prefill)\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"translationKeyFor(property + 'Tooltip') | pluginTranslate: pluginId | async\"\n [widthPx]=\"350\"\n (valueChange)=\"onPropertyChanged(property, $event)\"\n ></v-input>\n </div>\n\n <div class=\"col-1\">\n <button class=\"btn btn-space delete-button\" (click)=\"removeProperty(property)\">\n <svg class=\"cds--btn__icon\" cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n </div>\n </div>\n }\n </v-form>\n</ng-container>\n\n<ng-template #addPropertyList>\n @for (propertyOption of propertyOptions; track propertyOption) {\n <cds-overflow-menu-option\n *ngIf=\"!hasPropertyBeenAdded(propertyOption)\"\n (click)=\"addProperty(propertyOption)\"\n >\n {{ translationKeyForPropertyList(propertyOption) | pluginTranslate: pluginId | async }}\n </cds-overflow-menu-option>\n }\n</ng-template>\n", styles: [".delete-button{height:46px;width:46px;margin-top:20px}.delete-button:hover{background-color:#e12717}.add-button{margin-block-end:var(--v-input-margin)}::ng-deep .cds--overflow-menu-options{z-index:10000!important;width:230px}\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"] }]
7684
+ }], ctorParameters: () => [{ type: i5.IconService }], propDecorators: { save$: [{
7685
+ type: Input
7686
+ }], disabled$: [{
7687
+ type: Input
7688
+ }], pluginId: [{
7689
+ type: Input
7690
+ }], prefillConfiguration$: [{
7691
+ type: Input
7692
+ }], valid: [{
7693
+ type: Output
7694
+ }], configuration: [{
7695
+ type: Output
7696
+ }] } });
7697
+
7307
7698
  /*
7308
7699
  * Copyright 2015-2024 Ritense BV, the Netherlands.
7309
7700
  *
@@ -7372,6 +7763,75 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
7372
7763
  type: Output
7373
7764
  }] } });
7374
7765
 
7766
+ /*
7767
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
7768
+ *
7769
+ * Licensed under EUPL, Version 1.2 (the "License");
7770
+ * you may not use this file except in compliance with the License.
7771
+ * You may obtain a copy of the License at
7772
+ *
7773
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
7774
+ *
7775
+ * Unless required by applicable law or agreed to in writing, software
7776
+ * distributed under the License is distributed on an "AS IS" basis,
7777
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
7778
+ * See the License for the specific language governing permissions and
7779
+ * limitations under the License.
7780
+ */
7781
+ class GetBesluitConfigurationComponent {
7782
+ constructor() {
7783
+ this.valid = new EventEmitter();
7784
+ this.configuration = new EventEmitter();
7785
+ this.formValue$ = new BehaviorSubject(null);
7786
+ this.valid$ = new BehaviorSubject(false);
7787
+ }
7788
+ ngOnInit() {
7789
+ this.openSaveSubscription();
7790
+ this.valid.emit(false);
7791
+ }
7792
+ ngOnDestroy() {
7793
+ this.saveSubscription?.unsubscribe();
7794
+ }
7795
+ openSaveSubscription() {
7796
+ this.saveSubscription = this.save$?.subscribe(() => {
7797
+ combineLatest([this.formValue$, this.valid$])
7798
+ .pipe(take(1))
7799
+ .subscribe(([formValue, valid]) => {
7800
+ if (valid) {
7801
+ this.configuration.emit(formValue);
7802
+ }
7803
+ });
7804
+ });
7805
+ }
7806
+ formValueChange(formValue) {
7807
+ this.formValue$.next(formValue);
7808
+ this.handleValid(formValue);
7809
+ }
7810
+ handleValid(formValue) {
7811
+ const valid = !!formValue?.besluitUrl && !!formValue?.resultProcessVariable;
7812
+ this.valid$.next(valid);
7813
+ this.valid.emit(valid);
7814
+ }
7815
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GetBesluitConfigurationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7816
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: GetBesluitConfigurationComponent, selector: "valtimo-get-besluit-configuration", inputs: { save$: "save$", disabled$: "disabled$", pluginId: "pluginId", prefillConfiguration$: "prefillConfiguration$" }, 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<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=\"besluitUrl\"\n [title]=\"'besluitUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.besluitUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'besluitUrlTooltip' | pluginTranslate: pluginId | async\"\n ></v-input>\n <v-input\n name=\"resultProcessVariable\"\n [title]=\"'resultProcessVariable' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.resultProcessVariable\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'resultProcessVariableTooltip' | pluginTranslate: pluginId | async\"\n ></v-input>\n</v-form>\n", dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$2.FormComponent, selector: "v-form", inputs: ["className"], outputs: ["valueChange"] }, { kind: "component", type: i2$2.InputComponent, selector: "v-input", inputs: ["name", "type", "title", "titleTranslationKey", "defaultValue", "widthPx", "fullWidth", "margin", "smallMargin", "disabled", "step", "min", "maxLength", "tooltip", "required", "hideNumberSpinBox", "smallLabel", "rows", "clear$", "carbonTheme", "placeholder", "dataTestId", "trim"], outputs: ["valueChange"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: PluginTranslatePipe, name: "pluginTranslate" }] }); }
7817
+ }
7818
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GetBesluitConfigurationComponent, decorators: [{
7819
+ type: Component,
7820
+ args: [{ selector: 'valtimo-get-besluit-configuration', standalone: false, 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<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=\"besluitUrl\"\n [title]=\"'besluitUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.besluitUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'besluitUrlTooltip' | pluginTranslate: pluginId | async\"\n ></v-input>\n <v-input\n name=\"resultProcessVariable\"\n [title]=\"'resultProcessVariable' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.resultProcessVariable\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'resultProcessVariableTooltip' | pluginTranslate: pluginId | async\"\n ></v-input>\n</v-form>\n" }]
7821
+ }], propDecorators: { save$: [{
7822
+ type: Input
7823
+ }], disabled$: [{
7824
+ type: Input
7825
+ }], pluginId: [{
7826
+ type: Input
7827
+ }], prefillConfiguration$: [{
7828
+ type: Input
7829
+ }], valid: [{
7830
+ type: Output
7831
+ }], configuration: [{
7832
+ type: Output
7833
+ }] } });
7834
+
7375
7835
  /*
7376
7836
  * Copyright 2015-2024 Ritense BV, the Netherlands.
7377
7837
  *
@@ -7391,26 +7851,36 @@ class BesluitenApiPluginModule {
7391
7851
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BesluitenApiPluginModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7392
7852
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: BesluitenApiPluginModule, declarations: [BesluitenApiConfigurationComponent,
7393
7853
  CreateZaakBesluitConfigurationComponent,
7394
- LinkDocumentToBesluitConfigurationComponent], imports: [CommonModule,
7854
+ PatchZaakBesluitConfigurationComponent,
7855
+ LinkDocumentToBesluitConfigurationComponent,
7856
+ GetBesluitConfigurationComponent], imports: [CommonModule,
7395
7857
  PluginTranslatePipeModule,
7396
7858
  FormModule,
7397
7859
  InputModule,
7398
7860
  SelectModule,
7399
- DatePickerModule,
7861
+ DatePickerModule$1,
7400
7862
  ParagraphModule,
7401
7863
  RadioModule,
7402
- LoadingModule], exports: [BesluitenApiConfigurationComponent,
7864
+ LoadingModule,
7865
+ ButtonModule,
7866
+ DialogModule,
7867
+ IconModule], exports: [BesluitenApiConfigurationComponent,
7403
7868
  CreateZaakBesluitConfigurationComponent,
7404
- LinkDocumentToBesluitConfigurationComponent] }); }
7869
+ PatchZaakBesluitConfigurationComponent,
7870
+ LinkDocumentToBesluitConfigurationComponent,
7871
+ GetBesluitConfigurationComponent] }); }
7405
7872
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BesluitenApiPluginModule, imports: [CommonModule,
7406
7873
  PluginTranslatePipeModule,
7407
7874
  FormModule,
7408
7875
  InputModule,
7409
7876
  SelectModule,
7410
- DatePickerModule,
7877
+ DatePickerModule$1,
7411
7878
  ParagraphModule,
7412
7879
  RadioModule,
7413
- LoadingModule] }); }
7880
+ LoadingModule,
7881
+ ButtonModule,
7882
+ DialogModule,
7883
+ IconModule] }); }
7414
7884
  }
7415
7885
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BesluitenApiPluginModule, decorators: [{
7416
7886
  type: NgModule,
@@ -7418,7 +7888,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
7418
7888
  declarations: [
7419
7889
  BesluitenApiConfigurationComponent,
7420
7890
  CreateZaakBesluitConfigurationComponent,
7891
+ PatchZaakBesluitConfigurationComponent,
7421
7892
  LinkDocumentToBesluitConfigurationComponent,
7893
+ GetBesluitConfigurationComponent,
7422
7894
  ],
7423
7895
  imports: [
7424
7896
  CommonModule,
@@ -7426,15 +7898,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
7426
7898
  FormModule,
7427
7899
  InputModule,
7428
7900
  SelectModule,
7429
- DatePickerModule,
7901
+ DatePickerModule$1,
7430
7902
  ParagraphModule,
7431
7903
  RadioModule,
7432
7904
  LoadingModule,
7905
+ ButtonModule,
7906
+ DialogModule,
7907
+ IconModule,
7433
7908
  ],
7434
7909
  exports: [
7435
7910
  BesluitenApiConfigurationComponent,
7436
7911
  CreateZaakBesluitConfigurationComponent,
7912
+ PatchZaakBesluitConfigurationComponent,
7437
7913
  LinkDocumentToBesluitConfigurationComponent,
7914
+ GetBesluitConfigurationComponent,
7438
7915
  ],
7439
7916
  }]
7440
7917
  }] });
@@ -7493,7 +7970,9 @@ const besluitenApiPluginSpecification = {
7493
7970
  pluginLogoBase64: BESLUITEN_API_PLUGIN_LOGO_BASE64,
7494
7971
  functionConfigurationComponents: {
7495
7972
  'create-besluit': CreateZaakBesluitConfigurationComponent,
7973
+ 'patch-besluit': PatchZaakBesluitConfigurationComponent,
7496
7974
  'link-document-to-besluit': LinkDocumentToBesluitConfigurationComponent,
7975
+ 'get-besluit': GetBesluitConfigurationComponent,
7497
7976
  },
7498
7977
  pluginTranslations: {
7499
7978
  nl: {
@@ -7515,11 +7994,11 @@ const besluitenApiPluginSpecification = {
7515
7994
  bestuursorgaan: 'Bestuursorgaan',
7516
7995
  bestuursorgaanTooltip: 'Een orgaan van een rechtspersoon krachtens publiekrecht ingesteld of een persoon of college, met enig openbaar gezag bekleed onder wiens verantwoordelijkheid het besluit vastgesteld is.',
7517
7996
  ingangsdatum: 'Ingangsdatum',
7518
- ingangsdatumTooltip: 'Ingangsdatum van de werkingsperiode van het besluit. Ondersteunt de value resolver, bijv: pv:ingangsdatum of doc:/besluit/ingangsdatum. Ondersteunende datum voorbeelden: 2024-04-01, 2024-04-01T12:10:00, 2024-04-01T12:10:06.069Z. Selecteer Tekst om de document of proces variabel property te gebruiken en Selectie om een datum uit een kalender te selecteren',
7997
+ ingangsdatumTooltip: 'Ingangsdatum van de werkingsperiode van het besluit. Ondersteunt de value resolver, bijv: pv:ingangsdatum of doc:/besluit/ingangsdatum. Ondersteunende datum voorbeelden: 2024-04-01, 2024-04-01T12:10:00, 2024-04-01T12:10:06.069Z',
7519
7998
  vervaldatum: 'Vervaldatum',
7520
- vervaldatumTooltip: 'Datum waarop de werkingsperiode van het besluit eindigt. Ondersteunt de value resolver, bijv: pv:vervaldatum of doc:/besluit/vervaldatum. Ondersteunende datum voorbeelden: 2024-04-01, 2024-04-01T12:10:00, 2024-04-01T12:10:06.069Z. Selecteer Tekst om de document of proces variabel property te gebruiken en Selectie om een datum uit een kalender te selecteren',
7999
+ vervaldatumTooltip: 'Datum waarop de werkingsperiode van het besluit eindigt. Ondersteunt de value resolver, bijv: pv:vervaldatum of doc:/besluit/vervaldatum. Ondersteunende datum voorbeelden: 2024-04-01, 2024-04-01T12:10:00, 2024-04-01T12:10:06.069Z.',
7521
8000
  vervalreden: 'Vervalreden',
7522
- vervalredenTooltip: 'De omschrijving die aangeeft op grond waarvan het besluit is of komt te vervallen.',
8001
+ vervalredenTooltip: 'De omschrijving die aangeeft op grond waarvan het besluit is of komt te vervallen. Mogelijke waarden: tijdelijk, ingetrokken_overheid, ingetrokken_belanghebbende',
7523
8002
  tijdelijk: 'Tijdelijk',
7524
8003
  ingetrokken_overheid: 'Ingetrokken door overheid',
7525
8004
  ingetrokken_belanghebbende: 'Ingetrokken door belanghebbende',
@@ -7546,6 +8025,14 @@ const besluitenApiPluginSpecification = {
7546
8025
  caseDefinitionTooltip: 'Selecteer de dossierdefinitie waarvan u een Besluit-type wilt selecteren. Als er slechts één besluittype beschikbaar is, wordt deze standaard geselecteerd.',
7547
8026
  besluittypeUrlSelect: 'Besluittype',
7548
8027
  besluittypeUrlSelectTooltip: 'Selecteer het besluittype.',
8028
+ 'patch-besluit': 'Zaakbesluit bijwerken',
8029
+ patchZaakBesluitInformation: 'Deze actie wijzigt een zaakbesluit in de Besluiten API.',
8030
+ beslisdatum: 'Beslisdatum',
8031
+ beslisdatumTooltip: 'De beslisdatum (AWB) van het besluit. Ondersteunt value resolver. Ondersteunende datum voorbeelden: 2024-04-01, 2024-04-01T12:10:00, 2024-04-01T12:10:06.069Z',
8032
+ addPatchBesluitProperty: 'Voeg nieuwe parameter toe',
8033
+ 'get-besluit': 'Besluit ophalen',
8034
+ resultProcessVariable: 'Resultaat process variable',
8035
+ resultProcessVariableTooltip: 'De naam van de procesvariabele waarin het resultaat moet worden opgeslagen.',
7549
8036
  },
7550
8037
  en: {
7551
8038
  title: 'Besluiten API',
@@ -7566,11 +8053,11 @@ const besluitenApiPluginSpecification = {
7566
8053
  bestuursorgaan: 'Governing body',
7567
8054
  bestuursorgaanTooltip: 'A body of a legal person established under public law or a person or body with any public authority under whose responsibility the decision has been adopted.',
7568
8055
  ingangsdatum: 'Starting date',
7569
- ingangsdatumTooltip: 'Commencement date of the effective period of the besluit. Supports the value resolver eg: pv:ingangsdatum or doc:/besluit/ingangsdatum. Supporting date format examples: 2024-04-01, 2024-04-01T12:10:00, 2024-04-01T12:10:06.069Z. Select Text to use document or process variable property and Selection to select a date from a calendar.',
8056
+ ingangsdatumTooltip: 'Commencement date of the effective period of the besluit. Supports the value resolver eg: pv:ingangsdatum or doc:/besluit/ingangsdatum. Supporting date format examples: 2024-04-01, 2024-04-01T12:10:00, 2024-04-01T12:10:06.069Z.',
7570
8057
  vervaldatum: 'Expiration date',
7571
- vervaldatumTooltip: 'Date on which the period of operation of the besluit ends. Supports the value resolver eg: pv:vervaldatum or doc:/besluit/vervaldatum. Supporting date format examples: 2024-04-01, 2024-04-01T12:10:00, 2024-04-01T12:10:06.069Z. Select Text to use document or process variable property and Selection to select a date from a calendar.',
8058
+ vervaldatumTooltip: 'Date on which the period of operation of the besluit ends. Supports the value resolver eg: pv:vervaldatum or doc:/besluit/vervaldatum. Supporting date format examples: 2024-04-01, 2024-04-01T12:10:00, 2024-04-01T12:10:06.069Z.',
7572
8059
  vervalreden: 'Reason for expiry',
7573
- vervalredenTooltip: 'The description that indicates on the basis of which the decision has been or will be cancelled.',
8060
+ vervalredenTooltip: 'The description that indicates on the basis of which the decision has been or will be cancelled. Possible value: tijdelijk, ingetrokken_overheid, ingetrokken_belanghebbende',
7574
8061
  tijdelijk: 'Temporary',
7575
8062
  ingetrokken_overheid: 'Withdrawn by government',
7576
8063
  ingetrokken_belanghebbende: 'Withdrawn by interested party',
@@ -7597,6 +8084,14 @@ const besluitenApiPluginSpecification = {
7597
8084
  caseDefinitionTooltip: 'Select the case definition from which you want to select a Besluit type. If only one Besluit type is available, it will be selected by default.',
7598
8085
  besluittypeUrlSelect: 'Besluittype',
7599
8086
  besluittypeUrlSelectTooltip: 'Select the Besluit type.',
8087
+ 'patch-besluit': 'Patch Zaakbesluit',
8088
+ patchZaakBesluitInformation: 'This action patches a Zaakbesluit in the Besluiten API.',
8089
+ beslisdatum: 'Decision date',
8090
+ beslisdatumTooltip: 'The decision date (AWB) of the decision. Supports value resolver. Supported date examples: 2024-04-01, 2024-04-01T12:10:00, 2024-04-01T12:10:06.069Z',
8091
+ addPatchBesluitProperty: 'Add besluit property',
8092
+ 'get-besluit': 'Retrieve besluit',
8093
+ resultProcessVariable: 'Result process variable',
8094
+ resultProcessVariableTooltip: 'The name of the process variable in which the result must be stored.',
7600
8095
  },
7601
8096
  de: {
7602
8097
  title: 'Besluiten API',
@@ -7617,11 +8112,11 @@ const besluitenApiPluginSpecification = {
7617
8112
  bestuursorgaan: 'Leitungsgremium',
7618
8113
  bestuursorgaanTooltip: 'Eine Körperschaft einer juristischen Person des öffentlichen Rechts oder eine Person oder Körperschaft einer öffentlichen Behörde, unter deren Verantwortung die Entscheidung getroffen wurde.',
7619
8114
  ingangsdatum: 'Anfangsdatum',
7620
- ingangsdatumTooltip: 'Datum des Beginns der Geltungsdauer der Entscheidung. Unterstützt den Werteauflöser, z. B.: pv:ingangsdatum oder doc:/besluit/ingangdatum. Beispiele für unterstützende Datumsformate: 2024-04-01, 2024-04-01T12:10:00, 2024-04-01T12:10:06.069Z. Wählen Sie Text, um die Dokument- oder Prozessvariableneigenschaft zu verwenden, und Auswahl, um ein Datum aus einem Kalender auszuwählen',
8115
+ ingangsdatumTooltip: 'Datum des Beginns der Geltungsdauer der Entscheidung. Unterstützt den Werteauflöser, z. B.: pv:ingangsdatum oder doc:/besluit/ingangdatum. Beispiele für unterstützende Datumsformate: 2024-04-01, 2024-04-01T12:10:00, 2024-04-01T12:10:06.069Z.',
7621
8116
  vervaldatum: 'Verfallsdatum',
7622
- vervaldatumTooltip: 'Datum, an dem die Geltungsdauer der Entscheidung endet. Unterstützt den Werteauflöser, z. B.: pv:vervaldatum oder doc:/besluit/vervaldatum. Beispiele für unterstützende Datumsformate: 2024-04-01, 2024-04-01T12:10:00, 2024-04-01T12:10:06.069Z. Wählen Sie Text, um die Dokument- oder Prozessvariableneigenschaft zu verwenden, und Auswahl, um ein Datum aus einem Kalender auszuwählen',
8117
+ vervaldatumTooltip: 'Datum, an dem die Geltungsdauer der Entscheidung endet. Unterstützt den Werteauflöser, z. B.: pv:vervaldatum oder doc:/besluit/vervaldatum. Beispiele für unterstützende Datumsformate: 2024-04-01, 2024-04-01T12:10:00, 2024-04-01T12:10:06.069Z.',
7623
8118
  vervalreden: 'Ablaufgrund',
7624
- vervalredenTooltip: 'Die Beschreibung, auf deren Grundlage die Entscheidung aufgehoben wurde oder wird.',
8119
+ vervalredenTooltip: 'Die Beschreibung, auf deren Grundlage die Entscheidung aufgehoben wurde oder wird. Mögliche Werte: tijdelijk, ingetrokken_overheid, ingetrokken_belanghebbende',
7625
8120
  tijdelijk: 'Temporär',
7626
8121
  ingetrokken_overheid: 'Von der Regierung zurückgezogen',
7627
8122
  ingetrokken_belanghebbende: 'Von interessierter Partei zurückgezogen',
@@ -7648,6 +8143,11 @@ const besluitenApiPluginSpecification = {
7648
8143
  caseDefinitionTooltip: 'Wählen Sie die Falltyp aus, aus der Sie einen Besluit-typ auswählen möchten. Wenn nur ein Besluit-typ verfügbar ist, wird dieser standardmäßig ausgewählt.',
7649
8144
  besluittypeUrlSelect: 'Besluittype',
7650
8145
  besluittypeUrlSelectTooltip: 'Wählen Sie den Besluit-typ aus.',
8146
+ 'patch-besluit': 'Patch Zaakbesluit',
8147
+ patchZaakBesluitInformation: 'Diese Aktion patcht einen Fallbeschluss in der Besluiten-API.',
8148
+ beslisdatum: 'Entscheidungsdatum',
8149
+ beslisdatumTooltip: 'Das Entscheidungsdatum (AWB) des Beschlusses. Unterstützt Value Resolver. Unterstützte Datumsbeispiele: 2024-04-01, 2024-04-01T12:10:00, 2024-04-01T12:10:06.069Z',
8150
+ addPatchBesluitProperty: 'Besluit-Property hinzufügen',
7651
8151
  },
7652
8152
  },
7653
8153
  };
@@ -8245,5 +8745,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
8245
8745
  * Generated bundle index. Do not edit.
8246
8746
  */
8247
8747
 
8248
- export { BesluitenApiConfigurationComponent, BesluitenApiPluginModule, CatalogiApiConfigurationComponent, CatalogiApiPluginModule, CompletePortalTaskComponent, CreateNatuurlijkPersoonZaakRolComponent, CreateNietNatuurlijkPersoonZaakRolComponent, CreatePortalTaskComponent, CreateZaakBesluitConfigurationComponent, CreateZaakConfigurationComponent, CreateZaakObjectConfigurationComponent, CreateZaakResultaatConfigurationComponent, CreateZaakeigenschapComponent, DeleteObjectComponent, DeleteZaakRolComponent, DeleteZaakeigenschapComponent, DocumentenApiConfigurationComponent, DocumentenApiPluginModule, DownloadDocumentConfigurationComponent, EndHersteltermijnComponent, ExactPluginModule, GenerateDocumentConfigurationComponent, GetBesluittypeConfigurationComponent, GetEigenschapConfigurationComponent, GetResultaattypeConfigurationComponent, GetStatustypeConfigurationComponent, GetTemplateNamesComponent, LinkDocumentToBesluitConfigurationComponent, LinkDocumentToZaakConfigurationComponent, LinkUploadedDocumentToZaakConfigurationComponent, NotificatiesApiConfigurationComponent, NotificatiesApiPluginModule, ObjectTokenAuthencationConfigurationComponent, ObjectTokenAuthenticationPluginModule, ObjectenApiConfigurationComponent, ObjectenApiPluginModule, ObjecttypenApiConfigurationComponent, ObjecttypenApiPluginModule, OpenNotificatiesConfigurationComponent, OpenNotificatiesPluginModule, OpenZaakConfigurationComponent, OpenZaakPluginModule, PLUGINS_TOKEN, PluginConfigurationContainerComponent, PluginConfigurationContainerModule, PluginManagementService, PluginService, PluginTranslatePipe, PluginTranslatePipeModule, PluginTranslationService, PortaaltaakConfigurationComponent, PortaaltaakPluginModule, RelateerZakenComponent, SetZaakStatusConfigurationComponent, SetZaakopschortingComponent, SmartDocumentsConfigurationComponent, SmartDocumentsPluginModule, StartHersteltermijnConfigurationComponent, StoreTempDocumentConfigurationComponent, StoreUploadedDocumentConfigurationComponent, StoreUploadedDocumentInPartsConfigurationComponent, UpdateZaakeigenschapComponent, VerzoekConfigurationComponent, VerzoekPluginModule, ZakenApiConfigurationComponent, ZakenApiPluginModule, besluitenApiPluginSpecification, catalogiApiPluginSpecification, documentenApiPluginSpecification, exactPluginSpecification, notificatiesApiPluginSpecification, objectTokenAuthenticationPluginSpecification, objectenApiPluginSpecification, objecttypenApiPluginSpecification, openNotificatiesPluginSpecification, openZaakPluginSpecification, portaaltaakPluginSpecification, smartDocumentsPluginSpecification, verzoekPluginSpecification, zakenApiPluginSpecification };
8748
+ export { BesluitenApiConfigurationComponent, BesluitenApiPluginModule, CatalogiApiConfigurationComponent, CatalogiApiPluginModule, CompletePortalTaskComponent, CreateNatuurlijkPersoonZaakRolComponent, CreateNietNatuurlijkPersoonZaakRolComponent, CreatePortalTaskComponent, CreateZaakBesluitConfigurationComponent, CreateZaakConfigurationComponent, CreateZaakObjectConfigurationComponent, CreateZaakResultaatConfigurationComponent, CreateZaakeigenschapComponent, DeleteObjectComponent, DeleteZaakRolComponent, DeleteZaakeigenschapComponent, DocumentenApiConfigurationComponent, DocumentenApiPluginModule, DownloadDocumentConfigurationComponent, EndHersteltermijnComponent, ExactPluginModule, GenerateDocumentConfigurationComponent, GetBesluitConfigurationComponent, GetBesluittypeConfigurationComponent, GetEigenschapConfigurationComponent, GetResultaattypeConfigurationComponent, GetStatustypeConfigurationComponent, GetTemplateNamesComponent, GetZaakbesluitenConfigurationComponent, LinkDocumentToBesluitConfigurationComponent, LinkDocumentToZaakConfigurationComponent, LinkUploadedDocumentToZaakConfigurationComponent, NotificatiesApiConfigurationComponent, NotificatiesApiPluginModule, ObjectTokenAuthencationConfigurationComponent, ObjectTokenAuthenticationPluginModule, ObjectenApiConfigurationComponent, ObjectenApiPluginModule, ObjecttypenApiConfigurationComponent, ObjecttypenApiPluginModule, OpenNotificatiesConfigurationComponent, OpenNotificatiesPluginModule, OpenZaakConfigurationComponent, OpenZaakPluginModule, PLUGINS_TOKEN, PatchZaakBesluitConfigurationComponent, PluginConfigurationContainerComponent, PluginConfigurationContainerModule, PluginManagementService, PluginService, PluginTranslatePipe, PluginTranslatePipeModule, PluginTranslationService, PortaaltaakConfigurationComponent, PortaaltaakPluginModule, RelateerZakenComponent, SetZaakStatusConfigurationComponent, SetZaakopschortingComponent, SmartDocumentsConfigurationComponent, SmartDocumentsPluginModule, StartHersteltermijnConfigurationComponent, StoreTempDocumentConfigurationComponent, StoreUploadedDocumentConfigurationComponent, StoreUploadedDocumentInPartsConfigurationComponent, UpdateZaakeigenschapComponent, VerzoekConfigurationComponent, VerzoekPluginModule, ZakenApiConfigurationComponent, ZakenApiPluginModule, besluitenApiPluginSpecification, catalogiApiPluginSpecification, documentenApiPluginSpecification, exactPluginSpecification, notificatiesApiPluginSpecification, objectTokenAuthenticationPluginSpecification, objectenApiPluginSpecification, objecttypenApiPluginSpecification, openNotificatiesPluginSpecification, openZaakPluginSpecification, portaaltaakPluginSpecification, smartDocumentsPluginSpecification, verzoekPluginSpecification, zakenApiPluginSpecification };
8249
8749
  //# sourceMappingURL=valtimo-plugin.mjs.map