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