From dec85bf5f106f1a86cb5dfd04c56cb25f2c40ead Mon Sep 17 00:00:00 2001 From: KONE SOREL Date: Fri, 10 Apr 2026 08:29:48 +0000 Subject: [PATCH] ser --- Js/fonctions.js | 51 ++++++++++++++++++++++++------------------------- 1 file changed, 25 insertions(+), 26 deletions(-) diff --git a/Js/fonctions.js b/Js/fonctions.js index c28f1951..2e1fd77b 100755 --- a/Js/fonctions.js +++ b/Js/fonctions.js @@ -86194,7 +86194,10 @@ function affiche_pays_territoire() { // On attend que le DOM soit prêt pour initialiser DataTables setTimeout(() => { - initSmartTable('.datatable-inter', titreExport, [0, 'asc']); + // Tableau de gauche (Hors territoire) + initSmartTable('#div_sans_territoire table', 'Pays à ajouter', [0, 'asc'], false); + // Tableau de droite (Dans territoire) + initSmartTable('#div_avec_seuil table', 'Pays inclus', [1, 'asc'], false); }, 100); }, error: function() { @@ -92286,8 +92289,9 @@ function enregistrer_modif_parametres_med() * @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 + * @param {boolean} showButtons - Affiche ou masque les boutons d'export (Défaut: true) */ -function initSmartTable(selector = '.datatable-inter', pageTitle = 'Export Données', defaultOrder = false) { +function initSmartTable(selector = '.datatable-inter', pageTitle = 'Export Données', defaultOrder = false, showButtons = true) { if ($(selector).length === 0) return; var hasGlobalSearch = $('#globalSearch').length > 0; @@ -92297,25 +92301,25 @@ function initSmartTable(selector = '.datatable-inter', pageTitle = 'Export Donn } // Modification du DOM : - // On enveloppe 'f' (Filter) dans une div avec 'ms-auto' pour le pousser à droite + // Si showButtons est false, on retire "B" (Buttons) de la structure + // On utilise "ms-auto" pour pousser "f" (Filter) à droite même si "B" est absent 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 p-3 border-bottom"B<"ms-auto"f>>t<"d-flex justify-content-between align-items-center p-3 bg-light"ip>'; + : '<"d-flex align-items-center p-3 border-bottom"' + (showButtons ? 'B' : '') + '<"ms-auto"f>>t<"d-flex justify-content-between align-items-center p-3 bg-light"ip>'; var orderConfig = (defaultOrder === false) ? [] : defaultOrder; var table = $(selector).DataTable({ "dom": domStructure, "order": orderConfig, - "buttons": [ + // On n'active les boutons que si showButtons est à true + "buttons": showButtons ? [ { extend: 'excelHtml5', text: 'Excel', className: 'btn btn-success btn-sm fw-bold border-0 shadow-sm px-3', - title: pageTitle, // Identique au PDF - exportOptions: { - columns: ':not(.no-export)' // Exclut les colonnes avec la classe .no-export - } + title: pageTitle, + exportOptions: { columns: ':not(.no-export)' } }, { extend: 'pdfHtml5', @@ -92324,33 +92328,29 @@ function initSmartTable(selector = '.datatable-inter', pageTitle = 'Export Donn title: pageTitle, orientation: 'landscape', pageSize: 'A4', - exportOptions: { - columns: ':not(.no-export)' // Exclut les colonnes avec la classe .no-export - }, - customize: function(doc) { - // Force la largeur du tableau à 100% (le '*' signifie largeur automatique répartie) - doc.content[1].table.widths = Array(doc.content[1].table.body[0].length).fill('*'); - - // Optionnel : Aligner le texte au centre pour toutes les cellules du PDF - doc.styles.tableHeader.alignment = 'center'; - doc.defaultStyle.alignment = 'center'; - } + exportOptions: { columns: ':not(.no-export)' }, + customize: function(doc) { + if (doc.content[1].table) { + doc.content[1].table.widths = Array(doc.content[1].table.body[0].length).fill('*'); + } + doc.styles.tableHeader.alignment = 'center'; + doc.defaultStyle.alignment = 'center'; + } } - ], + ] : [], "language": { "url": "//cdn.datatables.net/plug-ins/1.13.6/i18n/fr-FR.json", - "search": "", // On vide le texte "Rechercher :" pour un look plus moderne - "searchPlaceholder": "Rechercher..." + "search": "", + "searchPlaceholder": "Filtrer..." }, "pageLength": 10, "autoWidth": false, "drawCallback": function() { if (!hasGlobalSearch) { - // Style de l'input de recherche $('.dataTables_filter input') .addClass('form-control form-control-sm shadow-none border-primary-subtle') .css({ - 'width': '250px', + 'width': '200px', 'border-radius': '20px', 'padding-left': '15px' }); @@ -92368,7 +92368,6 @@ function initSmartTable(selector = '.datatable-inter', pageTitle = 'Export Donn return table; } - function loadMessageSection(section) { let url = ""; let target = "#content-" + section;