feat(reminders): make adding new reminders less confusing
This commit is contained in:
parent
39cc7a00d8
commit
11f94e4037
@ -14,7 +14,7 @@
|
||||
<SimpleButton
|
||||
v-for="p in presets"
|
||||
class="option-button"
|
||||
@click="setReminderFromPreset(p)"
|
||||
@click="setReminderFromPreset(p, toggle)"
|
||||
>
|
||||
{{ formatReminder(p) }}
|
||||
</SimpleButton>
|
||||
@ -81,6 +81,10 @@ const props = defineProps({
|
||||
disabled: {
|
||||
default: false,
|
||||
},
|
||||
clearAfterUpdate: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
})
|
||||
|
||||
const emit = defineEmits(['update:modelValue'])
|
||||
@ -119,16 +123,25 @@ watch(
|
||||
{immediate: true},
|
||||
)
|
||||
|
||||
function updateData() {
|
||||
emit('update:modelValue', reminder.value)
|
||||
|
||||
if (props.clearAfterUpdate) {
|
||||
reminder.value = new TaskReminderModel()
|
||||
}
|
||||
}
|
||||
|
||||
function setReminderDate() {
|
||||
reminder.value.reminder = reminderDate.value === null
|
||||
? null
|
||||
: new Date(reminderDate.value)
|
||||
emit('update:modelValue', reminder.value)
|
||||
updateData()
|
||||
}
|
||||
|
||||
function setReminderFromPreset(preset) {
|
||||
function setReminderFromPreset(preset, toggle) {
|
||||
reminder.value = preset
|
||||
emit('update:modelValue', reminder.value)
|
||||
updateData()
|
||||
toggle()
|
||||
}
|
||||
|
||||
function formatReminder(reminder: TaskReminderModel) {
|
||||
|
@ -19,15 +19,11 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div v-if="!disabled" class="reminder-input">
|
||||
<BaseButton @click="toggleAddReminder">
|
||||
{{ $t('task.addReminder') }}
|
||||
</BaseButton>
|
||||
</div>
|
||||
|
||||
<div v-if="isAddReminder" class="reminder-input">
|
||||
<ReminderDetail :disabled="disabled" @update:modelValue="addNewReminder"/>
|
||||
</div>
|
||||
<ReminderDetail
|
||||
:disabled="disabled"
|
||||
@update:modelValue="addNewReminder"
|
||||
:clear-after-update="true"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -62,14 +58,7 @@ watch(
|
||||
{immediate: true},
|
||||
)
|
||||
|
||||
const isAddReminder = ref(false)
|
||||
|
||||
function toggleAddReminder() {
|
||||
isAddReminder.value = !isAddReminder.value
|
||||
}
|
||||
|
||||
function updateData() {
|
||||
isAddReminder.value = false
|
||||
emit('update:modelValue', reminders.value)
|
||||
}
|
||||
|
||||
@ -81,12 +70,10 @@ function editReminder(index: number) {
|
||||
}
|
||||
|
||||
function addNewReminder(newReminder: ITaskReminder) {
|
||||
console.log('add new reminder', newReminder)
|
||||
if (newReminder === null) {
|
||||
return
|
||||
}
|
||||
reminders.value.push(newReminder)
|
||||
newReminder = reactive(new TaskReminderModel())
|
||||
updateData()
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user