@agorapulse/ui-charts 2.5.0 → 13.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/agorapulse-ui-charts-13.0.2.tgz +0 -0
  2. package/agorapulse-ui-charts.d.ts +1 -0
  3. package/{esm2015/agorapulse-ui-charts.js → esm2020/agorapulse-ui-charts.mjs} +0 -0
  4. package/{esm2015/index.js → esm2020/index.mjs} +0 -0
  5. package/esm2020/src/lib/agorapulse-ui-charts.module.mjs +60 -0
  6. package/esm2020/src/lib/chart-bar/chart-bar-options.model.mjs +80 -0
  7. package/esm2020/src/lib/chart-bar/chart-bar.component.mjs +58 -0
  8. package/{esm2015/src/lib/chart-colors.js → esm2020/src/lib/chart-colors.mjs} +0 -0
  9. package/esm2020/src/lib/chart-column/chart-column-options.model.mjs +104 -0
  10. package/esm2020/src/lib/chart-column/chart-column.component.mjs +59 -0
  11. package/{esm2015/src/lib/chart-heatmap/chart-heatmap-options.model.js → esm2020/src/lib/chart-heatmap/chart-heatmap-options.model.mjs} +0 -0
  12. package/esm2020/src/lib/chart-heatmap/chart-heatmap.component.mjs +55 -0
  13. package/{esm2015/src/lib/chart-metric.js → esm2020/src/lib/chart-metric.mjs} +0 -0
  14. package/esm2020/src/lib/chart-metrics-list/chart-metrics-list.component.mjs +23 -0
  15. package/{esm2015/src/lib/chart-options.js → esm2020/src/lib/chart-options.mjs} +0 -0
  16. package/esm2020/src/lib/chart-pie/chart-pie-options.model.mjs +121 -0
  17. package/esm2020/src/lib/chart-pie/chart-pie.component.mjs +56 -0
  18. package/{esm2015/src/lib/chart-spline/chart-spline-options.model.js → esm2020/src/lib/chart-spline/chart-spline-options.model.mjs} +0 -0
  19. package/esm2020/src/lib/chart-spline/chart-spline.component.mjs +53 -0
  20. package/{esm2015/src/lib/highchart-series.model.js → esm2020/src/lib/highchart-series.model.mjs} +0 -0
  21. package/{esm2015/src/lib/highcharts-border-radius-plugin.js → esm2020/src/lib/highcharts-border-radius-plugin.mjs} +0 -0
  22. package/fesm2015/{agorapulse-ui-charts.js → agorapulse-ui-charts.mjs} +171 -123
  23. package/fesm2015/agorapulse-ui-charts.mjs.map +1 -0
  24. package/fesm2020/agorapulse-ui-charts.mjs +1089 -0
  25. package/fesm2020/agorapulse-ui-charts.mjs.map +1 -0
  26. package/package.json +26 -14
  27. package/src/lib/agorapulse-ui-charts.module.d.ts +13 -0
  28. package/src/lib/chart-bar/chart-bar.component.d.ts +3 -0
  29. package/src/lib/chart-column/chart-column.component.d.ts +3 -0
  30. package/src/lib/chart-heatmap/chart-heatmap.component.d.ts +3 -0
  31. package/src/lib/chart-metrics-list/chart-metrics-list.component.d.ts +3 -0
  32. package/src/lib/chart-pie/chart-pie.component.d.ts +3 -0
  33. package/src/lib/chart-spline/chart-spline.component.d.ts +3 -0
  34. package/agorapulse-ui-charts-2.5.0.tgz +0 -0
  35. package/agorapulse-ui-charts.metadata.json +0 -1
  36. package/bundles/agorapulse-ui-charts.umd.js +0 -1437
  37. package/bundles/agorapulse-ui-charts.umd.js.map +0 -1
  38. package/esm2015/src/lib/agorapulse-ui-charts.module.js +0 -39
  39. package/esm2015/src/lib/chart-bar/chart-bar-options.model.js +0 -77
  40. package/esm2015/src/lib/chart-bar/chart-bar.component.js +0 -51
  41. package/esm2015/src/lib/chart-column/chart-column-options.model.js +0 -103
  42. package/esm2015/src/lib/chart-column/chart-column.component.js +0 -53
  43. package/esm2015/src/lib/chart-heatmap/chart-heatmap.component.js +0 -49
  44. package/esm2015/src/lib/chart-metrics-list/chart-metrics-list.component.js +0 -21
  45. package/esm2015/src/lib/chart-pie/chart-pie-options.model.js +0 -122
  46. package/esm2015/src/lib/chart-pie/chart-pie.component.js +0 -50
  47. package/esm2015/src/lib/chart-spline/chart-spline.component.js +0 -49
  48. package/fesm2015/agorapulse-ui-charts.js.map +0 -1
