@valtimo/zgw 13.0.1 → 13.1.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.
@@ -9,7 +9,7 @@ import * as i2 from '@valtimo/shared';
9
9
  import { BaseApiService, getCaseManagementRouteParams, UploadProvider, CASE_MANAGEMENT_TAB_TOKEN, ZGW_OBJECT_TYPE_COMPONENT_TOKEN, ZGW_DOCUMENTEN_API_DOCUMENTS_COMPONENT_TOKEN, CASE_CONFIGURATION_EXTENSIONS_TOKEN } from '@valtimo/shared';
10
10
  import * as i5$1 from 'carbon-components-angular';
11
11
  import { ModalModule, InputModule, ButtonModule, DropdownModule, RadioModule, NotificationModule, LayerModule, TagModule, IconModule, DatePickerInputModule, DatePickerModule, ComboBoxModule, TooltipModule, DialogModule, ToggleModule, CheckboxModule, LoadingModule, TilesModule, SelectModule as SelectModule$1, TabsModule } from 'carbon-components-angular';
12
- import { BehaviorSubject, combineLatest, map, Subscription, switchMap, filter, tap, startWith, debounceTime, Subject, take as take$1, of, from, ReplaySubject, finalize, distinctUntilChanged } from 'rxjs';
12
+ import { BehaviorSubject, combineLatest, map, Subscription, switchMap, filter, tap, startWith, debounceTime, Subject, take as take$1, of, from, ReplaySubject, EMPTY, finalize, distinctUntilChanged } from 'rxjs';
13
13
  import * as i1$1 from '@angular/forms';
14
14
  import { Validators, ReactiveFormsModule, FormGroup, FormControl, FormsModule } from '@angular/forms';
15
15
  import * as i3 from '@valtimo/components';
@@ -18,7 +18,7 @@ import * as i1 from '@angular/common/http';
18
18
  import { HttpParams } from '@angular/common/http';
19
19
  import { take, tap as tap$1, map as map$1, filter as filter$1, switchMap as switchMap$1, catchError } from 'rxjs/operators';
20
20
  import * as i1$2 from '@angular/router';
21
- import { NavigationEnd, RouterModule } from '@angular/router';
21
+ import { RouterModule } from '@angular/router';
22
22
  import { TrashCan16, Filter16, TagGroup16, Upload16, Edit16, Save16 } from '@carbon/icons';
23
23
  import * as i5$3 from '@valtimo/resource';
24
24
  import { CAN_CREATE_RESOURCE_PERMISSION, RESOURCE_PERMISSION_RESOURCE, CAN_DELETE_RESOURCE_PERMISSION, CAN_MODIFY_RESOURCE_PERMISSION, CAN_VIEW_RESOURCE_PERMISSION, ResourceModule } from '@valtimo/resource';
@@ -1074,7 +1074,7 @@ class DocumentenApiMetadataModalComponent {
1074
1074
  get bestandsnaam() {
1075
1075
  return this.documentenApiMetadataForm.get('bestandsnaam');
1076
1076
  }
1077
- constructor(route, documentService, documentenApiTagService, fb, keycloakService, modalService, translateService, valtimoModalService, documentenApiVersionService, router) {
1077
+ constructor(route, documentService, documentenApiTagService, fb, keycloakService, modalService, translateService, valtimoModalService, documentenApiVersionService, formioStateService) {
1078
1078
  this.route = route;
1079
1079
  this.documentService = documentService;
1080
1080
  this.documentenApiTagService = documentenApiTagService;
@@ -1084,7 +1084,7 @@ class DocumentenApiMetadataModalComponent {
1084
1084
  this.translateService = translateService;
1085
1085
  this.valtimoModalService = valtimoModalService;
1086
1086
  this.documentenApiVersionService = documentenApiVersionService;
1087
- this.router = router;
1087
+ this.formioStateService = formioStateService;
1088
1088
  this.hideFields = [];
1089
1089
  this.defaultValues = {};
1090
1090
  this.supportsTrefwoorden = false;
@@ -1189,11 +1189,7 @@ class DocumentenApiMetadataModalComponent {
1189
1189
  selected: currentLanguage === language,
1190
1190
  }));
1191
1191
  }));
