Maj DataTable

This commit is contained in:
KONE SOREL 2025-12-25 13:08:19 +00:00
parent 730b94ebe4
commit a6ae4e7efe
3 changed files with 88 additions and 80 deletions

View File

@ -376,42 +376,40 @@ function connexion_cookie()
// Applique la librairie DataBase sur les tableaux
function appliquerDataTable() {
const $table = $('.tabliste');
const codeLangue = $("#codeLangue").val();
// Dictionnaire des traductions
const translations = {
en_US: {
lengthMenu: "Display _MENU_ records per page",
zeroRecords: "Nothing found - sorry",
info: "Showing page _PAGE_ of _PAGES_",
infoEmpty: "No records available",
search: "Search:",
paginate: {
next: "►",
previous: "◄",
first: "|◄",
last: "►|"
},
infoFiltered: "(filtered from _MAX_ total records)"
},
fr_FR: {
lengthMenu: "Affiche _MENU_ par page",
zeroRecords: "Désolé - Aucune donnée trouvée",
info: "_PAGE_ sur _PAGES_ pages",
infoEmpty: "Pas d'enregistrement",
search: "Recherche:",
paginate: {
next: "►",
previous: "◄",
first: "|◄",
last: "►|"
},
paginate: { next: "►", previous: "◄", first: "|◄", last: "►|" },
infoFiltered: "(filtré de _MAX_ total enregistrements)"
},
en_US: {
lengthMenu: "Display _MENU_ records per page",
zeroRecords: "Nothing found - sorry",
info: "Showing page _PAGE_ of _PAGES_",
infoEmpty: "No records available",
search: "Search:",
paginate: { next: "►", previous: "◄", first: "|◄", last: "►|" },
infoFiltered: "(filtered from _MAX_ total records)"
}
};
// Options DataTable
$('.tabliste').each(function() {
const $table = $(this);
// Détecter les colonnes avec data-hidden="true"
const hiddenTargets = [];
$table.find('thead th').each(function(index) {
if ($(this).data('hidden')) {
hiddenTargets.push(index);
}
});
const options = {
destroy: true,
responsive: true,
@ -419,23 +417,20 @@ function appliquerDataTable() {
lengthMenu: [50, 100, 150],
pagingType: "full_numbers",
autoWidth: false,
language: translations[codeLangue] || translations.fr_FR
language: translations[codeLangue] || translations.fr_FR,
columnDefs: [
{ targets: hiddenTargets, visible: false, searchable: true }
]
};
try {
// Initialisation
const instance = $table.DataTable(options);
// Correction d'alignement après le rendu
setTimeout(() => {
instance.columns.adjust().responsive.recalc();
}, 100);
});
}
} catch (err) {
console.error("Erreur lors de l'application du DataTable :", err);
return false;
}
}
function raffraichier_gabarit()
{

View File

@ -89,22 +89,32 @@
<th style="text-align:center"> <?= _("Prime") ?> </th>
<th style="text-align:center"> <?= _("Sinistres") ?> </th>
<th style="text-align:center"> <?= _("R S/P") ?> </th>
<!-- Colonnes cachées pour recherche -->
<th data-hidden="true">NoPoliceHidden</th>
<th data-hidden="true">IdPoliceHidden</th>
</tr>
</thead>
<tbody>
<?php foreach ($polices as $police):
$id = $this->nettoyer($police['idPolice']);
$nopol = $this->nettoyer($police['numeroPolice']);
?>
<tr onclick="javascript:selectionner_police(<?= $id ?>,'<?= $nopol ?>');" ondblclick="javascript:selectionner_police(<?= $id ?>,'<?= $nopol ?>');afficher_police_id();" valign="top">
<td align="center"> <input type="button" class = "form-control btn btn-primary" value="<?= $nopol ?>" onClick="javascript:selectionner_police(<?= $id ?>,'<?= $nopol ?>');afficher_police_id();"> </td>
<td align="center"> <input type="button" class = "form-control btn btn-info" value="<?= $id ?>" onClick="javascript:selectionner_police(<?= $id ?>,'<?= $nopol ?>');afficher_police_id();"> </td>
<tr>
<!-- Boutons visibles -->
<td align="center">
<input type="button" class="form-control btn btn-primary" value="<?= $nopol ?>"
onClick="selectionner_police(<?= $id ?>,'<?= $nopol ?>');afficher_police_id();">
</td>
<td align="center">
<input type="button" class="form-control btn btn-info" value="<?= $id ?>"
onClick="selectionner_police(<?= $id ?>,'<?= $nopol ?>');afficher_police_id();">
</td>
<!-- Autres colonnes -->
<td align='center'><?= $this->nettoyer($police['typeContrat']) ?></td>
<td align='center'><?= dateLang($this->nettoyer($police['dateEffet']), $_SESSION['lang'])?></td>
<td align='center'><?= dateLang($this->nettoyer($police['dateEcheance']), $_SESSION['lang']) ?></td>
<td align='center'><?= $this->nettoyer($police['typeAvenant']) ?></td>
<td align='center'><?= $this->nettoyer($police['etatPolice']) ?></td>
<td align='center'><?= format_N($this->nettoyer($police['primeNetteStat'])) ?></td>
@ -117,9 +127,12 @@
<?php else:?>
<td align='center' class="text-primary"><?= $police["rapportSp"].'%' ?></td>
<?php endif;?>
<!-- Colonnes cachées -->
<td><?= $nopol ?></td>
<td><?= $id ?></td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</div>

View File

@ -594,7 +594,7 @@ console.groupEnd();
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
<!-- Application Scripts -->
<script src="/Js/fonctions.js?ver=2025.12.25.01"></script>
<script src="/Js/fonctions.js?ver=2025.12.25.03"></script>
<?php if (est_anglophone()): ?>
<script src="/Js/datepicker-eng.js"></script>