{"version":3,"file":"material-zui-angular-chart.mjs","sources":["../../../../projects/material-zui/angular/chart/src/index.component.ts","../../../../projects/material-zui/angular/chart/src/index.component.html","../../../../projects/material-zui/angular/chart/src/index.module.ts","../../../../projects/material-zui/angular/chart/material-zui-angular-chart.ts"],"sourcesContent":["import {Component, Input} from '@angular/core'\nimport {error} from '@material-zui/core/error'\nimport {uuid} from '@material-zui/core/faker'\nimport {Chart, registerables} from 'chart.js'\nimport {Subscription, interval} from 'rxjs'\nimport {ZuiChartConfig, ZuiChartUpdateFunc} from './type'\n\n@Component({\n  selector: 'zui-chart',\n  templateUrl: './index.component.html',\n  styleUrls: ['./index.component.scss'],\n})\nexport class ZuiChartComponent {\n  #uuid: string = uuid()\n\n  @Input('id') set setId(id: string) {\n    this.id = id ?? this.#uuid\n  }\n  id: string = this.#uuid\n\n  #defaultWidth: string = 'auto'\n  @Input('width') set setWidth(value: string) {\n    this.width = value ?? this.#defaultWidth\n  }\n  width: string = this.#defaultWidth\n\n  #defaultHeight: string = 'auto'\n  @Input('height') set setHeight(value: string) {\n    this.height = value ?? this.#defaultHeight\n  }\n  height: string = this.#defaultHeight\n\n  @Input() config!: ZuiChartConfig\n\n  #isViewInit: boolean = false\n  #chart!: Chart\n  #interval$ = Subscription.EMPTY\n  #timeExecute = 0\n\n  constructor() {\n    Chart.register(...registerables)\n  }\n\n  ngOnChanges(): void {\n    if (this.#isViewInit) this.#init()\n  }\n\n  ngAfterViewInit(): void {\n    this.#isViewInit = true\n    this.#init()\n  }\n\n  ngOnDestroy(): void {\n    this.#interval$?.unsubscribe()\n  }\n\n  updateData = (callBack: ZuiChartUpdateFunc): void => {\n    const newConfig = callBack(this.config, ++this.#timeExecute)\n    if (newConfig) this.config = {...this.config, ...newConfig}\n    this.#updateData()\n  }\n\n  #init = (): void => {\n    const {refresh} = this.config\n    this.#updateData()\n    this.#interval$?.unsubscribe()\n    if (refresh) {\n      const {time, onChange} = refresh\n      if (!time) throw error({time})\n      if (!onChange) throw error({onChange})\n      this.#interval$ = interval(time).subscribe(timeExecute => this.updateData(config => onChange(config, timeExecute)))\n    }\n  }\n\n  #updateData = (): void => {\n    this.#chart?.destroy()\n    this.#chart = new Chart(this.id, this.config)\n  }\n}\n","<canvas *ngIf=\"config\" [id]=\"id\" [ngStyle]=\"{maxWidth: width, maxHeight: height}\"></canvas>\n","import {NgModule} from '@angular/core'\nimport {ZuiAngularModule} from '@material-zui/angular/modules'\nimport {ZuiChartComponent} from './index.component'\n\n@NgModule({\n  imports: [ZuiAngularModule],\n  declarations: [ZuiChartComponent],\n  exports: [ZuiChartComponent],\n})\nexport class ZuiChartModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}