import { Controller } from '@hotwired/stimulus'; /* * Contrôleur Stimulus pour bouton de suppression avec confirmation. * Sur le premier clic, le bouton devient "Confirmer" et son href est mis à jour. */ export default class extends Controller { static values = { baseUrl: String // Par exemple : "/items/delete/" } connect() { console.log("Stimulus: bouton de suppression avec confirmation"); this.originalText = this.element.textContent; this.confirmed = false; this.element.addEventListener('click', this.handleClick.bind(this)); } handleClick(event) { if (!this.confirmed) { event.preventDefault(); // Récupère l'ID depuis data-id const id = this.element.dataset.id; if (!id) { console.error("Aucun data-id trouvé sur l'élément."); return; } // Remplace le texte et modifie le lien this.element.textContent = "Confirmer ?"; this.element.href = id; this.confirmed = true; // Optionnel : annule la confirmation après X secondes setTimeout(() => { this.element.textContent = this.originalText; this.element.href = "#"; this.confirmed = false; }, 5000); } // Sinon, clic confirmé => laisse le lien agir normalement } }