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
if ($.fn.DataTable.isDataTable($table)) {
$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
@ -421,11 +422,10 @@ function dataTableSpeciale() {
};
// Définition des lengthMenu selon la langue
const lengthMenuOptions = (codeLangue === "en_US") ? [20, 50, 100] : [20, 50, 100];
const lengthMenuOptions = [20, 50, 100];
try {
$table.DataTable({
destroy: true,
const dt = $table.DataTable({
responsive: true,
lengthMenu: lengthMenuOptions,
scrollX: true,
@ -440,7 +440,7 @@ function dataTableSpeciale() {
});
// Ajuster les colonnes après init
$table.DataTable().columns.adjust().draw();
dt.columns.adjust().draw();
} catch (err) {
console.error("Erreur DataTable:", err);
@ -1521,18 +1521,18 @@ function enregistrer_avenant()
function pop_afficher_selection_retrait() {
var div_selection_assure = $('#div_selection_assure');
const div_selection_assure = $('#div_selection_assure');
// 1. Affichage du Loader
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="spinner-border text-primary" role="status" style="width:3rem; height:3rem;">
<span class="visually-hidden">Loading...</span>
<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;">
<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>
<span class="mt-3 fs-5 fw-bold text-muted">
Chargement de la liste... / Loading list...
</span>
</div>
`);
// 2. Appel Ajax
@ -1542,7 +1542,9 @@ function pop_afficher_selection_retrait() {
error: function(xhr, status, error) {
div_selection_assure.html(`
<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>
`);
},
@ -1550,21 +1552,28 @@ function pop_afficher_selection_retrait() {
// Injection des données
div_selection_assure.html(data);
// 3. INITIALISATION DU DATATABLE GÉNÉRIQUE
dataTableSpeciale();
// 3. Initialisation du DataTable si la table existe
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() {
// 4. Gestion propre du Modal
const modalEl = document.getElementById("popdetailassure");
// S'assurer que le modal est au bon endroit dans le DOM
if (modalEl && modalEl.parentNode !== document.body) {
document.body.appendChild(modalEl);
if (modalEl) {
if (modalEl.parentNode !== document.body) {
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>
<!-- 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">
raffraichier_gabarit();