add details button on overview

This commit is contained in:
Carl-Gerhard Lindesvärd
2024-05-20 09:45:30 +02:00
parent 4a7f21663f
commit 4350670bbc
13 changed files with 79 additions and 9 deletions

View File

@@ -20,6 +20,7 @@ export interface ChartContextType extends IChartInput {
editMode?: boolean;
hideID?: boolean;
onClick?: (item: IChartSerie) => void;
limit?: number;
}
type ChartProviderProps = {
@@ -37,6 +38,7 @@ const ChartContext = createContext<ChartContextType | null>({
metric: 'sum',
previous: false,
projectId: '',
limit: undefined,
});
export function ChartProvider({
@@ -44,6 +46,7 @@ export function ChartProvider({
editMode,
previous,
hideID,
limit,
...props
}: ChartProviderProps) {
return (
@@ -54,8 +57,9 @@ export function ChartProvider({
editMode: editMode ?? false,
previous: previous ?? false,
hideID: hideID ?? false,
limit,
}),
[editMode, previous, hideID, props]
[editMode, previous, hideID, limit, props]
)}
>
{children}

View File

@@ -17,11 +17,11 @@ interface ReportBarChartProps {
}
export function ReportBarChart({ data }: ReportBarChartProps) {
const { editMode, metric, onClick } = useChartContext();
const { editMode, metric, onClick, limit } = useChartContext();
const number = useNumber();
const series = useMemo(
() => (editMode ? data.series : data.series.slice(0, 10)),
[data, editMode]
() => (editMode ? data.series : data.series.slice(0, limit || 10)),
[data, editMode, limit]
);
const maxCount = Math.max(...series.map((serie) => serie.metrics[metric]));