@valtimo/zgw 13.51.0 → 13.53.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.
@@ -1,7 +1,7 @@
1
1
  import * as i4 from '@angular/common';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
- import { Injectable, EventEmitter, Output, Input, ChangeDetectionStrategy, Component, ViewChild, signal, HostListener, NgModule, ViewContainerRef, computed } from '@angular/core';
4
+ import { Injectable, EventEmitter, Output, Input, ChangeDetectionStrategy, Component, ViewChild, InjectionToken, signal, Optional, Inject, HostListener, NgModule, ViewContainerRef, computed } from '@angular/core';
5
5
  import * as i5 from '@ngx-translate/core';
6
6
  import { TranslateModule } from '@ngx-translate/core';
7
7
  import { CaseManagementDraftWarningComponent } from '@valtimo/case-management';
@@ -9,14 +9,14 @@ import * as i2 from '@valtimo/shared';
9
9
  import { BaseApiService, InterceptorSkipHeader, getCaseManagementRouteParams, UploadProvider, ROLE_ADMIN, zgwFeaturesGuard, ConfigService, 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 i6 from 'carbon-components-angular';
11
11
  import { ModalModule, InputModule, ButtonModule, DropdownModule, RadioModule, NotificationModule, LayerModule, TagModule, IconModule, DatePickerInputModule, DatePickerModule, ComboBoxModule, TooltipModule, ToggleModule, LoadingModule, ToggletipModule, CheckboxModule, TilesModule, SelectModule as SelectModule$1, TabsModule, AccordionModule, StructuredListModule } from 'carbon-components-angular';
12
- import { catchError, of, BehaviorSubject, combineLatest, map, Subscription, switchMap, filter, tap, startWith, debounceTime, Subject, take as take$1, from, ReplaySubject, finalize, EMPTY, distinctUntilChanged, forkJoin } from 'rxjs';
12
+ import { BehaviorSubject, combineLatest, map, Subscription, switchMap, filter, tap, startWith, debounceTime, Subject, take as take$1, of, catchError, from, ReplaySubject, throwError, finalize, EMPTY, distinctUntilChanged, forkJoin } 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';
16
16
  import { CARBON_CONSTANTS, ValtimoCdsModalDirective, ViewType, CarbonListModule, ConfirmationModalModule, InputLabelModule, InputModule as InputModule$1, SelectModule, VModalModule, DEFAULT_PAGINATION, DEFAULT_PAGINATOR_CONFIG, OverflowMenuComponent, CarbonListComponent, registerCustomFormioComponent, ParagraphModule, TableModule, FormIoModule, FormModule, SpinnerModule, RenderInBodyComponent, MuuriDirectiveModule, JsonEditorComponent, DropzoneModule, FileSizeModule } from '@valtimo/components';
17
17
  import * as i1 from '@angular/common/http';
18
18
  import { HttpParams } from '@angular/common/http';
19
- import { take, tap as tap$1, map as map$1, filter as filter$1, switchMap as switchMap$1, catchError as catchError$1, shareReplay } from 'rxjs/operators';
19
+ import { take, tap as tap$1, map as map$1, filter as filter$1, switchMap as switchMap$1, catchError as catchError$1, shareReplay, retry } from 'rxjs/operators';
20
20
  import * as i1$2 from '@angular/router';
21
21
  import { RouterModule } from '@angular/router';
22
22
  import { TrashCan16, Filter16, TagGroup16, Upload16, Edit16, WarningFilled16, Save16, Copy16, Launch16, WarningAltFilled16 } from '@carbon/icons';
@@ -257,8 +257,7 @@ class DocumentenApiPreviewService extends BaseApiService {
257
257
  }
258
258
  canGeneratePreview(documentenApiPluginConfigurationId) {
259
259
  return this.httpClient
260
- .get(this.getApiUrl(`v1/documenten-api-preview/configuration-exists/${documentenApiPluginConfigurationId}`), { headers: InterceptorSkipHeader })
261
- .pipe(catchError(() => of(false)));
260
+ .get(this.getApiUrl(`v1/documenten-api-preview/configuration-exists/${documentenApiPluginConfigurationId}`), { headers: InterceptorSkipHeader });
262
261
  }
263
262
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: DocumentenApiPreviewService, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
264
263
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: DocumentenApiPreviewService, providedIn: 'root' }); }
@@ -817,6 +816,31 @@ const COLUMN_VIEW_TYPES = {
817
816
  * limitations under the License.
818
817
  */
819
818
 
819
+ /*
820
+ * Copyright 2015-2026 Ritense BV, the Netherlands.
821
+ *
822
+ * Licensed under EUPL, Version 1.2 (the "License");
823
+ * you may not use this file except in compliance with the License.
824
+ * You may obtain a copy of the License at
825
+ *
826
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
827
+ *
828
+ * Unless required by applicable law or agreed to in writing, software
829
+ * distributed under the License is distributed on an "AS IS" basis,
830
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
831
+ * See the License for the specific language governing permissions and
832
+ * limitations under the License.
833
+ */
834
+ /**
835
+ * Multi-provider token that external plugins use to contribute their own overflow-menu action
836
+ * (e.g. an "edit content" action backed by a document-editing plugin) to the case document list,
837
+ * without the list itself depending on which plugins are installed. Each provider entry
838
+ * (`{provide: DOCUMENT_ACTION_ITEM_TOKEN, useValue: ..., multi: true}`) contributes one ActionItem;
839
+ * the documents component merges all contributed items into its own fixed action list. The item's
840
+ * callback/disabled$/hidden$ receive the row's `DocumentenApiRelatedFile`.
841
+ */
842
+ const DOCUMENT_ACTION_ITEM_TOKEN = new InjectionToken('DOCUMENT_ACTION_ITEM_TOKEN');
843
+
820
844
  /*
821
845
  * Copyright 2015-2025 Ritense BV, the Netherlands.
822
846
  *
@@ -1676,11 +1700,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
1676
1700
  * See the License for the specific language governing permissions and
1677
1701
  * limitations under the License.
1678
1702
  */
1703
+ const PREVIEW_CHECK_RETRY_COUNT = 3;
1704
+ const PREVIEW_CHECK_RETRY_DELAY_MS = 2000;
1679
1705
  class CaseDetailTabDocumentenApiDocumentsComponent {
1680
1706
  get filePermissions() {
1681
1707
  return this.filePermissions$.getValue();
1682
1708
  }
1683
- constructor(configService, documentenApiColumnService, documentenApiDocumentService, documentenApiPreviewService, documentenApiVersionService, documentService, downloadService, iconService, permissionService, route, router, translateService, uploadProviderService, userProviderService) {
1709
+ constructor(configService, documentenApiColumnService, documentenApiDocumentService, documentenApiPreviewService, documentenApiVersionService, documentService, downloadService, iconService, permissionService, route, router, translateService, uploadProviderService, userProviderService, pluginDocumentActionItems) {
1684
1710
  this.configService = configService;
1685
1711
  this.documentenApiColumnService = documentenApiColumnService;
1686
1712
  this.documentenApiDocumentService = documentenApiDocumentService;
@@ -1695,6 +1721,7 @@ class CaseDetailTabDocumentenApiDocumentsComponent {
1695
1721
  this.translateService = translateService;
1696
1722
  this.uploadProviderService = uploadProviderService;
1697
1723
  this.userProviderService = userProviderService;
1724
+ this.pluginDocumentActionItems = pluginDocumentActionItems;
1698
1725
  this._caseDefinitionKey$ = this.route.params.pipe(map$1(params => params?.caseDefinitionKey ?? ''), filter$1((caseDefinitionKey) => !!caseDefinitionKey));
1699
1726
  this._caseSettings$ = this._caseDefinitionKey$.pipe(switchMap$1((caseDefinitionKey) => this.documentService.getCaseSettings(caseDefinitionKey)));
1700
1727
  this.supportedDocumentenApiFeatures$ = new BehaviorSubject(null);
@@ -1727,6 +1754,7 @@ class CaseDetailTabDocumentenApiDocumentsComponent {
1727
1754
  label: 'document.preview',
1728
1755
  callback: this.onPreviewActionClick.bind(this),
1729
1756
  disabled$: this.previewDisabled.bind(this),
1757
+ hidden$: this.previewHidden.bind(this),
1730
1758
  type: 'normal',
1731
1759
  },
1732
1760
  {
@@ -1838,8 +1866,24 @@ class CaseDetailTabDocumentenApiDocumentsComponent {
1838
1866
  identifier: documentId,
1839
1867
  })));
1840
1868
  this._subscriptions = new Subscription();
1869
+ // The document list of a case (zaak) can contain documents from different Documenten APIs, so
1870
+ // checking if the preview feature is supported needs to be done per each file's
1871
+ // pluginConfigurationId - this cache just makes sure that, for a given configId, the
1872
+ // "is preview supported" HTTP check fires once and is shared by every row (and by both the
1873
+ // disabled$ and hidden$ callbacks) instead of once per row per callback.
1874
+ //
1875
+ // A confirmed "unsupported" response (no preview plugin configured for this Documenten API) is
1876
+ // kept distinct from a failed check (network error, backend down, ...): collapsing both into one
1877
+ // boolean would silently hide "Preview" on a transient failure, with no way for an
1878
+ // already-rendered row to recover other than an unrelated table refetch.
1879
+ this.canGeneratePreviewCache = new Map();
1841
1880
  this.iconService.register(Filter16);
1842
1881
  this.valtimoEndpointUri = configService.config.valtimoApi.endpointUri;
1882
+ // Plugins (e.g. a document-editing plugin) contribute their own row action through the
1883
+ // DOCUMENT_ACTION_ITEM_TOKEN multi-provider token instead of this component knowing about them.
1884
+ if (this.pluginDocumentActionItems) {
1885
+ this.actionItems = [...this.actionItems, ...this.pluginDocumentActionItems];
1886
+ }
1843
1887
  }
1844
1888
  ngOnInit() {
1845
1889
  this.setInitialParams();
@@ -2033,11 +2077,42 @@ class CaseDetailTabDocumentenApiDocumentsComponent {
2033
2077
  refetchDocuments() {
2034
2078
  this._refetch$.next(null);
2035
2079
  }
2080
+ previewSupportStatus$(pluginConfigurationId) {
2081
+ if (!this.canGeneratePreviewCache.has(pluginConfigurationId)) {
2082
+ this.canGeneratePreviewCache.set(pluginConfigurationId, this.documentenApiPreviewService
2083
+ .canGeneratePreview(pluginConfigurationId)
2084
+ .pipe(map$1((supported) => (supported ? 'supported' : 'unsupported')),
2085
+ // A 404 means the documenten-api-preview module isn't deployed on this Valtimo
2086
+ // instance at all, which is itself a confirmed "no preview available" - not a
2087
+ // transient failure, so it shouldn't go through the retry path below.
2088
+ catchError$1((error) => error.status === 404
2089
+ ? of('unsupported')
2090
+ : throwError(() => error)),
2091
+ // Retry transient failures a few times before giving up, so a brief blip resolves
2092
+ // silently for rows that are already subscribed instead of immediately reading as
2093
+ // "unsupported".
2094
+ retry({ count: PREVIEW_CHECK_RETRY_COUNT, delay: PREVIEW_CHECK_RETRY_DELAY_MS }), catchError$1(() => {
2095
+ // Don't cache a failure as "unsupported" - evict so a later row render (e.g. once
2096
+ // the backend recovers) checks again instead of permanently treating this
2097
+ // Documenten API as having no preview plugin configured.
2098
+ this.canGeneratePreviewCache.delete(pluginConfigurationId);
2099
+ return of('error');
2100
+ }), shareReplay(1)));
2101
+ }
2102
+ return this.canGeneratePreviewCache.get(pluginConfigurationId);
2103
+ }
2104
+ // Only hidden on a confirmed "unsupported" response. On 'error' the action stays visible (and,
2105
+ // if the user is otherwise allowed to view the document, enabled) so the user has a way to
2106
+ // retry: clicking it attempts the real preview, which is its own, immediate signal of whether it
2107
+ // actually works.
2108
+ previewHidden(file) {
2109
+ return this.previewSupportStatus$(file?.pluginConfigurationId).pipe(map$1(status => status === 'unsupported'));
2110
+ }
2036
2111
  previewDisabled(file) {
2037
2112
  return combineLatest([
2038
- this.documentenApiPreviewService.canGeneratePreview(file?.pluginConfigurationId),
2113
+ this.previewSupportStatus$(file?.pluginConfigurationId),
2039
2114
  this.filePermissions$,
2040
- ]).pipe(map$1(([canGeneratePreview, permissions]) => !canGeneratePreview || !permissions[file.fileId]?.canView));
2115
+ ]).pipe(map$1(([status, permissions]) => status === 'unsupported' || !permissions[file.fileId]?.canView));
2041
2116
  }
2042
2117
  downloadDisabled(file) {
2043
2118
  return this.filePermissions$.pipe(map$1(permissions => !permissions[file.fileId]?.canView));
@@ -2124,7 +2199,7 @@ class CaseDetailTabDocumentenApiDocumentsComponent {
2124
2199
  return this.permissionService.requestPermission(permissionRequest, context);
2125
2200
  }));
2126
2201
  }
