From 915204f7a696c4ee0ff9325de49e7bcc910ef316 Mon Sep 17 00:00:00 2001 From: Gregor Vostrak Date: Tue, 20 May 2025 16:06:00 +0200 Subject: [PATCH] fix that timetracker duration popover instantly closes on click if another element was focused before --- .../ui/src/TimeTracker/TimeTrackerRangeSelector.vue | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/resources/js/packages/ui/src/TimeTracker/TimeTrackerRangeSelector.vue b/resources/js/packages/ui/src/TimeTracker/TimeTrackerRangeSelector.vue index c241e3da..acbb26b3 100644 --- a/resources/js/packages/ui/src/TimeTracker/TimeTrackerRangeSelector.vue +++ b/resources/js/packages/ui/src/TimeTracker/TimeTrackerRangeSelector.vue @@ -101,15 +101,19 @@ const startTime = computed(() => { const inputField = ref(null); const timeRangeSelector = ref(null); +const isMouseDown = ref(false); function openModalOnTab(e: FocusEvent) { // check if the source is inside the dropdown + + console.log(e.target); const source = e.relatedTarget as HTMLElement; if ( source && window.document.body .querySelector('#app') - ?.contains(source) + ?.contains(source) && + !isMouseDown.value ) { open.value = true; } @@ -153,6 +157,8 @@ function closeAndFocusInput() { @keydown.exact.tab="focusNextElement" @keydown.exact.shift.tab="open = false" @blur="updateTimerAndStartLiveTimerUpdate" + @mousedown="isMouseDown = true" + @mouseup="isMouseDown = false" @keydown.enter="onTimeEntryEnterPress" />