@valtimo/process-management 13.14.0 → 13.16.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.
@@ -225,14 +225,18 @@ class ProcessManagementEditorService {
225
225
  .subscribe(options => this._formDefinitionOptions$.next(options));
226
226
  break;
227
227
  case 'case':
228
+ const caseParams = params;
228
229
  this.formService
229
- .getAllFormDefinitionsForCaseDefinition(params.caseDefinitionKey, params.caseDefinitionVersionTag)
230
+ .getAllFormDefinitionsForCaseDefinition(caseParams.caseDefinitionKey, caseParams.caseDefinitionVersionTag)
230
231
  .subscribe(options => this._formDefinitionOptions$.next(options));
231
232
  break;
232
- case 'buildingBlock':
233
- // to do
234
- this._formDefinitionOptions$.next([]);
233
+ case 'buildingBlock': {
234
+ const buildingBlockParams = params;
235
+ this.formService
236
+ .getAllFormDefinitionsForBuildingBlock(buildingBlockParams.buildingBlockDefinitionKey, buildingBlockParams.buildingBlockDefinitionVersionTag)
237
+ .subscribe(options => this._formDefinitionOptions$.next(options));
235
238
  break;
239
+ }
236
240
  }
237
241
  }));
238
242
  }
@@ -1 +1 @@
1
- {"version":3,"file":"valtimo-process-management.mjs","sources":["../../../../projects/valtimo/process-management/src/lib/constants/bpmn.constants.ts","../../../../projects/valtimo/process-management/src/lib/constants/index.ts","../../../../projects/valtimo/process-management/src/lib/services/process-management-editor.service.ts","../../../../projects/valtimo/process-management/src/lib/services/process-management-state.service.ts","../../../../projects/valtimo/process-management/src/lib/models/window.model.ts","../../../../projects/valtimo/process-management/src/lib/models/bpmn.model.ts","../../../../projects/valtimo/process-management/src/lib/models/process-management.model.ts","../../../../projects/valtimo/process-management/src/lib/models/process.model.ts","../../../../projects/valtimo/process-management/src/lib/models/index.ts","../../../../projects/valtimo/process-management/src/lib/services/process-management.service.ts","../../../../projects/valtimo/process-management/src/lib/services/index.ts","../../../../projects/valtimo/process-management/src/lib/utils/bpmn.utils.ts","../../../../projects/valtimo/process-management/src/lib/utils/process-management.utils.ts","../../../../projects/valtimo/process-management/src/lib/utils/process-management-builder.utils.ts","../../../../projects/valtimo/process-management/src/lib/utils/index.ts","../../../../projects/valtimo/process-management/src/lib/components/process-management-builder/panel/valtimo-properties-provider.ts","../../../../projects/valtimo/process-management/src/lib/components/process-management-builder/panel/index.ts","../../../../projects/valtimo/process-management/src/lib/components/process-management-builder/process-management-builder.component.ts","../../../../projects/valtimo/process-management/src/lib/components/process-management-builder/process-management-builder.component.html","../../../../projects/valtimo/process-management/src/lib/components/process-management-list/process-management-list.component.ts","../../../../projects/valtimo/process-management/src/lib/components/process-management-list/process-management-list.component.html","../../../../projects/valtimo/process-management/src/lib/components/process-management-upload/process-management-upload.component.ts","../../../../projects/valtimo/process-management/src/lib/components/process-management-upload/process-management-upload.component.html","../../../../projects/valtimo/process-management/src/lib/components/process-management/process-management.component.ts","../../../../projects/valtimo/process-management/src/lib/components/process-management/process-management.component.html","../../../../projects/valtimo/process-management/src/lib/components/index.ts","../../../../projects/valtimo/process-management/src/lib/process-management-routing.module.ts","../../../../projects/valtimo/process-management/src/lib/process-management.module.ts","../../../../projects/valtimo/process-management/src/public-api.ts","../../../../projects/valtimo/process-management/src/valtimo-process-management.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\nconst EMPTY_BPMN = `\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<bpmn:definitions xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:bpmn=\"http://www.omg.org/spec/BPMN/20100524/MODEL\" xmlns:bpmndi=\"http://www.omg.org/spec/BPMN/20100524/DI\" xmlns:dc=\"http://www.omg.org/spec/DD/20100524/DC\" targetNamespace=\"http://bpmn.io/schema/bpmn\" id=\"Definitions_1\">\n <bpmn:process id=\"Process_1\" isExecutable=\"false\">\n <bpmn:startEvent id=\"StartEvent_1\"/>\n </bpmn:process>\n <bpmndi:BPMNDiagram id=\"BPMNDiagram_1\">\n <bpmndi:BPMNPlane id=\"BPMNPlane_1\" bpmnElement=\"Process_1\">\n <bpmndi:BPMNShape id=\"_BPMNShape_StartEvent_2\" bpmnElement=\"StartEvent_1\">\n <dc:Bounds height=\"36.0\" width=\"36.0\" x=\"173.0\" y=\"102.0\"/>\n </bpmndi:BPMNShape>\n </bpmndi:BPMNPlane>\n </bpmndi:BPMNDiagram>\n</bpmn:definitions>\n`;\n\nexport {EMPTY_BPMN};\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 './bpmn.constants';\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, OnDestroy} from '@angular/core';\nimport {BehaviorSubject, filter, Observable, Subject, Subscription} from 'rxjs';\nimport {distinctUntilChanged} from 'rxjs/operators';\nimport {isEqual} from 'lodash';\nimport {\n ProcessLink,\n ProcessLinkCreateEvent,\n ProcessLinkDeleteEvent,\n ProcessLinkService,\n ProcessLinkUpdateEvent,\n} from '@valtimo/process-link';\nimport {DeleteProcessLinkEvent, OpenProcessLinkModalEvent} from '../models';\nimport {\n BuildingBlockManagementParams,\n CaseManagementParams,\n ManagementContext,\n ProcessDefinitionWithPropertiesDto,\n} from '@valtimo/shared';\nimport {FormDefinitionOption, FormService} from '@valtimo/form';\n\n@Injectable()\nexport class ProcessManagementEditorService implements OnDestroy {\n private readonly _selectionProcessDefinitionSubject$ =\n new BehaviorSubject<ProcessDefinitionWithPropertiesDto | null>(null);\n\n public get selectionProcessDefinition$(): Observable<ProcessDefinitionWithPropertiesDto> {\n return this._selectionProcessDefinitionSubject$.pipe(\n filter(selectedProcessDefinition => !!selectedProcessDefinition?.id),\n distinctUntilChanged((previous, current) => isEqual(previous, current))\n );\n }\n\n public get selectionProcessDefinition(): ProcessDefinitionWithPropertiesDto {\n return this._selectionProcessDefinitionSubject$.getValue();\n }\n\n private readonly _processLinksForSelectedDefinition$ = new BehaviorSubject<ProcessLink[]>([]);\n\n public get processLinksForSelectedDefinition$(): Observable<ProcessLink[]> {\n return this._processLinksForSelectedDefinition$.asObservable();\n }\n\n public get processLinksForSelectedDefinition(): ProcessLink[] {\n return this._processLinksForSelectedDefinition$.getValue();\n }\n\n private readonly _openProcessLinkModalEvents$ = new Subject<OpenProcessLinkModalEvent>();\n\n public get openProcessLinkModalEvents$(): Observable<OpenProcessLinkModalEvent> {\n return this._openProcessLinkModalEvents$.asObservable();\n }\n\n private readonly _deleteProcessLinkEvents$ = new Subject<DeleteProcessLinkEvent>();\n\n public get deleteProcessLinkEvents$(): Observable<DeleteProcessLinkEvent> {\n return this._deleteProcessLinkEvents$.asObservable();\n }\n\n public setSelectedProcessDefinition(definition: ProcessDefinitionWithPropertiesDto): void {\n this._selectionProcessDefinitionSubject$.next(definition);\n }\n\n private readonly _managementRouteParams$ = new BehaviorSubject<\n [ManagementContext, CaseManagementParams | BuildingBlockManagementParams] | null\n >(null);\n\n private readonly _formDefinitionOptions$ = new BehaviorSubject<FormDefinitionOption[]>([]);\n\n public get formDefinitionOptions(): FormDefinitionOption[] {\n return this._formDefinitionOptions$.getValue();\n }\n\n private _updateBpmnViewFunction!: () => void;\n\n private _updatingBpmnView = false;\n\n private _activityIdBusinessIdMap: Record<string, string> = {};\n\n private readonly _subscriptions = new Subscription();\n\n constructor(\n private readonly processLinkService: ProcessLinkService,\n private readonly formService: FormService\n ) {\n this.openSelectedProcessDefinitionSubscription();\n this.openFormDefinitionOptionsSubscription();\n }\n\n public ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n public setManagementRouteParams(\n context: ManagementContext,\n params: CaseManagementParams | BuildingBlockManagementParams\n ): void {\n this._managementRouteParams$.next([context, params]);\n }\n\n public sendOpenProcessLinkModalEvent(\n event: OpenProcessLinkModalEvent,\n updateBpmnViewFunction: () => void\n ): void {\n this._updateBpmnViewFunction = updateBpmnViewFunction;\n this._openProcessLinkModalEvents$.next(event);\n }\n\n public sendDeleteProcessLinkEvent(\n event: DeleteProcessLinkEvent,\n updateBpmnViewFunction: () => void\n ): void {\n this._updateBpmnViewFunction = updateBpmnViewFunction;\n this._deleteProcessLinkEvents$.next(event);\n }\n\n public updateProcessLink(event: ProcessLinkUpdateEvent): void {\n this.setProcessLinksForSelectedDefinition(\n this.processLinksForSelectedDefinition.map(processLink => {\n if (processLink.activityId === event.activityId) {\n return {...processLink, ...(event as any)};\n }\n\n return processLink;\n })\n );\n\n this.updateBpmnView();\n }\n\n public createProcessLink(event: ProcessLinkCreateEvent): void {\n this.setProcessLinksForSelectedDefinition([\n ...this.processLinksForSelectedDefinition,\n event as any,\n ]);\n\n this.updateBpmnView();\n }\n\n public deleteProcessLink(\n event: ProcessLinkDeleteEvent,\n updateBpmnViewFunction?: () => void\n ): void {\n if (updateBpmnViewFunction) {\n this._updateBpmnViewFunction = updateBpmnViewFunction;\n }\n\n this.setProcessLinksForSelectedDefinition(\n this.processLinksForSelectedDefinition.filter(\n processLink => processLink.activityId !== event.activityId\n )\n );\n\n this.updateBpmnView();\n }\n\n public setProcessLinksForSelectedDefinition(processLinks: ProcessLink[]): void {\n this._processLinksForSelectedDefinition$.next(processLinks);\n }\n\n public setActivityIdBusinessIdMap(activityIdBusinessIdMap: Record<string, string>): void {\n this._activityIdBusinessIdMap = activityIdBusinessIdMap;\n }\n\n public updateProcessLinksOnIdChange(activityId: string, newBusinessId: string): void {\n const newBusinessIdWithoutLabelString = newBusinessId.replace('_label', '');\n\n if (\n !this._activityIdBusinessIdMap[activityId] ||\n this._activityIdBusinessIdMap[activityId] === newBusinessIdWithoutLabelString\n ) {\n return;\n }\n\n this.updateProcessLinkId(this._activityIdBusinessIdMap[activityId], newBusinessId);\n this._activityIdBusinessIdMap = {...this._activityIdBusinessIdMap, [activityId]: newBusinessId};\n }\n\n private openSelectedProcessDefinitionSubscription(): void {\n this._subscriptions.add(\n this.selectionProcessDefinition$.subscribe(definition => {\n this.fetchProcessLinksForDefinition(definition.id);\n })\n );\n }\n\n private fetchProcessLinksForDefinition(processDefinitionId: string): void {\n this.processLinkService.getProcessLink({processDefinitionId}).subscribe(res => {\n this.setProcessLinksForSelectedDefinition(res);\n });\n }\n\n private updateBpmnView(): void {\n if (!this._updateBpmnViewFunction || this._updatingBpmnView) return;\n this._updatingBpmnView = true;\n this._updateBpmnViewFunction();\n this._updatingBpmnView = false;\n }\n\n private updateProcessLinkId(oldBusinessId: string, newBusinessId: string): void {\n this.setProcessLinksForSelectedDefinition(\n this.processLinksForSelectedDefinition.map(processLink => {\n if (processLink.activityId === oldBusinessId) {\n return {...processLink, activityId: newBusinessId};\n }\n\n return processLink;\n })\n );\n\n this.updateBpmnView();\n }\n\n private openFormDefinitionOptionsSubscription(): void {\n this._subscriptions.add(\n this._managementRouteParams$\n .pipe(\n filter((params): params is [ManagementContext, CaseManagementParams] => params !== null)\n )\n .subscribe(([context, params]) => {\n switch (context) {\n case 'independent':\n this.formService\n .getAllUnlinkedFormDefinitions()\n .subscribe(options => this._formDefinitionOptions$.next(options));\n break;\n case 'case':\n this.formService\n .getAllFormDefinitionsForCaseDefinition(\n params.caseDefinitionKey,\n params.caseDefinitionVersionTag\n )\n .subscribe(options => this._formDefinitionOptions$.next(options));\n break;\n case 'buildingBlock':\n // to do\n this._formDefinitionOptions$.next([]);\n break;\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 */\nimport {Injectable} from '@angular/core';\nimport {BehaviorSubject, Observable, Subject} from 'rxjs';\n\n@Injectable({providedIn: 'root'})\nexport class ProcessManagementStateService {\n private readonly _openModal$ = new Subject<boolean>();\n private readonly _reloadDefinitions$ = new BehaviorSubject<null>(null);\n\n public get openModal$(): Observable<boolean> {\n return this._openModal$.asObservable();\n }\n\n public get reloadDefinitions$(): Observable<null> {\n return this._reloadDefinitions$.asObservable();\n }\n\n public openModal(): void {\n this._openModal$.next(true);\n }\n\n public closeModal(): void {\n this._openModal$.next(false);\n }\n\n public reloadDefinitions(): void {\n this._reloadDefinitions$.next(null);\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 {ValtimoWindow} from '@valtimo/shared';\nimport {ProcessManagementEditorService} from '../services';\nimport {TranslateService} from '@ngx-translate/core';\nimport {PluginTranslationService} from '@valtimo/plugin';\n\ninterface ProcessManagementWindow extends ValtimoWindow {\n processManagementEditorService: ProcessManagementEditorService;\n translateService: TranslateService;\n pluginTranslationService: PluginTranslationService;\n}\n\nexport {ProcessManagementWindow};\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 BpmnElement {\n type: string;\n id: string;\n di?: {id?: string; bpmnElement?: {name?: string}};\n}\nexport {BpmnElement};\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 {ModalParams, ProcessLink} from '@valtimo/process-link';\nimport {ManagementContext} from '@valtimo/shared';\n\ninterface OpenProcessLinkModalEvent {\n modalParams: ModalParams;\n processLink?: ProcessLink;\n}\n\ninterface DeleteProcessLinkEvent {\n activityId: string;\n}\n\nconst PROCESS_MANAGEMENT_ENDPOINTS = {\n case: '/management/v1/case-definition',\n independent: '/management/v1/process-definition',\n};\n\ninterface ProcessManagementRouteData {\n context: ManagementContext;\n}\n\ninterface UpdateProcessDefinitionCaseDefinitionRequest {\n canInitializeDocument?: boolean;\n startableByUser?: boolean;\n}\n\nexport {\n OpenProcessLinkModalEvent,\n PROCESS_MANAGEMENT_ENDPOINTS,\n ProcessManagementRouteData,\n UpdateProcessDefinitionCaseDefinitionRequest,\n DeleteProcessLinkEvent,\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 {ProcessDocumentDefinition} from '@valtimo/document';\nimport {ProcessLink} from '@valtimo/process-link';\nimport {ProcessDefinitionWithPropertiesDto} from '@valtimo/shared';\n\ninterface ProcessDefinitionResult {\n bpmn20Xml: string;\n processCaseLink?: ProcessDocumentDefinition;\n processDefinition: ProcessDefinitionWithPropertiesDto;\n processLinks: ProcessLink[];\n}\n\nexport {ProcessDefinitionResult};\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 './window.model';\nexport * from './bpmn.model';\nexport * from './process-management.model';\nexport * from './process.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 {HttpClient} from '@angular/common/http';\nimport {Injectable, Signal, signal} from '@angular/core';\nimport {\n BaseApiService,\n BuildingBlockProcessDefinitionWithLinksDto,\n ConfigService,\n ManagementContext,\n} from '@valtimo/shared';\nimport {BehaviorSubject, combineLatest, Observable, of, switchMap} from 'rxjs';\nimport {toObservable} from '@angular/core/rxjs-interop';\n\nimport {\n PROCESS_MANAGEMENT_ENDPOINTS,\n ProcessDefinitionResult,\n UpdateProcessDefinitionCaseDefinitionRequest,\n} from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ProcessManagementService extends BaseApiService {\n private readonly _definitionKey$ = new BehaviorSubject<string | null>(null);\n private readonly _versionTag$ = new BehaviorSubject<string | null>(null);\n\n private _$context = signal<ManagementContext>('independent');\n public set context(value: ManagementContext) {\n this._$context.set(value);\n }\n public get $context(): Signal<ManagementContext> {\n return this._$context.asReadonly();\n }\n\n public processes$: Observable<ProcessDefinitionResult[]> = combineLatest([\n this._definitionKey$,\n this._versionTag$,\n toObservable(this._$context),\n ]).pipe(\n switchMap(([definitionKey, versionTag, context]) => {\n if (context === 'independent') {\n return this.getUnlinkedProcesses();\n }\n if (!!definitionKey && !!versionTag) {\n return this.getProcesses(definitionKey, versionTag);\n }\n return of([]);\n })\n );\n\n constructor(\n protected readonly httpClient: HttpClient,\n protected readonly configService: ConfigService\n ) {\n super(httpClient, configService);\n }\n\n public setParams(key: string, versionTag: string): void {\n this._definitionKey$.next(key);\n this._versionTag$.next(versionTag);\n }\n\n public deleteProcess(processDefinitionKey: string): Observable<void> {\n return this.httpClient.delete<void>(\n this.getApiUrl(\n `${PROCESS_MANAGEMENT_ENDPOINTS[this._$context()]}/${this._definitionKey$.getValue()}/version/${this._versionTag$.getValue()}/process-definition/key/${processDefinitionKey}`\n )\n );\n }\n\n public deleteUnlinkedProcess(processDefinitionKey: string): Observable<void> {\n return this.httpClient.delete<void>(\n this.getApiUrl(\n `${PROCESS_MANAGEMENT_ENDPOINTS[this._$context()]}/key/${processDefinitionKey}`\n )\n );\n }\n\n public deployBpmn(bpmn: File): Observable<any> {\n const formData: FormData = new FormData();\n formData.append('file', bpmn);\n formData.append(\n 'processLinks',\n new Blob([JSON.stringify([].map(processLink => this.emptyStringToNull(processLink)))], {\n type: 'application/json',\n })\n );\n\n return this.httpClient.post<any>(\n this._$context() === 'case'\n ? this.getApiUrl(\n `${PROCESS_MANAGEMENT_ENDPOINTS[this._$context()]}/${this._definitionKey$.getValue()}/version/${this._versionTag$.getValue()}/process-definition`\n )\n : this.getApiUrl(`${PROCESS_MANAGEMENT_ENDPOINTS[this._$context()]}`),\n formData\n );\n }\n\n public getProcessDefinitionForCase(\n caseDefinitionKey: string,\n caseDefinitionVersionTag: string,\n processDefinitionKey: string\n ): Observable<ProcessDefinitionResult> {\n return this.httpClient.get<ProcessDefinitionResult>(\n this.getApiUrl(\n `${PROCESS_MANAGEMENT_ENDPOINTS[this._$context()]}/${caseDefinitionKey}/version/${caseDefinitionVersionTag}/process-definition/key/${processDefinitionKey}`\n )\n );\n }\n\n public getBuildingBlockProcessDefinition(\n key: string,\n versionTag: string,\n processDefinitionId: string\n ): Observable<BuildingBlockProcessDefinitionWithLinksDto> {\n return this.httpClient.get<BuildingBlockProcessDefinitionWithLinksDto>(\n this.getApiUrl(\n `management/v1/building-block/${key}/version/${versionTag}/process-definition/${processDefinitionId}`\n )\n );\n }\n\n public getUnlinkedProcessDefinitionsByKey(\n processDefinitionKey: string\n ): Observable<ProcessDefinitionResult[]> {\n return this.httpClient.get<ProcessDefinitionResult[]>(\n this.getApiUrl(\n `${PROCESS_MANAGEMENT_ENDPOINTS[this._$context()]}/key/${processDefinitionKey}`\n )\n );\n }\n\n public updateProcessDefinitionCaseDefinitionProperties(\n caseDefinitionKey: string,\n caseDefinitionVersionTag: string,\n processDefinitionId: string,\n body: UpdateProcessDefinitionCaseDefinitionRequest\n ): Observable<void> {\n return this.httpClient.put<void>(\n this.getApiUrl(\n `/management/v1/case-definition/${caseDefinitionKey}/version/${caseDefinitionVersionTag}/process/${processDefinitionId}/properties`\n ),\n body\n );\n }\n\n private getProcesses(\n definitionName: string,\n versionTag: string\n ): Observable<ProcessDefinitionResult[]> {\n return this.httpClient.get<ProcessDefinitionResult[]>(\n this.getApiUrl(\n `${PROCESS_MANAGEMENT_ENDPOINTS[this._$context()]}/${definitionName}/version/${versionTag}/process-definition`\n )\n );\n }\n\n private getUnlinkedProcesses(): Observable<ProcessDefinitionResult[]> {\n return this.httpClient.get<ProcessDefinitionResult[]>(\n this.getApiUrl(`${PROCESS_MANAGEMENT_ENDPOINTS[this._$context()]}`)\n );\n }\n\n private emptyStringToNull<T extends Record<string, any>>(object: T): T {\n if (object && typeof object === 'object') {\n Object.keys(object).forEach(key => {\n const typedKey = key as keyof T;\n const value = object[typedKey];\n if (typeof value === 'object' && value !== null) {\n this.emptyStringToNull(value);\n } else if (value === '') {\n object[typedKey] = null as any;\n }\n });\n }\n return object;\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 './process-management-editor.service';\nexport * from './process-management-state.service';\nexport * from './process-management.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\nconst mapActivityTypeToActivityListenerType = (activityType: string): string => {\n if (activityType === 'bpmn:UserTask') {\n return activityType + ':create';\n }\n\n return activityType + ':start';\n};\n\nexport {mapActivityTypeToActivityListenerType};\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 {ActivatedRoute} from '@angular/router';\nimport {ManagementContext} from '@valtimo/shared';\nimport {Observable} from 'rxjs';\nimport {distinctUntilChanged, map} from 'rxjs/operators';\n\nfunction getContextObservable(route: ActivatedRoute): Observable<ManagementContext | null> {\n return route.data.pipe(\n map(data => (data && (data['context'] as ManagementContext)) || null),\n distinctUntilChanged()\n );\n}\n\nexport {getContextObservable};\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 {BreadcrumbService} from '@valtimo/components';\nimport {TranslateService} from '@ngx-translate/core';\nimport {\n BuildingBlockManagementParams,\n CaseManagementParams,\n ManagementContext,\n ProcessDefinitionWithPropertiesDto,\n} from '@valtimo/shared';\nimport Modeler from 'bpmn-js/lib/Modeler';\nimport NavigatedViewer from 'bpmn-js/lib/NavigatedViewer';\nimport {is} from 'bpmn-js/lib/util/ModelUtil';\n\nconst getLatestProcessDefinition = (\n processDefinitions: ProcessDefinitionWithPropertiesDto[]\n): ProcessDefinitionWithPropertiesDto | null => {\n if (!processDefinitions || processDefinitions.length === 0) return null;\n\n return processDefinitions.reduce((acc, version) =>\n version.version > acc.version ? version : acc\n );\n};\n\nconst initBreadcrumbsForContext = (\n breadcrumbService: BreadcrumbService,\n translateService: TranslateService,\n params: CaseManagementParams | BuildingBlockManagementParams,\n context: ManagementContext\n): void => {\n if (!params) return;\n\n if (context === 'case') {\n const caseParams = params as CaseManagementParams;\n const route = `/case-management/case/${caseParams.caseDefinitionKey}/version/${caseParams.caseDefinitionVersionTag}`;\n\n breadcrumbService.setThirdBreadcrumb({\n route: [route],\n content: `${caseParams.caseDefinitionKey} (${caseParams.caseDefinitionVersionTag})`,\n href: route,\n });\n\n const routeWithProcesses = `${route}/processes`;\n\n breadcrumbService.setFourthBreadcrumb({\n route: [routeWithProcesses],\n content: translateService.instant('caseManagement.tabs.processes'),\n href: routeWithProcesses,\n });\n }\n\n if (context === 'buildingBlock') {\n const bbParams = params as BuildingBlockManagementParams;\n const route = `/building-block-management/building-block/${bbParams.buildingBlockDefinitionKey}/version/${bbParams.buildingBlockDefinitionVersionTag}`;\n const generalRoute = `${route}/general`;\n\n breadcrumbService.setThirdBreadcrumb({\n route: [generalRoute],\n content: `${bbParams.buildingBlockDefinitionKey} (${bbParams.buildingBlockDefinitionVersionTag})`,\n href: generalRoute,\n });\n\n const processRoute = `${route}/process-definition`;\n\n breadcrumbService.setFourthBreadcrumb({\n route: [processRoute],\n content: translateService.instant('buildingBlockManagement.tabs.processes'),\n href: processRoute,\n });\n }\n};\n\nconst DisableBpmnWriteModule = {\n paletteProvider: ['value', {}],\n contextPadProvider: ['value', {}],\n directEditing: [\n 'value',\n {\n registerProvider: () => {},\n activate: () => {},\n deactivate: () => {},\n isActive: () => false,\n },\n ],\n move: ['value', null],\n resizeHandles: ['value', {addResizer: () => {}, removeResizers: () => {}}],\n};\n\nconst disableCommands = (editor: Modeler | NavigatedViewer): void => {\n const commandStack = (editor as any).get('commandStack') as any;\n const originalExecute = commandStack?.execute?.bind(commandStack);\n\n if (commandStack?.execute) {\n commandStack.execute = (command: string, context: any) => {\n if (\n command === 'elements.delete' ||\n command === 'elements.copy' ||\n command === 'elements.paste' ||\n command === 'elements.create'\n ) {\n return;\n }\n originalExecute(command, context);\n };\n }\n};\n\nconst applyBuildingBlockCalledElement = (\n editor: Modeler | NavigatedViewer,\n activityId: string,\n mainProcessDefinitionKey: string,\n versionTag: string\n): void => {\n if (!editor) return;\n\n const elementRegistry = (editor as any).get('elementRegistry') as any;\n const modeling = (editor as any).get('modeling') as any;\n const moddle = (editor as any).get('moddle') as any;\n\n const element = elementRegistry.get(activityId);\n\n if (!element || !is(element, 'bpmn:CallActivity')) {\n return;\n }\n\n modeling.updateProperties(element, {\n calledElement: mainProcessDefinitionKey,\n 'camunda:calledElementBinding': 'versionTag',\n 'camunda:calledElementVersionTag': versionTag,\n 'camunda:calledElementType': 'BPMN',\n });\n\n let extensionElements = element.businessObject.extensionElements;\n\n if (!extensionElements) {\n extensionElements = moddle.create('bpmn:ExtensionElements', {values: []});\n modeling.updateProperties(element, {\n extensionElements,\n });\n }\n\n extensionElements.values = (extensionElements.values || []).filter(\n (val: any) => !(val.$type === 'camunda:In' && val.businessKey)\n );\n\n const inWithBusinessKey = moddle.create('camunda:In', {\n businessKey: '#{buildingBlockDocumentId}',\n });\n\n extensionElements.values.push(inWithBusinessKey);\n\n modeling.updateProperties(element, {\n extensionElements,\n });\n};\n\nconst clearBuildingBlockCalledElement = (\n editor: Modeler | NavigatedViewer,\n activityId: string\n): void => {\n const localEditor = editor as any;\n if (!localEditor) return;\n\n const elementRegistry = localEditor.get('elementRegistry') as any;\n const modeling = localEditor.get('modeling') as any;\n\n const element = elementRegistry.get(activityId);\n if (!element || !is(element, 'bpmn:CallActivity')) return;\n\n const bo = element.businessObject;\n const versionTag = bo.get('camunda:calledElementVersionTag');\n\n if (!versionTag || !versionTag.startsWith('BB:')) return;\n\n const props: any = {\n calledElement: undefined,\n 'camunda:calledElementBinding': undefined,\n 'camunda:calledElementVersionTag': undefined,\n 'camunda:calledElementType': undefined,\n };\n\n const extensionElements = bo.extensionElements;\n if (extensionElements && Array.isArray(extensionElements.values)) {\n // Keep all elements except camunda:In with businessKey (building block mapping)\n extensionElements.values = extensionElements.values.filter(\n (val: any) => val.$type !== 'camunda:In' || !val.businessKey\n );\n\n if (extensionElements.values.length === 0) {\n props.extensionElements = undefined;\n } else {\n props.extensionElements = extensionElements;\n }\n }\n\n modeling.updateProperties(element, props);\n\n const attrs = bo.$attrs || {};\n\n Object.keys(attrs).forEach(key => {\n if (key.startsWith('camunda:calledElement')) delete attrs[key];\n if (key === 'calledElement') delete attrs[key];\n });\n};\n\nexport {\n getLatestProcessDefinition,\n initBreadcrumbsForContext,\n DisableBpmnWriteModule,\n disableCommands,\n applyBuildingBlockCalledElement,\n clearBuildingBlockCalledElement,\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 './bpmn.utils';\nexport * from './process-management.utils';\nexport * from './process-management-builder.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 {useService} from 'bpmn-js-properties-panel';\nimport {html} from 'htm/preact';\nimport {is} from 'bpmn-js/lib/util/ModelUtil';\nimport {ProcessManagementEditorService} from '../../../services';\nimport {BpmnElement, OpenProcessLinkModalEvent, ProcessManagementWindow} from '../../../models';\nimport {ModalParams, ProcessLink} from '@valtimo/process-link';\nimport {TranslateService} from '@ngx-translate/core';\nimport {mapActivityTypeToActivityListenerType} from '../../../utils';\nimport {VNode} from 'preact';\nimport {PluginTranslationService} from '@valtimo/plugin';\n\nclass ValtimoPropertiesProvider {\n static $inject = ['propertiesPanel', 'translate'];\n\n private get processManagementEditorService(): ProcessManagementEditorService {\n return (window as any as ProcessManagementWindow).processManagementEditorService;\n }\n\n private get translateService(): TranslateService {\n return (window as any as ProcessManagementWindow).translateService;\n }\n\n private get pluginTranslationService(): PluginTranslationService {\n return (window as any as ProcessManagementWindow).pluginTranslationService;\n }\n\n constructor(propertiesPanel: any) {\n propertiesPanel.registerProvider(500, this);\n }\n\n private addAsSecondOrFirst<T>(arr: T[], element: T): T[] {\n if (arr.length === 0) {\n arr.push(element);\n } else {\n arr.splice(1, 0, element);\n }\n return arr;\n }\n\n public getGroups(element: BpmnElement): (groups: any[]) => any[] {\n const processLink: ProcessLink | null =\n this.processManagementEditorService.processLinksForSelectedDefinition.find(\n processLink => processLink.activityId === element.id\n ) || null;\n\n return (groups: any[]) => {\n if (\n is(element, 'bpmn:UserTask') ||\n is(element, 'bpmn:StartEvent') ||\n is(element, 'bpmn:ServiceTask') ||\n is(element, 'bpmn:CallActivity')\n ) {\n const customGroup = {\n id: 'customRootGroup',\n label: 'Process link',\n entries: [this.createCustomRootElement(element, processLink)],\n groupType: 'root',\n };\n this.addAsSecondOrFirst(groups, customGroup);\n }\n return groups;\n };\n }\n\n public createCustomRootElement(element: any, processLink: ProcessLink | null): any {\n return {\n translateService: this.translateService,\n processManagementEditorService: this.processManagementEditorService,\n pluginTranslationService: this.pluginTranslationService,\n id: 'customRootElement',\n processLink,\n element,\n component: CustomRootElement,\n isEdited: () => false,\n };\n }\n}\n\nconst CustomRootElement = (props: {\n translateService: TranslateService;\n processManagementEditorService: ProcessManagementEditorService;\n pluginTranslationService: PluginTranslationService;\n id: string;\n processLink: ProcessLink;\n element: BpmnElement;\n}): VNode => {\n const {\n element,\n processLink,\n translateService,\n processManagementEditorService,\n pluginTranslationService,\n } = props;\n const modeling = useService('modeling');\n const elementRegistry = useService('elementRegistry');\n const editProcessLinkText = translateService.instant('interface.edit');\n const unlinkText = translateService.instant('processLink.unlink');\n const createText = translateService.instant('processLink.create');\n\n const getModalParams = (): ModalParams => {\n const currentElement = elementRegistry.get(element.id) || element;\n return {\n processDefinitionKey: processManagementEditorService.selectionProcessDefinition?.key,\n processDefinitionId: processManagementEditorService.selectionProcessDefinition?.id,\n element: {\n id: currentElement.id,\n type: currentElement.type,\n activityListenerType: mapActivityTypeToActivityListenerType(currentElement.type),\n name: currentElement.di?.bpmnElement?.name,\n },\n };\n };\n\n const handleCreateClick = (): void => {\n const event: OpenProcessLinkModalEvent = {\n modalParams: getModalParams(),\n };\n\n processManagementEditorService.sendOpenProcessLinkModalEvent(event, () => {\n // Defer to avoid calling modeling.updateProperties during command stack execute/revert phase\n setTimeout(() => modeling.updateProperties(element, {}), 0);\n });\n };\n\n const handleEditClick = (): void => {\n const event: OpenProcessLinkModalEvent = {\n processLink,\n modalParams: getModalParams(),\n };\n\n processManagementEditorService.sendOpenProcessLinkModalEvent(event, () => {\n // Defer to avoid calling modeling.updateProperties during command stack execute/revert phase\n setTimeout(() => modeling.updateProperties(element, {}), 0);\n });\n };\n\n const handleUnlinkClick = (): void => {\n processManagementEditorService.sendDeleteProcessLinkEvent(\n {activityId: processLink.activityId},\n () => {\n // Defer to avoid calling modeling.updateProperties during command stack execute/revert phase\n setTimeout(() => modeling.updateProperties(element, {}), 0);\n }\n );\n };\n\n const processLinkFormDefinitionId = processLink?.formDefinitionId;\n const processLinkFormDefinitionName = processManagementEditorService.formDefinitionOptions.find(\n option => option.id === processLinkFormDefinitionId\n )?.name;\n\n if (processLinkFormDefinitionName) {\n return html`<div class=\"process-link-properties-panel\">\n <div class=\"process-link-properties-panel__header\">\n <span class=\"process-link-properties-panel__title\">${processLinkFormDefinitionName}</span>\n\n <cds-tag\n class=\"cds--tag cds--tag--blue cds--tag--md cds--layout--size-md cds-tag--no-margin\"\n ><span class=\"cds--tag__label\">\n ${translateService.instant('processLinkType.form')}\n </span>\n </cds-tag>\n </div>\n\n <div class=\"process-link-properties-panel__buttons\">\n <button\n class=\"cds--btn cds--btn--danger cds--btn--sm cds--layout--side-md\"\n onClick=${handleUnlinkClick}\n >\n ${unlinkText}\n </button>\n\n <button\n class=\"cds--btn cds--btn--primary cds--btn--sm cds--layout--size-md\"\n onClick=${handleEditClick}\n >\n ${editProcessLinkText}\n </button>\n </div>\n </div>`;\n }\n\n const processLinkFormFlowDefinitionKey = processLink?.formFlowDefinitionKey;\n\n if (processLinkFormFlowDefinitionKey) {\n return html`<div class=\"process-link-properties-panel\">\n <div class=\"process-link-properties-panel__header\">\n <span class=\"process-link-properties-panel__title\"\n >${processLinkFormFlowDefinitionKey}</span\n >\n\n <cds-tag\n class=\"cds--tag cds--tag--teal cds--tag--md cds--layout--size-md cds-tag--no-margin\"\n ><span class=\"cds--tag__label\">\n ${translateService.instant('processLinkType.form-flow')}\n </span>\n </cds-tag>\n </div>\n\n <div class=\"process-link-properties-panel__buttons\">\n <button\n class=\"cds--btn cds--btn--danger cds--btn--sm cds--layout--side-md\"\n onClick=${handleUnlinkClick}\n >\n ${unlinkText}\n </button>\n\n <button\n class=\"cds--btn cds--btn--primary cds--btn--sm cds--layout--size-md\"\n onClick=${handleEditClick}\n >\n ${editProcessLinkText}\n </button>\n </div>\n </div>`;\n }\n\n const buildingBlockDefinitionKey = processLink?.buildingBlockDefinitionKey;\n const buildingBlockDefinitionVersion = processLink?.buildingBlockDefinitionVersionTag;\n\n if (buildingBlockDefinitionKey) {\n return html`<div class=\"process-link-properties-panel\">\n <div class=\"process-link-properties-panel__header\">\n <span class=\"process-link-properties-panel__title\"\n >${buildingBlockDefinitionKey} (${buildingBlockDefinitionVersion})</span\n >\n\n <cds-tag\n class=\"cds--tag cds--tag--green cds--tag--md cds--layout--size-md cds-tag--no-margin\"\n ><span class=\"cds--tag__label\">\n ${translateService.instant('processLinkType.building-block')}\n </span>\n </cds-tag>\n </div>\n\n <div class=\"process-link-properties-panel__buttons\">\n <button\n class=\"cds--btn cds--btn--danger cds--btn--sm cds--layout--side-md\"\n onClick=${handleUnlinkClick}\n >\n ${unlinkText}\n </button>\n\n <button\n class=\"cds--btn cds--btn--primary cds--btn--sm cds--layout--size-md\"\n onClick=${handleEditClick}\n >\n ${editProcessLinkText}\n </button>\n </div>\n </div>`;\n }\n\n const pluginActionKey = processLink?.pluginActionDefinitionKey;\n const pluginActionTranslation =\n pluginTranslationService.instantByPluginActionKey(pluginActionKey);\n const pluginTitleTranslation =\n pluginTranslationService.instantPluginTitleByPluginActionKey(pluginActionKey);\n\n if (pluginActionKey) {\n return html`<div class=\"process-link-properties-panel\">\n <div class=\"process-link-properties-panel__header\">\n <span class=\"process-link-properties-panel__title-container\">\n <span class=\"process-link-properties-panel__title\">${pluginTitleTranslation}</span>\n\n <span class=\"process-link-properties-panel__title\">${pluginActionTranslation}</span>\n </span>\n\n <cds-tag\n class=\"cds--tag cds--tag--purple cds--tag--md cds--layout--size-md cds-tag--no-margin\"\n ><span class=\"cds--tag__label\">\n ${translateService.instant('processLinkType.plugin')}\n </span>\n </cds-tag>\n </div>\n\n <div class=\"process-link-properties-panel__buttons\">\n <button\n class=\"cds--btn cds--btn--danger cds--btn--sm cds--layout--side-md\"\n onClick=${handleUnlinkClick}\n >\n ${unlinkText}\n </button>\n\n <button\n class=\"cds--btn cds--btn--primary cds--btn--sm cds--layout--size-md\"\n onClick=${handleEditClick}\n >\n ${editProcessLinkText}\n </button>\n </div>\n </div>`;\n }\n\n const uiComponentKey = processLink?.componentKey;\n\n if (uiComponentKey) {\n return html`<div class=\"process-link-properties-panel\">\n <div class=\"process-link-properties-panel__header\">\n <span class=\"process-link-properties-panel__title\">${uiComponentKey}</span>\n\n <cds-tag\n class=\"cds--tag cds--tag--magenta cds--tag--md cds--layout--size-md cds-tag--no-margin\"\n ><span class=\"cds--tag__label\">\n ${translateService.instant('processLinkType.ui-component')}\n </span>\n </cds-tag>\n </div>\n\n <div class=\"process-link-properties-panel__buttons\">\n <button\n class=\"cds--btn cds--btn--danger cds--btn--sm cds--layout--side-md\"\n onClick=${handleUnlinkClick}\n >\n ${unlinkText}\n </button>\n\n <button\n class=\"cds--btn cds--btn--primary cds--btn--sm cds--layout--size-md\"\n onClick=${handleEditClick}\n >\n ${editProcessLinkText}\n </button>\n </div>\n </div>`;\n }\n\n const genericLinkedPanel = html`<div class=\"process-link-properties-panel\">\n <div class=\"process-link-properties-panel__buttons\">\n <button\n class=\"cds--btn cds--btn--danger cds--btn--sm cds--layout--side-md\"\n onClick=${handleUnlinkClick}\n >\n ${unlinkText}\n </button>\n\n <button\n class=\"cds--btn cds--btn--primary cds--btn--sm cds--layout--size-md\"\n onClick=${handleEditClick}\n >\n ${editProcessLinkText}\n </button>\n </div>\n </div>`;\n\n const genericCreatePanel = html`<div class=\"process-link-properties-panel\">\n <div class=\"process-link-properties-panel__buttons\">\n <button\n class=\"cds--btn cds--btn--primary cds--btn--sm cds--layout--size-md\"\n onClick=${handleCreateClick}\n >\n ${createText}\n </button>\n </div>\n </div>`;\n\n return processLink ? genericLinkedPanel : genericCreatePanel;\n};\n\nconst ValtimoPropertiesProviderModule = {\n __init__: ['customPropertiesProvider'],\n customPropertiesProvider: ['type', ValtimoPropertiesProvider],\n};\n\nexport {ValtimoPropertiesProviderModule};\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 './valtimo-properties-provider';\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 {CommonModule} from '@angular/common';\nimport {\n AfterViewInit,\n Component,\n computed,\n ElementRef,\n OnDestroy,\n Signal,\n ViewChild,\n} from '@angular/core';\nimport {ReactiveFormsModule} from '@angular/forms';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {TranslateModule, TranslateService} from '@ngx-translate/core';\nimport {\n BreadcrumbService,\n FitPageDirective,\n ModalService,\n PageHeaderService,\n PageTitleService,\n RenderInPageHeaderDirective,\n} from '@valtimo/components';\nimport {\n BuildingBlockManagementParams,\n BuildingBlockProcessDefinitionWithLinksDto,\n CaseManagementParams,\n EditPermissionsService,\n getBuildingBlockManagementRouteParams,\n getCaseManagementRouteParams,\n GlobalNotificationService,\n ManagementContext,\n ProcessDefinitionWithPropertiesDto,\n} from '@valtimo/shared';\nimport {ProcessService} from '@valtimo/process';\nimport {\n BuildingBlockProcessLinkCreateDto,\n BuildingBlockProcessLinkUpdateDto,\n ProcessLinkBuildingBlockApiService,\n ProcessLinkButtonService,\n ProcessLinkCreateEvent,\n ProcessLinkModule,\n ProcessLinkService,\n ProcessLinkStateService,\n ProcessLinkStepService,\n} from '@valtimo/process-link';\nimport {\n BpmnPropertiesPanelModule,\n BpmnPropertiesProviderModule,\n CamundaPlatformPropertiesProviderModule,\n} from 'bpmn-js-properties-panel';\nimport Modeler from 'bpmn-js/lib/Modeler';\nimport NavigatedViewer from 'bpmn-js/lib/NavigatedViewer';\nimport camundaPlatformBehaviors from 'camunda-bpmn-js-behaviors/lib/camunda-platform';\nimport CamundaBpmnModdle from 'camunda-bpmn-moddle/resources/camunda.json';\nimport {\n ButtonModule,\n DialogModule,\n DropdownModule,\n IconModule,\n IconService,\n ListItem,\n LoadingModule,\n SelectModule,\n TagModule,\n ToggleModule,\n TooltipModule,\n} from 'carbon-components-angular';\nimport {isEqual} from 'lodash';\nimport {NGXLogger} from 'ngx-logger';\nimport {\n BehaviorSubject,\n combineLatest,\n filter,\n from,\n map,\n merge,\n Observable,\n of,\n startWith,\n Subject,\n Subscription,\n switchMap,\n take,\n tap,\n} from 'rxjs';\nimport {distinctUntilChanged} from 'rxjs/operators';\nimport {EMPTY_BPMN} from '../../constants';\nimport {\n OpenProcessLinkModalEvent,\n ProcessDefinitionResult,\n ProcessManagementWindow,\n UpdateProcessDefinitionCaseDefinitionRequest,\n} from '../../models';\nimport {ProcessManagementEditorService, ProcessManagementService} from '../../services';\nimport {\n applyBuildingBlockCalledElement,\n clearBuildingBlockCalledElement,\n DisableBpmnWriteModule,\n disableCommands,\n getContextObservable,\n getLatestProcessDefinition,\n initBreadcrumbsForContext,\n} from '../../utils';\nimport {ValtimoPropertiesProviderModule} from './panel';\nimport {PluginTranslationService} from '@valtimo/plugin';\n\n@Component({\n selector: 'valtimo-process-management-builder',\n templateUrl: './process-management-builder.component.html',\n styleUrls: ['./process-management-builder.component.scss'],\n standalone: true,\n imports: [\n CommonModule,\n FitPageDirective,\n LoadingModule,\n RenderInPageHeaderDirective,\n DropdownModule,\n ReactiveFormsModule,\n SelectModule,\n ButtonModule,\n IconModule,\n TranslateModule,\n TagModule,\n ProcessLinkModule,\n ProcessLinkModule,\n DialogModule,\n ToggleModule,\n TooltipModule,\n ],\n providers: [\n ProcessManagementEditorService,\n ProcessLinkStateService,\n ProcessLinkStepService,\n ProcessLinkButtonService,\n ],\n})\nexport class ProcessManagementBuilderComponent implements AfterViewInit, OnDestroy {\n @ViewChild('modeler', {static: false}) modelerElementRef!: ElementRef;\n @ViewChild('modelerPanel', {static: false}) modelerPanelElementRef!: ElementRef;\n @ViewChild('viewer', {static: false}) viewerElementRef!: ElementRef;\n @ViewChild('viewerPanel', {static: false}) viewerPanelElementRef!: ElementRef;\n\n private readonly _selectedProcess$ = new BehaviorSubject<\n ProcessDefinitionResult | BuildingBlockProcessDefinitionWithLinksDto | 'create' | null\n >(null);\n\n public readonly loading$ = new BehaviorSubject<boolean>(true);\n\n private _bpmnModeler!: Modeler;\n private _bpmnViewer!: NavigatedViewer;\n\n public readonly isReadOnlyProcess$ = new BehaviorSubject<boolean>(false);\n public readonly isSystemProcess$ = new BehaviorSubject<boolean>(false);\n\n public readonly canInitializeDocument$ = new BehaviorSubject<boolean>(false);\n public readonly startableByUser$ = new BehaviorSubject<boolean>(false);\n\n public readonly selectedProcessDefinitionXml$ =\n this.processManagementEditorService.selectionProcessDefinition$.pipe(\n filter(selectedProcessDefinition => !!selectedProcessDefinition?.id),\n distinctUntilChanged((previous, current) => isEqual(previous, current)),\n tap(selectedProcessDefinition => {\n this.loading$.next(true);\n this.pageTitleService.setCustomPageTitle(selectedProcessDefinition?.name || '-');\n }),\n switchMap(selectedProcessDefinition =>\n this.processService.getProcessDefinitionXml(selectedProcessDefinition.id)\n ),\n tap(result => {\n this.cleanUpListenersOnModeler();\n this._bpmnModeler?.importXML(result.bpmn20Xml);\n this._bpmnViewer?.importXML(result.bpmn20Xml);\n this.isReadOnlyProcess$.next(result.readOnly);\n this.isSystemProcess$.next(result.systemProcess);\n this.loading$.next(false);\n })\n );\n\n public readonly changesPending$ = new BehaviorSubject<boolean>(false);\n\n public readonly editParam$: Observable<string | 'create' | null> = this.route.url.pipe(\n map(segments => {\n const lastSegment = segments[segments.length - 1]?.path;\n if (lastSegment === 'create') {\n return 'create';\n }\n const param = this.route.snapshot.paramMap.get('processDefinitionKey');\n const idParam = this.route.snapshot.paramMap.get('processDefinitionId');\n return param || idParam || null;\n }),\n filter(editParam => !!editParam)\n );\n\n public readonly context$ = getContextObservable(this.route);\n\n public readonly managementParams$ = this.context$.pipe(\n filter(context => context === 'case' || context === 'buildingBlock'),\n switchMap(context =>\n context === 'case'\n ? getCaseManagementRouteParams(this.route)\n : getBuildingBlockManagementRouteParams(this.route)\n )\n );\n\n public readonly hasEditPermissions$: Observable<boolean> = this.context$.pipe(\n switchMap(context => {\n if (context === 'independent') {\n return of(true);\n }\n\n return this.managementParams$.pipe(\n switchMap(params =>\n this.editPermissionsService.hasPermissionsToEditBasedOnContext(params, context)\n )\n );\n })\n );\n\n private readonly _reload$ = new Subject<null>();\n\n public readonly processDefinitionVersions$: Observable<ProcessDefinitionWithPropertiesDto[]> =\n combineLatest([this.editParam$, this.context$, this._reload$.pipe(startWith(null))]).pipe(\n switchMap(([editParam, context]) =>\n context === 'independent'\n ? this.processManagementService.getUnlinkedProcessDefinitionsByKey(editParam)\n : of([] as ProcessDefinitionResult[])\n ),\n map(result => result.map(resultItem => resultItem.processDefinition)),\n tap(processDefinitions => {\n this.changesPending$.next(false);\n this.setSelectedProcessDefinitionToLatest(processDefinitions);\n })\n );\n\n public readonly processDefinitionVersionsListItems$: Observable<ListItem[]> = combineLatest([\n this.processDefinitionVersions$,\n this.processManagementEditorService.selectionProcessDefinition$,\n this.translateService.stream('key'),\n ]).pipe(\n map(([processDefinitionVersions, selectionProcessDefinition]) =>\n processDefinitionVersions\n .map(processDefinitionVersion => ({\n id: processDefinitionVersion.version,\n content: `${this.translateService.instant('processManagement.version')}${processDefinitionVersion.version}`,\n selected: selectionProcessDefinition.version === processDefinitionVersion.version,\n processDefinitionVersion,\n }))\n .sort((a, b) => b.id - a.id)\n )\n );\n\n public readonly compactMode$ = this.pageHeaderService.compactMode$;\n\n public readonly creatingNewProcess$ = new BehaviorSubject<boolean>(false);\n\n public readonly $spaceAdjustment: Signal<number> = computed(() =>\n this.processManagementService.$context() === 'case' ? 0 : 0\n );\n\n public readonly updatingProcessDefinitionCaseDefinition$ = new BehaviorSubject<boolean>(false);\n\n private readonly _subscriptions = new Subscription();\n\n constructor(\n private readonly breadcrumbService: BreadcrumbService,\n private readonly iconService: IconService,\n private readonly logger: NGXLogger,\n private readonly modalService: ModalService,\n private readonly notificationService: GlobalNotificationService,\n private readonly pageHeaderService: PageHeaderService,\n private readonly pageTitleService: PageTitleService,\n private readonly processLinkService: ProcessLinkService,\n private readonly processLinkStateService: ProcessLinkStateService,\n private readonly processManagementEditorService: ProcessManagementEditorService,\n private readonly processManagementService: ProcessManagementService,\n private readonly processService: ProcessService,\n private readonly route: ActivatedRoute,\n private readonly router: Router,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService,\n private readonly editPermissionsService: EditPermissionsService,\n private readonly processLinkBuildingBlockApiService: ProcessLinkBuildingBlockApiService\n ) {\n this.setProcessManagementWindow();\n }\n\n public ngAfterViewInit(): void {\n this.pageTitleService.disableReset();\n this.openParamsAndContextSubscription();\n this.initModeler();\n this.initViewer();\n this.subscribeToOpenProcessLinkModalEvents();\n this.subscribeToProcessLinkUpdateEvents();\n this.subscribeToProcessLinkCreateEvents();\n this.subscribeToProcessLinkDeleteEvents();\n this.initEditing();\n }\n\n public ngOnDestroy(): void {\n this._bpmnModeler?.destroy();\n this._bpmnViewer?.destroy();\n this._subscriptions.unsubscribe();\n this.pageTitleService.enableReset();\n this.pageTitleService.clearPageActionsViewContainerRef();\n this.breadcrumbService.clearThirdBreadcrumb();\n this.breadcrumbService.clearFourthBreadcrumb();\n }\n\n public export(isReadOnlyProcess: boolean): void {\n (isReadOnlyProcess ? from(this._bpmnViewer.saveXML()) : from(this._bpmnModeler.saveXML()))\n .pipe(take(1))\n .subscribe(result => {\n const file = new Blob([result.xml ?? ''], {type: 'text/xml'});\n const link = document.createElement('a');\n link.download = 'diagram.bpmn';\n link.href = window.URL.createObjectURL(file);\n link.click();\n window.URL.revokeObjectURL(link.href);\n link.remove();\n });\n }\n\n public deployChanges(isReadOnlyProcess: boolean): void {\n combineLatest([\n from(isReadOnlyProcess ? this._bpmnViewer.saveXML() : this._bpmnModeler.saveXML()),\n this.processManagementEditorService.processLinksForSelectedDefinition$,\n this.processManagementEditorService.selectionProcessDefinition$,\n this.context$,\n this.managementParams$.pipe(startWith(null)),\n ])\n .pipe(\n take(1),\n switchMap(([result, processLinks, selectedProcessDefinition, context, params]) => {\n if (context === 'case') {\n const caseManagementParams = params as CaseManagementParams;\n\n return this.processLinkService.deployProcessWithProcessLinksForCase(\n processLinks as ProcessLinkCreateEvent[],\n selectedProcessDefinition.id,\n !isReadOnlyProcess ? (result?.xml ?? '') : null,\n caseManagementParams?.caseDefinitionKey ?? '',\n caseManagementParams?.caseDefinitionVersionTag ?? '',\n this.canInitializeDocument$.getValue(),\n this.startableByUser$.getValue()\n );\n }\n\n if (context === 'buildingBlock') {\n const buildingBlockManagementParams = params as BuildingBlockManagementParams;\n\n return this.processLinkService.deployProcessWithProcessLinksForBuildingBlock(\n processLinks as ProcessLinkCreateEvent[],\n selectedProcessDefinition.id,\n result?.xml,\n buildingBlockManagementParams.buildingBlockDefinitionKey,\n buildingBlockManagementParams.buildingBlockDefinitionVersionTag\n );\n }\n\n return this.processLinkService.deployProcessWithProcessLinks(\n processLinks as ProcessLinkCreateEvent[],\n selectedProcessDefinition.id,\n !isReadOnlyProcess ? (result?.xml ?? '') : null\n );\n }),\n switchMap(() => this.context$)\n )\n .subscribe({\n next: context => {\n if (context === 'independent') {\n this.reload();\n this.showNotification('success');\n } else {\n this.navigateBack('success');\n }\n },\n error: () => {\n this.showNotification('error');\n },\n });\n }\n\n public deployNewProcessDefinition(): void {\n combineLatest([\n from(this._bpmnModeler.saveXML()),\n this.processManagementEditorService.processLinksForSelectedDefinition$,\n this.context$,\n this.managementParams$.pipe(startWith(null)),\n ])\n .pipe(\n take(1),\n switchMap(([result, processLinks, context, params]) => {\n const mappedProcessLinks = processLinks.map(link => ({\n ...link,\n processDefinitionId: '-',\n })) as ProcessLinkCreateEvent[];\n\n switch (context) {\n case 'independent':\n return this.processLinkService.deployProcessWithProcessLinks(\n mappedProcessLinks,\n null,\n result.xml ?? ''\n );\n case 'buildingBlock':\n const buildingBlockParams = params as BuildingBlockManagementParams;\n return this.processLinkService.deployProcessWithProcessLinksForBuildingBlock(\n mappedProcessLinks,\n null,\n result.xml ?? '',\n buildingBlockParams.buildingBlockDefinitionKey,\n buildingBlockParams.buildingBlockDefinitionVersionTag\n );\n case 'case':\n const caseManagementParams = params as CaseManagementParams;\n return this.processLinkService.deployProcessWithProcessLinksForCase(\n mappedProcessLinks,\n null,\n result.xml ?? '',\n caseManagementParams.caseDefinitionKey,\n caseManagementParams.caseDefinitionVersionTag,\n this.canInitializeDocument$.getValue(),\n this.startableByUser$.getValue()\n );\n }\n })\n )\n .subscribe({\n next: () => {\n this.navigateBack('success');\n },\n error: () => {\n this.showNotification('error');\n },\n });\n }\n\n public selectedVersionChange(event: {\n item: {processDefinitionVersion: ProcessDefinitionWithPropertiesDto};\n }): void {\n this.processManagementEditorService.selectionProcessDefinition$\n .pipe(take(1))\n .subscribe(selectedVersion => {\n if (selectedVersion.id !== event.item.processDefinitionVersion.id) {\n this.processManagementEditorService.setSelectedProcessDefinition(\n event?.item?.processDefinitionVersion\n );\n this.changesPending$.next(false);\n }\n });\n }\n\n public navigateBack(notification: null | 'success' | 'error'): void {\n this.router.navigate(['../'], {relativeTo: this.route});\n\n if (!notification) return;\n\n this.showNotification(notification);\n }\n\n public onProcessToggleChange(\n field: keyof UpdateProcessDefinitionCaseDefinitionRequest,\n value: boolean\n ): void {\n if (field === 'canInitializeDocument') this.canInitializeDocument$.next(value);\n if (field === 'startableByUser') this.startableByUser$.next(value);\n this.changesPending$.next(true);\n }\n\n private setProcessManagementWindow(): void {\n const processManagementWindow = window as any as ProcessManagementWindow;\n\n if (!processManagementWindow) return;\n\n processManagementWindow.processManagementEditorService = this.processManagementEditorService;\n processManagementWindow.translateService = this.translateService;\n processManagementWindow.pluginTranslationService = this.pluginTranslationService;\n }\n\n private showNotification(notification: null | 'success' | 'error'): void {\n this.notificationService.showToast({\n caption: this.translateService.instant(`processManagement.${notification}Notification`),\n type: notification,\n title: this.translateService.instant(`interface.${notification}`),\n });\n }\n\n private setSelectedProcessDefinitionToLatest(\n processDefinitions: ProcessDefinitionWithPropertiesDto[]\n ): void {\n const latest = getLatestProcessDefinition(processDefinitions);\n\n if (!latest) return;\n\n this.processManagementEditorService.setSelectedProcessDefinition(latest);\n }\n\n private initModeler(): void {\n this._bpmnModeler = new Modeler({\n additionalModules: [\n BpmnPropertiesPanelModule,\n BpmnPropertiesProviderModule,\n CamundaPlatformPropertiesProviderModule,\n camundaPlatformBehaviors,\n ValtimoPropertiesProviderModule,\n ],\n moddleExtensions: {camunda: CamundaBpmnModdle},\n propertiesPanel: {parent: this.modelerPanelElementRef.nativeElement},\n });\n\n this._bpmnModeler?.attachTo(this.modelerElementRef.nativeElement);\n\n this._bpmnModeler.on('commandStack.changed', () => {\n this.changesPending$.next(true);\n });\n\n this._bpmnModeler.on('import.done', () => {\n const idMap: Record<string, string> = {};\n const elementRegistry = this._bpmnModeler.get('elementRegistry') as any;\n\n elementRegistry.forEach((element: any) => {\n const activityId = element?.di?.id;\n const businessId = element?.id;\n\n if (!activityId || !businessId) return;\n\n idMap[activityId] = businessId;\n });\n\n this.processManagementEditorService.setActivityIdBusinessIdMap(idMap);\n this.listenToActivityChangesOnModeler();\n });\n }\n\n private initViewer(): void {\n this._bpmnViewer = new Modeler({\n additionalModules: [\n DisableBpmnWriteModule,\n BpmnPropertiesPanelModule,\n ValtimoPropertiesProviderModule,\n ],\n moddleExtensions: {camunda: CamundaBpmnModdle},\n propertiesPanel: {parent: this.viewerPanelElementRef.nativeElement},\n });\n\n this._bpmnViewer?.attachTo(this.viewerElementRef.nativeElement);\n\n this._bpmnViewer.on('commandStack.changed', () => {\n this.changesPending$.next(true);\n });\n\n this._bpmnViewer.on('import.done', () => {\n disableCommands(this._bpmnViewer);\n });\n }\n\n private reload(): void {\n this._reload$.next(null);\n }\n\n private handleUpdateEvent(event: OpenProcessLinkModalEvent): void {\n this.modalService.setModalData(event?.modalParams);\n this.processLinkStateService.setModalParams(event?.modalParams);\n this.processLinkStateService.setElementName(event?.modalParams?.element?.name ?? '');\n this.processLinkStateService.selectProcessLink(event.processLink);\n this.processLinkStateService.showModal();\n }\n\n private handleCreateEvent(event: OpenProcessLinkModalEvent): void {\n this.processLinkService\n .getProcessLinkCandidates(event.modalParams.element.activityListenerType ?? '')\n .subscribe(candidates => {\n this.modalService.setModalData(event?.modalParams);\n this.processLinkStateService.setModalParams(event?.modalParams);\n this.processLinkStateService.setElementName(event?.modalParams?.element?.name ?? '');\n this.processLinkStateService.setAvailableProcessLinkTypes(candidates);\n this.processLinkStateService.showModal();\n });\n }\n\n private subscribeToOpenProcessLinkModalEvents(): void {\n this._subscriptions.add(\n this.processManagementEditorService.openProcessLinkModalEvents$.subscribe(event => {\n if (event.processLink) {\n this.handleUpdateEvent(event);\n } else {\n this.handleCreateEvent(event);\n }\n })\n );\n }\n\n private subscribeToProcessLinkUpdateEvents(): void {\n this._subscriptions.add(\n this.processLinkStateService.processLinkUpdateEvents$.subscribe(event => {\n this.processManagementEditorService.updateProcessLink(event);\n this.processLinkStateService.stopSaving();\n this.processLinkStateService.closeModal();\n\n const buildingBlockProcessLinkUpdateDto = event as BuildingBlockProcessLinkUpdateDto;\n\n if (\n buildingBlockProcessLinkUpdateDto.buildingBlockDefinitionKey &&\n buildingBlockProcessLinkUpdateDto.buildingBlockDefinitionVersionTag\n ) {\n this.setCalledElementForBuildingBlockProcessLink(\n buildingBlockProcessLinkUpdateDto.activityId,\n buildingBlockProcessLinkUpdateDto.buildingBlockDefinitionKey,\n buildingBlockProcessLinkUpdateDto.buildingBlockDefinitionVersionTag\n );\n }\n })\n );\n }\n\n private subscribeToProcessLinkCreateEvents(): void {\n this._subscriptions.add(\n this.processLinkStateService.processLinkCreateEvents$.subscribe(event => {\n this.processManagementEditorService.createProcessLink(event);\n this.processLinkStateService.stopSaving();\n this.processLinkStateService.closeModal();\n\n const buildingBlockProcessLinkCreateDto = event as BuildingBlockProcessLinkCreateDto;\n\n if (\n buildingBlockProcessLinkCreateDto.buildingBlockDefinitionKey &&\n buildingBlockProcessLinkCreateDto.buildingBlockDefinitionVersionTag\n ) {\n this.setCalledElementForBuildingBlockProcessLink(\n buildingBlockProcessLinkCreateDto.activityId,\n buildingBlockProcessLinkCreateDto.buildingBlockDefinitionKey,\n buildingBlockProcessLinkCreateDto.buildingBlockDefinitionVersionTag\n );\n }\n })\n );\n }\n\n private subscribeToProcessLinkDeleteEvents(): void {\n this._subscriptions.add(\n merge(\n this.processManagementEditorService.deleteProcessLinkEvents$,\n this.processLinkStateService.processLinkDeleteEvents$\n ).subscribe(event => {\n this.processManagementEditorService.deleteProcessLink(event);\n this.processLinkStateService.stopSaving();\n this.processLinkStateService.closeModal();\n\n this.unsetCalledElementForBuildingBlockProcessLink(event.activityId);\n })\n );\n }\n\n private initIfCreate(): void {\n if (this._selectedProcess$.getValue() !== 'create') return;\n\n this.creatingNewProcess$.next(true);\n this._bpmnModeler?.importXML(EMPTY_BPMN);\n this.isReadOnlyProcess$.next(false);\n this.isSystemProcess$.next(false);\n this.loading$.next(false);\n }\n\n private shapeAddedHandler = (event: any): void => {\n this.logger.debug('Shape added:', event);\n };\n\n private shapeRemovedHandler = (event: any): void => {\n this.logger.debug('Shape removed:', event);\n\n const activityId = event?.element?.id;\n\n if (!activityId) return;\n\n this.processManagementEditorService.deleteProcessLink({activityId});\n };\n\n private elementChangedHandler = (event: any): void => {\n this.logger.debug('Element changed:', event);\n\n const activityId = event?.element?.di?.id;\n const businessId = event?.element?.id;\n\n if (!activityId || !businessId) return;\n\n this.processManagementEditorService.updateProcessLinksOnIdChange(activityId, businessId);\n };\n\n private listenToActivityChangesOnModeler(): void {\n const eventBus = this._bpmnModeler.get('eventBus') as any;\n\n if (!eventBus) return;\n\n eventBus.on('shape.added', this.shapeAddedHandler);\n eventBus.on('shape.removed', this.shapeRemovedHandler);\n eventBus.on('element.changed', this.elementChangedHandler);\n }\n\n private cleanUpListenersOnModeler(): void {\n const eventBus = this._bpmnModeler.get('eventBus') as any;\n\n if (!eventBus) return;\n\n eventBus.off('shape.added', this.shapeAddedHandler);\n eventBus.off('shape.removed', this.shapeRemovedHandler);\n eventBus.off('element.changed', this.elementChangedHandler);\n }\n\n private initProcessDefinition(): void {\n this._subscriptions.add(\n this._selectedProcess$\n .pipe(\n filter(selectedProcess => selectedProcess !== null && selectedProcess !== 'create'),\n distinctUntilChanged((previous, current) => isEqual(previous, current)),\n tap(() => this.loading$.next(true))\n )\n .subscribe(result => {\n const processDefinitionResult = result as ProcessDefinitionResult;\n\n this.cleanUpListenersOnModeler();\n\n this._bpmnModeler?.importXML(processDefinitionResult.bpmn20Xml);\n this._bpmnViewer?.importXML(processDefinitionResult.bpmn20Xml);\n\n this.canInitializeDocument$.next(\n !!processDefinitionResult?.processCaseLink?.canInitializeDocument\n );\n this.startableByUser$.next(!!processDefinitionResult?.processCaseLink?.startableByUser);\n\n this.loading$.next(false);\n })\n );\n }\n\n private openParamsAndContextSubscription(): void {\n this._subscriptions.add(\n combineLatest([\n getContextObservable(this.route),\n getCaseManagementRouteParams(this.route),\n getBuildingBlockManagementRouteParams(this.route),\n ]).subscribe(([context, caseManagementParams, buildingBlockManagementParams]) => {\n if (context) this.processManagementService.context = context;\n\n this.processLinkStateService.setContext(context);\n\n if (caseManagementParams) {\n this.processManagementService.setParams(\n caseManagementParams.caseDefinitionKey,\n caseManagementParams.caseDefinitionVersionTag\n );\n }\n\n if (buildingBlockManagementParams) {\n this.processManagementService.setParams(\n buildingBlockManagementParams.buildingBlockDefinitionKey,\n buildingBlockManagementParams.buildingBlockDefinitionVersionTag\n );\n }\n\n initBreadcrumbsForContext(\n this.breadcrumbService,\n this.translateService,\n caseManagementParams || buildingBlockManagementParams,\n context as ManagementContext\n );\n\n this.processManagementEditorService.setManagementRouteParams(\n context,\n caseManagementParams || buildingBlockManagementParams\n );\n })\n );\n }\n\n private initEditing(): void {\n combineLatest([this.editParam$, this.managementParams$.pipe(startWith(null)), this.context$])\n .pipe(\n take(1),\n switchMap(([editParam, params, context]) => {\n if (editParam === 'create') {\n this._selectedProcess$.next('create');\n this.initIfCreate();\n\n return of(null);\n }\n\n switch (context) {\n case 'case':\n const caseManagementParams = params as CaseManagementParams;\n return this.processManagementService.getProcessDefinitionForCase(\n caseManagementParams.caseDefinitionKey,\n caseManagementParams.caseDefinitionVersionTag,\n editParam\n );\n case 'independent':\n return this.processManagementService\n .getUnlinkedProcessDefinitionsByKey(editParam)\n .pipe(map(processDefinitionResults => processDefinitionResults[0]));\n case 'buildingBlock':\n const buildingBlockParams = params as BuildingBlockManagementParams;\n return this.processManagementService.getBuildingBlockProcessDefinition(\n buildingBlockParams.buildingBlockDefinitionKey,\n buildingBlockParams.buildingBlockDefinitionVersionTag,\n editParam\n );\n }\n }),\n tap(res => {\n if (res) {\n this._selectedProcess$.next(res);\n this.processManagementEditorService.setSelectedProcessDefinition(res.processDefinition);\n this.processManagementEditorService.setProcessLinksForSelectedDefinition(\n res.processLinks\n );\n this.pageTitleService.setCustomPageTitle(res.processDefinition.name || '-');\n }\n\n this.initProcessDefinition();\n })\n )\n .subscribe();\n }\n\n private setCalledElementForBuildingBlockProcessLink(\n activityId: string,\n buildingBlockDefinitionKey: string,\n buildingBlockDefinitionVersionTag: string\n ): void {\n const editor = this._bpmnModeler || this._bpmnViewer;\n\n if (!editor) {\n return;\n }\n\n this.processLinkBuildingBlockApiService\n .getMainProcessDefinitionKeyForBuildingBlock(\n buildingBlockDefinitionKey,\n buildingBlockDefinitionVersionTag\n )\n .subscribe({\n next: (mainProcessDefinitionKey: string) => {\n const versionTag = `BB:${buildingBlockDefinitionKey}:${buildingBlockDefinitionVersionTag}`;\n\n applyBuildingBlockCalledElement(editor, activityId, mainProcessDefinitionKey, versionTag);\n },\n });\n }\n\n private unsetCalledElementForBuildingBlockProcessLink(activityId: string): void {\n const editor = this._bpmnModeler || this._bpmnViewer;\n\n if (!editor) {\n return;\n }\n\n clearBuildingBlockCalledElement(editor, activityId);\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<div\n fitPage\n [spaceAdjustment]=\"$spaceAdjustment()\"\n [disableOverflow]=\"true\"\n *ngIf=\"{\n processDefinitionVersions: processDefinitionVersions$ | async,\n selectedProcessDefinitionXml: selectedProcessDefinitionXml$ | async,\n loading: loading$ | async,\n isReadOnlyProcess: isReadOnlyProcess$ | async,\n hasEditPermissions: hasEditPermissions$ | async,\n } as obs\"\n data-carbon-theme=\"g10\"\n class=\"bpmn__container\"\n>\n <div\n class=\"bpmn__modeler\"\n [style.display]=\"obs.isReadOnlyProcess || !obs.hasEditPermissions ? 'none' : 'flex'\"\n >\n <div class=\"bpmn__modeler-canvas\" #modeler></div>\n\n <div class=\"bpmn__modeler-panel\" #modelerPanel></div>\n </div>\n\n <div\n class=\"bpmn__modeler\"\n [style.display]=\"obs.isReadOnlyProcess || !obs.hasEditPermissions ? 'flex' : 'none'\"\n >\n <div class=\"bpmn__modeler-canvas\" #viewer></div>\n\n <div class=\"bpmn__modeler-panel\" #viewerPanel></div>\n </div>\n</div>\n\n<valtimo-process-link-modal></valtimo-process-link-modal>\n\n<ng-container renderInPageHeader [fullWidth]=\"true\">\n <ng-template>\n <div\n class=\"page-header-actions\"\n *ngIf=\"{\n processDefinitionVersionsListItems: processDefinitionVersionsListItems$ | async,\n loading: loading$ | async,\n changesPending: changesPending$ | async,\n isReadOnlyProcess: isReadOnlyProcess$ | async,\n isSystemProcess: isSystemProcess$ | async,\n compactMode: compactMode$ | async,\n creatingNewProcess: creatingNewProcess$ | async,\n context: context$ | async,\n hasEditPermissions: hasEditPermissions$ | async,\n canInitializeDocument: canInitializeDocument$ | async,\n startableByUser: startableByUser$ | async,\n updatingProcessDefinitionCaseDefinition: updatingProcessDefinitionCaseDefinition$ | async,\n } as actionsObs\"\n >\n <div class=\"page-header-actions__left-container\">\n <cds-dropdown\n *ngIf=\"!actionsObs.creatingNewProcess && actionsObs?.context === 'independent'\"\n class=\"page-header-actions__version-dropdown\"\n (selected)=\"selectedVersionChange($event)\"\n [disabled]=\"\n actionsObs.loading ||\n (actionsObs.processDefinitionVersionsListItems || []).length === 0 ||\n (actionsObs.processDefinitionVersionsListItems || []).length === 1\n \"\n [size]=\"actionsObs.compactMode ? 'sm' : 'md'\"\n >\n <cds-dropdown-list\n [items]=\"actionsObs.processDefinitionVersionsListItems || []\"\n ></cds-dropdown-list>\n </cds-dropdown>\n\n <div class=\"page-header-actions__tags\">\n <cds-tag\n *ngIf=\"actionsObs.isReadOnlyProcess || !actionsObs.hasEditPermissions\"\n type=\"blue\"\n >{{ 'processManagement.readOnly' | translate }}</cds-tag\n >\n\n <cds-tag *ngIf=\"actionsObs.isSystemProcess\" type=\"red\">{{\n 'processManagement.systemProcess' | translate\n }}</cds-tag>\n </div>\n </div>\n\n <div class=\"page-header-actions__buttons\">\n @if (actionsObs.context === 'case') {\n <cds-tooltip\n [description]=\"'processCaseConnection.processCreatesCaseTooltip' | translate\"\n >\n <cds-toggle\n [onText]=\"'processManagement.canInitializeDocument' | translate\"\n [offText]=\"'processManagement.canInitializeDocument' | translate\"\n [checked]=\"actionsObs.canInitializeDocument\"\n [disabled]=\"\n actionsObs.loading ||\n actionsObs.updatingProcessDefinitionCaseDefinition ||\n !actionsObs.hasEditPermissions\n \"\n (checkedChange)=\"onProcessToggleChange('canInitializeDocument', $event)\"\n ></cds-toggle>\n </cds-tooltip>\n\n <cds-tooltip\n [description]=\"'processCaseConnection.startableWithinCaseTooltip' | translate\"\n >\n <cds-toggle\n [onText]=\"'processManagement.startableByUser' | translate\"\n [offText]=\"'processManagement.startableByUser' | translate\"\n [checked]=\"actionsObs.startableByUser\"\n [disabled]=\"\n actionsObs.loading ||\n actionsObs.updatingProcessDefinitionCaseDefinition ||\n !actionsObs.hasEditPermissions\n \"\n (checkedChange)=\"onProcessToggleChange('startableByUser', $event)\"\n ></cds-toggle\n ></cds-tooltip>\n }\n\n <button\n *ngIf=\"actionsObs.context === 'case'\"\n cdsButton=\"secondary\"\n [size]=\"actionsObs.compactMode ? 'sm' : 'md'\"\n (click)=\"navigateBack(null)\"\n >\n <svg class=\"cds--btn__icon\" cdsIcon=\"arrow--left\" size=\"16\"></svg>\n\n <span>{{ 'interface.back' | translate }}</span>\n </button>\n\n <button\n [disabled]=\"!actionsObs.changesPending\"\n cdsButton=\"primary\"\n (click)=\"\n !actionsObs.creatingNewProcess\n ? deployChanges(actionsObs.isReadOnlyProcess)\n : deployNewProcessDefinition()\n \"\n [size]=\"actionsObs.compactMode ? 'sm' : 'md'\"\n >\n {{ 'processManagement.deploy' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"deploy\" size=\"16\"></svg>\n </button>\n\n <cds-overflow-menu class=\"overflow-button\">\n <cds-overflow-menu-option\n [disabled]=\"actionsObs.loading\"\n (selected)=\"export(actionsObs.isReadOnlyProcess)\"\n >{{ 'interface.export' | translate }}\n </cds-overflow-menu-option>\n </cds-overflow-menu>\n </div>\n </div>\n </ng-template>\n</ng-container>\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 {ChangeDetectionStrategy, Component, EventEmitter, Output} from '@angular/core';\nimport {Upload16} from '@carbon/icons';\nimport {TranslateModule, TranslateService} from '@ngx-translate/core';\nimport {\n ActionItem,\n CarbonListModule,\n ColumnConfig,\n ConfirmationModalModule,\n ViewType,\n} from '@valtimo/components';\nimport {\n EditPermissionsService,\n EnvironmentService,\n getCaseManagementRouteParams,\n GlobalNotificationService,\n ProcessDefinitionWithPropertiesDto,\n} from '@valtimo/shared';\nimport {ProcessDefinition} from '@valtimo/process';\nimport {ButtonModule, IconModule, IconService} from 'carbon-components-angular';\nimport {BehaviorSubject, combineLatest, Observable, switchMap, tap} from 'rxjs';\nimport {ProcessDefinitionResult} from '../../models';\nimport {ProcessManagementService, ProcessManagementStateService} from '../../services';\nimport {ActivatedRoute} from '@angular/router';\nimport {getContextObservable} from '../../utils';\n\n@Component({\n selector: 'valtimo-process-management-list',\n templateUrl: './process-management-list.component.html',\n styleUrls: ['./process-management-list.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n CommonModule,\n ButtonModule,\n CarbonListModule,\n IconModule,\n IconModule,\n TranslateModule,\n ConfirmationModalModule,\n ],\n})\nexport class ProcessManagementListComponent {\n @Output() public readonly processSelected = new EventEmitter<\n ProcessDefinitionResult | 'create'\n >();\n\n public readonly $context = this.processManagementService.$context;\n public readonly processToDelete$ = new BehaviorSubject<ProcessDefinitionWithPropertiesDto | null>(\n null\n );\n public readonly showDeleteModal$ = new BehaviorSubject<boolean>(false);\n public readonly loading$ = new BehaviorSubject<boolean>(true);\n public readonly ACTION_ITEMS: ActionItem[] = [\n {label: 'Delete', callback: this.onDeleteProcess.bind(this), type: 'danger'},\n ];\n\n public readonly context$ = getContextObservable(this.route);\n\n public readonly processDefinitions$: Observable<ProcessDefinitionResult[]> =\n this.processManagementStateService.reloadDefinitions$.pipe(\n tap(() => this.loading$.next(true)),\n switchMap(() => this.processManagementService.processes$),\n tap(() => this.loading$.next(false))\n );\n\n public readonly hasEditPermissions$: Observable<boolean> = combineLatest([\n getCaseManagementRouteParams(this.route),\n this.context$,\n ]).pipe(\n switchMap(([params, context]) => {\n return this.editPermissionsService.hasPermissionsToEditBasedOnContext(params, context);\n })\n );\n\n public readonly FIELDS: ColumnConfig[] = [\n {key: 'processDefinition.name', label: 'processManagement.name'},\n {key: 'processDefinition.key', label: 'processManagement.key'},\n {\n key: 'processDefinition.readOnly',\n label: 'processManagement.readOnly',\n viewType: ViewType.BOOLEAN,\n },\n ...(this.processManagementService.$context() === 'case'\n ? [\n {\n key: 'processCaseLink.canInitializeDocument',\n label: 'processManagement.canInitializeDocument',\n viewType: ViewType.BOOLEAN,\n },\n ]\n : []),\n ...(this.processManagementService.$context() === 'case'\n ? [\n {\n key: 'processCaseLink.startableByUser',\n label: 'processManagement.startableByUser',\n viewType: ViewType.BOOLEAN,\n },\n ]\n : []),\n ];\n\n constructor(\n private readonly iconService: IconService,\n private readonly notificationService: GlobalNotificationService,\n private readonly processManagementService: ProcessManagementService,\n private readonly processManagementStateService: ProcessManagementStateService,\n private readonly translateService: TranslateService,\n private readonly environmentService: EnvironmentService,\n private readonly route: ActivatedRoute,\n private readonly editPermissionsService: EditPermissionsService\n ) {\n this.iconService.registerAll([Upload16]);\n }\n\n public editProcessDefinition(processDefinition: ProcessDefinitionResult): void {\n this.processSelected.emit(processDefinition);\n }\n\n public openModal(): void {\n this.processManagementStateService.openModal();\n }\n\n public onCreateProcess(): void {\n this.processSelected.emit('create');\n }\n\n public onDeleteConfirm(processDefinition: ProcessDefinition): void {\n (this.$context() === 'case'\n ? this.processManagementService.deleteProcess(processDefinition.key)\n : this.processManagementService.deleteUnlinkedProcess(processDefinition.key)\n ).subscribe(() => {\n this.processManagementStateService.reloadDefinitions();\n\n this.notificationService.showToast({\n title: this.translateService.instant(`interface.delete`),\n caption: this.translateService.instant(`processManagement.deleteNotification`),\n type: 'success',\n });\n });\n }\n\n public onDeleteProcess(process: ProcessDefinitionResult): void {\n this.processToDelete$.next(process.processDefinition);\n this.showDeleteModal$.next(true);\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<valtimo-carbon-list\n [actionItems]=\"ACTION_ITEMS\"\n [showActionItems]=\"hasEditPermissions$ | async\"\n [fields]=\"FIELDS\"\n [header]=\"false\"\n [items]=\"processDefinitions$ | async\"\n [loading]=\"loading$ | async\"\n (rowClicked)=\"editProcessDefinition($event)\"\n>\n <ng-container carbonToolbarContent>\n <button\n *ngIf=\"hasEditPermissions$ | async\"\n cdsButton=\"ghost\"\n iconOnly=\"true\"\n (click)=\"openModal()\"\n >\n <svg cdsIcon=\"upload\" size=\"16\"></svg>\n </button>\n\n <ng-container [ngTemplateOutlet]=\"createProcess\"></ng-container>\n </ng-container>\n\n <valtimo-no-results\n [action]=\"createProcess\"\n [title]=\"'processManagement.noResults.title' | translate\"\n [description]=\"'processManagement.noResults.' + $context() + 'Description' | translate\"\n ></valtimo-no-results>\n</valtimo-carbon-list>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"processManagement.deleteModal.content\"\n [outputOnConfirm]=\"processToDelete$ | async\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"processManagement.deleteModal.title\"\n (confirmEvent)=\"onDeleteConfirm($event)\"\n></valtimo-confirmation-modal>\n\n<ng-template #createProcess>\n <button *ngIf=\"hasEditPermissions$ | async\" cdsButton=\"primary\" (click)=\"onCreateProcess()\">\n {{ 'processManagement.createProcess' | translate }}\n\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n</ng-template>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport {CommonModule} from '@angular/common';\nimport {ChangeDetectionStrategy, Component} from '@angular/core';\nimport {FormBuilder, ReactiveFormsModule, Validators} from '@angular/forms';\nimport {TranslateModule, TranslateService} from '@ngx-translate/core';\nimport {CARBON_CONSTANTS} from '@valtimo/components';\nimport {GlobalNotificationService} from '@valtimo/shared';\nimport {\n ButtonModule,\n FileUploaderModule,\n LayerModule,\n ModalModule,\n} from 'carbon-components-angular';\nimport {map, startWith} from 'rxjs';\nimport {ProcessManagementService, ProcessManagementStateService} from '../../services';\n\n@Component({\n selector: 'valtimo-process-management-upload',\n templateUrl: './process-management-upload.component.html',\n styleUrls: ['./process-management-upload.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n CommonModule,\n TranslateModule,\n FileUploaderModule,\n ModalModule,\n LayerModule,\n ReactiveFormsModule,\n ButtonModule,\n ],\n})\nexport class ProcessManagementUploadComponent {\n public readonly modalOpen$ = this.processManagementStateService.openModal$;\n\n public readonly ACCEPTED_FILES: string[] = ['bpmn'];\n\n public readonly form = this.formBuilder.group({\n file: this.formBuilder.control(new Set<any>(), [Validators.required]),\n });\n\n public readonly fileSelected$ = this.form.get('file')?.valueChanges.pipe(\n startWith(null),\n map(value => !!(value instanceof Set && value.size > 0))\n );\n\n constructor(\n private readonly formBuilder: FormBuilder,\n private readonly notificationService: GlobalNotificationService,\n private readonly processManagementService: ProcessManagementService,\n private readonly processManagementStateService: ProcessManagementStateService,\n private readonly translateService: TranslateService\n ) {}\n\n public closeModal(): void {\n this.processManagementStateService.closeModal();\n\n setTimeout(() => {\n this.form.reset();\n }, CARBON_CONSTANTS.modalAnimationMs);\n }\n\n public uploadProcessBpmn(): void {\n const bpmnFile = this.form.value?.file?.values()?.next()?.value?.file;\n\n if (!bpmnFile) return;\n\n this.processManagementService.deployBpmn(bpmnFile).subscribe({\n next: () => {\n this.notificationService.showNotification({\n type: 'success',\n title: this.translateService.instant('processManagement.upload.success'),\n });\n this.closeModal();\n this.processManagementStateService.reloadDefinitions();\n },\n error: () => {\n this.notificationService.showNotification({\n type: 'error',\n title: this.translateService.instant('processManagement.upload.failure'),\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\n<cds-modal valtimoCdsModal [open]=\"modalOpen$ | async\" size=\"sm\" (close)=\"closeModal()\">\n <cds-modal-header showCloseButton=\"true\" (closeSelect)=\"closeModal()\">\n <h3 cdsModalHeaderHeading>{{ 'processManagement.upload.modalTitle' | translate }}</h3>\n </cds-modal-header>\n\n <section cdsModalContent [cdsLayer]=\"1\" [formGroup]=\"form\">\n <cds-file-uploader\n [accept]=\"ACCEPTED_FILES\"\n [buttonText]=\"'processManagement.upload.buttonText' | translate\"\n [description]=\"'processManagement.upload.description' | translate\"\n [multiple]=\"false\"\n [title]=\"'processManagement.upload.title' | translate\"\n buttonType=\"primary\"\n formControlName=\"file\"\n >\n </cds-file-uploader>\n </section>\n\n <cds-modal-footer>\n <button cdsButton=\"ghost\" (click)=\"closeModal()\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button\n cdsButton=\"primary\"\n [disabled]=\"(fileSelected$ | async) === false\"\n (click)=\"uploadProcessBpmn()\"\n >\n {{ 'interface.upload' | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\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 {ChangeDetectionStrategy, Component, OnDestroy, OnInit} from '@angular/core';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {TranslateService} from '@ngx-translate/core';\nimport {getCaseManagementRouteParams} from '@valtimo/shared';\nimport {LoadingModule, NotificationModule} from 'carbon-components-angular';\nimport {isEqual} from 'lodash';\nimport {BehaviorSubject, combineLatest, startWith, Subscription, switchMap} from 'rxjs';\nimport {distinctUntilChanged, filter} from 'rxjs/operators';\nimport {ProcessDefinitionResult} from '../../models';\nimport {ProcessManagementService} from '../../services';\nimport {getContextObservable} from '../../utils';\nimport {ProcessManagementBuilderComponent} from '../process-management-builder/process-management-builder.component';\nimport {ProcessManagementListComponent} from '../process-management-list/process-management-list.component';\nimport {ProcessManagementUploadComponent} from '../process-management-upload/process-management-upload.component';\n\n@Component({\n selector: 'valtimo-process-management',\n templateUrl: './process-management.component.html',\n styleUrls: ['./process-management.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n CommonModule,\n ProcessManagementListComponent,\n ProcessManagementUploadComponent,\n ProcessManagementBuilderComponent,\n LoadingModule,\n NotificationModule,\n ],\n providers: [TranslateService],\n})\nexport class ProcessManagementComponent implements OnInit, OnDestroy {\n public readonly context$ = getContextObservable(this.route);\n\n public readonly params$ = this.context$.pipe(\n filter(context => context === 'case'),\n switchMap(() => getCaseManagementRouteParams(this.route)),\n distinctUntilChanged((previous, current) => isEqual(previous, current))\n );\n\n public readonly paramsAreSet$ = new BehaviorSubject<boolean>(false);\n\n private readonly _subscriptions = new Subscription();\n\n constructor(\n private readonly processManagementService: ProcessManagementService,\n private readonly route: ActivatedRoute,\n private readonly router: Router\n ) {}\n\n public ngOnInit(): void {\n this.openParamsAndContextSubscription();\n }\n\n public ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n public onProcessSelected(selectedProcessEvent: ProcessDefinitionResult | 'create'): void {\n const editParam =\n selectedProcessEvent === 'create' ? 'create' : selectedProcessEvent?.processDefinition?.key;\n\n this.router.navigate([editParam], {\n relativeTo: this.route,\n });\n }\n\n private openParamsAndContextSubscription(): void {\n this._subscriptions.add(\n combineLatest([this.context$, this.params$.pipe(startWith(null))]).subscribe(\n ([context, params]) => {\n if (context) this.processManagementService.context = context;\n\n if (params) {\n this.processManagementService.setParams(\n params.caseDefinitionKey,\n params.caseDefinitionVersionTag\n );\n }\n\n this.paramsAreSet$.next(true);\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\n<ng-container\n *ngIf=\"{\n paramsAreSet: paramsAreSet$ | async,\n } as obs\"\n>\n @if (obs.paramsAreSet) {\n <valtimo-process-management-list\n (processSelected)=\"onProcessSelected($event)\"\n ></valtimo-process-management-list>\n\n <valtimo-process-management-upload></valtimo-process-management-upload>\n } @else {\n <cds-loading></cds-loading>\n }\n</ng-container>\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 './process-management-builder/process-management-builder.component';\nexport * from './process-management/process-management.component';\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 {NgModule} from '@angular/core';\nimport {RouterModule, Routes} from '@angular/router';\nimport {CommonModule} from '@angular/common';\nimport {AuthGuardService} from '@valtimo/security';\nimport {ROLE_ADMIN} from '@valtimo/shared';\nimport {ProcessManagementBuilderComponent, ProcessManagementComponent} from './components';\nimport {ProcessManagementRouteData} from './models';\nimport {pendingChangesGuard} from '@valtimo/components';\n\nconst routes: Routes = [\n {\n path: 'processes',\n component: ProcessManagementComponent,\n canActivate: [AuthGuardService],\n data: {\n title: 'Processes',\n roles: [ROLE_ADMIN],\n context: 'independent',\n } as ProcessManagementRouteData,\n },\n {\n path: 'processes/create',\n component: ProcessManagementBuilderComponent,\n canActivate: [AuthGuardService],\n //TODO: Re-enable when pending changes is fixed\n // canDeactivate: [pendingChangesGuard],\n data: {\n title: 'Create new Process',\n roles: [ROLE_ADMIN],\n context: 'independent',\n } as ProcessManagementRouteData,\n },\n {\n path: 'processes/:processDefinitionKey',\n component: ProcessManagementBuilderComponent,\n canActivate: [AuthGuardService],\n //TODO: Re-enable when pending changes is fixed\n // canDeactivate: [pendingChangesGuard],\n data: {\n title: 'Process details',\n roles: [ROLE_ADMIN],\n customPageTitle: true,\n context: 'independent',\n } as ProcessManagementRouteData,\n },\n];\n\n@NgModule({\n declarations: [],\n imports: [CommonModule, RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class ProcessManagementRoutingModule {}\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 {NgModule} from '@angular/core';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {CarbonListModule, WidgetModule} from '@valtimo/components';\nimport {ProcessLinkModule} from '@valtimo/process-link';\nimport {\n ButtonModule,\n DropdownModule,\n FileUploaderModule,\n IconModule,\n LayerModule,\n ModalModule,\n NotificationModule,\n RadioModule,\n} from 'carbon-components-angular';\nimport {ProcessManagementBuilderComponent, ProcessManagementComponent} from './components';\nimport {ProcessManagementRoutingModule} from './process-management-routing.module';\n\n@NgModule({\n imports: [\n CommonModule,\n ProcessManagementRoutingModule,\n WidgetModule,\n FormsModule,\n TranslateModule,\n ProcessLinkModule,\n ProcessManagementComponent,\n ProcessManagementBuilderComponent,\n CarbonListModule,\n ButtonModule,\n IconModule,\n DropdownModule,\n ModalModule,\n NotificationModule,\n RadioModule,\n ReactiveFormsModule,\n ModalModule,\n FileUploaderModule,\n LayerModule,\n ],\n})\nexport class ProcessManagementModule {}\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 process-management\n */\n\nexport * from './lib/process-management.module';\nexport * from './lib/services/process-management-state.service';\nexport * from './lib/components/process-management/process-management.component';\nexport * from './lib/components/process-management-builder/process-management-builder.component';\nexport * from './lib/models';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","map","i4","i6.ProcessManagementEditorService","i6.ProcessManagementService","i9","i11","i3.ProcessManagementService","i3.ProcessManagementStateService","i5","i7","i6","filter","i1.ProcessManagementService","i3"],"mappings":"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"}
1
+ {"version":3,"file":"valtimo-process-management.mjs","sources":["../../../../projects/valtimo/process-management/src/lib/constants/bpmn.constants.ts","../../../../projects/valtimo/process-management/src/lib/constants/index.ts","../../../../projects/valtimo/process-management/src/lib/services/process-management-editor.service.ts","../../../../projects/valtimo/process-management/src/lib/services/process-management-state.service.ts","../../../../projects/valtimo/process-management/src/lib/models/window.model.ts","../../../../projects/valtimo/process-management/src/lib/models/bpmn.model.ts","../../../../projects/valtimo/process-management/src/lib/models/process-management.model.ts","../../../../projects/valtimo/process-management/src/lib/models/process.model.ts","../../../../projects/valtimo/process-management/src/lib/models/index.ts","../../../../projects/valtimo/process-management/src/lib/services/process-management.service.ts","../../../../projects/valtimo/process-management/src/lib/services/index.ts","../../../../projects/valtimo/process-management/src/lib/utils/bpmn.utils.ts","../../../../projects/valtimo/process-management/src/lib/utils/process-management.utils.ts","../../../../projects/valtimo/process-management/src/lib/utils/process-management-builder.utils.ts","../../../../projects/valtimo/process-management/src/lib/utils/index.ts","../../../../projects/valtimo/process-management/src/lib/components/process-management-builder/panel/valtimo-properties-provider.ts","../../../../projects/valtimo/process-management/src/lib/components/process-management-builder/panel/index.ts","../../../../projects/valtimo/process-management/src/lib/components/process-management-builder/process-management-builder.component.ts","../../../../projects/valtimo/process-management/src/lib/components/process-management-builder/process-management-builder.component.html","../../../../projects/valtimo/process-management/src/lib/components/process-management-list/process-management-list.component.ts","../../../../projects/valtimo/process-management/src/lib/components/process-management-list/process-management-list.component.html","../../../../projects/valtimo/process-management/src/lib/components/process-management-upload/process-management-upload.component.ts","../../../../projects/valtimo/process-management/src/lib/components/process-management-upload/process-management-upload.component.html","../../../../projects/valtimo/process-management/src/lib/components/process-management/process-management.component.ts","../../../../projects/valtimo/process-management/src/lib/components/process-management/process-management.component.html","../../../../projects/valtimo/process-management/src/lib/components/index.ts","../../../../projects/valtimo/process-management/src/lib/process-management-routing.module.ts","../../../../projects/valtimo/process-management/src/lib/process-management.module.ts","../../../../projects/valtimo/process-management/src/public-api.ts","../../../../projects/valtimo/process-management/src/valtimo-process-management.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\nconst EMPTY_BPMN = `\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<bpmn:definitions xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:bpmn=\"http://www.omg.org/spec/BPMN/20100524/MODEL\" xmlns:bpmndi=\"http://www.omg.org/spec/BPMN/20100524/DI\" xmlns:dc=\"http://www.omg.org/spec/DD/20100524/DC\" targetNamespace=\"http://bpmn.io/schema/bpmn\" id=\"Definitions_1\">\n <bpmn:process id=\"Process_1\" isExecutable=\"false\">\n <bpmn:startEvent id=\"StartEvent_1\"/>\n </bpmn:process>\n <bpmndi:BPMNDiagram id=\"BPMNDiagram_1\">\n <bpmndi:BPMNPlane id=\"BPMNPlane_1\" bpmnElement=\"Process_1\">\n <bpmndi:BPMNShape id=\"_BPMNShape_StartEvent_2\" bpmnElement=\"StartEvent_1\">\n <dc:Bounds height=\"36.0\" width=\"36.0\" x=\"173.0\" y=\"102.0\"/>\n </bpmndi:BPMNShape>\n </bpmndi:BPMNPlane>\n </bpmndi:BPMNDiagram>\n</bpmn:definitions>\n`;\n\nexport {EMPTY_BPMN};\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 './bpmn.constants';\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, OnDestroy} from '@angular/core';\nimport {BehaviorSubject, filter, Observable, Subject, Subscription} from 'rxjs';\nimport {distinctUntilChanged} from 'rxjs/operators';\nimport {isEqual} from 'lodash';\nimport {\n ProcessLink,\n ProcessLinkCreateEvent,\n ProcessLinkDeleteEvent,\n ProcessLinkService,\n ProcessLinkUpdateEvent,\n} from '@valtimo/process-link';\nimport {DeleteProcessLinkEvent, OpenProcessLinkModalEvent} from '../models';\nimport {\n BuildingBlockManagementParams,\n CaseManagementParams,\n ManagementContext,\n ProcessDefinitionWithPropertiesDto,\n} from '@valtimo/shared';\nimport {FormDefinitionOption, FormService} from '@valtimo/form';\n\n@Injectable()\nexport class ProcessManagementEditorService implements OnDestroy {\n private readonly _selectionProcessDefinitionSubject$ =\n new BehaviorSubject<ProcessDefinitionWithPropertiesDto | null>(null);\n\n public get selectionProcessDefinition$(): Observable<ProcessDefinitionWithPropertiesDto> {\n return this._selectionProcessDefinitionSubject$.pipe(\n filter(selectedProcessDefinition => !!selectedProcessDefinition?.id),\n distinctUntilChanged((previous, current) => isEqual(previous, current))\n );\n }\n\n public get selectionProcessDefinition(): ProcessDefinitionWithPropertiesDto {\n return this._selectionProcessDefinitionSubject$.getValue();\n }\n\n private readonly _processLinksForSelectedDefinition$ = new BehaviorSubject<ProcessLink[]>([]);\n\n public get processLinksForSelectedDefinition$(): Observable<ProcessLink[]> {\n return this._processLinksForSelectedDefinition$.asObservable();\n }\n\n public get processLinksForSelectedDefinition(): ProcessLink[] {\n return this._processLinksForSelectedDefinition$.getValue();\n }\n\n private readonly _openProcessLinkModalEvents$ = new Subject<OpenProcessLinkModalEvent>();\n\n public get openProcessLinkModalEvents$(): Observable<OpenProcessLinkModalEvent> {\n return this._openProcessLinkModalEvents$.asObservable();\n }\n\n private readonly _deleteProcessLinkEvents$ = new Subject<DeleteProcessLinkEvent>();\n\n public get deleteProcessLinkEvents$(): Observable<DeleteProcessLinkEvent> {\n return this._deleteProcessLinkEvents$.asObservable();\n }\n\n public setSelectedProcessDefinition(definition: ProcessDefinitionWithPropertiesDto): void {\n this._selectionProcessDefinitionSubject$.next(definition);\n }\n\n private readonly _managementRouteParams$ = new BehaviorSubject<\n [ManagementContext, CaseManagementParams | BuildingBlockManagementParams] | null\n >(null);\n\n private readonly _formDefinitionOptions$ = new BehaviorSubject<FormDefinitionOption[]>([]);\n\n public get formDefinitionOptions(): FormDefinitionOption[] {\n return this._formDefinitionOptions$.getValue();\n }\n\n private _updateBpmnViewFunction!: () => void;\n\n private _updatingBpmnView = false;\n\n private _activityIdBusinessIdMap: Record<string, string> = {};\n\n private readonly _subscriptions = new Subscription();\n\n constructor(\n private readonly processLinkService: ProcessLinkService,\n private readonly formService: FormService\n ) {\n this.openSelectedProcessDefinitionSubscription();\n this.openFormDefinitionOptionsSubscription();\n }\n\n public ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n public setManagementRouteParams(\n context: ManagementContext,\n params: CaseManagementParams | BuildingBlockManagementParams\n ): void {\n this._managementRouteParams$.next([context, params]);\n }\n\n public sendOpenProcessLinkModalEvent(\n event: OpenProcessLinkModalEvent,\n updateBpmnViewFunction: () => void\n ): void {\n this._updateBpmnViewFunction = updateBpmnViewFunction;\n this._openProcessLinkModalEvents$.next(event);\n }\n\n public sendDeleteProcessLinkEvent(\n event: DeleteProcessLinkEvent,\n updateBpmnViewFunction: () => void\n ): void {\n this._updateBpmnViewFunction = updateBpmnViewFunction;\n this._deleteProcessLinkEvents$.next(event);\n }\n\n public updateProcessLink(event: ProcessLinkUpdateEvent): void {\n this.setProcessLinksForSelectedDefinition(\n this.processLinksForSelectedDefinition.map(processLink => {\n if (processLink.activityId === event.activityId) {\n return {...processLink, ...(event as any)};\n }\n\n return processLink;\n })\n );\n\n this.updateBpmnView();\n }\n\n public createProcessLink(event: ProcessLinkCreateEvent): void {\n this.setProcessLinksForSelectedDefinition([\n ...this.processLinksForSelectedDefinition,\n event as any,\n ]);\n\n this.updateBpmnView();\n }\n\n public deleteProcessLink(\n event: ProcessLinkDeleteEvent,\n updateBpmnViewFunction?: () => void\n ): void {\n if (updateBpmnViewFunction) {\n this._updateBpmnViewFunction = updateBpmnViewFunction;\n }\n\n this.setProcessLinksForSelectedDefinition(\n this.processLinksForSelectedDefinition.filter(\n processLink => processLink.activityId !== event.activityId\n )\n );\n\n this.updateBpmnView();\n }\n\n public setProcessLinksForSelectedDefinition(processLinks: ProcessLink[]): void {\n this._processLinksForSelectedDefinition$.next(processLinks);\n }\n\n public setActivityIdBusinessIdMap(activityIdBusinessIdMap: Record<string, string>): void {\n this._activityIdBusinessIdMap = activityIdBusinessIdMap;\n }\n\n public updateProcessLinksOnIdChange(activityId: string, newBusinessId: string): void {\n const newBusinessIdWithoutLabelString = newBusinessId.replace('_label', '');\n\n if (\n !this._activityIdBusinessIdMap[activityId] ||\n this._activityIdBusinessIdMap[activityId] === newBusinessIdWithoutLabelString\n ) {\n return;\n }\n\n this.updateProcessLinkId(this._activityIdBusinessIdMap[activityId], newBusinessId);\n this._activityIdBusinessIdMap = {...this._activityIdBusinessIdMap, [activityId]: newBusinessId};\n }\n\n private openSelectedProcessDefinitionSubscription(): void {\n this._subscriptions.add(\n this.selectionProcessDefinition$.subscribe(definition => {\n this.fetchProcessLinksForDefinition(definition.id);\n })\n );\n }\n\n private fetchProcessLinksForDefinition(processDefinitionId: string): void {\n this.processLinkService.getProcessLink({processDefinitionId}).subscribe(res => {\n this.setProcessLinksForSelectedDefinition(res);\n });\n }\n\n private updateBpmnView(): void {\n if (!this._updateBpmnViewFunction || this._updatingBpmnView) return;\n this._updatingBpmnView = true;\n this._updateBpmnViewFunction();\n this._updatingBpmnView = false;\n }\n\n private updateProcessLinkId(oldBusinessId: string, newBusinessId: string): void {\n this.setProcessLinksForSelectedDefinition(\n this.processLinksForSelectedDefinition.map(processLink => {\n if (processLink.activityId === oldBusinessId) {\n return {...processLink, activityId: newBusinessId};\n }\n\n return processLink;\n })\n );\n\n this.updateBpmnView();\n }\n\n private openFormDefinitionOptionsSubscription(): void {\n this._subscriptions.add(\n this._managementRouteParams$\n .pipe(\n filter(\n (\n params\n ): params is [\n ManagementContext,\n CaseManagementParams | BuildingBlockManagementParams,\n ] => params !== null\n )\n )\n .subscribe(([context, params]) => {\n switch (context) {\n case 'independent':\n this.formService\n .getAllUnlinkedFormDefinitions()\n .subscribe(options => this._formDefinitionOptions$.next(options));\n break;\n case 'case':\n const caseParams = params as CaseManagementParams;\n this.formService\n .getAllFormDefinitionsForCaseDefinition(\n caseParams.caseDefinitionKey,\n caseParams.caseDefinitionVersionTag\n )\n .subscribe(options => this._formDefinitionOptions$.next(options));\n break;\n case 'buildingBlock': {\n const buildingBlockParams = params as BuildingBlockManagementParams;\n this.formService\n .getAllFormDefinitionsForBuildingBlock(\n buildingBlockParams.buildingBlockDefinitionKey,\n buildingBlockParams.buildingBlockDefinitionVersionTag\n )\n .subscribe(options => this._formDefinitionOptions$.next(options));\n break;\n }\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 */\nimport {Injectable} from '@angular/core';\nimport {BehaviorSubject, Observable, Subject} from 'rxjs';\n\n@Injectable({providedIn: 'root'})\nexport class ProcessManagementStateService {\n private readonly _openModal$ = new Subject<boolean>();\n private readonly _reloadDefinitions$ = new BehaviorSubject<null>(null);\n\n public get openModal$(): Observable<boolean> {\n return this._openModal$.asObservable();\n }\n\n public get reloadDefinitions$(): Observable<null> {\n return this._reloadDefinitions$.asObservable();\n }\n\n public openModal(): void {\n this._openModal$.next(true);\n }\n\n public closeModal(): void {\n this._openModal$.next(false);\n }\n\n public reloadDefinitions(): void {\n this._reloadDefinitions$.next(null);\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 {ValtimoWindow} from '@valtimo/shared';\nimport {ProcessManagementEditorService} from '../services';\nimport {TranslateService} from '@ngx-translate/core';\nimport {PluginTranslationService} from '@valtimo/plugin';\n\ninterface ProcessManagementWindow extends ValtimoWindow {\n processManagementEditorService: ProcessManagementEditorService;\n translateService: TranslateService;\n pluginTranslationService: PluginTranslationService;\n}\n\nexport {ProcessManagementWindow};\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 BpmnElement {\n type: string;\n id: string;\n di?: {id?: string; bpmnElement?: {name?: string}};\n}\nexport {BpmnElement};\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 {ModalParams, ProcessLink} from '@valtimo/process-link';\nimport {ManagementContext} from '@valtimo/shared';\n\ninterface OpenProcessLinkModalEvent {\n modalParams: ModalParams;\n processLink?: ProcessLink;\n}\n\ninterface DeleteProcessLinkEvent {\n activityId: string;\n}\n\nconst PROCESS_MANAGEMENT_ENDPOINTS = {\n case: '/management/v1/case-definition',\n independent: '/management/v1/process-definition',\n};\n\ninterface ProcessManagementRouteData {\n context: ManagementContext;\n}\n\ninterface UpdateProcessDefinitionCaseDefinitionRequest {\n canInitializeDocument?: boolean;\n startableByUser?: boolean;\n}\n\nexport {\n OpenProcessLinkModalEvent,\n PROCESS_MANAGEMENT_ENDPOINTS,\n ProcessManagementRouteData,\n UpdateProcessDefinitionCaseDefinitionRequest,\n DeleteProcessLinkEvent,\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 {ProcessDocumentDefinition} from '@valtimo/document';\nimport {ProcessLink} from '@valtimo/process-link';\nimport {ProcessDefinitionWithPropertiesDto} from '@valtimo/shared';\n\ninterface ProcessDefinitionResult {\n bpmn20Xml: string;\n processCaseLink?: ProcessDocumentDefinition;\n processDefinition: ProcessDefinitionWithPropertiesDto;\n processLinks: ProcessLink[];\n}\n\nexport {ProcessDefinitionResult};\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 './window.model';\nexport * from './bpmn.model';\nexport * from './process-management.model';\nexport * from './process.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 {HttpClient} from '@angular/common/http';\nimport {Injectable, Signal, signal} from '@angular/core';\nimport {\n BaseApiService,\n BuildingBlockProcessDefinitionWithLinksDto,\n ConfigService,\n ManagementContext,\n} from '@valtimo/shared';\nimport {BehaviorSubject, combineLatest, Observable, of, switchMap} from 'rxjs';\nimport {toObservable} from '@angular/core/rxjs-interop';\n\nimport {\n PROCESS_MANAGEMENT_ENDPOINTS,\n ProcessDefinitionResult,\n UpdateProcessDefinitionCaseDefinitionRequest,\n} from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ProcessManagementService extends BaseApiService {\n private readonly _definitionKey$ = new BehaviorSubject<string | null>(null);\n private readonly _versionTag$ = new BehaviorSubject<string | null>(null);\n\n private _$context = signal<ManagementContext>('independent');\n public set context(value: ManagementContext) {\n this._$context.set(value);\n }\n public get $context(): Signal<ManagementContext> {\n return this._$context.asReadonly();\n }\n\n public processes$: Observable<ProcessDefinitionResult[]> = combineLatest([\n this._definitionKey$,\n this._versionTag$,\n toObservable(this._$context),\n ]).pipe(\n switchMap(([definitionKey, versionTag, context]) => {\n if (context === 'independent') {\n return this.getUnlinkedProcesses();\n }\n if (!!definitionKey && !!versionTag) {\n return this.getProcesses(definitionKey, versionTag);\n }\n return of([]);\n })\n );\n\n constructor(\n protected readonly httpClient: HttpClient,\n protected readonly configService: ConfigService\n ) {\n super(httpClient, configService);\n }\n\n public setParams(key: string, versionTag: string): void {\n this._definitionKey$.next(key);\n this._versionTag$.next(versionTag);\n }\n\n public deleteProcess(processDefinitionKey: string): Observable<void> {\n return this.httpClient.delete<void>(\n this.getApiUrl(\n `${PROCESS_MANAGEMENT_ENDPOINTS[this._$context()]}/${this._definitionKey$.getValue()}/version/${this._versionTag$.getValue()}/process-definition/key/${processDefinitionKey}`\n )\n );\n }\n\n public deleteUnlinkedProcess(processDefinitionKey: string): Observable<void> {\n return this.httpClient.delete<void>(\n this.getApiUrl(\n `${PROCESS_MANAGEMENT_ENDPOINTS[this._$context()]}/key/${processDefinitionKey}`\n )\n );\n }\n\n public deployBpmn(bpmn: File): Observable<any> {\n const formData: FormData = new FormData();\n formData.append('file', bpmn);\n formData.append(\n 'processLinks',\n new Blob([JSON.stringify([].map(processLink => this.emptyStringToNull(processLink)))], {\n type: 'application/json',\n })\n );\n\n return this.httpClient.post<any>(\n this._$context() === 'case'\n ? this.getApiUrl(\n `${PROCESS_MANAGEMENT_ENDPOINTS[this._$context()]}/${this._definitionKey$.getValue()}/version/${this._versionTag$.getValue()}/process-definition`\n )\n : this.getApiUrl(`${PROCESS_MANAGEMENT_ENDPOINTS[this._$context()]}`),\n formData\n );\n }\n\n public getProcessDefinitionForCase(\n caseDefinitionKey: string,\n caseDefinitionVersionTag: string,\n processDefinitionKey: string\n ): Observable<ProcessDefinitionResult> {\n return this.httpClient.get<ProcessDefinitionResult>(\n this.getApiUrl(\n `${PROCESS_MANAGEMENT_ENDPOINTS[this._$context()]}/${caseDefinitionKey}/version/${caseDefinitionVersionTag}/process-definition/key/${processDefinitionKey}`\n )\n );\n }\n\n public getBuildingBlockProcessDefinition(\n key: string,\n versionTag: string,\n processDefinitionId: string\n ): Observable<BuildingBlockProcessDefinitionWithLinksDto> {\n return this.httpClient.get<BuildingBlockProcessDefinitionWithLinksDto>(\n this.getApiUrl(\n `management/v1/building-block/${key}/version/${versionTag}/process-definition/${processDefinitionId}`\n )\n );\n }\n\n public getUnlinkedProcessDefinitionsByKey(\n processDefinitionKey: string\n ): Observable<ProcessDefinitionResult[]> {\n return this.httpClient.get<ProcessDefinitionResult[]>(\n this.getApiUrl(\n `${PROCESS_MANAGEMENT_ENDPOINTS[this._$context()]}/key/${processDefinitionKey}`\n )\n );\n }\n\n public updateProcessDefinitionCaseDefinitionProperties(\n caseDefinitionKey: string,\n caseDefinitionVersionTag: string,\n processDefinitionId: string,\n body: UpdateProcessDefinitionCaseDefinitionRequest\n ): Observable<void> {\n return this.httpClient.put<void>(\n this.getApiUrl(\n `/management/v1/case-definition/${caseDefinitionKey}/version/${caseDefinitionVersionTag}/process/${processDefinitionId}/properties`\n ),\n body\n );\n }\n\n private getProcesses(\n definitionName: string,\n versionTag: string\n ): Observable<ProcessDefinitionResult[]> {\n return this.httpClient.get<ProcessDefinitionResult[]>(\n this.getApiUrl(\n `${PROCESS_MANAGEMENT_ENDPOINTS[this._$context()]}/${definitionName}/version/${versionTag}/process-definition`\n )\n );\n }\n\n private getUnlinkedProcesses(): Observable<ProcessDefinitionResult[]> {\n return this.httpClient.get<ProcessDefinitionResult[]>(\n this.getApiUrl(`${PROCESS_MANAGEMENT_ENDPOINTS[this._$context()]}`)\n );\n }\n\n private emptyStringToNull<T extends Record<string, any>>(object: T): T {\n if (object && typeof object === 'object') {\n Object.keys(object).forEach(key => {\n const typedKey = key as keyof T;\n const value = object[typedKey];\n if (typeof value === 'object' && value !== null) {\n this.emptyStringToNull(value);\n } else if (value === '') {\n object[typedKey] = null as any;\n }\n });\n }\n return object;\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 './process-management-editor.service';\nexport * from './process-management-state.service';\nexport * from './process-management.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\nconst mapActivityTypeToActivityListenerType = (activityType: string): string => {\n if (activityType === 'bpmn:UserTask') {\n return activityType + ':create';\n }\n\n return activityType + ':start';\n};\n\nexport {mapActivityTypeToActivityListenerType};\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 {ActivatedRoute} from '@angular/router';\nimport {ManagementContext} from '@valtimo/shared';\nimport {Observable} from 'rxjs';\nimport {distinctUntilChanged, map} from 'rxjs/operators';\n\nfunction getContextObservable(route: ActivatedRoute): Observable<ManagementContext | null> {\n return route.data.pipe(\n map(data => (data && (data['context'] as ManagementContext)) || null),\n distinctUntilChanged()\n );\n}\n\nexport {getContextObservable};\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 {BreadcrumbService} from '@valtimo/components';\nimport {TranslateService} from '@ngx-translate/core';\nimport {\n BuildingBlockManagementParams,\n CaseManagementParams,\n ManagementContext,\n ProcessDefinitionWithPropertiesDto,\n} from '@valtimo/shared';\nimport Modeler from 'bpmn-js/lib/Modeler';\nimport NavigatedViewer from 'bpmn-js/lib/NavigatedViewer';\nimport {is} from 'bpmn-js/lib/util/ModelUtil';\n\nconst getLatestProcessDefinition = (\n processDefinitions: ProcessDefinitionWithPropertiesDto[]\n): ProcessDefinitionWithPropertiesDto | null => {\n if (!processDefinitions || processDefinitions.length === 0) return null;\n\n return processDefinitions.reduce((acc, version) =>\n version.version > acc.version ? version : acc\n );\n};\n\nconst initBreadcrumbsForContext = (\n breadcrumbService: BreadcrumbService,\n translateService: TranslateService,\n params: CaseManagementParams | BuildingBlockManagementParams,\n context: ManagementContext\n): void => {\n if (!params) return;\n\n if (context === 'case') {\n const caseParams = params as CaseManagementParams;\n const route = `/case-management/case/${caseParams.caseDefinitionKey}/version/${caseParams.caseDefinitionVersionTag}`;\n\n breadcrumbService.setThirdBreadcrumb({\n route: [route],\n content: `${caseParams.caseDefinitionKey} (${caseParams.caseDefinitionVersionTag})`,\n href: route,\n });\n\n const routeWithProcesses = `${route}/processes`;\n\n breadcrumbService.setFourthBreadcrumb({\n route: [routeWithProcesses],\n content: translateService.instant('caseManagement.tabs.processes'),\n href: routeWithProcesses,\n });\n }\n\n if (context === 'buildingBlock') {\n const bbParams = params as BuildingBlockManagementParams;\n const route = `/building-block-management/building-block/${bbParams.buildingBlockDefinitionKey}/version/${bbParams.buildingBlockDefinitionVersionTag}`;\n const generalRoute = `${route}/general`;\n\n breadcrumbService.setThirdBreadcrumb({\n route: [generalRoute],\n content: `${bbParams.buildingBlockDefinitionKey} (${bbParams.buildingBlockDefinitionVersionTag})`,\n href: generalRoute,\n });\n\n const processRoute = `${route}/process-definition`;\n\n breadcrumbService.setFourthBreadcrumb({\n route: [processRoute],\n content: translateService.instant('buildingBlockManagement.tabs.processes'),\n href: processRoute,\n });\n }\n};\n\nconst DisableBpmnWriteModule = {\n paletteProvider: ['value', {}],\n contextPadProvider: ['value', {}],\n directEditing: [\n 'value',\n {\n registerProvider: () => {},\n activate: () => {},\n deactivate: () => {},\n isActive: () => false,\n },\n ],\n move: ['value', null],\n resizeHandles: ['value', {addResizer: () => {}, removeResizers: () => {}}],\n};\n\nconst disableCommands = (editor: Modeler | NavigatedViewer): void => {\n const commandStack = (editor as any).get('commandStack') as any;\n const originalExecute = commandStack?.execute?.bind(commandStack);\n\n if (commandStack?.execute) {\n commandStack.execute = (command: string, context: any) => {\n if (\n command === 'elements.delete' ||\n command === 'elements.copy' ||\n command === 'elements.paste' ||\n command === 'elements.create'\n ) {\n return;\n }\n originalExecute(command, context);\n };\n }\n};\n\nconst applyBuildingBlockCalledElement = (\n editor: Modeler | NavigatedViewer,\n activityId: string,\n mainProcessDefinitionKey: string,\n versionTag: string\n): void => {\n if (!editor) return;\n\n const elementRegistry = (editor as any).get('elementRegistry') as any;\n const modeling = (editor as any).get('modeling') as any;\n const moddle = (editor as any).get('moddle') as any;\n\n const element = elementRegistry.get(activityId);\n\n if (!element || !is(element, 'bpmn:CallActivity')) {\n return;\n }\n\n modeling.updateProperties(element, {\n calledElement: mainProcessDefinitionKey,\n 'camunda:calledElementBinding': 'versionTag',\n 'camunda:calledElementVersionTag': versionTag,\n 'camunda:calledElementType': 'BPMN',\n });\n\n let extensionElements = element.businessObject.extensionElements;\n\n if (!extensionElements) {\n extensionElements = moddle.create('bpmn:ExtensionElements', {values: []});\n modeling.updateProperties(element, {\n extensionElements,\n });\n }\n\n extensionElements.values = (extensionElements.values || []).filter(\n (val: any) => !(val.$type === 'camunda:In' && val.businessKey)\n );\n\n const inWithBusinessKey = moddle.create('camunda:In', {\n businessKey: '#{buildingBlockDocumentId}',\n });\n\n extensionElements.values.push(inWithBusinessKey);\n\n modeling.updateProperties(element, {\n extensionElements,\n });\n};\n\nconst clearBuildingBlockCalledElement = (\n editor: Modeler | NavigatedViewer,\n activityId: string\n): void => {\n const localEditor = editor as any;\n if (!localEditor) return;\n\n const elementRegistry = localEditor.get('elementRegistry') as any;\n const modeling = localEditor.get('modeling') as any;\n\n const element = elementRegistry.get(activityId);\n if (!element || !is(element, 'bpmn:CallActivity')) return;\n\n const bo = element.businessObject;\n const versionTag = bo.get('camunda:calledElementVersionTag');\n\n if (!versionTag || !versionTag.startsWith('BB:')) return;\n\n const props: any = {\n calledElement: undefined,\n 'camunda:calledElementBinding': undefined,\n 'camunda:calledElementVersionTag': undefined,\n 'camunda:calledElementType': undefined,\n };\n\n const extensionElements = bo.extensionElements;\n if (extensionElements && Array.isArray(extensionElements.values)) {\n // Keep all elements except camunda:In with businessKey (building block mapping)\n extensionElements.values = extensionElements.values.filter(\n (val: any) => val.$type !== 'camunda:In' || !val.businessKey\n );\n\n if (extensionElements.values.length === 0) {\n props.extensionElements = undefined;\n } else {\n props.extensionElements = extensionElements;\n }\n }\n\n modeling.updateProperties(element, props);\n\n const attrs = bo.$attrs || {};\n\n Object.keys(attrs).forEach(key => {\n if (key.startsWith('camunda:calledElement')) delete attrs[key];\n if (key === 'calledElement') delete attrs[key];\n });\n};\n\nexport {\n getLatestProcessDefinition,\n initBreadcrumbsForContext,\n DisableBpmnWriteModule,\n disableCommands,\n applyBuildingBlockCalledElement,\n clearBuildingBlockCalledElement,\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 './bpmn.utils';\nexport * from './process-management.utils';\nexport * from './process-management-builder.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 {useService} from 'bpmn-js-properties-panel';\nimport {html} from 'htm/preact';\nimport {is} from 'bpmn-js/lib/util/ModelUtil';\nimport {ProcessManagementEditorService} from '../../../services';\nimport {BpmnElement, OpenProcessLinkModalEvent, ProcessManagementWindow} from '../../../models';\nimport {ModalParams, ProcessLink} from '@valtimo/process-link';\nimport {TranslateService} from '@ngx-translate/core';\nimport {mapActivityTypeToActivityListenerType} from '../../../utils';\nimport {VNode} from 'preact';\nimport {PluginTranslationService} from '@valtimo/plugin';\n\nclass ValtimoPropertiesProvider {\n static $inject = ['propertiesPanel', 'translate'];\n\n private get processManagementEditorService(): ProcessManagementEditorService {\n return (window as any as ProcessManagementWindow).processManagementEditorService;\n }\n\n private get translateService(): TranslateService {\n return (window as any as ProcessManagementWindow).translateService;\n }\n\n private get pluginTranslationService(): PluginTranslationService {\n return (window as any as ProcessManagementWindow).pluginTranslationService;\n }\n\n constructor(propertiesPanel: any) {\n propertiesPanel.registerProvider(500, this);\n }\n\n private addAsSecondOrFirst<T>(arr: T[], element: T): T[] {\n if (arr.length === 0) {\n arr.push(element);\n } else {\n arr.splice(1, 0, element);\n }\n return arr;\n }\n\n public getGroups(element: BpmnElement): (groups: any[]) => any[] {\n const processLink: ProcessLink | null =\n this.processManagementEditorService.processLinksForSelectedDefinition.find(\n processLink => processLink.activityId === element.id\n ) || null;\n\n return (groups: any[]) => {\n if (\n is(element, 'bpmn:UserTask') ||\n is(element, 'bpmn:StartEvent') ||\n is(element, 'bpmn:ServiceTask') ||\n is(element, 'bpmn:CallActivity')\n ) {\n const customGroup = {\n id: 'customRootGroup',\n label: 'Process link',\n entries: [this.createCustomRootElement(element, processLink)],\n groupType: 'root',\n };\n this.addAsSecondOrFirst(groups, customGroup);\n }\n return groups;\n };\n }\n\n public createCustomRootElement(element: any, processLink: ProcessLink | null): any {\n return {\n translateService: this.translateService,\n processManagementEditorService: this.processManagementEditorService,\n pluginTranslationService: this.pluginTranslationService,\n id: 'customRootElement',\n processLink,\n element,\n component: CustomRootElement,\n isEdited: () => false,\n };\n }\n}\n\nconst CustomRootElement = (props: {\n translateService: TranslateService;\n processManagementEditorService: ProcessManagementEditorService;\n pluginTranslationService: PluginTranslationService;\n id: string;\n processLink: ProcessLink;\n element: BpmnElement;\n}): VNode => {\n const {\n element,\n processLink,\n translateService,\n processManagementEditorService,\n pluginTranslationService,\n } = props;\n const modeling = useService('modeling');\n const elementRegistry = useService('elementRegistry');\n const editProcessLinkText = translateService.instant('interface.edit');\n const unlinkText = translateService.instant('processLink.unlink');\n const createText = translateService.instant('processLink.create');\n\n const getModalParams = (): ModalParams => {\n const currentElement = elementRegistry.get(element.id) || element;\n return {\n processDefinitionKey: processManagementEditorService.selectionProcessDefinition?.key,\n processDefinitionId: processManagementEditorService.selectionProcessDefinition?.id,\n element: {\n id: currentElement.id,\n type: currentElement.type,\n activityListenerType: mapActivityTypeToActivityListenerType(currentElement.type),\n name: currentElement.di?.bpmnElement?.name,\n },\n };\n };\n\n const handleCreateClick = (): void => {\n const event: OpenProcessLinkModalEvent = {\n modalParams: getModalParams(),\n };\n\n processManagementEditorService.sendOpenProcessLinkModalEvent(event, () => {\n // Defer to avoid calling modeling.updateProperties during command stack execute/revert phase\n setTimeout(() => modeling.updateProperties(element, {}), 0);\n });\n };\n\n const handleEditClick = (): void => {\n const event: OpenProcessLinkModalEvent = {\n processLink,\n modalParams: getModalParams(),\n };\n\n processManagementEditorService.sendOpenProcessLinkModalEvent(event, () => {\n // Defer to avoid calling modeling.updateProperties during command stack execute/revert phase\n setTimeout(() => modeling.updateProperties(element, {}), 0);\n });\n };\n\n const handleUnlinkClick = (): void => {\n processManagementEditorService.sendDeleteProcessLinkEvent(\n {activityId: processLink.activityId},\n () => {\n // Defer to avoid calling modeling.updateProperties during command stack execute/revert phase\n setTimeout(() => modeling.updateProperties(element, {}), 0);\n }\n );\n };\n\n const processLinkFormDefinitionId = processLink?.formDefinitionId;\n const processLinkFormDefinitionName = processManagementEditorService.formDefinitionOptions.find(\n option => option.id === processLinkFormDefinitionId\n )?.name;\n\n if (processLinkFormDefinitionName) {\n return html`<div class=\"process-link-properties-panel\">\n <div class=\"process-link-properties-panel__header\">\n <span class=\"process-link-properties-panel__title\">${processLinkFormDefinitionName}</span>\n\n <cds-tag\n class=\"cds--tag cds--tag--blue cds--tag--md cds--layout--size-md cds-tag--no-margin\"\n ><span class=\"cds--tag__label\">\n ${translateService.instant('processLinkType.form')}\n </span>\n </cds-tag>\n </div>\n\n <div class=\"process-link-properties-panel__buttons\">\n <button\n class=\"cds--btn cds--btn--danger cds--btn--sm cds--layout--side-md\"\n onClick=${handleUnlinkClick}\n >\n ${unlinkText}\n </button>\n\n <button\n class=\"cds--btn cds--btn--primary cds--btn--sm cds--layout--size-md\"\n onClick=${handleEditClick}\n >\n ${editProcessLinkText}\n </button>\n </div>\n </div>`;\n }\n\n const processLinkFormFlowDefinitionKey = processLink?.formFlowDefinitionKey;\n\n if (processLinkFormFlowDefinitionKey) {\n return html`<div class=\"process-link-properties-panel\">\n <div class=\"process-link-properties-panel__header\">\n <span class=\"process-link-properties-panel__title\"\n >${processLinkFormFlowDefinitionKey}</span\n >\n\n <cds-tag\n class=\"cds--tag cds--tag--teal cds--tag--md cds--layout--size-md cds-tag--no-margin\"\n ><span class=\"cds--tag__label\">\n ${translateService.instant('processLinkType.form-flow')}\n </span>\n </cds-tag>\n </div>\n\n <div class=\"process-link-properties-panel__buttons\">\n <button\n class=\"cds--btn cds--btn--danger cds--btn--sm cds--layout--side-md\"\n onClick=${handleUnlinkClick}\n >\n ${unlinkText}\n </button>\n\n <button\n class=\"cds--btn cds--btn--primary cds--btn--sm cds--layout--size-md\"\n onClick=${handleEditClick}\n >\n ${editProcessLinkText}\n </button>\n </div>\n </div>`;\n }\n\n const buildingBlockDefinitionKey = processLink?.buildingBlockDefinitionKey;\n const buildingBlockDefinitionVersion = processLink?.buildingBlockDefinitionVersionTag;\n\n if (buildingBlockDefinitionKey) {\n return html`<div class=\"process-link-properties-panel\">\n <div class=\"process-link-properties-panel__header\">\n <span class=\"process-link-properties-panel__title\"\n >${buildingBlockDefinitionKey} (${buildingBlockDefinitionVersion})</span\n >\n\n <cds-tag\n class=\"cds--tag cds--tag--green cds--tag--md cds--layout--size-md cds-tag--no-margin\"\n ><span class=\"cds--tag__label\">\n ${translateService.instant('processLinkType.building-block')}\n </span>\n </cds-tag>\n </div>\n\n <div class=\"process-link-properties-panel__buttons\">\n <button\n class=\"cds--btn cds--btn--danger cds--btn--sm cds--layout--side-md\"\n onClick=${handleUnlinkClick}\n >\n ${unlinkText}\n </button>\n\n <button\n class=\"cds--btn cds--btn--primary cds--btn--sm cds--layout--size-md\"\n onClick=${handleEditClick}\n >\n ${editProcessLinkText}\n </button>\n </div>\n </div>`;\n }\n\n const pluginActionKey = processLink?.pluginActionDefinitionKey;\n const pluginActionTranslation =\n pluginTranslationService.instantByPluginActionKey(pluginActionKey);\n const pluginTitleTranslation =\n pluginTranslationService.instantPluginTitleByPluginActionKey(pluginActionKey);\n\n if (pluginActionKey) {\n return html`<div class=\"process-link-properties-panel\">\n <div class=\"process-link-properties-panel__header\">\n <span class=\"process-link-properties-panel__title-container\">\n <span class=\"process-link-properties-panel__title\">${pluginTitleTranslation}</span>\n\n <span class=\"process-link-properties-panel__title\">${pluginActionTranslation}</span>\n </span>\n\n <cds-tag\n class=\"cds--tag cds--tag--purple cds--tag--md cds--layout--size-md cds-tag--no-margin\"\n ><span class=\"cds--tag__label\">\n ${translateService.instant('processLinkType.plugin')}\n </span>\n </cds-tag>\n </div>\n\n <div class=\"process-link-properties-panel__buttons\">\n <button\n class=\"cds--btn cds--btn--danger cds--btn--sm cds--layout--side-md\"\n onClick=${handleUnlinkClick}\n >\n ${unlinkText}\n </button>\n\n <button\n class=\"cds--btn cds--btn--primary cds--btn--sm cds--layout--size-md\"\n onClick=${handleEditClick}\n >\n ${editProcessLinkText}\n </button>\n </div>\n </div>`;\n }\n\n const uiComponentKey = processLink?.componentKey;\n\n if (uiComponentKey) {\n return html`<div class=\"process-link-properties-panel\">\n <div class=\"process-link-properties-panel__header\">\n <span class=\"process-link-properties-panel__title\">${uiComponentKey}</span>\n\n <cds-tag\n class=\"cds--tag cds--tag--magenta cds--tag--md cds--layout--size-md cds-tag--no-margin\"\n ><span class=\"cds--tag__label\">\n ${translateService.instant('processLinkType.ui-component')}\n </span>\n </cds-tag>\n </div>\n\n <div class=\"process-link-properties-panel__buttons\">\n <button\n class=\"cds--btn cds--btn--danger cds--btn--sm cds--layout--side-md\"\n onClick=${handleUnlinkClick}\n >\n ${unlinkText}\n </button>\n\n <button\n class=\"cds--btn cds--btn--primary cds--btn--sm cds--layout--size-md\"\n onClick=${handleEditClick}\n >\n ${editProcessLinkText}\n </button>\n </div>\n </div>`;\n }\n\n const genericLinkedPanel = html`<div class=\"process-link-properties-panel\">\n <div class=\"process-link-properties-panel__buttons\">\n <button\n class=\"cds--btn cds--btn--danger cds--btn--sm cds--layout--side-md\"\n onClick=${handleUnlinkClick}\n >\n ${unlinkText}\n </button>\n\n <button\n class=\"cds--btn cds--btn--primary cds--btn--sm cds--layout--size-md\"\n onClick=${handleEditClick}\n >\n ${editProcessLinkText}\n </button>\n </div>\n </div>`;\n\n const genericCreatePanel = html`<div class=\"process-link-properties-panel\">\n <div class=\"process-link-properties-panel__buttons\">\n <button\n class=\"cds--btn cds--btn--primary cds--btn--sm cds--layout--size-md\"\n onClick=${handleCreateClick}\n >\n ${createText}\n </button>\n </div>\n </div>`;\n\n return processLink ? genericLinkedPanel : genericCreatePanel;\n};\n\nconst ValtimoPropertiesProviderModule = {\n __init__: ['customPropertiesProvider'],\n customPropertiesProvider: ['type', ValtimoPropertiesProvider],\n};\n\nexport {ValtimoPropertiesProviderModule};\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 './valtimo-properties-provider';\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 {CommonModule} from '@angular/common';\nimport {\n AfterViewInit,\n Component,\n computed,\n ElementRef,\n OnDestroy,\n Signal,\n ViewChild,\n} from '@angular/core';\nimport {ReactiveFormsModule} from '@angular/forms';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {TranslateModule, TranslateService} from '@ngx-translate/core';\nimport {\n BreadcrumbService,\n FitPageDirective,\n ModalService,\n PageHeaderService,\n PageTitleService,\n RenderInPageHeaderDirective,\n} from '@valtimo/components';\nimport {\n BuildingBlockManagementParams,\n BuildingBlockProcessDefinitionWithLinksDto,\n CaseManagementParams,\n EditPermissionsService,\n getBuildingBlockManagementRouteParams,\n getCaseManagementRouteParams,\n GlobalNotificationService,\n ManagementContext,\n ProcessDefinitionWithPropertiesDto,\n} from '@valtimo/shared';\nimport {ProcessService} from '@valtimo/process';\nimport {\n BuildingBlockProcessLinkCreateDto,\n BuildingBlockProcessLinkUpdateDto,\n ProcessLinkBuildingBlockApiService,\n ProcessLinkButtonService,\n ProcessLinkCreateEvent,\n ProcessLinkModule,\n ProcessLinkService,\n ProcessLinkStateService,\n ProcessLinkStepService,\n} from '@valtimo/process-link';\nimport {\n BpmnPropertiesPanelModule,\n BpmnPropertiesProviderModule,\n CamundaPlatformPropertiesProviderModule,\n} from 'bpmn-js-properties-panel';\nimport Modeler from 'bpmn-js/lib/Modeler';\nimport NavigatedViewer from 'bpmn-js/lib/NavigatedViewer';\nimport camundaPlatformBehaviors from 'camunda-bpmn-js-behaviors/lib/camunda-platform';\nimport CamundaBpmnModdle from 'camunda-bpmn-moddle/resources/camunda.json';\nimport {\n ButtonModule,\n DialogModule,\n DropdownModule,\n IconModule,\n IconService,\n ListItem,\n LoadingModule,\n SelectModule,\n TagModule,\n ToggleModule,\n TooltipModule,\n} from 'carbon-components-angular';\nimport {isEqual} from 'lodash';\nimport {NGXLogger} from 'ngx-logger';\nimport {\n BehaviorSubject,\n combineLatest,\n filter,\n from,\n map,\n merge,\n Observable,\n of,\n startWith,\n Subject,\n Subscription,\n switchMap,\n take,\n tap,\n} from 'rxjs';\nimport {distinctUntilChanged} from 'rxjs/operators';\nimport {EMPTY_BPMN} from '../../constants';\nimport {\n OpenProcessLinkModalEvent,\n ProcessDefinitionResult,\n ProcessManagementWindow,\n UpdateProcessDefinitionCaseDefinitionRequest,\n} from '../../models';\nimport {ProcessManagementEditorService, ProcessManagementService} from '../../services';\nimport {\n applyBuildingBlockCalledElement,\n clearBuildingBlockCalledElement,\n DisableBpmnWriteModule,\n disableCommands,\n getContextObservable,\n getLatestProcessDefinition,\n initBreadcrumbsForContext,\n} from '../../utils';\nimport {ValtimoPropertiesProviderModule} from './panel';\nimport {PluginTranslationService} from '@valtimo/plugin';\n\n@Component({\n selector: 'valtimo-process-management-builder',\n templateUrl: './process-management-builder.component.html',\n styleUrls: ['./process-management-builder.component.scss'],\n standalone: true,\n imports: [\n CommonModule,\n FitPageDirective,\n LoadingModule,\n RenderInPageHeaderDirective,\n DropdownModule,\n ReactiveFormsModule,\n SelectModule,\n ButtonModule,\n IconModule,\n TranslateModule,\n TagModule,\n ProcessLinkModule,\n ProcessLinkModule,\n DialogModule,\n ToggleModule,\n TooltipModule,\n ],\n providers: [\n ProcessManagementEditorService,\n ProcessLinkStateService,\n ProcessLinkStepService,\n ProcessLinkButtonService,\n ],\n})\nexport class ProcessManagementBuilderComponent implements AfterViewInit, OnDestroy {\n @ViewChild('modeler', {static: false}) modelerElementRef!: ElementRef;\n @ViewChild('modelerPanel', {static: false}) modelerPanelElementRef!: ElementRef;\n @ViewChild('viewer', {static: false}) viewerElementRef!: ElementRef;\n @ViewChild('viewerPanel', {static: false}) viewerPanelElementRef!: ElementRef;\n\n private readonly _selectedProcess$ = new BehaviorSubject<\n ProcessDefinitionResult | BuildingBlockProcessDefinitionWithLinksDto | 'create' | null\n >(null);\n\n public readonly loading$ = new BehaviorSubject<boolean>(true);\n\n private _bpmnModeler!: Modeler;\n private _bpmnViewer!: NavigatedViewer;\n\n public readonly isReadOnlyProcess$ = new BehaviorSubject<boolean>(false);\n public readonly isSystemProcess$ = new BehaviorSubject<boolean>(false);\n\n public readonly canInitializeDocument$ = new BehaviorSubject<boolean>(false);\n public readonly startableByUser$ = new BehaviorSubject<boolean>(false);\n\n public readonly selectedProcessDefinitionXml$ =\n this.processManagementEditorService.selectionProcessDefinition$.pipe(\n filter(selectedProcessDefinition => !!selectedProcessDefinition?.id),\n distinctUntilChanged((previous, current) => isEqual(previous, current)),\n tap(selectedProcessDefinition => {\n this.loading$.next(true);\n this.pageTitleService.setCustomPageTitle(selectedProcessDefinition?.name || '-');\n }),\n switchMap(selectedProcessDefinition =>\n this.processService.getProcessDefinitionXml(selectedProcessDefinition.id)\n ),\n tap(result => {\n this.cleanUpListenersOnModeler();\n this._bpmnModeler?.importXML(result.bpmn20Xml);\n this._bpmnViewer?.importXML(result.bpmn20Xml);\n this.isReadOnlyProcess$.next(result.readOnly);\n this.isSystemProcess$.next(result.systemProcess);\n this.loading$.next(false);\n })\n );\n\n public readonly changesPending$ = new BehaviorSubject<boolean>(false);\n\n public readonly editParam$: Observable<string | 'create' | null> = this.route.url.pipe(\n map(segments => {\n const lastSegment = segments[segments.length - 1]?.path;\n if (lastSegment === 'create') {\n return 'create';\n }\n const param = this.route.snapshot.paramMap.get('processDefinitionKey');\n const idParam = this.route.snapshot.paramMap.get('processDefinitionId');\n return param || idParam || null;\n }),\n filter(editParam => !!editParam)\n );\n\n public readonly context$ = getContextObservable(this.route);\n\n public readonly managementParams$ = this.context$.pipe(\n filter(context => context === 'case' || context === 'buildingBlock'),\n switchMap(context =>\n context === 'case'\n ? getCaseManagementRouteParams(this.route)\n : getBuildingBlockManagementRouteParams(this.route)\n )\n );\n\n public readonly hasEditPermissions$: Observable<boolean> = this.context$.pipe(\n switchMap(context => {\n if (context === 'independent') {\n return of(true);\n }\n\n return this.managementParams$.pipe(\n switchMap(params =>\n this.editPermissionsService.hasPermissionsToEditBasedOnContext(params, context)\n )\n );\n })\n );\n\n private readonly _reload$ = new Subject<null>();\n\n public readonly processDefinitionVersions$: Observable<ProcessDefinitionWithPropertiesDto[]> =\n combineLatest([this.editParam$, this.context$, this._reload$.pipe(startWith(null))]).pipe(\n switchMap(([editParam, context]) =>\n context === 'independent'\n ? this.processManagementService.getUnlinkedProcessDefinitionsByKey(editParam)\n : of([] as ProcessDefinitionResult[])\n ),\n map(result => result.map(resultItem => resultItem.processDefinition)),\n tap(processDefinitions => {\n this.changesPending$.next(false);\n this.setSelectedProcessDefinitionToLatest(processDefinitions);\n })\n );\n\n public readonly processDefinitionVersionsListItems$: Observable<ListItem[]> = combineLatest([\n this.processDefinitionVersions$,\n this.processManagementEditorService.selectionProcessDefinition$,\n this.translateService.stream('key'),\n ]).pipe(\n map(([processDefinitionVersions, selectionProcessDefinition]) =>\n processDefinitionVersions\n .map(processDefinitionVersion => ({\n id: processDefinitionVersion.version,\n content: `${this.translateService.instant('processManagement.version')}${processDefinitionVersion.version}`,\n selected: selectionProcessDefinition.version === processDefinitionVersion.version,\n processDefinitionVersion,\n }))\n .sort((a, b) => b.id - a.id)\n )\n );\n\n public readonly compactMode$ = this.pageHeaderService.compactMode$;\n\n public readonly creatingNewProcess$ = new BehaviorSubject<boolean>(false);\n\n public readonly $spaceAdjustment: Signal<number> = computed(() =>\n this.processManagementService.$context() === 'case' ? 0 : 0\n );\n\n public readonly updatingProcessDefinitionCaseDefinition$ = new BehaviorSubject<boolean>(false);\n\n private readonly _subscriptions = new Subscription();\n\n constructor(\n private readonly breadcrumbService: BreadcrumbService,\n private readonly iconService: IconService,\n private readonly logger: NGXLogger,\n private readonly modalService: ModalService,\n private readonly notificationService: GlobalNotificationService,\n private readonly pageHeaderService: PageHeaderService,\n private readonly pageTitleService: PageTitleService,\n private readonly processLinkService: ProcessLinkService,\n private readonly processLinkStateService: ProcessLinkStateService,\n private readonly processManagementEditorService: ProcessManagementEditorService,\n private readonly processManagementService: ProcessManagementService,\n private readonly processService: ProcessService,\n private readonly route: ActivatedRoute,\n private readonly router: Router,\n private readonly translateService: TranslateService,\n private readonly pluginTranslationService: PluginTranslationService,\n private readonly editPermissionsService: EditPermissionsService,\n private readonly processLinkBuildingBlockApiService: ProcessLinkBuildingBlockApiService\n ) {\n this.setProcessManagementWindow();\n }\n\n public ngAfterViewInit(): void {\n this.pageTitleService.disableReset();\n this.openParamsAndContextSubscription();\n this.initModeler();\n this.initViewer();\n this.subscribeToOpenProcessLinkModalEvents();\n this.subscribeToProcessLinkUpdateEvents();\n this.subscribeToProcessLinkCreateEvents();\n this.subscribeToProcessLinkDeleteEvents();\n this.initEditing();\n }\n\n public ngOnDestroy(): void {\n this._bpmnModeler?.destroy();\n this._bpmnViewer?.destroy();\n this._subscriptions.unsubscribe();\n this.pageTitleService.enableReset();\n this.pageTitleService.clearPageActionsViewContainerRef();\n this.breadcrumbService.clearThirdBreadcrumb();\n this.breadcrumbService.clearFourthBreadcrumb();\n }\n\n public export(isReadOnlyProcess: boolean): void {\n (isReadOnlyProcess ? from(this._bpmnViewer.saveXML()) : from(this._bpmnModeler.saveXML()))\n .pipe(take(1))\n .subscribe(result => {\n const file = new Blob([result.xml ?? ''], {type: 'text/xml'});\n const link = document.createElement('a');\n link.download = 'diagram.bpmn';\n link.href = window.URL.createObjectURL(file);\n link.click();\n window.URL.revokeObjectURL(link.href);\n link.remove();\n });\n }\n\n public deployChanges(isReadOnlyProcess: boolean): void {\n combineLatest([\n from(isReadOnlyProcess ? this._bpmnViewer.saveXML() : this._bpmnModeler.saveXML()),\n this.processManagementEditorService.processLinksForSelectedDefinition$,\n this.processManagementEditorService.selectionProcessDefinition$,\n this.context$,\n this.managementParams$.pipe(startWith(null)),\n ])\n .pipe(\n take(1),\n switchMap(([result, processLinks, selectedProcessDefinition, context, params]) => {\n if (context === 'case') {\n const caseManagementParams = params as CaseManagementParams;\n\n return this.processLinkService.deployProcessWithProcessLinksForCase(\n processLinks as ProcessLinkCreateEvent[],\n selectedProcessDefinition.id,\n !isReadOnlyProcess ? (result?.xml ?? '') : null,\n caseManagementParams?.caseDefinitionKey ?? '',\n caseManagementParams?.caseDefinitionVersionTag ?? '',\n this.canInitializeDocument$.getValue(),\n this.startableByUser$.getValue()\n );\n }\n\n if (context === 'buildingBlock') {\n const buildingBlockManagementParams = params as BuildingBlockManagementParams;\n\n return this.processLinkService.deployProcessWithProcessLinksForBuildingBlock(\n processLinks as ProcessLinkCreateEvent[],\n selectedProcessDefinition.id,\n result?.xml,\n buildingBlockManagementParams.buildingBlockDefinitionKey,\n buildingBlockManagementParams.buildingBlockDefinitionVersionTag\n );\n }\n\n return this.processLinkService.deployProcessWithProcessLinks(\n processLinks as ProcessLinkCreateEvent[],\n selectedProcessDefinition.id,\n !isReadOnlyProcess ? (result?.xml ?? '') : null\n );\n }),\n switchMap(() => this.context$)\n )\n .subscribe({\n next: context => {\n if (context === 'independent') {\n this.reload();\n this.showNotification('success');\n } else {\n this.navigateBack('success');\n }\n },\n error: () => {\n this.showNotification('error');\n },\n });\n }\n\n public deployNewProcessDefinition(): void {\n combineLatest([\n from(this._bpmnModeler.saveXML()),\n this.processManagementEditorService.processLinksForSelectedDefinition$,\n this.context$,\n this.managementParams$.pipe(startWith(null)),\n ])\n .pipe(\n take(1),\n switchMap(([result, processLinks, context, params]) => {\n const mappedProcessLinks = processLinks.map(link => ({\n ...link,\n processDefinitionId: '-',\n })) as ProcessLinkCreateEvent[];\n\n switch (context) {\n case 'independent':\n return this.processLinkService.deployProcessWithProcessLinks(\n mappedProcessLinks,\n null,\n result.xml ?? ''\n );\n case 'buildingBlock':\n const buildingBlockParams = params as BuildingBlockManagementParams;\n return this.processLinkService.deployProcessWithProcessLinksForBuildingBlock(\n mappedProcessLinks,\n null,\n result.xml ?? '',\n buildingBlockParams.buildingBlockDefinitionKey,\n buildingBlockParams.buildingBlockDefinitionVersionTag\n );\n case 'case':\n const caseManagementParams = params as CaseManagementParams;\n return this.processLinkService.deployProcessWithProcessLinksForCase(\n mappedProcessLinks,\n null,\n result.xml ?? '',\n caseManagementParams.caseDefinitionKey,\n caseManagementParams.caseDefinitionVersionTag,\n this.canInitializeDocument$.getValue(),\n this.startableByUser$.getValue()\n );\n }\n })\n )\n .subscribe({\n next: () => {\n this.navigateBack('success');\n },\n error: () => {\n this.showNotification('error');\n },\n });\n }\n\n public selectedVersionChange(event: {\n item: {processDefinitionVersion: ProcessDefinitionWithPropertiesDto};\n }): void {\n this.processManagementEditorService.selectionProcessDefinition$\n .pipe(take(1))\n .subscribe(selectedVersion => {\n if (selectedVersion.id !== event.item.processDefinitionVersion.id) {\n this.processManagementEditorService.setSelectedProcessDefinition(\n event?.item?.processDefinitionVersion\n );\n this.changesPending$.next(false);\n }\n });\n }\n\n public navigateBack(notification: null | 'success' | 'error'): void {\n this.router.navigate(['../'], {relativeTo: this.route});\n\n if (!notification) return;\n\n this.showNotification(notification);\n }\n\n public onProcessToggleChange(\n field: keyof UpdateProcessDefinitionCaseDefinitionRequest,\n value: boolean\n ): void {\n if (field === 'canInitializeDocument') this.canInitializeDocument$.next(value);\n if (field === 'startableByUser') this.startableByUser$.next(value);\n this.changesPending$.next(true);\n }\n\n private setProcessManagementWindow(): void {\n const processManagementWindow = window as any as ProcessManagementWindow;\n\n if (!processManagementWindow) return;\n\n processManagementWindow.processManagementEditorService = this.processManagementEditorService;\n processManagementWindow.translateService = this.translateService;\n processManagementWindow.pluginTranslationService = this.pluginTranslationService;\n }\n\n private showNotification(notification: null | 'success' | 'error'): void {\n this.notificationService.showToast({\n caption: this.translateService.instant(`processManagement.${notification}Notification`),\n type: notification,\n title: this.translateService.instant(`interface.${notification}`),\n });\n }\n\n private setSelectedProcessDefinitionToLatest(\n processDefinitions: ProcessDefinitionWithPropertiesDto[]\n ): void {\n const latest = getLatestProcessDefinition(processDefinitions);\n\n if (!latest) return;\n\n this.processManagementEditorService.setSelectedProcessDefinition(latest);\n }\n\n private initModeler(): void {\n this._bpmnModeler = new Modeler({\n additionalModules: [\n BpmnPropertiesPanelModule,\n BpmnPropertiesProviderModule,\n CamundaPlatformPropertiesProviderModule,\n camundaPlatformBehaviors,\n ValtimoPropertiesProviderModule,\n ],\n moddleExtensions: {camunda: CamundaBpmnModdle},\n propertiesPanel: {parent: this.modelerPanelElementRef.nativeElement},\n });\n\n this._bpmnModeler?.attachTo(this.modelerElementRef.nativeElement);\n\n this._bpmnModeler.on('commandStack.changed', () => {\n this.changesPending$.next(true);\n });\n\n this._bpmnModeler.on('import.done', () => {\n const idMap: Record<string, string> = {};\n const elementRegistry = this._bpmnModeler.get('elementRegistry') as any;\n\n elementRegistry.forEach((element: any) => {\n const activityId = element?.di?.id;\n const businessId = element?.id;\n\n if (!activityId || !businessId) return;\n\n idMap[activityId] = businessId;\n });\n\n this.processManagementEditorService.setActivityIdBusinessIdMap(idMap);\n this.listenToActivityChangesOnModeler();\n });\n }\n\n private initViewer(): void {\n this._bpmnViewer = new Modeler({\n additionalModules: [\n DisableBpmnWriteModule,\n BpmnPropertiesPanelModule,\n ValtimoPropertiesProviderModule,\n ],\n moddleExtensions: {camunda: CamundaBpmnModdle},\n propertiesPanel: {parent: this.viewerPanelElementRef.nativeElement},\n });\n\n this._bpmnViewer?.attachTo(this.viewerElementRef.nativeElement);\n\n this._bpmnViewer.on('commandStack.changed', () => {\n this.changesPending$.next(true);\n });\n\n this._bpmnViewer.on('import.done', () => {\n disableCommands(this._bpmnViewer);\n });\n }\n\n private reload(): void {\n this._reload$.next(null);\n }\n\n private handleUpdateEvent(event: OpenProcessLinkModalEvent): void {\n this.modalService.setModalData(event?.modalParams);\n this.processLinkStateService.setModalParams(event?.modalParams);\n this.processLinkStateService.setElementName(event?.modalParams?.element?.name ?? '');\n this.processLinkStateService.selectProcessLink(event.processLink);\n this.processLinkStateService.showModal();\n }\n\n private handleCreateEvent(event: OpenProcessLinkModalEvent): void {\n this.processLinkService\n .getProcessLinkCandidates(event.modalParams.element.activityListenerType ?? '')\n .subscribe(candidates => {\n this.modalService.setModalData(event?.modalParams);\n this.processLinkStateService.setModalParams(event?.modalParams);\n this.processLinkStateService.setElementName(event?.modalParams?.element?.name ?? '');\n this.processLinkStateService.setAvailableProcessLinkTypes(candidates);\n this.processLinkStateService.showModal();\n });\n }\n\n private subscribeToOpenProcessLinkModalEvents(): void {\n this._subscriptions.add(\n this.processManagementEditorService.openProcessLinkModalEvents$.subscribe(event => {\n if (event.processLink) {\n this.handleUpdateEvent(event);\n } else {\n this.handleCreateEvent(event);\n }\n })\n );\n }\n\n private subscribeToProcessLinkUpdateEvents(): void {\n this._subscriptions.add(\n this.processLinkStateService.processLinkUpdateEvents$.subscribe(event => {\n this.processManagementEditorService.updateProcessLink(event);\n this.processLinkStateService.stopSaving();\n this.processLinkStateService.closeModal();\n\n const buildingBlockProcessLinkUpdateDto = event as BuildingBlockProcessLinkUpdateDto;\n\n if (\n buildingBlockProcessLinkUpdateDto.buildingBlockDefinitionKey &&\n buildingBlockProcessLinkUpdateDto.buildingBlockDefinitionVersionTag\n ) {\n this.setCalledElementForBuildingBlockProcessLink(\n buildingBlockProcessLinkUpdateDto.activityId,\n buildingBlockProcessLinkUpdateDto.buildingBlockDefinitionKey,\n buildingBlockProcessLinkUpdateDto.buildingBlockDefinitionVersionTag\n );\n }\n })\n );\n }\n\n private subscribeToProcessLinkCreateEvents(): void {\n this._subscriptions.add(\n this.processLinkStateService.processLinkCreateEvents$.subscribe(event => {\n this.processManagementEditorService.createProcessLink(event);\n this.processLinkStateService.stopSaving();\n this.processLinkStateService.closeModal();\n\n const buildingBlockProcessLinkCreateDto = event as BuildingBlockProcessLinkCreateDto;\n\n if (\n buildingBlockProcessLinkCreateDto.buildingBlockDefinitionKey &&\n buildingBlockProcessLinkCreateDto.buildingBlockDefinitionVersionTag\n ) {\n this.setCalledElementForBuildingBlockProcessLink(\n buildingBlockProcessLinkCreateDto.activityId,\n buildingBlockProcessLinkCreateDto.buildingBlockDefinitionKey,\n buildingBlockProcessLinkCreateDto.buildingBlockDefinitionVersionTag\n );\n }\n })\n );\n }\n\n private subscribeToProcessLinkDeleteEvents(): void {\n this._subscriptions.add(\n merge(\n this.processManagementEditorService.deleteProcessLinkEvents$,\n this.processLinkStateService.processLinkDeleteEvents$\n ).subscribe(event => {\n this.processManagementEditorService.deleteProcessLink(event);\n this.processLinkStateService.stopSaving();\n this.processLinkStateService.closeModal();\n\n this.unsetCalledElementForBuildingBlockProcessLink(event.activityId);\n })\n );\n }\n\n private initIfCreate(): void {\n if (this._selectedProcess$.getValue() !== 'create') return;\n\n this.creatingNewProcess$.next(true);\n this._bpmnModeler?.importXML(EMPTY_BPMN);\n this.isReadOnlyProcess$.next(false);\n this.isSystemProcess$.next(false);\n this.loading$.next(false);\n }\n\n private shapeAddedHandler = (event: any): void => {\n this.logger.debug('Shape added:', event);\n };\n\n private shapeRemovedHandler = (event: any): void => {\n this.logger.debug('Shape removed:', event);\n\n const activityId = event?.element?.id;\n\n if (!activityId) return;\n\n this.processManagementEditorService.deleteProcessLink({activityId});\n };\n\n private elementChangedHandler = (event: any): void => {\n this.logger.debug('Element changed:', event);\n\n const activityId = event?.element?.di?.id;\n const businessId = event?.element?.id;\n\n if (!activityId || !businessId) return;\n\n this.processManagementEditorService.updateProcessLinksOnIdChange(activityId, businessId);\n };\n\n private listenToActivityChangesOnModeler(): void {\n const eventBus = this._bpmnModeler.get('eventBus') as any;\n\n if (!eventBus) return;\n\n eventBus.on('shape.added', this.shapeAddedHandler);\n eventBus.on('shape.removed', this.shapeRemovedHandler);\n eventBus.on('element.changed', this.elementChangedHandler);\n }\n\n private cleanUpListenersOnModeler(): void {\n const eventBus = this._bpmnModeler.get('eventBus') as any;\n\n if (!eventBus) return;\n\n eventBus.off('shape.added', this.shapeAddedHandler);\n eventBus.off('shape.removed', this.shapeRemovedHandler);\n eventBus.off('element.changed', this.elementChangedHandler);\n }\n\n private initProcessDefinition(): void {\n this._subscriptions.add(\n this._selectedProcess$\n .pipe(\n filter(selectedProcess => selectedProcess !== null && selectedProcess !== 'create'),\n distinctUntilChanged((previous, current) => isEqual(previous, current)),\n tap(() => this.loading$.next(true))\n )\n .subscribe(result => {\n const processDefinitionResult = result as ProcessDefinitionResult;\n\n this.cleanUpListenersOnModeler();\n\n this._bpmnModeler?.importXML(processDefinitionResult.bpmn20Xml);\n this._bpmnViewer?.importXML(processDefinitionResult.bpmn20Xml);\n\n this.canInitializeDocument$.next(\n !!processDefinitionResult?.processCaseLink?.canInitializeDocument\n );\n this.startableByUser$.next(!!processDefinitionResult?.processCaseLink?.startableByUser);\n\n this.loading$.next(false);\n })\n );\n }\n\n private openParamsAndContextSubscription(): void {\n this._subscriptions.add(\n combineLatest([\n getContextObservable(this.route),\n getCaseManagementRouteParams(this.route),\n getBuildingBlockManagementRouteParams(this.route),\n ]).subscribe(([context, caseManagementParams, buildingBlockManagementParams]) => {\n if (context) this.processManagementService.context = context;\n\n this.processLinkStateService.setContext(context);\n\n if (caseManagementParams) {\n this.processManagementService.setParams(\n caseManagementParams.caseDefinitionKey,\n caseManagementParams.caseDefinitionVersionTag\n );\n }\n\n if (buildingBlockManagementParams) {\n this.processManagementService.setParams(\n buildingBlockManagementParams.buildingBlockDefinitionKey,\n buildingBlockManagementParams.buildingBlockDefinitionVersionTag\n );\n }\n\n initBreadcrumbsForContext(\n this.breadcrumbService,\n this.translateService,\n caseManagementParams || buildingBlockManagementParams,\n context as ManagementContext\n );\n\n this.processManagementEditorService.setManagementRouteParams(\n context,\n caseManagementParams || buildingBlockManagementParams\n );\n })\n );\n }\n\n private initEditing(): void {\n combineLatest([this.editParam$, this.managementParams$.pipe(startWith(null)), this.context$])\n .pipe(\n take(1),\n switchMap(([editParam, params, context]) => {\n if (editParam === 'create') {\n this._selectedProcess$.next('create');\n this.initIfCreate();\n\n return of(null);\n }\n\n switch (context) {\n case 'case':\n const caseManagementParams = params as CaseManagementParams;\n return this.processManagementService.getProcessDefinitionForCase(\n caseManagementParams.caseDefinitionKey,\n caseManagementParams.caseDefinitionVersionTag,\n editParam\n );\n case 'independent':\n return this.processManagementService\n .getUnlinkedProcessDefinitionsByKey(editParam)\n .pipe(map(processDefinitionResults => processDefinitionResults[0]));\n case 'buildingBlock':\n const buildingBlockParams = params as BuildingBlockManagementParams;\n return this.processManagementService.getBuildingBlockProcessDefinition(\n buildingBlockParams.buildingBlockDefinitionKey,\n buildingBlockParams.buildingBlockDefinitionVersionTag,\n editParam\n );\n }\n }),\n tap(res => {\n if (res) {\n this._selectedProcess$.next(res);\n this.processManagementEditorService.setSelectedProcessDefinition(res.processDefinition);\n this.processManagementEditorService.setProcessLinksForSelectedDefinition(\n res.processLinks\n );\n this.pageTitleService.setCustomPageTitle(res.processDefinition.name || '-');\n }\n\n this.initProcessDefinition();\n })\n )\n .subscribe();\n }\n\n private setCalledElementForBuildingBlockProcessLink(\n activityId: string,\n buildingBlockDefinitionKey: string,\n buildingBlockDefinitionVersionTag: string\n ): void {\n const editor = this._bpmnModeler || this._bpmnViewer;\n\n if (!editor) {\n return;\n }\n\n this.processLinkBuildingBlockApiService\n .getMainProcessDefinitionKeyForBuildingBlock(\n buildingBlockDefinitionKey,\n buildingBlockDefinitionVersionTag\n )\n .subscribe({\n next: (mainProcessDefinitionKey: string) => {\n const versionTag = `BB:${buildingBlockDefinitionKey}:${buildingBlockDefinitionVersionTag}`;\n\n applyBuildingBlockCalledElement(editor, activityId, mainProcessDefinitionKey, versionTag);\n },\n });\n }\n\n private unsetCalledElementForBuildingBlockProcessLink(activityId: string): void {\n const editor = this._bpmnModeler || this._bpmnViewer;\n\n if (!editor) {\n return;\n }\n\n clearBuildingBlockCalledElement(editor, activityId);\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<div\n fitPage\n [spaceAdjustment]=\"$spaceAdjustment()\"\n [disableOverflow]=\"true\"\n *ngIf=\"{\n processDefinitionVersions: processDefinitionVersions$ | async,\n selectedProcessDefinitionXml: selectedProcessDefinitionXml$ | async,\n loading: loading$ | async,\n isReadOnlyProcess: isReadOnlyProcess$ | async,\n hasEditPermissions: hasEditPermissions$ | async,\n } as obs\"\n data-carbon-theme=\"g10\"\n class=\"bpmn__container\"\n>\n <div\n class=\"bpmn__modeler\"\n [style.display]=\"obs.isReadOnlyProcess || !obs.hasEditPermissions ? 'none' : 'flex'\"\n >\n <div class=\"bpmn__modeler-canvas\" #modeler></div>\n\n <div class=\"bpmn__modeler-panel\" #modelerPanel></div>\n </div>\n\n <div\n class=\"bpmn__modeler\"\n [style.display]=\"obs.isReadOnlyProcess || !obs.hasEditPermissions ? 'flex' : 'none'\"\n >\n <div class=\"bpmn__modeler-canvas\" #viewer></div>\n\n <div class=\"bpmn__modeler-panel\" #viewerPanel></div>\n </div>\n</div>\n\n<valtimo-process-link-modal></valtimo-process-link-modal>\n\n<ng-container renderInPageHeader [fullWidth]=\"true\">\n <ng-template>\n <div\n class=\"page-header-actions\"\n *ngIf=\"{\n processDefinitionVersionsListItems: processDefinitionVersionsListItems$ | async,\n loading: loading$ | async,\n changesPending: changesPending$ | async,\n isReadOnlyProcess: isReadOnlyProcess$ | async,\n isSystemProcess: isSystemProcess$ | async,\n compactMode: compactMode$ | async,\n creatingNewProcess: creatingNewProcess$ | async,\n context: context$ | async,\n hasEditPermissions: hasEditPermissions$ | async,\n canInitializeDocument: canInitializeDocument$ | async,\n startableByUser: startableByUser$ | async,\n updatingProcessDefinitionCaseDefinition: updatingProcessDefinitionCaseDefinition$ | async,\n } as actionsObs\"\n >\n <div class=\"page-header-actions__left-container\">\n <cds-dropdown\n *ngIf=\"!actionsObs.creatingNewProcess && actionsObs?.context === 'independent'\"\n class=\"page-header-actions__version-dropdown\"\n (selected)=\"selectedVersionChange($event)\"\n [disabled]=\"\n actionsObs.loading ||\n (actionsObs.processDefinitionVersionsListItems || []).length === 0 ||\n (actionsObs.processDefinitionVersionsListItems || []).length === 1\n \"\n [size]=\"actionsObs.compactMode ? 'sm' : 'md'\"\n >\n <cds-dropdown-list\n [items]=\"actionsObs.processDefinitionVersionsListItems || []\"\n ></cds-dropdown-list>\n </cds-dropdown>\n\n <div class=\"page-header-actions__tags\">\n <cds-tag\n *ngIf=\"actionsObs.isReadOnlyProcess || !actionsObs.hasEditPermissions\"\n type=\"blue\"\n >{{ 'processManagement.readOnly' | translate }}</cds-tag\n >\n\n <cds-tag *ngIf=\"actionsObs.isSystemProcess\" type=\"red\">{{\n 'processManagement.systemProcess' | translate\n }}</cds-tag>\n </div>\n </div>\n\n <div class=\"page-header-actions__buttons\">\n @if (actionsObs.context === 'case') {\n <cds-tooltip\n [description]=\"'processCaseConnection.processCreatesCaseTooltip' | translate\"\n >\n <cds-toggle\n [onText]=\"'processManagement.canInitializeDocument' | translate\"\n [offText]=\"'processManagement.canInitializeDocument' | translate\"\n [checked]=\"actionsObs.canInitializeDocument\"\n [disabled]=\"\n actionsObs.loading ||\n actionsObs.updatingProcessDefinitionCaseDefinition ||\n !actionsObs.hasEditPermissions\n \"\n (checkedChange)=\"onProcessToggleChange('canInitializeDocument', $event)\"\n ></cds-toggle>\n </cds-tooltip>\n\n <cds-tooltip\n [description]=\"'processCaseConnection.startableWithinCaseTooltip' | translate\"\n >\n <cds-toggle\n [onText]=\"'processManagement.startableByUser' | translate\"\n [offText]=\"'processManagement.startableByUser' | translate\"\n [checked]=\"actionsObs.startableByUser\"\n [disabled]=\"\n actionsObs.loading ||\n actionsObs.updatingProcessDefinitionCaseDefinition ||\n !actionsObs.hasEditPermissions\n \"\n (checkedChange)=\"onProcessToggleChange('startableByUser', $event)\"\n ></cds-toggle\n ></cds-tooltip>\n }\n\n <button\n *ngIf=\"actionsObs.context === 'case'\"\n cdsButton=\"secondary\"\n [size]=\"actionsObs.compactMode ? 'sm' : 'md'\"\n (click)=\"navigateBack(null)\"\n >\n <svg class=\"cds--btn__icon\" cdsIcon=\"arrow--left\" size=\"16\"></svg>\n\n <span>{{ 'interface.back' | translate }}</span>\n </button>\n\n <button\n [disabled]=\"!actionsObs.changesPending\"\n cdsButton=\"primary\"\n (click)=\"\n !actionsObs.creatingNewProcess\n ? deployChanges(actionsObs.isReadOnlyProcess)\n : deployNewProcessDefinition()\n \"\n [size]=\"actionsObs.compactMode ? 'sm' : 'md'\"\n >\n {{ 'processManagement.deploy' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"deploy\" size=\"16\"></svg>\n </button>\n\n <cds-overflow-menu class=\"overflow-button\">\n <cds-overflow-menu-option\n [disabled]=\"actionsObs.loading\"\n (selected)=\"export(actionsObs.isReadOnlyProcess)\"\n >{{ 'interface.export' | translate }}\n </cds-overflow-menu-option>\n </cds-overflow-menu>\n </div>\n </div>\n </ng-template>\n</ng-container>\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 {ChangeDetectionStrategy, Component, EventEmitter, Output} from '@angular/core';\nimport {Upload16} from '@carbon/icons';\nimport {TranslateModule, TranslateService} from '@ngx-translate/core';\nimport {\n ActionItem,\n CarbonListModule,\n ColumnConfig,\n ConfirmationModalModule,\n ViewType,\n} from '@valtimo/components';\nimport {\n EditPermissionsService,\n EnvironmentService,\n getCaseManagementRouteParams,\n GlobalNotificationService,\n ProcessDefinitionWithPropertiesDto,\n} from '@valtimo/shared';\nimport {ProcessDefinition} from '@valtimo/process';\nimport {ButtonModule, IconModule, IconService} from 'carbon-components-angular';\nimport {BehaviorSubject, combineLatest, Observable, switchMap, tap} from 'rxjs';\nimport {ProcessDefinitionResult} from '../../models';\nimport {ProcessManagementService, ProcessManagementStateService} from '../../services';\nimport {ActivatedRoute} from '@angular/router';\nimport {getContextObservable} from '../../utils';\n\n@Component({\n selector: 'valtimo-process-management-list',\n templateUrl: './process-management-list.component.html',\n styleUrls: ['./process-management-list.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n CommonModule,\n ButtonModule,\n CarbonListModule,\n IconModule,\n IconModule,\n TranslateModule,\n ConfirmationModalModule,\n ],\n})\nexport class ProcessManagementListComponent {\n @Output() public readonly processSelected = new EventEmitter<\n ProcessDefinitionResult | 'create'\n >();\n\n public readonly $context = this.processManagementService.$context;\n public readonly processToDelete$ = new BehaviorSubject<ProcessDefinitionWithPropertiesDto | null>(\n null\n );\n public readonly showDeleteModal$ = new BehaviorSubject<boolean>(false);\n public readonly loading$ = new BehaviorSubject<boolean>(true);\n public readonly ACTION_ITEMS: ActionItem[] = [\n {label: 'Delete', callback: this.onDeleteProcess.bind(this), type: 'danger'},\n ];\n\n public readonly context$ = getContextObservable(this.route);\n\n public readonly processDefinitions$: Observable<ProcessDefinitionResult[]> =\n this.processManagementStateService.reloadDefinitions$.pipe(\n tap(() => this.loading$.next(true)),\n switchMap(() => this.processManagementService.processes$),\n tap(() => this.loading$.next(false))\n );\n\n public readonly hasEditPermissions$: Observable<boolean> = combineLatest([\n getCaseManagementRouteParams(this.route),\n this.context$,\n ]).pipe(\n switchMap(([params, context]) => {\n return this.editPermissionsService.hasPermissionsToEditBasedOnContext(params, context);\n })\n );\n\n public readonly FIELDS: ColumnConfig[] = [\n {key: 'processDefinition.name', label: 'processManagement.name'},\n {key: 'processDefinition.key', label: 'processManagement.key'},\n {\n key: 'processDefinition.readOnly',\n label: 'processManagement.readOnly',\n viewType: ViewType.BOOLEAN,\n },\n ...(this.processManagementService.$context() === 'case'\n ? [\n {\n key: 'processCaseLink.canInitializeDocument',\n label: 'processManagement.canInitializeDocument',\n viewType: ViewType.BOOLEAN,\n },\n ]\n : []),\n ...(this.processManagementService.$context() === 'case'\n ? [\n {\n key: 'processCaseLink.startableByUser',\n label: 'processManagement.startableByUser',\n viewType: ViewType.BOOLEAN,\n },\n ]\n : []),\n ];\n\n constructor(\n private readonly iconService: IconService,\n private readonly notificationService: GlobalNotificationService,\n private readonly processManagementService: ProcessManagementService,\n private readonly processManagementStateService: ProcessManagementStateService,\n private readonly translateService: TranslateService,\n private readonly environmentService: EnvironmentService,\n private readonly route: ActivatedRoute,\n private readonly editPermissionsService: EditPermissionsService\n ) {\n this.iconService.registerAll([Upload16]);\n }\n\n public editProcessDefinition(processDefinition: ProcessDefinitionResult): void {\n this.processSelected.emit(processDefinition);\n }\n\n public openModal(): void {\n this.processManagementStateService.openModal();\n }\n\n public onCreateProcess(): void {\n this.processSelected.emit('create');\n }\n\n public onDeleteConfirm(processDefinition: ProcessDefinition): void {\n (this.$context() === 'case'\n ? this.processManagementService.deleteProcess(processDefinition.key)\n : this.processManagementService.deleteUnlinkedProcess(processDefinition.key)\n ).subscribe(() => {\n this.processManagementStateService.reloadDefinitions();\n\n this.notificationService.showToast({\n title: this.translateService.instant(`interface.delete`),\n caption: this.translateService.instant(`processManagement.deleteNotification`),\n type: 'success',\n });\n });\n }\n\n public onDeleteProcess(process: ProcessDefinitionResult): void {\n this.processToDelete$.next(process.processDefinition);\n this.showDeleteModal$.next(true);\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<valtimo-carbon-list\n [actionItems]=\"ACTION_ITEMS\"\n [showActionItems]=\"hasEditPermissions$ | async\"\n [fields]=\"FIELDS\"\n [header]=\"false\"\n [items]=\"processDefinitions$ | async\"\n [loading]=\"loading$ | async\"\n (rowClicked)=\"editProcessDefinition($event)\"\n>\n <ng-container carbonToolbarContent>\n <button\n *ngIf=\"hasEditPermissions$ | async\"\n cdsButton=\"ghost\"\n iconOnly=\"true\"\n (click)=\"openModal()\"\n >\n <svg cdsIcon=\"upload\" size=\"16\"></svg>\n </button>\n\n <ng-container [ngTemplateOutlet]=\"createProcess\"></ng-container>\n </ng-container>\n\n <valtimo-no-results\n [action]=\"createProcess\"\n [title]=\"'processManagement.noResults.title' | translate\"\n [description]=\"'processManagement.noResults.' + $context() + 'Description' | translate\"\n ></valtimo-no-results>\n</valtimo-carbon-list>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"processManagement.deleteModal.content\"\n [outputOnConfirm]=\"processToDelete$ | async\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"processManagement.deleteModal.title\"\n (confirmEvent)=\"onDeleteConfirm($event)\"\n></valtimo-confirmation-modal>\n\n<ng-template #createProcess>\n <button *ngIf=\"hasEditPermissions$ | async\" cdsButton=\"primary\" (click)=\"onCreateProcess()\">\n {{ 'processManagement.createProcess' | translate }}\n\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n</ng-template>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport {CommonModule} from '@angular/common';\nimport {ChangeDetectionStrategy, Component} from '@angular/core';\nimport {FormBuilder, ReactiveFormsModule, Validators} from '@angular/forms';\nimport {TranslateModule, TranslateService} from '@ngx-translate/core';\nimport {CARBON_CONSTANTS} from '@valtimo/components';\nimport {GlobalNotificationService} from '@valtimo/shared';\nimport {\n ButtonModule,\n FileUploaderModule,\n LayerModule,\n ModalModule,\n} from 'carbon-components-angular';\nimport {map, startWith} from 'rxjs';\nimport {ProcessManagementService, ProcessManagementStateService} from '../../services';\n\n@Component({\n selector: 'valtimo-process-management-upload',\n templateUrl: './process-management-upload.component.html',\n styleUrls: ['./process-management-upload.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n CommonModule,\n TranslateModule,\n FileUploaderModule,\n ModalModule,\n LayerModule,\n ReactiveFormsModule,\n ButtonModule,\n ],\n})\nexport class ProcessManagementUploadComponent {\n public readonly modalOpen$ = this.processManagementStateService.openModal$;\n\n public readonly ACCEPTED_FILES: string[] = ['bpmn'];\n\n public readonly form = this.formBuilder.group({\n file: this.formBuilder.control(new Set<any>(), [Validators.required]),\n });\n\n public readonly fileSelected$ = this.form.get('file')?.valueChanges.pipe(\n startWith(null),\n map(value => !!(value instanceof Set && value.size > 0))\n );\n\n constructor(\n private readonly formBuilder: FormBuilder,\n private readonly notificationService: GlobalNotificationService,\n private readonly processManagementService: ProcessManagementService,\n private readonly processManagementStateService: ProcessManagementStateService,\n private readonly translateService: TranslateService\n ) {}\n\n public closeModal(): void {\n this.processManagementStateService.closeModal();\n\n setTimeout(() => {\n this.form.reset();\n }, CARBON_CONSTANTS.modalAnimationMs);\n }\n\n public uploadProcessBpmn(): void {\n const bpmnFile = this.form.value?.file?.values()?.next()?.value?.file;\n\n if (!bpmnFile) return;\n\n this.processManagementService.deployBpmn(bpmnFile).subscribe({\n next: () => {\n this.notificationService.showNotification({\n type: 'success',\n title: this.translateService.instant('processManagement.upload.success'),\n });\n this.closeModal();\n this.processManagementStateService.reloadDefinitions();\n },\n error: () => {\n this.notificationService.showNotification({\n type: 'error',\n title: this.translateService.instant('processManagement.upload.failure'),\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\n<cds-modal valtimoCdsModal [open]=\"modalOpen$ | async\" size=\"sm\" (close)=\"closeModal()\">\n <cds-modal-header showCloseButton=\"true\" (closeSelect)=\"closeModal()\">\n <h3 cdsModalHeaderHeading>{{ 'processManagement.upload.modalTitle' | translate }}</h3>\n </cds-modal-header>\n\n <section cdsModalContent [cdsLayer]=\"1\" [formGroup]=\"form\">\n <cds-file-uploader\n [accept]=\"ACCEPTED_FILES\"\n [buttonText]=\"'processManagement.upload.buttonText' | translate\"\n [description]=\"'processManagement.upload.description' | translate\"\n [multiple]=\"false\"\n [title]=\"'processManagement.upload.title' | translate\"\n buttonType=\"primary\"\n formControlName=\"file\"\n >\n </cds-file-uploader>\n </section>\n\n <cds-modal-footer>\n <button cdsButton=\"ghost\" (click)=\"closeModal()\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button\n cdsButton=\"primary\"\n [disabled]=\"(fileSelected$ | async) === false\"\n (click)=\"uploadProcessBpmn()\"\n >\n {{ 'interface.upload' | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\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 {ChangeDetectionStrategy, Component, OnDestroy, OnInit} from '@angular/core';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {TranslateService} from '@ngx-translate/core';\nimport {getCaseManagementRouteParams} from '@valtimo/shared';\nimport {LoadingModule, NotificationModule} from 'carbon-components-angular';\nimport {isEqual} from 'lodash';\nimport {BehaviorSubject, combineLatest, startWith, Subscription, switchMap} from 'rxjs';\nimport {distinctUntilChanged, filter} from 'rxjs/operators';\nimport {ProcessDefinitionResult} from '../../models';\nimport {ProcessManagementService} from '../../services';\nimport {getContextObservable} from '../../utils';\nimport {ProcessManagementBuilderComponent} from '../process-management-builder/process-management-builder.component';\nimport {ProcessManagementListComponent} from '../process-management-list/process-management-list.component';\nimport {ProcessManagementUploadComponent} from '../process-management-upload/process-management-upload.component';\n\n@Component({\n selector: 'valtimo-process-management',\n templateUrl: './process-management.component.html',\n styleUrls: ['./process-management.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n CommonModule,\n ProcessManagementListComponent,\n ProcessManagementUploadComponent,\n ProcessManagementBuilderComponent,\n LoadingModule,\n NotificationModule,\n ],\n providers: [TranslateService],\n})\nexport class ProcessManagementComponent implements OnInit, OnDestroy {\n public readonly context$ = getContextObservable(this.route);\n\n public readonly params$ = this.context$.pipe(\n filter(context => context === 'case'),\n switchMap(() => getCaseManagementRouteParams(this.route)),\n distinctUntilChanged((previous, current) => isEqual(previous, current))\n );\n\n public readonly paramsAreSet$ = new BehaviorSubject<boolean>(false);\n\n private readonly _subscriptions = new Subscription();\n\n constructor(\n private readonly processManagementService: ProcessManagementService,\n private readonly route: ActivatedRoute,\n private readonly router: Router\n ) {}\n\n public ngOnInit(): void {\n this.openParamsAndContextSubscription();\n }\n\n public ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n public onProcessSelected(selectedProcessEvent: ProcessDefinitionResult | 'create'): void {\n const editParam =\n selectedProcessEvent === 'create' ? 'create' : selectedProcessEvent?.processDefinition?.key;\n\n this.router.navigate([editParam], {\n relativeTo: this.route,\n });\n }\n\n private openParamsAndContextSubscription(): void {\n this._subscriptions.add(\n combineLatest([this.context$, this.params$.pipe(startWith(null))]).subscribe(\n ([context, params]) => {\n if (context) this.processManagementService.context = context;\n\n if (params) {\n this.processManagementService.setParams(\n params.caseDefinitionKey,\n params.caseDefinitionVersionTag\n );\n }\n\n this.paramsAreSet$.next(true);\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\n<ng-container\n *ngIf=\"{\n paramsAreSet: paramsAreSet$ | async,\n } as obs\"\n>\n @if (obs.paramsAreSet) {\n <valtimo-process-management-list\n (processSelected)=\"onProcessSelected($event)\"\n ></valtimo-process-management-list>\n\n <valtimo-process-management-upload></valtimo-process-management-upload>\n } @else {\n <cds-loading></cds-loading>\n }\n</ng-container>\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 './process-management-builder/process-management-builder.component';\nexport * from './process-management/process-management.component';\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 {NgModule} from '@angular/core';\nimport {RouterModule, Routes} from '@angular/router';\nimport {CommonModule} from '@angular/common';\nimport {AuthGuardService} from '@valtimo/security';\nimport {ROLE_ADMIN} from '@valtimo/shared';\nimport {ProcessManagementBuilderComponent, ProcessManagementComponent} from './components';\nimport {ProcessManagementRouteData} from './models';\nimport {pendingChangesGuard} from '@valtimo/components';\n\nconst routes: Routes = [\n {\n path: 'processes',\n component: ProcessManagementComponent,\n canActivate: [AuthGuardService],\n data: {\n title: 'Processes',\n roles: [ROLE_ADMIN],\n context: 'independent',\n } as ProcessManagementRouteData,\n },\n {\n path: 'processes/create',\n component: ProcessManagementBuilderComponent,\n canActivate: [AuthGuardService],\n //TODO: Re-enable when pending changes is fixed\n // canDeactivate: [pendingChangesGuard],\n data: {\n title: 'Create new Process',\n roles: [ROLE_ADMIN],\n context: 'independent',\n } as ProcessManagementRouteData,\n },\n {\n path: 'processes/:processDefinitionKey',\n component: ProcessManagementBuilderComponent,\n canActivate: [AuthGuardService],\n //TODO: Re-enable when pending changes is fixed\n // canDeactivate: [pendingChangesGuard],\n data: {\n title: 'Process details',\n roles: [ROLE_ADMIN],\n customPageTitle: true,\n context: 'independent',\n } as ProcessManagementRouteData,\n },\n];\n\n@NgModule({\n declarations: [],\n imports: [CommonModule, RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class ProcessManagementRoutingModule {}\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 {NgModule} from '@angular/core';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {CarbonListModule, WidgetModule} from '@valtimo/components';\nimport {ProcessLinkModule} from '@valtimo/process-link';\nimport {\n ButtonModule,\n DropdownModule,\n FileUploaderModule,\n IconModule,\n LayerModule,\n ModalModule,\n NotificationModule,\n RadioModule,\n} from 'carbon-components-angular';\nimport {ProcessManagementBuilderComponent, ProcessManagementComponent} from './components';\nimport {ProcessManagementRoutingModule} from './process-management-routing.module';\n\n@NgModule({\n imports: [\n CommonModule,\n ProcessManagementRoutingModule,\n WidgetModule,\n FormsModule,\n TranslateModule,\n ProcessLinkModule,\n ProcessManagementComponent,\n ProcessManagementBuilderComponent,\n CarbonListModule,\n ButtonModule,\n IconModule,\n DropdownModule,\n ModalModule,\n NotificationModule,\n RadioModule,\n ReactiveFormsModule,\n ModalModule,\n FileUploaderModule,\n LayerModule,\n ],\n})\nexport class ProcessManagementModule {}\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 process-management\n */\n\nexport * from './lib/process-management.module';\nexport * from './lib/services/process-management-state.service';\nexport * from './lib/components/process-management/process-management.component';\nexport * from './lib/components/process-management-builder/process-management-builder.component';\nexport * from './lib/models';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","map","i4","i6.ProcessManagementEditorService","i6.ProcessManagementService","i9","i11","i3.ProcessManagementService","i3.ProcessManagementStateService","i5","i7","i6","filter","i1.ProcessManagementService","i3"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"process-management-editor.service.d.ts","sourceRoot":"","sources":["../../../../../projects/valtimo/process-management/src/lib/services/process-management-editor.service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAa,SAAS,EAAC,MAAM,eAAe,CAAC;AACpD,OAAO,EAA0B,UAAU,EAAwB,MAAM,MAAM,CAAC;AAGhF,OAAO,EACL,WAAW,EACX,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,EAClB,sBAAsB,EACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAC,sBAAsB,EAAE,yBAAyB,EAAC,MAAM,WAAW,CAAC;AAC5E,OAAO,EACL,6BAA6B,EAC7B,oBAAoB,EACpB,iBAAiB,EACjB,kCAAkC,EACnC,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAC,oBAAoB,EAAE,WAAW,EAAC,MAAM,eAAe,CAAC;;AAEhE,qBACa,8BAA+B,YAAW,SAAS;IA4D5D,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,WAAW;IA5D9B,OAAO,CAAC,QAAQ,CAAC,mCAAmC,CACmB;IAEvE,IAAW,2BAA2B,IAAI,UAAU,CAAC,kCAAkC,CAAC,CAKvF;IAED,IAAW,0BAA0B,IAAI,kCAAkC,CAE1E;IAED,OAAO,CAAC,QAAQ,CAAC,mCAAmC,CAA0C;IAE9F,IAAW,kCAAkC,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC,CAEzE;IAED,IAAW,iCAAiC,IAAI,WAAW,EAAE,CAE5D;IAED,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAA4C;IAEzF,IAAW,2BAA2B,IAAI,UAAU,CAAC,yBAAyB,CAAC,CAE9E;IAED,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAyC;IAEnF,IAAW,wBAAwB,IAAI,UAAU,CAAC,sBAAsB,CAAC,CAExE;IAEM,4BAA4B,CAAC,UAAU,EAAE,kCAAkC,GAAG,IAAI;IAIzF,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAEhC;IAER,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAmD;IAE3F,IAAW,qBAAqB,IAAI,oBAAoB,EAAE,CAEzD;IAED,OAAO,CAAC,uBAAuB,CAAc;IAE7C,OAAO,CAAC,iBAAiB,CAAS;IAElC,OAAO,CAAC,wBAAwB,CAA8B;IAE9D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAsB;gBAGlC,kBAAkB,EAAE,kBAAkB,EACtC,WAAW,EAAE,WAAW;IAMpC,WAAW,IAAI,IAAI;IAInB,wBAAwB,CAC7B,OAAO,EAAE,iBAAiB,EAC1B,MAAM,EAAE,oBAAoB,GAAG,6BAA6B,GAC3D,IAAI;IAIA,6BAA6B,CAClC,KAAK,EAAE,yBAAyB,EAChC,sBAAsB,EAAE,MAAM,IAAI,GACjC,IAAI;IAKA,0BAA0B,CAC/B,KAAK,EAAE,sBAAsB,EAC7B,sBAAsB,EAAE,MAAM,IAAI,GACjC,IAAI;IAKA,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,GAAG,IAAI;IActD,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,GAAG,IAAI;IAStD,iBAAiB,CACtB,KAAK,EAAE,sBAAsB,EAC7B,sBAAsB,CAAC,EAAE,MAAM,IAAI,GAClC,IAAI;IAcA,oCAAoC,CAAC,YAAY,EAAE,WAAW,EAAE,GAAG,IAAI;IAIvE,0BAA0B,CAAC,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAIjF,4BAA4B,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI;IAcpF,OAAO,CAAC,yCAAyC;IAQjD,OAAO,CAAC,8BAA8B;IAMtC,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,mBAAmB;IAc3B,OAAO,CAAC,qCAAqC;yCA/LlC,8BAA8B;6CAA9B,8BAA8B;CA4N1C"}
1
+ {"version":3,"file":"process-management-editor.service.d.ts","sourceRoot":"","sources":["../../../../../projects/valtimo/process-management/src/lib/services/process-management-editor.service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAa,SAAS,EAAC,MAAM,eAAe,CAAC;AACpD,OAAO,EAA0B,UAAU,EAAwB,MAAM,MAAM,CAAC;AAGhF,OAAO,EACL,WAAW,EACX,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,EAClB,sBAAsB,EACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAC,sBAAsB,EAAE,yBAAyB,EAAC,MAAM,WAAW,CAAC;AAC5E,OAAO,EACL,6BAA6B,EAC7B,oBAAoB,EACpB,iBAAiB,EACjB,kCAAkC,EACnC,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAC,oBAAoB,EAAE,WAAW,EAAC,MAAM,eAAe,CAAC;;AAEhE,qBACa,8BAA+B,YAAW,SAAS;IA4D5D,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,WAAW;IA5D9B,OAAO,CAAC,QAAQ,CAAC,mCAAmC,CACmB;IAEvE,IAAW,2BAA2B,IAAI,UAAU,CAAC,kCAAkC,CAAC,CAKvF;IAED,IAAW,0BAA0B,IAAI,kCAAkC,CAE1E;IAED,OAAO,CAAC,QAAQ,CAAC,mCAAmC,CAA0C;IAE9F,IAAW,kCAAkC,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC,CAEzE;IAED,IAAW,iCAAiC,IAAI,WAAW,EAAE,CAE5D;IAED,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAA4C;IAEzF,IAAW,2BAA2B,IAAI,UAAU,CAAC,yBAAyB,CAAC,CAE9E;IAED,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAyC;IAEnF,IAAW,wBAAwB,IAAI,UAAU,CAAC,sBAAsB,CAAC,CAExE;IAEM,4BAA4B,CAAC,UAAU,EAAE,kCAAkC,GAAG,IAAI;IAIzF,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAEhC;IAER,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAmD;IAE3F,IAAW,qBAAqB,IAAI,oBAAoB,EAAE,CAEzD;IAED,OAAO,CAAC,uBAAuB,CAAc;IAE7C,OAAO,CAAC,iBAAiB,CAAS;IAElC,OAAO,CAAC,wBAAwB,CAA8B;IAE9D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAsB;gBAGlC,kBAAkB,EAAE,kBAAkB,EACtC,WAAW,EAAE,WAAW;IAMpC,WAAW,IAAI,IAAI;IAInB,wBAAwB,CAC7B,OAAO,EAAE,iBAAiB,EAC1B,MAAM,EAAE,oBAAoB,GAAG,6BAA6B,GAC3D,IAAI;IAIA,6BAA6B,CAClC,KAAK,EAAE,yBAAyB,EAChC,sBAAsB,EAAE,MAAM,IAAI,GACjC,IAAI;IAKA,0BAA0B,CAC/B,KAAK,EAAE,sBAAsB,EAC7B,sBAAsB,EAAE,MAAM,IAAI,GACjC,IAAI;IAKA,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,GAAG,IAAI;IActD,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,GAAG,IAAI;IAStD,iBAAiB,CACtB,KAAK,EAAE,sBAAsB,EAC7B,sBAAsB,CAAC,EAAE,MAAM,IAAI,GAClC,IAAI;IAcA,oCAAoC,CAAC,YAAY,EAAE,WAAW,EAAE,GAAG,IAAI;IAIvE,0BAA0B,CAAC,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAIjF,4BAA4B,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI;IAcpF,OAAO,CAAC,yCAAyC;IAQjD,OAAO,CAAC,8BAA8B;IAMtC,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,mBAAmB;IAc3B,OAAO,CAAC,qCAAqC;yCA/LlC,8BAA8B;6CAA9B,8BAA8B;CA0O1C"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@valtimo/process-management",
3
3
  "license": "EUPL-1.2",
4
- "version": "13.14.0",
4
+ "version": "13.16.0",
5
5
  "peerDependencies": {
6
6
  "@angular/common": "^19.2.8",
7
7
  "@angular/core": "^19.2.8"