This commit is contained in:
KONE SOREL 2026-03-13 13:06:15 +00:00
parent 8273232ec3
commit 82c0d8f244

View File

@ -18055,22 +18055,88 @@ function pop_messagerie()
});
}
function marquer_message_comme_lu(idMessagerie, controle)
{
donnees = 'idMessagerie='+idMessagerie;
$.ajax({
url: $("#racineWeb").val()+"Ajaxmessagerieliste/marquercommelu/",
type: 'POST',
data: donnees,
error: function(errorData) {
},
success: function(data) {
},
complete: function() {
controle.parentElement.removeChild(controle);
}
});
function marquer_message_comme_lu(idMessagerie, btn) {
const $row = $(btn).closest('tr');
const racineWeb = $("#racineWeb").val();
const codeLangue = $("#codeLangue").val(); // Récupération de la langue
// 1. Définition des messages de traduction
const msgSuccess = (codeLangue === "en_US")
? "Message marked as read"
: "Message marqué comme lu";
const msgError = (codeLangue === "en_US")
? "Error during update"
: "Erreur lors de la mise à jour";
// 2. Feedback visuel Neutral Pro
$row.addClass('is-processing');
$(btn).prop('disabled', true).html('<i class="fas fa-spinner fa-spin"></i>');
$.ajax({
url: racineWeb + "Ajaxmessagerieliste/marquercommelu/",
type: 'POST',
data: { idMessagerie: idMessagerie },
success: function(data) {
// 3. Animation de sortie
$row.fadeOut(400, function() {
$(this).remove();
// 4. Mise à jour du compteur (Logique plurielle incluse)
actualiser_interface_messagerie(codeLangue);
});
if (typeof toastr !== 'undefined') {
toastr.success(msgSuccess);
}
},
error: function() {
$row.removeClass('is-processing');
$(btn).prop('disabled', false).html('<i class="fas fa-check-double me-1"></i>');
if (typeof toastr !== 'undefined') {
toastr.error(msgError);
}
}
});
}
/**
* Mise à jour du compteur avec gestion de la langue
*/
function actualiser_interface_messagerie(codeLangue) {
const $txtNbre = $('#txt-nbre-msg');
const $labelNbre = $('#label-nbre-msg');
const $noMsgRow = $('#no-message-row');
const $badgeContainer = $('#container-badge-msg');
let newCount = $('#table-messagerie tbody tr.message-row').length;
// Mise à jour du chiffre
$txtNbre.text(newCount);
// Mise à jour du texte (Message vs Messages) selon la langue
if ($labelNbre.length) {
let label = "";
if (codeLangue === "en_US") {
label = newCount > 1 ? " Messages" : " Message";
} else {
label = newCount > 1 ? " Messages" : " Message";
}
$labelNbre.text(label);
}
// Gestion de l'état vide
if (newCount === 0) {
if ($noMsgRow.length) $noMsgRow.fadeIn();
if ($badgeContainer.length) {
$badgeContainer.removeClass('bg-primary-ghost text-primary').addClass('bg-light text-muted');
}
}
// Mise à jour du compteur global (timer)
if ($('#timer').length) {
$('#timer').val(newCount);
}
}
function envoyer_messagerie(textMessage, idParent)