2127
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: CaseDetailTabDocumentenApiDocumentsComponent, deps: [{ token: i2.ConfigService }, { token: DocumentenApiColumnService }, { token: DocumentenApiDocumentService }, { token: DocumentenApiPreviewService }, { token: DocumentenApiVersionService }, { token: i4$1.DocumentService }, { token: i4$2.DownloadService }, { token: i6.IconService }, { token: i6$1.PermissionService }, { token: i1$2.ActivatedRoute }, { token: i1$2.Router }, { token: i5.TranslateService }, { token: i4$2.UploadProviderService }, { token: i9.UserProviderService }], target: i0.ɵɵFactoryTarget.Component }); }
2202
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: CaseDetailTabDocumentenApiDocumentsComponent, deps: [{ token: i2.ConfigService }, { token: DocumentenApiColumnService }, { token: DocumentenApiDocumentService }, { token: DocumentenApiPreviewService }, { token: DocumentenApiVersionService }, { token: i4$1.DocumentService }, { token: i4$2.DownloadService }, { token: i6.IconService }, { token: i6$1.PermissionService }, { token: i1$2.ActivatedRoute }, { token: i1$2.Router }, { token: i5.TranslateService }, { token: i4$2.UploadProviderService }, { token: i9.UserProviderService }, { token: DOCUMENT_ACTION_ITEM_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
2128
2203
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.25", type: CaseDetailTabDocumentenApiDocumentsComponent, isStandalone: true, selector: "valtimo-case-detail-tab-documenten-api-documents", viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true }, { propertyName: "translationTemplate", first: true, predicate: ["translationTemplate"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2026 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<div\n class=\"carbon-document-table-wrapper\"\n *ngIf=\"{\n loading: loading$ | async,\n fieldsLoading: fieldsLoading$ | async,\n uploading: uploading$ | async,\n relatedFiles: relatedFiles$ | async,\n fields: fields$ | async,\n supportedDocumentenApiFeatures: supportedDocumentenApiFeatures$ | async,\n pagination: pagination$ | async,\n sortState: sortState$ | async,\n uploadFields: uploadFields$ | async,\n defaultValues: defaultValues$ | async,\n hideFields: hideFields$ | async,\n } as obs\"\n>\n @if ((!obs.fieldsLoading && obs.fields.length) || obs.fieldsLoading) {\n <valtimo-carbon-list\n [actionItems]=\"actionItems\"\n [items]=\"obs.relatedFiles\"\n [fields]=\"obs.fields\"\n [initialSortState]=\"obs.sortState\"\n [loading]=\"obs.loading\"\n [pagination]=\"obs.pagination\"\n [paginatorConfig]=\"paginatorConfig\"\n paginationIdentifier=\"documentenApi\"\n (rowClicked)=\"onRowClick($event)\"\n (sortChanged)=\"\n obs?.supportedDocumentenApiFeatures?.supportsSortableColumns && onSortChanged($event)\n \"\n (paginationClicked)=\"onPaginationClicked($event)\"\n (paginationSet)=\"onPaginationSet($event)\"\n hideColumnHeader\n >\n <div carbonToolbarContent>\n <input\n [accept]=\"acceptedFiles\"\n (change)=\"onFileSelected($event)\"\n hidden\n type=\"file\"\n #fileInput\n />\n\n <v-overflow-menu\n *ngIf=\"obs?.supportedDocumentenApiFeatures?.supportsFilterableColumns\"\n placement=\"bottom-end\"\n [closeOnSelect]=\"false\"\n [portalToBody]=\"true\"\n >\n <button overflowTrigger cdsButton=\"ghost\">\n <svg cdsIcon=\"filter\" size=\"16\"></svg>\n </button>\n\n <div overflowPane>\n <ng-container *ngTemplateOutlet=\"overflowFilter\"></ng-container>\n </div>\n </v-overflow-menu>\n\n <ng-container *ngTemplateOutlet=\"uploadButton\"></ng-container>\n </div>\n\n <ng-container *ngTemplateOutlet=\"noResults\"></ng-container>\n </valtimo-carbon-list>\n } @else {\n <valtimo-no-results\n [action]=\"navigateToCaseAdminButton\"\n [description]=\"'zgw.documents.noColumns.description' | translate\"\n [title]=\"'zgw.documents.noColumns.title' | translate\"\n ></valtimo-no-results>\n }\n\n <valtimo-documenten-api-metadata-modal\n [defaultValues]=\"obs.defaultValues\"\n [disableAuthor]=\"obs.uploadFields?.auteur?.readonly\"\n [disableConfidentialityLevel]=\"obs.uploadFields?.vertrouwelijkheidaanduiding?.readonly\"\n [disableCreationDate]=\"obs.uploadFields?.creatiedatum?.readonly\"\n [disableDescription]=\"obs.uploadFields?.beschrijving?.readonly\"\n [disableDocumentTitle]=\"obs.uploadFields?.titel?.readonly\"\n [disableDocumentType]=\"obs.uploadFields?.informatieobjecttype?.readonly\"\n [disableFilename]=\"obs.uploadFields?.bestandsnaam?.readonly\"\n [disableLanguage]=\"obs.uploadFields?.taal?.readonly\"\n [disableStatus]=\"obs.uploadFields?.status?.readonly\"\n [disabled$]=\"modalDisabled$\"\n [file$]=\"fileToBeUploaded$\"\n [hideFields]=\"obs.hideFields\"\n [isEditMode]=\"isEditMode$ | async\"\n [open]=\"showUploadModal$ | async\"\n [supportsTrefwoorden]=\"obs?.supportedDocumentenApiFeatures?.supportsTrefwoorden\"\n [uploadError]=\"uploadError()\"\n [uploading]=\"obs.uploading\"\n (metadata)=\"metadataSet($event)\"\n (modalClose)=\"closeMetadataModal()\"\n (uploadErrorDismiss)=\"uploadError.set(null)\"\n ></valtimo-documenten-api-metadata-modal>\n\n <valtimo-documenten-api-preview-modal\n [showModalSubject$]=\"showPreviewModal$\"\n [relatedFile$]=\"documentToPreview$\"\n [caseDocumentId$]=\"documentId$\"\n (modalClose)=\"closePreviewModal()\"\n ></valtimo-documenten-api-preview-modal>\n</div>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"dashboardManagement.deleteModal.confirm\"\n contentTranslationKey=\"case.documenten.deleteConfirmationModal.content\"\n confirmButtonType=\"danger\"\n titleTranslationKey=\"case.documenten.deleteConfirmationModal.title\"\n [showModalSubject$]=\"showDeleteConfirmationModal$\"\n (confirmEvent)=\"deleteDocument()\"\n>\n</valtimo-confirmation-modal>\n\n<ng-template #noResults>\n @if ((filter$ | async | keyvalue)?.length) {\n <valtimo-no-results\n [action]=\"resetFilterButton\"\n [description]=\"'zgw.documents.noResults.filterDescription' | translate\"\n [title]=\"'zgw.documents.noResults.filterTitle' | translate\"\n ></valtimo-no-results>\n } @else if (showZaakLinkWarning && isAdmin) {\n <valtimo-no-results\n [action]=\"navigateToCaseAdminButton\"\n [description]=\"'case.documenten.noZaakFound' | translate\"\n [title]=\"'case.documenten.noZaakFoundTitle' | translate\"\n ></valtimo-no-results>\n } @else {\n <valtimo-no-results\n [action]=\"uploadButton\"\n [description]=\"'case.documenten.noFiles' | translate\"\n [title]=\"'case.documenten.noFilesTitle' | translate\"\n ></valtimo-no-results>\n }\n</ng-template>\n\n<ng-template #overflowFilter>\n <valtimo-case-detail-tab-documenten-api-filter\n [prefillFilter]=\"filter$ | async\"\n (filterEvent)=\"onFilterEvent($event)\"\n ></valtimo-case-detail-tab-documenten-api-filter>\n</ng-template>\n\n<ng-template #resetFilterButton>\n <button cdsButton=\"primary\" (click)=\"onFilterEvent(null)\">\n {{ 'Reset filter' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<ng-template #uploadButton let-disabled=\"disabled\">\n <button\n [disabled]=\"\n (uploadProcessLinkedSet && !uploadProcessLinked) ||\n showZaakLinkWarning ||\n disabled ||\n (canCreateResource$ | async) === false\n \"\n [vTooltip]=\"getUploadButtonTooltip() | translate\"\n (click)=\"onUploadButtonClick()\"\n cdsButton=\"primary\"\n >\n {{ 'Upload' | translate }}\n <svg class=\"cds--btn__icon\" cdsIcon=\"upload\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<ng-template #translationTemplate let-data=\"data\">\n @if (data.item[data.key]) {\n {{ 'document.' + data.item[data.key] | translate }}\n } @else {\n -\n }\n</ng-template>\n\n<ng-template #navigateToCaseAdminButton>\n <button (click)=\"onNavigateToCaseAdminClick()\" cdsButton=\"primary\">\n {{ 'case.documenten.navigateToCaseAdmin' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"settings\" size=\"16\"></svg>\n </button>\n</ng-template>\n", styles: [".hidden{display:none}.loading-container{padding:var(--cds-grid-margin);display:flex;align-items:center;justify-content:center}.carbon-document-table-wrapper{margin:0}.documenten-api-documents-filesize-template{text-align:right}\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: CommonModule }, { 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: "pipe", type: i4.KeyValuePipe, name: "keyvalue" }, { kind: "ngmodule", type: CarbonListModule }, { kind: "component", type: i3.CarbonListComponent, selector: "valtimo-carbon-list", inputs: ["items", "fields", "tableTranslations", "paginatorConfig", "pagination", "loading", "skeletonRowCount", "actions", "actionItems", "showActionItems", "header", "hideColumnHeader", "initialSortState", "sortState", "isSearchable", "initialSearchValue", "searchDebounceMs", "invalidSearchFields", "searchFields", "enableSingleSelection", "lastColumnTemplate", "paginationIdentifier", "showSelectionColumn", "striped", "hideToolbar", "lockedTooltipTranslationKey", "movingRowsEnabled", "dragAndDrop", "dragAndDropDisabled", "expandedRowTemplate", "expandedRowKey", "trackByKey"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged", "moveRow", "itemsReordered"] }, { kind: "component", type: i3.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { 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", "uploadError", "uploading", "open"], outputs: ["metadata", "modalClose", "uploadErrorDismiss"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i6.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i6.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "component", type: DocumentenApiFilterComponent, selector: "valtimo-case-detail-tab-documenten-api-filter", outputs: ["filterEvent"] }, { kind: "component", type: OverflowMenuComponent, selector: "v-overflow-menu", inputs: ["open", "placement", "menuWidth", "offsetX", "offsetY", "closeOnSelect", "useHostAsReference", "portalToBody"], outputs: ["openChange"] }, { kind: "ngmodule", type: ConfirmationModalModule }, { kind: "component", type: i3.ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: ["titleTranslationKey", "title", "content", "contentTranslationKey", "confirmButtonText", "confirmButtonTextTranslationKey", "confirmButtonType", "showOptionalButton", "optionalButtonText", "optionalButtonTextTranslationKey", "optionalButtonType", "cancelButtonText", "cancelButtonTextTranslationKey", "cancelButtonType", "showModalSubject$", "outputOnConfirm", "outputOnOptional", "spacerAfterCancelButton"], outputs: ["confirmEvent", "optionalEvent", "cancelEvent"] }, { kind: "component", type: DocumentenApiPreviewModalComponent, selector: "valtimo-documenten-api-preview-modal", inputs: ["caseDefinitionKey", "caseDocumentId$", "showModalSubject$", "relatedFile$"], outputs: ["modalClose"] }] }); }
2129
2204
  }
2130
2205
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: CaseDetailTabDocumentenApiDocumentsComponent, decorators: [{
@@ -2141,7 +2216,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
2141
2216
  ConfirmationModalModule,
2142
2217
  DocumentenApiPreviewModalComponent,
2143
2218
  ], template: "<!--\n ~ Copyright 2015-2026 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<div\n class=\"carbon-document-table-wrapper\"\n *ngIf=\"{\n loading: loading$ | async,\n fieldsLoading: fieldsLoading$ | async,\n uploading: uploading$ | async,\n relatedFiles: relatedFiles$ | async,\n fields: fields$ | async,\n supportedDocumentenApiFeatures: supportedDocumentenApiFeatures$ | async,\n pagination: pagination$ | async,\n sortState: sortState$ | async,\n uploadFields: uploadFields$ | async,\n defaultValues: defaultValues$ | async,\n hideFields: hideFields$ | async,\n } as obs\"\n>\n @if ((!obs.fieldsLoading && obs.fields.length) || obs.fieldsLoading) {\n <valtimo-carbon-list\n [actionItems]=\"actionItems\"\n [items]=\"obs.relatedFiles\"\n [fields]=\"obs.fields\"\n [initialSortState]=\"obs.sortState\"\n [loading]=\"obs.loading\"\n [pagination]=\"obs.pagination\"\n [paginatorConfig]=\"paginatorConfig\"\n paginationIdentifier=\"documentenApi\"\n (rowClicked)=\"onRowClick($event)\"\n (sortChanged)=\"\n obs?.supportedDocumentenApiFeatures?.supportsSortableColumns && onSortChanged($event)\n \"\n (paginationClicked)=\"onPaginationClicked($event)\"\n (paginationSet)=\"onPaginationSet($event)\"\n hideColumnHeader\n >\n <div carbonToolbarContent>\n <input\n [accept]=\"acceptedFiles\"\n (change)=\"onFileSelected($event)\"\n hidden\n type=\"file\"\n #fileInput\n />\n\n <v-overflow-menu\n *ngIf=\"obs?.supportedDocumentenApiFeatures?.supportsFilterableColumns\"\n placement=\"bottom-end\"\n [closeOnSelect]=\"false\"\n [portalToBody]=\"true\"\n >\n <button overflowTrigger cdsButton=\"ghost\">\n <svg cdsIcon=\"filter\" size=\"16\"></svg>\n </button>\n\n <div overflowPane>\n <ng-container *ngTemplateOutlet=\"overflowFilter\"></ng-container>\n </div>\n </v-overflow-menu>\n\n <ng-container *ngTemplateOutlet=\"uploadButton\"></ng-container>\n </div>\n\n <ng-container *ngTemplateOutlet=\"noResults\"></ng-container>\n </valtimo-carbon-list>\n } @else {\n <valtimo-no-results\n [action]=\"navigateToCaseAdminButton\"\n [description]=\"'zgw.documents.noColumns.description' | translate\"\n [title]=\"'zgw.documents.noColumns.title' | translate\"\n ></valtimo-no-results>\n }\n\n <valtimo-documenten-api-metadata-modal\n [defaultValues]=\"obs.defaultValues\"\n [disableAuthor]=\"obs.uploadFields?.auteur?.readonly\"\n [disableConfidentialityLevel]=\"obs.uploadFields?.vertrouwelijkheidaanduiding?.readonly\"\n [disableCreationDate]=\"obs.uploadFields?.creatiedatum?.readonly\"\n [disableDescription]=\"obs.uploadFields?.beschrijving?.readonly\"\n [disableDocumentTitle]=\"obs.uploadFields?.titel?.readonly\"\n [disableDocumentType]=\"obs.uploadFields?.informatieobjecttype?.readonly\"\n [disableFilename]=\"obs.uploadFields?.bestandsnaam?.readonly\"\n [disableLanguage]=\"obs.uploadFields?.taal?.readonly\"\n [disableStatus]=\"obs.uploadFields?.status?.readonly\"\n [disabled$]=\"modalDisabled$\"\n [file$]=\"fileToBeUploaded$\"\n [hideFields]=\"obs.hideFields\"\n [isEditMode]=\"isEditMode$ | async\"\n [open]=\"showUploadModal$ | async\"\n [supportsTrefwoorden]=\"obs?.supportedDocumentenApiFeatures?.supportsTrefwoorden\"\n [uploadError]=\"uploadError()\"\n [uploading]=\"obs.uploading\"\n (metadata)=\"metadataSet($event)\"\n (modalClose)=\"closeMetadataModal()\"\n (uploadErrorDismiss)=\"uploadError.set(null)\"\n ></valtimo-documenten-api-metadata-modal>\n\n <valtimo-documenten-api-preview-modal\n [showModalSubject$]=\"showPreviewModal$\"\n [relatedFile$]=\"documentToPreview$\"\n [caseDocumentId$]=\"documentId$\"\n (modalClose)=\"closePreviewModal()\"\n ></valtimo-documenten-api-preview-modal>\n</div>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"dashboardManagement.deleteModal.confirm\"\n contentTranslationKey=\"case.documenten.deleteConfirmationModal.content\"\n confirmButtonType=\"danger\"\n titleTranslationKey=\"case.documenten.deleteConfirmationModal.title\"\n [showModalSubject$]=\"showDeleteConfirmationModal$\"\n (confirmEvent)=\"deleteDocument()\"\n>\n</valtimo-confirmation-modal>\n\n<ng-template #noResults>\n @if ((filter$ | async | keyvalue)?.length) {\n <valtimo-no-results\n [action]=\"resetFilterButton\"\n [description]=\"'zgw.documents.noResults.filterDescription' | translate\"\n [title]=\"'zgw.documents.noResults.filterTitle' | translate\"\n ></valtimo-no-results>\n } @else if (showZaakLinkWarning && isAdmin) {\n <valtimo-no-results\n [action]=\"navigateToCaseAdminButton\"\n [description]=\"'case.documenten.noZaakFound' | translate\"\n [title]=\"'case.documenten.noZaakFoundTitle' | translate\"\n ></valtimo-no-results>\n } @else {\n <valtimo-no-results\n [action]=\"uploadButton\"\n [description]=\"'case.documenten.noFiles' | translate\"\n [title]=\"'case.documenten.noFilesTitle' | translate\"\n ></valtimo-no-results>\n }\n</ng-template>\n\n<ng-template #overflowFilter>\n <valtimo-case-detail-tab-documenten-api-filter\n [prefillFilter]=\"filter$ | async\"\n (filterEvent)=\"onFilterEvent($event)\"\n ></valtimo-case-detail-tab-documenten-api-filter>\n</ng-template>\n\n<ng-template #resetFilterButton>\n <button cdsButton=\"primary\" (click)=\"onFilterEvent(null)\">\n {{ 'Reset filter' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<ng-template #uploadButton let-disabled=\"disabled\">\n <button\n [disabled]=\"\n (uploadProcessLinkedSet && !uploadProcessLinked) ||\n showZaakLinkWarning ||\n disabled ||\n (canCreateResource$ | async) === false\n \"\n [vTooltip]=\"getUploadButtonTooltip() | translate\"\n (click)=\"onUploadButtonClick()\"\n cdsButton=\"primary\"\n >\n {{ 'Upload' | translate }}\n <svg class=\"cds--btn__icon\" cdsIcon=\"upload\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<ng-template #translationTemplate let-data=\"data\">\n @if (data.item[data.key]) {\n {{ 'document.' + data.item[data.key] | translate }}\n } @else {\n -\n }\n</ng-template>\n\n<ng-template #navigateToCaseAdminButton>\n <button (click)=\"onNavigateToCaseAdminClick()\" cdsButton=\"primary\">\n {{ 'case.documenten.navigateToCaseAdmin' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"settings\" size=\"16\"></svg>\n </button>\n</ng-template>\n", styles: [".hidden{display:none}.loading-container{padding:var(--cds-grid-margin);display:flex;align-items:center;justify-content:center}.carbon-document-table-wrapper{margin:0}.documenten-api-documents-filesize-template{text-align:right}\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"] }]
2144
- }], ctorParameters: () => [{ type: i2.ConfigService }, { type: DocumentenApiColumnService }, { type: DocumentenApiDocumentService }, { type: DocumentenApiPreviewService }, { type: DocumentenApiVersionService }, { type: i4$1.DocumentService }, { type: i4$2.DownloadService }, { type: i6.IconService }, { type: i6$1.PermissionService }, { type: i1$2.ActivatedRoute }, { type: i1$2.Router }, { type: i5.TranslateService }, { type: i4$2.UploadProviderService }, { type: i9.UserProviderService }], propDecorators: { fileInput: [{
2219
+ }], ctorParameters: () => [{ type: i2.ConfigService }, { type: DocumentenApiColumnService }, { type: DocumentenApiDocumentService }, { type: DocumentenApiPreviewService }, { type: DocumentenApiVersionService }, { type: i4$1.DocumentService }, { type: i4$2.DownloadService }, { type: i6.IconService }, { type: i6$1.PermissionService }, { type: i1$2.ActivatedRoute }, { type: i1$2.Router }, { type: i5.TranslateService }, { type: i4$2.UploadProviderService }, { type: i9.UserProviderService }, { type: undefined, decorators: [{
2220
+ type: Optional
2221
+ }, {
2222
+ type: Inject,
2223
+ args: [DOCUMENT_ACTION_ITEM_TOKEN]
2224
+ }] }], propDecorators: { fileInput: [{
2145
2225
  type: ViewChild,
2146
2226
  args: ['fileInput']
2147
2227
  }], translationTemplate: [{
@@ -3983,7 +4063,7 @@ class CaseDetailTabZaakobjectenComponent {
3983
4063
  this.show();
3984
4064
  }
3985
4065
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: CaseDetailTabZaakobjectenComponent, deps: [{ token: i1$2.ActivatedRoute }, { token: ZaakobjectenService }, { token: i3.ModalService }], target: i0.ɵɵFactoryTarget.Component }); }
3986
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", 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", "invalid", "multiple", "margin", "widthInPx", "notFoundText", "clearAllText", "clearText", "clearable", "name", "title", "titleTranslationKey", "clearSelectionSubject$", "tooltip", "required", "loading", "loadingText", "placeholder", "smallMargin", "carbonTheme", "appendInline", "warn", "warnText", "dataTestId"], outputs: ["selectedChange"] }, { kind: "ngmodule", type: InputLabelModule }, { kind: "component", type: i3.InputLabelComponent, selector: "v-input-label", inputs: ["name", "tooltip", "tooltipTranslationKey", "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", "errors", "formRefresh$"], outputs: ["submit", "change", "event"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] }); }
4066
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", 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", "invalid", "multiple", "margin", "widthInPx", "notFoundText", "clearAllText", "clearText", "clearable", "name", "title", "titleTranslationKey", "clearSelectionSubject$", "tooltip", "required", "loading", "loadingText", "placeholder", "smallMargin", "carbonTheme", "appendInline", "warn", "warnText", "dataTestId"], outputs: ["selectedChange"] }, { kind: "ngmodule", type: InputLabelModule }, { kind: "component", type: i3.InputLabelComponent, selector: "v-input-label", inputs: ["name", "tooltip", "tooltipTranslationKey", "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", "errors", "formRefresh$", "preventDoubleSubmit"], outputs: ["submit", "change", "event"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] }); }
3987
4067
  }
