From 58af5afda21a3e61c7fecfb0297c8794c16bd92d Mon Sep 17 00:00:00 2001 From: cproudlock Date: Mon, 13 Jul 2026 14:21:34 -0400 Subject: [PATCH] List rows click through to the item; drop the redundant VLANs tab Row-click: the whole table row now navigates to the item detail (machines, PCs, printers, network devices, measuring tools, applications), matching the Networks list. The actions cell is @click.stop so View/Edit/Delete still work independently; a shared .clickable-row style gives the cursor + hover. Network hub: drop the VLANs tab - a subnet belongs to a VLAN (each Networks row already shows its VLAN) so a sibling tab was redundant; VLAN naming stays in Settings. Hub is now Devices | Networks. Verified: row-click navigates on machines/pcs/network; hub shows two tabs. Co-Authored-By: Claude Opus 4.8 --- frontend/src/assets/style.css | 6 + .../views/applications/ApplicationsList.vue | 426 +++++------ frontend/src/views/machines/MachinesList.vue | 4 +- .../measuringtools/MeasuringToolsList.vue | 4 +- .../src/views/network/NetworkDevicesList.vue | 694 +++++++++--------- frontend/src/views/network/NetworkHub.vue | 4 +- frontend/src/views/pcs/PCsList.vue | 422 +++++------ frontend/src/views/printers/PrintersList.vue | 4 +- 8 files changed, 785 insertions(+), 779 deletions(-) diff --git a/frontend/src/assets/style.css b/frontend/src/assets/style.css index 890d657..9272855 100644 --- a/frontend/src/assets/style.css +++ b/frontend/src/assets/style.css @@ -1742,3 +1742,9 @@ td.actions { color: var(--text-light); cursor: pointer; } + +/* Clickable list rows: the whole row navigates to the item detail; interactive + cells (the actions column, in-row links) stop propagation so they still work + independently. */ +.clickable-row { cursor: pointer; } +.clickable-row:hover td { background: var(--bg); } diff --git a/frontend/src/views/applications/ApplicationsList.vue b/frontend/src/views/applications/ApplicationsList.vue index a8b7ab5..9ce783a 100644 --- a/frontend/src/views/applications/ApplicationsList.vue +++ b/frontend/src/views/applications/ApplicationsList.vue @@ -1,213 +1,213 @@ - - - - - + + + + + diff --git a/frontend/src/views/machines/MachinesList.vue b/frontend/src/views/machines/MachinesList.vue index 0b2ba52..b31db8f 100644 --- a/frontend/src/views/machines/MachinesList.vue +++ b/frontend/src/views/machines/MachinesList.vue @@ -36,7 +36,7 @@ - + {{ item.assetnumber }} @@ -50,7 +50,7 @@ {{ item.locationname || '-' }} - + - + {{ item.assetnumber }} {{ item.name || '-' }} {{ item.serialnumber || '-' }} @@ -61,7 +61,7 @@ {{ item.locationname || '-' }} - + -
- - - -
- - -
- - -
- - - -
- -
-
Loading...
- - -
-
- - - - - + + + + + diff --git a/frontend/src/views/network/NetworkHub.vue b/frontend/src/views/network/NetworkHub.vue index 089900e..2a9015f 100644 --- a/frontend/src/views/network/NetworkHub.vue +++ b/frontend/src/views/network/NetworkHub.vue @@ -21,15 +21,15 @@ import { ref, computed, watch } from 'vue' import { useRoute, useRouter } from 'vue-router' import NetworkDevicesList from './NetworkDevicesList.vue' import SubnetsBrowse from './SubnetsBrowse.vue' -import VLANsList from '../settings/VLANsList.vue' const route = useRoute() const router = useRouter() +// VLANs are a layer under a subnet (each Networks row shows its VLAN); VLAN +// naming lives in Settings, so the hub is just Devices + Networks. const tabs = [ { key: 'devices', label: 'Devices', comp: NetworkDevicesList }, { key: 'networks', label: 'Networks', comp: SubnetsBrowse }, - { key: 'vlans', label: 'VLANs', comp: VLANsList }, ] const active = ref(tabs.some(t => t.key === route.query.tab) ? route.query.tab : 'devices') diff --git a/frontend/src/views/pcs/PCsList.vue b/frontend/src/views/pcs/PCsList.vue index 4ba419c..3c05e74 100644 --- a/frontend/src/views/pcs/PCsList.vue +++ b/frontend/src/views/pcs/PCsList.vue @@ -1,211 +1,211 @@ - - - - - + + + + + diff --git a/frontend/src/views/printers/PrintersList.vue b/frontend/src/views/printers/PrintersList.vue index 2b0fa82..f64acf0 100644 --- a/frontend/src/views/printers/PrintersList.vue +++ b/frontend/src/views/printers/PrintersList.vue @@ -44,7 +44,7 @@ - + {{ printer.assetnumber }} {{ printer.name && printer.name.toUpperCase() !== 'NONE' ? printer.name : (printer.printer?.hostname || '-') }} {{ printer.businessunitname || '-' }} @@ -55,7 +55,7 @@ {{ printer.statusname || 'Active' }} - +