correction et simplification
This commit is contained in:
parent
c647a5082c
commit
d6dad2a7a9
@ -31,12 +31,6 @@ export function fillFormWithDate(data) {
|
|||||||
|
|
||||||
const heureFin = data?.endStr?.split('T')[1]?.substring(0, 5) || '09:15';
|
const heureFin = data?.endStr?.split('T')[1]?.substring(0, 5) || '09:15';
|
||||||
safeSetValue('heure_fin', heureFin);
|
safeSetValue('heure_fin', heureFin);
|
||||||
|
|
||||||
// S'assurer que le champ langue est visible par défaut (pour création)
|
|
||||||
const langueContainer = document.getElementById('langue-container');
|
|
||||||
if (langueContainer) {
|
|
||||||
langueContainer.style.display = '';
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -125,11 +119,6 @@ export function fillFormWithEvent(event, filterTraducteursByLangue = null) {
|
|||||||
|
|
||||||
// Gérer les champs conditionnels selon le type
|
// Gérer les champs conditionnels selon le type
|
||||||
const type = extendedProps.type || event.type || '';
|
const type = extendedProps.type || event.type || '';
|
||||||
// S'assurer que le champ langue est visible par défaut avant d'appeler handleTypeConditionalFields
|
|
||||||
const langueContainer = document.getElementById('langue-container');
|
|
||||||
if (langueContainer && type !== 'permanence') {
|
|
||||||
langueContainer.style.display = '';
|
|
||||||
}
|
|
||||||
handleTypeConditionalFields(type, event, extendedProps);
|
handleTypeConditionalFields(type, event, extendedProps);
|
||||||
|
|
||||||
// Charger le statut liste rouge si bénéficiaire sélectionné
|
// Charger le statut liste rouge si bénéficiaire sélectionné
|
||||||
@ -226,30 +215,7 @@ function handleTraducteurExistingCheckbox(traducteurId) {
|
|||||||
* @param {Object} extendedProps - Propriétés étendues
|
* @param {Object} extendedProps - Propriétés étendues
|
||||||
*/
|
*/
|
||||||
function handleTypeConditionalFields(type, event, extendedProps) {
|
function handleTypeConditionalFields(type, event, extendedProps) {
|
||||||
// Gérer le champ langue selon le type (AVANT le return pour ne pas être bloqué)
|
// Gérer les champs conditionnels
|
||||||
const langueContainer = document.getElementById('langue-container');
|
|
||||||
const langueField = document.getElementById('langue');
|
|
||||||
|
|
||||||
// Par défaut, afficher le champ langue (sauf pour les permanences)
|
|
||||||
if (type === 'permanence') {
|
|
||||||
// Cacher le champ langue pour les permanences (les langues sont dans langues_disponibles)
|
|
||||||
if (langueContainer) {
|
|
||||||
langueContainer.style.display = 'none';
|
|
||||||
}
|
|
||||||
if (langueField) {
|
|
||||||
langueField.removeAttribute('required');
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
// Afficher le champ langue pour les autres types (individuel, groupe) ou si type non défini
|
|
||||||
if (langueContainer) {
|
|
||||||
langueContainer.style.display = '';
|
|
||||||
}
|
|
||||||
if (langueField) {
|
|
||||||
langueField.setAttribute('required', 'required');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Gérer les autres champs conditionnels
|
|
||||||
const groupeFields = document.getElementById('groupeFields');
|
const groupeFields = document.getElementById('groupeFields');
|
||||||
const nbParticipantsField = document.getElementById('nb_participants');
|
const nbParticipantsField = document.getElementById('nb_participants');
|
||||||
const beneficiaireContainer = document.getElementById('id_beneficiaire')?.closest('.col-md-6');
|
const beneficiaireContainer = document.getElementById('id_beneficiaire')?.closest('.col-md-6');
|
||||||
@ -299,16 +265,11 @@ export function resetForm() {
|
|||||||
const nbParticipantsField = document.getElementById('nb_participants');
|
const nbParticipantsField = document.getElementById('nb_participants');
|
||||||
const beneficiaireContainer = document.getElementById('id_beneficiaire')?.closest('.col-md-6');
|
const beneficiaireContainer = document.getElementById('id_beneficiaire')?.closest('.col-md-6');
|
||||||
const beneficiaireField = document.getElementById('id_beneficiaire');
|
const beneficiaireField = document.getElementById('id_beneficiaire');
|
||||||
const langueContainer = document.getElementById('langue-container');
|
|
||||||
const langueField = document.getElementById('langue');
|
|
||||||
|
|
||||||
if (groupeFields) groupeFields.style.display = 'none';
|
if (groupeFields) groupeFields.style.display = 'none';
|
||||||
if (nbParticipantsField) nbParticipantsField.required = false;
|
if (nbParticipantsField) nbParticipantsField.required = false;
|
||||||
if (beneficiaireContainer) beneficiaireContainer.style.display = '';
|
if (beneficiaireContainer) beneficiaireContainer.style.display = '';
|
||||||
if (beneficiaireField) beneficiaireField.required = true;
|
if (beneficiaireField) beneficiaireField.required = true;
|
||||||
// Réafficher le champ langue (masqué pour les permanences)
|
|
||||||
if (langueContainer) langueContainer.style.display = '';
|
|
||||||
if (langueField) langueField.setAttribute('required', 'required');
|
|
||||||
|
|
||||||
// Réinitialiser le bloc traducteur
|
// Réinitialiser le bloc traducteur
|
||||||
const tradContainer = document.getElementById('traducteur-select-container');
|
const tradContainer = document.getElementById('traducteur-select-container');
|
||||||
|
|||||||
@ -292,7 +292,9 @@ 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;
|
||||||
|
|
||||||
if (isPermanence && languesDisponibles && languesDisponibles.trim() !== '') {
|
// 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() !== '') {
|
||||||
const languesPermises = languesDisponibles.split(',').map(l => l.trim()).filter(l => l !== '');
|
const languesPermises = languesDisponibles.split(',').map(l => l.trim()).filter(l => l !== '');
|
||||||
const languesFiltrees = (data.langues || []).filter(langue => {
|
const languesFiltrees = (data.langues || []).filter(langue => {
|
||||||
// Convertir en string pour comparaison (éviter problème string vs number)
|
// Convertir en string pour comparaison (éviter problème string vs number)
|
||||||
@ -306,6 +308,7 @@ function filterSelectOptions(data, currentEventData = null) {
|
|||||||
});
|
});
|
||||||
filterSelect('langue', languesFiltrees);
|
filterSelect('langue', languesFiltrees);
|
||||||
} else {
|
} else {
|
||||||
|
// Afficher toutes les langues (pas de permanence OU pas de langues_disponibles OU vide)
|
||||||
filterSelect('langue', data.langues || []);
|
filterSelect('langue', data.langues || []);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -284,12 +284,6 @@ export function openModal(mode, eventData = null) {
|
|||||||
initializeLangueFilter();
|
initializeLangueFilter();
|
||||||
initializeBeneficiaireListeRougeAlert();
|
initializeBeneficiaireListeRougeAlert();
|
||||||
|
|
||||||
// S'assurer que le champ langue est visible par défaut (sauf pour les permanences)
|
|
||||||
const langueContainer = document.getElementById('langue-container');
|
|
||||||
if (langueContainer && (!eventData || (eventData.extendedProps?.type !== 'permanence' && eventData.type !== 'permanence'))) {
|
|
||||||
langueContainer.style.display = '';
|
|
||||||
}
|
|
||||||
|
|
||||||
// Initialiser les boutons (une seule fois)
|
// Initialiser les boutons (une seule fois)
|
||||||
initializeModalButtons({
|
initializeModalButtons({
|
||||||
getCurrentEventData: () => currentEventData,
|
getCurrentEventData: () => currentEventData,
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user