From f15fdb8e1826a95d9a6ff5da1212c71b83b5132d Mon Sep 17 00:00:00 2001 From: Paul Valerie GOMA Date: Sun, 27 Jul 2025 00:27:20 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20fix:=20bugs=20fixed?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/file/VFileUpload.vue | 43 +++++++++++++++++------------ 1 file changed, 25 insertions(+), 18 deletions(-) diff --git a/src/components/file/VFileUpload.vue b/src/components/file/VFileUpload.vue index cf6cfbf..e48b3f2 100644 --- a/src/components/file/VFileUpload.vue +++ b/src/components/file/VFileUpload.vue @@ -7,6 +7,7 @@ import VButtonGroup from '../button/VButtonGroup.vue'; import VFile from './VFile.vue'; import VMessage from '../message/VMessage.vue'; import VScrollpanel from '../scrollpanel/VScrollpanel.vue'; +import VLabelErrorProxy from './VLabelErrorProxy.vue'; import type IVFileUpload from './IVFileUpload.type'; import type { FileUploadErrorEvent, FileUploadProgressEvent, FileUploadRemoveEvent, FileUploadSelectEvent, FileUploadUploadEvent } from 'primevue/fileupload'; import { computed, useId, ref } from 'vue'; @@ -26,7 +27,7 @@ const props = withDefaults(defineProps(), { validMessage: '', hint: '', disabled: false, - invalidFileSizeMessage: 'Taille de fichier invalide, la taille du fichier doit être plus petite que {1.}', + invalidFileSizeMessage: 'Taille de fichier {0} invalide, la taille du fichier doit être plus petite que {1}', invalidFileLimitMessage: 'Nombre maximal des fichiers atteint, le nombre maximal est {0.}', invalidFileTypeMessage: 'Type de fichier invalide, le type de fichier {0} n\'est pas pris en charge', accept: undefined, @@ -95,6 +96,9 @@ const handleProgress = (event: FileUploadProgressEvent) => { const handleError = (event: FileUploadErrorEvent) => { emit('error', event); hasActiveError.value = true; + if (!props.advanced && fileUploadRef.value) { + fileUploadRef.value.uploadedFiles = []; + } } const lastSelectedFile = computed(() => { @@ -102,7 +106,6 @@ const lastSelectedFile = computed(() => { return files.at(-1) ?? null; }); - const uploadEvent = (callback: () => void) => { callback(); }; @@ -110,11 +113,9 @@ const uploadEvent = (callback: () => void) => { const padding = computed(() => props.advanced ? '1.125rem' : '0rem') const borderColor = computed(() => props.advanced ? 'var(--border-default-grey)' : 'transparent'); -const error = computed(() => hasActiveError.value); - const labelState = computed(() => { - if(!error.value && !props.disabled) return 'default'; - else if(error.value && !props.disabled) return 'error'; + if(!hasActiveError.value && !props.disabled) return 'default'; + else if(hasActiveError.value && !props.disabled) return 'error'; else return undefined }) @@ -221,21 +222,21 @@ const globalStatusMessage = computed<{ title="parcourir les fichiers" /> Aucun fichier sélectionné -