This commit is contained in:
KONE SOREL 2026-03-06 16:32:50 +00:00
parent 485448e9da
commit bb7d836420

View File

@ -48256,58 +48256,49 @@ function cocherDecocherUn(fichier_lister,id){
function filtreTableReference(numeroTable) {
const racineWeb = $("#racineWeb").val();
const codeLangue = $("#codeLangue").val();
const div_liste_tables = $("#div_listetables");
const $divListe = $("#div_listetables");
const $selectOriginal = $("#listetables");
// 1. Réinitialisation complète des zones de travail
// On vide tout pour que l'utilisateur sache qu'il change de contexte
// 1. Destruction propre de l'instance Selectpicker avant injection
// Cela évite que le plugin laisse des traces dans le DOM
if ($selectOriginal.length > 0) {
$selectOriginal.selectpicker('destroy');
}
// 2. Nettoyage des zones de travail
$("#div_lister_table").html("");
$('#div_fichiers_table').html("");
$('#div_entete_table').html("");
$('#div_maj_table').html(""); // On vide aussi la zone de saisie/modification
$('#div_maj_table').html("");
// 3. Préparation de l'appel AJAX
$divListe.css('opacity', '0.5');
// 2. Préparation des données (Format Objet)
const donnees = { numeroTable: numeroTable };
// 3. Effet de chargement sur le menu déroulant
div_liste_tables.css('opacity', '0.5');
// 4. Appel AJAX
$.ajax({
url: racineWeb + "Ajaxfiltretablesreference/",
type: 'post',
data: donnees,
data: { numeroTable: numeroTable },
success: function(data) {
// Mise à jour du sélecteur de tables
div_liste_tables.html(data);
// 4. Injection du nouveau HTML (qui contient le nouveau <select>)
$divListe.html(data);
// Ré-initialisation du SelectPicker (Bootstrap-select)
// setTimeout permet de s'assurer que le DOM est prêt
// 5. Ré-initialisation forcée
// On utilise un léger délai pour laisser le DOM respirer
setTimeout(function() {
const $select = $("#listetables");
$select.selectpicker('refresh');
$select.selectpicker('focus');
$("#listetables").selectpicker({
liveSearch: true,
size: 10,
style: 'btn-white border-primary-subtle fw-bold'
});
}, 50);
// Notification discrète (Optionnel)
if (typeof toastr !== 'undefined') {
let msg = (codeLangue === "en_US") ? "Tables updated" : "Tables mises à jour";
toastr.info(msg);
}
},
error: function(xhr) {
console.error("Erreur de filtrage :", xhr.statusText);
let errorMsg = (codeLangue === "en_US") ? "Error loading tables" : "Erreur lors du chargement des tables";
alert_ebene(errorMsg, errorMsg);
error: function() {
console.error("Erreur lors du filtrage des tables");
},
complete: function() {
// Rétablir l'opacité
div_liste_tables.css('opacity', '1');
$divListe.css('opacity', '1');
}
});
}
function supprimer_choix(){
var fichier_lister = $('#fichier_lister').val();