mirror of
https://github.com/mealie-recipes/mealie.git
synced 2025-08-04 04:55:21 +02:00
fix: Meal Plan Notes allow Submission Without Title/Note Text (#4615)
Co-authored-by: Hayden <64056131+hay-kot@users.noreply.github.com>
This commit is contained in:
parent
497424528d
commit
f1e9615efd
1 changed files with 14 additions and 1 deletions
|
@ -22,6 +22,7 @@
|
||||||
resetDialog();
|
resetDialog();
|
||||||
"
|
"
|
||||||
@close="resetDialog()"
|
@close="resetDialog()"
|
||||||
|
:submitDisabled="isCreateDisabled"
|
||||||
>
|
>
|
||||||
<v-card-text>
|
<v-card-text>
|
||||||
<v-menu
|
<v-menu
|
||||||
|
@ -70,9 +71,10 @@
|
||||||
item-text="name"
|
item-text="name"
|
||||||
item-value="id"
|
item-value="id"
|
||||||
:return-object="false"
|
:return-object="false"
|
||||||
|
:rules="[requiredRule]"
|
||||||
/>
|
/>
|
||||||
<template v-else>
|
<template v-else>
|
||||||
<v-text-field v-model="newMeal.title" :label="$t('meal-plan.meal-title')" />
|
<v-text-field v-model="newMeal.title" :rules="[requiredRule]" :label="$t('meal-plan.meal-title')" />
|
||||||
<v-textarea v-model="newMeal.text" rows="2" :label="$t('meal-plan.meal-note')" />
|
<v-textarea v-model="newMeal.text" rows="2" :label="$t('meal-plan.meal-note')" />
|
||||||
</template>
|
</template>
|
||||||
</v-card-text>
|
</v-card-text>
|
||||||
|
@ -253,6 +255,7 @@ export default defineComponent({
|
||||||
const api = useUserApi();
|
const api = useUserApi();
|
||||||
const { $auth } = useContext();
|
const { $auth } = useContext();
|
||||||
const { household } = useHouseholdSelf();
|
const { household } = useHouseholdSelf();
|
||||||
|
const requiredRule = (value: any) => !!value || "Required."
|
||||||
|
|
||||||
const state = ref({
|
const state = ref({
|
||||||
dialog: false,
|
dialog: false,
|
||||||
|
@ -315,6 +318,14 @@ export default defineComponent({
|
||||||
userId: $auth.user?.id || "",
|
userId: $auth.user?.id || "",
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const isCreateDisabled = computed(() => {
|
||||||
|
if (dialog.note) {
|
||||||
|
return !newMeal.title.trim();
|
||||||
|
}
|
||||||
|
return !newMeal.recipeId;
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
function openDialog(date: Date) {
|
function openDialog(date: Date) {
|
||||||
newMeal.date = format(date, "yyyy-MM-dd");
|
newMeal.date = format(date, "yyyy-MM-dd");
|
||||||
state.value.dialog = true;
|
state.value.dialog = true;
|
||||||
|
@ -373,6 +384,8 @@ export default defineComponent({
|
||||||
onMoveCallback,
|
onMoveCallback,
|
||||||
planTypeOptions,
|
planTypeOptions,
|
||||||
getEntryTypeText,
|
getEntryTypeText,
|
||||||
|
requiredRule,
|
||||||
|
isCreateDisabled,
|
||||||
|
|
||||||
// Dialog
|
// Dialog
|
||||||
dialog,
|
dialog,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue