From d6dc9f817040d419605865657e4f8ee1b3aa120a Mon Sep 17 00:00:00 2001 From: MaysWind Date: Wed, 3 Sep 2025 19:50:00 +0800 Subject: [PATCH] =?UTF-8?q?fix=20the=20checkbox=20in=20the=20scheduled=20t?= =?UTF-8?q?ransaction=20frequency=20dropdown=20list=20couldn=E2=80=99t=20b?= =?UTF-8?q?e=20used=20to=20select=20options=20(#225)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../desktop/ScheduleFrequencySelect.vue | 23 +++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/src/components/desktop/ScheduleFrequencySelect.vue b/src/components/desktop/ScheduleFrequencySelect.vue index 39104a60..367c0526 100644 --- a/src/components/desktop/ScheduleFrequencySelect.vue +++ b/src/components/desktop/ScheduleFrequencySelect.vue @@ -34,7 +34,8 @@ :class="{ 'frequency-value-selected v-list-item--active text-primary': isFrequencyValueSelected(weekDay.type) }" v-for="weekDay in allWeekDays"> @@ -44,7 +45,8 @@ :class="{ 'frequency-value-selected v-list-item--active text-primary': isFrequencyValueSelected(monthDay.day) }" v-for="monthDay in allAvailableMonthDays"> @@ -132,6 +134,23 @@ const displayFrequency = computed(() => { } }); +function updateFrequencyValue(value: number, selected: boolean | null): void { + const currentFrequencyValues = frequencyValue.value; + const newFrequencyValues: number[] = []; + + for (let i = 0; i < currentFrequencyValues.length; i++) { + if (currentFrequencyValues[i] !== value || selected) { + newFrequencyValues.push(currentFrequencyValues[i]); + } + } + + if (selected) { + newFrequencyValues.push(value); + } + + frequencyValue.value = sortNumbersArray(newFrequencyValues); +} + function isFrequencyValueSelected(value: number): boolean { for (let i = 0; i < frequencyValue.value.length; i++) { if (frequencyValue.value[i] === value) {