synapse-react-client 4.0.2 → 4.0.4

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 (525) hide show
  1. package/dist/SWC.index.js +1 -1
  2. package/dist/assets/icons/AwardScroll.d.ts +5 -0
  3. package/dist/assets/icons/AwardScroll.d.ts.map +1 -0
  4. package/dist/assets/icons/AwardScroll.js +78 -0
  5. package/dist/assets/icons/AwardScroll.js.map +1 -0
  6. package/dist/assets/icons/Baseline.d.ts +5 -0
  7. package/dist/assets/icons/Baseline.d.ts.map +1 -0
  8. package/dist/assets/icons/Baseline.js +43 -0
  9. package/dist/assets/icons/Baseline.js.map +1 -0
  10. package/dist/assets/icons/Challenge.svg +13 -0
  11. package/dist/assets/icons/Challenge.svg.js +7 -0
  12. package/dist/assets/icons/Challenge.svg.js.map +1 -0
  13. package/dist/assets/icons/ClappingHands.d.ts +5 -0
  14. package/dist/assets/icons/ClappingHands.d.ts.map +1 -0
  15. package/dist/assets/icons/ClappingHands.js +106 -0
  16. package/dist/assets/icons/ClappingHands.js.map +1 -0
  17. package/dist/assets/icons/HandWithMoney.d.ts +5 -0
  18. package/dist/assets/icons/HandWithMoney.d.ts.map +1 -0
  19. package/dist/assets/icons/HandWithMoney.js +15 -0
  20. package/dist/assets/icons/HandWithMoney.js.map +1 -0
  21. package/dist/assets/icons/MultiFile.d.ts +5 -0
  22. package/dist/assets/icons/MultiFile.d.ts.map +1 -0
  23. package/dist/assets/icons/MultiFile.js +8 -0
  24. package/dist/assets/icons/MultiFile.js.map +1 -0
  25. package/dist/assets/icons/MultiFile.svg +4 -0
  26. package/dist/assets/icons/MultiFile.svg.js +7 -0
  27. package/dist/assets/icons/MultiFile.svg.js.map +1 -0
  28. package/dist/assets/icons/OpenBook.d.ts +5 -0
  29. package/dist/assets/icons/OpenBook.d.ts.map +1 -0
  30. package/dist/assets/icons/OpenBook.js +99 -0
  31. package/dist/assets/icons/OpenBook.js.map +1 -0
  32. package/dist/assets/icons/Podium.d.ts +5 -0
  33. package/dist/assets/icons/Podium.d.ts.map +1 -0
  34. package/dist/assets/icons/Podium.js +36 -0
  35. package/dist/assets/icons/Podium.js.map +1 -0
  36. package/dist/assets/icons/RosetteRibbon.d.ts +5 -0
  37. package/dist/assets/icons/RosetteRibbon.d.ts.map +1 -0
  38. package/dist/assets/icons/RosetteRibbon.js +36 -0
  39. package/dist/assets/icons/RosetteRibbon.js.map +1 -0
  40. package/dist/assets/icons/StarTrophy.d.ts +5 -0
  41. package/dist/assets/icons/StarTrophy.d.ts.map +1 -0
  42. package/dist/assets/icons/StarTrophy.js +99 -0
  43. package/dist/assets/icons/StarTrophy.js.map +1 -0
  44. package/dist/assets/icons/ThreeStars.d.ts +5 -0
  45. package/dist/assets/icons/ThreeStars.d.ts.map +1 -0
  46. package/dist/assets/icons/ThreeStars.js +71 -0
  47. package/dist/assets/icons/ThreeStars.js.map +1 -0
  48. package/dist/assets/icons/UnpackagableFile.d.ts +5 -0
  49. package/dist/assets/icons/UnpackagableFile.d.ts.map +1 -0
  50. package/dist/assets/icons/UnpackagableFile.js +8 -0
  51. package/dist/assets/icons/UnpackagableFile.js.map +1 -0
  52. package/dist/assets/icons/UnpackagableFile.svg +4 -0
  53. package/dist/assets/icons/UnpackagableFile.svg.js +7 -0
  54. package/dist/assets/icons/UnpackagableFile.svg.js.map +1 -0
  55. package/dist/assets/mui_components/PackagableFile.d.ts.map +1 -1
  56. package/dist/assets/mui_components/PackagableFile.js +5 -4
  57. package/dist/assets/mui_components/PackagableFile.js.map +1 -1
  58. package/dist/assets/mui_components/PackagableFile.svg +3 -0
  59. package/dist/assets/mui_components/PackagableFile.svg.js +7 -0
  60. package/dist/assets/mui_components/PackagableFile.svg.js.map +1 -0
  61. package/dist/assets/themed_icons/index.d.ts +1 -2
  62. package/dist/assets/themed_icons/index.d.ts.map +1 -1
  63. package/dist/assets/themed_icons/index.js +8 -10
  64. package/dist/assets/themed_icons/index.js.map +1 -1
  65. package/dist/components/AccessRequirement/AddConditionsForUseButton/AddConditionsForUseButton.js +1 -1
  66. package/dist/components/AccessRequirementList/AccessRequirementList.js +4 -4
  67. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsEditor.d.ts.map +1 -1
  68. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsEditor.js +8 -7
  69. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsEditor.js.map +1 -1
  70. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementFormWikiWrapper.js +4 -4
  71. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementItem.js +11 -11
  72. package/dist/components/AccessRequirementList/RequirementItem/RequirementItem.js +1 -1
  73. package/dist/components/AccessRequirementList/RequirementItem/SelfSignAccessRequirementItem.js +9 -9
  74. package/dist/components/AccessRequirementList/RequirementItem/UnmanagedACTAccessRequirementItem.js +5 -5
  75. package/dist/components/AcknowledgementsPage/AcknowledgementsPage.d.ts.map +1 -1
  76. package/dist/components/AcknowledgementsPage/AcknowledgementsPage.js +36 -35
  77. package/dist/components/AcknowledgementsPage/AcknowledgementsPage.js.map +1 -1
  78. package/dist/components/AclEditor/AclEditor.js +8 -8
  79. package/dist/components/AclEditor/AclEditor.js.map +1 -1
  80. package/dist/components/AclEditor/AclEditor.test-utils.js +34 -34
  81. package/dist/components/AclEditor/AclEditor.test-utils.js.map +1 -1
  82. package/dist/components/AddToDownloadListV2.js +10 -10
  83. package/dist/components/AddToDownloadListV2.js.map +1 -1
  84. package/dist/components/Authentication/AuthenticationMethodSelection.js +1 -1
  85. package/dist/components/Authentication/TwoFactorEnrollmentForm.d.ts.map +1 -1
  86. package/dist/components/Authentication/TwoFactorEnrollmentForm.js +6 -5
  87. package/dist/components/Authentication/TwoFactorEnrollmentForm.js.map +1 -1
  88. package/dist/components/BasePortalCard/BasePortalCard.css +1 -1
  89. package/dist/components/BasePortalCard/BasePortalCard.d.ts +1 -2
  90. package/dist/components/BasePortalCard/BasePortalCard.d.ts.map +1 -1
  91. package/dist/components/BasePortalCard/BasePortalCard.js +21 -28
  92. package/dist/components/BasePortalCard/BasePortalCard.js.map +1 -1
  93. package/dist/components/BasePortalCard/BasePortalCard.module.scss +13 -1
  94. package/dist/components/BasePortalCard/BasePortalCard.module.scss.js +11 -11
  95. package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.css +1 -1
  96. package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.d.ts.map +1 -1
  97. package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.js +25 -25
  98. package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.js.map +1 -1
  99. package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.module.scss +13 -5
  100. package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.module.scss.js +5 -5
  101. package/dist/components/CardContainer/CardLink.d.ts +12 -0
  102. package/dist/components/CardContainer/CardLink.d.ts.map +1 -1
  103. package/dist/components/CardContainerLogic/CardContainerLogic.d.ts +5 -1
  104. package/dist/components/CardContainerLogic/CardContainerLogic.d.ts.map +1 -1
  105. package/dist/components/CardContainerLogic/CardContainerLogic.js.map +1 -1
  106. package/dist/components/CardContainerLogic/index.d.ts +1 -1
  107. package/dist/components/CardContainerLogic/index.d.ts.map +1 -1
  108. package/dist/components/CardDeck/TableQueryCardDeck.js +12 -9
  109. package/dist/components/CardDeck/TableQueryCardDeck.js.map +1 -1
  110. package/dist/components/ChallengeDataDownload/ChallengeDataDownload.js +33 -33
  111. package/dist/components/ChallengeDataDownload/ChallengeDataDownload.js.map +1 -1
  112. package/dist/components/ChallengeSubmission/AvailableEvaluationQueueList.js +12 -12
  113. package/dist/components/ChallengeTeamWizard/CreateChallengeTeam.d.ts.map +1 -1
  114. package/dist/components/ChallengeTeamWizard/CreateChallengeTeam.js +7 -7
  115. package/dist/components/ChallengeTeamWizard/CreateChallengeTeam.js.map +1 -1
  116. package/dist/components/ChangePassword/useChangePasswordFormState.js +5 -2
  117. package/dist/components/ChangePassword/useChangePasswordFormState.js.map +1 -1
  118. package/dist/components/CitationPopover/CitationPopoverContent.d.ts.map +1 -1
  119. package/dist/components/CitationPopover/CitationPopoverContent.js +13 -12
  120. package/dist/components/CitationPopover/CitationPopoverContent.js.map +1 -1
  121. package/dist/components/ComponentCollapse.d.ts +6 -10
  122. package/dist/components/ComponentCollapse.d.ts.map +1 -1
  123. package/dist/components/ComponentCollapse.js +31 -35
  124. package/dist/components/ComponentCollapse.js.map +1 -1
  125. package/dist/components/CookiesNotification/CookiesNotification.js +1 -1
  126. package/dist/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizard.js +12 -10
  127. package/dist/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizard.js.map +1 -1
  128. package/dist/components/DataGrid/MergeGridWithSourceTableButton.js +10 -5
  129. package/dist/components/DataGrid/MergeGridWithSourceTableButton.js.map +1 -1
  130. package/dist/components/DataGrid/SynapseGrid.d.ts.map +1 -1
  131. package/dist/components/DataGrid/SynapseGrid.js +43 -38
  132. package/dist/components/DataGrid/SynapseGrid.js.map +1 -1
  133. package/dist/components/DataGrid/components/UploadCsvToGridDialog.js +10 -5
  134. package/dist/components/DataGrid/components/UploadCsvToGridDialog.js.map +1 -1
  135. package/dist/components/DataGrid/hooks/useExportDataGridToCsv.d.ts.map +1 -1
  136. package/dist/components/DataGrid/hooks/useExportDataGridToCsv.js +9 -7
  137. package/dist/components/DataGrid/hooks/useExportDataGridToCsv.js.map +1 -1
  138. package/dist/components/DirectDownload/DirectDownload.d.ts.map +1 -1
  139. package/dist/components/DirectDownload/DirectDownload.js +23 -23
  140. package/dist/components/DirectDownload/DirectDownload.js.map +1 -1
  141. package/dist/components/DownloadCart/ActionRequiredCard/ActionRequiredCard.js +1 -1
  142. package/dist/components/DownloadCart/AvailableForDownloadTable.d.ts +6 -2
  143. package/dist/components/DownloadCart/AvailableForDownloadTable.d.ts.map +1 -1
  144. package/dist/components/DownloadCart/AvailableForDownloadTable.js +10 -8
  145. package/dist/components/DownloadCart/AvailableForDownloadTable.js.map +1 -1
  146. package/dist/components/DownloadCart/CreatePackageV2.css +1 -0
  147. package/dist/components/DownloadCart/CreatePackageV2.d.ts.map +1 -1
  148. package/dist/components/DownloadCart/CreatePackageV2.js +50 -46
  149. package/dist/components/DownloadCart/CreatePackageV2.js.map +1 -1
  150. package/dist/components/DownloadCart/CreatePackageV2.module.scss +38 -0
  151. package/dist/components/DownloadCart/CreatePackageV2.module.scss.js +14 -0
  152. package/dist/components/DownloadCart/CreatePackageV2.module.scss.js.map +1 -0
  153. package/dist/components/DownloadCart/DownloadCartPage.css +1 -0
  154. package/dist/components/DownloadCart/DownloadCartPage.d.ts.map +1 -1
  155. package/dist/components/DownloadCart/DownloadCartPage.js +316 -186
  156. package/dist/components/DownloadCart/DownloadCartPage.js.map +1 -1
  157. package/dist/components/DownloadCart/DownloadCartPage.module.scss +217 -0
  158. package/dist/components/DownloadCart/DownloadCartPage.module.scss.js +48 -0
  159. package/dist/components/DownloadCart/DownloadCartPage.module.scss.js.map +1 -0
  160. package/dist/components/DownloadCart/DownloadDetails.js +1 -1
  161. package/dist/components/DownloadCart/DownloadDetails.js.map +1 -1
  162. package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.js +33 -33
  163. package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.js.map +1 -1
  164. package/dist/components/DownloadCart/DownloadListTable.d.ts +4 -1
  165. package/dist/components/DownloadCart/DownloadListTable.d.ts.map +1 -1
  166. package/dist/components/DownloadCart/DownloadListTable.js +156 -236
  167. package/dist/components/DownloadCart/DownloadListTable.js.map +1 -1
  168. package/dist/components/DownloadCart/RequestDownloadCard.js +1 -1
  169. package/dist/components/DownloadCart/ShowDownloadV2.js +5 -5
  170. package/dist/components/DownloadCart/ShowDownloadV2.js.map +1 -1
  171. package/dist/components/Ecosystem/EcosystemSkeleton.js +10 -5
  172. package/dist/components/Ecosystem/EcosystemSkeleton.js.map +1 -1
  173. package/dist/components/Ecosystem/TableQueryEcosystem.js +1 -1
  174. package/dist/components/EntityAclEditor/EntityAclEditorModal.js +1 -1
  175. package/dist/components/EntityAclEditor/OpenData.js +1 -1
  176. package/dist/components/EntityBadgeIcons/EntityBadgeIcons.d.ts.map +1 -1
  177. package/dist/components/EntityBadgeIcons/EntityBadgeIcons.js +113 -127
  178. package/dist/components/EntityBadgeIcons/EntityBadgeIcons.js.map +1 -1
  179. package/dist/components/EntityCitation/EntityCitation.js +1 -1
  180. package/dist/components/EntityDownloadButton/EntityDownloadButton.js +20 -20
  181. package/dist/components/EntityDownloadButton/EntityDownloadButton.js.map +1 -1
  182. package/dist/components/EntityFinder/details/view/table/AddToDownloadListCell.js +4 -4
  183. package/dist/components/EntityFinder/details/view/table/AddToDownloadListCell.js.map +1 -1
  184. package/dist/components/EntityFinder/details/view/table/CreatedOnCell.js +1 -1
  185. package/dist/components/EntityFinder/details/view/table/EntityNameCell.js +1 -1
  186. package/dist/components/EntityFinder/details/view/table/FileEntityMD5Cell.js +1 -1
  187. package/dist/components/EntityFinder/details/view/table/FileEntitySizeCell.js +1 -1
  188. package/dist/components/EntityFinder/details/view/table/ModifiedByCell.js +1 -1
  189. package/dist/components/EntityFinder/details/view/table/ModifiedOnCell.js +1 -1
  190. package/dist/components/EntityFinder/details/view/table/ParentProjectCell.js +1 -1
  191. package/dist/components/EntityFinder/tree/EntityTree.js +1 -1
  192. package/dist/components/EntityHeaderTable/EntityHeaderTable.d.ts.map +1 -1
  193. package/dist/components/EntityHeaderTable/EntityHeaderTable.js +39 -39
  194. package/dist/components/EntityHeaderTable/EntityHeaderTable.js.map +1 -1
  195. package/dist/components/Evaluation/DeleteEvaluationQueueConfirmationDialog.d.ts +8 -0
  196. package/dist/components/Evaluation/DeleteEvaluationQueueConfirmationDialog.d.ts.map +1 -0
  197. package/dist/components/Evaluation/DeleteEvaluationQueueConfirmationDialog.js +46 -0
  198. package/dist/components/Evaluation/DeleteEvaluationQueueConfirmationDialog.js.map +1 -0
  199. package/dist/components/Evaluation/EvaluationCard.d.ts.map +1 -1
  200. package/dist/components/Evaluation/EvaluationCard.js +35 -41
  201. package/dist/components/Evaluation/EvaluationCard.js.map +1 -1
  202. package/dist/components/Evaluation/EvaluationEditor.d.ts.map +1 -1
  203. package/dist/components/Evaluation/EvaluationEditor.js +95 -90
  204. package/dist/components/Evaluation/EvaluationEditor.js.map +1 -1
  205. package/dist/components/Evaluation/EvaluationRoundEditor.d.ts.map +1 -1
  206. package/dist/components/Evaluation/EvaluationRoundEditor.js +133 -124
  207. package/dist/components/Evaluation/EvaluationRoundEditor.js.map +1 -1
  208. package/dist/components/FeaturedDataTabs/FacetPlotsCard.js +6 -2
  209. package/dist/components/FeaturedDataTabs/FacetPlotsCard.js.map +1 -1
  210. package/dist/components/FeaturedDataTabs/FeaturedDataTabs.js +11 -8
  211. package/dist/components/FeaturedDataTabs/FeaturedDataTabs.js.map +1 -1
  212. package/dist/components/FilePreview/EntityPreview.js +1 -1
  213. package/dist/components/Forum/DiscussionReply.js +10 -10
  214. package/dist/components/Forum/DiscussionThread.js +21 -21
  215. package/dist/components/FullWidthAlert/FullWidthAlert.d.ts +2 -2
  216. package/dist/components/FullWidthAlert/FullWidthAlert.js.map +1 -1
  217. package/dist/components/GenericCard/CardUtils.d.ts.map +1 -1
  218. package/dist/components/GenericCard/CardUtils.js +36 -36
  219. package/dist/components/GenericCard/CardUtils.js.map +1 -1
  220. package/dist/components/GenericCard/CollapsibleDescription.js +25 -25
  221. package/dist/components/GenericCard/GenericCard.d.ts +5 -5
  222. package/dist/components/GenericCard/GenericCard.d.ts.map +1 -1
  223. package/dist/components/GenericCard/GenericCard.js +117 -103
  224. package/dist/components/GenericCard/GenericCard.js.map +1 -1
  225. package/dist/components/GenericCard/LabelMaybeWithIcon.d.ts +10 -0
  226. package/dist/components/GenericCard/LabelMaybeWithIcon.d.ts.map +1 -0
  227. package/dist/components/GenericCard/LabelMaybeWithIcon.js +33 -0
  228. package/dist/components/GenericCard/LabelMaybeWithIcon.js.map +1 -0
  229. package/dist/components/GenericCard/SynapseCardLabel.d.ts +2 -1
  230. package/dist/components/GenericCard/SynapseCardLabel.d.ts.map +1 -1
  231. package/dist/components/GenericCard/SynapseCardLabel.js +95 -85
  232. package/dist/components/GenericCard/SynapseCardLabel.js.map +1 -1
  233. package/dist/components/GenericCard/TableRowGenericCard.d.ts +10 -1
  234. package/dist/components/GenericCard/TableRowGenericCard.d.ts.map +1 -1
  235. package/dist/components/GenericCard/TableRowGenericCard.js +248 -209
  236. package/dist/components/GenericCard/TableRowGenericCard.js.map +1 -1
  237. package/dist/components/GoalsV2/GoalsV2.Desktop.d.ts.map +1 -1
  238. package/dist/components/GoalsV2/GoalsV2.Desktop.js +14 -15
  239. package/dist/components/GoalsV2/GoalsV2.Desktop.js.map +1 -1
  240. package/dist/components/GoogleAnalytics/GoogleAnalytics.js +1 -1
  241. package/dist/components/HasAccess/HasAccessV2.js +1 -1
  242. package/dist/components/HasAccess/useHasAccess.js +1 -1
  243. package/dist/components/HeaderCard.js +17 -13
  244. package/dist/components/HeaderCard.js.map +1 -1
  245. package/dist/components/IDUReport/IDUReportSubmissionInfo.js +23 -23
  246. package/dist/components/IDUReport/IDUReportSubmissionInfo.js.map +1 -1
  247. package/dist/components/Icon/Icon.js +52 -52
  248. package/dist/components/Icon/Icon.js.map +1 -1
  249. package/dist/components/IconSvg/IconSvg.d.ts +1 -1
  250. package/dist/components/IconSvg/IconSvg.d.ts.map +1 -1
  251. package/dist/components/IconSvg/IconSvg.js +215 -171
  252. package/dist/components/IconSvg/IconSvg.js.map +1 -1
  253. package/dist/components/JSONArrayEditor/useParseCsv.d.ts +1 -1
  254. package/dist/components/JSONArrayEditor/useParseCsv.d.ts.map +1 -1
  255. package/dist/components/JSONArrayEditor/useParseCsv.js +9 -9
  256. package/dist/components/JSONArrayEditor/useParseCsv.js.map +1 -1
  257. package/dist/components/Markdown/MarkdownCollapse.js +7 -7
  258. package/dist/components/Markdown/MarkdownEditor.js +11 -11
  259. package/dist/components/Markdown/MarkdownGithub.js +1 -1
  260. package/dist/components/Markdown/MarkdownPopover.js +6 -6
  261. package/dist/components/Markdown/MarkdownPopover.js.map +1 -1
  262. package/dist/components/Markdown/MarkdownSynapse.d.ts.map +1 -1
  263. package/dist/components/Markdown/MarkdownSynapse.js +139 -135
  264. package/dist/components/Markdown/MarkdownSynapse.js.map +1 -1
  265. package/dist/components/Markdown/MarkdownUtils.d.ts +8 -0
  266. package/dist/components/Markdown/MarkdownUtils.d.ts.map +1 -1
  267. package/dist/components/Markdown/MarkdownUtils.js +139 -65
  268. package/dist/components/Markdown/MarkdownUtils.js.map +1 -1
  269. package/dist/components/Markdown/UserMentionModal.js +18 -18
  270. package/dist/components/Markdown/UserMentionModal.js.map +1 -1
  271. package/dist/components/Markdown/widget/MarkdownButton.js +3 -3
  272. package/dist/components/Markdown/widget/MarkdownButton.js.map +1 -1
  273. package/dist/components/MissingQueryResultsWarning/MissingQueryResultsWarning.d.ts.map +1 -1
  274. package/dist/components/MissingQueryResultsWarning/MissingQueryResultsWarning.js +9 -8
  275. package/dist/components/MissingQueryResultsWarning/MissingQueryResultsWarning.js.map +1 -1
  276. package/dist/components/Plot/SynapsePlot.css +1 -0
  277. package/dist/components/Plot/SynapsePlot.d.ts +2 -0
  278. package/dist/components/Plot/SynapsePlot.d.ts.map +1 -1
  279. package/dist/components/Plot/SynapsePlot.js +43 -39
  280. package/dist/components/Plot/SynapsePlot.js.map +1 -1
  281. package/dist/components/Plot/SynapsePlot.scss +8 -0
  282. package/dist/components/QueryVisualizationWrapper/QueryVisualizationWrapper.js +1 -1
  283. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts +1 -0
  284. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts.map +1 -1
  285. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js +137 -135
  286. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js.map +1 -1
  287. package/dist/components/QueryWrapperPlotNav/QueryWrapperSynapsePlot.d.ts +1 -1
  288. package/dist/components/QueryWrapperPlotNav/QueryWrapperSynapsePlot.d.ts.map +1 -1
  289. package/dist/components/QueryWrapperPlotNav/QueryWrapperSynapsePlot.js.map +1 -1
  290. package/dist/components/Resources/Resources.Desktop.js +7 -7
  291. package/dist/components/Resources/Resources.Mobile.js +6 -6
  292. package/dist/components/StorybookComponentWrapper.js +6 -3
  293. package/dist/components/StorybookComponentWrapper.js.map +1 -1
  294. package/dist/components/SubsectionRowRenderer/SubsectionRowRenderer.js +3 -3
  295. package/dist/components/SustainabilityScorecard/SustainabilityScorecardSummary.js +10 -10
  296. package/dist/components/SynapseChat/SynapseChat.d.ts +7 -1
  297. package/dist/components/SynapseChat/SynapseChat.d.ts.map +1 -1
  298. package/dist/components/SynapseChat/SynapseChat.js +76 -67
  299. package/dist/components/SynapseChat/SynapseChat.js.map +1 -1
  300. package/dist/components/SynapseChat/SynapseChatInteraction.d.ts +2 -1
  301. package/dist/components/SynapseChat/SynapseChatInteraction.d.ts.map +1 -1
  302. package/dist/components/SynapseChat/SynapseChatInteraction.js +83 -58
  303. package/dist/components/SynapseChat/SynapseChatInteraction.js.map +1 -1
  304. package/dist/components/SynapseChat/SynapseChatMessage.d.ts +1 -0
  305. package/dist/components/SynapseChat/SynapseChatMessage.d.ts.map +1 -1
  306. package/dist/components/SynapseChat/SynapseChatMessage.js +16 -15
  307. package/dist/components/SynapseChat/SynapseChatMessage.js.map +1 -1
  308. package/dist/components/SynapseChat/SynapsePortalChatDialog.d.ts +12 -0
  309. package/dist/components/SynapseChat/SynapsePortalChatDialog.d.ts.map +1 -0
  310. package/dist/components/SynapseChat/SynapsePortalChatDialog.js +30 -0
  311. package/dist/components/SynapseChat/SynapsePortalChatDialog.js.map +1 -0
  312. package/dist/components/SynapseChat/extractMessageFromTraceEvent.d.ts.map +1 -1
  313. package/dist/components/SynapseChat/extractMessageFromTraceEvent.js +22 -16
  314. package/dist/components/SynapseChat/extractMessageFromTraceEvent.js.map +1 -1
  315. package/dist/components/SynapseChat/index.d.ts +2 -0
  316. package/dist/components/SynapseChat/index.d.ts.map +1 -1
  317. package/dist/components/SynapseChat/index.js +5 -3
  318. package/dist/components/SynapseChat/index.js.map +1 -1
  319. package/dist/components/SynapseChat/useChatState.d.ts +1 -1
  320. package/dist/components/SynapseChat/useChatState.d.ts.map +1 -1
  321. package/dist/components/SynapseChat/useChatState.js +10 -7
  322. package/dist/components/SynapseChat/useChatState.js.map +1 -1
  323. package/dist/components/SynapseForm/WarningDialog.d.ts +1 -0
  324. package/dist/components/SynapseForm/WarningDialog.d.ts.map +1 -1
  325. package/dist/components/SynapseForm/WarningDialog.js +18 -16
  326. package/dist/components/SynapseForm/WarningDialog.js.map +1 -1
  327. package/dist/components/SynapseHomepageV2/SynapseHomepageNavBar.js +1 -1
  328. package/dist/components/SynapseNavDrawer/SynapseNavDrawer.js +25 -25
  329. package/dist/components/SynapseNavDrawer/SynapseNavDrawer.js.map +1 -1
  330. package/dist/components/SynapseSearchPageResults/HasAccessChip.js +1 -1
  331. package/dist/components/SynapseSearchPageResults/SearchPagePortalBanners.d.ts.map +1 -1
  332. package/dist/components/SynapseSearchPageResults/SearchPagePortalBanners.js +12 -13
  333. package/dist/components/SynapseSearchPageResults/SearchPagePortalBanners.js.map +1 -1
  334. package/dist/components/SynapseSearchPageResults/SynapseSearchResultsCard.js +5 -5
  335. package/dist/components/SynapseTable/ExpandableTableDataCell.d.ts.map +1 -1
  336. package/dist/components/SynapseTable/ExpandableTableDataCell.js +3 -1
  337. package/dist/components/SynapseTable/ExpandableTableDataCell.js.map +1 -1
  338. package/dist/components/SynapseTable/RowSelection/RowSelectionControls.js +13 -13
  339. package/dist/components/SynapseTable/RowSelection/RowSelectionControls.js.map +1 -1
  340. package/dist/components/SynapseTable/SynapseTable.js +4 -4
  341. package/dist/components/SynapseTable/SynapseTableCell/SynapseTableCell.d.ts.map +1 -1
  342. package/dist/components/SynapseTable/SynapseTableCell/SynapseTableCell.js +122 -122
  343. package/dist/components/SynapseTable/SynapseTableCell/SynapseTableCell.js.map +1 -1
  344. package/dist/components/SynapseTable/TopLevelControls/TopLevelControlsUtils.js +9 -9
  345. package/dist/components/SynapseTable/TopLevelControls/TopLevelControlsUtils.js.map +1 -1
  346. package/dist/components/SynapseTable/datasets/DatasetItemsEditor.js +5 -5
  347. package/dist/components/TableColumnSchemaEditor/ColumnModelForm.js +1 -1
  348. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditor.js +1 -1
  349. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaForm.js +1 -1
  350. package/dist/components/TableFeedCards/TableFeedCards.js +9 -9
  351. package/dist/components/TermsAndConditions/TermsAndConditionsItem.js +10 -10
  352. package/dist/components/TextToComponentCollapse.d.ts +16 -0
  353. package/dist/components/TextToComponentCollapse.d.ts.map +1 -0
  354. package/dist/components/TextToComponentCollapse.js +29 -0
  355. package/dist/components/TextToComponentCollapse.js.map +1 -0
  356. package/dist/components/TimelinePlot/TimelinePlotSpeciesSelector.js +9 -9
  357. package/dist/components/UserSearchBox/UserSearchBox.d.ts +23 -0
  358. package/dist/components/UserSearchBox/UserSearchBox.d.ts.map +1 -0
  359. package/dist/components/UserSearchBox/UserSearchBox.js +146 -0
  360. package/dist/components/UserSearchBox/UserSearchBox.js.map +1 -0
  361. package/dist/components/WikiMarkdownEditorButton/WikiMarkdownEditorButton.js +13 -13
  362. package/dist/components/WizardChoiceButton/WizardChoiceButton.js +3 -3
  363. package/dist/components/dataaccess/AccessHistoryDashboard.js +5 -5
  364. package/dist/components/dataaccess/AccessHistoryDashboard.js.map +1 -1
  365. package/dist/components/dataaccess/AccessRequirementDashboard.js +4 -4
  366. package/dist/components/dataaccess/AccessRequirementDashboard.js.map +1 -1
  367. package/dist/components/dataaccess/AccessSubmissionDashboard.js +1 -1
  368. package/dist/components/dataaccess/AccessSubmissionDashboard.js.map +1 -1
  369. package/dist/components/dataaccess/SubmissionPage/SubmissionPage.js +5 -5
  370. package/dist/components/dataaccess/UseAccessRequirementTable.js +3 -3
  371. package/dist/components/dataaccess/UseAccessRequirementTable.js.map +1 -1
  372. package/dist/components/doi/CreateOrUpdateDoiModal.js +1 -1
  373. package/dist/components/download_list/AddToDownloadListConfirmationAlert/AddToDownloadListConfirmationAlert.js +10 -5
  374. package/dist/components/download_list/AddToDownloadListConfirmationAlert/AddToDownloadListConfirmationAlert.js.map +1 -1
  375. package/dist/components/download_list/DownloadConfirmationUI.d.ts +1 -1
  376. package/dist/components/download_list/DownloadConfirmationUI.js +22 -22
  377. package/dist/components/download_list/DownloadConfirmationUI.js.map +1 -1
  378. package/dist/components/download_list/DownloadConfirmationUtils.js +4 -4
  379. package/dist/components/download_list/DownloadConfirmationUtils.js.map +1 -1
  380. package/dist/components/entity/metadata/EntityModal.js +1 -1
  381. package/dist/components/entity/metadata/MetadataTable.js +1 -1
  382. package/dist/components/entity/page/title_bar/EntityPageTitleBar.js +1 -1
  383. package/dist/components/entity/page/title_bar/EntityTitleBarVersionInfo.js +1 -1
  384. package/dist/components/entity/page/title_bar/TitleBarProperties.js +1 -1
  385. package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.d.ts.map +1 -1
  386. package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.js +27 -26
  387. package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.js.map +1 -1
  388. package/dist/components/index.js +125 -121
  389. package/dist/components/index.js.map +1 -1
  390. package/dist/components/layout/InfiniteTableLayout.js +1 -1
  391. package/dist/components/row_renderers/ObservationCard.js +12 -11
  392. package/dist/components/row_renderers/ObservationCard.js.map +1 -1
  393. package/dist/components/row_renderers/utils/CardFooter.d.ts +1 -3
  394. package/dist/components/row_renderers/utils/CardFooter.d.ts.map +1 -1
  395. package/dist/components/row_renderers/utils/CardFooter.js +31 -45
  396. package/dist/components/row_renderers/utils/CardFooter.js.map +1 -1
  397. package/dist/components/styled/HoverPopover.css +1 -0
  398. package/dist/components/styled/HoverPopover.d.ts +28 -0
  399. package/dist/components/styled/HoverPopover.d.ts.map +1 -0
  400. package/dist/components/styled/HoverPopover.js +103 -0
  401. package/dist/components/styled/HoverPopover.js.map +1 -0
  402. package/dist/components/styled/HoverPopover.module.scss +9 -0
  403. package/dist/components/styled/HoverPopover.module.scss.js +10 -0
  404. package/dist/components/styled/HoverPopover.module.scss.js.map +1 -0
  405. package/dist/components/styled/index.d.ts +2 -0
  406. package/dist/components/styled/index.d.ts.map +1 -1
  407. package/dist/components/styled/index.js +11 -9
  408. package/dist/components/styled/index.js.map +1 -1
  409. package/dist/components/table/CsvPreview/CsvPreview.js +10 -5
  410. package/dist/components/table/CsvPreview/CsvPreview.js.map +1 -1
  411. package/dist/components/table/CsvPreview/CsvPreviewDialog.js +10 -5
  412. package/dist/components/table/CsvPreview/CsvPreviewDialog.js.map +1 -1
  413. package/dist/components/widgets/Range.js +1 -1
  414. package/dist/components/widgets/facet-nav/FacetNavPanel.d.ts.map +1 -1
  415. package/dist/components/widgets/facet-nav/FacetNavPanel.js +35 -32
  416. package/dist/components/widgets/facet-nav/FacetNavPanel.js.map +1 -1
  417. package/dist/components/widgets/facet-nav/PlotsContainer.d.ts +1 -1
  418. package/dist/components/widgets/facet-nav/PlotsContainer.d.ts.map +1 -1
  419. package/dist/components/widgets/facet-nav/PlotsContainer.js +69 -68
  420. package/dist/components/widgets/facet-nav/PlotsContainer.js.map +1 -1
  421. package/dist/components/widgets/facet-nav/useFacetPlots.d.ts.map +1 -1
  422. package/dist/components/widgets/facet-nav/useFacetPlots.js +24 -21
  423. package/dist/components/widgets/facet-nav/useFacetPlots.js.map +1 -1
  424. package/dist/components/widgets/query-filter/FacetFilterControls.js +3 -3
  425. package/dist/features/curator/GridPage/GridPage.js +10 -5
  426. package/dist/features/curator/GridPage/GridPage.js.map +1 -1
  427. package/dist/features/curator/GridPage/components/GridPageTitle.js +10 -5
  428. package/dist/features/curator/GridPage/components/GridPageTitle.js.map +1 -1
  429. package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.js +1 -1
  430. package/dist/index.js +155 -151
  431. package/dist/index.js.map +1 -1
  432. package/dist/mocks/msw/handlers/accessRequirementHandlers.js +5 -5
  433. package/dist/mocks/msw/handlers/projectStorageHandlers.js +5 -5
  434. package/dist/mocks/msw/handlers/wikiHandlers.js +1 -1
  435. package/dist/mocks/msw/handlers.d.ts.map +1 -1
  436. package/dist/mocks/msw/handlers.js +67 -59
  437. package/dist/mocks/msw/handlers.js.map +1 -1
  438. package/dist/style/base/_core.scss +0 -1
  439. package/dist/style/components/_all.scss +0 -2
  440. package/dist/style/components/_cards.scss +22 -0
  441. package/dist/style/components/_download-list-v2.scss +1 -1
  442. package/dist/style/components/_entity-badge.scss +0 -2
  443. package/dist/style/components/_expandable_table_data.scss +3 -3
  444. package/dist/style/components/_query-wrapper-plot-nav.scss +13 -0
  445. package/dist/style/components/facet_nav/_facet-nav-panel.scss +3 -0
  446. package/dist/style/components/facet_nav/_facet-nav.scss +4 -0
  447. package/dist/style/main.css +1 -1
  448. package/dist/synapse-client/SynapseClient.js +118 -118
  449. package/dist/synapse-client/SynapseClient.js.map +1 -1
  450. package/dist/synapse-queries/auth/useOIDC.js +1 -1
  451. package/dist/synapse-queries/auth/useTwoFactorEnrollment.js +1 -1
  452. package/dist/synapse-queries/entity/index.js +6 -6
  453. package/dist/synapse-queries/grid/useEstablishWebsocketConnection.js +1 -1
  454. package/dist/synapse-queries/index.js +1 -1
  455. package/dist/synapse-queries/user/usePersonalAccessToken.js +1 -1
  456. package/dist/testutils/vitest.setup.js +10 -11
  457. package/dist/testutils/vitest.setup.js.map +1 -1
  458. package/dist/theme/DefaultTheme.js +1 -1
  459. package/dist/theme/ThemeProvider.d.ts +2 -1
  460. package/dist/theme/ThemeProvider.d.ts.map +1 -1
  461. package/dist/theme/ThemeProvider.js +11 -10
  462. package/dist/theme/ThemeProvider.js.map +1 -1
  463. package/dist/theme/index.js +1 -1
  464. package/dist/theme/mergeTheme.js +1 -1
  465. package/dist/tsconfig.build.tsbuildinfo +1 -1
  466. package/dist/utils/AppUtils/AppUtils.js +1 -1
  467. package/dist/utils/AppUtils/session/ApplicationSessionManager.d.ts.map +1 -1
  468. package/dist/utils/AppUtils/session/ApplicationSessionManager.js.map +1 -1
  469. package/dist/utils/context/FullContextProvider.js +9 -9
  470. package/dist/utils/context/FullContextProvider.js.map +1 -1
  471. package/dist/utils/context/SynapseContext.d.ts.map +1 -1
  472. package/dist/utils/context/SynapseContext.js +1 -0
  473. package/dist/utils/context/SynapseContext.js.map +1 -1
  474. package/dist/utils/functions/SanitizeHtmlUtils.d.ts.map +1 -1
  475. package/dist/utils/functions/SanitizeHtmlUtils.js +34 -40
  476. package/dist/utils/functions/SanitizeHtmlUtils.js.map +1 -1
  477. package/dist/utils/functions/SqlFunctions.d.ts +4 -0
  478. package/dist/utils/functions/SqlFunctions.d.ts.map +1 -1
  479. package/dist/utils/functions/SqlFunctions.js +25 -23
  480. package/dist/utils/functions/SqlFunctions.js.map +1 -1
  481. package/dist/utils/functions/deepLinkingUtils.js +10 -10
  482. package/dist/utils/functions/deepLinkingUtils.js.map +1 -1
  483. package/dist/utils/hooks/index.js +6 -6
  484. package/dist/utils/hooks/useDetectSSOCode.js +3 -3
  485. package/dist/utils/hooks/useGetEntityMetadata.js +1 -1
  486. package/dist/utils/hooks/useNativeSearchParams.d.ts.map +1 -1
  487. package/dist/utils/hooks/useNativeSearchParams.js +1 -1
  488. package/dist/utils/hooks/useNativeSearchParams.js.map +1 -1
  489. package/dist/utils/hooks/useOneSageURL.d.ts.map +1 -1
  490. package/dist/utils/hooks/useOneSageURL.js +15 -15
  491. package/dist/utils/hooks/useOneSageURL.js.map +1 -1
  492. package/dist/utils/hooks/useSourceAppConfigs.d.ts +1 -0
  493. package/dist/utils/hooks/useSourceAppConfigs.d.ts.map +1 -1
  494. package/dist/utils/hooks/useSourceAppConfigs.js +79 -77
  495. package/dist/utils/hooks/useSourceAppConfigs.js.map +1 -1
  496. package/dist/utils/index.js +4 -4
  497. package/package.json +15 -16
  498. package/dist/_virtual/index.js +0 -6
  499. package/dist/_virtual/index.js.map +0 -1
  500. package/dist/_virtual/index2.js +0 -5
  501. package/dist/_virtual/index2.js.map +0 -1
  502. package/dist/_virtual/index3.js +0 -5
  503. package/dist/_virtual/index3.js.map +0 -1
  504. package/dist/_virtual/index4.js +0 -5
  505. package/dist/_virtual/index4.js.map +0 -1
  506. package/dist/_virtual/index5.js +0 -5
  507. package/dist/_virtual/index5.js.map +0 -1
  508. package/dist/assets/themed_icons/Challenge.d.ts +0 -3
  509. package/dist/assets/themed_icons/Challenge.d.ts.map +0 -1
  510. package/dist/assets/themed_icons/Challenge.js +0 -25
  511. package/dist/assets/themed_icons/Challenge.js.map +0 -1
  512. package/dist/components/UserSearchBox/UserSearchBoxV2.d.ts +0 -21
  513. package/dist/components/UserSearchBox/UserSearchBoxV2.d.ts.map +0 -1
  514. package/dist/components/UserSearchBox/UserSearchBoxV2.js +0 -144
  515. package/dist/components/UserSearchBox/UserSearchBoxV2.js.map +0 -1
  516. package/dist/node_modules/.pnpm/base64-js@1.5.1/node_modules/base64-js/index.js +0 -53
  517. package/dist/node_modules/.pnpm/base64-js@1.5.1/node_modules/base64-js/index.js.map +0 -1
  518. package/dist/node_modules/.pnpm/buffer@6.0.3/node_modules/buffer/index.js +0 -948
  519. package/dist/node_modules/.pnpm/buffer@6.0.3/node_modules/buffer/index.js.map +0 -1
  520. package/dist/node_modules/.pnpm/ieee754@1.2.1/node_modules/ieee754/index.js +0 -30
  521. package/dist/node_modules/.pnpm/ieee754@1.2.1/node_modules/ieee754/index.js.map +0 -1
  522. package/dist/node_modules/.pnpm/vite-plugin-node-polyfills@0.17.0_rollup@4.55.1_vite@7.3.1_@types_node@22.19.13_sass@1._2da6e8f78437c36f3eb7db51bdd4d89e/node_modules/vite-plugin-node-polyfills/shims/dist/index.js +0 -15
  523. package/dist/node_modules/.pnpm/vite-plugin-node-polyfills@0.17.0_rollup@4.55.1_vite@7.3.1_@types_node@22.19.13_sass@1._2da6e8f78437c36f3eb7db51bdd4d89e/node_modules/vite-plugin-node-polyfills/shims/dist/index.js.map +0 -1
  524. package/dist/style/components/_download-cart-page.scss +0 -204
  525. package/dist/style/components/_user-search-box.scss +0 -30