3988
4068
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: CaseDetailTabZaakobjectenComponent, decorators: [{
3989
4069
  type: Component,
@@ -4104,7 +4184,7 @@ class CaseDetailTabObjectTypeComponent {
4104
4184
  this.show();
4105
4185
  }
4106
4186
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: CaseDetailTabObjectTypeComponent, deps: [{ token: i1$2.ActivatedRoute }, { token: ZaakobjectenService }, { token: i3.ModalService }], target: i0.ɵɵFactoryTarget.Component }); }
4107
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: CaseDetailTabObjectTypeComponent, isStandalone: true, selector: "valtimo-object-type", viewQueries: [{ propertyName: "viewObjectModal", first: true, predicate: ["viewObjectModal"], 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 objects: objects$ | async,\n columns: columns$ | async,\n loading: loading$ | async,\n hasData: hasData$ | async,\n } as obs\"\n>\n <v-table\n *ngIf=\"obs.hasData || obs.loading\"\n [loading]=\"obs.loading\"\n [items]=\"obs.objects\"\n [columns]=\"obs.columns\"\n [showEditButtons]=\"true\"\n editButtonTranslationKey=\"case.zaakobjecten.objectType.viewObject\"\n [amountOfLoadingRows]=\"2\"\n [itemsTranslationKey]=\"'pluginManagement.tableItemsText'\"\n [showPagination]=\"false\"\n (editButtonClicked)=\"rowClicked($event)\"\n ></v-table>\n\n <v-paragraph *ngIf=\"!obs.hasData && !obs.loading\" [center]=\"true\">{{\n 'case.zaakobjecten.noObjectType' | translate\n }}</v-paragraph>\n</ng-container>\n\n<v-modal #viewObjectModal (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: 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: ParagraphModule }, { kind: "component", type: i3.ParagraphComponent, selector: "v-paragraph", inputs: ["center", "fullWidth", "margin", "italic", "loading", "dataTestId"] }, { 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", "errors", "formRefresh$"], outputs: ["submit", "change", "event"] }] }); }
4187
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: CaseDetailTabObjectTypeComponent, isStandalone: true, selector: "valtimo-object-type", viewQueries: [{ propertyName: "viewObjectModal", first: true, predicate: ["viewObjectModal"], 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 objects: objects$ | async,\n columns: columns$ | async,\n loading: loading$ | async,\n hasData: hasData$ | async,\n } as obs\"\n>\n <v-table\n *ngIf=\"obs.hasData || obs.loading\"\n [loading]=\"obs.loading\"\n [items]=\"obs.objects\"\n [columns]=\"obs.columns\"\n [showEditButtons]=\"true\"\n editButtonTranslationKey=\"case.zaakobjecten.objectType.viewObject\"\n [amountOfLoadingRows]=\"2\"\n [itemsTranslationKey]=\"'pluginManagement.tableItemsText'\"\n [showPagination]=\"false\"\n (editButtonClicked)=\"rowClicked($event)\"\n ></v-table>\n\n <v-paragraph *ngIf=\"!obs.hasData && !obs.loading\" [center]=\"true\">{{\n 'case.zaakobjecten.noObjectType' | translate\n }}</v-paragraph>\n</ng-container>\n\n<v-modal #viewObjectModal (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: 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: ParagraphModule }, { kind: "component", type: i3.ParagraphComponent, selector: "v-paragraph", inputs: ["center", "fullWidth", "margin", "italic", "loading", "dataTestId"] }, { 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", "errors", "formRefresh$", "preventDoubleSubmit"], outputs: ["submit", "change", "event"] }] }); }
4108
4188
  }
