Skip to content

Commit 5436841

Browse files
committed
scratch work for review datasetType
Note that it depends on this PR: IQSS/dataverse-client-javascript#354 However, there's a new PR to try instead: IQSS/dataverse-client-javascript#360
1 parent 1f028cf commit 5436841

File tree

11 files changed

+73
-7
lines changed

11 files changed

+73
-7
lines changed

package-lock.json

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
"@dnd-kit/sortable": "8.0.0",
1818
"@dnd-kit/utilities": "3.2.2",
1919
"@faker-js/faker": "7.6.0",
20-
"@iqss/dataverse-client-javascript": "v2.0.0-pr344.5fd4982",
20+
"@iqss/dataverse-client-javascript": "v2.0.0-pr354.02efa3c",
2121
"@iqss/dataverse-design-system": "*",
2222
"@istanbuljs/nyc-config-typescript": "1.0.2",
2323
"@tanstack/react-table": "8.9.2",

public/locales/en/header.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
"addData": "Add Data",
99
"newCollection": "New Collection",
1010
"newDataset": "New Dataset",
11+
"newReview": "New Review",
1112
"accountInfo": "Account Information",
1213
"apiToken": "API Token",
1314
"myData": "My Data"

src/dataset/domain/useCases/DTOs/DatasetDTO.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { DatasetLicense } from '../../models/Dataset'
22

33
export interface DatasetDTO {
44
licence: DatasetLicense
5+
datasetType?: string
56
metadataBlocks: DatasetMetadataBlockValuesDTO[]
67
}
78

