File tree Expand file tree Collapse file tree 1 file changed +29
-2
lines changed
src/components/nodes/ipfs Expand file tree Collapse file tree 1 file changed +29
-2
lines changed Original file line number Diff line number Diff line change 1
1
<template >
2
2
<NodesTableContainer >
3
- <NodesTableHead hide-label hide-socket />
3
+ <NodesTableHead
4
+ v-model =" isAllNodesChecked"
5
+ :indeterminate =" isPartiallyChecked"
6
+ hide-label
7
+ hide-socket
8
+ />
4
9
5
10
<tbody >
6
11
<IpfsNodesTableItem v-for =" node in ipfsNodes" :key =" node.url" blockchain =" adm" :node =" node" />
@@ -14,6 +19,7 @@ import { useStore } from 'vuex'
14
19
import NodesTableContainer from ' @/components/nodes/components/NodesTableContainer.vue'
15
20
import NodesTableHead from ' @/components/nodes/components/NodesTableHead.vue'
16
21
import IpfsNodesTableItem from ' ./IpfsNodesTableItem.vue'
22
+ import { type NodeStatusResult } from ' @/lib/nodes/abstract.node'
17
23
import { sortNodesFn } from ' @/components/nodes/utils/sortNodesFn'
18
24
19
25
const className = ' ipfs-nodes-table'
@@ -35,9 +41,30 @@ export default defineComponent({
35
41
return [... arr ].sort (sortNodesFn )
36
42
})
37
43
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
+
38
63
return {
39
64
ipfsNodes ,
40
- classes
65
+ classes ,
66
+ isAllNodesChecked ,
67
+ isPartiallyChecked
41
68
}
42
69
}
43
70
})
You can’t perform that action at this time.
0 commit comments