synapse-react-client 4.0.1 → 4.0.3
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/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/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/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/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 +6 -6
- 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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SynapseNavDrawer.js","sources":["../../../src/components/SynapseNavDrawer/SynapseNavDrawer.tsx"],"sourcesContent":["import React from 'react'\nimport SynapseIconWhite from '@/assets/icons/SynapseIconWhite'\nimport SynapseLogoName from '@/assets/icons/SynapseLogoName'\nimport {\n useGetCurrentUserBundle,\n useGetDownloadListStatistics,\n useSearchAccessSubmissionsInfinite,\n} from '@/synapse-queries'\nimport {\n storeRedirectURLForOneSageLoginAndGotoURL,\n useApplicationSessionContext,\n useSynapseContext,\n} from '@/utils'\nimport { useOneSageURL } from '@/utils/hooks/useOneSageURL'\nimport {\n Badge,\n Drawer,\n InputAdornment,\n List,\n ListItemButton,\n TextField,\n Tooltip,\n} from '@mui/material'\nimport {\n Direction,\n SubmissionSortField,\n SubmissionState,\n FeatureFlagEnum,\n} from '@sage-bionetworks/synapse-types'\nimport { KeyboardEvent, ReactNode, useState } from 'react'\nimport { CreateProjectModal } from '../CreateProjectModal/CreateProjectModal'\nimport IconSvg, { IconName } from '../IconSvg/IconSvg'\nimport { PLANS_LINK } from '../SynapseHomepageV2/SynapseHomepageNavBar'\nimport UserCard from '../UserCard/UserCard'\nimport { useGetFeatureFlag } from '@/synapse-queries/featureflags/useGetFeatureFlag'\nimport { DEFAULT_SEARCH_QUERY } from '@/utils/searchDefaults'\n\nexport type SynapseNavDrawerProps = {\n initIsOpen?: boolean\n gotoPlace: (href: string) => void\n}\n\ntype MenuItemParams = {\n tooltip: string\n iconName?: IconName\n onClickOpenNavMenu?: NavItem\n onClickGoToPlace?: () => void\n additionalChildren?: ReactNode\n badgeContent?: string | number\n isCurrentlySelectedItem?: boolean\n handleDrawerClose: () => void\n handleDrawerOpen: (navItem?: NavItem) => void\n}\n\nexport enum NavItem {\n PROJECTS,\n FAVORITES,\n TEAMS,\n CHALLENGES,\n DOWNLOADS,\n SEARCH,\n PROFILE,\n HELP,\n}\n\nexport const getSearchToken = (queryTerm: string[]) => {\n const searchQuery = {\n ...DEFAULT_SEARCH_QUERY,\n queryTerm,\n }\n return encodeURIComponent(JSON.stringify(searchQuery))\n}\n\nconst projectSearchJson = {\n // To support project search, we send this json object in the url.\n // We update the queryTerm array based on user input.\n ...DEFAULT_SEARCH_QUERY,\n booleanQuery: [\n {\n key: 'node_type',\n value: 'project',\n },\n ],\n}\nconst getProjectSearchToken = (queryTerm: string[]) => {\n const searchQuery = {\n ...projectSearchJson,\n queryTerm,\n }\n return encodeURIComponent(JSON.stringify(searchQuery))\n}\n\nconst NavDrawerListItem = (props: MenuItemParams): React.ReactNode => {\n const {\n tooltip,\n iconName,\n onClickOpenNavMenu,\n onClickGoToPlace,\n additionalChildren,\n badgeContent,\n isCurrentlySelectedItem = false,\n handleDrawerClose,\n handleDrawerOpen,\n } = props\n const handler =\n isCurrentlySelectedItem || onClickGoToPlace\n ? handleDrawerClose\n : () => {\n handleDrawerOpen(onClickOpenNavMenu)\n }\n const item = iconName ? (\n <>\n <IconSvg icon={iconName} /> {additionalChildren}{' '}\n </>\n ) : (\n additionalChildren\n )\n\n const listItem = (\n <Tooltip title={tooltip} placement=\"right\">\n <ListItemButton\n key={iconName}\n onClick={handler}\n className=\"SRC-whiteText\"\n selected={isCurrentlySelectedItem}\n >\n <Badge badgeContent={badgeContent} color=\"secondary\">\n {item}\n </Badge>\n </ListItemButton>\n </Tooltip>\n )\n\n return onClickGoToPlace ? (\n <li>\n <a\n onClick={onClickGoToPlace}\n rel=\"noopener noreferrer\"\n className=\"SRC-whiteText\"\n >\n {listItem}\n </a>\n </li>\n ) : (\n <li>{listItem}</li>\n )\n}\n\n/**\n * Displays the Synapse navigational drawer on the left side of the page. Has links to various areas if logged in.\n */\nexport function SynapseNavDrawer({\n initIsOpen = false,\n gotoPlace,\n}: SynapseNavDrawerProps) {\n const [isOpen, setOpen] = useState(initIsOpen)\n const [selectedItem, setSelectedItem] = useState<NavItem>()\n const [projectSearchText, setProjectSearchText] = useState<string>('')\n const [docSiteSearchText, setDocSiteSearchText] = useState<string>('')\n const [isShowingCreateProjectModal, setIsShowingCreateProjectModal] =\n useState<boolean>(false)\n\n const { clearSession } = useApplicationSessionContext()\n\n const { isAuthenticated } = useSynapseContext()\n\n const { data: currentUserBundle } = useGetCurrentUserBundle()\n\n // If the user is logged out, the UserBundle provides an \"anonymous\" user profile, so override that case with undefined\n const currentUserProfile =\n isAuthenticated && currentUserBundle\n ? currentUserBundle.userProfile\n : undefined\n\n const { data: downloadListStatistics } = useGetDownloadListStatistics({\n enabled: isAuthenticated,\n })\n\n const numberOfFilesInDownloadList = downloadListStatistics?.totalNumberOfFiles\n\n const searchV2Enabled = useGetFeatureFlag(FeatureFlagEnum.SEARCHV2_ENABLED)\n\n const { data: openSubmissionData } = useSearchAccessSubmissionsInfinite(\n {\n submissionState: SubmissionState.SUBMITTED,\n sort: [\n {\n field: SubmissionSortField.CREATED_ON,\n direction: Direction.DESC,\n },\n ],\n },\n {\n enabled: currentUserBundle?.isARReviewer,\n },\n )\n\n let countOfOpenSubmissionsForReview: number | string =\n openSubmissionData?.pages[0].results.length ?? 0\n if (openSubmissionData?.pages[0].nextPageToken) {\n countOfOpenSubmissionsForReview = `${countOfOpenSubmissionsForReview}+`\n }\n\n const handleDrawerOpen = (navItem?: NavItem) => {\n setOpen(true)\n setSelectedItem(navItem)\n }\n\n const handleDrawerClose = () => {\n setOpen(false)\n setSelectedItem(undefined)\n }\n\n const onProjectSearch = (searchTerm: string) => {\n if (searchV2Enabled) {\n gotoPlace(\n `/SearchV2:default?query=${getProjectSearchToken(\n searchTerm.split(/[ ,]+/),\n )}`,\n )\n } else {\n gotoPlace(`/Search:${getProjectSearchToken(searchTerm.split(/[ ,]+/))}`)\n }\n }\n\n const oneSageURL = useOneSageURL()\n const accountSettingsURL = useOneSageURL('/authenticated/myaccount')\n\n return (\n <>\n <div className=\"SynapseNavDrawer\">\n <Drawer\n variant=\"permanent\"\n className={`SynapseNavDrawerMenu ${isOpen ? 'tempDrawerOpen' : ''}`}\n >\n <div onClick={handleDrawerClose}>\n <a\n className=\"synapseIcon\"\n rel=\"noopener noreferrer\"\n onClick={() => gotoPlace('/Home:x')}\n aria-label=\"Synapse Home\"\n >\n <SynapseIconWhite />\n </a>\n </div>\n <List>\n {isAuthenticated && currentUserProfile && (\n <>\n <NavDrawerListItem\n tooltip=\"Projects\"\n iconName=\"dashboard\"\n onClickOpenNavMenu={NavItem.PROJECTS}\n isCurrentlySelectedItem={selectedItem == NavItem.PROJECTS}\n handleDrawerClose={handleDrawerClose}\n handleDrawerOpen={handleDrawerOpen}\n />\n <NavDrawerListItem\n tooltip=\"Favorites\"\n iconName=\"favTwoTone\"\n onClickGoToPlace={() =>\n gotoPlace(\n `/Profile:${currentUserProfile.ownerId}/favorites`,\n )\n }\n handleDrawerClose={handleDrawerClose}\n handleDrawerOpen={handleDrawerOpen}\n />\n <NavDrawerListItem\n tooltip=\"Teams\"\n iconName=\"peopleTwoTone\"\n onClickGoToPlace={() =>\n gotoPlace(`/Profile:${currentUserProfile.ownerId}/teams`)\n }\n handleDrawerClose={handleDrawerClose}\n handleDrawerOpen={handleDrawerOpen}\n />\n <NavDrawerListItem\n tooltip=\"Challenges\"\n iconName=\"challengesTwoTone\"\n onClickGoToPlace={() =>\n gotoPlace(\n `/Profile:${currentUserProfile.ownerId}/challenges`,\n )\n }\n handleDrawerClose={handleDrawerClose}\n handleDrawerOpen={handleDrawerOpen}\n />\n <NavDrawerListItem\n tooltip=\"Download Cart\"\n iconName=\"download\"\n onClickGoToPlace={() => gotoPlace('/DownloadCart:0')}\n badgeContent={numberOfFilesInDownloadList}\n handleDrawerClose={handleDrawerClose}\n handleDrawerOpen={handleDrawerOpen}\n />\n <NavDrawerListItem\n tooltip=\"Trash Can\"\n iconName=\"delete\"\n onClickGoToPlace={() => gotoPlace('/Trash:0')}\n handleDrawerClose={handleDrawerClose}\n handleDrawerOpen={handleDrawerOpen}\n />\n {currentUserBundle?.isARReviewer && (\n <NavDrawerListItem\n tooltip=\"Data Access Management\"\n iconName=\"accessManagement\"\n onClickGoToPlace={() =>\n gotoPlace('/DataAccessManagement:default/Submissions')\n }\n badgeContent={countOfOpenSubmissionsForReview}\n handleDrawerClose={handleDrawerClose}\n handleDrawerOpen={handleDrawerOpen}\n />\n )}\n </>\n )}\n <NavDrawerListItem\n tooltip=\"Search\"\n iconName=\"search\"\n onClickGoToPlace={() =>\n gotoPlace(searchV2Enabled ? '/SearchV2:default' : '/Search:')\n }\n handleDrawerClose={handleDrawerClose}\n handleDrawerOpen={handleDrawerOpen}\n />\n </List>\n <div className=\"filler\" />\n <List>\n {isAuthenticated && currentUserProfile && (\n <NavDrawerListItem\n tooltip=\"Your Account\"\n onClickOpenNavMenu={NavItem.PROFILE}\n additionalChildren={\n <UserCard\n userProfile={currentUserProfile}\n size=\"AVATAR\"\n avatarSize=\"SMALL\"\n />\n }\n isCurrentlySelectedItem={selectedItem == NavItem.PROFILE}\n handleDrawerClose={handleDrawerClose}\n handleDrawerOpen={handleDrawerOpen}\n />\n )}\n {!isAuthenticated && (\n <NavDrawerListItem\n tooltip=\"Sign in\"\n iconName=\"login\"\n onClickGoToPlace={() =>\n storeRedirectURLForOneSageLoginAndGotoURL(\n oneSageURL.toString(),\n )\n }\n handleDrawerClose={handleDrawerClose}\n handleDrawerOpen={handleDrawerOpen}\n />\n )}\n <NavDrawerListItem\n tooltip=\"Help\"\n iconName=\"helpOutlined\"\n onClickOpenNavMenu={NavItem.HELP}\n isCurrentlySelectedItem={selectedItem == NavItem.HELP}\n handleDrawerClose={handleDrawerClose}\n handleDrawerOpen={handleDrawerOpen}\n />\n </List>\n </Drawer>\n <Drawer\n variant=\"temporary\"\n open={isOpen}\n className={`SynapseNavContentDrawer`}\n onClose={handleDrawerClose}\n >\n <div className=\"synapseLogoNameContainer\">\n <SynapseLogoName />\n </div>\n <div className=\"navContentContainer\">\n {selectedItem == NavItem.PROJECTS && (\n <>\n <div className=\"header projectHeader\">Projects</div>\n <Tooltip title=\"Create a New Project\" placement=\"right\">\n <a\n className=\"createProjectLink\"\n onClick={() => {\n setIsShowingCreateProjectModal(true)\n handleDrawerClose()\n }}\n >\n <IconSvg icon=\"addCircleOutline\" />\n </a>\n </Tooltip>\n <TextField\n type=\"search\"\n placeholder=\"Search All Projects\"\n value={projectSearchText}\n onChange={event => {\n setProjectSearchText(event.target.value)\n }}\n onKeyDown={(event: KeyboardEvent<HTMLInputElement>) => {\n if (event.key === 'Enter') {\n if ((event.target as HTMLInputElement).value !== '') {\n setProjectSearchText('')\n handleDrawerClose()\n onProjectSearch(\n (event.target as HTMLInputElement).value,\n )\n }\n }\n }}\n slotProps={{\n input: {\n startAdornment: (\n <InputAdornment position=\"start\">\n <IconSvg icon=\"searchOutlined\" />\n </InputAdornment>\n ),\n },\n }}\n />\n <div className=\"linkList\" onClick={handleDrawerClose}>\n <a\n className=\"SRC-whiteText\"\n onClick={() =>\n gotoPlace(\n `/Profile:${currentUserProfile?.ownerId}/projects/all`,\n )\n }\n rel=\"noopener noreferrer\"\n >\n All\n </a>\n <a\n className=\"SRC-whiteText\"\n onClick={() =>\n gotoPlace(\n `/Profile:${currentUserProfile?.ownerId}/projects/created_by_me`,\n )\n }\n rel=\"noopener noreferrer\"\n >\n Created By Me\n </a>\n <a\n className=\"SRC-whiteText\"\n onClick={() =>\n gotoPlace(\n `/Profile:${currentUserProfile?.ownerId}/projects/favorites`,\n )\n }\n rel=\"noopener noreferrer\"\n >\n Favorite Projects\n </a>\n <a\n className=\"SRC-whiteText\"\n onClick={() =>\n gotoPlace(\n `/Profile:${currentUserProfile?.ownerId}/projects/shared_directly_with_me`,\n )\n }\n rel=\"noopener noreferrer\"\n >\n Shared With Me\n </a>\n <a\n className=\"SRC-whiteText\"\n onClick={() =>\n gotoPlace(\n `/Profile:${currentUserProfile?.ownerId}/projects/all_my_team_projects`,\n )\n }\n rel=\"noopener noreferrer\"\n >\n Team Projects\n </a>\n </div>\n </>\n )}\n {selectedItem == NavItem.PROFILE && (\n <>\n <div className=\"header\">\n Welcome Back,\n <br />\n {currentUserProfile?.userName}!\n </div>\n <div className=\"linkList\" onClick={handleDrawerClose}>\n <a\n className=\"SRC-whiteText\"\n onClick={() =>\n gotoPlace(\n `/Profile:${currentUserProfile?.ownerId}/profile`,\n )\n }\n rel=\"noopener noreferrer\"\n >\n View Profile\n </a>\n <a\n className=\"SRC-whiteText\"\n href={accountSettingsURL.toString()}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n Account Settings\n </a>\n <a\n className=\"SRC-whiteText\"\n onClick={() => gotoPlace(`/RequestHistory:default`)}\n rel=\"noopener noreferrer\"\n >\n Access Requests\n </a>\n <a\n className=\"SRC-whiteText\"\n onClick={() => gotoPlace(`/Following:0`)}\n rel=\"noopener noreferrer\"\n >\n Following\n </a>\n <a\n className=\"SRC-whiteText\"\n onClick={() => {\n void clearSession()\n }}\n rel=\"noopener noreferrer\"\n >\n Sign Out\n </a>\n </div>\n </>\n )}\n {selectedItem == NavItem.HELP && (\n <>\n <div className=\"header\">Help</div>\n <TextField\n type=\"search\"\n placeholder=\"Search Documentation\"\n value={docSiteSearchText}\n onChange={event => {\n setDocSiteSearchText(event.target.value)\n }}\n onKeyDown={event => {\n if (event.key === 'Enter') {\n if ((event.target as HTMLInputElement).value !== '') {\n window.open(\n `https://help.synapse.org/search.html?max=10&s=docs&q=${encodeURI(\n (event.target as HTMLInputElement).value,\n )}`,\n )\n setDocSiteSearchText('')\n handleDrawerClose()\n }\n }\n }}\n slotProps={{\n input: {\n startAdornment: (\n <InputAdornment position=\"start\">\n <IconSvg icon=\"searchOutlined\" />\n </InputAdornment>\n ),\n },\n }}\n />\n\n <div className=\"linkList\" onClick={handleDrawerClose}>\n <a\n className=\"SRC-whiteText\"\n href=\"https://help.synapse.org/docs/Getting-Started.2055471150.html\"\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n >\n Getting Started\n </a>\n <a\n className=\"SRC-whiteText\"\n onClick={() => gotoPlace(PLANS_LINK)}\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n >\n Plans\n </a>\n <a\n className=\"SRC-whiteText\"\n href=\"https://help.synapse.org/docs/\"\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n >\n Synapse Web Documentation\n </a>\n <a\n className=\"SRC-whiteText\"\n href=\"https://python-docs.synapse.org/en/stable/\"\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n >\n Python Client Documentation\n </a>\n <a\n className=\"SRC-whiteText\"\n href=\"https://r-docs.synapse.org/\"\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n >\n R Client Documentation\n </a>\n <a\n className=\"SRC-whiteText\"\n href=\"https://blog.synapse.org/\"\n rel=\"noopener noreferrer\"\n >\n Blog\n </a>\n <a\n className=\"SRC-whiteText\"\n href=\"https://sagebionetworks.jira.com/servicedesk/customer/portals/\"\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n >\n Contact Us\n </a>\n </div>\n </>\n )}\n </div>\n </Drawer>\n </div>\n <CreateProjectModal\n onClose={() => setIsShowingCreateProjectModal(false)}\n isShowingModal={isShowingCreateProjectModal}\n />\n </>\n )\n}\n\nexport default SynapseNavDrawer\n"],"names":["NavItem","getSearchToken","queryTerm","searchQuery","DEFAULT_SEARCH_QUERY","projectSearchJson","getProjectSearchToken","NavDrawerListItem","props","tooltip","iconName","onClickOpenNavMenu","onClickGoToPlace","additionalChildren","badgeContent","isCurrentlySelectedItem","handleDrawerClose","handleDrawerOpen","listItem","jsx","Tooltip","ListItemButton","Badge","jsxs","Fragment","IconSvg","SynapseNavDrawer","initIsOpen","gotoPlace","isOpen","setOpen","useState","selectedItem","setSelectedItem","projectSearchText","setProjectSearchText","docSiteSearchText","setDocSiteSearchText","isShowingCreateProjectModal","setIsShowingCreateProjectModal","clearSession","useApplicationSessionContext","isAuthenticated","useSynapseContext","currentUserBundle","useGetCurrentUserBundle","currentUserProfile","downloadListStatistics","useGetDownloadListStatistics","numberOfFilesInDownloadList","searchV2Enabled","useGetFeatureFlag","FeatureFlagEnum","openSubmissionData","useSearchAccessSubmissionsInfinite","SubmissionState","SubmissionSortField","Direction","countOfOpenSubmissionsForReview","navItem","onProjectSearch","searchTerm","oneSageURL","useOneSageURL","accountSettingsURL","Drawer","SynapseIconWhite","List","UserCard","storeRedirectURLForOneSageLoginAndGotoURL","SynapseLogoName","TextField","event","InputAdornment","PLANS_LINK","CreateProjectModal"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SynapseNavDrawer.js","sources":["../../../src/components/SynapseNavDrawer/SynapseNavDrawer.tsx"],"sourcesContent":["import React from 'react'\nimport SynapseIconWhite from '@/assets/icons/SynapseIconWhite'\nimport SynapseLogoName from '@/assets/icons/SynapseLogoName'\nimport {\n useGetCurrentUserBundle,\n useGetDownloadListStatistics,\n useSearchAccessSubmissionsInfinite,\n} from '@/synapse-queries'\nimport {\n storeRedirectURLForOneSageLoginAndGotoURL,\n useApplicationSessionContext,\n useSynapseContext,\n} from '@/utils'\nimport { useOneSageURL } from '@/utils/hooks/useOneSageURL'\nimport {\n Badge,\n Drawer,\n InputAdornment,\n List,\n ListItemButton,\n TextField,\n Tooltip,\n} from '@mui/material'\nimport {\n Direction,\n SubmissionSortField,\n SubmissionState,\n} from '@sage-bionetworks/synapse-types'\nimport { KeyboardEvent, ReactNode, useState } from 'react'\nimport { CreateProjectModal } from '../CreateProjectModal/CreateProjectModal'\nimport IconSvg, { IconName } from '../IconSvg/IconSvg'\nimport { PLANS_LINK } from '../SynapseHomepageV2/SynapseHomepageNavBar'\nimport UserCard from '../UserCard/UserCard'\nimport { DEFAULT_SEARCH_QUERY } from '@/utils/searchDefaults'\n\nexport type SynapseNavDrawerProps = {\n initIsOpen?: boolean\n gotoPlace: (href: string) => void\n}\n\ntype MenuItemParams = {\n tooltip: string\n iconName?: IconName\n onClickOpenNavMenu?: NavItem\n onClickGoToPlace?: () => void\n additionalChildren?: ReactNode\n badgeContent?: string | number\n isCurrentlySelectedItem?: boolean\n handleDrawerClose: () => void\n handleDrawerOpen: (navItem?: NavItem) => void\n}\n\nexport enum NavItem {\n PROJECTS,\n FAVORITES,\n TEAMS,\n CHALLENGES,\n DOWNLOADS,\n SEARCH,\n PROFILE,\n HELP,\n}\n\nexport const getSearchToken = (queryTerm: string[]) => {\n const searchQuery = {\n ...DEFAULT_SEARCH_QUERY,\n queryTerm,\n }\n return encodeURIComponent(JSON.stringify(searchQuery))\n}\n\nconst projectSearchJson = {\n // To support project search, we send this json object in the url.\n // We update the queryTerm array based on user input.\n ...DEFAULT_SEARCH_QUERY,\n booleanQuery: [\n {\n key: 'node_type',\n value: 'project',\n },\n ],\n}\nconst getProjectSearchToken = (queryTerm: string[]) => {\n const searchQuery = {\n ...projectSearchJson,\n queryTerm,\n }\n return encodeURIComponent(JSON.stringify(searchQuery))\n}\n\nconst NavDrawerListItem = (props: MenuItemParams): React.ReactNode => {\n const {\n tooltip,\n iconName,\n onClickOpenNavMenu,\n onClickGoToPlace,\n additionalChildren,\n badgeContent,\n isCurrentlySelectedItem = false,\n handleDrawerClose,\n handleDrawerOpen,\n } = props\n const handler =\n isCurrentlySelectedItem || onClickGoToPlace\n ? handleDrawerClose\n : () => {\n handleDrawerOpen(onClickOpenNavMenu)\n }\n const item = iconName ? (\n <>\n <IconSvg icon={iconName} /> {additionalChildren}{' '}\n </>\n ) : (\n additionalChildren\n )\n\n const listItem = (\n <Tooltip title={tooltip} placement=\"right\">\n <ListItemButton\n key={iconName}\n onClick={handler}\n className=\"SRC-whiteText\"\n selected={isCurrentlySelectedItem}\n >\n <Badge badgeContent={badgeContent} color=\"secondary\">\n {item}\n </Badge>\n </ListItemButton>\n </Tooltip>\n )\n\n return onClickGoToPlace ? (\n <li>\n <a\n onClick={onClickGoToPlace}\n rel=\"noopener noreferrer\"\n className=\"SRC-whiteText\"\n >\n {listItem}\n </a>\n </li>\n ) : (\n <li>{listItem}</li>\n )\n}\n\n/**\n * Displays the Synapse navigational drawer on the left side of the page. Has links to various areas if logged in.\n */\nexport function SynapseNavDrawer({\n initIsOpen = false,\n gotoPlace,\n}: SynapseNavDrawerProps) {\n const [isOpen, setOpen] = useState(initIsOpen)\n const [selectedItem, setSelectedItem] = useState<NavItem>()\n const [projectSearchText, setProjectSearchText] = useState<string>('')\n const [docSiteSearchText, setDocSiteSearchText] = useState<string>('')\n const [isShowingCreateProjectModal, setIsShowingCreateProjectModal] =\n useState<boolean>(false)\n\n const { clearSession } = useApplicationSessionContext()\n\n const { isAuthenticated } = useSynapseContext()\n\n const { data: currentUserBundle } = useGetCurrentUserBundle()\n\n // If the user is logged out, the UserBundle provides an \"anonymous\" user profile, so override that case with undefined\n const currentUserProfile =\n isAuthenticated && currentUserBundle\n ? currentUserBundle.userProfile\n : undefined\n\n const { data: downloadListStatistics } = useGetDownloadListStatistics({\n enabled: isAuthenticated,\n })\n\n const numberOfFilesInDownloadList = downloadListStatistics?.totalNumberOfFiles\n\n const { data: openSubmissionData } = useSearchAccessSubmissionsInfinite(\n {\n submissionState: SubmissionState.SUBMITTED,\n sort: [\n {\n field: SubmissionSortField.CREATED_ON,\n direction: Direction.DESC,\n },\n ],\n },\n {\n enabled: currentUserBundle?.isARReviewer,\n },\n )\n\n let countOfOpenSubmissionsForReview: number | string =\n openSubmissionData?.pages[0].results.length ?? 0\n if (openSubmissionData?.pages[0].nextPageToken) {\n countOfOpenSubmissionsForReview = `${countOfOpenSubmissionsForReview}+`\n }\n\n const handleDrawerOpen = (navItem?: NavItem) => {\n setOpen(true)\n setSelectedItem(navItem)\n }\n\n const handleDrawerClose = () => {\n setOpen(false)\n setSelectedItem(undefined)\n }\n\n const onProjectSearch = (searchTerm: string) => {\n gotoPlace(\n `/SearchV2:default?query=${getProjectSearchToken(\n searchTerm.split(/[ ,]+/),\n )}`,\n )\n }\n\n const oneSageURL = useOneSageURL()\n const accountSettingsURL = useOneSageURL('/authenticated/myaccount')\n\n return (\n <>\n <div className=\"SynapseNavDrawer\">\n <Drawer\n variant=\"permanent\"\n className={`SynapseNavDrawerMenu ${isOpen ? 'tempDrawerOpen' : ''}`}\n >\n <div onClick={handleDrawerClose}>\n <a\n className=\"synapseIcon\"\n rel=\"noopener noreferrer\"\n onClick={() => gotoPlace('/Home:x')}\n aria-label=\"Synapse Home\"\n >\n <SynapseIconWhite />\n </a>\n </div>\n <List>\n {isAuthenticated && currentUserProfile && (\n <>\n <NavDrawerListItem\n tooltip=\"Projects\"\n iconName=\"dashboard\"\n onClickOpenNavMenu={NavItem.PROJECTS}\n isCurrentlySelectedItem={selectedItem == NavItem.PROJECTS}\n handleDrawerClose={handleDrawerClose}\n handleDrawerOpen={handleDrawerOpen}\n />\n <NavDrawerListItem\n tooltip=\"Favorites\"\n iconName=\"favTwoTone\"\n onClickGoToPlace={() =>\n gotoPlace(\n `/Profile:${currentUserProfile.ownerId}/favorites`,\n )\n }\n handleDrawerClose={handleDrawerClose}\n handleDrawerOpen={handleDrawerOpen}\n />\n <NavDrawerListItem\n tooltip=\"Teams\"\n iconName=\"peopleTwoTone\"\n onClickGoToPlace={() =>\n gotoPlace(`/Profile:${currentUserProfile.ownerId}/teams`)\n }\n handleDrawerClose={handleDrawerClose}\n handleDrawerOpen={handleDrawerOpen}\n />\n <NavDrawerListItem\n tooltip=\"Challenges\"\n iconName=\"challengesTwoTone\"\n onClickGoToPlace={() =>\n gotoPlace(\n `/Profile:${currentUserProfile.ownerId}/challenges`,\n )\n }\n handleDrawerClose={handleDrawerClose}\n handleDrawerOpen={handleDrawerOpen}\n />\n <NavDrawerListItem\n tooltip=\"Download List\"\n iconName=\"download\"\n onClickGoToPlace={() => gotoPlace('/DownloadCart:0')}\n badgeContent={numberOfFilesInDownloadList}\n handleDrawerClose={handleDrawerClose}\n handleDrawerOpen={handleDrawerOpen}\n />\n <NavDrawerListItem\n tooltip=\"Trash Can\"\n iconName=\"delete\"\n onClickGoToPlace={() => gotoPlace('/Trash:0')}\n handleDrawerClose={handleDrawerClose}\n handleDrawerOpen={handleDrawerOpen}\n />\n {currentUserBundle?.isARReviewer && (\n <NavDrawerListItem\n tooltip=\"Data Access Management\"\n iconName=\"accessManagement\"\n onClickGoToPlace={() =>\n gotoPlace('/DataAccessManagement:default/Submissions')\n }\n badgeContent={countOfOpenSubmissionsForReview}\n handleDrawerClose={handleDrawerClose}\n handleDrawerOpen={handleDrawerOpen}\n />\n )}\n </>\n )}\n <NavDrawerListItem\n tooltip=\"Search\"\n iconName=\"search\"\n onClickGoToPlace={() => gotoPlace('/SearchV2:default')}\n handleDrawerClose={handleDrawerClose}\n handleDrawerOpen={handleDrawerOpen}\n />\n </List>\n <div className=\"filler\" />\n <List>\n {isAuthenticated && currentUserProfile && (\n <NavDrawerListItem\n tooltip=\"Your Account\"\n onClickOpenNavMenu={NavItem.PROFILE}\n additionalChildren={\n <UserCard\n userProfile={currentUserProfile}\n size=\"AVATAR\"\n avatarSize=\"SMALL\"\n />\n }\n isCurrentlySelectedItem={selectedItem == NavItem.PROFILE}\n handleDrawerClose={handleDrawerClose}\n handleDrawerOpen={handleDrawerOpen}\n />\n )}\n {!isAuthenticated && (\n <NavDrawerListItem\n tooltip=\"Sign in\"\n iconName=\"login\"\n onClickGoToPlace={() =>\n storeRedirectURLForOneSageLoginAndGotoURL(\n oneSageURL.toString(),\n )\n }\n handleDrawerClose={handleDrawerClose}\n handleDrawerOpen={handleDrawerOpen}\n />\n )}\n <NavDrawerListItem\n tooltip=\"Help\"\n iconName=\"helpOutlined\"\n onClickOpenNavMenu={NavItem.HELP}\n isCurrentlySelectedItem={selectedItem == NavItem.HELP}\n handleDrawerClose={handleDrawerClose}\n handleDrawerOpen={handleDrawerOpen}\n />\n </List>\n </Drawer>\n <Drawer\n variant=\"temporary\"\n open={isOpen}\n className={`SynapseNavContentDrawer`}\n onClose={handleDrawerClose}\n >\n <div className=\"synapseLogoNameContainer\">\n <SynapseLogoName />\n </div>\n <div className=\"navContentContainer\">\n {selectedItem == NavItem.PROJECTS && (\n <>\n <div className=\"header projectHeader\">Projects</div>\n <Tooltip title=\"Create a New Project\" placement=\"right\">\n <a\n className=\"createProjectLink\"\n onClick={() => {\n setIsShowingCreateProjectModal(true)\n handleDrawerClose()\n }}\n >\n <IconSvg icon=\"addCircleOutline\" />\n </a>\n </Tooltip>\n <TextField\n type=\"search\"\n placeholder=\"Search All Projects\"\n value={projectSearchText}\n onChange={event => {\n setProjectSearchText(event.target.value)\n }}\n onKeyDown={(event: KeyboardEvent<HTMLInputElement>) => {\n if (event.key === 'Enter') {\n if ((event.target as HTMLInputElement).value !== '') {\n setProjectSearchText('')\n handleDrawerClose()\n onProjectSearch(\n (event.target as HTMLInputElement).value,\n )\n }\n }\n }}\n slotProps={{\n input: {\n startAdornment: (\n <InputAdornment position=\"start\">\n <IconSvg icon=\"searchOutlined\" />\n </InputAdornment>\n ),\n },\n }}\n />\n <div className=\"linkList\" onClick={handleDrawerClose}>\n <a\n className=\"SRC-whiteText\"\n onClick={() =>\n gotoPlace(\n `/Profile:${currentUserProfile?.ownerId}/projects/all`,\n )\n }\n rel=\"noopener noreferrer\"\n >\n All\n </a>\n <a\n className=\"SRC-whiteText\"\n onClick={() =>\n gotoPlace(\n `/Profile:${currentUserProfile?.ownerId}/projects/created_by_me`,\n )\n }\n rel=\"noopener noreferrer\"\n >\n Created By Me\n </a>\n <a\n className=\"SRC-whiteText\"\n onClick={() =>\n gotoPlace(\n `/Profile:${currentUserProfile?.ownerId}/projects/favorites`,\n )\n }\n rel=\"noopener noreferrer\"\n >\n Favorite Projects\n </a>\n <a\n className=\"SRC-whiteText\"\n onClick={() =>\n gotoPlace(\n `/Profile:${currentUserProfile?.ownerId}/projects/shared_directly_with_me`,\n )\n }\n rel=\"noopener noreferrer\"\n >\n Shared With Me\n </a>\n <a\n className=\"SRC-whiteText\"\n onClick={() =>\n gotoPlace(\n `/Profile:${currentUserProfile?.ownerId}/projects/all_my_team_projects`,\n )\n }\n rel=\"noopener noreferrer\"\n >\n Team Projects\n </a>\n </div>\n </>\n )}\n {selectedItem == NavItem.PROFILE && (\n <>\n <div className=\"header\">\n Welcome Back,\n <br />\n {currentUserProfile?.userName}!\n </div>\n <div className=\"linkList\" onClick={handleDrawerClose}>\n <a\n className=\"SRC-whiteText\"\n onClick={() =>\n gotoPlace(\n `/Profile:${currentUserProfile?.ownerId}/profile`,\n )\n }\n rel=\"noopener noreferrer\"\n >\n View Profile\n </a>\n <a\n className=\"SRC-whiteText\"\n href={accountSettingsURL.toString()}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n Account Settings\n </a>\n <a\n className=\"SRC-whiteText\"\n onClick={() => gotoPlace(`/RequestHistory:default`)}\n rel=\"noopener noreferrer\"\n >\n Access Requests\n </a>\n <a\n className=\"SRC-whiteText\"\n onClick={() => gotoPlace(`/Following:0`)}\n rel=\"noopener noreferrer\"\n >\n Following\n </a>\n <a\n className=\"SRC-whiteText\"\n onClick={() => {\n void clearSession()\n }}\n rel=\"noopener noreferrer\"\n >\n Sign Out\n </a>\n </div>\n </>\n )}\n {selectedItem == NavItem.HELP && (\n <>\n <div className=\"header\">Help</div>\n <TextField\n type=\"search\"\n placeholder=\"Search Documentation\"\n value={docSiteSearchText}\n onChange={event => {\n setDocSiteSearchText(event.target.value)\n }}\n onKeyDown={event => {\n if (event.key === 'Enter') {\n if ((event.target as HTMLInputElement).value !== '') {\n window.open(\n `https://help.synapse.org/search.html?max=10&s=docs&q=${encodeURI(\n (event.target as HTMLInputElement).value,\n )}`,\n )\n setDocSiteSearchText('')\n handleDrawerClose()\n }\n }\n }}\n slotProps={{\n input: {\n startAdornment: (\n <InputAdornment position=\"start\">\n <IconSvg icon=\"searchOutlined\" />\n </InputAdornment>\n ),\n },\n }}\n />\n\n <div className=\"linkList\" onClick={handleDrawerClose}>\n <a\n className=\"SRC-whiteText\"\n href=\"https://help.synapse.org/docs/Getting-Started.2055471150.html\"\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n >\n Getting Started\n </a>\n <a\n className=\"SRC-whiteText\"\n onClick={() => gotoPlace(PLANS_LINK)}\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n >\n Plans\n </a>\n <a\n className=\"SRC-whiteText\"\n href=\"https://help.synapse.org/docs/\"\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n >\n Synapse Web Documentation\n </a>\n <a\n className=\"SRC-whiteText\"\n href=\"https://python-docs.synapse.org/en/stable/\"\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n >\n Python Client Documentation\n </a>\n <a\n className=\"SRC-whiteText\"\n href=\"https://r-docs.synapse.org/\"\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n >\n R Client Documentation\n </a>\n <a\n className=\"SRC-whiteText\"\n href=\"https://blog.synapse.org/\"\n rel=\"noopener noreferrer\"\n >\n Blog\n </a>\n <a\n className=\"SRC-whiteText\"\n href=\"https://sagebionetworks.jira.com/servicedesk/customer/portals/\"\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n >\n Contact Us\n </a>\n </div>\n </>\n )}\n </div>\n </Drawer>\n </div>\n <CreateProjectModal\n onClose={() => setIsShowingCreateProjectModal(false)}\n isShowingModal={isShowingCreateProjectModal}\n />\n </>\n )\n}\n\nexport default SynapseNavDrawer\n"],"names":["NavItem","getSearchToken","queryTerm","searchQuery","DEFAULT_SEARCH_QUERY","projectSearchJson","getProjectSearchToken","NavDrawerListItem","props","tooltip","iconName","onClickOpenNavMenu","onClickGoToPlace","additionalChildren","badgeContent","isCurrentlySelectedItem","handleDrawerClose","handleDrawerOpen","listItem","jsx","Tooltip","ListItemButton","Badge","jsxs","Fragment","IconSvg","SynapseNavDrawer","initIsOpen","gotoPlace","isOpen","setOpen","useState","selectedItem","setSelectedItem","projectSearchText","setProjectSearchText","docSiteSearchText","setDocSiteSearchText","isShowingCreateProjectModal","setIsShowingCreateProjectModal","clearSession","useApplicationSessionContext","isAuthenticated","useSynapseContext","currentUserBundle","useGetCurrentUserBundle","currentUserProfile","downloadListStatistics","useGetDownloadListStatistics","numberOfFilesInDownloadList","openSubmissionData","useSearchAccessSubmissionsInfinite","SubmissionState","SubmissionSortField","Direction","countOfOpenSubmissionsForReview","navItem","onProjectSearch","searchTerm","oneSageURL","useOneSageURL","accountSettingsURL","Drawer","SynapseIconWhite","List","UserCard","storeRedirectURLForOneSageLoginAndGotoURL","SynapseLogoName","TextField","event","InputAdornment","PLANS_LINK","CreateProjectModal"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SynapseSearchResultsCard.d.ts","sourceRoot":"","sources":["../../../src/components/SynapseSearchPageResults/SynapseSearchResultsCard.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SynapseSearchResultsCard.d.ts","sourceRoot":"","sources":["../../../src/components/SynapseSearchPageResults/SynapseSearchResultsCard.tsx"],"names":[],"mappings":"AAwBA,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAA;AAc7D,MAAM,MAAM,6BAA6B,GAAG;IAC1C,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,UAAU,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAA;IACxC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;CACvB,CAAA;AAiBD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,6BAA6B,2CAwJ5E;AAED,eAAe,wBAAwB,CAAA"}
|
|
@@ -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":"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"}
|
|
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
|
] })
|