@@ -1 +1 @@
1
- {"version":3,"file":"EntityHeaderTable.js","sources":["../../../src/components/EntityHeaderTable/EntityHeaderTable.tsx"],"sourcesContent":["import React from 'react'\nimport AddAd from '@/assets/icons/AddAd'\nimport { StyledTableContainer } from '@/components/styled/StyledTableContainer'\nimport { useGetEntityHeaders } from '@/synapse-queries/entity/useGetEntityHeaders'\nimport {\n entityTypeToFriendlyName,\n getEntityTypeFromHeader,\n normalizeSynPrefix,\n} from '@/utils/functions/EntityTypeUtils'\nimport { SYNAPSE_ENTITY_ID_REGEX } from '@/utils/functions/RegularExpressions'\nimport { AddCircleTwoTone } from '@mui/icons-material'\nimport {\n Alert,\n AlertTitle,\n Box,\n Button,\n IconButton,\n InputLabel,\n TextField,\n Tooltip,\n Typography,\n} from '@mui/material'\nimport { EntityHeader, ReferenceList } from '@sage-bionetworks/synapse-types'\nimport {\n ColumnDef,\n ColumnFiltersState,\n flexRender,\n getCoreRowModel,\n getFacetedMinMaxValues,\n getFacetedRowModel,\n getFacetedUniqueValues,\n getFilteredRowModel,\n getSortedRowModel,\n useReactTable,\n} from '@tanstack/react-table'\nimport { noop, upperFirst } from 'lodash-es'\nimport { parse } from 'papaparse'\nimport pluralize from 'pluralize'\nimport { Fragment, useCallback, useEffect, useMemo, useState } from 'react'\nimport {\n EntityFinderModal,\n EntityFinderModalProps,\n} from '../EntityFinder/EntityFinderModal'\nimport { FinderScope } from '../EntityFinder/tree/EntityTree'\nimport { VersionSelectionType } from '../EntityFinder/VersionSelectionType'\nimport IconSvg from '../IconSvg'\nimport { SkeletonTable } from '../Skeleton'\nimport {\n CheckBoxCell,\n CheckBoxHeader,\n EntityHeaderIDCell,\n EntityHeaderNameCell,\n EntityHeaderTypeCell,\n} from './EntityHeaderTableCellRenderers'\nimport { Filter } from './Filter'\nimport { useEntityHeaderTableState } from './useEntityHeaderTableState'\n\nconst DEFAULT_FINDER_CONFIG: EntityFinderModalProps['configuration'] = {\n selectMultiple: true,\n versionSelection: VersionSelectionType.DISALLOWED,\n initialScope: FinderScope.ALL_PROJECTS,\n initialContainer: 'root',\n}\n\nexport type EntityHeaderTableProps = {\n references: ReferenceList\n isEditable: boolean\n disabled?: boolean\n onUpdate?: (updatedRefs: ReferenceList) => void // when the references are updated, EntityHeaderTable will call this function with the updated list\n removeSelectedRowsButtonText?: string\n onUpdateEntityIDsTextbox?: (value: string) => void // when the entity IDs text box is updated, this is called\n /* The word used to describe the items in the table. Default 'entity' */\n objectNameCopy?: string\n // If true, the text field where IDs are pasted is hidden, and confirming the entity finder will immediately call `onUpdate`\n hideTextFieldToPasteValue?: boolean\n entityFinderConfiguration?: EntityFinderModalProps['configuration']\n}\n\nconst UNMANAGEABLE_SUBJECT_COUNT = 10\n\n// extend EntityHeader to create dummy EntityHeader rows for those that the current user cannot view\nexport type EntityHeaderOrDummy = EntityHeader & { isDummy?: boolean }\n\n/**\n * Renders a sortable/filterable table for a set of entity references. If editable, onUpdate will be called back\n * on any entity added/removed.\n */\nexport const EntityHeaderTable = (\n props: EntityHeaderTableProps,\n): React.ReactNode => {\n const {\n references,\n isEditable,\n disabled,\n onUpdate = noop,\n removeSelectedRowsButtonText = 'Remove Selected Rows',\n onUpdateEntityIDsTextbox,\n objectNameCopy = 'entity',\n hideTextFieldToPasteValue = false,\n entityFinderConfiguration = DEFAULT_FINDER_CONFIG,\n } = props\n const [columnFilters, setColumnFilters] = useState<ColumnFiltersState>([])\n const [showEntityFinder, setShowEntityFinder] = useState<boolean>(false)\n\n const {\n rowSelection,\n setRowSelection,\n refsInState,\n setRefsInState,\n newEntityIDs,\n setNewEntityIDs,\n parseErrors,\n setParseErrors,\n } = useEntityHeaderTableState(references, onUpdateEntityIDsTextbox, onUpdate)\n\n const setInvalidEntityIDError = useCallback(\n (invalidEntityIDs: string[]) => {\n setParseErrors([`Invalid Synapse ID(s): ${invalidEntityIDs.join(',')}`])\n },\n [setParseErrors],\n )\n\n const addRefsFromEntityIDs = useCallback(\n (entityIDs: string[]) => {\n const newReferences: ReferenceList = entityIDs.map(id => {\n return {\n targetId: id.trim(),\n }\n })\n setRefsInState([...refsInState, ...newReferences])\n },\n [refsInState, setRefsInState],\n )\n\n const addPastedValuesToArray = useCallback(() => {\n if (newEntityIDs) {\n if (newEntityIDs.includes(',')) {\n parse<string[]>(newEntityIDs, {\n complete: result => {\n if (result.errors.length > 0) {\n const newParseErrors = result.errors.map(\n parseError => parseError.message,\n )\n setParseErrors(newParseErrors)\n } else {\n const newParsedEntityIDs = result.data[0]\n const invalidEntityIDs = newParsedEntityIDs.filter(\n id => !id.trim().match(SYNAPSE_ENTITY_ID_REGEX),\n )\n if (invalidEntityIDs.length > 0) {\n setInvalidEntityIDError(invalidEntityIDs)\n } else {\n addRefsFromEntityIDs(newParsedEntityIDs)\n }\n }\n },\n })\n } else {\n // single item\n if (!newEntityIDs.trim().match(SYNAPSE_ENTITY_ID_REGEX)) {\n setInvalidEntityIDError([newEntityIDs])\n } else {\n addRefsFromEntityIDs([newEntityIDs])\n }\n }\n } else {\n setParseErrors([])\n setNewEntityIDs('')\n }\n }, [\n addRefsFromEntityIDs,\n newEntityIDs,\n setInvalidEntityIDError,\n setNewEntityIDs,\n setParseErrors,\n ])\n\n const pluralObjectName = upperFirst(pluralize(objectNameCopy))\n\n const selectColumns: ColumnDef<EntityHeaderOrDummy, any>[] = useMemo(\n () => [\n {\n id: 'select',\n header: CheckBoxHeader,\n cell: CheckBoxCell,\n },\n ],\n [],\n )\n\n const entityHeaderColumns: ColumnDef<EntityHeaderOrDummy, any>[] = useMemo(\n () => [\n {\n accessorFn: (row: EntityHeaderOrDummy) => row.name,\n id: 'name',\n cell: EntityHeaderNameCell,\n header: 'Name',\n },\n {\n accessorFn: (row: EntityHeaderOrDummy) => row.id,\n id: 'id',\n cell: EntityHeaderIDCell,\n header: 'SynID',\n },\n {\n accessorFn: (row: EntityHeaderOrDummy) =>\n row.isDummy\n ? '-'\n : entityTypeToFriendlyName(getEntityTypeFromHeader(row)),\n id: 'type',\n header: 'Type',\n cell: EntityHeaderTypeCell,\n filterFn: 'includesString',\n },\n ],\n [],\n )\n\n const columns = useMemo<ColumnDef<EntityHeaderOrDummy, any>[]>(\n () =>\n isEditable\n ? selectColumns.concat(entityHeaderColumns)\n : entityHeaderColumns,\n [entityHeaderColumns, isEditable, selectColumns],\n )\n const selectionCount = Object.keys(rowSelection).length\n const {\n data: results,\n isSuccess,\n isLoading,\n } = useGetEntityHeaders(refsInState, {\n throwOnError: true,\n })\n\n const data = useMemo(() => {\n //create dummy entries for values that were not returned by the getEntityHeaders call!\n const newData = results ? results?.results : []\n const newDataEntityIds = new Set()\n newData.forEach(entityHeader =>\n newDataEntityIds.add(normalizeSynPrefix(entityHeader.id)),\n )\n const missingRefs = refsInState.filter(\n ref => !newDataEntityIds.has(normalizeSynPrefix(ref.targetId)),\n )\n const dummyEntityHeaders: EntityHeaderOrDummy[] = missingRefs.map(ref => {\n return {\n id: ref.targetId,\n name: ref.targetId,\n benefactorId: -1,\n type: 'org.sagebionetworks.repo.model.Project',\n createdOn: '',\n modifiedOn: '',\n createdBy: '',\n modifiedBy: '',\n isLatestVersion: true,\n isDummy: true,\n }\n })\n return newData.concat(dummyEntityHeaders)\n }, [refsInState, results])\n const table = useReactTable({\n data,\n columns,\n state: {\n rowSelection,\n columnFilters,\n },\n enableRowSelection: isEditable,\n onRowSelectionChange: setRowSelection,\n onColumnFiltersChange: setColumnFilters,\n getCoreRowModel: getCoreRowModel(),\n getFilteredRowModel: getFilteredRowModel(),\n getSortedRowModel: getSortedRowModel(),\n getFacetedRowModel: getFacetedRowModel(),\n getFacetedUniqueValues: getFacetedUniqueValues(),\n getFacetedMinMaxValues: getFacetedMinMaxValues(),\n // debugTable: true,\n // debugHeaders: true,\n // debugColumns: false,\n columnResizeMode: 'onChange',\n })\n\n const onRemove = useCallback(() => {\n // rowSelection looks like {3: true. 5: true} where the key is the row index.\n // Create a new ReferenceList based on the entityHeaders in the current table.\n const updatedData = data.filter(\n (_value, index) => !(rowSelection[index] === true),\n )\n const newRowRefs: ReferenceList = updatedData.map(entityHeader => {\n return {\n targetId: entityHeader.id,\n }\n })\n setRefsInState(newRowRefs)\n }, [data, rowSelection, setRefsInState])\n\n const isSelection = selectionCount > 0\n const totalRowCount = data.length\n const filteredRowCount = table.getPrePaginationRowModel().rows.length\n const showFilterControls = totalRowCount > UNMANAGEABLE_SUBJECT_COUNT\n\n /**\n * Reset the column filters when the filter controls are hidden.\n * This handles the following edge case:\n * 1. List contains 100 items of type \"A\" and 1 of type \"B\"\n * 2. User filters to show just \"A\" items\n * 3. User removes all \"A\" items\n * 4. Only the single \"B\" item remains, but the filter is still present on type \"A\".\n * The filter controls are hidden, so the user cannot see the \"B\" item.\n *\n * This effect will clear the filters when the filter controls are hidden, preventing this scenario.\n */\n useEffect(\n function resetFiltersWhenFilterControlsAreHidden() {\n if (!showFilterControls) {\n table.setColumnFilters([])\n }\n },\n [table, showFilterControls],\n )\n\n if (isLoading) {\n return (\n <SkeletonTable numCols={3} numRows={Math.min(10, refsInState.length)} />\n )\n } else if (!isSuccess) {\n return <></>\n }\n return (\n <div>\n <Box\n sx={{\n display: 'flex',\n justifyContent: 'space-between',\n p: '12px 10px 10px 5px',\n }}\n >\n {showFilterControls && (\n <Typography variant=\"body1\" sx={{ marginBottom: '10px' }}>\n {totalRowCount} {pluralObjectName}{' '}\n {filteredRowCount < totalRowCount\n ? `(${filteredRowCount} visible)`\n : ''}\n {isSelection && <span>{` (${selectionCount} selected)`}</span>}\n </Typography>\n )}\n {isEditable && refsInState.length > 0 && (\n <Button\n variant=\"contained\"\n disabled={!isSelection || disabled}\n onClick={onRemove}\n >\n {removeSelectedRowsButtonText}\n </Button>\n )}\n </Box>\n <Box\n sx={{\n display: 'flex',\n pb: 2,\n }}\n >\n {table.getHeaderGroups().map(headerGroup =>\n headerGroup.headers.map(header => {\n return header.isPlaceholder ? null : (\n <Fragment key={header.column.id}>\n {header.column.getCanFilter() && showFilterControls ? (\n <Box sx={{ flexGrow: 1 }}>\n <Filter column={header.column} table={table} />\n </Box>\n ) : null}\n </Fragment>\n )\n }),\n )}\n </Box>\n {totalRowCount > 0 && (\n <StyledTableContainer\n sx={{\n th: {\n zIndex: 100,\n maxHeight: '250px',\n },\n }}\n >\n <table style={{ borderCollapse: 'collapse', width: '100%' }}>\n <thead>\n {table.getHeaderGroups().map(headerGroup => (\n <tr key={headerGroup.id}>\n {headerGroup.headers.map(header => {\n let columnSize: string = '5%'\n switch (header.id) {\n case 'name':\n columnSize = '50%'\n break\n case 'id':\n columnSize = '22%'\n break\n case 'type':\n columnSize = '22%'\n break\n default:\n break\n }\n return (\n <th\n key={header.id}\n colSpan={header.colSpan}\n style={{\n width: columnSize,\n position: 'sticky',\n top: '0px',\n }}\n >\n {header.isPlaceholder ? null : (\n <Box\n sx={{\n display: 'flex',\n alignItems: 'center',\n }}\n >\n {flexRender(\n header.column.columnDef.header,\n header.getContext(),\n )}\n <Box\n sx={{\n mx: 'auto',\n }}\n />\n {header.column.getCanSort() && (\n <IconButton\n onClick={header.column.getToggleSortingHandler()}\n size={'small'}\n sx={{\n marginLeft: 'auto',\n marginRight: '16px',\n }}\n >\n <IconSvg\n icon={\n header.column.getIsSorted() === 'asc'\n ? 'sortUp'\n : 'sortDown'\n }\n wrap={false}\n fontSize={'inherit'}\n sx={{\n color: header.column.getIsSorted()\n ? 'primary.main'\n : 'grey.700',\n backgroundColor: 'none',\n }}\n />\n </IconButton>\n )}\n </Box>\n )}\n {header.column.getCanResize() && (\n <div\n className={`resizer ${\n header.column.getIsResizing() ? 'isResizing' : ''\n }`}\n onMouseDown={header.getResizeHandler()}\n onTouchStart={header.getResizeHandler()}\n />\n )}\n </th>\n )\n })}\n </tr>\n ))}\n </thead>\n <tbody>\n {table.getRowModel().rows.map(row => {\n return (\n <tr key={row.id} style={{ height: '30px' }}>\n {row.getVisibleCells().map(cell => {\n return (\n <td\n key={cell.id}\n style={{\n width: cell.column.getSize(),\n }}\n >\n {flexRender(\n cell.column.columnDef.cell,\n cell.getContext(),\n )}\n </td>\n )\n })}\n </tr>\n )\n })}\n </tbody>\n </table>\n </StyledTableContainer>\n )}\n <EntityFinderModal\n configuration={entityFinderConfiguration}\n promptCopy={`Select ${pluralObjectName} to add to the Synapse ID list`}\n show={showEntityFinder}\n title={`Select ${pluralObjectName}`}\n confirmButtonCopy={`Add ${pluralObjectName}`}\n onConfirm={items => {\n if (hideTextFieldToPasteValue) {\n const newRefs = [...refsInState, ...items]\n setRefsInState(newRefs)\n onUpdate(newRefs)\n } else {\n const newEntityIDsArray = items.map(ref => ref.targetId)\n const newEntityIDsString =\n newEntityIDs.trim().length > 0\n ? newEntityIDs.concat(',')\n : newEntityIDs\n const newValue = newEntityIDsString.concat(\n newEntityIDsArray.join(','),\n )\n setNewEntityIDs(newValue)\n }\n setShowEntityFinder(false)\n }}\n onCancel={() => setShowEntityFinder(false)}\n />\n {isEditable && (\n <Box sx={{ marginTop: '10px' }}>\n {hideTextFieldToPasteValue && (\n <Button\n variant=\"outlined\"\n onClick={() => {\n setShowEntityFinder(true)\n }}\n startIcon={<AddAd />}\n disabled={disabled}\n >\n Add {pluralObjectName}\n </Button>\n )}\n {!hideTextFieldToPasteValue && (\n <>\n <InputLabel htmlFor=\"synIDs\">Add Synapse IDs</InputLabel>\n <Box\n sx={{ display: 'grid', gridTemplateColumns: 'auto 50px 150px' }}\n >\n <TextField\n id=\"synIDs\"\n name=\"synIDs\"\n fullWidth\n onChange={e => {\n setNewEntityIDs(e.target.value)\n }}\n value={newEntityIDs}\n placeholder=\"Enter a list of Synapse IDs (i.e. 'syn123, syn456')\"\n disabled={disabled}\n />\n <Box sx={{ padding: '5px 0px 0px 5px' }}>\n {/* Entity finder button. On select, append the selected entity ID to the newSynIDs list */}\n <Tooltip title=\"Add a Synapse ID to the list via the Entity Finder\">\n <IconButton\n disabled={disabled}\n onClick={() => {\n setShowEntityFinder(true)\n }}\n >\n <AddAd />\n </IconButton>\n </Tooltip>\n </Box>\n <Button\n variant=\"outlined\"\n onClick={addPastedValuesToArray}\n disabled={\n isLoading || newEntityIDs.trim().length == 0 || disabled\n }\n startIcon={<AddCircleTwoTone />}\n >\n Add {pluralObjectName}\n </Button>\n </Box>\n </>\n )}\n {parseErrors && parseErrors.length > 0 && (\n <Alert severity={'error'} sx={{ my: 2 }}>\n <AlertTitle>Parsing errors encountered:</AlertTitle>\n <ul>\n {parseErrors.map((error, index) => {\n return (\n <Typography\n component={parseErrors.length > 1 ? 'li' : 'span'}\n key={index}\n variant={'smallText1'}\n sx={{\n lineHeight: 1.5,\n }}\n >\n {error}\n </Typography>\n )\n })}\n </ul>\n </Alert>\n )}\n </Box>\n )}\n </div>\n )\n}\n"],"names":["DEFAULT_FINDER_CONFIG","VersionSelectionType","FinderScope","UNMANAGEABLE_SUBJECT_COUNT","EntityHeaderTable","props","references","isEditable","disabled","onUpdate","noop","removeSelectedRowsButtonText","onUpdateEntityIDsTextbox","objectNameCopy","hideTextFieldToPasteValue","entityFinderConfiguration","columnFilters","setColumnFilters","useState","showEntityFinder","setShowEntityFinder","rowSelection","setRowSelection","refsInState","setRefsInState","newEntityIDs","setNewEntityIDs","parseErrors","setParseErrors","useEntityHeaderTableState","setInvalidEntityIDError","useCallback","invalidEntityIDs","addRefsFromEntityIDs","entityIDs","newReferences","id","addPastedValuesToArray","parse","result","newParseErrors","parseError","newParsedEntityIDs","SYNAPSE_ENTITY_ID_REGEX","pluralObjectName","upperFirst","pluralize","selectColumns","useMemo","CheckBoxHeader","CheckBoxCell","entityHeaderColumns","row","EntityHeaderNameCell","EntityHeaderIDCell","entityTypeToFriendlyName","getEntityTypeFromHeader","EntityHeaderTypeCell","columns","selectionCount","results","isSuccess","isLoading","useGetEntityHeaders","data","newData","newDataEntityIds","normalizeSynPrefix","entityHeader","dummyEntityHeaders","ref","table","useReactTable","getCoreRowModel","getFilteredRowModel","getSortedRowModel","getFacetedRowModel","getFacetedUniqueValues","getFacetedMinMaxValues","onRemove","newRowRefs","_value","index","isSelection","totalRowCount","filteredRowCount","showFilterControls","useEffect","jsx","SkeletonTable","jsxs","Box","Typography","Button","headerGroup","header","Fragment","Filter","StyledTableContainer","columnSize","flexRender","IconButton","IconSvg","cell","EntityFinderModal","items","newRefs","newEntityIDsArray","newValue","AddAd","InputLabel","TextField","e","Tooltip","AddCircleTwoTone","Alert","AlertTitle","error"],"mappings":"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"}
1
+ {"version":3,"file":"EntityHeaderTable.js","sources":["../../../src/components/EntityHeaderTable/EntityHeaderTable.tsx"],"sourcesContent":["import React from 'react'\nimport AddAd from '@/assets/icons/AddAd'\nimport { StyledTableContainer } from '@/components/styled/StyledTableContainer'\nimport { useGetEntityHeaders } from '@/synapse-queries/entity/useGetEntityHeaders'\nimport {\n entityTypeToFriendlyName,\n getEntityTypeFromHeader,\n normalizeSynPrefix,\n} from '@/utils/functions/EntityTypeUtils'\nimport { SYNAPSE_ENTITY_ID_REGEX } from '@/utils/functions/RegularExpressions'\nimport { AddCircleTwoTone } from '@mui/icons-material'\nimport {\n Alert,\n AlertTitle,\n Box,\n Button,\n IconButton,\n InputLabel,\n TextField,\n Tooltip,\n Typography,\n} from '@mui/material'\nimport { EntityHeader, ReferenceList } from '@sage-bionetworks/synapse-types'\nimport {\n ColumnDef,\n ColumnFiltersState,\n flexRender,\n getCoreRowModel,\n getFacetedMinMaxValues,\n getFacetedRowModel,\n getFacetedUniqueValues,\n getFilteredRowModel,\n getSortedRowModel,\n useReactTable,\n} from '@tanstack/react-table'\nimport { noop, upperFirst } from 'lodash-es'\nimport papaparseLib from 'papaparse'\n// papaparse is CJS-only; pull named values from the default export.\nconst { parse } = papaparseLib\nimport pluralize from 'pluralize'\nimport { Fragment, useCallback, useEffect, useMemo, useState } from 'react'\nimport {\n EntityFinderModal,\n EntityFinderModalProps,\n} from '../EntityFinder/EntityFinderModal'\nimport { FinderScope } from '../EntityFinder/tree/EntityTree'\nimport { VersionSelectionType } from '../EntityFinder/VersionSelectionType'\nimport IconSvg from '../IconSvg'\nimport { SkeletonTable } from '../Skeleton'\nimport {\n CheckBoxCell,\n CheckBoxHeader,\n EntityHeaderIDCell,\n EntityHeaderNameCell,\n EntityHeaderTypeCell,\n} from './EntityHeaderTableCellRenderers'\nimport { Filter } from './Filter'\nimport { useEntityHeaderTableState } from './useEntityHeaderTableState'\n\nconst DEFAULT_FINDER_CONFIG: EntityFinderModalProps['configuration'] = {\n selectMultiple: true,\n versionSelection: VersionSelectionType.DISALLOWED,\n initialScope: FinderScope.ALL_PROJECTS,\n initialContainer: 'root',\n}\n\nexport type EntityHeaderTableProps = {\n references: ReferenceList\n isEditable: boolean\n disabled?: boolean\n onUpdate?: (updatedRefs: ReferenceList) => void // when the references are updated, EntityHeaderTable will call this function with the updated list\n removeSelectedRowsButtonText?: string\n onUpdateEntityIDsTextbox?: (value: string) => void // when the entity IDs text box is updated, this is called\n /* The word used to describe the items in the table. Default 'entity' */\n objectNameCopy?: string\n // If true, the text field where IDs are pasted is hidden, and confirming the entity finder will immediately call `onUpdate`\n hideTextFieldToPasteValue?: boolean\n entityFinderConfiguration?: EntityFinderModalProps['configuration']\n}\n\nconst UNMANAGEABLE_SUBJECT_COUNT = 10\n\n// extend EntityHeader to create dummy EntityHeader rows for those that the current user cannot view\nexport type EntityHeaderOrDummy = EntityHeader & { isDummy?: boolean }\n\n/**\n * Renders a sortable/filterable table for a set of entity references. If editable, onUpdate will be called back\n * on any entity added/removed.\n */\nexport const EntityHeaderTable = (\n props: EntityHeaderTableProps,\n): React.ReactNode => {\n const {\n references,\n isEditable,\n disabled,\n onUpdate = noop,\n removeSelectedRowsButtonText = 'Remove Selected Rows',\n onUpdateEntityIDsTextbox,\n objectNameCopy = 'entity',\n hideTextFieldToPasteValue = false,\n entityFinderConfiguration = DEFAULT_FINDER_CONFIG,\n } = props\n const [columnFilters, setColumnFilters] = useState<ColumnFiltersState>([])\n const [showEntityFinder, setShowEntityFinder] = useState<boolean>(false)\n\n const {\n rowSelection,\n setRowSelection,\n refsInState,\n setRefsInState,\n newEntityIDs,\n setNewEntityIDs,\n parseErrors,\n setParseErrors,\n } = useEntityHeaderTableState(references, onUpdateEntityIDsTextbox, onUpdate)\n\n const setInvalidEntityIDError = useCallback(\n (invalidEntityIDs: string[]) => {\n setParseErrors([`Invalid Synapse ID(s): ${invalidEntityIDs.join(',')}`])\n },\n [setParseErrors],\n )\n\n const addRefsFromEntityIDs = useCallback(\n (entityIDs: string[]) => {\n const newReferences: ReferenceList = entityIDs.map(id => {\n return {\n targetId: id.trim(),\n }\n })\n setRefsInState([...refsInState, ...newReferences])\n },\n [refsInState, setRefsInState],\n )\n\n const addPastedValuesToArray = useCallback(() => {\n if (newEntityIDs) {\n if (newEntityIDs.includes(',')) {\n parse<string[]>(newEntityIDs, {\n complete: result => {\n if (result.errors.length > 0) {\n const newParseErrors = result.errors.map(\n parseError => parseError.message,\n )\n setParseErrors(newParseErrors)\n } else {\n const newParsedEntityIDs = result.data[0]\n const invalidEntityIDs = newParsedEntityIDs.filter(\n id => !id.trim().match(SYNAPSE_ENTITY_ID_REGEX),\n )\n if (invalidEntityIDs.length > 0) {\n setInvalidEntityIDError(invalidEntityIDs)\n } else {\n addRefsFromEntityIDs(newParsedEntityIDs)\n }\n }\n },\n })\n } else {\n // single item\n if (!newEntityIDs.trim().match(SYNAPSE_ENTITY_ID_REGEX)) {\n setInvalidEntityIDError([newEntityIDs])\n } else {\n addRefsFromEntityIDs([newEntityIDs])\n }\n }\n } else {\n setParseErrors([])\n setNewEntityIDs('')\n }\n }, [\n addRefsFromEntityIDs,\n newEntityIDs,\n setInvalidEntityIDError,\n setNewEntityIDs,\n setParseErrors,\n ])\n\n const pluralObjectName = upperFirst(pluralize(objectNameCopy))\n\n const selectColumns: ColumnDef<EntityHeaderOrDummy, any>[] = useMemo(\n () => [\n {\n id: 'select',\n header: CheckBoxHeader,\n cell: CheckBoxCell,\n },\n ],\n [],\n )\n\n const entityHeaderColumns: ColumnDef<EntityHeaderOrDummy, any>[] = useMemo(\n () => [\n {\n accessorFn: (row: EntityHeaderOrDummy) => row.name,\n id: 'name',\n cell: EntityHeaderNameCell,\n header: 'Name',\n },\n {\n accessorFn: (row: EntityHeaderOrDummy) => row.id,\n id: 'id',\n cell: EntityHeaderIDCell,\n header: 'SynID',\n },\n {\n accessorFn: (row: EntityHeaderOrDummy) =>\n row.isDummy\n ? '-'\n : entityTypeToFriendlyName(getEntityTypeFromHeader(row)),\n id: 'type',\n header: 'Type',\n cell: EntityHeaderTypeCell,\n filterFn: 'includesString',\n },\n ],\n [],\n )\n\n const columns = useMemo<ColumnDef<EntityHeaderOrDummy, any>[]>(\n () =>\n isEditable\n ? selectColumns.concat(entityHeaderColumns)\n : entityHeaderColumns,\n [entityHeaderColumns, isEditable, selectColumns],\n )\n const selectionCount = Object.keys(rowSelection).length\n const {\n data: results,\n isSuccess,\n isLoading,\n } = useGetEntityHeaders(refsInState, {\n throwOnError: true,\n })\n\n const data = useMemo(() => {\n //create dummy entries for values that were not returned by the getEntityHeaders call!\n const newData = results ? results?.results : []\n const newDataEntityIds = new Set()\n newData.forEach(entityHeader =>\n newDataEntityIds.add(normalizeSynPrefix(entityHeader.id)),\n )\n const missingRefs = refsInState.filter(\n ref => !newDataEntityIds.has(normalizeSynPrefix(ref.targetId)),\n )\n const dummyEntityHeaders: EntityHeaderOrDummy[] = missingRefs.map(ref => {\n return {\n id: ref.targetId,\n name: ref.targetId,\n benefactorId: -1,\n type: 'org.sagebionetworks.repo.model.Project',\n createdOn: '',\n modifiedOn: '',\n createdBy: '',\n modifiedBy: '',\n isLatestVersion: true,\n isDummy: true,\n }\n })\n return newData.concat(dummyEntityHeaders)\n }, [refsInState, results])\n const table = useReactTable({\n data,\n columns,\n state: {\n rowSelection,\n columnFilters,\n },\n enableRowSelection: isEditable,\n onRowSelectionChange: setRowSelection,\n onColumnFiltersChange: setColumnFilters,\n getCoreRowModel: getCoreRowModel(),\n getFilteredRowModel: getFilteredRowModel(),\n getSortedRowModel: getSortedRowModel(),\n getFacetedRowModel: getFacetedRowModel(),\n getFacetedUniqueValues: getFacetedUniqueValues(),\n getFacetedMinMaxValues: getFacetedMinMaxValues(),\n // debugTable: true,\n // debugHeaders: true,\n // debugColumns: false,\n columnResizeMode: 'onChange',\n })\n\n const onRemove = useCallback(() => {\n // rowSelection looks like {3: true. 5: true} where the key is the row index.\n // Create a new ReferenceList based on the entityHeaders in the current table.\n const updatedData = data.filter(\n (_value, index) => !(rowSelection[index] === true),\n )\n const newRowRefs: ReferenceList = updatedData.map(entityHeader => {\n return {\n targetId: entityHeader.id,\n }\n })\n setRefsInState(newRowRefs)\n }, [data, rowSelection, setRefsInState])\n\n const isSelection = selectionCount > 0\n const totalRowCount = data.length\n const filteredRowCount = table.getPrePaginationRowModel().rows.length\n const showFilterControls = totalRowCount > UNMANAGEABLE_SUBJECT_COUNT\n\n /**\n * Reset the column filters when the filter controls are hidden.\n * This handles the following edge case:\n * 1. List contains 100 items of type \"A\" and 1 of type \"B\"\n * 2. User filters to show just \"A\" items\n * 3. User removes all \"A\" items\n * 4. Only the single \"B\" item remains, but the filter is still present on type \"A\".\n * The filter controls are hidden, so the user cannot see the \"B\" item.\n *\n * This effect will clear the filters when the filter controls are hidden, preventing this scenario.\n */\n useEffect(\n function resetFiltersWhenFilterControlsAreHidden() {\n if (!showFilterControls) {\n table.setColumnFilters([])\n }\n },\n [table, showFilterControls],\n )\n\n if (isLoading) {\n return (\n <SkeletonTable numCols={3} numRows={Math.min(10, refsInState.length)} />\n )\n } else if (!isSuccess) {\n return <></>\n }\n return (\n <div>\n <Box\n sx={{\n display: 'flex',\n justifyContent: 'space-between',\n p: '12px 10px 10px 5px',\n }}\n >\n {showFilterControls && (\n <Typography variant=\"body1\" sx={{ marginBottom: '10px' }}>\n {totalRowCount} {pluralObjectName}{' '}\n {filteredRowCount < totalRowCount\n ? `(${filteredRowCount} visible)`\n : ''}\n {isSelection && <span>{` (${selectionCount} selected)`}</span>}\n </Typography>\n )}\n {isEditable && refsInState.length > 0 && (\n <Button\n variant=\"contained\"\n disabled={!isSelection || disabled}\n onClick={onRemove}\n >\n {removeSelectedRowsButtonText}\n </Button>\n )}\n </Box>\n <Box\n sx={{\n display: 'flex',\n pb: 2,\n }}\n >\n {table.getHeaderGroups().map(headerGroup =>\n headerGroup.headers.map(header => {\n return header.isPlaceholder ? null : (\n <Fragment key={header.column.id}>\n {header.column.getCanFilter() && showFilterControls ? (\n <Box sx={{ flexGrow: 1 }}>\n <Filter column={header.column} table={table} />\n </Box>\n ) : null}\n </Fragment>\n )\n }),\n )}\n </Box>\n {totalRowCount > 0 && (\n <StyledTableContainer\n sx={{\n th: {\n zIndex: 100,\n maxHeight: '250px',\n },\n }}\n >\n <table style={{ borderCollapse: 'collapse', width: '100%' }}>\n <thead>\n {table.getHeaderGroups().map(headerGroup => (\n <tr key={headerGroup.id}>\n {headerGroup.headers.map(header => {\n let columnSize: string = '5%'\n switch (header.id) {\n case 'name':\n columnSize = '50%'\n break\n case 'id':\n columnSize = '22%'\n break\n case 'type':\n columnSize = '22%'\n break\n default:\n break\n }\n return (\n <th\n key={header.id}\n colSpan={header.colSpan}\n style={{\n width: columnSize,\n position: 'sticky',\n top: '0px',\n }}\n >\n {header.isPlaceholder ? null : (\n <Box\n sx={{\n display: 'flex',\n alignItems: 'center',\n }}\n >\n {flexRender(\n header.column.columnDef.header,\n header.getContext(),\n )}\n <Box\n sx={{\n mx: 'auto',\n }}\n />\n {header.column.getCanSort() && (\n <IconButton\n onClick={header.column.getToggleSortingHandler()}\n size={'small'}\n sx={{\n marginLeft: 'auto',\n marginRight: '16px',\n }}\n >\n <IconSvg\n icon={\n header.column.getIsSorted() === 'asc'\n ? 'sortUp'\n : 'sortDown'\n }\n wrap={false}\n fontSize={'inherit'}\n sx={{\n color: header.column.getIsSorted()\n ? 'primary.main'\n : 'grey.700',\n backgroundColor: 'none',\n }}\n />\n </IconButton>\n )}\n </Box>\n )}\n {header.column.getCanResize() && (\n <div\n className={`resizer ${\n header.column.getIsResizing() ? 'isResizing' : ''\n }`}\n onMouseDown={header.getResizeHandler()}\n onTouchStart={header.getResizeHandler()}\n />\n )}\n </th>\n )\n })}\n </tr>\n ))}\n </thead>\n <tbody>\n {table.getRowModel().rows.map(row => {\n return (\n <tr key={row.id} style={{ height: '30px' }}>\n {row.getVisibleCells().map(cell => {\n return (\n <td\n key={cell.id}\n style={{\n width: cell.column.getSize(),\n }}\n >\n {flexRender(\n cell.column.columnDef.cell,\n cell.getContext(),\n )}\n </td>\n )\n })}\n </tr>\n )\n })}\n </tbody>\n </table>\n </StyledTableContainer>\n )}\n <EntityFinderModal\n configuration={entityFinderConfiguration}\n promptCopy={`Select ${pluralObjectName} to add to the Synapse ID list`}\n show={showEntityFinder}\n title={`Select ${pluralObjectName}`}\n confirmButtonCopy={`Add ${pluralObjectName}`}\n onConfirm={items => {\n if (hideTextFieldToPasteValue) {\n const newRefs = [...refsInState, ...items]\n setRefsInState(newRefs)\n onUpdate(newRefs)\n } else {\n const newEntityIDsArray = items.map(ref => ref.targetId)\n const newEntityIDsString =\n newEntityIDs.trim().length > 0\n ? newEntityIDs.concat(',')\n : newEntityIDs\n const newValue = newEntityIDsString.concat(\n newEntityIDsArray.join(','),\n )\n setNewEntityIDs(newValue)\n }\n setShowEntityFinder(false)\n }}\n onCancel={() => setShowEntityFinder(false)}\n />\n {isEditable && (\n <Box sx={{ marginTop: '10px' }}>\n {hideTextFieldToPasteValue && (\n <Button\n variant=\"outlined\"\n onClick={() => {\n setShowEntityFinder(true)\n }}\n startIcon={<AddAd />}\n disabled={disabled}\n >\n Add {pluralObjectName}\n </Button>\n )}\n {!hideTextFieldToPasteValue && (\n <>\n <InputLabel htmlFor=\"synIDs\">Add Synapse IDs</InputLabel>\n <Box\n sx={{ display: 'grid', gridTemplateColumns: 'auto 50px 150px' }}\n >\n <TextField\n id=\"synIDs\"\n name=\"synIDs\"\n fullWidth\n onChange={e => {\n setNewEntityIDs(e.target.value)\n }}\n value={newEntityIDs}\n placeholder=\"Enter a list of Synapse IDs (i.e. 'syn123, syn456')\"\n disabled={disabled}\n />\n <Box sx={{ padding: '5px 0px 0px 5px' }}>\n {/* Entity finder button. On select, append the selected entity ID to the newSynIDs list */}\n <Tooltip title=\"Add a Synapse ID to the list via the Entity Finder\">\n <IconButton\n disabled={disabled}\n onClick={() => {\n setShowEntityFinder(true)\n }}\n >\n <AddAd />\n </IconButton>\n </Tooltip>\n </Box>\n <Button\n variant=\"outlined\"\n onClick={addPastedValuesToArray}\n disabled={\n isLoading || newEntityIDs.trim().length == 0 || disabled\n }\n startIcon={<AddCircleTwoTone />}\n >\n Add {pluralObjectName}\n </Button>\n </Box>\n </>\n )}\n {parseErrors && parseErrors.length > 0 && (\n <Alert severity={'error'} sx={{ my: 2 }}>\n <AlertTitle>Parsing errors encountered:</AlertTitle>\n <ul>\n {parseErrors.map((error, index) => {\n return (\n <Typography\n component={parseErrors.length > 1 ? 'li' : 'span'}\n key={index}\n variant={'smallText1'}\n sx={{\n lineHeight: 1.5,\n }}\n >\n {error}\n </Typography>\n )\n })}\n </ul>\n </Alert>\n )}\n </Box>\n )}\n </div>\n )\n}\n"],"names":["parse","papaparseLib","DEFAULT_FINDER_CONFIG","VersionSelectionType","FinderScope","UNMANAGEABLE_SUBJECT_COUNT","EntityHeaderTable","props","references","isEditable","disabled","onUpdate","noop","removeSelectedRowsButtonText","onUpdateEntityIDsTextbox","objectNameCopy","hideTextFieldToPasteValue","entityFinderConfiguration","columnFilters","setColumnFilters","useState","showEntityFinder","setShowEntityFinder","rowSelection","setRowSelection","refsInState","setRefsInState","newEntityIDs","setNewEntityIDs","parseErrors","setParseErrors","useEntityHeaderTableState","setInvalidEntityIDError","useCallback","invalidEntityIDs","addRefsFromEntityIDs","entityIDs","newReferences","id","addPastedValuesToArray","result","newParseErrors","parseError","newParsedEntityIDs","SYNAPSE_ENTITY_ID_REGEX","pluralObjectName","upperFirst","pluralize","selectColumns","useMemo","CheckBoxHeader","CheckBoxCell","entityHeaderColumns","row","EntityHeaderNameCell","EntityHeaderIDCell","entityTypeToFriendlyName","getEntityTypeFromHeader","EntityHeaderTypeCell","columns","selectionCount","results","isSuccess","isLoading","useGetEntityHeaders","data","newData","newDataEntityIds","normalizeSynPrefix","entityHeader","dummyEntityHeaders","ref","table","useReactTable","getCoreRowModel","getFilteredRowModel","getSortedRowModel","getFacetedRowModel","getFacetedUniqueValues","getFacetedMinMaxValues","onRemove","newRowRefs","_value","index","isSelection","totalRowCount","filteredRowCount","showFilterControls","useEffect","jsx","SkeletonTable","jsxs","Box","Typography","Button","headerGroup","header","Fragment","Filter","StyledTableContainer","columnSize","flexRender","IconButton","IconSvg","cell","EntityFinderModal","items","newRefs","newEntityIDsArray","newValue","AddAd","InputLabel","TextField","e","Tooltip","AddCircleTwoTone","Alert","AlertTitle","error"],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ type DeleteEvaluationQueueConfirmationDialogProps = {
2
+ open: boolean;
3
+ onConfirm: () => void;
4
+ onCancel: () => void;
5
+ };
6
+ export declare function DeleteEvaluationQueueConfirmationDialog({ open, onConfirm, onCancel, }: DeleteEvaluationQueueConfirmationDialogProps): import("react/jsx-runtime").JSX.Element;
7
+ export {};
8
+ //# sourceMappingURL=DeleteEvaluationQueueConfirmationDialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeleteEvaluationQueueConfirmationDialog.d.ts","sourceRoot":"","sources":["../../../src/components/Evaluation/DeleteEvaluationQueueConfirmationDialog.tsx"],"names":[],"mappings":"AAIA,KAAK,4CAA4C,GAAG;IAClD,IAAI,EAAE,OAAO,CAAA;IACb,SAAS,EAAE,MAAM,IAAI,CAAA;IACrB,QAAQ,EAAE,MAAM,IAAI,CAAA;CACrB,CAAA;AAED,wBAAgB,uCAAuC,CAAC,EACtD,IAAI,EACJ,SAAS,EACT,QAAQ,GACT,EAAE,4CAA4C,2CAgC9C"}
@@ -0,0 +1,46 @@
1
+ import { jsx as e, jsxs as t, Fragment as s } from "react/jsx-runtime";
2
+ import { Typography as c, FormControlLabel as u, Checkbox as m } from "@mui/material";
3
+ import { useState as d } from "react";
4
+ import { WarningDialog as h } from "../SynapseForm/WarningDialog.js";
5
+ function C({
6
+ open: n,
7
+ onConfirm: r,
8
+ onCancel: i
9
+ }) {
10
+ const [o, a] = d(!1);
11
+ return /* @__PURE__ */ e(
12
+ h,
13
+ {
14
+ title: "Delete Evaluation Queue?",
15
+ content: /* @__PURE__ */ t(s, { children: [
16
+ /* @__PURE__ */ t(c, { pb: 2, children: [
17
+ /* @__PURE__ */ e("strong", { children: "Warning" }),
18
+ ": Deleting this evaluation queue will also permanently erase all associated submissions and scores. This action is irreversible."
19
+ ] }),
20
+ /* @__PURE__ */ e(
21
+ u,
22
+ {
23
+ control: /* @__PURE__ */ e(
24
+ m,
25
+ {
26
+ checked: o,
27
+ onChange: (l) => a(l.target.checked)
28
+ }
29
+ ),
30
+ label: "I understand and wish to proceed."
31
+ }
32
+ )
33
+ ] }),
34
+ open: n,
35
+ confirmButtonText: "Delete",
36
+ confirmButtonColor: "error",
37
+ confirmButtonDisabled: !o,
38
+ onConfirm: r,
39
+ onCancel: i
40
+ }
41
+ );
42
+ }
43
+ export {
44
+ C as DeleteEvaluationQueueConfirmationDialog
45
+ };
46
+ //# sourceMappingURL=DeleteEvaluationQueueConfirmationDialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeleteEvaluationQueueConfirmationDialog.js","sources":["../../../src/components/Evaluation/DeleteEvaluationQueueConfirmationDialog.tsx"],"sourcesContent":["import { Checkbox, FormControlLabel, Typography } from '@mui/material'\nimport { useState } from 'react'\nimport WarningDialog from '../SynapseForm/WarningDialog'\n\ntype DeleteEvaluationQueueConfirmationDialogProps = {\n open: boolean\n onConfirm: () => void\n onCancel: () => void\n}\n\nexport function DeleteEvaluationQueueConfirmationDialog({\n open,\n onConfirm,\n onCancel,\n}: DeleteEvaluationQueueConfirmationDialogProps) {\n const [isChecked, setIsChecked] = useState(false)\n\n return (\n <WarningDialog\n title=\"Delete Evaluation Queue?\"\n content={\n <>\n <Typography pb={2}>\n <strong>Warning</strong>: Deleting this evaluation queue will also\n permanently erase all associated submissions and scores. This action\n is irreversible.\n </Typography>\n <FormControlLabel\n control={\n <Checkbox\n checked={isChecked}\n onChange={e => setIsChecked(e.target.checked)}\n />\n }\n label=\"I understand and wish to proceed.\"\n />\n </>\n }\n open={open}\n confirmButtonText=\"Delete\"\n confirmButtonColor=\"error\"\n confirmButtonDisabled={!isChecked}\n onConfirm={onConfirm}\n onCancel={onCancel}\n />\n )\n}\n"],"names":["DeleteEvaluationQueueConfirmationDialog","open","onConfirm","onCancel","isChecked","setIsChecked","useState","jsx","WarningDialog","jsxs","Fragment","Typography","FormControlLabel","Checkbox","e"],"mappings":";;;;AAUO,SAASA,EAAwC;AAAA,EACtD,MAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAAC;AACF,GAAiD;AAC/C,QAAM,CAACC,GAAWC,CAAY,IAAIC,EAAS,EAAK;AAEhD,SACE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,OAAM;AAAA,MACN,SACE,gBAAAC,EAAAC,GAAA,EACE,UAAA;AAAA,QAAA,gBAAAD,EAACE,GAAA,EAAW,IAAI,GACd,UAAA;AAAA,UAAA,gBAAAJ,EAAC,YAAO,UAAA,UAAA,CAAO;AAAA,UAAS;AAAA,QAAA,GAG1B;AAAA,QACA,gBAAAA;AAAA,UAACK;AAAA,UAAA;AAAA,YACC,SACE,gBAAAL;AAAA,cAACM;AAAA,cAAA;AAAA,gBACC,SAAST;AAAA,gBACT,UAAU,CAAAU,MAAKT,EAAaS,EAAE,OAAO,OAAO;AAAA,cAAA;AAAA,YAAA;AAAA,YAGhD,OAAM;AAAA,UAAA;AAAA,QAAA;AAAA,MACR,GACF;AAAA,MAEF,MAAAb;AAAA,MACA,mBAAkB;AAAA,MAClB,oBAAmB;AAAA,MACnB,uBAAuB,CAACG;AAAA,MACxB,WAAAF;AAAA,MACA,UAAAC;AAAA,IAAA;AAAA,EAAA;AAGN;"}
@@ -1 +1 @@
1
- {"version":3,"file":"EvaluationCard.d.ts","sourceRoot":"","sources":["../../../src/components/Evaluation/EvaluationCard.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAa5C,OAAO,EACL,UAAU,EAEX,MAAM,iCAAiC,CAAA;AAOxC,MAAM,MAAM,kBAAkB,GAAG,kBAAkB,CACjD,UAAU,EACV,IAAI,GAAG,MAAM,GAAG,WAAW,GAAG,eAAe,GAAG,SAAS,CAC1D,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,0CAA0C;IAC1C,UAAU,EAAE,kBAAkB,CAAA;IAC9B,8DAA8D;IAC9D,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,uEAAuE;IACvE,cAAc,EAAE,MAAM,IAAI,CAAA;IAC1B,gDAAgD;IAChD,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,oDAAoD;IACpD,eAAe,EAAE,MAAM,IAAI,CAAA;CAC5B,CAAA;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,EAC7B,UAAU,EACV,MAAM,EACN,cAAc,EACd,QAAQ,EACR,eAAe,GAChB,EAAE,mBAAmB,2CAqErB;AAuGD,eAAe,cAAc,CAAA"}
1
+ {"version":3,"file":"EvaluationCard.d.ts","sourceRoot":"","sources":["../../../src/components/Evaluation/EvaluationCard.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAa5C,OAAO,EACL,UAAU,EAEX,MAAM,iCAAiC,CAAA;AAOxC,MAAM,MAAM,kBAAkB,GAAG,kBAAkB,CACjD,UAAU,EACV,IAAI,GAAG,MAAM,GAAG,WAAW,GAAG,eAAe,GAAG,SAAS,CAC1D,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,0CAA0C;IAC1C,UAAU,EAAE,kBAAkB,CAAA;IAC9B,8DAA8D;IAC9D,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,uEAAuE;IACvE,cAAc,EAAE,MAAM,IAAI,CAAA;IAC1B,gDAAgD;IAChD,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,oDAAoD;IACpD,eAAe,EAAE,MAAM,IAAI,CAAA;CAC5B,CAAA;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,EAC7B,UAAU,EACV,MAAM,EACN,cAAc,EACd,QAAQ,EACR,eAAe,GAChB,EAAE,mBAAmB,2CAqErB;AAiGD,eAAe,cAAc,CAAA"}
@@ -1,38 +1,38 @@
1
1
  import { jsx as n, jsxs as o, Fragment as C } from "react/jsx-runtime";
2
2
  import { getEvaluationPermissions as E, deleteEvaluation as D } from "../../synapse-client/SynapseClient.js";
3
3
  import { useSynapseContext as g } from "../../utils/context/SynapseContext.js";
4
- import { Card as b, CardContent as x, Box as k, Button as w, IconButton as y, Menu as B, MenuItem as p, Divider as I } from "@mui/material";
5
- import { useState as s, useEffect as v } from "react";
6
- import { ErrorBanner as S } from "../error/ErrorBanner.js";
7
- import A from "../IconSvg/IconSvg.js";
8
- import { WarningDialog as P } from "../SynapseForm/WarningDialog.js";
9
- import { CreatedOnByUserDiv as M } from "./CreatedOnByUserDiv.js";
4
+ import { Card as b, CardContent as x, Box as I, Button as S, IconButton as k, Menu as w, MenuItem as p, Divider as v } from "@mui/material";
5
+ import { useState as d, useEffect as y } from "react";
6
+ import { ErrorBanner as B } from "../error/ErrorBanner.js";
7
+ import P from "../IconSvg/IconSvg.js";
8
+ import { CreatedOnByUserDiv as A } from "./CreatedOnByUserDiv.js";
9
+ import { DeleteEvaluationQueueConfirmationDialog as M } from "./DeleteEvaluationQueueConfirmationDialog.js";
10
10
  function q({
11
11
  evaluation: e,
12
- onEdit: d,
13
- onModifyAccess: u,
14
- onSubmit: m,
15
- onDeleteSuccess: h
12
+ onEdit: m,
13
+ onModifyAccess: h,
14
+ onSubmit: u,
15
+ onDeleteSuccess: s
16
16
  }) {
17
- const { accessToken: t } = g(), [i, r] = s(), [l, f] = s();
18
- return v(() => {
17
+ const { accessToken: t } = g(), [i, r] = d(), [l, f] = d();
18
+ return y(() => {
19
19
  r(void 0), E(e.id, t).then((a) => {
20
20
  f(a);
21
21
  }).catch((a) => r(a));
22
22
  }, [e, t]), /* @__PURE__ */ n("div", { className: "evaluation-card", children: /* @__PURE__ */ n(b, { children: /* @__PURE__ */ o(x, { sx: { p: 3 }, children: [
23
- i && /* @__PURE__ */ n(S, { error: i }),
23
+ i && /* @__PURE__ */ n(B, { error: i }),
24
24
  l && /* @__PURE__ */ o(C, { children: [
25
- /* @__PURE__ */ o(k, { sx: { display: "flex", justifyContent: "space-between" }, children: [
25
+ /* @__PURE__ */ o(I, { sx: { display: "flex", justifyContent: "space-between" }, children: [
26
26
  /* @__PURE__ */ n("label", { children: "EVALUATION QUEUE" }),
27
27
  /* @__PURE__ */ n(
28
28
  O,
29
29
  {
30
30
  permissions: l,
31
31
  onDelete: () => {
32
- r(void 0), D(e.id, t).then(h).catch(r);
32
+ r(void 0), D(e.id, t).then(s).catch(r);
33
33
  },
34
- onEdit: d,
35
- onModifyAccess: u
34
+ onEdit: m,
35
+ onModifyAccess: h
36
36
  }
37
37
  )
38
38
  ] }),
@@ -47,19 +47,19 @@ function q({
47
47
  /* @__PURE__ */ n("label", { children: "Instructions" }),
48
48
  /* @__PURE__ */ n("p", { children: e.submissionInstructionsMessage }),
49
49
  /* @__PURE__ */ n(
50
- M,
50
+ A,
51
51
  {
52
52
  userId: e.ownerId,
53
53
  date: new Date(e.createdOn)
54
54
  }
55
55
  ),
56
56
  l?.canSubmit && /* @__PURE__ */ n(
57
- w,
57
+ S,
58
58
  {
59
59
  className: "submit-button",
60
60
  color: "primary",
61
61
  variant: "contained",
62
- onClick: m,
62
+ onClick: u,
63
63
  children: "Submit"
64
64
  }
65
65
  )
@@ -68,36 +68,30 @@ function q({
68
68
  }
69
69
  function O({
70
70
  permissions: e,
71
- onEdit: d,
72
- onModifyAccess: u,
73
- onDelete: m
71
+ onEdit: m,
72
+ onModifyAccess: h,
73
+ onDelete: u
74
74
  }) {
75
- const [h, t] = s(!1), [i, r] = s(null), l = !!i, f = (a) => {
75
+ const [s, t] = d(!1), [i, r] = d(null), l = !!i, f = (a) => {
76
76
  r(a.currentTarget);
77
77
  }, c = () => {
78
78
  r(null);
79
79
  };
80
80
  return e.canEdit || e.canChangePermissions || e.canDelete ? /* @__PURE__ */ o(C, { children: [
81
81
  e?.canDelete && /* @__PURE__ */ n(
82
- P,
82
+ M,
83
83
  {
84
- title: "Delete Evaluation Queue",
85
- content: "Are you sure you want to delete the Evaluation Queue?",
86
- open: h,
87
- confirmButtonText: "Delete",
84
+ open: s,
88
85
  onConfirm: () => {
89
- m(), t(!1);
86
+ u(), t(!1);
90
87
  },
91
- onConfirmCallbackArgs: [],
92
- onCancel: () => {
93
- t(!1);
94
- },
95
- confirmButtonColor: "error"
96
- }
88
+ onCancel: () => t(!1)
89
+ },
90
+ String(s)
97
91
  ),
98
- /* @__PURE__ */ n(y, { onClick: f, "aria-label": "Options", children: /* @__PURE__ */ n(A, { icon: "verticalEllipsis", wrap: !1 }) }),
92
+ /* @__PURE__ */ n(k, { onClick: f, "aria-label": "Options", children: /* @__PURE__ */ n(P, { icon: "verticalEllipsis", wrap: !1 }) }),
99
93
  /* @__PURE__ */ o(
100
- B,
94
+ w,
101
95
  {
102
96
  anchorEl: i,
103
97
  open: l,
@@ -109,7 +103,7 @@ function O({
109
103
  {
110
104
  role: "menuitem",
111
105
  onClick: () => {
112
- c(), d();
106
+ c(), m();
113
107
  },
114
108
  children: "Edit"
115
109
  }
@@ -119,12 +113,12 @@ function O({
119
113
  {
120
114
  role: "menuitem",
121
115
  onClick: () => {
122
- c(), u();
116
+ c(), h();
123
117
  },
124
118
  children: "Modify Access"
125
119
  }
126
120
  ),
127
- e.canDelete && /* @__PURE__ */ n(I, {}),
121
+ e.canDelete && /* @__PURE__ */ n(v, {}),
128
122
  e.canDelete && /* @__PURE__ */ n(
129
123
  p,
130
124
  {
@@ -1 +1 @@
1
- {"version":3,"file":"EvaluationCard.js","sources":["../../../src/components/Evaluation/EvaluationCard.tsx"],"sourcesContent":["import {\n deleteEvaluation,\n getEvaluationPermissions,\n} from '@/synapse-client/SynapseClient'\nimport { RequiredProperties } from '@/utils'\nimport { useSynapseContext } from '@/utils/context/SynapseContext'\nimport {\n Box,\n Button,\n Card,\n CardContent,\n Divider,\n IconButton,\n Menu,\n MenuItem,\n} from '@mui/material'\nimport { SynapseClientError } from '@sage-bionetworks/synapse-client/util/SynapseClientError'\nimport {\n Evaluation,\n UserEvaluationPermissions,\n} from '@sage-bionetworks/synapse-types'\nimport { MouseEvent, useEffect, useState } from 'react'\nimport { ErrorBanner } from '../error/ErrorBanner'\nimport IconSvg from '../IconSvg/IconSvg'\nimport WarningDialog from '../SynapseForm/WarningDialog'\nimport { CreatedOnByUserDiv } from './CreatedOnByUserDiv'\n\nexport type ExistingEvaluation = RequiredProperties<\n Evaluation,\n 'id' | 'etag' | 'createdOn' | 'contentSource' | 'ownerId'\n>\n\nexport type EvaluationCardProps = {\n /** properties of the Evaluation to show*/\n evaluation: ExistingEvaluation\n /** Callback when the Edit option in the dropdown is clicked*/\n onEdit: () => void\n /** Callback when the Modify Access option in the dropdown is clicked*/\n onModifyAccess: () => void\n /** Callback when the Submit button is clicked*/\n onSubmit: () => void\n /** Callback when the Delete option is successful */\n onDeleteSuccess: () => void\n}\n\n/**\n * This component is currently only intended to be used in Synapse.org.\n * For this reason, the dropdown menu items are unimplemented as no components\n * in this project implement their behavior. The dropdown options are also\n * not shown if the current user does not have permissions for the action\n *\n * All Evaluation metadata must be provided to this component; it will not\n * retrieve an Evaluation via a REST API call\n */\nexport function EvaluationCard({\n evaluation,\n onEdit,\n onModifyAccess,\n onSubmit,\n onDeleteSuccess,\n}: EvaluationCardProps) {\n const { accessToken } = useSynapseContext()\n const [error, setError] = useState<SynapseClientError>()\n const [permissions, setPermissions] = useState<UserEvaluationPermissions>()\n\n useEffect(() => {\n //clear error\n setError(undefined)\n\n getEvaluationPermissions(evaluation.id, accessToken)\n .then(retrievedPermissions => {\n setPermissions(retrievedPermissions)\n })\n .catch(error => setError(error))\n }, [evaluation, accessToken])\n\n const onDelete = () => {\n setError(undefined)\n deleteEvaluation(evaluation.id, accessToken)\n .then(onDeleteSuccess)\n .catch(setError)\n }\n\n return (\n <div className=\"evaluation-card\">\n <Card>\n <CardContent sx={{ p: 3 }}>\n {error && <ErrorBanner error={error} />}\n\n {permissions && (\n <>\n <Box sx={{ display: 'flex', justifyContent: 'space-between' }}>\n <label>EVALUATION QUEUE</label>\n <EvaluationCardDropdown\n permissions={permissions}\n onDelete={onDelete}\n onEdit={onEdit}\n onModifyAccess={onModifyAccess}\n />\n </Box>\n\n <h4>\n {evaluation.name} ({evaluation.id})\n </h4>\n\n <label>Description</label>\n <p>{evaluation.description}</p>\n <label>Instructions</label>\n <p>{evaluation.submissionInstructionsMessage}</p>\n <CreatedOnByUserDiv\n userId={evaluation.ownerId}\n date={new Date(evaluation.createdOn)}\n />\n {permissions?.canSubmit && (\n <Button\n className=\"submit-button\"\n color=\"primary\"\n variant=\"contained\"\n onClick={onSubmit}\n >\n Submit\n </Button>\n )}\n </>\n )}\n </CardContent>\n </Card>\n </div>\n )\n}\n\ntype EvaluationCardDropdownProps = {\n permissions: UserEvaluationPermissions\n onEdit: () => void\n onModifyAccess: () => void\n onDelete: () => void\n}\n\nfunction EvaluationCardDropdown({\n permissions,\n onEdit,\n onModifyAccess,\n onDelete,\n}: EvaluationCardDropdownProps) {\n const [deleteWarningShow, setDeleteWarningShow] = useState<boolean>(false)\n\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null)\n const open = Boolean(anchorEl)\n const handleClick = (event: MouseEvent<HTMLElement>) => {\n setAnchorEl(event.currentTarget)\n }\n const handleClose = () => {\n setAnchorEl(null)\n }\n\n if (\n !(\n permissions.canEdit ||\n permissions.canChangePermissions ||\n permissions.canDelete\n )\n ) {\n return null\n }\n return (\n <>\n {permissions?.canDelete && (\n <WarningDialog\n title=\"Delete Evaluation Queue\"\n content=\"Are you sure you want to delete the Evaluation Queue?\"\n open={deleteWarningShow}\n confirmButtonText=\"Delete\"\n onConfirm={() => {\n onDelete()\n setDeleteWarningShow(false)\n }}\n onConfirmCallbackArgs={[]}\n onCancel={() => {\n setDeleteWarningShow(false)\n }}\n confirmButtonColor=\"error\"\n />\n )}\n <IconButton onClick={handleClick} aria-label=\"Options\">\n <IconSvg icon=\"verticalEllipsis\" wrap={false} />\n </IconButton>\n <Menu\n anchorEl={anchorEl}\n open={open}\n onClose={handleClose}\n slotProps={{ paper: { sx: { minWidth: '120px' } } }}\n >\n {permissions.canEdit && (\n <MenuItem\n role=\"menuitem\"\n onClick={() => {\n handleClose()\n onEdit()\n }}\n >\n Edit\n </MenuItem>\n )}\n {permissions.canChangePermissions && (\n <MenuItem\n role=\"menuitem\"\n onClick={() => {\n handleClose()\n onModifyAccess()\n }}\n >\n Modify Access\n </MenuItem>\n )}\n {/* MUI Menu cannot have a fragment child, so we split the divider and Delete MenuItem into two separate statements */}\n {permissions.canDelete && <Divider />}\n {permissions.canDelete && (\n <MenuItem\n role=\"menuitem\"\n onClick={() => {\n handleClose()\n setDeleteWarningShow(true)\n }}\n >\n Delete\n </MenuItem>\n )}\n </Menu>\n </>\n )\n}\n\nexport default EvaluationCard\n"],"names":["EvaluationCard","evaluation","onEdit","onModifyAccess","onSubmit","onDeleteSuccess","accessToken","useSynapseContext","error","setError","useState","permissions","setPermissions","useEffect","getEvaluationPermissions","retrievedPermissions","jsx","Card","jsxs","CardContent","ErrorBanner","Fragment","Box","EvaluationCardDropdown","deleteEvaluation","CreatedOnByUserDiv","Button","onDelete","deleteWarningShow","setDeleteWarningShow","anchorEl","setAnchorEl","open","handleClick","event","handleClose","WarningDialog","IconButton","IconSvg","Menu","MenuItem","Divider"],"mappings":"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"}
1
+ {"version":3,"file":"EvaluationCard.js","sources":["../../../src/components/Evaluation/EvaluationCard.tsx"],"sourcesContent":["import {\n deleteEvaluation,\n getEvaluationPermissions,\n} from '@/synapse-client/SynapseClient'\nimport { RequiredProperties } from '@/utils'\nimport { useSynapseContext } from '@/utils/context/SynapseContext'\nimport {\n Box,\n Button,\n Card,\n CardContent,\n Divider,\n IconButton,\n Menu,\n MenuItem,\n} from '@mui/material'\nimport { SynapseClientError } from '@sage-bionetworks/synapse-client/util/SynapseClientError'\nimport {\n Evaluation,\n UserEvaluationPermissions,\n} from '@sage-bionetworks/synapse-types'\nimport { MouseEvent, useEffect, useState } from 'react'\nimport { ErrorBanner } from '../error/ErrorBanner'\nimport IconSvg from '../IconSvg/IconSvg'\nimport { CreatedOnByUserDiv } from './CreatedOnByUserDiv'\nimport { DeleteEvaluationQueueConfirmationDialog } from './DeleteEvaluationQueueConfirmationDialog'\n\nexport type ExistingEvaluation = RequiredProperties<\n Evaluation,\n 'id' | 'etag' | 'createdOn' | 'contentSource' | 'ownerId'\n>\n\nexport type EvaluationCardProps = {\n /** properties of the Evaluation to show*/\n evaluation: ExistingEvaluation\n /** Callback when the Edit option in the dropdown is clicked*/\n onEdit: () => void\n /** Callback when the Modify Access option in the dropdown is clicked*/\n onModifyAccess: () => void\n /** Callback when the Submit button is clicked*/\n onSubmit: () => void\n /** Callback when the Delete option is successful */\n onDeleteSuccess: () => void\n}\n\n/**\n * This component is currently only intended to be used in Synapse.org.\n * For this reason, the dropdown menu items are unimplemented as no components\n * in this project implement their behavior. The dropdown options are also\n * not shown if the current user does not have permissions for the action\n *\n * All Evaluation metadata must be provided to this component; it will not\n * retrieve an Evaluation via a REST API call\n */\nexport function EvaluationCard({\n evaluation,\n onEdit,\n onModifyAccess,\n onSubmit,\n onDeleteSuccess,\n}: EvaluationCardProps) {\n const { accessToken } = useSynapseContext()\n const [error, setError] = useState<SynapseClientError>()\n const [permissions, setPermissions] = useState<UserEvaluationPermissions>()\n\n useEffect(() => {\n //clear error\n setError(undefined)\n\n getEvaluationPermissions(evaluation.id, accessToken)\n .then(retrievedPermissions => {\n setPermissions(retrievedPermissions)\n })\n .catch(error => setError(error))\n }, [evaluation, accessToken])\n\n const onDelete = () => {\n setError(undefined)\n deleteEvaluation(evaluation.id, accessToken)\n .then(onDeleteSuccess)\n .catch(setError)\n }\n\n return (\n <div className=\"evaluation-card\">\n <Card>\n <CardContent sx={{ p: 3 }}>\n {error && <ErrorBanner error={error} />}\n\n {permissions && (\n <>\n <Box sx={{ display: 'flex', justifyContent: 'space-between' }}>\n <label>EVALUATION QUEUE</label>\n <EvaluationCardDropdown\n permissions={permissions}\n onDelete={onDelete}\n onEdit={onEdit}\n onModifyAccess={onModifyAccess}\n />\n </Box>\n\n <h4>\n {evaluation.name} ({evaluation.id})\n </h4>\n\n <label>Description</label>\n <p>{evaluation.description}</p>\n <label>Instructions</label>\n <p>{evaluation.submissionInstructionsMessage}</p>\n <CreatedOnByUserDiv\n userId={evaluation.ownerId}\n date={new Date(evaluation.createdOn)}\n />\n {permissions?.canSubmit && (\n <Button\n className=\"submit-button\"\n color=\"primary\"\n variant=\"contained\"\n onClick={onSubmit}\n >\n Submit\n </Button>\n )}\n </>\n )}\n </CardContent>\n </Card>\n </div>\n )\n}\n\ntype EvaluationCardDropdownProps = {\n permissions: UserEvaluationPermissions\n onEdit: () => void\n onModifyAccess: () => void\n onDelete: () => void\n}\n\nfunction EvaluationCardDropdown({\n permissions,\n onEdit,\n onModifyAccess,\n onDelete,\n}: EvaluationCardDropdownProps) {\n const [deleteWarningShow, setDeleteWarningShow] = useState<boolean>(false)\n\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null)\n const open = Boolean(anchorEl)\n const handleClick = (event: MouseEvent<HTMLElement>) => {\n setAnchorEl(event.currentTarget)\n }\n const handleClose = () => {\n setAnchorEl(null)\n }\n\n if (\n !(\n permissions.canEdit ||\n permissions.canChangePermissions ||\n permissions.canDelete\n )\n ) {\n return null\n }\n return (\n <>\n {permissions?.canDelete && (\n <DeleteEvaluationQueueConfirmationDialog\n key={String(deleteWarningShow)}\n open={deleteWarningShow}\n onConfirm={() => {\n onDelete()\n setDeleteWarningShow(false)\n }}\n onCancel={() => setDeleteWarningShow(false)}\n />\n )}\n <IconButton onClick={handleClick} aria-label=\"Options\">\n <IconSvg icon=\"verticalEllipsis\" wrap={false} />\n </IconButton>\n <Menu\n anchorEl={anchorEl}\n open={open}\n onClose={handleClose}\n slotProps={{ paper: { sx: { minWidth: '120px' } } }}\n >\n {permissions.canEdit && (\n <MenuItem\n role=\"menuitem\"\n onClick={() => {\n handleClose()\n onEdit()\n }}\n >\n Edit\n </MenuItem>\n )}\n {permissions.canChangePermissions && (\n <MenuItem\n role=\"menuitem\"\n onClick={() => {\n handleClose()\n onModifyAccess()\n }}\n >\n Modify Access\n </MenuItem>\n )}\n {/* MUI Menu cannot have a fragment child, so we split the divider and Delete MenuItem into two separate statements */}\n {permissions.canDelete && <Divider />}\n {permissions.canDelete && (\n <MenuItem\n role=\"menuitem\"\n onClick={() => {\n handleClose()\n setDeleteWarningShow(true)\n }}\n >\n Delete\n </MenuItem>\n )}\n </Menu>\n </>\n )\n}\n\nexport default EvaluationCard\n"],"names":["EvaluationCard","evaluation","onEdit","onModifyAccess","onSubmit","onDeleteSuccess","accessToken","useSynapseContext","error","setError","useState","permissions","setPermissions","useEffect","getEvaluationPermissions","retrievedPermissions","jsx","Card","jsxs","CardContent","ErrorBanner","Fragment","Box","EvaluationCardDropdown","deleteEvaluation","CreatedOnByUserDiv","Button","onDelete","deleteWarningShow","setDeleteWarningShow","anchorEl","setAnchorEl","open","handleClick","event","handleClose","DeleteEvaluationQueueConfirmationDialog","IconButton","IconSvg","Menu","MenuItem","Divider"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"EvaluationEditor.d.ts","sourceRoot":"","sources":["../../../src/components/Evaluation/EvaluationEditor.tsx"],"names":[],"mappings":"AAqBA,MAAM,MAAM,qBAAqB,GAAG;IAClC,2EAA2E;IAC3E,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,qGAAqG;IACrG,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,2DAA2D;IAC3D,QAAQ,CAAC,eAAe,EAAE,MAAM,IAAI,CAAA;IACpC,uDAAuD;IACvD,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAA;CACxD,CAAA;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,YAAY,EACZ,QAAQ,EACR,eAAe,EACf,aAAa,GACd,EAAE,qBAAqB,2CA2JvB"}
1
+ {"version":3,"file":"EvaluationEditor.d.ts","sourceRoot":"","sources":["../../../src/components/Evaluation/EvaluationEditor.tsx"],"names":[],"mappings":"AAsBA,MAAM,MAAM,qBAAqB,GAAG;IAClC,2EAA2E;IAC3E,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,qGAAqG;IACrG,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,2DAA2D;IAC3D,QAAQ,CAAC,eAAe,EAAE,MAAM,IAAI,CAAA;IACpC,uDAAuD;IACvD,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAA;CACxD,CAAA;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,YAAY,EACZ,QAAQ,EACR,eAAe,EACf,aAAa,GACd,EAAE,qBAAqB,2CAgLvB"}