This commit is contained in:
Jean-Philippe Staelen 2026-01-20 15:37:15 +01:00
parent b18f5a874b
commit af6953bcb8

View File

@ -309,9 +309,6 @@ function preselectValues(eventData) {
const extendedProps = eventData.extendedProps || {}; 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 // Mapper les champs à présélectionner
const fieldsToPreselect = { const fieldsToPreselect = {
'id_beneficiaire': extendedProps.id_beneficiaire, 'id_beneficiaire': extendedProps.id_beneficiaire,
@ -323,57 +320,19 @@ function preselectValues(eventData) {
'langue': extendedProps.langue 'langue': extendedProps.langue
}; };
console.log('🔍 [PRESELECT] Champs à présélectionner:', fieldsToPreselect);
Object.entries(fieldsToPreselect).forEach(([fieldId, value]) => { Object.entries(fieldsToPreselect).forEach(([fieldId, value]) => {
if (value) { if (!value) return;
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') { const element = document.getElementById(fieldId);
// Pour le champ langue, vérifier les options disponibles if (!element || element.tagName !== 'SELECT') return;
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 // Si Select2 est actif
const optionExists = Array.from(element.options).some(opt => opt.value === value.toString()); if (window.jQuery && jQuery(element).hasClass('select2-hidden-accessible')) {
console.log(`🔍 [PRESELECT] L'option avec valeur "${value}" existe:`, optionExists); // Définir la valeur et déclencher l'événement change.select2
} jQuery(element).val(value).trigger('change.select2');
// 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`);
}
} else { } else {
console.log(`🔍 [PRESELECT] Pas de valeur pour ${fieldId}`); // Select natif
element.value = value;
} }
}); });
} }