{"version":3,"file":"covalent-echarts-regression.mjs","sources":["../../../../libs/angular-echarts/regression/src/regression.component.ts","../../../../libs/angular-echarts/regression/src/regression.module.ts","../../../../libs/angular-echarts/regression/src/covalent-echarts-regression.ts"],"sourcesContent":["import {\n  Component,\n  Input,\n  ChangeDetectionStrategy,\n  forwardRef,\n  OnChanges,\n} from '@angular/core';\n\nimport {\n  assignDefined,\n  TdChartOptionsService,\n  TdSeriesDirective,\n} from '@covalent/echarts/base';\nimport {\n  ITdScatterSeries,\n  TdChartSeriesScatterComponent,\n} from '@covalent/echarts/scatter';\nimport * as ecStat from 'echarts-stat';\n\nexport type TdRegressionType =\n  | 'linear'\n  | 'exponential'\n  | 'logarithmic'\n  | 'polynomial';\n\nexport interface ITdRegressionSeries extends ITdScatterSeries {\n  data?: number[][];\n  regressionType?: TdRegressionType;\n  polinomialOrder?: number;\n}\n\n@Component({\n  selector: 'td-chart-series[td-regression]',\n  template: '',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  inputs: [\n    'config',\n    'id',\n    'name',\n    'color',\n    'data',\n\n    'animation',\n    'animationThreshold',\n    'animationDuration',\n    'animationEasing',\n    'animationDelay',\n    'animationDurationUpdate',\n    'animationEasingUpdate',\n    'animationDelayUpdate',\n    'tooltip',\n  ],\n  providers: [\n    {\n      provide: TdSeriesDirective,\n      useExisting: forwardRef(() => TdChartSeriesRegressionComponent),\n    },\n  ],\n})\nexport class TdChartSeriesRegressionComponent\n  extends TdChartSeriesScatterComponent\n  implements ITdRegressionSeries, OnChanges\n{\n  @Input() override data?: number[][];\n  @Input() regressionType?: TdRegressionType;\n  @Input() polinomialOrder?: number;\n\n  constructor(_optionsService: TdChartOptionsService) {\n    super(_optionsService);\n  }\n\n  override ngOnChanges(): void {\n    this.render();\n  }\n\n  override getConfig(): any {\n    return {\n      regressionType: this.regressionType,\n      polinomialOrder: this.polinomialOrder,\n      coordinateSystem: this.coordinateSystem,\n      xAxisIndex: this.xAxisIndex,\n      yAxisIndex: this.yAxisIndex,\n      polarIndex: this.polarIndex,\n      geoIndex: this.geoIndex,\n      calendarIndex: this.calendarIndex,\n      hoverAnimation: this.hoverAnimation,\n      legendHoverLink: this.legendHoverLink,\n      symbol: this.symbol,\n      symbolSize: this.symbolSize,\n      symbolRotate: this.symbolRotate,\n      symbolKeepAspect: this.symbolKeepAspect,\n      symbolOffset: this.symbolOffset,\n      large: this.large,\n      largeThreshold: this.largeThreshold,\n      cursor: this.cursor,\n      label: this.label,\n      itemStyle: this.itemStyle,\n      emphasis: this.emphasis,\n      progressive: this.progressive,\n      progressiveThreshold: this.progressiveThreshold,\n      dimensions: this.dimensions,\n      encode: this.encode,\n      seriesLayoutBy: this.seriesLayoutBy,\n      datasetIndex: this.datasetIndex,\n      markPoint: this.markPoint,\n      markLine: this.markLine,\n      markArea: this.markArea,\n      zlevel: this.zlevel,\n      z: this.z,\n      silent: this.silent,\n    };\n  }\n\n  private setOptions(): void {\n    const config: any = assignDefined(\n      this._state,\n      {\n        id: this.id,\n        type: this.type,\n        name: this.name,\n        color: this.color,\n        data: this.data,\n        animation: this.animation,\n        animationThreshold: this.animationThreshold,\n        animationDuration: this.animationDuration,\n        animationEasing: this.animationEasing,\n        animationDelay: this.animationDelay,\n        animationDurationUpdate: this.animationDurationUpdate,\n        animationEasingUpdate: this.animationEasingUpdate,\n        animationDelayUpdate: this.animationDelayUpdate,\n        tooltip: this.tooltip,\n      },\n      this.getConfig(),\n      this._options,\n      this.config ? this.config : {}\n    );\n    this.optionsService.setArrayOption('scatter', config);\n  }\n\n  private render() {\n    const output: any = this.data;\n    const result = ecStat.regression(\n      this.regressionType ?? 'linear',\n      output,\n      this.polinomialOrder ?? 2\n    );\n    let series = this.optionsService.getOption('series');\n\n    if (series) {\n      for (const item in series) {\n        if (series[item].type === 'line') {\n          delete series[item];\n        }\n      }\n    } else {\n      series = [];\n    }\n\n    series.push({\n      type: 'line',\n      data: result.points,\n      tooltip: {},\n      showSymbol: false,\n    });\n\n    this.optionsService.setOption('series', series);\n    this.setOptions();\n  }\n}\n","import { NgModule, Type } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { TdChartSeriesRegressionComponent } from './regression.component';\n\nexport const REGRESSION_MODULE_COMPONENTS: Type<any>[] = [\n  TdChartSeriesRegressionComponent,\n];\n\n@NgModule({\n  imports: [CommonModule],\n  declarations: [REGRESSION_MODULE_COMPONENTS],\n  exports: [REGRESSION_MODULE_COMPONENTS],\n})\nexport class CovalentRegressionEchartsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}