diff --git a/src/components/BucketView.vue b/src/components/BucketView.vue index c78336cc9de519870a0ad2817abf09e2598404c6..b8277653799957b4d236e32cf680e7241b3c0c0d 100644 --- a/src/components/BucketView.vue +++ b/src/components/BucketView.vue @@ -222,6 +222,10 @@ const errorLoadingObjects: ComputedRef<boolean> = computed( () => objectState.bucketPermissionError || objectState.bucketNotFoundError ); +const writeS3Permission: ComputedRef<boolean> = computed( + () => props.permission == undefined || props.permission.permission == "READWRITE" +); + // Lifecycle Hooks // ----------------------------------------------------------------------------- onMounted(() => { @@ -466,7 +470,7 @@ watch( <button type="button" class="btn btn-secondary me-2 tooltip-container" - :disabled="errorLoadingObjects" + :disabled="errorLoadingObjects || !writeS3Permission" data-bs-toggle="modal" data-bs-title="Upload Object" data-bs-target="#upload-object-modal" @@ -486,7 +490,7 @@ watch( <button type="button" class="btn btn-secondary m-2 tooltip-container" - :disabled="errorLoadingObjects" + :disabled="errorLoadingObjects || !writeS3Permission" data-bs-toggle="modal" data-bs-title="Create Folder" data-bs-target="#create-folder-modal" @@ -666,16 +670,17 @@ watch( <button class="dropdown-item" type="button">Details</button> </li> <li> - <button class="dropdown-item" type="button">Edit</button> + <button class="dropdown-item" type="button" :disabled="!writeS3Permission">Edit</button> </li> <li> - <button class="dropdown-item" type="button">Copy</button> + <button class="dropdown-item" type="button" :disabled="!writeS3Permission">Copy</button> </li> <li> <button class="dropdown-item text-danger align-middle" type="button" @click="deleteObject(obj.key)" + :disabled="!writeS3Permission" > <bootstrap-icon icon="trash-fill" @@ -694,6 +699,7 @@ watch( <button type="button" class="btn btn-danger btn-sm align-middle" + :disabled="!writeS3Permission" @click=" deleteFolder( obj.parentFolder.join('/') + '/' + obj.name + '/'