@openneuro/app 4.20.5 → 4.20.6-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/__mocks__/fileMock.js +1 -1
- package/package.json +5 -5
- package/pluralize-esm.js +204 -211
- package/src/@types/custom.d.ts +3 -3
- package/src/@types/react.d.ts +3 -4
- package/src/client.jsx +17 -16
- package/src/scripts/__mocks__/config.ts +6 -6
- package/src/scripts/__utils__/mock-app-shell.tsx +9 -8
- package/src/scripts/apm.js +6 -6
- package/src/scripts/app.tsx +7 -7
- package/src/scripts/authentication/__tests__/profile.spec.js +10 -10
- package/src/scripts/authentication/admin-user.jsx +2 -2
- package/src/scripts/authentication/logged-in.jsx +2 -2
- package/src/scripts/authentication/logged-out.jsx +2 -2
- package/src/scripts/authentication/loginCheck.js +2 -2
- package/src/scripts/authentication/loginUrls.ts +1 -1
- package/src/scripts/authentication/profile.ts +7 -7
- package/src/scripts/authentication/regular-user.tsx +3 -3
- package/src/scripts/authentication/signOut.ts +2 -2
- package/src/scripts/authentication/withProfile.jsx +6 -6
- package/src/scripts/common/block-navigation.jsx +3 -4
- package/src/scripts/common/containers/__tests__/header.spec.tsx +16 -16
- package/src/scripts/common/containers/footer.tsx +3 -3
- package/src/scripts/common/containers/header.tsx +30 -30
- package/src/scripts/common/forms/__tests__/warn-button.spec.jsx +6 -6
- package/src/scripts/common/forms/warn-button.jsx +21 -17
- package/src/scripts/common/partials/block-navigation.jsx +3 -4
- package/src/scripts/common/partials/freshdesk-widget.jsx +17 -20
- package/src/scripts/common/partials/toast-content.jsx +2 -2
- package/src/scripts/components/__tests__/data-table.spec.tsx +7 -7
- package/src/scripts/components/data-table.tsx +23 -22
- package/src/scripts/config.ts +2 -2
- package/src/scripts/datalad/dataset/comments-fragments.js +1 -1
- package/src/scripts/datalad/dataset/dataset-context.js +1 -1
- package/src/scripts/datalad/dataset/dataset-query-context.js +1 -1
- package/src/scripts/datalad/dataset/dataset-query-fragments.js +1 -1
- package/src/scripts/datalad/mutations/cache-clear.jsx +7 -6
- package/src/scripts/datalad/mutations/cache-id.js +2 -2
- package/src/scripts/datalad/mutations/delete-comment.jsx +13 -11
- package/src/scripts/datalad/mutations/delete.jsx +10 -9
- package/src/scripts/datalad/mutations/follow.jsx +12 -11
- package/src/scripts/datalad/mutations/publish.jsx +13 -12
- package/src/scripts/datalad/mutations/remove-permissions.jsx +8 -8
- package/src/scripts/datalad/mutations/revalidate.jsx +7 -6
- package/src/scripts/datalad/mutations/snapshot.tsx +7 -7
- package/src/scripts/datalad/mutations/star.jsx +12 -11
- package/src/scripts/datalad/mutations/submit-metadata.jsx +14 -12
- package/src/scripts/datalad/mutations/update-permissions.jsx +14 -13
- package/src/scripts/datalad/mutations/update-ref.jsx +7 -6
- package/src/scripts/datalad/routes/dataset-redirect.tsx +49 -49
- package/src/scripts/datalad/subscriptions/__tests__/files-subscription.spec.jsx +32 -32
- package/src/scripts/datalad/subscriptions/files-subscription.jsx +16 -16
- package/src/scripts/datalad/subscriptions/useDatasetDeletedSubscription.jsx +4 -4
- package/src/scripts/datalad/subscriptions/useDraftSubscription.js +4 -4
- package/src/scripts/datalad/subscriptions/usePermissionsSubscription.js +4 -4
- package/src/scripts/datalad/subscriptions/useSnapshotsUpdatedSubscriptions.js +3 -3
- package/src/scripts/dataset/__tests__/__snapshots__/snapshot-container.spec.tsx.snap +2 -2
- package/src/scripts/dataset/__tests__/snapshot-container.spec.tsx +12 -12
- package/src/scripts/dataset/comments/__tests__/comment.spec.jsx +21 -21
- package/src/scripts/dataset/comments/__tests__/comments.spec.jsx +10 -10
- package/src/scripts/dataset/comments/block-style-controls.jsx +15 -15
- package/src/scripts/dataset/comments/comment-editor.jsx +31 -31
- package/src/scripts/dataset/comments/comment.jsx +50 -50
- package/src/scripts/dataset/comments/comments.jsx +24 -22
- package/src/scripts/dataset/comments/inline-style-controls.jsx +9 -9
- package/src/scripts/dataset/comments/style-button.jsx +8 -9
- package/src/scripts/dataset/common/follow-toggles.tsx +3 -3
- package/src/scripts/dataset/dataset-query-context.js +1 -1
- package/src/scripts/dataset/dataset-query.jsx +34 -31
- package/src/scripts/dataset/dataset-routes.jsx +5 -5
- package/src/scripts/dataset/download/__tests__/download-command-line.spec.jsx +13 -13
- package/src/scripts/dataset/download/__tests__/download-link.spec.jsx +10 -10
- package/src/scripts/dataset/download/__tests__/download-native.spec.js +7 -7
- package/src/scripts/dataset/download/__tests__/shell-example.spec.jsx +5 -5
- package/src/scripts/dataset/download/download-command-line.jsx +9 -7
- package/src/scripts/dataset/download/download-datalad.jsx +22 -20
- package/src/scripts/dataset/download/download-derivative-datalad.tsx +2 -2
- package/src/scripts/dataset/download/download-derivative-s3.tsx +2 -2
- package/src/scripts/dataset/download/download-link.jsx +6 -6
- package/src/scripts/dataset/download/download-native.js +20 -19
- package/src/scripts/dataset/download/download-query.js +2 -3
- package/src/scripts/dataset/download/download-s3.jsx +8 -8
- package/src/scripts/dataset/download/download-script.tsx +23 -20
- package/src/scripts/dataset/download/native-file-toast.jsx +13 -11
- package/src/scripts/dataset/download/shell-example.jsx +1 -1
- package/src/scripts/dataset/download/track-download.js +5 -5
- package/src/scripts/dataset/draft-container.tsx +104 -102
- package/src/scripts/dataset/draft-snapshot-routes.tsx +3 -3
- package/src/scripts/dataset/files/__tests__/file-tree-unloaded-directory.spec.jsx +23 -23
- package/src/scripts/dataset/files/__tests__/file-tree.spec.jsx +57 -58
- package/src/scripts/dataset/files/__tests__/file-viewer-type.spec.jsx +6 -6
- package/src/scripts/dataset/files/__tests__/file.spec.jsx +15 -15
- package/src/scripts/dataset/files/file-display.jsx +11 -11
- package/src/scripts/dataset/files/file-tree-unloaded-directory.jsx +10 -10
- package/src/scripts/dataset/files/file-tree.tsx +27 -27
- package/src/scripts/dataset/files/file-view.jsx +4 -4
- package/src/scripts/dataset/files/file-viewer-type.jsx +21 -21
- package/src/scripts/dataset/files/file.tsx +85 -80
- package/src/scripts/dataset/files/files.tsx +41 -40
- package/src/scripts/dataset/files/index.tsx +2 -2
- package/src/scripts/dataset/files/viewers/__tests__/__snapshots__/file-viewer-json.spec.jsx.snap +0 -24
- package/src/scripts/dataset/files/viewers/__tests__/file-viewer-json.spec.jsx +9 -9
- package/src/scripts/dataset/files/viewers/__tests__/parse-tabular.spec.js +8 -8
- package/src/scripts/dataset/files/viewers/file-viewer-csv.jsx +5 -5
- package/src/scripts/dataset/files/viewers/file-viewer-html.jsx +3 -3
- package/src/scripts/dataset/files/viewers/file-viewer-json.jsx +4 -4
- package/src/scripts/dataset/files/viewers/file-viewer-nifti.tsx +4 -4
- package/src/scripts/dataset/files/viewers/file-viewer-table.tsx +3 -3
- package/src/scripts/dataset/files/viewers/file-viewer-text.jsx +3 -3
- package/src/scripts/dataset/files/viewers/file-viewer-tsv.jsx +5 -5
- package/src/scripts/dataset/files/viewers/parse-tabular.js +4 -4
- package/src/scripts/dataset/fragments/__tests__/cancel-button.spec.tsx +5 -5
- package/src/scripts/dataset/fragments/__tests__/dataset-alert-draft.spec.tsx +9 -9
- package/src/scripts/dataset/fragments/__tests__/dataset-citation.spec.jsx +10 -10
- package/src/scripts/dataset/fragments/__tests__/doi-link.spec.tsx +29 -29
- package/src/scripts/dataset/fragments/__tests__/edit-button.spec.tsx +5 -5
- package/src/scripts/dataset/fragments/__tests__/edit-list.spec.jsx +13 -13
- package/src/scripts/dataset/fragments/__tests__/save-button.spec.tsx +5 -5
- package/src/scripts/dataset/fragments/__tests__/select-input.spec.tsx +26 -26
- package/src/scripts/dataset/fragments/cancel-button.tsx +2 -2
- package/src/scripts/dataset/fragments/comments-fragments.js +1 -1
- package/src/scripts/dataset/fragments/copyable-tooltip.jsx +14 -13
- package/src/scripts/dataset/fragments/dataset-alert-draft.tsx +17 -13
- package/src/scripts/dataset/fragments/dataset-alert-version.tsx +5 -4
- package/src/scripts/dataset/fragments/dataset-citation.jsx +23 -21
- package/src/scripts/dataset/fragments/dataset-history.jsx +12 -12
- package/src/scripts/dataset/fragments/dataset-reviewers.ts +1 -1
- package/src/scripts/dataset/fragments/doi-link.tsx +6 -6
- package/src/scripts/dataset/fragments/edit-button.tsx +2 -2
- package/src/scripts/dataset/fragments/edit-description-field.jsx +23 -21
- package/src/scripts/dataset/fragments/edit-description-list.jsx +8 -8
- package/src/scripts/dataset/fragments/edit-list.jsx +8 -8
- package/src/scripts/dataset/fragments/number-input.tsx +36 -35
- package/src/scripts/dataset/fragments/save-button.tsx +2 -2
- package/src/scripts/dataset/fragments/select-input.tsx +87 -86
- package/src/scripts/dataset/fragments/text-array-input.tsx +38 -37
- package/src/scripts/dataset/fragments/text-input.tsx +79 -78
- package/src/scripts/dataset/mutations/__tests__/cache-id.spec.js +5 -5
- package/src/scripts/dataset/mutations/__tests__/delete-file.spec.jsx +85 -83
- package/src/scripts/dataset/mutations/__tests__/delete.spec.jsx +8 -8
- package/src/scripts/dataset/mutations/__tests__/deprecate-snapshot.spec.tsx +17 -17
- package/src/scripts/dataset/mutations/__tests__/deprecate-version.spec.tsx +19 -19
- package/src/scripts/dataset/mutations/__tests__/description.spec.jsx +51 -51
- package/src/scripts/dataset/mutations/__tests__/remove-permissions.spec.tsx +9 -9
- package/src/scripts/dataset/mutations/__tests__/update-permissions.spec.jsx +7 -7
- package/src/scripts/dataset/mutations/admin-exports.jsx +13 -12
- package/src/scripts/dataset/mutations/cache-clear.jsx +6 -6
- package/src/scripts/dataset/mutations/cache-id.js +2 -2
- package/src/scripts/dataset/mutations/comment.jsx +25 -23
- package/src/scripts/dataset/mutations/create-anonymous-reviewer.tsx +36 -30
- package/src/scripts/dataset/mutations/dataset-relations.tsx +28 -29
- package/src/scripts/dataset/mutations/delete-anonymous-reviewer.tsx +7 -8
- package/src/scripts/dataset/mutations/delete-comment.jsx +14 -12
- package/src/scripts/dataset/mutations/delete-dataset-form.jsx +20 -22
- package/src/scripts/dataset/mutations/delete-file.jsx +8 -8
- package/src/scripts/dataset/mutations/delete.jsx +10 -9
- package/src/scripts/dataset/mutations/deprecate-version.tsx +5 -6
- package/src/scripts/dataset/mutations/description.jsx +21 -20
- package/src/scripts/dataset/mutations/flag-annex-object.jsx +10 -9
- package/src/scripts/dataset/mutations/follow.tsx +15 -14
- package/src/scripts/dataset/mutations/import-dataset.tsx +5 -5
- package/src/scripts/dataset/mutations/metadata-form.jsx +94 -97
- package/src/scripts/dataset/mutations/publish.jsx +13 -13
- package/src/scripts/dataset/mutations/readme.jsx +12 -11
- package/src/scripts/dataset/mutations/remove-annex-object.jsx +10 -9
- package/src/scripts/dataset/mutations/remove-permissions.tsx +5 -6
- package/src/scripts/dataset/mutations/revalidate.jsx +7 -7
- package/src/scripts/dataset/mutations/snapshot.tsx +8 -8
- package/src/scripts/dataset/mutations/star.tsx +14 -13
- package/src/scripts/dataset/mutations/submit-metadata.jsx +12 -11
- package/src/scripts/dataset/mutations/undo-deprecate-version.tsx +5 -6
- package/src/scripts/dataset/mutations/update-file.jsx +6 -6
- package/src/scripts/dataset/mutations/update-permissions.tsx +9 -9
- package/src/scripts/dataset/mutations/update-ref.jsx +7 -7
- package/src/scripts/dataset/routes/__tests__/deprecate-snapshot-page.spec.tsx +5 -5
- package/src/scripts/dataset/routes/add-metadata.jsx +19 -20
- package/src/scripts/dataset/routes/admin-datalad.jsx +7 -7
- package/src/scripts/dataset/routes/dataset-default.tsx +12 -10
- package/src/scripts/dataset/routes/delete-page.tsx +12 -12
- package/src/scripts/dataset/routes/deprecate-snapshot-page.tsx +8 -8
- package/src/scripts/dataset/routes/derivatives.tsx +10 -10
- package/src/scripts/dataset/routes/download-dataset.tsx +20 -20
- package/src/scripts/dataset/routes/manage-anonymous-reviewers.tsx +37 -35
- package/src/scripts/dataset/routes/manage-permissions.jsx +22 -22
- package/src/scripts/dataset/routes/publish.jsx +32 -30
- package/src/scripts/dataset/routes/snapshot-default.tsx +7 -7
- package/src/scripts/dataset/routes/snapshot.tsx +44 -43
- package/src/scripts/dataset/routes/styles/dataset-page-border.tsx +3 -3
- package/src/scripts/dataset/routes/styles/dataset-page-tab-container.tsx +3 -3
- package/src/scripts/dataset/routes/styles/header-row.tsx +3 -3
- package/src/scripts/dataset/routes/tab-routes-draft.tsx +12 -12
- package/src/scripts/dataset/routes/tab-routes-snapshot.tsx +8 -8
- package/src/scripts/dataset/snapshot-container.tsx +78 -86
- package/src/scripts/errors/403page.tsx +11 -11
- package/src/scripts/errors/404page.tsx +12 -12
- package/src/scripts/errors/errorBoundary.jsx +13 -12
- package/src/scripts/errors/errorRoute.jsx +6 -6
- package/src/scripts/errors/freshdesk-widget.jsx +17 -20
- package/src/scripts/errors/freshdeskInterface.jsx +9 -9
- package/src/scripts/errors/orcid/email.jsx +3 -3
- package/src/scripts/errors/orcid/family.jsx +4 -4
- package/src/scripts/errors/orcid/general.jsx +1 -1
- package/src/scripts/errors/orcid/given.jsx +4 -4
- package/src/scripts/fixtures/dataset-query.ts +119 -119
- package/src/scripts/fixtures/mock-app-wrapper.tsx +4 -4
- package/src/scripts/index.tsx +9 -9
- package/src/scripts/pages/admin/admin.jsx +5 -5
- package/src/scripts/pages/admin/flagged-files.jsx +33 -31
- package/src/scripts/pages/admin/user-fragment.ts +1 -1
- package/src/scripts/pages/admin/user-tools.tsx +13 -11
- package/src/scripts/pages/admin/users.jsx +38 -39
- package/src/scripts/pages/api.jsx +20 -19
- package/src/scripts/pages/citation-page.tsx +4 -4
- package/src/scripts/pages/faq/faq.tsx +2 -2
- package/src/scripts/pages/front-page/aggregate-queries/aggregate-counts-container.tsx +6 -5
- package/src/scripts/pages/front-page/aggregate-queries/use-participant-count.ts +2 -2
- package/src/scripts/pages/front-page/aggregate-queries/use-publicDatasets-count.ts +2 -2
- package/src/scripts/pages/front-page/front-page-content.ts +42 -42
- package/src/scripts/pages/front-page/front-page.tsx +18 -14
- package/src/scripts/pages/front-page-comp.tsx +3 -3
- package/src/scripts/pages/import-dataset.tsx +10 -10
- package/src/scripts/pages/metadata/dataset-metadata.tsx +15 -14
- package/src/scripts/pages/pet-redirect.tsx +2 -2
- package/src/scripts/queries/dataset.ts +3 -3
- package/src/scripts/resources/__tests__/kibana.spec.js +9 -9
- package/src/scripts/resources/kibana.js +3 -3
- package/src/scripts/resources/strings.js +2 -2
- package/src/scripts/routes.tsx +14 -14
- package/src/scripts/search/__helpers__/search-render.tsx +3 -3
- package/src/scripts/search/__tests__/search-container.spec.tsx +22 -22
- package/src/scripts/search/__tests__/search-params-ctx.spec.tsx +20 -20
- package/src/scripts/search/es-query-builders.ts +21 -5
- package/src/scripts/search/filters-block-container.tsx +14 -16
- package/src/scripts/search/initial-search-params.tsx +45 -45
- package/src/scripts/search/inputs/__tests__/sort-by-select.spec.tsx +23 -23
- package/src/scripts/search/inputs/admin-allDatasets-toggle.tsx +12 -12
- package/src/scripts/search/inputs/age-range-input.tsx +9 -8
- package/src/scripts/search/inputs/author-input.tsx +14 -11
- package/src/scripts/search/inputs/date-radios.tsx +8 -7
- package/src/scripts/search/inputs/diagnosis-select.tsx +6 -6
- package/src/scripts/search/inputs/index.ts +33 -33
- package/src/scripts/search/inputs/keyword-input.tsx +13 -13
- package/src/scripts/search/inputs/modality-select.tsx +33 -30
- package/src/scripts/search/inputs/pet/bodyParts_input.tsx +18 -16
- package/src/scripts/search/inputs/pet/scannerManufacturersModelNames_input.tsx +18 -16
- package/src/scripts/search/inputs/pet/scannerManufacturers_input.tsx +18 -16
- package/src/scripts/search/inputs/pet/tracerNames_input.tsx +16 -15
- package/src/scripts/search/inputs/pet/tracerRadionuclides_input.tsx +18 -16
- package/src/scripts/search/inputs/section-select.tsx +6 -6
- package/src/scripts/search/inputs/sex-radios.tsx +6 -6
- package/src/scripts/search/inputs/show-datasets-radios.tsx +31 -29
- package/src/scripts/search/inputs/sort-by-select.tsx +10 -11
- package/src/scripts/search/inputs/species-select.tsx +6 -6
- package/src/scripts/search/inputs/study-domain-input.tsx +18 -16
- package/src/scripts/search/inputs/subject-count-range-input.tsx +8 -7
- package/src/scripts/search/inputs/task-input.tsx +18 -16
- package/src/scripts/search/search-container.tsx +83 -85
- package/src/scripts/search/search-params-ctx.tsx +40 -38
- package/src/scripts/search/search-routes.tsx +4 -4
- package/src/scripts/search/use-search-results.tsx +125 -99
- package/src/scripts/styles/media.tsx +3 -3
- package/src/scripts/styles/support-modal.jsx +2 -2
- package/src/scripts/sw.ts +12 -11
- package/src/scripts/test-utils.js +4 -4
- package/src/scripts/uploader/add-path-to-files.js +7 -7
- package/src/scripts/uploader/file-select.tsx +3 -3
- package/src/scripts/uploader/file-upload.js +13 -12
- package/src/scripts/uploader/input.jsx +8 -7
- package/src/scripts/uploader/upload-button.jsx +3 -3
- package/src/scripts/uploader/upload-disclaimer-input.tsx +66 -66
- package/src/scripts/uploader/upload-disclaimer.jsx +6 -5
- package/src/scripts/uploader/upload-file-status.jsx +4 -4
- package/src/scripts/uploader/upload-issues.jsx +32 -29
- package/src/scripts/uploader/upload-metadata.jsx +18 -17
- package/src/scripts/uploader/upload-mutation.js +17 -20
- package/src/scripts/uploader/upload-progress-button.jsx +5 -4
- package/src/scripts/uploader/upload-progress.jsx +3 -3
- package/src/scripts/uploader/upload-rename.jsx +6 -5
- package/src/scripts/uploader/upload-resume.jsx +26 -24
- package/src/scripts/uploader/upload-select.jsx +10 -9
- package/src/scripts/uploader/upload-status.jsx +5 -5
- package/src/scripts/uploader/upload-step.jsx +9 -9
- package/src/scripts/uploader/uploader-context.js +1 -1
- package/src/scripts/uploader/uploader-location.js +1 -1
- package/src/scripts/uploader/uploader-modal.jsx +8 -7
- package/src/scripts/uploader/uploader-setup-routes.jsx +10 -10
- package/src/scripts/uploader/uploader-status-routes.jsx +6 -6
- package/src/scripts/uploader/uploader-view.jsx +4 -4
- package/src/scripts/uploader/uploader.jsx +50 -48
- package/src/scripts/users/username.tsx +3 -3
- package/src/scripts/utils/__tests__/csv.spec.ts +16 -16
- package/src/scripts/utils/__tests__/date.spec.js +4 -4
- package/src/scripts/utils/__tests__/json-ld.spec.js +12 -12
- package/src/scripts/utils/__tests__/newid.spec.js +9 -9
- package/src/scripts/utils/__tests__/userNotify.spec.js +10 -10
- package/src/scripts/utils/analytics.tsx +3 -3
- package/src/scripts/utils/cookies.js +1 -1
- package/src/scripts/utils/csv.ts +13 -15
- package/src/scripts/utils/datalad.js +1 -1
- package/src/scripts/utils/dataset-url.js +2 -2
- package/src/scripts/utils/date.js +2 -2
- package/src/scripts/utils/global-polyfill.ts +2 -2
- package/src/scripts/utils/gtag.js +6 -6
- package/src/scripts/utils/json-ld.js +13 -13
- package/src/scripts/utils/newid.js +1 -1
- package/src/scripts/utils/user-login-modal-ctx.tsx +4 -4
- package/src/scripts/utils/userNotify.js +2 -2
- package/src/scripts/validation/validation-panel.jsx +3 -3
- package/src/scripts/validation/validation-results.issues.issue.jsx +9 -9
- package/src/scripts/validation/validation-results.issues.jsx +19 -17
- package/src/scripts/validation/validation-results.jsx +10 -10
- package/src/scripts/validation/validation-status.jsx +19 -17
- package/src/scripts/validation/validation.jsx +5 -5
- package/src/scripts/workers/schema.ts +2 -2
- package/src/scripts/workers/schema.worker.ts +4 -4
- package/src/scripts/workers/validate.ts +2 -2
- package/src/scripts/workers/validate.worker.ts +7 -5
- package/vite.config.js +17 -17
- package/src/dist/assets/activity-icon.9ab0c828.png +0 -0
- package/src/dist/assets/bids.da8810b3.jpg +0 -0
- package/src/dist/assets/brand_mark.28e7645d.png +0 -0
- package/src/dist/assets/close-button.21e700a6.png +0 -0
- package/src/dist/assets/cube-get.39ed5636.png +0 -0
- package/src/dist/assets/cube-share.9b558c29.png +0 -0
- package/src/dist/assets/cube-use.ccf2ddc5.png +0 -0
- package/src/dist/assets/datalad.a35b15b8.jpg +0 -0
- package/src/dist/assets/eeg.1dc1dc54.jpg +0 -0
- package/src/dist/assets/email-header.1cb8bf76.png +0 -0
- package/src/dist/assets/ieeg.f91deb0a.jpg +0 -0
- package/src/dist/assets/index.3db805fb.js +0 -23127
- package/src/dist/assets/index.3db805fb.js.map +0 -1
- package/src/dist/assets/index.5eb79d2c.css +0 -1
- package/src/dist/assets/ljaf.567e9566.png +0 -0
- package/src/dist/assets/logo_app.8c986cf9.png +0 -0
- package/src/dist/assets/logo_cube.5224b745.png +0 -0
- package/src/dist/assets/logo_data.3e1d5743.png +0 -0
- package/src/dist/assets/logo_users.a84a265a.png +0 -0
- package/src/dist/assets/meg.1e1928f8.jpg +0 -0
- package/src/dist/assets/mri.b01e4f42.jpg +0 -0
- package/src/dist/assets/nih-bi-logo.80d76e1d.png +0 -0
- package/src/dist/assets/nih-stanford.2a7c496e.jpg +0 -0
- package/src/dist/assets/nih.78a64d38.png +0 -0
- package/src/dist/assets/nimh.0ec775d8.png +0 -0
- package/src/dist/assets/nru-logo.f3097dc5.png +0 -0
- package/src/dist/assets/nsf.eee1d3f7.png +0 -0
- package/src/dist/assets/nsf.f87e96e7.png +0 -0
- package/src/dist/assets/on-dark-horz.e1f213d0.svg +0 -1
- package/src/dist/assets/on-dark.12f4e2ce.svg +0 -1
- package/src/dist/assets/on-light-horz.23ff22c3.svg +0 -1
- package/src/dist/assets/on-light.50592f7f.svg +0 -1
- package/src/dist/assets/pet-scan.21d98a3d.jpg +0 -0
- package/src/dist/assets/revicons.4ca02b8a.ttf +0 -0
- package/src/dist/assets/revicons.9e4d4c68.eot +0 -0
- package/src/dist/assets/revicons.f7b9c306.woff +0 -0
- package/src/dist/assets/sqm-logo.9cd0cca5.png +0 -0
- package/src/dist/assets/squishymedia.fa3c5919.png +0 -0
- package/src/dist/assets/stanford.5f245936.png +0 -0
- package/src/dist/index.html +0 -25
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import React, { FC, useContext } from
|
|
2
|
-
import { gql } from
|
|
3
|
-
import { Mutation } from
|
|
4
|
-
import { datasetCacheId } from
|
|
5
|
-
import { CountToggle } from
|
|
6
|
-
import { UserModalOpenCtx } from
|
|
1
|
+
import React, { FC, useContext } from "react"
|
|
2
|
+
import { gql } from "@apollo/client"
|
|
3
|
+
import { Mutation } from "@apollo/client/react/components"
|
|
4
|
+
import { datasetCacheId } from "../../datalad/mutations/cache-id.js"
|
|
5
|
+
import { CountToggle } from "@openneuro/components/count-toggle"
|
|
6
|
+
import { UserModalOpenCtx } from "../../utils/user-login-modal-ctx"
|
|
7
7
|
|
|
8
8
|
const STAR_DATASET = gql`
|
|
9
9
|
mutation starDataset($datasetId: ID!) {
|
|
@@ -44,7 +44,7 @@ export const StarDataset: FC<StarDatasetProps> = ({
|
|
|
44
44
|
stars,
|
|
45
45
|
}) => {
|
|
46
46
|
const { setUserModalOpen } = useContext(UserModalOpenCtx)
|
|
47
|
-
const handleToggle = starDataset => () => {
|
|
47
|
+
const handleToggle = (starDataset) => () => {
|
|
48
48
|
if (!profile) {
|
|
49
49
|
// if user is not logged in, give them the option to do so
|
|
50
50
|
// then redirect back to this page
|
|
@@ -63,7 +63,7 @@ export const StarDataset: FC<StarDatasetProps> = ({
|
|
|
63
63
|
id: datasetCacheId(datasetId),
|
|
64
64
|
fragment: USER_STARRED,
|
|
65
65
|
data: {
|
|
66
|
-
__typename:
|
|
66
|
+
__typename: "Dataset",
|
|
67
67
|
id: datasetId,
|
|
68
68
|
starred,
|
|
69
69
|
},
|
|
@@ -77,17 +77,18 @@ export const StarDataset: FC<StarDatasetProps> = ({
|
|
|
77
77
|
id: datasetCacheId(datasetId),
|
|
78
78
|
fragment: DATASET_STARS,
|
|
79
79
|
data: {
|
|
80
|
-
__typename:
|
|
80
|
+
__typename: "Dataset",
|
|
81
81
|
id: datasetId,
|
|
82
82
|
stars: starred
|
|
83
83
|
? [...stars, newStar]
|
|
84
|
-
: stars.filter(star => star.userId !== newStar.userId),
|
|
84
|
+
: stars.filter((star) => star.userId !== newStar.userId),
|
|
85
85
|
},
|
|
86
86
|
})
|
|
87
|
-
}}
|
|
88
|
-
|
|
87
|
+
}}
|
|
88
|
+
>
|
|
89
|
+
{(starDataset) => (
|
|
89
90
|
<CountToggle
|
|
90
|
-
label={starred ?
|
|
91
|
+
label={starred ? "Bookmarked" : "Bookmark"}
|
|
91
92
|
icon="fa-bookmark"
|
|
92
93
|
disabled={!profile}
|
|
93
94
|
toggleClick={handleToggle(starDataset)}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import React from
|
|
2
|
-
import PropTypes from
|
|
3
|
-
import { gql } from
|
|
4
|
-
import { Mutation } from
|
|
5
|
-
import { DATASET_METADATA } from
|
|
6
|
-
import { datasetCacheId } from
|
|
7
|
-
import { Button } from
|
|
1
|
+
import React from "react"
|
|
2
|
+
import PropTypes from "prop-types"
|
|
3
|
+
import { gql } from "@apollo/client"
|
|
4
|
+
import { Mutation } from "@apollo/client/react/components"
|
|
5
|
+
import { DATASET_METADATA } from "../../datalad/dataset/dataset-query-fragments"
|
|
6
|
+
import { datasetCacheId } from "./cache-id.js"
|
|
7
|
+
import { Button } from "@openneuro/components/button"
|
|
8
8
|
|
|
9
9
|
export const SUBMIT_METADATA = gql`
|
|
10
10
|
mutation addMetadata($datasetId: ID!, $metadata: MetadataInput!) {
|
|
@@ -44,13 +44,14 @@ const SubmitMetadata = ({ datasetId, metadata, done, disabled }) => (
|
|
|
44
44
|
id: datasetCacheId(datasetId),
|
|
45
45
|
fragment: DATASET_METADATA,
|
|
46
46
|
data: {
|
|
47
|
-
__typename:
|
|
47
|
+
__typename: "Dataset",
|
|
48
48
|
id: datasetId,
|
|
49
49
|
metadata: addMetadata,
|
|
50
50
|
},
|
|
51
51
|
})
|
|
52
|
-
}}
|
|
53
|
-
|
|
52
|
+
}}
|
|
53
|
+
>
|
|
54
|
+
{(submitMetadata) => (
|
|
54
55
|
<Button
|
|
55
56
|
className="btn-modal-action"
|
|
56
57
|
primary={true}
|
|
@@ -59,7 +60,7 @@ const SubmitMetadata = ({ datasetId, metadata, done, disabled }) => (
|
|
|
59
60
|
type="submit"
|
|
60
61
|
form="metadata-form"
|
|
61
62
|
disabled={disabled}
|
|
62
|
-
onClick={async e => {
|
|
63
|
+
onClick={async (e) => {
|
|
63
64
|
e.preventDefault()
|
|
64
65
|
await submitMetadata({
|
|
65
66
|
variables: { datasetId, metadata },
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import React, { FC } from
|
|
2
|
-
import { gql, useMutation } from
|
|
3
|
-
import { Button } from
|
|
4
|
-
import { Tooltip } from
|
|
1
|
+
import React, { FC } from "react"
|
|
2
|
+
import { gql, useMutation } from "@apollo/client"
|
|
3
|
+
import { Button } from "@openneuro/components/button"
|
|
4
|
+
import { Tooltip } from "@openneuro/components/tooltip"
|
|
5
5
|
|
|
6
6
|
const UNDO_DEPRECATE_VERSION = gql`
|
|
7
7
|
mutation undoDeprecateSnapshot($datasetId: ID!, $tag: String!) {
|
|
@@ -35,8 +35,7 @@ export const UndoDeprecateVersion: FC<UndoDeprecateVersionProps> = ({
|
|
|
35
35
|
onClick={() =>
|
|
36
36
|
UndoDeprecateVersion({
|
|
37
37
|
variables: { datasetId, tag },
|
|
38
|
-
})
|
|
39
|
-
}
|
|
38
|
+
})}
|
|
40
39
|
/>
|
|
41
40
|
</Tooltip>
|
|
42
41
|
)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import React from
|
|
2
|
-
import PropTypes from
|
|
3
|
-
import UploaderContext from
|
|
1
|
+
import React from "react"
|
|
2
|
+
import PropTypes from "prop-types"
|
|
3
|
+
import UploaderContext from "../../uploader/uploader-context.js"
|
|
4
4
|
|
|
5
5
|
const UpdateFile = ({
|
|
6
6
|
datasetId,
|
|
@@ -11,12 +11,12 @@ const UpdateFile = ({
|
|
|
11
11
|
}) => {
|
|
12
12
|
return (
|
|
13
13
|
<UploaderContext.Consumer>
|
|
14
|
-
{uploader => (
|
|
14
|
+
{(uploader) => (
|
|
15
15
|
<div className="edit-file">
|
|
16
16
|
<input
|
|
17
17
|
type="file"
|
|
18
18
|
className="update-file"
|
|
19
|
-
onChange={e => {
|
|
19
|
+
onChange={(e) => {
|
|
20
20
|
e.preventDefault()
|
|
21
21
|
uploader.resumeDataset(
|
|
22
22
|
datasetId,
|
|
@@ -24,7 +24,7 @@ const UpdateFile = ({
|
|
|
24
24
|
false,
|
|
25
25
|
)({ files: e.target.files })
|
|
26
26
|
}}
|
|
27
|
-
webkitdirectory={directory ?
|
|
27
|
+
webkitdirectory={directory ? "true" : undefined}
|
|
28
28
|
multiple={multiple && true}
|
|
29
29
|
/>
|
|
30
30
|
{children}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import React, { FC } from
|
|
2
|
-
import { gql, useMutation } from
|
|
3
|
-
import { toast } from
|
|
4
|
-
import ToastContent from
|
|
5
|
-
import { validate as isValidEmail } from
|
|
6
|
-
import { Button } from
|
|
1
|
+
import React, { FC } from "react"
|
|
2
|
+
import { gql, useMutation } from "@apollo/client"
|
|
3
|
+
import { toast } from "react-toastify"
|
|
4
|
+
import ToastContent from "../../common/partials/toast-content"
|
|
5
|
+
import { validate as isValidEmail } from "email-validator"
|
|
6
|
+
import { Button } from "@openneuro/components/button"
|
|
7
7
|
|
|
8
8
|
const UPDATE_PERMISSIONS = gql`
|
|
9
9
|
mutation updatePermissions(
|
|
@@ -29,15 +29,15 @@ export const mergeNewPermission = (
|
|
|
29
29
|
metadata,
|
|
30
30
|
) => {
|
|
31
31
|
return {
|
|
32
|
-
__typename:
|
|
32
|
+
__typename: "Dataset",
|
|
33
33
|
id: datasetId,
|
|
34
34
|
permissions: {
|
|
35
35
|
...oldPermissions,
|
|
36
36
|
userPermissions: [
|
|
37
37
|
...oldPermissions.userPermissions,
|
|
38
38
|
{
|
|
39
|
-
__typename:
|
|
40
|
-
user: { __typename:
|
|
39
|
+
__typename: "Permission",
|
|
40
|
+
user: { __typename: "User", ...userInfo },
|
|
41
41
|
level: metadata,
|
|
42
42
|
},
|
|
43
43
|
],
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import React from
|
|
2
|
-
import PropTypes from
|
|
3
|
-
import { gql } from
|
|
4
|
-
import { Mutation } from
|
|
5
|
-
import { Button } from
|
|
6
|
-
import { Tooltip } from
|
|
1
|
+
import React from "react"
|
|
2
|
+
import PropTypes from "prop-types"
|
|
3
|
+
import { gql } from "@apollo/client"
|
|
4
|
+
import { Mutation } from "@apollo/client/react/components"
|
|
5
|
+
import { Button } from "@openneuro/components/button"
|
|
6
|
+
import { Tooltip } from "@openneuro/components/tooltip"
|
|
7
7
|
|
|
8
8
|
const RESET_DRAFT = gql`
|
|
9
9
|
mutation resetDraft($datasetId: ID!, $ref: String!) {
|
|
@@ -13,7 +13,7 @@ const RESET_DRAFT = gql`
|
|
|
13
13
|
|
|
14
14
|
const UpdateRef = ({ datasetId, revision }) => (
|
|
15
15
|
<Mutation mutation={RESET_DRAFT}>
|
|
16
|
-
{resetDraft => (
|
|
16
|
+
{(resetDraft) => (
|
|
17
17
|
<Tooltip tooltip="Reset Draft Head">
|
|
18
18
|
<Button
|
|
19
19
|
iconOnly={true}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import React from
|
|
2
|
-
import { render, screen } from
|
|
3
|
-
import { DeprecateSnapshotPage } from
|
|
1
|
+
import React from "react"
|
|
2
|
+
import { render, screen } from "@testing-library/react"
|
|
3
|
+
import { DeprecateSnapshotPage } from "../deprecate-snapshot-page"
|
|
4
4
|
|
|
5
|
-
describe(
|
|
6
|
-
it(
|
|
5
|
+
describe("DeprecateSnapshotPage component", () => {
|
|
6
|
+
it("renders accession number and tag", () => {
|
|
7
7
|
render(<DeprecateSnapshotPage datasetId="ds000001" snapshotTag="1.0.0" />)
|
|
8
8
|
expect(
|
|
9
9
|
screen.getByText(/Deprecate ds000001 version 1\.0\.0/),
|
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
import React, { useState } from
|
|
2
|
-
import PropTypes from
|
|
3
|
-
import {
|
|
4
|
-
import { useCookies } from
|
|
5
|
-
import MetadataForm from
|
|
6
|
-
import { DatasetRelations } from
|
|
7
|
-
import SubmitMetadata from
|
|
8
|
-
import LoggedIn from
|
|
9
|
-
import {
|
|
10
|
-
import { DatasetPageBorder } from
|
|
11
|
-
import { HeaderRow3, HeaderRow4 } from
|
|
1
|
+
import React, { useState } from "react"
|
|
2
|
+
import PropTypes from "prop-types"
|
|
3
|
+
import { useLocation, useNavigate } from "react-router-dom"
|
|
4
|
+
import { useCookies } from "react-cookie"
|
|
5
|
+
import MetadataForm from "../mutations/metadata-form.jsx"
|
|
6
|
+
import { DatasetRelations } from "../mutations/dataset-relations"
|
|
7
|
+
import SubmitMetadata from "../mutations/submit-metadata.jsx"
|
|
8
|
+
import LoggedIn from "../../authentication/logged-in.jsx"
|
|
9
|
+
import { getProfile, hasEditPermissions } from "../../authentication/profile"
|
|
10
|
+
import { DatasetPageBorder } from "./styles/dataset-page-border"
|
|
11
|
+
import { HeaderRow3, HeaderRow4 } from "./styles/header-row"
|
|
12
12
|
|
|
13
13
|
const validations = [
|
|
14
14
|
{
|
|
15
|
-
fields: [
|
|
15
|
+
fields: ["affirmedConsent", "affirmedDefaced"],
|
|
16
16
|
check: ([affirmedConsent, affirmedDefaced]) =>
|
|
17
17
|
affirmedConsent || affirmedDefaced,
|
|
18
18
|
errorMessage:
|
|
19
|
-
|
|
19
|
+
"Uploader must affirm that structural scans are defaced or that they have consent to publish scans without defacing.",
|
|
20
20
|
},
|
|
21
21
|
]
|
|
22
22
|
|
|
23
|
-
const runValidations = values =>
|
|
23
|
+
const runValidations = (values) =>
|
|
24
24
|
validations
|
|
25
|
-
.map(validation => {
|
|
26
|
-
const relevantValues = validation.fields.map(key => values[key])
|
|
25
|
+
.map((validation) => {
|
|
26
|
+
const relevantValues = validation.fields.map((key) => values[key])
|
|
27
27
|
// TODO - This doesn't seem necessary?
|
|
28
28
|
// @ts-expect-error
|
|
29
29
|
const isValid = validation.check(relevantValues)
|
|
30
30
|
if (!isValid) return validation.errorMessage
|
|
31
31
|
})
|
|
32
|
-
.filter(error => error)
|
|
32
|
+
.filter((error) => error)
|
|
33
33
|
|
|
34
34
|
const hasChanged = (errorsA, errorsB) =>
|
|
35
35
|
JSON.stringify(errorsA) !== JSON.stringify(errorsB)
|
|
@@ -55,13 +55,12 @@ const AddMetadata = ({ dataset }) => {
|
|
|
55
55
|
// @ts-ignore-next-line
|
|
56
56
|
const submitPath = location.state && location.state.submitPath
|
|
57
57
|
const user = getProfile(cookies)
|
|
58
|
-
const hasEdit =
|
|
59
|
-
(user && user.admin) ||
|
|
58
|
+
const hasEdit = (user && user.admin) ||
|
|
60
59
|
hasEditPermissions(dataset.permissions, user && user.sub)
|
|
61
60
|
|
|
62
61
|
return (
|
|
63
62
|
<DatasetPageBorder className="metadata-form">
|
|
64
|
-
<HeaderRow3>{hasEdit &&
|
|
63
|
+
<HeaderRow3>{hasEdit && "Add "}Metadata</HeaderRow3>
|
|
65
64
|
<MetadataForm
|
|
66
65
|
values={values}
|
|
67
66
|
onChange={handleInputChange}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import React from
|
|
2
|
-
import PropTypes from
|
|
3
|
-
import DatasetHistory from
|
|
4
|
-
import CacheClear from
|
|
5
|
-
import AdminExports from
|
|
6
|
-
import { DatasetPageBorder } from
|
|
7
|
-
import { HeaderRow3, HeaderRow4 } from
|
|
1
|
+
import React from "react"
|
|
2
|
+
import PropTypes from "prop-types"
|
|
3
|
+
import DatasetHistory from "../fragments/dataset-history.jsx"
|
|
4
|
+
import CacheClear from "../mutations/cache-clear.jsx"
|
|
5
|
+
import AdminExports from "../mutations/admin-exports"
|
|
6
|
+
import { DatasetPageBorder } from "./styles/dataset-page-border"
|
|
7
|
+
import { HeaderRow3, HeaderRow4 } from "./styles/header-row"
|
|
8
8
|
|
|
9
9
|
const AdminDataset = ({ dataset }) => (
|
|
10
10
|
<DatasetPageBorder className="datalad-dataset-form">
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import React from
|
|
2
|
-
import Markdown from
|
|
3
|
-
import { ReadMore } from
|
|
4
|
-
import { MetaDataBlock } from
|
|
5
|
-
import Files from
|
|
6
|
-
import Comments from
|
|
7
|
-
import EditDescriptionField from
|
|
1
|
+
import React from "react"
|
|
2
|
+
import Markdown from "markdown-to-jsx"
|
|
3
|
+
import { ReadMore } from "@openneuro/components/read-more"
|
|
4
|
+
import { MetaDataBlock } from "@openneuro/components/dataset"
|
|
5
|
+
import Files from "../files/files"
|
|
6
|
+
import Comments from "../comments/comments"
|
|
7
|
+
import EditDescriptionField from "../fragments/edit-description-field"
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Default tab for dataset draft pages
|
|
@@ -21,12 +21,14 @@ export const DatasetDefault = ({ dataset, hasEdit }) => (
|
|
|
21
21
|
field="readme"
|
|
22
22
|
rows={12}
|
|
23
23
|
description={dataset.draft.readme}
|
|
24
|
-
editMode={hasEdit}
|
|
24
|
+
editMode={hasEdit}
|
|
25
|
+
>
|
|
25
26
|
<ReadMore
|
|
26
27
|
id="readme"
|
|
27
28
|
expandLabel="Read More"
|
|
28
|
-
collapseLabel="Collapse"
|
|
29
|
-
|
|
29
|
+
collapseLabel="Collapse"
|
|
30
|
+
>
|
|
31
|
+
<Markdown>{dataset.draft.readme || "N/A"}</Markdown>
|
|
30
32
|
</ReadMore>
|
|
31
33
|
</EditDescriptionField>
|
|
32
34
|
)}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import React, { useState } from
|
|
2
|
-
import { useCookies } from
|
|
3
|
-
import DeleteDatasetForm from
|
|
4
|
-
import DeleteDataset from
|
|
5
|
-
import LoggedIn from
|
|
6
|
-
import { getProfile } from
|
|
7
|
-
import AdminUser from
|
|
8
|
-
import { RegularUser } from
|
|
9
|
-
import { DatasetPageBorder } from
|
|
10
|
-
import { HeaderRow3 } from
|
|
1
|
+
import React, { useState } from "react"
|
|
2
|
+
import { useCookies } from "react-cookie"
|
|
3
|
+
import DeleteDatasetForm from "../mutations/delete-dataset-form.jsx"
|
|
4
|
+
import DeleteDataset from "../mutations/delete.jsx"
|
|
5
|
+
import LoggedIn from "../../authentication/logged-in.jsx"
|
|
6
|
+
import { getProfile } from "../../authentication/profile"
|
|
7
|
+
import AdminUser from "../../authentication/admin-user.jsx"
|
|
8
|
+
import { RegularUser } from "../../authentication/regular-user"
|
|
9
|
+
import { DatasetPageBorder } from "./styles/dataset-page-border"
|
|
10
|
+
import { HeaderRow3 } from "./styles/header-row"
|
|
11
11
|
|
|
12
12
|
interface DeletePageProps {
|
|
13
13
|
dataset: {
|
|
@@ -18,8 +18,8 @@ interface DeletePageProps {
|
|
|
18
18
|
|
|
19
19
|
const DeletePage = ({ dataset }: DeletePageProps): React.ReactElement => {
|
|
20
20
|
const [values, setValues] = useState({
|
|
21
|
-
reason:
|
|
22
|
-
redirect:
|
|
21
|
+
reason: "",
|
|
22
|
+
redirect: "",
|
|
23
23
|
})
|
|
24
24
|
const handleInputChange = (name, value) => {
|
|
25
25
|
const newValues = {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import React, { useState } from
|
|
2
|
-
import { useParams } from
|
|
3
|
-
import { DeprecateVersion } from
|
|
4
|
-
import { Input } from
|
|
5
|
-
import LoggedIn from
|
|
6
|
-
import { DatasetPageBorder } from
|
|
7
|
-
import { HeaderRow3 } from
|
|
1
|
+
import React, { useState } from "react"
|
|
2
|
+
import { useParams } from "react-router-dom"
|
|
3
|
+
import { DeprecateVersion } from "../mutations/deprecate-version"
|
|
4
|
+
import { Input } from "@openneuro/components/input"
|
|
5
|
+
import LoggedIn from "../../authentication/logged-in.jsx"
|
|
6
|
+
import { DatasetPageBorder } from "./styles/dataset-page-border"
|
|
7
|
+
import { HeaderRow3 } from "./styles/header-row"
|
|
8
8
|
|
|
9
9
|
interface DeprecateSnapshotProps {
|
|
10
10
|
datasetId: string
|
|
@@ -15,7 +15,7 @@ export const DeprecateSnapshotPage = ({
|
|
|
15
15
|
datasetId,
|
|
16
16
|
snapshotTag,
|
|
17
17
|
}: DeprecateSnapshotProps): React.ReactElement => {
|
|
18
|
-
const [reason, setReason] = useState(
|
|
18
|
+
const [reason, setReason] = useState("")
|
|
19
19
|
|
|
20
20
|
return (
|
|
21
21
|
<DatasetPageBorder>
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import React from
|
|
2
|
-
import DownloadS3Derivative from
|
|
3
|
-
import DownloadDataLadDerivative from
|
|
4
|
-
import { DatasetPageBorder } from
|
|
5
|
-
import { HeaderRow3 } from
|
|
1
|
+
import React from "react"
|
|
2
|
+
import DownloadS3Derivative from "../download/download-derivative-s3"
|
|
3
|
+
import DownloadDataLadDerivative from "../download/download-derivative-datalad"
|
|
4
|
+
import { DatasetPageBorder } from "./styles/dataset-page-border"
|
|
5
|
+
import { HeaderRow3 } from "./styles/header-row"
|
|
6
6
|
|
|
7
7
|
interface DerivativeElementProps {
|
|
8
8
|
name: string
|
|
@@ -43,15 +43,15 @@ const Derivatives = ({ derivatives }: DerivativesProps): JSX.Element => {
|
|
|
43
43
|
<HeaderRow3>Available Derivatives</HeaderRow3>
|
|
44
44
|
<h5>Acknowledgements</h5>
|
|
45
45
|
<p>
|
|
46
|
-
These derivatives were generated on the{
|
|
46
|
+
These derivatives were generated on the{" "}
|
|
47
47
|
<a href="https://www.tacc.utexas.edu/">
|
|
48
48
|
Texas Advanced Computing Center
|
|
49
|
-
</a>{
|
|
50
|
-
Frontera computing system [1] through their{
|
|
49
|
+
</a>{" "}
|
|
50
|
+
Frontera computing system [1] through their{" "}
|
|
51
51
|
<a href="https://frontera-portal.tacc.utexas.edu/allocations/">
|
|
52
52
|
Pathways allocation
|
|
53
53
|
</a>
|
|
54
|
-
. This work was also funded by the{
|
|
54
|
+
. This work was also funded by the{" "}
|
|
55
55
|
<a href="https://grantome.com/grant/NIH/R24-MH117179-03">
|
|
56
56
|
NIH BRAIN Initiative
|
|
57
57
|
</a>
|
|
@@ -67,7 +67,7 @@ const Derivatives = ({ derivatives }: DerivativesProps): JSX.Element => {
|
|
|
67
67
|
https://doi.org/10.1145/3311790.3396656
|
|
68
68
|
</a>
|
|
69
69
|
</p>
|
|
70
|
-
{derivatives.map(derivative => (
|
|
70
|
+
{derivatives.map((derivative) => (
|
|
71
71
|
<DerivativeElement key={derivative.name} {...derivative} />
|
|
72
72
|
))}
|
|
73
73
|
</DatasetPageBorder>
|
|
@@ -1,33 +1,33 @@
|
|
|
1
1
|
/* global globalThis */
|
|
2
|
-
import React from
|
|
3
|
-
import PropTypes from
|
|
4
|
-
import { useParams } from
|
|
5
|
-
import DownloadLink from
|
|
6
|
-
import DownloadS3 from
|
|
7
|
-
import DownloadCommandLine from
|
|
8
|
-
import DownloadDatalad from
|
|
9
|
-
import { DatasetPageBorder } from
|
|
10
|
-
import { HeaderRow3 } from
|
|
11
|
-
import { DownloadScript } from
|
|
2
|
+
import React from "react"
|
|
3
|
+
import PropTypes from "prop-types"
|
|
4
|
+
import { useParams } from "react-router-dom"
|
|
5
|
+
import DownloadLink from "../download/download-link.jsx"
|
|
6
|
+
import DownloadS3 from "../download/download-s3.jsx"
|
|
7
|
+
import DownloadCommandLine from "../download/download-command-line.jsx"
|
|
8
|
+
import DownloadDatalad from "../download/download-datalad.jsx"
|
|
9
|
+
import { DatasetPageBorder } from "./styles/dataset-page-border"
|
|
10
|
+
import { HeaderRow3 } from "./styles/header-row"
|
|
11
|
+
import { DownloadScript } from "../download/download-script"
|
|
12
12
|
|
|
13
13
|
const DownloadDataset = ({ worker, datasetPermissions }) => {
|
|
14
14
|
const { datasetId, tag: snapshotTag } = useParams()
|
|
15
|
-
const workerId = worker?.split(
|
|
15
|
+
const workerId = worker?.split("-").pop()
|
|
16
16
|
return (
|
|
17
17
|
<DatasetPageBorder>
|
|
18
18
|
<HeaderRow3>How to Download</HeaderRow3>
|
|
19
19
|
<div className="grid grid-between">
|
|
20
|
-
{
|
|
21
|
-
<DownloadLink datasetId={datasetId} snapshotTag={snapshotTag} />
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
20
|
+
{"showDirectoryPicker" in globalThis
|
|
21
|
+
? <DownloadLink datasetId={datasetId} snapshotTag={snapshotTag} />
|
|
22
|
+
: (
|
|
23
|
+
<DownloadCommandLine
|
|
24
|
+
datasetId={datasetId}
|
|
25
|
+
snapshotTag={snapshotTag}
|
|
26
|
+
/>
|
|
27
|
+
)}
|
|
28
28
|
<DownloadS3 datasetId={datasetId} />
|
|
29
29
|
</div>
|
|
30
|
-
{
|
|
30
|
+
{"showDirectoryPicker" in globalThis && (
|
|
31
31
|
<DownloadCommandLine datasetId={datasetId} snapshotTag={snapshotTag} />
|
|
32
32
|
)}
|
|
33
33
|
<DownloadDatalad
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import React, { FC } from
|
|
1
|
+
import React, { FC } from "react"
|
|
2
2
|
|
|
3
|
-
import { DeleteReviewerLink } from
|
|
4
|
-
import { CreateReviewLink } from
|
|
5
|
-
import { HeaderRow4 } from
|
|
3
|
+
import { DeleteReviewerLink } from "../mutations/delete-anonymous-reviewer"
|
|
4
|
+
import { CreateReviewLink } from "../mutations/create-anonymous-reviewer"
|
|
5
|
+
import { HeaderRow4 } from "./styles/header-row"
|
|
6
6
|
|
|
7
|
-
const formatDate = dateObject =>
|
|
8
|
-
new Date(dateObject).toISOString().split(
|
|
7
|
+
const formatDate = (dateObject) =>
|
|
8
|
+
new Date(dateObject).toISOString().split("T")[0]
|
|
9
9
|
|
|
10
10
|
interface AnonymousReviewerProps {
|
|
11
11
|
datasetId: string
|
|
@@ -32,36 +32,38 @@ export const AnonymousReviewer: FC<AnonymousReviewerProps> = ({
|
|
|
32
32
|
one year or until they are removed.
|
|
33
33
|
</p>
|
|
34
34
|
</div>
|
|
35
|
-
{hasSnapshot
|
|
36
|
-
<CreateReviewLink datasetId={datasetId} />
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
{reviewers.length
|
|
43
|
-
|
|
44
|
-
<
|
|
45
|
-
|
|
46
|
-
<
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
{reviewers?.map((item, index) => (
|
|
51
|
-
<div key={index} className="data-table-content">
|
|
52
|
-
<span>
|
|
53
|
-
<label>ID: </label> {item.id}
|
|
54
|
-
</span>
|
|
55
|
-
<span>
|
|
56
|
-
<label>Expiration: </label> {formatDate(item.expiration)}
|
|
57
|
-
</span>
|
|
58
|
-
<span>
|
|
59
|
-
<DeleteReviewerLink datasetId={datasetId} id={item.id} />
|
|
60
|
-
</span>
|
|
35
|
+
{hasSnapshot
|
|
36
|
+
? <CreateReviewLink datasetId={datasetId} />
|
|
37
|
+
: (
|
|
38
|
+
<p className="text-danger">
|
|
39
|
+
Please create a dataset version before generating a reviewer link.
|
|
40
|
+
</p>
|
|
41
|
+
)}
|
|
42
|
+
{reviewers.length
|
|
43
|
+
? (
|
|
44
|
+
<div className="dataset-form-body">
|
|
45
|
+
<h3>Previous Review Links:</h3>
|
|
46
|
+
<div className="data-table-header">
|
|
47
|
+
<span>ID</span>
|
|
48
|
+
<span>Expiration</span>
|
|
49
|
+
<span>Edit</span>
|
|
61
50
|
</div>
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
51
|
+
{reviewers?.map((item, index) => (
|
|
52
|
+
<div key={index} className="data-table-content">
|
|
53
|
+
<span>
|
|
54
|
+
<label>ID:</label> {item.id}
|
|
55
|
+
</span>
|
|
56
|
+
<span>
|
|
57
|
+
<label>Expiration:</label> {formatDate(item.expiration)}
|
|
58
|
+
</span>
|
|
59
|
+
<span>
|
|
60
|
+
<DeleteReviewerLink datasetId={datasetId} id={item.id} />
|
|
61
|
+
</span>
|
|
62
|
+
</div>
|
|
63
|
+
))}
|
|
64
|
+
</div>
|
|
65
|
+
)
|
|
66
|
+
: null}
|
|
65
67
|
</div>
|
|
66
68
|
</div>
|
|
67
69
|
)
|