import { Controller } from '@hotwired/stimulus';
/*
 * Contrôleur Stimulus pour la gestion d’onglets.
 * Affiche le bloc correspondant à l’onglet cliqué et masque les autres.
 * 
 * Les TABS sont présentées par une div avec une liste
 * 
 *    
 *      ---- CONTENU TAB 1 ----
 *    
 *    
 *      ---- CONTENU TAB 2 ----
 *    
 * 
 
 */
export default class extends Controller {
    static targets = ['tab'];
    connect() {
        console.log("Stimulus: contrôleur d’onglets actif");
        this.tabs = this.element.querySelectorAll('[data-id]');
        this.containers = document.querySelectorAll('#tabs-content .container');
        this.tabs.forEach(tab => {
            tab.addEventListener('click', (event) => {
                event.preventDefault();
                this.activateTab(tab);
            });
        });
    }
    activateTab(selectedTab) {
        const targetId = selectedTab.dataset.id;
        // Mise à jour des onglets actifs
        this.tabs.forEach(tab => tab.classList.remove('is-active'));
        selectedTab.classList.add('is-active');
        // Affichage du bon bloc
        this.containers.forEach(container => {
            if (container.id === targetId) {
                container.classList.remove('is-hidden');
            } else {
                container.classList.add('is-hidden');
            }
        });
    }
}