synapse-react-client 4.0.1 → 4.0.3-b

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 (289) 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/DNA_Two.svg +0 -0
  18. package/dist/assets/icons/Data2.svg +0 -0
  19. package/dist/assets/icons/HandWithMoney.d.ts +5 -0
  20. package/dist/assets/icons/HandWithMoney.d.ts.map +1 -0
  21. package/dist/assets/icons/HandWithMoney.js +15 -0
  22. package/dist/assets/icons/HandWithMoney.js.map +1 -0
  23. package/dist/assets/icons/MultiFile.d.ts +5 -0
  24. package/dist/assets/icons/MultiFile.d.ts.map +1 -0
  25. package/dist/assets/icons/MultiFile.js +8 -0
  26. package/dist/assets/icons/MultiFile.js.map +1 -0
  27. package/dist/assets/icons/MultiFile.svg +4 -0
  28. package/dist/assets/icons/MultiFile.svg.js +7 -0
  29. package/dist/assets/icons/MultiFile.svg.js.map +1 -0
  30. package/dist/assets/icons/OpenBook.d.ts +5 -0
  31. package/dist/assets/icons/OpenBook.d.ts.map +1 -0
  32. package/dist/assets/icons/OpenBook.js +99 -0
  33. package/dist/assets/icons/OpenBook.js.map +1 -0
  34. package/dist/assets/icons/Podium.d.ts +5 -0
  35. package/dist/assets/icons/Podium.d.ts.map +1 -0
  36. package/dist/assets/icons/Podium.js +36 -0
  37. package/dist/assets/icons/Podium.js.map +1 -0
  38. package/dist/assets/icons/RosetteRibbon.d.ts +5 -0
  39. package/dist/assets/icons/RosetteRibbon.d.ts.map +1 -0
  40. package/dist/assets/icons/RosetteRibbon.js +36 -0
  41. package/dist/assets/icons/RosetteRibbon.js.map +1 -0
  42. package/dist/assets/icons/StarTrophy.d.ts +5 -0
  43. package/dist/assets/icons/StarTrophy.d.ts.map +1 -0
  44. package/dist/assets/icons/StarTrophy.js +99 -0
  45. package/dist/assets/icons/StarTrophy.js.map +1 -0
  46. package/dist/assets/icons/ThreeStars.d.ts +5 -0
  47. package/dist/assets/icons/ThreeStars.d.ts.map +1 -0
  48. package/dist/assets/icons/ThreeStars.js +71 -0
  49. package/dist/assets/icons/ThreeStars.js.map +1 -0
  50. package/dist/assets/icons/UnpackagableFile.d.ts +5 -0
  51. package/dist/assets/icons/UnpackagableFile.d.ts.map +1 -0
  52. package/dist/assets/icons/UnpackagableFile.js +8 -0
  53. package/dist/assets/icons/UnpackagableFile.js.map +1 -0
  54. package/dist/assets/icons/UnpackagableFile.svg +4 -0
  55. package/dist/assets/icons/UnpackagableFile.svg.js +7 -0
  56. package/dist/assets/icons/UnpackagableFile.svg.js.map +1 -0
  57. package/dist/assets/mui_components/PackagableFile.d.ts.map +1 -1
  58. package/dist/assets/mui_components/PackagableFile.js +5 -4
  59. package/dist/assets/mui_components/PackagableFile.js.map +1 -1
  60. package/dist/assets/mui_components/PackagableFile.svg +3 -0
  61. package/dist/assets/mui_components/PackagableFile.svg.js +7 -0
  62. package/dist/assets/mui_components/PackagableFile.svg.js.map +1 -0
  63. package/dist/assets/themed_icons/index.d.ts +1 -2
  64. package/dist/assets/themed_icons/index.d.ts.map +1 -1
  65. package/dist/assets/themed_icons/index.js +8 -10
  66. package/dist/assets/themed_icons/index.js.map +1 -1
  67. package/dist/components/AcknowledgementsPage/AcknowledgementsPage.js +4 -4
  68. package/dist/components/AcknowledgementsPage/AcknowledgementsPage.js.map +1 -1
  69. package/dist/components/AddToDownloadListV2.js +10 -10
  70. package/dist/components/AddToDownloadListV2.js.map +1 -1
  71. package/dist/components/BasePortalCard/BasePortalCard.css +1 -1
  72. package/dist/components/BasePortalCard/BasePortalCard.d.ts +1 -2
  73. package/dist/components/BasePortalCard/BasePortalCard.d.ts.map +1 -1
  74. package/dist/components/BasePortalCard/BasePortalCard.js +21 -28
  75. package/dist/components/BasePortalCard/BasePortalCard.js.map +1 -1
  76. package/dist/components/BasePortalCard/BasePortalCard.module.scss +7 -1
  77. package/dist/components/BasePortalCard/BasePortalCard.module.scss.js +11 -11
  78. package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.d.ts.map +1 -1
  79. package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.js +24 -24
  80. package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.js.map +1 -1
  81. package/dist/components/CardContainerLogic/CardContainerLogic.d.ts +5 -1
  82. package/dist/components/CardContainerLogic/CardContainerLogic.d.ts.map +1 -1
  83. package/dist/components/CardContainerLogic/CardContainerLogic.js.map +1 -1
  84. package/dist/components/CardContainerLogic/index.d.ts +1 -1
  85. package/dist/components/CardContainerLogic/index.d.ts.map +1 -1
  86. package/dist/components/CardDeck/TableQueryCardDeck.js +12 -9
  87. package/dist/components/CardDeck/TableQueryCardDeck.js.map +1 -1
  88. package/dist/components/ChallengeDataDownload/ChallengeDataDownload.js +33 -33
  89. package/dist/components/ChallengeDataDownload/ChallengeDataDownload.js.map +1 -1
  90. package/dist/components/ChangePassword/useChangePasswordFormState.js +5 -2
  91. package/dist/components/ChangePassword/useChangePasswordFormState.js.map +1 -1
  92. package/dist/components/ComponentCollapse.d.ts +6 -10
  93. package/dist/components/ComponentCollapse.d.ts.map +1 -1
  94. package/dist/components/ComponentCollapse.js +31 -35
  95. package/dist/components/ComponentCollapse.js.map +1 -1
  96. package/dist/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizard.js +12 -9
  97. package/dist/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizard.js.map +1 -1
  98. package/dist/components/DataGrid/MergeGridWithSourceTableButton.js +8 -3
  99. package/dist/components/DataGrid/MergeGridWithSourceTableButton.js.map +1 -1
  100. package/dist/components/DataGrid/SynapseGrid.js +8 -3
  101. package/dist/components/DataGrid/SynapseGrid.js.map +1 -1
  102. package/dist/components/DataGrid/components/UploadCsvToGridDialog.js +8 -3
  103. package/dist/components/DataGrid/components/UploadCsvToGridDialog.js.map +1 -1
  104. package/dist/components/DirectDownload/DirectDownload.d.ts.map +1 -1
  105. package/dist/components/DirectDownload/DirectDownload.js +23 -23
  106. package/dist/components/DirectDownload/DirectDownload.js.map +1 -1
  107. package/dist/components/DownloadCart/AvailableForDownloadTable.d.ts +6 -2
  108. package/dist/components/DownloadCart/AvailableForDownloadTable.d.ts.map +1 -1
  109. package/dist/components/DownloadCart/AvailableForDownloadTable.js +10 -8
  110. package/dist/components/DownloadCart/AvailableForDownloadTable.js.map +1 -1
  111. package/dist/components/DownloadCart/CreatePackageV2.css +1 -0
  112. package/dist/components/DownloadCart/CreatePackageV2.d.ts.map +1 -1
  113. package/dist/components/DownloadCart/CreatePackageV2.js +50 -46
  114. package/dist/components/DownloadCart/CreatePackageV2.js.map +1 -1
  115. package/dist/components/DownloadCart/CreatePackageV2.module.scss +38 -0
  116. package/dist/components/DownloadCart/CreatePackageV2.module.scss.js +14 -0
  117. package/dist/components/DownloadCart/CreatePackageV2.module.scss.js.map +1 -0
  118. package/dist/components/DownloadCart/DownloadCartPage.css +1 -0
  119. package/dist/components/DownloadCart/DownloadCartPage.d.ts.map +1 -1
  120. package/dist/components/DownloadCart/DownloadCartPage.js +316 -186
  121. package/dist/components/DownloadCart/DownloadCartPage.js.map +1 -1
  122. package/dist/components/DownloadCart/DownloadCartPage.module.scss +217 -0
  123. package/dist/components/DownloadCart/DownloadCartPage.module.scss.js +48 -0
  124. package/dist/components/DownloadCart/DownloadCartPage.module.scss.js.map +1 -0
  125. package/dist/components/DownloadCart/DownloadDetails.js +1 -1
  126. package/dist/components/DownloadCart/DownloadDetails.js.map +1 -1
  127. package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.js +33 -33
  128. package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.js.map +1 -1
  129. package/dist/components/DownloadCart/DownloadListTable.d.ts +4 -1
  130. package/dist/components/DownloadCart/DownloadListTable.d.ts.map +1 -1
  131. package/dist/components/DownloadCart/DownloadListTable.js +156 -236
  132. package/dist/components/DownloadCart/DownloadListTable.js.map +1 -1
  133. package/dist/components/DownloadCart/ShowDownloadV2.js +5 -5
  134. package/dist/components/DownloadCart/ShowDownloadV2.js.map +1 -1
  135. package/dist/components/Ecosystem/EcosystemSkeleton.js +8 -3
  136. package/dist/components/Ecosystem/EcosystemSkeleton.js.map +1 -1
  137. package/dist/components/EntityDownloadButton/EntityDownloadButton.d.ts +3 -0
  138. package/dist/components/EntityDownloadButton/EntityDownloadButton.d.ts.map +1 -1
  139. package/dist/components/EntityDownloadButton/EntityDownloadButton.js +113 -119
  140. package/dist/components/EntityDownloadButton/EntityDownloadButton.js.map +1 -1
  141. package/dist/components/EntityFinder/details/view/table/AddToDownloadListCell.js +3 -3
  142. package/dist/components/EntityFinder/details/view/table/AddToDownloadListCell.js.map +1 -1
  143. package/dist/components/FeaturedDataTabs/FacetPlotsCard.js +6 -2
  144. package/dist/components/FeaturedDataTabs/FacetPlotsCard.js.map +1 -1
  145. package/dist/components/FeaturedDataTabs/FeaturedDataTabs.js +11 -8
  146. package/dist/components/FeaturedDataTabs/FeaturedDataTabs.js.map +1 -1
  147. package/dist/components/FullWidthAlert/FullWidthAlert.d.ts +2 -2
  148. package/dist/components/FullWidthAlert/FullWidthAlert.js.map +1 -1
  149. package/dist/components/GenericCard/GenericCard.d.ts +5 -5
  150. package/dist/components/GenericCard/GenericCard.d.ts.map +1 -1
  151. package/dist/components/GenericCard/GenericCard.js +117 -103
  152. package/dist/components/GenericCard/GenericCard.js.map +1 -1
  153. package/dist/components/GenericCard/LabelMaybeWithIcon.d.ts +10 -0
  154. package/dist/components/GenericCard/LabelMaybeWithIcon.d.ts.map +1 -0
  155. package/dist/components/GenericCard/LabelMaybeWithIcon.js +33 -0
  156. package/dist/components/GenericCard/LabelMaybeWithIcon.js.map +1 -0
  157. package/dist/components/GenericCard/SynapseCardLabel.d.ts +2 -1
  158. package/dist/components/GenericCard/SynapseCardLabel.d.ts.map +1 -1
  159. package/dist/components/GenericCard/SynapseCardLabel.js +86 -81
  160. package/dist/components/GenericCard/SynapseCardLabel.js.map +1 -1
  161. package/dist/components/GenericCard/TableRowGenericCard.d.ts +7 -1
  162. package/dist/components/GenericCard/TableRowGenericCard.d.ts.map +1 -1
  163. package/dist/components/GenericCard/TableRowGenericCard.js +239 -202
  164. package/dist/components/GenericCard/TableRowGenericCard.js.map +1 -1
  165. package/dist/components/HeaderCard.js +17 -13
  166. package/dist/components/HeaderCard.js.map +1 -1
  167. package/dist/components/Icon/Icon.js +52 -52
  168. package/dist/components/Icon/Icon.js.map +1 -1
  169. package/dist/components/IconSvg/IconSvg.d.ts +1 -1
  170. package/dist/components/IconSvg/IconSvg.d.ts.map +1 -1
  171. package/dist/components/IconSvg/IconSvg.js +215 -171
  172. package/dist/components/IconSvg/IconSvg.js.map +1 -1
  173. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts +1 -0
  174. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts.map +1 -1
  175. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js +103 -102
  176. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js.map +1 -1
  177. package/dist/components/StorybookComponentWrapper.js +6 -3
  178. package/dist/components/StorybookComponentWrapper.js.map +1 -1
  179. package/dist/components/SynapseChat/SynapseChat.d.ts +7 -1
  180. package/dist/components/SynapseChat/SynapseChat.d.ts.map +1 -1
  181. package/dist/components/SynapseChat/SynapseChat.js +76 -67
  182. package/dist/components/SynapseChat/SynapseChat.js.map +1 -1
  183. package/dist/components/SynapseChat/SynapseChatInteraction.d.ts +2 -1
  184. package/dist/components/SynapseChat/SynapseChatInteraction.d.ts.map +1 -1
  185. package/dist/components/SynapseChat/SynapseChatInteraction.js +83 -58
  186. package/dist/components/SynapseChat/SynapseChatInteraction.js.map +1 -1
  187. package/dist/components/SynapseChat/SynapseChatMessage.d.ts +1 -0
  188. package/dist/components/SynapseChat/SynapseChatMessage.d.ts.map +1 -1
  189. package/dist/components/SynapseChat/SynapseChatMessage.js +16 -15
  190. package/dist/components/SynapseChat/SynapseChatMessage.js.map +1 -1
  191. package/dist/components/SynapseChat/SynapsePortalChatDialog.d.ts +12 -0
  192. package/dist/components/SynapseChat/SynapsePortalChatDialog.d.ts.map +1 -0
  193. package/dist/components/SynapseChat/SynapsePortalChatDialog.js +30 -0
  194. package/dist/components/SynapseChat/SynapsePortalChatDialog.js.map +1 -0
  195. package/dist/components/SynapseChat/extractMessageFromTraceEvent.d.ts.map +1 -1
  196. package/dist/components/SynapseChat/extractMessageFromTraceEvent.js +22 -16
  197. package/dist/components/SynapseChat/extractMessageFromTraceEvent.js.map +1 -1
  198. package/dist/components/SynapseChat/index.d.ts +2 -0
  199. package/dist/components/SynapseChat/index.d.ts.map +1 -1
  200. package/dist/components/SynapseChat/index.js +5 -3
  201. package/dist/components/SynapseChat/index.js.map +1 -1
  202. package/dist/components/SynapseChat/useChatState.d.ts +1 -1
  203. package/dist/components/SynapseChat/useChatState.d.ts.map +1 -1
  204. package/dist/components/SynapseChat/useChatState.js +10 -7
  205. package/dist/components/SynapseChat/useChatState.js.map +1 -1
  206. package/dist/components/SynapseHomepageV2/SynapseHomepageChatSearch.d.ts.map +1 -1
  207. package/dist/components/SynapseHomepageV2/SynapseHomepageChatSearch.js +30 -32
  208. package/dist/components/SynapseHomepageV2/SynapseHomepageChatSearch.js.map +1 -1
  209. package/dist/components/SynapseHomepageV2/SynapseHomepageSearch.d.ts.map +1 -1
  210. package/dist/components/SynapseHomepageV2/SynapseHomepageSearch.js +27 -30
  211. package/dist/components/SynapseHomepageV2/SynapseHomepageSearch.js.map +1 -1
  212. package/dist/components/SynapseHomepageV2/SynapseSearchChips.d.ts.map +1 -1
  213. package/dist/components/SynapseHomepageV2/SynapseSearchChips.js +14 -17
  214. package/dist/components/SynapseHomepageV2/SynapseSearchChips.js.map +1 -1
  215. package/dist/components/SynapseNavDrawer/SynapseNavDrawer.d.ts.map +1 -1
  216. package/dist/components/SynapseNavDrawer/SynapseNavDrawer.js +114 -115
  217. package/dist/components/SynapseNavDrawer/SynapseNavDrawer.js.map +1 -1
  218. package/dist/components/SynapsePortalBanners/SynapsePortalBanners.d.ts.map +1 -1
  219. package/dist/components/SynapsePortalBanners/SynapsePortalBanners.js +39 -39
  220. package/dist/components/SynapsePortalBanners/SynapsePortalBanners.js.map +1 -1
  221. package/dist/components/SynapseSearchPageResults/SearchPagePortalBanners.js +18 -18
  222. package/dist/components/SynapseSearchPageResults/SearchPagePortalBanners.js.map +1 -1
  223. package/dist/components/SynapseSearchPageResults/SynapseSearchResultsCard.d.ts.map +1 -1
  224. package/dist/components/SynapseSearchPageResults/SynapseSearchResultsCard.js +66 -64
  225. package/dist/components/SynapseSearchPageResults/SynapseSearchResultsCard.js.map +1 -1
  226. package/dist/components/SynapseTable/RowSelection/RowSelectionControls.js +13 -13
  227. package/dist/components/SynapseTable/RowSelection/RowSelectionControls.js.map +1 -1
  228. package/dist/components/SynapseTable/TopLevelControls/TopLevelControlsUtils.js +9 -9
  229. package/dist/components/SynapseTable/TopLevelControls/TopLevelControlsUtils.js.map +1 -1
  230. package/dist/components/TextToComponentCollapse.d.ts +16 -0
  231. package/dist/components/TextToComponentCollapse.d.ts.map +1 -0
  232. package/dist/components/TextToComponentCollapse.js +29 -0
  233. package/dist/components/TextToComponentCollapse.js.map +1 -0
  234. package/dist/components/download_list/AddToDownloadListConfirmationAlert/AddToDownloadListConfirmationAlert.js +8 -3
  235. package/dist/components/download_list/AddToDownloadListConfirmationAlert/AddToDownloadListConfirmationAlert.js.map +1 -1
  236. package/dist/components/download_list/DownloadConfirmationUI.d.ts +1 -1
  237. package/dist/components/download_list/DownloadConfirmationUI.js +22 -22
  238. package/dist/components/download_list/DownloadConfirmationUI.js.map +1 -1
  239. package/dist/components/download_list/DownloadConfirmationUtils.js +4 -4
  240. package/dist/components/download_list/DownloadConfirmationUtils.js.map +1 -1
  241. package/dist/components/index.js +85 -83
  242. package/dist/components/index.js.map +1 -1
  243. package/dist/components/row_renderers/ObservationCard.js +12 -11
  244. package/dist/components/row_renderers/ObservationCard.js.map +1 -1
  245. package/dist/components/row_renderers/utils/CardFooter.d.ts +1 -3
  246. package/dist/components/row_renderers/utils/CardFooter.d.ts.map +1 -1
  247. package/dist/components/row_renderers/utils/CardFooter.js +31 -45
  248. package/dist/components/row_renderers/utils/CardFooter.js.map +1 -1
  249. package/dist/components/table/CsvPreview/CsvPreview.js +8 -3
  250. package/dist/components/table/CsvPreview/CsvPreview.js.map +1 -1
  251. package/dist/components/table/CsvPreview/CsvPreviewDialog.js +8 -3
  252. package/dist/components/table/CsvPreview/CsvPreviewDialog.js.map +1 -1
  253. package/dist/features/curator/GridPage/GridPage.js +8 -3
  254. package/dist/features/curator/GridPage/GridPage.js.map +1 -1
  255. package/dist/features/curator/GridPage/components/GridPageTitle.js +8 -3
  256. package/dist/features/curator/GridPage/components/GridPageTitle.js.map +1 -1
  257. package/dist/index.js +137 -135
  258. package/dist/index.js.map +1 -1
  259. package/dist/style/abstracts/_functions.scss +0 -0
  260. package/dist/style/abstracts/_mixins.scss +0 -0
  261. package/dist/style/abstracts/_variables.scss +0 -0
  262. package/dist/style/base/_base.scss +0 -0
  263. package/dist/style/base/_fonts.scss +0 -0
  264. package/dist/style/base/_helpers.scss +0 -0
  265. package/dist/style/components/_all.scss +0 -1
  266. package/dist/style/components/_cards.scss +22 -0
  267. package/dist/style/components/_download-list-v2.scss +1 -1
  268. package/dist/style/components/_query-wrapper-plot-nav.scss +13 -0
  269. package/dist/style/main.css +1 -1
  270. package/dist/style/main.scss +0 -0
  271. package/dist/style/vendors/_normalize.scss +0 -0
  272. package/dist/tsconfig.build.tsbuildinfo +1 -1
  273. package/dist/utils/AppUtils/session/ApplicationSessionManager.d.ts.map +1 -1
  274. package/dist/utils/AppUtils/session/ApplicationSessionManager.js.map +1 -1
  275. package/dist/utils/context/FullContextProvider.js +9 -9
  276. package/dist/utils/context/FullContextProvider.js.map +1 -1
  277. package/dist/utils/context/SynapseContext.d.ts.map +1 -1
  278. package/dist/utils/context/SynapseContext.js +1 -0
  279. package/dist/utils/context/SynapseContext.js.map +1 -1
  280. package/dist/utils/functions/SqlFunctions.d.ts +4 -0
  281. package/dist/utils/functions/SqlFunctions.d.ts.map +1 -1
  282. package/dist/utils/functions/SqlFunctions.js +25 -23
  283. package/dist/utils/functions/SqlFunctions.js.map +1 -1
  284. package/package.json +25 -24
  285. package/dist/assets/themed_icons/Challenge.d.ts +0 -3
  286. package/dist/assets/themed_icons/Challenge.d.ts.map +0 -1
  287. package/dist/assets/themed_icons/Challenge.js +0 -25
  288. package/dist/assets/themed_icons/Challenge.js.map +0 -1
  289. package/dist/style/components/_download-cart-page.scss +0 -204
