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 }} + 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'); + } +} +