@agorapulse/ui-charts 13.0.2 → 13.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Binary file
@@ -1 +1 @@
1
- {"version":3,"file":"agorapulse-ui-charts.mjs","sources":["../../../libs/ui-charts/src/lib/highcharts-border-radius-plugin.ts","../../../libs/ui-charts/src/lib/chart-colors.ts","../../../libs/ui-charts/src/lib/chart-options.ts","../../../libs/ui-charts/src/lib/chart-bar/chart-bar-options.model.ts","../../../libs/ui-charts/src/lib/chart-bar/chart-bar.component.ts","../../../libs/ui-charts/src/lib/chart-bar/chart-bar.component.html","../../../libs/ui-charts/src/lib/chart-column/chart-column-options.model.ts","../../../libs/ui-charts/src/lib/chart-column/chart-column.component.ts","../../../libs/ui-charts/src/lib/chart-column/chart-column.component.html","../../../libs/ui-charts/src/lib/chart-metric.ts","../../../libs/ui-charts/src/lib/chart-metrics-list/chart-metrics-list.component.ts","../../../libs/ui-charts/src/lib/chart-metrics-list/chart-metrics-list.component.html","../../../libs/ui-charts/src/lib/chart-heatmap/chart-heatmap-options.model.ts","../../../libs/ui-charts/src/lib/chart-heatmap/chart-heatmap.component.ts","../../../libs/ui-charts/src/lib/chart-heatmap/chart-heatmap.component.html","../../../libs/ui-charts/src/lib/chart-spline/chart-spline-options.model.ts","../../../libs/ui-charts/src/lib/chart-spline/chart-spline.component.ts","../../../libs/ui-charts/src/lib/chart-spline/chart-spline.component.html","../../../libs/ui-charts/src/lib/chart-pie/chart-pie-options.model.ts","../../../libs/ui-charts/src/lib/chart-pie/chart-pie.component.ts","../../../libs/ui-charts/src/lib/chart-pie/chart-pie.component.html","../../../libs/ui-charts/src/lib/agorapulse-ui-charts.module.ts","../../../libs/ui-charts/index.ts","../../../libs/ui-charts/agorapulse-ui-charts.ts"],"sourcesContent":["export const borderRadiusPlugin = function (H) {\n if (H.borderRadiusPlugininitialized) {\n return;\n }\n H.borderRadiusPlugininitialized = true;\n\n H.wrap(H.seriesTypes.column.prototype, 'translate', function (proceed) {\n const options = this.options;\n const topMargin = options.topMargin || 0;\n const bottomMargin = options.bottomMargin || 0;\n const borderRadiusTopLeftSettings = options.borderRadiusTopLeft;\n const borderRadiusTopRightSettings = options.borderRadiusTopRight;\n const borderRadiusBottomLeftSettings = options.borderRadiusBottomLeft;\n const borderRadiusBottomRightSettings = options.borderRadiusBottomRight;\n\n proceed.call(this);\n\n if (!this.points) {\n return;\n }\n this.points.forEach(function (point) {\n\n if (borderRadiusTopLeftSettings || borderRadiusTopRightSettings || borderRadiusBottomLeftSettings || borderRadiusBottomRightSettings) {\n const w = point.shapeArgs.width;\n const h = point.shapeArgs.height;\n const x = point.shapeArgs.x;\n const y = point.shapeArgs.y;\n const borderRadiusTopLeft = (borderRadiusTopLeftSettings && borderRadiusTopLeftSettings.length) ? borderRadiusTopLeftSettings[point.index] : borderRadiusTopLeftSettings || 0;\n const borderRadiusTopRight = (borderRadiusTopRightSettings && borderRadiusTopRightSettings.length) ? borderRadiusTopRightSettings[point.index] : borderRadiusTopRightSettings || 0;\n const borderRadiusBottomLeft = (borderRadiusBottomLeftSettings && borderRadiusBottomLeftSettings.length) ? borderRadiusBottomLeftSettings[point.index] : borderRadiusBottomLeftSettings || 0;\n const borderRadiusBottomRight = (borderRadiusBottomRightSettings && borderRadiusBottomRightSettings.length) ? borderRadiusBottomRightSettings[point.index] : borderRadiusBottomRightSettings || 0;\n\n let radiusTopLeft = H.relativeLength(borderRadiusTopLeft, w);\n let radiusTopRight = H.relativeLength(borderRadiusTopRight, w);\n let radiusBottomRight = H.relativeLength(borderRadiusBottomRight, w);\n let radiusBottomLeft = H.relativeLength(borderRadiusBottomLeft, w);\n\n const maxR = Math.min(w, h) / 2;\n\n radiusTopLeft = radiusTopLeft > maxR ? maxR : radiusTopLeft;\n radiusTopRight = radiusTopRight > maxR ? maxR : radiusTopRight;\n radiusBottomRight = radiusBottomRight > maxR ? maxR : radiusBottomRight;\n radiusBottomLeft = radiusBottomLeft > maxR ? maxR : radiusBottomLeft;\n\n point.dlBox = point.shapeArgs;\n\n point.shapeType = 'path';\n point.shapeArgs = {\n d: [\n 'M', x + radiusTopLeft, y + topMargin,\n 'L', x + w - radiusTopRight, y + topMargin,\n 'C', x + w - radiusTopRight / 2, y, x + w, y + radiusTopRight / 2, x + w, y + radiusTopRight,\n 'L', x + w, y + h - radiusBottomRight,\n 'C', x + w, y + h - radiusBottomRight / 2, x + w - radiusBottomRight / 2, y + h, x + w - radiusBottomRight, y + h + bottomMargin,\n 'L', x + radiusBottomLeft, y + h + bottomMargin,\n 'C', x + radiusBottomLeft / 2, y + h, x, y + h - radiusBottomLeft / 2, x, y + h - radiusBottomLeft,\n 'L', x, y + radiusTopLeft,\n 'C', x, y + radiusTopLeft / 2, x + radiusTopLeft / 2, y, x + radiusTopLeft, y,\n 'Z'\n ]\n };\n }\n\n });\n });\n};\n","export enum ChartColor {\n Grey,\n Orange,\n SoftBlue,\n ElectricBlue,\n Purple,\n Green,\n}\n\nexport class ChartColors {\n\n static readonly SOFT_BLUE_COLORS = {\n '10': '#EFF5FC',\n '20': '#DFEDFA',\n '40': '#C0DBF4',\n '60': '#A0C8EF',\n '85': '#78B1E8',\n '100': '#61A4E4'\n };\n static readonly ELECTRIC_BLUE_COLORS = {\n '10': '#e8f4ff',\n '20': '#d1e8ff',\n '40': '#a2d1ff',\n '60': '#74bbfe',\n '85': '#3a9efe',\n '100': '#178dfe'\n };\n static readonly ORANGE_COLORS = {\n '10': '#FFEFE9',\n '20': '#FFE1D4',\n '40': '#FFC2A8',\n '60': '#FFA47D',\n '85': '#FF7E46',\n '100': '#FF6726'\n };\n static readonly GREEN_COLORS = {\n '10': '#ECF7ED',\n '20': '#DAF1DD',\n '40': '#B5E3BB',\n '60': '#8FD498',\n '85': '#61C26D',\n '100': '#45B854'\n };\n static readonly PURPLE_COLORS = {\n '10': '#EFEDF8',\n '20': '#E0DDF2',\n '40': '#C1BBE6',\n '60': '#A398D9',\n '85': '#7C6DC9',\n '100': '#6554C0'\n };\n static readonly GREY_COLORS = {\n '5': '#F5F5F7',\n '10': '#EAECEF',\n '20': '#D6DAE0',\n '40': '#AEB5C1',\n '60': '#858FA1',\n '85': '#5D6A82',\n '100': '#344563'\n };\n\n static readonly BLACK_COLOR: string = '#000000';\n static readonly LIMIT_COLOR: string = '#E81313';\n static readonly WHITE_COLOR: string = '#FFFFFF';\n\n static getChartColors(color: ChartColor): { [shade: string]: string } {\n switch (color) {\n case ChartColor.Orange:\n return this.ORANGE_COLORS;\n case ChartColor.SoftBlue:\n return this.SOFT_BLUE_COLORS;\n case ChartColor.ElectricBlue:\n return this.ELECTRIC_BLUE_COLORS;\n case ChartColor.Purple:\n return this.PURPLE_COLORS;\n case ChartColor.Green:\n return this.GREEN_COLORS;\n default:\n return this.GREY_COLORS;\n }\n }\n\n static getColors(seriesCount: number, color: ChartColor): string[] {\n const colors = this.getChartColors(color);\n switch (seriesCount) {\n case 1:\n return [colors[100]];\n case 2:\n return [colors[40], colors[100]];\n case 3:\n return [colors[20], colors[60], colors[100]];\n case 4:\n return [colors[20], colors[40], colors[60], colors[100]];\n case 5:\n return [colors[10], colors[20], colors[40], colors[60], colors[100]];\n default:\n return [colors[20], colors[40], colors[60], colors[100]];\n }\n }\n}\n","import {dateFormat, Options, SeriesOptionsType} from 'highcharts';\nimport {ChartColor, ChartColors} from './chart-colors';\n\nexport class ChartOptions {\n\n static readonly DEFAULT_DATE_FORMAT: string = '%A, %b %e, %Y';\n static readonly DEFAULT_OPTIONS: Options = {\n /*lang: {\n decimalPoint: (manager && manager.locale !== 'en') ? ',' : '.',\n resetZoom: resetZoomLabel,\n resetZoomTitle: resetZoomHtmlTitle,\n shortMonths: [\n shortJanuary, shortFebruary, shortMarch, shortApril, shortMay, shortJune,\n shortJuly, shortAugust, shortSeptember, shortOctober, shortNovember, shortDecember\n ],\n thousandsSep: (manager && manager.locale !== 'en') ? ' ' : ',',\n weekdays: this.weekDays,\n zoomIn: zoomInHtmlTitle,\n zoomOut: zoomOutHtmlTitle\n },*/\n chart: {\n spacingRight: 20,\n zoomType: 'xy',\n panning: {\n enabled: true\n },\n panKey: 'shift',\n style: {\n fontFamily: 'Averta, \\'Open Sans\\', Helvetica, sans-serif'\n },\n resetZoomButton: {\n theme: {\n fill: ChartColors.WHITE_COLOR,\n r: 4,\n style: {\n color: ChartColors.GREY_COLORS[100],\n fontSize: '12px'\n },\n states: {\n hover: {\n fill: ChartColors.GREY_COLORS[5]\n }\n }\n }\n }\n },\n colorAxis: {\n labels: {\n style: {\n color: ChartColors.GREY_COLORS[60]\n }\n }\n },\n credits: {\n enabled: false\n },\n legend: {\n borderWidth: 0,\n itemStyle: {\n color: ChartColors.GREY_COLORS[60],\n fontSize: '14px',\n fontWeight: 'normal'\n },\n itemHoverStyle: {\n color: ChartColors.GREY_COLORS[100],\n fontWeight: 'bold'\n }\n },\n plotOptions: {\n series: {\n states: {\n hover: {\n brightness: 0\n }\n },\n connectNulls: true,\n lineWidth: 4\n }\n },\n navigation: {\n buttonOptions: {\n y: 0\n }\n },\n title: {\n text: null\n },\n tooltip: {\n backgroundColor: ChartColors.WHITE_COLOR,\n borderRadius: 4,\n borderWidth: 0,\n dateTimeLabelFormats: {\n day: ChartOptions.DEFAULT_DATE_FORMAT,\n week: ChartOptions.DEFAULT_DATE_FORMAT\n },\n shadow: {\n color: ChartColors.BLACK_COLOR,\n offsetX: 0,\n offsetY: 2,\n opacity: 0.02,\n width: 6\n },\n split: false,\n shared: true,\n useHTML: true,\n headerFormat: `<div style=\"border-bottom: 1px solid ${ChartColors.GREY_COLORS[10]}; padding: 0 8px 7px\">`\n + `<span style=\"font-size: 12px; color: ${ChartColors.GREY_COLORS[60]}\">{point.key}</span></div>`,\n pointFormat: `<div style=\"font-size: 14px; color: ${ChartColors.GREY_COLORS[100]}; margin: 6px 8px 0 8px;\">`\n + '<span style=\"color:{point.color}\">\\u25CF</span> {series.name}: <b>{point.y}</b></div>'\n },\n xAxis: {\n gridLineColor: ChartColors.GREY_COLORS[10],\n lineColor: ChartColors.GREY_COLORS[10],\n tickColor: ChartColors.GREY_COLORS[10],\n gridLineWidth: 1,\n title: {\n text: null\n },\n labels: {\n style: {\n color: ChartColors.GREY_COLORS[40],\n fontSize: '12px'\n }\n }\n },\n yAxis: {\n allowDecimals: false,\n gridLineColor: ChartColors.GREY_COLORS[10],\n lineColor: ChartColors.GREY_COLORS[10],\n gridLineWidth: 1,\n title: {\n text: null\n },\n labels: {\n style: {\n color: ChartColors.GREY_COLORS[40],\n fontSize: '12px'\n }\n }\n }\n };\n\n static build(options: Options): Options {\n return mergeDeep(ChartOptions.DEFAULT_OPTIONS, options);\n }\n\n static configure(series: SeriesOptionsType[],\n options: Options,\n color: ChartColor,\n labelDateFormat?: string) {\n // Configure axis\n options.xAxis = mergeDeep({\n labels: {\n formatter: function(): string {\n return dateFormat(labelDateFormat ? labelDateFormat : '%m/%d', this.value);\n }\n },\n //minTickInterval: 24 * 60 * 60 * 1000 // One day\n }, options.xAxis);\n // Configure series\n if (series && series.length) {\n options.series = series;\n options.legend.enabled = series.length >= 2;\n options.colors = ChartColors.getColors(series.length, color);\n }\n }\n}\n\nexport function isObject(item) {\n return (item && typeof item === 'object' && !Array.isArray(item));\n}\n\nexport function mergeDeep(target, source) {\n let output = deepCopy(target);\n if (isObject(target) && isObject(source)) {\n Object.keys(source).forEach(key => {\n if (isObject(source[key])) {\n if (!(key in target))\n Object.assign(output, {[key]: source[key]});\n else\n output[key] = mergeDeep(target[key], source[key]);\n } else {\n Object.assign(output, {[key]: source[key]});\n }\n });\n }\n return output;\n}\n\nfunction deepCopy(source) {\n if (typeof source !== \"object\" || source === null) {\n return source // Return the value if source is not an object\n }\n // Create an array or object to hold the values\n const newObject = Array.isArray(source) ? [] : {}\n for (let key in source) {\n if (source.hasOwnProperty(key)) {\n // Recursively (deep) copy for nested objects, including arrays\n newObject[key] = deepCopy(source[key])\n }\n }\n return newObject\n}\n","import {ChartOptions, mergeDeep} from '../chart-options';\nimport {Options, SeriesBarOptions, XAxisOptions, YAxisOptions} from 'highcharts';\nimport {PlotRoundedSeriesOptions, SeriesRoundedBarOptions} from './../highchart-series.model';\nimport {ChartColor} from './../chart-colors';\n\nexport class ChartBarOptions extends ChartOptions {\n\n static build(options: Options): Options {\n const seriesOptions: PlotRoundedSeriesOptions = {\n borderRadiusTopLeft: 100,\n borderRadiusTopRight: 100,\n borderWidth: 0\n };\n const defaultColumnOptions: Options = {\n chart: {\n type: 'bar'\n },\n xAxis: {\n categories: undefined,\n gridLineWidth: 0,\n lineWidth: 0,\n reversed: false,\n tickWidth: 0,\n labels: {\n align: 'center',\n formatter(): string {\n if (this.value && this.value.toString().length > 16) {\n return this.value.toString().substring(0, 15) + '...';\n }\n return this.value.toString();\n },\n style: {\n width: 100\n }\n },\n type: 'category'\n },\n yAxis: {\n type: 'linear',\n minTickInterval: 1\n },\n plotOptions: {\n bar: {\n maxPointWidth: 18,\n pointWidth: 20\n },\n series: seriesOptions\n }\n };\n return super.build(mergeDeep(defaultColumnOptions, options));\n }\n\n static configureBar(series: SeriesBarOptions[],\n categories: string[],\n options: Options,\n opposite: boolean,\n color: ChartColor,\n labelDateFormat?: string): void {\n ChartOptions.configure(series, options, color, labelDateFormat);\n if (categories && categories.length) {\n (options.xAxis as XAxisOptions).categories = categories;\n }\n if (opposite && series.length === 2) {\n const negativeSerie = (series[0] as SeriesRoundedBarOptions);\n negativeSerie.borderRadiusBottomLeft = 100;\n negativeSerie.borderRadiusBottomRight = 100;\n negativeSerie.borderRadiusTopLeft = 0;\n negativeSerie.borderRadiusTopRight = 0;\n negativeSerie.data = negativeSerie.data.map((point: any) => {\n if (point && isNaN(point)) {\n return {\n ...point,\n y: -Math.abs(point.y)\n };\n } else if (!isNaN(point)) {\n return -Math.abs(point);\n }\n return point;\n });\n options.plotOptions.series.stacking = 'normal';\n (options.yAxis as YAxisOptions).labels.formatter = function(): string {\n return Math.abs(+this.value) + '%';\n };\n options.tooltip.pointFormatter = function(): string {\n 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>`;\n };\n }\n }\n}\n","import {AfterViewChecked, Component, ElementRef, Input, OnChanges, SimpleChanges, ViewChild} from '@angular/core';\nimport {Chart, Options, SeriesBarOptions} from 'highcharts';\nimport {ChartBarOptions} from './chart-bar-options.model';\nimport {ChartColor} from '../chart-colors';\n\n@Component({\n selector: 'ap-chart-bar',\n templateUrl: './chart-bar.component.html',\n})\nexport class ChartBarComponent implements AfterViewChecked, OnChanges {\n\n @ViewChild('chart') chartRef: ElementRef;\n\n @Input() categories: string[] = [];\n @Input() chartOptions: Options = {}; // https://api.highcharts.com/highcharts/\n @Input() color: ChartColor = ChartColor.ElectricBlue;\n @Input() labelDateFormat: string;\n @Input() opposite: boolean;\n @Input() series: SeriesBarOptions[];\n\n private chart: Chart;\n private lastWidth = 0;\n\n ngOnChanges(changes: SimpleChanges): void {\n if ((changes.series && !changes.series.firstChange) || (changes.color && !changes.color.firstChange)) {\n this.initChart();\n }\n }\n\n ngAfterViewChecked(): void {\n if (this.chartRef && this.chartRef.nativeElement.clientWidth != this.lastWidth) {\n this.lastWidth = this.chartRef.nativeElement.clientWidth;\n if (this.chart) {\n this.chart.reflow();\n } else if (this.series && this.series.length) {\n this.initChart();\n }\n }\n }\n\n initChart(): void {\n if (this.series) {\n const chartOptions = ChartBarOptions.build(this.chartOptions);\n ChartBarOptions.configureBar(this.series, this.categories, chartOptions, this.opposite, this.color, this.labelDateFormat);\n this.chart = new Chart(this.chartRef.nativeElement, chartOptions);\n }\n }\n}\n","<div #chart></div>\n","import {ChartOptions, mergeDeep} from '../chart-options';\nimport {Chart, dateFormat, Options, Series} from 'highcharts';\nimport {SeriesRoundedColumnOptions} from '../highchart-series.model';\n\nexport class ChartColumnOptions extends ChartOptions {\n\n static buildColumn(options: Options, simple: boolean): Options {\n const defaultColumnOptions: Options = {\n chart: {\n type: 'column'\n },\n legend: {\n symbolHeight: 10\n },\n plotOptions: {\n column: {\n stacking: 'normal',\n borderWidth: 0,\n maxPointWidth: 20,\n events: {\n hide(): void {\n ChartColumnOptions.redrawWithRoundedColumns(this.chart);\n },\n show(): void {\n ChartColumnOptions.redrawWithRoundedColumns(this.chart);\n }\n }\n }\n },\n xAxis: {\n type: 'datetime'\n }\n };\n const simpleColumnOptions: Options = {\n chart: {\n type: 'column',\n height: '80px'\n },\n credits: {\n enabled: false\n },\n plotOptions: {\n column: {\n events: {\n hide(): void {\n ChartColumnOptions.redrawWithRoundedColumns(this.chart);\n },\n show(): void {\n ChartColumnOptions.redrawWithRoundedColumns(this.chart);\n }\n },\n }\n },\n xAxis: {\n type: 'datetime',\n crosshair: true,\n labels: {\n enabled: false,\n formatter(): string {\n return dateFormat('%m/%d', +this.value);\n }\n },\n lineWidth: 0,\n tickWidth: 0,\n gridLineWidth: 0\n },\n yAxis: {\n min: 0,\n labels: {\n enabled: false\n },\n gridLineWidth: 0\n }\n };\n return super.build(mergeDeep(simple ? simpleColumnOptions : defaultColumnOptions, options));\n }\n\n static redrawWithRoundedColumns(chart: Chart): void {\n chart.series.map((serie, serieIndex: number, arr) => {\n ChartColumnOptions.roundSerie(arr, serie.options as SeriesRoundedColumnOptions, serieIndex);\n });\n chart.redraw(true);\n }\n\n static roundSerie(series: Series[], serie: SeriesRoundedColumnOptions, serieIndex: number): void {\n const roundedOptionMap = [];\n let borderRadius = 0;\n if (serie.data) {\n serie.data.forEach((point, columnIndex) => {\n // Check if all previous stacked data at the same abscissa (located higher on the graph) are missing or have a value of 0\n // if so, it means that this point is the visual top of the column, so we should round it\n const roundedColumnEnabled = series.slice(0, serieIndex)\n .every(otherSerie => {\n if (otherSerie.visible === false) {\n return true;\n }\n const pointAtSameAbscissa = (otherSerie.options as SeriesRoundedColumnOptions)\n .data.find(otherPoint => otherPoint[0] === point[0]);\n return !pointAtSameAbscissa || pointAtSameAbscissa[1] === 0;\n });\n borderRadius = roundedColumnEnabled ? 100 : 0;\n roundedOptionMap[columnIndex] = borderRadius;\n });\n serie.borderRadiusTopLeft = roundedOptionMap;\n serie.borderRadiusTopRight = roundedOptionMap;\n }\n }\n}\n","import {AfterViewChecked, Component, ElementRef, Input, OnChanges, SimpleChanges, ViewChild} from '@angular/core';\nimport {ChartColumnOptions} from './chart-column-options.model';\nimport {ChartColor} from '../chart-colors';\nimport {Chart, Options, SeriesColumnOptions} from 'highcharts';\n\n@Component({\n selector: 'ap-chart-column',\n templateUrl: './chart-column.component.html',\n})\nexport class ChartColumnComponent implements AfterViewChecked, OnChanges {\n\n @ViewChild('chart') chartRef: ElementRef;\n\n @Input() chartOptions: Options = {}; // https://api.highcharts.com/highcharts/\n @Input() color: ChartColor = ChartColor.ElectricBlue;\n @Input() labelDateFormat: string;\n @Input() series: SeriesColumnOptions[];\n @Input() simple: boolean = false;\n\n private chart: Chart;\n private lastWidth = 0;\n\n ngOnChanges(changes: SimpleChanges): void {\n if ((changes.series && !changes.series.firstChange) || (changes.color && !changes.color.firstChange)) {\n this.initChart();\n }\n }\n\n ngAfterViewChecked(): void {\n if (this.chartRef && this.chartRef.nativeElement.clientWidth != this.lastWidth) {\n this.lastWidth = this.chartRef.nativeElement.clientWidth;\n if (this.chart) {\n this.chart.reflow();\n } else if (this.series && this.series.length) {\n this.initChart();\n }\n }\n }\n\n initChart(): void {\n if (this.series) {\n const chartOptions = ChartColumnOptions.buildColumn(this.chartOptions, this.simple);\n ChartColumnOptions.configure(this.series, chartOptions, this.color, this.labelDateFormat);\n this.chart = new Chart(this.chartRef.nativeElement, chartOptions);\n if (this.chart) {\n ChartColumnOptions.redrawWithRoundedColumns(this.chart);\n }\n }\n }\n}\n","<div #chart></div>\n","export enum ChartMetricType {\n default,\n total\n}\n\nexport class ChartMetric {\n\n children?: ChartMetric[];\n name: string;\n type?: ChartMetricType;\n value: number;\n\n}\n","import {ChangeDetectionStrategy, Component, Input} from '@angular/core';\nimport {ChartMetric, ChartMetricType} from '../chart-metric';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: \"ap-chart-metrics-list\",\n styleUrls: ['chart-metrics-list.component.scss'],\n templateUrl: 'chart-metrics-list.component.html'\n})\nexport class ChartMetricsListComponent {\n\n @Input() metrics: ChartMetric[];\n @Input() locale: string;\n\n ChartMetricType = ChartMetricType;\n digitsInfo: string = '1.0-1';\n\n}\n","<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","import {ChartOptions, mergeDeep} from '../chart-options';\nimport * as Highcharts from 'highcharts';\nimport {ChartColors} from '../chart-colors';\n\nexport class ChartHeatmapOptions extends ChartOptions {\n\n static build(options: Highcharts.Options): Highcharts.Options {\n const defaultHeatmapOptions: Highcharts.Options = {\n chart: {\n type: 'heatmap',\n height: 600\n },\n colorAxis: {\n allowDecimals: false,\n gridLineWidth: 2,\n gridLineColor: 'white',\n min: 0,\n labels: {\n style: {\n fontSize: '12px'\n }\n }\n },\n legend: {\n enabled: false\n },\n plotOptions: {\n heatmap: {\n borderColor: ChartColors.GREY_COLORS[10],\n borderWidth: 1,\n nullColor: 'white'\n }\n },\n tooltip: {\n headerFormat: '',\n pointFormat: `<div style=\"border-bottom: 1px solid ${ChartColors.GREY_COLORS[10]}; padding: 0 8px 7px\">`\n + `<span style=\"font-size: 12px; color: ${ChartColors.GREY_COLORS[60]}\">{point.tooltipHeaderLabel}</span></div>`\n + `<div style=\"font-size: 14px; color: ${ChartColors.GREY_COLORS[100]}; margin: 6px 8px 0 8px;\">`\n + `<span style=\"color:{point.color}\">\\u25CF</span> {series.name}: <b>{point.value}</b></div>`,\n },\n xAxis: {\n labels: {\n formatter: function () {\n return this.value.toString();\n }\n },\n lineWidth: 1,\n tickWidth: 0,\n visible: true\n },\n yAxis: {\n lineWidth: 0,\n tickInterval: 3,\n reversed: true,\n visible: true\n }\n };\n return super.build(mergeDeep(defaultHeatmapOptions, options));\n }\n\n static configureHeatmap(categoriesX: string[],\n categoriesY: string[],\n series: Highcharts.SeriesOptionsType[],\n options: Highcharts.Options,\n labelDateFormat?: string) {\n super.configure(series, options, null, labelDateFormat);\n if (categoriesX && categoriesX.length) {\n (options.xAxis as Highcharts.XAxisOptions).categories = categoriesX;\n }\n if (categoriesY && categoriesY.length) {\n (options.yAxis as Highcharts.YAxisOptions).categories = categoriesY;\n }\n }\n}\n","import {AfterViewChecked, Component, ElementRef, Input, OnChanges, SimpleChanges, ViewChild} from '@angular/core';\nimport {mapChart, Options, SeriesHeatmapOptions} from 'highcharts/highmaps';\nimport {ChartHeatmapOptions} from './chart-heatmap-options.model';\n\n@Component({\n selector: 'ap-chart-heatmap',\n templateUrl: './chart-heatmap.component.html',\n})\nexport class ChartHeatmapComponent implements AfterViewChecked, OnChanges {\n\n @ViewChild('chart') chartRef: ElementRef;\n\n @Input() categoriesX: string[] = [];\n @Input() categoriesY: string[] = [];\n @Input() chartOptions: Options = {}; // https://api.highcharts.com/highcharts/\n @Input() labelDateFormat: string;\n @Input() series: SeriesHeatmapOptions[];\n\n private chart;\n private lastWidth = 0;\n\n ngOnChanges(changes: SimpleChanges): void {\n if ((changes.series && !changes.series.firstChange)) {\n this.initChart();\n }\n }\n\n ngAfterViewChecked(): void {\n if (this.chartRef && this.chartRef.nativeElement.clientWidth != this.lastWidth) {\n this.lastWidth = this.chartRef.nativeElement.clientWidth;\n if (this.chart) {\n this.chart.reflow();\n } else if (this.series && this.series.length) {\n this.initChart();\n }\n }\n }\n\n private initChart(): void {\n if (this.series) {\n const chartOptions = ChartHeatmapOptions.build(this.chartOptions);\n ChartHeatmapOptions.configureHeatmap(this.categoriesX, this.categoriesY, this.series, chartOptions, this.labelDateFormat);\n mapChart(this.chartRef.nativeElement, chartOptions);\n }\n }\n\n}\n","<div #chart></div>\n","import {ChartOptions, mergeDeep} from '../chart-options';\nimport {Options} from 'highcharts';\n\nexport class ChartSplineOptions extends ChartOptions {\n\n static buildSpline(options: Options, singleDayEnabled: boolean): Options {\n const defaultSplineOptions: Options = {\n chart: {\n type: 'spline'\n },\n plotOptions: {\n series: {\n marker: {\n enabled: singleDayEnabled,\n radius: singleDayEnabled ? 5 : 2,\n symbol: 'circle'\n }\n }\n },\n xAxis: {\n type: 'datetime'\n }\n };\n return super.build(mergeDeep(defaultSplineOptions, options));\n }\n\n}\n","import {AfterViewChecked, Component, ElementRef, Input, OnChanges, SimpleChanges, ViewChild} from '@angular/core';\nimport {ChartSplineOptions} from './chart-spline-options.model';\nimport {ChartColor} from '../chart-colors';\nimport {Chart, Options, SeriesSplineOptions} from 'highcharts';\n\n@Component({\n selector: 'ap-chart-spline',\n templateUrl: './chart-spline.component.html',\n})\nexport class ChartSplineComponent implements AfterViewChecked, OnChanges {\n\n @ViewChild('chart') chartRef: ElementRef;\n\n @Input() chartOptions: Options = {}; // https://api.highcharts.com/highcharts/\n @Input() color: ChartColor = ChartColor.ElectricBlue;\n @Input() labelDateFormat: string;\n @Input() series: SeriesSplineOptions[];\n\n private chart: Chart;\n private lastWidth = 0;\n\n ngOnChanges(changes: SimpleChanges): void {\n if ((changes.series && !changes.series.firstChange) || (changes.color && !changes.color.firstChange)) {\n this.initChart();\n }\n }\n\n ngAfterViewChecked(): void {\n if (this.chartRef && this.chartRef.nativeElement.clientWidth !== this.lastWidth) {\n this.lastWidth = this.chartRef.nativeElement.clientWidth;\n if (this.chart) {\n this.chart.reflow();\n } else if (this.series && this.series.length) {\n this.initChart();\n }\n }\n }\n\n private initChart(): void {\n if (this.series) {\n const chartOptions = ChartSplineOptions.buildSpline(this.chartOptions, this.series[0].data?.length === 1);\n ChartSplineOptions.configure(this.series, chartOptions, this.color, this.labelDateFormat);\n this.chart = new Chart(this.chartRef.nativeElement, chartOptions);\n }\n }\n\n}\n","<div #chart></div>\n","import {ChartOptions, mergeDeep} from '../chart-options';\nimport {Options, SeriesPieOptions} from 'highcharts';\nimport {ChartColor, ChartColors} from './../chart-colors';\n\nexport class ChartPieOptions extends ChartOptions {\n\n static buildPie(options: Options, innerLabels: boolean): Options {\n const defaultPieOptions: Options = {\n chart: {\n type: 'pie',\n plotBackgroundColor: null,\n plotBorderWidth: null,\n plotShadow: false\n },\n plotOptions: {\n pie: {\n dataLabels: {\n distance: innerLabels ? -40 : 30,\n useHTML: true\n },\n innerSize: '50%'\n },\n series: {\n allowPointSelect: !innerLabels,\n dataLabels: innerLabels ? {\n format: '{point.percentage:.1f}%',\n style: {\n fontSize: '16px',\n color: 'white',\n textOutline: '0'\n }\n } : {\n style: {\n fontSize: '12px',\n color: ChartColors.GREY_COLORS[60]\n }\n },\n showInLegend: innerLabels,\n states: {\n inactive: {\n opacity: 1\n }\n }\n }\n },\n legend: innerLabels ? {\n symbolHeight: 10,\n enabled: true\n } : {}\n };\n return super.build(mergeDeep(defaultPieOptions, options));\n }\n\n static configurePie(series: SeriesPieOptions[],\n options: Options,\n color: ChartColor,\n labelDateFormat: string,\n innerLabels: boolean): void {\n super.configure(series, options, color, labelDateFormat);\n if (innerLabels) {\n options.legend.enabled = true;\n }\n if (series && series.length > 0 && series[0]) {\n options.colors = ChartColors.getColors((series[0] as SeriesPieOptions).data.length, color);\n options.plotOptions.pie.point ??= {};\n options.plotOptions.pie.point.events ??= {};\n // entering a slice\n options.plotOptions.pie.point.events.mouseOver = function(): void {\n this.series.chart.series[0].points.forEach(point => {\n if (point.index !== this.index) {\n point.update({\n color: ChartColors.GREY_COLORS[5]\n }, false);\n if (innerLabels) {\n point.update({\n dataLabels: {\n style: {\n color: ChartColors.GREY_COLORS[20]\n }\n }\n }, false);\n }\n }\n });\n this.series.chart.redraw(false);\n };\n // leaving a slice\n options.plotOptions.pie.point.events.mouseOut = function(): void {\n this.series.chart.series[0].points.forEach((point, i) => {\n if (point.index !== this.index) {\n point.update({\n color: options.colors[i % options.colors.length]\n }, false);\n if (innerLabels) {\n point.update({\n dataLabels: {\n style: {\n color: 'white'\n }\n }\n }, false);\n }\n }\n });\n };\n options.plotOptions.pie.events ??= {};\n // leaving the whole pie\n options.plotOptions.pie.events.mouseOut = function(): void {\n this.chart.series[0].points.forEach((point, i) => {\n point.update({\n color: options.colors[i % options.colors.length]\n }, false);\n if (innerLabels) {\n point.update({\n dataLabels: {\n style: {\n color: 'white'\n }\n }\n }, false);\n }\n });\n this.chart.redraw();\n };\n }\n }\n\n}\n\n","import {AfterViewChecked, Component, ElementRef, Input, OnChanges, SimpleChanges, ViewChild} from '@angular/core';\nimport {ChartPieOptions} from './chart-pie-options.model';\nimport {ChartColor} from '../chart-colors';\nimport {Chart, Options, SeriesPieOptions} from 'highcharts';\n\n@Component({\n selector: 'ap-chart-pie',\n templateUrl: './chart-pie.component.html',\n})\nexport class ChartPieComponent implements AfterViewChecked, OnChanges {\n\n @ViewChild('chart') chartRef: ElementRef;\n\n @Input() chartOptions: Options = {}; // https://api.highcharts.com/highcharts/\n @Input() color: ChartColor = ChartColor.ElectricBlue;\n @Input() innerLabels = false;\n @Input() labelDateFormat: string;\n @Input() series: SeriesPieOptions[];\n\n private chart: Chart;\n private lastWidth = 0;\n\n ngOnChanges(changes: SimpleChanges): void {\n if ((changes.series && !changes.series.firstChange) || (changes.color && !changes.color.firstChange)) {\n this.initChart();\n }\n }\n\n ngAfterViewChecked(): void {\n if (this.chartRef && this.chartRef.nativeElement.clientWidth !== this.lastWidth) {\n this.lastWidth = this.chartRef.nativeElement.clientWidth;\n if (this.chart) {\n this.chart.reflow();\n } else if (this.series && this.series.length) {\n this.initChart();\n }\n }\n }\n\n initChart(): void {\n if (this.series) {\n const chartOptions = ChartPieOptions.buildPie(this.chartOptions, this.innerLabels);\n ChartPieOptions.configurePie(this.series, chartOptions, this.color, this.labelDateFormat, this.innerLabels);\n this.chart = new Chart(this.chartRef.nativeElement, chartOptions);\n }\n }\n}\n","<div #chart></div>\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {MatListModule} from '@angular/material/list';\nimport {HighchartsChartModule} from 'highcharts-angular';\n\nimport {ChartBarComponent} from './chart-bar/chart-bar.component';\nimport {ChartColumnComponent} from './chart-column/chart-column.component';\nimport {ChartMetricsListComponent} from './chart-metrics-list/chart-metrics-list.component';\nimport {ChartHeatmapComponent} from './chart-heatmap/chart-heatmap.component';\nimport {ChartSplineComponent} from './chart-spline/chart-spline.component';\nimport {ChartPieComponent} from './chart-pie/chart-pie.component';\n\n@NgModule({\n declarations: [\n ChartBarComponent,\n ChartColumnComponent,\n ChartHeatmapComponent,\n ChartMetricsListComponent,\n ChartSplineComponent,\n ChartPieComponent\n ],\n imports: [\n CommonModule,\n HighchartsChartModule,\n MatListModule\n ],\n exports: [\n ChartBarComponent,\n ChartColumnComponent,\n ChartHeatmapComponent,\n ChartMetricsListComponent,\n ChartSplineComponent,\n ChartPieComponent\n ],\n providers: [\n ]\n})\nexport class AgorapulseUiChartsModule {\n}\n","/*\n * Public API Surface of ui-charts\n */\n\nimport * as Highcharts from 'highcharts';\nimport {borderRadiusPlugin} from './src/lib/highcharts-border-radius-plugin';\n\nborderRadiusPlugin(Highcharts);\n\nexport {AgorapulseUiChartsModule} from './src/lib/agorapulse-ui-charts.module';\nexport {ChartBarComponent} from './src/lib/chart-bar/chart-bar.component';\nexport {ChartColor, ChartColors} from './src/lib/chart-colors';\nexport {ChartColumnComponent} from './src/lib/chart-column/chart-column.component';\nexport {ChartHeatmapComponent} from './src/lib/chart-heatmap/chart-heatmap.component';\nexport {ChartMetric, ChartMetricType} from './src/lib/chart-metric';\nexport {ChartMetricsListComponent} from './src/lib/chart-metrics-list/chart-metrics-list.component';\nexport {ChartOptions, mergeDeep} from './src/lib/chart-options';\nexport {ChartPieComponent} from './src/lib/chart-pie/chart-pie.component';\nexport {ChartSplineComponent} from './src/lib/chart-spline/chart-spline.component';\n\nexport {borderRadiusPlugin} from './src/lib/highcharts-border-radius-plugin';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agorapulse-ui-charts.mjs","sources":["../../../libs/ui-charts/src/lib/highcharts-border-radius-plugin.ts","../../../libs/ui-charts/src/lib/chart-colors.ts","../../../libs/ui-charts/src/lib/chart-options.ts","../../../libs/ui-charts/src/lib/chart-bar/chart-bar-options.model.ts","../../../libs/ui-charts/src/lib/chart-bar/chart-bar.component.ts","../../../libs/ui-charts/src/lib/chart-bar/chart-bar.component.html","../../../libs/ui-charts/src/lib/chart-column/chart-column-options.model.ts","../../../libs/ui-charts/src/lib/chart-column/chart-column.component.ts","../../../libs/ui-charts/src/lib/chart-column/chart-column.component.html","../../../libs/ui-charts/src/lib/chart-metric.ts","../../../libs/ui-charts/src/lib/chart-metrics-list/chart-metrics-list.component.ts","../../../libs/ui-charts/src/lib/chart-metrics-list/chart-metrics-list.component.html","../../../libs/ui-charts/src/lib/chart-heatmap/chart-heatmap-options.model.ts","../../../libs/ui-charts/src/lib/chart-heatmap/chart-heatmap.component.ts","../../../libs/ui-charts/src/lib/chart-heatmap/chart-heatmap.component.html","../../../libs/ui-charts/src/lib/chart-spline/chart-spline-options.model.ts","../../../libs/ui-charts/src/lib/chart-spline/chart-spline.component.ts","../../../libs/ui-charts/src/lib/chart-spline/chart-spline.component.html","../../../libs/ui-charts/src/lib/chart-pie/chart-pie-options.model.ts","../../../libs/ui-charts/src/lib/chart-pie/chart-pie.component.ts","../../../libs/ui-charts/src/lib/chart-pie/chart-pie.component.html","../../../libs/ui-charts/src/lib/agorapulse-ui-charts.module.ts","../../../libs/ui-charts/index.ts","../../../libs/ui-charts/agorapulse-ui-charts.ts"],"sourcesContent":["export const borderRadiusPlugin = function (H) {\n if (H.borderRadiusPlugininitialized) {\n return;\n }\n H.borderRadiusPlugininitialized = true;\n\n H.wrap(H.seriesTypes.column.prototype, 'translate', function (proceed) {\n const options = this.options;\n const topMargin = options.topMargin || 0;\n const bottomMargin = options.bottomMargin || 0;\n const borderRadiusTopLeftSettings = options.borderRadiusTopLeft;\n const borderRadiusTopRightSettings = options.borderRadiusTopRight;\n const borderRadiusBottomLeftSettings = options.borderRadiusBottomLeft;\n const borderRadiusBottomRightSettings = options.borderRadiusBottomRight;\n\n proceed.call(this);\n\n if (!this.points) {\n return;\n }\n this.points.forEach(function (point) {\n\n if (borderRadiusTopLeftSettings || borderRadiusTopRightSettings || borderRadiusBottomLeftSettings || borderRadiusBottomRightSettings) {\n const w = point.shapeArgs.width;\n const h = point.shapeArgs.height;\n const x = point.shapeArgs.x;\n const y = point.shapeArgs.y;\n const borderRadiusTopLeft = (borderRadiusTopLeftSettings && borderRadiusTopLeftSettings.length) ? borderRadiusTopLeftSettings[point.index] : borderRadiusTopLeftSettings || 0;\n const borderRadiusTopRight = (borderRadiusTopRightSettings && borderRadiusTopRightSettings.length) ? borderRadiusTopRightSettings[point.index] : borderRadiusTopRightSettings || 0;\n const borderRadiusBottomLeft = (borderRadiusBottomLeftSettings && borderRadiusBottomLeftSettings.length) ? borderRadiusBottomLeftSettings[point.index] : borderRadiusBottomLeftSettings || 0;\n const borderRadiusBottomRight = (borderRadiusBottomRightSettings && borderRadiusBottomRightSettings.length) ? borderRadiusBottomRightSettings[point.index] : borderRadiusBottomRightSettings || 0;\n\n let radiusTopLeft = H.relativeLength(borderRadiusTopLeft, w);\n let radiusTopRight = H.relativeLength(borderRadiusTopRight, w);\n let radiusBottomRight = H.relativeLength(borderRadiusBottomRight, w);\n let radiusBottomLeft = H.relativeLength(borderRadiusBottomLeft, w);\n\n const maxR = Math.min(w, h) / 2;\n\n radiusTopLeft = radiusTopLeft > maxR ? maxR : radiusTopLeft;\n radiusTopRight = radiusTopRight > maxR ? maxR : radiusTopRight;\n radiusBottomRight = radiusBottomRight > maxR ? maxR : radiusBottomRight;\n radiusBottomLeft = radiusBottomLeft > maxR ? maxR : radiusBottomLeft;\n\n point.dlBox = point.shapeArgs;\n\n point.shapeType = 'path';\n point.shapeArgs = {\n d: [\n 'M', x + radiusTopLeft, y + topMargin,\n 'L', x + w - radiusTopRight, y + topMargin,\n 'C', x + w - radiusTopRight / 2, y, x + w, y + radiusTopRight / 2, x + w, y + radiusTopRight,\n 'L', x + w, y + h - radiusBottomRight,\n 'C', x + w, y + h - radiusBottomRight / 2, x + w - radiusBottomRight / 2, y + h, x + w - radiusBottomRight, y + h + bottomMargin,\n 'L', x + radiusBottomLeft, y + h + bottomMargin,\n 'C', x + radiusBottomLeft / 2, y + h, x, y + h - radiusBottomLeft / 2, x, y + h - radiusBottomLeft,\n 'L', x, y + radiusTopLeft,\n 'C', x, y + radiusTopLeft / 2, x + radiusTopLeft / 2, y, x + radiusTopLeft, y,\n 'Z'\n ]\n };\n }\n\n });\n });\n};\n","export enum ChartColor {\n Grey,\n Orange,\n SoftBlue,\n ElectricBlue,\n Purple,\n Green,\n}\n\nexport class ChartColors {\n\n static readonly SOFT_BLUE_COLORS = {\n '10': '#EFF5FC',\n '20': '#DFEDFA',\n '40': '#C0DBF4',\n '60': '#A0C8EF',\n '85': '#78B1E8',\n '100': '#61A4E4'\n };\n static readonly ELECTRIC_BLUE_COLORS = {\n '10': '#e8f4ff',\n '20': '#d1e8ff',\n '40': '#a2d1ff',\n '60': '#74bbfe',\n '85': '#3a9efe',\n '100': '#178dfe'\n };\n static readonly ORANGE_COLORS = {\n '10': '#FFEFE9',\n '20': '#FFE1D4',\n '40': '#FFC2A8',\n '60': '#FFA47D',\n '85': '#FF7E46',\n '100': '#FF6726'\n };\n static readonly GREEN_COLORS = {\n '10': '#ECF7ED',\n '20': '#DAF1DD',\n '40': '#B5E3BB',\n '60': '#8FD498',\n '85': '#61C26D',\n '100': '#45B854'\n };\n static readonly PURPLE_COLORS = {\n '10': '#EFEDF8',\n '20': '#E0DDF2',\n '40': '#C1BBE6',\n '60': '#A398D9',\n '85': '#7C6DC9',\n '100': '#6554C0'\n };\n static readonly GREY_COLORS = {\n '5': '#F5F5F7',\n '10': '#EAECEF',\n '20': '#D6DAE0',\n '40': '#AEB5C1',\n '60': '#858FA1',\n '85': '#5D6A82',\n '100': '#344563'\n };\n\n static readonly BLACK_COLOR: string = '#000000';\n static readonly LIMIT_COLOR: string = '#E81313';\n static readonly WHITE_COLOR: string = '#FFFFFF';\n\n static getChartColors(color: ChartColor): { [shade: string]: string } {\n switch (color) {\n case ChartColor.Orange:\n return this.ORANGE_COLORS;\n case ChartColor.SoftBlue:\n return this.SOFT_BLUE_COLORS;\n case ChartColor.ElectricBlue:\n return this.ELECTRIC_BLUE_COLORS;\n case ChartColor.Purple:\n return this.PURPLE_COLORS;\n case ChartColor.Green:\n return this.GREEN_COLORS;\n default:\n return this.GREY_COLORS;\n }\n }\n\n static getColors(seriesCount: number, color: ChartColor): string[] {\n const colors = this.getChartColors(color);\n switch (seriesCount) {\n case 1:\n return [colors[100]];\n case 2:\n return [colors[40], colors[100]];\n case 3:\n return [colors[20], colors[60], colors[100]];\n case 4:\n return [colors[20], colors[40], colors[60], colors[100]];\n case 5:\n return [colors[10], colors[20], colors[40], colors[60], colors[100]];\n default:\n return [colors[20], colors[40], colors[60], colors[100]];\n }\n }\n}\n","import {dateFormat, Options, SeriesOptionsType} from 'highcharts';\nimport {ChartColor, ChartColors} from './chart-colors';\n\nexport class ChartOptions {\n\n static readonly DEFAULT_DATE_FORMAT: string = '%A, %b %e, %Y';\n static readonly DEFAULT_OPTIONS: Options = {\n /*lang: {\n decimalPoint: (manager && manager.locale !== 'en') ? ',' : '.',\n resetZoom: resetZoomLabel,\n resetZoomTitle: resetZoomHtmlTitle,\n shortMonths: [\n shortJanuary, shortFebruary, shortMarch, shortApril, shortMay, shortJune,\n shortJuly, shortAugust, shortSeptember, shortOctober, shortNovember, shortDecember\n ],\n thousandsSep: (manager && manager.locale !== 'en') ? ' ' : ',',\n weekdays: this.weekDays,\n zoomIn: zoomInHtmlTitle,\n zoomOut: zoomOutHtmlTitle\n },*/\n chart: {\n spacingRight: 20,\n zoomType: 'xy',\n panning: {\n enabled: true\n },\n panKey: 'shift',\n style: {\n fontFamily: 'Averta, \\'Open Sans\\', Helvetica, sans-serif'\n },\n resetZoomButton: {\n theme: {\n fill: ChartColors.WHITE_COLOR,\n r: 4,\n style: {\n color: ChartColors.GREY_COLORS[100],\n fontSize: '12px'\n },\n states: {\n hover: {\n fill: ChartColors.GREY_COLORS[5]\n }\n }\n }\n }\n },\n colorAxis: {\n labels: {\n style: {\n color: ChartColors.GREY_COLORS[60]\n }\n }\n },\n credits: {\n enabled: false\n },\n legend: {\n borderWidth: 0,\n itemStyle: {\n color: ChartColors.GREY_COLORS[60],\n fontSize: '14px',\n fontWeight: 'normal'\n },\n itemHoverStyle: {\n color: ChartColors.GREY_COLORS[100],\n fontWeight: 'bold'\n }\n },\n plotOptions: {\n series: {\n states: {\n hover: {\n brightness: 0\n }\n },\n connectNulls: true,\n lineWidth: 4\n }\n },\n navigation: {\n buttonOptions: {\n y: 0\n }\n },\n title: {\n text: null\n },\n tooltip: {\n backgroundColor: ChartColors.WHITE_COLOR,\n borderRadius: 4,\n borderWidth: 0,\n dateTimeLabelFormats: {\n day: ChartOptions.DEFAULT_DATE_FORMAT,\n week: ChartOptions.DEFAULT_DATE_FORMAT\n },\n shadow: {\n color: ChartColors.BLACK_COLOR,\n offsetX: 0,\n offsetY: 2,\n opacity: 0.02,\n width: 6\n },\n split: false,\n shared: true,\n useHTML: true,\n headerFormat: `<div style=\"border-bottom: 1px solid ${ChartColors.GREY_COLORS[10]}; padding: 0 8px 7px\">`\n + `<span style=\"font-size: 12px; color: ${ChartColors.GREY_COLORS[60]}\">{point.key}</span></div>`,\n pointFormat: `<div style=\"font-size: 14px; color: ${ChartColors.GREY_COLORS[100]}; margin: 6px 8px 0 8px;\">`\n + '<span style=\"color:{point.color}\">\\u25CF</span> {series.name}: <b>{point.y}</b></div>'\n },\n xAxis: {\n gridLineColor: ChartColors.GREY_COLORS[10],\n lineColor: ChartColors.GREY_COLORS[10],\n tickColor: ChartColors.GREY_COLORS[10],\n gridLineWidth: 1,\n title: {\n text: null\n },\n labels: {\n style: {\n color: ChartColors.GREY_COLORS[40],\n fontSize: '12px'\n }\n }\n },\n yAxis: {\n allowDecimals: false,\n gridLineColor: ChartColors.GREY_COLORS[10],\n lineColor: ChartColors.GREY_COLORS[10],\n gridLineWidth: 1,\n title: {\n text: null\n },\n labels: {\n style: {\n color: ChartColors.GREY_COLORS[40],\n fontSize: '12px'\n }\n }\n }\n };\n\n static build(options: Options): Options {\n return mergeDeep(ChartOptions.DEFAULT_OPTIONS, options);\n }\n\n static configure(series: SeriesOptionsType[],\n options: Options,\n color: ChartColor,\n labelDateFormat?: string) {\n // Configure axis\n options.xAxis = mergeDeep({\n labels: {\n formatter: function(): string {\n return dateFormat(labelDateFormat ? labelDateFormat : '%m/%d', this.value);\n }\n },\n //minTickInterval: 24 * 60 * 60 * 1000 // One day\n }, options.xAxis);\n // Configure series\n if (series && series.length) {\n options.series = series;\n options.legend.enabled = series.length >= 2;\n options.colors = ChartColors.getColors(series.length, color);\n }\n }\n}\n\nexport function isObject(item) {\n return (item && typeof item === 'object' && !Array.isArray(item));\n}\n\nexport function mergeDeep(target, source) {\n let output = deepCopy(target);\n if (isObject(target) && isObject(source)) {\n Object.keys(source).forEach(key => {\n if (isObject(source[key])) {\n if (!(key in target))\n Object.assign(output, {[key]: source[key]});\n else\n output[key] = mergeDeep(target[key], source[key]);\n } else {\n Object.assign(output, {[key]: source[key]});\n }\n });\n }\n return output;\n}\n\nfunction deepCopy(source) {\n if (typeof source !== \"object\" || source === null) {\n return source // Return the value if source is not an object\n }\n // Create an array or object to hold the values\n const newObject = Array.isArray(source) ? [] : {}\n for (let key in source) {\n if (source.hasOwnProperty(key)) {\n // Recursively (deep) copy for nested objects, including arrays\n newObject[key] = deepCopy(source[key])\n }\n }\n return newObject\n}\n","import {ChartOptions, mergeDeep} from '../chart-options';\nimport {Options, SeriesBarOptions, XAxisOptions, YAxisOptions} from 'highcharts';\nimport {PlotRoundedSeriesOptions, SeriesRoundedBarOptions} from './../highchart-series.model';\nimport {ChartColor} from './../chart-colors';\n\nexport class ChartBarOptions extends ChartOptions {\n\n static build(options: Options): Options {\n const seriesOptions: PlotRoundedSeriesOptions = {\n borderRadiusTopLeft: 100,\n borderRadiusTopRight: 100,\n borderWidth: 0\n };\n const defaultColumnOptions: Options = {\n chart: {\n type: 'bar'\n },\n xAxis: {\n categories: undefined,\n gridLineWidth: 0,\n lineWidth: 0,\n reversed: false,\n tickWidth: 0,\n labels: {\n align: 'center',\n formatter(): string {\n if (this.value && this.value.toString().length > 16) {\n return this.value.toString().substring(0, 15) + '...';\n }\n return this.value.toString();\n },\n style: {\n width: 100\n }\n },\n type: 'category'\n },\n yAxis: {\n type: 'linear',\n minTickInterval: 1\n },\n plotOptions: {\n bar: {\n maxPointWidth: 18,\n pointWidth: 20\n },\n series: seriesOptions\n }\n };\n return super.build(mergeDeep(defaultColumnOptions, options));\n }\n\n static configureBar(series: SeriesBarOptions[],\n categories: string[],\n options: Options,\n opposite: boolean,\n color: ChartColor,\n labelDateFormat?: string): void {\n ChartOptions.configure(series, options, color, labelDateFormat);\n if (categories && categories.length) {\n (options.xAxis as XAxisOptions).categories = categories;\n }\n if (opposite && series.length === 2) {\n const negativeSerie = (series[0] as SeriesRoundedBarOptions);\n negativeSerie.borderRadiusBottomLeft = 100;\n negativeSerie.borderRadiusBottomRight = 100;\n negativeSerie.borderRadiusTopLeft = 0;\n negativeSerie.borderRadiusTopRight = 0;\n negativeSerie.data = negativeSerie.data.map((point: any) => {\n if (point && isNaN(point)) {\n return {\n ...point,\n y: -Math.abs(point.y)\n };\n } else if (!isNaN(point)) {\n return -Math.abs(point);\n }\n return point;\n });\n options.plotOptions.series.stacking = 'normal';\n (options.yAxis as YAxisOptions).labels.formatter = function(): string {\n return Math.abs(+this.value) + '%';\n };\n options.tooltip.pointFormatter = function(): string {\n 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>`;\n };\n }\n }\n}\n","import {AfterViewChecked, Component, ElementRef, Input, OnChanges, SimpleChanges, ViewChild} from '@angular/core';\nimport {Chart, Options, SeriesBarOptions} from 'highcharts';\nimport {ChartBarOptions} from './chart-bar-options.model';\nimport {ChartColor} from '../chart-colors';\n\n@Component({\n selector: 'ap-chart-bar',\n templateUrl: './chart-bar.component.html',\n})\nexport class ChartBarComponent implements AfterViewChecked, OnChanges {\n\n @ViewChild('chart') chartRef: ElementRef;\n\n @Input() categories: string[] = [];\n @Input() chartOptions: Options = {}; // https://api.highcharts.com/highcharts/\n @Input() color: ChartColor = ChartColor.ElectricBlue;\n @Input() labelDateFormat: string;\n @Input() opposite: boolean;\n @Input() series: SeriesBarOptions[];\n\n private chart: Chart;\n private lastWidth = 0;\n\n ngOnChanges(changes: SimpleChanges): void {\n if ((changes.series && !changes.series.firstChange) || (changes.color && !changes.color.firstChange)) {\n this.initChart();\n }\n }\n\n ngAfterViewChecked(): void {\n if (this.chartRef && this.chartRef.nativeElement.clientWidth != this.lastWidth) {\n this.lastWidth = this.chartRef.nativeElement.clientWidth;\n if (this.chart) {\n this.chart.reflow();\n } else if (this.series && this.series.length) {\n this.initChart();\n }\n }\n }\n\n initChart(): void {\n if (this.series) {\n const chartOptions = ChartBarOptions.build(this.chartOptions);\n ChartBarOptions.configureBar(this.series, this.categories, chartOptions, this.opposite, this.color, this.labelDateFormat);\n this.chart = new Chart(this.chartRef.nativeElement, chartOptions);\n }\n }\n}\n","<div #chart></div>\n","import {ChartOptions, mergeDeep} from '../chart-options';\nimport {Chart, dateFormat, Options, Series} from 'highcharts';\nimport {SeriesRoundedColumnOptions} from '../highchart-series.model';\n\nexport class ChartColumnOptions extends ChartOptions {\n\n static buildColumn(options: Options, simple: boolean): Options {\n const defaultColumnOptions: Options = {\n chart: {\n type: 'column'\n },\n legend: {\n symbolHeight: 10\n },\n plotOptions: {\n column: {\n stacking: 'normal',\n borderWidth: 0,\n maxPointWidth: 20,\n events: {\n hide(): void {\n ChartColumnOptions.redrawWithRoundedColumns(this.chart);\n },\n show(): void {\n ChartColumnOptions.redrawWithRoundedColumns(this.chart);\n }\n }\n }\n },\n xAxis: {\n type: 'datetime'\n }\n };\n const simpleColumnOptions: Options = {\n chart: {\n type: 'column',\n height: '80px'\n },\n credits: {\n enabled: false\n },\n plotOptions: {\n column: {\n events: {\n hide(): void {\n ChartColumnOptions.redrawWithRoundedColumns(this.chart);\n },\n show(): void {\n ChartColumnOptions.redrawWithRoundedColumns(this.chart);\n }\n },\n }\n },\n xAxis: {\n type: 'datetime',\n crosshair: true,\n labels: {\n enabled: false,\n formatter(): string {\n return dateFormat('%m/%d', +this.value);\n }\n },\n lineWidth: 0,\n tickWidth: 0,\n gridLineWidth: 0\n },\n yAxis: {\n min: 0,\n labels: {\n enabled: false\n },\n gridLineWidth: 0\n }\n };\n return super.build(mergeDeep(simple ? simpleColumnOptions : defaultColumnOptions, options));\n }\n\n static redrawWithRoundedColumns(chart: Chart): void {\n chart.series.map((serie, serieIndex: number, arr) => {\n ChartColumnOptions.roundSerie(arr, serie.options as SeriesRoundedColumnOptions, serieIndex);\n });\n chart.redraw(true);\n }\n\n static roundSerie(series: Series[], serie: SeriesRoundedColumnOptions, serieIndex: number): void {\n const roundedOptionMap = [];\n let borderRadius = 0;\n if (serie.data) {\n serie.data.forEach((point, columnIndex) => {\n // Check if all previous stacked data at the same abscissa (located higher on the graph) are missing or have a value of 0\n // if so, it means that this point is the visual top of the column, so we should round it\n const roundedColumnEnabled = series.slice(0, serieIndex)\n .every(otherSerie => {\n if (otherSerie.visible === false) {\n return true;\n }\n const pointAtSameAbscissa = (otherSerie.options as SeriesRoundedColumnOptions)\n .data.find(otherPoint => otherPoint[0] === point[0]);\n return !pointAtSameAbscissa || pointAtSameAbscissa[1] === 0;\n });\n borderRadius = roundedColumnEnabled ? 100 : 0;\n roundedOptionMap[columnIndex] = borderRadius;\n });\n serie.borderRadiusTopLeft = roundedOptionMap;\n serie.borderRadiusTopRight = roundedOptionMap;\n }\n }\n}\n","import {AfterViewChecked, Component, ElementRef, Input, OnChanges, SimpleChanges, ViewChild} from '@angular/core';\nimport {ChartColumnOptions} from './chart-column-options.model';\nimport {ChartColor} from '../chart-colors';\nimport {Chart, Options, SeriesColumnOptions} from 'highcharts';\n\n@Component({\n selector: 'ap-chart-column',\n templateUrl: './chart-column.component.html',\n})\nexport class ChartColumnComponent implements AfterViewChecked, OnChanges {\n\n @ViewChild('chart') chartRef: ElementRef;\n\n @Input() chartOptions: Options = {}; // https://api.highcharts.com/highcharts/\n @Input() color: ChartColor = ChartColor.ElectricBlue;\n @Input() labelDateFormat: string;\n @Input() series: SeriesColumnOptions[];\n @Input() simple: boolean = false;\n\n private chart: Chart;\n private lastWidth = 0;\n\n ngOnChanges(changes: SimpleChanges): void {\n if ((changes.series && !changes.series.firstChange) || (changes.color && !changes.color.firstChange)) {\n this.initChart();\n }\n }\n\n ngAfterViewChecked(): void {\n if (this.chartRef && this.chartRef.nativeElement.clientWidth != this.lastWidth) {\n this.lastWidth = this.chartRef.nativeElement.clientWidth;\n if (this.chart) {\n this.chart.reflow();\n } else if (this.series && this.series.length) {\n this.initChart();\n }\n }\n }\n\n initChart(): void {\n if (this.series) {\n const chartOptions = ChartColumnOptions.buildColumn(this.chartOptions, this.simple);\n ChartColumnOptions.configure(this.series, chartOptions, this.color, this.labelDateFormat);\n this.chart = new Chart(this.chartRef.nativeElement, chartOptions);\n if (this.chart) {\n ChartColumnOptions.redrawWithRoundedColumns(this.chart);\n }\n }\n }\n}\n","<div #chart></div>\n","export enum ChartMetricType {\n default,\n total\n}\n\nexport class ChartMetric {\n\n children?: ChartMetric[];\n name: string;\n type?: ChartMetricType;\n value: number;\n\n}\n","import {ChangeDetectionStrategy, Component, Input} from '@angular/core';\nimport {ChartMetric, ChartMetricType} from '../chart-metric';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: \"ap-chart-metrics-list\",\n styleUrls: ['chart-metrics-list.component.scss'],\n templateUrl: 'chart-metrics-list.component.html'\n})\nexport class ChartMetricsListComponent {\n\n @Input() metrics: ChartMetric[];\n @Input() locale: string;\n\n ChartMetricType = ChartMetricType;\n digitsInfo: string = '1.0-1';\n\n}\n","<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","import {ChartOptions, mergeDeep} from '../chart-options';\nimport * as Highcharts from 'highcharts';\nimport {ChartColors} from '../chart-colors';\n\nexport class ChartHeatmapOptions extends ChartOptions {\n\n static build(options: Highcharts.Options): Highcharts.Options {\n const defaultHeatmapOptions: Highcharts.Options = {\n chart: {\n type: 'heatmap',\n height: 600\n },\n colorAxis: {\n allowDecimals: false,\n gridLineWidth: 2,\n gridLineColor: 'white',\n min: 0,\n labels: {\n style: {\n fontSize: '12px'\n }\n }\n },\n legend: {\n enabled: false\n },\n plotOptions: {\n heatmap: {\n borderColor: ChartColors.GREY_COLORS[10],\n borderWidth: 1,\n nullColor: 'white'\n }\n },\n tooltip: {\n headerFormat: '',\n pointFormat: `<div style=\"border-bottom: 1px solid ${ChartColors.GREY_COLORS[10]}; padding: 0 8px 7px\">`\n + `<span style=\"font-size: 12px; color: ${ChartColors.GREY_COLORS[60]}\">{point.tooltipHeaderLabel}</span></div>`\n + `<div style=\"font-size: 14px; color: ${ChartColors.GREY_COLORS[100]}; margin: 6px 8px 0 8px;\">`\n + `<span style=\"color:{point.color}\">\\u25CF</span> {series.name}: <b>{point.value}</b></div>`,\n },\n xAxis: {\n labels: {\n formatter: function () {\n return this.value.toString();\n }\n },\n lineWidth: 1,\n tickWidth: 0,\n visible: true\n },\n yAxis: {\n lineWidth: 0,\n tickInterval: 3,\n reversed: true,\n visible: true\n }\n };\n return super.build(mergeDeep(defaultHeatmapOptions, options));\n }\n\n static configureHeatmap(categoriesX: string[],\n categoriesY: string[],\n series: Highcharts.SeriesOptionsType[],\n options: Highcharts.Options,\n labelDateFormat?: string) {\n super.configure(series, options, null, labelDateFormat);\n if (categoriesX && categoriesX.length) {\n (options.xAxis as Highcharts.XAxisOptions).categories = categoriesX;\n }\n if (categoriesY && categoriesY.length) {\n (options.yAxis as Highcharts.YAxisOptions).categories = categoriesY;\n }\n }\n}\n","import {AfterViewChecked, Component, ElementRef, Input, OnChanges, SimpleChanges, ViewChild} from '@angular/core';\nimport {mapChart, Options, SeriesHeatmapOptions} from 'highcharts/highmaps';\nimport {ChartHeatmapOptions} from './chart-heatmap-options.model';\n\n@Component({\n selector: 'ap-chart-heatmap',\n templateUrl: './chart-heatmap.component.html',\n})\nexport class ChartHeatmapComponent implements AfterViewChecked, OnChanges {\n\n @ViewChild('chart') chartRef: ElementRef;\n\n @Input() categoriesX: string[] = [];\n @Input() categoriesY: string[] = [];\n @Input() chartOptions: Options = {}; // https://api.highcharts.com/highcharts/\n @Input() labelDateFormat: string;\n @Input() series: SeriesHeatmapOptions[];\n\n private chart;\n private lastWidth = 0;\n\n ngOnChanges(changes: SimpleChanges): void {\n if ((changes.series && !changes.series.firstChange)) {\n this.initChart();\n }\n }\n\n ngAfterViewChecked(): void {\n if (this.chartRef && this.chartRef.nativeElement.clientWidth != this.lastWidth) {\n this.lastWidth = this.chartRef.nativeElement.clientWidth;\n if (this.chart) {\n this.chart.reflow();\n } else if (this.series && this.series.length) {\n this.initChart();\n }\n }\n }\n\n private initChart(): void {\n if (this.series) {\n const chartOptions = ChartHeatmapOptions.build(this.chartOptions);\n ChartHeatmapOptions.configureHeatmap(this.categoriesX, this.categoriesY, this.series, chartOptions, this.labelDateFormat);\n mapChart(this.chartRef.nativeElement, chartOptions);\n }\n }\n\n}\n","<div #chart></div>\n","import {ChartOptions, mergeDeep} from '../chart-options';\nimport {Options} from 'highcharts';\n\nexport class ChartSplineOptions extends ChartOptions {\n\n static buildSpline(options: Options, singleDayEnabled: boolean): Options {\n const defaultSplineOptions: Options = {\n chart: {\n type: 'spline'\n },\n plotOptions: {\n series: {\n marker: {\n enabled: singleDayEnabled,\n radius: singleDayEnabled ? 5 : 2,\n symbol: 'circle'\n }\n }\n },\n xAxis: {\n type: 'datetime'\n }\n };\n return super.build(mergeDeep(defaultSplineOptions, options));\n }\n\n}\n","import {AfterViewChecked, Component, ElementRef, Input, OnChanges, SimpleChanges, ViewChild} from '@angular/core';\nimport {ChartSplineOptions} from './chart-spline-options.model';\nimport {ChartColor} from '../chart-colors';\nimport {Chart, Options, SeriesSplineOptions} from 'highcharts';\n\n@Component({\n selector: 'ap-chart-spline',\n templateUrl: './chart-spline.component.html',\n})\nexport class ChartSplineComponent implements AfterViewChecked, OnChanges {\n\n @ViewChild('chart') chartRef: ElementRef;\n\n @Input() chartOptions: Options = {}; // https://api.highcharts.com/highcharts/\n @Input() color: ChartColor = ChartColor.ElectricBlue;\n @Input() labelDateFormat: string;\n @Input() series: SeriesSplineOptions[];\n\n private chart: Chart;\n private lastWidth = 0;\n\n ngOnChanges(changes: SimpleChanges): void {\n if ((changes.series && !changes.series.firstChange) || (changes.color && !changes.color.firstChange)) {\n this.initChart();\n }\n }\n\n ngAfterViewChecked(): void {\n if (this.chartRef && this.chartRef.nativeElement.clientWidth !== this.lastWidth) {\n this.lastWidth = this.chartRef.nativeElement.clientWidth;\n if (this.chart) {\n this.chart.reflow();\n } else if (this.series && this.series.length) {\n this.initChart();\n }\n }\n }\n\n private initChart(): void {\n if (this.series) {\n const chartOptions = ChartSplineOptions.buildSpline(this.chartOptions, this.series[0].data?.length === 1);\n ChartSplineOptions.configure(this.series, chartOptions, this.color, this.labelDateFormat);\n this.chart = new Chart(this.chartRef.nativeElement, chartOptions);\n }\n }\n\n}\n","<div #chart></div>\n","import {ChartOptions, mergeDeep} from '../chart-options';\nimport {Options, SeriesPieOptions} from 'highcharts';\nimport {ChartColor, ChartColors} from './../chart-colors';\n\nexport class ChartPieOptions extends ChartOptions {\n\n static buildPie(options: Options, innerLabels: boolean): Options {\n const defaultPieOptions: Options = {\n chart: {\n type: 'pie',\n plotBackgroundColor: null,\n plotBorderWidth: null,\n plotShadow: false\n },\n plotOptions: {\n pie: {\n dataLabels: {\n distance: innerLabels ? -40 : 30,\n useHTML: true\n },\n innerSize: '50%'\n },\n series: {\n allowPointSelect: !innerLabels,\n dataLabels: innerLabels ? {\n format: '{point.percentage:.1f}%',\n style: {\n fontSize: '16px',\n color: 'white',\n textOutline: '0'\n }\n } : {\n style: {\n fontSize: '12px',\n color: ChartColors.GREY_COLORS[60]\n }\n },\n showInLegend: innerLabels,\n states: {\n inactive: {\n opacity: 1\n }\n }\n }\n },\n legend: innerLabels ? {\n symbolHeight: 10,\n enabled: true\n } : {}\n };\n return super.build(mergeDeep(defaultPieOptions, options));\n }\n\n static configurePie(series: SeriesPieOptions[],\n options: Options,\n color: ChartColor,\n labelDateFormat: string,\n innerLabels: boolean): void {\n super.configure(series, options, color, labelDateFormat);\n if (innerLabels) {\n options.legend.enabled = true;\n }\n if (series && series.length > 0 && series[0]) {\n options.colors = ChartColors.getColors((series[0] as SeriesPieOptions).data.length, color);\n options.plotOptions.pie.point ??= {};\n options.plotOptions.pie.point.events ??= {};\n // entering a slice\n options.plotOptions.pie.point.events.mouseOver = function(): void {\n this.series.chart.series[0].points.forEach(point => {\n if (point.index !== this.index) {\n point.update({\n color: ChartColors.GREY_COLORS[5]\n }, false);\n if (innerLabels) {\n point.update({\n dataLabels: {\n style: {\n color: ChartColors.GREY_COLORS[20]\n }\n }\n }, false);\n }\n }\n });\n this.series.chart.redraw(false);\n };\n // leaving a slice\n options.plotOptions.pie.point.events.mouseOut = function(): void {\n this.series.chart.series[0].points.forEach((point, i) => {\n if (point.index !== this.index) {\n point.update({\n color: options.colors[i % options.colors.length]\n }, false);\n if (innerLabels) {\n point.update({\n dataLabels: {\n style: {\n color: 'white'\n }\n }\n }, false);\n }\n }\n });\n };\n options.plotOptions.pie.events ??= {};\n // leaving the whole pie\n options.plotOptions.pie.events.mouseOut = function(): void {\n this.chart.series[0].points.forEach((point, i) => {\n point.update({\n color: options.colors[i % options.colors.length]\n }, false);\n if (innerLabels) {\n point.update({\n dataLabels: {\n style: {\n color: 'white'\n }\n }\n }, false);\n }\n });\n this.chart.redraw();\n };\n }\n }\n\n}\n\n","import {AfterViewChecked, Component, ElementRef, Input, OnChanges, SimpleChanges, ViewChild} from '@angular/core';\nimport {ChartPieOptions} from './chart-pie-options.model';\nimport {ChartColor} from '../chart-colors';\nimport {Chart, Options, SeriesPieOptions} from 'highcharts';\n\n@Component({\n selector: 'ap-chart-pie',\n templateUrl: './chart-pie.component.html',\n})\nexport class ChartPieComponent implements AfterViewChecked, OnChanges {\n\n @ViewChild('chart') chartRef: ElementRef;\n\n @Input() chartOptions: Options = {}; // https://api.highcharts.com/highcharts/\n @Input() color: ChartColor = ChartColor.ElectricBlue;\n @Input() innerLabels = false;\n @Input() labelDateFormat: string;\n @Input() series: SeriesPieOptions[];\n\n private chart: Chart;\n private lastWidth = 0;\n\n ngOnChanges(changes: SimpleChanges): void {\n if ((changes.series && !changes.series.firstChange) || (changes.color && !changes.color.firstChange)) {\n this.initChart();\n }\n }\n\n ngAfterViewChecked(): void {\n if (this.chartRef && this.chartRef.nativeElement.clientWidth !== this.lastWidth) {\n this.lastWidth = this.chartRef.nativeElement.clientWidth;\n if (this.chart) {\n this.chart.reflow();\n } else if (this.series && this.series.length) {\n this.initChart();\n }\n }\n }\n\n initChart(): void {\n if (this.series) {\n const chartOptions = ChartPieOptions.buildPie(this.chartOptions, this.innerLabels);\n ChartPieOptions.configurePie(this.series, chartOptions, this.color, this.labelDateFormat, this.innerLabels);\n this.chart = new Chart(this.chartRef.nativeElement, chartOptions);\n }\n }\n}\n","<div #chart></div>\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {MatListModule} from '@angular/material/list';\nimport {HighchartsChartModule} from 'highcharts-angular';\n\nimport {ChartBarComponent} from './chart-bar/chart-bar.component';\nimport {ChartColumnComponent} from './chart-column/chart-column.component';\nimport {ChartMetricsListComponent} from './chart-metrics-list/chart-metrics-list.component';\nimport {ChartHeatmapComponent} from './chart-heatmap/chart-heatmap.component';\nimport {ChartSplineComponent} from './chart-spline/chart-spline.component';\nimport {ChartPieComponent} from './chart-pie/chart-pie.component';\n\n@NgModule({\n declarations: [\n ChartBarComponent,\n ChartColumnComponent,\n ChartHeatmapComponent,\n ChartMetricsListComponent,\n ChartSplineComponent,\n ChartPieComponent\n ],\n imports: [\n CommonModule,\n HighchartsChartModule,\n MatListModule\n ],\n exports: [\n ChartBarComponent,\n ChartColumnComponent,\n ChartHeatmapComponent,\n ChartMetricsListComponent,\n ChartSplineComponent,\n ChartPieComponent\n ],\n providers: [\n ]\n})\nexport class AgorapulseUiChartsModule {\n}\n","/*\n * Public API Surface of ui-charts\n */\n\nimport * as Highcharts from 'highcharts';\nimport {borderRadiusPlugin} from './src/lib/highcharts-border-radius-plugin';\n\nborderRadiusPlugin(Highcharts);\n\nexport {AgorapulseUiChartsModule} from './src/lib/agorapulse-ui-charts.module';\nexport {ChartBarComponent} from './src/lib/chart-bar/chart-bar.component';\nexport {ChartColor, ChartColors} from './src/lib/chart-colors';\nexport {ChartColumnComponent} from './src/lib/chart-column/chart-column.component';\nexport {ChartHeatmapComponent} from './src/lib/chart-heatmap/chart-heatmap.component';\nexport {ChartMetric, ChartMetricType} from './src/lib/chart-metric';\nexport {ChartMetricsListComponent} from './src/lib/chart-metrics-list/chart-metrics-list.component';\nexport {ChartOptions, mergeDeep} from './src/lib/chart-options';\nexport {ChartPieComponent} from './src/lib/chart-pie/chart-pie.component';\nexport {ChartSplineComponent} from './src/lib/chart-spline/chart-spline.component';\n\nexport {borderRadiusPlugin} from './src/lib/highcharts-border-radius-plugin';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"agorapulse-ui-charts.mjs","sources":["../../../libs/ui-charts/src/lib/highcharts-border-radius-plugin.ts","../../../libs/ui-charts/src/lib/chart-colors.ts","../../../libs/ui-charts/src/lib/chart-options.ts","../../../libs/ui-charts/src/lib/chart-bar/chart-bar-options.model.ts","../../../libs/ui-charts/src/lib/chart-bar/chart-bar.component.ts","../../../libs/ui-charts/src/lib/chart-bar/chart-bar.component.html","../../../libs/ui-charts/src/lib/chart-column/chart-column-options.model.ts","../../../libs/ui-charts/src/lib/chart-column/chart-column.component.ts","../../../libs/ui-charts/src/lib/chart-column/chart-column.component.html","../../../libs/ui-charts/src/lib/chart-metric.ts","../../../libs/ui-charts/src/lib/chart-metrics-list/chart-metrics-list.component.ts","../../../libs/ui-charts/src/lib/chart-metrics-list/chart-metrics-list.component.html","../../../libs/ui-charts/src/lib/chart-heatmap/chart-heatmap-options.model.ts","../../../libs/ui-charts/src/lib/chart-heatmap/chart-heatmap.component.ts","../../../libs/ui-charts/src/lib/chart-heatmap/chart-heatmap.component.html","../../../libs/ui-charts/src/lib/chart-spline/chart-spline-options.model.ts","../../../libs/ui-charts/src/lib/chart-spline/chart-spline.component.ts","../../../libs/ui-charts/src/lib/chart-spline/chart-spline.component.html","../../../libs/ui-charts/src/lib/chart-pie/chart-pie-options.model.ts","../../../libs/ui-charts/src/lib/chart-pie/chart-pie.component.ts","../../../libs/ui-charts/src/lib/chart-pie/chart-pie.component.html","../../../libs/ui-charts/src/lib/agorapulse-ui-charts.module.ts","../../../libs/ui-charts/index.ts","../../../libs/ui-charts/agorapulse-ui-charts.ts"],"sourcesContent":["export const borderRadiusPlugin = function (H) {\n if (H.borderRadiusPlugininitialized) {\n return;\n }\n H.borderRadiusPlugininitialized = true;\n\n H.wrap(H.seriesTypes.column.prototype, 'translate', function (proceed) {\n const options = this.options;\n const topMargin = options.topMargin || 0;\n const bottomMargin = options.bottomMargin || 0;\n const borderRadiusTopLeftSettings = options.borderRadiusTopLeft;\n const borderRadiusTopRightSettings = options.borderRadiusTopRight;\n const borderRadiusBottomLeftSettings = options.borderRadiusBottomLeft;\n const borderRadiusBottomRightSettings = options.borderRadiusBottomRight;\n\n proceed.call(this);\n\n if (!this.points) {\n return;\n }\n this.points.forEach(function (point) {\n\n if (borderRadiusTopLeftSettings || borderRadiusTopRightSettings || borderRadiusBottomLeftSettings || borderRadiusBottomRightSettings) {\n const w = point.shapeArgs.width;\n const h = point.shapeArgs.height;\n const x = point.shapeArgs.x;\n const y = point.shapeArgs.y;\n const borderRadiusTopLeft = (borderRadiusTopLeftSettings && borderRadiusTopLeftSettings.length) ? borderRadiusTopLeftSettings[point.index] : borderRadiusTopLeftSettings || 0;\n const borderRadiusTopRight = (borderRadiusTopRightSettings && borderRadiusTopRightSettings.length) ? borderRadiusTopRightSettings[point.index] : borderRadiusTopRightSettings || 0;\n const borderRadiusBottomLeft = (borderRadiusBottomLeftSettings && borderRadiusBottomLeftSettings.length) ? borderRadiusBottomLeftSettings[point.index] : borderRadiusBottomLeftSettings || 0;\n const borderRadiusBottomRight = (borderRadiusBottomRightSettings && borderRadiusBottomRightSettings.length) ? borderRadiusBottomRightSettings[point.index] : borderRadiusBottomRightSettings || 0;\n\n let radiusTopLeft = H.relativeLength(borderRadiusTopLeft, w);\n let radiusTopRight = H.relativeLength(borderRadiusTopRight, w);\n let radiusBottomRight = H.relativeLength(borderRadiusBottomRight, w);\n let radiusBottomLeft = H.relativeLength(borderRadiusBottomLeft, w);\n\n const maxR = Math.min(w, h) / 2;\n\n radiusTopLeft = radiusTopLeft > maxR ? maxR : radiusTopLeft;\n radiusTopRight = radiusTopRight > maxR ? maxR : radiusTopRight;\n radiusBottomRight = radiusBottomRight > maxR ? maxR : radiusBottomRight;\n radiusBottomLeft = radiusBottomLeft > maxR ? maxR : radiusBottomLeft;\n\n point.dlBox = point.shapeArgs;\n\n point.shapeType = 'path';\n point.shapeArgs = {\n d: [\n 'M', x + radiusTopLeft, y + topMargin,\n 'L', x + w - radiusTopRight, y + topMargin,\n 'C', x + w - radiusTopRight / 2, y, x + w, y + radiusTopRight / 2, x + w, y + radiusTopRight,\n 'L', x + w, y + h - radiusBottomRight,\n 'C', x + w, y + h - radiusBottomRight / 2, x + w - radiusBottomRight / 2, y + h, x + w - radiusBottomRight, y + h + bottomMargin,\n 'L', x + radiusBottomLeft, y + h + bottomMargin,\n 'C', x + radiusBottomLeft / 2, y + h, x, y + h - radiusBottomLeft / 2, x, y + h - radiusBottomLeft,\n 'L', x, y + radiusTopLeft,\n 'C', x, y + radiusTopLeft / 2, x + radiusTopLeft / 2, y, x + radiusTopLeft, y,\n 'Z'\n ]\n };\n }\n\n });\n });\n};\n","export enum ChartColor {\n Grey,\n Orange,\n SoftBlue,\n ElectricBlue,\n Purple,\n Green,\n}\n\nexport class ChartColors {\n\n static readonly SOFT_BLUE_COLORS = {\n '10': '#EFF5FC',\n '20': '#DFEDFA',\n '40': '#C0DBF4',\n '60': '#A0C8EF',\n '85': '#78B1E8',\n '100': '#61A4E4'\n };\n static readonly ELECTRIC_BLUE_COLORS = {\n '10': '#e8f4ff',\n '20': '#d1e8ff',\n '40': '#a2d1ff',\n '60': '#74bbfe',\n '85': '#3a9efe',\n '100': '#178dfe'\n };\n static readonly ORANGE_COLORS = {\n '10': '#FFEFE9',\n '20': '#FFE1D4',\n '40': '#FFC2A8',\n '60': '#FFA47D',\n '85': '#FF7E46',\n '100': '#FF6726'\n };\n static readonly GREEN_COLORS = {\n '10': '#ECF7ED',\n '20': '#DAF1DD',\n '40': '#B5E3BB',\n '60': '#8FD498',\n '85': '#61C26D',\n '100': '#45B854'\n };\n static readonly PURPLE_COLORS = {\n '10': '#EFEDF8',\n '20': '#E0DDF2',\n '40': '#C1BBE6',\n '60': '#A398D9',\n '85': '#7C6DC9',\n '100': '#6554C0'\n };\n static readonly GREY_COLORS = {\n '5': '#F5F5F7',\n '10': '#EAECEF',\n '20': '#D6DAE0',\n '40': '#AEB5C1',\n '60': '#858FA1',\n '85': '#5D6A82',\n '100': '#344563'\n };\n\n static readonly BLACK_COLOR: string = '#000000';\n static readonly LIMIT_COLOR: string = '#E81313';\n static readonly WHITE_COLOR: string = '#FFFFFF';\n\n static getChartColors(color: ChartColor): { [shade: string]: string } {\n switch (color) {\n case ChartColor.Orange:\n return this.ORANGE_COLORS;\n case ChartColor.SoftBlue:\n return this.SOFT_BLUE_COLORS;\n case ChartColor.ElectricBlue:\n return this.ELECTRIC_BLUE_COLORS;\n case ChartColor.Purple:\n return this.PURPLE_COLORS;\n case ChartColor.Green:\n return this.GREEN_COLORS;\n default:\n return this.GREY_COLORS;\n }\n }\n\n static getColors(seriesCount: number, color: ChartColor): string[] {\n const colors = this.getChartColors(color);\n switch (seriesCount) {\n case 1:\n return [colors[100]];\n case 2:\n return [colors[40], colors[100]];\n case 3:\n return [colors[20], colors[60], colors[100]];\n case 4:\n return [colors[20], colors[40], colors[60], colors[100]];\n case 5:\n return [colors[10], colors[20], colors[40], colors[60], colors[100]];\n default:\n return [colors[20], colors[40], colors[60], colors[100]];\n }\n }\n}\n","import {dateFormat, Options, SeriesOptionsType} from 'highcharts';\nimport {ChartColor, ChartColors} from './chart-colors';\n\nexport class ChartOptions {\n\n static readonly DEFAULT_DATE_FORMAT: string = '%A, %b %e, %Y';\n static readonly DEFAULT_OPTIONS: Options = {\n /*lang: {\n decimalPoint: (manager && manager.locale !== 'en') ? ',' : '.',\n resetZoom: resetZoomLabel,\n resetZoomTitle: resetZoomHtmlTitle,\n shortMonths: [\n shortJanuary, shortFebruary, shortMarch, shortApril, shortMay, shortJune,\n shortJuly, shortAugust, shortSeptember, shortOctober, shortNovember, shortDecember\n ],\n thousandsSep: (manager && manager.locale !== 'en') ? ' ' : ',',\n weekdays: this.weekDays,\n zoomIn: zoomInHtmlTitle,\n zoomOut: zoomOutHtmlTitle\n },*/\n chart: {\n spacingRight: 20,\n zoomType: 'xy',\n panning: {\n enabled: true\n },\n panKey: 'shift',\n style: {\n fontFamily: 'Averta, \\'Open Sans\\', Helvetica, sans-serif'\n },\n resetZoomButton: {\n theme: {\n fill: ChartColors.WHITE_COLOR,\n r: 4,\n style: {\n color: ChartColors.GREY_COLORS[100],\n fontSize: '12px'\n },\n states: {\n hover: {\n fill: ChartColors.GREY_COLORS[5]\n }\n }\n }\n }\n },\n colorAxis: {\n labels: {\n style: {\n color: ChartColors.GREY_COLORS[60]\n }\n }\n },\n credits: {\n enabled: false\n },\n legend: {\n borderWidth: 0,\n itemStyle: {\n color: ChartColors.GREY_COLORS[60],\n fontSize: '14px',\n fontWeight: 'normal'\n },\n itemHoverStyle: {\n color: ChartColors.GREY_COLORS[100],\n fontWeight: 'bold'\n }\n },\n plotOptions: {\n series: {\n states: {\n hover: {\n brightness: 0\n }\n },\n connectNulls: true,\n lineWidth: 4\n }\n },\n navigation: {\n buttonOptions: {\n y: 0\n }\n },\n title: {\n text: null\n },\n tooltip: {\n backgroundColor: ChartColors.WHITE_COLOR,\n borderRadius: 4,\n borderWidth: 0,\n dateTimeLabelFormats: {\n day: ChartOptions.DEFAULT_DATE_FORMAT,\n week: ChartOptions.DEFAULT_DATE_FORMAT\n },\n shadow: {\n color: ChartColors.BLACK_COLOR,\n offsetX: 0,\n offsetY: 2,\n opacity: 0.02,\n width: 6\n },\n split: false,\n shared: true,\n useHTML: true,\n headerFormat: `<div style=\"border-bottom: 1px solid ${ChartColors.GREY_COLORS[10]}; padding: 0 8px 7px\">`\n + `<span style=\"font-size: 12px; color: ${ChartColors.GREY_COLORS[60]}\">{point.key}</span></div>`,\n pointFormat: `<div style=\"font-size: 14px; color: ${ChartColors.GREY_COLORS[100]}; margin: 6px 8px 0 8px;\">`\n + '<span style=\"color:{point.color}\">\\u25CF</span> {series.name}: <b>{point.y}</b></div>'\n },\n xAxis: {\n gridLineColor: ChartColors.GREY_COLORS[10],\n lineColor: ChartColors.GREY_COLORS[10],\n tickColor: ChartColors.GREY_COLORS[10],\n gridLineWidth: 1,\n title: {\n text: null\n },\n labels: {\n style: {\n color: ChartColors.GREY_COLORS[40],\n fontSize: '12px'\n }\n }\n },\n yAxis: {\n allowDecimals: false,\n gridLineColor: ChartColors.GREY_COLORS[10],\n lineColor: ChartColors.GREY_COLORS[10],\n gridLineWidth: 1,\n title: {\n text: null\n },\n labels: {\n style: {\n color: ChartColors.GREY_COLORS[40],\n fontSize: '12px'\n }\n }\n }\n };\n\n static build(options: Options): Options {\n return mergeDeep(ChartOptions.DEFAULT_OPTIONS, options);\n }\n\n static configure(series: SeriesOptionsType[],\n options: Options,\n color: ChartColor,\n labelDateFormat?: string) {\n // Configure axis\n options.xAxis = mergeDeep({\n labels: {\n formatter: function(): string {\n return dateFormat(labelDateFormat ? labelDateFormat : '%m/%d', this.value);\n }\n },\n //minTickInterval: 24 * 60 * 60 * 1000 // One day\n }, options.xAxis);\n // Configure series\n if (series && series.length) {\n options.series = series;\n options.legend.enabled = series.length >= 2;\n options.colors = ChartColors.getColors(series.length, color);\n }\n }\n}\n\nexport function isObject(item) {\n return (item && typeof item === 'object' && !Array.isArray(item));\n}\n\nexport function mergeDeep(target, source) {\n let output = deepCopy(target);\n if (isObject(target) && isObject(source)) {\n Object.keys(source).forEach(key => {\n if (isObject(source[key])) {\n if (!(key in target))\n Object.assign(output, {[key]: source[key]});\n else\n output[key] = mergeDeep(target[key], source[key]);\n } else {\n Object.assign(output, {[key]: source[key]});\n }\n });\n }\n return output;\n}\n\nfunction deepCopy(source) {\n if (typeof source !== \"object\" || source === null) {\n return source // Return the value if source is not an object\n }\n // Create an array or object to hold the values\n const newObject = Array.isArray(source) ? [] : {}\n for (let key in source) {\n if (source.hasOwnProperty(key)) {\n // Recursively (deep) copy for nested objects, including arrays\n newObject[key] = deepCopy(source[key])\n }\n }\n return newObject\n}\n","import {ChartOptions, mergeDeep} from '../chart-options';\nimport {Options, SeriesBarOptions, XAxisOptions, YAxisOptions} from 'highcharts';\nimport {PlotRoundedSeriesOptions, SeriesRoundedBarOptions} from './../highchart-series.model';\nimport {ChartColor} from './../chart-colors';\n\nexport class ChartBarOptions extends ChartOptions {\n\n static build(options: Options): Options {\n const seriesOptions: PlotRoundedSeriesOptions = {\n borderRadiusTopLeft: 100,\n borderRadiusTopRight: 100,\n borderWidth: 0\n };\n const defaultColumnOptions: Options = {\n chart: {\n type: 'bar'\n },\n xAxis: {\n categories: undefined,\n gridLineWidth: 0,\n lineWidth: 0,\n reversed: false,\n tickWidth: 0,\n labels: {\n align: 'center',\n formatter(): string {\n if (this.value && this.value.toString().length > 16) {\n return this.value.toString().substring(0, 15) + '...';\n }\n return this.value.toString();\n },\n style: {\n width: 100\n }\n },\n type: 'category'\n },\n yAxis: {\n type: 'linear',\n minTickInterval: 1\n },\n plotOptions: {\n bar: {\n maxPointWidth: 18,\n pointWidth: 20\n },\n series: seriesOptions\n }\n };\n return super.build(mergeDeep(defaultColumnOptions, options));\n }\n\n static configureBar(series: SeriesBarOptions[],\n categories: string[],\n options: Options,\n opposite: boolean,\n color: ChartColor,\n labelDateFormat?: string): void {\n ChartOptions.configure(series, options, color, labelDateFormat);\n if (categories && categories.length) {\n (options.xAxis as XAxisOptions).categories = categories;\n }\n if (opposite && series.length === 2) {\n const negativeSerie = (series[0] as SeriesRoundedBarOptions);\n negativeSerie.borderRadiusBottomLeft = 100;\n negativeSerie.borderRadiusBottomRight = 100;\n negativeSerie.borderRadiusTopLeft = 0;\n negativeSerie.borderRadiusTopRight = 0;\n negativeSerie.data = negativeSerie.data.map((point: any) => {\n if (point && isNaN(point)) {\n return {\n ...point,\n y: -Math.abs(point.y)\n };\n } else if (!isNaN(point)) {\n return -Math.abs(point);\n }\n return point;\n });\n options.plotOptions.series.stacking = 'normal';\n (options.yAxis as YAxisOptions).labels.formatter = function(): string {\n return Math.abs(+this.value) + '%';\n };\n options.tooltip.pointFormatter = function(): string {\n 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>`;\n };\n }\n }\n}\n","import {AfterViewChecked, Component, ElementRef, Input, OnChanges, SimpleChanges, ViewChild} from '@angular/core';\nimport {Chart, Options, SeriesBarOptions} from 'highcharts';\nimport {ChartBarOptions} from './chart-bar-options.model';\nimport {ChartColor} from '../chart-colors';\n\n@Component({\n selector: 'ap-chart-bar',\n templateUrl: './chart-bar.component.html',\n})\nexport class ChartBarComponent implements AfterViewChecked, OnChanges {\n\n @ViewChild('chart') chartRef: ElementRef;\n\n @Input() categories: string[] = [];\n @Input() chartOptions: Options = {}; // https://api.highcharts.com/highcharts/\n @Input() color: ChartColor = ChartColor.ElectricBlue;\n @Input() labelDateFormat: string;\n @Input() opposite: boolean;\n @Input() series: SeriesBarOptions[];\n\n private chart: Chart;\n private lastWidth = 0;\n\n ngOnChanges(changes: SimpleChanges): void {\n if ((changes.series && !changes.series.firstChange) || (changes.color && !changes.color.firstChange)) {\n this.initChart();\n }\n }\n\n ngAfterViewChecked(): void {\n if (this.chartRef && this.chartRef.nativeElement.clientWidth != this.lastWidth) {\n this.lastWidth = this.chartRef.nativeElement.clientWidth;\n if (this.chart) {\n this.chart.reflow();\n } else if (this.series && this.series.length) {\n this.initChart();\n }\n }\n }\n\n initChart(): void {\n if (this.series) {\n const chartOptions = ChartBarOptions.build(this.chartOptions);\n ChartBarOptions.configureBar(this.series, this.categories, chartOptions, this.opposite, this.color, this.labelDateFormat);\n this.chart = new Chart(this.chartRef.nativeElement, chartOptions);\n }\n }\n}\n","<div #chart></div>\n","import {ChartOptions, mergeDeep} from '../chart-options';\nimport {Chart, dateFormat, Options, Series} from 'highcharts';\nimport {SeriesRoundedColumnOptions} from '../highchart-series.model';\n\nexport class ChartColumnOptions extends ChartOptions {\n\n static buildColumn(options: Options, simple: boolean): Options {\n const defaultColumnOptions: Options = {\n chart: {\n type: 'column'\n },\n legend: {\n symbolHeight: 10\n },\n plotOptions: {\n column: {\n stacking: 'normal',\n borderWidth: 0,\n maxPointWidth: 20,\n events: {\n hide(): void {\n ChartColumnOptions.redrawWithRoundedColumns(this.chart);\n },\n show(): void {\n ChartColumnOptions.redrawWithRoundedColumns(this.chart);\n }\n }\n }\n },\n xAxis: {\n type: 'datetime'\n }\n };\n const simpleColumnOptions: Options = {\n chart: {\n type: 'column',\n height: '80px'\n },\n credits: {\n enabled: false\n },\n plotOptions: {\n column: {\n events: {\n hide(): void {\n ChartColumnOptions.redrawWithRoundedColumns(this.chart);\n },\n show(): void {\n ChartColumnOptions.redrawWithRoundedColumns(this.chart);\n }\n },\n }\n },\n xAxis: {\n type: 'datetime',\n crosshair: true,\n labels: {\n enabled: false,\n formatter(): string {\n return dateFormat('%m/%d', +this.value);\n }\n },\n lineWidth: 0,\n tickWidth: 0,\n gridLineWidth: 0\n },\n yAxis: {\n min: 0,\n labels: {\n enabled: false\n },\n gridLineWidth: 0\n }\n };\n return super.build(mergeDeep(simple ? simpleColumnOptions : defaultColumnOptions, options));\n }\n\n static redrawWithRoundedColumns(chart: Chart): void {\n chart.series.map((serie, serieIndex: number, arr) => {\n ChartColumnOptions.roundSerie(arr, serie.options as SeriesRoundedColumnOptions, serieIndex);\n });\n chart.redraw(true);\n }\n\n static roundSerie(series: Series[], serie: SeriesRoundedColumnOptions, serieIndex: number): void {\n const roundedOptionMap = [];\n let borderRadius = 0;\n if (serie.data) {\n serie.data.forEach((point, columnIndex) => {\n // Check if all previous stacked data at the same abscissa (located higher on the graph) are missing or have a value of 0\n // if so, it means that this point is the visual top of the column, so we should round it\n const roundedColumnEnabled = series.slice(0, serieIndex)\n .every(otherSerie => {\n if (otherSerie.visible === false) {\n return true;\n }\n const pointAtSameAbscissa = (otherSerie.options as SeriesRoundedColumnOptions)\n .data.find(otherPoint => otherPoint[0] === point[0]);\n return !pointAtSameAbscissa || pointAtSameAbscissa[1] === 0;\n });\n borderRadius = roundedColumnEnabled ? 100 : 0;\n roundedOptionMap[columnIndex] = borderRadius;\n });\n serie.borderRadiusTopLeft = roundedOptionMap;\n serie.borderRadiusTopRight = roundedOptionMap;\n }\n }\n}\n","import {AfterViewChecked, Component, ElementRef, Input, OnChanges, SimpleChanges, ViewChild} from '@angular/core';\nimport {ChartColumnOptions} from './chart-column-options.model';\nimport {ChartColor} from '../chart-colors';\nimport {Chart, Options, SeriesColumnOptions} from 'highcharts';\n\n@Component({\n selector: 'ap-chart-column',\n templateUrl: './chart-column.component.html',\n})\nexport class ChartColumnComponent implements AfterViewChecked, OnChanges {\n\n @ViewChild('chart') chartRef: ElementRef;\n\n @Input() chartOptions: Options = {}; // https://api.highcharts.com/highcharts/\n @Input() color: ChartColor = ChartColor.ElectricBlue;\n @Input() labelDateFormat: string;\n @Input() series: SeriesColumnOptions[];\n @Input() simple: boolean = false;\n\n private chart: Chart;\n private lastWidth = 0;\n\n ngOnChanges(changes: SimpleChanges): void {\n if ((changes.series && !changes.series.firstChange) || (changes.color && !changes.color.firstChange)) {\n this.initChart();\n }\n }\n\n ngAfterViewChecked(): void {\n if (this.chartRef && this.chartRef.nativeElement.clientWidth != this.lastWidth) {\n this.lastWidth = this.chartRef.nativeElement.clientWidth;\n if (this.chart) {\n this.chart.reflow();\n } else if (this.series && this.series.length) {\n this.initChart();\n }\n }\n }\n\n initChart(): void {\n if (this.series) {\n const chartOptions = ChartColumnOptions.buildColumn(this.chartOptions, this.simple);\n ChartColumnOptions.configure(this.series, chartOptions, this.color, this.labelDateFormat);\n this.chart = new Chart(this.chartRef.nativeElement, chartOptions);\n if (this.chart) {\n ChartColumnOptions.redrawWithRoundedColumns(this.chart);\n }\n }\n }\n}\n","<div #chart></div>\n","export enum ChartMetricType {\n default,\n total\n}\n\nexport class ChartMetric {\n\n children?: ChartMetric[];\n name: string;\n type?: ChartMetricType;\n value: number;\n\n}\n","import {ChangeDetectionStrategy, Component, Input} from '@angular/core';\nimport {ChartMetric, ChartMetricType} from '../chart-metric';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: \"ap-chart-metrics-list\",\n styleUrls: ['chart-metrics-list.component.scss'],\n templateUrl: 'chart-metrics-list.component.html'\n})\nexport class ChartMetricsListComponent {\n\n @Input() metrics: ChartMetric[];\n @Input() locale: string;\n\n ChartMetricType = ChartMetricType;\n digitsInfo: string = '1.0-1';\n\n}\n","<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","import {ChartOptions, mergeDeep} from '../chart-options';\nimport * as Highcharts from 'highcharts';\nimport {ChartColors} from '../chart-colors';\n\nexport class ChartHeatmapOptions extends ChartOptions {\n\n static build(options: Highcharts.Options): Highcharts.Options {\n const defaultHeatmapOptions: Highcharts.Options = {\n chart: {\n type: 'heatmap',\n height: 600\n },\n colorAxis: {\n allowDecimals: false,\n gridLineWidth: 2,\n gridLineColor: 'white',\n min: 0,\n labels: {\n style: {\n fontSize: '12px'\n }\n }\n },\n legend: {\n enabled: false\n },\n plotOptions: {\n heatmap: {\n borderColor: ChartColors.GREY_COLORS[10],\n borderWidth: 1,\n nullColor: 'white'\n }\n },\n tooltip: {\n headerFormat: '',\n pointFormat: `<div style=\"border-bottom: 1px solid ${ChartColors.GREY_COLORS[10]}; padding: 0 8px 7px\">`\n + `<span style=\"font-size: 12px; color: ${ChartColors.GREY_COLORS[60]}\">{point.tooltipHeaderLabel}</span></div>`\n + `<div style=\"font-size: 14px; color: ${ChartColors.GREY_COLORS[100]}; margin: 6px 8px 0 8px;\">`\n + `<span style=\"color:{point.color}\">\\u25CF</span> {series.name}: <b>{point.value}</b></div>`,\n },\n xAxis: {\n labels: {\n formatter: function () {\n return this.value.toString();\n }\n },\n lineWidth: 1,\n tickWidth: 0,\n visible: true\n },\n yAxis: {\n lineWidth: 0,\n tickInterval: 3,\n reversed: true,\n visible: true\n }\n };\n return super.build(mergeDeep(defaultHeatmapOptions, options));\n }\n\n static configureHeatmap(categoriesX: string[],\n categoriesY: string[],\n series: Highcharts.SeriesOptionsType[],\n options: Highcharts.Options,\n labelDateFormat?: string) {\n super.configure(series, options, null, labelDateFormat);\n if (categoriesX && categoriesX.length) {\n (options.xAxis as Highcharts.XAxisOptions).categories = categoriesX;\n }\n if (categoriesY && categoriesY.length) {\n (options.yAxis as Highcharts.YAxisOptions).categories = categoriesY;\n }\n }\n}\n","import {AfterViewChecked, Component, ElementRef, Input, OnChanges, SimpleChanges, ViewChild} from '@angular/core';\nimport {mapChart, Options, SeriesHeatmapOptions} from 'highcharts/highmaps';\nimport {ChartHeatmapOptions} from './chart-heatmap-options.model';\n\n@Component({\n selector: 'ap-chart-heatmap',\n templateUrl: './chart-heatmap.component.html',\n})\nexport class ChartHeatmapComponent implements AfterViewChecked, OnChanges {\n\n @ViewChild('chart') chartRef: ElementRef;\n\n @Input() categoriesX: string[] = [];\n @Input() categoriesY: string[] = [];\n @Input() chartOptions: Options = {}; // https://api.highcharts.com/highcharts/\n @Input() labelDateFormat: string;\n @Input() series: SeriesHeatmapOptions[];\n\n private chart;\n private lastWidth = 0;\n\n ngOnChanges(changes: SimpleChanges): void {\n if ((changes.series && !changes.series.firstChange)) {\n this.initChart();\n }\n }\n\n ngAfterViewChecked(): void {\n if (this.chartRef && this.chartRef.nativeElement.clientWidth != this.lastWidth) {\n this.lastWidth = this.chartRef.nativeElement.clientWidth;\n if (this.chart) {\n this.chart.reflow();\n } else if (this.series && this.series.length) {\n this.initChart();\n }\n }\n }\n\n private initChart(): void {\n if (this.series) {\n const chartOptions = ChartHeatmapOptions.build(this.chartOptions);\n ChartHeatmapOptions.configureHeatmap(this.categoriesX, this.categoriesY, this.series, chartOptions, this.labelDateFormat);\n mapChart(this.chartRef.nativeElement, chartOptions);\n }\n }\n\n}\n","<div #chart></div>\n","import {ChartOptions, mergeDeep} from '../chart-options';\nimport {Options} from 'highcharts';\n\nexport class ChartSplineOptions extends ChartOptions {\n\n static buildSpline(options: Options, singleDayEnabled: boolean): Options {\n const defaultSplineOptions: Options = {\n chart: {\n type: 'spline'\n },\n plotOptions: {\n series: {\n marker: {\n enabled: singleDayEnabled,\n radius: singleDayEnabled ? 5 : 2,\n symbol: 'circle'\n }\n }\n },\n xAxis: {\n type: 'datetime'\n }\n };\n return super.build(mergeDeep(defaultSplineOptions, options));\n }\n\n}\n","import {AfterViewChecked, Component, ElementRef, Input, OnChanges, SimpleChanges, ViewChild} from '@angular/core';\nimport {ChartSplineOptions} from './chart-spline-options.model';\nimport {ChartColor} from '../chart-colors';\nimport {Chart, Options, SeriesSplineOptions} from 'highcharts';\n\n@Component({\n selector: 'ap-chart-spline',\n templateUrl: './chart-spline.component.html',\n})\nexport class ChartSplineComponent implements AfterViewChecked, OnChanges {\n\n @ViewChild('chart') chartRef: ElementRef;\n\n @Input() chartOptions: Options = {}; // https://api.highcharts.com/highcharts/\n @Input() color: ChartColor = ChartColor.ElectricBlue;\n @Input() labelDateFormat: string;\n @Input() series: SeriesSplineOptions[];\n\n private chart: Chart;\n private lastWidth = 0;\n\n ngOnChanges(changes: SimpleChanges): void {\n if ((changes.series && !changes.series.firstChange) || (changes.color && !changes.color.firstChange)) {\n this.initChart();\n }\n }\n\n ngAfterViewChecked(): void {\n if (this.chartRef && this.chartRef.nativeElement.clientWidth !== this.lastWidth) {\n this.lastWidth = this.chartRef.nativeElement.clientWidth;\n if (this.chart) {\n this.chart.reflow();\n } else if (this.series && this.series.length) {\n this.initChart();\n }\n }\n }\n\n private initChart(): void {\n if (this.series) {\n const chartOptions = ChartSplineOptions.buildSpline(this.chartOptions, this.series[0].data?.length === 1);\n ChartSplineOptions.configure(this.series, chartOptions, this.color, this.labelDateFormat);\n this.chart = new Chart(this.chartRef.nativeElement, chartOptions);\n }\n }\n\n}\n","<div #chart></div>\n","import {ChartOptions, mergeDeep} from '../chart-options';\nimport {Options, SeriesPieOptions} from 'highcharts';\nimport {ChartColor, ChartColors} from './../chart-colors';\n\nexport class ChartPieOptions extends ChartOptions {\n\n static buildPie(options: Options, innerLabels: boolean): Options {\n const defaultPieOptions: Options = {\n chart: {\n type: 'pie',\n plotBackgroundColor: null,\n plotBorderWidth: null,\n plotShadow: false\n },\n plotOptions: {\n pie: {\n dataLabels: {\n distance: innerLabels ? -40 : 30,\n useHTML: true\n },\n innerSize: '50%'\n },\n series: {\n allowPointSelect: !innerLabels,\n dataLabels: innerLabels ? {\n format: '{point.percentage:.1f}%',\n style: {\n fontSize: '16px',\n color: 'white',\n textOutline: '0'\n }\n } : {\n style: {\n fontSize: '12px',\n color: ChartColors.GREY_COLORS[60]\n }\n },\n showInLegend: innerLabels,\n states: {\n inactive: {\n opacity: 1\n }\n }\n }\n },\n legend: innerLabels ? {\n symbolHeight: 10,\n enabled: true\n } : {}\n };\n return super.build(mergeDeep(defaultPieOptions, options));\n }\n\n static configurePie(series: SeriesPieOptions[],\n options: Options,\n color: ChartColor,\n labelDateFormat: string,\n innerLabels: boolean): void {\n super.configure(series, options, color, labelDateFormat);\n if (innerLabels) {\n options.legend.enabled = true;\n }\n if (series && series.length > 0 && series[0]) {\n options.colors = ChartColors.getColors((series[0] as SeriesPieOptions).data.length, color);\n options.plotOptions.pie.point ??= {};\n options.plotOptions.pie.point.events ??= {};\n // entering a slice\n options.plotOptions.pie.point.events.mouseOver = function(): void {\n this.series.chart.series[0].points.forEach(point => {\n if (point.index !== this.index) {\n point.update({\n color: ChartColors.GREY_COLORS[5]\n }, false);\n if (innerLabels) {\n point.update({\n dataLabels: {\n style: {\n color: ChartColors.GREY_COLORS[20]\n }\n }\n }, false);\n }\n }\n });\n this.series.chart.redraw(false);\n };\n // leaving a slice\n options.plotOptions.pie.point.events.mouseOut = function(): void {\n this.series.chart.series[0].points.forEach((point, i) => {\n if (point.index !== this.index) {\n point.update({\n color: options.colors[i % options.colors.length]\n }, false);\n if (innerLabels) {\n point.update({\n dataLabels: {\n style: {\n color: 'white'\n }\n }\n }, false);\n }\n }\n });\n };\n options.plotOptions.pie.events ??= {};\n // leaving the whole pie\n options.plotOptions.pie.events.mouseOut = function(): void {\n this.chart.series[0].points.forEach((point, i) => {\n point.update({\n color: options.colors[i % options.colors.length]\n }, false);\n if (innerLabels) {\n point.update({\n dataLabels: {\n style: {\n color: 'white'\n }\n }\n }, false);\n }\n });\n this.chart.redraw();\n };\n }\n }\n\n}\n\n","import {AfterViewChecked, Component, ElementRef, Input, OnChanges, SimpleChanges, ViewChild} from '@angular/core';\nimport {ChartPieOptions} from './chart-pie-options.model';\nimport {ChartColor} from '../chart-colors';\nimport {Chart, Options, SeriesPieOptions} from 'highcharts';\n\n@Component({\n selector: 'ap-chart-pie',\n templateUrl: './chart-pie.component.html',\n})\nexport class ChartPieComponent implements AfterViewChecked, OnChanges {\n\n @ViewChild('chart') chartRef: ElementRef;\n\n @Input() chartOptions: Options = {}; // https://api.highcharts.com/highcharts/\n @Input() color: ChartColor = ChartColor.ElectricBlue;\n @Input() innerLabels = false;\n @Input() labelDateFormat: string;\n @Input() series: SeriesPieOptions[];\n\n private chart: Chart;\n private lastWidth = 0;\n\n ngOnChanges(changes: SimpleChanges): void {\n if ((changes.series && !changes.series.firstChange) || (changes.color && !changes.color.firstChange)) {\n this.initChart();\n }\n }\n\n ngAfterViewChecked(): void {\n if (this.chartRef && this.chartRef.nativeElement.clientWidth !== this.lastWidth) {\n this.lastWidth = this.chartRef.nativeElement.clientWidth;\n if (this.chart) {\n this.chart.reflow();\n } else if (this.series && this.series.length) {\n this.initChart();\n }\n }\n }\n\n initChart(): void {\n if (this.series) {\n const chartOptions = ChartPieOptions.buildPie(this.chartOptions, this.innerLabels);\n ChartPieOptions.configurePie(this.series, chartOptions, this.color, this.labelDateFormat, this.innerLabels);\n this.chart = new Chart(this.chartRef.nativeElement, chartOptions);\n }\n }\n}\n","<div #chart></div>\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {MatListModule} from '@angular/material/list';\nimport {HighchartsChartModule} from 'highcharts-angular';\n\nimport {ChartBarComponent} from './chart-bar/chart-bar.component';\nimport {ChartColumnComponent} from './chart-column/chart-column.component';\nimport {ChartMetricsListComponent} from './chart-metrics-list/chart-metrics-list.component';\nimport {ChartHeatmapComponent} from './chart-heatmap/chart-heatmap.component';\nimport {ChartSplineComponent} from './chart-spline/chart-spline.component';\nimport {ChartPieComponent} from './chart-pie/chart-pie.component';\n\n@NgModule({\n declarations: [\n ChartBarComponent,\n ChartColumnComponent,\n ChartHeatmapComponent,\n ChartMetricsListComponent,\n ChartSplineComponent,\n ChartPieComponent\n ],\n imports: [\n CommonModule,\n HighchartsChartModule,\n MatListModule\n ],\n exports: [\n ChartBarComponent,\n ChartColumnComponent,\n ChartHeatmapComponent,\n ChartMetricsListComponent,\n ChartSplineComponent,\n ChartPieComponent\n ],\n providers: [\n ]\n})\nexport class AgorapulseUiChartsModule {\n}\n","/*\n * Public API Surface of ui-charts\n */\n\nimport * as Highcharts from 'highcharts';\nimport {borderRadiusPlugin} from './src/lib/highcharts-border-radius-plugin';\n\nborderRadiusPlugin(Highcharts);\n\nexport {AgorapulseUiChartsModule} from './src/lib/agorapulse-ui-charts.module';\nexport {ChartBarComponent} from './src/lib/chart-bar/chart-bar.component';\nexport {ChartColor, ChartColors} from './src/lib/chart-colors';\nexport {ChartColumnComponent} from './src/lib/chart-column/chart-column.component';\nexport {ChartHeatmapComponent} from './src/lib/chart-heatmap/chart-heatmap.component';\nexport {ChartMetric, ChartMetricType} from './src/lib/chart-metric';\nexport {ChartMetricsListComponent} from './src/lib/chart-metrics-list/chart-metrics-list.component';\nexport {ChartOptions, mergeDeep} from './src/lib/chart-options';\nexport {ChartPieComponent} from './src/lib/chart-pie/chart-pie.component';\nexport {ChartSplineComponent} from './src/lib/chart-spline/chart-spline.component';\n\nexport {borderRadiusPlugin} from './src/lib/highcharts-border-radius-plugin';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agorapulse-ui-charts.mjs","sources":["../../../libs/ui-charts/src/lib/highcharts-border-radius-plugin.ts","../../../libs/ui-charts/src/lib/chart-colors.ts","../../../libs/ui-charts/src/lib/chart-options.ts","../../../libs/ui-charts/src/lib/chart-bar/chart-bar-options.model.ts","../../../libs/ui-charts/src/lib/chart-bar/chart-bar.component.ts","../../../libs/ui-charts/src/lib/chart-bar/chart-bar.component.html","../../../libs/ui-charts/src/lib/chart-column/chart-column-options.model.ts","../../../libs/ui-charts/src/lib/chart-column/chart-column.component.ts","../../../libs/ui-charts/src/lib/chart-column/chart-column.component.html","../../../libs/ui-charts/src/lib/chart-metric.ts","../../../libs/ui-charts/src/lib/chart-metrics-list/chart-metrics-list.component.ts","../../../libs/ui-charts/src/lib/chart-metrics-list/chart-metrics-list.component.html","../../../libs/ui-charts/src/lib/chart-heatmap/chart-heatmap-options.model.ts","../../../libs/ui-charts/src/lib/chart-heatmap/chart-heatmap.component.ts","../../../libs/ui-charts/src/lib/chart-heatmap/chart-heatmap.component.html","../../../libs/ui-charts/src/lib/chart-spline/chart-spline-options.model.ts","../../../libs/ui-charts/src/lib/chart-spline/chart-spline.component.ts","../../../libs/ui-charts/src/lib/chart-spline/chart-spline.component.html","../../../libs/ui-charts/src/lib/chart-pie/chart-pie-options.model.ts","../../../libs/ui-charts/src/lib/chart-pie/chart-pie.component.ts","../../../libs/ui-charts/src/lib/chart-pie/chart-pie.component.html","../../../libs/ui-charts/src/lib/agorapulse-ui-charts.module.ts","../../../libs/ui-charts/index.ts","../../../libs/ui-charts/agorapulse-ui-charts.ts"],"sourcesContent":["export const borderRadiusPlugin = function (H) {\n if (H.borderRadiusPlugininitialized) {\n return;\n }\n H.borderRadiusPlugininitialized = true;\n\n H.wrap(H.seriesTypes.column.prototype, 'translate', function (proceed) {\n const options = this.options;\n const topMargin = options.topMargin || 0;\n const bottomMargin = options.bottomMargin || 0;\n const borderRadiusTopLeftSettings = options.borderRadiusTopLeft;\n const borderRadiusTopRightSettings = options.borderRadiusTopRight;\n const borderRadiusBottomLeftSettings = options.borderRadiusBottomLeft;\n const borderRadiusBottomRightSettings = options.borderRadiusBottomRight;\n\n proceed.call(this);\n\n if (!this.points) {\n return;\n }\n this.points.forEach(function (point) {\n\n if (borderRadiusTopLeftSettings || borderRadiusTopRightSettings || borderRadiusBottomLeftSettings || borderRadiusBottomRightSettings) {\n const w = point.shapeArgs.width;\n const h = point.shapeArgs.height;\n const x = point.shapeArgs.x;\n const y = point.shapeArgs.y;\n const borderRadiusTopLeft = (borderRadiusTopLeftSettings && borderRadiusTopLeftSettings.length) ? borderRadiusTopLeftSettings[point.index] : borderRadiusTopLeftSettings || 0;\n const borderRadiusTopRight = (borderRadiusTopRightSettings && borderRadiusTopRightSettings.length) ? borderRadiusTopRightSettings[point.index] : borderRadiusTopRightSettings || 0;\n const borderRadiusBottomLeft = (borderRadiusBottomLeftSettings && borderRadiusBottomLeftSettings.length) ? borderRadiusBottomLeftSettings[point.index] : borderRadiusBottomLeftSettings || 0;\n const borderRadiusBottomRight = (borderRadiusBottomRightSettings && borderRadiusBottomRightSettings.length) ? borderRadiusBottomRightSettings[point.index] : borderRadiusBottomRightSettings || 0;\n\n let radiusTopLeft = H.relativeLength(borderRadiusTopLeft, w);\n let radiusTopRight = H.relativeLength(borderRadiusTopRight, w);\n let radiusBottomRight = H.relativeLength(borderRadiusBottomRight, w);\n let radiusBottomLeft = H.relativeLength(borderRadiusBottomLeft, w);\n\n const maxR = Math.min(w, h) / 2;\n\n radiusTopLeft = radiusTopLeft > maxR ? maxR : radiusTopLeft;\n radiusTopRight = radiusTopRight > maxR ? maxR : radiusTopRight;\n radiusBottomRight = radiusBottomRight > maxR ? maxR : radiusBottomRight;\n radiusBottomLeft = radiusBottomLeft > maxR ? maxR : radiusBottomLeft;\n\n point.dlBox = point.shapeArgs;\n\n point.shapeType = 'path';\n point.shapeArgs = {\n d: [\n 'M', x + radiusTopLeft, y + topMargin,\n 'L', x + w - radiusTopRight, y + topMargin,\n 'C', x + w - radiusTopRight / 2, y, x + w, y + radiusTopRight / 2, x + w, y + radiusTopRight,\n 'L', x + w, y + h - radiusBottomRight,\n 'C', x + w, y + h - radiusBottomRight / 2, x + w - radiusBottomRight / 2, y + h, x + w - radiusBottomRight, y + h + bottomMargin,\n 'L', x + radiusBottomLeft, y + h + bottomMargin,\n 'C', x + radiusBottomLeft / 2, y + h, x, y + h - radiusBottomLeft / 2, x, y + h - radiusBottomLeft,\n 'L', x, y + radiusTopLeft,\n 'C', x, y + radiusTopLeft / 2, x + radiusTopLeft / 2, y, x + radiusTopLeft, y,\n 'Z'\n ]\n };\n }\n\n });\n });\n};\n","export enum ChartColor {\n Grey,\n Orange,\n SoftBlue,\n ElectricBlue,\n Purple,\n Green,\n}\n\nexport class ChartColors {\n\n static readonly SOFT_BLUE_COLORS = {\n '10': '#EFF5FC',\n '20': '#DFEDFA',\n '40': '#C0DBF4',\n '60': '#A0C8EF',\n '85': '#78B1E8',\n '100': '#61A4E4'\n };\n static readonly ELECTRIC_BLUE_COLORS = {\n '10': '#e8f4ff',\n '20': '#d1e8ff',\n '40': '#a2d1ff',\n '60': '#74bbfe',\n '85': '#3a9efe',\n '100': '#178dfe'\n };\n static readonly ORANGE_COLORS = {\n '10': '#FFEFE9',\n '20': '#FFE1D4',\n '40': '#FFC2A8',\n '60': '#FFA47D',\n '85': '#FF7E46',\n '100': '#FF6726'\n };\n static readonly GREEN_COLORS = {\n '10': '#ECF7ED',\n '20': '#DAF1DD',\n '40': '#B5E3BB',\n '60': '#8FD498',\n '85': '#61C26D',\n '100': '#45B854'\n };\n static readonly PURPLE_COLORS = {\n '10': '#EFEDF8',\n '20': '#E0DDF2',\n '40': '#C1BBE6',\n '60': '#A398D9',\n '85': '#7C6DC9',\n '100': '#6554C0'\n };\n static readonly GREY_COLORS = {\n '5': '#F5F5F7',\n '10': '#EAECEF',\n '20': '#D6DAE0',\n '40': '#AEB5C1',\n '60': '#858FA1',\n '85': '#5D6A82',\n '100': '#344563'\n };\n\n static readonly BLACK_COLOR: string = '#000000';\n static readonly LIMIT_COLOR: string = '#E81313';\n static readonly WHITE_COLOR: string = '#FFFFFF';\n\n static getChartColors(color: ChartColor): { [shade: string]: string } {\n switch (color) {\n case ChartColor.Orange:\n return this.ORANGE_COLORS;\n case ChartColor.SoftBlue:\n return this.SOFT_BLUE_COLORS;\n case ChartColor.ElectricBlue:\n return this.ELECTRIC_BLUE_COLORS;\n case ChartColor.Purple:\n return this.PURPLE_COLORS;\n case ChartColor.Green:\n return this.GREEN_COLORS;\n default:\n return this.GREY_COLORS;\n }\n }\n\n static getColors(seriesCount: number, color: ChartColor): string[] {\n const colors = this.getChartColors(color);\n switch (seriesCount) {\n case 1:\n return [colors[100]];\n case 2:\n return [colors[40], colors[100]];\n case 3:\n return [colors[20], colors[60], colors[100]];\n case 4:\n return [colors[20], colors[40], colors[60], colors[100]];\n case 5:\n return [colors[10], colors[20], colors[40], colors[60], colors[100]];\n default:\n return [colors[20], colors[40], colors[60], colors[100]];\n }\n }\n}\n","import {dateFormat, Options, SeriesOptionsType} from 'highcharts';\nimport {ChartColor, ChartColors} from './chart-colors';\n\nexport class ChartOptions {\n\n static readonly DEFAULT_DATE_FORMAT: string = '%A, %b %e, %Y';\n static readonly DEFAULT_OPTIONS: Options = {\n /*lang: {\n decimalPoint: (manager && manager.locale !== 'en') ? ',' : '.',\n resetZoom: resetZoomLabel,\n resetZoomTitle: resetZoomHtmlTitle,\n shortMonths: [\n shortJanuary, shortFebruary, shortMarch, shortApril, shortMay, shortJune,\n shortJuly, shortAugust, shortSeptember, shortOctober, shortNovember, shortDecember\n ],\n thousandsSep: (manager && manager.locale !== 'en') ? ' ' : ',',\n weekdays: this.weekDays,\n zoomIn: zoomInHtmlTitle,\n zoomOut: zoomOutHtmlTitle\n },*/\n chart: {\n spacingRight: 20,\n zoomType: 'xy',\n panning: {\n enabled: true\n },\n panKey: 'shift',\n style: {\n fontFamily: 'Averta, \\'Open Sans\\', Helvetica, sans-serif'\n },\n resetZoomButton: {\n theme: {\n fill: ChartColors.WHITE_COLOR,\n r: 4,\n style: {\n color: ChartColors.GREY_COLORS[100],\n fontSize: '12px'\n },\n states: {\n hover: {\n fill: ChartColors.GREY_COLORS[5]\n }\n }\n }\n }\n },\n colorAxis: {\n labels: {\n style: {\n color: ChartColors.GREY_COLORS[60]\n }\n }\n },\n credits: {\n enabled: false\n },\n legend: {\n borderWidth: 0,\n itemStyle: {\n color: ChartColors.GREY_COLORS[60],\n fontSize: '14px',\n fontWeight: 'normal'\n },\n itemHoverStyle: {\n color: ChartColors.GREY_COLORS[100],\n fontWeight: 'bold'\n }\n },\n plotOptions: {\n series: {\n states: {\n hover: {\n brightness: 0\n }\n },\n connectNulls: true,\n lineWidth: 4\n }\n },\n navigation: {\n buttonOptions: {\n y: 0\n }\n },\n title: {\n text: null\n },\n tooltip: {\n backgroundColor: ChartColors.WHITE_COLOR,\n borderRadius: 4,\n borderWidth: 0,\n dateTimeLabelFormats: {\n day: ChartOptions.DEFAULT_DATE_FORMAT,\n week: ChartOptions.DEFAULT_DATE_FORMAT\n },\n shadow: {\n color: ChartColors.BLACK_COLOR,\n offsetX: 0,\n offsetY: 2,\n opacity: 0.02,\n width: 6\n },\n split: false,\n shared: true,\n useHTML: true,\n headerFormat: `<div style=\"border-bottom: 1px solid ${ChartColors.GREY_COLORS[10]}; padding: 0 8px 7px\">`\n + `<span style=\"font-size: 12px; color: ${ChartColors.GREY_COLORS[60]}\">{point.key}</span></div>`,\n pointFormat: `<div style=\"font-size: 14px; color: ${ChartColors.GREY_COLORS[100]}; margin: 6px 8px 0 8px;\">`\n + '<span style=\"color:{point.color}\">\\u25CF</span> {series.name}: <b>{point.y}</b></div>'\n },\n xAxis: {\n gridLineColor: ChartColors.GREY_COLORS[10],\n lineColor: ChartColors.GREY_COLORS[10],\n tickColor: ChartColors.GREY_COLORS[10],\n gridLineWidth: 1,\n title: {\n text: null\n },\n labels: {\n style: {\n color: ChartColors.GREY_COLORS[40],\n fontSize: '12px'\n }\n }\n },\n yAxis: {\n allowDecimals: false,\n gridLineColor: ChartColors.GREY_COLORS[10],\n lineColor: ChartColors.GREY_COLORS[10],\n gridLineWidth: 1,\n title: {\n text: null\n },\n labels: {\n style: {\n color: ChartColors.GREY_COLORS[40],\n fontSize: '12px'\n }\n }\n }\n };\n\n static build(options: Options): Options {\n return mergeDeep(ChartOptions.DEFAULT_OPTIONS, options);\n }\n\n static configure(series: SeriesOptionsType[],\n options: Options,\n color: ChartColor,\n labelDateFormat?: string) {\n // Configure axis\n options.xAxis = mergeDeep({\n labels: {\n formatter: function(): string {\n return dateFormat(labelDateFormat ? labelDateFormat : '%m/%d', this.value);\n }\n },\n //minTickInterval: 24 * 60 * 60 * 1000 // One day\n }, options.xAxis);\n // Configure series\n if (series && series.length) {\n options.series = series;\n options.legend.enabled = series.length >= 2;\n options.colors = ChartColors.getColors(series.length, color);\n }\n }\n}\n\nexport function isObject(item) {\n return (item && typeof item === 'object' && !Array.isArray(item));\n}\n\nexport function mergeDeep(target, source) {\n let output = deepCopy(target);\n if (isObject(target) && isObject(source)) {\n Object.keys(source).forEach(key => {\n if (isObject(source[key])) {\n if (!(key in target))\n Object.assign(output, {[key]: source[key]});\n else\n output[key] = mergeDeep(target[key], source[key]);\n } else {\n Object.assign(output, {[key]: source[key]});\n }\n });\n }\n return output;\n}\n\nfunction deepCopy(source) {\n if (typeof source !== \"object\" || source === null) {\n return source // Return the value if source is not an object\n }\n // Create an array or object to hold the values\n const newObject = Array.isArray(source) ? [] : {}\n for (let key in source) {\n if (source.hasOwnProperty(key)) {\n // Recursively (deep) copy for nested objects, including arrays\n newObject[key] = deepCopy(source[key])\n }\n }\n return newObject\n}\n","import {ChartOptions, mergeDeep} from '../chart-options';\nimport {Options, SeriesBarOptions, XAxisOptions, YAxisOptions} from 'highcharts';\nimport {PlotRoundedSeriesOptions, SeriesRoundedBarOptions} from './../highchart-series.model';\nimport {ChartColor} from './../chart-colors';\n\nexport class ChartBarOptions extends ChartOptions {\n\n static build(options: Options): Options {\n const seriesOptions: PlotRoundedSeriesOptions = {\n borderRadiusTopLeft: 100,\n borderRadiusTopRight: 100,\n borderWidth: 0\n };\n const defaultColumnOptions: Options = {\n chart: {\n type: 'bar'\n },\n xAxis: {\n categories: undefined,\n gridLineWidth: 0,\n lineWidth: 0,\n reversed: false,\n tickWidth: 0,\n labels: {\n align: 'center',\n formatter(): string {\n if (this.value && this.value.toString().length > 16) {\n return this.value.toString().substring(0, 15) + '...';\n }\n return this.value.toString();\n },\n style: {\n width: 100\n }\n },\n type: 'category'\n },\n yAxis: {\n type: 'linear',\n minTickInterval: 1\n },\n plotOptions: {\n bar: {\n maxPointWidth: 18,\n pointWidth: 20\n },\n series: seriesOptions\n }\n };\n return super.build(mergeDeep(defaultColumnOptions, options));\n }\n\n static configureBar(series: SeriesBarOptions[],\n categories: string[],\n options: Options,\n opposite: boolean,\n color: ChartColor,\n labelDateFormat?: string): void {\n ChartOptions.configure(series, options, color, labelDateFormat);\n if (categories && categories.length) {\n (options.xAxis as XAxisOptions).categories = categories;\n }\n if (opposite && series.length === 2) {\n const negativeSerie = (series[0] as SeriesRoundedBarOptions);\n negativeSerie.borderRadiusBottomLeft = 100;\n negativeSerie.borderRadiusBottomRight = 100;\n negativeSerie.borderRadiusTopLeft = 0;\n negativeSerie.borderRadiusTopRight = 0;\n negativeSerie.data = negativeSerie.data.map((point: any) => {\n if (point && isNaN(point)) {\n return {\n ...point,\n y: -Math.abs(point.y)\n };\n } else if (!isNaN(point)) {\n return -Math.abs(point);\n }\n return point;\n });\n options.plotOptions.series.stacking = 'normal';\n (options.yAxis as YAxisOptions).labels.formatter = function(): string {\n return Math.abs(+this.value) + '%';\n };\n options.tooltip.pointFormatter = function(): string {\n 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>`;\n };\n }\n }\n}\n","import {AfterViewChecked, Component, ElementRef, Input, OnChanges, SimpleChanges, ViewChild} from '@angular/core';\nimport {Chart, Options, SeriesBarOptions} from 'highcharts';\nimport {ChartBarOptions} from './chart-bar-options.model';\nimport {ChartColor} from '../chart-colors';\n\n@Component({\n selector: 'ap-chart-bar',\n templateUrl: './chart-bar.component.html',\n})\nexport class ChartBarComponent implements AfterViewChecked, OnChanges {\n\n @ViewChild('chart') chartRef: ElementRef;\n\n @Input() categories: string[] = [];\n @Input() chartOptions: Options = {}; // https://api.highcharts.com/highcharts/\n @Input() color: ChartColor = ChartColor.ElectricBlue;\n @Input() labelDateFormat: string;\n @Input() opposite: boolean;\n @Input() series: SeriesBarOptions[];\n\n private chart: Chart;\n private lastWidth = 0;\n\n ngOnChanges(changes: SimpleChanges): void {\n if ((changes.series && !changes.series.firstChange) || (changes.color && !changes.color.firstChange)) {\n this.initChart();\n }\n }\n\n ngAfterViewChecked(): void {\n if (this.chartRef && this.chartRef.nativeElement.clientWidth != this.lastWidth) {\n this.lastWidth = this.chartRef.nativeElement.clientWidth;\n if (this.chart) {\n this.chart.reflow();\n } else if (this.series && this.series.length) {\n this.initChart();\n }\n }\n }\n\n initChart(): void {\n if (this.series) {\n const chartOptions = ChartBarOptions.build(this.chartOptions);\n ChartBarOptions.configureBar(this.series, this.categories, chartOptions, this.opposite, this.color, this.labelDateFormat);\n this.chart = new Chart(this.chartRef.nativeElement, chartOptions);\n }\n }\n}\n","<div #chart></div>\n","import {ChartOptions, mergeDeep} from '../chart-options';\nimport {Chart, dateFormat, Options, Series} from 'highcharts';\nimport {SeriesRoundedColumnOptions} from '../highchart-series.model';\n\nexport class ChartColumnOptions extends ChartOptions {\n\n static buildColumn(options: Options, simple: boolean): Options {\n const defaultColumnOptions: Options = {\n chart: {\n type: 'column'\n },\n legend: {\n symbolHeight: 10\n },\n plotOptions: {\n column: {\n stacking: 'normal',\n borderWidth: 0,\n maxPointWidth: 20,\n events: {\n hide(): void {\n ChartColumnOptions.redrawWithRoundedColumns(this.chart);\n },\n show(): void {\n ChartColumnOptions.redrawWithRoundedColumns(this.chart);\n }\n }\n }\n },\n xAxis: {\n type: 'datetime'\n }\n };\n const simpleColumnOptions: Options = {\n chart: {\n type: 'column',\n height: '80px'\n },\n credits: {\n enabled: false\n },\n plotOptions: {\n column: {\n events: {\n hide(): void {\n ChartColumnOptions.redrawWithRoundedColumns(this.chart);\n },\n show(): void {\n ChartColumnOptions.redrawWithRoundedColumns(this.chart);\n }\n },\n }\n },\n xAxis: {\n type: 'datetime',\n crosshair: true,\n labels: {\n enabled: false,\n formatter(): string {\n return dateFormat('%m/%d', +this.value);\n }\n },\n lineWidth: 0,\n tickWidth: 0,\n gridLineWidth: 0\n },\n yAxis: {\n min: 0,\n labels: {\n enabled: false\n },\n gridLineWidth: 0\n }\n };\n return super.build(mergeDeep(simple ? simpleColumnOptions : defaultColumnOptions, options));\n }\n\n static redrawWithRoundedColumns(chart: Chart): void {\n chart.series.map((serie, serieIndex: number, arr) => {\n ChartColumnOptions.roundSerie(arr, serie.options as SeriesRoundedColumnOptions, serieIndex);\n });\n chart.redraw(true);\n }\n\n static roundSerie(series: Series[], serie: SeriesRoundedColumnOptions, serieIndex: number): void {\n const roundedOptionMap = [];\n let borderRadius = 0;\n if (serie.data) {\n serie.data.forEach((point, columnIndex) => {\n // Check if all previous stacked data at the same abscissa (located higher on the graph) are missing or have a value of 0\n // if so, it means that this point is the visual top of the column, so we should round it\n const roundedColumnEnabled = series.slice(0, serieIndex)\n .every(otherSerie => {\n if (otherSerie.visible === false) {\n return true;\n }\n const pointAtSameAbscissa = (otherSerie.options as SeriesRoundedColumnOptions)\n .data.find(otherPoint => otherPoint[0] === point[0]);\n return !pointAtSameAbscissa || pointAtSameAbscissa[1] === 0;\n });\n borderRadius = roundedColumnEnabled ? 100 : 0;\n roundedOptionMap[columnIndex] = borderRadius;\n });\n serie.borderRadiusTopLeft = roundedOptionMap;\n serie.borderRadiusTopRight = roundedOptionMap;\n }\n }\n}\n","import {AfterViewChecked, Component, ElementRef, Input, OnChanges, SimpleChanges, ViewChild} from '@angular/core';\nimport {ChartColumnOptions} from './chart-column-options.model';\nimport {ChartColor} from '../chart-colors';\nimport {Chart, Options, SeriesColumnOptions} from 'highcharts';\n\n@Component({\n selector: 'ap-chart-column',\n templateUrl: './chart-column.component.html',\n})\nexport class ChartColumnComponent implements AfterViewChecked, OnChanges {\n\n @ViewChild('chart') chartRef: ElementRef;\n\n @Input() chartOptions: Options = {}; // https://api.highcharts.com/highcharts/\n @Input() color: ChartColor = ChartColor.ElectricBlue;\n @Input() labelDateFormat: string;\n @Input() series: SeriesColumnOptions[];\n @Input() simple: boolean = false;\n\n private chart: Chart;\n private lastWidth = 0;\n\n ngOnChanges(changes: SimpleChanges): void {\n if ((changes.series && !changes.series.firstChange) || (changes.color && !changes.color.firstChange)) {\n this.initChart();\n }\n }\n\n ngAfterViewChecked(): void {\n if (this.chartRef && this.chartRef.nativeElement.clientWidth != this.lastWidth) {\n this.lastWidth = this.chartRef.nativeElement.clientWidth;\n if (this.chart) {\n this.chart.reflow();\n } else if (this.series && this.series.length) {\n this.initChart();\n }\n }\n }\n\n initChart(): void {\n if (this.series) {\n const chartOptions = ChartColumnOptions.buildColumn(this.chartOptions, this.simple);\n ChartColumnOptions.configure(this.series, chartOptions, this.color, this.labelDateFormat);\n this.chart = new Chart(this.chartRef.nativeElement, chartOptions);\n if (this.chart) {\n ChartColumnOptions.redrawWithRoundedColumns(this.chart);\n }\n }\n }\n}\n","<div #chart></div>\n","export enum ChartMetricType {\n default,\n total\n}\n\nexport class ChartMetric {\n\n children?: ChartMetric[];\n name: string;\n type?: ChartMetricType;\n value: number;\n\n}\n","import {ChangeDetectionStrategy, Component, Input} from '@angular/core';\nimport {ChartMetric, ChartMetricType} from '../chart-metric';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: \"ap-chart-metrics-list\",\n styleUrls: ['chart-metrics-list.component.scss'],\n templateUrl: 'chart-metrics-list.component.html'\n})\nexport class ChartMetricsListComponent {\n\n @Input() metrics: ChartMetric[];\n @Input() locale: string;\n\n ChartMetricType = ChartMetricType;\n digitsInfo: string = '1.0-1';\n\n}\n","<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","import {ChartOptions, mergeDeep} from '../chart-options';\nimport * as Highcharts from 'highcharts';\nimport {ChartColors} from '../chart-colors';\n\nexport class ChartHeatmapOptions extends ChartOptions {\n\n static build(options: Highcharts.Options): Highcharts.Options {\n const defaultHeatmapOptions: Highcharts.Options = {\n chart: {\n type: 'heatmap',\n height: 600\n },\n colorAxis: {\n allowDecimals: false,\n gridLineWidth: 2,\n gridLineColor: 'white',\n min: 0,\n labels: {\n style: {\n fontSize: '12px'\n }\n }\n },\n legend: {\n enabled: false\n },\n plotOptions: {\n heatmap: {\n borderColor: ChartColors.GREY_COLORS[10],\n borderWidth: 1,\n nullColor: 'white'\n }\n },\n tooltip: {\n headerFormat: '',\n pointFormat: `<div style=\"border-bottom: 1px solid ${ChartColors.GREY_COLORS[10]}; padding: 0 8px 7px\">`\n + `<span style=\"font-size: 12px; color: ${ChartColors.GREY_COLORS[60]}\">{point.tooltipHeaderLabel}</span></div>`\n + `<div style=\"font-size: 14px; color: ${ChartColors.GREY_COLORS[100]}; margin: 6px 8px 0 8px;\">`\n + `<span style=\"color:{point.color}\">\\u25CF</span> {series.name}: <b>{point.value}</b></div>`,\n },\n xAxis: {\n labels: {\n formatter: function () {\n return this.value.toString();\n }\n },\n lineWidth: 1,\n tickWidth: 0,\n visible: true\n },\n yAxis: {\n lineWidth: 0,\n tickInterval: 3,\n reversed: true,\n visible: true\n }\n };\n return super.build(mergeDeep(defaultHeatmapOptions, options));\n }\n\n static configureHeatmap(categoriesX: string[],\n categoriesY: string[],\n series: Highcharts.SeriesOptionsType[],\n options: Highcharts.Options,\n labelDateFormat?: string) {\n super.configure(series, options, null, labelDateFormat);\n if (categoriesX && categoriesX.length) {\n (options.xAxis as Highcharts.XAxisOptions).categories = categoriesX;\n }\n if (categoriesY && categoriesY.length) {\n (options.yAxis as Highcharts.YAxisOptions).categories = categoriesY;\n }\n }\n}\n","import {AfterViewChecked, Component, ElementRef, Input, OnChanges, SimpleChanges, ViewChild} from '@angular/core';\nimport {mapChart, Options, SeriesHeatmapOptions} from 'highcharts/highmaps';\nimport {ChartHeatmapOptions} from './chart-heatmap-options.model';\n\n@Component({\n selector: 'ap-chart-heatmap',\n templateUrl: './chart-heatmap.component.html',\n})\nexport class ChartHeatmapComponent implements AfterViewChecked, OnChanges {\n\n @ViewChild('chart') chartRef: ElementRef;\n\n @Input() categoriesX: string[] = [];\n @Input() categoriesY: string[] = [];\n @Input() chartOptions: Options = {}; // https://api.highcharts.com/highcharts/\n @Input() labelDateFormat: string;\n @Input() series: SeriesHeatmapOptions[];\n\n private chart;\n private lastWidth = 0;\n\n ngOnChanges(changes: SimpleChanges): void {\n if ((changes.series && !changes.series.firstChange)) {\n this.initChart();\n }\n }\n\n ngAfterViewChecked(): void {\n if (this.chartRef && this.chartRef.nativeElement.clientWidth != this.lastWidth) {\n this.lastWidth = this.chartRef.nativeElement.clientWidth;\n if (this.chart) {\n this.chart.reflow();\n } else if (this.series && this.series.length) {\n this.initChart();\n }\n }\n }\n\n private initChart(): void {\n if (this.series) {\n const chartOptions = ChartHeatmapOptions.build(this.chartOptions);\n ChartHeatmapOptions.configureHeatmap(this.categoriesX, this.categoriesY, this.series, chartOptions, this.labelDateFormat);\n mapChart(this.chartRef.nativeElement, chartOptions);\n }\n }\n\n}\n","<div #chart></div>\n","import {ChartOptions, mergeDeep} from '../chart-options';\nimport {Options} from 'highcharts';\n\nexport class ChartSplineOptions extends ChartOptions {\n\n static buildSpline(options: Options, singleDayEnabled: boolean): Options {\n const defaultSplineOptions: Options = {\n chart: {\n type: 'spline'\n },\n plotOptions: {\n series: {\n marker: {\n enabled: singleDayEnabled,\n radius: singleDayEnabled ? 5 : 2,\n symbol: 'circle'\n }\n }\n },\n xAxis: {\n type: 'datetime'\n }\n };\n return super.build(mergeDeep(defaultSplineOptions, options));\n }\n\n}\n","import {AfterViewChecked, Component, ElementRef, Input, OnChanges, SimpleChanges, ViewChild} from '@angular/core';\nimport {ChartSplineOptions} from './chart-spline-options.model';\nimport {ChartColor} from '../chart-colors';\nimport {Chart, Options, SeriesSplineOptions} from 'highcharts';\n\n@Component({\n selector: 'ap-chart-spline',\n templateUrl: './chart-spline.component.html',\n})\nexport class ChartSplineComponent implements AfterViewChecked, OnChanges {\n\n @ViewChild('chart') chartRef: ElementRef;\n\n @Input() chartOptions: Options = {}; // https://api.highcharts.com/highcharts/\n @Input() color: ChartColor = ChartColor.ElectricBlue;\n @Input() labelDateFormat: string;\n @Input() series: SeriesSplineOptions[];\n\n private chart: Chart;\n private lastWidth = 0;\n\n ngOnChanges(changes: SimpleChanges): void {\n if ((changes.series && !changes.series.firstChange) || (changes.color && !changes.color.firstChange)) {\n this.initChart();\n }\n }\n\n ngAfterViewChecked(): void {\n if (this.chartRef && this.chartRef.nativeElement.clientWidth !== this.lastWidth) {\n this.lastWidth = this.chartRef.nativeElement.clientWidth;\n if (this.chart) {\n this.chart.reflow();\n } else if (this.series && this.series.length) {\n this.initChart();\n }\n }\n }\n\n private initChart(): void {\n if (this.series) {\n const chartOptions = ChartSplineOptions.buildSpline(this.chartOptions, this.series[0].data?.length === 1);\n ChartSplineOptions.configure(this.series, chartOptions, this.color, this.labelDateFormat);\n this.chart = new Chart(this.chartRef.nativeElement, chartOptions);\n }\n }\n\n}\n","<div #chart></div>\n","import {ChartOptions, mergeDeep} from '../chart-options';\nimport {Options, SeriesPieOptions} from 'highcharts';\nimport {ChartColor, ChartColors} from './../chart-colors';\n\nexport class ChartPieOptions extends ChartOptions {\n\n static buildPie(options: Options, innerLabels: boolean): Options {\n const defaultPieOptions: Options = {\n chart: {\n type: 'pie',\n plotBackgroundColor: null,\n plotBorderWidth: null,\n plotShadow: false\n },\n plotOptions: {\n pie: {\n dataLabels: {\n distance: innerLabels ? -40 : 30,\n useHTML: true\n },\n innerSize: '50%'\n },\n series: {\n allowPointSelect: !innerLabels,\n dataLabels: innerLabels ? {\n format: '{point.percentage:.1f}%',\n style: {\n fontSize: '16px',\n color: 'white',\n textOutline: '0'\n }\n } : {\n style: {\n fontSize: '12px',\n color: ChartColors.GREY_COLORS[60]\n }\n },\n showInLegend: innerLabels,\n states: {\n inactive: {\n opacity: 1\n }\n }\n }\n },\n legend: innerLabels ? {\n symbolHeight: 10,\n enabled: true\n } : {}\n };\n return super.build(mergeDeep(defaultPieOptions, options));\n }\n\n static configurePie(series: SeriesPieOptions[],\n options: Options,\n color: ChartColor,\n labelDateFormat: string,\n innerLabels: boolean): void {\n super.configure(series, options, color, labelDateFormat);\n if (innerLabels) {\n options.legend.enabled = true;\n }\n if (series && series.length > 0 && series[0]) {\n options.colors = ChartColors.getColors((series[0] as SeriesPieOptions).data.length, color);\n options.plotOptions.pie.point ??= {};\n options.plotOptions.pie.point.events ??= {};\n // entering a slice\n options.plotOptions.pie.point.events.mouseOver = function(): void {\n this.series.chart.series[0].points.forEach(point => {\n if (point.index !== this.index) {\n point.update({\n color: ChartColors.GREY_COLORS[5]\n }, false);\n if (innerLabels) {\n point.update({\n dataLabels: {\n style: {\n color: ChartColors.GREY_COLORS[20]\n }\n }\n }, false);\n }\n }\n });\n this.series.chart.redraw(false);\n };\n // leaving a slice\n options.plotOptions.pie.point.events.mouseOut = function(): void {\n this.series.chart.series[0].points.forEach((point, i) => {\n if (point.index !== this.index) {\n point.update({\n color: options.colors[i % options.colors.length]\n }, false);\n if (innerLabels) {\n point.update({\n dataLabels: {\n style: {\n color: 'white'\n }\n }\n }, false);\n }\n }\n });\n };\n options.plotOptions.pie.events ??= {};\n // leaving the whole pie\n options.plotOptions.pie.events.mouseOut = function(): void {\n this.chart.series[0].points.forEach((point, i) => {\n point.update({\n color: options.colors[i % options.colors.length]\n }, false);\n if (innerLabels) {\n point.update({\n dataLabels: {\n style: {\n color: 'white'\n }\n }\n }, false);\n }\n });\n this.chart.redraw();\n };\n }\n }\n\n}\n\n","import {AfterViewChecked, Component, ElementRef, Input, OnChanges, SimpleChanges, ViewChild} from '@angular/core';\nimport {ChartPieOptions} from './chart-pie-options.model';\nimport {ChartColor} from '../chart-colors';\nimport {Chart, Options, SeriesPieOptions} from 'highcharts';\n\n@Component({\n selector: 'ap-chart-pie',\n templateUrl: './chart-pie.component.html',\n})\nexport class ChartPieComponent implements AfterViewChecked, OnChanges {\n\n @ViewChild('chart') chartRef: ElementRef;\n\n @Input() chartOptions: Options = {}; // https://api.highcharts.com/highcharts/\n @Input() color: ChartColor = ChartColor.ElectricBlue;\n @Input() innerLabels = false;\n @Input() labelDateFormat: string;\n @Input() series: SeriesPieOptions[];\n\n private chart: Chart;\n private lastWidth = 0;\n\n ngOnChanges(changes: SimpleChanges): void {\n if ((changes.series && !changes.series.firstChange) || (changes.color && !changes.color.firstChange)) {\n this.initChart();\n }\n }\n\n ngAfterViewChecked(): void {\n if (this.chartRef && this.chartRef.nativeElement.clientWidth !== this.lastWidth) {\n this.lastWidth = this.chartRef.nativeElement.clientWidth;\n if (this.chart) {\n this.chart.reflow();\n } else if (this.series && this.series.length) {\n this.initChart();\n }\n }\n }\n\n initChart(): void {\n if (this.series) {\n const chartOptions = ChartPieOptions.buildPie(this.chartOptions, this.innerLabels);\n ChartPieOptions.configurePie(this.series, chartOptions, this.color, this.labelDateFormat, this.innerLabels);\n this.chart = new Chart(this.chartRef.nativeElement, chartOptions);\n }\n }\n}\n","<div #chart></div>\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {MatListModule} from '@angular/material/list';\nimport {HighchartsChartModule} from 'highcharts-angular';\n\nimport {ChartBarComponent} from './chart-bar/chart-bar.component';\nimport {ChartColumnComponent} from './chart-column/chart-column.component';\nimport {ChartMetricsListComponent} from './chart-metrics-list/chart-metrics-list.component';\nimport {ChartHeatmapComponent} from './chart-heatmap/chart-heatmap.component';\nimport {ChartSplineComponent} from './chart-spline/chart-spline.component';\nimport {ChartPieComponent} from './chart-pie/chart-pie.component';\n\n@NgModule({\n declarations: [\n ChartBarComponent,\n ChartColumnComponent,\n ChartHeatmapComponent,\n ChartMetricsListComponent,\n ChartSplineComponent,\n ChartPieComponent\n ],\n imports: [\n CommonModule,\n HighchartsChartModule,\n MatListModule\n ],\n exports: [\n ChartBarComponent,\n ChartColumnComponent,\n ChartHeatmapComponent,\n ChartMetricsListComponent,\n ChartSplineComponent,\n ChartPieComponent\n ],\n providers: [\n ]\n})\nexport class AgorapulseUiChartsModule {\n}\n","/*\n * Public API Surface of ui-charts\n */\n\nimport * as Highcharts from 'highcharts';\nimport {borderRadiusPlugin} from './src/lib/highcharts-border-radius-plugin';\n\nborderRadiusPlugin(Highcharts);\n\nexport {AgorapulseUiChartsModule} from './src/lib/agorapulse-ui-charts.module';\nexport {ChartBarComponent} from './src/lib/chart-bar/chart-bar.component';\nexport {ChartColor, ChartColors} from './src/lib/chart-colors';\nexport {ChartColumnComponent} from './src/lib/chart-column/chart-column.component';\nexport {ChartHeatmapComponent} from './src/lib/chart-heatmap/chart-heatmap.component';\nexport {ChartMetric, ChartMetricType} from './src/lib/chart-metric';\nexport {ChartMetricsListComponent} from './src/lib/chart-metrics-list/chart-metrics-list.component';\nexport {ChartOptions, mergeDeep} from './src/lib/chart-options';\nexport {ChartPieComponent} from './src/lib/chart-pie/chart-pie.component';\nexport {ChartSplineComponent} from './src/lib/chart-spline/chart-spline.component';\n\nexport {borderRadiusPlugin} from './src/lib/highcharts-border-radius-plugin';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@agorapulse/ui-charts",
3
3
  "description": "Agorapulse UI Charts Components Library",
4
- "version": "13.0.2",
4
+ "version": "13.1.0",
5
5
  "author": "Benoit Hediard",
6
6
  "repository": {
7
7
  "type": "git",
@@ -12,7 +12,7 @@
12
12
  },
13
13
  "homepage": "https://github.com/agorapulse/design",
14
14
  "peerDependencies": {
15
- "@agorapulse/ui-theme": "^13.0.1",
15
+ "@agorapulse/ui-theme": "^13.1.0",
16
16
  "@angular/common": "^13.2.3",
17
17
  "@angular/core": "^13.2.3",
18
18
  "@angular/material": "^13.2.3",
Binary file