refact: unify js and css
This commit is contained in:
		| @@ -64,8 +64,6 @@ class CouncilPreparation { | ||||
|             // Setup advanced features | ||||
|             this.setupAdvancedFeatures(); | ||||
|              | ||||
|             console.log('✅ CouncilPreparation initialized successfully'); | ||||
|             console.log('🎯 Focus Manager ready:', !!this.focusManager); | ||||
|              | ||||
|         } catch (error) { | ||||
|             console.error('Erreur initialisation CouncilPreparation:', error); | ||||
| @@ -539,7 +537,6 @@ class AutoSaveManager { | ||||
|  | ||||
|     bindManualSaveButtons() { | ||||
|         // Boutons supprimés de l'interface - auto-sauvegarde uniquement | ||||
|         console.log('📝 Auto-sauvegarde activée - Pas de boutons manuels'); | ||||
|     } | ||||
|  | ||||
|     setupCharacterCounter(textarea, studentId) { | ||||
| @@ -883,7 +880,6 @@ class FocusManager { | ||||
|         // Utiliser la délégation d'événement pour gérer plusieurs boutons | ||||
|         document.addEventListener('click', (e) => { | ||||
|             if (e.target.matches('[data-toggle-focus-mode]') || e.target.closest('[data-toggle-focus-mode]')) { | ||||
|                 console.log('🎯 Bouton Mode Focus cliqué !'); | ||||
|                 e.preventDefault(); | ||||
|                 this.toggleFocusMode(); | ||||
|             } | ||||
| @@ -927,7 +923,6 @@ class FocusManager { | ||||
|     toggleFocusMode(forcedState = null) { | ||||
|         const newState = forcedState !== null ? forcedState : !this.parent.state.isFocusMode; | ||||
|          | ||||
|         console.log(`🔄 Basculement vers mode: ${newState ? 'FOCUS' : 'LISTE'}`); | ||||
|         this.parent.state.isFocusMode = newState; | ||||
|          | ||||
|         if (newState) { | ||||
| @@ -951,7 +946,6 @@ class FocusManager { | ||||
|         // Sauvegarder l'état | ||||
|         localStorage.setItem('council-focus-mode', 'true'); | ||||
|          | ||||
|         console.log('✨ Mode focus activé - Focus sur première appréciation'); | ||||
|     } | ||||
|  | ||||
|     exitFocusMode() { | ||||
| @@ -1100,14 +1094,12 @@ class FocusManager { | ||||
|     } | ||||
|  | ||||
|     bindFocusStudentEvents(clonedStudent, studentId) { | ||||
|         console.log(`🔧 Attachement des événements pour l'élève ${studentId} en mode focus`); | ||||
|          | ||||
|         // 1. Événements textarea avec synchronisation bidirectionnelle | ||||
|         const textarea = clonedStudent.querySelector(`[data-appreciation-textarea][data-student-id="${studentId}"]`); | ||||
|         if (textarea) { | ||||
|             // Handler de sauvegarde avec synchronisation | ||||
|             const saveHandler = this.parent.autoSaveManager.debounce(() => { | ||||
|                 console.log(`💾 Sauvegarde en focus pour élève ${studentId}`); | ||||
|                 this.saveFocusAppreciation(studentId, textarea.value); | ||||
|             }, this.parent.options.debounceTime); | ||||
|  | ||||
| @@ -1122,7 +1114,6 @@ class FocusManager { | ||||
|             // Événement blur avec sauvegarde immédiate | ||||
|             textarea.addEventListener('blur', () => { | ||||
|                 if (this.parent.state.modifiedAppreciations.has(studentId)) { | ||||
|                     console.log(`💾 Sauvegarde blur en focus pour élève ${studentId}`); | ||||
|                     this.saveFocusAppreciation(studentId, textarea.value, true); | ||||
|                 } | ||||
|             }); | ||||
| @@ -1132,14 +1123,12 @@ class FocusManager { | ||||
|         } | ||||
|  | ||||
|         // 2. Boutons supprimés - auto-sauvegarde uniquement | ||||
|         console.log(`🔧 Mode focus: Auto-sauvegarde configurée pour élève ${studentId}`); | ||||
|          | ||||
|         // 4. Gestion des barres de progression | ||||
|         this.setupProgressBars(clonedStudent); | ||||
|     } | ||||
|      | ||||
|     ensureAllSectionsVisible(clonedStudent) { | ||||
|         console.log('🔍 Vérification de la visibilité de toutes les sections en mode focus'); | ||||
|          | ||||
|         // S'assurer que les sections compétences/domaines sont visibles | ||||
|         const competenceSection = clonedStudent.querySelector('.competence-domain-section'); | ||||
| @@ -1147,7 +1136,6 @@ class FocusManager { | ||||
|             competenceSection.style.display = 'block'; | ||||
|             competenceSection.style.minHeight = '200px'; | ||||
|             competenceSection.style.flexShrink = '0'; | ||||
|             console.log('✅ Section compétences/domaines visible'); | ||||
|         } | ||||
|          | ||||
|         // S'assurer que les barres de progression sont configurées | ||||
| @@ -1157,20 +1145,17 @@ class FocusManager { | ||||
|         }); | ||||
|          | ||||
|         // Section info supprimée - maintenant intégrée dans la zone d'appréciation | ||||
|         console.log('✅ Informations intégrées dans la zone d\'appréciation'); | ||||
|          | ||||
|         // S'assurer que les résultats d'évaluation sont visibles | ||||
|         const evaluationResults = clonedStudent.querySelector('.evaluation-results'); | ||||
|         if (evaluationResults) { | ||||
|             evaluationResults.style.display = 'block'; | ||||
|             console.log('✅ Section résultats d\'évaluation visible'); | ||||
|         } | ||||
|          | ||||
|         // S'assurer que la section progress-bars est visible | ||||
|         const progressBarsSection = clonedStudent.querySelector('.progress-bars'); | ||||
|         if (progressBarsSection) { | ||||
|             progressBarsSection.style.display = 'block'; | ||||
|             console.log('✅ Section barres de progression visible'); | ||||
|         } | ||||
|     } | ||||
|      | ||||
| @@ -1568,7 +1553,6 @@ class FocusManager { | ||||
|         if (!originalStudent || !focusStudent) return; | ||||
|          | ||||
|         // Synchroniser les valeurs des barres si nécessaire | ||||
|         console.log(`🔄 Synchronisation des barres de progression pour l'élève ${studentId}`); | ||||
|     } | ||||
|  | ||||
|     async saveFocusAppreciation(studentId, appreciation, immediate = false) { | ||||
| @@ -1591,7 +1575,6 @@ class FocusManager { | ||||
|             const result = await response.json(); | ||||
|  | ||||
|             if (response.ok && result.success) { | ||||
|                 console.log(`✅ Sauvegarde réussie en focus pour élève ${studentId}`); | ||||
|                 this.showFocusSavedState(studentId); | ||||
|                 this.parent.state.modifiedAppreciations.delete(studentId); | ||||
|                  | ||||
| @@ -1696,7 +1679,6 @@ class FocusManager { | ||||
|         setTimeout(() => { | ||||
|             const textarea = clonedStudent.querySelector('[data-appreciation-textarea]'); | ||||
|             if (textarea) { | ||||
|                 console.log('🎯 Focus automatique sur le textarea d\'appréciation'); | ||||
|                 textarea.focus(); | ||||
|                  | ||||
|                 // Positionner le curseur à la fin du texte existant | ||||
| @@ -1738,7 +1720,6 @@ class FocusManager { | ||||
|         if (this.parent.state.focusCurrentIndex > 0) { | ||||
|             this.parent.state.focusCurrentIndex--; | ||||
|             this.showCurrentStudent(); | ||||
|             console.log('⬅️ Navigation vers élève précédent avec focus sur appréciation'); | ||||
|         } | ||||
|     } | ||||
|  | ||||
| @@ -1746,7 +1727,6 @@ class FocusManager { | ||||
|         if (this.parent.state.focusCurrentIndex < this.parent.state.filteredStudents.length - 1) { | ||||
|             this.parent.state.focusCurrentIndex++; | ||||
|             this.showCurrentStudent(); | ||||
|             console.log('➡️ Navigation vers élève suivant avec focus sur appréciation'); | ||||
|         } | ||||
|     } | ||||
|  | ||||
| @@ -1788,10 +1768,6 @@ class FocusManager { | ||||
|         // Debug des hauteurs | ||||
|         const containerHeight = focusContainer.offsetHeight; | ||||
|         const studentHeight = student.offsetHeight; | ||||
|         console.log(`🎯 Mode focus optimisé:`); | ||||
|         console.log(`   Container height: ${containerHeight}px`); | ||||
|         console.log(`   Student height: ${studentHeight}px`); | ||||
|         console.log(`   Window height: ${window.innerHeight}px`); | ||||
|     } | ||||
|  | ||||
|     preserveJsonDataBeforeCloning(originalStudent) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user