{"version":3,"file":"axulus-uikit-chart.mjs","sources":["../../src/app/components/chart/chart.ts","../../src/app/components/chart/axulus-uikit-chart.ts"],"sourcesContent":["import {\n  NgModule,\n  Component,\n  ElementRef,\n  AfterViewInit,\n  OnDestroy,\n  Input,\n  Output,\n  EventEmitter,\n  ChangeDetectionStrategy,\n  ViewEncapsulation\n} 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\n      style=\"position:relative\"\n      [style.width]=\"responsive && !width ? null : width\"\n      [style.height]=\"responsive && !height ? null : height\"\n    >\n      <canvas\n        [attr.width]=\"responsive && !width ? null : width\"\n        [attr.height]=\"responsive && !height ? null : height\"\n        (click)=\"onCanvasClick($event)\"\n      ></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  @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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"}