1
1
// @ts -nocheck
2
+ < < << << < HEAD
2
3
import React , { useState } from "react" ;
3
4
import { Group } from "@visx/group" ;
4
5
import { hierarchy , Tree } from "@visx/hierarchy" ;
@@ -15,6 +16,20 @@ import {
15
16
} from "@visx/tooltip" ;
16
17
import { onHover , onHoverExit } from "../actions/actions" ;
17
18
import { useStoreContext } from "../store" ;
19
+ = === ===
20
+ import React , { useState } from 'react' ;
21
+ import { Group } from '@visx/group' ;
22
+ import { hierarchy , Tree } from '@visx/hierarchy' ;
23
+ import { LinearGradient } from '@visx/gradient' ;
24
+ import { pointRadial } from 'd3-shape' ;
25
+ import useForceUpdate from './useForceUpdate' ;
26
+ import LinkControls from './LinkControls' ;
27
+ import getLinkComponent from './getLinkComponent' ;
28
+ import { localPoint } from '@visx/event' ;
29
+ import { useTooltip , useTooltipInPortal , TooltipWithBounds , defaultStyles } from '@visx/tooltip' ;
30
+ import { onHover , onHoverExit } from '../actions/actions' ;
31
+ import { useStoreContext } from '../store' ;
32
+ > >>> >>> 0e939 e7bb8e045845438bf4ffa8825db5fe14cac
18
33
19
34
const root = hierarchy ( {
20
35
name : "root" ,
@@ -106,8 +121,12 @@ export default function ComponentMap({
106
121
hideTooltip,
107
122
} = useTooltip ( ) ;
108
123
109
- const { containerRef, TooltipInPortal } = useTooltipInPortal ( ) ;
124
+ const { containerRef, TooltipInPortal } = useTooltipInPortal ( {
125
+ detectBounds : true ,
126
+ scroll : true ,
127
+ } ) ;
110
128
129
+ < < << << < HEAD
111
130
//mousing controls
112
131
const handleMouseOver = ( event ) => {
113
132
// console.log("mouse entered");
@@ -119,6 +138,23 @@ export default function ComponentMap({
119
138
tooltipData : "test" ,
120
139
} ) ;
121
140
} ;
141
+ = === ===
142
+ const tooltipStyles = {
143
+ ...defaultStyles ,
144
+ minWidth : 60 ,
145
+ backgroundColor : 'rgba(0,0,0,0.9)' ,
146
+ color : 'white' ,
147
+ fontSize : '14px' ,
148
+ lineHeight : '18px' ,
149
+ fontFamily : 'Roboto' ,
150
+ } ;
151
+
152
+ const formatRenderTime = ( time ) => {
153
+ time = time . toFixed ( 3 ) ;
154
+ return `${ time } ms ` ;
155
+ }
156
+
157
+ >>> > >>> 0e939 e7bb8e045845438bf4ffa8825db5fe14cac
122
158
123
159
// controls for the map
124
160
const LinkComponent = getLinkComponent ( { layout, linkType, orientation } ) ;
@@ -167,6 +203,8 @@ export default function ComponentMap({
167
203
const width = widthFunc ( node . data . name ) ;
168
204
const height = 25 ;
169
205
206
+
207
+
170
208
let top : number ;
171
209
let left : number ;
172
210
if ( layout === "polar" ) {
@@ -181,6 +219,21 @@ export default function ComponentMap({
181
219
left = node . y ;
182
220
}
183
221
222
+ //mousing controls
223
+ const handleMouseOver = ( event ) => {
224
+ ( ) => dispatch ( onHover ( node . data . rtid ) ) ;
225
+ const coords = localPoint ( event . target . ownerSVGElement , event ) ;
226
+ const tooltipObj = Object . assign ( { } , node . data ) ;
227
+ if ( typeof tooltipObj . state === 'object' ) tooltipObj . state = 'stateful' ;
228
+ console . log ( "tooltipObj" , tooltipObj )
229
+ showTooltip ( {
230
+ tooltipLeft : coords . x ,
231
+ tooltipTop : coords . y ,
232
+ tooltipData : tooltipObj
233
+ } ) ;
234
+ }
235
+
236
+
184
237
return (
185
238
< Group top = { top } left = { left } key = { key } >
186
239
{ node . depth === 0 && (
@@ -242,16 +295,31 @@ export default function ComponentMap({
242
295
</ Tree >
243
296
</ Group >
244
297
</ svg >
298
+ < < << << < HEAD
245
299
{ tooltipOpen && tooltipData && (
300
+ = === ===
301
+ { tooltipOpen && tooltipData && (
302
+ > >>> >>> 0e939 e7bb8e045845438bf4ffa8825db5fe14cac
246
303
< TooltipInPortal
247
304
// set this to random so it correctly updates with parent bounds
248
305
key = { Math . random ( ) }
249
306
top = { tooltipTop}
250
307
left = { tooltipLeft}
308
+ style = { tooltipStyles}
251
309
>
252
- Tooltip Data: < strong > { tooltipData } </ strong >
310
+ < div style = { { } } >
311
+ { ' ' }
312
+ < strong > { tooltipData . name } </ strong > { ' ' }
313
+ </ div >
314
+ < div > State : { tooltipData . state } < / d i v >
315
+ < div > Render time: { formatRenderTime ( tooltipData . componentData . actualDuration ) } </ div >
316
+
253
317
< / T o o l t i p I n P o r t a l >
318
+ << << << < HEAD
254
319
) }
320
+ = === ===
321
+ ) }
322
+ >>> >>> > 0e939e7bb8e045845438bf4ffa8825db5fe14cac
255
323
</ div >
256
324
);
257
325
}
0 commit comments