{"version":3,"file":"sowatech-shared-chartjs.mjs","sources":["../../../projects/shared/chartjs/chartjs.component.ts","../../../projects/shared/chartjs/chartjs.module.ts","../../../projects/shared/chartjs/sowatech-shared-chartjs.ts"],"sourcesContent":["import { Component, ElementRef, Input, OnChanges, OnInit, ViewChild } from '@angular/core';\r\nimport { Chart, ChartData, ChartDataSet, ChartOptions } from 'chart.js';\r\nimport * as datalabels from 'chartjs-plugin-datalabels';\r\n\r\n@Component({\r\n    selector: 'chartjs',\r\n    template: '<div><canvas #chartCanvas width=\"width\" height=\"height\"></canvas></div>',\r\n    standalone: false\r\n})\r\n\r\nexport class ChartJsComponent implements OnInit, OnChanges {\r\n    constructor() {\r\n    }\r\n\r\n    @Input() type: 'bar' | 'line' | 'radar' | 'pie' | 'polarArea' | 'doughnut' | 'horizontalBar' | 'bubble' | string = 'bar';\r\n    @Input() data: ChartData;\r\n    @Input() options: ChartOptions;\r\n    @Input() width = 400;\r\n    @Input() height = 400;\r\n\r\n    @ViewChild('chartCanvas', { static: true }) set setChartCanvas(chartCanvasRef: ElementRef) {\r\n        this.chartCanvas = chartCanvasRef.nativeElement;\r\n    }\r\n    chartCanvas: HTMLCanvasElement;\r\n    private chart: Chart;\r\n\r\n    ngOnInit() {\r\n    }\r\n\r\n    ngOnChanges() {\r\n        this.refresh();\r\n    }\r\n\r\n    refresh() {\r\n        if (this.data) {\r\n            if (this.chart)\r\n                this.chart.update();\r\n\r\n            else {\r\n                this.chart = new Chart(this.chartCanvas, {\r\n                    type: this.type,\r\n                    data: this.data,\r\n                    options: this.options,\r\n                    plugins: [datalabels]\r\n                });\r\n            }\r\n        }\r\n    }\r\n}\r\n\r\n@Component({\r\n    selector: 'chartjs-bar',\r\n    template: '<chartjs #chartjs type=\"bar\"></chartjs>',\r\n    standalone: false\r\n})\r\n\r\nexport class ChartJsBarComponent implements OnInit, OnChanges {\r\n    constructor() {\r\n\r\n        this.data = {\r\n            labels: ['12', '19', '3', '5', '2', '3'],\r\n            datasets: new Array<ChartDataSet>()\r\n        };\r\n\r\n        this.data.datasets.push(\r\n            {\r\n                label: 'Values',\r\n                data: [12, 19, 3, 5, 2, 3],\r\n                backgroundColor: ChartJsHelper.getDefaultBackgroundColor(),\r\n                borderColor: ChartJsHelper.getDefaultBorderColor(),\r\n                borderWidth: 0,\r\n                datalabels: { display: false }\r\n            }\r\n        );\r\n        this.options = ChartJsHelper.getDefaultOptionsForBarChart();\r\n\r\n    }\r\n\r\n    @ViewChild('chartjs', { static: true }) chartjs: ChartJsComponent;\r\n    @Input() options: ChartOptions;\r\n    @Input() set values(values: number[]) {\r\n        this.data.datasets[0].data = values;\r\n    }\r\n    @Input() set labels(values: string[]) {\r\n        this.data.labels = values;\r\n    }\r\n    @Input() set label(value: string) {\r\n        this.data.datasets[0].label = value;\r\n    }\r\n    @Input() set colors(values: string[]) {\r\n        this.data.datasets[0].backgroundColor = values;\r\n    }\r\n    @Input() set borderColors(values: string[]) {\r\n        this.data.datasets[0].borderColor = values;\r\n    }\r\n    @Input() set title(value: string) {\r\n        this.options.title.text = value;\r\n    }\r\n    @Input() set datasets(datasets: Array<ChartDataSet>) {\r\n        this.data.datasets = datasets;\r\n        for (let i = 0; i < this.data.datasets.length; i++) {\r\n            const currentDataset: ChartDataSet = this.data.datasets[i];\r\n            currentDataset.backgroundColor = ChartJsHelper.getDefaultBackgroundColor()[i];\r\n            currentDataset.borderColor = ChartJsHelper.getDefaultBorderColor()[i];\r\n        }\r\n    }\r\n    //Einstellungen des Plugins\r\n    // https://chartjs-plugin-datalabels.netlify.com/options.html#style-options\r\n    @Input() set datalabels(datalabels: any) {\r\n        this.data.datasets[0].datalabels = datalabels;\r\n    }\r\n    ngOnInit() {\r\n        this.chartjs.data = this.data;\r\n        this.chartjs.options = this.options;\r\n    }\r\n\r\n    ngOnChanges() {\r\n\r\n        this.chartjs.refresh();//das sollte eigtl nicht nötig sein.\r\n    }\r\n\r\n    private data: ChartData;\r\n}\r\n\r\n\r\n@Component({\r\n    selector: 'chartjs-bar-datasets',\r\n    template: '<chartjs #chartjs type=\"bar\"></chartjs>',\r\n    standalone: false\r\n})\r\n\r\nexport class ChartJsBarDatasetsComponent implements OnInit, OnChanges {\r\n    constructor() {\r\n\r\n        this.data = {\r\n            labels: ['12', '19', '3', '5', '2', '3'],\r\n            datasets: new Array<ChartDataSet>()\r\n        };\r\n\r\n        this.data.datasets.push(\r\n            {\r\n                label: 'Values',\r\n                data: [12, 19, 3, 5, 2, 3],\r\n                backgroundColor: ChartJsHelper.getDefaultBackgroundColor(),\r\n                borderColor: ChartJsHelper.getDefaultBorderColor(),\r\n                borderWidth: 0,\r\n                datalabels: { display: false }\r\n            }\r\n        );\r\n        this.options = ChartJsHelper.getDefaultOptionsForBarChart();\r\n\r\n    }\r\n\r\n    @ViewChild('chartjs', { static: true }) chartjs: ChartJsComponent;\r\n    @Input() options: ChartOptions;\r\n\r\n    @Input() set colors(values: string[]) {\r\n        this.data.datasets[0].backgroundColor = values;\r\n    }\r\n    @Input() set borderColors(values: string[]) {\r\n        this.data.datasets[0].borderColor = values;\r\n    }\r\n    @Input() set title(value: string) {\r\n        this.options.title.text = value;\r\n    }\r\n    @Input('datasetsObject') set datasets(datasetsObject: ObjectForDataSetChart) {\r\n        this.data.labels = datasetsObject.chartLabels;\r\n        this.data.datasets = datasetsObject.ListOfDataSetObjects;\r\n\r\n        for (let i = 0; i < this.data.datasets.length; i++) {\r\n            const currentDataset: ChartDataSet = this.data.datasets[i];\r\n            currentDataset.backgroundColor = ChartJsHelper.getDefaultBackgroundColor()[i];\r\n            currentDataset.borderColor = ChartJsHelper.getDefaultBorderColor()[i];\r\n        }\r\n    }\r\n\r\n    //Einstellungen des Plugins\r\n    // https://chartjs-plugin-datalabels.netlify.com/options.html#style-options\r\n    @Input() set datalabels(datalabels: any) {\r\n        this.data.datasets[0].datalabels = datalabels;\r\n    }\r\n    ngOnInit() {\r\n        this.chartjs.data = this.data;\r\n        this.chartjs.options = this.options;\r\n    }\r\n\r\n    ngOnChanges() {\r\n        this.chartjs.refresh();//das sollte eigtl nicht nötig sein.\r\n    }\r\n\r\n    private data: ChartData;\r\n\r\n}\r\n\r\nexport interface ObjectForDataSetChart {\r\n    chartLabels: Array<string>;\r\n    ListOfDataSetObjects: Array<DataSetObject>;\r\n}\r\n\r\nexport interface DataSetObject {\r\n    label: string;\r\n    data: Array<number>;\r\n}\r\n\r\n\r\n\r\n@Component({\r\n    selector: 'chartjs-pie',\r\n    template: '<chartjs #chartjs type=\"pie\"></chartjs>',\r\n    standalone: false\r\n})\r\n\r\nexport class ChartJsPieComponent implements OnInit, OnChanges {\r\n    constructor() {\r\n\r\n        this.data = {\r\n            labels: ['12', '19', '3', '5', '2', '3'],\r\n            datasets: new Array<ChartDataSet>(),\r\n        };\r\n\r\n        this.data.datasets.push(\r\n            {\r\n                label: 'Values',\r\n                data: [12, 19, 3, 5, 2, 3],\r\n                backgroundColor: ChartJsHelper.getDefaultBackgroundColor(),\r\n                borderColor: ChartJsHelper.getDefaultBorderColor(),\r\n                borderWidth: 0,\r\n                datalabels: { display: false }\r\n            }\r\n        );\r\n        this.options = ChartJsHelper.getDefaultOptionsForPieChart();\r\n    }\r\n\r\n    @ViewChild('chartjs', { static: true }) chartjs: ChartJsComponent;\r\n    @Input() options: ChartOptions;\r\n    @Input() set values(values: number[]) {\r\n        this.data.datasets[0].data = values;\r\n    }\r\n    @Input() set labels(values: string[]) {\r\n        this.data.labels = values;\r\n    }\r\n    @Input() set colors(values: string[]) {\r\n        this.data.datasets[0].backgroundColor = values;\r\n    }\r\n    @Input() set borderColors(values: string[]) {\r\n        this.data.datasets[0].borderColor = values;\r\n    }\r\n    @Input() set title(value: string) {\r\n        this.options.title.text = value;\r\n    }\r\n\r\n    @Input() size = 400;\r\n\r\n    ngOnInit() {\r\n        this.chartjs.data = this.data;\r\n        this.chartjs.options = this.options;\r\n        this.chartjs.width = this.size;\r\n        this.chartjs.height = this.size;\r\n    }\r\n\r\n    ngOnChanges() {\r\n        this.chartjs.refresh();//das sollte eigtl nicht nötig sein.\r\n    }\r\n    //Einstellungen des Plugins\r\n    // https://chartjs-plugin-datalabels.netlify.com/options.html#style-options\r\n    @Input() set datalabels(datalabels: any) {\r\n        this.data.datasets[0].datalabels = datalabels;\r\n    }\r\n    private data: ChartData;\r\n}\r\n\r\n@Component({\r\n    selector: 'chartjs-line',\r\n    template: '<chartjs #chartjs type=\"line\"></chartjs>',\r\n    standalone: false\r\n})\r\n\r\nexport class ChartJsLineComponent implements OnInit, OnChanges {\r\n    constructor() {\r\n\r\n        this.data = {\r\n            labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'],\r\n            datasets: new Array<ChartDataSet>(),\r\n        };\r\n\r\n        this.data.datasets.push(\r\n            {\r\n                label: 'My First dataset',\r\n                fill: false,\r\n                lineTension: 0.1,\r\n                backgroundColor: 'rgba(75,192,192,0.4)',\r\n                borderColor: 'rgba(75,192,192,1)',\r\n                borderCapStyle: 'butt',\r\n                borderDash: [],\r\n                borderDashOffset: 0.0,\r\n                borderJoinStyle: 'miter',\r\n                pointBorderColor: 'rgba(75,192,192,1)',\r\n                pointBackgroundColor: '#fff',\r\n                pointBorderWidth: 1,\r\n                pointHoverRadius: 5,\r\n                pointHoverBackgroundColor: 'rgba(75,192,192,1)',\r\n                pointHoverBorderColor: 'rgba(220,220,220,1)',\r\n                pointHoverBorderWidth: 2,\r\n                pointRadius: 1,\r\n                pointHitRadius: 10,\r\n                spanGaps: false,\r\n                data: [65, 59, 80, 81, 56, 55, 40],\r\n                datalabels: { display: false }\r\n            }\r\n        );\r\n        this.options = ChartJsHelper.getDefaultOptionsForLineChart();\r\n    }\r\n\r\n    @ViewChild('chartjs', { static: true }) chartjs: ChartJsComponent;\r\n    @Input() options: ChartOptions;\r\n    @Input() set datasets(values: ChartDataSet[]) {\r\n        this.data.datasets = values;\r\n    }\r\n    @Input() set labels(values: string[]) {\r\n        this.data.labels = values;\r\n    }\r\n    @Input() set colors(values: string[]) {\r\n        this.data.datasets[0].backgroundColor = values;\r\n    }\r\n    @Input() set borderColors(values: string[]) {\r\n        this.data.datasets[0].borderColor = values;\r\n    }\r\n    @Input() set title(value: string) {\r\n        this.options.title.text = value;\r\n    }\r\n\r\n    ngOnInit() {\r\n        this.chartjs.data = this.data;\r\n        this.chartjs.options = this.options;\r\n    }\r\n\r\n    ngOnChanges() {\r\n        this.chartjs.refresh();//das sollte eigtl nicht nötig sein.\r\n    }\r\n    //Einstellungen des Plugins\r\n    // https://chartjs-plugin-datalabels.netlify.com/options.html#style-options\r\n    @Input() set datalabels(datalabels: any) {\r\n        this.data.datasets[0].datalabels = datalabels;\r\n    }\r\n    private data: ChartData;\r\n}\r\n\r\nclass ChartJsHelper {\r\n    public static getDefaultBackgroundColor(): string[] {\r\n        return [\r\n            'rgba(28, 131, 198, 0.6)',\r\n            'rgba(35, 200, 200, 0.6)',\r\n            'rgba(26, 179, 149, 0.6)',\r\n            'rgba(103, 106, 108, 0.6)',\r\n            //            'rgba(209, 218, 222, 0.6)', nochmal anschauen, welches grau wir nehmen\r\n            'rgba(0, 120, 96, 0.6)',\r\n            'rgba(5, 80, 129, 0.6)'\r\n\r\n        ];\r\n    }\r\n\r\n    public static getDefaultBorderColor(): string[] {\r\n        return [\r\n            'rgba(28, 131, 198, 1)',\r\n            'rgba(35, 200, 200, 1)',\r\n            'rgba(26, 179, 149, 1)',\r\n            'rgba(103, 106, 108, 1)',\r\n            //    'rgba(209, 218, 222, 1)',\r\n            'rgba(0, 120, 96, 1)',\r\n            'rgba(5, 80, 129, 1)'\r\n        ];\r\n    }\r\n\r\n\r\n\r\n    public static getDefaultOptionsForPieChart(): ChartOptions {\r\n        const options: ChartOptions =\r\n            {\r\n                title: { text: 'Pie-Chart', display: true },\r\n                responsive: true\r\n            };\r\n        return options;\r\n    }\r\n\r\n    public static getDefaultOptionsForLineChart(): ChartOptions {\r\n        const options: ChartOptions =\r\n            {\r\n                title: { text: 'Line-Chart', display: true },\r\n                responsive: true\r\n            };\r\n        return options;\r\n    }\r\n\r\n    public static getDefaultOptionsForBarChart(): ChartOptions {\r\n        const options: ChartOptions =\r\n            {\r\n                scales: {\r\n                    yAxes: [{\r\n                        ticks: {\r\n                            beginAtZero: true\r\n                        }\r\n                    }]\r\n                },\r\n                title: { text: 'Bar-Chart', display: true },\r\n                responsive: true\r\n            };\r\n        return options;\r\n    }\r\n\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\n\r\nimport {\r\n    ChartJsBarComponent,\r\n    ChartJsBarDatasetsComponent,\r\n    ChartJsComponent,\r\n    ChartJsLineComponent,\r\n    ChartJsPieComponent,\r\n} from './chartjs.component';\r\n\r\n//--- export\r\nexport { ChartData, ChartDataSet, ChartConfiguration, Color, Image } from 'chart.js';\r\n\r\n@NgModule({\r\n    imports: [CommonModule],\r\n    declarations: [\r\n        ChartJsComponent,\r\n        ChartJsBarComponent,\r\n        ChartJsBarDatasetsComponent,\r\n        ChartJsPieComponent,\r\n        ChartJsLineComponent\r\n    ],\r\n    exports: [\r\n        ChartJsComponent,\r\n        ChartJsBarComponent,\r\n        ChartJsBarDatasetsComponent,\r\n        ChartJsPieComponent,\r\n        ChartJsLineComponent\r\n    ]\r\n})\r\nexport class ChartJsModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}