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 // Applique la librairie DataBase sur les tableaux
function appliquerDataTable() { function appliquerDataTable() {
const $table = $('.tabliste');
const codeLangue = $("#codeLangue").val(); const codeLangue = $("#codeLangue").val();
// Dictionnaire des traductions
const translations = { 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: { fr_FR: {
lengthMenu: "Affiche _MENU_ par page", lengthMenu: "Affiche _MENU_ par page",
zeroRecords: "Désolé - Aucune donnée trouvée", zeroRecords: "Désolé - Aucune donnée trouvée",
info: "_PAGE_ sur _PAGES_ pages", info: "_PAGE_ sur _PAGES_ pages",
infoEmpty: "Pas d'enregistrement", infoEmpty: "Pas d'enregistrement",
search: "Recherche:", search: "Recherche:",
paginate: { paginate: { next: "►", previous: "◄", first: "|◄", last: "►|" },
next: "►",
previous: "◄",
first: "|◄",
last: "►|"
},
infoFiltered: "(filtré de _MAX_ total enregistrements)" 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 = { const options = {
destroy: true, destroy: true,
responsive: true, responsive: true,
@ -419,23 +417,20 @@ function appliquerDataTable() {
lengthMenu: [50, 100, 150], lengthMenu: [50, 100, 150],
pagingType: "full_numbers", pagingType: "full_numbers",
autoWidth: false, 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); const instance = $table.DataTable(options);
// Correction d'alignement après le rendu
setTimeout(() => { setTimeout(() => {
instance.columns.adjust().responsive.recalc(); instance.columns.adjust().responsive.recalc();
}, 100); }, 100);
});
}
} catch (err) {
console.error("Erreur lors de l'application du DataTable :", err);
return false;
}
}
function raffraichier_gabarit() function raffraichier_gabarit()
{ {

View File

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

View File

@ -594,7 +594,7 @@ console.groupEnd();
<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=2025.12.25.01"></script> <script src="/Js/fonctions.js?ver=2025.12.25.03"></script>
<?php if (est_anglophone()): ?> <?php if (est_anglophone()): ?>
<script src="/Js/datepicker-eng.js"></script> <script src="/Js/datepicker-eng.js"></script>