refactor: customize empty table rows message

Signed-off-by: Andy Lee <andy.lee@suse.com>
This commit is contained in:
Andy Lee 2026-07-23 16:45:43 +08:00
parent 8779154ef1
commit 7592f5b64d
No known key found for this signature in database
GPG Key ID: 39DC4436AE3564D5
3 changed files with 24 additions and 2 deletions

View File

@ -382,9 +382,9 @@ defineExpose({ startMigration: startMigrationAction });
</template> </template>
<template #header-right> <template #header-right>
<a <a
role="button" href="#"
class="edit-selection-link" class="edit-selection-link"
@click="onEditSelection" @click.prevent="onEditSelection"
> >
{{ t('harvester.addons.vmMigration.reviewMigration.editSelection') }} {{ t('harvester.addons.vmMigration.reviewMigration.editSelection') }}
</a> </a>
@ -458,6 +458,21 @@ defineExpose({ startMigration: startMigrationAction });
</template> </template>
</rc-dropdown> </rc-dropdown>
</template> </template>
<template #no-rows>
<tr class="no-rows">
<td
:colspan="vmHeaders.length"
class="text-center"
>
{{ t('harvester.addons.vmMigration.reviewMigration.noVmSelected') }}
<a
href="#"
class="edit-selection-link"
@click.prevent="onEditSelection"
>{{ t('harvester.addons.vmMigration.reviewMigration.noVmSelectedLink') }}</a>
</td>
</tr>
</template>
</SortableTable> </SortableTable>
</div> </div>

View File

@ -2000,6 +2000,8 @@ harvester:
coldMigrationHint: Plan a maintenance window and notify relevant stakeholders before starting. coldMigrationHint: Plan a maintenance window and notify relevant stakeholders before starting.
virtualMachines: Virtual Machines virtualMachines: Virtual Machines
editSelection: Edit selection editSelection: Edit selection
noVmSelected: "No VMs selected. Return to "
noVmSelectedLink: "Step 2 to select virtual machines."
columns: columns:
vmName: VM Name vmName: VM Name
os: Operating System os: Operating System

View File

@ -184,6 +184,11 @@ const onEditMappings = () => {
const onRemoveVm = (id) => { const onRemoveVm = (id) => {
selectedVMs.value = selectedVMs.value.filter((vm) => vm.id !== id); selectedVMs.value = selectedVMs.value.filter((vm) => vm.id !== id);
stepData.vms.selectedVMIds.delete(id); stepData.vms.selectedVMIds.delete(id);
vmsReady.value = selectedVMs.value.length > 0;
if (!vmsReady.value) {
reviewReady.value = false;
}
}; };
// Clear downstream data when provider changes // Clear downstream data when provider changes