@valtimo/dashboard 12.19.0 → 13.0.1-next-minor.81

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.
Files changed (155) hide show
  1. package/fesm2022/valtimo-dashboard.mjs +318 -361
  2. package/fesm2022/valtimo-dashboard.mjs.map +1 -1
  3. package/lib/components/dashboard/dashboard.component.d.ts.map +1 -1
  4. package/lib/components/widget-dashboard/widget-dashboard.component.d.ts.map +1 -1
  5. package/lib/components/widget-dashboard-content/widget-dashboard-content.component.d.ts.map +1 -1
  6. package/lib/dashboard.module.d.ts +1 -1
  7. package/lib/dashboard.module.d.ts.map +1 -1
  8. package/lib/data-sources/case-count/case-count.specification.d.ts.map +1 -1
  9. package/lib/data-sources/case-count/components/case-count-configuration/case-count-configuration.component.d.ts +1 -3
  10. package/lib/data-sources/case-count/components/case-count-configuration/case-count-configuration.component.d.ts.map +1 -1
  11. package/lib/data-sources/case-counts/case-counts.specification.d.ts.map +1 -1
  12. package/lib/data-sources/case-counts/components/case-counts-configuration/case-counts-configuration.component.d.ts +1 -3
  13. package/lib/data-sources/case-counts/components/case-counts-configuration/case-counts-configuration.component.d.ts.map +1 -1
  14. package/lib/data-sources/case-group-by/case-group-by.specification.d.ts.map +1 -1
  15. package/lib/data-sources/case-group-by/components/case-group-by-configuration/case-group-by-configuration.component.d.ts +1 -3
  16. package/lib/data-sources/case-group-by/components/case-group-by-configuration/case-group-by-configuration.component.d.ts.map +1 -1
  17. package/lib/data-sources/data-sources.module.d.ts.map +1 -1
  18. package/lib/data-sources/shared/conditions.d.ts.map +1 -1
  19. package/lib/data-sources/task-count/components/task-count-configuration/task-count-configuration.component.d.ts +1 -3
  20. package/lib/data-sources/task-count/components/task-count-configuration/task-count-configuration.component.d.ts.map +1 -1
  21. package/lib/data-sources/task-count/task-count.specification.d.ts.map +1 -1
  22. package/lib/display-types/bar-chart/components/bar-chart-configuration/bar-chart-configuration.component.d.ts.map +1 -1
  23. package/lib/display-types/bar-chart/components/bar-chart-display/bar-chart-display.component.d.ts.map +1 -1
  24. package/lib/display-types/big-number/components/big-number-configuration/big-number-configuration.component.d.ts.map +1 -1
  25. package/lib/display-types/big-number/components/big-number-display/big-number-display.component.d.ts.map +1 -1
  26. package/lib/display-types/display-widget-types.module.d.ts.map +1 -1
  27. package/lib/display-types/donut/components/donut-configuration/donut-configuration.component.d.ts.map +1 -1
  28. package/lib/display-types/donut/components/donut-display/donut-display.component.d.ts.map +1 -1
  29. package/lib/display-types/gauge/components/gauge-configuration/gauge-configuration.component.d.ts.map +1 -1
  30. package/lib/display-types/gauge/components/gauge-display/gauge-display.component.d.ts.map +1 -1
  31. package/lib/display-types/meter/components/meter-configuration/meter-configuration.component.d.ts.map +1 -1
  32. package/lib/display-types/meter/components/meter-display/meter-display.component.d.ts.map +1 -1
  33. package/lib/models/data-source.model.d.ts +1 -9
  34. package/lib/models/data-source.model.d.ts.map +1 -1
  35. package/lib/pipes/widget-translate/widget-translate.pipe.d.ts.map +1 -1
  36. package/lib/services/dashboard.service.d.ts +1 -1
  37. package/lib/services/widget-api.service.d.ts +1 -1
  38. package/package.json +10 -12
  39. package/esm2022/lib/components/dashboard/dashboard.component.mjs +0 -85
  40. package/esm2022/lib/components/widget-dashboard/widget-dashboard.component.mjs +0 -58
  41. package/esm2022/lib/components/widget-dashboard-content/widget-dashboard-content.component.mjs +0 -173
  42. package/esm2022/lib/constants/data-features.constants.mjs +0 -22
  43. package/esm2022/lib/constants/index.mjs +0 -19
  44. package/esm2022/lib/constants/injection-tokens.mjs +0 -20
  45. package/esm2022/lib/constants/layout.constants.mjs +0 -19
  46. package/esm2022/lib/dashboard-routing.module.mjs +0 -45
  47. package/esm2022/lib/dashboard.module.mjs +0 -115
  48. package/esm2022/lib/data-sources/case-count/case-count.module.mjs +0 -61
  49. package/esm2022/lib/data-sources/case-count/case-count.specification.mjs +0 -75
  50. package/esm2022/lib/data-sources/case-count/components/case-count-configuration/case-count-configuration.component.mjs +0 -151
  51. package/esm2022/lib/data-sources/case-count/components/case-count-configuration/index.mjs +0 -17
  52. package/esm2022/lib/data-sources/case-count/components/index.mjs +0 -17
  53. package/esm2022/lib/data-sources/case-count/index.mjs +0 -20
  54. package/esm2022/lib/data-sources/case-count/models/case-count.model.mjs +0 -17
  55. package/esm2022/lib/data-sources/case-count/models/index.mjs +0 -17
  56. package/esm2022/lib/data-sources/case-counts/case-counts.module.mjs +0 -76
  57. package/esm2022/lib/data-sources/case-counts/case-counts.specification.mjs +0 -78
  58. package/esm2022/lib/data-sources/case-counts/components/case-counts-configuration/case-counts-configuration.component.mjs +0 -206
  59. package/esm2022/lib/data-sources/case-counts/components/case-counts-configuration/index.mjs +0 -17
  60. package/esm2022/lib/data-sources/case-counts/components/index.mjs +0 -17
  61. package/esm2022/lib/data-sources/case-counts/index.mjs +0 -20
  62. package/esm2022/lib/data-sources/case-counts/models/case-counts.model.mjs +0 -17
  63. package/esm2022/lib/data-sources/case-counts/models/index.mjs +0 -17
  64. package/esm2022/lib/data-sources/case-group-by/case-group-by.module.mjs +0 -64
  65. package/esm2022/lib/data-sources/case-group-by/case-group-by.specification.mjs +0 -90
  66. package/esm2022/lib/data-sources/case-group-by/components/case-group-by-configuration/case-group-by-configuration.component.mjs +0 -209
  67. package/esm2022/lib/data-sources/case-group-by/components/case-group-by-configuration/index.mjs +0 -17
  68. package/esm2022/lib/data-sources/case-group-by/components/index.mjs +0 -17
  69. package/esm2022/lib/data-sources/case-group-by/index.mjs +0 -20
  70. package/esm2022/lib/data-sources/case-group-by/models/case-group-by.model.mjs +0 -17
  71. package/esm2022/lib/data-sources/case-group-by/models/index.mjs +0 -17
  72. package/esm2022/lib/data-sources/data-sources.module.mjs +0 -29
  73. package/esm2022/lib/data-sources/index.mjs +0 -20
  74. package/esm2022/lib/data-sources/shared/conditions.mjs +0 -22
  75. package/esm2022/lib/data-sources/shared/index.mjs +0 -17
  76. package/esm2022/lib/data-sources/task-count/components/index.mjs +0 -17
  77. package/esm2022/lib/data-sources/task-count/components/task-count-configuration/index.mjs +0 -17
  78. package/esm2022/lib/data-sources/task-count/components/task-count-configuration/task-count-configuration.component.mjs +0 -122
  79. package/esm2022/lib/data-sources/task-count/index.mjs +0 -20
  80. package/esm2022/lib/data-sources/task-count/models/index.mjs +0 -17
  81. package/esm2022/lib/data-sources/task-count/models/task-count.model.mjs +0 -17
  82. package/esm2022/lib/data-sources/task-count/task-count.module.mjs +0 -57
  83. package/esm2022/lib/data-sources/task-count/task-count.specification.mjs +0 -69
  84. package/esm2022/lib/display-types/bar-chart/bar-chart.module.mjs +0 -68
  85. package/esm2022/lib/display-types/bar-chart/bar-chart.specification.mjs +0 -55
  86. package/esm2022/lib/display-types/bar-chart/components/bar-chart-configuration/bar-chart-configuration.component.mjs +0 -83
  87. package/esm2022/lib/display-types/bar-chart/components/bar-chart-configuration/index.mjs +0 -17
  88. package/esm2022/lib/display-types/bar-chart/components/bar-chart-display/bar-chart-display.component.mjs +0 -64
  89. package/esm2022/lib/display-types/bar-chart/components/bar-chart-display/index.mjs +0 -17
  90. package/esm2022/lib/display-types/bar-chart/components/index.mjs +0 -18
  91. package/esm2022/lib/display-types/bar-chart/index.mjs +0 -20
  92. package/esm2022/lib/display-types/bar-chart/models/bar-chart.model.mjs +0 -17
  93. package/esm2022/lib/display-types/bar-chart/models/index.mjs +0 -17
  94. package/esm2022/lib/display-types/big-number/big-number.module.mjs +0 -53
  95. package/esm2022/lib/display-types/big-number/big-number.specification.mjs +0 -67
  96. package/esm2022/lib/display-types/big-number/components/big-number-configuration/big-number-configuration.component.mjs +0 -124
  97. package/esm2022/lib/display-types/big-number/components/big-number-configuration/index.mjs +0 -17
  98. package/esm2022/lib/display-types/big-number/components/big-number-display/big-number-display.component.mjs +0 -56
  99. package/esm2022/lib/display-types/big-number/components/big-number-display/index.mjs +0 -17
  100. package/esm2022/lib/display-types/big-number/components/index.mjs +0 -18
  101. package/esm2022/lib/display-types/big-number/index.mjs +0 -20
  102. package/esm2022/lib/display-types/big-number/models/big-number.model.mjs +0 -17
  103. package/esm2022/lib/display-types/big-number/models/index.mjs +0 -17
  104. package/esm2022/lib/display-types/display-widget-types.module.mjs +0 -19
  105. package/esm2022/lib/display-types/donut/components/donut-configuration/donut-configuration.component.mjs +0 -89
  106. package/esm2022/lib/display-types/donut/components/donut-configuration/index.mjs +0 -17
  107. package/esm2022/lib/display-types/donut/components/donut-display/donut-display.component.mjs +0 -72
  108. package/esm2022/lib/display-types/donut/components/donut-display/index.mjs +0 -17
  109. package/esm2022/lib/display-types/donut/components/index.mjs +0 -18
  110. package/esm2022/lib/display-types/donut/donut.module.mjs +0 -68
  111. package/esm2022/lib/display-types/donut/donut.specification.mjs +0 -55
  112. package/esm2022/lib/display-types/donut/index.mjs +0 -20
  113. package/esm2022/lib/display-types/donut/models/donut.model.mjs +0 -17
  114. package/esm2022/lib/display-types/donut/models/index.mjs +0 -17
  115. package/esm2022/lib/display-types/gauge/components/gauge-configuration/gauge-configuration.component.mjs +0 -89
  116. package/esm2022/lib/display-types/gauge/components/gauge-configuration/index.mjs +0 -17
  117. package/esm2022/lib/display-types/gauge/components/gauge-display/gauge-display.component.mjs +0 -86
  118. package/esm2022/lib/display-types/gauge/components/gauge-display/index.mjs +0 -17
  119. package/esm2022/lib/display-types/gauge/components/index.mjs +0 -18
  120. package/esm2022/lib/display-types/gauge/gauge.module.mjs +0 -60
  121. package/esm2022/lib/display-types/gauge/gauge.specification.mjs +0 -55
  122. package/esm2022/lib/display-types/gauge/index.mjs +0 -20
  123. package/esm2022/lib/display-types/gauge/models/gauge.model.mjs +0 -17
  124. package/esm2022/lib/display-types/gauge/models/index.mjs +0 -17
  125. package/esm2022/lib/display-types/index.mjs +0 -20
  126. package/esm2022/lib/display-types/meter/components/index.mjs +0 -18
  127. package/esm2022/lib/display-types/meter/components/meter-configuration/index.mjs +0 -17
  128. package/esm2022/lib/display-types/meter/components/meter-configuration/meter-configuration.component.mjs +0 -83
  129. package/esm2022/lib/display-types/meter/components/meter-display/index.mjs +0 -17
  130. package/esm2022/lib/display-types/meter/components/meter-display/meter-display.component.mjs +0 -71
  131. package/esm2022/lib/display-types/meter/index.mjs +0 -20
  132. package/esm2022/lib/display-types/meter/meter.module.mjs +0 -68
  133. package/esm2022/lib/display-types/meter/meter.specification.mjs +0 -55
  134. package/esm2022/lib/display-types/meter/models/index.mjs +0 -17
  135. package/esm2022/lib/display-types/meter/models/meter.model.mjs +0 -17
  136. package/esm2022/lib/models/configuration.model.mjs +0 -17
  137. package/esm2022/lib/models/dashboard.model.mjs +0 -17
  138. package/esm2022/lib/models/data-source.model.mjs +0 -26
  139. package/esm2022/lib/models/display-type.model.mjs +0 -17
  140. package/esm2022/lib/models/index.mjs +0 -23
  141. package/esm2022/lib/models/layout.model.mjs +0 -17
  142. package/esm2022/lib/models/widget-data.model.mjs +0 -17
  143. package/esm2022/lib/models/widget-display.model.mjs +0 -25
  144. package/esm2022/lib/pipes/index.mjs +0 -17
  145. package/esm2022/lib/pipes/widget-translate/index.mjs +0 -18
  146. package/esm2022/lib/pipes/widget-translate/widget-translate-pipe.module.mjs +0 -33
  147. package/esm2022/lib/pipes/widget-translate/widget-translate.pipe.mjs +0 -35
  148. package/esm2022/lib/services/dashboard.service.mjs +0 -38
  149. package/esm2022/lib/services/index.mjs +0 -19
  150. package/esm2022/lib/services/widget-api.service.mjs +0 -38
  151. package/esm2022/lib/services/widget-layout.service.mjs +0 -67
  152. package/esm2022/lib/services/widget-translation.service.mjs +0 -61
  153. package/esm2022/lib/services/widget.service.mjs +0 -62
  154. package/esm2022/public_api.mjs +0 -31
  155. package/esm2022/valtimo-dashboard.mjs +0 -5
