diff --git a/Js/fonctions.js b/Js/fonctions.js
index c13f7e20..ab1afee9 100755
--- a/Js/fonctions.js
+++ b/Js/fonctions.js
@@ -47466,142 +47466,105 @@ function medecinsprestataire()
* AUTRE TABLE DE REFERENCES
*******************************************************************/
-// Récupère les fichiers contenu dans la table autrestablesreference
-function chargerFichiersTable(){
-
-
- var $id = $('#listetables').val();
+function chargerFichiersTable() {
+ const idTable = $('#listetables').val();
+ const racineWeb = $("#racineWeb").val();
+ const codeLangue = $("#codeLangue").val();
- if ($id !=''){
- donnees = 'id='+$id;
-
- $.ajax({
- url: $("#racineWeb").val()+"Ajaxaccesfichiersautrestables/",
- type : 'post',
- data: donnees,
- error: function(errorData){
- alert("Erreur : "+errorData);
- },
- success: function(data) {
- //alert("Success : "+data);
- fermeFormulaire();
- $('#div_fichiers_table').html(data);
- afficheDonneesTableChoisie($('#fichier_lister').val());
- },
- complete: function() {
-
- }
- });
- }else{
- $('#div_fichiers_table').empty();
- $('#div_entete_table').empty();
- $('#div_lister_table').empty();
-
- }
+ // 1. Si aucune table n'est sélectionnée, on nettoie tout
+ if (!idTable || idTable === "") {
+ $('#div_fichiers_table, #div_entete_table, #div_lister_table, #div_maj_table').empty();
+ return;
+ }
+
+ // 2. Feedback visuel global
+ const loadingHtml = `
+
+
+
${(codeLangue === "en_US") ? "Loading table data..." : "Chargement des données..."}
+
`;
+
+ $('#div_lister_table').html(loadingHtml);
+ $('#div_maj_table').html(""); // On vide la zone de saisie pour le nouveau contexte
+
+ // 3. Appel AJAX pour récupérer les fichiers/paramètres de la table
+ $.ajax({
+ url: racineWeb + "Ajaxaccesfichiersautrestables/",
+ type: 'post',
+ data: { id: idTable },
+ success: function(data) {
+ // Fermeture de tout formulaire d'édition ouvert
+ if (typeof fermeFormulaire === "function") fermeFormulaire();
+
+ // Injection des données cachées (nom du fichier lister, etc.)
+ $('#div_fichiers_table').html(data);
+
+ // 4. Lancement de l'affichage du formulaire et de la liste
+ // On récupère le nom du fichier depuis le champ caché injecté dans 'data'
+ const fichierLister = $('#fichier_lister').val();
+
+ // Affiche le formulaire de saisie (à gauche) et la liste (à droite)
+ afficheDonneesTableChoisie(fichierLister);
+ },
+ error: function(xhr) {
+ toastr.error((codeLangue === "en_US") ? "Error accessing table files" : "Erreur d'accès aux fichiers de la table");
+ console.error(xhr.responseText);
+ }
+ });
}
-// Affiche les données de la table selectionnée dans un tableau
-function afficheDonneesTableChoisie(fichier){
-
- var codeLangue = $("#codeLangue").val();
-
-
- if(fichier=="Ajaxtblisterjoursferiers"){
- codePays = $('#codePays').val();
- annee = $('#annee').val();
-
- if(codePays==undefined){
- codePays ="CI"
- }
-
- if(annee==undefined){
- var ladate=new Date();
- annee =ladate.getFullYear();
- }
-
- donnees = 'codePays='+codePays+'&annee='+annee;
- }else{
- donnees = '';
- }
-
- if(fichier !=''){
- $.ajax({
- url: $("#racineWeb").val()+fichier+"/",
- type : 'post',
- data: donnees,
- error: function(errorData){
- alert("Erreur : "+errorData);
- },
- success: function(data) {
- //alert("Success : "+data);
-
- $('#div_lister_table').html(data);
- //
-
-
- if(fichier=="Ajaxtblisterjoursferiers"){
- $('#codePays').val(codePays);
- $('#annee').val(annee);
- }
- if(fichier=="Ajaxtblistertableauajustementgarant"){
- appliquerDataTable();
- }else{
-
- if(codeLangue=="en_US")
- {
- $('#tableLister').DataTable({
- "lengthMenu": [ 20, 50, 100],
- "language": {
- "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)",
- "aoColumnDefs": [
- { "bSearchable": false, "aTargets": [ 0 ] }
- ]
- }
- });
- }
- else
- {
- $('#tableLister').DataTable({
- "lengthMenu": [ 20, 50, 100],
- "language": {
- "lengthMenu":"Affiche _MENU_ par page",
- "zeroRecords": "Désolé - Aucune donnée trouvée",
- "info": "_PAGE_ sur _PAGES_ pages",
- "infoEmpty": "Pas d'enregistrement valable",
- "search": "Recherche:",
- "paginate": {
- "next": "►",
- "previous": "◄",
- "first": "|◄",
- "last": "►|"
- },
- "infoFiltered": "(filtré de _MAX_ total enregistrements)",
- "aoColumnDefs": [
- { "bSearchable": false, "aTargets": [ 0 ] }
- ]
- }
- });
- }
-
- }
-
- },
- complete: function() {
-
- }
- });
- }
+function afficheDonneesTableChoisie(fichier) {
+ if (!fichier || fichier === '') return;
+
+ const racineWeb = $("#racineWeb").val();
+ const codeLangue = $("#codeLangue").val();
+ const $divLister = $('#div_lister_table');
+ let donnees = {};
+
+ // 1. Gestion des cas particuliers (ex: Jours fériés)
+ if (fichier === "Ajaxtblisterjoursferiers") {
+ const codePays = $('#codePays').val() || "CI";
+ const annee = $('#annee').val() || new Date().getFullYear();
+ donnees = { codePays: codePays, annee: annee };
+ }
+
+ // 2. Affichage d'un loader pendant le chargement
+ $divLister.html(`
+
+
+
${(codeLangue === "en_US") ? "Synchronizing..." : "Synchronisation..."}
+
+ `);
+
+ // 3. Appel AJAX
+ $.ajax({
+ url: racineWeb + fichier + "/",
+ type: 'post',
+ data: donnees,
+ success: function(data) {
+ $divLister.html(data);
+
+ // 4. Post-traitement selon le fichier
+ if (fichier === "Ajaxtblisterjoursferiers") {
+ $('#codePays').val(donnees.codePays);
+ $('#annee').val(donnees.annee);
+ }
+
+ // 5. Initialisation de la DataTable
+ if (fichier === "Ajaxtblistertableauajustementgarant") {
+ // Appel de votre fonction spécifique si elle existe toujours
+ if (typeof appliquerDataTable === "function") appliquerDataTable();
+ } else {
+ // Utilisation de la fonction générique avec exports Excel/PDF
+ const nomTable = $("#listetables option:selected").text();
+ initDataTableReference('#tableLister', 'Export_' + nomTable.replace(/\s+/g, '_'));
+ }
+ },
+ error: function(xhr) {
+ toastr.error((codeLangue === "en_US") ? "Data loading error" : "Erreur de chargement des données");
+ $divLister.html(`