From 0d0e8cc8cf0c1b7e65ed924685def4fff6af00e2 Mon Sep 17 00:00:00 2001 From: Vitalii Date: Mon, 26 Jun 2023 14:34:48 +0300 Subject: [PATCH] web/satellite: fix for too many objects banner in object browser Fixed 'Too may objects' objects banner being displayed in a wrong place. I made it simpler and more correct because it's impossible to know the exact count of objects for each path/prefix because s3 client can list only 1000 objects (for now) and our API at the same time calculates object count for the whole bucket (not for particular passphrase). Added message that user can list all objects using Uplink CLI. Also removed unused legacy css file. Issue: https://github.com/storj/storj/issues/5955 Change-Id: I4b3cff47763ebdb631119b690de876ecf6a22e9d --- .../src/components/browser/FileBrowser.vue | 29 +- .../components/browser/FileBrowserHeader.vue | 1 - .../browser/MultiplePassphrasesBanner.vue | 57 +- .../browser/TooManyObjectsBanner.vue | 79 + .../components/browser/scoped-bootstrap.css | 11080 ---------------- 5 files changed, 111 insertions(+), 11135 deletions(-) create mode 100644 web/satellite/src/components/browser/TooManyObjectsBanner.vue delete mode 100644 web/satellite/src/components/browser/scoped-bootstrap.css diff --git a/web/satellite/src/components/browser/FileBrowser.vue b/web/satellite/src/components/browser/FileBrowser.vue index 0f4aa9e8b..54490045c 100644 --- a/web/satellite/src/components/browser/FileBrowser.vue +++ b/web/satellite/src/components/browser/FileBrowser.vue @@ -93,8 +93,14 @@
+ + @@ -220,6 +226,7 @@ import VButton from '@/components/common/VButton.vue'; import BucketSettingsNav from '@/components/objects/BucketSettingsNav.vue'; import VTable from '@/components/common/VTable.vue'; import MultiplePassphraseBanner from '@/components/browser/MultiplePassphrasesBanner.vue'; +import TooManyObjectsBanner from '@/components/browser/TooManyObjectsBanner.vue'; import UpEntry from '@/components/browser/UpEntry.vue'; import Dropzone from '@/components/browser/Dropzone.vue'; @@ -241,7 +248,8 @@ const fileInput = ref(); const fetchingFilesSpinner = ref(false); const isUploadDropDownShown = ref(false); -const isBannerShown = ref(true); +const isLockedBanner = ref(true); +const isTooManyObjectsBanner = ref(true); const isOver = ref(false); /** * Retrieve the pathMatch from the current route. @@ -289,7 +297,7 @@ const currentPath = computed((): string => { /** * Return locked files number. */ -const lockedFilesNumber = computed((): number => { +const lockedFilesCount = computed((): number => { const ownObjectsCount = obStore.state.objectsCount; return objectsCount.value - ownObjectsCount; @@ -309,7 +317,7 @@ const objectsCount = computed((): number => { * Indicates if locked files entry is displayed. */ const lockedFilesEntryDisplayed = computed((): boolean => { - return lockedFilesNumber.value > 0 && + return lockedFilesCount.value > 0 && objectsCount.value <= NUMBER_OF_DISPLAYED_OBJECTS && !fetchingFilesSpinner.value && !currentPath.value; @@ -392,8 +400,15 @@ const bucket = computed((): string => { /** * Closes multiple passphrase banner. */ -function closeBanner(): void { - isBannerShown.value = false; +function closeLockedBanner(): void { + isLockedBanner.value = false; +} + +/** + * Closes too many objects banner. + */ +function closeTooManyObjectsBanner(): void { + isTooManyObjectsBanner.value = false; } function calculateRoutePath(): string { diff --git a/web/satellite/src/components/browser/FileBrowserHeader.vue b/web/satellite/src/components/browser/FileBrowserHeader.vue index 1873afe60..445d6725a 100644 --- a/web/satellite/src/components/browser/FileBrowserHeader.vue +++ b/web/satellite/src/components/browser/FileBrowserHeader.vue @@ -283,5 +283,4 @@ function cancelDeleteSelection(): void { } } } - diff --git a/web/satellite/src/components/browser/MultiplePassphrasesBanner.vue b/web/satellite/src/components/browser/MultiplePassphrasesBanner.vue index 1acb56f87..1c2c6b053 100644 --- a/web/satellite/src/components/browser/MultiplePassphrasesBanner.vue +++ b/web/satellite/src/components/browser/MultiplePassphrasesBanner.vue @@ -6,23 +6,15 @@