Skip to content

Commit f04fee6

Browse files
caitlinchan23Nkmailind-taniartviner
committed
created separate component for each card in rendering feature. Add hovering in rendering feature.
Co-authored-by: Nkmai <[email protected]> Co-authored-by: lind-tania <[email protected]> Co-authored-by: rtviner <[email protected]> Co-authored-by: caitlinchan23 <[email protected]>
1 parent 37b487d commit f04fee6

File tree

1 file changed

+55
-30
lines changed

1 file changed

+55
-30
lines changed
Lines changed: 55 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,63 @@
11

22
import React from 'react';
3-
3+
import { onHover, onHoverExit } from '../actions/actions';
4+
import { useStoreContext } from '../store'
45

56
const RenderingFrequency = (props) => {
6-
const perfData = props.data
7-
7+
const perfData = props.data
88
return (
9-
<div>
10-
{
11-
Object.keys(perfData).map( componentName => {
12-
const currentComponent = perfData[componentName]
13-
return (
14-
<div className="StyledGridElement">
15-
<div className="RenderLeft">
16-
<h3>{componentName} </h3>
17-
<h4>{currentComponent.stateType}</h4>
18-
<h4>
19-
average time:{' '}
20-
{(
21-
currentComponent.totalRenderTime /
22-
currentComponent.renderFrequency
23-
).toFixed(3)}{' '}
24-
ms
25-
</h4>
26-
</div>
27-
<div className="RenderRight">
28-
<p>{currentComponent.renderFrequency}</p>
29-
</div>
30-
</div>
31-
);
32-
})
33-
}
34-
</div>
35-
)
9+
<div>
10+
{Object.keys(perfData).map(componentName => {
11+
const currentComponent = perfData[componentName];
12+
return (
13+
<ComponentCard
14+
componentName={componentName}
15+
stateType={currentComponent.stateType}
16+
averageRenderTime={(
17+
currentComponent.totalRenderTime /
18+
currentComponent.renderFrequency
19+
).toFixed(3)}
20+
renderFrequency={currentComponent.renderFrequency}
21+
rtid={currentComponent.rtid}
22+
/>
23+
)}
24+
)
25+
}
26+
</div>
27+
)
3628
}
3729

30+
const ComponentCard = props => {
31+
const { componentName, stateType, averageRenderTime, renderFrequency, rtid} = props;
32+
const [{ tabs, currentTab }, dispatch] = useStoreContext();
33+
34+
const onMouseMove = () => {
35+
dispatch(onHover(rtid))
36+
}
37+
const onMouseLeave = () => {
38+
dispatch(onHoverExit(rtid))
39+
}
40+
41+
return (
42+
<div
43+
onMouseLeave={onMouseLeave}
44+
onMouseMove={onMouseMove}
45+
className="StyledGridElement">
46+
<div className="RenderLeft">
47+
<h3>{componentName} </h3>
48+
<h4>{stateType}</h4>
49+
<h4>
50+
average time:{' '}
51+
{averageRenderTime}{' '}
52+
ms
53+
</h4>
54+
</div>
55+
<div className="RenderRight">
56+
<p>{renderFrequency}</p>
57+
</div>
58+
</div>
59+
);
60+
}
61+
62+
3863
export default RenderingFrequency;

0 commit comments

Comments
 (0)