synapse-react-client 4.0.46 → 4.0.48

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 (559) hide show
  1. package/dist/SWC.index.js +1 -1
  2. package/dist/aridhia-queries/useSubmitAridhiaDar.js +2 -2
  3. package/dist/aridhia-queries/useSubmitAridhiaDar.js.map +1 -1
  4. package/dist/components/AccessTokenPage/CreateAccessTokenModal.js +1 -1
  5. package/dist/components/AccessTokenPage/CreateAccessTokenModal.js.map +1 -1
  6. package/dist/components/AccountLevelBadges/AccountLevelBadges.js +1 -1
  7. package/dist/components/AccountLevelBadges/AccountLevelBadges.js.map +1 -1
  8. package/dist/components/AclEditor/AclEditor.test-utils.js +3 -5
  9. package/dist/components/AclEditor/AclEditor.test-utils.js.map +1 -1
  10. package/dist/components/Aridhia/AridhiaAccessStatus.d.ts.map +1 -1
  11. package/dist/components/Aridhia/AridhiaAccessStatus.js +43 -30
  12. package/dist/components/Aridhia/AridhiaAccessStatus.js.map +1 -1
  13. package/dist/components/Aridhia/AridhiaDarStatusPopover.d.ts +6 -2
  14. package/dist/components/Aridhia/AridhiaDarStatusPopover.d.ts.map +1 -1
  15. package/dist/components/Aridhia/AridhiaDarStatusPopover.js +101 -31
  16. package/dist/components/Aridhia/AridhiaDarStatusPopover.js.map +1 -1
  17. package/dist/components/Aridhia/aridhiaAccessStatusUtils.d.ts +11 -9
  18. package/dist/components/Aridhia/aridhiaAccessStatusUtils.d.ts.map +1 -1
  19. package/dist/components/Aridhia/aridhiaAccessStatusUtils.js +24 -13
  20. package/dist/components/Aridhia/aridhiaAccessStatusUtils.js.map +1 -1
  21. package/dist/components/Authentication/LastLoginInfo.js +2 -2
  22. package/dist/components/Authentication/LastLoginInfo.js.map +1 -1
  23. package/dist/components/Authentication/RecoveryCodeForm.js +1 -1
  24. package/dist/components/Authentication/RecoveryCodeForm.js.map +1 -1
  25. package/dist/components/Authentication/RecoveryCodeGrid.js.map +1 -1
  26. package/dist/components/Authentication/TOTPForm.d.ts.map +1 -1
  27. package/dist/components/Authentication/TOTPForm.js +3 -3
  28. package/dist/components/Authentication/TOTPForm.js.map +1 -1
  29. package/dist/components/Authentication/index.d.ts +6 -6
  30. package/dist/components/Authentication/index.d.ts.map +1 -1
  31. package/dist/components/CannedRejectionDialog/CannedRejectionDialog.js +1 -1
  32. package/dist/components/CannedRejectionDialog/CannedRejectionDialog.js.map +1 -1
  33. package/dist/components/CardContainer/CardContainer.js +7 -7
  34. package/dist/components/CardContainer/CardContainer.js.map +1 -1
  35. package/dist/components/ChallengeRequirementsModal/ChallengeRequirementsModal.js +1 -1
  36. package/dist/components/ChallengeRequirementsModal/ChallengeRequirementsModal.js.map +1 -1
  37. package/dist/components/ChallengeSubmission/ChallengeSubmission.d.ts.map +1 -1
  38. package/dist/components/ChallengeSubmission/ChallengeSubmission.js +1 -1
  39. package/dist/components/ChallengeSubmission/ChallengeSubmission.js.map +1 -1
  40. package/dist/components/ChallengeTeamWizard/SelectChallengeTeam.js +1 -1
  41. package/dist/components/ChallengeTeamWizard/SelectChallengeTeam.js.map +1 -1
  42. package/dist/components/CitationPopover/CitationPopoverUtils.js +2 -2
  43. package/dist/components/CitationPopover/CitationPopoverUtils.js.map +1 -1
  44. package/dist/components/CohortBuilder/CohortBuilder.css +1 -0
  45. package/dist/components/CohortBuilder/CohortBuilder.d.ts +35 -0
  46. package/dist/components/CohortBuilder/CohortBuilder.d.ts.map +1 -0
  47. package/dist/components/CohortBuilder/CohortBuilder.js +108 -0
  48. package/dist/components/CohortBuilder/CohortBuilder.js.map +1 -0
  49. package/dist/components/CohortBuilder/CohortBuilder.module.js +10 -0
  50. package/dist/components/CohortBuilder/CohortBuilder.module.js.map +1 -0
  51. package/dist/components/CohortBuilder/CohortBuilder.module.scss +20 -0
  52. package/dist/components/CohortBuilder/CohortFilesPanel.d.ts +16 -0
  53. package/dist/components/CohortBuilder/CohortFilesPanel.d.ts.map +1 -0
  54. package/dist/components/CohortBuilder/CohortFilesPanel.js +124 -0
  55. package/dist/components/CohortBuilder/CohortFilesPanel.js.map +1 -0
  56. package/dist/components/CohortBuilder/cohortHandOff.d.ts +25 -0
  57. package/dist/components/CohortBuilder/cohortHandOff.d.ts.map +1 -0
  58. package/dist/components/CohortBuilder/cohortHandOff.js +26 -0
  59. package/dist/components/CohortBuilder/cohortHandOff.js.map +1 -0
  60. package/dist/components/ColumnFilter/ColumnFilter.d.ts.map +1 -1
  61. package/dist/components/ColumnFilter/ColumnFilter.js +14 -13
  62. package/dist/components/ColumnFilter/ColumnFilter.js.map +1 -1
  63. package/dist/components/DataExplorer/DataExplorer.d.ts.map +1 -1
  64. package/dist/components/DataExplorer/DataExplorer.js.map +1 -1
  65. package/dist/components/DataGrid/columns/AutocompleteColumn.d.ts +11 -2
  66. package/dist/components/DataGrid/columns/AutocompleteColumn.d.ts.map +1 -1
  67. package/dist/components/DataGrid/columns/AutocompleteColumn.js +115 -109
  68. package/dist/components/DataGrid/columns/AutocompleteColumn.js.map +1 -1
  69. package/dist/components/DataGrid/columns/NumberColumn.js +1 -1
  70. package/dist/components/DataGrid/columns/NumberColumn.js.map +1 -1
  71. package/dist/components/DataGrid/columns/NumberOrEnumColumn.d.ts +20 -0
  72. package/dist/components/DataGrid/columns/NumberOrEnumColumn.d.ts.map +1 -0
  73. package/dist/components/DataGrid/columns/NumberOrEnumColumn.js +18 -0
  74. package/dist/components/DataGrid/columns/NumberOrEnumColumn.js.map +1 -0
  75. package/dist/components/DataGrid/components/contextMenu.js +3 -3
  76. package/dist/components/DataGrid/components/contextMenu.js.map +1 -1
  77. package/dist/components/DataGrid/hooks/useGridUndoRedo.d.ts.map +1 -1
  78. package/dist/components/DataGrid/hooks/useGridUndoRedo.js +9 -7
  79. package/dist/components/DataGrid/hooks/useGridUndoRedo.js.map +1 -1
  80. package/dist/components/DataGrid/hooks/useStack.d.ts +1 -1
  81. package/dist/components/DataGrid/hooks/useStack.js +2 -2
  82. package/dist/components/DataGrid/hooks/useStack.js.map +1 -1
  83. package/dist/components/DataGrid/utils/columnFactory.d.ts.map +1 -1
  84. package/dist/components/DataGrid/utils/columnFactory.js +47 -42
  85. package/dist/components/DataGrid/utils/columnFactory.js.map +1 -1
  86. package/dist/components/DataGrid/utils/extractColumnValidationMessages.js +7 -7
  87. package/dist/components/DataGrid/utils/extractColumnValidationMessages.js.map +1 -1
  88. package/dist/components/DataGrid/utils/json-rx/JsonRx.js +2 -2
  89. package/dist/components/DataGrid/utils/json-rx/JsonRx.js.map +1 -1
  90. package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.js +1 -1
  91. package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.js.map +1 -1
  92. package/dist/components/DownloadCart/MeetAccessRequirementCard.js +1 -1
  93. package/dist/components/DownloadCart/MeetAccessRequirementCard.js.map +1 -1
  94. package/dist/components/EntityDownloadConfirmation/EntityDownloadConfirmation.js +5 -5
  95. package/dist/components/EntityDownloadConfirmation/EntityDownloadConfirmation.js.map +1 -1
  96. package/dist/components/EntityFinder/details/view/DetailsView.d.ts.map +1 -1
  97. package/dist/components/EntityFinder/details/view/DetailsView.js +4 -4
  98. package/dist/components/EntityFinder/details/view/DetailsView.js.map +1 -1
  99. package/dist/components/EntityHeaderTable/EntityHeaderTable.js +4 -4
  100. package/dist/components/EntityHeaderTable/Filter.d.ts.map +1 -1
  101. package/dist/components/EntityHeaderTable/Filter.js +1 -1
  102. package/dist/components/EntityHeaderTable/Filter.js.map +1 -1
  103. package/dist/components/Evaluation/EvaluationRoundEditor.js.map +1 -1
  104. package/dist/components/FeaturedDataTabs/FacetPlotsCard.d.ts.map +1 -1
  105. package/dist/components/FeaturedDataTabs/FacetPlotsCard.js +80 -84
  106. package/dist/components/FeaturedDataTabs/FacetPlotsCard.js.map +1 -1
  107. package/dist/components/FormTemplateEditor/FormStructurePanel.js +7 -7
  108. package/dist/components/FormTemplateEditor/StepCard.js +9 -9
  109. package/dist/components/FormTemplateEditor/schemaFieldUtils.js +2 -2
  110. package/dist/components/FormTemplateEditor/schemaFieldUtils.js.map +1 -1
  111. package/dist/components/FullTextSearch/FullTextSearch.js +8 -8
  112. package/dist/components/GenericCard/CardUtils.js.map +1 -1
  113. package/dist/components/GenericCard/DuoTermTags/DuoTermTags.js +1 -1
  114. package/dist/components/GenericCard/DuoTermTags/DuoTermTags.js.map +1 -1
  115. package/dist/components/GenericCard/DuoTermTags/duoTerms.js +1 -1
  116. package/dist/components/GenericCard/DuoTermTags/duoTerms.js.map +1 -1
  117. package/dist/components/GenericCard/TableRowGenericCard.js +37 -37
  118. package/dist/components/GoalsV3/GoalsV3.js +1 -1
  119. package/dist/components/GoalsV3/GoalsV3.js.map +1 -1
  120. package/dist/components/HexGrid/HexGrid.d.ts +3 -1
  121. package/dist/components/HexGrid/HexGrid.d.ts.map +1 -1
  122. package/dist/components/HexGrid/HexGrid.js +14 -13
  123. package/dist/components/HexGrid/HexGrid.js.map +1 -1
  124. package/dist/components/IconSvg/index.d.ts +1 -1
  125. package/dist/components/IconSvg/index.d.ts.map +1 -1
  126. package/dist/components/IconSvg/index.js.map +1 -1
  127. package/dist/components/JsonSchemaForm/templates/BaseInputTemplate.d.ts.map +1 -1
  128. package/dist/components/JsonSchemaForm/templates/BaseInputTemplate.js +3 -3
  129. package/dist/components/JsonSchemaForm/templates/BaseInputTemplate.js.map +1 -1
  130. package/dist/components/Markdown/MarkdownEditor.js +1 -1
  131. package/dist/components/Markdown/MarkdownEditor.js.map +1 -1
  132. package/dist/components/Markdown/widget/index.d.ts +1 -1
  133. package/dist/components/Markdown/widget/index.d.ts.map +1 -1
  134. package/dist/components/ModalDownload/ModalDownload.d.ts.map +1 -1
  135. package/dist/components/ModalDownload/ModalDownload.js +2 -1
  136. package/dist/components/ModalDownload/ModalDownload.js.map +1 -1
  137. package/dist/components/Plot/BarPlot.js +1 -1
  138. package/dist/components/Plot/BarPlot.js.map +1 -1
  139. package/dist/components/Plot/PlotPanelHeader.d.ts +3 -2
  140. package/dist/components/Plot/PlotPanelHeader.d.ts.map +1 -1
  141. package/dist/components/Plot/PlotPanelHeader.js.map +1 -1
  142. package/dist/components/ProgrammaticTableDownload/ProgrammaticTableDownload.js +1 -1
  143. package/dist/components/ProgrammaticTableDownload/ProgrammaticTableDownload.js.map +1 -1
  144. package/dist/components/ProvenanceGraph/ProvenanceExternalIcon.js +1 -1
  145. package/dist/components/ProvenanceGraph/ProvenanceExternalIcon.js.map +1 -1
  146. package/dist/components/ProvenanceGraph/ProvenanceGraph.d.ts.map +1 -1
  147. package/dist/components/ProvenanceGraph/ProvenanceGraph.js +3 -3
  148. package/dist/components/ProvenanceGraph/ProvenanceGraph.js.map +1 -1
  149. package/dist/components/QueryBuilder/FilterConditionRow.d.ts.map +1 -1
  150. package/dist/components/QueryBuilder/FilterConditionRow.js +28 -27
  151. package/dist/components/QueryBuilder/FilterConditionRow.js.map +1 -1
  152. package/dist/components/QueryBuilder/FilterGroupNode.d.ts.map +1 -1
  153. package/dist/components/QueryBuilder/FilterGroupNode.js +91 -75
  154. package/dist/components/QueryBuilder/FilterGroupNode.js.map +1 -1
  155. package/dist/components/QueryBuilder/QueryBuilderControls.css +1 -1
  156. package/dist/components/QueryBuilder/QueryBuilderControls.d.ts.map +1 -1
  157. package/dist/components/QueryBuilder/QueryBuilderControls.js +91 -79
  158. package/dist/components/QueryBuilder/QueryBuilderControls.js.map +1 -1
  159. package/dist/components/QueryBuilder/QueryBuilderControls.module.js +11 -11
  160. package/dist/components/QueryBuilder/QueryBuilderControls.module.js.map +1 -1
  161. package/dist/components/QueryBuilder/QueryBuilderControls.module.scss +2 -0
  162. package/dist/components/QueryBuilder/QueryBuilderInternalContext.d.ts +2 -0
  163. package/dist/components/QueryBuilder/QueryBuilderInternalContext.d.ts.map +1 -1
  164. package/dist/components/QueryBuilder/QueryBuilderInternalContext.js.map +1 -1
  165. package/dist/components/QueryBuilder/queryBuilderLimits.d.ts +18 -0
  166. package/dist/components/QueryBuilder/queryBuilderLimits.d.ts.map +1 -0
  167. package/dist/components/QueryBuilder/queryBuilderLimits.js +38 -0
  168. package/dist/components/QueryBuilder/queryBuilderLimits.js.map +1 -0
  169. package/dist/components/QueryBuilder/queryBuilderMetadata.d.ts +0 -8
  170. package/dist/components/QueryBuilder/queryBuilderMetadata.d.ts.map +1 -1
  171. package/dist/components/QueryBuilder/queryBuilderMetadata.js +6 -9
  172. package/dist/components/QueryBuilder/queryBuilderMetadata.js.map +1 -1
  173. package/dist/components/QueryBuilder/queryBuilderTranslation.d.ts +5 -4
  174. package/dist/components/QueryBuilder/queryBuilderTranslation.d.ts.map +1 -1
  175. package/dist/components/QueryBuilder/queryBuilderTranslation.js +58 -33
  176. package/dist/components/QueryBuilder/queryBuilderTranslation.js.map +1 -1
  177. package/dist/components/QueryBuilder/useQBCombinedSql.d.ts.map +1 -1
  178. package/dist/components/QueryBuilder/useQBCombinedSql.js +4 -4
  179. package/dist/components/QueryBuilder/useQBCombinedSql.js.map +1 -1
  180. package/dist/components/QueryBuilder/useQBValueDisplayName.d.ts.map +1 -1
  181. package/dist/components/QueryBuilder/useQBValueDisplayName.js +5 -5
  182. package/dist/components/QueryBuilder/useQBValueDisplayName.js.map +1 -1
  183. package/dist/components/QuerySortSelector.js +5 -5
  184. package/dist/components/QueryVisualizationWrapper/QueryVisualizationWrapper.js +21 -21
  185. package/dist/components/QueryVisualizationWrapper/QueryVisualizationWrapper.js.map +1 -1
  186. package/dist/components/QueryWrapper/AggregateQueryErrorNotice.d.ts +20 -0
  187. package/dist/components/QueryWrapper/AggregateQueryErrorNotice.d.ts.map +1 -0
  188. package/dist/components/QueryWrapper/AggregateQueryErrorNotice.js +50 -0
  189. package/dist/components/QueryWrapper/AggregateQueryErrorNotice.js.map +1 -0
  190. package/dist/components/QueryWrapper/TableQueryUseQueryOptions.d.ts +5 -3
  191. package/dist/components/QueryWrapper/TableQueryUseQueryOptions.d.ts.map +1 -1
  192. package/dist/components/QueryWrapper/TableQueryUseQueryOptions.js +7 -3
  193. package/dist/components/QueryWrapper/TableQueryUseQueryOptions.js.map +1 -1
  194. package/dist/components/QueryWrapper/downloadListFiles.d.ts +25 -0
  195. package/dist/components/QueryWrapper/downloadListFiles.d.ts.map +1 -0
  196. package/dist/components/QueryWrapper/downloadListFiles.js +39 -0
  197. package/dist/components/QueryWrapper/downloadListFiles.js.map +1 -0
  198. package/dist/components/QueryWrapper/useAddSelectedRowsToDownloadList.d.ts +16 -0
  199. package/dist/components/QueryWrapper/useAddSelectedRowsToDownloadList.d.ts.map +1 -0
  200. package/dist/components/QueryWrapper/useAddSelectedRowsToDownloadList.js +50 -0
  201. package/dist/components/QueryWrapper/useAddSelectedRowsToDownloadList.js.map +1 -0
  202. package/dist/components/QueryWrapper/useGetAddToDownloadListRequestForCurrentQuery.d.ts +4 -1
  203. package/dist/components/QueryWrapper/useGetAddToDownloadListRequestForCurrentQuery.d.ts.map +1 -1
  204. package/dist/components/QueryWrapper/useGetAddToDownloadListRequestForCurrentQuery.js +15 -28
  205. package/dist/components/QueryWrapper/useGetAddToDownloadListRequestForCurrentQuery.js.map +1 -1
  206. package/dist/components/QueryWrapper/useOnQueryDataChange.d.ts.map +1 -1
  207. package/dist/components/QueryWrapper/useOnQueryDataChange.js +7 -6
  208. package/dist/components/QueryWrapper/useOnQueryDataChange.js.map +1 -1
  209. package/dist/components/QueryWrapperErrorBoundary.d.ts +3 -1
  210. package/dist/components/QueryWrapperErrorBoundary.d.ts.map +1 -1
  211. package/dist/components/QueryWrapperErrorBoundary.js +26 -21
  212. package/dist/components/QueryWrapperErrorBoundary.js.map +1 -1
  213. package/dist/components/QueryWrapperPlotNav/LastUpdatedOn.js +7 -7
  214. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts +2 -2
  215. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts.map +1 -1
  216. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js +34 -32
  217. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js.map +1 -1
  218. package/dist/components/QueryWrapperPlotNav/QueryWrapperSynapsePlot.js +7 -7
  219. package/dist/components/QueryWrapperPlotNav/UseRowSet.d.ts.map +1 -1
  220. package/dist/components/QueryWrapperPlotNav/UseRowSet.js +12 -12
  221. package/dist/components/QueryWrapperPlotNav/UseRowSet.js.map +1 -1
  222. package/dist/components/RowDataTable/CategorizedRowDataTable.css +1 -0
  223. package/dist/components/RowDataTable/CategorizedRowDataTable.d.ts +33 -0
  224. package/dist/components/RowDataTable/CategorizedRowDataTable.d.ts.map +1 -0
  225. package/dist/components/RowDataTable/CategorizedRowDataTable.js +64 -0
  226. package/dist/components/RowDataTable/CategorizedRowDataTable.js.map +1 -0
  227. package/dist/components/RowDataTable/CategorizedRowDataTable.module.js +8 -0
  228. package/dist/components/RowDataTable/CategorizedRowDataTable.module.js.map +1 -0
  229. package/dist/components/RowDataTable/CategorizedRowDataTable.module.scss +18 -0
  230. package/dist/components/RowDataTable/RowDataTable.d.ts +13 -0
  231. package/dist/components/RowDataTable/RowDataTable.d.ts.map +1 -1
  232. package/dist/components/RowDataTable/RowDataTable.js +25 -8
  233. package/dist/components/RowDataTable/RowDataTable.js.map +1 -1
  234. package/dist/components/RssFeedCards/RssFeedCards.js +1 -1
  235. package/dist/components/RssFeedCards/RssFeedCards.js.map +1 -1
  236. package/dist/components/SchemaDrivenAnnotationEditor/field/AdditionalPropertiesSchemaField.d.ts.map +1 -1
  237. package/dist/components/SchemaDrivenAnnotationEditor/field/AdditionalPropertiesSchemaField.js +2 -2
  238. package/dist/components/SchemaDrivenAnnotationEditor/field/AdditionalPropertiesSchemaField.js.map +1 -1
  239. package/dist/components/SchemaDrivenAnnotationEditor/template/ObjectFieldTemplate.js +1 -1
  240. package/dist/components/SchemaDrivenAnnotationEditor/template/ObjectFieldTemplate.js.map +1 -1
  241. package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.d.ts +17 -9
  242. package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.d.ts.map +1 -1
  243. package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.js +39 -30
  244. package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.js.map +1 -1
  245. package/dist/components/SetAccessRequirementCommonFields/SetAccessRequirementCommonFields.js +24 -24
  246. package/dist/components/SetAccessRequirementCommonFields/SetAccessRequirementCommonFields.js.map +1 -1
  247. package/dist/components/StandaloneQueryWrapper/StandaloneQueryWrapper.js +8 -8
  248. package/dist/components/SynapseChat/SynapseChatMessage.js +1 -1
  249. package/dist/components/SynapseChat/SynapseChatMessage.js.map +1 -1
  250. package/dist/components/SynapseForm/NavButtons.js.map +1 -1
  251. package/dist/components/SynapseForm/StepsSideNav.js.map +1 -1
  252. package/dist/components/SynapseSearchPageResults/HighlightedTypography.js +1 -1
  253. package/dist/components/SynapseSearchPageResults/HighlightedTypography.js.map +1 -1
  254. package/dist/components/SynapseSearchPageResults/SearchFacetPanel/SearchFacetPanelUtils.d.ts.map +1 -1
  255. package/dist/components/SynapseSearchPageResults/SearchFacetPanel/SearchFacetPanelUtils.js +3 -3
  256. package/dist/components/SynapseSearchPageResults/SearchFacetPanel/SearchFacetPanelUtils.js.map +1 -1
  257. package/dist/components/SynapseTable/RowSelection/RowSelectionControls.d.ts.map +1 -1
  258. package/dist/components/SynapseTable/RowSelection/RowSelectionControls.js +38 -44
  259. package/dist/components/SynapseTable/RowSelection/RowSelectionControls.js.map +1 -1
  260. package/dist/components/SynapseTable/RowSelection/RowSelectionUI.js +4 -4
  261. package/dist/components/SynapseTable/SqlEditor.js +7 -7
  262. package/dist/components/SynapseTable/SynapseTable.js +8 -8
  263. package/dist/components/SynapseTable/SynapseTable.js.map +1 -1
  264. package/dist/components/SynapseTable/SynapseTableRenderers.d.ts.map +1 -1
  265. package/dist/components/SynapseTable/SynapseTableRenderers.js +73 -72
  266. package/dist/components/SynapseTable/SynapseTableRenderers.js.map +1 -1
  267. package/dist/components/SynapseTable/SynapseTableUtils.js +1 -1
  268. package/dist/components/SynapseTable/SynapseTableUtils.js.map +1 -1
  269. package/dist/components/SynapseTable/TopLevelControls/TopLevelControls.d.ts.map +1 -1
  270. package/dist/components/SynapseTable/TopLevelControls/TopLevelControls.js +44 -45
  271. package/dist/components/SynapseTable/TopLevelControls/TopLevelControls.js.map +1 -1
  272. package/dist/components/SynapseTable/datasets/DatasetEditorVersionCell.js +1 -1
  273. package/dist/components/SynapseTable/datasets/DatasetEditorVersionCell.js.map +1 -1
  274. package/dist/components/SynapseTable/datasets/DatasetItemsEditor.d.ts.map +1 -1
  275. package/dist/components/SynapseTable/datasets/DatasetItemsEditor.js +142 -142
  276. package/dist/components/SynapseTable/datasets/DatasetItemsEditor.js.map +1 -1
  277. package/dist/components/SynapseTable/export/ExportToAnalysisPlatformDialog.js +4 -4
  278. package/dist/components/SynapseTable/export/ExternalPlatformActionsRequiredPrecheck.js +12 -12
  279. package/dist/components/SynapseTable/export/ExternalPlatformActionsRequiredPrecheck.js.map +1 -1
  280. package/dist/components/SynapseTable/table-top/ColumnSelection.js +6 -6
  281. package/dist/components/SynapseTable/table-top/DownloadOptions.d.ts +0 -1
  282. package/dist/components/SynapseTable/table-top/DownloadOptions.d.ts.map +1 -1
  283. package/dist/components/SynapseTable/table-top/DownloadOptions.js +64 -57
  284. package/dist/components/SynapseTable/table-top/DownloadOptions.js.map +1 -1
  285. package/dist/components/SynapseTable/usePrefetchTableData.d.ts.map +1 -1
  286. package/dist/components/SynapseTable/usePrefetchTableData.js +3 -3
  287. package/dist/components/SynapseTable/usePrefetchTableData.js.map +1 -1
  288. package/dist/components/TableColumnSchemaEditor/ColumnModelForm.js +1 -1
  289. package/dist/components/TableColumnSchemaEditor/ColumnModelForm.js.map +1 -1
  290. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorTestUtils.js +1 -1
  291. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorTestUtils.js.map +1 -1
  292. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorUtils.js +2 -2
  293. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorUtils.js.map +1 -1
  294. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaForm.js +60 -60
  295. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaForm.js.map +1 -1
  296. package/dist/components/TableColumnSchemaEditor/Validators/DatetimeSchema.js +1 -1
  297. package/dist/components/TableColumnSchemaEditor/Validators/DatetimeSchema.js.map +1 -1
  298. package/dist/components/TanStackTable/ColumnHeaderEnumFilter.js +1 -1
  299. package/dist/components/TanStackTable/ColumnHeaderEnumFilter.js.map +1 -1
  300. package/dist/components/TanStackTable/StyledTanStackTable.d.ts.map +1 -1
  301. package/dist/components/TanStackTable/StyledTanStackTable.js +1 -4
  302. package/dist/components/TanStackTable/StyledTanStackTable.js.map +1 -1
  303. package/dist/components/TermsAndConditions/TermsAndConditions.js.map +1 -1
  304. package/dist/components/TotalQueryResults.js +14 -14
  305. package/dist/components/Webhook/WebhookDashboard.d.ts.map +1 -1
  306. package/dist/components/Webhook/WebhookDashboard.js +2 -2
  307. package/dist/components/Webhook/WebhookDashboard.js.map +1 -1
  308. package/dist/components/download_list/DownloadConfirmationUtils.d.ts +5 -1
  309. package/dist/components/download_list/DownloadConfirmationUtils.d.ts.map +1 -1
  310. package/dist/components/download_list/DownloadConfirmationUtils.js +2 -2
  311. package/dist/components/download_list/DownloadConfirmationUtils.js.map +1 -1
  312. package/dist/components/error/ErrorBanner.d.ts.map +1 -1
  313. package/dist/components/error/ErrorBanner.js +49 -46
  314. package/dist/components/error/ErrorBanner.js.map +1 -1
  315. package/dist/components/file/upload/MultiFileUploadProgress.js +5 -5
  316. package/dist/components/row_renderers/Dataset.d.ts.map +1 -1
  317. package/dist/components/row_renderers/Dataset.js +6 -6
  318. package/dist/components/row_renderers/Dataset.js.map +1 -1
  319. package/dist/components/row_renderers/Funder.js +1 -1
  320. package/dist/components/row_renderers/Funder.js.map +1 -1
  321. package/dist/components/widgets/ElementWithTooltip.d.ts +6 -1
  322. package/dist/components/widgets/ElementWithTooltip.d.ts.map +1 -1
  323. package/dist/components/widgets/ElementWithTooltip.js +22 -14
  324. package/dist/components/widgets/ElementWithTooltip.js.map +1 -1
  325. package/dist/components/widgets/RangeSlider/RangeSlider.d.ts.map +1 -1
  326. package/dist/components/widgets/RangeSlider/RangeSlider.js +1 -1
  327. package/dist/components/widgets/RangeSlider/RangeSlider.js.map +1 -1
  328. package/dist/components/widgets/SynapseImage.js +1 -1
  329. package/dist/components/widgets/SynapseImage.js.map +1 -1
  330. package/dist/components/widgets/facet-nav/FacetNavPanel.d.ts +16 -5
  331. package/dist/components/widgets/facet-nav/FacetNavPanel.d.ts.map +1 -1
  332. package/dist/components/widgets/facet-nav/FacetNavPanel.js +115 -102
  333. package/dist/components/widgets/facet-nav/FacetNavPanel.js.map +1 -1
  334. package/dist/components/widgets/facet-nav/FacetPlotLegendList.d.ts.map +1 -1
  335. package/dist/components/widgets/facet-nav/FacetPlotLegendList.js +4 -2
  336. package/dist/components/widgets/facet-nav/FacetPlotLegendList.js.map +1 -1
  337. package/dist/components/widgets/facet-nav/FacetPlotLegendTable.js +1 -1
  338. package/dist/components/widgets/facet-nav/FacetPlotLegendTable.js.map +1 -1
  339. package/dist/components/widgets/facet-nav/FacetPlotLegendUtils.d.ts +2 -0
  340. package/dist/components/widgets/facet-nav/FacetPlotLegendUtils.d.ts.map +1 -1
  341. package/dist/components/widgets/facet-nav/FacetPlotLegendUtils.js.map +1 -1
  342. package/dist/components/widgets/facet-nav/PlotsContainer.d.ts +7 -0
  343. package/dist/components/widgets/facet-nav/PlotsContainer.d.ts.map +1 -1
  344. package/dist/components/widgets/facet-nav/PlotsContainer.js +47 -45
  345. package/dist/components/widgets/facet-nav/PlotsContainer.js.map +1 -1
  346. package/dist/components/widgets/facet-nav/SelectionCriteriaPills.js +4 -4
  347. package/dist/components/widgets/facet-nav/useFacetPlots.d.ts +3 -2
  348. package/dist/components/widgets/facet-nav/useFacetPlots.d.ts.map +1 -1
  349. package/dist/components/widgets/facet-nav/useFacetPlots.js +16 -15
  350. package/dist/components/widgets/facet-nav/useFacetPlots.js.map +1 -1
  351. package/dist/components/widgets/query-filter/CombinedRangeFacetFilter.js +4 -4
  352. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilter.d.ts +2 -2
  353. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilter.d.ts.map +1 -1
  354. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilter.js +62 -60
  355. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilter.js.map +1 -1
  356. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterOption.d.ts +2 -0
  357. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterOption.d.ts.map +1 -1
  358. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterOption.js +10 -10
  359. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterOption.js.map +1 -1
  360. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUI.d.ts +1 -0
  361. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUI.d.ts.map +1 -1
  362. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUI.js +2 -1
  363. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUI.js.map +1 -1
  364. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUtils.d.ts +3 -2
  365. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUtils.d.ts.map +1 -1
  366. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUtils.js.map +1 -1
  367. package/dist/components/widgets/query-filter/FacetFilterControls.d.ts +3 -2
  368. package/dist/components/widgets/query-filter/FacetFilterControls.d.ts.map +1 -1
  369. package/dist/components/widgets/query-filter/FacetFilterControls.js +63 -62
  370. package/dist/components/widgets/query-filter/FacetFilterControls.js.map +1 -1
  371. package/dist/components/widgets/query-filter/JsonColumnFacetFilters.d.ts.map +1 -1
  372. package/dist/components/widgets/query-filter/JsonColumnFacetFilters.js +30 -29
  373. package/dist/components/widgets/query-filter/JsonColumnFacetFilters.js.map +1 -1
  374. package/dist/components/widgets/query-filter/RangeFacetFilter.js +5 -5
  375. package/dist/mocks/cohortBuilder/cohortBuilderMockProfiles.d.ts +53 -0
  376. package/dist/mocks/cohortBuilder/cohortBuilderMockProfiles.d.ts.map +1 -0
  377. package/dist/mocks/cohortBuilder/cohortBuilderMockProfiles.js +391 -0
  378. package/dist/mocks/cohortBuilder/cohortBuilderMockProfiles.js.map +1 -0
  379. package/dist/mocks/cohortBuilder/cohortBuilderMockQueryEngine.d.ts +41 -0
  380. package/dist/mocks/cohortBuilder/cohortBuilderMockQueryEngine.d.ts.map +1 -0
  381. package/dist/mocks/cohortBuilder/cohortBuilderMockQueryEngine.js +379 -0
  382. package/dist/mocks/cohortBuilder/cohortBuilderMockQueryEngine.js.map +1 -0
  383. package/dist/mocks/cohortBuilder/cohortBuilderSyntheticData.d.ts +26 -0
  384. package/dist/mocks/cohortBuilder/cohortBuilderSyntheticData.d.ts.map +1 -0
  385. package/dist/mocks/cohortBuilder/cohortBuilderSyntheticData.js +112 -0
  386. package/dist/mocks/cohortBuilder/cohortBuilderSyntheticData.js.map +1 -0
  387. package/dist/mocks/mockAnnotationColumns.d.ts.map +1 -1
  388. package/dist/mocks/mockAnnotationColumns.js +1 -1
  389. package/dist/mocks/mockAnnotationColumns.js.map +1 -1
  390. package/dist/mocks/msw/handlers/aridhiaHandlers.d.ts +9 -0
  391. package/dist/mocks/msw/handlers/aridhiaHandlers.d.ts.map +1 -1
  392. package/dist/mocks/msw/handlers/aridhiaHandlers.js +24 -15
  393. package/dist/mocks/msw/handlers/aridhiaHandlers.js.map +1 -1
  394. package/dist/mocks/msw/handlers/asyncJobHandlers.d.ts +21 -2
  395. package/dist/mocks/msw/handlers/asyncJobHandlers.d.ts.map +1 -1
  396. package/dist/mocks/msw/handlers/asyncJobHandlers.js +30 -22
  397. package/dist/mocks/msw/handlers/asyncJobHandlers.js.map +1 -1
  398. package/dist/mocks/msw/handlers/cohortBuilderHandlers.d.ts +27 -0
  399. package/dist/mocks/msw/handlers/cohortBuilderHandlers.d.ts.map +1 -0
  400. package/dist/mocks/msw/handlers/cohortBuilderHandlers.js +158 -0
  401. package/dist/mocks/msw/handlers/cohortBuilderHandlers.js.map +1 -0
  402. package/dist/mocks/msw/handlers/subscriptionHandlers.js +1 -1
  403. package/dist/mocks/msw/handlers/subscriptionHandlers.js.map +1 -1
  404. package/dist/mocks/msw/handlers/userProfileHandlers.d.ts.map +1 -1
  405. package/dist/mocks/msw/handlers/userProfileHandlers.js +2 -2
  406. package/dist/mocks/msw/handlers/userProfileHandlers.js.map +1 -1
  407. package/dist/mocks/query/mockColumnCategoryTable.d.ts +19 -0
  408. package/dist/mocks/query/mockColumnCategoryTable.d.ts.map +1 -0
  409. package/dist/mocks/query/mockColumnCategoryTable.js +188 -0
  410. package/dist/mocks/query/mockColumnCategoryTable.js.map +1 -0
  411. package/dist/stories/ColorPaletteInspector.d.ts.map +1 -1
  412. package/dist/stories/ColorPaletteInspector.js +2 -2
  413. package/dist/stories/ColorPaletteInspector.js.map +1 -1
  414. package/dist/style/components/facet_nav/_facet-nav-panel.scss +8 -0
  415. package/dist/style/main.css +1 -1
  416. package/dist/synapse-queries/auth/useOIDC.js +2 -2
  417. package/dist/synapse-queries/auth/useOIDC.js.map +1 -1
  418. package/dist/synapse-queries/auth/useUnbindOAuthProviderIdentity.js +2 -2
  419. package/dist/synapse-queries/auth/useUnbindOAuthProviderIdentity.js.map +1 -1
  420. package/dist/synapse-queries/challenge/useChallenge.js +2 -2
  421. package/dist/synapse-queries/challenge/useChallenge.js.map +1 -1
  422. package/dist/synapse-queries/chat/useChat.js +8 -8
  423. package/dist/synapse-queries/chat/useChat.js.map +1 -1
  424. package/dist/synapse-queries/curation/task/useCurationTask.js +10 -10
  425. package/dist/synapse-queries/curation/task/useCurationTask.js.map +1 -1
  426. package/dist/synapse-queries/dataaccess/useAccessRequirements.js +24 -24
  427. package/dist/synapse-queries/dataaccess/useAccessRequirements.js.map +1 -1
  428. package/dist/synapse-queries/dataaccess/useDataAccessSubmission.js +4 -4
  429. package/dist/synapse-queries/dataaccess/useDataAccessSubmission.js.map +1 -1
  430. package/dist/synapse-queries/dataaccess/useEDuc.js +6 -6
  431. package/dist/synapse-queries/dataaccess/useEDuc.js.map +1 -1
  432. package/dist/synapse-queries/dataaccess/useFormTemplate.js +4 -4
  433. package/dist/synapse-queries/dataaccess/useFormTemplate.js.map +1 -1
  434. package/dist/synapse-queries/download/index.js +2 -2
  435. package/dist/synapse-queries/download/useDownloadList.d.ts +5 -0
  436. package/dist/synapse-queries/download/useDownloadList.d.ts.map +1 -1
  437. package/dist/synapse-queries/download/useDownloadList.js +14 -13
  438. package/dist/synapse-queries/download/useDownloadList.js.map +1 -1
  439. package/dist/synapse-queries/entity/useEntity.d.ts.map +1 -1
  440. package/dist/synapse-queries/entity/useEntity.js +20 -20
  441. package/dist/synapse-queries/entity/useEntity.js.map +1 -1
  442. package/dist/synapse-queries/entity/useExportToADWorkbench.d.ts.map +1 -1
  443. package/dist/synapse-queries/entity/useExportToADWorkbench.js +2 -1
  444. package/dist/synapse-queries/entity/useExportToADWorkbench.js.map +1 -1
  445. package/dist/synapse-queries/entity/useExportToCavatica.d.ts.map +1 -1
  446. package/dist/synapse-queries/entity/useExportToCavatica.js +3 -2
  447. package/dist/synapse-queries/entity/useExportToCavatica.js.map +1 -1
  448. package/dist/synapse-queries/entity/useExportToPluto.d.ts.map +1 -1
  449. package/dist/synapse-queries/entity/useExportToPluto.js +2 -1
  450. package/dist/synapse-queries/entity/useExportToPluto.js.map +1 -1
  451. package/dist/synapse-queries/entity/useGetQueryResultBundle.d.ts.map +1 -1
  452. package/dist/synapse-queries/entity/useGetQueryResultBundle.js +4 -7
  453. package/dist/synapse-queries/entity/useGetQueryResultBundle.js.map +1 -1
  454. package/dist/synapse-queries/forum/useReply.js +6 -6
  455. package/dist/synapse-queries/forum/useReply.js.map +1 -1
  456. package/dist/synapse-queries/forum/useThread.js +14 -14
  457. package/dist/synapse-queries/forum/useThread.js.map +1 -1
  458. package/dist/synapse-queries/grid/useEstablishWebsocketConnection.js +1 -1
  459. package/dist/synapse-queries/grid/useEstablishWebsocketConnection.js.map +1 -1
  460. package/dist/synapse-queries/grid/useGridSession.js +4 -4
  461. package/dist/synapse-queries/grid/useGridSession.js.map +1 -1
  462. package/dist/synapse-queries/index.js +177 -176
  463. package/dist/synapse-queries/oauth/useOAuthClient.js +9 -9
  464. package/dist/synapse-queries/oauth/useOAuthClient.js.map +1 -1
  465. package/dist/synapse-queries/portal/usePortal.js +7 -7
  466. package/dist/synapse-queries/portal/usePortal.js.map +1 -1
  467. package/dist/synapse-queries/subscription/useSubscription.js +4 -4
  468. package/dist/synapse-queries/subscription/useSubscription.js.map +1 -1
  469. package/dist/synapse-queries/table/useTableUpdateTransaction.js +2 -2
  470. package/dist/synapse-queries/table/useTableUpdateTransaction.js.map +1 -1
  471. package/dist/synapse-queries/team/useTeam.js +2 -2
  472. package/dist/synapse-queries/team/useTeam.js.map +1 -1
  473. package/dist/synapse-queries/team/useTeamList.d.ts.map +1 -1
  474. package/dist/synapse-queries/team/useTeamList.js +3 -3
  475. package/dist/synapse-queries/team/useTeamList.js.map +1 -1
  476. package/dist/synapse-queries/team/useTeamMembers.js +8 -8
  477. package/dist/synapse-queries/team/useTeamMembers.js.map +1 -1
  478. package/dist/synapse-queries/termsOfService/useTermsOfService.js +2 -2
  479. package/dist/synapse-queries/termsOfService/useTermsOfService.js.map +1 -1
  480. package/dist/synapse-queries/trash/useTrashCan.js +4 -4
  481. package/dist/synapse-queries/trash/useTrashCan.js.map +1 -1
  482. package/dist/synapse-queries/user/useCertificationQuiz.js +2 -2
  483. package/dist/synapse-queries/user/useCertificationQuiz.js.map +1 -1
  484. package/dist/synapse-queries/user/useFavorites.js +4 -4
  485. package/dist/synapse-queries/user/useFavorites.js.map +1 -1
  486. package/dist/synapse-queries/user/useRevokeCertification.js +2 -2
  487. package/dist/synapse-queries/user/useRevokeCertification.js.map +1 -1
  488. package/dist/synapse-queries/wiki/useWiki.js +10 -10
  489. package/dist/synapse-queries/wiki/useWiki.js.map +1 -1
  490. package/dist/tsconfig.build.tsbuildinfo +1 -1
  491. package/dist/utils/ContentTypeUtils.js +4 -4
  492. package/dist/utils/ContentTypeUtils.js.map +1 -1
  493. package/dist/utils/PermissionLevelToAccessType.js +1 -1
  494. package/dist/utils/PermissionLevelToAccessType.js.map +1 -1
  495. package/dist/utils/analytics/useGoogleAnalytics.js +1 -1
  496. package/dist/utils/analytics/useGoogleAnalytics.js.map +1 -1
  497. package/dist/utils/context/DocumentMetadataContext.js +1 -1
  498. package/dist/utils/context/DocumentMetadataContext.js.map +1 -1
  499. package/dist/utils/functions/AccessControlListUtils.d.ts.map +1 -1
  500. package/dist/utils/functions/AccessControlListUtils.js +3 -3
  501. package/dist/utils/functions/AccessControlListUtils.js.map +1 -1
  502. package/dist/utils/functions/ArrayUtils.js +2 -2
  503. package/dist/utils/functions/ArrayUtils.js.map +1 -1
  504. package/dist/utils/functions/FileHandleUtils.js +1 -1
  505. package/dist/utils/functions/FileHandleUtils.js.map +1 -1
  506. package/dist/utils/functions/RegularExpressions.js +1 -1
  507. package/dist/utils/functions/RegularExpressions.js.map +1 -1
  508. package/dist/utils/functions/StringUtils.d.ts.map +1 -1
  509. package/dist/utils/functions/StringUtils.js +1 -2
  510. package/dist/utils/functions/StringUtils.js.map +1 -1
  511. package/dist/utils/functions/deepLinkingUtils.js +2 -2
  512. package/dist/utils/functions/deepLinkingUtils.js.map +1 -1
  513. package/dist/utils/functions/enumerationFacet.d.ts +26 -0
  514. package/dist/utils/functions/enumerationFacet.d.ts.map +1 -0
  515. package/dist/utils/functions/enumerationFacet.js +27 -0
  516. package/dist/utils/functions/enumerationFacet.js.map +1 -0
  517. package/dist/utils/functions/facetCountUtils.d.ts +12 -0
  518. package/dist/utils/functions/facetCountUtils.d.ts.map +1 -0
  519. package/dist/utils/functions/facetCountUtils.js +9 -0
  520. package/dist/utils/functions/facetCountUtils.js.map +1 -0
  521. package/dist/utils/functions/getEndpoint.js.map +1 -1
  522. package/dist/utils/functions/getUserData.js +1 -1
  523. package/dist/utils/functions/getUserData.js.map +1 -1
  524. package/dist/utils/functions/queryUtils.d.ts +1 -1
  525. package/dist/utils/functions/queryUtils.d.ts.map +1 -1
  526. package/dist/utils/functions/queryUtils.js +26 -22
  527. package/dist/utils/functions/queryUtils.js.map +1 -1
  528. package/dist/utils/functions/testDownloadSpeed.d.ts.map +1 -1
  529. package/dist/utils/functions/testDownloadSpeed.js +17 -26
  530. package/dist/utils/functions/testDownloadSpeed.js.map +1 -1
  531. package/dist/utils/functions/unCamelCase.js +1 -1
  532. package/dist/utils/functions/unCamelCase.js.map +1 -1
  533. package/dist/utils/hooks/useGetInfoFromIds.js +5 -5
  534. package/dist/utils/hooks/useGetInfoFromIds.js.map +1 -1
  535. package/dist/utils/hooks/useImmutableTableQuery/TableQueryReducerActions.js +1 -1
  536. package/dist/utils/hooks/useImmutableTableQuery/TableQueryReducerActions.js.map +1 -1
  537. package/dist/utils/hooks/useLogin.d.ts.map +1 -1
  538. package/dist/utils/hooks/useLogin.js +5 -5
  539. package/dist/utils/hooks/useLogin.js.map +1 -1
  540. package/dist/utils/hooks/useUploadFileEntity/useCreateFolderPath.js.map +1 -1
  541. package/dist/utils/jsonschema/collectTopLevelProperties.d.ts +6 -0
  542. package/dist/utils/jsonschema/collectTopLevelProperties.d.ts.map +1 -1
  543. package/dist/utils/jsonschema/collectTopLevelProperties.js +1 -1
  544. package/dist/utils/jsonschema/collectTopLevelProperties.js.map +1 -1
  545. package/dist/utils/jsonschema/getNumberOrEnumInfo.d.ts +22 -0
  546. package/dist/utils/jsonschema/getNumberOrEnumInfo.d.ts.map +1 -0
  547. package/dist/utils/jsonschema/getNumberOrEnumInfo.js +39 -0
  548. package/dist/utils/jsonschema/getNumberOrEnumInfo.js.map +1 -0
  549. package/dist/utils/jsonschema/getOnlyNonNullOneOfOption.d.ts +1 -0
  550. package/dist/utils/jsonschema/getOnlyNonNullOneOfOption.d.ts.map +1 -1
  551. package/dist/utils/jsonschema/getOnlyNonNullOneOfOption.js +1 -1
  552. package/dist/utils/jsonschema/getOnlyNonNullOneOfOption.js.map +1 -1
  553. package/dist/utils/jsonschema/getSchemaPropertyInfo.d.ts +5 -0
  554. package/dist/utils/jsonschema/getSchemaPropertyInfo.d.ts.map +1 -1
  555. package/dist/utils/jsonschema/getSchemaPropertyInfo.js +30 -15
  556. package/dist/utils/jsonschema/getSchemaPropertyInfo.js.map +1 -1
  557. package/dist/utils/jsonschema/submissionContext.js +2 -2
  558. package/dist/utils/jsonschema/submissionContext.js.map +1 -1
  559. package/package.json +4 -4
