From 474953b204495f7433ac477325c03ac778e33e70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurent=20L=C3=A9cluse?= <laurent.lecluse@unicaen.fr> Date: Thu, 13 Apr 2023 09:21:03 +0200 Subject: [PATCH] =?UTF-8?q?toasts=20affich=C3=A9s=20+=20longtemps,=20am?= =?UTF-8?q?=C3=A9liorations=20cosm=C3=A9tiques=20de=20l'aff=20des=20toasts?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- js/Client/flashMessenger.js | 6 +++--- js/Client/unicaenVue.js | 22 +++++++++++++++++++--- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/js/Client/flashMessenger.js b/js/Client/flashMessenger.js index e06b920..049dc59 100644 --- a/js/Client/flashMessenger.js +++ b/js/Client/flashMessenger.js @@ -39,8 +39,8 @@ function toast(message, severity) { toast.setAttribute('aria-live', 'assertive'); toast.setAttribute('aria-atomic', 'true'); - if (severity === 'error'){ - toast.setAttribute('style', 'width:100%'); + if (severity === 'error' && message.length > 500){ + toast.setAttribute('style', 'width:700px'); } const toastContent = @@ -57,7 +57,7 @@ function toast(message, severity) { if (severity !== 'error') { setTimeout(() => { toast.classList.remove('show'); - }, 3000); + }, 5000); } } diff --git a/js/Client/unicaenVue.js b/js/Client/unicaenVue.js index 24b8f98..4710903 100644 --- a/js/Client/unicaenVue.js +++ b/js/Client/unicaenVue.js @@ -83,11 +83,27 @@ unicaenVue.axios.interceptors.response.use(response => { return response; }, (error) => { - var text = $("<div>").html(error.response.data); + let message = error.response.data; - text.find('i.fas').hide(); + if (error.response.status == 403){ + message = '<h4>403 - Accès interdit</h4><br />Vous n\'êtes pas autorisé(e) à faire cette action.'; + }else if (error.response.status == 500) { + const text = document.createElement("div"); + text.innerHTML = error.response.data; - flashMessenger.toast(text.find('.alert').html(), 'error'); + // on masque l'icône /!\ qui fait doublon si on en trouve + const fasIcons = text.querySelectorAll('i.fas'); + fasIcons.forEach(icon => icon.style.display = "none"); + + message = text.querySelector('.alert').innerHTML; + if (message === undefined){ + message = error.response.data; + } + }else{ + message = error.response.data; + } + + flashMessenger.toast(message, 'error'); }); unicaenVue.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; -- GitLab