This commit is contained in:
KONE SOREL 2026-03-13 13:33:50 +00:00
parent 82c0d8f244
commit 9a201146bf
2 changed files with 13 additions and 7 deletions

View File

@ -92140,24 +92140,32 @@ function enregistrer_modif_parametres_med()
}
function initSmartTable(selector = '.datatable-inter', pageTitle = 'Export Données') {
/**
* Initialise DataTables avec options d'export et de tri
* @param {string} selector - Sélecteur CSS de la table
* @param {string} pageTitle - Titre pour les exports PDF/Excel
* @param {boolean|array} defaultOrder - Exemple: [1, 'desc'] ou false pour garder l'ordre serveur
*/
function initSmartTable(selector = '.datatable-inter', pageTitle = 'Export Données', defaultOrder = false) {
if ($(selector).length === 0) return;
// Détection automatique : la barre de recherche personnalisée existe-t-elle ?
var hasGlobalSearch = $('#globalSearch').length > 0;
if ($.fn.DataTable.isDataTable(selector)) {
$(selector).DataTable().destroy();
}
// Configuration du DOM :
// Si hasGlobalSearch est vrai, on retire 'f' (recherche native)
var domStructure = hasGlobalSearch
? '<"d-flex align-items-center justify-content-start p-3 border-bottom"B>t<"d-flex justify-content-between align-items-center p-3 bg-light"ip>'
: '<"d-flex align-items-center justify-content-between p-3 border-bottom"Bf>t<"d-flex justify-content-between align-items-center p-3 bg-light"ip>';
// Détermination de l'option "order" :
// Si defaultOrder est explicitement false, on passe un tableau vide pour désactiver le tri auto
var orderConfig = (defaultOrder === false) ? [] : defaultOrder;
var table = $(selector).DataTable({
"dom": domStructure,
"order": orderConfig, // <--- AJOUT ICI
"buttons": [
{
extend: 'excelHtml5',
@ -92181,7 +92189,6 @@ function initSmartTable(selector = '.datatable-inter', pageTitle = 'Export Donn
"pageLength": 10,
"autoWidth": false,
"drawCallback": function() {
// Style uniquement si la recherche native est affichée
if (!hasGlobalSearch) {
$('.dataTables_filter input').addClass('form-control form-control-sm d-inline-block ms-2 rounded-pill border-2 shadow-none').css('width', '200px');
}
@ -92189,7 +92196,6 @@ function initSmartTable(selector = '.datatable-inter', pageTitle = 'Export Donn
}
});
// LIAISON AUTOMATIQUE : Si globalSearch existe, on branche l'événement tout de suite
if (hasGlobalSearch) {
$('#globalSearch').off('keyup').on('keyup', function() {
table.search(this.value).draw();

View File

@ -73,7 +73,7 @@
window.addEventListener('load', function() {
if (typeof jQuery !== 'undefined') {
// La fonction détecte seule #globalSearch et lie la recherche !
initSmartTable('.table', 'Gestion des Bons');
initSmartTable('.table', 'Gestion des Bons', false);
}
});
</script>