4109
4189
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: CaseDetailTabObjectTypeComponent, decorators: [{
4110
4190
  type: Component,
@@ -5771,5 +5851,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
5771
5851
  * Generated bundle index. Do not edit.
5772
5852
  */
5773
5853
 
5774
- export { COLUMN_VIEW_TYPES, CONFIDENTIALITY_LEVELS, CaseDetailTabDocumentenApiDocumentsComponent, CaseDetailTabObjectTypeComponent, CaseDetailTabZaakobjectenComponent, CaseManagementLinkProcessComponent, CaseManagementZgwComponent, CaseManagementZgwService, CaseZakenApiSyncComponent, CaseZakenApiSyncService, DOCUMENTEN_COLUMN_KEYS, DocumentObjectenApiSyncComponent, DocumentObjectenApiSyncService, DocumentenApiColumnModalComponent, DocumentenApiColumnService, DocumentenApiColumnsComponent, DocumentenApiDocumentService, DocumentenApiFilterComponent, DocumentenApiLinkProcessService, DocumentenApiMetadataModalComponent, DocumentenApiPreviewModalComponent, DocumentenApiPreviewService, DocumentenApiTagModalComponent, DocumentenApiTagService, DocumentenApiTagsComponent, DocumentenApiUploadFieldModalComponent, DocumentenApiUploadFieldsComponent, DocumentenApiUploaderComponent, DocumentenApiVersionComponent, DocumentenApiVersionService, FailedNotificationDetailComponent, FailedNotificationsPageComponent, FailedNotificationsService, LANGUAGE_ITEMS, NotificatiesApiInboundEventStatus, NotificatiesApiRoutingModule, STATUS_ITEMS, ZGW_CASE_SYNC_TEST_IDS, ZGW_CASE_TYPE_LINK_TEST_IDS, ZGW_DOCUMENT_COLUMNS_TEST_IDS, ZGW_KEYWORDS_TEST_IDS, ZGW_LINK_UPLOAD_PROCESS_TEST_IDS, ZGW_UPLOAD_FIELDS_TEST_IDS, ZaakobjectenService, ZakenApiZaaktypeLinkComponent, ZakenApiZaaktypeLinkService, ZgwModule, ZgwTabEnum, customDocumentApiUploaderType, documentenApiUploaderEditForm, registerDocumentenApiFormioUploadComponent };
5854
+ export { COLUMN_VIEW_TYPES, CONFIDENTIALITY_LEVELS, CaseDetailTabDocumentenApiDocumentsComponent, CaseDetailTabObjectTypeComponent, CaseDetailTabZaakobjectenComponent, CaseManagementLinkProcessComponent, CaseManagementZgwComponent, CaseManagementZgwService, CaseZakenApiSyncComponent, CaseZakenApiSyncService, DOCUMENTEN_COLUMN_KEYS, DOCUMENT_ACTION_ITEM_TOKEN, DocumentObjectenApiSyncComponent, DocumentObjectenApiSyncService, DocumentenApiColumnModalComponent, DocumentenApiColumnService, DocumentenApiColumnsComponent, DocumentenApiDocumentService, DocumentenApiFilterComponent, DocumentenApiLinkProcessService, DocumentenApiMetadataModalComponent, DocumentenApiPreviewModalComponent, DocumentenApiPreviewService, DocumentenApiTagModalComponent, DocumentenApiTagService, DocumentenApiTagsComponent, DocumentenApiUploadFieldModalComponent, DocumentenApiUploadFieldsComponent, DocumentenApiUploaderComponent, DocumentenApiVersionComponent, DocumentenApiVersionService, FailedNotificationDetailComponent, FailedNotificationsPageComponent, FailedNotificationsService, LANGUAGE_ITEMS, NotificatiesApiInboundEventStatus, NotificatiesApiRoutingModule, STATUS_ITEMS, ZGW_CASE_SYNC_TEST_IDS, ZGW_CASE_TYPE_LINK_TEST_IDS, ZGW_DOCUMENT_COLUMNS_TEST_IDS, ZGW_KEYWORDS_TEST_IDS, ZGW_LINK_UPLOAD_PROCESS_TEST_IDS, ZGW_UPLOAD_FIELDS_TEST_IDS, ZaakobjectenService, ZakenApiZaaktypeLinkComponent, ZakenApiZaaktypeLinkService, ZgwModule, ZgwTabEnum, customDocumentApiUploaderType, documentenApiUploaderEditForm, registerDocumentenApiFormioUploadComponent };
5775
5855
  //# sourceMappingURL=valtimo-zgw.mjs.map