1
0

fix(reminders): make debounce logic actually work

This commit is contained in:
kolaente 2024-03-13 20:10:53 +01:00
parent d4605905d3
commit 07e84f2abf
No known key found for this signature in database
GPG Key ID: F40E70337AB24C9B
2 changed files with 12 additions and 11 deletions

View File

@ -19,7 +19,7 @@
</Fancycheckbox> </Fancycheckbox>
</div> </div>
<FilterInputDocs/> <FilterInputDocs />
<template <template
v-if="hasFooter" v-if="hasFooter"

View File

@ -60,7 +60,7 @@
v-if="showFormSwitch !== null" v-if="showFormSwitch !== null"
class="reminder__close-button" class="reminder__close-button"
:shadow="false" :shadow="false"
@click="updateDataAndMaybeClose(close)" @click="updateDataAndMaybeCloseNow(close)"
> >
{{ $t('misc.confirm') }} {{ $t('misc.confirm') }}
</x-button> </x-button>
@ -113,7 +113,7 @@ const presets = computed<TaskReminderModel[]>(() => [
{reminder: null, relativePeriod: -1 * SECONDS_A_DAY * 7, relativeTo: defaultRelativeTo}, {reminder: null, relativePeriod: -1 * SECONDS_A_DAY * 7, relativeTo: defaultRelativeTo},
{reminder: null, relativePeriod: -1 * SECONDS_A_DAY * 30, relativeTo: defaultRelativeTo}, {reminder: null, relativePeriod: -1 * SECONDS_A_DAY * 30, relativeTo: defaultRelativeTo},
]) ])
const reminderDate = ref<Date|null>(null) const reminderDate = ref<Date | null>(null)
type availableForms = null | 'relative' | 'absolute' type availableForms = null | 'relative' | 'absolute'
@ -143,10 +143,10 @@ const reminderText = computed(() => {
watch( watch(
() => modelValue, () => modelValue,
(newReminder) => { (newReminder) => {
if(newReminder) { if (newReminder) {
reminder.value = newReminder reminder.value = newReminder
if(newReminder.relativeTo === null) { if (newReminder.relativeTo === null) {
reminderDate.value = new Date(newReminder.reminder) reminderDate.value = new Date(newReminder.reminder)
} }
@ -182,9 +182,10 @@ function setReminderFromPreset(preset, close) {
close() close()
} }
const updateDataDebounced = useDebounceFn(updateData, 1000) const updateDataAndMaybeClose = useDebounceFn(updateDataAndMaybeCloseNow, 500)
function updateDataAndMaybeClose(close) {
updateDataDebounced() function updateDataAndMaybeCloseNow(close) {
updateData()
if (clearAfterUpdate) { if (clearAfterUpdate) {
close() close()
} }