@@ -25,7 +25,7 @@ import {getDefaultNodePath} from '../Node/NodePages';
25
25
26
26
import i18n from './i18n' ;
27
27
28
- function getColumns ( { database} : { database ?: string } ) {
28
+ function getColumns ( { database, nodeId } : { database ?: string ; nodeId ?: string | number } ) {
29
29
const columns : DataTableColumn < TTabletStateInfo & { fqdn ?: string } > [ ] = [
30
30
{
31
31
name : 'Type' ,
@@ -71,30 +71,39 @@ function getColumns({database}: {database?: string}) {
71
71
return < TabletState state = { row . State } /> ;
72
72
} ,
73
73
} ,
74
- {
75
- name : 'NodeId' ,
76
- get header ( ) {
77
- return i18n ( 'Node ID' ) ;
78
- } ,
79
- render : ( { row } ) => {
80
- const nodePath =
81
- row . NodeId === undefined ? undefined : getDefaultNodePath ( row . NodeId ) ;
82
- return < InternalLink to = { nodePath } > { row . NodeId } </ InternalLink > ;
83
- } ,
84
- align : 'right' ,
85
- } ,
86
- {
87
- name : 'fqdn' ,
88
- get header ( ) {
89
- return i18n ( 'Node FQDN' ) ;
74
+ ] ;
75
+
76
+ // For node page we don't need to show node columns
77
+ if ( nodeId === undefined ) {
78
+ columns . push (
79
+ {
80
+ name : 'NodeId' ,
81
+ get header ( ) {
82
+ return i18n ( 'Node ID' ) ;
83
+ } ,
84
+ render : ( { row } ) => {
85
+ const nodePath =
86
+ row . NodeId === undefined ? undefined : getDefaultNodePath ( row . NodeId ) ;
87
+ return < InternalLink to = { nodePath } > { row . NodeId } </ InternalLink > ;
88
+ } ,
89
+ align : 'right' ,
90
90
} ,
91
- render : ( { row} ) => {
92
- if ( ! row . fqdn ) {
93
- return < span > —</ span > ;
94
- }
95
- return < EntityStatus name = { row . fqdn } showStatus = { false } hasClipboardButton /> ;
91
+ {
92
+ name : 'fqdn' ,
93
+ get header ( ) {
94
+ return i18n ( 'Node FQDN' ) ;
95
+ } ,
96
+ render : ( { row} ) => {
97
+ if ( ! row . fqdn ) {
98
+ return < span > —</ span > ;
99
+ }
100
+ return < EntityStatus name = { row . fqdn } showStatus = { false } hasClipboardButton /> ;
101
+ } ,
96
102
} ,
97
- } ,
103
+ ) ;
104
+ }
105
+
106
+ columns . push (
98
107
{
99
108
name : 'Generation' ,
100
109
get header ( ) {
@@ -123,7 +132,8 @@ function getColumns({database}: {database?: string}) {
123
132
return < TabletActions { ...row } /> ;
124
133
} ,
125
134
} ,
126
- ] ;
135
+ ) ;
136
+
127
137
return columns ;
128
138
}
129
139
@@ -170,6 +180,7 @@ interface TabletsTableProps {
170
180
loading ?: boolean ;
171
181
error ?: unknown ;
172
182
scrollContainerRef : React . RefObject < HTMLElement > ;
183
+ nodeId ?: string | number ;
173
184
}
174
185
175
186
export function TabletsTable ( {
@@ -178,6 +189,7 @@ export function TabletsTable({
178
189
loading,
179
190
error,
180
191
scrollContainerRef,
192
+ nodeId,
181
193
} : TabletsTableProps ) {
182
194
const [ { tabletsSearch} , setQueryParams ] = useQueryParams ( {
183
195
tabletsSearch : StringParam ,
@@ -186,7 +198,7 @@ export function TabletsTable({
186
198
// Track sort state for scroll dependencies
187
199
const [ sortParams , setSortParams ] = React . useState < SortOrder | SortOrder [ ] | undefined > ( ) ;
188
200
189
- const columns = React . useMemo ( ( ) => getColumns ( { database} ) , [ database ] ) ;
201
+ const columns = React . useMemo ( ( ) => getColumns ( { database, nodeId } ) , [ database , nodeId ] ) ;
190
202
191
203
const filteredTablets = React . useMemo ( ( ) => {
192
204
return tablets . filter ( ( tablet ) => {
0 commit comments