diff --git a/vue3/src/components/display/HorizontalMealPlanWindow.vue b/vue3/src/components/display/HorizontalMealPlanWindow.vue
index d9df99191..4761a989e 100644
--- a/vue3/src/components/display/HorizontalMealPlanWindow.vue
+++ b/vue3/src/components/display/HorizontalMealPlanWindow.vue
@@ -46,7 +46,7 @@
-
+
{{$t('Edit')}}
diff --git a/vue3/src/components/display/RecipeView.vue b/vue3/src/components/display/RecipeView.vue
index f4f84c425..599841fc6 100644
--- a/vue3/src/components/display/RecipeView.vue
+++ b/vue3/src/components/display/RecipeView.vue
@@ -68,7 +68,7 @@
-
+
@@ -82,13 +82,13 @@ import {computed, onBeforeUnmount, onMounted, ref, watch} from 'vue'
import {Recipe} from "@/openapi"
import NumberScalerDialog from "@/components/inputs/NumberScalerDialog.vue"
import StepsOverview from "@/components/display/StepsOverview.vue";
-import Step from "@/components/display/Step.vue";
import RecipeActivity from "@/components/display/RecipeActivity.vue";
import RecipeContextMenu from "@/components/inputs/RecipeContextMenu.vue";
import KeywordsComponent from "@/components/display/KeywordsBar.vue";
import RecipeImage from "@/components/display/RecipeImage.vue";
import ExternalRecipeViewer from "@/components/display/ExternalRecipeViewer.vue";
import {useWakeLock} from "@vueuse/core";
+import StepView from "@/components/display/StepView.vue";
const {request, release} = useWakeLock()
diff --git a/vue3/src/components/display/Step.vue b/vue3/src/components/display/StepView.vue
similarity index 62%
rename from vue3/src/components/display/Step.vue
rename to vue3/src/components/display/StepView.vue
index a3ed92a28..9d86dd90d 100644
--- a/vue3/src/components/display/Step.vue
+++ b/vue3/src/components/display/StepView.vue
@@ -2,7 +2,11 @@
- {{ step.name }}{{ $t('Step') }} {{ props.stepNumber }}
+
+ {{ step.name }}
+ {{ step.stepRecipeData.name }}
+ {{ $t('Step') }} {{ props.stepNumber }}
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('Download') }}
+
diff --git a/vue3/src/components/inputs/StepEditor.vue b/vue3/src/components/inputs/StepEditor.vue
index fc30b27b5..f5ba24f59 100644
--- a/vue3/src/components/inputs/StepEditor.vue
+++ b/vue3/src/components/inputs/StepEditor.vue
@@ -40,7 +40,7 @@
-
+
diff --git a/vue3/src/components/model_editors/ModelEditorBase.vue b/vue3/src/components/model_editors/ModelEditorBase.vue
index f85a5158d..9f65cc82d 100644
--- a/vue3/src/components/model_editors/ModelEditorBase.vue
+++ b/vue3/src/components/model_editors/ModelEditorBase.vue
@@ -4,7 +4,7 @@
:title="$t(modelClass.model.localizationKey) + ((isChanged) ? '*' : '')"
:sub-title="objectName"
:icon="modelClass.model.icon"
- @close="emit('close');"
+ @close="closeDialog()"
:hide-close="!dialog"
>
@@ -26,11 +26,12 @@
- {{$t('WarnPageLeave')}}
+ {{ $t('WarnPageLeave') }}
{{ $t('Cancel') }}
- {{ $t('Confirm') }}
+ {{ $t('Confirm') }}
+ {{ $t('Confirm') }}
@@ -59,6 +60,9 @@ const props = defineProps({
const leaveConfirmDialog = ref(false)
const leaveGoTo = ref(null)
+/**
+ * before navigating to another page check for unsaved changes, if so display confirmation dialog
+ */
onBeforeRouteLeave((to, from) => {
if (props.isChanged && !leaveConfirmDialog.value) {
leaveConfirmDialog.value = true
@@ -68,6 +72,18 @@ onBeforeRouteLeave((to, from) => {
return true
})
+/**
+ * if object was changed open leave confirm dialog, if not emit close for parent to close dialog
+ * does not trigger when user clicks outside of dialog
+ */
+function closeDialog() {
+ if (props.isChanged && !leaveConfirmDialog.value) {
+ leaveConfirmDialog.value = true
+ } else {
+ emit('close');
+ }
+}
+