@@ -25,7 +25,7 @@ import {getDefaultNodePath} from '../Node/NodePages';
2525
2626import i18n from './i18n' ;
2727
28- function getColumns ( { database} : { database ?: string } ) {
28+ function getColumns ( { database, nodeId } : { database ?: string ; nodeId ?: string | number } ) {
2929 const columns : DataTableColumn < TTabletStateInfo & { fqdn ?: string } > [ ] = [
3030 {
3131 name : 'Type' ,
@@ -71,30 +71,39 @@ function getColumns({database}: {database?: string}) {
7171 return < TabletState state = { row . State } /> ;
7272 } ,
7373 } ,
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' ,
9090 } ,
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+ } ,
96102 } ,
97- } ,
103+ ) ;
104+ }
105+
106+ columns . push (
98107 {
99108 name : 'Generation' ,
100109 get header ( ) {
@@ -123,7 +132,8 @@ function getColumns({database}: {database?: string}) {
123132 return < TabletActions { ...row } /> ;
124133 } ,
125134 } ,
126- ] ;
135+ ) ;
136+
127137 return columns ;
128138}
129139
@@ -170,6 +180,7 @@ interface TabletsTableProps {
170180 loading ?: boolean ;
171181 error ?: unknown ;
172182 scrollContainerRef : React . RefObject < HTMLElement > ;
183+ nodeId ?: string | number ;
173184}
174185
175186export function TabletsTable ( {
@@ -178,6 +189,7 @@ export function TabletsTable({
178189 loading,
179190 error,
180191 scrollContainerRef,
192+ nodeId,
181193} : TabletsTableProps ) {
182194 const [ { tabletsSearch} , setQueryParams ] = useQueryParams ( {
183195 tabletsSearch : StringParam ,
@@ -186,7 +198,7 @@ export function TabletsTable({
186198 // Track sort state for scroll dependencies
187199 const [ sortParams , setSortParams ] = React . useState < SortOrder | SortOrder [ ] | undefined > ( ) ;
188200
189- const columns = React . useMemo ( ( ) => getColumns ( { database} ) , [ database ] ) ;
201+ const columns = React . useMemo ( ( ) => getColumns ( { database, nodeId } ) , [ database , nodeId ] ) ;
190202
191203 const filteredTablets = React . useMemo ( ( ) => {
192204 return tablets . filter ( ( tablet ) => {
0 commit comments