nuxeo-development-framework 5.2.9 → 5.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/nuxeo-development-framework.umd.js +3064 -571
- package/bundles/nuxeo-development-framework.umd.js.map +1 -1
- package/esm2015/lib/components/reports/charts/chart.const.js +3 -0
- package/esm2015/lib/components/reports/charts/chart.token.js +3 -0
- package/esm2015/lib/components/reports/charts/charts.module.js +19 -0
- package/esm2015/lib/components/reports/charts/components/base-chart.component.js +41 -0
- package/esm2015/lib/components/reports/charts/components/chart.component.js +127 -0
- package/esm2015/lib/components/reports/charts/components/data-chart.component.js +167 -0
- package/esm2015/lib/components/reports/charts/components/index.js +4 -0
- package/esm2015/lib/components/reports/charts/defaults/bar.js +18 -0
- package/esm2015/lib/components/reports/charts/defaults/doughnut.js +15 -0
- package/esm2015/lib/components/reports/charts/defaults/index.js +5 -0
- package/esm2015/lib/components/reports/charts/defaults/line.js +25 -0
- package/esm2015/lib/components/reports/charts/defaults/pie.js +15 -0
- package/esm2015/lib/components/reports/charts/index.js +2 -0
- package/esm2015/lib/components/reports/charts/models/index.js +5 -0
- package/esm2015/lib/components/reports/charts/models/options.js +2 -0
- package/esm2015/lib/components/reports/charts/models/plugins-options.js +2 -0
- package/esm2015/lib/components/reports/charts/models/response.js +2 -0
- package/esm2015/lib/components/reports/charts/models/statistic-request-config.js +2 -0
- package/esm2015/lib/components/reports/charts/plugins/data-labels.js +144 -0
- package/esm2015/lib/components/reports/charts/plugins/doughnut-center-text.js +25 -0
- package/esm2015/lib/components/reports/charts/plugins/doughnut-empty-state.js +34 -0
- package/esm2015/lib/components/reports/charts/plugins/index.js +6 -0
- package/esm2015/lib/components/reports/charts/plugins/legend-margin.js +16 -0
- package/esm2015/lib/components/reports/charts/plugins/scrollable-legends.js +67 -0
- package/esm2015/lib/components/reports/charts/public-api.js +10 -0
- package/esm2015/lib/components/reports/charts/services/index.js +2 -0
- package/esm2015/lib/components/reports/charts/services/statistic.service.js +75 -0
- package/esm2015/lib/components/reports/charts/utility/colors.js +74 -0
- package/esm2015/lib/components/reports/charts/utility/common.js +7 -0
- package/esm2015/lib/components/reports/charts/utility/css.js +132 -0
- package/esm2015/lib/components/reports/charts/utility/index.js +4 -0
- package/esm2015/lib/components/reports/ndf-reports/base/base-chart.js +53 -0
- package/esm2015/lib/components/reports/ndf-reports/base/base-graph.report.js +37 -0
- package/esm2015/lib/components/reports/ndf-reports/base/base-report.js +68 -0
- package/esm2015/lib/components/reports/ndf-reports/charts-components/digit-chart/digit-chart.component.js +36 -0
- package/esm2015/lib/components/reports/ndf-reports/charts-components/graph-chart/graph-chart.component.js +65 -0
- package/esm2015/lib/components/reports/ndf-reports/charts-components/graph-chart/graph-chart.service.js +14 -0
- package/esm2015/lib/components/reports/ndf-reports/charts-components/index.js +3 -0
- package/esm2015/lib/components/reports/ndf-reports/components/_parts/chart-type-selector/chart-type-selector.component.js +71 -0
- package/esm2015/lib/components/reports/ndf-reports/components/_parts/graph-dialog/graph-dialog.component.js +66 -0
- package/esm2015/lib/components/reports/ndf-reports/components/_parts/index.js +5 -0
- package/esm2015/lib/components/reports/ndf-reports/components/_parts/time-group-selector/time-group-selector.component.js +55 -0
- package/esm2015/lib/components/reports/ndf-reports/components/_parts/timeline-dialog/timeline-dialog.component.js +47 -0
- package/esm2015/lib/components/reports/ndf-reports/components/chart-panel.component.js +61 -0
- package/esm2015/lib/components/reports/ndf-reports/components/digit-report/digit-report.component.js +25 -0
- package/esm2015/lib/components/reports/ndf-reports/components/dynamic-timeline-report/dynamic-timeline-report.component.js +73 -0
- package/esm2015/lib/components/reports/ndf-reports/components/graph-report/graph-report.component.js +61 -0
- package/esm2015/lib/components/reports/ndf-reports/components/index.js +6 -0
- package/esm2015/lib/components/reports/ndf-reports/constants/charts-types.js +13 -0
- package/esm2015/lib/components/reports/ndf-reports/constants/index.js +3 -0
- package/esm2015/lib/components/reports/ndf-reports/constants/time-group.js +7 -0
- package/esm2015/lib/components/reports/ndf-reports/containers/index.js +3 -0
- package/esm2015/lib/components/reports/ndf-reports/containers/ndf-report/ndf-report.component.js +42 -0
- package/esm2015/lib/components/reports/ndf-reports/containers/ndf-reports/ndf-reports.component.js +245 -0
- package/esm2015/lib/components/reports/ndf-reports/directives/index.js +2 -0
- package/esm2015/lib/components/reports/ndf-reports/directives/scrollable-div.directive.js +35 -0
- package/esm2015/lib/components/reports/ndf-reports/index.js +2 -0
- package/esm2015/lib/components/reports/ndf-reports/models/base.js +2 -0
- package/esm2015/lib/components/reports/ndf-reports/models/common.js +2 -0
- package/esm2015/lib/components/reports/ndf-reports/models/details.js +2 -0
- package/esm2015/lib/components/reports/ndf-reports/models/dialog-data.js +2 -0
- package/esm2015/lib/components/reports/ndf-reports/models/digit.js +2 -0
- package/esm2015/lib/components/reports/ndf-reports/models/dynamic-line.js +2 -0
- package/esm2015/lib/components/reports/ndf-reports/models/graph.js +2 -0
- package/esm2015/lib/components/reports/ndf-reports/models/index.js +13 -0
- package/esm2015/lib/components/reports/ndf-reports/models/ndf-reports.config.js +2 -0
- package/esm2015/lib/components/reports/ndf-reports/models/report-config.js +2 -0
- package/esm2015/lib/components/reports/ndf-reports/models/report-data-source.js +2 -0
- package/esm2015/lib/components/reports/ndf-reports/models/report-response.model.js +2 -0
- package/esm2015/lib/components/reports/ndf-reports/models/request.js +2 -0
- package/esm2015/lib/components/reports/ndf-reports/ndf-reports.module.js +101 -0
- package/esm2015/lib/components/reports/ndf-reports/options/doughnut.js +29 -0
- package/esm2015/lib/components/reports/ndf-reports/options/horizontal-bar.js +48 -0
- package/esm2015/lib/components/reports/ndf-reports/options/index.js +7 -0
- package/esm2015/lib/components/reports/ndf-reports/options/line.js +41 -0
- package/esm2015/lib/components/reports/ndf-reports/options/options.js +15 -0
- package/esm2015/lib/components/reports/ndf-reports/options/pie.js +28 -0
- package/esm2015/lib/components/reports/ndf-reports/options/vertical-bar.js +41 -0
- package/esm2015/lib/components/reports/ndf-reports/public-api.js +6 -0
- package/esm2015/lib/components/reports/ndf-reports/services/base-chart-builder.service.js +103 -0
- package/esm2015/lib/components/reports/ndf-reports/services/chart-data-transformers.service.js +97 -0
- package/esm2015/lib/components/reports/ndf-reports/services/chart-manager.service.js +131 -0
- package/esm2015/lib/components/reports/ndf-reports/services/chart-plugins-registry.service.js +49 -0
- package/esm2015/lib/components/reports/ndf-reports/services/digit-chart.service.js +42 -0
- package/esm2015/lib/components/reports/ndf-reports/services/dynamic-timeline-report.service.js +72 -0
- package/esm2015/lib/components/reports/ndf-reports/services/index.js +11 -0
- package/esm2015/lib/components/reports/ndf-reports/services/ndf-reports.service.js +49 -0
- package/esm2015/lib/components/reports/ndf-reports/services/report-config-mapper.service.js +82 -0
- package/esm2015/lib/components/reports/ndf-reports/services/report-transform.service.js +98 -0
- package/esm2015/lib/components/reports/ndf-reports/services/reports-state.service.js +19 -0
- package/esm2015/lib/components/reports/ndf-reports/utilities/index.js +2 -0
- package/esm2015/lib/components/reports/ndf-reports/utilities/reports-table.mapper.js +44 -0
- package/esm2015/lib/components/spell-checker-field/spell-checker-field.module.js +1 -1
- package/esm2015/lib/components/tables/ndf-table/filters-panel/index.js +1 -2
- package/esm2015/lib/components/tables/ndf-table/filters-panel/models/types-helper.js +1 -1
- package/esm2015/lib/components/tables/ndf-table/filters-panel/services/aggregation-field.service.js +2 -2
- package/esm2015/lib/components/tables/ndf-table/filters-panel/services/index.js +1 -2
- package/esm2015/lib/components/tables/ndf-table/ndf-table.module.js +2 -2
- package/esm2015/lib/core/services/index.js +2 -1
- package/esm2015/lib/core/services/ndf-transform.service.js +80 -0
- package/esm2015/lib/shared/components/index.js +3 -3
- package/esm2015/lib/shared/components/nuxeo-dialog/nuxeo.dialog.js +3 -1
- package/esm2015/lib/shared/services/base/base.service.js +7 -4
- package/esm2015/lib/shared/services/index.js +2 -2
- package/esm2015/lib/shared-services/apis-errors-messages.service.js +31 -0
- package/esm2015/public-api.js +9 -6
- package/fesm2015/nuxeo-development-framework.js +2710 -408
- package/fesm2015/nuxeo-development-framework.js.map +1 -1
- package/lib/components/{charts → reports/charts}/components/base-chart.component.d.ts +1 -1
- package/lib/components/reports/charts/index.d.ts +1 -0
- package/lib/components/reports/charts/plugins/data-labels.d.ts +3 -0
- package/lib/components/{charts → reports/charts}/plugins/index.d.ts +2 -0
- package/lib/components/reports/charts/plugins/scrollable-legends.d.ts +6 -0
- package/lib/components/{charts → reports/charts}/services/statistic.service.d.ts +2 -2
- package/lib/components/reports/charts/utility/css.d.ts +45 -0
- package/lib/components/{charts → reports/charts}/utility/index.d.ts +1 -0
- package/lib/components/reports/ndf-reports/base/base-chart.d.ts +27 -0
- package/lib/components/reports/ndf-reports/base/base-graph.report.d.ts +19 -0
- package/lib/components/reports/ndf-reports/base/base-report.d.ts +58 -0
- package/lib/components/reports/ndf-reports/charts-components/digit-chart/digit-chart.component.d.ts +14 -0
- package/lib/components/reports/ndf-reports/charts-components/graph-chart/graph-chart.component.d.ts +23 -0
- package/lib/components/reports/ndf-reports/charts-components/graph-chart/graph-chart.service.d.ts +6 -0
- package/lib/components/reports/ndf-reports/charts-components/index.d.ts +2 -0
- package/lib/components/reports/ndf-reports/components/_parts/chart-type-selector/chart-type-selector.component.d.ts +23 -0
- package/lib/components/reports/ndf-reports/components/_parts/graph-dialog/graph-dialog.component.d.ts +17 -0
- package/lib/components/reports/ndf-reports/components/_parts/index.d.ts +4 -0
- package/lib/components/reports/ndf-reports/components/_parts/time-group-selector/time-group-selector.component.d.ts +21 -0
- package/lib/components/reports/ndf-reports/components/_parts/timeline-dialog/timeline-dialog.component.d.ts +19 -0
- package/lib/components/reports/ndf-reports/components/chart-panel.component.d.ts +13 -0
- package/lib/components/reports/ndf-reports/components/digit-report/digit-report.component.d.ts +7 -0
- package/lib/components/reports/ndf-reports/components/dynamic-timeline-report/dynamic-timeline-report.component.d.ts +20 -0
- package/lib/components/reports/ndf-reports/components/graph-report/graph-report.component.d.ts +12 -0
- package/lib/components/reports/ndf-reports/components/index.d.ts +5 -0
- package/lib/components/reports/ndf-reports/constants/charts-types.d.ts +12 -0
- package/lib/components/reports/ndf-reports/constants/index.d.ts +2 -0
- package/lib/components/reports/ndf-reports/constants/time-group.d.ts +6 -0
- package/lib/components/reports/ndf-reports/containers/index.d.ts +2 -0
- package/lib/components/reports/ndf-reports/containers/ndf-report/ndf-report.component.d.ts +32 -0
- package/lib/components/reports/ndf-reports/containers/ndf-reports/ndf-reports.component.d.ts +92 -0
- package/lib/components/reports/ndf-reports/directives/index.d.ts +1 -0
- package/lib/components/reports/ndf-reports/directives/scrollable-div.directive.d.ts +14 -0
- package/lib/components/reports/ndf-reports/index.d.ts +1 -0
- package/lib/components/reports/ndf-reports/models/base.d.ts +18 -0
- package/lib/components/reports/ndf-reports/models/common.d.ts +20 -0
- package/lib/components/reports/ndf-reports/models/details.d.ts +16 -0
- package/lib/components/reports/ndf-reports/models/dialog-data.d.ts +12 -0
- package/lib/components/reports/ndf-reports/models/digit.d.ts +17 -0
- package/lib/components/reports/ndf-reports/models/dynamic-line.d.ts +52 -0
- package/lib/components/reports/ndf-reports/models/graph.d.ts +56 -0
- package/lib/components/reports/ndf-reports/models/index.d.ts +12 -0
- package/lib/components/reports/ndf-reports/models/ndf-reports.config.d.ts +22 -0
- package/lib/components/reports/ndf-reports/models/report-config.d.ts +5 -0
- package/lib/components/reports/ndf-reports/models/report-data-source.d.ts +7 -0
- package/lib/components/reports/ndf-reports/models/report-response.model.d.ts +4 -0
- package/lib/components/reports/ndf-reports/models/request.d.ts +10 -0
- package/lib/components/reports/ndf-reports/ndf-reports.module.d.ts +34 -0
- package/lib/components/reports/ndf-reports/options/doughnut.d.ts +7 -0
- package/lib/components/reports/ndf-reports/options/horizontal-bar.d.ts +7 -0
- package/lib/components/reports/ndf-reports/options/index.d.ts +6 -0
- package/lib/components/reports/ndf-reports/options/line.d.ts +7 -0
- package/lib/components/reports/ndf-reports/options/options.d.ts +2 -0
- package/lib/components/reports/ndf-reports/options/pie.d.ts +7 -0
- package/lib/components/reports/ndf-reports/options/vertical-bar.d.ts +7 -0
- package/lib/components/reports/ndf-reports/public-api.d.ts +5 -0
- package/lib/components/reports/ndf-reports/services/base-chart-builder.service.d.ts +59 -0
- package/lib/components/reports/ndf-reports/services/chart-data-transformers.service.d.ts +68 -0
- package/lib/components/reports/ndf-reports/services/chart-manager.service.d.ts +18 -0
- package/lib/components/reports/ndf-reports/services/chart-plugins-registry.service.d.ts +34 -0
- package/lib/components/reports/ndf-reports/services/digit-chart.service.d.ts +11 -0
- package/lib/components/reports/ndf-reports/services/dynamic-timeline-report.service.d.ts +32 -0
- package/lib/components/reports/ndf-reports/services/index.d.ts +10 -0
- package/lib/components/reports/ndf-reports/services/ndf-reports.service.d.ts +19 -0
- package/lib/components/reports/ndf-reports/services/report-config-mapper.service.d.ts +34 -0
- package/lib/components/reports/ndf-reports/services/report-transform.service.d.ts +18 -0
- package/lib/components/reports/ndf-reports/services/reports-state.service.d.ts +7 -0
- package/lib/components/reports/ndf-reports/utilities/index.d.ts +1 -0
- package/lib/components/reports/ndf-reports/utilities/reports-table.mapper.d.ts +3 -0
- package/lib/components/tables/ndf-table/filters-panel/index.d.ts +0 -1
- package/lib/components/tables/ndf-table/filters-panel/models/types-helper.d.ts +1 -9
- package/lib/components/tables/ndf-table/filters-panel/services/aggregation-field.service.d.ts +1 -1
- package/lib/components/tables/ndf-table/filters-panel/services/index.d.ts +0 -1
- package/lib/core/services/index.d.ts +1 -0
- package/lib/{components/tables/ndf-table/filters-panel → core}/services/ndf-transform.service.d.ts +7 -1
- package/lib/shared/components/index.d.ts +2 -2
- package/lib/shared/services/index.d.ts +1 -1
- package/lib/shared-services/apis-errors-messages.service.d.ts +11 -0
- package/package.json +1 -1
- package/public-api.d.ts +8 -5
- package/esm2015/lib/components/charts/chart.const.js +0 -3
- package/esm2015/lib/components/charts/chart.token.js +0 -3
- package/esm2015/lib/components/charts/charts.module.js +0 -19
- package/esm2015/lib/components/charts/components/base-chart.component.js +0 -41
- package/esm2015/lib/components/charts/components/chart.component.js +0 -127
- package/esm2015/lib/components/charts/components/data-chart.component.js +0 -167
- package/esm2015/lib/components/charts/components/index.js +0 -4
- package/esm2015/lib/components/charts/defaults/bar.js +0 -18
- package/esm2015/lib/components/charts/defaults/doughnut.js +0 -15
- package/esm2015/lib/components/charts/defaults/index.js +0 -5
- package/esm2015/lib/components/charts/defaults/line.js +0 -25
- package/esm2015/lib/components/charts/defaults/pie.js +0 -15
- package/esm2015/lib/components/charts/index.js +0 -10
- package/esm2015/lib/components/charts/models/index.js +0 -5
- package/esm2015/lib/components/charts/models/options.js +0 -2
- package/esm2015/lib/components/charts/models/plugins-options.js +0 -2
- package/esm2015/lib/components/charts/models/response.js +0 -2
- package/esm2015/lib/components/charts/models/statistic-request-config.js +0 -2
- package/esm2015/lib/components/charts/plugins/doughnut-center-text.js +0 -25
- package/esm2015/lib/components/charts/plugins/doughnut-empty-state.js +0 -34
- package/esm2015/lib/components/charts/plugins/index.js +0 -4
- package/esm2015/lib/components/charts/plugins/legend-margin.js +0 -16
- package/esm2015/lib/components/charts/services/index.js +0 -2
- package/esm2015/lib/components/charts/services/statistic.service.js +0 -75
- package/esm2015/lib/components/charts/utility/colors.js +0 -79
- package/esm2015/lib/components/charts/utility/common.js +0 -7
- package/esm2015/lib/components/charts/utility/index.js +0 -3
- package/esm2015/lib/components/tables/ndf-table/filters-panel/services/ndf-transform.service.js +0 -80
- /package/lib/components/{charts → reports/charts}/chart.const.d.ts +0 -0
- /package/lib/components/{charts → reports/charts}/chart.token.d.ts +0 -0
- /package/lib/components/{charts → reports/charts}/charts.module.d.ts +0 -0
- /package/lib/components/{charts → reports/charts}/components/chart.component.d.ts +0 -0
- /package/lib/components/{charts → reports/charts}/components/data-chart.component.d.ts +0 -0
- /package/lib/components/{charts → reports/charts}/components/index.d.ts +0 -0
- /package/lib/components/{charts → reports/charts}/defaults/bar.d.ts +0 -0
- /package/lib/components/{charts → reports/charts}/defaults/doughnut.d.ts +0 -0
- /package/lib/components/{charts → reports/charts}/defaults/index.d.ts +0 -0
- /package/lib/components/{charts → reports/charts}/defaults/line.d.ts +0 -0
- /package/lib/components/{charts → reports/charts}/defaults/pie.d.ts +0 -0
- /package/lib/components/{charts → reports/charts}/models/index.d.ts +0 -0
- /package/lib/components/{charts → reports/charts}/models/options.d.ts +0 -0
- /package/lib/components/{charts → reports/charts}/models/plugins-options.d.ts +0 -0
- /package/lib/components/{charts → reports/charts}/models/response.d.ts +0 -0
- /package/lib/components/{charts → reports/charts}/models/statistic-request-config.d.ts +0 -0
- /package/lib/components/{charts → reports/charts}/plugins/doughnut-center-text.d.ts +0 -0
- /package/lib/components/{charts → reports/charts}/plugins/doughnut-empty-state.d.ts +0 -0
- /package/lib/components/{charts → reports/charts}/plugins/legend-margin.d.ts +0 -0
- /package/lib/components/{charts/index.d.ts → reports/charts/public-api.d.ts} +0 -0
- /package/lib/components/{charts → reports/charts}/services/index.d.ts +0 -0
- /package/lib/components/{charts → reports/charts}/utility/colors.d.ts +0 -0
- /package/lib/components/{charts → reports/charts}/utility/common.d.ts +0 -0
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { DOCUMENT } from '@angular/common';
|
|
3
|
+
import { Inject, Injectable } from '@angular/core';
|
|
4
|
+
import { Chart } from 'chart.js/auto';
|
|
5
|
+
import * as moment from 'moment';
|
|
6
|
+
import { ChartPlugins } from '../../charts';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@ngx-translate/core";
|
|
9
|
+
export class ChartManagerService {
|
|
10
|
+
constructor(_translateService, _document) {
|
|
11
|
+
this._translateService = _translateService;
|
|
12
|
+
this._document = _document;
|
|
13
|
+
this._charts = new Map();
|
|
14
|
+
}
|
|
15
|
+
setChart(chart) {
|
|
16
|
+
this._charts.set(chart.id, chart);
|
|
17
|
+
}
|
|
18
|
+
getChart(id) {
|
|
19
|
+
return this._charts.get(id);
|
|
20
|
+
}
|
|
21
|
+
resizeCharts() {
|
|
22
|
+
this._charts.forEach((chart) => {
|
|
23
|
+
if (chart.canvas && chart.canvas.ownerDocument) {
|
|
24
|
+
chart.resize();
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
destroy(id) {
|
|
29
|
+
const _chart = this._charts.get(id);
|
|
30
|
+
if (_chart) {
|
|
31
|
+
_chart.destroy();
|
|
32
|
+
this._charts.delete(id);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
destroyAll() {
|
|
36
|
+
this._charts.forEach((chart) => {
|
|
37
|
+
chart.destroy();
|
|
38
|
+
});
|
|
39
|
+
this._charts.clear();
|
|
40
|
+
}
|
|
41
|
+
printChart(id, label) {
|
|
42
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
43
|
+
const _chart = this._charts.get(id);
|
|
44
|
+
if (!_chart) {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
const { chart, destroy: destroyTempChart } = yield this._createHiddenCanvasForExport(_chart, label);
|
|
48
|
+
if (!chart) {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
const imageLink = this._document.createElement('a');
|
|
52
|
+
const date = moment().format('YYYY-MM-DD_HH-mm-ss');
|
|
53
|
+
imageLink.href = chart.canvas.toDataURL('image/jpeg', 0.9);
|
|
54
|
+
imageLink.download = `${label}-${date}.jpg`;
|
|
55
|
+
imageLink.click();
|
|
56
|
+
destroyTempChart();
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
_createHiddenCanvasForExport(chart, label) {
|
|
60
|
+
const currentLang = this._translateService.currentLang;
|
|
61
|
+
return new Promise((resolve) => {
|
|
62
|
+
var _a;
|
|
63
|
+
const padding = 40;
|
|
64
|
+
const hiddenCanvas = this._document.createElement('canvas');
|
|
65
|
+
const [width, height] = [1024, 600];
|
|
66
|
+
hiddenCanvas.style.width = `${width}px`;
|
|
67
|
+
hiddenCanvas.style.height = `${height}px`;
|
|
68
|
+
hiddenCanvas.width = width;
|
|
69
|
+
hiddenCanvas.height = height;
|
|
70
|
+
hiddenCanvas.id = 'hiddenCanvas';
|
|
71
|
+
this._document.body.appendChild(hiddenCanvas);
|
|
72
|
+
const hiddenChart = new Chart(hiddenCanvas, {
|
|
73
|
+
type: (_a = chart.config) === null || _a === void 0 ? void 0 : _a.type,
|
|
74
|
+
data: chart.config.data,
|
|
75
|
+
options: Object.assign(Object.assign({}, chart.config.options), { animation: false, responsive: false, layout: {
|
|
76
|
+
padding: padding
|
|
77
|
+
}, plugins: Object.assign(Object.assign({}, chart.config.options.plugins), { title: {
|
|
78
|
+
display: true,
|
|
79
|
+
text: label,
|
|
80
|
+
padding: {
|
|
81
|
+
top: 0,
|
|
82
|
+
bottom: 30
|
|
83
|
+
}
|
|
84
|
+
}, legend: {
|
|
85
|
+
display: true,
|
|
86
|
+
rtl: currentLang == 'ar',
|
|
87
|
+
position: currentLang == 'ar' ? 'right' : 'left'
|
|
88
|
+
} }) }),
|
|
89
|
+
plugins: [
|
|
90
|
+
ChartPlugins.chartDataLabels,
|
|
91
|
+
{
|
|
92
|
+
id: 'canvasBackgroundColor',
|
|
93
|
+
beforeDraw: (chart, args, options) => {
|
|
94
|
+
const { ctx } = chart;
|
|
95
|
+
ctx.save();
|
|
96
|
+
ctx.globalCompositeOperation = 'destination-over';
|
|
97
|
+
ctx.fillStyle = 'white';
|
|
98
|
+
ctx.fillRect(0, 0, chart.width, chart.height);
|
|
99
|
+
ctx.restore();
|
|
100
|
+
}
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
id: 'onReady',
|
|
104
|
+
afterRender: function (chart, options) {
|
|
105
|
+
resolve({
|
|
106
|
+
chart: chart,
|
|
107
|
+
destroy: () => {
|
|
108
|
+
chart.destroy();
|
|
109
|
+
document.body.removeChild(hiddenCanvas);
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
]
|
|
115
|
+
});
|
|
116
|
+
hiddenChart.render();
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
ChartManagerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ChartManagerService, deps: [{ token: i1.TranslateService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
121
|
+
ChartManagerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ChartManagerService, providedIn: 'root' });
|
|
122
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ChartManagerService, decorators: [{
|
|
123
|
+
type: Injectable,
|
|
124
|
+
args: [{
|
|
125
|
+
providedIn: 'root'
|
|
126
|
+
}]
|
|
127
|
+
}], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: Document, decorators: [{
|
|
128
|
+
type: Inject,
|
|
129
|
+
args: [DOCUMENT]
|
|
130
|
+
}] }]; } });
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtbWFuYWdlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9yZXBvcnRzL25kZi1yZXBvcnRzL3NlcnZpY2VzL2NoYXJ0LW1hbmFnZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEMsT0FBTyxLQUFLLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFFakMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQzs7O0FBSzVDLE1BQU0sT0FBTyxtQkFBbUI7SUFHL0IsWUFDUyxpQkFBbUMsRUFDakIsU0FBbUI7UUFEckMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFrQjtRQUNqQixjQUFTLEdBQVQsU0FBUyxDQUFVO1FBSnRDLFlBQU8sR0FBRyxJQUFJLEdBQUcsRUFBMEIsQ0FBQztJQUtqRCxDQUFDO0lBRUosUUFBUSxDQUFDLEtBQVk7UUFDcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsUUFBUSxDQUFDLEVBQW1CO1FBQzNCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELFlBQVk7UUFDWCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQzlCLElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxLQUFLLENB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U0FBUzt3QkFDYixXQUFXLEVBQUUsVUFBVSxLQUFLLEVBQUUsT0FBTzs0QkFDcEMsT0FBTyxDQUFDO2dDQUNQLEtBQUssRUFBRSxLQUFLO2dDQUNaLE9BQU8sRUFBRSxHQUFHLEVBQUU7b0NBQ2IsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO29DQUNoQixRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztnQ0FDekMsQ0FBQzs2QkFDRCxDQUFDLENBQUM7d0JBQ0osQ0FBQztxQkFDRDtpQkFDRDthQUNELENBQUMsQ0FBQztZQUNILFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN0QixDQUFDLENBQUMsQ0FBQztJQUNKLENBQUM7O2lIQW5JVyxtQkFBbUIsa0RBS3RCLFFBQVE7cUhBTEwsbUJBQW1CLGNBRm5CLE1BQU07NEZBRU4sbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNYLFVBQVUsRUFBRSxNQUFNO2lCQUNsQjt5RkFNc0MsUUFBUTswQkFBNUMsTUFBTTsyQkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBDaGFydCB9IGZyb20gJ2NoYXJ0LmpzL2F1dG8nO1xyXG5pbXBvcnQgKiBhcyBtb21lbnQgZnJvbSAnbW9tZW50JztcclxuaW1wb3J0IHsgQ2hhcnRDb25maWd1cmF0aW9uIH0gZnJvbSAnY2hhcnQuanMvZGlzdC90eXBlcyc7XHJcbmltcG9ydCB7IENoYXJ0UGx1Z2lucyB9IGZyb20gJy4uLy4uL2NoYXJ0cyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcblx0cHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDaGFydE1hbmFnZXJTZXJ2aWNlIHtcclxuXHRwcml2YXRlIF9jaGFydHMgPSBuZXcgTWFwPHN0cmluZyB8IG51bWJlciwgQ2hhcnQ+KCk7XHJcblxyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0cHJpdmF0ZSBfdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcclxuXHRcdEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgX2RvY3VtZW50OiBEb2N1bWVudFxyXG5cdCkge31cclxuXHJcblx0c2V0Q2hhcnQoY2hhcnQ6IENoYXJ0KSB7XHJcblx0XHR0aGlzLl9jaGFydHMuc2V0KGNoYXJ0LmlkLCBjaGFydCk7XHJcblx0fVxyXG5cclxuXHRnZXRDaGFydChpZDogc3RyaW5nIHwgbnVtYmVyKTogQ2hhcnQge1xyXG5cdFx0cmV0dXJuIHRoaXMuX2NoYXJ0cy5nZXQoaWQpO1xyXG5cdH1cclxuXHJcblx0cmVzaXplQ2hhcnRzKCkge1xyXG5cdFx0dGhpcy5fY2hhcnRzLmZvckVhY2goKGNoYXJ0KSA9PiB7XHJcblx0XHRcdGlmIChjaGFydC5jYW52YXMgJiYgY2hhcnQuY2FudmFzLm93bmVyRG9jdW1lbnQpIHtcclxuXHRcdFx0XHRjaGFydC5yZXNpemUoKTtcclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHRkZXN0cm95KGlkOiBzdHJpbmcgfCBudW1iZXIpIHtcclxuXHRcdGNvbnN0IF9jaGFydCA9IHRoaXMuX2NoYXJ0cy5nZXQoaWQpO1xyXG5cdFx0aWYgKF9jaGFydCkge1xyXG5cdFx0XHRfY2hhcnQuZGVzdHJveSgpO1xyXG5cdFx0XHR0aGlzLl9jaGFydHMuZGVsZXRlKGlkKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdGRlc3Ryb3lBbGwoKSB7XHJcblx0XHR0aGlzLl9jaGFydHMuZm9yRWFjaCgoY2hhcnQpID0+IHtcclxuXHRcdFx0Y2hhcnQuZGVzdHJveSgpO1xyXG5cdFx0fSk7XHJcblx0XHR0aGlzLl9jaGFydHMuY2xlYXIoKTtcclxuXHR9XHJcblxyXG5cdGFzeW5jIHByaW50Q2hhcnQoaWQ6IHN0cmluZyB8IG51bWJlciwgbGFiZWw6IHN0cmluZykge1xyXG5cdFx0Y29uc3QgX2NoYXJ0ID0gdGhpcy5fY2hhcnRzLmdldChpZCk7XHJcblx0XHRpZiAoIV9jaGFydCkge1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblxyXG5cdFx0Y29uc3QgeyBjaGFydCwgZGVzdHJveTogZGVzdHJveVRlbXBDaGFydCB9ID0gYXdhaXQgdGhpcy5fY3JlYXRlSGlkZGVuQ2FudmFzRm9yRXhwb3J0KF9jaGFydCwgbGFiZWwpO1xyXG5cdFx0aWYgKCFjaGFydCkge1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblxyXG5cdFx0Y29uc3QgaW1hZ2VMaW5rID0gdGhpcy5fZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xyXG5cdFx0Y29uc3QgZGF0ZSA9IG1vbWVudCgpLmZvcm1hdCgnWVlZWS1NTS1ERF9ISC1tbS1zcycpO1xyXG5cdFx0aW1hZ2VMaW5rLmhyZWYgPSBjaGFydC5jYW52YXMudG9EYXRhVVJMKCdpbWFnZS9qcGVnJywgMC45KTtcclxuXHRcdGltYWdlTGluay5kb3dubG9hZCA9IGAke2xhYmVsfS0ke2RhdGV9LmpwZ2A7XHJcblx0XHRpbWFnZUxpbmsuY2xpY2soKTtcclxuXHRcdGRlc3Ryb3lUZW1wQ2hhcnQoKTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX2NyZWF0ZUhpZGRlbkNhbnZhc0ZvckV4cG9ydChjaGFydDogQ2hhcnQsIGxhYmVsOiBzdHJpbmcpIHtcclxuXHRcdGNvbnN0IGN1cnJlbnRMYW5nID0gdGhpcy5fdHJhbnNsYXRlU2VydmljZS5jdXJyZW50TGFuZztcclxuXHJcblx0XHRyZXR1cm4gbmV3IFByb21pc2U8eyBjaGFydDogQ2hhcnQ7IGRlc3Ryb3k6ICgpID0+IHZvaWQgfT4oKHJlc29sdmUpID0+IHtcclxuXHRcdFx0Y29uc3QgcGFkZGluZyA9IDQwO1xyXG5cclxuXHRcdFx0Y29uc3QgaGlkZGVuQ2FudmFzID0gdGhpcy5fZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7XHJcblx0XHRcdGNvbnN0IFt3aWR0aCwgaGVpZ2h0XSA9IFsxMDI0LCA2MDBdO1xyXG5cclxuXHRcdFx0aGlkZGVuQ2FudmFzLnN0eWxlLndpZHRoID0gYCR7d2lkdGh9cHhgO1xyXG5cdFx0XHRoaWRkZW5DYW52YXMuc3R5bGUuaGVpZ2h0ID0gYCR7aGVpZ2h0fXB4YDtcclxuXHRcdFx0aGlkZGVuQ2FudmFzLndpZHRoID0gd2lkdGg7XHJcblx0XHRcdGhpZGRlbkNhbnZhcy5oZWlnaHQgPSBoZWlnaHQ7XHJcblx0XHRcdGhpZGRlbkNhbnZhcy5pZCA9ICdoaWRkZW5DYW52YXMnO1xyXG5cclxuXHRcdFx0dGhpcy5fZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChoaWRkZW5DYW52YXMpO1xyXG5cclxuXHRcdFx0Y29uc3QgaGlkZGVuQ2hhcnQgPSBuZXcgQ2hhcnQoaGlkZGVuQ2FudmFzLCB7XHJcblx0XHRcdFx0dHlwZTogKGNoYXJ0LmNvbmZpZyBhcyBDaGFydENvbmZpZ3VyYXRpb24pPy50eXBlLFxyXG5cdFx0XHRcdGRhdGE6IGNoYXJ0LmNvbmZpZy5kYXRhLFxyXG5cdFx0XHRcdG9wdGlvbnM6IHtcclxuXHRcdFx0XHRcdC4uLmNoYXJ0LmNvbmZpZy5vcHRpb25zLFxyXG5cdFx0XHRcdFx0YW5pbWF0aW9uOiBmYWxzZSxcclxuXHRcdFx0XHRcdHJlc3BvbnNpdmU6IGZhbHNlLFxyXG5cdFx0XHRcdFx0bGF5b3V0OiB7XHJcblx0XHRcdFx0XHRcdHBhZGRpbmc6IHBhZGRpbmdcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRwbHVnaW5zOiB7XHJcblx0XHRcdFx0XHRcdC4uLmNoYXJ0LmNvbmZpZy5vcHRpb25zLnBsdWdpbnMsXHJcblx0XHRcdFx0XHRcdHRpdGxlOiB7XHJcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogdHJ1ZSxcclxuXHRcdFx0XHRcdFx0XHR0ZXh0OiBsYWJlbCxcclxuXHRcdFx0XHRcdFx0XHRwYWRkaW5nOiB7XHJcblx0XHRcdFx0XHRcdFx0XHR0b3A6IDAsXHJcblx0XHRcdFx0XHRcdFx0XHRib3R0b206IDMwXHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0XHRsZWdlbmQ6IHtcclxuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiB0cnVlLFxyXG5cdFx0XHRcdFx0XHRcdHJ0bDogY3VycmVudExhbmcgPT0gJ2FyJyxcclxuXHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogY3VycmVudExhbmcgPT0gJ2FyJyA/ICdyaWdodCcgOiAnbGVmdCdcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0sXHJcblx0XHRcdFx0cGx1Z2luczogW1xyXG5cdFx0XHRcdFx0Q2hhcnRQbHVnaW5zLmNoYXJ0RGF0YUxhYmVscyxcclxuXHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0aWQ6ICdjYW52YXNCYWNrZ3JvdW5kQ29sb3InLFxyXG5cdFx0XHRcdFx0XHRiZWZvcmVEcmF3OiAoY2hhcnQsIGFyZ3MsIG9wdGlvbnMpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRjb25zdCB7IGN0eCB9ID0gY2hhcnQ7XHJcblx0XHRcdFx0XHRcdFx0Y3R4LnNhdmUoKTtcclxuXHRcdFx0XHRcdFx0XHRjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ2Rlc3RpbmF0aW9uLW92ZXInO1xyXG5cdFx0XHRcdFx0XHRcdGN0eC5maWxsU3R5bGUgPSAnd2hpdGUnO1xyXG5cdFx0XHRcdFx0XHRcdGN0eC5maWxsUmVjdCgwLCAwLCBjaGFydC53aWR0aCwgY2hhcnQuaGVpZ2h0KTtcclxuXHRcdFx0XHRcdFx0XHRjdHgucmVzdG9yZSgpO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHRpZDogJ29uUmVhZHknLFxyXG5cdFx0XHRcdFx0XHRhZnRlclJlbmRlcjogZnVuY3Rpb24gKGNoYXJ0LCBvcHRpb25zKSB7XHJcblx0XHRcdFx0XHRcdFx0cmVzb2x2ZSh7XHJcblx0XHRcdFx0XHRcdFx0XHRjaGFydDogY2hhcnQsXHJcblx0XHRcdFx0XHRcdFx0XHRkZXN0cm95OiAoKSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGNoYXJ0LmRlc3Ryb3koKTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0ZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChoaWRkZW5DYW52YXMpO1xyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XVxyXG5cdFx0XHR9KTtcclxuXHRcdFx0aGlkZGVuQ2hhcnQucmVuZGVyKCk7XHJcblx0XHR9KTtcclxuXHR9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class ChartPluginsRegistry {
|
|
4
|
+
constructor() {
|
|
5
|
+
this._plugins = new Map();
|
|
6
|
+
}
|
|
7
|
+
register(key, plugin) {
|
|
8
|
+
if (typeof key === 'object') {
|
|
9
|
+
Object.entries(key).forEach(([key, fn]) => this._plugins.set(key, fn));
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
if (typeof key === 'string' && plugin) {
|
|
13
|
+
this._plugins.set(key, plugin);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Check if a plugin exists with the given key
|
|
18
|
+
* @param key The plugin key to check
|
|
19
|
+
* @returns True if the plugin exists, false otherwise
|
|
20
|
+
*/
|
|
21
|
+
has(key) {
|
|
22
|
+
return this._plugins.has(key);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Get a plugin by its key
|
|
26
|
+
* @param key The key of the plugin to retrieve
|
|
27
|
+
* @returns The plugin instance or undefined if not found
|
|
28
|
+
*/
|
|
29
|
+
get(key) {
|
|
30
|
+
return this._plugins.get(key);
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Remove a plugin by its key
|
|
34
|
+
* @param key The key of the plugin to remove
|
|
35
|
+
* @returns True if the plugin was removed, false if it didn't exist
|
|
36
|
+
*/
|
|
37
|
+
delete(key) {
|
|
38
|
+
return this._plugins.delete(key);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
ChartPluginsRegistry.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ChartPluginsRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
42
|
+
ChartPluginsRegistry.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ChartPluginsRegistry, providedIn: 'root' });
|
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ChartPluginsRegistry, decorators: [{
|
|
44
|
+
type: Injectable,
|
|
45
|
+
args: [{
|
|
46
|
+
providedIn: 'root'
|
|
47
|
+
}]
|
|
48
|
+
}] });
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtcGx1Z2lucy1yZWdpc3RyeS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9yZXBvcnRzL25kZi1yZXBvcnRzL3NlcnZpY2VzL2NoYXJ0LXBsdWdpbnMtcmVnaXN0cnkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU0zQyxNQUFNLE9BQU8sb0JBQW9CO0lBSGpDO1FBSWtCLGFBQVEsR0FBbUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztLQWdEdEU7SUFyQ0EsUUFBUSxDQUFDLEdBQStDLEVBQUUsTUFBMEI7UUFDbkYsSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLEVBQUU7WUFDNUIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDdkUsT0FBTztTQUNQO1FBRUQsSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLElBQUksTUFBTSxFQUFFO1lBQ3RDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztTQUMvQjtJQUNGLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksR0FBRyxDQUFDLEdBQVc7UUFDckIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLEdBQUcsQ0FBQyxHQUFXO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsR0FBVztRQUN4QixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7O2tIQWhEVyxvQkFBb0I7c0hBQXBCLG9CQUFvQixjQUZwQixNQUFNOzRGQUVOLG9CQUFvQjtrQkFIaEMsVUFBVTttQkFBQztvQkFDWCxVQUFVLEVBQUUsTUFBTTtpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENoYXJ0VHlwZSwgUGx1Z2luIH0gZnJvbSAnY2hhcnQuanMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG5cdHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hhcnRQbHVnaW5zUmVnaXN0cnkge1xyXG5cdHByaXZhdGUgcmVhZG9ubHkgX3BsdWdpbnM6IE1hcDxzdHJpbmcsIFBsdWdpbjxDaGFydFR5cGU+PiA9IG5ldyBNYXAoKTtcclxuXHJcblx0LyoqXHJcblx0ICogUmVnaXN0ZXIgYSBwbHVnaW4gb3IgbXVsdGlwbGUgcGx1Z2lucy5cclxuXHQgKlxyXG5cdCAqIEBwYXJhbSB7c3RyaW5nIHwgUmVjb3JkPHN0cmluZywgUGx1Z2luPENoYXJ0VHlwZT4+fSBrZXkgLSBUaGUga2V5IG9mIHRoZSBwbHVnaW4gdG8gcmVnaXN0ZXIgb3IgYW4gb2JqZWN0IGNvbnRhaW5pbmcgbXVsdGlwbGUgcGx1Z2lucy5cclxuXHQgKiBAcGFyYW0ge1BsdWdpbjxDaGFydFR5cGU+fSBbcGx1Z2luXSAtIFRoZSBwbHVnaW4gaW5zdGFuY2UgdG8gcmVnaXN0ZXIgKGlmIGBrZXlgIGlzIGEgc3RyaW5nKS5cclxuXHQgKiBAcmV0dXJucyB7dm9pZH1cclxuXHQgKi9cclxuXHRyZWdpc3RlcihrZXk6IHN0cmluZywgcGx1Z2luOiBQbHVnaW48Q2hhcnRUeXBlPik6IHZvaWQ7XHJcblx0cmVnaXN0ZXIocGx1Z2luczogUmVjb3JkPHN0cmluZywgUGx1Z2luPENoYXJ0VHlwZT4+KTogdm9pZDtcclxuXHRyZWdpc3RlcihrZXk6IHN0cmluZyB8IFJlY29yZDxzdHJpbmcsIFBsdWdpbjxDaGFydFR5cGU+PiwgcGx1Z2luPzogUGx1Z2luPENoYXJ0VHlwZT4pOiB2b2lkIHtcclxuXHRcdGlmICh0eXBlb2Yga2V5ID09PSAnb2JqZWN0Jykge1xyXG5cdFx0XHRPYmplY3QuZW50cmllcyhrZXkpLmZvckVhY2goKFtrZXksIGZuXSkgPT4gdGhpcy5fcGx1Z2lucy5zZXQoa2V5LCBmbikpO1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblxyXG5cdFx0aWYgKHR5cGVvZiBrZXkgPT09ICdzdHJpbmcnICYmIHBsdWdpbikge1xyXG5cdFx0XHR0aGlzLl9wbHVnaW5zLnNldChrZXksIHBsdWdpbik7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBDaGVjayBpZiBhIHBsdWdpbiBleGlzdHMgd2l0aCB0aGUgZ2l2ZW4ga2V5XHJcblx0ICogQHBhcmFtIGtleSBUaGUgcGx1Z2luIGtleSB0byBjaGVja1xyXG5cdCAqIEByZXR1cm5zIFRydWUgaWYgdGhlIHBsdWdpbiBleGlzdHMsIGZhbHNlIG90aGVyd2lzZVxyXG5cdCAqL1xyXG5cdHB1YmxpYyBoYXMoa2V5OiBzdHJpbmcpOiBib29sZWFuIHtcclxuXHRcdHJldHVybiB0aGlzLl9wbHVnaW5zLmhhcyhrZXkpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogR2V0IGEgcGx1Z2luIGJ5IGl0cyBrZXlcclxuXHQgKiBAcGFyYW0ga2V5IFRoZSBrZXkgb2YgdGhlIHBsdWdpbiB0byByZXRyaWV2ZVxyXG5cdCAqIEByZXR1cm5zIFRoZSBwbHVnaW4gaW5zdGFuY2Ugb3IgdW5kZWZpbmVkIGlmIG5vdCBmb3VuZFxyXG5cdCAqL1xyXG5cdHB1YmxpYyBnZXQoa2V5OiBzdHJpbmcpOiBQbHVnaW48Q2hhcnRUeXBlPiB8IHVuZGVmaW5lZCB7XHJcblx0XHRyZXR1cm4gdGhpcy5fcGx1Z2lucy5nZXQoa2V5KTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFJlbW92ZSBhIHBsdWdpbiBieSBpdHMga2V5XHJcblx0ICogQHBhcmFtIGtleSBUaGUga2V5IG9mIHRoZSBwbHVnaW4gdG8gcmVtb3ZlXHJcblx0ICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgcGx1Z2luIHdhcyByZW1vdmVkLCBmYWxzZSBpZiBpdCBkaWRuJ3QgZXhpc3RcclxuXHQgKi9cclxuXHRwdWJsaWMgZGVsZXRlKGtleTogc3RyaW5nKTogYm9vbGVhbiB7XHJcblx0XHRyZXR1cm4gdGhpcy5fcGx1Z2lucy5kZWxldGUoa2V5KTtcclxuXHR9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { of } from 'rxjs';
|
|
3
|
+
import { map } from 'rxjs/operators';
|
|
4
|
+
import _ from 'lodash';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "./chart-data-transformers.service";
|
|
7
|
+
export class DigitChartService {
|
|
8
|
+
constructor(_dataTransformers) {
|
|
9
|
+
this._dataTransformers = _dataTransformers;
|
|
10
|
+
}
|
|
11
|
+
prepareChart(response, config) {
|
|
12
|
+
if (!config.datasource) {
|
|
13
|
+
console.warn('No datasource provided for chart configuration');
|
|
14
|
+
return of(null);
|
|
15
|
+
}
|
|
16
|
+
return of(config.datasource).pipe(map((sourceConfig) => {
|
|
17
|
+
const rawData = _.get(response, sourceConfig.propertyPath);
|
|
18
|
+
if (this._dataTransformers.hasDigitsTransformer(sourceConfig === null || sourceConfig === void 0 ? void 0 : sourceConfig.transformer)) {
|
|
19
|
+
const adapter = this._dataTransformers.getDigitsTransformer(sourceConfig === null || sourceConfig === void 0 ? void 0 : sourceConfig.transformer);
|
|
20
|
+
return adapter(rawData, response);
|
|
21
|
+
}
|
|
22
|
+
if (_.isObject(rawData)) {
|
|
23
|
+
return _.get(rawData, sourceConfig === null || sourceConfig === void 0 ? void 0 : sourceConfig.bindValue, rawData);
|
|
24
|
+
}
|
|
25
|
+
if (Array.isArray(rawData)) {
|
|
26
|
+
return rawData.reduce((acc, item) => {
|
|
27
|
+
acc += Number(_.get(item, sourceConfig === null || sourceConfig === void 0 ? void 0 : sourceConfig.bindValue, item.docCount));
|
|
28
|
+
}, 0);
|
|
29
|
+
}
|
|
30
|
+
return rawData;
|
|
31
|
+
}));
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
DigitChartService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DigitChartService, deps: [{ token: i1.ChartDataTransformers }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
35
|
+
DigitChartService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DigitChartService, providedIn: 'root' });
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DigitChartService, decorators: [{
|
|
37
|
+
type: Injectable,
|
|
38
|
+
args: [{
|
|
39
|
+
providedIn: 'root'
|
|
40
|
+
}]
|
|
41
|
+
}], ctorParameters: function () { return [{ type: i1.ChartDataTransformers }]; } });
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlnaXQtY2hhcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvcmVwb3J0cy9uZGYtcmVwb3J0cy9zZXJ2aWNlcy9kaWdpdC1jaGFydC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDOzs7QUFNdkIsTUFBTSxPQUFPLGlCQUFpQjtJQUM3QixZQUE2QixpQkFBd0M7UUFBeEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUF1QjtJQUFHLENBQUM7SUFFekUsWUFBWSxDQUFDLFFBQTZCLEVBQUUsTUFBa0I7UUFDN0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUU7WUFDdkIsT0FBTyxDQUFDLElBQUksQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDO1lBQy9ELE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ2hCO1FBQ0QsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FDaEMsR0FBRyxDQUFDLENBQUMsWUFBWSxFQUFFLEVBQUU7WUFDcEIsTUFBTSxPQUFPLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzNELElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLG9CQUFvQixDQUFDLFlBQVksYUFBWixZQUFZLHVCQUFaLFlBQVksQ0FBRSxXQUFXLENBQUMsRUFBRTtnQkFDM0UsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLG9CQUFvQixDQUFDLFlBQVksYUFBWixZQUFZLHVCQUFaLFlBQVksQ0FBRSxXQUFXLENBQUMsQ0FBQztnQkFDdkYsT0FBTyxPQUFPLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO2FBQ2xDO1lBQ0QsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUN4QixPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLFlBQVksYUFBWixZQUFZLHVCQUFaLFlBQVksQ0FBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7YUFDeEQ7WUFFRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQzNCLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRTtvQkFDbkMsR0FBRyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxZQUFZLGFBQVosWUFBWSx1QkFBWixZQUFZLENBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO2dCQUNwRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDTjtZQUVELE9BQU8sT0FBTyxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxDQUNGLENBQUM7SUFDSCxDQUFDOzsrR0E1QlcsaUJBQWlCO21IQUFqQixpQkFBaUIsY0FGakIsTUFBTTs0RkFFTixpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1gsVUFBVSxFQUFFLE1BQU07aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEaWdpdENoYXJ0LCBSZXBvcnRSZXNwb25zZU1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xyXG5pbXBvcnQgeyBDaGFydERhdGFUcmFuc2Zvcm1lcnMgfSBmcm9tICcuL2NoYXJ0LWRhdGEtdHJhbnNmb3JtZXJzLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG5cdHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRGlnaXRDaGFydFNlcnZpY2Uge1xyXG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgX2RhdGFUcmFuc2Zvcm1lcnM6IENoYXJ0RGF0YVRyYW5zZm9ybWVycykge31cclxuXHJcblx0cHJlcGFyZUNoYXJ0KHJlc3BvbnNlOiBSZXBvcnRSZXNwb25zZU1vZGVsLCBjb25maWc6IERpZ2l0Q2hhcnQpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG5cdFx0aWYgKCFjb25maWcuZGF0YXNvdXJjZSkge1xyXG5cdFx0XHRjb25zb2xlLndhcm4oJ05vIGRhdGFzb3VyY2UgcHJvdmlkZWQgZm9yIGNoYXJ0IGNvbmZpZ3VyYXRpb24nKTtcclxuXHRcdFx0cmV0dXJuIG9mKG51bGwpO1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIG9mKGNvbmZpZy5kYXRhc291cmNlKS5waXBlKFxyXG5cdFx0XHRtYXAoKHNvdXJjZUNvbmZpZykgPT4ge1xyXG5cdFx0XHRcdGNvbnN0IHJhd0RhdGEgPSBfLmdldChyZXNwb25zZSwgc291cmNlQ29uZmlnLnByb3BlcnR5UGF0aCk7XHJcblx0XHRcdFx0aWYgKHRoaXMuX2RhdGFUcmFuc2Zvcm1lcnMuaGFzRGlnaXRzVHJhbnNmb3JtZXIoc291cmNlQ29uZmlnPy50cmFuc2Zvcm1lcikpIHtcclxuXHRcdFx0XHRcdGNvbnN0IGFkYXB0ZXIgPSB0aGlzLl9kYXRhVHJhbnNmb3JtZXJzLmdldERpZ2l0c1RyYW5zZm9ybWVyKHNvdXJjZUNvbmZpZz8udHJhbnNmb3JtZXIpO1xyXG5cdFx0XHRcdFx0cmV0dXJuIGFkYXB0ZXIocmF3RGF0YSwgcmVzcG9uc2UpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRpZiAoXy5pc09iamVjdChyYXdEYXRhKSkge1xyXG5cdFx0XHRcdFx0cmV0dXJuIF8uZ2V0KHJhd0RhdGEsIHNvdXJjZUNvbmZpZz8uYmluZFZhbHVlLCByYXdEYXRhKTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdGlmIChBcnJheS5pc0FycmF5KHJhd0RhdGEpKSB7XHJcblx0XHRcdFx0XHRyZXR1cm4gcmF3RGF0YS5yZWR1Y2UoKGFjYywgaXRlbSkgPT4ge1xyXG5cdFx0XHRcdFx0XHRhY2MgKz0gTnVtYmVyKF8uZ2V0KGl0ZW0sIHNvdXJjZUNvbmZpZz8uYmluZFZhbHVlLCBpdGVtLmRvY0NvdW50KSk7XHJcblx0XHRcdFx0XHR9LCAwKTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdHJldHVybiByYXdEYXRhO1xyXG5cdFx0XHR9KVxyXG5cdFx0KTtcclxuXHR9XHJcbn1cclxuIl19
|
package/esm2015/lib/components/reports/ndf-reports/services/dynamic-timeline-report.service.js
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject, forkJoin, of, pipe, ReplaySubject } from 'rxjs';
|
|
3
|
+
import { catchError, finalize, switchMap } from 'rxjs/operators';
|
|
4
|
+
import _ from 'lodash';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "./index";
|
|
7
|
+
export class DynamicTimelineReportService {
|
|
8
|
+
constructor(_ndfReportsService) {
|
|
9
|
+
this._ndfReportsService = _ndfReportsService;
|
|
10
|
+
this._rebuildTriggerSub = new BehaviorSubject(false);
|
|
11
|
+
this.rebuild$ = this._rebuildTriggerSub.asObservable();
|
|
12
|
+
this._isInitialized = false;
|
|
13
|
+
this.isLoadingResult = false;
|
|
14
|
+
this._selectedGroupSub = new ReplaySubject();
|
|
15
|
+
this.selectedGroup$ = this._selectedGroupSub.asObservable();
|
|
16
|
+
}
|
|
17
|
+
updateSelectedGroup(selected) {
|
|
18
|
+
if (!this._selectedGroup) {
|
|
19
|
+
this._selectedGroup = selected || 'week';
|
|
20
|
+
}
|
|
21
|
+
this._selectedGroupSub.next(this._selectedGroup);
|
|
22
|
+
}
|
|
23
|
+
changeGroup(group) {
|
|
24
|
+
this._selectedGroup = group;
|
|
25
|
+
this._rebuildTriggerSub.next(true);
|
|
26
|
+
}
|
|
27
|
+
rebuild() {
|
|
28
|
+
this._rebuildTriggerSub.next(true);
|
|
29
|
+
}
|
|
30
|
+
prepareData() {
|
|
31
|
+
return pipe(switchMap(([config, criteria]) => {
|
|
32
|
+
var _a;
|
|
33
|
+
const request = config === null || config === void 0 ? void 0 : config.request;
|
|
34
|
+
if (!request) {
|
|
35
|
+
return of(null);
|
|
36
|
+
}
|
|
37
|
+
this.updateSelectedGroup((_a = config === null || config === void 0 ? void 0 : config.group) === null || _a === void 0 ? void 0 : _a.selected);
|
|
38
|
+
this.payload = _.merge(criteria || {}, this._prepareSelectedGroups(config));
|
|
39
|
+
const data$ = this._ndfReportsService.getData(request, this.payload).pipe(catchError((error) => {
|
|
40
|
+
console.error(error);
|
|
41
|
+
return of(null);
|
|
42
|
+
}), finalize(() => {
|
|
43
|
+
this.isLoadingResult = false;
|
|
44
|
+
}));
|
|
45
|
+
return forkJoin({
|
|
46
|
+
config: of(config),
|
|
47
|
+
data: data$
|
|
48
|
+
});
|
|
49
|
+
}));
|
|
50
|
+
}
|
|
51
|
+
_prepareSelectedGroups(config) {
|
|
52
|
+
const data = config.datasource.map((source) => {
|
|
53
|
+
var _a;
|
|
54
|
+
return ({
|
|
55
|
+
name: source.aggregation,
|
|
56
|
+
interval: this._selectedGroup || ((_a = config === null || config === void 0 ? void 0 : config.group) === null || _a === void 0 ? void 0 : _a.selected) || 'week'
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
return {
|
|
60
|
+
payload: {
|
|
61
|
+
aggregationNames: data
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
DynamicTimelineReportService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicTimelineReportService, deps: [{ token: i1.NdfReportsService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
67
|
+
DynamicTimelineReportService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicTimelineReportService, providedIn: 'root' });
|
|
68
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicTimelineReportService, decorators: [{
|
|
69
|
+
type: Injectable,
|
|
70
|
+
args: [{ providedIn: 'root' }]
|
|
71
|
+
}], ctorParameters: function () { return [{ type: i1.NdfReportsService }]; } });
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy10aW1lbGluZS1yZXBvcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvcmVwb3J0cy9uZGYtcmVwb3J0cy9zZXJ2aWNlcy9keW5hbWljLXRpbWVsaW5lLXJlcG9ydC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFMUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakUsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDOzs7QUFJdkIsTUFBTSxPQUFPLDRCQUE0QjtJQU14QyxZQUFvQixrQkFBcUM7UUFBckMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFtQjtRQUxoRCx1QkFBa0IsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUN6RCxhQUFRLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzNELG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBSWhCLHNCQUFpQixHQUFHLElBQUksYUFBYSxFQUFjLENBQUM7UUFFNUQsbUJBQWMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFKSyxDQUFDO0lBUTdELG1CQUFtQixDQUFDLFFBQXFCO1FBQ3hDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3pCLElBQUksQ0FBQyxjQUFjLEdBQUcsUUFBUSxJQUFJLE1BQU0sQ0FBQztTQUN6QztRQUNELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxXQUFXLENBQUMsS0FBaUI7UUFDNUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7UUFDNUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsT0FBTztRQUNOLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELFdBQVc7UUFDVixPQUFPLElBQUksQ0FDVixTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQTZDLEVBQUUsRUFBRTs7WUFDNUUsTUFBTSxPQUFPLEdBQUcsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLE9BQU8sQ0FBQztZQUNoQyxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUNiLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ2hCO1lBQ0QsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQUEsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLEtBQUssMENBQUUsUUFBUSxDQUFDLENBQUM7WUFFbEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsSUFBSSxFQUFFLEVBQUUsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFFNUUsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDeEUsVUFBVSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ3BCLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3JCLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2pCLENBQUMsQ0FBQyxFQUNGLFFBQVEsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2IsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7WUFDOUIsQ0FBQyxDQUFDLENBQ0YsQ0FBQztZQUNGLE9BQU8sUUFBUSxDQUFDO2dCQUNmLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDO2dCQUNsQixJQUFJLEVBQUUsS0FBSzthQUNYLENBQUMsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUNGLENBQUM7SUFDSCxDQUFDO0lBRU8sc0JBQXNCLENBQUMsTUFBd0I7UUFDdEQsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTs7WUFBQyxPQUFBLENBQUM7Z0JBQy9DLElBQUksRUFBRSxNQUFNLENBQUMsV0FBVztnQkFDeEIsUUFBUSxFQUFFLElBQUksQ0FBQyxjQUFjLEtBQUksTUFBQSxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsS0FBSywwQ0FBRSxRQUFRLENBQUEsSUFBSSxNQUFNO2FBQ2xFLENBQUMsQ0FBQTtTQUFBLENBQUMsQ0FBQztRQUVKLE9BQU87WUFDTixPQUFPLEVBQUU7Z0JBQ1IsZ0JBQWdCLEVBQUUsSUFBSTthQUN0QjtTQUNELENBQUM7SUFDSCxDQUFDOzswSEFyRVcsNEJBQTRCOzhIQUE1Qiw0QkFBNEIsY0FEZixNQUFNOzRGQUNuQiw0QkFBNEI7a0JBRHhDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZvcmtKb2luLCBvZiwgcGlwZSwgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDcml0ZXJpYU1vZGVsLCBEeW5hbWljTGluZUNoYXJ0LCBUaW1lR3JvdXBzIH0gZnJvbSAnLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmluYWxpemUsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcclxuaW1wb3J0IHsgTmRmUmVwb3J0c1NlcnZpY2UgfSBmcm9tICcuL2luZGV4JztcclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBEeW5hbWljVGltZWxpbmVSZXBvcnRTZXJ2aWNlIHtcclxuXHRyZWFkb25seSBfcmVidWlsZFRyaWdnZXJTdWIgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHRyZWFkb25seSByZWJ1aWxkJCA9IHRoaXMuX3JlYnVpbGRUcmlnZ2VyU3ViLmFzT2JzZXJ2YWJsZSgpO1xyXG5cdF9pc0luaXRpYWxpemVkID0gZmFsc2U7XHJcblx0aXNMb2FkaW5nUmVzdWx0ID0gZmFsc2U7XHJcblxyXG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgX25kZlJlcG9ydHNTZXJ2aWNlOiBOZGZSZXBvcnRzU2VydmljZSkge31cclxuXHJcblx0cHJpdmF0ZSBfc2VsZWN0ZWRHcm91cFN1YiA9IG5ldyBSZXBsYXlTdWJqZWN0PFRpbWVHcm91cHM+KCk7XHJcblx0cHJpdmF0ZSBfc2VsZWN0ZWRHcm91cDogVGltZUdyb3VwcztcclxuXHRzZWxlY3RlZEdyb3VwJCA9IHRoaXMuX3NlbGVjdGVkR3JvdXBTdWIuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG5cdHBheWxvYWQ6IENyaXRlcmlhTW9kZWw7XHJcblxyXG5cdHVwZGF0ZVNlbGVjdGVkR3JvdXAoc2VsZWN0ZWQ/OiBUaW1lR3JvdXBzKSB7XHJcblx0XHRpZiAoIXRoaXMuX3NlbGVjdGVkR3JvdXApIHtcclxuXHRcdFx0dGhpcy5fc2VsZWN0ZWRHcm91cCA9IHNlbGVjdGVkIHx8ICd3ZWVrJztcclxuXHRcdH1cclxuXHRcdHRoaXMuX3NlbGVjdGVkR3JvdXBTdWIubmV4dCh0aGlzLl9zZWxlY3RlZEdyb3VwKTtcclxuXHR9XHJcblxyXG5cdGNoYW5nZUdyb3VwKGdyb3VwOiBUaW1lR3JvdXBzKSB7XHJcblx0XHR0aGlzLl9zZWxlY3RlZEdyb3VwID0gZ3JvdXA7XHJcblx0XHR0aGlzLl9yZWJ1aWxkVHJpZ2dlclN1Yi5uZXh0KHRydWUpO1xyXG5cdH1cclxuXHJcblx0cmVidWlsZCgpIHtcclxuXHRcdHRoaXMuX3JlYnVpbGRUcmlnZ2VyU3ViLm5leHQodHJ1ZSk7XHJcblx0fVxyXG5cclxuXHRwcmVwYXJlRGF0YSgpIHtcclxuXHRcdHJldHVybiBwaXBlKFxyXG5cdFx0XHRzd2l0Y2hNYXAoKFtjb25maWcsIGNyaXRlcmlhXTogW0R5bmFtaWNMaW5lQ2hhcnQsIENyaXRlcmlhTW9kZWwsIGJvb2xlYW5dKSA9PiB7XHJcblx0XHRcdFx0Y29uc3QgcmVxdWVzdCA9IGNvbmZpZz8ucmVxdWVzdDtcclxuXHRcdFx0XHRpZiAoIXJlcXVlc3QpIHtcclxuXHRcdFx0XHRcdHJldHVybiBvZihudWxsKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0dGhpcy51cGRhdGVTZWxlY3RlZEdyb3VwKGNvbmZpZz8uZ3JvdXA/LnNlbGVjdGVkKTtcclxuXHJcblx0XHRcdFx0dGhpcy5wYXlsb2FkID0gXy5tZXJnZShjcml0ZXJpYSB8fCB7fSwgdGhpcy5fcHJlcGFyZVNlbGVjdGVkR3JvdXBzKGNvbmZpZykpO1xyXG5cclxuXHRcdFx0XHRjb25zdCBkYXRhJCA9IHRoaXMuX25kZlJlcG9ydHNTZXJ2aWNlLmdldERhdGEocmVxdWVzdCwgdGhpcy5wYXlsb2FkKS5waXBlKFxyXG5cdFx0XHRcdFx0Y2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5lcnJvcihlcnJvcik7XHJcblx0XHRcdFx0XHRcdHJldHVybiBvZihudWxsKTtcclxuXHRcdFx0XHRcdH0pLFxyXG5cdFx0XHRcdFx0ZmluYWxpemUoKCkgPT4ge1xyXG5cdFx0XHRcdFx0XHR0aGlzLmlzTG9hZGluZ1Jlc3VsdCA9IGZhbHNlO1xyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHQpO1xyXG5cdFx0XHRcdHJldHVybiBmb3JrSm9pbih7XHJcblx0XHRcdFx0XHRjb25maWc6IG9mKGNvbmZpZyksXHJcblx0XHRcdFx0XHRkYXRhOiBkYXRhJFxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9KVxyXG5cdFx0KTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX3ByZXBhcmVTZWxlY3RlZEdyb3Vwcyhjb25maWc6IER5bmFtaWNMaW5lQ2hhcnQpIHtcclxuXHRcdGNvbnN0IGRhdGEgPSBjb25maWcuZGF0YXNvdXJjZS5tYXAoKHNvdXJjZSkgPT4gKHtcclxuXHRcdFx0bmFtZTogc291cmNlLmFnZ3JlZ2F0aW9uLFxyXG5cdFx0XHRpbnRlcnZhbDogdGhpcy5fc2VsZWN0ZWRHcm91cCB8fCBjb25maWc/Lmdyb3VwPy5zZWxlY3RlZCB8fCAnd2VlaydcclxuXHRcdH0pKTtcclxuXHJcblx0XHRyZXR1cm4ge1xyXG5cdFx0XHRwYXlsb2FkOiB7XHJcblx0XHRcdFx0YWdncmVnYXRpb25OYW1lczogZGF0YVxyXG5cdFx0XHR9XHJcblx0XHR9O1xyXG5cdH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export * from './ndf-reports.service';
|
|
2
|
+
export * from './chart-manager.service';
|
|
3
|
+
export * from './report-transform.service';
|
|
4
|
+
export * from './dynamic-timeline-report.service';
|
|
5
|
+
export * from './reports-state.service';
|
|
6
|
+
export * from './digit-chart.service';
|
|
7
|
+
export * from './base-chart-builder.service';
|
|
8
|
+
export * from './chart-data-transformers.service';
|
|
9
|
+
export * from './chart-plugins-registry.service';
|
|
10
|
+
export * from './report-config-mapper.service';
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3JlcG9ydHMvbmRmLXJlcG9ydHMvc2VydmljZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxnQ0FBZ0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbmRmLXJlcG9ydHMuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY2hhcnQtbWFuYWdlci5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9yZXBvcnQtdHJhbnNmb3JtLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2R5bmFtaWMtdGltZWxpbmUtcmVwb3J0LnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3JlcG9ydHMtc3RhdGUuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZGlnaXQtY2hhcnQuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vYmFzZS1jaGFydC1idWlsZGVyLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2NoYXJ0LWRhdGEtdHJhbnNmb3JtZXJzLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2NoYXJ0LXBsdWdpbnMtcmVnaXN0cnkuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcmVwb3J0LWNvbmZpZy1tYXBwZXIuc2VydmljZSc7XHJcbiJdfQ==
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import _ from 'lodash';
|
|
3
|
+
import { BaseService } from '../../../../shared/services';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class NdfReportsService extends BaseService {
|
|
6
|
+
getData(request, criteria = {}) {
|
|
7
|
+
return (request === null || request === void 0 ? void 0 : request.customUrl) ? this._customQuery(request, criteria) : this._query(request, criteria);
|
|
8
|
+
}
|
|
9
|
+
_query(request, criteria) {
|
|
10
|
+
const { params } = this._prepareRequest(request, criteria);
|
|
11
|
+
return this.query({
|
|
12
|
+
pageProvider: request.pageProvider,
|
|
13
|
+
headers: request === null || request === void 0 ? void 0 : request.headers,
|
|
14
|
+
params: params
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
_customQuery(request, criteria) {
|
|
18
|
+
var _a;
|
|
19
|
+
const { params, payload } = this._prepareRequest(request, criteria);
|
|
20
|
+
return this.request({
|
|
21
|
+
type: ((_a = request.customUrl) === null || _a === void 0 ? void 0 : _a.method) || 'get',
|
|
22
|
+
endpoint: request.customUrl.url,
|
|
23
|
+
headers: request === null || request === void 0 ? void 0 : request.headers,
|
|
24
|
+
queryParams: params,
|
|
25
|
+
payload: payload
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
_prepareRequest(request, criteria) {
|
|
29
|
+
const params = Object.assign(Object.assign({ pageSize: 1 }, ((request === null || request === void 0 ? void 0 : request.params) || {})), ((criteria === null || criteria === void 0 ? void 0 : criteria.params) || {}));
|
|
30
|
+
const payload = _.mergeWith(request.payload || {}, (criteria === null || criteria === void 0 ? void 0 : criteria.payload) || {}, (objValue, srcValue, key) => {
|
|
31
|
+
if (Array.isArray(objValue) && key === 'predicateList') {
|
|
32
|
+
return objValue.concat(srcValue);
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
return {
|
|
36
|
+
params,
|
|
37
|
+
payload
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
NdfReportsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfReportsService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
42
|
+
NdfReportsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfReportsService, providedIn: 'root' });
|
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfReportsService, decorators: [{
|
|
44
|
+
type: Injectable,
|
|
45
|
+
args: [{
|
|
46
|
+
providedIn: 'root'
|
|
47
|
+
}]
|
|
48
|
+
}] });
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmRmLXJlcG9ydHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvcmVwb3J0cy9uZGYtcmVwb3J0cy9zZXJ2aWNlcy9uZGYtcmVwb3J0cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUFXMUQsTUFBTSxPQUFPLGlCQUFrQixTQUFRLFdBQVc7SUFDakQsT0FBTyxDQUFDLE9BQTBCLEVBQUUsV0FBeUIsRUFBRTtRQUM5RCxPQUFPLENBQUEsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLFNBQVMsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ25HLENBQUM7SUFDTyxNQUFNLENBQUMsT0FBMEIsRUFBRSxRQUFzQjtRQUNoRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFFM0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFtQjtZQUNuQyxZQUFZLEVBQUUsT0FBTyxDQUFDLFlBQVk7WUFDbEMsT0FBTyxFQUFFLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxPQUFPO1lBQ3pCLE1BQU0sRUFBRSxNQUFNO1NBQ2QsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVPLFlBQVksQ0FBQyxPQUEwQixFQUFFLFFBQXNCOztRQUN0RSxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBRXBFLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBbUI7WUFDckMsSUFBSSxFQUFFLENBQUEsTUFBQSxPQUFPLENBQUMsU0FBUywwQ0FBRSxNQUFNLEtBQUksS0FBSztZQUN4QyxRQUFRLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHO1lBQy9CLE9BQU8sRUFBRSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsT0FBTztZQUN6QixXQUFXLEVBQUUsTUFBTTtZQUNuQixPQUFPLEVBQUUsT0FBTztTQUNoQixDQUFDLENBQUM7SUFDSixDQUFDO0lBRU8sZUFBZSxDQUFDLE9BQTBCLEVBQUUsUUFBc0I7UUFDekUsTUFBTSxNQUFNLGlDQUNYLFFBQVEsRUFBRSxDQUFDLElBQ1IsQ0FBQyxDQUFBLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxNQUFNLEtBQUksRUFBRSxDQUFDLEdBQ3ZCLENBQUMsQ0FBQSxRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsTUFBTSxLQUFJLEVBQUUsQ0FBQyxDQUMzQixDQUFDO1FBRUYsTUFBTSxPQUFPLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLEVBQUUsRUFBRSxDQUFBLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxPQUFPLEtBQUksRUFBRSxFQUFFLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUN2RyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxLQUFLLGVBQWUsRUFBRTtnQkFDdkQsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQ2pDO1FBQ0YsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPO1lBQ04sTUFBTTtZQUNOLE9BQU87U0FDUCxDQUFDO0lBQ0gsQ0FBQzs7K0dBM0NXLGlCQUFpQjttSEFBakIsaUJBQWlCLGNBRmpCLE1BQU07NEZBRU4saUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNYLFVBQVUsRUFBRSxNQUFNO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcclxuaW1wb3J0IHsgQXBpUmVzcG9uc2VNb2RlbCB9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgQmFzZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvc2VydmljZXMnO1xyXG5pbXBvcnQgeyBOZGZSZXBvcnRzUmVxdWVzdCB9IGZyb20gJy4uL21vZGVscyc7XHJcblxyXG50eXBlIENyaXRlcmlhVHlwZSA9IHtcclxuXHRwYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xyXG5cdHBheWxvYWQ/OiB7IHByZWRpY2F0ZUxpc3Q6IGFueVtdIH0gJiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xyXG59O1xyXG5cclxuQEluamVjdGFibGUoe1xyXG5cdHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTmRmUmVwb3J0c1NlcnZpY2UgZXh0ZW5kcyBCYXNlU2VydmljZSB7XHJcblx0Z2V0RGF0YShyZXF1ZXN0OiBOZGZSZXBvcnRzUmVxdWVzdCwgY3JpdGVyaWE6IENyaXRlcmlhVHlwZSA9IHt9KSB7XHJcblx0XHRyZXR1cm4gcmVxdWVzdD8uY3VzdG9tVXJsID8gdGhpcy5fY3VzdG9tUXVlcnkocmVxdWVzdCwgY3JpdGVyaWEpIDogdGhpcy5fcXVlcnkocmVxdWVzdCwgY3JpdGVyaWEpO1xyXG5cdH1cclxuXHRwcml2YXRlIF9xdWVyeShyZXF1ZXN0OiBOZGZSZXBvcnRzUmVxdWVzdCwgY3JpdGVyaWE6IENyaXRlcmlhVHlwZSkge1xyXG5cdFx0Y29uc3QgeyBwYXJhbXMgfSA9IHRoaXMuX3ByZXBhcmVSZXF1ZXN0KHJlcXVlc3QsIGNyaXRlcmlhKTtcclxuXHJcblx0XHRyZXR1cm4gdGhpcy5xdWVyeTxBcGlSZXNwb25zZU1vZGVsPih7XHJcblx0XHRcdHBhZ2VQcm92aWRlcjogcmVxdWVzdC5wYWdlUHJvdmlkZXIsXHJcblx0XHRcdGhlYWRlcnM6IHJlcXVlc3Q/LmhlYWRlcnMsXHJcblx0XHRcdHBhcmFtczogcGFyYW1zXHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX2N1c3RvbVF1ZXJ5KHJlcXVlc3Q6IE5kZlJlcG9ydHNSZXF1ZXN0LCBjcml0ZXJpYTogQ3JpdGVyaWFUeXBlKSB7XHJcblx0XHRjb25zdCB7IHBhcmFtcywgcGF5bG9hZCB9ID0gdGhpcy5fcHJlcGFyZVJlcXVlc3QocmVxdWVzdCwgY3JpdGVyaWEpO1xyXG5cclxuXHRcdHJldHVybiB0aGlzLnJlcXVlc3Q8QXBpUmVzcG9uc2VNb2RlbD4oe1xyXG5cdFx0XHR0eXBlOiByZXF1ZXN0LmN1c3RvbVVybD8ubWV0aG9kIHx8ICdnZXQnLFxyXG5cdFx0XHRlbmRwb2ludDogcmVxdWVzdC5jdXN0b21VcmwudXJsLFxyXG5cdFx0XHRoZWFkZXJzOiByZXF1ZXN0Py5oZWFkZXJzLFxyXG5cdFx0XHRxdWVyeVBhcmFtczogcGFyYW1zLFxyXG5cdFx0XHRwYXlsb2FkOiBwYXlsb2FkXHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX3ByZXBhcmVSZXF1ZXN0KHJlcXVlc3Q6IE5kZlJlcG9ydHNSZXF1ZXN0LCBjcml0ZXJpYTogQ3JpdGVyaWFUeXBlKSB7XHJcblx0XHRjb25zdCBwYXJhbXMgPSB7XHJcblx0XHRcdHBhZ2VTaXplOiAxLFxyXG5cdFx0XHQuLi4ocmVxdWVzdD8ucGFyYW1zIHx8IHt9KSxcclxuXHRcdFx0Li4uKGNyaXRlcmlhPy5wYXJhbXMgfHwge30pXHJcblx0XHR9O1xyXG5cclxuXHRcdGNvbnN0IHBheWxvYWQgPSBfLm1lcmdlV2l0aChyZXF1ZXN0LnBheWxvYWQgfHwge30sIGNyaXRlcmlhPy5wYXlsb2FkIHx8IHt9LCAob2JqVmFsdWUsIHNyY1ZhbHVlLCBrZXkpID0+IHtcclxuXHRcdFx0aWYgKEFycmF5LmlzQXJyYXkob2JqVmFsdWUpICYmIGtleSA9PT0gJ3ByZWRpY2F0ZUxpc3QnKSB7XHJcblx0XHRcdFx0cmV0dXJuIG9ialZhbHVlLmNvbmNhdChzcmNWYWx1ZSk7XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cclxuXHRcdHJldHVybiB7XHJcblx0XHRcdHBhcmFtcyxcclxuXHRcdFx0cGF5bG9hZFxyXG5cdFx0fTtcclxuXHR9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { __rest } from "tslib";
|
|
2
|
+
import { Injectable } from '@angular/core';
|
|
3
|
+
import { ChartUtils } from '../../charts';
|
|
4
|
+
import { getChartsOptions, getDoughnutOptions, getHorizontalBarOptions, getLineOptions, getPieOptions, getVerticalBarOptions } from '../options';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "./chart-plugins-registry.service";
|
|
7
|
+
export class ReportConfigMapperService {
|
|
8
|
+
constructor(_chartPluginsRegistry) {
|
|
9
|
+
this._chartPluginsRegistry = _chartPluginsRegistry;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Prepares a graph chart configuration by converting plugin names to actual plugin objects
|
|
13
|
+
* @param config The graph chart definition
|
|
14
|
+
* @returns The prepared graph chart with plugin objects
|
|
15
|
+
*/
|
|
16
|
+
prepareGraphConfig(config) {
|
|
17
|
+
const _a = config.chart, { plugins, colors, options, direction, overrides } = _a, rest = __rest(_a, ["plugins", "colors", "options", "direction", "overrides"]);
|
|
18
|
+
const chart = Object.assign(Object.assign({}, rest), { overrides: getChartsOptions(overrides), options: this._getChartOptions(config.chart.type, options, direction) });
|
|
19
|
+
if (Array.isArray(plugins) && plugins.length > 0) {
|
|
20
|
+
chart.plugins = this._preparePlugins(plugins);
|
|
21
|
+
}
|
|
22
|
+
chart.colors = [...(colors || []), ...ChartUtils.getColors()];
|
|
23
|
+
return Object.assign(Object.assign({}, config), { chart: chart });
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Prepares a dynamic line chart configuration by converting plugin names to actual plugin objects
|
|
27
|
+
* @param config The dynamic line chart definition
|
|
28
|
+
* @returns The prepared dynamic line chart with plugin objects
|
|
29
|
+
*/
|
|
30
|
+
prepareGraphLineConfig(config) {
|
|
31
|
+
const _a = config.chart, { plugins, options } = _a, rest = __rest(_a, ["plugins", "options"]);
|
|
32
|
+
const chart = Object.assign(Object.assign({}, rest), { options: getLineOptions(options) });
|
|
33
|
+
if (Array.isArray(plugins) && plugins.length > 0) {
|
|
34
|
+
chart.plugins = this._preparePlugins(plugins);
|
|
35
|
+
}
|
|
36
|
+
const _colors = [...((config === null || config === void 0 ? void 0 : config.colors) || []), ...ChartUtils.getColors()];
|
|
37
|
+
return Object.assign(Object.assign({}, config), { colors: _colors, chart: chart });
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Prepares a digit chart configuration
|
|
41
|
+
* @param config The digit chart definition
|
|
42
|
+
* @returns The prepared digit chart (currently just returns the input as is)
|
|
43
|
+
*/
|
|
44
|
+
prepareDigitConfig(config) {
|
|
45
|
+
return config;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Converts an array of plugin names to an array of plugin objects
|
|
49
|
+
* @param plugins Array of plugin names
|
|
50
|
+
* @returns Array of plugin objects or undefined if no plugins
|
|
51
|
+
*/
|
|
52
|
+
_preparePlugins(plugins) {
|
|
53
|
+
return plugins.reduce((acc, plgName) => {
|
|
54
|
+
const plugin = this._chartPluginsRegistry.get(plgName);
|
|
55
|
+
if (plugin) {
|
|
56
|
+
return [...acc, plugin];
|
|
57
|
+
}
|
|
58
|
+
return acc;
|
|
59
|
+
}, []);
|
|
60
|
+
}
|
|
61
|
+
_getChartOptions(type, options, direction = 'horizontal') {
|
|
62
|
+
var _a;
|
|
63
|
+
const _optionsMap = {
|
|
64
|
+
verticalBar: getVerticalBarOptions,
|
|
65
|
+
horizontalBar: getHorizontalBarOptions,
|
|
66
|
+
doughnut: getDoughnutOptions,
|
|
67
|
+
line: getLineOptions,
|
|
68
|
+
pie: getPieOptions
|
|
69
|
+
};
|
|
70
|
+
const key = type === 'bar' ? `${direction}Bar` : type;
|
|
71
|
+
return ((_a = _optionsMap[key]) === null || _a === void 0 ? void 0 : _a.call(_optionsMap, options)) || {};
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
ReportConfigMapperService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ReportConfigMapperService, deps: [{ token: i1.ChartPluginsRegistry }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
75
|
+
ReportConfigMapperService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ReportConfigMapperService, providedIn: 'root' });
|
|
76
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ReportConfigMapperService, decorators: [{
|
|
77
|
+
type: Injectable,
|
|
78
|
+
args: [{
|
|
79
|
+
providedIn: 'root'
|
|
80
|
+
}]
|
|
81
|
+
}], ctorParameters: function () { return [{ type: i1.ChartPluginsRegistry }]; } });
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWNvbmZpZy1tYXBwZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvcmVwb3J0cy9uZGYtcmVwb3J0cy9zZXJ2aWNlcy9yZXBvcnQtY29uZmlnLW1hcHBlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBYTNDLE9BQU8sRUFBRSxVQUFVLEVBQTRCLE1BQU0sY0FBYyxDQUFDO0FBRXBFLE9BQU8sRUFDTixnQkFBZ0IsRUFDaEIsa0JBQWtCLEVBQ2xCLHVCQUF1QixFQUN2QixjQUFjLEVBQ2QsYUFBYSxFQUNiLHFCQUFxQixFQUNyQixNQUFNLFlBQVksQ0FBQzs7O0FBS3BCLE1BQU0sT0FBTyx5QkFBeUI7SUFDckMsWUFBNkIscUJBQTJDO1FBQTNDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBc0I7SUFBRyxDQUFDO0lBRTVFOzs7O09BSUc7SUFDSCxrQkFBa0IsQ0FBQyxNQUE0QjtRQUM5QyxNQUFNLEtBQThELE1BQU0sQ0FBQyxLQUFLLEVBQTFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsT0FBMEIsRUFBckIsSUFBSSxjQUF6RCwwREFBMkQsQ0FBZSxDQUFDO1FBRWpGLE1BQU0sS0FBSyxtQ0FDUCxJQUFJLEtBQ1AsU0FBUyxFQUFFLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxFQUN0QyxPQUFPLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxTQUFTLENBQUMsR0FDckUsQ0FBQztRQUVGLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNqRCxLQUFLLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDOUM7UUFFRCxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsR0FBRyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsRUFBRSxHQUFHLFVBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBRTlELE9BQU8sZ0NBQ0gsTUFBTSxLQUNULEtBQUssRUFBRSxLQUFLLEdBQ0UsQ0FBQztJQUNqQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILHNCQUFzQixDQUFDLE1BQWtDO1FBQ3hELE1BQU0sS0FBZ0MsTUFBTSxDQUFDLEtBQUssRUFBNUMsRUFBRSxPQUFPLEVBQUUsT0FBTyxPQUEwQixFQUFyQixJQUFJLGNBQTNCLHNCQUE2QixDQUFlLENBQUM7UUFFbkQsTUFBTSxLQUFLLG1DQUNQLElBQUksS0FDUCxPQUFPLEVBQUUsY0FBYyxDQUFDLE9BQU8sQ0FBQyxHQUNoQyxDQUFDO1FBQ0YsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ2pELEtBQUssQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUM5QztRQUNELE1BQU0sT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUEsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLE1BQU0sS0FBSSxFQUFFLENBQUMsRUFBRSxHQUFHLFVBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBRXZFLE9BQU8sZ0NBQ0gsTUFBTSxLQUNULE1BQU0sRUFBRSxPQUFPLEVBQ2YsS0FBSyxFQUFFLEtBQUssR0FDUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsa0JBQWtCLENBQUMsTUFBNEI7UUFDOUMsT0FBTyxNQUFvQixDQUFDO0lBQzdCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssZUFBZSxDQUFDLE9BQWlCO1FBQ3hDLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsRUFBRTtZQUN0QyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3ZELElBQUksTUFBTSxFQUFFO2dCQUNYLE9BQU8sQ0FBQyxHQUFHLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQzthQUN4QjtZQUNELE9BQU8sR0FBRyxDQUFDO1FBQ1osQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ1IsQ0FBQztJQUVPLGdCQUFnQixDQUN2QixJQUFlLEVBQ2YsT0FBcUIsRUFDckIsWUFBdUMsWUFBWTs7UUFFbkQsTUFBTSxXQUFXLEdBQUc7WUFDbkIsV0FBVyxFQUFFLHFCQUFxQjtZQUNsQyxhQUFhLEVBQUUsdUJBQXVCO1lBQ3RDLFFBQVEsRUFBRSxrQkFBa0I7WUFDNUIsSUFBSSxFQUFFLGNBQWM7WUFDcEIsR0FBRyxFQUFFLGFBQWE7U0FDbEIsQ0FBQztRQUVGLE1BQU0sR0FBRyxHQUFHLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUN0RCxPQUFPLENBQUEsTUFBQSxXQUFXLENBQUMsR0FBRyxDQUFDLCtDQUFoQixXQUFXLEVBQVEsT0FBTyxDQUFDLEtBQUksRUFBRSxDQUFDO0lBQzFDLENBQUM7O3VIQTVGVyx5QkFBeUI7MkhBQXpCLHlCQUF5QixjQUZ6QixNQUFNOzRGQUVOLHlCQUF5QjtrQkFIckMsVUFBVTttQkFBQztvQkFDWCxVQUFVLEVBQUUsTUFBTTtpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcblx0RGlnaXRDaGFydCxcclxuXHREaWdpdENoYXJ0RGVmaW5pdGlvbixcclxuXHREeW5hbWljTGluZUNoYXJ0LFxyXG5cdER5bmFtaWNMaW5lQ2hhcnREZWZpbml0aW9uLFxyXG5cdER5bmFtaWNMaW5lQ2hhcnRPcHRpb25zLFxyXG5cdEdyYXBoQ2hhcnQsXHJcblx0R3JhcGhDaGFydERlZmluaXRpb24sXHJcblx0R3JhcGhDaGFydE9wdGlvbnNcclxufSBmcm9tICcuLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBDaGFydFBsdWdpbnNSZWdpc3RyeSB9IGZyb20gJy4vY2hhcnQtcGx1Z2lucy1yZWdpc3RyeS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ2hhcnRPcHRpb25zLCBDaGFydFR5cGUsIFBsdWdpbiB9IGZyb20gJ2NoYXJ0LmpzJztcclxuaW1wb3J0IHsgQ2hhcnRVdGlscywgQ3VzdG9tUGx1Z2luQ2hhcnRPcHRpb25zIH0gZnJvbSAnLi4vLi4vY2hhcnRzJztcclxuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcclxuaW1wb3J0IHtcclxuXHRnZXRDaGFydHNPcHRpb25zLFxyXG5cdGdldERvdWdobnV0T3B0aW9ucyxcclxuXHRnZXRIb3Jpem9udGFsQmFyT3B0aW9ucyxcclxuXHRnZXRMaW5lT3B0aW9ucyxcclxuXHRnZXRQaWVPcHRpb25zLFxyXG5cdGdldFZlcnRpY2FsQmFyT3B0aW9uc1xyXG59IGZyb20gJy4uL29wdGlvbnMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG5cdHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUmVwb3J0Q29uZmlnTWFwcGVyU2VydmljZSB7XHJcblx0Y29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBfY2hhcnRQbHVnaW5zUmVnaXN0cnk6IENoYXJ0UGx1Z2luc1JlZ2lzdHJ5KSB7fVxyXG5cclxuXHQvKipcclxuXHQgKiBQcmVwYXJlcyBhIGdyYXBoIGNoYXJ0IGNvbmZpZ3VyYXRpb24gYnkgY29udmVydGluZyBwbHVnaW4gbmFtZXMgdG8gYWN0dWFsIHBsdWdpbiBvYmplY3RzXHJcblx0ICogQHBhcmFtIGNvbmZpZyBUaGUgZ3JhcGggY2hhcnQgZGVmaW5pdGlvblxyXG5cdCAqIEByZXR1cm5zIFRoZSBwcmVwYXJlZCBncmFwaCBjaGFydCB3aXRoIHBsdWdpbiBvYmplY3RzXHJcblx0ICovXHJcblx0cHJlcGFyZUdyYXBoQ29uZmlnKGNvbmZpZzogR3JhcGhDaGFydERlZmluaXRpb24pOiBHcmFwaENoYXJ0IHtcclxuXHRcdGNvbnN0IHsgcGx1Z2lucywgY29sb3JzLCBvcHRpb25zLCBkaXJlY3Rpb24sIG92ZXJyaWRlcywgLi4ucmVzdCB9ID0gY29uZmlnLmNoYXJ0O1xyXG5cclxuXHRcdGNvbnN0IGNoYXJ0OiBHcmFwaENoYXJ0T3B0aW9ucyA9IHtcclxuXHRcdFx0Li4ucmVzdCxcclxuXHRcdFx0b3ZlcnJpZGVzOiBnZXRDaGFydHNPcHRpb25zKG92ZXJyaWRlcyksXHJcblx0XHRcdG9wdGlvbnM6IHRoaXMuX2dldENoYXJ0T3B0aW9ucyhjb25maWcuY2hhcnQudHlwZSwgb3B0aW9ucywgZGlyZWN0aW9uKVxyXG5cdFx0fTtcclxuXHJcblx0XHRpZiAoQXJyYXkuaXNBcnJheShwbHVnaW5zKSAmJiBwbHVnaW5zLmxlbmd0aCA+IDApIHtcclxuXHRcdFx0Y2hhcnQucGx1Z2lucyA9IHRoaXMuX3ByZXBhcmVQbHVnaW5zKHBsdWdpbnMpO1xyXG5cdFx0fVxyXG5cclxuXHRcdGNoYXJ0LmNvbG9ycyA9IFsuLi4oY29sb3JzIHx8IFtdKSwgLi4uQ2hhcnRVdGlscy5nZXRDb2xvcnMoKV07XHJcblxyXG5cdFx0cmV0dXJuIHtcclxuXHRcdFx0Li4uY29uZmlnLFxyXG5cdFx0XHRjaGFydDogY2hhcnRcclxuXHRcdH0gYXMgR3JhcGhDaGFydDtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFByZXBhcmVzIGEgZHluYW1pYyBsaW5lIGNoYXJ0IGNvbmZpZ3VyYXRpb24gYnkgY29udmVydGluZyBwbHVnaW4gbmFtZXMgdG8gYWN0dWFsIHBsdWdpbiBvYmplY3RzXHJcblx0ICogQHBhcmFtIGNvbmZpZyBUaGUgZHluYW1pYyBsaW5lIGNoYXJ0IGRlZmluaXRpb25cclxuXHQgKiBAcmV0dXJucyBUaGUgcHJlcGFyZWQgZHluYW1pYyBsaW5lIGNoYXJ0IHdpdGggcGx1Z2luIG9iamVjdHNcclxuXHQgKi9cclxuXHRwcmVwYXJlR3JhcGhMaW5lQ29uZmlnKGNvbmZpZzogRHluYW1pY0xpbmVDaGFydERlZmluaXRpb24pOiBEeW5hbWljTGluZUNoYXJ0IHtcclxuXHRcdGNvbnN0IHsgcGx1Z2lucywgb3B0aW9ucywgLi4ucmVzdCB9ID0gY29uZmlnLmNoYXJ0O1xyXG5cclxuXHRcdGNvbnN0IGNoYXJ0OiBEeW5hbWljTGluZUNoYXJ0T3B0aW9ucyA9IHtcclxuXHRcdFx0Li4ucmVzdCxcclxuXHRcdFx0b3B0aW9uczogZ2V0TGluZU9wdGlvbnMob3B0aW9ucylcclxuXHRcdH07XHJcblx0XHRpZiAoQXJyYXkuaXNBcnJheShwbHVnaW5zKSAmJiBwbHVnaW5zLmxlbmd0aCA+IDApIHtcclxuXHRcdFx0Y2hhcnQucGx1Z2lucyA9IHRoaXMuX3ByZXBhcmVQbHVnaW5zKHBsdWdpbnMpO1xyXG5cdFx0fVxyXG5cdFx0Y29uc3QgX2NvbG9ycyA9IFsuLi4oY29uZmlnPy5jb2xvcnMgfHwgW10pLCAuLi5DaGFydFV0aWxzLmdldENvbG9ycygpXTtcclxuXHJcblx0XHRyZXR1cm4ge1xyXG5cdFx0XHQuLi5jb25maWcsXHJcblx0XHRcdGNvbG9yczogX2NvbG9ycyxcclxuXHRcdFx0Y2hhcnQ6IGNoYXJ0XHJcblx0XHR9IGFzIER5bmFtaWNMaW5lQ2hhcnQ7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBQcmVwYXJlcyBhIGRpZ2l0IGNoYXJ0IGNvbmZpZ3VyYXRpb25cclxuXHQgKiBAcGFyYW0gY29uZmlnIFRoZSBkaWdpdCBjaGFydCBkZWZpbml0aW9uXHJcblx0ICogQHJldHVybnMgVGhlIHByZXBhcmVkIGRpZ2l0IGNoYXJ0IChjdXJyZW50bHkganVzdCByZXR1cm5zIHRoZSBpbnB1dCBhcyBpcylcclxuXHQgKi9cclxuXHRwcmVwYXJlRGlnaXRDb25maWcoY29uZmlnOiBEaWdpdENoYXJ0RGVmaW5pdGlvbik6IERpZ2l0Q2hhcnQge1xyXG5cdFx0cmV0dXJuIGNvbmZpZyBhcyBEaWdpdENoYXJ0O1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogQ29udmVydHMgYW4gYXJyYXkgb2YgcGx1Z2luIG5hbWVzIHRvIGFuIGFycmF5IG9mIHBsdWdpbiBvYmplY3RzXHJcblx0ICogQHBhcmFtIHBsdWdpbnMgQXJyYXkgb2YgcGx1Z2luIG5hbWVzXHJcblx0ICogQHJldHVybnMgQXJyYXkgb2YgcGx1Z2luIG9iamVjdHMgb3IgdW5kZWZpbmVkIGlmIG5vIHBsdWdpbnNcclxuXHQgKi9cclxuXHRwcml2YXRlIF9wcmVwYXJlUGx1Z2lucyhwbHVnaW5zOiBzdHJpbmdbXSk6IHVuZGVmaW5lZCB8IFBsdWdpbjxDaGFydFR5cGU+W10ge1xyXG5cdFx0cmV0dXJuIHBsdWdpbnMucmVkdWNlKChhY2MsIHBsZ05hbWUpID0+IHtcclxuXHRcdFx0Y29uc3QgcGx1Z2luID0gdGhpcy5fY2hhcnRQbHVnaW5zUmVnaXN0cnkuZ2V0KHBsZ05hbWUpO1xyXG5cdFx0XHRpZiAocGx1Z2luKSB7XHJcblx0XHRcdFx0cmV0dXJuIFsuLi5hY2MsIHBsdWdpbl07XHJcblx0XHRcdH1cclxuXHRcdFx0cmV0dXJuIGFjYztcclxuXHRcdH0sIFtdKTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX2dldENoYXJ0T3B0aW9ucyhcclxuXHRcdHR5cGU6IENoYXJ0VHlwZSxcclxuXHRcdG9wdGlvbnM6IENoYXJ0T3B0aW9ucyxcclxuXHRcdGRpcmVjdGlvbjogJ2hvcml6b250YWwnIHwgJ3ZlcnRpY2FsJyA9ICdob3Jpem9udGFsJ1xyXG5cdCkge1xyXG5cdFx0Y29uc3QgX29wdGlvbnNNYXAgPSB7XHJcblx0XHRcdHZlcnRpY2FsQmFyOiBnZXRWZXJ0aWNhbEJhck9wdGlvbnMsXHJcblx0XHRcdGhvcml6b250YWxCYXI6IGdldEhvcml6b250YWxCYXJPcHRpb25zLFxyXG5cdFx0XHRkb3VnaG51dDogZ2V0RG91Z2hudXRPcHRpb25zLFxyXG5cdFx0XHRsaW5lOiBnZXRMaW5lT3B0aW9ucyxcclxuXHRcdFx0cGllOiBnZXRQaWVPcHRpb25zXHJcblx0XHR9O1xyXG5cclxuXHRcdGNvbnN0IGtleSA9IHR5cGUgPT09ICdiYXInID8gYCR7ZGlyZWN0aW9ufUJhcmAgOiB0eXBlO1xyXG5cdFx0cmV0dXJuIF9vcHRpb25zTWFwW2tleV0/LihvcHRpb25zKSB8fCB7fTtcclxuXHR9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import _ from 'lodash';
|
|
3
|
+
import { forkJoin, of } from 'rxjs';
|
|
4
|
+
import { map } from 'rxjs/operators';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "../../../../core/services";
|
|
7
|
+
export class ReportTransformService {
|
|
8
|
+
constructor(_ndfTransformService) {
|
|
9
|
+
this._ndfTransformService = _ndfTransformService;
|
|
10
|
+
}
|
|
11
|
+
_extractDataFormats(data) {
|
|
12
|
+
const extractedData = _.flatMap(data, (item) => {
|
|
13
|
+
if (Array.isArray(item === null || item === void 0 ? void 0 : item.datasource)) {
|
|
14
|
+
return _.filter(item.datasource, (source) => source.dataFormat);
|
|
15
|
+
}
|
|
16
|
+
return [];
|
|
17
|
+
});
|
|
18
|
+
return _.groupBy(extractedData, 'dataFormat');
|
|
19
|
+
}
|
|
20
|
+
prepareData(reportData, config) {
|
|
21
|
+
var _a;
|
|
22
|
+
const fields = this._extractDataFormats(config.reports.items);
|
|
23
|
+
if (!((_a = Object.values(fields)) === null || _a === void 0 ? void 0 : _a.length)) {
|
|
24
|
+
return of(reportData);
|
|
25
|
+
}
|
|
26
|
+
const observables$ = Object.entries(fields).map(([key, value]) => {
|
|
27
|
+
return this._transformDataFormat(key, value, reportData);
|
|
28
|
+
});
|
|
29
|
+
return forkJoin(observables$).pipe(map((data) => {
|
|
30
|
+
return this._updateBuckets(data, reportData);
|
|
31
|
+
}));
|
|
32
|
+
}
|
|
33
|
+
_updateBuckets(data, reportData) {
|
|
34
|
+
if (!(data === null || data === void 0 ? void 0 : data.length)) {
|
|
35
|
+
return reportData;
|
|
36
|
+
}
|
|
37
|
+
data.forEach((localizedBuckets) => {
|
|
38
|
+
localizedBuckets.forEach((item) => {
|
|
39
|
+
_.set(reportData, item.propertyPath, item.buckets);
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
return reportData;
|
|
43
|
+
}
|
|
44
|
+
_key(k) {
|
|
45
|
+
return `${k}`.split('/').pop();
|
|
46
|
+
}
|
|
47
|
+
_transformDataFormat(dataFormat, values, reportData) {
|
|
48
|
+
if (!this._ndfTransformService.has(dataFormat)) {
|
|
49
|
+
throw new Error(`No transformer defined for type: ${dataFormat}`);
|
|
50
|
+
}
|
|
51
|
+
const formats = this._extractBuckets(values, reportData);
|
|
52
|
+
const keys = this._getUniqueKeysFromFormats(formats);
|
|
53
|
+
if (keys.length) {
|
|
54
|
+
return this._ndfTransformService
|
|
55
|
+
.transform(dataFormat, keys)
|
|
56
|
+
.pipe(map((response) => this._applyLocalization(formats, response)));
|
|
57
|
+
}
|
|
58
|
+
return of([]);
|
|
59
|
+
}
|
|
60
|
+
_getUniqueKeysFromFormats(formats) {
|
|
61
|
+
return _.uniq(_.flatMap(formats, (item) => _.map(item.buckets, (bk) => this._key(bk.key))));
|
|
62
|
+
}
|
|
63
|
+
_extractBuckets(values, reportData) {
|
|
64
|
+
return values
|
|
65
|
+
.map((value) => {
|
|
66
|
+
const buckets = _.get(reportData, value.propertyPath);
|
|
67
|
+
if (buckets === null || buckets === void 0 ? void 0 : buckets.length) {
|
|
68
|
+
return Object.assign(Object.assign({}, value), { buckets: buckets });
|
|
69
|
+
}
|
|
70
|
+
})
|
|
71
|
+
.filter(Boolean);
|
|
72
|
+
}
|
|
73
|
+
_applyLocalization(formats, response) {
|
|
74
|
+
return !!(response === null || response === void 0 ? void 0 : response.length)
|
|
75
|
+
? formats.map((format) => {
|
|
76
|
+
format.buckets.forEach((bucket) => {
|
|
77
|
+
const cacheItem = _.find(response, { code: this._key(bucket.key) });
|
|
78
|
+
if (cacheItem) {
|
|
79
|
+
bucket.localized = {
|
|
80
|
+
ar: cacheItem.arabicTitle,
|
|
81
|
+
en: cacheItem.englishTitle
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
return format;
|
|
86
|
+
})
|
|
87
|
+
: [];
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
ReportTransformService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ReportTransformService, deps: [{ token: i1.NdfTransformService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
91
|
+
ReportTransformService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ReportTransformService, providedIn: 'root' });
|
|
92
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ReportTransformService, decorators: [{
|
|
93
|
+
type: Injectable,
|
|
94
|
+
args: [{
|
|
95
|
+
providedIn: 'root'
|
|
96
|
+
}]
|
|
97
|
+
}], ctorParameters: function () { return [{ type: i1.NdfTransformService }]; } });
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LXRyYW5zZm9ybS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9yZXBvcnRzL25kZi1yZXBvcnRzL3NlcnZpY2VzL3JlcG9ydC10cmFuc2Zvcm0uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQVdyQyxNQUFNLE9BQU8sc0JBQXNCO0lBQ2xDLFlBQTZCLG9CQUF5QztRQUF6Qyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXFCO0lBQUcsQ0FBQztJQUVsRSxtQkFBbUIsQ0FBQyxJQUE2QjtRQUN4RCxNQUFNLGFBQWEsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFO1lBQzlDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsVUFBVSxDQUFDLEVBQUU7Z0JBQ3BDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDaEU7WUFDRCxPQUFPLEVBQUUsQ0FBQztRQUNYLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsV0FBVyxDQUFDLFVBQTRCLEVB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O0lBQ1AsQ0FBQzs7b0hBM0dXLHNCQUFzQjt3SEFBdEIsc0JBQXNCLGNBRnRCLE1BQU07NEZBRU4sc0JBQXNCO2tCQUhsQyxVQUFVO21CQUFDO29CQUNYLFVBQVUsRUFBRSxNQUFNO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XHJcbmltcG9ydCB7IGZvcmtKb2luLCBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEFwaVJlc3BvbnNlTW9kZWwsIEVudHJ5TW9kZWwgfSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL21vZGVscyc7XHJcbmltcG9ydCB7IE5kZlRyYW5zZm9ybVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgU3RhdGlzdGljQnVja2V0IH0gZnJvbSAnLi4vLi4vY2hhcnRzJztcclxuaW1wb3J0IHsgTmRmUmVwb3J0c0NvbmZpZywgUmVwb3J0RGVmaW5pdGlvbk1vZGVsLCBSZXBvcnREYXRhU291cmNlIH0gZnJvbSAnLi4vbW9kZWxzJztcclxuXHJcbnR5cGUgTG9jYWxpemVTdGF0aXN0aWNCdWNrZXQgPSBTdGF0aXN0aWNCdWNrZXQgJiB7IGVuOiBzdHJpbmc7IGFyOiBzdHJpbmcgfTtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuXHRwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFJlcG9ydFRyYW5zZm9ybVNlcnZpY2Uge1xyXG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgX25kZlRyYW5zZm9ybVNlcnZpY2U6IE5kZlRyYW5zZm9ybVNlcnZpY2UpIHt9XHJcblxyXG5cdHByaXZhdGUgX2V4dHJhY3REYXRhRm9ybWF0cyhkYXRhOiBSZXBvcnREZWZpbml0aW9uTW9kZWxbXSkge1xyXG5cdFx0Y29uc3QgZXh0cmFjdGVkRGF0YSA9IF8uZmxhdE1hcChkYXRhLCAoaXRlbSkgPT4ge1xyXG5cdFx0XHRpZiAoQXJyYXkuaXNBcnJheShpdGVtPy5kYXRhc291cmNlKSkge1xyXG5cdFx0XHRcdHJldHVybiBfLmZpbHRlcihpdGVtLmRhdGFzb3VyY2UsIChzb3VyY2UpID0+IHNvdXJjZS5kYXRhRm9ybWF0KTtcclxuXHRcdFx0fVxyXG5cdFx0XHRyZXR1cm4gW107XHJcblx0XHR9KTtcclxuXHRcdHJldHVybiBfLmdyb3VwQnkoZXh0cmFjdGVkRGF0YSwgJ2RhdGFGb3JtYXQnKTtcclxuXHR9XHJcblxyXG5cdHByZXBhcmVEYXRhKHJlcG9ydERhdGE6IEFwaVJlc3BvbnNlTW9kZWwsIGNvbmZpZzogTmRmUmVwb3J0c0NvbmZpZykge1xyXG5cdFx0Y29uc3QgZmllbGRzID0gdGhpcy5fZXh0cmFjdERhdGFGb3JtYXRzKGNvbmZpZy5yZXBvcnRzLml0ZW1zKTtcclxuXHJcblx0XHRpZiAoIU9iamVjdC52YWx1ZXMoZmllbGRzKT8ubGVuZ3RoKSB7XHJcblx0XHRcdHJldHVybiBvZihyZXBvcnREYXRhKTtcclxuXHRcdH1cclxuXHJcblx0XHRjb25zdCBvYnNlcnZhYmxlcyQgPSBPYmplY3QuZW50cmllcyhmaWVsZHMpLm1hcCgoW2tleSwgdmFsdWVdKSA9PiB7XHJcblx0XHRcdHJldHVybiB0aGlzLl90cmFuc2Zvcm1EYXRhRm9ybWF0KGtleSwgdmFsdWUgYXMgYW55LCByZXBvcnREYXRhKTtcclxuXHRcdH0pO1xyXG5cclxuXHRcdHJldHVybiBmb3JrSm9pbihvYnNlcnZhYmxlcyQpLnBpcGUoXHJcblx0XHRcdG1hcCgoZGF0YSkgPT4ge1xyXG5cdFx0XHRcdHJldHVybiB0aGlzLl91cGRhdGVCdWNrZXRzKGRhdGEsIHJlcG9ydERhdGEpO1xyXG5cdFx0XHR9KVxyXG5cdFx0KTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX3VwZGF0ZUJ1Y2tldHMoZGF0YTogTG9jYWxpemVTdGF0aXN0aWNCdWNrZXRbXVtdLCByZXBvcnREYXRhOiBBcGlSZXNwb25zZU1vZGVsPEVudHJ5TW9kZWw+KTogYW55IHtcclxuXHRcdGlmICghZGF0YT8ubGVuZ3RoKSB7XHJcblx0XHRcdHJldHVybiByZXBvcnREYXRhO1xyXG5cdFx0fVxyXG5cclxuXHRcdGRhdGEuZm9yRWFjaCgobG9jYWxpemVkQnVja2V0cykgPT4ge1xyXG5cdFx0XHRsb2NhbGl6ZWRCdWNrZXRzLmZvckVhY2goKGl0ZW0pID0+IHtcclxuXHRcdFx0XHRfLnNldChyZXBvcnREYXRhLCBpdGVtLnByb3BlcnR5UGF0aCwgaXRlbS5idWNrZXRzKTtcclxuXHRcdFx0fSk7XHJcblx0XHR9KTtcclxuXHJcblx0XHRyZXR1cm4gcmVwb3J0RGF0YTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX2tleShrOiBzdHJpbmcpIHtcclxuXHRcdHJldHVybiBgJHtrfWAuc3BsaXQoJy8nKS5wb3AoKTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX3RyYW5zZm9ybURhdGFGb3JtYXQoXHJcblx0XHRkYXRhRm9ybWF0OiBzdHJpbmcsXHJcblx0XHR2YWx1ZXM6IFBpY2s8UmVwb3J0RGF0YVNvdXJjZSwgJ3Byb3BlcnR5UGF0aCcgfCAnZGF0YUZvcm1hdCc+W10sXHJcblx0XHRyZXBvcnREYXRhOiBBcGlSZXNwb25zZU1vZGVsXHJcblx0KSB7XHJcblx0XHRpZiAoIXRoaXMuX25kZlRyYW5zZm9ybVNlcnZpY2UuaGFzKGRhdGFGb3JtYXQpKSB7XHJcblx0XHRcdHRocm93IG5ldyBFcnJvcihgTm8gdHJhbnNmb3JtZXIgZGVmaW5lZCBmb3IgdHlwZTogJHtkYXRhRm9ybWF0fWApO1xyXG5cdFx0fVxyXG5cclxuXHRcdGNvbnN0IGZvcm1hdHMgPSB0aGlzLl9leHRyYWN0QnVja2V0cyh2YWx1ZXMsIHJlcG9ydERhdGEpO1xyXG5cclxuXHRcdGNvbnN0IGtleXMgPSB0aGlzLl9nZXRVbmlxdWVLZXlzRnJvbUZvcm1hdHMoZm9ybWF0cyk7XHJcblxyXG5cdFx0aWYgKGtleXMubGVuZ3RoKSB7XHJcblx0XHRcdHJldHVybiB0aGlzLl9uZGZUcmFuc2Zvcm1TZXJ2aWNlXHJcblx0XHRcdFx0LnRyYW5zZm9ybShkYXRhRm9ybWF0LCBrZXlzKVxyXG5cdFx0XHRcdC5waXBlKG1hcCgocmVzcG9uc2UpID0+IHRoaXMuX2FwcGx5TG9jYWxpemF0aW9uKGZvcm1hdHMsIHJlc3BvbnNlKSkpO1xyXG5cdFx0fVxyXG5cclxuXHRcdHJldHVybiBvZihbXSk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIF9nZXRVbmlxdWVLZXlzRnJvbUZvcm1hdHMoZm9ybWF0czogYW55W10pIHtcclxuXHRcdHJldHVybiBfLnVuaXEoXy5mbGF0TWFwKGZvcm1hdHMsIChpdGVtKSA9PiBfLm1hcChpdGVtLmJ1Y2tldHMsIChiaykgPT4gdGhpcy5fa2V5KGJrLmtleSkpKSk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIF9leHRyYWN0QnVja2V0cyhcclxuXHRcdHZhbHVlczogUGljazxSZXBvcnREYXRhU291cmNlLCAncHJvcGVydHlQYXRoJyB8ICdkYXRhRm9ybWF0Jz5bXSxcclxuXHRcdHJlcG9ydERhdGE6IEFwaVJlc3BvbnNlTW9kZWxcclxuXHQpIHtcclxuXHRcdHJldHVybiB2YWx1ZXNcclxuXHRcdFx0Lm1hcCgodmFsdWUpID0+IHtcclxuXHRcdFx0XHRjb25zdCBidWNrZXRzOiBTdGF0aXN0aWNCdWNrZXRbXSA9IF8uZ2V0KHJlcG9ydERhdGEsIHZhbHVlLnByb3BlcnR5UGF0aCk7XHJcblx0XHRcdFx0aWYgKGJ1Y2tldHM/Lmxlbmd0aCkge1xyXG5cdFx0XHRcdFx0cmV0dXJuIHtcclxuXHRcdFx0XHRcdFx0Li4udmFsdWUsXHJcblx0XHRcdFx0XHRcdGJ1Y2tldHM6IGJ1Y2tldHNcclxuXHRcdFx0XHRcdH07XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9KVxyXG5cdFx0XHQuZmlsdGVyKEJvb2xlYW4pO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBfYXBwbHlMb2NhbGl6YXRpb24oZm9ybWF0czogYW55W10sIHJlc3BvbnNlOiBhbnlbXSkge1xyXG5cdFx0cmV0dXJuICEhcmVzcG9uc2U/Lmxlbmd0aFxyXG5cdFx0XHQ/IGZvcm1hdHMubWFwKChmb3JtYXQpID0+IHtcclxuXHRcdFx0XHRcdGZvcm1hdC5idWNrZXRzLmZvckVhY2goKGJ1Y2tldCkgPT4ge1xyXG5cdFx0XHRcdFx0XHRjb25zdCBjYWNoZUl0ZW0gPSBfLmZpbmQocmVzcG9uc2UsIHsgY29kZTogdGhpcy5fa2V5KGJ1Y2tldC5rZXkpIH0pO1xyXG5cdFx0XHRcdFx0XHRpZiAoY2FjaGVJdGVtKSB7XHJcblx0XHRcdFx0XHRcdFx0YnVja2V0LmxvY2FsaXplZCA9IHtcclxuXHRcdFx0XHRcdFx0XHRcdGFyOiBjYWNoZUl0ZW0uYXJhYmljVGl0bGUsXHJcblx0XHRcdFx0XHRcdFx0XHRlbjogY2FjaGVJdGVtLmVuZ2xpc2hUaXRsZVxyXG5cdFx0XHRcdFx0XHRcdH07XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0cmV0dXJuIGZvcm1hdDtcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHQ6IFtdO1xyXG5cdH1cclxufVxyXG4iXX0=
|