This commit is contained in:
KONE SOREL 2026-01-19 18:11:21 +00:00
parent fa7987943a
commit 2e60c7fc51
2 changed files with 35 additions and 26 deletions

View File

@ -385,7 +385,8 @@ function dataTableSpeciale() {
// Détruire l'instance existante si elle existe // Détruire l'instance existante si elle existe
if ($.fn.DataTable.isDataTable($table)) { if ($.fn.DataTable.isDataTable($table)) {
$table.DataTable().clear().destroy(); $table.DataTable().clear().destroy();
$table.empty(); // Optionnel : vider le contenu si nécessaire // ⚠️ Ne pas vider le contenu, sinon tu perds <thead>/<th>
// $table.empty();
} }
// Définition des traductions // Définition des traductions
@ -421,11 +422,10 @@ function dataTableSpeciale() {
}; };
// Définition des lengthMenu selon la langue // Définition des lengthMenu selon la langue
const lengthMenuOptions = (codeLangue === "en_US") ? [20, 50, 100] : [20, 50, 100]; const lengthMenuOptions = [20, 50, 100];
try { try {
$table.DataTable({ const dt = $table.DataTable({
destroy: true,
responsive: true, responsive: true,
lengthMenu: lengthMenuOptions, lengthMenu: lengthMenuOptions,
scrollX: true, scrollX: true,
@ -440,7 +440,7 @@ function dataTableSpeciale() {
}); });
// Ajuster les colonnes après init // Ajuster les colonnes après init
$table.DataTable().columns.adjust().draw(); dt.columns.adjust().draw();
} catch (err) { } catch (err) {
console.error("Erreur DataTable:", err); console.error("Erreur DataTable:", err);
@ -1521,18 +1521,18 @@ function enregistrer_avenant()
function pop_afficher_selection_retrait() { function pop_afficher_selection_retrait() {
var div_selection_assure = $('#div_selection_assure'); const div_selection_assure = $('#div_selection_assure');
// 1. Affichage du Loader // 1. Affichage du Loader
div_selection_assure.html(` div_selection_assure.html(`
<div class="d-flex flex-column align-items-center justify-content-center" style="padding-top:80px; min-height:300px;"> <div class="d-flex flex-column align-items-center justify-content-center" style="padding-top:80px; min-height:300px;">
<div class="spinner-border text-primary" role="status" style="width:3rem; height:3rem;"> <div class="spinner-border text-primary" role="status" style="width:3rem; height:3rem;">
<span class="visually-hidden">Loading...</span> <span class="visually-hidden">Loading...</span>
</div>
<span class="mt-3 fs-5 fw-bold text-muted">
Chargement de la liste... / Loading list...
</span>
</div> </div>
<span class="mt-3 fs-5 fw-bold text-muted">
Chargement de la liste... / Loading list...
</span>
</div>
`); `);
// 2. Appel Ajax // 2. Appel Ajax
@ -1542,7 +1542,9 @@ function pop_afficher_selection_retrait() {
error: function(xhr, status, error) { error: function(xhr, status, error) {
div_selection_assure.html(` div_selection_assure.html(`
<div class="alert alert-danger m-3"> <div class="alert alert-danger m-3">
<i class="fas fa-exclamation-circle me-2"></i> Erreur lors du chargement : ${error} <i class="fas fa-exclamation-circle me-2"></i>
Erreur lors du chargement : ${error}
<br><small>${xhr.responseText || ''}</small>
</div> </div>
`); `);
}, },
@ -1550,21 +1552,28 @@ function pop_afficher_selection_retrait() {
// Injection des données // Injection des données
div_selection_assure.html(data); div_selection_assure.html(data);
// 3. INITIALISATION DU DATATABLE GÉNÉRIQUE // 3. Initialisation du DataTable si la table existe
dataTableSpeciale(); const $table = div_selection_assure.find('.tabspeciale');
if ($table.length > 0 && $table.find('thead th').length > 0) {
try {
dataTableSpeciale();
} catch (err) {
console.error("Erreur DataTable:", err);
}
} else {
console.warn("Table .tabspeciale non trouvée ou mal formée");
}
}, },
complete: function() { complete: function() {
// 4. Gestion propre du Modal // 4. Gestion propre du Modal
const modalEl = document.getElementById("popdetailassure"); const modalEl = document.getElementById("popdetailassure");
if (modalEl) {
// S'assurer que le modal est au bon endroit dans le DOM if (modalEl.parentNode !== document.body) {
if (modalEl && modalEl.parentNode !== document.body) { document.body.appendChild(modalEl);
document.body.appendChild(modalEl); }
const myModal = bootstrap.Modal.getOrCreateInstance(modalEl);
myModal.show();
} }
// Ouverture du modal via l'instance Bootstrap
var myModal = bootstrap.Modal.getOrCreateInstance(modalEl);
myModal.show();
} }
}); });
} }

View File

@ -654,7 +654,7 @@ $photoAssureCrypte = $_SESSION['photoAssureCrypte'];
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script> <script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
<!-- Application Scripts --> <!-- Application Scripts -->
<script src="/Js/fonctions.js?ver=2026.01.19.18"></script> <script src="/Js/fonctions.js?ver=2026.01.19.20"></script>
<script type="text/javascript"> <script type="text/javascript">
raffraichier_gabarit(); raffraichier_gabarit();