@@ -90,9 +90,8 @@ interface PDiskSvgProps {
9090 viewContext ?: StorageViewContext ;
9191 width : number ;
9292 inactive ?: boolean ;
93- delayClose ?: number ;
9493 activeDiskKey ?: string ;
95- setActiveDiskKey ? : ( id ?: string ) => void ;
94+ setActiveDiskKey : ( id ?: string ) => void ;
9695 inverted ?: boolean ;
9796}
9897
@@ -403,7 +402,6 @@ export function PDiskSvg({
403402 viewContext,
404403 width,
405404 inactive,
406- delayClose = DISKS_POPUP_DEBOUNCE_TIMEOUT ,
407405 activeDiskKey,
408406 setActiveDiskKey,
409407 inverted,
@@ -413,9 +411,7 @@ export function PDiskSvg({
413411 const anchorRef = React . useRef < HTMLDivElement > ( null ) ;
414412 const popupContentRef = React . useRef < HTMLDivElement > ( null ) ;
415413 const patternIdPrefix = React . useId ( ) . replace ( / : / g, '' ) ;
416- const [ innerActiveDiskKey , setInnerActiveDiskKey ] = React . useState < string | undefined > ( ) ;
417414 const [ isPopupPositionReady , setIsPopupPositionReady ] = React . useState ( false ) ;
418- const resolvedActiveDiskKey = setActiveDiskKey ? activeDiskKey : innerActiveDiskKey ;
419415
420416 const vDiskAreas = React . useMemo (
421417 ( ) => getVDiskAreas ( { vDisks, viewContext, width} ) ,
@@ -427,16 +423,16 @@ export function PDiskSvg({
427423 ) ;
428424 const vDiskPaths = React . useMemo ( ( ) => getVDiskPaths ( vDiskAreas ) , [ vDiskAreas ] ) ;
429425 const activeArea = React . useMemo < DiskArea | undefined > ( ( ) => {
430- if ( ! resolvedActiveDiskKey ) {
426+ if ( ! activeDiskKey ) {
431427 return undefined ;
432428 }
433429
434- if ( pDiskArea . key === resolvedActiveDiskKey ) {
430+ if ( pDiskArea . key === activeDiskKey ) {
435431 return pDiskArea ;
436432 }
437433
438- return vDiskAreas . find ( ( area ) => area . key === resolvedActiveDiskKey ) ;
439- } , [ pDiskArea , resolvedActiveDiskKey , vDiskAreas ] ) ;
434+ return vDiskAreas . find ( ( area ) => area . key === activeDiskKey ) ;
435+ } , [ activeDiskKey , pDiskArea , vDiskAreas ] ) ;
440436 const hasActiveArea = Boolean ( activeArea ) ;
441437 const activePath = React . useMemo ( ( ) => {
442438 if ( ! activeArea ) {
@@ -453,24 +449,13 @@ export function PDiskSvg({
453449 } ) ;
454450 } , [ activeArea , getVDiskLink ] ) ;
455451
456- const setActiveDisk = React . useCallback (
457- ( key ?: string ) => {
458- if ( setActiveDiskKey ) {
459- setActiveDiskKey ( key ) ;
460- } else {
461- setInnerActiveDiskKey ( key ) ;
462- }
463- } ,
464- [ setActiveDiskKey ] ,
465- ) ;
466-
467452 const closePopup = React . useCallback ( ( ) => {
468- setActiveDisk ( undefined ) ;
469- } , [ setActiveDisk ] ) ;
453+ setActiveDiskKey ( undefined ) ;
454+ } , [ setActiveDiskKey ] ) ;
470455
471456 const debouncedClosePopup = React . useMemo (
472- ( ) => debounce ( closePopup , delayClose ) ,
473- [ closePopup , delayClose ] ,
457+ ( ) => debounce ( closePopup , DISKS_POPUP_DEBOUNCE_TIMEOUT ) ,
458+ [ closePopup ] ,
474459 ) ;
475460
476461 React . useEffect ( ( ) => {
@@ -539,14 +524,14 @@ export function PDiskSvg({
539524 }
540525
541526 debouncedClosePopup . cancel ( ) ;
542- if ( area . key === resolvedActiveDiskKey ) {
527+ if ( area . key === activeDiskKey ) {
543528 return ;
544529 }
545530
546531 closeOtherPopups ( patternIdPrefix ) ;
547- setActiveDisk ( area . key ) ;
532+ setActiveDiskKey ( area . key ) ;
548533 } ,
549- [ debouncedClosePopup , patternIdPrefix , resolvedActiveDiskKey , setActiveDisk ] ,
534+ [ activeDiskKey , debouncedClosePopup , patternIdPrefix , setActiveDiskKey ] ,
550535 ) ;
551536
552537 const handleMouseMove = React . useCallback (
0 commit comments