Skip to content

Commit 4de6464

Browse files
fix(Disks): fix vdisk popup hiding
1 parent adc051b commit 4de6464

File tree

3 files changed

+19
-5
lines changed

3 files changed

+19
-5
lines changed

src/components/VDisk/VDisk.tsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ import './VDisk.scss';
1212

1313
const b = cn('ydb-vdisk-component');
1414

15+
const VDISK_POPUP_DEBOUNCE_TIMEOUT = 200;
16+
1517
export interface VDiskProps {
1618
data?: PreparedVDisk;
1719
compact?: boolean;
@@ -32,8 +34,8 @@ export const VDisk = ({
3234
onShowPopup,
3335
onHidePopup,
3436
progressBarClassName,
35-
delayClose,
36-
delayOpen,
37+
delayClose = VDISK_POPUP_DEBOUNCE_TIMEOUT,
38+
delayOpen = VDISK_POPUP_DEBOUNCE_TIMEOUT,
3739
}: VDiskProps) => {
3840
const database = useDatabaseFromQuery();
3941
const vDiskPath = getVDiskLink(data, {

src/containers/Storage/Disks/Disks.tsx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import './Disks.scss';
1616
const b = cn('ydb-storage-disks');
1717

1818
const VDISKS_CONTAINER_WIDTH = 300;
19+
const DISKS_POPUPS_DEBOUNCE_TIMEOUT = 200;
1920

2021
interface DisksProps {
2122
vDisks?: PreparedVDisk[];
@@ -101,6 +102,8 @@ function VDiskItem({
101102
compact
102103
inactive={inactive}
103104
showPopup={highlightedVDisk === vDiskId}
105+
delayOpen={DISKS_POPUPS_DEBOUNCE_TIMEOUT}
106+
delayClose={DISKS_POPUPS_DEBOUNCE_TIMEOUT}
104107
onShowPopup={() => setHighlightedVDisk(vDiskId)}
105108
onHidePopup={() => setHighlightedVDisk(undefined)}
106109
progressBarClassName={b('vdisk-progress-bar')}
@@ -122,6 +125,8 @@ function PDiskItem({vDisk, highlightedVDisk, setHighlightedVDisk, withDCMargin}:
122125
progressBarClassName={b('pdisk-progress-bar')}
123126
data={vDisk.PDisk}
124127
showPopup={highlightedVDisk === vDiskId}
128+
delayOpen={DISKS_POPUPS_DEBOUNCE_TIMEOUT}
129+
delayClose={DISKS_POPUPS_DEBOUNCE_TIMEOUT}
125130
onShowPopup={() => setHighlightedVDisk(vDiskId)}
126131
onHidePopup={() => setHighlightedVDisk(undefined)}
127132
/>

src/containers/Storage/PDisk/PDisk.tsx

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ import './PDisk.scss';
1616

1717
const b = cn('pdisk-storage');
1818

19+
const PDISK_POPUP_DEBOUNCE_TIMEOUT = 200;
20+
1921
interface PDiskProps {
2022
data?: PreparedPDisk;
2123
vDisks?: PreparedVDisk[];
@@ -26,6 +28,8 @@ interface PDiskProps {
2628
progressBarClassName?: string;
2729
viewContext?: StorageViewContext;
2830
width?: number;
31+
delayOpen?: number;
32+
delayClose?: number;
2933
}
3034

3135
export const PDisk = ({
@@ -38,6 +42,8 @@ export const PDisk = ({
3842
progressBarClassName,
3943
viewContext,
4044
width,
45+
delayOpen = PDISK_POPUP_DEBOUNCE_TIMEOUT,
46+
delayClose = PDISK_POPUP_DEBOUNCE_TIMEOUT,
4147
}: PDiskProps) => {
4248
const {NodeId, PDiskId} = data;
4349
const pDiskIdsDefined = valueIsDefined(NodeId) && valueIsDefined(PDiskId);
@@ -65,8 +71,8 @@ export const PDisk = ({
6571
data={vdisk}
6672
inactive={!isVdiskActive(vdisk, viewContext)}
6773
compact
68-
delayClose={200}
69-
delayOpen={200}
74+
delayOpen={delayOpen}
75+
delayClose={delayClose}
7076
/>
7177
</div>
7278
))}
@@ -90,7 +96,8 @@ export const PDisk = ({
9096
onShowPopup={onShowPopup}
9197
onHidePopup={onHidePopup}
9298
renderPopupContent={() => <PDiskPopup data={data} />}
93-
delayClose={200}
99+
delayOpen={delayOpen}
100+
delayClose={delayClose}
94101
>
95102
<InternalLink to={pDiskPath} className={b('content')}>
96103
<DiskStateProgressBar

0 commit comments

Comments
 (0)