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 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
|
||||
// Sinon (pas de permanence OU pas de langues_disponibles OU vide), afficher toutes les langues
|
||||
if (isPermanence && languesDisponibles && typeof languesDisponibles === 'string' && languesDisponibles.trim() !== '') {
|
||||
@ -306,9 +312,46 @@ function filterSelectOptions(data, currentEventData = null) {
|
||||
languesPermises.includes(langueSlugStr) ||
|
||||
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);
|
||||
|
||||
// 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 {
|
||||
// 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 || []);
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user