| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 | 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    }}
 |