{"version":3,"file":"primeng-chart.mjs","sources":["../../src/app/components/chart/chart.ts","../../src/app/components/chart/primeng-chart.ts"],"sourcesContent":["import {NgModule,Component,ElementRef,AfterViewInit,OnDestroy,Input,Output,EventEmitter,ChangeDetectionStrategy, ViewEncapsulation} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport Chart from 'chart.js/auto';\n\n@Component({\n    selector: 'p-chart',\n    template: `\n        <div style=\"position:relative\" [style.width]=\"responsive && !width ? null : width\" [style.height]=\"responsive && !height ? null : height\">\n            <canvas [attr.width]=\"responsive && !width ? null : width\" [attr.height]=\"responsive && !height ? null : height\" (click)=\"onCanvasClick($event)\"></canvas>\n        </div>\n    `,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    host: {\n        'class': 'p-element'\n    }\n})\nexport class UIChart implements AfterViewInit, OnDestroy {\n\n    @Input() type: string;\n\n    @Input() plugins: any[] = [];\n\n    @Input() width: string;\n\n    @Input() height: string;\n\n    @Input() responsive: boolean = true;\n\n    @Output() onDataSelect: EventEmitter<any> = new EventEmitter();\n\n    initialized: boolean;\n\n    _data: any;\n\n    _options: any = {};\n\n    chart: any;\n\n    constructor(public el: ElementRef) {}\n\n    @Input() get data(): any {\n        return this._data;\n    }\n\n    set data(val:any) {\n        this._data = val;\n        this.reinit();\n    }\n\n    @Input() get options(): any {\n        return this._options;\n    }\n\n    set options(val:any) {\n        this._options = val;\n        this.reinit();\n    }\n\n    ngAfterViewInit() {\n        this.initChart();\n        this.initialized = true;\n    }\n\n    onCanvasClick(event) {\n        if (this.chart) {\n            const element = this.chart.getElementsAtEventForMode(event, 'nearest', { intersect: true }, false);\n            const dataset = this.chart.getElementsAtEventForMode(event, 'dataset', { intersect: true }, false);\n\n            if (element && element[0] && dataset) {\n                this.onDataSelect.emit({originalEvent: event, element: element[0], dataset: dataset});\n            }\n        }\n    }\n\n    initChart() {\n        let opts = this.options||{};\n        opts.responsive = this.responsive;\n\n        // allows chart to resize in responsive mode\n        if (opts.responsive&&(this.height||this.width)) {\n            opts.maintainAspectRatio = false;\n        }\n\n        this.chart = new Chart(this.el.nativeElement.children[0].children[0], {\n            type: this.type,\n            data: this.data,\n            options: this.options,\n            plugins: this.plugins\n        });\n    }\n\n    getCanvas() {\n        return this.el.nativeElement.children[0].children[0];\n    }\n\n    getBase64Image() {\n        return this.chart.toBase64Image();\n    }\n\n    generateLegend() {\n        if (this.chart) {\n            return this.chart.generateLegend();\n        }\n    }\n\n    refresh() {\n        if (this.chart) {\n            this.chart.update();\n        }\n    }\n\n    reinit() {\n        if (this.chart) {\n            this.chart.destroy();\n            this.initChart();\n        }\n    }\n\n    ngOnDestroy() {\n        if (this.chart) {\n            this.chart.destroy();\n            this.initialized = false;\n            this.chart = null;\n        }\n    }\n}\n\n@NgModule({\n    imports: [CommonModule],\n    exports: [UIChart],\n    declarations: [UIChart]\n})\nexport class ChartModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}