Binary file
@@ -1,4 +1,5 @@
1
1
  /**
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
+ /// <amd-module name="@agorapulse/ui-charts" />
4
5
  export * from './index';
File without changes
@@ -0,0 +1,60 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { MatListModule } from '@angular/material/list';
4
+ import { HighchartsChartModule } from 'highcharts-angular';
5
+ import { ChartBarComponent } from './chart-bar/chart-bar.component';
6
+ import { ChartColumnComponent } from './chart-column/chart-column.component';
7
+ import { ChartMetricsListComponent } from './chart-metrics-list/chart-metrics-list.component';
8
+ import { ChartHeatmapComponent } from './chart-heatmap/chart-heatmap.component';
9
+ import { ChartSplineComponent } from './chart-spline/chart-spline.component';
10
+ import { ChartPieComponent } from './chart-pie/chart-pie.component';
11
+ import * as i0 from "@angular/core";
12
+ export class AgorapulseUiChartsModule {
13
+ }
14
+ /** @nocollapse */ /** @nocollapse */ AgorapulseUiChartsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: AgorapulseUiChartsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
15
+ /** @nocollapse */ /** @nocollapse */ AgorapulseUiChartsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: AgorapulseUiChartsModule, declarations: [ChartBarComponent,
16
+ ChartColumnComponent,
17
+ ChartHeatmapComponent,
18
+ ChartMetricsListComponent,
19
+ ChartSplineComponent,
20
+ ChartPieComponent], imports: [CommonModule,
21
+ HighchartsChartModule,
22
+ MatListModule], exports: [ChartBarComponent,
23
+ ChartColumnComponent,
24
+ ChartHeatmapComponent,
25
+ ChartMetricsListComponent,
26
+ ChartSplineComponent,
27
+ ChartPieComponent] });
28
+ /** @nocollapse */ /** @nocollapse */ AgorapulseUiChartsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: AgorapulseUiChartsModule, providers: [], imports: [[
29
+ CommonModule,
30
+ HighchartsChartModule,
31
+ MatListModule
32
+ ]] });
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: AgorapulseUiChartsModule, decorators: [{
34
+ type: NgModule,
35
+ args: [{
36
+ declarations: [
37
+ ChartBarComponent,
38
+ ChartColumnComponent,
39
+ ChartHeatmapComponent,
40
+ ChartMetricsListComponent,
41
+ ChartSplineComponent,
42
+ ChartPieComponent
43
+ ],
44
+ imports: [
45
+ CommonModule,
46
+ HighchartsChartModule,
47
+ MatListModule
48
+ ],
49
+ exports: [
50
+ ChartBarComponent,
51
+ ChartColumnComponent,
52
+ ChartHeatmapComponent,
53
+ ChartMetricsListComponent,
54
+ ChartSplineComponent,
55
+ ChartPieComponent
56
+ ],
57
+ providers: []
58
+ }]
59
+ }] });
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdvcmFwdWxzZS11aS1jaGFydHMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jaGFydHMvc3JjL2xpYi9hZ29yYXB1bHNlLXVpLWNoYXJ0cy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBRXpELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQzNFLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBQzVGLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQzlFLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQzNFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGlDQUFpQyxDQUFDOztBQTJCbEUsTUFBTSxPQUFPLHdCQUF3Qjs7MkpBQXhCLHdCQUF3Qjs0SkFBeEIsd0JBQXdCLGlCQXZCN0IsaUJBQWlCO1FBQ2pCLG9CQUFvQjtRQUNwQixxQkFBcUI7UUFDckIseUJBQXlCO1FBQ3pCLG9CQUFvQjtRQUNwQixpQkFBaUIsYUFHakIsWUFBWTtRQUNaLHFCQUFxQjtRQUNyQixhQUFhLGFBR2IsaUJBQWlCO1FBQ2pCLG9CQUFvQjtRQUNwQixxQkFBcUI7UUFDckIseUJBQXlCO1FBQ3pCLG9CQUFvQjtRQUNwQixpQkFBaUI7NEpBS1osd0JBQXdCLGFBSHRCLEVBQ1YsWUFkUTtZQUNMLFlBQVk7WUFDWixxQkFBcUI7WUFDckIsYUFBYTtTQUNoQjsyRkFZUSx3QkFBd0I7a0JBekJwQyxRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRTt3QkFDVixpQkFBaUI7d0JBQ2pCLG9CQUFvQjt3QkFDcEIscUJBQXFCO3dCQUNyQix5QkFBeUI7d0JBQ3pCLG9CQUFvQjt3QkFDcEIsaUJBQWlCO3FCQUNwQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixxQkFBcUI7d0JBQ3JCLGFBQWE7cUJBQ2hCO29CQUNELE9BQU8sRUFBRTt3QkFDTCxpQkFBaUI7d0JBQ2pCLG9CQUFvQjt3QkFDcEIscUJBQXFCO3dCQUNyQix5QkFBeUI7d0JBQ3pCLG9CQUFvQjt3QkFDcEIsaUJBQWlCO3FCQUNwQjtvQkFDRCxTQUFTLEVBQUUsRUFDVjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge01hdExpc3RNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xuaW1wb3J0IHtIaWdoY2hhcnRzQ2hhcnRNb2R1bGV9IGZyb20gJ2hpZ2hjaGFydHMtYW5ndWxhcic7XG5cbmltcG9ydCB7Q2hhcnRCYXJDb21wb25lbnR9IGZyb20gJy4vY2hhcnQtYmFyL2NoYXJ0LWJhci5jb21wb25lbnQnO1xuaW1wb3J0IHtDaGFydENvbHVtbkNvbXBvbmVudH0gZnJvbSAnLi9jaGFydC1jb2x1bW4vY2hhcnQtY29sdW1uLmNvbXBvbmVudCc7XG5pbXBvcnQge0NoYXJ0TWV0cmljc0xpc3RDb21wb25lbnR9IGZyb20gJy4vY2hhcnQtbWV0cmljcy1saXN0L2NoYXJ0LW1ldHJpY3MtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHtDaGFydEhlYXRtYXBDb21wb25lbnR9IGZyb20gJy4vY2hhcnQtaGVhdG1hcC9jaGFydC1oZWF0bWFwLmNvbXBvbmVudCc7XG5pbXBvcnQge0NoYXJ0U3BsaW5lQ29tcG9uZW50fSBmcm9tICcuL2NoYXJ0LXNwbGluZS9jaGFydC1zcGxpbmUuY29tcG9uZW50JztcbmltcG9ydCB7Q2hhcnRQaWVDb21wb25lbnR9IGZyb20gJy4vY2hhcnQtcGllL2NoYXJ0LXBpZS5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBDaGFydEJhckNvbXBvbmVudCxcbiAgICAgICAgQ2hhcnRDb2x1bW5Db21wb25lbnQsXG4gICAgICAgIENoYXJ0SGVhdG1hcENvbXBvbmVudCxcbiAgICAgICAgQ2hhcnRNZXRyaWNzTGlzdENvbXBvbmVudCxcbiAgICAgICAgQ2hhcnRTcGxpbmVDb21wb25lbnQsXG4gICAgICAgIENoYXJ0UGllQ29tcG9uZW50XG4gICAgXSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgSGlnaGNoYXJ0c0NoYXJ0TW9kdWxlLFxuICAgICAgICBNYXRMaXN0TW9kdWxlXG4gICAgXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIENoYXJ0QmFyQ29tcG9uZW50LFxuICAgICAgICBDaGFydENvbHVtbkNvbXBvbmVudCxcbiAgICAgICAgQ2hhcnRIZWF0bWFwQ29tcG9uZW50LFxuICAgICAgICBDaGFydE1ldHJpY3NMaXN0Q29tcG9uZW50LFxuICAgICAgICBDaGFydFNwbGluZUNvbXBvbmVudCxcbiAgICAgICAgQ2hhcnRQaWVDb21wb25lbnRcbiAgICBdLFxuICAgIHByb3ZpZGVyczogW1xuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgQWdvcmFwdWxzZVVpQ2hhcnRzTW9kdWxlIHtcbn1cbiJdfQ==
@@ -0,0 +1,80 @@
1
+ import { ChartOptions, mergeDeep } from '../chart-options';
2
+ export class ChartBarOptions extends ChartOptions {
3
+ static build(options) {
4
+ const seriesOptions = {
5
+ borderRadiusTopLeft: 100,
6
+ borderRadiusTopRight: 100,
7
+ borderWidth: 0
8
+ };
9
+ const defaultColumnOptions = {
10
+ chart: {
11
+ type: 'bar'
12
+ },
13
+ xAxis: {
14
+ categories: undefined,
15
+ gridLineWidth: 0,
16
+ lineWidth: 0,
17
+ reversed: false,
18
+ tickWidth: 0,
19
+ labels: {
20
+ align: 'center',
21
+ formatter() {
22
+ if (this.value && this.value.toString().length > 16) {
23
+ return this.value.toString().substring(0, 15) + '...';
24
+ }
25
+ return this.value.toString();
26
+ },
27
+ style: {
28
+ width: 100
29
+ }
30
+ },
31
+ type: 'category'
32
+ },
33
+ yAxis: {
34
+ type: 'linear',
35
+ minTickInterval: 1
36
+ },
37
+ plotOptions: {
38
+ bar: {
39
+ maxPointWidth: 18,
40
+ pointWidth: 20
41
+ },
42
+ series: seriesOptions
43
+ }
44
+ };
45
+ return super.build(mergeDeep(defaultColumnOptions, options));
46
+ }
47
+ static configureBar(series, categories, options, opposite, color, labelDateFormat) {
48
+ ChartOptions.configure(series, options, color, labelDateFormat);
49
+ if (categories && categories.length) {
50
+ options.xAxis.categories = categories;
51
+ }
52
+ if (opposite && series.length === 2) {
53
+ const negativeSerie = series[0];
54
+ negativeSerie.borderRadiusBottomLeft = 100;
55
+ negativeSerie.borderRadiusBottomRight = 100;
56
+ negativeSerie.borderRadiusTopLeft = 0;
57
+ negativeSerie.borderRadiusTopRight = 0;
58
+ negativeSerie.data = negativeSerie.data.map((point) => {
59
+ if (point && isNaN(point)) {
60
+ return {
61
+ ...point,
62
+ y: -Math.abs(point.y)
63
+ };
64
+ }
65
+ else if (!isNaN(point)) {
66
+ return -Math.abs(point);
67
+ }
68
+ return point;
69
+ });
70
+ options.plotOptions.series.stacking = 'normal';
71
+ options.yAxis.labels.formatter = function () {
72
+ return Math.abs(+this.value) + '%';
73
+ };
74
+ options.tooltip.pointFormatter = function () {
75
+ return `<div style="font-size: 14px; color: #344563; margin: 6px 8px 0 8px;"><span style="color:${this.color};">\u25CF</span> ${this.series.name}: <b>${Math.abs(this.y) + '%'}</b></div>`;
76
+ };
77
+ }
78
+ }
79
+ }
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtYmFyLW9wdGlvbnMubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpLWNoYXJ0cy9zcmMvbGliL2NoYXJ0LWJhci9jaGFydC1iYXItb3B0aW9ucy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFFLFNBQVMsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBS3pELE1BQU0sT0FBTyxlQUFnQixTQUFRLFlBQVk7SUFFN0MsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFnQjtRQUN6QixNQUFNLGFBQWEsR0FBNkI7WUFDNUMsbUJBQW1CLEVBQUUsR0FBRztZQUN4QixvQkFBb0IsRUFBRSxHQUFHO1lBQ3pCLFdBQVcsRUFBRSxDQUFDO1NBQ2pCLENBQUM7UUFDRixNQUFNLG9CQUFvQixHQUFZO1lBQ2xDLEtBQUssRUFBRTtnQkFDSCxJQUFJLEVBQUUsS0FBSzthQUNkO1lBQ0QsS0FBSyxFQUFFO2dCQUNILFVBQVUsRUFBRSxTQUFTO2dCQUNyQixhQUFhLEVBQUUsQ0FBQztnQkFDaEIsU0FBUyxFQUFFLENBQUM7Z0JBQ1osUUFBUSxFQUFFLEtBQUs7Z0JBQ2YsU0FBUyxFQUFFLENBQUM7Z0JBQ1osTUFBTSxFQUFFO29CQUNKLEtBQUssRUFBRSxRQUFRO29CQUNmLFNBQVM7d0JBQ0wsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTSxHQUFHLEVBQUUsRUFBRTs0QkFDakQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDO3lCQUN6RDt3QkFDRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7b0JBQ2pDLENBQUM7b0JBQ0QsS0FBSyxFQUFFO3dCQUNILEtBQUssRUFBRSxHQUFHO3FCQUNiO2lCQUNKO2dCQUNELElBQUksRUFBRSxVQUFVO2FBQ25CO1lBQ0QsS0FBSyxFQUFFO2dCQUNILElBQUksRUFBRSxRQUFRO2dCQUNkLGVBQWUsRUFBRSxDQUFDO2FBQ3JCO1lBQ0QsV0FBVyxFQUFFO2dCQUNULEdBQUcsRUFBRTtvQkFDRCxhQUFhLEVBQUUsRUFBRTtvQkFDakIsVUFBVSxFQUFFLEVBQUU7aUJBQ2pCO2dCQUNELE1BQU0sRUFBRSxhQUFhO2FBQ3hCO1NBQ0osQ0FBQztRQUNGLE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsb0JBQW9CLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUEwQixFQUMxQixVQUFvQixFQUNwQixPQUFnQixFQUNoQixRQUFpQixFQUNqQixLQUFpQixFQUNqQixlQUF3QjtRQUN4QyxZQUFZLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBQ2hFLElBQUksVUFBVSxJQUFJLFVBQVUsQ0FBQyxNQUFNLEVBQUU7WUFDaEMsT0FBTyxDQUFDLEtBQXNCLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztTQUMzRDtRQUNELElBQUksUUFBUSxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ2pDLE1BQU0sYUFBYSxHQUFJLE1BQU0sQ0FBQyxDQUFDLENBQTZCLENBQUM7WUFDN0QsYUFBYSxDQUFDLHNCQUFzQixHQUFHLEdBQUcsQ0FBQztZQUMzQyxhQUFhLENBQUMsdUJBQXVCLEdBQUcsR0FBRyxDQUFDO1lBQzVDLGFBQWEsQ0FBQyxtQkFBbUIsR0FBRyxDQUFDLENBQUM7WUFDdEMsYUFBYSxDQUFDLG9CQUFvQixHQUFHLENBQUMsQ0FBQztZQUN2QyxhQUFhLENBQUMsSUFBSSxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBVSxFQUFFLEVBQUU7Z0JBQ3ZELElBQUksS0FBSyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRTtvQkFDdkIsT0FBTzt3QkFDSCxHQUFHLEtBQUs7d0JBQ1IsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO3FCQUN4QixDQUFDO2lCQUNMO3FCQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7b0JBQ3RCLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUMzQjtnQkFDRCxPQUFPLEtBQUssQ0FBQztZQUNqQixDQUFDLENBQUMsQ0FBQztZQUNILE9BQU8sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7WUFDOUMsT0FBTyxDQUFDLEtBQXNCLENBQUMsTUFBTSxDQUFDLFNBQVMsR0FBRztnQkFDL0MsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsQ0FBQztZQUN2QyxDQUFDLENBQUM7WUFDRixPQUFPLENBQUMsT0FBTyxDQUFDLGNBQWMsR0FBRztnQkFDN0IsT0FBTywyRkFBMkYsSUFBSSxDQUFDLEtBQUssb0JBQW9CLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxRQUFRLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsWUFBWSxDQUFDO1lBQy9MLENBQUMsQ0FBQztTQUNMO0lBQ0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFydE9wdGlvbnMsIG1lcmdlRGVlcH0gZnJvbSAnLi4vY2hhcnQtb3B0aW9ucyc7XG5pbXBvcnQge09wdGlvbnMsIFNlcmllc0Jhck9wdGlvbnMsIFhBeGlzT3B0aW9ucywgWUF4aXNPcHRpb25zfSBmcm9tICdoaWdoY2hhcnRzJztcbmltcG9ydCB7UGxvdFJvdW5kZWRTZXJpZXNPcHRpb25zLCBTZXJpZXNSb3VuZGVkQmFyT3B0aW9uc30gZnJvbSAnLi8uLi9oaWdoY2hhcnQtc2VyaWVzLm1vZGVsJztcbmltcG9ydCB7Q2hhcnRDb2xvcn0gZnJvbSAnLi8uLi9jaGFydC1jb2xvcnMnO1xuXG5leHBvcnQgY2xhc3MgQ2hhcnRCYXJPcHRpb25zIGV4dGVuZHMgQ2hhcnRPcHRpb25zIHtcblxuICAgIHN0YXRpYyBidWlsZChvcHRpb25zOiBPcHRpb25zKTogT3B0aW9ucyB7XG4gICAgICAgIGNvbnN0IHNlcmllc09wdGlvbnM6IFBsb3RSb3VuZGVkU2VyaWVzT3B0aW9ucyA9IHtcbiAgICAgICAgICAgIGJvcmRlclJhZGl1c1RvcExlZnQ6IDEwMCxcbiAgICAgICAgICAgIGJvcmRlclJhZGl1c1RvcFJpZ2h0OiAxMDAsXG4gICAgICAgICAgICBib3JkZXJXaWR0aDogMFxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBkZWZhdWx0Q29sdW1uT3B0aW9uczogT3B0aW9ucyA9IHtcbiAgICAgICAgICAgIGNoYXJ0OiB7XG4gICAgICAgICAgICAgICAgdHlwZTogJ2JhcidcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB4QXhpczoge1xuICAgICAgICAgICAgICAgIGNhdGVnb3JpZXM6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICBncmlkTGluZVdpZHRoOiAwLFxuICAgICAgICAgICAgICAgIGxpbmVXaWR0aDogMCxcbiAgICAgICAgICAgICAgICByZXZlcnNlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgdGlja1dpZHRoOiAwLFxuICAgICAgICAgICAgICAgIGxhYmVsczoge1xuICAgICAgICAgICAgICAgICAgICBhbGlnbjogJ2NlbnRlcicsXG4gICAgICAgICAgICAgICAgICAgIGZvcm1hdHRlcigpOiBzdHJpbmcge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMudmFsdWUgJiYgdGhpcy52YWx1ZS50b1N0cmluZygpLmxlbmd0aCA+IDE2KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUudG9TdHJpbmcoKS5zdWJzdHJpbmcoMCwgMTUpICsgJy4uLic7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy52YWx1ZS50b1N0cmluZygpO1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBzdHlsZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB0eXBlOiAnY2F0ZWdvcnknXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgeUF4aXM6IHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnbGluZWFyJyxcbiAgICAgICAgICAgICAgICBtaW5UaWNrSW50ZXJ2YWw6IDFcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBwbG90T3B0aW9uczoge1xuICAgICAgICAgICAgICAgIGJhcjoge1xuICAgICAgICAgICAgICAgICAgICBtYXhQb2ludFdpZHRoOiAxOCxcbiAgICAgICAgICAgICAgICAgICAgcG9pbnRXaWR0aDogMjBcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHNlcmllczogc2VyaWVzT3B0aW9uc1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gc3VwZXIuYnVpbGQobWVyZ2VEZWVwKGRlZmF1bHRDb2x1bW5PcHRpb25zLCBvcHRpb25zKSk7XG4gICAgfVxuXG4gICAgc3RhdGljIGNvbmZpZ3VyZUJhcihzZXJpZXM6IFNlcmllc0Jhck9wdGlvbnNbXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhdGVnb3JpZXM6IHN0cmluZ1tdLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogT3B0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wcG9zaXRlOiBib29sZWFuLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IENoYXJ0Q29sb3IsXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbERhdGVGb3JtYXQ/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgQ2hhcnRPcHRpb25zLmNvbmZpZ3VyZShzZXJpZXMsIG9wdGlvbnMsIGNvbG9yLCBsYWJlbERhdGVGb3JtYXQpO1xuICAgICAgICBpZiAoY2F0ZWdvcmllcyAmJiBjYXRlZ29yaWVzLmxlbmd0aCkge1xuICAgICAgICAgICAgKG9wdGlvbnMueEF4aXMgYXMgWEF4aXNPcHRpb25zKS5jYXRlZ29yaWVzID0gY2F0ZWdvcmllcztcbiAgICAgICAgfVxuICAgICAgICBpZiAob3Bwb3NpdGUgJiYgc2VyaWVzLmxlbmd0aCA9PT0gMikge1xuICAgICAgICAgICAgY29uc3QgbmVnYXRpdmVTZXJpZSA9IChzZXJpZXNbMF0gYXMgU2VyaWVzUm91bmRlZEJhck9wdGlvbnMpO1xuICAgICAgICAgICAgbmVnYXRpdmVTZXJpZS5ib3JkZXJSYWRpdXNCb3R0b21MZWZ0ID0gMTAwO1xuICAgICAgICAgICAgbmVnYXRpdmVTZXJpZS5ib3JkZXJSYWRpdXNCb3R0b21SaWdodCA9IDEwMDtcbiAgICAgICAgICAgIG5lZ2F0aXZlU2VyaWUuYm9yZGVyUmFkaXVzVG9wTGVmdCA9IDA7XG4gICAgICAgICAgICBuZWdhdGl2ZVNlcmllLmJvcmRlclJhZGl1c1RvcFJpZ2h0ID0gMDtcbiAgICAgICAgICAgIG5lZ2F0aXZlU2VyaWUuZGF0YSA9IG5lZ2F0aXZlU2VyaWUuZGF0YS5tYXAoKHBvaW50OiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocG9pbnQgJiYgaXNOYU4ocG9pbnQpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5wb2ludCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHk6IC1NYXRoLmFicyhwb2ludC55KVxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoIWlzTmFOKHBvaW50KSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gLU1hdGguYWJzKHBvaW50KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHBvaW50O1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBvcHRpb25zLnBsb3RPcHRpb25zLnNlcmllcy5zdGFja2luZyA9ICdub3JtYWwnO1xuICAgICAgICAgICAgKG9wdGlvbnMueUF4aXMgYXMgWUF4aXNPcHRpb25zKS5sYWJlbHMuZm9ybWF0dGVyID0gZnVuY3Rpb24oKTogc3RyaW5nIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gTWF0aC5hYnMoK3RoaXMudmFsdWUpICsgJyUnO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIG9wdGlvbnMudG9vbHRpcC5wb2ludEZvcm1hdHRlciA9IGZ1bmN0aW9uKCk6IHN0cmluZyB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGA8ZGl2IHN0eWxlPVwiZm9udC1zaXplOiAxNHB4OyBjb2xvcjogIzM0NDU2MzsgbWFyZ2luOiA2cHggOHB4IDAgOHB4O1wiPjxzcGFuIHN0eWxlPVwiY29sb3I6JHt0aGlzLmNvbG9yfTtcIj5cXHUyNUNGPC9zcGFuPiAke3RoaXMuc2VyaWVzLm5hbWV9OiA8Yj4ke01hdGguYWJzKHRoaXMueSkgKyAnJSd9PC9iPjwvZGl2PmA7XG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -0,0 +1,58 @@
1
+ import { Component, Input, ViewChild } from '@angular/core';
2
+ import { Chart } from 'highcharts';
3
+ import { ChartBarOptions } from './chart-bar-options.model';
4
+ import { ChartColor } from '../chart-colors';
5
+ import * as i0 from "@angular/core";
6
+ export class ChartBarComponent {
7
+ constructor() {
8
+ this.categories = [];
9
+ this.chartOptions = {}; // https://api.highcharts.com/highcharts/
10
+ this.color = ChartColor.ElectricBlue;
11
+ this.lastWidth = 0;
12
+ }
13
+ ngOnChanges(changes) {
14
+ if ((changes.series && !changes.series.firstChange) || (changes.color && !changes.color.firstChange)) {
15
+ this.initChart();
16
+ }
17
+ }
18
+ ngAfterViewChecked() {
19
+ if (this.chartRef && this.chartRef.nativeElement.clientWidth != this.lastWidth) {
20
+ this.lastWidth = this.chartRef.nativeElement.clientWidth;
21
+ if (this.chart) {
22
+ this.chart.reflow();
23
+ }
24
+ else if (this.series && this.series.length) {
25
+ this.initChart();
26
+ }
27
+ }
28
+ }
29
+ initChart() {
30
+ if (this.series) {
31
+ const chartOptions = ChartBarOptions.build(this.chartOptions);
32
+ ChartBarOptions.configureBar(this.series, this.categories, chartOptions, this.opposite, this.color, this.labelDateFormat);
33
+ this.chart = new Chart(this.chartRef.nativeElement, chartOptions);
34
+ }
35
+ }
36
+ }
37
+ /** @nocollapse */ /** @nocollapse */ ChartBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: ChartBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
38
+ /** @nocollapse */ /** @nocollapse */ ChartBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: ChartBarComponent, selector: "ap-chart-bar", inputs: { categories: "categories", chartOptions: "chartOptions", color: "color", labelDateFormat: "labelDateFormat", opposite: "opposite", series: "series" }, viewQueries: [{ propertyName: "chartRef", first: true, predicate: ["chart"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div #chart></div>\n" });
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: ChartBarComponent, decorators: [{
40
+ type: Component,
41
+ args: [{ selector: 'ap-chart-bar', template: "<div #chart></div>\n" }]
42
+ }], propDecorators: { chartRef: [{
43
+ type: ViewChild,
44
+ args: ['chart']
45
+ }], categories: [{
46
+ type: Input
47
+ }], chartOptions: [{
48
+ type: Input
49
+ }], color: [{
50
+ type: Input
51
+ }], labelDateFormat: [{
52
+ type: Input
53
+ }], opposite: [{
54
+ type: Input
55
+ }], series: [{
56
+ type: Input
57
+ }] } });
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWktY2hhcnRzL3NyYy9saWIvY2hhcnQtYmFyL2NoYXJ0LWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpLWNoYXJ0cy9zcmMvbGliL2NoYXJ0LWJhci9jaGFydC1iYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFtQixTQUFTLEVBQWMsS0FBSyxFQUE0QixTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbEgsT0FBTyxFQUFDLEtBQUssRUFBNEIsTUFBTSxZQUFZLENBQUM7QUFDNUQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7QUFNM0MsTUFBTSxPQUFPLGlCQUFpQjtJQUo5QjtRQVFhLGVBQVUsR0FBYSxFQUFFLENBQUM7UUFDMUIsaUJBQVksR0FBWSxFQUFFLENBQUMsQ0FBQyx5Q0FBeUM7UUFDckUsVUFBSyxHQUFlLFVBQVUsQ0FBQyxZQUFZLENBQUM7UUFNN0MsY0FBUyxHQUFHLENBQUMsQ0FBQztLQTBCekI7SUF4QkcsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQ2xHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztTQUNwQjtJQUNMLENBQUM7SUFFRCxrQkFBa0I7UUFDZCxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDNUUsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUM7WUFDekQsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNaLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7YUFDdkI7aUJBQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO2dCQUMxQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7YUFDcEI7U0FDSjtJQUNMLENBQUM7SUFFRCxTQUFTO1FBQ0wsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2IsTUFBTSxZQUFZLEdBQUcsZUFBZSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDOUQsZUFBZSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsWUFBWSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDMUgsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxZQUFZLENBQUMsQ0FBQztTQUNyRTtJQUNMLENBQUM7O29KQXJDUSxpQkFBaUI7d0lBQWpCLGlCQUFpQiw0VUNUOUIsc0JBQ0E7MkZEUWEsaUJBQWlCO2tCQUo3QixTQUFTOytCQUNJLGNBQWM7OEJBS0osUUFBUTtzQkFBM0IsU0FBUzt1QkFBQyxPQUFPO2dCQUVULFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3Q2hlY2tlZCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDaGFydCwgT3B0aW9ucywgU2VyaWVzQmFyT3B0aW9uc30gZnJvbSAnaGlnaGNoYXJ0cyc7XG5pbXBvcnQge0NoYXJ0QmFyT3B0aW9uc30gZnJvbSAnLi9jaGFydC1iYXItb3B0aW9ucy5tb2RlbCc7XG5pbXBvcnQge0NoYXJ0Q29sb3J9IGZyb20gJy4uL2NoYXJ0LWNvbG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXAtY2hhcnQtYmFyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2hhcnQtYmFyLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgQ2hhcnRCYXJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdDaGVja2VkLCBPbkNoYW5nZXMge1xuXG4gICAgQFZpZXdDaGlsZCgnY2hhcnQnKSBjaGFydFJlZjogRWxlbWVudFJlZjtcblxuICAgIEBJbnB1dCgpIGNhdGVnb3JpZXM6IHN0cmluZ1tdID0gW107XG4gICAgQElucHV0KCkgY2hhcnRPcHRpb25zOiBPcHRpb25zID0ge307IC8vIGh0dHBzOi8vYXBpLmhpZ2hjaGFydHMuY29tL2hpZ2hjaGFydHMvXG4gICAgQElucHV0KCkgY29sb3I6IENoYXJ0Q29sb3IgPSBDaGFydENvbG9yLkVsZWN0cmljQmx1ZTtcbiAgICBASW5wdXQoKSBsYWJlbERhdGVGb3JtYXQ6IHN0cmluZztcbiAgICBASW5wdXQoKSBvcHBvc2l0ZTogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBzZXJpZXM6IFNlcmllc0Jhck9wdGlvbnNbXTtcblxuICAgIHByaXZhdGUgY2hhcnQ6IENoYXJ0O1xuICAgIHByaXZhdGUgbGFzdFdpZHRoID0gMDtcblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKChjaGFuZ2VzLnNlcmllcyAmJiAhY2hhbmdlcy5zZXJpZXMuZmlyc3RDaGFuZ2UpIHx8IChjaGFuZ2VzLmNvbG9yICYmICFjaGFuZ2VzLmNvbG9yLmZpcnN0Q2hhbmdlKSkge1xuICAgICAgICAgICAgdGhpcy5pbml0Q2hhcnQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuY2hhcnRSZWYgJiYgdGhpcy5jaGFydFJlZi5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoICE9IHRoaXMubGFzdFdpZHRoKSB7XG4gICAgICAgICAgICB0aGlzLmxhc3RXaWR0aCA9IHRoaXMuY2hhcnRSZWYubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aDtcbiAgICAgICAgICAgIGlmICh0aGlzLmNoYXJ0KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jaGFydC5yZWZsb3coKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5zZXJpZXMgJiYgdGhpcy5zZXJpZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pbml0Q2hhcnQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGluaXRDaGFydCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuc2VyaWVzKSB7XG4gICAgICAgICAgICBjb25zdCBjaGFydE9wdGlvbnMgPSBDaGFydEJhck9wdGlvbnMuYnVpbGQodGhpcy5jaGFydE9wdGlvbnMpO1xuICAgICAgICAgICAgQ2hhcnRCYXJPcHRpb25zLmNvbmZpZ3VyZUJhcih0aGlzLnNlcmllcywgdGhpcy5jYXRlZ29yaWVzLCBjaGFydE9wdGlvbnMsIHRoaXMub3Bwb3NpdGUsIHRoaXMuY29sb3IsIHRoaXMubGFiZWxEYXRlRm9ybWF0KTtcbiAgICAgICAgICAgIHRoaXMuY2hhcnQgPSBuZXcgQ2hhcnQodGhpcy5jaGFydFJlZi5uYXRpdmVFbGVtZW50LCBjaGFydE9wdGlvbnMpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdiAjY2hhcnQ+PC9kaXY+XG4iXX0=
@@ -0,0 +1,104 @@
1
+ import { ChartOptions, mergeDeep } from '../chart-options';
2
+ import { dateFormat } from 'highcharts';
3
+ export class ChartColumnOptions extends ChartOptions {
4
+ static buildColumn(options, simple) {
5
+ const defaultColumnOptions = {
6
+ chart: {
7
+ type: 'column'
8
+ },
9
+ legend: {
10
+ symbolHeight: 10
11
+ },
12
+ plotOptions: {
13
+ column: {
14
+ stacking: 'normal',
15
+ borderWidth: 0,
16
+ maxPointWidth: 20,
17
+ events: {
18
+ hide() {
19
+ ChartColumnOptions.redrawWithRoundedColumns(this.chart);
20
+ },
21
+ show() {
22
+ ChartColumnOptions.redrawWithRoundedColumns(this.chart);
23
+ }
24
+ }
25
+ }
26
+ },
27
+ xAxis: {
28
+ type: 'datetime'
29
+ }
30
+ };
31
+ const simpleColumnOptions = {
32
+ chart: {
33
+ type: 'column',
34
+ height: '80px'
35
+ },
36
+ credits: {
37
+ enabled: false
38
+ },
39
+ plotOptions: {
40
+ column: {
41
+ events: {
42
+ hide() {
43
+ ChartColumnOptions.redrawWithRoundedColumns(this.chart);
44
+ },
45
+ show() {
46
+ ChartColumnOptions.redrawWithRoundedColumns(this.chart);
47
+ }
48
+ },
49
+ }
50
+ },
51
+ xAxis: {
52
+ type: 'datetime',
53
+ crosshair: true,
54
+ labels: {
55
+ enabled: false,
56
+ formatter() {
57
+ return dateFormat('%m/%d', +this.value);
58
+ }
59
+ },
60
+ lineWidth: 0,
61
+ tickWidth: 0,
62
+ gridLineWidth: 0
63
+ },
64
+ yAxis: {
65
+ min: 0,
66
+ labels: {
67
+ enabled: false
68
+ },
69
+ gridLineWidth: 0
70
+ }
71
+ };
72
+ return super.build(mergeDeep(simple ? simpleColumnOptions : defaultColumnOptions, options));
73
+ }
74
+ static redrawWithRoundedColumns(chart) {
75
+ chart.series.map((serie, serieIndex, arr) => {
76
+ ChartColumnOptions.roundSerie(arr, serie.options, serieIndex);
77
+ });
78
+ chart.redraw(true);
79
+ }
80
+ static roundSerie(series, serie, serieIndex) {
81
+ const roundedOptionMap = [];
82
+ let borderRadius = 0;
83
+ if (serie.data) {
84
+ serie.data.forEach((point, columnIndex) => {
85
+ // Check if all previous stacked data at the same abscissa (located higher on the graph) are missing or have a value of 0
86
+ // if so, it means that this point is the visual top of the column, so we should round it
87
+ const roundedColumnEnabled = series.slice(0, serieIndex)
88
+ .every(otherSerie => {
89
+ if (otherSerie.visible === false) {
90
+ return true;
91
+ }
92
+ const pointAtSameAbscissa = otherSerie.options
93
+ .data.find(otherPoint => otherPoint[0] === point[0]);
94
+ return !pointAtSameAbscissa || pointAtSameAbscissa[1] === 0;
95
+ });
96
+ borderRadius = roundedColumnEnabled ? 100 : 0;
97
+ roundedOptionMap[columnIndex] = borderRadius;
98
+ });
99
+ serie.borderRadiusTopLeft = roundedOptionMap;
100
+ serie.borderRadiusTopRight = roundedOptionMap;
101
+ }
102
+ }
103
+ }
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtY29sdW1uLW9wdGlvbnMubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpLWNoYXJ0cy9zcmMvbGliL2NoYXJ0LWNvbHVtbi9jaGFydC1jb2x1bW4tb3B0aW9ucy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFFLFNBQVMsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ3pELE9BQU8sRUFBUSxVQUFVLEVBQWtCLE1BQU0sWUFBWSxDQUFDO0FBRzlELE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxZQUFZO0lBRWhELE1BQU0sQ0FBQyxXQUFXLENBQUMsT0FBZ0IsRUFBRSxNQUFlO1FBQ2hELE1BQU0sb0JBQW9CLEdBQVk7WUFDbEMsS0FBSyxFQUFFO2dCQUNILElBQUksRUFBRSxRQUFRO2FBQ2pCO1lBQ0QsTUFBTSxFQUFFO2dCQUNKLFlBQVksRUFBRSxFQUFFO2FBQ25CO1lBQ0QsV0FBVyxFQUFFO2dCQUNULE1BQU0sRUFBRTtvQkFDSixRQUFRLEVBQUUsUUFBUTtvQkFDbEIsV0FBVyxFQUFFLENBQUM7b0JBQ2QsYUFBYSxFQUFFLEVBQUU7b0JBQ2pCLE1BQU0sRUFBRTt3QkFDSixJQUFJOzRCQUNBLGtCQUFrQixDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQzt3QkFDNUQsQ0FBQzt3QkFDRCxJQUFJOzRCQUNBLGtCQUFrQixDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQzt3QkFDNUQsQ0FBQztxQkFDSjtpQkFDSjthQUNKO1lBQ0QsS0FBSyxFQUFFO2dCQUNILElBQUksRUFBRSxVQUFVO2FBQ25CO1NBQ0osQ0FBQztRQUNGLE1BQU0sbUJBQW1CLEdBQVk7WUFDakMsS0FBSyxFQUFFO2dCQUNILElBQUksRUFBRSxRQUFRO2dCQUNkLE1BQU0sRUFBRSxNQUFNO2FBQ2pCO1lBQ0QsT0FBTyxFQUFFO2dCQUNMLE9BQU8sRUFBRSxLQUFLO2FBQ2pCO1lBQ0QsV0FBVyxFQUFFO2dCQUNULE1BQU0sRUFBRTtvQkFDSixNQUFNLEVBQUU7d0JBQ0osSUFBSTs0QkFDQSxrQkFBa0IsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQzVELENBQUM7d0JBQ0QsSUFBSTs0QkFDQSxrQkFBa0IsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQzVELENBQUM7cUJBQ0o7aUJBQ0o7YUFDSjtZQUNELEtBQUssRUFBRTtnQkFDSCxJQUFJLEVBQUUsVUFBVTtnQkFDaEIsU0FBUyxFQUFFLElBQUk7Z0JBQ2YsTUFBTSxFQUFFO29CQUNKLE9BQU8sRUFBRSxLQUFLO29CQUNkLFNBQVM7d0JBQ0wsT0FBTyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUM1QyxDQUFDO2lCQUNKO2dCQUNELFNBQVMsRUFBRSxDQUFDO2dCQUNaLFNBQVMsRUFBRSxDQUFDO2dCQUNaLGFBQWEsRUFBRSxDQUFDO2FBQ25CO1lBQ0QsS0FBSyxFQUFFO2dCQUNILEdBQUcsRUFBRSxDQUFDO2dCQUNOLE1BQU0sRUFBRTtvQkFDSixPQUFPLEVBQUUsS0FBSztpQkFDakI7Z0JBQ0QsYUFBYSxFQUFFLENBQUM7YUFDbkI7U0FDSixDQUFDO1FBQ0YsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxvQkFBb0IsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ2hHLENBQUM7SUFFRCxNQUFNLENBQUMsd0JBQXdCLENBQUMsS0FBWTtRQUN4QyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxVQUFrQixFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQ2hELGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLE9BQXFDLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDaEcsQ0FBQyxDQUFDLENBQUM7UUFDSCxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQWdCLEVBQUUsS0FBaUMsRUFBRSxVQUFrQjtRQUNyRixNQUFNLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztRQUM1QixJQUFJLFlBQVksR0FBRyxDQUFDLENBQUM7UUFDckIsSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFO1lBQ1osS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLEVBQUU7Z0JBQ3RDLHlIQUF5SDtnQkFDekgseUZBQXlGO2dCQUN6RixNQUFNLG9CQUFvQixHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLFVBQVUsQ0FBQztxQkFDbkQsS0FBSyxDQUFDLFVBQVUsQ0FBQyxFQUFFO29CQUNoQixJQUFJLFVBQVUsQ0FBQyxPQUFPLEtBQUssS0FBSyxFQUFFO3dCQUM5QixPQUFPLElBQUksQ0FBQztxQkFDZjtvQkFDRCxNQUFNLG1CQUFtQixHQUFJLFVBQVUsQ0FBQyxPQUFzQzt5QkFDekUsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDekQsT0FBTyxDQUFDLG1CQUFtQixJQUFJLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDaEUsQ0FBQyxDQUFDLENBQUM7Z0JBQ1AsWUFBWSxHQUFHLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDOUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLEdBQUcsWUFBWSxDQUFDO1lBQ2pELENBQUMsQ0FBQyxDQUFDO1lBQ0gsS0FBSyxDQUFDLG1CQUFtQixHQUFHLGdCQUFnQixDQUFDO1lBQzdDLEtBQUssQ0FBQyxvQkFBb0IsR0FBRyxnQkFBZ0IsQ0FBQztTQUNqRDtJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhcnRPcHRpb25zLCBtZXJnZURlZXB9IGZyb20gJy4uL2NoYXJ0LW9wdGlvbnMnO1xuaW1wb3J0IHtDaGFydCwgZGF0ZUZvcm1hdCwgT3B0aW9ucywgU2VyaWVzfSBmcm9tICdoaWdoY2hhcnRzJztcbmltcG9ydCB7U2VyaWVzUm91bmRlZENvbHVtbk9wdGlvbnN9IGZyb20gJy4uL2hpZ2hjaGFydC1zZXJpZXMubW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgQ2hhcnRDb2x1bW5PcHRpb25zIGV4dGVuZHMgQ2hhcnRPcHRpb25zIHtcblxuICAgIHN0YXRpYyBidWlsZENvbHVtbihvcHRpb25zOiBPcHRpb25zLCBzaW1wbGU6IGJvb2xlYW4pOiBPcHRpb25zIHtcbiAgICAgICAgY29uc3QgZGVmYXVsdENvbHVtbk9wdGlvbnM6IE9wdGlvbnMgPSB7XG4gICAgICAgICAgICBjaGFydDoge1xuICAgICAgICAgICAgICAgIHR5cGU6ICdjb2x1bW4nXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbGVnZW5kOiB7XG4gICAgICAgICAgICAgICAgc3ltYm9sSGVpZ2h0OiAxMFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHBsb3RPcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgY29sdW1uOiB7XG4gICAgICAgICAgICAgICAgICAgIHN0YWNraW5nOiAnbm9ybWFsJyxcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyV2lkdGg6IDAsXG4gICAgICAgICAgICAgICAgICAgIG1heFBvaW50V2lkdGg6IDIwLFxuICAgICAgICAgICAgICAgICAgICBldmVudHM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhpZGUoKTogdm9pZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hhcnRDb2x1bW5PcHRpb25zLnJlZHJhd1dpdGhSb3VuZGVkQ29sdW1ucyh0aGlzLmNoYXJ0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBzaG93KCk6IHZvaWQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIENoYXJ0Q29sdW1uT3B0aW9ucy5yZWRyYXdXaXRoUm91bmRlZENvbHVtbnModGhpcy5jaGFydCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgeEF4aXM6IHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnZGF0ZXRpbWUnXG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHNpbXBsZUNvbHVtbk9wdGlvbnM6IE9wdGlvbnMgPSB7XG4gICAgICAgICAgICBjaGFydDoge1xuICAgICAgICAgICAgICAgIHR5cGU6ICdjb2x1bW4nLFxuICAgICAgICAgICAgICAgIGhlaWdodDogJzgwcHgnXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgY3JlZGl0czoge1xuICAgICAgICAgICAgICAgIGVuYWJsZWQ6IGZhbHNlXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcGxvdE9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICBjb2x1bW46IHtcbiAgICAgICAgICAgICAgICAgICAgZXZlbnRzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBoaWRlKCk6IHZvaWQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIENoYXJ0Q29sdW1uT3B0aW9ucy5yZWRyYXdXaXRoUm91bmRlZENvbHVtbnModGhpcy5jaGFydCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgc2hvdygpOiB2b2lkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDaGFydENvbHVtbk9wdGlvbnMucmVkcmF3V2l0aFJvdW5kZWRDb2x1bW5zKHRoaXMuY2hhcnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB4QXhpczoge1xuICAgICAgICAgICAgICAgIHR5cGU6ICdkYXRldGltZScsXG4gICAgICAgICAgICAgICAgY3Jvc3NoYWlyOiB0cnVlLFxuICAgICAgICAgICAgICAgIGxhYmVsczoge1xuICAgICAgICAgICAgICAgICAgICBlbmFibGVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgZm9ybWF0dGVyKCk6IHN0cmluZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZGF0ZUZvcm1hdCgnJW0vJWQnLCArdGhpcy52YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGxpbmVXaWR0aDogMCxcbiAgICAgICAgICAgICAgICB0aWNrV2lkdGg6IDAsXG4gICAgICAgICAgICAgICAgZ3JpZExpbmVXaWR0aDogMFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHlBeGlzOiB7XG4gICAgICAgICAgICAgICAgbWluOiAwLFxuICAgICAgICAgICAgICAgIGxhYmVsczoge1xuICAgICAgICAgICAgICAgICAgICBlbmFibGVkOiBmYWxzZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZ3JpZExpbmVXaWR0aDogMFxuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gc3VwZXIuYnVpbGQobWVyZ2VEZWVwKHNpbXBsZSA/IHNpbXBsZUNvbHVtbk9wdGlvbnMgOiBkZWZhdWx0Q29sdW1uT3B0aW9ucywgb3B0aW9ucykpO1xuICAgIH1cblxuICAgIHN0YXRpYyByZWRyYXdXaXRoUm91bmRlZENvbHVtbnMoY2hhcnQ6IENoYXJ0KTogdm9pZCB7XG4gICAgICAgIGNoYXJ0LnNlcmllcy5tYXAoKHNlcmllLCBzZXJpZUluZGV4OiBudW1iZXIsIGFycikgPT4ge1xuICAgICAgICAgICAgQ2hhcnRDb2x1bW5PcHRpb25zLnJvdW5kU2VyaWUoYXJyLCBzZXJpZS5vcHRpb25zIGFzIFNlcmllc1JvdW5kZWRDb2x1bW5PcHRpb25zLCBzZXJpZUluZGV4KTtcbiAgICAgICAgfSk7XG4gICAgICAgIGNoYXJ0LnJlZHJhdyh0cnVlKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgcm91bmRTZXJpZShzZXJpZXM6IFNlcmllc1tdLCBzZXJpZTogU2VyaWVzUm91bmRlZENvbHVtbk9wdGlvbnMsIHNlcmllSW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBjb25zdCByb3VuZGVkT3B0aW9uTWFwID0gW107XG4gICAgICAgIGxldCBib3JkZXJSYWRpdXMgPSAwO1xuICAgICAgICBpZiAoc2VyaWUuZGF0YSkge1xuICAgICAgICAgICAgc2VyaWUuZGF0YS5mb3JFYWNoKChwb2ludCwgY29sdW1uSW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBDaGVjayBpZiBhbGwgcHJldmlvdXMgc3RhY2tlZCBkYXRhIGF0IHRoZSBzYW1lIGFic2Npc3NhIChsb2NhdGVkIGhpZ2hlciBvbiB0aGUgZ3JhcGgpIGFyZSBtaXNzaW5nIG9yIGhhdmUgYSB2YWx1ZSBvZiAwXG4gICAgICAgICAgICAgICAgLy8gaWYgc28sIGl0IG1lYW5zIHRoYXQgdGhpcyBwb2ludCBpcyB0aGUgdmlzdWFsIHRvcCBvZiB0aGUgY29sdW1uLCBzbyB3ZSBzaG91bGQgcm91bmQgaXRcbiAgICAgICAgICAgICAgICBjb25zdCByb3VuZGVkQ29sdW1uRW5hYmxlZCA9IHNlcmllcy5zbGljZSgwLCBzZXJpZUluZGV4KVxuICAgICAgICAgICAgICAgICAgICAuZXZlcnkob3RoZXJTZXJpZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAob3RoZXJTZXJpZS52aXNpYmxlID09PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcG9pbnRBdFNhbWVBYnNjaXNzYSA9IChvdGhlclNlcmllLm9wdGlvbnMgYXMgU2VyaWVzUm91bmRlZENvbHVtbk9wdGlvbnMpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmRhdGEuZmluZChvdGhlclBvaW50ID0+IG90aGVyUG9pbnRbMF0gPT09IHBvaW50WzBdKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAhcG9pbnRBdFNhbWVBYnNjaXNzYSB8fCBwb2ludEF0U2FtZUFic2Npc3NhWzFdID09PSAwO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBib3JkZXJSYWRpdXMgPSByb3VuZGVkQ29sdW1uRW5hYmxlZCA/IDEwMCA6IDA7XG4gICAgICAgICAgICAgICAgcm91bmRlZE9wdGlvbk1hcFtjb2x1bW5JbmRleF0gPSBib3JkZXJSYWRpdXM7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHNlcmllLmJvcmRlclJhZGl1c1RvcExlZnQgPSByb3VuZGVkT3B0aW9uTWFwO1xuICAgICAgICAgICAgc2VyaWUuYm9yZGVyUmFkaXVzVG9wUmlnaHQgPSByb3VuZGVkT3B0aW9uTWFwO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -0,0 +1,59 @@
1
+ import { Component, Input, ViewChild } from '@angular/core';
2
+ import { ChartColumnOptions } from './chart-column-options.model';
3
+ import { ChartColor } from '../chart-colors';
4
+ import { Chart } from 'highcharts';
5
+ import * as i0 from "@angular/core";
6
+ export class ChartColumnComponent {
7
+ constructor() {
8
+ this.chartOptions = {}; // https://api.highcharts.com/highcharts/
9
+ this.color = ChartColor.ElectricBlue;
10
+ this.simple = false;
11
+ this.lastWidth = 0;
12
+ }
13
+ ngOnChanges(changes) {
14
+ if ((changes.series && !changes.series.firstChange) || (changes.color && !changes.color.firstChange)) {
15
+ this.initChart();
16
+ }
17
+ }
18
+ ngAfterViewChecked() {
19
+ if (this.chartRef && this.chartRef.nativeElement.clientWidth != this.lastWidth) {
20
+ this.lastWidth = this.chartRef.nativeElement.clientWidth;
21
+ if (this.chart) {
22
+ this.chart.reflow();
23
+ }
24
+ else if (this.series && this.series.length) {
25
+ this.initChart();
26
+ }
27
+ }
28
+ }
29
+ initChart() {
30
+ if (this.series) {
31
+ const chartOptions = ChartColumnOptions.buildColumn(this.chartOptions, this.simple);
32
+ ChartColumnOptions.configure(this.series, chartOptions, this.color, this.labelDateFormat);
33
+ this.chart = new Chart(this.chartRef.nativeElement, chartOptions);
34
+ if (this.chart) {
35
+ ChartColumnOptions.redrawWithRoundedColumns(this.chart);
36
+ }
37
+ }
38
+ }
39
+ }
40
+ /** @nocollapse */ /** @nocollapse */ ChartColumnComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: ChartColumnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
41
+ /** @nocollapse */ /** @nocollapse */ ChartColumnComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: ChartColumnComponent, selector: "ap-chart-column", inputs: { chartOptions: "chartOptions", color: "color", labelDateFormat: "labelDateFormat", series: "series", simple: "simple" }, viewQueries: [{ propertyName: "chartRef", first: true, predicate: ["chart"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div #chart></div>\n" });
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: ChartColumnComponent, decorators: [{
43
+ type: Component,
44
+ args: [{ selector: 'ap-chart-column', template: "<div #chart></div>\n" }]
45
+ }], propDecorators: { chartRef: [{
46
+ type: ViewChild,
47
+ args: ['chart']
48
+ }], chartOptions: [{
49
+ type: Input
50
+ }], color: [{
51
+ type: Input
52
+ }], labelDateFormat: [{
53
+ type: Input
54
+ }], series: [{
55
+ type: Input
56
+ }], simple: [{
57
+ type: Input
58
+ }] } });
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtY29sdW1uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWktY2hhcnRzL3NyYy9saWIvY2hhcnQtY29sdW1uL2NoYXJ0LWNvbHVtbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpLWNoYXJ0cy9zcmMvbGliL2NoYXJ0LWNvbHVtbi9jaGFydC1jb2x1bW4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFtQixTQUFTLEVBQWMsS0FBSyxFQUE0QixTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbEgsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxLQUFLLEVBQStCLE1BQU0sWUFBWSxDQUFDOztBQU0vRCxNQUFNLE9BQU8sb0JBQW9CO0lBSmpDO1FBUWEsaUJBQVksR0FBWSxFQUFFLENBQUMsQ0FBQyx5Q0FBeUM7UUFDckUsVUFBSyxHQUFlLFVBQVUsQ0FBQyxZQUFZLENBQUM7UUFHNUMsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUd6QixjQUFTLEdBQUcsQ0FBQyxDQUFDO0tBNkJ6QjtJQTNCRyxXQUFXLENBQUMsT0FBc0I7UUFDOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLEVBQUU7WUFDbEcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ3BCO0lBQ0wsQ0FBQztJQUVELGtCQUFrQjtRQUNkLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUM1RSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztZQUN6RCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQzthQUN2QjtpQkFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUU7Z0JBQzFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQzthQUNwQjtTQUNKO0lBQ0wsQ0FBQztJQUVELFNBQVM7UUFDTCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDYixNQUFNLFlBQVksR0FBRyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDcEYsa0JBQWtCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsWUFBWSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQzFGLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsWUFBWSxDQUFDLENBQUM7WUFDbEUsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNaLGtCQUFrQixDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUMzRDtTQUNKO0lBQ0wsQ0FBQzs7dUpBdkNRLG9CQUFvQjsySUFBcEIsb0JBQW9CLGlUQ1RqQyxzQkFDQTsyRkRRYSxvQkFBb0I7a0JBSmhDLFNBQVM7K0JBQ0ksaUJBQWlCOzhCQUtQLFFBQVE7c0JBQTNCLFNBQVM7dUJBQUMsT0FBTztnQkFFVCxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyVmlld0NoZWNrZWQsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q2hhcnRDb2x1bW5PcHRpb25zfSBmcm9tICcuL2NoYXJ0LWNvbHVtbi1vcHRpb25zLm1vZGVsJztcbmltcG9ydCB7Q2hhcnRDb2xvcn0gZnJvbSAnLi4vY2hhcnQtY29sb3JzJztcbmltcG9ydCB7Q2hhcnQsIE9wdGlvbnMsIFNlcmllc0NvbHVtbk9wdGlvbnN9IGZyb20gJ2hpZ2hjaGFydHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FwLWNoYXJ0LWNvbHVtbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NoYXJ0LWNvbHVtbi5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIENoYXJ0Q29sdW1uQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3Q2hlY2tlZCwgT25DaGFuZ2VzIHtcblxuICAgIEBWaWV3Q2hpbGQoJ2NoYXJ0JykgY2hhcnRSZWY6IEVsZW1lbnRSZWY7XG5cbiAgICBASW5wdXQoKSBjaGFydE9wdGlvbnM6IE9wdGlvbnMgPSB7fTsgLy8gaHR0cHM6Ly9hcGkuaGlnaGNoYXJ0cy5jb20vaGlnaGNoYXJ0cy9cbiAgICBASW5wdXQoKSBjb2xvcjogQ2hhcnRDb2xvciA9IENoYXJ0Q29sb3IuRWxlY3RyaWNCbHVlO1xuICAgIEBJbnB1dCgpIGxhYmVsRGF0ZUZvcm1hdDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHNlcmllczogU2VyaWVzQ29sdW1uT3B0aW9uc1tdO1xuICAgIEBJbnB1dCgpIHNpbXBsZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBjaGFydDogQ2hhcnQ7XG4gICAgcHJpdmF0ZSBsYXN0V2lkdGggPSAwO1xuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoKGNoYW5nZXMuc2VyaWVzICYmICFjaGFuZ2VzLnNlcmllcy5maXJzdENoYW5nZSkgfHwgKGNoYW5nZXMuY29sb3IgJiYgIWNoYW5nZXMuY29sb3IuZmlyc3RDaGFuZ2UpKSB7XG4gICAgICAgICAgICB0aGlzLmluaXRDaGFydCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdDaGVja2VkKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jaGFydFJlZiAmJiB0aGlzLmNoYXJ0UmVmLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGggIT0gdGhpcy5sYXN0V2lkdGgpIHtcbiAgICAgICAgICAgIHRoaXMubGFzdFdpZHRoID0gdGhpcy5jaGFydFJlZi5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoO1xuICAgICAgICAgICAgaWYgKHRoaXMuY2hhcnQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNoYXJ0LnJlZmxvdygpO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnNlcmllcyAmJiB0aGlzLnNlcmllcy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmluaXRDaGFydCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW5pdENoYXJ0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5zZXJpZXMpIHtcbiAgICAgICAgICAgIGNvbnN0IGNoYXJ0T3B0aW9ucyA9IENoYXJ0Q29sdW1uT3B0aW9ucy5idWlsZENvbHVtbih0aGlzLmNoYXJ0T3B0aW9ucywgdGhpcy5zaW1wbGUpO1xuICAgICAgICAgICAgQ2hhcnRDb2x1bW5PcHRpb25zLmNvbmZpZ3VyZSh0aGlzLnNlcmllcywgY2hhcnRPcHRpb25zLCB0aGlzLmNvbG9yLCB0aGlzLmxhYmVsRGF0ZUZvcm1hdCk7XG4gICAgICAgICAgICB0aGlzLmNoYXJ0ID0gbmV3IENoYXJ0KHRoaXMuY2hhcnRSZWYubmF0aXZlRWxlbWVudCwgY2hhcnRPcHRpb25zKTtcbiAgICAgICAgICAgIGlmICh0aGlzLmNoYXJ0KSB7XG4gICAgICAgICAgICAgICAgQ2hhcnRDb2x1bW5PcHRpb25zLnJlZHJhd1dpdGhSb3VuZGVkQ29sdW1ucyh0aGlzLmNoYXJ0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxkaXYgI2NoYXJ0PjwvZGl2PlxuIl19
@@ -0,0 +1,55 @@
1
+ import { Component, Input, ViewChild } from '@angular/core';
2
+ import { mapChart } from 'highcharts/highmaps';
3
+ import { ChartHeatmapOptions } from './chart-heatmap-options.model';
4
+ import * as i0 from "@angular/core";
5
+ export class ChartHeatmapComponent {
6
+ constructor() {
7
+ this.categoriesX = [];
8
+ this.categoriesY = [];
9
+ this.chartOptions = {}; // https://api.highcharts.com/highcharts/
10
+ this.lastWidth = 0;
11
+ }
12
+ ngOnChanges(changes) {
13
+ if ((changes.series && !changes.series.firstChange)) {
14
+ this.initChart();
15
+ }
16
+ }
17
+ ngAfterViewChecked() {
18
+ if (this.chartRef && this.chartRef.nativeElement.clientWidth != this.lastWidth) {
19
+ this.lastWidth = this.chartRef.nativeElement.clientWidth;
20
+ if (this.chart) {
21
+ this.chart.reflow();
22
+ }
23
+ else if (this.series && this.series.length) {
24
+ this.initChart();
25
+ }
26
+ }
27
+ }
28
+ initChart() {
29
+ if (this.series) {
30
+ const chartOptions = ChartHeatmapOptions.build(this.chartOptions);
31
+ ChartHeatmapOptions.configureHeatmap(this.categoriesX, this.categoriesY, this.series, chartOptions, this.labelDateFormat);
32
+ mapChart(this.chartRef.nativeElement, chartOptions);
33
+ }
34
+ }
35
+ }
36
+ /** @nocollapse */ /** @nocollapse */ ChartHeatmapComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: ChartHeatmapComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
37
+ /** @nocollapse */ /** @nocollapse */ ChartHeatmapComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: ChartHeatmapComponent, selector: "ap-chart-heatmap", inputs: { categoriesX: "categoriesX", categoriesY: "categoriesY", chartOptions: "chartOptions", labelDateFormat: "labelDateFormat", series: "series" }, viewQueries: [{ propertyName: "chartRef", first: true, predicate: ["chart"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div #chart></div>\n" });
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: ChartHeatmapComponent, decorators: [{
39
+ type: Component,
40
+ args: [{ selector: 'ap-chart-heatmap', template: "<div #chart></div>\n" }]
41
+ }], propDecorators: { chartRef: [{
42
+ type: ViewChild,
43
+ args: ['chart']
44
+ }], categoriesX: [{
45
+ type: Input
46
+ }], categoriesY: [{
47
+ type: Input
48
+ }], chartOptions: [{
49
+ type: Input
50
+ }], labelDateFormat: [{
51
+ type: Input
52
+ }], series: [{
53
+ type: Input
54
+ }] } });
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtaGVhdG1hcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpLWNoYXJ0cy9zcmMvbGliL2NoYXJ0LWhlYXRtYXAvY2hhcnQtaGVhdG1hcC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpLWNoYXJ0cy9zcmMvbGliL2NoYXJ0LWhlYXRtYXAvY2hhcnQtaGVhdG1hcC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW1CLFNBQVMsRUFBYyxLQUFLLEVBQTRCLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNsSCxPQUFPLEVBQUMsUUFBUSxFQUFnQyxNQUFNLHFCQUFxQixDQUFDO0FBQzVFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLCtCQUErQixDQUFDOztBQU1sRSxNQUFNLE9BQU8scUJBQXFCO0lBSmxDO1FBUWEsZ0JBQVcsR0FBYSxFQUFFLENBQUM7UUFDM0IsZ0JBQVcsR0FBYSxFQUFFLENBQUM7UUFDM0IsaUJBQVksR0FBWSxFQUFFLENBQUMsQ0FBQyx5Q0FBeUM7UUFLdEUsY0FBUyxHQUFHLENBQUMsQ0FBQztLQTJCekI7SUF6QkcsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUNqRCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDcEI7SUFDTCxDQUFDO0lBRUQsa0JBQWtCO1FBQ2QsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQzVFLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDO1lBQ3pELElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDWixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO2FBQ3ZCO2lCQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtnQkFDMUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2FBQ3BCO1NBQ0o7SUFDTCxDQUFDO0lBRU8sU0FBUztRQUNiLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNiLE1BQU0sWUFBWSxHQUFHLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDbEUsbUJBQW1CLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsWUFBWSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUMxSCxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsWUFBWSxDQUFDLENBQUM7U0FDdkQ7SUFDTCxDQUFDOzt3SkFwQ1EscUJBQXFCOzRJQUFyQixxQkFBcUIsd1VDUmxDLHNCQUNBOzJGRE9hLHFCQUFxQjtrQkFKakMsU0FBUzsrQkFDSSxrQkFBa0I7OEJBS1IsUUFBUTtzQkFBM0IsU0FBUzt1QkFBQyxPQUFPO2dCQUVULFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdDaGVja2VkLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge21hcENoYXJ0LCBPcHRpb25zLCBTZXJpZXNIZWF0bWFwT3B0aW9uc30gZnJvbSAnaGlnaGNoYXJ0cy9oaWdobWFwcyc7XG5pbXBvcnQge0NoYXJ0SGVhdG1hcE9wdGlvbnN9IGZyb20gJy4vY2hhcnQtaGVhdG1hcC1vcHRpb25zLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcC1jaGFydC1oZWF0bWFwJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2hhcnQtaGVhdG1hcC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIENoYXJ0SGVhdG1hcENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0NoZWNrZWQsIE9uQ2hhbmdlcyB7XG5cbiAgICBAVmlld0NoaWxkKCdjaGFydCcpIGNoYXJ0UmVmOiBFbGVtZW50UmVmO1xuXG4gICAgQElucHV0KCkgY2F0ZWdvcmllc1g6IHN0cmluZ1tdID0gW107XG4gICAgQElucHV0KCkgY2F0ZWdvcmllc1k6IHN0cmluZ1tdID0gW107XG4gICAgQElucHV0KCkgY2hhcnRPcHRpb25zOiBPcHRpb25zID0ge307IC8vIGh0dHBzOi8vYXBpLmhpZ2hjaGFydHMuY29tL2hpZ2hjaGFydHMvXG4gICAgQElucHV0KCkgbGFiZWxEYXRlRm9ybWF0OiBzdHJpbmc7XG4gICAgQElucHV0KCkgc2VyaWVzOiBTZXJpZXNIZWF0bWFwT3B0aW9uc1tdO1xuXG4gICAgcHJpdmF0ZSBjaGFydDtcbiAgICBwcml2YXRlIGxhc3RXaWR0aCA9IDA7XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmICgoY2hhbmdlcy5zZXJpZXMgJiYgIWNoYW5nZXMuc2VyaWVzLmZpcnN0Q2hhbmdlKSkge1xuICAgICAgICAgICAgdGhpcy5pbml0Q2hhcnQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuY2hhcnRSZWYgJiYgdGhpcy5jaGFydFJlZi5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoICE9IHRoaXMubGFzdFdpZHRoKSB7XG4gICAgICAgICAgICB0aGlzLmxhc3RXaWR0aCA9IHRoaXMuY2hhcnRSZWYubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aDtcbiAgICAgICAgICAgIGlmICh0aGlzLmNoYXJ0KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jaGFydC5yZWZsb3coKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5zZXJpZXMgJiYgdGhpcy5zZXJpZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pbml0Q2hhcnQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdENoYXJ0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5zZXJpZXMpIHtcbiAgICAgICAgICAgIGNvbnN0IGNoYXJ0T3B0aW9ucyA9IENoYXJ0SGVhdG1hcE9wdGlvbnMuYnVpbGQodGhpcy5jaGFydE9wdGlvbnMpO1xuICAgICAgICAgICAgQ2hhcnRIZWF0bWFwT3B0aW9ucy5jb25maWd1cmVIZWF0bWFwKHRoaXMuY2F0ZWdvcmllc1gsIHRoaXMuY2F0ZWdvcmllc1ksIHRoaXMuc2VyaWVzLCBjaGFydE9wdGlvbnMsIHRoaXMubGFiZWxEYXRlRm9ybWF0KTtcbiAgICAgICAgICAgIG1hcENoYXJ0KHRoaXMuY2hhcnRSZWYubmF0aXZlRWxlbWVudCwgY2hhcnRPcHRpb25zKTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuIiwiPGRpdiAjY2hhcnQ+PC9kaXY+XG4iXX0=
@@ -0,0 +1,23 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import { ChartMetricType } from '../chart-metric';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/material/list";
5
+ import * as i2 from "@angular/material/divider";
6
+ import * as i3 from "@angular/common";
7
+ export class ChartMetricsListComponent {
8
+ constructor() {
9
+ this.ChartMetricType = ChartMetricType;
10
+ this.digitsInfo = '1.0-1';
11
+ }
12
+ }
13
+ /** @nocollapse */ /** @nocollapse */ ChartMetricsListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: ChartMetricsListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
14
+ /** @nocollapse */ /** @nocollapse */ ChartMetricsListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: ChartMetricsListComponent, selector: "ap-chart-metrics-list", inputs: { metrics: "metrics", locale: "locale" }, ngImport: i0, template: "<mat-list>\n <ng-container *ngIf=\"metrics\">\n <mat-list-item *ngFor=\"let metric of metrics; let i = index\"\n [ngClass]=\"{'chart-metric-total': metric.type == ChartMetricType.total}\">\n <div class=\"chart-metric-name metric-label\"\n *ngIf=\"!metric.children\">\n {{metric.name}}\n </div>\n <div class=\"chart-metric-name\"\n *ngIf=\"metric.children\">\n <span class=\"metric-label\">\n {{metric.name}}\n </span>\n <span class=\"chart-metric-children\">\n <span *ngFor=\"let item of metric.children\">\n <span class=\"child-label\">{{item.name}}</span>: <span class=\"child-value\">{{item.value}}</span>\n </span>\n </span>\n </div>\n <div class=\"chart-metric-value metric-label\">\n {{metric.value | number: digitsInfo: locale}}\n </div>\n <mat-divider *ngIf=\"i < metrics.length - 1\"></mat-divider>\n </mat-list-item>\n </ng-container>\n</mat-list>\n", styles: ["[color=facebook]{color:#1877f2}[bgcolor=facebook],[hcolor=facebook]:hover{background-color:#1877f2}[border=facebook]{border:1px solid #1877f2}[color=google]{color:#4e85e8}[bgcolor=google],[hcolor=google]:hover{background-color:#4e85e8}[border=google]{border:1px solid #4e85e8}[color=instagram]{color:#e1306c}[bgcolor=instagram],[hcolor=instagram]:hover{background-color:#e1306c}[border=instagram]{border:1px solid #e1306c}[color=instagrammagenta]{color:#c13584}[bgcolor=instagrammagenta],[hcolor=instagrammagenta]:hover{background-color:#c13584}[border=instagrammagenta]{border:1px solid #c13584}[color=instagramblue]{color:#5851db}[bgcolor=instagramblue],[hcolor=instagramblue]:hover{background-color:#5851db}[border=instagramblue]{border:1px solid #5851db}[color=instagrampurple]{color:#833ab4}[bgcolor=instagrampurple],[hcolor=instagrampurple]:hover{background-color:#833ab4}[border=instagrampurple]{border:1px solid #833ab4}[color=instagramorange]{color:#f56040}[bgcolor=instagramorange],[hcolor=instagramorange]:hover{background-color:#f56040}[border=instagramorange]{border:1px solid #f56040}[color=instagramyellow]{color:#ffdc80}[bgcolor=instagramyellow],[hcolor=instagramyellow]:hover{background-color:#ffdc80}[border=instagramyellow]{border:1px solid #ffdc80}[color=linkedin]{color:#2c67bc}[bgcolor=linkedin],[hcolor=linkedin]:hover{background-color:#2c67bc}[border=linkedin]{border:1px solid #2c67bc}[color=twitter]{color:#55acee}[bgcolor=twitter],[hcolor=twitter]:hover{background-color:#55acee}[border=twitter]{border:1px solid #55acee}[color=youtube]{color:red}[bgcolor=youtube],[hcolor=youtube]:hover{background-color:red}[border=youtube]{border:1px solid #ff0000}[color=blood-orange]{color:#ff4d00}[bgcolor=blood-orange],[hcolor=blood-orange]:hover{background-color:#ff4d00}[border=blood-orange]{border:1px solid #ff4d00}[color=pinkish-orange]{color:#ff7b49}[bgcolor=pinkish-orange],[hcolor=pinkish-orange]:hover{background-color:#ff7b49}[border=pinkish-orange]{border:1px solid #ff7b49}[color=charcoal-grey]{color:#2a2f34}[bgcolor=charcoal-grey],[hcolor=charcoal-grey]:hover{background-color:#2a2f34}[border=charcoal-grey]{border:1px solid #2a2f34}[color=azure]{color:#00aeef}[bgcolor=azure],[hcolor=azure]:hover{background-color:#00aeef}[border=azure]{border:1px solid #00aeef}[color=light-azure]{color:#eaf5fd}[bgcolor=light-azure],[hcolor=light-azure]:hover{background-color:#eaf5fd}[border=light-azure]{border:1px solid #eaf5fd}[color=blue-grey]{color:#8d98a9}[bgcolor=blue-grey],[hcolor=blue-grey]:hover{background-color:#8d98a9}[border=blue-grey]{border:1px solid #8d98a9}[color=silver]{color:#ced0da}[bgcolor=silver],[hcolor=silver]:hover{background-color:#ced0da}[border=silver]{border:1px solid #ced0da}[color=pale-grey]{color:#dfe3e9}[bgcolor=pale-grey],[hcolor=pale-grey]:hover{background-color:#dfe3e9}[border=pale-grey]{border:1px solid #dfe3e9}[color=grey-white]{color:#f5f7f8}[bgcolor=grey-white],[hcolor=grey-white]:hover{background-color:#f5f7f8}[border=grey-white]{border:1px solid #f5f7f8}[color=cool-grey]{color:#b4bbc6}[bgcolor=cool-grey],[hcolor=cool-grey]:hover{background-color:#b4bbc6}[border=cool-grey]{border:1px solid #b4bbc6}[color=black]{color:#344563}[bgcolor=black],[hcolor=black]:hover{background-color:#344563}[border=black]{border:1px solid #344563}[color=grey-blue]{color:#68768c}[bgcolor=grey-blue],[hcolor=grey-blue]:hover{background-color:#68768c}[border=grey-blue]{border:1px solid #68768c}[color=strawberry]{color:#f4282d}[bgcolor=strawberry],[hcolor=strawberry]:hover{background-color:#f4282d}[border=strawberry]{border:1px solid #f4282d}[color=light-strawberry]{color:#f8eded}[bgcolor=light-strawberry],[hcolor=light-strawberry]:hover{background-color:#f8eded}[border=light-strawberry]{border:1px solid #f8eded}[color=white]{color:#fff}[bgcolor=white],[hcolor=white]:hover{background-color:#fff}[border=white]{border:1px solid #ffffff}[color=cool-green]{color:#33c15d}[bgcolor=cool-green],[hcolor=cool-green]:hover{background-color:#33c15d}[border=cool-green]{border:1px solid #33c15d}[color=light-green]{color:#ebfaef}[bgcolor=light-green],[hcolor=light-green]:hover{background-color:#ebfaef}[border=light-green]{border:1px solid #ebfaef}[color=transparent]{color:transparent}[bgcolor=transparent],[hcolor=transparent]:hover{background-color:transparent}[border=transparent]{border:1px solid transparent}[color=c0]{color:#a566a5}[bgcolor=c0],[hcolor=c0]:hover{background-color:#a566a5}[border=c0]{border:1px solid #A566A5}[color=c1]{color:#c7ab82}[bgcolor=c1],[hcolor=c1]:hover{background-color:#c7ab82}[border=c1]{border:1px solid #C7AB82}[color=c2]{color:#f2713c}[bgcolor=c2],[hcolor=c2]:hover{background-color:#f2713c}[border=c2]{border:1px solid #F2713C}[color=c3]{color:#ffd006}[bgcolor=c3],[hcolor=c3]:hover{background-color:#ffd006}[border=c3]{border:1px solid #FFD006}[color=c4]{color:#94c5aa}[bgcolor=c4],[hcolor=c4]:hover{background-color:#94c5aa}[border=c4]{border:1px solid #94C5AA}[color=c5]{color:#2a9d8f}[bgcolor=c5],[hcolor=c5]:hover{background-color:#2a9d8f}[border=c5]{border:1px solid #2A9D8F}[color=c6]{color:#78acd8}[bgcolor=c6],[hcolor=c6]:hover{background-color:#78acd8}[border=c6]{border:1px solid #78ACD8}[color=c7]{color:#525a9e}[bgcolor=c7],[hcolor=c7]:hover{background-color:#525a9e}[border=c7]{border:1px solid #525A9E}[color=c8]{color:#6a2459}[bgcolor=c8],[hcolor=c8]:hover{background-color:#6a2459}[border=c8]{border:1px solid #6A2459}[color=c9]{color:#74729e}[bgcolor=c9],[hcolor=c9]:hover{background-color:#74729e}[border=c9]{border:1px solid #74729E}.metric-label{font-size:14px;color:#5d6a82}.chart-metric-total .metric-label{font-size:16px;color:#344563!important;font-weight:700}.chart-metric-name .chart-metric-children{color:#aeb5c1;font-size:14px}.chart-metric-name .chart-metric-children .child-label{margin-left:16px}.chart-metric-value{justify-content:left;flex:1 0 0;flex-direction:row;text-align:end;color:#344563}.mat-list-item{height:35px}.mat-list-item ::ng-deep .mat-list-item-content{padding:0}\n"], components: [{ type: i1.MatList, selector: "mat-list, mat-action-list", inputs: ["disableRipple", "disabled"], exportAs: ["matList"] }, { type: i1.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }, { type: i2.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "number": i3.DecimalPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: ChartMetricsListComponent, decorators: [{
16
+ type: Component,
17
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: "ap-chart-metrics-list", template: "<mat-list>\n <ng-container *ngIf=\"metrics\">\n <mat-list-item *ngFor=\"let metric of metrics; let i = index\"\n [ngClass]=\"{'chart-metric-total': metric.type == ChartMetricType.total}\">\n <div class=\"chart-metric-name metric-label\"\n *ngIf=\"!metric.children\">\n {{metric.name}}\n </div>\n <div class=\"chart-metric-name\"\n *ngIf=\"metric.children\">\n <span class=\"metric-label\">\n {{metric.name}}\n </span>\n <span class=\"chart-metric-children\">\n <span *ngFor=\"let item of metric.children\">\n <span class=\"child-label\">{{item.name}}</span>: <span class=\"child-value\">{{item.value}}</span>\n </span>\n </span>\n </div>\n <div class=\"chart-metric-value metric-label\">\n {{metric.value | number: digitsInfo: locale}}\n </div>\n <mat-divider *ngIf=\"i < metrics.length - 1\"></mat-divider>\n </mat-list-item>\n </ng-container>\n</mat-list>\n", styles: ["[color=facebook]{color:#1877f2}[bgcolor=facebook],[hcolor=facebook]:hover{background-color:#1877f2}[border=facebook]{border:1px solid #1877f2}[color=google]{color:#4e85e8}[bgcolor=google],[hcolor=google]:hover{background-color:#4e85e8}[border=google]{border:1px solid #4e85e8}[color=instagram]{color:#e1306c}[bgcolor=instagram],[hcolor=instagram]:hover{background-color:#e1306c}[border=instagram]{border:1px solid #e1306c}[color=instagrammagenta]{color:#c13584}[bgcolor=instagrammagenta],[hcolor=instagrammagenta]:hover{background-color:#c13584}[border=instagrammagenta]{border:1px solid #c13584}[color=instagramblue]{color:#5851db}[bgcolor=instagramblue],[hcolor=instagramblue]:hover{background-color:#5851db}[border=instagramblue]{border:1px solid #5851db}[color=instagrampurple]{color:#833ab4}[bgcolor=instagrampurple],[hcolor=instagrampurple]:hover{background-color:#833ab4}[border=instagrampurple]{border:1px solid #833ab4}[color=instagramorange]{color:#f56040}[bgcolor=instagramorange],[hcolor=instagramorange]:hover{background-color:#f56040}[border=instagramorange]{border:1px solid #f56040}[color=instagramyellow]{color:#ffdc80}[bgcolor=instagramyellow],[hcolor=instagramyellow]:hover{background-color:#ffdc80}[border=instagramyellow]{border:1px solid #ffdc80}[color=linkedin]{color:#2c67bc}[bgcolor=linkedin],[hcolor=linkedin]:hover{background-color:#2c67bc}[border=linkedin]{border:1px solid #2c67bc}[color=twitter]{color:#55acee}[bgcolor=twitter],[hcolor=twitter]:hover{background-color:#55acee}[border=twitter]{border:1px solid #55acee}[color=youtube]{color:red}[bgcolor=youtube],[hcolor=youtube]:hover{background-color:red}[border=youtube]{border:1px solid #ff0000}[color=blood-orange]{color:#ff4d00}[bgcolor=blood-orange],[hcolor=blood-orange]:hover{background-color:#ff4d00}[border=blood-orange]{border:1px solid #ff4d00}[color=pinkish-orange]{color:#ff7b49}[bgcolor=pinkish-orange],[hcolor=pinkish-orange]:hover{background-color:#ff7b49}[border=pinkish-orange]{border:1px solid #ff7b49}[color=charcoal-grey]{color:#2a2f34}[bgcolor=charcoal-grey],[hcolor=charcoal-grey]:hover{background-color:#2a2f34}[border=charcoal-grey]{border:1px solid #2a2f34}[color=azure]{color:#00aeef}[bgcolor=azure],[hcolor=azure]:hover{background-color:#00aeef}[border=azure]{border:1px solid #00aeef}[color=light-azure]{color:#eaf5fd}[bgcolor=light-azure],[hcolor=light-azure]:hover{background-color:#eaf5fd}[border=light-azure]{border:1px solid #eaf5fd}[color=blue-grey]{color:#8d98a9}[bgcolor=blue-grey],[hcolor=blue-grey]:hover{background-color:#8d98a9}[border=blue-grey]{border:1px solid #8d98a9}[color=silver]{color:#ced0da}[bgcolor=silver],[hcolor=silver]:hover{background-color:#ced0da}[border=silver]{border:1px solid #ced0da}[color=pale-grey]{color:#dfe3e9}[bgcolor=pale-grey],[hcolor=pale-grey]:hover{background-color:#dfe3e9}[border=pale-grey]{border:1px solid #dfe3e9}[color=grey-white]{color:#f5f7f8}[bgcolor=grey-white],[hcolor=grey-white]:hover{background-color:#f5f7f8}[border=grey-white]{border:1px solid #f5f7f8}[color=cool-grey]{color:#b4bbc6}[bgcolor=cool-grey],[hcolor=cool-grey]:hover{background-color:#b4bbc6}[border=cool-grey]{border:1px solid #b4bbc6}[color=black]{color:#344563}[bgcolor=black],[hcolor=black]:hover{background-color:#344563}[border=black]{border:1px solid #344563}[color=grey-blue]{color:#68768c}[bgcolor=grey-blue],[hcolor=grey-blue]:hover{background-color:#68768c}[border=grey-blue]{border:1px solid #68768c}[color=strawberry]{color:#f4282d}[bgcolor=strawberry],[hcolor=strawberry]:hover{background-color:#f4282d}[border=strawberry]{border:1px solid #f4282d}[color=light-strawberry]{color:#f8eded}[bgcolor=light-strawberry],[hcolor=light-strawberry]:hover{background-color:#f8eded}[border=light-strawberry]{border:1px solid #f8eded}[color=white]{color:#fff}[bgcolor=white],[hcolor=white]:hover{background-color:#fff}[border=white]{border:1px solid #ffffff}[color=cool-green]{color:#33c15d}[bgcolor=cool-green],[hcolor=cool-green]:hover{background-color:#33c15d}[border=cool-green]{border:1px solid #33c15d}[color=light-green]{color:#ebfaef}[bgcolor=light-green],[hcolor=light-green]:hover{background-color:#ebfaef}[border=light-green]{border:1px solid #ebfaef}[color=transparent]{color:transparent}[bgcolor=transparent],[hcolor=transparent]:hover{background-color:transparent}[border=transparent]{border:1px solid transparent}[color=c0]{color:#a566a5}[bgcolor=c0],[hcolor=c0]:hover{background-color:#a566a5}[border=c0]{border:1px solid #A566A5}[color=c1]{color:#c7ab82}[bgcolor=c1],[hcolor=c1]:hover{background-color:#c7ab82}[border=c1]{border:1px solid #C7AB82}[color=c2]{color:#f2713c}[bgcolor=c2],[hcolor=c2]:hover{background-color:#f2713c}[border=c2]{border:1px solid #F2713C}[color=c3]{color:#ffd006}[bgcolor=c3],[hcolor=c3]:hover{background-color:#ffd006}[border=c3]{border:1px solid #FFD006}[color=c4]{color:#94c5aa}[bgcolor=c4],[hcolor=c4]:hover{background-color:#94c5aa}[border=c4]{border:1px solid #94C5AA}[color=c5]{color:#2a9d8f}[bgcolor=c5],[hcolor=c5]:hover{background-color:#2a9d8f}[border=c5]{border:1px solid #2A9D8F}[color=c6]{color:#78acd8}[bgcolor=c6],[hcolor=c6]:hover{background-color:#78acd8}[border=c6]{border:1px solid #78ACD8}[color=c7]{color:#525a9e}[bgcolor=c7],[hcolor=c7]:hover{background-color:#525a9e}[border=c7]{border:1px solid #525A9E}[color=c8]{color:#6a2459}[bgcolor=c8],[hcolor=c8]:hover{background-color:#6a2459}[border=c8]{border:1px solid #6A2459}[color=c9]{color:#74729e}[bgcolor=c9],[hcolor=c9]:hover{background-color:#74729e}[border=c9]{border:1px solid #74729E}.metric-label{font-size:14px;color:#5d6a82}.chart-metric-total .metric-label{font-size:16px;color:#344563!important;font-weight:700}.chart-metric-name .chart-metric-children{color:#aeb5c1;font-size:14px}.chart-metric-name .chart-metric-children .child-label{margin-left:16px}.chart-metric-value{justify-content:left;flex:1 0 0;flex-direction:row;text-align:end;color:#344563}.mat-list-item{height:35px}.mat-list-item ::ng-deep .mat-list-item-content{padding:0}\n"] }]
18
+ }], propDecorators: { metrics: [{
19
+ type: Input
20
+ }], locale: [{
21
+ type: Input
22
+ }] } });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtbWV0cmljcy1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWktY2hhcnRzL3NyYy9saWIvY2hhcnQtbWV0cmljcy1saXN0L2NoYXJ0LW1ldHJpY3MtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpLWNoYXJ0cy9zcmMvbGliL2NoYXJ0LW1ldHJpY3MtbGlzdC9jaGFydC1tZXRyaWNzLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUFjLGVBQWUsRUFBQyxNQUFNLGlCQUFpQixDQUFDOzs7OztBQVE3RCxNQUFNLE9BQU8seUJBQXlCO0lBTnRDO1FBV0ksb0JBQWUsR0FBRyxlQUFlLENBQUM7UUFDbEMsZUFBVSxHQUFXLE9BQU8sQ0FBQztLQUVoQzs7NEpBUlkseUJBQXlCO2dKQUF6Qix5QkFBeUIsK0dDVHRDLDhwQ0EwQkE7MkZEakJhLHlCQUF5QjtrQkFOckMsU0FBUztzQ0FDVyx1QkFBdUIsQ0FBQyxNQUFNLFlBQ3JDLHVCQUF1Qjs4QkFNeEIsT0FBTztzQkFBZixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDaGFydE1ldHJpYywgQ2hhcnRNZXRyaWNUeXBlfSBmcm9tICcuLi9jaGFydC1tZXRyaWMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzZWxlY3RvcjogXCJhcC1jaGFydC1tZXRyaWNzLWxpc3RcIixcbiAgICBzdHlsZVVybHM6IFsnY2hhcnQtbWV0cmljcy1saXN0LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgdGVtcGxhdGVVcmw6ICdjaGFydC1tZXRyaWNzLWxpc3QuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIENoYXJ0TWV0cmljc0xpc3RDb21wb25lbnQge1xuXG4gICAgQElucHV0KCkgbWV0cmljczogQ2hhcnRNZXRyaWNbXTtcbiAgICBASW5wdXQoKSBsb2NhbGU6IHN0cmluZztcblxuICAgIENoYXJ0TWV0cmljVHlwZSA9IENoYXJ0TWV0cmljVHlwZTtcbiAgICBkaWdpdHNJbmZvOiBzdHJpbmcgPSAnMS4wLTEnO1xuXG59XG4iLCI8bWF0LWxpc3Q+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1ldHJpY3NcIj5cbiAgICAgICAgPG1hdC1saXN0LWl0ZW0gKm5nRm9yPVwibGV0IG1ldHJpYyBvZiBtZXRyaWNzOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydjaGFydC1tZXRyaWMtdG90YWwnOiBtZXRyaWMudHlwZSA9PSBDaGFydE1ldHJpY1R5cGUudG90YWx9XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hhcnQtbWV0cmljLW5hbWUgbWV0cmljLWxhYmVsXCJcbiAgICAgICAgICAgICAgICAgKm5nSWY9XCIhbWV0cmljLmNoaWxkcmVuXCI+XG4gICAgICAgICAgICAgICAge3ttZXRyaWMubmFtZX19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGFydC1tZXRyaWMtbmFtZVwiXG4gICAgICAgICAgICAgICAgICpuZ0lmPVwibWV0cmljLmNoaWxkcmVuXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtZXRyaWMtbGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAge3ttZXRyaWMubmFtZX19XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2hhcnQtbWV0cmljLWNoaWxkcmVuXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0Zvcj1cImxldCBpdGVtIG9mIG1ldHJpYy5jaGlsZHJlblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjaGlsZC1sYWJlbFwiPnt7aXRlbS5uYW1lfX08L3NwYW4+OiA8c3BhbiBjbGFzcz1cImNoaWxkLXZhbHVlXCI+e3tpdGVtLnZhbHVlfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGFydC1tZXRyaWMtdmFsdWUgbWV0cmljLWxhYmVsXCI+XG4gICAgICAgICAgICAgICAge3ttZXRyaWMudmFsdWUgfCBudW1iZXI6IGRpZ2l0c0luZm86IGxvY2FsZX19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxtYXQtZGl2aWRlciAqbmdJZj1cImkgPCBtZXRyaWNzLmxlbmd0aCAtIDFcIj48L21hdC1kaXZpZGVyPlxuICAgICAgICA8L21hdC1saXN0LWl0ZW0+XG4gICAgPC9uZy1jb250YWluZXI+XG48L21hdC1saXN0PlxuIl19