Clic sur un œil MSIN-4370
This commit is contained in:
@ -2337,6 +2337,23 @@ if ($strLangue == 'fr') {
|
||||
|
||||
let container = btnView.closest('.epr-block');
|
||||
|
||||
// Vérifier si une vue est déjà ouverte
|
||||
let existing = document.querySelector('.epr-row-view');
|
||||
|
||||
// Toggle : si c'est le même œil qui a ouvert la vue, on la ferme et on s'arrête
|
||||
if (existing
|
||||
&& existing.dataset.eprId === epr_id
|
||||
&& existing.dataset.rangeId === range_id
|
||||
) {
|
||||
existing.remove();
|
||||
return;
|
||||
}
|
||||
|
||||
// Un autre œil a été cliqué : fermer la vue précédente avant d'ouvrir la nouvelle
|
||||
if (existing) {
|
||||
existing.remove();
|
||||
}
|
||||
|
||||
fetch('/ajax_bib_range.php', {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
@ -2365,14 +2382,17 @@ if ($strLangue == 'fr') {
|
||||
|
||||
let row = btnView.closest('.epr-row');
|
||||
|
||||
// 1. Supprimer toute vue existante
|
||||
let existing = document.querySelector('.epr-row-view');
|
||||
if (existing) {
|
||||
existing.remove();
|
||||
}
|
||||
|
||||
// 2. Injecter sous la bonne ligne
|
||||
// Injecter la nouvelle vue sous la ligne du bouton cliqué,
|
||||
// en mémorisant epr_id et range_id pour le toggle suivant
|
||||
row.insertAdjacentHTML('afterend', data.html);
|
||||
|
||||
// Stocker les identifiants sur la vue injectée pour pouvoir détecter
|
||||
// le 2e clic sur le même œil
|
||||
let newView = row.nextElementSibling;
|
||||
if (newView && newView.classList.contains('epr-row-view')) {
|
||||
newView.dataset.eprId = epr_id;
|
||||
newView.dataset.rangeId = range_id;
|
||||
}
|
||||
});
|
||||
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user