@valtimo/layout 13.27.0 → 13.28.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/css/app.css +0 -1
- package/assets/img/widget-management/types/highlight.svg +18 -0
- package/assets/img/widget-management/types/metroline.svg +30 -0
- package/assets/img/widget-management/types/person.svg +30 -0
- package/fesm2022/valtimo-layout.mjs +1131 -277
- package/fesm2022/valtimo-layout.mjs.map +1 -1
- package/lib/components/index.d.ts +3 -0
- package/lib/components/index.d.ts.map +1 -1
- package/lib/components/widget-action-button/widget-action-button.component.d.ts.map +1 -1
- package/lib/components/widget-block/widget-block.component.d.ts +2 -1
- package/lib/components/widget-block/widget-block.component.d.ts.map +1 -1
- package/lib/components/widget-highlight/index.d.ts +2 -0
- package/lib/components/widget-highlight/index.d.ts.map +1 -0
- package/lib/components/widget-highlight/widget-highlight.component.d.ts +16 -0
- package/lib/components/widget-highlight/widget-highlight.component.d.ts.map +1 -0
- package/lib/components/widget-management/management-action-button/widget-management-action-button.component.d.ts +1 -0
- package/lib/components/widget-management/management-action-button/widget-management-action-button.component.d.ts.map +1 -1
- package/lib/components/widget-management/management-content/highlight/widget-management-highlight.component.d.ts +37 -0
- package/lib/components/widget-management/management-content/highlight/widget-management-highlight.component.d.ts.map +1 -0
- package/lib/components/widget-management/management-content/index.d.ts +3 -0
- package/lib/components/widget-management/management-content/index.d.ts.map +1 -1
- package/lib/components/widget-management/management-content/metroline/widget-management-metroline.component.d.ts +41 -0
- package/lib/components/widget-management/management-content/metroline/widget-management-metroline.component.d.ts.map +1 -0
- package/lib/components/widget-management/management-content/person-card/widget-management-person-card.component.d.ts +41 -0
- package/lib/components/widget-management/management-content/person-card/widget-management-person-card.component.d.ts.map +1 -0
- package/lib/components/widget-management/management-editor/widget-management-editor.component.d.ts.map +1 -1
- package/lib/components/widget-management/management-wizard/steps/widget-wizard-type-step/widget-wizard-type-step.component.d.ts +2 -0
- package/lib/components/widget-management/management-wizard/steps/widget-wizard-type-step/widget-wizard-type-step.component.d.ts.map +1 -1
- package/lib/components/widget-management/management-wizard/widget-management-wizard.component.d.ts +1 -1
- package/lib/components/widget-management/management-wizard/widget-management-wizard.component.d.ts.map +1 -1
- package/lib/components/widget-map/widget-map.component.d.ts.map +1 -1
- package/lib/components/widget-metroline/index.d.ts +2 -0
- package/lib/components/widget-metroline/index.d.ts.map +1 -0
- package/lib/components/widget-metroline/widget-metroline.component.d.ts +33 -0
- package/lib/components/widget-metroline/widget-metroline.component.d.ts.map +1 -0
- package/lib/components/widget-person-card/index.d.ts +2 -0
- package/lib/components/widget-person-card/index.d.ts.map +1 -0
- package/lib/components/widget-person-card/widget-person-card-color.util.d.ts +4 -0
- package/lib/components/widget-person-card/widget-person-card-color.util.d.ts.map +1 -0
- package/lib/components/widget-person-card/widget-person-card.component.d.ts +28 -0
- package/lib/components/widget-person-card/widget-person-card.component.d.ts.map +1 -0
- package/lib/components/widget-person-card/widget-person-card.model.d.ts +10 -0
- package/lib/components/widget-person-card/widget-person-card.model.d.ts.map +1 -0
- package/lib/constants/index.d.ts +2 -0
- package/lib/constants/index.d.ts.map +1 -1
- package/lib/constants/layout.test-ids.d.ts +16 -0
- package/lib/constants/layout.test-ids.d.ts.map +1 -1
- package/lib/constants/widget-color.constants.d.ts +4 -1
- package/lib/constants/widget-color.constants.d.ts.map +1 -1
- package/lib/constants/widget-management-metroline.constants.d.ts +5 -0
- package/lib/constants/widget-management-metroline.constants.d.ts.map +1 -0
- package/lib/constants/widget-metroline.constants.d.ts +6 -0
- package/lib/constants/widget-metroline.constants.d.ts.map +1 -0
- package/lib/constants/widget.constants.d.ts.map +1 -1
- package/lib/models/index.d.ts +1 -1
- package/lib/models/index.d.ts.map +1 -1
- package/lib/models/widget-content.model.d.ts +52 -2
- package/lib/models/widget-content.model.d.ts.map +1 -1
- package/lib/models/widget-editor.model.d.ts.map +1 -1
- package/lib/models/widget-wizard.model.d.ts.map +1 -1
- package/lib/models/widget.model.d.ts +22 -5
- package/lib/models/widget.model.d.ts.map +1 -1
- package/lib/services/index.d.ts +1 -0
- package/lib/services/index.d.ts.map +1 -1
- package/lib/services/metroline-widget-api.service.d.ts +14 -0
- package/lib/services/metroline-widget-api.service.d.ts.map +1 -0
- package/lib/services/widget-wizard.service.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Injectable, InjectionToken, Component, ViewChild, ViewContainerRef, Input, EventEmitter, signal, Output, HostBinding, ViewEncapsulation, ChangeDetectionStrategy, Inject, effect, Optional, computed, TemplateRef, NgModule } from '@angular/core';
|
|
3
|
+
import * as i2 from '@valtimo/shared';
|
|
4
|
+
import { BaseApiService, getCaseManagementRouteParams, GlobalNotificationComponent, ROLE_ADMIN } from '@valtimo/shared';
|
|
5
|
+
import * as i1 from '@angular/common/http';
|
|
6
|
+
import { HttpParams } from '@angular/common/http';
|
|
3
7
|
import * as i1$3 from '@angular/forms';
|
|
4
8
|
import { ReactiveFormsModule, FormsModule, Validators } from '@angular/forms';
|
|
5
9
|
import * as i4 from '@angular/common';
|
|
6
|
-
import { CommonModule, DOCUMENT } from '@angular/common';
|
|
7
|
-
import * as i2$
|
|
10
|
+
import { CommonModule, DOCUMENT, DatePipe } from '@angular/common';
|
|
11
|
+
import * as i2$2 from '@ngx-translate/core';
|
|
8
12
|
import { TranslateModule, TranslatePipe } from '@ngx-translate/core';
|
|
9
|
-
import * as i1 from '@valtimo/components';
|
|
10
|
-
import { ViewType, CarbonListModule, EllipsisPipe, MdiIconViewerComponent, FormIoModule, CARBON_THEME, CurrentCarbonTheme, InputLabelModule, InputModule as InputModule$1, FormModule, SelectModule, ParagraphModule, DateTimePickerComponent, OverflowMenuComponent, OverflowMenuOptionComponent, runAfterCarbonModalClosed, AutoKeyInputComponent, CARBON_CONSTANTS, ValuePathSelectorPrefix, CarbonMultiInputModule, ConfirmationModalModule, JsonEditorComponent, ValuePathSelectorComponent, MdiIconSelectorComponent, ValuePathType, MenuRoutingModule, TopbarModule, LeftSidebarModule, RightSidebarModule, PageHeaderModule, AlertModule, PromptModule, MultiInputFormModule, RenderInPageHeaderDirective } from '@valtimo/components';
|
|
13
|
+
import * as i1$1 from '@valtimo/components';
|
|
14
|
+
import { ViewType, CarbonListModule, EllipsisPipe, MdiIconViewerComponent, FormIoModule, CARBON_THEME, CurrentCarbonTheme, InputLabelModule, InputModule as InputModule$1, FormModule, SelectModule, ParagraphModule, DateTimePickerComponent, OverflowMenuComponent, OverflowMenuOptionComponent, runAfterCarbonModalClosed, AutoKeyInputComponent, CARBON_CONSTANTS, ValuePathSelectorPrefix, CarbonMultiInputModule, ConfirmationModalModule, JsonEditorComponent, RemoveClassnamesDirective, ValuePathSelectorComponent, MdiIconSelectorComponent, ValuePathType, MenuRoutingModule, TopbarModule, LeftSidebarModule, RightSidebarModule, PageHeaderModule, AlertModule, PromptModule, MultiInputFormModule, RenderInPageHeaderDirective } from '@valtimo/components';
|
|
11
15
|
import * as i3 from 'carbon-components-angular';
|
|
12
|
-
import { ButtonModule, InputModule, LayerModule, SkeletonModule, PaginationModel, PaginationModule, TilesModule, IconModule, TimePickerModule, MenuButtonModule, ContextMenuModule, LoadingModule, ModalModule, TooltipModule, ComboBoxModule, DropdownModule, StructuredListModule, ToggleModule, AccordionModule, ProgressIndicatorModule, TabsModule,
|
|
16
|
+
import { ButtonModule, InputModule, LayerModule, SkeletonModule, PaginationModel, PaginationModule, TilesModule, IconModule, TimePickerModule, MenuButtonModule, ContextMenuModule, LoadingModule, ModalModule, TooltipModule, ComboBoxModule, CheckboxModule, DropdownModule, StructuredListModule, ToggleModule, AccordionModule, ProgressIndicatorModule, TabsModule, ToggletipModule, TagModule, Tab, SelectModule as SelectModule$1, RadioModule, PlaceholderModule } from 'carbon-components-angular';
|
|
13
17
|
import { Subscription, BehaviorSubject, combineLatest, map, tap, switchMap, take, filter as filter$1, Subject, debounceTime, of, startWith, merge, delay } from 'rxjs';
|
|
14
|
-
import * as i2 from '@angular/router';
|
|
18
|
+
import * as i2$1 from '@angular/router';
|
|
15
19
|
import { NavigationEnd, RouterModule } from '@angular/router';
|
|
16
20
|
import { filter, catchError } from 'rxjs/operators';
|
|
17
|
-
import * as i1$1 from '@valtimo/shared';
|
|
18
|
-
import { getCaseManagementRouteParams, GlobalNotificationComponent, ROLE_ADMIN } from '@valtimo/shared';
|
|
19
21
|
import { isEqual, cloneDeep } from 'lodash';
|
|
20
|
-
import { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';
|
|
22
|
+
import { takeUntilDestroyed, toObservable, toSignal } from '@angular/core/rxjs-interop';
|
|
21
23
|
import * as i1$2 from '@valtimo/form';
|
|
22
|
-
import { TrashCan16, Filter16, Link16, Edit16, ArrowUp16, ArrowDown16, DragVertical16 } from '@carbon/icons';
|
|
23
|
-
import * as i2$3 from '@
|
|
24
|
-
import { HttpParams } from '@angular/common/http';
|
|
25
|
-
import * as i2$2 from '@valtimo/document';
|
|
24
|
+
import { TrashCan16, Filter16, Link16, Edit16, ArrowUp16, ArrowDown16, DragVertical16, Phone20, Email20, Calendar20, Information16 } from '@carbon/icons';
|
|
25
|
+
import * as i2$3 from '@valtimo/document';
|
|
26
26
|
import * as i3$1 from '@valtimo/access-control';
|
|
27
27
|
import Muuri from 'muuri';
|
|
28
28
|
import { v4 } from 'uuid';
|
|
@@ -72,6 +72,54 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
72
72
|
}]
|
|
73
73
|
}], ctorParameters: () => [] });
|
|
74
74
|
|
|
75
|
+
class MetrolineWidgetApiService extends BaseApiService {
|
|
76
|
+
constructor(httpClient, configService) {
|
|
77
|
+
super(httpClient, configService);
|
|
78
|
+
this.httpClient = httpClient;
|
|
79
|
+
this.configService = configService;
|
|
80
|
+
}
|
|
81
|
+
getAvailableModes() {
|
|
82
|
+
return this.httpClient.get(this.getApiUrl('management/v1/metroline/available-modes'));
|
|
83
|
+
}
|
|
84
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: MetrolineWidgetApiService, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
85
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: MetrolineWidgetApiService, providedIn: 'root' }); }
|
|
86
|
+
}
|
|
87
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: MetrolineWidgetApiService, decorators: [{
|
|
88
|
+
type: Injectable,
|
|
89
|
+
args: [{
|
|
90
|
+
providedIn: 'root',
|
|
91
|
+
}]
|
|
92
|
+
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.ConfigService }] });
|
|
93
|
+
|
|
94
|
+
var WidgetType;
|
|
95
|
+
(function (WidgetType) {
|
|
96
|
+
WidgetType["FIELDS"] = "fields";
|
|
97
|
+
WidgetType["INTERACTIVE_TABLE"] = "interactive-table";
|
|
98
|
+
WidgetType["TABLE"] = "table";
|
|
99
|
+
WidgetType["CUSTOM"] = "custom";
|
|
100
|
+
WidgetType["COLLECTION"] = "collection";
|
|
101
|
+
WidgetType["FORMIO"] = "formio";
|
|
102
|
+
WidgetType["DIVIDER"] = "divider";
|
|
103
|
+
WidgetType["MAP"] = "map";
|
|
104
|
+
WidgetType["METROLINE"] = "metroline";
|
|
105
|
+
WidgetType["HIGHLIGHT"] = "highlight";
|
|
106
|
+
WidgetType["PERSON_CARD"] = "person-card";
|
|
107
|
+
})(WidgetType || (WidgetType = {}));
|
|
108
|
+
var WidgetColor;
|
|
109
|
+
(function (WidgetColor) {
|
|
110
|
+
WidgetColor["YELLOW"] = "YELLOW";
|
|
111
|
+
WidgetColor["ORANGE"] = "ORANGE";
|
|
112
|
+
WidgetColor["RED"] = "RED";
|
|
113
|
+
WidgetColor["BROWN"] = "BROWN";
|
|
114
|
+
WidgetColor["GREEN"] = "GREEN";
|
|
115
|
+
WidgetColor["TURQOISE"] = "TURQOISE";
|
|
116
|
+
WidgetColor["PURPLE"] = "PURPLE";
|
|
117
|
+
WidgetColor["PERIWINKLE"] = "PERIWINKLE";
|
|
118
|
+
WidgetColor["BLUE"] = "BLUE";
|
|
119
|
+
WidgetColor["WHITE"] = "WHITE";
|
|
120
|
+
WidgetColor["HIGHCONTRAST"] = "HIGHCONTRAST";
|
|
121
|
+
})(WidgetColor || (WidgetColor = {}));
|
|
122
|
+
|
|
75
123
|
/*
|
|
76
124
|
* Copyright 2015-2025 Ritense BV, the Netherlands.
|
|
77
125
|
*
|
|
@@ -97,6 +145,29 @@ var FilterDropdownDataProvider;
|
|
|
97
145
|
FilterDropdownDataProvider["DATABASE"] = "dropdownDatabaseDataProvider";
|
|
98
146
|
FilterDropdownDataProvider["JSON"] = "dropdownJsonFileDataProvider";
|
|
99
147
|
})(FilterDropdownDataProvider || (FilterDropdownDataProvider = {}));
|
|
148
|
+
var MetrolineOrientation;
|
|
149
|
+
(function (MetrolineOrientation) {
|
|
150
|
+
MetrolineOrientation["HORIZONTAL"] = "HORIZONTAL";
|
|
151
|
+
MetrolineOrientation["VERTICAL"] = "VERTICAL";
|
|
152
|
+
})(MetrolineOrientation || (MetrolineOrientation = {}));
|
|
153
|
+
var MetrolineMode;
|
|
154
|
+
(function (MetrolineMode) {
|
|
155
|
+
MetrolineMode["INTERNAL_CASE_STATUS"] = "INTERNAL_CASE_STATUS";
|
|
156
|
+
MetrolineMode["ZAAKSTATUS"] = "ZAAKSTATUS";
|
|
157
|
+
})(MetrolineMode || (MetrolineMode = {}));
|
|
158
|
+
var MetrolineStepState;
|
|
159
|
+
(function (MetrolineStepState) {
|
|
160
|
+
MetrolineStepState["CURRENT"] = "current";
|
|
161
|
+
MetrolineStepState["COMPLETE"] = "complete";
|
|
162
|
+
MetrolineStepState["INCOMPLETE"] = "incomplete";
|
|
163
|
+
MetrolineStepState["INVALID"] = "invalid";
|
|
164
|
+
})(MetrolineStepState || (MetrolineStepState = {}));
|
|
165
|
+
var HighlightDisplayType;
|
|
166
|
+
(function (HighlightDisplayType) {
|
|
167
|
+
HighlightDisplayType["TEXT"] = "text";
|
|
168
|
+
HighlightDisplayType["NUMBER"] = "number";
|
|
169
|
+
HighlightDisplayType["ARRAY_COUNT"] = "array-count";
|
|
170
|
+
})(HighlightDisplayType || (HighlightDisplayType = {}));
|
|
100
171
|
|
|
101
172
|
/*
|
|
102
173
|
* Copyright 2015-2025 Ritense BV, the Netherlands.
|
|
@@ -126,32 +197,6 @@ var WidgetDisplayTypeKey;
|
|
|
126
197
|
WidgetDisplayTypeKey["LINK"] = "link";
|
|
127
198
|
})(WidgetDisplayTypeKey || (WidgetDisplayTypeKey = {}));
|
|
128
199
|
|
|
129
|
-
var WidgetType;
|
|
130
|
-
(function (WidgetType) {
|
|
131
|
-
WidgetType["FIELDS"] = "fields";
|
|
132
|
-
WidgetType["INTERACTIVE_TABLE"] = "interactive-table";
|
|
133
|
-
WidgetType["TABLE"] = "table";
|
|
134
|
-
WidgetType["CUSTOM"] = "custom";
|
|
135
|
-
WidgetType["COLLECTION"] = "collection";
|
|
136
|
-
WidgetType["FORMIO"] = "formio";
|
|
137
|
-
WidgetType["DIVIDER"] = "divider";
|
|
138
|
-
WidgetType["MAP"] = "map";
|
|
139
|
-
})(WidgetType || (WidgetType = {}));
|
|
140
|
-
var WidgetColor;
|
|
141
|
-
(function (WidgetColor) {
|
|
142
|
-
WidgetColor["YELLOW"] = "YELLOW";
|
|
143
|
-
WidgetColor["ORANGE"] = "ORANGE";
|
|
144
|
-
WidgetColor["RED"] = "RED";
|
|
145
|
-
WidgetColor["BROWN"] = "BROWN";
|
|
146
|
-
WidgetColor["GREEN"] = "GREEN";
|
|
147
|
-
WidgetColor["TURQOISE"] = "TURQOISE";
|
|
148
|
-
WidgetColor["PURPLE"] = "PURPLE";
|
|
149
|
-
WidgetColor["PERIWINKLE"] = "PERIWINKLE";
|
|
150
|
-
WidgetColor["BLUE"] = "BLUE";
|
|
151
|
-
WidgetColor["WHITE"] = "WHITE";
|
|
152
|
-
WidgetColor["HIGHCONTRAST"] = "HIGHCONTRAST";
|
|
153
|
-
})(WidgetColor || (WidgetColor = {}));
|
|
154
|
-
|
|
155
200
|
/*
|
|
156
201
|
* Copyright 2015-2025 Ritense BV, the Netherlands.
|
|
157
202
|
*
|
|
@@ -180,6 +225,8 @@ const WidgetTypeTags = {
|
|
|
180
225
|
[WidgetType.TABLE]: 'purple',
|
|
181
226
|
[WidgetType.INTERACTIVE_TABLE]: 'red',
|
|
182
227
|
[WidgetType.MAP]: 'cyan',
|
|
228
|
+
[WidgetType.HIGHLIGHT]: 'warm-gray',
|
|
229
|
+
[WidgetType.METROLINE]: 'gray',
|
|
183
230
|
};
|
|
184
231
|
|
|
185
232
|
/*
|
|
@@ -232,6 +279,8 @@ const WIDGET_WIZARD_TYPE_TEST_IDS = {
|
|
|
232
279
|
tileInteractiveTable: 'widgetWizardTypeTile-interactive-table',
|
|
233
280
|
tileCollection: 'widgetWizardTypeTile-collection',
|
|
234
281
|
tileMap: 'widgetWizardTypeTile-map',
|
|
282
|
+
tilePersonCard: 'widgetWizardTypeTile-person-card',
|
|
283
|
+
tileMetroline: 'widgetWizardTypeTile-metroline',
|
|
235
284
|
};
|
|
236
285
|
const WIDGET_WIZARD_WIDTH_TEST_IDS = {
|
|
237
286
|
tileSmall: 'widgetWizardWidthTile-small',
|
|
@@ -267,6 +316,20 @@ const WIDGET_CONTENT_FIELDS_TEST_IDS = {
|
|
|
267
316
|
displayTypeDropdown: 'widgetContentFieldsDisplayType',
|
|
268
317
|
valuePathSelector: 'widgetContentFieldsValuePath',
|
|
269
318
|
};
|
|
319
|
+
const WIDGET_CONTENT_PERSON_CARD_TEST_IDS = {
|
|
320
|
+
widgetTitleInput: 'widgetContentPersonCardWidgetTitle',
|
|
321
|
+
fullNameInput: 'widgetContentPersonCardFullName',
|
|
322
|
+
birthDateInput: 'widgetContentPersonCardBirthDate',
|
|
323
|
+
bsnInput: 'widgetContentPersonCardBsn',
|
|
324
|
+
phoneInput: 'widgetContentPersonCardPhone',
|
|
325
|
+
emailInput: 'widgetContentPersonCardEmail',
|
|
326
|
+
cityInput: 'widgetContentPersonCardCity',
|
|
327
|
+
};
|
|
328
|
+
const WIDGET_CONTENT_METROLINE_TEST_IDS = {
|
|
329
|
+
widgetTitleInput: 'widgetContentMetrolineWidgetTitle',
|
|
330
|
+
displayTypeRadio: 'widgetContentMetrolineDisplayType',
|
|
331
|
+
statusSourceDropdown: 'widgetContentMetrolineStatusSource',
|
|
332
|
+
};
|
|
270
333
|
|
|
271
334
|
/*
|
|
272
335
|
* Copyright 2015-2025 Ritense BV, the Netherlands.
|
|
@@ -285,7 +348,7 @@ const WIDGET_CONTENT_FIELDS_TEST_IDS = {
|
|
|
285
348
|
*/
|
|
286
349
|
class LayoutPublicComponent {
|
|
287
350
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: LayoutPublicComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
288
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: LayoutPublicComponent, isStandalone: false, selector: "valtimo-layout-public", ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"public-page-content\">\n <img src=\"assets/logo.svg\" class=\"logo\" />\n <router-outlet></router-outlet>\n</div>\n", styles: ["body{background-color:#eee}.public-page-content{background-color:#fff;margin:60px auto;border:1px solid #dee2e6;padding:0 30px 30px}.public-page-content .logo{width:25%;display:block;margin:30px auto}@media (min-width: 768px){.public-page-content{width:50%}}@media (max-width: 767px) and (min-width: 576px){.public-page-content{width:75%}}@media (max-width: 575px){.public-page-content{width:95%}.public-page-content .logo{width:50%}}\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: i2.RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }] }); }
|
|
351
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: LayoutPublicComponent, isStandalone: false, selector: "valtimo-layout-public", ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"public-page-content\">\n <img src=\"assets/logo.svg\" class=\"logo\" />\n <router-outlet></router-outlet>\n</div>\n", styles: ["body{background-color:#eee}.public-page-content{background-color:#fff;margin:60px auto;border:1px solid #dee2e6;padding:0 30px 30px}.public-page-content .logo{width:25%;display:block;margin:30px auto}@media (min-width: 768px){.public-page-content{width:50%}}@media (max-width: 767px) and (min-width: 576px){.public-page-content{width:75%}}@media (max-width: 575px){.public-page-content{width:95%}.public-page-content .logo{width:50%}}\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: i2$1.RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }] }); }
|
|
289
352
|
}
|
|
290
353
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: LayoutPublicComponent, decorators: [{
|
|
291
354
|
type: Component,
|
|
@@ -329,13 +392,13 @@ class LayoutInternalComponent {
|
|
|
329
392
|
ngOnDestroy() {
|
|
330
393
|
this._observer.disconnect();
|
|
331
394
|
}
|
|
332
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: LayoutInternalComponent, deps: [{ token: LayoutService }, { token: i0.Renderer2 }, { token: i1.UserInterfaceService }, { token: i1.ShellService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
333
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: LayoutInternalComponent, isStandalone: false, selector: "valtimo-layout-internal", viewQueries: [{ propertyName: "mainContentRef", first: true, predicate: ["mainContent"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-topbar></valtimo-topbar>\n<main\n class=\"cds--content\"\n [ngClass]=\"{\n 'cds--content--sidebar':\n (sideBarExpanded$ | async) && (collapsibleWidescreenMenu$ | async) === false,\n }\"\n #mainContent\n>\n <valtimo-left-sidebar [hidden]=\"layoutService.isFullscreen\"></valtimo-left-sidebar>\n <valtimo-alert></valtimo-alert>\n <valtimo-page-header [hidden]=\"layoutService.isFullscreen\"></valtimo-page-header>\n <router-outlet></router-outlet>\n <valtimo-right-sidebar></valtimo-right-sidebar>\n <v-prompt></v-prompt>\n</main>\n", styles: ["::ng-deep .cds--content{padding-top:24px!important}@media screen and (max-width: 767px){.be-content{margin-left:0!important}}@media only screen and (min-width: 1056px){.cds--content--sidebar{padding-left:18rem}}\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: i2.RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: i1.TopbarComponent, selector: "valtimo-topbar" }, { kind: "component", type: i1.LeftSidebarComponent, selector: "valtimo-left-sidebar" }, { kind: "component", type: i1.RightSidebarComponent, selector: "valtimo-right-sidebar" }, { kind: "component", type: i1.PageHeaderComponent, selector: "valtimo-page-header" }, { kind: "component", type: i1.AlertComponent, selector: "valtimo-alert" }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i1.PromptComponent, selector: "v-prompt", inputs: ["appearingDelayMs", "maxWidthPx"], outputs: ["closeEvent"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }] }); }
|
|
395
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: LayoutInternalComponent, deps: [{ token: LayoutService }, { token: i0.Renderer2 }, { token: i1$1.UserInterfaceService }, { token: i1$1.ShellService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
396
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: LayoutInternalComponent, isStandalone: false, selector: "valtimo-layout-internal", viewQueries: [{ propertyName: "mainContentRef", first: true, predicate: ["mainContent"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-topbar></valtimo-topbar>\n<main\n class=\"cds--content\"\n [ngClass]=\"{\n 'cds--content--sidebar':\n (sideBarExpanded$ | async) && (collapsibleWidescreenMenu$ | async) === false,\n }\"\n #mainContent\n>\n <valtimo-left-sidebar [hidden]=\"layoutService.isFullscreen\"></valtimo-left-sidebar>\n <valtimo-alert></valtimo-alert>\n <valtimo-page-header [hidden]=\"layoutService.isFullscreen\"></valtimo-page-header>\n <router-outlet></router-outlet>\n <valtimo-right-sidebar></valtimo-right-sidebar>\n <v-prompt></v-prompt>\n</main>\n", styles: ["::ng-deep .cds--content{padding-top:24px!important}@media screen and (max-width: 767px){.be-content{margin-left:0!important}}@media only screen and (min-width: 1056px){.cds--content--sidebar{padding-left:18rem}}\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: i2$1.RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: i1$1.TopbarComponent, selector: "valtimo-topbar" }, { kind: "component", type: i1$1.LeftSidebarComponent, selector: "valtimo-left-sidebar" }, { kind: "component", type: i1$1.RightSidebarComponent, selector: "valtimo-right-sidebar" }, { kind: "component", type: i1$1.PageHeaderComponent, selector: "valtimo-page-header" }, { kind: "component", type: i1$1.AlertComponent, selector: "valtimo-alert" }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i1$1.PromptComponent, selector: "v-prompt", inputs: ["appearingDelayMs", "maxWidthPx"], outputs: ["closeEvent"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }] }); }
|
|
334
397
|
}
|
|
335
398
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: LayoutInternalComponent, decorators: [{
|
|
336
399
|
type: Component,
|
|
337
400
|
args: [{ selector: 'valtimo-layout-internal', standalone: false, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-topbar></valtimo-topbar>\n<main\n class=\"cds--content\"\n [ngClass]=\"{\n 'cds--content--sidebar':\n (sideBarExpanded$ | async) && (collapsibleWidescreenMenu$ | async) === false,\n }\"\n #mainContent\n>\n <valtimo-left-sidebar [hidden]=\"layoutService.isFullscreen\"></valtimo-left-sidebar>\n <valtimo-alert></valtimo-alert>\n <valtimo-page-header [hidden]=\"layoutService.isFullscreen\"></valtimo-page-header>\n <router-outlet></router-outlet>\n <valtimo-right-sidebar></valtimo-right-sidebar>\n <v-prompt></v-prompt>\n</main>\n", styles: ["::ng-deep .cds--content{padding-top:24px!important}@media screen and (max-width: 767px){.be-content{margin-left:0!important}}@media only screen and (min-width: 1056px){.cds--content--sidebar{padding-left:18rem}}\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"] }]
|
|
338
|
-
}], ctorParameters: () => [{ type: LayoutService }, { type: i0.Renderer2 }, { type: i1.UserInterfaceService }, { type: i1.ShellService }], propDecorators: { mainContentRef: [{
|
|
401
|
+
}], ctorParameters: () => [{ type: LayoutService }, { type: i0.Renderer2 }, { type: i1$1.UserInterfaceService }, { type: i1$1.ShellService }], propDecorators: { mainContentRef: [{
|
|
339
402
|
type: ViewChild,
|
|
340
403
|
args: ['mainContent']
|
|
341
404
|
}] } });
|
|
@@ -384,13 +447,13 @@ class LayoutComponent {
|
|
|
384
447
|
this.layoutType = layout ? layout : this._DEFAULT_LAYOUT;
|
|
385
448
|
}));
|
|
386
449
|
}
|
|
387
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: LayoutComponent, deps: [{ token: i3.PlaceholderService }, { token: i2.ActivatedRoute }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
388
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: LayoutComponent, isStandalone: false, selector: "valtimo-layout", viewQueries: [{ propertyName: "_carbonPlaceHolder", first: true, predicate: ["carbonPlaceHolder"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div #carbonPlaceHolder class=\"carbon-placeholder\"></div>\n\n<valtimo-global-notification></valtimo-global-notification>\n<valtimo-layout-public *ngIf=\"layoutType === 'public'\"></valtimo-layout-public>\n<valtimo-layout-internal *ngIf=\"layoutType === 'internal'\"></valtimo-layout-internal>\n", dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type:
|
|
450
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: LayoutComponent, deps: [{ token: i3.PlaceholderService }, { token: i2$1.ActivatedRoute }, { token: i2$1.Router }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
451
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: LayoutComponent, isStandalone: false, selector: "valtimo-layout", viewQueries: [{ propertyName: "_carbonPlaceHolder", first: true, predicate: ["carbonPlaceHolder"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div #carbonPlaceHolder class=\"carbon-placeholder\"></div>\n\n<valtimo-global-notification></valtimo-global-notification>\n<valtimo-layout-public *ngIf=\"layoutType === 'public'\"></valtimo-layout-public>\n<valtimo-layout-internal *ngIf=\"layoutType === 'internal'\"></valtimo-layout-internal>\n", dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.GlobalNotificationComponent, selector: "valtimo-global-notification" }, { kind: "component", type: LayoutPublicComponent, selector: "valtimo-layout-public" }, { kind: "component", type: LayoutInternalComponent, selector: "valtimo-layout-internal" }] }); }
|
|
389
452
|
}
|
|
390
453
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: LayoutComponent, decorators: [{
|
|
391
454
|
type: Component,
|
|
392
455
|
args: [{ selector: 'valtimo-layout', standalone: false, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div #carbonPlaceHolder class=\"carbon-placeholder\"></div>\n\n<valtimo-global-notification></valtimo-global-notification>\n<valtimo-layout-public *ngIf=\"layoutType === 'public'\"></valtimo-layout-public>\n<valtimo-layout-internal *ngIf=\"layoutType === 'internal'\"></valtimo-layout-internal>\n" }]
|
|
393
|
-
}], ctorParameters: () => [{ type: i3.PlaceholderService }, { type: i2.ActivatedRoute }, { type: i2.Router }], propDecorators: { _carbonPlaceHolder: [{
|
|
456
|
+
}], ctorParameters: () => [{ type: i3.PlaceholderService }, { type: i2$1.ActivatedRoute }, { type: i2$1.Router }], propDecorators: { _carbonPlaceHolder: [{
|
|
394
457
|
type: ViewChild,
|
|
395
458
|
args: ['carbonPlaceHolder', { static: true, read: ViewContainerRef }]
|
|
396
459
|
}] } });
|
|
@@ -464,18 +527,19 @@ class WidgetActionButtonComponent {
|
|
|
464
527
|
}
|
|
465
528
|
onNavigateButtonClick(buttonAction) {
|
|
466
529
|
const navigateTo = this.getNavigateToUrl(buttonAction);
|
|
467
|
-
if (navigateTo
|
|
468
|
-
window.open(navigateTo, '_self');
|
|
469
|
-
}
|
|
470
|
-
else if (navigateTo?.startsWith('http')) {
|
|
471
|
-
window.open(navigateTo, '_blank');
|
|
472
|
-
}
|
|
473
|
-
else {
|
|
530
|
+
if (!navigateTo) {
|
|
474
531
|
this.globalNotificationService.showToast({
|
|
475
532
|
title: 'An unexpected error occurred',
|
|
476
|
-
caption:
|
|
533
|
+
caption: 'Unable to navigate to the configured URL',
|
|
477
534
|
type: 'error',
|
|
478
535
|
});
|
|
536
|
+
return;
|
|
537
|
+
}
|
|
538
|
+
if (buttonAction?.openInNewTab) {
|
|
539
|
+
window.open(navigateTo, '_blank', 'noopener,noreferrer');
|
|
540
|
+
}
|
|
541
|
+
else {
|
|
542
|
+
window.open(navigateTo, '_self');
|
|
479
543
|
}
|
|
480
544
|
}
|
|
481
545
|
getNavigateToUrl(buttonAction) {
|
|
@@ -490,13 +554,13 @@ class WidgetActionButtonComponent {
|
|
|
490
554
|
const value = resolved[property];
|
|
491
555
|
return value != null ? String(value) : null;
|
|
492
556
|
}
|
|
493
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetActionButtonComponent, deps: [{ token:
|
|
557
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetActionButtonComponent, deps: [{ token: i2.GlobalNotificationService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
494
558
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: WidgetActionButtonComponent, isStandalone: true, selector: "valtimo-widget-action-button", inputs: { widgetConfiguration: "widgetConfiguration", resolvedData: "resolvedData" }, 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@if (widgetConfiguration.actions?.[0] && getNavigateToUrl(widgetConfiguration.actions[0])) {\n <button\n class=\"action-button\"\n cdsButton=\"ghost\"\n (click)=\"onNavigateButtonClick(widgetConfiguration.actions[0])\"\n >\n {{ widgetConfiguration.actions[0].name }}\n </button>\n}\n", styles: [":host:empty{display:none}.action-button{--cds-layout-size-height-local: 0;--cds-layout-density-padding-inline-local: 0}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i3.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }] }); }
|
|
495
559
|
}
|
|
496
560
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetActionButtonComponent, decorators: [{
|
|
497
561
|
type: Component,
|
|
498
562
|
args: [{ selector: 'valtimo-widget-action-button', standalone: true, imports: [CommonModule, ButtonModule], 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@if (widgetConfiguration.actions?.[0] && getNavigateToUrl(widgetConfiguration.actions[0])) {\n <button\n class=\"action-button\"\n cdsButton=\"ghost\"\n (click)=\"onNavigateButtonClick(widgetConfiguration.actions[0])\"\n >\n {{ widgetConfiguration.actions[0].name }}\n </button>\n}\n", styles: [":host:empty{display:none}.action-button{--cds-layout-size-height-local: 0;--cds-layout-density-padding-inline-local: 0}\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"] }]
|
|
499
|
-
}], ctorParameters: () => [{ type:
|
|
563
|
+
}], ctorParameters: () => [{ type: i2.GlobalNotificationService }], propDecorators: { widgetConfiguration: [{
|
|
500
564
|
type: Input
|
|
501
565
|
}], resolvedData: [{
|
|
502
566
|
type: Input
|
|
@@ -610,8 +674,8 @@ class WidgetFieldComponent {
|
|
|
610
674
|
});
|
|
611
675
|
});
|
|
612
676
|
}
|
|
613
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetFieldComponent, deps: [{ token: i1.ViewContentService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
614
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: WidgetFieldComponent, isStandalone: true, selector: "valtimo-widget-field", inputs: { widgetConfiguration: "widgetConfiguration", widgetData: "widgetData" }, outputs: { noVisibleFieldsEvent: "noVisibleFieldsEvent" }, host: { properties: { "class": "this.hostClasses" } }, viewQueries: [{ propertyName: "_widgetFieldRef", first: true, predicate: ["widgetField"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n widgetConfiguration: widgetConfiguration$ | async,\n widgetPropertyValue: widgetPropertyValue$ | async,\n widgetData: widgetData$ | async,\n isEmptyWidgetData: isEmptyWidgetData$ | async,\n noVisibleFields: noVisibleFields$ | async,\n } as obs\"\n>\n <section *ngIf=\"obs?.widgetConfiguration?.title\" class=\"valtimo-widget-field__header\">\n <div class=\"valtimo-widget-field__title-container\">\n <valtimo-mdi-icon-viewer\n *ngIf=\"obs.widgetConfiguration?.icon\"\n [mdiIcon]=\"obs.widgetConfiguration.icon\"\n ></valtimo-mdi-icon-viewer>\n\n <h4 class=\"valtimo-widget-field__title\">{{ obs?.widgetConfiguration?.title }}</h4>\n </div>\n\n <ng-content></ng-content>\n\n <valtimo-widget-action-button\n [widgetConfiguration]=\"obs.widgetConfiguration\"\n [resolvedData]=\"obs.widgetData\"\n ></valtimo-widget-action-button>\n </section>\n\n @if (obs?.isEmptyWidgetData) {\n <valtimo-no-results\n [collapseVertically]=\"true\"\n [description]=\"'widgets.noData' | translate\"\n [smallPadding]=\"true\"\n ></valtimo-no-results>\n } @else {\n <div\n #widgetField\n class=\"valtimo-widget-field__render\"\n [ngClass]=\"{\n 'valtimo-widget-field__render-vertically': renderVertically() === 1,\n 'valtimo-widget-field__render-two-columns': renderVertically() === 2,\n 'valtimo-widget-field__render-three-columns': renderVertically() === 3,\n 'valtimo-widget-field__container': renderVertically() === 4,\n }\"\n >\n @if (obs.widgetData && obs.noVisibleFields) {\n <valtimo-no-results\n [collapseVertically]=\"true\"\n [description]=\"'widgets.emptyFields' | translate\"\n [smallPadding]=\"true\"\n ></valtimo-no-results>\n } @else {\n @for (column of obs?.widgetPropertyValue; track column.key) {\n <div class=\"valtimo-widget-field__column\">\n @for (property of column; track property) {\n <div\n *ngIf=\"\n (property?.value !== null &&\n property?.value !== '-' &&\n property?.hideWhenEmpty) ||\n !property?.hideWhenEmpty\n \"\n class=\"valtimo-widget-field__field\"\n >\n <label class=\"valtimo-widget-field__field-label\" [attr.title]=\"property?.title\">\n {{ property?.title }}</label\n >\n\n <div [attr.title]=\"property?.value\" class=\"valtimo-widget-field__field-value\">\n @if (!obs.widgetData) {\n <cds-skeleton-text [lines]=\"1\" [maxLineWidth]=\"100\"></cds-skeleton-text>\n } @else {\n @if (property?.isRawValue) {\n <div [innerHTML]=\"property?.value\"></div>\n } @else {\n {{ property?.value | valtimoEllipsis: property?.ellipsisCharacterLimit }}\n }\n }\n </div>\n </div>\n }\n </div>\n }\n }\n </div>\n }\n</ng-container>\n", styles: [".valtimo-widget-field{padding:24px}.valtimo-widget-field__header{display:flex;align-items:center;justify-content:space-between}.valtimo-widget-field,.valtimo-widget-field__column{display:flex;flex-direction:column;gap:16px;width:100%;overflow:hidden}.valtimo-widget-field__title{color:var(--widget-text-color, var(--cds-text-primary));font-weight:600;font-size:16px;line-height:24px}.valtimo-widget-field__title-container{display:flex;align-items:center;gap:8px;color:var(--widget-text-color, var(--cds-text-primary))}.valtimo-widget-field__title-container .mdi-icon-preview{color:var(--widget-text-color, var(--cds-text-primary))!important}.valtimo-widget-field__container{display:grid;grid-gap:24px;grid-template-columns:repeat(4,1fr)}.valtimo-widget-field__field{display:flex;flex-direction:column;width:100%;gap:8px}.valtimo-widget-field__field-label{font-size:12px;color:var(--widget-text-color, var(--cds-text-secondary))}.valtimo-widget-field__field-value{color:var(--widget-text-color, var(--cds-text-primary));padding:8px 16px;border-bottom:1px solid var(--widget-accent-color, var(--cds-border-subtle-01));font-size:14px}.valtimo-widget-field__field-value cds-skeleton-text{font-size:14px}.valtimo-widget-field__field-value cds-skeleton-text .cds--skeleton__text{margin-bottom:0;height:14px;min-height:14px}.valtimo-widget-field .cds--label{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.valtimo-widget-field__render-vertically,.valtimo-widget-field__render-two-columns,.valtimo-widget-field__render-three-columns{display:grid;align-items:stretch;gap:24px}.valtimo-widget-field__render-vertically{grid-template-columns:repeat(1,1fr)}.valtimo-widget-field__render-two-columns{grid-template-columns:repeat(2,1fr)}.valtimo-widget-field__render-three-columns{grid-template-columns:repeat(3,1fr)}.valtimo-widget-field--compact .valtimo-widget-field__column{gap:8px;border-left:1px solid var(--widget-accent-color, var(--cds-border-subtle-01));padding-left:16px}.valtimo-widget-field--compact .valtimo-widget-field__field{flex-direction:row;justify-content:space-between}.valtimo-widget-field--compact .valtimo-widget-field__field-value{padding:0;border:none}.valtimo-widget-field--compact .valtimo-widget-field-label{margin:auto 0!important;display:flex;height:min-content}.valtimo-widget-field--compact .valtimo-widget-field__render>*{padding-left:16px;border-left:1px solid var(--widget-accent-color, var(--cds-border-subtle-01))}\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: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: InputModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$
|
|
677
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetFieldComponent, deps: [{ token: i1$1.ViewContentService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
678
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: WidgetFieldComponent, isStandalone: true, selector: "valtimo-widget-field", inputs: { widgetConfiguration: "widgetConfiguration", widgetData: "widgetData" }, outputs: { noVisibleFieldsEvent: "noVisibleFieldsEvent" }, host: { properties: { "class": "this.hostClasses" } }, viewQueries: [{ propertyName: "_widgetFieldRef", first: true, predicate: ["widgetField"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n widgetConfiguration: widgetConfiguration$ | async,\n widgetPropertyValue: widgetPropertyValue$ | async,\n widgetData: widgetData$ | async,\n isEmptyWidgetData: isEmptyWidgetData$ | async,\n noVisibleFields: noVisibleFields$ | async,\n } as obs\"\n>\n <section *ngIf=\"obs?.widgetConfiguration?.title\" class=\"valtimo-widget-field__header\">\n <div class=\"valtimo-widget-field__title-container\">\n <valtimo-mdi-icon-viewer\n *ngIf=\"obs.widgetConfiguration?.icon\"\n [mdiIcon]=\"obs.widgetConfiguration.icon\"\n ></valtimo-mdi-icon-viewer>\n\n <h4 class=\"valtimo-widget-field__title\">{{ obs?.widgetConfiguration?.title }}</h4>\n </div>\n\n <ng-content></ng-content>\n\n <valtimo-widget-action-button\n [widgetConfiguration]=\"obs.widgetConfiguration\"\n [resolvedData]=\"obs.widgetData\"\n ></valtimo-widget-action-button>\n </section>\n\n @if (obs?.isEmptyWidgetData) {\n <valtimo-no-results\n [collapseVertically]=\"true\"\n [description]=\"'widgets.noData' | translate\"\n [smallPadding]=\"true\"\n ></valtimo-no-results>\n } @else {\n <div\n #widgetField\n class=\"valtimo-widget-field__render\"\n [ngClass]=\"{\n 'valtimo-widget-field__render-vertically': renderVertically() === 1,\n 'valtimo-widget-field__render-two-columns': renderVertically() === 2,\n 'valtimo-widget-field__render-three-columns': renderVertically() === 3,\n 'valtimo-widget-field__container': renderVertically() === 4,\n }\"\n >\n @if (obs.widgetData && obs.noVisibleFields) {\n <valtimo-no-results\n [collapseVertically]=\"true\"\n [description]=\"'widgets.emptyFields' | translate\"\n [smallPadding]=\"true\"\n ></valtimo-no-results>\n } @else {\n @for (column of obs?.widgetPropertyValue; track column.key) {\n <div class=\"valtimo-widget-field__column\">\n @for (property of column; track property) {\n <div\n *ngIf=\"\n (property?.value !== null &&\n property?.value !== '-' &&\n property?.hideWhenEmpty) ||\n !property?.hideWhenEmpty\n \"\n class=\"valtimo-widget-field__field\"\n >\n <label class=\"valtimo-widget-field__field-label\" [attr.title]=\"property?.title\">\n {{ property?.title }}</label\n >\n\n <div [attr.title]=\"property?.value\" class=\"valtimo-widget-field__field-value\">\n @if (!obs.widgetData) {\n <cds-skeleton-text [lines]=\"1\" [maxLineWidth]=\"100\"></cds-skeleton-text>\n } @else {\n @if (property?.isRawValue) {\n <div [innerHTML]=\"property?.value\"></div>\n } @else {\n {{ property?.value | valtimoEllipsis: property?.ellipsisCharacterLimit }}\n }\n }\n </div>\n </div>\n }\n </div>\n }\n }\n </div>\n }\n</ng-container>\n", styles: [".valtimo-widget-field{padding:24px}.valtimo-widget-field__header{display:flex;align-items:center;justify-content:space-between}.valtimo-widget-field,.valtimo-widget-field__column{display:flex;flex-direction:column;gap:16px;width:100%;overflow:hidden}.valtimo-widget-field__title{color:var(--widget-text-color, var(--cds-text-primary));font-weight:600;font-size:16px;line-height:24px}.valtimo-widget-field__title-container{display:flex;align-items:center;gap:8px;color:var(--widget-text-color, var(--cds-text-primary))}.valtimo-widget-field__title-container .mdi-icon-preview{color:var(--widget-text-color, var(--cds-text-primary))!important}.valtimo-widget-field__container{display:grid;grid-gap:24px;grid-template-columns:repeat(4,1fr)}.valtimo-widget-field__field{display:flex;flex-direction:column;width:100%;gap:8px}.valtimo-widget-field__field-label{font-size:12px;color:var(--widget-text-color, var(--cds-text-secondary))}.valtimo-widget-field__field-value{color:var(--widget-text-color, var(--cds-text-primary));padding:8px 16px;border-bottom:1px solid var(--widget-accent-color, var(--cds-border-subtle-01));font-size:14px}.valtimo-widget-field__field-value cds-skeleton-text{font-size:14px}.valtimo-widget-field__field-value cds-skeleton-text .cds--skeleton__text{margin-bottom:0;height:14px;min-height:14px}.valtimo-widget-field .cds--label{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.valtimo-widget-field__render-vertically,.valtimo-widget-field__render-two-columns,.valtimo-widget-field__render-three-columns{display:grid;align-items:stretch;gap:24px}.valtimo-widget-field__render-vertically{grid-template-columns:repeat(1,1fr)}.valtimo-widget-field__render-two-columns{grid-template-columns:repeat(2,1fr)}.valtimo-widget-field__render-three-columns{grid-template-columns:repeat(3,1fr)}.valtimo-widget-field--compact .valtimo-widget-field__column{gap:8px;border-left:1px solid var(--widget-accent-color, var(--cds-border-subtle-01));padding-left:16px}.valtimo-widget-field--compact .valtimo-widget-field__field{flex-direction:row;justify-content:space-between}.valtimo-widget-field--compact .valtimo-widget-field__field-value{padding:0;border:none}.valtimo-widget-field--compact .valtimo-widget-field-label{margin:auto 0!important;display:flex;height:min-content}.valtimo-widget-field--compact .valtimo-widget-field__render>*{padding-left:16px;border-left:1px solid var(--widget-accent-color, var(--cds-border-subtle-01))}\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: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: InputModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: CarbonListModule }, { kind: "component", type: i1$1.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "pipe", type: EllipsisPipe, name: "valtimoEllipsis" }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: WidgetActionButtonComponent, selector: "valtimo-widget-action-button", inputs: ["widgetConfiguration", "resolvedData"] }, { kind: "component", type: MdiIconViewerComponent, selector: "valtimo-mdi-icon-viewer", inputs: ["mdiIcon"] }, { kind: "ngmodule", type: LayerModule }, { kind: "ngmodule", type: SkeletonModule }, { kind: "component", type: i3.SkeletonText, selector: "cds-skeleton-text, ibm-skeleton-text", inputs: ["lines", "minLineWidth", "maxLineWidth"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
615
679
|
}
|
|
616
680
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetFieldComponent, decorators: [{
|
|
617
681
|
type: Component,
|
|
@@ -627,7 +691,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
627
691
|
LayerModule,
|
|
628
692
|
SkeletonModule,
|
|
629
693
|
], template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n widgetConfiguration: widgetConfiguration$ | async,\n widgetPropertyValue: widgetPropertyValue$ | async,\n widgetData: widgetData$ | async,\n isEmptyWidgetData: isEmptyWidgetData$ | async,\n noVisibleFields: noVisibleFields$ | async,\n } as obs\"\n>\n <section *ngIf=\"obs?.widgetConfiguration?.title\" class=\"valtimo-widget-field__header\">\n <div class=\"valtimo-widget-field__title-container\">\n <valtimo-mdi-icon-viewer\n *ngIf=\"obs.widgetConfiguration?.icon\"\n [mdiIcon]=\"obs.widgetConfiguration.icon\"\n ></valtimo-mdi-icon-viewer>\n\n <h4 class=\"valtimo-widget-field__title\">{{ obs?.widgetConfiguration?.title }}</h4>\n </div>\n\n <ng-content></ng-content>\n\n <valtimo-widget-action-button\n [widgetConfiguration]=\"obs.widgetConfiguration\"\n [resolvedData]=\"obs.widgetData\"\n ></valtimo-widget-action-button>\n </section>\n\n @if (obs?.isEmptyWidgetData) {\n <valtimo-no-results\n [collapseVertically]=\"true\"\n [description]=\"'widgets.noData' | translate\"\n [smallPadding]=\"true\"\n ></valtimo-no-results>\n } @else {\n <div\n #widgetField\n class=\"valtimo-widget-field__render\"\n [ngClass]=\"{\n 'valtimo-widget-field__render-vertically': renderVertically() === 1,\n 'valtimo-widget-field__render-two-columns': renderVertically() === 2,\n 'valtimo-widget-field__render-three-columns': renderVertically() === 3,\n 'valtimo-widget-field__container': renderVertically() === 4,\n }\"\n >\n @if (obs.widgetData && obs.noVisibleFields) {\n <valtimo-no-results\n [collapseVertically]=\"true\"\n [description]=\"'widgets.emptyFields' | translate\"\n [smallPadding]=\"true\"\n ></valtimo-no-results>\n } @else {\n @for (column of obs?.widgetPropertyValue; track column.key) {\n <div class=\"valtimo-widget-field__column\">\n @for (property of column; track property) {\n <div\n *ngIf=\"\n (property?.value !== null &&\n property?.value !== '-' &&\n property?.hideWhenEmpty) ||\n !property?.hideWhenEmpty\n \"\n class=\"valtimo-widget-field__field\"\n >\n <label class=\"valtimo-widget-field__field-label\" [attr.title]=\"property?.title\">\n {{ property?.title }}</label\n >\n\n <div [attr.title]=\"property?.value\" class=\"valtimo-widget-field__field-value\">\n @if (!obs.widgetData) {\n <cds-skeleton-text [lines]=\"1\" [maxLineWidth]=\"100\"></cds-skeleton-text>\n } @else {\n @if (property?.isRawValue) {\n <div [innerHTML]=\"property?.value\"></div>\n } @else {\n {{ property?.value | valtimoEllipsis: property?.ellipsisCharacterLimit }}\n }\n }\n </div>\n </div>\n }\n </div>\n }\n }\n </div>\n }\n</ng-container>\n", styles: [".valtimo-widget-field{padding:24px}.valtimo-widget-field__header{display:flex;align-items:center;justify-content:space-between}.valtimo-widget-field,.valtimo-widget-field__column{display:flex;flex-direction:column;gap:16px;width:100%;overflow:hidden}.valtimo-widget-field__title{color:var(--widget-text-color, var(--cds-text-primary));font-weight:600;font-size:16px;line-height:24px}.valtimo-widget-field__title-container{display:flex;align-items:center;gap:8px;color:var(--widget-text-color, var(--cds-text-primary))}.valtimo-widget-field__title-container .mdi-icon-preview{color:var(--widget-text-color, var(--cds-text-primary))!important}.valtimo-widget-field__container{display:grid;grid-gap:24px;grid-template-columns:repeat(4,1fr)}.valtimo-widget-field__field{display:flex;flex-direction:column;width:100%;gap:8px}.valtimo-widget-field__field-label{font-size:12px;color:var(--widget-text-color, var(--cds-text-secondary))}.valtimo-widget-field__field-value{color:var(--widget-text-color, var(--cds-text-primary));padding:8px 16px;border-bottom:1px solid var(--widget-accent-color, var(--cds-border-subtle-01));font-size:14px}.valtimo-widget-field__field-value cds-skeleton-text{font-size:14px}.valtimo-widget-field__field-value cds-skeleton-text .cds--skeleton__text{margin-bottom:0;height:14px;min-height:14px}.valtimo-widget-field .cds--label{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.valtimo-widget-field__render-vertically,.valtimo-widget-field__render-two-columns,.valtimo-widget-field__render-three-columns{display:grid;align-items:stretch;gap:24px}.valtimo-widget-field__render-vertically{grid-template-columns:repeat(1,1fr)}.valtimo-widget-field__render-two-columns{grid-template-columns:repeat(2,1fr)}.valtimo-widget-field__render-three-columns{grid-template-columns:repeat(3,1fr)}.valtimo-widget-field--compact .valtimo-widget-field__column{gap:8px;border-left:1px solid var(--widget-accent-color, var(--cds-border-subtle-01));padding-left:16px}.valtimo-widget-field--compact .valtimo-widget-field__field{flex-direction:row;justify-content:space-between}.valtimo-widget-field--compact .valtimo-widget-field__field-value{padding:0;border:none}.valtimo-widget-field--compact .valtimo-widget-field-label{margin:auto 0!important;display:flex;height:min-content}.valtimo-widget-field--compact .valtimo-widget-field__render>*{padding-left:16px;border-left:1px solid var(--widget-accent-color, var(--cds-border-subtle-01))}\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"] }]
|
|
630
|
-
}], ctorParameters: () => [{ type: i1.ViewContentService }], propDecorators: { hostClasses: [{
|
|
694
|
+
}], ctorParameters: () => [{ type: i1$1.ViewContentService }], propDecorators: { hostClasses: [{
|
|
631
695
|
type: HostBinding,
|
|
632
696
|
args: ['class']
|
|
633
697
|
}], _widgetFieldRef: [{
|
|
@@ -821,13 +885,13 @@ class TranslationManagementComponent {
|
|
|
821
885
|
return emptyArbitraryValue;
|
|
822
886
|
});
|
|
823
887
|
}
|
|
824
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TranslationManagementComponent, deps: [{ token: i2$
|
|
825
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: TranslationManagementComponent, isStandalone: false, selector: "valtimo-translation-management", ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n localizationTranslationValues: localizationTranslationValues$ | async,\n loading: loading$ | async,\n disabled: disabled$ | async,\n multiInputTitles: multiInputTiles$ | async,\n amountOfArbitraryValues: amountOfArbitraryValues$ | async,\n showConfirmationModal: showConfirmationModal$,\n allChangedValuesValid: allChangedValuesValid$ | async,\n valuesChanged: valuesChanged$ | async,\n compactMode: compactMode$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"!obs.loading && obs.localizationTranslationValues; else loading\">\n <valtimo-carbon-multi-input\n [disabled]=\"obs.disabled\"\n [arbitraryAmountTitles]=\"obs.multiInputTitles\"\n [fullWidth]=\"true\"\n [minimumAmountOfRows]=\"0\"\n type=\"arbitraryAmount\"\n [arbitraryValueAmount]=\"obs.amountOfArbitraryValues\"\n [defaultValues]=\"obs.localizationTranslationValues\"\n (allValuesValidEvent)=\"validChange($event)\"\n (valueChange)=\"valueChange($event)\"\n addRowTranslationKey=\"translationManagement.add\"\n ></valtimo-carbon-multi-input>\n </ng-container>\n\n <ng-template #loading>\n <div class=\"loading-container\"><cds-loading></cds-loading></div>\n </ng-template>\n\n <valtimo-confirmation-modal\n [showModalSubject$]=\"obs.showConfirmationModal\"\n (confirmEvent)=\"saveAndRefresh()\"\n (optionalEvent)=\"saveAndStay()\"\n (cancelEvent)=\"cancel()\"\n [showOptionalButton]=\"true\"\n cancelButtonType=\"ghost\"\n optionalButtonType=\"secondary\"\n confirmButtonTextTranslationKey=\"translationManagement.saveWithReload\"\n optionalButtonTextTranslationKey=\"translationManagement.saveWithoutReload\"\n titleTranslationKey=\"translationManagement.modalTitle\"\n contentTranslationKey=\"translationManagement.modalContent\"\n [spacerAfterCancelButton]=\"true\"\n ></valtimo-confirmation-modal>\n\n <ng-container renderInPageHeader>\n <ng-template>\n <button\n cdsButton=\"primary\"\n [size]=\"obs.compactMode ? 'sm' : 'md'\"\n (click)=\"showModal()\"\n [disabled]=\"!obs.allChangedValuesValid || obs.disabled || !obs.valuesChanged\"\n >\n {{ 'interface.save' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"save\" size=\"16\"></svg>\n </button>\n </ng-template>\n </ng-container>\n</ng-container>\n", styles: [".loading-container{display:flex;width:100%;justify-content:center}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.CarbonMultiInputComponent, selector: "valtimo-carbon-multi-input", inputs: ["addRowText", "addButtonType", "addRowTranslationKey", "arbitraryAmountTitles", "arbitraryValueAmount", "defaultValues", "deleteRowText", "deleteRowTranslationKey", "disabled", "dropdownColumnTitle", "dropdownItems", "dropdownWidth", "fullWidth", "hideAddButton", "hideDeleteButton", "initialAmountOfRows", "keyColumnTitle", "margin", "maxRows", "minimumAmountOfRows", "name", "required", "title", "titleTranslationKey", "tooltip", "type", "valueColumnTitle", "valuePathSelectorCaseDefinitionKey", "valuePathSelectorPrefixes", "valuePathSelectorShowCaseDefinitionSelector", "valuePathSelectorNotation", "keyColumnFlex", "dropdownColumnFlex", "valueColumnFlex"], outputs: ["valueChange", "allValuesValidEvent"] }, { kind: "component", type: i3.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "directive", type: i1.RenderInPageHeaderDirective, selector: "[renderInPageHeader]", inputs: ["fullWidth"] }, { kind: "directive", type: i3.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i3.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i1.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: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i2$
|
|
888
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TranslationManagementComponent, deps: [{ token: i2$2.TranslateService }, { token: i2.LocalizationService }, { token: i1$1.PageHeaderService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
889
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: TranslationManagementComponent, isStandalone: false, selector: "valtimo-translation-management", ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n localizationTranslationValues: localizationTranslationValues$ | async,\n loading: loading$ | async,\n disabled: disabled$ | async,\n multiInputTitles: multiInputTiles$ | async,\n amountOfArbitraryValues: amountOfArbitraryValues$ | async,\n showConfirmationModal: showConfirmationModal$,\n allChangedValuesValid: allChangedValuesValid$ | async,\n valuesChanged: valuesChanged$ | async,\n compactMode: compactMode$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"!obs.loading && obs.localizationTranslationValues; else loading\">\n <valtimo-carbon-multi-input\n [disabled]=\"obs.disabled\"\n [arbitraryAmountTitles]=\"obs.multiInputTitles\"\n [fullWidth]=\"true\"\n [minimumAmountOfRows]=\"0\"\n type=\"arbitraryAmount\"\n [arbitraryValueAmount]=\"obs.amountOfArbitraryValues\"\n [defaultValues]=\"obs.localizationTranslationValues\"\n (allValuesValidEvent)=\"validChange($event)\"\n (valueChange)=\"valueChange($event)\"\n addRowTranslationKey=\"translationManagement.add\"\n ></valtimo-carbon-multi-input>\n </ng-container>\n\n <ng-template #loading>\n <div class=\"loading-container\"><cds-loading></cds-loading></div>\n </ng-template>\n\n <valtimo-confirmation-modal\n [showModalSubject$]=\"obs.showConfirmationModal\"\n (confirmEvent)=\"saveAndRefresh()\"\n (optionalEvent)=\"saveAndStay()\"\n (cancelEvent)=\"cancel()\"\n [showOptionalButton]=\"true\"\n cancelButtonType=\"ghost\"\n optionalButtonType=\"secondary\"\n confirmButtonTextTranslationKey=\"translationManagement.saveWithReload\"\n optionalButtonTextTranslationKey=\"translationManagement.saveWithoutReload\"\n titleTranslationKey=\"translationManagement.modalTitle\"\n contentTranslationKey=\"translationManagement.modalContent\"\n [spacerAfterCancelButton]=\"true\"\n ></valtimo-confirmation-modal>\n\n <ng-container renderInPageHeader>\n <ng-template>\n <button\n cdsButton=\"primary\"\n [size]=\"obs.compactMode ? 'sm' : 'md'\"\n (click)=\"showModal()\"\n [disabled]=\"!obs.allChangedValuesValid || obs.disabled || !obs.valuesChanged\"\n >\n {{ 'interface.save' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"save\" size=\"16\"></svg>\n </button>\n </ng-template>\n </ng-container>\n</ng-container>\n", styles: [".loading-container{display:flex;width:100%;justify-content:center}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1$1.CarbonMultiInputComponent, selector: "valtimo-carbon-multi-input", inputs: ["addRowText", "addButtonType", "addRowTranslationKey", "arbitraryAmountTitles", "arbitraryValueAmount", "defaultValues", "deleteRowText", "deleteRowTranslationKey", "disabled", "dropdownColumnTitle", "dropdownItems", "dropdownWidth", "fullWidth", "hideAddButton", "hideDeleteButton", "initialAmountOfRows", "keyColumnTitle", "margin", "maxRows", "minimumAmountOfRows", "name", "required", "title", "titleTranslationKey", "tooltip", "type", "valueColumnTitle", "valuePathSelectorCaseDefinitionKey", "valuePathSelectorPrefixes", "valuePathSelectorShowCaseDefinitionSelector", "valuePathSelectorNotation", "keyColumnFlex", "dropdownColumnFlex", "valueColumnFlex"], outputs: ["valueChange", "allValuesValidEvent"] }, { kind: "component", type: i3.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "directive", type: i1$1.RenderInPageHeaderDirective, selector: "[renderInPageHeader]", inputs: ["fullWidth"] }, { kind: "directive", type: i3.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i3.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i1$1.ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: ["titleTranslationKey", "title", "content", "contentTranslationKey", "confirmButtonText", "confirmButtonTextTranslationKey", "confirmButtonType", "showOptionalButton", "optionalButtonText", "optionalButtonTextTranslationKey", "optionalButtonType", "cancelButtonText", "cancelButtonTextTranslationKey", "cancelButtonType", "showModalSubject$", "outputOnConfirm", "outputOnOptional", "spacerAfterCancelButton"], outputs: ["confirmEvent", "optionalEvent", "cancelEvent"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i2$2.TranslatePipe, name: "translate" }] }); }
|
|
826
890
|
}
|
|
827
891
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TranslationManagementComponent, decorators: [{
|
|
828
892
|
type: Component,
|
|
829
893
|
args: [{ selector: 'valtimo-translation-management', standalone: false, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n localizationTranslationValues: localizationTranslationValues$ | async,\n loading: loading$ | async,\n disabled: disabled$ | async,\n multiInputTitles: multiInputTiles$ | async,\n amountOfArbitraryValues: amountOfArbitraryValues$ | async,\n showConfirmationModal: showConfirmationModal$,\n allChangedValuesValid: allChangedValuesValid$ | async,\n valuesChanged: valuesChanged$ | async,\n compactMode: compactMode$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"!obs.loading && obs.localizationTranslationValues; else loading\">\n <valtimo-carbon-multi-input\n [disabled]=\"obs.disabled\"\n [arbitraryAmountTitles]=\"obs.multiInputTitles\"\n [fullWidth]=\"true\"\n [minimumAmountOfRows]=\"0\"\n type=\"arbitraryAmount\"\n [arbitraryValueAmount]=\"obs.amountOfArbitraryValues\"\n [defaultValues]=\"obs.localizationTranslationValues\"\n (allValuesValidEvent)=\"validChange($event)\"\n (valueChange)=\"valueChange($event)\"\n addRowTranslationKey=\"translationManagement.add\"\n ></valtimo-carbon-multi-input>\n </ng-container>\n\n <ng-template #loading>\n <div class=\"loading-container\"><cds-loading></cds-loading></div>\n </ng-template>\n\n <valtimo-confirmation-modal\n [showModalSubject$]=\"obs.showConfirmationModal\"\n (confirmEvent)=\"saveAndRefresh()\"\n (optionalEvent)=\"saveAndStay()\"\n (cancelEvent)=\"cancel()\"\n [showOptionalButton]=\"true\"\n cancelButtonType=\"ghost\"\n optionalButtonType=\"secondary\"\n confirmButtonTextTranslationKey=\"translationManagement.saveWithReload\"\n optionalButtonTextTranslationKey=\"translationManagement.saveWithoutReload\"\n titleTranslationKey=\"translationManagement.modalTitle\"\n contentTranslationKey=\"translationManagement.modalContent\"\n [spacerAfterCancelButton]=\"true\"\n ></valtimo-confirmation-modal>\n\n <ng-container renderInPageHeader>\n <ng-template>\n <button\n cdsButton=\"primary\"\n [size]=\"obs.compactMode ? 'sm' : 'md'\"\n (click)=\"showModal()\"\n [disabled]=\"!obs.allChangedValuesValid || obs.disabled || !obs.valuesChanged\"\n >\n {{ 'interface.save' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"save\" size=\"16\"></svg>\n </button>\n </ng-template>\n </ng-container>\n</ng-container>\n", styles: [".loading-container{display:flex;width:100%;justify-content:center}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
830
|
-
}], ctorParameters: () => [{ type: i2$
|
|
894
|
+
}], ctorParameters: () => [{ type: i2$2.TranslateService }, { type: i2.LocalizationService }, { type: i1$1.PageHeaderService }, { type: Document, decorators: [{
|
|
831
895
|
type: Inject,
|
|
832
896
|
args: [DOCUMENT]
|
|
833
897
|
}] }] });
|
|
@@ -1038,7 +1102,7 @@ class WidgetFormioComponent {
|
|
|
1038
1102
|
}), map(([formDef]) => formDef));
|
|
1039
1103
|
}
|
|
1040
1104
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetFormioComponent, deps: [{ token: i1$2.FormService }, { token: WidgetLayoutService }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1041
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: WidgetFormioComponent, isStandalone: true, selector: "valtimo-widget-formio", inputs: { documentId: "documentId", widgetConfiguration: "widgetConfiguration", widgetData: "widgetData", widgetUuid: "widgetUuid", refreshForm: "refreshForm" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n class=\"formio-widget\"\n *ngIf=\"{\n prefilledFormDefinition: prefilledFormDefinition$ | async,\n widgetConfiguration: widgetConfiguration$ | async,\n widgetData: widgetData$ | async,\n } as obs\"\n>\n <section class=\"formio-widget__header\">\n <div class=\"formio-widget__title-container\">\n <valtimo-mdi-icon-viewer\n *ngIf=\"obs.widgetConfiguration?.icon\"\n [mdiIcon]=\"obs.widgetConfiguration.icon\"\n ></valtimo-mdi-icon-viewer>\n\n <h4 class=\"formio-widget__title\">{{ obs.widgetConfiguration?.title || '-' }}</h4>\n </div>\n\n <ng-content></ng-content>\n\n <valtimo-widget-action-button\n [widgetConfiguration]=\"obs.widgetConfiguration\"\n [resolvedData]=\"obs.widgetData\"\n ></valtimo-widget-action-button>\n </section>\n\n <valtimo-form-io [form]=\"obs.prefilledFormDefinition\"></valtimo-form-io>\n</div>\n", styles: [".formio-widget{padding:16px}.formio-widget__header{display:flex;justify-content:space-between}.formio-widget__title-container{display:flex;align-items:center;gap:8px;margin-bottom:8px}.formio-widget{padding:24px}.formio-widget__header{display:flex;align-items:center;justify-content:space-between}.formio-widget__title{color:var(--widget-text-color, var(--cds-text-primary));font-weight:600;font-size:16px;line-height:24px}\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: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: FormIoModule }, { kind: "component", type: i1.FormioComponent, selector: "valtimo-form-io", inputs: ["options", "submission", "form", "readOnly", "formRefresh$"], outputs: ["submit", "change", "event"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: WidgetActionButtonComponent, selector: "valtimo-widget-action-button", inputs: ["widgetConfiguration", "resolvedData"] }, { kind: "component", type: MdiIconViewerComponent, selector: "valtimo-mdi-icon-viewer", inputs: ["mdiIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1105
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: WidgetFormioComponent, isStandalone: true, selector: "valtimo-widget-formio", inputs: { documentId: "documentId", widgetConfiguration: "widgetConfiguration", widgetData: "widgetData", widgetUuid: "widgetUuid", refreshForm: "refreshForm" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n class=\"formio-widget\"\n *ngIf=\"{\n prefilledFormDefinition: prefilledFormDefinition$ | async,\n widgetConfiguration: widgetConfiguration$ | async,\n widgetData: widgetData$ | async,\n } as obs\"\n>\n <section class=\"formio-widget__header\">\n <div class=\"formio-widget__title-container\">\n <valtimo-mdi-icon-viewer\n *ngIf=\"obs.widgetConfiguration?.icon\"\n [mdiIcon]=\"obs.widgetConfiguration.icon\"\n ></valtimo-mdi-icon-viewer>\n\n <h4 class=\"formio-widget__title\">{{ obs.widgetConfiguration?.title || '-' }}</h4>\n </div>\n\n <ng-content></ng-content>\n\n <valtimo-widget-action-button\n [widgetConfiguration]=\"obs.widgetConfiguration\"\n [resolvedData]=\"obs.widgetData\"\n ></valtimo-widget-action-button>\n </section>\n\n <valtimo-form-io [form]=\"obs.prefilledFormDefinition\"></valtimo-form-io>\n</div>\n", styles: [".formio-widget{padding:16px}.formio-widget__header{display:flex;justify-content:space-between}.formio-widget__title-container{display:flex;align-items:center;gap:8px;margin-bottom:8px}.formio-widget{padding:24px}.formio-widget__header{display:flex;align-items:center;justify-content:space-between}.formio-widget__title{color:var(--widget-text-color, var(--cds-text-primary));font-weight:600;font-size:16px;line-height:24px}\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: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: FormIoModule }, { kind: "component", type: i1$1.FormioComponent, selector: "valtimo-form-io", inputs: ["options", "submission", "form", "readOnly", "formRefresh$"], outputs: ["submit", "change", "event"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: WidgetActionButtonComponent, selector: "valtimo-widget-action-button", inputs: ["widgetConfiguration", "resolvedData"] }, { kind: "component", type: MdiIconViewerComponent, selector: "valtimo-mdi-icon-viewer", inputs: ["mdiIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1042
1106
|
}
|
|
1043
1107
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetFormioComponent, decorators: [{
|
|
1044
1108
|
type: Component,
|
|
@@ -1262,8 +1326,8 @@ class WidgetCollectionComponent {
|
|
|
1262
1326
|
});
|
|
1263
1327
|
});
|
|
1264
1328
|
}
|
|
1265
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetCollectionComponent, deps: [{ token: i1.ViewContentService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1266
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: WidgetCollectionComponent, isStandalone: true, selector: "valtimo-widget-collection", inputs: { widgetConfiguration: "widgetConfiguration", widgetData: "widgetData" }, outputs: { paginationEvent: "paginationEvent" }, host: { properties: { "class": "this.hostClasses" } }, viewQueries: [{ propertyName: "_widgetCollectionRef", first: true, predicate: ["widgetCollection"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n widgetConfiguration: widgetConfiguration$ | async,\n collectionWidgetCards: collectionWidgetCards$ | async,\n noVisibleFields: noVisibleFields$ | async,\n widgetData: widgetData$ | async,\n } as obs\"\n>\n <section class=\"valtimo-widget-collection__header\">\n <div class=\"valtimo-widget-collection__title-container\">\n <valtimo-mdi-icon-viewer\n *ngIf=\"obs.widgetConfiguration?.icon\"\n [mdiIcon]=\"obs.widgetConfiguration.icon\"\n ></valtimo-mdi-icon-viewer>\n\n <span class=\"valtimo-widget-collection__title\">{{ $widgetTitle() }}</span>\n </div>\n\n <ng-content></ng-content>\n\n <valtimo-widget-action-button\n [widgetConfiguration]=\"obs.widgetConfiguration\"\n [resolvedData]=\"obs.widgetData\"\n ></valtimo-widget-action-button>\n </section>\n\n <div\n #widgetCollection\n [ngClass]=\"{\n 'valtimo-widget-collection__render-vertically': amountOfColumns() === 1,\n 'valtimo-widget-collection__render-two-columns': amountOfColumns() === 2,\n 'valtimo-widget-collection__render-three-columns': amountOfColumns() === 3,\n 'valtimo-widget-collection__container': amountOfColumns() === 4,\n }\"\n >\n @for (card of obs?.collectionWidgetCards; track card.key) {\n <div\n *ngIf=\"!obs.noVisibleFields\"\n class=\"valtimo-widget-collection__card\"\n [ngClass]=\"{\n 'valtimo-widget-collection__card--hidden': card.hidden,\n }\"\n >\n <span class=\"valtimo-widget-collection__card-title\">\n @if (!obs.widgetData) {\n <cds-skeleton-text [lines]=\"1\" [maxLineWidth]=\"30\"></cds-skeleton-text>\n } @else {\n {{ card.title }}\n }\n </span>\n\n <section class=\"valtimo-widget-collection__card-content\">\n @for (field of card.fields; track field.key) {\n <div\n *ngIf=\"\n (field?.value !== null && field?.value !== '-' && field?.hideWhenEmpty) ||\n !field?.hideWhenEmpty\n \"\n [ngClass]=\"{\n 'valtimo-widget-collection__full-width-input': field?.width === 'full',\n 'valtimo-widget-collection__half-width-input': field?.width === 'half',\n }\"\n >\n <cds-label\n class=\"valtimo-widget-collection__label\"\n [attr.title]=\"field?.value ?? field?.title\"\n >\n {{ field?.title }}\n\n @if (!obs.widgetData) {\n <cds-skeleton-text [lines]=\"1\" [maxLineWidth]=\"30\"></cds-skeleton-text>\n } @else {\n <input\n [value]=\"field?.value\"\n [readonly]=\"true\"\n class=\"valtimo-widget-collection__card-input\"\n cdsText\n />\n }\n </cds-label>\n </div>\n }\n </section>\n </div>\n }\n </div>\n\n @if (obs.noVisibleFields || !obs?.collectionWidgetCards?.length) {\n <valtimo-no-results\n [collapseVertically]=\"true\"\n [description]=\"(obs.noVisibleFields ? 'widgets.emptyFields' : 'widgets.noData') | translate\"\n [smallPadding]=\"true\"\n ></valtimo-no-results>\n }\n\n @if ($paginationModel() && $showPagination()) {\n <cds-pagination-nav\n class=\"valtimo-widget-collection__pagination\"\n [model]=\"$paginationModel()\"\n (selectPage)=\"onSelectPage($event)\"\n >\n </cds-pagination-nav>\n } @else if (!obs.widgetData) {\n <div class=\"valtimo-widget-collection__pagination\">\n <cds-skeleton-text [lines]=\"1\" [maxLineWidth]=\"150\" [minLineWidth]=\"150\"></cds-skeleton-text>\n </div>\n }\n</ng-container>\n", styles: [".valtimo-widget-collection{padding:24px;color:var(--widget-text-color, var(--cds-text-primary))}.valtimo-widget-collection .cds--label{overflow:hidden;text-overflow:ellipsis;width:100%;color:inherit}.valtimo-widget-collection .cds--label cds-skeleton-text{margin:16px 0 0;display:block}.valtimo-widget-collection__header{display:flex;align-items:center;justify-content:space-between}.valtimo-widget-collection__title-container{display:flex;align-items:center;gap:8px}.valtimo-widget-collection__title-container valtimo-mdi-icon-viewer .mdi-icon-preview{color:var(--widget-text-color, var(--cds-text-primary))}.valtimo-widget-collection__title{color:var(--widget-text-color, var(--cds-text-primary));font-weight:600;font-size:16px;line-height:24px}.valtimo-widget-collection__container{display:flex;column-gap:16px}.valtimo-widget-collection,.valtimo-widget-collection__column{display:flex;flex-direction:column;width:100%;overflow:hidden}.valtimo-widget-collection__card{margin-top:16px;display:flex;flex-flow:row wrap;background-color:var(--widget-layer-color, var(--cds-background));padding:16px;width:100%;gap:16px}.valtimo-widget-collection__card-title{color:var(--widget-text-color, var(--cds-text-primary));font-weight:500;font-size:14px;line-height:22px;font-style:italic;width:100%}.valtimo-widget-collection__card-title cds-skeleton-text{display:block}.valtimo-widget-collection__card-content{width:100%;display:flex;flex-direction:column;gap:16px}.valtimo-widget-collection__card-input{background:transparent}.valtimo-widget-collection__card--hidden{visibility:hidden}.valtimo-widget-collection__full-width-input{width:100%}.valtimo-widget-collection__half-width-input{width:calc(50% - 16px);box-sizing:border-box}.valtimo-widget-collection__pagination{padding:8px 0;display:flex;justify-content:center;height:64px;align-items:center}.valtimo-widget-collection__render-vertically,.valtimo-widget-collection__render-two-columns,.valtimo-widget-collection__render-three-columns{display:grid;grid-gap:16px;align-items:stretch;overflow:hidden;text-overflow:ellipsis;width:100%}.valtimo-widget-collection__render-vertically{grid-template-columns:1fr}.valtimo-widget-collection__render-two-columns{grid-template-columns:repeat(2,1fr)}.valtimo-widget-collection__render-three-columns{grid-template-columns:repeat(3,1fr)}.valtimo-widget-collection--compact.valtimo-widget-collection .cds--label{margin:0}.valtimo-widget-collection--compact.valtimo-widget-collection .valtimo-widget-collection__label .cds--text-input-wrapper{display:flex;flex-direction:row;align-items:center;height:32px}.valtimo-widget-collection--compact.valtimo-widget-collection__card{gap:12px}.valtimo-widget-collection--compact.valtimo-widget-collection__card-content{padding-left:16px;gap:12px;border-left:1px solid var(--widget-accent-color, var(--cds-border-subtle-01))}.valtimo-widget-collection--compact.valtimo-widget-collection__card-input{border:none}.valtimo-widget-collection .valtimo-no-results__content{color:var(--widget-text-color, var(--cds-text-primary))!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: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i3.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i3.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: PaginationModule }, { kind: "component", type: i3.PaginationNav, selector: "cds-pagination-nav, ibm-pagination-navm", inputs: ["model", "disabled", "numOfItemsToShow", "translations", "size"], outputs: ["selectPage"] }, { kind: "ngmodule", type: TilesModule }, { kind: "ngmodule", type: CarbonListModule }, { kind: "component", type: i1.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$1.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: WidgetActionButtonComponent, selector: "valtimo-widget-action-button", inputs: ["widgetConfiguration", "resolvedData"] }, { kind: "component", type: MdiIconViewerComponent, selector: "valtimo-mdi-icon-viewer", inputs: ["mdiIcon"] }, { kind: "ngmodule", type: SkeletonModule }, { kind: "component", type: i3.SkeletonText, selector: "cds-skeleton-text, ibm-skeleton-text", inputs: ["lines", "minLineWidth", "maxLineWidth"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
1329
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetCollectionComponent, deps: [{ token: i1$1.ViewContentService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1330
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: WidgetCollectionComponent, isStandalone: true, selector: "valtimo-widget-collection", inputs: { widgetConfiguration: "widgetConfiguration", widgetData: "widgetData" }, outputs: { paginationEvent: "paginationEvent" }, host: { properties: { "class": "this.hostClasses" } }, viewQueries: [{ propertyName: "_widgetCollectionRef", first: true, predicate: ["widgetCollection"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n widgetConfiguration: widgetConfiguration$ | async,\n collectionWidgetCards: collectionWidgetCards$ | async,\n noVisibleFields: noVisibleFields$ | async,\n widgetData: widgetData$ | async,\n } as obs\"\n>\n <section class=\"valtimo-widget-collection__header\">\n <div class=\"valtimo-widget-collection__title-container\">\n <valtimo-mdi-icon-viewer\n *ngIf=\"obs.widgetConfiguration?.icon\"\n [mdiIcon]=\"obs.widgetConfiguration.icon\"\n ></valtimo-mdi-icon-viewer>\n\n <span class=\"valtimo-widget-collection__title\">{{ $widgetTitle() }}</span>\n </div>\n\n <ng-content></ng-content>\n\n <valtimo-widget-action-button\n [widgetConfiguration]=\"obs.widgetConfiguration\"\n [resolvedData]=\"obs.widgetData\"\n ></valtimo-widget-action-button>\n </section>\n\n <div\n #widgetCollection\n [ngClass]=\"{\n 'valtimo-widget-collection__render-vertically': amountOfColumns() === 1,\n 'valtimo-widget-collection__render-two-columns': amountOfColumns() === 2,\n 'valtimo-widget-collection__render-three-columns': amountOfColumns() === 3,\n 'valtimo-widget-collection__container': amountOfColumns() === 4,\n }\"\n >\n @for (card of obs?.collectionWidgetCards; track card.key) {\n <div\n *ngIf=\"!obs.noVisibleFields\"\n class=\"valtimo-widget-collection__card\"\n [ngClass]=\"{\n 'valtimo-widget-collection__card--hidden': card.hidden,\n }\"\n >\n <span class=\"valtimo-widget-collection__card-title\">\n @if (!obs.widgetData) {\n <cds-skeleton-text [lines]=\"1\" [maxLineWidth]=\"30\"></cds-skeleton-text>\n } @else {\n {{ card.title }}\n }\n </span>\n\n <section class=\"valtimo-widget-collection__card-content\">\n @for (field of card.fields; track field.key) {\n <div\n *ngIf=\"\n (field?.value !== null && field?.value !== '-' && field?.hideWhenEmpty) ||\n !field?.hideWhenEmpty\n \"\n [ngClass]=\"{\n 'valtimo-widget-collection__full-width-input': field?.width === 'full',\n 'valtimo-widget-collection__half-width-input': field?.width === 'half',\n }\"\n >\n <cds-label\n class=\"valtimo-widget-collection__label\"\n [attr.title]=\"field?.value ?? field?.title\"\n >\n {{ field?.title }}\n\n @if (!obs.widgetData) {\n <cds-skeleton-text [lines]=\"1\" [maxLineWidth]=\"30\"></cds-skeleton-text>\n } @else {\n <input\n [value]=\"field?.value\"\n [readonly]=\"true\"\n class=\"valtimo-widget-collection__card-input\"\n cdsText\n />\n }\n </cds-label>\n </div>\n }\n </section>\n </div>\n }\n </div>\n\n @if (obs.noVisibleFields || !obs?.collectionWidgetCards?.length) {\n <valtimo-no-results\n [collapseVertically]=\"true\"\n [description]=\"(obs.noVisibleFields ? 'widgets.emptyFields' : 'widgets.noData') | translate\"\n [smallPadding]=\"true\"\n ></valtimo-no-results>\n }\n\n @if ($paginationModel() && $showPagination()) {\n <cds-pagination-nav\n class=\"valtimo-widget-collection__pagination\"\n [model]=\"$paginationModel()\"\n (selectPage)=\"onSelectPage($event)\"\n >\n </cds-pagination-nav>\n } @else if (!obs.widgetData) {\n <div class=\"valtimo-widget-collection__pagination\">\n <cds-skeleton-text [lines]=\"1\" [maxLineWidth]=\"150\" [minLineWidth]=\"150\"></cds-skeleton-text>\n </div>\n }\n</ng-container>\n", styles: [".valtimo-widget-collection{padding:24px;color:var(--widget-text-color, var(--cds-text-primary))}.valtimo-widget-collection .cds--label{overflow:hidden;text-overflow:ellipsis;width:100%;color:inherit}.valtimo-widget-collection .cds--label cds-skeleton-text{margin:16px 0 0;display:block}.valtimo-widget-collection__header{display:flex;align-items:center;justify-content:space-between}.valtimo-widget-collection__title-container{display:flex;align-items:center;gap:8px}.valtimo-widget-collection__title-container valtimo-mdi-icon-viewer .mdi-icon-preview{color:var(--widget-text-color, var(--cds-text-primary))}.valtimo-widget-collection__title{color:var(--widget-text-color, var(--cds-text-primary));font-weight:600;font-size:16px;line-height:24px}.valtimo-widget-collection__container{display:flex;column-gap:16px}.valtimo-widget-collection,.valtimo-widget-collection__column{display:flex;flex-direction:column;width:100%;overflow:hidden}.valtimo-widget-collection__card{margin-top:16px;display:flex;flex-flow:row wrap;background-color:var(--widget-layer-color, var(--cds-background));padding:16px;width:100%;gap:16px}.valtimo-widget-collection__card-title{color:var(--widget-text-color, var(--cds-text-primary));font-weight:500;font-size:14px;line-height:22px;font-style:italic;width:100%}.valtimo-widget-collection__card-title cds-skeleton-text{display:block}.valtimo-widget-collection__card-content{width:100%;display:flex;flex-direction:column;gap:16px}.valtimo-widget-collection__card-input{background:transparent}.valtimo-widget-collection__card--hidden{visibility:hidden}.valtimo-widget-collection__full-width-input{width:100%}.valtimo-widget-collection__half-width-input{width:calc(50% - 16px);box-sizing:border-box}.valtimo-widget-collection__pagination{padding:8px 0;display:flex;justify-content:center;height:64px;align-items:center}.valtimo-widget-collection__render-vertically,.valtimo-widget-collection__render-two-columns,.valtimo-widget-collection__render-three-columns{display:grid;grid-gap:16px;align-items:stretch;overflow:hidden;text-overflow:ellipsis;width:100%}.valtimo-widget-collection__render-vertically{grid-template-columns:1fr}.valtimo-widget-collection__render-two-columns{grid-template-columns:repeat(2,1fr)}.valtimo-widget-collection__render-three-columns{grid-template-columns:repeat(3,1fr)}.valtimo-widget-collection--compact.valtimo-widget-collection .cds--label{margin:0}.valtimo-widget-collection--compact.valtimo-widget-collection .valtimo-widget-collection__label .cds--text-input-wrapper{display:flex;flex-direction:row;align-items:center;height:32px}.valtimo-widget-collection--compact.valtimo-widget-collection__card{gap:12px}.valtimo-widget-collection--compact.valtimo-widget-collection__card-content{padding-left:16px;gap:12px;border-left:1px solid var(--widget-accent-color, var(--cds-border-subtle-01))}.valtimo-widget-collection--compact.valtimo-widget-collection__card-input{border:none}.valtimo-widget-collection .valtimo-no-results__content{color:var(--widget-text-color, var(--cds-text-primary))!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: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i3.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i3.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: PaginationModule }, { kind: "component", type: i3.PaginationNav, selector: "cds-pagination-nav, ibm-pagination-navm", inputs: ["model", "disabled", "numOfItemsToShow", "translations", "size"], outputs: ["selectPage"] }, { kind: "ngmodule", type: TilesModule }, { kind: "ngmodule", type: CarbonListModule }, { kind: "component", type: i1$1.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: WidgetActionButtonComponent, selector: "valtimo-widget-action-button", inputs: ["widgetConfiguration", "resolvedData"] }, { kind: "component", type: MdiIconViewerComponent, selector: "valtimo-mdi-icon-viewer", inputs: ["mdiIcon"] }, { kind: "ngmodule", type: SkeletonModule }, { kind: "component", type: i3.SkeletonText, selector: "cds-skeleton-text, ibm-skeleton-text", inputs: ["lines", "minLineWidth", "maxLineWidth"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
1267
1331
|
}
|
|
1268
1332
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetCollectionComponent, decorators: [{
|
|
1269
1333
|
type: Component,
|
|
@@ -1279,7 +1343,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
1279
1343
|
MdiIconViewerComponent,
|
|
1280
1344
|
SkeletonModule,
|
|
1281
1345
|
], template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n widgetConfiguration: widgetConfiguration$ | async,\n collectionWidgetCards: collectionWidgetCards$ | async,\n noVisibleFields: noVisibleFields$ | async,\n widgetData: widgetData$ | async,\n } as obs\"\n>\n <section class=\"valtimo-widget-collection__header\">\n <div class=\"valtimo-widget-collection__title-container\">\n <valtimo-mdi-icon-viewer\n *ngIf=\"obs.widgetConfiguration?.icon\"\n [mdiIcon]=\"obs.widgetConfiguration.icon\"\n ></valtimo-mdi-icon-viewer>\n\n <span class=\"valtimo-widget-collection__title\">{{ $widgetTitle() }}</span>\n </div>\n\n <ng-content></ng-content>\n\n <valtimo-widget-action-button\n [widgetConfiguration]=\"obs.widgetConfiguration\"\n [resolvedData]=\"obs.widgetData\"\n ></valtimo-widget-action-button>\n </section>\n\n <div\n #widgetCollection\n [ngClass]=\"{\n 'valtimo-widget-collection__render-vertically': amountOfColumns() === 1,\n 'valtimo-widget-collection__render-two-columns': amountOfColumns() === 2,\n 'valtimo-widget-collection__render-three-columns': amountOfColumns() === 3,\n 'valtimo-widget-collection__container': amountOfColumns() === 4,\n }\"\n >\n @for (card of obs?.collectionWidgetCards; track card.key) {\n <div\n *ngIf=\"!obs.noVisibleFields\"\n class=\"valtimo-widget-collection__card\"\n [ngClass]=\"{\n 'valtimo-widget-collection__card--hidden': card.hidden,\n }\"\n >\n <span class=\"valtimo-widget-collection__card-title\">\n @if (!obs.widgetData) {\n <cds-skeleton-text [lines]=\"1\" [maxLineWidth]=\"30\"></cds-skeleton-text>\n } @else {\n {{ card.title }}\n }\n </span>\n\n <section class=\"valtimo-widget-collection__card-content\">\n @for (field of card.fields; track field.key) {\n <div\n *ngIf=\"\n (field?.value !== null && field?.value !== '-' && field?.hideWhenEmpty) ||\n !field?.hideWhenEmpty\n \"\n [ngClass]=\"{\n 'valtimo-widget-collection__full-width-input': field?.width === 'full',\n 'valtimo-widget-collection__half-width-input': field?.width === 'half',\n }\"\n >\n <cds-label\n class=\"valtimo-widget-collection__label\"\n [attr.title]=\"field?.value ?? field?.title\"\n >\n {{ field?.title }}\n\n @if (!obs.widgetData) {\n <cds-skeleton-text [lines]=\"1\" [maxLineWidth]=\"30\"></cds-skeleton-text>\n } @else {\n <input\n [value]=\"field?.value\"\n [readonly]=\"true\"\n class=\"valtimo-widget-collection__card-input\"\n cdsText\n />\n }\n </cds-label>\n </div>\n }\n </section>\n </div>\n }\n </div>\n\n @if (obs.noVisibleFields || !obs?.collectionWidgetCards?.length) {\n <valtimo-no-results\n [collapseVertically]=\"true\"\n [description]=\"(obs.noVisibleFields ? 'widgets.emptyFields' : 'widgets.noData') | translate\"\n [smallPadding]=\"true\"\n ></valtimo-no-results>\n }\n\n @if ($paginationModel() && $showPagination()) {\n <cds-pagination-nav\n class=\"valtimo-widget-collection__pagination\"\n [model]=\"$paginationModel()\"\n (selectPage)=\"onSelectPage($event)\"\n >\n </cds-pagination-nav>\n } @else if (!obs.widgetData) {\n <div class=\"valtimo-widget-collection__pagination\">\n <cds-skeleton-text [lines]=\"1\" [maxLineWidth]=\"150\" [minLineWidth]=\"150\"></cds-skeleton-text>\n </div>\n }\n</ng-container>\n", styles: [".valtimo-widget-collection{padding:24px;color:var(--widget-text-color, var(--cds-text-primary))}.valtimo-widget-collection .cds--label{overflow:hidden;text-overflow:ellipsis;width:100%;color:inherit}.valtimo-widget-collection .cds--label cds-skeleton-text{margin:16px 0 0;display:block}.valtimo-widget-collection__header{display:flex;align-items:center;justify-content:space-between}.valtimo-widget-collection__title-container{display:flex;align-items:center;gap:8px}.valtimo-widget-collection__title-container valtimo-mdi-icon-viewer .mdi-icon-preview{color:var(--widget-text-color, var(--cds-text-primary))}.valtimo-widget-collection__title{color:var(--widget-text-color, var(--cds-text-primary));font-weight:600;font-size:16px;line-height:24px}.valtimo-widget-collection__container{display:flex;column-gap:16px}.valtimo-widget-collection,.valtimo-widget-collection__column{display:flex;flex-direction:column;width:100%;overflow:hidden}.valtimo-widget-collection__card{margin-top:16px;display:flex;flex-flow:row wrap;background-color:var(--widget-layer-color, var(--cds-background));padding:16px;width:100%;gap:16px}.valtimo-widget-collection__card-title{color:var(--widget-text-color, var(--cds-text-primary));font-weight:500;font-size:14px;line-height:22px;font-style:italic;width:100%}.valtimo-widget-collection__card-title cds-skeleton-text{display:block}.valtimo-widget-collection__card-content{width:100%;display:flex;flex-direction:column;gap:16px}.valtimo-widget-collection__card-input{background:transparent}.valtimo-widget-collection__card--hidden{visibility:hidden}.valtimo-widget-collection__full-width-input{width:100%}.valtimo-widget-collection__half-width-input{width:calc(50% - 16px);box-sizing:border-box}.valtimo-widget-collection__pagination{padding:8px 0;display:flex;justify-content:center;height:64px;align-items:center}.valtimo-widget-collection__render-vertically,.valtimo-widget-collection__render-two-columns,.valtimo-widget-collection__render-three-columns{display:grid;grid-gap:16px;align-items:stretch;overflow:hidden;text-overflow:ellipsis;width:100%}.valtimo-widget-collection__render-vertically{grid-template-columns:1fr}.valtimo-widget-collection__render-two-columns{grid-template-columns:repeat(2,1fr)}.valtimo-widget-collection__render-three-columns{grid-template-columns:repeat(3,1fr)}.valtimo-widget-collection--compact.valtimo-widget-collection .cds--label{margin:0}.valtimo-widget-collection--compact.valtimo-widget-collection .valtimo-widget-collection__label .cds--text-input-wrapper{display:flex;flex-direction:row;align-items:center;height:32px}.valtimo-widget-collection--compact.valtimo-widget-collection__card{gap:12px}.valtimo-widget-collection--compact.valtimo-widget-collection__card-content{padding-left:16px;gap:12px;border-left:1px solid var(--widget-accent-color, var(--cds-border-subtle-01))}.valtimo-widget-collection--compact.valtimo-widget-collection__card-input{border:none}.valtimo-widget-collection .valtimo-no-results__content{color:var(--widget-text-color, var(--cds-text-primary))!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"] }]
|
|
1282
|
-
}], ctorParameters: () => [{ type: i1.ViewContentService }, { type: i0.ChangeDetectorRef }], propDecorators: { hostClasses: [{
|
|
1346
|
+
}], ctorParameters: () => [{ type: i1$1.ViewContentService }, { type: i0.ChangeDetectorRef }], propDecorators: { hostClasses: [{
|
|
1283
1347
|
type: HostBinding,
|
|
1284
1348
|
args: ['class']
|
|
1285
1349
|
}], _widgetCollectionRef: [{
|
|
@@ -1408,7 +1472,7 @@ class WidgetTableComponent {
|
|
|
1408
1472
|
this.paginationEvent.emit({ ...paginationModel, currentPage: page });
|
|
1409
1473
|
}
|
|
1410
1474
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetTableComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1411
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: WidgetTableComponent, isStandalone: true, selector: "valtimo-widget-table", inputs: { widgetConfiguration: "widgetConfiguration", widgetData: "widgetData" }, outputs: { paginationEvent: "paginationEvent" }, 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-tile\n *ngIf=\"{\n fields: fields$ | async,\n widgetData: widgetData$ | async,\n resolvedData: resolvedData$ | async,\n } as obs\"\n class=\"valtimo-widget-table\"\n [class.valtimo-widget-table--compact]=\"widgetConfiguration?.isCompact\"\n>\n <section class=\"valtimo-widget-table__header\">\n <div class=\"valtimo-widget-table__title-container\">\n <valtimo-mdi-icon-viewer\n *ngIf=\"widgetConfiguration?.icon\"\n [mdiIcon]=\"widgetConfiguration.icon\"\n ></valtimo-mdi-icon-viewer>\n\n <span class=\"widget-title\">{{ widgetConfiguration?.title }}</span>\n </div>\n\n <ng-content></ng-content>\n\n <valtimo-widget-action-button\n [widgetConfiguration]=\"widgetConfiguration\"\n [resolvedData]=\"obs.resolvedData\"\n ></valtimo-widget-action-button>\n </section>\n\n @if (obs.fields && (obs.widgetData === null || obs.widgetData.length > 0)) {\n <section class=\"valtimo-widget-table__content\">\n <valtimo-carbon-list\n [header]=\"false\"\n [hideToolbar]=\"true\"\n [fields]=\"obs.fields\"\n [items]=\"obs.widgetData || []\"\n [loading]=\"obs.widgetData === null\"\n [skeletonRowCount]=\"widgetConfiguration?.properties?.defaultPageSize || 5\"\n >\n </valtimo-carbon-list>\n\n @if ($paginationModel() && $showPagination()) {\n <cds-pagination-nav\n class=\"valtimo-widget-table__pagination\"\n [model]=\"$paginationModel()\"\n (selectPage)=\"onSelectPage($event)\"\n >\n </cds-pagination-nav>\n } @else if (obs.widgetData === null) {\n <div class=\"valtimo-widget-table__pagination\">\n <cds-skeleton-text\n [lines]=\"1\"\n [maxLineWidth]=\"150\"\n [minLineWidth]=\"150\"\n ></cds-skeleton-text>\n </div>\n }\n </section>\n } @else if (obs.widgetData !== null) {\n <valtimo-no-results\n [collapseVertically]=\"true\"\n [description]=\"'widgets.noData' | translate\"\n [smallPadding]=\"true\"\n ></valtimo-no-results>\n }\n</cds-tile>\n", styles: [".valtimo-widget-table{padding:24px;background-color:var(--widget-background-color, var(--cds-layer));color:var(--widget-text-color, var(--cds-text-primary));display:flex;flex-direction:column;gap:16px}.valtimo-widget-table__header{display:flex;align-items:center;justify-content:space-between}.valtimo-widget-table__title-container{display:flex;align-items:center;gap:8px}.valtimo-widget-table__title-container valtimo-mdi-icon-viewer .mdi-icon-preview{color:var(--widget-text-color, var(--cds-text-primary))}.valtimo-widget-table__content{display:flex;align-items:center;flex-direction:column;color:inherit}.valtimo-widget-table__content valtimo-carbon-list{width:100%}.valtimo-widget-table__pagination{padding:8px 0;display:flex;justify-content:center;height:64px;align-items:center}.valtimo-widget-table .cds--data-table>thead{background:transparent!important}.valtimo-widget-table .cds--data-table td,.valtimo-widget-table .cds--data-table tr,.valtimo-widget-table .cds--data-table th{display:flex;width:100%}.valtimo-widget-table .cds--data-table td{white-space:nowrap;overflow:hidden}.valtimo-widget-table .cds--data-table td span{text-overflow:ellipsis;overflow:hidden}.valtimo-widget-table .cds--data-table tr{gap:16px}.valtimo-widget-table--compact .cds--data-table tr{gap:12px;height:32px}.valtimo-widget-table .cds--table-header-label>span{font-weight:400;font-size:12px;color:var(--widget-text-color, var(--cds-text-secondary))}.valtimo-widget-table--transparent{background:transparent!important}.valtimo-widget-table--compact .valtimo-widget-table--transparent{border:none!important}.valtimo-widget-table--title{font-style:italic}.valtimo-widget-table .widget-title{color:var(--widget-text-color, var(--cds-text-primary));font-weight:600;font-size:16px;line-height:24px}.valtimo-widget-table .valtimo-no-results__content{color:var(--widget-text-color, var(--cds-text-primary))!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: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: CarbonListModule }, { kind: "component", type: i1.CarbonListComponent, selector: "valtimo-carbon-list", inputs: ["items", "fields", "tableTranslations", "paginatorConfig", "pagination", "loading", "skeletonRowCount", "actions", "actionItems", "showActionItems", "header", "hideColumnHeader", "initialSortState", "sortState", "isSearchable", "enableSingleSelection", "lastColumnTemplate", "paginationIdentifier", "showSelectionColumn", "striped", "hideToolbar", "lockedTooltipTranslationKey", "movingRowsEnabled", "dragAndDrop", "dragAndDropDisabled"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged", "moveRow", "itemsReordered"] }, { kind: "component", type: i1.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "ngmodule", type: PaginationModule }, { kind: "component", type: i3.PaginationNav, selector: "cds-pagination-nav, ibm-pagination-navm", inputs: ["model", "disabled", "numOfItemsToShow", "translations", "size"], outputs: ["selectPage"] }, { kind: "ngmodule", type: TilesModule }, { kind: "component", type: i3.Tile, selector: "cds-tile, ibm-tile", inputs: ["theme"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$
|
|
1475
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: WidgetTableComponent, isStandalone: true, selector: "valtimo-widget-table", inputs: { widgetConfiguration: "widgetConfiguration", widgetData: "widgetData" }, outputs: { paginationEvent: "paginationEvent" }, 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-tile\n *ngIf=\"{\n fields: fields$ | async,\n widgetData: widgetData$ | async,\n resolvedData: resolvedData$ | async,\n } as obs\"\n class=\"valtimo-widget-table\"\n [class.valtimo-widget-table--compact]=\"widgetConfiguration?.isCompact\"\n>\n <section class=\"valtimo-widget-table__header\">\n <div class=\"valtimo-widget-table__title-container\">\n <valtimo-mdi-icon-viewer\n *ngIf=\"widgetConfiguration?.icon\"\n [mdiIcon]=\"widgetConfiguration.icon\"\n ></valtimo-mdi-icon-viewer>\n\n <span class=\"widget-title\">{{ widgetConfiguration?.title }}</span>\n </div>\n\n <ng-content></ng-content>\n\n <valtimo-widget-action-button\n [widgetConfiguration]=\"widgetConfiguration\"\n [resolvedData]=\"obs.resolvedData\"\n ></valtimo-widget-action-button>\n </section>\n\n @if (obs.fields && (obs.widgetData === null || obs.widgetData.length > 0)) {\n <section class=\"valtimo-widget-table__content\">\n <valtimo-carbon-list\n [header]=\"false\"\n [hideToolbar]=\"true\"\n [fields]=\"obs.fields\"\n [items]=\"obs.widgetData || []\"\n [loading]=\"obs.widgetData === null\"\n [skeletonRowCount]=\"widgetConfiguration?.properties?.defaultPageSize || 5\"\n >\n </valtimo-carbon-list>\n\n @if ($paginationModel() && $showPagination()) {\n <cds-pagination-nav\n class=\"valtimo-widget-table__pagination\"\n [model]=\"$paginationModel()\"\n (selectPage)=\"onSelectPage($event)\"\n >\n </cds-pagination-nav>\n } @else if (obs.widgetData === null) {\n <div class=\"valtimo-widget-table__pagination\">\n <cds-skeleton-text\n [lines]=\"1\"\n [maxLineWidth]=\"150\"\n [minLineWidth]=\"150\"\n ></cds-skeleton-text>\n </div>\n }\n </section>\n } @else if (obs.widgetData !== null) {\n <valtimo-no-results\n [collapseVertically]=\"true\"\n [description]=\"'widgets.noData' | translate\"\n [smallPadding]=\"true\"\n ></valtimo-no-results>\n }\n</cds-tile>\n", styles: [".valtimo-widget-table{padding:24px;background-color:var(--widget-background-color, var(--cds-layer));color:var(--widget-text-color, var(--cds-text-primary));display:flex;flex-direction:column;gap:16px}.valtimo-widget-table__header{display:flex;align-items:center;justify-content:space-between}.valtimo-widget-table__title-container{display:flex;align-items:center;gap:8px}.valtimo-widget-table__title-container valtimo-mdi-icon-viewer .mdi-icon-preview{color:var(--widget-text-color, var(--cds-text-primary))}.valtimo-widget-table__content{display:flex;align-items:center;flex-direction:column;color:inherit}.valtimo-widget-table__content valtimo-carbon-list{width:100%}.valtimo-widget-table__pagination{padding:8px 0;display:flex;justify-content:center;height:64px;align-items:center}.valtimo-widget-table .cds--data-table>thead{background:transparent!important}.valtimo-widget-table .cds--data-table td,.valtimo-widget-table .cds--data-table tr,.valtimo-widget-table .cds--data-table th{display:flex;width:100%}.valtimo-widget-table .cds--data-table td{white-space:nowrap;overflow:hidden}.valtimo-widget-table .cds--data-table td span{text-overflow:ellipsis;overflow:hidden}.valtimo-widget-table .cds--data-table tr{gap:16px}.valtimo-widget-table--compact .cds--data-table tr{gap:12px;height:32px}.valtimo-widget-table .cds--table-header-label>span{font-weight:400;font-size:12px;color:var(--widget-text-color, var(--cds-text-secondary))}.valtimo-widget-table--transparent{background:transparent!important}.valtimo-widget-table--compact .valtimo-widget-table--transparent{border:none!important}.valtimo-widget-table--title{font-style:italic}.valtimo-widget-table .widget-title{color:var(--widget-text-color, var(--cds-text-primary));font-weight:600;font-size:16px;line-height:24px}.valtimo-widget-table .valtimo-no-results__content{color:var(--widget-text-color, var(--cds-text-primary))!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: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: CarbonListModule }, { kind: "component", type: i1$1.CarbonListComponent, selector: "valtimo-carbon-list", inputs: ["items", "fields", "tableTranslations", "paginatorConfig", "pagination", "loading", "skeletonRowCount", "actions", "actionItems", "showActionItems", "header", "hideColumnHeader", "initialSortState", "sortState", "isSearchable", "enableSingleSelection", "lastColumnTemplate", "paginationIdentifier", "showSelectionColumn", "striped", "hideToolbar", "lockedTooltipTranslationKey", "movingRowsEnabled", "dragAndDrop", "dragAndDropDisabled"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged", "moveRow", "itemsReordered"] }, { kind: "component", type: i1$1.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "ngmodule", type: PaginationModule }, { kind: "component", type: i3.PaginationNav, selector: "cds-pagination-nav, ibm-pagination-navm", inputs: ["model", "disabled", "numOfItemsToShow", "translations", "size"], outputs: ["selectPage"] }, { kind: "ngmodule", type: TilesModule }, { kind: "component", type: i3.Tile, selector: "cds-tile, ibm-tile", inputs: ["theme"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: WidgetActionButtonComponent, selector: "valtimo-widget-action-button", inputs: ["widgetConfiguration", "resolvedData"] }, { kind: "component", type: MdiIconViewerComponent, selector: "valtimo-mdi-icon-viewer", inputs: ["mdiIcon"] }, { kind: "ngmodule", type: SkeletonModule }, { kind: "component", type: i3.SkeletonText, selector: "cds-skeleton-text, ibm-skeleton-text", inputs: ["lines", "minLineWidth", "maxLineWidth"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
1412
1476
|
}
|
|
1413
1477
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetTableComponent, decorators: [{
|
|
1414
1478
|
type: Component,
|
|
@@ -1709,8 +1773,8 @@ class WidgetInteractiveTableSearchComponent {
|
|
|
1709
1773
|
this.dropdownSelectItemsMap[filter.key] = dropdownEntries.map(([id, text]) => ({ id, text }));
|
|
1710
1774
|
});
|
|
1711
1775
|
}
|
|
1712
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetInteractiveTableSearchComponent, deps: [{ token: i1.CdsThemeService }, { token: i1$3.FormBuilder }, { token: i3.IconService }, { token: i2$
|
|
1713
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: WidgetInteractiveTableSearchComponent, isStandalone: true, selector: "valtimo-widget-interactive-table-search", inputs: { initSearchRequest: "initSearchRequest", filters: "filters" }, outputs: { searchSubmitEvent: "searchSubmitEvent" }, usesOnChanges: true, ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n<form\n *ngIf=\"theme$ | async as theme\"\n class=\"valtimo-widget-interactive-table-search\"\n [formGroup]=\"formGroup\"\n (click)=\"$event.stopPropagation()\"\n>\n <section class=\"valtimo-widget-interactive-table-search__fields\" formGroupName=\"filters\">\n @for (filter of filters; track filter.key) {\n <cds-text-label\n class=\"valtimo-widget-interactive-table-search__filter-field\"\n [ngClass]=\"{\n 'valtimo-widget-interactive-table-search__filter-field--range': filter.fieldType === 'range'\n }\"\n >\n <v-input-label *ngIf=\"filter.title\" [title]=\"filter.title\"></v-input-label>\n\n @if (filter.dataType === 'text' && filter.fieldType === 'single') {\n <v-input\n [dataTestId]=\"'widget-interactive-table-filter-' + filter.key\"\n [name]=\"filter.key\"\n [placeholder]=\"'searchFields.textPlaceholder' | translate\"\n [defaultValue]=\"filtersFormGroup.get(filter.key)?.value\"\n [fullWidth]=\"true\"\n [carbonTheme]=\"'g100'\"\n (valueChange)=\"singleValueChange(filter.key, $event)\"\n ></v-input>\n }\n @else if (filter.dataType === 'text' && filter.fieldType === 'range') {\n <v-form className=\"multiple-search-fields\" (valueChange)=\"rangeValueChange(filter.key, $event)\">\n <v-input\n name=\"start\"\n [defaultValue]=\"filtersFormGroup.get(filter.key + '_start')?.value\"\n [placeholder]=\"'searchFields.textPlaceholder' | translate\"\n [fullWidth]=\"true\"\n ></v-input>\n\n <div class=\"to-text\">\n <v-paragraph>{{ 'searchFields.to' | translate }}</v-paragraph>\n </div>\n\n <v-input\n name=\"end\"\n [defaultValue]=\"filtersFormGroup.get(filter.key + '_end')?.value\"\n [placeholder]=\"'searchFields.textPlaceholder' | translate\"\n [fullWidth]=\"true\"\n ></v-input>\n </v-form>\n }\n @else if (filter.dataType === 'text' && filter.fieldType === 'single-select-dropdown') {\n <v-select\n [items]=\"dropdownSelectItemsMap[filter.key]\"\n [formControlName]=\"filter.key\"\n [placeholder]=\"'searchFields.textPlaceholder' | translate\"\n [appendInline]=\"true\"\n ></v-select>\n }\n @else if (filter.dataType === 'text' && filter.fieldType === 'multi-select-dropdown') {\n <v-select\n [items]=\"dropdownSelectItemsMap[filter.key]\"\n [formControlName]=\"filter.key\"\n [multiple]=\"true\"\n [placeholder]=\"'searchFields.textPlaceholder' | translate\"\n [appendInline]=\"true\"\n ></v-select>\n }\n @else if (filter.dataType === 'number' && filter.fieldType === 'single') {\n <v-input\n type=\"number\"\n [hideNumberSpinBox]=\"true\"\n [name]=\"filter.key\"\n [placeholder]=\"'searchFields.numberPlaceholder' | translate\"\n [defaultValue]=\"filtersFormGroup.get(filter.key)?.value\"\n [fullWidth]=\"true\"\n (valueChange)=\"singleValueChange(filter.key, $event)\"\n ></v-input>\n }\n @else if (filter.dataType === 'number' && filter.fieldType === 'range') {\n <v-form className=\"multiple-search-fields\" (valueChange)=\"rangeValueChange(filter.key, $event)\">\n <v-input\n type=\"number\"\n name=\"start\"\n [defaultValue]=\"filtersFormGroup.get(filter.key + '_start')?.value\"\n [placeholder]=\"'searchFields.numberPlaceholder' | translate\"\n [fullWidth]=\"true\"\n ></v-input>\n\n <div class=\"to-text\">\n <v-paragraph>{{ 'searchFields.to' | translate }}</v-paragraph>\n </div>\n\n <v-input\n type=\"number\"\n name=\"end\"\n [defaultValue]=\"filtersFormGroup.get(filter.key + '_end')?.value\"\n [placeholder]=\"'searchFields.numberPlaceholder' | translate\"\n [fullWidth]=\"true\"\n ></v-input>\n </v-form>\n }\n @else if (filter.dataType === 'boolean' && filter.fieldType === 'single') {\n <v-select\n *ngIf=\"booleanItems$ | async as booleanItems\"\n [items]=\"booleanItems\"\n [formControlName]=\"filter.key\"\n [clearSelectionSubject$]=\"clear$\"\n ></v-select>\n }\n @else if (filter.dataType === 'time' && filter.fieldType === 'single') {\n <cds-timepicker\n [placeholder]=\"'searchFields.timePlaceholder' | translate\"\n [formControlName]=\"filter.key\"\n ></cds-timepicker>\n }\n @else if (filter.dataType === 'time' && filter.fieldType === 'range') {\n <cds-timepicker [formControlName]=\"filter.key + '_start'\"></cds-timepicker>\n\n <div class=\"to-text\">\n <v-paragraph>{{ 'searchFields.to' | translate }}</v-paragraph>\n </div>\n\n <cds-timepicker [formControlName]=\"filter.key + '_end'\"></cds-timepicker>\n }\n @else if (filter.dataType === 'date' && filter.fieldType === 'single') {\n <valtimo-date-time-picker\n [defaultDate]=\"filtersFormGroup.get(filter.key)?.value ?? ''\"\n [clear$]=\"clear$\"\n [enableTime]=\"false\"\n [showFieldLabel]=\"false\"\n (valueChange)=\"singleValueChange(filter.key, $event)\"\n ></valtimo-date-time-picker>\n }\n @else if (filter.dataType === 'date' && filter.fieldType === 'range') {\n <div class=\"multiple-search-fields\">\n <valtimo-date-time-picker\n [defaultDate]=\"filtersFormGroup.get(filter.key + '_start')?.value ?? ''\"\n [clear$]=\"clear$\"\n [enableTime]=\"false\"\n [showFieldLabel]=\"false\"\n (valueChange)=\"singleValueChange(filter.key + '_start', $event)\"\n ></valtimo-date-time-picker>\n\n <div class=\"to-text\">\n <v-paragraph>{{ 'searchFields.to' | translate }}</v-paragraph>\n </div>\n\n <valtimo-date-time-picker\n [defaultDate]=\"filtersFormGroup.get(filter.key + '_end')?.value ?? ''\"\n [clear$]=\"clear$\"\n [enableTime]=\"false\"\n [showFieldLabel]=\"false\"\n (valueChange)=\"singleValueChange(filter.key + '_end', $event)\"\n ></valtimo-date-time-picker>\n </div>\n }\n @else if (filter.dataType === 'datetime' && filter.fieldType === 'single') {\n <valtimo-date-time-picker\n [defaultDate]=\"filtersFormGroup.get(filter.key)?.value ?? ''\"\n [clear$]=\"clear$\"\n [enableTime]=\"true\"\n [showFieldLabel]=\"false\"\n (valueChange)=\"singleValueChange(filter.key, $event)\"\n ></valtimo-date-time-picker>\n }\n @else if (filter.dataType === 'datetime' && filter.fieldType === 'range') {\n <div class=\"multiple-search-fields multiple-search-fields--stacked\">\n <valtimo-date-time-picker\n [defaultDate]=\"filtersFormGroup.get(filter.key + '_start')?.value ?? ''\"\n [clear$]=\"clear$\"\n [enableTime]=\"true\"\n [showFieldLabel]=\"false\"\n (valueChange)=\"singleValueChange(filter.key + '_start', $event)\"\n ></valtimo-date-time-picker>\n\n <div class=\"to-text\">\n <v-paragraph>{{ 'searchFields.to' | translate }}</v-paragraph>\n </div>\n\n <valtimo-date-time-picker\n [defaultDate]=\"filtersFormGroup.get(filter.key + '_end')?.value ?? ''\"\n [clear$]=\"clear$\"\n [enableTime]=\"true\"\n [showFieldLabel]=\"false\"\n (valueChange)=\"singleValueChange(filter.key + '_end', $event)\"\n ></valtimo-date-time-picker>\n </div>\n }\n </cds-text-label>\n }\n </section>\n\n <button cdsButton=\"tertiary\" type=\"button\" (click)=\"onClearFilter()\">\n {{ 'interface.clear' | translate }}\n <svg class=\"cds--btn__icon\" cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n</form>\n", styles: [".valtimo-widget-interactive-table-search{display:flex;flex-direction:column;gap:16px;padding:16px;max-width:420px;max-height:300px;overflow-y:scroll}.valtimo-widget-interactive-table-search__fields{display:grid;gap:16px;grid-template-columns:repeat(2,1fr);align-items:flex-end}.valtimo-widget-interactive-table-search__datetime{align-items:flex-end}.valtimo-widget-interactive-table-search__filter-field{width:100%;display:flex;flex-direction:column;min-width:0}.valtimo-widget-interactive-table-search__filter-field--range{grid-column:1/-1}.valtimo-widget-interactive-table-search__label{font-size:var(--cds-label-01-font-size);color:var(--widget-text-color, var(--cds-text-secondary))}::ng-deep .multiple-search-fields{display:flex!important;flex-direction:row!important;align-items:center!important}.to-text{margin-inline-start:8px;margin-inline-end:8px}::ng-deep .cds--date-picker.cds--date-picker--single .cds--date-picker__input{inline-size:unset!important;width:180px!important}::ng-deep v-input input{background-color:var(--cds-layer-02)!important}::ng-deep v-select input{background-color:var(--cds-layer-02)!important}::ng-deep .multiple-search-fields--stacked{flex-direction:column!important;align-items:stretch!important;gap:8px!important}.to-text--stacked{margin-inline-start:0;margin-inline-end:0}::ng-deep .cds--list-box__field{background-color:var(--cds-layer-02)!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: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$1.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i3.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i3.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i3.TextInputLabelComponent, selector: "cds-text-label, ibm-text-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "textInputTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel", "fluid"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1$3.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: InputLabelModule }, { kind: "component", type: i1.InputLabelComponent, selector: "v-input-label", inputs: ["name", "tooltip", "tooltipTranslationKey", "largeMargin", "small", "noMargin", "title", "titleTranslationKey", "required", "disabled", "carbonTheme"] }, { kind: "ngmodule", type: TimePickerModule }, { kind: "component", type: i3.TimePicker, selector: "cds-timepicker, ibm-timepicker", inputs: ["invalid", "invalidText", "label", "hideLabel", "placeholder", "pattern", "id", "disabled", "value", "maxLength", "skeleton", "theme", "size"], outputs: ["valueChange"] }, { kind: "ngmodule", type: InputModule$1 }, { kind: "component", type: i1.InputComponent, selector: "v-input", inputs: ["name", "type", "title", "titleTranslationKey", "defaultValue", "widthPx", "fullWidth", "margin", "smallMargin", "disabled", "step", "min", "maxLength", "tooltip", "required", "hideNumberSpinBox", "smallLabel", "rows", "clear$", "carbonTheme", "placeholder", "dataTestId", "trim", "presetsTitle", "presetOptions"], outputs: ["valueChange"] }, { kind: "ngmodule", type: FormModule }, { kind: "component", type: i1.FormComponent, selector: "v-form", inputs: ["className"], outputs: ["valueChange"] }, { kind: "ngmodule", type: SelectModule }, { kind: "component", type: i1.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: "ngmodule", type: ParagraphModule }, { kind: "component", type: i1.ParagraphComponent, selector: "v-paragraph", inputs: ["center", "fullWidth", "margin", "italic", "loading", "dataTestId"] }, { kind: "component", type: DateTimePickerComponent, selector: "valtimo-date-time-picker", inputs: ["fullWidth", "margin", "name", "title", "placeholder", "titleTranslationKey", "disabled", "tooltip", "required", "smallLabel", "enableTime", "carbonTheme", "dateFormat", "showFieldLabel", "datePlaceholder", "timePlaceholder", "labelText", "defaultDate", "defaultDateIsToday", "clear$"], outputs: ["valueChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1776
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetInteractiveTableSearchComponent, deps: [{ token: i1$1.CdsThemeService }, { token: i1$3.FormBuilder }, { token: i3.IconService }, { token: i2$2.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1777
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: WidgetInteractiveTableSearchComponent, isStandalone: true, selector: "valtimo-widget-interactive-table-search", inputs: { initSearchRequest: "initSearchRequest", filters: "filters" }, outputs: { searchSubmitEvent: "searchSubmitEvent" }, usesOnChanges: true, ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n<form\n *ngIf=\"theme$ | async as theme\"\n class=\"valtimo-widget-interactive-table-search\"\n [formGroup]=\"formGroup\"\n (click)=\"$event.stopPropagation()\"\n>\n <section class=\"valtimo-widget-interactive-table-search__fields\" formGroupName=\"filters\">\n @for (filter of filters; track filter.key) {\n <cds-text-label\n class=\"valtimo-widget-interactive-table-search__filter-field\"\n [ngClass]=\"{\n 'valtimo-widget-interactive-table-search__filter-field--range': filter.fieldType === 'range'\n }\"\n >\n <v-input-label *ngIf=\"filter.title\" [title]=\"filter.title\"></v-input-label>\n\n @if (filter.dataType === 'text' && filter.fieldType === 'single') {\n <v-input\n [dataTestId]=\"'widget-interactive-table-filter-' + filter.key\"\n [name]=\"filter.key\"\n [placeholder]=\"'searchFields.textPlaceholder' | translate\"\n [defaultValue]=\"filtersFormGroup.get(filter.key)?.value\"\n [fullWidth]=\"true\"\n [carbonTheme]=\"'g100'\"\n (valueChange)=\"singleValueChange(filter.key, $event)\"\n ></v-input>\n }\n @else if (filter.dataType === 'text' && filter.fieldType === 'range') {\n <v-form className=\"multiple-search-fields\" (valueChange)=\"rangeValueChange(filter.key, $event)\">\n <v-input\n name=\"start\"\n [defaultValue]=\"filtersFormGroup.get(filter.key + '_start')?.value\"\n [placeholder]=\"'searchFields.textPlaceholder' | translate\"\n [fullWidth]=\"true\"\n ></v-input>\n\n <div class=\"to-text\">\n <v-paragraph>{{ 'searchFields.to' | translate }}</v-paragraph>\n </div>\n\n <v-input\n name=\"end\"\n [defaultValue]=\"filtersFormGroup.get(filter.key + '_end')?.value\"\n [placeholder]=\"'searchFields.textPlaceholder' | translate\"\n [fullWidth]=\"true\"\n ></v-input>\n </v-form>\n }\n @else if (filter.dataType === 'text' && filter.fieldType === 'single-select-dropdown') {\n <v-select\n [items]=\"dropdownSelectItemsMap[filter.key]\"\n [formControlName]=\"filter.key\"\n [placeholder]=\"'searchFields.textPlaceholder' | translate\"\n [appendInline]=\"true\"\n ></v-select>\n }\n @else if (filter.dataType === 'text' && filter.fieldType === 'multi-select-dropdown') {\n <v-select\n [items]=\"dropdownSelectItemsMap[filter.key]\"\n [formControlName]=\"filter.key\"\n [multiple]=\"true\"\n [placeholder]=\"'searchFields.textPlaceholder' | translate\"\n [appendInline]=\"true\"\n ></v-select>\n }\n @else if (filter.dataType === 'number' && filter.fieldType === 'single') {\n <v-input\n type=\"number\"\n [hideNumberSpinBox]=\"true\"\n [name]=\"filter.key\"\n [placeholder]=\"'searchFields.numberPlaceholder' | translate\"\n [defaultValue]=\"filtersFormGroup.get(filter.key)?.value\"\n [fullWidth]=\"true\"\n (valueChange)=\"singleValueChange(filter.key, $event)\"\n ></v-input>\n }\n @else if (filter.dataType === 'number' && filter.fieldType === 'range') {\n <v-form className=\"multiple-search-fields\" (valueChange)=\"rangeValueChange(filter.key, $event)\">\n <v-input\n type=\"number\"\n name=\"start\"\n [defaultValue]=\"filtersFormGroup.get(filter.key + '_start')?.value\"\n [placeholder]=\"'searchFields.numberPlaceholder' | translate\"\n [fullWidth]=\"true\"\n ></v-input>\n\n <div class=\"to-text\">\n <v-paragraph>{{ 'searchFields.to' | translate }}</v-paragraph>\n </div>\n\n <v-input\n type=\"number\"\n name=\"end\"\n [defaultValue]=\"filtersFormGroup.get(filter.key + '_end')?.value\"\n [placeholder]=\"'searchFields.numberPlaceholder' | translate\"\n [fullWidth]=\"true\"\n ></v-input>\n </v-form>\n }\n @else if (filter.dataType === 'boolean' && filter.fieldType === 'single') {\n <v-select\n *ngIf=\"booleanItems$ | async as booleanItems\"\n [items]=\"booleanItems\"\n [formControlName]=\"filter.key\"\n [clearSelectionSubject$]=\"clear$\"\n ></v-select>\n }\n @else if (filter.dataType === 'time' && filter.fieldType === 'single') {\n <cds-timepicker\n [placeholder]=\"'searchFields.timePlaceholder' | translate\"\n [formControlName]=\"filter.key\"\n ></cds-timepicker>\n }\n @else if (filter.dataType === 'time' && filter.fieldType === 'range') {\n <cds-timepicker [formControlName]=\"filter.key + '_start'\"></cds-timepicker>\n\n <div class=\"to-text\">\n <v-paragraph>{{ 'searchFields.to' | translate }}</v-paragraph>\n </div>\n\n <cds-timepicker [formControlName]=\"filter.key + '_end'\"></cds-timepicker>\n }\n @else if (filter.dataType === 'date' && filter.fieldType === 'single') {\n <valtimo-date-time-picker\n [defaultDate]=\"filtersFormGroup.get(filter.key)?.value ?? ''\"\n [clear$]=\"clear$\"\n [enableTime]=\"false\"\n [showFieldLabel]=\"false\"\n (valueChange)=\"singleValueChange(filter.key, $event)\"\n ></valtimo-date-time-picker>\n }\n @else if (filter.dataType === 'date' && filter.fieldType === 'range') {\n <div class=\"multiple-search-fields\">\n <valtimo-date-time-picker\n [defaultDate]=\"filtersFormGroup.get(filter.key + '_start')?.value ?? ''\"\n [clear$]=\"clear$\"\n [enableTime]=\"false\"\n [showFieldLabel]=\"false\"\n (valueChange)=\"singleValueChange(filter.key + '_start', $event)\"\n ></valtimo-date-time-picker>\n\n <div class=\"to-text\">\n <v-paragraph>{{ 'searchFields.to' | translate }}</v-paragraph>\n </div>\n\n <valtimo-date-time-picker\n [defaultDate]=\"filtersFormGroup.get(filter.key + '_end')?.value ?? ''\"\n [clear$]=\"clear$\"\n [enableTime]=\"false\"\n [showFieldLabel]=\"false\"\n (valueChange)=\"singleValueChange(filter.key + '_end', $event)\"\n ></valtimo-date-time-picker>\n </div>\n }\n @else if (filter.dataType === 'datetime' && filter.fieldType === 'single') {\n <valtimo-date-time-picker\n [defaultDate]=\"filtersFormGroup.get(filter.key)?.value ?? ''\"\n [clear$]=\"clear$\"\n [enableTime]=\"true\"\n [showFieldLabel]=\"false\"\n (valueChange)=\"singleValueChange(filter.key, $event)\"\n ></valtimo-date-time-picker>\n }\n @else if (filter.dataType === 'datetime' && filter.fieldType === 'range') {\n <div class=\"multiple-search-fields multiple-search-fields--stacked\">\n <valtimo-date-time-picker\n [defaultDate]=\"filtersFormGroup.get(filter.key + '_start')?.value ?? ''\"\n [clear$]=\"clear$\"\n [enableTime]=\"true\"\n [showFieldLabel]=\"false\"\n (valueChange)=\"singleValueChange(filter.key + '_start', $event)\"\n ></valtimo-date-time-picker>\n\n <div class=\"to-text\">\n <v-paragraph>{{ 'searchFields.to' | translate }}</v-paragraph>\n </div>\n\n <valtimo-date-time-picker\n [defaultDate]=\"filtersFormGroup.get(filter.key + '_end')?.value ?? ''\"\n [clear$]=\"clear$\"\n [enableTime]=\"true\"\n [showFieldLabel]=\"false\"\n (valueChange)=\"singleValueChange(filter.key + '_end', $event)\"\n ></valtimo-date-time-picker>\n </div>\n }\n </cds-text-label>\n }\n </section>\n\n <button cdsButton=\"tertiary\" type=\"button\" (click)=\"onClearFilter()\">\n {{ 'interface.clear' | translate }}\n <svg class=\"cds--btn__icon\" cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n</form>\n", styles: [".valtimo-widget-interactive-table-search{display:flex;flex-direction:column;gap:16px;padding:16px;max-width:420px;max-height:300px;overflow-y:scroll}.valtimo-widget-interactive-table-search__fields{display:grid;gap:16px;grid-template-columns:repeat(2,1fr);align-items:flex-end}.valtimo-widget-interactive-table-search__datetime{align-items:flex-end}.valtimo-widget-interactive-table-search__filter-field{width:100%;display:flex;flex-direction:column;min-width:0}.valtimo-widget-interactive-table-search__filter-field--range{grid-column:1/-1}.valtimo-widget-interactive-table-search__label{font-size:var(--cds-label-01-font-size);color:var(--widget-text-color, var(--cds-text-secondary))}::ng-deep .multiple-search-fields{display:flex!important;flex-direction:row!important;align-items:center!important}.to-text{margin-inline-start:8px;margin-inline-end:8px}::ng-deep .cds--date-picker.cds--date-picker--single .cds--date-picker__input{inline-size:unset!important;width:180px!important}::ng-deep v-input input{background-color:var(--cds-layer-02)!important}::ng-deep v-select input{background-color:var(--cds-layer-02)!important}::ng-deep .multiple-search-fields--stacked{flex-direction:column!important;align-items:stretch!important;gap:8px!important}.to-text--stacked{margin-inline-start:0;margin-inline-end:0}::ng-deep .cds--list-box__field{background-color:var(--cds-layer-02)!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: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i3.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i3.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i3.TextInputLabelComponent, selector: "cds-text-label, ibm-text-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "textInputTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel", "fluid"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1$3.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: InputLabelModule }, { kind: "component", type: i1$1.InputLabelComponent, selector: "v-input-label", inputs: ["name", "tooltip", "tooltipTranslationKey", "largeMargin", "small", "noMargin", "title", "titleTranslationKey", "required", "disabled", "carbonTheme"] }, { kind: "ngmodule", type: TimePickerModule }, { kind: "component", type: i3.TimePicker, selector: "cds-timepicker, ibm-timepicker", inputs: ["invalid", "invalidText", "label", "hideLabel", "placeholder", "pattern", "id", "disabled", "value", "maxLength", "skeleton", "theme", "size"], outputs: ["valueChange"] }, { kind: "ngmodule", type: InputModule$1 }, { kind: "component", type: i1$1.InputComponent, selector: "v-input", inputs: ["name", "type", "title", "titleTranslationKey", "defaultValue", "widthPx", "fullWidth", "margin", "smallMargin", "disabled", "step", "min", "maxLength", "tooltip", "required", "hideNumberSpinBox", "smallLabel", "rows", "clear$", "carbonTheme", "placeholder", "dataTestId", "trim", "presetsTitle", "presetOptions"], outputs: ["valueChange"] }, { kind: "ngmodule", type: FormModule }, { kind: "component", type: i1$1.FormComponent, selector: "v-form", inputs: ["className"], outputs: ["valueChange"] }, { kind: "ngmodule", type: SelectModule }, { kind: "component", type: i1$1.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: "ngmodule", type: ParagraphModule }, { kind: "component", type: i1$1.ParagraphComponent, selector: "v-paragraph", inputs: ["center", "fullWidth", "margin", "italic", "loading", "dataTestId"] }, { kind: "component", type: DateTimePickerComponent, selector: "valtimo-date-time-picker", inputs: ["fullWidth", "margin", "name", "title", "placeholder", "titleTranslationKey", "disabled", "tooltip", "required", "smallLabel", "enableTime", "carbonTheme", "dateFormat", "showFieldLabel", "datePlaceholder", "timePlaceholder", "labelText", "defaultDate", "defaultDateIsToday", "clear$"], outputs: ["valueChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1714
1778
|
}
|
|
1715
1779
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetInteractiveTableSearchComponent, decorators: [{
|
|
1716
1780
|
type: Component,
|
|
@@ -1730,7 +1794,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
1730
1794
|
ParagraphModule,
|
|
1731
1795
|
DateTimePickerComponent,
|
|
1732
1796
|
], 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<form\n *ngIf=\"theme$ | async as theme\"\n class=\"valtimo-widget-interactive-table-search\"\n [formGroup]=\"formGroup\"\n (click)=\"$event.stopPropagation()\"\n>\n <section class=\"valtimo-widget-interactive-table-search__fields\" formGroupName=\"filters\">\n @for (filter of filters; track filter.key) {\n <cds-text-label\n class=\"valtimo-widget-interactive-table-search__filter-field\"\n [ngClass]=\"{\n 'valtimo-widget-interactive-table-search__filter-field--range': filter.fieldType === 'range'\n }\"\n >\n <v-input-label *ngIf=\"filter.title\" [title]=\"filter.title\"></v-input-label>\n\n @if (filter.dataType === 'text' && filter.fieldType === 'single') {\n <v-input\n [dataTestId]=\"'widget-interactive-table-filter-' + filter.key\"\n [name]=\"filter.key\"\n [placeholder]=\"'searchFields.textPlaceholder' | translate\"\n [defaultValue]=\"filtersFormGroup.get(filter.key)?.value\"\n [fullWidth]=\"true\"\n [carbonTheme]=\"'g100'\"\n (valueChange)=\"singleValueChange(filter.key, $event)\"\n ></v-input>\n }\n @else if (filter.dataType === 'text' && filter.fieldType === 'range') {\n <v-form className=\"multiple-search-fields\" (valueChange)=\"rangeValueChange(filter.key, $event)\">\n <v-input\n name=\"start\"\n [defaultValue]=\"filtersFormGroup.get(filter.key + '_start')?.value\"\n [placeholder]=\"'searchFields.textPlaceholder' | translate\"\n [fullWidth]=\"true\"\n ></v-input>\n\n <div class=\"to-text\">\n <v-paragraph>{{ 'searchFields.to' | translate }}</v-paragraph>\n </div>\n\n <v-input\n name=\"end\"\n [defaultValue]=\"filtersFormGroup.get(filter.key + '_end')?.value\"\n [placeholder]=\"'searchFields.textPlaceholder' | translate\"\n [fullWidth]=\"true\"\n ></v-input>\n </v-form>\n }\n @else if (filter.dataType === 'text' && filter.fieldType === 'single-select-dropdown') {\n <v-select\n [items]=\"dropdownSelectItemsMap[filter.key]\"\n [formControlName]=\"filter.key\"\n [placeholder]=\"'searchFields.textPlaceholder' | translate\"\n [appendInline]=\"true\"\n ></v-select>\n }\n @else if (filter.dataType === 'text' && filter.fieldType === 'multi-select-dropdown') {\n <v-select\n [items]=\"dropdownSelectItemsMap[filter.key]\"\n [formControlName]=\"filter.key\"\n [multiple]=\"true\"\n [placeholder]=\"'searchFields.textPlaceholder' | translate\"\n [appendInline]=\"true\"\n ></v-select>\n }\n @else if (filter.dataType === 'number' && filter.fieldType === 'single') {\n <v-input\n type=\"number\"\n [hideNumberSpinBox]=\"true\"\n [name]=\"filter.key\"\n [placeholder]=\"'searchFields.numberPlaceholder' | translate\"\n [defaultValue]=\"filtersFormGroup.get(filter.key)?.value\"\n [fullWidth]=\"true\"\n (valueChange)=\"singleValueChange(filter.key, $event)\"\n ></v-input>\n }\n @else if (filter.dataType === 'number' && filter.fieldType === 'range') {\n <v-form className=\"multiple-search-fields\" (valueChange)=\"rangeValueChange(filter.key, $event)\">\n <v-input\n type=\"number\"\n name=\"start\"\n [defaultValue]=\"filtersFormGroup.get(filter.key + '_start')?.value\"\n [placeholder]=\"'searchFields.numberPlaceholder' | translate\"\n [fullWidth]=\"true\"\n ></v-input>\n\n <div class=\"to-text\">\n <v-paragraph>{{ 'searchFields.to' | translate }}</v-paragraph>\n </div>\n\n <v-input\n type=\"number\"\n name=\"end\"\n [defaultValue]=\"filtersFormGroup.get(filter.key + '_end')?.value\"\n [placeholder]=\"'searchFields.numberPlaceholder' | translate\"\n [fullWidth]=\"true\"\n ></v-input>\n </v-form>\n }\n @else if (filter.dataType === 'boolean' && filter.fieldType === 'single') {\n <v-select\n *ngIf=\"booleanItems$ | async as booleanItems\"\n [items]=\"booleanItems\"\n [formControlName]=\"filter.key\"\n [clearSelectionSubject$]=\"clear$\"\n ></v-select>\n }\n @else if (filter.dataType === 'time' && filter.fieldType === 'single') {\n <cds-timepicker\n [placeholder]=\"'searchFields.timePlaceholder' | translate\"\n [formControlName]=\"filter.key\"\n ></cds-timepicker>\n }\n @else if (filter.dataType === 'time' && filter.fieldType === 'range') {\n <cds-timepicker [formControlName]=\"filter.key + '_start'\"></cds-timepicker>\n\n <div class=\"to-text\">\n <v-paragraph>{{ 'searchFields.to' | translate }}</v-paragraph>\n </div>\n\n <cds-timepicker [formControlName]=\"filter.key + '_end'\"></cds-timepicker>\n }\n @else if (filter.dataType === 'date' && filter.fieldType === 'single') {\n <valtimo-date-time-picker\n [defaultDate]=\"filtersFormGroup.get(filter.key)?.value ?? ''\"\n [clear$]=\"clear$\"\n [enableTime]=\"false\"\n [showFieldLabel]=\"false\"\n (valueChange)=\"singleValueChange(filter.key, $event)\"\n ></valtimo-date-time-picker>\n }\n @else if (filter.dataType === 'date' && filter.fieldType === 'range') {\n <div class=\"multiple-search-fields\">\n <valtimo-date-time-picker\n [defaultDate]=\"filtersFormGroup.get(filter.key + '_start')?.value ?? ''\"\n [clear$]=\"clear$\"\n [enableTime]=\"false\"\n [showFieldLabel]=\"false\"\n (valueChange)=\"singleValueChange(filter.key + '_start', $event)\"\n ></valtimo-date-time-picker>\n\n <div class=\"to-text\">\n <v-paragraph>{{ 'searchFields.to' | translate }}</v-paragraph>\n </div>\n\n <valtimo-date-time-picker\n [defaultDate]=\"filtersFormGroup.get(filter.key + '_end')?.value ?? ''\"\n [clear$]=\"clear$\"\n [enableTime]=\"false\"\n [showFieldLabel]=\"false\"\n (valueChange)=\"singleValueChange(filter.key + '_end', $event)\"\n ></valtimo-date-time-picker>\n </div>\n }\n @else if (filter.dataType === 'datetime' && filter.fieldType === 'single') {\n <valtimo-date-time-picker\n [defaultDate]=\"filtersFormGroup.get(filter.key)?.value ?? ''\"\n [clear$]=\"clear$\"\n [enableTime]=\"true\"\n [showFieldLabel]=\"false\"\n (valueChange)=\"singleValueChange(filter.key, $event)\"\n ></valtimo-date-time-picker>\n }\n @else if (filter.dataType === 'datetime' && filter.fieldType === 'range') {\n <div class=\"multiple-search-fields multiple-search-fields--stacked\">\n <valtimo-date-time-picker\n [defaultDate]=\"filtersFormGroup.get(filter.key + '_start')?.value ?? ''\"\n [clear$]=\"clear$\"\n [enableTime]=\"true\"\n [showFieldLabel]=\"false\"\n (valueChange)=\"singleValueChange(filter.key + '_start', $event)\"\n ></valtimo-date-time-picker>\n\n <div class=\"to-text\">\n <v-paragraph>{{ 'searchFields.to' | translate }}</v-paragraph>\n </div>\n\n <valtimo-date-time-picker\n [defaultDate]=\"filtersFormGroup.get(filter.key + '_end')?.value ?? ''\"\n [clear$]=\"clear$\"\n [enableTime]=\"true\"\n [showFieldLabel]=\"false\"\n (valueChange)=\"singleValueChange(filter.key + '_end', $event)\"\n ></valtimo-date-time-picker>\n </div>\n }\n </cds-text-label>\n }\n </section>\n\n <button cdsButton=\"tertiary\" type=\"button\" (click)=\"onClearFilter()\">\n {{ 'interface.clear' | translate }}\n <svg class=\"cds--btn__icon\" cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n</form>\n", styles: [".valtimo-widget-interactive-table-search{display:flex;flex-direction:column;gap:16px;padding:16px;max-width:420px;max-height:300px;overflow-y:scroll}.valtimo-widget-interactive-table-search__fields{display:grid;gap:16px;grid-template-columns:repeat(2,1fr);align-items:flex-end}.valtimo-widget-interactive-table-search__datetime{align-items:flex-end}.valtimo-widget-interactive-table-search__filter-field{width:100%;display:flex;flex-direction:column;min-width:0}.valtimo-widget-interactive-table-search__filter-field--range{grid-column:1/-1}.valtimo-widget-interactive-table-search__label{font-size:var(--cds-label-01-font-size);color:var(--widget-text-color, var(--cds-text-secondary))}::ng-deep .multiple-search-fields{display:flex!important;flex-direction:row!important;align-items:center!important}.to-text{margin-inline-start:8px;margin-inline-end:8px}::ng-deep .cds--date-picker.cds--date-picker--single .cds--date-picker__input{inline-size:unset!important;width:180px!important}::ng-deep v-input input{background-color:var(--cds-layer-02)!important}::ng-deep v-select input{background-color:var(--cds-layer-02)!important}::ng-deep .multiple-search-fields--stacked{flex-direction:column!important;align-items:stretch!important;gap:8px!important}.to-text--stacked{margin-inline-start:0;margin-inline-end:0}::ng-deep .cds--list-box__field{background-color:var(--cds-layer-02)!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"] }]
|
|
1733
|
-
}], ctorParameters: () => [{ type: i1.CdsThemeService }, { type: i1$3.FormBuilder }, { type: i3.IconService }, { type: i2$
|
|
1797
|
+
}], ctorParameters: () => [{ type: i1$1.CdsThemeService }, { type: i1$3.FormBuilder }, { type: i3.IconService }, { type: i2$2.TranslateService }], propDecorators: { initSearchRequest: [{
|
|
1734
1798
|
type: Input
|
|
1735
1799
|
}], filters: [{
|
|
1736
1800
|
type: Input
|
|
@@ -1932,8 +1996,8 @@ class WidgetInteractiveTableComponent {
|
|
|
1932
1996
|
}
|
|
1933
1997
|
this.searchSubmitEvent.emit(searchRequest);
|
|
1934
1998
|
}
|
|
1935
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetInteractiveTableComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i2$
|
|
1936
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: WidgetInteractiveTableComponent, isStandalone: true, selector: "valtimo-widget-interactive-table", inputs: { widgetConfiguration: "widgetConfiguration", widgetData: "widgetData", searchRequest: "searchRequest" }, outputs: { paginationEvent: "paginationEvent", rowClickEvent: "rowClickEvent", actionEvent: "actionEvent", caseStartEvent: "caseStartEvent", queryParamsEvent: "queryParamsEvent", searchSubmitEvent: "searchSubmitEvent" }, host: { properties: { "class": "this.class" } }, 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 fields: fields$ | async,\n widgetData: widgetData$ | async,\n caseDefinitions: caseDefinitions$ | async,\n filters: filters$ | async,\n } as obs\"\n>\n <div class=\"valtimo-widget-interactive-table__title-container\">\n <valtimo-mdi-icon-viewer\n *ngIf=\"widgetConfiguration?.icon\"\n [mdiIcon]=\"widgetConfiguration.icon\"\n ></valtimo-mdi-icon-viewer>\n\n <span class=\"widget-title\">{{ widgetConfiguration?.title }}</span>\n </div>\n\n <valtimo-carbon-list\n [header]=\"false\"\n [fields]=\"obs.fields\"\n [items]=\"obs.widgetData || []\"\n [initialSortState]=\"$initialSortState()\"\n [loading]=\"obs.widgetData === null\"\n [skeletonRowCount]=\"widgetConfiguration?.properties?.defaultPageSize || 5\"\n [pagination]=\"$paginationModel()\"\n [paginatorConfig]=\"$paginatorConfig()\"\n (paginationClicked)=\"onPaginationClicked($event)\"\n (paginationSet)=\"onPaginationSet($event)\"\n (sortChanged)=\"onSortChanged($event)\"\n (rowClicked)=\"rowClick($event)\"\n >\n <section class=\"valtimo-widget-interactive-table__header\" carbonToolbarContent>\n <v-overflow-menu\n *ngIf=\"!!obs.filters.length\"\n carbonToolbarContent\n placement=\"bottom-end\"\n [closeOnSelect]=\"false\"\n >\n <button overflowTrigger cdsButton=\"ghost\" [iconOnly]=\"true\">\n <svg cdsIcon=\"filter\" size=\"16\"></svg>\n </button>\n\n <div overflowPane>\n <ng-container *ngTemplateOutlet=\"widgetInteractiveTableSearch\"></ng-container>\n </div>\n </v-overflow-menu>\n\n <v-overflow-menu\n *ngIf=\"!!widgetConfiguration?.actions?.length\"\n placement=\"bottom-end\"\n >\n <button overflowTrigger cdsButton=\"ghost\" [iconOnly]=\"true\">\n <svg cdsIcon=\"link\" size=\"16\"></svg>\n </button>\n\n @for (action of widgetConfiguration?.actions; track action.name) {\n <v-overflow-menu-option (selected)=\"onActionClick(action)\">\n {{ action.name }}\n </v-overflow-menu-option>\n }\n </v-overflow-menu>\n\n <cds-menu-button\n *ngIf=\"widgetConfiguration?.properties?.canStartCase\"\n [label]=\"'Start Case' | translate\"\n >\n @for (definition of obs.caseDefinitions; track definition.caseDefinitionKey) {\n <cds-menu-item\n [label]=\"definition.name\"\n (click)=\"onCaseStart(definition)\"\n ></cds-menu-item>\n }\n </cds-menu-button>\n </section>\n\n <valtimo-no-results\n *ngIf=\"obs.widgetData !== null\"\n [collapseVertically]=\"true\"\n [description]=\"'widgets.noData' | translate\"\n [smallPadding]=\"true\"\n ></valtimo-no-results>\n </valtimo-carbon-list>\n\n <ng-template #widgetInteractiveTableSearch>\n <valtimo-widget-interactive-table-search\n [filters]=\"obs.filters\"\n [initSearchRequest]=\"searchRequest\"\n (searchSubmitEvent)=\"onSearchSubmit($event)\"\n ></valtimo-widget-interactive-table-search>\n </ng-template>\n
|
|
1999
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetInteractiveTableComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i2$3.DocumentService }, { token: i3.IconService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2000
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: WidgetInteractiveTableComponent, isStandalone: true, selector: "valtimo-widget-interactive-table", inputs: { widgetConfiguration: "widgetConfiguration", widgetData: "widgetData", searchRequest: "searchRequest" }, outputs: { paginationEvent: "paginationEvent", rowClickEvent: "rowClickEvent", actionEvent: "actionEvent", caseStartEvent: "caseStartEvent", queryParamsEvent: "queryParamsEvent", searchSubmitEvent: "searchSubmitEvent" }, host: { properties: { "class": "this.class" } }, 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 fields: fields$ | async,\n widgetData: widgetData$ | async,\n caseDefinitions: caseDefinitions$ | async,\n filters: filters$ | async,\n } as obs\"\n>\n <div class=\"valtimo-widget-interactive-table__title-container\">\n <valtimo-mdi-icon-viewer\n *ngIf=\"widgetConfiguration?.icon\"\n [mdiIcon]=\"widgetConfiguration.icon\"\n ></valtimo-mdi-icon-viewer>\n\n <span class=\"widget-title\">{{ widgetConfiguration?.title }}</span>\n </div>\n\n <valtimo-carbon-list\n [header]=\"false\"\n [fields]=\"obs.fields\"\n [items]=\"obs.widgetData || []\"\n [initialSortState]=\"$initialSortState()\"\n [loading]=\"obs.widgetData === null\"\n [skeletonRowCount]=\"widgetConfiguration?.properties?.defaultPageSize || 5\"\n [pagination]=\"$paginationModel()\"\n [paginatorConfig]=\"$paginatorConfig()\"\n (paginationClicked)=\"onPaginationClicked($event)\"\n (paginationSet)=\"onPaginationSet($event)\"\n (sortChanged)=\"onSortChanged($event)\"\n (rowClicked)=\"rowClick($event)\"\n >\n <section class=\"valtimo-widget-interactive-table__header\" carbonToolbarContent>\n <v-overflow-menu\n *ngIf=\"!!obs.filters.length\"\n carbonToolbarContent\n placement=\"bottom-end\"\n [closeOnSelect]=\"false\"\n >\n <button overflowTrigger cdsButton=\"ghost\" [iconOnly]=\"true\">\n <svg cdsIcon=\"filter\" size=\"16\"></svg>\n </button>\n\n <div overflowPane>\n <ng-container *ngTemplateOutlet=\"widgetInteractiveTableSearch\"></ng-container>\n </div>\n </v-overflow-menu>\n\n <v-overflow-menu\n *ngIf=\"!!widgetConfiguration?.actions?.length\"\n placement=\"bottom-end\"\n >\n <button overflowTrigger cdsButton=\"ghost\" [iconOnly]=\"true\">\n <svg cdsIcon=\"link\" size=\"16\"></svg>\n </button>\n\n @for (action of widgetConfiguration?.actions; track action.name) {\n <v-overflow-menu-option (selected)=\"onActionClick(action)\">\n {{ action.name }}\n </v-overflow-menu-option>\n }\n </v-overflow-menu>\n\n <cds-menu-button\n *ngIf=\"widgetConfiguration?.properties?.canStartCase\"\n [label]=\"'Start Case' | translate\"\n >\n @for (definition of obs.caseDefinitions; track definition.caseDefinitionKey) {\n <cds-menu-item\n [label]=\"definition.name\"\n (click)=\"onCaseStart(definition)\"\n ></cds-menu-item>\n }\n </cds-menu-button>\n </section>\n\n <valtimo-no-results\n *ngIf=\"obs.widgetData !== null\"\n [collapseVertically]=\"true\"\n [description]=\"'widgets.noData' | translate\"\n [smallPadding]=\"true\"\n ></valtimo-no-results>\n </valtimo-carbon-list>\n\n <ng-template #widgetInteractiveTableSearch>\n <valtimo-widget-interactive-table-search\n [filters]=\"obs.filters\"\n [initSearchRequest]=\"searchRequest\"\n (searchSubmitEvent)=\"onSearchSubmit($event)\"\n ></valtimo-widget-interactive-table-search>\n </ng-template>\n</ng-container>\n", styles: [".valtimo-widget-interactive-table{display:flex;flex-direction:column;height:100%}.valtimo-widget-interactive-table__header{display:flex;align-items:center;justify-content:flex-end;width:100%}.valtimo-widget-interactive-table__title-container{display:flex;align-items:center;gap:8px;padding:12px 0 0 16px}.valtimo-widget-interactive-table__content{display:flex;align-items:center;flex-direction:column}.valtimo-widget-interactive-table valtimo-carbon-list,.valtimo-widget-interactive-table cds-table-container{width:100%;height:100%}.valtimo-widget-interactive-table cds-table{height:calc(100% - 88px)}.valtimo-widget-interactive-table .widget-title{color:var(--widget-text-color, var(--cds-text-primary));font-weight:600;font-size:16px;line-height:24px}.cds--menu-item__label{overflow:unset!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: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: CarbonListModule }, { kind: "component", type: i1$1.CarbonListComponent, selector: "valtimo-carbon-list", inputs: ["items", "fields", "tableTranslations", "paginatorConfig", "pagination", "loading", "skeletonRowCount", "actions", "actionItems", "showActionItems", "header", "hideColumnHeader", "initialSortState", "sortState", "isSearchable", "enableSingleSelection", "lastColumnTemplate", "paginationIdentifier", "showSelectionColumn", "striped", "hideToolbar", "lockedTooltipTranslationKey", "movingRowsEnabled", "dragAndDrop", "dragAndDropDisabled"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged", "moveRow", "itemsReordered"] }, { kind: "component", type: i1$1.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "ngmodule", type: PaginationModule }, { kind: "ngmodule", type: TilesModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i3.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "component", type: OverflowMenuComponent, selector: "v-overflow-menu", inputs: ["open", "placement", "menuWidth", "offsetX", "offsetY", "closeOnSelect", "useHostAsReference", "portalToBody"], outputs: ["openChange"] }, { kind: "component", type: OverflowMenuOptionComponent, selector: "v-overflow-menu-option", inputs: ["disabled", "type", "testId", "optionId"], outputs: ["selected"] }, { kind: "ngmodule", type: MenuButtonModule }, { kind: "component", type: i3.MenuButtonComponent, selector: "cds-menu-button", inputs: ["menuId", "kind", "size", "menuAlignment", "buttonTabIndex", "disabled", "open", "label"] }, { kind: "ngmodule", type: ContextMenuModule }, { kind: "component", type: i3.ContextMenuItemComponent, selector: "cds-menu-item, cds-context-menu-item, ibm-context-menu-item", inputs: ["disabled", "danger", "label", "info", "type", "checked", "icon", "value"], outputs: ["checkedChange", "itemClick"] }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i3.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: MdiIconViewerComponent, selector: "valtimo-mdi-icon-viewer", inputs: ["mdiIcon"] }, { kind: "ngmodule", type: SkeletonModule }, { kind: "component", type: WidgetInteractiveTableSearchComponent, selector: "valtimo-widget-interactive-table-search", inputs: ["initSearchRequest", "filters"], outputs: ["searchSubmitEvent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
1937
2001
|
}
|
|
1938
2002
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetInteractiveTableComponent, decorators: [{
|
|
1939
2003
|
type: Component,
|
|
@@ -1952,8 +2016,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
1952
2016
|
MdiIconViewerComponent,
|
|
1953
2017
|
SkeletonModule,
|
|
1954
2018
|
WidgetInteractiveTableSearchComponent,
|
|
1955
|
-
], 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 fields: fields$ | async,\n widgetData: widgetData$ | async,\n caseDefinitions: caseDefinitions$ | async,\n filters: filters$ | async,\n } as obs\"\n>\n <div class=\"valtimo-widget-interactive-table__title-container\">\n <valtimo-mdi-icon-viewer\n *ngIf=\"widgetConfiguration?.icon\"\n [mdiIcon]=\"widgetConfiguration.icon\"\n ></valtimo-mdi-icon-viewer>\n\n <span class=\"widget-title\">{{ widgetConfiguration?.title }}</span>\n </div>\n\n <valtimo-carbon-list\n [header]=\"false\"\n [fields]=\"obs.fields\"\n [items]=\"obs.widgetData || []\"\n [initialSortState]=\"$initialSortState()\"\n [loading]=\"obs.widgetData === null\"\n [skeletonRowCount]=\"widgetConfiguration?.properties?.defaultPageSize || 5\"\n [pagination]=\"$paginationModel()\"\n [paginatorConfig]=\"$paginatorConfig()\"\n (paginationClicked)=\"onPaginationClicked($event)\"\n (paginationSet)=\"onPaginationSet($event)\"\n (sortChanged)=\"onSortChanged($event)\"\n (rowClicked)=\"rowClick($event)\"\n >\n <section class=\"valtimo-widget-interactive-table__header\" carbonToolbarContent>\n <v-overflow-menu\n *ngIf=\"!!obs.filters.length\"\n carbonToolbarContent\n placement=\"bottom-end\"\n [closeOnSelect]=\"false\"\n >\n <button overflowTrigger cdsButton=\"ghost\" [iconOnly]=\"true\">\n <svg cdsIcon=\"filter\" size=\"16\"></svg>\n </button>\n\n <div overflowPane>\n <ng-container *ngTemplateOutlet=\"widgetInteractiveTableSearch\"></ng-container>\n </div>\n </v-overflow-menu>\n\n <v-overflow-menu\n *ngIf=\"!!widgetConfiguration?.actions?.length\"\n placement=\"bottom-end\"\n >\n <button overflowTrigger cdsButton=\"ghost\" [iconOnly]=\"true\">\n <svg cdsIcon=\"link\" size=\"16\"></svg>\n </button>\n\n @for (action of widgetConfiguration?.actions; track action.name) {\n <v-overflow-menu-option (selected)=\"onActionClick(action)\">\n {{ action.name }}\n </v-overflow-menu-option>\n }\n </v-overflow-menu>\n\n <cds-menu-button\n *ngIf=\"widgetConfiguration?.properties?.canStartCase\"\n [label]=\"'Start Case' | translate\"\n >\n @for (definition of obs.caseDefinitions; track definition.caseDefinitionKey) {\n <cds-menu-item\n [label]=\"definition.name\"\n (click)=\"onCaseStart(definition)\"\n ></cds-menu-item>\n }\n </cds-menu-button>\n </section>\n\n <valtimo-no-results\n *ngIf=\"obs.widgetData !== null\"\n [collapseVertically]=\"true\"\n [description]=\"'widgets.noData' | translate\"\n [smallPadding]=\"true\"\n ></valtimo-no-results>\n </valtimo-carbon-list>\n\n <ng-template #widgetInteractiveTableSearch>\n <valtimo-widget-interactive-table-search\n [filters]=\"obs.filters\"\n [initSearchRequest]=\"searchRequest\"\n (searchSubmitEvent)=\"onSearchSubmit($event)\"\n ></valtimo-widget-interactive-table-search>\n </ng-template>\n
|
|
1956
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i2$
|
|
2019
|
+
], 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 fields: fields$ | async,\n widgetData: widgetData$ | async,\n caseDefinitions: caseDefinitions$ | async,\n filters: filters$ | async,\n } as obs\"\n>\n <div class=\"valtimo-widget-interactive-table__title-container\">\n <valtimo-mdi-icon-viewer\n *ngIf=\"widgetConfiguration?.icon\"\n [mdiIcon]=\"widgetConfiguration.icon\"\n ></valtimo-mdi-icon-viewer>\n\n <span class=\"widget-title\">{{ widgetConfiguration?.title }}</span>\n </div>\n\n <valtimo-carbon-list\n [header]=\"false\"\n [fields]=\"obs.fields\"\n [items]=\"obs.widgetData || []\"\n [initialSortState]=\"$initialSortState()\"\n [loading]=\"obs.widgetData === null\"\n [skeletonRowCount]=\"widgetConfiguration?.properties?.defaultPageSize || 5\"\n [pagination]=\"$paginationModel()\"\n [paginatorConfig]=\"$paginatorConfig()\"\n (paginationClicked)=\"onPaginationClicked($event)\"\n (paginationSet)=\"onPaginationSet($event)\"\n (sortChanged)=\"onSortChanged($event)\"\n (rowClicked)=\"rowClick($event)\"\n >\n <section class=\"valtimo-widget-interactive-table__header\" carbonToolbarContent>\n <v-overflow-menu\n *ngIf=\"!!obs.filters.length\"\n carbonToolbarContent\n placement=\"bottom-end\"\n [closeOnSelect]=\"false\"\n >\n <button overflowTrigger cdsButton=\"ghost\" [iconOnly]=\"true\">\n <svg cdsIcon=\"filter\" size=\"16\"></svg>\n </button>\n\n <div overflowPane>\n <ng-container *ngTemplateOutlet=\"widgetInteractiveTableSearch\"></ng-container>\n </div>\n </v-overflow-menu>\n\n <v-overflow-menu\n *ngIf=\"!!widgetConfiguration?.actions?.length\"\n placement=\"bottom-end\"\n >\n <button overflowTrigger cdsButton=\"ghost\" [iconOnly]=\"true\">\n <svg cdsIcon=\"link\" size=\"16\"></svg>\n </button>\n\n @for (action of widgetConfiguration?.actions; track action.name) {\n <v-overflow-menu-option (selected)=\"onActionClick(action)\">\n {{ action.name }}\n </v-overflow-menu-option>\n }\n </v-overflow-menu>\n\n <cds-menu-button\n *ngIf=\"widgetConfiguration?.properties?.canStartCase\"\n [label]=\"'Start Case' | translate\"\n >\n @for (definition of obs.caseDefinitions; track definition.caseDefinitionKey) {\n <cds-menu-item\n [label]=\"definition.name\"\n (click)=\"onCaseStart(definition)\"\n ></cds-menu-item>\n }\n </cds-menu-button>\n </section>\n\n <valtimo-no-results\n *ngIf=\"obs.widgetData !== null\"\n [collapseVertically]=\"true\"\n [description]=\"'widgets.noData' | translate\"\n [smallPadding]=\"true\"\n ></valtimo-no-results>\n </valtimo-carbon-list>\n\n <ng-template #widgetInteractiveTableSearch>\n <valtimo-widget-interactive-table-search\n [filters]=\"obs.filters\"\n [initSearchRequest]=\"searchRequest\"\n (searchSubmitEvent)=\"onSearchSubmit($event)\"\n ></valtimo-widget-interactive-table-search>\n </ng-template>\n</ng-container>\n", styles: [".valtimo-widget-interactive-table{display:flex;flex-direction:column;height:100%}.valtimo-widget-interactive-table__header{display:flex;align-items:center;justify-content:flex-end;width:100%}.valtimo-widget-interactive-table__title-container{display:flex;align-items:center;gap:8px;padding:12px 0 0 16px}.valtimo-widget-interactive-table__content{display:flex;align-items:center;flex-direction:column}.valtimo-widget-interactive-table valtimo-carbon-list,.valtimo-widget-interactive-table cds-table-container{width:100%;height:100%}.valtimo-widget-interactive-table cds-table{height:calc(100% - 88px)}.valtimo-widget-interactive-table .widget-title{color:var(--widget-text-color, var(--cds-text-primary));font-weight:600;font-size:16px;line-height:24px}.cds--menu-item__label{overflow:unset!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"] }]
|
|
2020
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i2$3.DocumentService }, { type: i3.IconService }], propDecorators: { class: [{
|
|
1957
2021
|
type: HostBinding,
|
|
1958
2022
|
args: ['class']
|
|
1959
2023
|
}], widgetConfiguration: [{
|
|
@@ -2063,8 +2127,8 @@ class WidgetCustomComponent {
|
|
|
2063
2127
|
this.cdr.detectChanges();
|
|
2064
2128
|
}));
|
|
2065
2129
|
}
|
|
2066
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetCustomComponent, deps: [{ token: CUSTOM_WIDGET_TOKEN, optional: true }, { token: i0.ChangeDetectorRef }, { token: WidgetLayoutService }, { token: i2$
|
|
2067
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: WidgetCustomComponent, isStandalone: true, selector: "valtimo-widget-custom", inputs: { widgetConfiguration: "widgetConfiguration", widgetData: "widgetData", widgetUuid: "widgetUuid" }, viewQueries: [{ propertyName: "_customWidgetContainerRef", first: true, predicate: ["customWidgetContainer"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n *ngIf=\"{\n widgetConfiguration: widgetConfig$ | async,\n widgetData: widgetData$ | async,\n } as obs\"\n class=\"custom-widget\"\n>\n <section class=\"custom-widget__header\">\n <div class=\"custom-widget__title-container\">\n <valtimo-mdi-icon-viewer\n *ngIf=\"obs.widgetConfiguration?.icon\"\n [mdiIcon]=\"obs.widgetConfiguration?.icon\"\n ></valtimo-mdi-icon-viewer>\n\n <h4 class=\"custom-widget__title\">{{ obs.widgetConfiguration?.title || '-' }}</h4>\n </div>\n\n <ng-content></ng-content>\n\n <valtimo-widget-action-button\n [widgetConfiguration]=\"obs.widgetConfiguration\"\n [resolvedData]=\"obs.widgetData\"\n ></valtimo-widget-action-button>\n </section>\n\n <div class=\"custom-widget__content\">\n <ng-template #customWidgetContainer></ng-template>\n\n @if (noCustomComponentAvailable()) {\n <valtimo-no-results\n [collapseVertically]=\"true\"\n [description]=\"'widgets.noCustomComponentDescription' | translate\"\n [smallPadding]=\"true\"\n ></valtimo-no-results>\n }\n </div>\n</div>\n", styles: [".custom-widget{padding:24px}.custom-widget__header{display:flex;align-items:center;justify-content:space-between}.custom-widget__title-container{display:flex;align-items:center;gap:8px}.custom-widget__title{color:var(--widget-text-color, var(--cds-text-primary));font-weight:600;font-size:16px;line-height:24px}\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: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: CarbonListModule }, { kind: "component", type: i1.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$
|
|
2130
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetCustomComponent, deps: [{ token: CUSTOM_WIDGET_TOKEN, optional: true }, { token: i0.ChangeDetectorRef }, { token: WidgetLayoutService }, { token: i2$3.DocumentService }, { token: i3$1.PermissionService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2131
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: WidgetCustomComponent, isStandalone: true, selector: "valtimo-widget-custom", inputs: { widgetConfiguration: "widgetConfiguration", widgetData: "widgetData", widgetUuid: "widgetUuid" }, viewQueries: [{ propertyName: "_customWidgetContainerRef", first: true, predicate: ["customWidgetContainer"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n *ngIf=\"{\n widgetConfiguration: widgetConfig$ | async,\n widgetData: widgetData$ | async,\n } as obs\"\n class=\"custom-widget\"\n>\n <section class=\"custom-widget__header\">\n <div class=\"custom-widget__title-container\">\n <valtimo-mdi-icon-viewer\n *ngIf=\"obs.widgetConfiguration?.icon\"\n [mdiIcon]=\"obs.widgetConfiguration?.icon\"\n ></valtimo-mdi-icon-viewer>\n\n <h4 class=\"custom-widget__title\">{{ obs.widgetConfiguration?.title || '-' }}</h4>\n </div>\n\n <ng-content></ng-content>\n\n <valtimo-widget-action-button\n [widgetConfiguration]=\"obs.widgetConfiguration\"\n [resolvedData]=\"obs.widgetData\"\n ></valtimo-widget-action-button>\n </section>\n\n <div class=\"custom-widget__content\">\n <ng-template #customWidgetContainer></ng-template>\n\n @if (noCustomComponentAvailable()) {\n <valtimo-no-results\n [collapseVertically]=\"true\"\n [description]=\"'widgets.noCustomComponentDescription' | translate\"\n [smallPadding]=\"true\"\n ></valtimo-no-results>\n }\n </div>\n</div>\n", styles: [".custom-widget{padding:24px}.custom-widget__header{display:flex;align-items:center;justify-content:space-between}.custom-widget__title-container{display:flex;align-items:center;gap:8px}.custom-widget__title{color:var(--widget-text-color, var(--cds-text-primary));font-weight:600;font-size:16px;line-height:24px}\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: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: CarbonListModule }, { kind: "component", type: i1$1.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: WidgetActionButtonComponent, selector: "valtimo-widget-action-button", inputs: ["widgetConfiguration", "resolvedData"] }, { kind: "component", type: MdiIconViewerComponent, selector: "valtimo-mdi-icon-viewer", inputs: ["mdiIcon"] }, { kind: "ngmodule", type: LayerModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2068
2132
|
}
|
|
2069
2133
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetCustomComponent, decorators: [{
|
|
2070
2134
|
type: Component,
|
|
@@ -2082,7 +2146,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
2082
2146
|
}, {
|
|
2083
2147
|
type: Inject,
|
|
2084
2148
|
args: [CUSTOM_WIDGET_TOKEN]
|
|
2085
|
-
}] }, { type: i0.ChangeDetectorRef }, { type: WidgetLayoutService }, { type: i2$
|
|
2149
|
+
}] }, { type: i0.ChangeDetectorRef }, { type: WidgetLayoutService }, { type: i2$3.DocumentService }, { type: i3$1.PermissionService }], propDecorators: { _customWidgetContainerRef: [{
|
|
2086
2150
|
type: ViewChild,
|
|
2087
2151
|
args: ['customWidgetContainer', { read: ViewContainerRef }]
|
|
2088
2152
|
}], widgetConfiguration: [{
|
|
@@ -2131,6 +2195,9 @@ class WidgetBlockComponent {
|
|
|
2131
2195
|
get widget$() {
|
|
2132
2196
|
return this._widget$.pipe(filter$1(widget => widget !== null));
|
|
2133
2197
|
}
|
|
2198
|
+
get widgetTypeAttr() {
|
|
2199
|
+
return this._widget$.value?.type ?? null;
|
|
2200
|
+
}
|
|
2134
2201
|
get _viewContainerRef$() {
|
|
2135
2202
|
return this._viewContainerRefSubject$.pipe(filter$1(ref => !!ref));
|
|
2136
2203
|
}
|
|
@@ -2146,7 +2213,8 @@ class WidgetBlockComponent {
|
|
|
2146
2213
|
this.blockHeightPx$ = combineLatest([
|
|
2147
2214
|
this._contentHeight$,
|
|
2148
2215
|
this._viewContainerRef$,
|
|
2149
|
-
|
|
2216
|
+
this.widget$,
|
|
2217
|
+
]).pipe(filter$1(([contentHeight]) => contentHeight !== 0), tap(([contentHeight, viewRef, widget]) => {
|
|
2150
2218
|
const blockHeight = Math.ceil((contentHeight + 16) / WIDGET_HEIGHT_1X) * WIDGET_HEIGHT_1X;
|
|
2151
2219
|
this.renderer.setStyle(viewRef.element.nativeElement, 'height', `${blockHeight}px`);
|
|
2152
2220
|
this.widgetLayoutService.triggerMuuriLayout();
|
|
@@ -2206,18 +2274,22 @@ class WidgetBlockComponent {
|
|
|
2206
2274
|
const colorKey = widgetConfiguration.color ?? WidgetColor.WHITE;
|
|
2207
2275
|
const widgetColor = WIDGET_COLOR_THEME_MAP[colorKey] ?? WIDGET_COLOR_THEME_MAP[WidgetColor.WHITE];
|
|
2208
2276
|
const themeType = this.isLightTheme(theme) ? 'light' : 'dark';
|
|
2209
|
-
|
|
2277
|
+
const variant = widgetColor[themeType] ?? WIDGET_COLOR_THEME_MAP[WidgetColor.WHITE][themeType];
|
|
2278
|
+
if (widgetConfiguration.type === WidgetType.HIGHLIGHT) {
|
|
2279
|
+
return { text: null, background: null, layer: null, accent: variant.accent };
|
|
2280
|
+
}
|
|
2281
|
+
return variant;
|
|
2210
2282
|
}
|
|
2211
2283
|
isLightTheme(theme) {
|
|
2212
2284
|
return theme === CARBON_THEME.G10 || theme === CARBON_THEME.WHITE;
|
|
2213
2285
|
}
|
|
2214
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetBlockComponent, deps: [{ token: WidgetLayoutService }, { token: i2.ActivatedRoute }, { token: i1.CdsThemeService }, { token: i0.Renderer2 }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2215
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: WidgetBlockComponent, isStandalone: true, selector: "valtimo-widget-block", inputs: { widget: "widget", widgetComponentMap: "widgetComponentMap", widgetParams: "widgetParams" }, viewQueries: [{ propertyName: "_widgetBlockContentRef", first: true, predicate: ["widgetBlockContent"], descendants: true }, { propertyName: "dynamicContainer", first: true, predicate: ["widgetComponent"], descendants: true, read: ViewContainerRef, static: 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@let widgetColors = widgetColors$ | async;\n\n<div\n class=\"widget-block\"\n [attr.data-carbon-theme]=\"theme$ | async\"\n [style.--widget-background-color]=\"widgetColors?.background\"\n [style.--widget-layer-color]=\"widgetColors?.layer\"\n [style.--widget-text-color]=\"widgetColors?.text\"\n [style.--widget-accent-color]=\"widgetColors?.accent\"\n>\n <div #widgetBlockContent class=\"widget-block__content\">\n <ng-template #widgetComponent></ng-template>\n </div>\n</div>\n\n<ng-container\n *ngIf=\"{\n documentId: documentId$ | async,\n widgetConfiguration: widget$ | async,\n theme: theme$ | async,\n blockHeightPx: blockHeightPx$ | async,\n blockWidthPercentage: blockWidthPercentage$ | async,\n } as obs\"\n></ng-container>\n", styles: [":host{display:block;position:absolute}.widget-block{width:100%;height:100%;box-sizing:border-box;padding:8px;overflow-wrap:break-word;background-color:var(--widget-background-color, var(--cds-layer-01));background-clip:content-box;color:var(--widget-text-color, var(--cds-text-primary))}.widget-block__not-available{padding:16px}\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: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: LoadingModule }, { kind: "ngmodule", type: CarbonListModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: TilesModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2286
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetBlockComponent, deps: [{ token: WidgetLayoutService }, { token: i2$1.ActivatedRoute }, { token: i1$1.CdsThemeService }, { token: i0.Renderer2 }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2287
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: WidgetBlockComponent, isStandalone: true, selector: "valtimo-widget-block", inputs: { widget: "widget", widgetComponentMap: "widgetComponentMap", widgetParams: "widgetParams" }, host: { properties: { "attr.data-widget-type": "this.widgetTypeAttr" } }, viewQueries: [{ propertyName: "_widgetBlockContentRef", first: true, predicate: ["widgetBlockContent"], descendants: true }, { propertyName: "dynamicContainer", first: true, predicate: ["widgetComponent"], descendants: true, read: ViewContainerRef, static: 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@let widgetColors = widgetColors$ | async;\n\n<div\n class=\"widget-block\"\n [attr.data-carbon-theme]=\"theme$ | async\"\n [style.--widget-background-color]=\"widgetColors?.background\"\n [style.--widget-layer-color]=\"widgetColors?.layer\"\n [style.--widget-text-color]=\"widgetColors?.text\"\n [style.--widget-accent-color]=\"widgetColors?.accent\"\n>\n <div #widgetBlockContent class=\"widget-block__content\">\n <ng-template #widgetComponent></ng-template>\n </div>\n</div>\n\n<ng-container\n *ngIf=\"{\n documentId: documentId$ | async,\n widgetConfiguration: widget$ | async,\n theme: theme$ | async,\n blockHeightPx: blockHeightPx$ | async,\n blockWidthPercentage: blockWidthPercentage$ | async,\n } as obs\"\n></ng-container>\n", styles: [":host{display:block;position:absolute}:host[data-widget-type=highlight] .widget-block__content{height:100%}.widget-block{width:100%;height:100%;box-sizing:border-box;padding:8px;overflow-wrap:break-word;background-color:var(--widget-background-color, var(--cds-layer-01));background-clip:content-box;color:var(--widget-text-color, var(--cds-text-primary))}.widget-block__not-available{padding:16px}\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: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: LoadingModule }, { kind: "ngmodule", type: CarbonListModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: TilesModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2216
2288
|
}
|
|
2217
2289
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetBlockComponent, decorators: [{
|
|
2218
2290
|
type: Component,
|
|
2219
|
-
args: [{ selector: 'valtimo-widget-block', standalone: true, imports: [CommonModule, LoadingModule, CarbonListModule, TranslateModule, TilesModule], 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@let widgetColors = widgetColors$ | async;\n\n<div\n class=\"widget-block\"\n [attr.data-carbon-theme]=\"theme$ | async\"\n [style.--widget-background-color]=\"widgetColors?.background\"\n [style.--widget-layer-color]=\"widgetColors?.layer\"\n [style.--widget-text-color]=\"widgetColors?.text\"\n [style.--widget-accent-color]=\"widgetColors?.accent\"\n>\n <div #widgetBlockContent class=\"widget-block__content\">\n <ng-template #widgetComponent></ng-template>\n </div>\n</div>\n\n<ng-container\n *ngIf=\"{\n documentId: documentId$ | async,\n widgetConfiguration: widget$ | async,\n theme: theme$ | async,\n blockHeightPx: blockHeightPx$ | async,\n blockWidthPercentage: blockWidthPercentage$ | async,\n } as obs\"\n></ng-container>\n", styles: [":host{display:block;position:absolute}.widget-block{width:100%;height:100%;box-sizing:border-box;padding:8px;overflow-wrap:break-word;background-color:var(--widget-background-color, var(--cds-layer-01));background-clip:content-box;color:var(--widget-text-color, var(--cds-text-primary))}.widget-block__not-available{padding:16px}\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"] }]
|
|
2220
|
-
}], ctorParameters: () => [{ type: WidgetLayoutService }, { type: i2.ActivatedRoute }, { type: i1.CdsThemeService }, { type: i0.Renderer2 }, { type: i0.ViewContainerRef }], propDecorators: { _widgetBlockContentRef: [{
|
|
2291
|
+
args: [{ selector: 'valtimo-widget-block', standalone: true, imports: [CommonModule, LoadingModule, CarbonListModule, TranslateModule, TilesModule], 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@let widgetColors = widgetColors$ | async;\n\n<div\n class=\"widget-block\"\n [attr.data-carbon-theme]=\"theme$ | async\"\n [style.--widget-background-color]=\"widgetColors?.background\"\n [style.--widget-layer-color]=\"widgetColors?.layer\"\n [style.--widget-text-color]=\"widgetColors?.text\"\n [style.--widget-accent-color]=\"widgetColors?.accent\"\n>\n <div #widgetBlockContent class=\"widget-block__content\">\n <ng-template #widgetComponent></ng-template>\n </div>\n</div>\n\n<ng-container\n *ngIf=\"{\n documentId: documentId$ | async,\n widgetConfiguration: widget$ | async,\n theme: theme$ | async,\n blockHeightPx: blockHeightPx$ | async,\n blockWidthPercentage: blockWidthPercentage$ | async,\n } as obs\"\n></ng-container>\n", styles: [":host{display:block;position:absolute}:host[data-widget-type=highlight] .widget-block__content{height:100%}.widget-block{width:100%;height:100%;box-sizing:border-box;padding:8px;overflow-wrap:break-word;background-color:var(--widget-background-color, var(--cds-layer-01));background-clip:content-box;color:var(--widget-text-color, var(--cds-text-primary))}.widget-block__not-available{padding:16px}\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"] }]
|
|
2292
|
+
}], ctorParameters: () => [{ type: WidgetLayoutService }, { type: i2$1.ActivatedRoute }, { type: i1$1.CdsThemeService }, { type: i0.Renderer2 }, { type: i0.ViewContainerRef }], propDecorators: { _widgetBlockContentRef: [{
|
|
2221
2293
|
type: ViewChild,
|
|
2222
2294
|
args: ['widgetBlockContent']
|
|
2223
2295
|
}], dynamicContainer: [{
|
|
@@ -2230,6 +2302,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
2230
2302
|
}], widgetParams: [{
|
|
2231
2303
|
type: Input,
|
|
2232
2304
|
args: [{ required: false }]
|
|
2305
|
+
}], widgetTypeAttr: [{
|
|
2306
|
+
type: HostBinding,
|
|
2307
|
+
args: ['attr.data-widget-type']
|
|
2233
2308
|
}] } });
|
|
2234
2309
|
|
|
2235
2310
|
/*
|
|
@@ -2332,7 +2407,7 @@ class WidgetContainerComponent {
|
|
|
2332
2407
|
});
|
|
2333
2408
|
}
|
|
2334
2409
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetContainerComponent, deps: [{ token: WidgetLayoutService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2335
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: WidgetContainerComponent, isStandalone: true, selector: "valtimo-widget-container", inputs: { widgets: "widgets", widgetComponentMap: "widgetComponentMap", widgetParams: "widgetParams" }, providers: [WidgetLayoutService], viewQueries: [{ propertyName: "_widgetsContainerRef", first: true, predicate: ["widgetsContainer"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n loadingWidgetConfiguration: loadingWidgetConfiguration$ | async,\n widgets: widgetsWithUuids$ | async,\n loaded: loaded$ | async,\n } as obs\"\n>\n <ng-container\n *ngIf=\"{\n noWidgetsConfigured: obs.widgets && obs.widgets.length === 0,\n } as vars\"\n >\n @if (!obs.loaded && !vars.noWidgetsConfigured) {\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n }\n\n @if (vars.noWidgetsConfigured) {\n <valtimo-no-results\n [title]=\"'widgets.noWidgets' | translate\"\n [description]=\"'widgets.noWidgetsDescription' | translate\"\n illustration=\"valtimo-layout/img/no-widgets.svg\"\n ></valtimo-no-results>\n }\n\n <div [style.visibility]=\"!obs.loaded ? 'hidden' : 'visible'\">\n <div #widgetsContainer class=\"widgets-container\">\n @for (widget of (widgetsWithUuids$ | async) || []; track widget.uuid) {\n <valtimo-widget-block\n [widget]=\"widget\"\n [widgetComponentMap]=\"widgetComponentMap$ | async\"\n [widgetParams]=\"widgetParams\"\n ></valtimo-widget-block>\n }\n </div>\n </div>\n </ng-container>\n</ng-container>\n", styles: [".widgets-container{position:relative;width:calc(100% + 16px);margin-left:-8px;margin-top:-8px;padding-bottom:32px;box-sizing:content-box}.loading-container{display:flex;justify-content:center;padding:16px 0}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "component", type: WidgetBlockComponent, selector: "valtimo-widget-block", inputs: ["widget", "widgetComponentMap", "widgetParams"] }, { kind: "ngmodule", type: LoadingModule }, { kind: "component", type: i3.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "ngmodule", type: CarbonListModule }, { kind: "component", type: i1.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2410
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: WidgetContainerComponent, isStandalone: true, selector: "valtimo-widget-container", inputs: { widgets: "widgets", widgetComponentMap: "widgetComponentMap", widgetParams: "widgetParams" }, providers: [WidgetLayoutService], viewQueries: [{ propertyName: "_widgetsContainerRef", first: true, predicate: ["widgetsContainer"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n loadingWidgetConfiguration: loadingWidgetConfiguration$ | async,\n widgets: widgetsWithUuids$ | async,\n loaded: loaded$ | async,\n } as obs\"\n>\n <ng-container\n *ngIf=\"{\n noWidgetsConfigured: obs.widgets && obs.widgets.length === 0,\n } as vars\"\n >\n @if (!obs.loaded && !vars.noWidgetsConfigured) {\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n }\n\n @if (vars.noWidgetsConfigured) {\n <valtimo-no-results\n [title]=\"'widgets.noWidgets' | translate\"\n [description]=\"'widgets.noWidgetsDescription' | translate\"\n illustration=\"valtimo-layout/img/no-widgets.svg\"\n ></valtimo-no-results>\n }\n\n <div [style.visibility]=\"!obs.loaded ? 'hidden' : 'visible'\">\n <div #widgetsContainer class=\"widgets-container\">\n @for (widget of (widgetsWithUuids$ | async) || []; track widget.uuid) {\n <valtimo-widget-block\n [widget]=\"widget\"\n [widgetComponentMap]=\"widgetComponentMap$ | async\"\n [widgetParams]=\"widgetParams\"\n ></valtimo-widget-block>\n }\n </div>\n </div>\n </ng-container>\n</ng-container>\n", styles: [".widgets-container{position:relative;width:calc(100% + 16px);margin-left:-8px;margin-top:-8px;padding-bottom:32px;box-sizing:content-box}.loading-container{display:flex;justify-content:center;padding:16px 0}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "component", type: WidgetBlockComponent, selector: "valtimo-widget-block", inputs: ["widget", "widgetComponentMap", "widgetParams"] }, { kind: "ngmodule", type: LoadingModule }, { kind: "component", type: i3.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "ngmodule", type: CarbonListModule }, { kind: "component", type: i1$1.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2336
2411
|
}
|
|
2337
2412
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetContainerComponent, decorators: [{
|
|
2338
2413
|
type: Component,
|
|
@@ -2472,7 +2547,7 @@ class WidgetManagementDividerModalComponent {
|
|
|
2472
2547
|
}
|
|
2473
2548
|
}
|
|
2474
2549
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetManagementDividerModalComponent, deps: [{ token: i1$3.FormBuilder }, { token: i3.IconService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2475
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: WidgetManagementDividerModalComponent, isStandalone: true, selector: "valtimo-widget-management-divider-modal", inputs: { modalMode: "modalMode", open: "open", widgets: "widgets", usedKeys: "usedKeys", prefillData: "prefillData" }, outputs: { closeEvent: "closeEvent" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<cds-modal valtimoCdsModal showFooter=\"true\" [open]=\"open\" (close)=\"onCloseModal()\">\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onCloseModal()\">\n <h3 cdsModalHeaderHeading>\n {{ 'widgetTabManagement.list.dividerModal.' + modalMode + 'DividerTitle' | translate }}\n </h3>\n </cds-modal-header>\n\n <form [formGroup]=\"dividerForm\" cdsModalContent>\n <cds-label>\n {{ 'widgetTabManagement.list.dividerModal.dividerTitleLabel' | translate }}\n\n <input\n class=\"title-input\"\n formControlName=\"title\"\n cdsText\n [attr.data-test-id]=\"testIds.titleInput\"\n placeholder=\"{{\n 'widgetTabManagement.list.dividerModal.dividerTitlePlaceholder' | translate\n }}\"\n [cdsLayer]=\"1\"\n [attr.modal-primary-focus]=\"true\"\n (keyup)=\"onFocusOut()\"\n />\n </cds-label>\n\n <valtimo-auto-key-input\n [mode]=\"modalMode\"\n [usedKeys]=\"usedKeys\"\n [sourceText]=\"title.value\"\n formControlName=\"key\"\n labelTranslationKey=\"widgetTabManagement.list.dividerModal.dividerKeyLabel\"\n placeholderTranslationKey=\"widgetTabManagement.list.dividerModal.dividerKeyPlaceholder\"\n >\n </valtimo-auto-key-input>\n </form>\n\n <cds-modal-footer>\n <button [attr.data-test-id]=\"testIds.cancelButton\" cdsButton=\"secondary\" (click)=\"onCloseModal()\">\n {{ 'caseManagement.allVersionsModal.closeButton' | translate }}\n </button>\n\n <button [attr.data-test-id]=\"testIds.createButton\" [disabled]=\"!dividerForm.valid\" cdsButton=\"primary\" (click)=\"onCloseModal(true)\">\n {{ buttonLabel | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n", styles: [".divider-key-wrapper{display:flex;flex:1 1 auto;inline-size:100%}.title-input{margin-bottom:32px}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$
|
|
2550
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: WidgetManagementDividerModalComponent, isStandalone: true, selector: "valtimo-widget-management-divider-modal", inputs: { modalMode: "modalMode", open: "open", widgets: "widgets", usedKeys: "usedKeys", prefillData: "prefillData" }, outputs: { closeEvent: "closeEvent" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<cds-modal valtimoCdsModal showFooter=\"true\" [open]=\"open\" (close)=\"onCloseModal()\">\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onCloseModal()\">\n <h3 cdsModalHeaderHeading>\n {{ 'widgetTabManagement.list.dividerModal.' + modalMode + 'DividerTitle' | translate }}\n </h3>\n </cds-modal-header>\n\n <form [formGroup]=\"dividerForm\" cdsModalContent>\n <cds-label>\n {{ 'widgetTabManagement.list.dividerModal.dividerTitleLabel' | translate }}\n\n <input\n class=\"title-input\"\n formControlName=\"title\"\n cdsText\n [attr.data-test-id]=\"testIds.titleInput\"\n placeholder=\"{{\n 'widgetTabManagement.list.dividerModal.dividerTitlePlaceholder' | translate\n }}\"\n [cdsLayer]=\"1\"\n [attr.modal-primary-focus]=\"true\"\n (keyup)=\"onFocusOut()\"\n />\n </cds-label>\n\n <valtimo-auto-key-input\n [mode]=\"modalMode\"\n [usedKeys]=\"usedKeys\"\n [sourceText]=\"title.value\"\n formControlName=\"key\"\n labelTranslationKey=\"widgetTabManagement.list.dividerModal.dividerKeyLabel\"\n placeholderTranslationKey=\"widgetTabManagement.list.dividerModal.dividerKeyPlaceholder\"\n >\n </valtimo-auto-key-input>\n </form>\n\n <cds-modal-footer>\n <button [attr.data-test-id]=\"testIds.cancelButton\" cdsButton=\"secondary\" (click)=\"onCloseModal()\">\n {{ 'caseManagement.allVersionsModal.closeButton' | translate }}\n </button>\n\n <button [attr.data-test-id]=\"testIds.createButton\" [disabled]=\"!dividerForm.valid\" cdsButton=\"primary\" (click)=\"onCloseModal(true)\">\n {{ buttonLabel | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n", styles: [".divider-key-wrapper{display:flex;flex:1 1 auto;inline-size:100%}.title-input{margin-bottom:32px}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ModalModule }, { kind: "component", type: i3.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i3.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i3.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i3.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i3.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i3.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: IconModule }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i3.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i3.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.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$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: LayerModule }, { kind: "directive", type: i3.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "component", type: AutoKeyInputComponent, selector: "valtimo-auto-key-input", inputs: ["labelTranslationKey", "placeholderTranslationKey", "mode", "usedKeys", "sourceText"] }] }); }
|
|
2476
2551
|
}
|
|
2477
2552
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetManagementDividerModalComponent, decorators: [{
|
|
2478
2553
|
type: Component,
|
|
@@ -2583,8 +2658,8 @@ class WidgetManagementProcessSelectorComponent {
|
|
|
2583
2658
|
else
|
|
2584
2659
|
nameFormControl.enable();
|
|
2585
2660
|
}
|
|
2586
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetManagementProcessSelectorComponent, deps: [{ token: i1.CdsThemeService }, { token: i2$
|
|
2587
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: WidgetManagementProcessSelectorComponent, isStandalone: true, selector: "valtimo-widget-management-process-selector", 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<form\n [attr.data-carbon-theme]=\"theme$ | async\"\n [formGroup]=\"formGroup\"\n class=\"valtimo-widget-management-process-selector\"\n>\n <cds-combo-box\n class=\"test\"\n [label]=\"'widgetTabManagement.processes.selectorLabel' | translate\"\n [items]=\"(processDefinitionItems$ | async) || []\"\n [dropUp]=\"false\"\n [placeholder]=\"'widgetTabManagement.processes.selectorPlaceholder' | translate\"\n formControlName=\"processDefinition\"\n (selected)=\"onProcessSelected($event)\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n\n <cds-text-label>\n {{ 'widgetTabManagement.processes.buttonTextLabel' | translate }}\n\n <input\n cdsText\n type=\"text\"\n formControlName=\"name\"\n [placeholder]=\"'widgetTabManagement.processes.buttonTextPlaceholder' | translate\"\n />\n </cds-text-label>\n</form>\n", styles: [".valtimo-widget-management-process-selector{display:grid;grid-template-columns:1fr 1fr;align-items:flex-end;gap:16px}.valtimo-widget-management-process-selector ::ng-deep .cds--text-input,.valtimo-widget-management-process-selector ::ng-deep .cds--list-box{background:var(--cds-layer-01)!important}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$
|
|
2661
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetManagementProcessSelectorComponent, deps: [{ token: i1$1.CdsThemeService }, { token: i2$3.DocumentService }, { token: i1$3.FormBuilder }, { token: WidgetWizardService }, { token: WIDGET_MANAGEMENT_SERVICE }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2662
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: WidgetManagementProcessSelectorComponent, isStandalone: true, selector: "valtimo-widget-management-process-selector", 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<form\n [attr.data-carbon-theme]=\"theme$ | async\"\n [formGroup]=\"formGroup\"\n class=\"valtimo-widget-management-process-selector\"\n>\n <cds-combo-box\n class=\"test\"\n [label]=\"'widgetTabManagement.processes.selectorLabel' | translate\"\n [items]=\"(processDefinitionItems$ | async) || []\"\n [dropUp]=\"false\"\n [placeholder]=\"'widgetTabManagement.processes.selectorPlaceholder' | translate\"\n formControlName=\"processDefinition\"\n (selected)=\"onProcessSelected($event)\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n\n <cds-text-label>\n {{ 'widgetTabManagement.processes.buttonTextLabel' | translate }}\n\n <input\n cdsText\n type=\"text\"\n formControlName=\"name\"\n [placeholder]=\"'widgetTabManagement.processes.buttonTextPlaceholder' | translate\"\n />\n </cds-text-label>\n</form>\n", styles: [".valtimo-widget-management-process-selector{display:grid;grid-template-columns:1fr 1fr;align-items:flex-end;gap:16px}.valtimo-widget-management-process-selector ::ng-deep .cds--text-input,.valtimo-widget-management-process-selector ::ng-deep .cds--list-box{background:var(--cds-layer-01)!important}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i3.TextInputLabelComponent, selector: "cds-text-label, ibm-text-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "textInputTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel", "fluid"] }, { kind: "directive", type: i3.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.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$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: ComboBoxModule }, { kind: "component", type: i3.ComboBox, selector: "cds-combo-box, ibm-combo-box", inputs: ["placeholder", "openMenuAria", "closeMenuAria", "clearSelectionsTitle", "clearSelectionsAria", "clearSelectionTitle", "clearSelectionAria", "id", "labelId", "items", "type", "size", "itemValueKey", "label", "hideLabel", "helperText", "appendInline", "invalid", "invalidText", "warn", "warnText", "maxLength", "theme", "selectionFeedback", "autocomplete", "dropUp", "disabled", "readonly", "fluid"], outputs: ["selected", "submit", "close", "search", "clear"] }, { kind: "component", type: i7.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "ngmodule", type: LayerModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2588
2663
|
}
|
|
2589
2664
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetManagementProcessSelectorComponent, decorators: [{
|
|
2590
2665
|
type: Component,
|
|
@@ -2596,7 +2671,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
2596
2671
|
ComboBoxModule,
|
|
2597
2672
|
LayerModule,
|
|
2598
2673
|
], 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<form\n [attr.data-carbon-theme]=\"theme$ | async\"\n [formGroup]=\"formGroup\"\n class=\"valtimo-widget-management-process-selector\"\n>\n <cds-combo-box\n class=\"test\"\n [label]=\"'widgetTabManagement.processes.selectorLabel' | translate\"\n [items]=\"(processDefinitionItems$ | async) || []\"\n [dropUp]=\"false\"\n [placeholder]=\"'widgetTabManagement.processes.selectorPlaceholder' | translate\"\n formControlName=\"processDefinition\"\n (selected)=\"onProcessSelected($event)\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n\n <cds-text-label>\n {{ 'widgetTabManagement.processes.buttonTextLabel' | translate }}\n\n <input\n cdsText\n type=\"text\"\n formControlName=\"name\"\n [placeholder]=\"'widgetTabManagement.processes.buttonTextPlaceholder' | translate\"\n />\n </cds-text-label>\n</form>\n", styles: [".valtimo-widget-management-process-selector{display:grid;grid-template-columns:1fr 1fr;align-items:flex-end;gap:16px}.valtimo-widget-management-process-selector ::ng-deep .cds--text-input,.valtimo-widget-management-process-selector ::ng-deep .cds--list-box{background:var(--cds-layer-01)!important}\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"] }]
|
|
2599
|
-
}], ctorParameters: () => [{ type: i1.CdsThemeService }, { type: i2$
|
|
2674
|
+
}], ctorParameters: () => [{ type: i1$1.CdsThemeService }, { type: i2$3.DocumentService }, { type: i1$3.FormBuilder }, { type: WidgetWizardService }, { type: undefined, decorators: [{
|
|
2600
2675
|
type: Inject,
|
|
2601
2676
|
args: [WIDGET_MANAGEMENT_SERVICE]
|
|
2602
2677
|
}] }] });
|
|
@@ -2645,6 +2720,7 @@ class WidgetManagementActionButtonComponent {
|
|
|
2645
2720
|
this.formGroup = this.fb.group({
|
|
2646
2721
|
navigateTo: this.fb.control(this.widgetWizardService.$widgetActions()?.[0]?.navigateTo ?? '', Validators.required),
|
|
2647
2722
|
name: this.fb.control(this.widgetWizardService.$widgetActions()?.[0]?.name ?? '', Validators.required),
|
|
2723
|
+
openInNewTab: this.fb.control(this.widgetWizardService.$widgetActions()?.[0]?.openInNewTab ?? false),
|
|
2648
2724
|
});
|
|
2649
2725
|
this._subscriptions = new Subscription();
|
|
2650
2726
|
}
|
|
@@ -2660,6 +2736,7 @@ class WidgetManagementActionButtonComponent {
|
|
|
2660
2736
|
this.formGroup.reset({
|
|
2661
2737
|
name: '',
|
|
2662
2738
|
navigateTo: '',
|
|
2739
|
+
openInNewTab: false,
|
|
2663
2740
|
}, { emitEvent: false });
|
|
2664
2741
|
}
|
|
2665
2742
|
formContentValidator() {
|
|
@@ -2689,23 +2766,25 @@ class WidgetManagementActionButtonComponent {
|
|
|
2689
2766
|
{
|
|
2690
2767
|
name: action.name,
|
|
2691
2768
|
navigateTo: action.navigateTo,
|
|
2769
|
+
...(action.openInNewTab ? { openInNewTab: true } : {}),
|
|
2692
2770
|
},
|
|
2693
2771
|
]);
|
|
2694
2772
|
}));
|
|
2695
2773
|
}
|
|
2696
2774
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetManagementActionButtonComponent, deps: [{ token: i1$3.FormBuilder }, { token: WidgetWizardService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2697
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: WidgetManagementActionButtonComponent, isStandalone: true, selector: "valtimo-widget-management-action-button", host: { properties: { "class": "this.class" } }, 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@if ($widgetContext() === 'case') {\n <cds-dropdown\n class=\"valtimo-widget-management-action-button__type\"\n [label]=\"'widgetTabManagement.actionButtonLabel' | translate\"\n [dropUp]=\"false\"\n (selected)=\"onTypeSelected($event)\"\n >\n <cds-dropdown-list [items]=\"dropdownItems$ | async\"></cds-dropdown-list>\n </cds-dropdown>\n}\n\n@if ((buttonType$ | async) === 'process') {\n <valtimo-widget-management-process-selector></valtimo-widget-management-process-selector>\n} @else {\n <form class=\"valtimo-widget-management-action-button__form\" [formGroup]=\"formGroup\">\n <cds-text-label>\n {{ 'widgetTabManagement.externalLink.linkLabel' | translate }}\n\n <input\n cdsText\n formControlName=\"navigateTo\"\n [placeholder]=\"'widgetTabManagement.externalLink.linkPlaceholder' | translate\"\n />\n </cds-text-label>\n\n <cds-text-label>\n {{ 'widgetTabManagement.externalLink.buttonTextLabel' | translate }}\n\n <input\n cdsText\n formControlName=\"name\"\n [placeholder]=\"'widgetTabManagement.externalLink.buttonTextPlaceholder' | translate\"\n />\n </cds-text-label>\n </form>\n}\n", styles: [".valtimo-widget-management-action-button{padding:12px 0 16px 16px;background:var(--cds-layer);display:flex;gap:16px}.valtimo-widget-management-action-button valtimo-widget-management-process-selector{padding-right:16px;width:100%}.valtimo-widget-management-action-button__type .cds--list-box,.valtimo-widget-management-action-button__form .cds--text-input{background:var(--cds-layer-02)}.valtimo-widget-management-action-button__type{width:300px}.valtimo-widget-management-action-button__form{padding-right:16px;display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:flex-end;width: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: "ngmodule", type: CommonModule }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "component", type: WidgetManagementProcessSelectorComponent, selector: "valtimo-widget-management-process-selector" }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i7.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: i7.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i3.TextInputLabelComponent, selector: "cds-text-label, ibm-text-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "textInputTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel", "fluid"] }, { kind: "directive", type: i3.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.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$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$
|
|
2775
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: WidgetManagementActionButtonComponent, isStandalone: true, selector: "valtimo-widget-management-action-button", host: { properties: { "class": "this.class" } }, 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@if ($widgetContext() === 'case') {\n <cds-dropdown\n class=\"valtimo-widget-management-action-button__type\"\n [label]=\"'widgetTabManagement.actionButtonLabel' | translate\"\n [dropUp]=\"false\"\n (selected)=\"onTypeSelected($event)\"\n >\n <cds-dropdown-list [items]=\"dropdownItems$ | async\"></cds-dropdown-list>\n </cds-dropdown>\n}\n\n@if ((buttonType$ | async) === 'process') {\n <valtimo-widget-management-process-selector></valtimo-widget-management-process-selector>\n} @else {\n <form class=\"valtimo-widget-management-action-button__form\" [formGroup]=\"formGroup\">\n <cds-text-label>\n {{ 'widgetTabManagement.externalLink.linkLabel' | translate }}\n\n <input\n cdsText\n formControlName=\"navigateTo\"\n [placeholder]=\"'widgetTabManagement.externalLink.linkPlaceholder' | translate\"\n />\n </cds-text-label>\n\n <cds-text-label>\n {{ 'widgetTabManagement.externalLink.buttonTextLabel' | translate }}\n\n <input\n cdsText\n formControlName=\"name\"\n [placeholder]=\"'widgetTabManagement.externalLink.buttonTextPlaceholder' | translate\"\n />\n </cds-text-label>\n\n <cds-checkbox formControlName=\"openInNewTab\">\n {{ 'widgetTabManagement.externalLink.openInNewTabLabel' | translate }}\n </cds-checkbox>\n </form>\n}\n", styles: [".valtimo-widget-management-action-button{padding:12px 0 16px 16px;background:var(--cds-layer);display:flex;gap:16px}.valtimo-widget-management-action-button valtimo-widget-management-process-selector{padding-right:16px;width:100%}.valtimo-widget-management-action-button__type .cds--list-box,.valtimo-widget-management-action-button__form .cds--text-input{background:var(--cds-layer-02)}.valtimo-widget-management-action-button__type{width:300px}.valtimo-widget-management-action-button__form{padding-right:16px;display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:flex-end;width: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: "ngmodule", type: CommonModule }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "component", type: WidgetManagementProcessSelectorComponent, selector: "valtimo-widget-management-process-selector" }, { kind: "ngmodule", type: CheckboxModule }, { kind: "component", type: i3.Checkbox, selector: "cds-checkbox, ibm-checkbox", inputs: ["disabled", "skeleton", "hideLabel", "name", "id", "required", "value", "ariaLabel", "ariaLabelledby", "indeterminate", "checked"], outputs: ["click", "checkedChange", "indeterminateChange"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i7.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: i7.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i3.TextInputLabelComponent, selector: "cds-text-label, ibm-text-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "textInputTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel", "fluid"] }, { kind: "directive", type: i3.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.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$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
2698
2776
|
}
|
|
2699
2777
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetManagementActionButtonComponent, decorators: [{
|
|
2700
2778
|
type: Component,
|
|
2701
2779
|
args: [{ selector: 'valtimo-widget-management-action-button', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
2702
2780
|
CommonModule,
|
|
2703
2781
|
WidgetManagementProcessSelectorComponent,
|
|
2782
|
+
CheckboxModule,
|
|
2704
2783
|
DropdownModule,
|
|
2705
2784
|
InputModule,
|
|
2706
2785
|
ReactiveFormsModule,
|
|
2707
2786
|
TranslateModule,
|
|
2708
|
-
], 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@if ($widgetContext() === 'case') {\n <cds-dropdown\n class=\"valtimo-widget-management-action-button__type\"\n [label]=\"'widgetTabManagement.actionButtonLabel' | translate\"\n [dropUp]=\"false\"\n (selected)=\"onTypeSelected($event)\"\n >\n <cds-dropdown-list [items]=\"dropdownItems$ | async\"></cds-dropdown-list>\n </cds-dropdown>\n}\n\n@if ((buttonType$ | async) === 'process') {\n <valtimo-widget-management-process-selector></valtimo-widget-management-process-selector>\n} @else {\n <form class=\"valtimo-widget-management-action-button__form\" [formGroup]=\"formGroup\">\n <cds-text-label>\n {{ 'widgetTabManagement.externalLink.linkLabel' | translate }}\n\n <input\n cdsText\n formControlName=\"navigateTo\"\n [placeholder]=\"'widgetTabManagement.externalLink.linkPlaceholder' | translate\"\n />\n </cds-text-label>\n\n <cds-text-label>\n {{ 'widgetTabManagement.externalLink.buttonTextLabel' | translate }}\n\n <input\n cdsText\n formControlName=\"name\"\n [placeholder]=\"'widgetTabManagement.externalLink.buttonTextPlaceholder' | translate\"\n />\n </cds-text-label>\n </form>\n}\n", styles: [".valtimo-widget-management-action-button{padding:12px 0 16px 16px;background:var(--cds-layer);display:flex;gap:16px}.valtimo-widget-management-action-button valtimo-widget-management-process-selector{padding-right:16px;width:100%}.valtimo-widget-management-action-button__type .cds--list-box,.valtimo-widget-management-action-button__form .cds--text-input{background:var(--cds-layer-02)}.valtimo-widget-management-action-button__type{width:300px}.valtimo-widget-management-action-button__form{padding-right:16px;display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:flex-end;width: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"] }]
|
|
2787
|
+
], 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@if ($widgetContext() === 'case') {\n <cds-dropdown\n class=\"valtimo-widget-management-action-button__type\"\n [label]=\"'widgetTabManagement.actionButtonLabel' | translate\"\n [dropUp]=\"false\"\n (selected)=\"onTypeSelected($event)\"\n >\n <cds-dropdown-list [items]=\"dropdownItems$ | async\"></cds-dropdown-list>\n </cds-dropdown>\n}\n\n@if ((buttonType$ | async) === 'process') {\n <valtimo-widget-management-process-selector></valtimo-widget-management-process-selector>\n} @else {\n <form class=\"valtimo-widget-management-action-button__form\" [formGroup]=\"formGroup\">\n <cds-text-label>\n {{ 'widgetTabManagement.externalLink.linkLabel' | translate }}\n\n <input\n cdsText\n formControlName=\"navigateTo\"\n [placeholder]=\"'widgetTabManagement.externalLink.linkPlaceholder' | translate\"\n />\n </cds-text-label>\n\n <cds-text-label>\n {{ 'widgetTabManagement.externalLink.buttonTextLabel' | translate }}\n\n <input\n cdsText\n formControlName=\"name\"\n [placeholder]=\"'widgetTabManagement.externalLink.buttonTextPlaceholder' | translate\"\n />\n </cds-text-label>\n\n <cds-checkbox formControlName=\"openInNewTab\">\n {{ 'widgetTabManagement.externalLink.openInNewTabLabel' | translate }}\n </cds-checkbox>\n </form>\n}\n", styles: [".valtimo-widget-management-action-button{padding:12px 0 16px 16px;background:var(--cds-layer);display:flex;gap:16px}.valtimo-widget-management-action-button valtimo-widget-management-process-selector{padding-right:16px;width:100%}.valtimo-widget-management-action-button__type .cds--list-box,.valtimo-widget-management-action-button__form .cds--text-input{background:var(--cds-layer-02)}.valtimo-widget-management-action-button__type{width:300px}.valtimo-widget-management-action-button__form{padding-right:16px;display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:flex-end;width: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"] }]
|
|
2709
2788
|
}], ctorParameters: () => [{ type: i1$3.FormBuilder }, { type: WidgetWizardService }], propDecorators: { class: [{
|
|
2710
2789
|
type: HostBinding,
|
|
2711
2790
|
args: ['class']
|
|
@@ -2769,6 +2848,10 @@ class WidgetWizardService {
|
|
|
2769
2848
|
[WidgetWizardStep.DISPLAY_CONDITIONS]: this.$widgetConditionsValid(),
|
|
2770
2849
|
}));
|
|
2771
2850
|
this.$widgetWizardStepEnableCondition = computed(() => ({
|
|
2851
|
+
[WidgetWizardStep.WIDTH]: {
|
|
2852
|
+
dependingStep: WidgetWizardStep.TYPE,
|
|
2853
|
+
condition: () => this.$selectedWidget()?.type !== WidgetType.HIGHLIGHT,
|
|
2854
|
+
},
|
|
2772
2855
|
[WidgetWizardStep.DENSITY]: {
|
|
2773
2856
|
dependingStep: WidgetWizardStep.TYPE,
|
|
2774
2857
|
condition: () => {
|
|
@@ -2782,7 +2865,8 @@ class WidgetWizardService {
|
|
|
2782
2865
|
dependingStep: WidgetWizardStep.TYPE,
|
|
2783
2866
|
condition: () => {
|
|
2784
2867
|
const selectedType = this.$selectedWidget()?.type;
|
|
2785
|
-
return !!selectedType &&
|
|
2868
|
+
return (!!selectedType &&
|
|
2869
|
+
[WidgetType.FIELDS, WidgetType.COLLECTION, WidgetType.TABLE].includes(selectedType));
|
|
2786
2870
|
},
|
|
2787
2871
|
},
|
|
2788
2872
|
[WidgetWizardStep.FILTERS]: {
|
|
@@ -2841,8 +2925,6 @@ class WidgetWizardService {
|
|
|
2841
2925
|
this.$widgetFiltersValid.set(false);
|
|
2842
2926
|
this.$editMode.set(false);
|
|
2843
2927
|
this.$widgetDensity.set(null);
|
|
2844
|
-
this.$disableActionButton.set(false);
|
|
2845
|
-
this.$disableTitleInput.set(false);
|
|
2846
2928
|
}, CARBON_CONSTANTS.modalAnimationMs);
|
|
2847
2929
|
}
|
|
2848
2930
|
resetWizardSteps() {
|
|
@@ -2947,7 +3029,7 @@ class WidgetWizardDensityStepComponent {
|
|
|
2947
3029
|
this.widgetWizardService.$widgetDensity.set(event.value);
|
|
2948
3030
|
}
|
|
2949
3031
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetWizardDensityStepComponent, deps: [{ token: WidgetWizardService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2950
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: WidgetWizardDensityStepComponent, isStandalone: true, selector: "ng-component", 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-tile-group\n [multiple]=\"false\"\n (selected)=\"onSelectedEvent($event)\"\n class=\"valtimo-widget-wizard-step__content\"\n>\n <cds-selection-tile\n class=\"valtimo-widget-wizard-step__tile\"\n [attr.data-test-id]=\"testIds.tileDefault\"\n [value]=\"WidgetDensity.DEFAULT\"\n [selected]=\"$widgetDensity() === WidgetDensity.DEFAULT\"\n >\n <h3>{{ 'widgetTabManagement.density.default.title' | translate }}</h3>\n\n <span>{{ 'widgetTabManagement.density.default.description' | translate }}</span>\n\n <img\n src=\"valtimo-layout/img/widget-management/density/default.svg\"\n [alt]=\"'widgetTabManagement.density.default.title' | translate\"\n />\n </cds-selection-tile>\n\n <cds-selection-tile\n class=\"valtimo-widget-wizard-step__tile\"\n [attr.data-test-id]=\"testIds.tileCompact\"\n [value]=\"WidgetDensity.COMPACT\"\n [selected]=\"$widgetDensity() === WidgetDensity.COMPACT\"\n >\n <h3>{{ 'widgetTabManagement.density.compact.title' | translate }}</h3>\n\n <span>{{ 'widgetTabManagement.density.compact.description' | translate }}</span>\n\n <img\n src=\"valtimo-layout/img/widget-management/density/compact.svg\"\n [alt]=\"'widgetTabManagement.density.compact.title' | translate\"\n />\n </cds-selection-tile>\n</cds-tile-group>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$
|
|
3032
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: WidgetWizardDensityStepComponent, isStandalone: true, selector: "ng-component", 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-tile-group\n [multiple]=\"false\"\n (selected)=\"onSelectedEvent($event)\"\n class=\"valtimo-widget-wizard-step__content\"\n>\n <cds-selection-tile\n class=\"valtimo-widget-wizard-step__tile\"\n [attr.data-test-id]=\"testIds.tileDefault\"\n [value]=\"WidgetDensity.DEFAULT\"\n [selected]=\"$widgetDensity() === WidgetDensity.DEFAULT\"\n >\n <h3>{{ 'widgetTabManagement.density.default.title' | translate }}</h3>\n\n <span>{{ 'widgetTabManagement.density.default.description' | translate }}</span>\n\n <img\n src=\"valtimo-layout/img/widget-management/density/default.svg\"\n [alt]=\"'widgetTabManagement.density.default.title' | translate\"\n />\n </cds-selection-tile>\n\n <cds-selection-tile\n class=\"valtimo-widget-wizard-step__tile\"\n [attr.data-test-id]=\"testIds.tileCompact\"\n [value]=\"WidgetDensity.COMPACT\"\n [selected]=\"$widgetDensity() === WidgetDensity.COMPACT\"\n >\n <h3>{{ 'widgetTabManagement.density.compact.title' | translate }}</h3>\n\n <span>{{ 'widgetTabManagement.density.compact.description' | translate }}</span>\n\n <img\n src=\"valtimo-layout/img/widget-management/density/compact.svg\"\n [alt]=\"'widgetTabManagement.density.compact.title' | translate\"\n />\n </cds-selection-tile>\n</cds-tile-group>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: TilesModule }, { kind: "component", type: i3.SelectionTile, selector: "cds-selection-tile, ibm-selection-tile", inputs: ["theme", "id", "selected", "value", "disabled"], outputs: ["change"] }, { kind: "component", type: i3.TileGroup, selector: "cds-tile-group, ibm-tile-group", inputs: ["name", "multiple", "legend"], outputs: ["selected"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2951
3033
|
}
|
|
2952
3034
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetWizardDensityStepComponent, decorators: [{
|
|
2953
3035
|
type: Component,
|
|
@@ -3018,8 +3100,8 @@ class WidgetWizardDisplayConditionsStepComponent {
|
|
|
3018
3100
|
}
|
|
3019
3101
|
this.widgetWizardService.$widgetDisplayConditions.set(this.conditions.value);
|
|
3020
3102
|
}
|
|
3021
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetWizardDisplayConditionsStepComponent, deps: [{ token: i1$3.FormBuilder }, { token: i2$
|
|
3022
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: WidgetWizardDisplayConditionsStepComponent, isStandalone: true, selector: "ng-component", 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-label class=\"conditions-label\">\n {{ 'widgetTabManagement.displayConditions.conditions' | translate }}\n</cds-label>\n\n<valtimo-carbon-multi-input\n [type]=\"$multiInputType()\"\n class=\"valtimo-widget-wizard-condition-step__multi-input\"\n [addRowText]=\"'widgetTabManagement.displayConditions.addCondition' | translate\"\n addButtonType=\"tertiary\"\n [defaultValues]=\"defaultConditionValues$ | async\"\n [dropdownColumnTitle]=\"'widgetTabManagement.displayConditions.operator' | translate\"\n [dropdownItems]=\"operatorItems$ | async\"\n [fullWidth]=\"true\"\n [initialAmountOfRows]=\"0\"\n [keyColumnTitle]=\"'widgetTabManagement.displayConditions.path' | translate\"\n [minimumAmountOfRows]=\"0\"\n [valueColumnTitle]=\"'widgetTabManagement.displayConditions.value' | translate\"\n valuePathSelectorNotation=\"dots\"\n (allValuesValidEvent)=\"onAllConditionsValid($event)\"\n (valueChange)=\"conditionsValueChange($event)\"\n [valuePathSelectorPrefixes]=\"[ValuePathSelectorPrefix.DOC, ValuePathSelectorPrefix.CASE]\"\n [valuePathSelectorShowCaseDefinitionSelector]=\"false\"\n [valuePathSelectorCaseDefinitionKey]=\"(params$ | async)?.caseDefinitionKey\"\n [keyColumnFlex]=\"2\"\n [dropdownColumnFlex]=\"1\"\n [valueColumnFlex]=\"1\"\n></valtimo-carbon-multi-input>\n", styles: [":host{display:flex;flex-direction:column;gap:16px}:host ::ng-deep .v-multi-input__row{padding:12px 16px 16px;background-color:var(--cds-layer-01)}:host ::ng-deep .cds--text-input,:host ::ng-deep .cds--list-box{background:var(--cds-layer-02)}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: CarbonMultiInputModule }, { kind: "component", type: i1.CarbonMultiInputComponent, selector: "valtimo-carbon-multi-input", inputs: ["addRowText", "addButtonType", "addRowTranslationKey", "arbitraryAmountTitles", "arbitraryValueAmount", "defaultValues", "deleteRowText", "deleteRowTranslationKey", "disabled", "dropdownColumnTitle", "dropdownItems", "dropdownWidth", "fullWidth", "hideAddButton", "hideDeleteButton", "initialAmountOfRows", "keyColumnTitle", "margin", "maxRows", "minimumAmountOfRows", "name", "required", "title", "titleTranslationKey", "tooltip", "type", "valueColumnTitle", "valuePathSelectorCaseDefinitionKey", "valuePathSelectorPrefixes", "valuePathSelectorShowCaseDefinitionSelector", "valuePathSelectorNotation", "keyColumnFlex", "dropdownColumnFlex", "valueColumnFlex"], outputs: ["valueChange", "allValuesValidEvent"] }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i3.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: StructuredListModule }, { kind: "ngmodule", type: ToggleModule }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3103
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetWizardDisplayConditionsStepComponent, deps: [{ token: i1$3.FormBuilder }, { token: i2$2.TranslateService }, { token: WidgetWizardService }, { token: i2$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3104
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: WidgetWizardDisplayConditionsStepComponent, isStandalone: true, selector: "ng-component", 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-label class=\"conditions-label\">\n {{ 'widgetTabManagement.displayConditions.conditions' | translate }}\n</cds-label>\n\n<valtimo-carbon-multi-input\n [type]=\"$multiInputType()\"\n class=\"valtimo-widget-wizard-condition-step__multi-input\"\n [addRowText]=\"'widgetTabManagement.displayConditions.addCondition' | translate\"\n addButtonType=\"tertiary\"\n [defaultValues]=\"defaultConditionValues$ | async\"\n [dropdownColumnTitle]=\"'widgetTabManagement.displayConditions.operator' | translate\"\n [dropdownItems]=\"operatorItems$ | async\"\n [fullWidth]=\"true\"\n [initialAmountOfRows]=\"0\"\n [keyColumnTitle]=\"'widgetTabManagement.displayConditions.path' | translate\"\n [minimumAmountOfRows]=\"0\"\n [valueColumnTitle]=\"'widgetTabManagement.displayConditions.value' | translate\"\n valuePathSelectorNotation=\"dots\"\n (allValuesValidEvent)=\"onAllConditionsValid($event)\"\n (valueChange)=\"conditionsValueChange($event)\"\n [valuePathSelectorPrefixes]=\"[ValuePathSelectorPrefix.DOC, ValuePathSelectorPrefix.CASE]\"\n [valuePathSelectorShowCaseDefinitionSelector]=\"false\"\n [valuePathSelectorCaseDefinitionKey]=\"(params$ | async)?.caseDefinitionKey\"\n [keyColumnFlex]=\"2\"\n [dropdownColumnFlex]=\"1\"\n [valueColumnFlex]=\"1\"\n></valtimo-carbon-multi-input>\n", styles: [":host{display:flex;flex-direction:column;gap:16px}:host ::ng-deep .v-multi-input__row{padding:12px 16px 16px;background-color:var(--cds-layer-01)}:host ::ng-deep .cds--text-input,:host ::ng-deep .cds--list-box{background:var(--cds-layer-02)}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: CarbonMultiInputModule }, { kind: "component", type: i1$1.CarbonMultiInputComponent, selector: "valtimo-carbon-multi-input", inputs: ["addRowText", "addButtonType", "addRowTranslationKey", "arbitraryAmountTitles", "arbitraryValueAmount", "defaultValues", "deleteRowText", "deleteRowTranslationKey", "disabled", "dropdownColumnTitle", "dropdownItems", "dropdownWidth", "fullWidth", "hideAddButton", "hideDeleteButton", "initialAmountOfRows", "keyColumnTitle", "margin", "maxRows", "minimumAmountOfRows", "name", "required", "title", "titleTranslationKey", "tooltip", "type", "valueColumnTitle", "valuePathSelectorCaseDefinitionKey", "valuePathSelectorPrefixes", "valuePathSelectorShowCaseDefinitionSelector", "valuePathSelectorNotation", "keyColumnFlex", "dropdownColumnFlex", "valueColumnFlex"], outputs: ["valueChange", "allValuesValidEvent"] }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i3.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: StructuredListModule }, { kind: "ngmodule", type: ToggleModule }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3023
3105
|
}
|
|
3024
3106
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetWizardDisplayConditionsStepComponent, decorators: [{
|
|
3025
3107
|
type: Component,
|
|
@@ -3034,7 +3116,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
3034
3116
|
ToggleModule,
|
|
3035
3117
|
TranslatePipe,
|
|
3036
3118
|
], 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-label class=\"conditions-label\">\n {{ 'widgetTabManagement.displayConditions.conditions' | translate }}\n</cds-label>\n\n<valtimo-carbon-multi-input\n [type]=\"$multiInputType()\"\n class=\"valtimo-widget-wizard-condition-step__multi-input\"\n [addRowText]=\"'widgetTabManagement.displayConditions.addCondition' | translate\"\n addButtonType=\"tertiary\"\n [defaultValues]=\"defaultConditionValues$ | async\"\n [dropdownColumnTitle]=\"'widgetTabManagement.displayConditions.operator' | translate\"\n [dropdownItems]=\"operatorItems$ | async\"\n [fullWidth]=\"true\"\n [initialAmountOfRows]=\"0\"\n [keyColumnTitle]=\"'widgetTabManagement.displayConditions.path' | translate\"\n [minimumAmountOfRows]=\"0\"\n [valueColumnTitle]=\"'widgetTabManagement.displayConditions.value' | translate\"\n valuePathSelectorNotation=\"dots\"\n (allValuesValidEvent)=\"onAllConditionsValid($event)\"\n (valueChange)=\"conditionsValueChange($event)\"\n [valuePathSelectorPrefixes]=\"[ValuePathSelectorPrefix.DOC, ValuePathSelectorPrefix.CASE]\"\n [valuePathSelectorShowCaseDefinitionSelector]=\"false\"\n [valuePathSelectorCaseDefinitionKey]=\"(params$ | async)?.caseDefinitionKey\"\n [keyColumnFlex]=\"2\"\n [dropdownColumnFlex]=\"1\"\n [valueColumnFlex]=\"1\"\n></valtimo-carbon-multi-input>\n", styles: [":host{display:flex;flex-direction:column;gap:16px}:host ::ng-deep .v-multi-input__row{padding:12px 16px 16px;background-color:var(--cds-layer-01)}:host ::ng-deep .cds--text-input,:host ::ng-deep .cds--list-box{background:var(--cds-layer-02)}\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"] }]
|
|
3037
|
-
}], ctorParameters: () => [{ type: i1$3.FormBuilder }, { type: i2$
|
|
3119
|
+
}], ctorParameters: () => [{ type: i1$3.FormBuilder }, { type: i2$2.TranslateService }, { type: WidgetWizardService }, { type: i2$1.ActivatedRoute }] });
|
|
3038
3120
|
|
|
3039
3121
|
/*
|
|
3040
3122
|
* Copyright 2015-2026 Ritense BV, the Netherlands.
|
|
@@ -3070,7 +3152,7 @@ class WidgetWizardAppearanceStepComponent {
|
|
|
3070
3152
|
this.widgetWizardService.$widgetColor.set(event.value);
|
|
3071
3153
|
}
|
|
3072
3154
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetWizardAppearanceStepComponent, deps: [{ token: WidgetWizardService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3073
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: WidgetWizardAppearanceStepComponent, isStandalone: true, selector: "ng-component", 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<cds-tile-group\n [multiple]=\"false\"\n (selected)=\"onColorSelected($event)\"\n class=\"valtimo-widget-wizard-step__content widget-appearance__color-grid\"\n>\n @for (colorTile of colorTiles; track colorTile.color) {\n <cds-selection-tile\n class=\"valtimo-widget-wizard-step__tile widget-appearance__color-tile\"\n [attr.data-test-id]=\"'widgetWizardAppearanceTile-' + colorTile.color\"\n [value]=\"colorTile.color\"\n [selected]=\"colorTile.color === $widgetColor()\"\n >\n <h3 class=\"valtimo-widget-wizard-step__tile-title\">\n {{ colorTile.labelKey | translate }}\n </h3>\n\n <img [src]=\"colorTile.illustration\" [alt]=\"colorTile.labelKey | translate\" />\n </cds-selection-tile>\n }\n</cds-tile-group>\n", styles: [":host{display:block}.widget-appearance__color-grid fieldset{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.widget-appearance__color-tile .cds--tile-content{align-items:center;text-align:center}.widget-appearance__color-tile img{width:100%;max-width:200px;align-self:center}\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: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$
|
|
3155
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: WidgetWizardAppearanceStepComponent, isStandalone: true, selector: "ng-component", 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<cds-tile-group\n [multiple]=\"false\"\n (selected)=\"onColorSelected($event)\"\n class=\"valtimo-widget-wizard-step__content widget-appearance__color-grid\"\n>\n @for (colorTile of colorTiles; track colorTile.color) {\n <cds-selection-tile\n class=\"valtimo-widget-wizard-step__tile widget-appearance__color-tile\"\n [attr.data-test-id]=\"'widgetWizardAppearanceTile-' + colorTile.color\"\n [value]=\"colorTile.color\"\n [selected]=\"colorTile.color === $widgetColor()\"\n >\n <h3 class=\"valtimo-widget-wizard-step__tile-title\">\n {{ colorTile.labelKey | translate }}\n </h3>\n\n <img [src]=\"colorTile.illustration\" [alt]=\"colorTile.labelKey | translate\" />\n </cds-selection-tile>\n }\n</cds-tile-group>\n", styles: [":host{display:block}.widget-appearance__color-grid fieldset{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.widget-appearance__color-tile .cds--tile-content{align-items:center;text-align:center}.widget-appearance__color-tile img{width:100%;max-width:200px;align-self:center}\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: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: TilesModule }, { kind: "component", type: i3.SelectionTile, selector: "cds-selection-tile, ibm-selection-tile", inputs: ["theme", "id", "selected", "value", "disabled"], outputs: ["change"] }, { kind: "component", type: i3.TileGroup, selector: "cds-tile-group, ibm-tile-group", inputs: ["name", "multiple", "legend"], outputs: ["selected"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3074
3156
|
}
|
|
3075
3157
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetWizardAppearanceStepComponent, decorators: [{
|
|
3076
3158
|
type: Component,
|
|
@@ -3112,7 +3194,7 @@ class WidgetWizardTypeStepComponent {
|
|
|
3112
3194
|
this.widgetWizardService.$selectedWidget.set(event.value);
|
|
3113
3195
|
}
|
|
3114
3196
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetWizardTypeStepComponent, deps: [{ token: WidgetWizardService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3115
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: WidgetWizardTypeStepComponent, isStandalone: true, selector: "ng-component", 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-tile-group\n [multiple]=\"false\"\n (selected)=\"onSelectedEvent($event)\"\n class=\"valtimo-widget-wizard-step__content\"\n>\n @for (widgetType of $availableWidgetTypes(); track widgetType.titleKey) {\n <cds-selection-tile\n class=\"valtimo-widget-wizard-step__tile\"\n [attr.data-test-id]=\"'widgetWizardTypeTile-' + widgetType.type\"\n [value]=\"widgetType\"\n [selected]=\"widgetType.type === $selectedWidget()?.type\"\n >\n <h3 class=\"valtimo-widget-wizard-step__tile-title\">{{ widgetType.titleKey | translate }}</h3>\n\n <span>{{ widgetType.descriptionKey | translate }}</span>\n\n <img [src]=\"widgetType.illustrationUrl\" [alt]=\"widgetType.titleKey | translate\" />\n </cds-selection-tile>\n }\n</cds-tile-group>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$
|
|
3197
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: WidgetWizardTypeStepComponent, isStandalone: true, selector: "ng-component", 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-tile-group\n [multiple]=\"false\"\n (selected)=\"onSelectedEvent($event)\"\n class=\"valtimo-widget-wizard-step__content\"\n>\n @for (widgetType of $availableWidgetTypes(); track widgetType.titleKey) {\n <cds-selection-tile\n class=\"valtimo-widget-wizard-step__tile\"\n [attr.data-test-id]=\"'widgetWizardTypeTile-' + widgetType.type\"\n [value]=\"widgetType\"\n [selected]=\"widgetType.type === $selectedWidget()?.type\"\n >\n <h3 class=\"valtimo-widget-wizard-step__tile-title\">{{ widgetType.titleKey | translate }}</h3>\n\n <span>{{ widgetType.descriptionKey | translate }}</span>\n\n <img [src]=\"widgetType.illustrationUrl\" [alt]=\"widgetType.titleKey | translate\" />\n </cds-selection-tile>\n }\n</cds-tile-group>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: TilesModule }, { kind: "component", type: i3.SelectionTile, selector: "cds-selection-tile, ibm-selection-tile", inputs: ["theme", "id", "selected", "value", "disabled"], outputs: ["change"] }, { kind: "component", type: i3.TileGroup, selector: "cds-tile-group, ibm-tile-group", inputs: ["name", "multiple", "legend"], outputs: ["selected"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
3116
3198
|
}
|
|
3117
3199
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetWizardTypeStepComponent, decorators: [{
|
|
3118
3200
|
type: Component,
|
|
@@ -3147,7 +3229,7 @@ class WidgetWizardWidthStepComponent {
|
|
|
3147
3229
|
this.widgetWizardService.$widgetWidth.set(event.value);
|
|
3148
3230
|
}
|
|
3149
3231
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetWizardWidthStepComponent, deps: [{ token: WidgetWizardService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3150
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: WidgetWizardWidthStepComponent, isStandalone: true, selector: "ng-component", 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-tile-group\n [multiple]=\"false\"\n (selected)=\"onSelectedEvent($event)\"\n class=\"valtimo-widget-wizard-step__content\"\n>\n <cds-selection-tile\n class=\"valtimo-widget-wizard-step__tile\"\n [attr.data-test-id]=\"testIds.tileSmall\"\n [value]=\"1\"\n [selected]=\"$widgetWidth() === 1\"\n [disabled]=\"$fieldsColumnsLength() > 1\"\n >\n <h3>{{ 'widgetTabManagement.width.small.title' | translate }}</h3>\n\n <span>{{ 'widgetTabManagement.width.small.subtitle' | translate }}</span>\n\n <img\n src=\"valtimo-layout/img/widget-management/width/quarter.svg\"\n [alt]=\"'widgetTabManagement.width.small.title' | translate\"\n />\n </cds-selection-tile>\n\n <cds-selection-tile\n class=\"valtimo-widget-wizard-step__tile\"\n [attr.data-test-id]=\"testIds.tileMedium\"\n [value]=\"2\"\n [selected]=\"$widgetWidth() === 2\"\n [disabled]=\"$fieldsColumnsLength() > 2\"\n >\n <h3>{{ 'widgetTabManagement.width.medium.title' | translate }}</h3>\n\n <span>{{ 'widgetTabManagement.width.medium.subtitle' | translate }}</span>\n\n <img\n src=\"valtimo-layout/img/widget-management/width/half.svg\"\n [alt]=\"'widgetTabManagement.width.medium.title' | translate\"\n />\n </cds-selection-tile>\n\n <cds-selection-tile\n class=\"valtimo-widget-wizard-step__tile\"\n [attr.data-test-id]=\"testIds.tileLarge\"\n [value]=\"3\"\n [selected]=\"$widgetWidth() === 3\"\n [disabled]=\"$fieldsColumnsLength() > 3\"\n >\n <h3>{{ 'widgetTabManagement.width.large.title' | translate }}</h3>\n\n <span>{{ 'widgetTabManagement.width.large.subtitle' | translate }}</span>\n\n <img\n src=\"valtimo-layout/img/widget-management/width/three-quarters.svg\"\n [alt]=\"'widgetTabManagement.width.large.title' | translate\"\n />\n </cds-selection-tile>\n\n <cds-selection-tile\n class=\"valtimo-widget-wizard-step__tile\"\n [attr.data-test-id]=\"testIds.tileXtraLarge\"\n [value]=\"4\"\n [selected]=\"$widgetWidth() === 4\"\n >\n <h3>{{ 'widgetTabManagement.width.xtraLarge.title' | translate }}</h3>\n\n <span>{{ 'widgetTabManagement.width.xtraLarge.subtitle' | translate }}</span>\n\n <img\n src=\"valtimo-layout/img/widget-management/width/full-width.svg\"\n [alt]=\"'widgetTabManagement.width.xtraLarge.title' | translate\"\n />\n </cds-selection-tile>\n</cds-tile-group>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$
|
|
3232
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: WidgetWizardWidthStepComponent, isStandalone: true, selector: "ng-component", 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-tile-group\n [multiple]=\"false\"\n (selected)=\"onSelectedEvent($event)\"\n class=\"valtimo-widget-wizard-step__content\"\n>\n <cds-selection-tile\n class=\"valtimo-widget-wizard-step__tile\"\n [attr.data-test-id]=\"testIds.tileSmall\"\n [value]=\"1\"\n [selected]=\"$widgetWidth() === 1\"\n [disabled]=\"$fieldsColumnsLength() > 1\"\n >\n <h3>{{ 'widgetTabManagement.width.small.title' | translate }}</h3>\n\n <span>{{ 'widgetTabManagement.width.small.subtitle' | translate }}</span>\n\n <img\n src=\"valtimo-layout/img/widget-management/width/quarter.svg\"\n [alt]=\"'widgetTabManagement.width.small.title' | translate\"\n />\n </cds-selection-tile>\n\n <cds-selection-tile\n class=\"valtimo-widget-wizard-step__tile\"\n [attr.data-test-id]=\"testIds.tileMedium\"\n [value]=\"2\"\n [selected]=\"$widgetWidth() === 2\"\n [disabled]=\"$fieldsColumnsLength() > 2\"\n >\n <h3>{{ 'widgetTabManagement.width.medium.title' | translate }}</h3>\n\n <span>{{ 'widgetTabManagement.width.medium.subtitle' | translate }}</span>\n\n <img\n src=\"valtimo-layout/img/widget-management/width/half.svg\"\n [alt]=\"'widgetTabManagement.width.medium.title' | translate\"\n />\n </cds-selection-tile>\n\n <cds-selection-tile\n class=\"valtimo-widget-wizard-step__tile\"\n [attr.data-test-id]=\"testIds.tileLarge\"\n [value]=\"3\"\n [selected]=\"$widgetWidth() === 3\"\n [disabled]=\"$fieldsColumnsLength() > 3\"\n >\n <h3>{{ 'widgetTabManagement.width.large.title' | translate }}</h3>\n\n <span>{{ 'widgetTabManagement.width.large.subtitle' | translate }}</span>\n\n <img\n src=\"valtimo-layout/img/widget-management/width/three-quarters.svg\"\n [alt]=\"'widgetTabManagement.width.large.title' | translate\"\n />\n </cds-selection-tile>\n\n <cds-selection-tile\n class=\"valtimo-widget-wizard-step__tile\"\n [attr.data-test-id]=\"testIds.tileXtraLarge\"\n [value]=\"4\"\n [selected]=\"$widgetWidth() === 4\"\n >\n <h3>{{ 'widgetTabManagement.width.xtraLarge.title' | translate }}</h3>\n\n <span>{{ 'widgetTabManagement.width.xtraLarge.subtitle' | translate }}</span>\n\n <img\n src=\"valtimo-layout/img/widget-management/width/full-width.svg\"\n [alt]=\"'widgetTabManagement.width.xtraLarge.title' | translate\"\n />\n </cds-selection-tile>\n</cds-tile-group>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: TilesModule }, { kind: "component", type: i3.SelectionTile, selector: "cds-selection-tile, ibm-selection-tile", inputs: ["theme", "id", "selected", "value", "disabled"], outputs: ["change"] }, { kind: "component", type: i3.TileGroup, selector: "cds-tile-group, ibm-tile-group", inputs: ["name", "multiple", "legend"], outputs: ["selected"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3151
3233
|
}
|
|
3152
3234
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetWizardWidthStepComponent, decorators: [{
|
|
3153
3235
|
type: Component,
|
|
@@ -3454,8 +3536,8 @@ class WidgetWizardFiltersStepComponent {
|
|
|
3454
3536
|
return acc;
|
|
3455
3537
|
}, {});
|
|
3456
3538
|
}
|
|
3457
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetWizardFiltersStepComponent, deps: [{ token: i1$3.FormBuilder }, { token: WidgetWizardService }, { token: i3.IconService }, { token: i2$
|
|
3458
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: WidgetWizardFiltersStepComponent, isStandalone: true, selector: "ng-component", host: { properties: { "class": "this.class" } }, 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<form [formGroup]=\"formGroup\" class=\"valtimo-widget-wizard-filters\">\n <cds-accordion formArrayName=\"filters\" align=\"start\" size=\"sm\">\n @for (filterRow of filters.controls; track $index) {\n <cds-accordion-item\n [title]=\"filterTitle\"\n [expanded]=\"expandedFilterIndex === $index\"\n [context]=\"{\n title: filterRow.get('title')?.value,\n count: $count,\n index: $index,\n }\"\n (selected)=\"onFilterAccordionSelection($event.expanded, $index)\"\n class=\"valtimo-widget-wizard-filters__item\"\n >\n <form\n [formGroup]=\"filterRow\"\n class=\"valtimo-widget-wizard-filters__container\"\n (click)=\"$event.stopImmediatePropagation()\"\n >\n <div class=\"valtimo-widget-wizard-filters__row\">\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.filters.title' | translate\"\n [tooltip]=\"'widgetTabManagement.filters.titleTooltip' | translate\"\n ></v-input-label>\n\n <input\n cdsText\n formControlName=\"title\"\n [placeholder]=\"'widgetTabManagement.filters.titlePlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.filters.key' | translate\"\n [tooltip]=\"'widgetTabManagement.filters.keyTooltip' | translate\"\n ></v-input-label>\n\n <input\n cdsText\n formControlName=\"key\"\n [placeholder]=\"'widgetTabManagement.filters.keyPlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n\n <cds-dropdown\n cdsLayer\n [label]=\"'widgetTabManagement.filters.dataType' | translate\"\n [placeholder]=\"'widgetTabManagement.filters.dataTypePlaceholder' | translate\"\n formControlName=\"dataType\"\n >\n <cds-dropdown-list [items]=\"getDataTypeDropdownItems(filterRow)\"></cds-dropdown-list>\n </cds-dropdown>\n\n <cds-dropdown\n cdsLayer\n [label]=\"'widgetTabManagement.filters.fieldType' | translate\"\n [placeholder]=\"'widgetTabManagement.filters.fieldTypePlaceholder' | translate\"\n formControlName=\"fieldType\"\n >\n <cds-dropdown-list [items]=\"getFieldTypeDropdownItems(filterRow)\"></cds-dropdown-list>\n </cds-dropdown>\n\n @if ((filterRow.get('dataType')?.value?.id) === 'text') {\n <cds-dropdown cdsLayer [label]=\"'searchFieldsOverview.matchType' | translate\" formControlName=\"matchType\">\n <cds-dropdown-list [items]=\"getMatchTypeDropdownItems(filterRow)\"></cds-dropdown-list>\n </cds-dropdown>\n }\n\n @if (\n (filterRow.get('dataType')?.value?.id) === 'text' &&\n ((filterRow.get('fieldType')?.value?.id) === 'single-select-dropdown' ||\n (filterRow.get('fieldType')?.value?.id) === 'multi-select-dropdown')\n ) {\n <cds-dropdown\n cdsLayer\n [label]=\"'searchFieldsOverview.dropdownDataProvider' | translate\"\n formControlName=\"dropdownDataProvider\"\n >\n <cds-dropdown-list\n [items]=\"getDropdownDataProviderItems(filterRow)\"\n ></cds-dropdown-list>\n </cds-dropdown>\n }\n\n @if (shouldShowDropdownValues(filterRow)) {\n <div class=\"valtimo-widget-wizard-filters__list\" formArrayName=\"dropdownValues\">\n <v-input-label\n [title]=\"'searchFieldsOverview.dropdownListValues' | translate\"\n [tooltip]=\"'searchFieldsOverviewTooltips.dropdownListValues' | translate\"\n [noMargin]=\"true\"\n ></v-input-label>\n\n @for (dropdownValue of (filterRow.get('dropdownValues')?.['controls'] ?? []); track $index) {\n <div [formGroup]=\"dropdownValue\" class=\"valtimo-widget-wizard-filters__dropdown-values\">\n <cds-text-label>\n {{ 'interface.value' | translate }}\n <input cdsText type=\"text\" formControlName=\"key\" cdsLayer />\n </cds-text-label>\n\n <cds-text-label>\n {{ 'interface.display' | translate }}\n <input cdsText type=\"text\" formControlName=\"value\" cdsLayer />\n </cds-text-label>\n\n <button\n cdsButton=\"danger\"\n [iconOnly]=\"true\"\n type=\"button\"\n [disabled]=\"(filterRow.get('dropdownValues')?.value?.length ?? 0) === 1\"\n (click)=\"removeDropdownValue(filterRow, $index)\"\n >\n <svg cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n </div>\n }\n\n <button cdsButton=\"primary\" type=\"button\" (click)=\"addDropdownValue(filterRow)\">\n {{ 'interface.addRow' | translate }}\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n </div>\n }\n </div>\n </form>\n </cds-accordion-item>\n }\n </cds-accordion>\n\n <button cdsButton=\"primary\" size=\"sm\" type=\"button\" (click)=\"addFilter()\">\n {{ 'widgetTabManagement.filters.add' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n</form>\n\n<ng-template #filterTitle let-title=\"title\" let-count=\"count\" let-index=\"index\">\n <div class=\"valtimo-widget-wizard-filters__title\">\n <span>\n {{ title || ('widgetTabManagement.filters.titlePlaceholder' | translate) }}\n </span>\n\n <section class=\"valtimo-widget-wizard-filters__actions\">\n <button\n cdsButton=\"tertiary\"\n [disabled]=\"index === 0\"\n [iconOnly]=\"true\"\n size=\"sm\"\n type=\"button\"\n (click)=\"onMoveUpClick($event, {index: index, length: count})\"\n >\n <svg cdsIcon=\"arrow--up\" size=\"16\"></svg>\n </button>\n\n <button\n cdsButton=\"tertiary\"\n [disabled]=\"index === count - 1\"\n [iconOnly]=\"true\"\n size=\"sm\"\n type=\"button\"\n (click)=\"onMoveDownClick($event, {index: index, length: count})\"\n >\n <svg cdsIcon=\"arrow--down\" size=\"16\"></svg>\n </button>\n\n <button\n cdsButton=\"danger\"\n [iconOnly]=\"true\"\n type=\"button\"\n class=\"valtimo-widget-wizard-filters__delete-button\"\n (click)=\"removeFilter($event, index)\"\n >\n <svg cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n </section>\n </div>\n</ng-template>\n", styles: [".valtimo-widget-wizard-filters{display:flex;flex-direction:column;gap:16px}.valtimo-widget-wizard-filters__item{background:var(--cds-layer-01)}.valtimo-widget-wizard-filters__item .cds--accordion__content{padding-inline-end:20px}.valtimo-widget-wizard-filters__container{display:flex;flex-direction:column;gap:16px}.valtimo-widget-wizard-filters__row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:flex-end}.valtimo-widget-wizard-filters__title{display:flex;justify-content:space-between;align-items:center;width:100%;padding:8px}.valtimo-widget-wizard-filters__actions{display:flex;gap:8px;align-items:center}.valtimo-widget-wizard-filters__dropdown-values{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;gap:16px;align-items:flex-end;width:100%;margin-bottom:12px}.valtimo-widget-wizard-filters__dropdown-values cds-text-label{width:100%}.valtimo-widget-wizard-filters__dropdown-values button[cdsbutton=danger]{width:40px;height:40px;padding:0;display:flex;align-items:center;justify-content:center}.valtimo-widget-wizard-filters .cds--text-input{background:var(--cds-layer-02)}v-input-label{margin-bottom:8px}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$1.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.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$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1$3.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "ngmodule", type: AccordionModule }, { kind: "component", type: i3.Accordion, selector: "cds-accordion, ibm-accordion", inputs: ["align", "size", "skeleton"] }, { kind: "component", type: i3.AccordionItem, selector: "cds-accordion-item, ibm-accordion-item", inputs: ["title", "context", "id", "skeleton", "expanded", "disabled"], outputs: ["selected"] }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i3.TextInputLabelComponent, selector: "cds-text-label, ibm-text-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "textInputTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel", "fluid"] }, { kind: "directive", type: i3.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: LayerModule }, { kind: "directive", type: i3.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i3.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i3.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "ngmodule", type: InputLabelModule }, { kind: "component", type: i1.InputLabelComponent, selector: "v-input-label", inputs: ["name", "tooltip", "tooltipTranslationKey", "largeMargin", "small", "noMargin", "title", "titleTranslationKey", "required", "disabled", "carbonTheme"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i7.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: i7.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
3539
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetWizardFiltersStepComponent, deps: [{ token: i1$3.FormBuilder }, { token: WidgetWizardService }, { token: i3.IconService }, { token: i2$2.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3540
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: WidgetWizardFiltersStepComponent, isStandalone: true, selector: "ng-component", host: { properties: { "class": "this.class" } }, 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<form [formGroup]=\"formGroup\" class=\"valtimo-widget-wizard-filters\">\n <cds-accordion formArrayName=\"filters\" align=\"start\" size=\"sm\">\n @for (filterRow of filters.controls; track $index) {\n <cds-accordion-item\n [title]=\"filterTitle\"\n [expanded]=\"expandedFilterIndex === $index\"\n [context]=\"{\n title: filterRow.get('title')?.value,\n count: $count,\n index: $index,\n }\"\n (selected)=\"onFilterAccordionSelection($event.expanded, $index)\"\n class=\"valtimo-widget-wizard-filters__item\"\n >\n <form\n [formGroup]=\"filterRow\"\n class=\"valtimo-widget-wizard-filters__container\"\n (click)=\"$event.stopImmediatePropagation()\"\n >\n <div class=\"valtimo-widget-wizard-filters__row\">\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.filters.title' | translate\"\n [tooltip]=\"'widgetTabManagement.filters.titleTooltip' | translate\"\n ></v-input-label>\n\n <input\n cdsText\n formControlName=\"title\"\n [placeholder]=\"'widgetTabManagement.filters.titlePlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.filters.key' | translate\"\n [tooltip]=\"'widgetTabManagement.filters.keyTooltip' | translate\"\n ></v-input-label>\n\n <input\n cdsText\n formControlName=\"key\"\n [placeholder]=\"'widgetTabManagement.filters.keyPlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n\n <cds-dropdown\n cdsLayer\n [label]=\"'widgetTabManagement.filters.dataType' | translate\"\n [placeholder]=\"'widgetTabManagement.filters.dataTypePlaceholder' | translate\"\n formControlName=\"dataType\"\n >\n <cds-dropdown-list [items]=\"getDataTypeDropdownItems(filterRow)\"></cds-dropdown-list>\n </cds-dropdown>\n\n <cds-dropdown\n cdsLayer\n [label]=\"'widgetTabManagement.filters.fieldType' | translate\"\n [placeholder]=\"'widgetTabManagement.filters.fieldTypePlaceholder' | translate\"\n formControlName=\"fieldType\"\n >\n <cds-dropdown-list [items]=\"getFieldTypeDropdownItems(filterRow)\"></cds-dropdown-list>\n </cds-dropdown>\n\n @if ((filterRow.get('dataType')?.value?.id) === 'text') {\n <cds-dropdown cdsLayer [label]=\"'searchFieldsOverview.matchType' | translate\" formControlName=\"matchType\">\n <cds-dropdown-list [items]=\"getMatchTypeDropdownItems(filterRow)\"></cds-dropdown-list>\n </cds-dropdown>\n }\n\n @if (\n (filterRow.get('dataType')?.value?.id) === 'text' &&\n ((filterRow.get('fieldType')?.value?.id) === 'single-select-dropdown' ||\n (filterRow.get('fieldType')?.value?.id) === 'multi-select-dropdown')\n ) {\n <cds-dropdown\n cdsLayer\n [label]=\"'searchFieldsOverview.dropdownDataProvider' | translate\"\n formControlName=\"dropdownDataProvider\"\n >\n <cds-dropdown-list\n [items]=\"getDropdownDataProviderItems(filterRow)\"\n ></cds-dropdown-list>\n </cds-dropdown>\n }\n\n @if (shouldShowDropdownValues(filterRow)) {\n <div class=\"valtimo-widget-wizard-filters__list\" formArrayName=\"dropdownValues\">\n <v-input-label\n [title]=\"'searchFieldsOverview.dropdownListValues' | translate\"\n [tooltip]=\"'searchFieldsOverviewTooltips.dropdownListValues' | translate\"\n [noMargin]=\"true\"\n ></v-input-label>\n\n @for (dropdownValue of (filterRow.get('dropdownValues')?.['controls'] ?? []); track $index) {\n <div [formGroup]=\"dropdownValue\" class=\"valtimo-widget-wizard-filters__dropdown-values\">\n <cds-text-label>\n {{ 'interface.value' | translate }}\n <input cdsText type=\"text\" formControlName=\"key\" cdsLayer />\n </cds-text-label>\n\n <cds-text-label>\n {{ 'interface.display' | translate }}\n <input cdsText type=\"text\" formControlName=\"value\" cdsLayer />\n </cds-text-label>\n\n <button\n cdsButton=\"danger\"\n [iconOnly]=\"true\"\n type=\"button\"\n [disabled]=\"(filterRow.get('dropdownValues')?.value?.length ?? 0) === 1\"\n (click)=\"removeDropdownValue(filterRow, $index)\"\n >\n <svg cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n </div>\n }\n\n <button cdsButton=\"primary\" type=\"button\" (click)=\"addDropdownValue(filterRow)\">\n {{ 'interface.addRow' | translate }}\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n </div>\n }\n </div>\n </form>\n </cds-accordion-item>\n }\n </cds-accordion>\n\n <button cdsButton=\"primary\" size=\"sm\" type=\"button\" (click)=\"addFilter()\">\n {{ 'widgetTabManagement.filters.add' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n</form>\n\n<ng-template #filterTitle let-title=\"title\" let-count=\"count\" let-index=\"index\">\n <div class=\"valtimo-widget-wizard-filters__title\">\n <span>\n {{ title || ('widgetTabManagement.filters.titlePlaceholder' | translate) }}\n </span>\n\n <section class=\"valtimo-widget-wizard-filters__actions\">\n <button\n cdsButton=\"tertiary\"\n [disabled]=\"index === 0\"\n [iconOnly]=\"true\"\n size=\"sm\"\n type=\"button\"\n (click)=\"onMoveUpClick($event, {index: index, length: count})\"\n >\n <svg cdsIcon=\"arrow--up\" size=\"16\"></svg>\n </button>\n\n <button\n cdsButton=\"tertiary\"\n [disabled]=\"index === count - 1\"\n [iconOnly]=\"true\"\n size=\"sm\"\n type=\"button\"\n (click)=\"onMoveDownClick($event, {index: index, length: count})\"\n >\n <svg cdsIcon=\"arrow--down\" size=\"16\"></svg>\n </button>\n\n <button\n cdsButton=\"danger\"\n [iconOnly]=\"true\"\n type=\"button\"\n class=\"valtimo-widget-wizard-filters__delete-button\"\n (click)=\"removeFilter($event, index)\"\n >\n <svg cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n </section>\n </div>\n</ng-template>\n", styles: [".valtimo-widget-wizard-filters{display:flex;flex-direction:column;gap:16px}.valtimo-widget-wizard-filters__item{background:var(--cds-layer-01)}.valtimo-widget-wizard-filters__item .cds--accordion__content{padding-inline-end:20px}.valtimo-widget-wizard-filters__container{display:flex;flex-direction:column;gap:16px}.valtimo-widget-wizard-filters__row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:flex-end}.valtimo-widget-wizard-filters__title{display:flex;justify-content:space-between;align-items:center;width:100%;padding:8px}.valtimo-widget-wizard-filters__actions{display:flex;gap:8px;align-items:center}.valtimo-widget-wizard-filters__dropdown-values{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;gap:16px;align-items:flex-end;width:100%;margin-bottom:12px}.valtimo-widget-wizard-filters__dropdown-values cds-text-label{width:100%}.valtimo-widget-wizard-filters__dropdown-values button[cdsbutton=danger]{width:40px;height:40px;padding:0;display:flex;align-items:center;justify-content:center}.valtimo-widget-wizard-filters .cds--text-input{background:var(--cds-layer-02)}v-input-label{margin-bottom:8px}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.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$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1$3.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "ngmodule", type: AccordionModule }, { kind: "component", type: i3.Accordion, selector: "cds-accordion, ibm-accordion", inputs: ["align", "size", "skeleton"] }, { kind: "component", type: i3.AccordionItem, selector: "cds-accordion-item, ibm-accordion-item", inputs: ["title", "context", "id", "skeleton", "expanded", "disabled"], outputs: ["selected"] }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i3.TextInputLabelComponent, selector: "cds-text-label, ibm-text-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "textInputTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel", "fluid"] }, { kind: "directive", type: i3.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: LayerModule }, { kind: "directive", type: i3.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i3.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i3.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "ngmodule", type: InputLabelModule }, { kind: "component", type: i1$1.InputLabelComponent, selector: "v-input-label", inputs: ["name", "tooltip", "tooltipTranslationKey", "largeMargin", "small", "noMargin", "title", "titleTranslationKey", "required", "disabled", "carbonTheme"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i7.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: i7.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
3459
3541
|
}
|
|
3460
3542
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetWizardFiltersStepComponent, decorators: [{
|
|
3461
3543
|
type: Component,
|
|
@@ -3471,7 +3553,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
3471
3553
|
InputLabelModule,
|
|
3472
3554
|
DropdownModule,
|
|
3473
3555
|
], 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<form [formGroup]=\"formGroup\" class=\"valtimo-widget-wizard-filters\">\n <cds-accordion formArrayName=\"filters\" align=\"start\" size=\"sm\">\n @for (filterRow of filters.controls; track $index) {\n <cds-accordion-item\n [title]=\"filterTitle\"\n [expanded]=\"expandedFilterIndex === $index\"\n [context]=\"{\n title: filterRow.get('title')?.value,\n count: $count,\n index: $index,\n }\"\n (selected)=\"onFilterAccordionSelection($event.expanded, $index)\"\n class=\"valtimo-widget-wizard-filters__item\"\n >\n <form\n [formGroup]=\"filterRow\"\n class=\"valtimo-widget-wizard-filters__container\"\n (click)=\"$event.stopImmediatePropagation()\"\n >\n <div class=\"valtimo-widget-wizard-filters__row\">\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.filters.title' | translate\"\n [tooltip]=\"'widgetTabManagement.filters.titleTooltip' | translate\"\n ></v-input-label>\n\n <input\n cdsText\n formControlName=\"title\"\n [placeholder]=\"'widgetTabManagement.filters.titlePlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.filters.key' | translate\"\n [tooltip]=\"'widgetTabManagement.filters.keyTooltip' | translate\"\n ></v-input-label>\n\n <input\n cdsText\n formControlName=\"key\"\n [placeholder]=\"'widgetTabManagement.filters.keyPlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n\n <cds-dropdown\n cdsLayer\n [label]=\"'widgetTabManagement.filters.dataType' | translate\"\n [placeholder]=\"'widgetTabManagement.filters.dataTypePlaceholder' | translate\"\n formControlName=\"dataType\"\n >\n <cds-dropdown-list [items]=\"getDataTypeDropdownItems(filterRow)\"></cds-dropdown-list>\n </cds-dropdown>\n\n <cds-dropdown\n cdsLayer\n [label]=\"'widgetTabManagement.filters.fieldType' | translate\"\n [placeholder]=\"'widgetTabManagement.filters.fieldTypePlaceholder' | translate\"\n formControlName=\"fieldType\"\n >\n <cds-dropdown-list [items]=\"getFieldTypeDropdownItems(filterRow)\"></cds-dropdown-list>\n </cds-dropdown>\n\n @if ((filterRow.get('dataType')?.value?.id) === 'text') {\n <cds-dropdown cdsLayer [label]=\"'searchFieldsOverview.matchType' | translate\" formControlName=\"matchType\">\n <cds-dropdown-list [items]=\"getMatchTypeDropdownItems(filterRow)\"></cds-dropdown-list>\n </cds-dropdown>\n }\n\n @if (\n (filterRow.get('dataType')?.value?.id) === 'text' &&\n ((filterRow.get('fieldType')?.value?.id) === 'single-select-dropdown' ||\n (filterRow.get('fieldType')?.value?.id) === 'multi-select-dropdown')\n ) {\n <cds-dropdown\n cdsLayer\n [label]=\"'searchFieldsOverview.dropdownDataProvider' | translate\"\n formControlName=\"dropdownDataProvider\"\n >\n <cds-dropdown-list\n [items]=\"getDropdownDataProviderItems(filterRow)\"\n ></cds-dropdown-list>\n </cds-dropdown>\n }\n\n @if (shouldShowDropdownValues(filterRow)) {\n <div class=\"valtimo-widget-wizard-filters__list\" formArrayName=\"dropdownValues\">\n <v-input-label\n [title]=\"'searchFieldsOverview.dropdownListValues' | translate\"\n [tooltip]=\"'searchFieldsOverviewTooltips.dropdownListValues' | translate\"\n [noMargin]=\"true\"\n ></v-input-label>\n\n @for (dropdownValue of (filterRow.get('dropdownValues')?.['controls'] ?? []); track $index) {\n <div [formGroup]=\"dropdownValue\" class=\"valtimo-widget-wizard-filters__dropdown-values\">\n <cds-text-label>\n {{ 'interface.value' | translate }}\n <input cdsText type=\"text\" formControlName=\"key\" cdsLayer />\n </cds-text-label>\n\n <cds-text-label>\n {{ 'interface.display' | translate }}\n <input cdsText type=\"text\" formControlName=\"value\" cdsLayer />\n </cds-text-label>\n\n <button\n cdsButton=\"danger\"\n [iconOnly]=\"true\"\n type=\"button\"\n [disabled]=\"(filterRow.get('dropdownValues')?.value?.length ?? 0) === 1\"\n (click)=\"removeDropdownValue(filterRow, $index)\"\n >\n <svg cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n </div>\n }\n\n <button cdsButton=\"primary\" type=\"button\" (click)=\"addDropdownValue(filterRow)\">\n {{ 'interface.addRow' | translate }}\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n </div>\n }\n </div>\n </form>\n </cds-accordion-item>\n }\n </cds-accordion>\n\n <button cdsButton=\"primary\" size=\"sm\" type=\"button\" (click)=\"addFilter()\">\n {{ 'widgetTabManagement.filters.add' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n</form>\n\n<ng-template #filterTitle let-title=\"title\" let-count=\"count\" let-index=\"index\">\n <div class=\"valtimo-widget-wizard-filters__title\">\n <span>\n {{ title || ('widgetTabManagement.filters.titlePlaceholder' | translate) }}\n </span>\n\n <section class=\"valtimo-widget-wizard-filters__actions\">\n <button\n cdsButton=\"tertiary\"\n [disabled]=\"index === 0\"\n [iconOnly]=\"true\"\n size=\"sm\"\n type=\"button\"\n (click)=\"onMoveUpClick($event, {index: index, length: count})\"\n >\n <svg cdsIcon=\"arrow--up\" size=\"16\"></svg>\n </button>\n\n <button\n cdsButton=\"tertiary\"\n [disabled]=\"index === count - 1\"\n [iconOnly]=\"true\"\n size=\"sm\"\n type=\"button\"\n (click)=\"onMoveDownClick($event, {index: index, length: count})\"\n >\n <svg cdsIcon=\"arrow--down\" size=\"16\"></svg>\n </button>\n\n <button\n cdsButton=\"danger\"\n [iconOnly]=\"true\"\n type=\"button\"\n class=\"valtimo-widget-wizard-filters__delete-button\"\n (click)=\"removeFilter($event, index)\"\n >\n <svg cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n </section>\n </div>\n</ng-template>\n", styles: [".valtimo-widget-wizard-filters{display:flex;flex-direction:column;gap:16px}.valtimo-widget-wizard-filters__item{background:var(--cds-layer-01)}.valtimo-widget-wizard-filters__item .cds--accordion__content{padding-inline-end:20px}.valtimo-widget-wizard-filters__container{display:flex;flex-direction:column;gap:16px}.valtimo-widget-wizard-filters__row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:flex-end}.valtimo-widget-wizard-filters__title{display:flex;justify-content:space-between;align-items:center;width:100%;padding:8px}.valtimo-widget-wizard-filters__actions{display:flex;gap:8px;align-items:center}.valtimo-widget-wizard-filters__dropdown-values{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;gap:16px;align-items:flex-end;width:100%;margin-bottom:12px}.valtimo-widget-wizard-filters__dropdown-values cds-text-label{width:100%}.valtimo-widget-wizard-filters__dropdown-values button[cdsbutton=danger]{width:40px;height:40px;padding:0;display:flex;align-items:center;justify-content:center}.valtimo-widget-wizard-filters .cds--text-input{background:var(--cds-layer-02)}v-input-label{margin-bottom:8px}\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"] }]
|
|
3474
|
-
}], ctorParameters: () => [{ type: i1$3.FormBuilder }, { type: WidgetWizardService }, { type: i3.IconService }, { type: i2$
|
|
3556
|
+
}], ctorParameters: () => [{ type: i1$3.FormBuilder }, { type: WidgetWizardService }, { type: i3.IconService }, { type: i2$2.TranslateService }], propDecorators: { class: [{
|
|
3475
3557
|
type: HostBinding,
|
|
3476
3558
|
args: ['class']
|
|
3477
3559
|
}] } });
|
|
@@ -3602,7 +3684,30 @@ class WidgetManagementWizardComponent {
|
|
|
3602
3684
|
this._numberOfSteps = steps.length;
|
|
3603
3685
|
return this._numberOfSteps;
|
|
3604
3686
|
}));
|
|
3605
|
-
this.stepLabel$ =
|
|
3687
|
+
this.stepLabel$ = combineLatest([
|
|
3688
|
+
toObservable(this.widgetWizardService.$currentStep),
|
|
3689
|
+
toObservable(this.widgetWizardService.$selectedWidget),
|
|
3690
|
+
]).pipe(switchMap(([step, selectedWidget]) => {
|
|
3691
|
+
if (step === WidgetWizardStep.CONTENT &&
|
|
3692
|
+
selectedWidget?.type === WidgetType.METROLINE) {
|
|
3693
|
+
return of('');
|
|
3694
|
+
}
|
|
3695
|
+
const widgetType = selectedWidget?.type;
|
|
3696
|
+
const specificKey = widgetType
|
|
3697
|
+
? `widgetTabManagement.${step}.${widgetType}.description`
|
|
3698
|
+
: null;
|
|
3699
|
+
const defaultKey = `widgetTabManagement.${step}.description`;
|
|
3700
|
+
return this.translateService
|
|
3701
|
+
.stream([specificKey, defaultKey].filter(Boolean))
|
|
3702
|
+
.pipe(map((translations) => {
|
|
3703
|
+
const specific = specificKey
|
|
3704
|
+
? translations[specificKey]
|
|
3705
|
+
: undefined;
|
|
3706
|
+
return specific !== undefined && specific !== specificKey
|
|
3707
|
+
? specific
|
|
3708
|
+
: translations[defaultKey];
|
|
3709
|
+
}));
|
|
3710
|
+
}));
|
|
3606
3711
|
this.$backButtonDisabled = computed(() => this.widgetWizardService.$editMode() && this.$currentStepIndex() === 1);
|
|
3607
3712
|
this.$nextButtonDisabled = this.widgetWizardService.$nextButtonDisabled;
|
|
3608
3713
|
this._subscriptions = new Subscription();
|
|
@@ -3655,8 +3760,8 @@ class WidgetManagementWizardComponent {
|
|
|
3655
3760
|
componentRef.location.nativeElement.classList.add('valtimo-widget-wizard-step');
|
|
3656
3761
|
this.cdr.detectChanges();
|
|
3657
3762
|
}
|
|
3658
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetManagementWizardComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.KeyGeneratorService }, { token: i2$
|
|
3659
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: WidgetManagementWizardComponent, isStandalone: true, selector: "valtimo-widget-management-wizard", inputs: { open: "open", disableDuplicate: "disableDuplicate", editMode: "editMode" }, outputs: { closeEvent: "closeEvent" }, viewQueries: [{ propertyName: "_vcr", first: true, predicate: ["wizardStepRenderer"], descendants: true, read: ViewContainerRef }], 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 [open]=\"open\"\n showFooter=\"true\"\n size=\"lg\"\n valtimoCdsModal\n class=\"valtimo-widget-management-wizard\"\n (close)=\"onClose()\"\n>\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onClose()\">\n <h3 cdsModalHeaderHeading>\n {{ 'widgetTabManagement.wizard.' + (editMode ? 'edit' : 'create') | translate }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent class=\"valtimo-widget-management-wizard__content\">\n <cds-progress-indicator\n [current]=\"$currentStepIndex()\"\n [spacing]=\"'equal'\"\n [steps]=\"steps$ | async\"\n (stepSelected)=\"onStepSelected($event)\"\n >\n </cds-progress-indicator>\n\n <p>{{ stepLabel
|
|
3763
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetManagementWizardComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1$1.KeyGeneratorService }, { token: i2$2.TranslateService }, { token: WidgetWizardService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3764
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: WidgetManagementWizardComponent, isStandalone: true, selector: "valtimo-widget-management-wizard", inputs: { open: "open", disableDuplicate: "disableDuplicate", editMode: "editMode" }, outputs: { closeEvent: "closeEvent" }, viewQueries: [{ propertyName: "_vcr", first: true, predicate: ["wizardStepRenderer"], descendants: true, read: ViewContainerRef }], 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 [open]=\"open\"\n showFooter=\"true\"\n size=\"lg\"\n valtimoCdsModal\n class=\"valtimo-widget-management-wizard\"\n (close)=\"onClose()\"\n>\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onClose()\">\n <h3 cdsModalHeaderHeading>\n {{ 'widgetTabManagement.wizard.' + (editMode ? 'edit' : 'create') | translate }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent class=\"valtimo-widget-management-wizard__content\">\n <cds-progress-indicator\n [current]=\"$currentStepIndex()\"\n [spacing]=\"'equal'\"\n [steps]=\"steps$ | async\"\n (stepSelected)=\"onStepSelected($event)\"\n >\n </cds-progress-indicator>\n\n @if (stepLabel$ | async; as stepLabel) {\n <p>{{ stepLabel }}</p>\n }\n\n <ng-template #wizardStepRenderer></ng-template>\n </section>\n\n <cds-modal-footer class=\"valtimo-widget-management-wizard__footer\">\n <button class=\"valtimo-widget-management-wizard__cancel\" cdsButton=\"ghost\" [attr.data-test-id]=\"testIds.cancelButton\" (click)=\"onClose()\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n @if ($currentStepIndex() !== 0) {\n <button\n class=\"valtimo-widget-management-wizard__back\"\n cdsButton=\"secondary\"\n [attr.data-test-id]=\"testIds.backButton\"\n [disabled]=\"$backButtonDisabled()\"\n (click)=\"onBackButtonClick()\"\n >\n {{ 'interface.back' | translate }}\n </button>\n }\n\n <button\n class=\"valtimo-widget-management-wizard__next\"\n cdsButton=\"primary\"\n [attr.data-test-id]=\"$currentStepIndex() === (numberOfSteps$ | async) - 1 ? testIds.saveButton : testIds.nextButton\"\n [disabled]=\"$nextButtonDisabled()\"\n (click)=\"onNextButtonClick()\"\n >\n {{\n 'interface.' + ($currentStepIndex() === (numberOfSteps$ | async) - 1 ? 'save' : 'next')\n | translate\n }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n", styles: [".valtimo-widget-management-wizard__content{display:flex;flex-direction:column;gap:32px}.valtimo-widget-management-wizard__footer footer{display:grid;grid-template-columns:repeat(4,1fr);grid-template-areas:\"cancel . back next\"}.valtimo-widget-management-wizard__footer footer button{width:100%}.valtimo-widget-management-wizard__cancel{grid-area:cancel}.valtimo-widget-management-wizard__back{grid-area:back}.valtimo-widget-management-wizard__next{grid-area:next}.valtimo-widget-management-wizard .cds--modal-container{height:88%;background:var(--cds-layer-02)}.valtimo-widget-management-wizard .valtimo-widget-wizard-step__content fieldset{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.valtimo-widget-management-wizard .valtimo-widget-wizard-step__tile .cds--tile{height:100%}.valtimo-widget-management-wizard .valtimo-widget-wizard-step__tile .cds--tile-content{display:flex;flex-direction:column;max-width:260px;gap:16px;justify-content:space-between}.valtimo-widget-management-wizard .valtimo-widget-wizard-step__tile .cds--tile:not(.cds--tile--disabled) .cds--tile-content{color:var(--cds-text-primary)}.valtimo-widget-management-wizard .valtimo-widget-wizard-step__tile-title{font-size:20px}.valtimo-widget-management-wizard .cds--tile--selectable svg{display:none}.valtimo-widget-management-wizard .cds--tile--selectable.cds--tile--is-selected svg{display:block}.valtimo-widget-management-wizard .cds--tab-content{padding:0}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ProgressIndicatorModule }, { kind: "component", type: i3.ProgressIndicator, selector: "cds-progress-indicator, ibm-progress-indicator", inputs: ["current", "steps", "translations", "orientation", "skeleton", "spacing"], outputs: ["stepSelected"] }, { kind: "ngmodule", type: ModalModule }, { kind: "component", type: i3.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i3.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i3.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i3.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i3.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i3.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
3660
3765
|
}
|
|
3661
3766
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetManagementWizardComponent, decorators: [{
|
|
3662
3767
|
type: Component,
|
|
@@ -3667,8 +3772,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
3667
3772
|
ModalModule,
|
|
3668
3773
|
ButtonModule,
|
|
3669
3774
|
...WIDGET_STEPS,
|
|
3670
|
-
], 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 [open]=\"open\"\n showFooter=\"true\"\n size=\"lg\"\n valtimoCdsModal\n class=\"valtimo-widget-management-wizard\"\n (close)=\"onClose()\"\n>\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onClose()\">\n <h3 cdsModalHeaderHeading>\n {{ 'widgetTabManagement.wizard.' + (editMode ? 'edit' : 'create') | translate }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent class=\"valtimo-widget-management-wizard__content\">\n <cds-progress-indicator\n [current]=\"$currentStepIndex()\"\n [spacing]=\"'equal'\"\n [steps]=\"steps$ | async\"\n (stepSelected)=\"onStepSelected($event)\"\n >\n </cds-progress-indicator>\n\n <p>{{ stepLabel
|
|
3671
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.KeyGeneratorService }, { type: i2$
|
|
3775
|
+
], 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 [open]=\"open\"\n showFooter=\"true\"\n size=\"lg\"\n valtimoCdsModal\n class=\"valtimo-widget-management-wizard\"\n (close)=\"onClose()\"\n>\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onClose()\">\n <h3 cdsModalHeaderHeading>\n {{ 'widgetTabManagement.wizard.' + (editMode ? 'edit' : 'create') | translate }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent class=\"valtimo-widget-management-wizard__content\">\n <cds-progress-indicator\n [current]=\"$currentStepIndex()\"\n [spacing]=\"'equal'\"\n [steps]=\"steps$ | async\"\n (stepSelected)=\"onStepSelected($event)\"\n >\n </cds-progress-indicator>\n\n @if (stepLabel$ | async; as stepLabel) {\n <p>{{ stepLabel }}</p>\n }\n\n <ng-template #wizardStepRenderer></ng-template>\n </section>\n\n <cds-modal-footer class=\"valtimo-widget-management-wizard__footer\">\n <button class=\"valtimo-widget-management-wizard__cancel\" cdsButton=\"ghost\" [attr.data-test-id]=\"testIds.cancelButton\" (click)=\"onClose()\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n @if ($currentStepIndex() !== 0) {\n <button\n class=\"valtimo-widget-management-wizard__back\"\n cdsButton=\"secondary\"\n [attr.data-test-id]=\"testIds.backButton\"\n [disabled]=\"$backButtonDisabled()\"\n (click)=\"onBackButtonClick()\"\n >\n {{ 'interface.back' | translate }}\n </button>\n }\n\n <button\n class=\"valtimo-widget-management-wizard__next\"\n cdsButton=\"primary\"\n [attr.data-test-id]=\"$currentStepIndex() === (numberOfSteps$ | async) - 1 ? testIds.saveButton : testIds.nextButton\"\n [disabled]=\"$nextButtonDisabled()\"\n (click)=\"onNextButtonClick()\"\n >\n {{\n 'interface.' + ($currentStepIndex() === (numberOfSteps$ | async) - 1 ? 'save' : 'next')\n | translate\n }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n", styles: [".valtimo-widget-management-wizard__content{display:flex;flex-direction:column;gap:32px}.valtimo-widget-management-wizard__footer footer{display:grid;grid-template-columns:repeat(4,1fr);grid-template-areas:\"cancel . back next\"}.valtimo-widget-management-wizard__footer footer button{width:100%}.valtimo-widget-management-wizard__cancel{grid-area:cancel}.valtimo-widget-management-wizard__back{grid-area:back}.valtimo-widget-management-wizard__next{grid-area:next}.valtimo-widget-management-wizard .cds--modal-container{height:88%;background:var(--cds-layer-02)}.valtimo-widget-management-wizard .valtimo-widget-wizard-step__content fieldset{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.valtimo-widget-management-wizard .valtimo-widget-wizard-step__tile .cds--tile{height:100%}.valtimo-widget-management-wizard .valtimo-widget-wizard-step__tile .cds--tile-content{display:flex;flex-direction:column;max-width:260px;gap:16px;justify-content:space-between}.valtimo-widget-management-wizard .valtimo-widget-wizard-step__tile .cds--tile:not(.cds--tile--disabled) .cds--tile-content{color:var(--cds-text-primary)}.valtimo-widget-management-wizard .valtimo-widget-wizard-step__tile-title{font-size:20px}.valtimo-widget-management-wizard .cds--tile--selectable svg{display:none}.valtimo-widget-management-wizard .cds--tile--selectable.cds--tile--is-selected svg{display:block}.valtimo-widget-management-wizard .cds--tab-content{padding:0}\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"] }]
|
|
3776
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1$1.KeyGeneratorService }, { type: i2$2.TranslateService }, { type: WidgetWizardService }], propDecorators: { _vcr: [{
|
|
3672
3777
|
type: ViewChild,
|
|
3673
3778
|
args: ['wizardStepRenderer', { read: ViewContainerRef }]
|
|
3674
3779
|
}], open: [{
|
|
@@ -3834,6 +3939,7 @@ class WidgetManagementEditorComponent {
|
|
|
3834
3939
|
WidgetType.FIELDS,
|
|
3835
3940
|
WidgetType.COLLECTION,
|
|
3836
3941
|
WidgetType.TABLE,
|
|
3942
|
+
WidgetType.HIGHLIGHT,
|
|
3837
3943
|
];
|
|
3838
3944
|
this.iconService.registerAll([DragVertical16]);
|
|
3839
3945
|
}
|
|
@@ -3941,8 +4047,8 @@ class WidgetManagementEditorComponent {
|
|
|
3941
4047
|
return '-';
|
|
3942
4048
|
}
|
|
3943
4049
|
}
|
|
3944
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetManagementEditorComponent, deps: [{ token: i3.IconService }, { token: i2$
|
|
3945
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: WidgetManagementEditorComponent, isStandalone: true, selector: "valtimo-widget-management-editor", inputs: { enableWidgetDivider: "enableWidgetDivider", params: "params", availableWidgetTypes: "availableWidgetTypes", disableDuplicate: "disableDuplicate", singleWidget: "singleWidget", defaultWidth: "defaultWidth" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-carbon-list\n [actionItems]=\"actionItems$ | async\"\n [fields]=\"fields$ | async\"\n [header]=\"false\"\n [items]=\"widgets$ | async\"\n [dragAndDrop]=\"!(singleWidget$ | async)\"\n [dragAndDropDisabled]=\"$dragAndDropDisabled()\"\n [loading]=\"loading$ | async\"\n (itemsReordered)=\"onItemsReordered($event)\"\n (rowClicked)=\"editWidget($event)\"\n>\n <ng-container carbonToolbarContent>\n <button *ngIf=\"enableWidgetDivider\" cdsButton=\"ghost\" [attr.data-test-id]=\"testIds.addDividerButton\" (click)=\"openAddDividerModal()\">\n {{ 'widgetTabManagement.list.addDivider' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"drag--vertical\" size=\"16\"></svg>\n </button>\n\n <ng-container *ngTemplateOutlet=\"addWidgetButton\"></ng-container>\n </ng-container>\n\n <valtimo-no-results\n [action]=\"addWidgetButton\"\n [description]=\"\n ((singleWidget$ | async)\n ? 'widgetTabManagement.list.noResultsSingle.description'\n : 'widgetTabManagement.list.noResults.description'\n ) | translate\n \"\n [title]=\"\n ((singleWidget$ | async)\n ? 'widgetTabManagement.list.noResultsSingle.title'\n : 'widgetTabManagement.list.noResults.title'\n ) | translate\n \"\n ></valtimo-no-results>\n</valtimo-carbon-list>\n\n<ng-template #addWidgetButton>\n <button\n cdsButton=\"primary\"\n [attr.data-test-id]=\"testIds.addWidgetButton\"\n (click)=\"openAddModal()\"\n [disabled]=\"(singleWidget$ | async) && ((widgets$ | async) || []).length === 1\"\n >\n {{ 'widgetTabManagement.list.add' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<valtimo-widget-management-divider-modal\n [open]=\"$isDividerModalOpen()\"\n [modalMode]=\"$dividerModalMode()\"\n [prefillData]=\"dividerDefinition$ | async\"\n [usedKeys]=\"usedKeys$ | async\"\n (closeEvent)=\"onCloseEvent($event)\"\n></valtimo-widget-management-divider-modal>\n\n<valtimo-widget-management-wizard\n [editMode]=\"$isEditMode()\"\n [open]=\"$isWizardOpen()\"\n [disableDuplicate]=\"disableDuplicate$ | async\"\n (closeEvent)=\"onCloseEvent($event)\"\n></valtimo-widget-management-wizard>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"Are you sure you want to delete this widget?\"\n [outputOnConfirm]=\"$deleteWidget()\"\n [showModalSubject$]=\"deleteModalOpen$\"\n titleTranslationKey=\"interface.delete\"\n (confirmEvent)=\"onDeleteConfirm($event)\"\n></valtimo-confirmation-modal>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$
|
|
4050
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetManagementEditorComponent, deps: [{ token: i3.IconService }, { token: i2$2.TranslateService }, { token: WidgetWizardService }, { token: WIDGET_MANAGEMENT_SERVICE }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4051
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: WidgetManagementEditorComponent, isStandalone: true, selector: "valtimo-widget-management-editor", inputs: { enableWidgetDivider: "enableWidgetDivider", params: "params", availableWidgetTypes: "availableWidgetTypes", disableDuplicate: "disableDuplicate", singleWidget: "singleWidget", defaultWidth: "defaultWidth" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-carbon-list\n [actionItems]=\"actionItems$ | async\"\n [fields]=\"fields$ | async\"\n [header]=\"false\"\n [items]=\"widgets$ | async\"\n [dragAndDrop]=\"!(singleWidget$ | async)\"\n [dragAndDropDisabled]=\"$dragAndDropDisabled()\"\n [loading]=\"loading$ | async\"\n (itemsReordered)=\"onItemsReordered($event)\"\n (rowClicked)=\"editWidget($event)\"\n>\n <ng-container carbonToolbarContent>\n <button *ngIf=\"enableWidgetDivider\" cdsButton=\"ghost\" [attr.data-test-id]=\"testIds.addDividerButton\" (click)=\"openAddDividerModal()\">\n {{ 'widgetTabManagement.list.addDivider' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"drag--vertical\" size=\"16\"></svg>\n </button>\n\n <ng-container *ngTemplateOutlet=\"addWidgetButton\"></ng-container>\n </ng-container>\n\n <valtimo-no-results\n [action]=\"addWidgetButton\"\n [description]=\"\n ((singleWidget$ | async)\n ? 'widgetTabManagement.list.noResultsSingle.description'\n : 'widgetTabManagement.list.noResults.description'\n ) | translate\n \"\n [title]=\"\n ((singleWidget$ | async)\n ? 'widgetTabManagement.list.noResultsSingle.title'\n : 'widgetTabManagement.list.noResults.title'\n ) | translate\n \"\n ></valtimo-no-results>\n</valtimo-carbon-list>\n\n<ng-template #addWidgetButton>\n <button\n cdsButton=\"primary\"\n [attr.data-test-id]=\"testIds.addWidgetButton\"\n (click)=\"openAddModal()\"\n [disabled]=\"(singleWidget$ | async) && ((widgets$ | async) || []).length === 1\"\n >\n {{ 'widgetTabManagement.list.add' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<valtimo-widget-management-divider-modal\n [open]=\"$isDividerModalOpen()\"\n [modalMode]=\"$dividerModalMode()\"\n [prefillData]=\"dividerDefinition$ | async\"\n [usedKeys]=\"usedKeys$ | async\"\n (closeEvent)=\"onCloseEvent($event)\"\n></valtimo-widget-management-divider-modal>\n\n<valtimo-widget-management-wizard\n [editMode]=\"$isEditMode()\"\n [open]=\"$isWizardOpen()\"\n [disableDuplicate]=\"disableDuplicate$ | async\"\n (closeEvent)=\"onCloseEvent($event)\"\n></valtimo-widget-management-wizard>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"Are you sure you want to delete this widget?\"\n [outputOnConfirm]=\"$deleteWidget()\"\n [showModalSubject$]=\"deleteModalOpen$\"\n titleTranslationKey=\"interface.delete\"\n (confirmEvent)=\"onDeleteConfirm($event)\"\n></valtimo-confirmation-modal>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: CarbonListModule }, { kind: "component", type: i1$1.CarbonListComponent, selector: "valtimo-carbon-list", inputs: ["items", "fields", "tableTranslations", "paginatorConfig", "pagination", "loading", "skeletonRowCount", "actions", "actionItems", "showActionItems", "header", "hideColumnHeader", "initialSortState", "sortState", "isSearchable", "enableSingleSelection", "lastColumnTemplate", "paginationIdentifier", "showSelectionColumn", "striped", "hideToolbar", "lockedTooltipTranslationKey", "movingRowsEnabled", "dragAndDrop", "dragAndDropDisabled"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged", "moveRow", "itemsReordered"] }, { kind: "component", type: i1$1.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i3.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i3.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "ngmodule", type: TabsModule }, { kind: "component", type: WidgetManagementWizardComponent, selector: "valtimo-widget-management-wizard", inputs: ["open", "disableDuplicate", "editMode"], outputs: ["closeEvent"] }, { kind: "ngmodule", type: ConfirmationModalModule }, { kind: "component", type: i1$1.ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: ["titleTranslationKey", "title", "content", "contentTranslationKey", "confirmButtonText", "confirmButtonTextTranslationKey", "confirmButtonType", "showOptionalButton", "optionalButtonText", "optionalButtonTextTranslationKey", "optionalButtonType", "cancelButtonText", "cancelButtonTextTranslationKey", "cancelButtonType", "showModalSubject$", "outputOnConfirm", "outputOnOptional", "spacerAfterCancelButton"], outputs: ["confirmEvent", "optionalEvent", "cancelEvent"] }, { kind: "component", type: WidgetManagementDividerModalComponent, selector: "valtimo-widget-management-divider-modal", inputs: ["modalMode", "open", "widgets", "usedKeys", "prefillData"], outputs: ["closeEvent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3946
4052
|
}
|
|
3947
4053
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetManagementEditorComponent, decorators: [{
|
|
3948
4054
|
type: Component,
|
|
@@ -3957,7 +4063,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
3957
4063
|
ConfirmationModalModule,
|
|
3958
4064
|
WidgetManagementDividerModalComponent,
|
|
3959
4065
|
], template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-carbon-list\n [actionItems]=\"actionItems$ | async\"\n [fields]=\"fields$ | async\"\n [header]=\"false\"\n [items]=\"widgets$ | async\"\n [dragAndDrop]=\"!(singleWidget$ | async)\"\n [dragAndDropDisabled]=\"$dragAndDropDisabled()\"\n [loading]=\"loading$ | async\"\n (itemsReordered)=\"onItemsReordered($event)\"\n (rowClicked)=\"editWidget($event)\"\n>\n <ng-container carbonToolbarContent>\n <button *ngIf=\"enableWidgetDivider\" cdsButton=\"ghost\" [attr.data-test-id]=\"testIds.addDividerButton\" (click)=\"openAddDividerModal()\">\n {{ 'widgetTabManagement.list.addDivider' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"drag--vertical\" size=\"16\"></svg>\n </button>\n\n <ng-container *ngTemplateOutlet=\"addWidgetButton\"></ng-container>\n </ng-container>\n\n <valtimo-no-results\n [action]=\"addWidgetButton\"\n [description]=\"\n ((singleWidget$ | async)\n ? 'widgetTabManagement.list.noResultsSingle.description'\n : 'widgetTabManagement.list.noResults.description'\n ) | translate\n \"\n [title]=\"\n ((singleWidget$ | async)\n ? 'widgetTabManagement.list.noResultsSingle.title'\n : 'widgetTabManagement.list.noResults.title'\n ) | translate\n \"\n ></valtimo-no-results>\n</valtimo-carbon-list>\n\n<ng-template #addWidgetButton>\n <button\n cdsButton=\"primary\"\n [attr.data-test-id]=\"testIds.addWidgetButton\"\n (click)=\"openAddModal()\"\n [disabled]=\"(singleWidget$ | async) && ((widgets$ | async) || []).length === 1\"\n >\n {{ 'widgetTabManagement.list.add' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<valtimo-widget-management-divider-modal\n [open]=\"$isDividerModalOpen()\"\n [modalMode]=\"$dividerModalMode()\"\n [prefillData]=\"dividerDefinition$ | async\"\n [usedKeys]=\"usedKeys$ | async\"\n (closeEvent)=\"onCloseEvent($event)\"\n></valtimo-widget-management-divider-modal>\n\n<valtimo-widget-management-wizard\n [editMode]=\"$isEditMode()\"\n [open]=\"$isWizardOpen()\"\n [disableDuplicate]=\"disableDuplicate$ | async\"\n (closeEvent)=\"onCloseEvent($event)\"\n></valtimo-widget-management-wizard>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"Are you sure you want to delete this widget?\"\n [outputOnConfirm]=\"$deleteWidget()\"\n [showModalSubject$]=\"deleteModalOpen$\"\n titleTranslationKey=\"interface.delete\"\n (confirmEvent)=\"onDeleteConfirm($event)\"\n></valtimo-confirmation-modal>\n" }]
|
|
3960
|
-
}], ctorParameters: () => [{ type: i3.IconService }, { type: i2$
|
|
4066
|
+
}], ctorParameters: () => [{ type: i3.IconService }, { type: i2$2.TranslateService }, { type: WidgetWizardService }, { type: undefined, decorators: [{
|
|
3961
4067
|
type: Inject,
|
|
3962
4068
|
args: [WIDGET_MANAGEMENT_SERVICE]
|
|
3963
4069
|
}] }], propDecorators: { enableWidgetDivider: [{
|
|
@@ -4023,7 +4129,7 @@ class WidgetManagementComponent {
|
|
|
4023
4129
|
this.$activeTab.set(tab);
|
|
4024
4130
|
}
|
|
4025
4131
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetManagementComponent, deps: [{ token: WIDGET_MANAGEMENT_SERVICE }, { token: WidgetWizardService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4026
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: WidgetManagementComponent, isStandalone: true, selector: "valtimo-widget-management", inputs: { params: "params", availableWidgetTypes: "availableWidgetTypes", disableDuplicate: "disableDuplicate", enableWidgetDivider: "enableWidgetDivider", singleWidget: "singleWidget", disableJsonEditor: "disableJsonEditor", defaultWidth: "defaultWidth", widgetWizardSteps: "widgetWizardSteps" }, 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@if (!disableJsonEditor) {\n <cds-tabs type=\"contained\">\n <cds-tab\n [heading]=\"'interface.editor.visualEditor' | translate\"\n (selected)=\"switchTab(WidgetManagementTab.VISUAL)\"\n >\n <ng-container *ngTemplateOutlet=\"widgetEditor\"></ng-container>\n </cds-tab>\n\n <cds-tab\n [heading]=\"'interface.editor.jsonEditor' | translate\"\n (selected)=\"switchTab(WidgetManagementTab.JSON)\"\n >\n <valtimo-json-editor\n *ngIf=\"$activeTab() === WidgetManagementTab.JSON\"\n [model]=\"jsonModel$ | async\"\n [fitPage]=\"true\"\n [fitPageSpaceAdjustment]=\"136\"\n (saveEvent)=\"onSaveEvent($event)\"\n ></valtimo-json-editor>\n </cds-tab>\n </cds-tabs>\n} @else {\n <ng-container *ngTemplateOutlet=\"widgetEditor\"></ng-container>\n}\n\n<ng-template #widgetEditor>\n <valtimo-widget-management-editor\n *ngIf=\"$activeTab() === WidgetManagementTab.VISUAL\"\n [availableWidgetTypes]=\"availableWidgetTypes\"\n [disableDuplicate]=\"disableDuplicate\"\n [enableWidgetDivider]=\"enableWidgetDivider\"\n [singleWidget]=\"singleWidget\"\n [defaultWidth]=\"defaultWidth\"\n ></valtimo-widget-management-editor>\n</ng-template>\n", styles: ["::ng-deep .cds--tab-content{padding:0!important}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "component", type: WidgetManagementEditorComponent, selector: "valtimo-widget-management-editor", inputs: ["enableWidgetDivider", "params", "availableWidgetTypes", "disableDuplicate", "singleWidget", "defaultWidth"] }, { kind: "ngmodule", type: TabsModule }, { kind: "component", type: i3.Tabs, selector: "cds-tabs, ibm-tabs", inputs: ["position", "cacheActive", "followFocus", "isNavigation", "ariaLabel", "ariaLabelledby", "type", "theme", "skeleton"] }, { kind: "component", type: i3.Tab, selector: "cds-tab, ibm-tab", inputs: ["heading", "title", "context", "active", "disabled", "tabIndex", "id", "cacheActive", "tabContent", "templateContext"], outputs: ["selected"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$
|
|
4132
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: WidgetManagementComponent, isStandalone: true, selector: "valtimo-widget-management", inputs: { params: "params", availableWidgetTypes: "availableWidgetTypes", disableDuplicate: "disableDuplicate", enableWidgetDivider: "enableWidgetDivider", singleWidget: "singleWidget", disableJsonEditor: "disableJsonEditor", defaultWidth: "defaultWidth", widgetWizardSteps: "widgetWizardSteps" }, 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@if (!disableJsonEditor) {\n <cds-tabs type=\"contained\">\n <cds-tab\n [heading]=\"'interface.editor.visualEditor' | translate\"\n (selected)=\"switchTab(WidgetManagementTab.VISUAL)\"\n >\n <ng-container *ngTemplateOutlet=\"widgetEditor\"></ng-container>\n </cds-tab>\n\n <cds-tab\n [heading]=\"'interface.editor.jsonEditor' | translate\"\n (selected)=\"switchTab(WidgetManagementTab.JSON)\"\n >\n <valtimo-json-editor\n *ngIf=\"$activeTab() === WidgetManagementTab.JSON\"\n [model]=\"jsonModel$ | async\"\n [fitPage]=\"true\"\n [fitPageSpaceAdjustment]=\"136\"\n (saveEvent)=\"onSaveEvent($event)\"\n ></valtimo-json-editor>\n </cds-tab>\n </cds-tabs>\n} @else {\n <ng-container *ngTemplateOutlet=\"widgetEditor\"></ng-container>\n}\n\n<ng-template #widgetEditor>\n <valtimo-widget-management-editor\n *ngIf=\"$activeTab() === WidgetManagementTab.VISUAL\"\n [availableWidgetTypes]=\"availableWidgetTypes\"\n [disableDuplicate]=\"disableDuplicate\"\n [enableWidgetDivider]=\"enableWidgetDivider\"\n [singleWidget]=\"singleWidget\"\n [defaultWidth]=\"defaultWidth\"\n ></valtimo-widget-management-editor>\n</ng-template>\n", styles: ["::ng-deep .cds--tab-content{padding:0!important}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "component", type: WidgetManagementEditorComponent, selector: "valtimo-widget-management-editor", inputs: ["enableWidgetDivider", "params", "availableWidgetTypes", "disableDuplicate", "singleWidget", "defaultWidth"] }, { kind: "ngmodule", type: TabsModule }, { kind: "component", type: i3.Tabs, selector: "cds-tabs, ibm-tabs", inputs: ["position", "cacheActive", "followFocus", "isNavigation", "ariaLabel", "ariaLabelledby", "type", "theme", "skeleton"] }, { kind: "component", type: i3.Tab, selector: "cds-tab, ibm-tab", inputs: ["heading", "title", "context", "active", "disabled", "tabIndex", "id", "cacheActive", "tabContent", "templateContext"], outputs: ["selected"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$2.TranslatePipe, name: "translate" }, { kind: "component", type: JsonEditorComponent, selector: "valtimo-json-editor", inputs: ["disabled", "model", "editorOptions", "fitPage", "fitPageSpaceAdjustment", "formatOnLoad", "heightPx", "heightStyle", "jsonSchema", "showEditButton", "widthPx"], outputs: ["changeEvent", "discardEvent", "keepEditingEvent", "saveEvent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
4027
4133
|
}
|
|
4028
4134
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetManagementComponent, decorators: [{
|
|
4029
4135
|
type: Component,
|
|
@@ -4199,7 +4305,7 @@ class WidgetMapComponent {
|
|
|
4199
4305
|
}
|
|
4200
4306
|
}
|
|
4201
4307
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetMapComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4202
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: WidgetMapComponent, isStandalone: true, selector: "valtimo-widget-map", inputs: { widgetConfiguration: "widgetConfiguration", widgetData: "widgetData" }, outputs: { noVisibleMapEvent: "noVisibleMapEvent" }, host: { properties: { "class": "this.class" } }, viewQueries: [{ propertyName: "_widgetMapRef", first: true, predicate: ["widgetMap"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n widgetConfiguration: widgetConfiguration$ | async,\n widgetData: widgetData$ | async,\n isEmptyWidgetData: isEmptyWidgetData$ | async,\n noVisibleMap: noVisibleMap$ | async,\n } as obs\"\n>\n <section *ngIf=\"obs?.widgetConfiguration?.title\" class=\"widget-map__header\">\n <h4 class=\"widget-map__title\">{{ obs?.widgetConfiguration?.title }}</h4>\n\n <ng-content></ng-content>\n\n <valtimo-widget-action-button\n [widgetConfiguration]=\"obs.widgetConfiguration\"\n [resolvedData]=\"obs.widgetData\"\n ></valtimo-widget-action-button>\n </section>\n\n <div\n class=\"widget-map__render\"\n #widgetMap\n [hidden]=\"obs?.isEmptyWidgetData || obs.widgetData === null\"\n ></div>\n\n @if (obs?.isEmptyWidgetData) {\n <valtimo-no-results\n [collapseVertically]=\"true\"\n [description]=\"'widgets.noData' | translate\"\n [smallPadding]=\"true\"\n ></valtimo-no-results>\n } @else if (obs.widgetData === null) {\n <div class=\"widget-map__skeleton\">\n <cds-skeleton-placeholder></cds-skeleton-placeholder>\n </div>\n }\n</ng-container>\n", styles: [".widget-map{padding:24px;display:flex;flex-direction:column;gap:16px;width:100%;overflow:hidden;min-height:0;flex:1}.widget-map__header{display:flex;align-items:center;justify-content:space-between}.widget-map__title{color:var(--widget-text-color, var(--cds-text-primary));font-weight:600;font-size:16px;line-height:24px}.widget-map__render{display:flex;min-height:0;flex:1}.widget-map__render .ol-viewport{display:flex;min-height:296px;flex:1}.widget-map__skeleton{width:100%}.widget-map__skeleton cds-skeleton-placeholder{height:296px;width:100%}.widget-map__skeleton cds-skeleton-placeholder .cds--skeleton__placeholder{height:296px;width:100%}\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: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: InputModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$
|
|
4308
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: WidgetMapComponent, isStandalone: true, selector: "valtimo-widget-map", inputs: { widgetConfiguration: "widgetConfiguration", widgetData: "widgetData" }, outputs: { noVisibleMapEvent: "noVisibleMapEvent" }, host: { properties: { "class": "this.class" } }, viewQueries: [{ propertyName: "_widgetMapRef", first: true, predicate: ["widgetMap"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n widgetConfiguration: widgetConfiguration$ | async,\n widgetData: widgetData$ | async,\n isEmptyWidgetData: isEmptyWidgetData$ | async,\n noVisibleMap: noVisibleMap$ | async,\n } as obs\"\n>\n <section *ngIf=\"obs?.widgetConfiguration?.title\" class=\"widget-map__header\">\n <h4 class=\"widget-map__title\">{{ obs?.widgetConfiguration?.title }}</h4>\n\n <ng-content></ng-content>\n\n <valtimo-widget-action-button\n [widgetConfiguration]=\"obs.widgetConfiguration\"\n [resolvedData]=\"obs.widgetData\"\n ></valtimo-widget-action-button>\n </section>\n\n <div\n class=\"widget-map__render\"\n #widgetMap\n [hidden]=\"obs?.isEmptyWidgetData || obs.widgetData === null\"\n ></div>\n\n @if (obs?.isEmptyWidgetData) {\n <valtimo-no-results\n [collapseVertically]=\"true\"\n [description]=\"'widgets.noData' | translate\"\n [smallPadding]=\"true\"\n ></valtimo-no-results>\n } @else if (obs.widgetData === null) {\n <div class=\"widget-map__skeleton\">\n <cds-skeleton-placeholder></cds-skeleton-placeholder>\n </div>\n }\n</ng-container>\n", styles: [".widget-map{padding:24px;display:flex;flex-direction:column;gap:16px;width:100%;overflow:hidden;min-height:0;flex:1}.widget-map__header{display:flex;align-items:center;justify-content:space-between}.widget-map__title{color:var(--widget-text-color, var(--cds-text-primary));font-weight:600;font-size:16px;line-height:24px}.widget-map__render{display:flex;min-height:0;flex:1}.widget-map__render .ol-viewport{display:flex;min-height:296px;flex:1}.widget-map__skeleton{width:100%}.widget-map__skeleton cds-skeleton-placeholder{height:296px;width:100%}.widget-map__skeleton cds-skeleton-placeholder .cds--skeleton__placeholder{height:296px;width:100%}\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: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: InputModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: CarbonListModule }, { kind: "component", type: i1$1.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: WidgetActionButtonComponent, selector: "valtimo-widget-action-button", inputs: ["widgetConfiguration", "resolvedData"] }, { kind: "ngmodule", type: SkeletonModule }, { kind: "component", type: i3.SkeletonPlaceholder, selector: "cds-skeleton-placeholder, ibm-skeleton-placeholder" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
4203
4309
|
}
|
|
4204
4310
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetMapComponent, decorators: [{
|
|
4205
4311
|
type: Component,
|
|
@@ -4208,7 +4314,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
4208
4314
|
InputModule,
|
|
4209
4315
|
TranslateModule,
|
|
4210
4316
|
CarbonListModule,
|
|
4211
|
-
EllipsisPipe,
|
|
4212
4317
|
ButtonModule,
|
|
4213
4318
|
WidgetActionButtonComponent,
|
|
4214
4319
|
SkeletonModule,
|
|
@@ -4244,7 +4349,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
4244
4349
|
*/
|
|
4245
4350
|
|
|
4246
4351
|
/*
|
|
4247
|
-
* Copyright 2015-
|
|
4352
|
+
* Copyright 2015-2026 Ritense BV, the Netherlands.
|
|
4248
4353
|
*
|
|
4249
4354
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
4250
4355
|
* you may not use this file except in compliance with the License.
|
|
@@ -4258,9 +4363,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
4258
4363
|
* See the License for the specific language governing permissions and
|
|
4259
4364
|
* limitations under the License.
|
|
4260
4365
|
*/
|
|
4366
|
+
function getAvatarColorVariant(name, theme) {
|
|
4367
|
+
const trimmed = name?.trim() ?? '';
|
|
4368
|
+
if (!trimmed) {
|
|
4369
|
+
return WIDGET_COLOR_THEME_MAP[WidgetColor.PERIWINKLE][theme];
|
|
4370
|
+
}
|
|
4371
|
+
let hash = 0;
|
|
4372
|
+
for (let i = 0; i < trimmed.length; i++) {
|
|
4373
|
+
hash += trimmed.charCodeAt(i);
|
|
4374
|
+
}
|
|
4375
|
+
const color = AVATAR_COLOR_PALETTE[hash % AVATAR_COLOR_PALETTE.length];
|
|
4376
|
+
return WIDGET_COLOR_THEME_MAP[color][theme];
|
|
4377
|
+
}
|
|
4261
4378
|
|
|
4262
4379
|
/*
|
|
4263
|
-
* Copyright 2015-
|
|
4380
|
+
* Copyright 2015-2026 Ritense BV, the Netherlands.
|
|
4264
4381
|
*
|
|
4265
4382
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
4266
4383
|
* you may not use this file except in compliance with the License.
|
|
@@ -4274,20 +4391,87 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
4274
4391
|
* See the License for the specific language governing permissions and
|
|
4275
4392
|
* limitations under the License.
|
|
4276
4393
|
*/
|
|
4277
|
-
|
|
4278
|
-
|
|
4279
|
-
|
|
4280
|
-
|
|
4281
|
-
|
|
4282
|
-
|
|
4283
|
-
|
|
4284
|
-
|
|
4285
|
-
|
|
4286
|
-
|
|
4287
|
-
|
|
4394
|
+
class WidgetPersonCardComponent {
|
|
4395
|
+
set widgetData(value) {
|
|
4396
|
+
this.$widgetData.set(value ?? null);
|
|
4397
|
+
}
|
|
4398
|
+
constructor(translateService, iconService, cdsThemeService) {
|
|
4399
|
+
this.translateService = translateService;
|
|
4400
|
+
this.iconService = iconService;
|
|
4401
|
+
this.cdsThemeService = cdsThemeService;
|
|
4402
|
+
this.class = 'valtimo-widget-person-card';
|
|
4403
|
+
this.$widgetData = signal(null);
|
|
4404
|
+
this.$currentLang = signal(this.translateService.currentLang || 'en');
|
|
4405
|
+
this.$themeVariant = signal('light');
|
|
4406
|
+
this.$avatarColors = computed(() => getAvatarColorVariant(this.$widgetData()?.fullName ?? '', this.$themeVariant()));
|
|
4407
|
+
this.$initials = computed(() => {
|
|
4408
|
+
const fullName = this.$widgetData()?.fullName?.trim() ?? '';
|
|
4409
|
+
if (!fullName)
|
|
4410
|
+
return '';
|
|
4411
|
+
return fullName
|
|
4412
|
+
.split(/\s+/)
|
|
4413
|
+
.map(word => word.charAt(0).toUpperCase())
|
|
4414
|
+
.join('');
|
|
4415
|
+
});
|
|
4416
|
+
this.$age = computed(() => {
|
|
4417
|
+
const birthDate = this.$widgetData()?.birthDate;
|
|
4418
|
+
if (!birthDate)
|
|
4419
|
+
return null;
|
|
4420
|
+
const date = new Date(birthDate);
|
|
4421
|
+
if (isNaN(date.getTime()))
|
|
4422
|
+
return null;
|
|
4423
|
+
const now = new Date();
|
|
4424
|
+
let age = now.getFullYear() - date.getFullYear();
|
|
4425
|
+
const monthDiff = now.getMonth() - date.getMonth();
|
|
4426
|
+
if (monthDiff < 0 || (monthDiff === 0 && now.getDate() < date.getDate()))
|
|
4427
|
+
age--;
|
|
4428
|
+
return age;
|
|
4429
|
+
});
|
|
4430
|
+
this.$formattedBirthDate = computed(() => {
|
|
4431
|
+
const birthDate = this.$widgetData()?.birthDate;
|
|
4432
|
+
if (!birthDate)
|
|
4433
|
+
return null;
|
|
4434
|
+
const date = new Date(birthDate);
|
|
4435
|
+
if (isNaN(date.getTime()))
|
|
4436
|
+
return null;
|
|
4437
|
+
return new Intl.DateTimeFormat(this.$currentLang(), {
|
|
4438
|
+
day: 'numeric',
|
|
4439
|
+
month: 'long',
|
|
4440
|
+
year: 'numeric',
|
|
4441
|
+
}).format(date);
|
|
4442
|
+
});
|
|
4443
|
+
this.$subtitle = computed(() => {
|
|
4444
|
+
const ageValue = this.$age();
|
|
4445
|
+
const city = this.$widgetData()?.city?.trim();
|
|
4446
|
+
const ageLabel = ageValue !== null
|
|
4447
|
+
? this.translateService.instant('widgets.personCard.age', { age: ageValue })
|
|
4448
|
+
: '-';
|
|
4449
|
+
const cityLabel = city || '-';
|
|
4450
|
+
return `${ageLabel} · ${cityLabel}`;
|
|
4451
|
+
});
|
|
4452
|
+
this._subscriptions = new Subscription();
|
|
4453
|
+
this.iconService.registerAll([Phone20, Email20, Calendar20]);
|
|
4454
|
+
this._subscriptions.add(this.translateService.onLangChange.subscribe(event => this.$currentLang.set(event.lang)));
|
|
4455
|
+
this._subscriptions.add(this.cdsThemeService.currentTheme$.subscribe(theme => this.$themeVariant.set(theme === CurrentCarbonTheme.G10 ? 'light' : 'dark')));
|
|
4456
|
+
}
|
|
4457
|
+
ngOnDestroy() {
|
|
4458
|
+
this._subscriptions.unsubscribe();
|
|
4459
|
+
}
|
|
4460
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetPersonCardComponent, deps: [{ token: i2$2.TranslateService }, { token: i3.IconService }, { token: i1$1.CdsThemeService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4461
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: WidgetPersonCardComponent, isStandalone: true, selector: "valtimo-widget-person-card", inputs: { widgetData: "widgetData" }, host: { properties: { "class": "this.class" } }, 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@let data = $widgetData();\n\n<div\n class=\"valtimo-widget-person-card__avatar\"\n [attr.aria-hidden]=\"true\"\n [style.background-color]=\"$avatarColors().background\"\n>\n @if (data) {\n <span\n class=\"valtimo-widget-person-card__initials\"\n [style.color]=\"$avatarColors().text\"\n >{{ $initials() }}</span>\n } @else {\n <cds-skeleton-text [lines]=\"1\" [maxLineWidth]=\"60\"></cds-skeleton-text>\n }\n</div>\n\n<div class=\"valtimo-widget-person-card__body\">\n <h3 class=\"valtimo-widget-person-card__name\">\n @if (data) {\n {{ data.fullName || '-' }}\n } @else {\n <cds-skeleton-text [lines]=\"1\" [maxLineWidth]=\"60\"></cds-skeleton-text>\n }\n </h3>\n\n <p class=\"valtimo-widget-person-card__subtitle\">{{ $subtitle() }}</p>\n\n <dl class=\"valtimo-widget-person-card__grid\">\n <div class=\"valtimo-widget-person-card__field\">\n <svg\n class=\"valtimo-widget-person-card__field-icon\"\n cdsIcon=\"phone\"\n size=\"20\"\n ></svg>\n <span class=\"valtimo-widget-person-card__field-value\">{{ data?.phone || '-' }}</span>\n </div>\n\n <div class=\"valtimo-widget-person-card__field\">\n <svg\n class=\"valtimo-widget-person-card__field-icon\"\n cdsIcon=\"email\"\n size=\"20\"\n ></svg>\n <span class=\"valtimo-widget-person-card__field-value\">{{ data?.email || '-' }}</span>\n </div>\n\n <div class=\"valtimo-widget-person-card__field\">\n <span class=\"valtimo-widget-person-card__field-icon valtimo-widget-person-card__bsn-icon\">\n BSN\n </span>\n <span class=\"valtimo-widget-person-card__field-value\">{{ data?.bsn || '-' }}</span>\n </div>\n\n <div class=\"valtimo-widget-person-card__field\">\n <svg\n class=\"valtimo-widget-person-card__field-icon\"\n cdsIcon=\"calendar\"\n size=\"20\"\n ></svg>\n <span class=\"valtimo-widget-person-card__field-value\">{{\n $formattedBirthDate() || '-'\n }}</span>\n </div>\n </dl>\n</div>\n", styles: [".valtimo-widget-person-card{container-type:inline-size;display:flex;flex-direction:row;align-items:flex-start;gap:16px;padding:16px}.valtimo-widget-person-card__avatar{flex:0 0 auto;width:64px;height:64px;border-radius:50%;background-color:#d5d3f0;display:flex;align-items:center;justify-content:center}.valtimo-widget-person-card__initials{font-size:22px;font-weight:600;line-height:1;color:#1a146a;text-transform:uppercase}.valtimo-widget-person-card__body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:4px;color:var(--widget-text-color, var(--cds-text-primary))}.valtimo-widget-person-card__name{margin:0;font-size:18px;font-weight:600;line-height:24px}.valtimo-widget-person-card__subtitle{margin:0;font-size:14px;line-height:20px;color:var(--widget-text-color, var(--cds-text-secondary))}.valtimo-widget-person-card__grid{margin:4px 0 0;display:grid;grid-template-columns:1fr;row-gap:6px}.valtimo-widget-person-card__field{display:flex;align-items:center;gap:8px;min-width:0}.valtimo-widget-person-card__field-icon{flex:0 0 auto;width:20px;height:20px;color:var(--widget-text-color, var(--cds-text-primary))}.valtimo-widget-person-card__bsn-icon{display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;letter-spacing:.5px;line-height:1}.valtimo-widget-person-card__field-value{font-size:14px;line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@container (min-width: 480px){.valtimo-widget-person-card{gap:24px;padding:24px}.valtimo-widget-person-card__avatar{width:96px;height:96px}.valtimo-widget-person-card__initials{font-size:32px}.valtimo-widget-person-card__body{gap:6px}.valtimo-widget-person-card__name{font-size:24px;line-height:32px}.valtimo-widget-person-card__subtitle{font-size:16px;line-height:24px}.valtimo-widget-person-card__grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,auto);grid-auto-flow:column;column-gap:32px;row-gap:8px}.valtimo-widget-person-card__field{gap:12px}.valtimo-widget-person-card__field-value{font-size:16px;line-height:24px}}\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: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i3.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "ngmodule", type: SkeletonModule }, { kind: "component", type: i3.SkeletonText, selector: "cds-skeleton-text, ibm-skeleton-text", inputs: ["lines", "minLineWidth", "maxLineWidth"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
4462
|
+
}
|
|
4463
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetPersonCardComponent, decorators: [{
|
|
4464
|
+
type: Component,
|
|
4465
|
+
args: [{ selector: 'valtimo-widget-person-card', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, imports: [CommonModule, TranslateModule, IconModule, SkeletonModule], 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@let data = $widgetData();\n\n<div\n class=\"valtimo-widget-person-card__avatar\"\n [attr.aria-hidden]=\"true\"\n [style.background-color]=\"$avatarColors().background\"\n>\n @if (data) {\n <span\n class=\"valtimo-widget-person-card__initials\"\n [style.color]=\"$avatarColors().text\"\n >{{ $initials() }}</span>\n } @else {\n <cds-skeleton-text [lines]=\"1\" [maxLineWidth]=\"60\"></cds-skeleton-text>\n }\n</div>\n\n<div class=\"valtimo-widget-person-card__body\">\n <h3 class=\"valtimo-widget-person-card__name\">\n @if (data) {\n {{ data.fullName || '-' }}\n } @else {\n <cds-skeleton-text [lines]=\"1\" [maxLineWidth]=\"60\"></cds-skeleton-text>\n }\n </h3>\n\n <p class=\"valtimo-widget-person-card__subtitle\">{{ $subtitle() }}</p>\n\n <dl class=\"valtimo-widget-person-card__grid\">\n <div class=\"valtimo-widget-person-card__field\">\n <svg\n class=\"valtimo-widget-person-card__field-icon\"\n cdsIcon=\"phone\"\n size=\"20\"\n ></svg>\n <span class=\"valtimo-widget-person-card__field-value\">{{ data?.phone || '-' }}</span>\n </div>\n\n <div class=\"valtimo-widget-person-card__field\">\n <svg\n class=\"valtimo-widget-person-card__field-icon\"\n cdsIcon=\"email\"\n size=\"20\"\n ></svg>\n <span class=\"valtimo-widget-person-card__field-value\">{{ data?.email || '-' }}</span>\n </div>\n\n <div class=\"valtimo-widget-person-card__field\">\n <span class=\"valtimo-widget-person-card__field-icon valtimo-widget-person-card__bsn-icon\">\n BSN\n </span>\n <span class=\"valtimo-widget-person-card__field-value\">{{ data?.bsn || '-' }}</span>\n </div>\n\n <div class=\"valtimo-widget-person-card__field\">\n <svg\n class=\"valtimo-widget-person-card__field-icon\"\n cdsIcon=\"calendar\"\n size=\"20\"\n ></svg>\n <span class=\"valtimo-widget-person-card__field-value\">{{\n $formattedBirthDate() || '-'\n }}</span>\n </div>\n </dl>\n</div>\n", styles: [".valtimo-widget-person-card{container-type:inline-size;display:flex;flex-direction:row;align-items:flex-start;gap:16px;padding:16px}.valtimo-widget-person-card__avatar{flex:0 0 auto;width:64px;height:64px;border-radius:50%;background-color:#d5d3f0;display:flex;align-items:center;justify-content:center}.valtimo-widget-person-card__initials{font-size:22px;font-weight:600;line-height:1;color:#1a146a;text-transform:uppercase}.valtimo-widget-person-card__body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:4px;color:var(--widget-text-color, var(--cds-text-primary))}.valtimo-widget-person-card__name{margin:0;font-size:18px;font-weight:600;line-height:24px}.valtimo-widget-person-card__subtitle{margin:0;font-size:14px;line-height:20px;color:var(--widget-text-color, var(--cds-text-secondary))}.valtimo-widget-person-card__grid{margin:4px 0 0;display:grid;grid-template-columns:1fr;row-gap:6px}.valtimo-widget-person-card__field{display:flex;align-items:center;gap:8px;min-width:0}.valtimo-widget-person-card__field-icon{flex:0 0 auto;width:20px;height:20px;color:var(--widget-text-color, var(--cds-text-primary))}.valtimo-widget-person-card__bsn-icon{display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;letter-spacing:.5px;line-height:1}.valtimo-widget-person-card__field-value{font-size:14px;line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@container (min-width: 480px){.valtimo-widget-person-card{gap:24px;padding:24px}.valtimo-widget-person-card__avatar{width:96px;height:96px}.valtimo-widget-person-card__initials{font-size:32px}.valtimo-widget-person-card__body{gap:6px}.valtimo-widget-person-card__name{font-size:24px;line-height:32px}.valtimo-widget-person-card__subtitle{font-size:16px;line-height:24px}.valtimo-widget-person-card__grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,auto);grid-auto-flow:column;column-gap:32px;row-gap:8px}.valtimo-widget-person-card__field{gap:12px}.valtimo-widget-person-card__field-value{font-size:16px;line-height:24px}}\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"] }]
|
|
4466
|
+
}], ctorParameters: () => [{ type: i2$2.TranslateService }, { type: i3.IconService }, { type: i1$1.CdsThemeService }], propDecorators: { class: [{
|
|
4467
|
+
type: HostBinding,
|
|
4468
|
+
args: ['class']
|
|
4469
|
+
}], widgetData: [{
|
|
4470
|
+
type: Input
|
|
4471
|
+
}] } });
|
|
4288
4472
|
|
|
4289
4473
|
/*
|
|
4290
|
-
* Copyright 2015-
|
|
4474
|
+
* Copyright 2015-2026 Ritense BV, the Netherlands.
|
|
4291
4475
|
*
|
|
4292
4476
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
4293
4477
|
* you may not use this file except in compliance with the License.
|
|
@@ -4301,7 +4485,6 @@ const DEFAULT_WIDGET_COMPONENT_MAP = {
|
|
|
4301
4485
|
* See the License for the specific language governing permissions and
|
|
4302
4486
|
* limitations under the License.
|
|
4303
4487
|
*/
|
|
4304
|
-
const WIDGET_MANAGEMENT_SERVICE = new InjectionToken('WIDGET_MANAGEMENT_SERVICE');
|
|
4305
4488
|
|
|
4306
4489
|
/*
|
|
4307
4490
|
* Copyright 2015-2026 Ritense BV, the Netherlands.
|
|
@@ -4318,128 +4501,458 @@ const WIDGET_MANAGEMENT_SERVICE = new InjectionToken('WIDGET_MANAGEMENT_SERVICE'
|
|
|
4318
4501
|
* See the License for the specific language governing permissions and
|
|
4319
4502
|
* limitations under the License.
|
|
4320
4503
|
*/
|
|
4321
|
-
|
|
4322
|
-
|
|
4323
|
-
|
|
4324
|
-
|
|
4325
|
-
|
|
4326
|
-
|
|
4327
|
-
|
|
4328
|
-
|
|
4329
|
-
|
|
4330
|
-
|
|
4331
|
-
|
|
4332
|
-
|
|
4333
|
-
|
|
4334
|
-
|
|
4335
|
-
|
|
4336
|
-
|
|
4337
|
-
|
|
4338
|
-
|
|
4339
|
-
|
|
4340
|
-
|
|
4341
|
-
|
|
4342
|
-
|
|
4343
|
-
|
|
4344
|
-
|
|
4345
|
-
|
|
4346
|
-
}
|
|
4347
|
-
|
|
4348
|
-
|
|
4349
|
-
|
|
4350
|
-
|
|
4351
|
-
|
|
4352
|
-
|
|
4353
|
-
}
|
|
4354
|
-
[
|
|
4355
|
-
|
|
4356
|
-
|
|
4357
|
-
|
|
4358
|
-
|
|
4359
|
-
|
|
4360
|
-
|
|
4361
|
-
|
|
4362
|
-
|
|
4363
|
-
|
|
4364
|
-
|
|
4365
|
-
|
|
4366
|
-
|
|
4367
|
-
|
|
4368
|
-
|
|
4369
|
-
|
|
4370
|
-
|
|
4371
|
-
|
|
4372
|
-
|
|
4373
|
-
|
|
4374
|
-
|
|
4375
|
-
|
|
4376
|
-
|
|
4377
|
-
|
|
4378
|
-
|
|
4379
|
-
|
|
4380
|
-
|
|
4381
|
-
|
|
4382
|
-
|
|
4383
|
-
|
|
4384
|
-
|
|
4385
|
-
|
|
4386
|
-
|
|
4387
|
-
|
|
4388
|
-
|
|
4389
|
-
|
|
4390
|
-
|
|
4391
|
-
|
|
4392
|
-
|
|
4393
|
-
|
|
4394
|
-
|
|
4395
|
-
|
|
4396
|
-
|
|
4397
|
-
|
|
4398
|
-
|
|
4399
|
-
|
|
4400
|
-
|
|
4401
|
-
|
|
4402
|
-
|
|
4403
|
-
|
|
4404
|
-
|
|
4405
|
-
|
|
4406
|
-
|
|
4407
|
-
|
|
4408
|
-
|
|
4409
|
-
|
|
4410
|
-
|
|
4411
|
-
|
|
4412
|
-
|
|
4413
|
-
|
|
4414
|
-
|
|
4415
|
-
|
|
4416
|
-
|
|
4417
|
-
|
|
4418
|
-
|
|
4419
|
-
|
|
4420
|
-
|
|
4421
|
-
|
|
4422
|
-
|
|
4423
|
-
|
|
4424
|
-
|
|
4425
|
-
|
|
4426
|
-
|
|
4427
|
-
|
|
4428
|
-
|
|
4429
|
-
|
|
4430
|
-
}
|
|
4431
|
-
|
|
4432
|
-
|
|
4433
|
-
|
|
4434
|
-
|
|
4435
|
-
|
|
4436
|
-
|
|
4437
|
-
|
|
4438
|
-
|
|
4439
|
-
|
|
4440
|
-
|
|
4441
|
-
|
|
4442
|
-
|
|
4504
|
+
class WidgetHighlightComponent {
|
|
4505
|
+
constructor() {
|
|
4506
|
+
this.hostClasses = 'valtimo-widget-highlight';
|
|
4507
|
+
this.widgetConfiguration$ = new BehaviorSubject(null);
|
|
4508
|
+
this.widgetData$ = new BehaviorSubject(null);
|
|
4509
|
+
this.displayValue$ = combineLatest([
|
|
4510
|
+
this.widgetConfiguration$,
|
|
4511
|
+
this.widgetData$,
|
|
4512
|
+
]).pipe(map(([, widgetData]) => this.toDisplayValue(widgetData?.value)));
|
|
4513
|
+
this.hasValue$ = this.displayValue$.pipe(map(displayValue => displayValue !== null));
|
|
4514
|
+
}
|
|
4515
|
+
set widgetConfiguration(value) {
|
|
4516
|
+
if (!value)
|
|
4517
|
+
return;
|
|
4518
|
+
this.widgetConfiguration$.next(value);
|
|
4519
|
+
}
|
|
4520
|
+
set widgetData(value) {
|
|
4521
|
+
this.widgetData$.next(value ?? null);
|
|
4522
|
+
}
|
|
4523
|
+
toDisplayValue(rawValue) {
|
|
4524
|
+
if (Array.isArray(rawValue)) {
|
|
4525
|
+
return rawValue.length;
|
|
4526
|
+
}
|
|
4527
|
+
if (rawValue === null || rawValue === undefined) {
|
|
4528
|
+
return null;
|
|
4529
|
+
}
|
|
4530
|
+
const valueType = typeof rawValue;
|
|
4531
|
+
if (valueType === 'string' || valueType === 'number' || valueType === 'boolean') {
|
|
4532
|
+
return String(rawValue);
|
|
4533
|
+
}
|
|
4534
|
+
return null;
|
|
4535
|
+
}
|
|
4536
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetHighlightComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4537
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: WidgetHighlightComponent, isStandalone: true, selector: "valtimo-widget-highlight", inputs: { widgetConfiguration: "widgetConfiguration", widgetData: "widgetData" }, host: { properties: { "class": "this.hostClasses" } }, 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 widgetConfiguration: widgetConfiguration$ | async,\n widgetData: widgetData$ | async,\n displayValue: displayValue$ | async,\n hasValue: hasValue$ | async,\n } as obs\"\n>\n <header class=\"valtimo-widget-highlight__header\">\n <p class=\"valtimo-widget-highlight__title\" [attr.title]=\"obs.widgetConfiguration?.title\">\n {{ obs.widgetConfiguration?.title }}\n </p>\n\n <span *ngIf=\"obs.widgetConfiguration?.icon\" class=\"valtimo-widget-highlight__icon\">\n <valtimo-mdi-icon-viewer\n [mdiIcon]=\"obs.widgetConfiguration.icon\"\n ></valtimo-mdi-icon-viewer>\n </span>\n </header>\n\n <div class=\"valtimo-widget-highlight__value\">\n @if (!obs.widgetData) {\n <cds-skeleton-text [lines]=\"1\" [maxLineWidth]=\"60\"></cds-skeleton-text>\n } @else if (obs.hasValue) {\n <span class=\"valtimo-widget-highlight__value-text\" [attr.title]=\"obs.displayValue\">{{\n obs.displayValue\n }}</span>\n } @else {\n <span class=\"valtimo-widget-highlight__value-text\">{{\n 'widgets.highlight.noValue' | translate\n }}</span>\n }\n </div>\n\n <div class=\"valtimo-widget-highlight__actions\">\n <valtimo-widget-action-button\n [widgetConfiguration]=\"obs.widgetConfiguration\"\n [resolvedData]=\"obs.widgetData\"\n ></valtimo-widget-action-button>\n </div>\n</ng-container>\n", styles: [".valtimo-widget-highlight{display:flex;flex-direction:column;gap:16px;padding:24px;width:100%;height:100%;box-sizing:border-box;background-color:var(--cds-layer-01);color:var(--widget-text-color, var(--cds-text-primary));border-left:3px solid var(--widget-accent-color, var(--cds-border-subtle-01));overflow:hidden}.valtimo-widget-highlight__header{display:flex;align-items:center;justify-content:space-between;gap:8px}.valtimo-widget-highlight__title{margin:0;padding:0;color:#525252;font-weight:600;font-size:13px;line-height:24px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.valtimo-widget-highlight__icon{display:inline-flex;align-items:center;color:var(--widget-accent-color, var(--cds-icon-primary))}.valtimo-widget-highlight__icon .mdi-icon-preview{color:inherit!important;font-size:18px;line-height:18px}.valtimo-widget-highlight__value{display:flex;align-items:baseline}.valtimo-widget-highlight__value-text{color:var(--widget-text-color, var(--cds-text-primary));font-weight:300;font-size:36px;line-height:1.2}.valtimo-widget-highlight__actions{display:flex;justify-content:flex-end;align-items:center}.valtimo-widget-highlight__actions:empty{display:none}\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: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$2.TranslatePipe, name: "translate" }, { kind: "component", type: MdiIconViewerComponent, selector: "valtimo-mdi-icon-viewer", inputs: ["mdiIcon"] }, { kind: "component", type: WidgetActionButtonComponent, selector: "valtimo-widget-action-button", inputs: ["widgetConfiguration", "resolvedData"] }, { kind: "ngmodule", type: SkeletonModule }, { kind: "component", type: i3.SkeletonText, selector: "cds-skeleton-text, ibm-skeleton-text", inputs: ["lines", "minLineWidth", "maxLineWidth"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
4538
|
+
}
|
|
4539
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetHighlightComponent, decorators: [{
|
|
4540
|
+
type: Component,
|
|
4541
|
+
args: [{ selector: 'valtimo-widget-highlight', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, imports: [
|
|
4542
|
+
CommonModule,
|
|
4543
|
+
TranslateModule,
|
|
4544
|
+
MdiIconViewerComponent,
|
|
4545
|
+
WidgetActionButtonComponent,
|
|
4546
|
+
SkeletonModule,
|
|
4547
|
+
], 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 widgetConfiguration: widgetConfiguration$ | async,\n widgetData: widgetData$ | async,\n displayValue: displayValue$ | async,\n hasValue: hasValue$ | async,\n } as obs\"\n>\n <header class=\"valtimo-widget-highlight__header\">\n <p class=\"valtimo-widget-highlight__title\" [attr.title]=\"obs.widgetConfiguration?.title\">\n {{ obs.widgetConfiguration?.title }}\n </p>\n\n <span *ngIf=\"obs.widgetConfiguration?.icon\" class=\"valtimo-widget-highlight__icon\">\n <valtimo-mdi-icon-viewer\n [mdiIcon]=\"obs.widgetConfiguration.icon\"\n ></valtimo-mdi-icon-viewer>\n </span>\n </header>\n\n <div class=\"valtimo-widget-highlight__value\">\n @if (!obs.widgetData) {\n <cds-skeleton-text [lines]=\"1\" [maxLineWidth]=\"60\"></cds-skeleton-text>\n } @else if (obs.hasValue) {\n <span class=\"valtimo-widget-highlight__value-text\" [attr.title]=\"obs.displayValue\">{{\n obs.displayValue\n }}</span>\n } @else {\n <span class=\"valtimo-widget-highlight__value-text\">{{\n 'widgets.highlight.noValue' | translate\n }}</span>\n }\n </div>\n\n <div class=\"valtimo-widget-highlight__actions\">\n <valtimo-widget-action-button\n [widgetConfiguration]=\"obs.widgetConfiguration\"\n [resolvedData]=\"obs.widgetData\"\n ></valtimo-widget-action-button>\n </div>\n</ng-container>\n", styles: [".valtimo-widget-highlight{display:flex;flex-direction:column;gap:16px;padding:24px;width:100%;height:100%;box-sizing:border-box;background-color:var(--cds-layer-01);color:var(--widget-text-color, var(--cds-text-primary));border-left:3px solid var(--widget-accent-color, var(--cds-border-subtle-01));overflow:hidden}.valtimo-widget-highlight__header{display:flex;align-items:center;justify-content:space-between;gap:8px}.valtimo-widget-highlight__title{margin:0;padding:0;color:#525252;font-weight:600;font-size:13px;line-height:24px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.valtimo-widget-highlight__icon{display:inline-flex;align-items:center;color:var(--widget-accent-color, var(--cds-icon-primary))}.valtimo-widget-highlight__icon .mdi-icon-preview{color:inherit!important;font-size:18px;line-height:18px}.valtimo-widget-highlight__value{display:flex;align-items:baseline}.valtimo-widget-highlight__value-text{color:var(--widget-text-color, var(--cds-text-primary));font-weight:300;font-size:36px;line-height:1.2}.valtimo-widget-highlight__actions{display:flex;justify-content:flex-end;align-items:center}.valtimo-widget-highlight__actions:empty{display:none}\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"] }]
|
|
4548
|
+
}], propDecorators: { hostClasses: [{
|
|
4549
|
+
type: HostBinding,
|
|
4550
|
+
args: ['class']
|
|
4551
|
+
}], widgetConfiguration: [{
|
|
4552
|
+
type: Input
|
|
4553
|
+
}], widgetData: [{
|
|
4554
|
+
type: Input
|
|
4555
|
+
}] } });
|
|
4556
|
+
|
|
4557
|
+
/*
|
|
4558
|
+
* Copyright 2015-2026 Ritense BV, the Netherlands.
|
|
4559
|
+
*
|
|
4560
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
4561
|
+
* you may not use this file except in compliance with the License.
|
|
4562
|
+
* You may obtain a copy of the License at
|
|
4563
|
+
*
|
|
4564
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
4565
|
+
*
|
|
4566
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
4567
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
4568
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
4569
|
+
* See the License for the specific language governing permissions and
|
|
4570
|
+
* limitations under the License.
|
|
4571
|
+
*/
|
|
4572
|
+
|
|
4573
|
+
/*
|
|
4574
|
+
* Copyright 2015-2026 Ritense BV, the Netherlands.
|
|
4575
|
+
*
|
|
4576
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
4577
|
+
* you may not use this file except in compliance with the License.
|
|
4578
|
+
* You may obtain a copy of the License at
|
|
4579
|
+
*
|
|
4580
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
4581
|
+
*
|
|
4582
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
4583
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
4584
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
4585
|
+
* See the License for the specific language governing permissions and
|
|
4586
|
+
* limitations under the License.
|
|
4587
|
+
*/
|
|
4588
|
+
class WidgetMetrolineComponent {
|
|
4589
|
+
set widgetConfiguration(value) {
|
|
4590
|
+
if (!value)
|
|
4591
|
+
return;
|
|
4592
|
+
this.widgetConfiguration$.next(value);
|
|
4593
|
+
}
|
|
4594
|
+
set widgetData(value) {
|
|
4595
|
+
this.widgetData$.next(value);
|
|
4596
|
+
}
|
|
4597
|
+
constructor(datePipe, iconService) {
|
|
4598
|
+
this.datePipe = datePipe;
|
|
4599
|
+
this.iconService = iconService;
|
|
4600
|
+
this.class = 'valtimo-widget-metroline';
|
|
4601
|
+
this.widgetConfiguration$ = new BehaviorSubject(null);
|
|
4602
|
+
this.widgetData$ = new BehaviorSubject(null);
|
|
4603
|
+
this.orientation$ = this.widgetConfiguration$.pipe(map(config => config?.properties?.orientation === MetrolineOrientation.VERTICAL ? 'vertical' : 'horizontal'));
|
|
4604
|
+
this.displayState$ = combineLatest([
|
|
4605
|
+
this.widgetData$,
|
|
4606
|
+
this.widgetConfiguration$,
|
|
4607
|
+
]).pipe(map(([items, config]) => {
|
|
4608
|
+
const mode = config?.properties?.mode ?? MetrolineMode.INTERNAL_CASE_STATUS;
|
|
4609
|
+
return {
|
|
4610
|
+
steps: this.toSteps(items, mode),
|
|
4611
|
+
currentStepIndex: this.toCurrentStepIndex(items, mode),
|
|
4612
|
+
};
|
|
4613
|
+
}));
|
|
4614
|
+
this.isEmptyWidgetData$ = this.widgetData$.pipe(map(items => Array.isArray(items) && items.length === 0));
|
|
4615
|
+
this.skeletonSteps = Array.from({ length: METROLINE_SKELETON_STEP_COUNT });
|
|
4616
|
+
this.stepIcons = METROLINE_STEP_ICONS;
|
|
4617
|
+
this.stepStateTranslationKeys = METROLINE_STEP_STATE_TRANSLATION_KEYS;
|
|
4618
|
+
this.iconService.registerAll([Information16]);
|
|
4619
|
+
}
|
|
4620
|
+
getStepState(step, index, currentIndex) {
|
|
4621
|
+
if (index === currentIndex)
|
|
4622
|
+
return MetrolineStepState.CURRENT;
|
|
4623
|
+
if (step.invalid)
|
|
4624
|
+
return MetrolineStepState.INVALID;
|
|
4625
|
+
if (step.complete)
|
|
4626
|
+
return MetrolineStepState.COMPLETE;
|
|
4627
|
+
return MetrolineStepState.INCOMPLETE;
|
|
4628
|
+
}
|
|
4629
|
+
toSteps(items, mode) {
|
|
4630
|
+
if (!items?.length)
|
|
4631
|
+
return [];
|
|
4632
|
+
if (mode === MetrolineMode.ZAAKSTATUS) {
|
|
4633
|
+
return items.map(item => ({
|
|
4634
|
+
label: item.title,
|
|
4635
|
+
secondaryLabel: this.formatCompleted(item.completed),
|
|
4636
|
+
complete: item.completed != null,
|
|
4637
|
+
itemLabel: item.label,
|
|
4638
|
+
}));
|
|
4639
|
+
}
|
|
4640
|
+
const lastIndex = items.length - 1;
|
|
4641
|
+
return items.map((item, index) => ({
|
|
4642
|
+
label: item.title,
|
|
4643
|
+
secondaryLabel: this.formatCompleted(item.completed),
|
|
4644
|
+
complete: index < lastIndex,
|
|
4645
|
+
itemLabel: item.label,
|
|
4646
|
+
}));
|
|
4647
|
+
}
|
|
4648
|
+
toCurrentStepIndex(items, mode) {
|
|
4649
|
+
if (!items?.length)
|
|
4650
|
+
return 0;
|
|
4651
|
+
if (mode === MetrolineMode.ZAAKSTATUS) {
|
|
4652
|
+
const firstNotCompleted = items.findIndex(item => item.completed == null);
|
|
4653
|
+
return firstNotCompleted === -1 ? items.length : firstNotCompleted;
|
|
4654
|
+
}
|
|
4655
|
+
return items.length - 1;
|
|
4656
|
+
}
|
|
4657
|
+
formatCompleted(completed) {
|
|
4658
|
+
if (!completed)
|
|
4659
|
+
return undefined;
|
|
4660
|
+
return this.datePipe.transform(completed, 'dd-MM-yyyy HH:mm') ?? undefined;
|
|
4661
|
+
}
|
|
4662
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetMetrolineComponent, deps: [{ token: i4.DatePipe }, { token: i3.IconService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4663
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: WidgetMetrolineComponent, isStandalone: true, selector: "valtimo-widget-metroline", inputs: { widgetConfiguration: "widgetConfiguration", widgetData: "widgetData" }, host: { properties: { "class": "this.class" } }, providers: [DatePipe], 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 widgetConfiguration: widgetConfiguration$ | async,\n widgetData: widgetData$ | async,\n displayState: displayState$ | async,\n orientation: orientation$ | async,\n isEmptyWidgetData: isEmptyWidgetData$ | async,\n } as obs\"\n>\n @if (obs.widgetConfiguration?.title) {\n <section class=\"valtimo-widget-metroline__header\">\n <div class=\"valtimo-widget-metroline__title-container\">\n @if (obs.widgetConfiguration?.icon) {\n <valtimo-mdi-icon-viewer\n [mdiIcon]=\"obs.widgetConfiguration.icon\"\n ></valtimo-mdi-icon-viewer>\n }\n\n <h4 class=\"valtimo-widget-metroline__title\">{{ obs.widgetConfiguration?.title }}</h4>\n </div>\n\n <ng-content></ng-content>\n\n @if (obs.widgetConfiguration) {\n <valtimo-widget-action-button\n [widgetConfiguration]=\"obs.widgetConfiguration\"\n [resolvedData]=\"obs.widgetData\"\n ></valtimo-widget-action-button>\n }\n </section>\n }\n\n <div\n class=\"valtimo-widget-metroline__body\"\n [class.valtimo-widget-metroline__body--vertical]=\"obs.orientation === 'vertical'\"\n >\n @if (obs.isEmptyWidgetData) {\n <valtimo-no-results\n [collapseVertically]=\"true\"\n [description]=\"'widgets.noData' | translate\"\n [smallPadding]=\"true\"\n ></valtimo-no-results>\n } @else if (obs.widgetData === null) {\n <ul\n data-progress\n data-progress-current\n class=\"cds--progress\"\n [class.cds--progress--vertical]=\"obs.orientation === 'vertical'\"\n [class.cds--progress--space-equal]=\"obs.orientation !== 'vertical'\"\n >\n @for (placeholder of skeletonSteps; track $index) {\n <li class=\"cds--progress-step cds--progress-step--incomplete\">\n <div class=\"cds--progress-step-button cds--progress-step-button--unclickable\">\n <svg cdsIcon=\"circle-dash\" size=\"16\"></svg>\n <div class=\"cds--progress-text valtimo-widget-metroline__step-text\">\n <cds-skeleton-text [lines]=\"1\" [maxLineWidth]=\"80\"></cds-skeleton-text>\n </div>\n <span class=\"cds--progress-line\"></span>\n </div>\n </li>\n }\n </ul>\n } @else {\n <ul\n data-progress\n data-progress-current\n class=\"cds--progress\"\n [class.cds--progress--vertical]=\"obs.orientation === 'vertical'\"\n [class.cds--progress--space-equal]=\"obs.orientation !== 'vertical'\"\n >\n @for (step of obs.displayState?.steps ?? []; track $index; let i = $index) {\n @let state = getStepState(step, i, obs.displayState?.currentStepIndex ?? 0);\n <li\n class=\"cds--progress-step\"\n [class.cds--progress-step--complete]=\"step.complete\"\n [class.cds--progress-step--incomplete]=\"\n !step.complete && i !== obs.displayState?.currentStepIndex\n \"\n [class.cds--progress-step--current]=\"i === obs.displayState?.currentStepIndex\"\n >\n <div\n class=\"cds--progress-step-button cds--progress-step-button--unclickable\"\n [title]=\"step.label\"\n >\n <span class=\"cds--assistive-text\">\n {{ stepStateTranslationKeys[state] | translate }}\n </span>\n <svg\n [cdsIcon]=\"stepIcons[state]\"\n size=\"16\"\n [class.cds--progress__warning]=\"\n step.invalid && i !== obs.displayState?.currentStepIndex\n \"\n ></svg>\n <div class=\"cds--progress-text valtimo-widget-metroline__step-text\">\n <div class=\"valtimo-widget-metroline__step-label-row\">\n <p class=\"cds--progress-label\">{{ step.label }}</p>\n @if (step.itemLabel) {\n <cds-toggletip align=\"bottom\" [autoAlign]=\"true\">\n <button\n cdsToggletipButton\n [removeClassnames]=\"['cds--toggletip-button']\"\n type=\"button\"\n class=\"valtimo-widget-metroline__step-info\"\n >\n <svg cdsIcon=\"information\" size=\"16\"></svg>\n </button>\n <div\n cdsToggletipContent\n class=\"valtimo-widget-metroline__step-toggletip-content\"\n >\n {{ step.itemLabel }}\n </div>\n </cds-toggletip>\n }\n </div>\n @if (step.secondaryLabel) {\n <p class=\"cds--progress-optional\">\n {{ step.secondaryLabel }}\n </p>\n }\n </div>\n <span class=\"cds--progress-line\"></span>\n </div>\n </li>\n }\n </ul>\n }\n </div>\n</ng-container>\n", styles: [".valtimo-widget-metroline{display:flex;flex-direction:column;gap:16px}.valtimo-widget-metroline__header{display:flex;align-items:center;gap:16px;padding:16px 16px 0}.valtimo-widget-metroline__title-container{display:flex;align-items:center;gap:8px;flex:1}.valtimo-widget-metroline__title{margin:0;font-size:16px;font-weight:600;line-height:22px}.valtimo-widget-metroline__body{padding:16px;overflow-x:auto}.valtimo-widget-metroline__body .cds--progress-step{min-width:160px}.valtimo-widget-metroline__body .cds--progress-label,.valtimo-widget-metroline__body .cds--progress-optional{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:140px}.valtimo-widget-metroline__body--vertical{overflow-x:visible}.valtimo-widget-metroline__body--vertical .cds--progress-step{min-width:0}.valtimo-widget-metroline__body--vertical .cds--progress-label,.valtimo-widget-metroline__body--vertical .cds--progress-optional{overflow:visible;text-overflow:clip;white-space:normal;max-width:none}.valtimo-widget-metroline__step-text{flex:1;min-width:0}.valtimo-widget-metroline__step-label-row{display:flex;align-items:center;gap:4px}.valtimo-widget-metroline__step-info{display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;background:none;color:inherit;cursor:pointer;flex-shrink:0}.valtimo-widget-metroline__step-info svg{width:16px;height:16px}.valtimo-widget-metroline__step-toggletip-content{word-break:break-word}\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: CarbonListModule }, { kind: "component", type: i1$1.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i3.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: MdiIconViewerComponent, selector: "valtimo-mdi-icon-viewer", inputs: ["mdiIcon"] }, { kind: "directive", type: RemoveClassnamesDirective, selector: "[removeClassnames]", inputs: ["removeClassnames"] }, { kind: "ngmodule", type: SkeletonModule }, { kind: "component", type: i3.SkeletonText, selector: "cds-skeleton-text, ibm-skeleton-text", inputs: ["lines", "minLineWidth", "maxLineWidth"] }, { kind: "ngmodule", type: ToggletipModule }, { kind: "component", type: i3.Toggletip, selector: "cds-toggletip, ibm-toggletip", inputs: ["id", "isOpen"] }, { kind: "directive", type: i3.ToggletipButton, selector: "[cdsToggletipButton], [ibmToggletipButton]", inputs: ["ariaLabel"] }, { kind: "directive", type: i3.ToggletipContent, selector: "[cdsToggletipContent], [ibmToggletipContent]" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$2.TranslatePipe, name: "translate" }, { kind: "component", type: WidgetActionButtonComponent, selector: "valtimo-widget-action-button", inputs: ["widgetConfiguration", "resolvedData"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
4664
|
+
}
|
|
4665
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetMetrolineComponent, decorators: [{
|
|
4666
|
+
type: Component,
|
|
4667
|
+
args: [{ selector: 'valtimo-widget-metroline', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, imports: [
|
|
4668
|
+
CarbonListModule,
|
|
4669
|
+
CommonModule,
|
|
4670
|
+
IconModule,
|
|
4671
|
+
MdiIconViewerComponent,
|
|
4672
|
+
RemoveClassnamesDirective,
|
|
4673
|
+
SkeletonModule,
|
|
4674
|
+
ToggletipModule,
|
|
4675
|
+
TranslateModule,
|
|
4676
|
+
WidgetActionButtonComponent,
|
|
4677
|
+
], providers: [DatePipe], 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 widgetConfiguration: widgetConfiguration$ | async,\n widgetData: widgetData$ | async,\n displayState: displayState$ | async,\n orientation: orientation$ | async,\n isEmptyWidgetData: isEmptyWidgetData$ | async,\n } as obs\"\n>\n @if (obs.widgetConfiguration?.title) {\n <section class=\"valtimo-widget-metroline__header\">\n <div class=\"valtimo-widget-metroline__title-container\">\n @if (obs.widgetConfiguration?.icon) {\n <valtimo-mdi-icon-viewer\n [mdiIcon]=\"obs.widgetConfiguration.icon\"\n ></valtimo-mdi-icon-viewer>\n }\n\n <h4 class=\"valtimo-widget-metroline__title\">{{ obs.widgetConfiguration?.title }}</h4>\n </div>\n\n <ng-content></ng-content>\n\n @if (obs.widgetConfiguration) {\n <valtimo-widget-action-button\n [widgetConfiguration]=\"obs.widgetConfiguration\"\n [resolvedData]=\"obs.widgetData\"\n ></valtimo-widget-action-button>\n }\n </section>\n }\n\n <div\n class=\"valtimo-widget-metroline__body\"\n [class.valtimo-widget-metroline__body--vertical]=\"obs.orientation === 'vertical'\"\n >\n @if (obs.isEmptyWidgetData) {\n <valtimo-no-results\n [collapseVertically]=\"true\"\n [description]=\"'widgets.noData' | translate\"\n [smallPadding]=\"true\"\n ></valtimo-no-results>\n } @else if (obs.widgetData === null) {\n <ul\n data-progress\n data-progress-current\n class=\"cds--progress\"\n [class.cds--progress--vertical]=\"obs.orientation === 'vertical'\"\n [class.cds--progress--space-equal]=\"obs.orientation !== 'vertical'\"\n >\n @for (placeholder of skeletonSteps; track $index) {\n <li class=\"cds--progress-step cds--progress-step--incomplete\">\n <div class=\"cds--progress-step-button cds--progress-step-button--unclickable\">\n <svg cdsIcon=\"circle-dash\" size=\"16\"></svg>\n <div class=\"cds--progress-text valtimo-widget-metroline__step-text\">\n <cds-skeleton-text [lines]=\"1\" [maxLineWidth]=\"80\"></cds-skeleton-text>\n </div>\n <span class=\"cds--progress-line\"></span>\n </div>\n </li>\n }\n </ul>\n } @else {\n <ul\n data-progress\n data-progress-current\n class=\"cds--progress\"\n [class.cds--progress--vertical]=\"obs.orientation === 'vertical'\"\n [class.cds--progress--space-equal]=\"obs.orientation !== 'vertical'\"\n >\n @for (step of obs.displayState?.steps ?? []; track $index; let i = $index) {\n @let state = getStepState(step, i, obs.displayState?.currentStepIndex ?? 0);\n <li\n class=\"cds--progress-step\"\n [class.cds--progress-step--complete]=\"step.complete\"\n [class.cds--progress-step--incomplete]=\"\n !step.complete && i !== obs.displayState?.currentStepIndex\n \"\n [class.cds--progress-step--current]=\"i === obs.displayState?.currentStepIndex\"\n >\n <div\n class=\"cds--progress-step-button cds--progress-step-button--unclickable\"\n [title]=\"step.label\"\n >\n <span class=\"cds--assistive-text\">\n {{ stepStateTranslationKeys[state] | translate }}\n </span>\n <svg\n [cdsIcon]=\"stepIcons[state]\"\n size=\"16\"\n [class.cds--progress__warning]=\"\n step.invalid && i !== obs.displayState?.currentStepIndex\n \"\n ></svg>\n <div class=\"cds--progress-text valtimo-widget-metroline__step-text\">\n <div class=\"valtimo-widget-metroline__step-label-row\">\n <p class=\"cds--progress-label\">{{ step.label }}</p>\n @if (step.itemLabel) {\n <cds-toggletip align=\"bottom\" [autoAlign]=\"true\">\n <button\n cdsToggletipButton\n [removeClassnames]=\"['cds--toggletip-button']\"\n type=\"button\"\n class=\"valtimo-widget-metroline__step-info\"\n >\n <svg cdsIcon=\"information\" size=\"16\"></svg>\n </button>\n <div\n cdsToggletipContent\n class=\"valtimo-widget-metroline__step-toggletip-content\"\n >\n {{ step.itemLabel }}\n </div>\n </cds-toggletip>\n }\n </div>\n @if (step.secondaryLabel) {\n <p class=\"cds--progress-optional\">\n {{ step.secondaryLabel }}\n </p>\n }\n </div>\n <span class=\"cds--progress-line\"></span>\n </div>\n </li>\n }\n </ul>\n }\n </div>\n</ng-container>\n", styles: [".valtimo-widget-metroline{display:flex;flex-direction:column;gap:16px}.valtimo-widget-metroline__header{display:flex;align-items:center;gap:16px;padding:16px 16px 0}.valtimo-widget-metroline__title-container{display:flex;align-items:center;gap:8px;flex:1}.valtimo-widget-metroline__title{margin:0;font-size:16px;font-weight:600;line-height:22px}.valtimo-widget-metroline__body{padding:16px;overflow-x:auto}.valtimo-widget-metroline__body .cds--progress-step{min-width:160px}.valtimo-widget-metroline__body .cds--progress-label,.valtimo-widget-metroline__body .cds--progress-optional{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:140px}.valtimo-widget-metroline__body--vertical{overflow-x:visible}.valtimo-widget-metroline__body--vertical .cds--progress-step{min-width:0}.valtimo-widget-metroline__body--vertical .cds--progress-label,.valtimo-widget-metroline__body--vertical .cds--progress-optional{overflow:visible;text-overflow:clip;white-space:normal;max-width:none}.valtimo-widget-metroline__step-text{flex:1;min-width:0}.valtimo-widget-metroline__step-label-row{display:flex;align-items:center;gap:4px}.valtimo-widget-metroline__step-info{display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;background:none;color:inherit;cursor:pointer;flex-shrink:0}.valtimo-widget-metroline__step-info svg{width:16px;height:16px}.valtimo-widget-metroline__step-toggletip-content{word-break:break-word}\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"] }]
|
|
4678
|
+
}], ctorParameters: () => [{ type: i4.DatePipe }, { type: i3.IconService }], propDecorators: { class: [{
|
|
4679
|
+
type: HostBinding,
|
|
4680
|
+
args: ['class']
|
|
4681
|
+
}], widgetConfiguration: [{
|
|
4682
|
+
type: Input
|
|
4683
|
+
}], widgetData: [{
|
|
4684
|
+
type: Input
|
|
4685
|
+
}] } });
|
|
4686
|
+
|
|
4687
|
+
/*
|
|
4688
|
+
* Copyright 2015-2026 Ritense BV, the Netherlands.
|
|
4689
|
+
*
|
|
4690
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
4691
|
+
* you may not use this file except in compliance with the License.
|
|
4692
|
+
* You may obtain a copy of the License at
|
|
4693
|
+
*
|
|
4694
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
4695
|
+
*
|
|
4696
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
4697
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
4698
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
4699
|
+
* See the License for the specific language governing permissions and
|
|
4700
|
+
* limitations under the License.
|
|
4701
|
+
*/
|
|
4702
|
+
|
|
4703
|
+
/*
|
|
4704
|
+
* Copyright 2015-2025 Ritense BV, the Netherlands.
|
|
4705
|
+
*
|
|
4706
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
4707
|
+
* you may not use this file except in compliance with the License.
|
|
4708
|
+
* You may obtain a copy of the License at
|
|
4709
|
+
*
|
|
4710
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
4711
|
+
*
|
|
4712
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
4713
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
4714
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
4715
|
+
* See the License for the specific language governing permissions and
|
|
4716
|
+
* limitations under the License.
|
|
4717
|
+
*/
|
|
4718
|
+
|
|
4719
|
+
/*
|
|
4720
|
+
* Copyright 2015-2025 Ritense BV, the Netherlands.
|
|
4721
|
+
*
|
|
4722
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
4723
|
+
* you may not use this file except in compliance with the License.
|
|
4724
|
+
* You may obtain a copy of the License at
|
|
4725
|
+
*
|
|
4726
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
4727
|
+
*
|
|
4728
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
4729
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
4730
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
4731
|
+
* See the License for the specific language governing permissions and
|
|
4732
|
+
* limitations under the License.
|
|
4733
|
+
*/
|
|
4734
|
+
const WIDGET_WIDTH_1X = 320;
|
|
4735
|
+
const WIDGET_HEIGHT_1X = 200;
|
|
4736
|
+
const DEFAULT_WIDGET_COMPONENT_MAP = {
|
|
4737
|
+
[WidgetType.FORMIO]: WidgetFormioComponent,
|
|
4738
|
+
[WidgetType.CUSTOM]: WidgetCustomComponent,
|
|
4739
|
+
[WidgetType.COLLECTION]: WidgetCollectionComponent,
|
|
4740
|
+
[WidgetType.TABLE]: WidgetTableComponent,
|
|
4741
|
+
[WidgetType.INTERACTIVE_TABLE]: WidgetInteractiveTableComponent,
|
|
4742
|
+
[WidgetType.FIELDS]: WidgetFieldComponent,
|
|
4743
|
+
[WidgetType.MAP]: WidgetMapComponent,
|
|
4744
|
+
[WidgetType.METROLINE]: WidgetMetrolineComponent,
|
|
4745
|
+
[WidgetType.PERSON_CARD]: WidgetPersonCardComponent,
|
|
4746
|
+
[WidgetType.HIGHLIGHT]: WidgetHighlightComponent,
|
|
4747
|
+
};
|
|
4748
|
+
|
|
4749
|
+
/*
|
|
4750
|
+
* Copyright 2015-2025 Ritense BV, the Netherlands.
|
|
4751
|
+
*
|
|
4752
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
4753
|
+
* you may not use this file except in compliance with the License.
|
|
4754
|
+
* You may obtain a copy of the License at
|
|
4755
|
+
*
|
|
4756
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
4757
|
+
*
|
|
4758
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
4759
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
4760
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
4761
|
+
* See the License for the specific language governing permissions and
|
|
4762
|
+
* limitations under the License.
|
|
4763
|
+
*/
|
|
4764
|
+
const WIDGET_MANAGEMENT_SERVICE = new InjectionToken('WIDGET_MANAGEMENT_SERVICE');
|
|
4765
|
+
|
|
4766
|
+
/*
|
|
4767
|
+
* Copyright 2015-2026 Ritense BV, the Netherlands.
|
|
4768
|
+
*
|
|
4769
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
4770
|
+
* you may not use this file except in compliance with the License.
|
|
4771
|
+
* You may obtain a copy of the License at
|
|
4772
|
+
*
|
|
4773
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
4774
|
+
*
|
|
4775
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
4776
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
4777
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
4778
|
+
* See the License for the specific language governing permissions and
|
|
4779
|
+
* limitations under the License.
|
|
4780
|
+
*/
|
|
4781
|
+
const METROLINE_MODE_OPTIONS = [
|
|
4782
|
+
MetrolineMode.INTERNAL_CASE_STATUS,
|
|
4783
|
+
MetrolineMode.ZAAKSTATUS,
|
|
4784
|
+
];
|
|
4785
|
+
const METROLINE_MODE_TRANSLATION_KEYS = {
|
|
4786
|
+
[MetrolineMode.INTERNAL_CASE_STATUS]: 'widgetTabManagement.content.metroline.statusSource.internalStatus',
|
|
4787
|
+
[MetrolineMode.ZAAKSTATUS]: 'widgetTabManagement.content.metroline.statusSource.zaakStatus',
|
|
4788
|
+
};
|
|
4789
|
+
|
|
4790
|
+
/*
|
|
4791
|
+
* Copyright 2015-2026 Ritense BV, the Netherlands.
|
|
4792
|
+
*
|
|
4793
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
4794
|
+
* you may not use this file except in compliance with the License.
|
|
4795
|
+
* You may obtain a copy of the License at
|
|
4796
|
+
*
|
|
4797
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
4798
|
+
*
|
|
4799
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
4800
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
4801
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
4802
|
+
* See the License for the specific language governing permissions and
|
|
4803
|
+
* limitations under the License.
|
|
4804
|
+
*/
|
|
4805
|
+
const METROLINE_STEP_ICONS = {
|
|
4806
|
+
[MetrolineStepState.CURRENT]: 'incomplete',
|
|
4807
|
+
[MetrolineStepState.COMPLETE]: 'checkmark--outline',
|
|
4808
|
+
[MetrolineStepState.INVALID]: 'warning',
|
|
4809
|
+
[MetrolineStepState.INCOMPLETE]: 'circle-dash',
|
|
4810
|
+
};
|
|
4811
|
+
const METROLINE_STEP_STATE_TRANSLATION_KEYS = {
|
|
4812
|
+
[MetrolineStepState.CURRENT]: 'widgets.metroline.stepState.current',
|
|
4813
|
+
[MetrolineStepState.COMPLETE]: 'widgets.metroline.stepState.complete',
|
|
4814
|
+
[MetrolineStepState.INVALID]: 'widgets.metroline.stepState.invalid',
|
|
4815
|
+
[MetrolineStepState.INCOMPLETE]: 'widgets.metroline.stepState.incomplete',
|
|
4816
|
+
};
|
|
4817
|
+
const METROLINE_SKELETON_STEP_COUNT = 4;
|
|
4818
|
+
|
|
4819
|
+
/*
|
|
4820
|
+
* Copyright 2015-2026 Ritense BV, the Netherlands.
|
|
4821
|
+
*
|
|
4822
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
4823
|
+
* you may not use this file except in compliance with the License.
|
|
4824
|
+
* You may obtain a copy of the License at
|
|
4825
|
+
*
|
|
4826
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
4827
|
+
*
|
|
4828
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
4829
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
4830
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
4831
|
+
* See the License for the specific language governing permissions and
|
|
4832
|
+
* limitations under the License.
|
|
4833
|
+
*/
|
|
4834
|
+
const WIDGET_COLOR_ITEMS = [
|
|
4835
|
+
WidgetColor.WHITE,
|
|
4836
|
+
WidgetColor.HIGHCONTRAST,
|
|
4837
|
+
WidgetColor.BLUE,
|
|
4838
|
+
WidgetColor.PERIWINKLE,
|
|
4839
|
+
WidgetColor.PURPLE,
|
|
4840
|
+
WidgetColor.TURQOISE,
|
|
4841
|
+
WidgetColor.GREEN,
|
|
4842
|
+
WidgetColor.BROWN,
|
|
4843
|
+
WidgetColor.RED,
|
|
4844
|
+
WidgetColor.ORANGE,
|
|
4845
|
+
WidgetColor.YELLOW,
|
|
4846
|
+
];
|
|
4847
|
+
const DEFAULT_WIDGET_COLOR_THEME = {
|
|
4848
|
+
light: { text: null, accent: null, background: null, layer: null },
|
|
4849
|
+
dark: { text: null, accent: null, background: null, layer: null },
|
|
4850
|
+
};
|
|
4851
|
+
const WIDGET_COLOR_THEME_MAP = {
|
|
4852
|
+
[WidgetColor.WHITE]: DEFAULT_WIDGET_COLOR_THEME,
|
|
4853
|
+
[WidgetColor.HIGHCONTRAST]: {
|
|
4854
|
+
light: {
|
|
4855
|
+
text: '#F4F4F4',
|
|
4856
|
+
accent: '#393939',
|
|
4857
|
+
background: '#161616',
|
|
4858
|
+
layer: '#262626',
|
|
4859
|
+
},
|
|
4860
|
+
dark: {
|
|
4861
|
+
text: '#161616',
|
|
4862
|
+
accent: '#C6C6C6',
|
|
4863
|
+
background: '#FFFFFF',
|
|
4864
|
+
layer: '#F4F4F4',
|
|
4865
|
+
},
|
|
4866
|
+
},
|
|
4867
|
+
[WidgetColor.BLUE]: {
|
|
4868
|
+
light: {
|
|
4869
|
+
text: '#314A5EFF',
|
|
4870
|
+
accent: '#468CBEFF',
|
|
4871
|
+
background: '#E2EDF5FF',
|
|
4872
|
+
layer: '#F6FBFFFF',
|
|
4873
|
+
},
|
|
4874
|
+
dark: {
|
|
4875
|
+
text: '#E2EDF5FF',
|
|
4876
|
+
accent: '#468CBEFF',
|
|
4877
|
+
background: '#314A5EFF',
|
|
4878
|
+
layer: '#1A2D3CFF',
|
|
4879
|
+
},
|
|
4880
|
+
},
|
|
4881
|
+
[WidgetColor.PERIWINKLE]: {
|
|
4882
|
+
light: {
|
|
4883
|
+
text: '#1A146AFF',
|
|
4884
|
+
accent: '#4A42BEFF',
|
|
4885
|
+
background: '#D5D3F0FF',
|
|
4886
|
+
layer: '#EBEAFDFF',
|
|
4887
|
+
},
|
|
4888
|
+
dark: {
|
|
4889
|
+
text: '#D5D3F0FF',
|
|
4890
|
+
accent: '#4A42BEFF',
|
|
4891
|
+
background: '#1A146AFF',
|
|
4892
|
+
layer: '#0B0742FF',
|
|
4893
|
+
},
|
|
4894
|
+
},
|
|
4895
|
+
[WidgetColor.PURPLE]: {
|
|
4896
|
+
light: {
|
|
4897
|
+
text: '#603361FF',
|
|
4898
|
+
accent: '#B965BCFF',
|
|
4899
|
+
background: '#F4E6F4FF',
|
|
4900
|
+
layer: '#FBF5FBFF',
|
|
4901
|
+
},
|
|
4902
|
+
dark: {
|
|
4903
|
+
text: '#F4E6F4FF',
|
|
4904
|
+
accent: '#B965BCFF',
|
|
4905
|
+
background: '#603361FF',
|
|
4906
|
+
layer: '#3F203FFF',
|
|
4907
|
+
},
|
|
4908
|
+
},
|
|
4909
|
+
[WidgetColor.TURQOISE]: {
|
|
4910
|
+
light: {
|
|
4911
|
+
text: '#297063FF',
|
|
4912
|
+
accent: '#359C85FF',
|
|
4913
|
+
background: '#ECF8F6FF',
|
|
4914
|
+
layer: '#F8FFFEFF',
|
|
4915
|
+
},
|
|
4916
|
+
dark: {
|
|
4917
|
+
text: '#ECF8F6FF',
|
|
4918
|
+
accent: '#359C85FF',
|
|
4919
|
+
background: '#297063FF',
|
|
4920
|
+
layer: '#184A40FF',
|
|
4921
|
+
},
|
|
4922
|
+
},
|
|
4923
|
+
[WidgetColor.GREEN]: {
|
|
4924
|
+
light: {
|
|
4925
|
+
text: '#245B25FF',
|
|
4926
|
+
accent: '#3F9C40FF',
|
|
4927
|
+
background: '#E8F3E8FF',
|
|
4928
|
+
layer: '#F8FFF8FF',
|
|
4929
|
+
},
|
|
4930
|
+
dark: {
|
|
4931
|
+
text: '#E8F3E8FF',
|
|
4932
|
+
accent: '#3F9C40FF',
|
|
4933
|
+
background: '#245B25FF',
|
|
4934
|
+
layer: '#153C15FF',
|
|
4935
|
+
},
|
|
4936
|
+
},
|
|
4937
|
+
[WidgetColor.BROWN]: {
|
|
4938
|
+
light: {
|
|
4939
|
+
text: '#6E5326FF',
|
|
4940
|
+
accent: '#A07837FF',
|
|
4941
|
+
background: '#ECE4D7FF',
|
|
4942
|
+
layer: '#F6F2EBFF',
|
|
4943
|
+
},
|
|
4944
|
+
dark: {
|
|
4945
|
+
text: '#ECE4D7FF',
|
|
4946
|
+
accent: '#A07837FF',
|
|
4947
|
+
background: '#6E5326FF',
|
|
4948
|
+
layer: '#493617FF',
|
|
4949
|
+
},
|
|
4950
|
+
},
|
|
4951
|
+
[WidgetColor.RED]: {
|
|
4952
|
+
light: {
|
|
4953
|
+
text: '#7C2C2DFF',
|
|
4954
|
+
accent: '#D34F51FF',
|
|
4955
|
+
background: '#F6DCDCFF',
|
|
4443
4956
|
layer: '#FFEBEBFF',
|
|
4444
4957
|
},
|
|
4445
4958
|
dark: {
|
|
@@ -4478,6 +4991,26 @@ const WIDGET_COLOR_THEME_MAP = {
|
|
|
4478
4991
|
},
|
|
4479
4992
|
},
|
|
4480
4993
|
};
|
|
4994
|
+
const WIDGET_COLOR_TO_TAG_TYPE = {
|
|
4995
|
+
[WidgetColor.HIGHCONTRAST]: 'high-contrast',
|
|
4996
|
+
[WidgetColor.BLUE]: 'blue',
|
|
4997
|
+
[WidgetColor.PURPLE]: 'purple',
|
|
4998
|
+
[WidgetColor.TURQOISE]: 'teal',
|
|
4999
|
+
[WidgetColor.GREEN]: 'green',
|
|
5000
|
+
[WidgetColor.BROWN]: 'warm-gray',
|
|
5001
|
+
[WidgetColor.RED]: 'red',
|
|
5002
|
+
};
|
|
5003
|
+
const AVATAR_COLOR_PALETTE = [
|
|
5004
|
+
WidgetColor.BLUE,
|
|
5005
|
+
WidgetColor.PERIWINKLE,
|
|
5006
|
+
WidgetColor.PURPLE,
|
|
5007
|
+
WidgetColor.TURQOISE,
|
|
5008
|
+
WidgetColor.GREEN,
|
|
5009
|
+
WidgetColor.BROWN,
|
|
5010
|
+
WidgetColor.RED,
|
|
5011
|
+
WidgetColor.ORANGE,
|
|
5012
|
+
WidgetColor.YELLOW,
|
|
5013
|
+
];
|
|
4481
5014
|
const WIDGET_COLOR_ILLUSTRATION_MAP = {
|
|
4482
5015
|
[WidgetColor.YELLOW]: 'valtimo-layout/img/widget-management/color/yellow.svg',
|
|
4483
5016
|
[WidgetColor.ORANGE]: 'valtimo-layout/img/widget-management/color/orange.svg',
|
|
@@ -4712,8 +5245,8 @@ class WidgetManagementFieldsColumnComponent {
|
|
|
4712
5245
|
this.columnUpdateEvent.emit({ data: mappedRows, valid: this.formGroup.valid });
|
|
4713
5246
|
}));
|
|
4714
5247
|
}
|
|
4715
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetManagementFieldsColumnComponent, deps: [{ token: i1.CdsThemeService }, { token: i0.ChangeDetectorRef }, { token: i1$3.FormBuilder }, { token: i3.IconService }, { token: i2$
|
|
4716
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: WidgetManagementFieldsColumnComponent, isStandalone: true, selector: "valtimo-widget-management-fields-column", inputs: { columnData: "columnData", addTranslateKey: "addTranslateKey", fieldWidthDropdown: "fieldWidthDropdown", selectedCollection: "selectedCollection", showHideWhenEmptyCheckbox: "showHideWhenEmptyCheckbox", showSortableCheckbox: "showSortableCheckbox" }, outputs: { columnUpdateEvent: "columnUpdateEvent" }, host: { properties: { "class": "this.class" } }, 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<form\n *ngIf=\"{\n inputTheme: inputTheme$ | async,\n params: params$ | async,\n widgetType: $widgetType() === 'interactive-table' ? 'table' : $widgetType(),\n defaultSortIndex: defaultSortIndexForTemplate$ | async,\n isInteractiveTable: $widgetType() === 'interactive-table',\n } as data\"\n class=\"valtimo-widget-management-field-column\"\n [formGroup]=\"formGroup\"\n>\n <cds-accordion formArrayName=\"rows\" align=\"start\" size=\"sm\">\n @for (formRow of formRows.controls; track $index) {\n <cds-accordion-item\n [title]=\"fieldTitle\"\n [context]=\"{\n count: $count,\n index: $index,\n title: formRow.get('title')?.value,\n defaultSortIndex: data.defaultSortIndex,\n }\"\n [expanded]=\"$index === 0\"\n class=\"valtimo-widget-management-field-column__item\"\n >\n <form [formGroup]=\"formRow\" class=\"valtimo-widget-management-field-column__container\">\n <div\n class=\"valtimo-widget-management-field-column__content\"\n [class.valtimo-widget-management-field-column__content--collection]=\"\n !!fieldWidthDropdown\n \"\n >\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.title' | translate\"\n [tooltip]=\"\n 'widgetTabManagement.content.' + data.widgetType + '.titleTooltip' | translate\n \"\n >\n </v-input-label>\n\n <input\n cdsText\n cdsLayer=\"2\"\n [attr.data-test-id]=\"testIds.fieldTitleInput\"\n [attr.data-carbon-theme]=\"data.inputTheme\"\n [placeholder]=\"'widgetTabManagement.content.fields.titlePlaceholder' | translate\"\n type=\"text\"\n formControlName=\"title\"\n />\n </cds-text-label>\n\n <cds-dropdown\n [attr.data-test-id]=\"testIds.displayTypeDropdown\"\n [attr.data-carbon-theme]=\"data.inputTheme\"\n [label]=\"'widgetTabManagement.content.fields.type' | translate\"\n [dropUp]=\"false\"\n [placeholder]=\"'widgetTabManagement.content.fields.typePlaceholder' | translate\"\n (selected)=\"onTypeSelected(formRow, $event)\"\n formControlName=\"type\"\n >\n <cds-dropdown-list [items]=\"getDisplayItemsSelected(formRow)\"></cds-dropdown-list>\n </cds-dropdown>\n\n <ng-container\n *ngTemplateOutlet=\"fieldWidthDropdown; context: {index: $index}\"\n ></ng-container>\n\n <cds-text-label class=\"valtimo-widget-management-field-column__value-field\">\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.value' | translate\"\n [tooltip]=\"\n 'widgetTabManagement.content.' + data.widgetType + '.valueTooltip' | translate\n \"\n >\n </v-input-label>\n\n @if ($widgetContext() === 'case') {\n <valtimo-value-path-selector\n [attr.data-test-id]=\"testIds.valuePathSelector\"\n formControlName=\"content\"\n [caseDefinitionKey]=\"data.params?.caseDefinitionKey\"\n [caseDefinitionVersionTag]=\"data.params?.caseDefinitionVersionTag\"\n [parentItem]=\"selectedCollection\"\n ></valtimo-value-path-selector>\n } @else {\n <input\n cdsText\n [attr.data-carbon-theme]=\"data.inputTheme\"\n [placeholder]=\"'widgetTabManagement.content.fields.value' | translate\"\n type=\"text\"\n formControlName=\"content\"\n />\n }\n </cds-text-label>\n </div>\n\n <div class=\"valtimo-widget-management-field-column__options\">\n @switch (formRow.get('type').value.id) {\n @case (WidgetDisplayTypeKey.CURRENCY) {\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.currencyCode' | translate\"\n [tooltip]=\"'widgetTabManagement.content.fields.currencyCodeTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n cdsText\n [attr.data-carbon-theme]=\"data.inputTheme\"\n [placeholder]=\"\n 'widgetTabManagement.content.fields.currencyCodePlaceholder' | translate\n \"\n type=\"text\"\n formControlName=\"currencyCode\"\n />\n </cds-text-label>\n\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.display' | translate\"\n [tooltip]=\"'widgetTabManagement.content.fields.displayTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n cdsText\n [attr.data-carbon-theme]=\"data.inputTheme\"\n [placeholder]=\"\n 'widgetTabManagement.content.fields.displayPlaceholder' | translate\n \"\n type=\"text\"\n formControlName=\"display\"\n />\n </cds-text-label>\n\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.digitsInfo' | translate\"\n tooltip=\"{{\n 'widgetTabManagement.content.fields.digitsInfoTooltip'\n | translate: {minFractionDigits: 2, maxFractionDigits: 2}\n }}\"\n >\n </v-input-label>\n\n <input\n cdsText\n [attr.data-carbon-theme]=\"data.inputTheme\"\n [placeholder]=\"\n 'widgetTabManagement.content.fields.digitsInfoPlaceholder' | translate\n \"\n type=\"text\"\n formControlName=\"digitsInfo\"\n />\n </cds-text-label>\n }\n @case (WidgetDisplayTypeKey.DATE) {\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.format' | translate\"\n [tooltip]=\"'widgetTabManagement.content.fields.dateFormatTooltip' | translate\"\n ></v-input-label>\n\n <input\n cdsText\n [attr.data-carbon-theme]=\"data.inputTheme\"\n [placeholder]=\"\n 'widgetTabManagement.content.fields.formatPlaceholder' | translate\n \"\n type=\"text\"\n formControlName=\"format\"\n />\n </cds-text-label>\n }\n @case (WidgetDisplayTypeKey.DATE_TIME) {\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.format' | translate\"\n [tooltip]=\"\n 'widgetTabManagement.content.fields.dateTimeFormatTooltip' | translate\n \"\n ></v-input-label>\n\n <input\n cdsText\n [attr.data-carbon-theme]=\"data.inputTheme\"\n [placeholder]=\"\n 'widgetTabManagement.content.fields.formatPlaceholder' | translate\n \"\n type=\"text\"\n formControlName=\"format\"\n />\n </cds-text-label>\n }\n @case (WidgetDisplayTypeKey.ENUM) {\n <div class=\"valtimo-widget-management-field-column__enum\" formArrayName=\"values\">\n @for (rowValue of formRow.get('values')?.controls; track $index) {\n <form\n [formGroup]=\"rowValue\"\n class=\"valtimo-widget-management-field-column__enum-form\"\n >\n <cds-text-label>\n <v-input-label\n *ngIf=\"$index === 0\"\n [title]=\"'widgetTabManagement.content.fields.enumValue' | translate\"\n [tooltip]=\"\n 'widgetTabManagement.content.fields.enumValueTooltip' | translate\n \"\n ></v-input-label>\n\n <input\n [attr.data-carbon-theme]=\"data.inputTheme\"\n cdsText\n [placeholder]=\"'widgetTabManagement.content.fields.enumValue' | translate\"\n type=\"text\"\n formControlName=\"key\"\n />\n </cds-text-label>\n\n <cds-text-label>\n <v-input-label\n *ngIf=\"$index === 0\"\n [title]=\"'widgetTabManagement.content.fields.enumDisplay' | translate\"\n [tooltip]=\"\n 'widgetTabManagement.content.fields.enumDisplayTooltip' | translate\n \"\n ></v-input-label>\n\n <input\n cdsText\n [attr.data-carbon-theme]=\"data.inputTheme\"\n [placeholder]=\"\n 'widgetTabManagement.content.fields.enumDisplay' | translate\n \"\n type=\"text\"\n formControlName=\"value\"\n />\n </cds-text-label>\n\n <button\n cdsButton=\"danger--ghost\"\n [disabled]=\"$count === 1\"\n [iconOnly]=\"true\"\n class=\"valtimo-widget-management-field-column__delete-button enum\"\n (click)=\"onDeleteRowClick($event, formRow.get('values'), $index)\"\n >\n <svg cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n </form>\n }\n\n <button\n cdsButton=\"primary\"\n size=\"sm\"\n (click)=\"onAddEnumValueClick(formRow.get('values'))\"\n >\n {{ 'widgetTabManagement.content.fields.addEnum' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n </div>\n }\n @case (WidgetDisplayTypeKey.NUMBER) {\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.digitsInfo' | translate\"\n tooltip=\"{{\n 'widgetTabManagement.content.fields.digitsInfoTooltip'\n | translate\n : {\n minFractionDigits: 0,\n maxFractionDigits: 3,\n }\n }}\"\n >\n </v-input-label>\n\n <input\n cdsText\n [attr.data-carbon-theme]=\"data.inputTheme\"\n [placeholder]=\"'widgetTabManagement.content.fields.digitsInfo' | translate\"\n type=\"text\"\n formControlName=\"digitsInfo\"\n />\n </cds-text-label>\n }\n @case (WidgetDisplayTypeKey.PERCENT) {\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.digitsInfo' | translate\"\n tooltip=\"{{\n 'widgetTabManagement.content.fields.digitsInfoTooltip'\n | translate\n : {\n minFractionDigits: 0,\n maxFractionDigits: 0,\n }\n }}\"\n >\n </v-input-label>\n\n <input\n cdsText\n [attr.data-carbon-theme]=\"data.inputTheme\"\n [placeholder]=\"'widgetTabManagement.content.fields.digitsInfo' | translate\"\n type=\"text\"\n formControlName=\"digitsInfo\"\n />\n </cds-text-label>\n }\n @case (WidgetDisplayTypeKey.LINK) {\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.linkText' | translate\"\n [tooltip]=\"'widgetTabManagement.content.fields.linkTextTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n cdsText\n [attr.data-carbon-theme]=\"data.inputTheme\"\n [placeholder]=\"\n 'widgetTabManagement.content.fields.linkTextPlaceholder' | translate\n \"\n type=\"text\"\n formControlName=\"linkText\"\n />\n </cds-text-label>\n }\n }\n\n <cds-text-label\n *ngIf=\"formRow.get('type').value.id === WidgetDisplayTypeKey.TEXT && $isFieldWidget()\"\n >\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.ellipsisCharacterLimit' | translate\"\n tooltip=\"{{\n 'widgetTabManagement.content.fields.ellipsisCharacterLimitTooltip' | translate\n }}\"\n >\n </v-input-label>\n\n <input\n cdsText\n [attr.data-carbon-theme]=\"data.inputTheme\"\n [placeholder]=\"\n 'widgetTabManagement.content.fields.ellipsisCharacterLimitPlaceholder' | translate\n \"\n type=\"text\"\n formControlName=\"ellipsisCharacterLimit\"\n />\n </cds-text-label>\n\n <cds-checkbox *ngIf=\"showHideWhenEmptyCheckbox\" formControlName=\"hideWhenEmpty\">\n {{ 'widgetTabManagement.content.hideWhenEmpty' | translate }}\n </cds-checkbox>\n\n <div\n *ngIf=\"showSortableCheckbox\"\n class=\"valtimo-widget-management-field-column__sorting\"\n >\n <cds-checkbox\n formControlName=\"sortable\"\n (checkedChange)=\"onSortableCheckChange($index, $event)\"\n >\n {{ 'listColumn.sortable' | translate }}\n </cds-checkbox>\n\n <v-select\n formControlName=\"defaultSort\"\n [disabled]=\"!formRow.get('sortable')?.value\"\n [items]=\"DEFAULT_SORT_OPTIONS\"\n [dropUp]=\"false\"\n [placeholder]=\"'interface.sorting.noDefault' | translate\"\n [defaultSelectionId]=\"formRow.get('defaultSort')?.value\"\n [warn]=\"\n data.defaultSortIndex !== -1 &&\n data.defaultSortIndex !== $index &&\n !!formRow.get('sortable')?.value\n \"\n [warnText]=\"'widgetTabManagement.content.fields.defaultSortWarning' | translate\"\n (selectedChange)=\"onSelectedDefaultSortChange($index)\"\n ></v-select>\n </div>\n </div>\n </form>\n </cds-accordion-item>\n }\n </cds-accordion>\n\n <button cdsButton=\"primary\" size=\"sm\" (click)=\"addField()\">\n {{ addTranslateKey | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n</form>\n\n<ng-template\n #fieldTitle\n let-defaultSortIndex=\"defaultSortIndex\"\n let-count=\"count\"\n let-index=\"index\"\n let-title=\"title\"\n>\n <div class=\"valtimo-widget-management-field-column__title\">\n <section>\n {{ title || ('widgetTabManagement.content.fields.titlePlaceholder' | translate) }}\n\n <cds-tag *ngIf=\"$isInteractiveTableWidget() && defaultSortIndex === index\" type=\"blue\">\n {{ 'ikoManagement.defaultSortTitle' | translate }}\n </cds-tag>\n </section>\n\n <button\n cdsButton=\"danger\"\n [disabled]=\"count === 1\"\n [iconOnly]=\"true\"\n (click)=\"onDeleteRowClick($event, formRows, index)\"\n class=\"valtimo-widget-management-field-column__delete-button\"\n >\n <svg cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n </div>\n</ng-template>\n", styles: [".valtimo-widget-management-field-column{display:flex;flex-direction:column;gap:16px;background:var(--cds-layer-02)}.valtimo-widget-management-field-column__item,.valtimo-widget-management-field-column__cotainer{background:var(--cds-layer-01)}.valtimo-widget-management-field-column__item .cds--accordion__content{padding-inline-end:20px}.valtimo-widget-management-field-column__container{display:flex;flex-direction:column;gap:16px}.valtimo-widget-management-field-column__content{display:grid;grid-template-columns:1fr 180px 1fr;align-items:flex-end;gap:16px}.valtimo-widget-management-field-column__content--collection{grid-template-columns:1fr 180px 180px 1fr}.valtimo-widget-management-field-column__title{display:flex;justify-content:space-between;align-items:center;width:100%;padding:8px}.valtimo-widget-management-field-column__delete-button{display:flex;align-items:center;justify-content:center;padding:0;align-self:center}.valtimo-widget-management-field-column__delete-button.enum{align-self:flex-end}.valtimo-widget-management-field-column__path-selector{display:flex;flex-direction:column}.valtimo-widget-management-field-column__options{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.valtimo-widget-management-field-column__sorting{display:flex;align-items:center;align-self:flex-end;gap:16px}.valtimo-widget-management-field-column__enum{display:flex;flex-direction:column;gap:16px}.valtimo-widget-management-field-column__enum-form{display:grid;grid-template-columns:1fr 1fr auto;align-items:flex-end;gap:16px}.valtimo-widget-management-field-column__value-field .cds--label{width:100%;margin:0}.valtimo-widget-management-field-column__value-field .cds--label cds-label{margin-bottom:8px}.valtimo-widget-management-field-column cds-checkbox{display:flex;align-items:flex-end}.valtimo-widget-management-field-column .cds--text-input,.valtimo-widget-management-field-column .cds--list-box{background:var(--cds-layer-02)}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$1.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i3.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i7.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: i7.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i3.TextInputLabelComponent, selector: "cds-text-label, ibm-text-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "textInputTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel", "fluid"] }, { kind: "directive", type: i3.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.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$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1$3.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i3.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "ngmodule", type: AccordionModule }, { kind: "component", type: i3.Accordion, selector: "cds-accordion, ibm-accordion", inputs: ["align", "size", "skeleton"] }, { kind: "component", type: i3.AccordionItem, selector: "cds-accordion-item, ibm-accordion-item", inputs: ["title", "context", "id", "skeleton", "expanded", "disabled"], outputs: ["selected"] }, { kind: "ngmodule", type: InputLabelModule }, { kind: "component", type: i1.InputLabelComponent, selector: "v-input-label", inputs: ["name", "tooltip", "tooltipTranslationKey", "largeMargin", "small", "noMargin", "title", "titleTranslationKey", "required", "disabled", "carbonTheme"] }, { kind: "component", type: ValuePathSelectorComponent, selector: "valtimo-value-path-selector", inputs: ["name", "appendInline", "margin", "marginLg", "marginXl", "disabled", "caseDefinitionKey", "caseDefinitionVersionTag", "buildingBlockDefinitionKey", "buildingBlockDefinitionVersionTag", "prefixes", "label", "tooltip", "required", "showCaseDefinitionSelector", "notation", "dropUp", "defaultValue", "type", "parentItem", "filterItems"], outputs: ["valueChangeEvent", "collectionSelected"] }, { kind: "ngmodule", type: CheckboxModule }, { kind: "component", type: i3.Checkbox, selector: "cds-checkbox, ibm-checkbox", inputs: ["disabled", "skeleton", "hideLabel", "name", "id", "required", "value", "ariaLabel", "ariaLabelledby", "indeterminate", "checked"], outputs: ["click", "checkedChange", "indeterminateChange"] }, { kind: "ngmodule", type: LayerModule }, { kind: "directive", type: i3.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "ngmodule", type: SelectModule }, { kind: "component", type: i1.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: "ngmodule", type: TagModule }, { kind: "component", type: i3.Tag, selector: "cds-tag, ibm-tag", inputs: ["type", "size", "class", "skeleton"] }, { kind: "ngmodule", type: ToggleModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
5248
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetManagementFieldsColumnComponent, deps: [{ token: i1$1.CdsThemeService }, { token: i0.ChangeDetectorRef }, { token: i1$3.FormBuilder }, { token: i3.IconService }, { token: i2$2.TranslateService }, { token: WidgetFieldsService }, { token: WidgetWizardService }, { token: WIDGET_MANAGEMENT_SERVICE }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5249
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: WidgetManagementFieldsColumnComponent, isStandalone: true, selector: "valtimo-widget-management-fields-column", inputs: { columnData: "columnData", addTranslateKey: "addTranslateKey", fieldWidthDropdown: "fieldWidthDropdown", selectedCollection: "selectedCollection", showHideWhenEmptyCheckbox: "showHideWhenEmptyCheckbox", showSortableCheckbox: "showSortableCheckbox" }, outputs: { columnUpdateEvent: "columnUpdateEvent" }, host: { properties: { "class": "this.class" } }, 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<form\n *ngIf=\"{\n inputTheme: inputTheme$ | async,\n params: params$ | async,\n widgetType: $widgetType() === 'interactive-table' ? 'table' : $widgetType(),\n defaultSortIndex: defaultSortIndexForTemplate$ | async,\n isInteractiveTable: $widgetType() === 'interactive-table',\n } as data\"\n class=\"valtimo-widget-management-field-column\"\n [formGroup]=\"formGroup\"\n>\n <cds-accordion formArrayName=\"rows\" align=\"start\" size=\"sm\">\n @for (formRow of formRows.controls; track $index) {\n <cds-accordion-item\n [title]=\"fieldTitle\"\n [context]=\"{\n count: $count,\n index: $index,\n title: formRow.get('title')?.value,\n defaultSortIndex: data.defaultSortIndex,\n }\"\n [expanded]=\"$index === 0\"\n class=\"valtimo-widget-management-field-column__item\"\n >\n <form [formGroup]=\"formRow\" class=\"valtimo-widget-management-field-column__container\">\n <div\n class=\"valtimo-widget-management-field-column__content\"\n [class.valtimo-widget-management-field-column__content--collection]=\"\n !!fieldWidthDropdown\n \"\n >\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.title' | translate\"\n [tooltip]=\"\n 'widgetTabManagement.content.' + data.widgetType + '.titleTooltip' | translate\n \"\n >\n </v-input-label>\n\n <input\n cdsText\n cdsLayer=\"2\"\n [attr.data-test-id]=\"testIds.fieldTitleInput\"\n [attr.data-carbon-theme]=\"data.inputTheme\"\n [placeholder]=\"'widgetTabManagement.content.fields.titlePlaceholder' | translate\"\n type=\"text\"\n formControlName=\"title\"\n />\n </cds-text-label>\n\n <cds-dropdown\n [attr.data-test-id]=\"testIds.displayTypeDropdown\"\n [attr.data-carbon-theme]=\"data.inputTheme\"\n [label]=\"'widgetTabManagement.content.fields.type' | translate\"\n [dropUp]=\"false\"\n [placeholder]=\"'widgetTabManagement.content.fields.typePlaceholder' | translate\"\n (selected)=\"onTypeSelected(formRow, $event)\"\n formControlName=\"type\"\n >\n <cds-dropdown-list [items]=\"getDisplayItemsSelected(formRow)\"></cds-dropdown-list>\n </cds-dropdown>\n\n <ng-container\n *ngTemplateOutlet=\"fieldWidthDropdown; context: {index: $index}\"\n ></ng-container>\n\n <cds-text-label class=\"valtimo-widget-management-field-column__value-field\">\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.value' | translate\"\n [tooltip]=\"\n 'widgetTabManagement.content.' + data.widgetType + '.valueTooltip' | translate\n \"\n >\n </v-input-label>\n\n @if ($widgetContext() === 'case') {\n <valtimo-value-path-selector\n [attr.data-test-id]=\"testIds.valuePathSelector\"\n formControlName=\"content\"\n [caseDefinitionKey]=\"data.params?.caseDefinitionKey\"\n [caseDefinitionVersionTag]=\"data.params?.caseDefinitionVersionTag\"\n [parentItem]=\"selectedCollection\"\n ></valtimo-value-path-selector>\n } @else {\n <input\n cdsText\n [attr.data-carbon-theme]=\"data.inputTheme\"\n [placeholder]=\"'widgetTabManagement.content.fields.value' | translate\"\n type=\"text\"\n formControlName=\"content\"\n />\n }\n </cds-text-label>\n </div>\n\n <div class=\"valtimo-widget-management-field-column__options\">\n @switch (formRow.get('type').value.id) {\n @case (WidgetDisplayTypeKey.CURRENCY) {\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.currencyCode' | translate\"\n [tooltip]=\"'widgetTabManagement.content.fields.currencyCodeTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n cdsText\n [attr.data-carbon-theme]=\"data.inputTheme\"\n [placeholder]=\"\n 'widgetTabManagement.content.fields.currencyCodePlaceholder' | translate\n \"\n type=\"text\"\n formControlName=\"currencyCode\"\n />\n </cds-text-label>\n\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.display' | translate\"\n [tooltip]=\"'widgetTabManagement.content.fields.displayTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n cdsText\n [attr.data-carbon-theme]=\"data.inputTheme\"\n [placeholder]=\"\n 'widgetTabManagement.content.fields.displayPlaceholder' | translate\n \"\n type=\"text\"\n formControlName=\"display\"\n />\n </cds-text-label>\n\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.digitsInfo' | translate\"\n tooltip=\"{{\n 'widgetTabManagement.content.fields.digitsInfoTooltip'\n | translate: {minFractionDigits: 2, maxFractionDigits: 2}\n }}\"\n >\n </v-input-label>\n\n <input\n cdsText\n [attr.data-carbon-theme]=\"data.inputTheme\"\n [placeholder]=\"\n 'widgetTabManagement.content.fields.digitsInfoPlaceholder' | translate\n \"\n type=\"text\"\n formControlName=\"digitsInfo\"\n />\n </cds-text-label>\n }\n @case (WidgetDisplayTypeKey.DATE) {\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.format' | translate\"\n [tooltip]=\"'widgetTabManagement.content.fields.dateFormatTooltip' | translate\"\n ></v-input-label>\n\n <input\n cdsText\n [attr.data-carbon-theme]=\"data.inputTheme\"\n [placeholder]=\"\n 'widgetTabManagement.content.fields.formatPlaceholder' | translate\n \"\n type=\"text\"\n formControlName=\"format\"\n />\n </cds-text-label>\n }\n @case (WidgetDisplayTypeKey.DATE_TIME) {\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.format' | translate\"\n [tooltip]=\"\n 'widgetTabManagement.content.fields.dateTimeFormatTooltip' | translate\n \"\n ></v-input-label>\n\n <input\n cdsText\n [attr.data-carbon-theme]=\"data.inputTheme\"\n [placeholder]=\"\n 'widgetTabManagement.content.fields.formatPlaceholder' | translate\n \"\n type=\"text\"\n formControlName=\"format\"\n />\n </cds-text-label>\n }\n @case (WidgetDisplayTypeKey.ENUM) {\n <div class=\"valtimo-widget-management-field-column__enum\" formArrayName=\"values\">\n @for (rowValue of formRow.get('values')?.controls; track $index) {\n <form\n [formGroup]=\"rowValue\"\n class=\"valtimo-widget-management-field-column__enum-form\"\n >\n <cds-text-label>\n <v-input-label\n *ngIf=\"$index === 0\"\n [title]=\"'widgetTabManagement.content.fields.enumValue' | translate\"\n [tooltip]=\"\n 'widgetTabManagement.content.fields.enumValueTooltip' | translate\n \"\n ></v-input-label>\n\n <input\n [attr.data-carbon-theme]=\"data.inputTheme\"\n cdsText\n [placeholder]=\"'widgetTabManagement.content.fields.enumValue' | translate\"\n type=\"text\"\n formControlName=\"key\"\n />\n </cds-text-label>\n\n <cds-text-label>\n <v-input-label\n *ngIf=\"$index === 0\"\n [title]=\"'widgetTabManagement.content.fields.enumDisplay' | translate\"\n [tooltip]=\"\n 'widgetTabManagement.content.fields.enumDisplayTooltip' | translate\n \"\n ></v-input-label>\n\n <input\n cdsText\n [attr.data-carbon-theme]=\"data.inputTheme\"\n [placeholder]=\"\n 'widgetTabManagement.content.fields.enumDisplay' | translate\n \"\n type=\"text\"\n formControlName=\"value\"\n />\n </cds-text-label>\n\n <button\n cdsButton=\"danger--ghost\"\n [disabled]=\"$count === 1\"\n [iconOnly]=\"true\"\n class=\"valtimo-widget-management-field-column__delete-button enum\"\n (click)=\"onDeleteRowClick($event, formRow.get('values'), $index)\"\n >\n <svg cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n </form>\n }\n\n <button\n cdsButton=\"primary\"\n size=\"sm\"\n (click)=\"onAddEnumValueClick(formRow.get('values'))\"\n >\n {{ 'widgetTabManagement.content.fields.addEnum' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n </div>\n }\n @case (WidgetDisplayTypeKey.NUMBER) {\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.digitsInfo' | translate\"\n tooltip=\"{{\n 'widgetTabManagement.content.fields.digitsInfoTooltip'\n | translate\n : {\n minFractionDigits: 0,\n maxFractionDigits: 3,\n }\n }}\"\n >\n </v-input-label>\n\n <input\n cdsText\n [attr.data-carbon-theme]=\"data.inputTheme\"\n [placeholder]=\"'widgetTabManagement.content.fields.digitsInfo' | translate\"\n type=\"text\"\n formControlName=\"digitsInfo\"\n />\n </cds-text-label>\n }\n @case (WidgetDisplayTypeKey.PERCENT) {\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.digitsInfo' | translate\"\n tooltip=\"{{\n 'widgetTabManagement.content.fields.digitsInfoTooltip'\n | translate\n : {\n minFractionDigits: 0,\n maxFractionDigits: 0,\n }\n }}\"\n >\n </v-input-label>\n\n <input\n cdsText\n [attr.data-carbon-theme]=\"data.inputTheme\"\n [placeholder]=\"'widgetTabManagement.content.fields.digitsInfo' | translate\"\n type=\"text\"\n formControlName=\"digitsInfo\"\n />\n </cds-text-label>\n }\n @case (WidgetDisplayTypeKey.LINK) {\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.linkText' | translate\"\n [tooltip]=\"'widgetTabManagement.content.fields.linkTextTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n cdsText\n [attr.data-carbon-theme]=\"data.inputTheme\"\n [placeholder]=\"\n 'widgetTabManagement.content.fields.linkTextPlaceholder' | translate\n \"\n type=\"text\"\n formControlName=\"linkText\"\n />\n </cds-text-label>\n }\n }\n\n <cds-text-label\n *ngIf=\"formRow.get('type').value.id === WidgetDisplayTypeKey.TEXT && $isFieldWidget()\"\n >\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.ellipsisCharacterLimit' | translate\"\n tooltip=\"{{\n 'widgetTabManagement.content.fields.ellipsisCharacterLimitTooltip' | translate\n }}\"\n >\n </v-input-label>\n\n <input\n cdsText\n [attr.data-carbon-theme]=\"data.inputTheme\"\n [placeholder]=\"\n 'widgetTabManagement.content.fields.ellipsisCharacterLimitPlaceholder' | translate\n \"\n type=\"text\"\n formControlName=\"ellipsisCharacterLimit\"\n />\n </cds-text-label>\n\n <cds-checkbox *ngIf=\"showHideWhenEmptyCheckbox\" formControlName=\"hideWhenEmpty\">\n {{ 'widgetTabManagement.content.hideWhenEmpty' | translate }}\n </cds-checkbox>\n\n <div\n *ngIf=\"showSortableCheckbox\"\n class=\"valtimo-widget-management-field-column__sorting\"\n >\n <cds-checkbox\n formControlName=\"sortable\"\n (checkedChange)=\"onSortableCheckChange($index, $event)\"\n >\n {{ 'listColumn.sortable' | translate }}\n </cds-checkbox>\n\n <v-select\n formControlName=\"defaultSort\"\n [disabled]=\"!formRow.get('sortable')?.value\"\n [items]=\"DEFAULT_SORT_OPTIONS\"\n [dropUp]=\"false\"\n [placeholder]=\"'interface.sorting.noDefault' | translate\"\n [defaultSelectionId]=\"formRow.get('defaultSort')?.value\"\n [warn]=\"\n data.defaultSortIndex !== -1 &&\n data.defaultSortIndex !== $index &&\n !!formRow.get('sortable')?.value\n \"\n [warnText]=\"'widgetTabManagement.content.fields.defaultSortWarning' | translate\"\n (selectedChange)=\"onSelectedDefaultSortChange($index)\"\n ></v-select>\n </div>\n </div>\n </form>\n </cds-accordion-item>\n }\n </cds-accordion>\n\n <button cdsButton=\"primary\" size=\"sm\" (click)=\"addField()\">\n {{ addTranslateKey | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n</form>\n\n<ng-template\n #fieldTitle\n let-defaultSortIndex=\"defaultSortIndex\"\n let-count=\"count\"\n let-index=\"index\"\n let-title=\"title\"\n>\n <div class=\"valtimo-widget-management-field-column__title\">\n <section>\n {{ title || ('widgetTabManagement.content.fields.titlePlaceholder' | translate) }}\n\n <cds-tag *ngIf=\"$isInteractiveTableWidget() && defaultSortIndex === index\" type=\"blue\">\n {{ 'ikoManagement.defaultSortTitle' | translate }}\n </cds-tag>\n </section>\n\n <button\n cdsButton=\"danger\"\n [disabled]=\"count === 1\"\n [iconOnly]=\"true\"\n (click)=\"onDeleteRowClick($event, formRows, index)\"\n class=\"valtimo-widget-management-field-column__delete-button\"\n >\n <svg cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n </div>\n</ng-template>\n", styles: [".valtimo-widget-management-field-column{display:flex;flex-direction:column;gap:16px;background:var(--cds-layer-02)}.valtimo-widget-management-field-column__item,.valtimo-widget-management-field-column__cotainer{background:var(--cds-layer-01)}.valtimo-widget-management-field-column__item .cds--accordion__content{padding-inline-end:20px}.valtimo-widget-management-field-column__container{display:flex;flex-direction:column;gap:16px}.valtimo-widget-management-field-column__content{display:grid;grid-template-columns:1fr 180px 1fr;align-items:flex-end;gap:16px}.valtimo-widget-management-field-column__content--collection{grid-template-columns:1fr 180px 180px 1fr}.valtimo-widget-management-field-column__title{display:flex;justify-content:space-between;align-items:center;width:100%;padding:8px}.valtimo-widget-management-field-column__delete-button{display:flex;align-items:center;justify-content:center;padding:0;align-self:center}.valtimo-widget-management-field-column__delete-button.enum{align-self:flex-end}.valtimo-widget-management-field-column__path-selector{display:flex;flex-direction:column}.valtimo-widget-management-field-column__options{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.valtimo-widget-management-field-column__sorting{display:flex;align-items:center;align-self:flex-end;gap:16px}.valtimo-widget-management-field-column__enum{display:flex;flex-direction:column;gap:16px}.valtimo-widget-management-field-column__enum-form{display:grid;grid-template-columns:1fr 1fr auto;align-items:flex-end;gap:16px}.valtimo-widget-management-field-column__value-field .cds--label{width:100%;margin:0}.valtimo-widget-management-field-column__value-field .cds--label cds-label{margin-bottom:8px}.valtimo-widget-management-field-column cds-checkbox{display:flex;align-items:flex-end}.valtimo-widget-management-field-column .cds--text-input,.valtimo-widget-management-field-column .cds--list-box{background:var(--cds-layer-02)}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i3.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i7.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: i7.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i3.TextInputLabelComponent, selector: "cds-text-label, ibm-text-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "textInputTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel", "fluid"] }, { kind: "directive", type: i3.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.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$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1$3.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i3.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "ngmodule", type: AccordionModule }, { kind: "component", type: i3.Accordion, selector: "cds-accordion, ibm-accordion", inputs: ["align", "size", "skeleton"] }, { kind: "component", type: i3.AccordionItem, selector: "cds-accordion-item, ibm-accordion-item", inputs: ["title", "context", "id", "skeleton", "expanded", "disabled"], outputs: ["selected"] }, { kind: "ngmodule", type: InputLabelModule }, { kind: "component", type: i1$1.InputLabelComponent, selector: "v-input-label", inputs: ["name", "tooltip", "tooltipTranslationKey", "largeMargin", "small", "noMargin", "title", "titleTranslationKey", "required", "disabled", "carbonTheme"] }, { kind: "component", type: ValuePathSelectorComponent, selector: "valtimo-value-path-selector", inputs: ["name", "appendInline", "margin", "marginLg", "marginXl", "disabled", "caseDefinitionKey", "caseDefinitionVersionTag", "buildingBlockDefinitionKey", "buildingBlockDefinitionVersionTag", "prefixes", "label", "tooltip", "required", "showCaseDefinitionSelector", "notation", "dropUp", "defaultValue", "type", "parentItem", "filterItems"], outputs: ["valueChangeEvent", "collectionSelected"] }, { kind: "ngmodule", type: CheckboxModule }, { kind: "component", type: i3.Checkbox, selector: "cds-checkbox, ibm-checkbox", inputs: ["disabled", "skeleton", "hideLabel", "name", "id", "required", "value", "ariaLabel", "ariaLabelledby", "indeterminate", "checked"], outputs: ["click", "checkedChange", "indeterminateChange"] }, { kind: "ngmodule", type: LayerModule }, { kind: "directive", type: i3.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "ngmodule", type: SelectModule }, { kind: "component", type: i1$1.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: "ngmodule", type: TagModule }, { kind: "component", type: i3.Tag, selector: "cds-tag, ibm-tag", inputs: ["type", "size", "class", "skeleton"] }, { kind: "ngmodule", type: ToggleModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
4717
5250
|
}
|
|
4718
5251
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetManagementFieldsColumnComponent, decorators: [{
|
|
4719
5252
|
type: Component,
|
|
@@ -4734,7 +5267,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
4734
5267
|
TagModule,
|
|
4735
5268
|
ToggleModule,
|
|
4736
5269
|
], 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<form\n *ngIf=\"{\n inputTheme: inputTheme$ | async,\n params: params$ | async,\n widgetType: $widgetType() === 'interactive-table' ? 'table' : $widgetType(),\n defaultSortIndex: defaultSortIndexForTemplate$ | async,\n isInteractiveTable: $widgetType() === 'interactive-table',\n } as data\"\n class=\"valtimo-widget-management-field-column\"\n [formGroup]=\"formGroup\"\n>\n <cds-accordion formArrayName=\"rows\" align=\"start\" size=\"sm\">\n @for (formRow of formRows.controls; track $index) {\n <cds-accordion-item\n [title]=\"fieldTitle\"\n [context]=\"{\n count: $count,\n index: $index,\n title: formRow.get('title')?.value,\n defaultSortIndex: data.defaultSortIndex,\n }\"\n [expanded]=\"$index === 0\"\n class=\"valtimo-widget-management-field-column__item\"\n >\n <form [formGroup]=\"formRow\" class=\"valtimo-widget-management-field-column__container\">\n <div\n class=\"valtimo-widget-management-field-column__content\"\n [class.valtimo-widget-management-field-column__content--collection]=\"\n !!fieldWidthDropdown\n \"\n >\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.title' | translate\"\n [tooltip]=\"\n 'widgetTabManagement.content.' + data.widgetType + '.titleTooltip' | translate\n \"\n >\n </v-input-label>\n\n <input\n cdsText\n cdsLayer=\"2\"\n [attr.data-test-id]=\"testIds.fieldTitleInput\"\n [attr.data-carbon-theme]=\"data.inputTheme\"\n [placeholder]=\"'widgetTabManagement.content.fields.titlePlaceholder' | translate\"\n type=\"text\"\n formControlName=\"title\"\n />\n </cds-text-label>\n\n <cds-dropdown\n [attr.data-test-id]=\"testIds.displayTypeDropdown\"\n [attr.data-carbon-theme]=\"data.inputTheme\"\n [label]=\"'widgetTabManagement.content.fields.type' | translate\"\n [dropUp]=\"false\"\n [placeholder]=\"'widgetTabManagement.content.fields.typePlaceholder' | translate\"\n (selected)=\"onTypeSelected(formRow, $event)\"\n formControlName=\"type\"\n >\n <cds-dropdown-list [items]=\"getDisplayItemsSelected(formRow)\"></cds-dropdown-list>\n </cds-dropdown>\n\n <ng-container\n *ngTemplateOutlet=\"fieldWidthDropdown; context: {index: $index}\"\n ></ng-container>\n\n <cds-text-label class=\"valtimo-widget-management-field-column__value-field\">\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.value' | translate\"\n [tooltip]=\"\n 'widgetTabManagement.content.' + data.widgetType + '.valueTooltip' | translate\n \"\n >\n </v-input-label>\n\n @if ($widgetContext() === 'case') {\n <valtimo-value-path-selector\n [attr.data-test-id]=\"testIds.valuePathSelector\"\n formControlName=\"content\"\n [caseDefinitionKey]=\"data.params?.caseDefinitionKey\"\n [caseDefinitionVersionTag]=\"data.params?.caseDefinitionVersionTag\"\n [parentItem]=\"selectedCollection\"\n ></valtimo-value-path-selector>\n } @else {\n <input\n cdsText\n [attr.data-carbon-theme]=\"data.inputTheme\"\n [placeholder]=\"'widgetTabManagement.content.fields.value' | translate\"\n type=\"text\"\n formControlName=\"content\"\n />\n }\n </cds-text-label>\n </div>\n\n <div class=\"valtimo-widget-management-field-column__options\">\n @switch (formRow.get('type').value.id) {\n @case (WidgetDisplayTypeKey.CURRENCY) {\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.currencyCode' | translate\"\n [tooltip]=\"'widgetTabManagement.content.fields.currencyCodeTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n cdsText\n [attr.data-carbon-theme]=\"data.inputTheme\"\n [placeholder]=\"\n 'widgetTabManagement.content.fields.currencyCodePlaceholder' | translate\n \"\n type=\"text\"\n formControlName=\"currencyCode\"\n />\n </cds-text-label>\n\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.display' | translate\"\n [tooltip]=\"'widgetTabManagement.content.fields.displayTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n cdsText\n [attr.data-carbon-theme]=\"data.inputTheme\"\n [placeholder]=\"\n 'widgetTabManagement.content.fields.displayPlaceholder' | translate\n \"\n type=\"text\"\n formControlName=\"display\"\n />\n </cds-text-label>\n\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.digitsInfo' | translate\"\n tooltip=\"{{\n 'widgetTabManagement.content.fields.digitsInfoTooltip'\n | translate: {minFractionDigits: 2, maxFractionDigits: 2}\n }}\"\n >\n </v-input-label>\n\n <input\n cdsText\n [attr.data-carbon-theme]=\"data.inputTheme\"\n [placeholder]=\"\n 'widgetTabManagement.content.fields.digitsInfoPlaceholder' | translate\n \"\n type=\"text\"\n formControlName=\"digitsInfo\"\n />\n </cds-text-label>\n }\n @case (WidgetDisplayTypeKey.DATE) {\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.format' | translate\"\n [tooltip]=\"'widgetTabManagement.content.fields.dateFormatTooltip' | translate\"\n ></v-input-label>\n\n <input\n cdsText\n [attr.data-carbon-theme]=\"data.inputTheme\"\n [placeholder]=\"\n 'widgetTabManagement.content.fields.formatPlaceholder' | translate\n \"\n type=\"text\"\n formControlName=\"format\"\n />\n </cds-text-label>\n }\n @case (WidgetDisplayTypeKey.DATE_TIME) {\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.format' | translate\"\n [tooltip]=\"\n 'widgetTabManagement.content.fields.dateTimeFormatTooltip' | translate\n \"\n ></v-input-label>\n\n <input\n cdsText\n [attr.data-carbon-theme]=\"data.inputTheme\"\n [placeholder]=\"\n 'widgetTabManagement.content.fields.formatPlaceholder' | translate\n \"\n type=\"text\"\n formControlName=\"format\"\n />\n </cds-text-label>\n }\n @case (WidgetDisplayTypeKey.ENUM) {\n <div class=\"valtimo-widget-management-field-column__enum\" formArrayName=\"values\">\n @for (rowValue of formRow.get('values')?.controls; track $index) {\n <form\n [formGroup]=\"rowValue\"\n class=\"valtimo-widget-management-field-column__enum-form\"\n >\n <cds-text-label>\n <v-input-label\n *ngIf=\"$index === 0\"\n [title]=\"'widgetTabManagement.content.fields.enumValue' | translate\"\n [tooltip]=\"\n 'widgetTabManagement.content.fields.enumValueTooltip' | translate\n \"\n ></v-input-label>\n\n <input\n [attr.data-carbon-theme]=\"data.inputTheme\"\n cdsText\n [placeholder]=\"'widgetTabManagement.content.fields.enumValue' | translate\"\n type=\"text\"\n formControlName=\"key\"\n />\n </cds-text-label>\n\n <cds-text-label>\n <v-input-label\n *ngIf=\"$index === 0\"\n [title]=\"'widgetTabManagement.content.fields.enumDisplay' | translate\"\n [tooltip]=\"\n 'widgetTabManagement.content.fields.enumDisplayTooltip' | translate\n \"\n ></v-input-label>\n\n <input\n cdsText\n [attr.data-carbon-theme]=\"data.inputTheme\"\n [placeholder]=\"\n 'widgetTabManagement.content.fields.enumDisplay' | translate\n \"\n type=\"text\"\n formControlName=\"value\"\n />\n </cds-text-label>\n\n <button\n cdsButton=\"danger--ghost\"\n [disabled]=\"$count === 1\"\n [iconOnly]=\"true\"\n class=\"valtimo-widget-management-field-column__delete-button enum\"\n (click)=\"onDeleteRowClick($event, formRow.get('values'), $index)\"\n >\n <svg cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n </form>\n }\n\n <button\n cdsButton=\"primary\"\n size=\"sm\"\n (click)=\"onAddEnumValueClick(formRow.get('values'))\"\n >\n {{ 'widgetTabManagement.content.fields.addEnum' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n </div>\n }\n @case (WidgetDisplayTypeKey.NUMBER) {\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.digitsInfo' | translate\"\n tooltip=\"{{\n 'widgetTabManagement.content.fields.digitsInfoTooltip'\n | translate\n : {\n minFractionDigits: 0,\n maxFractionDigits: 3,\n }\n }}\"\n >\n </v-input-label>\n\n <input\n cdsText\n [attr.data-carbon-theme]=\"data.inputTheme\"\n [placeholder]=\"'widgetTabManagement.content.fields.digitsInfo' | translate\"\n type=\"text\"\n formControlName=\"digitsInfo\"\n />\n </cds-text-label>\n }\n @case (WidgetDisplayTypeKey.PERCENT) {\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.digitsInfo' | translate\"\n tooltip=\"{{\n 'widgetTabManagement.content.fields.digitsInfoTooltip'\n | translate\n : {\n minFractionDigits: 0,\n maxFractionDigits: 0,\n }\n }}\"\n >\n </v-input-label>\n\n <input\n cdsText\n [attr.data-carbon-theme]=\"data.inputTheme\"\n [placeholder]=\"'widgetTabManagement.content.fields.digitsInfo' | translate\"\n type=\"text\"\n formControlName=\"digitsInfo\"\n />\n </cds-text-label>\n }\n @case (WidgetDisplayTypeKey.LINK) {\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.linkText' | translate\"\n [tooltip]=\"'widgetTabManagement.content.fields.linkTextTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n cdsText\n [attr.data-carbon-theme]=\"data.inputTheme\"\n [placeholder]=\"\n 'widgetTabManagement.content.fields.linkTextPlaceholder' | translate\n \"\n type=\"text\"\n formControlName=\"linkText\"\n />\n </cds-text-label>\n }\n }\n\n <cds-text-label\n *ngIf=\"formRow.get('type').value.id === WidgetDisplayTypeKey.TEXT && $isFieldWidget()\"\n >\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.ellipsisCharacterLimit' | translate\"\n tooltip=\"{{\n 'widgetTabManagement.content.fields.ellipsisCharacterLimitTooltip' | translate\n }}\"\n >\n </v-input-label>\n\n <input\n cdsText\n [attr.data-carbon-theme]=\"data.inputTheme\"\n [placeholder]=\"\n 'widgetTabManagement.content.fields.ellipsisCharacterLimitPlaceholder' | translate\n \"\n type=\"text\"\n formControlName=\"ellipsisCharacterLimit\"\n />\n </cds-text-label>\n\n <cds-checkbox *ngIf=\"showHideWhenEmptyCheckbox\" formControlName=\"hideWhenEmpty\">\n {{ 'widgetTabManagement.content.hideWhenEmpty' | translate }}\n </cds-checkbox>\n\n <div\n *ngIf=\"showSortableCheckbox\"\n class=\"valtimo-widget-management-field-column__sorting\"\n >\n <cds-checkbox\n formControlName=\"sortable\"\n (checkedChange)=\"onSortableCheckChange($index, $event)\"\n >\n {{ 'listColumn.sortable' | translate }}\n </cds-checkbox>\n\n <v-select\n formControlName=\"defaultSort\"\n [disabled]=\"!formRow.get('sortable')?.value\"\n [items]=\"DEFAULT_SORT_OPTIONS\"\n [dropUp]=\"false\"\n [placeholder]=\"'interface.sorting.noDefault' | translate\"\n [defaultSelectionId]=\"formRow.get('defaultSort')?.value\"\n [warn]=\"\n data.defaultSortIndex !== -1 &&\n data.defaultSortIndex !== $index &&\n !!formRow.get('sortable')?.value\n \"\n [warnText]=\"'widgetTabManagement.content.fields.defaultSortWarning' | translate\"\n (selectedChange)=\"onSelectedDefaultSortChange($index)\"\n ></v-select>\n </div>\n </div>\n </form>\n </cds-accordion-item>\n }\n </cds-accordion>\n\n <button cdsButton=\"primary\" size=\"sm\" (click)=\"addField()\">\n {{ addTranslateKey | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n</form>\n\n<ng-template\n #fieldTitle\n let-defaultSortIndex=\"defaultSortIndex\"\n let-count=\"count\"\n let-index=\"index\"\n let-title=\"title\"\n>\n <div class=\"valtimo-widget-management-field-column__title\">\n <section>\n {{ title || ('widgetTabManagement.content.fields.titlePlaceholder' | translate) }}\n\n <cds-tag *ngIf=\"$isInteractiveTableWidget() && defaultSortIndex === index\" type=\"blue\">\n {{ 'ikoManagement.defaultSortTitle' | translate }}\n </cds-tag>\n </section>\n\n <button\n cdsButton=\"danger\"\n [disabled]=\"count === 1\"\n [iconOnly]=\"true\"\n (click)=\"onDeleteRowClick($event, formRows, index)\"\n class=\"valtimo-widget-management-field-column__delete-button\"\n >\n <svg cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n </div>\n</ng-template>\n", styles: [".valtimo-widget-management-field-column{display:flex;flex-direction:column;gap:16px;background:var(--cds-layer-02)}.valtimo-widget-management-field-column__item,.valtimo-widget-management-field-column__cotainer{background:var(--cds-layer-01)}.valtimo-widget-management-field-column__item .cds--accordion__content{padding-inline-end:20px}.valtimo-widget-management-field-column__container{display:flex;flex-direction:column;gap:16px}.valtimo-widget-management-field-column__content{display:grid;grid-template-columns:1fr 180px 1fr;align-items:flex-end;gap:16px}.valtimo-widget-management-field-column__content--collection{grid-template-columns:1fr 180px 180px 1fr}.valtimo-widget-management-field-column__title{display:flex;justify-content:space-between;align-items:center;width:100%;padding:8px}.valtimo-widget-management-field-column__delete-button{display:flex;align-items:center;justify-content:center;padding:0;align-self:center}.valtimo-widget-management-field-column__delete-button.enum{align-self:flex-end}.valtimo-widget-management-field-column__path-selector{display:flex;flex-direction:column}.valtimo-widget-management-field-column__options{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.valtimo-widget-management-field-column__sorting{display:flex;align-items:center;align-self:flex-end;gap:16px}.valtimo-widget-management-field-column__enum{display:flex;flex-direction:column;gap:16px}.valtimo-widget-management-field-column__enum-form{display:grid;grid-template-columns:1fr 1fr auto;align-items:flex-end;gap:16px}.valtimo-widget-management-field-column__value-field .cds--label{width:100%;margin:0}.valtimo-widget-management-field-column__value-field .cds--label cds-label{margin-bottom:8px}.valtimo-widget-management-field-column cds-checkbox{display:flex;align-items:flex-end}.valtimo-widget-management-field-column .cds--text-input,.valtimo-widget-management-field-column .cds--list-box{background:var(--cds-layer-02)}\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"] }]
|
|
4737
|
-
}], ctorParameters: () => [{ type: i1.CdsThemeService }, { type: i0.ChangeDetectorRef }, { type: i1$3.FormBuilder }, { type: i3.IconService }, { type: i2$
|
|
5270
|
+
}], ctorParameters: () => [{ type: i1$1.CdsThemeService }, { type: i0.ChangeDetectorRef }, { type: i1$3.FormBuilder }, { type: i3.IconService }, { type: i2$2.TranslateService }, { type: WidgetFieldsService }, { type: WidgetWizardService }, { type: undefined, decorators: [{
|
|
4738
5271
|
type: Inject,
|
|
4739
5272
|
args: [WIDGET_MANAGEMENT_SERVICE]
|
|
4740
5273
|
}] }], propDecorators: { class: [{
|
|
@@ -4871,7 +5404,7 @@ class WidgetManagementFieldsComponent {
|
|
|
4871
5404
|
this.widgetWizardService.$widgetContentValid.set(this.form.valid && this._contentValid());
|
|
4872
5405
|
}
|
|
4873
5406
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetManagementFieldsComponent, deps: [{ token: i1$3.FormBuilder }, { token: WidgetWizardService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4874
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: WidgetManagementFieldsComponent, isStandalone: true, selector: "ng-component", host: { properties: { "class": "this.class" } }, viewQueries: [{ propertyName: "_tab", first: true, predicate: Tab, descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<form\n *ngIf=\"$showTitleInput()\"\n [formGroup]=\"form\"\n class=\"valtimo-widget-management-fields__title-form\"\n>\n <cds-text-label class=\"valtimo-widget-management-fields__input\">\n <v-input-label\n [title]=\"'widgetTabManagement.content.widgetTitle' | translate\"\n [tooltip]=\"'widgetTabManagement.content.widgetTitleTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n formControlName=\"widgetTitle\"\n cdsText\n [attr.data-test-id]=\"testIds.widgetTitleInput\"\n [placeholder]=\"'widgetTabManagement.content.widgetTitlePlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n\n <valtimo-mdi-icon-selector\n [cdsLayer]=\"1\"\n formControlName=\"widgetIcon\"\n ></valtimo-mdi-icon-selector>\n</form>\n\n<ng-content></ng-content>\n\n<cds-tabs type=\"contained\">\n @for (column of $columns(); track $index) {\n <cds-tab\n [active]=\"activeTab() === $index\"\n [heading]=\"columnHeading\"\n [context]=\"{index: $index, count: $count}\"\n (selected)=\"onTabSelected($index)\"\n >\n <valtimo-widget-management-fields-column\n *ngIf=\"activeTab() === $index\"\n [isFieldWidget]=\"true\"\n [columnData]=\"$selectedWidgetContent()?.[$index]\"\n [showHideWhenEmptyCheckbox]=\"true\"\n (columnUpdateEvent)=\"onColumnUpdateEvent($event, $index)\"\n ></valtimo-widget-management-fields-column>\n </cds-tab>\n }\n\n <cds-tab\n *ngIf=\"$columns().length < $widgetWidth\"\n [heading]=\"addColumn\"\n [id]=\"'addColumn'\"\n class=\"valtimo-widget-management-fields__add\"\n ></cds-tab>\n</cds-tabs>\n\n<ng-template #addColumn>\n <button\n cdsButton=\"ghost\"\n [iconOnly]=\"true\"\n (click)=\"$event.stopImmediatePropagation(); onAddColumnClick()\"\n >\n <svg cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<ng-template #columnHeading let-data>\n <div class=\"valtimo-widget-management-fields__heading\">\n {{ 'widgetTabManagement.content.column' | translate: {number: data.index + 1} }}\n\n <button\n cdsButton=\"ghost\"\n [disabled]=\"data.count === 1\"\n [iconOnly]=\"true\"\n size=\"sm\"\n (click)=\"onDeleteColumnClick(data.index)\"\n >\n <svg cdsIcon=\"close\" size=\"16\"></svg>\n </button>\n </div>\n</ng-template>\n", styles: [".cds--tab-content{padding:0!important}.valtimo-widget-management-fields{display:flex;flex-direction:column;gap:16px}.valtimo-widget-management-fields__title-form{padding:8px 0 16px 16px;background:var(--cds-layer);display:flex;gap:16px}.valtimo-widget-management-fields__input{max-width:288px}.valtimo-widget-management-fields__input input{background:var(--cds-layer-02)}.valtimo-widget-management-fields__heading{display:flex;align-items:center}.valtimo-widget-management-fields #addColumn-header{padding:0!important}.valtimo-widget-management-fields .cds--tabs__nav-item{padding-right:0!important}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$
|
|
5407
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: WidgetManagementFieldsComponent, isStandalone: true, selector: "ng-component", host: { properties: { "class": "this.class" } }, viewQueries: [{ propertyName: "_tab", first: true, predicate: Tab, descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<form\n *ngIf=\"$showTitleInput()\"\n [formGroup]=\"form\"\n class=\"valtimo-widget-management-fields__title-form\"\n>\n <cds-text-label class=\"valtimo-widget-management-fields__input\">\n <v-input-label\n [title]=\"'widgetTabManagement.content.widgetTitle' | translate\"\n [tooltip]=\"'widgetTabManagement.content.widgetTitleTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n formControlName=\"widgetTitle\"\n cdsText\n [attr.data-test-id]=\"testIds.widgetTitleInput\"\n [placeholder]=\"'widgetTabManagement.content.widgetTitlePlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n\n <valtimo-mdi-icon-selector\n [cdsLayer]=\"1\"\n formControlName=\"widgetIcon\"\n ></valtimo-mdi-icon-selector>\n</form>\n\n<ng-content></ng-content>\n\n<cds-tabs type=\"contained\">\n @for (column of $columns(); track $index) {\n <cds-tab\n [active]=\"activeTab() === $index\"\n [heading]=\"columnHeading\"\n [context]=\"{index: $index, count: $count}\"\n (selected)=\"onTabSelected($index)\"\n >\n <valtimo-widget-management-fields-column\n *ngIf=\"activeTab() === $index\"\n [isFieldWidget]=\"true\"\n [columnData]=\"$selectedWidgetContent()?.[$index]\"\n [showHideWhenEmptyCheckbox]=\"true\"\n (columnUpdateEvent)=\"onColumnUpdateEvent($event, $index)\"\n ></valtimo-widget-management-fields-column>\n </cds-tab>\n }\n\n <cds-tab\n *ngIf=\"$columns().length < $widgetWidth\"\n [heading]=\"addColumn\"\n [id]=\"'addColumn'\"\n class=\"valtimo-widget-management-fields__add\"\n ></cds-tab>\n</cds-tabs>\n\n<ng-template #addColumn>\n <button\n cdsButton=\"ghost\"\n [iconOnly]=\"true\"\n (click)=\"$event.stopImmediatePropagation(); onAddColumnClick()\"\n >\n <svg cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<ng-template #columnHeading let-data>\n <div class=\"valtimo-widget-management-fields__heading\">\n {{ 'widgetTabManagement.content.column' | translate: {number: data.index + 1} }}\n\n <button\n cdsButton=\"ghost\"\n [disabled]=\"data.count === 1\"\n [iconOnly]=\"true\"\n size=\"sm\"\n (click)=\"onDeleteColumnClick(data.index)\"\n >\n <svg cdsIcon=\"close\" size=\"16\"></svg>\n </button>\n </div>\n</ng-template>\n", styles: [".cds--tab-content{padding:0!important}.valtimo-widget-management-fields{display:flex;flex-direction:column;gap:16px}.valtimo-widget-management-fields__title-form{padding:8px 0 16px 16px;background:var(--cds-layer);display:flex;gap:16px}.valtimo-widget-management-fields__input{max-width:288px}.valtimo-widget-management-fields__input input{background:var(--cds-layer-02)}.valtimo-widget-management-fields__heading{display:flex;align-items:center}.valtimo-widget-management-fields #addColumn-header{padding:0!important}.valtimo-widget-management-fields .cds--tabs__nav-item{padding-right:0!important}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i3.TextInputLabelComponent, selector: "cds-text-label, ibm-text-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "textInputTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel", "fluid"] }, { kind: "directive", type: i3.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: TabsModule }, { kind: "component", type: i3.Tabs, selector: "cds-tabs, ibm-tabs", inputs: ["position", "cacheActive", "followFocus", "isNavigation", "ariaLabel", "ariaLabelledby", "type", "theme", "skeleton"] }, { kind: "component", type: i3.Tab, selector: "cds-tab, ibm-tab", inputs: ["heading", "title", "context", "active", "disabled", "tabIndex", "id", "cacheActive", "tabContent", "templateContext"], outputs: ["selected"] }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i3.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.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$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i3.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "component", type: WidgetManagementFieldsColumnComponent, selector: "valtimo-widget-management-fields-column", inputs: ["columnData", "addTranslateKey", "fieldWidthDropdown", "selectedCollection", "showHideWhenEmptyCheckbox", "showSortableCheckbox"], outputs: ["columnUpdateEvent"] }, { kind: "ngmodule", type: InputLabelModule }, { kind: "component", type: i1$1.InputLabelComponent, selector: "v-input-label", inputs: ["name", "tooltip", "tooltipTranslationKey", "largeMargin", "small", "noMargin", "title", "titleTranslationKey", "required", "disabled", "carbonTheme"] }, { kind: "component", type: MdiIconSelectorComponent, selector: "valtimo-mdi-icon-selector", inputs: ["labelTranslationKey", "tooltipTranslationKey", "placeholderTranslationKey", "appendInline", "dropUp"] }, { kind: "ngmodule", type: LayerModule }, { kind: "directive", type: i3.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
4875
5408
|
}
|
|
4876
5409
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetManagementFieldsComponent, decorators: [{
|
|
4877
5410
|
type: Component,
|
|
@@ -4972,8 +5505,8 @@ class WidgetManagementTableComponent {
|
|
|
4972
5505
|
onCollectionSelected(item) {
|
|
4973
5506
|
this.selectedCollection$.next(item);
|
|
4974
5507
|
}
|
|
4975
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetManagementTableComponent, deps: [{ token: i1.CdsThemeService }, { token: i1$3.FormBuilder }, { token: i2$
|
|
4976
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: WidgetManagementTableComponent, isStandalone: true, selector: "valtimo-widget-management-table", inputs: { showFirstColumnOption: "showFirstColumnOption", sortableColumns: "sortableColumns" }, host: { properties: { "class": "this.class" } }, 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<form\n *ngIf=\"{theme: theme$ | async, params: params$ | async} as obs\"\n [formGroup]=\"form\"\n class=\"valtimo-widget-management-table__form\"\n>\n <cds-text-label [attr.data-carbon-theme]=\"theme\">\n <v-input-label\n [title]=\"'widgetTabManagement.content.widgetTitle' | translate\"\n [tooltip]=\"'widgetTabManagement.content.widgetTitleTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n formControlName=\"title\"\n cdsText\n [placeholder]=\"'widgetTabManagement.content.widgetTitlePlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n\n <valtimo-mdi-icon-selector\n [cdsLayer]=\"1\"\n formControlName=\"widgetIcon\"\n ></valtimo-mdi-icon-selector>\n\n <cds-text-label [attr.data-carbon-theme]=\"theme\">\n <v-input-label\n [title]=\"'widgetTabManagement.content.table.defaultPageSize' | translate\"\n [tooltip]=\"'widgetTabManagement.content.table.defaultPageSizeTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n formControlName=\"defaultPageSize\"\n cdsText\n [placeholder]=\"'widgetTabManagement.content.table.defaultPageSizePlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n\n <cds-text-label [attr.data-carbon-theme]=\"theme\">\n <v-input-label\n [title]=\"'widgetTabManagement.content.table.collection' | translate\"\n [tooltip]=\"collectionDataTooltip$ | async\"\n >\n </v-input-label>\n\n @if ($widgetContext() === 'case') {\n <valtimo-value-path-selector\n formControlName=\"collection\"\n [attr.data-carbon-theme]=\"obs.theme\"\n [caseDefinitionKey]=\"obs.params?.caseDefinitionKey\"\n [caseDefinitionVersionTag]=\"obs.params?.caseDefinitionVersionTag\"\n [type]=\"ValuePathType.COLLECTION\"\n (collectionSelected)=\"onCollectionSelected($event)\"\n ></valtimo-value-path-selector>\n } @else {\n <input\n formControlName=\"collection\"\n cdsText\n [attr.data-carbon-theme]=\"theme\"\n [placeholder]=\"'widgetTabManagement.content.table.collection' | translate\"\n type=\"text\"\n />\n }\n </cds-text-label>\n</form>\n\n<ng-content></ng-content>\n\n<span class=\"valtimo-widget-management-table__subtitle\">\n {{ 'widgetTabManagement.content.table.columns' | translate }}\n</span>\n\n<valtimo-widget-management-fields-column\n [addTranslateKey]=\"'widgetTabManagement.content.table.addColumn'\"\n [columnData]=\"$content()?.columns\"\n (columnUpdateEvent)=\"onColumnUpdateEvent($event)\"\n [selectedCollection]=\"selectedCollection$ | async\"\n [showSortableCheckbox]=\"sortableColumns\"\n></valtimo-widget-management-fields-column>\n\n<section *ngIf=\"showFirstColumnOption\" class=\"valtimo-widget-management-table__toggle\">\n <span class=\"valtimo-widget-management-table__subtitle\">\n {{ 'widgetTabManagement.content.table.options' | translate }}\n </span>\n\n <cds-toggle\n [checked]=\"$checked()\"\n [label]=\"'widgetTabManagement.content.table.firstColumnAsTitle' | translate\"\n [onText]=\"'interface.yes' | translate\"\n [offText]=\"'interface.no' | translate\"\n (checkedChange)=\"onCheckedChange($event)\"\n ></cds-toggle>\n</section>\n", styles: [".valtimo-widget-management-table{display:flex;flex-direction:column;gap:24px}.valtimo-widget-management-table__form{display:grid;gap:16px;grid-template-columns:repeat(3,1fr);align-items:flex-end;padding:16px;background-color:var(--cds-layer-01)}.valtimo-widget-management-table__subtitle{font-size:16px;font-weight:600;line-height:22px}.valtimo-widget-management-table__toggle{display:flex;flex-direction:column;gap:8px}.valtimo-widget-management-table__path-selector{display:flex;flex-direction:column}.valtimo-widget-management-table .cds--text-input,.valtimo-widget-management-table .cds--list-box{background:var(--cds-layer-02)}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$
|
|
5508
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetManagementTableComponent, deps: [{ token: i1$1.CdsThemeService }, { token: i1$3.FormBuilder }, { token: i2$2.TranslateService }, { token: WidgetWizardService }, { token: WIDGET_MANAGEMENT_SERVICE }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5509
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: WidgetManagementTableComponent, isStandalone: true, selector: "valtimo-widget-management-table", inputs: { showFirstColumnOption: "showFirstColumnOption", sortableColumns: "sortableColumns" }, host: { properties: { "class": "this.class" } }, 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<form\n *ngIf=\"{theme: theme$ | async, params: params$ | async} as obs\"\n [formGroup]=\"form\"\n class=\"valtimo-widget-management-table__form\"\n>\n <cds-text-label [attr.data-carbon-theme]=\"theme\">\n <v-input-label\n [title]=\"'widgetTabManagement.content.widgetTitle' | translate\"\n [tooltip]=\"'widgetTabManagement.content.widgetTitleTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n formControlName=\"title\"\n cdsText\n [placeholder]=\"'widgetTabManagement.content.widgetTitlePlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n\n <valtimo-mdi-icon-selector\n [cdsLayer]=\"1\"\n formControlName=\"widgetIcon\"\n ></valtimo-mdi-icon-selector>\n\n <cds-text-label [attr.data-carbon-theme]=\"theme\">\n <v-input-label\n [title]=\"'widgetTabManagement.content.table.defaultPageSize' | translate\"\n [tooltip]=\"'widgetTabManagement.content.table.defaultPageSizeTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n formControlName=\"defaultPageSize\"\n cdsText\n [placeholder]=\"'widgetTabManagement.content.table.defaultPageSizePlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n\n <cds-text-label [attr.data-carbon-theme]=\"theme\">\n <v-input-label\n [title]=\"'widgetTabManagement.content.table.collection' | translate\"\n [tooltip]=\"collectionDataTooltip$ | async\"\n >\n </v-input-label>\n\n @if ($widgetContext() === 'case') {\n <valtimo-value-path-selector\n formControlName=\"collection\"\n [attr.data-carbon-theme]=\"obs.theme\"\n [caseDefinitionKey]=\"obs.params?.caseDefinitionKey\"\n [caseDefinitionVersionTag]=\"obs.params?.caseDefinitionVersionTag\"\n [type]=\"ValuePathType.COLLECTION\"\n (collectionSelected)=\"onCollectionSelected($event)\"\n ></valtimo-value-path-selector>\n } @else {\n <input\n formControlName=\"collection\"\n cdsText\n [attr.data-carbon-theme]=\"theme\"\n [placeholder]=\"'widgetTabManagement.content.table.collection' | translate\"\n type=\"text\"\n />\n }\n </cds-text-label>\n</form>\n\n<ng-content></ng-content>\n\n<span class=\"valtimo-widget-management-table__subtitle\">\n {{ 'widgetTabManagement.content.table.columns' | translate }}\n</span>\n\n<valtimo-widget-management-fields-column\n [addTranslateKey]=\"'widgetTabManagement.content.table.addColumn'\"\n [columnData]=\"$content()?.columns\"\n (columnUpdateEvent)=\"onColumnUpdateEvent($event)\"\n [selectedCollection]=\"selectedCollection$ | async\"\n [showSortableCheckbox]=\"sortableColumns\"\n></valtimo-widget-management-fields-column>\n\n<section *ngIf=\"showFirstColumnOption\" class=\"valtimo-widget-management-table__toggle\">\n <span class=\"valtimo-widget-management-table__subtitle\">\n {{ 'widgetTabManagement.content.table.options' | translate }}\n </span>\n\n <cds-toggle\n [checked]=\"$checked()\"\n [label]=\"'widgetTabManagement.content.table.firstColumnAsTitle' | translate\"\n [onText]=\"'interface.yes' | translate\"\n [offText]=\"'interface.no' | translate\"\n (checkedChange)=\"onCheckedChange($event)\"\n ></cds-toggle>\n</section>\n", styles: [".valtimo-widget-management-table{display:flex;flex-direction:column;gap:24px}.valtimo-widget-management-table__form{display:grid;gap:16px;grid-template-columns:repeat(3,1fr);align-items:flex-end;padding:16px;background-color:var(--cds-layer-01)}.valtimo-widget-management-table__subtitle{font-size:16px;font-weight:600;line-height:22px}.valtimo-widget-management-table__toggle{display:flex;flex-direction:column;gap:8px}.valtimo-widget-management-table__path-selector{display:flex;flex-direction:column}.valtimo-widget-management-table .cds--text-input,.valtimo-widget-management-table .cds--list-box{background:var(--cds-layer-02)}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$2.TranslatePipe, name: "translate" }, { kind: "component", type: WidgetManagementFieldsColumnComponent, selector: "valtimo-widget-management-fields-column", inputs: ["columnData", "addTranslateKey", "fieldWidthDropdown", "selectedCollection", "showHideWhenEmptyCheckbox", "showSortableCheckbox"], outputs: ["columnUpdateEvent"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.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$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i3.TextInputLabelComponent, selector: "cds-text-label, ibm-text-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "textInputTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel", "fluid"] }, { kind: "directive", type: i3.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: ToggleModule }, { kind: "component", type: i3.Toggle, selector: "cds-toggle, ibm-toggle", inputs: ["offText", "onText", "label", "size", "hideLabel", "ariaLabel", "skeleton"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "ngmodule", type: InputLabelModule }, { kind: "component", type: i1$1.InputLabelComponent, selector: "v-input-label", inputs: ["name", "tooltip", "tooltipTranslationKey", "largeMargin", "small", "noMargin", "title", "titleTranslationKey", "required", "disabled", "carbonTheme"] }, { kind: "ngmodule", type: LayerModule }, { kind: "directive", type: i3.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "component", type: ValuePathSelectorComponent, selector: "valtimo-value-path-selector", inputs: ["name", "appendInline", "margin", "marginLg", "marginXl", "disabled", "caseDefinitionKey", "caseDefinitionVersionTag", "buildingBlockDefinitionKey", "buildingBlockDefinitionVersionTag", "prefixes", "label", "tooltip", "required", "showCaseDefinitionSelector", "notation", "dropUp", "defaultValue", "type", "parentItem", "filterItems"], outputs: ["valueChangeEvent", "collectionSelected"] }, { kind: "component", type: MdiIconSelectorComponent, selector: "valtimo-mdi-icon-selector", inputs: ["labelTranslationKey", "tooltipTranslationKey", "placeholderTranslationKey", "appendInline", "dropUp"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
4977
5510
|
}
|
|
4978
5511
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetManagementTableComponent, decorators: [{
|
|
4979
5512
|
type: Component,
|
|
@@ -4990,7 +5523,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
4990
5523
|
ValuePathSelectorComponent,
|
|
4991
5524
|
MdiIconSelectorComponent,
|
|
4992
5525
|
], 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<form\n *ngIf=\"{theme: theme$ | async, params: params$ | async} as obs\"\n [formGroup]=\"form\"\n class=\"valtimo-widget-management-table__form\"\n>\n <cds-text-label [attr.data-carbon-theme]=\"theme\">\n <v-input-label\n [title]=\"'widgetTabManagement.content.widgetTitle' | translate\"\n [tooltip]=\"'widgetTabManagement.content.widgetTitleTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n formControlName=\"title\"\n cdsText\n [placeholder]=\"'widgetTabManagement.content.widgetTitlePlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n\n <valtimo-mdi-icon-selector\n [cdsLayer]=\"1\"\n formControlName=\"widgetIcon\"\n ></valtimo-mdi-icon-selector>\n\n <cds-text-label [attr.data-carbon-theme]=\"theme\">\n <v-input-label\n [title]=\"'widgetTabManagement.content.table.defaultPageSize' | translate\"\n [tooltip]=\"'widgetTabManagement.content.table.defaultPageSizeTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n formControlName=\"defaultPageSize\"\n cdsText\n [placeholder]=\"'widgetTabManagement.content.table.defaultPageSizePlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n\n <cds-text-label [attr.data-carbon-theme]=\"theme\">\n <v-input-label\n [title]=\"'widgetTabManagement.content.table.collection' | translate\"\n [tooltip]=\"collectionDataTooltip$ | async\"\n >\n </v-input-label>\n\n @if ($widgetContext() === 'case') {\n <valtimo-value-path-selector\n formControlName=\"collection\"\n [attr.data-carbon-theme]=\"obs.theme\"\n [caseDefinitionKey]=\"obs.params?.caseDefinitionKey\"\n [caseDefinitionVersionTag]=\"obs.params?.caseDefinitionVersionTag\"\n [type]=\"ValuePathType.COLLECTION\"\n (collectionSelected)=\"onCollectionSelected($event)\"\n ></valtimo-value-path-selector>\n } @else {\n <input\n formControlName=\"collection\"\n cdsText\n [attr.data-carbon-theme]=\"theme\"\n [placeholder]=\"'widgetTabManagement.content.table.collection' | translate\"\n type=\"text\"\n />\n }\n </cds-text-label>\n</form>\n\n<ng-content></ng-content>\n\n<span class=\"valtimo-widget-management-table__subtitle\">\n {{ 'widgetTabManagement.content.table.columns' | translate }}\n</span>\n\n<valtimo-widget-management-fields-column\n [addTranslateKey]=\"'widgetTabManagement.content.table.addColumn'\"\n [columnData]=\"$content()?.columns\"\n (columnUpdateEvent)=\"onColumnUpdateEvent($event)\"\n [selectedCollection]=\"selectedCollection$ | async\"\n [showSortableCheckbox]=\"sortableColumns\"\n></valtimo-widget-management-fields-column>\n\n<section *ngIf=\"showFirstColumnOption\" class=\"valtimo-widget-management-table__toggle\">\n <span class=\"valtimo-widget-management-table__subtitle\">\n {{ 'widgetTabManagement.content.table.options' | translate }}\n </span>\n\n <cds-toggle\n [checked]=\"$checked()\"\n [label]=\"'widgetTabManagement.content.table.firstColumnAsTitle' | translate\"\n [onText]=\"'interface.yes' | translate\"\n [offText]=\"'interface.no' | translate\"\n (checkedChange)=\"onCheckedChange($event)\"\n ></cds-toggle>\n</section>\n", styles: [".valtimo-widget-management-table{display:flex;flex-direction:column;gap:24px}.valtimo-widget-management-table__form{display:grid;gap:16px;grid-template-columns:repeat(3,1fr);align-items:flex-end;padding:16px;background-color:var(--cds-layer-01)}.valtimo-widget-management-table__subtitle{font-size:16px;font-weight:600;line-height:22px}.valtimo-widget-management-table__toggle{display:flex;flex-direction:column;gap:8px}.valtimo-widget-management-table__path-selector{display:flex;flex-direction:column}.valtimo-widget-management-table .cds--text-input,.valtimo-widget-management-table .cds--list-box{background:var(--cds-layer-02)}\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"] }]
|
|
4993
|
-
}], ctorParameters: () => [{ type: i1.CdsThemeService }, { type: i1$3.FormBuilder }, { type: i2$
|
|
5526
|
+
}], ctorParameters: () => [{ type: i1$1.CdsThemeService }, { type: i1$3.FormBuilder }, { type: i2$2.TranslateService }, { type: WidgetWizardService }, { type: undefined, decorators: [{
|
|
4994
5527
|
type: Inject,
|
|
4995
5528
|
args: [WIDGET_MANAGEMENT_SERVICE]
|
|
4996
5529
|
}] }], propDecorators: { class: [{
|
|
@@ -5195,8 +5728,8 @@ class WidgetManagementCollectionComponent {
|
|
|
5195
5728
|
this.widgetWizardService.$widgetContentValid.set(this.widgetForm.valid && this.cardForm.valid && this._$contentValid());
|
|
5196
5729
|
}));
|
|
5197
5730
|
}
|
|
5198
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetManagementCollectionComponent, deps: [{ token: i1.CdsThemeService }, { token: i1$3.FormBuilder }, { token: i2$
|
|
5199
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: WidgetManagementCollectionComponent, isStandalone: true, selector: "ng-component", host: { properties: { "class": "this.class" } }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container *ngIf=\"{theme: theme$ | async, params: params$ | async} as obs\">\n <form [formGroup]=\"widgetForm\" class=\"valtimo-widget-management-collection__form\">\n <cds-text-label [attr.data-carbon-theme]=\"theme\">\n <v-input-label\n [title]=\"'widgetTabManagement.content.widgetTitle' | translate\"\n [tooltip]=\"'widgetTabManagement.content.widgetTitleTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n formControlName=\"title\"\n cdsText\n [placeholder]=\"'widgetTabManagement.content.widgetTitlePlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n\n <valtimo-mdi-icon-selector\n [cdsLayer]=\"1\"\n formControlName=\"widgetIcon\"\n ></valtimo-mdi-icon-selector>\n\n <cds-text-label [attr.data-carbon-theme]=\"theme\">\n <v-input-label\n [title]=\"'widgetTabManagement.content.collection.defaultPageSize' | translate\"\n [tooltip]=\"'widgetTabManagement.content.collection.defaultPageSizeTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n formControlName=\"defaultPageSize\"\n cdsText\n [placeholder]=\"\n 'widgetTabManagement.content.collection.defaultPageSizePlaceholder' | translate\n \"\n type=\"text\"\n />\n </cds-text-label>\n\n <div class=\"valtimo-widget-management-collection__value-field\">\n <v-input-label\n [title]=\"'widgetTabManagement.content.collection.collection' | translate\"\n [tooltip]=\"collectionDataTooltip$ | async\"\n >\n </v-input-label>\n\n @if ($widgetContext() === 'case') {\n <valtimo-value-path-selector\n formControlName=\"collection\"\n [attr.data-carbon-theme]=\"theme\"\n [caseDefinitionKey]=\"obs.params?.caseDefinitionKey\"\n [caseDefinitionVersionTag]=\"obs.params?.caseDefinitionVersionTag\"\n [type]=\"ValuePathType.COLLECTION\"\n (collectionSelected)=\"onCollectionSelected($event)\"\n ></valtimo-value-path-selector>\n } @else {\n <input\n formControlName=\"collection\"\n cdsText\n [attr.data-carbon-theme]=\"theme\"\n [placeholder]=\"'widgetTabManagement.content.collection.collection' | translate\"\n type=\"text\"\n />\n }\n </div>\n </form>\n\n <ng-content></ng-content>\n\n <span class=\"valtimo-widget-management-collection__subtitle\">\n {{ 'widgetTabManagement.content.collection.cardTitle' | translate }}\n </span>\n\n <form [formGroup]=\"cardForm\" class=\"valtimo-widget-management-collection__card\">\n <section class=\"valtimo-widget-management-collection__card-title\">\n <div class=\"valtimo-widget-management-collection__path-selector\">\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.value' | translate\"\n [tooltip]=\"'widgetTabManagement.content.collection.valueTooltip' | translate\"\n >\n </v-input-label>\n @if ($widgetContext() === 'case') {\n <valtimo-value-path-selector\n formControlName=\"value\"\n [attr.data-carbon-theme]=\"theme\"\n [caseDefinitionKey]=\"obs.params?.caseDefinitionKey\"\n [caseDefinitionVersionTag]=\"obs.params?.caseDefinitionVersionTag\"\n [parentItem]=\"selectedCollection$ | async\"\n ></valtimo-value-path-selector>\n } @else {\n <input\n formControlName=\"value\"\n cdsText\n [attr.data-carbon-theme]=\"theme\"\n [placeholder]=\"'widgetTabManagement.content.fields.value' | translate\"\n type=\"text\"\n />\n }\n </div>\n\n <cds-dropdown\n [attr.data-carbon-theme]=\"theme\"\n [label]=\"'widgetTabManagement.content.fields.type' | translate\"\n [dropUp]=\"false\"\n [placeholder]=\"'widgetTabManagement.content.fields.typePlaceholder' | translate\"\n (selected)=\"onTypeSelected(cardForm, $event)\"\n formControlName=\"type\"\n >\n <cds-dropdown-list [items]=\"getDisplayItemsSelected(cardForm)\"></cds-dropdown-list>\n </cds-dropdown>\n </section>\n\n <section class=\"valtimo-widget-management-collection__card-options\">\n @switch (cardForm.get('type').value.id) {\n @case (WidgetDisplayTypeKey.CURRENCY) {\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.currencyCode' | translate\"\n [tooltip]=\"'widgetTabManagement.content.fields.currencyCodeTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n cdsText\n [attr.data-carbon-theme]=\"theme\"\n [placeholder]=\"\n 'widgetTabManagement.content.fields.currencyCodePlaceholder' | translate\n \"\n type=\"text\"\n formControlName=\"currencyCode\"\n />\n </cds-text-label>\n\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.display' | translate\"\n [tooltip]=\"'widgetTabManagement.content.fields.displayTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n cdsText\n [attr.data-carbon-theme]=\"theme\"\n [placeholder]=\"'widgetTabManagement.content.fields.displayPlaceholder' | translate\"\n type=\"text\"\n formControlName=\"display\"\n />\n </cds-text-label>\n\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.digitsInfo' | translate\"\n tooltip=\"{{\n 'widgetTabManagement.content.fields.digitsInfoTooltip'\n | translate: {minFractionDigits: 2, maxFractionDigits: 2}\n }}\"\n >\n </v-input-label>\n\n <input\n cdsText\n [attr.data-carbon-theme]=\"theme\"\n [placeholder]=\"'widgetTabManagement.content.fields.digitsInfoPlaceholder' | translate\"\n type=\"text\"\n formControlName=\"digitsInfo\"\n />\n </cds-text-label>\n }\n @case (WidgetDisplayTypeKey.DATE) {\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.format' | translate\"\n [tooltip]=\"'widgetTabManagement.content.fields.dateFormatTooltip' | translate\"\n ></v-input-label>\n\n <input\n cdsText\n [attr.data-carbon-theme]=\"theme\"\n [placeholder]=\"'widgetTabManagement.content.fields.formatPlaceholder' | translate\"\n type=\"text\"\n formControlName=\"format\"\n />\n </cds-text-label>\n }\n @case (WidgetDisplayTypeKey.DATE_TIME) {\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.format' | translate\"\n [tooltip]=\"'widgetTabManagement.content.fields.dateTimeFormatTooltip' | translate\"\n ></v-input-label>\n\n <input\n cdsText\n [attr.data-carbon-theme]=\"theme\"\n [placeholder]=\"'widgetTabManagement.content.fields.formatPlaceholder' | translate\"\n type=\"text\"\n formControlName=\"format\"\n />\n </cds-text-label>\n }\n @case (WidgetDisplayTypeKey.ENUM) {\n <div class=\"valtimo-widget-management-collection__enum\" formArrayName=\"values\">\n @for (rowValue of cardForm.get('values')?.controls; track $index) {\n <form [formGroup]=\"rowValue\" class=\"valtimo-widget-management-collection__enum-form\">\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.enumValue' | translate\"\n [tooltip]=\"'widgetTabManagement.content.fields.enumValueTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n [attr.data-carbon-theme]=\"theme\"\n cdsText\n [placeholder]=\"'widgetTabManagement.content.enumValue' | translate\"\n type=\"text\"\n formControlName=\"key\"\n />\n </cds-text-label>\n\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.enumDisplay' | translate\"\n [tooltip]=\"'widgetTabManagement.content.fields.enumDisplayTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n cdsText\n [attr.data-carbon-theme]=\"theme\"\n [placeholder]=\"'widgetTabManagement.content.fields.enumDisplay' | translate\"\n type=\"text\"\n formControlName=\"value\"\n />\n </cds-text-label>\n\n <button\n cdsButton=\"danger--ghost\"\n [disabled]=\"$count === 1\"\n [iconOnly]=\"true\"\n class=\"valtimo-case-management-widget-field-column__delete-button enum\"\n (click)=\"onDeleteRowClick(cardForm.get('values'), $index)\"\n >\n <svg cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n </form>\n }\n\n <button\n cdsButton=\"primary\"\n size=\"sm\"\n (click)=\"onAddEnumValueClick(cardForm.get('values'))\"\n >\n {{ 'widgetTabManagement.content.fields.addEnum' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n </div>\n }\n @case (WidgetDisplayTypeKey.NUMBER) {\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.digitsInfo' | translate\"\n tooltip=\"{{\n 'widgetTabManagement.content.fields.digitsInfoTooltip'\n | translate\n : {\n minFractionDigits: 0,\n maxFractionDigits: 3,\n }\n }}\"\n >\n </v-input-label>\n\n <input\n cdsText\n [attr.data-carbon-theme]=\"theme\"\n [placeholder]=\"'widgetTabManagement.content.fields.digitsInfo' | translate\"\n type=\"text\"\n formControlName=\"digitsInfo\"\n />\n </cds-text-label>\n }\n @case (WidgetDisplayTypeKey.PERCENT) {\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.digitsInfo' | translate\"\n tooltip=\"{{\n 'widgetTabManagement.content.fields.digitsInfoTooltip'\n | translate\n : {\n minFractionDigits: 0,\n maxFractionDigits: 0,\n }\n }}\"\n >\n </v-input-label>\n\n <input\n cdsText\n [attr.data-carbon-theme]=\"theme\"\n [placeholder]=\"'widgetTabManagement.content.fields.digitsInfo' | translate\"\n type=\"text\"\n formControlName=\"digitsInfo\"\n />\n </cds-text-label>\n }\n }\n </section>\n </form>\n\n <span class=\"valtimo-widget-management-collection__subtitle\">\n {{ 'widgetTabManagement.content.collection.cardFields' | translate }}\n </span>\n\n <valtimo-widget-management-fields-column\n [columnData]=\"$content()?.fields\"\n [fieldWidthDropdown]=\"fieldWidthDropdown\"\n [showHideWhenEmptyCheckbox]=\"true\"\n (columnUpdateEvent)=\"onColumnUpdateEvent($event)\"\n [selectedCollection]=\"selectedCollection$ | async\"\n >\n </valtimo-widget-management-fields-column>\n\n <ng-template #fieldWidthDropdown let-index=\"index\">\n <cds-dropdown\n [label]=\"'widgetTabManagement.content.collection.fieldWidth' | translate\"\n [dropUp]=\"false\"\n [placeholder]=\"'widgetTabManagement.content.collection.fieldWidthPlaceholder' | translate\"\n (selected)=\"onWidthSelected($event, index)\"\n >\n <cds-dropdown-list [items]=\"getSelectedWidthItem(index)\"></cds-dropdown-list>\n </cds-dropdown>\n </ng-template>\n</ng-container>\n", styles: [".valtimo-widget-management-collection{display:flex;flex-direction:column;gap:24px}.valtimo-widget-management-collection__form{display:grid;gap:16px;grid-template-columns:repeat(3,1fr);align-items:flex-end;background:var(--cds-layer);padding:12px 16px 16px}.valtimo-widget-management-collection__subtitle{font-size:16px;font-weight:600;line-height:22px}.valtimo-widget-management-collection__value-field{display:flex;flex-direction:column}.valtimo-widget-management-collection__card{flex-direction:column;display:flex;gap:16px;background:var(--cds-layer);padding:16px}.valtimo-widget-management-collection__card-title{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;align-items:flex-end}.valtimo-widget-management-collection__card-options{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.valtimo-widget-management-collection__enum{display:flex;flex-direction:column;gap:16px}.valtimo-widget-management-collection__enum-form{display:grid;grid-template-columns:1fr 1fr auto;align-items:flex-end;gap:16px}.valtimo-widget-management-collection .cds--text-input,.valtimo-widget-management-collection .cds--list-box{background:var(--cds-layer-02)}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$1.TranslatePipe, name: "translate" }, { kind: "component", type: WidgetManagementFieldsColumnComponent, selector: "valtimo-widget-management-fields-column", inputs: ["columnData", "addTranslateKey", "fieldWidthDropdown", "selectedCollection", "showHideWhenEmptyCheckbox", "showSortableCheckbox"], outputs: ["columnUpdateEvent"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.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$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1$3.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i3.TextInputLabelComponent, selector: "cds-text-label, ibm-text-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "textInputTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel", "fluid"] }, { kind: "directive", type: i3.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i7.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: i7.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i3.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i3.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "ngmodule", type: InputLabelModule }, { kind: "component", type: i1.InputLabelComponent, selector: "v-input-label", inputs: ["name", "tooltip", "tooltipTranslationKey", "largeMargin", "small", "noMargin", "title", "titleTranslationKey", "required", "disabled", "carbonTheme"] }, { kind: "component", type: ValuePathSelectorComponent, selector: "valtimo-value-path-selector", inputs: ["name", "appendInline", "margin", "marginLg", "marginXl", "disabled", "caseDefinitionKey", "caseDefinitionVersionTag", "buildingBlockDefinitionKey", "buildingBlockDefinitionVersionTag", "prefixes", "label", "tooltip", "required", "showCaseDefinitionSelector", "notation", "dropUp", "defaultValue", "type", "parentItem", "filterItems"], outputs: ["valueChangeEvent", "collectionSelected"] }, { kind: "component", type: MdiIconSelectorComponent, selector: "valtimo-mdi-icon-selector", inputs: ["labelTranslationKey", "tooltipTranslationKey", "placeholderTranslationKey", "appendInline", "dropUp"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
5731
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetManagementCollectionComponent, deps: [{ token: i1$1.CdsThemeService }, { token: i1$3.FormBuilder }, { token: i2$2.TranslateService }, { token: WidgetFieldsService }, { token: WidgetWizardService }, { token: WIDGET_MANAGEMENT_SERVICE }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5732
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: WidgetManagementCollectionComponent, isStandalone: true, selector: "ng-component", host: { properties: { "class": "this.class" } }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container *ngIf=\"{theme: theme$ | async, params: params$ | async} as obs\">\n <form [formGroup]=\"widgetForm\" class=\"valtimo-widget-management-collection__form\">\n <cds-text-label [attr.data-carbon-theme]=\"theme\">\n <v-input-label\n [title]=\"'widgetTabManagement.content.widgetTitle' | translate\"\n [tooltip]=\"'widgetTabManagement.content.widgetTitleTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n formControlName=\"title\"\n cdsText\n [placeholder]=\"'widgetTabManagement.content.widgetTitlePlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n\n <valtimo-mdi-icon-selector\n [cdsLayer]=\"1\"\n formControlName=\"widgetIcon\"\n ></valtimo-mdi-icon-selector>\n\n <cds-text-label [attr.data-carbon-theme]=\"theme\">\n <v-input-label\n [title]=\"'widgetTabManagement.content.collection.defaultPageSize' | translate\"\n [tooltip]=\"'widgetTabManagement.content.collection.defaultPageSizeTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n formControlName=\"defaultPageSize\"\n cdsText\n [placeholder]=\"\n 'widgetTabManagement.content.collection.defaultPageSizePlaceholder' | translate\n \"\n type=\"text\"\n />\n </cds-text-label>\n\n <div class=\"valtimo-widget-management-collection__value-field\">\n <v-input-label\n [title]=\"'widgetTabManagement.content.collection.collection' | translate\"\n [tooltip]=\"collectionDataTooltip$ | async\"\n >\n </v-input-label>\n\n @if ($widgetContext() === 'case') {\n <valtimo-value-path-selector\n formControlName=\"collection\"\n [attr.data-carbon-theme]=\"theme\"\n [caseDefinitionKey]=\"obs.params?.caseDefinitionKey\"\n [caseDefinitionVersionTag]=\"obs.params?.caseDefinitionVersionTag\"\n [type]=\"ValuePathType.COLLECTION\"\n (collectionSelected)=\"onCollectionSelected($event)\"\n ></valtimo-value-path-selector>\n } @else {\n <input\n formControlName=\"collection\"\n cdsText\n [attr.data-carbon-theme]=\"theme\"\n [placeholder]=\"'widgetTabManagement.content.collection.collection' | translate\"\n type=\"text\"\n />\n }\n </div>\n </form>\n\n <ng-content></ng-content>\n\n <span class=\"valtimo-widget-management-collection__subtitle\">\n {{ 'widgetTabManagement.content.collection.cardTitle' | translate }}\n </span>\n\n <form [formGroup]=\"cardForm\" class=\"valtimo-widget-management-collection__card\">\n <section class=\"valtimo-widget-management-collection__card-title\">\n <div class=\"valtimo-widget-management-collection__path-selector\">\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.value' | translate\"\n [tooltip]=\"'widgetTabManagement.content.collection.valueTooltip' | translate\"\n >\n </v-input-label>\n @if ($widgetContext() === 'case') {\n <valtimo-value-path-selector\n formControlName=\"value\"\n [attr.data-carbon-theme]=\"theme\"\n [caseDefinitionKey]=\"obs.params?.caseDefinitionKey\"\n [caseDefinitionVersionTag]=\"obs.params?.caseDefinitionVersionTag\"\n [parentItem]=\"selectedCollection$ | async\"\n ></valtimo-value-path-selector>\n } @else {\n <input\n formControlName=\"value\"\n cdsText\n [attr.data-carbon-theme]=\"theme\"\n [placeholder]=\"'widgetTabManagement.content.fields.value' | translate\"\n type=\"text\"\n />\n }\n </div>\n\n <cds-dropdown\n [attr.data-carbon-theme]=\"theme\"\n [label]=\"'widgetTabManagement.content.fields.type' | translate\"\n [dropUp]=\"false\"\n [placeholder]=\"'widgetTabManagement.content.fields.typePlaceholder' | translate\"\n (selected)=\"onTypeSelected(cardForm, $event)\"\n formControlName=\"type\"\n >\n <cds-dropdown-list [items]=\"getDisplayItemsSelected(cardForm)\"></cds-dropdown-list>\n </cds-dropdown>\n </section>\n\n <section class=\"valtimo-widget-management-collection__card-options\">\n @switch (cardForm.get('type').value.id) {\n @case (WidgetDisplayTypeKey.CURRENCY) {\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.currencyCode' | translate\"\n [tooltip]=\"'widgetTabManagement.content.fields.currencyCodeTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n cdsText\n [attr.data-carbon-theme]=\"theme\"\n [placeholder]=\"\n 'widgetTabManagement.content.fields.currencyCodePlaceholder' | translate\n \"\n type=\"text\"\n formControlName=\"currencyCode\"\n />\n </cds-text-label>\n\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.display' | translate\"\n [tooltip]=\"'widgetTabManagement.content.fields.displayTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n cdsText\n [attr.data-carbon-theme]=\"theme\"\n [placeholder]=\"'widgetTabManagement.content.fields.displayPlaceholder' | translate\"\n type=\"text\"\n formControlName=\"display\"\n />\n </cds-text-label>\n\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.digitsInfo' | translate\"\n tooltip=\"{{\n 'widgetTabManagement.content.fields.digitsInfoTooltip'\n | translate: {minFractionDigits: 2, maxFractionDigits: 2}\n }}\"\n >\n </v-input-label>\n\n <input\n cdsText\n [attr.data-carbon-theme]=\"theme\"\n [placeholder]=\"'widgetTabManagement.content.fields.digitsInfoPlaceholder' | translate\"\n type=\"text\"\n formControlName=\"digitsInfo\"\n />\n </cds-text-label>\n }\n @case (WidgetDisplayTypeKey.DATE) {\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.format' | translate\"\n [tooltip]=\"'widgetTabManagement.content.fields.dateFormatTooltip' | translate\"\n ></v-input-label>\n\n <input\n cdsText\n [attr.data-carbon-theme]=\"theme\"\n [placeholder]=\"'widgetTabManagement.content.fields.formatPlaceholder' | translate\"\n type=\"text\"\n formControlName=\"format\"\n />\n </cds-text-label>\n }\n @case (WidgetDisplayTypeKey.DATE_TIME) {\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.format' | translate\"\n [tooltip]=\"'widgetTabManagement.content.fields.dateTimeFormatTooltip' | translate\"\n ></v-input-label>\n\n <input\n cdsText\n [attr.data-carbon-theme]=\"theme\"\n [placeholder]=\"'widgetTabManagement.content.fields.formatPlaceholder' | translate\"\n type=\"text\"\n formControlName=\"format\"\n />\n </cds-text-label>\n }\n @case (WidgetDisplayTypeKey.ENUM) {\n <div class=\"valtimo-widget-management-collection__enum\" formArrayName=\"values\">\n @for (rowValue of cardForm.get('values')?.controls; track $index) {\n <form [formGroup]=\"rowValue\" class=\"valtimo-widget-management-collection__enum-form\">\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.enumValue' | translate\"\n [tooltip]=\"'widgetTabManagement.content.fields.enumValueTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n [attr.data-carbon-theme]=\"theme\"\n cdsText\n [placeholder]=\"'widgetTabManagement.content.enumValue' | translate\"\n type=\"text\"\n formControlName=\"key\"\n />\n </cds-text-label>\n\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.enumDisplay' | translate\"\n [tooltip]=\"'widgetTabManagement.content.fields.enumDisplayTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n cdsText\n [attr.data-carbon-theme]=\"theme\"\n [placeholder]=\"'widgetTabManagement.content.fields.enumDisplay' | translate\"\n type=\"text\"\n formControlName=\"value\"\n />\n </cds-text-label>\n\n <button\n cdsButton=\"danger--ghost\"\n [disabled]=\"$count === 1\"\n [iconOnly]=\"true\"\n class=\"valtimo-case-management-widget-field-column__delete-button enum\"\n (click)=\"onDeleteRowClick(cardForm.get('values'), $index)\"\n >\n <svg cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n </form>\n }\n\n <button\n cdsButton=\"primary\"\n size=\"sm\"\n (click)=\"onAddEnumValueClick(cardForm.get('values'))\"\n >\n {{ 'widgetTabManagement.content.fields.addEnum' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n </div>\n }\n @case (WidgetDisplayTypeKey.NUMBER) {\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.digitsInfo' | translate\"\n tooltip=\"{{\n 'widgetTabManagement.content.fields.digitsInfoTooltip'\n | translate\n : {\n minFractionDigits: 0,\n maxFractionDigits: 3,\n }\n }}\"\n >\n </v-input-label>\n\n <input\n cdsText\n [attr.data-carbon-theme]=\"theme\"\n [placeholder]=\"'widgetTabManagement.content.fields.digitsInfo' | translate\"\n type=\"text\"\n formControlName=\"digitsInfo\"\n />\n </cds-text-label>\n }\n @case (WidgetDisplayTypeKey.PERCENT) {\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.digitsInfo' | translate\"\n tooltip=\"{{\n 'widgetTabManagement.content.fields.digitsInfoTooltip'\n | translate\n : {\n minFractionDigits: 0,\n maxFractionDigits: 0,\n }\n }}\"\n >\n </v-input-label>\n\n <input\n cdsText\n [attr.data-carbon-theme]=\"theme\"\n [placeholder]=\"'widgetTabManagement.content.fields.digitsInfo' | translate\"\n type=\"text\"\n formControlName=\"digitsInfo\"\n />\n </cds-text-label>\n }\n }\n </section>\n </form>\n\n <span class=\"valtimo-widget-management-collection__subtitle\">\n {{ 'widgetTabManagement.content.collection.cardFields' | translate }}\n </span>\n\n <valtimo-widget-management-fields-column\n [columnData]=\"$content()?.fields\"\n [fieldWidthDropdown]=\"fieldWidthDropdown\"\n [showHideWhenEmptyCheckbox]=\"true\"\n (columnUpdateEvent)=\"onColumnUpdateEvent($event)\"\n [selectedCollection]=\"selectedCollection$ | async\"\n >\n </valtimo-widget-management-fields-column>\n\n <ng-template #fieldWidthDropdown let-index=\"index\">\n <cds-dropdown\n [label]=\"'widgetTabManagement.content.collection.fieldWidth' | translate\"\n [dropUp]=\"false\"\n [placeholder]=\"'widgetTabManagement.content.collection.fieldWidthPlaceholder' | translate\"\n (selected)=\"onWidthSelected($event, index)\"\n >\n <cds-dropdown-list [items]=\"getSelectedWidthItem(index)\"></cds-dropdown-list>\n </cds-dropdown>\n </ng-template>\n</ng-container>\n", styles: [".valtimo-widget-management-collection{display:flex;flex-direction:column;gap:24px}.valtimo-widget-management-collection__form{display:grid;gap:16px;grid-template-columns:repeat(3,1fr);align-items:flex-end;background:var(--cds-layer);padding:12px 16px 16px}.valtimo-widget-management-collection__subtitle{font-size:16px;font-weight:600;line-height:22px}.valtimo-widget-management-collection__value-field{display:flex;flex-direction:column}.valtimo-widget-management-collection__card{flex-direction:column;display:flex;gap:16px;background:var(--cds-layer);padding:16px}.valtimo-widget-management-collection__card-title{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;align-items:flex-end}.valtimo-widget-management-collection__card-options{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.valtimo-widget-management-collection__enum{display:flex;flex-direction:column;gap:16px}.valtimo-widget-management-collection__enum-form{display:grid;grid-template-columns:1fr 1fr auto;align-items:flex-end;gap:16px}.valtimo-widget-management-collection .cds--text-input,.valtimo-widget-management-collection .cds--list-box{background:var(--cds-layer-02)}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$2.TranslatePipe, name: "translate" }, { kind: "component", type: WidgetManagementFieldsColumnComponent, selector: "valtimo-widget-management-fields-column", inputs: ["columnData", "addTranslateKey", "fieldWidthDropdown", "selectedCollection", "showHideWhenEmptyCheckbox", "showSortableCheckbox"], outputs: ["columnUpdateEvent"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.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$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1$3.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i3.TextInputLabelComponent, selector: "cds-text-label, ibm-text-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "textInputTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel", "fluid"] }, { kind: "directive", type: i3.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i7.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: i7.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i3.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i3.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "ngmodule", type: InputLabelModule }, { kind: "component", type: i1$1.InputLabelComponent, selector: "v-input-label", inputs: ["name", "tooltip", "tooltipTranslationKey", "largeMargin", "small", "noMargin", "title", "titleTranslationKey", "required", "disabled", "carbonTheme"] }, { kind: "component", type: ValuePathSelectorComponent, selector: "valtimo-value-path-selector", inputs: ["name", "appendInline", "margin", "marginLg", "marginXl", "disabled", "caseDefinitionKey", "caseDefinitionVersionTag", "buildingBlockDefinitionKey", "buildingBlockDefinitionVersionTag", "prefixes", "label", "tooltip", "required", "showCaseDefinitionSelector", "notation", "dropUp", "defaultValue", "type", "parentItem", "filterItems"], outputs: ["valueChangeEvent", "collectionSelected"] }, { kind: "component", type: MdiIconSelectorComponent, selector: "valtimo-mdi-icon-selector", inputs: ["labelTranslationKey", "tooltipTranslationKey", "placeholderTranslationKey", "appendInline", "dropUp"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
5200
5733
|
}
|
|
5201
5734
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetManagementCollectionComponent, decorators: [{
|
|
5202
5735
|
type: Component,
|
|
@@ -5213,7 +5746,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
5213
5746
|
ValuePathSelectorComponent,
|
|
5214
5747
|
MdiIconSelectorComponent,
|
|
5215
5748
|
], template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container *ngIf=\"{theme: theme$ | async, params: params$ | async} as obs\">\n <form [formGroup]=\"widgetForm\" class=\"valtimo-widget-management-collection__form\">\n <cds-text-label [attr.data-carbon-theme]=\"theme\">\n <v-input-label\n [title]=\"'widgetTabManagement.content.widgetTitle' | translate\"\n [tooltip]=\"'widgetTabManagement.content.widgetTitleTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n formControlName=\"title\"\n cdsText\n [placeholder]=\"'widgetTabManagement.content.widgetTitlePlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n\n <valtimo-mdi-icon-selector\n [cdsLayer]=\"1\"\n formControlName=\"widgetIcon\"\n ></valtimo-mdi-icon-selector>\n\n <cds-text-label [attr.data-carbon-theme]=\"theme\">\n <v-input-label\n [title]=\"'widgetTabManagement.content.collection.defaultPageSize' | translate\"\n [tooltip]=\"'widgetTabManagement.content.collection.defaultPageSizeTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n formControlName=\"defaultPageSize\"\n cdsText\n [placeholder]=\"\n 'widgetTabManagement.content.collection.defaultPageSizePlaceholder' | translate\n \"\n type=\"text\"\n />\n </cds-text-label>\n\n <div class=\"valtimo-widget-management-collection__value-field\">\n <v-input-label\n [title]=\"'widgetTabManagement.content.collection.collection' | translate\"\n [tooltip]=\"collectionDataTooltip$ | async\"\n >\n </v-input-label>\n\n @if ($widgetContext() === 'case') {\n <valtimo-value-path-selector\n formControlName=\"collection\"\n [attr.data-carbon-theme]=\"theme\"\n [caseDefinitionKey]=\"obs.params?.caseDefinitionKey\"\n [caseDefinitionVersionTag]=\"obs.params?.caseDefinitionVersionTag\"\n [type]=\"ValuePathType.COLLECTION\"\n (collectionSelected)=\"onCollectionSelected($event)\"\n ></valtimo-value-path-selector>\n } @else {\n <input\n formControlName=\"collection\"\n cdsText\n [attr.data-carbon-theme]=\"theme\"\n [placeholder]=\"'widgetTabManagement.content.collection.collection' | translate\"\n type=\"text\"\n />\n }\n </div>\n </form>\n\n <ng-content></ng-content>\n\n <span class=\"valtimo-widget-management-collection__subtitle\">\n {{ 'widgetTabManagement.content.collection.cardTitle' | translate }}\n </span>\n\n <form [formGroup]=\"cardForm\" class=\"valtimo-widget-management-collection__card\">\n <section class=\"valtimo-widget-management-collection__card-title\">\n <div class=\"valtimo-widget-management-collection__path-selector\">\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.value' | translate\"\n [tooltip]=\"'widgetTabManagement.content.collection.valueTooltip' | translate\"\n >\n </v-input-label>\n @if ($widgetContext() === 'case') {\n <valtimo-value-path-selector\n formControlName=\"value\"\n [attr.data-carbon-theme]=\"theme\"\n [caseDefinitionKey]=\"obs.params?.caseDefinitionKey\"\n [caseDefinitionVersionTag]=\"obs.params?.caseDefinitionVersionTag\"\n [parentItem]=\"selectedCollection$ | async\"\n ></valtimo-value-path-selector>\n } @else {\n <input\n formControlName=\"value\"\n cdsText\n [attr.data-carbon-theme]=\"theme\"\n [placeholder]=\"'widgetTabManagement.content.fields.value' | translate\"\n type=\"text\"\n />\n }\n </div>\n\n <cds-dropdown\n [attr.data-carbon-theme]=\"theme\"\n [label]=\"'widgetTabManagement.content.fields.type' | translate\"\n [dropUp]=\"false\"\n [placeholder]=\"'widgetTabManagement.content.fields.typePlaceholder' | translate\"\n (selected)=\"onTypeSelected(cardForm, $event)\"\n formControlName=\"type\"\n >\n <cds-dropdown-list [items]=\"getDisplayItemsSelected(cardForm)\"></cds-dropdown-list>\n </cds-dropdown>\n </section>\n\n <section class=\"valtimo-widget-management-collection__card-options\">\n @switch (cardForm.get('type').value.id) {\n @case (WidgetDisplayTypeKey.CURRENCY) {\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.currencyCode' | translate\"\n [tooltip]=\"'widgetTabManagement.content.fields.currencyCodeTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n cdsText\n [attr.data-carbon-theme]=\"theme\"\n [placeholder]=\"\n 'widgetTabManagement.content.fields.currencyCodePlaceholder' | translate\n \"\n type=\"text\"\n formControlName=\"currencyCode\"\n />\n </cds-text-label>\n\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.display' | translate\"\n [tooltip]=\"'widgetTabManagement.content.fields.displayTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n cdsText\n [attr.data-carbon-theme]=\"theme\"\n [placeholder]=\"'widgetTabManagement.content.fields.displayPlaceholder' | translate\"\n type=\"text\"\n formControlName=\"display\"\n />\n </cds-text-label>\n\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.digitsInfo' | translate\"\n tooltip=\"{{\n 'widgetTabManagement.content.fields.digitsInfoTooltip'\n | translate: {minFractionDigits: 2, maxFractionDigits: 2}\n }}\"\n >\n </v-input-label>\n\n <input\n cdsText\n [attr.data-carbon-theme]=\"theme\"\n [placeholder]=\"'widgetTabManagement.content.fields.digitsInfoPlaceholder' | translate\"\n type=\"text\"\n formControlName=\"digitsInfo\"\n />\n </cds-text-label>\n }\n @case (WidgetDisplayTypeKey.DATE) {\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.format' | translate\"\n [tooltip]=\"'widgetTabManagement.content.fields.dateFormatTooltip' | translate\"\n ></v-input-label>\n\n <input\n cdsText\n [attr.data-carbon-theme]=\"theme\"\n [placeholder]=\"'widgetTabManagement.content.fields.formatPlaceholder' | translate\"\n type=\"text\"\n formControlName=\"format\"\n />\n </cds-text-label>\n }\n @case (WidgetDisplayTypeKey.DATE_TIME) {\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.format' | translate\"\n [tooltip]=\"'widgetTabManagement.content.fields.dateTimeFormatTooltip' | translate\"\n ></v-input-label>\n\n <input\n cdsText\n [attr.data-carbon-theme]=\"theme\"\n [placeholder]=\"'widgetTabManagement.content.fields.formatPlaceholder' | translate\"\n type=\"text\"\n formControlName=\"format\"\n />\n </cds-text-label>\n }\n @case (WidgetDisplayTypeKey.ENUM) {\n <div class=\"valtimo-widget-management-collection__enum\" formArrayName=\"values\">\n @for (rowValue of cardForm.get('values')?.controls; track $index) {\n <form [formGroup]=\"rowValue\" class=\"valtimo-widget-management-collection__enum-form\">\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.enumValue' | translate\"\n [tooltip]=\"'widgetTabManagement.content.fields.enumValueTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n [attr.data-carbon-theme]=\"theme\"\n cdsText\n [placeholder]=\"'widgetTabManagement.content.enumValue' | translate\"\n type=\"text\"\n formControlName=\"key\"\n />\n </cds-text-label>\n\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.enumDisplay' | translate\"\n [tooltip]=\"'widgetTabManagement.content.fields.enumDisplayTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n cdsText\n [attr.data-carbon-theme]=\"theme\"\n [placeholder]=\"'widgetTabManagement.content.fields.enumDisplay' | translate\"\n type=\"text\"\n formControlName=\"value\"\n />\n </cds-text-label>\n\n <button\n cdsButton=\"danger--ghost\"\n [disabled]=\"$count === 1\"\n [iconOnly]=\"true\"\n class=\"valtimo-case-management-widget-field-column__delete-button enum\"\n (click)=\"onDeleteRowClick(cardForm.get('values'), $index)\"\n >\n <svg cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n </form>\n }\n\n <button\n cdsButton=\"primary\"\n size=\"sm\"\n (click)=\"onAddEnumValueClick(cardForm.get('values'))\"\n >\n {{ 'widgetTabManagement.content.fields.addEnum' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n </div>\n }\n @case (WidgetDisplayTypeKey.NUMBER) {\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.digitsInfo' | translate\"\n tooltip=\"{{\n 'widgetTabManagement.content.fields.digitsInfoTooltip'\n | translate\n : {\n minFractionDigits: 0,\n maxFractionDigits: 3,\n }\n }}\"\n >\n </v-input-label>\n\n <input\n cdsText\n [attr.data-carbon-theme]=\"theme\"\n [placeholder]=\"'widgetTabManagement.content.fields.digitsInfo' | translate\"\n type=\"text\"\n formControlName=\"digitsInfo\"\n />\n </cds-text-label>\n }\n @case (WidgetDisplayTypeKey.PERCENT) {\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.content.fields.digitsInfo' | translate\"\n tooltip=\"{{\n 'widgetTabManagement.content.fields.digitsInfoTooltip'\n | translate\n : {\n minFractionDigits: 0,\n maxFractionDigits: 0,\n }\n }}\"\n >\n </v-input-label>\n\n <input\n cdsText\n [attr.data-carbon-theme]=\"theme\"\n [placeholder]=\"'widgetTabManagement.content.fields.digitsInfo' | translate\"\n type=\"text\"\n formControlName=\"digitsInfo\"\n />\n </cds-text-label>\n }\n }\n </section>\n </form>\n\n <span class=\"valtimo-widget-management-collection__subtitle\">\n {{ 'widgetTabManagement.content.collection.cardFields' | translate }}\n </span>\n\n <valtimo-widget-management-fields-column\n [columnData]=\"$content()?.fields\"\n [fieldWidthDropdown]=\"fieldWidthDropdown\"\n [showHideWhenEmptyCheckbox]=\"true\"\n (columnUpdateEvent)=\"onColumnUpdateEvent($event)\"\n [selectedCollection]=\"selectedCollection$ | async\"\n >\n </valtimo-widget-management-fields-column>\n\n <ng-template #fieldWidthDropdown let-index=\"index\">\n <cds-dropdown\n [label]=\"'widgetTabManagement.content.collection.fieldWidth' | translate\"\n [dropUp]=\"false\"\n [placeholder]=\"'widgetTabManagement.content.collection.fieldWidthPlaceholder' | translate\"\n (selected)=\"onWidthSelected($event, index)\"\n >\n <cds-dropdown-list [items]=\"getSelectedWidthItem(index)\"></cds-dropdown-list>\n </cds-dropdown>\n </ng-template>\n</ng-container>\n", styles: [".valtimo-widget-management-collection{display:flex;flex-direction:column;gap:24px}.valtimo-widget-management-collection__form{display:grid;gap:16px;grid-template-columns:repeat(3,1fr);align-items:flex-end;background:var(--cds-layer);padding:12px 16px 16px}.valtimo-widget-management-collection__subtitle{font-size:16px;font-weight:600;line-height:22px}.valtimo-widget-management-collection__value-field{display:flex;flex-direction:column}.valtimo-widget-management-collection__card{flex-direction:column;display:flex;gap:16px;background:var(--cds-layer);padding:16px}.valtimo-widget-management-collection__card-title{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;align-items:flex-end}.valtimo-widget-management-collection__card-options{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.valtimo-widget-management-collection__enum{display:flex;flex-direction:column;gap:16px}.valtimo-widget-management-collection__enum-form{display:grid;grid-template-columns:1fr 1fr auto;align-items:flex-end;gap:16px}.valtimo-widget-management-collection .cds--text-input,.valtimo-widget-management-collection .cds--list-box{background:var(--cds-layer-02)}\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"] }]
|
|
5216
|
-
}], ctorParameters: () => [{ type: i1.CdsThemeService }, { type: i1$3.FormBuilder }, { type: i2$
|
|
5749
|
+
}], ctorParameters: () => [{ type: i1$1.CdsThemeService }, { type: i1$3.FormBuilder }, { type: i2$2.TranslateService }, { type: WidgetFieldsService }, { type: WidgetWizardService }, { type: undefined, decorators: [{
|
|
5217
5750
|
type: Inject,
|
|
5218
5751
|
args: [WIDGET_MANAGEMENT_SERVICE]
|
|
5219
5752
|
}] }], propDecorators: { class: [{
|
|
@@ -5317,8 +5850,8 @@ class WidgetManagementCustomComponent {
|
|
|
5317
5850
|
this.$defaultComponentValues.set(Object.entries(componentValue).map(([key, value]) => ({ key, value })));
|
|
5318
5851
|
this.widgetWizardService.$widgetContentValid.set(true);
|
|
5319
5852
|
}
|
|
5320
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetManagementCustomComponent, deps: [{ token: CUSTOM_WIDGET_TOKEN, optional: true }, { token: i1.CdsThemeService }, { token: i1$3.FormBuilder }, { token: WidgetWizardService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5321
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: WidgetManagementCustomComponent, isStandalone: true, selector: "ng-component", 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<form\n class=\"valtimo-widget-management-custom\"\n [formGroup]=\"form\"\n [attr.data-carbon-theme]=\"theme$ | async\"\n>\n <div class=\"valtimo-widget-management-custom__title-container\">\n <cds-text-label\n class=\"valtimo-widget-management-fields__input valtimo-widget-management-custom__title-input\"\n >\n <v-input-label\n [title]=\"'widgetTabManagement.content.widgetTitle' | translate\"\n [tooltip]=\"'widgetTabManagement.content.widgetTitleTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n formControlName=\"widgetTitle\"\n cdsText\n [placeholder]=\"'widgetTabManagement.content.widgetTitlePlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n\n <valtimo-mdi-icon-selector\n [cdsLayer]=\"0\"\n formControlName=\"widgetIcon\"\n ></valtimo-mdi-icon-selector>\n </div>\n\n <ng-content></ng-content>\n\n <cds-label class=\"dropdown-label\">\n {{ 'widgetTabManagement.content.custom.selectComponent' | translate }}\n\n <cds-dropdown\n *ngIf=\"componentListItems$ | async as componentListItems\"\n [appendInline]=\"false\"\n [placeholder]=\"'widgetTabManagement.content.custom.placeholder' | translate\"\n [disabled]=\"componentListItems.length === 0\"\n (selected)=\"componentDropDownChange($event)\"\n >\n <cds-dropdown-list [items]=\"componentListItems\"> </cds-dropdown-list>\n </cds-dropdown>\n </cds-label>\n\n <valtimo-carbon-multi-input\n type=\"keyValue\"\n [addRowText]=\"'widgetTabManagement.content.custom.addCustomKeyValue' | translate\"\n addButtonType=\"tertiary\"\n [defaultValues]=\"$defaultComponentValues()\"\n [keyColumnTitle]=\"'interface.key' | translate\"\n [valueColumnTitle]=\"'interface.value' | translate\"\n [fullWidth]=\"true\"\n [initialAmountOfRows]=\"0\"\n [minimumAmountOfRows]=\"0\"\n (valueChange)=\"onKeyValueChange($event)\"\n [keyColumnFlex]=\"1\"\n [valueColumnFlex]=\"1\"\n ></valtimo-carbon-multi-input>\n</form>\n", styles: [".valtimo-widget-management-custom{display:flex;flex-direction:column;gap:16px;padding:16px}.valtimo-widget-management-custom ::ng-deep>*:not(:last-child){padding:16px;background:var(--cds-layer-02)}.valtimo-widget-management-custom ::ng-deep .v-multi-input__row{padding:16px;background:var(--cds-layer-02)}.valtimo-widget-management-custom ::ng-deep .v-multi-input__row .cds--text-input{background:var(--cds-layer-01)}.valtimo-widget-management-custom ::ng-deep .dropdown-label label{display:flex;flex-direction:column;width:100%}.valtimo-widget-management-custom ::ng-deep .dropdown-label cds-dropdown{margin-top:8px}.valtimo-widget-management-custom__title-container{display:flex;gap:16px}.valtimo-widget-management-custom__title-input{max-width:300px}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$
|
|
5853
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetManagementCustomComponent, deps: [{ token: CUSTOM_WIDGET_TOKEN, optional: true }, { token: i1$1.CdsThemeService }, { token: i1$3.FormBuilder }, { token: WidgetWizardService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5854
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: WidgetManagementCustomComponent, isStandalone: true, selector: "ng-component", 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<form\n class=\"valtimo-widget-management-custom\"\n [formGroup]=\"form\"\n [attr.data-carbon-theme]=\"theme$ | async\"\n>\n <div class=\"valtimo-widget-management-custom__title-container\">\n <cds-text-label\n class=\"valtimo-widget-management-fields__input valtimo-widget-management-custom__title-input\"\n >\n <v-input-label\n [title]=\"'widgetTabManagement.content.widgetTitle' | translate\"\n [tooltip]=\"'widgetTabManagement.content.widgetTitleTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n formControlName=\"widgetTitle\"\n cdsText\n [placeholder]=\"'widgetTabManagement.content.widgetTitlePlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n\n <valtimo-mdi-icon-selector\n [cdsLayer]=\"0\"\n formControlName=\"widgetIcon\"\n ></valtimo-mdi-icon-selector>\n </div>\n\n <ng-content></ng-content>\n\n <cds-label class=\"dropdown-label\">\n {{ 'widgetTabManagement.content.custom.selectComponent' | translate }}\n\n <cds-dropdown\n *ngIf=\"componentListItems$ | async as componentListItems\"\n [appendInline]=\"false\"\n [placeholder]=\"'widgetTabManagement.content.custom.placeholder' | translate\"\n [disabled]=\"componentListItems.length === 0\"\n (selected)=\"componentDropDownChange($event)\"\n >\n <cds-dropdown-list [items]=\"componentListItems\"> </cds-dropdown-list>\n </cds-dropdown>\n </cds-label>\n\n <valtimo-carbon-multi-input\n type=\"keyValue\"\n [addRowText]=\"'widgetTabManagement.content.custom.addCustomKeyValue' | translate\"\n addButtonType=\"tertiary\"\n [defaultValues]=\"$defaultComponentValues()\"\n [keyColumnTitle]=\"'interface.key' | translate\"\n [valueColumnTitle]=\"'interface.value' | translate\"\n [fullWidth]=\"true\"\n [initialAmountOfRows]=\"0\"\n [minimumAmountOfRows]=\"0\"\n (valueChange)=\"onKeyValueChange($event)\"\n [keyColumnFlex]=\"1\"\n [valueColumnFlex]=\"1\"\n ></valtimo-carbon-multi-input>\n</form>\n", styles: [".valtimo-widget-management-custom{display:flex;flex-direction:column;gap:16px;padding:16px}.valtimo-widget-management-custom ::ng-deep>*:not(:last-child){padding:16px;background:var(--cds-layer-02)}.valtimo-widget-management-custom ::ng-deep .v-multi-input__row{padding:16px;background:var(--cds-layer-02)}.valtimo-widget-management-custom ::ng-deep .v-multi-input__row .cds--text-input{background:var(--cds-layer-01)}.valtimo-widget-management-custom ::ng-deep .dropdown-label label{display:flex;flex-direction:column;width:100%}.valtimo-widget-management-custom ::ng-deep .dropdown-label cds-dropdown{margin-top:8px}.valtimo-widget-management-custom__title-container{display:flex;gap:16px}.valtimo-widget-management-custom__title-input{max-width:300px}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i3.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "component", type: i3.TextInputLabelComponent, selector: "cds-text-label, ibm-text-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "textInputTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel", "fluid"] }, { kind: "directive", type: i3.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.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$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: SelectModule$1 }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i7.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: i7.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "ngmodule", type: LayerModule }, { kind: "directive", type: i3.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "component", type: MdiIconSelectorComponent, selector: "valtimo-mdi-icon-selector", inputs: ["labelTranslationKey", "tooltipTranslationKey", "placeholderTranslationKey", "appendInline", "dropUp"] }, { kind: "ngmodule", type: InputLabelModule }, { kind: "component", type: i1$1.InputLabelComponent, selector: "v-input-label", inputs: ["name", "tooltip", "tooltipTranslationKey", "largeMargin", "small", "noMargin", "title", "titleTranslationKey", "required", "disabled", "carbonTheme"] }, { kind: "ngmodule", type: CarbonMultiInputModule }, { kind: "component", type: i1$1.CarbonMultiInputComponent, selector: "valtimo-carbon-multi-input", inputs: ["addRowText", "addButtonType", "addRowTranslationKey", "arbitraryAmountTitles", "arbitraryValueAmount", "defaultValues", "deleteRowText", "deleteRowTranslationKey", "disabled", "dropdownColumnTitle", "dropdownItems", "dropdownWidth", "fullWidth", "hideAddButton", "hideDeleteButton", "initialAmountOfRows", "keyColumnTitle", "margin", "maxRows", "minimumAmountOfRows", "name", "required", "title", "titleTranslationKey", "tooltip", "type", "valueColumnTitle", "valuePathSelectorCaseDefinitionKey", "valuePathSelectorPrefixes", "valuePathSelectorShowCaseDefinitionSelector", "valuePathSelectorNotation", "keyColumnFlex", "dropdownColumnFlex", "valueColumnFlex"], outputs: ["valueChange", "allValuesValidEvent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
5322
5855
|
}
|
|
5323
5856
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetManagementCustomComponent, decorators: [{
|
|
5324
5857
|
type: Component,
|
|
@@ -5339,7 +5872,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
5339
5872
|
}, {
|
|
5340
5873
|
type: Inject,
|
|
5341
5874
|
args: [CUSTOM_WIDGET_TOKEN]
|
|
5342
|
-
}] }, { type: i1.CdsThemeService }, { type: i1$3.FormBuilder }, { type: WidgetWizardService }] });
|
|
5875
|
+
}] }, { type: i1$1.CdsThemeService }, { type: i1$3.FormBuilder }, { type: WidgetWizardService }] });
|
|
5343
5876
|
|
|
5344
5877
|
/*
|
|
5345
5878
|
* Copyright 2015-2025 Ritense BV, the Netherlands.
|
|
@@ -5423,8 +5956,8 @@ class WidgetManagementMapComponent {
|
|
|
5423
5956
|
return;
|
|
5424
5957
|
formArray.removeAt(index);
|
|
5425
5958
|
}
|
|
5426
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetManagementMapComponent, deps: [{ token: i1$3.FormBuilder }, { token: WidgetWizardService }, { token: i1.CdsThemeService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5427
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: WidgetManagementMapComponent, isStandalone: true, selector: "ng-component", host: { properties: { "class": "this.class" } }, 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<form\n *ngIf=\"$showTitleInput()\"\n [formGroup]=\"form\"\n class=\"valtimo-widget-management-map__title-form\"\n>\n <cds-text-label class=\"valtimo-widget-management-map__input\">\n <v-input-label\n [title]=\"'widgetTabManagement.content.widgetTitle' | translate\"\n [tooltip]=\"'widgetTabManagement.content.widgetTitleTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n formControlName=\"widgetTitle\"\n cdsText\n [placeholder]=\"'widgetTabManagement.content.widgetTitlePlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n</form>\n\n<ng-content></ng-content>\n\n<form\n class=\"valtimo-widget-management-map-layer\"\n [formGroup]=\"form\"\n>\n <cds-accordion formArrayName=\"geoJsonSources\" align=\"start\" size=\"sm\">\n @for (formGeoJsonSource of formGeoJsonSources.controls; track $index) {\n <cds-accordion-item\n [title]=\"fieldTitle\"\n [context]=\"{count: $count, index: $index, key: formGeoJsonSource.get('key')?.value}\"\n [expanded]=\"$index === 0\"\n class=\"valtimo-widget-management-map-layer__item\"\n >\n <form\n [formGroup]=\"formGeoJsonSource\"\n class=\"valtimo-widget-management-map-layer__container\"\n >\n <div class=\"valtimo-widget-management-map-layer__content\">\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.content.map.key' | translate\"\n [tooltip]=\"'widgetTabManagement.content.map.keyTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n cdsText\n cdsLayer=\"2\"\n [attr.data-carbon-theme]=\"inputTheme$ | async\"\n [placeholder]=\"'widgetTabManagement.content.map.keyPlaceholder' | translate\"\n type=\"text\"\n formControlName=\"key\"\n />\n </cds-text-label>\n </div>\n </form>\n </cds-accordion-item>\n }\n </cds-accordion>\n\n <button cdsButton=\"primary\" size=\"sm\" (click)=\"addField()\">\n {{ 'widgetTabManagement.content.map.add' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n</form>\n\n<ng-template #fieldTitle let-count=\"count\" let-index=\"index\">\n <div class=\"valtimo-widget-management-map-layer__title\">\n {{ 'widgetTabManagement.content.map.layerTitle' | translate: {layer: index + 1} }}\n\n <button\n cdsButton=\"danger\"\n [disabled]=\"count === 1\"\n [iconOnly]=\"true\"\n (click)=\"onDeleteRowClick($event, formGeoJsonSources, index)\"\n class=\"valtimo-widget-management-map-layer__delete-button\"\n >\n <svg cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n </div>\n</ng-template>\n", styles: [".cds--tab-content{padding:0!important}.valtimo-widget-management-map{display:flex;flex-direction:column;gap:16px}.valtimo-widget-management-map__title-form{padding:8px 0 16px 16px;background:var(--cds-layer)}.valtimo-widget-management-map__input{max-width:288px}.valtimo-widget-management-map__input input{background:var(--cds-layer-02)}.valtimo-widget-management-map__delete-button{display:flex;align-items:center;justify-content:center;padding:0;align-self:center}.valtimo-widget-management-map__delete-button.enum{align-self:flex-end}.valtimo-widget-management-map__heading{display:flex;align-items:center}.valtimo-widget-management-map .cds--tabs__nav-item{padding-right:0!important}.valtimo-widget-management-map-layer{display:flex;flex-direction:column;gap:16px;background:var(--cds-layer-02)}.valtimo-widget-management-map-layer__item,.valtimo-widget-management-map-layer__cotainer{background:var(--cds-layer-01)}.valtimo-widget-management-map-layer__item .cds--accordion__content{padding-inline-end:20px}.valtimo-widget-management-map-layer__container{display:flex;flex-direction:column;gap:16px}.valtimo-widget-management-map-layer__content{display:grid;grid-template-columns:1fr 180px 1fr;align-items:flex-end;gap:16px}.valtimo-widget-management-map-layer__title{display:flex;justify-content:space-between;align-items:center;width:100%;padding:8px}.valtimo-widget-management-map-layer__delete-button{display:flex;align-items:center;justify-content:center;padding:0;align-self:center}.valtimo-widget-management-map-layer__delete-button.enum{align-self:flex-end}.valtimo-widget-management-map-layer .cds--text-input,.valtimo-widget-management-map-layer .cds--list-box{background:var(--cds-layer-02)}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$
|
|
5959
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetManagementMapComponent, deps: [{ token: i1$3.FormBuilder }, { token: WidgetWizardService }, { token: i1$1.CdsThemeService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5960
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: WidgetManagementMapComponent, isStandalone: true, selector: "ng-component", host: { properties: { "class": "this.class" } }, 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<form\n *ngIf=\"$showTitleInput()\"\n [formGroup]=\"form\"\n class=\"valtimo-widget-management-map__title-form\"\n>\n <cds-text-label class=\"valtimo-widget-management-map__input\">\n <v-input-label\n [title]=\"'widgetTabManagement.content.widgetTitle' | translate\"\n [tooltip]=\"'widgetTabManagement.content.widgetTitleTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n formControlName=\"widgetTitle\"\n cdsText\n [placeholder]=\"'widgetTabManagement.content.widgetTitlePlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n</form>\n\n<ng-content></ng-content>\n\n<form\n class=\"valtimo-widget-management-map-layer\"\n [formGroup]=\"form\"\n>\n <cds-accordion formArrayName=\"geoJsonSources\" align=\"start\" size=\"sm\">\n @for (formGeoJsonSource of formGeoJsonSources.controls; track $index) {\n <cds-accordion-item\n [title]=\"fieldTitle\"\n [context]=\"{count: $count, index: $index, key: formGeoJsonSource.get('key')?.value}\"\n [expanded]=\"$index === 0\"\n class=\"valtimo-widget-management-map-layer__item\"\n >\n <form\n [formGroup]=\"formGeoJsonSource\"\n class=\"valtimo-widget-management-map-layer__container\"\n >\n <div class=\"valtimo-widget-management-map-layer__content\">\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.content.map.key' | translate\"\n [tooltip]=\"'widgetTabManagement.content.map.keyTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n cdsText\n cdsLayer=\"2\"\n [attr.data-carbon-theme]=\"inputTheme$ | async\"\n [placeholder]=\"'widgetTabManagement.content.map.keyPlaceholder' | translate\"\n type=\"text\"\n formControlName=\"key\"\n />\n </cds-text-label>\n </div>\n </form>\n </cds-accordion-item>\n }\n </cds-accordion>\n\n <button cdsButton=\"primary\" size=\"sm\" (click)=\"addField()\">\n {{ 'widgetTabManagement.content.map.add' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n</form>\n\n<ng-template #fieldTitle let-count=\"count\" let-index=\"index\">\n <div class=\"valtimo-widget-management-map-layer__title\">\n {{ 'widgetTabManagement.content.map.layerTitle' | translate: {layer: index + 1} }}\n\n <button\n cdsButton=\"danger\"\n [disabled]=\"count === 1\"\n [iconOnly]=\"true\"\n (click)=\"onDeleteRowClick($event, formGeoJsonSources, index)\"\n class=\"valtimo-widget-management-map-layer__delete-button\"\n >\n <svg cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n </div>\n</ng-template>\n", styles: [".cds--tab-content{padding:0!important}.valtimo-widget-management-map{display:flex;flex-direction:column;gap:16px}.valtimo-widget-management-map__title-form{padding:8px 0 16px 16px;background:var(--cds-layer)}.valtimo-widget-management-map__input{max-width:288px}.valtimo-widget-management-map__input input{background:var(--cds-layer-02)}.valtimo-widget-management-map__delete-button{display:flex;align-items:center;justify-content:center;padding:0;align-self:center}.valtimo-widget-management-map__delete-button.enum{align-self:flex-end}.valtimo-widget-management-map__heading{display:flex;align-items:center}.valtimo-widget-management-map .cds--tabs__nav-item{padding-right:0!important}.valtimo-widget-management-map-layer{display:flex;flex-direction:column;gap:16px;background:var(--cds-layer-02)}.valtimo-widget-management-map-layer__item,.valtimo-widget-management-map-layer__cotainer{background:var(--cds-layer-01)}.valtimo-widget-management-map-layer__item .cds--accordion__content{padding-inline-end:20px}.valtimo-widget-management-map-layer__container{display:flex;flex-direction:column;gap:16px}.valtimo-widget-management-map-layer__content{display:grid;grid-template-columns:1fr 180px 1fr;align-items:flex-end;gap:16px}.valtimo-widget-management-map-layer__title{display:flex;justify-content:space-between;align-items:center;width:100%;padding:8px}.valtimo-widget-management-map-layer__delete-button{display:flex;align-items:center;justify-content:center;padding:0;align-self:center}.valtimo-widget-management-map-layer__delete-button.enum{align-self:flex-end}.valtimo-widget-management-map-layer .cds--text-input,.valtimo-widget-management-map-layer .cds--list-box{background:var(--cds-layer-02)}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i3.TextInputLabelComponent, selector: "cds-text-label, ibm-text-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "textInputTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel", "fluid"] }, { kind: "directive", type: i3.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: TabsModule }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i3.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.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$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1$3.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i3.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: InputLabelModule }, { kind: "component", type: i1$1.InputLabelComponent, selector: "v-input-label", inputs: ["name", "tooltip", "tooltipTranslationKey", "largeMargin", "small", "noMargin", "title", "titleTranslationKey", "required", "disabled", "carbonTheme"] }, { kind: "ngmodule", type: AccordionModule }, { kind: "component", type: i3.Accordion, selector: "cds-accordion, ibm-accordion", inputs: ["align", "size", "skeleton"] }, { kind: "component", type: i3.AccordionItem, selector: "cds-accordion-item, ibm-accordion-item", inputs: ["title", "context", "id", "skeleton", "expanded", "disabled"], outputs: ["selected"] }, { kind: "ngmodule", type: LayerModule }, { kind: "directive", type: i3.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
5428
5961
|
}
|
|
5429
5962
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetManagementMapComponent, decorators: [{
|
|
5430
5963
|
type: Component,
|
|
@@ -5440,7 +5973,307 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
5440
5973
|
AccordionModule,
|
|
5441
5974
|
LayerModule,
|
|
5442
5975
|
], 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<form\n *ngIf=\"$showTitleInput()\"\n [formGroup]=\"form\"\n class=\"valtimo-widget-management-map__title-form\"\n>\n <cds-text-label class=\"valtimo-widget-management-map__input\">\n <v-input-label\n [title]=\"'widgetTabManagement.content.widgetTitle' | translate\"\n [tooltip]=\"'widgetTabManagement.content.widgetTitleTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n formControlName=\"widgetTitle\"\n cdsText\n [placeholder]=\"'widgetTabManagement.content.widgetTitlePlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n</form>\n\n<ng-content></ng-content>\n\n<form\n class=\"valtimo-widget-management-map-layer\"\n [formGroup]=\"form\"\n>\n <cds-accordion formArrayName=\"geoJsonSources\" align=\"start\" size=\"sm\">\n @for (formGeoJsonSource of formGeoJsonSources.controls; track $index) {\n <cds-accordion-item\n [title]=\"fieldTitle\"\n [context]=\"{count: $count, index: $index, key: formGeoJsonSource.get('key')?.value}\"\n [expanded]=\"$index === 0\"\n class=\"valtimo-widget-management-map-layer__item\"\n >\n <form\n [formGroup]=\"formGeoJsonSource\"\n class=\"valtimo-widget-management-map-layer__container\"\n >\n <div class=\"valtimo-widget-management-map-layer__content\">\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.content.map.key' | translate\"\n [tooltip]=\"'widgetTabManagement.content.map.keyTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n cdsText\n cdsLayer=\"2\"\n [attr.data-carbon-theme]=\"inputTheme$ | async\"\n [placeholder]=\"'widgetTabManagement.content.map.keyPlaceholder' | translate\"\n type=\"text\"\n formControlName=\"key\"\n />\n </cds-text-label>\n </div>\n </form>\n </cds-accordion-item>\n }\n </cds-accordion>\n\n <button cdsButton=\"primary\" size=\"sm\" (click)=\"addField()\">\n {{ 'widgetTabManagement.content.map.add' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n</form>\n\n<ng-template #fieldTitle let-count=\"count\" let-index=\"index\">\n <div class=\"valtimo-widget-management-map-layer__title\">\n {{ 'widgetTabManagement.content.map.layerTitle' | translate: {layer: index + 1} }}\n\n <button\n cdsButton=\"danger\"\n [disabled]=\"count === 1\"\n [iconOnly]=\"true\"\n (click)=\"onDeleteRowClick($event, formGeoJsonSources, index)\"\n class=\"valtimo-widget-management-map-layer__delete-button\"\n >\n <svg cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n </div>\n</ng-template>\n", styles: [".cds--tab-content{padding:0!important}.valtimo-widget-management-map{display:flex;flex-direction:column;gap:16px}.valtimo-widget-management-map__title-form{padding:8px 0 16px 16px;background:var(--cds-layer)}.valtimo-widget-management-map__input{max-width:288px}.valtimo-widget-management-map__input input{background:var(--cds-layer-02)}.valtimo-widget-management-map__delete-button{display:flex;align-items:center;justify-content:center;padding:0;align-self:center}.valtimo-widget-management-map__delete-button.enum{align-self:flex-end}.valtimo-widget-management-map__heading{display:flex;align-items:center}.valtimo-widget-management-map .cds--tabs__nav-item{padding-right:0!important}.valtimo-widget-management-map-layer{display:flex;flex-direction:column;gap:16px;background:var(--cds-layer-02)}.valtimo-widget-management-map-layer__item,.valtimo-widget-management-map-layer__cotainer{background:var(--cds-layer-01)}.valtimo-widget-management-map-layer__item .cds--accordion__content{padding-inline-end:20px}.valtimo-widget-management-map-layer__container{display:flex;flex-direction:column;gap:16px}.valtimo-widget-management-map-layer__content{display:grid;grid-template-columns:1fr 180px 1fr;align-items:flex-end;gap:16px}.valtimo-widget-management-map-layer__title{display:flex;justify-content:space-between;align-items:center;width:100%;padding:8px}.valtimo-widget-management-map-layer__delete-button{display:flex;align-items:center;justify-content:center;padding:0;align-self:center}.valtimo-widget-management-map-layer__delete-button.enum{align-self:flex-end}.valtimo-widget-management-map-layer .cds--text-input,.valtimo-widget-management-map-layer .cds--list-box{background:var(--cds-layer-02)}\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"] }]
|
|
5443
|
-
}], ctorParameters: () => [{ type: i1$3.FormBuilder }, { type: WidgetWizardService }, { type: i1.CdsThemeService }], propDecorators: { class: [{
|
|
5976
|
+
}], ctorParameters: () => [{ type: i1$3.FormBuilder }, { type: WidgetWizardService }, { type: i1$1.CdsThemeService }], propDecorators: { class: [{
|
|
5977
|
+
type: HostBinding,
|
|
5978
|
+
args: ['class']
|
|
5979
|
+
}] } });
|
|
5980
|
+
|
|
5981
|
+
/*
|
|
5982
|
+
* Copyright 2015-2026 Ritense BV, the Netherlands.
|
|
5983
|
+
*
|
|
5984
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5985
|
+
* you may not use this file except in compliance with the License.
|
|
5986
|
+
* You may obtain a copy of the License at
|
|
5987
|
+
*
|
|
5988
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
5989
|
+
*
|
|
5990
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
5991
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
5992
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
5993
|
+
* See the License for the specific language governing permissions and
|
|
5994
|
+
* limitations under the License.
|
|
5995
|
+
*/
|
|
5996
|
+
class WidgetManagementPersonCardComponent {
|
|
5997
|
+
get person() {
|
|
5998
|
+
return this.widgetWizardService.$widgetContent()?.person;
|
|
5999
|
+
}
|
|
6000
|
+
constructor(fb, widgetWizardService, widgetManagementService) {
|
|
6001
|
+
this.fb = fb;
|
|
6002
|
+
this.widgetWizardService = widgetWizardService;
|
|
6003
|
+
this.widgetManagementService = widgetManagementService;
|
|
6004
|
+
this.testIds = WIDGET_CONTENT_PERSON_CARD_TEST_IDS;
|
|
6005
|
+
this.class = 'valtimo-widget-management-person-card';
|
|
6006
|
+
this.$showTitleInput = signal(true);
|
|
6007
|
+
this.params$ = this.widgetManagementService.params$;
|
|
6008
|
+
this.form = this.fb.group({
|
|
6009
|
+
widgetTitle: this.fb.control(this.widgetWizardService.$widgetTitle(), Validators.required),
|
|
6010
|
+
widgetIcon: this.fb.control(this.widgetWizardService.$widgetIcon()),
|
|
6011
|
+
fullName: this.fb.control(this.person?.fullName ?? '', Validators.required),
|
|
6012
|
+
birthDate: this.fb.control(this.person?.birthDate ?? ''),
|
|
6013
|
+
bsn: this.fb.control(this.person?.bsn ?? ''),
|
|
6014
|
+
phone: this.fb.control(this.person?.phone ?? ''),
|
|
6015
|
+
email: this.fb.control(this.person?.email ?? ''),
|
|
6016
|
+
city: this.fb.control(this.person?.city ?? ''),
|
|
6017
|
+
});
|
|
6018
|
+
this._subscriptions = new Subscription();
|
|
6019
|
+
}
|
|
6020
|
+
ngOnInit() {
|
|
6021
|
+
if (this.widgetWizardService.$disableTitleInput())
|
|
6022
|
+
this.hideTitleInput();
|
|
6023
|
+
this.widgetWizardService.$widgetContentValid.set(this.form.valid);
|
|
6024
|
+
this._subscriptions.add(this.form.valueChanges.pipe(debounceTime(100)).subscribe(formValue => {
|
|
6025
|
+
this.widgetWizardService.$widgetTitle.set(formValue.widgetTitle ?? '');
|
|
6026
|
+
this.widgetWizardService.$widgetIcon.set(formValue.widgetIcon ?? '');
|
|
6027
|
+
this.widgetWizardService.$widgetContent.set({
|
|
6028
|
+
person: {
|
|
6029
|
+
fullName: formValue.fullName ?? '',
|
|
6030
|
+
birthDate: formValue.birthDate || undefined,
|
|
6031
|
+
bsn: formValue.bsn || undefined,
|
|
6032
|
+
phone: formValue.phone || undefined,
|
|
6033
|
+
email: formValue.email || undefined,
|
|
6034
|
+
city: formValue.city || undefined,
|
|
6035
|
+
},
|
|
6036
|
+
});
|
|
6037
|
+
this.widgetWizardService.$widgetContentValid.set(this.form.valid);
|
|
6038
|
+
}));
|
|
6039
|
+
}
|
|
6040
|
+
ngOnDestroy() {
|
|
6041
|
+
this._subscriptions.unsubscribe();
|
|
6042
|
+
this.form.reset();
|
|
6043
|
+
}
|
|
6044
|
+
hideTitleInput() {
|
|
6045
|
+
this.$showTitleInput.set(false);
|
|
6046
|
+
const ctrl = this.form.get('widgetTitle');
|
|
6047
|
+
if (!ctrl)
|
|
6048
|
+
return;
|
|
6049
|
+
ctrl.clearValidators();
|
|
6050
|
+
ctrl.updateValueAndValidity({ emitEvent: false });
|
|
6051
|
+
this.widgetWizardService.$widgetContentValid.set(this.form.valid);
|
|
6052
|
+
}
|
|
6053
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetManagementPersonCardComponent, deps: [{ token: i1$3.FormBuilder }, { token: WidgetWizardService }, { token: WIDGET_MANAGEMENT_SERVICE }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
6054
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: WidgetManagementPersonCardComponent, isStandalone: true, selector: "ng-component", host: { properties: { "class": "this.class" } }, 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<form [formGroup]=\"form\">\n <section\n *ngIf=\"$showTitleInput()\"\n class=\"valtimo-widget-management-person-card__title-form\"\n >\n <cds-text-label class=\"valtimo-widget-management-person-card__title-input\">\n <v-input-label\n [title]=\"'widgetTabManagement.content.widgetTitle' | translate\"\n [tooltip]=\"'widgetTabManagement.content.widgetTitleTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n formControlName=\"widgetTitle\"\n cdsText\n [attr.data-test-id]=\"testIds.widgetTitleInput\"\n [placeholder]=\"'widgetTabManagement.content.widgetTitlePlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n\n <valtimo-mdi-icon-selector\n [cdsLayer]=\"1\"\n formControlName=\"widgetIcon\"\n ></valtimo-mdi-icon-selector>\n </section>\n\n <div class=\"valtimo-widget-management-person-card__action-button-section\">\n <ng-content></ng-content>\n </div>\n\n <section class=\"valtimo-widget-management-person-card__person-fields\">\n <div\n class=\"valtimo-widget-management-person-card__field valtimo-widget-management-person-card__field--full\"\n >\n <v-input-label\n [title]=\"'widgetTabManagement.content.person-card.fullNameLabel' | translate\"\n >\n </v-input-label>\n\n <valtimo-value-path-selector\n *ngIf=\"params$ | async as params\"\n [attr.data-test-id]=\"testIds.fullNameInput\"\n formControlName=\"fullName\"\n [caseDefinitionKey]=\"params?.caseDefinitionKey\"\n [caseDefinitionVersionTag]=\"params?.caseDefinitionVersionTag\"\n ></valtimo-value-path-selector>\n </div>\n\n <div class=\"valtimo-widget-management-person-card__field\">\n <v-input-label\n [title]=\"'widgetTabManagement.content.person-card.birthDateLabel' | translate\"\n >\n </v-input-label>\n\n <valtimo-value-path-selector\n *ngIf=\"params$ | async as params\"\n [attr.data-test-id]=\"testIds.birthDateInput\"\n formControlName=\"birthDate\"\n [caseDefinitionKey]=\"params?.caseDefinitionKey\"\n [caseDefinitionVersionTag]=\"params?.caseDefinitionVersionTag\"\n ></valtimo-value-path-selector>\n </div>\n\n <div class=\"valtimo-widget-management-person-card__field\">\n <v-input-label [title]=\"'widgetTabManagement.content.person-card.bsnLabel' | translate\">\n </v-input-label>\n\n <valtimo-value-path-selector\n *ngIf=\"params$ | async as params\"\n [attr.data-test-id]=\"testIds.bsnInput\"\n formControlName=\"bsn\"\n [caseDefinitionKey]=\"params?.caseDefinitionKey\"\n [caseDefinitionVersionTag]=\"params?.caseDefinitionVersionTag\"\n ></valtimo-value-path-selector>\n </div>\n\n <div class=\"valtimo-widget-management-person-card__field\">\n <v-input-label\n [title]=\"'widgetTabManagement.content.person-card.phoneLabel' | translate\"\n >\n </v-input-label>\n\n <valtimo-value-path-selector\n *ngIf=\"params$ | async as params\"\n [attr.data-test-id]=\"testIds.phoneInput\"\n formControlName=\"phone\"\n [caseDefinitionKey]=\"params?.caseDefinitionKey\"\n [caseDefinitionVersionTag]=\"params?.caseDefinitionVersionTag\"\n ></valtimo-value-path-selector>\n </div>\n\n <div class=\"valtimo-widget-management-person-card__field\">\n <v-input-label\n [title]=\"'widgetTabManagement.content.person-card.emailLabel' | translate\"\n >\n </v-input-label>\n\n <valtimo-value-path-selector\n *ngIf=\"params$ | async as params\"\n [attr.data-test-id]=\"testIds.emailInput\"\n formControlName=\"email\"\n [caseDefinitionKey]=\"params?.caseDefinitionKey\"\n [caseDefinitionVersionTag]=\"params?.caseDefinitionVersionTag\"\n ></valtimo-value-path-selector>\n </div>\n\n <div class=\"valtimo-widget-management-person-card__field\">\n <v-input-label [title]=\"'widgetTabManagement.content.person-card.cityLabel' | translate\">\n </v-input-label>\n\n <valtimo-value-path-selector\n *ngIf=\"params$ | async as params\"\n [attr.data-test-id]=\"testIds.cityInput\"\n formControlName=\"city\"\n [caseDefinitionKey]=\"params?.caseDefinitionKey\"\n [caseDefinitionVersionTag]=\"params?.caseDefinitionVersionTag\"\n ></valtimo-value-path-selector>\n </div>\n </section>\n</form>\n", styles: [".valtimo-widget-management-person-card{display:flex;flex-direction:column;gap:16px}.valtimo-widget-management-person-card>form{display:flex;flex-direction:column;gap:16px}.valtimo-widget-management-person-card__title-form{padding:8px 0 16px 16px;background:var(--cds-layer);display:flex;gap:16px}.valtimo-widget-management-person-card__title-input{max-width:288px}.valtimo-widget-management-person-card__title-input input{background:var(--cds-layer-02)}.valtimo-widget-management-person-card__person-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px;row-gap:16px;padding:16px;background:var(--cds-layer)}.valtimo-widget-management-person-card__person-fields .cds--text-input,.valtimo-widget-management-person-card__person-fields .cds--list-box{background:var(--cds-layer-02)}.valtimo-widget-management-person-card__field{display:flex;flex-direction:column;gap:4px;min-width:0}.valtimo-widget-management-person-card__field--full{grid-column:1/-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: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.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$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i3.TextInputLabelComponent, selector: "cds-text-label, ibm-text-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "textInputTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel", "fluid"] }, { kind: "directive", type: i3.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: InputLabelModule }, { kind: "component", type: i1$1.InputLabelComponent, selector: "v-input-label", inputs: ["name", "tooltip", "tooltipTranslationKey", "largeMargin", "small", "noMargin", "title", "titleTranslationKey", "required", "disabled", "carbonTheme"] }, { kind: "component", type: MdiIconSelectorComponent, selector: "valtimo-mdi-icon-selector", inputs: ["labelTranslationKey", "tooltipTranslationKey", "placeholderTranslationKey", "appendInline", "dropUp"] }, { kind: "component", type: ValuePathSelectorComponent, selector: "valtimo-value-path-selector", inputs: ["name", "appendInline", "margin", "marginLg", "marginXl", "disabled", "caseDefinitionKey", "caseDefinitionVersionTag", "buildingBlockDefinitionKey", "buildingBlockDefinitionVersionTag", "prefixes", "label", "tooltip", "required", "showCaseDefinitionSelector", "notation", "dropUp", "defaultValue", "type", "parentItem", "filterItems"], outputs: ["valueChangeEvent", "collectionSelected"] }, { kind: "ngmodule", type: LayerModule }, { kind: "directive", type: i3.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
6055
|
+
}
|
|
6056
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetManagementPersonCardComponent, decorators: [{
|
|
6057
|
+
type: Component,
|
|
6058
|
+
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, imports: [
|
|
6059
|
+
CommonModule,
|
|
6060
|
+
TranslateModule,
|
|
6061
|
+
ReactiveFormsModule,
|
|
6062
|
+
InputModule,
|
|
6063
|
+
InputLabelModule,
|
|
6064
|
+
MdiIconSelectorComponent,
|
|
6065
|
+
ValuePathSelectorComponent,
|
|
6066
|
+
LayerModule,
|
|
6067
|
+
], 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<form [formGroup]=\"form\">\n <section\n *ngIf=\"$showTitleInput()\"\n class=\"valtimo-widget-management-person-card__title-form\"\n >\n <cds-text-label class=\"valtimo-widget-management-person-card__title-input\">\n <v-input-label\n [title]=\"'widgetTabManagement.content.widgetTitle' | translate\"\n [tooltip]=\"'widgetTabManagement.content.widgetTitleTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n formControlName=\"widgetTitle\"\n cdsText\n [attr.data-test-id]=\"testIds.widgetTitleInput\"\n [placeholder]=\"'widgetTabManagement.content.widgetTitlePlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n\n <valtimo-mdi-icon-selector\n [cdsLayer]=\"1\"\n formControlName=\"widgetIcon\"\n ></valtimo-mdi-icon-selector>\n </section>\n\n <div class=\"valtimo-widget-management-person-card__action-button-section\">\n <ng-content></ng-content>\n </div>\n\n <section class=\"valtimo-widget-management-person-card__person-fields\">\n <div\n class=\"valtimo-widget-management-person-card__field valtimo-widget-management-person-card__field--full\"\n >\n <v-input-label\n [title]=\"'widgetTabManagement.content.person-card.fullNameLabel' | translate\"\n >\n </v-input-label>\n\n <valtimo-value-path-selector\n *ngIf=\"params$ | async as params\"\n [attr.data-test-id]=\"testIds.fullNameInput\"\n formControlName=\"fullName\"\n [caseDefinitionKey]=\"params?.caseDefinitionKey\"\n [caseDefinitionVersionTag]=\"params?.caseDefinitionVersionTag\"\n ></valtimo-value-path-selector>\n </div>\n\n <div class=\"valtimo-widget-management-person-card__field\">\n <v-input-label\n [title]=\"'widgetTabManagement.content.person-card.birthDateLabel' | translate\"\n >\n </v-input-label>\n\n <valtimo-value-path-selector\n *ngIf=\"params$ | async as params\"\n [attr.data-test-id]=\"testIds.birthDateInput\"\n formControlName=\"birthDate\"\n [caseDefinitionKey]=\"params?.caseDefinitionKey\"\n [caseDefinitionVersionTag]=\"params?.caseDefinitionVersionTag\"\n ></valtimo-value-path-selector>\n </div>\n\n <div class=\"valtimo-widget-management-person-card__field\">\n <v-input-label [title]=\"'widgetTabManagement.content.person-card.bsnLabel' | translate\">\n </v-input-label>\n\n <valtimo-value-path-selector\n *ngIf=\"params$ | async as params\"\n [attr.data-test-id]=\"testIds.bsnInput\"\n formControlName=\"bsn\"\n [caseDefinitionKey]=\"params?.caseDefinitionKey\"\n [caseDefinitionVersionTag]=\"params?.caseDefinitionVersionTag\"\n ></valtimo-value-path-selector>\n </div>\n\n <div class=\"valtimo-widget-management-person-card__field\">\n <v-input-label\n [title]=\"'widgetTabManagement.content.person-card.phoneLabel' | translate\"\n >\n </v-input-label>\n\n <valtimo-value-path-selector\n *ngIf=\"params$ | async as params\"\n [attr.data-test-id]=\"testIds.phoneInput\"\n formControlName=\"phone\"\n [caseDefinitionKey]=\"params?.caseDefinitionKey\"\n [caseDefinitionVersionTag]=\"params?.caseDefinitionVersionTag\"\n ></valtimo-value-path-selector>\n </div>\n\n <div class=\"valtimo-widget-management-person-card__field\">\n <v-input-label\n [title]=\"'widgetTabManagement.content.person-card.emailLabel' | translate\"\n >\n </v-input-label>\n\n <valtimo-value-path-selector\n *ngIf=\"params$ | async as params\"\n [attr.data-test-id]=\"testIds.emailInput\"\n formControlName=\"email\"\n [caseDefinitionKey]=\"params?.caseDefinitionKey\"\n [caseDefinitionVersionTag]=\"params?.caseDefinitionVersionTag\"\n ></valtimo-value-path-selector>\n </div>\n\n <div class=\"valtimo-widget-management-person-card__field\">\n <v-input-label [title]=\"'widgetTabManagement.content.person-card.cityLabel' | translate\">\n </v-input-label>\n\n <valtimo-value-path-selector\n *ngIf=\"params$ | async as params\"\n [attr.data-test-id]=\"testIds.cityInput\"\n formControlName=\"city\"\n [caseDefinitionKey]=\"params?.caseDefinitionKey\"\n [caseDefinitionVersionTag]=\"params?.caseDefinitionVersionTag\"\n ></valtimo-value-path-selector>\n </div>\n </section>\n</form>\n", styles: [".valtimo-widget-management-person-card{display:flex;flex-direction:column;gap:16px}.valtimo-widget-management-person-card>form{display:flex;flex-direction:column;gap:16px}.valtimo-widget-management-person-card__title-form{padding:8px 0 16px 16px;background:var(--cds-layer);display:flex;gap:16px}.valtimo-widget-management-person-card__title-input{max-width:288px}.valtimo-widget-management-person-card__title-input input{background:var(--cds-layer-02)}.valtimo-widget-management-person-card__person-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px;row-gap:16px;padding:16px;background:var(--cds-layer)}.valtimo-widget-management-person-card__person-fields .cds--text-input,.valtimo-widget-management-person-card__person-fields .cds--list-box{background:var(--cds-layer-02)}.valtimo-widget-management-person-card__field{display:flex;flex-direction:column;gap:4px;min-width:0}.valtimo-widget-management-person-card__field--full{grid-column:1/-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"] }]
|
|
6068
|
+
}], ctorParameters: () => [{ type: i1$3.FormBuilder }, { type: WidgetWizardService }, { type: undefined, decorators: [{
|
|
6069
|
+
type: Inject,
|
|
6070
|
+
args: [WIDGET_MANAGEMENT_SERVICE]
|
|
6071
|
+
}] }], propDecorators: { class: [{
|
|
6072
|
+
type: HostBinding,
|
|
6073
|
+
args: ['class']
|
|
6074
|
+
}] } });
|
|
6075
|
+
|
|
6076
|
+
/*
|
|
6077
|
+
* Copyright 2015-2026 Ritense BV, the Netherlands.
|
|
6078
|
+
*
|
|
6079
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
6080
|
+
* you may not use this file except in compliance with the License.
|
|
6081
|
+
* You may obtain a copy of the License at
|
|
6082
|
+
*
|
|
6083
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
6084
|
+
*
|
|
6085
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
6086
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
6087
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
6088
|
+
* See the License for the specific language governing permissions and
|
|
6089
|
+
* limitations under the License.
|
|
6090
|
+
*/
|
|
6091
|
+
class WidgetManagementMetrolineComponent {
|
|
6092
|
+
constructor(fb, metrolineWidgetApiService, translateService, widgetWizardService) {
|
|
6093
|
+
this.fb = fb;
|
|
6094
|
+
this.metrolineWidgetApiService = metrolineWidgetApiService;
|
|
6095
|
+
this.translateService = translateService;
|
|
6096
|
+
this.widgetWizardService = widgetWizardService;
|
|
6097
|
+
this.class = 'valtimo-widget-management-metroline';
|
|
6098
|
+
this.testIds = WIDGET_CONTENT_METROLINE_TEST_IDS;
|
|
6099
|
+
this.orientationOptions = MetrolineOrientation;
|
|
6100
|
+
this._initialContent = this.widgetWizardService.$widgetContent();
|
|
6101
|
+
this.form = this.fb.group({
|
|
6102
|
+
widgetTitle: this.fb.control(this.widgetWizardService.$widgetTitle(), Validators.required),
|
|
6103
|
+
widgetIcon: this.fb.control(this.widgetWizardService.$widgetIcon()),
|
|
6104
|
+
orientation: this.fb.control(this._initialContent?.orientation ?? MetrolineOrientation.HORIZONTAL, Validators.required),
|
|
6105
|
+
mode: this.fb.control(this._initialContent?.mode ?? null, Validators.required),
|
|
6106
|
+
});
|
|
6107
|
+
this.modeItems$ = combineLatest([
|
|
6108
|
+
this.metrolineWidgetApiService.getAvailableModes(),
|
|
6109
|
+
this.translateService.stream('key'),
|
|
6110
|
+
]).pipe(map(([availableModes]) => this.buildModeItems(availableModes)));
|
|
6111
|
+
this._subscriptions = new Subscription();
|
|
6112
|
+
}
|
|
6113
|
+
ngOnInit() {
|
|
6114
|
+
this.syncWizardServiceFromForm();
|
|
6115
|
+
this.widgetWizardService.$widgetContentValid.set(this.form.valid);
|
|
6116
|
+
this._subscriptions.add(this.form.valueChanges.pipe(debounceTime(100)).subscribe(() => {
|
|
6117
|
+
this.syncWizardServiceFromForm();
|
|
6118
|
+
this.widgetWizardService.$widgetContentValid.set(this.form.valid);
|
|
6119
|
+
}));
|
|
6120
|
+
}
|
|
6121
|
+
ngOnDestroy() {
|
|
6122
|
+
this._subscriptions.unsubscribe();
|
|
6123
|
+
this.form.reset();
|
|
6124
|
+
this.widgetWizardService.$widgetContentValid.set(false);
|
|
6125
|
+
}
|
|
6126
|
+
onModeSelected(event) {
|
|
6127
|
+
if (!event?.item?.id)
|
|
6128
|
+
return;
|
|
6129
|
+
this.form.patchValue({ mode: event.item.id });
|
|
6130
|
+
}
|
|
6131
|
+
syncWizardServiceFromForm() {
|
|
6132
|
+
const value = this.form.getRawValue();
|
|
6133
|
+
this.widgetWizardService.$widgetTitle.set(value.widgetTitle ?? '');
|
|
6134
|
+
this.widgetWizardService.$widgetIcon.set(value.widgetIcon ?? '');
|
|
6135
|
+
this.widgetWizardService.$widgetContent.set({
|
|
6136
|
+
orientation: value.orientation ?? MetrolineOrientation.HORIZONTAL,
|
|
6137
|
+
mode: value.mode,
|
|
6138
|
+
});
|
|
6139
|
+
}
|
|
6140
|
+
buildModeItems(availableModes) {
|
|
6141
|
+
const current = this.form.get('mode')?.value;
|
|
6142
|
+
const visible = new Set(availableModes);
|
|
6143
|
+
if (current)
|
|
6144
|
+
visible.add(current);
|
|
6145
|
+
return METROLINE_MODE_OPTIONS.filter(mode => visible.has(mode)).map(mode => ({
|
|
6146
|
+
content: this.translateService.instant(METROLINE_MODE_TRANSLATION_KEYS[mode]),
|
|
6147
|
+
id: mode,
|
|
6148
|
+
selected: current === mode,
|
|
6149
|
+
}));
|
|
6150
|
+
}
|
|
6151
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetManagementMetrolineComponent, deps: [{ token: i1$3.FormBuilder }, { token: MetrolineWidgetApiService }, { token: i2$2.TranslateService }, { token: WidgetWizardService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
6152
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: WidgetManagementMetrolineComponent, isStandalone: true, selector: "ng-component", host: { properties: { "class": "this.class" } }, 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<form\n [formGroup]=\"form\"\n class=\"valtimo-widget-management-metroline__title-form\"\n>\n <cds-text-label class=\"valtimo-widget-management-metroline__title-input\">\n <v-input-label\n [title]=\"'widgetTabManagement.content.widgetTitle' | translate\"\n [tooltip]=\"'widgetTabManagement.content.widgetTitleTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n formControlName=\"widgetTitle\"\n cdsText\n [attr.data-test-id]=\"testIds.widgetTitleInput\"\n [placeholder]=\"'widgetTabManagement.content.widgetTitlePlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n\n <valtimo-mdi-icon-selector\n [cdsLayer]=\"1\"\n formControlName=\"widgetIcon\"\n ></valtimo-mdi-icon-selector>\n</form>\n\n<ng-content></ng-content>\n\n<section\n class=\"valtimo-widget-management-metroline__settings\"\n [formGroup]=\"form\"\n>\n <cds-radio-group\n class=\"valtimo-widget-management-metroline__radio-group\"\n orientation=\"horizontal\"\n formControlName=\"orientation\"\n [attr.data-test-id]=\"testIds.displayTypeRadio\"\n [legend]=\"'widgetTabManagement.content.metroline.displayType.label' | translate\"\n >\n <cds-radio [value]=\"orientationOptions.HORIZONTAL\">\n {{ 'widgetTabManagement.content.metroline.displayType.horizontal' | translate }}\n </cds-radio>\n <cds-radio [value]=\"orientationOptions.VERTICAL\">\n {{ 'widgetTabManagement.content.metroline.displayType.vertical' | translate }}\n </cds-radio>\n </cds-radio-group>\n\n <cds-dropdown\n class=\"valtimo-widget-management-metroline__dropdown\"\n [appendInline]=\"false\"\n [dropUp]=\"false\"\n [attr.data-test-id]=\"testIds.statusSourceDropdown\"\n [label]=\"'widgetTabManagement.content.metroline.statusSource.label' | translate\"\n [placeholder]=\"'widgetTabManagement.content.metroline.statusSource.placeholder' | translate\"\n (selected)=\"onModeSelected($event)\"\n >\n <cds-dropdown-list [items]=\"modeItems$ | async\"></cds-dropdown-list>\n </cds-dropdown>\n</section>\n", styles: [".valtimo-widget-management-metroline{display:flex;flex-direction:column;gap:16px}.valtimo-widget-management-metroline__title-form{padding:8px 0 16px 16px;background:var(--cds-layer);display:flex;gap:16px}.valtimo-widget-management-metroline__title-input{max-width:300px}.valtimo-widget-management-metroline__title-input input{background:var(--cds-layer-02)}.valtimo-widget-management-metroline__settings{display:flex;flex-wrap:wrap;align-items:center;gap:24px;padding:16px;background:var(--cds-layer)}.valtimo-widget-management-metroline__settings>*{flex:0 0 auto}.valtimo-widget-management-metroline__dropdown{width:300px}.valtimo-widget-management-metroline__dropdown .cds--list-box{background:var(--cds-layer-02)}\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: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i7.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: i7.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "ngmodule", type: InputLabelModule }, { kind: "component", type: i1$1.InputLabelComponent, selector: "v-input-label", inputs: ["name", "tooltip", "tooltipTranslationKey", "largeMargin", "small", "noMargin", "title", "titleTranslationKey", "required", "disabled", "carbonTheme"] }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i3.TextInputLabelComponent, selector: "cds-text-label, ibm-text-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "textInputTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel", "fluid"] }, { kind: "directive", type: i3.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: LayerModule }, { kind: "directive", type: i3.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "component", type: MdiIconSelectorComponent, selector: "valtimo-mdi-icon-selector", inputs: ["labelTranslationKey", "tooltipTranslationKey", "placeholderTranslationKey", "appendInline", "dropUp"] }, { kind: "ngmodule", type: RadioModule }, { kind: "component", type: i3.Radio, selector: "cds-radio, ibm-radio", inputs: ["checked", "name", "disabled", "labelPlacement", "ariaLabelledby", "ariaLabel", "required", "value", "skeleton", "id"], outputs: ["change"] }, { kind: "component", type: i3.RadioGroup, selector: "cds-radio-group, ibm-radio-group", inputs: ["selected", "value", "name", "disabled", "skeleton", "orientation", "labelPlacement", "legend", "ariaLabel", "ariaLabelledby", "helperText", "invalid", "invalidText", "warn", "warnText"], outputs: ["change"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.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$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
6153
|
+
}
|
|
6154
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetManagementMetrolineComponent, decorators: [{
|
|
6155
|
+
type: Component,
|
|
6156
|
+
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, imports: [
|
|
6157
|
+
CommonModule,
|
|
6158
|
+
DropdownModule,
|
|
6159
|
+
InputLabelModule,
|
|
6160
|
+
InputModule,
|
|
6161
|
+
LayerModule,
|
|
6162
|
+
MdiIconSelectorComponent,
|
|
6163
|
+
RadioModule,
|
|
6164
|
+
ReactiveFormsModule,
|
|
6165
|
+
TranslateModule,
|
|
6166
|
+
], 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<form\n [formGroup]=\"form\"\n class=\"valtimo-widget-management-metroline__title-form\"\n>\n <cds-text-label class=\"valtimo-widget-management-metroline__title-input\">\n <v-input-label\n [title]=\"'widgetTabManagement.content.widgetTitle' | translate\"\n [tooltip]=\"'widgetTabManagement.content.widgetTitleTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n formControlName=\"widgetTitle\"\n cdsText\n [attr.data-test-id]=\"testIds.widgetTitleInput\"\n [placeholder]=\"'widgetTabManagement.content.widgetTitlePlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n\n <valtimo-mdi-icon-selector\n [cdsLayer]=\"1\"\n formControlName=\"widgetIcon\"\n ></valtimo-mdi-icon-selector>\n</form>\n\n<ng-content></ng-content>\n\n<section\n class=\"valtimo-widget-management-metroline__settings\"\n [formGroup]=\"form\"\n>\n <cds-radio-group\n class=\"valtimo-widget-management-metroline__radio-group\"\n orientation=\"horizontal\"\n formControlName=\"orientation\"\n [attr.data-test-id]=\"testIds.displayTypeRadio\"\n [legend]=\"'widgetTabManagement.content.metroline.displayType.label' | translate\"\n >\n <cds-radio [value]=\"orientationOptions.HORIZONTAL\">\n {{ 'widgetTabManagement.content.metroline.displayType.horizontal' | translate }}\n </cds-radio>\n <cds-radio [value]=\"orientationOptions.VERTICAL\">\n {{ 'widgetTabManagement.content.metroline.displayType.vertical' | translate }}\n </cds-radio>\n </cds-radio-group>\n\n <cds-dropdown\n class=\"valtimo-widget-management-metroline__dropdown\"\n [appendInline]=\"false\"\n [dropUp]=\"false\"\n [attr.data-test-id]=\"testIds.statusSourceDropdown\"\n [label]=\"'widgetTabManagement.content.metroline.statusSource.label' | translate\"\n [placeholder]=\"'widgetTabManagement.content.metroline.statusSource.placeholder' | translate\"\n (selected)=\"onModeSelected($event)\"\n >\n <cds-dropdown-list [items]=\"modeItems$ | async\"></cds-dropdown-list>\n </cds-dropdown>\n</section>\n", styles: [".valtimo-widget-management-metroline{display:flex;flex-direction:column;gap:16px}.valtimo-widget-management-metroline__title-form{padding:8px 0 16px 16px;background:var(--cds-layer);display:flex;gap:16px}.valtimo-widget-management-metroline__title-input{max-width:300px}.valtimo-widget-management-metroline__title-input input{background:var(--cds-layer-02)}.valtimo-widget-management-metroline__settings{display:flex;flex-wrap:wrap;align-items:center;gap:24px;padding:16px;background:var(--cds-layer)}.valtimo-widget-management-metroline__settings>*{flex:0 0 auto}.valtimo-widget-management-metroline__dropdown{width:300px}.valtimo-widget-management-metroline__dropdown .cds--list-box{background:var(--cds-layer-02)}\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"] }]
|
|
6167
|
+
}], ctorParameters: () => [{ type: i1$3.FormBuilder }, { type: MetrolineWidgetApiService }, { type: i2$2.TranslateService }, { type: WidgetWizardService }], propDecorators: { class: [{
|
|
6168
|
+
type: HostBinding,
|
|
6169
|
+
args: ['class']
|
|
6170
|
+
}] } });
|
|
6171
|
+
|
|
6172
|
+
/*
|
|
6173
|
+
* Copyright 2015-2026 Ritense BV, the Netherlands.
|
|
6174
|
+
*
|
|
6175
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
6176
|
+
* you may not use this file except in compliance with the License.
|
|
6177
|
+
* You may obtain a copy of the License at
|
|
6178
|
+
*
|
|
6179
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
6180
|
+
*
|
|
6181
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
6182
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
6183
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
6184
|
+
* See the License for the specific language governing permissions and
|
|
6185
|
+
* limitations under the License.
|
|
6186
|
+
*/
|
|
6187
|
+
class WidgetManagementHighlightComponent {
|
|
6188
|
+
constructor(fb, widgetWizardService, translateService, cdsThemeService, widgetManagementService) {
|
|
6189
|
+
this.fb = fb;
|
|
6190
|
+
this.widgetWizardService = widgetWizardService;
|
|
6191
|
+
this.translateService = translateService;
|
|
6192
|
+
this.cdsThemeService = cdsThemeService;
|
|
6193
|
+
this.widgetManagementService = widgetManagementService;
|
|
6194
|
+
this.class = 'valtimo-widget-management-highlight';
|
|
6195
|
+
this.form = this.fb.group({
|
|
6196
|
+
widgetTitle: this.fb.control(this.widgetWizardService.$widgetTitle(), Validators.required),
|
|
6197
|
+
widgetIcon: this.fb.control(this.widgetWizardService.$widgetIcon()),
|
|
6198
|
+
value: this.fb.control(this.widgetWizardService.$widgetContent()?.value ?? '', Validators.required),
|
|
6199
|
+
});
|
|
6200
|
+
this.$isLightTheme = toSignal(this.cdsThemeService.currentTheme$.pipe(map(theme => theme === CurrentCarbonTheme.G10 || theme === CurrentCarbonTheme.WHITE)), { initialValue: true });
|
|
6201
|
+
this.$colorItems = computed(() => {
|
|
6202
|
+
const selectedColor = this.widgetWizardService.$widgetColor() ?? WidgetColor.WHITE;
|
|
6203
|
+
const themeType = this.$isLightTheme() ? 'light' : 'dark';
|
|
6204
|
+
return this.colorTiles.map(tile => {
|
|
6205
|
+
const variant = WIDGET_COLOR_THEME_MAP[tile.color][themeType];
|
|
6206
|
+
const tagType = WIDGET_COLOR_TO_TAG_TYPE[tile.color];
|
|
6207
|
+
return {
|
|
6208
|
+
content: this.translateService.instant(tile.labelKey),
|
|
6209
|
+
key: tile.color,
|
|
6210
|
+
selected: tile.color === selectedColor,
|
|
6211
|
+
tagType,
|
|
6212
|
+
tagBackground: variant.background,
|
|
6213
|
+
tagText: variant.text,
|
|
6214
|
+
};
|
|
6215
|
+
});
|
|
6216
|
+
});
|
|
6217
|
+
this.colorTiles = WIDGET_COLOR_ITEMS.map(color => ({
|
|
6218
|
+
color,
|
|
6219
|
+
labelKey: `widgetTabManagement.appearance.backgroundColor.colors.${color === WidgetColor.HIGHCONTRAST ? 'highContrast' : color.toLowerCase()}`,
|
|
6220
|
+
illustration: '',
|
|
6221
|
+
}));
|
|
6222
|
+
this.$widgetContext = this.widgetWizardService.$widgetContext;
|
|
6223
|
+
this.params$ = this.widgetManagementService.params$;
|
|
6224
|
+
this._subscriptions = new Subscription();
|
|
6225
|
+
}
|
|
6226
|
+
ngOnInit() {
|
|
6227
|
+
if (!this.widgetWizardService.$widgetColor()) {
|
|
6228
|
+
this.widgetWizardService.$widgetColor.set(WidgetColor.BLUE);
|
|
6229
|
+
}
|
|
6230
|
+
this.widgetWizardService.$widgetWidth.set(1);
|
|
6231
|
+
this.syncContentValid();
|
|
6232
|
+
this._subscriptions.add(this.form.valueChanges.pipe(debounceTime(100)).subscribe(formValue => {
|
|
6233
|
+
this.widgetWizardService.$widgetTitle.set(formValue.widgetTitle ?? '');
|
|
6234
|
+
this.widgetWizardService.$widgetIcon.set(formValue.widgetIcon ?? '');
|
|
6235
|
+
this.widgetWizardService.$widgetContent.set({
|
|
6236
|
+
value: formValue.value ?? '',
|
|
6237
|
+
displayProperties: { type: HighlightDisplayType.NUMBER },
|
|
6238
|
+
});
|
|
6239
|
+
this.syncContentValid();
|
|
6240
|
+
}));
|
|
6241
|
+
}
|
|
6242
|
+
ngOnDestroy() {
|
|
6243
|
+
this._subscriptions.unsubscribe();
|
|
6244
|
+
}
|
|
6245
|
+
onColorSelected(event) {
|
|
6246
|
+
const colorKey = event?.item?.key;
|
|
6247
|
+
if (!colorKey)
|
|
6248
|
+
return;
|
|
6249
|
+
this.widgetWizardService.$widgetColor.set(colorKey);
|
|
6250
|
+
}
|
|
6251
|
+
syncContentValid() {
|
|
6252
|
+
this.widgetWizardService.$widgetContentValid.set(this.form.valid);
|
|
6253
|
+
}
|
|
6254
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetManagementHighlightComponent, deps: [{ token: i1$3.FormBuilder }, { token: WidgetWizardService }, { token: i2$2.TranslateService }, { token: i1$1.CdsThemeService }, { token: WIDGET_MANAGEMENT_SERVICE }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
6255
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: WidgetManagementHighlightComponent, isStandalone: true, selector: "ng-component", host: { properties: { "class": "this.class" } }, 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<form\n *ngIf=\"{params: params$ | async} as data\"\n [formGroup]=\"form\"\n class=\"valtimo-widget-management-highlight__form\"\n>\n <section class=\"valtimo-widget-management-highlight__panel\">\n <div class=\"valtimo-widget-management-highlight__identity-row\">\n <cds-text-label class=\"valtimo-widget-management-highlight__title-input\">\n <v-input-label\n [title]=\"'widgetTabManagement.content.widgetTitle' | translate\"\n [tooltip]=\"'widgetTabManagement.content.widgetTitleTooltip' | translate\"\n ></v-input-label>\n\n <input\n formControlName=\"widgetTitle\"\n cdsText\n type=\"text\"\n [placeholder]=\"'widgetTabManagement.content.widgetTitlePlaceholder' | translate\"\n />\n </cds-text-label>\n\n <valtimo-mdi-icon-selector\n [cdsLayer]=\"1\"\n formControlName=\"widgetIcon\"\n ></valtimo-mdi-icon-selector>\n </div>\n </section>\n\n <ng-content></ng-content>\n\n <section class=\"valtimo-widget-management-highlight__panel\">\n <div class=\"valtimo-widget-management-highlight__row\">\n <div\n class=\"valtimo-widget-management-highlight__row-item valtimo-widget-management-highlight__value\"\n >\n @if ($widgetContext() === 'case') {\n <valtimo-value-path-selector\n formControlName=\"value\"\n [label]=\"'widgetTabManagement.content.highlight.value' | translate\"\n [caseDefinitionKey]=\"data.params?.caseDefinitionKey\"\n [caseDefinitionVersionTag]=\"data.params?.caseDefinitionVersionTag\"\n ></valtimo-value-path-selector>\n } @else {\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.content.highlight.value' | translate\"\n ></v-input-label>\n\n <input\n formControlName=\"value\"\n cdsText\n type=\"text\"\n [placeholder]=\"'widgetTabManagement.content.highlight.valuePlaceholder' | translate\"\n />\n </cds-text-label>\n }\n\n <span class=\"valtimo-widget-management-highlight__helper\">\n {{ 'widgetTabManagement.content.highlight.valueHelper' | translate }}\n </span>\n </div>\n\n <cds-dropdown\n class=\"valtimo-widget-management-highlight__row-item\"\n [label]=\"'widgetTabManagement.content.highlight.accentColor' | translate\"\n (selected)=\"onColorSelected($event)\"\n [dropUp]=\"false\"\n >\n <cds-dropdown-list\n [items]=\"$colorItems()\"\n [listTpl]=\"colorDropdownItemTemplate\"\n ></cds-dropdown-list>\n </cds-dropdown>\n </div>\n </section>\n</form>\n\n<ng-template #colorDropdownItemTemplate let-item=\"item\">\n <ng-container *ngIf=\"item && item.content\">\n <cds-tag\n *ngIf=\"item.tagType; else customColorTag\"\n class=\"cds-tag--no-margin\"\n [type]=\"item.tagType\"\n >\n {{ item.content }}\n </cds-tag>\n <ng-template #customColorTag>\n <cds-tag\n class=\"cds-tag--no-margin valtimo-widget-management-highlight__color-tag\"\n [style.--widget-color-tag-bg]=\"item.tagBackground\"\n [style.--widget-color-tag-fg]=\"item.tagText\"\n >\n {{ item.content }}\n </cds-tag>\n </ng-template>\n </ng-container>\n</ng-template>\n", styles: [".valtimo-widget-management-highlight__form{display:flex;flex-direction:column;gap:16px}.valtimo-widget-management-highlight__panel{display:flex;flex-direction:column;gap:12px;padding:16px;background:var(--cds-layer)}.valtimo-widget-management-highlight__identity-row{display:flex;gap:16px;align-items:flex-end}.valtimo-widget-management-highlight__title-input{max-width:288px;flex:1 1 auto}.valtimo-widget-management-highlight__title-input input{background:var(--cds-layer-02)}.valtimo-widget-management-highlight__row{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.valtimo-widget-management-highlight__row-item{width:100%}.valtimo-widget-management-highlight__row-item .cds--list-box,.valtimo-widget-management-highlight__row-item .cds--text-input,.valtimo-widget-management-highlight__row-item input.cds--text-input{background:var(--cds-layer-02)}.valtimo-widget-management-highlight__value{display:flex;flex-direction:column}.valtimo-widget-management-highlight__helper{margin-top:4px;font-size:12px;color:var(--cds-text-helper)}.valtimo-widget-management-highlight__color-tag.cds--tag{background-color:var(--widget-color-tag-bg, var(--cds-layer-02));color:var(--widget-color-tag-fg, var(--cds-text-primary));border:none}\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: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.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$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i3.TextInputLabelComponent, selector: "cds-text-label, ibm-text-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "textInputTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel", "fluid"] }, { kind: "directive", type: i3.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: InputLabelModule }, { kind: "component", type: i1$1.InputLabelComponent, selector: "v-input-label", inputs: ["name", "tooltip", "tooltipTranslationKey", "largeMargin", "small", "noMargin", "title", "titleTranslationKey", "required", "disabled", "carbonTheme"] }, { kind: "ngmodule", type: LayerModule }, { kind: "directive", type: i3.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i7.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: i7.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "ngmodule", type: IconModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "ngmodule", type: TagModule }, { kind: "component", type: i3.Tag, selector: "cds-tag, ibm-tag", inputs: ["type", "size", "class", "skeleton"] }, { kind: "component", type: MdiIconSelectorComponent, selector: "valtimo-mdi-icon-selector", inputs: ["labelTranslationKey", "tooltipTranslationKey", "placeholderTranslationKey", "appendInline", "dropUp"] }, { kind: "component", type: ValuePathSelectorComponent, selector: "valtimo-value-path-selector", inputs: ["name", "appendInline", "margin", "marginLg", "marginXl", "disabled", "caseDefinitionKey", "caseDefinitionVersionTag", "buildingBlockDefinitionKey", "buildingBlockDefinitionVersionTag", "prefixes", "label", "tooltip", "required", "showCaseDefinitionSelector", "notation", "dropUp", "defaultValue", "type", "parentItem", "filterItems"], outputs: ["valueChangeEvent", "collectionSelected"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
6256
|
+
}
|
|
6257
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetManagementHighlightComponent, decorators: [{
|
|
6258
|
+
type: Component,
|
|
6259
|
+
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, imports: [
|
|
6260
|
+
CommonModule,
|
|
6261
|
+
TranslateModule,
|
|
6262
|
+
ReactiveFormsModule,
|
|
6263
|
+
InputModule,
|
|
6264
|
+
InputLabelModule,
|
|
6265
|
+
LayerModule,
|
|
6266
|
+
DropdownModule,
|
|
6267
|
+
IconModule,
|
|
6268
|
+
ButtonModule,
|
|
6269
|
+
TagModule,
|
|
6270
|
+
MdiIconSelectorComponent,
|
|
6271
|
+
ValuePathSelectorComponent,
|
|
6272
|
+
], 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<form\n *ngIf=\"{params: params$ | async} as data\"\n [formGroup]=\"form\"\n class=\"valtimo-widget-management-highlight__form\"\n>\n <section class=\"valtimo-widget-management-highlight__panel\">\n <div class=\"valtimo-widget-management-highlight__identity-row\">\n <cds-text-label class=\"valtimo-widget-management-highlight__title-input\">\n <v-input-label\n [title]=\"'widgetTabManagement.content.widgetTitle' | translate\"\n [tooltip]=\"'widgetTabManagement.content.widgetTitleTooltip' | translate\"\n ></v-input-label>\n\n <input\n formControlName=\"widgetTitle\"\n cdsText\n type=\"text\"\n [placeholder]=\"'widgetTabManagement.content.widgetTitlePlaceholder' | translate\"\n />\n </cds-text-label>\n\n <valtimo-mdi-icon-selector\n [cdsLayer]=\"1\"\n formControlName=\"widgetIcon\"\n ></valtimo-mdi-icon-selector>\n </div>\n </section>\n\n <ng-content></ng-content>\n\n <section class=\"valtimo-widget-management-highlight__panel\">\n <div class=\"valtimo-widget-management-highlight__row\">\n <div\n class=\"valtimo-widget-management-highlight__row-item valtimo-widget-management-highlight__value\"\n >\n @if ($widgetContext() === 'case') {\n <valtimo-value-path-selector\n formControlName=\"value\"\n [label]=\"'widgetTabManagement.content.highlight.value' | translate\"\n [caseDefinitionKey]=\"data.params?.caseDefinitionKey\"\n [caseDefinitionVersionTag]=\"data.params?.caseDefinitionVersionTag\"\n ></valtimo-value-path-selector>\n } @else {\n <cds-text-label>\n <v-input-label\n [title]=\"'widgetTabManagement.content.highlight.value' | translate\"\n ></v-input-label>\n\n <input\n formControlName=\"value\"\n cdsText\n type=\"text\"\n [placeholder]=\"'widgetTabManagement.content.highlight.valuePlaceholder' | translate\"\n />\n </cds-text-label>\n }\n\n <span class=\"valtimo-widget-management-highlight__helper\">\n {{ 'widgetTabManagement.content.highlight.valueHelper' | translate }}\n </span>\n </div>\n\n <cds-dropdown\n class=\"valtimo-widget-management-highlight__row-item\"\n [label]=\"'widgetTabManagement.content.highlight.accentColor' | translate\"\n (selected)=\"onColorSelected($event)\"\n [dropUp]=\"false\"\n >\n <cds-dropdown-list\n [items]=\"$colorItems()\"\n [listTpl]=\"colorDropdownItemTemplate\"\n ></cds-dropdown-list>\n </cds-dropdown>\n </div>\n </section>\n</form>\n\n<ng-template #colorDropdownItemTemplate let-item=\"item\">\n <ng-container *ngIf=\"item && item.content\">\n <cds-tag\n *ngIf=\"item.tagType; else customColorTag\"\n class=\"cds-tag--no-margin\"\n [type]=\"item.tagType\"\n >\n {{ item.content }}\n </cds-tag>\n <ng-template #customColorTag>\n <cds-tag\n class=\"cds-tag--no-margin valtimo-widget-management-highlight__color-tag\"\n [style.--widget-color-tag-bg]=\"item.tagBackground\"\n [style.--widget-color-tag-fg]=\"item.tagText\"\n >\n {{ item.content }}\n </cds-tag>\n </ng-template>\n </ng-container>\n</ng-template>\n", styles: [".valtimo-widget-management-highlight__form{display:flex;flex-direction:column;gap:16px}.valtimo-widget-management-highlight__panel{display:flex;flex-direction:column;gap:12px;padding:16px;background:var(--cds-layer)}.valtimo-widget-management-highlight__identity-row{display:flex;gap:16px;align-items:flex-end}.valtimo-widget-management-highlight__title-input{max-width:288px;flex:1 1 auto}.valtimo-widget-management-highlight__title-input input{background:var(--cds-layer-02)}.valtimo-widget-management-highlight__row{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.valtimo-widget-management-highlight__row-item{width:100%}.valtimo-widget-management-highlight__row-item .cds--list-box,.valtimo-widget-management-highlight__row-item .cds--text-input,.valtimo-widget-management-highlight__row-item input.cds--text-input{background:var(--cds-layer-02)}.valtimo-widget-management-highlight__value{display:flex;flex-direction:column}.valtimo-widget-management-highlight__helper{margin-top:4px;font-size:12px;color:var(--cds-text-helper)}.valtimo-widget-management-highlight__color-tag.cds--tag{background-color:var(--widget-color-tag-bg, var(--cds-layer-02));color:var(--widget-color-tag-fg, var(--cds-text-primary));border:none}\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"] }]
|
|
6273
|
+
}], ctorParameters: () => [{ type: i1$3.FormBuilder }, { type: WidgetWizardService }, { type: i2$2.TranslateService }, { type: i1$1.CdsThemeService }, { type: undefined, decorators: [{
|
|
6274
|
+
type: Inject,
|
|
6275
|
+
args: [WIDGET_MANAGEMENT_SERVICE]
|
|
6276
|
+
}] }], propDecorators: { class: [{
|
|
5444
6277
|
type: HostBinding,
|
|
5445
6278
|
args: ['class']
|
|
5446
6279
|
}] } });
|
|
@@ -5548,7 +6381,7 @@ class WidgetManagementInteractiveTableComponent {
|
|
|
5548
6381
|
}));
|
|
5549
6382
|
}
|
|
5550
6383
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetManagementInteractiveTableComponent, deps: [{ token: i1$3.FormBuilder }, { token: WidgetWizardService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5551
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: WidgetManagementInteractiveTableComponent, isStandalone: true, selector: "ng-component", host: { properties: { "class": "this.class" } }, 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<valtimo-widget-management-table [showFirstColumnOption]=\"false\" [sortableColumns]=\"true\">\n <ng-content></ng-content>\n\n <form [formGroup]=\"formGroup\" class=\"valtimo-widget-management-interactive-table__form\">\n <cds-checkbox formControlName=\"canStartCase\">\n {{ 'ikoManagement.canStartCase' | translate }}\n </cds-checkbox>\n\n <cds-text-label class=\"valtimo-widget-management-interactive-table__row-action\">\n {{ 'ikoManagement.rowAction' | translate }}\n\n <input\n formControlName=\"rowClickAction\"\n cdsText\n cdsLayer=\"1\"\n [placeholder]=\"'ikoManagement.rowAction' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n\n <valtimo-carbon-multi-input\n type=\"keyValue\"\n formControlName=\"actions\"\n [addRowText]=\"'Add external link' | translate\"\n [keyColumnTitle]=\"'interface.name' | translate\"\n [minimumAmountOfRows]=\"0\"\n [valueColumnTitle]=\"'interface.url' | translate\"\n ></valtimo-carbon-multi-input>\n </form>\n</valtimo-widget-management-table>\n", styles: [".valtimo-widget-management-interactive-table__form,.valtimo-widget-management-interactive-table__form>div{display:flex;flex-direction:column;gap:16px}.valtimo-widget-management-interactive-table__external-links-row{display:grid;grid-template-columns:1fr 1fr 56px;gap:16px;align-items:self-end;padding:12px 16px 16px}.valtimo-widget-management-interactive-table valtimo-key-value{width:100%!important}.valtimo-widget-management-interactive-table .v-multi-input__row{padding:12px 16px 16px}.valtimo-widget-management-interactive-table__row-action{padding:16px;background-color:var(--cds-layer-01)}.valtimo-widget-management-interactive-table .v-multi-input__row{padding:12px 16px 16px;background-color:var(--cds-layer-01)}.valtimo-widget-management-interactive-table .cds--text-input,.valtimo-widget-management-interactive-table .cds--list-box{background:var(--cds-layer-02)}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$
|
|
6384
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: WidgetManagementInteractiveTableComponent, isStandalone: true, selector: "ng-component", host: { properties: { "class": "this.class" } }, 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<valtimo-widget-management-table [showFirstColumnOption]=\"false\" [sortableColumns]=\"true\">\n <ng-content></ng-content>\n\n <form [formGroup]=\"formGroup\" class=\"valtimo-widget-management-interactive-table__form\">\n <cds-checkbox formControlName=\"canStartCase\">\n {{ 'ikoManagement.canStartCase' | translate }}\n </cds-checkbox>\n\n <cds-text-label class=\"valtimo-widget-management-interactive-table__row-action\">\n {{ 'ikoManagement.rowAction' | translate }}\n\n <input\n formControlName=\"rowClickAction\"\n cdsText\n cdsLayer=\"1\"\n [placeholder]=\"'ikoManagement.rowAction' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n\n <valtimo-carbon-multi-input\n type=\"keyValue\"\n formControlName=\"actions\"\n [addRowText]=\"'Add external link' | translate\"\n [keyColumnTitle]=\"'interface.name' | translate\"\n [minimumAmountOfRows]=\"0\"\n [valueColumnTitle]=\"'interface.url' | translate\"\n ></valtimo-carbon-multi-input>\n </form>\n</valtimo-widget-management-table>\n", styles: [".valtimo-widget-management-interactive-table__form,.valtimo-widget-management-interactive-table__form>div{display:flex;flex-direction:column;gap:16px}.valtimo-widget-management-interactive-table__external-links-row{display:grid;grid-template-columns:1fr 1fr 56px;gap:16px;align-items:self-end;padding:12px 16px 16px}.valtimo-widget-management-interactive-table valtimo-key-value{width:100%!important}.valtimo-widget-management-interactive-table .v-multi-input__row{padding:12px 16px 16px}.valtimo-widget-management-interactive-table__row-action{padding:16px;background-color:var(--cds-layer-01)}.valtimo-widget-management-interactive-table .v-multi-input__row{padding:12px 16px 16px;background-color:var(--cds-layer-01)}.valtimo-widget-management-interactive-table .cds--text-input,.valtimo-widget-management-interactive-table .cds--list-box{background:var(--cds-layer-02)}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.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$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: WidgetManagementTableComponent, selector: "valtimo-widget-management-table", inputs: ["showFirstColumnOption", "sortableColumns"] }, { kind: "ngmodule", type: CheckboxModule }, { kind: "component", type: i3.Checkbox, selector: "cds-checkbox, ibm-checkbox", inputs: ["disabled", "skeleton", "hideLabel", "name", "id", "required", "value", "ariaLabel", "ariaLabelledby", "indeterminate", "checked"], outputs: ["click", "checkedChange", "indeterminateChange"] }, { kind: "ngmodule", type: IconModule }, { kind: "ngmodule", type: CarbonMultiInputModule }, { kind: "component", type: i1$1.CarbonMultiInputComponent, selector: "valtimo-carbon-multi-input", inputs: ["addRowText", "addButtonType", "addRowTranslationKey", "arbitraryAmountTitles", "arbitraryValueAmount", "defaultValues", "deleteRowText", "deleteRowTranslationKey", "disabled", "dropdownColumnTitle", "dropdownItems", "dropdownWidth", "fullWidth", "hideAddButton", "hideDeleteButton", "initialAmountOfRows", "keyColumnTitle", "margin", "maxRows", "minimumAmountOfRows", "name", "required", "title", "titleTranslationKey", "tooltip", "type", "valueColumnTitle", "valuePathSelectorCaseDefinitionKey", "valuePathSelectorPrefixes", "valuePathSelectorShowCaseDefinitionSelector", "valuePathSelectorNotation", "keyColumnFlex", "dropdownColumnFlex", "valueColumnFlex"], outputs: ["valueChange", "allValuesValidEvent"] }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i3.TextInputLabelComponent, selector: "cds-text-label, ibm-text-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "textInputTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel", "fluid"] }, { kind: "directive", type: i3.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: LayerModule }, { kind: "directive", type: i3.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
5552
6385
|
}
|
|
5553
6386
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetManagementInteractiveTableComponent, decorators: [{
|
|
5554
6387
|
type: Component,
|
|
@@ -5661,8 +6494,8 @@ class WidgetManagementWidgetFormioComponent {
|
|
|
5661
6494
|
this._selectedFormDefinitionId$.next(formDefinitionId);
|
|
5662
6495
|
this.widgetWizardService.$widgetContentValid.set(true);
|
|
5663
6496
|
}
|
|
5664
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetManagementWidgetFormioComponent, deps: [{ token: i1.CdsThemeService }, { token: i1$3.FormBuilder }, { token: WidgetWizardService }, { token: i1$2.FormService }, { token: WIDGET_MANAGEMENT_SERVICE }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5665
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: WidgetManagementWidgetFormioComponent, isStandalone: true, selector: "ng-component", 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<form\n class=\"valtimo-case-management-widget-formio\"\n [formGroup]=\"form\"\n [attr.data-carbon-theme]=\"theme$ | async\"\n>\n <div class=\"valtimo-case-management-widget-formio__title-container\">\n <cds-text-label\n class=\"valtimo-case-management-widget-field__input valtimo-case-management-widget-formio__title-input\"\n >\n <v-input-label\n [title]=\"'widgetTabManagement.content.widgetTitle' | translate\"\n [tooltip]=\"'widgetTabManagement.content.widgetTitleTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n formControlName=\"widgetTitle\"\n cdsText\n [placeholder]=\"'widgetTabManagement.content.widgetTitlePlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n\n <valtimo-mdi-icon-selector\n [cdsLayer]=\"0\"\n formControlName=\"widgetIcon\"\n ></valtimo-mdi-icon-selector>\n </div>\n\n <ng-content></ng-content>\n\n <cds-label class=\"dropdown-label\">\n {{ 'widgetTabManagement.content.formio.selectForm' | translate }}\n\n <cds-dropdown\n *ngIf=\"formListItems$ | async as formListItems\"\n [appendInline]=\"false\"\n [placeholder]=\"'widgetTabManagement.content.formio.placeholder' | translate\"\n [disabled]=\"formListItems.length === 0\"\n [dropUp]=\"false\"\n (selected)=\"componentDropDownChange($event)\"\n >\n <cds-dropdown-list [items]=\"formListItems\"> </cds-dropdown-list>\n </cds-dropdown>\n </cds-label>\n</form>\n", styles: [".valtimo-case-management-widget-formio{display:flex;flex-direction:column;gap:16px;padding:16px}.valtimo-case-management-widget-formio__title-container{display:flex;gap:16px}.valtimo-case-management-widget-formio__title-input{max-width:300px}.valtimo-case-management-widget-formio ::ng-deep>*{padding:16px;background:var(--cds-layer-02)}.valtimo-case-management-widget-formio ::ng-deep .cds--list-box,.valtimo-case-management-widget-formio ::ng-deep .cds--text-input{background:var(--cds-layer)}.valtimo-case-management-widget-formio ::ng-deep .dropdown-label label{display:flex;flex-direction:column;width:100%}.valtimo-case-management-widget-formio ::ng-deep .dropdown-label cds-dropdown{margin-top:8px}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$
|
|
6497
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetManagementWidgetFormioComponent, deps: [{ token: i1$1.CdsThemeService }, { token: i1$3.FormBuilder }, { token: WidgetWizardService }, { token: i1$2.FormService }, { token: WIDGET_MANAGEMENT_SERVICE }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
6498
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: WidgetManagementWidgetFormioComponent, isStandalone: true, selector: "ng-component", 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<form\n class=\"valtimo-case-management-widget-formio\"\n [formGroup]=\"form\"\n [attr.data-carbon-theme]=\"theme$ | async\"\n>\n <div class=\"valtimo-case-management-widget-formio__title-container\">\n <cds-text-label\n class=\"valtimo-case-management-widget-field__input valtimo-case-management-widget-formio__title-input\"\n >\n <v-input-label\n [title]=\"'widgetTabManagement.content.widgetTitle' | translate\"\n [tooltip]=\"'widgetTabManagement.content.widgetTitleTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n formControlName=\"widgetTitle\"\n cdsText\n [placeholder]=\"'widgetTabManagement.content.widgetTitlePlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n\n <valtimo-mdi-icon-selector\n [cdsLayer]=\"0\"\n formControlName=\"widgetIcon\"\n ></valtimo-mdi-icon-selector>\n </div>\n\n <ng-content></ng-content>\n\n <cds-label class=\"dropdown-label\">\n {{ 'widgetTabManagement.content.formio.selectForm' | translate }}\n\n <cds-dropdown\n *ngIf=\"formListItems$ | async as formListItems\"\n [appendInline]=\"false\"\n [placeholder]=\"'widgetTabManagement.content.formio.placeholder' | translate\"\n [disabled]=\"formListItems.length === 0\"\n [dropUp]=\"false\"\n (selected)=\"componentDropDownChange($event)\"\n >\n <cds-dropdown-list [items]=\"formListItems\"> </cds-dropdown-list>\n </cds-dropdown>\n </cds-label>\n</form>\n", styles: [".valtimo-case-management-widget-formio{display:flex;flex-direction:column;gap:16px;padding:16px}.valtimo-case-management-widget-formio__title-container{display:flex;gap:16px}.valtimo-case-management-widget-formio__title-input{max-width:300px}.valtimo-case-management-widget-formio ::ng-deep>*{padding:16px;background:var(--cds-layer-02)}.valtimo-case-management-widget-formio ::ng-deep .cds--list-box,.valtimo-case-management-widget-formio ::ng-deep .cds--text-input{background:var(--cds-layer)}.valtimo-case-management-widget-formio ::ng-deep .dropdown-label label{display:flex;flex-direction:column;width:100%}.valtimo-case-management-widget-formio ::ng-deep .dropdown-label cds-dropdown{margin-top:8px}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i3.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "component", type: i3.TextInputLabelComponent, selector: "cds-text-label, ibm-text-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "textInputTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel", "fluid"] }, { kind: "directive", type: i3.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.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$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: SelectModule$1 }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i7.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: i7.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "ngmodule", type: InputLabelModule }, { kind: "component", type: i1$1.InputLabelComponent, selector: "v-input-label", inputs: ["name", "tooltip", "tooltipTranslationKey", "largeMargin", "small", "noMargin", "title", "titleTranslationKey", "required", "disabled", "carbonTheme"] }, { kind: "component", type: MdiIconSelectorComponent, selector: "valtimo-mdi-icon-selector", inputs: ["labelTranslationKey", "tooltipTranslationKey", "placeholderTranslationKey", "appendInline", "dropUp"] }, { kind: "ngmodule", type: LayerModule }, { kind: "directive", type: i3.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
5666
6499
|
}
|
|
5667
6500
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetManagementWidgetFormioComponent, decorators: [{
|
|
5668
6501
|
type: Component,
|
|
@@ -5677,7 +6510,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
5677
6510
|
MdiIconSelectorComponent,
|
|
5678
6511
|
LayerModule,
|
|
5679
6512
|
], 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<form\n class=\"valtimo-case-management-widget-formio\"\n [formGroup]=\"form\"\n [attr.data-carbon-theme]=\"theme$ | async\"\n>\n <div class=\"valtimo-case-management-widget-formio__title-container\">\n <cds-text-label\n class=\"valtimo-case-management-widget-field__input valtimo-case-management-widget-formio__title-input\"\n >\n <v-input-label\n [title]=\"'widgetTabManagement.content.widgetTitle' | translate\"\n [tooltip]=\"'widgetTabManagement.content.widgetTitleTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n formControlName=\"widgetTitle\"\n cdsText\n [placeholder]=\"'widgetTabManagement.content.widgetTitlePlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n\n <valtimo-mdi-icon-selector\n [cdsLayer]=\"0\"\n formControlName=\"widgetIcon\"\n ></valtimo-mdi-icon-selector>\n </div>\n\n <ng-content></ng-content>\n\n <cds-label class=\"dropdown-label\">\n {{ 'widgetTabManagement.content.formio.selectForm' | translate }}\n\n <cds-dropdown\n *ngIf=\"formListItems$ | async as formListItems\"\n [appendInline]=\"false\"\n [placeholder]=\"'widgetTabManagement.content.formio.placeholder' | translate\"\n [disabled]=\"formListItems.length === 0\"\n [dropUp]=\"false\"\n (selected)=\"componentDropDownChange($event)\"\n >\n <cds-dropdown-list [items]=\"formListItems\"> </cds-dropdown-list>\n </cds-dropdown>\n </cds-label>\n</form>\n", styles: [".valtimo-case-management-widget-formio{display:flex;flex-direction:column;gap:16px;padding:16px}.valtimo-case-management-widget-formio__title-container{display:flex;gap:16px}.valtimo-case-management-widget-formio__title-input{max-width:300px}.valtimo-case-management-widget-formio ::ng-deep>*{padding:16px;background:var(--cds-layer-02)}.valtimo-case-management-widget-formio ::ng-deep .cds--list-box,.valtimo-case-management-widget-formio ::ng-deep .cds--text-input{background:var(--cds-layer)}.valtimo-case-management-widget-formio ::ng-deep .dropdown-label label{display:flex;flex-direction:column;width:100%}.valtimo-case-management-widget-formio ::ng-deep .dropdown-label cds-dropdown{margin-top:8px}\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"] }]
|
|
5680
|
-
}], ctorParameters: () => [{ type: i1.CdsThemeService }, { type: i1$3.FormBuilder }, { type: WidgetWizardService }, { type: i1$2.FormService }, { type: undefined, decorators: [{
|
|
6513
|
+
}], ctorParameters: () => [{ type: i1$1.CdsThemeService }, { type: i1$3.FormBuilder }, { type: WidgetWizardService }, { type: i1$2.FormService }, { type: undefined, decorators: [{
|
|
5681
6514
|
type: Inject,
|
|
5682
6515
|
args: [WIDGET_MANAGEMENT_SERVICE]
|
|
5683
6516
|
}] }] });
|
|
@@ -5762,6 +6595,27 @@ const AVAILABLE_WIDGETS = [
|
|
|
5762
6595
|
type: WidgetType.MAP,
|
|
5763
6596
|
component: WidgetManagementMapComponent,
|
|
5764
6597
|
},
|
|
6598
|
+
{
|
|
6599
|
+
titleKey: 'widgetTabManagement.type.metroline.title',
|
|
6600
|
+
descriptionKey: 'widgetTabManagement.type.metroline.description',
|
|
6601
|
+
illustrationUrl: 'valtimo-layout/img/widget-management/types/metroline.svg',
|
|
6602
|
+
type: WidgetType.METROLINE,
|
|
6603
|
+
component: WidgetManagementMetrolineComponent,
|
|
6604
|
+
},
|
|
6605
|
+
{
|
|
6606
|
+
titleKey: 'widgetTabManagement.type.person-card.title',
|
|
6607
|
+
descriptionKey: 'widgetTabManagement.type.person-card.description',
|
|
6608
|
+
illustrationUrl: 'valtimo-layout/img/widget-management/types/person.svg',
|
|
6609
|
+
type: WidgetType.PERSON_CARD,
|
|
6610
|
+
component: WidgetManagementPersonCardComponent,
|
|
6611
|
+
},
|
|
6612
|
+
{
|
|
6613
|
+
titleKey: 'widgetTabManagement.type.highlight.title',
|
|
6614
|
+
descriptionKey: 'widgetTabManagement.type.highlight.description',
|
|
6615
|
+
illustrationUrl: 'valtimo-layout/img/widget-management/types/highlight.svg',
|
|
6616
|
+
type: WidgetType.HIGHLIGHT,
|
|
6617
|
+
component: WidgetManagementHighlightComponent,
|
|
6618
|
+
},
|
|
5765
6619
|
];
|
|
5766
6620
|
const WIDGET_WIDTH_LABELS = {
|
|
5767
6621
|
1: 'widgetTabManagement.width.small.title',
|
|
@@ -5915,7 +6769,7 @@ class WidgetFieldsService {
|
|
|
5915
6769
|
break;
|
|
5916
6770
|
}
|
|
5917
6771
|
}
|
|
5918
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetFieldsService, deps: [{ token: i1$3.FormBuilder }, { token: i2$
|
|
6772
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetFieldsService, deps: [{ token: i1$3.FormBuilder }, { token: i2$2.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
5919
6773
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetFieldsService, providedIn: 'root' }); }
|
|
5920
6774
|
}
|
|
5921
6775
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetFieldsService, decorators: [{
|
|
@@ -5923,7 +6777,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
5923
6777
|
args: [{
|
|
5924
6778
|
providedIn: 'root',
|
|
5925
6779
|
}]
|
|
5926
|
-
}], ctorParameters: () => [{ type: i1$3.FormBuilder }, { type: i2$
|
|
6780
|
+
}], ctorParameters: () => [{ type: i1$3.FormBuilder }, { type: i2$2.TranslateService }] });
|
|
5927
6781
|
|
|
5928
6782
|
/*
|
|
5929
6783
|
* Copyright 2015-2026 Ritense BV, the Netherlands.
|
|
@@ -6014,7 +6868,7 @@ class WidgetInteractiveTableService {
|
|
|
6014
6868
|
isIkoParams(params) {
|
|
6015
6869
|
return typeof params === 'object' && params !== null && 'aggregateKey' in params;
|
|
6016
6870
|
}
|
|
6017
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetInteractiveTableService, deps: [{ token: i2$
|
|
6871
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetInteractiveTableService, deps: [{ token: i2$3.DocumentService }, { token: i1.HttpClient }, { token: i2.ConfigService }, { token: i1$3.FormBuilder }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
6018
6872
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetInteractiveTableService, providedIn: 'root' }); }
|
|
6019
6873
|
}
|
|
6020
6874
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetInteractiveTableService, decorators: [{
|
|
@@ -6022,7 +6876,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
6022
6876
|
args: [{
|
|
6023
6877
|
providedIn: 'root',
|
|
6024
6878
|
}]
|
|
6025
|
-
}], ctorParameters: () => [{ type: i2$
|
|
6879
|
+
}], ctorParameters: () => [{ type: i2$3.DocumentService }, { type: i1.HttpClient }, { type: i2.ConfigService }, { type: i1$3.FormBuilder }] });
|
|
6026
6880
|
|
|
6027
6881
|
/*
|
|
6028
6882
|
* Copyright 2015-2025 Ritense BV, the Netherlands.
|
|
@@ -6126,7 +6980,7 @@ const routes = [
|
|
|
6126
6980
|
];
|
|
6127
6981
|
class TranslationManagementRoutingModule {
|
|
6128
6982
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TranslationManagementRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
6129
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.20", ngImport: i0, type: TranslationManagementRoutingModule, imports: [i2.RouterModule], exports: [RouterModule] }); }
|
|
6983
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.20", ngImport: i0, type: TranslationManagementRoutingModule, imports: [i2$1.RouterModule], exports: [RouterModule] }); }
|
|
6130
6984
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TranslationManagementRoutingModule, imports: [RouterModule.forChild(routes), RouterModule] }); }
|
|
6131
6985
|
}
|
|
6132
6986
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TranslationManagementRoutingModule, decorators: [{
|
|
@@ -6245,5 +7099,5 @@ class ManagementWidgetDetailsComponent {
|
|
|
6245
7099
|
* Generated bundle index. Do not edit.
|
|
6246
7100
|
*/
|
|
6247
7101
|
|
|
6248
|
-
export { AVAILABLE_WIDGETS, CUSTOM_WIDGET_TOKEN, DEFAULT_WIDGET_COMPONENT_MAP, FilterDropdownDataProvider, LayoutComponent, LayoutInternalComponent, LayoutModule, LayoutPublicComponent, LayoutService, ManagementWidgetDetailsComponent, TranslationManagementComponent, TranslationManagementModule, WIDGET_COLOR_ILLUSTRATION_MAP, WIDGET_COLOR_ITEMS, WIDGET_COLOR_LABELS, WIDGET_COLOR_THEME_MAP, WIDGET_CONTENT_FIELDS_TEST_IDS, WIDGET_DENSITY_LABELS, WIDGET_DIVIDER_MODAL_TEST_IDS, WIDGET_EDITOR_TEST_IDS, WIDGET_HEIGHT_1X, WIDGET_MANAGEMENT_SERVICE, WIDGET_WIDTH_1X, WIDGET_WIDTH_LABELS, WIDGET_WIZARD_APPEARANCE_TEST_IDS, WIDGET_WIZARD_DENSITY_TEST_IDS, WIDGET_WIZARD_TEST_IDS, WIDGET_WIZARD_TYPE_TEST_IDS, WIDGET_WIZARD_WIDTH_TEST_IDS, WIZARD_STEP_COMPONENTS, WidgetActionButtonComponent, WidgetBlockComponent, WidgetCollectionComponent, WidgetColor, WidgetContainerComponent, WidgetCustomComponent, WidgetDensity, WidgetDisplayTypeKey, WidgetFieldComponent, WidgetFieldsService, WidgetFormioComponent, WidgetInteractiveTableComponent, WidgetInteractiveTableSearchComponent, WidgetInteractiveTableService, WidgetLayoutService, WidgetManagementCollectionComponent, WidgetManagementComponent, WidgetManagementCustomComponent, WidgetManagementEditorComponent, WidgetManagementFieldsComponent, WidgetManagementMapComponent, WidgetManagementTab, WidgetManagementTableComponent, WidgetManagementWizardComponent, WidgetMapComponent, WidgetTableComponent, WidgetType, WidgetTypeTags, WidgetWizardCloseEventType, WidgetWizardService, WidgetWizardStep };
|
|
7102
|
+
export { AVAILABLE_WIDGETS, AVATAR_COLOR_PALETTE, CUSTOM_WIDGET_TOKEN, DEFAULT_WIDGET_COMPONENT_MAP, FilterDropdownDataProvider, HighlightDisplayType, LayoutComponent, LayoutInternalComponent, LayoutModule, LayoutPublicComponent, LayoutService, METROLINE_MODE_OPTIONS, METROLINE_MODE_TRANSLATION_KEYS, METROLINE_SKELETON_STEP_COUNT, METROLINE_STEP_ICONS, METROLINE_STEP_STATE_TRANSLATION_KEYS, ManagementWidgetDetailsComponent, MetrolineMode, MetrolineOrientation, MetrolineStepState, MetrolineWidgetApiService, TranslationManagementComponent, TranslationManagementModule, WIDGET_COLOR_ILLUSTRATION_MAP, WIDGET_COLOR_ITEMS, WIDGET_COLOR_LABELS, WIDGET_COLOR_THEME_MAP, WIDGET_COLOR_TO_TAG_TYPE, WIDGET_CONTENT_FIELDS_TEST_IDS, WIDGET_CONTENT_METROLINE_TEST_IDS, WIDGET_CONTENT_PERSON_CARD_TEST_IDS, WIDGET_DENSITY_LABELS, WIDGET_DIVIDER_MODAL_TEST_IDS, WIDGET_EDITOR_TEST_IDS, WIDGET_HEIGHT_1X, WIDGET_MANAGEMENT_SERVICE, WIDGET_WIDTH_1X, WIDGET_WIDTH_LABELS, WIDGET_WIZARD_APPEARANCE_TEST_IDS, WIDGET_WIZARD_DENSITY_TEST_IDS, WIDGET_WIZARD_TEST_IDS, WIDGET_WIZARD_TYPE_TEST_IDS, WIDGET_WIZARD_WIDTH_TEST_IDS, WIZARD_STEP_COMPONENTS, WidgetActionButtonComponent, WidgetBlockComponent, WidgetCollectionComponent, WidgetColor, WidgetContainerComponent, WidgetCustomComponent, WidgetDensity, WidgetDisplayTypeKey, WidgetFieldComponent, WidgetFieldsService, WidgetFormioComponent, WidgetHighlightComponent, WidgetInteractiveTableComponent, WidgetInteractiveTableSearchComponent, WidgetInteractiveTableService, WidgetLayoutService, WidgetManagementCollectionComponent, WidgetManagementComponent, WidgetManagementCustomComponent, WidgetManagementEditorComponent, WidgetManagementFieldsComponent, WidgetManagementHighlightComponent, WidgetManagementMapComponent, WidgetManagementMetrolineComponent, WidgetManagementPersonCardComponent, WidgetManagementTab, WidgetManagementTableComponent, WidgetManagementWizardComponent, WidgetMapComponent, WidgetMetrolineComponent, WidgetPersonCardComponent, WidgetTableComponent, WidgetType, WidgetTypeTags, WidgetWizardCloseEventType, WidgetWizardService, WidgetWizardStep };
|
|
6249
7103
|
//# sourceMappingURL=valtimo-layout.mjs.map
|