mirror of
https://github.com/mayswind/ezbookkeeping.git
synced 2026-05-20 01:34:24 +08:00
fix the checkbox in the scheduled transaction frequency dropdown list couldn’t be used to select options (#225)
This commit is contained in:
@@ -34,7 +34,8 @@
|
|||||||
:class="{ 'frequency-value-selected v-list-item--active text-primary': isFrequencyValueSelected(weekDay.type) }"
|
:class="{ 'frequency-value-selected v-list-item--active text-primary': isFrequencyValueSelected(weekDay.type) }"
|
||||||
v-for="weekDay in allWeekDays">
|
v-for="weekDay in allWeekDays">
|
||||||
<template #prepend="{ isActive }">
|
<template #prepend="{ isActive }">
|
||||||
<v-checkbox density="compact" class="me-1" :model-value="isActive"></v-checkbox>
|
<v-checkbox density="compact" class="me-1" :model-value="isActive"
|
||||||
|
@update:model-value="updateFrequencyValue(weekDay.type, $event)"></v-checkbox>
|
||||||
</template>
|
</template>
|
||||||
</v-list-item>
|
</v-list-item>
|
||||||
</v-list>
|
</v-list>
|
||||||
@@ -44,7 +45,8 @@
|
|||||||
:class="{ 'frequency-value-selected v-list-item--active text-primary': isFrequencyValueSelected(monthDay.day) }"
|
:class="{ 'frequency-value-selected v-list-item--active text-primary': isFrequencyValueSelected(monthDay.day) }"
|
||||||
v-for="monthDay in allAvailableMonthDays">
|
v-for="monthDay in allAvailableMonthDays">
|
||||||
<template #prepend="{ isActive }">
|
<template #prepend="{ isActive }">
|
||||||
<v-checkbox density="compact" class="me-1" :model-value="isActive"></v-checkbox>
|
<v-checkbox density="compact" class="me-1" :model-value="isActive"
|
||||||
|
@update:model-value="updateFrequencyValue(monthDay.day, $event)"></v-checkbox>
|
||||||
</template>
|
</template>
|
||||||
</v-list-item>
|
</v-list-item>
|
||||||
</v-list>
|
</v-list>
|
||||||
@@ -132,6 +134,23 @@ const displayFrequency = computed<string>(() => {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
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 {
|
function isFrequencyValueSelected(value: number): boolean {
|
||||||
for (let i = 0; i < frequencyValue.value.length; i++) {
|
for (let i = 0; i < frequencyValue.value.length; i++) {
|
||||||
if (frequencyValue.value[i] === value) {
|
if (frequencyValue.value[i] === value) {
|
||||||
|
|||||||
Reference in New Issue
Block a user