diff --git a/Js/fonctions.js b/Js/fonctions.js index edee82d8..17aba8c7 100755 --- a/Js/fonctions.js +++ b/Js/fonctions.js @@ -92916,8 +92916,6 @@ async function detail_baremeacte_lettre_cle(idInitial, lettre) { */ async function chargerContenuDetailActe(idInitial, lettre, mode = 'complet') { const racineWeb = document.getElementById("racineWeb").value; - const codeLangue = document.getElementById("codeLangue")?.value || 'fr_FR'; - const modalContainer = document.getElementById("div_detail_bareme_actes"); const url = `${racineWeb}Ajaxbaremelettrecle/detailactes/`; const formData = new FormData(); @@ -92929,45 +92927,42 @@ async function chargerContenuDetailActe(idInitial, lettre, mode = 'complet') { const html = await response.text(); if (mode === 'complet') { - // OUVERTURE INITIALE : On injecte tout le HTML (Structure + Tableau) - modalContainer.innerHTML = html; + document.getElementById("div_detail_bareme_actes").innerHTML = html; } else { - // ACTUALISATION APRÈS SUPPRESSION : - // On extrait seulement la zone du tableau du HTML reçu + // MODE REFRESH : On remplace uniquement le contenu du tableau const parser = new DOMParser(); const doc = parser.parseFromString(html, 'text/html'); - const nouveauContenuTableau = doc.getElementById('div_table_detail_lettrecle'); - - if (nouveauContenuTableau) { - // On ne remplace que l'intérieur de la zone cible - const zoneCible = document.getElementById('div_table_detail_lettrecle'); - zoneCible.innerHTML = nouveauContenuTableau.innerHTML; + const nouveauContenu = doc.getElementById('div_table_detail_lettrecle'); + const zoneCible = document.getElementById('div_table_detail_lettrecle'); + + if (nouveauContenu && zoneCible) { + // On écrase le contenu actuel par le nouveau + zoneCible.innerHTML = nouveauContenu.innerHTML; + console.log("Zone cible actualisée."); + } else { + console.error("Erreur : Zone cible div_table_detail_lettrecle non trouvée."); } } - // Réinitialisation de DataTable (Indispensable après injection) - setTimeout(() => { - if ($.fn.DataTable.isDataTable('#table_detail_actes')) { - $('#table_detail_actes').DataTable().destroy(); - } - - $('#table_detail_actes').DataTable({ - "language": { - "url": codeLangue === "en_US" - ? "//cdn.datatables.net/plug-ins/1.13.6/i18n/en-GB.json" - : "//cdn.datatables.net/plug-ins/1.13.6/i18n/fr-FR.json" - }, - "pageLength": 10, - "dom": "<'row mb-3'<'col-sm-12 col-md-6'l><'col-sm-12 col-md-6'f>>rtip", - "responsive": true - }); - }, 100); + // On recrée DataTable après l'injection + initDataTableDetail(); } catch (error) { - console.error("Erreur de rafraîchissement :", error); + console.error("Erreur Fetch :", error); } } +// Petite fonction pour éviter de dupliquer le code DataTable +function initDataTableDetail() { + if ($.fn.DataTable.isDataTable('#table_detail_actes')) { + $('#table_detail_actes').DataTable().destroy(); + } + $('#table_detail_actes').DataTable({ + "language": { "url": "//cdn.datatables.net/plug-ins/1.13.6/i18n/fr-FR.json" }, + "pageLength": 10, + "dom": "lfrtip" + }); +} /** * Supprime un acte spécifique du détail d'une lettre clé @@ -92987,13 +92982,22 @@ function supprimer_baremeacte_lettre_cle_detail(adminProd, idActe) { url: $("#racineWeb").val() + "Ajaxbaremelettrecle/supprimerdetailacte/", type: 'post', data: { idActe: idActe }, - success: function() { - // RÉCUPÉRATION DES PARAMÈTRES DEPUIS LES INPUTS HIDDEN DE LA MODALE DÉJÀ OUVERTE - const idInitial = $("#idActesbaremeinitiallettrecle").val(); - const lettre = $("#lettreCle").val(); + // On s'assure que le succès du serveur déclenche l'actualisation + success: function(response) { + console.log("Suppression réussie côté serveur."); - // ON ACTUALISE JUSTE LE TABLEAU - chargerContenuDetailActe(idInitial, lettre, 'refresh'); + // 1. Récupération des IDs dans la modale + const idInitial = $("#idInitial_hidden").val(); + const lettre = $("#lettre_hidden").val(); + + // 2. Lancement du rafraîchissement CHIRURGICAL + // On ajoute un petit délai de sécurité pour laisser le temps à la DB + setTimeout(() => { + chargerContenuDetailActe(idInitial, lettre, 'refresh'); + }, 100); + }, + error: function() { + alert_ebene("Erreur lors de la suppression.", "Error during deletion."); } }); } diff --git a/Vue/Ajaxbaremelettrecle/detailactes.php b/Vue/Ajaxbaremelettrecle/detailactes.php index d574bed5..a4995170 100644 --- a/Vue/Ajaxbaremelettrecle/detailactes.php +++ b/Vue/Ajaxbaremelettrecle/detailactes.php @@ -29,13 +29,13 @@
0): ?>
- +
- + @@ -77,7 +77,8 @@

- + +