2 Commits
Author SHA1 Message Date
MahdiandCursor 6b4bd0b03e fix(web): drop unused merge wizard props after preview load fix
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 22:02:56 +03:30
MahdiandCursor 910c7f51b0 fix(web): load pipeline merge preview when wizard opens
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 21:59:46 +03:30
2 changed files with 8 additions and 12 deletions
@@ -4,7 +4,6 @@ import axios from 'axios';
import type {
MergePipelineRequest,
MergePipelineResultDto,
PipelineDto,
PipelineMergePreviewDto,
PipelineMergePreviewStageDto,
} from '@mento/shared';
@@ -18,7 +17,6 @@ type Step = 'target' | 'map' | 'review';
const props = defineProps<{
open: boolean;
sourceId: string | null;
pipelines: PipelineDto[];
}>();
const emit = defineEmits<{
@@ -33,11 +31,6 @@ const stageMap = ref<Record<string, string>>({});
const busy = ref(false);
const error = ref('');
const sourceName = computed(() => {
if (preview.value) return preview.value.source.name;
return props.pipelines.find((pipeline) => pipeline.id === props.sourceId)?.name ?? '';
});
const selectedTarget = computed(
() => preview.value?.targets.find((target) => target.id === targetId.value) ?? null,
);
@@ -161,10 +154,14 @@ async function submitMerge() {
watch(
() => [props.open, props.sourceId] as const,
async ([open, id]) => {
if (!open || !id) {
resetState();
return;
}
resetState();
if (!open || !id) return;
await loadPreview(id);
},
{ immediate: true },
);
watch(targetId, () => {
@@ -283,9 +280,9 @@ watch(targetId, () => {
</section>
</template>
<p v-else-if="!error" class="muted">
برای شروع ادغام، کاریز مبدا را انتخاب کنید.
<template v-if="sourceName">مبدا فعلی: {{ sourceName }}</template>
<p v-else-if="!busy && !error" class="muted">
<template v-if="sourceId">در حال بارگذاری پیش‌نمایش ادغام…</template>
<template v-else>برای شروع ادغام، از فهرست کاریزها دکمهٔ «ادغام» را بزنید.</template>
</p>
<p v-if="error" class="error">{{ error }}</p>
@@ -157,7 +157,6 @@ onMounted(load);
<PipelineMergeWizard
:open="mergeOpen"
:source-id="mergeSourceId"
:pipelines="pipelines"
@close="closeMerge"
@done="onMergeDone"
/>