@valtimo/process-management 13.12.0 → 13.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/valtimo-process-management.mjs +387 -167
- package/fesm2022/valtimo-process-management.mjs.map +1 -1
- package/lib/components/process-management-builder/panel/valtimo-properties-provider.d.ts.map +1 -1
- package/lib/components/process-management-builder/process-management-builder.component.d.ts +12 -11
- package/lib/components/process-management-builder/process-management-builder.component.d.ts.map +1 -1
- package/lib/components/process-management-list/process-management-list.component.d.ts +2 -2
- package/lib/components/process-management-list/process-management-list.component.d.ts.map +1 -1
- package/lib/models/process-management.model.d.ts +4 -1
- package/lib/models/process-management.model.d.ts.map +1 -1
- package/lib/models/process.model.d.ts +2 -2
- package/lib/models/process.model.d.ts.map +1 -1
- package/lib/services/process-management-editor.service.d.ts +11 -10
- package/lib/services/process-management-editor.service.d.ts.map +1 -1
- package/lib/services/process-management.service.d.ts +4 -3
- package/lib/services/process-management.service.d.ts.map +1 -1
- package/lib/utils/index.d.ts +1 -0
- package/lib/utils/index.d.ts.map +1 -1
- package/lib/utils/process-management-builder.utils.d.ts +27 -0
- package/lib/utils/process-management-builder.utils.d.ts.map +1 -0
- package/package.json +1 -1
|
@@ -7,25 +7,25 @@ import { ReactiveFormsModule, Validators, FormsModule } from '@angular/forms';
|
|
|
7
7
|
import * as i4 from '@ngx-translate/core';
|
|
8
8
|
import { TranslateModule, TranslateService } from '@ngx-translate/core';
|
|
9
9
|
import * as i1$1 from '@valtimo/components';
|
|
10
|
-
import {
|
|
10
|
+
import { FitPageDirective, RenderInPageHeaderDirective, ViewType, CarbonListModule, ConfirmationModalModule, CARBON_CONSTANTS, WidgetModule } from '@valtimo/components';
|
|
11
11
|
import * as i5 from '@valtimo/process-link';
|
|
12
|
-
import {
|
|
12
|
+
import { ProcessLinkModule, ProcessLinkStateService, ProcessLinkStepService, ProcessLinkButtonService } from '@valtimo/process-link';
|
|
13
13
|
import * as i2$2 from 'carbon-components-angular';
|
|
14
14
|
import { LoadingModule, DropdownModule, SelectModule, ButtonModule, IconModule, TagModule, DialogModule, ToggleModule, TooltipModule, FileUploaderModule, ModalModule, LayerModule, NotificationModule, RadioModule } from 'carbon-components-angular';
|
|
15
15
|
import * as i2$1 from '@valtimo/shared';
|
|
16
|
-
import { BaseApiService, getCaseManagementRouteParams,
|
|
16
|
+
import { BaseApiService, getCaseManagementRouteParams, getBuildingBlockManagementRouteParams, ROLE_ADMIN } from '@valtimo/shared';
|
|
17
17
|
import { useService, BpmnPropertiesPanelModule, BpmnPropertiesProviderModule, CamundaPlatformPropertiesProviderModule } from 'bpmn-js-properties-panel';
|
|
18
18
|
import Modeler from 'bpmn-js/lib/Modeler';
|
|
19
19
|
import camundaPlatformBehaviors from 'camunda-bpmn-js-behaviors/lib/camunda-platform';
|
|
20
20
|
import CamundaBpmnModdle from 'camunda-bpmn-moddle/resources/camunda.json';
|
|
21
21
|
import { isEqual } from 'lodash';
|
|
22
|
-
import { filter, BehaviorSubject,
|
|
22
|
+
import { filter, BehaviorSubject, Subject, Subscription, combineLatest, switchMap, of, tap, map as map$1, startWith, from, take, merge } from 'rxjs';
|
|
23
23
|
import { distinctUntilChanged, map, filter as filter$1 } from 'rxjs/operators';
|
|
24
24
|
import * as i2 from '@valtimo/form';
|
|
25
25
|
import { toObservable } from '@angular/core/rxjs-interop';
|
|
26
26
|
import * as i1 from '@angular/common/http';
|
|
27
|
-
import { html } from 'htm/preact';
|
|
28
27
|
import { is } from 'bpmn-js/lib/util/ModelUtil';
|
|
28
|
+
import { html } from 'htm/preact';
|
|
29
29
|
import * as i3 from 'ngx-logger';
|
|
30
30
|
import * as i7 from '@valtimo/process';
|
|
31
31
|
import * as i8 from '@angular/router';
|
|
@@ -112,6 +112,9 @@ class ProcessManagementEditorService {
|
|
|
112
112
|
get openProcessLinkModalEvents$() {
|
|
113
113
|
return this._openProcessLinkModalEvents$.asObservable();
|
|
114
114
|
}
|
|
115
|
+
get deleteProcessLinkEvents$() {
|
|
116
|
+
return this._deleteProcessLinkEvents$.asObservable();
|
|
117
|
+
}
|
|
115
118
|
setSelectedProcessDefinition(definition) {
|
|
116
119
|
this._selectionProcessDefinitionSubject$.next(definition);
|
|
117
120
|
}
|
|
@@ -123,26 +126,30 @@ class ProcessManagementEditorService {
|
|
|
123
126
|
this.formService = formService;
|
|
124
127
|
this._selectionProcessDefinitionSubject$ = new BehaviorSubject(null);
|
|
125
128
|
this._processLinksForSelectedDefinition$ = new BehaviorSubject([]);
|
|
126
|
-
this._processLinksFetchedForSelectedDefinition$ = new BehaviorSubject(false);
|
|
127
|
-
this._subscriptions = new Subscription();
|
|
128
129
|
this._openProcessLinkModalEvents$ = new Subject();
|
|
129
|
-
this.
|
|
130
|
+
this._deleteProcessLinkEvents$ = new Subject();
|
|
131
|
+
this._managementRouteParams$ = new BehaviorSubject(null);
|
|
130
132
|
this._formDefinitionOptions$ = new BehaviorSubject([]);
|
|
131
133
|
this._updatingBpmnView = false;
|
|
132
134
|
this._activityIdBusinessIdMap = {};
|
|
135
|
+
this._subscriptions = new Subscription();
|
|
133
136
|
this.openSelectedProcessDefinitionSubscription();
|
|
134
137
|
this.openFormDefinitionOptionsSubscription();
|
|
135
138
|
}
|
|
136
139
|
ngOnDestroy() {
|
|
137
140
|
this._subscriptions.unsubscribe();
|
|
138
141
|
}
|
|
139
|
-
|
|
140
|
-
this.
|
|
142
|
+
setManagementRouteParams(context, params) {
|
|
143
|
+
this._managementRouteParams$.next([context, params]);
|
|
141
144
|
}
|
|
142
145
|
sendOpenProcessLinkModalEvent(event, updateBpmnViewFunction) {
|
|
143
146
|
this._updateBpmnViewFunction = updateBpmnViewFunction;
|
|
144
147
|
this._openProcessLinkModalEvents$.next(event);
|
|
145
148
|
}
|
|
149
|
+
sendDeleteProcessLinkEvent(event, updateBpmnViewFunction) {
|
|
150
|
+
this._updateBpmnViewFunction = updateBpmnViewFunction;
|
|
151
|
+
this._deleteProcessLinkEvents$.next(event);
|
|
152
|
+
}
|
|
146
153
|
updateProcessLink(event) {
|
|
147
154
|
this.setProcessLinksForSelectedDefinition(this.processLinksForSelectedDefinition.map(processLink => {
|
|
148
155
|
if (processLink.activityId === event.activityId) {
|
|
@@ -208,25 +215,31 @@ class ProcessManagementEditorService {
|
|
|
208
215
|
this.updateBpmnView();
|
|
209
216
|
}
|
|
210
217
|
openFormDefinitionOptionsSubscription() {
|
|
211
|
-
this._subscriptions.add(this.
|
|
218
|
+
this._subscriptions.add(this._managementRouteParams$
|
|
212
219
|
.pipe(filter((params) => params !== null))
|
|
213
220
|
.subscribe(([context, params]) => {
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
.
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
.
|
|
222
|
-
|
|
221
|
+
switch (context) {
|
|
222
|
+
case 'independent':
|
|
223
|
+
this.formService
|
|
224
|
+
.getAllUnlinkedFormDefinitions()
|
|
225
|
+
.subscribe(options => this._formDefinitionOptions$.next(options));
|
|
226
|
+
break;
|
|
227
|
+
case 'case':
|
|
228
|
+
this.formService
|
|
229
|
+
.getAllFormDefinitionsForCaseDefinition(params.caseDefinitionKey, params.caseDefinitionVersionTag)
|
|
230
|
+
.subscribe(options => this._formDefinitionOptions$.next(options));
|
|
231
|
+
break;
|
|
232
|
+
case 'buildingBlock':
|
|
233
|
+
// to do
|
|
234
|
+
this._formDefinitionOptions$.next([]);
|
|
235
|
+
break;
|
|
223
236
|
}
|
|
224
237
|
}));
|
|
225
238
|
}
|
|
226
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
227
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
239
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ProcessManagementEditorService, deps: [{ token: i5.ProcessLinkService }, { token: i2.FormService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
240
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ProcessManagementEditorService }); }
|
|
228
241
|
}
|
|
229
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
242
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ProcessManagementEditorService, decorators: [{
|
|
230
243
|
type: Injectable
|
|
231
244
|
}], ctorParameters: () => [{ type: i5.ProcessLinkService }, { type: i2.FormService }] });
|
|
232
245
|
|
|
@@ -265,10 +278,10 @@ class ProcessManagementStateService {
|
|
|
265
278
|
reloadDefinitions() {
|
|
266
279
|
this._reloadDefinitions$.next(null);
|
|
267
280
|
}
|
|
268
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
269
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
281
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ProcessManagementStateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
282
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ProcessManagementStateService, providedIn: 'root' }); }
|
|
270
283
|
}
|
|
271
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
284
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ProcessManagementStateService, decorators: [{
|
|
272
285
|
type: Injectable,
|
|
273
286
|
args: [{ providedIn: 'root' }]
|
|
274
287
|
}] });
|
|
@@ -369,28 +382,28 @@ class ProcessManagementService extends BaseApiService {
|
|
|
369
382
|
this.httpClient = httpClient;
|
|
370
383
|
this.configService = configService;
|
|
371
384
|
this._definitionKey$ = new BehaviorSubject(null);
|
|
372
|
-
this.
|
|
385
|
+
this._versionTag$ = new BehaviorSubject(null);
|
|
373
386
|
this._$context = signal('independent');
|
|
374
387
|
this.processes$ = combineLatest([
|
|
375
388
|
this._definitionKey$,
|
|
376
|
-
this.
|
|
389
|
+
this._versionTag$,
|
|
377
390
|
toObservable(this._$context),
|
|
378
|
-
]).pipe(switchMap(([definitionKey,
|
|
391
|
+
]).pipe(switchMap(([definitionKey, versionTag, context]) => {
|
|
379
392
|
if (context === 'independent') {
|
|
380
393
|
return this.getUnlinkedProcesses();
|
|
381
394
|
}
|
|
382
|
-
if (!!definitionKey && !!
|
|
383
|
-
return this.getProcesses(definitionKey,
|
|
395
|
+
if (!!definitionKey && !!versionTag) {
|
|
396
|
+
return this.getProcesses(definitionKey, versionTag);
|
|
384
397
|
}
|
|
385
398
|
return of([]);
|
|
386
399
|
}));
|
|
387
400
|
}
|
|
388
|
-
setParams(
|
|
389
|
-
this._definitionKey$.next(
|
|
390
|
-
this.
|
|
401
|
+
setParams(key, versionTag) {
|
|
402
|
+
this._definitionKey$.next(key);
|
|
403
|
+
this._versionTag$.next(versionTag);
|
|
391
404
|
}
|
|
392
405
|
deleteProcess(processDefinitionKey) {
|
|
393
|
-
return this.httpClient.delete(this.getApiUrl(`${PROCESS_MANAGEMENT_ENDPOINTS[this._$context()]}/${this._definitionKey$.getValue()}/version/${this.
|
|
406
|
+
return this.httpClient.delete(this.getApiUrl(`${PROCESS_MANAGEMENT_ENDPOINTS[this._$context()]}/${this._definitionKey$.getValue()}/version/${this._versionTag$.getValue()}/process-definition/key/${processDefinitionKey}`));
|
|
394
407
|
}
|
|
395
408
|
deleteUnlinkedProcess(processDefinitionKey) {
|
|
396
409
|
return this.httpClient.delete(this.getApiUrl(`${PROCESS_MANAGEMENT_ENDPOINTS[this._$context()]}/key/${processDefinitionKey}`));
|
|
@@ -402,20 +415,23 @@ class ProcessManagementService extends BaseApiService {
|
|
|
402
415
|
type: 'application/json',
|
|
403
416
|
}));
|
|
404
417
|
return this.httpClient.post(this._$context() === 'case'
|
|
405
|
-
? this.getApiUrl(`${PROCESS_MANAGEMENT_ENDPOINTS[this._$context()]}/${this._definitionKey$.getValue()}/version/${this.
|
|
418
|
+
? this.getApiUrl(`${PROCESS_MANAGEMENT_ENDPOINTS[this._$context()]}/${this._definitionKey$.getValue()}/version/${this._versionTag$.getValue()}/process-definition`)
|
|
406
419
|
: this.getApiUrl(`${PROCESS_MANAGEMENT_ENDPOINTS[this._$context()]}`), formData);
|
|
407
420
|
}
|
|
408
421
|
getProcessDefinitionForCase(caseDefinitionKey, caseDefinitionVersionTag, processDefinitionKey) {
|
|
409
422
|
return this.httpClient.get(this.getApiUrl(`${PROCESS_MANAGEMENT_ENDPOINTS[this._$context()]}/${caseDefinitionKey}/version/${caseDefinitionVersionTag}/process-definition/key/${processDefinitionKey}`));
|
|
410
423
|
}
|
|
424
|
+
getBuildingBlockProcessDefinition(key, versionTag, processDefinitionId) {
|
|
425
|
+
return this.httpClient.get(this.getApiUrl(`management/v1/building-block/${key}/version/${versionTag}/process-definition/${processDefinitionId}`));
|
|
426
|
+
}
|
|
411
427
|
getUnlinkedProcessDefinitionsByKey(processDefinitionKey) {
|
|
412
428
|
return this.httpClient.get(this.getApiUrl(`${PROCESS_MANAGEMENT_ENDPOINTS[this._$context()]}/key/${processDefinitionKey}`));
|
|
413
429
|
}
|
|
414
430
|
updateProcessDefinitionCaseDefinitionProperties(caseDefinitionKey, caseDefinitionVersionTag, processDefinitionId, body) {
|
|
415
431
|
return this.httpClient.put(this.getApiUrl(`/management/v1/case-definition/${caseDefinitionKey}/version/${caseDefinitionVersionTag}/process/${processDefinitionId}/properties`), body);
|
|
416
432
|
}
|
|
417
|
-
getProcesses(definitionName,
|
|
418
|
-
return this.httpClient.get(this.getApiUrl(`${PROCESS_MANAGEMENT_ENDPOINTS[this._$context()]}/${definitionName}/version/${
|
|
433
|
+
getProcesses(definitionName, versionTag) {
|
|
434
|
+
return this.httpClient.get(this.getApiUrl(`${PROCESS_MANAGEMENT_ENDPOINTS[this._$context()]}/${definitionName}/version/${versionTag}/process-definition`));
|
|
419
435
|
}
|
|
420
436
|
getUnlinkedProcesses() {
|
|
421
437
|
return this.httpClient.get(this.getApiUrl(`${PROCESS_MANAGEMENT_ENDPOINTS[this._$context()]}`));
|
|
@@ -435,10 +451,10 @@ class ProcessManagementService extends BaseApiService {
|
|
|
435
451
|
}
|
|
436
452
|
return object;
|
|
437
453
|
}
|
|
438
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
439
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
454
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ProcessManagementService, deps: [{ token: i1.HttpClient }, { token: i2$1.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
455
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ProcessManagementService, providedIn: 'root' }); }
|
|
440
456
|
}
|
|
441
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
457
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ProcessManagementService, decorators: [{
|
|
442
458
|
type: Injectable,
|
|
443
459
|
args: [{
|
|
444
460
|
providedIn: 'root',
|
|
@@ -487,6 +503,163 @@ function getContextObservable(route) {
|
|
|
487
503
|
return route.data.pipe(map(data => (data && data['context']) || null), distinctUntilChanged());
|
|
488
504
|
}
|
|
489
505
|
|
|
506
|
+
/*
|
|
507
|
+
* Copyright 2015-2025 Ritense BV, the Netherlands.
|
|
508
|
+
*
|
|
509
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
510
|
+
* you may not use this file except in compliance with the License.
|
|
511
|
+
* You may obtain a copy of the License at
|
|
512
|
+
*
|
|
513
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
514
|
+
*
|
|
515
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
516
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
517
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
518
|
+
* See the License for the specific language governing permissions and
|
|
519
|
+
* limitations under the License.
|
|
520
|
+
*/
|
|
521
|
+
const getLatestProcessDefinition = (processDefinitions) => {
|
|
522
|
+
if (!processDefinitions || processDefinitions.length === 0)
|
|
523
|
+
return null;
|
|
524
|
+
return processDefinitions.reduce((acc, version) => version.version > acc.version ? version : acc);
|
|
525
|
+
};
|
|
526
|
+
const initBreadcrumbsForContext = (breadcrumbService, translateService, params, context) => {
|
|
527
|
+
if (!params)
|
|
528
|
+
return;
|
|
529
|
+
if (context === 'case') {
|
|
530
|
+
const caseParams = params;
|
|
531
|
+
const route = `/case-management/case/${caseParams.caseDefinitionKey}/version/${caseParams.caseDefinitionVersionTag}`;
|
|
532
|
+
breadcrumbService.setThirdBreadcrumb({
|
|
533
|
+
route: [route],
|
|
534
|
+
content: `${caseParams.caseDefinitionKey} (${caseParams.caseDefinitionVersionTag})`,
|
|
535
|
+
href: route,
|
|
536
|
+
});
|
|
537
|
+
const routeWithProcesses = `${route}/processes`;
|
|
538
|
+
breadcrumbService.setFourthBreadcrumb({
|
|
539
|
+
route: [routeWithProcesses],
|
|
540
|
+
content: translateService.instant('caseManagement.tabs.processes'),
|
|
541
|
+
href: routeWithProcesses,
|
|
542
|
+
});
|
|
543
|
+
}
|
|
544
|
+
if (context === 'buildingBlock') {
|
|
545
|
+
const bbParams = params;
|
|
546
|
+
const route = `/building-block-management/building-block/${bbParams.buildingBlockDefinitionKey}/version/${bbParams.buildingBlockDefinitionVersionTag}`;
|
|
547
|
+
const generalRoute = `${route}/general`;
|
|
548
|
+
breadcrumbService.setThirdBreadcrumb({
|
|
549
|
+
route: [generalRoute],
|
|
550
|
+
content: `${bbParams.buildingBlockDefinitionKey} (${bbParams.buildingBlockDefinitionVersionTag})`,
|
|
551
|
+
href: generalRoute,
|
|
552
|
+
});
|
|
553
|
+
const processRoute = `${route}/process-definition`;
|
|
554
|
+
breadcrumbService.setFourthBreadcrumb({
|
|
555
|
+
route: [processRoute],
|
|
556
|
+
content: translateService.instant('buildingBlockManagement.tabs.processes'),
|
|
557
|
+
href: processRoute,
|
|
558
|
+
});
|
|
559
|
+
}
|
|
560
|
+
};
|
|
561
|
+
const DisableBpmnWriteModule = {
|
|
562
|
+
paletteProvider: ['value', {}],
|
|
563
|
+
contextPadProvider: ['value', {}],
|
|
564
|
+
directEditing: [
|
|
565
|
+
'value',
|
|
566
|
+
{
|
|
567
|
+
registerProvider: () => { },
|
|
568
|
+
activate: () => { },
|
|
569
|
+
deactivate: () => { },
|
|
570
|
+
isActive: () => false,
|
|
571
|
+
},
|
|
572
|
+
],
|
|
573
|
+
move: ['value', null],
|
|
574
|
+
resizeHandles: ['value', { addResizer: () => { }, removeResizers: () => { } }],
|
|
575
|
+
};
|
|
576
|
+
const disableCommands = (editor) => {
|
|
577
|
+
const commandStack = editor.get('commandStack');
|
|
578
|
+
const originalExecute = commandStack?.execute?.bind(commandStack);
|
|
579
|
+
if (commandStack?.execute) {
|
|
580
|
+
commandStack.execute = (command, context) => {
|
|
581
|
+
if (command === 'elements.delete' ||
|
|
582
|
+
command === 'elements.copy' ||
|
|
583
|
+
command === 'elements.paste' ||
|
|
584
|
+
command === 'elements.create') {
|
|
585
|
+
return;
|
|
586
|
+
}
|
|
587
|
+
originalExecute(command, context);
|
|
588
|
+
};
|
|
589
|
+
}
|
|
590
|
+
};
|
|
591
|
+
const applyBuildingBlockCalledElement = (editor, activityId, mainProcessDefinitionKey, versionTag) => {
|
|
592
|
+
if (!editor)
|
|
593
|
+
return;
|
|
594
|
+
const elementRegistry = editor.get('elementRegistry');
|
|
595
|
+
const modeling = editor.get('modeling');
|
|
596
|
+
const moddle = editor.get('moddle');
|
|
597
|
+
const element = elementRegistry.get(activityId);
|
|
598
|
+
if (!element || !is(element, 'bpmn:CallActivity')) {
|
|
599
|
+
return;
|
|
600
|
+
}
|
|
601
|
+
modeling.updateProperties(element, {
|
|
602
|
+
calledElement: mainProcessDefinitionKey,
|
|
603
|
+
'camunda:calledElementBinding': 'versionTag',
|
|
604
|
+
'camunda:calledElementVersionTag': versionTag,
|
|
605
|
+
'camunda:calledElementType': 'BPMN',
|
|
606
|
+
});
|
|
607
|
+
let extensionElements = element.businessObject.extensionElements;
|
|
608
|
+
if (!extensionElements) {
|
|
609
|
+
extensionElements = moddle.create('bpmn:ExtensionElements', { values: [] });
|
|
610
|
+
modeling.updateProperties(element, {
|
|
611
|
+
extensionElements,
|
|
612
|
+
});
|
|
613
|
+
}
|
|
614
|
+
extensionElements.values = (extensionElements.values || []).filter((val) => !(val.$type === 'camunda:In' && val.businessKey));
|
|
615
|
+
const inWithBusinessKey = moddle.create('camunda:In', {
|
|
616
|
+
businessKey: '#{buildingBlockDocumentId}',
|
|
617
|
+
});
|
|
618
|
+
extensionElements.values.push(inWithBusinessKey);
|
|
619
|
+
modeling.updateProperties(element, {
|
|
620
|
+
extensionElements,
|
|
621
|
+
});
|
|
622
|
+
};
|
|
623
|
+
const clearBuildingBlockCalledElement = (editor, activityId) => {
|
|
624
|
+
const localEditor = editor;
|
|
625
|
+
if (!localEditor)
|
|
626
|
+
return;
|
|
627
|
+
const elementRegistry = localEditor.get('elementRegistry');
|
|
628
|
+
const modeling = localEditor.get('modeling');
|
|
629
|
+
const element = elementRegistry.get(activityId);
|
|
630
|
+
if (!element || !is(element, 'bpmn:CallActivity'))
|
|
631
|
+
return;
|
|
632
|
+
const bo = element.businessObject;
|
|
633
|
+
const versionTag = bo.get('camunda:calledElementVersionTag');
|
|
634
|
+
if (!versionTag || !versionTag.startsWith('BB:'))
|
|
635
|
+
return;
|
|
636
|
+
const props = {
|
|
637
|
+
calledElement: undefined,
|
|
638
|
+
'camunda:calledElementBinding': undefined,
|
|
639
|
+
'camunda:calledElementVersionTag': undefined,
|
|
640
|
+
'camunda:calledElementType': undefined,
|
|
641
|
+
};
|
|
642
|
+
const extensionElements = bo.extensionElements;
|
|
643
|
+
if (extensionElements && Array.isArray(extensionElements.values)) {
|
|
644
|
+
// Keep all elements except camunda:In with businessKey (building block mapping)
|
|
645
|
+
extensionElements.values = extensionElements.values.filter((val) => val.$type !== 'camunda:In' || !val.businessKey);
|
|
646
|
+
if (extensionElements.values.length === 0) {
|
|
647
|
+
props.extensionElements = undefined;
|
|
648
|
+
}
|
|
649
|
+
else {
|
|
650
|
+
props.extensionElements = extensionElements;
|
|
651
|
+
}
|
|
652
|
+
}
|
|
653
|
+
modeling.updateProperties(element, props);
|
|
654
|
+
const attrs = bo.$attrs || {};
|
|
655
|
+
Object.keys(attrs).forEach(key => {
|
|
656
|
+
if (key.startsWith('camunda:calledElement'))
|
|
657
|
+
delete attrs[key];
|
|
658
|
+
if (key === 'calledElement')
|
|
659
|
+
delete attrs[key];
|
|
660
|
+
});
|
|
661
|
+
};
|
|
662
|
+
|
|
490
663
|
/*
|
|
491
664
|
* Copyright 2015-2025 Ritense BV, the Netherlands.
|
|
492
665
|
*
|
|
@@ -575,39 +748,46 @@ class ValtimoPropertiesProvider {
|
|
|
575
748
|
const CustomRootElement = (props) => {
|
|
576
749
|
const { element, processLink, translateService, processManagementEditorService, pluginTranslationService, } = props;
|
|
577
750
|
const modeling = useService('modeling');
|
|
751
|
+
const elementRegistry = useService('elementRegistry');
|
|
578
752
|
const editProcessLinkText = translateService.instant('interface.edit');
|
|
579
753
|
const unlinkText = translateService.instant('processLink.unlink');
|
|
580
754
|
const createText = translateService.instant('processLink.create');
|
|
581
|
-
const
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
755
|
+
const getModalParams = () => {
|
|
756
|
+
const currentElement = elementRegistry.get(element.id) || element;
|
|
757
|
+
return {
|
|
758
|
+
processDefinitionKey: processManagementEditorService.selectionProcessDefinition?.key,
|
|
759
|
+
processDefinitionId: processManagementEditorService.selectionProcessDefinition?.id,
|
|
760
|
+
element: {
|
|
761
|
+
id: currentElement.id,
|
|
762
|
+
type: currentElement.type,
|
|
763
|
+
activityListenerType: mapActivityTypeToActivityListenerType(currentElement.type),
|
|
764
|
+
name: currentElement.di?.bpmnElement?.name,
|
|
765
|
+
},
|
|
766
|
+
};
|
|
590
767
|
};
|
|
591
768
|
const handleCreateClick = () => {
|
|
592
769
|
const event = {
|
|
593
|
-
modalParams,
|
|
770
|
+
modalParams: getModalParams(),
|
|
594
771
|
};
|
|
595
772
|
processManagementEditorService.sendOpenProcessLinkModalEvent(event, () => {
|
|
596
|
-
modeling.updateProperties
|
|
773
|
+
// Defer to avoid calling modeling.updateProperties during command stack execute/revert phase
|
|
774
|
+
setTimeout(() => modeling.updateProperties(element, {}), 0);
|
|
597
775
|
});
|
|
598
776
|
};
|
|
599
777
|
const handleEditClick = () => {
|
|
600
778
|
const event = {
|
|
601
779
|
processLink,
|
|
602
|
-
modalParams,
|
|
780
|
+
modalParams: getModalParams(),
|
|
603
781
|
};
|
|
604
782
|
processManagementEditorService.sendOpenProcessLinkModalEvent(event, () => {
|
|
605
|
-
modeling.updateProperties
|
|
783
|
+
// Defer to avoid calling modeling.updateProperties during command stack execute/revert phase
|
|
784
|
+
setTimeout(() => modeling.updateProperties(element, {}), 0);
|
|
606
785
|
});
|
|
607
786
|
};
|
|
608
787
|
const handleUnlinkClick = () => {
|
|
609
|
-
processManagementEditorService.
|
|
610
|
-
modeling.updateProperties
|
|
788
|
+
processManagementEditorService.sendDeleteProcessLinkEvent({ activityId: processLink.activityId }, () => {
|
|
789
|
+
// Defer to avoid calling modeling.updateProperties during command stack execute/revert phase
|
|
790
|
+
setTimeout(() => modeling.updateProperties(element, {}), 0);
|
|
611
791
|
});
|
|
612
792
|
};
|
|
613
793
|
const processLinkFormDefinitionId = processLink?.formDefinitionId;
|
|
@@ -675,6 +855,40 @@ const CustomRootElement = (props) => {
|
|
|
675
855
|
</div>
|
|
676
856
|
</div>`;
|
|
677
857
|
}
|
|
858
|
+
const buildingBlockDefinitionKey = processLink?.buildingBlockDefinitionKey;
|
|
859
|
+
const buildingBlockDefinitionVersion = processLink?.buildingBlockDefinitionVersionTag;
|
|
860
|
+
if (buildingBlockDefinitionKey) {
|
|
861
|
+
return html `<div class="process-link-properties-panel">
|
|
862
|
+
<div class="process-link-properties-panel__header">
|
|
863
|
+
<span class="process-link-properties-panel__title"
|
|
864
|
+
>${buildingBlockDefinitionKey} (${buildingBlockDefinitionVersion})</span
|
|
865
|
+
>
|
|
866
|
+
|
|
867
|
+
<cds-tag
|
|
868
|
+
class="cds--tag cds--tag--green cds--tag--md cds--layout--size-md cds-tag--no-margin"
|
|
869
|
+
><span class="cds--tag__label">
|
|
870
|
+
${translateService.instant('processLinkType.building-block')}
|
|
871
|
+
</span>
|
|
872
|
+
</cds-tag>
|
|
873
|
+
</div>
|
|
874
|
+
|
|
875
|
+
<div class="process-link-properties-panel__buttons">
|
|
876
|
+
<button
|
|
877
|
+
class="cds--btn cds--btn--danger cds--btn--sm cds--layout--side-md"
|
|
878
|
+
onClick=${handleUnlinkClick}
|
|
879
|
+
>
|
|
880
|
+
${unlinkText}
|
|
881
|
+
</button>
|
|
882
|
+
|
|
883
|
+
<button
|
|
884
|
+
class="cds--btn cds--btn--primary cds--btn--sm cds--layout--size-md"
|
|
885
|
+
onClick=${handleEditClick}
|
|
886
|
+
>
|
|
887
|
+
${editProcessLinkText}
|
|
888
|
+
</button>
|
|
889
|
+
</div>
|
|
890
|
+
</div>`;
|
|
891
|
+
}
|
|
678
892
|
const pluginActionKey = processLink?.pluginActionDefinitionKey;
|
|
679
893
|
const pluginActionTranslation = pluginTranslationService.instantByPluginActionKey(pluginActionKey);
|
|
680
894
|
const pluginTitleTranslation = pluginTranslationService.instantPluginTitleByPluginActionKey(pluginActionKey);
|
|
@@ -808,9 +1022,8 @@ const ValtimoPropertiesProviderModule = {
|
|
|
808
1022
|
* See the License for the specific language governing permissions and
|
|
809
1023
|
* limitations under the License.
|
|
810
1024
|
*/
|
|
811
|
-
class ProcessManagementBuilderComponent
|
|
812
|
-
constructor(breadcrumbService, iconService, logger, modalService, notificationService, pageHeaderService, pageTitleService, processLinkService, processLinkStateService, processManagementEditorService, processManagementService, processService, route, router, translateService, pluginTranslationService, editPermissionsService) {
|
|
813
|
-
super();
|
|
1025
|
+
class ProcessManagementBuilderComponent {
|
|
1026
|
+
constructor(breadcrumbService, iconService, logger, modalService, notificationService, pageHeaderService, pageTitleService, processLinkService, processLinkStateService, processManagementEditorService, processManagementService, processService, route, router, translateService, pluginTranslationService, editPermissionsService, processLinkBuildingBlockApiService) {
|
|
814
1027
|
this.breadcrumbService = breadcrumbService;
|
|
815
1028
|
this.iconService = iconService;
|
|
816
1029
|
this.logger = logger;
|
|
@@ -828,6 +1041,7 @@ class ProcessManagementBuilderComponent extends PendingChangesComponent {
|
|
|
828
1041
|
this.translateService = translateService;
|
|
829
1042
|
this.pluginTranslationService = pluginTranslationService;
|
|
830
1043
|
this.editPermissionsService = editPermissionsService;
|
|
1044
|
+
this.processLinkBuildingBlockApiService = processLinkBuildingBlockApiService;
|
|
831
1045
|
this._selectedProcess$ = new BehaviorSubject(null);
|
|
832
1046
|
this.loading$ = new BehaviorSubject(true);
|
|
833
1047
|
this.isReadOnlyProcess$ = new BehaviorSubject(false);
|
|
@@ -836,7 +1050,7 @@ class ProcessManagementBuilderComponent extends PendingChangesComponent {
|
|
|
836
1050
|
this.startableByUser$ = new BehaviorSubject(false);
|
|
837
1051
|
this.selectedProcessDefinitionXml$ = this.processManagementEditorService.selectionProcessDefinition$.pipe(filter(selectedProcessDefinition => !!selectedProcessDefinition?.id), distinctUntilChanged((previous, current) => isEqual(previous, current)), tap(selectedProcessDefinition => {
|
|
838
1052
|
this.loading$.next(true);
|
|
839
|
-
this.pageTitleService.setCustomPageTitle(selectedProcessDefinition
|
|
1053
|
+
this.pageTitleService.setCustomPageTitle(selectedProcessDefinition?.name || '-');
|
|
840
1054
|
}), switchMap(selectedProcessDefinition => this.processService.getProcessDefinitionXml(selectedProcessDefinition.id)), tap(result => {
|
|
841
1055
|
this.cleanUpListenersOnModeler();
|
|
842
1056
|
this._bpmnModeler?.importXML(result.bpmn20Xml);
|
|
@@ -852,25 +1066,24 @@ class ProcessManagementBuilderComponent extends PendingChangesComponent {
|
|
|
852
1066
|
return 'create';
|
|
853
1067
|
}
|
|
854
1068
|
const param = this.route.snapshot.paramMap.get('processDefinitionKey');
|
|
855
|
-
|
|
1069
|
+
const idParam = this.route.snapshot.paramMap.get('processDefinitionId');
|
|
1070
|
+
return param || idParam || null;
|
|
856
1071
|
}), filter(editParam => !!editParam));
|
|
857
1072
|
this.context$ = getContextObservable(this.route);
|
|
858
|
-
this.managementParams$ = this.context$.pipe(filter(context => context === 'case'), switchMap(
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
1073
|
+
this.managementParams$ = this.context$.pipe(filter(context => context === 'case' || context === 'buildingBlock'), switchMap(context => context === 'case'
|
|
1074
|
+
? getCaseManagementRouteParams(this.route)
|
|
1075
|
+
: getBuildingBlockManagementRouteParams(this.route)));
|
|
1076
|
+
this.hasEditPermissions$ = this.context$.pipe(switchMap(context => {
|
|
1077
|
+
if (context === 'independent') {
|
|
1078
|
+
return of(true);
|
|
1079
|
+
}
|
|
1080
|
+
return this.managementParams$.pipe(switchMap(params => this.editPermissionsService.hasPermissionsToEditBasedOnContext(params, context)));
|
|
1081
|
+
}));
|
|
864
1082
|
this._reload$ = new Subject();
|
|
865
|
-
this.processDefinitionVersions$ = combineLatest([
|
|
866
|
-
this.editParam$,
|
|
867
|
-
this.context$,
|
|
868
|
-
this._reload$.pipe(startWith(null)),
|
|
869
|
-
]).pipe(switchMap(([editParam, context]) => context === 'independent'
|
|
1083
|
+
this.processDefinitionVersions$ = combineLatest([this.editParam$, this.context$, this._reload$.pipe(startWith(null))]).pipe(switchMap(([editParam, context]) => context === 'independent'
|
|
870
1084
|
? this.processManagementService.getUnlinkedProcessDefinitionsByKey(editParam)
|
|
871
1085
|
: of([])), map$1(result => result.map(resultItem => resultItem.processDefinition)), tap(processDefinitions => {
|
|
872
1086
|
this.changesPending$.next(false);
|
|
873
|
-
this.pendingChanges = false;
|
|
874
1087
|
this.setSelectedProcessDefinitionToLatest(processDefinitions);
|
|
875
1088
|
}));
|
|
876
1089
|
this.processDefinitionVersionsListItems$ = combineLatest([
|
|
@@ -919,7 +1132,6 @@ class ProcessManagementBuilderComponent extends PendingChangesComponent {
|
|
|
919
1132
|
this.subscribeToProcessLinkUpdateEvents();
|
|
920
1133
|
this.subscribeToProcessLinkCreateEvents();
|
|
921
1134
|
this.subscribeToProcessLinkDeleteEvents();
|
|
922
|
-
this.processLinkStateService.setEditMode(ProcessLinkEditMode.EMIT_EVENTS);
|
|
923
1135
|
this.initEditing();
|
|
924
1136
|
}
|
|
925
1137
|
ngOnDestroy() {
|
|
@@ -954,19 +1166,22 @@ class ProcessManagementBuilderComponent extends PendingChangesComponent {
|
|
|
954
1166
|
])
|
|
955
1167
|
.pipe(take(1), switchMap(([result, processLinks, selectedProcessDefinition, context, params]) => {
|
|
956
1168
|
if (context === 'case') {
|
|
957
|
-
|
|
1169
|
+
const caseManagementParams = params;
|
|
1170
|
+
return this.processLinkService.deployProcessWithProcessLinksForCase(processLinks, selectedProcessDefinition.id, !isReadOnlyProcess ? (result?.xml ?? '') : null, caseManagementParams?.caseDefinitionKey ?? '', caseManagementParams?.caseDefinitionVersionTag ?? '', this.canInitializeDocument$.getValue(), this.startableByUser$.getValue());
|
|
1171
|
+
}
|
|
1172
|
+
if (context === 'buildingBlock') {
|
|
1173
|
+
const buildingBlockManagementParams = params;
|
|
1174
|
+
return this.processLinkService.deployProcessWithProcessLinksForBuildingBlock(processLinks, selectedProcessDefinition.id, result?.xml, buildingBlockManagementParams.buildingBlockDefinitionKey, buildingBlockManagementParams.buildingBlockDefinitionVersionTag);
|
|
958
1175
|
}
|
|
959
1176
|
return this.processLinkService.deployProcessWithProcessLinks(processLinks, selectedProcessDefinition.id, !isReadOnlyProcess ? (result?.xml ?? '') : null);
|
|
960
1177
|
}), switchMap(() => this.context$))
|
|
961
1178
|
.subscribe({
|
|
962
1179
|
next: context => {
|
|
963
1180
|
if (context === 'independent') {
|
|
964
|
-
this.pendingChanges = false;
|
|
965
1181
|
this.reload();
|
|
966
1182
|
this.showNotification('success');
|
|
967
1183
|
}
|
|
968
1184
|
else {
|
|
969
|
-
this.pendingChanges = false;
|
|
970
1185
|
this.navigateBack('success');
|
|
971
1186
|
}
|
|
972
1187
|
},
|
|
@@ -987,13 +1202,19 @@ class ProcessManagementBuilderComponent extends PendingChangesComponent {
|
|
|
987
1202
|
...link,
|
|
988
1203
|
processDefinitionId: '-',
|
|
989
1204
|
}));
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
1205
|
+
switch (context) {
|
|
1206
|
+
case 'independent':
|
|
1207
|
+
return this.processLinkService.deployProcessWithProcessLinks(mappedProcessLinks, null, result.xml ?? '');
|
|
1208
|
+
case 'buildingBlock':
|
|
1209
|
+
const buildingBlockParams = params;
|
|
1210
|
+
return this.processLinkService.deployProcessWithProcessLinksForBuildingBlock(mappedProcessLinks, null, result.xml ?? '', buildingBlockParams.buildingBlockDefinitionKey, buildingBlockParams.buildingBlockDefinitionVersionTag);
|
|
1211
|
+
case 'case':
|
|
1212
|
+
const caseManagementParams = params;
|
|
1213
|
+
return this.processLinkService.deployProcessWithProcessLinksForCase(mappedProcessLinks, null, result.xml ?? '', caseManagementParams.caseDefinitionKey, caseManagementParams.caseDefinitionVersionTag, this.canInitializeDocument$.getValue(), this.startableByUser$.getValue());
|
|
1214
|
+
}
|
|
993
1215
|
}))
|
|
994
1216
|
.subscribe({
|
|
995
1217
|
next: () => {
|
|
996
|
-
this.pendingChanges = false;
|
|
997
1218
|
this.navigateBack('success');
|
|
998
1219
|
},
|
|
999
1220
|
error: () => {
|
|
@@ -1040,9 +1261,9 @@ class ProcessManagementBuilderComponent extends PendingChangesComponent {
|
|
|
1040
1261
|
});
|
|
1041
1262
|
}
|
|
1042
1263
|
setSelectedProcessDefinitionToLatest(processDefinitions) {
|
|
1043
|
-
|
|
1264
|
+
const latest = getLatestProcessDefinition(processDefinitions);
|
|
1265
|
+
if (!latest)
|
|
1044
1266
|
return;
|
|
1045
|
-
const latest = processDefinitions.reduce((acc, version) => version.version > acc.version ? version : acc);
|
|
1046
1267
|
this.processManagementEditorService.setSelectedProcessDefinition(latest);
|
|
1047
1268
|
}
|
|
1048
1269
|
initModeler() {
|
|
@@ -1060,12 +1281,11 @@ class ProcessManagementBuilderComponent extends PendingChangesComponent {
|
|
|
1060
1281
|
this._bpmnModeler?.attachTo(this.modelerElementRef.nativeElement);
|
|
1061
1282
|
this._bpmnModeler.on('commandStack.changed', () => {
|
|
1062
1283
|
this.changesPending$.next(true);
|
|
1063
|
-
this.pendingChanges = true;
|
|
1064
1284
|
});
|
|
1065
1285
|
this._bpmnModeler.on('import.done', () => {
|
|
1066
1286
|
const idMap = {};
|
|
1067
1287
|
const elementRegistry = this._bpmnModeler.get('elementRegistry');
|
|
1068
|
-
elementRegistry.forEach(element => {
|
|
1288
|
+
elementRegistry.forEach((element) => {
|
|
1069
1289
|
const activityId = element?.di?.id;
|
|
1070
1290
|
const businessId = element?.id;
|
|
1071
1291
|
if (!activityId || !businessId)
|
|
@@ -1077,36 +1297,6 @@ class ProcessManagementBuilderComponent extends PendingChangesComponent {
|
|
|
1077
1297
|
});
|
|
1078
1298
|
}
|
|
1079
1299
|
initViewer() {
|
|
1080
|
-
const disableCommands = () => {
|
|
1081
|
-
const commandStack = this._bpmnViewer.get('commandStack');
|
|
1082
|
-
const originalExecute = commandStack?.execute?.bind(commandStack);
|
|
1083
|
-
if (commandStack?.execute) {
|
|
1084
|
-
commandStack.execute = (command, context) => {
|
|
1085
|
-
if (command === 'elements.delete' ||
|
|
1086
|
-
command === 'elements.copy' ||
|
|
1087
|
-
command === 'elements.paste' ||
|
|
1088
|
-
command === 'elements.create') {
|
|
1089
|
-
return;
|
|
1090
|
-
}
|
|
1091
|
-
originalExecute(command, context);
|
|
1092
|
-
};
|
|
1093
|
-
}
|
|
1094
|
-
};
|
|
1095
|
-
const DisableBpmnWriteModule = {
|
|
1096
|
-
paletteProvider: ['value', {}],
|
|
1097
|
-
contextPadProvider: ['value', {}],
|
|
1098
|
-
directEditing: [
|
|
1099
|
-
'value',
|
|
1100
|
-
{
|
|
1101
|
-
registerProvider: () => { },
|
|
1102
|
-
activate: () => { },
|
|
1103
|
-
deactivate: () => { },
|
|
1104
|
-
isActive: () => false,
|
|
1105
|
-
},
|
|
1106
|
-
],
|
|
1107
|
-
move: ['value', null],
|
|
1108
|
-
resizeHandles: ['value', { addResizer: () => { }, removeResizers: () => { } }],
|
|
1109
|
-
};
|
|
1110
1300
|
this._bpmnViewer = new Modeler({
|
|
1111
1301
|
additionalModules: [
|
|
1112
1302
|
DisableBpmnWriteModule,
|
|
@@ -1119,10 +1309,9 @@ class ProcessManagementBuilderComponent extends PendingChangesComponent {
|
|
|
1119
1309
|
this._bpmnViewer?.attachTo(this.viewerElementRef.nativeElement);
|
|
1120
1310
|
this._bpmnViewer.on('commandStack.changed', () => {
|
|
1121
1311
|
this.changesPending$.next(true);
|
|
1122
|
-
this.pendingChanges = true;
|
|
1123
1312
|
});
|
|
1124
1313
|
this._bpmnViewer.on('import.done', () => {
|
|
1125
|
-
disableCommands();
|
|
1314
|
+
disableCommands(this._bpmnViewer);
|
|
1126
1315
|
});
|
|
1127
1316
|
}
|
|
1128
1317
|
reload() {
|
|
@@ -1161,6 +1350,11 @@ class ProcessManagementBuilderComponent extends PendingChangesComponent {
|
|
|
1161
1350
|
this.processManagementEditorService.updateProcessLink(event);
|
|
1162
1351
|
this.processLinkStateService.stopSaving();
|
|
1163
1352
|
this.processLinkStateService.closeModal();
|
|
1353
|
+
const buildingBlockProcessLinkUpdateDto = event;
|
|
1354
|
+
if (buildingBlockProcessLinkUpdateDto.buildingBlockDefinitionKey &&
|
|
1355
|
+
buildingBlockProcessLinkUpdateDto.buildingBlockDefinitionVersionTag) {
|
|
1356
|
+
this.setCalledElementForBuildingBlockProcessLink(buildingBlockProcessLinkUpdateDto.activityId, buildingBlockProcessLinkUpdateDto.buildingBlockDefinitionKey, buildingBlockProcessLinkUpdateDto.buildingBlockDefinitionVersionTag);
|
|
1357
|
+
}
|
|
1164
1358
|
}));
|
|
1165
1359
|
}
|
|
1166
1360
|
subscribeToProcessLinkCreateEvents() {
|
|
@@ -1168,13 +1362,19 @@ class ProcessManagementBuilderComponent extends PendingChangesComponent {
|
|
|
1168
1362
|
this.processManagementEditorService.createProcessLink(event);
|
|
1169
1363
|
this.processLinkStateService.stopSaving();
|
|
1170
1364
|
this.processLinkStateService.closeModal();
|
|
1365
|
+
const buildingBlockProcessLinkCreateDto = event;
|
|
1366
|
+
if (buildingBlockProcessLinkCreateDto.buildingBlockDefinitionKey &&
|
|
1367
|
+
buildingBlockProcessLinkCreateDto.buildingBlockDefinitionVersionTag) {
|
|
1368
|
+
this.setCalledElementForBuildingBlockProcessLink(buildingBlockProcessLinkCreateDto.activityId, buildingBlockProcessLinkCreateDto.buildingBlockDefinitionKey, buildingBlockProcessLinkCreateDto.buildingBlockDefinitionVersionTag);
|
|
1369
|
+
}
|
|
1171
1370
|
}));
|
|
1172
1371
|
}
|
|
1173
1372
|
subscribeToProcessLinkDeleteEvents() {
|
|
1174
|
-
this._subscriptions.add(this.processLinkStateService.processLinkDeleteEvents
|
|
1373
|
+
this._subscriptions.add(merge(this.processManagementEditorService.deleteProcessLinkEvents$, this.processLinkStateService.processLinkDeleteEvents$).subscribe(event => {
|
|
1175
1374
|
this.processManagementEditorService.deleteProcessLink(event);
|
|
1176
1375
|
this.processLinkStateService.stopSaving();
|
|
1177
1376
|
this.processLinkStateService.closeModal();
|
|
1377
|
+
this.unsetCalledElementForBuildingBlockProcessLink(event.activityId);
|
|
1178
1378
|
}));
|
|
1179
1379
|
}
|
|
1180
1380
|
initIfCreate() {
|
|
@@ -1216,32 +1416,24 @@ class ProcessManagementBuilderComponent extends PendingChangesComponent {
|
|
|
1216
1416
|
}));
|
|
1217
1417
|
}
|
|
1218
1418
|
openParamsAndContextSubscription() {
|
|
1219
|
-
this._subscriptions.add(
|
|
1419
|
+
this._subscriptions.add(combineLatest([
|
|
1420
|
+
getContextObservable(this.route),
|
|
1421
|
+
getCaseManagementRouteParams(this.route),
|
|
1422
|
+
getBuildingBlockManagementRouteParams(this.route),
|
|
1423
|
+
]).subscribe(([context, caseManagementParams, buildingBlockManagementParams]) => {
|
|
1220
1424
|
if (context)
|
|
1221
1425
|
this.processManagementService.context = context;
|
|
1222
|
-
|
|
1223
|
-
|
|
1426
|
+
this.processLinkStateService.setContext(context);
|
|
1427
|
+
if (caseManagementParams) {
|
|
1428
|
+
this.processManagementService.setParams(caseManagementParams.caseDefinitionKey, caseManagementParams.caseDefinitionVersionTag);
|
|
1429
|
+
}
|
|
1430
|
+
if (buildingBlockManagementParams) {
|
|
1431
|
+
this.processManagementService.setParams(buildingBlockManagementParams.buildingBlockDefinitionKey, buildingBlockManagementParams.buildingBlockDefinitionVersionTag);
|
|
1224
1432
|
}
|
|
1225
|
-
this.
|
|
1226
|
-
this.processManagementEditorService.
|
|
1433
|
+
initBreadcrumbsForContext(this.breadcrumbService, this.translateService, caseManagementParams || buildingBlockManagementParams, context);
|
|
1434
|
+
this.processManagementEditorService.setManagementRouteParams(context, caseManagementParams || buildingBlockManagementParams);
|
|
1227
1435
|
}));
|
|
1228
1436
|
}
|
|
1229
|
-
initBreadcrumbs(params, context) {
|
|
1230
|
-
if (context === 'independent')
|
|
1231
|
-
return;
|
|
1232
|
-
const route = `/case-management/case/${params.caseDefinitionKey}/version/${params.caseDefinitionVersionTag}`;
|
|
1233
|
-
this.breadcrumbService.setThirdBreadcrumb({
|
|
1234
|
-
route: [route],
|
|
1235
|
-
content: `${params.caseDefinitionKey} (${params.caseDefinitionVersionTag})`,
|
|
1236
|
-
href: route,
|
|
1237
|
-
});
|
|
1238
|
-
const routeWithForms = `${route}/processes`;
|
|
1239
|
-
this.breadcrumbService.setFourthBreadcrumb({
|
|
1240
|
-
route: [routeWithForms],
|
|
1241
|
-
content: this.translateService.instant('caseManagement.tabs.processes'),
|
|
1242
|
-
href: routeWithForms,
|
|
1243
|
-
});
|
|
1244
|
-
}
|
|
1245
1437
|
initEditing() {
|
|
1246
1438
|
combineLatest([this.editParam$, this.managementParams$.pipe(startWith(null)), this.context$])
|
|
1247
1439
|
.pipe(take(1), switchMap(([editParam, params, context]) => {
|
|
@@ -1250,11 +1442,18 @@ class ProcessManagementBuilderComponent extends PendingChangesComponent {
|
|
|
1250
1442
|
this.initIfCreate();
|
|
1251
1443
|
return of(null);
|
|
1252
1444
|
}
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
.
|
|
1257
|
-
|
|
1445
|
+
switch (context) {
|
|
1446
|
+
case 'case':
|
|
1447
|
+
const caseManagementParams = params;
|
|
1448
|
+
return this.processManagementService.getProcessDefinitionForCase(caseManagementParams.caseDefinitionKey, caseManagementParams.caseDefinitionVersionTag, editParam);
|
|
1449
|
+
case 'independent':
|
|
1450
|
+
return this.processManagementService
|
|
1451
|
+
.getUnlinkedProcessDefinitionsByKey(editParam)
|
|
1452
|
+
.pipe(map$1(processDefinitionResults => processDefinitionResults[0]));
|
|
1453
|
+
case 'buildingBlock':
|
|
1454
|
+
const buildingBlockParams = params;
|
|
1455
|
+
return this.processManagementService.getBuildingBlockProcessDefinition(buildingBlockParams.buildingBlockDefinitionKey, buildingBlockParams.buildingBlockDefinitionVersionTag, editParam);
|
|
1456
|
+
}
|
|
1258
1457
|
}), tap(res => {
|
|
1259
1458
|
if (res) {
|
|
1260
1459
|
this._selectedProcess$.next(res);
|
|
@@ -1266,15 +1465,36 @@ class ProcessManagementBuilderComponent extends PendingChangesComponent {
|
|
|
1266
1465
|
}))
|
|
1267
1466
|
.subscribe();
|
|
1268
1467
|
}
|
|
1269
|
-
|
|
1270
|
-
|
|
1468
|
+
setCalledElementForBuildingBlockProcessLink(activityId, buildingBlockDefinitionKey, buildingBlockDefinitionVersionTag) {
|
|
1469
|
+
const editor = this._bpmnModeler || this._bpmnViewer;
|
|
1470
|
+
if (!editor) {
|
|
1471
|
+
return;
|
|
1472
|
+
}
|
|
1473
|
+
this.processLinkBuildingBlockApiService
|
|
1474
|
+
.getMainProcessDefinitionKeyForBuildingBlock(buildingBlockDefinitionKey, buildingBlockDefinitionVersionTag)
|
|
1475
|
+
.subscribe({
|
|
1476
|
+
next: (mainProcessDefinitionKey) => {
|
|
1477
|
+
const versionTag = `BB:${buildingBlockDefinitionKey}:${buildingBlockDefinitionVersionTag}`;
|
|
1478
|
+
applyBuildingBlockCalledElement(editor, activityId, mainProcessDefinitionKey, versionTag);
|
|
1479
|
+
},
|
|
1480
|
+
});
|
|
1481
|
+
}
|
|
1482
|
+
unsetCalledElementForBuildingBlockProcessLink(activityId) {
|
|
1483
|
+
const editor = this._bpmnModeler || this._bpmnViewer;
|
|
1484
|
+
if (!editor) {
|
|
1485
|
+
return;
|
|
1486
|
+
}
|
|
1487
|
+
clearBuildingBlockCalledElement(editor, activityId);
|
|
1488
|
+
}
|
|
1489
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ProcessManagementBuilderComponent, deps: [{ token: i1$1.BreadcrumbService }, { token: i2$2.IconService }, { token: i3.NGXLogger }, { token: i1$1.ModalService }, { token: i2$1.GlobalNotificationService }, { token: i1$1.PageHeaderService }, { token: i1$1.PageTitleService }, { token: i5.ProcessLinkService }, { token: i5.ProcessLinkStateService }, { token: ProcessManagementEditorService }, { token: ProcessManagementService }, { token: i7.ProcessService }, { token: i8.ActivatedRoute }, { token: i8.Router }, { token: i4.TranslateService }, { token: i10.PluginTranslationService }, { token: i2$1.EditPermissionsService }, { token: i5.ProcessLinkBuildingBlockApiService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1490
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.18", type: ProcessManagementBuilderComponent, isStandalone: true, selector: "valtimo-process-management-builder", providers: [
|
|
1271
1491
|
ProcessManagementEditorService,
|
|
1272
1492
|
ProcessLinkStateService,
|
|
1273
1493
|
ProcessLinkStepService,
|
|
1274
1494
|
ProcessLinkButtonService,
|
|
1275
|
-
], viewQueries: [{ propertyName: "modelerElementRef", first: true, predicate: ["modeler"], descendants: true }, { propertyName: "modelerPanelElementRef", first: true, predicate: ["modelerPanel"], descendants: true }, { propertyName: "viewerElementRef", first: true, predicate: ["viewer"], descendants: true }, { propertyName: "viewerPanelElementRef", first: true, predicate: ["viewerPanel"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<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", styles: [":host{display:flex;flex-direction:column;gap:24px}.bpmn__container{position:relative;background-color:var(--cds-layer);width:100%}.bpmn__modeler{width:100%;height:100%;flex-direction:row;padding:1px;box-sizing:border-box;outline:1px solid var(--cds-border-subtle);outline-offset:-1px}.bpmn__modeler ::ng-deep .djs-container>svg{outline:none!important}.bpmn__modeler-canvas{width:100%}.bpmn__modeler-panel{width:481px;padding-left:1px;box-shadow:inset 1px 0 0 0 var(--cds-border-subtle);box-sizing:border-box}.bpmn__loading{width:100%;height:100%;display:flex;justify-content:center;align-items:center;background-color:var(--cds-background-selected)}.page-header-actions{display:flex;width:100%;justify-content:space-between}.page-header-actions__left-container{display:flex;gap:24px;align-items:flex-end}.page-header-actions__tags{display:flex;gap:8px;align-items:flex-end}.page-header-actions__version-dropdown{width:150px}.page-header-actions__buttons{display:flex;gap:16px;align-items:center}.page-header-actions__buttons cds-toggle{height:24px}.page-header-actions__buttons ::ng-deep .cds--toggle__label-text{display:none}.valtimo-process-builder__header{display:flex;justify-content:space-between}.valtimo-process-builder__actions>*:not(:last-child){margin-right:8px}::ng-deep .process-link-properties-panel{padding:8px 12px 16px;width:100%;display:flex;flex-direction:column;gap:16px}::ng-deep .process-link-properties-panel__buttons,::ng-deep .process-link-properties-panel__header{width:100%;display:flex;gap:16px}::ng-deep .process-link-properties-panel__header{align-items:flex-start;justify-content:space-between;border-bottom:1px solid var(--cds-border-subtle-00);padding-bottom:8px;padding-left:8px;padding-right:8px}::ng-deep .process-link-properties-panel__title{color:var(--cds-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px;margin:auto 0}::ng-deep .process-link-properties-panel__title-container{display:flex;flex-direction:column;gap:4px}::ng-deep .process-link-properties-panel__title-container :last-child{color:var(--cds-text-helper);font-style:italic}::ng-deep .process-link-properties-panel .cds--tag{margin:0}::ng-deep .process-link-properties-panel .cds--btn{flex-shrink:1;width:100%;display:flex;align-items:center}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "directive", type: FitPageDirective, selector: "[fitPage]", inputs: ["spaceAdjustment", "disabled", "disableOverflow"] }, { kind: "ngmodule", type: LoadingModule }, { kind: "directive", type: RenderInPageHeaderDirective, selector: "[renderInPageHeader]", inputs: ["fullWidth"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i2$2.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "hideLabel", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "readonly", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp", "fluid"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i2$2.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: SelectModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i2$2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i2$2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: TagModule }, { kind: "component", type: i2$2.Tag, selector: "cds-tag, ibm-tag", inputs: ["type", "size", "class", "skeleton"] }, { kind: "ngmodule", type: ProcessLinkModule }, { kind: "component", type: i5.ProcessLinkModalComponent, selector: "valtimo-process-link-modal" }, { kind: "ngmodule", type: DialogModule }, { kind: "component", type: i2$2.OverflowMenu, selector: "cds-overflow-menu, ibm-overflow-menu", inputs: ["buttonLabel", "description", "flip", "placement", "open", "customTrigger", "offset", "wrapperClass", "triggerClass"], outputs: ["openChange"] }, { kind: "component", type: i2$2.OverflowMenuOption, selector: "cds-overflow-menu-option, ibm-overflow-menu-option", inputs: ["divider", "type", "disabled", "href", "target", "innerClass"], outputs: ["selected"] }, { kind: "ngmodule", type: ToggleModule }, { kind: "component", type: i2$2.Toggle, selector: "cds-toggle, ibm-toggle", inputs: ["offText", "onText", "label", "size", "hideLabel", "ariaLabel", "skeleton"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "component", type: i2$2.Tooltip, selector: "cds-tooltip, ibm-tooltip", inputs: ["id", "enterDelayMs", "leaveDelayMs", "disabled", "description", "templateContext"] }] }); }
|
|
1495
|
+
], viewQueries: [{ propertyName: "modelerElementRef", first: true, predicate: ["modeler"], descendants: true }, { propertyName: "modelerPanelElementRef", first: true, predicate: ["modelerPanel"], descendants: true }, { propertyName: "viewerElementRef", first: true, predicate: ["viewer"], descendants: true }, { propertyName: "viewerPanelElementRef", first: true, predicate: ["viewerPanel"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<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", styles: [":host{display:flex;flex-direction:column;gap:24px}.bpmn__container{position:relative;background-color:var(--cds-layer);width:100%}.bpmn__modeler{width:100%;height:100%;flex-direction:row;padding:1px;box-sizing:border-box;outline:1px solid var(--cds-border-subtle);outline-offset:-1px}.bpmn__modeler ::ng-deep .djs-container>svg{outline:none!important}.bpmn__modeler-canvas{width:100%}.bpmn__modeler-panel{width:481px;padding-left:1px;box-shadow:inset 1px 0 0 0 var(--cds-border-subtle);box-sizing:border-box}.bpmn__loading{width:100%;height:100%;display:flex;justify-content:center;align-items:center;background-color:var(--cds-background-selected)}.page-header-actions{display:flex;width:100%;justify-content:space-between}.page-header-actions__left-container{display:flex;gap:24px;align-items:flex-end}.page-header-actions__tags{display:flex;gap:8px;align-items:flex-end}.page-header-actions__version-dropdown{width:150px}.page-header-actions__buttons{display:flex;gap:16px;align-items:center}.page-header-actions__buttons cds-toggle{height:24px}.page-header-actions__buttons ::ng-deep .cds--toggle__label-text{display:none}.valtimo-process-builder__header{display:flex;justify-content:space-between}.valtimo-process-builder__actions>*:not(:last-child){margin-right:8px}::ng-deep .process-link-properties-panel{padding:8px 12px 16px;width:100%;display:flex;flex-direction:column;gap:16px}::ng-deep .process-link-properties-panel__buttons,::ng-deep .process-link-properties-panel__header{width:100%;display:flex;gap:16px}::ng-deep .process-link-properties-panel__header{align-items:flex-start;justify-content:space-between;border-bottom:1px solid var(--cds-border-subtle-00);padding-bottom:8px;padding-left:8px;padding-right:8px}::ng-deep .process-link-properties-panel__title{color:var(--cds-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px;margin:auto 0}::ng-deep .process-link-properties-panel__title-container{display:flex;flex-direction:column;gap:4px}::ng-deep .process-link-properties-panel__title-container :last-child{color:var(--cds-text-helper);font-style:italic}::ng-deep .process-link-properties-panel .cds--tag{margin:0}::ng-deep .process-link-properties-panel .cds--btn{flex-shrink:1;width:100%;display:flex;align-items:center}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "directive", type: FitPageDirective, selector: "[fitPage]", inputs: ["spaceAdjustment", "fitPageDisabled", "disableOverflow"] }, { kind: "ngmodule", type: LoadingModule }, { kind: "directive", type: RenderInPageHeaderDirective, selector: "[renderInPageHeader]", inputs: ["fullWidth"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i2$2.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "hideLabel", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "readonly", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp", "fluid"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i2$2.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: SelectModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i2$2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i2$2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: TagModule }, { kind: "component", type: i2$2.Tag, selector: "cds-tag, ibm-tag", inputs: ["type", "size", "class", "skeleton"] }, { kind: "ngmodule", type: ProcessLinkModule }, { kind: "component", type: i5.ProcessLinkModalComponent, selector: "valtimo-process-link-modal" }, { kind: "ngmodule", type: DialogModule }, { kind: "component", type: i2$2.OverflowMenu, selector: "cds-overflow-menu, ibm-overflow-menu", inputs: ["buttonLabel", "description", "flip", "placement", "open", "customTrigger", "offset", "wrapperClass", "triggerClass"], outputs: ["openChange"] }, { kind: "component", type: i2$2.OverflowMenuOption, selector: "cds-overflow-menu-option, ibm-overflow-menu-option", inputs: ["divider", "type", "disabled", "href", "target", "innerClass"], outputs: ["selected"] }, { kind: "ngmodule", type: ToggleModule }, { kind: "component", type: i2$2.Toggle, selector: "cds-toggle, ibm-toggle", inputs: ["offText", "onText", "label", "size", "hideLabel", "ariaLabel", "skeleton"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "component", type: i2$2.Tooltip, selector: "cds-tooltip, ibm-tooltip", inputs: ["id", "enterDelayMs", "leaveDelayMs", "disabled", "description", "templateContext"] }] }); }
|
|
1276
1496
|
}
|
|
1277
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
1497
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ProcessManagementBuilderComponent, decorators: [{
|
|
1278
1498
|
type: Component,
|
|
1279
1499
|
args: [{ selector: 'valtimo-process-management-builder', standalone: true, imports: [
|
|
1280
1500
|
CommonModule,
|
|
@@ -1299,7 +1519,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImpo
|
|
|
1299
1519
|
ProcessLinkStepService,
|
|
1300
1520
|
ProcessLinkButtonService,
|
|
1301
1521
|
], template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<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", styles: [":host{display:flex;flex-direction:column;gap:24px}.bpmn__container{position:relative;background-color:var(--cds-layer);width:100%}.bpmn__modeler{width:100%;height:100%;flex-direction:row;padding:1px;box-sizing:border-box;outline:1px solid var(--cds-border-subtle);outline-offset:-1px}.bpmn__modeler ::ng-deep .djs-container>svg{outline:none!important}.bpmn__modeler-canvas{width:100%}.bpmn__modeler-panel{width:481px;padding-left:1px;box-shadow:inset 1px 0 0 0 var(--cds-border-subtle);box-sizing:border-box}.bpmn__loading{width:100%;height:100%;display:flex;justify-content:center;align-items:center;background-color:var(--cds-background-selected)}.page-header-actions{display:flex;width:100%;justify-content:space-between}.page-header-actions__left-container{display:flex;gap:24px;align-items:flex-end}.page-header-actions__tags{display:flex;gap:8px;align-items:flex-end}.page-header-actions__version-dropdown{width:150px}.page-header-actions__buttons{display:flex;gap:16px;align-items:center}.page-header-actions__buttons cds-toggle{height:24px}.page-header-actions__buttons ::ng-deep .cds--toggle__label-text{display:none}.valtimo-process-builder__header{display:flex;justify-content:space-between}.valtimo-process-builder__actions>*:not(:last-child){margin-right:8px}::ng-deep .process-link-properties-panel{padding:8px 12px 16px;width:100%;display:flex;flex-direction:column;gap:16px}::ng-deep .process-link-properties-panel__buttons,::ng-deep .process-link-properties-panel__header{width:100%;display:flex;gap:16px}::ng-deep .process-link-properties-panel__header{align-items:flex-start;justify-content:space-between;border-bottom:1px solid var(--cds-border-subtle-00);padding-bottom:8px;padding-left:8px;padding-right:8px}::ng-deep .process-link-properties-panel__title{color:var(--cds-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px;margin:auto 0}::ng-deep .process-link-properties-panel__title-container{display:flex;flex-direction:column;gap:4px}::ng-deep .process-link-properties-panel__title-container :last-child{color:var(--cds-text-helper);font-style:italic}::ng-deep .process-link-properties-panel .cds--tag{margin:0}::ng-deep .process-link-properties-panel .cds--btn{flex-shrink:1;width:100%;display:flex;align-items:center}\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"] }]
|
|
1302
|
-
}], ctorParameters: () => [{ type: i1$1.BreadcrumbService }, { type: i2$2.IconService }, { type: i3.NGXLogger }, { type: i1$1.ModalService }, { type: i2$1.GlobalNotificationService }, { type: i1$1.PageHeaderService }, { type: i1$1.PageTitleService }, { type: i5.ProcessLinkService }, { type: i5.ProcessLinkStateService }, { type: ProcessManagementEditorService }, { type: ProcessManagementService }, { type: i7.ProcessService }, { type: i8.ActivatedRoute }, { type: i8.Router }, { type: i4.TranslateService }, { type: i10.PluginTranslationService }, { type: i2$1.EditPermissionsService }], propDecorators: { modelerElementRef: [{
|
|
1522
|
+
}], ctorParameters: () => [{ type: i1$1.BreadcrumbService }, { type: i2$2.IconService }, { type: i3.NGXLogger }, { type: i1$1.ModalService }, { type: i2$1.GlobalNotificationService }, { type: i1$1.PageHeaderService }, { type: i1$1.PageTitleService }, { type: i5.ProcessLinkService }, { type: i5.ProcessLinkStateService }, { type: ProcessManagementEditorService }, { type: ProcessManagementService }, { type: i7.ProcessService }, { type: i8.ActivatedRoute }, { type: i8.Router }, { type: i4.TranslateService }, { type: i10.PluginTranslationService }, { type: i2$1.EditPermissionsService }, { type: i5.ProcessLinkBuildingBlockApiService }], propDecorators: { modelerElementRef: [{
|
|
1303
1523
|
type: ViewChild,
|
|
1304
1524
|
args: ['modeler', { static: false }]
|
|
1305
1525
|
}], modelerPanelElementRef: [{
|
|
@@ -1352,7 +1572,7 @@ class ProcessManagementListComponent {
|
|
|
1352
1572
|
getCaseManagementRouteParams(this.route),
|
|
1353
1573
|
this.context$,
|
|
1354
1574
|
]).pipe(switchMap(([params, context]) => {
|
|
1355
|
-
return this.editPermissionsService.hasPermissionsToEditBasedOnContext(params
|
|
1575
|
+
return this.editPermissionsService.hasPermissionsToEditBasedOnContext(params, context);
|
|
1356
1576
|
}));
|
|
1357
1577
|
this.FIELDS = [
|
|
1358
1578
|
{ key: 'processDefinition.name', label: 'processManagement.name' },
|
|
@@ -1408,10 +1628,10 @@ class ProcessManagementListComponent {
|
|
|
1408
1628
|
this.processToDelete$.next(process.processDefinition);
|
|
1409
1629
|
this.showDeleteModal$.next(true);
|
|
1410
1630
|
}
|
|
1411
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
1412
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
1631
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ProcessManagementListComponent, deps: [{ token: i2$2.IconService }, { token: i2$1.GlobalNotificationService }, { token: ProcessManagementService }, { token: ProcessManagementStateService }, { token: i4.TranslateService }, { token: i2$1.EnvironmentService }, { token: i8.ActivatedRoute }, { token: i2$1.EditPermissionsService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1632
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: ProcessManagementListComponent, isStandalone: true, selector: "valtimo-process-management-list", outputs: { processSelected: "processSelected" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<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", styles: ["/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i2$2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: CarbonListModule }, { kind: "component", type: i1$1.CarbonListComponent, selector: "valtimo-carbon-list", inputs: ["items", "fields", "tableTranslations", "paginatorConfig", "pagination", "loading", "skeletonRowCount", "actions", "actionItems", "showActionItems", "header", "hideColumnHeader", "initialSortState", "sortState", "isSearchable", "enableSingleSelection", "lastColumnTemplate", "paginationIdentifier", "showSelectionColumn", "striped", "hideToolbar", "lockedTooltipTranslationKey", "movingRowsEnabled", "dragAndDrop", "dragAndDropDisabled"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged", "moveRow", "itemsReordered"] }, { kind: "component", type: i1$1.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i2$2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ConfirmationModalModule }, { kind: "component", type: i1$1.ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: ["titleTranslationKey", "title", "content", "contentTranslationKey", "confirmButtonText", "confirmButtonTextTranslationKey", "confirmButtonType", "showOptionalButton", "optionalButtonText", "optionalButtonTextTranslationKey", "optionalButtonType", "cancelButtonText", "cancelButtonTextTranslationKey", "cancelButtonType", "showModalSubject$", "outputOnConfirm", "outputOnOptional", "spacerAfterCancelButton"], outputs: ["confirmEvent", "optionalEvent", "cancelEvent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1413
1633
|
}
|
|
1414
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
1634
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ProcessManagementListComponent, decorators: [{
|
|
1415
1635
|
type: Component,
|
|
1416
1636
|
args: [{ selector: 'valtimo-process-management-list', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
1417
1637
|
CommonModule,
|
|
@@ -1482,10 +1702,10 @@ class ProcessManagementUploadComponent {
|
|
|
1482
1702
|
},
|
|
1483
1703
|
});
|
|
1484
1704
|
}
|
|
1485
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
1486
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
1705
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ProcessManagementUploadComponent, deps: [{ token: i1$2.FormBuilder }, { token: i2$1.GlobalNotificationService }, { token: ProcessManagementService }, { token: ProcessManagementStateService }, { token: i4.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1706
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: ProcessManagementUploadComponent, isStandalone: true, selector: "valtimo-process-management-upload", ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<cds-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", styles: ["/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: FileUploaderModule }, { kind: "component", type: i2$2.FileUploader, selector: "cds-file-uploader, ibm-file-uploader", inputs: ["buttonText", "buttonType", "title", "description", "accept", "multiple", "skeleton", "size", "fileItemSize", "drop", "dropText", "fileUploaderId", "files", "disabled"], outputs: ["filesChange"] }, { kind: "ngmodule", type: ModalModule }, { kind: "component", type: i2$2.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i2$2.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i2$2.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i2$2.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i2$2.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "ngmodule", type: LayerModule }, { kind: "directive", type: i2$2.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i2$2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1487
1707
|
}
|
|
1488
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
1708
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ProcessManagementUploadComponent, decorators: [{
|
|
1489
1709
|
type: Component,
|
|
1490
1710
|
args: [{ selector: 'valtimo-process-management-upload', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
1491
1711
|
CommonModule,
|
|
@@ -1545,10 +1765,10 @@ class ProcessManagementComponent {
|
|
|
1545
1765
|
this.paramsAreSet$.next(true);
|
|
1546
1766
|
}));
|
|
1547
1767
|
}
|
|
1548
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
1549
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.
|
|
1768
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ProcessManagementComponent, deps: [{ token: ProcessManagementService }, { token: i8.ActivatedRoute }, { token: i8.Router }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1769
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.18", type: ProcessManagementComponent, isStandalone: true, selector: "valtimo-process-management", providers: [TranslateService], ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n 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", styles: ["/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "component", type: ProcessManagementListComponent, selector: "valtimo-process-management-list", outputs: ["processSelected"] }, { kind: "component", type: ProcessManagementUploadComponent, selector: "valtimo-process-management-upload" }, { kind: "ngmodule", type: LoadingModule }, { kind: "component", type: i2$2.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "ngmodule", type: NotificationModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1550
1770
|
}
|
|
1551
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
1771
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ProcessManagementComponent, decorators: [{
|
|
1552
1772
|
type: Component,
|
|
1553
1773
|
args: [{ selector: 'valtimo-process-management', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
1554
1774
|
CommonModule,
|
|
@@ -1629,11 +1849,11 @@ const routes = [
|
|
|
1629
1849
|
},
|
|
1630
1850
|
];
|
|
1631
1851
|
class ProcessManagementRoutingModule {
|
|
1632
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
1633
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.
|
|
1634
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.
|
|
1852
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ProcessManagementRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
1853
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.18", ngImport: i0, type: ProcessManagementRoutingModule, imports: [CommonModule, i8.RouterModule], exports: [RouterModule] }); }
|
|
1854
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ProcessManagementRoutingModule, imports: [CommonModule, RouterModule.forChild(routes), RouterModule] }); }
|
|
1635
1855
|
}
|
|
1636
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
1856
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ProcessManagementRoutingModule, decorators: [{
|
|
1637
1857
|
type: NgModule,
|
|
1638
1858
|
args: [{
|
|
1639
1859
|
declarations: [],
|
|
@@ -1658,8 +1878,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImpo
|
|
|
1658
1878
|
* limitations under the License.
|
|
1659
1879
|
*/
|
|
1660
1880
|
class ProcessManagementModule {
|
|
1661
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
1662
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.
|
|
1881
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ProcessManagementModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
1882
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.18", ngImport: i0, type: ProcessManagementModule, imports: [CommonModule,
|
|
1663
1883
|
ProcessManagementRoutingModule,
|
|
1664
1884
|
WidgetModule,
|
|
1665
1885
|
FormsModule,
|
|
@@ -1678,7 +1898,7 @@ class ProcessManagementModule {
|
|
|
1678
1898
|
ModalModule,
|
|
1679
1899
|
FileUploaderModule,
|
|
1680
1900
|
LayerModule] }); }
|
|
1681
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.
|
|
1901
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ProcessManagementModule, imports: [CommonModule,
|
|
1682
1902
|
ProcessManagementRoutingModule,
|
|
1683
1903
|
WidgetModule,
|
|
1684
1904
|
FormsModule,
|
|
@@ -1698,7 +1918,7 @@ class ProcessManagementModule {
|
|
|
1698
1918
|
FileUploaderModule,
|
|
1699
1919
|
LayerModule] }); }
|
|
1700
1920
|
}
|
|
1701
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
1921
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ProcessManagementModule, decorators: [{
|
|
1702
1922
|
type: NgModule,
|
|
1703
1923
|
args: [{
|
|
1704
1924
|
imports: [
|