@@ -145,14 +145,10 @@ export function VDiskInfo<T extends PreparedVDisk>({
145145 label : vDiskInfoKeyset ( 'replication-progress' ) ,
146146 value : (
147147 < ProgressViewer
148- value = { ReplicationProgress }
149- capacity = { 1 }
150- formatValues = { ( value ) => [ `${ Math . round ( ( value || 0 ) * 100 ) } %` ] }
148+ value = { Math . round ( ReplicationProgress * 100 ) }
149+ percents
151150 colorizeProgress = { true }
152- inverseColorize = { true }
153- dangerThreshold = { 0 }
154- warningThreshold = { 0 }
155- hideCapacity = { true }
151+ capacity = { 100 }
156152 />
157153 ) ,
158154 } ) ;
@@ -191,28 +187,28 @@ export function VDiskInfo<T extends PreparedVDisk>({
191187 }
192188
193189 // Show donors list when replication is in progress
194- if ( Replicated === false && VDiskState === EVDiskState . OK && Donors && Donors . length > 0 ) {
190+ if ( Replicated === false && VDiskState === EVDiskState . OK && Donors ? .length ) {
195191 const donorLinks = Donors . map ( ( donor , index ) => {
196- if ( ! donor . StringifiedId ) {
197- return null ;
198- }
192+ const {
193+ StringifiedId : id ,
194+ NodeId : dNodeId ,
195+ PDiskId : dPDiskId ,
196+ VDiskSlotId : dVSlotId ,
197+ } = donor ;
199198
200- // Parse StringifiedId format: "nodeId-pDiskId-vDiskSlotId"
201- const parts = donor . StringifiedId . split ( '-' ) ;
202- if ( parts . length !== 3 ) {
203- return donor . StringifiedId ;
199+ if ( ! id || ! dVSlotId || ! dNodeId || ! dPDiskId ) {
200+ return null ;
204201 }
205202
206- const [ nodeId , pDiskId , vDiskSlotId ] = parts ;
207203 const vDiskPath = getVDiskPagePath ( {
208- nodeId : parseInt ( nodeId ) ,
209- pDiskId : parseInt ( pDiskId ) ,
210- vDiskSlotId : parseInt ( vDiskSlotId ) ,
204+ nodeId : dNodeId ,
205+ pDiskId : dPDiskId ,
206+ vDiskSlotId : dVSlotId ,
211207 } ) ;
212208
213209 return (
214210 < InternalLink key = { index } to = { vDiskPath } >
215- { donor . StringifiedId }
211+ { id }
216212 </ InternalLink >
217213 ) ;
218214 } ) . filter ( Boolean ) ;
0 commit comments