import React from 'react'; import CustomTooltip from "../CustomChartTooltip"; import { Styles } from '../../common'; import { ResponsiveContainer, XAxis, YAxis, CartesianGrid, Tooltip, LineChart, Line, Legend, } from 'recharts'; import { observer } from 'mobx-react-lite'; interface Props { data: any; compData: any | null; params: any; colors: any; onClick?: (event, index) => void; yaxis?: any; label?: string; hideLegend?: boolean; inGrid?: boolean; } function CustomMetricLineChart(props: Props) { const { data = { chart: [], namesMap: [] }, compData = { chart: [], namesMap: [] }, colors, onClick = () => null, yaxis = { ...Styles.yaxis }, label = 'Number of Sessions', hideLegend = false, inGrid, } = props; const resultChart = data.chart.map((item, i) => { if (compData && compData.chart[i]) return { ...compData.chart[i], ...item } return item }) return ( {!hideLegend && ( )} Styles.tickFormatter(val)} label={{ ...Styles.axisLabelLeft, value: label || 'Number of Sessions', }} /> {Array.isArray(data.namesMap) && data.namesMap.map((key, index) => key ? ( ) : null)} {compData?.namesMap?.map((key, i) => data.namesMap[i] ? ( ) : null)} ); } export default observer(CustomMetricLineChart);