diff --git a/apps/desktop/src/components/diff/DataCompareDialog.vue b/apps/desktop/src/components/diff/DataCompareDialog.vue index 30203edc10..15d610b142 100644 --- a/apps/desktop/src/components/diff/DataCompareDialog.vue +++ b/apps/desktop/src/components/diff/DataCompareDialog.vue @@ -833,6 +833,7 @@ function toggleShowAll(table: DataCompareTableResult, kind: DiffKind) { function setDiffSelection(kind: DiffKind, selected: boolean) { if (executionLocked.value) return; batchResults.value.forEach((table) => { + if (!table.syncEligible) return; table.diff[kind].forEach((row) => { row.selected = selected; }); @@ -841,7 +842,7 @@ function setDiffSelection(kind: DiffKind, selected: boolean) { } function setTableDiffSelection(table: DataCompareTableResult, kind: DiffKind, selected: boolean) { - if (executionLocked.value) return; + if (executionLocked.value || !table.syncEligible) return; table.diff[kind].forEach((row) => { row.selected = selected; }); @@ -860,8 +861,8 @@ function clearAllSelections() { rebuildSyncPlan().catch((e) => toast(String(e), 5000)); } -function toggleRowSelection(row: SelectableDataCompareRow | SelectableDataCompareModifiedRow) { - if (executionLocked.value) return; +function toggleRowSelection(table: DataCompareTableResult, row: SelectableDataCompareRow | SelectableDataCompareModifiedRow) { + if (executionLocked.value || !table.syncEligible) return; row.selected = !row.selected; rebuildSyncPlan().catch((e) => toast(String(e), 5000)); } @@ -1631,10 +1632,10 @@ onBeforeUnmount(() => { {{ t(`diff.${kind}`) }} {{ selectedRows(item, kind) }}/{{ item.diff[kind].length }} - -