import { Injectable } from "@angular/core"; import * as _ from "lodash"; import * as legend from "../../config/legend"; import * as series from "../../config/series"; import * as toolbox from "../../config/toolbox"; import * as tooltip from "../../config/tootip"; import * as xAxis from "../../config/xAxis"; import * as yAxis from "../../config/yAxis"; import * as color from "../../config/colors"; import * as backgroundColor from "../../config/backgroundColor"; import * as datazoom from "../../config/datazoom"; import { BigDataLineChartParam } from "./big-data-interface"; import { CommonService } from '../../service/common.service'; @Injectable({ providedIn: "root", }) export class BigDataLineChartService { constructor( private commonService: CommonService ) {} getOptionOfBigDataLineChart = function ( bigDataLineChartParam: BigDataLineChartParam ): any { let bigDataLineChartOption = { color: color.defaultColors, backgroundColor: backgroundColor.backgroundColor, grid: bigDataLineChartParam.customGrid, legend: legend.getLegendBottomNoScroll(bigDataLineChartParam.style), tooltip: tooltip.getToolTipOfAxisChart( bigDataLineChartParam.style, bigDataLineChartParam.unit ), toolbox: toolbox.getToolboxBasicMenu(), xAxis: xAxis.getXaxisOfTime(bigDataLineChartParam.xAxisName), yAxis: yAxis.getYaxisOfValue( bigDataLineChartParam.style, bigDataLineChartParam.yAxisName, bigDataLineChartParam.yNameGap ), series: series.getBigDataLineChartSeries( bigDataLineChartParam.datas, bigDataLineChartParam.seriesNames ), }; return bigDataLineChartOption; }; style = this.commonService.changeFontSize(); getDefaultOption() { let defaultOption = { color: color.defaultColors, backgroundColor: backgroundColor.backgroundColor, grid: this.style.interval, legend: legend.getLegendBottomNoScroll(this.style), tooltip: tooltip.getToolTipOfAxisChart2(this.style, ""), toolbox: toolbox.getToolboxBasicMenu(), xAxis: xAxis.getXaxisOfTime(""), yAxis: yAxis.getYaxisOfValue(this.style,"noise level(dB)",30), series: series.getBigDataLineChartSeries([],[]) } return defaultOption; } setyAxisName(option, value: string) { option.yAxis[0].name = value; } setYNameGap(option: any, value: number) { option.yAxis[0].nameGap = value; } setDatas(option: any, value: any) { option.series = series.getBigDataLineChartSeries(value.datas, value.seriesNames); } setUnit(option: any, value: string) { option.tooltip = tooltip.getToolTipOfAxisChart2(this.style, value); } setXAxisName(option: any, value: string) { option.xAxis[0].name = value; } }