@valtimo/shared 13.25.0 → 13.27.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/core/en.json +43 -5
- package/assets/core/nl.json +43 -5
- package/fesm2022/valtimo-shared.mjs +4 -1
- package/fesm2022/valtimo-shared.mjs.map +1 -1
- package/lib/models/case-management.model.d.ts +1 -0
- package/lib/models/case-management.model.d.ts.map +1 -1
- package/lib/services/configuration-issue.service.d.ts +1 -0
- package/lib/services/configuration-issue.service.d.ts.map +1 -1
- package/package.json +1 -1
package/assets/core/en.json
CHANGED
|
@@ -814,6 +814,35 @@
|
|
|
814
814
|
"message": "This process may use plugins. Make sure you configure them correctly.",
|
|
815
815
|
"title": "Plugin Configuration"
|
|
816
816
|
}
|
|
817
|
+
},
|
|
818
|
+
"plugins": {
|
|
819
|
+
"description": "Connect the correct plugin configurations. Matching plugins are filled automatically. If a plugin configuration is missing you can still continue. You can configure the plugin afterwards and connect it through the case configuration page.",
|
|
820
|
+
"source": "Source",
|
|
821
|
+
"target": "Target",
|
|
822
|
+
"selectPlaceholder": "Select plugin configuration",
|
|
823
|
+
"unknownPlugin": "Unknown plugin",
|
|
824
|
+
"noPlugins": "No plugin configurations need to be mapped for this import.",
|
|
825
|
+
"noPluginsTitle": "No plugins to configure",
|
|
826
|
+
"notInstalled": "Plugin type not installed",
|
|
827
|
+
"noConfigurations": "No configurations available",
|
|
828
|
+
"unidentifiable": {
|
|
829
|
+
"title": "Unidentified plugin configurations",
|
|
830
|
+
"message": "Some plugin configurations could not be identified from the export. The import can continue, but you will need to manually configure the affected process links afterwards."
|
|
831
|
+
}
|
|
832
|
+
}
|
|
833
|
+
},
|
|
834
|
+
"missingPluginConfigurations": {
|
|
835
|
+
"title": "Missing configuration",
|
|
836
|
+
"description": "There are missing plugin configurations for this case. Please link the required plugin configurations below",
|
|
837
|
+
"selectPlaceholder": "Select plugin configuration",
|
|
838
|
+
"unknownPlugin": "Unknown plugin",
|
|
839
|
+
"notInstalled": "Plugin type not installed",
|
|
840
|
+
"noConfigurations": "No configurations available",
|
|
841
|
+
"saveSuccess": "Plugin configuration mappings saved successfully",
|
|
842
|
+
"saveError": "Failed to save plugin configuration mappings",
|
|
843
|
+
"legacyExport": {
|
|
844
|
+
"title": "Unidentified plugin configurations",
|
|
845
|
+
"message": "Some process links reference plugin configurations that could not be identified from the export. Please manually reconfigure the affected process links."
|
|
817
846
|
}
|
|
818
847
|
},
|
|
819
848
|
"createDefinition": {
|
|
@@ -1179,7 +1208,8 @@
|
|
|
1179
1208
|
"modal": {
|
|
1180
1209
|
"header": "Document preview"
|
|
1181
1210
|
},
|
|
1182
|
-
"pdfViewerNotSupported": "Your browser does not support PDF viewing."
|
|
1211
|
+
"pdfViewerNotSupported": "Your browser does not support PDF viewing.",
|
|
1212
|
+
"loading": "A preview version of the document is being generated. This may take a moment."
|
|
1183
1213
|
}
|
|
1184
1214
|
},
|
|
1185
1215
|
"notifications": {
|
|
@@ -1395,6 +1425,7 @@
|
|
|
1395
1425
|
},
|
|
1396
1426
|
"successNotification": "Process deployed successfully",
|
|
1397
1427
|
"errorNotification": "Process failed to deploy",
|
|
1428
|
+
"alreadyExistsNotification": "Process definition already exists",
|
|
1398
1429
|
"deleteNotification": "Process deleted successfully",
|
|
1399
1430
|
"upload": {
|
|
1400
1431
|
"modalTitle": "Upload process definition",
|
|
@@ -1403,10 +1434,10 @@
|
|
|
1403
1434
|
"buttonText": "Select file",
|
|
1404
1435
|
"success": "Deployment successful",
|
|
1405
1436
|
"failure": "Deployment failed",
|
|
1406
|
-
"duplicateKey": "A process with the same key already exists
|
|
1437
|
+
"duplicateKey": "A process with the same key already exists",
|
|
1407
1438
|
"replaceTitle": "Replace existing process?",
|
|
1408
|
-
"replaceContent": "A process with the same key already exists
|
|
1409
|
-
"replaceContentWithDuplicates": "A process with the same key already exists
|
|
1439
|
+
"replaceContent": "A process with the same key already exists. Do you want to replace it?",
|
|
1440
|
+
"replaceContentWithDuplicates": "A process with the same key already exists: {{duplicates}}. Do you want to replace it?",
|
|
1410
1441
|
"replaceConfirm": "Replace"
|
|
1411
1442
|
},
|
|
1412
1443
|
"canInitializeDocument": "Starts case",
|
|
@@ -2206,8 +2237,15 @@
|
|
|
2206
2237
|
},
|
|
2207
2238
|
"iko": {
|
|
2208
2239
|
"searchFieldsNoResults": "No search fields found for this entity",
|
|
2240
|
+
"viewNotFound": "IKO View for key '{{key}}' could not be found.",
|
|
2209
2241
|
"pageTitle": "Views",
|
|
2210
|
-
"searchVia": "Search via"
|
|
2242
|
+
"searchVia": "Search via",
|
|
2243
|
+
"formio": {
|
|
2244
|
+
"back": "Back",
|
|
2245
|
+
"selectResult": "Select a result",
|
|
2246
|
+
"selectedResult": "Selected result",
|
|
2247
|
+
"openInNewTab": "Open in new tab"
|
|
2248
|
+
}
|
|
2211
2249
|
},
|
|
2212
2250
|
"ikoManagement": {
|
|
2213
2251
|
"preparingDownload": "Preparing download",
|
package/assets/core/nl.json
CHANGED
|
@@ -830,6 +830,35 @@
|
|
|
830
830
|
"message": "Dit proces maakt mogelijk gebruik van plugins. Zorg dat je deze goed instelt.",
|
|
831
831
|
"title": "Plugin configuraties"
|
|
832
832
|
}
|
|
833
|
+
},
|
|
834
|
+
"plugins": {
|
|
835
|
+
"description": "Koppel de juiste pluginconfiguraties. Overeenkomende plugins worden automatisch ingevuld. Als een pluginconfiguratie ontbreekt, kun je toch doorgaan. Je kunt de plugin achteraf configureren en koppelen via de dossier configuratiepagina.",
|
|
836
|
+
"source": "Bron",
|
|
837
|
+
"target": "Doel",
|
|
838
|
+
"selectPlaceholder": "Selecteer pluginconfiguratie",
|
|
839
|
+
"unknownPlugin": "Onbekende plugin",
|
|
840
|
+
"noPlugins": "Er hoeven geen pluginconfiguraties te worden gekoppeld voor deze import.",
|
|
841
|
+
"noPluginsTitle": "Geen plugins te configureren",
|
|
842
|
+
"notInstalled": "Plugintype niet geïnstalleerd",
|
|
843
|
+
"noConfigurations": "Geen configuraties beschikbaar",
|
|
844
|
+
"unidentifiable": {
|
|
845
|
+
"title": "Niet-identificeerbare pluginconfiguraties",
|
|
846
|
+
"message": "Sommige pluginconfiguraties konden niet worden herleid uit het exportbestand. De import kan doorgaan, maar de betreffende process links moeten achteraf handmatig worden geconfigureerd."
|
|
847
|
+
}
|
|
848
|
+
}
|
|
849
|
+
},
|
|
850
|
+
"missingPluginConfigurations": {
|
|
851
|
+
"title": "Ontbrekende configuratie",
|
|
852
|
+
"description": "Er ontbreken pluginconfiguraties voor dit dossier. Koppel hieronder de vereiste pluginconfiguraties",
|
|
853
|
+
"selectPlaceholder": "Selecteer pluginconfiguratie",
|
|
854
|
+
"unknownPlugin": "Onbekende plugin",
|
|
855
|
+
"notInstalled": "Plugintype niet geïnstalleerd",
|
|
856
|
+
"noConfigurations": "Geen configuraties beschikbaar",
|
|
857
|
+
"saveSuccess": "Pluginconfiguratie-koppelingen succesvol opgeslagen",
|
|
858
|
+
"saveError": "Kon pluginconfiguratie-koppelingen niet opslaan",
|
|
859
|
+
"legacyExport": {
|
|
860
|
+
"title": "Niet-identificeerbare pluginconfiguraties",
|
|
861
|
+
"message": "Sommige processtappen verwijzen naar pluginconfiguraties die niet konden worden herleid uit het exportbestand. Configureer de betreffende process links handmatig."
|
|
833
862
|
}
|
|
834
863
|
},
|
|
835
864
|
"createDefinition": {
|
|
@@ -1213,7 +1242,8 @@
|
|
|
1213
1242
|
"modal": {
|
|
1214
1243
|
"header": "Document weergave"
|
|
1215
1244
|
},
|
|
1216
|
-
"pdfViewerNotSupported": "Uw browser biedt geen ondersteuning voor het weergeven van PDF bestanden."
|
|
1245
|
+
"pdfViewerNotSupported": "Uw browser biedt geen ondersteuning voor het weergeven van PDF bestanden.",
|
|
1246
|
+
"loading": "Het document wordt geconverteerd voor weergave. Dit kan even duren."
|
|
1217
1247
|
}
|
|
1218
1248
|
},
|
|
1219
1249
|
"notifications": {
|
|
@@ -1432,6 +1462,7 @@
|
|
|
1432
1462
|
},
|
|
1433
1463
|
"successNotification": "Proces succesvol gepubliceerd",
|
|
1434
1464
|
"errorNotification": "Er ging iets mis bij het publiceren van het proces",
|
|
1465
|
+
"alreadyExistsNotification": "Procesdefinitie bestaat al",
|
|
1435
1466
|
"deleteNotification": "Proces succesvol verwijderd",
|
|
1436
1467
|
"upload": {
|
|
1437
1468
|
"modalTitle": "Upload procesdefinitie",
|
|
@@ -1440,10 +1471,10 @@
|
|
|
1440
1471
|
"buttonText": "Selecteer bestand",
|
|
1441
1472
|
"success": "Deployment succesvol",
|
|
1442
1473
|
"failure": "Deployment mislukt",
|
|
1443
|
-
"duplicateKey": "Er bestaat al een proces met dezelfde sleutel
|
|
1474
|
+
"duplicateKey": "Er bestaat al een proces met dezelfde sleutel",
|
|
1444
1475
|
"replaceTitle": "Bestaand proces vervangen?",
|
|
1445
|
-
"replaceContent": "Er bestaat al een proces met dezelfde sleutel
|
|
1446
|
-
"replaceContentWithDuplicates": "Er bestaat al een proces met dezelfde sleutel
|
|
1476
|
+
"replaceContent": "Er bestaat al een proces met dezelfde sleutel. Wilt u dit vervangen?",
|
|
1477
|
+
"replaceContentWithDuplicates": "Er bestaat al een proces met dezelfde sleutel: {{duplicates}}. Wilt u dit vervangen?",
|
|
1447
1478
|
"replaceConfirm": "Vervangen"
|
|
1448
1479
|
},
|
|
1449
1480
|
"canInitializeDocument": "Start een dossier",
|
|
@@ -2248,8 +2279,15 @@
|
|
|
2248
2279
|
},
|
|
2249
2280
|
"iko": {
|
|
2250
2281
|
"searchFieldsNoResults": "Geen zoekvelden gevonden voor deze entiteit",
|
|
2282
|
+
"viewNotFound": "IKO Beeld voor sleutel '{{key}}' kon niet worden gevonden.",
|
|
2251
2283
|
"pageTitle": "Beelden",
|
|
2252
|
-
"searchVia": "Zoeken via"
|
|
2284
|
+
"searchVia": "Zoeken via",
|
|
2285
|
+
"formio": {
|
|
2286
|
+
"back": "Terug",
|
|
2287
|
+
"selectResult": "Selecteer een resultaat",
|
|
2288
|
+
"selectedResult": "Geselecteerd resultaat",
|
|
2289
|
+
"openInNewTab": "Open in nieuw tabblad"
|
|
2290
|
+
}
|
|
2253
2291
|
},
|
|
2254
2292
|
"ikoManagement": {
|
|
2255
2293
|
"preparingDownload": "Download aan het voorbereiden",
|
|
@@ -1126,7 +1126,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
1126
1126
|
* limitations under the License.
|
|
1127
1127
|
*/
|
|
1128
1128
|
const VERSIONS = {
|
|
1129
|
-
frontendLibraries: '13.
|
|
1129
|
+
frontendLibraries: '13.27.0',
|
|
1130
1130
|
};
|
|
1131
1131
|
|
|
1132
1132
|
/*
|
|
@@ -1415,6 +1415,9 @@ class ConfigurationIssueService {
|
|
|
1415
1415
|
hasIssue$(issueType) {
|
|
1416
1416
|
return this._unresolvedIssueTypes$.pipe(map(types => types.has(issueType)));
|
|
1417
1417
|
}
|
|
1418
|
+
hasAnyOfIssues$(issueTypes) {
|
|
1419
|
+
return this._unresolvedIssueTypes$.pipe(map(types => issueTypes.some(t => types.has(t))));
|
|
1420
|
+
}
|
|
1418
1421
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: ConfigurationIssueService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1419
1422
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: ConfigurationIssueService, providedIn: 'root' }); }
|
|
1420
1423
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"valtimo-shared.mjs","sources":["../../../../projects/valtimo/shared/src/lib/utils/router.utils.ts","../../../../projects/valtimo/shared/src/lib/utils/url.utils.ts","../../../../projects/valtimo/shared/src/lib/utils/global-notification.utils.ts","../../../../projects/valtimo/shared/src/lib/utils/route-params.utils.ts","../../../../projects/valtimo/shared/src/lib/utils/display-type.utils.ts","../../../../projects/valtimo/shared/src/lib/utils/validate-bsn.utils.ts","../../../../projects/valtimo/shared/src/lib/utils/index.ts","../../../../projects/valtimo/shared/src/lib/services/base-api.service.ts","../../../../projects/valtimo/shared/src/lib/models/config.ts","../../../../projects/valtimo/shared/src/lib/models/email-notification-settings.model.ts","../../../../projects/valtimo/shared/src/lib/models/menu-item.model.ts","../../../../projects/valtimo/shared/src/lib/models/menu.config.ts","../../../../projects/valtimo/shared/src/lib/models/security.config.ts","../../../../projects/valtimo/shared/src/lib/models/extension.model.ts","../../../../projects/valtimo/shared/src/lib/models/http-loader.ts","../../../../projects/valtimo/shared/src/lib/models/roles.ts","../../../../projects/valtimo/shared/src/lib/models/user-management.model.ts","../../../../projects/valtimo/shared/src/lib/models/page.ts","../../../../projects/valtimo/shared/src/lib/models/search.model.ts","../../../../projects/valtimo/shared/src/lib/models/versions.model.ts","../../../../projects/valtimo/shared/src/lib/models/user-settings.model.ts","../../../../projects/valtimo/shared/src/lib/models/translation.model.ts","../../../../projects/valtimo/shared/src/lib/models/localization.model.ts","../../../../projects/valtimo/shared/src/lib/models/form-view-model.model.ts","../../../../projects/valtimo/shared/src/lib/models/window.model.ts","../../../../projects/valtimo/shared/src/lib/models/management.model.ts","../../../../projects/valtimo/shared/src/lib/models/tag-color.model.ts","../../../../projects/valtimo/shared/src/lib/models/global-configuration.model.ts","../../../../projects/valtimo/shared/src/lib/models/modal.model.ts","../../../../projects/valtimo/shared/src/lib/models/display-type.model.ts","../../../../projects/valtimo/shared/src/lib/models/building-block-management.model.ts","../../../../projects/valtimo/shared/src/lib/models/index.ts","../../../../projects/valtimo/shared/src/lib/services/config.service.ts","../../../../projects/valtimo/shared/src/lib/services/global-notification.service.ts","../../../../projects/valtimo/shared/src/lib/services/localization.service.ts","../../../../projects/valtimo/shared/src/lib/services/menu-include.service.ts","../../../../projects/valtimo/shared/src/lib/services/user-settings.service.ts","../../../../projects/valtimo/shared/src/lib/constants/versions.ts","../../../../projects/valtimo/shared/src/lib/constants/case-management-tab-token.ts","../../../../projects/valtimo/shared/src/lib/constants/form-view-model-token.ts","../../../../projects/valtimo/shared/src/lib/constants/error.constants.ts","../../../../projects/valtimo/shared/src/lib/constants/case-configuration-extensions-token.ts","../../../../projects/valtimo/shared/src/lib/constants/iko.token.ts","../../../../projects/valtimo/shared/src/lib/constants/building-block-management-tab-token.ts","../../../../projects/valtimo/shared/src/lib/constants/index.ts","../../../../projects/valtimo/shared/src/lib/services/environment.service.ts","../../../../projects/valtimo/shared/src/lib/services/draft-version.service.ts","../../../../projects/valtimo/shared/src/lib/services/edit-permissions.service.ts","../../../../projects/valtimo/shared/src/lib/services/configuration-issue.service.ts","../../../../projects/valtimo/shared/src/lib/services/index.ts","../../../../projects/valtimo/shared/src/lib/components/global-notification.component.ts","../../../../projects/valtimo/shared/src/lib/extension/extension.component.ts","../../../../projects/valtimo/shared/src/lib/extension/extension.component.html","../../../../projects/valtimo/shared/src/lib/config.module.ts","../../../../projects/valtimo/shared/src/lib/testing/services/mock-translate.service.ts","../../../../projects/valtimo/shared/src/lib/testing/services/mock-keycloak.service.ts","../../../../projects/valtimo/shared/src/lib/testing/services/mock-icon.service.ts","../../../../projects/valtimo/shared/src/lib/testing/services/index.ts","../../../../projects/valtimo/shared/src/lib/testing/index.ts","../../../../projects/valtimo/shared/src/lib/translation/custom-multi-translate-http-loader.ts","../../../../projects/valtimo/shared/src/lib/translation/custom-multi-translate-http-loader-factory.ts","../../../../projects/valtimo/shared/src/lib/translation/multi-translate-http-loader-factory.ts","../../../../projects/valtimo/shared/src/lib/translation/index.ts","../../../../projects/valtimo/shared/src/lib/zgw/constants/zgw-object-type-component-token.ts","../../../../projects/valtimo/shared/src/lib/zgw/constants/zgw-documenten-api-documents-component-token.ts","../../../../projects/valtimo/shared/src/lib/zgw/constants/index.ts","../../../../projects/valtimo/shared/src/lib/zgw/index.ts","../../../../projects/valtimo/shared/src/lib/generated/generated-backend-types.ts","../../../../projects/valtimo/shared/src/public-api.ts","../../../../projects/valtimo/shared/src/valtimo-shared.ts"],"sourcesContent":["/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {ExtraOptions} from '@angular/router';\n\nclass RouterUtils {\n public static getRouterExtraOptions(): ExtraOptions {\n return {canceledNavigationResolution: 'computed'};\n }\n}\n\nexport {RouterUtils};\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\nclass UrlUtils {\n static formatUrlTrailingSlash(url: string, returnWithTrailingSlash: boolean): string {\n if (url && typeof url === 'string') {\n const urlLastCharacter = url[url.length - 1];\n const urlLastCharacterIsSlash = urlLastCharacter === '/';\n\n if (!returnWithTrailingSlash && urlLastCharacterIsSlash) {\n return url.slice(0, -1);\n } else if (returnWithTrailingSlash && !urlLastCharacterIsSlash) {\n return `${url}/`;\n }\n }\n\n return url;\n }\n\n static formatUrlStartWithSlash(url: string): string {\n if (url && typeof url === 'string' && url.length > 0 && url[0] !== '/') {\n return `/${url}`;\n }\n\n return `${url}`;\n }\n\n static getUrlHost(urlString: string): string {\n let url!: URL;\n\n try {\n url = new URL(urlString);\n } catch (_) {}\n\n return url ? url.host : '';\n }\n}\n\nexport {UrlUtils};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NotificationContent} from 'carbon-components-angular';\n\nexport const DEFAULT_NOTIFICATION_PARAMS = {\n duration: 4000,\n showClose: true,\n};\n\nexport const getNotificationObject = (content: NotificationContent): NotificationContent => ({\n ...DEFAULT_NOTIFICATION_PARAMS,\n ...content,\n});\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport {BuildingBlockManagementParams, CaseManagementParams, ManagementContext} from '../models';\nimport {ActivatedRoute} from '@angular/router';\nimport {combineLatest, distinctUntilChanged, filter, map, Observable, of, switchMap} from 'rxjs';\nimport {isEqual} from 'lodash';\n\nconst getCaseManagementRouteParams = (\n route: ActivatedRoute,\n doFilter = false\n): Observable<CaseManagementParams | undefined> => {\n const rootParams$ = route.params ? route.params : of({});\n const parentParams$ = route.parent?.params ? route.parent.params : of({});\n return combineLatest([rootParams$, parentParams$]).pipe(\n map(([rootParams, parentParams]) => {\n const caseDefinitionKey =\n rootParams['caseDefinitionKey'] || parentParams['caseDefinitionKey'];\n const caseDefinitionVersionTag =\n rootParams['caseDefinitionVersionTag'] || parentParams['caseDefinitionVersionTag'];\n if (caseDefinitionKey && caseDefinitionVersionTag) {\n return {caseDefinitionKey, caseDefinitionVersionTag};\n }\n return null;\n }),\n filter((params): params is CaseManagementParams => (doFilter ? params !== null : true)),\n distinctUntilChanged((previous, current) => isEqual(previous, current))\n );\n};\n\nconst getBuildingBlockManagementRouteParams = (\n route: ActivatedRoute,\n doFilter = false\n): Observable<BuildingBlockManagementParams | undefined> => {\n const rootParams$ = route.params ? route.params : of({});\n const parentParams$ = route.parent?.params ? route.parent.params : of({});\n return combineLatest([rootParams$, parentParams$]).pipe(\n map(([rootParams, parentParams]) => {\n const buildingBlockDefinitionKey =\n rootParams['buildingBlockDefinitionKey'] || parentParams['buildingBlockDefinitionKey'];\n const buildingBlockDefinitionVersionTag =\n rootParams['buildingBlockDefinitionVersionTag'] ||\n parentParams['buildingBlockDefinitionVersionTag'];\n if (buildingBlockDefinitionKey && buildingBlockDefinitionVersionTag) {\n return {buildingBlockDefinitionKey, buildingBlockDefinitionVersionTag};\n }\n return null;\n }),\n filter((params): params is BuildingBlockManagementParams =>\n doFilter ? params !== null : true\n ),\n distinctUntilChanged((previous, current) => isEqual(previous, current))\n );\n};\n\nfunction getContextObservable(route: ActivatedRoute): Observable<ManagementContext | null> {\n // Traverse the route hierarchy to find the context data\n // The context is set on a parent route, so we need to look up the tree\n let currentRoute: ActivatedRoute | null = route;\n while (currentRoute) {\n const context = currentRoute.snapshot?.data?.['context'] as ManagementContext | undefined;\n if (context) {\n return currentRoute.data.pipe(\n map(data => (data && (data['context'] as ManagementContext)) || null),\n distinctUntilChanged()\n );\n }\n currentRoute = currentRoute.parent;\n }\n\n // Fallback to original behavior if no context found in hierarchy\n return route.data.pipe(\n map(data => (data && (data['context'] as ManagementContext)) || null),\n distinctUntilChanged()\n );\n}\n\nfunction getCaseManagementRouteParamsAndContext(\n route: ActivatedRoute\n): Observable<[ManagementContext, CaseManagementParams]> {\n const params$ = getCaseManagementRouteParams(route, true);\n const context$ = getContextObservable(route);\n\n return context$.pipe(\n switchMap(context => {\n if (context === 'case') {\n return combineLatest([of(context), params$]) as Observable<\n [ManagementContext, CaseManagementParams]\n >;\n }\n\n const fallbackParams: CaseManagementParams = {\n caseDefinitionKey: '',\n caseDefinitionVersionTag: '',\n };\n return of([context, fallbackParams] as [ManagementContext, CaseManagementParams]);\n })\n );\n}\n\nexport {\n getCaseManagementRouteParams,\n getContextObservable,\n getCaseManagementRouteParamsAndContext,\n getBuildingBlockManagementRouteParams,\n};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {DisplayTypeParameters} from '../models';\n\nconst getDisplayTypeParametersView = (displayTypeParameters: DisplayTypeParameters): string => {\n if (displayTypeParameters?.dateFormat) {\n return displayTypeParameters.dateFormat;\n } else if (displayTypeParameters?.tagAmount) {\n return displayTypeParameters.tagAmount.toString();\n } else if (displayTypeParameters?.enum) {\n return Object.keys(displayTypeParameters.enum).reduce((acc, curr) => {\n const keyValuePairString = `${curr}: ${displayTypeParameters.enum?.[curr]}`;\n if (!acc) {\n return `${keyValuePairString}`;\n }\n\n return `${acc}, ${keyValuePairString}`;\n }, '');\n }\n\n return '-';\n};\n\nexport {getDisplayTypeParametersView};\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\nconst validateBsn = (value: string): {isValid: boolean; errorKey: string | null} => {\n const baseKey = 'interface.dataValidation.bsnValidator';\n\n if (!value) {\n return {isValid: false, errorKey: `${baseKey}.valueEmpty`};\n }\n\n const trimmed = value.toString().trim();\n\n if (!/^\\d+$/.test(trimmed)) {\n return {isValid: false, errorKey: `${baseKey}.valueOnlyDigits`};\n }\n\n if (trimmed.length < 8 || trimmed.length > 9) {\n return {isValid: false, errorKey: `${baseKey}.valueMinLength`};\n }\n\n if (trimmed.length > 9) {\n return {isValid: false, errorKey: `${baseKey}.valueMaxLength`};\n }\n\n if (/^0+$/.test(trimmed) || /^9+$/.test(trimmed)) {\n return {isValid: false, errorKey: `${baseKey}.valueAllZerosOrNines`};\n }\n\n const digits = trimmed.split('').map(d => parseInt(d, 10));\n let sum = 0;\n const length = digits.length;\n\n for (let i = 0; i < length; i++) {\n const weight = i === length - 1 ? -1 : length - i;\n sum += digits[i] * weight;\n }\n\n if (sum % 11 !== 0) {\n return {isValid: false, errorKey: `${baseKey}.valueElfCheck`};\n }\n\n return {isValid: true, errorKey: null};\n};\n\nexport {validateBsn};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './router.utils';\nexport * from './url.utils';\nexport * from './global-notification.utils';\nexport * from './route-params.utils';\nexport * from './display-type.utils';\nexport * from './validate-bsn.utils';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService} from './config.service';\nimport {UrlUtils} from '../utils';\n\nexport abstract class BaseApiService {\n private readonly _valtimoEndpointUri!: string;\n\n constructor(\n protected readonly httpClient: HttpClient,\n protected readonly configService: ConfigService\n ) {\n this._valtimoEndpointUri = configService.config.valtimoApi.endpointUri;\n }\n\n public getApiUrl(urlPart: string): string {\n const urlWithStartSlash = UrlUtils.formatUrlStartWithSlash(urlPart);\n const urlFormattedWithTrailingSlash = `${UrlUtils.formatUrlTrailingSlash(this._valtimoEndpointUri, false)}${urlWithStartSlash}`;\n return urlFormattedWithTrailingSlash;\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {InjectionToken, Injector} from '@angular/core';\nimport {Auth} from './security.config';\nimport {MenuConfig} from './menu.config';\nimport {CSPHeaderParams} from 'csp-header';\n\nconst VALTIMO_CONFIG = new InjectionToken<ValtimoConfig>('valtimoConfig');\n\n// eslint-disable-next-line\nconst INITIALIZERS = new InjectionToken<(() => Function)[]>('initializers');\n\ndeclare type Direction = 'ASC' | 'DESC';\n\ninterface DefinitionColumn {\n propertyName: string;\n translationKey: string;\n sortable?: boolean;\n viewType?: string;\n default?: boolean | string;\n enum?: Array<string> | {[key: string]: string};\n title?: string;\n format?: string;\n key?: string;\n tagAmount?: number;\n}\n\ninterface CustomTaskList {\n fields: Array<DefinitionColumn>;\n defaultSortedColumn?: SortState;\n}\n\ninterface CustomLeftSidebar {\n defaultMenuWidth?: number;\n maxMenuWidth?: number;\n minMenuWidth?: number;\n}\n\ninterface Sort {\n name: string;\n direction: Direction;\n}\n\ninterface SortState {\n state: Sort;\n isSorting: boolean;\n}\n\ninterface FormioOptions {\n [key: string]: any;\n}\n\ninterface OverrideFormioOptions extends FormioOptions {\n [key: string]: any;\n}\n\ninterface ValtimoConfigFeatureToggles {\n applicationTitleAsSuffix?: boolean;\n enableHackathonCasesPage?: boolean;\n showUserNameInTopBar?: boolean;\n showPlantATreeButton?: boolean;\n experimentalDmnEditing?: boolean;\n disableCaseCount?: boolean;\n caseListColumn?: boolean;\n enableObjectManagement?: boolean;\n largeLogoMargin?: boolean;\n sortFilesByDate?: boolean;\n returnToLastUrlAfterTokenExpiration?: boolean;\n enableTabManagement?: boolean;\n hideValtimoVersionsForNonAdmins?: boolean;\n useStartEventNameAsStartFormTitle?: boolean;\n allowUserThemeSwitching?: boolean;\n enableCompactModeToggle?: boolean;\n compactModeOnByDefault?: boolean;\n enableUserNameInTopBarToggle?: boolean;\n enableFormViewModel?: boolean;\n enableIntermediateSave?: boolean;\n enableTaskPanel?: boolean;\n enableFormFlowBreadcrumbs?: boolean;\n enablePbacDocumentenApiDocuments?: boolean;\n enableSuppressDocumentError?: boolean;\n enableIkoType?: boolean;\n}\n\ninterface ValtimoConfig {\n // eslint-disable-next-line\n logoSvgBase64?: string;\n darkModeLogoSvgBase64?: string;\n logoPngBase64?: string;\n darkModeLogoPngBase64?: string;\n applicationTitle?: string;\n /**@deprecated Initializers will be removed in the future. */\n initializers?: ((injector: Injector) => () => void)[];\n menu: MenuConfig;\n authentication: Auth;\n production: boolean;\n whitelistedDomains: string[];\n langKey?: Language;\n valtimoApi: {\n endpointUri: string;\n };\n changePasswordUrl?: {\n endpointUri: string;\n };\n swagger: {\n endpointUri: string;\n };\n mockApi: {\n endpointUri: string;\n };\n logger: any;\n definitions: any;\n openZaak: {\n catalogus: string;\n };\n uploadProvider: UploadProvider;\n caseFileSizeUploadLimitMB?: number;\n caseFileUploadAcceptedFiles?: string;\n supportedDocumentFileTypesToViewInBrowser?: string[];\n defaultDefinitionTable: Array<DefinitionColumn>;\n translationResources?: Array<string>;\n featureToggles?: ValtimoConfigFeatureToggles;\n visibleTaskListTabs?: Array<TaskListTab>;\n visibleCaseListTabs?: Array<CaseListTab>;\n customTaskList?: CustomTaskList;\n customLeftSidebar?: CustomLeftSidebar;\n caseObjectTypes?: {\n [definitionNameId: string]: Array<string>;\n };\n overrideFeedbackMenuItemToMailTo?: FeedbackMailTo;\n csp?: CSPHeaderParams;\n formioOptions?: OverrideFormioOptions;\n}\n\ninterface FeedbackMailTo {\n email?: string;\n subjectTranslationKey: string;\n bodyTranslationKey: string;\n}\n\nenum UploadProvider {\n S3,\n /**@deprecated This upload provider will be removed in the future. */\n OPEN_ZAAK,\n DOCUMENTEN_API,\n}\n\nenum TaskListTab {\n MINE = 'mine',\n OPEN = 'open',\n ALL = 'all',\n TEAM = 'team',\n}\n\nenum CaseListTab {\n MINE = 'MINE',\n OPEN = 'OPEN',\n ALL = 'ALL',\n TEAM = 'TEAM',\n}\n\nenum Language {\n NL = 'nl',\n EN = 'en',\n}\n\nexport {\n VALTIMO_CONFIG,\n INITIALIZERS,\n Direction,\n DefinitionColumn,\n CustomTaskList,\n CustomLeftSidebar,\n Sort,\n SortState,\n OverrideFormioOptions,\n ValtimoConfigFeatureToggles,\n ValtimoConfig,\n FeedbackMailTo,\n UploadProvider,\n TaskListTab,\n CaseListTab,\n Language,\n};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport interface EmailNotificationSettings {\n emailNotifications: boolean;\n taskNotifications: boolean;\n emailNotificationOnMonday: boolean;\n emailNotificationOnTuesday: boolean;\n emailNotificationOnWednesday: boolean;\n emailNotificationOnThursday: boolean;\n emailNotificationOnFriday: boolean;\n emailNotificationOnSaturday: boolean;\n emailNotificationOnSunday: boolean;\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Observable} from 'rxjs';\n\nenum IncludeFunction {\n ObjectManagementEnabled,\n}\n\ninterface MenuItem {\n title: string;\n sequence: number;\n id?: string;\n link?: string[] | null;\n textClass?: string;\n iconClass?: string;\n children?: MenuItem[];\n roles?: string[];\n show?: boolean;\n count$?: Observable<number>;\n includeFunction?: IncludeFunction;\n}\n\nexport {MenuItem, IncludeFunction};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {MenuItem} from './menu-item.model';\n\nexport interface MenuConfig {\n menuItems: MenuItem[];\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Observable, ReplaySubject} from 'rxjs';\nimport {EmailNotificationSettings} from './email-notification-settings.model';\nimport {Injector} from '@angular/core';\n\nexport interface UserIdentity {\n email: string;\n firstName: string;\n lastName: string;\n roles: Array<string>;\n username?: string;\n id?: string;\n}\n\nexport class ValtimoUserIdentity implements UserIdentity {\n private readonly _email: string;\n private readonly _firstName: string;\n private readonly _lastName: string;\n private readonly _roles: string[];\n private readonly _username?: string;\n private readonly _id?: string;\n\n constructor(\n email: string,\n firstName: string,\n lastName: string,\n roles: Array<string>,\n username?: string,\n id?: string\n ) {\n this._email = email;\n this._firstName = firstName;\n this._lastName = lastName;\n this._roles = roles;\n this._username = username;\n this._id = id;\n }\n\n get email(): string {\n return this._email;\n }\n\n get firstName(): string {\n return this._firstName;\n }\n\n get lastName(): string {\n return this._lastName;\n }\n\n get roles(): string[] {\n return this._roles;\n }\n\n get username(): string | undefined {\n return this._username;\n }\n\n get id(): string | undefined {\n return this._id;\n }\n}\n\nexport interface UserService {\n getUserSubject(): ReplaySubject<UserIdentity>;\n\n logout(): void;\n\n getToken(): Promise<string>;\n\n updateToken?(minValidity: number): Promise<boolean>;\n}\n\nexport interface EmailNotificationService {\n getEmailNotificationSettings(): Observable<EmailNotificationSettings>;\n\n updateEmailNotificationSettings(\n settings: EmailNotificationSettings\n ): Observable<EmailNotificationSettings>;\n}\n\nexport interface AuthProviders {\n guardServiceProvider: any;\n userServiceProvider: any;\n}\n\nexport interface Auth {\n module: any;\n // eslint-disable-next-line\n initializer: (injector: Injector) => Function;\n authProviders: AuthProviders;\n options: any;\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {ComponentFactoryResolver, ComponentRef, ViewContainerRef} from '@angular/core';\n\nexport interface ExtensionPoint {\n module: string;\n page: string;\n section: string;\n component: any;\n}\n\nexport class ExtensionLoader {\n private readonly componentFactoryResolver: ComponentFactoryResolver = null;\n private componentRef: ComponentRef<any> = null;\n\n constructor(componentFactoryResolver: ComponentFactoryResolver) {\n this.componentFactoryResolver = componentFactoryResolver;\n }\n\n loadExtensionPoint(viewContainerRef: ViewContainerRef, extensionPoint: ExtensionPoint) {\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(\n extensionPoint.component\n );\n this.componentRef = viewContainerRef.createComponent(componentFactory);\n }\n\n loadAndClearExtensionPoint(viewContainerRef: ViewContainerRef, extensionPoint: ExtensionPoint) {\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(\n extensionPoint.component\n );\n viewContainerRef.clear();\n return (this.componentRef = viewContainerRef.createComponent(componentFactory));\n }\n}\n\nexport class Extension {\n public readonly _name: string;\n public readonly _extensionPoint: BasicExtensionPoint;\n\n constructor(name: string, extensionPoint: BasicExtensionPoint) {\n this._name = name;\n this._extensionPoint = extensionPoint;\n }\n\n get extensionPoint(): BasicExtensionPoint {\n return this._extensionPoint;\n }\n}\n\nexport class BasicExtensionPoint implements ExtensionPoint {\n private readonly _module: string;\n private readonly _page: string;\n private readonly _section: string;\n private readonly _component: any;\n\n constructor(module: string, page: string, section: string, component: any) {\n this._module = module;\n this._page = page;\n this._section = section;\n this._component = component;\n }\n\n supports(module: string, page: string, section: string): boolean {\n return this._module === module && this._page === page && this._section === section;\n }\n\n get module(): string {\n return this._module;\n }\n\n get page(): string {\n return this._page;\n }\n\n get section(): string {\n return this._section;\n }\n\n get component(): any {\n return this._component;\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {TranslateHttpLoader} from '@ngx-translate/http-loader';\nimport {HttpClient} from '@angular/common/http';\n\nexport function HttpLoaderFactory(httpClient: HttpClient) {\n return new TranslateHttpLoader(httpClient);\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport const ROLE_ADMIN = 'ROLE_ADMIN';\nexport const ROLE_USER = 'ROLE_USER';\nexport const ROLE_DEVELOPER = 'ROLE_DEVELOPER';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport interface User {\n id: string;\n fullName: string;\n firstName: string;\n lastName: string;\n email: string;\n roles: Array<string>;\n langKey: string;\n activated: boolean;\n emailVerified: boolean;\n verified: string;\n status: string;\n}\n\nexport interface NamedUser {\n id: string;\n email: string;\n firstName: string;\n lastName: string;\n label: string;\n userName: string;\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\ninterface SortResult {\n sorted: boolean;\n unsorted: boolean;\n}\n\ninterface Pageable {\n sort: SortResult;\n pageSize: number;\n pageNumber: number;\n offset: number;\n unpaged: boolean;\n paged: boolean;\n}\n\ninterface Page<T> {\n content: Array<T>;\n pageable: Pageable;\n last: boolean;\n totalPages: number;\n totalElements: number;\n first: boolean;\n sort: SortResult;\n numberOfElements: number;\n size: number;\n number: number;\n [key: string]: any;\n}\n\nexport {SortResult, Pageable, Page};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {SearchFieldMatchType} from '../generated';\n\ntype SearchFieldDataType = 'text' | 'number' | 'date' | 'datetime' | 'boolean' | 'bsn';\n\ntype SearchFieldFieldType =\n | 'single'\n | 'multiple'\n | 'range'\n | 'single-select-dropdown'\n | 'multi-select-dropdown';\n\n\ntype SearchFieldBoolean = 'booleanPositive' | 'booleanNegative';\n\ntype BooleanValueSingle = boolean;\n\ntype TextValueSingle = string;\ntype ValueMultiple = Array<\n BooleanValueSingle | TextValueSingle | NumberValueSingle | NumberValueRange\n>;\n\ntype NumberValueSingle = number;\n\ninterface NumberValueRange {\n start: NumberValueSingle;\n end: NumberValueSingle;\n}\n\ntype SearchFieldValue =\n | BooleanValueSingle\n | TextValueSingle\n | ValueMultiple\n | NumberValueSingle\n | NumberValueRange;\n\ninterface SearchField {\n ownerId?: string;\n title?: string;\n key: string;\n path?: string;\n order?: number;\n dataType: SearchFieldDataType;\n fieldType: SearchFieldFieldType;\n matchType?: SearchFieldMatchType;\n dropdownDataProvider?: string;\n uuid?: string;\n}\n\ninterface SearchFieldWithValue extends SearchField {\n value: SearchFieldValue;\n}\n\ninterface SearchFieldValues {\n [searchFieldKey: string]: SearchFieldValue;\n}\n\ninterface SearchFieldColumnView {\n title: string;\n key: string;\n path: string;\n dataType: string;\n fieldType: string;\n}\n\ntype SearchOperator = 'AND' | 'OR';\n\ntype AssigneeFilter = 'OPEN' | 'MINE' | 'ALL' | 'TEAM';\n\ninterface SearchFilter {\n key: string;\n values: Array<string>;\n multiValue?: boolean;\n}\n\ninterface SearchFilterRange {\n key: string;\n rangeFrom: string;\n rangeTo: string;\n}\n\nexport {\n SearchFieldDataType,\n SearchFieldFieldType,\n SearchFieldMatchType,\n SearchFieldBoolean,\n SearchField,\n SearchFieldValue,\n SearchFieldWithValue,\n SearchFieldValues,\n SearchFieldColumnView,\n SearchOperator,\n SearchFilter,\n SearchFilterRange,\n AssigneeFilter,\n};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\ninterface Versions {\n frontendLibraries: string;\n}\n\nexport {Versions};\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\ninterface UserSettings {\n collapsibleWidescreenMenu?: boolean;\n languageCode?: string;\n compactMode?: boolean;\n showUserNameInTopBar?: boolean;\n preferredTheme?: string;\n}\n\nexport {UserSettings};\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\ninterface ITranslationResource {\n prefix: string;\n suffix?: string;\n optional?: boolean;\n}\n\nexport {ITranslationResource};\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\ntype LocalizationContent = object;\n\ninterface Localization {\n languageKey: string;\n content: LocalizationContent;\n}\n\ninterface MergedLocalizations {\n [languageKey: string]: LocalizationContent;\n}\n\nexport {Localization, LocalizationContent, MergedLocalizations};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Type} from '@angular/core';\n\ninterface FormViewModel {\n component: Type<any>;\n}\n\nexport {FormViewModel};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {editor} from 'monaco-editor';\n\ntype MonacoEditor = typeof editor;\n\ninterface ValtimoWindow extends Window {\n monaco?: {\n editor?: MonacoEditor;\n };\n flags?: {\n formioValueResolverSelectorComponentRegistered: boolean;\n };\n}\n\nexport {ValtimoWindow};\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\ntype ManagementContext = 'case' | 'independent' | 'buildingBlock';\n\nexport {ManagementContext};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport enum TagColor {\n WarmGray = 'WARMGRAY',\n Red = 'RED',\n Magenta = 'MAGENTA',\n Purple = 'PURPLE',\n Blue = 'BLUE',\n Cyan = 'CYAN',\n Teal = 'TEAL',\n Green = 'GREEN',\n Gray = 'GRAY',\n CoolGray = 'COOLGRAY',\n HighContrast = 'HIGHCONTRAST',\n Outline = 'OUTLINE',\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\ninterface GlobalConfiguration {\n canUpdateGlobalConfiguration: boolean;\n}\n\nexport {GlobalConfiguration};\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\ntype ModalMode = 'add' | 'edit' | 'delete' | 'duplicate';\n\ntype ModalCloseEvent = 'close' | 'closeAndRefresh';\n\nexport {ModalMode, ModalCloseEvent};\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\ninterface DisplayType {\n type: string;\n displayTypeParameters: DisplayTypeParameters;\n}\n\ninterface DisplayTypeParameters {\n enum?: {\n [key: string]: string;\n };\n dateFormat?: string;\n tagAmount?: number;\n}\n\nexport {DisplayTypeParameters, DisplayType};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Type} from '@angular/core';\nimport {Observable} from 'rxjs';\n\ninterface BuildingBlockManagementParams {\n buildingBlockDefinitionKey: string;\n buildingBlockDefinitionVersionTag: string;\n}\n\ninterface BuildingBlockManagementTabConfig {\n translationKey: string;\n component: Type<any>;\n tabRoute: string;\n enabled$?: Observable<boolean>;\n}\n\nexport {BuildingBlockManagementParams, BuildingBlockManagementTabConfig};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './config';\nexport * from './email-notification-settings.model';\nexport * from './menu-item.model';\nexport * from './menu.config';\nexport * from './security.config';\nexport * from './extension.model';\nexport * from './http-loader';\nexport * from './roles';\nexport * from './user-management.model';\nexport * from './page';\nexport * from './search.model';\nexport * from './versions.model';\nexport * from './user-settings.model';\nexport * from './translation.model';\nexport * from './localization.model';\nexport * from './form-view-model.model';\nexport * from './window.model';\nexport * from './management.model';\nexport * from './tag-color.model';\nexport * from './global-configuration.model';\nexport * from './case-management.model';\nexport * from './modal.model';\nexport * from './display-type.model';\nexport * from './building-block-management.model';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {ComponentFactoryResolver, Inject, Injectable, ViewContainerRef} from '@angular/core';\nimport {\n Extension,\n ExtensionLoader,\n ExtensionPoint,\n VALTIMO_CONFIG,\n ValtimoConfig,\n ValtimoConfigFeatureToggles,\n} from '../models';\nimport {UrlUtils} from '../utils';\nimport {map, Observable, of} from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigService {\n private readonly extensionLoader: ExtensionLoader;\n private readonly extensions: Array<Extension> = [];\n private readonly DEFAULT_APPLICATION_TITLE = 'Valtimo';\n\n constructor(\n @Inject(VALTIMO_CONFIG) private valtimoConfig: ValtimoConfig,\n private componentFactoryResolver: ComponentFactoryResolver\n ) {\n this.extensionLoader = new ExtensionLoader(componentFactoryResolver);\n }\n\n public get config(): ValtimoConfig {\n const config = this.valtimoConfig;\n const translationResourcesConfig = config.translationResources;\n\n return {\n ...config,\n initializers: config.initializers || [],\n whitelistedDomains: config.whitelistedDomains.map(domain =>\n UrlUtils.formatUrlTrailingSlash(domain, false)\n ),\n mockApi: {\n ...config.mockApi,\n endpointUri: UrlUtils.formatUrlTrailingSlash(config.mockApi.endpointUri, true),\n },\n swagger: {\n ...config.swagger,\n endpointUri: UrlUtils.formatUrlTrailingSlash(config.swagger.endpointUri, false),\n },\n valtimoApi: {\n ...config.valtimoApi,\n endpointUri: UrlUtils.formatUrlTrailingSlash(config.valtimoApi.endpointUri, true),\n },\n ...(translationResourcesConfig && {\n translationResources: translationResourcesConfig.map(resource =>\n UrlUtils.formatUrlTrailingSlash(resource, true)\n ),\n }),\n applicationTitle: config.applicationTitle || this.DEFAULT_APPLICATION_TITLE,\n };\n }\n\n public get featureToggles(): ValtimoConfig['featureToggles'] {\n return this.config.featureToggles;\n }\n\n public get config$(): Observable<ValtimoConfig> {\n return of(this.config);\n }\n\n public get featureToggles$(): Observable<ValtimoConfig['featureToggles']> {\n return of(this.config.featureToggles);\n }\n\n public get initializers() {\n return this.valtimoConfig?.initializers || [];\n }\n\n public addExtension(extension: Extension) {\n return this.extensions.push(extension);\n }\n\n public getSupportedExtensionPoint(module: string, page: string, section: string) {\n return this.extensions.find(extension =>\n extension.extensionPoint.supports(module, page, section)\n );\n }\n\n public getSupportedExtensionPoints(module: string, page: string, section: string) {\n return this.extensions.filter(extension =>\n extension.extensionPoint.supports(module, page, section)\n );\n }\n\n public loadExtensionPoint(viewContainerRef: ViewContainerRef, extensionPoint: ExtensionPoint) {\n this.extensionLoader.loadExtensionPoint(viewContainerRef, extensionPoint);\n }\n\n public loadAndReturnExtensionPoint(\n viewContainerRef: ViewContainerRef,\n extensionPoint: ExtensionPoint\n ) {\n return this.extensionLoader.loadAndClearExtensionPoint(viewContainerRef, extensionPoint);\n }\n\n public getFeatureToggleObservable(\n featureToggle: keyof ValtimoConfigFeatureToggles\n ): Observable<boolean> {\n return this.featureToggles$.pipe(\n map(featureToggles => !!(featureToggles && featureToggles[featureToggle]))\n );\n }\n\n public getFeatureToggle(featureToggle: keyof ValtimoConfigFeatureToggles): boolean {\n return !!(this.featureToggles && this.featureToggles[featureToggle]);\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport {ComponentRef, EventEmitter, Injectable} from '@angular/core';\nimport {\n ActionableContent,\n ActionableNotification,\n Notification,\n NotificationContent,\n NotificationService,\n Toast,\n ToastContent,\n} from 'carbon-components-angular';\nimport {take} from 'rxjs';\nimport {getNotificationObject} from '../utils';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class GlobalNotificationService {\n private _notificationService: NotificationService | null = null;\n private readonly _notificationQueue: (Notification & {id: string})[] = [];\n\n public setNotificationService(service: NotificationService): void {\n this._notificationService = service;\n }\n\n public getNotificationService(): NotificationService | null {\n return this._notificationService;\n }\n\n public showNotification(\n notificationObj: NotificationContent | ToastContent | ActionableContent,\n notificationComp: typeof Notification = Notification\n ): Notification | null {\n if (!this._notificationService) return null;\n\n return this.handleNotificationRef(\n this._notificationService?.showNotification(\n getNotificationObject(notificationObj),\n notificationComp\n )\n );\n }\n\n public showToast(\n notificationObj: NotificationContent | ToastContent,\n notificationComp: typeof Toast = Toast\n ): Notification | null {\n if (!this._notificationService) return null;\n\n return this.handleNotificationRef(\n this._notificationService?.showToast(getNotificationObject(notificationObj), notificationComp)\n );\n }\n\n public showActionable(\n notificationObj: ActionableContent,\n notificationComp: typeof ActionableNotification = ActionableNotification\n ): Notification | null {\n if (!this._notificationService) return null;\n\n return this.handleNotificationRef(\n this._notificationService?.showActionable(\n getNotificationObject(notificationObj),\n notificationComp\n )\n );\n }\n\n public close(notificationRef: any): void {\n notificationRef.close.emit();\n }\n\n public getSmartTimeout(notificationObj: any): number | null {\n if (!this._notificationService) return null;\n return this._notificationService?.getSmartTimeout(notificationObj);\n }\n\n public getNotificationRefs(): ComponentRef<any>[] | null {\n if (!this._notificationService) return null;\n return this._notificationService?.notificationRefs;\n }\n\n public getOnCloseEmitter(): EventEmitter<any> | null {\n if (!this._notificationService) return null;\n return this._notificationService?.onClose;\n }\n\n public ngOnDestroy(): void {\n this._notificationService?.ngOnDestroy();\n this._notificationQueue.splice(0, this._notificationQueue.length);\n }\n\n private handleNotificationRef(notificationRef: any): Notification | null {\n const notification = {\n ...notificationRef,\n id:\n notificationRef.toastID ??\n notificationRef.notificationID ??\n notificationRef.actionableNotificationID,\n };\n\n if (this._notificationQueue.length > 3) {\n this._notificationQueue.splice(0, 1);\n this.close(notificationRef);\n }\n\n this._notificationQueue.push(notification);\n setTimeout(() => this.removeNotificationInQueue(notification.id), 4000);\n\n notificationRef.close\n .pipe(take(1))\n .subscribe(() => this.removeNotificationInQueue(notification.id));\n\n return notificationRef;\n }\n\n private removeNotificationInQueue(id: string): void {\n const index = this._notificationQueue.findIndex(\n (notification: Notification & {id: string}) => notification.id === id\n );\n if (index === -1) return;\n\n this._notificationQueue.splice(index, 1);\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {Localization, LocalizationContent, MergedLocalizations} from '../models';\nimport {HttpClient, HttpHeaders} from '@angular/common/http';\nimport {ConfigService} from './config.service';\nimport {map, Observable, of} from 'rxjs';\nimport {catchError} from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LocalizationService {\n private readonly valtimoApiUri!: string;\n\n constructor(\n private readonly http: HttpClient,\n private readonly configService: ConfigService\n ) {\n this.valtimoApiUri = configService?.config?.valtimoApi?.endpointUri;\n }\n\n public getLocalization(languageKey: string): Observable<LocalizationContent> {\n return this.http\n .get<LocalizationContent>(`${this.valtimoApiUri}v1/localization/${languageKey}`, {\n headers: new HttpHeaders().set('X-Skip-Interceptor', '403'),\n })\n .pipe(catchError(() => of({})));\n }\n\n public getLocalizations(): Observable<Localization[]> {\n return this.http.get<Localization[]>(`${this.valtimoApiUri}v1/localization`);\n }\n\n public getMergedLocalizations(): Observable<MergedLocalizations> {\n return this.getLocalizations().pipe(\n map(res => res.reduce((acc, curr) => ({...acc, [curr.languageKey]: curr.content}), {}))\n );\n }\n\n public updateLocalization(\n languageKey: string,\n updatedLocalizationContent: LocalizationContent\n ): Observable<LocalizationContent> {\n return this.http.put<LocalizationContent>(\n `${this.valtimoApiUri}management/v1/localization/${languageKey}`,\n updatedLocalizationContent\n );\n }\n\n public updateLocalizations(updatedLocalizations: Localization[]): Observable<Localization[]> {\n return this.http.put<Localization[]>(\n `${this.valtimoApiUri}management/v1/localization`,\n updatedLocalizations\n );\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {IncludeFunction, ValtimoConfig} from '../models';\nimport {ConfigService} from './config.service';\nimport {Observable, of} from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MenuIncludeService {\n private valtimoConfig!: ValtimoConfig;\n\n constructor(private readonly configService: ConfigService) {\n this.valtimoConfig = this.configService.config;\n }\n\n getIncludeFunction(includeFunction: IncludeFunction): Observable<boolean> {\n switch (includeFunction) {\n case IncludeFunction.ObjectManagementEnabled:\n return of(!!this.valtimoConfig?.featureToggles?.enableObjectManagement || true);\n default:\n return of(true);\n }\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {UserSettings} from '../models';\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService} from './config.service';\nimport {Observable} from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class UserSettingsService {\n private readonly valtimoApiUri!: string;\n\n constructor(\n private readonly http: HttpClient,\n private readonly configService: ConfigService\n ) {\n this.valtimoApiUri = configService?.config?.valtimoApi?.endpointUri;\n }\n\n getUserSettings(): Observable<UserSettings> {\n return this.http.get<UserSettings>(`${this.valtimoApiUri}v1/user/settings`);\n }\n\n saveUserSettings(settings: UserSettings): Observable<any> {\n return this.http.put(`${this.valtimoApiUri}v1/user/settings`, settings);\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Versions} from '../models';\n\nconst VERSIONS: Versions = {\n frontendLibraries: '13.25.0',\n};\n\nexport {VERSIONS};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {InjectionToken} from '@angular/core';\nimport {CaseManagementTabConfig} from '../models';\n\nconst CASE_MANAGEMENT_TAB_TOKEN = new InjectionToken<CaseManagementTabConfig>(\n 'Specify a component to display per configured tab translation key.'\n);\n\nexport {CASE_MANAGEMENT_TAB_TOKEN};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {InjectionToken} from '@angular/core';\nimport {FormViewModel} from '../models';\n\nconst FORM_VIEW_MODEL_TOKEN = new InjectionToken<FormViewModel>(\n 'Specify the form view model component.'\n);\n\nexport {FORM_VIEW_MODEL_TOKEN};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {HttpHeaders} from '@angular/common/http';\n\nconst InterceptorSkip = 'X-Skip-Interceptor';\nconst InterceptorSkipHeader = new HttpHeaders().set(InterceptorSkip, 'all');\n\nexport {InterceptorSkip, InterceptorSkipHeader};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {InjectionToken, Type} from '@angular/core';\n\nconst CASE_CONFIGURATION_EXTENSIONS_TOKEN = new InjectionToken<Type<any>[]>(\n 'Specify components to display on on the case management general page.'\n);\n\nexport {CASE_CONFIGURATION_EXTENSIONS_TOKEN};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {InjectionToken} from '@angular/core';\n\nconst IKO_TOKEN = new InjectionToken<boolean>('IKO is enabled when this token is provided');\n\nexport {IKO_TOKEN};\n","/*\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\nimport {InjectionToken} from '@angular/core';\nimport {BuildingBlockManagementTabConfig} from '../models';\n\nconst BUILDING_BLOCK_MANAGEMENT_TAB_TOKEN = new InjectionToken<BuildingBlockManagementTabConfig[]>(\n 'Specify components to display as tabs on the building block management detail page.'\n);\n\nexport {BUILDING_BLOCK_MANAGEMENT_TAB_TOKEN};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './versions';\nexport * from './case-management-tab-token';\nexport * from './form-view-model-token';\nexport * from './error.constants';\nexport * from './case-configuration-extensions-token';\nexport * from './iko.token';\nexport * from './building-block-management-tab-token';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {HttpClient, HttpHeaders} from '@angular/common/http';\nimport {map, Observable, of} from 'rxjs';\nimport {ConfigService} from './config.service';\nimport {BaseApiService} from './base-api.service';\nimport {GlobalConfiguration} from '../models';\nimport {catchError} from 'rxjs/operators';\nimport {InterceptorSkip} from '../constants';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class EnvironmentService extends BaseApiService {\n constructor(\n protected readonly httpClient: HttpClient,\n protected readonly configService: ConfigService\n ) {\n super(httpClient, configService);\n }\n\n public canUpdateGlobalConfiguration(): Observable<boolean> {\n return this.httpClient\n .get<GlobalConfiguration>(this.getApiUrl('management/v1/case-definition/check'), {\n headers: new HttpHeaders().set(InterceptorSkip, '404'),\n })\n .pipe(\n map(response => response.canUpdateGlobalConfiguration),\n catchError(() => of(true))\n );\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {HttpClient, HttpHeaders} from '@angular/common/http';\nimport {map, Observable, of} from 'rxjs';\nimport {ConfigService} from './config.service';\nimport {BaseApiService} from './base-api.service';\nimport {InterceptorSkip} from '../constants';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DraftVersionService extends BaseApiService {\n constructor(\n protected readonly httpClient: HttpClient,\n protected readonly configService: ConfigService\n ) {\n super(httpClient, configService);\n }\n\n public isDraftVersion(\n caseDefinitionKey: string,\n caseDefinitionVersionTag: string\n ): Observable<boolean> {\n if (!caseDefinitionKey || !caseDefinitionVersionTag) {\n return of(false);\n }\n\n return this.httpClient\n .get<any>(\n this.getApiUrl(\n `management/v1/case-definition/${caseDefinitionKey}/version/${caseDefinitionVersionTag}`\n ),\n {\n headers: new HttpHeaders().set(InterceptorSkip, '403'),\n }\n )\n .pipe(map(caseDefinition => !caseDefinition.final));\n }\n\n public isDraftVersionBuildingBlock(\n buildingBlockDefinitionKey: string,\n buildingBlockDefinitionVersionTag: string\n ): Observable<boolean> {\n if (!buildingBlockDefinitionKey || !buildingBlockDefinitionVersionTag) {\n return of(false);\n }\n\n return this.httpClient\n .get<any>(\n this.getApiUrl(\n `management/v1/building-block/${buildingBlockDefinitionKey}/version/${buildingBlockDefinitionVersionTag}`\n ),\n {\n headers: new HttpHeaders().set(InterceptorSkip, '403'),\n }\n )\n .pipe(map(buildingBlockDefinition => !buildingBlockDefinition.final));\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {BaseApiService} from './base-api.service';\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService} from './config.service';\nimport {combineLatest, map, Observable, of} from 'rxjs';\nimport {EnvironmentService} from './environment.service';\nimport {DraftVersionService} from './draft-version.service';\nimport {Injectable} from '@angular/core';\nimport {BuildingBlockManagementParams, CaseManagementParams} from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class EditPermissionsService extends BaseApiService {\n constructor(\n protected readonly httpClient: HttpClient,\n protected readonly configService: ConfigService,\n public readonly environmentService: EnvironmentService,\n public readonly draftVersionService: DraftVersionService\n ) {\n super(httpClient, configService);\n }\n\n public hasEditPermissions(\n caseDefinitionKey: string,\n caseDefinitionVersionTag: string\n ): Observable<boolean> {\n return combineLatest([\n this.environmentService.canUpdateGlobalConfiguration(),\n this.draftVersionService.isDraftVersion(caseDefinitionKey, caseDefinitionVersionTag),\n ]).pipe(map(([canUpdate, isDraftVersion]) => canUpdate && isDraftVersion));\n }\n\n public hasPermissionsToEditBasedOnContext(\n params: CaseManagementParams | BuildingBlockManagementParams,\n context: string\n ): Observable<boolean> {\n if (context === 'case') {\n const caseManagementParams = params as CaseManagementParams;\n return this.hasEditPermissions(\n caseManagementParams.caseDefinitionKey,\n caseManagementParams.caseDefinitionVersionTag\n );\n } else if (context === 'independent') {\n return this.environmentService.canUpdateGlobalConfiguration();\n } else if (context === 'buildingBlock') {\n return of(true);\n }\n return of(false);\n }\n}\n","/*\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\nimport {Injectable} from '@angular/core';\nimport {BehaviorSubject, map, Observable} from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigurationIssueService {\n private readonly _unresolvedIssueTypes$ = new BehaviorSubject<Set<string>>(new Set());\n\n public setUnresolvedIssueTypes(issueTypes: string[]): void {\n this._unresolvedIssueTypes$.next(new Set(issueTypes));\n }\n\n public readonly hasAnyIssues$: Observable<boolean> = this._unresolvedIssueTypes$.pipe(\n map(types => types.size > 0)\n );\n\n public hasIssue$(issueType: string): Observable<boolean> {\n return this._unresolvedIssueTypes$.pipe(map(types => types.has(issueType)));\n }\n}\n","/*\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\nexport * from './base-api.service';\nexport * from './config.service';\nexport * from './global-notification.service';\nexport * from './localization.service';\nexport * from './menu-include.service';\nexport * from './user-settings.service';\nexport * from './environment.service';\nexport * from './draft-version.service';\nexport * from './edit-permissions.service';\nexport * from './configuration-issue.service';\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 */\nimport {CommonModule} from '@angular/common';\nimport {Component, OnInit} from '@angular/core';\nimport {NotificationService} from 'carbon-components-angular';\nimport {GlobalNotificationService} from '../services';\n\n@Component({\n selector: 'valtimo-global-notification',\n template: ``,\n styles: `\n ::ng-deep.cds--toast-notification {\n width: 100%;\n }\n `,\n providers: [NotificationService],\n standalone: true,\n imports: [CommonModule],\n})\nexport class GlobalNotificationComponent implements OnInit {\n constructor(\n private readonly globalNotificationService: GlobalNotificationService,\n private readonly notificationService: NotificationService\n ) {}\n\n public ngOnInit(): void {\n this.globalNotificationService.setNotificationService(this.notificationService);\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, Input, OnInit, ViewChild, ViewContainerRef} from '@angular/core';\nimport {ConfigService} from '../services/config.service';\nimport {Extension, ExtensionLoader, ExtensionPoint} from '../models';\n\n@Component({\n selector: 'valtimo-extension',\n templateUrl: './extension.component.html',\n styleUrls: ['./extension.component.css'],\n standalone: false,\n})\nexport class ExtensionComponent implements OnInit {\n public extensionLoader: ExtensionLoader = null;\n public selectedExtensionPoint: ExtensionPoint;\n public supportedExtensions: Array<Extension>;\n @Input() public module: string;\n @Input() public page: string;\n @Input() public section: string;\n @ViewChild('injectExtension', {read: ViewContainerRef, static: true})\n viewContainerRef: ViewContainerRef;\n\n constructor(private configService: ConfigService) {}\n\n ngOnInit() {\n this.configService\n .getSupportedExtensionPoints(this.module, this.page, this.section)\n .forEach(extension => {\n this.configService.loadExtensionPoint(this.viewContainerRef, extension.extensionPoint);\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-template #injectExtension></ng-template>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {ModuleWithProviders, NgModule} from '@angular/core';\nimport {ConfigService} from './services/config.service';\nimport {VALTIMO_CONFIG, ValtimoConfig} from './models';\nimport {ExtensionComponent} from './extension/extension.component';\n\n@NgModule({\n declarations: [ExtensionComponent],\n imports: [],\n exports: [ExtensionComponent],\n})\nexport class ConfigModule {\n static forRoot(config: ValtimoConfig): ModuleWithProviders<ConfigModule> {\n return {\n ngModule: ConfigModule,\n providers: [\n ConfigService,\n {\n provide: VALTIMO_CONFIG,\n useValue: config,\n },\n ],\n };\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {Observable, of} from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MockTranslateService {\n public stream(key: string): Observable<any> {\n return of(null);\n }\n\n public instant(key: string): string {\n return '';\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {Observable, of} from 'rxjs';\nimport {KeycloakProfile} from 'keycloak-js';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MockKeycloakService {\n public get keycloakEvents$(): Observable<{type: string}> {\n return of({type: ''});\n }\n\n public isLoggedIn(): Observable<boolean> {\n return of(true);\n }\n\n private readonly MOCK_USER_PROFILE: KeycloakProfile = {\n id: '',\n username: '',\n email: '',\n firstName: '',\n lastName: '',\n enabled: true,\n emailVerified: true,\n totp: true,\n createdTimestamp: 0,\n };\n\n public async loadUserProfile(): Promise<KeycloakProfile> {\n return this.MOCK_USER_PROFILE;\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MockIconService {\n public registerAll(value: Array<any>): void {\n return;\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './mock-translate.service';\nexport * from './mock-keycloak.service';\nexport * from './mock-icon.service';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './services';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {HttpBackend, HttpClient} from '@angular/common/http';\nimport {catchError, map, switchMap} from 'rxjs/operators';\nimport {combineLatest, forkJoin, Observable, of} from 'rxjs';\nimport {deepmerge} from 'deepmerge-ts';\nimport {ITranslationResource} from '../models';\nimport {TranslateLoader} from '@ngx-translate/core';\nimport {LocalizationService} from '../services/localization.service';\n\nexport class CustomMultiTranslateHttpLoader implements TranslateLoader {\n private readonly _handler: HttpBackend;\n private readonly _httpClient: HttpClient;\n private readonly _resourcesPrefix: Array<string> | ITranslationResource[];\n private readonly _localizationService: LocalizationService;\n constructor(\n _handler: HttpBackend,\n _httpClient: HttpClient,\n _localizationService: LocalizationService,\n _resourcesPrefix: Array<string> | ITranslationResource[]\n ) {\n this._handler = _handler;\n this._httpClient = _httpClient;\n this._resourcesPrefix = _resourcesPrefix;\n this._localizationService = _localizationService;\n }\n getTranslation(lang: string): Observable<any> {\n const requests = this._resourcesPrefix.map(resource => {\n let path;\n if (resource.prefix) path = `${resource.prefix}${lang}${resource.suffix || '.json'}`;\n else path = `${resource}${lang}.json`;\n return new HttpClient(this._handler).get(path).pipe(\n catchError(res => {\n if (!resource.optional) {\n console.group();\n console.error('Something went wrong for the following translation file:', path);\n console.error(res);\n console.groupEnd();\n }\n return of({});\n })\n );\n });\n\n return forkJoin(requests).pipe(\n switchMap(localResourcesResponse =>\n combineLatest([of(localResourcesResponse), this._localizationService.getLocalization(lang)])\n ),\n map(([localResourcesResponse, localizationResponse]) =>\n deepmerge(...[...localResourcesResponse, localizationResponse])\n )\n );\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {HttpBackend, HttpClient} from '@angular/common/http';\nimport {ConfigService} from '../services/config.service';\nimport {CustomMultiTranslateHttpLoader} from './custom-multi-translate-http-loader';\nimport {LocalizationService} from '../services/localization.service';\n\nexport function CustomMultiTranslateHttpLoaderFactory(\n http: HttpBackend,\n httpClient: HttpClient,\n configService: ConfigService,\n localizationService: LocalizationService\n) {\n const translationResources = configService?.config?.translationResources;\n\n return new CustomMultiTranslateHttpLoader(http, httpClient, localizationService, [\n './valtimo-translation/core/',\n ...(translationResources &&\n Array.isArray(translationResources) &&\n translationResources.length > 0\n ? translationResources\n : []),\n ]);\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {HttpBackend} from '@angular/common/http';\nimport {MultiTranslateHttpLoader} from 'ngx-translate-multi-http-loader';\nimport {ConfigService} from '../services/config.service';\n\nexport function MultiTranslateHttpLoaderFactory(http: HttpBackend, configService: ConfigService) {\n const translationResources = configService.config.translationResources;\n\n return new MultiTranslateHttpLoader(http, [\n './valtimo-translation/core/',\n ...(translationResources &&\n Array.isArray(translationResources) &&\n translationResources.length > 0\n ? translationResources\n : []),\n ]);\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './custom-multi-translate-http-loader';\nexport * from './custom-multi-translate-http-loader-factory';\nexport * from './multi-translate-http-loader-factory';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {InjectionToken, Type} from '@angular/core';\n\nconst ZGW_OBJECT_TYPE_COMPONENT_TOKEN = new InjectionToken<Type<any>>(\n 'Specify a component to display ZGW object types.'\n);\n\nexport {ZGW_OBJECT_TYPE_COMPONENT_TOKEN};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {InjectionToken, Type} from '@angular/core';\n\nconst ZGW_DOCUMENTEN_API_DOCUMENTS_COMPONENT_TOKEN = new InjectionToken<Type<any>>(\n 'Specify a component to display on documents tab when Documenten API is set as the upload provider in the environment file.'\n);\n\nexport {ZGW_DOCUMENTEN_API_DOCUMENTS_COMPONENT_TOKEN};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './zgw-object-type-component-token';\nexport * from './zgw-documenten-api-documents-component-token';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './constants';\n","/* tslint:disable */\n/* eslint-disable */\n// Generated using typescript-generator version 3.2.1263 on 2026-03-16 10:02:12.\n\nexport interface BuildingBlockDefinitionArtworkDto {\n key: string;\n versionTag: string;\n imageBase64: string;\n}\n\nexport interface BuildingBlockDefinitionDto {\n key: string;\n versionTag: string;\n name: string;\n description: string | null;\n createdBy: string | null;\n createdDate: DateAsString | null;\n basedOnVersionTag: string | null;\n final: boolean;\n imageBase64: string | null;\n}\n\nexport interface BuildingBlockFormDefinitionDto {\n id: string;\n name: string;\n formDefinition: any;\n readOnly: boolean;\n}\n\nexport interface BuildingBlockProcessDefinitionDto {\n id: string;\n key: string;\n name: string | null;\n versionTag: string | null;\n main: boolean;\n}\n\nexport interface BuildingBlockProcessDefinitionWithLinksDto {\n processDefinition: ProcessDefinitionWithPropertiesDto;\n processLinks: ProcessLinkResponseDto[];\n bpmn20Xml: string;\n}\n\nexport interface BuildingBlockVersionDto {\n versionTag: string;\n final: boolean;\n}\n\nexport interface CreateBuildingBlockDefinitionArtworkDto {\n imageBase64: string;\n}\n\nexport interface CreateBuildingBlockDefinitionDto {\n key: string;\n versionTag: string;\n name: string;\n description: string | null;\n}\n\nexport interface CreateBuildingBlockDraftDto {\n versionTag: string;\n}\n\nexport interface CreateBuildingBlockFormDefinitionDto {\n name: string;\n formDefinition: string;\n readOnly: boolean | null;\n}\n\nexport interface UpdateBuildingBlockDefinitionArtworkDto {\n imageBase64: string;\n}\n\nexport interface UpdateBuildingBlockDefinitionDto {\n name: string;\n description: string | null;\n}\n\nexport interface UpdateBuildingBlockFormDefinitionDto {\n name: string;\n formDefinition: string;\n}\n\nexport interface CaseDefinitionCheckResponse {\n canUpdateGlobalConfiguration: boolean;\n}\n\nexport interface CaseDefinitionDraftCreateRequest {\n caseDefinitionKey: string;\n caseDefinitionVersion: string;\n name: string | null;\n description: string | null;\n basedOnCaseDefinitionVersion: string | null;\n basedOnCaseDefinitionId: CaseDefinitionId | null;\n caseDefinitionId: CaseDefinitionId;\n}\n\nexport interface CaseDefinitionImportResponse {\n caseDefinitionId: CaseDefinitionId | null;\n}\n\nexport interface CaseDefinitionQuickSearchDto {\n queryPath: string;\n title: string;\n}\n\nexport interface CaseDefinitionResponseDto {\n caseDefinitionKey: string;\n caseDefinitionVersionTag: string;\n name: string;\n description: string | null;\n createdBy: string | null;\n createdDate: DateAsString | null;\n basedOnVersionTag: string | null;\n final: boolean;\n active: boolean;\n canHaveAssignee: boolean;\n autoAssignTasks: boolean;\n hasExternalStartForm: boolean | null;\n externalStartFormUrl: string | null;\n externalStartFormDescription: string | null;\n conflictingVersions: string | null;\n}\n\nexport interface CaseDefinitionSettingsResponseDto {\n caseDefinitionKey: string;\n caseDefinitionVersionTag: string;\n canHaveAssignee: boolean;\n autoAssignTasks: boolean;\n hasExternalStartForm: boolean | null;\n externalStartFormUrl: string | null;\n externalStartFormDescription: string | null;\n}\n\nexport interface CaseDefinitionUpdateRequest {\n name: string | null;\n description: string | null;\n}\n\nexport interface CaseListColumnDto {\n title: string | null;\n key: string;\n path: string;\n displayType: any;\n sortable: boolean;\n defaultSort: ColumnDefaultSort | null;\n order: number | null;\n exportable: boolean;\n}\n\nexport interface CaseListRowDto {\n id: string;\n items: CaseListItemDto[];\n}\n\nexport interface CaseSettingsDto {\n canHaveAssignee: boolean | null;\n autoAssignTasks: boolean | null;\n hasExternalStartForm: boolean | null;\n externalStartFormUrl: string | null;\n externalStartFormDescription: string | null;\n}\n\nexport interface CaseTabDto {\n key: string;\n name: string | null;\n type: CaseTabType;\n contentKey: string;\n showTasks: boolean;\n}\n\nexport interface CaseTabUpdateDto {\n name: string | null;\n type: CaseTabType;\n contentKey: string;\n showTasks: boolean;\n}\n\nexport interface CaseTabUpdateOrderDto {\n key: string;\n name: string | null;\n type: CaseTabType;\n contentKey: string;\n showTasks: boolean;\n}\n\nexport interface CaseTabWithMetadataDto {\n key: string;\n name: string | null;\n type: CaseTabType;\n contentKey: string;\n createdOn: DateAsString | null;\n createdBy: string | null;\n showTasks: boolean;\n}\n\nexport interface CaseVersionDto {\n versionTag: string;\n active: boolean;\n final: boolean;\n}\n\nexport interface HiddenCaseListColumnDto {\n columnKey: string;\n}\n\nexport interface TaskListColumnDto {\n title: string | null;\n key: string;\n path: string;\n displayType: any;\n sortable: boolean;\n defaultSort: ColumnDefaultSort | null;\n order: number | null;\n}\n\nexport interface AdminWidgetConfigurationResponseDto {\n key: string;\n title: string;\n dataSourceKey: string;\n displayType: string;\n dataSourceProperties: ObjectNode;\n displayTypeProperties: ObjectNode;\n url: URI | null;\n}\n\nexport interface DashboardCreateRequestDto {\n title: string;\n description: string;\n}\n\nexport interface DashboardResponseDto {\n key: string;\n title: string;\n description: string;\n createdBy: string;\n createdOn: DateAsString;\n}\n\nexport interface DashboardUpdateRequestDto {\n key: string;\n title: string;\n description: string;\n}\n\nexport interface DashboardWidgetDataResultDto {\n key: string;\n data: any;\n}\n\nexport interface DashboardWithWidgetsResponseDto {\n key: string;\n title: string;\n widgets: WidgetConfigurationResponseDto[];\n}\n\nexport interface SingleWidgetConfigurationUpdateRequestDto {\n title: string;\n dataSourceKey: string;\n displayType: string;\n dataSourceProperties: ObjectNode;\n displayTypeProperties: ObjectNode;\n url: URI | null;\n}\n\nexport interface WidgetConfigurationCreateRequestDto {\n title: string;\n dataSourceKey: string;\n displayType: string;\n dataSourceProperties: ObjectNode;\n displayTypeProperties: ObjectNode;\n url: URI | null;\n}\n\nexport interface WidgetConfigurationResponseDto {\n key: string;\n title: string;\n displayType: string;\n displayTypeProperties: ObjectNode;\n url: URI | null;\n}\n\nexport interface WidgetConfigurationUpdateRequestDto {\n key: string;\n title: string;\n dataSourceKey: string;\n displayType: string;\n dataSourceProperties: ObjectNode;\n displayTypeProperties: ObjectNode;\n url: URI | null;\n}\n\nexport interface CaseTagCreateRequestDto {\n key: string;\n title: string;\n color: CaseTagColor;\n}\n\nexport interface CaseTagResponseDto {\n key: string;\n caseDefinitionKey: string;\n caseDefinitionVersionTag: string;\n title: string;\n color: CaseTagColor;\n order: number;\n}\n\nexport interface CaseTagUpdateRequestDto {\n key: string;\n title: string;\n color: CaseTagColor;\n}\n\nexport interface InternalCaseStatusCreateRequestDto {\n key: string;\n title: string;\n visibleInCaseListByDefault: boolean;\n retentionPeriodInDays: number;\n color: InternalCaseStatusColor;\n}\n\nexport interface InternalCaseStatusResponseDto {\n key: string;\n caseDefinitionName: string;\n title: string;\n visibleInCaseListByDefault: boolean;\n retentionPeriodInDays: number;\n order: number;\n color: InternalCaseStatusColor;\n}\n\nexport interface InternalCaseStatusUpdateOrderRequestDto {\n key: string;\n title: string;\n visibleInCaseListByDefault: boolean;\n retentionPeriodInDays: number;\n color: InternalCaseStatusColor;\n}\n\nexport interface InternalCaseStatusUpdateRequestDto {\n key: string;\n title: string;\n visibleInCaseListByDefault: boolean;\n retentionPeriodInDays: number;\n color: InternalCaseStatusColor;\n}\n\nexport interface ColumnKeyResponse {\n key: string;\n sortable: boolean;\n filterable: boolean;\n}\n\nexport interface ColumnResponse {\n key: string;\n sortable: boolean;\n filterable: boolean;\n defaultSort: string | null;\n}\n\nexport interface DocumentSearchRequest {\n informatieobjecttype: string | null;\n titel: string | null;\n vertrouwelijkheidaanduiding: string | null;\n creatiedatumFrom: DateAsString | null;\n creatiedatumTo: DateAsString | null;\n auteur: string | null;\n trefwoorden: string[] | null;\n}\n\nexport interface DocumentenApiDocumentDto {\n fileId: string;\n pluginConfigurationId: string;\n bestandsnaam: string | null;\n bestandsomvang: number | null;\n creatiedatum: DateAsString;\n auteur: string | null;\n titel: string | null;\n status: string | null;\n taal: string | null;\n identificatie: string | null;\n beschrijving: string | null;\n informatieobjecttype: string | null;\n informatieobjecttypeOmschrijving: string | null;\n trefwoorden: string[] | null;\n formaat: string | null;\n verzenddatum: DateAsString | null;\n ontvangstdatum: DateAsString | null;\n vertrouwelijkheidaanduiding: string | null;\n versie: number | null;\n indicatieGebruiksrecht: boolean | null;\n}\n\nexport interface DocumentenApiUploadFieldDto {\n key: string;\n defaultValue: string | null;\n visible: boolean;\n readonly: boolean;\n}\n\nexport interface DocumentenApiVersionDto {\n selectedVersion: string | null;\n supportsFilterableColumns: boolean;\n supportsSortableColumns: boolean;\n supportsTrefwoorden: boolean;\n supportsUpdatingDefinitiveDocument: boolean;\n}\n\nexport interface DocumentenApiVersionManagementDto {\n selectedVersion: string | null;\n detectedVersions: string[];\n supportsFilterableColumns: boolean;\n supportsSortableColumns: boolean;\n supportsTrefwoorden: boolean;\n}\n\nexport interface DocumentenApiVersionsManagementDto {\n versions: string[];\n}\n\nexport interface ModifyDocumentRequest {\n creatiedatum: DateAsString;\n titel: string;\n auteur: string;\n status: DocumentStatusType | null;\n taal: string;\n bestandsnaam: string | null;\n beschrijving: string | null;\n ontvangstdatum: DateAsString | null;\n verzenddatum: DateAsString | null;\n indicatieGebruiksrecht: boolean | null;\n vertrouwelijkheidaanduiding: string | null;\n informatieobjecttype: string | null;\n trefwoorden: string[] | null;\n}\n\nexport interface RelatedFileDto extends RelatedFile {\n fileName: string | null;\n sizeInBytes: number | null;\n pluginConfigurationId: string;\n author: string | null;\n title: string | null;\n status: string | null;\n language: string | null;\n identification: string | null;\n description: string | null;\n informatieobjecttype: string | null;\n informatieobjecttypeOmschrijving: string | null;\n keywords: string[] | null;\n format: string | null;\n sendDate: DateAsString | null;\n receiptDate: DateAsString | null;\n confidentialityLevel: string | null;\n version: number | null;\n indicationUsageRights: boolean | null;\n}\n\nexport interface ReorderColumnRequest {\n key: string;\n defaultSort: string | null;\n}\n\nexport interface UpdateColumnRequest {\n defaultSort: string | null;\n}\n\nexport interface FormOption {\n id: string;\n name: string;\n}\n\nexport interface FormProcessLinkCreateRequestDto extends ProcessLinkCreateRequestDto {\n formDefinitionId: string;\n viewModelEnabled: boolean | null;\n formDisplayType: FormDisplayType | null;\n formSize: FormSizes | null;\n subtitles: string[] | null;\n}\n\nexport interface FormProcessLinkExportResponseDto extends ProcessLinkExportResponseDto {\n formDefinitionName: string;\n viewModelEnabled: boolean;\n formDisplayType: FormDisplayType;\n formSize: FormSizes;\n subtitles: string[] | null;\n}\n\nexport interface FormProcessLinkResponseDto extends ProcessLinkResponseDto {\n formDefinitionId: string;\n viewModelEnabled: boolean;\n formDisplayType: FormDisplayType;\n formSize: FormSizes;\n subtitles: string[] | null;\n}\n\nexport interface FormProcessLinkUpdateRequestDto extends ProcessLinkUpdateRequestDto {\n formDefinitionId: string;\n viewModelEnabled: boolean | null;\n formDisplayType: FormDisplayType | null;\n formSize: FormSizes | null;\n subtitles: string[] | null;\n}\n\nexport interface FormSubmissionResult {\n documentId: string | null;\n errors: OperationError[];\n}\n\nexport interface FormSubmissionResultFailed extends FormSubmissionResult, TransactionalResult {\n}\n\nexport interface FormSubmissionResultSucceeded extends FormSubmissionResult {\n documentId: string;\n}\n\nexport interface IntermediateSaveRequest {\n submission: ObjectNode;\n taskInstanceId: string;\n}\n\nexport interface IntermediateSubmission {\n submission: ObjectNode;\n taskInstanceId: string;\n createdBy: string;\n createdOn: DateAsString;\n editedBy: string | null;\n editedOn: DateAsString | null;\n}\n\nexport interface IntermediateSubmissionKt {\n}\n\nexport interface FormFlowBreadcrumbResponse {\n title: string | null;\n key: string;\n stepInstanceId: string | null;\n completed: boolean;\n}\n\nexport interface FormFlowBreadcrumbsResponse {\n currentStepIndex: number;\n breadcrumbs: FormFlowBreadcrumbResponse[];\n}\n\nexport interface FormFlowProcessLinkCreateRequestDto extends ProcessLinkCreateRequestDto {\n formFlowDefinitionKey: string;\n formDisplayType: FormDisplayType | null;\n formSize: FormSizes | null;\n subtitles: string[] | null;\n}\n\nexport interface FormFlowProcessLinkExportResponseDto extends ProcessLinkExportResponseDto {\n formFlowDefinitionKey: string;\n formDisplayType: FormDisplayType;\n formSize: FormSizes;\n subtitles: string[] | null;\n}\n\nexport interface FormFlowProcessLinkResponseDto extends ProcessLinkResponseDto {\n formFlowDefinitionKey: string;\n formDisplayType: FormDisplayType;\n formSize: FormSizes;\n subtitles: string[] | null;\n}\n\nexport interface FormFlowProcessLinkUpdateRequestDto extends ProcessLinkUpdateRequestDto {\n formFlowDefinitionKey: string;\n formDisplayType: FormDisplayType | null;\n formSize: FormSizes | null;\n subtitles: string[] | null;\n}\n\nexport interface MultipleFormErrors {\n componentErrors: ComponentError[];\n}\n\nexport interface SingleFormError {\n error: string;\n component: string | null;\n}\n\nexport interface StartFormSubmissionResult {\n documentId: string | null;\n}\n\nexport interface LocalizationResponseDto {\n languageKey: string;\n content: ObjectNode;\n}\n\nexport interface LocalizationUpdateRequestDto {\n languageKey: string;\n content: ObjectNode;\n}\n\nexport interface LoggingEventPropertyDto {\n key: string;\n value: string;\n}\n\nexport interface LoggingEventResponse {\n timestamp: DateAsString;\n formattedMessage: string;\n level: string;\n properties: LoggingEventPropertyDto[];\n stacktrace: string | null;\n}\n\nexport interface LoggingEventSearchRequest {\n afterTimestamp: DateAsString | null;\n beforeTimestamp: DateAsString | null;\n level: string | null;\n likeFormattedMessage: string | null;\n properties: LoggingEventPropertyDto[];\n}\n\nexport interface NoteCreateRequestDto {\n content: string;\n}\n\nexport interface NoteResponseDto {\n id: string;\n createdByUserId: string;\n createdByUserFullName: string;\n createdDate: DateAsString;\n content: string;\n documentId: string;\n}\n\nexport interface NoteUpdateRequestDto {\n content: string;\n}\n\nexport interface URLProcessLinkCreateRequestDto extends ProcessLinkCreateRequestDto {\n url: string;\n}\n\nexport interface URLProcessLinkDeployDto extends ProcessLinkDeployDto {\n processLinkType: \"url\";\n url: string;\n}\n\nexport interface URLProcessLinkExportResponseDto extends ProcessLinkExportResponseDto {\n url: string;\n}\n\nexport interface URLProcessLinkResponseDto extends ProcessLinkResponseDto {\n url: string;\n}\n\nexport interface URLProcessLinkUpdateRequestDto extends ProcessLinkUpdateRequestDto {\n url: string;\n}\n\nexport interface URLSubmissionResult {\n errors: string[];\n documentId: string;\n}\n\nexport interface URLVariables {\n variables: { [index: string]: string };\n}\n\nexport interface CaseProcessDefinitionResponseDto {\n processDefinition: ProcessDefinitionWithPropertiesDto;\n processCaseLink: ProcessDefinitionCaseDefinition;\n processLinks: ProcessLinkResponseDto[];\n bpmn20Xml: string;\n}\n\nexport interface ProcessDefinitionResponseDto {\n processDefinition: ProcessDefinitionWithPropertiesDto;\n processLinks: ProcessLinkResponseDto[];\n bpmn20Xml: string;\n}\n\nexport interface ProcessLinkActivityResult<T> {\n processLinkId: string;\n type: string;\n assignee: string | null;\n due: DateAsString | null;\n properties: T;\n}\n\nexport interface ProcessLinkActivityResultWithTask {\n task: TaskInstanceWithIdentityLink;\n processLinkActivityResult: ProcessLinkActivityResult<any> | null;\n}\n\nexport interface ProcessLinkCreateRequestDto {\n activityId: string;\n processLinkType: string;\n processDefinitionId: string;\n activityType: ActivityTypeWithEventName;\n}\n\nexport interface ProcessLinkExportResponseDto {\n activityId: string;\n processLinkType: string;\n activityType: ActivityTypeWithEventName;\n}\n\nexport interface ProcessLinkResponseDto {\n activityId: string;\n processLinkType: string;\n processDefinitionId: string;\n activityType: ActivityTypeWithEventName;\n id: string;\n}\n\nexport interface ProcessLinkUpdateRequestDto {\n processLinkType: string;\n id: string;\n}\n\nexport interface SearchFieldV2Dto {\n id: string;\n ownerId: string;\n ownerType: string;\n key: string;\n title: string | null;\n path: string;\n order: number;\n dataType: DataType;\n fieldType: FieldType;\n matchType: SearchFieldMatchType | null;\n dropdownDataProvider: string | null;\n required: boolean;\n}\n\nexport interface TabDto {\n key: string;\n title: string | null;\n type: string;\n properties: { [index: string]: any | null } | null;\n}\n\nexport interface TeamCreateRequestDto {\n key: string;\n title: string;\n}\n\nexport interface TeamImportExportDto {\n key: string;\n title: string;\n}\n\nexport interface TeamListResponseDto {\n key: string;\n title: string;\n userCount: number;\n}\n\nexport interface TeamResponseDto {\n key: string;\n title: string;\n}\n\nexport interface TeamUpdateRequestDto {\n key: string;\n title: string;\n}\n\nexport interface TeamUserCreateRequestDto {\n username: string;\n}\n\nexport interface TeamUserResponseDto {\n username: string;\n fullName: string | null;\n email: string | null;\n}\n\nexport interface BatchAssignTaskDTO {\n assignee: string;\n tasksIds: string[];\n}\n\nexport interface ChoiceFieldCreateRequestDTO {\n keyName: string;\n title: string;\n}\n\nexport interface ChoiceFieldDTO {\n id: number;\n keyName: string;\n choiceFieldValues: ChoiceFieldValue[];\n}\n\nexport interface ChoiceFieldUpdateRequestDTO {\n id: number;\n keyName: string;\n title: string;\n}\n\nexport interface ChoiceFieldValueCreateRequestDTO {\n name: string;\n deprecated: boolean;\n sortOrder: number;\n value: string;\n}\n\nexport interface ChoiceFieldValueUpdateRequestDTO {\n id: number;\n name: string;\n deprecated: boolean;\n sortOrder: number;\n value: string;\n}\n\nexport interface CommentDto {\n text: string;\n}\n\nexport interface CustomTaskDto {\n task: OperatonTaskDto;\n formFields: FormField[];\n variables: { [index: string]: any };\n formLocation: string;\n processName: string;\n processKey: string;\n processVersion: string;\n businessKey: string;\n}\n\nexport interface DefinitionDeploymentResponseDto {\n identifier: string;\n}\n\nexport interface FlowNodeMigrationDTO {\n sourceFlowNodeMap: { [index: string]: string };\n targetFlowNodeMap: { [index: string]: string };\n uniqueFlowNodeMap: { [index: string]: string };\n}\n\nexport interface HeatmapTaskAverageDurationDTO extends HeatmapTaskDTO {\n averageDurationInMilliseconds: number;\n}\n\nexport interface HeatmapTaskCountDTO extends HeatmapTaskDTO {\n}\n\nexport interface HeatmapTaskDTO {\n name: string;\n count: number;\n totalCount: number;\n}\n\nexport interface KeyAndPasswordDTO {\n key: string;\n newPassword: string;\n}\n\nexport interface LoginDTO {\n username: string;\n password: string;\n rememberMe: boolean;\n}\n\nexport interface ProcessDefinitionDiagramWithPropertyDto {\n id: string;\n bpmn20Xml: string;\n readOnly: boolean;\n systemProcess: boolean;\n}\n\nexport interface ProcessDefinitionWithPropertiesDto extends ProcessDefinitionDto {\n readOnly: boolean;\n}\n\nexport interface ProcessInstanceDiagramDto {\n id: string;\n bpmn20Xml: string;\n historicActivityInstances: HistoricActivityInstance[];\n}\n\nexport interface ProcessInstanceSearchDTO {\n processVariables: ProcessVariableDTOV2Union[];\n}\n\nexport interface ProcessInstanceStatisticsDTO {\n duration: number;\n processName: string;\n}\n\nexport interface StartFormDto {\n formLocation: string;\n formFields: FormField[];\n genericForm: boolean;\n}\n\nexport interface TaskCompletionDTO {\n variables: { [index: string]: any };\n filesToDelete: string[];\n}\n\nexport interface WidgetDto {\n type: string;\n color: WidgetColor | null;\n icon: string | null;\n width: number;\n compact: boolean | null;\n title: string;\n highContrast: boolean;\n displayConditions: Condition<any>[] | null;\n key: string;\n actions: WidgetAction[];\n}\n\nexport interface CaseDefinitionId extends AbstractId<CaseDefinitionId>, BlueprintId {\n key: string;\n versionTag: Semver;\n}\n\nexport interface CaseListItemDto {\n key: string;\n value: any | null;\n}\n\nexport interface ObjectNode extends ContainerNode<ObjectNode>, Serializable {\n}\n\nexport interface URI extends Comparable<URI>, Serializable {\n}\n\nexport interface RelatedFile {\n createdOn: DateAsString;\n createdBy: string;\n fileId: string;\n sizeInBytes: number;\n fileName: string;\n}\n\nexport interface OperationError {\n}\n\nexport interface TransactionalResult {\n}\n\nexport interface ComponentError {\n component: string | null;\n message: string;\n}\n\nexport interface ProcessLinkDeployDto {\n processLinkType: \"url\";\n activityId: string;\n processDefinitionId: string;\n activityType: ActivityTypeWithEventName;\n}\n\nexport interface ProcessDefinitionCaseDefinition {\n id: ProcessDefinitionCaseDefinitionId;\n canInitializeDocument: boolean;\n startableByUser: boolean;\n processDefinitionName: string | null;\n processDefinitionKey: string | null;\n}\n\nexport interface TaskInstanceWithIdentityLink {\n businessKey: string;\n id: string | null;\n name: string | null;\n assignee: string | null;\n created: DateAsString | null;\n due: DateAsString | null;\n followUp: DateAsString | null;\n lastUpdated: DateAsString | null;\n delegationState: string | null;\n description: string | null;\n executionId: string | null;\n owner: string | null;\n parentTaskId: string | null;\n priority: number;\n processDefinitionId: string | null;\n processInstanceId: string | null;\n taskDefinitionKey: string | null;\n caseExecutionId: string | null;\n caseInstanceId: string | null;\n caseDefinitionId: string | null;\n suspended: boolean;\n tenantId: string | null;\n external: boolean;\n processDefinitionKey: string;\n identityLinks: OperatonIdentityLinkDto[];\n subtitles: string[];\n}\n\nexport interface ChoiceFieldValue extends AbstractAuditingEntity, Serializable {\n id: number;\n name: string;\n deprecated: boolean;\n sortOrder: number;\n value: string;\n choiceField: ChoiceField;\n}\n\nexport interface OperatonTaskDto {\n id: string | null;\n name: string | null;\n assignee: string | null;\n created: DateAsString | null;\n due: DateAsString | null;\n followUp: DateAsString | null;\n lastUpdated: DateAsString | null;\n delegationState: string | null;\n description: string | null;\n executionId: string | null;\n owner: string | null;\n parentTaskId: string | null;\n priority: number;\n processDefinitionId: string | null;\n processInstanceId: string | null;\n taskDefinitionKey: string | null;\n caseExecutionId: string | null;\n caseInstanceId: string | null;\n caseDefinitionId: string | null;\n suspended: boolean;\n tenantId: string | null;\n}\n\nexport interface FormField {\n label: string;\n businessKey: boolean;\n validationConstraints: FormFieldValidationConstraint[];\n value: TypedValue;\n typeName: string;\n properties: { [index: string]: string };\n id: string;\n type: FormType;\n /**\n * @deprecated since 1.0\n */\n defaultValue: any;\n}\n\nexport interface ProcessDefinitionDto {\n id: string;\n key: string;\n category: string;\n description: string;\n name: string;\n version: number;\n resource: string;\n deploymentId: string;\n diagram: string;\n suspended: boolean;\n tenantId: string;\n versionTag: string;\n historyTimeToLive: number;\n startableInTasklist: boolean;\n}\n\nexport interface HistoricActivityInstance {\n startTime: DateAsString;\n endTime: DateAsString;\n taskId: string;\n activityId: string;\n processDefinitionId: string;\n activityType: string;\n assignee: string;\n tenantId: string;\n processDefinitionKey: string;\n processInstanceId: string;\n executionId: string;\n canceled: boolean;\n removalTime: DateAsString;\n rootProcessInstanceId: string;\n parentActivityInstanceId: string;\n calledProcessInstanceId: string;\n calledCaseInstanceId: string;\n activityName: string;\n durationInMillis: number;\n completeScope: boolean;\n id: string;\n}\n\nexport interface ProcessVariableDTOV2 {\n \"@type\": \"string\" | \"date\" | \"boolean\" | \"enum\" | \"long\" | \"fileUpload\";\n name: string;\n}\n\nexport interface Condition<T> {\n path: string;\n operator: ExpressionOperator;\n value: T;\n}\n\nexport interface WidgetAction {\n}\n\nexport interface Semver extends Comparable<Semver> {\n major: number;\n minor: number;\n patch: number;\n preRelease: string[];\n build: string[];\n version: string;\n stable: boolean;\n}\n\nexport interface BlueprintId {\n idKey: string;\n tagPrefix: string;\n}\n\nexport interface Serializable {\n}\n\nexport interface ProcessDefinitionCaseDefinitionId extends AbstractId<ProcessDefinitionCaseDefinitionId> {\n processDefinitionId: ProcessDefinitionId;\n caseDefinitionId: CaseDefinitionId;\n}\n\nexport interface OperatonIdentityLinkDto {\n userId: string | null;\n groupId: string | null;\n type: string | null;\n}\n\nexport interface ChoiceField extends AbstractAuditingEntity, Serializable {\n id: number;\n keyName: string;\n title: string;\n}\n\nexport interface AbstractAuditingEntity {\n}\n\nexport interface FormFieldValidationConstraint {\n configuration: any;\n name: string;\n}\n\nexport interface TypedValue extends Serializable {\n value: any;\n type: ValueType;\n transient: boolean;\n}\n\nexport interface FormType {\n name: string;\n}\n\nexport interface StringProcessVariableDTOV2 extends ProcessVariableDTOV2 {\n \"@type\": \"string\";\n value: string;\n}\n\nexport interface DateProcessVariableDTOV2 extends ProcessVariableDTOV2 {\n \"@type\": \"date\";\n range: DateRange;\n}\n\nexport interface BooleanProcessVariableDTOV2 extends ProcessVariableDTOV2 {\n \"@type\": \"boolean\";\n value: boolean;\n}\n\nexport interface EnumProcessVariableDTOV2 extends ProcessVariableDTOV2 {\n \"@type\": \"enum\";\n values: string[];\n}\n\nexport interface LongProcessVariableDTOV2 extends ProcessVariableDTOV2 {\n \"@type\": \"long\";\n value: number;\n}\n\nexport interface FileUploadProcessVariableDTOV2 extends ProcessVariableDTOV2 {\n \"@type\": \"fileUpload\";\n value: boolean;\n}\n\nexport interface AbstractId<SELF> extends Identity, Serializable {\n}\n\nexport interface ContainerNode<T> extends BaseJsonNode, JsonNodeCreator {\n}\n\nexport interface Comparable<T> {\n}\n\nexport interface ProcessDefinitionId {\n id: string;\n}\n\nexport interface ValueType extends Serializable {\n primitiveValueType: boolean;\n name: string;\n parent: ValueType;\n abstract: boolean;\n}\n\nexport interface DateRange {\n from: DateAsString;\n to: DateAsString;\n}\n\nexport interface Identity {\n}\n\nexport interface BaseJsonNode extends Serializable {\n}\n\nexport interface JsonNodeCreator {\n}\n\nexport type DateAsString = string;\n\nexport type ColumnDefaultSort = \"ASC\" | \"DESC\";\n\nexport type CaseTabType = \"standard\" | \"formio\" | \"custom\" | \"widgets\";\n\nexport type CaseTagColor = \"WARMGRAY\" | \"RED\" | \"MAGENTA\" | \"PURPLE\" | \"BLUE\" | \"CYAN\" | \"TEAL\" | \"GREEN\" | \"GRAY\" | \"COOLGRAY\" | \"HIGHCONTRAST\" | \"OUTLINE\";\n\nexport type InternalCaseStatusColor = \"WARMGRAY\" | \"RED\" | \"MAGENTA\" | \"PURPLE\" | \"BLUE\" | \"CYAN\" | \"TEAL\" | \"GREEN\" | \"GRAY\" | \"COOLGRAY\" | \"HIGHCONTRAST\" | \"OUTLINE\";\n\nexport type DocumentStatusType = \"in_bewerking\" | \"ter_vaststelling\" | \"definitief\" | \"gearchiveerd\";\n\nexport type ActivityTypeWithEventName = \"bpmn:MultiInstanceBody:start\" | \"bpmn:MultiInstanceBody:end\" | \"bpmn:ExclusiveGateway:start\" | \"bpmn:ExclusiveGateway:end\" | \"bpmn:InclusiveGateway:start\" | \"bpmn:InclusiveGateway:end\" | \"bpmn:ParallelGateway:start\" | \"bpmn:ParallelGateway:end\" | \"bpmn:ComplexGateway:start\" | \"bpmn:ComplexGateway:end\" | \"bpmn:EventBasedGateway:start\" | \"bpmn:EventBasedGateway:end\" | \"bpmn:Task:start\" | \"bpmn:Task:end\" | \"bpmn:ScriptTask:start\" | \"bpmn:ScriptTask:end\" | \"bpmn:ServiceTask:start\" | \"bpmn:ServiceTask:end\" | \"bpmn:BusinessRuleTask:start\" | \"bpmn:BusinessRuleTask:end\" | \"bpmn:ManualTask:start\" | \"bpmn:ManualTask:end\" | \"bpmn:UserTask:create\" | \"bpmn:UserTask:assignment\" | \"bpmn:UserTask:complete\" | \"bpmn:UserTask:update\" | \"bpmn:UserTask:delete\" | \"bpmn:UserTask:timeout\" | \"bpmn:UserTask:start\" | \"bpmn:UserTask:end\" | \"bpmn:SendTask:start\" | \"bpmn:SendTask:end\" | \"bpmn:ReceiveTask:start\" | \"bpmn:ReceiveTask:end\" | \"bpmn:SubProcess:start\" | \"bpmn:SubProcess:end\" | \"bpmn:AdHocSubProcess:start\" | \"bpmn:AdHocSubProcess:end\" | \"bpmn:CallActivity:start\" | \"bpmn:CallActivity:end\" | \"bpmn:Transaction:start\" | \"bpmn:Transaction:end\" | \"bpmn:BoundaryTimer:start\" | \"bpmn:BoundaryTimer:end\" | \"bpmn:BoundaryMessage:start\" | \"bpmn:BoundaryMessage:end\" | \"bpmn:BoundarySignal:start\" | \"bpmn:BoundarySignal:end\" | \"bpmn:CompensationBoundaryCatch:start\" | \"bpmn:CompensationBoundaryCatch:end\" | \"bpmn:BoundaryError:start\" | \"bpmn:BoundaryError:end\" | \"bpmn:BoundaryEscalation:start\" | \"bpmn:BoundaryEscalation:end\" | \"bpmn:CancelBoundaryCatch:start\" | \"bpmn:CancelBoundaryCatch:end\" | \"bpmn:BoundaryConditional:start\" | \"bpmn:BoundaryConditional:end\" | \"bpmn:StartEvent:start\" | \"bpmn:StartEvent:end\" | \"bpmn:StartTimerEvent:start\" | \"bpmn:StartTimerEvent:end\" | \"bpmn:MessageStartEvent:start\" | \"bpmn:MessageStartEvent:end\" | \"bpmn:SignalStartEvent:start\" | \"bpmn:SignalStartEvent:end\" | \"bpmn:EscalationStartEvent:start\" | \"bpmn:EscalationStartEvent:end\" | \"bpmn:CompensationStartEvent:start\" | \"bpmn:CompensationStartEvent:end\" | \"bpmn:ErrorStartEvent:start\" | \"bpmn:ErrorStartEvent:end\" | \"bpmn:ConditionalStartEvent:start\" | \"bpmn:ConditionalStartEvent:end\" | \"bpmn:IntermediateCatchEvent:start\" | \"bpmn:IntermediateCatchEvent:end\" | \"bpmn:IntermediateMessageCatch:start\" | \"bpmn:IntermediateMessageCatch:end\" | \"bpmn:IntermediateTimer:start\" | \"bpmn:IntermediateTimer:end\" | \"bpmn:IntermediateLinkCatch:start\" | \"bpmn:IntermediateLinkCatch:end\" | \"bpmn:IntermediateSignalCatch:start\" | \"bpmn:IntermediateSignalCatch:end\" | \"bpmn:IntermediateConditional:start\" | \"bpmn:IntermediateConditional:end\" | \"bpmn:IntermediateThrowEvent:start\" | \"bpmn:IntermediateThrowEvent:end\" | \"bpmn:IntermediateSignalThrow:start\" | \"bpmn:IntermediateSignalThrow:end\" | \"bpmn:IntermediateCompensationThrowEvent:start\" | \"bpmn:IntermediateCompensationThrowEvent:end\" | \"bpmn:IntermediateMessageThrowEvent:start\" | \"bpmn:IntermediateMessageThrowEvent:end\" | \"bpmn:IntermediateNoneThrowEvent:start\" | \"bpmn:IntermediateNoneThrowEvent:end\" | \"bpmn:IntermediateEscalationThrowEvent:start\" | \"bpmn:IntermediateEscalationThrowEvent:end\" | \"bpmn:ErrorEndEvent:start\" | \"bpmn:ErrorEndEvent:end\" | \"bpmn:CancelEndEvent:start\" | \"bpmn:CancelEndEvent:end\" | \"bpmn:TerminateEndEvent:start\" | \"bpmn:TerminateEndEvent:end\" | \"bpmn:MessageEndEvent:start\" | \"bpmn:MessageEndEvent:end\" | \"bpmn:SignalEndEvent:start\" | \"bpmn:SignalEndEvent:end\" | \"bpmn:CompensationEndEvent:start\" | \"bpmn:CompensationEndEvent:end\" | \"bpmn:EscalationEndEvent:start\" | \"bpmn:EscalationEndEvent:end\" | \"bpmn:NoneEndEvent:start\" | \"bpmn:NoneEndEvent:end\";\n\nexport type FormDisplayType = \"modal\" | \"panel\";\n\nexport type FormSizes = \"extraSmall\" | \"small\" | \"medium\" | \"large\";\n\nexport type DataType = \"text\" | \"number\" | \"date\" | \"datetime\" | \"time\" | \"boolean\" | \"bsn\";\n\nexport type FieldType = \"text_contains\" | \"single\" | \"range\" | \"single-select-dropdown\" | \"multi-select-dropdown\";\n\nexport type SearchFieldMatchType = \"like\" | \"exact\";\n\nexport type WidgetColor = \"YELLOW\" | \"ORANGE\" | \"RED\" | \"BROWN\" | \"GREEN\" | \"TURQOISE\" | \"PURPLE\" | \"PERIWINKLE\" | \"BLUE\" | \"HIGHCONTRAST\" | \"WHITE\";\n\nexport type ExpressionOperator = \"!=\" | \"==\" | \">\" | \">=\" | \"<\" | \"<=\" | \"list_contains\" | \"in\";\n\nexport type ProcessVariableDTOV2Union = StringProcessVariableDTOV2 | DateProcessVariableDTOV2 | BooleanProcessVariableDTOV2 | EnumProcessVariableDTOV2 | LongProcessVariableDTOV2 | FileUploadProcessVariableDTOV2;\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*\n * Public API Surface of shared\n */\n\nexport * from './lib/components/global-notification.component';\nexport * from './lib/config.module';\nexport * from './lib/constants';\nexport * from './lib/extension/extension.component';\nexport * from './lib/models';\nexport * from './lib/services';\nexport * from './lib/testing';\nexport * from './lib/translation';\nexport * from './lib/utils';\nexport * from './lib/zgw';\nexport * from './lib/generated'\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.ConfigService","i1.ConfigService","i3.EnvironmentService","i4.DraftVersionService","i1.GlobalNotificationService","switchMap","map"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"valtimo-shared.mjs","sources":["../../../../projects/valtimo/shared/src/lib/utils/router.utils.ts","../../../../projects/valtimo/shared/src/lib/utils/url.utils.ts","../../../../projects/valtimo/shared/src/lib/utils/global-notification.utils.ts","../../../../projects/valtimo/shared/src/lib/utils/route-params.utils.ts","../../../../projects/valtimo/shared/src/lib/utils/display-type.utils.ts","../../../../projects/valtimo/shared/src/lib/utils/validate-bsn.utils.ts","../../../../projects/valtimo/shared/src/lib/utils/index.ts","../../../../projects/valtimo/shared/src/lib/services/base-api.service.ts","../../../../projects/valtimo/shared/src/lib/models/config.ts","../../../../projects/valtimo/shared/src/lib/models/email-notification-settings.model.ts","../../../../projects/valtimo/shared/src/lib/models/menu-item.model.ts","../../../../projects/valtimo/shared/src/lib/models/menu.config.ts","../../../../projects/valtimo/shared/src/lib/models/security.config.ts","../../../../projects/valtimo/shared/src/lib/models/extension.model.ts","../../../../projects/valtimo/shared/src/lib/models/http-loader.ts","../../../../projects/valtimo/shared/src/lib/models/roles.ts","../../../../projects/valtimo/shared/src/lib/models/user-management.model.ts","../../../../projects/valtimo/shared/src/lib/models/page.ts","../../../../projects/valtimo/shared/src/lib/models/search.model.ts","../../../../projects/valtimo/shared/src/lib/models/versions.model.ts","../../../../projects/valtimo/shared/src/lib/models/user-settings.model.ts","../../../../projects/valtimo/shared/src/lib/models/translation.model.ts","../../../../projects/valtimo/shared/src/lib/models/localization.model.ts","../../../../projects/valtimo/shared/src/lib/models/form-view-model.model.ts","../../../../projects/valtimo/shared/src/lib/models/window.model.ts","../../../../projects/valtimo/shared/src/lib/models/management.model.ts","../../../../projects/valtimo/shared/src/lib/models/tag-color.model.ts","../../../../projects/valtimo/shared/src/lib/models/global-configuration.model.ts","../../../../projects/valtimo/shared/src/lib/models/modal.model.ts","../../../../projects/valtimo/shared/src/lib/models/display-type.model.ts","../../../../projects/valtimo/shared/src/lib/models/building-block-management.model.ts","../../../../projects/valtimo/shared/src/lib/models/index.ts","../../../../projects/valtimo/shared/src/lib/services/config.service.ts","../../../../projects/valtimo/shared/src/lib/services/global-notification.service.ts","../../../../projects/valtimo/shared/src/lib/services/localization.service.ts","../../../../projects/valtimo/shared/src/lib/services/menu-include.service.ts","../../../../projects/valtimo/shared/src/lib/services/user-settings.service.ts","../../../../projects/valtimo/shared/src/lib/constants/versions.ts","../../../../projects/valtimo/shared/src/lib/constants/case-management-tab-token.ts","../../../../projects/valtimo/shared/src/lib/constants/form-view-model-token.ts","../../../../projects/valtimo/shared/src/lib/constants/error.constants.ts","../../../../projects/valtimo/shared/src/lib/constants/case-configuration-extensions-token.ts","../../../../projects/valtimo/shared/src/lib/constants/iko.token.ts","../../../../projects/valtimo/shared/src/lib/constants/building-block-management-tab-token.ts","../../../../projects/valtimo/shared/src/lib/constants/index.ts","../../../../projects/valtimo/shared/src/lib/services/environment.service.ts","../../../../projects/valtimo/shared/src/lib/services/draft-version.service.ts","../../../../projects/valtimo/shared/src/lib/services/edit-permissions.service.ts","../../../../projects/valtimo/shared/src/lib/services/configuration-issue.service.ts","../../../../projects/valtimo/shared/src/lib/services/index.ts","../../../../projects/valtimo/shared/src/lib/components/global-notification.component.ts","../../../../projects/valtimo/shared/src/lib/extension/extension.component.ts","../../../../projects/valtimo/shared/src/lib/extension/extension.component.html","../../../../projects/valtimo/shared/src/lib/config.module.ts","../../../../projects/valtimo/shared/src/lib/testing/services/mock-translate.service.ts","../../../../projects/valtimo/shared/src/lib/testing/services/mock-keycloak.service.ts","../../../../projects/valtimo/shared/src/lib/testing/services/mock-icon.service.ts","../../../../projects/valtimo/shared/src/lib/testing/services/index.ts","../../../../projects/valtimo/shared/src/lib/testing/index.ts","../../../../projects/valtimo/shared/src/lib/translation/custom-multi-translate-http-loader.ts","../../../../projects/valtimo/shared/src/lib/translation/custom-multi-translate-http-loader-factory.ts","../../../../projects/valtimo/shared/src/lib/translation/multi-translate-http-loader-factory.ts","../../../../projects/valtimo/shared/src/lib/translation/index.ts","../../../../projects/valtimo/shared/src/lib/zgw/constants/zgw-object-type-component-token.ts","../../../../projects/valtimo/shared/src/lib/zgw/constants/zgw-documenten-api-documents-component-token.ts","../../../../projects/valtimo/shared/src/lib/zgw/constants/index.ts","../../../../projects/valtimo/shared/src/lib/zgw/index.ts","../../../../projects/valtimo/shared/src/lib/generated/generated-backend-types.ts","../../../../projects/valtimo/shared/src/public-api.ts","../../../../projects/valtimo/shared/src/valtimo-shared.ts"],"sourcesContent":["/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {ExtraOptions} from '@angular/router';\n\nclass RouterUtils {\n public static getRouterExtraOptions(): ExtraOptions {\n return {canceledNavigationResolution: 'computed'};\n }\n}\n\nexport {RouterUtils};\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\nclass UrlUtils {\n static formatUrlTrailingSlash(url: string, returnWithTrailingSlash: boolean): string {\n if (url && typeof url === 'string') {\n const urlLastCharacter = url[url.length - 1];\n const urlLastCharacterIsSlash = urlLastCharacter === '/';\n\n if (!returnWithTrailingSlash && urlLastCharacterIsSlash) {\n return url.slice(0, -1);\n } else if (returnWithTrailingSlash && !urlLastCharacterIsSlash) {\n return `${url}/`;\n }\n }\n\n return url;\n }\n\n static formatUrlStartWithSlash(url: string): string {\n if (url && typeof url === 'string' && url.length > 0 && url[0] !== '/') {\n return `/${url}`;\n }\n\n return `${url}`;\n }\n\n static getUrlHost(urlString: string): string {\n let url!: URL;\n\n try {\n url = new URL(urlString);\n } catch (_) {}\n\n return url ? url.host : '';\n }\n}\n\nexport {UrlUtils};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NotificationContent} from 'carbon-components-angular';\n\nexport const DEFAULT_NOTIFICATION_PARAMS = {\n duration: 4000,\n showClose: true,\n};\n\nexport const getNotificationObject = (content: NotificationContent): NotificationContent => ({\n ...DEFAULT_NOTIFICATION_PARAMS,\n ...content,\n});\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport {BuildingBlockManagementParams, CaseManagementParams, ManagementContext} from '../models';\nimport {ActivatedRoute} from '@angular/router';\nimport {combineLatest, distinctUntilChanged, filter, map, Observable, of, switchMap} from 'rxjs';\nimport {isEqual} from 'lodash';\n\nconst getCaseManagementRouteParams = (\n route: ActivatedRoute,\n doFilter = false\n): Observable<CaseManagementParams | undefined> => {\n const rootParams$ = route.params ? route.params : of({});\n const parentParams$ = route.parent?.params ? route.parent.params : of({});\n return combineLatest([rootParams$, parentParams$]).pipe(\n map(([rootParams, parentParams]) => {\n const caseDefinitionKey =\n rootParams['caseDefinitionKey'] || parentParams['caseDefinitionKey'];\n const caseDefinitionVersionTag =\n rootParams['caseDefinitionVersionTag'] || parentParams['caseDefinitionVersionTag'];\n if (caseDefinitionKey && caseDefinitionVersionTag) {\n return {caseDefinitionKey, caseDefinitionVersionTag};\n }\n return null;\n }),\n filter((params): params is CaseManagementParams => (doFilter ? params !== null : true)),\n distinctUntilChanged((previous, current) => isEqual(previous, current))\n );\n};\n\nconst getBuildingBlockManagementRouteParams = (\n route: ActivatedRoute,\n doFilter = false\n): Observable<BuildingBlockManagementParams | undefined> => {\n const rootParams$ = route.params ? route.params : of({});\n const parentParams$ = route.parent?.params ? route.parent.params : of({});\n return combineLatest([rootParams$, parentParams$]).pipe(\n map(([rootParams, parentParams]) => {\n const buildingBlockDefinitionKey =\n rootParams['buildingBlockDefinitionKey'] || parentParams['buildingBlockDefinitionKey'];\n const buildingBlockDefinitionVersionTag =\n rootParams['buildingBlockDefinitionVersionTag'] ||\n parentParams['buildingBlockDefinitionVersionTag'];\n if (buildingBlockDefinitionKey && buildingBlockDefinitionVersionTag) {\n return {buildingBlockDefinitionKey, buildingBlockDefinitionVersionTag};\n }\n return null;\n }),\n filter((params): params is BuildingBlockManagementParams =>\n doFilter ? params !== null : true\n ),\n distinctUntilChanged((previous, current) => isEqual(previous, current))\n );\n};\n\nfunction getContextObservable(route: ActivatedRoute): Observable<ManagementContext | null> {\n // Traverse the route hierarchy to find the context data\n // The context is set on a parent route, so we need to look up the tree\n let currentRoute: ActivatedRoute | null = route;\n while (currentRoute) {\n const context = currentRoute.snapshot?.data?.['context'] as ManagementContext | undefined;\n if (context) {\n return currentRoute.data.pipe(\n map(data => (data && (data['context'] as ManagementContext)) || null),\n distinctUntilChanged()\n );\n }\n currentRoute = currentRoute.parent;\n }\n\n // Fallback to original behavior if no context found in hierarchy\n return route.data.pipe(\n map(data => (data && (data['context'] as ManagementContext)) || null),\n distinctUntilChanged()\n );\n}\n\nfunction getCaseManagementRouteParamsAndContext(\n route: ActivatedRoute\n): Observable<[ManagementContext, CaseManagementParams]> {\n const params$ = getCaseManagementRouteParams(route, true);\n const context$ = getContextObservable(route);\n\n return context$.pipe(\n switchMap(context => {\n if (context === 'case') {\n return combineLatest([of(context), params$]) as Observable<\n [ManagementContext, CaseManagementParams]\n >;\n }\n\n const fallbackParams: CaseManagementParams = {\n caseDefinitionKey: '',\n caseDefinitionVersionTag: '',\n };\n return of([context, fallbackParams] as [ManagementContext, CaseManagementParams]);\n })\n );\n}\n\nexport {\n getCaseManagementRouteParams,\n getContextObservable,\n getCaseManagementRouteParamsAndContext,\n getBuildingBlockManagementRouteParams,\n};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {DisplayTypeParameters} from '../models';\n\nconst getDisplayTypeParametersView = (displayTypeParameters: DisplayTypeParameters): string => {\n if (displayTypeParameters?.dateFormat) {\n return displayTypeParameters.dateFormat;\n } else if (displayTypeParameters?.tagAmount) {\n return displayTypeParameters.tagAmount.toString();\n } else if (displayTypeParameters?.enum) {\n return Object.keys(displayTypeParameters.enum).reduce((acc, curr) => {\n const keyValuePairString = `${curr}: ${displayTypeParameters.enum?.[curr]}`;\n if (!acc) {\n return `${keyValuePairString}`;\n }\n\n return `${acc}, ${keyValuePairString}`;\n }, '');\n }\n\n return '-';\n};\n\nexport {getDisplayTypeParametersView};\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\nconst validateBsn = (value: string): {isValid: boolean; errorKey: string | null} => {\n const baseKey = 'interface.dataValidation.bsnValidator';\n\n if (!value) {\n return {isValid: false, errorKey: `${baseKey}.valueEmpty`};\n }\n\n const trimmed = value.toString().trim();\n\n if (!/^\\d+$/.test(trimmed)) {\n return {isValid: false, errorKey: `${baseKey}.valueOnlyDigits`};\n }\n\n if (trimmed.length < 8 || trimmed.length > 9) {\n return {isValid: false, errorKey: `${baseKey}.valueMinLength`};\n }\n\n if (trimmed.length > 9) {\n return {isValid: false, errorKey: `${baseKey}.valueMaxLength`};\n }\n\n if (/^0+$/.test(trimmed) || /^9+$/.test(trimmed)) {\n return {isValid: false, errorKey: `${baseKey}.valueAllZerosOrNines`};\n }\n\n const digits = trimmed.split('').map(d => parseInt(d, 10));\n let sum = 0;\n const length = digits.length;\n\n for (let i = 0; i < length; i++) {\n const weight = i === length - 1 ? -1 : length - i;\n sum += digits[i] * weight;\n }\n\n if (sum % 11 !== 0) {\n return {isValid: false, errorKey: `${baseKey}.valueElfCheck`};\n }\n\n return {isValid: true, errorKey: null};\n};\n\nexport {validateBsn};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './router.utils';\nexport * from './url.utils';\nexport * from './global-notification.utils';\nexport * from './route-params.utils';\nexport * from './display-type.utils';\nexport * from './validate-bsn.utils';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService} from './config.service';\nimport {UrlUtils} from '../utils';\n\nexport abstract class BaseApiService {\n private readonly _valtimoEndpointUri!: string;\n\n constructor(\n protected readonly httpClient: HttpClient,\n protected readonly configService: ConfigService\n ) {\n this._valtimoEndpointUri = configService.config.valtimoApi.endpointUri;\n }\n\n public getApiUrl(urlPart: string): string {\n const urlWithStartSlash = UrlUtils.formatUrlStartWithSlash(urlPart);\n const urlFormattedWithTrailingSlash = `${UrlUtils.formatUrlTrailingSlash(this._valtimoEndpointUri, false)}${urlWithStartSlash}`;\n return urlFormattedWithTrailingSlash;\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {InjectionToken, Injector} from '@angular/core';\nimport {Auth} from './security.config';\nimport {MenuConfig} from './menu.config';\nimport {CSPHeaderParams} from 'csp-header';\n\nconst VALTIMO_CONFIG = new InjectionToken<ValtimoConfig>('valtimoConfig');\n\n// eslint-disable-next-line\nconst INITIALIZERS = new InjectionToken<(() => Function)[]>('initializers');\n\ndeclare type Direction = 'ASC' | 'DESC';\n\ninterface DefinitionColumn {\n propertyName: string;\n translationKey: string;\n sortable?: boolean;\n viewType?: string;\n default?: boolean | string;\n enum?: Array<string> | {[key: string]: string};\n title?: string;\n format?: string;\n key?: string;\n tagAmount?: number;\n}\n\ninterface CustomTaskList {\n fields: Array<DefinitionColumn>;\n defaultSortedColumn?: SortState;\n}\n\ninterface CustomLeftSidebar {\n defaultMenuWidth?: number;\n maxMenuWidth?: number;\n minMenuWidth?: number;\n}\n\ninterface Sort {\n name: string;\n direction: Direction;\n}\n\ninterface SortState {\n state: Sort;\n isSorting: boolean;\n}\n\ninterface FormioOptions {\n [key: string]: any;\n}\n\ninterface OverrideFormioOptions extends FormioOptions {\n [key: string]: any;\n}\n\ninterface ValtimoConfigFeatureToggles {\n applicationTitleAsSuffix?: boolean;\n enableHackathonCasesPage?: boolean;\n showUserNameInTopBar?: boolean;\n showPlantATreeButton?: boolean;\n experimentalDmnEditing?: boolean;\n disableCaseCount?: boolean;\n caseListColumn?: boolean;\n enableObjectManagement?: boolean;\n largeLogoMargin?: boolean;\n sortFilesByDate?: boolean;\n returnToLastUrlAfterTokenExpiration?: boolean;\n enableTabManagement?: boolean;\n hideValtimoVersionsForNonAdmins?: boolean;\n useStartEventNameAsStartFormTitle?: boolean;\n allowUserThemeSwitching?: boolean;\n enableCompactModeToggle?: boolean;\n compactModeOnByDefault?: boolean;\n enableUserNameInTopBarToggle?: boolean;\n enableFormViewModel?: boolean;\n enableIntermediateSave?: boolean;\n enableTaskPanel?: boolean;\n enableFormFlowBreadcrumbs?: boolean;\n enablePbacDocumentenApiDocuments?: boolean;\n enableSuppressDocumentError?: boolean;\n enableIkoType?: boolean;\n}\n\ninterface ValtimoConfig {\n // eslint-disable-next-line\n logoSvgBase64?: string;\n darkModeLogoSvgBase64?: string;\n logoPngBase64?: string;\n darkModeLogoPngBase64?: string;\n applicationTitle?: string;\n /**@deprecated Initializers will be removed in the future. */\n initializers?: ((injector: Injector) => () => void)[];\n menu: MenuConfig;\n authentication: Auth;\n production: boolean;\n whitelistedDomains: string[];\n langKey?: Language;\n valtimoApi: {\n endpointUri: string;\n };\n changePasswordUrl?: {\n endpointUri: string;\n };\n swagger: {\n endpointUri: string;\n };\n mockApi: {\n endpointUri: string;\n };\n logger: any;\n definitions: any;\n openZaak: {\n catalogus: string;\n };\n uploadProvider: UploadProvider;\n caseFileSizeUploadLimitMB?: number;\n caseFileUploadAcceptedFiles?: string;\n supportedDocumentFileTypesToViewInBrowser?: string[];\n defaultDefinitionTable: Array<DefinitionColumn>;\n translationResources?: Array<string>;\n featureToggles?: ValtimoConfigFeatureToggles;\n visibleTaskListTabs?: Array<TaskListTab>;\n visibleCaseListTabs?: Array<CaseListTab>;\n customTaskList?: CustomTaskList;\n customLeftSidebar?: CustomLeftSidebar;\n caseObjectTypes?: {\n [definitionNameId: string]: Array<string>;\n };\n overrideFeedbackMenuItemToMailTo?: FeedbackMailTo;\n csp?: CSPHeaderParams;\n formioOptions?: OverrideFormioOptions;\n}\n\ninterface FeedbackMailTo {\n email?: string;\n subjectTranslationKey: string;\n bodyTranslationKey: string;\n}\n\nenum UploadProvider {\n S3,\n /**@deprecated This upload provider will be removed in the future. */\n OPEN_ZAAK,\n DOCUMENTEN_API,\n}\n\nenum TaskListTab {\n MINE = 'mine',\n OPEN = 'open',\n ALL = 'all',\n TEAM = 'team',\n}\n\nenum CaseListTab {\n MINE = 'MINE',\n OPEN = 'OPEN',\n ALL = 'ALL',\n TEAM = 'TEAM',\n}\n\nenum Language {\n NL = 'nl',\n EN = 'en',\n}\n\nexport {\n VALTIMO_CONFIG,\n INITIALIZERS,\n Direction,\n DefinitionColumn,\n CustomTaskList,\n CustomLeftSidebar,\n Sort,\n SortState,\n OverrideFormioOptions,\n ValtimoConfigFeatureToggles,\n ValtimoConfig,\n FeedbackMailTo,\n UploadProvider,\n TaskListTab,\n CaseListTab,\n Language,\n};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport interface EmailNotificationSettings {\n emailNotifications: boolean;\n taskNotifications: boolean;\n emailNotificationOnMonday: boolean;\n emailNotificationOnTuesday: boolean;\n emailNotificationOnWednesday: boolean;\n emailNotificationOnThursday: boolean;\n emailNotificationOnFriday: boolean;\n emailNotificationOnSaturday: boolean;\n emailNotificationOnSunday: boolean;\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Observable} from 'rxjs';\n\nenum IncludeFunction {\n ObjectManagementEnabled,\n}\n\ninterface MenuItem {\n title: string;\n sequence: number;\n id?: string;\n link?: string[] | null;\n textClass?: string;\n iconClass?: string;\n children?: MenuItem[];\n roles?: string[];\n show?: boolean;\n count$?: Observable<number>;\n includeFunction?: IncludeFunction;\n}\n\nexport {MenuItem, IncludeFunction};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {MenuItem} from './menu-item.model';\n\nexport interface MenuConfig {\n menuItems: MenuItem[];\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Observable, ReplaySubject} from 'rxjs';\nimport {EmailNotificationSettings} from './email-notification-settings.model';\nimport {Injector} from '@angular/core';\n\nexport interface UserIdentity {\n email: string;\n firstName: string;\n lastName: string;\n roles: Array<string>;\n username?: string;\n id?: string;\n}\n\nexport class ValtimoUserIdentity implements UserIdentity {\n private readonly _email: string;\n private readonly _firstName: string;\n private readonly _lastName: string;\n private readonly _roles: string[];\n private readonly _username?: string;\n private readonly _id?: string;\n\n constructor(\n email: string,\n firstName: string,\n lastName: string,\n roles: Array<string>,\n username?: string,\n id?: string\n ) {\n this._email = email;\n this._firstName = firstName;\n this._lastName = lastName;\n this._roles = roles;\n this._username = username;\n this._id = id;\n }\n\n get email(): string {\n return this._email;\n }\n\n get firstName(): string {\n return this._firstName;\n }\n\n get lastName(): string {\n return this._lastName;\n }\n\n get roles(): string[] {\n return this._roles;\n }\n\n get username(): string | undefined {\n return this._username;\n }\n\n get id(): string | undefined {\n return this._id;\n }\n}\n\nexport interface UserService {\n getUserSubject(): ReplaySubject<UserIdentity>;\n\n logout(): void;\n\n getToken(): Promise<string>;\n\n updateToken?(minValidity: number): Promise<boolean>;\n}\n\nexport interface EmailNotificationService {\n getEmailNotificationSettings(): Observable<EmailNotificationSettings>;\n\n updateEmailNotificationSettings(\n settings: EmailNotificationSettings\n ): Observable<EmailNotificationSettings>;\n}\n\nexport interface AuthProviders {\n guardServiceProvider: any;\n userServiceProvider: any;\n}\n\nexport interface Auth {\n module: any;\n // eslint-disable-next-line\n initializer: (injector: Injector) => Function;\n authProviders: AuthProviders;\n options: any;\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {ComponentFactoryResolver, ComponentRef, ViewContainerRef} from '@angular/core';\n\nexport interface ExtensionPoint {\n module: string;\n page: string;\n section: string;\n component: any;\n}\n\nexport class ExtensionLoader {\n private readonly componentFactoryResolver: ComponentFactoryResolver = null;\n private componentRef: ComponentRef<any> = null;\n\n constructor(componentFactoryResolver: ComponentFactoryResolver) {\n this.componentFactoryResolver = componentFactoryResolver;\n }\n\n loadExtensionPoint(viewContainerRef: ViewContainerRef, extensionPoint: ExtensionPoint) {\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(\n extensionPoint.component\n );\n this.componentRef = viewContainerRef.createComponent(componentFactory);\n }\n\n loadAndClearExtensionPoint(viewContainerRef: ViewContainerRef, extensionPoint: ExtensionPoint) {\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(\n extensionPoint.component\n );\n viewContainerRef.clear();\n return (this.componentRef = viewContainerRef.createComponent(componentFactory));\n }\n}\n\nexport class Extension {\n public readonly _name: string;\n public readonly _extensionPoint: BasicExtensionPoint;\n\n constructor(name: string, extensionPoint: BasicExtensionPoint) {\n this._name = name;\n this._extensionPoint = extensionPoint;\n }\n\n get extensionPoint(): BasicExtensionPoint {\n return this._extensionPoint;\n }\n}\n\nexport class BasicExtensionPoint implements ExtensionPoint {\n private readonly _module: string;\n private readonly _page: string;\n private readonly _section: string;\n private readonly _component: any;\n\n constructor(module: string, page: string, section: string, component: any) {\n this._module = module;\n this._page = page;\n this._section = section;\n this._component = component;\n }\n\n supports(module: string, page: string, section: string): boolean {\n return this._module === module && this._page === page && this._section === section;\n }\n\n get module(): string {\n return this._module;\n }\n\n get page(): string {\n return this._page;\n }\n\n get section(): string {\n return this._section;\n }\n\n get component(): any {\n return this._component;\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {TranslateHttpLoader} from '@ngx-translate/http-loader';\nimport {HttpClient} from '@angular/common/http';\n\nexport function HttpLoaderFactory(httpClient: HttpClient) {\n return new TranslateHttpLoader(httpClient);\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport const ROLE_ADMIN = 'ROLE_ADMIN';\nexport const ROLE_USER = 'ROLE_USER';\nexport const ROLE_DEVELOPER = 'ROLE_DEVELOPER';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport interface User {\n id: string;\n fullName: string;\n firstName: string;\n lastName: string;\n email: string;\n roles: Array<string>;\n langKey: string;\n activated: boolean;\n emailVerified: boolean;\n verified: string;\n status: string;\n}\n\nexport interface NamedUser {\n id: string;\n email: string;\n firstName: string;\n lastName: string;\n label: string;\n userName: string;\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\ninterface SortResult {\n sorted: boolean;\n unsorted: boolean;\n}\n\ninterface Pageable {\n sort: SortResult;\n pageSize: number;\n pageNumber: number;\n offset: number;\n unpaged: boolean;\n paged: boolean;\n}\n\ninterface Page<T> {\n content: Array<T>;\n pageable: Pageable;\n last: boolean;\n totalPages: number;\n totalElements: number;\n first: boolean;\n sort: SortResult;\n numberOfElements: number;\n size: number;\n number: number;\n [key: string]: any;\n}\n\nexport {SortResult, Pageable, Page};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {SearchFieldMatchType} from '../generated';\n\ntype SearchFieldDataType = 'text' | 'number' | 'date' | 'datetime' | 'boolean' | 'bsn';\n\ntype SearchFieldFieldType =\n | 'single'\n | 'multiple'\n | 'range'\n | 'single-select-dropdown'\n | 'multi-select-dropdown';\n\n\ntype SearchFieldBoolean = 'booleanPositive' | 'booleanNegative';\n\ntype BooleanValueSingle = boolean;\n\ntype TextValueSingle = string;\ntype ValueMultiple = Array<\n BooleanValueSingle | TextValueSingle | NumberValueSingle | NumberValueRange\n>;\n\ntype NumberValueSingle = number;\n\ninterface NumberValueRange {\n start: NumberValueSingle;\n end: NumberValueSingle;\n}\n\ntype SearchFieldValue =\n | BooleanValueSingle\n | TextValueSingle\n | ValueMultiple\n | NumberValueSingle\n | NumberValueRange;\n\ninterface SearchField {\n ownerId?: string;\n title?: string;\n key: string;\n path?: string;\n order?: number;\n dataType: SearchFieldDataType;\n fieldType: SearchFieldFieldType;\n matchType?: SearchFieldMatchType;\n dropdownDataProvider?: string;\n uuid?: string;\n}\n\ninterface SearchFieldWithValue extends SearchField {\n value: SearchFieldValue;\n}\n\ninterface SearchFieldValues {\n [searchFieldKey: string]: SearchFieldValue;\n}\n\ninterface SearchFieldColumnView {\n title: string;\n key: string;\n path: string;\n dataType: string;\n fieldType: string;\n}\n\ntype SearchOperator = 'AND' | 'OR';\n\ntype AssigneeFilter = 'OPEN' | 'MINE' | 'ALL' | 'TEAM';\n\ninterface SearchFilter {\n key: string;\n values: Array<string>;\n multiValue?: boolean;\n}\n\ninterface SearchFilterRange {\n key: string;\n rangeFrom: string;\n rangeTo: string;\n}\n\nexport {\n SearchFieldDataType,\n SearchFieldFieldType,\n SearchFieldMatchType,\n SearchFieldBoolean,\n SearchField,\n SearchFieldValue,\n SearchFieldWithValue,\n SearchFieldValues,\n SearchFieldColumnView,\n SearchOperator,\n SearchFilter,\n SearchFilterRange,\n AssigneeFilter,\n};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\ninterface Versions {\n frontendLibraries: string;\n}\n\nexport {Versions};\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\ninterface UserSettings {\n collapsibleWidescreenMenu?: boolean;\n languageCode?: string;\n compactMode?: boolean;\n showUserNameInTopBar?: boolean;\n preferredTheme?: string;\n}\n\nexport {UserSettings};\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\ninterface ITranslationResource {\n prefix: string;\n suffix?: string;\n optional?: boolean;\n}\n\nexport {ITranslationResource};\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\ntype LocalizationContent = object;\n\ninterface Localization {\n languageKey: string;\n content: LocalizationContent;\n}\n\ninterface MergedLocalizations {\n [languageKey: string]: LocalizationContent;\n}\n\nexport {Localization, LocalizationContent, MergedLocalizations};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Type} from '@angular/core';\n\ninterface FormViewModel {\n component: Type<any>;\n}\n\nexport {FormViewModel};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {editor} from 'monaco-editor';\n\ntype MonacoEditor = typeof editor;\n\ninterface ValtimoWindow extends Window {\n monaco?: {\n editor?: MonacoEditor;\n };\n flags?: {\n formioValueResolverSelectorComponentRegistered: boolean;\n };\n}\n\nexport {ValtimoWindow};\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\ntype ManagementContext = 'case' | 'independent' | 'buildingBlock';\n\nexport {ManagementContext};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport enum TagColor {\n WarmGray = 'WARMGRAY',\n Red = 'RED',\n Magenta = 'MAGENTA',\n Purple = 'PURPLE',\n Blue = 'BLUE',\n Cyan = 'CYAN',\n Teal = 'TEAL',\n Green = 'GREEN',\n Gray = 'GRAY',\n CoolGray = 'COOLGRAY',\n HighContrast = 'HIGHCONTRAST',\n Outline = 'OUTLINE',\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\ninterface GlobalConfiguration {\n canUpdateGlobalConfiguration: boolean;\n}\n\nexport {GlobalConfiguration};\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\ntype ModalMode = 'add' | 'edit' | 'delete' | 'duplicate';\n\ntype ModalCloseEvent = 'close' | 'closeAndRefresh';\n\nexport {ModalMode, ModalCloseEvent};\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\ninterface DisplayType {\n type: string;\n displayTypeParameters: DisplayTypeParameters;\n}\n\ninterface DisplayTypeParameters {\n enum?: {\n [key: string]: string;\n };\n dateFormat?: string;\n tagAmount?: number;\n}\n\nexport {DisplayTypeParameters, DisplayType};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Type} from '@angular/core';\nimport {Observable} from 'rxjs';\n\ninterface BuildingBlockManagementParams {\n buildingBlockDefinitionKey: string;\n buildingBlockDefinitionVersionTag: string;\n}\n\ninterface BuildingBlockManagementTabConfig {\n translationKey: string;\n component: Type<any>;\n tabRoute: string;\n enabled$?: Observable<boolean>;\n}\n\nexport {BuildingBlockManagementParams, BuildingBlockManagementTabConfig};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './config';\nexport * from './email-notification-settings.model';\nexport * from './menu-item.model';\nexport * from './menu.config';\nexport * from './security.config';\nexport * from './extension.model';\nexport * from './http-loader';\nexport * from './roles';\nexport * from './user-management.model';\nexport * from './page';\nexport * from './search.model';\nexport * from './versions.model';\nexport * from './user-settings.model';\nexport * from './translation.model';\nexport * from './localization.model';\nexport * from './form-view-model.model';\nexport * from './window.model';\nexport * from './management.model';\nexport * from './tag-color.model';\nexport * from './global-configuration.model';\nexport * from './case-management.model';\nexport * from './modal.model';\nexport * from './display-type.model';\nexport * from './building-block-management.model';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {ComponentFactoryResolver, Inject, Injectable, ViewContainerRef} from '@angular/core';\nimport {\n Extension,\n ExtensionLoader,\n ExtensionPoint,\n VALTIMO_CONFIG,\n ValtimoConfig,\n ValtimoConfigFeatureToggles,\n} from '../models';\nimport {UrlUtils} from '../utils';\nimport {map, Observable, of} from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigService {\n private readonly extensionLoader: ExtensionLoader;\n private readonly extensions: Array<Extension> = [];\n private readonly DEFAULT_APPLICATION_TITLE = 'Valtimo';\n\n constructor(\n @Inject(VALTIMO_CONFIG) private valtimoConfig: ValtimoConfig,\n private componentFactoryResolver: ComponentFactoryResolver\n ) {\n this.extensionLoader = new ExtensionLoader(componentFactoryResolver);\n }\n\n public get config(): ValtimoConfig {\n const config = this.valtimoConfig;\n const translationResourcesConfig = config.translationResources;\n\n return {\n ...config,\n initializers: config.initializers || [],\n whitelistedDomains: config.whitelistedDomains.map(domain =>\n UrlUtils.formatUrlTrailingSlash(domain, false)\n ),\n mockApi: {\n ...config.mockApi,\n endpointUri: UrlUtils.formatUrlTrailingSlash(config.mockApi.endpointUri, true),\n },\n swagger: {\n ...config.swagger,\n endpointUri: UrlUtils.formatUrlTrailingSlash(config.swagger.endpointUri, false),\n },\n valtimoApi: {\n ...config.valtimoApi,\n endpointUri: UrlUtils.formatUrlTrailingSlash(config.valtimoApi.endpointUri, true),\n },\n ...(translationResourcesConfig && {\n translationResources: translationResourcesConfig.map(resource =>\n UrlUtils.formatUrlTrailingSlash(resource, true)\n ),\n }),\n applicationTitle: config.applicationTitle || this.DEFAULT_APPLICATION_TITLE,\n };\n }\n\n public get featureToggles(): ValtimoConfig['featureToggles'] {\n return this.config.featureToggles;\n }\n\n public get config$(): Observable<ValtimoConfig> {\n return of(this.config);\n }\n\n public get featureToggles$(): Observable<ValtimoConfig['featureToggles']> {\n return of(this.config.featureToggles);\n }\n\n public get initializers() {\n return this.valtimoConfig?.initializers || [];\n }\n\n public addExtension(extension: Extension) {\n return this.extensions.push(extension);\n }\n\n public getSupportedExtensionPoint(module: string, page: string, section: string) {\n return this.extensions.find(extension =>\n extension.extensionPoint.supports(module, page, section)\n );\n }\n\n public getSupportedExtensionPoints(module: string, page: string, section: string) {\n return this.extensions.filter(extension =>\n extension.extensionPoint.supports(module, page, section)\n );\n }\n\n public loadExtensionPoint(viewContainerRef: ViewContainerRef, extensionPoint: ExtensionPoint) {\n this.extensionLoader.loadExtensionPoint(viewContainerRef, extensionPoint);\n }\n\n public loadAndReturnExtensionPoint(\n viewContainerRef: ViewContainerRef,\n extensionPoint: ExtensionPoint\n ) {\n return this.extensionLoader.loadAndClearExtensionPoint(viewContainerRef, extensionPoint);\n }\n\n public getFeatureToggleObservable(\n featureToggle: keyof ValtimoConfigFeatureToggles\n ): Observable<boolean> {\n return this.featureToggles$.pipe(\n map(featureToggles => !!(featureToggles && featureToggles[featureToggle]))\n );\n }\n\n public getFeatureToggle(featureToggle: keyof ValtimoConfigFeatureToggles): boolean {\n return !!(this.featureToggles && this.featureToggles[featureToggle]);\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport {ComponentRef, EventEmitter, Injectable} from '@angular/core';\nimport {\n ActionableContent,\n ActionableNotification,\n Notification,\n NotificationContent,\n NotificationService,\n Toast,\n ToastContent,\n} from 'carbon-components-angular';\nimport {take} from 'rxjs';\nimport {getNotificationObject} from '../utils';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class GlobalNotificationService {\n private _notificationService: NotificationService | null = null;\n private readonly _notificationQueue: (Notification & {id: string})[] = [];\n\n public setNotificationService(service: NotificationService): void {\n this._notificationService = service;\n }\n\n public getNotificationService(): NotificationService | null {\n return this._notificationService;\n }\n\n public showNotification(\n notificationObj: NotificationContent | ToastContent | ActionableContent,\n notificationComp: typeof Notification = Notification\n ): Notification | null {\n if (!this._notificationService) return null;\n\n return this.handleNotificationRef(\n this._notificationService?.showNotification(\n getNotificationObject(notificationObj),\n notificationComp\n )\n );\n }\n\n public showToast(\n notificationObj: NotificationContent | ToastContent,\n notificationComp: typeof Toast = Toast\n ): Notification | null {\n if (!this._notificationService) return null;\n\n return this.handleNotificationRef(\n this._notificationService?.showToast(getNotificationObject(notificationObj), notificationComp)\n );\n }\n\n public showActionable(\n notificationObj: ActionableContent,\n notificationComp: typeof ActionableNotification = ActionableNotification\n ): Notification | null {\n if (!this._notificationService) return null;\n\n return this.handleNotificationRef(\n this._notificationService?.showActionable(\n getNotificationObject(notificationObj),\n notificationComp\n )\n );\n }\n\n public close(notificationRef: any): void {\n notificationRef.close.emit();\n }\n\n public getSmartTimeout(notificationObj: any): number | null {\n if (!this._notificationService) return null;\n return this._notificationService?.getSmartTimeout(notificationObj);\n }\n\n public getNotificationRefs(): ComponentRef<any>[] | null {\n if (!this._notificationService) return null;\n return this._notificationService?.notificationRefs;\n }\n\n public getOnCloseEmitter(): EventEmitter<any> | null {\n if (!this._notificationService) return null;\n return this._notificationService?.onClose;\n }\n\n public ngOnDestroy(): void {\n this._notificationService?.ngOnDestroy();\n this._notificationQueue.splice(0, this._notificationQueue.length);\n }\n\n private handleNotificationRef(notificationRef: any): Notification | null {\n const notification = {\n ...notificationRef,\n id:\n notificationRef.toastID ??\n notificationRef.notificationID ??\n notificationRef.actionableNotificationID,\n };\n\n if (this._notificationQueue.length > 3) {\n this._notificationQueue.splice(0, 1);\n this.close(notificationRef);\n }\n\n this._notificationQueue.push(notification);\n setTimeout(() => this.removeNotificationInQueue(notification.id), 4000);\n\n notificationRef.close\n .pipe(take(1))\n .subscribe(() => this.removeNotificationInQueue(notification.id));\n\n return notificationRef;\n }\n\n private removeNotificationInQueue(id: string): void {\n const index = this._notificationQueue.findIndex(\n (notification: Notification & {id: string}) => notification.id === id\n );\n if (index === -1) return;\n\n this._notificationQueue.splice(index, 1);\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {Localization, LocalizationContent, MergedLocalizations} from '../models';\nimport {HttpClient, HttpHeaders} from '@angular/common/http';\nimport {ConfigService} from './config.service';\nimport {map, Observable, of} from 'rxjs';\nimport {catchError} from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LocalizationService {\n private readonly valtimoApiUri!: string;\n\n constructor(\n private readonly http: HttpClient,\n private readonly configService: ConfigService\n ) {\n this.valtimoApiUri = configService?.config?.valtimoApi?.endpointUri;\n }\n\n public getLocalization(languageKey: string): Observable<LocalizationContent> {\n return this.http\n .get<LocalizationContent>(`${this.valtimoApiUri}v1/localization/${languageKey}`, {\n headers: new HttpHeaders().set('X-Skip-Interceptor', '403'),\n })\n .pipe(catchError(() => of({})));\n }\n\n public getLocalizations(): Observable<Localization[]> {\n return this.http.get<Localization[]>(`${this.valtimoApiUri}v1/localization`);\n }\n\n public getMergedLocalizations(): Observable<MergedLocalizations> {\n return this.getLocalizations().pipe(\n map(res => res.reduce((acc, curr) => ({...acc, [curr.languageKey]: curr.content}), {}))\n );\n }\n\n public updateLocalization(\n languageKey: string,\n updatedLocalizationContent: LocalizationContent\n ): Observable<LocalizationContent> {\n return this.http.put<LocalizationContent>(\n `${this.valtimoApiUri}management/v1/localization/${languageKey}`,\n updatedLocalizationContent\n );\n }\n\n public updateLocalizations(updatedLocalizations: Localization[]): Observable<Localization[]> {\n return this.http.put<Localization[]>(\n `${this.valtimoApiUri}management/v1/localization`,\n updatedLocalizations\n );\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {IncludeFunction, ValtimoConfig} from '../models';\nimport {ConfigService} from './config.service';\nimport {Observable, of} from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MenuIncludeService {\n private valtimoConfig!: ValtimoConfig;\n\n constructor(private readonly configService: ConfigService) {\n this.valtimoConfig = this.configService.config;\n }\n\n getIncludeFunction(includeFunction: IncludeFunction): Observable<boolean> {\n switch (includeFunction) {\n case IncludeFunction.ObjectManagementEnabled:\n return of(!!this.valtimoConfig?.featureToggles?.enableObjectManagement || true);\n default:\n return of(true);\n }\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {UserSettings} from '../models';\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService} from './config.service';\nimport {Observable} from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class UserSettingsService {\n private readonly valtimoApiUri!: string;\n\n constructor(\n private readonly http: HttpClient,\n private readonly configService: ConfigService\n ) {\n this.valtimoApiUri = configService?.config?.valtimoApi?.endpointUri;\n }\n\n getUserSettings(): Observable<UserSettings> {\n return this.http.get<UserSettings>(`${this.valtimoApiUri}v1/user/settings`);\n }\n\n saveUserSettings(settings: UserSettings): Observable<any> {\n return this.http.put(`${this.valtimoApiUri}v1/user/settings`, settings);\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Versions} from '../models';\n\nconst VERSIONS: Versions = {\n frontendLibraries: '13.27.0',\n};\n\nexport {VERSIONS};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {InjectionToken} from '@angular/core';\nimport {CaseManagementTabConfig} from '../models';\n\nconst CASE_MANAGEMENT_TAB_TOKEN = new InjectionToken<CaseManagementTabConfig>(\n 'Specify a component to display per configured tab translation key.'\n);\n\nexport {CASE_MANAGEMENT_TAB_TOKEN};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {InjectionToken} from '@angular/core';\nimport {FormViewModel} from '../models';\n\nconst FORM_VIEW_MODEL_TOKEN = new InjectionToken<FormViewModel>(\n 'Specify the form view model component.'\n);\n\nexport {FORM_VIEW_MODEL_TOKEN};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {HttpHeaders} from '@angular/common/http';\n\nconst InterceptorSkip = 'X-Skip-Interceptor';\nconst InterceptorSkipHeader = new HttpHeaders().set(InterceptorSkip, 'all');\n\nexport {InterceptorSkip, InterceptorSkipHeader};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {InjectionToken, Type} from '@angular/core';\n\nconst CASE_CONFIGURATION_EXTENSIONS_TOKEN = new InjectionToken<Type<any>[]>(\n 'Specify components to display on on the case management general page.'\n);\n\nexport {CASE_CONFIGURATION_EXTENSIONS_TOKEN};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {InjectionToken} from '@angular/core';\n\nconst IKO_TOKEN = new InjectionToken<boolean>('IKO is enabled when this token is provided');\n\nexport {IKO_TOKEN};\n","/*\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\nimport {InjectionToken} from '@angular/core';\nimport {BuildingBlockManagementTabConfig} from '../models';\n\nconst BUILDING_BLOCK_MANAGEMENT_TAB_TOKEN = new InjectionToken<BuildingBlockManagementTabConfig[]>(\n 'Specify components to display as tabs on the building block management detail page.'\n);\n\nexport {BUILDING_BLOCK_MANAGEMENT_TAB_TOKEN};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './versions';\nexport * from './case-management-tab-token';\nexport * from './form-view-model-token';\nexport * from './error.constants';\nexport * from './case-configuration-extensions-token';\nexport * from './iko.token';\nexport * from './building-block-management-tab-token';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {HttpClient, HttpHeaders} from '@angular/common/http';\nimport {map, Observable, of} from 'rxjs';\nimport {ConfigService} from './config.service';\nimport {BaseApiService} from './base-api.service';\nimport {GlobalConfiguration} from '../models';\nimport {catchError} from 'rxjs/operators';\nimport {InterceptorSkip} from '../constants';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class EnvironmentService extends BaseApiService {\n constructor(\n protected readonly httpClient: HttpClient,\n protected readonly configService: ConfigService\n ) {\n super(httpClient, configService);\n }\n\n public canUpdateGlobalConfiguration(): Observable<boolean> {\n return this.httpClient\n .get<GlobalConfiguration>(this.getApiUrl('management/v1/case-definition/check'), {\n headers: new HttpHeaders().set(InterceptorSkip, '404'),\n })\n .pipe(\n map(response => response.canUpdateGlobalConfiguration),\n catchError(() => of(true))\n );\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {HttpClient, HttpHeaders} from '@angular/common/http';\nimport {map, Observable, of} from 'rxjs';\nimport {ConfigService} from './config.service';\nimport {BaseApiService} from './base-api.service';\nimport {InterceptorSkip} from '../constants';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DraftVersionService extends BaseApiService {\n constructor(\n protected readonly httpClient: HttpClient,\n protected readonly configService: ConfigService\n ) {\n super(httpClient, configService);\n }\n\n public isDraftVersion(\n caseDefinitionKey: string,\n caseDefinitionVersionTag: string\n ): Observable<boolean> {\n if (!caseDefinitionKey || !caseDefinitionVersionTag) {\n return of(false);\n }\n\n return this.httpClient\n .get<any>(\n this.getApiUrl(\n `management/v1/case-definition/${caseDefinitionKey}/version/${caseDefinitionVersionTag}`\n ),\n {\n headers: new HttpHeaders().set(InterceptorSkip, '403'),\n }\n )\n .pipe(map(caseDefinition => !caseDefinition.final));\n }\n\n public isDraftVersionBuildingBlock(\n buildingBlockDefinitionKey: string,\n buildingBlockDefinitionVersionTag: string\n ): Observable<boolean> {\n if (!buildingBlockDefinitionKey || !buildingBlockDefinitionVersionTag) {\n return of(false);\n }\n\n return this.httpClient\n .get<any>(\n this.getApiUrl(\n `management/v1/building-block/${buildingBlockDefinitionKey}/version/${buildingBlockDefinitionVersionTag}`\n ),\n {\n headers: new HttpHeaders().set(InterceptorSkip, '403'),\n }\n )\n .pipe(map(buildingBlockDefinition => !buildingBlockDefinition.final));\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {BaseApiService} from './base-api.service';\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService} from './config.service';\nimport {combineLatest, map, Observable, of} from 'rxjs';\nimport {EnvironmentService} from './environment.service';\nimport {DraftVersionService} from './draft-version.service';\nimport {Injectable} from '@angular/core';\nimport {BuildingBlockManagementParams, CaseManagementParams} from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class EditPermissionsService extends BaseApiService {\n constructor(\n protected readonly httpClient: HttpClient,\n protected readonly configService: ConfigService,\n public readonly environmentService: EnvironmentService,\n public readonly draftVersionService: DraftVersionService\n ) {\n super(httpClient, configService);\n }\n\n public hasEditPermissions(\n caseDefinitionKey: string,\n caseDefinitionVersionTag: string\n ): Observable<boolean> {\n return combineLatest([\n this.environmentService.canUpdateGlobalConfiguration(),\n this.draftVersionService.isDraftVersion(caseDefinitionKey, caseDefinitionVersionTag),\n ]).pipe(map(([canUpdate, isDraftVersion]) => canUpdate && isDraftVersion));\n }\n\n public hasPermissionsToEditBasedOnContext(\n params: CaseManagementParams | BuildingBlockManagementParams,\n context: string\n ): Observable<boolean> {\n if (context === 'case') {\n const caseManagementParams = params as CaseManagementParams;\n return this.hasEditPermissions(\n caseManagementParams.caseDefinitionKey,\n caseManagementParams.caseDefinitionVersionTag\n );\n } else if (context === 'independent') {\n return this.environmentService.canUpdateGlobalConfiguration();\n } else if (context === 'buildingBlock') {\n return of(true);\n }\n return of(false);\n }\n}\n","/*\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\nimport {Injectable} from '@angular/core';\nimport {BehaviorSubject, map, Observable} from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigurationIssueService {\n private readonly _unresolvedIssueTypes$ = new BehaviorSubject<Set<string>>(new Set());\n\n public setUnresolvedIssueTypes(issueTypes: string[]): void {\n this._unresolvedIssueTypes$.next(new Set(issueTypes));\n }\n\n public readonly hasAnyIssues$: Observable<boolean> = this._unresolvedIssueTypes$.pipe(\n map(types => types.size > 0)\n );\n\n public hasIssue$(issueType: string): Observable<boolean> {\n return this._unresolvedIssueTypes$.pipe(map(types => types.has(issueType)));\n }\n\n public hasAnyOfIssues$(issueTypes: string[]): Observable<boolean> {\n return this._unresolvedIssueTypes$.pipe(map(types => issueTypes.some(t => types.has(t))));\n }\n}\n","/*\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\nexport * from './base-api.service';\nexport * from './config.service';\nexport * from './global-notification.service';\nexport * from './localization.service';\nexport * from './menu-include.service';\nexport * from './user-settings.service';\nexport * from './environment.service';\nexport * from './draft-version.service';\nexport * from './edit-permissions.service';\nexport * from './configuration-issue.service';\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 */\nimport {CommonModule} from '@angular/common';\nimport {Component, OnInit} from '@angular/core';\nimport {NotificationService} from 'carbon-components-angular';\nimport {GlobalNotificationService} from '../services';\n\n@Component({\n selector: 'valtimo-global-notification',\n template: ``,\n styles: `\n ::ng-deep.cds--toast-notification {\n width: 100%;\n }\n `,\n providers: [NotificationService],\n standalone: true,\n imports: [CommonModule],\n})\nexport class GlobalNotificationComponent implements OnInit {\n constructor(\n private readonly globalNotificationService: GlobalNotificationService,\n private readonly notificationService: NotificationService\n ) {}\n\n public ngOnInit(): void {\n this.globalNotificationService.setNotificationService(this.notificationService);\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, Input, OnInit, ViewChild, ViewContainerRef} from '@angular/core';\nimport {ConfigService} from '../services/config.service';\nimport {Extension, ExtensionLoader, ExtensionPoint} from '../models';\n\n@Component({\n selector: 'valtimo-extension',\n templateUrl: './extension.component.html',\n styleUrls: ['./extension.component.css'],\n standalone: false,\n})\nexport class ExtensionComponent implements OnInit {\n public extensionLoader: ExtensionLoader = null;\n public selectedExtensionPoint: ExtensionPoint;\n public supportedExtensions: Array<Extension>;\n @Input() public module: string;\n @Input() public page: string;\n @Input() public section: string;\n @ViewChild('injectExtension', {read: ViewContainerRef, static: true})\n viewContainerRef: ViewContainerRef;\n\n constructor(private configService: ConfigService) {}\n\n ngOnInit() {\n this.configService\n .getSupportedExtensionPoints(this.module, this.page, this.section)\n .forEach(extension => {\n this.configService.loadExtensionPoint(this.viewContainerRef, extension.extensionPoint);\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-template #injectExtension></ng-template>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {ModuleWithProviders, NgModule} from '@angular/core';\nimport {ConfigService} from './services/config.service';\nimport {VALTIMO_CONFIG, ValtimoConfig} from './models';\nimport {ExtensionComponent} from './extension/extension.component';\n\n@NgModule({\n declarations: [ExtensionComponent],\n imports: [],\n exports: [ExtensionComponent],\n})\nexport class ConfigModule {\n static forRoot(config: ValtimoConfig): ModuleWithProviders<ConfigModule> {\n return {\n ngModule: ConfigModule,\n providers: [\n ConfigService,\n {\n provide: VALTIMO_CONFIG,\n useValue: config,\n },\n ],\n };\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {Observable, of} from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MockTranslateService {\n public stream(key: string): Observable<any> {\n return of(null);\n }\n\n public instant(key: string): string {\n return '';\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {Observable, of} from 'rxjs';\nimport {KeycloakProfile} from 'keycloak-js';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MockKeycloakService {\n public get keycloakEvents$(): Observable<{type: string}> {\n return of({type: ''});\n }\n\n public isLoggedIn(): Observable<boolean> {\n return of(true);\n }\n\n private readonly MOCK_USER_PROFILE: KeycloakProfile = {\n id: '',\n username: '',\n email: '',\n firstName: '',\n lastName: '',\n enabled: true,\n emailVerified: true,\n totp: true,\n createdTimestamp: 0,\n };\n\n public async loadUserProfile(): Promise<KeycloakProfile> {\n return this.MOCK_USER_PROFILE;\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MockIconService {\n public registerAll(value: Array<any>): void {\n return;\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './mock-translate.service';\nexport * from './mock-keycloak.service';\nexport * from './mock-icon.service';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './services';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {HttpBackend, HttpClient} from '@angular/common/http';\nimport {catchError, map, switchMap} from 'rxjs/operators';\nimport {combineLatest, forkJoin, Observable, of} from 'rxjs';\nimport {deepmerge} from 'deepmerge-ts';\nimport {ITranslationResource} from '../models';\nimport {TranslateLoader} from '@ngx-translate/core';\nimport {LocalizationService} from '../services/localization.service';\n\nexport class CustomMultiTranslateHttpLoader implements TranslateLoader {\n private readonly _handler: HttpBackend;\n private readonly _httpClient: HttpClient;\n private readonly _resourcesPrefix: Array<string> | ITranslationResource[];\n private readonly _localizationService: LocalizationService;\n constructor(\n _handler: HttpBackend,\n _httpClient: HttpClient,\n _localizationService: LocalizationService,\n _resourcesPrefix: Array<string> | ITranslationResource[]\n ) {\n this._handler = _handler;\n this._httpClient = _httpClient;\n this._resourcesPrefix = _resourcesPrefix;\n this._localizationService = _localizationService;\n }\n getTranslation(lang: string): Observable<any> {\n const requests = this._resourcesPrefix.map(resource => {\n let path;\n if (resource.prefix) path = `${resource.prefix}${lang}${resource.suffix || '.json'}`;\n else path = `${resource}${lang}.json`;\n return new HttpClient(this._handler).get(path).pipe(\n catchError(res => {\n if (!resource.optional) {\n console.group();\n console.error('Something went wrong for the following translation file:', path);\n console.error(res);\n console.groupEnd();\n }\n return of({});\n })\n );\n });\n\n return forkJoin(requests).pipe(\n switchMap(localResourcesResponse =>\n combineLatest([of(localResourcesResponse), this._localizationService.getLocalization(lang)])\n ),\n map(([localResourcesResponse, localizationResponse]) =>\n deepmerge(...[...localResourcesResponse, localizationResponse])\n )\n );\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {HttpBackend, HttpClient} from '@angular/common/http';\nimport {ConfigService} from '../services/config.service';\nimport {CustomMultiTranslateHttpLoader} from './custom-multi-translate-http-loader';\nimport {LocalizationService} from '../services/localization.service';\n\nexport function CustomMultiTranslateHttpLoaderFactory(\n http: HttpBackend,\n httpClient: HttpClient,\n configService: ConfigService,\n localizationService: LocalizationService\n) {\n const translationResources = configService?.config?.translationResources;\n\n return new CustomMultiTranslateHttpLoader(http, httpClient, localizationService, [\n './valtimo-translation/core/',\n ...(translationResources &&\n Array.isArray(translationResources) &&\n translationResources.length > 0\n ? translationResources\n : []),\n ]);\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {HttpBackend} from '@angular/common/http';\nimport {MultiTranslateHttpLoader} from 'ngx-translate-multi-http-loader';\nimport {ConfigService} from '../services/config.service';\n\nexport function MultiTranslateHttpLoaderFactory(http: HttpBackend, configService: ConfigService) {\n const translationResources = configService.config.translationResources;\n\n return new MultiTranslateHttpLoader(http, [\n './valtimo-translation/core/',\n ...(translationResources &&\n Array.isArray(translationResources) &&\n translationResources.length > 0\n ? translationResources\n : []),\n ]);\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './custom-multi-translate-http-loader';\nexport * from './custom-multi-translate-http-loader-factory';\nexport * from './multi-translate-http-loader-factory';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {InjectionToken, Type} from '@angular/core';\n\nconst ZGW_OBJECT_TYPE_COMPONENT_TOKEN = new InjectionToken<Type<any>>(\n 'Specify a component to display ZGW object types.'\n);\n\nexport {ZGW_OBJECT_TYPE_COMPONENT_TOKEN};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {InjectionToken, Type} from '@angular/core';\n\nconst ZGW_DOCUMENTEN_API_DOCUMENTS_COMPONENT_TOKEN = new InjectionToken<Type<any>>(\n 'Specify a component to display on documents tab when Documenten API is set as the upload provider in the environment file.'\n);\n\nexport {ZGW_DOCUMENTEN_API_DOCUMENTS_COMPONENT_TOKEN};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './zgw-object-type-component-token';\nexport * from './zgw-documenten-api-documents-component-token';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './constants';\n","/* tslint:disable */\n/* eslint-disable */\n// Generated using typescript-generator version 3.2.1263 on 2026-03-16 10:02:12.\n\nexport interface BuildingBlockDefinitionArtworkDto {\n key: string;\n versionTag: string;\n imageBase64: string;\n}\n\nexport interface BuildingBlockDefinitionDto {\n key: string;\n versionTag: string;\n name: string;\n description: string | null;\n createdBy: string | null;\n createdDate: DateAsString | null;\n basedOnVersionTag: string | null;\n final: boolean;\n imageBase64: string | null;\n}\n\nexport interface BuildingBlockFormDefinitionDto {\n id: string;\n name: string;\n formDefinition: any;\n readOnly: boolean;\n}\n\nexport interface BuildingBlockProcessDefinitionDto {\n id: string;\n key: string;\n name: string | null;\n versionTag: string | null;\n main: boolean;\n}\n\nexport interface BuildingBlockProcessDefinitionWithLinksDto {\n processDefinition: ProcessDefinitionWithPropertiesDto;\n processLinks: ProcessLinkResponseDto[];\n bpmn20Xml: string;\n}\n\nexport interface BuildingBlockVersionDto {\n versionTag: string;\n final: boolean;\n}\n\nexport interface CreateBuildingBlockDefinitionArtworkDto {\n imageBase64: string;\n}\n\nexport interface CreateBuildingBlockDefinitionDto {\n key: string;\n versionTag: string;\n name: string;\n description: string | null;\n}\n\nexport interface CreateBuildingBlockDraftDto {\n versionTag: string;\n}\n\nexport interface CreateBuildingBlockFormDefinitionDto {\n name: string;\n formDefinition: string;\n readOnly: boolean | null;\n}\n\nexport interface UpdateBuildingBlockDefinitionArtworkDto {\n imageBase64: string;\n}\n\nexport interface UpdateBuildingBlockDefinitionDto {\n name: string;\n description: string | null;\n}\n\nexport interface UpdateBuildingBlockFormDefinitionDto {\n name: string;\n formDefinition: string;\n}\n\nexport interface CaseDefinitionCheckResponse {\n canUpdateGlobalConfiguration: boolean;\n}\n\nexport interface CaseDefinitionDraftCreateRequest {\n caseDefinitionKey: string;\n caseDefinitionVersion: string;\n name: string | null;\n description: string | null;\n basedOnCaseDefinitionVersion: string | null;\n basedOnCaseDefinitionId: CaseDefinitionId | null;\n caseDefinitionId: CaseDefinitionId;\n}\n\nexport interface CaseDefinitionImportResponse {\n caseDefinitionId: CaseDefinitionId | null;\n}\n\nexport interface CaseDefinitionQuickSearchDto {\n queryPath: string;\n title: string;\n}\n\nexport interface CaseDefinitionResponseDto {\n caseDefinitionKey: string;\n caseDefinitionVersionTag: string;\n name: string;\n description: string | null;\n createdBy: string | null;\n createdDate: DateAsString | null;\n basedOnVersionTag: string | null;\n final: boolean;\n active: boolean;\n canHaveAssignee: boolean;\n autoAssignTasks: boolean;\n hasExternalStartForm: boolean | null;\n externalStartFormUrl: string | null;\n externalStartFormDescription: string | null;\n conflictingVersions: string | null;\n}\n\nexport interface CaseDefinitionSettingsResponseDto {\n caseDefinitionKey: string;\n caseDefinitionVersionTag: string;\n canHaveAssignee: boolean;\n autoAssignTasks: boolean;\n hasExternalStartForm: boolean | null;\n externalStartFormUrl: string | null;\n externalStartFormDescription: string | null;\n}\n\nexport interface CaseDefinitionUpdateRequest {\n name: string | null;\n description: string | null;\n}\n\nexport interface CaseListColumnDto {\n title: string | null;\n key: string;\n path: string;\n displayType: any;\n sortable: boolean;\n defaultSort: ColumnDefaultSort | null;\n order: number | null;\n exportable: boolean;\n}\n\nexport interface CaseListRowDto {\n id: string;\n items: CaseListItemDto[];\n}\n\nexport interface CaseSettingsDto {\n canHaveAssignee: boolean | null;\n autoAssignTasks: boolean | null;\n hasExternalStartForm: boolean | null;\n externalStartFormUrl: string | null;\n externalStartFormDescription: string | null;\n}\n\nexport interface CaseTabDto {\n key: string;\n name: string | null;\n type: CaseTabType;\n contentKey: string;\n showTasks: boolean;\n}\n\nexport interface CaseTabUpdateDto {\n name: string | null;\n type: CaseTabType;\n contentKey: string;\n showTasks: boolean;\n}\n\nexport interface CaseTabUpdateOrderDto {\n key: string;\n name: string | null;\n type: CaseTabType;\n contentKey: string;\n showTasks: boolean;\n}\n\nexport interface CaseTabWithMetadataDto {\n key: string;\n name: string | null;\n type: CaseTabType;\n contentKey: string;\n createdOn: DateAsString | null;\n createdBy: string | null;\n showTasks: boolean;\n}\n\nexport interface CaseVersionDto {\n versionTag: string;\n active: boolean;\n final: boolean;\n}\n\nexport interface HiddenCaseListColumnDto {\n columnKey: string;\n}\n\nexport interface TaskListColumnDto {\n title: string | null;\n key: string;\n path: string;\n displayType: any;\n sortable: boolean;\n defaultSort: ColumnDefaultSort | null;\n order: number | null;\n}\n\nexport interface AdminWidgetConfigurationResponseDto {\n key: string;\n title: string;\n dataSourceKey: string;\n displayType: string;\n dataSourceProperties: ObjectNode;\n displayTypeProperties: ObjectNode;\n url: URI | null;\n}\n\nexport interface DashboardCreateRequestDto {\n title: string;\n description: string;\n}\n\nexport interface DashboardResponseDto {\n key: string;\n title: string;\n description: string;\n createdBy: string;\n createdOn: DateAsString;\n}\n\nexport interface DashboardUpdateRequestDto {\n key: string;\n title: string;\n description: string;\n}\n\nexport interface DashboardWidgetDataResultDto {\n key: string;\n data: any;\n}\n\nexport interface DashboardWithWidgetsResponseDto {\n key: string;\n title: string;\n widgets: WidgetConfigurationResponseDto[];\n}\n\nexport interface SingleWidgetConfigurationUpdateRequestDto {\n title: string;\n dataSourceKey: string;\n displayType: string;\n dataSourceProperties: ObjectNode;\n displayTypeProperties: ObjectNode;\n url: URI | null;\n}\n\nexport interface WidgetConfigurationCreateRequestDto {\n title: string;\n dataSourceKey: string;\n displayType: string;\n dataSourceProperties: ObjectNode;\n displayTypeProperties: ObjectNode;\n url: URI | null;\n}\n\nexport interface WidgetConfigurationResponseDto {\n key: string;\n title: string;\n displayType: string;\n displayTypeProperties: ObjectNode;\n url: URI | null;\n}\n\nexport interface WidgetConfigurationUpdateRequestDto {\n key: string;\n title: string;\n dataSourceKey: string;\n displayType: string;\n dataSourceProperties: ObjectNode;\n displayTypeProperties: ObjectNode;\n url: URI | null;\n}\n\nexport interface CaseTagCreateRequestDto {\n key: string;\n title: string;\n color: CaseTagColor;\n}\n\nexport interface CaseTagResponseDto {\n key: string;\n caseDefinitionKey: string;\n caseDefinitionVersionTag: string;\n title: string;\n color: CaseTagColor;\n order: number;\n}\n\nexport interface CaseTagUpdateRequestDto {\n key: string;\n title: string;\n color: CaseTagColor;\n}\n\nexport interface InternalCaseStatusCreateRequestDto {\n key: string;\n title: string;\n visibleInCaseListByDefault: boolean;\n retentionPeriodInDays: number;\n color: InternalCaseStatusColor;\n}\n\nexport interface InternalCaseStatusResponseDto {\n key: string;\n caseDefinitionName: string;\n title: string;\n visibleInCaseListByDefault: boolean;\n retentionPeriodInDays: number;\n order: number;\n color: InternalCaseStatusColor;\n}\n\nexport interface InternalCaseStatusUpdateOrderRequestDto {\n key: string;\n title: string;\n visibleInCaseListByDefault: boolean;\n retentionPeriodInDays: number;\n color: InternalCaseStatusColor;\n}\n\nexport interface InternalCaseStatusUpdateRequestDto {\n key: string;\n title: string;\n visibleInCaseListByDefault: boolean;\n retentionPeriodInDays: number;\n color: InternalCaseStatusColor;\n}\n\nexport interface ColumnKeyResponse {\n key: string;\n sortable: boolean;\n filterable: boolean;\n}\n\nexport interface ColumnResponse {\n key: string;\n sortable: boolean;\n filterable: boolean;\n defaultSort: string | null;\n}\n\nexport interface DocumentSearchRequest {\n informatieobjecttype: string | null;\n titel: string | null;\n vertrouwelijkheidaanduiding: string | null;\n creatiedatumFrom: DateAsString | null;\n creatiedatumTo: DateAsString | null;\n auteur: string | null;\n trefwoorden: string[] | null;\n}\n\nexport interface DocumentenApiDocumentDto {\n fileId: string;\n pluginConfigurationId: string;\n bestandsnaam: string | null;\n bestandsomvang: number | null;\n creatiedatum: DateAsString;\n auteur: string | null;\n titel: string | null;\n status: string | null;\n taal: string | null;\n identificatie: string | null;\n beschrijving: string | null;\n informatieobjecttype: string | null;\n informatieobjecttypeOmschrijving: string | null;\n trefwoorden: string[] | null;\n formaat: string | null;\n verzenddatum: DateAsString | null;\n ontvangstdatum: DateAsString | null;\n vertrouwelijkheidaanduiding: string | null;\n versie: number | null;\n indicatieGebruiksrecht: boolean | null;\n}\n\nexport interface DocumentenApiUploadFieldDto {\n key: string;\n defaultValue: string | null;\n visible: boolean;\n readonly: boolean;\n}\n\nexport interface DocumentenApiVersionDto {\n selectedVersion: string | null;\n supportsFilterableColumns: boolean;\n supportsSortableColumns: boolean;\n supportsTrefwoorden: boolean;\n supportsUpdatingDefinitiveDocument: boolean;\n}\n\nexport interface DocumentenApiVersionManagementDto {\n selectedVersion: string | null;\n detectedVersions: string[];\n supportsFilterableColumns: boolean;\n supportsSortableColumns: boolean;\n supportsTrefwoorden: boolean;\n}\n\nexport interface DocumentenApiVersionsManagementDto {\n versions: string[];\n}\n\nexport interface ModifyDocumentRequest {\n creatiedatum: DateAsString;\n titel: string;\n auteur: string;\n status: DocumentStatusType | null;\n taal: string;\n bestandsnaam: string | null;\n beschrijving: string | null;\n ontvangstdatum: DateAsString | null;\n verzenddatum: DateAsString | null;\n indicatieGebruiksrecht: boolean | null;\n vertrouwelijkheidaanduiding: string | null;\n informatieobjecttype: string | null;\n trefwoorden: string[] | null;\n}\n\nexport interface RelatedFileDto extends RelatedFile {\n fileName: string | null;\n sizeInBytes: number | null;\n pluginConfigurationId: string;\n author: string | null;\n title: string | null;\n status: string | null;\n language: string | null;\n identification: string | null;\n description: string | null;\n informatieobjecttype: string | null;\n informatieobjecttypeOmschrijving: string | null;\n keywords: string[] | null;\n format: string | null;\n sendDate: DateAsString | null;\n receiptDate: DateAsString | null;\n confidentialityLevel: string | null;\n version: number | null;\n indicationUsageRights: boolean | null;\n}\n\nexport interface ReorderColumnRequest {\n key: string;\n defaultSort: string | null;\n}\n\nexport interface UpdateColumnRequest {\n defaultSort: string | null;\n}\n\nexport interface FormOption {\n id: string;\n name: string;\n}\n\nexport interface FormProcessLinkCreateRequestDto extends ProcessLinkCreateRequestDto {\n formDefinitionId: string;\n viewModelEnabled: boolean | null;\n formDisplayType: FormDisplayType | null;\n formSize: FormSizes | null;\n subtitles: string[] | null;\n}\n\nexport interface FormProcessLinkExportResponseDto extends ProcessLinkExportResponseDto {\n formDefinitionName: string;\n viewModelEnabled: boolean;\n formDisplayType: FormDisplayType;\n formSize: FormSizes;\n subtitles: string[] | null;\n}\n\nexport interface FormProcessLinkResponseDto extends ProcessLinkResponseDto {\n formDefinitionId: string;\n viewModelEnabled: boolean;\n formDisplayType: FormDisplayType;\n formSize: FormSizes;\n subtitles: string[] | null;\n}\n\nexport interface FormProcessLinkUpdateRequestDto extends ProcessLinkUpdateRequestDto {\n formDefinitionId: string;\n viewModelEnabled: boolean | null;\n formDisplayType: FormDisplayType | null;\n formSize: FormSizes | null;\n subtitles: string[] | null;\n}\n\nexport interface FormSubmissionResult {\n documentId: string | null;\n errors: OperationError[];\n}\n\nexport interface FormSubmissionResultFailed extends FormSubmissionResult, TransactionalResult {\n}\n\nexport interface FormSubmissionResultSucceeded extends FormSubmissionResult {\n documentId: string;\n}\n\nexport interface IntermediateSaveRequest {\n submission: ObjectNode;\n taskInstanceId: string;\n}\n\nexport interface IntermediateSubmission {\n submission: ObjectNode;\n taskInstanceId: string;\n createdBy: string;\n createdOn: DateAsString;\n editedBy: string | null;\n editedOn: DateAsString | null;\n}\n\nexport interface IntermediateSubmissionKt {\n}\n\nexport interface FormFlowBreadcrumbResponse {\n title: string | null;\n key: string;\n stepInstanceId: string | null;\n completed: boolean;\n}\n\nexport interface FormFlowBreadcrumbsResponse {\n currentStepIndex: number;\n breadcrumbs: FormFlowBreadcrumbResponse[];\n}\n\nexport interface FormFlowProcessLinkCreateRequestDto extends ProcessLinkCreateRequestDto {\n formFlowDefinitionKey: string;\n formDisplayType: FormDisplayType | null;\n formSize: FormSizes | null;\n subtitles: string[] | null;\n}\n\nexport interface FormFlowProcessLinkExportResponseDto extends ProcessLinkExportResponseDto {\n formFlowDefinitionKey: string;\n formDisplayType: FormDisplayType;\n formSize: FormSizes;\n subtitles: string[] | null;\n}\n\nexport interface FormFlowProcessLinkResponseDto extends ProcessLinkResponseDto {\n formFlowDefinitionKey: string;\n formDisplayType: FormDisplayType;\n formSize: FormSizes;\n subtitles: string[] | null;\n}\n\nexport interface FormFlowProcessLinkUpdateRequestDto extends ProcessLinkUpdateRequestDto {\n formFlowDefinitionKey: string;\n formDisplayType: FormDisplayType | null;\n formSize: FormSizes | null;\n subtitles: string[] | null;\n}\n\nexport interface MultipleFormErrors {\n componentErrors: ComponentError[];\n}\n\nexport interface SingleFormError {\n error: string;\n component: string | null;\n}\n\nexport interface StartFormSubmissionResult {\n documentId: string | null;\n}\n\nexport interface LocalizationResponseDto {\n languageKey: string;\n content: ObjectNode;\n}\n\nexport interface LocalizationUpdateRequestDto {\n languageKey: string;\n content: ObjectNode;\n}\n\nexport interface LoggingEventPropertyDto {\n key: string;\n value: string;\n}\n\nexport interface LoggingEventResponse {\n timestamp: DateAsString;\n formattedMessage: string;\n level: string;\n properties: LoggingEventPropertyDto[];\n stacktrace: string | null;\n}\n\nexport interface LoggingEventSearchRequest {\n afterTimestamp: DateAsString | null;\n beforeTimestamp: DateAsString | null;\n level: string | null;\n likeFormattedMessage: string | null;\n properties: LoggingEventPropertyDto[];\n}\n\nexport interface NoteCreateRequestDto {\n content: string;\n}\n\nexport interface NoteResponseDto {\n id: string;\n createdByUserId: string;\n createdByUserFullName: string;\n createdDate: DateAsString;\n content: string;\n documentId: string;\n}\n\nexport interface NoteUpdateRequestDto {\n content: string;\n}\n\nexport interface URLProcessLinkCreateRequestDto extends ProcessLinkCreateRequestDto {\n url: string;\n}\n\nexport interface URLProcessLinkDeployDto extends ProcessLinkDeployDto {\n processLinkType: \"url\";\n url: string;\n}\n\nexport interface URLProcessLinkExportResponseDto extends ProcessLinkExportResponseDto {\n url: string;\n}\n\nexport interface URLProcessLinkResponseDto extends ProcessLinkResponseDto {\n url: string;\n}\n\nexport interface URLProcessLinkUpdateRequestDto extends ProcessLinkUpdateRequestDto {\n url: string;\n}\n\nexport interface URLSubmissionResult {\n errors: string[];\n documentId: string;\n}\n\nexport interface URLVariables {\n variables: { [index: string]: string };\n}\n\nexport interface CaseProcessDefinitionResponseDto {\n processDefinition: ProcessDefinitionWithPropertiesDto;\n processCaseLink: ProcessDefinitionCaseDefinition;\n processLinks: ProcessLinkResponseDto[];\n bpmn20Xml: string;\n}\n\nexport interface ProcessDefinitionResponseDto {\n processDefinition: ProcessDefinitionWithPropertiesDto;\n processLinks: ProcessLinkResponseDto[];\n bpmn20Xml: string;\n}\n\nexport interface ProcessLinkActivityResult<T> {\n processLinkId: string;\n type: string;\n assignee: string | null;\n due: DateAsString | null;\n properties: T;\n}\n\nexport interface ProcessLinkActivityResultWithTask {\n task: TaskInstanceWithIdentityLink;\n processLinkActivityResult: ProcessLinkActivityResult<any> | null;\n}\n\nexport interface ProcessLinkCreateRequestDto {\n activityId: string;\n processLinkType: string;\n processDefinitionId: string;\n activityType: ActivityTypeWithEventName;\n}\n\nexport interface ProcessLinkExportResponseDto {\n activityId: string;\n processLinkType: string;\n activityType: ActivityTypeWithEventName;\n}\n\nexport interface ProcessLinkResponseDto {\n activityId: string;\n processLinkType: string;\n processDefinitionId: string;\n activityType: ActivityTypeWithEventName;\n id: string;\n}\n\nexport interface ProcessLinkUpdateRequestDto {\n processLinkType: string;\n id: string;\n}\n\nexport interface SearchFieldV2Dto {\n id: string;\n ownerId: string;\n ownerType: string;\n key: string;\n title: string | null;\n path: string;\n order: number;\n dataType: DataType;\n fieldType: FieldType;\n matchType: SearchFieldMatchType | null;\n dropdownDataProvider: string | null;\n required: boolean;\n}\n\nexport interface TabDto {\n key: string;\n title: string | null;\n type: string;\n properties: { [index: string]: any | null } | null;\n}\n\nexport interface TeamCreateRequestDto {\n key: string;\n title: string;\n}\n\nexport interface TeamImportExportDto {\n key: string;\n title: string;\n}\n\nexport interface TeamListResponseDto {\n key: string;\n title: string;\n userCount: number;\n}\n\nexport interface TeamResponseDto {\n key: string;\n title: string;\n}\n\nexport interface TeamUpdateRequestDto {\n key: string;\n title: string;\n}\n\nexport interface TeamUserCreateRequestDto {\n username: string;\n}\n\nexport interface TeamUserResponseDto {\n username: string;\n fullName: string | null;\n email: string | null;\n}\n\nexport interface BatchAssignTaskDTO {\n assignee: string;\n tasksIds: string[];\n}\n\nexport interface ChoiceFieldCreateRequestDTO {\n keyName: string;\n title: string;\n}\n\nexport interface ChoiceFieldDTO {\n id: number;\n keyName: string;\n choiceFieldValues: ChoiceFieldValue[];\n}\n\nexport interface ChoiceFieldUpdateRequestDTO {\n id: number;\n keyName: string;\n title: string;\n}\n\nexport interface ChoiceFieldValueCreateRequestDTO {\n name: string;\n deprecated: boolean;\n sortOrder: number;\n value: string;\n}\n\nexport interface ChoiceFieldValueUpdateRequestDTO {\n id: number;\n name: string;\n deprecated: boolean;\n sortOrder: number;\n value: string;\n}\n\nexport interface CommentDto {\n text: string;\n}\n\nexport interface CustomTaskDto {\n task: OperatonTaskDto;\n formFields: FormField[];\n variables: { [index: string]: any };\n formLocation: string;\n processName: string;\n processKey: string;\n processVersion: string;\n businessKey: string;\n}\n\nexport interface DefinitionDeploymentResponseDto {\n identifier: string;\n}\n\nexport interface FlowNodeMigrationDTO {\n sourceFlowNodeMap: { [index: string]: string };\n targetFlowNodeMap: { [index: string]: string };\n uniqueFlowNodeMap: { [index: string]: string };\n}\n\nexport interface HeatmapTaskAverageDurationDTO extends HeatmapTaskDTO {\n averageDurationInMilliseconds: number;\n}\n\nexport interface HeatmapTaskCountDTO extends HeatmapTaskDTO {\n}\n\nexport interface HeatmapTaskDTO {\n name: string;\n count: number;\n totalCount: number;\n}\n\nexport interface KeyAndPasswordDTO {\n key: string;\n newPassword: string;\n}\n\nexport interface LoginDTO {\n username: string;\n password: string;\n rememberMe: boolean;\n}\n\nexport interface ProcessDefinitionDiagramWithPropertyDto {\n id: string;\n bpmn20Xml: string;\n readOnly: boolean;\n systemProcess: boolean;\n}\n\nexport interface ProcessDefinitionWithPropertiesDto extends ProcessDefinitionDto {\n readOnly: boolean;\n}\n\nexport interface ProcessInstanceDiagramDto {\n id: string;\n bpmn20Xml: string;\n historicActivityInstances: HistoricActivityInstance[];\n}\n\nexport interface ProcessInstanceSearchDTO {\n processVariables: ProcessVariableDTOV2Union[];\n}\n\nexport interface ProcessInstanceStatisticsDTO {\n duration: number;\n processName: string;\n}\n\nexport interface StartFormDto {\n formLocation: string;\n formFields: FormField[];\n genericForm: boolean;\n}\n\nexport interface TaskCompletionDTO {\n variables: { [index: string]: any };\n filesToDelete: string[];\n}\n\nexport interface WidgetDto {\n type: string;\n color: WidgetColor | null;\n icon: string | null;\n width: number;\n compact: boolean | null;\n title: string;\n highContrast: boolean;\n displayConditions: Condition<any>[] | null;\n key: string;\n actions: WidgetAction[];\n}\n\nexport interface CaseDefinitionId extends AbstractId<CaseDefinitionId>, BlueprintId {\n key: string;\n versionTag: Semver;\n}\n\nexport interface CaseListItemDto {\n key: string;\n value: any | null;\n}\n\nexport interface ObjectNode extends ContainerNode<ObjectNode>, Serializable {\n}\n\nexport interface URI extends Comparable<URI>, Serializable {\n}\n\nexport interface RelatedFile {\n createdOn: DateAsString;\n createdBy: string;\n fileId: string;\n sizeInBytes: number;\n fileName: string;\n}\n\nexport interface OperationError {\n}\n\nexport interface TransactionalResult {\n}\n\nexport interface ComponentError {\n component: string | null;\n message: string;\n}\n\nexport interface ProcessLinkDeployDto {\n processLinkType: \"url\";\n activityId: string;\n processDefinitionId: string;\n activityType: ActivityTypeWithEventName;\n}\n\nexport interface ProcessDefinitionCaseDefinition {\n id: ProcessDefinitionCaseDefinitionId;\n canInitializeDocument: boolean;\n startableByUser: boolean;\n processDefinitionName: string | null;\n processDefinitionKey: string | null;\n}\n\nexport interface TaskInstanceWithIdentityLink {\n businessKey: string;\n id: string | null;\n name: string | null;\n assignee: string | null;\n created: DateAsString | null;\n due: DateAsString | null;\n followUp: DateAsString | null;\n lastUpdated: DateAsString | null;\n delegationState: string | null;\n description: string | null;\n executionId: string | null;\n owner: string | null;\n parentTaskId: string | null;\n priority: number;\n processDefinitionId: string | null;\n processInstanceId: string | null;\n taskDefinitionKey: string | null;\n caseExecutionId: string | null;\n caseInstanceId: string | null;\n caseDefinitionId: string | null;\n suspended: boolean;\n tenantId: string | null;\n external: boolean;\n processDefinitionKey: string;\n identityLinks: OperatonIdentityLinkDto[];\n subtitles: string[];\n}\n\nexport interface ChoiceFieldValue extends AbstractAuditingEntity, Serializable {\n id: number;\n name: string;\n deprecated: boolean;\n sortOrder: number;\n value: string;\n choiceField: ChoiceField;\n}\n\nexport interface OperatonTaskDto {\n id: string | null;\n name: string | null;\n assignee: string | null;\n created: DateAsString | null;\n due: DateAsString | null;\n followUp: DateAsString | null;\n lastUpdated: DateAsString | null;\n delegationState: string | null;\n description: string | null;\n executionId: string | null;\n owner: string | null;\n parentTaskId: string | null;\n priority: number;\n processDefinitionId: string | null;\n processInstanceId: string | null;\n taskDefinitionKey: string | null;\n caseExecutionId: string | null;\n caseInstanceId: string | null;\n caseDefinitionId: string | null;\n suspended: boolean;\n tenantId: string | null;\n}\n\nexport interface FormField {\n label: string;\n businessKey: boolean;\n validationConstraints: FormFieldValidationConstraint[];\n value: TypedValue;\n typeName: string;\n properties: { [index: string]: string };\n id: string;\n type: FormType;\n /**\n * @deprecated since 1.0\n */\n defaultValue: any;\n}\n\nexport interface ProcessDefinitionDto {\n id: string;\n key: string;\n category: string;\n description: string;\n name: string;\n version: number;\n resource: string;\n deploymentId: string;\n diagram: string;\n suspended: boolean;\n tenantId: string;\n versionTag: string;\n historyTimeToLive: number;\n startableInTasklist: boolean;\n}\n\nexport interface HistoricActivityInstance {\n startTime: DateAsString;\n endTime: DateAsString;\n taskId: string;\n activityId: string;\n processDefinitionId: string;\n activityType: string;\n assignee: string;\n tenantId: string;\n processDefinitionKey: string;\n processInstanceId: string;\n executionId: string;\n canceled: boolean;\n removalTime: DateAsString;\n rootProcessInstanceId: string;\n parentActivityInstanceId: string;\n calledProcessInstanceId: string;\n calledCaseInstanceId: string;\n activityName: string;\n durationInMillis: number;\n completeScope: boolean;\n id: string;\n}\n\nexport interface ProcessVariableDTOV2 {\n \"@type\": \"string\" | \"date\" | \"boolean\" | \"enum\" | \"long\" | \"fileUpload\";\n name: string;\n}\n\nexport interface Condition<T> {\n path: string;\n operator: ExpressionOperator;\n value: T;\n}\n\nexport interface WidgetAction {\n}\n\nexport interface Semver extends Comparable<Semver> {\n major: number;\n minor: number;\n patch: number;\n preRelease: string[];\n build: string[];\n version: string;\n stable: boolean;\n}\n\nexport interface BlueprintId {\n idKey: string;\n tagPrefix: string;\n}\n\nexport interface Serializable {\n}\n\nexport interface ProcessDefinitionCaseDefinitionId extends AbstractId<ProcessDefinitionCaseDefinitionId> {\n processDefinitionId: ProcessDefinitionId;\n caseDefinitionId: CaseDefinitionId;\n}\n\nexport interface OperatonIdentityLinkDto {\n userId: string | null;\n groupId: string | null;\n type: string | null;\n}\n\nexport interface ChoiceField extends AbstractAuditingEntity, Serializable {\n id: number;\n keyName: string;\n title: string;\n}\n\nexport interface AbstractAuditingEntity {\n}\n\nexport interface FormFieldValidationConstraint {\n configuration: any;\n name: string;\n}\n\nexport interface TypedValue extends Serializable {\n value: any;\n type: ValueType;\n transient: boolean;\n}\n\nexport interface FormType {\n name: string;\n}\n\nexport interface StringProcessVariableDTOV2 extends ProcessVariableDTOV2 {\n \"@type\": \"string\";\n value: string;\n}\n\nexport interface DateProcessVariableDTOV2 extends ProcessVariableDTOV2 {\n \"@type\": \"date\";\n range: DateRange;\n}\n\nexport interface BooleanProcessVariableDTOV2 extends ProcessVariableDTOV2 {\n \"@type\": \"boolean\";\n value: boolean;\n}\n\nexport interface EnumProcessVariableDTOV2 extends ProcessVariableDTOV2 {\n \"@type\": \"enum\";\n values: string[];\n}\n\nexport interface LongProcessVariableDTOV2 extends ProcessVariableDTOV2 {\n \"@type\": \"long\";\n value: number;\n}\n\nexport interface FileUploadProcessVariableDTOV2 extends ProcessVariableDTOV2 {\n \"@type\": \"fileUpload\";\n value: boolean;\n}\n\nexport interface AbstractId<SELF> extends Identity, Serializable {\n}\n\nexport interface ContainerNode<T> extends BaseJsonNode, JsonNodeCreator {\n}\n\nexport interface Comparable<T> {\n}\n\nexport interface ProcessDefinitionId {\n id: string;\n}\n\nexport interface ValueType extends Serializable {\n primitiveValueType: boolean;\n name: string;\n parent: ValueType;\n abstract: boolean;\n}\n\nexport interface DateRange {\n from: DateAsString;\n to: DateAsString;\n}\n\nexport interface Identity {\n}\n\nexport interface BaseJsonNode extends Serializable {\n}\n\nexport interface JsonNodeCreator {\n}\n\nexport type DateAsString = string;\n\nexport type ColumnDefaultSort = \"ASC\" | \"DESC\";\n\nexport type CaseTabType = \"standard\" | \"formio\" | \"custom\" | \"widgets\";\n\nexport type CaseTagColor = \"WARMGRAY\" | \"RED\" | \"MAGENTA\" | \"PURPLE\" | \"BLUE\" | \"CYAN\" | \"TEAL\" | \"GREEN\" | \"GRAY\" | \"COOLGRAY\" | \"HIGHCONTRAST\" | \"OUTLINE\";\n\nexport type InternalCaseStatusColor = \"WARMGRAY\" | \"RED\" | \"MAGENTA\" | \"PURPLE\" | \"BLUE\" | \"CYAN\" | \"TEAL\" | \"GREEN\" | \"GRAY\" | \"COOLGRAY\" | \"HIGHCONTRAST\" | \"OUTLINE\";\n\nexport type DocumentStatusType = \"in_bewerking\" | \"ter_vaststelling\" | \"definitief\" | \"gearchiveerd\";\n\nexport type ActivityTypeWithEventName = \"bpmn:MultiInstanceBody:start\" | \"bpmn:MultiInstanceBody:end\" | \"bpmn:ExclusiveGateway:start\" | \"bpmn:ExclusiveGateway:end\" | \"bpmn:InclusiveGateway:start\" | \"bpmn:InclusiveGateway:end\" | \"bpmn:ParallelGateway:start\" | \"bpmn:ParallelGateway:end\" | \"bpmn:ComplexGateway:start\" | \"bpmn:ComplexGateway:end\" | \"bpmn:EventBasedGateway:start\" | \"bpmn:EventBasedGateway:end\" | \"bpmn:Task:start\" | \"bpmn:Task:end\" | \"bpmn:ScriptTask:start\" | \"bpmn:ScriptTask:end\" | \"bpmn:ServiceTask:start\" | \"bpmn:ServiceTask:end\" | \"bpmn:BusinessRuleTask:start\" | \"bpmn:BusinessRuleTask:end\" | \"bpmn:ManualTask:start\" | \"bpmn:ManualTask:end\" | \"bpmn:UserTask:create\" | \"bpmn:UserTask:assignment\" | \"bpmn:UserTask:complete\" | \"bpmn:UserTask:update\" | \"bpmn:UserTask:delete\" | \"bpmn:UserTask:timeout\" | \"bpmn:UserTask:start\" | \"bpmn:UserTask:end\" | \"bpmn:SendTask:start\" | \"bpmn:SendTask:end\" | \"bpmn:ReceiveTask:start\" | \"bpmn:ReceiveTask:end\" | \"bpmn:SubProcess:start\" | \"bpmn:SubProcess:end\" | \"bpmn:AdHocSubProcess:start\" | \"bpmn:AdHocSubProcess:end\" | \"bpmn:CallActivity:start\" | \"bpmn:CallActivity:end\" | \"bpmn:Transaction:start\" | \"bpmn:Transaction:end\" | \"bpmn:BoundaryTimer:start\" | \"bpmn:BoundaryTimer:end\" | \"bpmn:BoundaryMessage:start\" | \"bpmn:BoundaryMessage:end\" | \"bpmn:BoundarySignal:start\" | \"bpmn:BoundarySignal:end\" | \"bpmn:CompensationBoundaryCatch:start\" | \"bpmn:CompensationBoundaryCatch:end\" | \"bpmn:BoundaryError:start\" | \"bpmn:BoundaryError:end\" | \"bpmn:BoundaryEscalation:start\" | \"bpmn:BoundaryEscalation:end\" | \"bpmn:CancelBoundaryCatch:start\" | \"bpmn:CancelBoundaryCatch:end\" | \"bpmn:BoundaryConditional:start\" | \"bpmn:BoundaryConditional:end\" | \"bpmn:StartEvent:start\" | \"bpmn:StartEvent:end\" | \"bpmn:StartTimerEvent:start\" | \"bpmn:StartTimerEvent:end\" | \"bpmn:MessageStartEvent:start\" | \"bpmn:MessageStartEvent:end\" | \"bpmn:SignalStartEvent:start\" | \"bpmn:SignalStartEvent:end\" | \"bpmn:EscalationStartEvent:start\" | \"bpmn:EscalationStartEvent:end\" | \"bpmn:CompensationStartEvent:start\" | \"bpmn:CompensationStartEvent:end\" | \"bpmn:ErrorStartEvent:start\" | \"bpmn:ErrorStartEvent:end\" | \"bpmn:ConditionalStartEvent:start\" | \"bpmn:ConditionalStartEvent:end\" | \"bpmn:IntermediateCatchEvent:start\" | \"bpmn:IntermediateCatchEvent:end\" | \"bpmn:IntermediateMessageCatch:start\" | \"bpmn:IntermediateMessageCatch:end\" | \"bpmn:IntermediateTimer:start\" | \"bpmn:IntermediateTimer:end\" | \"bpmn:IntermediateLinkCatch:start\" | \"bpmn:IntermediateLinkCatch:end\" | \"bpmn:IntermediateSignalCatch:start\" | \"bpmn:IntermediateSignalCatch:end\" | \"bpmn:IntermediateConditional:start\" | \"bpmn:IntermediateConditional:end\" | \"bpmn:IntermediateThrowEvent:start\" | \"bpmn:IntermediateThrowEvent:end\" | \"bpmn:IntermediateSignalThrow:start\" | \"bpmn:IntermediateSignalThrow:end\" | \"bpmn:IntermediateCompensationThrowEvent:start\" | \"bpmn:IntermediateCompensationThrowEvent:end\" | \"bpmn:IntermediateMessageThrowEvent:start\" | \"bpmn:IntermediateMessageThrowEvent:end\" | \"bpmn:IntermediateNoneThrowEvent:start\" | \"bpmn:IntermediateNoneThrowEvent:end\" | \"bpmn:IntermediateEscalationThrowEvent:start\" | \"bpmn:IntermediateEscalationThrowEvent:end\" | \"bpmn:ErrorEndEvent:start\" | \"bpmn:ErrorEndEvent:end\" | \"bpmn:CancelEndEvent:start\" | \"bpmn:CancelEndEvent:end\" | \"bpmn:TerminateEndEvent:start\" | \"bpmn:TerminateEndEvent:end\" | \"bpmn:MessageEndEvent:start\" | \"bpmn:MessageEndEvent:end\" | \"bpmn:SignalEndEvent:start\" | \"bpmn:SignalEndEvent:end\" | \"bpmn:CompensationEndEvent:start\" | \"bpmn:CompensationEndEvent:end\" | \"bpmn:EscalationEndEvent:start\" | \"bpmn:EscalationEndEvent:end\" | \"bpmn:NoneEndEvent:start\" | \"bpmn:NoneEndEvent:end\";\n\nexport type FormDisplayType = \"modal\" | \"panel\";\n\nexport type FormSizes = \"extraSmall\" | \"small\" | \"medium\" | \"large\";\n\nexport type DataType = \"text\" | \"number\" | \"date\" | \"datetime\" | \"time\" | \"boolean\" | \"bsn\";\n\nexport type FieldType = \"text_contains\" | \"single\" | \"range\" | \"single-select-dropdown\" | \"multi-select-dropdown\";\n\nexport type SearchFieldMatchType = \"like\" | \"exact\";\n\nexport type WidgetColor = \"YELLOW\" | \"ORANGE\" | \"RED\" | \"BROWN\" | \"GREEN\" | \"TURQOISE\" | \"PURPLE\" | \"PERIWINKLE\" | \"BLUE\" | \"HIGHCONTRAST\" | \"WHITE\";\n\nexport type ExpressionOperator = \"!=\" | \"==\" | \">\" | \">=\" | \"<\" | \"<=\" | \"list_contains\" | \"in\";\n\nexport type ProcessVariableDTOV2Union = StringProcessVariableDTOV2 | DateProcessVariableDTOV2 | BooleanProcessVariableDTOV2 | EnumProcessVariableDTOV2 | LongProcessVariableDTOV2 | FileUploadProcessVariableDTOV2;\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*\n * Public API Surface of shared\n */\n\nexport * from './lib/components/global-notification.component';\nexport * from './lib/config.module';\nexport * from './lib/constants';\nexport * from './lib/extension/extension.component';\nexport * from './lib/models';\nexport * from './lib/services';\nexport * from './lib/testing';\nexport * from './lib/translation';\nexport * from './lib/utils';\nexport * from './lib/zgw';\nexport * from './lib/generated'\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.ConfigService","i1.ConfigService","i3.EnvironmentService","i4.DraftVersionService","i1.GlobalNotificationService","switchMap","map"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"case-management.model.d.ts","sourceRoot":"","sources":["../../../../../projects/valtimo/shared/src/lib/models/case-management.model.ts"],"names":[],"mappings":"AAeA,OAAO,EAAC,IAAI,EAAC,MAAM,eAAe,CAAC;AACnC,OAAO,EAAC,UAAU,EAAC,MAAM,MAAM,CAAC;AAEhC,UAAU,oBAAoB;IAC5B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,wBAAwB,EAAE,MAAM,CAAC;CAClC;AAED,UAAU,uBAAuB;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"case-management.model.d.ts","sourceRoot":"","sources":["../../../../../projects/valtimo/shared/src/lib/models/case-management.model.ts"],"names":[],"mappings":"AAeA,OAAO,EAAC,IAAI,EAAC,MAAM,eAAe,CAAC;AACnC,OAAO,EAAC,UAAU,EAAC,MAAM,MAAM,CAAC;AAEhC,UAAU,oBAAoB;IAC5B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,wBAAwB,EAAE,MAAM,CAAC;CAClC;AAED,UAAU,uBAAuB;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,OAAO,EAAC,uBAAuB,EAAE,oBAAoB,EAAC,CAAC"}
|
|
@@ -5,6 +5,7 @@ export declare class ConfigurationIssueService {
|
|
|
5
5
|
setUnresolvedIssueTypes(issueTypes: string[]): void;
|
|
6
6
|
readonly hasAnyIssues$: Observable<boolean>;
|
|
7
7
|
hasIssue$(issueType: string): Observable<boolean>;
|
|
8
|
+
hasAnyOfIssues$(issueTypes: string[]): Observable<boolean>;
|
|
8
9
|
static ɵfac: i0.ɵɵFactoryDeclaration<ConfigurationIssueService, never>;
|
|
9
10
|
static ɵprov: i0.ɵɵInjectableDeclaration<ConfigurationIssueService>;
|
|
10
11
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configuration-issue.service.d.ts","sourceRoot":"","sources":["../../../../../projects/valtimo/shared/src/lib/services/configuration-issue.service.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAuB,UAAU,EAAC,MAAM,MAAM,CAAC;;AAEtD,qBAGa,yBAAyB;IACpC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAA+C;IAE/E,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI;IAI1D,SAAgB,aAAa,EAAE,UAAU,CAAC,OAAO,CAAC,CAEhD;IAEK,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"configuration-issue.service.d.ts","sourceRoot":"","sources":["../../../../../projects/valtimo/shared/src/lib/services/configuration-issue.service.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAuB,UAAU,EAAC,MAAM,MAAM,CAAC;;AAEtD,qBAGa,yBAAyB;IACpC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAA+C;IAE/E,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI;IAI1D,SAAgB,aAAa,EAAE,UAAU,CAAC,OAAO,CAAC,CAEhD;IAEK,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC;IAIjD,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC;yCAftD,yBAAyB;6CAAzB,yBAAyB;CAkBrC"}
|