@valtimo/dashboard 11.3.2 → 12.1.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/esm2022/lib/components/dashboard/dashboard.component.mjs +7 -7
- package/esm2022/lib/components/widget-dashboard/widget-dashboard.component.mjs +11 -11
- package/esm2022/lib/components/widget-dashboard-content/widget-dashboard-content.component.mjs +61 -19
- package/esm2022/lib/constants/data-features.constants.mjs +3 -2
- package/esm2022/lib/constants/index.mjs +2 -2
- package/esm2022/lib/constants/injection-tokens.mjs +2 -2
- package/esm2022/lib/constants/layout.constants.mjs +2 -2
- package/esm2022/lib/dashboard-routing.module.mjs +6 -6
- package/esm2022/lib/dashboard.module.mjs +6 -6
- package/esm2022/lib/data-sources/case-count/case-count.module.mjs +6 -6
- package/esm2022/lib/data-sources/case-count/case-count.specification.mjs +5 -5
- package/esm2022/lib/data-sources/case-count/components/case-count-configuration/case-count-configuration.component.mjs +8 -8
- package/esm2022/lib/data-sources/case-count/components/case-count-configuration/index.mjs +2 -2
- package/esm2022/lib/data-sources/case-count/components/index.mjs +2 -2
- package/esm2022/lib/data-sources/case-count/index.mjs +2 -2
- package/esm2022/lib/data-sources/case-count/models/case-count.model.mjs +3 -12
- package/esm2022/lib/data-sources/case-count/models/index.mjs +2 -2
- package/esm2022/lib/data-sources/case-counts/case-counts.module.mjs +76 -0
- package/esm2022/lib/data-sources/case-counts/case-counts.specification.mjs +77 -0
- package/esm2022/lib/data-sources/case-counts/components/case-counts-configuration/case-counts-configuration.component.mjs +202 -0
- package/esm2022/lib/data-sources/case-counts/components/case-counts-configuration/index.mjs +17 -0
- package/esm2022/lib/data-sources/case-counts/components/index.mjs +17 -0
- package/esm2022/lib/data-sources/case-counts/index.mjs +20 -0
- package/esm2022/lib/data-sources/case-counts/models/case-counts.model.mjs +17 -0
- package/esm2022/lib/data-sources/case-counts/models/index.mjs +17 -0
- package/esm2022/lib/data-sources/case-group-by/case-group-by.module.mjs +61 -0
- package/esm2022/lib/data-sources/case-group-by/case-group-by.specification.mjs +89 -0
- package/esm2022/lib/data-sources/case-group-by/components/case-group-by-configuration/case-group-by-configuration.component.mjs +206 -0
- package/esm2022/lib/data-sources/case-group-by/components/case-group-by-configuration/index.mjs +17 -0
- package/esm2022/lib/{display-types/bar-chart → data-sources/case-group-by/components}/index.mjs +3 -6
- package/esm2022/lib/data-sources/case-group-by/index.mjs +20 -0
- package/esm2022/lib/data-sources/case-group-by/models/case-group-by.model.mjs +17 -0
- package/esm2022/lib/data-sources/case-group-by/models/index.mjs +17 -0
- package/esm2022/lib/data-sources/index.mjs +4 -3
- package/esm2022/lib/display-types/big-number/big-number.module.mjs +6 -6
- package/esm2022/lib/display-types/big-number/big-number.specification.mjs +2 -2
- package/esm2022/lib/display-types/big-number/components/big-number-configuration/big-number-configuration.component.mjs +7 -7
- package/esm2022/lib/display-types/big-number/components/big-number-configuration/index.mjs +2 -2
- package/esm2022/lib/display-types/big-number/components/big-number-display/big-number-display.component.mjs +6 -6
- package/esm2022/lib/display-types/big-number/components/big-number-display/index.mjs +2 -2
- package/esm2022/lib/display-types/big-number/components/index.mjs +2 -2
- package/esm2022/lib/display-types/big-number/index.mjs +2 -2
- package/esm2022/lib/display-types/big-number/models/big-number.model.mjs +2 -2
- package/esm2022/lib/display-types/big-number/models/index.mjs +2 -2
- package/esm2022/lib/display-types/donut/components/donut-configuration/donut-configuration.component.mjs +89 -0
- package/esm2022/lib/display-types/donut/components/donut-configuration/index.mjs +17 -0
- package/esm2022/lib/display-types/donut/components/donut-display/donut-display.component.mjs +72 -0
- package/esm2022/lib/display-types/donut/components/donut-display/index.mjs +17 -0
- package/esm2022/lib/display-types/donut/components/index.mjs +18 -0
- package/esm2022/lib/display-types/donut/donut.module.mjs +68 -0
- package/esm2022/lib/display-types/donut/donut.specification.mjs +55 -0
- package/esm2022/lib/display-types/donut/index.mjs +20 -0
- package/esm2022/lib/display-types/donut/models/donut.model.mjs +17 -0
- package/esm2022/lib/display-types/donut/models/index.mjs +17 -0
- package/esm2022/lib/display-types/gauge/components/gauge-configuration/gauge-configuration.component.mjs +89 -0
- package/esm2022/lib/display-types/gauge/components/gauge-configuration/index.mjs +17 -0
- package/esm2022/lib/display-types/gauge/components/gauge-display/gauge-display.component.mjs +86 -0
- package/esm2022/lib/display-types/gauge/components/gauge-display/index.mjs +17 -0
- package/esm2022/lib/display-types/gauge/components/index.mjs +18 -0
- package/esm2022/lib/display-types/gauge/gauge.module.mjs +60 -0
- package/esm2022/lib/display-types/gauge/gauge.specification.mjs +55 -0
- package/esm2022/lib/display-types/gauge/index.mjs +20 -0
- package/esm2022/lib/display-types/gauge/models/gauge.model.mjs +17 -0
- package/esm2022/lib/display-types/gauge/models/index.mjs +17 -0
- package/esm2022/lib/display-types/index.mjs +4 -3
- package/esm2022/lib/display-types/meter/components/index.mjs +3 -2
- package/esm2022/lib/display-types/meter/components/meter-configuration/index.mjs +17 -0
- package/esm2022/lib/display-types/meter/components/meter-configuration/meter-configuration.component.mjs +83 -0
- package/esm2022/lib/display-types/meter/components/meter-display/index.mjs +2 -2
- package/esm2022/lib/display-types/meter/components/meter-display/meter-display.component.mjs +46 -7
- package/esm2022/lib/display-types/meter/index.mjs +3 -3
- package/esm2022/lib/display-types/meter/meter.module.mjs +41 -9
- package/esm2022/lib/display-types/meter/meter.specification.mjs +24 -4
- package/esm2022/lib/display-types/meter/models/index.mjs +2 -2
- package/esm2022/lib/display-types/meter/models/meter.model.mjs +2 -2
- package/esm2022/lib/models/configuration.model.mjs +2 -2
- package/esm2022/lib/models/dashboard.model.mjs +2 -2
- package/esm2022/lib/models/data-source.model.mjs +12 -3
- package/esm2022/lib/models/display-type.model.mjs +2 -2
- package/esm2022/lib/models/index.mjs +2 -2
- package/esm2022/lib/models/layout.model.mjs +2 -2
- package/esm2022/lib/models/widget-data.model.mjs +2 -2
- package/esm2022/lib/models/widget-display.model.mjs +2 -2
- package/esm2022/lib/pipes/index.mjs +2 -2
- package/esm2022/lib/pipes/widget-translate/index.mjs +2 -2
- package/esm2022/lib/pipes/widget-translate/widget-translate-pipe.module.mjs +6 -6
- package/esm2022/lib/pipes/widget-translate/widget-translate.pipe.mjs +6 -6
- package/esm2022/lib/services/dashboard.service.mjs +6 -6
- package/esm2022/lib/services/index.mjs +2 -2
- package/esm2022/lib/services/widget-api.service.mjs +6 -6
- package/esm2022/lib/services/widget-layout.service.mjs +31 -85
- package/esm2022/lib/services/widget-translation.service.mjs +6 -6
- package/esm2022/lib/services/widget.service.mjs +7 -7
- package/esm2022/public_api.mjs +2 -2
- package/fesm2022/valtimo-dashboard.mjs +1909 -615
- package/fesm2022/valtimo-dashboard.mjs.map +1 -1
- package/lib/components/widget-dashboard/widget-dashboard.component.d.ts +1 -0
- package/lib/components/widget-dashboard/widget-dashboard.component.d.ts.map +1 -1
- package/lib/components/widget-dashboard-content/widget-dashboard-content.component.d.ts +9 -3
- package/lib/components/widget-dashboard-content/widget-dashboard-content.component.d.ts.map +1 -1
- package/lib/constants/data-features.constants.d.ts +1 -0
- package/lib/constants/data-features.constants.d.ts.map +1 -1
- package/lib/data-sources/case-count/components/case-count-configuration/case-count-configuration.component.d.ts +1 -1
- package/lib/data-sources/case-count/components/case-count-configuration/case-count-configuration.component.d.ts.map +1 -1
- package/lib/data-sources/case-count/models/case-count.model.d.ts +3 -15
- package/lib/data-sources/case-count/models/case-count.model.d.ts.map +1 -1
- package/lib/data-sources/case-counts/case-counts.module.d.ts +13 -0
- package/lib/data-sources/case-counts/case-counts.module.d.ts.map +1 -0
- package/lib/data-sources/case-counts/case-counts.specification.d.ts +3 -0
- package/lib/data-sources/case-counts/case-counts.specification.d.ts.map +1 -0
- package/lib/data-sources/case-counts/components/case-counts-configuration/case-counts-configuration.component.d.ts +52 -0
- package/lib/data-sources/case-counts/components/case-counts-configuration/case-counts-configuration.component.d.ts.map +1 -0
- package/lib/data-sources/case-counts/components/case-counts-configuration/index.d.ts +2 -0
- package/lib/data-sources/{test/components/test-configuration → case-counts/components/case-counts-configuration}/index.d.ts.map +1 -1
- package/lib/data-sources/case-counts/components/index.d.ts +2 -0
- package/lib/data-sources/case-counts/components/index.d.ts.map +1 -0
- package/lib/data-sources/case-counts/index.d.ts +5 -0
- package/lib/data-sources/case-counts/index.d.ts.map +1 -0
- package/lib/data-sources/case-counts/models/case-counts.model.d.ts +16 -0
- package/lib/data-sources/case-counts/models/case-counts.model.d.ts.map +1 -0
- package/lib/data-sources/case-counts/models/index.d.ts +2 -0
- package/lib/data-sources/{test/components → case-counts/models}/index.d.ts.map +1 -1
- package/lib/data-sources/case-group-by/case-group-by.module.d.ts +13 -0
- package/lib/data-sources/case-group-by/case-group-by.module.d.ts.map +1 -0
- package/lib/data-sources/case-group-by/case-group-by.specification.d.ts +3 -0
- package/lib/data-sources/case-group-by/case-group-by.specification.d.ts.map +1 -0
- package/lib/data-sources/case-group-by/components/case-group-by-configuration/case-group-by-configuration.component.d.ts +54 -0
- package/lib/data-sources/case-group-by/components/case-group-by-configuration/case-group-by-configuration.component.d.ts.map +1 -0
- package/lib/data-sources/case-group-by/components/case-group-by-configuration/index.d.ts +2 -0
- package/lib/data-sources/case-group-by/components/case-group-by-configuration/index.d.ts.map +1 -0
- package/lib/data-sources/case-group-by/components/index.d.ts +2 -0
- package/lib/data-sources/case-group-by/components/index.d.ts.map +1 -0
- package/lib/data-sources/case-group-by/index.d.ts +5 -0
- package/lib/data-sources/case-group-by/index.d.ts.map +1 -0
- package/lib/data-sources/case-group-by/models/case-group-by.model.d.ts +19 -0
- package/lib/data-sources/case-group-by/models/case-group-by.model.d.ts.map +1 -0
- package/lib/data-sources/case-group-by/models/index.d.ts +2 -0
- package/lib/data-sources/{test → case-group-by}/models/index.d.ts.map +1 -1
- package/lib/data-sources/index.d.ts +2 -1
- package/lib/data-sources/index.d.ts.map +1 -1
- package/lib/display-types/big-number/components/big-number-configuration/big-number-configuration.component.d.ts +10 -10
- package/lib/display-types/big-number/components/big-number-configuration/big-number-configuration.component.d.ts.map +1 -1
- package/lib/display-types/donut/components/donut-configuration/donut-configuration.component.d.ts +29 -0
- package/lib/display-types/donut/components/donut-configuration/donut-configuration.component.d.ts.map +1 -0
- package/lib/display-types/donut/components/donut-configuration/index.d.ts +2 -0
- package/lib/display-types/{bar-chart/components/bar-chart-display → donut/components/donut-configuration}/index.d.ts.map +1 -1
- package/lib/display-types/donut/components/donut-display/donut-display.component.d.ts +19 -0
- package/lib/display-types/donut/components/donut-display/donut-display.component.d.ts.map +1 -0
- package/lib/display-types/donut/components/donut-display/index.d.ts +2 -0
- package/lib/display-types/donut/components/donut-display/index.d.ts.map +1 -0
- package/lib/display-types/donut/components/index.d.ts +3 -0
- package/lib/display-types/donut/components/index.d.ts.map +1 -0
- package/lib/display-types/donut/donut.module.d.ts +16 -0
- package/lib/display-types/donut/donut.module.d.ts.map +1 -0
- package/lib/display-types/donut/donut.specification.d.ts +3 -0
- package/lib/display-types/donut/donut.specification.d.ts.map +1 -0
- package/lib/display-types/donut/index.d.ts +5 -0
- package/lib/display-types/donut/index.d.ts.map +1 -0
- package/lib/display-types/donut/models/donut.model.d.ts +14 -0
- package/lib/display-types/donut/models/donut.model.d.ts.map +1 -0
- package/lib/display-types/donut/models/index.d.ts +2 -0
- package/lib/display-types/{bar-chart → donut}/models/index.d.ts.map +1 -1
- package/lib/display-types/gauge/components/gauge-configuration/gauge-configuration.component.d.ts +29 -0
- package/lib/display-types/gauge/components/gauge-configuration/gauge-configuration.component.d.ts.map +1 -0
- package/lib/display-types/gauge/components/gauge-configuration/index.d.ts +2 -0
- package/lib/display-types/gauge/components/gauge-configuration/index.d.ts.map +1 -0
- package/lib/display-types/gauge/components/gauge-display/gauge-display.component.d.ts +24 -0
- package/lib/display-types/gauge/components/gauge-display/gauge-display.component.d.ts.map +1 -0
- package/lib/display-types/gauge/components/gauge-display/index.d.ts +2 -0
- package/lib/display-types/gauge/components/gauge-display/index.d.ts.map +1 -0
- package/lib/display-types/gauge/components/index.d.ts +3 -0
- package/lib/display-types/gauge/components/index.d.ts.map +1 -0
- package/lib/display-types/gauge/gauge.module.d.ts +14 -0
- package/lib/display-types/gauge/gauge.module.d.ts.map +1 -0
- package/lib/display-types/gauge/gauge.specification.d.ts +3 -0
- package/lib/display-types/gauge/gauge.specification.d.ts.map +1 -0
- package/lib/display-types/gauge/index.d.ts +5 -0
- package/lib/display-types/gauge/index.d.ts.map +1 -0
- package/lib/display-types/gauge/models/gauge.model.d.ts +11 -0
- package/lib/display-types/gauge/models/gauge.model.d.ts.map +1 -0
- package/lib/display-types/gauge/models/index.d.ts +2 -0
- package/lib/display-types/{bar-chart/components → gauge/models}/index.d.ts.map +1 -1
- package/lib/display-types/index.d.ts +2 -1
- package/lib/display-types/index.d.ts.map +1 -1
- package/lib/display-types/meter/components/index.d.ts +1 -0
- package/lib/display-types/meter/components/index.d.ts.map +1 -1
- package/lib/display-types/meter/components/meter-configuration/index.d.ts +2 -0
- package/lib/display-types/meter/components/meter-configuration/index.d.ts.map +1 -0
- package/lib/display-types/meter/components/meter-configuration/meter-configuration.component.d.ts +26 -0
- package/lib/display-types/meter/components/meter-configuration/meter-configuration.component.d.ts.map +1 -0
- package/lib/display-types/meter/components/meter-display/meter-display.component.d.ts +11 -3
- package/lib/display-types/meter/components/meter-display/meter-display.component.d.ts.map +1 -1
- package/lib/display-types/meter/index.d.ts +1 -1
- package/lib/display-types/meter/index.d.ts.map +1 -1
- package/lib/display-types/meter/meter.module.d.ts +9 -2
- package/lib/display-types/meter/meter.module.d.ts.map +1 -1
- package/lib/display-types/meter/meter.specification.d.ts.map +1 -1
- package/lib/display-types/meter/models/meter.model.d.ts +7 -2
- package/lib/display-types/meter/models/meter.model.d.ts.map +1 -1
- package/lib/models/configuration.model.d.ts +2 -2
- package/lib/models/configuration.model.d.ts.map +1 -1
- package/lib/models/data-source.model.d.ts +14 -1
- package/lib/models/data-source.model.d.ts.map +1 -1
- package/lib/services/widget-layout.service.d.ts +13 -18
- package/lib/services/widget-layout.service.d.ts.map +1 -1
- package/package.json +10 -6
- package/esm2022/lib/data-sources/test/components/index.mjs +0 -17
- package/esm2022/lib/data-sources/test/components/test-configuration/index.mjs +0 -17
- package/esm2022/lib/data-sources/test/components/test-configuration/test-configuration.component.mjs +0 -80
- package/esm2022/lib/data-sources/test/index.mjs +0 -20
- package/esm2022/lib/data-sources/test/models/index.mjs +0 -17
- package/esm2022/lib/data-sources/test/models/test.model.mjs +0 -17
- package/esm2022/lib/data-sources/test/test.module.mjs +0 -39
- package/esm2022/lib/data-sources/test/test.specification.mjs +0 -44
- package/esm2022/lib/display-types/bar-chart/bar-chart.module.mjs +0 -36
- package/esm2022/lib/display-types/bar-chart/bar-chart.specification.mjs +0 -35
- package/esm2022/lib/display-types/bar-chart/components/bar-chart-display/bar-chart-display.component.mjs +0 -32
- package/esm2022/lib/display-types/bar-chart/components/bar-chart-display/index.mjs +0 -17
- package/esm2022/lib/display-types/bar-chart/components/index.mjs +0 -17
- package/esm2022/lib/display-types/bar-chart/models/bar-chart.model.mjs +0 -17
- package/esm2022/lib/display-types/bar-chart/models/index.mjs +0 -17
- package/lib/data-sources/test/components/index.d.ts +0 -2
- package/lib/data-sources/test/components/test-configuration/index.d.ts +0 -2
- package/lib/data-sources/test/components/test-configuration/test-configuration.component.d.ts +0 -26
- package/lib/data-sources/test/components/test-configuration/test-configuration.component.d.ts.map +0 -1
- package/lib/data-sources/test/index.d.ts +0 -5
- package/lib/data-sources/test/index.d.ts.map +0 -1
- package/lib/data-sources/test/models/index.d.ts +0 -2
- package/lib/data-sources/test/models/test.model.d.ts +0 -6
- package/lib/data-sources/test/models/test.model.d.ts.map +0 -1
- package/lib/data-sources/test/test.module.d.ts +0 -12
- package/lib/data-sources/test/test.module.d.ts.map +0 -1
- package/lib/data-sources/test/test.specification.d.ts +0 -3
- package/lib/data-sources/test/test.specification.d.ts.map +0 -1
- package/lib/display-types/bar-chart/bar-chart.module.d.ts +0 -9
- package/lib/display-types/bar-chart/bar-chart.module.d.ts.map +0 -1
- package/lib/display-types/bar-chart/bar-chart.specification.d.ts +0 -3
- package/lib/display-types/bar-chart/bar-chart.specification.d.ts.map +0 -1
- package/lib/display-types/bar-chart/components/bar-chart-display/bar-chart-display.component.d.ts +0 -11
- package/lib/display-types/bar-chart/components/bar-chart-display/bar-chart-display.component.d.ts.map +0 -1
- package/lib/display-types/bar-chart/components/bar-chart-display/index.d.ts +0 -2
- package/lib/display-types/bar-chart/components/index.d.ts +0 -2
- package/lib/display-types/bar-chart/index.d.ts +0 -5
- package/lib/display-types/bar-chart/index.d.ts.map +0 -1
- package/lib/display-types/bar-chart/models/bar-chart.model.d.ts +0 -8
- package/lib/display-types/bar-chart/models/bar-chart.model.d.ts.map +0 -1
- package/lib/display-types/bar-chart/models/index.d.ts +0 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* Copyright 2015-
|
|
2
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
3
3
|
*
|
|
4
4
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
5
|
* you may not use this file except in compliance with the License.
|
|
@@ -72,14 +72,14 @@ export class DashboardComponent {
|
|
|
72
72
|
}
|
|
73
73
|
});
|
|
74
74
|
}
|
|
75
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
76
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
75
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DashboardComponent, deps: [{ token: i1.TaskService }, { token: i2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
76
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: DashboardComponent, selector: "valtimo-dashboard", viewQueries: [{ propertyName: "taskDetail", first: true, predicate: ["taskDetail"], descendants: true }], 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 class=\"main-content container-fluid\" *ngIf=\"{loading: loading$ | async} as obs\">\n <h4 class=\"title\">\n {{ 'dashboard.openTasks.title' | translate }}\n <sup *ngIf=\"obs.loading === false\" class=\"ml-1 badge badge-pill badge-primary\">{{\n openTasks?.length\n }}</sup>\n </h4>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <valtimo-widget>\n <valtimo-list\n [items]=\"openTasks\"\n [fields]=\"openTaskFields\"\n (rowClicked)=\"rowOpenTaskClick($event)\"\n ></valtimo-list>\n </valtimo-widget>\n </ng-container>\n <valtimo-task-detail-modal\n #taskDetail\n (formSubmit)=\"getOpenTasks()\"\n (assignmentOfTaskChanged)=\"getOpenTasks()\"\n ></valtimo-task-detail-modal>\n</div>\n\n<ng-template #loading>\n <valtimo-spinner></valtimo-spinner>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.WidgetComponent, selector: "valtimo-widget", inputs: ["type", "name", "icon", "contrast", "divider", "title", "subtitle", "collapseAble", "collapse", "additionalClasses"] }, { kind: "component", type: i4.ListComponent, selector: "valtimo-list", inputs: ["items", "fields", "pagination", "viewMode", "isSearchable", "header", "actions", "paginationIdentifier", "initialSortState", "lastColumnTemplate"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged"] }, { kind: "component", type: i1.TaskDetailModalComponent, selector: "valtimo-task-detail-modal", outputs: ["formSubmit", "assignmentOfTaskChanged"] }, { kind: "component", type: i4.SpinnerComponent, selector: "valtimo-spinner", inputs: ["useBootstrapSpinner", "name", "type", "size", "color", "bdColor", "fullScreen", "noMarginTop"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] }); }
|
|
77
77
|
}
|
|
78
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
78
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DashboardComponent, decorators: [{
|
|
79
79
|
type: Component,
|
|
80
|
-
args: [{ selector: 'valtimo-dashboard', template: "<!--\n ~ Copyright 2015-
|
|
81
|
-
}], ctorParameters:
|
|
80
|
+
args: [{ selector: 'valtimo-dashboard', 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 class=\"main-content container-fluid\" *ngIf=\"{loading: loading$ | async} as obs\">\n <h4 class=\"title\">\n {{ 'dashboard.openTasks.title' | translate }}\n <sup *ngIf=\"obs.loading === false\" class=\"ml-1 badge badge-pill badge-primary\">{{\n openTasks?.length\n }}</sup>\n </h4>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <valtimo-widget>\n <valtimo-list\n [items]=\"openTasks\"\n [fields]=\"openTaskFields\"\n (rowClicked)=\"rowOpenTaskClick($event)\"\n ></valtimo-list>\n </valtimo-widget>\n </ng-container>\n <valtimo-task-detail-modal\n #taskDetail\n (formSubmit)=\"getOpenTasks()\"\n (assignmentOfTaskChanged)=\"getOpenTasks()\"\n ></valtimo-task-detail-modal>\n</div>\n\n<ng-template #loading>\n <valtimo-spinner></valtimo-spinner>\n</ng-template>\n" }]
|
|
81
|
+
}], ctorParameters: () => [{ type: i1.TaskService }, { type: i2.ActivatedRoute }], propDecorators: { taskDetail: [{
|
|
82
82
|
type: ViewChild,
|
|
83
83
|
args: ['taskDetail']
|
|
84
84
|
}] } });
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZGFzaGJvYXJkL3NyYy9saWIvY29tcG9uZW50cy9kYXNoYm9hcmQvZGFzaGJvYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZGFzaGJvYXJkL3NyYy9saWIvY29tcG9uZW50cy9kYXNoYm9hcmQvZGFzaGJvYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsT0FBTyxFQUFDLFNBQVMsRUFBVSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFHM0QsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDckMsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7O0FBRXBDLE1BQU0sQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztBQUNyRCxNQUFNLENBQUMsYUFBYSxHQUFHLG1CQUFtQixDQUFDO0FBTzNDLE1BQU0sT0FBTyxrQkFBa0I7SUFxQjdCLFlBQ21CLFdBQXdCLEVBQ3hCLEtBQXFCO1FBRHJCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBcEJqQyxtQkFBYyxHQUFHO1lBQ3RCO2dCQUNFLEdBQUcsRUFBRSxTQUFTO2dCQUNkLEtBQUssRUFBRSxTQUFTO2FBQ2pCO1lBQ0Q7Z0JBQ0UsR0FBRyxFQUFFLE1BQU07Z0JBQ1gsS0FBSyxFQUFFLE1BQU07YUFDZDtZQUNEO2dCQUNFLEdBQUcsRUFBRSwwQkFBMEI7Z0JBQy9CLEtBQUssRUFBRSxVQUFVO2FBQ2xCO1NBQ0YsQ0FBQztRQUdGLGFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBVSxJQUFJLENBQUMsQ0FBQztJQUszQyxDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRU0sWUFBWTtRQUNqQixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUMvQyxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztZQUMxQixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDeEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1lBQ2xFLENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ25DLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLGdCQUFnQixDQUFDLElBQUk7UUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QyxDQUFDO0lBQ0gsQ0FBQztJQUVPLG1CQUFtQixDQUFDLEtBQWtCO1FBQzVDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDdEQsTUFBTSxNQUFNLEdBQUcsTUFBTSxFQUFFLE1BQU0sQ0FBQztZQUM5QixNQUFNLGNBQWMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxNQUFNLENBQUMsQ0FBQztZQUU5RCxJQUFJLGNBQWMsRUFBRSxDQUFDO2dCQUNuQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDeEMsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0F4RFUsa0JBQWtCO2tHQUFsQixrQkFBa0IsbUtDOUIvQix1K0NBMENBOzsyRkRaYSxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0UsbUJBQW1COzZHQXFCSixVQUFVO3NCQUFsQyxTQUFTO3VCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHtDb21wb25lbnQsIE9uSW5pdCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1Rhc2ssIFRhc2tEZXRhaWxNb2RhbENvbXBvbmVudCwgVGFza1NlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL3Rhc2snO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHt0YWtlfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbm1vbWVudC5sb2NhbGUobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2xhbmdLZXknKSB8fCAnJyk7XG5tb21lbnQuZGVmYXVsdEZvcm1hdCA9ICdERCBNTU0gWVlZWSBISDptbSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbHRpbW8tZGFzaGJvYXJkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Rhc2hib2FyZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Rhc2hib2FyZC5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIERhc2hib2FyZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHB1YmxpYyBwcm9jZXNzRGVmaW5pdGlvbnM6IEFycmF5PGFueT47XG4gIHB1YmxpYyBvcGVuVGFza3M6IEFycmF5PGFueT47XG4gIHB1YmxpYyBvcGVuVGFza0ZpZWxkcyA9IFtcbiAgICB7XG4gICAgICBrZXk6ICdjcmVhdGVkJyxcbiAgICAgIGxhYmVsOiAnQ3JlYXRlZCcsXG4gICAgfSxcbiAgICB7XG4gICAgICBrZXk6ICduYW1lJyxcbiAgICAgIGxhYmVsOiAnTmFtZScsXG4gICAgfSxcbiAgICB7XG4gICAgICBrZXk6ICd2YWx0aW1vQXNzaWduZWUuZnVsbE5hbWUnLFxuICAgICAgbGFiZWw6ICdBc3NpZ25lZScsXG4gICAgfSxcbiAgXTtcbiAgQFZpZXdDaGlsZCgndGFza0RldGFpbCcpIHRhc2tEZXRhaWw6IFRhc2tEZXRhaWxNb2RhbENvbXBvbmVudDtcblxuICBsb2FkaW5nJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSB0YXNrU2VydmljZTogVGFza1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGVcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZ2V0T3BlblRhc2tzKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0T3BlblRhc2tzKCkge1xuICAgIHRoaXMudGFza1NlcnZpY2UuZ2V0VGFza3MoKS5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xuICAgICAgdGhpcy5vcGVuVGFza3MgPSByZXNwb25zZTtcbiAgICAgIHRoaXMub3BlblRhc2tzLm1hcCh0YXNrID0+IHtcbiAgICAgICAgdGFzay5jcmVhdGVkID0gbW9tZW50KHRhc2suY3JlYXRlZCkuZm9ybWF0KCdERCBNTU0gWVlZWSBISDptbScpO1xuICAgICAgfSk7XG4gICAgICB0aGlzLmNoZWNrUm91dGVGb3JUYXNrSWQocmVzcG9uc2UpO1xuICAgICAgdGhpcy5sb2FkaW5nJC5uZXh0KGZhbHNlKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyByb3dPcGVuVGFza0NsaWNrKHRhc2spIHtcbiAgICBpZiAoIXRhc2suZW5kVGltZSkge1xuICAgICAgdGhpcy50YXNrRGV0YWlsLm9wZW5UYXNrRGV0YWlscyh0YXNrKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNoZWNrUm91dGVGb3JUYXNrSWQodGFza3M6IEFycmF5PFRhc2s+KTogdm9pZCB7XG4gICAgdGhpcy5yb3V0ZS5xdWVyeVBhcmFtcy5waXBlKHRha2UoMSkpLnN1YnNjcmliZShwYXJhbXMgPT4ge1xuICAgICAgY29uc3QgdGFza0lkID0gcGFyYW1zPy50YXNrSWQ7XG4gICAgICBjb25zdCBmaW5kVGFza0Zyb21JZCA9IHRhc2tzLmZpbmQodGFzayA9PiB0YXNrLmlkID09PSB0YXNrSWQpO1xuXG4gICAgICBpZiAoZmluZFRhc2tGcm9tSWQpIHtcbiAgICAgICAgdGhpcy5yb3dPcGVuVGFza0NsaWNrKGZpbmRUYXNrRnJvbUlkKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48ZGl2IGNsYXNzPVwibWFpbi1jb250ZW50IGNvbnRhaW5lci1mbHVpZFwiICpuZ0lmPVwie2xvYWRpbmc6IGxvYWRpbmckIHwgYXN5bmN9IGFzIG9ic1wiPlxuICA8aDQgY2xhc3M9XCJ0aXRsZVwiPlxuICAgIHt7ICdkYXNoYm9hcmQub3BlblRhc2tzLnRpdGxlJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDxzdXAgKm5nSWY9XCJvYnMubG9hZGluZyA9PT0gZmFsc2VcIiBjbGFzcz1cIm1sLTEgYmFkZ2UgYmFkZ2UtcGlsbCBiYWRnZS1wcmltYXJ5XCI+e3tcbiAgICAgIG9wZW5UYXNrcz8ubGVuZ3RoXG4gICAgfX08L3N1cD5cbiAgPC9oND5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm9icy5sb2FkaW5nID09PSBmYWxzZTsgZWxzZSBsb2FkaW5nXCI+XG4gICAgPHZhbHRpbW8td2lkZ2V0PlxuICAgICAgPHZhbHRpbW8tbGlzdFxuICAgICAgICBbaXRlbXNdPVwib3BlblRhc2tzXCJcbiAgICAgICAgW2ZpZWxkc109XCJvcGVuVGFza0ZpZWxkc1wiXG4gICAgICAgIChyb3dDbGlja2VkKT1cInJvd09wZW5UYXNrQ2xpY2soJGV2ZW50KVwiXG4gICAgICA+PC92YWx0aW1vLWxpc3Q+XG4gICAgPC92YWx0aW1vLXdpZGdldD5cbiAgPC9uZy1jb250YWluZXI+XG4gIDx2YWx0aW1vLXRhc2stZGV0YWlsLW1vZGFsXG4gICAgI3Rhc2tEZXRhaWxcbiAgICAoZm9ybVN1Ym1pdCk9XCJnZXRPcGVuVGFza3MoKVwiXG4gICAgKGFzc2lnbm1lbnRPZlRhc2tDaGFuZ2VkKT1cImdldE9wZW5UYXNrcygpXCJcbiAgPjwvdmFsdGltby10YXNrLWRldGFpbC1tb2RhbD5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2xvYWRpbmc+XG4gIDx2YWx0aW1vLXNwaW5uZXI+PC92YWx0aW1vLXNwaW5uZXI+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* Copyright 2015-
|
|
2
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
3
3
|
*
|
|
4
4
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
5
|
* you may not use this file except in compliance with the License.
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
import { Component, ViewEncapsulation } from '@angular/core';
|
|
17
|
-
import { BehaviorSubject,
|
|
17
|
+
import { BehaviorSubject, tap } from 'rxjs';
|
|
18
18
|
import * as i0 from "@angular/core";
|
|
19
19
|
import * as i1 from "../../services";
|
|
20
20
|
import * as i2 from "../../services/widget-api.service";
|
|
@@ -36,23 +36,23 @@ export class WidgetDashboardComponent {
|
|
|
36
36
|
data: [],
|
|
37
37
|
loading: true,
|
|
38
38
|
});
|
|
39
|
+
this.selectedDashboardKey$ = new BehaviorSubject('');
|
|
39
40
|
}
|
|
40
41
|
onTabSelected(dashboardKey) {
|
|
42
|
+
this.selectedDashboardKey$.next(dashboardKey);
|
|
43
|
+
this.activeWidgetData$.next({ data: [], loading: true });
|
|
41
44
|
this.widgetApiService
|
|
42
45
|
.getWidgetData(dashboardKey)
|
|
43
|
-
.pipe(tap(() => {
|
|
44
|
-
this.activeWidgetData$.next({ data: [], loading: true });
|
|
45
|
-
}), take(1))
|
|
46
46
|
.subscribe((data) => this.activeWidgetData$.next({ data, loading: false }));
|
|
47
47
|
}
|
|
48
48
|
trackByIndex(index) {
|
|
49
49
|
return index;
|
|
50
50
|
}
|
|
51
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
52
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
51
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", 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.3", 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"], 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
53
|
}
|
|
54
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
54
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: WidgetDashboardComponent, decorators: [{
|
|
55
55
|
type: Component,
|
|
56
|
-
args: [{ selector: 'valtimo-widget-dashboard', encapsulation: ViewEncapsulation.None, template: "<!--\n ~ Copyright 2015-
|
|
57
|
-
}], ctorParameters:
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWRhc2hib2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2Rhc2hib2FyZC9zcmMvbGliL2NvbXBvbmVudHMvd2lkZ2V0LWRhc2hib2FyZC93aWRnZXQtZGFzaGJvYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZGFzaGJvYXJkL3NyYy9saWIvY29tcG9uZW50cy93aWRnZXQtZGFzaGJvYXJkL3dpZGdldC1kYXNoYm9hcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQUMsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFBQyxlQUFlLEVBQWMsR0FBRyxFQUFDLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7QUFXdEQsTUFBTSxPQUFPLHdCQUF3QjtJQWVuQyxZQUNtQixnQkFBa0MsRUFDbEMsZ0JBQWtDO1FBRGxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQWhCOUMsZ0JBQVcsR0FBaUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxDQUFDLElBQUksQ0FDM0YsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ2YsSUFBSSxVQUFVLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUM1QixJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN4QyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUNjLHNCQUFpQixHQUFHLElBQUksZUFBZSxDQUF5QztZQUM5RixJQUFJLEVBQUUsRUFBRTtZQUNSLE9BQU8sRUFBRSxJQUFJO1NBQ2QsQ0FBQyxDQUFDO1FBRWEsMEJBQXFCLEdBQUcsSUFBSSxlQUFlLENBQVMsRUFBRSxDQUFDLENBQUM7SUFLckUsQ0FBQztJQUVHLGFBQWEsQ0FBQyxZQUFvQjtRQUN2QyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO1FBRXZELElBQUksQ0FBQyxnQkFBZ0I7YUFDbEIsYUFBYSxDQUFDLFlBQVksQ0FBQzthQUMzQixTQUFTLENBQUMsQ0FBQyxJQUFrQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUYsQ0FBQztJQUVNLFlBQVksQ0FBQyxLQUFhO1FBQy9CLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs4R0EvQlUsd0JBQXdCO2tHQUF4Qix3QkFBd0IsZ0VDM0JyQywreERBaURBOzsyRkR0QmEsd0JBQXdCO2tCQU5wQyxTQUFTOytCQUNFLDBCQUEwQixpQkFHckIsaUJBQWlCLENBQUMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQge0NvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIHRhcH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0Rhc2hib2FyZCwgV2lkZ2V0RGF0YX0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7RGFzaGJvYXJkU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHtXaWRnZXRBcGlTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy93aWRnZXQtYXBpLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLXdpZGdldC1kYXNoYm9hcmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vd2lkZ2V0LWRhc2hib2FyZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3dpZGdldC1kYXNoYm9hcmQuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgV2lkZ2V0RGFzaGJvYXJkQ29tcG9uZW50IHtcbiAgcHVibGljIGRhc2hib2FyZHMkOiBPYnNlcnZhYmxlPEFycmF5PERhc2hib2FyZD4+ID0gdGhpcy5kYXNoYm9hcmRTZXJ2aWNlLmdldERhc2hib2FyZHMoKS5waXBlKFxuICAgIHRhcChkYXNoYm9hcmRzID0+IHtcbiAgICAgIGlmIChkYXNoYm9hcmRzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICB0aGlzLm9uVGFiU2VsZWN0ZWQoZGFzaGJvYXJkc1swXS5rZXkpO1xuICAgICAgfVxuICAgIH0pXG4gICk7XG4gIHB1YmxpYyByZWFkb25seSBhY3RpdmVXaWRnZXREYXRhJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8e2RhdGE6IFdpZGdldERhdGFbXTsgbG9hZGluZzogYm9vbGVhbn0+KHtcbiAgICBkYXRhOiBbXSxcbiAgICBsb2FkaW5nOiB0cnVlLFxuICB9KTtcblxuICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0ZWREYXNoYm9hcmRLZXkkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRhc2hib2FyZFNlcnZpY2U6IERhc2hib2FyZFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB3aWRnZXRBcGlTZXJ2aWNlOiBXaWRnZXRBcGlTZXJ2aWNlXG4gICkge31cblxuICBwdWJsaWMgb25UYWJTZWxlY3RlZChkYXNoYm9hcmRLZXk6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWREYXNoYm9hcmRLZXkkLm5leHQoZGFzaGJvYXJkS2V5KTtcbiAgICB0aGlzLmFjdGl2ZVdpZGdldERhdGEkLm5leHQoe2RhdGE6IFtdLCBsb2FkaW5nOiB0cnVlfSk7XG5cbiAgICB0aGlzLndpZGdldEFwaVNlcnZpY2VcbiAgICAgIC5nZXRXaWRnZXREYXRhKGRhc2hib2FyZEtleSlcbiAgICAgIC5zdWJzY3JpYmUoKGRhdGE6IFdpZGdldERhdGFbXSkgPT4gdGhpcy5hY3RpdmVXaWRnZXREYXRhJC5uZXh0KHtkYXRhLCBsb2FkaW5nOiBmYWxzZX0pKTtcbiAgfVxuXG4gIHB1YmxpYyB0cmFja0J5SW5kZXgoaW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgcmV0dXJuIGluZGV4O1xuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjxkaXYgKm5nSWY9XCJkYXNoYm9hcmRzJCB8IGFzeW5jIGFzIGRhc2hib2FyZHNcIiBjbGFzcz1cImRhc2hib2FyZHMtY29udGFpbmVyXCI+XG4gIDx2YWx0aW1vLW5vLXJlc3VsdHNcbiAgICAqbmdJZj1cIiFkYXNoYm9hcmRzLmxlbmd0aFwiXG4gICAgW3RpdGxlXT1cIidkYXNoYm9hcmQubm9EYXNoYm9hcmRzJyB8IHRyYW5zbGF0ZVwiXG4gICAgW2Rlc2NyaXB0aW9uXT1cIidkYXNoYm9hcmQubm9EYXNoYm9hcmRzRGVzY3JpcHRpb24nIHwgdHJhbnNsYXRlXCJcbiAgICBpbGx1c3RyYXRpb249XCJ2YWx0aW1vLWxheW91dC9pbWcvbm8tZGFzaGJvYXJkcy5zdmdcIlxuICA+PC92YWx0aW1vLW5vLXJlc3VsdHM+XG5cbiAgPGRpdiAqbmdJZj1cImRhc2hib2FyZHMubGVuZ3RoID09PSAxXCI+XG4gICAgPGg0Pnt7IGRhc2hib2FyZHNbMF0udGl0bGUgfX08L2g0PlxuXG4gICAgPHZhbHRpbW8td2lkZ2V0LWRhc2hib2FyZC1jb250ZW50XG4gICAgICBbZGFzaGJvYXJkXT1cImRhc2hib2FyZHNbMF1cIlxuICAgICAgW3dpZGdldERhdGFdPVwiYWN0aXZlV2lkZ2V0RGF0YSQgfCBhc3luY1wiXG4gICAgPjwvdmFsdGltby13aWRnZXQtZGFzaGJvYXJkLWNvbnRlbnQ+XG4gIDwvZGl2PlxuXG4gIDxkaXYgKm5nSWY9XCJkYXNoYm9hcmRzLmxlbmd0aCA+IDFcIj5cbiAgICA8Y2RzLXRhYnM+XG4gICAgICA8Y2RzLXRhYlxuICAgICAgICAqbmdGb3I9XCJsZXQgZGFzaGJvYXJkIG9mIGRhc2hib2FyZHM7IHRyYWNrQnk6IHRyYWNrQnlJbmRleFwiXG4gICAgICAgIFtoZWFkaW5nXT1cImRhc2hib2FyZC50aXRsZVwiXG4gICAgICAgIChzZWxlY3RlZCk9XCJvblRhYlNlbGVjdGVkKGRhc2hib2FyZC5rZXkpXCJcbiAgICAgID5cbiAgICAgICAgPHZhbHRpbW8td2lkZ2V0LWRhc2hib2FyZC1jb250ZW50XG4gICAgICAgICAgKm5nSWY9XCIoc2VsZWN0ZWREYXNoYm9hcmRLZXkkIHwgYXN5bmMpID09PSBkYXNoYm9hcmQua2V5XCJcbiAgICAgICAgICBbZGFzaGJvYXJkXT1cImRhc2hib2FyZFwiXG4gICAgICAgICAgW3dpZGdldERhdGFdPVwiYWN0aXZlV2lkZ2V0RGF0YSQgfCBhc3luY1wiXG4gICAgICAgID48L3ZhbHRpbW8td2lkZ2V0LWRhc2hib2FyZC1jb250ZW50PlxuICAgICAgPC9jZHMtdGFiPlxuICAgIDwvY2RzLXRhYnM+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
package/esm2022/lib/components/widget-dashboard-content/widget-dashboard-content.component.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* Copyright 2015-
|
|
2
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
3
3
|
*
|
|
4
4
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
5
|
* you may not use this file except in compliance with the License.
|
|
@@ -15,8 +15,10 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import { Component, Input, ViewChild, ViewChildren, ViewContainerRef, } from '@angular/core';
|
|
17
17
|
import { BehaviorSubject, combineLatest, Subscription } from 'rxjs';
|
|
18
|
-
import { take } from 'rxjs/operators';
|
|
18
|
+
import { delay, map, take } from 'rxjs/operators';
|
|
19
19
|
import { WidgetLayoutService } from '../../services/widget-layout.service';
|
|
20
|
+
import { WIDGET_1X_HEIGHT } from '../../constants';
|
|
21
|
+
import Muuri from 'muuri';
|
|
20
22
|
import * as i0 from "@angular/core";
|
|
21
23
|
import * as i1 from "../../services/widget-layout.service";
|
|
22
24
|
import * as i2 from "../../services";
|
|
@@ -26,27 +28,38 @@ import * as i5 from "@valtimo/components";
|
|
|
26
28
|
import * as i6 from "@ngx-translate/core";
|
|
27
29
|
export class WidgetDashboardContentComponent {
|
|
28
30
|
set widgetData(value) {
|
|
29
|
-
this.
|
|
31
|
+
this._isLoading$.next(value.loading);
|
|
30
32
|
this._widgetData$.next(value.data);
|
|
31
33
|
}
|
|
32
34
|
set dashboard(value) {
|
|
33
35
|
this.setWidgetConfigurations(value);
|
|
34
36
|
}
|
|
37
|
+
get _muuriInitialized$() {
|
|
38
|
+
return this._muuri$.pipe(map(muuri => !!muuri));
|
|
39
|
+
}
|
|
35
40
|
constructor(layoutService, widgetService, renderer) {
|
|
36
41
|
this.layoutService = layoutService;
|
|
37
42
|
this.widgetService = widgetService;
|
|
38
43
|
this.renderer = renderer;
|
|
39
|
-
this.
|
|
44
|
+
this._isLoading$ = new BehaviorSubject(true);
|
|
40
45
|
this._widgetData$ = new BehaviorSubject([]);
|
|
41
46
|
this.widgetConfigurations$ = new BehaviorSubject(null);
|
|
42
47
|
this._subscriptions = new Subscription();
|
|
48
|
+
this._muuri$ = this.layoutService.muuriSubject$;
|
|
49
|
+
this._creatingMuuri = false;
|
|
50
|
+
this._noResults$ = new BehaviorSubject(false);
|
|
51
|
+
this.loaded$ = combineLatest([
|
|
52
|
+
this._isLoading$,
|
|
53
|
+
this._muuriInitialized$,
|
|
54
|
+
this._noResults$,
|
|
55
|
+
]).pipe(map(([isLoading, muuriInitialized, noResults]) => !isLoading && (muuriInitialized || noResults)), delay(400));
|
|
43
56
|
}
|
|
44
57
|
ngAfterViewInit() {
|
|
45
58
|
this._observer = new ResizeObserver(event => {
|
|
46
59
|
this.observerMutation(event);
|
|
47
60
|
});
|
|
48
61
|
this._observer.observe(this._widgetContainerRef.nativeElement);
|
|
49
|
-
this.
|
|
62
|
+
this.openWidgetSizeSubscription();
|
|
50
63
|
this.renderWidgets();
|
|
51
64
|
}
|
|
52
65
|
ngOnDestroy() {
|
|
@@ -66,17 +79,34 @@ export class WidgetDashboardContentComponent {
|
|
|
66
79
|
this.layoutService.setWidgetContainerWidth(widgetContainerWidth);
|
|
67
80
|
}
|
|
68
81
|
}
|
|
69
|
-
|
|
70
|
-
this._subscriptions.add(
|
|
71
|
-
this.
|
|
82
|
+
openWidgetSizeSubscription() {
|
|
83
|
+
this._subscriptions.add(combineLatest([
|
|
84
|
+
this.layoutService.amountOfColumns$,
|
|
85
|
+
this.widgetConfigurations$,
|
|
86
|
+
this.widgetService.supportedDisplayTypes$,
|
|
87
|
+
this._muuri$,
|
|
88
|
+
]).subscribe(([amountOfColumns, widgetConfigurations, supportedDisplayTypes, muuri]) => {
|
|
72
89
|
this._widgetConfigurationRefs.toArray().forEach(widgetConfigurationRef => {
|
|
73
90
|
const nativeElement = widgetConfigurationRef.nativeElement;
|
|
74
|
-
const
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
91
|
+
const widgetConfiguration = widgetConfigurations.find(config => config.key === nativeElement.id);
|
|
92
|
+
const specification = supportedDisplayTypes.find(type => type.displayTypeKey === widgetConfiguration.displayType);
|
|
93
|
+
const widthPercentage = specification.width > amountOfColumns
|
|
94
|
+
? 100
|
|
95
|
+
: (specification.width / amountOfColumns) * 100;
|
|
96
|
+
this.renderer.setStyle(nativeElement, 'height', `${WIDGET_1X_HEIGHT * specification.height}px`);
|
|
97
|
+
this.renderer.setStyle(nativeElement, 'width', `${widthPercentage}%`);
|
|
79
98
|
});
|
|
99
|
+
if (widgetConfigurations.length > 0) {
|
|
100
|
+
if (!muuri) {
|
|
101
|
+
this.initMuuri();
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
this.layoutService.triggerMuuriLayout();
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
this._noResults$.next(true);
|
|
109
|
+
}
|
|
80
110
|
}));
|
|
81
111
|
}
|
|
82
112
|
renderWidgets() {
|
|
@@ -100,13 +130,25 @@ export class WidgetDashboardContentComponent {
|
|
|
100
130
|
});
|
|
101
131
|
}));
|
|
102
132
|
}
|
|
103
|
-
|
|
104
|
-
|
|
133
|
+
initMuuri() {
|
|
134
|
+
if (!this._widgetContainerRef || this._creatingMuuri)
|
|
135
|
+
return;
|
|
136
|
+
this._creatingMuuri = true;
|
|
137
|
+
this.layoutService.setMuuri(new Muuri(this._widgetContainerRef.nativeElement, {
|
|
138
|
+
layout: {
|
|
139
|
+
fillGaps: true,
|
|
140
|
+
},
|
|
141
|
+
layoutOnResize: false,
|
|
142
|
+
}));
|
|
143
|
+
this._creatingMuuri = false;
|
|
144
|
+
}
|
|
145
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: WidgetDashboardContentComponent, deps: [{ token: i1.WidgetLayoutService }, { token: i2.WidgetService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
146
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", 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 class=\"widget-configuration-content\">\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}.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: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "component", type: i5.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
|
|
105
147
|
}
|
|
106
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
148
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: WidgetDashboardContentComponent, decorators: [{
|
|
107
149
|
type: Component,
|
|
108
|
-
args: [{ selector: 'valtimo-widget-dashboard-content', providers: [WidgetLayoutService], template: "<!--\n ~ Copyright 2015-
|
|
109
|
-
}], ctorParameters:
|
|
150
|
+
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 class=\"widget-configuration-content\">\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}.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"] }]
|
|
151
|
+
}], ctorParameters: () => [{ type: i1.WidgetLayoutService }, { type: i2.WidgetService }, { type: i0.Renderer2 }], propDecorators: { _widgetConfigurationRefs: [{
|
|
110
152
|
type: ViewChildren,
|
|
111
153
|
args: ['widgetConfiguration']
|
|
112
154
|
}], _widgetConfigurationContentVcRefs: [{
|
|
@@ -120,4 +162,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
120
162
|
}], dashboard: [{
|
|
121
163
|
type: Input
|
|
122
164
|
}] } });
|
|
123
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWRhc2hib2FyZC1jb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZGFzaGJvYXJkL3NyYy9saWIvY29tcG9uZW50cy93aWRnZXQtZGFzaGJvYXJkLWNvbnRlbnQvd2lkZ2V0LWRhc2hib2FyZC1jb250ZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZGFzaGJvYXJkL3NyYy9saWIvY29tcG9uZW50cy93aWRnZXQtZGFzaGJvYXJkLWNvbnRlbnQvd2lkZ2V0LWRhc2hib2FyZC1jb250ZW50LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsT0FBTyxFQUVMLFNBQVMsRUFHVCxLQUFLLEVBSUwsU0FBUyxFQUNULFlBQVksRUFDWixnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGVBQWUsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2xFLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUdwQyxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQzs7Ozs7Ozs7QUFRekUsTUFBTSxPQUFPLCtCQUErQjtJQVcxQyxJQUFhLFVBQVUsQ0FBQyxLQUE2QztRQUNuRSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFDRCxJQUFhLFNBQVMsQ0FBQyxLQUFnQjtRQUNyQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQVFELFlBQ21CLGFBQWtDLEVBQ2xDLGFBQTRCLEVBQzVCLFFBQW1CO1FBRm5CLGtCQUFhLEdBQWIsYUFBYSxDQUFxQjtRQUNsQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBcEJ0QixlQUFVLEdBQUcsSUFBSSxlQUFlLENBQVUsSUFBSSxDQUFDLENBQUM7UUFDeEQsaUJBQVksR0FBRyxJQUFJLGVBQWUsQ0FBZSxFQUFFLENBQUMsQ0FBQztRQVU3QywwQkFBcUIsR0FDbkMsSUFBSSxlQUFlLENBQTZDLElBQUksQ0FBQyxDQUFDO1FBR2hFLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQU16QyxDQUFDO0lBRUcsZUFBZTtRQUNwQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksY0FBYyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztRQUNsQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsY0FBYyxFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFTyx1QkFBdUIsQ0FBQyxTQUFvQjtRQUNsRCxJQUFJLENBQUMsYUFBYSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMscUJBQXFCLENBQUMsRUFBRTtZQUN4RixNQUFNLDZCQUE2QixHQUNqQyxTQUFTLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLENBQzlDLHFCQUFxQixDQUFDLElBQUksQ0FDeEIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxLQUFLLG1CQUFtQixDQUFDLFdBQVcsQ0FDaEUsQ0FDRixJQUFJLEVBQUUsQ0FBQztZQUNWLElBQUksQ0FBQyxhQUFhLENBQUMsdUJBQXVCLENBQUMsNkJBQTZCLENBQUMsQ0FBQztZQUMxRSxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLDZCQUE2QixDQUFDLENBQUM7UUFDakUsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsS0FBaUM7UUFDeEQsTUFBTSxvQkFBb0IsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFLFVBQVUsQ0FBQztRQUVwRSxJQUFJLE9BQU8sb0JBQW9CLEtBQUssUUFBUSxJQUFJLG9CQUFvQixLQUFLLENBQUMsRUFBRTtZQUMxRSxJQUFJLENBQUMsYUFBYSxDQUFDLHVCQUF1QixDQUFDLG9CQUFvQixDQUFDLENBQUM7U0FDbEU7SUFDSCxDQUFDO0lBRU8sMEJBQTBCO1FBQ2hDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUNyQixJQUFJLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUMxRCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FDcEIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsRUFDdEMsUUFBUSxFQUNSLEdBQUcsVUFBVSxDQUFDLE1BQU0sSUFBSSxDQUN6QixDQUFDO1lBRUYsSUFBSSxDQUFDLHdCQUF3QixDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFO2dCQUN2RSxNQUFNLGFBQWEsR0FBRyxzQkFBc0IsQ0FBQyxhQUFhLENBQUM7Z0JBQzNELE1BQU0sZ0JBQWdCLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQzVDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsS0FBSyxhQUFhLENBQUMsRUFBRSxDQUM1RCxDQUFDO2dCQUNGLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxRQUFRLEVBQUUsR0FBRyxnQkFBZ0IsRUFBRSxNQUFNLElBQUksQ0FBQyxDQUFDO2dCQUNqRixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsT0FBTyxFQUFFLEdBQUcsZ0JBQWdCLEVBQUUsS0FBSyxJQUFJLENBQUMsQ0FBQztnQkFDL0UsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLE1BQU0sRUFBRSxHQUFHLGdCQUFnQixFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzFFLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxLQUFLLEVBQUUsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzNFLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFTyxhQUFhO1FBQ25CLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUNyQixhQUFhLENBQUM7WUFDWixJQUFJLENBQUMscUJBQXFCO1lBQzFCLElBQUksQ0FBQyxhQUFhLENBQUMsc0JBQXNCO1lBQ3pDLElBQUksQ0FBQyxZQUFZO1NBQ2xCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLGNBQWMsRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUNwRCxjQUFjLEVBQUUsT0FBTyxDQUFDLENBQUMsYUFBYSxFQUFFLEtBQUssRUFBRSxFQUFFO2dCQUMvQyxNQUFNLFdBQVcsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUNuQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLEtBQUssYUFBYSxDQUFDLFdBQVcsQ0FDMUQsQ0FBQztnQkFDRixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsaUNBQWlDLENBQUMsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBRXRFLElBQUksV0FBVyxJQUFJLElBQUksRUFBRTtvQkFDdkIsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO29CQUNkLE1BQU0saUJBQWlCLEdBQW1DLEtBQUssQ0FBQyxlQUFlLENBQzdFLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FDN0IsQ0FBQztvQkFDRixpQkFBaUIsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDO29CQUN4RSxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsdUJBQXVCLEVBQUU7d0JBQ2xELEdBQUcsYUFBYSxDQUFDLHFCQUFxQjtxQkFDdkMsQ0FBQyxDQUFDO29CQUVILGlCQUFpQixDQUFDLFFBQVEsQ0FDeEIsTUFBTSxFQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsR0FBRyxLQUFLLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQ2hFLENBQUM7aUJBQ0g7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDOytHQXhIVSwrQkFBK0I7bUdBQS9CLCtCQUErQix5SEFGL0IsQ0FBQyxtQkFBbUIsQ0FBQyx1VkFNbUIsZ0JBQWdCLDZCQzVDckUsNDRDQWtDQTs7NEZETWEsK0JBQStCO2tCQU4zQyxTQUFTOytCQUNFLGtDQUFrQyxhQUdqQyxDQUFDLG1CQUFtQixDQUFDOzhKQUdhLHdCQUF3QjtzQkFBcEUsWUFBWTt1QkFBQyxxQkFBcUI7Z0JBSTNCLGlDQUFpQztzQkFEeEMsWUFBWTt1QkFBQyw0QkFBNEIsRUFBRSxFQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBQztnQkFFOUIsbUJBQW1CO3NCQUF4RCxTQUFTO3VCQUFDLGlCQUFpQjtnQkFLZixVQUFVO3NCQUF0QixLQUFLO2dCQUlPLFNBQVM7c0JBQXJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMyBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBDb21wb25lbnRSZWYsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIFF1ZXJ5TGlzdCxcbiAgUmVuZGVyZXIyLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDaGlsZHJlbixcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7dGFrZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtEYXNoYm9hcmQsIERhc2hib2FyZFdpZGdldENvbmZpZ3VyYXRpb24sIERpc3BsYXlDb21wb25lbnQsIFdpZGdldERhdGF9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQge1dpZGdldFNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7V2lkZ2V0TGF5b3V0U2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvd2lkZ2V0LWxheW91dC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby13aWRnZXQtZGFzaGJvYXJkLWNvbnRlbnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vd2lkZ2V0LWRhc2hib2FyZC1jb250ZW50LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vd2lkZ2V0LWRhc2hib2FyZC1jb250ZW50LmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1dpZGdldExheW91dFNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBXaWRnZXREYXNoYm9hcmRDb250ZW50Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgQFZpZXdDaGlsZHJlbignd2lkZ2V0Q29uZmlndXJhdGlvbicpIHByaXZhdGUgX3dpZGdldENvbmZpZ3VyYXRpb25SZWZzOiBRdWVyeUxpc3Q8XG4gICAgRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD5cbiAgPjtcbiAgQFZpZXdDaGlsZHJlbignd2lkZ2V0Q29uZmlndXJhdGlvbkNvbnRlbnQnLCB7cmVhZDogVmlld0NvbnRhaW5lclJlZn0pXG4gIHByaXZhdGUgX3dpZGdldENvbmZpZ3VyYXRpb25Db250ZW50VmNSZWZzOiBRdWVyeUxpc3Q8Vmlld0NvbnRhaW5lclJlZj47XG4gIEBWaWV3Q2hpbGQoJ3dpZGdldENvbnRhaW5lcicpIHByaXZhdGUgX3dpZGdldENvbnRhaW5lclJlZjogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG5cbiAgcHVibGljIHJlYWRvbmx5IGlzTG9hZGluZyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xuICBwcml2YXRlIF93aWRnZXREYXRhJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8V2lkZ2V0RGF0YVtdPihbXSk7XG5cbiAgQElucHV0KCkgc2V0IHdpZGdldERhdGEodmFsdWU6IHtkYXRhOiBXaWRnZXREYXRhW107IGxvYWRpbmc6IGJvb2xlYW59KSB7XG4gICAgdGhpcy5pc0xvYWRpbmckLm5leHQodmFsdWUubG9hZGluZyk7XG4gICAgdGhpcy5fd2lkZ2V0RGF0YSQubmV4dCh2YWx1ZS5kYXRhKTtcbiAgfVxuICBASW5wdXQoKSBzZXQgZGFzaGJvYXJkKHZhbHVlOiBEYXNoYm9hcmQpIHtcbiAgICB0aGlzLnNldFdpZGdldENvbmZpZ3VyYXRpb25zKHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyByZWFkb25seSB3aWRnZXRDb25maWd1cmF0aW9ucyQgPVxuICAgIG5ldyBCZWhhdmlvclN1YmplY3Q8QXJyYXk8RGFzaGJvYXJkV2lkZ2V0Q29uZmlndXJhdGlvbj4gfCBudWxsPihudWxsKTtcblxuICBwcml2YXRlIF9vYnNlcnZlciE6IFJlc2l6ZU9ic2VydmVyO1xuICBwcml2YXRlIF9zdWJzY3JpcHRpb25zID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbGF5b3V0U2VydmljZTogV2lkZ2V0TGF5b3V0U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHdpZGdldFNlcnZpY2U6IFdpZGdldFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlcjogUmVuZGVyZXIyXG4gICkge31cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX29ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKGV2ZW50ID0+IHtcbiAgICAgIHRoaXMub2JzZXJ2ZXJNdXRhdGlvbihldmVudCk7XG4gICAgfSk7XG4gICAgdGhpcy5fb2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLl93aWRnZXRDb250YWluZXJSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgdGhpcy5vcGVuUGFja1Jlc3VsdFN1YnNjcmlwdGlvbigpO1xuICAgIHRoaXMucmVuZGVyV2lkZ2V0cygpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX29ic2VydmVyPy5kaXNjb25uZWN0KCk7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucz8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0V2lkZ2V0Q29uZmlndXJhdGlvbnMoZGFzaGJvYXJkOiBEYXNoYm9hcmQpOiB2b2lkIHtcbiAgICB0aGlzLndpZGdldFNlcnZpY2Uuc3VwcG9ydGVkRGlzcGxheVR5cGVzJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShzdXBwb3J0ZWREaXNwbGF5VHlwZXMgPT4ge1xuICAgICAgY29uc3Qgc3VwcG9ydGVkV2lkZ2V0Q29uZmlndXJhdGlvbnMgPVxuICAgICAgICBkYXNoYm9hcmQud2lkZ2V0cz8uZmlsdGVyKHdpZGdldENvbmZpZ3VyYXRpb24gPT5cbiAgICAgICAgICBzdXBwb3J0ZWREaXNwbGF5VHlwZXMuZmluZChcbiAgICAgICAgICAgIHR5cGUgPT4gdHlwZS5kaXNwbGF5VHlwZUtleSA9PT0gd2lkZ2V0Q29uZmlndXJhdGlvbi5kaXNwbGF5VHlwZVxuICAgICAgICAgIClcbiAgICAgICAgKSB8fCBbXTtcbiAgICAgIHRoaXMubGF5b3V0U2VydmljZS5zZXRXaWRnZXRDb25maWd1cmF0aW9ucyhzdXBwb3J0ZWRXaWRnZXRDb25maWd1cmF0aW9ucyk7XG4gICAgICB0aGlzLndpZGdldENvbmZpZ3VyYXRpb25zJC5uZXh0KHN1cHBvcnRlZFdpZGdldENvbmZpZ3VyYXRpb25zKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZXJNdXRhdGlvbihldmVudDogQXJyYXk8UmVzaXplT2JzZXJ2ZXJFbnRyeT4pOiB2b2lkIHtcbiAgICBjb25zdCB3aWRnZXRDb250YWluZXJXaWR0aCA9IGV2ZW50WzBdPy5ib3JkZXJCb3hTaXplWzBdPy5pbmxpbmVTaXplO1xuXG4gICAgaWYgKHR5cGVvZiB3aWRnZXRDb250YWluZXJXaWR0aCA9PT0gJ251bWJlcicgJiYgd2lkZ2V0Q29udGFpbmVyV2lkdGggIT09IDApIHtcbiAgICAgIHRoaXMubGF5b3V0U2VydmljZS5zZXRXaWRnZXRDb250YWluZXJXaWR0aCh3aWRnZXRDb250YWluZXJXaWR0aCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBvcGVuUGFja1Jlc3VsdFN1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMubGF5b3V0U2VydmljZS53aWRnZXRQYWNrUmVzdWx0JC5zdWJzY3JpYmUocGFja1Jlc3VsdCA9PiB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgICAgdGhpcy5fd2lkZ2V0Q29udGFpbmVyUmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgJ2hlaWdodCcsXG4gICAgICAgICAgYCR7cGFja1Jlc3VsdC5oZWlnaHR9cHhgXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5fd2lkZ2V0Q29uZmlndXJhdGlvblJlZnMudG9BcnJheSgpLmZvckVhY2god2lkZ2V0Q29uZmlndXJhdGlvblJlZiA9PiB7XG4gICAgICAgICAgY29uc3QgbmF0aXZlRWxlbWVudCA9IHdpZGdldENvbmZpZ3VyYXRpb25SZWYubmF0aXZlRWxlbWVudDtcbiAgICAgICAgICBjb25zdCBjb25maWdQYWNrUmVzdWx0ID0gcGFja1Jlc3VsdC5pdGVtcy5maW5kKFxuICAgICAgICAgICAgcmVzdWx0ID0+IHJlc3VsdC5pdGVtLmNvbmZpZ3VyYXRpb25LZXkgPT09IG5hdGl2ZUVsZW1lbnQuaWRcbiAgICAgICAgICApO1xuICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUobmF0aXZlRWxlbWVudCwgJ2hlaWdodCcsIGAke2NvbmZpZ1BhY2tSZXN1bHQ/LmhlaWdodH1weGApO1xuICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUobmF0aXZlRWxlbWVudCwgJ3dpZHRoJywgYCR7Y29uZmlnUGFja1Jlc3VsdD8ud2lkdGh9cHhgKTtcbiAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKG5hdGl2ZUVsZW1lbnQsICdsZWZ0JywgYCR7Y29uZmlnUGFja1Jlc3VsdD8ueH1weGApO1xuICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUobmF0aXZlRWxlbWVudCwgJ3RvcCcsIGAke2NvbmZpZ1BhY2tSZXN1bHQ/Lnl9cHhgKTtcbiAgICAgICAgfSk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHJlbmRlcldpZGdldHMoKTogdm9pZCB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgdGhpcy53aWRnZXRDb25maWd1cmF0aW9ucyQsXG4gICAgICAgIHRoaXMud2lkZ2V0U2VydmljZS5zdXBwb3J0ZWREaXNwbGF5VHlwZXMkLFxuICAgICAgICB0aGlzLl93aWRnZXREYXRhJCxcbiAgICAgIF0pLnN1YnNjcmliZSgoW2NvbmZpZ3VyYXRpb25zLCBkaXNwbGF5VHlwZXMsIGRhdGFdKSA9PiB7XG4gICAgICAgIGNvbmZpZ3VyYXRpb25zPy5mb3JFYWNoKChjb25maWd1cmF0aW9uLCBpbmRleCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGRpc3BsYXlUeXBlID0gZGlzcGxheVR5cGVzLmZpbmQoXG4gICAgICAgICAgICB0eXBlID0+IHR5cGUuZGlzcGxheVR5cGVLZXkgPT09IGNvbmZpZ3VyYXRpb24uZGlzcGxheVR5cGVcbiAgICAgICAgICApO1xuICAgICAgICAgIGNvbnN0IHZjUmVmID0gdGhpcy5fd2lkZ2V0Q29uZmlndXJhdGlvbkNvbnRlbnRWY1JlZnMudG9BcnJheSgpW2luZGV4XTtcblxuICAgICAgICAgIGlmIChkaXNwbGF5VHlwZSAmJiBkYXRhKSB7XG4gICAgICAgICAgICB2Y1JlZi5jbGVhcigpO1xuICAgICAgICAgICAgY29uc3QgY29tcG9uZW50SW5zdGFuY2U6IENvbXBvbmVudFJlZjxEaXNwbGF5Q29tcG9uZW50PiA9IHZjUmVmLmNyZWF0ZUNvbXBvbmVudChcbiAgICAgICAgICAgICAgZGlzcGxheVR5cGUuZGlzcGxheUNvbXBvbmVudFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNvbXBvbmVudEluc3RhbmNlLnNldElucHV0KCdkaXNwbGF5VHlwZUtleScsIGNvbmZpZ3VyYXRpb24uZGlzcGxheVR5cGUpO1xuICAgICAgICAgICAgY29tcG9uZW50SW5zdGFuY2Uuc2V0SW5wdXQoJ2Rpc3BsYXlUeXBlUHJvcGVydGllcycsIHtcbiAgICAgICAgICAgICAgLi4uY29uZmlndXJhdGlvbi5kaXNwbGF5VHlwZVByb3BlcnRpZXMsXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgY29tcG9uZW50SW5zdGFuY2Uuc2V0SW5wdXQoXG4gICAgICAgICAgICAgICdkYXRhJyxcbiAgICAgICAgICAgICAgZGF0YS5maW5kKGRhdGFJdGVtID0+IGRhdGFJdGVtLmtleSA9PT0gY29uZmlndXJhdGlvbi5rZXkpPy5kYXRhXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDIzIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPGRpdiAjd2lkZ2V0Q29udGFpbmVyIFtjbGFzcy5sb2FkaW5nXT1cImlzTG9hZGluZyQgfCBhc3luY1wiIGNsYXNzPVwid2lkZ2V0LWNvbnRhaW5lclwiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwid2lkZ2V0Q29uZmlndXJhdGlvbnMkIHwgYXN5bmMgYXMgd2lkZ2V0Q29uZmlndXJhdGlvbnNcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjb25maWcgb2Ygd2lkZ2V0Q29uZmlndXJhdGlvbnNcIj5cbiAgICAgIDxkaXYgI3dpZGdldENvbmZpZ3VyYXRpb24gW2lkXT1cImNvbmZpZy5rZXlcIiBjbGFzcz1cIndpZGdldC1jb25maWd1cmF0aW9uXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3aWRnZXQtY29uZmlndXJhdGlvbi1jb250ZW50XCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAjd2lkZ2V0Q29uZmlndXJhdGlvbkNvbnRlbnQ+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8dmFsdGltby1uby1yZXN1bHRzXG4gICAgICAqbmdJZj1cIiF3aWRnZXRDb25maWd1cmF0aW9ucy5sZW5ndGhcIlxuICAgICAgW3RpdGxlXT1cIidkYXNoYm9hcmQubm9XaWRnZXRzJyB8IHRyYW5zbGF0ZVwiXG4gICAgPjwvdmFsdGltby1uby1yZXN1bHRzPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG48Y2RzLWxvYWRpbmcgKm5nSWY9XCJpc0xvYWRpbmckIHwgYXN5bmNcIiBjbGFzcz1cIndpZGdldC1sb2FkZXJcIj48L2Nkcy1sb2FkaW5nPlxuIl19
|
|
165
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWRhc2hib2FyZC1jb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZGFzaGJvYXJkL3NyYy9saWIvY29tcG9uZW50cy93aWRnZXQtZGFzaGJvYXJkLWNvbnRlbnQvd2lkZ2V0LWRhc2hib2FyZC1jb250ZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZGFzaGJvYXJkL3NyYy9saWIvY29tcG9uZW50cy93aWRnZXQtZGFzaGJvYXJkLWNvbnRlbnQvd2lkZ2V0LWRhc2hib2FyZC1jb250ZW50LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsT0FBTyxFQUVMLFNBQVMsRUFHVCxLQUFLLEVBSUwsU0FBUyxFQUNULFlBQVksRUFDWixnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGVBQWUsRUFBRSxhQUFhLEVBQWMsWUFBWSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzlFLE9BQU8sRUFBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBR2hELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQzs7Ozs7Ozs7QUFRMUIsTUFBTSxPQUFPLCtCQUErQjtJQVcxQyxJQUFhLFVBQVUsQ0FBQyxLQUE2QztRQUNuRSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FB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SyxDQUFDO0lBQzlCLENBQUM7OEdBaExVLCtCQUErQjtrR0FBL0IsK0JBQStCLHlIQUYvQixDQUFDLG1CQUFtQixDQUFDLHVWQU1tQixnQkFBZ0IsNkJDOUNyRSw2b0RBNENBOzsyRkRGYSwrQkFBK0I7a0JBTjNDLFNBQVM7K0JBQ0Usa0NBQWtDLGFBR2pDLENBQUMsbUJBQW1CLENBQUM7NElBR2Esd0JBQXdCO3NCQUFwRSxZQUFZO3VCQUFDLHFCQUFxQjtnQkFJM0IsaUNBQWlDO3NCQUR4QyxZQUFZO3VCQUFDLDRCQUE0QixFQUFFLEVBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFDO2dCQUU5QixtQkFBbUI7c0JBQXhELFNBQVM7dUJBQUMsaUJBQWlCO2dCQUtmLFVBQVU7c0JBQXRCLEtBQUs7Z0JBSU8sU0FBUztzQkFBckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIENvbXBvbmVudFJlZixcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgUXVlcnlMaXN0LFxuICBSZW5kZXJlcjIsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NoaWxkcmVuLFxuICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtkZWxheSwgbWFwLCB0YWtlfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0Rhc2hib2FyZCwgRGFzaGJvYXJkV2lkZ2V0Q29uZmlndXJhdGlvbiwgRGlzcGxheUNvbXBvbmVudCwgV2lkZ2V0RGF0YX0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7V2lkZ2V0U2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHtXaWRnZXRMYXlvdXRTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy93aWRnZXQtbGF5b3V0LnNlcnZpY2UnO1xuaW1wb3J0IHtXSURHRVRfMVhfSEVJR0hUfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IE11dXJpIGZyb20gJ211dXJpJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby13aWRnZXQtZGFzaGJvYXJkLWNvbnRlbnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vd2lkZ2V0LWRhc2hib2FyZC1jb250ZW50LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vd2lkZ2V0LWRhc2hib2FyZC1jb250ZW50LmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1dpZGdldExheW91dFNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBXaWRnZXREYXNoYm9hcmRDb250ZW50Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgQFZpZXdDaGlsZHJlbignd2lkZ2V0Q29uZmlndXJhdGlvbicpIHByaXZhdGUgX3dpZGdldENvbmZpZ3VyYXRpb25SZWZzOiBRdWVyeUxpc3Q8XG4gICAgRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD5cbiAgPjtcbiAgQFZpZXdDaGlsZHJlbignd2lkZ2V0Q29uZmlndXJhdGlvbkNvbnRlbnQnLCB7cmVhZDogVmlld0NvbnRhaW5lclJlZn0pXG4gIHByaXZhdGUgX3dpZGdldENvbmZpZ3VyYXRpb25Db250ZW50VmNSZWZzOiBRdWVyeUxpc3Q8Vmlld0NvbnRhaW5lclJlZj47XG4gIEBWaWV3Q2hpbGQoJ3dpZGdldENvbnRhaW5lcicpIHByaXZhdGUgX3dpZGdldENvbnRhaW5lclJlZjogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfaXNMb2FkaW5nJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG4gIHByaXZhdGUgX3dpZGdldERhdGEkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxXaWRnZXREYXRhW10+KFtdKTtcblxuICBASW5wdXQoKSBzZXQgd2lkZ2V0RGF0YSh2YWx1ZToge2RhdGE6IFdpZGdldERhdGFbXTsgbG9hZGluZzogYm9vbGVhbn0pIHtcbiAgICB0aGlzLl9pc0xvYWRpbmckLm5leHQodmFsdWUubG9hZGluZyk7XG4gICAgdGhpcy5fd2lkZ2V0RGF0YSQubmV4dCh2YWx1ZS5kYXRhKTtcbiAgfVxuICBASW5wdXQoKSBzZXQgZGFzaGJvYXJkKHZhbHVlOiBEYXNoYm9hcmQpIHtcbiAgICB0aGlzLnNldFdpZGdldENvbmZpZ3VyYXRpb25zKHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyByZWFkb25seSB3aWRnZXRDb25maWd1cmF0aW9ucyQgPVxuICAgIG5ldyBCZWhhdmlvclN1YmplY3Q8QXJyYXk8RGFzaGJvYXJkV2lkZ2V0Q29uZmlndXJhdGlvbj4gfCBudWxsPihudWxsKTtcblxuICBwcml2YXRlIF9vYnNlcnZlciE6IFJlc2l6ZU9ic2VydmVyO1xuICBwcml2YXRlIF9zdWJzY3JpcHRpb25zID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX211dXJpJCA9IHRoaXMubGF5b3V0U2VydmljZS5tdXVyaVN1YmplY3QkO1xuXG4gIHByaXZhdGUgX2NyZWF0aW5nTXV1cmkgPSBmYWxzZTtcblxuICBwcml2YXRlIGdldCBfbXV1cmlJbml0aWFsaXplZCQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX211dXJpJC5waXBlKG1hcChtdXVyaSA9PiAhIW11dXJpKSk7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IF9ub1Jlc3VsdHMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGxvYWRlZCQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICB0aGlzLl9pc0xvYWRpbmckLFxuICAgIHRoaXMuX211dXJpSW5pdGlhbGl6ZWQkLFxuICAgIHRoaXMuX25vUmVzdWx0cyQsXG4gIF0pLnBpcGUoXG4gICAgbWFwKFxuICAgICAgKFtpc0xvYWRpbmcsIG11dXJpSW5pdGlhbGl6ZWQsIG5vUmVzdWx0c10pID0+ICFpc0xvYWRpbmcgJiYgKG11dXJpSW5pdGlhbGl6ZWQgfHwgbm9SZXN1bHRzKVxuICAgICksXG4gICAgZGVsYXkoNDAwKVxuICApO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbGF5b3V0U2VydmljZTogV2lkZ2V0TGF5b3V0U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHdpZGdldFNlcnZpY2U6IFdpZGdldFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlcjogUmVuZGVyZXIyXG4gICkge31cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX29ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKGV2ZW50ID0+IHtcbiAgICAgIHRoaXMub2JzZXJ2ZXJNdXRhdGlvbihldmVudCk7XG4gICAgfSk7XG4gICAgdGhpcy5fb2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLl93aWRnZXRDb250YWluZXJSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgdGhpcy5vcGVuV2lkZ2V0U2l6ZVN1YnNjcmlwdGlvbigpO1xuICAgIHRoaXMucmVuZGVyV2lkZ2V0cygpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX29ic2VydmVyPy5kaXNjb25uZWN0KCk7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucz8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0V2lkZ2V0Q29uZmlndXJhdGlvbnMoZGFzaGJvYXJkOiBEYXNoYm9hcmQpOiB2b2lkIHtcbiAgICB0aGlzLndpZGdldFNlcnZpY2Uuc3VwcG9ydGVkRGlzcGxheVR5cGVzJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShzdXBwb3J0ZWREaXNwbGF5VHlwZXMgPT4ge1xuICAgICAgY29uc3Qgc3VwcG9ydGVkV2lkZ2V0Q29uZmlndXJhdGlvbnMgPVxuICAgICAgICBkYXNoYm9hcmQud2lkZ2V0cz8uZmlsdGVyKHdpZGdldENvbmZpZ3VyYXRpb24gPT5cbiAgICAgICAgICBzdXBwb3J0ZWREaXNwbGF5VHlwZXMuZmluZChcbiAgICAgICAgICAgIHR5cGUgPT4gdHlwZS5kaXNwbGF5VHlwZUtleSA9PT0gd2lkZ2V0Q29uZmlndXJhdGlvbi5kaXNwbGF5VHlwZVxuICAgICAgICAgIClcbiAgICAgICAgKSB8fCBbXTtcbiAgICAgIHRoaXMubGF5b3V0U2VydmljZS5zZXRXaWRnZXRDb25maWd1cmF0aW9ucyhzdXBwb3J0ZWRXaWRnZXRDb25maWd1cmF0aW9ucyk7XG4gICAgICB0aGlzLndpZGdldENvbmZpZ3VyYXRpb25zJC5uZXh0KHN1cHBvcnRlZFdpZGdldENvbmZpZ3VyYXRpb25zKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZXJNdXRhdGlvbihldmVudDogQXJyYXk8UmVzaXplT2JzZXJ2ZXJFbnRyeT4pOiB2b2lkIHtcbiAgICBjb25zdCB3aWRnZXRDb250YWluZXJXaWR0aCA9IGV2ZW50WzBdPy5ib3JkZXJCb3hTaXplWzBdPy5pbmxpbmVTaXplO1xuXG4gICAgaWYgKHR5cGVvZiB3aWRnZXRDb250YWluZXJXaWR0aCA9PT0gJ251bWJlcicgJiYgd2lkZ2V0Q29udGFpbmVyV2lkdGggIT09IDApIHtcbiAgICAgIHRoaXMubGF5b3V0U2VydmljZS5zZXRXaWRnZXRDb250YWluZXJXaWR0aCh3aWRnZXRDb250YWluZXJXaWR0aCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBvcGVuV2lkZ2V0U2l6ZVN1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICB0aGlzLmxheW91dFNlcnZpY2UuYW1vdW50T2ZDb2x1bW5zJCxcbiAgICAgICAgdGhpcy53aWRnZXRDb25maWd1cmF0aW9ucyQsXG4gICAgICAgIHRoaXMud2lkZ2V0U2VydmljZS5zdXBwb3J0ZWREaXNwbGF5VHlwZXMkLFxuICAgICAgICB0aGlzLl9tdXVyaSQsXG4gICAgICBdKS5zdWJzY3JpYmUoKFthbW91bnRPZkNvbHVtbnMsIHdpZGdldENvbmZpZ3VyYXRpb25zLCBzdXBwb3J0ZWREaXNwbGF5VHlwZXMsIG11dXJpXSkgPT4ge1xuICAgICAgICB0aGlzLl93aWRnZXRDb25maWd1cmF0aW9uUmVmcy50b0FycmF5KCkuZm9yRWFjaCh3aWRnZXRDb25maWd1cmF0aW9uUmVmID0+IHtcbiAgICAgICAgICBjb25zdCBuYXRpdmVFbGVtZW50ID0gd2lkZ2V0Q29uZmlndXJhdGlvblJlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgICAgIGNvbnN0IHdpZGdldENvbmZpZ3VyYXRpb24gPSB3aWRnZXRDb25maWd1cmF0aW9ucy5maW5kKFxuICAgICAgICAgICAgY29uZmlnID0+IGNvbmZpZy5rZXkgPT09IG5hdGl2ZUVsZW1lbnQuaWRcbiAgICAgICAgICApO1xuICAgICAgICAgIGNvbnN0IHNwZWNpZmljYXRpb24gPSBzdXBwb3J0ZWREaXNwbGF5VHlwZXMuZmluZChcbiAgICAgICAgICAgIHR5cGUgPT4gdHlwZS5kaXNwbGF5VHlwZUtleSA9PT0gd2lkZ2V0Q29uZmlndXJhdGlvbi5kaXNwbGF5VHlwZVxuICAgICAgICAgICk7XG4gICAgICAgICAgY29uc3Qgd2lkdGhQZXJjZW50YWdlID1cbiAgICAgICAgICAgIHNwZWNpZmljYXRpb24ud2lkdGggPiBhbW91bnRPZkNvbHVtbnNcbiAgICAgICAgICAgICAgPyAxMDBcbiAgICAgICAgICAgICAgOiAoc3BlY2lmaWNhdGlvbi53aWR0aCAvIGFtb3VudE9mQ29sdW1ucykgKiAxMDA7XG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgICAgIG5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAnaGVpZ2h0JyxcbiAgICAgICAgICAgIGAke1dJREdFVF8xWF9IRUlHSFQgKiBzcGVjaWZpY2F0aW9uLmhlaWdodH1weGBcbiAgICAgICAgICApO1xuICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUobmF0aXZlRWxlbWVudCwgJ3dpZHRoJywgYCR7d2lkdGhQZXJjZW50YWdlfSVgKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKHdpZGdldENvbmZpZ3VyYXRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBpZiAoIW11dXJpKSB7XG4gICAgICAgICAgICB0aGlzLmluaXRNdXVyaSgpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmxheW91dFNlcnZpY2UudHJpZ2dlck11dXJpTGF5b3V0KCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuX25vUmVzdWx0cyQubmV4dCh0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSByZW5kZXJXaWRnZXRzKCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgY29tYmluZUxhdGVzdChbXG4gICAgICAgIHRoaXMud2lkZ2V0Q29uZmlndXJhdGlvbnMkLFxuICAgICAgICB0aGlzLndpZGdldFNlcnZpY2Uuc3VwcG9ydGVkRGlzcGxheVR5cGVzJCxcbiAgICAgICAgdGhpcy5fd2lkZ2V0RGF0YSQsXG4gICAgICBdKS5zdWJzY3JpYmUoKFtjb25maWd1cmF0aW9ucywgZGlzcGxheVR5cGVzLCBkYXRhXSkgPT4ge1xuICAgICAgICBjb25maWd1cmF0aW9ucz8uZm9yRWFjaCgoY29uZmlndXJhdGlvbiwgaW5kZXgpID0+IHtcbiAgICAgICAgICBjb25zdCBkaXNwbGF5VHlwZSA9IGRpc3BsYXlUeXBlcy5maW5kKFxuICAgICAgICAgICAgdHlwZSA9PiB0eXBlLmRpc3BsYXlUeXBlS2V5ID09PSBjb25maWd1cmF0aW9uLmRpc3BsYXlUeXBlXG4gICAgICAgICAgKTtcbiAgICAgICAgICBjb25zdCB2Y1JlZiA9IHRoaXMuX3dpZGdldENvbmZpZ3VyYXRpb25Db250ZW50VmNSZWZzLnRvQXJyYXkoKVtpbmRleF07XG5cbiAgICAgICAgICBpZiAoZGlzcGxheVR5cGUgJiYgZGF0YSkge1xuICAgICAgICAgICAgdmNSZWYuY2xlYXIoKTtcbiAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudEluc3RhbmNlOiBDb21wb25lbnRSZWY8RGlzcGxheUNvbXBvbmVudD4gPSB2Y1JlZi5jcmVhdGVDb21wb25lbnQoXG4gICAgICAgICAgICAgIGRpc3BsYXlUeXBlLmRpc3BsYXlDb21wb25lbnRcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBjb21wb25lbnRJbnN0YW5jZS5zZXRJbnB1dCgnZGlzcGxheVR5cGVLZXknLCBjb25maWd1cmF0aW9uLmRpc3BsYXlUeXBlKTtcbiAgICAgICAgICAgIGNvbXBvbmVudEluc3RhbmNlLnNldElucHV0KCdkaXNwbGF5VHlwZVByb3BlcnRpZXMnLCB7XG4gICAgICAgICAgICAgIC4uLmNvbmZpZ3VyYXRpb24uZGlzcGxheVR5cGVQcm9wZXJ0aWVzLFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGNvbXBvbmVudEluc3RhbmNlLnNldElucHV0KFxuICAgICAgICAgICAgICAnZGF0YScsXG4gICAgICAgICAgICAgIGRhdGEuZmluZChkYXRhSXRlbSA9PiBkYXRhSXRlbS5rZXkgPT09IGNvbmZpZ3VyYXRpb24ua2V5KT8uZGF0YVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0TXV1cmkoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl93aWRnZXRDb250YWluZXJSZWYgfHwgdGhpcy5fY3JlYXRpbmdNdXVyaSkgcmV0dXJuO1xuXG4gICAgdGhpcy5fY3JlYXRpbmdNdXVyaSA9IHRydWU7XG5cbiAgICB0aGlzLmxheW91dFNlcnZpY2Uuc2V0TXV1cmkoXG4gICAgICBuZXcgTXV1cmkodGhpcy5fd2lkZ2V0Q29udGFpbmVyUmVmLm5hdGl2ZUVsZW1lbnQsIHtcbiAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgZmlsbEdhcHM6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIGxheW91dE9uUmVzaXplOiBmYWxzZSxcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIHRoaXMuX2NyZWF0aW5nTXV1cmkgPSBmYWxzZTtcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwie2xvYWRlZDogbG9hZGVkJCB8IGFzeW5jfSBhcyBvYnNcIj5cbiAgPGRpdiAqbmdJZj1cIiFvYnMubG9hZGVkXCIgY2xhc3M9XCJsb2FkaW5nLWNvbnRhaW5lclwiPlxuICAgIDxjZHMtbG9hZGluZz48L2Nkcy1sb2FkaW5nPlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuXG48ZGl2XG4gICN3aWRnZXRDb250YWluZXJcbiAgY2xhc3M9XCJ3aWRnZXQtY29udGFpbmVyXCJcbiAgW25nQ2xhc3NdPVwieyd3aWRnZXQtY29udGFpbmVyX192aXNpYmxlJzogbG9hZGVkJCB8IGFzeW5jfVwiXG4+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJ3aWRnZXRDb25maWd1cmF0aW9ucyQgfCBhc3luYyBhcyB3aWRnZXRDb25maWd1cmF0aW9uc1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNvbmZpZyBvZiB3aWRnZXRDb25maWd1cmF0aW9uc1wiPlxuICAgICAgPGRpdiAjd2lkZ2V0Q29uZmlndXJhdGlvbiBbaWRdPVwiY29uZmlnLmtleVwiIGNsYXNzPVwid2lkZ2V0LWNvbmZpZ3VyYXRpb25cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIndpZGdldC1jb25maWd1cmF0aW9uLWNvbnRlbnRcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICN3aWRnZXRDb25maWd1cmF0aW9uQ29udGVudD48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDx2YWx0aW1vLW5vLXJlc3VsdHNcbiAgICAgICpuZ0lmPVwiIXdpZGdldENvbmZpZ3VyYXRpb25zLmxlbmd0aFwiXG4gICAgICBbdGl0bGVdPVwiJ2Rhc2hib2FyZC5ub1dpZGdldHMnIHwgdHJhbnNsYXRlXCJcbiAgICAgIFtkZXNjcmlwdGlvbl09XCInZGFzaGJvYXJkLm5vV2lkZ2V0c0Rlc2NyaXB0aW9uJyB8IHRyYW5zbGF0ZVwiXG4gICAgICBpbGx1c3RyYXRpb249XCJ2YWx0aW1vLWxheW91dC9pbWcvbm8td2lkZ2V0cy5zdmdcIlxuICAgID48L3ZhbHRpbW8tbm8tcmVzdWx0cz5cbiAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* Copyright 2015-
|
|
2
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
3
3
|
*
|
|
4
4
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
5
|
* you may not use this file except in compliance with the License.
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
const DATA_FEATURES = {
|
|
17
17
|
NUMBER: 'number',
|
|
18
18
|
TOTAL: 'total',
|
|
19
|
+
NUMBERS: 'numbers',
|
|
19
20
|
};
|
|
20
21
|
export { DATA_FEATURES };
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1mZWF0dXJlcy5jb25zdGFudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2Rhc2hib2FyZC9zcmMvbGliL2NvbnN0YW50cy9kYXRhLWZlYXR1cmVzLmNvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE1BQU0sYUFBYSxHQUFHO0lBQ3BCLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLEtBQUssRUFBRSxPQUFPO0lBQ2QsT0FBTyxFQUFFLFNBQVM7Q0FDbkIsQ0FBQztBQUVGLE9BQU8sRUFBQyxhQUFhLEVBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmNvbnN0IERBVEFfRkVBVFVSRVMgPSB7XG4gIE5VTUJFUjogJ251bWJlcicsXG4gIFRPVEFMOiAndG90YWwnLFxuICBOVU1CRVJTOiAnbnVtYmVycycsXG59O1xuXG5leHBvcnQge0RBVEFfRkVBVFVSRVN9O1xuIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* Copyright 2015-
|
|
2
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
3
3
|
*
|
|
4
4
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
5
|
* you may not use this file except in compliance with the License.
|
|
@@ -16,4 +16,4 @@
|
|
|
16
16
|
export * from './data-features.constants';
|
|
17
17
|
export * from './injection-tokens';
|
|
18
18
|
export * from './layout.constants';
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2Rhc2hib2FyZC9zcmMvbGliL2NvbnN0YW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9kYXRhLWZlYXR1cmVzLmNvbnN0YW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2luamVjdGlvbi10b2tlbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9sYXlvdXQuY29uc3RhbnRzJztcbiJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* Copyright 2015-
|
|
2
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
3
3
|
*
|
|
4
4
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
5
|
* you may not use this file except in compliance with the License.
|
|
@@ -17,4 +17,4 @@ import { InjectionToken } from '@angular/core';
|
|
|
17
17
|
const DISPLAY_TYPE_TOKEN = new InjectionToken('Supported display types');
|
|
18
18
|
const DATA_SOURCE_TOKEN = new InjectionToken('Supported data sources');
|
|
19
19
|
export { DISPLAY_TYPE_TOKEN, DATA_SOURCE_TOKEN };
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0aW9uLXRva2Vucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZGFzaGJvYXJkL3NyYy9saWIvY29uc3RhbnRzL2luamVjdGlvbi10b2tlbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRzdDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxjQUFjLENBQzNDLHlCQUF5QixDQUMxQixDQUFDO0FBRUYsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLGNBQWMsQ0FDMUMsd0JBQXdCLENBQ3pCLENBQUM7QUFFRixPQUFPLEVBQUMsa0JBQWtCLEVBQUUsaUJBQWlCLEVBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7SW5qZWN0aW9uVG9rZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEYXRhU291cmNlU3BlY2lmaWNhdGlvbiwgRGlzcGxheVR5cGVTcGVjaWZpY2F0aW9ufSBmcm9tICcuLi9tb2RlbHMnO1xuXG5jb25zdCBESVNQTEFZX1RZUEVfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48RGlzcGxheVR5cGVTcGVjaWZpY2F0aW9uIHwgbnVsbD4oXG4gICdTdXBwb3J0ZWQgZGlzcGxheSB0eXBlcydcbik7XG5cbmNvbnN0IERBVEFfU09VUkNFX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPERhdGFTb3VyY2VTcGVjaWZpY2F0aW9uIHwgbnVsbD4oXG4gICdTdXBwb3J0ZWQgZGF0YSBzb3VyY2VzJ1xuKTtcblxuZXhwb3J0IHtESVNQTEFZX1RZUEVfVE9LRU4sIERBVEFfU09VUkNFX1RPS0VOfTtcbiJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* Copyright 2015-
|
|
2
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
3
3
|
*
|
|
4
4
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
5
|
* you may not use this file except in compliance with the License.
|
|
@@ -16,4 +16,4 @@
|
|
|
16
16
|
const WIDGET_1X_HEIGHT = 220;
|
|
17
17
|
const WIDGET_1X_MIN_WIDTH = 275;
|
|
18
18
|
export { WIDGET_1X_HEIGHT, WIDGET_1X_MIN_WIDTH };
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmNvbnN0YW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZGFzaGJvYXJkL3NyYy9saWIvY29uc3RhbnRzL2xheW91dC5jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxNQUFNLGdCQUFnQixHQUFHLEdBQUcsQ0FBQztBQUM3QixNQUFNLG1CQUFtQixHQUFHLEdBQUcsQ0FBQztBQUVoQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUsbUJBQW1CLEVBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmNvbnN0IFdJREdFVF8xWF9IRUlHSFQgPSAyMjA7XG5jb25zdCBXSURHRVRfMVhfTUlOX1dJRFRIID0gMjc1O1xuXG5leHBvcnQge1dJREdFVF8xWF9IRUlHSFQsIFdJREdFVF8xWF9NSU5fV0lEVEh9O1xuIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* Copyright 2015-
|
|
2
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
3
3
|
*
|
|
4
4
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
5
|
* you may not use this file except in compliance with the License.
|
|
@@ -30,11 +30,11 @@ const routes = [
|
|
|
30
30
|
},
|
|
31
31
|
];
|
|
32
32
|
export class DashboardRoutingModule {
|
|
33
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
34
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
35
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
33
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DashboardRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
34
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.3", ngImport: i0, type: DashboardRoutingModule, imports: [CommonModule, i1.RouterModule], exports: [RouterModule] }); }
|
|
35
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DashboardRoutingModule, imports: [CommonModule, RouterModule.forChild(routes), RouterModule] }); }
|
|
36
36
|
}
|
|
37
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DashboardRoutingModule, decorators: [{
|
|
38
38
|
type: NgModule,
|
|
39
39
|
args: [{
|
|
40
40
|
declarations: [],
|
|
@@ -42,4 +42,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
42
42
|
exports: [RouterModule],
|
|
43
43
|
}]
|
|
44
44
|
}] });
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLXJvdXRpbmcubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kYXNoYm9hcmQvc3JjL2xpYi9kYXNoYm9hcmQtcm91dGluZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsWUFBWSxFQUFTLE1BQU0saUJBQWlCLENBQUM7QUFDckQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLDBEQUEwRCxDQUFDOzs7QUFFbEcsTUFBTSxNQUFNLEdBQVc7SUFDckI7UUFDRSxJQUFJLEVBQUUsRUFBRTtRQUNSLFNBQVMsRUFBRSx3QkFBd0I7UUFDbkMsV0FBVyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7UUFDL0IsSUFBSSxFQUFFLEVBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFDO0tBQ3BFO0NBQ0YsQ0FBQztBQU9GLE1BQU0sT0FBTyxzQkFBc0I7OEdBQXRCLHNCQUFzQjsrR0FBdEIsc0JBQXNCLFlBSHZCLFlBQVksOEJBQ1osWUFBWTsrR0FFWCxzQkFBc0IsWUFIdkIsWUFBWSxFQUFFLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQzNDLFlBQVk7OzJGQUVYLHNCQUFzQjtrQkFMbEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsRUFBRTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ3RELE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztpQkFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Um91dGVyTW9kdWxlLCBSb3V0ZXN9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1JPTEVfVVNFUn0gZnJvbSAnQHZhbHRpbW8vY29uZmlnJztcbmltcG9ydCB7QXV0aEd1YXJkU2VydmljZX0gZnJvbSAnQHZhbHRpbW8vc2VjdXJpdHknO1xuaW1wb3J0IHtXaWRnZXREYXNoYm9hcmRDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy93aWRnZXQtZGFzaGJvYXJkL3dpZGdldC1kYXNoYm9hcmQuY29tcG9uZW50JztcblxuY29uc3Qgcm91dGVzOiBSb3V0ZXMgPSBbXG4gIHtcbiAgICBwYXRoOiAnJyxcbiAgICBjb21wb25lbnQ6IFdpZGdldERhc2hib2FyZENvbXBvbmVudCxcbiAgICBjYW5BY3RpdmF0ZTogW0F1dGhHdWFyZFNlcnZpY2VdLFxuICAgIGRhdGE6IHt0aXRsZTogJ0Rhc2hib2FyZCcsIHJvbGVzOiBbUk9MRV9VU0VSXSwgaGlkZVBhZ2VUaXRsZTogdHJ1ZX0sXG4gIH0sXG5dO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSb3V0ZXJNb2R1bGUuZm9yQ2hpbGQocm91dGVzKV0sXG4gIGV4cG9ydHM6IFtSb3V0ZXJNb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBEYXNoYm9hcmRSb3V0aW5nTW9kdWxlIHt9XG4iXX0=
|