@valtimo/iko 13.48.0 → 13.49.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/valtimo-iko.mjs +78 -22
- package/fesm2022/valtimo-iko.mjs.map +1 -1
- package/lib/components/iko-list/iko-list.component.d.ts +1 -0
- package/lib/components/iko-list/iko-list.component.d.ts.map +1 -1
- package/lib/components/tabs/iko-widget/iko-widget.component.d.ts +3 -0
- package/lib/components/tabs/iko-widget/iko-widget.component.d.ts.map +1 -1
- package/lib/components/widget-collection/iko-widget-collection.component.d.ts +1 -0
- package/lib/components/widget-collection/iko-widget-collection.component.d.ts.map +1 -1
- package/lib/components/widget-custom/iko-widget-custom.component.d.ts +1 -1
- package/lib/components/widget-custom/iko-widget-custom.component.d.ts.map +1 -1
- package/lib/components/widget-field/iko-widget-field.component.d.ts +1 -1
- package/lib/components/widget-field/iko-widget-field.component.d.ts.map +1 -1
- package/lib/components/widget-formio/iko-widget-formio.component.d.ts +1 -1
- package/lib/components/widget-formio/iko-widget-formio.component.d.ts.map +1 -1
- package/lib/components/widget-interactive-table/iko-widget-interactive-table.component.d.ts +1 -0
- package/lib/components/widget-interactive-table/iko-widget-interactive-table.component.d.ts.map +1 -1
- package/lib/components/widget-map/iko-widget-map.component.d.ts +1 -1
- package/lib/components/widget-map/iko-widget-map.component.d.ts.map +1 -1
- package/lib/components/widget-metroline/iko-widget-metroline.component.d.ts +1 -1
- package/lib/components/widget-metroline/iko-widget-metroline.component.d.ts.map +1 -1
- package/lib/components/widget-table/iko-widget-table.component.d.ts +1 -0
- package/lib/components/widget-table/iko-widget-table.component.d.ts.map +1 -1
- package/lib/services/iko-api.service.d.ts +1 -0
- package/lib/services/iko-api.service.d.ts.map +1 -1
- package/package.json +1 -1
package/fesm2022/valtimo-iko.mjs
CHANGED
|
@@ -11,11 +11,11 @@ import * as i2$1 from '@valtimo/components';
|
|
|
11
11
|
import { CarbonListModule, FormIoModule, FitPageDirective, RenderInPageHeaderDirective, SelectModule, CARBON_CONSTANTS, ValtimoCdsModalDirective, AutoKeyInputComponent, ViewType, ConfirmationModalModule, runAfterCarbonModalClosed, CarbonMultiInputModule, InputLabelModule, WidgetLayout, WIDGET_LAYOUT_VALUES, WIDGET_LAYOUT_TRANSLATION_KEYS, WidgetLayoutInfoComponent, ValuePathSelectorPrefix, InputModule as InputModule$1, DatePickerModule, ParagraphModule, DateTimePickerComponent, FormModule, registerCustomFormioComponent } from '@valtimo/components';
|
|
12
12
|
import * as i6 from 'carbon-components-angular';
|
|
13
13
|
import { InputModule, PaginationModule, TilesModule, ButtonModule, ModalModule, TabsModule, IconModule, LayerModule, TooltipModule, LoadingModule, ToggleModule, NumberModule, DropdownModule, ProgressBarModule, CheckboxModule, FileUploaderModule, NotificationModule, TimePickerModule } from 'carbon-components-angular';
|
|
14
|
-
import { BehaviorSubject, filter, of, switchMap, combineLatest, distinctUntilChanged, tap, map as map$1, ReplaySubject, take, Subscription, delay
|
|
15
|
-
import * as i1$2 from '@valtimo/layout';
|
|
16
|
-
import { WidgetCollectionComponent, WidgetCustomComponent, WidgetFieldComponent, WidgetFormioComponent, WidgetInteractiveTableComponent, WidgetTableComponent, WidgetMapComponent, WidgetMetrolineComponent, WidgetType, WidgetContainerComponent, WidgetDataGroupService, ManagementWidgetDetailsComponent, WIDGET_MANAGEMENT_SERVICE, WidgetManagementComponent } from '@valtimo/layout';
|
|
14
|
+
import { BehaviorSubject, filter, of, switchMap, startWith, combineLatest, distinctUntilChanged, tap, map as map$1, catchError, ReplaySubject, take, Subscription, delay } from 'rxjs';
|
|
17
15
|
import * as i5 from '@ngx-translate/core';
|
|
18
16
|
import { TranslateModule, TranslatePipe } from '@ngx-translate/core';
|
|
17
|
+
import * as i1$2 from '@valtimo/layout';
|
|
18
|
+
import { catchWidgetDataError, WidgetCollectionComponent, groupWidgetData, WidgetCustomComponent, WidgetFieldComponent, WidgetFormioComponent, WidgetInteractiveTableComponent, WidgetTableComponent, WidgetMapComponent, WidgetMetrolineComponent, WidgetType, WidgetContainerComponent, WidgetDataGroupService, ManagementWidgetDetailsComponent, WIDGET_MANAGEMENT_SERVICE, WidgetManagementComponent } from '@valtimo/layout';
|
|
19
19
|
import * as i1 from '@angular/common/http';
|
|
20
20
|
import { HttpHeaders, HttpParams } from '@angular/common/http';
|
|
21
21
|
import { map, take as take$1 } from 'rxjs/operators';
|
|
@@ -56,6 +56,7 @@ class IkoApiService extends BaseApiService {
|
|
|
56
56
|
this.configService = configService;
|
|
57
57
|
this.globalNotificationService = globalNotificationService;
|
|
58
58
|
this.router = router;
|
|
59
|
+
this.WIDGET_DATA_SKIP_TOAST_STATUSES = '500,502,503,504';
|
|
59
60
|
this._cachedMenuItems$ = new BehaviorSubject([]);
|
|
60
61
|
}
|
|
61
62
|
getIkoViews(key, title, page = 0, size = 10000, sort = 'title,asc') {
|
|
@@ -79,14 +80,19 @@ class IkoApiService extends BaseApiService {
|
|
|
79
80
|
return this.httpClient.get(this.getApiUrl(`/v1/iko-view/${ikoViewKey}/tab/${tabKey}/widget`));
|
|
80
81
|
}
|
|
81
82
|
getIkoWidgetData(ikoViewKey, tabKey, widgetId, id, queryParams) {
|
|
82
|
-
return this.httpClient.get(this.getApiUrl(`/v1/iko-view/${ikoViewKey}/tab/${tabKey}/widget/${widgetId}/data?id=${id}${!queryParams ? '' : '&' + queryParams.toString()}`)
|
|
83
|
+
return this.httpClient.get(this.getApiUrl(`/v1/iko-view/${ikoViewKey}/tab/${tabKey}/widget/${widgetId}/data?id=${id}${!queryParams ? '' : '&' + queryParams.toString()}`), {
|
|
84
|
+
headers: new HttpHeaders().set(InterceptorSkip, this.WIDGET_DATA_SKIP_TOAST_STATUSES),
|
|
85
|
+
});
|
|
83
86
|
}
|
|
84
87
|
/** Every widget in the group in one request. Paging and filtering use getIkoWidgetData. */
|
|
85
88
|
getIkoWidgetDataGroup(ikoViewKey, tabKey, group, id) {
|
|
86
89
|
const params = new HttpParams().set('group', group).set('id', id);
|
|
87
90
|
return this.httpClient.get(this.getApiUrl(`/v1/iko-view/${ikoViewKey}/tab/${tabKey}/widget/data?${params.toString()}`),
|
|
88
|
-
// An unrecognised group falls back to per-widget requests
|
|
89
|
-
|
|
91
|
+
// An unrecognised group falls back to per-widget requests, and the widgets of a group that
|
|
92
|
+
// could not be filled say so themselves — neither warrants a global error toast
|
|
93
|
+
{
|
|
94
|
+
headers: new HttpHeaders().set(InterceptorSkip, `404,${this.WIDGET_DATA_SKIP_TOAST_STATUSES}`),
|
|
95
|
+
});
|
|
90
96
|
}
|
|
91
97
|
searchIkoSearchAction(ikoKey, paramKey, filters) {
|
|
92
98
|
return this.httpClient.post(this.getApiUrl(`/v1/iko-view/${ikoKey}/search-action/${paramKey}/search`), filters);
|
|
@@ -575,13 +581,17 @@ class IkoWidgetCollectionComponent {
|
|
|
575
581
|
this._widgetParams$ = new BehaviorSubject(null);
|
|
576
582
|
this.widgetConfiguration$ = new BehaviorSubject(null);
|
|
577
583
|
this._queryParams$ = new BehaviorSubject(new HttpParams());
|
|
584
|
+
this._reloadWidgetData$ = this.widgetLayoutService.widgetDataReload$.pipe(filter(uuid => uuid === this.widgetUuid), startWith(null));
|
|
578
585
|
this.widgetData$ = combineLatest([
|
|
579
586
|
this.widgetConfiguration$,
|
|
580
587
|
this._widgetParams$,
|
|
581
588
|
this._queryParams$.pipe(distinctUntilChanged((prevParams, currParams) => prevParams.toString() === currParams.toString())),
|
|
589
|
+
this._reloadWidgetData$,
|
|
582
590
|
]).pipe(switchMap(([widgetConfiguration, widgetParams, queryParams]) => !widgetParams || !widgetConfiguration
|
|
583
591
|
? of(null)
|
|
584
|
-
: this.ikoApiService
|
|
592
|
+
: this.ikoApiService
|
|
593
|
+
.getIkoWidgetData(widgetParams.ikoViewKey, widgetParams.tabKey, widgetConfiguration.key, widgetParams.entryId, queryParams)
|
|
594
|
+
.pipe(catchWidgetDataError(this.widgetLayoutService, () => this.widgetUuid))), tap(() => this.widgetLayoutService.setWidgetDataLoaded(this.widgetUuid)));
|
|
585
595
|
}
|
|
586
596
|
onPaginationEvent(event) {
|
|
587
597
|
this._queryParams$.next(new HttpParams()
|
|
@@ -655,7 +665,9 @@ class IkoWidgetCustomComponent {
|
|
|
655
665
|
this.widgetDataGroupService = widgetDataGroupService;
|
|
656
666
|
this.widgetLayoutService = widgetLayoutService;
|
|
657
667
|
this._widgetConfigSubject$ = new BehaviorSubject(null);
|
|
658
|
-
this.widgetData$ = this._widgetConfigSubject$.pipe(switchMap(widgetConfiguration => !widgetConfiguration
|
|
668
|
+
this.widgetData$ = this._widgetConfigSubject$.pipe(switchMap(widgetConfiguration => !widgetConfiguration
|
|
669
|
+
? of(null)
|
|
670
|
+
: groupWidgetData(this.widgetDataGroupService, this.widgetLayoutService, widgetConfiguration.key, () => this.widgetUuid)), tap(() => this.widgetLayoutService.setWidgetDataLoaded(this.widgetUuid)));
|
|
659
671
|
}
|
|
660
672
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IkoWidgetCustomComponent, deps: [{ token: i1$2.WidgetDataGroupService }, { token: i1$2.WidgetLayoutService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
661
673
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: IkoWidgetCustomComponent, isStandalone: true, selector: "valtimo-iko-widget-custom", inputs: { widgetConfiguration: "widgetConfiguration", widgetUuid: "widgetUuid" }, 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-widget-custom\n *ngIf=\"{\n widgetConfiguration: widgetConfig$ | async,\n widgetData: widgetData$ | async,\n } as obs\"\n [widgetConfiguration]=\"obs.widgetConfiguration\"\n [widgetData]=\"obs.widgetData\"\n [widgetUuid]=\"widgetUuid\"\n>\n</valtimo-widget-custom>\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: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: WidgetCustomComponent, selector: "valtimo-widget-custom", inputs: ["widgetConfiguration", "widgetData", "widgetUuid"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
@@ -710,7 +722,9 @@ class IkoWidgetFieldComponent {
|
|
|
710
722
|
this.widgetDataGroupService = widgetDataGroupService;
|
|
711
723
|
this.widgetLayoutService = widgetLayoutService;
|
|
712
724
|
this.widgetConfiguration$ = new BehaviorSubject(null);
|
|
713
|
-
this.widgetData$ = this.widgetConfiguration$.pipe(switchMap(widgetConfiguration => !widgetConfiguration
|
|
725
|
+
this.widgetData$ = this.widgetConfiguration$.pipe(switchMap(widgetConfiguration => !widgetConfiguration
|
|
726
|
+
? of(null)
|
|
727
|
+
: groupWidgetData(this.widgetDataGroupService, this.widgetLayoutService, widgetConfiguration.key, () => this.widgetUuid)), tap(() => this.widgetLayoutService.setWidgetDataLoaded(this.widgetUuid)));
|
|
714
728
|
}
|
|
715
729
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IkoWidgetFieldComponent, deps: [{ token: i1$2.WidgetDataGroupService }, { token: i1$2.WidgetLayoutService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
716
730
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: IkoWidgetFieldComponent, isStandalone: true, selector: "valtimo-iko-widget-field", inputs: { widgetConfiguration: "widgetConfiguration", widgetUuid: "widgetUuid" }, 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-widget-field\n [widgetConfiguration]=\"widgetConfiguration$ | async\"\n [widgetData]=\"widgetData$ | async\"\n>\n</valtimo-widget-field>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: InputModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: CarbonListModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: WidgetFieldComponent, selector: "valtimo-widget-field", inputs: ["widgetConfiguration", "widgetData"], outputs: ["noVisibleFieldsEvent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
@@ -776,7 +790,9 @@ class IkoWidgetFormioComponent {
|
|
|
776
790
|
this.widgetDataGroupService = widgetDataGroupService;
|
|
777
791
|
this.widgetLayoutService = widgetLayoutService;
|
|
778
792
|
this._widgetConfigurationSubject$ = new BehaviorSubject(null);
|
|
779
|
-
this.widgetData$ = this.widgetConfiguration$.pipe(switchMap(widgetConfiguration => !widgetConfiguration
|
|
793
|
+
this.widgetData$ = this.widgetConfiguration$.pipe(switchMap(widgetConfiguration => !widgetConfiguration
|
|
794
|
+
? of(null)
|
|
795
|
+
: groupWidgetData(this.widgetDataGroupService, this.widgetLayoutService, widgetConfiguration.key, () => this.widgetUuid)), tap(() => this.widgetLayoutService.setWidgetDataLoaded(this.widgetUuid)));
|
|
780
796
|
}
|
|
781
797
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IkoWidgetFormioComponent, deps: [{ token: i1$2.WidgetDataGroupService }, { token: i1$2.WidgetLayoutService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
782
798
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: IkoWidgetFormioComponent, isStandalone: true, selector: "valtimo-iko-widget-formio", inputs: { widgetConfiguration: "widgetConfiguration", widgetUuid: "widgetUuid" }, 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-widget-formio\n *ngIf=\"{\n widgetConfiguration: widgetConfiguration$ | async,\n widgetData: widgetData$ | async,\n } as obs\"\n [widgetConfiguration]=\"obs.widgetConfiguration\"\n [widgetData]=\"obs.widgetData\"\n [widgetUuid]=\"widgetUuid\"\n>\n</valtimo-widget-formio>\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: "ngmodule", type: ButtonModule }, { kind: "component", type: WidgetFormioComponent, selector: "valtimo-widget-formio", inputs: ["documentId", "widgetConfiguration", "widgetData", "widgetUuid", "refreshForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
@@ -839,14 +855,18 @@ class IkoWidgetInteractiveTableComponent {
|
|
|
839
855
|
this.widgetConfiguration$ = new BehaviorSubject(null);
|
|
840
856
|
this._widgetParams$ = new BehaviorSubject(null);
|
|
841
857
|
this._queryParams$ = new BehaviorSubject(new HttpParams());
|
|
858
|
+
this._reloadWidgetData$ = this.widgetLayoutService.widgetDataReload$.pipe(filter(uuid => uuid === this.widgetUuid), startWith(null));
|
|
842
859
|
this.widgetData$ = combineLatest([
|
|
843
860
|
this.widgetConfiguration$,
|
|
844
861
|
this._widgetParams$,
|
|
845
862
|
this._queryParams$.pipe(distinctUntilChanged((prevParams, currParams) => prevParams.toString() === currParams.toString())),
|
|
846
863
|
this.listService.forceRefresh$,
|
|
864
|
+
this._reloadWidgetData$,
|
|
847
865
|
]).pipe(switchMap(([widgetConfiguration, widgetParams, queryParams]) => !widgetParams || !widgetConfiguration
|
|
848
866
|
? of(null)
|
|
849
|
-
: this.ikoApiService
|
|
867
|
+
: this.ikoApiService
|
|
868
|
+
.getIkoWidgetData(widgetParams.ikoViewKey, widgetParams.tabKey, widgetConfiguration.key, widgetParams.entryId, queryParams)
|
|
869
|
+
.pipe(catchWidgetDataError(this.widgetLayoutService, () => this.widgetUuid))), tap(() => this.widgetLayoutService.setWidgetDataLoaded(this.widgetUuid)));
|
|
850
870
|
}
|
|
851
871
|
onQueryParamsEvent(params) {
|
|
852
872
|
this._queryParams$.next(params);
|
|
@@ -937,13 +957,17 @@ class IkoWidgetTableComponent {
|
|
|
937
957
|
this.widgetConfiguration$ = new BehaviorSubject(null);
|
|
938
958
|
this._widgetParams$ = new BehaviorSubject(null);
|
|
939
959
|
this._queryParams$ = new BehaviorSubject(new HttpParams());
|
|
960
|
+
this._reloadWidgetData$ = this.widgetLayoutService.widgetDataReload$.pipe(filter(uuid => uuid === this.widgetUuid), startWith(null));
|
|
940
961
|
this.widgetData$ = combineLatest([
|
|
941
962
|
this.widgetConfiguration$,
|
|
942
963
|
this._widgetParams$,
|
|
943
964
|
this._queryParams$.pipe(distinctUntilChanged((prevParams, currParams) => prevParams.toString() === currParams.toString())),
|
|
965
|
+
this._reloadWidgetData$,
|
|
944
966
|
]).pipe(switchMap(([widgetConfiguration, widgetParams, queryParams]) => !widgetParams || !widgetConfiguration
|
|
945
967
|
? of(null)
|
|
946
|
-
: this.ikoApiService
|
|
968
|
+
: this.ikoApiService
|
|
969
|
+
.getIkoWidgetData(widgetParams.ikoViewKey, widgetParams.tabKey, widgetConfiguration.key, widgetParams.entryId, queryParams)
|
|
970
|
+
.pipe(catchWidgetDataError(this.widgetLayoutService, () => this.widgetUuid))), tap(() => this.widgetLayoutService.setWidgetDataLoaded(this.widgetUuid)));
|
|
947
971
|
}
|
|
948
972
|
onPaginationEvent(event) {
|
|
949
973
|
this._queryParams$.next(new HttpParams()
|
|
@@ -1014,7 +1038,9 @@ class IkoWidgetMapComponent {
|
|
|
1014
1038
|
this.widgetDataGroupService = widgetDataGroupService;
|
|
1015
1039
|
this.widgetLayoutService = widgetLayoutService;
|
|
1016
1040
|
this.widgetConfiguration$ = new BehaviorSubject(null);
|
|
1017
|
-
this.widgetData$ = this.widgetConfiguration$.pipe(switchMap(widgetConfiguration => !widgetConfiguration
|
|
1041
|
+
this.widgetData$ = this.widgetConfiguration$.pipe(switchMap(widgetConfiguration => !widgetConfiguration
|
|
1042
|
+
? of(null)
|
|
1043
|
+
: groupWidgetData(this.widgetDataGroupService, this.widgetLayoutService, widgetConfiguration.key, () => this.widgetUuid)), tap(() => this.widgetLayoutService.setWidgetDataLoaded(this.widgetUuid)));
|
|
1018
1044
|
}
|
|
1019
1045
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IkoWidgetMapComponent, deps: [{ token: i1$2.WidgetDataGroupService }, { token: i1$2.WidgetLayoutService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1020
1046
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: IkoWidgetMapComponent, isStandalone: true, selector: "valtimo-iko-widget-map", inputs: { widgetConfiguration: "widgetConfiguration", widgetUuid: "widgetUuid" }, 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-widget-map\n [widgetConfiguration]=\"widgetConfiguration$ | async\"\n [widgetData]=\"widgetData$ | async\"\n>\n</valtimo-widget-map>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: InputModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: CarbonListModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: WidgetMapComponent, selector: "valtimo-widget-map", inputs: ["widgetConfiguration", "widgetData"], outputs: ["noVisibleMapEvent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
@@ -1076,7 +1102,9 @@ class IkoWidgetMetrolineComponent {
|
|
|
1076
1102
|
this.widgetDataGroupService = widgetDataGroupService;
|
|
1077
1103
|
this.widgetLayoutService = widgetLayoutService;
|
|
1078
1104
|
this.widgetConfiguration$ = new BehaviorSubject(null);
|
|
1079
|
-
this.widgetData$ = this.widgetConfiguration$.pipe(switchMap(widgetConfiguration => !widgetConfiguration
|
|
1105
|
+
this.widgetData$ = this.widgetConfiguration$.pipe(switchMap(widgetConfiguration => !widgetConfiguration
|
|
1106
|
+
? of(null)
|
|
1107
|
+
: groupWidgetData(this.widgetDataGroupService, this.widgetLayoutService, widgetConfiguration.key, () => this.widgetUuid)), tap(() => this.widgetLayoutService.setWidgetDataLoaded(this.widgetUuid)));
|
|
1080
1108
|
}
|
|
1081
1109
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IkoWidgetMetrolineComponent, deps: [{ token: i1$2.WidgetDataGroupService }, { token: i1$2.WidgetLayoutService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1082
1110
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: IkoWidgetMetrolineComponent, isStandalone: true, selector: "valtimo-iko-widget-metroline", inputs: { widgetConfiguration: "widgetConfiguration", widgetUuid: "widgetUuid" }, 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<valtimo-widget-metroline\n [widgetConfiguration]=\"widgetConfiguration$ | async\"\n [widgetData]=\"widgetData$ | async\"\n>\n</valtimo-widget-metroline>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "component", type: WidgetMetrolineComponent, selector: "valtimo-widget-metroline", inputs: ["widgetConfiguration", "widgetData"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
@@ -1137,13 +1165,24 @@ class IkoWidgetComponent {
|
|
|
1137
1165
|
this.entryId$ = this.ikoTabService.entryId$;
|
|
1138
1166
|
this._key$ = new BehaviorSubject('');
|
|
1139
1167
|
this.loading$ = new BehaviorSubject(true);
|
|
1168
|
+
this.widgetsError$ = new BehaviorSubject(false);
|
|
1169
|
+
this._reloadWidgets$ = new BehaviorSubject(null);
|
|
1140
1170
|
this._context$ = combineLatest([
|
|
1141
1171
|
this.ikoViewKey$,
|
|
1142
1172
|
this.key$,
|
|
1143
1173
|
this.entryId$,
|
|
1144
1174
|
]).pipe(distinctUntilChanged(([viewA, tabA, idA], [viewB, tabB, idB]) => viewA === viewB && tabA === tabB && idA === idB));
|
|
1145
1175
|
// Source and widget list are set before the container renders, so widgets find their group
|
|
1146
|
-
this.widgets$ =
|
|
1176
|
+
this.widgets$ = combineLatest([
|
|
1177
|
+
this._context$,
|
|
1178
|
+
this._reloadWidgets$,
|
|
1179
|
+
]).pipe(map$1(([context]) => context), tap(([ikoViewKey, tabKey, entryId]) => {
|
|
1180
|
+
this.widgetsError$.next(false);
|
|
1181
|
+
this.setDataSource(ikoViewKey, tabKey, entryId);
|
|
1182
|
+
}), switchMap(([ikoViewKey, tabKey]) => this.ikoApiService.getIkoWidget(ikoViewKey, tabKey).pipe(catchError(() => {
|
|
1183
|
+
this.widgetsError$.next(true);
|
|
1184
|
+
return of([]);
|
|
1185
|
+
}))), tap((widgets) => this.widgetDataGroupService.setWidgets(widgets)));
|
|
1147
1186
|
this.widgetLayout$ = combineLatest([
|
|
1148
1187
|
this.ikoViewKey$,
|
|
1149
1188
|
this.key$,
|
|
@@ -1169,6 +1208,9 @@ class IkoWidgetComponent {
|
|
|
1169
1208
|
[WidgetType.METROLINE]: IkoWidgetMetrolineComponent,
|
|
1170
1209
|
};
|
|
1171
1210
|
}
|
|
1211
|
+
onRetryWidgets() {
|
|
1212
|
+
this._reloadWidgets$.next(null);
|
|
1213
|
+
}
|
|
1172
1214
|
setDataSource(ikoViewKey, tabKey, entryId) {
|
|
1173
1215
|
this.widgetDataGroupService.setSource({
|
|
1174
1216
|
fetchGroup: (group) => this.ikoApiService.getIkoWidgetDataGroup(ikoViewKey, tabKey, group, entryId),
|
|
@@ -1176,11 +1218,18 @@ class IkoWidgetComponent {
|
|
|
1176
1218
|
});
|
|
1177
1219
|
}
|
|
1178
1220
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IkoWidgetComponent, deps: [{ token: IkoTabService }, { token: IkoApiService }, { token: i1$2.WidgetDataGroupService }, { token: i1$1.NGXLogger }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1179
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
1221
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.25", type: IkoWidgetComponent, isStandalone: true, selector: "ng-component", inputs: { key: "key" }, providers: [WidgetDataGroupService], 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@let hasWidgetsError = widgetsError$ | async;\n\n@if (hasWidgetsError) {\n <valtimo-no-results\n [action]=\"retryWidgets\"\n [title]=\"'widgets.dataError.title' | translate\"\n illustration=\"valtimo-layout/img/emptystate-error.svg\"\n ></valtimo-no-results>\n\n <ng-template #retryWidgets>\n <button cdsButton=\"tertiary\" size=\"sm\" (click)=\"onRetryWidgets()\">\n {{ 'widgets.dataError.retry' | translate }}\n </button>\n </ng-template>\n}\n\n<valtimo-widget-container\n fitPage\n [disableOverflow]=\"true\"\n class=\"iko-widget-container\"\n [class.iko-widget-container--hidden]=\"hasWidgetsError\"\n [widgets]=\"widgets$ | async\"\n [widgetComponentMap]=\"widgetComponentMap\"\n [widgetParams]=\"widgetParams$ | async\"\n [widgetLayout]=\"widgetLayout$ | async\"\n>\n</valtimo-widget-container>\n", styles: [":host ::ng-deep .widgets-container{overflow:hidden}.iko-widget-container{display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto}.iko-widget-container--hidden{display:none}\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: ButtonModule }, { kind: "directive", type: i6.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: CarbonListModule }, { kind: "component", type: i2$1.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "directive", type: FitPageDirective, selector: "[fitPage]", inputs: ["spaceAdjustment", "fitPageDisabled", "disableOverflow", "bottomMargin"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "component", type: WidgetContainerComponent, selector: "valtimo-widget-container", inputs: ["widgets", "widgetLayout", "widgetComponentMap", "widgetParams"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1180
1222
|
}
|
|
1181
1223
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IkoWidgetComponent, decorators: [{
|
|
1182
1224
|
type: Component,
|
|
1183
|
-
args: [{ standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
1225
|
+
args: [{ standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
1226
|
+
ButtonModule,
|
|
1227
|
+
CarbonListModule,
|
|
1228
|
+
CommonModule,
|
|
1229
|
+
FitPageDirective,
|
|
1230
|
+
TranslateModule,
|
|
1231
|
+
WidgetContainerComponent,
|
|
1232
|
+
], providers: [WidgetDataGroupService], 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@let hasWidgetsError = widgetsError$ | async;\n\n@if (hasWidgetsError) {\n <valtimo-no-results\n [action]=\"retryWidgets\"\n [title]=\"'widgets.dataError.title' | translate\"\n illustration=\"valtimo-layout/img/emptystate-error.svg\"\n ></valtimo-no-results>\n\n <ng-template #retryWidgets>\n <button cdsButton=\"tertiary\" size=\"sm\" (click)=\"onRetryWidgets()\">\n {{ 'widgets.dataError.retry' | translate }}\n </button>\n </ng-template>\n}\n\n<valtimo-widget-container\n fitPage\n [disableOverflow]=\"true\"\n class=\"iko-widget-container\"\n [class.iko-widget-container--hidden]=\"hasWidgetsError\"\n [widgets]=\"widgets$ | async\"\n [widgetComponentMap]=\"widgetComponentMap\"\n [widgetParams]=\"widgetParams$ | async\"\n [widgetLayout]=\"widgetLayout$ | async\"\n>\n</valtimo-widget-container>\n", styles: [":host ::ng-deep .widgets-container{overflow:hidden}.iko-widget-container{display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto}.iko-widget-container--hidden{display:none}\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"] }]
|
|
1184
1233
|
}], ctorParameters: () => [{ type: IkoTabService }, { type: IkoApiService }, { type: i1$2.WidgetDataGroupService }, { type: i1$1.NGXLogger }], propDecorators: { key: [{
|
|
1185
1234
|
type: Input
|
|
1186
1235
|
}] } });
|
|
@@ -1307,6 +1356,7 @@ class IkoListComponent {
|
|
|
1307
1356
|
this.router = router;
|
|
1308
1357
|
this.rowSelectedEvent = new EventEmitter();
|
|
1309
1358
|
this.loading$ = new BehaviorSubject(true);
|
|
1359
|
+
this.searchError$ = new BehaviorSubject(false);
|
|
1310
1360
|
this._searchParams$ = new ReplaySubject(1);
|
|
1311
1361
|
this.listConfig$ = this._searchParams$.pipe(switchMap(inputParams => {
|
|
1312
1362
|
if (inputParams && this.ikoViewKey) {
|
|
@@ -1329,8 +1379,14 @@ class IkoListComponent {
|
|
|
1329
1379
|
});
|
|
1330
1380
|
return { ikoViewKey: params.key, searchKey: params.searchKey, filters: queryParams };
|
|
1331
1381
|
}));
|
|
1332
|
-
}), tap(() =>
|
|
1333
|
-
|
|
1382
|
+
}), tap(() => {
|
|
1383
|
+
this.loading$.next(true);
|
|
1384
|
+
this.searchError$.next(false);
|
|
1385
|
+
}), switchMap(({ ikoViewKey, searchKey, filters }) => this.ikoApiService.searchIkoSearchAction(ikoViewKey, searchKey, { filters }).pipe(catchError(() => {
|
|
1386
|
+
this.searchError$.next(true);
|
|
1387
|
+
return of(null);
|
|
1388
|
+
}))), map$1(res => ({
|
|
1389
|
+
fields: (res?.headers ?? []).reduce((acc, curr) => [
|
|
1334
1390
|
...acc,
|
|
1335
1391
|
...(curr.displayType.type === 'hidden'
|
|
1336
1392
|
? []
|
|
@@ -1345,7 +1401,7 @@ class IkoListComponent {
|
|
|
1345
1401
|
},
|
|
1346
1402
|
]),
|
|
1347
1403
|
], []),
|
|
1348
|
-
items: res
|
|
1404
|
+
items: (res?.rows?.content ?? []).map(stuff => stuff.items.reduce((acc, curr) => ({ ...acc, [curr.key]: curr.value }), {})),
|
|
1349
1405
|
})), tap(() => this.loading$.next(false)));
|
|
1350
1406
|
combineLatest([this.route.params, this.route.queryParams])
|
|
1351
1407
|
.pipe(takeUntilDestroyed())
|
|
@@ -1373,11 +1429,11 @@ class IkoListComponent {
|
|
|
1373
1429
|
}
|
|
1374
1430
|
}
|
|
1375
1431
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IkoListComponent, deps: [{ token: i2$1.BreadcrumbService }, { token: IkoApiService }, { token: i3.ActivatedRoute }, { token: i3.Router }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1376
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
1432
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.25", type: IkoListComponent, isStandalone: true, selector: "valtimo-iko-list", inputs: { ikoViewKey: "ikoViewKey", searchParams: "searchParams" }, outputs: { rowSelectedEvent: "rowSelectedEvent" }, 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@let hasSearchError = searchError$ | async;\n\n@if (hasSearchError) {\n <valtimo-no-results\n title=\"{{ 'widgets.dataError.title' | translate }}\"\n illustration=\"valtimo-layout/img/emptystate-error.svg\"\n ></valtimo-no-results>\n}\n\n<valtimo-carbon-list\n *ngIf=\"{\n listConfig: listConfig$ | async,\n loading: loading$ | async,\n } as obs\"\n [class.iko-list--hidden]=\"hasSearchError\"\n [fields]=\"obs.listConfig?.fields\"\n [items]=\"obs.listConfig?.items\"\n [loading]=\"obs.loading\"\n [hideToolbar]=\"true\"\n (rowClicked)=\"onRowClicked($event)\"\n>\n <valtimo-no-results\n title=\"{{ 'ikoManagement.search.noResultsTitle' | translate }}\"\n illustration=\"valtimo-layout/img/emptystate-no-result.svg\"\n description=\"{{ 'ikoManagement.search.noResultsDescription' | translate }}\"\n ></valtimo-no-results>\n</valtimo-carbon-list>\n", styles: [".iko-list--hidden{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: CarbonListModule }, { kind: "component", type: i2$1.CarbonListComponent, selector: "valtimo-carbon-list", inputs: ["items", "fields", "tableTranslations", "paginatorConfig", "pagination", "loading", "skeletonRowCount", "actions", "actionItems", "showActionItems", "header", "hideColumnHeader", "initialSortState", "sortState", "isSearchable", "initialSearchValue", "searchDebounceMs", "invalidSearchFields", "searchFields", "enableSingleSelection", "lastColumnTemplate", "paginationIdentifier", "showSelectionColumn", "striped", "hideToolbar", "lockedTooltipTranslationKey", "movingRowsEnabled", "dragAndDrop", "dragAndDropDisabled", "expandedRowTemplate", "expandedRowKey", "trackByKey"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged", "moveRow", "itemsReordered"] }, { kind: "component", type: i2$1.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
|
1377
1433
|
}
|
|
1378
1434
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IkoListComponent, decorators: [{
|
|
1379
1435
|
type: Component,
|
|
1380
|
-
args: [{ selector: 'valtimo-iko-list', standalone: true, imports: [CommonModule, CarbonListModule, TranslatePipe], 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 *ngIf=\"{\n listConfig: listConfig$ | async,\n loading: loading$ | async,\n } as obs\"\n [fields]=\"obs.listConfig?.fields\"\n [items]=\"obs.listConfig?.items\"\n [loading]=\"obs.loading\"\n [hideToolbar]=\"true\"\n (rowClicked)=\"onRowClicked($event)\"\n>\n <valtimo-no-results\n title=\"{{ 'ikoManagement.search.noResultsTitle' | translate }}\"\n illustration=\"valtimo-layout/img/emptystate-no-result.svg\"\n description=\"{{ 'ikoManagement.search.noResultsDescription' | translate }}\"\n ></valtimo-no-results>\n</valtimo-carbon-list>\n" }]
|
|
1436
|
+
args: [{ selector: 'valtimo-iko-list', standalone: true, imports: [CommonModule, CarbonListModule, TranslatePipe], 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@let hasSearchError = searchError$ | async;\n\n@if (hasSearchError) {\n <valtimo-no-results\n title=\"{{ 'widgets.dataError.title' | translate }}\"\n illustration=\"valtimo-layout/img/emptystate-error.svg\"\n ></valtimo-no-results>\n}\n\n<valtimo-carbon-list\n *ngIf=\"{\n listConfig: listConfig$ | async,\n loading: loading$ | async,\n } as obs\"\n [class.iko-list--hidden]=\"hasSearchError\"\n [fields]=\"obs.listConfig?.fields\"\n [items]=\"obs.listConfig?.items\"\n [loading]=\"obs.loading\"\n [hideToolbar]=\"true\"\n (rowClicked)=\"onRowClicked($event)\"\n>\n <valtimo-no-results\n title=\"{{ 'ikoManagement.search.noResultsTitle' | translate }}\"\n illustration=\"valtimo-layout/img/emptystate-no-result.svg\"\n description=\"{{ 'ikoManagement.search.noResultsDescription' | translate }}\"\n ></valtimo-no-results>\n</valtimo-carbon-list>\n", styles: [".iko-list--hidden{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"] }]
|
|
1381
1437
|
}], ctorParameters: () => [{ type: i2$1.BreadcrumbService }, { type: IkoApiService }, { type: i3.ActivatedRoute }, { type: i3.Router }], propDecorators: { ikoViewKey: [{
|
|
1382
1438
|
type: Input
|
|
1383
1439
|
}], searchParams: [{
|