@valtimo/layout 13.14.0 → 13.16.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/img/widget-management/color/blue.svg +28 -0
- package/assets/img/widget-management/color/brown.svg +28 -0
- package/assets/img/widget-management/color/default.svg +28 -0
- package/assets/img/widget-management/color/green.svg +28 -0
- package/assets/img/widget-management/color/highContrast.svg +28 -0
- package/assets/img/widget-management/color/orange.svg +28 -0
- package/assets/img/widget-management/color/periwinkle.svg +28 -0
- package/assets/img/widget-management/color/purple.svg +28 -0
- package/assets/img/widget-management/color/red.svg +28 -0
- package/assets/img/widget-management/color/turqoise.svg +28 -0
- package/assets/img/widget-management/color/yellow.svg +28 -0
- package/fesm2022/valtimo-layout.mjs +321 -68
- package/fesm2022/valtimo-layout.mjs.map +1 -1
- package/lib/components/widget-block/widget-block.component.d.ts +5 -1
- package/lib/components/widget-block/widget-block.component.d.ts.map +1 -1
- package/lib/components/widget-management/management-editor/widget-management-editor.component.d.ts +3 -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/index.d.ts +2 -2
- package/lib/components/widget-management/management-wizard/steps/index.d.ts.map +1 -1
- package/lib/components/widget-management/management-wizard/steps/widget-wizard-appearance-step/widget-wizard-appearance-step.component.d.ts +16 -0
- package/lib/components/widget-management/management-wizard/steps/widget-wizard-appearance-step/widget-wizard-appearance-step.component.d.ts.map +1 -0
- package/lib/components/widget-management/management-wizard/steps/widget-wizard-density-step/widget-wizard-density-step.component.d.ts.map +1 -1
- package/lib/components/widget-management/management-wizard/steps/widget-wizard-filters-step/widget-wizard-filters-step.component.d.ts.map +1 -1
- package/lib/constants/index.d.ts +1 -0
- package/lib/constants/index.d.ts.map +1 -1
- package/lib/constants/widget-color.constants.d.ts +14 -0
- package/lib/constants/widget-color.constants.d.ts.map +1 -0
- package/lib/models/widget-wizard.model.d.ts +5 -9
- package/lib/models/widget-wizard.model.d.ts.map +1 -1
- package/lib/models/widget.model.d.ts +20 -1
- package/lib/models/widget.model.d.ts.map +1 -1
- package/lib/services/widget-wizard.service.d.ts +3 -2
- package/lib/services/widget-wizard.service.d.ts.map +1 -1
- package/package.json +1 -1
- package/lib/components/widget-management/management-wizard/steps/widget-wizard-style-step/widget-wizard-style-step.component.d.ts +0 -15
- package/lib/components/widget-management/management-wizard/steps/widget-wizard-style-step/widget-wizard-style-step.component.d.ts.map +0 -1
|
@@ -131,6 +131,20 @@ var WidgetType;
|
|
|
131
131
|
WidgetType["DIVIDER"] = "divider";
|
|
132
132
|
WidgetType["MAP"] = "map";
|
|
133
133
|
})(WidgetType || (WidgetType = {}));
|
|
134
|
+
var WidgetColor;
|
|
135
|
+
(function (WidgetColor) {
|
|
136
|
+
WidgetColor["YELLOW"] = "YELLOW";
|
|
137
|
+
WidgetColor["ORANGE"] = "ORANGE";
|
|
138
|
+
WidgetColor["RED"] = "RED";
|
|
139
|
+
WidgetColor["BROWN"] = "BROWN";
|
|
140
|
+
WidgetColor["GREEN"] = "GREEN";
|
|
141
|
+
WidgetColor["TURQOISE"] = "TURQOISE";
|
|
142
|
+
WidgetColor["PURPLE"] = "PURPLE";
|
|
143
|
+
WidgetColor["PERIWINKLE"] = "PERIWINKLE";
|
|
144
|
+
WidgetColor["BLUE"] = "BLUE";
|
|
145
|
+
WidgetColor["WHITE"] = "WHITE";
|
|
146
|
+
WidgetColor["HIGHCONTRAST"] = "HIGHCONTRAST";
|
|
147
|
+
})(WidgetColor || (WidgetColor = {}));
|
|
134
148
|
|
|
135
149
|
/*
|
|
136
150
|
* Copyright 2015-2025 Ritense BV, the Netherlands.
|
|
@@ -514,7 +528,7 @@ class WidgetFieldComponent {
|
|
|
514
528
|
});
|
|
515
529
|
}
|
|
516
530
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: WidgetFieldComponent, deps: [{ token: i1.ViewContentService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
517
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.18", 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(--cds-text-primary);font-weight:600;font-size:16px;line-height:24px}.valtimo-widget-field__title-container{display:flex;align-items:center;gap:8px}.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(--cds-text-secondary)}.valtimo-widget-field__field-value{color:var(--cds-text-primary);padding:8px 16px;border-bottom:1px solid 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(--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(--cds-border-subtle-01)}\n/*!\n * Copyright 2015-
|
|
531
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.18", 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(--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$1.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: CarbonListModule }, { kind: "component", type: i1.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 }); }
|
|
518
532
|
}
|
|
519
533
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: WidgetFieldComponent, decorators: [{
|
|
520
534
|
type: Component,
|
|
@@ -529,7 +543,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
529
543
|
MdiIconViewerComponent,
|
|
530
544
|
LayerModule,
|
|
531
545
|
SkeletonModule,
|
|
532
|
-
], 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(--cds-text-primary);font-weight:600;font-size:16px;line-height:24px}.valtimo-widget-field__title-container{display:flex;align-items:center;gap:8px}.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(--cds-text-secondary)}.valtimo-widget-field__field-value{color:var(--cds-text-primary);padding:8px 16px;border-bottom:1px solid 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(--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(--cds-border-subtle-01)}\n/*!\n * Copyright 2015-
|
|
546
|
+
], 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(--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"] }]
|
|
533
547
|
}], ctorParameters: () => [{ type: i1.ViewContentService }], propDecorators: { hostClasses: [{
|
|
534
548
|
type: HostBinding,
|
|
535
549
|
args: ['class']
|
|
@@ -941,7 +955,7 @@ class WidgetFormioComponent {
|
|
|
941
955
|
}), map(([formDef]) => formDef));
|
|
942
956
|
}
|
|
943
957
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: WidgetFormioComponent, deps: [{ token: i1$2.FormService }, { token: WidgetLayoutService }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
944
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", 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(--cds-text-primary);font-weight:600;font-size:16px;line-height:24px}\n/*!\n * Copyright 2015-
|
|
958
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", 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 }); }
|
|
945
959
|
}
|
|
946
960
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: WidgetFormioComponent, decorators: [{
|
|
947
961
|
type: Component,
|
|
@@ -952,7 +966,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
952
966
|
ButtonModule,
|
|
953
967
|
WidgetActionButtonComponent,
|
|
954
968
|
MdiIconViewerComponent,
|
|
955
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, 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(--cds-text-primary);font-weight:600;font-size:16px;line-height:24px}\n/*!\n * Copyright 2015-
|
|
969
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, 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"] }]
|
|
956
970
|
}], ctorParameters: () => [{ type: i1$2.FormService }, { type: WidgetLayoutService }, { type: i0.DestroyRef }], propDecorators: { documentId: [{
|
|
957
971
|
type: Input
|
|
958
972
|
}], widgetConfiguration: [{
|
|
@@ -1166,7 +1180,7 @@ class WidgetCollectionComponent {
|
|
|
1166
1180
|
});
|
|
1167
1181
|
}
|
|
1168
1182
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: WidgetCollectionComponent, deps: [{ token: i1.ViewContentService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1169
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.18", 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}.valtimo-widget-collection .cds--label{overflow:hidden;text-overflow:ellipsis;width:100%}.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{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(--cds-background);padding:16px;width:100%;gap:16px}.valtimo-widget-collection__card-title{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(--cds-border-subtle-01)}.valtimo-widget-collection--compact.valtimo-widget-collection__card-input{border: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: 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 }); }
|
|
1183
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.18", 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(--cds-border-subtle-01)}.valtimo-widget-collection--compact.valtimo-widget-collection__card-input{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.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 }); }
|
|
1170
1184
|
}
|
|
1171
1185
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: WidgetCollectionComponent, decorators: [{
|
|
1172
1186
|
type: Component,
|
|
@@ -1181,7 +1195,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
1181
1195
|
WidgetActionButtonComponent,
|
|
1182
1196
|
MdiIconViewerComponent,
|
|
1183
1197
|
SkeletonModule,
|
|
1184
|
-
], 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}.valtimo-widget-collection .cds--label{overflow:hidden;text-overflow:ellipsis;width:100
|
|
1198
|
+
], 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(--cds-border-subtle-01)}.valtimo-widget-collection--compact.valtimo-widget-collection__card-input{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"] }]
|
|
1185
1199
|
}], ctorParameters: () => [{ type: i1.ViewContentService }, { type: i0.ChangeDetectorRef }], propDecorators: { hostClasses: [{
|
|
1186
1200
|
type: HostBinding,
|
|
1187
1201
|
args: ['class']
|
|
@@ -1311,7 +1325,7 @@ class WidgetTableComponent {
|
|
|
1311
1325
|
this.paginationEvent.emit({ ...paginationModel, currentPage: page });
|
|
1312
1326
|
}
|
|
1313
1327
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: WidgetTableComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1314
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.18", 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;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__content{display:flex;align-items:center;flex-direction:column}.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(--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(--cds-text-primary);font-weight:600;font-size:16px;line-height:24px}\n/*!\n * Copyright 2015-
|
|
1328
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.18", 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$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 }); }
|
|
1315
1329
|
}
|
|
1316
1330
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: WidgetTableComponent, decorators: [{
|
|
1317
1331
|
type: Component,
|
|
@@ -1325,7 +1339,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
1325
1339
|
WidgetActionButtonComponent,
|
|
1326
1340
|
MdiIconViewerComponent,
|
|
1327
1341
|
SkeletonModule,
|
|
1328
|
-
], 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;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__content{display:flex;align-items:center;flex-direction:column}.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(--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(--cds-text-primary);font-weight:600;font-size:16px;line-height:24px}\n/*!\n * Copyright 2015-
|
|
1342
|
+
], 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"] }]
|
|
1329
1343
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { widgetConfiguration: [{
|
|
1330
1344
|
type: Input,
|
|
1331
1345
|
args: [{ required: true }]
|
|
@@ -1445,7 +1459,7 @@ class WidgetInteractiveTableSearchComponent {
|
|
|
1445
1459
|
}
|
|
1446
1460
|
}
|
|
1447
1461
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: WidgetInteractiveTableSearchComponent, deps: [{ token: i1.CdsThemeService }, { token: i1$3.FormBuilder }, { token: i3.IconService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1448
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.18", type: WidgetInteractiveTableSearchComponent, isStandalone: true, selector: "valtimo-widget-interactive-table-search", inputs: { initSearchRequest: "initSearchRequest", filters: "filters" }, outputs: { searchSubmitEvent: "searchSubmitEvent" }, 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.stopImmediatePropagation()\"\n>\n <section class=\"valtimo-widget-interactive-table-search__fields\" formGroupName=\"filters\">\n @for (filter of filters; track filter.key) {\n <cds-text-label class=\"valtimo-widget-interactive-table-search__filter-field\">\n {{ filter.title }}\n\n <input\n cdsText\n [attr.data-carbon-theme]=\"theme\"\n [formControlName]=\"filter.key\"\n [placeholder]=\"filter.title\"\n />\n </cds-text-label>\n }\n </section>\n\n <button cdsButton=\"tertiary\" type=\"button\" (click)=\"onClearFilter()\">\n {{ 'interface.clear' | translate }}\n\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;width:360px;padding:16px}.valtimo-widget-interactive-table-search__fields{display:grid;grid-template-columns:repeat(2,1fr);align-items:flex-end;margin-bottom:16px;gap:16px}.valtimo-widget-interactive-table-search__filter-field{width:100%;display:flex;flex-direction:column}.valtimo-widget-interactive-table-search__label{font-size:var(--cds-label-01-font-size);color:var(--cds-text-secondary)}::ng-deep .cds--overflow-menu-options.cds--overflow-menu-options--open{max-width:max-content!important;width:max-content!important}\n/*!\n * Copyright 2015-
|
|
1462
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.18", type: WidgetInteractiveTableSearchComponent, isStandalone: true, selector: "valtimo-widget-interactive-table-search", inputs: { initSearchRequest: "initSearchRequest", filters: "filters" }, outputs: { searchSubmitEvent: "searchSubmitEvent" }, 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.stopImmediatePropagation()\"\n>\n <section class=\"valtimo-widget-interactive-table-search__fields\" formGroupName=\"filters\">\n @for (filter of filters; track filter.key) {\n <cds-text-label class=\"valtimo-widget-interactive-table-search__filter-field\">\n {{ filter.title }}\n\n <input\n cdsText\n [attr.data-carbon-theme]=\"theme\"\n [formControlName]=\"filter.key\"\n [placeholder]=\"filter.title\"\n />\n </cds-text-label>\n }\n </section>\n\n <button cdsButton=\"tertiary\" type=\"button\" (click)=\"onClearFilter()\">\n {{ 'interface.clear' | translate }}\n\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;width:360px;padding:16px}.valtimo-widget-interactive-table-search__fields{display:grid;grid-template-columns:repeat(2,1fr);align-items:flex-end;margin-bottom:16px;gap:16px}.valtimo-widget-interactive-table-search__filter-field{width:100%;display:flex;flex-direction:column}.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 .cds--overflow-menu-options.cds--overflow-menu-options--open{max-width:max-content!important;width:max-content!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: 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: "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.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "ngmodule", type: FormsModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1449
1463
|
}
|
|
1450
1464
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: WidgetInteractiveTableSearchComponent, decorators: [{
|
|
1451
1465
|
type: Component,
|
|
@@ -1457,7 +1471,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
1457
1471
|
InputModule,
|
|
1458
1472
|
ReactiveFormsModule,
|
|
1459
1473
|
FormsModule,
|
|
1460
|
-
], 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.stopImmediatePropagation()\"\n>\n <section class=\"valtimo-widget-interactive-table-search__fields\" formGroupName=\"filters\">\n @for (filter of filters; track filter.key) {\n <cds-text-label class=\"valtimo-widget-interactive-table-search__filter-field\">\n {{ filter.title }}\n\n <input\n cdsText\n [attr.data-carbon-theme]=\"theme\"\n [formControlName]=\"filter.key\"\n [placeholder]=\"filter.title\"\n />\n </cds-text-label>\n }\n </section>\n\n <button cdsButton=\"tertiary\" type=\"button\" (click)=\"onClearFilter()\">\n {{ 'interface.clear' | translate }}\n\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;width:360px;padding:16px}.valtimo-widget-interactive-table-search__fields{display:grid;grid-template-columns:repeat(2,1fr);align-items:flex-end;margin-bottom:16px;gap:16px}.valtimo-widget-interactive-table-search__filter-field{width:100%;display:flex;flex-direction:column}.valtimo-widget-interactive-table-search__label{font-size:var(--cds-label-01-font-size);color:var(--cds-text-secondary)}::ng-deep .cds--overflow-menu-options.cds--overflow-menu-options--open{max-width:max-content!important;width:max-content!important}\n/*!\n * Copyright 2015-
|
|
1474
|
+
], 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.stopImmediatePropagation()\"\n>\n <section class=\"valtimo-widget-interactive-table-search__fields\" formGroupName=\"filters\">\n @for (filter of filters; track filter.key) {\n <cds-text-label class=\"valtimo-widget-interactive-table-search__filter-field\">\n {{ filter.title }}\n\n <input\n cdsText\n [attr.data-carbon-theme]=\"theme\"\n [formControlName]=\"filter.key\"\n [placeholder]=\"filter.title\"\n />\n </cds-text-label>\n }\n </section>\n\n <button cdsButton=\"tertiary\" type=\"button\" (click)=\"onClearFilter()\">\n {{ 'interface.clear' | translate }}\n\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;width:360px;padding:16px}.valtimo-widget-interactive-table-search__fields{display:grid;grid-template-columns:repeat(2,1fr);align-items:flex-end;margin-bottom:16px;gap:16px}.valtimo-widget-interactive-table-search__filter-field{width:100%;display:flex;flex-direction:column}.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 .cds--overflow-menu-options.cds--overflow-menu-options--open{max-width:max-content!important;width:max-content!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"] }]
|
|
1461
1475
|
}], ctorParameters: () => [{ type: i1.CdsThemeService }, { type: i1$3.FormBuilder }, { type: i3.IconService }], propDecorators: { initSearchRequest: [{
|
|
1462
1476
|
type: Input
|
|
1463
1477
|
}], filters: [{
|
|
@@ -1661,7 +1675,7 @@ class WidgetInteractiveTableComponent {
|
|
|
1661
1675
|
this.searchSubmitEvent.emit(searchRequest);
|
|
1662
1676
|
}
|
|
1663
1677
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: WidgetInteractiveTableComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i2$2.DocumentService }, { token: i3.IconService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1664
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.18", 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-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 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 <button\n *ngIf=\"!!obs.filters.length\"\n carbonToolbarContent\n [cdsOverflowMenu]=\"widgetInteractiveTableSearch\"\n [customPane]=\"true\"\n [iconOnly]=\"true\"\n [flip]=\"true\"\n [offset]=\"{x: 0, y: 47}\"\n placement=\"bottom\"\n cdsButton=\"ghost\"\n >\n <svg cdsIcon=\"filter\" size=\"16\"></svg>\n </button>\n\n <cds-overflow-menu\n *ngIf=\"!!widgetConfiguration?.actions?.length\"\n [customTrigger]=\"externalLinkTrigger\"\n placement=\"bottom\"\n flip=\"true\"\n [offset]=\"{x: 4, y: 44}\"\n >\n @for (action of widgetConfiguration?.actions; track action.name) {\n <cds-overflow-menu-option (click)=\"onActionClick(action)\">\n {{ action.name }}\n </cds-overflow-menu-option>\n }\n </cds-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\n <ng-template #externalLinkTrigger>\n <button cdsButton=\"ghost\" iconOnly=\"true\">\n <svg cdsIcon=\"link\" size=\"16\"></svg>\n </button>\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(--cds-text-primary);font-weight:600;font-size:16px;line-height:24px}.cds--menu-item__label{overflow:unset!important}::ng-deep .cds--overflow-menu-options.cds--overflow-menu-options--open{max-width:max-content!important;width:max-content!important}\n/*!\n * Copyright 2015-
|
|
1678
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.18", 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-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 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 <button\n *ngIf=\"!!obs.filters.length\"\n carbonToolbarContent\n [cdsOverflowMenu]=\"widgetInteractiveTableSearch\"\n [customPane]=\"true\"\n [iconOnly]=\"true\"\n [flip]=\"true\"\n [offset]=\"{x: 0, y: 47}\"\n placement=\"bottom\"\n cdsButton=\"ghost\"\n >\n <svg cdsIcon=\"filter\" size=\"16\"></svg>\n </button>\n\n <cds-overflow-menu\n *ngIf=\"!!widgetConfiguration?.actions?.length\"\n [customTrigger]=\"externalLinkTrigger\"\n placement=\"bottom\"\n flip=\"true\"\n [offset]=\"{x: 4, y: 44}\"\n >\n @for (action of widgetConfiguration?.actions; track action.name) {\n <cds-overflow-menu-option (click)=\"onActionClick(action)\">\n {{ action.name }}\n </cds-overflow-menu-option>\n }\n </cds-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\n <ng-template #externalLinkTrigger>\n <button cdsButton=\"ghost\" iconOnly=\"true\">\n <svg cdsIcon=\"link\" size=\"16\"></svg>\n </button>\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}::ng-deep .cds--overflow-menu-options.cds--overflow-menu-options--open{max-width:max-content!important;width:max-content!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: "ngmodule", type: TilesModule }, { 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: DialogModule }, { kind: "component", type: i3.OverflowMenu, selector: "cds-overflow-menu, ibm-overflow-menu", inputs: ["buttonLabel", "description", "flip", "placement", "open", "customTrigger", "offset", "wrapperClass", "triggerClass"], outputs: ["openChange"] }, { kind: "directive", type: i3.OverflowMenuDirective, selector: "[cdsOverflowMenu], [ibmOverflowMenu]", inputs: ["ibmOverflowMenu", "cdsOverflowMenu", "flip", "offset", "wrapperClass", "customPane"], exportAs: ["overflowMenu"] }, { kind: "component", type: i3.OverflowMenuOption, selector: "cds-overflow-menu-option, ibm-overflow-menu-option", inputs: ["divider", "type", "disabled", "href", "target", "innerClass"], 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 }); }
|
|
1665
1679
|
}
|
|
1666
1680
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: WidgetInteractiveTableComponent, decorators: [{
|
|
1667
1681
|
type: Component,
|
|
@@ -1679,7 +1693,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
1679
1693
|
MdiIconViewerComponent,
|
|
1680
1694
|
SkeletonModule,
|
|
1681
1695
|
WidgetInteractiveTableSearchComponent,
|
|
1682
|
-
], 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 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 <button\n *ngIf=\"!!obs.filters.length\"\n carbonToolbarContent\n [cdsOverflowMenu]=\"widgetInteractiveTableSearch\"\n [customPane]=\"true\"\n [iconOnly]=\"true\"\n [flip]=\"true\"\n [offset]=\"{x: 0, y: 47}\"\n placement=\"bottom\"\n cdsButton=\"ghost\"\n >\n <svg cdsIcon=\"filter\" size=\"16\"></svg>\n </button>\n\n <cds-overflow-menu\n *ngIf=\"!!widgetConfiguration?.actions?.length\"\n [customTrigger]=\"externalLinkTrigger\"\n placement=\"bottom\"\n flip=\"true\"\n [offset]=\"{x: 4, y: 44}\"\n >\n @for (action of widgetConfiguration?.actions; track action.name) {\n <cds-overflow-menu-option (click)=\"onActionClick(action)\">\n {{ action.name }}\n </cds-overflow-menu-option>\n }\n </cds-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\n <ng-template #externalLinkTrigger>\n <button cdsButton=\"ghost\" iconOnly=\"true\">\n <svg cdsIcon=\"link\" size=\"16\"></svg>\n </button>\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(--cds-text-primary);font-weight:600;font-size:16px;line-height:24px}.cds--menu-item__label{overflow:unset!important}::ng-deep .cds--overflow-menu-options.cds--overflow-menu-options--open{max-width:max-content!important;width:max-content!important}\n/*!\n * Copyright 2015-
|
|
1696
|
+
], 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 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 <button\n *ngIf=\"!!obs.filters.length\"\n carbonToolbarContent\n [cdsOverflowMenu]=\"widgetInteractiveTableSearch\"\n [customPane]=\"true\"\n [iconOnly]=\"true\"\n [flip]=\"true\"\n [offset]=\"{x: 0, y: 47}\"\n placement=\"bottom\"\n cdsButton=\"ghost\"\n >\n <svg cdsIcon=\"filter\" size=\"16\"></svg>\n </button>\n\n <cds-overflow-menu\n *ngIf=\"!!widgetConfiguration?.actions?.length\"\n [customTrigger]=\"externalLinkTrigger\"\n placement=\"bottom\"\n flip=\"true\"\n [offset]=\"{x: 4, y: 44}\"\n >\n @for (action of widgetConfiguration?.actions; track action.name) {\n <cds-overflow-menu-option (click)=\"onActionClick(action)\">\n {{ action.name }}\n </cds-overflow-menu-option>\n }\n </cds-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\n <ng-template #externalLinkTrigger>\n <button cdsButton=\"ghost\" iconOnly=\"true\">\n <svg cdsIcon=\"link\" size=\"16\"></svg>\n </button>\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}::ng-deep .cds--overflow-menu-options.cds--overflow-menu-options--open{max-width:max-content!important;width:max-content!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"] }]
|
|
1683
1697
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i2$2.DocumentService }, { type: i3.IconService }], propDecorators: { class: [{
|
|
1684
1698
|
type: HostBinding,
|
|
1685
1699
|
args: ['class']
|
|
@@ -1791,7 +1805,7 @@ class WidgetCustomComponent {
|
|
|
1791
1805
|
}));
|
|
1792
1806
|
}
|
|
1793
1807
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: WidgetCustomComponent, deps: [{ token: CUSTOM_WIDGET_TOKEN, optional: true }, { token: i0.ChangeDetectorRef }, { token: WidgetLayoutService }, { token: i2$2.DocumentService }, { token: i3$1.PermissionService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1794
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.18", 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(--cds-text-primary);font-weight:600;font-size:16px;line-height:24px}\n/*!\n * Copyright 2015-
|
|
1808
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.18", 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$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: LayerModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1795
1809
|
}
|
|
1796
1810
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: WidgetCustomComponent, decorators: [{
|
|
1797
1811
|
type: Component,
|
|
@@ -1803,7 +1817,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
1803
1817
|
WidgetActionButtonComponent,
|
|
1804
1818
|
MdiIconViewerComponent,
|
|
1805
1819
|
LayerModule,
|
|
1806
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, 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(--cds-text-primary);font-weight:600;font-size:16px;line-height:24px}\n/*!\n * Copyright 2015-
|
|
1820
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, 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"] }]
|
|
1807
1821
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
1808
1822
|
type: Optional
|
|
1809
1823
|
}, {
|
|
@@ -1837,7 +1851,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
1837
1851
|
*/
|
|
1838
1852
|
|
|
1839
1853
|
/*
|
|
1840
|
-
* Copyright 2015-
|
|
1854
|
+
* Copyright 2015-2026 Ritense BV, the Netherlands.
|
|
1841
1855
|
*
|
|
1842
1856
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
1843
1857
|
* you may not use this file except in compliance with the License.
|
|
@@ -1888,15 +1902,10 @@ class WidgetBlockComponent {
|
|
|
1888
1902
|
this.widgetLayoutService.triggerMuuriLayout();
|
|
1889
1903
|
}));
|
|
1890
1904
|
this.documentId$ = this.route.params.pipe(map(params => params?.documentId), filter$1(documentId => !!documentId));
|
|
1891
|
-
this.theme$ =
|
|
1892
|
-
|
|
1893
|
-
|
|
1894
|
-
|
|
1895
|
-
: CARBON_THEME.G10
|
|
1896
|
-
: widgetConfiguration.highContrast
|
|
1897
|
-
? CARBON_THEME.WHITE
|
|
1898
|
-
: CARBON_THEME.G90;
|
|
1899
|
-
}));
|
|
1905
|
+
this.theme$ = this.cdsThemeService.currentTheme$.pipe(map(currentTheme => currentTheme === CurrentCarbonTheme.G10
|
|
1906
|
+
? CARBON_THEME.G10
|
|
1907
|
+
: CARBON_THEME.G90));
|
|
1908
|
+
this.widgetColors$ = combineLatest([this.widget$, this.theme$]).pipe(map(([widgetConfiguration, theme]) => this.getWidgetColorVariant(widgetConfiguration, theme)));
|
|
1900
1909
|
this._subscriptions = new Subscription();
|
|
1901
1910
|
}
|
|
1902
1911
|
ngAfterViewInit() {
|
|
@@ -1934,12 +1943,21 @@ class WidgetBlockComponent {
|
|
|
1934
1943
|
componentRef.instance.widgetParams = this.widgetParams;
|
|
1935
1944
|
}));
|
|
1936
1945
|
}
|
|
1946
|
+
getWidgetColorVariant(widgetConfiguration, theme) {
|
|
1947
|
+
const colorKey = widgetConfiguration.color ?? WidgetColor.WHITE;
|
|
1948
|
+
const widgetColor = WIDGET_COLOR_THEME_MAP[colorKey] ?? WIDGET_COLOR_THEME_MAP[WidgetColor.WHITE];
|
|
1949
|
+
const themeType = this.isLightTheme(theme) ? 'light' : 'dark';
|
|
1950
|
+
return widgetColor[themeType] ?? WIDGET_COLOR_THEME_MAP[WidgetColor.WHITE][themeType];
|
|
1951
|
+
}
|
|
1952
|
+
isLightTheme(theme) {
|
|
1953
|
+
return theme === CARBON_THEME.G10 || theme === CARBON_THEME.WHITE;
|
|
1954
|
+
}
|
|
1937
1955
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: WidgetBlockComponent, deps: [{ token: WidgetLayoutService }, { token: i2.ActivatedRoute }, { token: i1.CdsThemeService }, { token: i0.Renderer2 }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1938
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", 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-
|
|
1956
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", 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 }); }
|
|
1939
1957
|
}
|
|
1940
1958
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: WidgetBlockComponent, decorators: [{
|
|
1941
1959
|
type: Component,
|
|
1942
|
-
args: [{ selector: 'valtimo-widget-block', standalone: true, imports: [CommonModule, LoadingModule, CarbonListModule, TranslateModule, TilesModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n ~ Copyright 2015-
|
|
1960
|
+
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"] }]
|
|
1943
1961
|
}], ctorParameters: () => [{ type: WidgetLayoutService }, { type: i2.ActivatedRoute }, { type: i1.CdsThemeService }, { type: i0.Renderer2 }, { type: i0.ViewContainerRef }], propDecorators: { _widgetBlockContentRef: [{
|
|
1944
1962
|
type: ViewChild,
|
|
1945
1963
|
args: ['widgetBlockContent']
|
|
@@ -2089,7 +2107,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
2089
2107
|
*/
|
|
2090
2108
|
|
|
2091
2109
|
/*
|
|
2092
|
-
* Copyright 2015-
|
|
2110
|
+
* Copyright 2015-2026 Ritense BV, the Netherlands.
|
|
2093
2111
|
*
|
|
2094
2112
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
2095
2113
|
* you may not use this file except in compliance with the License.
|
|
@@ -2430,7 +2448,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
2430
2448
|
}] } });
|
|
2431
2449
|
|
|
2432
2450
|
/*
|
|
2433
|
-
* Copyright 2015-
|
|
2451
|
+
* Copyright 2015-2026 Ritense BV, the Netherlands.
|
|
2434
2452
|
*
|
|
2435
2453
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
2436
2454
|
* you may not use this file except in compliance with the License.
|
|
@@ -2450,7 +2468,8 @@ class WidgetWizardService {
|
|
|
2450
2468
|
this.$currentStep = signal(WidgetWizardStep.TYPE);
|
|
2451
2469
|
this.$selectedWidget = signal(null);
|
|
2452
2470
|
this.$widgetWidth = signal(null);
|
|
2453
|
-
this.$
|
|
2471
|
+
this.$widgetHighContrast = signal(false);
|
|
2472
|
+
this.$widgetColor = signal(null);
|
|
2454
2473
|
this.$widgetDensity = signal(null);
|
|
2455
2474
|
this.$widgetContent = signal(null);
|
|
2456
2475
|
this.$widgetDisplayConditions = signal(null);
|
|
@@ -2468,7 +2487,7 @@ class WidgetWizardService {
|
|
|
2468
2487
|
WidgetWizardStep.TYPE,
|
|
2469
2488
|
WidgetWizardStep.WIDTH,
|
|
2470
2489
|
WidgetWizardStep.DENSITY,
|
|
2471
|
-
WidgetWizardStep.
|
|
2490
|
+
WidgetWizardStep.APPEARANCE,
|
|
2472
2491
|
WidgetWizardStep.CONTENT,
|
|
2473
2492
|
WidgetWizardStep.FILTERS,
|
|
2474
2493
|
WidgetWizardStep.DISPLAY_CONDITIONS,
|
|
@@ -2478,7 +2497,7 @@ class WidgetWizardService {
|
|
|
2478
2497
|
[WidgetWizardStep.TYPE]: !!this.$selectedWidget()?.type,
|
|
2479
2498
|
[WidgetWizardStep.WIDTH]: !!this.$widgetWidth(),
|
|
2480
2499
|
[WidgetWizardStep.DENSITY]: this.$widgetDensity() !== null,
|
|
2481
|
-
[WidgetWizardStep.
|
|
2500
|
+
[WidgetWizardStep.APPEARANCE]: !!this.$widgetColor(),
|
|
2482
2501
|
[WidgetWizardStep.CONTENT]: !!this.$widgetContent() &&
|
|
2483
2502
|
this.$widgetContentValid() &&
|
|
2484
2503
|
(!!this.$widgetTitle() || this.$disableTitleInput()),
|
|
@@ -2495,6 +2514,13 @@ class WidgetWizardService {
|
|
|
2495
2514
|
: [WidgetType.COLLECTION, WidgetType.FIELDS, WidgetType.TABLE].includes(selectedType);
|
|
2496
2515
|
},
|
|
2497
2516
|
},
|
|
2517
|
+
[WidgetWizardStep.APPEARANCE]: {
|
|
2518
|
+
dependingStep: WidgetWizardStep.TYPE,
|
|
2519
|
+
condition: () => {
|
|
2520
|
+
const selectedType = this.$selectedWidget()?.type;
|
|
2521
|
+
return !!selectedType && [WidgetType.FIELDS, WidgetType.COLLECTION, WidgetType.TABLE].includes(selectedType);
|
|
2522
|
+
},
|
|
2523
|
+
},
|
|
2498
2524
|
[WidgetWizardStep.FILTERS]: {
|
|
2499
2525
|
dependingStep: WidgetWizardStep.TYPE,
|
|
2500
2526
|
condition: () => this.$selectedWidget()?.type === WidgetType.INTERACTIVE_TABLE,
|
|
@@ -2521,7 +2547,8 @@ class WidgetWizardService {
|
|
|
2521
2547
|
icon: this.$widgetIcon() ?? '',
|
|
2522
2548
|
type: this.$selectedWidget()?.type ?? WidgetType.FIELDS,
|
|
2523
2549
|
width: this.$widgetWidth() || this._defaultWidth || 4,
|
|
2524
|
-
highContrast:
|
|
2550
|
+
highContrast: this.$widgetHighContrast(),
|
|
2551
|
+
color: this.$widgetColor() ?? WidgetColor.WHITE,
|
|
2525
2552
|
isCompact: this.$widgetDensity() === WidgetDensity.COMPACT,
|
|
2526
2553
|
properties: this.$widgetContent() ?? {},
|
|
2527
2554
|
actions: this.$widgetActions() ?? [],
|
|
@@ -2539,7 +2566,8 @@ class WidgetWizardService {
|
|
|
2539
2566
|
this.$currentStep.set(WidgetWizardStep.TYPE);
|
|
2540
2567
|
this.$selectedWidget.set(null);
|
|
2541
2568
|
this.$widgetWidth.set(this._defaultWidth || null);
|
|
2542
|
-
this.$
|
|
2569
|
+
this.$widgetHighContrast.set(false);
|
|
2570
|
+
this.$widgetColor.set(null);
|
|
2543
2571
|
this.$widgetContent.set(null);
|
|
2544
2572
|
this.$widgetTitle.set(null);
|
|
2545
2573
|
this.$widgetIcon.set(null);
|
|
@@ -2558,7 +2586,7 @@ class WidgetWizardService {
|
|
|
2558
2586
|
WidgetWizardStep.TYPE,
|
|
2559
2587
|
WidgetWizardStep.WIDTH,
|
|
2560
2588
|
WidgetWizardStep.DENSITY,
|
|
2561
|
-
WidgetWizardStep.
|
|
2589
|
+
WidgetWizardStep.APPEARANCE,
|
|
2562
2590
|
WidgetWizardStep.CONTENT,
|
|
2563
2591
|
WidgetWizardStep.FILTERS,
|
|
2564
2592
|
WidgetWizardStep.DISPLAY_CONDITIONS,
|
|
@@ -2744,7 +2772,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
2744
2772
|
}], ctorParameters: () => [{ type: i1$3.FormBuilder }, { type: i2$1.TranslateService }, { type: WidgetWizardService }, { type: i2.ActivatedRoute }] });
|
|
2745
2773
|
|
|
2746
2774
|
/*
|
|
2747
|
-
* Copyright 2015-
|
|
2775
|
+
* Copyright 2015-2026 Ritense BV, the Netherlands.
|
|
2748
2776
|
*
|
|
2749
2777
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
2750
2778
|
* you may not use this file except in compliance with the License.
|
|
@@ -2758,21 +2786,30 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
2758
2786
|
* See the License for the specific language governing permissions and
|
|
2759
2787
|
* limitations under the License.
|
|
2760
2788
|
*/
|
|
2761
|
-
class
|
|
2789
|
+
class WidgetWizardAppearanceStepComponent {
|
|
2762
2790
|
constructor(widgetWizardService) {
|
|
2763
2791
|
this.widgetWizardService = widgetWizardService;
|
|
2764
|
-
this
|
|
2765
|
-
this
|
|
2792
|
+
this.$widgetColor = this.widgetWizardService.$widgetColor;
|
|
2793
|
+
this.colorTranslationKeyMap = {
|
|
2794
|
+
[WidgetColor.HIGHCONTRAST]: 'highContrast',
|
|
2795
|
+
};
|
|
2796
|
+
this.colorTiles = WIDGET_COLOR_ITEMS.map(color => ({
|
|
2797
|
+
color,
|
|
2798
|
+
labelKey: `widgetTabManagement.appearance.backgroundColor.colors.${this.colorTranslationKeyMap[color] ?? color.toLowerCase()}`,
|
|
2799
|
+
illustration: WIDGET_COLOR_ILLUSTRATION_MAP[color],
|
|
2800
|
+
}));
|
|
2766
2801
|
}
|
|
2767
|
-
|
|
2768
|
-
|
|
2802
|
+
onColorSelected(event) {
|
|
2803
|
+
if (!event?.value)
|
|
2804
|
+
return;
|
|
2805
|
+
this.widgetWizardService.$widgetColor.set(event.value);
|
|
2769
2806
|
}
|
|
2770
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type:
|
|
2771
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
2807
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: WidgetWizardAppearanceStepComponent, deps: [{ token: WidgetWizardService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2808
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.18", 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 [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$1.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 }); }
|
|
2772
2809
|
}
|
|
2773
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type:
|
|
2810
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: WidgetWizardAppearanceStepComponent, decorators: [{
|
|
2774
2811
|
type: Component,
|
|
2775
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, TranslateModule, TilesModule], template: "<!--\n ~ Copyright 2015-
|
|
2812
|
+
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, TranslateModule, TilesModule], 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 [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"] }]
|
|
2776
2813
|
}], ctorParameters: () => [{ type: WidgetWizardService }] });
|
|
2777
2814
|
|
|
2778
2815
|
/*
|
|
@@ -3021,7 +3058,7 @@ class WidgetWizardFiltersStepComponent {
|
|
|
3021
3058
|
return filteredItems;
|
|
3022
3059
|
}
|
|
3023
3060
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: WidgetWizardFiltersStepComponent, deps: [{ token: i1$3.FormBuilder }, { token: WidgetWizardService }, { token: i3.IconService }, { token: i2$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3024
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.18", 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 </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:1fr 1fr 180px 180px;align-items:flex-end;gap:16px}.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 .cds--text-input{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$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 }); }
|
|
3061
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.18", 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 </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:1fr 1fr 180px 180px;align-items:flex-end;gap:16px}.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 .cds--text-input{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$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 }); }
|
|
3025
3062
|
}
|
|
3026
3063
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: WidgetWizardFiltersStepComponent, decorators: [{
|
|
3027
3064
|
type: Component,
|
|
@@ -3036,14 +3073,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
3036
3073
|
IconModule,
|
|
3037
3074
|
InputLabelModule,
|
|
3038
3075
|
DropdownModule,
|
|
3039
|
-
], 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
|
|
3076
|
+
], 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 </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:1fr 1fr 180px 180px;align-items:flex-end;gap:16px}.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 .cds--text-input{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"] }]
|
|
3040
3077
|
}], ctorParameters: () => [{ type: i1$3.FormBuilder }, { type: WidgetWizardService }, { type: i3.IconService }, { type: i2$1.TranslateService }], propDecorators: { class: [{
|
|
3041
3078
|
type: HostBinding,
|
|
3042
3079
|
args: ['class']
|
|
3043
3080
|
}] } });
|
|
3044
3081
|
|
|
3045
3082
|
/*
|
|
3046
|
-
* Copyright 2015-
|
|
3083
|
+
* Copyright 2015-2026 Ritense BV, the Netherlands.
|
|
3047
3084
|
*
|
|
3048
3085
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
3049
3086
|
* you may not use this file except in compliance with the License.
|
|
@@ -3059,7 +3096,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
3059
3096
|
*/
|
|
3060
3097
|
const WIDGET_STEPS = [
|
|
3061
3098
|
WidgetWizardContentStepComponent,
|
|
3062
|
-
|
|
3099
|
+
WidgetWizardAppearanceStepComponent,
|
|
3063
3100
|
WidgetWizardDensityStepComponent,
|
|
3064
3101
|
WidgetWizardTypeStepComponent,
|
|
3065
3102
|
WidgetWizardWidthStepComponent,
|
|
@@ -3068,7 +3105,7 @@ const WIDGET_STEPS = [
|
|
|
3068
3105
|
];
|
|
3069
3106
|
|
|
3070
3107
|
/*
|
|
3071
|
-
* Copyright 2015-
|
|
3108
|
+
* Copyright 2015-2026 Ritense BV, the Netherlands.
|
|
3072
3109
|
*
|
|
3073
3110
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
3074
3111
|
* you may not use this file except in compliance with the License.
|
|
@@ -3111,15 +3148,15 @@ class WidgetManagementWizardComponent {
|
|
|
3111
3148
|
this.secondaryLabels$ = combineLatest([
|
|
3112
3149
|
toObservable(this.widgetWizardService.$selectedWidget),
|
|
3113
3150
|
toObservable(this.widgetWizardService.$widgetWidth),
|
|
3114
|
-
toObservable(this.widgetWizardService.$widgetStyle),
|
|
3115
3151
|
toObservable(this.widgetWizardService.$widgetDensity),
|
|
3116
|
-
|
|
3152
|
+
toObservable(this.widgetWizardService.$widgetColor),
|
|
3153
|
+
]).pipe(map(([selectedWidget, selectedWidth, selectedDensity, selectedColor]) => {
|
|
3117
3154
|
const type = selectedWidget?.type ?? '';
|
|
3118
3155
|
return {
|
|
3119
3156
|
[WidgetWizardStep.TYPE]: type ? `widgetTabManagement.type.${type}.title` : '',
|
|
3120
3157
|
[WidgetWizardStep.WIDTH]: WIDGET_WIDTH_LABELS[selectedWidth ?? ''] ?? '',
|
|
3121
|
-
[WidgetWizardStep.STYLE]: WIDGET_STYLE_LABELS[selectedStyle ?? ''] ?? '',
|
|
3122
3158
|
[WidgetWizardStep.DENSITY]: WIDGET_DENSITY_LABELS[selectedDensity ?? ''] ?? '',
|
|
3159
|
+
[WidgetWizardStep.APPEARANCE]: selectedColor ? WIDGET_COLOR_LABELS[selectedColor] : '',
|
|
3123
3160
|
};
|
|
3124
3161
|
}));
|
|
3125
3162
|
this.steps$ = combineLatest([
|
|
@@ -3247,7 +3284,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
3247
3284
|
}] } });
|
|
3248
3285
|
|
|
3249
3286
|
/*
|
|
3250
|
-
* Copyright 2015-
|
|
3287
|
+
* Copyright 2015-2026 Ritense BV, the Netherlands.
|
|
3251
3288
|
*
|
|
3252
3289
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
3253
3290
|
* you may not use this file except in compliance with the License.
|
|
@@ -3325,6 +3362,15 @@ class WidgetManagementEditorComponent {
|
|
|
3325
3362
|
},
|
|
3326
3363
|
]
|
|
3327
3364
|
: []),
|
|
3365
|
+
...(this.widgetWizardService.$widgetWizardSteps().includes(WidgetWizardStep.APPEARANCE)
|
|
3366
|
+
? [
|
|
3367
|
+
{
|
|
3368
|
+
key: 'colorLabel',
|
|
3369
|
+
label: 'widgetTabManagement.columns.color',
|
|
3370
|
+
viewType: ViewType.TEXT,
|
|
3371
|
+
},
|
|
3372
|
+
]
|
|
3373
|
+
: []),
|
|
3328
3374
|
...(!singleWidget
|
|
3329
3375
|
? [
|
|
3330
3376
|
{
|
|
@@ -3368,6 +3414,7 @@ class WidgetManagementEditorComponent {
|
|
|
3368
3414
|
...item,
|
|
3369
3415
|
widthTranslation: this.translateService.instant(this.getWidthTranslationKey(item.width)),
|
|
3370
3416
|
densityTranslation: this.translateService.instant(`widgetTabManagement.density.${item.isCompact ? 'compact' : 'default'}.title`),
|
|
3417
|
+
colorLabel: this.getWidgetColorLabel(item),
|
|
3371
3418
|
tags: [
|
|
3372
3419
|
{
|
|
3373
3420
|
content: this.translateService.instant(`widgetTabManagement.type.${item.type}.title`),
|
|
@@ -3384,6 +3431,11 @@ class WidgetManagementEditorComponent {
|
|
|
3384
3431
|
this.$isDividerModalOpen = signal(false);
|
|
3385
3432
|
this.$dividerModalMode = signal('add');
|
|
3386
3433
|
this.$dragAndDropDisabled = signal(false);
|
|
3434
|
+
this._colorSupportedWidgetTypes = [
|
|
3435
|
+
WidgetType.FIELDS,
|
|
3436
|
+
WidgetType.COLLECTION,
|
|
3437
|
+
WidgetType.TABLE,
|
|
3438
|
+
];
|
|
3387
3439
|
this.iconService.registerAll([DragVertical16]);
|
|
3388
3440
|
}
|
|
3389
3441
|
ngOnDestroy() {
|
|
@@ -3398,7 +3450,8 @@ class WidgetManagementEditorComponent {
|
|
|
3398
3450
|
}
|
|
3399
3451
|
this.widgetWizardService.$widgetTitle.set(widget.title);
|
|
3400
3452
|
this.widgetWizardService.$widgetIcon.set(widget.icon ?? null);
|
|
3401
|
-
this.widgetWizardService.$
|
|
3453
|
+
this.widgetWizardService.$widgetHighContrast.set(!!widget.highContrast);
|
|
3454
|
+
this.widgetWizardService.$widgetColor.set(widget.color ?? WidgetColor.WHITE);
|
|
3402
3455
|
this.widgetWizardService.$widgetWidth.set(widget.width || this.widgetWizardService.defaultWidth);
|
|
3403
3456
|
this.widgetWizardService.$selectedWidget.set(AVAILABLE_WIDGETS.find(available => available.type === widget.type) ?? null);
|
|
3404
3457
|
this.widgetWizardService.$widgetDensity.set(!!widget.isCompact ? WidgetDensity.COMPACT : WidgetDensity.DEFAULT);
|
|
@@ -3409,6 +3462,13 @@ class WidgetManagementEditorComponent {
|
|
|
3409
3462
|
this.widgetWizardService.$widgetActions.set(widget.actions);
|
|
3410
3463
|
this.$isWizardOpen.set(true);
|
|
3411
3464
|
}
|
|
3465
|
+
getWidgetColorLabel(widget) {
|
|
3466
|
+
const color = this.widgetSupportsColor(widget.type) && widget.color ? widget.color : WidgetColor.WHITE;
|
|
3467
|
+
return this.translateService.instant(WIDGET_COLOR_LABELS[color] ?? 'widgetTabManagement.appearance.backgroundColor.colors.white');
|
|
3468
|
+
}
|
|
3469
|
+
widgetSupportsColor(type) {
|
|
3470
|
+
return this._colorSupportedWidgetTypes.includes(type);
|
|
3471
|
+
}
|
|
3412
3472
|
duplicateWidget(tabWidget) {
|
|
3413
3473
|
const tabWidgetClone = cloneDeep(tabWidget);
|
|
3414
3474
|
tabWidgetClone.key = '';
|
|
@@ -3740,7 +3800,7 @@ class WidgetMapComponent {
|
|
|
3740
3800
|
}
|
|
3741
3801
|
}
|
|
3742
3802
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: WidgetMapComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3743
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.18", 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(--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-
|
|
3803
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.18", 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$1.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: CarbonListModule }, { kind: "component", type: i1.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 }); }
|
|
3744
3804
|
}
|
|
3745
3805
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: WidgetMapComponent, decorators: [{
|
|
3746
3806
|
type: Component,
|
|
@@ -3753,7 +3813,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
3753
3813
|
ButtonModule,
|
|
3754
3814
|
WidgetActionButtonComponent,
|
|
3755
3815
|
SkeletonModule,
|
|
3756
|
-
], 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(--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-
|
|
3816
|
+
], 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"] }]
|
|
3757
3817
|
}], propDecorators: { class: [{
|
|
3758
3818
|
type: HostBinding,
|
|
3759
3819
|
args: ['class']
|
|
@@ -3845,7 +3905,196 @@ const DEFAULT_WIDGET_COMPONENT_MAP = {
|
|
|
3845
3905
|
const WIDGET_MANAGEMENT_SERVICE = new InjectionToken('WIDGET_MANAGEMENT_SERVICE');
|
|
3846
3906
|
|
|
3847
3907
|
/*
|
|
3848
|
-
* Copyright 2015-
|
|
3908
|
+
* Copyright 2015-2026 Ritense BV, the Netherlands.
|
|
3909
|
+
*
|
|
3910
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
3911
|
+
* you may not use this file except in compliance with the License.
|
|
3912
|
+
* You may obtain a copy of the License at
|
|
3913
|
+
*
|
|
3914
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
3915
|
+
*
|
|
3916
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
3917
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
3918
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3919
|
+
* See the License for the specific language governing permissions and
|
|
3920
|
+
* limitations under the License.
|
|
3921
|
+
*/
|
|
3922
|
+
const WIDGET_COLOR_ITEMS = [
|
|
3923
|
+
WidgetColor.WHITE,
|
|
3924
|
+
WidgetColor.HIGHCONTRAST,
|
|
3925
|
+
WidgetColor.BLUE,
|
|
3926
|
+
WidgetColor.PERIWINKLE,
|
|
3927
|
+
WidgetColor.PURPLE,
|
|
3928
|
+
WidgetColor.TURQOISE,
|
|
3929
|
+
WidgetColor.GREEN,
|
|
3930
|
+
WidgetColor.BROWN,
|
|
3931
|
+
WidgetColor.RED,
|
|
3932
|
+
WidgetColor.ORANGE,
|
|
3933
|
+
WidgetColor.YELLOW,
|
|
3934
|
+
];
|
|
3935
|
+
const DEFAULT_WIDGET_COLOR_THEME = {
|
|
3936
|
+
light: { text: null, accent: null, background: null, layer: null },
|
|
3937
|
+
dark: { text: null, accent: null, background: null, layer: null },
|
|
3938
|
+
};
|
|
3939
|
+
const WIDGET_COLOR_THEME_MAP = {
|
|
3940
|
+
[WidgetColor.WHITE]: DEFAULT_WIDGET_COLOR_THEME,
|
|
3941
|
+
[WidgetColor.HIGHCONTRAST]: {
|
|
3942
|
+
light: {
|
|
3943
|
+
text: '#F4F4F4',
|
|
3944
|
+
accent: '#393939',
|
|
3945
|
+
background: '#161616',
|
|
3946
|
+
layer: '#262626',
|
|
3947
|
+
},
|
|
3948
|
+
dark: {
|
|
3949
|
+
text: '#161616',
|
|
3950
|
+
accent: '#C6C6C6',
|
|
3951
|
+
background: '#FFFFFF',
|
|
3952
|
+
layer: '#F4F4F4',
|
|
3953
|
+
},
|
|
3954
|
+
},
|
|
3955
|
+
[WidgetColor.BLUE]: {
|
|
3956
|
+
light: {
|
|
3957
|
+
text: '#314A5EFF',
|
|
3958
|
+
accent: '#468CBEFF',
|
|
3959
|
+
background: '#E2EDF5FF',
|
|
3960
|
+
layer: '#F6FBFFFF',
|
|
3961
|
+
},
|
|
3962
|
+
dark: {
|
|
3963
|
+
text: '#E2EDF5FF',
|
|
3964
|
+
accent: '#468CBEFF',
|
|
3965
|
+
background: '#314A5EFF',
|
|
3966
|
+
layer: '#1A2D3CFF',
|
|
3967
|
+
},
|
|
3968
|
+
},
|
|
3969
|
+
[WidgetColor.PERIWINKLE]: {
|
|
3970
|
+
light: {
|
|
3971
|
+
text: '#1A146AFF',
|
|
3972
|
+
accent: '#4A42BEFF',
|
|
3973
|
+
background: '#D5D3F0FF',
|
|
3974
|
+
layer: '#EBEAFDFF',
|
|
3975
|
+
},
|
|
3976
|
+
dark: {
|
|
3977
|
+
text: '#D5D3F0FF',
|
|
3978
|
+
accent: '#4A42BEFF',
|
|
3979
|
+
background: '#1A146AFF',
|
|
3980
|
+
layer: '#0B0742FF',
|
|
3981
|
+
},
|
|
3982
|
+
},
|
|
3983
|
+
[WidgetColor.PURPLE]: {
|
|
3984
|
+
light: {
|
|
3985
|
+
text: '#603361FF',
|
|
3986
|
+
accent: '#B965BCFF',
|
|
3987
|
+
background: '#F4E6F4FF',
|
|
3988
|
+
layer: '#FBF5FBFF',
|
|
3989
|
+
},
|
|
3990
|
+
dark: {
|
|
3991
|
+
text: '#F4E6F4FF',
|
|
3992
|
+
accent: '#B965BCFF',
|
|
3993
|
+
background: '#603361FF',
|
|
3994
|
+
layer: '#3F203FFF',
|
|
3995
|
+
},
|
|
3996
|
+
},
|
|
3997
|
+
[WidgetColor.TURQOISE]: {
|
|
3998
|
+
light: {
|
|
3999
|
+
text: '#297063FF',
|
|
4000
|
+
accent: '#359C85FF',
|
|
4001
|
+
background: '#ECF8F6FF',
|
|
4002
|
+
layer: '#F8FFFEFF',
|
|
4003
|
+
},
|
|
4004
|
+
dark: {
|
|
4005
|
+
text: '#ECF8F6FF',
|
|
4006
|
+
accent: '#359C85FF',
|
|
4007
|
+
background: '#297063FF',
|
|
4008
|
+
layer: '#184A40FF',
|
|
4009
|
+
},
|
|
4010
|
+
},
|
|
4011
|
+
[WidgetColor.GREEN]: {
|
|
4012
|
+
light: {
|
|
4013
|
+
text: '#245B25FF',
|
|
4014
|
+
accent: '#3F9C40FF',
|
|
4015
|
+
background: '#E8F3E8FF',
|
|
4016
|
+
layer: '#F8FFF8FF',
|
|
4017
|
+
},
|
|
4018
|
+
dark: {
|
|
4019
|
+
text: '#E8F3E8FF',
|
|
4020
|
+
accent: '#3F9C40FF',
|
|
4021
|
+
background: '#245B25FF',
|
|
4022
|
+
layer: '#153C15FF',
|
|
4023
|
+
},
|
|
4024
|
+
},
|
|
4025
|
+
[WidgetColor.BROWN]: {
|
|
4026
|
+
light: {
|
|
4027
|
+
text: '#6E5326FF',
|
|
4028
|
+
accent: '#A07837FF',
|
|
4029
|
+
background: '#ECE4D7FF',
|
|
4030
|
+
layer: '#F6F2EBFF',
|
|
4031
|
+
},
|
|
4032
|
+
dark: {
|
|
4033
|
+
text: '#ECE4D7FF',
|
|
4034
|
+
accent: '#A07837FF',
|
|
4035
|
+
background: '#6E5326FF',
|
|
4036
|
+
layer: '#493617FF',
|
|
4037
|
+
},
|
|
4038
|
+
},
|
|
4039
|
+
[WidgetColor.RED]: {
|
|
4040
|
+
light: {
|
|
4041
|
+
text: '#7C2C2DFF',
|
|
4042
|
+
accent: '#D34F51FF',
|
|
4043
|
+
background: '#F6DCDCFF',
|
|
4044
|
+
layer: '#FFEBEBFF',
|
|
4045
|
+
},
|
|
4046
|
+
dark: {
|
|
4047
|
+
text: '#F6DCDCFF',
|
|
4048
|
+
accent: '#D34F51FF',
|
|
4049
|
+
background: '#7C2C2DFF',
|
|
4050
|
+
layer: '#561D1EFF',
|
|
4051
|
+
},
|
|
4052
|
+
},
|
|
4053
|
+
[WidgetColor.ORANGE]: {
|
|
4054
|
+
light: {
|
|
4055
|
+
text: '#673D13FF',
|
|
4056
|
+
accent: '#CC6300FF',
|
|
4057
|
+
background: '#FFE5CCFF',
|
|
4058
|
+
layer: '#FFF1E4FF',
|
|
4059
|
+
},
|
|
4060
|
+
dark: {
|
|
4061
|
+
text: '#FFE5CCFF',
|
|
4062
|
+
accent: '#CC6300FF',
|
|
4063
|
+
background: '#673D13FF',
|
|
4064
|
+
layer: '#41270CFF',
|
|
4065
|
+
},
|
|
4066
|
+
},
|
|
4067
|
+
[WidgetColor.YELLOW]: {
|
|
4068
|
+
light: {
|
|
4069
|
+
text: '#6F5C29FF',
|
|
4070
|
+
accent: '#FAD165FF',
|
|
4071
|
+
background: '#FEF6E0FF',
|
|
4072
|
+
layer: '#FFFBF1FF',
|
|
4073
|
+
},
|
|
4074
|
+
dark: {
|
|
4075
|
+
text: '#FEF6E0FF',
|
|
4076
|
+
accent: '#FAD165FF',
|
|
4077
|
+
background: '#6F5C29FF',
|
|
4078
|
+
layer: '#483B17FF',
|
|
4079
|
+
},
|
|
4080
|
+
},
|
|
4081
|
+
};
|
|
4082
|
+
const WIDGET_COLOR_ILLUSTRATION_MAP = {
|
|
4083
|
+
[WidgetColor.YELLOW]: 'valtimo-layout/img/widget-management/color/yellow.svg',
|
|
4084
|
+
[WidgetColor.ORANGE]: 'valtimo-layout/img/widget-management/color/orange.svg',
|
|
4085
|
+
[WidgetColor.RED]: 'valtimo-layout/img/widget-management/color/red.svg',
|
|
4086
|
+
[WidgetColor.BROWN]: 'valtimo-layout/img/widget-management/color/brown.svg',
|
|
4087
|
+
[WidgetColor.GREEN]: 'valtimo-layout/img/widget-management/color/green.svg',
|
|
4088
|
+
[WidgetColor.TURQOISE]: 'valtimo-layout/img/widget-management/color/turqoise.svg',
|
|
4089
|
+
[WidgetColor.PURPLE]: 'valtimo-layout/img/widget-management/color/purple.svg',
|
|
4090
|
+
[WidgetColor.PERIWINKLE]: 'valtimo-layout/img/widget-management/color/periwinkle.svg',
|
|
4091
|
+
[WidgetColor.BLUE]: 'valtimo-layout/img/widget-management/color/blue.svg',
|
|
4092
|
+
[WidgetColor.WHITE]: 'valtimo-layout/img/widget-management/color/default.svg',
|
|
4093
|
+
[WidgetColor.HIGHCONTRAST]: 'valtimo-layout/img/widget-management/color/highContrast.svg',
|
|
4094
|
+
};
|
|
4095
|
+
|
|
4096
|
+
/*
|
|
4097
|
+
* Copyright 2015-2026 Ritense BV, the Netherlands.
|
|
3849
4098
|
*
|
|
3850
4099
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
3851
4100
|
* you may not use this file except in compliance with the License.
|
|
@@ -5037,7 +5286,7 @@ var WidgetWizardStep;
|
|
|
5037
5286
|
WidgetWizardStep["TYPE"] = "type";
|
|
5038
5287
|
WidgetWizardStep["WIDTH"] = "width";
|
|
5039
5288
|
WidgetWizardStep["DENSITY"] = "density";
|
|
5040
|
-
WidgetWizardStep["
|
|
5289
|
+
WidgetWizardStep["APPEARANCE"] = "appearance";
|
|
5041
5290
|
WidgetWizardStep["CONTENT"] = "content";
|
|
5042
5291
|
WidgetWizardStep["FILTERS"] = "filters";
|
|
5043
5292
|
WidgetWizardStep["DISPLAY_CONDITIONS"] = "displayConditions";
|
|
@@ -5048,11 +5297,6 @@ var WidgetWizardCloseEventType;
|
|
|
5048
5297
|
WidgetWizardCloseEventType["CREATE"] = "create";
|
|
5049
5298
|
WidgetWizardCloseEventType["EDIT"] = "edit";
|
|
5050
5299
|
})(WidgetWizardCloseEventType || (WidgetWizardCloseEventType = {}));
|
|
5051
|
-
var WidgetStyle;
|
|
5052
|
-
(function (WidgetStyle) {
|
|
5053
|
-
WidgetStyle["DEFAULT"] = "default";
|
|
5054
|
-
WidgetStyle["HIGH_CONTRAST"] = "high-contrast";
|
|
5055
|
-
})(WidgetStyle || (WidgetStyle = {}));
|
|
5056
5300
|
var WidgetDensity;
|
|
5057
5301
|
(function (WidgetDensity) {
|
|
5058
5302
|
WidgetDensity["DEFAULT"] = "default";
|
|
@@ -5062,7 +5306,7 @@ const WIZARD_STEP_COMPONENTS = {
|
|
|
5062
5306
|
[WidgetWizardStep.TYPE]: WidgetWizardTypeStepComponent,
|
|
5063
5307
|
[WidgetWizardStep.WIDTH]: WidgetWizardWidthStepComponent,
|
|
5064
5308
|
[WidgetWizardStep.DENSITY]: WidgetWizardDensityStepComponent,
|
|
5065
|
-
[WidgetWizardStep.
|
|
5309
|
+
[WidgetWizardStep.APPEARANCE]: WidgetWizardAppearanceStepComponent,
|
|
5066
5310
|
[WidgetWizardStep.CONTENT]: WidgetWizardContentStepComponent,
|
|
5067
5311
|
[WidgetWizardStep.FILTERS]: WidgetWizardFiltersStepComponent,
|
|
5068
5312
|
[WidgetWizardStep.DISPLAY_CONDITIONS]: WidgetWizardDisplayConditionsStepComponent,
|
|
@@ -5124,9 +5368,18 @@ const WIDGET_WIDTH_LABELS = {
|
|
|
5124
5368
|
3: 'widgetTabManagement.width.large.title',
|
|
5125
5369
|
4: 'widgetTabManagement.width.xtraLarge.title',
|
|
5126
5370
|
};
|
|
5127
|
-
const
|
|
5128
|
-
[
|
|
5129
|
-
[
|
|
5371
|
+
const WIDGET_COLOR_LABELS = {
|
|
5372
|
+
[WidgetColor.YELLOW]: 'widgetTabManagement.appearance.backgroundColor.colors.yellow',
|
|
5373
|
+
[WidgetColor.ORANGE]: 'widgetTabManagement.appearance.backgroundColor.colors.orange',
|
|
5374
|
+
[WidgetColor.RED]: 'widgetTabManagement.appearance.backgroundColor.colors.red',
|
|
5375
|
+
[WidgetColor.BROWN]: 'widgetTabManagement.appearance.backgroundColor.colors.brown',
|
|
5376
|
+
[WidgetColor.GREEN]: 'widgetTabManagement.appearance.backgroundColor.colors.green',
|
|
5377
|
+
[WidgetColor.TURQOISE]: 'widgetTabManagement.appearance.backgroundColor.colors.turqoise',
|
|
5378
|
+
[WidgetColor.PURPLE]: 'widgetTabManagement.appearance.backgroundColor.colors.purple',
|
|
5379
|
+
[WidgetColor.PERIWINKLE]: 'widgetTabManagement.appearance.backgroundColor.colors.periwinkle',
|
|
5380
|
+
[WidgetColor.BLUE]: 'widgetTabManagement.appearance.backgroundColor.colors.blue',
|
|
5381
|
+
[WidgetColor.WHITE]: 'widgetTabManagement.appearance.backgroundColor.colors.white',
|
|
5382
|
+
[WidgetColor.HIGHCONTRAST]: 'widgetTabManagement.appearance.backgroundColor.colors.white',
|
|
5130
5383
|
};
|
|
5131
5384
|
const WIDGET_DENSITY_LABELS = {
|
|
5132
5385
|
[WidgetDensity.DEFAULT]: 'widgetTabManagement.density.default.title',
|
|
@@ -5492,5 +5745,5 @@ class ManagementWidgetDetailsComponent {
|
|
|
5492
5745
|
* Generated bundle index. Do not edit.
|
|
5493
5746
|
*/
|
|
5494
5747
|
|
|
5495
|
-
export { AVAILABLE_WIDGETS, CUSTOM_WIDGET_TOKEN, DEFAULT_WIDGET_COMPONENT_MAP, LayoutComponent, LayoutInternalComponent, LayoutModule, LayoutPublicComponent, LayoutService, ManagementWidgetDetailsComponent, TranslationManagementComponent, TranslationManagementModule, WIDGET_DENSITY_LABELS, WIDGET_HEIGHT_1X, WIDGET_MANAGEMENT_SERVICE,
|
|
5748
|
+
export { AVAILABLE_WIDGETS, CUSTOM_WIDGET_TOKEN, DEFAULT_WIDGET_COMPONENT_MAP, LayoutComponent, LayoutInternalComponent, LayoutModule, LayoutPublicComponent, LayoutService, ManagementWidgetDetailsComponent, TranslationManagementComponent, TranslationManagementModule, WIDGET_COLOR_ILLUSTRATION_MAP, WIDGET_COLOR_ITEMS, WIDGET_COLOR_LABELS, WIDGET_COLOR_THEME_MAP, WIDGET_DENSITY_LABELS, WIDGET_HEIGHT_1X, WIDGET_MANAGEMENT_SERVICE, WIDGET_WIDTH_1X, WIDGET_WIDTH_LABELS, WIZARD_STEP_COMPONENTS, WidgetActionButtonComponent, WidgetBlockComponent, WidgetCollectionComponent, WidgetColor, WidgetContainerComponent, WidgetCustomComponent, WidgetDensity, WidgetDisplayTypeKey, WidgetFieldComponent, WidgetFieldsService, WidgetFormioComponent, WidgetInteractiveTableComponent, WidgetInteractiveTableSearchComponent, WidgetLayoutService, WidgetManagementCollectionComponent, WidgetManagementComponent, WidgetManagementCustomComponent, WidgetManagementEditorComponent, WidgetManagementFieldsComponent, WidgetManagementMapComponent, WidgetManagementTab, WidgetManagementTableComponent, WidgetManagementWizardComponent, WidgetMapComponent, WidgetTableComponent, WidgetType, WidgetTypeTags, WidgetWizardCloseEventType, WidgetWizardService, WidgetWizardStep };
|
|
5496
5749
|
//# sourceMappingURL=valtimo-layout.mjs.map
|