Skip to content

Commit 120838e

Browse files
authored
Fix experiments table move to start functionality (#4724)
1 parent ded4c6b commit 120838e

File tree

2 files changed

+33
-2
lines changed

2 files changed

+33
-2
lines changed

webview/src/experiments/components/App.test.tsx

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import { vsCodeApi } from '../../shared/api'
2525
import {
2626
commonColumnFields,
2727
expectHeaders,
28+
getHeaders,
2829
tableData as sortingTableDataFixture
2930
} from '../../test/sort'
3031
import {
@@ -164,6 +165,30 @@ describe('App', () => {
164165
await expectHeaders(['A', 'C', 'D', 'B'])
165166
})
166167

168+
it('should be able to move columns to the start', async () => {
169+
renderTable({
170+
...sortingTableDataFixture,
171+
columnOrder: ['id', 'Created', 'params:A', 'params:B', 'params:C']
172+
})
173+
174+
await expectHeaders(['A', 'B', 'C'])
175+
176+
const moveBCtoStart = ['id', 'params:B', 'params:C', 'Created', 'params:A']
177+
178+
setTableData({
179+
...sortingTableDataFixture,
180+
columnOrder: moveBCtoStart
181+
})
182+
183+
expect(await getHeaders()).toStrictEqual([
184+
'Experiment',
185+
'B',
186+
'C',
187+
'Created',
188+
'A'
189+
])
190+
})
191+
167192
describe('Row expansion', () => {
168193
const experimentLabel = '4fb124a'
169194

webview/src/experiments/components/Experiments.tsx

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@ import {
1313
Row as TableRow,
1414
getCoreRowModel,
1515
getExpandedRowModel,
16-
ColumnSizingState
16+
ColumnSizingState,
17+
ColumnOrderState
1718
} from '@tanstack/react-table'
1819
import { Table } from './table/Table'
1920
import styles from './table/styles.module.scss'
@@ -64,7 +65,8 @@ export const ExperimentsTable: React.FC = () => {
6465
const [columns, setColumns] = useState(buildColumns(columnData))
6566
const [columnSizing, setColumnSizing] =
6667
useState<ColumnSizingState>(columnWidths)
67-
const [columnOrder, setColumnOrder] = useState(columnOrderData)
68+
const [columnOrder, setColumnOrder] =
69+
useState<ColumnOrderState>(columnOrderData)
6870
const resizeTimeout = useRef(0)
6971

7072
useEffect(() => {
@@ -75,6 +77,10 @@ export const ExperimentsTable: React.FC = () => {
7577
setColumns(buildColumns(columnData))
7678
}, [columnData])
7779

80+
useEffect(() => {
81+
setColumnOrder(columnOrderData)
82+
}, [columnOrderData])
83+
7884
const getRowId = useCallback(
7985
(experiment: Commit, relativeIndex: number, parent?: TableRow<Commit>) =>
8086
parent ? [parent.id, experiment.id].join('.') : String(relativeIndex),

0 commit comments

Comments
 (0)