diff --git a/assets/js/modules/agenda-modal-select.js b/assets/js/modules/agenda-modal-select.js index 6ae312b..2557b75 100644 --- a/assets/js/modules/agenda-modal-select.js +++ b/assets/js/modules/agenda-modal-select.js @@ -309,9 +309,6 @@ 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, @@ -323,57 +320,19 @@ 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') { - // 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); - } - - // Définir d'abord la valeur sur le select natif - element.value = value; - console.log(`🔍 [PRESELECT] Valeur définie sur select natif ${fieldId}:`, element.value); - - // Si Select2 est actif, le notifier du changement - if (window.jQuery && jQuery(element).hasClass('select2-hidden-accessible')) { - console.log(`🔍 [PRESELECT] Notification Select2 pour ${fieldId}`); - jQuery(element).trigger('change'); - - // Vérifier si la valeur a bien été définie - const actualValue = jQuery(element).val(); - console.log(`🔍 [PRESELECT] Valeur Select2 pour ${fieldId}:`, actualValue, 'attendue:', value); - - if (actualValue !== value && actualValue !== value.toString()) { - console.warn(`⚠️ [PRESELECT] La valeur n'a pas été correctement définie pour ${fieldId}!`); - } - } - } else { - console.warn(`⚠️ [PRESELECT] Élément ${fieldId} non trouvé ou pas un SELECT`); - } + if (!value) return; + + const element = document.getElementById(fieldId); + if (!element || element.tagName !== 'SELECT') return; + + // Si Select2 est actif + if (window.jQuery && jQuery(element).hasClass('select2-hidden-accessible')) { + // Définir la valeur et déclencher l'événement change.select2 + jQuery(element).val(value).trigger('change.select2'); } else { - console.log(`🔍 [PRESELECT] Pas de valeur pour ${fieldId}`); + // Select natif + element.value = value; } }); }