Skip to content

Commit b6b6c05

Browse files
authored
fix: use optional chaining and fix dependency array for SimpleTable (#5152)
1 parent 49ebd9f commit b6b6c05

File tree

1 file changed

+10
-8
lines changed

1 file changed

+10
-8
lines changed

src/visualization/types/SimpleTable/PagedTable.tsx

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ const measurePage = (
4343
let signature
4444

4545
while (rowIdx < result.table.length) {
46-
if (result.table.columns.table.data[rowIdx] !== currentTable) {
46+
if (result.table.columns?.table?.data?.[rowIdx] !== currentTable) {
4747
signature = Object.values(result.table.columns)
4848
.map(
4949
c =>
@@ -67,7 +67,7 @@ const measurePage = (
6767
lastSignature = signature
6868
}
6969

70-
currentTable = result.table.columns.table.data[rowIdx]
70+
currentTable = result.table.columns?.table?.data?.[rowIdx]
7171

7272
continue
7373
}
@@ -110,26 +110,28 @@ const subsetResult = (
110110
}, {})
111111

112112
const tables: SubsetTable[] = []
113-
let lastTable
113+
let lastTable = ''
114114

115115
// group by table id (series)
116116
for (let ni = 0; ni < size; ni++) {
117117
if (
118-
`y${subset['result'][0].data[ni]}:t${subset['table'][0].data[ni]}` ===
118+
`y${subset['result']?.[0]?.data?.[ni]}:t${subset['table']?.[0]?.data?.[ni]}` ===
119119
lastTable
120120
) {
121121
continue
122122
}
123123

124-
lastTable = `y${subset['result'][0].data[ni]}:t${subset['table'][0].data[ni]}`
124+
if (subset['result']?.[0]?.data?.[ni] && subset['table']?.[0]?.data?.[ni]) {
125+
lastTable = `y${subset['result'][0].data[ni]}:t${subset['table'][0].data[ni]}`
126+
}
125127

126128
if (tables.length) {
127129
tables[tables.length - 1].end = ni
128130
}
129131

130132
tables.push({
131-
idx: subset['table'][0].data[ni],
132-
yield: subset['result'][0].data[ni],
133+
idx: subset['table']?.[0]?.data?.[ni] ?? -1,
134+
yield: subset['result']?.[0]?.data?.[ni] ?? '',
133135
cols: [],
134136
signature: '',
135137
start: ni,
@@ -269,7 +271,7 @@ const PagedTable: FC<Props> = ({result, properties}) => {
269271
clearTimeout(timeout)
270272
}
271273
}
272-
}, [ref?.current])
274+
}, []) // eslint-disable-line react-hooks/exhaustive-deps
273275

274276
const size = useMemo(() => {
275277
return measurePage(result, offset, height)

0 commit comments

Comments
 (0)