synapse-react-client 4.0.1 → 4.0.3-b
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/SWC.index.js +1 -1
- package/dist/assets/icons/AwardScroll.d.ts +5 -0
- package/dist/assets/icons/AwardScroll.d.ts.map +1 -0
- package/dist/assets/icons/AwardScroll.js +78 -0
- package/dist/assets/icons/AwardScroll.js.map +1 -0
- package/dist/assets/icons/Baseline.d.ts +5 -0
- package/dist/assets/icons/Baseline.d.ts.map +1 -0
- package/dist/assets/icons/Baseline.js +43 -0
- package/dist/assets/icons/Baseline.js.map +1 -0
- package/dist/assets/icons/Challenge.svg +13 -0
- package/dist/assets/icons/Challenge.svg.js +7 -0
- package/dist/assets/icons/Challenge.svg.js.map +1 -0
- package/dist/assets/icons/ClappingHands.d.ts +5 -0
- package/dist/assets/icons/ClappingHands.d.ts.map +1 -0
- package/dist/assets/icons/ClappingHands.js +106 -0
- package/dist/assets/icons/ClappingHands.js.map +1 -0
- package/dist/assets/icons/DNA_Two.svg +0 -0
- package/dist/assets/icons/Data2.svg +0 -0
- package/dist/assets/icons/HandWithMoney.d.ts +5 -0
- package/dist/assets/icons/HandWithMoney.d.ts.map +1 -0
- package/dist/assets/icons/HandWithMoney.js +15 -0
- package/dist/assets/icons/HandWithMoney.js.map +1 -0
- package/dist/assets/icons/MultiFile.d.ts +5 -0
- package/dist/assets/icons/MultiFile.d.ts.map +1 -0
- package/dist/assets/icons/MultiFile.js +8 -0
- package/dist/assets/icons/MultiFile.js.map +1 -0
- package/dist/assets/icons/MultiFile.svg +4 -0
- package/dist/assets/icons/MultiFile.svg.js +7 -0
- package/dist/assets/icons/MultiFile.svg.js.map +1 -0
- package/dist/assets/icons/OpenBook.d.ts +5 -0
- package/dist/assets/icons/OpenBook.d.ts.map +1 -0
- package/dist/assets/icons/OpenBook.js +99 -0
- package/dist/assets/icons/OpenBook.js.map +1 -0
- package/dist/assets/icons/Podium.d.ts +5 -0
- package/dist/assets/icons/Podium.d.ts.map +1 -0
- package/dist/assets/icons/Podium.js +36 -0
- package/dist/assets/icons/Podium.js.map +1 -0
- package/dist/assets/icons/RosetteRibbon.d.ts +5 -0
- package/dist/assets/icons/RosetteRibbon.d.ts.map +1 -0
- package/dist/assets/icons/RosetteRibbon.js +36 -0
- package/dist/assets/icons/RosetteRibbon.js.map +1 -0
- package/dist/assets/icons/StarTrophy.d.ts +5 -0
- package/dist/assets/icons/StarTrophy.d.ts.map +1 -0
- package/dist/assets/icons/StarTrophy.js +99 -0
- package/dist/assets/icons/StarTrophy.js.map +1 -0
- package/dist/assets/icons/ThreeStars.d.ts +5 -0
- package/dist/assets/icons/ThreeStars.d.ts.map +1 -0
- package/dist/assets/icons/ThreeStars.js +71 -0
- package/dist/assets/icons/ThreeStars.js.map +1 -0
- package/dist/assets/icons/UnpackagableFile.d.ts +5 -0
- package/dist/assets/icons/UnpackagableFile.d.ts.map +1 -0
- package/dist/assets/icons/UnpackagableFile.js +8 -0
- package/dist/assets/icons/UnpackagableFile.js.map +1 -0
- package/dist/assets/icons/UnpackagableFile.svg +4 -0
- package/dist/assets/icons/UnpackagableFile.svg.js +7 -0
- package/dist/assets/icons/UnpackagableFile.svg.js.map +1 -0
- package/dist/assets/mui_components/PackagableFile.d.ts.map +1 -1
- package/dist/assets/mui_components/PackagableFile.js +5 -4
- package/dist/assets/mui_components/PackagableFile.js.map +1 -1
- package/dist/assets/mui_components/PackagableFile.svg +3 -0
- package/dist/assets/mui_components/PackagableFile.svg.js +7 -0
- package/dist/assets/mui_components/PackagableFile.svg.js.map +1 -0
- package/dist/assets/themed_icons/index.d.ts +1 -2
- package/dist/assets/themed_icons/index.d.ts.map +1 -1
- package/dist/assets/themed_icons/index.js +8 -10
- package/dist/assets/themed_icons/index.js.map +1 -1
- package/dist/components/AcknowledgementsPage/AcknowledgementsPage.js +4 -4
- package/dist/components/AcknowledgementsPage/AcknowledgementsPage.js.map +1 -1
- package/dist/components/AddToDownloadListV2.js +10 -10
- package/dist/components/AddToDownloadListV2.js.map +1 -1
- package/dist/components/BasePortalCard/BasePortalCard.css +1 -1
- package/dist/components/BasePortalCard/BasePortalCard.d.ts +1 -2
- package/dist/components/BasePortalCard/BasePortalCard.d.ts.map +1 -1
- package/dist/components/BasePortalCard/BasePortalCard.js +21 -28
- package/dist/components/BasePortalCard/BasePortalCard.js.map +1 -1
- package/dist/components/BasePortalCard/BasePortalCard.module.scss +7 -1
- package/dist/components/BasePortalCard/BasePortalCard.module.scss.js +11 -11
- package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.d.ts.map +1 -1
- package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.js +24 -24
- package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.js.map +1 -1
- package/dist/components/CardContainerLogic/CardContainerLogic.d.ts +5 -1
- package/dist/components/CardContainerLogic/CardContainerLogic.d.ts.map +1 -1
- package/dist/components/CardContainerLogic/CardContainerLogic.js.map +1 -1
- package/dist/components/CardContainerLogic/index.d.ts +1 -1
- package/dist/components/CardContainerLogic/index.d.ts.map +1 -1
- package/dist/components/CardDeck/TableQueryCardDeck.js +12 -9
- package/dist/components/CardDeck/TableQueryCardDeck.js.map +1 -1
- package/dist/components/ChallengeDataDownload/ChallengeDataDownload.js +33 -33
- package/dist/components/ChallengeDataDownload/ChallengeDataDownload.js.map +1 -1
- package/dist/components/ChangePassword/useChangePasswordFormState.js +5 -2
- package/dist/components/ChangePassword/useChangePasswordFormState.js.map +1 -1
- package/dist/components/ComponentCollapse.d.ts +6 -10
- package/dist/components/ComponentCollapse.d.ts.map +1 -1
- package/dist/components/ComponentCollapse.js +31 -35
- package/dist/components/ComponentCollapse.js.map +1 -1
- package/dist/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizard.js +12 -9
- package/dist/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizard.js.map +1 -1
- package/dist/components/DataGrid/MergeGridWithSourceTableButton.js +8 -3
- package/dist/components/DataGrid/MergeGridWithSourceTableButton.js.map +1 -1
- package/dist/components/DataGrid/SynapseGrid.js +8 -3
- package/dist/components/DataGrid/SynapseGrid.js.map +1 -1
- package/dist/components/DataGrid/components/UploadCsvToGridDialog.js +8 -3
- package/dist/components/DataGrid/components/UploadCsvToGridDialog.js.map +1 -1
- package/dist/components/DirectDownload/DirectDownload.d.ts.map +1 -1
- package/dist/components/DirectDownload/DirectDownload.js +23 -23
- package/dist/components/DirectDownload/DirectDownload.js.map +1 -1
- package/dist/components/DownloadCart/AvailableForDownloadTable.d.ts +6 -2
- package/dist/components/DownloadCart/AvailableForDownloadTable.d.ts.map +1 -1
- package/dist/components/DownloadCart/AvailableForDownloadTable.js +10 -8
- package/dist/components/DownloadCart/AvailableForDownloadTable.js.map +1 -1
- package/dist/components/DownloadCart/CreatePackageV2.css +1 -0
- package/dist/components/DownloadCart/CreatePackageV2.d.ts.map +1 -1
- package/dist/components/DownloadCart/CreatePackageV2.js +50 -46
- package/dist/components/DownloadCart/CreatePackageV2.js.map +1 -1
- package/dist/components/DownloadCart/CreatePackageV2.module.scss +38 -0
- package/dist/components/DownloadCart/CreatePackageV2.module.scss.js +14 -0
- package/dist/components/DownloadCart/CreatePackageV2.module.scss.js.map +1 -0
- package/dist/components/DownloadCart/DownloadCartPage.css +1 -0
- package/dist/components/DownloadCart/DownloadCartPage.d.ts.map +1 -1
- package/dist/components/DownloadCart/DownloadCartPage.js +316 -186
- package/dist/components/DownloadCart/DownloadCartPage.js.map +1 -1
- package/dist/components/DownloadCart/DownloadCartPage.module.scss +217 -0
- package/dist/components/DownloadCart/DownloadCartPage.module.scss.js +48 -0
- package/dist/components/DownloadCart/DownloadCartPage.module.scss.js.map +1 -0
- package/dist/components/DownloadCart/DownloadDetails.js +1 -1
- package/dist/components/DownloadCart/DownloadDetails.js.map +1 -1
- package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.js +33 -33
- package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.js.map +1 -1
- package/dist/components/DownloadCart/DownloadListTable.d.ts +4 -1
- package/dist/components/DownloadCart/DownloadListTable.d.ts.map +1 -1
- package/dist/components/DownloadCart/DownloadListTable.js +156 -236
- package/dist/components/DownloadCart/DownloadListTable.js.map +1 -1
- package/dist/components/DownloadCart/ShowDownloadV2.js +5 -5
- package/dist/components/DownloadCart/ShowDownloadV2.js.map +1 -1
- package/dist/components/Ecosystem/EcosystemSkeleton.js +8 -3
- package/dist/components/Ecosystem/EcosystemSkeleton.js.map +1 -1
- package/dist/components/EntityDownloadButton/EntityDownloadButton.d.ts +3 -0
- package/dist/components/EntityDownloadButton/EntityDownloadButton.d.ts.map +1 -1
- package/dist/components/EntityDownloadButton/EntityDownloadButton.js +113 -119
- package/dist/components/EntityDownloadButton/EntityDownloadButton.js.map +1 -1
- package/dist/components/EntityFinder/details/view/table/AddToDownloadListCell.js +3 -3
- package/dist/components/EntityFinder/details/view/table/AddToDownloadListCell.js.map +1 -1
- package/dist/components/FeaturedDataTabs/FacetPlotsCard.js +6 -2
- package/dist/components/FeaturedDataTabs/FacetPlotsCard.js.map +1 -1
- package/dist/components/FeaturedDataTabs/FeaturedDataTabs.js +11 -8
- package/dist/components/FeaturedDataTabs/FeaturedDataTabs.js.map +1 -1
- package/dist/components/FullWidthAlert/FullWidthAlert.d.ts +2 -2
- package/dist/components/FullWidthAlert/FullWidthAlert.js.map +1 -1
- package/dist/components/GenericCard/GenericCard.d.ts +5 -5
- package/dist/components/GenericCard/GenericCard.d.ts.map +1 -1
- package/dist/components/GenericCard/GenericCard.js +117 -103
- package/dist/components/GenericCard/GenericCard.js.map +1 -1
- package/dist/components/GenericCard/LabelMaybeWithIcon.d.ts +10 -0
- package/dist/components/GenericCard/LabelMaybeWithIcon.d.ts.map +1 -0
- package/dist/components/GenericCard/LabelMaybeWithIcon.js +33 -0
- package/dist/components/GenericCard/LabelMaybeWithIcon.js.map +1 -0
- package/dist/components/GenericCard/SynapseCardLabel.d.ts +2 -1
- package/dist/components/GenericCard/SynapseCardLabel.d.ts.map +1 -1
- package/dist/components/GenericCard/SynapseCardLabel.js +86 -81
- package/dist/components/GenericCard/SynapseCardLabel.js.map +1 -1
- package/dist/components/GenericCard/TableRowGenericCard.d.ts +7 -1
- package/dist/components/GenericCard/TableRowGenericCard.d.ts.map +1 -1
- package/dist/components/GenericCard/TableRowGenericCard.js +239 -202
- package/dist/components/GenericCard/TableRowGenericCard.js.map +1 -1
- package/dist/components/HeaderCard.js +17 -13
- package/dist/components/HeaderCard.js.map +1 -1
- package/dist/components/Icon/Icon.js +52 -52
- package/dist/components/Icon/Icon.js.map +1 -1
- package/dist/components/IconSvg/IconSvg.d.ts +1 -1
- package/dist/components/IconSvg/IconSvg.d.ts.map +1 -1
- package/dist/components/IconSvg/IconSvg.js +215 -171
- package/dist/components/IconSvg/IconSvg.js.map +1 -1
- package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts +1 -0
- package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts.map +1 -1
- package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js +103 -102
- package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js.map +1 -1
- package/dist/components/StorybookComponentWrapper.js +6 -3
- package/dist/components/StorybookComponentWrapper.js.map +1 -1
- package/dist/components/SynapseChat/SynapseChat.d.ts +7 -1
- package/dist/components/SynapseChat/SynapseChat.d.ts.map +1 -1
- package/dist/components/SynapseChat/SynapseChat.js +76 -67
- package/dist/components/SynapseChat/SynapseChat.js.map +1 -1
- package/dist/components/SynapseChat/SynapseChatInteraction.d.ts +2 -1
- package/dist/components/SynapseChat/SynapseChatInteraction.d.ts.map +1 -1
- package/dist/components/SynapseChat/SynapseChatInteraction.js +83 -58
- package/dist/components/SynapseChat/SynapseChatInteraction.js.map +1 -1
- package/dist/components/SynapseChat/SynapseChatMessage.d.ts +1 -0
- package/dist/components/SynapseChat/SynapseChatMessage.d.ts.map +1 -1
- package/dist/components/SynapseChat/SynapseChatMessage.js +16 -15
- package/dist/components/SynapseChat/SynapseChatMessage.js.map +1 -1
- package/dist/components/SynapseChat/SynapsePortalChatDialog.d.ts +12 -0
- package/dist/components/SynapseChat/SynapsePortalChatDialog.d.ts.map +1 -0
- package/dist/components/SynapseChat/SynapsePortalChatDialog.js +30 -0
- package/dist/components/SynapseChat/SynapsePortalChatDialog.js.map +1 -0
- package/dist/components/SynapseChat/extractMessageFromTraceEvent.d.ts.map +1 -1
- package/dist/components/SynapseChat/extractMessageFromTraceEvent.js +22 -16
- package/dist/components/SynapseChat/extractMessageFromTraceEvent.js.map +1 -1
- package/dist/components/SynapseChat/index.d.ts +2 -0
- package/dist/components/SynapseChat/index.d.ts.map +1 -1
- package/dist/components/SynapseChat/index.js +5 -3
- package/dist/components/SynapseChat/index.js.map +1 -1
- package/dist/components/SynapseChat/useChatState.d.ts +1 -1
- package/dist/components/SynapseChat/useChatState.d.ts.map +1 -1
- package/dist/components/SynapseChat/useChatState.js +10 -7
- package/dist/components/SynapseChat/useChatState.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseHomepageChatSearch.d.ts.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseHomepageChatSearch.js +30 -32
- package/dist/components/SynapseHomepageV2/SynapseHomepageChatSearch.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseHomepageSearch.d.ts.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseHomepageSearch.js +27 -30
- package/dist/components/SynapseHomepageV2/SynapseHomepageSearch.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseSearchChips.d.ts.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseSearchChips.js +14 -17
- package/dist/components/SynapseHomepageV2/SynapseSearchChips.js.map +1 -1
- package/dist/components/SynapseNavDrawer/SynapseNavDrawer.d.ts.map +1 -1
- package/dist/components/SynapseNavDrawer/SynapseNavDrawer.js +114 -115
- package/dist/components/SynapseNavDrawer/SynapseNavDrawer.js.map +1 -1
- package/dist/components/SynapsePortalBanners/SynapsePortalBanners.d.ts.map +1 -1
- package/dist/components/SynapsePortalBanners/SynapsePortalBanners.js +39 -39
- package/dist/components/SynapsePortalBanners/SynapsePortalBanners.js.map +1 -1
- package/dist/components/SynapseSearchPageResults/SearchPagePortalBanners.js +18 -18
- package/dist/components/SynapseSearchPageResults/SearchPagePortalBanners.js.map +1 -1
- package/dist/components/SynapseSearchPageResults/SynapseSearchResultsCard.d.ts.map +1 -1
- package/dist/components/SynapseSearchPageResults/SynapseSearchResultsCard.js +66 -64
- package/dist/components/SynapseSearchPageResults/SynapseSearchResultsCard.js.map +1 -1
- package/dist/components/SynapseTable/RowSelection/RowSelectionControls.js +13 -13
- package/dist/components/SynapseTable/RowSelection/RowSelectionControls.js.map +1 -1
- package/dist/components/SynapseTable/TopLevelControls/TopLevelControlsUtils.js +9 -9
- package/dist/components/SynapseTable/TopLevelControls/TopLevelControlsUtils.js.map +1 -1
- package/dist/components/TextToComponentCollapse.d.ts +16 -0
- package/dist/components/TextToComponentCollapse.d.ts.map +1 -0
- package/dist/components/TextToComponentCollapse.js +29 -0
- package/dist/components/TextToComponentCollapse.js.map +1 -0
- package/dist/components/download_list/AddToDownloadListConfirmationAlert/AddToDownloadListConfirmationAlert.js +8 -3
- package/dist/components/download_list/AddToDownloadListConfirmationAlert/AddToDownloadListConfirmationAlert.js.map +1 -1
- package/dist/components/download_list/DownloadConfirmationUI.d.ts +1 -1
- package/dist/components/download_list/DownloadConfirmationUI.js +22 -22
- package/dist/components/download_list/DownloadConfirmationUI.js.map +1 -1
- package/dist/components/download_list/DownloadConfirmationUtils.js +4 -4
- package/dist/components/download_list/DownloadConfirmationUtils.js.map +1 -1
- package/dist/components/index.js +85 -83
- package/dist/components/index.js.map +1 -1
- package/dist/components/row_renderers/ObservationCard.js +12 -11
- package/dist/components/row_renderers/ObservationCard.js.map +1 -1
- package/dist/components/row_renderers/utils/CardFooter.d.ts +1 -3
- package/dist/components/row_renderers/utils/CardFooter.d.ts.map +1 -1
- package/dist/components/row_renderers/utils/CardFooter.js +31 -45
- package/dist/components/row_renderers/utils/CardFooter.js.map +1 -1
- package/dist/components/table/CsvPreview/CsvPreview.js +8 -3
- package/dist/components/table/CsvPreview/CsvPreview.js.map +1 -1
- package/dist/components/table/CsvPreview/CsvPreviewDialog.js +8 -3
- package/dist/components/table/CsvPreview/CsvPreviewDialog.js.map +1 -1
- package/dist/features/curator/GridPage/GridPage.js +8 -3
- package/dist/features/curator/GridPage/GridPage.js.map +1 -1
- package/dist/features/curator/GridPage/components/GridPageTitle.js +8 -3
- package/dist/features/curator/GridPage/components/GridPageTitle.js.map +1 -1
- package/dist/index.js +137 -135
- package/dist/index.js.map +1 -1
- package/dist/style/abstracts/_functions.scss +0 -0
- package/dist/style/abstracts/_mixins.scss +0 -0
- package/dist/style/abstracts/_variables.scss +0 -0
- package/dist/style/base/_base.scss +0 -0
- package/dist/style/base/_fonts.scss +0 -0
- package/dist/style/base/_helpers.scss +0 -0
- package/dist/style/components/_all.scss +0 -1
- package/dist/style/components/_cards.scss +22 -0
- package/dist/style/components/_download-list-v2.scss +1 -1
- package/dist/style/components/_query-wrapper-plot-nav.scss +13 -0
- package/dist/style/main.css +1 -1
- package/dist/style/main.scss +0 -0
- package/dist/style/vendors/_normalize.scss +0 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/utils/AppUtils/session/ApplicationSessionManager.d.ts.map +1 -1
- package/dist/utils/AppUtils/session/ApplicationSessionManager.js.map +1 -1
- package/dist/utils/context/FullContextProvider.js +9 -9
- package/dist/utils/context/FullContextProvider.js.map +1 -1
- package/dist/utils/context/SynapseContext.d.ts.map +1 -1
- package/dist/utils/context/SynapseContext.js +1 -0
- package/dist/utils/context/SynapseContext.js.map +1 -1
- package/dist/utils/functions/SqlFunctions.d.ts +4 -0
- package/dist/utils/functions/SqlFunctions.d.ts.map +1 -1
- package/dist/utils/functions/SqlFunctions.js +25 -23
- package/dist/utils/functions/SqlFunctions.js.map +1 -1
- package/package.json +25 -24
- package/dist/assets/themed_icons/Challenge.d.ts +0 -3
- package/dist/assets/themed_icons/Challenge.d.ts.map +0 -1
- package/dist/assets/themed_icons/Challenge.js +0 -25
- package/dist/assets/themed_icons/Challenge.js.map +0 -1
- package/dist/style/components/_download-cart-page.scss +0 -204
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsxs as e, jsx as r } from "react/jsx-runtime";
|
|
2
|
-
import
|
|
2
|
+
import p from "../IconSvg/IconSvg.js";
|
|
3
3
|
import "../../utils/functions/EntityTypeUtils.js";
|
|
4
4
|
import "react";
|
|
5
5
|
import "../../assets/icons/chart2.svg.js";
|
|
@@ -15,29 +15,30 @@ import "../../assets/icons/study-complete.svg.js";
|
|
|
15
15
|
import "../../assets/icons/translational.svg.js";
|
|
16
16
|
import "../../assets/icons/tree_horizontal.svg.js";
|
|
17
17
|
import "../../assets/icons/standardDataModel.svg.js";
|
|
18
|
+
import "../../assets/icons/Challenge.svg.js";
|
|
18
19
|
import "@mui/material/SvgIcon";
|
|
19
20
|
import "../../utils/SynapseConstants.js";
|
|
20
21
|
import h from "../ShowMore/ShowMore.js";
|
|
21
22
|
import { Skeleton as d, Link as u } from "@mui/material";
|
|
22
23
|
import { SkeletonTable as N } from "../Skeleton/SkeletonTable.js";
|
|
23
24
|
import { UserBadge as O } from "../UserCard/UserBadge.js";
|
|
24
|
-
function
|
|
25
|
+
function H({
|
|
25
26
|
data: i,
|
|
26
27
|
schema: t,
|
|
27
|
-
includePortalCardClass:
|
|
28
|
+
includePortalCardClass: c = !0
|
|
28
29
|
}) {
|
|
29
|
-
const
|
|
30
|
+
const l = i[t.observationSubmitterName], o = i[t.synapseId], s = i[t.observationTime], v = i[t.observationTimeUnits], n = i[t.observationText], a = i[t.observationType], b = JSON.parse(a ?? ""), m = i[t.doi];
|
|
30
31
|
return /* @__PURE__ */ e(
|
|
31
32
|
"div",
|
|
32
33
|
{
|
|
33
|
-
className: `ObservationCard ${
|
|
34
|
+
className: `ObservationCard ${c ? "SRC-portalCard" : ""}`,
|
|
34
35
|
children: [
|
|
35
36
|
/* @__PURE__ */ e("div", { className: "ObservationCard__submitter", children: [
|
|
36
|
-
!o && /* @__PURE__ */ r("div", { children:
|
|
37
|
+
!o && /* @__PURE__ */ r("div", { children: l }),
|
|
37
38
|
o && /* @__PURE__ */ r(O, { userId: o })
|
|
38
39
|
] }),
|
|
39
40
|
s && /* @__PURE__ */ e("div", { className: "ObservationCard__time", children: [
|
|
40
|
-
/* @__PURE__ */ r(
|
|
41
|
+
/* @__PURE__ */ r(p, { icon: "time" }),
|
|
41
42
|
/* @__PURE__ */ r("span", { children: `${s} ${v}` })
|
|
42
43
|
] }),
|
|
43
44
|
n && /* @__PURE__ */ r("div", { className: "ObservationCard__text", children: /* @__PURE__ */ r(h, { summary: n }) }),
|
|
@@ -55,16 +56,16 @@ function G({
|
|
|
55
56
|
}
|
|
56
57
|
);
|
|
57
58
|
}
|
|
58
|
-
function
|
|
59
|
+
function K() {
|
|
59
60
|
return /* @__PURE__ */ e("div", { className: "SRC-portalCard ObservationCard", children: [
|
|
60
61
|
/* @__PURE__ */ r("div", { className: "ObservationCard__submitter", children: /* @__PURE__ */ r("span", { children: /* @__PURE__ */ r(d, { width: "100px" }) }) }),
|
|
61
|
-
/* @__PURE__ */ r("div", { className: "ObservationCard__time", children: /* @__PURE__ */ r(
|
|
62
|
+
/* @__PURE__ */ r("div", { className: "ObservationCard__time", children: /* @__PURE__ */ r(p, { icon: "time" }) }),
|
|
62
63
|
/* @__PURE__ */ r("div", { className: "ObservationCard__text", children: /* @__PURE__ */ r(N, { numCols: 1, numRows: 4 }) }),
|
|
63
64
|
/* @__PURE__ */ r("div", { className: "ObservationCard__tags", children: /* @__PURE__ */ r(d, { width: "80px" }) })
|
|
64
65
|
] });
|
|
65
66
|
}
|
|
66
67
|
export {
|
|
67
|
-
|
|
68
|
-
|
|
68
|
+
K as LoadingObservationCard,
|
|
69
|
+
H as ObservationCard
|
|
69
70
|
};
|
|
70
71
|
//# sourceMappingURL=ObservationCard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObservationCard.js","sources":["../../../src/components/row_renderers/ObservationCard.tsx"],"sourcesContent":["import IconSvg from '../IconSvg/IconSvg'\nimport { ShowMore } from './utils'\nimport { UnitType } from 'dayjs'\nimport { Link, Skeleton } from '@mui/material'\nimport { SkeletonTable } from '../Skeleton/SkeletonTable'\nimport { UserBadge } from '../UserCard/UserBadge'\n\n/**\n * Column index values into the row values given provided in \"data\"\n */\nexport type ObservationCardSchema = {\n observationSubmitterName: number\n synapseId: number\n observationTime: number\n observationTimeUnits: number\n observationText: number\n observationType: number\n doi: number\n}\n\nexport type ObservationCardProps = {\n schema: ObservationCardSchema\n data: (string | null)[]\n includePortalCardClass?: boolean\n}\n\n/**\n * Specialized Observation Card, initially implemented for the NF portal.\n * Expects the following columns: submitterName, submitterUserId, time, timeUnits, text, and tag.\n */\nexport function ObservationCard({\n data,\n schema,\n includePortalCardClass = true,\n}: ObservationCardProps) {\n const submitterName = data[schema.observationSubmitterName]\n const submitterUserId = data[schema.synapseId]\n const time = data[schema.observationTime]\n const timeUnits = data[schema.observationTimeUnits] as UnitType\n const text = data[schema.observationText]\n const tag = data[schema.observationType]\n const tags: string[] = JSON.parse(tag ?? '')\n const doi = data[schema.doi]\n return (\n <div\n className={`ObservationCard ${\n includePortalCardClass ? 'SRC-portalCard' : ''\n }`}\n >\n <div className=\"ObservationCard__submitter\">\n {!submitterUserId && <div>{submitterName}</div>}\n {submitterUserId && <UserBadge userId={submitterUserId} />}\n </div>\n {time && (\n <div className=\"ObservationCard__time\">\n <IconSvg icon=\"time\" />\n <span>{`${time} ${timeUnits}`}</span>\n </div>\n )}\n {text && (\n <div className=\"ObservationCard__text\">\n <ShowMore summary={text} />\n </div>\n )}\n {doi && (\n <div className=\"ObservationCard__doi\">\n <Link href={doi} target=\"_blank\">\n Reference\n </Link>\n </div>\n )}\n <div className=\"ObservationCard__tags\">\n {tag &&\n tags.map((tag, index) => {\n return (\n <span\n key={index}\n className=\"SRC-tag\"\n style={{ marginRight: '5px' }}\n >\n {tag}\n </span>\n )\n })}\n </div>\n </div>\n )\n}\n\nexport function LoadingObservationCard() {\n return (\n <div className=\"SRC-portalCard ObservationCard\">\n <div className=\"ObservationCard__submitter\">\n <span>\n <Skeleton width=\"100px\" />\n </span>\n </div>\n <div className=\"ObservationCard__time\">\n <IconSvg icon=\"time\" />\n </div>\n <div className=\"ObservationCard__text\">\n <SkeletonTable numCols={1} numRows={4} />\n </div>\n <div className=\"ObservationCard__tags\">\n <Skeleton width=\"80px\" />\n </div>\n </div>\n )\n}\n"],"names":["ObservationCard","data","schema","includePortalCardClass","submitterName","submitterUserId","time","timeUnits","text","tag","tags","doi","jsxs","jsx","UserBadge","IconSvg","ShowMore","Link","index","LoadingObservationCard","Skeleton","SkeletonTable"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ObservationCard.js","sources":["../../../src/components/row_renderers/ObservationCard.tsx"],"sourcesContent":["import IconSvg from '../IconSvg/IconSvg'\nimport { ShowMore } from './utils'\nimport { UnitType } from 'dayjs'\nimport { Link, Skeleton } from '@mui/material'\nimport { SkeletonTable } from '../Skeleton/SkeletonTable'\nimport { UserBadge } from '../UserCard/UserBadge'\n\n/**\n * Column index values into the row values given provided in \"data\"\n */\nexport type ObservationCardSchema = {\n observationSubmitterName: number\n synapseId: number\n observationTime: number\n observationTimeUnits: number\n observationText: number\n observationType: number\n doi: number\n}\n\nexport type ObservationCardProps = {\n schema: ObservationCardSchema\n data: (string | null)[]\n includePortalCardClass?: boolean\n}\n\n/**\n * Specialized Observation Card, initially implemented for the NF portal.\n * Expects the following columns: submitterName, submitterUserId, time, timeUnits, text, and tag.\n */\nexport function ObservationCard({\n data,\n schema,\n includePortalCardClass = true,\n}: ObservationCardProps) {\n const submitterName = data[schema.observationSubmitterName]\n const submitterUserId = data[schema.synapseId]\n const time = data[schema.observationTime]\n const timeUnits = data[schema.observationTimeUnits] as UnitType\n const text = data[schema.observationText]\n const tag = data[schema.observationType]\n const tags: string[] = JSON.parse(tag ?? '')\n const doi = data[schema.doi]\n return (\n <div\n className={`ObservationCard ${\n includePortalCardClass ? 'SRC-portalCard' : ''\n }`}\n >\n <div className=\"ObservationCard__submitter\">\n {!submitterUserId && <div>{submitterName}</div>}\n {submitterUserId && <UserBadge userId={submitterUserId} />}\n </div>\n {time && (\n <div className=\"ObservationCard__time\">\n <IconSvg icon=\"time\" />\n <span>{`${time} ${timeUnits}`}</span>\n </div>\n )}\n {text && (\n <div className=\"ObservationCard__text\">\n <ShowMore summary={text} />\n </div>\n )}\n {doi && (\n <div className=\"ObservationCard__doi\">\n <Link href={doi} target=\"_blank\">\n Reference\n </Link>\n </div>\n )}\n <div className=\"ObservationCard__tags\">\n {tag &&\n tags.map((tag, index) => {\n return (\n <span\n key={index}\n className=\"SRC-tag\"\n style={{ marginRight: '5px' }}\n >\n {tag}\n </span>\n )\n })}\n </div>\n </div>\n )\n}\n\nexport function LoadingObservationCard() {\n return (\n <div className=\"SRC-portalCard ObservationCard\">\n <div className=\"ObservationCard__submitter\">\n <span>\n <Skeleton width=\"100px\" />\n </span>\n </div>\n <div className=\"ObservationCard__time\">\n <IconSvg icon=\"time\" />\n </div>\n <div className=\"ObservationCard__text\">\n <SkeletonTable numCols={1} numRows={4} />\n </div>\n <div className=\"ObservationCard__tags\">\n <Skeleton width=\"80px\" />\n </div>\n </div>\n )\n}\n"],"names":["ObservationCard","data","schema","includePortalCardClass","submitterName","submitterUserId","time","timeUnits","text","tag","tags","doi","jsxs","jsx","UserBadge","IconSvg","ShowMore","Link","index","LoadingObservationCard","Skeleton","SkeletonTable"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AA8BO,SAASA,EAAgB;AAAA,EAC9B,MAAAC;AAAA,EACA,QAAAC;AAAA,EACA,wBAAAC,IAAyB;AAC3B,GAAyB;AACvB,QAAMC,IAAgBH,EAAKC,EAAO,wBAAwB,GACpDG,IAAkBJ,EAAKC,EAAO,SAAS,GACvCI,IAAOL,EAAKC,EAAO,eAAe,GAClCK,IAAYN,EAAKC,EAAO,oBAAoB,GAC5CM,IAAOP,EAAKC,EAAO,eAAe,GAClCO,IAAMR,EAAKC,EAAO,eAAe,GACjCQ,IAAiB,KAAK,MAAMD,KAAO,EAAE,GACrCE,IAAMV,EAAKC,EAAO,GAAG;AAC3B,SACE,gBAAAU;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW,mBACTT,IAAyB,mBAAmB,EAC9C;AAAA,MAEA,UAAA;AAAA,QAAA,gBAAAS,EAAC,OAAA,EAAI,WAAU,8BACZ,UAAA;AAAA,UAAA,CAACP,KAAmB,gBAAAQ,EAAC,OAAA,EAAK,UAAAT,EAAA,CAAc;AAAA,UACxCC,KAAmB,gBAAAQ,EAACC,GAAA,EAAU,QAAQT,EAAA,CAAiB;AAAA,QAAA,GAC1D;AAAA,QACCC,KACC,gBAAAM,EAAC,OAAA,EAAI,WAAU,yBACb,UAAA;AAAA,UAAA,gBAAAC,EAACE,GAAA,EAAQ,MAAK,OAAA,CAAO;AAAA,4BACpB,QAAA,EAAM,UAAA,GAAGT,CAAI,IAAIC,CAAS,GAAA,CAAG;AAAA,QAAA,GAChC;AAAA,QAEDC,uBACE,OAAA,EAAI,WAAU,yBACb,UAAA,gBAAAK,EAACG,GAAA,EAAS,SAASR,EAAA,CAAM,EAAA,CAC3B;AAAA,QAEDG,KACC,gBAAAE,EAAC,OAAA,EAAI,WAAU,wBACb,UAAA,gBAAAA,EAACI,GAAA,EAAK,MAAMN,GAAK,QAAO,UAAS,UAAA,YAAA,CAEjC,GACF;AAAA,QAEF,gBAAAE,EAAC,SAAI,WAAU,yBACZ,eACCH,EAAK,IAAI,CAACD,GAAKS,MAEX,gBAAAL;AAAA,UAAC;AAAA,UAAA;AAAA,YAEC,WAAU;AAAA,YACV,OAAO,EAAE,aAAa,MAAA;AAAA,YAErB,UAAAJ;AAAAA,UAAA;AAAA,UAJIS;AAAA,QAAA,CAOV,EAAA,CACL;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN;AAEO,SAASC,IAAyB;AACvC,SACE,gBAAAP,EAAC,OAAA,EAAI,WAAU,kCACb,UAAA;AAAA,IAAA,gBAAAC,EAAC,OAAA,EAAI,WAAU,8BACb,UAAA,gBAAAA,EAAC,QAAA,EACC,4BAACO,GAAA,EAAS,OAAM,QAAA,CAAQ,EAAA,CAC1B,GACF;AAAA,IACA,gBAAAP,EAAC,SAAI,WAAU,yBACb,4BAACE,GAAA,EAAQ,MAAK,QAAO,EAAA,CACvB;AAAA,IACA,gBAAAF,EAAC,OAAA,EAAI,WAAU,yBACb,UAAA,gBAAAA,EAACQ,KAAc,SAAS,GAAG,SAAS,EAAA,CAAG,EAAA,CACzC;AAAA,IACA,gBAAAR,EAAC,SAAI,WAAU,yBACb,4BAACO,GAAA,EAAS,OAAM,QAAO,EAAA,CACzB;AAAA,EAAA,GACF;AAEJ;"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Component } from 'react';
|
|
2
|
-
import { ColumnIconConfigs } from '../../CardContainerLogic';
|
|
3
2
|
export type CardLabel = {
|
|
4
3
|
columnDisplayName: string;
|
|
5
4
|
value: React.ReactNode;
|
|
@@ -13,7 +12,6 @@ type CardFooterProps = {
|
|
|
13
12
|
values: CardLabel[];
|
|
14
13
|
isHeader: boolean;
|
|
15
14
|
secondaryLabelLimit?: number;
|
|
16
|
-
columnIconOptions?: ColumnIconConfigs;
|
|
17
15
|
className?: string;
|
|
18
16
|
cardTopContent?: React.ReactNode;
|
|
19
17
|
};
|
|
@@ -23,7 +21,7 @@ declare class CardFooter extends Component<CardFooterProps, State> {
|
|
|
23
21
|
componentDidMount(): void;
|
|
24
22
|
componentWillUnmount(): void;
|
|
25
23
|
updatePredicate(): void;
|
|
26
|
-
renderRowValue: (
|
|
24
|
+
renderRowValue: (value: React.ReactNode) => string | number | bigint | boolean | Iterable<import("react").ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<import("react").ReactNode> | null | undefined> | import("react/jsx-runtime").JSX.Element | null | undefined;
|
|
27
25
|
renderRows: (values: CardLabel[], limit: number, isDesktop: boolean) => import("react/jsx-runtime").JSX.Element[];
|
|
28
26
|
render(): import("react/jsx-runtime").JSX.Element;
|
|
29
27
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CardFooter.d.ts","sourceRoot":"","sources":["../../../../src/components/row_renderers/utils/CardFooter.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAY,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"CardFooter.d.ts","sourceRoot":"","sources":["../../../../src/components/row_renderers/utils/CardFooter.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAY,MAAM,OAAO,CAAA;AAG3C,MAAM,MAAM,SAAS,GAAG;IACtB,iBAAiB,EAAE,MAAM,CAAA;IACzB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,KAAK,KAAK,GAAG;IACX,YAAY,EAAE,OAAO,CAAA;IACrB,SAAS,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,KAAK,eAAe,GAAG;IACrB,MAAM,EAAE,SAAS,EAAE,CAAA;IACnB,QAAQ,EAAE,OAAO,CAAA;IACjB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CACjC,CAAA;AAED,cAAM,UAAW,SAAQ,SAAS,CAAC,eAAe,EAAE,KAAK,CAAC;gBAC5C,KAAK,EAAE,eAAe;IAUlC,cAAc;IAMd,iBAAiB;IAKjB,oBAAoB;IAIpB,eAAe;IAIf,cAAc,GAAI,OAAO,KAAK,CAAC,SAAS,6WAevC;IACD,UAAU,GAAI,QAAQ,SAAS,EAAE,EAAE,OAAO,MAAM,EAAE,WAAW,OAAO,+CA4BnE;IAED,MAAM;CA8CP;AACD,eAAe,UAAU,CAAA"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { jsx as e, jsxs as
|
|
2
|
-
import { convertDoiToLink as
|
|
3
|
-
import { Component as
|
|
4
|
-
import
|
|
5
|
-
class
|
|
6
|
-
constructor(
|
|
7
|
-
super(
|
|
1
|
+
import { jsx as e, jsxs as a } from "react/jsx-runtime";
|
|
2
|
+
import { convertDoiToLink as h } from "../../../utils/functions/RegularExpressions.js";
|
|
3
|
+
import { Component as m, Fragment as p } from "react";
|
|
4
|
+
import w from "../../IconSvg/IconSvg.js";
|
|
5
|
+
class M extends m {
|
|
6
|
+
constructor(t) {
|
|
7
|
+
super(t), this.state = {
|
|
8
8
|
isShowMoreOn: !1,
|
|
9
9
|
isDesktop: !1
|
|
10
10
|
}, this.toggleShowMore = this.toggleShowMore.bind(this), this.updatePredicate = this.updatePredicate.bind(this);
|
|
@@ -23,46 +23,32 @@ class k extends w {
|
|
|
23
23
|
updatePredicate() {
|
|
24
24
|
this.setState({ isDesktop: window.innerWidth > 600 });
|
|
25
25
|
}
|
|
26
|
-
renderRowValue = (
|
|
27
|
-
const r = this.props.columnIconOptions;
|
|
26
|
+
renderRowValue = (t) => {
|
|
28
27
|
if (typeof t != "string")
|
|
29
28
|
return t;
|
|
30
|
-
const
|
|
31
|
-
|
|
32
|
-
return /* @__PURE__ */ e("a", { target: "_blank", rel: "noopener noreferrer", href: s, children: o });
|
|
33
|
-
if (r && r.columns && a && Object.keys(r.columns).includes(a)) {
|
|
34
|
-
const i = r.columns[a][t];
|
|
35
|
-
return i ? (i.sx = { ...i.sx, paddingRight: "0.2rem" }, /* @__PURE__ */ n(p, { children: [
|
|
36
|
-
/* @__PURE__ */ e(m, { ...i }),
|
|
37
|
-
/* @__PURE__ */ e("span", { style: { verticalAlign: "middle" }, children: t })
|
|
38
|
-
] })) : /* @__PURE__ */ e("span", { children: t });
|
|
39
|
-
}
|
|
40
|
-
return t;
|
|
29
|
+
const r = t.trim(), i = h(r);
|
|
30
|
+
return i ? /* @__PURE__ */ e("a", { target: "_blank", rel: "noopener noreferrer", href: i, children: r }) : t;
|
|
41
31
|
};
|
|
42
|
-
renderRows = (
|
|
43
|
-
const { columnDisplayName:
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
c
|
|
47
|
-
)
|
|
48
|
-
|
|
49
|
-
/* @__PURE__ */ e("
|
|
50
|
-
|
|
51
|
-
] }, o) : /* @__PURE__ */ n(S, { children: [
|
|
52
|
-
/* @__PURE__ */ e("tr", { className: "SRC-cardRowMobile " + d, children: /* @__PURE__ */ e("td", { className: "SRC-verticalAlignTop SRC-row-label", children: s }) }),
|
|
53
|
-
/* @__PURE__ */ e("tr", { className: "SRC-cardRowMobile " + d, children: /* @__PURE__ */ e("td", { className: "SRC-row-data SRC-limitMaxWidth", children: h }) })
|
|
54
|
-
] }, o);
|
|
32
|
+
renderRows = (t, r, i) => t.map((o, s) => {
|
|
33
|
+
const { columnDisplayName: n, value: d } = o, l = s >= r ? "SRC-hidden" : "", c = this.renderRowValue(d);
|
|
34
|
+
return i ? /* @__PURE__ */ a("tr", { className: "SRC-cardRowDesktop " + l, children: [
|
|
35
|
+
/* @__PURE__ */ e("td", { className: "SRC-verticalAlignTop SRC-row-label", children: n }),
|
|
36
|
+
/* @__PURE__ */ e("td", { className: "SRC-row-data SRC-limitMaxWidth ", children: c })
|
|
37
|
+
] }, s) : /* @__PURE__ */ a(p, { children: [
|
|
38
|
+
/* @__PURE__ */ e("tr", { className: "SRC-cardRowMobile " + l, children: /* @__PURE__ */ e("td", { className: "SRC-verticalAlignTop SRC-row-label", children: n }) }),
|
|
39
|
+
/* @__PURE__ */ e("tr", { className: "SRC-cardRowMobile " + l, children: /* @__PURE__ */ e("td", { className: "SRC-row-data SRC-limitMaxWidth", children: c }) })
|
|
40
|
+
] }, s);
|
|
55
41
|
});
|
|
56
42
|
render() {
|
|
57
|
-
const { values:
|
|
58
|
-
return /* @__PURE__ */
|
|
43
|
+
const { values: t, secondaryLabelLimit: r = 3, cardTopContent: i } = this.props, { isShowMoreOn: o, isDesktop: s } = this.state, n = t.filter((c) => !!c.value), d = n.length > r, l = !d || o ? 1 / 0 : r;
|
|
44
|
+
return /* @__PURE__ */ a(
|
|
59
45
|
"div",
|
|
60
46
|
{
|
|
61
47
|
"data-testid": "CardFooter",
|
|
62
48
|
className: `SRC-cardMetadata ${this.props.className ?? ""}`,
|
|
63
49
|
children: [
|
|
64
|
-
|
|
65
|
-
/* @__PURE__ */
|
|
50
|
+
i,
|
|
51
|
+
/* @__PURE__ */ a(
|
|
66
52
|
"table",
|
|
67
53
|
{
|
|
68
54
|
style: {
|
|
@@ -70,13 +56,13 @@ class k extends w {
|
|
|
70
56
|
wordBreak: "break-word"
|
|
71
57
|
},
|
|
72
58
|
children: [
|
|
73
|
-
/* @__PURE__ */
|
|
59
|
+
/* @__PURE__ */ a("colgroup", { children: [
|
|
74
60
|
/* @__PURE__ */ e("col", { className: "SRC-cardMetadata-column1" }),
|
|
75
61
|
/* @__PURE__ */ e("col", { className: "SRC-cardMetadata-column2" })
|
|
76
62
|
] }),
|
|
77
|
-
/* @__PURE__ */
|
|
78
|
-
this.renderRows(
|
|
79
|
-
|
|
63
|
+
/* @__PURE__ */ a("tbody", { children: [
|
|
64
|
+
this.renderRows(n, l, s),
|
|
65
|
+
d && /* @__PURE__ */ e("tr", { className: "SRC-cardRow", children: /* @__PURE__ */ e("td", { children: /* @__PURE__ */ a(
|
|
80
66
|
"a",
|
|
81
67
|
{
|
|
82
68
|
style: { textAlign: "left", margin: 0, padding: 0 },
|
|
@@ -84,11 +70,11 @@ class k extends w {
|
|
|
84
70
|
className: "highlight-link",
|
|
85
71
|
children: [
|
|
86
72
|
"Show ",
|
|
87
|
-
|
|
73
|
+
o ? "Less" : "More",
|
|
88
74
|
/* @__PURE__ */ e(
|
|
89
|
-
|
|
75
|
+
w,
|
|
90
76
|
{
|
|
91
|
-
icon:
|
|
77
|
+
icon: o ? "expandLess" : "expandMore"
|
|
92
78
|
}
|
|
93
79
|
)
|
|
94
80
|
]
|
|
@@ -104,6 +90,6 @@ class k extends w {
|
|
|
104
90
|
}
|
|
105
91
|
}
|
|
106
92
|
export {
|
|
107
|
-
|
|
93
|
+
M as default
|
|
108
94
|
};
|
|
109
95
|
//# sourceMappingURL=CardFooter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CardFooter.js","sources":["../../../../src/components/row_renderers/utils/CardFooter.tsx"],"sourcesContent":["import { convertDoiToLink } from '@/utils/functions/RegularExpressions'\nimport { Component, Fragment } from 'react'\nimport
|
|
1
|
+
{"version":3,"file":"CardFooter.js","sources":["../../../../src/components/row_renderers/utils/CardFooter.tsx"],"sourcesContent":["import { convertDoiToLink } from '@/utils/functions/RegularExpressions'\nimport { Component, Fragment } from 'react'\nimport IconSVG from '../../IconSvg/IconSvg'\n\nexport type CardLabel = {\n columnDisplayName: string\n value: React.ReactNode\n columnName?: string\n}\n\ntype State = {\n isShowMoreOn: boolean\n isDesktop: boolean\n}\n\ntype CardFooterProps = {\n values: CardLabel[]\n isHeader: boolean\n secondaryLabelLimit?: number\n className?: string\n cardTopContent?: React.ReactNode\n}\n\nclass CardFooter extends Component<CardFooterProps, State> {\n constructor(props: CardFooterProps) {\n super(props)\n this.state = {\n isShowMoreOn: false,\n isDesktop: false,\n }\n this.toggleShowMore = this.toggleShowMore.bind(this)\n this.updatePredicate = this.updatePredicate.bind(this)\n }\n\n toggleShowMore() {\n this.setState({\n isShowMoreOn: !this.state.isShowMoreOn,\n })\n }\n\n componentDidMount() {\n this.updatePredicate()\n window.addEventListener('resize', this.updatePredicate)\n }\n\n componentWillUnmount() {\n window.removeEventListener('resize', this.updatePredicate)\n }\n\n updatePredicate() {\n this.setState({ isDesktop: window.innerWidth > 600 })\n }\n\n renderRowValue = (value: React.ReactNode) => {\n if (typeof value !== 'string') {\n // value can sometimes be a react element\n return value\n }\n const valueAsString = value.trim()\n const doiLink = convertDoiToLink(valueAsString)\n if (doiLink) {\n return (\n <a target=\"_blank\" rel=\"noopener noreferrer\" href={doiLink}>\n {valueAsString}\n </a>\n )\n }\n return value\n }\n renderRows = (values: CardLabel[], limit: number, isDesktop: boolean) => {\n return values.map((label, index) => {\n const { columnDisplayName, value: labelValue } = label\n const hideClass = index >= limit ? 'SRC-hidden' : ''\n const value = this.renderRowValue(labelValue)\n if (isDesktop) {\n return (\n <tr className={'SRC-cardRowDesktop ' + hideClass} key={index}>\n <td className={'SRC-verticalAlignTop SRC-row-label'}>\n {columnDisplayName}\n </td>\n <td className={'SRC-row-data SRC-limitMaxWidth '}>{value}</td>\n </tr>\n )\n }\n return (\n <Fragment key={index}>\n <tr className={'SRC-cardRowMobile ' + hideClass}>\n <td className={'SRC-verticalAlignTop SRC-row-label'}>\n {columnDisplayName}\n </td>\n </tr>\n <tr className={'SRC-cardRowMobile ' + hideClass}>\n <td className=\"SRC-row-data SRC-limitMaxWidth\">{value}</td>\n </tr>\n </Fragment>\n )\n })\n }\n\n render() {\n const { values, secondaryLabelLimit = 3, cardTopContent } = this.props\n const { isShowMoreOn, isDesktop } = this.state\n const valuesFiltered = values.filter(el => Boolean(el.value))\n const hasMoreValuesThanLimit = valuesFiltered.length > secondaryLabelLimit\n const limit =\n !hasMoreValuesThanLimit || isShowMoreOn ? Infinity : secondaryLabelLimit\n return (\n <div\n data-testid=\"CardFooter\"\n className={`SRC-cardMetadata ${this.props.className ?? ''}`}\n >\n {cardTopContent}\n <table\n style={{\n width: '100%',\n wordBreak: 'break-word',\n }}\n >\n <colgroup>\n <col className=\"SRC-cardMetadata-column1\" />\n <col className=\"SRC-cardMetadata-column2\" />\n </colgroup>\n <tbody>\n {this.renderRows(valuesFiltered, limit, isDesktop)}\n {hasMoreValuesThanLimit && (\n <tr className=\"SRC-cardRow\">\n <td>\n <a\n style={{ textAlign: 'left', margin: 0, padding: 0 }}\n onClick={this.toggleShowMore}\n className=\"highlight-link\"\n >\n Show {isShowMoreOn ? 'Less' : 'More'}\n <IconSVG\n icon={isShowMoreOn ? 'expandLess' : 'expandMore'}\n />\n </a>\n </td>\n </tr>\n )}\n </tbody>\n </table>\n </div>\n )\n }\n}\nexport default CardFooter\n"],"names":["CardFooter","Component","props","value","valueAsString","doiLink","convertDoiToLink","jsx","values","limit","isDesktop","label","index","columnDisplayName","labelValue","hideClass","jsxs","Fragment","secondaryLabelLimit","cardTopContent","isShowMoreOn","valuesFiltered","el","hasMoreValuesThanLimit","IconSVG"],"mappings":"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"}
|
|
@@ -54,11 +54,14 @@ import "@mui/material/SvgIcon";
|
|
|
54
54
|
import "../../../assets/icons/AccessPending.svg.js";
|
|
55
55
|
import "../../../assets/icons/AccessPendingCloud.svg.js";
|
|
56
56
|
import "../../../assets/icons/FileWithShield.svg.js";
|
|
57
|
+
import "../../../assets/icons/MultiFile.svg.js";
|
|
58
|
+
import "../../../assets/icons/UnpackagableFile.svg.js";
|
|
57
59
|
import "../../../assets/icons/bioChemicalPhysical.svg.js";
|
|
58
60
|
import "../../../assets/icons/computationalTool.svg.js";
|
|
59
61
|
import "../../../assets/icons/dataReuse.svg.js";
|
|
60
62
|
import "../../../assets/icons/inSilicoModel.svg.js";
|
|
61
63
|
import "../../../assets/icons/modelSystem.svg.js";
|
|
64
|
+
import "../../../assets/mui_components/PackagableFile.svg.js";
|
|
62
65
|
import "../../../assets/icons/spatialProfiling.svg.js";
|
|
63
66
|
import "../../Authentication/AuthenticationMethodSelection.js";
|
|
64
67
|
import "mui-one-time-password-input";
|
|
@@ -83,6 +86,7 @@ import "../../../assets/icons/study-complete.svg.js";
|
|
|
83
86
|
import "../../../assets/icons/translational.svg.js";
|
|
84
87
|
import "../../../assets/icons/tree_horizontal.svg.js";
|
|
85
88
|
import "../../../assets/icons/standardDataModel.svg.js";
|
|
89
|
+
import "../../../assets/icons/Challenge.svg.js";
|
|
86
90
|
import "react-intersection-observer";
|
|
87
91
|
import "@rjsf/utils";
|
|
88
92
|
import "../../SchemaDrivenAnnotationEditor/template/AdditionalPropertyContext.js";
|
|
@@ -100,10 +104,10 @@ import "../../../assets/icons/DoubleQuotes.svg.js";
|
|
|
100
104
|
import "../../EntityDownloadConfirmation/EntityDownloadConfirmation.js";
|
|
101
105
|
import "../../QueryContext/QueryContext.js";
|
|
102
106
|
import "../../QueryVisualizationWrapper/QueryVisualizationContext.js";
|
|
107
|
+
import "react-share";
|
|
103
108
|
import "../../GenericCard/GenericCard.js";
|
|
104
109
|
import "@mui/system";
|
|
105
110
|
import "../../GenericCard/Linkify.js";
|
|
106
|
-
import "react-share";
|
|
107
111
|
import "jotai";
|
|
108
112
|
import f from "lodash-es/noop";
|
|
109
113
|
import "../../QueryWrapper/TableRowSelectionState.js";
|
|
@@ -202,6 +206,7 @@ import "lodash-es/set";
|
|
|
202
206
|
import "lodash-es/trimStart";
|
|
203
207
|
import "../../SynapseForm/SynapseFormSubmissionGrid.js";
|
|
204
208
|
import "../../SynapseChat/AccessLevelMenu.js";
|
|
209
|
+
import "react-draggable";
|
|
205
210
|
import "../../TimelinePlot/phasesQueryResponseData.js";
|
|
206
211
|
import "../../EntityHeaderTable/EntityHeaderTable.js";
|
|
207
212
|
import "../../MuiContainer.js";
|
|
@@ -213,7 +218,7 @@ import b from "../../TanStackTable/ColumnHeader.js";
|
|
|
213
218
|
import T from "../../TanStackTable/StyledTanStackTable.js";
|
|
214
219
|
import { useGetCsvPreview as h } from "../../../synapse-queries/table/useGetCsvPreview.js";
|
|
215
220
|
import { useReactTable as y, getCoreRowModel as P, createColumnHelper as R } from "@tanstack/react-table";
|
|
216
|
-
function
|
|
221
|
+
function $i(e) {
|
|
217
222
|
const {
|
|
218
223
|
fileHandleId: a,
|
|
219
224
|
csvTableDescriptor: i,
|
|
@@ -272,6 +277,6 @@ function S(e) {
|
|
|
272
277
|
}));
|
|
273
278
|
}
|
|
274
279
|
export {
|
|
275
|
-
|
|
280
|
+
$i as default
|
|
276
281
|
};
|
|
277
282
|
//# sourceMappingURL=CsvPreview.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CsvPreview.js","sources":["../../../../src/components/table/CsvPreview/CsvPreview.tsx"],"sourcesContent":["import { ErrorBanner } from '@/components/index'\nimport ColumnHeader from '@/components/TanStackTable/ColumnHeader'\nimport StyledTanStackTable from '@/components/TanStackTable/StyledTanStackTable'\nimport { useGetCsvPreview } from '@/synapse-queries/table/useGetCsvPreview'\nimport Typography from '@mui/material/Typography'\nimport {\n ColumnModel,\n CsvTableDescriptor,\n TableRow,\n UploadToTablePreviewResult,\n} from '@sage-bionetworks/synapse-client'\nimport {\n createColumnHelper,\n getCoreRowModel,\n useReactTable,\n} from '@tanstack/react-table'\nimport noop from 'lodash-es/noop'\nimport { useEffect, useMemo } from 'react'\n\nexport type CsvPreviewProps = {\n fileHandleId: string\n csvTableDescriptor: CsvTableDescriptor\n onCsvPreviewDataChange?: (data: UploadToTablePreviewResult) => void\n onIsLoadingChange?: (isLoading: boolean) => void\n}\n\n/**\n * Given a file handle ID and CSV Table Descriptor, fetches and displays a preview of the CSV file as it would be parsed into a table.\n */\nexport default function CsvPreview(props: CsvPreviewProps) {\n const {\n fileHandleId,\n csvTableDescriptor,\n onCsvPreviewDataChange = noop,\n onIsLoadingChange = noop,\n } = props\n\n const {\n data: csvPreviewData,\n isLoading,\n error,\n } = useGetCsvPreview({\n concreteType:\n 'org.sagebionetworks.repo.model.table.UploadToTablePreviewRequest',\n uploadFileHandleId: fileHandleId,\n csvTableDescriptor,\n })\n\n useEffect(() => {\n if (csvPreviewData) {\n onCsvPreviewDataChange(csvPreviewData)\n }\n }, [csvPreviewData, onCsvPreviewDataChange])\n\n useEffect(() => {\n onIsLoadingChange(isLoading)\n }, [isLoading, onIsLoadingChange])\n\n const tableData = useMemo(\n () => csvPreviewData?.sampleRows ?? [],\n [csvPreviewData?.sampleRows],\n )\n\n const columns = useMemo(\n () => getPreviewColumns(csvPreviewData?.suggestedColumns ?? []),\n [csvPreviewData?.suggestedColumns],\n )\n\n const table = useReactTable({\n getCoreRowModel: getCoreRowModel(),\n data: tableData,\n columns: columns,\n })\n\n if (error) {\n return <ErrorBanner error={error} />\n }\n\n return (\n <>\n {isLoading && <div>Loading preview...</div>}\n {!isLoading && csvPreviewData && table && (\n <>\n <Typography variant={'body1'}>\n Scanned {csvPreviewData?.rowsScanned?.toLocaleString()} rows to\n generate preview:\n </Typography>\n <StyledTanStackTable table={table} />\n </>\n )}\n </>\n )\n}\n\nfunction getPreviewColumns(columnModels: ColumnModel[]) {\n const columnHelper = createColumnHelper<TableRow>()\n return columnModels.map((columnModel, index) => {\n return columnHelper.accessor(tr => tr.values![index], {\n id: `column-${index}`,\n header: props => (\n <ColumnHeader\n {...props}\n title={`${columnModel.name} (${columnModel.columnType})`}\n />\n ),\n enableColumnFilter: false,\n enableSorting: false,\n })\n })\n}\n"],"names":["CsvPreview","props","fileHandleId","csvTableDescriptor","onCsvPreviewDataChange","noop","onIsLoadingChange","csvPreviewData","isLoading","error","useGetCsvPreview","useEffect","tableData","useMemo","columns","getPreviewColumns","table","useReactTable","getCoreRowModel","jsx","ErrorBanner","jsxs","Fragment","Typography","StyledTanStackTable","columnModels","columnHelper","createColumnHelper","columnModel","index","tr","ColumnHeader"],"mappings":"
|
|
1
|
+
{"version":3,"file":"CsvPreview.js","sources":["../../../../src/components/table/CsvPreview/CsvPreview.tsx"],"sourcesContent":["import { ErrorBanner } from '@/components/index'\nimport ColumnHeader from '@/components/TanStackTable/ColumnHeader'\nimport StyledTanStackTable from '@/components/TanStackTable/StyledTanStackTable'\nimport { useGetCsvPreview } from '@/synapse-queries/table/useGetCsvPreview'\nimport Typography from '@mui/material/Typography'\nimport {\n ColumnModel,\n CsvTableDescriptor,\n TableRow,\n UploadToTablePreviewResult,\n} from '@sage-bionetworks/synapse-client'\nimport {\n createColumnHelper,\n getCoreRowModel,\n useReactTable,\n} from '@tanstack/react-table'\nimport noop from 'lodash-es/noop'\nimport { useEffect, useMemo } from 'react'\n\nexport type CsvPreviewProps = {\n fileHandleId: string\n csvTableDescriptor: CsvTableDescriptor\n onCsvPreviewDataChange?: (data: UploadToTablePreviewResult) => void\n onIsLoadingChange?: (isLoading: boolean) => void\n}\n\n/**\n * Given a file handle ID and CSV Table Descriptor, fetches and displays a preview of the CSV file as it would be parsed into a table.\n */\nexport default function CsvPreview(props: CsvPreviewProps) {\n const {\n fileHandleId,\n csvTableDescriptor,\n onCsvPreviewDataChange = noop,\n onIsLoadingChange = noop,\n } = props\n\n const {\n data: csvPreviewData,\n isLoading,\n error,\n } = useGetCsvPreview({\n concreteType:\n 'org.sagebionetworks.repo.model.table.UploadToTablePreviewRequest',\n uploadFileHandleId: fileHandleId,\n csvTableDescriptor,\n })\n\n useEffect(() => {\n if (csvPreviewData) {\n onCsvPreviewDataChange(csvPreviewData)\n }\n }, [csvPreviewData, onCsvPreviewDataChange])\n\n useEffect(() => {\n onIsLoadingChange(isLoading)\n }, [isLoading, onIsLoadingChange])\n\n const tableData = useMemo(\n () => csvPreviewData?.sampleRows ?? [],\n [csvPreviewData?.sampleRows],\n )\n\n const columns = useMemo(\n () => getPreviewColumns(csvPreviewData?.suggestedColumns ?? []),\n [csvPreviewData?.suggestedColumns],\n )\n\n const table = useReactTable({\n getCoreRowModel: getCoreRowModel(),\n data: tableData,\n columns: columns,\n })\n\n if (error) {\n return <ErrorBanner error={error} />\n }\n\n return (\n <>\n {isLoading && <div>Loading preview...</div>}\n {!isLoading && csvPreviewData && table && (\n <>\n <Typography variant={'body1'}>\n Scanned {csvPreviewData?.rowsScanned?.toLocaleString()} rows to\n generate preview:\n </Typography>\n <StyledTanStackTable table={table} />\n </>\n )}\n </>\n )\n}\n\nfunction getPreviewColumns(columnModels: ColumnModel[]) {\n const columnHelper = createColumnHelper<TableRow>()\n return columnModels.map((columnModel, index) => {\n return columnHelper.accessor(tr => tr.values![index], {\n id: `column-${index}`,\n header: props => (\n <ColumnHeader\n {...props}\n title={`${columnModel.name} (${columnModel.columnType})`}\n />\n ),\n enableColumnFilter: false,\n enableSorting: false,\n })\n })\n}\n"],"names":["CsvPreview","props","fileHandleId","csvTableDescriptor","onCsvPreviewDataChange","noop","onIsLoadingChange","csvPreviewData","isLoading","error","useGetCsvPreview","useEffect","tableData","useMemo","columns","getPreviewColumns","table","useReactTable","getCoreRowModel","jsx","ErrorBanner","jsxs","Fragment","Typography","StyledTanStackTable","columnModels","columnHelper","createColumnHelper","columnModel","index","tr","ColumnHeader"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BA,SAAwBA,GAAWC,GAAwB;AACzD,QAAM;AAAA,IACJ,cAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,wBAAAC,IAAyBC;AAAA,IACzB,mBAAAC,IAAoBD;AAAA,EAAA,IAClBJ,GAEE;AAAA,IACJ,MAAMM;AAAA,IACN,WAAAC;AAAA,IACA,OAAAC;AAAA,EAAA,IACEC,EAAiB;AAAA,IACnB,cACE;AAAA,IACF,oBAAoBR;AAAA,IACpB,oBAAAC;AAAA,EAAA,CACD;AAED,EAAAQ,EAAU,MAAM;AACd,IAAIJ,KACFH,EAAuBG,CAAc;AAAA,EAEzC,GAAG,CAACA,GAAgBH,CAAsB,CAAC,GAE3CO,EAAU,MAAM;AACd,IAAAL,EAAkBE,CAAS;AAAA,EAC7B,GAAG,CAACA,GAAWF,CAAiB,CAAC;AAEjC,QAAMM,IAAYC;AAAA,IAChB,MAAMN,GAAgB,cAAc,CAAA;AAAA,IACpC,CAACA,GAAgB,UAAU;AAAA,EAAA,GAGvBO,IAAUD;AAAA,IACd,MAAME,EAAkBR,GAAgB,oBAAoB,EAAE;AAAA,IAC9D,CAACA,GAAgB,gBAAgB;AAAA,EAAA,GAG7BS,IAAQC,EAAc;AAAA,IAC1B,iBAAiBC,EAAA;AAAA,IACjB,MAAMN;AAAA,IACN,SAAAE;AAAA,EAAA,CACD;AAED,SAAIL,IACK,gBAAAU,EAACC,KAAY,OAAAX,GAAc,IAIlC,gBAAAY,EAAAC,GAAA,EACG,UAAA;AAAA,IAAAd,KAAa,gBAAAW,EAAC,SAAI,UAAA,qBAAA,CAAkB;AAAA,IACpC,CAACX,KAAaD,KAAkBS,KAC/B,gBAAAK,EAAAC,GAAA,EACE,UAAA;AAAA,MAAA,gBAAAD,EAACE,GAAA,EAAW,SAAS,SAAS,UAAA;AAAA,QAAA;AAAA,QACnBhB,GAAgB,aAAa,eAAA;AAAA,QAAiB;AAAA,MAAA,GAEzD;AAAA,MACA,gBAAAY,EAACK,KAAoB,OAAAR,EAAA,CAAc;AAAA,IAAA,EAAA,CACrC;AAAA,EAAA,GAEJ;AAEJ;AAEA,SAASD,EAAkBU,GAA6B;AACtD,QAAMC,IAAeC,EAAA;AACrB,SAAOF,EAAa,IAAI,CAACG,GAAaC,MAC7BH,EAAa,SAAS,CAAAI,MAAMA,EAAG,OAAQD,CAAK,GAAG;AAAA,IACpD,IAAI,UAAUA,CAAK;AAAA,IACnB,QAAQ,CAAA5B,MACN,gBAAAkB;AAAA,MAACY;AAAA,MAAA;AAAA,QACE,GAAG9B;AAAA,QACJ,OAAO,GAAG2B,EAAY,IAAI,KAAKA,EAAY,UAAU;AAAA,MAAA;AAAA,IAAA;AAAA,IAGzD,oBAAoB;AAAA,IACpB,eAAe;AAAA,EAAA,CAChB,CACF;AACH;"}
|
|
@@ -53,11 +53,14 @@ import "@mui/material/SvgIcon";
|
|
|
53
53
|
import "../../../assets/icons/AccessPending.svg.js";
|
|
54
54
|
import "../../../assets/icons/AccessPendingCloud.svg.js";
|
|
55
55
|
import "../../../assets/icons/FileWithShield.svg.js";
|
|
56
|
+
import "../../../assets/icons/MultiFile.svg.js";
|
|
57
|
+
import "../../../assets/icons/UnpackagableFile.svg.js";
|
|
56
58
|
import "../../../assets/icons/bioChemicalPhysical.svg.js";
|
|
57
59
|
import "../../../assets/icons/computationalTool.svg.js";
|
|
58
60
|
import "../../../assets/icons/dataReuse.svg.js";
|
|
59
61
|
import "../../../assets/icons/inSilicoModel.svg.js";
|
|
60
62
|
import "../../../assets/icons/modelSystem.svg.js";
|
|
63
|
+
import "../../../assets/mui_components/PackagableFile.svg.js";
|
|
61
64
|
import "../../../assets/icons/spatialProfiling.svg.js";
|
|
62
65
|
import "../../Authentication/AuthenticationMethodSelection.js";
|
|
63
66
|
import "mui-one-time-password-input";
|
|
@@ -82,6 +85,7 @@ import "../../../assets/icons/study-complete.svg.js";
|
|
|
82
85
|
import "../../../assets/icons/translational.svg.js";
|
|
83
86
|
import "../../../assets/icons/tree_horizontal.svg.js";
|
|
84
87
|
import "../../../assets/icons/standardDataModel.svg.js";
|
|
88
|
+
import "../../../assets/icons/Challenge.svg.js";
|
|
85
89
|
import "react-intersection-observer";
|
|
86
90
|
import "@rjsf/utils";
|
|
87
91
|
import "../../styled/StyledPopover.js";
|
|
@@ -102,10 +106,10 @@ import "@mui/icons-material/Close";
|
|
|
102
106
|
import "../../EntityDownloadConfirmation/EntityDownloadConfirmation.js";
|
|
103
107
|
import "../../QueryContext/QueryContext.js";
|
|
104
108
|
import "../../QueryVisualizationWrapper/QueryVisualizationContext.js";
|
|
109
|
+
import "react-share";
|
|
105
110
|
import "../../GenericCard/GenericCard.js";
|
|
106
111
|
import "@mui/system";
|
|
107
112
|
import "../../GenericCard/Linkify.js";
|
|
108
|
-
import "react-share";
|
|
109
113
|
import "jotai";
|
|
110
114
|
import "lodash-es/noop";
|
|
111
115
|
import "../../QueryWrapper/TableRowSelectionState.js";
|
|
@@ -204,6 +208,7 @@ import "lodash-es/set";
|
|
|
204
208
|
import "lodash-es/trimStart";
|
|
205
209
|
import "../../SynapseForm/SynapseFormSubmissionGrid.js";
|
|
206
210
|
import "../../SynapseChat/AccessLevelMenu.js";
|
|
211
|
+
import "react-draggable";
|
|
207
212
|
import "../../TimelinePlot/phasesQueryResponseData.js";
|
|
208
213
|
import "../../EntityHeaderTable/EntityHeaderTable.js";
|
|
209
214
|
import "../../MuiContainer.js";
|
|
@@ -219,7 +224,7 @@ import E from "@mui/material/AccordionDetails";
|
|
|
219
224
|
import M from "@mui/material/AccordionSummary";
|
|
220
225
|
import a from "@mui/material/Button";
|
|
221
226
|
import j from "@mui/material/Stack";
|
|
222
|
-
function
|
|
227
|
+
function _i(u) {
|
|
223
228
|
const { open: C, onClose: l, onConfirm: v, confirmIsPending: h, errorMessage: s } = u, [i, g] = t(
|
|
224
229
|
0
|
|
225
230
|
/* UPLOAD_CSV */
|
|
@@ -327,6 +332,6 @@ function Ni(u) {
|
|
|
327
332
|
);
|
|
328
333
|
}
|
|
329
334
|
export {
|
|
330
|
-
|
|
335
|
+
_i as default
|
|
331
336
|
};
|
|
332
337
|
//# sourceMappingURL=CsvPreviewDialog.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CsvPreviewDialog.js","sources":["../../../../src/components/table/CsvPreview/CsvPreviewDialog.tsx"],"sourcesContent":["import { DialogBase } from '@/components/DialogBase'\nimport {\n BasicFileHandleUpload,\n FileUploadHandle,\n} from '@/components/file/upload/BasicFileHandleUpload'\nimport { ErrorBanner } from '@/components/index'\nimport CsvPreview from '@/components/table/CsvPreview/CsvPreview'\nimport CsvTableDescriptorForm, {\n CsvTableDescriptorFormHandle,\n} from '@/components/table/CsvTableDescriptorForm/CsvTableDescriptorForm'\nimport { RefreshTwoTone } from '@mui/icons-material'\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore'\nimport Accordion from '@mui/material/Accordion'\nimport AccordionDetails from '@mui/material/AccordionDetails'\nimport AccordionSummary from '@mui/material/AccordionSummary'\nimport Button from '@mui/material/Button'\nimport Stack from '@mui/material/Stack'\nimport Typography from '@mui/material/Typography'\nimport {\n ColumnModel,\n CsvTableDescriptor,\n UploadToTablePreviewResult,\n} from '@sage-bionetworks/synapse-client'\nimport { useCallback, useRef, useState } from 'react'\n\nenum CsvPreviewDialogStep {\n UPLOAD_CSV = 0,\n COLUMN_PREVIEW = 1,\n}\n\nexport type CsvPreviewDialogProps = {\n /** Whether the dialog is open */\n open: boolean\n /** Callback when the dialog is closed */\n onClose: () => void\n /** Callback when the user confirms the column models\n * @param dataFileHandleId - The file handle ID of the uploaded CSV\n * @param columnModels - The confirmed column models\n * */\n onConfirm: (\n dataFileHandleId: string,\n columnModels: ColumnModel[],\n csvTableDescriptor: CsvTableDescriptor,\n ) => void\n /** Whether the confirm action is pending */\n confirmIsPending?: boolean\n /** An optional error message to display */\n errorMessage?: string\n}\n\nexport default function CsvPreviewDialog(props: CsvPreviewDialogProps) {\n const { open, onClose, onConfirm, confirmIsPending, errorMessage } = props\n const [step, setStep] = useState(CsvPreviewDialogStep.UPLOAD_CSV)\n const [csvTableDescriptor, setCsvTableDescriptor] =\n useState<CsvTableDescriptor>({\n separator: ',',\n quoteCharacter: '\"',\n escapeCharacter: '\\\\',\n lineEnd: '\\n',\n isFirstLineHeader: true,\n })\n const [csvPreviewData, setCsvPreviewData] =\n useState<UploadToTablePreviewResult | null>(null)\n const [isLoadingPreview, setIsLoadingPreview] = useState(false)\n\n const [uploadedFileHandleId, setUploadedFileHandleId] = useState<\n string | null\n >(null)\n\n const onFileUploaded = useCallback((fileHandleId: string) => {\n setUploadedFileHandleId(fileHandleId)\n setStep(CsvPreviewDialogStep.COLUMN_PREVIEW)\n }, [])\n\n const uploadRef = useRef<FileUploadHandle | null>(null)\n const csvDescriptorFormRef = useRef<CsvTableDescriptorFormHandle | null>(null)\n\n const uploadStepContent = (\n <BasicFileHandleUpload\n ref={uploadRef}\n allowMultipleUpload={false}\n onFileUploadComplete={fileHandleId => {\n onFileUploaded(fileHandleId)\n }}\n disableDragAndDrop={true}\n />\n )\n\n const previewStepContent = (\n <Stack spacing={2}>\n {uploadedFileHandleId && (\n <CsvPreview\n fileHandleId={uploadedFileHandleId}\n csvTableDescriptor={csvTableDescriptor}\n onCsvPreviewDataChange={setCsvPreviewData}\n onIsLoadingChange={setIsLoadingPreview}\n />\n )}\n <Accordion>\n <AccordionSummary expandIcon={<ExpandMoreIcon />}>\n <Typography variant={'headline3'}>Show Options</Typography>\n </AccordionSummary>\n <AccordionDetails>\n <CsvTableDescriptorForm\n defaultValue={csvTableDescriptor}\n ref={csvDescriptorFormRef}\n />\n <Button\n variant={'outlined'}\n startIcon={<RefreshTwoTone />}\n sx={{ mt: 2 }}\n onClick={() => {\n // Get the state from the form and update local state, which will re-render the preview\n if (csvDescriptorFormRef.current) {\n setCsvTableDescriptor(\n csvDescriptorFormRef.current.getFormData(),\n )\n }\n }}\n >\n Refresh Preview\n </Button>\n </AccordionDetails>\n </Accordion>\n </Stack>\n )\n\n return (\n <DialogBase\n maxWidth={'lg'}\n title={'Upload CSV'}\n onCancel={onClose}\n open={open}\n content={\n <>\n {step === CsvPreviewDialogStep.UPLOAD_CSV && uploadStepContent}\n {step === CsvPreviewDialogStep.COLUMN_PREVIEW && previewStepContent}\n {errorMessage && <ErrorBanner error={errorMessage} />}\n </>\n }\n actions={\n <>\n <Button\n variant={'outlined'}\n disabled={isLoadingPreview}\n onClick={() => {\n onClose()\n }}\n >\n Cancel\n </Button>\n {step === CsvPreviewDialogStep.COLUMN_PREVIEW && (\n <Button\n disabled={isLoadingPreview}\n variant={'contained'}\n onClick={() => {\n onConfirm(\n uploadedFileHandleId!,\n csvPreviewData!.suggestedColumns!,\n csvTableDescriptor,\n )\n }}\n loading={confirmIsPending}\n >\n Confirm\n </Button>\n )}\n </>\n }\n />\n )\n}\n"],"names":["CsvPreviewDialog","props","open","onClose","onConfirm","confirmIsPending","errorMessage","step","setStep","useState","csvTableDescriptor","setCsvTableDescriptor","csvPreviewData","setCsvPreviewData","isLoadingPreview","setIsLoadingPreview","uploadedFileHandleId","setUploadedFileHandleId","onFileUploaded","useCallback","fileHandleId","uploadRef","useRef","csvDescriptorFormRef","jsx","DialogBase","jsxs","Fragment","BasicFileHandleUpload","Stack","CsvPreview","Accordion","AccordionSummary","ExpandMoreIcon","Typography","AccordionDetails","CsvTableDescriptorForm","Button","RefreshTwoTone","ErrorBanner"],"mappings":"
|
|
1
|
+
{"version":3,"file":"CsvPreviewDialog.js","sources":["../../../../src/components/table/CsvPreview/CsvPreviewDialog.tsx"],"sourcesContent":["import { DialogBase } from '@/components/DialogBase'\nimport {\n BasicFileHandleUpload,\n FileUploadHandle,\n} from '@/components/file/upload/BasicFileHandleUpload'\nimport { ErrorBanner } from '@/components/index'\nimport CsvPreview from '@/components/table/CsvPreview/CsvPreview'\nimport CsvTableDescriptorForm, {\n CsvTableDescriptorFormHandle,\n} from '@/components/table/CsvTableDescriptorForm/CsvTableDescriptorForm'\nimport { RefreshTwoTone } from '@mui/icons-material'\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore'\nimport Accordion from '@mui/material/Accordion'\nimport AccordionDetails from '@mui/material/AccordionDetails'\nimport AccordionSummary from '@mui/material/AccordionSummary'\nimport Button from '@mui/material/Button'\nimport Stack from '@mui/material/Stack'\nimport Typography from '@mui/material/Typography'\nimport {\n ColumnModel,\n CsvTableDescriptor,\n UploadToTablePreviewResult,\n} from '@sage-bionetworks/synapse-client'\nimport { useCallback, useRef, useState } from 'react'\n\nenum CsvPreviewDialogStep {\n UPLOAD_CSV = 0,\n COLUMN_PREVIEW = 1,\n}\n\nexport type CsvPreviewDialogProps = {\n /** Whether the dialog is open */\n open: boolean\n /** Callback when the dialog is closed */\n onClose: () => void\n /** Callback when the user confirms the column models\n * @param dataFileHandleId - The file handle ID of the uploaded CSV\n * @param columnModels - The confirmed column models\n * */\n onConfirm: (\n dataFileHandleId: string,\n columnModels: ColumnModel[],\n csvTableDescriptor: CsvTableDescriptor,\n ) => void\n /** Whether the confirm action is pending */\n confirmIsPending?: boolean\n /** An optional error message to display */\n errorMessage?: string\n}\n\nexport default function CsvPreviewDialog(props: CsvPreviewDialogProps) {\n const { open, onClose, onConfirm, confirmIsPending, errorMessage } = props\n const [step, setStep] = useState(CsvPreviewDialogStep.UPLOAD_CSV)\n const [csvTableDescriptor, setCsvTableDescriptor] =\n useState<CsvTableDescriptor>({\n separator: ',',\n quoteCharacter: '\"',\n escapeCharacter: '\\\\',\n lineEnd: '\\n',\n isFirstLineHeader: true,\n })\n const [csvPreviewData, setCsvPreviewData] =\n useState<UploadToTablePreviewResult | null>(null)\n const [isLoadingPreview, setIsLoadingPreview] = useState(false)\n\n const [uploadedFileHandleId, setUploadedFileHandleId] = useState<\n string | null\n >(null)\n\n const onFileUploaded = useCallback((fileHandleId: string) => {\n setUploadedFileHandleId(fileHandleId)\n setStep(CsvPreviewDialogStep.COLUMN_PREVIEW)\n }, [])\n\n const uploadRef = useRef<FileUploadHandle | null>(null)\n const csvDescriptorFormRef = useRef<CsvTableDescriptorFormHandle | null>(null)\n\n const uploadStepContent = (\n <BasicFileHandleUpload\n ref={uploadRef}\n allowMultipleUpload={false}\n onFileUploadComplete={fileHandleId => {\n onFileUploaded(fileHandleId)\n }}\n disableDragAndDrop={true}\n />\n )\n\n const previewStepContent = (\n <Stack spacing={2}>\n {uploadedFileHandleId && (\n <CsvPreview\n fileHandleId={uploadedFileHandleId}\n csvTableDescriptor={csvTableDescriptor}\n onCsvPreviewDataChange={setCsvPreviewData}\n onIsLoadingChange={setIsLoadingPreview}\n />\n )}\n <Accordion>\n <AccordionSummary expandIcon={<ExpandMoreIcon />}>\n <Typography variant={'headline3'}>Show Options</Typography>\n </AccordionSummary>\n <AccordionDetails>\n <CsvTableDescriptorForm\n defaultValue={csvTableDescriptor}\n ref={csvDescriptorFormRef}\n />\n <Button\n variant={'outlined'}\n startIcon={<RefreshTwoTone />}\n sx={{ mt: 2 }}\n onClick={() => {\n // Get the state from the form and update local state, which will re-render the preview\n if (csvDescriptorFormRef.current) {\n setCsvTableDescriptor(\n csvDescriptorFormRef.current.getFormData(),\n )\n }\n }}\n >\n Refresh Preview\n </Button>\n </AccordionDetails>\n </Accordion>\n </Stack>\n )\n\n return (\n <DialogBase\n maxWidth={'lg'}\n title={'Upload CSV'}\n onCancel={onClose}\n open={open}\n content={\n <>\n {step === CsvPreviewDialogStep.UPLOAD_CSV && uploadStepContent}\n {step === CsvPreviewDialogStep.COLUMN_PREVIEW && previewStepContent}\n {errorMessage && <ErrorBanner error={errorMessage} />}\n </>\n }\n actions={\n <>\n <Button\n variant={'outlined'}\n disabled={isLoadingPreview}\n onClick={() => {\n onClose()\n }}\n >\n Cancel\n </Button>\n {step === CsvPreviewDialogStep.COLUMN_PREVIEW && (\n <Button\n disabled={isLoadingPreview}\n variant={'contained'}\n onClick={() => {\n onConfirm(\n uploadedFileHandleId!,\n csvPreviewData!.suggestedColumns!,\n csvTableDescriptor,\n )\n }}\n loading={confirmIsPending}\n >\n Confirm\n </Button>\n )}\n </>\n }\n />\n )\n}\n"],"names":["CsvPreviewDialog","props","open","onClose","onConfirm","confirmIsPending","errorMessage","step","setStep","useState","csvTableDescriptor","setCsvTableDescriptor","csvPreviewData","setCsvPreviewData","isLoadingPreview","setIsLoadingPreview","uploadedFileHandleId","setUploadedFileHandleId","onFileUploaded","useCallback","fileHandleId","uploadRef","useRef","csvDescriptorFormRef","jsx","DialogBase","jsxs","Fragment","BasicFileHandleUpload","Stack","CsvPreview","Accordion","AccordionSummary","ExpandMoreIcon","Typography","AccordionDetails","CsvTableDescriptorForm","Button","RefreshTwoTone","ErrorBanner"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkDA,SAAwBA,GAAiBC,GAA8B;AACrE,QAAM,EAAE,MAAAC,GAAM,SAAAC,GAAS,WAAAC,GAAW,kBAAAC,GAAkB,cAAAC,MAAiBL,GAC/D,CAACM,GAAMC,CAAO,IAAIC;AAAA,IAAS;AAAA;AAAA,EAAA,GAC3B,CAACC,GAAoBC,CAAqB,IAC9CF,EAA6B;AAAA,IAC3B,WAAW;AAAA,IACX,gBAAgB;AAAA,IAChB,iBAAiB;AAAA,IACjB,SAAS;AAAA;AAAA,IACT,mBAAmB;AAAA,EAAA,CACpB,GACG,CAACG,GAAgBC,CAAiB,IACtCJ,EAA4C,IAAI,GAC5C,CAACK,GAAkBC,CAAmB,IAAIN,EAAS,EAAK,GAExD,CAACO,GAAsBC,CAAuB,IAAIR,EAEtD,IAAI,GAEAS,IAAiBC,EAAY,CAACC,MAAyB;AAC3D,IAAAH,EAAwBG,CAAY,GACpCZ;AAAA,MAAQ;AAAA;AAAA,IAAA;AAAA,EACV,GAAG,CAAA,CAAE,GAECa,IAAYC,EAAgC,IAAI,GAChDC,IAAuBD,EAA4C,IAAI;AAoD7E,SACE,gBAAAE;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,UAAU;AAAA,MACV,OAAO;AAAA,MACP,UAAUtB;AAAA,MACV,MAAAD;AAAA,MACA,SACE,gBAAAwB,EAAAC,GAAA,EACG,UAAA;AAAA,QAAApB,MAAS,KAzDhB,gBAAAiB;AAAA,UAACI;AAAA,UAAA;AAAA,YACC,KAAKP;AAAA,YACL,qBAAqB;AAAA,YACrB,sBAAsB,CAAAD,MAAgB;AACpC,cAAAF,EAAeE,CAAY;AAAA,YAC7B;AAAA,YACA,oBAAoB;AAAA,UAAA;AAAA,QAAA;AAAA,QAoDfb,MAAS,KA/ChB,gBAAAmB,EAACG,GAAA,EAAM,SAAS,GACb,UAAA;AAAA,UAAAb,KACC,gBAAAQ;AAAA,YAACM;AAAA,YAAA;AAAA,cACC,cAAcd;AAAA,cACd,oBAAAN;AAAA,cACA,wBAAwBG;AAAA,cACxB,mBAAmBE;AAAA,YAAA;AAAA,UAAA;AAAA,4BAGtBgB,GAAA,EACC,UAAA;AAAA,YAAA,gBAAAP,EAACQ,GAAA,EAAiB,YAAY,gBAAAR,EAACS,GAAA,CAAA,CAAe,GAC5C,4BAACC,GAAA,EAAW,SAAS,aAAa,UAAA,eAAA,CAAY,GAChD;AAAA,8BACCC,GAAA,EACC,UAAA;AAAA,cAAA,gBAAAX;AAAA,gBAACY;AAAA,gBAAA;AAAA,kBACC,cAAc1B;AAAA,kBACd,KAAKa;AAAA,gBAAA;AAAA,cAAA;AAAA,cAEP,gBAAAC;AAAA,gBAACa;AAAA,gBAAA;AAAA,kBACC,SAAS;AAAA,kBACT,6BAAYC,GAAA,EAAe;AAAA,kBAC3B,IAAI,EAAE,IAAI,EAAA;AAAA,kBACV,SAAS,MAAM;AAEb,oBAAIf,EAAqB,WACvBZ;AAAA,sBACEY,EAAqB,QAAQ,YAAA;AAAA,oBAAY;AAAA,kBAG/C;AAAA,kBACD,UAAA;AAAA,gBAAA;AAAA,cAAA;AAAA,YAED,EAAA,CACF;AAAA,UAAA,EAAA,CACF;AAAA,QAAA,GACF;AAAA,QAaOjB,KAAgB,gBAAAkB,EAACe,GAAA,EAAY,OAAOjC,EAAA,CAAc;AAAA,MAAA,GACrD;AAAA,MAEF,SACE,gBAAAoB,EAAAC,GAAA,EACE,UAAA;AAAA,QAAA,gBAAAH;AAAA,UAACa;AAAA,UAAA;AAAA,YACC,SAAS;AAAA,YACT,UAAUvB;AAAA,YACV,SAAS,MAAM;AACb,cAAAX,EAAA;AAAA,YACF;AAAA,YACD,UAAA;AAAA,UAAA;AAAA,QAAA;AAAA,QAGAI,MAAS,KACR,gBAAAiB;AAAA,UAACa;AAAA,UAAA;AAAA,YACC,UAAUvB;AAAA,YACV,SAAS;AAAA,YACT,SAAS,MAAM;AACb,cAAAV;AAAA,gBACEY;AAAA,gBACAJ,EAAgB;AAAA,gBAChBF;AAAA,cAAA;AAAA,YAEJ;AAAA,YACA,SAASL;AAAA,YACV,UAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MAED,EAAA,CAEJ;AAAA,IAAA;AAAA,EAAA;AAIR;"}
|
|
@@ -55,11 +55,14 @@ import "@mui/material/SvgIcon";
|
|
|
55
55
|
import "../../../assets/icons/AccessPending.svg.js";
|
|
56
56
|
import "../../../assets/icons/AccessPendingCloud.svg.js";
|
|
57
57
|
import "../../../assets/icons/FileWithShield.svg.js";
|
|
58
|
+
import "../../../assets/icons/MultiFile.svg.js";
|
|
59
|
+
import "../../../assets/icons/UnpackagableFile.svg.js";
|
|
58
60
|
import "../../../assets/icons/bioChemicalPhysical.svg.js";
|
|
59
61
|
import "../../../assets/icons/computationalTool.svg.js";
|
|
60
62
|
import "../../../assets/icons/dataReuse.svg.js";
|
|
61
63
|
import "../../../assets/icons/inSilicoModel.svg.js";
|
|
62
64
|
import "../../../assets/icons/modelSystem.svg.js";
|
|
65
|
+
import "../../../assets/mui_components/PackagableFile.svg.js";
|
|
63
66
|
import "../../../assets/icons/spatialProfiling.svg.js";
|
|
64
67
|
import "../../../components/Authentication/AuthenticationMethodSelection.js";
|
|
65
68
|
import "mui-one-time-password-input";
|
|
@@ -84,6 +87,7 @@ import "../../../assets/icons/study-complete.svg.js";
|
|
|
84
87
|
import "../../../assets/icons/translational.svg.js";
|
|
85
88
|
import "../../../assets/icons/tree_horizontal.svg.js";
|
|
86
89
|
import "../../../assets/icons/standardDataModel.svg.js";
|
|
90
|
+
import "../../../assets/icons/Challenge.svg.js";
|
|
87
91
|
import "react-intersection-observer";
|
|
88
92
|
import "@rjsf/utils";
|
|
89
93
|
import "../../../components/SchemaDrivenAnnotationEditor/template/AdditionalPropertyContext.js";
|
|
@@ -101,10 +105,10 @@ import "../../../assets/icons/DoubleQuotes.svg.js";
|
|
|
101
105
|
import "../../../components/EntityDownloadConfirmation/EntityDownloadConfirmation.js";
|
|
102
106
|
import "../../../components/QueryContext/QueryContext.js";
|
|
103
107
|
import "../../../components/QueryVisualizationWrapper/QueryVisualizationContext.js";
|
|
108
|
+
import "react-share";
|
|
104
109
|
import "../../../components/GenericCard/GenericCard.js";
|
|
105
110
|
import "@mui/system";
|
|
106
111
|
import "../../../components/GenericCard/Linkify.js";
|
|
107
|
-
import "react-share";
|
|
108
112
|
import "jotai";
|
|
109
113
|
import "lodash-es/noop";
|
|
110
114
|
import "../../../components/QueryWrapper/TableRowSelectionState.js";
|
|
@@ -203,6 +207,7 @@ import "lodash-es/set";
|
|
|
203
207
|
import "lodash-es/trimStart";
|
|
204
208
|
import "../../../components/SynapseForm/SynapseFormSubmissionGrid.js";
|
|
205
209
|
import "../../../components/SynapseChat/AccessLevelMenu.js";
|
|
210
|
+
import "react-draggable";
|
|
206
211
|
import "../../../components/TimelinePlot/phasesQueryResponseData.js";
|
|
207
212
|
import "../../../components/EntityHeaderTable/EntityHeaderTable.js";
|
|
208
213
|
import "../../../components/MuiContainer.js";
|
|
@@ -231,10 +236,10 @@ function G() {
|
|
|
231
236
|
) })
|
|
232
237
|
] }) : /* @__PURE__ */ r(R, { error: "Missing sessionId" });
|
|
233
238
|
}
|
|
234
|
-
function
|
|
239
|
+
function Si(t) {
|
|
235
240
|
return /* @__PURE__ */ r(c, { ...t, children: /* @__PURE__ */ r(G, {}) });
|
|
236
241
|
}
|
|
237
242
|
export {
|
|
238
|
-
|
|
243
|
+
Si as default
|
|
239
244
|
};
|
|
240
245
|
//# sourceMappingURL=GridPage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GridPage.js","sources":["../../../../src/features/curator/GridPage/GridPage.tsx"],"sourcesContent":["import SynapseGrid from '@/components/DataGrid/index'\nimport { ErrorBanner } from '@/components/index'\nimport GridPageRouter, {\n GridPageRouterProps,\n} from '@/features/curator/GridPage/components/GridPageRouter'\nimport GridPageTitle from '@/features/curator/GridPage/components/GridPageTitle'\nimport {\n GRID_PAGE_SESSION_ID_QUERY_PARAM,\n GRID_PAGE_AGENT_REGISTRATION_ID_QUERY_PARAM,\n GRID_PAGE_TASK_ID_QUERY_PARAM,\n} from '@/utils/SynapseConstants'\nimport { useSearchParams } from 'react-router'\n\nfunction GridPageInternal() {\n const [searchParams] = useSearchParams()\n\n const sessionId = decodeURIComponent(\n searchParams.get(GRID_PAGE_SESSION_ID_QUERY_PARAM) ?? '',\n )\n const rawTaskId = searchParams.get(GRID_PAGE_TASK_ID_QUERY_PARAM)\n const taskId = rawTaskId ? parseInt(rawTaskId) : undefined\n const agentRegistrationId = searchParams.get(\n GRID_PAGE_AGENT_REGISTRATION_ID_QUERY_PARAM,\n )\n\n // If no session id, error\n if (!sessionId) {\n return <ErrorBanner error={'Missing sessionId'} />\n }\n\n return (\n <>\n <GridPageTitle sessionId={sessionId} taskId={taskId} />\n <div className={'pageContent'}>\n <SynapseGrid\n agentRegistrationId={agentRegistrationId ?? undefined}\n ref={handle => {\n if (handle) {\n handle.loadExistingSession(sessionId)\n }\n }}\n />\n </div>\n </>\n )\n}\n\nexport type GridPageProps = Omit<GridPageRouterProps, 'children'>\n\n/**\n * A page that displays the Curator grid, with included routing logic\n */\nexport default function GridPage(props: GridPageProps) {\n return (\n <GridPageRouter {...props}>\n <GridPageInternal />\n </GridPageRouter>\n )\n}\n"],"names":["GridPageInternal","searchParams","useSearchParams","sessionId","GRID_PAGE_SESSION_ID_QUERY_PARAM","rawTaskId","GRID_PAGE_TASK_ID_QUERY_PARAM","taskId","agentRegistrationId","GRID_PAGE_AGENT_REGISTRATION_ID_QUERY_PARAM","jsxs","Fragment","jsx","GridPageTitle","SynapseGrid","handle","ErrorBanner","GridPage","props","GridPageRouter"],"mappings":"
|
|
1
|
+
{"version":3,"file":"GridPage.js","sources":["../../../../src/features/curator/GridPage/GridPage.tsx"],"sourcesContent":["import SynapseGrid from '@/components/DataGrid/index'\nimport { ErrorBanner } from '@/components/index'\nimport GridPageRouter, {\n GridPageRouterProps,\n} from '@/features/curator/GridPage/components/GridPageRouter'\nimport GridPageTitle from '@/features/curator/GridPage/components/GridPageTitle'\nimport {\n GRID_PAGE_SESSION_ID_QUERY_PARAM,\n GRID_PAGE_AGENT_REGISTRATION_ID_QUERY_PARAM,\n GRID_PAGE_TASK_ID_QUERY_PARAM,\n} from '@/utils/SynapseConstants'\nimport { useSearchParams } from 'react-router'\n\nfunction GridPageInternal() {\n const [searchParams] = useSearchParams()\n\n const sessionId = decodeURIComponent(\n searchParams.get(GRID_PAGE_SESSION_ID_QUERY_PARAM) ?? '',\n )\n const rawTaskId = searchParams.get(GRID_PAGE_TASK_ID_QUERY_PARAM)\n const taskId = rawTaskId ? parseInt(rawTaskId) : undefined\n const agentRegistrationId = searchParams.get(\n GRID_PAGE_AGENT_REGISTRATION_ID_QUERY_PARAM,\n )\n\n // If no session id, error\n if (!sessionId) {\n return <ErrorBanner error={'Missing sessionId'} />\n }\n\n return (\n <>\n <GridPageTitle sessionId={sessionId} taskId={taskId} />\n <div className={'pageContent'}>\n <SynapseGrid\n agentRegistrationId={agentRegistrationId ?? undefined}\n ref={handle => {\n if (handle) {\n handle.loadExistingSession(sessionId)\n }\n }}\n />\n </div>\n </>\n )\n}\n\nexport type GridPageProps = Omit<GridPageRouterProps, 'children'>\n\n/**\n * A page that displays the Curator grid, with included routing logic\n */\nexport default function GridPage(props: GridPageProps) {\n return (\n <GridPageRouter {...props}>\n <GridPageInternal />\n </GridPageRouter>\n )\n}\n"],"names":["GridPageInternal","searchParams","useSearchParams","sessionId","GRID_PAGE_SESSION_ID_QUERY_PARAM","rawTaskId","GRID_PAGE_TASK_ID_QUERY_PARAM","taskId","agentRegistrationId","GRID_PAGE_AGENT_REGISTRATION_ID_QUERY_PARAM","jsxs","Fragment","jsx","GridPageTitle","SynapseGrid","handle","ErrorBanner","GridPage","props","GridPageRouter"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,SAASA,IAAmB;AAC1B,QAAM,CAACC,CAAY,IAAIC,EAAA,GAEjBC,IAAY;AAAA,IAChBF,EAAa,IAAIG,CAAgC,KAAK;AAAA,EAAA,GAElDC,IAAYJ,EAAa,IAAIK,CAA6B,GAC1DC,IAASF,IAAY,SAASA,CAAS,IAAI,QAC3CG,IAAsBP,EAAa;AAAA,IACvCQ;AAAA,EAAA;AAIF,SAAKN,IAKH,gBAAAO,EAAAC,GAAA,EACE,UAAA;AAAA,IAAA,gBAAAC,EAACC,GAAA,EAAc,WAAAV,GAAsB,QAAAI,EAAA,CAAgB;AAAA,IACrD,gBAAAK,EAAC,OAAA,EAAI,WAAW,eACd,UAAA,gBAAAA;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,qBAAqBN,KAAuB;AAAA,QAC5C,KAAK,CAAAO,MAAU;AACb,UAAIA,KACFA,EAAO,oBAAoBZ,CAAS;AAAA,QAExC;AAAA,MAAA;AAAA,IAAA,EACF,CACF;AAAA,EAAA,GACF,IAhBO,gBAAAS,EAACI,GAAA,EAAY,OAAO,oBAAA,CAAqB;AAkBpD;AAOA,SAAwBC,GAASC,GAAsB;AACrD,2BACGC,GAAA,EAAgB,GAAGD,GAClB,UAAA,gBAAAN,EAACZ,KAAiB,GACpB;AAEJ;"}
|