Skip to content

Commit

Permalink
fix: Carry over filters from datasets table (#1113)
Browse files Browse the repository at this point in the history
This PR carries over filter query params between the browse datasets
page and single dataset page. The carry over between the dataset page
and run page was already implemented.


![datasets-filter-carry-over](https://github.com/user-attachments/assets/18678428-94b2-45c4-8ebe-3676f13b8ab8)
  • Loading branch information
ehoops-cz authored Sep 4, 2024
1 parent 5a3132a commit b3c8628
Showing 1 changed file with 23 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import Skeleton from '@mui/material/Skeleton'
import { useNavigate, useSearchParams } from '@remix-run/react'
import { ColumnDef, createColumnHelper } from '@tanstack/react-table'
import { range } from 'lodash-es'
import { useEffect, useMemo, useState } from 'react'
import { useCallback, useEffect, useMemo, useState } from 'react'

import { AnnotatedObjectsList } from 'app/components/AnnotatedObjectsList'
import { AuthorList } from 'app/components/AuthorList'
Expand All @@ -28,6 +28,7 @@ import { LogLevel } from 'app/types/logging'
import { cnsNoMerge } from 'app/utils/cns'
import { sendLogs } from 'app/utils/logging'
import { getErrorMessage } from 'app/utils/string'
import { carryOverFilterParams, createUrl } from 'app/utils/url'

const LOADING_DATASETS = range(0, MAX_PER_PAGE).map(
(value) =>
Expand Down Expand Up @@ -68,6 +69,21 @@ export function DatasetTable() {
[searchParams, setBrowseDatasetHistory],
)

const getDatasetUrl = useCallback(
(id: number) => {
const url = createUrl(`/datasets/${id}`)

carryOverFilterParams({
filters: DATASET_FILTERS,
params: url.searchParams,
prevParams: searchParams,
})

return url.pathname + url.search
},
[searchParams],
)

const columns = useMemo(() => {
const columnHelper = createColumnHelper<Dataset>()

Expand All @@ -77,7 +93,7 @@ export function DatasetTable() {
header: () => <p />,

cell({ row: { original: dataset } }) {
const datasetUrl = `/datasets/${dataset.id}`
const datasetUrl = getDatasetUrl(dataset.id)

return (
<TableCell
Expand Down Expand Up @@ -128,7 +144,7 @@ export function DatasetTable() {
),

cell({ row: { original: dataset } }) {
const datasetUrl = `/datasets/${dataset.id}`
const datasetUrl = getDatasetUrl(dataset.id)

return (
<TableCell
Expand Down Expand Up @@ -315,20 +331,21 @@ export function DatasetTable() {
throw err
}
}, [
datasetSort,
getDatasetUrl,
isLoadingDebounced,
isClickingOnEmpiarId,
datasetSort,
t,
searchParams,
setSearchParams,
t,
])

return (
<PageTable
data={isLoadingDebounced ? LOADING_DATASETS : datasets}
columns={columns}
onTableRowClick={(row) =>
!isHoveringOverInteractable && navigate(`/datasets/${row.original.id}`)
!isHoveringOverInteractable && navigate(getDatasetUrl(row.original.id))
}
hoverType="group"
/>
Expand Down

0 comments on commit b3c8628

Please sign in to comment.