This commit is contained in:
KONE SOREL 2026-04-09 15:49:46 +00:00
parent 89b0ca3817
commit 5f0953c10d
2 changed files with 44 additions and 39 deletions

View File

@ -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.");
}
});
}

View File

@ -29,13 +29,13 @@
<div id="div_table_detail_lettrecle">
<?php if(count($detailactes) > 0): ?>
<div class="table-responsive p-1">
<table id="table_detail_actes" class="table table-sm table-hover align-middle border shadow-sm" style="width:100%;">
<table id="table_detail_actes" class="table table-sm table-hover align-middle border shadow-sm text-nowrap" style="width:100%;">
<thead class="table-dark">
<tr class="text-center small">
<th class="py-2 ps-3 text-start"><?= _("Libellé de l'Acte") ?></th>
<th><?= _("Coefficient") ?></th>
<th><?= _("Plafond Acte") ?></th>
<th><?= _("Ticket Mod.") ?></th>
<th><?= _("Ticket Modérateur") ?></th>
<th><?= _("Statut") ?></th>
<th class="pe-3"><?= _("Actions") ?></th>
</tr>
@ -77,7 +77,8 @@
<p class="mb-0 fw-bold"><?= _("Aucun acte trouvé.") ?></p>
</div>
<?php endif; ?>
</div> </div>
</div>
</div>
<div class="modal-footer bg-light border-top-0">
<button type="button" class="btn btn-secondary px-4 fw-bold shadow-sm" data-bs-dismiss="modal">