From 511da549091847465d56bc4b30ad0af67003e2c2 Mon Sep 17 00:00:00 2001 From: James Collins Date: Fri, 25 Aug 2023 20:08:09 +1000 Subject: [PATCH] dont force refresh alll files --- .../js/components/dialogs/SMDialogMedia.vue | 22 +++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/resources/js/components/dialogs/SMDialogMedia.vue b/resources/js/components/dialogs/SMDialogMedia.vue index 5559455..c52bc30 100644 --- a/resources/js/components/dialogs/SMDialogMedia.vue +++ b/resources/js/components/dialogs/SMDialogMedia.vue @@ -143,7 +143,9 @@ backgroundImage: `url('${mediaGetThumbnail( item, null, - true, + itemRequiresRefresh( + item.id, + ), )}')`, backgroundColor: item.status === 'OK' @@ -245,7 +247,9 @@ mediaGetThumbnail( lastSelected, null, - true, + itemRequiresRefresh( + lastSelected.id, + ), ) " class="max-h-20 max-w-20 mr-2" /> @@ -564,6 +568,8 @@ const refMediaList = ref(null); const userStore = useUserStore(); +const forceRefresh = []; + const allowUploads = ref(props.allowUpload && userStore.id); const formLoading = ref(false); const form: FormObject = reactive( @@ -941,6 +947,7 @@ const updateFiles = async () => { updateResult.data as MediaResponse; if (updateData.medium.status == "OK") { mediaItems.value[index] = updateData.medium; + forceRefresh.push(updateData.medium.id); if ( lastSelected.value && lastSelected.value.id == @@ -1394,6 +1401,17 @@ const loadInitial = () => { } }; +const itemRequiresRefresh = (id) => { + const index = forceRefresh.indexOf(id); + + if (index !== -1) { + forceRefresh.splice(index, 1); // Remove the item at the found index + return true; + } + + return false; +}; + // Get max upload size api.get({ url: "",