Skip to content

Commit 4fbf95b

Browse files
committed
fix: review
1 parent 85191b0 commit 4fbf95b

File tree

2 files changed

+28
-30
lines changed

2 files changed

+28
-30
lines changed

src/components/VDiskInfo/VDiskInfo.tsx

Lines changed: 16 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -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);

src/utils/disks/prepareDisks.ts

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import {isNil} from 'lodash';
2+
13
import {valueIsDefined} from '..';
24
import type {TPDiskStateInfo} from '../../types/api/pdisk';
35
import type {TVDiskStateInfo, TVSlotId} from '../../types/api/vdisk';
@@ -69,21 +71,21 @@ export function prepareWhiteboardVDiskData(
6971
return prepareWhiteboardVDiskData({...donor, DonorMode: true});
7072
} else {
7173
// TVSlotId data - create a minimal PreparedVDisk
72-
const {NodeId: dNodeId, PDiskId: dPDiskId, VSlotId} = donor;
73-
const StringifiedId =
74-
valueIsDefined(dNodeId) && valueIsDefined(dPDiskId) && valueIsDefined(VSlotId)
75-
? `${dNodeId}-${dPDiskId}-${VSlotId}`
74+
const {NodeId: dNodeId, PDiskId: dPDiskId, VSlotId: vSlotId} = donor;
75+
const stringifiedId =
76+
!isNil(dNodeId) && !isNil(dPDiskId) && !isNil(vSlotId)
77+
? `${dNodeId}-${dPDiskId}-${vSlotId}`
7678
: '';
77-
79+
7880
return {
7981
NodeId: dNodeId,
80-
PDiskId: dPDiskId,
81-
VDiskSlotId: VSlotId,
82-
StringifiedId,
82+
PDiskId: dPDiskId,
83+
VDiskSlotId: vSlotId,
84+
StringifiedId: stringifiedId,
8385
DonorMode: true,
84-
} as PreparedVDisk;
86+
};
8587
}
86-
}).filter((donor) => donor.StringifiedId);
88+
});
8789

8890
return {
8991
...restVDiskFields,

0 commit comments

Comments
 (0)