diff options
author | Ferdinand Thiessen <opensource@fthiessen.de> | 2024-06-13 15:06:12 +0200 |
---|---|---|
committer | Ferdinand Thiessen <opensource@fthiessen.de> | 2024-06-24 12:52:11 +0200 |
commit | d4352fe2ffdafca2e662ddc7f9e7ec8b7eb3bb4a (patch) | |
tree | d7d9dbd80f07a8aecd2c3e278c563f48d7b89e7d /apps | |
parent | c76c954f56e085dada9a7e9553408d499993ba79 (diff) | |
download | nextcloud-server-d4352fe2ffdafca2e662ddc7f9e7ec8b7eb3bb4a.tar.gz nextcloud-server-d4352fe2ffdafca2e662ddc7f9e7ec8b7eb3bb4a.zip |
fix(files): Properly handle files in failed state
When files are loaded from API the `fileid` might be set to `-1` indicating
an error on the API.
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
Diffstat (limited to 'apps')
-rw-r--r-- | apps/files/src/components/FileEntry.vue | 2 | ||||
-rw-r--r-- | apps/files/src/components/FileEntry/FileEntryActions.vue | 3 | ||||
-rw-r--r-- | apps/files/src/components/FileEntry/FileEntryName.vue | 2 | ||||
-rw-r--r-- | apps/files/src/components/FileEntryGrid.vue | 2 | ||||
-rw-r--r-- | apps/files/src/components/FileEntryMixin.ts | 7 |
5 files changed, 12 insertions, 4 deletions
diff --git a/apps/files/src/components/FileEntry.vue b/apps/files/src/components/FileEntry.vue index 847decd4378..02ddb47f93e 100644 --- a/apps/files/src/components/FileEntry.vue +++ b/apps/files/src/components/FileEntry.vue @@ -16,7 +16,7 @@ class="files-list__row" v-on="rowListeners"> <!-- Failed indicator --> - <span v-if="source.attributes.failed" class="files-list__row--failed" /> + <span v-if="isFailedSource" class="files-list__row--failed" /> <!-- Checkbox --> <FileEntryCheckbox :fileid="fileid" diff --git a/apps/files/src/components/FileEntry/FileEntryActions.vue b/apps/files/src/components/FileEntry/FileEntryActions.vue index 24b26bd225e..d0306e5e848 100644 --- a/apps/files/src/components/FileEntry/FileEntryActions.vue +++ b/apps/files/src/components/FileEntry/FileEntryActions.vue @@ -93,6 +93,7 @@ import ArrowLeftIcon from 'vue-material-design-icons/ArrowLeft.vue' import { useNavigation } from '../../composables/useNavigation' import CustomElementRender from '../CustomElementRender.vue' + import logger from '../../logger.js' // The registered actions list @@ -160,7 +161,7 @@ export default defineComponent({ // Sorted actions that are enabled for this node enabledActions() { - if (this.source.attributes.failed) { + if (this.source.status === NodeStatus.FAILED) { return [] } diff --git a/apps/files/src/components/FileEntry/FileEntryName.vue b/apps/files/src/components/FileEntry/FileEntryName.vue index 5e9036ad63d..4e5a3571e74 100644 --- a/apps/files/src/components/FileEntry/FileEntryName.vue +++ b/apps/files/src/components/FileEntry/FileEntryName.vue @@ -126,7 +126,7 @@ export default defineComponent({ }, linkTo() { - if (this.source.attributes.failed) { + if (this.source.status === NodeStatus.FAILED) { return { is: 'span', params: { diff --git a/apps/files/src/components/FileEntryGrid.vue b/apps/files/src/components/FileEntryGrid.vue index 31df827eea2..1ec4f173a0e 100644 --- a/apps/files/src/components/FileEntryGrid.vue +++ b/apps/files/src/components/FileEntryGrid.vue @@ -17,7 +17,7 @@ @dragend="onDragEnd" @drop="onDrop"> <!-- Failed indicator --> - <span v-if="source.attributes.failed" class="files-list__row--failed" /> + <span v-if="isFailedSource" class="files-list__row--failed" /> <!-- Checkbox --> <FileEntryCheckbox :fileid="fileid" diff --git a/apps/files/src/components/FileEntryMixin.ts b/apps/files/src/components/FileEntryMixin.ts index b9cc0398ef5..407df14fa7c 100644 --- a/apps/files/src/components/FileEntryMixin.ts +++ b/apps/files/src/components/FileEntryMixin.ts @@ -102,6 +102,13 @@ export default defineComponent({ return String(this.fileid) === String(this.currentFileId) }, + /** + * Check if the source is in a failed state after an API request + */ + isFailedSource() { + return this.source.status === NodeStatus.FAILED + }, + canDrag() { if (this.isRenaming) { return false |