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,32 +1,20 @@
|
|
|
1
1
|
import { jsxs as i, jsx as t } from "react/jsx-runtime";
|
|
2
|
-
import { formatDate as u } from "../../utils/functions/DateFormatter.js";
|
|
3
|
-
import { getEndpoint as m, BackendDestinationEnum as c } from "../../utils/functions/getEndpoint.js";
|
|
4
|
-
import { useInView as I } from "react-intersection-observer";
|
|
5
|
-
import { Update as T, ArticleOutlined as g, InfoOutline as w, DashboardTwoTone as D } from "@mui/icons-material";
|
|
6
|
-
import { styled as N, Box as r, Link as s, Chip as S, Stack as C, Typography as n, Paper as M } from "@mui/material";
|
|
7
|
-
import O from "dayjs";
|
|
8
|
-
import { EntityTypeIcon as E } from "../EntityIcon.js";
|
|
9
|
-
import { EntityType as R } from "@sage-bionetworks/synapse-client";
|
|
10
|
-
import b from "../favorites/FavoriteButton.js";
|
|
11
|
-
import { EntityDownloadButton as L } from "../EntityDownloadButton/EntityDownloadButton.js";
|
|
12
|
-
import { HasAccessChip as P } from "./HasAccessChip.js";
|
|
13
|
-
import { searchResultsCardChipStyles as B } from "./chipStyles.js";
|
|
14
|
-
import a from "./SynapseSearchResultsCard.module.scss.js";
|
|
15
|
-
import { calculateFriendlyFileSize as $ } from "../../utils/functions/calculateFriendlyFileSize.js";
|
|
16
2
|
import "../../synapse-client/SynapseClient.js";
|
|
17
3
|
import "@sage-bionetworks/synapse-client/generated/models/ErrorResponseCode";
|
|
18
4
|
import "@sage-bionetworks/synapse-client/generated/models/TwoFactorAuthErrorResponse";
|
|
19
5
|
import "@sage-bionetworks/synapse-client/util/SynapseClientError";
|
|
20
6
|
import "@sage-bionetworks/synapse-types";
|
|
21
7
|
import "../../utils/functions/EntityTypeUtils.js";
|
|
8
|
+
import { getEndpoint as c, BackendDestinationEnum as s } from "../../utils/functions/getEndpoint.js";
|
|
22
9
|
import "lodash-es";
|
|
23
10
|
import "@sage-bionetworks/synapse-client/util/synapseClientFetch";
|
|
24
11
|
import "@tanstack/react-query";
|
|
25
12
|
import "../../utils/PermissionLevelToAccessType.js";
|
|
26
13
|
import "../../utils/SynapseConstants.js";
|
|
27
|
-
import "react";
|
|
14
|
+
import { useRef as I } from "react";
|
|
28
15
|
import "../../utils/context/SynapseContext.js";
|
|
29
16
|
import "use-deep-compare-effect";
|
|
17
|
+
import { styled as T, Box as n, Link as p, Chip as g, Stack as w, Typography as r, Paper as D } from "@mui/material";
|
|
30
18
|
import "../../utils/hooks/useCookiePreferences.js";
|
|
31
19
|
import "../../utils/hooks/useSourceAppConfigs.js";
|
|
32
20
|
import "universal-cookie";
|
|
@@ -39,12 +27,24 @@ import "lodash-es/isEmpty";
|
|
|
39
27
|
import "lodash-es/isEqual";
|
|
40
28
|
import "lodash-es/xorWith";
|
|
41
29
|
import "react-router";
|
|
30
|
+
import { EntityType as N } from "@sage-bionetworks/synapse-client";
|
|
42
31
|
import "../../utils/types/IsType.js";
|
|
43
|
-
import { useGetEntityBundle as
|
|
44
|
-
import {
|
|
45
|
-
import {
|
|
46
|
-
|
|
47
|
-
|
|
32
|
+
import { useGetEntityBundle as S } from "../../synapse-queries/entity/useEntityBundle.js";
|
|
33
|
+
import { calculateFriendlyFileSize as C } from "../../utils/functions/calculateFriendlyFileSize.js";
|
|
34
|
+
import { formatDate as M } from "../../utils/functions/DateFormatter.js";
|
|
35
|
+
import { Update as R, ArticleOutlined as O, InfoOutline as E, DashboardTwoTone as b } from "@mui/icons-material";
|
|
36
|
+
import L from "dayjs";
|
|
37
|
+
import { useInView as P } from "react-intersection-observer";
|
|
38
|
+
import { EntityDownloadButton as B } from "../EntityDownloadButton/EntityDownloadButton.js";
|
|
39
|
+
import { EntityTypeIcon as $ } from "../EntityIcon.js";
|
|
40
|
+
import k from "../favorites/FavoriteButton.js";
|
|
41
|
+
import { markdownToPlainText as v } from "../Markdown/MarkdownUtils.js";
|
|
42
|
+
import { searchResultsCardChipStyles as z } from "./chipStyles.js";
|
|
43
|
+
import { HasAccessChip as F } from "./HasAccessChip.js";
|
|
44
|
+
import { HighlightedTypography as y } from "./HighlightedTypography.js";
|
|
45
|
+
import a from "./SynapseSearchResultsCard.module.scss.js";
|
|
46
|
+
const H = T(
|
|
47
|
+
D,
|
|
48
48
|
{
|
|
49
49
|
label: "SynapseSearchResultsCardContainer"
|
|
50
50
|
}
|
|
@@ -57,21 +57,21 @@ const F = N(
|
|
|
57
57
|
padding: "32px",
|
|
58
58
|
gap: "15px"
|
|
59
59
|
});
|
|
60
|
-
function
|
|
61
|
-
const { ref:
|
|
60
|
+
function Le(e) {
|
|
61
|
+
const o = I(null), { ref: f, inView: h } = P({
|
|
62
62
|
triggerOnce: !0,
|
|
63
63
|
rootMargin: "250px 0px"
|
|
64
|
-
}), { data: x } =
|
|
64
|
+
}), { data: x } = S(
|
|
65
65
|
e.entityId,
|
|
66
66
|
void 0,
|
|
67
67
|
{ includeFileHandles: !0 },
|
|
68
|
-
{ enabled: e.entityType ===
|
|
69
|
-
),
|
|
70
|
-
(
|
|
71
|
-
),
|
|
72
|
-
return /* @__PURE__ */ i(
|
|
68
|
+
{ enabled: e.entityType === N.file && h }
|
|
69
|
+
), d = x?.fileHandles.find(
|
|
70
|
+
(u) => u.isPreview !== !0
|
|
71
|
+
), l = d?.contentSize ? C(d?.contentSize) : "", m = e.description ? v(e.description) : "";
|
|
72
|
+
return /* @__PURE__ */ i(H, { ref: f, children: [
|
|
73
73
|
/* @__PURE__ */ i(
|
|
74
|
-
|
|
74
|
+
n,
|
|
75
75
|
{
|
|
76
76
|
sx: {
|
|
77
77
|
display: "flex",
|
|
@@ -81,17 +81,17 @@ function Re(e) {
|
|
|
81
81
|
},
|
|
82
82
|
children: [
|
|
83
83
|
/* @__PURE__ */ t(
|
|
84
|
-
|
|
84
|
+
p,
|
|
85
85
|
{
|
|
86
|
-
href: `${
|
|
87
|
-
|
|
86
|
+
href: `${c(
|
|
87
|
+
s.PORTAL_ENDPOINT
|
|
88
88
|
)}Synapse:${e.entityId}`,
|
|
89
89
|
sx: {
|
|
90
90
|
textDecoration: "underline 2px",
|
|
91
91
|
textUnderlineOffset: "9px"
|
|
92
92
|
},
|
|
93
93
|
children: /* @__PURE__ */ t(
|
|
94
|
-
|
|
94
|
+
y,
|
|
95
95
|
{
|
|
96
96
|
className: a.cardTitle,
|
|
97
97
|
variant: "headline3",
|
|
@@ -102,7 +102,7 @@ function Re(e) {
|
|
|
102
102
|
}
|
|
103
103
|
),
|
|
104
104
|
/* @__PURE__ */ i(
|
|
105
|
-
|
|
105
|
+
n,
|
|
106
106
|
{
|
|
107
107
|
sx: {
|
|
108
108
|
display: "flex",
|
|
@@ -110,13 +110,14 @@ function Re(e) {
|
|
|
110
110
|
alignItems: "center"
|
|
111
111
|
},
|
|
112
112
|
children: [
|
|
113
|
-
/* @__PURE__ */ t(
|
|
113
|
+
/* @__PURE__ */ t(k, { entityId: e.entityId }),
|
|
114
114
|
/* @__PURE__ */ t(
|
|
115
|
-
|
|
115
|
+
B,
|
|
116
116
|
{
|
|
117
117
|
entityId: e.entityId,
|
|
118
118
|
name: e.name,
|
|
119
|
-
entityType: e.entityType
|
|
119
|
+
entityType: e.entityType,
|
|
120
|
+
downloadConfirmationContainer: o
|
|
120
121
|
}
|
|
121
122
|
)
|
|
122
123
|
]
|
|
@@ -125,8 +126,9 @@ function Re(e) {
|
|
|
125
126
|
]
|
|
126
127
|
}
|
|
127
128
|
),
|
|
129
|
+
/* @__PURE__ */ t("div", { ref: o }),
|
|
128
130
|
/* @__PURE__ */ i(
|
|
129
|
-
|
|
131
|
+
n,
|
|
130
132
|
{
|
|
131
133
|
sx: {
|
|
132
134
|
display: "flex",
|
|
@@ -134,10 +136,10 @@ function Re(e) {
|
|
|
134
136
|
},
|
|
135
137
|
children: [
|
|
136
138
|
/* @__PURE__ */ t(
|
|
137
|
-
|
|
139
|
+
g,
|
|
138
140
|
{
|
|
139
141
|
icon: /* @__PURE__ */ t(
|
|
140
|
-
|
|
142
|
+
$,
|
|
141
143
|
{
|
|
142
144
|
type: e.entityType,
|
|
143
145
|
wrap: !1,
|
|
@@ -145,59 +147,59 @@ function Re(e) {
|
|
|
145
147
|
}
|
|
146
148
|
),
|
|
147
149
|
label: e.entityType,
|
|
148
|
-
sx: { ...
|
|
150
|
+
sx: { ...z }
|
|
149
151
|
}
|
|
150
152
|
),
|
|
151
|
-
/* @__PURE__ */ t(
|
|
153
|
+
/* @__PURE__ */ t(F, { entityId: e.entityId })
|
|
152
154
|
]
|
|
153
155
|
}
|
|
154
156
|
),
|
|
155
157
|
/* @__PURE__ */ t(
|
|
156
|
-
|
|
158
|
+
n,
|
|
157
159
|
{
|
|
158
160
|
sx: {
|
|
159
161
|
display: "flex",
|
|
160
162
|
flexDirection: "row",
|
|
161
163
|
gap: "8px"
|
|
162
164
|
},
|
|
163
|
-
children: /* @__PURE__ */ i(
|
|
164
|
-
/* @__PURE__ */ i(
|
|
165
|
-
/* @__PURE__ */ t(
|
|
166
|
-
/* @__PURE__ */ i(
|
|
165
|
+
children: /* @__PURE__ */ i(w, { sx: { gap: "20px", minWidth: 0, width: "100%" }, children: [
|
|
166
|
+
/* @__PURE__ */ i(n, { sx: { display: "flex" }, children: [
|
|
167
|
+
/* @__PURE__ */ t(R, { className: a.cardMetadataIcon }),
|
|
168
|
+
/* @__PURE__ */ i(r, { className: a.cardMetadataTypographyWithIcon, children: [
|
|
167
169
|
"Last updated:",
|
|
168
170
|
" ",
|
|
169
|
-
|
|
171
|
+
M(L.unix(e.modifiedOn), "M/D/YYYY")
|
|
170
172
|
] })
|
|
171
173
|
] }),
|
|
172
|
-
|
|
173
|
-
/* @__PURE__ */ t(
|
|
174
|
+
m && /* @__PURE__ */ i(n, { sx: { display: "flex" }, children: [
|
|
175
|
+
/* @__PURE__ */ t(O, { className: a.cardMetadataIcon }),
|
|
174
176
|
/* @__PURE__ */ t(
|
|
175
|
-
|
|
177
|
+
y,
|
|
176
178
|
{
|
|
177
179
|
className: `${a.cardMetadataTypographyWithIcon} ${a.cardDescription}`,
|
|
178
|
-
text:
|
|
180
|
+
text: m,
|
|
179
181
|
searchTerms: e.searchTerms ?? []
|
|
180
182
|
}
|
|
181
183
|
)
|
|
182
184
|
] }),
|
|
183
|
-
|
|
184
|
-
/* @__PURE__ */ t(
|
|
185
|
-
/* @__PURE__ */ i(
|
|
185
|
+
l && /* @__PURE__ */ i(n, { sx: { display: "flex" }, children: [
|
|
186
|
+
/* @__PURE__ */ t(E, { className: a.cardMetadataIcon }),
|
|
187
|
+
/* @__PURE__ */ i(r, { className: a.cardMetadataTypographyWithIcon, children: [
|
|
186
188
|
"File size: ",
|
|
187
|
-
/* @__PURE__ */ t("b", { children:
|
|
189
|
+
/* @__PURE__ */ t("b", { children: l })
|
|
188
190
|
] })
|
|
189
191
|
] }),
|
|
190
192
|
e.locatedIn && /* @__PURE__ */ i(
|
|
191
|
-
|
|
193
|
+
n,
|
|
192
194
|
{
|
|
193
195
|
sx: { display: "flex", marginLeft: "24px", alignItems: "center" },
|
|
194
196
|
children: [
|
|
195
|
-
/* @__PURE__ */ i(
|
|
197
|
+
/* @__PURE__ */ i(r, { className: a.cardMetadataTypographyWithIcon, children: [
|
|
196
198
|
"Located in:",
|
|
197
199
|
" "
|
|
198
200
|
] }),
|
|
199
201
|
/* @__PURE__ */ t(
|
|
200
|
-
|
|
202
|
+
b,
|
|
201
203
|
{
|
|
202
204
|
className: a.cardMetadataIcon,
|
|
203
205
|
sx: {
|
|
@@ -206,11 +208,11 @@ function Re(e) {
|
|
|
206
208
|
}
|
|
207
209
|
),
|
|
208
210
|
/* @__PURE__ */ t(
|
|
209
|
-
|
|
211
|
+
p,
|
|
210
212
|
{
|
|
211
213
|
className: a.locatedInLink,
|
|
212
|
-
href: `${
|
|
213
|
-
|
|
214
|
+
href: `${c(
|
|
215
|
+
s.PORTAL_ENDPOINT
|
|
214
216
|
)}Synapse:${e.locatedIn?.id}`,
|
|
215
217
|
children: e.locatedIn?.name
|
|
216
218
|
}
|
|
@@ -224,7 +226,7 @@ function Re(e) {
|
|
|
224
226
|
] });
|
|
225
227
|
}
|
|
226
228
|
export {
|
|
227
|
-
|
|
228
|
-
|
|
229
|
+
Le as SynapseSearchResultsCard,
|
|
230
|
+
Le as default
|
|
229
231
|
};
|
|
230
232
|
//# sourceMappingURL=SynapseSearchResultsCard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SynapseSearchResultsCard.js","sources":["../../../src/components/SynapseSearchPageResults/SynapseSearchResultsCard.tsx"],"sourcesContent":["import { formatDate } from '@/utils/functions/DateFormatter'\nimport {\n BackendDestinationEnum,\n getEndpoint,\n} from '@/utils/functions/getEndpoint'\nimport { useInView } from 'react-intersection-observer'\nimport { StyledComponent } from '@emotion/styled'\nimport {\n ArticleOutlined,\n DashboardTwoTone,\n InfoOutline,\n Update as UpdateIcon,\n} from '@mui/icons-material'\nimport {\n Box,\n Chip,\n Link,\n Paper,\n PaperProps,\n Stack,\n styled,\n Typography,\n} from '@mui/material'\nimport dayjs from 'dayjs'\nimport { EntityTypeIcon } from '../EntityIcon'\nimport { EntityType } from '@sage-bionetworks/synapse-client'\nimport FavoriteButton from '../favorites/FavoriteButton'\nimport { EntityDownloadButton } from '../EntityDownloadButton/EntityDownloadButton'\nimport HasAccessChip from './HasAccessChip'\nimport { searchResultsCardChipStyles } from './chipStyles'\nimport styles from './SynapseSearchResultsCard.module.scss'\nimport { calculateFriendlyFileSize } from '@/utils/functions/calculateFriendlyFileSize'\nimport { useGetEntityBundle } from '@/synapse-queries'\nimport { FileHandleWithPreview } from '../EntityFinder/details/view/table/TableCellTypes'\nimport { HighlightedTypography } from './HighlightedTypography'\nimport { markdownToPlainText } from '../Markdown/MarkdownUtils'\n\nexport type SynapseSearchResultsCardProps = {\n entityId: string\n name: string\n description?: string\n entityType: EntityType\n modifiedOn: number\n locatedIn?: { name: string; id: string }\n searchTerms?: string[]\n}\n\nconst SynapseSearchResultsCardContainer: StyledComponent<PaperProps> = styled(\n Paper,\n {\n label: 'SynapseSearchResultsCardContainer',\n },\n)({\n display: 'flex',\n flexDirection: 'column',\n minHeight: '250px',\n width: '100%',\n borderRadius: '10px',\n padding: '32px',\n gap: '15px',\n})\n\nexport function SynapseSearchResultsCard(props: SynapseSearchResultsCardProps) {\n const { ref, inView } = useInView({\n triggerOnce: true,\n rootMargin: '250px 0px',\n })\n\n const { data: entityBundle } = useGetEntityBundle(\n props.entityId,\n undefined,\n { includeFileHandles: true },\n { enabled: props.entityType === EntityType.file && inView },\n )\n\n const file = entityBundle?.fileHandles.find(\n (file: FileHandleWithPreview) => file.isPreview !== true,\n )\n\n const friendlySize = file?.contentSize\n ? calculateFriendlyFileSize(file?.contentSize)\n : ''\n\n const plainDescription = props.description\n ? markdownToPlainText(props.description)\n : ''\n\n return (\n <SynapseSearchResultsCardContainer ref={ref}>\n <Box\n sx={{\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'space-between',\n width: '100%',\n }}\n >\n <Link\n href={`${getEndpoint(\n BackendDestinationEnum.PORTAL_ENDPOINT,\n )}Synapse:${props.entityId}`}\n sx={{\n textDecoration: 'underline 2px',\n textUnderlineOffset: '9px',\n }}\n >\n <HighlightedTypography\n className={styles.cardTitle}\n variant=\"headline3\"\n text={props.name}\n searchTerms={props.searchTerms ?? []}\n />\n </Link>\n\n <Box\n sx={{\n display: 'flex',\n gap: '16px',\n alignItems: 'center',\n }}\n >\n <FavoriteButton entityId={props.entityId} />\n <EntityDownloadButton\n entityId={props.entityId}\n name={props.name}\n entityType={props.entityType}\n />\n </Box>\n </Box>\n <Box\n sx={{\n display: 'flex',\n flexDirection: 'row',\n }}\n >\n <Chip\n icon={\n <EntityTypeIcon\n type={props.entityType}\n wrap={false}\n sx={{ color: '#265149', width: '18px' }}\n />\n }\n label={props.entityType}\n sx={{ ...searchResultsCardChipStyles }}\n />\n <HasAccessChip entityId={props.entityId} />\n </Box>\n <Box\n sx={{\n display: 'flex',\n flexDirection: 'row',\n gap: '8px',\n }}\n >\n <Stack sx={{ gap: '20px', minWidth: 0, width: '100%' }}>\n <Box sx={{ display: 'flex' }}>\n <UpdateIcon className={styles.cardMetadataIcon} />\n <Typography className={styles.cardMetadataTypographyWithIcon}>\n Last updated:{' '}\n {formatDate(dayjs.unix(props.modifiedOn), 'M/D/YYYY')}\n </Typography>\n </Box>\n {plainDescription && (\n <Box sx={{ display: 'flex' }}>\n <ArticleOutlined className={styles.cardMetadataIcon} />\n <HighlightedTypography\n className={`${styles.cardMetadataTypographyWithIcon} ${styles.cardDescription}`}\n text={plainDescription}\n searchTerms={props.searchTerms ?? []}\n />\n </Box>\n )}\n\n {friendlySize && (\n <Box sx={{ display: 'flex' }}>\n <InfoOutline className={styles.cardMetadataIcon} />\n <Typography className={styles.cardMetadataTypographyWithIcon}>\n File size: <b>{friendlySize}</b>\n </Typography>\n </Box>\n )}\n {props.locatedIn && (\n <Box\n sx={{ display: 'flex', marginLeft: '24px', alignItems: 'center' }}\n >\n <Typography className={styles.cardMetadataTypographyWithIcon}>\n Located in:{' '}\n </Typography>\n <DashboardTwoTone\n className={styles.cardMetadataIcon}\n sx={{\n marginRight: '4px',\n }}\n />\n <Link\n className={styles.locatedInLink}\n href={`${getEndpoint(\n BackendDestinationEnum.PORTAL_ENDPOINT,\n )}Synapse:${props.locatedIn?.id}`}\n >\n {props.locatedIn?.name}\n </Link>\n </Box>\n )}\n </Stack>\n </Box>\n </SynapseSearchResultsCardContainer>\n )\n}\n\nexport default SynapseSearchResultsCard\n"],"names":["SynapseSearchResultsCardContainer","styled","Paper","SynapseSearchResultsCard","props","ref","inView","useInView","entityBundle","useGetEntityBundle","EntityType","file","friendlySize","calculateFriendlyFileSize","plainDescription","markdownToPlainText","jsxs","Box","jsx","Link","getEndpoint","BackendDestinationEnum","HighlightedTypography","styles","FavoriteButton","EntityDownloadButton","Chip","EntityTypeIcon","searchResultsCardChipStyles","HasAccessChip","Stack","UpdateIcon","Typography","formatDate","dayjs","ArticleOutlined","InfoOutline","DashboardTwoTone"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+CA,MAAMA,IAAiEC;AAAA,EACrEC;AAAA,EACA;AAAA,IACE,OAAO;AAAA,EAAA;AAEX,EAAE;AAAA,EACA,SAAS;AAAA,EACT,eAAe;AAAA,EACf,WAAW;AAAA,EACX,OAAO;AAAA,EACP,cAAc;AAAA,EACd,SAAS;AAAA,EACT,KAAK;AACP,CAAC;AAEM,SAASC,GAAyBC,GAAsC;AAC7E,QAAM,EAAE,KAAAC,GAAK,QAAAC,EAAA,IAAWC,EAAU;AAAA,IAChC,aAAa;AAAA,IACb,YAAY;AAAA,EAAA,CACb,GAEK,EAAE,MAAMC,EAAA,IAAiBC;AAAA,IAC7BL,EAAM;AAAA,IACN;AAAA,IACA,EAAE,oBAAoB,GAAA;AAAA,IACtB,EAAE,SAASA,EAAM,eAAeM,EAAW,QAAQJ,EAAA;AAAA,EAAO,GAGtDK,IAAOH,GAAc,YAAY;AAAA,IACrC,CAACG,MAAgCA,EAAK,cAAc;AAAA,EAAA,GAGhDC,IAAeD,GAAM,cACvBE,EAA0BF,GAAM,WAAW,IAC3C,IAEEG,IAAmBV,EAAM,cAC3BW,EAAoBX,EAAM,WAAW,IACrC;AAEJ,SACE,gBAAAY,EAAChB,KAAkC,KAAAK,GACjC,UAAA;AAAA,IAAA,gBAAAW;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,IAAI;AAAA,UACF,SAAS;AAAA,UACT,eAAe;AAAA,UACf,gBAAgB;AAAA,UAChB,OAAO;AAAA,QAAA;AAAA,QAGT,UAAA;AAAA,UAAA,gBAAAC;AAAA,YAACC;AAAA,YAAA;AAAA,cACC,MAAM,GAAGC;AAAA,gBACPC,EAAuB;AAAA,cAAA,CACxB,WAAWjB,EAAM,QAAQ;AAAA,cAC1B,IAAI;AAAA,gBACF,gBAAgB;AAAA,gBAChB,qBAAqB;AAAA,cAAA;AAAA,cAGvB,UAAA,gBAAAc;AAAA,gBAACI;AAAA,gBAAA;AAAA,kBACC,WAAWC,EAAO;AAAA,kBAClB,SAAQ;AAAA,kBACR,MAAMnB,EAAM;AAAA,kBACZ,aAAaA,EAAM,eAAe,CAAA;AAAA,gBAAC;AAAA,cAAA;AAAA,YACrC;AAAA,UAAA;AAAA,UAGF,gBAAAY;AAAA,YAACC;AAAA,YAAA;AAAA,cACC,IAAI;AAAA,gBACF,SAAS;AAAA,gBACT,KAAK;AAAA,gBACL,YAAY;AAAA,cAAA;AAAA,cAGd,UAAA;AAAA,gBAAA,gBAAAC,EAACM,GAAA,EAAe,UAAUpB,EAAM,SAAA,CAAU;AAAA,gBAC1C,gBAAAc;AAAA,kBAACO;AAAA,kBAAA;AAAA,oBACC,UAAUrB,EAAM;AAAA,oBAChB,MAAMA,EAAM;AAAA,oBACZ,YAAYA,EAAM;AAAA,kBAAA;AAAA,gBAAA;AAAA,cACpB;AAAA,YAAA;AAAA,UAAA;AAAA,QACF;AAAA,MAAA;AAAA,IAAA;AAAA,IAEF,gBAAAY;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,IAAI;AAAA,UACF,SAAS;AAAA,UACT,eAAe;AAAA,QAAA;AAAA,QAGjB,UAAA;AAAA,UAAA,gBAAAC;AAAA,YAACQ;AAAA,YAAA;AAAA,cACC,MACE,gBAAAR;AAAA,gBAACS;AAAA,gBAAA;AAAA,kBACC,MAAMvB,EAAM;AAAA,kBACZ,MAAM;AAAA,kBACN,IAAI,EAAE,OAAO,WAAW,OAAO,OAAA;AAAA,gBAAO;AAAA,cAAA;AAAA,cAG1C,OAAOA,EAAM;AAAA,cACb,IAAI,EAAE,GAAGwB,EAAA;AAAA,YAA4B;AAAA,UAAA;AAAA,UAEvC,gBAAAV,EAACW,GAAA,EAAc,UAAUzB,EAAM,SAAA,CAAU;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,IAE3C,gBAAAc;AAAA,MAACD;AAAA,MAAA;AAAA,QACC,IAAI;AAAA,UACF,SAAS;AAAA,UACT,eAAe;AAAA,UACf,KAAK;AAAA,QAAA;AAAA,QAGP,UAAA,gBAAAD,EAACc,GAAA,EAAM,IAAI,EAAE,KAAK,QAAQ,UAAU,GAAG,OAAO,OAAA,GAC5C,UAAA;AAAA,UAAA,gBAAAd,EAACC,GAAA,EAAI,IAAI,EAAE,SAAS,UAClB,UAAA;AAAA,YAAA,gBAAAC,EAACa,GAAA,EAAW,WAAWR,EAAO,iBAAA,CAAkB;AAAA,YAChD,gBAAAP,EAACgB,GAAA,EAAW,WAAWT,EAAO,gCAAgC,UAAA;AAAA,cAAA;AAAA,cAC9C;AAAA,cACbU,EAAWC,EAAM,KAAK9B,EAAM,UAAU,GAAG,UAAU;AAAA,YAAA,EAAA,CACtD;AAAA,UAAA,GACF;AAAA,UACCU,KACC,gBAAAE,EAACC,GAAA,EAAI,IAAI,EAAE,SAAS,UAClB,UAAA;AAAA,YAAA,gBAAAC,EAACiB,GAAA,EAAgB,WAAWZ,EAAO,iBAAA,CAAkB;AAAA,YACrD,gBAAAL;AAAA,cAACI;AAAA,cAAA;AAAA,gBACC,WAAW,GAAGC,EAAO,8BAA8B,IAAIA,EAAO,eAAe;AAAA,gBAC7E,MAAMT;AAAA,gBACN,aAAaV,EAAM,eAAe,CAAA;AAAA,cAAC;AAAA,YAAA;AAAA,UACrC,GACF;AAAA,UAGDQ,KACC,gBAAAI,EAACC,GAAA,EAAI,IAAI,EAAE,SAAS,UAClB,UAAA;AAAA,YAAA,gBAAAC,EAACkB,GAAA,EAAY,WAAWb,EAAO,iBAAA,CAAkB;AAAA,YACjD,gBAAAP,EAACgB,GAAA,EAAW,WAAWT,EAAO,gCAAgC,UAAA;AAAA,cAAA;AAAA,cACjD,gBAAAL,EAAC,OAAG,UAAAN,EAAA,CAAa;AAAA,YAAA,EAAA,CAC9B;AAAA,UAAA,GACF;AAAA,UAEDR,EAAM,aACL,gBAAAY;AAAA,YAACC;AAAA,YAAA;AAAA,cACC,IAAI,EAAE,SAAS,QAAQ,YAAY,QAAQ,YAAY,SAAA;AAAA,cAEvD,UAAA;AAAA,gBAAA,gBAAAD,EAACgB,GAAA,EAAW,WAAWT,EAAO,gCAAgC,UAAA;AAAA,kBAAA;AAAA,kBAChD;AAAA,gBAAA,GACd;AAAA,gBACA,gBAAAL;AAAA,kBAACmB;AAAA,kBAAA;AAAA,oBACC,WAAWd,EAAO;AAAA,oBAClB,IAAI;AAAA,sBACF,aAAa;AAAA,oBAAA;AAAA,kBACf;AAAA,gBAAA;AAAA,gBAEF,gBAAAL;AAAA,kBAACC;AAAA,kBAAA;AAAA,oBACC,WAAWI,EAAO;AAAA,oBAClB,MAAM,GAAGH;AAAA,sBACPC,EAAuB;AAAA,oBAAA,CACxB,WAAWjB,EAAM,WAAW,EAAE;AAAA,oBAE9B,YAAM,WAAW;AAAA,kBAAA;AAAA,gBAAA;AAAA,cACpB;AAAA,YAAA;AAAA,UAAA;AAAA,QACF,EAAA,CAEJ;AAAA,MAAA;AAAA,IAAA;AAAA,EACF,GACF;AAEJ;"}
|
|
1
|
+
{"version":3,"file":"SynapseSearchResultsCard.js","sources":["../../../src/components/SynapseSearchPageResults/SynapseSearchResultsCard.tsx"],"sourcesContent":["import { useGetEntityBundle } from '@/synapse-queries'\nimport { calculateFriendlyFileSize } from '@/utils/functions/calculateFriendlyFileSize'\nimport { formatDate } from '@/utils/functions/DateFormatter'\nimport {\n BackendDestinationEnum,\n getEndpoint,\n} from '@/utils/functions/getEndpoint'\nimport { StyledComponent } from '@emotion/styled'\nimport {\n ArticleOutlined,\n DashboardTwoTone,\n InfoOutline,\n Update as UpdateIcon,\n} from '@mui/icons-material'\nimport {\n Box,\n Chip,\n Link,\n Paper,\n PaperProps,\n Stack,\n styled,\n Typography,\n} from '@mui/material'\nimport { EntityType } from '@sage-bionetworks/synapse-client'\nimport dayjs from 'dayjs'\nimport { useRef } from 'react'\nimport { useInView } from 'react-intersection-observer'\nimport { EntityDownloadButton } from '../EntityDownloadButton/EntityDownloadButton'\nimport { FileHandleWithPreview } from '../EntityFinder/details/view/table/TableCellTypes'\nimport { EntityTypeIcon } from '../EntityIcon'\nimport FavoriteButton from '../favorites/FavoriteButton'\nimport { markdownToPlainText } from '../Markdown/MarkdownUtils'\nimport { searchResultsCardChipStyles } from './chipStyles'\nimport HasAccessChip from './HasAccessChip'\nimport { HighlightedTypography } from './HighlightedTypography'\nimport styles from './SynapseSearchResultsCard.module.scss'\n\nexport type SynapseSearchResultsCardProps = {\n entityId: string\n name: string\n description?: string\n entityType: EntityType\n modifiedOn: number\n locatedIn?: { name: string; id: string }\n searchTerms?: string[]\n}\n\nconst SynapseSearchResultsCardContainer: StyledComponent<PaperProps> = styled(\n Paper,\n {\n label: 'SynapseSearchResultsCardContainer',\n },\n)({\n display: 'flex',\n flexDirection: 'column',\n minHeight: '250px',\n width: '100%',\n borderRadius: '10px',\n padding: '32px',\n gap: '15px',\n})\n\nexport function SynapseSearchResultsCard(props: SynapseSearchResultsCardProps) {\n const downloadConfirmationRef = useRef<HTMLDivElement>(null)\n\n const { ref, inView } = useInView({\n triggerOnce: true,\n rootMargin: '250px 0px',\n })\n\n const { data: entityBundle } = useGetEntityBundle(\n props.entityId,\n undefined,\n { includeFileHandles: true },\n { enabled: props.entityType === EntityType.file && inView },\n )\n\n const file = entityBundle?.fileHandles.find(\n (file: FileHandleWithPreview) => file.isPreview !== true,\n )\n\n const friendlySize = file?.contentSize\n ? calculateFriendlyFileSize(file?.contentSize)\n : ''\n\n const plainDescription = props.description\n ? markdownToPlainText(props.description)\n : ''\n\n return (\n <SynapseSearchResultsCardContainer ref={ref}>\n <Box\n sx={{\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'space-between',\n width: '100%',\n }}\n >\n <Link\n href={`${getEndpoint(\n BackendDestinationEnum.PORTAL_ENDPOINT,\n )}Synapse:${props.entityId}`}\n sx={{\n textDecoration: 'underline 2px',\n textUnderlineOffset: '9px',\n }}\n >\n <HighlightedTypography\n className={styles.cardTitle}\n variant=\"headline3\"\n text={props.name}\n searchTerms={props.searchTerms ?? []}\n />\n </Link>\n\n <Box\n sx={{\n display: 'flex',\n gap: '16px',\n alignItems: 'center',\n }}\n >\n <FavoriteButton entityId={props.entityId} />\n <EntityDownloadButton\n entityId={props.entityId}\n name={props.name}\n entityType={props.entityType}\n downloadConfirmationContainer={downloadConfirmationRef}\n />\n </Box>\n </Box>\n {/* Portal target for EntityDownloadButton's download confirmation dialog */}\n <div ref={downloadConfirmationRef} />\n <Box\n sx={{\n display: 'flex',\n flexDirection: 'row',\n }}\n >\n <Chip\n icon={\n <EntityTypeIcon\n type={props.entityType}\n wrap={false}\n sx={{ color: '#265149', width: '18px' }}\n />\n }\n label={props.entityType}\n sx={{ ...searchResultsCardChipStyles }}\n />\n <HasAccessChip entityId={props.entityId} />\n </Box>\n <Box\n sx={{\n display: 'flex',\n flexDirection: 'row',\n gap: '8px',\n }}\n >\n <Stack sx={{ gap: '20px', minWidth: 0, width: '100%' }}>\n <Box sx={{ display: 'flex' }}>\n <UpdateIcon className={styles.cardMetadataIcon} />\n <Typography className={styles.cardMetadataTypographyWithIcon}>\n Last updated:{' '}\n {formatDate(dayjs.unix(props.modifiedOn), 'M/D/YYYY')}\n </Typography>\n </Box>\n {plainDescription && (\n <Box sx={{ display: 'flex' }}>\n <ArticleOutlined className={styles.cardMetadataIcon} />\n <HighlightedTypography\n className={`${styles.cardMetadataTypographyWithIcon} ${styles.cardDescription}`}\n text={plainDescription}\n searchTerms={props.searchTerms ?? []}\n />\n </Box>\n )}\n\n {friendlySize && (\n <Box sx={{ display: 'flex' }}>\n <InfoOutline className={styles.cardMetadataIcon} />\n <Typography className={styles.cardMetadataTypographyWithIcon}>\n File size: <b>{friendlySize}</b>\n </Typography>\n </Box>\n )}\n {props.locatedIn && (\n <Box\n sx={{ display: 'flex', marginLeft: '24px', alignItems: 'center' }}\n >\n <Typography className={styles.cardMetadataTypographyWithIcon}>\n Located in:{' '}\n </Typography>\n <DashboardTwoTone\n className={styles.cardMetadataIcon}\n sx={{\n marginRight: '4px',\n }}\n />\n <Link\n className={styles.locatedInLink}\n href={`${getEndpoint(\n BackendDestinationEnum.PORTAL_ENDPOINT,\n )}Synapse:${props.locatedIn?.id}`}\n >\n {props.locatedIn?.name}\n </Link>\n </Box>\n )}\n </Stack>\n </Box>\n </SynapseSearchResultsCardContainer>\n )\n}\n\nexport default SynapseSearchResultsCard\n"],"names":["SynapseSearchResultsCardContainer","styled","Paper","SynapseSearchResultsCard","props","downloadConfirmationRef","useRef","ref","inView","useInView","entityBundle","useGetEntityBundle","EntityType","file","friendlySize","calculateFriendlyFileSize","plainDescription","markdownToPlainText","jsxs","Box","jsx","Link","getEndpoint","BackendDestinationEnum","HighlightedTypography","styles","FavoriteButton","EntityDownloadButton","Chip","EntityTypeIcon","searchResultsCardChipStyles","HasAccessChip","Stack","UpdateIcon","Typography","formatDate","dayjs","ArticleOutlined","InfoOutline","DashboardTwoTone"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { jsx as o, jsxs as x, Fragment as
|
|
2
|
-
import
|
|
3
|
-
import { useGetAddToDownloadListRequestForCurrentQuery as
|
|
1
|
+
import { jsx as o, jsxs as x, Fragment as L } from "react/jsx-runtime";
|
|
2
|
+
import M from "../../download_list/AddToDownloadListConfirmationAlert/AddToDownloadListConfirmationAlert.js";
|
|
3
|
+
import { useGetAddToDownloadListRequestForCurrentQuery as _ } from "../../QueryWrapper/useGetAddToDownloadListRequestForCurrentQuery.js";
|
|
4
4
|
import "../../../synapse-client/SynapseClient.js";
|
|
5
5
|
import "@sage-bionetworks/synapse-client/generated/models/ErrorResponseCode";
|
|
6
6
|
import "@sage-bionetworks/synapse-client/generated/models/TwoFactorAuthErrorResponse";
|
|
@@ -12,8 +12,8 @@ import "lodash-es";
|
|
|
12
12
|
import "@sage-bionetworks/synapse-client/util/synapseClientFetch";
|
|
13
13
|
import "@tanstack/react-query";
|
|
14
14
|
import "../../../utils/PermissionLevelToAccessType.js";
|
|
15
|
-
import { useState as
|
|
16
|
-
import { useSynapseContext as
|
|
15
|
+
import { useState as g } from "react";
|
|
16
|
+
import { useSynapseContext as D } from "../../../utils/context/SynapseContext.js";
|
|
17
17
|
import "use-deep-compare-effect";
|
|
18
18
|
import { Button as a, Box as E } from "@mui/material";
|
|
19
19
|
import "../../../utils/hooks/useCookiePreferences.js";
|
|
@@ -45,12 +45,12 @@ import { RowSelectionUI as j } from "./RowSelectionUI.js";
|
|
|
45
45
|
import { SignInRequiredModal as U } from "../../SignInRequiredModal/SignInRequiredModal.js";
|
|
46
46
|
const Y = "SendToAnalysisPlatformRowSelectionControlButton";
|
|
47
47
|
function Qo(d) {
|
|
48
|
-
const { customControls: p = [], remount: e } = d, { isAuthenticated: u } =
|
|
48
|
+
const { customControls: p = [], remount: e } = d, { isAuthenticated: u } = D(), [c, n] = g(!1), { entityId: i, versionNumber: f, getCurrentQueryRequest: A } = q(), { data: w } = N(i, f), { data: s } = G(), [r, m] = b(F), S = _(), {
|
|
49
49
|
setIsShowingExportToAnalysisPlatformModal: C,
|
|
50
50
|
enabledExternalAnalysisPlatforms: T
|
|
51
51
|
} = Q(), y = T.length > 0, h = () => {
|
|
52
|
-
|
|
53
|
-
}, I = O(
|
|
52
|
+
m([]), e && e();
|
|
53
|
+
}, I = O(s?.columnModels), R = B(
|
|
54
54
|
w,
|
|
55
55
|
I
|
|
56
56
|
);
|
|
@@ -59,15 +59,15 @@ function Qo(d) {
|
|
|
59
59
|
{
|
|
60
60
|
show: r.length > 0,
|
|
61
61
|
selectedRowCount: r.length,
|
|
62
|
-
onClearSelection: () =>
|
|
63
|
-
customControls: /* @__PURE__ */ x(
|
|
62
|
+
onClearSelection: () => m([]),
|
|
63
|
+
customControls: /* @__PURE__ */ x(L, { children: [
|
|
64
64
|
p.map((t) => /* @__PURE__ */ o(
|
|
65
65
|
k,
|
|
66
66
|
{
|
|
67
67
|
variant: "contained",
|
|
68
68
|
callbackData: {
|
|
69
69
|
tableId: i,
|
|
70
|
-
queryMetadata:
|
|
70
|
+
queryMetadata: s,
|
|
71
71
|
selectedRows: r,
|
|
72
72
|
refresh: h,
|
|
73
73
|
request: A()
|
|
@@ -108,7 +108,7 @@ function Qo(d) {
|
|
|
108
108
|
width: "100%"
|
|
109
109
|
},
|
|
110
110
|
children: /* @__PURE__ */ o(
|
|
111
|
-
|
|
111
|
+
M,
|
|
112
112
|
{
|
|
113
113
|
addToDownloadListRequest: S,
|
|
114
114
|
onClose: () => {
|
|
@@ -124,7 +124,7 @@ function Qo(d) {
|
|
|
124
124
|
);
|
|
125
125
|
},
|
|
126
126
|
startIcon: /* @__PURE__ */ o(P, {}),
|
|
127
|
-
children: "Add to Download
|
|
127
|
+
children: "Add to Download List"
|
|
128
128
|
}
|
|
129
129
|
)
|
|
130
130
|
] })
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RowSelectionControls.js","sources":["../../../../src/components/SynapseTable/RowSelection/RowSelectionControls.tsx"],"sourcesContent":["import AddToDownloadListConfirmationAlert from '@/components/download_list/AddToDownloadListConfirmationAlert/AddToDownloadListConfirmationAlert'\nimport { useGetAddToDownloadListRequestForCurrentQuery } from '@/components/QueryWrapper/useGetAddToDownloadListRequestForCurrentQuery'\nimport { useGetEntity } from '@/synapse-queries'\nimport { canTableQueryBeAddedToDownloadList } from '@/utils/functions/queryUtils'\nimport { GetAppTwoTone } from '@mui/icons-material'\nimport { Box, Button } from '@mui/material'\nimport { Table } from '@sage-bionetworks/synapse-types'\nimport { useAtom } from 'jotai'\nimport { useState } from 'react'\nimport { toast } from 'react-hot-toast'\nimport { useSynapseContext } from '@/utils'\nimport { useQueryContext } from '../../QueryContext'\nimport { useQueryVisualizationContext } from '../../QueryVisualizationWrapper'\nimport { selectedRowsAtom } from '../../QueryWrapper/TableRowSelectionState'\nimport { useGetQueryMetadata } from '../../QueryWrapper/useGetQueryMetadata'\nimport {\n getFileColumnModelId,\n SEND_TO_ANALYSIS_PLATFORM_SIGN_IN_MESSAGE,\n} from '../SynapseTableUtils'\nimport { CustomControlButton } from '../CustomControls/CustomControlButton'\nimport { CustomControl } from '../TopLevelControls/TopLevelControls'\nimport { RowSelectionUI } from './RowSelectionUI'\nimport { SignInRequiredModal } from '@/components/SignInRequiredModal/SignInRequiredModal'\n\nconst SEND_TO_ANALYSIS_PLATFORM_BUTTON_ID =\n 'SendToAnalysisPlatformRowSelectionControlButton'\n\nexport type RowSelectionControlsProps = {\n customControls?: CustomControl[]\n remount?: () => void\n}\n\n/**\n * This component is responsible for rendering the RowSelectionUI and the custom controls. Must be wrapped in a\n * QueryContext and a QueryVisualizationContext.\n * @param props\n * @constructor\n */\nexport function RowSelectionControls(props: RowSelectionControlsProps) {\n const { customControls = [], remount } = props\n const { isAuthenticated } = useSynapseContext()\n const [showLoginModal, setShowLoginModal] = useState(false)\n const { entityId, versionNumber, getCurrentQueryRequest } = useQueryContext()\n const { data: entity } = useGetEntity<Table>(entityId, versionNumber)\n const { data: queryMetadata } = useGetQueryMetadata()\n const [selectedRows, setSelectedRows] = useAtom(selectedRowsAtom)\n\n const addToDownloadListRequest =\n useGetAddToDownloadListRequestForCurrentQuery()\n\n const {\n setIsShowingExportToAnalysisPlatformModal,\n enabledExternalAnalysisPlatforms,\n } = useQueryVisualizationContext()\n\n const showExportToAnalysisPlatformButton =\n enabledExternalAnalysisPlatforms.length > 0\n\n const refresh = () => {\n // clear selection\n setSelectedRows([])\n if (remount) {\n remount()\n }\n }\n const fileColumnId = getFileColumnModelId(queryMetadata?.columnModels)\n const showAddToDownloadCart = canTableQueryBeAddedToDownloadList(\n entity,\n fileColumnId,\n )\n\n return (\n <RowSelectionUI\n show={selectedRows.length > 0}\n selectedRowCount={selectedRows.length}\n onClearSelection={() => setSelectedRows([])}\n customControls={\n <>\n {customControls.map(customControl => {\n return (\n <CustomControlButton\n key={customControl.buttonText}\n variant=\"contained\"\n callbackData={{\n tableId: entityId!,\n queryMetadata: queryMetadata,\n selectedRows,\n refresh,\n request: getCurrentQueryRequest(),\n }}\n control={customControl}\n startIcon={customControl.icon}\n />\n )\n })}\n {/* TODO: Generic button */}\n {showExportToAnalysisPlatformButton && (\n <Button\n variant=\"outlined\"\n onClick={() => {\n if (isAuthenticated) {\n setIsShowingExportToAnalysisPlatformModal(true)\n } else {\n setShowLoginModal(true)\n }\n }}\n id={SEND_TO_ANALYSIS_PLATFORM_BUTTON_ID}\n >\n Send to Analysis Platform\n </Button>\n )}\n {showLoginModal && (\n <SignInRequiredModal\n onHide={() => setShowLoginModal(false)}\n content={SEND_TO_ANALYSIS_PLATFORM_SIGN_IN_MESSAGE}\n />\n )}\n {showAddToDownloadCart && (\n <Button\n variant=\"contained\"\n onClick={() => {\n const toastId = toast.custom(\n <Box\n sx={{\n width: '100%',\n }}\n >\n <AddToDownloadListConfirmationAlert\n addToDownloadListRequest={addToDownloadListRequest}\n onClose={() => {\n toast.dismiss(toastId)\n }}\n />\n </Box>,\n {\n duration: Infinity,\n },\n )\n }}\n startIcon={<GetAppTwoTone />}\n >\n Add to Download
|
|
1
|
+
{"version":3,"file":"RowSelectionControls.js","sources":["../../../../src/components/SynapseTable/RowSelection/RowSelectionControls.tsx"],"sourcesContent":["import AddToDownloadListConfirmationAlert from '@/components/download_list/AddToDownloadListConfirmationAlert/AddToDownloadListConfirmationAlert'\nimport { useGetAddToDownloadListRequestForCurrentQuery } from '@/components/QueryWrapper/useGetAddToDownloadListRequestForCurrentQuery'\nimport { useGetEntity } from '@/synapse-queries'\nimport { canTableQueryBeAddedToDownloadList } from '@/utils/functions/queryUtils'\nimport { GetAppTwoTone } from '@mui/icons-material'\nimport { Box, Button } from '@mui/material'\nimport { Table } from '@sage-bionetworks/synapse-types'\nimport { useAtom } from 'jotai'\nimport { useState } from 'react'\nimport { toast } from 'react-hot-toast'\nimport { useSynapseContext } from '@/utils'\nimport { useQueryContext } from '../../QueryContext'\nimport { useQueryVisualizationContext } from '../../QueryVisualizationWrapper'\nimport { selectedRowsAtom } from '../../QueryWrapper/TableRowSelectionState'\nimport { useGetQueryMetadata } from '../../QueryWrapper/useGetQueryMetadata'\nimport {\n getFileColumnModelId,\n SEND_TO_ANALYSIS_PLATFORM_SIGN_IN_MESSAGE,\n} from '../SynapseTableUtils'\nimport { CustomControlButton } from '../CustomControls/CustomControlButton'\nimport { CustomControl } from '../TopLevelControls/TopLevelControls'\nimport { RowSelectionUI } from './RowSelectionUI'\nimport { SignInRequiredModal } from '@/components/SignInRequiredModal/SignInRequiredModal'\n\nconst SEND_TO_ANALYSIS_PLATFORM_BUTTON_ID =\n 'SendToAnalysisPlatformRowSelectionControlButton'\n\nexport type RowSelectionControlsProps = {\n customControls?: CustomControl[]\n remount?: () => void\n}\n\n/**\n * This component is responsible for rendering the RowSelectionUI and the custom controls. Must be wrapped in a\n * QueryContext and a QueryVisualizationContext.\n * @param props\n * @constructor\n */\nexport function RowSelectionControls(props: RowSelectionControlsProps) {\n const { customControls = [], remount } = props\n const { isAuthenticated } = useSynapseContext()\n const [showLoginModal, setShowLoginModal] = useState(false)\n const { entityId, versionNumber, getCurrentQueryRequest } = useQueryContext()\n const { data: entity } = useGetEntity<Table>(entityId, versionNumber)\n const { data: queryMetadata } = useGetQueryMetadata()\n const [selectedRows, setSelectedRows] = useAtom(selectedRowsAtom)\n\n const addToDownloadListRequest =\n useGetAddToDownloadListRequestForCurrentQuery()\n\n const {\n setIsShowingExportToAnalysisPlatformModal,\n enabledExternalAnalysisPlatforms,\n } = useQueryVisualizationContext()\n\n const showExportToAnalysisPlatformButton =\n enabledExternalAnalysisPlatforms.length > 0\n\n const refresh = () => {\n // clear selection\n setSelectedRows([])\n if (remount) {\n remount()\n }\n }\n const fileColumnId = getFileColumnModelId(queryMetadata?.columnModels)\n const showAddToDownloadCart = canTableQueryBeAddedToDownloadList(\n entity,\n fileColumnId,\n )\n\n return (\n <RowSelectionUI\n show={selectedRows.length > 0}\n selectedRowCount={selectedRows.length}\n onClearSelection={() => setSelectedRows([])}\n customControls={\n <>\n {customControls.map(customControl => {\n return (\n <CustomControlButton\n key={customControl.buttonText}\n variant=\"contained\"\n callbackData={{\n tableId: entityId!,\n queryMetadata: queryMetadata,\n selectedRows,\n refresh,\n request: getCurrentQueryRequest(),\n }}\n control={customControl}\n startIcon={customControl.icon}\n />\n )\n })}\n {/* TODO: Generic button */}\n {showExportToAnalysisPlatformButton && (\n <Button\n variant=\"outlined\"\n onClick={() => {\n if (isAuthenticated) {\n setIsShowingExportToAnalysisPlatformModal(true)\n } else {\n setShowLoginModal(true)\n }\n }}\n id={SEND_TO_ANALYSIS_PLATFORM_BUTTON_ID}\n >\n Send to Analysis Platform\n </Button>\n )}\n {showLoginModal && (\n <SignInRequiredModal\n onHide={() => setShowLoginModal(false)}\n content={SEND_TO_ANALYSIS_PLATFORM_SIGN_IN_MESSAGE}\n />\n )}\n {showAddToDownloadCart && (\n <Button\n variant=\"contained\"\n onClick={() => {\n const toastId = toast.custom(\n <Box\n sx={{\n width: '100%',\n }}\n >\n <AddToDownloadListConfirmationAlert\n addToDownloadListRequest={addToDownloadListRequest}\n onClose={() => {\n toast.dismiss(toastId)\n }}\n />\n </Box>,\n {\n duration: Infinity,\n },\n )\n }}\n startIcon={<GetAppTwoTone />}\n >\n Add to Download List\n </Button>\n )}\n </>\n }\n />\n )\n}\n"],"names":["SEND_TO_ANALYSIS_PLATFORM_BUTTON_ID","RowSelectionControls","props","customControls","remount","isAuthenticated","useSynapseContext","showLoginModal","setShowLoginModal","useState","entityId","versionNumber","getCurrentQueryRequest","useQueryContext","entity","useGetEntity","queryMetadata","useGetQueryMetadata","selectedRows","setSelectedRows","useAtom","selectedRowsAtom","addToDownloadListRequest","useGetAddToDownloadListRequestForCurrentQuery","setIsShowingExportToAnalysisPlatformModal","enabledExternalAnalysisPlatforms","useQueryVisualizationContext","showExportToAnalysisPlatformButton","refresh","fileColumnId","getFileColumnModelId","showAddToDownloadCart","canTableQueryBeAddedToDownloadList","jsx","RowSelectionUI","jsxs","Fragment","customControl","CustomControlButton","Button","SignInRequiredModal","SEND_TO_ANALYSIS_PLATFORM_SIGN_IN_MESSAGE","toastId","toast","Box","AddToDownloadListConfirmationAlert","GetAppTwoTone"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,MAAMA,IACJ;AAaK,SAASC,GAAqBC,GAAkC;AACrE,QAAM,EAAE,gBAAAC,IAAiB,IAAI,SAAAC,MAAYF,GACnC,EAAE,iBAAAG,EAAA,IAAoBC,EAAA,GACtB,CAACC,GAAgBC,CAAiB,IAAIC,EAAS,EAAK,GACpD,EAAE,UAAAC,GAAU,eAAAC,GAAe,wBAAAC,EAAA,IAA2BC,EAAA,GACtD,EAAE,MAAMC,EAAA,IAAWC,EAAoBL,GAAUC,CAAa,GAC9D,EAAE,MAAMK,EAAA,IAAkBC,EAAA,GAC1B,CAACC,GAAcC,CAAe,IAAIC,EAAQC,CAAgB,GAE1DC,IACJC,EAAA,GAEI;AAAA,IACJ,2CAAAC;AAAA,IACA,kCAAAC;AAAA,EAAA,IACEC,EAAA,GAEEC,IACJF,EAAiC,SAAS,GAEtCG,IAAU,MAAM;AAEpB,IAAAT,EAAgB,CAAA,CAAE,GACdf,KACFA,EAAA;AAAA,EAEJ,GACMyB,IAAeC,EAAqBd,GAAe,YAAY,GAC/De,IAAwBC;AAAA,IAC5BlB;AAAA,IACAe;AAAA,EAAA;AAGF,SACE,gBAAAI;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMhB,EAAa,SAAS;AAAA,MAC5B,kBAAkBA,EAAa;AAAA,MAC/B,kBAAkB,MAAMC,EAAgB,EAAE;AAAA,MAC1C,gBACE,gBAAAgB,EAAAC,GAAA,EACG,UAAA;AAAA,QAAAjC,EAAe,IAAI,CAAAkC,MAEhB,gBAAAJ;AAAA,UAACK;AAAA,UAAA;AAAA,YAEC,SAAQ;AAAA,YACR,cAAc;AAAA,cACZ,SAAS5B;AAAA,cACT,eAAAM;AAAA,cACA,cAAAE;AAAA,cACA,SAAAU;AAAA,cACA,SAAShB,EAAA;AAAA,YAAuB;AAAA,YAElC,SAASyB;AAAA,YACT,WAAWA,EAAc;AAAA,UAAA;AAAA,UAVpBA,EAAc;AAAA,QAAA,CAaxB;AAAA,QAEAV,KACC,gBAAAM;AAAA,UAACM;AAAA,UAAA;AAAA,YACC,SAAQ;AAAA,YACR,SAAS,MAAM;AACb,cAAIlC,IACFmB,EAA0C,EAAI,IAE9ChB,EAAkB,EAAI;AAAA,YAE1B;AAAA,YACA,IAAIR;AAAA,YACL,UAAA;AAAA,UAAA;AAAA,QAAA;AAAA,QAIFO,KACC,gBAAA0B;AAAA,UAACO;AAAA,UAAA;AAAA,YACC,QAAQ,MAAMhC,EAAkB,EAAK;AAAA,YACrC,SAASiC;AAAA,UAAA;AAAA,QAAA;AAAA,QAGZV,KACC,gBAAAE;AAAA,UAACM;AAAA,UAAA;AAAA,YACC,SAAQ;AAAA,YACR,SAAS,MAAM;AACb,oBAAMG,IAAUC,EAAM;AAAA,gBACpB,gBAAAV;AAAA,kBAACW;AAAA,kBAAA;AAAA,oBACC,IAAI;AAAA,sBACF,OAAO;AAAA,oBAAA;AAAA,oBAGT,UAAA,gBAAAX;AAAA,sBAACY;AAAA,sBAAA;AAAA,wBACC,0BAAAvB;AAAA,wBACA,SAAS,MAAM;AACb,0BAAAqB,EAAM,QAAQD,CAAO;AAAA,wBACvB;AAAA,sBAAA;AAAA,oBAAA;AAAA,kBACF;AAAA,gBAAA;AAAA,gBAEF;AAAA,kBACE,UAAU;AAAA,gBAAA;AAAA,cACZ;AAAA,YAEJ;AAAA,YACA,6BAAYI,GAAA,EAAc;AAAA,YAC3B,UAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MAED,EAAA,CAEJ;AAAA,IAAA;AAAA,EAAA;AAIR;"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import u from "pluralize";
|
|
2
2
|
import { upperFirst as A } from "lodash-es";
|
|
3
|
-
const f = "to Download
|
|
4
|
-
function
|
|
3
|
+
const f = "to Download List";
|
|
4
|
+
function i(r, o, e) {
|
|
5
5
|
return r ? o.length : e;
|
|
6
6
|
}
|
|
7
|
-
function
|
|
7
|
+
function s(r, o, e, l, n) {
|
|
8
8
|
if (!r && !o)
|
|
9
9
|
return `all ${u(n)}`;
|
|
10
|
-
const t =
|
|
10
|
+
const t = i(
|
|
11
11
|
o,
|
|
12
12
|
e,
|
|
13
13
|
l
|
|
@@ -17,12 +17,12 @@ function $(r, o, e, l, n) {
|
|
|
17
17
|
t
|
|
18
18
|
)}` : u(n);
|
|
19
19
|
}
|
|
20
|
-
function
|
|
20
|
+
function $(r, o, e, l, n) {
|
|
21
21
|
if (!r && !o)
|
|
22
22
|
return `Add All ${A(
|
|
23
23
|
u(n)
|
|
24
24
|
)} ${f}`;
|
|
25
|
-
const t =
|
|
25
|
+
const t = i(
|
|
26
26
|
o,
|
|
27
27
|
e,
|
|
28
28
|
l
|
|
@@ -32,8 +32,8 @@ function c(r, o, e, l, n) {
|
|
|
32
32
|
)} ${f}` : `Add ${f}`;
|
|
33
33
|
}
|
|
34
34
|
export {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
35
|
+
$ as getNumberOfResultsToAddToDownloadListCopy,
|
|
36
|
+
i as getNumberOfResultsToInvokeAction,
|
|
37
|
+
s as getNumberOfResultsToInvokeActionCopy
|
|
38
38
|
};
|
|
39
39
|
//# sourceMappingURL=TopLevelControlsUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TopLevelControlsUtils.js","sources":["../../../../src/components/SynapseTable/TopLevelControls/TopLevelControlsUtils.ts"],"sourcesContent":["import { QueryContextType } from '../../QueryContext'\nimport { QueryVisualizationContextType } from '../../QueryVisualizationWrapper'\nimport pluralize from 'pluralize'\nimport { upperFirst } from 'lodash-es'\nimport { Row } from '@sage-bionetworks/synapse-types'\n\nconst TO_DOWNLOAD_CART = 'to Download
|
|
1
|
+
{"version":3,"file":"TopLevelControlsUtils.js","sources":["../../../../src/components/SynapseTable/TopLevelControls/TopLevelControlsUtils.ts"],"sourcesContent":["import { QueryContextType } from '../../QueryContext'\nimport { QueryVisualizationContextType } from '../../QueryVisualizationWrapper'\nimport pluralize from 'pluralize'\nimport { upperFirst } from 'lodash-es'\nimport { Row } from '@sage-bionetworks/synapse-types'\n\nconst TO_DOWNLOAD_CART = 'to Download List'\n\n/**\n * If the user invokes an action on the table (such as \"Send to CAVATICA\"), we want to tell the user how many rows they\n * will perform the action on.\n *\n * If selection is enabled and rows have been selected, return the number of selected rows.\n * If no rows have been selected, return the total number of query results.\n * If the total number of query results is unknown, return undefined.\n * @param hasSelectedRows\n * @param selectedRows\n * @param totalNumberOfRows\n */\nexport function getNumberOfResultsToInvokeAction(\n hasSelectedRows: boolean,\n selectedRows: Row[],\n totalNumberOfRows?: number,\n) {\n return hasSelectedRows ? selectedRows.length : totalNumberOfRows\n}\n\n/**\n * Returns copy for how to reference the number of results that will be affected by an action, such as \"Send to CAVATICA\".\n * Utilizes the unit description to return a count and pluralized unit description.\n *\n * If the user has not selected rows or applied any filters, return \"all <unit>s\".\n * If the user has applied filters but not selected rows, return the total number of query results to indicate that the filtered result set is used. e.g. '2 <unit>s'\n * - If the total number of query results is unknown, the count is not included. e.g. '<unit>s'\n * If the user has selected rows, return the number of selected rows. e.g. '2 <unit>s'\n * @param hasResettableFilters\n * @param hasSelectedRows\n * @param selectedRows\n * @param totalNumberOfRows\n * @param unitDescription\n */\nexport function getNumberOfResultsToInvokeActionCopy(\n hasResettableFilters: QueryContextType['hasResettableFilters'],\n hasSelectedRows: boolean,\n selectedRows: Row[],\n totalNumberOfRows: number | undefined,\n unitDescription: QueryVisualizationContextType['unitDescription'],\n) {\n if (!hasResettableFilters && !hasSelectedRows) {\n return `all ${pluralize(unitDescription)}`\n }\n\n const numberOfResultsToInvokeAction = getNumberOfResultsToInvokeAction(\n hasSelectedRows,\n selectedRows,\n totalNumberOfRows,\n )\n if (numberOfResultsToInvokeAction != null) {\n return `${numberOfResultsToInvokeAction.toLocaleString()} ${pluralize(\n unitDescription,\n numberOfResultsToInvokeAction,\n )}`\n }\n // Null count, so just return the pluralized unit description\n return pluralize(unitDescription)\n}\n\n/**\n * Returns copy for how to reference the number of results that will be sent to the download list.\n * Utilizes the unit description to return a count and pluralized unit description.\n * @param hasResettableFilters\n * @param hasSelectedRows\n * @param selectedRows\n * @param totalNumberOfRows\n * @param unitDescription\n */\nexport function getNumberOfResultsToAddToDownloadListCopy(\n hasResettableFilters: QueryContextType['hasResettableFilters'],\n hasSelectedRows: boolean,\n selectedRows: Row[],\n totalNumberOfRows: number | undefined,\n unitDescription: QueryVisualizationContextType['unitDescription'],\n) {\n if (!hasResettableFilters && !hasSelectedRows) {\n return `Add All ${upperFirst(\n pluralize(unitDescription),\n )} ${TO_DOWNLOAD_CART}`\n }\n\n const numberOfResultsToInvokeAction = getNumberOfResultsToInvokeAction(\n hasSelectedRows,\n selectedRows,\n totalNumberOfRows,\n )\n if (numberOfResultsToInvokeAction != null) {\n return `Add ${numberOfResultsToInvokeAction.toLocaleString()} Selected ${upperFirst(\n pluralize(unitDescription, numberOfResultsToInvokeAction),\n )} ${TO_DOWNLOAD_CART}`\n }\n // Null count\n return `Add ${TO_DOWNLOAD_CART}`\n}\n"],"names":["TO_DOWNLOAD_CART","getNumberOfResultsToInvokeAction","hasSelectedRows","selectedRows","totalNumberOfRows","getNumberOfResultsToInvokeActionCopy","hasResettableFilters","unitDescription","pluralize","numberOfResultsToInvokeAction","getNumberOfResultsToAddToDownloadListCopy","upperFirst"],"mappings":";;AAMA,MAAMA,IAAmB;AAalB,SAASC,EACdC,GACAC,GACAC,GACA;AACA,SAAOF,IAAkBC,EAAa,SAASC;AACjD;AAgBO,SAASC,EACdC,GACAJ,GACAC,GACAC,GACAG,GACA;AACA,MAAI,CAACD,KAAwB,CAACJ;AAC5B,WAAO,OAAOM,EAAUD,CAAe,CAAC;AAG1C,QAAME,IAAgCR;AAAA,IACpCC;AAAA,IACAC;AAAA,IACAC;AAAA,EAAA;AAEF,SAAIK,KAAiC,OAC5B,GAAGA,EAA8B,eAAA,CAAgB,IAAID;AAAA,IAC1DD;AAAA,IACAE;AAAA,EAAA,CACD,KAGID,EAAUD,CAAe;AAClC;AAWO,SAASG,EACdJ,GACAJ,GACAC,GACAC,GACAG,GACA;AACA,MAAI,CAACD,KAAwB,CAACJ;AAC5B,WAAO,WAAWS;AAAA,MAChBH,EAAUD,CAAe;AAAA,IAAA,CAC1B,IAAIP,CAAgB;AAGvB,QAAMS,IAAgCR;AAAA,IACpCC;AAAA,IACAC;AAAA,IACAC;AAAA,EAAA;AAEF,SAAIK,KAAiC,OAC5B,OAAOA,EAA8B,eAAA,CAAgB,aAAaE;AAAA,IACvEH,EAAUD,GAAiBE,CAA6B;AAAA,EAAA,CACzD,IAAIT,CAAgB,KAGhB,OAAOA,CAAgB;AAChC;"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { SxProps, TypographyOwnProps } from '@mui/material';
|
|
2
|
+
import { PropsWithChildren } from 'react';
|
|
3
|
+
export type TextToComponentCollapseProps = PropsWithChildren<{
|
|
4
|
+
text: string;
|
|
5
|
+
defaultVisible?: boolean;
|
|
6
|
+
textVariant?: TypographyOwnProps['variant'];
|
|
7
|
+
textSx?: SxProps;
|
|
8
|
+
textContainerSx?: SxProps;
|
|
9
|
+
collapseBoxSx?: SxProps;
|
|
10
|
+
iconSx?: SxProps;
|
|
11
|
+
}>;
|
|
12
|
+
/**
|
|
13
|
+
* Wrap any child components in a collapse, using a Typography as the trigger
|
|
14
|
+
*/
|
|
15
|
+
export default function TextToComponentCollapse({ text, defaultVisible, textVariant, textSx, textContainerSx, collapseBoxSx, iconSx, children, }: TextToComponentCollapseProps): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
//# sourceMappingURL=TextToComponentCollapse.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextToComponentCollapse.d.ts","sourceRoot":"","sources":["../../src/components/TextToComponentCollapse.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAc,kBAAkB,EAAE,MAAM,eAAe,CAAA;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAGzC,MAAM,MAAM,4BAA4B,GAAG,iBAAiB,CAAC;IAC3D,IAAI,EAAE,MAAM,CAAA;IACZ,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,WAAW,CAAC,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAA;IAC3C,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAAC,EAC9C,IAAI,EACJ,cAAc,EACd,WAAyB,EACzB,MAAM,EACN,eAAe,EACf,aAAa,EACb,MAAM,EACN,QAAQ,GACT,EAAE,4BAA4B,2CAgB9B"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { jsx as o } from "react/jsx-runtime";
|
|
2
|
+
import { Typography as l } from "@mui/material";
|
|
3
|
+
import s from "./ComponentCollapse.js";
|
|
4
|
+
function c({
|
|
5
|
+
text: n,
|
|
6
|
+
defaultVisible: t,
|
|
7
|
+
textVariant: r = "smallLink",
|
|
8
|
+
textSx: e,
|
|
9
|
+
textContainerSx: p,
|
|
10
|
+
collapseBoxSx: m,
|
|
11
|
+
iconSx: a,
|
|
12
|
+
children: i
|
|
13
|
+
}) {
|
|
14
|
+
return /* @__PURE__ */ o(
|
|
15
|
+
s,
|
|
16
|
+
{
|
|
17
|
+
component: /* @__PURE__ */ o(l, { variant: r, sx: e, children: n }),
|
|
18
|
+
componentContainerSx: p,
|
|
19
|
+
defaultVisible: t,
|
|
20
|
+
collapseBoxSx: m,
|
|
21
|
+
iconSx: a,
|
|
22
|
+
children: i
|
|
23
|
+
}
|
|
24
|
+
);
|
|
25
|
+
}
|
|
26
|
+
export {
|
|
27
|
+
c as default
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=TextToComponentCollapse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextToComponentCollapse.js","sources":["../../src/components/TextToComponentCollapse.tsx"],"sourcesContent":["import { SxProps, Typography, TypographyOwnProps } from '@mui/material'\nimport { PropsWithChildren } from 'react'\nimport ComponentCollapse from './ComponentCollapse'\n\nexport type TextToComponentCollapseProps = PropsWithChildren<{\n text: string\n defaultVisible?: boolean // default to false (collapsed)\n textVariant?: TypographyOwnProps['variant']\n textSx?: SxProps\n textContainerSx?: SxProps\n collapseBoxSx?: SxProps\n iconSx?: SxProps\n}>\n\n/**\n * Wrap any child components in a collapse, using a Typography as the trigger\n */\nexport default function TextToComponentCollapse({\n text,\n defaultVisible,\n textVariant = 'smallLink',\n textSx,\n textContainerSx,\n collapseBoxSx,\n iconSx,\n children,\n}: TextToComponentCollapseProps) {\n return (\n <ComponentCollapse\n component={\n <Typography variant={textVariant} sx={textSx}>\n {text}\n </Typography>\n }\n componentContainerSx={textContainerSx}\n defaultVisible={defaultVisible}\n collapseBoxSx={collapseBoxSx}\n iconSx={iconSx}\n >\n {children}\n </ComponentCollapse>\n )\n}\n"],"names":["TextToComponentCollapse","text","defaultVisible","textVariant","textSx","textContainerSx","collapseBoxSx","iconSx","children","jsx","ComponentCollapse","Typography"],"mappings":";;;AAiBA,SAAwBA,EAAwB;AAAA,EAC9C,MAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,aAAAC,IAAc;AAAA,EACd,QAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,eAAAC;AAAA,EACA,QAAAC;AAAA,EACA,UAAAC;AACF,GAAiC;AAC/B,SACE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,WACE,gBAAAD,EAACE,GAAA,EAAW,SAASR,GAAa,IAAIC,GACnC,UAAAH,GACH;AAAA,MAEF,sBAAsBI;AAAA,MACtB,gBAAAH;AAAA,MACA,eAAAI;AAAA,MACA,QAAAC;AAAA,MAEC,UAAAC;AAAA,IAAA;AAAA,EAAA;AAGP;"}
|