@@ -116,7 +116,8 @@ type MetadataProps = {
116116
117117type MetadataState = {
118118 key : string | React . ReactNode ,
119- value : string | number | boolean | null
119+ value : string | number | boolean | null ,
120+ rowKey : string
120121} [ ] ;
121122
122123
@@ -168,7 +169,8 @@ const NUMetadata: React.FC<MetadataProps> = ({
168169 keyName = keyName . charAt ( 0 ) . toUpperCase ( ) + keyName . slice ( 1 ) ;
169170 data . push ( {
170171 key : keyName as string ,
171- value : objectInfo [ key as keyof ObjectInfo ]
172+ value : objectInfo [ key as keyof ObjectInfo ] ,
173+ rowKey : keyName as string
172174 } ) ;
173175 }
174176 } ) ;
@@ -178,71 +180,81 @@ const NUMetadata: React.FC<MetadataProps> = ({
178180 if ( objectInfo ?. sourceBucket !== undefined && objectInfo ?. sourceBucket !== null ) {
179181 data . push ( {
180182 key : 'Source Bucket' ,
181- value : objectInfo . sourceBucket
183+ value : objectInfo . sourceBucket ,
184+ rowKey : 'Source Bucket'
182185 } ) ;
183186 }
184187
185188 if ( objectInfo ?. sourceVolume !== undefined && objectInfo ?. sourceVolume !== null ) {
186189 data . push ( {
187190 key : 'Source Volume' ,
188- value : objectInfo . sourceVolume
191+ value : objectInfo . sourceVolume ,
192+ rowKey : 'Source Volume'
189193 } ) ;
190194 }
191195
192196 if ( objectInfo ?. creationTime !== undefined && objectInfo ?. creationTime !== - 1 ) {
193197 data . push ( {
194198 key : 'Creation Time' ,
195- value : moment ( objectInfo . creationTime ) . format ( 'll LTS' )
199+ value : moment ( objectInfo . creationTime ) . format ( 'll LTS' ) ,
200+ rowKey : 'Creation Time'
196201 } ) ;
197202 }
198203
199204 if ( objectInfo ?. usedBytes !== undefined && objectInfo ?. usedBytes !== - 1 && objectInfo ! . usedBytes !== null ) {
200205 data . push ( {
201206 key : 'Used Bytes' ,
202- value : byteToSize ( objectInfo . usedBytes , 3 )
207+ value : byteToSize ( objectInfo . usedBytes , 3 ) ,
208+ rowKey : 'Used Bytes'
203209 } ) ;
204210 }
205211
206212 if ( objectInfo ?. dataSize !== undefined && objectInfo ?. dataSize !== - 1 ) {
207213 data . push ( {
208214 key : 'Data Size' ,
209- value : byteToSize ( objectInfo . dataSize , 3 )
215+ value : byteToSize ( objectInfo . dataSize , 3 ) ,
216+ rowKey : 'Data Size'
210217 } ) ;
211218 }
212219
213220 if ( objectInfo ?. modificationTime !== undefined && objectInfo ?. modificationTime !== - 1 ) {
214221 data . push ( {
215222 key : 'Modification Time' ,
216- value : moment ( objectInfo . modificationTime ) . format ( 'll LTS' )
223+ value : moment ( objectInfo . modificationTime ) . format ( 'll LTS' ) ,
224+ rowKey : 'Modification Time'
217225 } ) ;
218226 }
219227
220228 if ( objectInfo ?. quotaInNamespace !== undefined && objectInfo ?. quotaInNamespace !== - 1 ) {
221229 data . push ( {
222230 key : QuotaInNamespace ,
223- value : objectInfo . quotaInNamespace
231+ value : objectInfo . quotaInNamespace ,
232+ rowKey : 'Quota In Namespace'
224233 } ) ;
225234 }
226235
227236 if ( summaryResponse . objectInfo ?. replicationConfig ?. replicationFactor !== undefined ) {
228237 data . push ( {
229238 key : 'Replication Factor' ,
230- value : summaryResponse . objectInfo . replicationConfig . replicationFactor
239+ value : summaryResponse . objectInfo . replicationConfig . replicationFactor ,
240+ rowKey : 'Replication Factor'
231241 } ) ;
232242 }
233243
234244 if ( summaryResponse . objectInfo ?. replicationConfig ?. replicationType !== undefined ) {
235245 data . push ( {
236246 key : 'Replication Type' ,
237- value : summaryResponse . objectInfo . replicationConfig . replicationType
247+ value : summaryResponse . objectInfo . replicationConfig . replicationType ,
248+ rowKey : 'Replication Type'
238249 } ) ;
239250 }
240251
241252 if ( summaryResponse . objectInfo ?. replicationConfig ?. requiredNodes !== undefined
242253 && summaryResponse . objectInfo ?. replicationConfig ?. requiredNodes !== - 1 ) {
243254 data . push ( {
244255 key : 'Replication Required Nodes' ,
245- value : summaryResponse . objectInfo . replicationConfig . requiredNodes
256+ value : summaryResponse . objectInfo . replicationConfig . requiredNodes ,
257+ rowKey : 'Replication Required Nodes'
246258 } ) ;
247259 }
248260
@@ -273,7 +285,8 @@ const NUMetadata: React.FC<MetadataProps> = ({
273285 // Summary Response data section
274286 data . push ( {
275287 key : 'Entity Type' ,
276- value : summaryResponse . type
288+ value : summaryResponse . type ,
289+ rowKey : 'Entity Type'
277290 } ) ;
278291
279292 // If the entity is a Key then fetch the Key metadata only
@@ -282,16 +295,20 @@ const NUMetadata: React.FC<MetadataProps> = ({
282295 const usageResponse : any = await fetchData ( `/api/v1/namespace/usage?path=${ path } &replica=true` ) ;
283296 data . push ( ...[ {
284297 key : 'File Size' ,
285- value : byteToSize ( usageResponse . size , 3 )
298+ value : byteToSize ( usageResponse . size , 3 ) ,
299+ rowKey : 'File Size'
286300 } , {
287301 key : 'File Size With Replication' ,
288- value : byteToSize ( usageResponse . sizeWithReplica , 3 )
302+ value : byteToSize ( usageResponse . sizeWithReplica , 3 ) ,
303+ rowKey : 'File Size With Replication'
289304 } , {
290305 key : 'Creation Time' ,
291- value : moment ( summaryResponse . objectInfo . creationTime ) . format ( 'll LTS' )
306+ value : moment ( summaryResponse . objectInfo . creationTime ) . format ( 'll LTS' ) ,
307+ rowKey : 'Creation Time'
292308 } , {
293309 key : 'Modification Time' ,
294- value : moment ( summaryResponse . objectInfo . modificationTime ) . format ( 'll LTS' )
310+ value : moment ( summaryResponse . objectInfo . modificationTime ) . format ( 'll LTS' ) ,
311+ rowKey : 'Modification Time'
295312 } ] ) ;
296313 setState ( data ) ;
297314 return ;
@@ -319,7 +336,8 @@ const NUMetadata: React.FC<MetadataProps> = ({
319336 && countStats [ key as keyof CountStats ] !== - 1 ) {
320337 data . push ( {
321338 key : keyToNameMap [ key ] ,
322- value : countStats [ key as keyof CountStats ]
339+ value : countStats [ key as keyof CountStats ] ,
340+ rowKey : keyToNameMap [ key ]
323341 } ) ;
324342 }
325343 } ) ;
@@ -341,14 +359,16 @@ const NUMetadata: React.FC<MetadataProps> = ({
341359 if ( quotaResponse . allowed !== undefined && quotaResponse . allowed !== - 1 ) {
342360 data . push ( {
343361 key : QuotaAllowed ,
344- value : byteToSize ( quotaResponse . allowed , 3 )
362+ value : byteToSize ( quotaResponse . allowed , 3 ) ,
363+ rowKey : 'Quota Allowed'
345364 } ) ;
346365 }
347366
348367 if ( quotaResponse . used !== undefined && quotaResponse . used !== - 1 ) {
349368 data . push ( {
350369 key : QuotaUsed ,
351- value : byteToSize ( quotaResponse . used , 3 )
370+ value : byteToSize ( quotaResponse . used , 3 ) ,
371+ rowKey : 'Quota Used'
352372 } ) ;
353373 }
354374 }
@@ -385,6 +405,7 @@ const NUMetadata: React.FC<MetadataProps> = ({
385405 size = 'small'
386406 loading = { loading }
387407 dataSource = { state }
408+ rowKey = 'rowKey'
388409 bordered = { true }
389410 pagination = { {
390411 current : pgNumber
0 commit comments