@@ -1,140 +1,141 @@
1
- import { useGetEntityHeader as e } from "../../synapse-queries/entity/useGetEntityHeaders.js";
1
+ import { useQueryVisualizationContext as e } from "../QueryVisualizationWrapper/QueryVisualizationContext.js";
2
+ import { useGetEntityHeader as t } from "../../synapse-queries/entity/useGetEntityHeaders.js";
3
+ import { getEnumerationFacet as n } from "../../utils/functions/enumerationFacet.js";
2
4
  import "../../synapse-queries/index.js";
3
- import { useQueryContext as t } from "../QueryContext/QueryContext.js";
5
+ import { useQueryContext as r } from "../QueryContext/QueryContext.js";
4
6
  import "../QueryContext/index.js";
5
- import { useGetQueryMetadata as n } from "../QueryWrapper/useGetQueryMetadata.js";
6
- import { useQueryVisualizationContext as r } from "../QueryVisualizationWrapper/QueryVisualizationContext.js";
7
+ import { useGetQueryMetadata as i } from "../QueryWrapper/useGetQueryMetadata.js";
7
8
  import "../QueryVisualizationWrapper/index.js";
8
- import { isRowSelectedAtom as i, selectedRowsAtom as a } from "../QueryWrapper/TableRowSelectionState.js";
9
- import { useSynapseTableContext as o } from "./SynapseTableContext.js";
10
- import s from "../AddToDownloadListV2.js";
11
- import c from "../DirectDownload/FileEntityDirectDownload.js";
12
- import l from "../HasAccess/index.js";
13
- import u from "../TanStackTable/ColumnHeader.js";
14
- import { EnumFacetFilter as d } from "../widgets/query-filter/EnumFacetFilter/EnumFacetFilter.js";
15
- import f from "./EntityIDColumnCopyIcon.js";
16
- import p from "./SynapseTableCell/index.js";
17
- import { useCallback as m } from "react";
18
- import { isEqual as h } from "lodash-es";
19
- import { Checkbox as g } from "@mui/material";
20
- import { Fragment as _, jsx as v } from "react/jsx-runtime";
21
- import { ColumnTypeEnum as y } from "@sage-bionetworks/synapse-types";
22
- import { useAtom as b, useAtomValue as x } from "jotai";
23
- import { useInView as S } from "react-intersection-observer";
24
- import { createColumnHelper as C } from "@tanstack/react-table";
9
+ import { isRowSelectedAtom as a, selectedRowsAtom as o } from "../QueryWrapper/TableRowSelectionState.js";
10
+ import { useSynapseTableContext as s } from "./SynapseTableContext.js";
11
+ import c from "../AddToDownloadListV2.js";
12
+ import l from "../DirectDownload/FileEntityDirectDownload.js";
13
+ import u from "../HasAccess/index.js";
14
+ import d from "../TanStackTable/ColumnHeader.js";
15
+ import { EnumFacetFilter as f } from "../widgets/query-filter/EnumFacetFilter/EnumFacetFilter.js";
16
+ import p from "./EntityIDColumnCopyIcon.js";
17
+ import m from "./SynapseTableCell/index.js";
18
+ import { useCallback as h } from "react";
19
+ import { isEqual as g } from "lodash-es";
20
+ import { Checkbox as _ } from "@mui/material";
21
+ import { Fragment as v, jsx as y } from "react/jsx-runtime";
22
+ import { ColumnTypeEnum as b } from "@sage-bionetworks/synapse-types";
23
+ import { useAtom as x, useAtomValue as S } from "jotai";
24
+ import { useInView as C } from "react-intersection-observer";
25
+ import { createColumnHelper as w } from "@tanstack/react-table";
25
26
  //#region src/components/SynapseTable/SynapseTableRenderers.tsx
