@@ -45,6 +45,7 @@ import {
45
45
import { IAM_SCOPES } from "../../../../../../common/SecureComponent/permissions" ;
46
46
import {
47
47
completeObject ,
48
+ setLoadingObjectInfo ,
48
49
setNewObject ,
49
50
setVersionsModeEnabled ,
50
51
updateProgress ,
@@ -66,7 +67,6 @@ import ShareFile from "../ObjectDetails/ShareFile";
66
67
import SetRetention from "../ObjectDetails/SetRetention" ;
67
68
import DeleteObject from "../ListObjects/DeleteObject" ;
68
69
import SetLegalHoldModal from "../ObjectDetails/SetLegalHoldModal" ;
69
- import RestoreFileVersion from "../ObjectDetails/RestoreFileVersion" ;
70
70
import {
71
71
hasPermission ,
72
72
SecureComponent ,
@@ -123,13 +123,15 @@ interface IObjectDetailPanelProps {
123
123
versioning : boolean ;
124
124
versionsMode : boolean ;
125
125
selectedVersion : string ;
126
+ loadingObjectInfo : boolean ;
126
127
onClosePanel : ( hardRefresh : boolean ) => void ;
127
128
setErrorSnackMessage : typeof setErrorSnackMessage ;
128
129
setSnackBarMessage : typeof setSnackBarMessage ;
129
130
setNewObject : typeof setNewObject ;
130
131
updateProgress : typeof updateProgress ;
131
132
completeObject : typeof completeObject ;
132
133
setVersionsModeEnabled : typeof setVersionsModeEnabled ;
134
+ setLoadingObjectInfo : typeof setLoadingObjectInfo ;
133
135
}
134
136
135
137
const emptyFile : IFileInfo = {
@@ -158,8 +160,9 @@ const ObjectDetailPanel = ({
158
160
selectedVersion,
159
161
onClosePanel,
160
162
setVersionsModeEnabled,
163
+ loadingObjectInfo,
164
+ setLoadingObjectInfo,
161
165
} : IObjectDetailPanelProps ) => {
162
- const [ loadObjectData , setLoadObjectData ] = useState < boolean > ( true ) ;
163
166
const [ shareFileModalOpen , setShareFileModalOpen ] = useState < boolean > ( false ) ;
164
167
const [ retentionModalOpen , setRetentionModalOpen ] = useState < boolean > ( false ) ;
165
168
const [ tagModalOpen , setTagModalOpen ] = useState < boolean > ( false ) ;
@@ -170,9 +173,7 @@ const ObjectDetailPanel = ({
170
173
const [ objectToShare , setObjectToShare ] = useState < IFileInfo | null > ( null ) ;
171
174
const [ versions , setVersions ] = useState < IFileInfo [ ] > ( [ ] ) ;
172
175
const [ deleteOpen , setDeleteOpen ] = useState < boolean > ( false ) ;
173
- const [ restoreVersionOpen , setRestoreVersionOpen ] = useState < boolean > ( false ) ;
174
176
const [ previewOpen , setPreviewOpen ] = useState < boolean > ( false ) ;
175
- const [ restoreVersion , setRestoreVersion ] = useState < string > ( "" ) ;
176
177
const [ totalVersionsSize , setTotalVersionsSize ] = useState < number > ( 0 ) ;
177
178
178
179
const internalPathsDecoded = decodeFileName ( internalPaths ) || "" ;
@@ -187,9 +188,9 @@ const ObjectDetailPanel = ({
187
188
188
189
useEffect ( ( ) => {
189
190
if ( bucketName !== "" && internalPaths ) {
190
- setLoadObjectData ( true ) ;
191
+ setLoadingObjectInfo ( true ) ;
191
192
}
192
- } , [ internalPaths , bucketName ] ) ;
193
+ } , [ internalPaths , bucketName , setLoadingObjectInfo ] ) ;
193
194
194
195
useEffect ( ( ) => {
195
196
if ( distributedSetup && allInfoElements . length >= 1 ) {
@@ -208,7 +209,7 @@ const ObjectDetailPanel = ({
208
209
} , [ selectedVersion , distributedSetup , allInfoElements ] ) ;
209
210
210
211
useEffect ( ( ) => {
211
- if ( loadObjectData && internalPaths !== "" ) {
212
+ if ( loadingObjectInfo && internalPaths !== "" ) {
212
213
api
213
214
. invoke (
214
215
"GET" ,
@@ -237,20 +238,21 @@ const ObjectDetailPanel = ({
237
238
setVersions ( [ ] ) ;
238
239
}
239
240
240
- setLoadObjectData ( false ) ;
241
+ setLoadingObjectInfo ( false ) ;
241
242
} )
242
243
. catch ( ( error : ErrorResponseHandler ) => {
243
244
setErrorSnackMessage ( error ) ;
244
- setLoadObjectData ( false ) ;
245
+ setLoadingObjectInfo ( false ) ;
245
246
} ) ;
246
247
}
247
248
} , [
248
- loadObjectData ,
249
+ loadingObjectInfo ,
249
250
bucketName ,
250
251
internalPaths ,
251
252
setErrorSnackMessage ,
252
253
distributedSetup ,
253
254
selectedVersion ,
255
+ setLoadingObjectInfo
254
256
] ) ;
255
257
256
258
let tagKeys : string [ ] = [ ] ;
@@ -266,7 +268,7 @@ const ObjectDetailPanel = ({
266
268
const closeRetentionModal = ( updateInfo : boolean ) => {
267
269
setRetentionModalOpen ( false ) ;
268
270
if ( updateInfo ) {
269
- setLoadObjectData ( true ) ;
271
+ setLoadingObjectInfo ( true ) ;
270
272
}
271
273
} ;
272
274
@@ -319,30 +321,21 @@ const ObjectDetailPanel = ({
319
321
const closeAddTagModal = ( reloadObjectData : boolean ) => {
320
322
setTagModalOpen ( false ) ;
321
323
if ( reloadObjectData ) {
322
- setLoadObjectData ( true ) ;
324
+ setLoadingObjectInfo ( true ) ;
323
325
}
324
326
} ;
325
327
326
328
const closeInspectModal = ( reloadObjectData : boolean ) => {
327
329
setInspectModalOpen ( false ) ;
328
330
if ( reloadObjectData ) {
329
- setLoadObjectData ( true ) ;
331
+ setLoadingObjectInfo ( true ) ;
330
332
}
331
333
} ;
332
334
333
335
const closeLegalholdModal = ( reload : boolean ) => {
334
336
setLegalholdOpen ( false ) ;
335
337
if ( reload ) {
336
- setLoadObjectData ( true ) ;
337
- }
338
- } ;
339
-
340
- const closeRestoreModal = ( reloadObjectData : boolean ) => {
341
- setRestoreVersionOpen ( false ) ;
342
- setRestoreVersion ( "" ) ;
343
-
344
- if ( reloadObjectData ) {
345
- setLoadObjectData ( true ) ;
338
+ setLoadingObjectInfo ( true ) ;
346
339
}
347
340
} ;
348
341
@@ -392,7 +385,6 @@ const ObjectDetailPanel = ({
392
385
label : "Legal Hold" ,
393
386
disabled :
394
387
! ! actualInfo . is_delete_marker ||
395
- extensionPreview ( currentItem ) === "none" ||
396
388
! hasPermission ( bucketName , [ IAM_SCOPES . S3_PUT_OBJECT_LEGAL_HOLD ] ) ||
397
389
selectedVersion !== "" ,
398
390
icon : < LegalHoldIcon /> ,
@@ -403,7 +395,6 @@ const ObjectDetailPanel = ({
403
395
label : "Retention" ,
404
396
disabled :
405
397
! ! actualInfo . is_delete_marker ||
406
- extensionPreview ( currentItem ) === "none" ||
407
398
! hasPermission ( bucketName , [ IAM_SCOPES . S3_GET_OBJECT_RETENTION ] ) ||
408
399
selectedVersion !== "" ,
409
400
icon : < RetentionIcon /> ,
@@ -414,10 +405,7 @@ const ObjectDetailPanel = ({
414
405
setTagModalOpen ( true ) ;
415
406
} ,
416
407
label : "Tags" ,
417
- disabled :
418
- ! ! actualInfo . is_delete_marker ||
419
- extensionPreview ( currentItem ) === "none" ||
420
- selectedVersion !== "" ,
408
+ disabled : ! ! actualInfo . is_delete_marker || selectedVersion !== "" ,
421
409
icon : < TagsIcon /> ,
422
410
tooltip : "Change Tags for this File" ,
423
411
} ,
@@ -426,10 +414,7 @@ const ObjectDetailPanel = ({
426
414
setInspectModalOpen ( true ) ;
427
415
} ,
428
416
label : "Inspect" ,
429
- disabled :
430
- ! ! actualInfo . is_delete_marker ||
431
- extensionPreview ( currentItem ) === "none" ||
432
- selectedVersion !== "" ,
417
+ disabled : ! ! actualInfo . is_delete_marker || selectedVersion !== "" ,
433
418
icon : < InspectMenuIcon /> ,
434
419
tooltip : "Inspect this file" ,
435
420
} ,
@@ -450,7 +435,9 @@ const ObjectDetailPanel = ({
450
435
451
436
const difTime = currentTime . getTime ( ) - modifiedTime . getTime ( ) ;
452
437
453
- return `${ niceDaysInt ( difTime , "ms" ) } ago` ;
438
+ const formatTime = niceDaysInt ( difTime , "ms" ) ;
439
+
440
+ return formatTime . trim ( ) !== "" ? `${ formatTime } ago` : "Just now" ;
454
441
} ;
455
442
456
443
return (
@@ -490,15 +477,6 @@ const ObjectDetailPanel = ({
490
477
actualInfo = { actualInfo }
491
478
/>
492
479
) }
493
- { restoreVersionOpen && actualInfo && (
494
- < RestoreFileVersion
495
- restoreOpen = { restoreVersionOpen }
496
- bucketName = { bucketName }
497
- versionID = { restoreVersion }
498
- objectPath = { actualInfo . name }
499
- onCloseAndUpdate = { closeRestoreModal }
500
- />
501
- ) }
502
480
{ previewOpen && actualInfo && (
503
481
< PreviewFileModal
504
482
open = { previewOpen }
@@ -698,6 +676,7 @@ const mapStateToProps = ({ objectBrowser, system }: AppState) => ({
698
676
distributedSetup : get ( system , "distributedSetup" , false ) ,
699
677
versionsMode : get ( objectBrowser , "versionsMode" , false ) ,
700
678
selectedVersion : get ( objectBrowser , "selectedVersion" , "" ) ,
679
+ loadingObjectInfo : get ( objectBrowser , "loadingObjectInfo" , false ) ,
701
680
} ) ;
702
681
703
682
const mapDispatchToProps = {
@@ -707,6 +686,7 @@ const mapDispatchToProps = {
707
686
updateProgress,
708
687
completeObject,
709
688
setVersionsModeEnabled,
689
+ setLoadingObjectInfo,
710
690
} ;
711
691
712
692
const connector = connect ( mapStateToProps , mapDispatchToProps ) ;
0 commit comments