@valtimo/case-management 13.39.0 → 13.41.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-case-management.mjs +156 -122
- package/fesm2022/valtimo-case-management.mjs.map +1 -1
- package/lib/components/case-management-deployment/case-management-deployment.component.d.ts +1 -1
- package/lib/components/case-management-deployment/case-management-deployment.component.d.ts.map +1 -1
- package/lib/components/case-management-detail/case-management-detail.component.d.ts +4 -2
- package/lib/components/case-management-detail/case-management-detail.component.d.ts.map +1 -1
- package/lib/components/case-management-detail/tabs/case-management-tabs/widget-tab/case-management-widget-tab/case-management-widget-tab.component.d.ts.map +1 -1
- package/lib/components/case-management-detail-actions/case-management-detail-actions.component.d.ts +4 -2
- package/lib/components/case-management-detail-actions/case-management-detail-actions.component.d.ts.map +1 -1
- package/lib/services/case-detail.service.d.ts +7 -1
- package/lib/services/case-detail.service.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -12,7 +12,7 @@ import * as i7 from '@valtimo/components';
|
|
|
12
12
|
import { WidgetLayout, runAfterCarbonModalClosed, ViewType, CARBON_CONSTANTS, ValuePathSelectorPrefix, SelectModule, MuuriItemComponent, WIDGET_LAYOUT_VALUES, WIDGET_LAYOUT_TRANSLATION_KEYS, ValtimoCdsModalDirective, WidgetLayoutInfoComponent, RenderInPageHeaderDirective, TooltipModule, CarbonListModule, ConfirmationModalModule, WidgetModule, DropzoneModule, ModalModule as ModalModule$1, MultiselectDropdownModule, ParagraphModule, SpinnerModule, InputModule as InputModule$1, FormModule, TooltipIconModule, CarbonMultiInputModule, TableModule, OverflowMenuComponent, OverflowMenuOptionComponent, EditorModule, ValuePathSelectorComponent, EllipsisPipe, MuuriDirectiveModule, ReadOnlyDirective, JsonEditorComponent, AutoKeyInputComponent } from '@valtimo/components';
|
|
13
13
|
import { FormManagementComponent, FormManagementEditComponent } from '@valtimo/form-management';
|
|
14
14
|
import * as i2$1 from '@valtimo/shared';
|
|
15
|
-
import { BaseApiService, InterceptorSkip, getCaseManagementRouteParams,
|
|
15
|
+
import { BaseApiService, InterceptorSkip, getCaseManagementRouteParams, InterceptorSkipHeader, CASE_MANAGEMENT_TAB_TOKEN, TagColor, getDisplayTypeParametersView, CASE_CONFIGURATION_EXTENSIONS_TOKEN, ROLE_ADMIN, ConfigModule } from '@valtimo/shared';
|
|
16
16
|
import * as i2 from 'carbon-components-angular';
|
|
17
17
|
import { NotificationModule, Tab, ButtonModule, IconModule, LayerModule, ModalModule, InputModule, TabsModule, ComboBoxModule, ProgressIndicatorModule, LoadingModule, TagModule, DropdownModule, CheckboxModule, LinkModule, DialogModule, FileUploaderModule, ProgressBarModule, ToggleModule, TooltipModule as TooltipModule$1, NumberModule } from 'carbon-components-angular';
|
|
18
18
|
import * as i2$2 from '@angular/router';
|
|
@@ -377,6 +377,104 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
|
|
|
377
377
|
args: [WIDGET_MANAGEMENT_SERVICE]
|
|
378
378
|
}] }, { type: i2$2.ActivatedRoute }] });
|
|
379
379
|
|
|
380
|
+
/*
|
|
381
|
+
* Copyright 2015-2026 Ritense BV, the Netherlands.
|
|
382
|
+
*
|
|
383
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
384
|
+
* you may not use this file except in compliance with the License.
|
|
385
|
+
* You may obtain a copy of the License at
|
|
386
|
+
*
|
|
387
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
388
|
+
*
|
|
389
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
390
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
391
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
392
|
+
* See the License for the specific language governing permissions and
|
|
393
|
+
* limitations under the License.
|
|
394
|
+
*/
|
|
395
|
+
class CaseManagementService extends BaseApiService {
|
|
396
|
+
constructor(httpClient, configService) {
|
|
397
|
+
super(httpClient, configService);
|
|
398
|
+
this.httpClient = httpClient;
|
|
399
|
+
this.configService = configService;
|
|
400
|
+
}
|
|
401
|
+
getCaseDefinitions(params) {
|
|
402
|
+
return this.httpClient.get(this.getApiUrl('management/v1/case-definition'), { params });
|
|
403
|
+
}
|
|
404
|
+
getCaseDefinitionVersions(caseDefinitionKey) {
|
|
405
|
+
return this.httpClient.get(this.getApiUrl(`management/v1/case-definition/${caseDefinitionKey}/version`), {
|
|
406
|
+
params: { size: 100 },
|
|
407
|
+
});
|
|
408
|
+
}
|
|
409
|
+
createDraftVersion(payload) {
|
|
410
|
+
return this.httpClient.post(this.getApiUrl(`management/v1/case-definition/draft`), payload);
|
|
411
|
+
}
|
|
412
|
+
isDraftVersion(caseDefinitionKey, caseDefinitionVersionTag) {
|
|
413
|
+
return this.httpClient
|
|
414
|
+
.get(this.getApiUrl(`management/v1/case-definition/${caseDefinitionKey}/version/${caseDefinitionVersionTag}`), {
|
|
415
|
+
headers: new HttpHeaders().set(InterceptorSkip, '403'),
|
|
416
|
+
})
|
|
417
|
+
.pipe(map(caseDefinition => !caseDefinition.final));
|
|
418
|
+
}
|
|
419
|
+
getGlobalActiveCase(caseDefinitionKey) {
|
|
420
|
+
return this.httpClient.get(this.getApiUrl(`management/v1/case-definition/${caseDefinitionKey}`), { headers: new HttpHeaders().set(InterceptorSkip, '404') });
|
|
421
|
+
}
|
|
422
|
+
setGlobalActiveCaseVersion(caseDefinitionKey, caseDefinitionVersionTag) {
|
|
423
|
+
return this.httpClient.post(this.getApiUrl(`management/v1/case-definition/${caseDefinitionKey}/version/${caseDefinitionVersionTag}/active`), {});
|
|
424
|
+
}
|
|
425
|
+
getAllCaseVersions(params) {
|
|
426
|
+
return this.httpClient.get(this.getApiUrl(`management/v1/case-definition`), { params });
|
|
427
|
+
}
|
|
428
|
+
finalizeDraftCaseVersion(caseDefinitionKey, caseDefinitionVersionTag) {
|
|
429
|
+
return this.httpClient.post(this.getApiUrl(`management/v1/case-definition/${caseDefinitionKey}/version/${caseDefinitionVersionTag}/finalize`), {});
|
|
430
|
+
}
|
|
431
|
+
deleteDraftCaseVersion(caseDefinitionKey, caseDefinitionVersionTag) {
|
|
432
|
+
return this.httpClient.delete(this.getApiUrl(`management/v1/case-definition/${caseDefinitionKey}/version/${caseDefinitionVersionTag}`));
|
|
433
|
+
}
|
|
434
|
+
getCaseDefinition(caseDefinitionKey, caseDefinitionVersionTag) {
|
|
435
|
+
return this.httpClient.get(this.getApiUrl(`management/v1/case-definition/${caseDefinitionKey}/version/${caseDefinitionVersionTag}`), {
|
|
436
|
+
headers: new HttpHeaders().set(InterceptorSkip, '403'),
|
|
437
|
+
});
|
|
438
|
+
}
|
|
439
|
+
previewImport(file) {
|
|
440
|
+
return this.httpClient.post(this.getApiUrl('management/v1/case/import/preview'), file, { headers: new HttpHeaders().set(InterceptorSkip, '400') });
|
|
441
|
+
}
|
|
442
|
+
importDocumentDefinitionZip(file, key, name, pluginConfigurationMappings) {
|
|
443
|
+
let params = new HttpParams();
|
|
444
|
+
if (key)
|
|
445
|
+
params = params.set('key', key);
|
|
446
|
+
if (name)
|
|
447
|
+
params = params.set('name', name);
|
|
448
|
+
if (pluginConfigurationMappings) {
|
|
449
|
+
file.set('pluginConfigurationMappings', new Blob([JSON.stringify(pluginConfigurationMappings)], { type: 'application/json' }));
|
|
450
|
+
}
|
|
451
|
+
return this.httpClient.post(this.getApiUrl('management/v1/case/import'), file, { params });
|
|
452
|
+
}
|
|
453
|
+
exportDocumentDefinition(caseDefinitionKey, caseDefinitionVersionTag = '0') {
|
|
454
|
+
return this.httpClient.get(this.getApiUrl(`management/v1/case/${caseDefinitionKey}/version/${caseDefinitionVersionTag}/export`), { observe: 'response', responseType: 'blob', headers: InterceptorSkipHeader });
|
|
455
|
+
}
|
|
456
|
+
getConfigurationIssues(caseDefinitionKey, caseDefinitionVersionTag) {
|
|
457
|
+
return this.httpClient.get(this.getApiUrl(`management/v1/case-definition/${caseDefinitionKey}/version/${caseDefinitionVersionTag}/configuration-issues`));
|
|
458
|
+
}
|
|
459
|
+
getDanglingPluginConfigurations(caseDefinitionKey, caseDefinitionVersionTag) {
|
|
460
|
+
return this.httpClient.get(this.getApiUrl(`management/v1/case-definition/${caseDefinitionKey}/version/${caseDefinitionVersionTag}/dangling-plugin-configurations`));
|
|
461
|
+
}
|
|
462
|
+
resolvePluginConfigurationMappings(caseDefinitionKey, caseDefinitionVersionTag, mappings) {
|
|
463
|
+
return this.httpClient.put(this.getApiUrl(`management/v1/case-definition/${caseDefinitionKey}/version/${caseDefinitionVersionTag}/plugin-configuration-mappings`), mappings);
|
|
464
|
+
}
|
|
465
|
+
getCaseDefinitionFinalizationCheck(caseDefinitionKey, caseDefinitionVersionTag) {
|
|
466
|
+
return this.httpClient.get(this.getApiUrl(`management/v1/case-definition/${caseDefinitionKey}/version/${caseDefinitionVersionTag}/finalizable`));
|
|
467
|
+
}
|
|
468
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: CaseManagementService, deps: [{ token: i1.HttpClient }, { token: i2$1.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
469
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: CaseManagementService, providedIn: 'root' }); }
|
|
470
|
+
}
|
|
471
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: CaseManagementService, decorators: [{
|
|
472
|
+
type: Injectable,
|
|
473
|
+
args: [{
|
|
474
|
+
providedIn: 'root',
|
|
475
|
+
}]
|
|
476
|
+
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2$1.ConfigService }] });
|
|
477
|
+
|
|
380
478
|
/*
|
|
381
479
|
* Copyright 2015-2025 Ritense BV, the Netherlands.
|
|
382
480
|
*
|
|
@@ -414,7 +512,11 @@ class CaseDetailService {
|
|
|
414
512
|
get documentDefinitionModel$() {
|
|
415
513
|
return this._documentDefinitionModel$.pipe(distinctUntilChanged());
|
|
416
514
|
}
|
|
417
|
-
|
|
515
|
+
get caseDefinition$() {
|
|
516
|
+
return this._caseDefinition$.asObservable();
|
|
517
|
+
}
|
|
518
|
+
constructor(caseManagementService, documentService, pageTitleService) {
|
|
519
|
+
this.caseManagementService = caseManagementService;
|
|
418
520
|
this.documentService = documentService;
|
|
419
521
|
this.pageTitleService = pageTitleService;
|
|
420
522
|
this._loadingDocumentDefinition$ = new BehaviorSubject(true);
|
|
@@ -422,6 +524,7 @@ class CaseDetailService {
|
|
|
422
524
|
this._selectedCaseDefinitionVersionTag$ = new BehaviorSubject(null);
|
|
423
525
|
this._selectedCaseDefinitionKey$ = new BehaviorSubject('');
|
|
424
526
|
this._documentDefinition$ = new BehaviorSubject(null);
|
|
527
|
+
this._caseDefinition$ = new BehaviorSubject(null);
|
|
425
528
|
this._documentDefinitionModel$ = this.documentDefinition$.pipe(map((definition) => ({
|
|
426
529
|
value: JSON.stringify(definition?.schema, null, 2),
|
|
427
530
|
language: 'json',
|
|
@@ -429,6 +532,7 @@ class CaseDetailService {
|
|
|
429
532
|
this._reloadDocumentDefinition$ = new Subject();
|
|
430
533
|
this._subscriptions = new Subscription();
|
|
431
534
|
this.openDocumentDefinitionSubscription();
|
|
535
|
+
this.openCaseDefinitionSubscription();
|
|
432
536
|
}
|
|
433
537
|
ngOnDestroy() {
|
|
434
538
|
this._subscriptions.unsubscribe();
|
|
@@ -454,22 +558,28 @@ class CaseDetailService {
|
|
|
454
558
|
this.selectedCaseDefinitionKey$,
|
|
455
559
|
this._reloadDocumentDefinition$.pipe(startWith(null)),
|
|
456
560
|
])
|
|
457
|
-
.pipe(tap(() => {
|
|
458
|
-
this.pageTitleService.setCustomPageTitleSet(false);
|
|
459
|
-
this.setLoadingDocumentDefinition(true);
|
|
460
|
-
}), switchMap(([selectedVersionTag, selectedKey]) => this.documentService.getDocumentDefinitionByVersion(selectedKey, selectedVersionTag)), tap(res => {
|
|
561
|
+
.pipe(tap(() => this.setLoadingDocumentDefinition(true)), switchMap(([selectedVersionTag, selectedKey]) => this.documentService.getDocumentDefinitionByVersion(selectedKey, selectedVersionTag)), tap(res => {
|
|
461
562
|
this._documentDefinition$.next(res);
|
|
462
|
-
this.pageTitleService.setCustomPageTitle(res?.schema?.title || '-', true);
|
|
463
563
|
this.setLoadingDocumentDefinition(false);
|
|
464
564
|
}))
|
|
465
565
|
.subscribe());
|
|
466
566
|
}
|
|
467
|
-
|
|
567
|
+
openCaseDefinitionSubscription() {
|
|
568
|
+
this._subscriptions.add(combineLatest([this.selectedCaseDefinitionKey$, this.selectedCaseDefinitionVersionTag$])
|
|
569
|
+
.pipe(tap(() => this.pageTitleService.setCustomPageTitleSet(false)), switchMap(([selectedKey, selectedVersionTag]) => this.caseManagementService
|
|
570
|
+
.getCaseDefinition(selectedKey, selectedVersionTag ?? '')
|
|
571
|
+
.pipe(catchError(() => of(null)))), tap(caseDefinition => {
|
|
572
|
+
this._caseDefinition$.next(caseDefinition);
|
|
573
|
+
this.pageTitleService.setCustomPageTitle(caseDefinition?.name || '-', true);
|
|
574
|
+
}))
|
|
575
|
+
.subscribe());
|
|
576
|
+
}
|
|
577
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: CaseDetailService, deps: [{ token: CaseManagementService }, { token: i1$2.DocumentService }, { token: i7.PageTitleService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
468
578
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: CaseDetailService }); }
|
|
469
579
|
}
|
|
470
580
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: CaseDetailService, decorators: [{
|
|
471
581
|
type: Injectable
|
|
472
|
-
}], ctorParameters: () => [{ type: i1$2.DocumentService }, { type: i7.PageTitleService }] });
|
|
582
|
+
}], ctorParameters: () => [{ type: CaseManagementService }, { type: i1$2.DocumentService }, { type: i7.PageTitleService }] });
|
|
473
583
|
|
|
474
584
|
class TabManagementService {
|
|
475
585
|
constructor(configService, http) {
|
|
@@ -710,104 +820,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
|
|
|
710
820
|
}]
|
|
711
821
|
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2$1.ConfigService }] });
|
|
712
822
|
|
|
713
|
-
/*
|
|
714
|
-
* Copyright 2015-2026 Ritense BV, the Netherlands.
|
|
715
|
-
*
|
|
716
|
-
* Licensed under EUPL, Version 1.2 (the "License");
|
|
717
|
-
* you may not use this file except in compliance with the License.
|
|
718
|
-
* You may obtain a copy of the License at
|
|
719
|
-
*
|
|
720
|
-
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
721
|
-
*
|
|
722
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
723
|
-
* distributed under the License is distributed on an "AS IS" basis,
|
|
724
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
725
|
-
* See the License for the specific language governing permissions and
|
|
726
|
-
* limitations under the License.
|
|
727
|
-
*/
|
|
728
|
-
class CaseManagementService extends BaseApiService {
|
|
729
|
-
constructor(httpClient, configService) {
|
|
730
|
-
super(httpClient, configService);
|
|
731
|
-
this.httpClient = httpClient;
|
|
732
|
-
this.configService = configService;
|
|
733
|
-
}
|
|
734
|
-
getCaseDefinitions(params) {
|
|
735
|
-
return this.httpClient.get(this.getApiUrl('management/v1/case-definition'), { params });
|
|
736
|
-
}
|
|
737
|
-
getCaseDefinitionVersions(caseDefinitionKey) {
|
|
738
|
-
return this.httpClient.get(this.getApiUrl(`management/v1/case-definition/${caseDefinitionKey}/version`), {
|
|
739
|
-
params: { size: 100 },
|
|
740
|
-
});
|
|
741
|
-
}
|
|
742
|
-
createDraftVersion(payload) {
|
|
743
|
-
return this.httpClient.post(this.getApiUrl(`management/v1/case-definition/draft`), payload);
|
|
744
|
-
}
|
|
745
|
-
isDraftVersion(caseDefinitionKey, caseDefinitionVersionTag) {
|
|
746
|
-
return this.httpClient
|
|
747
|
-
.get(this.getApiUrl(`management/v1/case-definition/${caseDefinitionKey}/version/${caseDefinitionVersionTag}`), {
|
|
748
|
-
headers: new HttpHeaders().set(InterceptorSkip, '403'),
|
|
749
|
-
})
|
|
750
|
-
.pipe(map(caseDefinition => !caseDefinition.final));
|
|
751
|
-
}
|
|
752
|
-
getGlobalActiveCase(caseDefinitionKey) {
|
|
753
|
-
return this.httpClient.get(this.getApiUrl(`management/v1/case-definition/${caseDefinitionKey}`), { headers: new HttpHeaders().set(InterceptorSkip, '404') });
|
|
754
|
-
}
|
|
755
|
-
setGlobalActiveCaseVersion(caseDefinitionKey, caseDefinitionVersionTag) {
|
|
756
|
-
return this.httpClient.post(this.getApiUrl(`management/v1/case-definition/${caseDefinitionKey}/version/${caseDefinitionVersionTag}/active`), {});
|
|
757
|
-
}
|
|
758
|
-
getAllCaseVersions(params) {
|
|
759
|
-
return this.httpClient.get(this.getApiUrl(`management/v1/case-definition`), { params });
|
|
760
|
-
}
|
|
761
|
-
finalizeDraftCaseVersion(caseDefinitionKey, caseDefinitionVersionTag) {
|
|
762
|
-
return this.httpClient.post(this.getApiUrl(`management/v1/case-definition/${caseDefinitionKey}/version/${caseDefinitionVersionTag}/finalize`), {});
|
|
763
|
-
}
|
|
764
|
-
deleteDraftCaseVersion(caseDefinitionKey, caseDefinitionVersionTag) {
|
|
765
|
-
return this.httpClient.delete(this.getApiUrl(`management/v1/case-definition/${caseDefinitionKey}/version/${caseDefinitionVersionTag}`));
|
|
766
|
-
}
|
|
767
|
-
getCaseDefinition(caseDefinitionKey, caseDefinitionVersionTag) {
|
|
768
|
-
return this.httpClient.get(this.getApiUrl(`management/v1/case-definition/${caseDefinitionKey}/version/${caseDefinitionVersionTag}`), {
|
|
769
|
-
headers: new HttpHeaders().set(InterceptorSkip, '403'),
|
|
770
|
-
});
|
|
771
|
-
}
|
|
772
|
-
previewImport(file) {
|
|
773
|
-
return this.httpClient.post(this.getApiUrl('management/v1/case/import/preview'), file, { headers: new HttpHeaders().set(InterceptorSkip, '400') });
|
|
774
|
-
}
|
|
775
|
-
importDocumentDefinitionZip(file, key, name, pluginConfigurationMappings) {
|
|
776
|
-
let params = new HttpParams();
|
|
777
|
-
if (key)
|
|
778
|
-
params = params.set('key', key);
|
|
779
|
-
if (name)
|
|
780
|
-
params = params.set('name', name);
|
|
781
|
-
if (pluginConfigurationMappings) {
|
|
782
|
-
file.set('pluginConfigurationMappings', new Blob([JSON.stringify(pluginConfigurationMappings)], { type: 'application/json' }));
|
|
783
|
-
}
|
|
784
|
-
return this.httpClient.post(this.getApiUrl('management/v1/case/import'), file, { params });
|
|
785
|
-
}
|
|
786
|
-
exportDocumentDefinition(caseDefinitionKey, caseDefinitionVersionTag = '0') {
|
|
787
|
-
return this.httpClient.get(this.getApiUrl(`management/v1/case/${caseDefinitionKey}/version/${caseDefinitionVersionTag}/export`), { observe: 'response', responseType: 'blob', headers: InterceptorSkipHeader });
|
|
788
|
-
}
|
|
789
|
-
getConfigurationIssues(caseDefinitionKey, caseDefinitionVersionTag) {
|
|
790
|
-
return this.httpClient.get(this.getApiUrl(`management/v1/case-definition/${caseDefinitionKey}/version/${caseDefinitionVersionTag}/configuration-issues`));
|
|
791
|
-
}
|
|
792
|
-
getDanglingPluginConfigurations(caseDefinitionKey, caseDefinitionVersionTag) {
|
|
793
|
-
return this.httpClient.get(this.getApiUrl(`management/v1/case-definition/${caseDefinitionKey}/version/${caseDefinitionVersionTag}/dangling-plugin-configurations`));
|
|
794
|
-
}
|
|
795
|
-
resolvePluginConfigurationMappings(caseDefinitionKey, caseDefinitionVersionTag, mappings) {
|
|
796
|
-
return this.httpClient.put(this.getApiUrl(`management/v1/case-definition/${caseDefinitionKey}/version/${caseDefinitionVersionTag}/plugin-configuration-mappings`), mappings);
|
|
797
|
-
}
|
|
798
|
-
getCaseDefinitionFinalizationCheck(caseDefinitionKey, caseDefinitionVersionTag) {
|
|
799
|
-
return this.httpClient.get(this.getApiUrl(`management/v1/case-definition/${caseDefinitionKey}/version/${caseDefinitionVersionTag}/finalizable`));
|
|
800
|
-
}
|
|
801
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: CaseManagementService, deps: [{ token: i1.HttpClient }, { token: i2$1.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
802
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: CaseManagementService, providedIn: 'root' }); }
|
|
803
|
-
}
|
|
804
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: CaseManagementService, decorators: [{
|
|
805
|
-
type: Injectable,
|
|
806
|
-
args: [{
|
|
807
|
-
providedIn: 'root',
|
|
808
|
-
}]
|
|
809
|
-
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2$1.ConfigService }] });
|
|
810
|
-
|
|
811
823
|
class StartableItemApiService extends BaseApiService {
|
|
812
824
|
constructor(configService, httpClient) {
|
|
813
825
|
super(httpClient, configService);
|
|
@@ -3539,13 +3551,13 @@ class CaseManagementDeploymentComponent {
|
|
|
3539
3551
|
return (globalActiveCase?.caseDefinitionKey === caseDefinitionKey &&
|
|
3540
3552
|
globalActiveCase?.caseDefinitionVersionTag === caseDefinitionVersionTag);
|
|
3541
3553
|
}));
|
|
3542
|
-
this._caseDefinitionTitle$ = this.globalActiveCase$.pipe(map(result => result?.name ?? ''));
|
|
3543
3554
|
this.caseDefinition$ = combineLatest([
|
|
3544
3555
|
this.caseDefinitionKey$,
|
|
3545
3556
|
this.caseDefinitionVersionTag$,
|
|
3546
3557
|
]).pipe(switchMap(([caseDefinitionKey, caseDefinitionVersionTag]) => this.caseManagementService.getCaseDefinition(caseDefinitionKey, caseDefinitionVersionTag)), tap$1(caseDefinition => {
|
|
3547
3558
|
this.hasConflictingVersions$.next(!!caseDefinition.conflictingVersions);
|
|
3548
|
-
}));
|
|
3559
|
+
}), shareReplay(1));
|
|
3560
|
+
this._caseDefinitionTitle$ = this.caseDefinition$.pipe(map(caseDefinition => caseDefinition?.name ?? ''));
|
|
3549
3561
|
this.isDraftVersion$ = combineLatest([
|
|
3550
3562
|
this.caseDefinitionKey$,
|
|
3551
3563
|
this.caseDefinitionVersionTag$,
|
|
@@ -3628,6 +3640,7 @@ class CaseManagementDeploymentComponent {
|
|
|
3628
3640
|
}
|
|
3629
3641
|
ngOnDestroy() {
|
|
3630
3642
|
this._subscriptions.unsubscribe();
|
|
3643
|
+
this.breadcrumbService.clearThirdBreadcrumb();
|
|
3631
3644
|
}
|
|
3632
3645
|
ngAfterViewInit() {
|
|
3633
3646
|
this.initBreadcrumbs();
|
|
@@ -3953,12 +3966,13 @@ class CaseManagementDetailActionsComponent {
|
|
|
3953
3966
|
set caseDefinitionKey(value) {
|
|
3954
3967
|
this.caseDetailService.setSelectedCaseDefinitionKey(value);
|
|
3955
3968
|
}
|
|
3956
|
-
constructor(document, caseManagementService, caseDetailService, notificationService, iconService, pageHeaderService, route, router, translateService, configurationIssueService) {
|
|
3969
|
+
constructor(document, caseManagementService, caseDetailService, notificationService, iconService, menuService, pageHeaderService, route, router, translateService, configurationIssueService) {
|
|
3957
3970
|
this.document = document;
|
|
3958
3971
|
this.caseManagementService = caseManagementService;
|
|
3959
3972
|
this.caseDetailService = caseDetailService;
|
|
3960
3973
|
this.notificationService = notificationService;
|
|
3961
3974
|
this.iconService = iconService;
|
|
3975
|
+
this.menuService = menuService;
|
|
3962
3976
|
this.pageHeaderService = pageHeaderService;
|
|
3963
3977
|
this.route = route;
|
|
3964
3978
|
this.router = router;
|
|
@@ -3972,10 +3986,14 @@ class CaseManagementDetailActionsComponent {
|
|
|
3972
3986
|
this.exporting$ = new BehaviorSubject(false);
|
|
3973
3987
|
this.selectedVersionNumber$ = this.caseDetailService.selectedCaseDefinitionVersionTag$;
|
|
3974
3988
|
this.selectedVersion$ = new BehaviorSubject('');
|
|
3989
|
+
this._refreshGlobalActiveCase$ = new BehaviorSubject(null);
|
|
3975
3990
|
this.params$ = getCaseManagementRouteParams(this.route).pipe(tap(({ caseDefinitionVersionTag }) => this.selectedVersion$.next(caseDefinitionVersionTag)));
|
|
3976
3991
|
this.caseDefinitionKey$ = this.params$.pipe(map(params => params.caseDefinitionKey || ''));
|
|
3977
3992
|
this.caseDefinitionVersionTag$ = this.params$.pipe(map(params => params.caseDefinitionVersionTag || ''));
|
|
3978
|
-
this.globalActiveVersion$ =
|
|
3993
|
+
this.globalActiveVersion$ = combineLatest([
|
|
3994
|
+
this.caseDefinitionKey$,
|
|
3995
|
+
this._refreshGlobalActiveCase$,
|
|
3996
|
+
]).pipe(switchMap(([caseDefinitionKey]) => this.caseManagementService.getGlobalActiveCase(caseDefinitionKey).pipe(map(result => result.caseDefinitionVersionTag), catchError(() => of(null)))));
|
|
3979
3997
|
this.selectedVersionIsGloballyActive$ = combineLatest([
|
|
3980
3998
|
this.selectedVersion$,
|
|
3981
3999
|
this.globalActiveVersion$,
|
|
@@ -3989,7 +4007,10 @@ class CaseManagementDetailActionsComponent {
|
|
|
3989
4007
|
this.loadingVersion$ = new BehaviorSubject(true);
|
|
3990
4008
|
this.showGlobalVersionModal$ = new BehaviorSubject(false);
|
|
3991
4009
|
this.showGlobalVersionConfirmationModal$ = new BehaviorSubject(false);
|
|
3992
|
-
this._globalActiveCase$ =
|
|
4010
|
+
this._globalActiveCase$ = combineLatest([
|
|
4011
|
+
this.caseDefinitionKey$,
|
|
4012
|
+
this._refreshGlobalActiveCase$,
|
|
4013
|
+
]).pipe(switchMap(([caseDefinitionKey]) => this.caseManagementService
|
|
3993
4014
|
.getGlobalActiveCase(caseDefinitionKey)
|
|
3994
4015
|
.pipe(catchError(() => of(null)))));
|
|
3995
4016
|
this._caseDefinitionTitle$ = this._globalActiveCase$.pipe(map(result => result?.name ?? ''));
|
|
@@ -4123,6 +4144,8 @@ class CaseManagementDetailActionsComponent {
|
|
|
4123
4144
|
.subscribe({
|
|
4124
4145
|
next: response => {
|
|
4125
4146
|
this.closeCurrentNotification();
|
|
4147
|
+
this._refreshGlobalActiveCase$.next(null);
|
|
4148
|
+
this.menuService.reload();
|
|
4126
4149
|
this._currentNotification = this.notificationService.showNotification({
|
|
4127
4150
|
type: 'success',
|
|
4128
4151
|
title: this.translateService.instant('caseManagement.setGlobalActiveVersionSuccessTitle'),
|
|
@@ -4187,7 +4210,7 @@ class CaseManagementDetailActionsComponent {
|
|
|
4187
4210
|
relativeTo: this.route,
|
|
4188
4211
|
});
|
|
4189
4212
|
}
|
|
4190
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: CaseManagementDetailActionsComponent, deps: [{ token: DOCUMENT }, { token: CaseManagementService }, { token: CaseDetailService }, { token: i2$1.GlobalNotificationService }, { token: i2.IconService }, { token: i7.PageHeaderService }, { token: i2$2.ActivatedRoute }, { token: i2$2.Router }, { token: i3.TranslateService }, { token: i2$1.ConfigurationIssueService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4213
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: CaseManagementDetailActionsComponent, deps: [{ token: DOCUMENT }, { token: CaseManagementService }, { token: CaseDetailService }, { token: i2$1.GlobalNotificationService }, { token: i2.IconService }, { token: i7.MenuService }, { token: i7.PageHeaderService }, { token: i2$2.ActivatedRoute }, { token: i2$2.Router }, { token: i3.TranslateService }, { token: i2$1.ConfigurationIssueService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4191
4214
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: CaseManagementDetailActionsComponent, isStandalone: false, selector: "valtimo-case-management-detail-actions", inputs: { documentDefinitionTitle: "documentDefinitionTitle", caseDefinitionKey: "caseDefinitionKey" }, outputs: { versionSet: "versionSet" }, viewQueries: [{ propertyName: "_exportMessageTemplateRef", first: true, predicate: ["exportingMessage"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2026 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n class=\"case-actions\"\n *ngIf=\"{\n exporting: exporting$ | async,\n loadingVersion: loadingVersion$ | async,\n versionItems: versionSelectorItems$ | async,\n selectedDocumentDefinition: selectedDocumentDefinition$ | async,\n selectedDocumentDefinitionIsReadOnly: selectedDocumentDefinitionIsReadOnly$ | async,\n selectedVersionIsGloballyActive: selectedVersionIsGloballyActive$ | async,\n setActiveDisabled: setActiveDisabled$ | async,\n hasUnresolvedConfigurationIssues: hasUnresolvedConfigurationIssues$ | async,\n compactMode: compactMode$ | async,\n } as obs\"\n [ngClass]=\"{'--compact': obs.compactMode}\"\n>\n <div class=\"case-metadata\">\n <ng-container *ngTemplateOutlet=\"versionSelection; context: {obs: obs}\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"readOnly; context: {obs: obs}\"></ng-container>\n </div>\n\n <div class=\"case-buttons\">\n <ng-container *ngTemplateOutlet=\"deploymentButton; context: {obs: obs}\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"exportMenu; context: {obs: obs}\"></ng-container>\n </div>\n</div>\n\n<ng-template #versionSelection let-obs=\"obs\">\n <cds-dropdown\n class=\"version-selector\"\n [attr.data-test-id]=\"testIds.versionSelectDropdown\"\n selectionFeedback=\"fixed\"\n [displayValue]=\"versionItemTemplate\"\n [size]=\"obs.compactMode ? 'sm' : 'md'\"\n [appendInline]=\"false\"\n [disabled]=\"!obs?.versionItems?.length || obs?.versionItems?.length === 1\"\n [skeleton]=\"obs.loadingVersion\"\n (selected)=\"selectVersion($event)\"\n >\n <cds-dropdown-list\n [items]=\"obs?.versionItems || []\"\n [listTpl]=\"versionItemTemplate\"\n ></cds-dropdown-list>\n </cds-dropdown>\n</ng-template>\n\n<ng-template #versionItemTemplate let-item=\"item\">\n <div\n [attr.data-test-id]=\"item?.['data-test-id']\"\n *ngIf=\"item?.isAllVersionsOption; else regularVersionTemplate\"\n >\n <span>{{ item?.content }}</span>\n <svg cdsIcon=\"version\" size=\"16\"></svg>\n </div>\n\n <ng-template #regularVersionTemplate>\n <div [attr.data-test-id]=\"item?.['data-test-id']\" class=\"version-selector-dropdown-template\">\n <cds-tag class=\"cds-tag--no-margin\" [type]=\"item?.tagType\" [title]=\"item?.content\">\n {{ item?.draft ? 'DRAFT: ' + item?.content : item?.content }}\n </cds-tag>\n\n <cds-tag\n *ngIf=\"item?.active\"\n [attr.data-test-id]=\"testIds.globallyActiveCaseVersion\"\n class=\"cds-tag--no-margin\"\n type=\"high-contrast\"\n >\n {{ 'caseManagement.globallyActive' | translate }}\n </cds-tag>\n </div>\n </ng-template>\n</ng-template>\n\n<ng-template #deploymentButton let-obs=\"obs\">\n <button\n cdsButton=\"secondary\"\n [attr.data-test-id]=\"testIds.versionManagementButton\"\n [size]=\"obs.compactMode ? 'sm' : 'md'\"\n (click)=\"redirectToDeployment()\"\n >\n {{ 'caseManagement.deployment.title' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"deploy\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<ng-template #exportMenu let-obs=\"obs\">\n <v-overflow-menu [menuWidth]=\"250\" placement=\"bottom-end\" class=\"overflow-button\">\n <button\n overflowTrigger\n cdsButton=\"tertiary\"\n [attr.data-test-id]=\"testIds.moreButton\"\n [size]=\"(compactMode$ | async) ? 'sm' : 'md'\"\n >\n {{ 'caseManagement.more' | translate }}\n\n <svg\n class=\"cds--btn__icon case-management-overflow-icon\"\n cdsIcon=\"overflow-menu--vertical\"\n size=\"16\"\n ></svg>\n </button>\n\n <v-overflow-menu-option\n [attr.data-test-id]=\"testIds.exportButton\"\n optionId=\"exportDocumentDefinition\"\n [disabled]=\"obs.exporting || obs.loadingVersion\"\n (selected)=\"export()\"\n >{{ 'caseManagement.export' | translate: {value: documentDefinitionTitle} }}\n </v-overflow-menu-option>\n\n <v-overflow-menu-option\n [attr.data-test-id]=\"testIds.setActiveVersionButton\"\n optionId=\"setGlobalActiveVersion\"\n [disabled]=\"obs.setActiveDisabled\"\n (selected)=\"openGlobalActiveVersionModal()\"\n >{{ 'caseManagement.setGlobalActiveVersion' | translate }}\n </v-overflow-menu-option>\n </v-overflow-menu>\n</ng-template>\n\n<ng-template #exportingMessage>\n <div class=\"exporting-message\">\n <span class=\"cds--inline-notification__title\">{{\n 'caseManagement.preparingDownload' | translate\n }}</span>\n\n <cds-loading size=\"sm\"></cds-loading>\n </div>\n</ng-template>\n\n<ng-template #readOnly let-obs=\"obs\">\n <cds-tag *ngIf=\"obs.selectedDocumentDefinitionIsReadOnly\" type=\"blue\">{{\n 'caseManagement.readonly' | translate\n }}</cds-tag>\n</ng-template>\n\n<valtimo-case-management-select-version-modal\n [open]=\"showAllVersionsModal$ | async\"\n [caseDefinitionTitle]=\"_caseDefinitionTitle$ | async\"\n [caseDefinitionKey]=\"caseDefinitionKey$ | async\"\n [previousSelectedVersion]=\"selectedVersion$ | async\"\n (closeEvent)=\"closeAllVersionsModal()\"\n (selectedVersion)=\"selectVersionFromModal($event)\"\n></valtimo-case-management-select-version-modal>\n\n<valtimo-confirmation-modal\n [showModalSubject$]=\"showGlobalVersionModal$\"\n cancelButtonType=\"ghost\"\n cancelButtonTextTranslationKey=\"caseManagement.globalActiveVersionModal.cancel\"\n confirmButtonTextTranslationKey=\"caseManagement.globalActiveVersionModal.continue\"\n titleTranslationKey=\"caseManagement.globalActiveVersionModal.title\"\n contentTranslationKey=\"caseManagement.globalActiveVersionModal.description\"\n (cancelEvent)=\"closeGlobalVersionCaseModal()\"\n (confirmEvent)=\"openGlobalCaseVersionConfirmationModal()\"\n>\n <cds-notification\n *ngIf=\"isOlderVersionSelected$ | async\"\n class=\"full-width-notification\"\n [notificationObj]=\"{\n type: 'warning',\n title: 'caseManagement.globalActiveVersionModal.warningTitle' | translate,\n message: 'caseManagement.globalActiveVersionModal.warningMessage' | translate,\n showClose: false,\n lowContrast: true,\n }\"\n >\n </cds-notification>\n</valtimo-confirmation-modal>\n\n<valtimo-confirmation-modal\n [showModalSubject$]=\"showGlobalVersionConfirmationModal$\"\n cancelButtonType=\"ghost\"\n cancelButtonTextTranslationKey=\"caseManagement.confirmationGlobalVersionModal.cancel\"\n confirmButtonType=\"danger\"\n confirmButtonTextTranslationKey=\"caseManagement.confirmationGlobalVersionModal.confirm\"\n contentTranslationKey=\"caseManagement.confirmationGlobalVersionModal.description\"\n titleTranslationKey=\"caseManagement.confirmationGlobalVersionModal.title\"\n (cancelEvent)=\"closeGlobalCaseConfirmationModal()\"\n (confirmEvent)=\"setGlobalActiveCaseVersion()\"\n></valtimo-confirmation-modal>\n", styles: [".case-actions{display:flex;width:100%;justify-content:space-between;align-items:flex-end}.case-actions.--compact{align-items:center}.case-actions ::ng-deep .version-selection{width:160px}.case-actions ::ng-deep .version-selection .cds--list-box__selection{display:none}.exporting-message{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px}.case-metadata{display:flex;gap:24px;align-items:flex-end}.case-buttons{display:flex;align-items:center;gap:16px}::ng-deep .version-selector{margin-bottom:0;width:300px}::ng-deep .version-selector-dropdown-template{display:flex}::ng-deep .version-selector-dropdown-template .cds--tag{margin:0 8px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-block;line-height:24px;max-width:100%}::ng-deep .cds--list-box__field{display:flex;justify-content:space-between}::ng-deep .cds--list-box__menu-item__option{display:flex;justify-content:space-between;padding-inline-end:0}::ng-deep .cds--list-box__menu-item__option>div{margin-top:-4px}.full-width-notification{max-inline-size:100%;min-inline-size:100%}.case-management-overflow-icon{fill:var(--vcds-color-60)!important}\n/*!\n * Copyright 2015-2026 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.Notification, selector: "cds-notification, cds-inline-notification, ibm-notification, ibm-inline-notification", inputs: ["notificationObj"] }, { kind: "directive", type: i2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i2.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.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "component", type: i2.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "component", type: i7.ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: ["titleTranslationKey", "title", "content", "contentTranslationKey", "confirmButtonText", "confirmButtonTextTranslationKey", "confirmButtonType", "showOptionalButton", "optionalButtonText", "optionalButtonTextTranslationKey", "optionalButtonType", "cancelButtonText", "cancelButtonTextTranslationKey", "cancelButtonType", "showModalSubject$", "outputOnConfirm", "outputOnOptional", "spacerAfterCancelButton"], outputs: ["confirmEvent", "optionalEvent", "cancelEvent"] }, { kind: "component", type: i7.OverflowMenuComponent, selector: "v-overflow-menu", inputs: ["open", "placement", "menuWidth", "offsetX", "offsetY", "closeOnSelect", "useHostAsReference", "portalToBody"], outputs: ["openChange"] }, { kind: "component", type: i7.OverflowMenuOptionComponent, selector: "v-overflow-menu-option", inputs: ["disabled", "type", "testId", "optionId"], outputs: ["selected"] }, { kind: "component", type: i2.Tag, selector: "cds-tag, ibm-tag", inputs: ["type", "size", "class", "skeleton"] }, { kind: "component", type: CaseManagementSelectVersionModalComponent, selector: "valtimo-case-management-select-version-modal", inputs: ["open", "previousSelectedVersion", "caseDefinitionKey", "caseDefinitionTitle"], outputs: ["closeEvent", "selectedVersion"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
4192
4215
|
}
|
|
4193
4216
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: CaseManagementDetailActionsComponent, decorators: [{
|
|
@@ -4196,7 +4219,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
|
|
|
4196
4219
|
}], ctorParameters: () => [{ type: Document, decorators: [{
|
|
4197
4220
|
type: Inject,
|
|
4198
4221
|
args: [DOCUMENT]
|
|
4199
|
-
}] }, { type: CaseManagementService }, { type: CaseDetailService }, { type: i2$1.GlobalNotificationService }, { type: i2.IconService }, { type: i7.PageHeaderService }, { type: i2$2.ActivatedRoute }, { type: i2$2.Router }, { type: i3.TranslateService }, { type: i2$1.ConfigurationIssueService }], propDecorators: { _exportMessageTemplateRef: [{
|
|
4222
|
+
}] }, { type: CaseManagementService }, { type: CaseDetailService }, { type: i2$1.GlobalNotificationService }, { type: i2.IconService }, { type: i7.MenuService }, { type: i7.PageHeaderService }, { type: i2$2.ActivatedRoute }, { type: i2$2.Router }, { type: i3.TranslateService }, { type: i2$1.ConfigurationIssueService }], propDecorators: { _exportMessageTemplateRef: [{
|
|
4200
4223
|
type: ViewChild,
|
|
4201
4224
|
args: ['exportingMessage']
|
|
4202
4225
|
}], documentDefinitionTitle: [{
|
|
@@ -4223,8 +4246,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
|
|
|
4223
4246
|
* limitations under the License.
|
|
4224
4247
|
*/
|
|
4225
4248
|
class CaseManagementDetailComponent {
|
|
4226
|
-
constructor(route, caseDetailService, caseManagementService, configService, configurationIssueService, iconService, pageTitleService, router, sseService, tabService) {
|
|
4249
|
+
constructor(route, breadcrumbService, caseDetailService, caseManagementService, configService, configurationIssueService, iconService, pageTitleService, router, sseService, tabService) {
|
|
4227
4250
|
this.route = route;
|
|
4251
|
+
this.breadcrumbService = breadcrumbService;
|
|
4228
4252
|
this.caseDetailService = caseDetailService;
|
|
4229
4253
|
this.caseManagementService = caseManagementService;
|
|
4230
4254
|
this.configService = configService;
|
|
@@ -4259,22 +4283,31 @@ class CaseManagementDetailComponent {
|
|
|
4259
4283
|
this.iconService.registerAll([WarningFilled16]);
|
|
4260
4284
|
}
|
|
4261
4285
|
ngOnInit() {
|
|
4262
|
-
this._subscriptions.add(this.caseDetailService.documentDefinition$.subscribe((documentDefinition) => {
|
|
4263
|
-
if (!documentDefinition)
|
|
4264
|
-
return;
|
|
4265
|
-
this.pageTitleService.setCustomPageTitle(documentDefinition.schema.title);
|
|
4266
|
-
}));
|
|
4267
4286
|
this.openActiveVersionSubscription();
|
|
4268
4287
|
this.openConfigurationIssueSseSubscription();
|
|
4269
4288
|
this.openConfigurationIssueSubscription();
|
|
4270
4289
|
this.pageTitleService.disableReset();
|
|
4271
4290
|
this.openParamsSubscription();
|
|
4291
|
+
this.openBreadcrumbSubscription();
|
|
4272
4292
|
}
|
|
4273
4293
|
ngOnDestroy() {
|
|
4274
4294
|
this.tabService.currentTab = TabEnum.GENERAL;
|
|
4275
4295
|
this._subscriptions.unsubscribe();
|
|
4276
4296
|
this.pageTitleService.enableReset();
|
|
4277
4297
|
this.configurationIssueService.setUnresolvedIssueTypes([]);
|
|
4298
|
+
this.breadcrumbService.clearThirdBreadcrumb();
|
|
4299
|
+
}
|
|
4300
|
+
openBreadcrumbSubscription() {
|
|
4301
|
+
this._subscriptions.add(this.caseDetailService.caseDefinition$.subscribe(caseDefinition => {
|
|
4302
|
+
if (!caseDefinition)
|
|
4303
|
+
return;
|
|
4304
|
+
const route = `/case-management/case/${caseDefinition.caseDefinitionKey}/version/${caseDefinition.caseDefinitionVersionTag}`;
|
|
4305
|
+
this.breadcrumbService.setThirdBreadcrumb({
|
|
4306
|
+
route: [route],
|
|
4307
|
+
content: caseDefinition.name,
|
|
4308
|
+
href: route,
|
|
4309
|
+
});
|
|
4310
|
+
}));
|
|
4278
4311
|
}
|
|
4279
4312
|
hasTabIssues$(issueTypes) {
|
|
4280
4313
|
const cacheKey = issueTypes.slice().sort().join(',');
|
|
@@ -4338,13 +4371,13 @@ class CaseManagementDetailComponent {
|
|
|
4338
4371
|
//TODO: Fix pending changes with new routing
|
|
4339
4372
|
// this._documentDefinitionTab?.onCanDeactivate();
|
|
4340
4373
|
}
|
|
4341
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: CaseManagementDetailComponent, deps: [{ token: i2$2.ActivatedRoute }, { token: CaseDetailService }, { token: CaseManagementService }, { token: i2$1.ConfigService }, { token: i2$1.ConfigurationIssueService }, { token: i2.IconService }, { token: i7.PageTitleService }, { token: i2$2.Router }, { token: i7$1.SseService }, { token: TabService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4374
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: CaseManagementDetailComponent, deps: [{ token: i2$2.ActivatedRoute }, { token: i7.BreadcrumbService }, { token: CaseDetailService }, { token: CaseManagementService }, { token: i2$1.ConfigService }, { token: i2$1.ConfigurationIssueService }, { token: i2.IconService }, { token: i7.PageTitleService }, { token: i2$2.Router }, { token: i7$1.SseService }, { token: TabService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4342
4375
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.25", type: CaseManagementDetailComponent, isStandalone: false, selector: "ng-component", providers: [CaseDetailService], viewQueries: [{ propertyName: "_tabs", predicate: Tab, descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2026 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n *ngIf=\"{\n currentTab: currentTab$ | async,\n injectedTabs: injectedCaseManagementTabs$ | async,\n } as obs\"\n class=\"case-management-detail-container\"\n>\n @if (configurationIssues$ | async; as issues) {\n @if (issues.length > 0) {\n <cds-notification\n class=\"environment-config-warning\"\n [notificationObj]=\"{\n type: 'warning',\n title: ('caseManagement.environmentConfig.bannerTitle' | translate),\n message: ('caseManagement.environmentConfig.bannerMessage' | translate),\n showClose: false,\n lowContrast: true\n }\"\n ></cds-notification>\n }\n }\n\n <cds-tabs class=\"case-management-tabs\" type=\"inline\" [attr.data-test-id]=\"testIds.tabs\">\n <ng-template #generalTabHeading>\n {{ 'caseManagement.tabs.general' | translate }}\n @if (hasPluginProcessLinkIssue$ | async) {\n <svg cdsIcon=\"warning--filled\" size=\"16\" class=\"tab-warning-icon\"></svg>\n }\n </ng-template>\n\n <cds-tab\n class=\"no-padding-left-right main-content\"\n [id]=\"TabEnum.GENERAL\"\n [active]=\"obs.currentTab === TabEnum.GENERAL\"\n [heading]=\"generalTabHeading\"\n [title]=\"'caseManagement.tabs.general' | translate\"\n (selected)=\"navigateToTab(TabEnum.GENERAL)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"no-padding-left-right main-content\"\n [id]=\"TabEnum.PROCESSES\"\n [active]=\"obs.currentTab === TabEnum.PROCESSES\"\n [heading]=\"'caseManagement.tabs.processes' | translate\"\n (selected)=\"navigateToTab(TabEnum.PROCESSES)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"no-padding-left-right main-content\"\n [id]=\"TabEnum.ACTIONS\"\n [active]=\"obs.currentTab === TabEnum.ACTIONS\"\n [heading]=\"'caseManagement.tabs.actions' | translate\"\n (selected)=\"navigateToTab(TabEnum.ACTIONS)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"no-padding-left-right main-content\"\n [id]=\"TabEnum.DECISIONS\"\n [active]=\"obs.currentTab === TabEnum.DECISIONS\"\n [heading]=\"'caseManagement.tabs.decision' | translate\"\n (selected)=\"navigateToTab(TabEnum.DECISIONS)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"no-padding-left-right no-padding-top-bottom\"\n [id]=\"TabEnum.DOCUMENT\"\n [active]=\"obs.currentTab === TabEnum.DOCUMENT\"\n [heading]=\"'caseManagement.tabs.document' | translate\"\n (selected)=\"navigateToTab(TabEnum.DOCUMENT)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"no-padding-left-right no-padding-top-bottom\"\n [id]=\"TabEnum.FORMS\"\n [active]=\"obs.currentTab === TabEnum.FORMS\"\n [heading]=\"'caseManagement.tabs.forms' | translate\"\n (selected)=\"navigateToTab(TabEnum.FORMS)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"no-padding-left-right no-padding-top-bottom\"\n [id]=\"TabEnum.FORM_FLOWS\"\n [active]=\"obs.currentTab === TabEnum.FORM_FLOWS\"\n [heading]=\"'caseManagement.tabs.formFlows' | translate\"\n (selected)=\"navigateToTab(TabEnum.FORM_FLOWS)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"no-padding-left-right no-padding-top-bottom\"\n [id]=\"TabEnum.TASKS\"\n [active]=\"obs.currentTab === TabEnum.TASKS\"\n [heading]=\"'caseManagement.tabs.tasks' | translate\"\n (selected)=\"navigateToTab(TabEnum.TASKS)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"main-content no-padding-left-right no-padding-bottom\"\n [id]=\"TabEnum.CASE_LIST\"\n [active]=\"obs.currentTab === TabEnum.CASE_LIST\"\n [heading]=\"'caseManagement.tabs.caseListTab.title' | translate\"\n (selected)=\"navigateToTab(TabEnum.CASE_LIST)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"main-content no-padding-left-right no-padding-bottom\"\n [id]=\"TabEnum.CASE_DETAILS\"\n [active]=\"obs.currentTab === TabEnum.CASE_DETAILS\"\n [heading]=\"'caseManagement.tabs.caseDetailsTab.title' | translate\"\n (selected)=\"navigateToTab(TabEnum.CASE_DETAILS)\"\n >\n </cds-tab>\n\n @for (injectedTab of obs.injectedTabs; track injectedTab.translationKey) {\n @if (injectedTab.enabled$ | async) {\n <ng-template #injectedTabHeading>\n {{ injectedTab.translationKey | translate }}\n @if (injectedTab.issueTypes?.length && (hasTabIssues$(injectedTab.issueTypes) | async)) {\n <svg cdsIcon=\"warning--filled\" size=\"16\" class=\"tab-warning-icon\"></svg>\n }\n </ng-template>\n\n <cds-tab\n class=\"no-padding-left-right no-padding-top-bottom\"\n [active]=\"obs.currentTab === (injectedTab.tabRoute ?? injectedTab.translationKey)\"\n [heading]=\"injectedTabHeading\"\n [title]=\"injectedTab.translationKey | translate\"\n (selected)=\"navigateToTab(injectedTab.tabRoute ?? injectedTab.translationKey)\"\n >\n </cds-tab>\n }\n }\n </cds-tabs>\n\n <div class=\"case-management-detail-container__content\">\n <router-outlet></router-outlet>\n </div>\n</div>\n\n<ng-container renderInPageHeader [fullWidth]=\"true\">\n <ng-template>\n <valtimo-case-management-detail-actions\n [documentDefinitionTitle]=\"documentDefinitionTitle$ | async\"\n [caseDefinitionKey]=\"caseDefinitionKey$ | async\"\n (versionSet)=\"onVersionSet($event)\"\n ></valtimo-case-management-detail-actions>\n </ng-template>\n</ng-container>\n", styles: ["::ng-deep .case-management-tabs .cds--tab-content{background-color:var(--cds-layer);padding:0!important;margin-top:24px}::ng-deep .case-management-tabs .cds--tab-content:focus{outline:none}::ng-deep .case-management-tabs .no-padding-left-right .cds--tab-content{padding-left:0;padding-right:0}::ng-deep .case-management-tabs .no-padding-top-bottom .cds--tab-content{padding-top:0;padding-bottom:0}::ng-deep .case-management-tabs .no-padding-bottom .cds--tab-content{padding-bottom:0}.tab-container{min-height:300px}.case-management-detail-container{display:flex;flex-direction:column;width:100%}.environment-config-warning{max-width:100%;margin-bottom:16px}.tab-warning-icon{margin-left:4px;vertical-align:middle;fill:var(--cds-support-warning)}.tab-warning-icon ::ng-deep [data-icon-path=inner-path]{fill:#000;opacity:1}\n/*!\n * Copyright 2015-2026 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: i2.Notification, selector: "cds-notification, cds-inline-notification, ibm-notification, ibm-inline-notification", inputs: ["notificationObj"] }, { kind: "directive", type: i2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "directive", type: i7.RenderInPageHeaderDirective, selector: "[renderInPageHeader]", inputs: ["fullWidth"] }, { kind: "component", type: i2.Tabs, selector: "cds-tabs, ibm-tabs", inputs: ["position", "cacheActive", "followFocus", "isNavigation", "ariaLabel", "ariaLabelledby", "type", "theme", "skeleton"] }, { kind: "component", type: i2.Tab, selector: "cds-tab, ibm-tab", inputs: ["heading", "title", "context", "active", "disabled", "tabIndex", "id", "cacheActive", "tabContent", "templateContext"], outputs: ["selected"] }, { kind: "component", type: CaseManagementDetailActionsComponent, selector: "valtimo-case-management-detail-actions", inputs: ["documentDefinitionTitle", "caseDefinitionKey"], outputs: ["versionSet"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
4343
4376
|
}
|
|
4344
4377
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: CaseManagementDetailComponent, decorators: [{
|
|
4345
4378
|
type: Component,
|
|
4346
4379
|
args: [{ standalone: false, providers: [CaseDetailService], changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n ~ Copyright 2015-2026 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n *ngIf=\"{\n currentTab: currentTab$ | async,\n injectedTabs: injectedCaseManagementTabs$ | async,\n } as obs\"\n class=\"case-management-detail-container\"\n>\n @if (configurationIssues$ | async; as issues) {\n @if (issues.length > 0) {\n <cds-notification\n class=\"environment-config-warning\"\n [notificationObj]=\"{\n type: 'warning',\n title: ('caseManagement.environmentConfig.bannerTitle' | translate),\n message: ('caseManagement.environmentConfig.bannerMessage' | translate),\n showClose: false,\n lowContrast: true\n }\"\n ></cds-notification>\n }\n }\n\n <cds-tabs class=\"case-management-tabs\" type=\"inline\" [attr.data-test-id]=\"testIds.tabs\">\n <ng-template #generalTabHeading>\n {{ 'caseManagement.tabs.general' | translate }}\n @if (hasPluginProcessLinkIssue$ | async) {\n <svg cdsIcon=\"warning--filled\" size=\"16\" class=\"tab-warning-icon\"></svg>\n }\n </ng-template>\n\n <cds-tab\n class=\"no-padding-left-right main-content\"\n [id]=\"TabEnum.GENERAL\"\n [active]=\"obs.currentTab === TabEnum.GENERAL\"\n [heading]=\"generalTabHeading\"\n [title]=\"'caseManagement.tabs.general' | translate\"\n (selected)=\"navigateToTab(TabEnum.GENERAL)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"no-padding-left-right main-content\"\n [id]=\"TabEnum.PROCESSES\"\n [active]=\"obs.currentTab === TabEnum.PROCESSES\"\n [heading]=\"'caseManagement.tabs.processes' | translate\"\n (selected)=\"navigateToTab(TabEnum.PROCESSES)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"no-padding-left-right main-content\"\n [id]=\"TabEnum.ACTIONS\"\n [active]=\"obs.currentTab === TabEnum.ACTIONS\"\n [heading]=\"'caseManagement.tabs.actions' | translate\"\n (selected)=\"navigateToTab(TabEnum.ACTIONS)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"no-padding-left-right main-content\"\n [id]=\"TabEnum.DECISIONS\"\n [active]=\"obs.currentTab === TabEnum.DECISIONS\"\n [heading]=\"'caseManagement.tabs.decision' | translate\"\n (selected)=\"navigateToTab(TabEnum.DECISIONS)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"no-padding-left-right no-padding-top-bottom\"\n [id]=\"TabEnum.DOCUMENT\"\n [active]=\"obs.currentTab === TabEnum.DOCUMENT\"\n [heading]=\"'caseManagement.tabs.document' | translate\"\n (selected)=\"navigateToTab(TabEnum.DOCUMENT)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"no-padding-left-right no-padding-top-bottom\"\n [id]=\"TabEnum.FORMS\"\n [active]=\"obs.currentTab === TabEnum.FORMS\"\n [heading]=\"'caseManagement.tabs.forms' | translate\"\n (selected)=\"navigateToTab(TabEnum.FORMS)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"no-padding-left-right no-padding-top-bottom\"\n [id]=\"TabEnum.FORM_FLOWS\"\n [active]=\"obs.currentTab === TabEnum.FORM_FLOWS\"\n [heading]=\"'caseManagement.tabs.formFlows' | translate\"\n (selected)=\"navigateToTab(TabEnum.FORM_FLOWS)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"no-padding-left-right no-padding-top-bottom\"\n [id]=\"TabEnum.TASKS\"\n [active]=\"obs.currentTab === TabEnum.TASKS\"\n [heading]=\"'caseManagement.tabs.tasks' | translate\"\n (selected)=\"navigateToTab(TabEnum.TASKS)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"main-content no-padding-left-right no-padding-bottom\"\n [id]=\"TabEnum.CASE_LIST\"\n [active]=\"obs.currentTab === TabEnum.CASE_LIST\"\n [heading]=\"'caseManagement.tabs.caseListTab.title' | translate\"\n (selected)=\"navigateToTab(TabEnum.CASE_LIST)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"main-content no-padding-left-right no-padding-bottom\"\n [id]=\"TabEnum.CASE_DETAILS\"\n [active]=\"obs.currentTab === TabEnum.CASE_DETAILS\"\n [heading]=\"'caseManagement.tabs.caseDetailsTab.title' | translate\"\n (selected)=\"navigateToTab(TabEnum.CASE_DETAILS)\"\n >\n </cds-tab>\n\n @for (injectedTab of obs.injectedTabs; track injectedTab.translationKey) {\n @if (injectedTab.enabled$ | async) {\n <ng-template #injectedTabHeading>\n {{ injectedTab.translationKey | translate }}\n @if (injectedTab.issueTypes?.length && (hasTabIssues$(injectedTab.issueTypes) | async)) {\n <svg cdsIcon=\"warning--filled\" size=\"16\" class=\"tab-warning-icon\"></svg>\n }\n </ng-template>\n\n <cds-tab\n class=\"no-padding-left-right no-padding-top-bottom\"\n [active]=\"obs.currentTab === (injectedTab.tabRoute ?? injectedTab.translationKey)\"\n [heading]=\"injectedTabHeading\"\n [title]=\"injectedTab.translationKey | translate\"\n (selected)=\"navigateToTab(injectedTab.tabRoute ?? injectedTab.translationKey)\"\n >\n </cds-tab>\n }\n }\n </cds-tabs>\n\n <div class=\"case-management-detail-container__content\">\n <router-outlet></router-outlet>\n </div>\n</div>\n\n<ng-container renderInPageHeader [fullWidth]=\"true\">\n <ng-template>\n <valtimo-case-management-detail-actions\n [documentDefinitionTitle]=\"documentDefinitionTitle$ | async\"\n [caseDefinitionKey]=\"caseDefinitionKey$ | async\"\n (versionSet)=\"onVersionSet($event)\"\n ></valtimo-case-management-detail-actions>\n </ng-template>\n</ng-container>\n", styles: ["::ng-deep .case-management-tabs .cds--tab-content{background-color:var(--cds-layer);padding:0!important;margin-top:24px}::ng-deep .case-management-tabs .cds--tab-content:focus{outline:none}::ng-deep .case-management-tabs .no-padding-left-right .cds--tab-content{padding-left:0;padding-right:0}::ng-deep .case-management-tabs .no-padding-top-bottom .cds--tab-content{padding-top:0;padding-bottom:0}::ng-deep .case-management-tabs .no-padding-bottom .cds--tab-content{padding-bottom:0}.tab-container{min-height:300px}.case-management-detail-container{display:flex;flex-direction:column;width:100%}.environment-config-warning{max-width:100%;margin-bottom:16px}.tab-warning-icon{margin-left:4px;vertical-align:middle;fill:var(--cds-support-warning)}.tab-warning-icon ::ng-deep [data-icon-path=inner-path]{fill:#000;opacity:1}\n/*!\n * Copyright 2015-2026 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
4347
|
-
}], ctorParameters: () => [{ type: i2$2.ActivatedRoute }, { type: CaseDetailService }, { type: CaseManagementService }, { type: i2$1.ConfigService }, { type: i2$1.ConfigurationIssueService }, { type: i2.IconService }, { type: i7.PageTitleService }, { type: i2$2.Router }, { type: i7$1.SseService }, { type: TabService }], propDecorators: { _tabs: [{
|
|
4380
|
+
}], ctorParameters: () => [{ type: i2$2.ActivatedRoute }, { type: i7.BreadcrumbService }, { type: CaseDetailService }, { type: CaseManagementService }, { type: i2$1.ConfigService }, { type: i2$1.ConfigurationIssueService }, { type: i2.IconService }, { type: i7.PageTitleService }, { type: i2$2.Router }, { type: i7$1.SseService }, { type: TabService }], propDecorators: { _tabs: [{
|
|
4348
4381
|
type: ViewChildren,
|
|
4349
4382
|
args: [Tab]
|
|
4350
4383
|
}] } });
|
|
@@ -5096,6 +5129,7 @@ class CaseManagementWidgetTabComponent extends ManagementWidgetDetailsComponent
|
|
|
5096
5129
|
WidgetType.METROLINE,
|
|
5097
5130
|
WidgetType.HIGHLIGHT,
|
|
5098
5131
|
WidgetType.IMAGE,
|
|
5132
|
+
WidgetType.TEXT,
|
|
5099
5133
|
];
|
|
5100
5134
|
}
|
|
5101
5135
|
ngOnInit() {
|