From 8161d4bf97a98f8a6d78e844b7493e8c84c2846b Mon Sep 17 00:00:00 2001 From: Louis Chemineau Date: Wed, 15 Nov 2023 12:38:49 +0100 Subject: [PATCH] Do not load user config for each previews Signed-off-by: Louis Chemineau --- lib/components/FilePicker/FileList.vue | 3 ++- lib/components/FilePicker/FileListRow.vue | 4 +++- lib/components/FilePicker/FilePreview.vue | 3 +-- lib/composables/filesSettings.ts | 8 ++++---- 4 files changed, 10 insertions(+), 8 deletions(-) diff --git a/lib/components/FilePicker/FileList.vue b/lib/components/FilePicker/FileList.vue index 928ff9c50..2e18007fd 100644 --- a/lib/components/FilePicker/FileList.vue +++ b/lib/components/FilePicker/FileList.vue @@ -63,6 +63,7 @@ :can-pick="multiselect || selectedFiles.length === 0 || selectedFiles.includes(file)" :selected="selectedFiles.includes(file)" :node="file" + :cropImagePreviews="cropImagePreviews" @update:selected="onNodeSelected(file)" @enter-directory="onChangeDirectory" /> @@ -132,7 +133,7 @@ const toggleSorting = (sortBy: ISortingAttributes) => { } } -const { sortFavoritesFirst } = useFilesSettings() +const { sortFavoritesFirst, cropImagePreviews } = useFilesSettings() /** * Files sorted by columns diff --git a/lib/components/FilePicker/FileListRow.vue b/lib/components/FilePicker/FileListRow.vue index 9e53fc62c..d9855dc11 100644 --- a/lib/components/FilePicker/FileListRow.vue +++ b/lib/components/FilePicker/FileListRow.vue @@ -21,7 +21,7 @@
- +
@@ -55,6 +55,8 @@ const props = defineProps<{ canPick: boolean /** The current node */ node: Node + /** Whether the preview should be cropped */ + cropImagePreviews: Boolean }>() const emit = defineEmits<{ diff --git a/lib/components/FilePicker/FilePreview.vue b/lib/components/FilePicker/FilePreview.vue index 163849545..da495c855 100644 --- a/lib/components/FilePicker/FilePreview.vue +++ b/lib/components/FilePicker/FilePreview.vue @@ -13,7 +13,6 @@ import { FileType, type Node } from '@nextcloud/files' import { computed, ref, watch } from 'vue' import { getPreviewURL } from '../../composables/preview' -import { useFilesSettings } from '../../composables/filesSettings' import { t } from '../../utils/l10n' import IconFile from 'vue-material-design-icons/File.vue' @@ -26,9 +25,9 @@ const fileListIconStyles = ref(fileListIconStylesModule) const props = defineProps<{ node: Node + cropImagePreviews: Boolean }>() -const { cropImagePreviews } = useFilesSettings() const previewURL = computed(() => getPreviewURL(props.node, { cropPreview: cropImagePreviews.value })) const isFile = computed(() => props.node.type === FileType.File) diff --git a/lib/composables/filesSettings.ts b/lib/composables/filesSettings.ts index 278e4c756..dc9ea049e 100644 --- a/lib/composables/filesSettings.ts +++ b/lib/composables/filesSettings.ts @@ -60,10 +60,10 @@ export const useFilesSettings = () => { const cropImagePreviews = ref(filesUserState?.crop_image_previews ?? true) onMounted(() => { - axios.get(generateUrl('/apps/files/api/v1/configs')).then((respose) => { - showHiddenFiles.value = respose.data?.data?.show_hidden ?? false - sortFavoritesFirst.value = respose.data?.data?.sort_favorites_first ?? true - cropImagePreviews.value = respose.data?.data?.crop_image_previews ?? true + axios.get(generateUrl('/apps/files/api/v1/configs')).then((response) => { + showHiddenFiles.value = response.data?.data?.show_hidden ?? false + sortFavoritesFirst.value = response.data?.data?.sort_favorites_first ?? true + cropImagePreviews.value = response.data?.data?.crop_image_previews ?? true }) })