document.addEventListener("DOMContentLoaded", () => { // --- 1. GESTION DES MODALS ET FORMULAIRES (SI PRÉSENTS) --- // Modal Créer Ordre const modalCreerOrdre = document.getElementById("modalCreerOrdre"); const btnCreer = document.querySelector(".ordregf-btn-creer"); if (modalCreerOrdre && btnCreer) { btnCreer.addEventListener("click", () => modalCreerOrdre.showModal()); document.getElementById("btnAnnuler")?.addEventListener("click", () => { document.getElementById("formCreerOrdre").reset(); modalCreerOrdre.close(); document.getElementById("btnValider").disabled = true; }); } // Recherche Action const btnRechercher = document.getElementById("btnRechercher"); btnRechercher?.addEventListener("click", async () => { const isin = document.getElementById("isinRecherche").value; const response = await fetch(`/php/api_rechercher_action.php?isin=${isin}`); const data = await response.json(); if (data.success) { document.getElementById("Nom").value = data.company_name; document.getElementById("ticker").value = data.ticker; document.getElementById("code_yahoo").value = data.yahoo_code; document.getElementById("btnValider").disabled = false; } else { alert("Action non trouvée"); } }); // Enregistrement Ordre document .getElementById("formCreerOrdre") ?.addEventListener("submit", async (e) => { e.preventDefault(); const formData = new FormData(e.target); formData.append("isin", document.getElementById("isinRecherche").value); const response = await fetch("/php/api_enregistrer_ordre.php", { method: "POST", body: formData, }); if ((await response.json()).success) location.reload(); }); // Enregistrement Detail document .getElementById("formCreerDetail") ?.addEventListener("submit", async (e) => { e.preventDefault(); const response = await fetch("/php/api_enregistrer_detail.php", { method: "POST", body: new FormData(e.target), }); if ((await response.json()).success) location.reload(); else alert("Erreur lors de l'enregistrement du détail"); }); // --- 2. GESTION MODIFICATION (DÉLÉGATION D'ÉVÉNEMENT) --- document.addEventListener("click", (e) => { // Ouverture Modal Modifier const button = e.target.closest(".ordregf-btn-modifier-petit"); if (button) { const detail = JSON.parse(button.getAttribute("data-detail")); const modal = document.getElementById("modalModifierDetail"); if (modal) { document.getElementById("edit_id").value = detail.Id; document.getElementById("edit_Id_entete").value = detail.Id_entete; document.getElementById("edit_date").value = detail.Date_op; document.getElementById("edit_quantite").value = detail.Quantite; document.getElementById("edit_prix").value = detail.Prix_brut; document.getElementById("edit_frais_broker").value = detail.Frais_brocker || 0; document.getElementById("edit_frais_etat").value = detail.Frais_etat || 0; document.getElementById("edit_frais_autre").value = detail.Frais_autre || 0; document.getElementById("edit_ordre").value = detail.Ordre; modal.showModal(); } } }); // Soumission Modification const formModif = document.getElementById("formModifierDetail"); formModif?.addEventListener("submit", async (e) => { e.preventDefault(); const response = await fetch("/php/api_modifier_detail.php", { method: "POST", body: new FormData(e.target), }); const result = await response.json(); if (result.success) { location.reload(); } else { alert("Erreur : " + result.message); } }); });