This commit is contained in:
KONE SOREL 2026-03-06 18:06:19 +00:00
parent 1f9045d152
commit e622ae65d1
2 changed files with 98 additions and 203 deletions

View File

@ -47493,19 +47493,15 @@ function chargerFichiersTable() {
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);
},
// 1. On ferme le formulaire précédent (ce qui affiche le bouton AJOUTER)
fermeFormulaire();
// 2. On injecte les fichiers de configuration (hidden inputs)
$('#div_fichiers_table').html(data);
// 3. On affiche les données
afficheDonneesTableChoisie($('#fichier_lister').val());
},
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);
@ -47568,182 +47564,96 @@ function afficheDonneesTableChoisie(fichier) {
}
// Gère l'affichage des boutons en entête des formulaires
function afficheBoutons($idData){
var div = $('#div_maj_table').children().length;
var codeLangue = $("#codeLangue").val();
if($idData == 0){
donnees = '';
}else{
donnees = 'id='+$idData;
if(codeLangue=="en_US")
{
$('#btn-action').text('Save');
}
else
{
$('#btn-action').text('Enregistrer');
}
}
function afficheBoutons($idData) {
const racineWeb = $("#racineWeb").val();
const codeLangue = $("#codeLangue").val();
const donnees = ($idData == 0) ? '' : { id: $idData };
$.ajax({
url: $("#racineWeb").val()+"Ajaxentete/",
type : 'post',
data: donnees,
error: function(errorData){
alert("Erreur : "+errorData);
},
success: function(data) {
//alert("Success : "+data);
$('#div_entete_table').html(data);
if(($('#btn-action').text() == 'Ajouter' || $('#btn-action').text() == 'Add') && div == 0){
$('#btn-fermer').hide();
}else{
$('#btn-fermer').show();
if(codeLangue=="en_US")
{
$('#btn-action').text('Save');
}
else
{
$('#btn-action').text('Enregistrer');
}
}
},
complete: function(){
}
});
$.ajax({
url: racineWeb + "Ajaxentete/",
type: 'post',
data: donnees,
success: function(data) {
// On injecte les boutons dans l'emplacement dédié
$('#div_entete_table').html(data);
// Si on est en mode "Initial" ($idData == 0)
if($idData == 0) {
$('#btn-action').html('<i class="fas fa-plus-circle me-1"></i> ' + (codeLangue == "en_US" ? "Add" : "Ajouter"));
$('#btn-fermer').hide();
} else {
$('#btn-fermer').show();
$('#btn-action').html('<i class="fas fa-save me-1"></i> ' + (codeLangue == "en_US" ? "Save" : "Enregistrer"));
}
}
});
}
// Ferme le formulaire affiché
function fermeFormulaire(){
$('#div_maj_table').empty();
afficheBoutons(0);
function fermeFormulaire() {
$('#div_maj_table').empty();
// On repasse l'ID à 0 pour réafficher le bouton "Ajouter"
afficheBoutons(0);
}
// Affiche le formulaire d'ajout de données
function formAjoutTableRef(){
var codeLangue = $("#codeLangue").val();
var fichier_ajouter = $('#fichier_ajouter').val(),
btn = $('#btn-action').text();
//alert(fichier_ajouter);
//return;
if(fichier_ajouter != '' && fichier_ajouter != undefined){
if(btn == 'Ajouter' || btn == 'Add'){
donnees = '';
$('#btn-fermer').show();
if(codeLangue=="en_US")
{
$('#btn-action').text('Save');
}
else
{
$('#btn-action').text('Enregistrer');
}
function formAjoutTableRef() {
const codeLangue = $("#codeLangue").val();
const $btn = $('#btn-action');
const libelleBtn = $btn.text().trim().toLowerCase();
// Si le bouton est déjà en mode "Enregistrer/Save", on lance la mise à jour
if (libelleBtn === 'enregistrer' || libelleBtn === 'save') {
update_table();
return;
}
$.ajax({
url: fichier_ajouter+"/",
type: 'post',
data: donnees,
error: function(errorData){
//alert("Erreur : "+errorData);
},
success: function(data) {
//alert("Success : "+data);
$('#div_maj_table').html(data);
stylechampsRequis();
$(".datepicker").datepicker();
$('.selectpicker').selectpicker();
if(typeof $('#div_maj_table input:first').attr('type') == 'string'){
$('#div_maj_table input:first').focus();
}else{
$('#div_maj_table select:first').focus();
}
},
complete: function(){
}
});
}else{
update_table();
}
}else{
var nomForm = $('#nomForm').val();
if(nomForm == 'frmbaremegarant'){
fichier_ajouter = 'Ajaxajouterbaremeaccessoiregarant';
}else if(nomForm == 'frmtrancheaccessoire'){
fichier_ajouter = 'Ajaxtbajouterbaremeaccessoireavenant';
}else if(nomForm == 'frmtauxAjustement'){
fichier_ajouter = 'Ajaxtbajoutertableauajustement';
}else if(nomForm == 'frmtauxAjustementgarant'){
fichier_ajouter = 'Ajaxtbajoutertableauajustementgarant';
}else if(nomForm == 'frmacteconsultation'){
fichier_ajouter = 'Ajaxtbajouteracteconsultation';
}
if(btn == 'Ajouter' || btn == 'Add'){
donnees = '';
if(nomForm == 'frmtauxAjustementgarant'){
donnees = 'codeGcAssureur='+$("#codeGcAssureur").val();
}
$('#btn-fermer').show();
if(codeLangue=="en_US")
{
$('#btn-action').text('Save');
}
else
{
$('#btn-action').text('Enregistrer');
}
$.ajax({
url: fichier_ajouter+"/",
type: 'post',
data: donnees,
error: function(errorData){
//alert("Erreur : "+errorData);
},
success: function(data) {
//alert("Success : "+data);
$('#div_maj_table').html(data);
$(".datepicker").datepicker();
$(".selectpicker").selectpicker();
stylechampsRequis();
if(typeof $('#div_maj_table input:first').attr('type') == 'string'){
$('#div_maj_table input:first').focus();
}else{
$('#div_maj_table select:first').focus();
}
},
complete: function(){
}
});
}else{
update_table();
}
}
// Détermination du fichier
let fichier_ajouter = $('#fichier_ajouter').val();
if (!fichier_ajouter) {
const mapping = {
'frmbaremegarant': 'Ajaxajouterbaremeaccessoiregarant',
'frmtrancheaccessoire': 'Ajaxtbajouterbaremeaccessoireavenant',
'frmtauxAjustement': 'Ajaxtbajoutertableauajustement',
'frmtauxAjustementgarant': 'Ajaxtbajoutertableauajustementgarant',
'frmacteconsultation': 'Ajaxtbajouteracteconsultation'
};
fichier_ajouter = mapping[$('#nomForm').val()];
}
if (!fichier_ajouter) {
toastr.warning("Action non configurée pour cette table.");
return;
}
// Préparation des données spécifiques
let donnees = {};
if ($('#nomForm').val() == 'frmtauxAjustementgarant') {
donnees.codeGcAssureur = $("#codeGcAssureur").val();
}
// UI : Passage en mode enregistrement
$('#btn-fermer').show();
$btn.html('<i class="fas fa-save me-1"></i> ' + (codeLangue == "en_US" ? "Save" : "Enregistrer"));
$.ajax({
url: $("#racineWeb").val() + fichier_ajouter + "/",
type: 'post',
data: donnees,
success: function(data) {
$('#div_maj_table').html(data);
// Init composants
$(".datepicker").datepicker({ autoclose: true, format: 'dd/mm/yyyy' });
$(".selectpicker").selectpicker('refresh');
// Focus
setTimeout(() => {
$('#div_maj_table input:not([type="hidden"]), #div_maj_table select').first().focus();
}, 100);
}
});
}
// Filtrer la liste des villes par pays
@ -47837,7 +47747,6 @@ function formModifTableRef($idData){
{
$('#btn-action').text('Enregistrer');
}
}
donnees = 'id='+$idData;

View File

@ -1,22 +1,8 @@
<table >
<tbody>
<tr>
<td width="90%"></td>
<?php if (est_anglophone()) : ?>
<td width="5%">
<button id="btn-fermer" class="form-control btn btn-primary" onclick="JAVASCRIPT:fermeFormulaire();">Close</button>
</td>
<td width="5%">
<button id="btn-action" class="form-control btn btn-primary" onclick="JAVASCRIPT:formAjoutTableRef();">Add</button>
</td>
<?php else: ?>
<td width="5%">
<button id="btn-fermer" class="form-control btn btn-primary" onclick="JAVASCRIPT:fermeFormulaire();">Fermer</button>
</td>
<td width="5%">
<button id="btn-action" class="form-control btn btn-primary" onclick="JAVASCRIPT:formAjoutTableRef();">Ajouter</button>
</td>
<?php endif; ?>
</tr>
</tbody>
</table>
<div class="d-flex justify-content-end gap-2 mb-3">
<button type="button" id="btn-fermer" class="btn btn-light border fw-bold shadow-sm" onclick="fermeFormulaire();" style="display:none;">
<i class="fas fa-times me-1"></i> <?= _("Fermer") ?>
</button>
<button type="button" id="btn-action" class="btn btn-success fw-bold shadow-sm px-4" onclick="formAjoutTableRef();">
<i class="fas fa-plus-circle me-1"></i> <?= est_anglophone() ? "Add" : "Ajouter" ?>
</button>
</div>