Skip to content

Commit

Permalink
fix: update keepRawFields to prevent markdown
Browse files Browse the repository at this point in the history
  • Loading branch information
ChengShi-1 committed Jan 24, 2025
1 parent dcdb033 commit 95c1bf8
Show file tree
Hide file tree
Showing 7 changed files with 51 additions and 15 deletions.
7 changes: 6 additions & 1 deletion src/dataset/domain/repositories/DatasetRepository.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,12 @@ import { DatasetsWithCount } from '../models/DatasetsWithCount'
import { VersionUpdateType } from '../models/VersionUpdateType'

export interface DatasetRepository {
getByPersistentId: (persistentId: string, version?: string) => Promise<Dataset | undefined>
getByPersistentId: (
persistentId: string,
version?: string,
requestedVersion?: string,
keepRawFields?: boolean
) => Promise<Dataset | undefined>
getLocks(persistentId: string): Promise<DatasetLock[]>
getByPrivateUrlToken: (privateUrlToken: string) => Promise<Dataset | undefined>
getVersionDiff: (
Expand Down
12 changes: 8 additions & 4 deletions src/dataset/domain/useCases/getDatasetByPersistentId.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,13 @@ import { Dataset } from '../models/Dataset'
export async function getDatasetByPersistentId(
datasetRepository: DatasetRepository,
persistentId: string,
version?: string
version?: string,
requestedVersion?: string,
keepRawFields?: boolean
): Promise<Dataset | undefined> {
return datasetRepository.getByPersistentId(persistentId, version).catch((error: Error) => {
throw new Error(error.message)
})
return datasetRepository
.getByPersistentId(persistentId, version, requestedVersion, keepRawFields)
.catch((error: Error) => {
throw new Error(error.message)
})
}
Original file line number Diff line number Diff line change
Expand Up @@ -172,10 +172,11 @@ export class DatasetJSDataverseRepository implements DatasetRepository {
getByPersistentId(
persistentId: string,
version: string = DatasetNonNumericVersion.LATEST_PUBLISHED,
requestedVersion?: string
requestedVersion?: string,
keepRawFields?: boolean
): Promise<Dataset | undefined> {
return getDataset
.execute(persistentId, version, includeDeaccessioned)
.execute(persistentId, version, includeDeaccessioned, keepRawFields)
.then((jsDataset) => this.fetchDatasetDetails(jsDataset, version))
.then((datasetDetails) => {
return this.fetchDownloadSizes(persistentId, version).then((downloadSizes) => {
Expand Down Expand Up @@ -223,7 +224,8 @@ export class DatasetJSDataverseRepository implements DatasetRepository {
return this.getByPersistentId(
persistentId,
DatasetNonNumericVersion.LATEST_PUBLISHED,
(requestedVersion = version)
(requestedVersion = version),
keepRawFields
)
})
}
Expand Down
5 changes: 4 additions & 1 deletion src/sections/dataset/Dataset.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ import useUpdateDatasetAlerts from './useUpdateDatasetAlerts'
import { QueryParamKey, Route } from '../Route.enum'
import { MetadataBlockInfoRepository } from '../../metadata-block-info/domain/repositories/MetadataBlockInfoRepository'
import { CollectionRepository } from '../../collection/domain/repositories/CollectionRepository'
import { MarkdownComponent } from '../dataset/markdown/MarkdownComponent'

interface DatasetProps {
datasetRepository: DatasetRepository
Expand Down Expand Up @@ -97,7 +98,9 @@ export function Dataset({
</div>

<header className={styles.header}>
<h1>{dataset.version.title}</h1>
<h1>
<MarkdownComponent markdown={dataset.version.title} />
</h1>
<DatasetLabels labels={dataset.version.labels} />
</header>
<div className={styles.container}>
Expand Down
9 changes: 8 additions & 1 deletion src/sections/dataset/DatasetProvider.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ interface DatasetProviderProps {
persistentId?: string
privateUrlToken?: string
version?: string
keepRawFields?: boolean
}
isPublishing?: boolean
}
Expand All @@ -25,7 +26,13 @@ export function DatasetProvider({

const getDataset = useCallback(() => {
if (searchParams.persistentId) {
return getDatasetByPersistentId(repository, searchParams.persistentId, searchParams.version)
return getDatasetByPersistentId(
repository,
searchParams.persistentId,
searchParams.version,
undefined,
searchParams.keepRawFields
)
}
if (searchParams.privateUrlToken) {
return getDatasetByPrivateUrlToken(repository, searchParams.privateUrlToken)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,12 @@ function EditDatasetMetadataWithParams() {
const persistentId = searchParams.get('persistentId') ?? undefined
const searchParamVersion = searchParams.get('version') ?? undefined
const version = searchParamVersionToDomainVersion(searchParamVersion)
const keepRawFields = true

return (
<DatasetProvider
repository={datasetRepository}
searchParams={{ persistentId: persistentId, version: version }}>
searchParams={{ persistentId: persistentId, version: version, keepRawFields: keepRawFields }}>
<EditDatasetMetadata
datasetRepository={datasetRepository}
metadataBlockInfoRepository={metadataBlockInfoRepository}
Expand Down
22 changes: 18 additions & 4 deletions src/sections/shared/hierarchy/BreadcrumbsGenerator.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import {
import { LinkToPage } from '../link-to-page/LinkToPage'
import { Route } from '../../Route.enum'
import styles from './BreadcrumbsGenerator.module.scss'
import { MarkdownComponent } from '../../dataset/markdown/MarkdownComponent'

type BreadcrumbGeneratorProps =
| {
Expand All @@ -25,6 +26,16 @@ export function BreadcrumbsGenerator({
actionItemText
}: BreadcrumbGeneratorProps) {
const hierarchyArray = hierarchy.toArray()
const renderItemName = (item: UpwardHierarchyNode) => {
if (item.type === 'dataset') {
return (
<span style={{ display: 'inline-block' }}>
<MarkdownComponent markdown={item.name} />
</span>
)
}
return item.name
}

return (
<Breadcrumb className={styles['breadcrumb-generator']}>
Expand All @@ -35,7 +46,7 @@ export function BreadcrumbsGenerator({
if (isLast) {
return (
<Breadcrumb.Item key={index} active>
{item.name}
{renderItemName(item)}
</Breadcrumb.Item>
)
}
Expand All @@ -45,8 +56,11 @@ export function BreadcrumbsGenerator({
<Breadcrumb.Item
key={index}
linkAs={LinkToPage}
linkProps={{ page: Route.COLLECTIONS_BASE, children: <>{item.name}</> }}>
{item.name}
linkProps={{
page: Route.COLLECTIONS_BASE,
children: <>{item.name}</>
}}>
{renderItemName(item)}
</Breadcrumb.Item>
)
}
Expand All @@ -62,7 +76,7 @@ export function BreadcrumbsGenerator({
persistentId: item.persistentId,
version: item.version
}}>
{item.name}
{renderItemName(item)}
</Breadcrumb.Item>
)
})}
Expand Down

0 comments on commit 95c1bf8

Please sign in to comment.