From c9497e3afcee1fc58af65683ee78451e6c000390 Mon Sep 17 00:00:00 2001 From: Alessandro Seravalli Date: Fri, 9 May 2025 16:53:22 +0200 Subject: [PATCH] fixed some issues --- .../nbp-fid-calendar-generic-page.html | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/src/widgetfideuram/components/nbp-fid-calendar-generic/nbp-fid-calendar-generic-page.html b/src/widgetfideuram/components/nbp-fid-calendar-generic/nbp-fid-calendar-generic-page.html index 5e0fc61..e8d104d 100644 --- a/src/widgetfideuram/components/nbp-fid-calendar-generic/nbp-fid-calendar-generic-page.html +++ b/src/widgetfideuram/components/nbp-fid-calendar-generic/nbp-fid-calendar-generic-page.html @@ -211,7 +211,7 @@ border-color: #cbcbcb; } - .datepicker-icon:active:focus { + .datepicker-icon:hover:active { background-color: #d4d4d4; border-color: #aaaaaa; } @@ -290,14 +290,19 @@ document.addEventListener('mousedown', onClickOutside); }, 0); } + + function toggleCalendar() { + if (calendarPopup.style.display === 'block') { + hideCalendar(); + } else { + showCalendar(); + } + } + function hideCalendar() { - // Ripristina la classe view-days quando si chiude il calendario - calendarPopup.classList.remove('view-months', 'view-years'); - calendarPopup.classList.add('view-days'); calendarPopup.style.display = 'none'; document.removeEventListener('mousedown', onClickOutside); - // Resetta la vista alla schermata principale - view = 'days'; + if (selectedDate) { currentDate = new Date(selectedDate); } else { @@ -305,7 +310,7 @@ } } function onClickOutside(e) { - if (!calendarPopup.contains(e.target) && e.target !== dateInput) { + if (!calendarPopup.contains(e.target) && e.target !== dateInput && e.target !== document.getElementById('calendarIcon')) { hideCalendar(); } } @@ -317,11 +322,7 @@ if (view === 'days') calendarPopup.classList.add('view-days'); else if (view === 'months') calendarPopup.classList.add('view-months'); else if (view === 'years') calendarPopup.classList.add('view-years'); - let calendarGridClass = 'calendar-grid'; - if (view === 'days') calendarGridClass += ' calendar-days'; - else if (view === 'months') calendarGridClass += ' calendar-months'; - else if (view === 'years') calendarGridClass += ' calendar-years'; - calendarPopup.innerHTML = `
`; + calendarPopup.innerHTML = `
`; calendarEl = document.getElementById("calendar"); monthYearEl = document.getElementById("monthYear"); if (view === 'days') renderDays(); @@ -547,7 +548,6 @@ // Inizializza input (opzionale: mostra la data di oggi) dateInput.value = selectedDate ? formatDate(selectedDate, dateFormat) : ''; // Eventi su input e icona - document.getElementById('calendarIcon').addEventListener('click', showCalendar); // Permetti inserimento manuale della data document.getElementById('dateInput').addEventListener('input', function (e) { @@ -572,7 +572,7 @@ // Se non valido, evidenzia errore dateInput.classList.add('input-error'); }); - document.getElementById('calendarIcon').addEventListener('click', showCalendar); + document.getElementById('calendarIcon').addEventListener('click', toggleCalendar); // Espone showCalendar globalmente solo se serve (compatibilità) window.showCalendar = showCalendar; });