mirror of
				https://github.com/Unleash/unleash.git
				synced 2025-10-27 11:02:16 +01:00 
			
		
		
		
	feat(insights): placeholder for empty metrics (#6422)
This commit is contained in:
		
							parent
							
								
									6678012b03
								
							
						
					
					
						commit
						6cede446e5
					
				| @ -1,9 +1,10 @@ | ||||
| import { type VFC } from 'react'; | ||||
| import { useMemo, type VFC } from 'react'; | ||||
| import 'chartjs-adapter-date-fns'; | ||||
| import { ExecutiveSummarySchema } from 'openapi'; | ||||
| import { LineChart } from '../../components/LineChart/LineChart'; | ||||
| import { LineChart, NotEnoughData } from '../../components/LineChart/LineChart'; | ||||
| import { MetricsSummaryTooltip } from './MetricsChartTooltip/MetricsChartTooltip'; | ||||
| import { useMetricsSummary } from '../../hooks/useMetricsSummary'; | ||||
| import { usePlaceholderData } from 'component/executiveDashboard/hooks/usePlaceholderData'; | ||||
| 
 | ||||
| interface IMetricsSummaryChartProps { | ||||
|     metricsSummaryTrends: ExecutiveSummarySchema['metricsSummaryTrends']; | ||||
| @ -13,15 +14,21 @@ export const MetricsSummaryChart: VFC<IMetricsSummaryChartProps> = ({ | ||||
|     metricsSummaryTrends, | ||||
| }) => { | ||||
|     const data = useMetricsSummary(metricsSummaryTrends); | ||||
|     const notEnoughData = useMemo( | ||||
|         () => (data.datasets.some((d) => d.data.length > 1) ? false : true), | ||||
|         [data], | ||||
|     ); | ||||
|     const placeholderData = usePlaceholderData(); | ||||
| 
 | ||||
|     return ( | ||||
|         <LineChart | ||||
|             data={data} | ||||
|             data={notEnoughData ? placeholderData : data} | ||||
|             isLocalTooltip | ||||
|             TooltipComponent={MetricsSummaryTooltip} | ||||
|             overrideOptions={{ | ||||
|                 parsing: { yAxisKey: 'totalRequests', xAxisKey: 'week' }, | ||||
|             }} | ||||
|             cover={notEnoughData ? <NotEnoughData /> : false} | ||||
|         /> | ||||
|     ); | ||||
| }; | ||||
|  | ||||
| @ -2,13 +2,15 @@ import { useTheme } from '@mui/material'; | ||||
| import { useMemo } from 'react'; | ||||
| import { fillGradientPrimary } from '../components/LineChart/LineChart'; | ||||
| 
 | ||||
| export const usePlaceholderData = ({ | ||||
|     fill = false, | ||||
|     type = 'constant', | ||||
| }: { | ||||
| type PlaceholderDataOptions = { | ||||
|     fill?: boolean; | ||||
|     type?: 'rising' | 'constant' | 'double'; | ||||
| }) => { | ||||
| }; | ||||
| 
 | ||||
| export const usePlaceholderData = ( | ||||
|     placeholderDataOptions?: PlaceholderDataOptions, | ||||
| ) => { | ||||
|     const { fill = false, type = 'constant' } = placeholderDataOptions || {}; | ||||
|     const theme = useTheme(); | ||||
| 
 | ||||
|     return useMemo( | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user