Add support for multi-value tooltips

This commit is contained in:
Gabe Kangas
2020-11-11 19:39:57 -08:00
parent d1dbe16796
commit 7316d512c6

View File

@@ -5,7 +5,7 @@ import styles from '../../styles/styles.module.css';
interface ToolTipProps { interface ToolTipProps {
active?: boolean, active?: boolean,
payload?: object, payload?: {name: string, payload: {value: string, time: Date}}[],
unit?: string unit?: string
} }
@@ -32,12 +32,17 @@ function CustomizedTooltip(props: ToolTipProps) {
const { active, payload, unit } = props; const { active, payload, unit } = props;
if (active && payload && payload[0]) { if (active && payload && payload[0]) {
const time = payload[0].payload ? timeFormat("%I:%M")(new Date(payload[0].payload.time)) : ""; const time = payload[0].payload ? timeFormat("%I:%M")(new Date(payload[0].payload.time)) : "";
const tooltipDetails = payload.map(data => {
return <div className="label" key={data.name}>
{data.payload.value}{unit} {data.name}
</div>
});
return ( return (
<div className="custom-tooltip"> <span className="custom-tooltip">
<p className="label"> <strong>{time}</strong>
<strong>{time}</strong> {payload[0].payload.value} {unit} {tooltipDetails}
</p> </span>
</div>
); );
} }
return null; return null;