Add support for multi-value tooltips
This commit is contained in:
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user