src/dataset/domain/useCases/createDataset.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ export function createDataset(
66
dataset: DatasetDTO,
77
collectionId: string
88
): Promise<{ persistentId: string }> {
9+
console.log('createDataset called with dataset: ', dataset)
910
return datasetRepository.create(dataset, collectionId).catch((error: Error) => {
1011
throw new Error(error.message)
1112
})

src/dataset/infrastructure/mappers/DatasetDTOMapper.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,12 @@ import { defaultLicense } from '../../domain/models/Dataset'
77

88
export class DatasetDTOMapper {
99
public static toJSDatasetDTO(dataset: DatasetDTO): JSDatasetDTO {
10+
console.log('toJSDatasetDTO dataset: ', dataset)
11+
console.log('toJSDatasetDTOdataset.datasetType: ', dataset.datasetType)
1012
return {
1113
license: defaultLicense,
14+
datasetType: dataset.datasetType,
15+
// datasetType: 'trash',
1216
metadataBlockValues: dataset.metadataBlocks as JSMetadataBlocksDTO[]
1317
}
1418
}

src/dataset/infrastructure/repositories/DatasetJSDataverseRepository.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -302,8 +302,12 @@ export class DatasetJSDataverseRepository implements DatasetRepository {
302302
}
303303

304304
create(dataset: DatasetDTO, collectionId: string): Promise<{ persistentId: string }> {
305+
console.log('DatasetJSDataverseRepository create called with dataset: ', dataset)
306+
const json = DatasetDTOMapper.toJSDatasetDTO(dataset);
307+
console.log('JSON: ', json)
305308
return createDataset
306-
.execute(DatasetDTOMapper.toJSDatasetDTO(dataset), collectionId)
309+
// .execute(DatasetDTOMapper.toJSDatasetDTO(dataset), collectionId)
310+
.execute(json, collectionId)
307311
.then((jsDatasetIdentifiers: JSDatasetIdentifiers) => ({
308312
persistentId: jsDatasetIdentifiers.persistentId
309313
}))

src/sections/layout/header/LoggedInHeaderActions.tsx

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ export const LoggedInHeaderActions = ({
3838

3939
const canUserAddCollectionToRoot = Boolean(collectionUserPermissions?.canAddCollection)
4040
const canUserAddDatasetToRoot = Boolean(collectionUserPermissions?.canAddDataset)
41+
const reviewCreationEnabled = true
4142

4243
return (
4344
<>
@@ -51,6 +52,16 @@ export const LoggedInHeaderActions = ({
5152
<Navbar.Dropdown.Item as={Link} to={createDatasetRoute} disabled={!canUserAddDatasetToRoot}>
5253
{t('navigation.newDataset')}
5354
</Navbar.Dropdown.Item>
55+
{/* {reviewCreationEnabled && (
56+
<Navbar.Dropdown.Item as={Link} to={createDatasetRoute} disabled={!canUserAddDatasetToRoot}>
57+
{t('navigation.newReview')}
58+
</Navbar.Dropdown.Item>
59+
)} */}
60+
{reviewCreationEnabled && (
61+
<Navbar.Dropdown.Item as={Link} to={`${createDatasetRoute}?datasetType=review`} disabled={!canUserAddDatasetToRoot}>
62+
{t('navigation.newReview')}
63+
</Navbar.Dropdown.Item>
64+
)}
5465
</Navbar.Dropdown>
5566
<Navbar.Dropdown title={user.displayName} id="dropdown-user">
5667
<Navbar.Dropdown.Item

src/sections/shared/add-data-actions/AddDataActionsButton.tsx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ export default function AddDataActionsButton({
2121

2222
const createCollectionRoute = RouteWithParams.CREATE_COLLECTION(collectionId)
2323
const createDatasetRoute = RouteWithParams.CREATE_DATASET(collectionId)
24+
const reviewCreationEnabled = true
2425

2526
return (
2627
<DropdownButton
@@ -34,6 +35,11 @@ export default function AddDataActionsButton({
3435
<Dropdown.Item to={createDatasetRoute} as={Link} disabled={!canAddDataset}>
3536
{t('navigation.newDataset')}
3637
</Dropdown.Item>
38+
{reviewCreationEnabled && (
39+
<Dropdown.Item to={createDatasetRoute} as={Link} disabled={!canAddDataset}>
40+
{t('navigation.newReview')}
41+
</Dropdown.Item>
42+
)}
3743
</DropdownButton>
3844
)
3945
}

src/sections/shared/form/DatasetMetadataForm/MetadataForm/index.tsx

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,9 @@ export const MetadataForm = ({
7676
setValue('citation.datasetContact.0.datasetContactAffiliation', user.affiliation)
7777
setValue('citation.author.0.authorAffiliation', user.affiliation)
7878
}
79+
// if (true) {
80+
// setValue('datasetType', 'review')
81+
// }
7982
}
8083
}, [setValue, user, mode])
8184

@@ -182,6 +185,32 @@ export const MetadataForm = ({
182185
</Alert>
183186
)}
184187

188+
<div>
189+
num blocks: {metadataBlocksInfo.length}
190+
</div>
191+
<div>
192+
{/* Show query params */}
193+
<div>
194+
Query params: {window.location.search}
195+
{new URLSearchParams(window.location.search).get('datasetType') && (
196+
<div>Dataset Type: {new URLSearchParams(window.location.search).get('datasetType')}</div>
197+
)}
198+
</div>
199+
</div>
200+
<Accordion defaultActiveKey="0" ref={accordionRef}>
201+
{metadataBlocksInfo.map((metadataBlock, index) => (
202+
<Accordion.Item
203+
eventKey={index.toString()}
204+
id={`metadata-block-item-${metadataBlock.name}`}
205+
key={metadataBlock.id}>
206+
<div>{metadataBlock.displayName}</div>
207+
{/* <Accordion.Body>
208+
<MetadataBlockFormFields metadataBlock={metadataBlock} />
209+
</Accordion.Body> */}
210+
</Accordion.Item>
211+
))}
212+
</Accordion>
213+
185214
{metadataBlocksInfo.length > 0 && (
186215
<Accordion defaultActiveKey="0" ref={accordionRef}>
187216
{metadataBlocksInfo.map((metadataBlock, index) => (

0 commit comments

Comments
 (0)