1192
- this.documentId$ = this.router.events.pipe(filter(event => event instanceof NavigationEnd), startWith(null), map(() => {
1193
- const segments = window.location.pathname.split('/');
1194
- const i = segments.indexOf('document');
1195
- return i !== -1 && segments.length > i + 1 ? segments[i + 1] : null;
1196
- }));
1192
+ this.documentId$ = this.formioStateService.documentId$;
1197
1193
  this.documentTypeItems$ = combineLatest([
1198
1194
  this.documentId$,
1199
1195
  this.informatieobjecttypeFormControl.valueChanges.pipe(startWith(this.informatieobjecttypeFormControl.value)),
@@ -1397,8 +1393,8 @@ class DocumentenApiMetadataModalComponent {
1397
1393
  this.hideFields.includes('status') &&
1398
1394
  this.hideFields.includes('trefwoorden'));
1399
1395
  }
1400
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DocumentenApiMetadataModalComponent, deps: [{ token: i1$2.ActivatedRoute }, { token: i4$1.DocumentService }, { token: DocumentenApiTagService }, { token: i1$1.FormBuilder }, { token: i5$2.KeycloakService }, { token: i3.ModalService }, { token: i5.TranslateService }, { token: i3.ValtimoModalService }, { token: DocumentenApiVersionService }, { token: i1$2.Router }], target: i0.ɵɵFactoryTarget.Component }); }
1401
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: DocumentenApiMetadataModalComponent, isStandalone: true, selector: "valtimo-documenten-api-metadata-modal", inputs: { disabled$: "disabled$", file$: "file$", hideFields: "hideFields", defaultValues: "defaultValues", disableAuthor: "disableAuthor", disableConfidentialityLevel: "disableConfidentialityLevel", disableDescription: "disableDescription", disableDocumentTitle: "disableDocumentTitle", disableDocumentType: "disableDocumentType", disableFilename: "disableFilename", disableLanguage: "disableLanguage", disableStatus: "disableStatus", supportsTrefwoorden: "supportsTrefwoorden", disableCreationDate: "disableCreationDate", isEditMode: "isEditMode", open: "open" }, outputs: { metadata: "metadata", modalClose: "modalClose" }, viewQueries: [{ propertyName: "metadataModal", first: true, predicate: ["metadataModal"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-modal\n #metadataModal\n *ngIf=\"{\n file: file$ | async,\n disabled: disabled$ | async,\n editDisabled: editDisabled$ | async,\n languageItems: languageItems$ | async,\n confidentialityLevelItems: confidentialityLevelItems$ | async,\n documentTypeItems: documentTypeItems$ | async,\n statusItems: statusItems$ | async,\n tagItems: tagItems$ | async,\n userEmail: userEmail$ | async,\n open: open$ | async,\n additionalDate: additionalDocumentDate$ | async,\n } as obs\"\n [maxWidthPx]=\"1280\"\n (closeEvent)=\"closeModal()\"\n [cdsLayer]=\"1\"\n>\n <div role=\"header\">\n @if (isEditMode) {\n <h3 cdsModalHeaderHeading>\n {{ 'document.editMetadata' | translate }}\n </h3>\n } @else {\n <h3 cdsModalHeaderHeading>\n {{ 'document.fillInMetadata' | translate }}\n </h3>\n }\n </div>\n\n <div role=\"content\">\n @if (obs.open) {\n <ng-container *ngTemplateOutlet=\"metadataForm; context: {obs: obs}\"></ng-container>\n }\n </div>\n\n <div role=\"footer\" class=\"metadata-modal-footer\">\n <button cdsButton=\"ghost\" (click)=\"closeModal()\" [disabled]=\"obs.disabled\">\n {{ 'document.cancel' | translate }}\n </button>\n\n <button\n cdsButton=\"primary\"\n type=\"submit\"\n [disabled]=\"obs.disabled || !documentenApiMetadataForm.valid || obs.editDisabled\"\n (click)=\"save()\"\n >\n {{ 'document.save' | translate }}\n </button>\n </div>\n</v-modal>\n\n<ng-template #metadataForm let-obs=\"obs\">\n <form [formGroup]=\"documentenApiMetadataForm\">\n <div class=\"documenten-metadata-form-columns-container\">\n <div class=\"documenten-metadata-form-column\">\n @if (!hideFields.includes('bestandsnaam')) {\n <cds-text-label class=\"documenten-metada-form-input\">\n {{ 'document.filename' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.filenameTooltip' | translate\"\n [align]=\"'bottom-left'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n <input\n [value]=\"defaultValues.bestandsnaam\"\n [placeholder]=\"'document.filenamePlaceholder' | translate\"\n cdsText\n type=\"text\"\n id=\"bestandsnaam\"\n formControlName=\"bestandsnaam\"\n />\n </cds-text-label>\n }\n @if (!hideFields.includes('auteur')) {\n <cds-text-label class=\"documenten-metada-form-input\">\n {{ 'document.author' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.authorTooltip' | translate\"\n [align]=\"'bottom-left'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n <input\n [value]=\"defaultValues.auteur\"\n [placeholder]=\"'document.authorPlaceholder' | translate\"\n [required]=\"true\"\n cdsText\n id=\"auteur\"\n formControlName=\"auteur\"\n />\n </cds-text-label>\n }\n @if (!hideFields.includes('taal')) {\n <cds-text-label>\n {{ 'document.language' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.languageTooltip' | translate\"\n [align]=\"'bottom-left'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-text-label>\n <div class=\"documenten-metada-form-input\">\n <cds-dropdown\n [disabled]=\"obs.disabled || (languageDisabled$ | async)\"\n [appendInline]=\"true\"\n [placeholder]=\"'document.languagePlaceholder' | translate\"\n id=\"language\"\n (selected)=\"languageSelected($event)\"\n >\n <cds-dropdown-list [items]=\"obs.languageItems || []\"></cds-dropdown-list>\n </cds-dropdown>\n </div>\n }\n @if (!hideFields.includes('vertrouwelijkheidaanduiding')) {\n <cds-label>\n {{ 'document.confidentialityLevel' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.confidentialityLevelTooltip' | translate\"\n [align]=\"'bottom-left'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-label>\n <div class=\"documenten-metada-form-input\">\n <cds-combo-box\n [placeholder]=\"'document.confidentialityPlaceholder' | translate\"\n id=\"vertrouwelijkheidaanduiding\"\n [appendInline]=\"true\"\n [disabled]=\"obs.disabled || (confidentialityLevelDisabled$ | async)\"\n (selected)=\"confidentialityLevelSelected($event)\"\n (clear)=\"confidentialityLevelFormControl.setValue(null)\"\n >\n <cds-dropdown-list [items]=\"obs.confidentialityLevelItems || []\"></cds-dropdown-list>\n </cds-combo-box>\n </div>\n }\n @if (!hideFields.includes('informatieobjecttype')) {\n <cds-label>\n {{ 'document.informatieobjecttype' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.informatieobjecttypeTooltip' | translate\"\n [align]=\"'bottom-left'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-label>\n <div class=\"documenten-metada-form-input\">\n <cds-dropdown\n [placeholder]=\"'document.informatieobjecttypePlaceholder' | translate\"\n [disabled]=\"obs.disabled || (informatieobjecttypeDisabled$ | async)\"\n id=\"informatieobjecttype\"\n [appendInline]=\"true\"\n (selected)=\"informatieobjecttypeSelected($event)\"\n >\n <cds-dropdown-list [items]=\"obs.documentTypeItems || []\"></cds-dropdown-list>\n </cds-dropdown>\n </div>\n }\n @if (!hideFields.includes('aanvullendeDatum')) {\n <cds-text-label name=\"'additionalDate'\">\n {{ 'document.additionalDate' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.additionalDateTooltip' | translate\"\n [align]=\"'bottom-left'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-text-label>\n <cds-radio-group [orientation]=\"'horizontal'\" class=\"documenten-metada-form-input\">\n <cds-radio\n *ngFor=\"let option of ADDITONAL_DOCUMENT_DATE_OPTIONS\"\n [value]=\"option.value\"\n [checked]=\"obs.additionalDate === option.value\"\n [required]=\"true\"\n (click)=\"setAdditionalDate(option.value)\"\n name=\"radio-inline\"\n >\n {{ option.translationKey | translate }}\n </cds-radio>\n </cds-radio-group>\n }\n @if (supportsTrefwoorden && !hideFields.includes('trefwoorden')) {\n <cds-text-label>\n {{ 'document.tags' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.tagsTooltip' | translate\"\n [align]=\"'bottom-left'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-text-label>\n <div class=\"documenten-metada-form-input\">\n <cds-combo-box\n [type]=\"'multi'\"\n [placeholder]=\"'document.tagsPlaceholder' | translate\"\n [disabled]=\"obs.disabled || obs.tagItems?.length === 0\"\n [appendInline]=\"true\"\n (selected)=\"tagsSelected($event)\"\n >\n >\n <cds-dropdown-list [items]=\"obs.tagItems || []\"></cds-dropdown-list>\n </cds-combo-box>\n </div>\n }\n </div>\n\n <div class=\"documenten-metadata-form-column\">\n @if (!hideFields.includes('titel')) {\n <cds-text-label>\n {{ 'document.inputTitle' | translate }}\n <input\n [placeholder]=\"'document.inputTitlePlaceholder' | translate\"\n [required]=\"true\"\n cdsText\n class=\"documenten-metada-form-input\"\n id=\"titel\"\n formControlName=\"titel\"\n />\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.inputTitleTooltip' | translate\"\n [align]=\"'bottom'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-text-label>\n }\n @if (!hideFields.includes('beschrijving')) {\n <cds-textarea-label>\n {{ 'document.inputDescription' | translate }}\n <textarea\n [placeholder]=\"'document.inputDescriptionPlaceholder' | translate\"\n [required]=\"false\"\n [rows]=\"5\"\n cdsTextArea\n class=\"documenten-metada-form-description-input documenten-metada-form-input\"\n id=\"beschrijving\"\n formControlName=\"beschrijving\"\n ></textarea>\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.inputDescriptionTooltip' | translate\"\n [align]=\"'bottom'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-textarea-label>\n }\n @if (!hideFields.includes('creatiedatum')) {\n <cds-label>\n {{ 'document.creationDate' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.creationDateTooltip' | translate\"\n [align]=\"'bottom'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n <div class=\"documenten-metada-form-input\">\n <cds-date-picker\n [placeholder]=\"'DD-MM-YYYY'\"\n [dateFormat]=\"'d-m-Y'\"\n id=\"creatiedatum\"\n formControlName=\"creatiedatum\"\n >\n </cds-date-picker>\n </div>\n </cds-label>\n }\n @if (!hideFields.includes('status')) {\n <cds-label>\n {{ 'document.status' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.statusTooltip' | translate\"\n [align]=\"'bottom'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-label>\n <div class=\"documenten-metada-form-input\">\n <cds-combo-box\n [placeholder]=\"'document.statusPlaceholder' | translate\"\n [disabled]=\"obs.disabled || (statusDisabled$ | async)\"\n id=\"status\"\n [appendInline]=\"true\"\n (selected)=\"statusSelected($event)\"\n (clear)=\"statusFormControl.setValue(null)\"\n >\n <cds-dropdown-list [items]=\"obs.statusItems || []\"></cds-dropdown-list>\n </cds-combo-box>\n </div>\n }\n @if (!hideFields.includes('aanvullendeDatum')) {\n <cds-date-picker\n *ngIf=\"obs.additionalDate === 'received'\"\n [label]=\"'document.additionalDate' | translate\"\n [placeholder]=\"'DD-MM-YYYY'\"\n [dateFormat]=\"'d-m-Y'\"\n id=\"ontvangstdatum\"\n formControlName=\"ontvangstdatum\"\n ></cds-date-picker>\n <cds-date-picker\n *ngIf=\"obs.additionalDate === 'sent'\"\n [label]=\"'document.additionalDate' | translate\"\n [placeholder]=\"'DD-MM-YYYY'\"\n [dateFormat]=\"'d-m-Y'\"\n id=\"verzenddatum\"\n formControlName=\"verzenddatum\"\n ></cds-date-picker>\n }\n </div>\n </div>\n </form>\n</ng-template>\n", styles: [".documenten-metadata-form-columns-container{display:flex;justify-content:space-between}.documenten-metadata-form-column{flex:1;margin-right:1rem}.documenten-metada-form-input{margin-bottom:18px!important;width:100%!important}.documenten-metada-form-description-input{width:100%}::ng-deep .cds--date-picker,::ng-deep .cds--date-picker-container,::ng-deep .cds--date-picker__input,::ng-deep .cds--date-picker-input__wrapper,::ng-deep .cds--date-picker-input__wrapper>span{width:100%}::ng-deep .cds--date-picker.cds--date-picker--single .cds--date-picker__input{inline-size:100%}.metadata-modal-footer{display:flex;justify-content:flex-end}.metadata-modal-footer button{width:100%}\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: "ngmodule", type: ButtonModule }, { kind: "directive", type: i5$1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i5$1.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "component", type: i5$1.TextareaLabelComponent, selector: "cds-textarea-label, ibm-textarea-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "textAreaTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel", "fluid"] }, { kind: "component", type: i5$1.TextInputLabelComponent, selector: "cds-text-label, ibm-text-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "textInputTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel", "fluid"] }, { kind: "directive", type: i5$1.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "directive", type: i5$1.TextArea, selector: "[cdsTextArea], [ibmTextArea]", inputs: ["theme", "invalid", "skeleton"] }, { kind: "ngmodule", type: ComboBoxModule }, { kind: "component", type: i5$1.ComboBox, selector: "cds-combo-box, ibm-combo-box", inputs: ["placeholder", "openMenuAria", "closeMenuAria", "clearSelectionsTitle", "clearSelectionsAria", "clearSelectionTitle", "clearSelectionAria", "id", "labelId", "items", "type", "size", "itemValueKey", "label", "hideLabel", "helperText", "appendInline", "invalid", "invalidText", "warn", "warnText", "maxLength", "theme", "selectionFeedback", "autocomplete", "dropUp", "disabled", "readonly", "fluid"], outputs: ["selected", "submit", "close", "search", "clear"] }, { kind: "component", type: i5$1.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "hideLabel", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "readonly", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp", "fluid"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i5$1.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: DatePickerModule }, { kind: "component", type: i5$1.DatePicker, selector: "cds-date-picker, ibm-date-picker", inputs: ["range", "dateFormat", "language", "label", "helperText", "rangeHelperText", "rangeLabel", "placeholder", "ariaLabel", "inputPattern", "id", "value", "theme", "disabled", "readonly", "invalid", "invalidText", "warn", "warnText", "size", "rangeInvalid", "rangeInvalidText", "rangeWarn", "rangeWarnText", "skeleton", "plugins", "flatpickrOptions"], outputs: ["valueChange", "onClose"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "ngmodule", type: IconModule }, { kind: "ngmodule", type: InputLabelModule }, { kind: "ngmodule", type: InputModule$1 }, { kind: "ngmodule", type: ModalModule }, { kind: "directive", type: i5$1.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "ngmodule", type: RadioModule }, { kind: "component", type: i5$1.Radio, selector: "cds-radio, ibm-radio", inputs: ["checked", "name", "disabled", "labelPlacement", "ariaLabelledby", "ariaLabel", "required", "value", "skeleton", "id"], outputs: ["change"] }, { kind: "component", type: i5$1.RadioGroup, selector: "cds-radio-group, ibm-radio-group", inputs: ["selected", "value", "name", "disabled", "skeleton", "orientation", "labelPlacement", "legend", "ariaLabel", "ariaLabelledby", "helperText", "invalid", "invalidText", "warn", "warnText"], outputs: ["change"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: SelectModule }, { kind: "ngmodule", type: TagModule }, { kind: "ngmodule", type: TooltipModule }, { kind: "component", type: i5$1.Tooltip, selector: "cds-tooltip, ibm-tooltip", inputs: ["id", "enterDelayMs", "leaveDelayMs", "disabled", "description", "templateContext"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: VModalModule }, { kind: "component", type: i3.VModalComponent, selector: "v-modal", inputs: ["appearingDelayMs", "maxWidthPx", "hideFooter", "parentId"], outputs: ["closeEvent"] }, { kind: "ngmodule", type: LayerModule }, { kind: "directive", type: i5$1.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }] }); }
1396
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DocumentenApiMetadataModalComponent, deps: [{ token: i1$2.ActivatedRoute }, { token: i4$1.DocumentService }, { token: DocumentenApiTagService }, { token: i1$1.FormBuilder }, { token: i5$2.KeycloakService }, { token: i3.ModalService }, { token: i5.TranslateService }, { token: i3.ValtimoModalService }, { token: DocumentenApiVersionService }, { token: i3.FormIoStateService }], target: i0.ɵɵFactoryTarget.Component }); }
1397
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: DocumentenApiMetadataModalComponent, isStandalone: true, selector: "valtimo-documenten-api-metadata-modal", inputs: { disabled$: "disabled$", file$: "file$", hideFields: "hideFields", defaultValues: "defaultValues", disableAuthor: "disableAuthor", disableConfidentialityLevel: "disableConfidentialityLevel", disableDescription: "disableDescription", disableDocumentTitle: "disableDocumentTitle", disableDocumentType: "disableDocumentType", disableFilename: "disableFilename", disableLanguage: "disableLanguage", disableStatus: "disableStatus", supportsTrefwoorden: "supportsTrefwoorden", disableCreationDate: "disableCreationDate", isEditMode: "isEditMode", open: "open" }, outputs: { metadata: "metadata", modalClose: "modalClose" }, viewQueries: [{ propertyName: "metadataModal", first: true, predicate: ["metadataModal"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-modal\n #metadataModal\n *ngIf=\"{\n file: file$ | async,\n disabled: disabled$ | async,\n editDisabled: editDisabled$ | async,\n languageItems: languageItems$ | async,\n confidentialityLevelItems: confidentialityLevelItems$ | async,\n documentTypeItems: documentTypeItems$ | async,\n statusItems: statusItems$ | async,\n tagItems: tagItems$ | async,\n userEmail: userEmail$ | async,\n open: open$ | async,\n additionalDate: additionalDocumentDate$ | async,\n } as obs\"\n [maxWidthPx]=\"1280\"\n (closeEvent)=\"closeModal()\"\n [cdsLayer]=\"1\"\n>\n <div role=\"header\">\n @if (isEditMode) {\n <h3 cdsModalHeaderHeading>\n {{ 'document.editMetadata' | translate }}\n </h3>\n } @else {\n <h3 cdsModalHeaderHeading>\n {{ 'document.fillInMetadata' | translate }}\n </h3>\n }\n </div>\n\n <div role=\"content\">\n @if (obs.open) {\n <ng-container *ngTemplateOutlet=\"metadataForm; context: {obs: obs}\"></ng-container>\n }\n </div>\n\n <div role=\"footer\" class=\"metadata-modal-footer\">\n <button cdsButton=\"ghost\" (click)=\"closeModal()\" [disabled]=\"obs.disabled\">\n {{ 'document.cancel' | translate }}\n </button>\n\n <button\n cdsButton=\"primary\"\n type=\"submit\"\n [disabled]=\"obs.disabled || !documentenApiMetadataForm.valid || obs.editDisabled\"\n (click)=\"save()\"\n >\n {{ 'document.save' | translate }}\n </button>\n </div>\n</v-modal>\n\n<ng-template #metadataForm let-obs=\"obs\">\n <form [formGroup]=\"documentenApiMetadataForm\">\n <div class=\"documenten-metadata-form-columns-container\">\n <div class=\"documenten-metadata-form-column\">\n @if (!hideFields.includes('bestandsnaam')) {\n <cds-text-label class=\"documenten-metada-form-input\">\n {{ 'document.filename' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.filenameTooltip' | translate\"\n [align]=\"'bottom-left'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n <input\n [value]=\"defaultValues.bestandsnaam\"\n [placeholder]=\"'document.filenamePlaceholder' | translate\"\n cdsText\n type=\"text\"\n id=\"bestandsnaam\"\n formControlName=\"bestandsnaam\"\n />\n </cds-text-label>\n }\n @if (!hideFields.includes('auteur')) {\n <cds-text-label class=\"documenten-metada-form-input\">\n {{ 'document.author' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.authorTooltip' | translate\"\n [align]=\"'bottom-left'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n <input\n [value]=\"defaultValues.auteur\"\n [placeholder]=\"'document.authorPlaceholder' | translate\"\n [required]=\"true\"\n cdsText\n id=\"auteur\"\n formControlName=\"auteur\"\n />\n </cds-text-label>\n }\n @if (!hideFields.includes('taal')) {\n <cds-text-label>\n {{ 'document.language' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.languageTooltip' | translate\"\n [align]=\"'bottom-left'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-text-label>\n <div class=\"documenten-metada-form-input\">\n <cds-dropdown\n [disabled]=\"obs.disabled || (languageDisabled$ | async)\"\n [appendInline]=\"true\"\n [placeholder]=\"'document.languagePlaceholder' | translate\"\n id=\"language\"\n (selected)=\"languageSelected($event)\"\n >\n <cds-dropdown-list [items]=\"obs.languageItems || []\"></cds-dropdown-list>\n </cds-dropdown>\n </div>\n }\n @if (!hideFields.includes('vertrouwelijkheidaanduiding')) {\n <cds-label>\n {{ 'document.confidentialityLevel' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.confidentialityLevelTooltip' | translate\"\n [align]=\"'bottom-left'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-label>\n <div class=\"documenten-metada-form-input\">\n <cds-combo-box\n [placeholder]=\"'document.confidentialityPlaceholder' | translate\"\n id=\"vertrouwelijkheidaanduiding\"\n [appendInline]=\"true\"\n [disabled]=\"obs.disabled || (confidentialityLevelDisabled$ | async)\"\n (selected)=\"confidentialityLevelSelected($event)\"\n (clear)=\"confidentialityLevelFormControl.setValue(null)\"\n >\n <cds-dropdown-list [items]=\"obs.confidentialityLevelItems || []\"></cds-dropdown-list>\n </cds-combo-box>\n </div>\n }\n @if (!hideFields.includes('informatieobjecttype')) {\n <cds-label>\n {{ 'document.informatieobjecttype' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.informatieobjecttypeTooltip' | translate\"\n [align]=\"'bottom-left'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-label>\n <div class=\"documenten-metada-form-input\">\n <cds-dropdown\n [placeholder]=\"'document.informatieobjecttypePlaceholder' | translate\"\n [disabled]=\"obs.disabled || (informatieobjecttypeDisabled$ | async)\"\n id=\"informatieobjecttype\"\n [appendInline]=\"true\"\n (selected)=\"informatieobjecttypeSelected($event)\"\n >\n <cds-dropdown-list [items]=\"obs.documentTypeItems || []\"></cds-dropdown-list>\n </cds-dropdown>\n </div>\n }\n @if (!hideFields.includes('aanvullendeDatum')) {\n <cds-text-label name=\"'additionalDate'\">\n {{ 'document.additionalDate' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.additionalDateTooltip' | translate\"\n [align]=\"'bottom-left'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-text-label>\n <cds-radio-group [orientation]=\"'horizontal'\" class=\"documenten-metada-form-input\">\n <cds-radio\n *ngFor=\"let option of ADDITONAL_DOCUMENT_DATE_OPTIONS\"\n [value]=\"option.value\"\n [checked]=\"obs.additionalDate === option.value\"\n [required]=\"true\"\n (click)=\"setAdditionalDate(option.value)\"\n name=\"radio-inline\"\n >\n {{ option.translationKey | translate }}\n </cds-radio>\n </cds-radio-group>\n }\n @if (supportsTrefwoorden && !hideFields.includes('trefwoorden')) {\n <cds-text-label>\n {{ 'document.tags' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.tagsTooltip' | translate\"\n [align]=\"'bottom-left'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-text-label>\n <div class=\"documenten-metada-form-input\">\n <cds-combo-box\n [type]=\"'multi'\"\n [placeholder]=\"'document.tagsPlaceholder' | translate\"\n [disabled]=\"obs.disabled || obs.tagItems?.length === 0\"\n [appendInline]=\"true\"\n (selected)=\"tagsSelected($event)\"\n >\n <cds-dropdown-list [items]=\"obs.tagItems || []\"></cds-dropdown-list>\n </cds-combo-box>\n </div>\n }\n </div>\n\n <div class=\"documenten-metadata-form-column\">\n @if (!hideFields.includes('titel')) {\n <cds-text-label>\n {{ 'document.inputTitle' | translate }}\n <input\n [placeholder]=\"'document.inputTitlePlaceholder' | translate\"\n [required]=\"true\"\n cdsText\n class=\"documenten-metada-form-input\"\n id=\"titel\"\n formControlName=\"titel\"\n />\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.inputTitleTooltip' | translate\"\n [align]=\"'bottom'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-text-label>\n }\n @if (!hideFields.includes('beschrijving')) {\n <cds-textarea-label>\n {{ 'document.inputDescription' | translate }}\n <textarea\n [placeholder]=\"'document.inputDescriptionPlaceholder' | translate\"\n [required]=\"false\"\n [rows]=\"5\"\n cdsTextArea\n class=\"documenten-metada-form-description-input documenten-metada-form-input\"\n id=\"beschrijving\"\n formControlName=\"beschrijving\"\n ></textarea>\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.inputDescriptionTooltip' | translate\"\n [align]=\"'bottom'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-textarea-label>\n }\n @if (!hideFields.includes('creatiedatum')) {\n <cds-label>\n {{ 'document.creationDate' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.creationDateTooltip' | translate\"\n [align]=\"'bottom'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n <div class=\"documenten-metada-form-input\">\n <cds-date-picker\n [placeholder]=\"'DD-MM-YYYY'\"\n [dateFormat]=\"'d-m-Y'\"\n id=\"creatiedatum\"\n formControlName=\"creatiedatum\"\n >\n </cds-date-picker>\n </div>\n </cds-label>\n }\n @if (!hideFields.includes('status')) {\n <cds-label>\n {{ 'document.status' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.statusTooltip' | translate\"\n [align]=\"'bottom'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-label>\n <div class=\"documenten-metada-form-input\">\n <cds-combo-box\n [placeholder]=\"'document.statusPlaceholder' | translate\"\n [disabled]=\"obs.disabled || (statusDisabled$ | async)\"\n id=\"status\"\n [appendInline]=\"true\"\n (selected)=\"statusSelected($event)\"\n (clear)=\"statusFormControl.setValue(null)\"\n >\n <cds-dropdown-list [items]=\"obs.statusItems || []\"></cds-dropdown-list>\n </cds-combo-box>\n </div>\n }\n @if (!hideFields.includes('aanvullendeDatum')) {\n <cds-date-picker\n *ngIf=\"obs.additionalDate === 'received'\"\n [label]=\"'document.additionalDate' | translate\"\n [placeholder]=\"'DD-MM-YYYY'\"\n [dateFormat]=\"'d-m-Y'\"\n id=\"ontvangstdatum\"\n formControlName=\"ontvangstdatum\"\n ></cds-date-picker>\n <cds-date-picker\n *ngIf=\"obs.additionalDate === 'sent'\"\n [label]=\"'document.additionalDate' | translate\"\n [placeholder]=\"'DD-MM-YYYY'\"\n [dateFormat]=\"'d-m-Y'\"\n id=\"verzenddatum\"\n formControlName=\"verzenddatum\"\n ></cds-date-picker>\n }\n </div>\n </div>\n </form>\n</ng-template>\n", styles: [".documenten-metadata-form-columns-container{display:flex;justify-content:space-between}.documenten-metadata-form-column{flex:1;margin-right:1rem}.documenten-metada-form-input{margin-bottom:18px!important;width:100%!important}.documenten-metada-form-description-input{width:100%}::ng-deep .cds--date-picker,::ng-deep .cds--date-picker-container,::ng-deep .cds--date-picker__input,::ng-deep .cds--date-picker-input__wrapper,::ng-deep .cds--date-picker-input__wrapper>span{width:100%}::ng-deep .cds--date-picker.cds--date-picker--single .cds--date-picker__input{inline-size:100%}.metadata-modal-footer{display:flex;justify-content:flex-end}.metadata-modal-footer button{width:100%}\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: "ngmodule", type: ButtonModule }, { kind: "directive", type: i5$1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i5$1.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "component", type: i5$1.TextareaLabelComponent, selector: "cds-textarea-label, ibm-textarea-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "textAreaTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel", "fluid"] }, { kind: "component", type: i5$1.TextInputLabelComponent, selector: "cds-text-label, ibm-text-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "textInputTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel", "fluid"] }, { kind: "directive", type: i5$1.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "directive", type: i5$1.TextArea, selector: "[cdsTextArea], [ibmTextArea]", inputs: ["theme", "invalid", "skeleton"] }, { kind: "ngmodule", type: ComboBoxModule }, { kind: "component", type: i5$1.ComboBox, selector: "cds-combo-box, ibm-combo-box", inputs: ["placeholder", "openMenuAria", "closeMenuAria", "clearSelectionsTitle", "clearSelectionsAria", "clearSelectionTitle", "clearSelectionAria", "id", "labelId", "items", "type", "size", "itemValueKey", "label", "hideLabel", "helperText", "appendInline", "invalid", "invalidText", "warn", "warnText", "maxLength", "theme", "selectionFeedback", "autocomplete", "dropUp", "disabled", "readonly", "fluid"], outputs: ["selected", "submit", "close", "search", "clear"] }, { kind: "component", type: i5$1.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "hideLabel", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "readonly", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp", "fluid"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i5$1.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: DatePickerModule }, { kind: "component", type: i5$1.DatePicker, selector: "cds-date-picker, ibm-date-picker", inputs: ["range", "dateFormat", "language", "label", "helperText", "rangeHelperText", "rangeLabel", "placeholder", "ariaLabel", "inputPattern", "id", "value", "theme", "disabled", "readonly", "invalid", "invalidText", "warn", "warnText", "size", "rangeInvalid", "rangeInvalidText", "rangeWarn", "rangeWarnText", "skeleton", "plugins", "flatpickrOptions"], outputs: ["valueChange", "onClose"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "ngmodule", type: IconModule }, { kind: "ngmodule", type: InputLabelModule }, { kind: "ngmodule", type: InputModule$1 }, { kind: "ngmodule", type: ModalModule }, { kind: "directive", type: i5$1.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "ngmodule", type: RadioModule }, { kind: "component", type: i5$1.Radio, selector: "cds-radio, ibm-radio", inputs: ["checked", "name", "disabled", "labelPlacement", "ariaLabelledby", "ariaLabel", "required", "value", "skeleton", "id"], outputs: ["change"] }, { kind: "component", type: i5$1.RadioGroup, selector: "cds-radio-group, ibm-radio-group", inputs: ["selected", "value", "name", "disabled", "skeleton", "orientation", "labelPlacement", "legend", "ariaLabel", "ariaLabelledby", "helperText", "invalid", "invalidText", "warn", "warnText"], outputs: ["change"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: SelectModule }, { kind: "ngmodule", type: TagModule }, { kind: "ngmodule", type: TooltipModule }, { kind: "component", type: i5$1.Tooltip, selector: "cds-tooltip, ibm-tooltip", inputs: ["id", "enterDelayMs", "leaveDelayMs", "disabled", "description", "templateContext"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: VModalModule }, { kind: "component", type: i3.VModalComponent, selector: "v-modal", inputs: ["appearingDelayMs", "maxWidthPx", "hideFooter", "parentId"], outputs: ["closeEvent"] }, { kind: "ngmodule", type: LayerModule }, { kind: "directive", type: i5$1.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }] }); }
1402
1398
  }
1403
1399
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DocumentenApiMetadataModalComponent, decorators: [{
1404
1400
  type: Component,
@@ -1421,8 +1417,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
1421
1417
  TranslateModule,
1422
1418
  VModalModule,
1423
1419
  LayerModule,
1424
- ], 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-modal\n #metadataModal\n *ngIf=\"{\n file: file$ | async,\n disabled: disabled$ | async,\n editDisabled: editDisabled$ | async,\n languageItems: languageItems$ | async,\n confidentialityLevelItems: confidentialityLevelItems$ | async,\n documentTypeItems: documentTypeItems$ | async,\n statusItems: statusItems$ | async,\n tagItems: tagItems$ | async,\n userEmail: userEmail$ | async,\n open: open$ | async,\n additionalDate: additionalDocumentDate$ | async,\n } as obs\"\n [maxWidthPx]=\"1280\"\n (closeEvent)=\"closeModal()\"\n [cdsLayer]=\"1\"\n>\n <div role=\"header\">\n @if (isEditMode) {\n <h3 cdsModalHeaderHeading>\n {{ 'document.editMetadata' | translate }}\n </h3>\n } @else {\n <h3 cdsModalHeaderHeading>\n {{ 'document.fillInMetadata' | translate }}\n </h3>\n }\n </div>\n\n <div role=\"content\">\n @if (obs.open) {\n <ng-container *ngTemplateOutlet=\"metadataForm; context: {obs: obs}\"></ng-container>\n }\n </div>\n\n <div role=\"footer\" class=\"metadata-modal-footer\">\n <button cdsButton=\"ghost\" (click)=\"closeModal()\" [disabled]=\"obs.disabled\">\n {{ 'document.cancel' | translate }}\n </button>\n\n <button\n cdsButton=\"primary\"\n type=\"submit\"\n [disabled]=\"obs.disabled || !documentenApiMetadataForm.valid || obs.editDisabled\"\n (click)=\"save()\"\n >\n {{ 'document.save' | translate }}\n </button>\n </div>\n</v-modal>\n\n<ng-template #metadataForm let-obs=\"obs\">\n <form [formGroup]=\"documentenApiMetadataForm\">\n <div class=\"documenten-metadata-form-columns-container\">\n <div class=\"documenten-metadata-form-column\">\n @if (!hideFields.includes('bestandsnaam')) {\n <cds-text-label class=\"documenten-metada-form-input\">\n {{ 'document.filename' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.filenameTooltip' | translate\"\n [align]=\"'bottom-left'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n <input\n [value]=\"defaultValues.bestandsnaam\"\n [placeholder]=\"'document.filenamePlaceholder' | translate\"\n cdsText\n type=\"text\"\n id=\"bestandsnaam\"\n formControlName=\"bestandsnaam\"\n />\n </cds-text-label>\n }\n @if (!hideFields.includes('auteur')) {\n <cds-text-label class=\"documenten-metada-form-input\">\n {{ 'document.author' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.authorTooltip' | translate\"\n [align]=\"'bottom-left'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n <input\n [value]=\"defaultValues.auteur\"\n [placeholder]=\"'document.authorPlaceholder' | translate\"\n [required]=\"true\"\n cdsText\n id=\"auteur\"\n formControlName=\"auteur\"\n />\n </cds-text-label>\n }\n @if (!hideFields.includes('taal')) {\n <cds-text-label>\n {{ 'document.language' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.languageTooltip' | translate\"\n [align]=\"'bottom-left'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-text-label>\n <div class=\"documenten-metada-form-input\">\n <cds-dropdown\n [disabled]=\"obs.disabled || (languageDisabled$ | async)\"\n [appendInline]=\"true\"\n [placeholder]=\"'document.languagePlaceholder' | translate\"\n id=\"language\"\n (selected)=\"languageSelected($event)\"\n >\n <cds-dropdown-list [items]=\"obs.languageItems || []\"></cds-dropdown-list>\n </cds-dropdown>\n </div>\n }\n @if (!hideFields.includes('vertrouwelijkheidaanduiding')) {\n <cds-label>\n {{ 'document.confidentialityLevel' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.confidentialityLevelTooltip' | translate\"\n [align]=\"'bottom-left'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-label>\n <div class=\"documenten-metada-form-input\">\n <cds-combo-box\n [placeholder]=\"'document.confidentialityPlaceholder' | translate\"\n id=\"vertrouwelijkheidaanduiding\"\n [appendInline]=\"true\"\n [disabled]=\"obs.disabled || (confidentialityLevelDisabled$ | async)\"\n (selected)=\"confidentialityLevelSelected($event)\"\n (clear)=\"confidentialityLevelFormControl.setValue(null)\"\n >\n <cds-dropdown-list [items]=\"obs.confidentialityLevelItems || []\"></cds-dropdown-list>\n </cds-combo-box>\n </div>\n }\n @if (!hideFields.includes('informatieobjecttype')) {\n <cds-label>\n {{ 'document.informatieobjecttype' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.informatieobjecttypeTooltip' | translate\"\n [align]=\"'bottom-left'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-label>\n <div class=\"documenten-metada-form-input\">\n <cds-dropdown\n [placeholder]=\"'document.informatieobjecttypePlaceholder' | translate\"\n [disabled]=\"obs.disabled || (informatieobjecttypeDisabled$ | async)\"\n id=\"informatieobjecttype\"\n [appendInline]=\"true\"\n (selected)=\"informatieobjecttypeSelected($event)\"\n >\n <cds-dropdown-list [items]=\"obs.documentTypeItems || []\"></cds-dropdown-list>\n </cds-dropdown>\n </div>\n }\n @if (!hideFields.includes('aanvullendeDatum')) {\n <cds-text-label name=\"'additionalDate'\">\n {{ 'document.additionalDate' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.additionalDateTooltip' | translate\"\n [align]=\"'bottom-left'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-text-label>\n <cds-radio-group [orientation]=\"'horizontal'\" class=\"documenten-metada-form-input\">\n <cds-radio\n *ngFor=\"let option of ADDITONAL_DOCUMENT_DATE_OPTIONS\"\n [value]=\"option.value\"\n [checked]=\"obs.additionalDate === option.value\"\n [required]=\"true\"\n (click)=\"setAdditionalDate(option.value)\"\n name=\"radio-inline\"\n >\n {{ option.translationKey | translate }}\n </cds-radio>\n </cds-radio-group>\n }\n @if (supportsTrefwoorden && !hideFields.includes('trefwoorden')) {\n <cds-text-label>\n {{ 'document.tags' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.tagsTooltip' | translate\"\n [align]=\"'bottom-left'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-text-label>\n <div class=\"documenten-metada-form-input\">\n <cds-combo-box\n [type]=\"'multi'\"\n [placeholder]=\"'document.tagsPlaceholder' | translate\"\n [disabled]=\"obs.disabled || obs.tagItems?.length === 0\"\n [appendInline]=\"true\"\n (selected)=\"tagsSelected($event)\"\n >\n >\n <cds-dropdown-list [items]=\"obs.tagItems || []\"></cds-dropdown-list>\n </cds-combo-box>\n </div>\n }\n </div>\n\n <div class=\"documenten-metadata-form-column\">\n @if (!hideFields.includes('titel')) {\n <cds-text-label>\n {{ 'document.inputTitle' | translate }}\n <input\n [placeholder]=\"'document.inputTitlePlaceholder' | translate\"\n [required]=\"true\"\n cdsText\n class=\"documenten-metada-form-input\"\n id=\"titel\"\n formControlName=\"titel\"\n />\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.inputTitleTooltip' | translate\"\n [align]=\"'bottom'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-text-label>\n }\n @if (!hideFields.includes('beschrijving')) {\n <cds-textarea-label>\n {{ 'document.inputDescription' | translate }}\n <textarea\n [placeholder]=\"'document.inputDescriptionPlaceholder' | translate\"\n [required]=\"false\"\n [rows]=\"5\"\n cdsTextArea\n class=\"documenten-metada-form-description-input documenten-metada-form-input\"\n id=\"beschrijving\"\n formControlName=\"beschrijving\"\n ></textarea>\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.inputDescriptionTooltip' | translate\"\n [align]=\"'bottom'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-textarea-label>\n }\n @if (!hideFields.includes('creatiedatum')) {\n <cds-label>\n {{ 'document.creationDate' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.creationDateTooltip' | translate\"\n [align]=\"'bottom'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n <div class=\"documenten-metada-form-input\">\n <cds-date-picker\n [placeholder]=\"'DD-MM-YYYY'\"\n [dateFormat]=\"'d-m-Y'\"\n id=\"creatiedatum\"\n formControlName=\"creatiedatum\"\n >\n </cds-date-picker>\n </div>\n </cds-label>\n }\n @if (!hideFields.includes('status')) {\n <cds-label>\n {{ 'document.status' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.statusTooltip' | translate\"\n [align]=\"'bottom'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-label>\n <div class=\"documenten-metada-form-input\">\n <cds-combo-box\n [placeholder]=\"'document.statusPlaceholder' | translate\"\n [disabled]=\"obs.disabled || (statusDisabled$ | async)\"\n id=\"status\"\n [appendInline]=\"true\"\n (selected)=\"statusSelected($event)\"\n (clear)=\"statusFormControl.setValue(null)\"\n >\n <cds-dropdown-list [items]=\"obs.statusItems || []\"></cds-dropdown-list>\n </cds-combo-box>\n </div>\n }\n @if (!hideFields.includes('aanvullendeDatum')) {\n <cds-date-picker\n *ngIf=\"obs.additionalDate === 'received'\"\n [label]=\"'document.additionalDate' | translate\"\n [placeholder]=\"'DD-MM-YYYY'\"\n [dateFormat]=\"'d-m-Y'\"\n id=\"ontvangstdatum\"\n formControlName=\"ontvangstdatum\"\n ></cds-date-picker>\n <cds-date-picker\n *ngIf=\"obs.additionalDate === 'sent'\"\n [label]=\"'document.additionalDate' | translate\"\n [placeholder]=\"'DD-MM-YYYY'\"\n [dateFormat]=\"'d-m-Y'\"\n id=\"verzenddatum\"\n formControlName=\"verzenddatum\"\n ></cds-date-picker>\n }\n </div>\n </div>\n </form>\n</ng-template>\n", styles: [".documenten-metadata-form-columns-container{display:flex;justify-content:space-between}.documenten-metadata-form-column{flex:1;margin-right:1rem}.documenten-metada-form-input{margin-bottom:18px!important;width:100%!important}.documenten-metada-form-description-input{width:100%}::ng-deep .cds--date-picker,::ng-deep .cds--date-picker-container,::ng-deep .cds--date-picker__input,::ng-deep .cds--date-picker-input__wrapper,::ng-deep .cds--date-picker-input__wrapper>span{width:100%}::ng-deep .cds--date-picker.cds--date-picker--single .cds--date-picker__input{inline-size:100%}.metadata-modal-footer{display:flex;justify-content:flex-end}.metadata-modal-footer button{width:100%}\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"] }]
1425
- }], ctorParameters: () => [{ type: i1$2.ActivatedRoute }, { type: i4$1.DocumentService }, { type: DocumentenApiTagService }, { type: i1$1.FormBuilder }, { type: i5$2.KeycloakService }, { type: i3.ModalService }, { type: i5.TranslateService }, { type: i3.ValtimoModalService }, { type: DocumentenApiVersionService }, { type: i1$2.Router }], propDecorators: { metadataModal: [{
1420
+ ], 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-modal\n #metadataModal\n *ngIf=\"{\n file: file$ | async,\n disabled: disabled$ | async,\n editDisabled: editDisabled$ | async,\n languageItems: languageItems$ | async,\n confidentialityLevelItems: confidentialityLevelItems$ | async,\n documentTypeItems: documentTypeItems$ | async,\n statusItems: statusItems$ | async,\n tagItems: tagItems$ | async,\n userEmail: userEmail$ | async,\n open: open$ | async,\n additionalDate: additionalDocumentDate$ | async,\n } as obs\"\n [maxWidthPx]=\"1280\"\n (closeEvent)=\"closeModal()\"\n [cdsLayer]=\"1\"\n>\n <div role=\"header\">\n @if (isEditMode) {\n <h3 cdsModalHeaderHeading>\n {{ 'document.editMetadata' | translate }}\n </h3>\n } @else {\n <h3 cdsModalHeaderHeading>\n {{ 'document.fillInMetadata' | translate }}\n </h3>\n }\n </div>\n\n <div role=\"content\">\n @if (obs.open) {\n <ng-container *ngTemplateOutlet=\"metadataForm; context: {obs: obs}\"></ng-container>\n }\n </div>\n\n <div role=\"footer\" class=\"metadata-modal-footer\">\n <button cdsButton=\"ghost\" (click)=\"closeModal()\" [disabled]=\"obs.disabled\">\n {{ 'document.cancel' | translate }}\n </button>\n\n <button\n cdsButton=\"primary\"\n type=\"submit\"\n [disabled]=\"obs.disabled || !documentenApiMetadataForm.valid || obs.editDisabled\"\n (click)=\"save()\"\n >\n {{ 'document.save' | translate }}\n </button>\n </div>\n</v-modal>\n\n<ng-template #metadataForm let-obs=\"obs\">\n <form [formGroup]=\"documentenApiMetadataForm\">\n <div class=\"documenten-metadata-form-columns-container\">\n <div class=\"documenten-metadata-form-column\">\n @if (!hideFields.includes('bestandsnaam')) {\n <cds-text-label class=\"documenten-metada-form-input\">\n {{ 'document.filename' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.filenameTooltip' | translate\"\n [align]=\"'bottom-left'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n <input\n [value]=\"defaultValues.bestandsnaam\"\n [placeholder]=\"'document.filenamePlaceholder' | translate\"\n cdsText\n type=\"text\"\n id=\"bestandsnaam\"\n formControlName=\"bestandsnaam\"\n />\n </cds-text-label>\n }\n @if (!hideFields.includes('auteur')) {\n <cds-text-label class=\"documenten-metada-form-input\">\n {{ 'document.author' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.authorTooltip' | translate\"\n [align]=\"'bottom-left'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n <input\n [value]=\"defaultValues.auteur\"\n [placeholder]=\"'document.authorPlaceholder' | translate\"\n [required]=\"true\"\n cdsText\n id=\"auteur\"\n formControlName=\"auteur\"\n />\n </cds-text-label>\n }\n @if (!hideFields.includes('taal')) {\n <cds-text-label>\n {{ 'document.language' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.languageTooltip' | translate\"\n [align]=\"'bottom-left'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-text-label>\n <div class=\"documenten-metada-form-input\">\n <cds-dropdown\n [disabled]=\"obs.disabled || (languageDisabled$ | async)\"\n [appendInline]=\"true\"\n [placeholder]=\"'document.languagePlaceholder' | translate\"\n id=\"language\"\n (selected)=\"languageSelected($event)\"\n >\n <cds-dropdown-list [items]=\"obs.languageItems || []\"></cds-dropdown-list>\n </cds-dropdown>\n </div>\n }\n @if (!hideFields.includes('vertrouwelijkheidaanduiding')) {\n <cds-label>\n {{ 'document.confidentialityLevel' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.confidentialityLevelTooltip' | translate\"\n [align]=\"'bottom-left'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-label>\n <div class=\"documenten-metada-form-input\">\n <cds-combo-box\n [placeholder]=\"'document.confidentialityPlaceholder' | translate\"\n id=\"vertrouwelijkheidaanduiding\"\n [appendInline]=\"true\"\n [disabled]=\"obs.disabled || (confidentialityLevelDisabled$ | async)\"\n (selected)=\"confidentialityLevelSelected($event)\"\n (clear)=\"confidentialityLevelFormControl.setValue(null)\"\n >\n <cds-dropdown-list [items]=\"obs.confidentialityLevelItems || []\"></cds-dropdown-list>\n </cds-combo-box>\n </div>\n }\n @if (!hideFields.includes('informatieobjecttype')) {\n <cds-label>\n {{ 'document.informatieobjecttype' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.informatieobjecttypeTooltip' | translate\"\n [align]=\"'bottom-left'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-label>\n <div class=\"documenten-metada-form-input\">\n <cds-dropdown\n [placeholder]=\"'document.informatieobjecttypePlaceholder' | translate\"\n [disabled]=\"obs.disabled || (informatieobjecttypeDisabled$ | async)\"\n id=\"informatieobjecttype\"\n [appendInline]=\"true\"\n (selected)=\"informatieobjecttypeSelected($event)\"\n >\n <cds-dropdown-list [items]=\"obs.documentTypeItems || []\"></cds-dropdown-list>\n </cds-dropdown>\n </div>\n }\n @if (!hideFields.includes('aanvullendeDatum')) {\n <cds-text-label name=\"'additionalDate'\">\n {{ 'document.additionalDate' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.additionalDateTooltip' | translate\"\n [align]=\"'bottom-left'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-text-label>\n <cds-radio-group [orientation]=\"'horizontal'\" class=\"documenten-metada-form-input\">\n <cds-radio\n *ngFor=\"let option of ADDITONAL_DOCUMENT_DATE_OPTIONS\"\n [value]=\"option.value\"\n [checked]=\"obs.additionalDate === option.value\"\n [required]=\"true\"\n (click)=\"setAdditionalDate(option.value)\"\n name=\"radio-inline\"\n >\n {{ option.translationKey | translate }}\n </cds-radio>\n </cds-radio-group>\n }\n @if (supportsTrefwoorden && !hideFields.includes('trefwoorden')) {\n <cds-text-label>\n {{ 'document.tags' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.tagsTooltip' | translate\"\n [align]=\"'bottom-left'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-text-label>\n <div class=\"documenten-metada-form-input\">\n <cds-combo-box\n [type]=\"'multi'\"\n [placeholder]=\"'document.tagsPlaceholder' | translate\"\n [disabled]=\"obs.disabled || obs.tagItems?.length === 0\"\n [appendInline]=\"true\"\n (selected)=\"tagsSelected($event)\"\n >\n <cds-dropdown-list [items]=\"obs.tagItems || []\"></cds-dropdown-list>\n </cds-combo-box>\n </div>\n }\n </div>\n\n <div class=\"documenten-metadata-form-column\">\n @if (!hideFields.includes('titel')) {\n <cds-text-label>\n {{ 'document.inputTitle' | translate }}\n <input\n [placeholder]=\"'document.inputTitlePlaceholder' | translate\"\n [required]=\"true\"\n cdsText\n class=\"documenten-metada-form-input\"\n id=\"titel\"\n formControlName=\"titel\"\n />\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.inputTitleTooltip' | translate\"\n [align]=\"'bottom'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-text-label>\n }\n @if (!hideFields.includes('beschrijving')) {\n <cds-textarea-label>\n {{ 'document.inputDescription' | translate }}\n <textarea\n [placeholder]=\"'document.inputDescriptionPlaceholder' | translate\"\n [required]=\"false\"\n [rows]=\"5\"\n cdsTextArea\n class=\"documenten-metada-form-description-input documenten-metada-form-input\"\n id=\"beschrijving\"\n formControlName=\"beschrijving\"\n ></textarea>\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.inputDescriptionTooltip' | translate\"\n [align]=\"'bottom'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-textarea-label>\n }\n @if (!hideFields.includes('creatiedatum')) {\n <cds-label>\n {{ 'document.creationDate' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.creationDateTooltip' | translate\"\n [align]=\"'bottom'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n <div class=\"documenten-metada-form-input\">\n <cds-date-picker\n [placeholder]=\"'DD-MM-YYYY'\"\n [dateFormat]=\"'d-m-Y'\"\n id=\"creatiedatum\"\n formControlName=\"creatiedatum\"\n >\n </cds-date-picker>\n </div>\n </cds-label>\n }\n @if (!hideFields.includes('status')) {\n <cds-label>\n {{ 'document.status' | translate }}\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"'document.statusTooltip' | translate\"\n [align]=\"'bottom'\"\n >\n <i class=\"mdi mdi-help-circle-outline\"></i>\n </cds-tooltip>\n </cds-label>\n <div class=\"documenten-metada-form-input\">\n <cds-combo-box\n [placeholder]=\"'document.statusPlaceholder' | translate\"\n [disabled]=\"obs.disabled || (statusDisabled$ | async)\"\n id=\"status\"\n [appendInline]=\"true\"\n (selected)=\"statusSelected($event)\"\n (clear)=\"statusFormControl.setValue(null)\"\n >\n <cds-dropdown-list [items]=\"obs.statusItems || []\"></cds-dropdown-list>\n </cds-combo-box>\n </div>\n }\n @if (!hideFields.includes('aanvullendeDatum')) {\n <cds-date-picker\n *ngIf=\"obs.additionalDate === 'received'\"\n [label]=\"'document.additionalDate' | translate\"\n [placeholder]=\"'DD-MM-YYYY'\"\n [dateFormat]=\"'d-m-Y'\"\n id=\"ontvangstdatum\"\n formControlName=\"ontvangstdatum\"\n ></cds-date-picker>\n <cds-date-picker\n *ngIf=\"obs.additionalDate === 'sent'\"\n [label]=\"'document.additionalDate' | translate\"\n [placeholder]=\"'DD-MM-YYYY'\"\n [dateFormat]=\"'d-m-Y'\"\n id=\"verzenddatum\"\n formControlName=\"verzenddatum\"\n ></cds-date-picker>\n }\n </div>\n </div>\n </form>\n</ng-template>\n", styles: [".documenten-metadata-form-columns-container{display:flex;justify-content:space-between}.documenten-metadata-form-column{flex:1;margin-right:1rem}.documenten-metada-form-input{margin-bottom:18px!important;width:100%!important}.documenten-metada-form-description-input{width:100%}::ng-deep .cds--date-picker,::ng-deep .cds--date-picker-container,::ng-deep .cds--date-picker__input,::ng-deep .cds--date-picker-input__wrapper,::ng-deep .cds--date-picker-input__wrapper>span{width:100%}::ng-deep .cds--date-picker.cds--date-picker--single .cds--date-picker__input{inline-size:100%}.metadata-modal-footer{display:flex;justify-content:flex-end}.metadata-modal-footer button{width:100%}\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"] }]
1421
+ }], ctorParameters: () => [{ type: i1$2.ActivatedRoute }, { type: i4$1.DocumentService }, { type: DocumentenApiTagService }, { type: i1$1.FormBuilder }, { type: i5$2.KeycloakService }, { type: i3.ModalService }, { type: i5.TranslateService }, { type: i3.ValtimoModalService }, { type: DocumentenApiVersionService }, { type: i3.FormIoStateService }], propDecorators: { metadataModal: [{
1426
1422
  type: ViewChild,
1427
1423
  args: ['metadataModal']
1428
1424
  }], disabled$: [{
@@ -2677,6 +2673,25 @@ const documentenApiUploaderEditForm = () => ({
2677
2673
  required: false,
2678
2674
  },
2679
2675
  },
2676
+ {
2677
+ label: 'HTML',
2678
+ tag: 'div',
2679
+ content: '<h3>Process variables</h3>',
2680
+ refreshOnChange: false,
2681
+ type: 'htmlelement',
2682
+ input: false,
2683
+ tableView: false,
2684
+ },
2685
+ {
2686
+ type: 'textfield',
2687
+ input: true,
2688
+ key: 'customOptions.documentUrlProcessVariable',
2689
+ label: 'Document URL',
2690
+ tooltip: "Specify the process variable name where the Documenten API document URL will be stored. Defaults to 'documentUrl' if left empty.",
2691
+ validate: {
2692
+ required: false,
2693
+ },
2694
+ },
2680
2695
  {
2681
2696
  label: 'HTML',
2682
2697
  tag: 'div',
@@ -3156,6 +3171,17 @@ class DocumentenApiUploaderComponent {
3156
3171
  }
3157
3172
  set documentType(defaultValue) {
3158
3173
  this.defaultValues['informatieobjecttype'] = defaultValue;
3174
+ this.stateService.documentDefinitionName$
3175
+ .pipe(filter$1(documentDefinitionName => !!documentDefinitionName), switchMap(documentDefinitionName => this.documentService.getCaseSettings(documentDefinitionName)), switchMap(caseDefinition => this.documentService.getDocumentTypesForCase(String(caseDefinition.caseDefinitionKey), String(caseDefinition.caseDefinitionVersionTag))), catchError(() => {
3176
+ this.defaultValues['informatieobjecttype'] = defaultValue;
3177
+ return EMPTY;
3178
+ }))
3179
+ .subscribe(documentTypes => {
3180
+ const foundDocumentType = documentTypes.find(documentType => documentType.name === defaultValue);
3181
+ foundDocumentType
3182
+ ? (this.defaultValues['informatieobjecttype'] = foundDocumentType.url)
3183
+ : (this.defaultValues['informatieobjecttype'] = defaultValue);
3184
+ });
3159
3185
  }
3160
3186
  set hideDocumentType(hide) {
3161
3187
  this.hideField(hide, 'informatieobjecttype');
@@ -3191,13 +3217,15 @@ class DocumentenApiUploaderComponent {
3191
3217
  set hideTags(hide) {
3192
3218
  this.hideField(hide, 'trefwoorden');
3193
3219
  }
3194
- constructor(uploadProviderService, domService, modalService, userProviderService, route, documentenApiVersionService) {
3220
+ constructor(uploadProviderService, domService, modalService, userProviderService, route, documentenApiVersionService, stateService, documentService) {
3195
3221
  this.uploadProviderService = uploadProviderService;
3196
3222
  this.domService = domService;
3197
3223
  this.modalService = modalService;
3198
3224
  this.userProviderService = userProviderService;
3199
3225
  this.route = route;
3200
3226
  this.documentenApiVersionService = documentenApiVersionService;
3227
+ this.stateService = stateService;
3228
+ this.documentService = documentService;
3201
3229
  this.valueChange = new EventEmitter();
3202
3230
  this.uploading$ = new BehaviorSubject(false);
3203
3231
  this.fileToBeUploaded$ = new BehaviorSubject(null);
@@ -3244,10 +3272,14 @@ class DocumentenApiUploaderComponent {
3244
3272
  this.showModal.set(false);
3245
3273
  this.domService.toggleSubmitButton(true);
3246
3274
  this.fileToBeUploaded$
3247
- .pipe(take(1), switchMap(file => this.uploadProviderService.uploadTempFileWithMetadata(file, metadata)), tap$1(result => {
3275
+ .pipe(take(1), switchMap(file => this.uploadProviderService.uploadTempFileWithMetadata(file, {
3276
+ ...metadata,
3277
+ processInstanceId: this.stateService.processInstanceId,
3278
+ documentUrlProcessVariable: this.documentUrlProcessVariable || null,
3279
+ })), tap$1(result => {
3248
3280
  this.domService.toggleSubmitButton(false);
3249
3281
  this.uploading$.next(false);
3250
- this._value.push(result);
3282
+ this._value = [...this._value, result];
3251
3283
  this.valueChange.emit(this._value);
3252
3284
  }))
3253
3285
  .subscribe();
@@ -3266,13 +3298,13 @@ class DocumentenApiUploaderComponent {
3266
3298
  delete this.hideFields[field];
3267
3299
  }
3268
3300
  }
3269
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DocumentenApiUploaderComponent, deps: [{ token: i5$3.UploadProviderService }, { token: i3.FormIoDomService }, { token: i3.ValtimoModalService }, { token: i10.UserProviderService }, { token: i1$2.ActivatedRoute }, { token: DocumentenApiVersionService }], target: i0.ɵɵFactoryTarget.Component }); }
3270
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: DocumentenApiUploaderComponent, isStandalone: false, selector: "valtimo-documenten-api-formio-uploader", inputs: { disabled: "disabled", title: "title", hideTitle: "hideTitle", subtitle: "subtitle", maxFileSize: "maxFileSize", hideMaxFileSize: "hideMaxFileSize", camera: "camera", documentTitle: "documentTitle", hideDocumentTitle: "hideDocumentTitle", disableDocumentTitle: "disableDocumentTitle", filename: "filename", hideFilename: "hideFilename", disableFilename: "disableFilename", author: "author", hideAuthor: "hideAuthor", disableAuthor: "disableAuthor", status: "status", hideStatus: "hideStatus", disableStatus: "disableStatus", language: "language", hideLanguage: "hideLanguage", disableLanguage: "disableLanguage", documentType: "documentType", hideDocumentType: "hideDocumentType", disableDocumentType: "disableDocumentType", description: "description", hideDescription: "hideDescription", disableDescription: "disableDescription", confidentialityLevel: "confidentialityLevel", hideConfidentialityLevel: "hideConfidentialityLevel", disableConfidentialityLevel: "disableConfidentialityLevel", hideCreationDate: "hideCreationDate", disableCreationDate: "disableCreationDate", hideAdditionalDate: "hideAdditionalDate", tags: "tags", hideTags: "hideTags", value: "value" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container *ngIf=\"{linked: uploadProcessLinked$ | async, isAdmin: isAdmin$ | async} as obs\">\n <div *ngIf=\"obs.linked === false\">\n <div\n *ngIf=\"obs.isAdmin\"\n [translate]=\"'case.documenten.noProcessLinked.adminRole'\"\n class=\"bg-warning text-black mb-2 p-3 text-center\"\n ></div>\n <div\n *ngIf=\"!obs.isAdmin\"\n [translate]=\"'case.documenten.noProcessLinked.regularUser'\"\n class=\"bg-warning text-black mb-2 p-3 text-center\"\n ></div>\n </div>\n <valtimo-dropzone\n (fileSelected)=\"fileSelected($event)\"\n [acceptedFiles]=\"null\"\n [camera]=\"camera\"\n [disabled]=\"disabled || obs.linked === false || obs.linked === 'loading'\"\n [hideFilePreview]=\"true\"\n [hideTitle]=\"hideTitle\"\n [maxFileSize]=\"maxFileSize\"\n [maxFiles]=\"1\"\n [showMaxFileSize]=\"!hideMaxFileSize\"\n [subtitle]=\"subtitle\"\n [title]=\"title\"\n [uploading]=\"uploading$ | async\"\n ></valtimo-dropzone>\n</ng-container>\n\n<div *ngFor=\"let resource of _value\" class=\"file-preview\">\n <div class=\"file-preview-name\">\n <span>\n {{ resource.filename }}\n </span>\n </div>\n <div class=\"file-preview-size\">\n <span>\n {{ resource.sizeInBytes | filesize }}\n </span>\n </div>\n <div *ngIf=\"!disabled\" class=\"file-preview-delete\">\n <a (click)=\"deleteFile(resource.id)\">\n <i class=\"icon mdi mdi-delete\"></i>\n </a>\n </div>\n</div>\n\n<valtimo-documenten-api-metadata-modal\n class=\"documenten-api-uploader-metadata-modal\"\n (metadata)=\"metadataSet($event)\"\n (modalClose)=\"closeMetadataModal()\"\n [defaultValues]=\"defaultValues\"\n [disableAuthor]=\"disableAuthor\"\n [disableConfidentialityLevel]=\"disableConfidentialityLevel\"\n [disableCreationDate]=\"disableCreationDate\"\n [disableDescription]=\"disableDescription\"\n [disableDocumentTitle]=\"disableDocumentTitle\"\n [disableDocumentType]=\"disableDocumentType\"\n [disableFilename]=\"disableFilename\"\n [disableLanguage]=\"disableLanguage\"\n [disableStatus]=\"disableStatus\"\n [disabled$]=\"modalDisabled$\"\n [file$]=\"fileToBeUploaded$\"\n [hideFields]=\"hideFields\"\n [supportsTrefwoorden]=\"(supportedDocumentenApiFeatures$ | async)?.supportsTrefwoorden\"\n [open]=\"showModal()\"\n></valtimo-documenten-api-metadata-modal>\n", styles: [".progress-bar-container{padding:15px 20px}::ng-deep .formio-component-valtimo-file .formio-button-add-another,::ng-deep .formio-component-valtimo-file .btn-secondary{display:none}::ng-deep .formio-component-valtimo-file td{padding:0!important;border:none}::ng-deep .formio-component-valtimo-file .table{border-collapse:collapse;border:none;margin:10px 0}.dropzone-container{margin-bottom:12px}.file-preview{margin-top:-1px;display:flex;border:1px solid #dee2e6}.file-preview div{padding:12px 10px}.file-preview .file-preview-name{width:65%}.file-preview .file-preview-size{width:35%}.file-preview .icon{color:#a1a1a1;font-size:1.3846rem;line-height:18px;cursor:pointer}.file-preview .icon:hover{color:gray}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.DropzoneComponent, selector: "valtimo-dropzone", inputs: ["title", "hideTitle", "subtitle", "externalError$", "maxFileSize", "showMaxFileSize", "acceptedFiles", "clear$", "disabled", "hideFilePreview", "uploading", "camera", "maxFiles"], outputs: ["fileSelected"] }, { kind: "directive", type: i5.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: DocumentenApiMetadataModalComponent, selector: "valtimo-documenten-api-metadata-modal", inputs: ["disabled$", "file$", "hideFields", "defaultValues", "disableAuthor", "disableConfidentialityLevel", "disableDescription", "disableDocumentTitle", "disableDocumentType", "disableFilename", "disableLanguage", "disableStatus", "supportsTrefwoorden", "disableCreationDate", "isEditMode", "open"], outputs: ["metadata", "modalClose"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.FileSizePipe, name: "filesize" }] }); }
3301
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DocumentenApiUploaderComponent, deps: [{ token: i5$3.UploadProviderService }, { token: i3.FormIoDomService }, { token: i3.ValtimoModalService }, { token: i10.UserProviderService }, { token: i1$2.ActivatedRoute }, { token: DocumentenApiVersionService }, { token: i3.FormIoStateService }, { token: i4$1.DocumentService }], target: i0.ɵɵFactoryTarget.Component }); }
3302
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: DocumentenApiUploaderComponent, isStandalone: false, selector: "valtimo-documenten-api-formio-uploader", inputs: { disabled: "disabled", title: "title", hideTitle: "hideTitle", subtitle: "subtitle", maxFileSize: "maxFileSize", hideMaxFileSize: "hideMaxFileSize", camera: "camera", documentTitle: "documentTitle", hideDocumentTitle: "hideDocumentTitle", disableDocumentTitle: "disableDocumentTitle", filename: "filename", hideFilename: "hideFilename", disableFilename: "disableFilename", author: "author", hideAuthor: "hideAuthor", disableAuthor: "disableAuthor", status: "status", hideStatus: "hideStatus", disableStatus: "disableStatus", language: "language", hideLanguage: "hideLanguage", disableLanguage: "disableLanguage", documentType: "documentType", hideDocumentType: "hideDocumentType", disableDocumentType: "disableDocumentType", description: "description", hideDescription: "hideDescription", disableDescription: "disableDescription", confidentialityLevel: "confidentialityLevel", hideConfidentialityLevel: "hideConfidentialityLevel", disableConfidentialityLevel: "disableConfidentialityLevel", hideCreationDate: "hideCreationDate", disableCreationDate: "disableCreationDate", hideAdditionalDate: "hideAdditionalDate", tags: "tags", hideTags: "hideTags", documentUrlProcessVariable: "documentUrlProcessVariable", value: "value" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container *ngIf=\"{linked: uploadProcessLinked$ | async, isAdmin: isAdmin$ | async} as obs\">\n <div *ngIf=\"obs.linked === false\">\n <div\n *ngIf=\"obs.isAdmin\"\n [translate]=\"'case.documenten.noProcessLinked.adminRole'\"\n class=\"bg-warning text-black mb-2 p-3 text-center\"\n ></div>\n <div\n *ngIf=\"!obs.isAdmin\"\n [translate]=\"'case.documenten.noProcessLinked.regularUser'\"\n class=\"bg-warning text-black mb-2 p-3 text-center\"\n ></div>\n </div>\n <valtimo-dropzone\n (fileSelected)=\"fileSelected($event)\"\n [acceptedFiles]=\"null\"\n [camera]=\"camera\"\n [disabled]=\"disabled || obs.linked === false || obs.linked === 'loading'\"\n [hideFilePreview]=\"true\"\n [hideTitle]=\"hideTitle\"\n [maxFileSize]=\"maxFileSize\"\n [maxFiles]=\"1\"\n [showMaxFileSize]=\"!hideMaxFileSize\"\n [subtitle]=\"subtitle\"\n [title]=\"title\"\n [uploading]=\"uploading$ | async\"\n ></valtimo-dropzone>\n</ng-container>\n\n<div *ngFor=\"let resource of _value\" class=\"file-preview\">\n <div class=\"file-preview-name\">\n <span>\n {{ resource.filename }}\n </span>\n </div>\n <div class=\"file-preview-size\">\n <span>\n {{ resource.sizeInBytes | filesize }}\n </span>\n </div>\n <div *ngIf=\"!disabled\" class=\"file-preview-delete\">\n <a (click)=\"deleteFile(resource.id)\">\n <i class=\"icon mdi mdi-delete\"></i>\n </a>\n </div>\n</div>\n\n<valtimo-documenten-api-metadata-modal\n class=\"documenten-api-uploader-metadata-modal\"\n (metadata)=\"metadataSet($event)\"\n (modalClose)=\"closeMetadataModal()\"\n [defaultValues]=\"defaultValues\"\n [disableAuthor]=\"disableAuthor\"\n [disableConfidentialityLevel]=\"disableConfidentialityLevel\"\n [disableCreationDate]=\"disableCreationDate\"\n [disableDescription]=\"disableDescription\"\n [disableDocumentTitle]=\"disableDocumentTitle\"\n [disableDocumentType]=\"disableDocumentType\"\n [disableFilename]=\"disableFilename\"\n [disableLanguage]=\"disableLanguage\"\n [disableStatus]=\"disableStatus\"\n [disabled$]=\"modalDisabled$\"\n [file$]=\"fileToBeUploaded$\"\n [hideFields]=\"hideFields\"\n [supportsTrefwoorden]=\"(supportedDocumentenApiFeatures$ | async)?.supportsTrefwoorden\"\n [open]=\"showModal()\"\n></valtimo-documenten-api-metadata-modal>\n", styles: [".progress-bar-container{padding:15px 20px}::ng-deep .formio-component-valtimo-file .formio-button-add-another,::ng-deep .formio-component-valtimo-file .btn-secondary{display:none}::ng-deep .formio-component-valtimo-file td{padding:0!important;border:none}::ng-deep .formio-component-valtimo-file .table{border-collapse:collapse;border:none;margin:10px 0}.dropzone-container{margin-bottom:12px}.file-preview{margin-top:-1px;display:flex;border:1px solid #dee2e6}.file-preview div{padding:12px 10px}.file-preview .file-preview-name{width:65%}.file-preview .file-preview-size{width:35%}.file-preview .icon{color:#a1a1a1;font-size:1.3846rem;line-height:18px;cursor:pointer}.file-preview .icon:hover{color:gray}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.DropzoneComponent, selector: "valtimo-dropzone", inputs: ["title", "hideTitle", "subtitle", "externalError$", "maxFileSize", "showMaxFileSize", "acceptedFiles", "clear$", "disabled", "hideFilePreview", "uploading", "camera", "maxFiles"], outputs: ["fileSelected"] }, { kind: "directive", type: i5.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: DocumentenApiMetadataModalComponent, selector: "valtimo-documenten-api-metadata-modal", inputs: ["disabled$", "file$", "hideFields", "defaultValues", "disableAuthor", "disableConfidentialityLevel", "disableDescription", "disableDocumentTitle", "disableDocumentType", "disableFilename", "disableLanguage", "disableStatus", "supportsTrefwoorden", "disableCreationDate", "isEditMode", "open"], outputs: ["metadata", "modalClose"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.FileSizePipe, name: "filesize" }] }); }
3271
3303
  }
3272
3304
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DocumentenApiUploaderComponent, decorators: [{
3273
3305
  type: Component,
3274
3306
  args: [{ standalone: false, selector: 'valtimo-documenten-api-formio-uploader', template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container *ngIf=\"{linked: uploadProcessLinked$ | async, isAdmin: isAdmin$ | async} as obs\">\n <div *ngIf=\"obs.linked === false\">\n <div\n *ngIf=\"obs.isAdmin\"\n [translate]=\"'case.documenten.noProcessLinked.adminRole'\"\n class=\"bg-warning text-black mb-2 p-3 text-center\"\n ></div>\n <div\n *ngIf=\"!obs.isAdmin\"\n [translate]=\"'case.documenten.noProcessLinked.regularUser'\"\n class=\"bg-warning text-black mb-2 p-3 text-center\"\n ></div>\n </div>\n <valtimo-dropzone\n (fileSelected)=\"fileSelected($event)\"\n [acceptedFiles]=\"null\"\n [camera]=\"camera\"\n [disabled]=\"disabled || obs.linked === false || obs.linked === 'loading'\"\n [hideFilePreview]=\"true\"\n [hideTitle]=\"hideTitle\"\n [maxFileSize]=\"maxFileSize\"\n [maxFiles]=\"1\"\n [showMaxFileSize]=\"!hideMaxFileSize\"\n [subtitle]=\"subtitle\"\n [title]=\"title\"\n [uploading]=\"uploading$ | async\"\n ></valtimo-dropzone>\n</ng-container>\n\n<div *ngFor=\"let resource of _value\" class=\"file-preview\">\n <div class=\"file-preview-name\">\n <span>\n {{ resource.filename }}\n </span>\n </div>\n <div class=\"file-preview-size\">\n <span>\n {{ resource.sizeInBytes | filesize }}\n </span>\n </div>\n <div *ngIf=\"!disabled\" class=\"file-preview-delete\">\n <a (click)=\"deleteFile(resource.id)\">\n <i class=\"icon mdi mdi-delete\"></i>\n </a>\n </div>\n</div>\n\n<valtimo-documenten-api-metadata-modal\n class=\"documenten-api-uploader-metadata-modal\"\n (metadata)=\"metadataSet($event)\"\n (modalClose)=\"closeMetadataModal()\"\n [defaultValues]=\"defaultValues\"\n [disableAuthor]=\"disableAuthor\"\n [disableConfidentialityLevel]=\"disableConfidentialityLevel\"\n [disableCreationDate]=\"disableCreationDate\"\n [disableDescription]=\"disableDescription\"\n [disableDocumentTitle]=\"disableDocumentTitle\"\n [disableDocumentType]=\"disableDocumentType\"\n [disableFilename]=\"disableFilename\"\n [disableLanguage]=\"disableLanguage\"\n [disableStatus]=\"disableStatus\"\n [disabled$]=\"modalDisabled$\"\n [file$]=\"fileToBeUploaded$\"\n [hideFields]=\"hideFields\"\n [supportsTrefwoorden]=\"(supportedDocumentenApiFeatures$ | async)?.supportsTrefwoorden\"\n [open]=\"showModal()\"\n></valtimo-documenten-api-metadata-modal>\n", styles: [".progress-bar-container{padding:15px 20px}::ng-deep .formio-component-valtimo-file .formio-button-add-another,::ng-deep .formio-component-valtimo-file .btn-secondary{display:none}::ng-deep .formio-component-valtimo-file td{padding:0!important;border:none}::ng-deep .formio-component-valtimo-file .table{border-collapse:collapse;border:none;margin:10px 0}.dropzone-container{margin-bottom:12px}.file-preview{margin-top:-1px;display:flex;border:1px solid #dee2e6}.file-preview div{padding:12px 10px}.file-preview .file-preview-name{width:65%}.file-preview .file-preview-size{width:35%}.file-preview .icon{color:#a1a1a1;font-size:1.3846rem;line-height:18px;cursor:pointer}.file-preview .icon:hover{color:gray}\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"] }]
3275
- }], ctorParameters: () => [{ type: i5$3.UploadProviderService }, { type: i3.FormIoDomService }, { type: i3.ValtimoModalService }, { type: i10.UserProviderService }, { type: i1$2.ActivatedRoute }, { type: DocumentenApiVersionService }], propDecorators: { disabled: [{
3307
+ }], ctorParameters: () => [{ type: i5$3.UploadProviderService }, { type: i3.FormIoDomService }, { type: i3.ValtimoModalService }, { type: i10.UserProviderService }, { type: i1$2.ActivatedRoute }, { type: DocumentenApiVersionService }, { type: i3.FormIoStateService }, { type: i4$1.DocumentService }], propDecorators: { disabled: [{
3276
3308
  type: Input
3277
3309
  }], title: [{
3278
3310
  type: Input
@@ -3344,6 +3376,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
3344
3376
  type: Input
3345
3377
  }], hideTags: [{
3346
3378
  type: Input
3379
+ }], documentUrlProcessVariable: [{
3380
+ type: Input
3347
3381
  }], valueChange: [{
3348
3382
  type: Output
3349
3383
  }], value: [{
@@ -3611,7 +3645,7 @@ class CaseDetailTabZaakobjectenComponent {
3611
3645
  this.show();
3612
3646
  }
3613
3647
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: CaseDetailTabZaakobjectenComponent, deps: [{ token: i1$2.ActivatedRoute }, { token: ZaakobjectenService }, { token: i3.ModalService }], target: i0.ɵɵFactoryTarget.Component }); }
3614
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: CaseDetailTabZaakobjectenComponent, isStandalone: true, selector: "valtimo-case-detail-tab-zaakobjecten", viewQueries: [{ propertyName: "viewZaakobjectModal", first: true, predicate: ["viewZaakobjectModal"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n objecttypeSelectItems: objecttypeSelectItems$ | async,\n objects: objects$ | async,\n columns: columns$ | async,\n selectedObjectTypeUrl: selectedObjecttypeUrl$ | async,\n } as obs\"\n>\n <v-select\n [items]=\"obs.objecttypeSelectItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"objecttypes\"\n [title]=\"'case.zaakobjecten.objecttype' | translate\"\n [placeholder]=\"'case.zaakobjecten.objecttypePlaceholder' | translate\"\n [loading]=\"!obs.objecttypeSelectItems\"\n (selectedChange)=\"selectObjectType($event)\"\n ></v-select>\n <v-input-label\n titleTranslationKey=\"case.zaakobjecten.objecten\"\n [largeMargin]=\"!!obs.selectedObjectTypeUrl\"\n ></v-input-label>\n <v-paragraph *ngIf=\"!obs.selectedObjectTypeUrl\">{{\n 'case.zaakobjecten.objectenPlaceholder' | translate\n }}</v-paragraph>\n <v-table\n *ngIf=\"obs.selectedObjectTypeUrl\"\n [loading]=\"!obs.objects\"\n [items]=\"obs.objects\"\n [columns]=\"obs.columns\"\n [showEditButtons]=\"true\"\n [amountOfLoadingRows]=\"2\"\n [itemsTranslationKey]=\"'pluginManagement.tableItemsText'\"\n [showPagination]=\"false\"\n editButtonTranslationKey=\"case.zaakobjecten.objectType.viewObject\"\n (editButtonClicked)=\"rowClicked($event, obs.objecttypeSelectItems)\"\n ></v-table>\n</ng-container>\n\n<v-modal #viewZaakobjectModal (closeEvent)=\"hide()\" [hideFooter]=\"true\" [maxWidthPx]=\"750\">\n <div role=\"header\">\n <h4>{{ objectName$ | async }}</h4>\n </div>\n\n <div role=\"content\">\n <valtimo-form-io\n *ngIf=\"(noFormDefinitionComponent$ | async) === false\"\n [form]=\"objectForm$ | async\"\n ></valtimo-form-io>\n <v-paragraph *ngIf=\"noFormDefinitionComponent$ | async\" [center]=\"true\">{{\n 'case.zaakobjecten.noFormDefinitionComponent' | translate\n }}</v-paragraph>\n </div>\n</v-modal>\n", styles: ["/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: SelectModule }, { kind: "component", type: i3.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: "ngmodule", type: InputLabelModule }, { kind: "component", type: i3.InputLabelComponent, selector: "v-input-label", inputs: ["name", "tooltip", "largeMargin", "small", "noMargin", "title", "titleTranslationKey", "required", "disabled", "carbonTheme"] }, { kind: "ngmodule", type: ParagraphModule }, { kind: "component", type: i3.ParagraphComponent, selector: "v-paragraph", inputs: ["center", "fullWidth", "margin", "italic", "loading", "dataTestId"] }, { kind: "ngmodule", type: TableModule }, { kind: "component", type: i3.TableComponent, selector: "v-table", inputs: ["items", "columns", "loading", "showEditButtons", "showPagination", "editButtonTranslationKey", "itemsTranslationKey", "noResultsTranslationKey", "mobileBreakpointPx", "amountOfLoadingRows", "collectionSize", "page", "size"], outputs: ["editButtonClicked", "paginationSizeSet", "paginationPageSet"] }, { kind: "ngmodule", type: VModalModule }, { kind: "component", type: i3.VModalComponent, selector: "v-modal", inputs: ["appearingDelayMs", "maxWidthPx", "hideFooter", "parentId"], outputs: ["closeEvent"] }, { kind: "ngmodule", type: FormIoModule }, { kind: "component", type: i3.FormioComponent, selector: "valtimo-form-io", inputs: ["options", "submission", "form", "readOnly", "formRefresh$"], outputs: ["submit", "change", "event"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] }); }
3648
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: CaseDetailTabZaakobjectenComponent, isStandalone: true, selector: "valtimo-case-detail-tab-zaakobjecten", viewQueries: [{ propertyName: "viewZaakobjectModal", first: true, predicate: ["viewZaakobjectModal"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n objecttypeSelectItems: objecttypeSelectItems$ | async,\n objects: objects$ | async,\n columns: columns$ | async,\n selectedObjectTypeUrl: selectedObjecttypeUrl$ | async,\n } as obs\"\n>\n <v-select\n [items]=\"obs.objecttypeSelectItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"objecttypes\"\n [title]=\"'case.zaakobjecten.objecttype' | translate\"\n [placeholder]=\"'case.zaakobjecten.objecttypePlaceholder' | translate\"\n [loading]=\"!obs.objecttypeSelectItems\"\n (selectedChange)=\"selectObjectType($event)\"\n ></v-select>\n <v-input-label\n titleTranslationKey=\"case.zaakobjecten.objecten\"\n [largeMargin]=\"!!obs.selectedObjectTypeUrl\"\n ></v-input-label>\n <v-paragraph *ngIf=\"!obs.selectedObjectTypeUrl\">{{\n 'case.zaakobjecten.objectenPlaceholder' | translate\n }}</v-paragraph>\n <v-table\n *ngIf=\"obs.selectedObjectTypeUrl\"\n [loading]=\"!obs.objects\"\n [items]=\"obs.objects\"\n [columns]=\"obs.columns\"\n [showEditButtons]=\"true\"\n [amountOfLoadingRows]=\"2\"\n [itemsTranslationKey]=\"'pluginManagement.tableItemsText'\"\n [showPagination]=\"false\"\n editButtonTranslationKey=\"case.zaakobjecten.objectType.viewObject\"\n (editButtonClicked)=\"rowClicked($event, obs.objecttypeSelectItems)\"\n ></v-table>\n</ng-container>\n\n<v-modal #viewZaakobjectModal (closeEvent)=\"hide()\" [hideFooter]=\"true\" [maxWidthPx]=\"750\">\n <div role=\"header\">\n <h4>{{ objectName$ | async }}</h4>\n </div>\n\n <div role=\"content\">\n <valtimo-form-io\n *ngIf=\"(noFormDefinitionComponent$ | async) === false\"\n [form]=\"objectForm$ | async\"\n ></valtimo-form-io>\n <v-paragraph *ngIf=\"noFormDefinitionComponent$ | async\" [center]=\"true\">{{\n 'case.zaakobjecten.noFormDefinitionComponent' | translate\n }}</v-paragraph>\n </div>\n</v-modal>\n", styles: ["/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: SelectModule }, { kind: "component", type: i3.SelectComponent, selector: "v-select", inputs: ["items", "defaultSelection", "defaultSelectionId", "defaultSelectionIds", "disabled", "dropUp", "multiple", "margin", "widthInPx", "notFoundText", "clearAllText", "clearText", "clearable", "name", "title", "titleTranslationKey", "clearSelectionSubject$", "tooltip", "required", "loading", "loadingText", "placeholder", "smallMargin", "carbonTheme", "appendInline", "dataTestId"], outputs: ["selectedChange"] }, { kind: "ngmodule", type: InputLabelModule }, { kind: "component", type: i3.InputLabelComponent, selector: "v-input-label", inputs: ["name", "tooltip", "largeMargin", "small", "noMargin", "title", "titleTranslationKey", "required", "disabled", "carbonTheme"] }, { kind: "ngmodule", type: ParagraphModule }, { kind: "component", type: i3.ParagraphComponent, selector: "v-paragraph", inputs: ["center", "fullWidth", "margin", "italic", "loading", "dataTestId"] }, { kind: "ngmodule", type: TableModule }, { kind: "component", type: i3.TableComponent, selector: "v-table", inputs: ["items", "columns", "loading", "showEditButtons", "showPagination", "editButtonTranslationKey", "itemsTranslationKey", "noResultsTranslationKey", "mobileBreakpointPx", "amountOfLoadingRows", "collectionSize", "page", "size"], outputs: ["editButtonClicked", "paginationSizeSet", "paginationPageSet"] }, { kind: "ngmodule", type: VModalModule }, { kind: "component", type: i3.VModalComponent, selector: "v-modal", inputs: ["appearingDelayMs", "maxWidthPx", "hideFooter", "parentId"], outputs: ["closeEvent"] }, { kind: "ngmodule", type: FormIoModule }, { kind: "component", type: i3.FormioComponent, selector: "valtimo-form-io", inputs: ["options", "submission", "form", "readOnly", "formRefresh$"], outputs: ["submit", "change", "event"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] }); }
3615
3649
  }
3616
3650
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: CaseDetailTabZaakobjectenComponent, decorators: [{
3617
3651
  type: Component,
@@ -3934,7 +3968,7 @@ class DocumentObjectenApiSyncComponent {
3934
3968
  this.modalShowing$.next(false);
3935
3969
  }
3936
3970
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DocumentObjectenApiSyncComponent, deps: [{ token: i1$2.ActivatedRoute }, { token: DocumentObjectenApiSyncService }, { token: i4$1.DocumentService }, { token: i3.CdsThemeService }, { token: i5$1.IconService }, { token: i2.DraftVersionService }], target: i0.ɵɵFactoryTarget.Component }); }
3937
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: DocumentObjectenApiSyncComponent, isStandalone: true, selector: "valtimo-document-objecten-api-sync", ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<cds-tile>\n <valtimo-case-management-draft-warning\n *ngIf=\"isDraftVersion$ | async\"\n [name]=\"'zaakdetails.title' | translate | lowercase\"\n ></valtimo-case-management-draft-warning>\n\n <h2 class=\"valtimo-objecten-sync__title\">{{ 'zaakdetails.title' | translate }}</h2>\n\n @if (loading$ | async) {\n <valtimo-spinner></valtimo-spinner>\n } @else {\n @if (documentObjectenApiSync$ | async; as documentObjectenApiSync) {\n <section class=\"valtimo-objecten-sync__card-header\">\n <span class=\"valtimo-objecten-sync__card-title\">\n {{ documentObjectenApiSync.objectManagementConfigurationTitle || '-' }}\n </span>\n\n <div class=\"valtimo-objecten-sync__card-controls\">\n <button cdsButton=\"tertiary\" (click)=\"showModal()\">\n {{ 'interface.edit' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"edit\" size=\"16\"></svg>\n </button>\n\n <button cdsButton=\"danger\" (click)=\"remove()\">\n {{ 'interface.delete' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n </div>\n </section>\n\n <section class=\"valtimo-objecten-sync__card-body\">\n <div>\n <strong>{{ 'zaakdetails.enabled' | translate }}</strong>\n\n {{\n documentObjectenApiSync.enabled\n ? ('zaakdetails.yes' | translate)\n : ('zaakdetails.no' | translate)\n }}\n </div>\n\n <div>\n <strong>{{ 'zaakdetails.objectManagementConfigurationTitle' | translate }}</strong>\n\n {{ documentObjectenApiSync.objectManagementConfigurationTitle || '-' }}\n </div>\n </section>\n } @else {\n <button cdsButton=\"primary\" (click)=\"showModal()\">\n {{ 'zaakdetails.submitButton' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n }\n }\n</cds-tile>\n\n<valtimo-render-in-body>\n <cds-modal\n valtimoCdsModal\n [title]=\"'zaakdetails.editModal.title' | translate\"\n [open]=\"modalShowing$ | async\"\n showFooter=\"true\"\n (close)=\"onModalClose()\"\n >\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onModalClose()\">\n <h3 cdsModalHeaderHeading>\n {{ 'zaakdetails.editModal.title' | translate }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent [cdsLayer]=\"1\">\n <form [formGroup]=\"formGroup\">\n <v-select\n *ngIf=\"objectManagementConfigurationItems$ | async as objectManagementConfigurations\"\n [appendInline]=\"false\"\n [dropUp]=\"false\"\n [items]=\"objectManagementConfigurations\"\n [defaultSelectionId]=\"objectManagementConfigurationId.getRawValue()\"\n [placeholder]=\"\n 'zaakdetails.editModal.objectManagementConfigurationPlaceholder' | translate\n \"\n [title]=\"'zaakdetails.editModal.objectManagementConfiguration' | translate\"\n [disabled]=\"false\"\n [margin]=\"true\"\n [required]=\"true\"\n name=\"objectManagementConfigurationId\"\n [carbonTheme]=\"currentTheme$ | async\"\n (selectedChange)=\"configSelected($event)\"\n ></v-select>\n\n <cds-checkbox formControlName=\"enabled\"\n >{{ 'zaakdetails.editModal.enabled' | translate }}\n </cds-checkbox>\n </form>\n </section>\n\n <cds-modal-footer>\n <button cdsButton=\"secondary\" (click)=\"onModalClose()\" [disabled]=\"false\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button cdsButton=\"primary\" [disabled]=\"!formGroup.valid\" (click)=\"submit()\">\n {{ 'searchFieldsOverview.submit' | translate }}\n </button>\n </cds-modal-footer>\n </cds-modal>\n</valtimo-render-in-body>\n", styles: ["cds-tile{background:var(--cds-layer-02);width:100%}.valtimo-objecten-sync__title{font-size:16px;line-height:24px;font-weight:600;margin-bottom:16px}.valtimo-objecten-sync__card-header{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding-bottom:20px}.valtimo-objecten-sync__card-title{font-size:18px}.valtimo-objecten-sync__card-controls{display:flex;align-items:center;gap:16px}.valtimo-objecten-sync__card-body{display:flex;flex-direction:column;gap:16px}.valtimo-objecten-sync__card-body>div{display:grid;grid-template-columns:repeat(3,1fr);font-size:16px}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i5$1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: CheckboxModule }, { kind: "component", type: i5$1.Checkbox, selector: "cds-checkbox, ibm-checkbox", inputs: ["disabled", "skeleton", "hideLabel", "name", "id", "required", "value", "ariaLabel", "ariaLabelledby", "indeterminate", "checked"], outputs: ["click", "checkedChange", "indeterminateChange"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.LowerCasePipe, name: "lowercase" }, { kind: "ngmodule", type: FormModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i5$1.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "ngmodule", type: InputModule$1 }, { kind: "ngmodule", type: LayerModule }, { kind: "directive", type: i5$1.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "ngmodule", type: ModalModule }, { kind: "component", type: i5$1.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i5$1.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i5$1.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i5$1.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i5$1.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: SelectModule }, { kind: "component", type: i3.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: "ngmodule", type: SpinnerModule }, { kind: "component", type: i3.SpinnerComponent, selector: "valtimo-spinner", inputs: ["useBootstrapSpinner", "name", "type", "size", "color", "bdColor", "fullScreen", "noMarginTop"] }, { kind: "ngmodule", type: TilesModule }, { kind: "component", type: i5$1.Tile, selector: "cds-tile, ibm-tile", inputs: ["theme"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "directive", type: ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", inputs: ["minContentHeight"] }, { kind: "component", type: RenderInBodyComponent, selector: "valtimo-render-in-body" }, { kind: "component", type: CaseManagementDraftWarningComponent, selector: "valtimo-case-management-draft-warning", inputs: ["name"] }] }); }
3971
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: DocumentObjectenApiSyncComponent, isStandalone: true, selector: "valtimo-document-objecten-api-sync", ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<cds-tile>\n <valtimo-case-management-draft-warning\n *ngIf=\"isDraftVersion$ | async\"\n [name]=\"'zaakdetails.title' | translate | lowercase\"\n ></valtimo-case-management-draft-warning>\n\n <h2 class=\"valtimo-objecten-sync__title\">{{ 'zaakdetails.title' | translate }}</h2>\n\n @if (loading$ | async) {\n <valtimo-spinner></valtimo-spinner>\n } @else {\n @if (documentObjectenApiSync$ | async; as documentObjectenApiSync) {\n <section class=\"valtimo-objecten-sync__card-header\">\n <span class=\"valtimo-objecten-sync__card-title\">\n {{ documentObjectenApiSync.objectManagementConfigurationTitle || '-' }}\n </span>\n\n <div class=\"valtimo-objecten-sync__card-controls\">\n <button cdsButton=\"tertiary\" (click)=\"showModal()\">\n {{ 'interface.edit' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"edit\" size=\"16\"></svg>\n </button>\n\n <button cdsButton=\"danger\" (click)=\"remove()\">\n {{ 'interface.delete' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n </div>\n </section>\n\n <section class=\"valtimo-objecten-sync__card-body\">\n <div>\n <strong>{{ 'zaakdetails.enabled' | translate }}</strong>\n\n {{\n documentObjectenApiSync.enabled\n ? ('zaakdetails.yes' | translate)\n : ('zaakdetails.no' | translate)\n }}\n </div>\n\n <div>\n <strong>{{ 'zaakdetails.objectManagementConfigurationTitle' | translate }}</strong>\n\n {{ documentObjectenApiSync.objectManagementConfigurationTitle || '-' }}\n </div>\n </section>\n } @else {\n <button cdsButton=\"primary\" (click)=\"showModal()\">\n {{ 'zaakdetails.submitButton' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n }\n }\n</cds-tile>\n\n<valtimo-render-in-body>\n <cds-modal\n valtimoCdsModal\n [title]=\"'zaakdetails.editModal.title' | translate\"\n [open]=\"modalShowing$ | async\"\n showFooter=\"true\"\n (close)=\"onModalClose()\"\n >\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onModalClose()\">\n <h3 cdsModalHeaderHeading>\n {{ 'zaakdetails.editModal.title' | translate }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent [cdsLayer]=\"1\">\n <form [formGroup]=\"formGroup\">\n <v-select\n *ngIf=\"objectManagementConfigurationItems$ | async as objectManagementConfigurations\"\n [appendInline]=\"false\"\n [dropUp]=\"false\"\n [items]=\"objectManagementConfigurations\"\n [defaultSelectionId]=\"objectManagementConfigurationId.getRawValue()\"\n [placeholder]=\"\n 'zaakdetails.editModal.objectManagementConfigurationPlaceholder' | translate\n \"\n [title]=\"'zaakdetails.editModal.objectManagementConfiguration' | translate\"\n [disabled]=\"false\"\n [margin]=\"true\"\n [required]=\"true\"\n name=\"objectManagementConfigurationId\"\n [carbonTheme]=\"currentTheme$ | async\"\n (selectedChange)=\"configSelected($event)\"\n ></v-select>\n\n <cds-checkbox formControlName=\"enabled\"\n >{{ 'zaakdetails.editModal.enabled' | translate }}\n </cds-checkbox>\n </form>\n </section>\n\n <cds-modal-footer>\n <button cdsButton=\"secondary\" (click)=\"onModalClose()\" [disabled]=\"false\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button cdsButton=\"primary\" [disabled]=\"!formGroup.valid\" (click)=\"submit()\">\n {{ 'searchFieldsOverview.submit' | translate }}\n </button>\n </cds-modal-footer>\n </cds-modal>\n</valtimo-render-in-body>\n", styles: ["cds-tile{background:var(--cds-layer-02);width:100%}.valtimo-objecten-sync__title{font-size:16px;line-height:24px;font-weight:600;margin-bottom:16px}.valtimo-objecten-sync__card-header{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding-bottom:20px}.valtimo-objecten-sync__card-title{font-size:18px}.valtimo-objecten-sync__card-controls{display:flex;align-items:center;gap:16px}.valtimo-objecten-sync__card-body{display:flex;flex-direction:column;gap:16px}.valtimo-objecten-sync__card-body>div{display:grid;grid-template-columns:repeat(3,1fr);font-size:16px}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i5$1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: CheckboxModule }, { kind: "component", type: i5$1.Checkbox, selector: "cds-checkbox, ibm-checkbox", inputs: ["disabled", "skeleton", "hideLabel", "name", "id", "required", "value", "ariaLabel", "ariaLabelledby", "indeterminate", "checked"], outputs: ["click", "checkedChange", "indeterminateChange"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.LowerCasePipe, name: "lowercase" }, { kind: "ngmodule", type: FormModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i5$1.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "ngmodule", type: InputModule$1 }, { kind: "ngmodule", type: LayerModule }, { kind: "directive", type: i5$1.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "ngmodule", type: ModalModule }, { kind: "component", type: i5$1.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i5$1.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i5$1.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i5$1.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i5$1.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: SelectModule }, { kind: "component", type: i3.SelectComponent, selector: "v-select", inputs: ["items", "defaultSelection", "defaultSelectionId", "defaultSelectionIds", "disabled", "dropUp", "multiple", "margin", "widthInPx", "notFoundText", "clearAllText", "clearText", "clearable", "name", "title", "titleTranslationKey", "clearSelectionSubject$", "tooltip", "required", "loading", "loadingText", "placeholder", "smallMargin", "carbonTheme", "appendInline", "dataTestId"], outputs: ["selectedChange"] }, { kind: "ngmodule", type: SpinnerModule }, { kind: "component", type: i3.SpinnerComponent, selector: "valtimo-spinner", inputs: ["useBootstrapSpinner", "name", "type", "size", "color", "bdColor", "fullScreen", "noMarginTop"] }, { kind: "ngmodule", type: TilesModule }, { kind: "component", type: i5$1.Tile, selector: "cds-tile, ibm-tile", inputs: ["theme"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "directive", type: ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", inputs: ["minContentHeight"] }, { kind: "component", type: RenderInBodyComponent, selector: "valtimo-render-in-body" }, { kind: "component", type: CaseManagementDraftWarningComponent, selector: "valtimo-case-management-draft-warning", inputs: ["name"] }] }); }
3938
3972
  }
3939
3973
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DocumentObjectenApiSyncComponent, decorators: [{
3940
3974
  type: Component,