@@ -11,6 +11,7 @@ import {createVDiskDeveloperUILink} from '../../utils/developerUI/developerUI';
11
11
import { isFullVDiskData } from '../../utils/disks/helpers' ;
12
12
import type { PreparedVDisk , UnavailableDonor } from '../../utils/disks/types' ;
13
13
import { useTypedSelector } from '../../utils/hooks' ;
14
+ import { useDatabaseFromQuery } from '../../utils/hooks/useDatabaseFromQuery' ;
14
15
import { useIsUserAllowedToMakeChanges } from '../../utils/hooks/useIsUserAllowedToMakeChanges' ;
15
16
import { bytesToGB , bytesToSpeed } from '../../utils/utils' ;
16
17
import type { InfoViewerItem } from '../InfoViewer' ;
@@ -24,7 +25,11 @@ import './VDiskPopup.scss';
24
25
25
26
const b = cn ( 'vdisk-storage-popup' ) ;
26
27
27
- const prepareUnavailableVDiskData = ( data : UnavailableDonor , withDeveloperUILink ?: boolean ) => {
28
+ const prepareUnavailableVDiskData = (
29
+ data : UnavailableDonor ,
30
+ withDeveloperUILink ?: boolean ,
31
+ database ?: string ,
32
+ ) => {
28
33
const { NodeId, PDiskId, VSlotId, StoragePoolName} = data ;
29
34
30
35
const vdiskData : InfoViewerItem [ ] = [ { label : 'State' , value : 'not available' } ] ;
@@ -49,6 +54,7 @@ const prepareUnavailableVDiskData = (data: UnavailableDonor, withDeveloperUILink
49
54
nodeId : NodeId ,
50
55
pDiskId : PDiskId ,
51
56
vDiskSlotId : VSlotId ,
57
+ database,
52
58
} ) ;
53
59
54
60
vdiskData . push ( {
@@ -61,7 +67,11 @@ const prepareUnavailableVDiskData = (data: UnavailableDonor, withDeveloperUILink
61
67
} ;
62
68
63
69
// eslint-disable-next-line complexity
64
- const prepareVDiskData = ( data : PreparedVDisk , withDeveloperUILink ?: boolean ) => {
70
+ const prepareVDiskData = (
71
+ data : PreparedVDisk ,
72
+ withDeveloperUILink ?: boolean ,
73
+ database ?: string ,
74
+ ) => {
65
75
const {
66
76
NodeId,
67
77
PDiskId,
@@ -160,6 +170,7 @@ const prepareVDiskData = (data: PreparedVDisk, withDeveloperUILink?: boolean) =>
160
170
nodeId : NodeId ,
161
171
pDiskId : PDiskId ,
162
172
vDiskSlotId : VDiskSlotId ,
173
+ database,
163
174
} ) ;
164
175
165
176
vdiskData . push ( {
@@ -176,16 +187,17 @@ interface VDiskPopupProps {
176
187
}
177
188
178
189
export const VDiskPopup = ( { data} : VDiskPopupProps ) => {
190
+ const database = useDatabaseFromQuery ( ) ;
179
191
const isFullData = isFullVDiskData ( data ) ;
180
192
181
193
const isUserAllowedToMakeChanges = useIsUserAllowedToMakeChanges ( ) ;
182
194
183
195
const vdiskInfo = React . useMemo (
184
196
( ) =>
185
197
isFullData
186
- ? prepareVDiskData ( data , isUserAllowedToMakeChanges )
187
- : prepareUnavailableVDiskData ( data , isUserAllowedToMakeChanges ) ,
188
- [ data , isFullData , isUserAllowedToMakeChanges ] ,
198
+ ? prepareVDiskData ( data , isUserAllowedToMakeChanges , database )
199
+ : prepareUnavailableVDiskData ( data , isUserAllowedToMakeChanges , database ) ,
200
+ [ data , isFullData , isUserAllowedToMakeChanges , database ] ,
189
201
) ;
190
202
191
203
const nodesMap = useTypedSelector ( selectNodesMap ) ;
@@ -194,8 +206,8 @@ export const VDiskPopup = ({data}: VDiskPopupProps) => {
194
206
( ) =>
195
207
isFullData &&
196
208
data . PDisk &&
197
- preparePDiskData ( data . PDisk , nodeData , isUserAllowedToMakeChanges ) ,
198
- [ data , nodeData , isFullData , isUserAllowedToMakeChanges ] ,
209
+ preparePDiskData ( data . PDisk , nodeData , isUserAllowedToMakeChanges , database ) ,
210
+ [ data , nodeData , isFullData , isUserAllowedToMakeChanges , database ] ,
199
211
) ;
200
212
201
213
const donorsInfo : InfoViewerItem [ ] = [ ] ;
@@ -204,7 +216,11 @@ export const VDiskPopup = ({data}: VDiskPopupProps) => {
204
216
for ( const donor of donors ) {
205
217
donorsInfo . push ( {
206
218
label : 'VDisk' ,
207
- value : < InternalLink to = { getVDiskLink ( donor ) } > { donor . StringifiedId } </ InternalLink > ,
219
+ value : (
220
+ < InternalLink to = { getVDiskLink ( donor , database ) } >
221
+ { donor . StringifiedId }
222
+ </ InternalLink >
223
+ ) ,
208
224
} ) ;
209
225
}
210
226
}
0 commit comments