Skip to content

Commit 1f18682

Browse files
author
Ivanov N
committed
fix: ipfs nodes checkbox
1 parent 3ee95eb commit 1f18682

File tree

1 file changed

+29
-2
lines changed

1 file changed

+29
-2
lines changed

src/components/nodes/ipfs/IpfsNodesTable.vue

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
<template>
22
<NodesTableContainer>
3-
<NodesTableHead hide-label hide-socket />
3+
<NodesTableHead
4+
v-model="isAllNodesChecked"
5+
:indeterminate="isPartiallyChecked"
6+
hide-label
7+
hide-socket
8+
/>
49

510
<tbody>
611
<IpfsNodesTableItem v-for="node in ipfsNodes" :key="node.url" blockchain="adm" :node="node" />
@@ -14,6 +19,7 @@ import { useStore } from 'vuex'
1419
import NodesTableContainer from '@/components/nodes/components/NodesTableContainer.vue'
1520
import NodesTableHead from '@/components/nodes/components/NodesTableHead.vue'
1621
import IpfsNodesTableItem from './IpfsNodesTableItem.vue'
22+
import { type NodeStatusResult } from '@/lib/nodes/abstract.node'
1723
import { sortNodesFn } from '@/components/nodes/utils/sortNodesFn'
1824
1925
const className = 'ipfs-nodes-table'
@@ -35,9 +41,30 @@ export default defineComponent({
3541
return [...arr].sort(sortNodesFn)
3642
})
3743
44+
const nodes = computed<NodeStatusResult[]>(() => {
45+
const arr = store.getters['nodes/ipfs']
46+
47+
return [...arr].sort(sortNodesFn)
48+
})
49+
50+
const isAllNodesChecked = computed({
51+
get() {
52+
return nodes.value.every((node) => node.active)
53+
},
54+
set(value) {
55+
store.dispatch('nodes/toggleAll', { nodesType: 'ipfs', active: value })
56+
}
57+
})
58+
59+
const isPartiallyChecked = computed(() => {
60+
return nodes.value.some((node) => node.active) && nodes.value.some((node) => !node.active)
61+
})
62+
3863
return {
3964
ipfsNodes,
40-
classes
65+
classes,
66+
isAllNodesChecked,
67+
isPartiallyChecked
4168
}
4269
}
4370
})

0 commit comments

Comments
 (0)