Skip to content

Commit c5d4cdf

Browse files
authored
fix to show or hide show deleted objects option based on versioning status (#2780)
1 parent c117601 commit c5d4cdf

File tree

2 files changed

+18
-6
lines changed

2 files changed

+18
-6
lines changed

portal-ui/src/screens/Console/Buckets/BucketDetails/BrowserHandler.tsx

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -293,6 +293,16 @@ const BrowserHandler = () => {
293293
[bucketName, rewindEnabled, showDeleted, dispatch, onMessageCallBack]
294294
);
295295

296+
useEffect(() => {
297+
// when a bucket param changes, (i.e /browser/:bucketName), re-init e.g with KBar
298+
if (bucketName) {
299+
dispatch(resetMessages());
300+
dispatch(setLoadingRecords(true));
301+
dispatch(setLoadingObjects(true));
302+
initWSRequest("", new Date());
303+
}
304+
}, [bucketName, dispatch, initWSRequest]);
305+
296306
useEffect(() => {
297307
return () => {
298308
const request: WebsocketRequest = {
@@ -333,7 +343,7 @@ const BrowserHandler = () => {
333343
)
334344
);
335345
}
336-
}, [internalPaths, rewindDate, rewindEnabled, dispatch]);
346+
}, [bucketName, internalPaths, rewindDate, rewindEnabled, dispatch]);
337347

338348
// Direct file access effect / prefix
339349
useEffect(() => {

portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/ListObjects.tsx

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,7 @@ import {
140140

141141
import FilterObjectsSB from "../../../../ObjectBrowser/FilterObjectsSB";
142142
import AddAccessRule from "../../../BucketDetails/AddAccessRule";
143+
import { isVersionedMode } from "../../../../../../utils/validationFunctions";
143144

144145
const DeleteMultipleObjects = withSuspense(
145146
React.lazy(() => import("./DeleteMultipleObjects"))
@@ -259,7 +260,7 @@ const ListObjects = () => {
259260
(state: AppState) => state.objectBrowser.simplePath
260261
);
261262

262-
const isVersioned = useSelector(
263+
const versioningConfig = useSelector(
263264
(state: AppState) => state.objectBrowser.versionInfo
264265
);
265266
const lockingEnabled = useSelector(
@@ -297,6 +298,7 @@ const ListObjects = () => {
297298
const [canPreviewFile, setCanPreviewFile] = useState<boolean>(false);
298299
const [quota, setQuota] = useState<BucketQuota | null>(null);
299300

301+
const isVersioningApplied = isVersionedMode(versioningConfig.status);
300302
const bucketName = params.bucketName || "";
301303

302304
const pathSegment = location.pathname.split(`/browser/${bucketName}/`);
@@ -890,7 +892,7 @@ const ListObjects = () => {
890892
selectedBucket={bucketName}
891893
selectedObjects={selectedObjects}
892894
closeDeleteModalAndRefresh={closeDeleteMultipleModalAndRefresh}
893-
versioning={isVersioned}
895+
versioning={versioningConfig}
894896
/>
895897
)}
896898
{rewindSelect && (
@@ -1019,7 +1021,7 @@ const ListObjects = () => {
10191021
setRewindSelect(true);
10201022
}}
10211023
disabled={
1022-
!isVersioned ||
1024+
!isVersioningApplied ||
10231025
!hasPermission(bucketName, [
10241026
IAM_SCOPES.S3_GET_OBJECT,
10251027
IAM_SCOPES.S3_GET_ACTIONS,
@@ -1130,7 +1132,7 @@ const ListObjects = () => {
11301132
bucketName={bucketName}
11311133
internalPaths={pageTitle}
11321134
additionalOptions={
1133-
!isVersioned || rewindEnabled ? null : (
1135+
!isVersioningApplied || rewindEnabled ? null : (
11341136
<div>
11351137
<CheckboxWrapper
11361138
name={"deleted_objects"}
@@ -1181,7 +1183,7 @@ const ListObjects = () => {
11811183
internalPaths={selectedInternalPaths}
11821184
bucketName={bucketName}
11831185
onClosePanel={onClosePanel}
1184-
versioningInfo={isVersioned}
1186+
versioningInfo={versioningConfig}
11851187
locking={lockingEnabled}
11861188
/>
11871189
)}

0 commit comments

Comments
 (0)