@@ -215,6 +215,10 @@ const ListObjects = () => {
215
215
( state : AppState ) => state . objectBrowser . anonymousAccessOpen ,
216
216
) ;
217
217
218
+ const records = useSelector (
219
+ ( state : AppState ) => state . objectBrowser ?. records || [ ] ,
220
+ ) ;
221
+
218
222
const loadingBucket = useSelector ( selBucketDetailsLoading ) ;
219
223
const bucketInfo = useSelector ( selBucketDetailsInfo ) ;
220
224
@@ -291,6 +295,20 @@ const ListObjects = () => {
291
295
( state : AppState ) => state . objectBrowser . selectedObjects ,
292
296
) ;
293
297
298
+ const checkForDelMarker = ( ) : boolean => {
299
+ let isObjDelMarker = false ;
300
+ if ( selectedObjects . length === 1 ) {
301
+ let matchingRec = records . find ( ( obj ) => {
302
+ return obj . name === `${ selectedObjects [ 0 ] } ` && obj . delete_flag ;
303
+ } ) ;
304
+
305
+ isObjDelMarker = ! ! matchingRec ;
306
+ }
307
+ return isObjDelMarker ;
308
+ } ;
309
+
310
+ const isSelObjectDelMarker = checkForDelMarker ( ) ;
311
+
294
312
const fetchMetadata = useCallback ( ( ) => {
295
313
const objectName = selectedObjects [ 0 ] ;
296
314
@@ -317,10 +335,10 @@ const ListObjects = () => {
317
335
} , [ bucketName , selectedObjects , isMetaDataLoaded ] ) ;
318
336
319
337
useEffect ( ( ) => {
320
- if ( bucketName && selectedObjects . length === 1 ) {
338
+ if ( bucketName && ! isSelObjectDelMarker ) {
321
339
fetchMetadata ( ) ;
322
340
}
323
- } , [ bucketName , selectedObjects , fetchMetadata ] ) ;
341
+ } , [ bucketName , selectedObjects , fetchMetadata , isSelObjectDelMarker ] ) ;
324
342
325
343
useEffect ( ( ) => {
326
344
if ( rewindEnabled ) {
@@ -834,7 +852,7 @@ const ListObjects = () => {
834
852
dispatch ( downloadSelected ( bucketName ) ) ;
835
853
} ,
836
854
label : "Download" ,
837
- disabled : ! canDownload || selectedObjects ?. length === 0 ,
855
+ disabled : ! canDownload || isSelObjectDelMarker ,
838
856
icon : < DownloadIcon /> ,
839
857
tooltip : canDownload
840
858
? downloadToolTip
@@ -848,7 +866,8 @@ const ListObjects = () => {
848
866
dispatch ( openShare ( ) ) ;
849
867
} ,
850
868
label : "Share" ,
851
- disabled : selectedObjects . length !== 1 || ! canShareFile ,
869
+ disabled :
870
+ selectedObjects . length !== 1 || ! canShareFile || isSelObjectDelMarker ,
852
871
icon : < ShareIcon /> ,
853
872
tooltip : canShareFile ? "Share Selected File" : "Sharing unavailable" ,
854
873
} ,
@@ -857,7 +876,8 @@ const ListObjects = () => {
857
876
dispatch ( openPreview ( ) ) ;
858
877
} ,
859
878
label : "Preview" ,
860
- disabled : selectedObjects . length !== 1 || ! canPreviewFile ,
879
+ disabled :
880
+ selectedObjects . length !== 1 || ! canPreviewFile || isSelObjectDelMarker ,
861
881
icon : < PreviewIcon /> ,
862
882
tooltip : canPreviewFile ? "Preview Selected File" : "Preview unavailable" ,
863
883
} ,
0 commit comments