Skip to content

Commit 9029f8f

Browse files
committed
updated usage of hooks and fixed the tooltip example
1 parent 47521ed commit 9029f8f

File tree

5 files changed

+23
-16
lines changed

5 files changed

+23
-16
lines changed

packages/react-charts/src/victory/components/ChartLegend/examples/ChartLegend.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ propComponents: [
2020
hideDarkMode: true
2121
---
2222

23-
import { cloneElement, createRef, useEffect, useRef, useState } from 'react';
23+
import { cloneElement, useEffect, useRef, useState } from 'react';
2424
import {
2525
Chart,
2626
ChartArea,

packages/react-charts/src/victory/components/ChartLegend/examples/ChartLegendInteractive.tsx

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,12 @@ import {
1212
getInteractiveLegendItemStyles
1313
} from '@patternfly/react-charts/victory';
1414
import { getResizeObserver } from '@patternfly/react-core';
15+
import { useRef, useState, useEffect } from 'react';
1516

1617
export const ChartLegendInteractive: React.FunctionComponent = () => {
17-
const containerRef = React.useRef(null);
18-
const [hiddenSeries, setHiddenSeries] = React.useState(new Set());
19-
const [width, setWidth] = React.useState(0);
18+
const containerRef = useRef(null);
19+
const [hiddenSeries, setHiddenSeries] = useState(new Set());
20+
const [width, setWidth] = useState(0);
2021

2122
const series = [
2223
{

packages/react-charts/src/victory/components/ChartLegend/examples/ChartLegendInteractivePieChart.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,10 @@ import {
66
getInteractiveLegendEvents,
77
getInteractiveLegendItemStyles
88
} from '@patternfly/react-charts/victory';
9+
import { useState } from 'react';
910

1011
export const ChartLegendInteractivePieChart: React.FunctionComponent = () => {
11-
const [hiddenSeries, setHiddenSeries] = React.useState<Set<number>>(new Set());
12+
const [hiddenSeries, setHiddenSeries] = useState<Set<number>>(new Set());
1213

1314
const series = [
1415
{

packages/react-charts/src/victory/components/ChartLegend/examples/ChartLegendResponsiveBottomLeft.tsx

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
11
import { ChartBullet } from '@patternfly/react-charts/victory';
22
import { getResizeObserver } from '@patternfly/react-core';
3+
import { useRef, useState, useEffect } from 'react';
34

45
interface Data {
56
name?: string;
67
y?: number;
78
}
89

910
export const ChartLegendResponsiveBottomLeft: React.FunctionComponent = () => {
10-
const containerRef = React.useRef<HTMLDivElement>(null);
11-
const [extraHeight, setExtraHeight] = React.useState(0);
12-
const [width, setWidth] = React.useState(0);
11+
const containerRef = useRef<HTMLDivElement>(null);
12+
const [extraHeight, setExtraHeight] = useState(0);
13+
const [width, setWidth] = useState(0);
1314

1415
const handleResize = () => {
1516
if (containerRef.current && containerRef.current.clientWidth) {
@@ -25,7 +26,7 @@ export const ChartLegendResponsiveBottomLeft: React.FunctionComponent = () => {
2526

2627
const getHeight = (baseHeight: number) => baseHeight + extraHeight;
2728

28-
React.useEffect(() => {
29+
useEffect(() => {
2930
const observer = getResizeObserver(containerRef.current, handleResize);
3031
handleResize();
3132

packages/react-charts/src/victory/components/ChartLegend/examples/ChartLegendTooltips.tsx

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { ChartLabel, ChartLegend, ChartPie, ChartThemeColor } from '@patternfly/react-charts/victory';
22
import { Tooltip } from '@patternfly/react-core';
3+
import { useRef } from 'react';
34

45
interface PetData {
56
x: string;
@@ -12,15 +13,18 @@ export const ChartLegendTooltips: React.FunctionComponent = () => {
1213
{ x: 'Dogs', y: 55 },
1314
{ x: 'Birds', y: 10 }
1415
];
15-
const ref = React.useRef(null);
16+
1617
// Custom legend label component
1718
// Note: Tooltip wraps children with a div tag, so we use a reference to ChartLabel instead
18-
const LegendLabel = ({ datum, ...rest }) => (
19-
<g ref={ref}>
20-
<ChartLabel {...rest} />
21-
<Tooltip content={datum.name} enableFlip triggerRef={ref} />
22-
</g>
23-
);
19+
const LegendLabel = ({ datum, ...rest }) => {
20+
const ref = useRef(null);
21+
return (
22+
<g ref={ref}>
23+
<ChartLabel {...rest} />
24+
<Tooltip content={datum.name} enableFlip triggerRef={ref} />
25+
</g>
26+
);
27+
};
2428

2529
// Custom legend component
2630
const getLegend = (legendData) => <ChartLegend data={legendData} labelComponent={<LegendLabel />} />;

0 commit comments

Comments
 (0)