From f74e930d1cc6a6b50396192777e9cdd64e479cf7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20G=C3=B6bel?= <dgoebel@techfak.uni-bielefeld.de> Date: Thu, 13 Apr 2023 12:04:19 +0200 Subject: [PATCH] Display a new folder not as file #58 --- .../object-storage/modals/CreateFolderModal.vue | 2 +- .../form-mode/ParameterStringInput.vue | 4 +--- .../workflows/modals/ArbitraryWorkflowModal.vue | 2 +- src/stores/buckets.ts | 10 ++++++---- src/views/object-storage/S3KeyView.vue | 3 +++ 5 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/components/object-storage/modals/CreateFolderModal.vue b/src/components/object-storage/modals/CreateFolderModal.vue index 7b0400c..cff38a4 100644 --- a/src/components/object-storage/modals/CreateFolderModal.vue +++ b/src/components/object-storage/modals/CreateFolderModal.vue @@ -62,7 +62,7 @@ function uploadFolder() { uploadModal?.hide(); successToast?.show(); emit("folder-created", { - key: key, + key: realKey, bucket: props.bucketName, size: 0, last_modified: dayjs().toISOString(), diff --git a/src/components/parameter-schema/form-mode/ParameterStringInput.vue b/src/components/parameter-schema/form-mode/ParameterStringInput.vue index 1bd3299..d9a59f8 100644 --- a/src/components/parameter-schema/form-mode/ParameterStringInput.vue +++ b/src/components/parameter-schema/form-mode/ParameterStringInput.vue @@ -72,9 +72,7 @@ const stringInput = ref<HTMLInputElement | undefined>(undefined); const format = computed<string | undefined>(() => props.parameter["format"]); const filesInBucket = computed<string[]>(() => - keysInBucket.value.filter( - (obj) => !obj.endsWith("/") && !obj.endsWith(".s3keep") - ) + keysInBucket.value.filter((obj) => !obj.endsWith("/")) ); const foldersInBucket = computed<string[]>(() => diff --git a/src/components/workflows/modals/ArbitraryWorkflowModal.vue b/src/components/workflows/modals/ArbitraryWorkflowModal.vue index 7280c07..ef89670 100644 --- a/src/components/workflows/modals/ArbitraryWorkflowModal.vue +++ b/src/components/workflows/modals/ArbitraryWorkflowModal.vue @@ -210,7 +210,7 @@ onMounted(() => { role="status" aria-hidden="true" ></span> - Save + View </button> </template> </bootstrap-modal> diff --git a/src/stores/buckets.ts b/src/stores/buckets.ts index ec2f3b3..a884d9f 100644 --- a/src/stores/buckets.ts +++ b/src/stores/buckets.ts @@ -20,16 +20,18 @@ export const useBucketStore = defineStore({ buckets: [], ownPermissions: {}, _lastFetchBucketPromise: undefined, - _bla: 0, + _lastFetchBucketPromiseTimestamp: 0, } as { buckets: BucketOut[]; ownPermissions: Record<string, BucketPermissionOut>; _lastFetchBucketPromise?: CancelablePromise<never>; - _bla: number; + _lastFetchBucketPromiseTimestamp: number; }), getters: { ownBucketsAndFullPermissions(): string[] { + const authStore = useAuthStore(); const names = this.buckets + .filter((bucket) => bucket.owner === authStore.currentUID) .map((bucket) => bucket.name) .concat( Object.values(this.ownPermissions) @@ -153,8 +155,8 @@ export const useBucketStore = defineStore({ * then no API call will be made and the last one reused */ const currentTime = new Date().getTime(); - if (currentTime - this._bla > 5000) { - this._bla = currentTime; + if (currentTime - this._lastFetchBucketPromiseTimestamp > 5000) { + this._lastFetchBucketPromiseTimestamp = currentTime; const authStore = useAuthStore(); if (this.buckets.length > 0) { onFinally?.(); diff --git a/src/views/object-storage/S3KeyView.vue b/src/views/object-storage/S3KeyView.vue index accd651..ed77ed0 100644 --- a/src/views/object-storage/S3KeyView.vue +++ b/src/views/object-storage/S3KeyView.vue @@ -3,6 +3,7 @@ import type { S3Key } from "@/client/s3proxy"; import { ref, watch } from "vue"; import FontAwesomeIcon from "@/components/FontAwesomeIcon.vue"; import DeleteModal from "@/components/modals/DeleteModal.vue"; +import { environment } from "../../environment"; const props = defineProps<{ s3key: S3Key; @@ -37,6 +38,8 @@ function deleteKeyTrigger() { :back-modal-id="undefined" @confirm-delete="deleteKeyTrigger" /> + <h3>S3 Endpoint:</h3> + <div class="fs-4 mb-4">{{ environment.S3_URL }}</div> <h3>Access Key:</h3> <div v-if="props.loading" class="placeholder-glow"> <span class="placeholder col-5 mt-3 mb-2 fs-4"></span><br /> -- GitLab