@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.
Files changed (358) hide show
  1. package/__mocks__/fileMock.js +1 -1
  2. package/package.json +5 -5
  3. package/pluralize-esm.js +204 -211
  4. package/src/@types/custom.d.ts +3 -3
  5. package/src/@types/react.d.ts +3 -4
  6. package/src/client.jsx +17 -16
  7. package/src/scripts/__mocks__/config.ts +6 -6
  8. package/src/scripts/__utils__/mock-app-shell.tsx +9 -8
  9. package/src/scripts/apm.js +6 -6
  10. package/src/scripts/app.tsx +7 -7
  11. package/src/scripts/authentication/__tests__/profile.spec.js +10 -10
  12. package/src/scripts/authentication/admin-user.jsx +2 -2
  13. package/src/scripts/authentication/logged-in.jsx +2 -2
  14. package/src/scripts/authentication/logged-out.jsx +2 -2
  15. package/src/scripts/authentication/loginCheck.js +2 -2
  16. package/src/scripts/authentication/loginUrls.ts +1 -1
  17. package/src/scripts/authentication/profile.ts +7 -7
  18. package/src/scripts/authentication/regular-user.tsx +3 -3
  19. package/src/scripts/authentication/signOut.ts +2 -2
  20. package/src/scripts/authentication/withProfile.jsx +6 -6
  21. package/src/scripts/common/block-navigation.jsx +3 -4
  22. package/src/scripts/common/containers/__tests__/header.spec.tsx +16 -16
  23. package/src/scripts/common/containers/footer.tsx +3 -3
  24. package/src/scripts/common/containers/header.tsx +30 -30
  25. package/src/scripts/common/forms/__tests__/warn-button.spec.jsx +6 -6
  26. package/src/scripts/common/forms/warn-button.jsx +21 -17
  27. package/src/scripts/common/partials/block-navigation.jsx +3 -4
  28. package/src/scripts/common/partials/freshdesk-widget.jsx +17 -20
  29. package/src/scripts/common/partials/toast-content.jsx +2 -2
  30. package/src/scripts/components/__tests__/data-table.spec.tsx +7 -7
  31. package/src/scripts/components/data-table.tsx +23 -22
  32. package/src/scripts/config.ts +2 -2
  33. package/src/scripts/datalad/dataset/comments-fragments.js +1 -1
  34. package/src/scripts/datalad/dataset/dataset-context.js +1 -1
  35. package/src/scripts/datalad/dataset/dataset-query-context.js +1 -1
  36. package/src/scripts/datalad/dataset/dataset-query-fragments.js +1 -1
  37. package/src/scripts/datalad/mutations/cache-clear.jsx +7 -6
  38. package/src/scripts/datalad/mutations/cache-id.js +2 -2
  39. package/src/scripts/datalad/mutations/delete-comment.jsx +13 -11
  40. package/src/scripts/datalad/mutations/delete.jsx +10 -9
  41. package/src/scripts/datalad/mutations/follow.jsx +12 -11
  42. package/src/scripts/datalad/mutations/publish.jsx +13 -12
  43. package/src/scripts/datalad/mutations/remove-permissions.jsx +8 -8
  44. package/src/scripts/datalad/mutations/revalidate.jsx +7 -6
  45. package/src/scripts/datalad/mutations/snapshot.tsx +7 -7
  46. package/src/scripts/datalad/mutations/star.jsx +12 -11
  47. package/src/scripts/datalad/mutations/submit-metadata.jsx +14 -12
  48. package/src/scripts/datalad/mutations/update-permissions.jsx +14 -13
  49. package/src/scripts/datalad/mutations/update-ref.jsx +7 -6
  50. package/src/scripts/datalad/routes/dataset-redirect.tsx +49 -49
  51. package/src/scripts/datalad/subscriptions/__tests__/files-subscription.spec.jsx +32 -32
  52. package/src/scripts/datalad/subscriptions/files-subscription.jsx +16 -16
  53. package/src/scripts/datalad/subscriptions/useDatasetDeletedSubscription.jsx +4 -4
  54. package/src/scripts/datalad/subscriptions/useDraftSubscription.js +4 -4
  55. package/src/scripts/datalad/subscriptions/usePermissionsSubscription.js +4 -4
  56. package/src/scripts/datalad/subscriptions/useSnapshotsUpdatedSubscriptions.js +3 -3
  57. package/src/scripts/dataset/__tests__/__snapshots__/snapshot-container.spec.tsx.snap +2 -2
  58. package/src/scripts/dataset/__tests__/snapshot-container.spec.tsx +12 -12
  59. package/src/scripts/dataset/comments/__tests__/comment.spec.jsx +21 -21
  60. package/src/scripts/dataset/comments/__tests__/comments.spec.jsx +10 -10
  61. package/src/scripts/dataset/comments/block-style-controls.jsx +15 -15
  62. package/src/scripts/dataset/comments/comment-editor.jsx +31 -31
  63. package/src/scripts/dataset/comments/comment.jsx +50 -50
  64. package/src/scripts/dataset/comments/comments.jsx +24 -22
  65. package/src/scripts/dataset/comments/inline-style-controls.jsx +9 -9
  66. package/src/scripts/dataset/comments/style-button.jsx +8 -9
  67. package/src/scripts/dataset/common/follow-toggles.tsx +3 -3
  68. package/src/scripts/dataset/dataset-query-context.js +1 -1
  69. package/src/scripts/dataset/dataset-query.jsx +34 -31
  70. package/src/scripts/dataset/dataset-routes.jsx +5 -5
  71. package/src/scripts/dataset/download/__tests__/download-command-line.spec.jsx +13 -13
  72. package/src/scripts/dataset/download/__tests__/download-link.spec.jsx +10 -10
  73. package/src/scripts/dataset/download/__tests__/download-native.spec.js +7 -7
  74. package/src/scripts/dataset/download/__tests__/shell-example.spec.jsx +5 -5
  75. package/src/scripts/dataset/download/download-command-line.jsx +9 -7
  76. package/src/scripts/dataset/download/download-datalad.jsx +22 -20
  77. package/src/scripts/dataset/download/download-derivative-datalad.tsx +2 -2
  78. package/src/scripts/dataset/download/download-derivative-s3.tsx +2 -2
  79. package/src/scripts/dataset/download/download-link.jsx +6 -6
  80. package/src/scripts/dataset/download/download-native.js +20 -19
  81. package/src/scripts/dataset/download/download-query.js +2 -3
  82. package/src/scripts/dataset/download/download-s3.jsx +8 -8
  83. package/src/scripts/dataset/download/download-script.tsx +23 -20
  84. package/src/scripts/dataset/download/native-file-toast.jsx +13 -11
  85. package/src/scripts/dataset/download/shell-example.jsx +1 -1
  86. package/src/scripts/dataset/download/track-download.js +5 -5
  87. package/src/scripts/dataset/draft-container.tsx +104 -102
  88. package/src/scripts/dataset/draft-snapshot-routes.tsx +3 -3
  89. package/src/scripts/dataset/files/__tests__/file-tree-unloaded-directory.spec.jsx +23 -23
  90. package/src/scripts/dataset/files/__tests__/file-tree.spec.jsx +57 -58
  91. package/src/scripts/dataset/files/__tests__/file-viewer-type.spec.jsx +6 -6
  92. package/src/scripts/dataset/files/__tests__/file.spec.jsx +15 -15
  93. package/src/scripts/dataset/files/file-display.jsx +11 -11
  94. package/src/scripts/dataset/files/file-tree-unloaded-directory.jsx +10 -10
  95. package/src/scripts/dataset/files/file-tree.tsx +27 -27
  96. package/src/scripts/dataset/files/file-view.jsx +4 -4
  97. package/src/scripts/dataset/files/file-viewer-type.jsx +21 -21
  98. package/src/scripts/dataset/files/file.tsx +85 -80
  99. package/src/scripts/dataset/files/files.tsx +41 -40
  100. package/src/scripts/dataset/files/index.tsx +2 -2
  101. package/src/scripts/dataset/files/viewers/__tests__/__snapshots__/file-viewer-json.spec.jsx.snap +0 -24
  102. package/src/scripts/dataset/files/viewers/__tests__/file-viewer-json.spec.jsx +9 -9
  103. package/src/scripts/dataset/files/viewers/__tests__/parse-tabular.spec.js +8 -8
  104. package/src/scripts/dataset/files/viewers/file-viewer-csv.jsx +5 -5
  105. package/src/scripts/dataset/files/viewers/file-viewer-html.jsx +3 -3
  106. package/src/scripts/dataset/files/viewers/file-viewer-json.jsx +4 -4
  107. package/src/scripts/dataset/files/viewers/file-viewer-nifti.tsx +4 -4
  108. package/src/scripts/dataset/files/viewers/file-viewer-table.tsx +3 -3
  109. package/src/scripts/dataset/files/viewers/file-viewer-text.jsx +3 -3
  110. package/src/scripts/dataset/files/viewers/file-viewer-tsv.jsx +5 -5
  111. package/src/scripts/dataset/files/viewers/parse-tabular.js +4 -4
  112. package/src/scripts/dataset/fragments/__tests__/cancel-button.spec.tsx +5 -5
  113. package/src/scripts/dataset/fragments/__tests__/dataset-alert-draft.spec.tsx +9 -9
  114. package/src/scripts/dataset/fragments/__tests__/dataset-citation.spec.jsx +10 -10
  115. package/src/scripts/dataset/fragments/__tests__/doi-link.spec.tsx +29 -29
  116. package/src/scripts/dataset/fragments/__tests__/edit-button.spec.tsx +5 -5
  117. package/src/scripts/dataset/fragments/__tests__/edit-list.spec.jsx +13 -13
  118. package/src/scripts/dataset/fragments/__tests__/save-button.spec.tsx +5 -5
  119. package/src/scripts/dataset/fragments/__tests__/select-input.spec.tsx +26 -26
  120. package/src/scripts/dataset/fragments/cancel-button.tsx +2 -2
  121. package/src/scripts/dataset/fragments/comments-fragments.js +1 -1
  122. package/src/scripts/dataset/fragments/copyable-tooltip.jsx +14 -13
  123. package/src/scripts/dataset/fragments/dataset-alert-draft.tsx +17 -13
  124. package/src/scripts/dataset/fragments/dataset-alert-version.tsx +5 -4
  125. package/src/scripts/dataset/fragments/dataset-citation.jsx +23 -21
  126. package/src/scripts/dataset/fragments/dataset-history.jsx +12 -12
  127. package/src/scripts/dataset/fragments/dataset-reviewers.ts +1 -1
  128. package/src/scripts/dataset/fragments/doi-link.tsx +6 -6
  129. package/src/scripts/dataset/fragments/edit-button.tsx +2 -2
  130. package/src/scripts/dataset/fragments/edit-description-field.jsx +23 -21
  131. package/src/scripts/dataset/fragments/edit-description-list.jsx +8 -8
  132. package/src/scripts/dataset/fragments/edit-list.jsx +8 -8
  133. package/src/scripts/dataset/fragments/number-input.tsx +36 -35
  134. package/src/scripts/dataset/fragments/save-button.tsx +2 -2
  135. package/src/scripts/dataset/fragments/select-input.tsx +87 -86
  136. package/src/scripts/dataset/fragments/text-array-input.tsx +38 -37
  137. package/src/scripts/dataset/fragments/text-input.tsx +79 -78
  138. package/src/scripts/dataset/mutations/__tests__/cache-id.spec.js +5 -5
  139. package/src/scripts/dataset/mutations/__tests__/delete-file.spec.jsx +85 -83
  140. package/src/scripts/dataset/mutations/__tests__/delete.spec.jsx +8 -8
  141. package/src/scripts/dataset/mutations/__tests__/deprecate-snapshot.spec.tsx +17 -17
  142. package/src/scripts/dataset/mutations/__tests__/deprecate-version.spec.tsx +19 -19
  143. package/src/scripts/dataset/mutations/__tests__/description.spec.jsx +51 -51
  144. package/src/scripts/dataset/mutations/__tests__/remove-permissions.spec.tsx +9 -9
  145. package/src/scripts/dataset/mutations/__tests__/update-permissions.spec.jsx +7 -7
  146. package/src/scripts/dataset/mutations/admin-exports.jsx +13 -12
  147. package/src/scripts/dataset/mutations/cache-clear.jsx +6 -6
  148. package/src/scripts/dataset/mutations/cache-id.js +2 -2
  149. package/src/scripts/dataset/mutations/comment.jsx +25 -23
  150. package/src/scripts/dataset/mutations/create-anonymous-reviewer.tsx +36 -30
  151. package/src/scripts/dataset/mutations/dataset-relations.tsx +28 -29
  152. package/src/scripts/dataset/mutations/delete-anonymous-reviewer.tsx +7 -8
  153. package/src/scripts/dataset/mutations/delete-comment.jsx +14 -12
  154. package/src/scripts/dataset/mutations/delete-dataset-form.jsx +20 -22
  155. package/src/scripts/dataset/mutations/delete-file.jsx +8 -8
  156. package/src/scripts/dataset/mutations/delete.jsx +10 -9
  157. package/src/scripts/dataset/mutations/deprecate-version.tsx +5 -6
  158. package/src/scripts/dataset/mutations/description.jsx +21 -20
  159. package/src/scripts/dataset/mutations/flag-annex-object.jsx +10 -9
  160. package/src/scripts/dataset/mutations/follow.tsx +15 -14
  161. package/src/scripts/dataset/mutations/import-dataset.tsx +5 -5
  162. package/src/scripts/dataset/mutations/metadata-form.jsx +94 -97
  163. package/src/scripts/dataset/mutations/publish.jsx +13 -13
  164. package/src/scripts/dataset/mutations/readme.jsx +12 -11
  165. package/src/scripts/dataset/mutations/remove-annex-object.jsx +10 -9
  166. package/src/scripts/dataset/mutations/remove-permissions.tsx +5 -6
  167. package/src/scripts/dataset/mutations/revalidate.jsx +7 -7
  168. package/src/scripts/dataset/mutations/snapshot.tsx +8 -8
  169. package/src/scripts/dataset/mutations/star.tsx +14 -13
  170. package/src/scripts/dataset/mutations/submit-metadata.jsx +12 -11
  171. package/src/scripts/dataset/mutations/undo-deprecate-version.tsx +5 -6
  172. package/src/scripts/dataset/mutations/update-file.jsx +6 -6
  173. package/src/scripts/dataset/mutations/update-permissions.tsx +9 -9
  174. package/src/scripts/dataset/mutations/update-ref.jsx +7 -7
  175. package/src/scripts/dataset/routes/__tests__/deprecate-snapshot-page.spec.tsx +5 -5
  176. package/src/scripts/dataset/routes/add-metadata.jsx +19 -20
  177. package/src/scripts/dataset/routes/admin-datalad.jsx +7 -7
  178. package/src/scripts/dataset/routes/dataset-default.tsx +12 -10
  179. package/src/scripts/dataset/routes/delete-page.tsx +12 -12
  180. package/src/scripts/dataset/routes/deprecate-snapshot-page.tsx +8 -8
  181. package/src/scripts/dataset/routes/derivatives.tsx +10 -10
  182. package/src/scripts/dataset/routes/download-dataset.tsx +20 -20
  183. package/src/scripts/dataset/routes/manage-anonymous-reviewers.tsx +37 -35
  184. package/src/scripts/dataset/routes/manage-permissions.jsx +22 -22
  185. package/src/scripts/dataset/routes/publish.jsx +32 -30
  186. package/src/scripts/dataset/routes/snapshot-default.tsx +7 -7
  187. package/src/scripts/dataset/routes/snapshot.tsx +44 -43
  188. package/src/scripts/dataset/routes/styles/dataset-page-border.tsx +3 -3
  189. package/src/scripts/dataset/routes/styles/dataset-page-tab-container.tsx +3 -3
  190. package/src/scripts/dataset/routes/styles/header-row.tsx +3 -3
  191. package/src/scripts/dataset/routes/tab-routes-draft.tsx +12 -12
  192. package/src/scripts/dataset/routes/tab-routes-snapshot.tsx +8 -8
  193. package/src/scripts/dataset/snapshot-container.tsx +78 -86
  194. package/src/scripts/errors/403page.tsx +11 -11
  195. package/src/scripts/errors/404page.tsx +12 -12
  196. package/src/scripts/errors/errorBoundary.jsx +13 -12
  197. package/src/scripts/errors/errorRoute.jsx +6 -6
  198. package/src/scripts/errors/freshdesk-widget.jsx +17 -20
  199. package/src/scripts/errors/freshdeskInterface.jsx +9 -9
  200. package/src/scripts/errors/orcid/email.jsx +3 -3
  201. package/src/scripts/errors/orcid/family.jsx +4 -4
  202. package/src/scripts/errors/orcid/general.jsx +1 -1
  203. package/src/scripts/errors/orcid/given.jsx +4 -4
  204. package/src/scripts/fixtures/dataset-query.ts +119 -119
  205. package/src/scripts/fixtures/mock-app-wrapper.tsx +4 -4
  206. package/src/scripts/index.tsx +9 -9
  207. package/src/scripts/pages/admin/admin.jsx +5 -5
  208. package/src/scripts/pages/admin/flagged-files.jsx +33 -31
  209. package/src/scripts/pages/admin/user-fragment.ts +1 -1
  210. package/src/scripts/pages/admin/user-tools.tsx +13 -11
  211. package/src/scripts/pages/admin/users.jsx +38 -39
  212. package/src/scripts/pages/api.jsx +20 -19
  213. package/src/scripts/pages/citation-page.tsx +4 -4
  214. package/src/scripts/pages/faq/faq.tsx +2 -2
  215. package/src/scripts/pages/front-page/aggregate-queries/aggregate-counts-container.tsx +6 -5
  216. package/src/scripts/pages/front-page/aggregate-queries/use-participant-count.ts +2 -2
  217. package/src/scripts/pages/front-page/aggregate-queries/use-publicDatasets-count.ts +2 -2
  218. package/src/scripts/pages/front-page/front-page-content.ts +42 -42
  219. package/src/scripts/pages/front-page/front-page.tsx +18 -14
  220. package/src/scripts/pages/front-page-comp.tsx +3 -3
  221. package/src/scripts/pages/import-dataset.tsx +10 -10
  222. package/src/scripts/pages/metadata/dataset-metadata.tsx +15 -14
  223. package/src/scripts/pages/pet-redirect.tsx +2 -2
  224. package/src/scripts/queries/dataset.ts +3 -3
  225. package/src/scripts/resources/__tests__/kibana.spec.js +9 -9
  226. package/src/scripts/resources/kibana.js +3 -3
  227. package/src/scripts/resources/strings.js +2 -2
  228. package/src/scripts/routes.tsx +14 -14
  229. package/src/scripts/search/__helpers__/search-render.tsx +3 -3
  230. package/src/scripts/search/__tests__/search-container.spec.tsx +22 -22
  231. package/src/scripts/search/__tests__/search-params-ctx.spec.tsx +20 -20
  232. package/src/scripts/search/es-query-builders.ts +21 -5
  233. package/src/scripts/search/filters-block-container.tsx +14 -16
  234. package/src/scripts/search/initial-search-params.tsx +45 -45
  235. package/src/scripts/search/inputs/__tests__/sort-by-select.spec.tsx +23 -23
  236. package/src/scripts/search/inputs/admin-allDatasets-toggle.tsx +12 -12
  237. package/src/scripts/search/inputs/age-range-input.tsx +9 -8
  238. package/src/scripts/search/inputs/author-input.tsx +14 -11
  239. package/src/scripts/search/inputs/date-radios.tsx +8 -7
  240. package/src/scripts/search/inputs/diagnosis-select.tsx +6 -6
  241. package/src/scripts/search/inputs/index.ts +33 -33
  242. package/src/scripts/search/inputs/keyword-input.tsx +13 -13
  243. package/src/scripts/search/inputs/modality-select.tsx +33 -30
  244. package/src/scripts/search/inputs/pet/bodyParts_input.tsx +18 -16
  245. package/src/scripts/search/inputs/pet/scannerManufacturersModelNames_input.tsx +18 -16
  246. package/src/scripts/search/inputs/pet/scannerManufacturers_input.tsx +18 -16
  247. package/src/scripts/search/inputs/pet/tracerNames_input.tsx +16 -15
  248. package/src/scripts/search/inputs/pet/tracerRadionuclides_input.tsx +18 -16
  249. package/src/scripts/search/inputs/section-select.tsx +6 -6
  250. package/src/scripts/search/inputs/sex-radios.tsx +6 -6
  251. package/src/scripts/search/inputs/show-datasets-radios.tsx +31 -29
  252. package/src/scripts/search/inputs/sort-by-select.tsx +10 -11
  253. package/src/scripts/search/inputs/species-select.tsx +6 -6
  254. package/src/scripts/search/inputs/study-domain-input.tsx +18 -16
  255. package/src/scripts/search/inputs/subject-count-range-input.tsx +8 -7
  256. package/src/scripts/search/inputs/task-input.tsx +18 -16
  257. package/src/scripts/search/search-container.tsx +83 -85
  258. package/src/scripts/search/search-params-ctx.tsx +40 -38
  259. package/src/scripts/search/search-routes.tsx +4 -4
  260. package/src/scripts/search/use-search-results.tsx +125 -99
  261. package/src/scripts/styles/media.tsx +3 -3
  262. package/src/scripts/styles/support-modal.jsx +2 -2
  263. package/src/scripts/sw.ts +12 -11
  264. package/src/scripts/test-utils.js +4 -4
  265. package/src/scripts/uploader/add-path-to-files.js +7 -7
  266. package/src/scripts/uploader/file-select.tsx +3 -3
  267. package/src/scripts/uploader/file-upload.js +13 -12
  268. package/src/scripts/uploader/input.jsx +8 -7
  269. package/src/scripts/uploader/upload-button.jsx +3 -3
  270. package/src/scripts/uploader/upload-disclaimer-input.tsx +66 -66
  271. package/src/scripts/uploader/upload-disclaimer.jsx +6 -5
  272. package/src/scripts/uploader/upload-file-status.jsx +4 -4
  273. package/src/scripts/uploader/upload-issues.jsx +32 -29
  274. package/src/scripts/uploader/upload-metadata.jsx +18 -17
  275. package/src/scripts/uploader/upload-mutation.js +17 -20
  276. package/src/scripts/uploader/upload-progress-button.jsx +5 -4
  277. package/src/scripts/uploader/upload-progress.jsx +3 -3
  278. package/src/scripts/uploader/upload-rename.jsx +6 -5
  279. package/src/scripts/uploader/upload-resume.jsx +26 -24
  280. package/src/scripts/uploader/upload-select.jsx +10 -9
  281. package/src/scripts/uploader/upload-status.jsx +5 -5
  282. package/src/scripts/uploader/upload-step.jsx +9 -9
  283. package/src/scripts/uploader/uploader-context.js +1 -1
  284. package/src/scripts/uploader/uploader-location.js +1 -1
  285. package/src/scripts/uploader/uploader-modal.jsx +8 -7
  286. package/src/scripts/uploader/uploader-setup-routes.jsx +10 -10
  287. package/src/scripts/uploader/uploader-status-routes.jsx +6 -6
  288. package/src/scripts/uploader/uploader-view.jsx +4 -4
  289. package/src/scripts/uploader/uploader.jsx +50 -48
  290. package/src/scripts/users/username.tsx +3 -3
  291. package/src/scripts/utils/__tests__/csv.spec.ts +16 -16
  292. package/src/scripts/utils/__tests__/date.spec.js +4 -4
  293. package/src/scripts/utils/__tests__/json-ld.spec.js +12 -12
  294. package/src/scripts/utils/__tests__/newid.spec.js +9 -9
  295. package/src/scripts/utils/__tests__/userNotify.spec.js +10 -10
  296. package/src/scripts/utils/analytics.tsx +3 -3
  297. package/src/scripts/utils/cookies.js +1 -1
  298. package/src/scripts/utils/csv.ts +13 -15
  299. package/src/scripts/utils/datalad.js +1 -1
  300. package/src/scripts/utils/dataset-url.js +2 -2
  301. package/src/scripts/utils/date.js +2 -2
  302. package/src/scripts/utils/global-polyfill.ts +2 -2
  303. package/src/scripts/utils/gtag.js +6 -6
  304. package/src/scripts/utils/json-ld.js +13 -13
  305. package/src/scripts/utils/newid.js +1 -1
  306. package/src/scripts/utils/user-login-modal-ctx.tsx +4 -4
  307. package/src/scripts/utils/userNotify.js +2 -2
  308. package/src/scripts/validation/validation-panel.jsx +3 -3
  309. package/src/scripts/validation/validation-results.issues.issue.jsx +9 -9
  310. package/src/scripts/validation/validation-results.issues.jsx +19 -17
  311. package/src/scripts/validation/validation-results.jsx +10 -10
  312. package/src/scripts/validation/validation-status.jsx +19 -17
  313. package/src/scripts/validation/validation.jsx +5 -5
  314. package/src/scripts/workers/schema.ts +2 -2
  315. package/src/scripts/workers/schema.worker.ts +4 -4
  316. package/src/scripts/workers/validate.ts +2 -2
  317. package/src/scripts/workers/validate.worker.ts +7 -5
  318. package/vite.config.js +17 -17
  319. package/src/dist/assets/activity-icon.9ab0c828.png +0 -0
  320. package/src/dist/assets/bids.da8810b3.jpg +0 -0
  321. package/src/dist/assets/brand_mark.28e7645d.png +0 -0
  322. package/src/dist/assets/close-button.21e700a6.png +0 -0
  323. package/src/dist/assets/cube-get.39ed5636.png +0 -0
  324. package/src/dist/assets/cube-share.9b558c29.png +0 -0
  325. package/src/dist/assets/cube-use.ccf2ddc5.png +0 -0
  326. package/src/dist/assets/datalad.a35b15b8.jpg +0 -0
  327. package/src/dist/assets/eeg.1dc1dc54.jpg +0 -0
  328. package/src/dist/assets/email-header.1cb8bf76.png +0 -0
  329. package/src/dist/assets/ieeg.f91deb0a.jpg +0 -0
  330. package/src/dist/assets/index.3db805fb.js +0 -23127
  331. package/src/dist/assets/index.3db805fb.js.map +0 -1
  332. package/src/dist/assets/index.5eb79d2c.css +0 -1
  333. package/src/dist/assets/ljaf.567e9566.png +0 -0
  334. package/src/dist/assets/logo_app.8c986cf9.png +0 -0
  335. package/src/dist/assets/logo_cube.5224b745.png +0 -0
  336. package/src/dist/assets/logo_data.3e1d5743.png +0 -0
  337. package/src/dist/assets/logo_users.a84a265a.png +0 -0
  338. package/src/dist/assets/meg.1e1928f8.jpg +0 -0
  339. package/src/dist/assets/mri.b01e4f42.jpg +0 -0
  340. package/src/dist/assets/nih-bi-logo.80d76e1d.png +0 -0
  341. package/src/dist/assets/nih-stanford.2a7c496e.jpg +0 -0
  342. package/src/dist/assets/nih.78a64d38.png +0 -0
  343. package/src/dist/assets/nimh.0ec775d8.png +0 -0
  344. package/src/dist/assets/nru-logo.f3097dc5.png +0 -0
  345. package/src/dist/assets/nsf.eee1d3f7.png +0 -0
  346. package/src/dist/assets/nsf.f87e96e7.png +0 -0
  347. package/src/dist/assets/on-dark-horz.e1f213d0.svg +0 -1
  348. package/src/dist/assets/on-dark.12f4e2ce.svg +0 -1
  349. package/src/dist/assets/on-light-horz.23ff22c3.svg +0 -1
  350. package/src/dist/assets/on-light.50592f7f.svg +0 -1
  351. package/src/dist/assets/pet-scan.21d98a3d.jpg +0 -0
  352. package/src/dist/assets/revicons.4ca02b8a.ttf +0 -0
  353. package/src/dist/assets/revicons.9e4d4c68.eot +0 -0
  354. package/src/dist/assets/revicons.f7b9c306.woff +0 -0
  355. package/src/dist/assets/sqm-logo.9cd0cca5.png +0 -0
  356. package/src/dist/assets/squishymedia.fa3c5919.png +0 -0
  357. package/src/dist/assets/stanford.5f245936.png +0 -0
  358. package/src/dist/index.html +0 -25
