From e70548fcc00a819b84da5285e2c0cb1bc0b3e325 Mon Sep 17 00:00:00 2001 From: vabene1111 Date: Thu, 28 Aug 2025 18:20:26 +0200 Subject: [PATCH] added split/merge steps to recipe view --- .../components/model_editors/RecipeEditor.vue | 30 ++++++-- vue3/src/pages/RecipeImportPage.vue | 69 +++--------------- vue3/src/utils/step_utils.ts | 73 +++++++++++++++++++ 3 files changed, 106 insertions(+), 66 deletions(-) create mode 100644 vue3/src/utils/step_utils.ts diff --git a/vue3/src/components/model_editors/RecipeEditor.vue b/vue3/src/components/model_editors/RecipeEditor.vue index 90eccbdc7..ecd554527 100644 --- a/vue3/src/components/model_editors/RecipeEditor.vue +++ b/vue3/src/components/model_editors/RecipeEditor.vue @@ -63,8 +63,8 @@ - - {{$t('Steps')}} + + {{ $t('Steps') }} @@ -77,12 +77,17 @@ - + {{ $t('Add_Step') }} + + {{ $t('Split') }} + {{ $t('Merge') }} + + @@ -101,7 +106,7 @@ - @@ -110,7 +115,7 @@ - {{$t('SpaceLimitReached')}} + {{ $t('SpaceLimitReached') }} {{ $t('SpaceSettings') }} @@ -152,6 +157,7 @@ import {useDisplay} from "vuetify"; import {isSpaceAtRecipeLimit} from "@/utils/logic_utils"; import {useUserPreferenceStore} from "@/stores/UserPreferenceStore"; import SpaceSettings from "@/components/settings/SpaceSettings.vue"; +import {mergeAllSteps, splitAllSteps} from "@/utils/step_utils.ts"; const props = defineProps({ @@ -188,7 +194,7 @@ onMounted(() => { /** * component specific state setup logic */ -function initializeEditor(){ +function initializeEditor() { setupState(props.item, props.itemId, { newItemFunction: () => { editingObj.value.steps = [] as Step[] @@ -249,6 +255,18 @@ function deleteStepAtIndex(index: number) { editingObj.value.steps.splice(index, 1) } +function handleMergeAllSteps(): void { + if (editingObj.value.steps) { + mergeAllSteps(editingObj.value.steps) + } +} + +function handleSplitAllSteps(): void { + if (editingObj.value.steps) { + splitAllSteps(editingObj.value.steps, '\n') + } +} +