test
This commit is contained in:
parent
d6dad2a7a9
commit
c95ec9d09a
@ -292,6 +292,12 @@ function filterSelectOptions(data, currentEventData = null) {
|
|||||||
const isPermanence = extendedProps.type === 'permanence';
|
const isPermanence = extendedProps.type === 'permanence';
|
||||||
const languesDisponibles = extendedProps.langues_disponibles;
|
const languesDisponibles = extendedProps.langues_disponibles;
|
||||||
|
|
||||||
|
console.log('🌐 [LANGUE] Filtrage des langues', {
|
||||||
|
isPermanence,
|
||||||
|
languesDisponibles,
|
||||||
|
totalLangues: (data.langues || []).length
|
||||||
|
});
|
||||||
|
|
||||||
// Si c'est une permanence ET qu'il y a des langues_disponibles non vides, filtrer
|
// Si c'est une permanence ET qu'il y a des langues_disponibles non vides, filtrer
|
||||||
// Sinon (pas de permanence OU pas de langues_disponibles OU vide), afficher toutes les langues
|
// Sinon (pas de permanence OU pas de langues_disponibles OU vide), afficher toutes les langues
|
||||||
if (isPermanence && languesDisponibles && typeof languesDisponibles === 'string' && languesDisponibles.trim() !== '') {
|
if (isPermanence && languesDisponibles && typeof languesDisponibles === 'string' && languesDisponibles.trim() !== '') {
|
||||||
@ -306,9 +312,46 @@ function filterSelectOptions(data, currentEventData = null) {
|
|||||||
languesPermises.includes(langueSlugStr) ||
|
languesPermises.includes(langueSlugStr) ||
|
||||||
languesPermises.includes(langueStr);
|
languesPermises.includes(langueStr);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Calculer les langues cachées
|
||||||
|
const languesCachees = (data.langues || []).filter(langue => {
|
||||||
|
const langueIdStr = langue.id != null ? langue.id.toString() : null;
|
||||||
|
const langueSlugStr = langue.slug != null ? langue.slug.toString() : null;
|
||||||
|
const langueStr = typeof langue === 'string' ? langue : null;
|
||||||
|
|
||||||
|
return !(languesPermises.includes(langueIdStr) ||
|
||||||
|
languesPermises.includes(langueSlugStr) ||
|
||||||
|
languesPermises.includes(langueStr));
|
||||||
|
});
|
||||||
|
|
||||||
|
console.log('✅ [LANGUE] Langues disponibles (affichées):', languesFiltrees.map(l => ({ id: l.id, nom: l.nom, slug: l.slug })));
|
||||||
|
console.log('❌ [LANGUE] Langues cachées:', languesCachees.map(l => ({ id: l.id, nom: l.nom, slug: l.slug })));
|
||||||
|
console.log('📋 [LANGUE] Langues permises (slugs):', languesPermises);
|
||||||
|
|
||||||
filterSelect('langue', languesFiltrees);
|
filterSelect('langue', languesFiltrees);
|
||||||
|
|
||||||
|
// Rafraîchir Select2 pour le select langue après filtrage
|
||||||
|
const langueSelect = document.getElementById('langue');
|
||||||
|
if (langueSelect && window.jQuery && jQuery(langueSelect).hasClass('select2-hidden-accessible')) {
|
||||||
|
const $select = jQuery(langueSelect);
|
||||||
|
// Forcer la mise à jour de Select2 pour refléter les options filtrées
|
||||||
|
setTimeout(() => {
|
||||||
|
// Rafraîchir Select2 en déclenchant un événement qui force la mise à jour
|
||||||
|
$select.trigger('change.select2');
|
||||||
|
// Si Select2 est ouvert, forcer la fermeture/ouverture pour rafraîchir
|
||||||
|
if ($select.data('select2')) {
|
||||||
|
const select2Instance = $select.data('select2');
|
||||||
|
// Forcer la mise à jour de la liste déroulante
|
||||||
|
if (select2Instance.isOpen()) {
|
||||||
|
$select.select2('close');
|
||||||
|
setTimeout(() => $select.select2('open'), 10);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, 100);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
// Afficher toutes les langues (pas de permanence OU pas de langues_disponibles OU vide)
|
// Afficher toutes les langues (pas de permanence OU pas de langues_disponibles OU vide)
|
||||||
|
console.log('🌍 [LANGUE] Affichage de toutes les langues (pas de filtrage)');
|
||||||
filterSelect('langue', data.langues || []);
|
filterSelect('langue', data.langues || []);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user