@valtimo/case-management 13.31.0 → 13.33.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 +40 -8
- package/fesm2022/valtimo-case-management.mjs.map +1 -1
- package/lib/components/case-management-detail/tabs/case-management-tabs/widget-tab/case-management-widget-tab-edit-modal/case-management-widget-tab-edit-modal.component.d.ts +10 -1
- package/lib/components/case-management-detail/tabs/case-management-tabs/widget-tab/case-management-widget-tab-edit-modal/case-management-widget-tab-edit-modal.component.d.ts.map +1 -1
- package/lib/services/widget-tab-management.service.d.ts +4 -0
- package/lib/services/widget-tab-management.service.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -9,7 +9,7 @@ import { NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap';
|
|
|
9
9
|
import * as i3 from '@ngx-translate/core';
|
|
10
10
|
import { TranslateModule } from '@ngx-translate/core';
|
|
11
11
|
import * as i7 from '@valtimo/components';
|
|
12
|
-
import { runAfterCarbonModalClosed, ViewType, CARBON_CONSTANTS, ValuePathSelectorPrefix, SelectModule, MuuriItemComponent, ValtimoCdsModalDirective, 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';
|
|
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
15
|
import { BaseApiService, InterceptorSkip, getCaseManagementRouteParams, CASE_MANAGEMENT_TAB_TOKEN, InterceptorSkipHeader, TagColor, getDisplayTypeParametersView, CASE_CONFIGURATION_EXTENSIONS_TOKEN, ROLE_ADMIN, ConfigModule } from '@valtimo/shared';
|
|
@@ -660,6 +660,8 @@ class CaseWidgetManagementApiService {
|
|
|
660
660
|
this.http = http;
|
|
661
661
|
this.configService = configService;
|
|
662
662
|
this._widgetConfigurationCache = [];
|
|
663
|
+
this._widgetLayout = WidgetLayout.MUURI_GAP_FREE;
|
|
664
|
+
this.widgetLayout$ = new BehaviorSubject(WidgetLayout.MUURI_GAP_FREE);
|
|
663
665
|
this.params$ = new BehaviorSubject({
|
|
664
666
|
caseDefinitionKey: '',
|
|
665
667
|
caseDefinitionVersionTag: '',
|
|
@@ -682,14 +684,21 @@ class CaseWidgetManagementApiService {
|
|
|
682
684
|
getWidgetConfiguration() {
|
|
683
685
|
return this.params$.pipe(switchMap((params) => this.http.get(`${this.valtimoEndpointBase}/${params.caseDefinitionKey}/version/${params.caseDefinitionVersionTag}/widget-tab/${params.key}`)), map((res) => {
|
|
684
686
|
this._widgetConfigurationCache = res.widgets;
|
|
687
|
+
this._widgetLayout = res.widgetLayout ?? WidgetLayout.MUURI_GAP_FREE;
|
|
688
|
+
this.widgetLayout$.next(this._widgetLayout);
|
|
685
689
|
return res.widgets;
|
|
686
690
|
}));
|
|
687
691
|
}
|
|
688
692
|
updateWidgetConfiguration(widgets) {
|
|
689
693
|
return this.updateWidgets(widgets);
|
|
690
694
|
}
|
|
695
|
+
updateWidgetLayout(widgetLayout) {
|
|
696
|
+
this._widgetLayout = widgetLayout;
|
|
697
|
+
this.widgetLayout$.next(widgetLayout);
|
|
698
|
+
return this.updateWidgets(this._widgetConfigurationCache);
|
|
699
|
+
}
|
|
691
700
|
updateWidgets(widgets) {
|
|
692
|
-
return this.params$.pipe(switchMap((params) => this.http.post(`${this.valtimoEndpointBase}/${params.caseDefinitionKey}/version/${params.caseDefinitionVersionTag}/widget-tab/${params.key}`, { ...params, widgets })));
|
|
701
|
+
return this.params$.pipe(switchMap((params) => this.http.post(`${this.valtimoEndpointBase}/${params.caseDefinitionKey}/version/${params.caseDefinitionVersionTag}/widget-tab/${params.key}`, { ...params, widgets, widgetLayout: this._widgetLayout })));
|
|
693
702
|
}
|
|
694
703
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseWidgetManagementApiService, deps: [{ token: i1.HttpClient }, { token: i2$1.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
695
704
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseWidgetManagementApiService, providedIn: 'root' }); }
|
|
@@ -4867,7 +4876,7 @@ class CaseManagementGeneralComponent {
|
|
|
4867
4876
|
this.cdr.detectChanges();
|
|
4868
4877
|
}
|
|
4869
4878
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementGeneralComponent, deps: [{ token: i1$2.DocumentService }, { token: i2$2.ActivatedRoute }, { token: i0.ChangeDetectorRef }, { token: CaseManagementService }, { token: CASE_CONFIGURATION_EXTENSIONS_TOKEN, optional: true }, { token: i2$1.EditPermissionsService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4870
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: CaseManagementGeneralComponent, isStandalone: false, selector: "valtimo-case-management-general", viewQueries: [{ propertyName: "_extensions", first: true, predicate: ["extensions"], descendants: true, read: ViewContainerRef }], 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<ng-container\n *ngIf=\"{\n isReadOnly: isReadOnly$ | async,\n } as obs\"\n>\n @if (obs.isReadOnly) {\n <cds-notification\n class=\"read-only-notification\"\n [notificationObj]=\"{\n type: 'info',\n title: 'caseManagement.tabs.generalTab.readOnlyNotification.title' | translate,\n message: 'caseManagement.tabs.generalTab.readOnlyNotification.message' | translate,\n showClose: false,\n lowContrast: true,\n }\"\n >\n </cds-notification>\n }\n\n <valtimo-case-management-missing-plugin-configurations></valtimo-case-management-missing-plugin-configurations>\n\n <div class=\"case-management-general-tab\" muuri [columnMinWidth]=\"350\">\n <ng-template #extensions></ng-template>\n\n <valtimo-muuri-item>\n <valtimo-case-management-case-handler\n muuriItem\n [isReadOnly]=\"obs.isReadOnly\"\n *ngIf=\"documentDefinition$ | async\"\n ></valtimo-case-management-case-handler>\n </valtimo-muuri-item>\n\n <valtimo-muuri-item>\n <valtimo-case-management-external-start-form [isReadOnly]=\"obs.isReadOnly\">\n </valtimo-case-management-external-start-form>\n </valtimo-muuri-item>\n </div>\n</ng-container>\n", styles: [".read-only-notification{margin-bottom:16px;max-inline-size:100%;min-inline-size:100%}\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: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.Notification, selector: "cds-notification, cds-inline-notification, ibm-notification, ibm-inline-notification", inputs: ["notificationObj"] }, { kind: "directive", type: i7.MuuriDirective, selector: "[muuri]", inputs: ["columnMinWidth"] }, { kind: "component", type: i7.MuuriItemComponent, selector: "valtimo-muuri-item" }, { kind: "component", type: CaseManagementMissingPluginConfigurationsComponent, selector: "valtimo-case-management-missing-plugin-configurations" }, { kind: "component", type: CaseManagementCaseHandlerComponent, selector: "valtimo-case-management-case-handler", inputs: ["isReadOnly"] }, { kind: "component", type: CaseManagementExternalStartFormComponent, selector: "valtimo-case-management-external-start-form", inputs: ["isReadOnly"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
|
|
4879
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: CaseManagementGeneralComponent, isStandalone: false, selector: "valtimo-case-management-general", viewQueries: [{ propertyName: "_extensions", first: true, predicate: ["extensions"], descendants: true, read: ViewContainerRef }], 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<ng-container\n *ngIf=\"{\n isReadOnly: isReadOnly$ | async,\n } as obs\"\n>\n @if (obs.isReadOnly) {\n <cds-notification\n class=\"read-only-notification\"\n [notificationObj]=\"{\n type: 'info',\n title: 'caseManagement.tabs.generalTab.readOnlyNotification.title' | translate,\n message: 'caseManagement.tabs.generalTab.readOnlyNotification.message' | translate,\n showClose: false,\n lowContrast: true,\n }\"\n >\n </cds-notification>\n }\n\n <valtimo-case-management-missing-plugin-configurations></valtimo-case-management-missing-plugin-configurations>\n\n <div class=\"case-management-general-tab\" muuri [columnMinWidth]=\"350\">\n <ng-template #extensions></ng-template>\n\n <valtimo-muuri-item>\n <valtimo-case-management-case-handler\n muuriItem\n [isReadOnly]=\"obs.isReadOnly\"\n *ngIf=\"documentDefinition$ | async\"\n ></valtimo-case-management-case-handler>\n </valtimo-muuri-item>\n\n <valtimo-muuri-item>\n <valtimo-case-management-external-start-form [isReadOnly]=\"obs.isReadOnly\">\n </valtimo-case-management-external-start-form>\n </valtimo-muuri-item>\n </div>\n</ng-container>\n", styles: [".read-only-notification{margin-bottom:16px;max-inline-size:100%;min-inline-size:100%}\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: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.Notification, selector: "cds-notification, cds-inline-notification, ibm-notification, ibm-inline-notification", inputs: ["notificationObj"] }, { kind: "directive", type: i7.MuuriDirective, selector: "[muuri]", inputs: ["columnMinWidth", "widgetLayout"] }, { kind: "component", type: i7.MuuriItemComponent, selector: "valtimo-muuri-item" }, { kind: "component", type: CaseManagementMissingPluginConfigurationsComponent, selector: "valtimo-case-management-missing-plugin-configurations" }, { kind: "component", type: CaseManagementCaseHandlerComponent, selector: "valtimo-case-management-case-handler", inputs: ["isReadOnly"] }, { kind: "component", type: CaseManagementExternalStartFormComponent, selector: "valtimo-case-management-external-start-form", inputs: ["isReadOnly"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
|
|
4871
4880
|
}
|
|
4872
4881
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementGeneralComponent, decorators: [{
|
|
4873
4882
|
type: Component,
|
|
@@ -4901,15 +4910,24 @@ class CaseManagementWidgetTabEditModalComponent {
|
|
|
4901
4910
|
get widgetTabName() {
|
|
4902
4911
|
return this.editWidgetTabForm.get('name');
|
|
4903
4912
|
}
|
|
4904
|
-
|
|
4913
|
+
get _widgetService() {
|
|
4914
|
+
return this.widgetManagementService;
|
|
4915
|
+
}
|
|
4916
|
+
constructor(fb, tabManagementService, widgetManagementService) {
|
|
4905
4917
|
this.fb = fb;
|
|
4906
4918
|
this.tabManagementService = tabManagementService;
|
|
4919
|
+
this.widgetManagementService = widgetManagementService;
|
|
4907
4920
|
this.saveEvent = new EventEmitter();
|
|
4908
4921
|
this.open$ = new BehaviorSubject(false);
|
|
4909
4922
|
this.disabled$ = new BehaviorSubject(false);
|
|
4910
4923
|
this.editWidgetTabForm = this.fb.group({
|
|
4911
4924
|
name: this.fb.control('', [Validators.required]),
|
|
4925
|
+
widgetLayout: this.fb.control(WidgetLayout.MUURI_GAP_FREE),
|
|
4912
4926
|
});
|
|
4927
|
+
this.widgetLayoutSelectItems = WIDGET_LAYOUT_VALUES.map(value => ({
|
|
4928
|
+
id: value,
|
|
4929
|
+
translationKey: WIDGET_LAYOUT_TRANSLATION_KEYS[value],
|
|
4930
|
+
}));
|
|
4913
4931
|
}
|
|
4914
4932
|
ngOnInit() {
|
|
4915
4933
|
this.openOpenSubscription();
|
|
@@ -4925,6 +4943,7 @@ class CaseManagementWidgetTabEditModalComponent {
|
|
|
4925
4943
|
}
|
|
4926
4944
|
saveWidgetTab() {
|
|
4927
4945
|
this.disable();
|
|
4946
|
+
const widgetLayout = this.editWidgetTabForm.get('widgetLayout')?.value ?? WidgetLayout.MUURI_GAP_FREE;
|
|
4928
4947
|
this.tabManagementService
|
|
4929
4948
|
.editTab({
|
|
4930
4949
|
key: this.tabItem.key,
|
|
@@ -4932,6 +4951,10 @@ class CaseManagementWidgetTabEditModalComponent {
|
|
|
4932
4951
|
contentKey: '-',
|
|
4933
4952
|
type: ApiTabType.WIDGETS,
|
|
4934
4953
|
}, this.tabItem.key)
|
|
4954
|
+
.pipe(
|
|
4955
|
+
// Refresh the cached widgets first so persisting the layout doesn't
|
|
4956
|
+
// overwrite the widget tab with a stale widget list.
|
|
4957
|
+
switchMap(() => this._widgetService.getWidgetConfiguration().pipe(take$1(1))), switchMap(() => this._widgetService.updateWidgetLayout(widgetLayout).pipe(take$1(1))))
|
|
4935
4958
|
.subscribe(() => {
|
|
4936
4959
|
this.saveEvent.emit();
|
|
4937
4960
|
this.closeModal();
|
|
@@ -4941,6 +4964,9 @@ class CaseManagementWidgetTabEditModalComponent {
|
|
|
4941
4964
|
if (this.tabItem) {
|
|
4942
4965
|
this.widgetTabName?.setValue(this.tabItem.name ?? '');
|
|
4943
4966
|
}
|
|
4967
|
+
this.editWidgetTabForm
|
|
4968
|
+
.get('widgetLayout')
|
|
4969
|
+
?.setValue(this._widgetService.widgetLayout$.value);
|
|
4944
4970
|
this.enable();
|
|
4945
4971
|
}
|
|
4946
4972
|
openOpenSubscription() {
|
|
@@ -4955,8 +4981,8 @@ class CaseManagementWidgetTabEditModalComponent {
|
|
|
4955
4981
|
enable() {
|
|
4956
4982
|
this.disabled$.next(false);
|
|
4957
4983
|
}
|
|
4958
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementWidgetTabEditModalComponent, deps: [{ token: i1$4.FormBuilder }, { token: TabManagementService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4959
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CaseManagementWidgetTabEditModalComponent, isStandalone: true, selector: "valtimo-case-management-widget-tab-edit-modal", inputs: { showModal$: "showModal$", tabItem: "tabItem" }, outputs: { saveEvent: "saveEvent" }, 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\n *ngIf=\"{disabled: disabled$ | async} as obs\"\n valtimoCdsModal\n [open]=\"open$ | async\"\n showFooter=\"true\"\n title=\"{{ 'widgetTabManagement.tab.editWidgetTab' | translate }}\"\n class=\"edit-widget-tab-modal\"\n (close)=\"closeModal()\"\n>\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"closeModal()\">\n <h3 cdsModalHeaderHeading>{{ 'widgetTabManagement.tab.editWidgetTab' | translate }}</h3>\n </cds-modal-header>\n\n <section cdsModalContent
|
|
4984
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementWidgetTabEditModalComponent, deps: [{ token: i1$4.FormBuilder }, { token: TabManagementService }, { token: WIDGET_MANAGEMENT_SERVICE }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4985
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CaseManagementWidgetTabEditModalComponent, isStandalone: true, selector: "valtimo-case-management-widget-tab-edit-modal", inputs: { showModal$: "showModal$", tabItem: "tabItem" }, outputs: { saveEvent: "saveEvent" }, 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\n *ngIf=\"{disabled: disabled$ | async} as obs\"\n valtimoCdsModal\n [open]=\"open$ | async\"\n showFooter=\"true\"\n title=\"{{ 'widgetTabManagement.tab.editWidgetTab' | translate }}\"\n class=\"edit-widget-tab-modal\"\n (close)=\"closeModal()\"\n>\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"closeModal()\">\n <h3 cdsModalHeaderHeading>{{ 'widgetTabManagement.tab.editWidgetTab' | translate }}</h3>\n </cds-modal-header>\n\n <section cdsModalContent>\n <ng-container *ngTemplateOutlet=\"editWidgetTabFormTemplate;context:{obs: obs}\"></ng-container>\n </section>\n\n <cds-modal-footer>\n <ng-container *ngTemplateOutlet=\"editWidgetTabButtons;context:{obs: obs}\"></ng-container>\n </cds-modal-footer>\n</cds-modal>\n\n<ng-template #editWidgetTabFormTemplate let-obs=\"obs\">\n <form\n *ngIf=\"editWidgetTabForm\"\n [formGroup]=\"editWidgetTabForm\"\n class=\"widget-tab-modal__form\"\n [cdsLayer]=\"1\"\n >\n <cds-label [disabled]=\"obs.disabled\" [invalid]=\"widgetTabName.dirty && widgetTabName.invalid\">\n {{ 'widgetTabManagement.tab.form.tabName' | translate }}\n\n <input\n cdsText\n [disabled]=\"obs.disabled\"\n [invalid]=\"widgetTabName.dirty && widgetTabName.invalid\"\n formControlName=\"name\"\n [attr.modal-primary-focus]=\"true\"\n />\n </cds-label>\n\n <v-select\n formControlName=\"widgetLayout\"\n [items]=\"widgetLayoutSelectItems\"\n [dropUp]=\"false\"\n [appendInline]=\"false\"\n titleTranslationKey=\"widgetLayout.label\"\n ></v-select>\n\n <valtimo-widget-layout-info></valtimo-widget-layout-info>\n </form>\n</ng-template>\n\n<ng-template #editWidgetTabButtons let-obs=\"obs\">\n <button cdsButton=\"secondary\" [disabled]=\"obs.disabled\" (click)=\"closeModal()\">\n {{ 'widgetTabManagement.tab.cancel' | translate }}\n </button>\n\n <button\n cdsButton=\"primary\"\n [disabled]=\"editWidgetTabForm.invalid || obs.disabled\"\n (click)=\"saveWidgetTab()\"\n >\n {{ 'widgetTabManagement.tab.save' | translate }}\n </button>\n</ng-template>\n", styles: [".edit-widget-tab-modal .widget-tab-modal__form{display:flex;flex-direction:column;gap:16px}.edit-widget-tab-modal .form__row{display:flex;flex-direction:row;justify-content:space-between;align-items:flex-end}\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: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ModalModule }, { kind: "component", type: i2.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i2.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i2.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i2.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i2.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "directive", type: ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", inputs: ["minContentHeight"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i2.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i2.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: LayerModule }, { kind: "directive", type: i2.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "ngmodule", type: SelectModule }, { kind: "component", type: i7.SelectComponent, selector: "v-select", inputs: ["items", "defaultSelection", "defaultSelectionId", "defaultSelectionIds", "disabled", "dropUp", "invalid", "multiple", "margin", "widthInPx", "notFoundText", "clearAllText", "clearText", "clearable", "name", "title", "titleTranslationKey", "clearSelectionSubject$", "tooltip", "required", "loading", "loadingText", "placeholder", "smallMargin", "carbonTheme", "appendInline", "warn", "warnText", "dataTestId"], outputs: ["selectedChange"] }, { kind: "component", type: WidgetLayoutInfoComponent, selector: "valtimo-widget-layout-info" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
4960
4986
|
}
|
|
4961
4987
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementWidgetTabEditModalComponent, decorators: [{
|
|
4962
4988
|
type: Component,
|
|
@@ -4968,8 +4994,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
4968
4994
|
ReactiveFormsModule,
|
|
4969
4995
|
InputModule,
|
|
4970
4996
|
ButtonModule,
|
|
4971
|
-
|
|
4972
|
-
|
|
4997
|
+
LayerModule,
|
|
4998
|
+
SelectModule,
|
|
4999
|
+
WidgetLayoutInfoComponent,
|
|
5000
|
+
], 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\n *ngIf=\"{disabled: disabled$ | async} as obs\"\n valtimoCdsModal\n [open]=\"open$ | async\"\n showFooter=\"true\"\n title=\"{{ 'widgetTabManagement.tab.editWidgetTab' | translate }}\"\n class=\"edit-widget-tab-modal\"\n (close)=\"closeModal()\"\n>\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"closeModal()\">\n <h3 cdsModalHeaderHeading>{{ 'widgetTabManagement.tab.editWidgetTab' | translate }}</h3>\n </cds-modal-header>\n\n <section cdsModalContent>\n <ng-container *ngTemplateOutlet=\"editWidgetTabFormTemplate;context:{obs: obs}\"></ng-container>\n </section>\n\n <cds-modal-footer>\n <ng-container *ngTemplateOutlet=\"editWidgetTabButtons;context:{obs: obs}\"></ng-container>\n </cds-modal-footer>\n</cds-modal>\n\n<ng-template #editWidgetTabFormTemplate let-obs=\"obs\">\n <form\n *ngIf=\"editWidgetTabForm\"\n [formGroup]=\"editWidgetTabForm\"\n class=\"widget-tab-modal__form\"\n [cdsLayer]=\"1\"\n >\n <cds-label [disabled]=\"obs.disabled\" [invalid]=\"widgetTabName.dirty && widgetTabName.invalid\">\n {{ 'widgetTabManagement.tab.form.tabName' | translate }}\n\n <input\n cdsText\n [disabled]=\"obs.disabled\"\n [invalid]=\"widgetTabName.dirty && widgetTabName.invalid\"\n formControlName=\"name\"\n [attr.modal-primary-focus]=\"true\"\n />\n </cds-label>\n\n <v-select\n formControlName=\"widgetLayout\"\n [items]=\"widgetLayoutSelectItems\"\n [dropUp]=\"false\"\n [appendInline]=\"false\"\n titleTranslationKey=\"widgetLayout.label\"\n ></v-select>\n\n <valtimo-widget-layout-info></valtimo-widget-layout-info>\n </form>\n</ng-template>\n\n<ng-template #editWidgetTabButtons let-obs=\"obs\">\n <button cdsButton=\"secondary\" [disabled]=\"obs.disabled\" (click)=\"closeModal()\">\n {{ 'widgetTabManagement.tab.cancel' | translate }}\n </button>\n\n <button\n cdsButton=\"primary\"\n [disabled]=\"editWidgetTabForm.invalid || obs.disabled\"\n (click)=\"saveWidgetTab()\"\n >\n {{ 'widgetTabManagement.tab.save' | translate }}\n </button>\n</ng-template>\n", styles: [".edit-widget-tab-modal .widget-tab-modal__form{display:flex;flex-direction:column;gap:16px}.edit-widget-tab-modal .form__row{display:flex;flex-direction:row;justify-content:space-between;align-items:flex-end}\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"] }]
|
|
5001
|
+
}], ctorParameters: () => [{ type: i1$4.FormBuilder }, { type: TabManagementService }, { type: undefined, decorators: [{
|
|
5002
|
+
type: Inject,
|
|
5003
|
+
args: [WIDGET_MANAGEMENT_SERVICE]
|
|
5004
|
+
}] }], propDecorators: { showModal$: [{
|
|
4973
5005
|
type: Input
|
|
4974
5006
|
}], tabItem: [{
|
|
4975
5007
|
type: Input
|