diff --git a/frontend/src/helpers/models.js b/frontend/src/helpers/models.js index 0c33315..b2d52cf 100644 --- a/frontend/src/helpers/models.js +++ b/frontend/src/helpers/models.js @@ -120,8 +120,9 @@ export function freshPeer() { Overridable: true, }, - // Internal value - IgnoreGlobalSettings: false + // Internal values + IgnoreGlobalSettings: false, + IsSelected: false } } @@ -148,7 +149,10 @@ export function freshUser() { ApiEnabled: false, - PeerCount: 0 + PeerCount: 0, + + // Internal values + IsSelected: false } } diff --git a/frontend/src/views/InterfaceView.vue b/frontend/src/views/InterfaceView.vue index cc8ed99..4322d9c 100644 --- a/frontend/src/views/InterfaceView.vue +++ b/frontend/src/views/InterfaceView.vue @@ -22,8 +22,9 @@ const multiCreatePeerId = ref("") const editInterfaceId = ref("") const viewedInterfaceId = ref("") -const sortKey = ref(""); -const sortOrder = ref(1); +const sortKey = ref("") +const sortOrder = ref(1) +const selectAll = ref(false) function sortBy(key) { if (sortKey.value === key) { @@ -81,6 +82,12 @@ async function saveConfig() { } } +function toggleSelectAll() { + peers.FilteredAndPaged.forEach(peer => { + peer.IsSelected = selectAll.value; + }); +} + onMounted(async () => { await interfaces.LoadInterfaces() await peers.LoadPeers(undefined) // use default interface @@ -326,7 +333,7 @@ onMounted(async () => { - + @@ -357,7 +364,7 @@ onMounted(async () => { - + diff --git a/frontend/src/views/ProfileView.vue b/frontend/src/views/ProfileView.vue index 295d743..ebfa091 100644 --- a/frontend/src/views/ProfileView.vue +++ b/frontend/src/views/ProfileView.vue @@ -13,8 +13,9 @@ const profile = profileStore() const viewedPeerId = ref("") const editPeerId = ref("") -const sortKey = ref(""); -const sortOrder = ref(1); +const sortKey = ref("") +const sortOrder = ref(1) +const selectAll = ref(false) function sortBy(key) { if (sortKey.value === key) { @@ -34,6 +35,12 @@ function friendlyInterfaceName(id, name) { return id } +function toggleSelectAll() { + profile.FilteredAndPagedPeers.forEach(peer => { + peer.IsSelected = selectAll.value; + }); +} + onMounted(async () => { await profile.LoadUser() await profile.LoadPeers() @@ -86,8 +93,7 @@ onMounted(async () => { - + @@ -112,7 +118,7 @@ onMounted(async () => { - + { + user.IsSelected = selectAll.value; + }); +} + onMounted(() => { users.LoadUsers() }) @@ -49,7 +58,7 @@ onMounted(() => { - + {{ $t('users.table-heading.id') }} @@ -65,7 +74,7 @@ onMounted(() => { - +