new recipe fix

This commit is contained in:
vabene1111
2024-12-19 21:22:39 +01:00
parent 3e3780028b
commit 0399763888
5 changed files with 15 additions and 7 deletions

View File

@@ -10,7 +10,7 @@
<v-icon icon="$add"></v-icon>
<v-menu activator="parent">
<v-list>
<v-list-item prepend-icon="$add" :to="{ name: 'ModelEditPage', params: {model: 'Recipe'} }">{{ $t('Create Recipe') }}</v-list-item>
<v-list-item prepend-icon="$add" :to="{ name: 'ModelEditPage', params: {model: 'recipe'} }">{{ $t('Create Recipe') }}</v-list-item>
<v-list-item prepend-icon="fa-solid fa-globe" :to="{ name: 'RecipeImportPage', params: {} }">{{ $t('Import Recipe') }}</v-list-item>
</v-list>
</v-menu>

View File

@@ -100,7 +100,8 @@
<v-list>
<vue-draggable handle=".drag-handle" v-model="editingObj.steps" :on-sort="sortSteps">
<v-list-item v-for="(s,i) in editingObj.steps" :key="s.id">
<v-chip color="primary">{{ i + 1 }}</v-chip> {{s.name}}
<v-chip color="primary">{{ i + 1 }}</v-chip>
{{ s.name }}
<template #append>
<v-icon class="drag-handle" icon="$dragHandle"></v-icon>
</template>
@@ -115,7 +116,7 @@
<script setup lang="ts">
import {onMounted, PropType, ref} from "vue";
import {Recipe} from "@/openapi";
import {Recipe, Step} from "@/openapi";
import ModelEditorBase from "@/components/model_editors/ModelEditorBase.vue";
import {useModelEditorFunctions} from "@/composables/useModelEditorFunctions";
import {useI18n} from "vue-i18n";
@@ -140,7 +141,11 @@ const tab = ref("recipe")
const dialogStepManager = ref(false)
onMounted(() => {
setupState(props.item, props.itemId)
setupState(props.item, props.itemId, {
newItemFunction: () => {
editingObj.value.steps = [] as Step[]
}
})
})
/**

View File

@@ -145,6 +145,7 @@ export function useModelEditorFunctions<T>(modelName: EditorSupportedModels, emi
editingObj.value = r
useMessageStore().addPreparedMessage(PreparedMessage.UPDATE_SUCCESS)
}).catch((err: any) => {
console.error(err)
useMessageStore().addError(ErrorMessageType.UPDATE_ERROR, err)
}).finally(() => {
loading.value = false
@@ -155,6 +156,7 @@ export function useModelEditorFunctions<T>(modelName: EditorSupportedModels, emi
editingObj.value = r
useMessageStore().addPreparedMessage(PreparedMessage.CREATE_SUCCESS)
}).catch((err: any) => {
console.error(err)
useMessageStore().addError(ErrorMessageType.CREATE_ERROR, err)
}).finally(() => {
loading.value = false

View File

@@ -6,7 +6,7 @@
<v-card-title><i class="fa-solid fa-eye-slash"></i> {{ $t('search_no_recipes') }}</v-card-title>
<v-card-text>
<v-btn-group divided>
<v-btn size="large" color="success" prepend-icon="$create" :to="{ name: 'ModelEditPage', params: {model: 'Recipe'} }">{{ $t('Create Recipe') }}</v-btn>
<v-btn size="large" color="success" prepend-icon="$create" :to="{ name: 'ModelEditPage', params: {model: 'recipe'} }">{{ $t('Create Recipe') }}</v-btn>
<v-btn size="large" color="primary" prepend-icon="fa-solid fa-globe" :to="{ name: 'RecipeImportPage', params: {} }">{{ $t('Import Recipe') }}</v-btn>
</v-btn-group>
</v-card-text>

View File

@@ -4,6 +4,7 @@ import {useStorage} from "@vueuse/core";
import {DateTime} from "luxon";
import {ResponseError} from "@/openapi";
import {useI18n} from "vue-i18n";
import {useUserPreferenceStore} from "@/stores/UserPreferenceStore";
/** @enum {string} different message types */
export enum MessageType {