@@ -11,6 +11,7 @@ import {createVDiskDeveloperUILink} from '../../utils/developerUI/developerUI';
1111import { isFullVDiskData } from '../../utils/disks/helpers' ;
1212import type { PreparedVDisk , UnavailableDonor } from '../../utils/disks/types' ;
1313import { useTypedSelector } from '../../utils/hooks' ;
14+ import { useDatabaseFromQuery } from '../../utils/hooks/useDatabaseFromQuery' ;
1415import { useIsUserAllowedToMakeChanges } from '../../utils/hooks/useIsUserAllowedToMakeChanges' ;
1516import { bytesToGB , bytesToSpeed } from '../../utils/utils' ;
1617import type { InfoViewerItem } from '../InfoViewer' ;
@@ -24,7 +25,11 @@ import './VDiskPopup.scss';
2425
2526const b = cn ( 'vdisk-storage-popup' ) ;
2627
27- const prepareUnavailableVDiskData = ( data : UnavailableDonor , withDeveloperUILink ?: boolean ) => {
28+ const prepareUnavailableVDiskData = (
29+ data : UnavailableDonor ,
30+ withDeveloperUILink ?: boolean ,
31+ database ?: string ,
32+ ) => {
2833 const { NodeId, PDiskId, VSlotId, StoragePoolName} = data ;
2934
3035 const vdiskData : InfoViewerItem [ ] = [ { label : 'State' , value : 'not available' } ] ;
@@ -49,6 +54,7 @@ const prepareUnavailableVDiskData = (data: UnavailableDonor, withDeveloperUILink
4954 nodeId : NodeId ,
5055 pDiskId : PDiskId ,
5156 vDiskSlotId : VSlotId ,
57+ database,
5258 } ) ;
5359
5460 vdiskData . push ( {
@@ -61,7 +67,11 @@ const prepareUnavailableVDiskData = (data: UnavailableDonor, withDeveloperUILink
6167} ;
6268
6369// 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+ ) => {
6575 const {
6676 NodeId,
6777 PDiskId,
@@ -160,6 +170,7 @@ const prepareVDiskData = (data: PreparedVDisk, withDeveloperUILink?: boolean) =>
160170 nodeId : NodeId ,
161171 pDiskId : PDiskId ,
162172 vDiskSlotId : VDiskSlotId ,
173+ database,
163174 } ) ;
164175
165176 vdiskData . push ( {
@@ -176,16 +187,17 @@ interface VDiskPopupProps {
176187}
177188
178189export const VDiskPopup = ( { data} : VDiskPopupProps ) => {
190+ const database = useDatabaseFromQuery ( ) ;
179191 const isFullData = isFullVDiskData ( data ) ;
180192
181193 const isUserAllowedToMakeChanges = useIsUserAllowedToMakeChanges ( ) ;
182194
183195 const vdiskInfo = React . useMemo (
184196 ( ) =>
185197 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 ] ,
189201 ) ;
190202
191203 const nodesMap = useTypedSelector ( selectNodesMap ) ;
@@ -194,8 +206,8 @@ export const VDiskPopup = ({data}: VDiskPopupProps) => {
194206 ( ) =>
195207 isFullData &&
196208 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 ] ,
199211 ) ;
200212
201213 const donorsInfo : InfoViewerItem [ ] = [ ] ;
@@ -204,7 +216,11 @@ export const VDiskPopup = ({data}: VDiskPopupProps) => {
204216 for ( const donor of donors ) {
205217 donorsInfo . push ( {
206218 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+ ) ,
208224 } ) ;
209225 }
210226 }
0 commit comments