diff --git a/frontend/packages/data-portal/app/components/DatasetFilter/AnnotationMetadataFilterSection.tsx b/frontend/packages/data-portal/app/components/DatasetFilter/AnnotationMetadataFilterSection.tsx
index 8f8bc253e..74fd6d4cb 100644
--- a/frontend/packages/data-portal/app/components/DatasetFilter/AnnotationMetadataFilterSection.tsx
+++ b/frontend/packages/data-portal/app/components/DatasetFilter/AnnotationMetadataFilterSection.tsx
@@ -1,23 +1,36 @@
+import { GeneOntologyFilter } from 'app/components/AnnotationFilter/GeneOntologyFilter'
import {
AnnotatedObjectNameFilter,
AnnotatedObjectShapeTypeFilter,
FilterSection,
} from 'app/components/Filters'
-import { useDatasets } from 'app/hooks/useDatasets'
+import { useDatasetsFilterData } from 'app/hooks/useDatasetsFilterData'
import { useI18n } from 'app/hooks/useI18n'
-export function AnnotationMetadataFilterSection() {
- const { objectNames, objectShapeTypes } = useDatasets()
+export function AnnotationMetadataFilterSection({
+ depositionPageVariant,
+}: {
+ depositionPageVariant?: boolean
+}) {
+ const { objectNames, objectShapeTypes } = useDatasetsFilterData()
const { t } = useI18n()
return (
+ {depositionPageVariant && (
+
+ {t('depositionAnnotationsOnly')}
+
+ )}
+
+ {depositionPageVariant && }
+
)
diff --git a/frontend/packages/data-portal/app/components/DatasetFilter/DatasetFilter.tsx b/frontend/packages/data-portal/app/components/DatasetFilter/DatasetFilter.tsx
index 349c0a7f4..21c68fd84 100644
--- a/frontend/packages/data-portal/app/components/DatasetFilter/DatasetFilter.tsx
+++ b/frontend/packages/data-portal/app/components/DatasetFilter/DatasetFilter.tsx
@@ -1,6 +1,6 @@
+import { ErrorBoundary } from 'app/components/ErrorBoundary'
import { FilterPanel } from 'app/components/Filters'
-import { ErrorBoundary } from '../ErrorBoundary'
import { AnnotationMetadataFilterSection } from './AnnotationMetadataFilterSection'
import { HardwareFilterSection } from './HardwareFilterSection'
import { IncludedContentsFilterSection } from './IncludedContentsFilterSection'
@@ -9,11 +9,19 @@ import { SampleAndExperimentFilterSection } from './SampleAndExperimentFilterSec
import { TiltSeriesMetadataFilterSection } from './TiltSeriesMetadataFilterSection'
import { TomogramMetadataFilterSection } from './TomogramMetadataFilterSection'
-export function DatasetFilter() {
+export function DatasetFilter({
+ depositionPageVariant,
+}: {
+ depositionPageVariant?: boolean
+}) {
const filters = [
{
logId: 'included-contents-filter',
- filter: ,
+ filter: (
+
+ ),
},
{
logId: 'name-or-id-filter',
@@ -37,7 +45,11 @@ export function DatasetFilter() {
},
{
logId: 'annotation-metadata-filter',
- filter: ,
+ filter: (
+
+ ),
},
]
diff --git a/frontend/packages/data-portal/app/components/DatasetFilter/HardwareFilterSection.tsx b/frontend/packages/data-portal/app/components/DatasetFilter/HardwareFilterSection.tsx
index b7c1e681b..62c427ec9 100644
--- a/frontend/packages/data-portal/app/components/DatasetFilter/HardwareFilterSection.tsx
+++ b/frontend/packages/data-portal/app/components/DatasetFilter/HardwareFilterSection.tsx
@@ -2,13 +2,13 @@ import { useMemo } from 'react'
import { FilterSection, SelectFilter } from 'app/components/Filters'
import { QueryParams } from 'app/constants/query'
-import { useDatasets } from 'app/hooks/useDatasets'
+import { useDatasetsFilterData } from 'app/hooks/useDatasetsFilterData'
import { useFilter } from 'app/hooks/useFilter'
import { i18n } from 'app/i18n'
import { BaseFilterOption } from 'app/types/filter'
export function HardwareFilterSection() {
- const { cameraManufacturers } = useDatasets()
+ const { cameraManufacturers } = useDatasetsFilterData()
const cameraManufacturerOptions = useMemo(
() => cameraManufacturers.map((value) => ({ value })),
diff --git a/frontend/packages/data-portal/app/components/DatasetFilter/IncludedContentsFilterSection.tsx b/frontend/packages/data-portal/app/components/DatasetFilter/IncludedContentsFilterSection.tsx
index 072b497a4..2313b52f1 100644
--- a/frontend/packages/data-portal/app/components/DatasetFilter/IncludedContentsFilterSection.tsx
+++ b/frontend/packages/data-portal/app/components/DatasetFilter/IncludedContentsFilterSection.tsx
@@ -27,7 +27,11 @@ const NUMBER_OF_RUN_OPTIONS: NumberOfRunsFilterOption[] = [
const AVAILABLE_FILES_CLASS_NAME = 'select-available-files'
const MEETS_ALL_LABEL_ID = 'meets-all'
-export function IncludedContentsFilterSection() {
+export function IncludedContentsFilterSection({
+ depositionPageVariant,
+}: {
+ depositionPageVariant?: boolean
+}) {
const {
updateValue,
includedContents: { availableFiles, numberOfRuns },
@@ -95,7 +99,9 @@ export function IncludedContentsFilterSection() {
return (
-
+
+ {t('withDepositionData')}
+
+ ) : undefined
+ }
/>
)
diff --git a/frontend/packages/data-portal/app/components/DatasetFilter/SampleAndExperimentFilterSection.tsx b/frontend/packages/data-portal/app/components/DatasetFilter/SampleAndExperimentFilterSection.tsx
index 5ff31ef53..7481e820e 100644
--- a/frontend/packages/data-portal/app/components/DatasetFilter/SampleAndExperimentFilterSection.tsx
+++ b/frontend/packages/data-portal/app/components/DatasetFilter/SampleAndExperimentFilterSection.tsx
@@ -2,7 +2,7 @@ import { useMemo } from 'react'
import { FilterSection, SelectFilter } from 'app/components/Filters'
import { QueryParams } from 'app/constants/query'
-import { useDatasets } from 'app/hooks/useDatasets'
+import { useDatasetsFilterData } from 'app/hooks/useDatasetsFilterData'
import { useFilter } from 'app/hooks/useFilter'
import { i18n } from 'app/i18n'
import { BaseFilterOption } from 'app/types/filter'
@@ -12,7 +12,7 @@ export function SampleAndExperimentFilterSection() {
updateValue,
sampleAndExperimentConditions: { organismNames },
} = useFilter()
- const { organismNames: allOrganismNames } = useDatasets()
+ const { organismNames: allOrganismNames } = useDatasetsFilterData()
const organismNameOptions = useMemo(
() => allOrganismNames.map((name) => ({ value: name })),
diff --git a/frontend/packages/data-portal/app/components/DatasetFilter/TomogramMetadataFilterSection.tsx b/frontend/packages/data-portal/app/components/DatasetFilter/TomogramMetadataFilterSection.tsx
index 16b61f75c..ec2dae486 100644
--- a/frontend/packages/data-portal/app/components/DatasetFilter/TomogramMetadataFilterSection.tsx
+++ b/frontend/packages/data-portal/app/components/DatasetFilter/TomogramMetadataFilterSection.tsx
@@ -2,7 +2,7 @@ import { useMemo } from 'react'
import { FilterSection, SelectFilter } from 'app/components/Filters'
import { QueryParams } from 'app/constants/query'
-import { useDatasets } from 'app/hooks/useDatasets'
+import { useDatasetsFilterData } from 'app/hooks/useDatasetsFilterData'
import { useFilter } from 'app/hooks/useFilter'
import { i18n } from 'app/i18n'
import {
@@ -36,7 +36,8 @@ export function TomogramMetadataFilterSection() {
)!
}, [fiducialAlignmentStatus])
- const { reconstructionMethods, reconstructionSoftwares } = useDatasets()
+ const { reconstructionMethods, reconstructionSoftwares } =
+ useDatasetsFilterData()
const reconstructionMethodOptions = useMemo(
() => reconstructionMethods.map((value) => ({ value })),
diff --git a/frontend/packages/data-portal/app/components/Filters/BooleanFilter.tsx b/frontend/packages/data-portal/app/components/Filters/BooleanFilter.tsx
index 661941321..16ae4335a 100644
--- a/frontend/packages/data-portal/app/components/Filters/BooleanFilter.tsx
+++ b/frontend/packages/data-portal/app/components/Filters/BooleanFilter.tsx
@@ -5,10 +5,12 @@ import { cns } from 'app/utils/cns'
import styles from './Filters.module.css'
export function BooleanFilter({
+ caption,
label,
onChange,
value,
}: {
+ caption?: string
label: string
onChange(value: boolean): void
value: boolean
@@ -19,6 +21,7 @@ export function BooleanFilter({
checked={value}
onChange={(event) => onChange(event.target.checked)}
label={label}
+ caption={caption}
/>
)
diff --git a/frontend/packages/data-portal/app/components/Filters/GroundTruthAnnotationFilter.tsx b/frontend/packages/data-portal/app/components/Filters/GroundTruthAnnotationFilter.tsx
index 5635689c9..c134bf54f 100644
--- a/frontend/packages/data-portal/app/components/Filters/GroundTruthAnnotationFilter.tsx
+++ b/frontend/packages/data-portal/app/components/Filters/GroundTruthAnnotationFilter.tsx
@@ -4,7 +4,11 @@ import { useI18n } from 'app/hooks/useI18n'
import { BooleanFilter } from './BooleanFilter'
-export function GroundTruthAnnotationFilter() {
+export function GroundTruthAnnotationFilter({
+ depositionPageVariant,
+}: {
+ depositionPageVariant?: boolean
+}) {
const { t } = useI18n()
const {
updateValue,
@@ -12,12 +16,24 @@ export function GroundTruthAnnotationFilter() {
} = useFilter()
return (
-
- updateValue(QueryParams.GroundTruthAnnotation, value ? 'true' : null)
- }
- value={isGroundTruthEnabled}
- />
+ <>
+
+ updateValue(QueryParams.GroundTruthAnnotation, value ? 'true' : null)
+ }
+ value={isGroundTruthEnabled}
+ // FIXME: once sds upgraded to 0.20.x uncomment this
+ // caption={
+ // depositionPageVariant ? t('depositionAnnotationsOnly') : undefined
+ // }
+ />
+ {/* FIXME: once sds upgraded to 0.20.x delete below line and remove fragment wrapper */}
+ {depositionPageVariant && (
+
+ {t('depositionAnnotationsOnly')}
+
+ )}
+ >
)
}
diff --git a/frontend/packages/data-portal/app/components/Filters/SelectFilter.tsx b/frontend/packages/data-portal/app/components/Filters/SelectFilter.tsx
index 1666e9a97..281cd3333 100644
--- a/frontend/packages/data-portal/app/components/Filters/SelectFilter.tsx
+++ b/frontend/packages/data-portal/app/components/Filters/SelectFilter.tsx
@@ -4,7 +4,7 @@ import {
Value,
} from '@czi-sds/components'
import { isArray, isEqual } from 'lodash-es'
-import { useCallback, useMemo } from 'react'
+import { ReactNode, useCallback, useMemo } from 'react'
import { BaseFilterOption } from 'app/types/filter'
import { cns } from 'app/utils/cns'
@@ -20,6 +20,7 @@ export function SelectFilter<
Multiple extends boolean = false,
>({
className,
+ details,
groupBy: groupByProp,
label,
multiple,
@@ -31,6 +32,7 @@ export function SelectFilter<
value,
}: {
className?: string
+ details?: ReactNode
groupBy?: (option: Value