@@ -1 +1 @@
1
- {"version":3,"file":"SynapseNavDrawer.js","sources":["../../../src/components/SynapseNavDrawer/SynapseNavDrawer.tsx"],"sourcesContent":["import React from 'react'\nimport SynapseIconWhite from '@/assets/icons/SynapseIconWhite'\nimport SynapseLogoName from '@/assets/icons/SynapseLogoName'\nimport {\n useGetCurrentUserBundle,\n useGetDownloadListStatistics,\n useSearchAccessSubmissionsInfinite,\n} from '@/synapse-queries'\nimport {\n storeRedirectURLForOneSageLoginAndGotoURL,\n useApplicationSessionContext,\n useSynapseContext,\n} from '@/utils'\nimport { useOneSageURL } from '@/utils/hooks/useOneSageURL'\nimport {\n Badge,\n Drawer,\n InputAdornment,\n List,\n ListItemButton,\n TextField,\n Tooltip,\n} from '@mui/material'\nimport {\n Direction,\n SubmissionSortField,\n SubmissionState,\n FeatureFlagEnum,\n} from '@sage-bionetworks/synapse-types'\nimport { KeyboardEvent, ReactNode, useState } from 'react'\nimport { CreateProjectModal } from '../CreateProjectModal/CreateProjectModal'\nimport IconSvg, { IconName } from '../IconSvg/IconSvg'\nimport { PLANS_LINK } from '../SynapseHomepageV2/SynapseHomepageNavBar'\nimport UserCard from '../UserCard/UserCard'\nimport { useGetFeatureFlag } from '@/synapse-queries/featureflags/useGetFeatureFlag'\nimport { DEFAULT_SEARCH_QUERY } from '@/utils/searchDefaults'\n\nexport type SynapseNavDrawerProps = {\n initIsOpen?: boolean\n gotoPlace: (href: string) => void\n}\n\ntype MenuItemParams = {\n tooltip: string\n iconName?: IconName\n onClickOpenNavMenu?: NavItem\n onClickGoToPlace?: () => void\n additionalChildren?: ReactNode\n badgeContent?: string | number\n isCurrentlySelectedItem?: boolean\n handleDrawerClose: () => void\n handleDrawerOpen: (navItem?: NavItem) => void\n}\n\nexport enum NavItem {\n PROJECTS,\n FAVORITES,\n TEAMS,\n CHALLENGES,\n DOWNLOADS,\n SEARCH,\n PROFILE,\n HELP,\n}\n\nexport const getSearchToken = (queryTerm: string[]) => {\n const searchQuery = {\n ...DEFAULT_SEARCH_QUERY,\n queryTerm,\n }\n return encodeURIComponent(JSON.stringify(searchQuery))\n}\n\nconst projectSearchJson = {\n // To support project search, we send this json object in the url.\n // We update the queryTerm array based on user input.\n ...DEFAULT_SEARCH_QUERY,\n booleanQuery: [\n {\n key: 'node_type',\n value: 'project',\n },\n ],\n}\nconst getProjectSearchToken = (queryTerm: string[]) => {\n const searchQuery = {\n ...projectSearchJson,\n queryTerm,\n }\n return encodeURIComponent(JSON.stringify(searchQuery))\n}\n\nconst NavDrawerListItem = (props: MenuItemParams): React.ReactNode => {\n const {\n tooltip,\n iconName,\n onClickOpenNavMenu,\n onClickGoToPlace,\n additionalChildren,\n badgeContent,\n isCurrentlySelectedItem = false,\n handleDrawerClose,\n handleDrawerOpen,\n } = props\n const handler =\n isCurrentlySelectedItem || onClickGoToPlace\n ? handleDrawerClose\n : () => {\n handleDrawerOpen(onClickOpenNavMenu)\n }\n const item = iconName ? (\n <>\n <IconSvg icon={iconName} /> {additionalChildren}{' '}\n </>\n ) : (\n additionalChildren\n )\n\n const listItem = (\n <Tooltip title={tooltip} placement=\"right\">\n <ListItemButton\n key={iconName}\n onClick={handler}\n className=\"SRC-whiteText\"\n selected={isCurrentlySelectedItem}\n >\n <Badge badgeContent={badgeContent} color=\"secondary\">\n {item}\n </Badge>\n </ListItemButton>\n </Tooltip>\n )\n\n return onClickGoToPlace ? (\n <li>\n <a\n onClick={onClickGoToPlace}\n rel=\"noopener noreferrer\"\n className=\"SRC-whiteText\"\n >\n {listItem}\n </a>\n </li>\n ) : (\n <li>{listItem}</li>\n )\n}\n\n/**\n * Displays the Synapse navigational drawer on the left side of the page. Has links to various areas if logged in.\n */\nexport function SynapseNavDrawer({\n initIsOpen = false,\n gotoPlace,\n}: SynapseNavDrawerProps) {\n const [isOpen, setOpen] = useState(initIsOpen)\n const [selectedItem, setSelectedItem] = useState<NavItem>()\n const [projectSearchText, setProjectSearchText] = useState<string>('')\n const [docSiteSearchText, setDocSiteSearchText] = useState<string>('')\n const [isShowingCreateProjectModal, setIsShowingCreateProjectModal] =\n useState<boolean>(false)\n\n const { clearSession } = useApplicationSessionContext()\n\n const { isAuthenticated } = useSynapseContext()\n\n const { data: currentUserBundle } = useGetCurrentUserBundle()\n\n // If the user is logged out, the UserBundle provides an \"anonymous\" user profile, so override that case with undefined\n const currentUserProfile =\n isAuthenticated && currentUserBundle\n ? currentUserBundle.userProfile\n : undefined\n\n const { data: downloadListStatistics } = useGetDownloadListStatistics({\n enabled: isAuthenticated,\n })\n\n const numberOfFilesInDownloadList = downloadListStatistics?.totalNumberOfFiles\n\n const searchV2Enabled = useGetFeatureFlag(FeatureFlagEnum.SEARCHV2_ENABLED)\n\n const { data: openSubmissionData } = useSearchAccessSubmissionsInfinite(\n {\n submissionState: SubmissionState.SUBMITTED,\n sort: [\n {\n field: SubmissionSortField.CREATED_ON,\n direction: Direction.DESC,\n },\n ],\n },\n {\n enabled: currentUserBundle?.isARReviewer,\n },\n )\n\n let countOfOpenSubmissionsForReview: number | string =\n openSubmissionData?.pages[0].results.length ?? 0\n if (openSubmissionData?.pages[0].nextPageToken) {\n countOfOpenSubmissionsForReview = `${countOfOpenSubmissionsForReview}+`\n }\n\n const handleDrawerOpen = (navItem?: NavItem) => {\n setOpen(true)\n setSelectedItem(navItem)\n }\n\n const handleDrawerClose = () => {\n setOpen(false)\n setSelectedItem(undefined)\n }\n\n const onProjectSearch = (searchTerm: string) => {\n if (searchV2Enabled) {\n gotoPlace(\n `/SearchV2:default?query=${getProjectSearchToken(\n searchTerm.split(/[ ,]+/),\n )}`,\n )\n } else {\n gotoPlace(`/Search:${getProjectSearchToken(searchTerm.split(/[ ,]+/))}`)\n }\n }\n\n const oneSageURL = useOneSageURL()\n const accountSettingsURL = useOneSageURL('/authenticated/myaccount')\n\n return (\n <>\n <div className=\"SynapseNavDrawer\">\n <Drawer\n variant=\"permanent\"\n className={`SynapseNavDrawerMenu ${isOpen ? 'tempDrawerOpen' : ''}`}\n >\n <div onClick={handleDrawerClose}>\n <a\n className=\"synapseIcon\"\n rel=\"noopener noreferrer\"\n onClick={() => gotoPlace('/Home:x')}\n aria-label=\"Synapse Home\"\n >\n <SynapseIconWhite />\n </a>\n </div>\n <List>\n {isAuthenticated && currentUserProfile && (\n <>\n <NavDrawerListItem\n tooltip=\"Projects\"\n iconName=\"dashboard\"\n onClickOpenNavMenu={NavItem.PROJECTS}\n isCurrentlySelectedItem={selectedItem == NavItem.PROJECTS}\n handleDrawerClose={handleDrawerClose}\n handleDrawerOpen={handleDrawerOpen}\n />\n <NavDrawerListItem\n tooltip=\"Favorites\"\n iconName=\"favTwoTone\"\n onClickGoToPlace={() =>\n gotoPlace(\n `/Profile:${currentUserProfile.ownerId}/favorites`,\n )\n }\n handleDrawerClose={handleDrawerClose}\n handleDrawerOpen={handleDrawerOpen}\n />\n <NavDrawerListItem\n tooltip=\"Teams\"\n iconName=\"peopleTwoTone\"\n onClickGoToPlace={() =>\n gotoPlace(`/Profile:${currentUserProfile.ownerId}/teams`)\n }\n handleDrawerClose={handleDrawerClose}\n handleDrawerOpen={handleDrawerOpen}\n />\n <NavDrawerListItem\n tooltip=\"Challenges\"\n iconName=\"challengesTwoTone\"\n onClickGoToPlace={() =>\n gotoPlace(\n `/Profile:${currentUserProfile.ownerId}/challenges`,\n )\n }\n handleDrawerClose={handleDrawerClose}\n handleDrawerOpen={handleDrawerOpen}\n />\n <NavDrawerListItem\n tooltip=\"Download Cart\"\n iconName=\"download\"\n onClickGoToPlace={() => gotoPlace('/DownloadCart:0')}\n badgeContent={numberOfFilesInDownloadList}\n handleDrawerClose={handleDrawerClose}\n handleDrawerOpen={handleDrawerOpen}\n />\n <NavDrawerListItem\n tooltip=\"Trash Can\"\n iconName=\"delete\"\n onClickGoToPlace={() => gotoPlace('/Trash:0')}\n handleDrawerClose={handleDrawerClose}\n handleDrawerOpen={handleDrawerOpen}\n />\n {currentUserBundle?.isARReviewer && (\n <NavDrawerListItem\n tooltip=\"Data Access Management\"\n iconName=\"accessManagement\"\n onClickGoToPlace={() =>\n gotoPlace('/DataAccessManagement:default/Submissions')\n }\n badgeContent={countOfOpenSubmissionsForReview}\n handleDrawerClose={handleDrawerClose}\n handleDrawerOpen={handleDrawerOpen}\n />\n )}\n </>\n )}\n <NavDrawerListItem\n tooltip=\"Search\"\n iconName=\"search\"\n onClickGoToPlace={() =>\n gotoPlace(searchV2Enabled ? '/SearchV2:default' : '/Search:')\n }\n handleDrawerClose={handleDrawerClose}\n handleDrawerOpen={handleDrawerOpen}\n />\n </List>\n <div className=\"filler\" />\n <List>\n {isAuthenticated && currentUserProfile && (\n <NavDrawerListItem\n tooltip=\"Your Account\"\n onClickOpenNavMenu={NavItem.PROFILE}\n additionalChildren={\n <UserCard\n userProfile={currentUserProfile}\n size=\"AVATAR\"\n avatarSize=\"SMALL\"\n />\n }\n isCurrentlySelectedItem={selectedItem == NavItem.PROFILE}\n handleDrawerClose={handleDrawerClose}\n handleDrawerOpen={handleDrawerOpen}\n />\n )}\n {!isAuthenticated && (\n <NavDrawerListItem\n tooltip=\"Sign in\"\n iconName=\"login\"\n onClickGoToPlace={() =>\n storeRedirectURLForOneSageLoginAndGotoURL(\n oneSageURL.toString(),\n )\n }\n handleDrawerClose={handleDrawerClose}\n handleDrawerOpen={handleDrawerOpen}\n />\n )}\n <NavDrawerListItem\n tooltip=\"Help\"\n iconName=\"helpOutlined\"\n onClickOpenNavMenu={NavItem.HELP}\n isCurrentlySelectedItem={selectedItem == NavItem.HELP}\n handleDrawerClose={handleDrawerClose}\n handleDrawerOpen={handleDrawerOpen}\n />\n </List>\n </Drawer>\n <Drawer\n variant=\"temporary\"\n open={isOpen}\n className={`SynapseNavContentDrawer`}\n onClose={handleDrawerClose}\n >\n <div className=\"synapseLogoNameContainer\">\n <SynapseLogoName />\n </div>\n <div className=\"navContentContainer\">\n {selectedItem == NavItem.PROJECTS && (\n <>\n <div className=\"header projectHeader\">Projects</div>\n <Tooltip title=\"Create a New Project\" placement=\"right\">\n <a\n className=\"createProjectLink\"\n onClick={() => {\n setIsShowingCreateProjectModal(true)\n handleDrawerClose()\n }}\n >\n <IconSvg icon=\"addCircleOutline\" />\n </a>\n </Tooltip>\n <TextField\n type=\"search\"\n placeholder=\"Search All Projects\"\n value={projectSearchText}\n onChange={event => {\n setProjectSearchText(event.target.value)\n }}\n onKeyDown={(event: KeyboardEvent<HTMLInputElement>) => {\n if (event.key === 'Enter') {\n if ((event.target as HTMLInputElement).value !== '') {\n setProjectSearchText('')\n handleDrawerClose()\n onProjectSearch(\n (event.target as HTMLInputElement).value,\n )\n }\n }\n }}\n slotProps={{\n input: {\n startAdornment: (\n <InputAdornment position=\"start\">\n <IconSvg icon=\"searchOutlined\" />\n </InputAdornment>\n ),\n },\n }}\n />\n <div className=\"linkList\" onClick={handleDrawerClose}>\n <a\n className=\"SRC-whiteText\"\n onClick={() =>\n gotoPlace(\n `/Profile:${currentUserProfile?.ownerId}/projects/all`,\n )\n }\n rel=\"noopener noreferrer\"\n >\n All\n </a>\n <a\n className=\"SRC-whiteText\"\n onClick={() =>\n gotoPlace(\n `/Profile:${currentUserProfile?.ownerId}/projects/created_by_me`,\n )\n }\n rel=\"noopener noreferrer\"\n >\n Created By Me\n </a>\n <a\n className=\"SRC-whiteText\"\n onClick={() =>\n gotoPlace(\n `/Profile:${currentUserProfile?.ownerId}/projects/favorites`,\n )\n }\n rel=\"noopener noreferrer\"\n >\n Favorite Projects\n </a>\n <a\n className=\"SRC-whiteText\"\n onClick={() =>\n gotoPlace(\n `/Profile:${currentUserProfile?.ownerId}/projects/shared_directly_with_me`,\n )\n }\n rel=\"noopener noreferrer\"\n >\n Shared With Me\n </a>\n <a\n className=\"SRC-whiteText\"\n onClick={() =>\n gotoPlace(\n `/Profile:${currentUserProfile?.ownerId}/projects/all_my_team_projects`,\n )\n }\n rel=\"noopener noreferrer\"\n >\n Team Projects\n </a>\n </div>\n </>\n )}\n {selectedItem == NavItem.PROFILE && (\n <>\n <div className=\"header\">\n Welcome Back,\n <br />\n {currentUserProfile?.userName}!\n </div>\n <div className=\"linkList\" onClick={handleDrawerClose}>\n <a\n className=\"SRC-whiteText\"\n onClick={() =>\n gotoPlace(\n `/Profile:${currentUserProfile?.ownerId}/profile`,\n )\n }\n rel=\"noopener noreferrer\"\n >\n View Profile\n </a>\n <a\n className=\"SRC-whiteText\"\n href={accountSettingsURL.toString()}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n Account Settings\n </a>\n <a\n className=\"SRC-whiteText\"\n onClick={() => gotoPlace(`/RequestHistory:default`)}\n rel=\"noopener noreferrer\"\n >\n Access Requests\n </a>\n <a\n className=\"SRC-whiteText\"\n onClick={() => gotoPlace(`/Following:0`)}\n rel=\"noopener noreferrer\"\n >\n Following\n </a>\n <a\n className=\"SRC-whiteText\"\n onClick={() => {\n void clearSession()\n }}\n rel=\"noopener noreferrer\"\n >\n Sign Out\n </a>\n </div>\n </>\n )}\n {selectedItem == NavItem.HELP && (\n <>\n <div className=\"header\">Help</div>\n <TextField\n type=\"search\"\n placeholder=\"Search Documentation\"\n value={docSiteSearchText}\n onChange={event => {\n setDocSiteSearchText(event.target.value)\n }}\n onKeyDown={event => {\n if (event.key === 'Enter') {\n if ((event.target as HTMLInputElement).value !== '') {\n window.open(\n `https://help.synapse.org/search.html?max=10&s=docs&q=${encodeURI(\n (event.target as HTMLInputElement).value,\n )}`,\n )\n setDocSiteSearchText('')\n handleDrawerClose()\n }\n }\n }}\n slotProps={{\n input: {\n startAdornment: (\n <InputAdornment position=\"start\">\n <IconSvg icon=\"searchOutlined\" />\n </InputAdornment>\n ),\n },\n }}\n />\n\n <div className=\"linkList\" onClick={handleDrawerClose}>\n <a\n className=\"SRC-whiteText\"\n href=\"https://help.synapse.org/docs/Getting-Started.2055471150.html\"\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n >\n Getting Started\n </a>\n <a\n className=\"SRC-whiteText\"\n onClick={() => gotoPlace(PLANS_LINK)}\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n >\n Plans\n </a>\n <a\n className=\"SRC-whiteText\"\n href=\"https://help.synapse.org/docs/\"\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n >\n Synapse Web Documentation\n </a>\n <a\n className=\"SRC-whiteText\"\n href=\"https://python-docs.synapse.org/en/stable/\"\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n >\n Python Client Documentation\n </a>\n <a\n className=\"SRC-whiteText\"\n href=\"https://r-docs.synapse.org/\"\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n >\n R Client Documentation\n </a>\n <a\n className=\"SRC-whiteText\"\n href=\"https://blog.synapse.org/\"\n rel=\"noopener noreferrer\"\n >\n Blog\n </a>\n <a\n className=\"SRC-whiteText\"\n href=\"https://sagebionetworks.jira.com/servicedesk/customer/portals/\"\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n >\n Contact Us\n </a>\n </div>\n </>\n )}\n </div>\n </Drawer>\n </div>\n <CreateProjectModal\n onClose={() => setIsShowingCreateProjectModal(false)}\n isShowingModal={isShowingCreateProjectModal}\n />\n </>\n )\n}\n\nexport default SynapseNavDrawer\n"],"names":["NavItem","getSearchToken","queryTerm","searchQuery","DEFAULT_SEARCH_QUERY","projectSearchJson","getProjectSearchToken","NavDrawerListItem","props","tooltip","iconName","onClickOpenNavMenu","onClickGoToPlace","additionalChildren","badgeContent","isCurrentlySelectedItem","handleDrawerClose","handleDrawerOpen","listItem","jsx","Tooltip","ListItemButton","Badge","jsxs","Fragment","IconSvg","SynapseNavDrawer","initIsOpen","gotoPlace","isOpen","setOpen","useState","selectedItem","setSelectedItem","projectSearchText","setProjectSearchText","docSiteSearchText","setDocSiteSearchText","isShowingCreateProjectModal","setIsShowingCreateProjectModal","clearSession","useApplicationSessionContext","isAuthenticated","useSynapseContext","currentUserBundle","useGetCurrentUserBundle","currentUserProfile","downloadListStatistics","useGetDownloadListStatistics","numberOfFilesInDownloadList","searchV2Enabled","useGetFeatureFlag","FeatureFlagEnum","openSubmissionData","useSearchAccessSubmissionsInfinite","SubmissionState","SubmissionSortField","Direction","countOfOpenSubmissionsForReview","navItem","onProjectSearch","searchTerm","oneSageURL","useOneSageURL","accountSettingsURL","Drawer","SynapseIconWhite","List","UserCard","storeRedirectURLForOneSageLoginAndGotoURL","SynapseLogoName","TextField","event","InputAdornment","PLANS_LINK","CreateProjectModal"],"mappings":"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"}
1
+ {"version":3,"file":"SynapseNavDrawer.js","sources":["../../../src/components/SynapseNavDrawer/SynapseNavDrawer.tsx"],"sourcesContent":["import React from 'react'\nimport SynapseIconWhite from '@/assets/icons/SynapseIconWhite'\nimport SynapseLogoName from '@/assets/icons/SynapseLogoName'\nimport {\n useGetCurrentUserBundle,\n useGetDownloadListStatistics,\n useSearchAccessSubmissionsInfinite,\n} from '@/synapse-queries'\nimport {\n storeRedirectURLForOneSageLoginAndGotoURL,\n useApplicationSessionContext,\n useSynapseContext,\n} from '@/utils'\nimport { useOneSageURL } from '@/utils/hooks/useOneSageURL'\nimport {\n Badge,\n Drawer,\n InputAdornment,\n List,\n ListItemButton,\n TextField,\n Tooltip,\n} from '@mui/material'\nimport {\n Direction,\n SubmissionSortField,\n SubmissionState,\n} from '@sage-bionetworks/synapse-types'\nimport { KeyboardEvent, ReactNode, useState } from 'react'\nimport { CreateProjectModal } from '../CreateProjectModal/CreateProjectModal'\nimport IconSvg, { IconName } from '../IconSvg/IconSvg'\nimport { PLANS_LINK } from '../SynapseHomepageV2/SynapseHomepageNavBar'\nimport UserCard from '../UserCard/UserCard'\nimport { DEFAULT_SEARCH_QUERY } from '@/utils/searchDefaults'\n\nexport type SynapseNavDrawerProps = {\n initIsOpen?: boolean\n gotoPlace: (href: string) => void\n}\n\ntype MenuItemParams = {\n tooltip: string\n iconName?: IconName\n onClickOpenNavMenu?: NavItem\n onClickGoToPlace?: () => void\n additionalChildren?: ReactNode\n badgeContent?: string | number\n isCurrentlySelectedItem?: boolean\n handleDrawerClose: () => void\n handleDrawerOpen: (navItem?: NavItem) => void\n}\n\nexport enum NavItem {\n PROJECTS,\n FAVORITES,\n TEAMS,\n CHALLENGES,\n DOWNLOADS,\n SEARCH,\n PROFILE,\n HELP,\n}\n\nexport const getSearchToken = (queryTerm: string[]) => {\n const searchQuery = {\n ...DEFAULT_SEARCH_QUERY,\n queryTerm,\n }\n return encodeURIComponent(JSON.stringify(searchQuery))\n}\n\nconst projectSearchJson = {\n // To support project search, we send this json object in the url.\n // We update the queryTerm array based on user input.\n ...DEFAULT_SEARCH_QUERY,\n booleanQuery: [\n {\n key: 'node_type',\n value: 'project',\n },\n ],\n}\nconst getProjectSearchToken = (queryTerm: string[]) => {\n const searchQuery = {\n ...projectSearchJson,\n queryTerm,\n }\n return encodeURIComponent(JSON.stringify(searchQuery))\n}\n\nconst NavDrawerListItem = (props: MenuItemParams): React.ReactNode => {\n const {\n tooltip,\n iconName,\n onClickOpenNavMenu,\n onClickGoToPlace,\n additionalChildren,\n badgeContent,\n isCurrentlySelectedItem = false,\n handleDrawerClose,\n handleDrawerOpen,\n } = props\n const handler =\n isCurrentlySelectedItem || onClickGoToPlace\n ? handleDrawerClose\n : () => {\n handleDrawerOpen(onClickOpenNavMenu)\n }\n const item = iconName ? (\n <>\n <IconSvg icon={iconName} /> {additionalChildren}{' '}\n </>\n ) : (\n additionalChildren\n )\n\n const listItem = (\n <Tooltip title={tooltip} placement=\"right\">\n <ListItemButton\n key={iconName}\n onClick={handler}\n className=\"SRC-whiteText\"\n selected={isCurrentlySelectedItem}\n >\n <Badge badgeContent={badgeContent} color=\"secondary\">\n {item}\n </Badge>\n </ListItemButton>\n </Tooltip>\n )\n\n return onClickGoToPlace ? (\n <li>\n <a\n onClick={onClickGoToPlace}\n rel=\"noopener noreferrer\"\n className=\"SRC-whiteText\"\n >\n {listItem}\n </a>\n </li>\n ) : (\n <li>{listItem}</li>\n )\n}\n\n/**\n * Displays the Synapse navigational drawer on the left side of the page. Has links to various areas if logged in.\n */\nexport function SynapseNavDrawer({\n initIsOpen = false,\n gotoPlace,\n}: SynapseNavDrawerProps) {\n const [isOpen, setOpen] = useState(initIsOpen)\n const [selectedItem, setSelectedItem] = useState<NavItem>()\n const [projectSearchText, setProjectSearchText] = useState<string>('')\n const [docSiteSearchText, setDocSiteSearchText] = useState<string>('')\n const [isShowingCreateProjectModal, setIsShowingCreateProjectModal] =\n useState<boolean>(false)\n\n const { clearSession } = useApplicationSessionContext()\n\n const { isAuthenticated } = useSynapseContext()\n\n const { data: currentUserBundle } = useGetCurrentUserBundle()\n\n // If the user is logged out, the UserBundle provides an \"anonymous\" user profile, so override that case with undefined\n const currentUserProfile =\n isAuthenticated && currentUserBundle\n ? currentUserBundle.userProfile\n : undefined\n\n const { data: downloadListStatistics } = useGetDownloadListStatistics({\n enabled: isAuthenticated,\n })\n\n const numberOfFilesInDownloadList = downloadListStatistics?.totalNumberOfFiles\n\n const { data: openSubmissionData } = useSearchAccessSubmissionsInfinite(\n {\n submissionState: SubmissionState.SUBMITTED,\n sort: [\n {\n field: SubmissionSortField.CREATED_ON,\n direction: Direction.DESC,\n },\n ],\n },\n {\n enabled: currentUserBundle?.isARReviewer,\n },\n )\n\n let countOfOpenSubmissionsForReview: number | string =\n openSubmissionData?.pages[0].results.length ?? 0\n if (openSubmissionData?.pages[0].nextPageToken) {\n countOfOpenSubmissionsForReview = `${countOfOpenSubmissionsForReview}+`\n }\n\n const handleDrawerOpen = (navItem?: NavItem) => {\n setOpen(true)\n setSelectedItem(navItem)\n }\n\n const handleDrawerClose = () => {\n setOpen(false)\n setSelectedItem(undefined)\n }\n\n const onProjectSearch = (searchTerm: string) => {\n gotoPlace(\n `/SearchV2:default?query=${getProjectSearchToken(\n searchTerm.split(/[ ,]+/),\n )}`,\n )\n }\n\n const oneSageURL = useOneSageURL()\n const accountSettingsURL = useOneSageURL('/authenticated/myaccount')\n\n return (\n <>\n <div className=\"SynapseNavDrawer\">\n <Drawer\n variant=\"permanent\"\n className={`SynapseNavDrawerMenu ${isOpen ? 'tempDrawerOpen' : ''}`}\n >\n <div onClick={handleDrawerClose}>\n <a\n className=\"synapseIcon\"\n rel=\"noopener noreferrer\"\n onClick={() => gotoPlace('/Home:x')}\n aria-label=\"Synapse Home\"\n >\n <SynapseIconWhite />\n </a>\n </div>\n <List>\n {isAuthenticated && currentUserProfile && (\n <>\n <NavDrawerListItem\n tooltip=\"Projects\"\n iconName=\"dashboard\"\n onClickOpenNavMenu={NavItem.PROJECTS}\n isCurrentlySelectedItem={selectedItem == NavItem.PROJECTS}\n handleDrawerClose={handleDrawerClose}\n handleDrawerOpen={handleDrawerOpen}\n />\n <NavDrawerListItem\n tooltip=\"Favorites\"\n iconName=\"favTwoTone\"\n onClickGoToPlace={() =>\n gotoPlace(\n `/Profile:${currentUserProfile.ownerId}/favorites`,\n )\n }\n handleDrawerClose={handleDrawerClose}\n handleDrawerOpen={handleDrawerOpen}\n />\n <NavDrawerListItem\n tooltip=\"Teams\"\n iconName=\"peopleTwoTone\"\n onClickGoToPlace={() =>\n gotoPlace(`/Profile:${currentUserProfile.ownerId}/teams`)\n }\n handleDrawerClose={handleDrawerClose}\n handleDrawerOpen={handleDrawerOpen}\n />\n <NavDrawerListItem\n tooltip=\"Challenges\"\n iconName=\"challengesTwoTone\"\n onClickGoToPlace={() =>\n gotoPlace(\n `/Profile:${currentUserProfile.ownerId}/challenges`,\n )\n }\n handleDrawerClose={handleDrawerClose}\n handleDrawerOpen={handleDrawerOpen}\n />\n <NavDrawerListItem\n tooltip=\"Download List\"\n iconName=\"download\"\n onClickGoToPlace={() => gotoPlace('/DownloadCart:0')}\n badgeContent={numberOfFilesInDownloadList}\n handleDrawerClose={handleDrawerClose}\n handleDrawerOpen={handleDrawerOpen}\n />\n <NavDrawerListItem\n tooltip=\"Trash Can\"\n iconName=\"delete\"\n onClickGoToPlace={() => gotoPlace('/Trash:0')}\n handleDrawerClose={handleDrawerClose}\n handleDrawerOpen={handleDrawerOpen}\n />\n {currentUserBundle?.isARReviewer && (\n <NavDrawerListItem\n tooltip=\"Data Access Management\"\n iconName=\"accessManagement\"\n onClickGoToPlace={() =>\n gotoPlace('/DataAccessManagement:default/Submissions')\n }\n badgeContent={countOfOpenSubmissionsForReview}\n handleDrawerClose={handleDrawerClose}\n handleDrawerOpen={handleDrawerOpen}\n />\n )}\n </>\n )}\n <NavDrawerListItem\n tooltip=\"Search\"\n iconName=\"search\"\n onClickGoToPlace={() => gotoPlace('/SearchV2:default')}\n handleDrawerClose={handleDrawerClose}\n handleDrawerOpen={handleDrawerOpen}\n />\n </List>\n <div className=\"filler\" />\n <List>\n {isAuthenticated && currentUserProfile && (\n <NavDrawerListItem\n tooltip=\"Your Account\"\n onClickOpenNavMenu={NavItem.PROFILE}\n additionalChildren={\n <UserCard\n userProfile={currentUserProfile}\n size=\"AVATAR\"\n avatarSize=\"SMALL\"\n />\n }\n isCurrentlySelectedItem={selectedItem == NavItem.PROFILE}\n handleDrawerClose={handleDrawerClose}\n handleDrawerOpen={handleDrawerOpen}\n />\n )}\n {!isAuthenticated && (\n <NavDrawerListItem\n tooltip=\"Sign in\"\n iconName=\"login\"\n onClickGoToPlace={() =>\n storeRedirectURLForOneSageLoginAndGotoURL(\n oneSageURL.toString(),\n )\n }\n handleDrawerClose={handleDrawerClose}\n handleDrawerOpen={handleDrawerOpen}\n />\n )}\n <NavDrawerListItem\n tooltip=\"Help\"\n iconName=\"helpOutlined\"\n onClickOpenNavMenu={NavItem.HELP}\n isCurrentlySelectedItem={selectedItem == NavItem.HELP}\n handleDrawerClose={handleDrawerClose}\n handleDrawerOpen={handleDrawerOpen}\n />\n </List>\n </Drawer>\n <Drawer\n variant=\"temporary\"\n open={isOpen}\n className={`SynapseNavContentDrawer`}\n onClose={handleDrawerClose}\n >\n <div className=\"synapseLogoNameContainer\">\n <SynapseLogoName />\n </div>\n <div className=\"navContentContainer\">\n {selectedItem == NavItem.PROJECTS && (\n <>\n <div className=\"header projectHeader\">Projects</div>\n <Tooltip title=\"Create a New Project\" placement=\"right\">\n <a\n className=\"createProjectLink\"\n onClick={() => {\n setIsShowingCreateProjectModal(true)\n handleDrawerClose()\n }}\n >\n <IconSvg icon=\"addCircleOutline\" />\n </a>\n </Tooltip>\n <TextField\n type=\"search\"\n placeholder=\"Search All Projects\"\n value={projectSearchText}\n onChange={event => {\n setProjectSearchText(event.target.value)\n }}\n onKeyDown={(event: KeyboardEvent<HTMLInputElement>) => {\n if (event.key === 'Enter') {\n if ((event.target as HTMLInputElement).value !== '') {\n setProjectSearchText('')\n handleDrawerClose()\n onProjectSearch(\n (event.target as HTMLInputElement).value,\n )\n }\n }\n }}\n slotProps={{\n input: {\n startAdornment: (\n <InputAdornment position=\"start\">\n <IconSvg icon=\"searchOutlined\" />\n </InputAdornment>\n ),\n },\n }}\n />\n <div className=\"linkList\" onClick={handleDrawerClose}>\n <a\n className=\"SRC-whiteText\"\n onClick={() =>\n gotoPlace(\n `/Profile:${currentUserProfile?.ownerId}/projects/all`,\n )\n }\n rel=\"noopener noreferrer\"\n >\n All\n </a>\n <a\n className=\"SRC-whiteText\"\n onClick={() =>\n gotoPlace(\n `/Profile:${currentUserProfile?.ownerId}/projects/created_by_me`,\n )\n }\n rel=\"noopener noreferrer\"\n >\n Created By Me\n </a>\n <a\n className=\"SRC-whiteText\"\n onClick={() =>\n gotoPlace(\n `/Profile:${currentUserProfile?.ownerId}/projects/favorites`,\n )\n }\n rel=\"noopener noreferrer\"\n >\n Favorite Projects\n </a>\n <a\n className=\"SRC-whiteText\"\n onClick={() =>\n gotoPlace(\n `/Profile:${currentUserProfile?.ownerId}/projects/shared_directly_with_me`,\n )\n }\n rel=\"noopener noreferrer\"\n >\n Shared With Me\n </a>\n <a\n className=\"SRC-whiteText\"\n onClick={() =>\n gotoPlace(\n `/Profile:${currentUserProfile?.ownerId}/projects/all_my_team_projects`,\n )\n }\n rel=\"noopener noreferrer\"\n >\n Team Projects\n </a>\n </div>\n </>\n )}\n {selectedItem == NavItem.PROFILE && (\n <>\n <div className=\"header\">\n Welcome Back,\n <br />\n {currentUserProfile?.userName}!\n </div>\n <div className=\"linkList\" onClick={handleDrawerClose}>\n <a\n className=\"SRC-whiteText\"\n onClick={() =>\n gotoPlace(\n `/Profile:${currentUserProfile?.ownerId}/profile`,\n )\n }\n rel=\"noopener noreferrer\"\n >\n View Profile\n </a>\n <a\n className=\"SRC-whiteText\"\n href={accountSettingsURL.toString()}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n Account Settings\n </a>\n <a\n className=\"SRC-whiteText\"\n onClick={() => gotoPlace(`/RequestHistory:default`)}\n rel=\"noopener noreferrer\"\n >\n Access Requests\n </a>\n <a\n className=\"SRC-whiteText\"\n onClick={() => gotoPlace(`/Following:0`)}\n rel=\"noopener noreferrer\"\n >\n Following\n </a>\n <a\n className=\"SRC-whiteText\"\n onClick={() => {\n void clearSession()\n }}\n rel=\"noopener noreferrer\"\n >\n Sign Out\n </a>\n </div>\n </>\n )}\n {selectedItem == NavItem.HELP && (\n <>\n <div className=\"header\">Help</div>\n <TextField\n type=\"search\"\n placeholder=\"Search Documentation\"\n value={docSiteSearchText}\n onChange={event => {\n setDocSiteSearchText(event.target.value)\n }}\n onKeyDown={event => {\n if (event.key === 'Enter') {\n if ((event.target as HTMLInputElement).value !== '') {\n window.open(\n `https://help.synapse.org/search.html?max=10&s=docs&q=${encodeURI(\n (event.target as HTMLInputElement).value,\n )}`,\n )\n setDocSiteSearchText('')\n handleDrawerClose()\n }\n }\n }}\n slotProps={{\n input: {\n startAdornment: (\n <InputAdornment position=\"start\">\n <IconSvg icon=\"searchOutlined\" />\n </InputAdornment>\n ),\n },\n }}\n />\n\n <div className=\"linkList\" onClick={handleDrawerClose}>\n <a\n className=\"SRC-whiteText\"\n href=\"https://help.synapse.org/docs/Getting-Started.2055471150.html\"\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n >\n Getting Started\n </a>\n <a\n className=\"SRC-whiteText\"\n onClick={() => gotoPlace(PLANS_LINK)}\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n >\n Plans\n </a>\n <a\n className=\"SRC-whiteText\"\n href=\"https://help.synapse.org/docs/\"\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n >\n Synapse Web Documentation\n </a>\n <a\n className=\"SRC-whiteText\"\n href=\"https://python-docs.synapse.org/en/stable/\"\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n >\n Python Client Documentation\n </a>\n <a\n className=\"SRC-whiteText\"\n href=\"https://r-docs.synapse.org/\"\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n >\n R Client Documentation\n </a>\n <a\n className=\"SRC-whiteText\"\n href=\"https://blog.synapse.org/\"\n rel=\"noopener noreferrer\"\n >\n Blog\n </a>\n <a\n className=\"SRC-whiteText\"\n href=\"https://sagebionetworks.jira.com/servicedesk/customer/portals/\"\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n >\n Contact Us\n </a>\n </div>\n </>\n )}\n </div>\n </Drawer>\n </div>\n <CreateProjectModal\n onClose={() => setIsShowingCreateProjectModal(false)}\n isShowingModal={isShowingCreateProjectModal}\n />\n </>\n )\n}\n\nexport default SynapseNavDrawer\n"],"names":["NavItem","getSearchToken","queryTerm","searchQuery","DEFAULT_SEARCH_QUERY","projectSearchJson","getProjectSearchToken","NavDrawerListItem","props","tooltip","iconName","onClickOpenNavMenu","onClickGoToPlace","additionalChildren","badgeContent","isCurrentlySelectedItem","handleDrawerClose","handleDrawerOpen","listItem","jsx","Tooltip","ListItemButton","Badge","jsxs","Fragment","IconSvg","SynapseNavDrawer","initIsOpen","gotoPlace","isOpen","setOpen","useState","selectedItem","setSelectedItem","projectSearchText","setProjectSearchText","docSiteSearchText","setDocSiteSearchText","isShowingCreateProjectModal","setIsShowingCreateProjectModal","clearSession","useApplicationSessionContext","isAuthenticated","useSynapseContext","currentUserBundle","useGetCurrentUserBundle","currentUserProfile","downloadListStatistics","useGetDownloadListStatistics","numberOfFilesInDownloadList","openSubmissionData","useSearchAccessSubmissionsInfinite","SubmissionState","SubmissionSortField","Direction","countOfOpenSubmissionsForReview","navItem","onProjectSearch","searchTerm","oneSageURL","useOneSageURL","accountSettingsURL","Drawer","SynapseIconWhite","List","UserCard","storeRedirectURLForOneSageLoginAndGotoURL","SynapseLogoName","TextField","event","InputAdornment","PLANS_LINK","CreateProjectModal"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SynapsePortalBanners.d.ts","sourceRoot":"","sources":["../../../src/components/SynapsePortalBanners/SynapsePortalBanners.tsx"],"names":[],"mappings":"AAaA,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,EAAE,MAAM,CAAA;IAChB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,sBAAsB,CAAC,EAAE,MAAM,CAAA;CAChC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,EAC3C,QAAQ,EACR,mBAAmC,EACnC,sBAAsC,GACvC,EAAE,yBAAyB,2CA+I3B"}
1
+ {"version":3,"file":"SynapsePortalBanners.d.ts","sourceRoot":"","sources":["../../../src/components/SynapsePortalBanners/SynapsePortalBanners.tsx"],"names":[],"mappings":"AAaA,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,EAAE,MAAM,CAAA;IAChB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,sBAAsB,CAAC,EAAE,MAAM,CAAA;CAChC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,EAC3C,QAAQ,EACR,mBAAmC,EACnC,sBAAsC,GACvC,EAAE,yBAAyB,2CAkJ3B"}
@@ -1,11 +1,11 @@
1
- import { jsx as t, Fragment as R, jsxs as a } from "react/jsx-runtime";
1
+ import { jsx as t, Fragment as S, jsxs as n } from "react/jsx-runtime";
2
2
  import "../../synapse-client/SynapseClient.js";
3
3
  import "@sage-bionetworks/synapse-client/generated/models/ErrorResponseCode";
4
4
  import "@sage-bionetworks/synapse-client/generated/models/TwoFactorAuthErrorResponse";
5
5
  import "@sage-bionetworks/synapse-client/util/SynapseClientError";
6
- import { ColumnSingleValueFilterOperator as l } from "@sage-bionetworks/synapse-types";
6
+ import { ColumnSingleValueFilterOperator as u } from "@sage-bionetworks/synapse-types";
7
7
  import "../../utils/functions/EntityTypeUtils.js";
8
- import { BUNDLE_MASK_QUERY_RESULTS as S } from "../../utils/SynapseConstants.js";
8
+ import { BUNDLE_MASK_QUERY_RESULTS as A } from "../../utils/SynapseConstants.js";
9
9
  import "lodash-es";
10
10
  import "@sage-bionetworks/synapse-client/util/synapseClientFetch";
11
11
  import "@tanstack/react-query";
@@ -13,7 +13,7 @@ import "../../utils/PermissionLevelToAccessType.js";
13
13
  import "react";
14
14
  import "../../utils/context/SynapseContext.js";
15
15
  import "use-deep-compare-effect";
16
- import { Box as o, Typography as m } from "@mui/material";
16
+ import { Box as o, Typography as d } from "@mui/material";
17
17
  import "../../utils/hooks/useCookiePreferences.js";
18
18
  import { useSourceAppConfigs as v } from "../../utils/hooks/useSourceAppConfigs.js";
19
19
  import "universal-cookie";
@@ -28,46 +28,46 @@ import "lodash-es/xorWith";
28
28
  import "react-router";
29
29
  import "@sage-bionetworks/synapse-client";
30
30
  import "../../utils/types/IsType.js";
31
- import { useGetEntityPath as A } from "../../synapse-queries/entity/useEntity.js";
32
- import { useGetQueryResultBundleWithAsyncStatus as T } from "../../synapse-queries/entity/useGetQueryResultBundle.js";
33
- import { ChevronRightTwoTone as k } from "@mui/icons-material";
34
- function se({
35
- entityId: p,
36
- dataCatalogEntityId: s = "syn61609402",
37
- sourceAppConfigTableID: c = "syn45291362"
31
+ import { useGetEntityPath as T } from "../../synapse-queries/entity/useEntity.js";
32
+ import { useGetQueryResultBundleWithAsyncStatus as k } from "../../synapse-queries/entity/useGetQueryResultBundle.js";
33
+ import { ChevronRightTwoTone as F } from "@mui/icons-material";
34
+ function le({
35
+ entityId: s,
36
+ dataCatalogEntityId: l = "syn61609402",
37
+ sourceAppConfigTableID: f = "syn45291362"
38
38
  }) {
39
- const { data: r } = A(p), u = r ? r.path.map((e) => e.id).slice(1) : [p], d = r ? [
39
+ const { data: a } = T(s), m = a ? a.path.map((e) => e.id).slice(1) : [s], x = m ? [
40
40
  {
41
41
  concreteType: "org.sagebionetworks.repo.model.table.ColumnSingleValueQueryFilter",
42
42
  columnName: "id",
43
- operator: l.IN,
44
- values: u
43
+ operator: u.IN,
44
+ values: m
45
45
  }
46
- ] : [], { data: f } = T(
46
+ ] : [], { data: g } = k(
47
47
  {
48
- entityId: s,
48
+ entityId: l,
49
49
  query: {
50
- sql: `SELECT appId, link FROM ${s}`,
51
- additionalFilters: d
50
+ sql: `SELECT appId, link FROM ${l}`,
51
+ additionalFilters: x
52
52
  },
53
- partMask: S,
53
+ partMask: A,
54
54
  concreteType: "org.sagebionetworks.repo.model.table.QueryBundleRequest"
55
55
  },
56
56
  {
57
- enabled: !!r
57
+ enabled: !!a
58
58
  }
59
- ), n = f?.responseBody?.queryResult?.queryResults, x = !!n && n?.rows.length > 0, y = n?.rows.map((e) => e.values[0]), g = [
59
+ ), r = g?.responseBody?.queryResult?.queryResults, h = !!r && r?.rows.length > 0, i = r?.rows.map((e) => e.values[0]), c = i && i.length > 0, y = c ? [
60
60
  {
61
61
  concreteType: "org.sagebionetworks.repo.model.table.ColumnSingleValueQueryFilter",
62
62
  columnName: "appId",
63
- operator: l.EQUAL,
64
- values: y
63
+ operator: u.EQUAL,
64
+ values: i
65
65
  }
66
- ], i = v(
67
- c,
68
- g
69
- ), h = !!i && i.length > 0;
70
- return !x || !h ? /* @__PURE__ */ t(R, {}) : /* @__PURE__ */ t(
66
+ ] : [], p = v(
67
+ f,
68
+ y
69
+ ), w = !!p && p.length > 0;
70
+ return !c || !h || !w ? /* @__PURE__ */ t(S, {}) : /* @__PURE__ */ t(
71
71
  o,
72
72
  {
73
73
  sx: {
@@ -77,13 +77,13 @@ function se({
77
77
  width: "100%",
78
78
  alignItems: "center"
79
79
  },
80
- children: i.map((e, w) => {
81
- const b = n.rows.find((C) => C.values[0] === e.appId)?.values[1] || e.appURL;
82
- return /* @__PURE__ */ a(
80
+ children: p.map((e, b) => {
81
+ const C = r.rows.find((R) => R.values[0] === e.appId)?.values[1] || e.appURL;
82
+ return /* @__PURE__ */ n(
83
83
  o,
84
84
  {
85
85
  component: "a",
86
- href: b,
86
+ href: C,
87
87
  target: "_blank",
88
88
  rel: "noopener noreferrer",
89
89
  flex: 1,
@@ -106,7 +106,7 @@ function se({
106
106
  mb: "10px"
107
107
  },
108
108
  children: [
109
- /* @__PURE__ */ a(
109
+ /* @__PURE__ */ n(
110
110
  o,
111
111
  {
112
112
  flex: 1,
@@ -128,7 +128,7 @@ function se({
128
128
  children: e?.logo
129
129
  }
130
130
  ),
131
- /* @__PURE__ */ a(
131
+ /* @__PURE__ */ n(
132
132
  o,
133
133
  {
134
134
  sx: {
@@ -138,8 +138,8 @@ function se({
138
138
  mr: "10px"
139
139
  },
140
140
  children: [
141
- /* @__PURE__ */ t(m, { variant: "body1", sx: { fontWeight: 700 }, children: "This resource is part of a Portal" }),
142
- /* @__PURE__ */ a(m, { variant: "body1", children: [
141
+ /* @__PURE__ */ t(d, { variant: "body1", sx: { fontWeight: 700 }, children: "This resource is part of a Portal" }),
142
+ /* @__PURE__ */ n(d, { variant: "body1", children: [
143
143
  " ",
144
144
  "Access it on the ",
145
145
  e.friendlyName
@@ -150,16 +150,16 @@ function se({
150
150
  ]
151
151
  }
152
152
  ),
153
- /* @__PURE__ */ t(k, {})
153
+ /* @__PURE__ */ t(F, {})
154
154
  ]
155
155
  },
156
- w
156
+ b
157
157
  );
158
158
  })
159
159
  }
160
160
  );
161
161
  }
162
162
  export {
163
- se as default
163
+ le as default
164
164
  };
165
165
  //# sourceMappingURL=SynapsePortalBanners.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SynapsePortalBanners.js","sources":["../../../src/components/SynapsePortalBanners/SynapsePortalBanners.tsx"],"sourcesContent":["import {\n useGetEntityPath,\n useGetQueryResultBundleWithAsyncStatus,\n} from '@/synapse-queries'\nimport { useSourceAppConfigs } from '@/utils/hooks'\nimport { BUNDLE_MASK_QUERY_RESULTS } from '@/utils/SynapseConstants'\nimport { ChevronRightTwoTone } from '@mui/icons-material'\nimport { Box, Typography } from '@mui/material'\nimport {\n ColumnSingleValueQueryFilter,\n ColumnSingleValueFilterOperator,\n} from '@sage-bionetworks/synapse-types'\n\nexport type SynapsePortalBannersProps = {\n entityId: string\n dataCatalogEntityId?: string\n sourceAppConfigTableID?: string\n}\n\n/**\n *\n * @param props\n */\nexport default function SynapsePortalBanners({\n entityId,\n dataCatalogEntityId = 'syn61609402',\n sourceAppConfigTableID = 'syn45291362',\n}: SynapsePortalBannersProps) {\n const { data: entityPathData } = useGetEntityPath(entityId)\n // get all EntityHeader ids in the entity path data in a string array\n // Note: we remove the first item from entityPathData.path as it is always the root Synapse folder which we don't want to include\n const entityIdValues: string[] = entityPathData\n ? entityPathData.path.map(header => header.id).slice(1)\n : [entityId]\n\n const dataCatalogAdditionalFilters: ColumnSingleValueQueryFilter[] =\n entityPathData\n ? [\n {\n concreteType:\n 'org.sagebionetworks.repo.model.table.ColumnSingleValueQueryFilter',\n columnName: 'id',\n operator: ColumnSingleValueFilterOperator.IN,\n values: entityIdValues,\n },\n ]\n : []\n const { data: dataCatalogData } = useGetQueryResultBundleWithAsyncStatus(\n {\n entityId: dataCatalogEntityId,\n query: {\n sql: `SELECT appId, link FROM ${dataCatalogEntityId}`,\n additionalFilters: dataCatalogAdditionalFilters,\n },\n partMask: BUNDLE_MASK_QUERY_RESULTS,\n concreteType: 'org.sagebionetworks.repo.model.table.QueryBundleRequest',\n },\n {\n enabled: !!entityPathData,\n },\n )\n\n const rowSet = dataCatalogData?.responseBody?.queryResult?.queryResults\n const hasPortalBanners = !!rowSet && rowSet?.rows.length > 0\n\n const appIds = rowSet?.rows.map(row => row.values[0]) as string[]\n\n const sourceAppConfigFilters: ColumnSingleValueQueryFilter[] = [\n {\n concreteType:\n 'org.sagebionetworks.repo.model.table.ColumnSingleValueQueryFilter',\n columnName: 'appId',\n operator: ColumnSingleValueFilterOperator.EQUAL,\n values: appIds,\n },\n ]\n const sourceAppConfigs = useSourceAppConfigs(\n sourceAppConfigTableID,\n sourceAppConfigFilters,\n )\n const hasSourceAppConfigs = !!sourceAppConfigs && sourceAppConfigs.length > 0\n\n if (!hasPortalBanners || !hasSourceAppConfigs) {\n return <></>\n }\n\n // we have source app configs associated to this entity, let's render the banners\n return (\n <Box\n sx={{\n display: 'flex',\n flexWrap: 'wrap',\n gap: '20px',\n width: '100%',\n alignItems: 'center',\n }}\n >\n {sourceAppConfigs.map((appConfig, index) => {\n const dataCatalogRow = rowSet.rows.find(row => {\n return row.values[0] === appConfig.appId\n })\n const link = dataCatalogRow?.values[1] || appConfig.appURL\n return (\n <Box\n key={index}\n component=\"a\"\n href={link}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n flex={1}\n sx={{\n display: 'flex',\n flexWrap: 'nowrap',\n padding: '16px',\n justifyContent: 'space-between',\n border: '1px solid #ccc',\n borderRadius: '8px',\n backgroundColor: '#f9f9f9',\n textDecoration: 'none',\n pointer: 'cursor',\n '&:hover': {\n textDecoration: 'none !important',\n },\n width: '100%',\n alignItems: 'center',\n mt: '10px',\n mb: '10px',\n }}\n >\n <Box\n flex={1}\n sx={{\n display: 'flex',\n flexWrap: 'wrap',\n justifyContent: 'space-between',\n gap: '10px',\n }}\n >\n <Box\n sx={{\n '> *': {\n height: '60px',\n },\n }}\n >\n {appConfig?.logo}\n </Box>\n <Box\n sx={{\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n mr: '10px',\n }}\n >\n <Typography variant=\"body1\" sx={{ fontWeight: 700 }}>\n This resource is part of a Portal\n </Typography>\n <Typography variant=\"body1\">\n {' '}\n Access it on the {appConfig.friendlyName}\n </Typography>\n </Box>\n </Box>\n <ChevronRightTwoTone />\n </Box>\n )\n })}\n </Box>\n )\n}\n"],"names":["SynapsePortalBanners","entityId","dataCatalogEntityId","sourceAppConfigTableID","entityPathData","useGetEntityPath","entityIdValues","header","dataCatalogAdditionalFilters","ColumnSingleValueFilterOperator","dataCatalogData","useGetQueryResultBundleWithAsyncStatus","BUNDLE_MASK_QUERY_RESULTS","rowSet","hasPortalBanners","appIds","row","sourceAppConfigFilters","sourceAppConfigs","useSourceAppConfigs","hasSourceAppConfigs","jsx","Fragment","Box","appConfig","index","link","jsxs","Typography","ChevronRightTwoTone"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuBA,SAAwBA,GAAqB;AAAA,EAC3C,UAAAC;AAAA,EACA,qBAAAC,IAAsB;AAAA,EACtB,wBAAAC,IAAyB;AAC3B,GAA8B;AAC5B,QAAM,EAAE,MAAMC,MAAmBC,EAAiBJ,CAAQ,GAGpDK,IAA2BF,IAC7BA,EAAe,KAAK,IAAI,CAAAG,MAAUA,EAAO,EAAE,EAAE,MAAM,CAAC,IACpD,CAACN,CAAQ,GAEPO,IACJJ,IACI;AAAA,IACE;AAAA,MACE,cACE;AAAA,MACF,YAAY;AAAA,MACZ,UAAUK,EAAgC;AAAA,MAC1C,QAAQH;AAAA,IAAA;AAAA,EACV,IAEF,CAAA,GACA,EAAE,MAAMI,EAAA,IAAoBC;AAAA,IAChC;AAAA,MACE,UAAUT;AAAA,MACV,OAAO;AAAA,QACL,KAAK,2BAA2BA,CAAmB;AAAA,QACnD,mBAAmBM;AAAA,MAAA;AAAA,MAErB,UAAUI;AAAA,MACV,cAAc;AAAA,IAAA;AAAA,IAEhB;AAAA,MACE,SAAS,CAAC,CAACR;AAAA,IAAA;AAAA,EACb,GAGIS,IAASH,GAAiB,cAAc,aAAa,cACrDI,IAAmB,CAAC,CAACD,KAAUA,GAAQ,KAAK,SAAS,GAErDE,IAASF,GAAQ,KAAK,IAAI,OAAOG,EAAI,OAAO,CAAC,CAAC,GAE9CC,IAAyD;AAAA,IAC7D;AAAA,MACE,cACE;AAAA,MACF,YAAY;AAAA,MACZ,UAAUR,EAAgC;AAAA,MAC1C,QAAQM;AAAA,IAAA;AAAA,EACV,GAEIG,IAAmBC;AAAA,IACvBhB;AAAA,IACAc;AAAA,EAAA,GAEIG,IAAsB,CAAC,CAACF,KAAoBA,EAAiB,SAAS;AAE5E,SAAI,CAACJ,KAAoB,CAACM,IACjB,gBAAAC,EAAAC,GAAA,EAAE,IAKT,gBAAAD;AAAA,IAACE;AAAA,IAAA;AAAA,MACC,IAAI;AAAA,QACF,SAAS;AAAA,QACT,UAAU;AAAA,QACV,KAAK;AAAA,QACL,OAAO;AAAA,QACP,YAAY;AAAA,MAAA;AAAA,MAGb,UAAAL,EAAiB,IAAI,CAACM,GAAWC,MAAU;AAI1C,cAAMC,IAHiBb,EAAO,KAAK,KAAK,CAAAG,MAC/BA,EAAI,OAAO,CAAC,MAAMQ,EAAU,KACpC,GAC4B,OAAO,CAAC,KAAKA,EAAU;AACpD,eACE,gBAAAG;AAAA,UAACJ;AAAA,UAAA;AAAA,YAEC,WAAU;AAAA,YACV,MAAMG;AAAA,YACN,QAAO;AAAA,YACP,KAAI;AAAA,YACJ,MAAM;AAAA,YACN,IAAI;AAAA,cACF,SAAS;AAAA,cACT,UAAU;AAAA,cACV,SAAS;AAAA,cACT,gBAAgB;AAAA,cAChB,QAAQ;AAAA,cACR,cAAc;AAAA,cACd,iBAAiB;AAAA,cACjB,gBAAgB;AAAA,cAChB,SAAS;AAAA,cACT,WAAW;AAAA,gBACT,gBAAgB;AAAA,cAAA;AAAA,cAElB,OAAO;AAAA,cACP,YAAY;AAAA,cACZ,IAAI;AAAA,cACJ,IAAI;AAAA,YAAA;AAAA,YAGN,UAAA;AAAA,cAAA,gBAAAC;AAAA,gBAACJ;AAAA,gBAAA;AAAA,kBACC,MAAM;AAAA,kBACN,IAAI;AAAA,oBACF,SAAS;AAAA,oBACT,UAAU;AAAA,oBACV,gBAAgB;AAAA,oBAChB,KAAK;AAAA,kBAAA;AAAA,kBAGP,UAAA;AAAA,oBAAA,gBAAAF;AAAA,sBAACE;AAAA,sBAAA;AAAA,wBACC,IAAI;AAAA,0BACF,OAAO;AAAA,4BACL,QAAQ;AAAA,0BAAA;AAAA,wBACV;AAAA,wBAGD,UAAAC,GAAW;AAAA,sBAAA;AAAA,oBAAA;AAAA,oBAEd,gBAAAG;AAAA,sBAACJ;AAAA,sBAAA;AAAA,wBACC,IAAI;AAAA,0BACF,SAAS;AAAA,0BACT,eAAe;AAAA,0BACf,gBAAgB;AAAA,0BAChB,IAAI;AAAA,wBAAA;AAAA,wBAGN,UAAA;AAAA,0BAAA,gBAAAF,EAACO,GAAA,EAAW,SAAQ,SAAQ,IAAI,EAAE,YAAY,IAAA,GAAO,UAAA,oCAAA,CAErD;AAAA,0BACA,gBAAAD,EAACC,GAAA,EAAW,SAAQ,SACjB,UAAA;AAAA,4BAAA;AAAA,4BAAI;AAAA,4BACaJ,EAAU;AAAA,0BAAA,EAAA,CAC9B;AAAA,wBAAA;AAAA,sBAAA;AAAA,oBAAA;AAAA,kBACF;AAAA,gBAAA;AAAA,cAAA;AAAA,gCAEDK,GAAA,CAAA,CAAoB;AAAA,YAAA;AAAA,UAAA;AAAA,UA5DhBJ;AAAA,QAAA;AAAA,MA+DX,CAAC;AAAA,IAAA;AAAA,EAAA;AAGP;"}
1
+ {"version":3,"file":"SynapsePortalBanners.js","sources":["../../../src/components/SynapsePortalBanners/SynapsePortalBanners.tsx"],"sourcesContent":["import {\n useGetEntityPath,\n useGetQueryResultBundleWithAsyncStatus,\n} from '@/synapse-queries'\nimport { useSourceAppConfigs } from '@/utils/hooks'\nimport { BUNDLE_MASK_QUERY_RESULTS } from '@/utils/SynapseConstants'\nimport { ChevronRightTwoTone } from '@mui/icons-material'\nimport { Box, Typography } from '@mui/material'\nimport {\n ColumnSingleValueQueryFilter,\n ColumnSingleValueFilterOperator,\n} from '@sage-bionetworks/synapse-types'\n\nexport type SynapsePortalBannersProps = {\n entityId: string\n dataCatalogEntityId?: string\n sourceAppConfigTableID?: string\n}\n\n/**\n *\n * @param props\n */\nexport default function SynapsePortalBanners({\n entityId,\n dataCatalogEntityId = 'syn61609402',\n sourceAppConfigTableID = 'syn45291362',\n}: SynapsePortalBannersProps) {\n const { data: entityPathData } = useGetEntityPath(entityId)\n // get all EntityHeader ids in the entity path data in a string array\n // Note: we remove the first item from entityPathData.path as it is always the root Synapse folder which we don't want to include\n const entityIdValues: string[] = entityPathData\n ? entityPathData.path.map(header => header.id).slice(1)\n : [entityId]\n\n const dataCatalogAdditionalFilters: ColumnSingleValueQueryFilter[] =\n entityIdValues\n ? [\n {\n concreteType:\n 'org.sagebionetworks.repo.model.table.ColumnSingleValueQueryFilter',\n columnName: 'id',\n operator: ColumnSingleValueFilterOperator.IN,\n values: entityIdValues,\n },\n ]\n : []\n const { data: dataCatalogData } = useGetQueryResultBundleWithAsyncStatus(\n {\n entityId: dataCatalogEntityId,\n query: {\n sql: `SELECT appId, link FROM ${dataCatalogEntityId}`,\n additionalFilters: dataCatalogAdditionalFilters,\n },\n partMask: BUNDLE_MASK_QUERY_RESULTS,\n concreteType: 'org.sagebionetworks.repo.model.table.QueryBundleRequest',\n },\n {\n enabled: !!entityPathData,\n },\n )\n\n const rowSet = dataCatalogData?.responseBody?.queryResult?.queryResults\n const hasPortalBanners = !!rowSet && rowSet?.rows.length > 0\n\n const appIds = rowSet?.rows.map(row => row.values[0]) as string[]\n const hasAppIds = appIds && appIds.length > 0\n\n const sourceAppConfigFilters: ColumnSingleValueQueryFilter[] = hasAppIds\n ? [\n {\n concreteType:\n 'org.sagebionetworks.repo.model.table.ColumnSingleValueQueryFilter',\n columnName: 'appId',\n operator: ColumnSingleValueFilterOperator.EQUAL,\n values: appIds,\n },\n ]\n : []\n const sourceAppConfigs = useSourceAppConfigs(\n sourceAppConfigTableID,\n sourceAppConfigFilters,\n )\n const hasSourceAppConfigs = !!sourceAppConfigs && sourceAppConfigs.length > 0\n\n if (!hasAppIds || !hasPortalBanners || !hasSourceAppConfigs) {\n return <></>\n }\n\n // we have source app configs associated to this entity, let's render the banners\n return (\n <Box\n sx={{\n display: 'flex',\n flexWrap: 'wrap',\n gap: '20px',\n width: '100%',\n alignItems: 'center',\n }}\n >\n {sourceAppConfigs.map((appConfig, index) => {\n const dataCatalogRow = rowSet.rows.find(row => {\n return row.values[0] === appConfig.appId\n })\n const link = dataCatalogRow?.values[1] || appConfig.appURL\n return (\n <Box\n key={index}\n component=\"a\"\n href={link}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n flex={1}\n sx={{\n display: 'flex',\n flexWrap: 'nowrap',\n padding: '16px',\n justifyContent: 'space-between',\n border: '1px solid #ccc',\n borderRadius: '8px',\n backgroundColor: '#f9f9f9',\n textDecoration: 'none',\n pointer: 'cursor',\n '&:hover': {\n textDecoration: 'none !important',\n },\n width: '100%',\n alignItems: 'center',\n mt: '10px',\n mb: '10px',\n }}\n >\n <Box\n flex={1}\n sx={{\n display: 'flex',\n flexWrap: 'wrap',\n justifyContent: 'space-between',\n gap: '10px',\n }}\n >\n <Box\n sx={{\n '> *': {\n height: '60px',\n },\n }}\n >\n {appConfig?.logo}\n </Box>\n <Box\n sx={{\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n mr: '10px',\n }}\n >\n <Typography variant=\"body1\" sx={{ fontWeight: 700 }}>\n This resource is part of a Portal\n </Typography>\n <Typography variant=\"body1\">\n {' '}\n Access it on the {appConfig.friendlyName}\n </Typography>\n </Box>\n </Box>\n <ChevronRightTwoTone />\n </Box>\n )\n })}\n </Box>\n )\n}\n"],"names":["SynapsePortalBanners","entityId","dataCatalogEntityId","sourceAppConfigTableID","entityPathData","useGetEntityPath","entityIdValues","header","dataCatalogAdditionalFilters","ColumnSingleValueFilterOperator","dataCatalogData","useGetQueryResultBundleWithAsyncStatus","BUNDLE_MASK_QUERY_RESULTS","rowSet","hasPortalBanners","appIds","row","hasAppIds","sourceAppConfigFilters","sourceAppConfigs","useSourceAppConfigs","hasSourceAppConfigs","jsx","Fragment","Box","appConfig","index","link","jsxs","Typography","ChevronRightTwoTone"],"mappings":"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"}
@@ -13,7 +13,7 @@ import "../../utils/PermissionLevelToAccessType.js";
13
13
  import "react";
14
14
  import "../../utils/context/SynapseContext.js";
15
15
  import "use-deep-compare-effect";
16
- import { Box as l, Typography as S, Link as k } from "@mui/material";
16
+ import { Box as s, Typography as S, Link as k } from "@mui/material";
17
17
  import "../../utils/hooks/useCookiePreferences.js";
18
18
  import { useSourceAppConfigs as w } from "../../utils/hooks/useSourceAppConfigs.js";
19
19
  import "universal-cookie";
@@ -28,45 +28,45 @@ import "lodash-es/xorWith";
28
28
  import "react-router";
29
29
  import "@sage-bionetworks/synapse-client";
30
30
  import "../../utils/types/IsType.js";
31
- import { useGetQueryResultBundleWithAsyncStatus as R } from "../../synapse-queries/entity/useGetQueryResultBundle.js";
32
- function er({
33
- entityIds: e,
34
- dataCatalogEntityId: s = "syn61609402",
31
+ import { useGetQueryResultBundleWithAsyncStatus as A } from "../../synapse-queries/entity/useGetQueryResultBundle.js";
32
+ function or({
33
+ entityIds: o,
34
+ dataCatalogEntityId: l = "syn61609402",
35
35
  sourceAppConfigTableID: u = "syn45291362"
36
36
  }) {
37
- const c = e.length > 0 ? [
37
+ const c = o.length > 0 ? [
38
38
  {
39
39
  concreteType: "org.sagebionetworks.repo.model.table.ColumnSingleValueQueryFilter",
40
40
  columnName: "id",
41
41
  operator: m.IN,
42
- values: e
42
+ values: o
43
43
  }
44
- ] : [], { data: d } = R(
44
+ ] : [], { data: d } = A(
45
45
  {
46
- entityId: s,
46
+ entityId: l,
47
47
  query: {
48
- sql: `SELECT appId, link FROM ${s}`,
48
+ sql: `SELECT appId, link FROM ${l}`,
49
49
  additionalFilters: c
50
50
  },
51
51
  partMask: f,
52
52
  concreteType: "org.sagebionetworks.repo.model.table.QueryBundleRequest"
53
53
  },
54
54
  {
55
- enabled: e.length > 0
55
+ enabled: o.length > 0
56
56
  }
57
- ), o = d?.responseBody?.queryResult?.queryResults, g = !!o && o?.rows.length > 0, t = o?.rows.map((r) => r.values[0]), h = t && t.length > 0 ? [
57
+ ), t = d?.responseBody?.queryResult?.queryResults, g = !!t && t?.rows.length > 0, e = t?.rows.map((r) => r.values[0]), h = e && e.length > 0 ? [
58
58
  {
59
59
  concreteType: "org.sagebionetworks.repo.model.table.ColumnSingleValueQueryFilter",
60
60
  columnName: "appId",
61
61
  operator: m.IN,
62
- values: t
62
+ values: e
63
63
  }
64
64
  ] : [], i = w(
65
65
  u,
66
66
  h
67
67
  ), x = !!i && i.length > 0;
68
- return !g || !x ? null : /* @__PURE__ */ p(b, { children: i.map((r, y) => /* @__PURE__ */ a(
69
- l,
68
+ return !(e && e.length > 0) || !g || !x ? null : /* @__PURE__ */ p(b, { children: i.map((r, y) => /* @__PURE__ */ a(
69
+ s,
70
70
  {
71
71
  sx: {
72
72
  display: "flex",
@@ -81,7 +81,7 @@ function er({
81
81
  boxShadow: "0 4px 10px 0 rgba(0, 0, 0, 0.10), 0 1px 1px 0 rgba(0, 0, 0, 0.05)"
82
82
  },
83
83
  children: [
84
- /* @__PURE__ */ p(l, { children: /* @__PURE__ */ a(
84
+ /* @__PURE__ */ p(s, { children: /* @__PURE__ */ a(
85
85
  S,
86
86
  {
87
87
  variant: "smallText1",
@@ -114,7 +114,7 @@ function er({
114
114
  }
115
115
  ) }),
116
116
  /* @__PURE__ */ p(
117
- l,
117
+ s,
118
118
  {
119
119
  sx: {
120
120
  "> *": {
@@ -131,6 +131,6 @@ function er({
131
131
  )) });
132
132
  }
133
133
  export {
134
- er as default
134
+ or as default
135
135
  };
136
136
  //# sourceMappingURL=SearchPagePortalBanners.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SearchPagePortalBanners.js","sources":["../../../src/components/SynapseSearchPageResults/SearchPagePortalBanners.tsx"],"sourcesContent":["import { useGetQueryResultBundleWithAsyncStatus } from '@/synapse-queries'\nimport { useSourceAppConfigs } from '@/utils/hooks'\nimport { BUNDLE_MASK_QUERY_RESULTS } from '@/utils/SynapseConstants'\nimport { Box, Link, Typography } from '@mui/material'\nimport {\n ColumnSingleValueQueryFilter,\n ColumnSingleValueFilterOperator,\n} from '@sage-bionetworks/synapse-types'\n\nexport type SearchPagePortalBannersProps = {\n entityIds: string[]\n dataCatalogEntityId?: string\n sourceAppConfigTableID?: string\n}\n\n/**\n * Portal banner based on entities found in the first page of search results.\n */\nexport default function SearchPagePortalBanners({\n entityIds,\n dataCatalogEntityId = 'syn61609402',\n sourceAppConfigTableID = 'syn45291362',\n}: SearchPagePortalBannersProps) {\n // Query data catalog to find portal mappings for the entity IDs\n const dataCatalogAdditionalFilters: ColumnSingleValueQueryFilter[] =\n entityIds.length > 0\n ? [\n {\n concreteType:\n 'org.sagebionetworks.repo.model.table.ColumnSingleValueQueryFilter',\n columnName: 'id',\n operator: ColumnSingleValueFilterOperator.IN,\n values: entityIds,\n },\n ]\n : []\n\n const { data: dataCatalogData } = useGetQueryResultBundleWithAsyncStatus(\n {\n entityId: dataCatalogEntityId,\n query: {\n sql: `SELECT appId, link FROM ${dataCatalogEntityId}`,\n additionalFilters: dataCatalogAdditionalFilters,\n },\n partMask: BUNDLE_MASK_QUERY_RESULTS,\n concreteType: 'org.sagebionetworks.repo.model.table.QueryBundleRequest',\n },\n {\n enabled: entityIds.length > 0,\n },\n )\n\n const rowSet = dataCatalogData?.responseBody?.queryResult?.queryResults\n const hasPortalBanners = !!rowSet && rowSet?.rows.length > 0\n const appIds = rowSet?.rows.map(row => row.values[0]) as string[]\n\n // Get source app configurations for the found portal app IDs\n const sourceAppConfigFilters: ColumnSingleValueQueryFilter[] =\n appIds && appIds.length > 0\n ? [\n {\n concreteType:\n 'org.sagebionetworks.repo.model.table.ColumnSingleValueQueryFilter',\n columnName: 'appId',\n operator: ColumnSingleValueFilterOperator.IN,\n values: appIds,\n },\n ]\n : []\n\n const sourceAppConfigs = useSourceAppConfigs(\n sourceAppConfigTableID,\n sourceAppConfigFilters,\n )\n const hasSourceAppConfigs = !!sourceAppConfigs && sourceAppConfigs.length > 0\n\n if (!hasPortalBanners || !hasSourceAppConfigs) {\n return null\n }\n\n return (\n <>\n {sourceAppConfigs.map((appConfig, index) => {\n return (\n <Box\n key={index}\n sx={{\n display: 'flex',\n padding: '32px',\n backgroundColor: 'secondary.100',\n borderRadius: '8px',\n width: '100%',\n transition: 'background-color 0.3s',\n justifyContent: 'space-between',\n alignItems: 'center',\n gap: '50px',\n boxShadow:\n '0 4px 10px 0 rgba(0, 0, 0, 0.10), 0 1px 1px 0 rgba(0, 0, 0, 0.05)',\n }}\n >\n <Box>\n <Typography\n variant=\"smallText1\"\n sx={{ color: 'grey.900', mt: '4px', lineHeight: '20px' }}\n >\n Looks like you’re searching for information about{' '}\n {appConfig.shortDescription}{' '}\n <Link\n component={'a'}\n href={appConfig.appURL}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n sx={{\n color: theme => `${theme.palette.grey[900]} !important`,\n textDecorationColor: theme =>\n `${theme.palette.grey[900]} !important`,\n }}\n >\n Visit the {appConfig.friendlyName}\n </Link>\n . {appConfig.description}\n </Typography>\n </Box>\n <Box\n sx={{\n '> *': {\n height: '48px',\n width: 'auto',\n },\n }}\n >\n {appConfig?.logo}\n </Box>\n </Box>\n )\n })}\n </>\n )\n}\n"],"names":["SearchPagePortalBanners","entityIds","dataCatalogEntityId","sourceAppConfigTableID","dataCatalogAdditionalFilters","ColumnSingleValueFilterOperator","dataCatalogData","useGetQueryResultBundleWithAsyncStatus","BUNDLE_MASK_QUERY_RESULTS","rowSet","hasPortalBanners","appIds","row","sourceAppConfigFilters","sourceAppConfigs","useSourceAppConfigs","hasSourceAppConfigs","jsx","Fragment","appConfig","index","jsxs","Box","Typography","Link","theme"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,SAAwBA,GAAwB;AAAA,EAC9C,WAAAC;AAAA,EACA,qBAAAC,IAAsB;AAAA,EACtB,wBAAAC,IAAyB;AAC3B,GAAiC;AAE/B,QAAMC,IACJH,EAAU,SAAS,IACf;AAAA,IACE;AAAA,MACE,cACE;AAAA,MACF,YAAY;AAAA,MACZ,UAAUI,EAAgC;AAAA,MAC1C,QAAQJ;AAAA,IAAA;AAAA,EACV,IAEF,CAAA,GAEA,EAAE,MAAMK,EAAA,IAAoBC;AAAA,IAChC;AAAA,MACE,UAAUL;AAAA,MACV,OAAO;AAAA,QACL,KAAK,2BAA2BA,CAAmB;AAAA,QACnD,mBAAmBE;AAAA,MAAA;AAAA,MAErB,UAAUI;AAAA,MACV,cAAc;AAAA,IAAA;AAAA,IAEhB;AAAA,MACE,SAASP,EAAU,SAAS;AAAA,IAAA;AAAA,EAC9B,GAGIQ,IAASH,GAAiB,cAAc,aAAa,cACrDI,IAAmB,CAAC,CAACD,KAAUA,GAAQ,KAAK,SAAS,GACrDE,IAASF,GAAQ,KAAK,IAAI,OAAOG,EAAI,OAAO,CAAC,CAAC,GAG9CC,IACJF,KAAUA,EAAO,SAAS,IACtB;AAAA,IACE;AAAA,MACE,cACE;AAAA,MACF,YAAY;AAAA,MACZ,UAAUN,EAAgC;AAAA,MAC1C,QAAQM;AAAA,IAAA;AAAA,EACV,IAEF,CAAA,GAEAG,IAAmBC;AAAA,IACvBZ;AAAA,IACAU;AAAA,EAAA,GAEIG,IAAsB,CAAC,CAACF,KAAoBA,EAAiB,SAAS;AAE5E,SAAI,CAACJ,KAAoB,CAACM,IACjB,OAIP,gBAAAC,EAAAC,GAAA,EACG,UAAAJ,EAAiB,IAAI,CAACK,GAAWC,MAE9B,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MAEC,IAAI;AAAA,QACF,SAAS;AAAA,QACT,SAAS;AAAA,QACT,iBAAiB;AAAA,QACjB,cAAc;AAAA,QACd,OAAO;AAAA,QACP,YAAY;AAAA,QACZ,gBAAgB;AAAA,QAChB,YAAY;AAAA,QACZ,KAAK;AAAA,QACL,WACE;AAAA,MAAA;AAAA,MAGJ,UAAA;AAAA,QAAA,gBAAAL,EAACK,GAAA,EACC,UAAA,gBAAAD;AAAA,UAACE;AAAA,UAAA;AAAA,YACC,SAAQ;AAAA,YACR,IAAI,EAAE,OAAO,YAAY,IAAI,OAAO,YAAY,OAAA;AAAA,YACjD,UAAA;AAAA,cAAA;AAAA,cACmD;AAAA,cACjDJ,EAAU;AAAA,cAAkB;AAAA,cAC7B,gBAAAE;AAAA,gBAACG;AAAA,gBAAA;AAAA,kBACC,WAAW;AAAA,kBACX,MAAML,EAAU;AAAA,kBAChB,QAAO;AAAA,kBACP,KAAI;AAAA,kBACJ,IAAI;AAAA,oBACF,OAAO,CAAAM,MAAS,GAAGA,EAAM,QAAQ,KAAK,GAAG,CAAC;AAAA,oBAC1C,qBAAqB,CAAAA,MACnB,GAAGA,EAAM,QAAQ,KAAK,GAAG,CAAC;AAAA,kBAAA;AAAA,kBAE/B,UAAA;AAAA,oBAAA;AAAA,oBACYN,EAAU;AAAA,kBAAA;AAAA,gBAAA;AAAA,cAAA;AAAA,cAChB;AAAA,cACJA,EAAU;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA,GAEjB;AAAA,QACA,gBAAAF;AAAA,UAACK;AAAA,UAAA;AAAA,YACC,IAAI;AAAA,cACF,OAAO;AAAA,gBACL,QAAQ;AAAA,gBACR,OAAO;AAAA,cAAA;AAAA,YACT;AAAA,YAGD,UAAAH,GAAW;AAAA,UAAA;AAAA,QAAA;AAAA,MACd;AAAA,IAAA;AAAA,IA/CKC;AAAA,EAAA,CAkDV,EAAA,CACH;AAEJ;"}
1
+ {"version":3,"file":"SearchPagePortalBanners.js","sources":["../../../src/components/SynapseSearchPageResults/SearchPagePortalBanners.tsx"],"sourcesContent":["import { useGetQueryResultBundleWithAsyncStatus } from '@/synapse-queries'\nimport { useSourceAppConfigs } from '@/utils/hooks'\nimport { BUNDLE_MASK_QUERY_RESULTS } from '@/utils/SynapseConstants'\nimport { Box, Link, Typography } from '@mui/material'\nimport {\n ColumnSingleValueQueryFilter,\n ColumnSingleValueFilterOperator,\n} from '@sage-bionetworks/synapse-types'\n\nexport type SearchPagePortalBannersProps = {\n entityIds: string[]\n dataCatalogEntityId?: string\n sourceAppConfigTableID?: string\n}\n\n/**\n * Portal banner based on entities found in the first page of search results.\n */\nexport default function SearchPagePortalBanners({\n entityIds,\n dataCatalogEntityId = 'syn61609402',\n sourceAppConfigTableID = 'syn45291362',\n}: SearchPagePortalBannersProps) {\n // Query data catalog to find portal mappings for the entity IDs\n const dataCatalogAdditionalFilters: ColumnSingleValueQueryFilter[] =\n entityIds.length > 0\n ? [\n {\n concreteType:\n 'org.sagebionetworks.repo.model.table.ColumnSingleValueQueryFilter',\n columnName: 'id',\n operator: ColumnSingleValueFilterOperator.IN,\n values: entityIds,\n },\n ]\n : []\n\n const { data: dataCatalogData } = useGetQueryResultBundleWithAsyncStatus(\n {\n entityId: dataCatalogEntityId,\n query: {\n sql: `SELECT appId, link FROM ${dataCatalogEntityId}`,\n additionalFilters: dataCatalogAdditionalFilters,\n },\n partMask: BUNDLE_MASK_QUERY_RESULTS,\n concreteType: 'org.sagebionetworks.repo.model.table.QueryBundleRequest',\n },\n {\n enabled: entityIds.length > 0,\n },\n )\n\n const rowSet = dataCatalogData?.responseBody?.queryResult?.queryResults\n const hasPortalBanners = !!rowSet && rowSet?.rows.length > 0\n const appIds = rowSet?.rows.map(row => row.values[0]) as string[]\n\n // Get source app configurations for the found portal app IDs\n const sourceAppConfigFilters: ColumnSingleValueQueryFilter[] =\n appIds && appIds.length > 0\n ? [\n {\n concreteType:\n 'org.sagebionetworks.repo.model.table.ColumnSingleValueQueryFilter',\n columnName: 'appId',\n operator: ColumnSingleValueFilterOperator.IN,\n values: appIds,\n },\n ]\n : []\n\n const sourceAppConfigs = useSourceAppConfigs(\n sourceAppConfigTableID,\n sourceAppConfigFilters,\n )\n const hasSourceAppConfigs = !!sourceAppConfigs && sourceAppConfigs.length > 0\n const hasAppIds = appIds && appIds.length > 0\n if (!hasAppIds || !hasPortalBanners || !hasSourceAppConfigs) {\n return null\n }\n\n return (\n <>\n {sourceAppConfigs.map((appConfig, index) => {\n return (\n <Box\n key={index}\n sx={{\n display: 'flex',\n padding: '32px',\n backgroundColor: 'secondary.100',\n borderRadius: '8px',\n width: '100%',\n transition: 'background-color 0.3s',\n justifyContent: 'space-between',\n alignItems: 'center',\n gap: '50px',\n boxShadow:\n '0 4px 10px 0 rgba(0, 0, 0, 0.10), 0 1px 1px 0 rgba(0, 0, 0, 0.05)',\n }}\n >\n <Box>\n <Typography\n variant=\"smallText1\"\n sx={{ color: 'grey.900', mt: '4px', lineHeight: '20px' }}\n >\n Looks like you’re searching for information about{' '}\n {appConfig.shortDescription}{' '}\n <Link\n component={'a'}\n href={appConfig.appURL}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n sx={{\n color: theme => `${theme.palette.grey[900]} !important`,\n textDecorationColor: theme =>\n `${theme.palette.grey[900]} !important`,\n }}\n >\n Visit the {appConfig.friendlyName}\n </Link>\n . {appConfig.description}\n </Typography>\n </Box>\n <Box\n sx={{\n '> *': {\n height: '48px',\n width: 'auto',\n },\n }}\n >\n {appConfig?.logo}\n </Box>\n </Box>\n )\n })}\n </>\n )\n}\n"],"names":["SearchPagePortalBanners","entityIds","dataCatalogEntityId","sourceAppConfigTableID","dataCatalogAdditionalFilters","ColumnSingleValueFilterOperator","dataCatalogData","useGetQueryResultBundleWithAsyncStatus","BUNDLE_MASK_QUERY_RESULTS","rowSet","hasPortalBanners","appIds","row","sourceAppConfigFilters","sourceAppConfigs","useSourceAppConfigs","hasSourceAppConfigs","jsx","Fragment","appConfig","index","jsxs","Box","Typography","Link","theme"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,SAAwBA,GAAwB;AAAA,EAC9C,WAAAC;AAAA,EACA,qBAAAC,IAAsB;AAAA,EACtB,wBAAAC,IAAyB;AAC3B,GAAiC;AAE/B,QAAMC,IACJH,EAAU,SAAS,IACf;AAAA,IACE;AAAA,MACE,cACE;AAAA,MACF,YAAY;AAAA,MACZ,UAAUI,EAAgC;AAAA,MAC1C,QAAQJ;AAAA,IAAA;AAAA,EACV,IAEF,CAAA,GAEA,EAAE,MAAMK,EAAA,IAAoBC;AAAA,IAChC;AAAA,MACE,UAAUL;AAAA,MACV,OAAO;AAAA,QACL,KAAK,2BAA2BA,CAAmB;AAAA,QACnD,mBAAmBE;AAAA,MAAA;AAAA,MAErB,UAAUI;AAAA,MACV,cAAc;AAAA,IAAA;AAAA,IAEhB;AAAA,MACE,SAASP,EAAU,SAAS;AAAA,IAAA;AAAA,EAC9B,GAGIQ,IAASH,GAAiB,cAAc,aAAa,cACrDI,IAAmB,CAAC,CAACD,KAAUA,GAAQ,KAAK,SAAS,GACrDE,IAASF,GAAQ,KAAK,IAAI,OAAOG,EAAI,OAAO,CAAC,CAAC,GAG9CC,IACJF,KAAUA,EAAO,SAAS,IACtB;AAAA,IACE;AAAA,MACE,cACE;AAAA,MACF,YAAY;AAAA,MACZ,UAAUN,EAAgC;AAAA,MAC1C,QAAQM;AAAA,IAAA;AAAA,EACV,IAEF,CAAA,GAEAG,IAAmBC;AAAA,IACvBZ;AAAA,IACAU;AAAA,EAAA,GAEIG,IAAsB,CAAC,CAACF,KAAoBA,EAAiB,SAAS;AAE5E,SAAI,EADcH,KAAUA,EAAO,SAAS,MAC1B,CAACD,KAAoB,CAACM,IAC/B,OAIP,gBAAAC,EAAAC,GAAA,EACG,UAAAJ,EAAiB,IAAI,CAACK,GAAWC,MAE9B,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MAEC,IAAI;AAAA,QACF,SAAS;AAAA,QACT,SAAS;AAAA,QACT,iBAAiB;AAAA,QACjB,cAAc;AAAA,QACd,OAAO;AAAA,QACP,YAAY;AAAA,QACZ,gBAAgB;AAAA,QAChB,YAAY;AAAA,QACZ,KAAK;AAAA,QACL,WACE;AAAA,MAAA;AAAA,MAGJ,UAAA;AAAA,QAAA,gBAAAL,EAACK,GAAA,EACC,UAAA,gBAAAD;AAAA,UAACE;AAAA,UAAA;AAAA,YACC,SAAQ;AAAA,YACR,IAAI,EAAE,OAAO,YAAY,IAAI,OAAO,YAAY,OAAA;AAAA,YACjD,UAAA;AAAA,cAAA;AAAA,cACmD;AAAA,cACjDJ,EAAU;AAAA,cAAkB;AAAA,cAC7B,gBAAAE;AAAA,gBAACG;AAAA,gBAAA;AAAA,kBACC,WAAW;AAAA,kBACX,MAAML,EAAU;AAAA,kBAChB,QAAO;AAAA,kBACP,KAAI;AAAA,kBACJ,IAAI;AAAA,oBACF,OAAO,CAAAM,MAAS,GAAGA,EAAM,QAAQ,KAAK,GAAG,CAAC;AAAA,oBAC1C,qBAAqB,CAAAA,MACnB,GAAGA,EAAM,QAAQ,KAAK,GAAG,CAAC;AAAA,kBAAA;AAAA,kBAE/B,UAAA;AAAA,oBAAA;AAAA,oBACYN,EAAU;AAAA,kBAAA;AAAA,gBAAA;AAAA,cAAA;AAAA,cAChB;AAAA,cACJA,EAAU;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA,GAEjB;AAAA,QACA,gBAAAF;AAAA,UAACK;AAAA,UAAA;AAAA,YACC,IAAI;AAAA,cACF,OAAO;AAAA,gBACL,QAAQ;AAAA,gBACR,OAAO;AAAA,cAAA;AAAA,YACT;AAAA,YAGD,UAAAH,GAAW;AAAA,UAAA;AAAA,QAAA;AAAA,MACd;AAAA,IAAA;AAAA,IA/CKC;AAAA,EAAA,CAkDV,EAAA,CACH;AAEJ;"}
@@ -1 +1 @@
1
- {"version":3,"file":"SynapseSearchResultsCard.d.ts","sourceRoot":"","sources":["../../../src/components/SynapseSearchPageResults/SynapseSearchResultsCard.tsx"],"names":[],"mappings":"AAyBA,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAA;AAY7D,MAAM,MAAM,6BAA6B,GAAG;IAC1C,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,UAAU,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAA;IACxC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;CACvB,CAAA;AAiBD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,6BAA6B,2CAmJ5E;AAED,eAAe,wBAAwB,CAAA"}
1
+ {"version":3,"file":"SynapseSearchResultsCard.d.ts","sourceRoot":"","sources":["../../../src/components/SynapseSearchPageResults/SynapseSearchResultsCard.tsx"],"names":[],"mappings":"AAwBA,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAA;AAc7D,MAAM,MAAM,6BAA6B,GAAG;IAC1C,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,UAAU,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAA;IACxC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;CACvB,CAAA;AAiBD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,6BAA6B,2CAwJ5E;AAED,eAAe,wBAAwB,CAAA"}