@@ -1,58 +0,0 @@
1
- /*
2
- * Copyright 2015-2024 Ritense BV, the Netherlands.
3
- *
4
- * Licensed under EUPL, Version 1.2 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" basis,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import { Component, ViewEncapsulation } from '@angular/core';
17
- import { BehaviorSubject, tap } from 'rxjs';
18
- import * as i0 from "@angular/core";
19
- import * as i1 from "../../services";
20
- import * as i2 from "../../services/widget-api.service";
21
- import * as i3 from "@angular/common";
22
- import * as i4 from "carbon-components-angular";
23
- import * as i5 from "@valtimo/components";
24
- import * as i6 from "../widget-dashboard-content/widget-dashboard-content.component";
25
- import * as i7 from "@ngx-translate/core";
26
- export class WidgetDashboardComponent {
27
- constructor(dashboardService, widgetApiService) {
28
- this.dashboardService = dashboardService;
29
- this.widgetApiService = widgetApiService;
30
- this.dashboards$ = this.dashboardService.getDashboards().pipe(tap(dashboards => {
31
- if (dashboards.length === 1) {
32
- this.onTabSelected(dashboards[0].key);
33
- }
34
- }));
35
- this.activeWidgetData$ = new BehaviorSubject({
36
- data: [],
37
- loading: true,
38
- });
39
- this.selectedDashboardKey$ = new BehaviorSubject('');
40
- }
41
- onTabSelected(dashboardKey) {
42
- this.selectedDashboardKey$.next(dashboardKey);
43
- this.activeWidgetData$.next({ data: [], loading: true });
44
- this.widgetApiService
45
- .getWidgetData(dashboardKey)
46
- .subscribe((data) => this.activeWidgetData$.next({ data, loading: false }));
47
- }
48
- trackByIndex(index) {
49
- return index;
50
- }
51
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: WidgetDashboardComponent, deps: [{ token: i1.DashboardService }, { token: i2.WidgetApiService }], target: i0.ɵɵFactoryTarget.Component }); }
52
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: WidgetDashboardComponent, selector: "valtimo-widget-dashboard", ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF 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 *ngIf=\"dashboards$ | async as dashboards\" class=\"dashboards-container\">\n <valtimo-no-results\n *ngIf=\"!dashboards.length\"\n [title]=\"'dashboard.noDashboards' | translate\"\n [description]=\"'dashboard.noDashboardsDescription' | translate\"\n illustration=\"valtimo-layout/img/no-dashboards.svg\"\n ></valtimo-no-results>\n\n <div *ngIf=\"dashboards.length === 1\">\n <h4>{{ dashboards[0].title }}</h4>\n\n <valtimo-widget-dashboard-content\n [dashboard]=\"dashboards[0]\"\n [widgetData]=\"activeWidgetData$ | async\"\n ></valtimo-widget-dashboard-content>\n </div>\n\n <div *ngIf=\"dashboards.length > 1\">\n <cds-tabs>\n <cds-tab\n *ngFor=\"let dashboard of dashboards; trackBy: trackByIndex\"\n [heading]=\"dashboard.title\"\n (selected)=\"onTabSelected(dashboard.key)\"\n >\n <valtimo-widget-dashboard-content\n *ngIf=\"(selectedDashboardKey$ | async) === dashboard.key\"\n [dashboard]=\"dashboard\"\n [widgetData]=\"activeWidgetData$ | async\"\n ></valtimo-widget-dashboard-content>\n </cds-tab>\n </cds-tabs>\n </div>\n</div>\n", styles: [".dashboards-container .cds--tab-content{outline:0;padding:0}.dashboards-container .valtimo-no-results,.widget-container .valtimo-no-results{flex-wrap:wrap;align-items:flex-start;align-content:center;flex-direction:column;gap:16px!important}.dashboards-container .valtimo-no-results__content,.widget-container .valtimo-no-results__content{gap:16px!important;max-width:500px;line-height:20px}.dashboards-container .valtimo-no-results img,.widget-container .valtimo-no-results img{padding-left:0!important}.dashboards-container .valtimo-no-results span,.dashboards-container .valtimo-no-results h4,.widget-container .valtimo-no-results span,.widget-container .valtimo-no-results h4{width:100%!important}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.Tabs, selector: "cds-tabs, ibm-tabs", inputs: ["position", "cacheActive", "followFocus", "isNavigation", "ariaLabel", "ariaLabelledby", "type", "theme", "skeleton"] }, { kind: "component", type: i4.Tab, selector: "cds-tab, ibm-tab", inputs: ["heading", "title", "context", "active", "disabled", "tabIndex", "id", "cacheActive", "tabContent", "templateContext"], outputs: ["selected"] }, { kind: "component", type: i5.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "component", type: i6.WidgetDashboardContentComponent, selector: "valtimo-widget-dashboard-content", inputs: ["widgetData", "dashboard"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
53
- }
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: WidgetDashboardComponent, decorators: [{
55
- type: Component,
56
- args: [{ selector: 'valtimo-widget-dashboard', encapsulation: ViewEncapsulation.None, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF 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 *ngIf=\"dashboards$ | async as dashboards\" class=\"dashboards-container\">\n <valtimo-no-results\n *ngIf=\"!dashboards.length\"\n [title]=\"'dashboard.noDashboards' | translate\"\n [description]=\"'dashboard.noDashboardsDescription' | translate\"\n illustration=\"valtimo-layout/img/no-dashboards.svg\"\n ></valtimo-no-results>\n\n <div *ngIf=\"dashboards.length === 1\">\n <h4>{{ dashboards[0].title }}</h4>\n\n <valtimo-widget-dashboard-content\n [dashboard]=\"dashboards[0]\"\n [widgetData]=\"activeWidgetData$ | async\"\n ></valtimo-widget-dashboard-content>\n </div>\n\n <div *ngIf=\"dashboards.length > 1\">\n <cds-tabs>\n <cds-tab\n *ngFor=\"let dashboard of dashboards; trackBy: trackByIndex\"\n [heading]=\"dashboard.title\"\n (selected)=\"onTabSelected(dashboard.key)\"\n >\n <valtimo-widget-dashboard-content\n *ngIf=\"(selectedDashboardKey$ | async) === dashboard.key\"\n [dashboard]=\"dashboard\"\n [widgetData]=\"activeWidgetData$ | async\"\n ></valtimo-widget-dashboard-content>\n </cds-tab>\n </cds-tabs>\n </div>\n</div>\n", styles: [".dashboards-container .cds--tab-content{outline:0;padding:0}.dashboards-container .valtimo-no-results,.widget-container .valtimo-no-results{flex-wrap:wrap;align-items:flex-start;align-content:center;flex-direction:column;gap:16px!important}.dashboards-container .valtimo-no-results__content,.widget-container .valtimo-no-results__content{gap:16px!important;max-width:500px;line-height:20px}.dashboards-container .valtimo-no-results img,.widget-container .valtimo-no-results img{padding-left:0!important}.dashboards-container .valtimo-no-results span,.dashboards-container .valtimo-no-results h4,.widget-container .valtimo-no-results span,.widget-container .valtimo-no-results h4{width:100%!important}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
57
- }], ctorParameters: () => [{ type: i1.DashboardService }, { type: i2.WidgetApiService }] });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWRhc2hib2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2Rhc2hib2FyZC9zcmMvbGliL2NvbXBvbmVudHMvd2lkZ2V0LWRhc2hib2FyZC93aWRnZXQtZGFzaGJvYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZGFzaGJvYXJkL3NyYy9saWIvY29tcG9uZW50cy93aWRnZXQtZGFzaGJvYXJkL3dpZGdldC1kYXNoYm9hcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQUMsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFBQyxlQUFlLEVBQWMsR0FBRyxFQUFDLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7QUFXdEQsTUFBTSxPQUFPLHdCQUF3QjtJQWVuQyxZQUNtQixnQkFBa0MsRUFDbEMsZ0JBQWtDO1FBRGxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQWhCOUMsZ0JBQVcsR0FBaUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxDQUFDLElBQUksQ0FDM0YsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ2YsSUFBSSxVQUFVLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUM1QixJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN4QyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUNjLHNCQUFpQixHQUFHLElBQUksZUFBZSxDQUF5QztZQUM5RixJQUFJLEVBQUUsRUFBRTtZQUNSLE9BQU8sRUFBRSxJQUFJO1NBQ2QsQ0FBQyxDQUFDO1FBRWEsMEJBQXFCLEdBQUcsSUFBSSxlQUFlLENBQVMsRUFBRSxDQUFDLENBQUM7SUFLckUsQ0FBQztJQUVHLGFBQWEsQ0FBQyxZQUFvQjtRQUN2QyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO1FBRXZELElBQUksQ0FBQyxnQkFBZ0I7YUFDbEIsYUFBYSxDQUFDLFlBQVksQ0FBQzthQUMzQixTQUFTLENBQUMsQ0FBQyxJQUFrQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUYsQ0FBQztJQUVNLFlBQVksQ0FBQyxLQUFhO1FBQy9CLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzsrR0EvQlUsd0JBQXdCO21HQUF4Qix3QkFBd0IsZ0VDM0JyQywreERBaURBOzs0RkR0QmEsd0JBQXdCO2tCQU5wQyxTQUFTOytCQUNFLDBCQUEwQixpQkFHckIsaUJBQWlCLENBQUMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQge0NvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIHRhcH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0Rhc2hib2FyZCwgV2lkZ2V0RGF0YX0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7RGFzaGJvYXJkU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHtXaWRnZXRBcGlTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy93aWRnZXQtYXBpLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLXdpZGdldC1kYXNoYm9hcmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vd2lkZ2V0LWRhc2hib2FyZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3dpZGdldC1kYXNoYm9hcmQuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgV2lkZ2V0RGFzaGJvYXJkQ29tcG9uZW50IHtcbiAgcHVibGljIGRhc2hib2FyZHMkOiBPYnNlcnZhYmxlPEFycmF5PERhc2hib2FyZD4+ID0gdGhpcy5kYXNoYm9hcmRTZXJ2aWNlLmdldERhc2hib2FyZHMoKS5waXBlKFxuICAgIHRhcChkYXNoYm9hcmRzID0+IHtcbiAgICAgIGlmIChkYXNoYm9hcmRzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICB0aGlzLm9uVGFiU2VsZWN0ZWQoZGFzaGJvYXJkc1swXS5rZXkpO1xuICAgICAgfVxuICAgIH0pXG4gICk7XG4gIHB1YmxpYyByZWFkb25seSBhY3RpdmVXaWRnZXREYXRhJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8e2RhdGE6IFdpZGdldERhdGFbXTsgbG9hZGluZzogYm9vbGVhbn0+KHtcbiAgICBkYXRhOiBbXSxcbiAgICBsb2FkaW5nOiB0cnVlLFxuICB9KTtcblxuICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0ZWREYXNoYm9hcmRLZXkkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRhc2hib2FyZFNlcnZpY2U6IERhc2hib2FyZFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB3aWRnZXRBcGlTZXJ2aWNlOiBXaWRnZXRBcGlTZXJ2aWNlXG4gICkge31cblxuICBwdWJsaWMgb25UYWJTZWxlY3RlZChkYXNoYm9hcmRLZXk6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWREYXNoYm9hcmRLZXkkLm5leHQoZGFzaGJvYXJkS2V5KTtcbiAgICB0aGlzLmFjdGl2ZVdpZGdldERhdGEkLm5leHQoe2RhdGE6IFtdLCBsb2FkaW5nOiB0cnVlfSk7XG5cbiAgICB0aGlzLndpZGdldEFwaVNlcnZpY2VcbiAgICAgIC5nZXRXaWRnZXREYXRhKGRhc2hib2FyZEtleSlcbiAgICAgIC5zdWJzY3JpYmUoKGRhdGE6IFdpZGdldERhdGFbXSkgPT4gdGhpcy5hY3RpdmVXaWRnZXREYXRhJC5uZXh0KHtkYXRhLCBsb2FkaW5nOiBmYWxzZX0pKTtcbiAgfVxuXG4gIHB1YmxpYyB0cmFja0J5SW5kZXgoaW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgcmV0dXJuIGluZGV4O1xuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjxkaXYgKm5nSWY9XCJkYXNoYm9hcmRzJCB8IGFzeW5jIGFzIGRhc2hib2FyZHNcIiBjbGFzcz1cImRhc2hib2FyZHMtY29udGFpbmVyXCI+XG4gIDx2YWx0aW1vLW5vLXJlc3VsdHNcbiAgICAqbmdJZj1cIiFkYXNoYm9hcmRzLmxlbmd0aFwiXG4gICAgW3RpdGxlXT1cIidkYXNoYm9hcmQubm9EYXNoYm9hcmRzJyB8IHRyYW5zbGF0ZVwiXG4gICAgW2Rlc2NyaXB0aW9uXT1cIidkYXNoYm9hcmQubm9EYXNoYm9hcmRzRGVzY3JpcHRpb24nIHwgdHJhbnNsYXRlXCJcbiAgICBpbGx1c3RyYXRpb249XCJ2YWx0aW1vLWxheW91dC9pbWcvbm8tZGFzaGJvYXJkcy5zdmdcIlxuICA+PC92YWx0aW1vLW5vLXJlc3VsdHM+XG5cbiAgPGRpdiAqbmdJZj1cImRhc2hib2FyZHMubGVuZ3RoID09PSAxXCI+XG4gICAgPGg0Pnt7IGRhc2hib2FyZHNbMF0udGl0bGUgfX08L2g0PlxuXG4gICAgPHZhbHRpbW8td2lkZ2V0LWRhc2hib2FyZC1jb250ZW50XG4gICAgICBbZGFzaGJvYXJkXT1cImRhc2hib2FyZHNbMF1cIlxuICAgICAgW3dpZGdldERhdGFdPVwiYWN0aXZlV2lkZ2V0RGF0YSQgfCBhc3luY1wiXG4gICAgPjwvdmFsdGltby13aWRnZXQtZGFzaGJvYXJkLWNvbnRlbnQ+XG4gIDwvZGl2PlxuXG4gIDxkaXYgKm5nSWY9XCJkYXNoYm9hcmRzLmxlbmd0aCA+IDFcIj5cbiAgICA8Y2RzLXRhYnM+XG4gICAgICA8Y2RzLXRhYlxuICAgICAgICAqbmdGb3I9XCJsZXQgZGFzaGJvYXJkIG9mIGRhc2hib2FyZHM7IHRyYWNrQnk6IHRyYWNrQnlJbmRleFwiXG4gICAgICAgIFtoZWFkaW5nXT1cImRhc2hib2FyZC50aXRsZVwiXG4gICAgICAgIChzZWxlY3RlZCk9XCJvblRhYlNlbGVjdGVkKGRhc2hib2FyZC5rZXkpXCJcbiAgICAgID5cbiAgICAgICAgPHZhbHRpbW8td2lkZ2V0LWRhc2hib2FyZC1jb250ZW50XG4gICAgICAgICAgKm5nSWY9XCIoc2VsZWN0ZWREYXNoYm9hcmRLZXkkIHwgYXN5bmMpID09PSBkYXNoYm9hcmQua2V5XCJcbiAgICAgICAgICBbZGFzaGJvYXJkXT1cImRhc2hib2FyZFwiXG4gICAgICAgICAgW3dpZGdldERhdGFdPVwiYWN0aXZlV2lkZ2V0RGF0YSQgfCBhc3luY1wiXG4gICAgICAgID48L3ZhbHRpbW8td2lkZ2V0LWRhc2hib2FyZC1jb250ZW50PlxuICAgICAgPC9jZHMtdGFiPlxuICAgIDwvY2RzLXRhYnM+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -1,173 +0,0 @@
1
- /*
2
- * Copyright 2015-2024 Ritense BV, the Netherlands.
3
- *
4
- * Licensed under EUPL, Version 1.2 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" basis,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import { Component, Input, ViewChild, ViewChildren, ViewContainerRef, } from '@angular/core';
17
- import { BehaviorSubject, combineLatest, Subscription } from 'rxjs';
18
- import { delay, map, take } from 'rxjs/operators';
19
- import { WidgetLayoutService } from '../../services/widget-layout.service';
20
- import { WIDGET_1X_HEIGHT } from '../../constants';
21
- import Muuri from 'muuri';
22
- import * as i0 from "@angular/core";
23
- import * as i1 from "../../services/widget-layout.service";
24
- import * as i2 from "../../services";
25
- import * as i3 from "@angular/router";
26
- import * as i4 from "@angular/common";
27
- import * as i5 from "carbon-components-angular";
28
- import * as i6 from "@valtimo/components";
29
- import * as i7 from "@ngx-translate/core";
30
- export class WidgetDashboardContentComponent {
31
- set widgetData(value) {
32
- this._isLoading$.next(value.loading);
33
- this._widgetData$.next(value.data);
34
- }
35
- set dashboard(value) {
36
- this.setWidgetConfigurations(value);
37
- }
38
- get _muuriInitialized$() {
39
- return this._muuri$.pipe(map(muuri => !!muuri));
40
- }
41
- constructor(layoutService, widgetService, renderer, router) {
42
- this.layoutService = layoutService;
43
- this.widgetService = widgetService;
44
- this.renderer = renderer;
45
- this.router = router;
46
- this._isLoading$ = new BehaviorSubject(true);
47
- this._widgetData$ = new BehaviorSubject([]);
48
- this.widgetConfigurations$ = new BehaviorSubject(null);
49
- this._subscriptions = new Subscription();
50
- this._muuri$ = this.layoutService.muuriSubject$;
51
- this._creatingMuuri = false;
52
- this._noResults$ = new BehaviorSubject(false);
53
- this.loaded$ = combineLatest([
54
- this._isLoading$,
55
- this._muuriInitialized$,
56
- this._noResults$,
57
- ]).pipe(map(([isLoading, muuriInitialized, noResults]) => !isLoading && (muuriInitialized || noResults)), delay(400));
58
- }
59
- ngAfterViewInit() {
60
- this._observer = new ResizeObserver(event => {
61
- this.observerMutation(event);
62
- });
63
- this._observer.observe(this._widgetContainerRef.nativeElement);
64
- this.openWidgetSizeSubscription();
65
- this.renderWidgets();
66
- }
67
- ngOnDestroy() {
68
- this._observer?.disconnect();
69
- this._subscriptions?.unsubscribe();
70
- }
71
- navigateToRoute(widgetConfiguration, event) {
72
- if (widgetConfiguration.url) {
73
- event.preventDefault();
74
- this.router.navigateByUrl(widgetConfiguration.url);
75
- }
76
- }
77
- setWidgetConfigurations(dashboard) {
78
- this.widgetService.supportedDisplayTypes$.pipe(take(1)).subscribe(supportedDisplayTypes => {
79
- const supportedWidgetConfigurations = dashboard.widgets?.filter(widgetConfiguration => supportedDisplayTypes.find(type => type.displayTypeKey === widgetConfiguration.displayType)) || [];
80
- this.layoutService.setWidgetConfigurations(supportedWidgetConfigurations);
81
- this.widgetConfigurations$.next(supportedWidgetConfigurations);
82
- });
83
- }
84
- observerMutation(event) {
85
- const widgetContainerWidth = event[0]?.borderBoxSize[0]?.inlineSize;
86
- if (typeof widgetContainerWidth === 'number' && widgetContainerWidth !== 0) {
87
- this.layoutService.setWidgetContainerWidth(widgetContainerWidth);
88
- }
89
- }
90
- openWidgetSizeSubscription() {
91
- this._subscriptions.add(combineLatest([
92
- this.layoutService.amountOfColumns$,
93
- this.widgetConfigurations$,
94
- this.widgetService.supportedDisplayTypes$,
95
- this._muuri$,
96
- ]).subscribe(([amountOfColumns, widgetConfigurations, supportedDisplayTypes, muuri]) => {
97
- this._widgetConfigurationRefs.toArray().forEach(widgetConfigurationRef => {
98
- const nativeElement = widgetConfigurationRef.nativeElement;
99
- const widgetConfiguration = widgetConfigurations.find(config => config.key === nativeElement.id);
100
- const specification = supportedDisplayTypes.find(type => type.displayTypeKey === widgetConfiguration.displayType);
101
- const widthPercentage = specification.width > amountOfColumns
102
- ? 100
103
- : (specification.width / amountOfColumns) * 100;
104
- this.renderer.setStyle(nativeElement, 'height', `${WIDGET_1X_HEIGHT * specification.height}px`);
105
- this.renderer.setStyle(nativeElement, 'width', `${widthPercentage}%`);
106
- });
107
- if (widgetConfigurations.length > 0) {
108
- if (!muuri) {
109
- this.initMuuri();
110
- }
111
- else {
112
- this.layoutService.triggerMuuriLayout();
113
- }
114
- }
115
- else {
116
- this._noResults$.next(true);
117
- }
118
- }));
119
- }
120
- renderWidgets() {
121
- this._subscriptions.add(combineLatest([
122
- this.widgetConfigurations$,
123
- this.widgetService.supportedDisplayTypes$,
124
- this._widgetData$,
125
- ]).subscribe(([configurations, displayTypes, data]) => {
126
- configurations?.forEach((configuration, index) => {
127
- const displayType = displayTypes.find(type => type.displayTypeKey === configuration.displayType);
128
- const vcRef = this._widgetConfigurationContentVcRefs.toArray()[index];
129
- if (displayType && data) {
130
- vcRef.clear();
131
- const componentInstance = vcRef.createComponent(displayType.displayComponent);
132
- componentInstance.setInput('displayTypeKey', configuration.displayType);
133
- componentInstance.setInput('displayTypeProperties', {
134
- ...configuration.displayTypeProperties,
135
- });
136
- componentInstance.setInput('data', data.find(dataItem => dataItem.key === configuration.key)?.data);
137
- }
138
- });
139
- }));
140
- }
141
- initMuuri() {
142
- if (!this._widgetContainerRef || this._creatingMuuri)
143
- return;
144
- this._creatingMuuri = true;
145
- this.layoutService.setMuuri(new Muuri(this._widgetContainerRef.nativeElement, {
146
- layout: {
147
- fillGaps: true,
148
- },
149
- layoutOnResize: false,
150
- }));
151
- this._creatingMuuri = false;
152
- }
153
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: WidgetDashboardContentComponent, deps: [{ token: i1.WidgetLayoutService }, { token: i2.WidgetService }, { token: i0.Renderer2 }, { token: i3.Router }], target: i0.ɵɵFactoryTarget.Component }); }
154
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: WidgetDashboardContentComponent, selector: "valtimo-widget-dashboard-content", inputs: { widgetData: "widgetData", dashboard: "dashboard" }, providers: [WidgetLayoutService], viewQueries: [{ propertyName: "_widgetContainerRef", first: true, predicate: ["widgetContainer"], descendants: true }, { propertyName: "_widgetConfigurationRefs", predicate: ["widgetConfiguration"], descendants: true }, { propertyName: "_widgetConfigurationContentVcRefs", predicate: ["widgetConfigurationContent"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container *ngIf=\"{loaded: loaded$ | async} as obs\">\n <div *ngIf=\"!obs.loaded\" class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-container>\n\n<div\n #widgetContainer\n class=\"widget-container\"\n [ngClass]=\"{'widget-container__visible': loaded$ | async}\"\n>\n <ng-container *ngIf=\"widgetConfigurations$ | async as widgetConfigurations\">\n <ng-container *ngFor=\"let config of widgetConfigurations\">\n <div #widgetConfiguration [id]=\"config.key\" class=\"widget-configuration\">\n <div\n (click)=\"navigateToRoute(config, $event)\"\n [ngClass]=\"{\n 'widget-configuration-content-clickable': config.url,\n }\"\n class=\"widget-configuration-content\"\n >\n <ng-container #widgetConfigurationContent></ng-container>\n </div>\n </div>\n </ng-container>\n\n <valtimo-no-results\n *ngIf=\"!widgetConfigurations.length\"\n [title]=\"'dashboard.noWidgets' | translate\"\n [description]=\"'dashboard.noWidgetsDescription' | translate\"\n illustration=\"valtimo-layout/img/no-widgets.svg\"\n ></valtimo-no-results>\n </ng-container>\n</div>\n", styles: [":host{position:relative}.widget-container{margin-top:16px;width:calc(100% + 16px);margin-left:-8px;position:relative;visibility:hidden}.widget-container__visible{visibility:visible}.widget-configuration{position:absolute;display:flex;justify-content:center;align-items:center}.widget-configuration-content{width:calc(100% - 16px);height:calc(100% - 16px);background-color:#fff}.widget-configuration-content-clickable{cursor:pointer}.loading-container{padding-top:32px;position:absolute;top:0;display:flex;width:100%;justify-content:center}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "component", type: i6.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] }); }
155
- }
156
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: WidgetDashboardContentComponent, decorators: [{
157
- type: Component,
158
- args: [{ selector: 'valtimo-widget-dashboard-content', providers: [WidgetLayoutService], template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container *ngIf=\"{loaded: loaded$ | async} as obs\">\n <div *ngIf=\"!obs.loaded\" class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-container>\n\n<div\n #widgetContainer\n class=\"widget-container\"\n [ngClass]=\"{'widget-container__visible': loaded$ | async}\"\n>\n <ng-container *ngIf=\"widgetConfigurations$ | async as widgetConfigurations\">\n <ng-container *ngFor=\"let config of widgetConfigurations\">\n <div #widgetConfiguration [id]=\"config.key\" class=\"widget-configuration\">\n <div\n (click)=\"navigateToRoute(config, $event)\"\n [ngClass]=\"{\n 'widget-configuration-content-clickable': config.url,\n }\"\n class=\"widget-configuration-content\"\n >\n <ng-container #widgetConfigurationContent></ng-container>\n </div>\n </div>\n </ng-container>\n\n <valtimo-no-results\n *ngIf=\"!widgetConfigurations.length\"\n [title]=\"'dashboard.noWidgets' | translate\"\n [description]=\"'dashboard.noWidgetsDescription' | translate\"\n illustration=\"valtimo-layout/img/no-widgets.svg\"\n ></valtimo-no-results>\n </ng-container>\n</div>\n", styles: [":host{position:relative}.widget-container{margin-top:16px;width:calc(100% + 16px);margin-left:-8px;position:relative;visibility:hidden}.widget-container__visible{visibility:visible}.widget-configuration{position:absolute;display:flex;justify-content:center;align-items:center}.widget-configuration-content{width:calc(100% - 16px);height:calc(100% - 16px);background-color:#fff}.widget-configuration-content-clickable{cursor:pointer}.loading-container{padding-top:32px;position:absolute;top:0;display:flex;width:100%;justify-content:center}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
159
- }], ctorParameters: () => [{ type: i1.WidgetLayoutService }, { type: i2.WidgetService }, { type: i0.Renderer2 }, { type: i3.Router }], propDecorators: { _widgetConfigurationRefs: [{
160
- type: ViewChildren,
161
- args: ['widgetConfiguration']
162
- }], _widgetConfigurationContentVcRefs: [{
163
- type: ViewChildren,
164
- args: ['widgetConfigurationContent', { read: ViewContainerRef }]
165
- }], _widgetContainerRef: [{
166
- type: ViewChild,
167
- args: ['widgetContainer']
168
- }], widgetData: [{
169
- type: Input
170
- }], dashboard: [{
171
- type: Input
172
- }] } });
173
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWRhc2hib2FyZC1jb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZGFzaGJvYXJkL3NyYy9saWIvY29tcG9uZW50cy93aWRnZXQtZGFzaGJvYXJkLWNvbnRlbnQvd2lkZ2V0LWRhc2hib2FyZC1jb250ZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZGFzaGJvYXJkL3NyYy9saWIvY29tcG9uZW50cy93aWRnZXQtZGFzaGJvYXJkLWNvbnRlbnQvd2lkZ2V0LWRhc2hib2FyZC1jb250ZW50LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsT0FBTyxFQUVMLFNBQVMsRUFHVCxLQUFLLEVBSUwsU0FBUyxFQUNULFlBQVksRUFDWixnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGVBQWUsRUFBRSxhQUFhLEVBQWMsWUFBWSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzlFLE9BQU8sRUFBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBR2hELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQzs7Ozs7Ozs7O0FBUzFCLE1BQU0sT0FBTywrQkFBK0I7SUFXMUMsSUFBYSxVQUFVLENBQUMsS0FBNkM7UUFDbkUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENB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SUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFFM0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQ3pCLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLEVBQUU7WUFDaEQsTUFBTSxFQUFFO2dCQUNOLFFBQVEsRUFBRSxJQUFJO2FBQ2Y7WUFDRCxjQUFjLEVBQUUsS0FBSztTQUN0QixDQUFDLENBQ0gsQ0FBQztRQUVGLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO0lBQzlCLENBQUM7K0dBM0xVLCtCQUErQjttR0FBL0IsK0JBQStCLHlIQUYvQixDQUFDLG1CQUFtQixDQUFDLHVWQU1tQixnQkFBZ0IsNkJDL0NyRSxvMERBa0RBOzs0RkRQYSwrQkFBK0I7a0JBTjNDLFNBQVM7K0JBQ0Usa0NBQWtDLGFBR2pDLENBQUMsbUJBQW1CLENBQUM7aUtBR2Esd0JBQXdCO3NCQUFwRSxZQUFZO3VCQUFDLHFCQUFxQjtnQkFJM0IsaUNBQWlDO3NCQUR4QyxZQUFZO3VCQUFDLDRCQUE0QixFQUFFLEVBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFDO2dCQUU5QixtQkFBbUI7c0JBQXhELFNBQVM7dUJBQUMsaUJBQWlCO2dCQUtmLFVBQVU7c0JBQXRCLEtBQUs7Z0JBSU8sU0FBUztzQkFBckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIENvbXBvbmVudFJlZixcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgUXVlcnlMaXN0LFxuICBSZW5kZXJlcjIsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NoaWxkcmVuLFxuICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtkZWxheSwgbWFwLCB0YWtlfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0Rhc2hib2FyZCwgRGFzaGJvYXJkV2lkZ2V0Q29uZmlndXJhdGlvbiwgRGlzcGxheUNvbXBvbmVudCwgV2lkZ2V0RGF0YX0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7V2lkZ2V0U2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHtXaWRnZXRMYXlvdXRTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy93aWRnZXQtbGF5b3V0LnNlcnZpY2UnO1xuaW1wb3J0IHtXSURHRVRfMVhfSEVJR0hUfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IE11dXJpIGZyb20gJ211dXJpJztcbmltcG9ydCB7Um91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLXdpZGdldC1kYXNoYm9hcmQtY29udGVudCcsXG4gIHRlbXBsYXRlVXJsOiAnLi93aWRnZXQtZGFzaGJvYXJkLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi93aWRnZXQtZGFzaGJvYXJkLWNvbnRlbnQuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbV2lkZ2V0TGF5b3V0U2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIFdpZGdldERhc2hib2FyZENvbnRlbnRDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBAVmlld0NoaWxkcmVuKCd3aWRnZXRDb25maWd1cmF0aW9uJykgcHJpdmF0ZSBfd2lkZ2V0Q29uZmlndXJhdGlvblJlZnM6IFF1ZXJ5TGlzdDxcbiAgICBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PlxuICA+O1xuICBAVmlld0NoaWxkcmVuKCd3aWRnZXRDb25maWd1cmF0aW9uQ29udGVudCcsIHtyZWFkOiBWaWV3Q29udGFpbmVyUmVmfSlcbiAgcHJpdmF0ZSBfd2lkZ2V0Q29uZmlndXJhdGlvbkNvbnRlbnRWY1JlZnM6IFF1ZXJ5TGlzdDxWaWV3Q29udGFpbmVyUmVmPjtcbiAgQFZpZXdDaGlsZCgnd2lkZ2V0Q29udGFpbmVyJykgcHJpdmF0ZSBfd2lkZ2V0Q29udGFpbmVyUmVmOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9pc0xvYWRpbmckID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcbiAgcHJpdmF0ZSBfd2lkZ2V0RGF0YSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFdpZGdldERhdGFbXT4oW10pO1xuXG4gIEBJbnB1dCgpIHNldCB3aWRnZXREYXRhKHZhbHVlOiB7ZGF0YTogV2lkZ2V0RGF0YVtdOyBsb2FkaW5nOiBib29sZWFufSkge1xuICAgIHRoaXMuX2lzTG9hZGluZyQubmV4dCh2YWx1ZS5sb2FkaW5nKTtcbiAgICB0aGlzLl93aWRnZXREYXRhJC5uZXh0KHZhbHVlLmRhdGEpO1xuICB9XG4gIEBJbnB1dCgpIHNldCBkYXNoYm9hcmQodmFsdWU6IERhc2hib2FyZCkge1xuICAgIHRoaXMuc2V0V2lkZ2V0Q29uZmlndXJhdGlvbnModmFsdWUpO1xuICB9XG5cbiAgcHVibGljIHJlYWRvbmx5IHdpZGdldENvbmZpZ3VyYXRpb25zJCA9XG4gICAgbmV3IEJlaGF2aW9yU3ViamVjdDxBcnJheTxEYXNoYm9hcmRXaWRnZXRDb25maWd1cmF0aW9uPiB8IG51bGw+KG51bGwpO1xuXG4gIHByaXZhdGUgX29ic2VydmVyITogUmVzaXplT2JzZXJ2ZXI7XG4gIHByaXZhdGUgX3N1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfbXV1cmkkID0gdGhpcy5sYXlvdXRTZXJ2aWNlLm11dXJpU3ViamVjdCQ7XG5cbiAgcHJpdmF0ZSBfY3JlYXRpbmdNdXVyaSA9IGZhbHNlO1xuXG4gIHByaXZhdGUgZ2V0IF9tdXVyaUluaXRpYWxpemVkJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5fbXV1cmkkLnBpcGUobWFwKG11dXJpID0+ICEhbXV1cmkpKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgX25vUmVzdWx0cyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgbG9hZGVkJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMuX2lzTG9hZGluZyQsXG4gICAgdGhpcy5fbXV1cmlJbml0aWFsaXplZCQsXG4gICAgdGhpcy5fbm9SZXN1bHRzJCxcbiAgXSkucGlwZShcbiAgICBtYXAoXG4gICAgICAoW2lzTG9hZGluZywgbXV1cmlJbml0aWFsaXplZCwgbm9SZXN1bHRzXSkgPT4gIWlzTG9hZGluZyAmJiAobXV1cmlJbml0aWFsaXplZCB8fCBub1Jlc3VsdHMpXG4gICAgKSxcbiAgICBkZWxheSg0MDApXG4gICk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBsYXlvdXRTZXJ2aWNlOiBXaWRnZXRMYXlvdXRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgd2lkZ2V0U2VydmljZTogV2lkZ2V0U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlclxuICApIHt9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9vYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcihldmVudCA9PiB7XG4gICAgICB0aGlzLm9ic2VydmVyTXV0YXRpb24oZXZlbnQpO1xuICAgIH0pO1xuICAgIHRoaXMuX29ic2VydmVyLm9ic2VydmUodGhpcy5fd2lkZ2V0Q29udGFpbmVyUmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgIHRoaXMub3BlbldpZGdldFNpemVTdWJzY3JpcHRpb24oKTtcbiAgICB0aGlzLnJlbmRlcldpZGdldHMoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9vYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnM/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgbmF2aWdhdGVUb1JvdXRlKFxuICAgIHdpZGdldENvbmZpZ3VyYXRpb246IERhc2hib2FyZFdpZGdldENvbmZpZ3VyYXRpb24sXG4gICAgZXZlbnQ6IE1vdXNlRXZlbnRcbiAgKTogdm9pZCB7XG4gICAgaWYgKHdpZGdldENvbmZpZ3VyYXRpb24udXJsKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCh3aWRnZXRDb25maWd1cmF0aW9uLnVybCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRXaWRnZXRDb25maWd1cmF0aW9ucyhkYXNoYm9hcmQ6IERhc2hib2FyZCk6IHZvaWQge1xuICAgIHRoaXMud2lkZ2V0U2VydmljZS5zdXBwb3J0ZWREaXNwbGF5VHlwZXMkLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKHN1cHBvcnRlZERpc3BsYXlUeXBlcyA9PiB7XG4gICAgICBjb25zdCBzdXBwb3J0ZWRXaWRnZXRDb25maWd1cmF0aW9ucyA9XG4gICAgICAgIGRhc2hib2FyZC53aWRnZXRzPy5maWx0ZXIod2lkZ2V0Q29uZmlndXJhdGlvbiA9PlxuICAgICAgICAgIHN1cHBvcnRlZERpc3BsYXlUeXBlcy5maW5kKFxuICAgICAgICAgICAgdHlwZSA9PiB0eXBlLmRpc3BsYXlUeXBlS2V5ID09PSB3aWRnZXRDb25maWd1cmF0aW9uLmRpc3BsYXlUeXBlXG4gICAgICAgICAgKVxuICAgICAgICApIHx8IFtdO1xuICAgICAgdGhpcy5sYXlvdXRTZXJ2aWNlLnNldFdpZGdldENvbmZpZ3VyYXRpb25zKHN1cHBvcnRlZFdpZGdldENvbmZpZ3VyYXRpb25zKTtcbiAgICAgIHRoaXMud2lkZ2V0Q29uZmlndXJhdGlvbnMkLm5leHQoc3VwcG9ydGVkV2lkZ2V0Q29uZmlndXJhdGlvbnMpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlck11dGF0aW9uKGV2ZW50OiBBcnJheTxSZXNpemVPYnNlcnZlckVudHJ5Pik6IHZvaWQge1xuICAgIGNvbnN0IHdpZGdldENvbnRhaW5lcldpZHRoID0gZXZlbnRbMF0/LmJvcmRlckJveFNpemVbMF0/LmlubGluZVNpemU7XG5cbiAgICBpZiAodHlwZW9mIHdpZGdldENvbnRhaW5lcldpZHRoID09PSAnbnVtYmVyJyAmJiB3aWRnZXRDb250YWluZXJXaWR0aCAhPT0gMCkge1xuICAgICAgdGhpcy5sYXlvdXRTZXJ2aWNlLnNldFdpZGdldENvbnRhaW5lcldpZHRoKHdpZGdldENvbnRhaW5lcldpZHRoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG9wZW5XaWRnZXRTaXplU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgY29tYmluZUxhdGVzdChbXG4gICAgICAgIHRoaXMubGF5b3V0U2VydmljZS5hbW91bnRPZkNvbHVtbnMkLFxuICAgICAgICB0aGlzLndpZGdldENvbmZpZ3VyYXRpb25zJCxcbiAgICAgICAgdGhpcy53aWRnZXRTZXJ2aWNlLnN1cHBvcnRlZERpc3BsYXlUeXBlcyQsXG4gICAgICAgIHRoaXMuX211dXJpJCxcbiAgICAgIF0pLnN1YnNjcmliZSgoW2Ftb3VudE9mQ29sdW1ucywgd2lkZ2V0Q29uZmlndXJhdGlvbnMsIHN1cHBvcnRlZERpc3BsYXlUeXBlcywgbXV1cmldKSA9PiB7XG4gICAgICAgIHRoaXMuX3dpZGdldENvbmZpZ3VyYXRpb25SZWZzLnRvQXJyYXkoKS5mb3JFYWNoKHdpZGdldENvbmZpZ3VyYXRpb25SZWYgPT4ge1xuICAgICAgICAgIGNvbnN0IG5hdGl2ZUVsZW1lbnQgPSB3aWRnZXRDb25maWd1cmF0aW9uUmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgICAgY29uc3Qgd2lkZ2V0Q29uZmlndXJhdGlvbiA9IHdpZGdldENvbmZpZ3VyYXRpb25zLmZpbmQoXG4gICAgICAgICAgICBjb25maWcgPT4gY29uZmlnLmtleSA9PT0gbmF0aXZlRWxlbWVudC5pZFxuICAgICAgICAgICk7XG4gICAgICAgICAgY29uc3Qgc3BlY2lmaWNhdGlvbiA9IHN1cHBvcnRlZERpc3BsYXlUeXBlcy5maW5kKFxuICAgICAgICAgICAgdHlwZSA9PiB0eXBlLmRpc3BsYXlUeXBlS2V5ID09PSB3aWRnZXRDb25maWd1cmF0aW9uLmRpc3BsYXlUeXBlXG4gICAgICAgICAgKTtcbiAgICAgICAgICBjb25zdCB3aWR0aFBlcmNlbnRhZ2UgPVxuICAgICAgICAgICAgc3BlY2lmaWNhdGlvbi53aWR0aCA+IGFtb3VudE9mQ29sdW1uc1xuICAgICAgICAgICAgICA/IDEwMFxuICAgICAgICAgICAgICA6IChzcGVjaWZpY2F0aW9uLndpZHRoIC8gYW1vdW50T2ZDb2x1bW5zKSAqIDEwMDtcbiAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICAgICAgbmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICdoZWlnaHQnLFxuICAgICAgICAgICAgYCR7V0lER0VUXzFYX0hFSUdIVCAqIHNwZWNpZmljYXRpb24uaGVpZ2h0fXB4YFxuICAgICAgICAgICk7XG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShuYXRpdmVFbGVtZW50LCAnd2lkdGgnLCBgJHt3aWR0aFBlcmNlbnRhZ2V9JWApO1xuICAgICAgICB9KTtcblxuICAgICAgICBpZiAod2lkZ2V0Q29uZmlndXJhdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGlmICghbXV1cmkpIHtcbiAgICAgICAgICAgIHRoaXMuaW5pdE11dXJpKCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubGF5b3V0U2VydmljZS50cmlnZ2VyTXV1cmlMYXlvdXQoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5fbm9SZXN1bHRzJC5uZXh0KHRydWUpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHJlbmRlcldpZGdldHMoKTogdm9pZCB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgdGhpcy53aWRnZXRDb25maWd1cmF0aW9ucyQsXG4gICAgICAgIHRoaXMud2lkZ2V0U2VydmljZS5zdXBwb3J0ZWREaXNwbGF5VHlwZXMkLFxuICAgICAgICB0aGlzLl93aWRnZXREYXRhJCxcbiAgICAgIF0pLnN1YnNjcmliZSgoW2NvbmZpZ3VyYXRpb25zLCBkaXNwbGF5VHlwZXMsIGRhdGFdKSA9PiB7XG4gICAgICAgIGNvbmZpZ3VyYXRpb25zPy5mb3JFYWNoKChjb25maWd1cmF0aW9uLCBpbmRleCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGRpc3BsYXlUeXBlID0gZGlzcGxheVR5cGVzLmZpbmQoXG4gICAgICAgICAgICB0eXBlID0+IHR5cGUuZGlzcGxheVR5cGVLZXkgPT09IGNvbmZpZ3VyYXRpb24uZGlzcGxheVR5cGVcbiAgICAgICAgICApO1xuICAgICAgICAgIGNvbnN0IHZjUmVmID0gdGhpcy5fd2lkZ2V0Q29uZmlndXJhdGlvbkNvbnRlbnRWY1JlZnMudG9BcnJheSgpW2luZGV4XTtcblxuICAgICAgICAgIGlmIChkaXNwbGF5VHlwZSAmJiBkYXRhKSB7XG4gICAgICAgICAgICB2Y1JlZi5jbGVhcigpO1xuICAgICAgICAgICAgY29uc3QgY29tcG9uZW50SW5zdGFuY2U6IENvbXBvbmVudFJlZjxEaXNwbGF5Q29tcG9uZW50PiA9IHZjUmVmLmNyZWF0ZUNvbXBvbmVudChcbiAgICAgICAgICAgICAgZGlzcGxheVR5cGUuZGlzcGxheUNvbXBvbmVudFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNvbXBvbmVudEluc3RhbmNlLnNldElucHV0KCdkaXNwbGF5VHlwZUtleScsIGNvbmZpZ3VyYXRpb24uZGlzcGxheVR5cGUpO1xuICAgICAgICAgICAgY29tcG9uZW50SW5zdGFuY2Uuc2V0SW5wdXQoJ2Rpc3BsYXlUeXBlUHJvcGVydGllcycsIHtcbiAgICAgICAgICAgICAgLi4uY29uZmlndXJhdGlvbi5kaXNwbGF5VHlwZVByb3BlcnRpZXMsXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgY29tcG9uZW50SW5zdGFuY2Uuc2V0SW5wdXQoXG4gICAgICAgICAgICAgICdkYXRhJyxcbiAgICAgICAgICAgICAgZGF0YS5maW5kKGRhdGFJdGVtID0+IGRhdGFJdGVtLmtleSA9PT0gY29uZmlndXJhdGlvbi5rZXkpPy5kYXRhXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGluaXRNdXVyaSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX3dpZGdldENvbnRhaW5lclJlZiB8fCB0aGlzLl9jcmVhdGluZ011dXJpKSByZXR1cm47XG5cbiAgICB0aGlzLl9jcmVhdGluZ011dXJpID0gdHJ1ZTtcblxuICAgIHRoaXMubGF5b3V0U2VydmljZS5zZXRNdXVyaShcbiAgICAgIG5ldyBNdXVyaSh0aGlzLl93aWRnZXRDb250YWluZXJSZWYubmF0aXZlRWxlbWVudCwge1xuICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICBmaWxsR2FwczogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgbGF5b3V0T25SZXNpemU6IGZhbHNlLFxuICAgICAgfSlcbiAgICApO1xuXG4gICAgdGhpcy5fY3JlYXRpbmdNdXVyaSA9IGZhbHNlO1xuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJ7bG9hZGVkOiBsb2FkZWQkIHwgYXN5bmN9IGFzIG9ic1wiPlxuICA8ZGl2ICpuZ0lmPVwiIW9icy5sb2FkZWRcIiBjbGFzcz1cImxvYWRpbmctY29udGFpbmVyXCI+XG4gICAgPGNkcy1sb2FkaW5nPjwvY2RzLWxvYWRpbmc+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG5cbjxkaXZcbiAgI3dpZGdldENvbnRhaW5lclxuICBjbGFzcz1cIndpZGdldC1jb250YWluZXJcIlxuICBbbmdDbGFzc109XCJ7J3dpZGdldC1jb250YWluZXJfX3Zpc2libGUnOiBsb2FkZWQkIHwgYXN5bmN9XCJcbj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIndpZGdldENvbmZpZ3VyYXRpb25zJCB8IGFzeW5jIGFzIHdpZGdldENvbmZpZ3VyYXRpb25zXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY29uZmlnIG9mIHdpZGdldENvbmZpZ3VyYXRpb25zXCI+XG4gICAgICA8ZGl2ICN3aWRnZXRDb25maWd1cmF0aW9uIFtpZF09XCJjb25maWcua2V5XCIgY2xhc3M9XCJ3aWRnZXQtY29uZmlndXJhdGlvblwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgKGNsaWNrKT1cIm5hdmlnYXRlVG9Sb3V0ZShjb25maWcsICRldmVudClcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICd3aWRnZXQtY29uZmlndXJhdGlvbi1jb250ZW50LWNsaWNrYWJsZSc6IGNvbmZpZy51cmwsXG4gICAgICAgICAgfVwiXG4gICAgICAgICAgY2xhc3M9XCJ3aWRnZXQtY29uZmlndXJhdGlvbi1jb250ZW50XCJcbiAgICAgICAgPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgI3dpZGdldENvbmZpZ3VyYXRpb25Db250ZW50PjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPHZhbHRpbW8tbm8tcmVzdWx0c1xuICAgICAgKm5nSWY9XCIhd2lkZ2V0Q29uZmlndXJhdGlvbnMubGVuZ3RoXCJcbiAgICAgIFt0aXRsZV09XCInZGFzaGJvYXJkLm5vV2lkZ2V0cycgfCB0cmFuc2xhdGVcIlxuICAgICAgW2Rlc2NyaXB0aW9uXT1cIidkYXNoYm9hcmQubm9XaWRnZXRzRGVzY3JpcHRpb24nIHwgdHJhbnNsYXRlXCJcbiAgICAgIGlsbHVzdHJhdGlvbj1cInZhbHRpbW8tbGF5b3V0L2ltZy9uby13aWRnZXRzLnN2Z1wiXG4gICAgPjwvdmFsdGltby1uby1yZXN1bHRzPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuIl19
@@ -1,22 +0,0 @@
1
- /*
2
- * Copyright 2015-2024 Ritense BV, the Netherlands.
3
- *
4
- * Licensed under EUPL, Version 1.2 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" basis,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- const DATA_FEATURES = {
17
- NUMBER: 'number',
18
- TOTAL: 'total',
19
- NUMBERS: 'numbers',
20
- };
21
- export { DATA_FEATURES };
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1mZWF0dXJlcy5jb25zdGFudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2Rhc2hib2FyZC9zcmMvbGliL2NvbnN0YW50cy9kYXRhLWZlYXR1cmVzLmNvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE1BQU0sYUFBYSxHQUFHO0lBQ3BCLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLEtBQUssRUFBRSxPQUFPO0lBQ2QsT0FBTyxFQUFFLFNBQVM7Q0FDbkIsQ0FBQztBQUVGLE9BQU8sRUFBQyxhQUFhLEVBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmNvbnN0IERBVEFfRkVBVFVSRVMgPSB7XG4gIE5VTUJFUjogJ251bWJlcicsXG4gIFRPVEFMOiAndG90YWwnLFxuICBOVU1CRVJTOiAnbnVtYmVycycsXG59O1xuXG5leHBvcnQge0RBVEFfRkVBVFVSRVN9O1xuIl19
@@ -1,19 +0,0 @@
1
- /*
2
- * Copyright 2015-2024 Ritense BV, the Netherlands.
3
- *
4
- * Licensed under EUPL, Version 1.2 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" basis,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- export * from './data-features.constants';
17
- export * from './injection-tokens';
18
- export * from './layout.constants';
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2Rhc2hib2FyZC9zcmMvbGliL2NvbnN0YW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9kYXRhLWZlYXR1cmVzLmNvbnN0YW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2luamVjdGlvbi10b2tlbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9sYXlvdXQuY29uc3RhbnRzJztcbiJdfQ==
@@ -1,20 +0,0 @@
1
- /*
2
- * Copyright 2015-2024 Ritense BV, the Netherlands.
3
- *
4
- * Licensed under EUPL, Version 1.2 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" basis,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import { InjectionToken } from '@angular/core';
17
- const DISPLAY_TYPE_TOKEN = new InjectionToken('Supported display types');
18
- const DATA_SOURCE_TOKEN = new InjectionToken('Supported data sources');
19
- export { DISPLAY_TYPE_TOKEN, DATA_SOURCE_TOKEN };
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0aW9uLXRva2Vucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZGFzaGJvYXJkL3NyYy9saWIvY29uc3RhbnRzL2luamVjdGlvbi10b2tlbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRzdDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxjQUFjLENBQzNDLHlCQUF5QixDQUMxQixDQUFDO0FBRUYsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLGNBQWMsQ0FDMUMsd0JBQXdCLENBQ3pCLENBQUM7QUFFRixPQUFPLEVBQUMsa0JBQWtCLEVBQUUsaUJBQWlCLEVBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7SW5qZWN0aW9uVG9rZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEYXRhU291cmNlU3BlY2lmaWNhdGlvbiwgRGlzcGxheVR5cGVTcGVjaWZpY2F0aW9ufSBmcm9tICcuLi9tb2RlbHMnO1xuXG5jb25zdCBESVNQTEFZX1RZUEVfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48RGlzcGxheVR5cGVTcGVjaWZpY2F0aW9uIHwgbnVsbD4oXG4gICdTdXBwb3J0ZWQgZGlzcGxheSB0eXBlcydcbik7XG5cbmNvbnN0IERBVEFfU09VUkNFX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPERhdGFTb3VyY2VTcGVjaWZpY2F0aW9uIHwgbnVsbD4oXG4gICdTdXBwb3J0ZWQgZGF0YSBzb3VyY2VzJ1xuKTtcblxuZXhwb3J0IHtESVNQTEFZX1RZUEVfVE9LRU4sIERBVEFfU09VUkNFX1RPS0VOfTtcbiJdfQ==
@@ -1,19 +0,0 @@
1
- /*
2
- * Copyright 2015-2024 Ritense BV, the Netherlands.
3
- *
4
- * Licensed under EUPL, Version 1.2 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" basis,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- const WIDGET_1X_HEIGHT = 220;
17
- const WIDGET_1X_MIN_WIDTH = 275;
18
- export { WIDGET_1X_HEIGHT, WIDGET_1X_MIN_WIDTH };
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmNvbnN0YW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZGFzaGJvYXJkL3NyYy9saWIvY29uc3RhbnRzL2xheW91dC5jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxNQUFNLGdCQUFnQixHQUFHLEdBQUcsQ0FBQztBQUM3QixNQUFNLG1CQUFtQixHQUFHLEdBQUcsQ0FBQztBQUVoQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUsbUJBQW1CLEVBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmNvbnN0IFdJREdFVF8xWF9IRUlHSFQgPSAyMjA7XG5jb25zdCBXSURHRVRfMVhfTUlOX1dJRFRIID0gMjc1O1xuXG5leHBvcnQge1dJREdFVF8xWF9IRUlHSFQsIFdJREdFVF8xWF9NSU5fV0lEVEh9O1xuIl19
@@ -1,45 +0,0 @@
1
- /*
2
- * Copyright 2015-2024 Ritense BV, the Netherlands.
3
- *
4
- * Licensed under EUPL, Version 1.2 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" basis,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import { CommonModule } from '@angular/common';
17
- import { NgModule } from '@angular/core';
18
- import { RouterModule } from '@angular/router';
19
- import { ROLE_USER } from '@valtimo/config';
20
- import { AuthGuardService } from '@valtimo/security';
21
- import { WidgetDashboardComponent } from './components/widget-dashboard/widget-dashboard.component';
22
- import * as i0 from "@angular/core";
23
- import * as i1 from "@angular/router";
24
- const routes = [
25
- {
26
- path: '',
27
- component: WidgetDashboardComponent,
28
- canActivate: [AuthGuardService],
29
- data: { title: 'Dashboard', roles: [ROLE_USER], hidePageTitle: true },
30
- },
31
- ];
32
- export class DashboardRoutingModule {
33
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DashboardRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
34
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: DashboardRoutingModule, imports: [CommonModule, i1.RouterModule], exports: [RouterModule] }); }
35
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DashboardRoutingModule, imports: [CommonModule, RouterModule.forChild(routes), RouterModule] }); }
36
- }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DashboardRoutingModule, decorators: [{
38
- type: NgModule,
39
- args: [{
40
- declarations: [],
41
- imports: [CommonModule, RouterModule.forChild(routes)],
42
- exports: [RouterModule],
43
- }]
44
- }] });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLXJvdXRpbmcubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kYXNoYm9hcmQvc3JjL2xpYi9kYXNoYm9hcmQtcm91dGluZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsWUFBWSxFQUFTLE1BQU0saUJBQWlCLENBQUM7QUFDckQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLDBEQUEwRCxDQUFDOzs7QUFFbEcsTUFBTSxNQUFNLEdBQVc7SUFDckI7UUFDRSxJQUFJLEVBQUUsRUFBRTtRQUNSLFNBQVMsRUFBRSx3QkFBd0I7UUFDbkMsV0FBVyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7UUFDL0IsSUFBSSxFQUFFLEVBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFDO0tBQ3BFO0NBQ0YsQ0FBQztBQU9GLE1BQU0sT0FBTyxzQkFBc0I7K0dBQXRCLHNCQUFzQjtnSEFBdEIsc0JBQXNCLFlBSHZCLFlBQVksOEJBQ1osWUFBWTtnSEFFWCxzQkFBc0IsWUFIdkIsWUFBWSxFQUFFLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQzNDLFlBQVk7OzRGQUVYLHNCQUFzQjtrQkFMbEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsRUFBRTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ3RELE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztpQkFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Um91dGVyTW9kdWxlLCBSb3V0ZXN9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1JPTEVfVVNFUn0gZnJvbSAnQHZhbHRpbW8vY29uZmlnJztcbmltcG9ydCB7QXV0aEd1YXJkU2VydmljZX0gZnJvbSAnQHZhbHRpbW8vc2VjdXJpdHknO1xuaW1wb3J0IHtXaWRnZXREYXNoYm9hcmRDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy93aWRnZXQtZGFzaGJvYXJkL3dpZGdldC1kYXNoYm9hcmQuY29tcG9uZW50JztcblxuY29uc3Qgcm91dGVzOiBSb3V0ZXMgPSBbXG4gIHtcbiAgICBwYXRoOiAnJyxcbiAgICBjb21wb25lbnQ6IFdpZGdldERhc2hib2FyZENvbXBvbmVudCxcbiAgICBjYW5BY3RpdmF0ZTogW0F1dGhHdWFyZFNlcnZpY2VdLFxuICAgIGRhdGE6IHt0aXRsZTogJ0Rhc2hib2FyZCcsIHJvbGVzOiBbUk9MRV9VU0VSXSwgaGlkZVBhZ2VUaXRsZTogdHJ1ZX0sXG4gIH0sXG5dO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSb3V0ZXJNb2R1bGUuZm9yQ2hpbGQocm91dGVzKV0sXG4gIGV4cG9ydHM6IFtSb3V0ZXJNb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBEYXNoYm9hcmRSb3V0aW5nTW9kdWxlIHt9XG4iXX0=
@@ -1,115 +0,0 @@
1
- /*
2
- * Copyright 2015-2024 Ritense BV, the Netherlands.
3
- *
4
- * Licensed under EUPL, Version 1.2 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" basis,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import { CommonModule } from '@angular/common';
17
- import { HttpClient } from '@angular/common/http';
18
- import { NgModule } from '@angular/core';
19
- import { TranslateLoader, TranslateModule } from '@ngx-translate/core';
20
- import { TranslateHttpLoader } from '@ngx-translate/http-loader';
21
- import { AlertModule, BpmnJsDiagramModule, CarbonListModule, ListModule, SpinnerModule, WidgetModule, } from '@valtimo/components';
22
- import { TaskModule } from '@valtimo/task';
23
- import { LoadingModule, TabsModule, ThemeModule } from 'carbon-components-angular';
24
- import { DashboardComponent } from './components/dashboard/dashboard.component';
25
- import { WidgetDashboardContentComponent } from './components/widget-dashboard-content/widget-dashboard-content.component';
26
- import { WidgetDashboardComponent } from './components/widget-dashboard/widget-dashboard.component';
27
- import { DATA_SOURCE_TOKEN, DISPLAY_TYPE_TOKEN } from './constants';
28
- import { DashboardRoutingModule } from './dashboard-routing.module';
29
- import { WidgetTranslatePipeModule } from './pipes';
30
- import { DisplayWidgetTypesModule } from './display-types/display-widget-types.module';
31
- import { DataSourcesModule } from './data-sources/data-sources.module';
32
- import * as i0 from "@angular/core";
33
- import * as i1 from "@ngx-translate/core";
34
- // AoT requires an exported function for factories
35
- export function HttpLoaderFactory(httpClient) {
36
- return new TranslateHttpLoader(httpClient);
37
- }
38
- export class DashboardModule {
39
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DashboardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
40
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: DashboardModule, declarations: [DashboardComponent, WidgetDashboardComponent, WidgetDashboardContentComponent], imports: [CommonModule,
41
- DashboardRoutingModule,
42
- WidgetModule,
43
- ListModule,
44
- BpmnJsDiagramModule, i1.TranslateModule, AlertModule,
45
- TaskModule,
46
- SpinnerModule,
47
- TabsModule,
48
- ThemeModule,
49
- WidgetTranslatePipeModule,
50
- LoadingModule,
51
- CarbonListModule,
52
- DisplayWidgetTypesModule,
53
- DataSourcesModule], exports: [DashboardComponent, WidgetDashboardComponent] }); }
54
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DashboardModule, providers: [
55
- { provide: DISPLAY_TYPE_TOKEN, useValue: null, multi: true },
56
- { provide: DATA_SOURCE_TOKEN, useValue: null, multi: true },
57
- ], imports: [CommonModule,
58
- DashboardRoutingModule,
59
- WidgetModule,
60
- ListModule,
61
- BpmnJsDiagramModule,
62
- TranslateModule.forRoot({
63
- loader: {
64
- provide: TranslateLoader,
65
- useFactory: HttpLoaderFactory,
66
- deps: [HttpClient],
67
- },
68
- }),
69
- AlertModule,
70
- TaskModule,
71
- SpinnerModule,
72
- TabsModule,
73
- ThemeModule,
74
- WidgetTranslatePipeModule,
75
- LoadingModule,
76
- CarbonListModule,
77
- DisplayWidgetTypesModule,
78
- DataSourcesModule] }); }
79
- }
80
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DashboardModule, decorators: [{
81
- type: NgModule,
82
- args: [{
83
- declarations: [DashboardComponent, WidgetDashboardComponent, WidgetDashboardContentComponent],
84
- imports: [
85
- CommonModule,
86
- DashboardRoutingModule,
87
- WidgetModule,
88
- ListModule,
89
- BpmnJsDiagramModule,
90
- TranslateModule.forRoot({
91
- loader: {
92
- provide: TranslateLoader,
93
- useFactory: HttpLoaderFactory,
94
- deps: [HttpClient],
95
- },
96
- }),
97
- AlertModule,
98
- TaskModule,
99
- SpinnerModule,
100
- TabsModule,
101
- ThemeModule,
102
- WidgetTranslatePipeModule,
103
- LoadingModule,
104
- CarbonListModule,
105
- DisplayWidgetTypesModule,
106
- DataSourcesModule,
107
- ],
108
- exports: [DashboardComponent, WidgetDashboardComponent],
109
- providers: [
110
- { provide: DISPLAY_TYPE_TOKEN, useValue: null, multi: true },
111
- { provide: DATA_SOURCE_TOKEN, useValue: null, multi: true },
112
- ],
113
- }]
114
- }] });
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZGFzaGJvYXJkL3NyYy9saWIvZGFzaGJvYXJkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDaEQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsZUFBZSxFQUFFLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3JFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFDTCxXQUFXLEVBQ1gsbUJBQW1CLEVBQ25CLGdCQUFnQixFQUNoQixVQUFVLEVBQ1YsYUFBYSxFQUNiLFlBQVksR0FDYixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLGFBQWEsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDakYsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDOUUsT0FBTyxFQUFDLCtCQUErQixFQUFDLE1BQU0sMEVBQTBFLENBQUM7QUFDekgsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sMERBQTBELENBQUM7QUFDbEcsT0FBTyxFQUFDLGlCQUFpQixFQUFFLGtCQUFrQixFQUFDLE1BQU0sYUFBYSxDQUFDO0FBQ2xFLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ2xFLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLFNBQVMsQ0FBQztBQUNsRCxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUNyRixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQzs7O0FBRXJFLGtEQUFrRDtBQUNsRCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsVUFBc0I7SUFDdEQsT0FBTyxJQUFJLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQzdDLENBQUM7QUFrQ0QsTUFBTSxPQUFPLGVBQWU7K0dBQWYsZUFBZTtnSEFBZixlQUFlLGlCQS9CWCxrQkFBa0IsRUFBRSx3QkFBd0IsRUFBRSwrQkFBK0IsYUFFMUYsWUFBWTtZQUNaLHNCQUFzQjtZQUN0QixZQUFZO1lBQ1osVUFBVTtZQUNWLG1CQUFtQixzQkFRbkIsV0FBVztZQUNYLFVBQVU7WUFDVixhQUFhO1lBQ2IsVUFBVTtZQUNWLFdBQVc7WUFDWCx5QkFBeUI7WUFDekIsYUFBYTtZQUNiLGdCQUFnQjtZQUNoQix3QkFBd0I7WUFDeEIsaUJBQWlCLGFBRVQsa0JBQWtCLEVBQUUsd0JBQXdCO2dIQU0zQyxlQUFlLGFBTGY7WUFDVCxFQUFDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUM7WUFDMUQsRUFBQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFDO1NBQzFELFlBM0JDLFlBQVk7WUFDWixzQkFBc0I7WUFDdEIsWUFBWTtZQUNaLFVBQVU7WUFDVixtQkFBbUI7WUFDbkIsZUFBZSxDQUFDLE9BQU8sQ0FBQztnQkFDdEIsTUFBTSxFQUFFO29CQUNOLE9BQU8sRUFBRSxlQUFlO29CQUN4QixVQUFVLEVBQUUsaUJBQWlCO29CQUM3QixJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUM7aUJBQ25CO2FBQ0YsQ0FBQztZQUNGLFdBQVc7WUFDWCxVQUFVO1lBQ1YsYUFBYTtZQUNiLFVBQVU7WUFDVixXQUFXO1lBQ1gseUJBQXlCO1lBQ3pCLGFBQWE7WUFDYixnQkFBZ0I7WUFDaEIsd0JBQXdCO1lBQ3hCLGlCQUFpQjs7NEZBUVIsZUFBZTtrQkFoQzNCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsa0JBQWtCLEVBQUUsd0JBQXdCLEVBQUUsK0JBQStCLENBQUM7b0JBQzdGLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLHNCQUFzQjt3QkFDdEIsWUFBWTt3QkFDWixVQUFVO3dCQUNWLG1CQUFtQjt3QkFDbkIsZUFBZSxDQUFDLE9BQU8sQ0FBQzs0QkFDdEIsTUFBTSxFQUFFO2dDQUNOLE9BQU8sRUFBRSxlQUFlO2dDQUN4QixVQUFVLEVBQUUsaUJBQWlCO2dDQUM3QixJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUM7NkJBQ25CO3lCQUNGLENBQUM7d0JBQ0YsV0FBVzt3QkFDWCxVQUFVO3dCQUNWLGFBQWE7d0JBQ2IsVUFBVTt3QkFDVixXQUFXO3dCQUNYLHlCQUF5Qjt3QkFDekIsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLHdCQUF3Qjt3QkFDeEIsaUJBQWlCO3FCQUNsQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSx3QkFBd0IsQ0FBQztvQkFDdkQsU0FBUyxFQUFFO3dCQUNULEVBQUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBQzt3QkFDMUQsRUFBQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFDO3FCQUMxRDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7SHR0cENsaWVudH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1RyYW5zbGF0ZUxvYWRlciwgVHJhbnNsYXRlTW9kdWxlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7VHJhbnNsYXRlSHR0cExvYWRlcn0gZnJvbSAnQG5neC10cmFuc2xhdGUvaHR0cC1sb2FkZXInO1xuaW1wb3J0IHtcbiAgQWxlcnRNb2R1bGUsXG4gIEJwbW5Kc0RpYWdyYW1Nb2R1bGUsXG4gIENhcmJvbkxpc3RNb2R1bGUsXG4gIExpc3RNb2R1bGUsXG4gIFNwaW5uZXJNb2R1bGUsXG4gIFdpZGdldE1vZHVsZSxcbn0gZnJvbSAnQHZhbHRpbW8vY29tcG9uZW50cyc7XG5pbXBvcnQge1Rhc2tNb2R1bGV9IGZyb20gJ0B2YWx0aW1vL3Rhc2snO1xuaW1wb3J0IHtMb2FkaW5nTW9kdWxlLCBUYWJzTW9kdWxlLCBUaGVtZU1vZHVsZX0gZnJvbSAnY2FyYm9uLWNvbXBvbmVudHMtYW5ndWxhcic7XG5pbXBvcnQge0Rhc2hib2FyZENvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2Rhc2hib2FyZC9kYXNoYm9hcmQuY29tcG9uZW50JztcbmltcG9ydCB7V2lkZ2V0RGFzaGJvYXJkQ29udGVudENvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL3dpZGdldC1kYXNoYm9hcmQtY29udGVudC93aWRnZXQtZGFzaGJvYXJkLWNvbnRlbnQuY29tcG9uZW50JztcbmltcG9ydCB7V2lkZ2V0RGFzaGJvYXJkQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvd2lkZ2V0LWRhc2hib2FyZC93aWRnZXQtZGFzaGJvYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQge0RBVEFfU09VUkNFX1RPS0VOLCBESVNQTEFZX1RZUEVfVE9LRU59IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7RGFzaGJvYXJkUm91dGluZ01vZHVsZX0gZnJvbSAnLi9kYXNoYm9hcmQtcm91dGluZy5tb2R1bGUnO1xuaW1wb3J0IHtXaWRnZXRUcmFuc2xhdGVQaXBlTW9kdWxlfSBmcm9tICcuL3BpcGVzJztcbmltcG9ydCB7RGlzcGxheVdpZGdldFR5cGVzTW9kdWxlfSBmcm9tICcuL2Rpc3BsYXktdHlwZXMvZGlzcGxheS13aWRnZXQtdHlwZXMubW9kdWxlJztcbmltcG9ydCB7RGF0YVNvdXJjZXNNb2R1bGV9IGZyb20gJy4vZGF0YS1zb3VyY2VzL2RhdGEtc291cmNlcy5tb2R1bGUnO1xuXG4vLyBBb1QgcmVxdWlyZXMgYW4gZXhwb3J0ZWQgZnVuY3Rpb24gZm9yIGZhY3Rvcmllc1xuZXhwb3J0IGZ1bmN0aW9uIEh0dHBMb2FkZXJGYWN0b3J5KGh0dHBDbGllbnQ6IEh0dHBDbGllbnQpIHtcbiAgcmV0dXJuIG5ldyBUcmFuc2xhdGVIdHRwTG9hZGVyKGh0dHBDbGllbnQpO1xufVxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtEYXNoYm9hcmRDb21wb25lbnQsIFdpZGdldERhc2hib2FyZENvbXBvbmVudCwgV2lkZ2V0RGFzaGJvYXJkQ29udGVudENvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRGFzaGJvYXJkUm91dGluZ01vZHVsZSxcbiAgICBXaWRnZXRNb2R1bGUsXG4gICAgTGlzdE1vZHVsZSxcbiAgICBCcG1uSnNEaWFncmFtTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZS5mb3JSb290KHtcbiAgICAgIGxvYWRlcjoge1xuICAgICAgICBwcm92aWRlOiBUcmFuc2xhdGVMb2FkZXIsXG4gICAgICAgIHVzZUZhY3Rvcnk6IEh0dHBMb2FkZXJGYWN0b3J5LFxuICAgICAgICBkZXBzOiBbSHR0cENsaWVudF0sXG4gICAgICB9LFxuICAgIH0pLFxuICAgIEFsZXJ0TW9kdWxlLFxuICAgIFRhc2tNb2R1bGUsXG4gICAgU3Bpbm5lck1vZHVsZSxcbiAgICBUYWJzTW9kdWxlLFxuICAgIFRoZW1lTW9kdWxlLFxuICAgIFdpZGdldFRyYW5zbGF0ZVBpcGVNb2R1bGUsXG4gICAgTG9hZGluZ01vZHVsZSxcbiAgICBDYXJib25MaXN0TW9kdWxlLFxuICAgIERpc3BsYXlXaWRnZXRUeXBlc01vZHVsZSxcbiAgICBEYXRhU291cmNlc01vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW0Rhc2hib2FyZENvbXBvbmVudCwgV2lkZ2V0RGFzaGJvYXJkQ29tcG9uZW50XSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge3Byb3ZpZGU6IERJU1BMQVlfVFlQRV9UT0tFTiwgdXNlVmFsdWU6IG51bGwsIG11bHRpOiB0cnVlfSxcbiAgICB7cHJvdmlkZTogREFUQV9TT1VSQ0VfVE9LRU4sIHVzZVZhbHVlOiBudWxsLCBtdWx0aTogdHJ1ZX0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIERhc2hib2FyZE1vZHVsZSB7fVxuIl19