()
| 1281 | } |
| 1282 | |
| 1283 | async function reloadVMs() { |
| 1284 | try { |
| 1285 | errorMessage.value = ''; |
| 1286 | successMessage.value = ''; |
| 1287 | |
| 1288 | const response = await vmmRpc.reloadVms({}); |
| 1289 | |
| 1290 | // Show success message with statistics |
| 1291 | if (response.loaded > 0 || response.updated > 0 || response.removed > 0) { |
| 1292 | let message = 'VM reload completed: '; |
| 1293 | const parts = []; |
| 1294 | if (response.loaded > 0) parts.push(`${response.loaded} loaded`); |
| 1295 | if (response.updated > 0) parts.push(`${response.updated} updated`); |
| 1296 | if (response.removed > 0) parts.push(`${response.removed} removed`); |
| 1297 | |
| 1298 | successMessage.value = message + parts.join(', '); |
| 1299 | } else { |
| 1300 | successMessage.value = 'VM reload completed: no changes detected'; |
| 1301 | } |
| 1302 | |
| 1303 | // Reload the VM list to show updated data |
| 1304 | await loadVMList(); |
| 1305 | |
| 1306 | // Hide message after 5 seconds |
| 1307 | setTimeout(() => { |
| 1308 | successMessage.value = ''; |
| 1309 | }, 5000); |
| 1310 | |
| 1311 | } catch (error: any) { |
| 1312 | console.error('Failed to reload VMs:', error); |
| 1313 | errorMessage.value = `Failed to reload VMs: ${error.message || error.toString()}`; |
| 1314 | |
| 1315 | // Hide error message after 10 seconds |
| 1316 | setTimeout(() => { |
| 1317 | errorMessage.value = ''; |
| 1318 | }, 10000); |
| 1319 | } |
| 1320 | } |
| 1321 | |
| 1322 | function toggleDropdown(event: Event, vm: VmListItem) { |
| 1323 | document.querySelectorAll('.dropdown-content').forEach((dropdown) => { |
nothing calls this directly
no test coverage detected