diff --git a/assets/js/modules/agenda-modal-select.js b/assets/js/modules/agenda-modal-select.js index cace592..3205303 100644 --- a/assets/js/modules/agenda-modal-select.js +++ b/assets/js/modules/agenda-modal-select.js @@ -309,6 +309,9 @@ function preselectValues(eventData) { const extendedProps = eventData.extendedProps || {}; + console.log('🔍 [PRESELECT] Données complètes de l\'événement:', eventData); + console.log('🔍 [PRESELECT] extendedProps:', extendedProps); + // Mapper les champs à présélectionner const fieldsToPreselect = { 'id_beneficiaire': extendedProps.id_beneficiaire, @@ -320,16 +323,52 @@ function preselectValues(eventData) { 'langue': extendedProps.langue }; + console.log('🔍 [PRESELECT] Champs à présélectionner:', fieldsToPreselect); + Object.entries(fieldsToPreselect).forEach(([fieldId, value]) => { if (value) { const element = document.getElementById(fieldId); + console.log(`🔍 [PRESELECT] Champ ${fieldId}:`, { + value, + elementExists: !!element, + isSelect: element?.tagName === 'SELECT', + hasSelect2: element && window.jQuery ? jQuery(element).hasClass('select2-hidden-accessible') : false + }); + if (element && element.tagName === 'SELECT') { - if (window.jQuery && jQuery(element).hasClass('select2-hidden-accessible')) { - jQuery(element).val(value).trigger('change.select2'); - } else { - element.value = value; + // Pour le champ langue, vérifier les options disponibles + if (fieldId === 'langue') { + const options = Array.from(element.options).map(opt => ({ + value: opt.value, + text: opt.text, + slug: opt.getAttribute('data-slug'), + disabled: opt.disabled, + hidden: opt.style.display === 'none' + })); + console.log(`🔍 [PRESELECT] Options disponibles pour langue:`, options); + + // Vérifier si l'option avec cette valeur existe + const optionExists = Array.from(element.options).some(opt => opt.value === value.toString()); + console.log(`🔍 [PRESELECT] L'option avec valeur "${value}" existe:`, optionExists); } + + if (window.jQuery && jQuery(element).hasClass('select2-hidden-accessible')) { + console.log(`🔍 [PRESELECT] Utilisation de Select2 pour ${fieldId}, valeur: ${value}`); + jQuery(element).val(value).trigger('change.select2'); + + // Vérifier si la valeur a bien été définie + const actualValue = jQuery(element).val(); + console.log(`🔍 [PRESELECT] Valeur après définition pour ${fieldId}:`, actualValue, 'attendue:', value); + } else { + console.log(`🔍 [PRESELECT] Utilisation de value standard pour ${fieldId}, valeur: ${value}`); + element.value = value; + console.log(`🔍 [PRESELECT] Valeur après définition pour ${fieldId}:`, element.value); + } + } else { + console.warn(`⚠️ [PRESELECT] Élément ${fieldId} non trouvé ou pas un SELECT`); } + } else { + console.log(`🔍 [PRESELECT] Pas de valeur pour ${fieldId}`); } }); }