26
- var w = "org.sagebionetworks.web.client.SynapseTablePredefinedColumn", T = C();
27
- function E(e) {
28
- let { row: t, table: n } = e, r = n.options.meta?.rowSet, o = x(i), [s, c] = b(a);
29
- return /* @__PURE__ */ v("div", { children: /* @__PURE__ */ v(g, {
27
+ var T = "org.sagebionetworks.web.client.SynapseTablePredefinedColumn", E = w();
28
+ function D(e) {
29
+ let { row: t, table: n } = e, r = n.options.meta?.rowSet, i = S(a), [s, c] = x(o);
30
+ return /* @__PURE__ */ y("div", { children: /* @__PURE__ */ y(_, {
30
31
  inputProps: { "aria-label": "Select row" },
31
- checked: o(t.original, r.headers),
32
+ checked: i(t.original, r.headers),
32
33
  onChange: (e, n) => {
33
34
  let r = [...s];
34
35
  if (n) r.push(t.original);
35
36
  else {
36
- let e = r.findIndex((e) => h(e, t.original));
37
+ let e = r.findIndex((e) => g(e, t.original));
37
38
  e > -1 && r.splice(e, 1);
38
39
  }
39
40
  c(r);
40
41
  }
41
42
  }) });
42
43
  }
43
- var D = T.display({
44
- id: `${w}.RowSelectionColumn`,
44
+ var O = E.display({
45
+ id: `${T}.RowSelectionColumn`,
45
46
  enableResizing: !1,
46
- cell: E,
47
+ cell: D,
47
48
  maxSize: 36,
48
49
  meta: { textAlign: "center" }
49
50
  });
50
- function O(t) {
51
- let n = M(t), r = P(t), i = r ? parseInt(r) : void 0, { data: a } = e(n);
52
- return /* @__PURE__ */ v("div", {
51
+ function k(e) {
52
+ let n = N(e), r = F(e), i = r ? parseInt(r) : void 0, { data: a } = t(n);
53
+ return /* @__PURE__ */ y("div", {
53
54
  "data-testid": "AddToDownloadListCell",
54
- children: a?.type === "org.sagebionetworks.repo.model.FileEntity" && /* @__PURE__ */ v(s, {
55
+ children: a?.type === "org.sagebionetworks.repo.model.FileEntity" && /* @__PURE__ */ y(c, {
55
56
  entityId: n,
56
57
  entityVersionNumber: i
57
58
  })
58
59
  });
59
60
  }
60
- var k = T.display({
61
- id: `${w}.AddToDownloadListColumn`,
61
+ var A = E.display({
62
+ id: `${T}.AddToDownloadListColumn`,
62
63
  enableResizing: !1,
63
- cell: O,
64
+ cell: k,
64
65
  maxSize: 50,
65
66
  meta: { textAlign: "center" }
66
67
  });
67
- function A(e) {
68
- return /* @__PURE__ */ v("div", {
68
+ function j(e) {
69
+ return /* @__PURE__ */ y("div", {
69
70
  "data-testid": "DirectDownloadCell",
70
- children: /* @__PURE__ */ v(c, {
71
- entityId: M(e),
72
- entityVersionNumber: P(e),
71
+ children: /* @__PURE__ */ y(l, {
72
+ entityId: N(e),
73
+ entityVersionNumber: F(e),
73
74
  iconSvgPropOverrides: { sx: { color: "primary.main" } }
74
75
  })
75
76
  });
76
77
  }
77
- var j = T.display({
78
- id: `${w}.DirectDownload`,
78
+ var M = E.display({
79
+ id: `${T}.DirectDownload`,
79
80
  enableResizing: !1,
80
- cell: A,
81
+ cell: j,
81
82
  maxSize: 50,
82
83
  meta: { textAlign: "center" }
83
84
  });
84
- function M(e) {
85
+ function N(e) {
85
86
  let { row: t, table: n } = e, r = n.options.meta?.rowEntityIDColumnIndex;
86
87
  return r === void 0 ? t.original.rowId?.toString() : t.original.values[r];
87
88
  }
88
- function N(e) {
89
+ function P(e) {
89
90
  let { table: t } = e;
90
91
  return t.options.meta?.rowEntityVersionColumnIndex !== void 0;
91
92
  }
92
- function P(e) {
93
+ function F(e) {
93
94
  let { row: t, table: n } = e, r = n.options.meta?.rowEntityVersionColumnIndex;
94
95
  return r === void 0 ? t.original.versionNumber?.toString() : t.original.values[r];
95
96
  }
96
- function F(e) {
97
- let { showExternalAccessIcon: t } = o(), { ref: n, inView: r } = S({ triggerOnce: !0 }), i = M(e);
98
- return /* @__PURE__ */ v("div", {
97
+ function I(e) {
98
+ let { showExternalAccessIcon: t } = s(), { ref: n, inView: r } = C({ triggerOnce: !0 }), i = N(e);
99
+ return /* @__PURE__ */ y("div", {
99
100
  ref: n,
100
101
  "data-testid": "AccessCell",
101
- children: (!t || t && r) && /* @__PURE__ */ v(l, {
102
+ children: (!t || t && r) && /* @__PURE__ */ y(u, {
102
103
  entityId: i,
103
104
  showButtonText: !1,
104
105
  showExternalAccessIcon: t
105
106
  }, i)
106
107
  });
107
108
  }
108
- var I = T.display({
109
- id: `${w}.Access`,
109
+ var L = E.display({
110
+ id: `${T}.Access`,
110
111
  enableResizing: !1,
111
- cell: F,
112
+ cell: I,
112
113
  maxSize: 50,
113
114
  meta: { textAlign: "center" }
114
115
  });
115
- function L(e) {
116
- let { column: i } = e, { lockedColumn: a } = t(), { data: o } = n(), s = o?.columnModels ?? [], c = (o?.selectColumns ?? []).find((e) => e.name === i.id), l = s.find((e) => e.name === i.id), p = o?.facets ?? [], { getColumnDisplayName: h, getHelpText: g } = r(), b = c ? h(c.name) : i.id, x = c ? g(c.name) : void 0, S = p.findIndex((e) => e.columnName === l?.name && e.jsonPath == null), C = S !== -1 && p[S].facetType === "enumeration", w = p[S], T = c && c.name.toLowerCase() === a?.columnName?.toLowerCase(), E = c?.name == "id" && c.columnType == y.ENTITYID;
117
- return e.column.getCanFilter = m(() => !!(C && !T && l), [
118
- C,
116
+ function R(t) {
117
+ let { column: a } = t, { lockedColumn: o } = r(), { data: s } = i(), c = s?.columnModels ?? [], l = (s?.selectColumns ?? []).find((e) => e.name === a.id), u = c.find((e) => e.name === a.id), m = s?.facets ?? [], { getColumnDisplayName: g, getHelpText: _ } = e(), x = l ? g(l.name) : a.id, S = l ? _(l.name) : void 0, C = m.findIndex((e) => e.columnName === u?.name && e.jsonPath == null), w = C === -1 ? void 0 : n(m[C]), T = w !== void 0, E = l && l.name.toLowerCase() === o?.columnName?.toLowerCase(), D = l?.name == "id" && l.columnType == b.ENTITYID;
118
+ return t.column.getCanFilter = h(() => !!(T && !E && u), [
119
119
  T,
120
- l
121
- ]), /* @__PURE__ */ v(u, {
122
- ...e,
123
- title: b,
124
- helpText: x,
125
- filterControl: /* @__PURE__ */ v("span", { children: /* @__PURE__ */ v(d, {
120
+ E,
121
+ u
122
+ ]), /* @__PURE__ */ y(d, {
123
+ ...t,
124
+ title: x,
125
+ helpText: S,
126
+ filterControl: w && /* @__PURE__ */ y("span", { children: /* @__PURE__ */ y(f, {
126
127
  containerAs: "Dropdown",
127
128
  facet: w,
128
129
  defaultShowAllValues: !0
129
130
  }) }),
130
- additionalButtons: /* @__PURE__ */ v(_, { children: E && /* @__PURE__ */ v(f, { size: "small" }) })
131
+ additionalButtons: /* @__PURE__ */ y(v, { children: D && /* @__PURE__ */ y(p, { size: "small" }) })
131
132
  });
132
133
  }
133
- function R(e) {
134
- let { cell: t, table: r } = e, { data: i } = n(), a = M(e), s = P(e), c = s === void 0 ? void 0 : parseInt(s), l = r.options.meta?.rowSet?.headers ?? [], u = l.find((e) => e.name === t.column.id), d = i?.columnModels ?? [], { columnLinks: f } = o();
134
+ function z(e) {
135
+ let { cell: t, table: n } = e, { data: r } = i(), a = N(e), o = F(e), c = o === void 0 ? void 0 : parseInt(o), l = n.options.meta?.rowSet?.headers ?? [], u = l.find((e) => e.name === t.column.id), d = r?.columnModels ?? [], { columnLinks: f } = s();
135
136
  if (u) {
136
137
  let n = (f ?? []).find((e) => e.matchColumnName === u.name), r = d.find((e) => e.name === u.name)?.columnType ?? u.columnType, i = t.column.getIsSorted() ? "SRC-boldText" : "";
137
- return /* @__PURE__ */ v(p, {
138
+ return /* @__PURE__ */ y(m, {
138
139
  columnType: r,
139
140
  columnValue: t.getValue(),
140
141
  isBold: i,
@@ -145,11 +146,11 @@ function R(e) {
145
146
  columnModels: d,
146
147
  rowId: a,
147
148
  rowVersionNumber: c,
148
- isRowEntityColumn: N(e)
149
+ isRowEntityColumn: P(e)
149
150
  }, t.id);
150
- } else return /* @__PURE__ */ v("td", {}, t.id);
151
+ } else return /* @__PURE__ */ y("td", {}, t.id);
151
152
  }
152
153
  //#endregion
153
- export { R as TableDataCell, L as TableDataColumnHeader, I as accessColumn, k as addToDownloadListColumn, j as directDownloadColumn, D as rowSelectionColumn };
154
+ export { z as TableDataCell, R as TableDataColumnHeader, L as accessColumn, A as addToDownloadListColumn, M as directDownloadColumn, O as rowSelectionColumn };
154
155
 
155
156
  //# sourceMappingURL=SynapseTableRenderers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SynapseTableRenderers.js","names":[],"sources":["../../../src/components/SynapseTable/SynapseTableRenderers.tsx"],"sourcesContent":["import { useGetEntityHeader } from '@/synapse-queries'\nimport { Checkbox } from '@mui/material'\nimport {\n ColumnTypeEnum,\n FacetColumnResult,\n FacetColumnResultValues,\n Row,\n} from '@sage-bionetworks/synapse-types'\nimport {\n CellContext,\n createColumnHelper,\n HeaderContext,\n} from '@tanstack/react-table'\nimport { useAtom, useAtomValue } from 'jotai'\nimport { isEqual } from 'lodash-es'\nimport { useCallback } from 'react'\nimport AddToDownloadListV2 from '../AddToDownloadListV2'\nimport FileEntityDirectDownload from '../DirectDownload/FileEntityDirectDownload'\nimport HasAccessV2 from '../HasAccess'\nimport { useQueryContext } from '../QueryContext'\nimport { useQueryVisualizationContext } from '../QueryVisualizationWrapper'\nimport {\n isRowSelectedAtom,\n selectedRowsAtom,\n} from '../QueryWrapper/TableRowSelectionState'\nimport { useGetQueryMetadata } from '../QueryWrapper/useGetQueryMetadata'\nimport ColumnHeader from '../TanStackTable/ColumnHeader'\nimport { EnumFacetFilter } from '../widgets/query-filter/EnumFacetFilter/EnumFacetFilter'\nimport EntityIDColumnCopyIcon from './EntityIDColumnCopyIcon'\nimport SynapseTableCell from './SynapseTableCell'\nimport { useSynapseTableContext } from './SynapseTableContext'\nimport { useInView } from 'react-intersection-observer'\n\n// Add a prefix to these column IDs so they don't collide with actual column names\nconst columnIdPrefix =\n 'org.sagebionetworks.web.client.SynapseTablePredefinedColumn'\n\nconst columnHelper = createColumnHelper<Row>()\n\nfunction RowSelectionCell<TValue = unknown>(props: CellContext<Row, TValue>) {\n const { row, table } = props\n const rowSet = table.options.meta?.rowSet\n\n const isRowSelected = useAtomValue(isRowSelectedAtom)\n const [selectedRows, setSelectedRows] = useAtom(selectedRowsAtom)\n\n return (\n <div>\n <Checkbox\n inputProps={{ 'aria-label': 'Select row' }}\n checked={isRowSelected(row.original, rowSet!.headers)}\n onChange={(_event, checked) => {\n const cloneSelectedRows = [...selectedRows]\n if (checked) {\n cloneSelectedRows.push(row.original)\n } else {\n const index = cloneSelectedRows.findIndex(selectedRow =>\n isEqual(selectedRow, row.original),\n )\n if (index > -1) {\n cloneSelectedRows.splice(index, 1)\n }\n }\n // update context on change\n setSelectedRows(cloneSelectedRows)\n }}\n />\n </div>\n )\n}\n\nexport const rowSelectionColumn = columnHelper.display({\n id: `${columnIdPrefix}.RowSelectionColumn`,\n enableResizing: false,\n cell: RowSelectionCell,\n maxSize: 36,\n meta: {\n textAlign: 'center',\n },\n})\n\nfunction AddToDownloadListCell<TValue = unknown>(\n props: CellContext<Row, TValue>,\n) {\n const entityId = getEntityOrRowId(props)!\n const versionNumberString = getEntityOrRowVersion(props)\n const versionNumber = versionNumberString\n ? parseInt(versionNumberString)\n : undefined\n const { data: entityHeader } = useGetEntityHeader(entityId)\n return (\n <div data-testid={'AddToDownloadListCell'}>\n {entityHeader?.type === 'org.sagebionetworks.repo.model.FileEntity' && (\n <AddToDownloadListV2\n entityId={entityId}\n entityVersionNumber={versionNumber}\n />\n )}\n </div>\n )\n}\n\nexport const addToDownloadListColumn = columnHelper.display({\n id: `${columnIdPrefix}.AddToDownloadListColumn`,\n enableResizing: false,\n cell: AddToDownloadListCell,\n maxSize: 50,\n meta: {\n textAlign: 'center',\n },\n})\n\nfunction DirectDownloadCell<TValue = unknown>(props: CellContext<Row, TValue>) {\n const entityId = getEntityOrRowId(props)!\n const versionNumber = getEntityOrRowVersion(props)\n\n return (\n <div data-testid={'DirectDownloadCell'}>\n <FileEntityDirectDownload\n entityId={entityId}\n entityVersionNumber={versionNumber}\n iconSvgPropOverrides={{ sx: { color: 'primary.main' } }}\n />\n </div>\n )\n}\n\nexport const directDownloadColumn = columnHelper.display({\n id: `${columnIdPrefix}.DirectDownload`,\n enableResizing: false,\n cell: DirectDownloadCell,\n maxSize: 50,\n meta: {\n textAlign: 'center',\n },\n})\n\n/**\n * Given the (tanstack react) Table CellContext, return the rowId of the current Synapse Table Row.\n * If a rowEntityIDColumnName was provided in the table config, then instead return the entityID found in\n * that cell of the current Row.\n */\nfunction getEntityOrRowId<TValue = unknown>(\n props: CellContext<Row, TValue>,\n): string | undefined {\n const { row, table } = props\n const rowEntityIDColumnIndex = table.options.meta?.rowEntityIDColumnIndex\n const entityId =\n rowEntityIDColumnIndex !== undefined\n ? row.original.values[rowEntityIDColumnIndex]!\n : row.original.rowId?.toString()\n return entityId\n}\n\n/**\n * Given the (tanstack react) Table CellContext, return true if the table configuration defines a row entity version column name.\n * This will be used as the entity that represents the current Row.\n * @param props\n * @returns\n */\nfunction isRowEntityColumn<TValue = unknown>(\n props: CellContext<Row, TValue>,\n): boolean {\n const { table } = props\n return table.options.meta?.rowEntityVersionColumnIndex !== undefined\n}\n\n/**\n * Given the (tanstack react) Table CellContext, return the version of the current Synapse Table Row.\n * If a rowEntityVersionColumnName was provided in the table config, then instead return the version found in\n * that cell of the current Row.\n */\nfunction getEntityOrRowVersion<TValue = unknown>(\n props: CellContext<Row, TValue>,\n): string | undefined {\n const { row, table } = props\n const rowEntityVersionColumnIndex =\n table.options.meta?.rowEntityVersionColumnIndex\n const versionNumber =\n rowEntityVersionColumnIndex !== undefined\n ? row.original.values[rowEntityVersionColumnIndex]!\n : row.original.versionNumber?.toString()\n return versionNumber\n}\n\nfunction AccessCell<TValue = unknown>(props: CellContext<Row, TValue>) {\n const { showExternalAccessIcon } = useSynapseTableContext()\n const { ref, inView } = useInView({ triggerOnce: true })\n const entityId = getEntityOrRowId(props)!\n\n // If showExternalAccessIcon is true, defer rendering until the cell is in view to limit simultaneous API calls\n const canRenderAccessIcon =\n !showExternalAccessIcon || (showExternalAccessIcon && inView)\n\n return (\n <div ref={ref} data-testid=\"AccessCell\">\n {canRenderAccessIcon && (\n <HasAccessV2\n key={entityId}\n entityId={entityId}\n showButtonText={false}\n showExternalAccessIcon={showExternalAccessIcon}\n />\n )}\n </div>\n )\n}\n\nexport const accessColumn = columnHelper.display({\n id: `${columnIdPrefix}.Access`,\n enableResizing: false,\n cell: AccessCell,\n maxSize: 50,\n meta: {\n textAlign: 'center',\n },\n})\n\nexport function TableDataColumnHeader(\n props: HeaderContext<Row, string | null>,\n) {\n const { column } = props\n const { lockedColumn } = useQueryContext()\n const { data: queryMetadata } = useGetQueryMetadata()\n const columnModels = queryMetadata?.columnModels ?? []\n const selectColumns = queryMetadata?.selectColumns ?? []\n const selectColumn = selectColumns.find(sc => sc.name === column.id)\n const columnModel = columnModels.find(cm => cm.name === column.id)\n const facets = queryMetadata?.facets ?? []\n const { getColumnDisplayName, getHelpText } = useQueryVisualizationContext()\n\n const displayColumnName = selectColumn\n ? getColumnDisplayName(selectColumn.name)\n : column.id\n const columnHelpText = selectColumn\n ? getHelpText(selectColumn.name)\n : undefined\n // we have to figure out if the current column is a facet selection\n const facetIndex: number = facets.findIndex(\n (facetColumnResult: FacetColumnResult) => {\n return (\n facetColumnResult.columnName === columnModel?.name &&\n // Exclude JSON subcolumn facets, since there may be more than one on a given column\n facetColumnResult.jsonPath == undefined\n )\n },\n )\n // the header must be included in the facets and it has to be enumerable for current rendering capabilities\n const isFacetSelection: boolean =\n facetIndex !== -1 && facets[facetIndex].facetType === 'enumeration'\n const facet = facets[facetIndex] as FacetColumnResultValues\n const isLockedColumn =\n selectColumn &&\n selectColumn.name.toLowerCase() === lockedColumn?.columnName?.toLowerCase() // used in details page to disable filter the column\n const isEntityIDColumn =\n selectColumn?.name == 'id' &&\n selectColumn.columnType == ColumnTypeEnum.ENTITYID\n\n // TODO: enableFiltering should be specified on the column, but for now it's easier to override `getCanFilter` here where we have the facet information\n props.column.getCanFilter = useCallback(\n () => Boolean(isFacetSelection && !isLockedColumn && columnModel),\n [isFacetSelection, isLockedColumn, columnModel],\n )\n\n return (\n <ColumnHeader\n {...props}\n title={displayColumnName}\n helpText={columnHelpText}\n filterControl={\n <span>\n <EnumFacetFilter\n containerAs=\"Dropdown\"\n facet={facet}\n defaultShowAllValues={true}\n />\n </span>\n }\n additionalButtons={\n <>{isEntityIDColumn && <EntityIDColumnCopyIcon size={'small'} />}</>\n }\n />\n )\n}\n\nexport function TableDataCell(props: CellContext<Row, string | null>) {\n const { cell, table } = props\n const { data: queryMetadata } = useGetQueryMetadata()\n const entityOrRowId = getEntityOrRowId(props)\n const entityOrRowVersion = getEntityOrRowVersion(props)\n const versionNumber =\n entityOrRowVersion !== undefined ? parseInt(entityOrRowVersion) : undefined\n const selectColumns = table.options.meta?.rowSet?.headers ?? []\n const selectColumn = selectColumns.find(cm => cm.name === cell.column.id)\n const columnModels = queryMetadata?.columnModels ?? []\n const { columnLinks } = useSynapseTableContext()\n if (selectColumn) {\n const columnLinkConfig = (columnLinks ?? []).find(el => {\n return el.matchColumnName === selectColumn.name\n })\n // Prefer the authoritative ColumnModel type over the SelectColumn type.\n // For regular table queries the two are always identical. For search queries,\n // SelectColumn types are fabricated as 'STRING' during the conversion from\n // SearchQueryResults, but columnModels (from the entity bundle) carry the\n // correct types (DATE, USERID, etc.) and are available once that bundle loads.\n const columnType =\n columnModels.find(cm => cm.name === selectColumn.name)?.columnType ??\n selectColumn.columnType\n const isBold = cell.column.getIsSorted() ? 'SRC-boldText' : ''\n return (\n <SynapseTableCell\n key={cell.id}\n columnType={columnType}\n columnValue={cell.getValue()}\n isBold={isBold}\n columnLinkConfig={columnLinkConfig}\n columnName={selectColumn.name}\n rowData={cell.row.original.values}\n selectColumns={selectColumns}\n columnModels={columnModels}\n rowId={entityOrRowId}\n rowVersionNumber={versionNumber}\n isRowEntityColumn={isRowEntityColumn(props)}\n />\n )\n } else return <td key={cell.id}></td>\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAkCA,IAAM,IACJ,+DAEI,IAAe,EAAwB;AAE7C,SAAS,EAAmC,GAAiC;CAC3E,IAAM,EAAE,QAAK,aAAU,GACjB,IAAS,EAAM,QAAQ,MAAM,QAE7B,IAAgB,EAAa,CAAiB,GAC9C,CAAC,GAAc,KAAmB,EAAQ,CAAgB;CAEhE,OACE,kBAAC,OAAD,EAAA,UACE,kBAAC,GAAD;EACE,YAAY,EAAE,cAAc,aAAa;EACzC,SAAS,EAAc,EAAI,UAAU,EAAQ,OAAO;EACpD,WAAW,GAAQ,MAAY;GAC7B,IAAM,IAAoB,CAAC,GAAG,CAAY;GAC1C,IAAI,GACF,EAAkB,KAAK,EAAI,QAAQ;QAC9B;IACL,IAAM,IAAQ,EAAkB,WAAU,MACxC,EAAQ,GAAa,EAAI,QAAQ,CACnC;IACA,AAAI,IAAQ,MACV,EAAkB,OAAO,GAAO,CAAC;GAErC;GAEA,EAAgB,CAAiB;EACnC;CACD,CAAA,EACE,CAAA;AAET;AAEA,IAAa,IAAqB,EAAa,QAAQ;CACrD,IAAI,GAAG,EAAe;CACtB,gBAAgB;CAChB,MAAM;CACN,SAAS;CACT,MAAM,EACJ,WAAW,SACb;AACF,CAAC;AAED,SAAS,EACP,GACA;CACA,IAAM,IAAW,EAAiB,CAAK,GACjC,IAAsB,EAAsB,CAAK,GACjD,IAAgB,IAClB,SAAS,CAAmB,IAC5B,KAAA,GACE,EAAE,MAAM,MAAiB,EAAmB,CAAQ;CAC1D,OACE,kBAAC,OAAD;EAAK,eAAa;YACf,GAAc,SAAS,+CACtB,kBAAC,GAAD;GACY;GACV,qBAAqB;EACtB,CAAA;CAEA,CAAA;AAET;AAEA,IAAa,IAA0B,EAAa,QAAQ;CAC1D,IAAI,GAAG,EAAe;CACtB,gBAAgB;CAChB,MAAM;CACN,SAAS;CACT,MAAM,EACJ,WAAW,SACb;AACF,CAAC;AAED,SAAS,EAAqC,GAAiC;CAI7E,OACE,kBAAC,OAAD;EAAK,eAAa;YAChB,kBAAC,GAAD;GACY,UANC,EAAiB,CAMlB;GACV,qBANgB,EAAsB,CAMjB;GACrB,sBAAsB,EAAE,IAAI,EAAE,OAAO,eAAe,EAAE;EACvD,CAAA;CACE,CAAA;AAET;AAEA,IAAa,IAAuB,EAAa,QAAQ;CACvD,IAAI,GAAG,EAAe;CACtB,gBAAgB;CAChB,MAAM;CACN,SAAS;CACT,MAAM,EACJ,WAAW,SACb;AACF,CAAC;AAOD,SAAS,EACP,GACoB;CACpB,IAAM,EAAE,QAAK,aAAU,GACjB,IAAyB,EAAM,QAAQ,MAAM;CAKnD,OAHE,MAA2B,KAAA,IAEvB,EAAI,SAAS,OAAO,SAAS,IAD7B,EAAI,SAAS,OAAO;AAG5B;AAQA,SAAS,EACP,GACS;CACT,IAAM,EAAE,aAAU;CAClB,OAAO,EAAM,QAAQ,MAAM,gCAAgC,KAAA;AAC7D;AAOA,SAAS,EACP,GACoB;CACpB,IAAM,EAAE,QAAK,aAAU,GACjB,IACJ,EAAM,QAAQ,MAAM;CAKtB,OAHE,MAAgC,KAAA,IAE5B,EAAI,SAAS,eAAe,SAAS,IADrC,EAAI,SAAS,OAAO;AAG5B;AAEA,SAAS,EAA6B,GAAiC;CACrE,IAAM,EAAE,8BAA2B,EAAuB,GACpD,EAAE,QAAK,cAAW,EAAU,EAAE,aAAa,GAAK,CAAC,GACjD,IAAW,EAAiB,CAAK;CAMvC,OACE,kBAAC,OAAD;EAAU;EAAK,eAAY;aAH3B,CAAC,KAA2B,KAA0B,MAKlD,kBAAC,GAAD;GAEY;GACV,gBAAgB;GACQ;EACzB,GAJM,CAIN;CAEA,CAAA;AAET;AAEA,IAAa,IAAe,EAAa,QAAQ;CAC/C,IAAI,GAAG,EAAe;CACtB,gBAAgB;CAChB,MAAM;CACN,SAAS;CACT,MAAM,EACJ,WAAW,SACb;AACF,CAAC;AAED,SAAgB,EACd,GACA;CACA,IAAM,EAAE,cAAW,GACb,EAAE,oBAAiB,EAAgB,GACnC,EAAE,MAAM,MAAkB,EAAoB,GAC9C,IAAe,GAAe,gBAAgB,CAAC,GAE/C,KADgB,GAAe,iBAAiB,CAAC,GACpB,MAAK,MAAM,EAAG,SAAS,EAAO,EAAE,GAC7D,IAAc,EAAa,MAAK,MAAM,EAAG,SAAS,EAAO,EAAE,GAC3D,IAAS,GAAe,UAAU,CAAC,GACnC,EAAE,yBAAsB,mBAAgB,EAA6B,GAErE,IAAoB,IACtB,EAAqB,EAAa,IAAI,IACtC,EAAO,IACL,IAAiB,IACnB,EAAY,EAAa,IAAI,IAC7B,KAAA,GAEE,IAAqB,EAAO,WAC/B,MAEG,EAAkB,eAAe,GAAa,QAE9C,EAAkB,YAAY,IAGpC,GAEM,IACJ,MAAe,MAAM,EAAO,GAAY,cAAc,eAClD,IAAQ,EAAO,IACf,IACJ,KACA,EAAa,KAAK,YAAY,MAAM,GAAc,YAAY,YAAY,GACtE,IACJ,GAAc,QAAQ,QACtB,EAAa,cAAc,EAAe;CAQ5C,OALA,EAAM,OAAO,eAAe,QACpB,GAAQ,KAAoB,CAAC,KAAkB,IACrD;EAAC;EAAkB;EAAgB;CAAW,CAChD,GAGE,kBAAC,GAAD;EACE,GAAI;EACJ,OAAO;EACP,UAAU;EACV,eACE,kBAAC,QAAD,EAAA,UACE,kBAAC,GAAD;GACE,aAAY;GACL;GACP,sBAAsB;EACvB,CAAA,EACG,CAAA;EAER,mBACE,kBAAA,GAAA,EAAA,UAAG,KAAoB,kBAAC,GAAD,EAAwB,MAAM,QAAU,CAAA,EAAI,CAAA;CAEtE,CAAA;AAEL;AAEA,SAAgB,EAAc,GAAwC;CACpE,IAAM,EAAE,SAAM,aAAU,GAClB,EAAE,MAAM,MAAkB,EAAoB,GAC9C,IAAgB,EAAiB,CAAK,GACtC,IAAqB,EAAsB,CAAK,GAChD,IACJ,MAAuB,KAAA,IAA2C,KAAA,IAA/B,SAAS,CAAkB,GAC1D,IAAgB,EAAM,QAAQ,MAAM,QAAQ,WAAW,CAAC,GACxD,IAAe,EAAc,MAAK,MAAM,EAAG,SAAS,EAAK,OAAO,EAAE,GAClE,IAAe,GAAe,gBAAgB,CAAC,GAC/C,EAAE,mBAAgB,EAAuB;CAC/C,IAAI,GAAc;EAChB,IAAM,KAAoB,KAAe,CAAC,GAAG,MAAK,MACzC,EAAG,oBAAoB,EAAa,IAC5C,GAMK,IACJ,EAAa,MAAK,MAAM,EAAG,SAAS,EAAa,IAAI,GAAG,cACxD,EAAa,YACT,IAAS,EAAK,OAAO,YAAY,IAAI,iBAAiB;EAC5D,OACE,kBAAC,GAAD;GAEc;GACZ,aAAa,EAAK,SAAS;GACnB;GACU;GAClB,YAAY,EAAa;GACzB,SAAS,EAAK,IAAI,SAAS;GACZ;GACD;GACd,OAAO;GACP,kBAAkB;GAClB,mBAAmB,EAAkB,CAAK;EAC3C,GAZM,EAAK,EAYX;CAEL,OAAO,OAAO,kBAAC,MAAD,CAAsB,GAAb,EAAK,EAAQ;AACtC"}
1
+ {"version":3,"file":"SynapseTableRenderers.js","names":[],"sources":["../../../src/components/SynapseTable/SynapseTableRenderers.tsx"],"sourcesContent":["import { useGetEntityHeader } from '@/synapse-queries'\nimport { Checkbox } from '@mui/material'\nimport { getEnumerationFacet } from '@/utils/functions/enumerationFacet'\nimport {\n ColumnTypeEnum,\n FacetColumnResult,\n Row,\n} from '@sage-bionetworks/synapse-types'\nimport {\n CellContext,\n createColumnHelper,\n HeaderContext,\n} from '@tanstack/react-table'\nimport { useAtom, useAtomValue } from 'jotai'\nimport { isEqual } from 'lodash-es'\nimport { useCallback } from 'react'\nimport AddToDownloadListV2 from '../AddToDownloadListV2'\nimport FileEntityDirectDownload from '../DirectDownload/FileEntityDirectDownload'\nimport HasAccessV2 from '../HasAccess'\nimport { useQueryContext } from '../QueryContext'\nimport { useQueryVisualizationContext } from '../QueryVisualizationWrapper'\nimport {\n isRowSelectedAtom,\n selectedRowsAtom,\n} from '../QueryWrapper/TableRowSelectionState'\nimport { useGetQueryMetadata } from '../QueryWrapper/useGetQueryMetadata'\nimport ColumnHeader from '../TanStackTable/ColumnHeader'\nimport { EnumFacetFilter } from '../widgets/query-filter/EnumFacetFilter/EnumFacetFilter'\nimport EntityIDColumnCopyIcon from './EntityIDColumnCopyIcon'\nimport SynapseTableCell from './SynapseTableCell'\nimport { useSynapseTableContext } from './SynapseTableContext'\nimport { useInView } from 'react-intersection-observer'\n\n// Add a prefix to these column IDs so they don't collide with actual column names\nconst columnIdPrefix =\n 'org.sagebionetworks.web.client.SynapseTablePredefinedColumn'\n\nconst columnHelper = createColumnHelper<Row>()\n\nfunction RowSelectionCell<TValue = unknown>(props: CellContext<Row, TValue>) {\n const { row, table } = props\n const rowSet = table.options.meta?.rowSet\n\n const isRowSelected = useAtomValue(isRowSelectedAtom)\n const [selectedRows, setSelectedRows] = useAtom(selectedRowsAtom)\n\n return (\n <div>\n <Checkbox\n inputProps={{ 'aria-label': 'Select row' }}\n checked={isRowSelected(row.original, rowSet!.headers)}\n onChange={(_event, checked) => {\n const cloneSelectedRows = [...selectedRows]\n if (checked) {\n cloneSelectedRows.push(row.original)\n } else {\n const index = cloneSelectedRows.findIndex(selectedRow =>\n isEqual(selectedRow, row.original),\n )\n if (index > -1) {\n cloneSelectedRows.splice(index, 1)\n }\n }\n // update context on change\n setSelectedRows(cloneSelectedRows)\n }}\n />\n </div>\n )\n}\n\nexport const rowSelectionColumn = columnHelper.display({\n id: `${columnIdPrefix}.RowSelectionColumn`,\n enableResizing: false,\n cell: RowSelectionCell,\n maxSize: 36,\n meta: {\n textAlign: 'center',\n },\n})\n\nfunction AddToDownloadListCell<TValue = unknown>(\n props: CellContext<Row, TValue>,\n) {\n const entityId = getEntityOrRowId(props)!\n const versionNumberString = getEntityOrRowVersion(props)\n const versionNumber = versionNumberString\n ? parseInt(versionNumberString)\n : undefined\n const { data: entityHeader } = useGetEntityHeader(entityId)\n return (\n <div data-testid={'AddToDownloadListCell'}>\n {entityHeader?.type === 'org.sagebionetworks.repo.model.FileEntity' && (\n <AddToDownloadListV2\n entityId={entityId}\n entityVersionNumber={versionNumber}\n />\n )}\n </div>\n )\n}\n\nexport const addToDownloadListColumn = columnHelper.display({\n id: `${columnIdPrefix}.AddToDownloadListColumn`,\n enableResizing: false,\n cell: AddToDownloadListCell,\n maxSize: 50,\n meta: {\n textAlign: 'center',\n },\n})\n\nfunction DirectDownloadCell<TValue = unknown>(props: CellContext<Row, TValue>) {\n const entityId = getEntityOrRowId(props)!\n const versionNumber = getEntityOrRowVersion(props)\n\n return (\n <div data-testid={'DirectDownloadCell'}>\n <FileEntityDirectDownload\n entityId={entityId}\n entityVersionNumber={versionNumber}\n iconSvgPropOverrides={{ sx: { color: 'primary.main' } }}\n />\n </div>\n )\n}\n\nexport const directDownloadColumn = columnHelper.display({\n id: `${columnIdPrefix}.DirectDownload`,\n enableResizing: false,\n cell: DirectDownloadCell,\n maxSize: 50,\n meta: {\n textAlign: 'center',\n },\n})\n\n/**\n * Given the (tanstack react) Table CellContext, return the rowId of the current Synapse Table Row.\n * If a rowEntityIDColumnName was provided in the table config, then instead return the entityID found in\n * that cell of the current Row.\n */\nfunction getEntityOrRowId<TValue = unknown>(\n props: CellContext<Row, TValue>,\n): string | undefined {\n const { row, table } = props\n const rowEntityIDColumnIndex = table.options.meta?.rowEntityIDColumnIndex\n const entityId =\n rowEntityIDColumnIndex !== undefined\n ? row.original.values[rowEntityIDColumnIndex]!\n : row.original.rowId?.toString()\n return entityId\n}\n\n/**\n * Given the (tanstack react) Table CellContext, return true if the table configuration defines a row entity version column name.\n * This will be used as the entity that represents the current Row.\n * @param props\n * @returns\n */\nfunction isRowEntityColumn<TValue = unknown>(\n props: CellContext<Row, TValue>,\n): boolean {\n const { table } = props\n return table.options.meta?.rowEntityVersionColumnIndex !== undefined\n}\n\n/**\n * Given the (tanstack react) Table CellContext, return the version of the current Synapse Table Row.\n * If a rowEntityVersionColumnName was provided in the table config, then instead return the version found in\n * that cell of the current Row.\n */\nfunction getEntityOrRowVersion<TValue = unknown>(\n props: CellContext<Row, TValue>,\n): string | undefined {\n const { row, table } = props\n const rowEntityVersionColumnIndex =\n table.options.meta?.rowEntityVersionColumnIndex\n const versionNumber =\n rowEntityVersionColumnIndex !== undefined\n ? row.original.values[rowEntityVersionColumnIndex]!\n : row.original.versionNumber?.toString()\n return versionNumber\n}\n\nfunction AccessCell<TValue = unknown>(props: CellContext<Row, TValue>) {\n const { showExternalAccessIcon } = useSynapseTableContext()\n const { ref, inView } = useInView({ triggerOnce: true })\n const entityId = getEntityOrRowId(props)!\n\n // If showExternalAccessIcon is true, defer rendering until the cell is in view to limit simultaneous API calls\n const canRenderAccessIcon =\n !showExternalAccessIcon || (showExternalAccessIcon && inView)\n\n return (\n <div ref={ref} data-testid=\"AccessCell\">\n {canRenderAccessIcon && (\n <HasAccessV2\n key={entityId}\n entityId={entityId}\n showButtonText={false}\n showExternalAccessIcon={showExternalAccessIcon}\n />\n )}\n </div>\n )\n}\n\nexport const accessColumn = columnHelper.display({\n id: `${columnIdPrefix}.Access`,\n enableResizing: false,\n cell: AccessCell,\n maxSize: 50,\n meta: {\n textAlign: 'center',\n },\n})\n\nexport function TableDataColumnHeader(\n props: HeaderContext<Row, string | null>,\n) {\n const { column } = props\n const { lockedColumn } = useQueryContext()\n const { data: queryMetadata } = useGetQueryMetadata()\n const columnModels = queryMetadata?.columnModels ?? []\n const selectColumns = queryMetadata?.selectColumns ?? []\n const selectColumn = selectColumns.find(sc => sc.name === column.id)\n const columnModel = columnModels.find(cm => cm.name === column.id)\n const facets = queryMetadata?.facets ?? []\n const { getColumnDisplayName, getHelpText } = useQueryVisualizationContext()\n\n const displayColumnName = selectColumn\n ? getColumnDisplayName(selectColumn.name)\n : column.id\n const columnHelpText = selectColumn\n ? getHelpText(selectColumn.name)\n : undefined\n // we have to figure out if the current column is a facet selection\n const facetIndex: number = facets.findIndex(\n (facetColumnResult: FacetColumnResult) => {\n return (\n facetColumnResult.columnName === columnModel?.name &&\n // Exclude JSON subcolumn facets, since there may be more than one on a given column\n facetColumnResult.jsonPath == undefined\n )\n },\n )\n // the header must be included in the facets and it has to be enumerable for current rendering capabilities\n const facet =\n facetIndex === -1 ? undefined : getEnumerationFacet(facets[facetIndex])\n const isFacetSelection = facet !== undefined\n const isLockedColumn =\n selectColumn &&\n selectColumn.name.toLowerCase() === lockedColumn?.columnName?.toLowerCase() // used in details page to disable filter the column\n const isEntityIDColumn =\n selectColumn?.name == 'id' &&\n selectColumn.columnType == ColumnTypeEnum.ENTITYID\n\n // TODO: enableFiltering should be specified on the column, but for now it's easier to override `getCanFilter` here where we have the facet information\n props.column.getCanFilter = useCallback(\n () => Boolean(isFacetSelection && !isLockedColumn && columnModel),\n [isFacetSelection, isLockedColumn, columnModel],\n )\n\n return (\n <ColumnHeader\n {...props}\n title={displayColumnName}\n helpText={columnHelpText}\n filterControl={\n facet && (\n <span>\n <EnumFacetFilter\n containerAs=\"Dropdown\"\n facet={facet}\n defaultShowAllValues={true}\n />\n </span>\n )\n }\n additionalButtons={\n <>{isEntityIDColumn && <EntityIDColumnCopyIcon size={'small'} />}</>\n }\n />\n )\n}\n\nexport function TableDataCell(props: CellContext<Row, string | null>) {\n const { cell, table } = props\n const { data: queryMetadata } = useGetQueryMetadata()\n const entityOrRowId = getEntityOrRowId(props)\n const entityOrRowVersion = getEntityOrRowVersion(props)\n const versionNumber =\n entityOrRowVersion !== undefined ? parseInt(entityOrRowVersion) : undefined\n const selectColumns = table.options.meta?.rowSet?.headers ?? []\n const selectColumn = selectColumns.find(cm => cm.name === cell.column.id)\n const columnModels = queryMetadata?.columnModels ?? []\n const { columnLinks } = useSynapseTableContext()\n if (selectColumn) {\n const columnLinkConfig = (columnLinks ?? []).find(el => {\n return el.matchColumnName === selectColumn.name\n })\n // Prefer the authoritative ColumnModel type over the SelectColumn type.\n // For regular table queries the two are always identical. For search queries,\n // SelectColumn types are fabricated as 'STRING' during the conversion from\n // SearchQueryResults, but columnModels (from the entity bundle) carry the\n // correct types (DATE, USERID, etc.) and are available once that bundle loads.\n const columnType =\n columnModels.find(cm => cm.name === selectColumn.name)?.columnType ??\n selectColumn.columnType\n const isBold = cell.column.getIsSorted() ? 'SRC-boldText' : ''\n return (\n <SynapseTableCell\n key={cell.id}\n columnType={columnType}\n columnValue={cell.getValue()}\n isBold={isBold}\n columnLinkConfig={columnLinkConfig}\n columnName={selectColumn.name}\n rowData={cell.row.original.values}\n selectColumns={selectColumns}\n columnModels={columnModels}\n rowId={entityOrRowId}\n rowVersionNumber={versionNumber}\n isRowEntityColumn={isRowEntityColumn(props)}\n />\n )\n } else return <td key={cell.id}></td>\n}\n"],"mappings":"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"}
@@ -10,7 +10,7 @@ var a = "You must be signed in to send results to an analysis platform.", o = (e
10
10
  let r = /* @__PURE__ */ new Set();
11
11
  return e.queryResult?.queryResults.rows.forEach((e) => {
12
12
  e.values.forEach((e, i) => {
13
- e != null && n.includes(i) && !Object.prototype.hasOwnProperty.call(t, e) && e && r.add(e);
13
+ e != null && n.includes(i) && !Object.hasOwn(t, e) && e && r.add(e);
14
14
  });
15
15
  }), r;
16
16
  };
@@ -1 +1 @@
1
- {"version":3,"file":"SynapseTableUtils.js","names":[],"sources":["../../../src/components/SynapseTable/SynapseTableUtils.ts"],"sourcesContent":["import {\n hasFilesInView,\n isDataset,\n isDatasetCollection,\n isEntityView,\n} from '@/utils/functions/EntityTypeUtils'\nimport {\n ColumnModel,\n ColumnType,\n ColumnTypeEnum,\n Entity,\n EntityHeader,\n QueryResultBundle,\n Table,\n UserGroupHeader,\n UserProfile,\n} from '@sage-bionetworks/synapse-types'\n\nexport const SEND_TO_ANALYSIS_PLATFORM_SIGN_IN_MESSAGE =\n 'You must be signed in to send results to an analysis platform.'\n\nexport const getColumnIndicesWithType = (\n data: QueryResultBundle | undefined,\n ...columnTypes: ColumnType[]\n) => {\n const columnsOfTypeEntity: number[] = []\n data?.selectColumns?.forEach((el, index) => {\n if (columnTypes.includes(el.columnType)) {\n columnsOfTypeEntity.push(index)\n }\n })\n return columnsOfTypeEntity\n}\n\nexport const getUniqueEntities = (\n data: QueryResultBundle,\n mapIdToHeader: Record<\n string,\n EntityHeader | Partial<UserGroupHeader & UserProfile>\n >,\n indices: number[],\n) => {\n const distinctEntities = new Set<string>()\n data.queryResult?.queryResults.rows.forEach(row => {\n row.values.forEach((el: string | null, colIndex: number) => {\n // make sure this is a column of type entity and that we haven't retrieved this entity's information prior\n if (\n el != null &&\n indices.includes(colIndex) &&\n !Object.prototype.hasOwnProperty.call(mapIdToHeader, el) &&\n el\n ) {\n distinctEntities.add(el)\n }\n })\n })\n return distinctEntities\n}\n\n/**\n * i.e. the view may have FileEntities in it\n *\n * PORTALS-2010: Enhance change made for PORTALS-1973. File specific action will only be shown for rows that represent FileEntities.\n */\nexport function isFileViewOrDataset(entity?: Table) {\n return (\n entity &&\n ((isEntityView(entity) && hasFilesInView(entity)) || isDataset(entity))\n )\n}\n\nexport const getFileColumnModelId = (\n columnModels?: ColumnModel[],\n): string | undefined => {\n if (!columnModels) {\n return undefined\n }\n const entityIdColumnModels: ColumnModel[] | undefined = columnModels?.filter(\n el => el.columnType === ColumnTypeEnum.ENTITYID,\n )\n // if there's a single ENTITYID type column, return that column id\n if (entityIdColumnModels?.length === 1) {\n return entityIdColumnModels[0].id\n }\n // otherwise, if there's an 'id' column, return that column id\n const idColumnModel = entityIdColumnModels?.filter(el => el.name === 'id')\n if (idColumnModel.length === 1) {\n return idColumnModel[0].id\n }\n // else the file ID column was not found\n return undefined\n}\n\nexport function isSortableColumn(column: ColumnType) {\n switch (column) {\n case ColumnTypeEnum.STRING:\n case ColumnTypeEnum.DOUBLE:\n case ColumnTypeEnum.BOOLEAN:\n case ColumnTypeEnum.INTEGER:\n case ColumnTypeEnum.DATE:\n case ColumnTypeEnum.LINK:\n case ColumnTypeEnum.MEDIUMTEXT:\n case ColumnTypeEnum.LARGETEXT:\n return true\n case ColumnTypeEnum.USERID:\n case ColumnTypeEnum.ENTITYID:\n case ColumnTypeEnum.FILEHANDLEID:\n case ColumnTypeEnum.STRING_LIST:\n case ColumnTypeEnum.INTEGER_LIST:\n case ColumnTypeEnum.BOOLEAN_LIST:\n case ColumnTypeEnum.DATE_LIST:\n case ColumnTypeEnum.USERID_LIST:\n case ColumnTypeEnum.ENTITYID_LIST:\n case ColumnTypeEnum.EVALUATIONID:\n case ColumnTypeEnum.SUBMISSIONID:\n case ColumnTypeEnum.JSON:\n return false\n default:\n console.warn(`Unhandled column type: ${column}`)\n return false\n }\n}\n\nexport function getDefaultPrimaryKey(\n entity?: Table,\n columnModels?: ColumnModel[],\n): string[] | undefined {\n if (\n isFileViewOrDataset(entity) &&\n columnModels?.find(cm => cm.name === 'id')\n ) {\n // If the primary key isn't specified via props, and this is a file view/dataset, we can safely use the 'id' column as primary key, if it is present\n // Note: Synapse tables don't have an internal concept of a primary key\n return ['id']\n }\n return undefined\n}\n\nexport function isEntityViewOrDatasetOrCollection(entity: Entity): boolean {\n return Boolean(\n entity &&\n (isEntityView(entity) || isDataset(entity) || isDatasetCollection(entity)),\n )\n}\n\nexport function mapRowToRecord(\n rowData: (string | null)[],\n schema: Record<string, number>,\n): Record<string, string | null> {\n return Object.entries(schema).reduce<Record<string, string | null>>(\n (acc, [columnName, columnIndex]) => {\n acc[columnName] = rowData[columnIndex]\n return acc\n },\n {},\n )\n}\n"],"mappings":";;;AAkBA,IAAa,IACX,kEAEW,KACX,GACA,GAAG,MACA;CACH,IAAM,IAAgC,CAAC;CAMvC,OALA,GAAM,eAAe,SAAS,GAAI,MAAU;EAC1C,AAAI,EAAY,SAAS,EAAG,UAAU,KACpC,EAAoB,KAAK,CAAK;CAElC,CAAC,GACM;AACT,GAEa,KACX,GACA,GAIA,MACG;CACH,IAAM,oBAAmB,IAAI,IAAY;CAczC,OAbA,EAAK,aAAa,aAAa,KAAK,SAAQ,MAAO;EACjD,EAAI,OAAO,SAAS,GAAmB,MAAqB;GAE1D,AACE,KAAM,QACN,EAAQ,SAAS,CAAQ,KACzB,CAAC,OAAO,UAAU,eAAe,KAAK,GAAe,CAAE,KACvD,KAEA,EAAiB,IAAI,CAAE;EAE3B,CAAC;CACH,CAAC,GACM;AACT;AAOA,SAAgB,EAAoB,GAAgB;CAClD,OACE,MACE,EAAa,CAAM,KAAK,EAAe,CAAM,KAAM,EAAU,CAAM;AAEzE;AAEA,IAAa,KACX,MACuB;CACvB,IAAI,CAAC,GACH;CAEF,IAAM,IAAkD,GAAc,QACpE,MAAM,EAAG,eAAe,EAAe,QACzC;CAEA,IAAI,GAAsB,WAAW,GACnC,OAAO,EAAqB,GAAG;CAGjC,IAAM,IAAgB,GAAsB,QAAO,MAAM,EAAG,SAAS,IAAI;CACzE,IAAI,EAAc,WAAW,GAC3B,OAAO,EAAc,GAAG;AAI5B;AAEA,SAAgB,EAAiB,GAAoB;CACnD,QAAQ,GAAR;EACE,KAAK,EAAe;EACpB,KAAK,EAAe;EACpB,KAAK,EAAe;EACpB,KAAK,EAAe;EACpB,KAAK,EAAe;EACpB,KAAK,EAAe;EACpB,KAAK,EAAe;EACpB,KAAK,EAAe,WAClB,OAAO;EACT,KAAK,EAAe;EACpB,KAAK,EAAe;EACpB,KAAK,EAAe;EACpB,KAAK,EAAe;EACpB,KAAK,EAAe;EACpB,KAAK,EAAe;EACpB,KAAK,EAAe;EACpB,KAAK,EAAe;EACpB,KAAK,EAAe;EACpB,KAAK,EAAe;EACpB,KAAK,EAAe;EACpB,KAAK,EAAe,MAClB,OAAO;EACT,SAEE,OADA,QAAQ,KAAK,0BAA0B,GAAQ,GACxC;CACX;AACF;AAEA,SAAgB,EACd,GACA,GACsB;CACtB,IACE,EAAoB,CAAM,KAC1B,GAAc,MAAK,MAAM,EAAG,SAAS,IAAI,GAIzC,OAAO,CAAC,IAAI;AAGhB;AAEA,SAAgB,EAAkC,GAAyB;CACzE,OAAO,GACL,MACC,EAAa,CAAM,KAAK,EAAU,CAAM,KAAK,EAAoB,CAAM;AAE5E;AAEA,SAAgB,EACd,GACA,GAC+B;CAC/B,OAAO,OAAO,QAAQ,CAAM,EAAE,QAC3B,GAAK,CAAC,GAAY,QACjB,EAAI,KAAc,EAAQ,IACnB,IAET,CAAC,CACH;AACF"}
1
+ {"version":3,"file":"SynapseTableUtils.js","names":[],"sources":["../../../src/components/SynapseTable/SynapseTableUtils.ts"],"sourcesContent":["import {\n hasFilesInView,\n isDataset,\n isDatasetCollection,\n isEntityView,\n} from '@/utils/functions/EntityTypeUtils'\nimport {\n ColumnModel,\n ColumnType,\n ColumnTypeEnum,\n Entity,\n EntityHeader,\n QueryResultBundle,\n Table,\n UserGroupHeader,\n UserProfile,\n} from '@sage-bionetworks/synapse-types'\n\nexport const SEND_TO_ANALYSIS_PLATFORM_SIGN_IN_MESSAGE =\n 'You must be signed in to send results to an analysis platform.'\n\nexport const getColumnIndicesWithType = (\n data: QueryResultBundle | undefined,\n ...columnTypes: ColumnType[]\n) => {\n const columnsOfTypeEntity: number[] = []\n data?.selectColumns?.forEach((el, index) => {\n if (columnTypes.includes(el.columnType)) {\n columnsOfTypeEntity.push(index)\n }\n })\n return columnsOfTypeEntity\n}\n\nexport const getUniqueEntities = (\n data: QueryResultBundle,\n mapIdToHeader: Record<\n string,\n EntityHeader | Partial<UserGroupHeader & UserProfile>\n >,\n indices: number[],\n) => {\n const distinctEntities = new Set<string>()\n data.queryResult?.queryResults.rows.forEach(row => {\n row.values.forEach((el: string | null, colIndex: number) => {\n // make sure this is a column of type entity and that we haven't retrieved this entity's information prior\n if (\n el != null &&\n indices.includes(colIndex) &&\n !Object.hasOwn(mapIdToHeader, el) &&\n el\n ) {\n distinctEntities.add(el)\n }\n })\n })\n return distinctEntities\n}\n\n/**\n * i.e. the view may have FileEntities in it\n *\n * PORTALS-2010: Enhance change made for PORTALS-1973. File specific action will only be shown for rows that represent FileEntities.\n */\nexport function isFileViewOrDataset(entity?: Table) {\n return (\n entity &&\n ((isEntityView(entity) && hasFilesInView(entity)) || isDataset(entity))\n )\n}\n\nexport const getFileColumnModelId = (\n columnModels?: ColumnModel[],\n): string | undefined => {\n if (!columnModels) {\n return undefined\n }\n const entityIdColumnModels: ColumnModel[] | undefined = columnModels?.filter(\n el => el.columnType === ColumnTypeEnum.ENTITYID,\n )\n // if there's a single ENTITYID type column, return that column id\n if (entityIdColumnModels?.length === 1) {\n return entityIdColumnModels[0].id\n }\n // otherwise, if there's an 'id' column, return that column id\n const idColumnModel = entityIdColumnModels?.filter(el => el.name === 'id')\n if (idColumnModel.length === 1) {\n return idColumnModel[0].id\n }\n // else the file ID column was not found\n return undefined\n}\n\nexport function isSortableColumn(column: ColumnType) {\n switch (column) {\n case ColumnTypeEnum.STRING:\n case ColumnTypeEnum.DOUBLE:\n case ColumnTypeEnum.BOOLEAN:\n case ColumnTypeEnum.INTEGER:\n case ColumnTypeEnum.DATE:\n case ColumnTypeEnum.LINK:\n case ColumnTypeEnum.MEDIUMTEXT:\n case ColumnTypeEnum.LARGETEXT:\n return true\n case ColumnTypeEnum.USERID:\n case ColumnTypeEnum.ENTITYID:\n case ColumnTypeEnum.FILEHANDLEID:\n case ColumnTypeEnum.STRING_LIST:\n case ColumnTypeEnum.INTEGER_LIST:\n case ColumnTypeEnum.BOOLEAN_LIST:\n case ColumnTypeEnum.DATE_LIST:\n case ColumnTypeEnum.USERID_LIST:\n case ColumnTypeEnum.ENTITYID_LIST:\n case ColumnTypeEnum.EVALUATIONID:\n case ColumnTypeEnum.SUBMISSIONID:\n case ColumnTypeEnum.JSON:\n return false\n default:\n console.warn(`Unhandled column type: ${column}`)\n return false\n }\n}\n\nexport function getDefaultPrimaryKey(\n entity?: Table,\n columnModels?: ColumnModel[],\n): string[] | undefined {\n if (\n isFileViewOrDataset(entity) &&\n columnModels?.find(cm => cm.name === 'id')\n ) {\n // If the primary key isn't specified via props, and this is a file view/dataset, we can safely use the 'id' column as primary key, if it is present\n // Note: Synapse tables don't have an internal concept of a primary key\n return ['id']\n }\n return undefined\n}\n\nexport function isEntityViewOrDatasetOrCollection(entity: Entity): boolean {\n return Boolean(\n entity &&\n (isEntityView(entity) || isDataset(entity) || isDatasetCollection(entity)),\n )\n}\n\nexport function mapRowToRecord(\n rowData: (string | null)[],\n schema: Record<string, number>,\n): Record<string, string | null> {\n return Object.entries(schema).reduce<Record<string, string | null>>(\n (acc, [columnName, columnIndex]) => {\n acc[columnName] = rowData[columnIndex]\n return acc\n },\n {},\n )\n}\n"],"mappings":";;;AAkBA,IAAa,IACX,kEAEW,KACX,GACA,GAAG,MACA;CACH,IAAM,IAAgC,CAAC;CAMvC,OALA,GAAM,eAAe,SAAS,GAAI,MAAU;EAC1C,AAAI,EAAY,SAAS,EAAG,UAAU,KACpC,EAAoB,KAAK,CAAK;CAElC,CAAC,GACM;AACT,GAEa,KACX,GACA,GAIA,MACG;CACH,IAAM,oBAAmB,IAAI,IAAY;CAczC,OAbA,EAAK,aAAa,aAAa,KAAK,SAAQ,MAAO;EACjD,EAAI,OAAO,SAAS,GAAmB,MAAqB;GAE1D,AACE,KAAM,QACN,EAAQ,SAAS,CAAQ,KACzB,CAAC,OAAO,OAAO,GAAe,CAAE,KAChC,KAEA,EAAiB,IAAI,CAAE;EAE3B,CAAC;CACH,CAAC,GACM;AACT;AAOA,SAAgB,EAAoB,GAAgB;CAClD,OACE,MACE,EAAa,CAAM,KAAK,EAAe,CAAM,KAAM,EAAU,CAAM;AAEzE;AAEA,IAAa,KACX,MACuB;CACvB,IAAI,CAAC,GACH;CAEF,IAAM,IAAkD,GAAc,QACpE,MAAM,EAAG,eAAe,EAAe,QACzC;CAEA,IAAI,GAAsB,WAAW,GACnC,OAAO,EAAqB,GAAG;CAGjC,IAAM,IAAgB,GAAsB,QAAO,MAAM,EAAG,SAAS,IAAI;CACzE,IAAI,EAAc,WAAW,GAC3B,OAAO,EAAc,GAAG;AAI5B;AAEA,SAAgB,EAAiB,GAAoB;CACnD,QAAQ,GAAR;EACE,KAAK,EAAe;EACpB,KAAK,EAAe;EACpB,KAAK,EAAe;EACpB,KAAK,EAAe;EACpB,KAAK,EAAe;EACpB,KAAK,EAAe;EACpB,KAAK,EAAe;EACpB,KAAK,EAAe,WAClB,OAAO;EACT,KAAK,EAAe;EACpB,KAAK,EAAe;EACpB,KAAK,EAAe;EACpB,KAAK,EAAe;EACpB,KAAK,EAAe;EACpB,KAAK,EAAe;EACpB,KAAK,EAAe;EACpB,KAAK,EAAe;EACpB,KAAK,EAAe;EACpB,KAAK,EAAe;EACpB,KAAK,EAAe;EACpB,KAAK,EAAe,MAClB,OAAO;EACT,SAEE,OADA,QAAQ,KAAK,0BAA0B,GAAQ,GACxC;CACX;AACF;AAEA,SAAgB,EACd,GACA,GACsB;CACtB,IACE,EAAoB,CAAM,KAC1B,GAAc,MAAK,MAAM,EAAG,SAAS,IAAI,GAIzC,OAAO,CAAC,IAAI;AAGhB;AAEA,SAAgB,EAAkC,GAAyB;CACzE,OAAO,GACL,MACC,EAAa,CAAM,KAAK,EAAU,CAAM,KAAK,EAAoB,CAAM;AAE5E;AAEA,SAAgB,EACd,GACA,GAC+B;CAC/B,OAAO,OAAO,QAAQ,CAAM,EAAE,QAC3B,GAAK,CAAC,GAAY,QACjB,EAAI,KAAc,EAAQ,IACnB,IAET,CAAC,CACH;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"TopLevelControls.d.ts","sourceRoot":"","sources":["../../../../src/components/SynapseTable/TopLevelControls/TopLevelControls.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,GAAG,EAEJ,MAAM,iCAAiC,CAAA;AAGxC,OAAO,EAAE,SAAS,EAAY,MAAM,OAAO,CAAA;AAmC3C,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,+FAA+F;IAC/F,6BAA6B,CAAC,EAAE,OAAO,CAAA;IACvC,qFAAqF;IACrF,+BAA+B,CAAC,EAAE,OAAO,CAAA;IACzC,yBAAyB,CAAC,EAAE,OAAO,CAAA;IACnC,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,6DAA6D;IAC7D,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC,oGAAoG;IACpG,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,uGAAuG;IACvG,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAA;IACjC,cAAc,CAAC,EAAE,aAAa,EAAE,CAAA;IAChC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,yBAAyB,CAAC,EAAE,MAAM,CAAA;IAClC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG;IACtC,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,IAAI,CAAC,iBAAiB,EAAE,aAAa,CAAC,GAAG,SAAS,CAAA;IACjE,YAAY,EAAE,GAAG,EAAE,GAAG,SAAS,CAAA;IAC/B,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,OAAO,CAAC,EAAE,kBAAkB,CAAA;CAC7B,CAAA;AAGD,MAAM,MAAM,aAAa,GAAG;IAC1B,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,IAAI,CAAA;IACnD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,QAAA,MAAM,gBAAgB,GAAI,OAAO,qBAAqB,KAAG,KAAK,CAAC,SAgS9D,CAAA;AAED,eAAe,gBAAgB,CAAA"}
1
+ {"version":3,"file":"TopLevelControls.d.ts","sourceRoot":"","sources":["../../../../src/components/SynapseTable/TopLevelControls/TopLevelControls.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,GAAG,EAEJ,MAAM,iCAAiC,CAAA;AAGxC,OAAO,EAAE,SAAS,EAAY,MAAM,OAAO,CAAA;AAmC3C,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,+FAA+F;IAC/F,6BAA6B,CAAC,EAAE,OAAO,CAAA;IACvC,qFAAqF;IACrF,+BAA+B,CAAC,EAAE,OAAO,CAAA;IACzC,yBAAyB,CAAC,EAAE,OAAO,CAAA;IACnC,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,6DAA6D;IAC7D,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC,oGAAoG;IACpG,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,uGAAuG;IACvG,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAA;IACjC,cAAc,CAAC,EAAE,aAAa,EAAE,CAAA;IAChC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,yBAAyB,CAAC,EAAE,MAAM,CAAA;IAClC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG;IACtC,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,IAAI,CAAC,iBAAiB,EAAE,aAAa,CAAC,GAAG,SAAS,CAAA;IACjE,YAAY,EAAE,GAAG,EAAE,GAAG,SAAS,CAAA;IAC/B,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,OAAO,CAAC,EAAE,kBAAkB,CAAA;CAC7B,CAAA;AAGD,MAAM,MAAM,aAAa,GAAG;IAC1B,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,IAAI,CAAA;IACnD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,QAAA,MAAM,gBAAgB,GAAI,OAAO,qBAAqB,KAAG,KAAK,CAAC,SA8R9D,CAAA;AAED,eAAe,gBAAgB,CAAA"}
@@ -1,30 +1,30 @@
1
1
  import "../../../utils/SynapseConstants.js";
2
2
  import { copyStringToClipboard as e } from "../../../utils/functions/StringUtils.js";
3
- import { useSynapseContext as t } from "../../../utils/context/SynapseContext.js";
3
+ import { useQueryVisualizationContext as t } from "../../QueryVisualizationWrapper/QueryVisualizationContext.js";
4
+ import { useSynapseContext as n } from "../../../utils/context/SynapseContext.js";
4
5
  import "../../../utils/index.js";
5
- import { useGetEntity as n } from "../../../synapse-queries/entity/useEntity.js";
6
+ import { useGetEntity as ee } from "../../../synapse-queries/entity/useEntity.js";
6
7
  import "../../../synapse-queries/index.js";
7
8
  import r from "../../IconSvg/index.js";
8
9
  import "../SynapseTableUtils.js";
9
- import { useQueryContext as ee } from "../../QueryContext/QueryContext.js";
10
+ import { useQueryContext as te } from "../../QueryContext/QueryContext.js";
10
11
  import "../../QueryContext/index.js";
11
- import { useGetQueryMetadata as te } from "../../QueryWrapper/useGetQueryMetadata.js";
12
- import { useQueryVisualizationContext as ne } from "../../QueryVisualizationWrapper/QueryVisualizationContext.js";
12
+ import { useGetQueryMetadata as ne } from "../../QueryWrapper/useGetQueryMetadata.js";
13
13
  import "../../QueryVisualizationWrapper/index.js";
14
14
  import { isRowSelectionVisibleAtom as re, useHasSelectedRowsAtomValue as i, useSelectedRowsAtomValue as a } from "../../QueryWrapper/TableRowSelectionState.js";
15
- import { SignInRequiredModal as o } from "../../SignInRequiredModal/SignInRequiredModal.js";
16
- import s from "../../MissingQueryResultsWarning/MissingQueryResultsWarning.js";
17
- import { ElementWithTooltip as c } from "../../widgets/ElementWithTooltip.js";
18
- import { getNumberOfResultsToInvokeAction as l, getNumberOfResultsToInvokeActionCopy as u } from "./TopLevelControlsUtils.js";
19
- import d from "../export/ExportToAnalysisPlatformDialog.js";
20
- import { CustomControlButton as f } from "../CustomControls/CustomControlButton.js";
21
- import { RowSelectionControls as p } from "../RowSelection/RowSelectionControls.js";
22
- import { DownloadOptions as m } from "../table-top/DownloadOptions.js";
23
- import { ColumnSelection as h } from "../table-top/ColumnSelection.js";
15
+ import { SignInRequiredModal as ie } from "../../SignInRequiredModal/SignInRequiredModal.js";
16
+ import ae from "../../MissingQueryResultsWarning/MissingQueryResultsWarning.js";
17
+ import { ElementWithTooltip as o } from "../../widgets/ElementWithTooltip.js";
18
+ import { getNumberOfResultsToInvokeAction as oe, getNumberOfResultsToInvokeActionCopy as s } from "./TopLevelControlsUtils.js";
19
+ import c from "../export/ExportToAnalysisPlatformDialog.js";
20
+ import { CustomControlButton as l } from "../CustomControls/CustomControlButton.js";
21
+ import { RowSelectionControls as u } from "../RowSelection/RowSelectionControls.js";
22
+ import { DownloadOptions as d } from "../table-top/DownloadOptions.js";
23
+ import { ColumnSelection as f } from "../table-top/ColumnSelection.js";
24
24
  import "../table-top/index.js";
25
- import { useState as g } from "react";
26
- import { cloneDeep as ie } from "lodash-es";
27
- import { Button as _, Divider as ae, Tooltip as oe, Typography as se } from "@mui/material";
25
+ import { useState as p } from "react";
26
+ import { cloneDeep as m } from "lodash-es";
27
+ import { Button as h, Divider as g, Tooltip as _, Typography as se } from "@mui/material";
28
28
  import { Fragment as v, jsx as y, jsxs as b } from "react/jsx-runtime";
29
29
  import { useAtomValue as x } from "jotai";
30
30
  //#region src/components/SynapseTable/TopLevelControls/TopLevelControls.tsx
@@ -34,10 +34,10 @@ var S = "SendToAnalysisPlatformTopLevelControlButton", C = {
34
34
  fontSize: "14px",
35
35
  textDecoration: "none !important"
36
36
  }, w = (w) => {
37
- let [T, E] = g(!1), { isAuthenticated: D } = t(), { name: O, showColumnSelection: k = !1, hideDownload: A = !1, hideAddToDownloadListMenuItem: j, hideProgrammaticOptionsMenuItem: M, hideVisualizationsControl: N = !1, hideFacetFilterControl: P = !1, hideQueryCount: F = !1, hideSqlEditorControl: I = !0, showQueryBuilderControl: L = !1, showQueryBuilder: R = !1, onToggleQueryBuilder: z, customControls: B, cavaticaConnectAccountURL: V, remount: H } = w, { entityId: U, versionNumber: ce, getCurrentQueryRequest: W, hasResettableFilters: G } = ee(), { data: K } = n(U, ce), { data: q } = te(), J = x(re), Y = a(), X = i(), { setShowSearchBar: le, columnsToShowInTable: Z, setColumnsToShowInTable: ue, enabledExternalAnalysisPlatforms: de, setIsShowingExportToAnalysisPlatformModal: fe, unitDescription: pe, setShowDownloadConfirmation: me, showCopyToClipboard: he, hideSearchBarControl: ge, setShowPlots: _e, setShowSqlEditor: ve, showFacetFilter: Q, setShowFacetFilter: ye } = ne(), be = de.length > 0, [xe, $] = g(!1), Se = (e) => {
38
- let t = ie(Z);
37
+ let [T, E] = p(!1), { isAuthenticated: D } = n(), { name: O, showColumnSelection: k = !1, hideDownload: A = !1, hideAddToDownloadListMenuItem: j, hideProgrammaticOptionsMenuItem: M, hideVisualizationsControl: N = !1, hideFacetFilterControl: P = !1, hideQueryCount: F = !1, hideSqlEditorControl: I = !0, showQueryBuilderControl: L = !1, showQueryBuilder: R = !1, onToggleQueryBuilder: z, customControls: B, cavaticaConnectAccountURL: V, remount: H } = w, { entityId: U, versionNumber: ce, getCurrentQueryRequest: W, hasResettableFilters: G } = te(), { data: K } = ee(U, ce), { data: q } = ne(), J = x(re), Y = a(), X = i(), { setShowSearchBar: le, columnsToShowInTable: Z, setColumnsToShowInTable: ue, enabledExternalAnalysisPlatforms: de, setIsShowingExportToAnalysisPlatformModal: fe, unitDescription: pe, showCopyToClipboard: me, hideSearchBarControl: he, setShowPlots: ge, setShowSqlEditor: _e, showFacetFilter: Q, setShowFacetFilter: ve } = t(), ye = de.length > 0, [be, $] = p(!1), xe = (e) => {
38
+ let t = m(Z);
39
39
  t.includes(e) ? t = t.filter((t) => t !== e) : t.push(e), ue(t);
40
- }, Ce = l(X, Y, q?.queryCount), we = u(G, X, Y, q?.queryCount, pe), Te = !F && q?.queryCount !== void 0 ? `(${q.queryCount.toLocaleString()})` : null;
40
+ }, Se = oe(X, Y, q?.queryCount), Ce = s(G, X, Y, q?.queryCount, pe), we = !F && q?.queryCount !== void 0 ? `(${q.queryCount.toLocaleString()})` : null;
41
41
  return /* @__PURE__ */ y("div", {
42
42
  className: "TopLevelControls",
43
43
  "data-testid": "TopLevelControls",
@@ -50,12 +50,12 @@ var S = "SendToAnalysisPlatformTopLevelControlButton", C = {
50
50
  children: [
51
51
  O,
52
52
  " ",
53
- Te
53
+ we
54
54
  ]
55
- }), !F && K && /* @__PURE__ */ y(s, { entity: K })] }),
56
- !P && /* @__PURE__ */ b(_, {
55
+ }), !F && K && /* @__PURE__ */ y(ae, { entity: K })] }),
56
+ !P && /* @__PURE__ */ b(h, {
57
57
  variant: "text",
58
- onClick: () => ye((e) => !e),
58
+ onClick: () => ve((e) => !e),
59
59
  startIcon: /* @__PURE__ */ y(r, {
60
60
  icon: Q ? "close" : "filter",
61
61
  wrap: !1
@@ -63,7 +63,7 @@ var S = "SendToAnalysisPlatformTopLevelControlButton", C = {
63
63
  sx: C,
64
64
  children: [Q ? "Hide" : "Show", " filters"]
65
65
  }),
66
- L && z && /* @__PURE__ */ b(_, {
66
+ L && z && /* @__PURE__ */ b(h, {
67
67
  variant: "text",
68
68
  onClick: z,
69
69
  startIcon: /* @__PURE__ */ y(r, {
@@ -77,7 +77,7 @@ var S = "SendToAnalysisPlatformTopLevelControlButton", C = {
77
77
  }), /* @__PURE__ */ b("div", {
78
78
  className: "TopLevelControls__actions",
79
79
  children: [
80
- be && /* @__PURE__ */ b(v, { children: [/* @__PURE__ */ y(oe, {
80
+ ye && /* @__PURE__ */ b(v, { children: [/* @__PURE__ */ y(_, {
81
81
  title: /* @__PURE__ */ b(v, { children: [
82
82
  "This action will send a reference to",
83
83
  " ",
@@ -88,34 +88,34 @@ var S = "SendToAnalysisPlatformTopLevelControlButton", C = {
88
88
  !X && Q && /* @__PURE__ */ y(v, { children: "You can change what is sent by applying filters using the controls in the sidebar." }),
89
89
  X && /* @__PURE__ */ y(v, { children: "You can change what is sent by selecting a different set of files." })
90
90
  ] }),
91
- children: /* @__PURE__ */ b(_, {
91
+ children: /* @__PURE__ */ b(h, {
92
92
  variant: "text",
93
- disabled: !Ce,
93
+ disabled: !Se,
94
94
  onClick: () => D ? fe(!0) : E(!0),
95
95
  id: S,
96
96
  children: [
97
97
  "Send ",
98
- we,
98
+ Ce,
99
99
  " to Analysis Platform"
100
100
  ]
101
101
  })
102
- }), /* @__PURE__ */ y(ae, {
102
+ }), /* @__PURE__ */ y(g, {
103
103
  orientation: "vertical",
104
104
  variant: "middle",
105
105
  flexItem: !0
106
106
  })] }),
107
- T && /* @__PURE__ */ y(o, {
107
+ T && /* @__PURE__ */ y(ie, {
108
108
  onHide: () => E(!1),
109
109
  content: "You must be signed in to send results to an analysis platform."
110
110
  }),
111
- !ge && /* @__PURE__ */ y(c, {
111
+ !he && /* @__PURE__ */ y(o, {
112
112
  tooltipText: "Show / Hide Search Bar",
113
113
  callbackFn: () => le((e) => !e),
114
114
  darkTheme: !0,
115
115
  icon: "search"
116
116
  }),
117
- he && /* @__PURE__ */ y(c, {
118
- tooltipText: xe ? "Copied to clipboard" : "Copy this search to the clipboard",
117
+ me && /* @__PURE__ */ y(o, {
118
+ tooltipText: be ? "Copied to clipboard" : "Copy this search to the clipboard",
119
119
  callbackFn: () => {
120
120
  e(window.location.href).then(() => {
121
121
  $(!0), setTimeout(() => {
@@ -126,29 +126,28 @@ var S = "SendToAnalysisPlatformTopLevelControlButton", C = {
126
126
  darkTheme: !0,
127
127
  icon: "clipboard"
128
128
  }),
129
- !N && /* @__PURE__ */ y(c, {
129
+ !N && /* @__PURE__ */ y(o, {
130
130
  tooltipText: "Show / Hide Visualizations",
131
- callbackFn: () => _e((e) => !e),
131
+ callbackFn: () => ge((e) => !e),
132
132
  darkTheme: !0,
133
133
  icon: "chart"
134
134
  }),
135
- !A && /* @__PURE__ */ y(m, {
135
+ !A && /* @__PURE__ */ y(d, {
136
136
  darkTheme: !0,
137
- onDownloadFiles: () => me(!0),
138
137
  hideAddToDownloadListMenuItem: j,
139
138
  hideProgrammaticOptionsMenuItem: M
140
139
  }),
141
- !I && /* @__PURE__ */ y(c, {
140
+ !I && /* @__PURE__ */ y(o, {
142
141
  tooltipText: "Show / Hide the Advanced Query Editor",
143
- callbackFn: () => ve((e) => !e),
142
+ callbackFn: () => _e((e) => !e),
144
143
  darkTheme: !0,
145
144
  icon: "sqleditor"
146
145
  }),
147
- J && /* @__PURE__ */ y(p, {
146
+ J && /* @__PURE__ */ y(u, {
148
147
  customControls: B,
149
148
  remount: H
150
149
  }),
151
- !J && B && B.length > 0 && /* @__PURE__ */ y(v, { children: B.map((e) => /* @__PURE__ */ y(f, {
150
+ !J && B && B.length > 0 && /* @__PURE__ */ y(v, { children: B.map((e) => /* @__PURE__ */ y(l, {
152
151
  variant: "text",
153
152
  callbackData: {
154
153
  tableId: U,
@@ -162,13 +161,13 @@ var S = "SendToAnalysisPlatformTopLevelControlButton", C = {
162
161
  control: e,
163
162
  startIcon: e.icon
164
163
  }, e.buttonText)) }),
165
- k && /* @__PURE__ */ y(h, {
164
+ k && /* @__PURE__ */ y(f, {
166
165
  headers: q?.selectColumns,
167
166
  isColumnSelected: Z,
168
- toggleColumnSelection: Se,
167
+ toggleColumnSelection: xe,
169
168
  darkTheme: !0
170
169
  }),
171
- /* @__PURE__ */ y(d, { platformInstructionProps: { cavaticaConnectAccountURL: V } })
170
+ /* @__PURE__ */ y(c, { platformInstructionProps: { cavaticaConnectAccountURL: V } })
172
171
  ]
173
172
  })] })
174
173
  });