Commit a4967b2
fix(FloatingMenu): lazy evaluate trigger button position (#5881)
This change switches the position calculation logic for the trigger
buttons of `<OverflowMenu>` and `<Tooltip>` from eager-evaluation on
mount to lazy-evaluation on rendering `<FloatingMenu>`.
This change relegates such logic from `<OverflowMenu>` and `<Tooltip>`
to `<FloatingMenu>` to do that.
Such change has two merits:
1. Avoids stale trigger position data, which happened when `<Tooltip>`
is opened programmatically
2. Reduces `getBoundingClientRect()` calls when application is
initialized
Also, swiches `<FloatingMenu>`'s prop for the DOM element ref of
trigger button, as well as the corresponding internal properties of
`<OverflowMenu>`/`<Tooltip>` from raw element to React ref.
Fixes #5305.1 parent 005f597 commit a4967b2
File tree
4 files changed
+55
-145
lines changed- packages/react/src
- components
- OverflowMenu
- Tooltip
- internal
4 files changed
+55
-145
lines changedLines changed: 18 additions & 41 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
18 | | - | |
19 | 18 | | |
20 | 19 | | |
21 | 20 | | |
| |||
240 | 239 | | |
241 | 240 | | |
242 | 241 | | |
243 | | - | |
244 | | - | |
245 | | - | |
246 | | - | |
247 | | - | |
248 | | - | |
249 | | - | |
250 | | - | |
251 | | - | |
252 | | - | |
253 | | - | |
254 | | - | |
255 | | - | |
256 | | - | |
257 | | - | |
258 | | - | |
259 | | - | |
260 | | - | |
261 | | - | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
262 | 248 | | |
263 | 249 | | |
264 | | - | |
265 | | - | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
266 | 253 | | |
267 | 254 | | |
268 | 255 | | |
| |||
301 | 288 | | |
302 | 289 | | |
303 | 290 | | |
304 | | - | |
305 | 291 | | |
306 | 292 | | |
307 | | - | |
308 | | - | |
309 | | - | |
310 | | - | |
311 | | - | |
312 | | - | |
313 | | - | |
314 | 293 | | |
315 | 294 | | |
316 | 295 | | |
| |||
365 | 344 | | |
366 | 345 | | |
367 | 346 | | |
368 | | - | |
369 | | - | |
370 | | - | |
371 | | - | |
372 | 347 | | |
373 | | - | |
374 | | - | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
375 | 351 | | |
376 | 352 | | |
377 | 353 | | |
| |||
428 | 404 | | |
429 | 405 | | |
430 | 406 | | |
| 407 | + | |
431 | 408 | | |
432 | 409 | | |
433 | | - | |
| 410 | + | |
434 | 411 | | |
435 | 412 | | |
436 | 413 | | |
| |||
448 | 425 | | |
449 | 426 | | |
450 | 427 | | |
| 428 | + | |
451 | 429 | | |
452 | | - | |
| 430 | + | |
453 | 431 | | |
454 | 432 | | |
455 | 433 | | |
| |||
525 | 503 | | |
526 | 504 | | |
527 | 505 | | |
528 | | - | |
| 506 | + | |
529 | 507 | | |
530 | 508 | | |
531 | 509 | | |
532 | | - | |
533 | 510 | | |
534 | 511 | | |
535 | 512 | | |
| |||
559 | 536 | | |
560 | 537 | | |
561 | 538 | | |
562 | | - | |
| 539 | + | |
563 | 540 | | |
564 | 541 | | |
565 | 542 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
198 | 198 | | |
199 | 199 | | |
200 | 200 | | |
201 | | - | |
202 | | - | |
203 | | - | |
204 | | - | |
205 | | - | |
206 | | - | |
207 | | - | |
208 | | - | |
209 | | - | |
210 | | - | |
211 | | - | |
212 | | - | |
213 | | - | |
214 | | - | |
215 | | - | |
216 | | - | |
217 | | - | |
218 | | - | |
219 | | - | |
220 | | - | |
221 | | - | |
222 | | - | |
223 | | - | |
224 | | - | |
225 | | - | |
226 | | - | |
227 | | - | |
228 | | - | |
229 | | - | |
230 | | - | |
231 | | - | |
232 | | - | |
233 | | - | |
234 | | - | |
235 | | - | |
236 | | - | |
237 | | - | |
238 | | - | |
239 | | - | |
240 | | - | |
241 | | - | |
242 | | - | |
243 | | - | |
244 | | - | |
245 | | - | |
246 | | - | |
247 | | - | |
248 | | - | |
249 | | - | |
250 | | - | |
251 | 201 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
210 | 210 | | |
211 | 211 | | |
212 | 212 | | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
213 | 220 | | |
214 | 221 | | |
215 | 222 | | |
216 | 223 | | |
217 | | - | |
218 | | - | |
219 | | - | |
220 | 224 | | |
221 | 225 | | |
222 | 226 | | |
| |||
251 | 255 | | |
252 | 256 | | |
253 | 257 | | |
254 | | - | |
255 | | - | |
256 | | - | |
257 | | - | |
258 | | - | |
259 | | - | |
260 | | - | |
261 | 258 | | |
262 | 259 | | |
263 | 260 | | |
| |||
266 | 263 | | |
267 | 264 | | |
268 | 265 | | |
269 | | - | |
270 | 266 | | |
271 | 267 | | |
272 | 268 | | |
| 269 | + | |
273 | 270 | | |
274 | 271 | | |
275 | | - | |
276 | | - | |
277 | | - | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
278 | 275 | | |
279 | 276 | | |
280 | 277 | | |
| |||
292 | 289 | | |
293 | 290 | | |
294 | 291 | | |
295 | | - | |
296 | | - | |
297 | | - | |
298 | | - | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
299 | 299 | | |
300 | 300 | | |
301 | 301 | | |
| |||
312 | 312 | | |
313 | 313 | | |
314 | 314 | | |
315 | | - | |
316 | | - | |
317 | | - | |
318 | 315 | | |
319 | 316 | | |
320 | 317 | | |
| |||
348 | 345 | | |
349 | 346 | | |
350 | 347 | | |
351 | | - | |
352 | | - | |
353 | | - | |
354 | 348 | | |
355 | 349 | | |
356 | 350 | | |
| |||
403 | 397 | | |
404 | 398 | | |
405 | 399 | | |
406 | | - | |
407 | | - | |
408 | | - | |
409 | | - | |
| 400 | + | |
410 | 401 | | |
411 | 402 | | |
412 | 403 | | |
| |||
457 | 448 | | |
458 | 449 | | |
459 | 450 | | |
460 | | - | |
| 451 | + | |
461 | 452 | | |
462 | 453 | | |
463 | 454 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| 14 | + | |
14 | 15 | | |
15 | 16 | | |
16 | 17 | | |
| |||
84 | 85 | | |
85 | 86 | | |
86 | 87 | | |
87 | | - | |
| 88 | + | |
88 | 89 | | |
89 | 90 | | |
90 | 91 | | |
| |||
153 | 154 | | |
154 | 155 | | |
155 | 156 | | |
156 | | - | |
157 | | - | |
158 | | - | |
159 | | - | |
160 | | - | |
161 | | - | |
162 | | - | |
163 | | - | |
164 | | - | |
165 | | - | |
166 | 157 | | |
167 | 158 | | |
168 | 159 | | |
| |||
201 | 192 | | |
202 | 193 | | |
203 | 194 | | |
204 | | - | |
205 | 195 | | |
206 | 196 | | |
207 | 197 | | |
| |||
239 | 229 | | |
240 | 230 | | |
241 | 231 | | |
242 | | - | |
243 | 232 | | |
244 | 233 | | |
245 | 234 | | |
| |||
256 | 245 | | |
257 | 246 | | |
258 | 247 | | |
259 | | - | |
260 | 248 | | |
261 | 249 | | |
262 | 250 | | |
263 | | - | |
264 | | - | |
265 | | - | |
266 | | - | |
267 | | - | |
| 251 | + | |
268 | 252 | | |
269 | 253 | | |
270 | | - | |
271 | | - | |
272 | | - | |
273 | | - | |
274 | 254 | | |
275 | 255 | | |
276 | 256 | | |
| 257 | + | |
| 258 | + | |
277 | 259 | | |
278 | | - | |
| 260 | + | |
279 | 261 | | |
280 | 262 | | |
281 | 263 | | |
282 | | - | |
| 264 | + | |
283 | 265 | | |
284 | 266 | | |
285 | 267 | | |
| |||
302 | 284 | | |
303 | 285 | | |
304 | 286 | | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
305 | 297 | | |
306 | 298 | | |
307 | 299 | | |
| |||
0 commit comments