@@ -1,23 +1,23 @@
1
- import React from 'react'
2
- import { screen } from '@testing-library/react'
3
- import { searchRender } from '../../__helpers__/search-render'
4
- import SortBySelect from '../sort-by-select'
5
- import initialSearchParams from '../../initial-search-params'
1
+ import React from "react"
2
+ import { screen } from "@testing-library/react"
3
+ import { searchRender } from "../../__helpers__/search-render"
4
+ import SortBySelect from "../sort-by-select"
5
+ import initialSearchParams from "../../initial-search-params"
6
6
 
7
7
  const providerProps = {
8
8
  value: { searchParams: { ...initialSearchParams } },
9
9
  }
10
10
 
11
- describe('SortBySelect component', () => {
12
- it('displays Newest when parameters are set to default', () => {
11
+ describe("SortBySelect component", () => {
12
+ it("displays Newest when parameters are set to default", () => {
13
13
  searchRender(<SortBySelect variables={{ query: { bool: {} } }} />, {
14
14
  providerProps,
15
15
  })
16
- expect(screen.getByText('SORT BY:').closest('div')).toHaveTextContent(
17
- 'SORT BY: Newest',
16
+ expect(screen.getByText("SORT BY:").closest("div")).toHaveTextContent(
17
+ "SORT BY: Newest",
18
18
  )
19
19
  })
20
- it('displays Newest when parameters are set to default and modality has changed', () => {
20
+ it("displays Newest when parameters are set to default and modality has changed", () => {
21
21
  searchRender(
22
22
  <SortBySelect
23
23
  variables={{
@@ -26,8 +26,8 @@ describe('SortBySelect component', () => {
26
26
  filter: [
27
27
  {
28
28
  match: {
29
- 'latestSnapshot.summary.modalities': {
30
- query: 'MRI',
29
+ "latestSnapshot.summary.modalities": {
30
+ query: "MRI",
31
31
  },
32
32
  },
33
33
  },
@@ -40,20 +40,20 @@ describe('SortBySelect component', () => {
40
40
  providerProps,
41
41
  },
42
42
  )
43
- expect(screen.getByText('SORT BY:').closest('div')).toHaveTextContent(
44
- 'SORT BY: Newest',
43
+ expect(screen.getByText("SORT BY:").closest("div")).toHaveTextContent(
44
+ "SORT BY: Newest",
45
45
  )
46
46
  })
47
- it('displays Relevance when any non-modality parameters are set away from default', () => {
47
+ it("displays Relevance when any non-modality parameters are set away from default", () => {
48
48
  searchRender(
49
- <SortBySelect variables={{ query: { bool: { species: 'Human' } } }} />,
49
+ <SortBySelect variables={{ query: { bool: { species: "Human" } } }} />,
50
50
  { providerProps },
51
51
  )
52
- expect(screen.getByText('SORT BY:').closest('div')).toHaveTextContent(
53
- 'SORT BY: Relevance',
52
+ expect(screen.getByText("SORT BY:").closest("div")).toHaveTextContent(
53
+ "SORT BY: Relevance",
54
54
  )
55
55
  })
56
- it('displays Relevance with age of participants set', () => {
56
+ it("displays Relevance with age of participants set", () => {
57
57
  searchRender(
58
58
  <SortBySelect
59
59
  variables={{
@@ -62,10 +62,10 @@ describe('SortBySelect component', () => {
62
62
  filter: [
63
63
  {
64
64
  range: {
65
- 'latestSnapshot.summary.subjectMetadata.age': {
65
+ "latestSnapshot.summary.subjectMetadata.age": {
66
66
  gte: 10,
67
67
  lte: 100,
68
- relation: 'INTERSECTS',
68
+ relation: "INTERSECTS",
69
69
  },
70
70
  },
71
71
  },
@@ -76,8 +76,8 @@ describe('SortBySelect component', () => {
76
76
  />,
77
77
  { providerProps },
78
78
  )
79
- expect(screen.getByText('SORT BY:').closest('div')).toHaveTextContent(
80
- 'SORT BY: Relevance',
79
+ expect(screen.getByText("SORT BY:").closest("div")).toHaveTextContent(
80
+ "SORT BY: Relevance",
81
81
  )
82
82
  })
83
83
  })
@@ -1,7 +1,7 @@
1
- import React, { FC, useContext } from 'react'
2
- import { SearchParamsCtx } from '../search-params-ctx'
3
- import { Button } from '@openneuro/components/button'
4
- import styled from '@emotion/styled'
1
+ import React, { FC, useContext } from "react"
2
+ import { SearchParamsCtx } from "../search-params-ctx"
3
+ import { Button } from "@openneuro/components/button"
4
+ import styled from "@emotion/styled"
5
5
 
6
6
  const StyledButton = styled(Button)`
7
7
  width: auto;
@@ -25,21 +25,21 @@ const TaskInput: FC = () => {
25
25
  } = useContext(SearchParamsCtx)
26
26
 
27
27
  const toggleSearchAllDatasets = () =>
28
- setSearchParams(prevState => ({
28
+ setSearchParams((prevState) => ({
29
29
  ...prevState,
30
30
  searchAllDatasets: !prevState.searchAllDatasets,
31
31
  }))
32
32
 
33
33
  return (
34
34
  <StyledButton
35
- className={searchAllDatasets ? 'active toggle-btn' : 'toggle-btn'}
35
+ className={searchAllDatasets ? "active toggle-btn" : "toggle-btn"}
36
36
  onClick={toggleSearchAllDatasets}
37
- icon={searchAllDatasets ? 'fas fa-check-square' : 'far fa-square'}
38
- label={
39
- searchAllDatasets
40
- ? 'Admin: Searching All Datasets'
41
- : 'Admin: Search All Datasets'
42
- }></StyledButton>
37
+ icon={searchAllDatasets ? "fas fa-check-square" : "far fa-square"}
38
+ label={searchAllDatasets
39
+ ? "Admin: Searching All Datasets"
40
+ : "Admin: Search All Datasets"}
41
+ >
42
+ </StyledButton>
43
43
  )
44
44
  }
45
45
 
@@ -1,15 +1,15 @@
1
- import React, { FC, useContext } from 'react'
2
- import { SearchParamsCtx } from '../search-params-ctx'
3
- import initialSearchParams from '../initial-search-params'
4
- import { FacetRange } from '@openneuro/components/facets'
5
- import { AccordionTab, AccordionWrap } from '@openneuro/components/accordion'
1
+ import React, { FC, useContext } from "react"
2
+ import { SearchParamsCtx } from "../search-params-ctx"
3
+ import initialSearchParams from "../initial-search-params"
4
+ import { FacetRange } from "@openneuro/components/facets"
5
+ import { AccordionTab, AccordionWrap } from "@openneuro/components/accordion"
6
6
 
7
7
  const AgeRangeInput: FC = () => {
8
8
  const { searchParams, setSearchParams } = useContext(SearchParamsCtx)
9
9
 
10
10
  const ageRange = searchParams.ageRange
11
- const setAgeRange = ageRange =>
12
- setSearchParams(prevState => ({
11
+ const setAgeRange = (ageRange) =>
12
+ setSearchParams((prevState) => ({
13
13
  ...prevState,
14
14
  ageRange,
15
15
  }))
@@ -26,7 +26,8 @@ const AgeRangeInput: FC = () => {
26
26
  <AccordionTab
27
27
  accordionStyle="plain"
28
28
  label="Age of Participants"
29
- startOpen={false}>
29
+ startOpen={false}
30
+ >
30
31
  <FacetRange
31
32
  min={min}
32
33
  max={max}
@@ -1,21 +1,21 @@
1
- import React, { FC, useContext } from 'react'
2
- import useState from 'react-usestateref'
3
- import { SearchParamsCtx, removeFilterItem } from '../search-params-ctx'
4
- import { FacetSearch } from '@openneuro/components/facets'
5
- import { AccordionTab, AccordionWrap } from '@openneuro/components/accordion'
1
+ import React, { FC, useContext } from "react"
2
+ import useState from "react-usestateref"
3
+ import { removeFilterItem, SearchParamsCtx } from "../search-params-ctx"
4
+ import { FacetSearch } from "@openneuro/components/facets"
5
+ import { AccordionTab, AccordionWrap } from "@openneuro/components/accordion"
6
6
 
7
7
  const AuthorInput: FC = () => {
8
8
  const { searchParams, setSearchParams } = useContext(SearchParamsCtx)
9
9
  const authors = searchParams.authors
10
10
 
11
- const [newAuthor, setNewAuthor, newAuthorRef] = useState('')
11
+ const [newAuthor, setNewAuthor, newAuthorRef] = useState("")
12
12
 
13
13
  const addAuthor = () => {
14
- setSearchParams(prevState => ({
14
+ setSearchParams((prevState) => ({
15
15
  ...prevState,
16
16
  authors: [...authors, newAuthorRef.current],
17
17
  }))
18
- setNewAuthor('')
18
+ setNewAuthor("")
19
19
  }
20
20
 
21
21
  return (
@@ -24,7 +24,8 @@ const AuthorInput: FC = () => {
24
24
  accordionStyle="plain"
25
25
  label="Authors / PI"
26
26
  className="search-facet"
27
- startOpen={false}>
27
+ startOpen={false}
28
+ >
28
29
  <FacetSearch
29
30
  type="text"
30
31
  placeholder="Enter Name(s) to Search"
@@ -42,11 +43,13 @@ const AuthorInput: FC = () => {
42
43
  removeFilterItem={removeFilterItem(setSearchParams)}
43
44
  helpText={
44
45
  <>
45
- Results on multiple inputs will include all datasets that have{' '}
46
+ Results on multiple inputs will include all datasets that have
47
+ {" "}
46
48
  <b>ANY</b> of the entered names
47
49
  </>
48
50
  }
49
- />{' '}
51
+ />
52
+ {" "}
50
53
  </AccordionTab>
51
54
  </AccordionWrap>
52
55
  )
@@ -1,14 +1,14 @@
1
- import React, { FC, useContext } from 'react'
2
- import { SearchParamsCtx } from '../search-params-ctx'
3
- import { FacetRadio } from '@openneuro/components/facets'
4
- import { AccordionTab, AccordionWrap } from '@openneuro/components/accordion'
1
+ import React, { FC, useContext } from "react"
2
+ import { SearchParamsCtx } from "../search-params-ctx"
3
+ import { FacetRadio } from "@openneuro/components/facets"
4
+ import { AccordionTab, AccordionWrap } from "@openneuro/components/accordion"
5
5
 
6
6
  const DateRadios: FC = () => {
7
7
  const { searchParams, setSearchParams } = useContext(SearchParamsCtx)
8
8
 
9
9
  const { date_available, date_selected } = searchParams
10
- const setDate = date_selected =>
11
- setSearchParams(prevState => ({
10
+ const setDate = (date_selected) =>
11
+ setSearchParams((prevState) => ({
12
12
  ...prevState,
13
13
  date_selected,
14
14
  }))
@@ -18,7 +18,8 @@ const DateRadios: FC = () => {
18
18
  <AccordionTab
19
19
  startOpen={false}
20
20
  label="Publication Date"
21
- accordionStyle="plain">
21
+ accordionStyle="plain"
22
+ >
22
23
  <FacetRadio
23
24
  selected={date_selected}
24
25
  setSelected={setDate}
@@ -1,14 +1,14 @@
1
- import React, { FC, useContext } from 'react'
2
- import { SearchParamsCtx } from '../search-params-ctx'
3
- import { FacetSelect } from '@openneuro/components/facets'
4
- import { AccordionTab, AccordionWrap } from '@openneuro/components/accordion'
1
+ import React, { FC, useContext } from "react"
2
+ import { SearchParamsCtx } from "../search-params-ctx"
3
+ import { FacetSelect } from "@openneuro/components/facets"
4
+ import { AccordionTab, AccordionWrap } from "@openneuro/components/accordion"
5
5
 
6
6
  const DiagnosisSelect: FC = () => {
7
7
  const { searchParams, setSearchParams } = useContext(SearchParamsCtx)
8
8
 
9
9
  const { diagnosis_available, diagnosis_selected } = searchParams
10
- const setDiagnosis = diagnosis_selected =>
11
- setSearchParams(prevState => ({
10
+ const setDiagnosis = (diagnosis_selected) =>
11
+ setSearchParams((prevState) => ({
12
12
  ...prevState,
13
13
  diagnosis_selected,
14
14
  }))
@@ -1,43 +1,43 @@
1
- import KeywordInput from './keyword-input'
2
- import AllDatasetsToggle from './admin-allDatasets-toggle'
3
- import ModalitySelect from './modality-select'
4
- import ShowDatasetRadios from './show-datasets-radios'
5
- import AgeRangeInput from './age-range-input'
6
- import SubjectCountRangeInput from './subject-count-range-input'
7
- import DiagnosisSelect from './diagnosis-select'
8
- import TaskInput from './task-input'
9
- import AuthorInput from './author-input'
10
- import SexRadios from './sex-radios'
11
- import DateRadios from './date-radios'
12
- import SpeciesSelect from './species-select'
13
- import SectionSelect from './section-select'
14
- import StudyDomainInput from './study-domain-input'
15
- import BodyPartsInput from './pet/bodyParts_input'
16
- import ScannerManufacturers from './pet/scannerManufacturers_input'
17
- import ScannerManufacturersModelNames from './pet/scannerManufacturersModelNames_input'
18
- import TracerNames from './pet/tracerNames_input'
19
- import TracerRadionuclides from './pet/tracerRadionuclides_input'
20
- import SortBySelect from './sort-by-select'
1
+ import KeywordInput from "./keyword-input"
2
+ import AllDatasetsToggle from "./admin-allDatasets-toggle"
3
+ import ModalitySelect from "./modality-select"
4
+ import ShowDatasetRadios from "./show-datasets-radios"
5
+ import AgeRangeInput from "./age-range-input"
6
+ import SubjectCountRangeInput from "./subject-count-range-input"
7
+ import DiagnosisSelect from "./diagnosis-select"
8
+ import TaskInput from "./task-input"
9
+ import AuthorInput from "./author-input"
10
+ import SexRadios from "./sex-radios"
11
+ import DateRadios from "./date-radios"
12
+ import SpeciesSelect from "./species-select"
13
+ import SectionSelect from "./section-select"
14
+ import StudyDomainInput from "./study-domain-input"
15
+ import BodyPartsInput from "./pet/bodyParts_input"
16
+ import ScannerManufacturers from "./pet/scannerManufacturers_input"
17
+ import ScannerManufacturersModelNames from "./pet/scannerManufacturersModelNames_input"
18
+ import TracerNames from "./pet/tracerNames_input"
19
+ import TracerRadionuclides from "./pet/tracerRadionuclides_input"
20
+ import SortBySelect from "./sort-by-select"
21
21
 
22
22
  export {
23
- KeywordInput,
24
- AllDatasetsToggle,
25
- ModalitySelect,
26
- ShowDatasetRadios,
27
23
  AgeRangeInput,
28
- SubjectCountRangeInput,
29
- DiagnosisSelect,
30
- TaskInput,
24
+ AllDatasetsToggle,
31
25
  AuthorInput,
32
- SexRadios,
33
- DateRadios,
34
- SpeciesSelect,
35
- SectionSelect,
36
- StudyDomainInput,
37
26
  BodyPartsInput,
27
+ DateRadios,
28
+ DiagnosisSelect,
29
+ KeywordInput,
30
+ ModalitySelect,
38
31
  ScannerManufacturers,
39
32
  ScannerManufacturersModelNames,
33
+ SectionSelect,
34
+ SexRadios,
35
+ ShowDatasetRadios,
36
+ SortBySelect,
37
+ SpeciesSelect,
38
+ StudyDomainInput,
39
+ SubjectCountRangeInput,
40
+ TaskInput,
40
41
  TracerNames,
41
42
  TracerRadionuclides,
42
- SortBySelect,
43
43
  }
@@ -1,21 +1,21 @@
1
- import React, { FC, useContext } from 'react'
2
- import useState from 'react-usestateref'
3
- import { SearchParamsCtx, removeFilterItem } from '../search-params-ctx'
4
- import { TermSearch } from '@openneuro/components/input'
5
- import { Icon } from '@openneuro/components/icon'
1
+ import React, { FC, useContext } from "react"
2
+ import useState from "react-usestateref"
3
+ import { removeFilterItem, SearchParamsCtx } from "../search-params-ctx"
4
+ import { TermSearch } from "@openneuro/components/input"
5
+ import { Icon } from "@openneuro/components/icon"
6
6
 
7
7
  const KeywordInput: FC = () => {
8
8
  const { searchParams, setSearchParams } = useContext(SearchParamsCtx)
9
9
  const keywords = searchParams.keywords
10
10
 
11
- const [newKeyword, setNewKeyword, newKeywordRef] = useState('')
11
+ const [newKeyword, setNewKeyword, newKeywordRef] = useState("")
12
12
 
13
13
  const addKeyword = () => {
14
- setSearchParams(prevState => ({
14
+ setSearchParams((prevState) => ({
15
15
  ...prevState,
16
16
  keywords: [...keywords, newKeywordRef.current],
17
17
  }))
18
- setNewKeyword('')
18
+ setNewKeyword("")
19
19
  }
20
20
 
21
21
  return (
@@ -39,11 +39,11 @@ const KeywordInput: FC = () => {
39
39
  removeFilterItem={removeFilterItem(setSearchParams)}
40
40
  tipContent={
41
41
  <span>
42
- Each time the{' '}
43
- <Icon icon="fas fa-plus" label="plus" iconOnly={true} /> button is
44
- clicked, it will add a search filter. Multiple words in a filter
45
- will return results containing any or all words. For advanced
46
- filters use the{' '}
42
+ Each time the{" "}
43
+ <Icon icon="fas fa-plus" label="plus" iconOnly={true} />{" "}
44
+ button is clicked, it will add a search filter. Multiple words in a
45
+ filter will return results containing any or all words. For advanced
46
+ filters use the{" "}
47
47
  <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-simple-query-string-query.html#simple-query-string-syntax">
48
48
  simple query string syntax
49
49
  </a>
@@ -1,10 +1,10 @@
1
- import React, { FC, useContext } from 'react'
2
- import { useNavigate } from 'react-router-dom'
3
- import { SearchParamsCtx } from '../search-params-ctx'
4
- import { SearchParams, flattenedModalities } from '../initial-search-params'
5
- import { FacetSelect } from '@openneuro/components/facets'
6
- import { AccordionTab, AccordionWrap } from '@openneuro/components/accordion'
7
- import initialSearchParams from '../initial-search-params'
1
+ import React, { FC, useContext } from "react"
2
+ import { useNavigate } from "react-router-dom"
3
+ import { SearchParamsCtx } from "../search-params-ctx"
4
+ import { flattenedModalities, SearchParams } from "../initial-search-params"
5
+ import { FacetSelect } from "@openneuro/components/facets"
6
+ import { AccordionTab, AccordionWrap } from "@openneuro/components/accordion"
7
+ import initialSearchParams from "../initial-search-params"
8
8
 
9
9
  interface ModalitySelectProps {
10
10
  inHeader?: boolean
@@ -34,7 +34,7 @@ const ModalitySelect: FC<ModalitySelectProps> = ({
34
34
  modality_selected,
35
35
  }),
36
36
  )
37
- const modality_selected_path = flattenedModalities.find(modality => {
37
+ const modality_selected_path = flattenedModalities.find((modality) => {
38
38
  return modality.label === modality_selected
39
39
  })?.portalPath
40
40
  navigate(modality_selected_path)
@@ -42,29 +42,32 @@ const ModalitySelect: FC<ModalitySelectProps> = ({
42
42
 
43
43
  return (
44
44
  <>
45
- {portalStyles ? (
46
- <FacetSelect
47
- className="modality-facet facet-open"
48
- label={label}
49
- selected={modality_selected}
50
- setSelected={setModality}
51
- items={modality_available}
52
- />
53
- ) : (
54
- <AccordionWrap className="modality-facet facet-accordion">
55
- <AccordionTab
56
- accordionStyle="plain"
45
+ {portalStyles
46
+ ? (
47
+ <FacetSelect
48
+ className="modality-facet facet-open"
57
49
  label={label}
58
- startOpen={portalStyles ? startOpen : false}
59
- dropdown={dropdown}>
60
- <FacetSelect
61
- selected={modality_selected}
62
- setSelected={setModality}
63
- items={modality_available}
64
- />
65
- </AccordionTab>
66
- </AccordionWrap>
67
- )}
50
+ selected={modality_selected}
51
+ setSelected={setModality}
52
+ items={modality_available}
53
+ />
54
+ )
55
+ : (
56
+ <AccordionWrap className="modality-facet facet-accordion">
57
+ <AccordionTab
58
+ accordionStyle="plain"
59
+ label={label}
60
+ startOpen={portalStyles ? startOpen : false}
61
+ dropdown={dropdown}
62
+ >
63
+ <FacetSelect
64
+ selected={modality_selected}
65
+ setSelected={setModality}
66
+ items={modality_available}
67
+ />
68
+ </AccordionTab>
69
+ </AccordionWrap>
70
+ )}
68
71
  </>
69
72
  )
70
73
  }
@@ -1,22 +1,22 @@
1
- import React, { FC, useContext } from 'react'
2
- import useState from 'react-usestateref'
3
- import { SearchParamsCtx, removeFilterItem } from '../../search-params-ctx'
4
- import { FacetSearch } from '@openneuro/components/facets'
5
- import { Icon } from '@openneuro/components/icon'
6
- import { AccordionTab, AccordionWrap } from '@openneuro/components/accordion'
1
+ import React, { FC, useContext } from "react"
2
+ import useState from "react-usestateref"
3
+ import { removeFilterItem, SearchParamsCtx } from "../../search-params-ctx"
4
+ import { FacetSearch } from "@openneuro/components/facets"
5
+ import { Icon } from "@openneuro/components/icon"
6
+ import { AccordionTab, AccordionWrap } from "@openneuro/components/accordion"
7
7
 
8
8
  const BodyPartsInput: FC = () => {
9
9
  const { searchParams, setSearchParams } = useContext(SearchParamsCtx)
10
10
  const bodyParts = searchParams.bodyParts
11
11
 
12
- const [newInput, setNewInput, newInputRef] = useState('')
12
+ const [newInput, setNewInput, newInputRef] = useState("")
13
13
 
14
14
  const addBodyPart = () => {
15
- setSearchParams(prevState => ({
15
+ setSearchParams((prevState) => ({
16
16
  ...prevState,
17
17
  bodyParts: [...bodyParts, newInputRef.current],
18
18
  }))
19
- setNewInput('')
19
+ setNewInput("")
20
20
  }
21
21
 
22
22
  return (
@@ -25,7 +25,8 @@ const BodyPartsInput: FC = () => {
25
25
  accordionStyle="plain"
26
26
  label="Target"
27
27
  className="search-facet"
28
- startOpen={false}>
28
+ startOpen={false}
29
+ >
29
30
  <FacetSearch
30
31
  type="text"
31
32
  placeholder="Enter Target(s) to Search"
@@ -43,18 +44,19 @@ const BodyPartsInput: FC = () => {
43
44
  removeFilterItem={removeFilterItem(setSearchParams)}
44
45
  helpText={
45
46
  <span>
46
- Each time the{' '}
47
- <Icon icon="fas fa-plus" label="plus" iconOnly={true} /> button is
48
- clicked, it will add a search filter. Multiple words in a filter
49
- will return results containing any or all words. For advanced
50
- filters use the{' '}
47
+ Each time the{" "}
48
+ <Icon icon="fas fa-plus" label="plus" iconOnly={true} />{" "}
49
+ button is clicked, it will add a search filter. Multiple words in
50
+ a filter will return results containing any or all words. For
51
+ advanced filters use the{" "}
51
52
  <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-simple-query-string-query.html#simple-query-string-syntax">
52
53
  simple query string syntax
53
54
  </a>
54
55
  .
55
56
  </span>
56
57
  }
57
- />{' '}
58
+ />
59
+ {" "}
58
60
  </AccordionTab>
59
61
  </AccordionWrap>
60
62
  )
@@ -1,26 +1,26 @@
1
- import React, { FC, useContext } from 'react'
2
- import useState from 'react-usestateref'
3
- import { SearchParamsCtx, removeFilterItem } from '../../search-params-ctx'
4
- import { FacetSearch } from '@openneuro/components/facets'
5
- import { Icon } from '@openneuro/components/icon'
6
- import { AccordionTab, AccordionWrap } from '@openneuro/components/accordion'
1
+ import React, { FC, useContext } from "react"
2
+ import useState from "react-usestateref"
3
+ import { removeFilterItem, SearchParamsCtx } from "../../search-params-ctx"
4
+ import { FacetSearch } from "@openneuro/components/facets"
5
+ import { Icon } from "@openneuro/components/icon"
6
+ import { AccordionTab, AccordionWrap } from "@openneuro/components/accordion"
7
7
 
8
8
  const ScannerManufacturersModelNamesInput: FC = () => {
9
9
  const { searchParams, setSearchParams } = useContext(SearchParamsCtx)
10
10
  const scannerManufacturersModelNames =
11
11
  searchParams.scannerManufacturersModelNames
12
12
 
13
- const [newInput, setNewInput, newInputRef] = useState('')
13
+ const [newInput, setNewInput, newInputRef] = useState("")
14
14
 
15
15
  const addScannerManufacturersModelName = () => {
16
- setSearchParams(prevState => ({
16
+ setSearchParams((prevState) => ({
17
17
  ...prevState,
18
18
  scannerManufacturersModelNames: [
19
19
  ...scannerManufacturersModelNames,
20
20
  newInputRef.current,
21
21
  ],
22
22
  }))
23
- setNewInput('')
23
+ setNewInput("")
24
24
  }
25
25
 
26
26
  return (
@@ -29,7 +29,8 @@ const ScannerManufacturersModelNamesInput: FC = () => {
29
29
  accordionStyle="plain"
30
30
  label="Scanner Model"
31
31
  className="search-facet"
32
- startOpen={false}>
32
+ startOpen={false}
33
+ >
33
34
  <FacetSearch
34
35
  type="text"
35
36
  placeholder="Enter Scanner Model(s) to Search"
@@ -47,18 +48,19 @@ const ScannerManufacturersModelNamesInput: FC = () => {
47
48
  removeFilterItem={removeFilterItem(setSearchParams)}
48
49
  helpText={
49
50
  <span>
50
- Each time the{' '}
51
- <Icon icon="fas fa-plus" label="plus" iconOnly={true} /> button is
52
- clicked, it will add a search filter. Multiple words in a filter
53
- will return results containing any or all words. For advanced
54
- filters use the{' '}
51
+ Each time the{" "}
52
+ <Icon icon="fas fa-plus" label="plus" iconOnly={true} />{" "}
53
+ button is clicked, it will add a search filter. Multiple words in
54
+ a filter will return results containing any or all words. For
55
+ advanced filters use the{" "}
55
56
  <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-simple-query-string-query.html#simple-query-string-syntax">
56
57
  simple query string syntax
57
58
  </a>
58
59
  .
59
60
  </span>
60
61
  }
61
- />{' '}
62
+ />
63
+ {" "}
62
64
  </AccordionTab>
63
65
  </AccordionWrap>
64
66
  )