mirror of
				https://github.com/mealie-recipes/mealie.git
				synced 2025-10-30 17:53:31 -04:00 
			
		
		
		
	fix: Misc Issues with Ingredient Parser (#6250)
This commit is contained in:
		| @@ -59,6 +59,7 @@ | ||||
|           class="mx-1" | ||||
|           :placeholder="$t('recipe.choose-unit')" | ||||
|           clearable | ||||
|           :menu-props="{ attach: props.menuAttachTarget, maxHeight: '250px' }" | ||||
|           @keyup.enter="handleUnitEnter" | ||||
|         > | ||||
|           <template #prepend> | ||||
| @@ -115,6 +116,7 @@ | ||||
|           class="mx-1 py-0" | ||||
|           :placeholder="$t('recipe.choose-food')" | ||||
|           clearable | ||||
|           :menu-props="{ attach: props.menuAttachTarget, maxHeight: '250px' }" | ||||
|           @keyup.enter="handleFoodEnter" | ||||
|         > | ||||
|           <template #prepend> | ||||
| @@ -198,6 +200,10 @@ import type { RecipeIngredient } from "~/lib/api/types/recipe"; | ||||
| const model = defineModel<RecipeIngredient>({ required: true }); | ||||
|  | ||||
| const props = defineProps({ | ||||
|   menuAttachTarget: { | ||||
|     type: String, | ||||
|     default: "body", | ||||
|   }, | ||||
|   unitError: { | ||||
|     type: Boolean, | ||||
|     default: false, | ||||
|   | ||||
| @@ -3,6 +3,7 @@ | ||||
|     :model-value="modelValue" | ||||
|     :title="$t('recipe.parse-ingredients')" | ||||
|     :icon="$globals.icons.fileSign" | ||||
|     disable-submit-on-enter | ||||
|     @update:model-value="emit('update:modelValue', $event)" | ||||
|   > | ||||
|     <v-container class="pa-2 ma-0" style="background-color: rgb(var(--v-theme-background));"> | ||||
| @@ -76,7 +77,11 @@ | ||||
|                 {{ i18n.t("recipe.parser.missing-unit", { unit: currentMissingUnit }) }} | ||||
|               </BaseButton> | ||||
|               <BaseButton | ||||
|                 v-if="currentMissingUnit && currentIng.ingredient.unit?.id" | ||||
|                 v-if=" | ||||
|                   currentMissingUnit | ||||
|                   && currentIng.ingredient.unit?.id | ||||
|                   && currentMissingUnit.toLowerCase() != currentIng.ingredient.unit?.name.toLowerCase() | ||||
|                 " | ||||
|                 color="warning" | ||||
|                 size="small" | ||||
|                 @click="addMissingUnitAsAlias" | ||||
| @@ -92,7 +97,11 @@ | ||||
|                 {{ i18n.t("recipe.parser.missing-food", { food: currentMissingFood }) }} | ||||
|               </BaseButton> | ||||
|               <BaseButton | ||||
|                 v-if="currentMissingFood && currentIng.ingredient.food?.id" | ||||
|                 v-if=" | ||||
|                   currentMissingFood | ||||
|                   && currentIng.ingredient.food?.id | ||||
|                   && currentMissingFood.toLowerCase() != currentIng.ingredient.food?.name.toLowerCase() | ||||
|                 " | ||||
|                 color="warning" | ||||
|                 size="small" | ||||
|                 @click="addMissingFoodAsAlias" | ||||
|   | ||||
| @@ -10,9 +10,7 @@ | ||||
|       :max-width="maxWidth ?? undefined" | ||||
|       :content-class="top ? 'top-dialog' : undefined" | ||||
|       :fullscreen="$vuetify.display.xs" | ||||
|       @keydown.enter="() => { | ||||
|         emit('submit'); dialog = false; | ||||
|       }" | ||||
|       @keydown.enter="submitOnEnter" | ||||
|       @click:outside="emit('cancel')" | ||||
|       @keydown.esc="emit('cancel')" | ||||
|     > | ||||
| @@ -127,6 +125,7 @@ interface DialogProps { | ||||
|   canDelete?: boolean; | ||||
|   canConfirm?: boolean; | ||||
|   canSubmit?: boolean; | ||||
|   disableSubmitOnEnter?: boolean; | ||||
| } | ||||
|  | ||||
| interface DialogEmits { | ||||
| @@ -150,6 +149,7 @@ const props = withDefaults(defineProps<DialogProps>(), { | ||||
|   canDelete: false, | ||||
|   canConfirm: false, | ||||
|   canSubmit: false, | ||||
|   disableSubmitOnEnter: false, | ||||
| }); | ||||
| const emit = defineEmits<DialogEmits>(); | ||||
|  | ||||
| @@ -181,6 +181,14 @@ function submitEvent() { | ||||
|   submitted.value = true; | ||||
| } | ||||
|  | ||||
| function submitOnEnter() { | ||||
|   if (props.disableSubmitOnEnter) { | ||||
|     return; | ||||
|   } | ||||
|  | ||||
|   submitEvent(); | ||||
| } | ||||
|  | ||||
| function deleteEvent() { | ||||
|   emit("delete"); | ||||
|   submitted.value = true; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user