synapse-react-client 4.0.2 → 4.0.4
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/AccessRequirement/AddConditionsForUseButton/AddConditionsForUseButton.js +1 -1
- package/dist/components/AccessRequirementList/AccessRequirementList.js +4 -4
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsEditor.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsEditor.js +8 -7
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsEditor.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementFormWikiWrapper.js +4 -4
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementItem.js +11 -11
- package/dist/components/AccessRequirementList/RequirementItem/RequirementItem.js +1 -1
- package/dist/components/AccessRequirementList/RequirementItem/SelfSignAccessRequirementItem.js +9 -9
- package/dist/components/AccessRequirementList/RequirementItem/UnmanagedACTAccessRequirementItem.js +5 -5
- package/dist/components/AcknowledgementsPage/AcknowledgementsPage.d.ts.map +1 -1
- package/dist/components/AcknowledgementsPage/AcknowledgementsPage.js +36 -35
- package/dist/components/AcknowledgementsPage/AcknowledgementsPage.js.map +1 -1
- package/dist/components/AclEditor/AclEditor.js +8 -8
- package/dist/components/AclEditor/AclEditor.js.map +1 -1
- package/dist/components/AclEditor/AclEditor.test-utils.js +34 -34
- package/dist/components/AclEditor/AclEditor.test-utils.js.map +1 -1
- package/dist/components/AddToDownloadListV2.js +10 -10
- package/dist/components/AddToDownloadListV2.js.map +1 -1
- package/dist/components/Authentication/AuthenticationMethodSelection.js +1 -1
- package/dist/components/Authentication/TwoFactorEnrollmentForm.d.ts.map +1 -1
- package/dist/components/Authentication/TwoFactorEnrollmentForm.js +6 -5
- package/dist/components/Authentication/TwoFactorEnrollmentForm.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 +13 -1
- package/dist/components/BasePortalCard/BasePortalCard.module.scss.js +11 -11
- package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.css +1 -1
- package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.d.ts.map +1 -1
- package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.js +25 -25
- package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.js.map +1 -1
- package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.module.scss +13 -5
- package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.module.scss.js +5 -5
- package/dist/components/CardContainer/CardLink.d.ts +12 -0
- package/dist/components/CardContainer/CardLink.d.ts.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/ChallengeSubmission/AvailableEvaluationQueueList.js +12 -12
- package/dist/components/ChallengeTeamWizard/CreateChallengeTeam.d.ts.map +1 -1
- package/dist/components/ChallengeTeamWizard/CreateChallengeTeam.js +7 -7
- package/dist/components/ChallengeTeamWizard/CreateChallengeTeam.js.map +1 -1
- package/dist/components/ChangePassword/useChangePasswordFormState.js +5 -2
- package/dist/components/ChangePassword/useChangePasswordFormState.js.map +1 -1
- package/dist/components/CitationPopover/CitationPopoverContent.d.ts.map +1 -1
- package/dist/components/CitationPopover/CitationPopoverContent.js +13 -12
- package/dist/components/CitationPopover/CitationPopoverContent.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/CookiesNotification/CookiesNotification.js +1 -1
- package/dist/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizard.js +12 -10
- package/dist/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizard.js.map +1 -1
- package/dist/components/DataGrid/MergeGridWithSourceTableButton.js +10 -5
- package/dist/components/DataGrid/MergeGridWithSourceTableButton.js.map +1 -1
- package/dist/components/DataGrid/SynapseGrid.d.ts.map +1 -1
- package/dist/components/DataGrid/SynapseGrid.js +43 -38
- package/dist/components/DataGrid/SynapseGrid.js.map +1 -1
- package/dist/components/DataGrid/components/UploadCsvToGridDialog.js +10 -5
- package/dist/components/DataGrid/components/UploadCsvToGridDialog.js.map +1 -1
- package/dist/components/DataGrid/hooks/useExportDataGridToCsv.d.ts.map +1 -1
- package/dist/components/DataGrid/hooks/useExportDataGridToCsv.js +9 -7
- package/dist/components/DataGrid/hooks/useExportDataGridToCsv.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/ActionRequiredCard/ActionRequiredCard.js +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/RequestDownloadCard.js +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 +10 -5
- package/dist/components/Ecosystem/EcosystemSkeleton.js.map +1 -1
- package/dist/components/Ecosystem/TableQueryEcosystem.js +1 -1
- package/dist/components/EntityAclEditor/EntityAclEditorModal.js +1 -1
- package/dist/components/EntityAclEditor/OpenData.js +1 -1
- package/dist/components/EntityBadgeIcons/EntityBadgeIcons.d.ts.map +1 -1
- package/dist/components/EntityBadgeIcons/EntityBadgeIcons.js +113 -127
- package/dist/components/EntityBadgeIcons/EntityBadgeIcons.js.map +1 -1
- package/dist/components/EntityCitation/EntityCitation.js +1 -1
- package/dist/components/EntityDownloadButton/EntityDownloadButton.js +20 -20
- package/dist/components/EntityDownloadButton/EntityDownloadButton.js.map +1 -1
- package/dist/components/EntityFinder/details/view/table/AddToDownloadListCell.js +4 -4
- package/dist/components/EntityFinder/details/view/table/AddToDownloadListCell.js.map +1 -1
- package/dist/components/EntityFinder/details/view/table/CreatedOnCell.js +1 -1
- package/dist/components/EntityFinder/details/view/table/EntityNameCell.js +1 -1
- package/dist/components/EntityFinder/details/view/table/FileEntityMD5Cell.js +1 -1
- package/dist/components/EntityFinder/details/view/table/FileEntitySizeCell.js +1 -1
- package/dist/components/EntityFinder/details/view/table/ModifiedByCell.js +1 -1
- package/dist/components/EntityFinder/details/view/table/ModifiedOnCell.js +1 -1
- package/dist/components/EntityFinder/details/view/table/ParentProjectCell.js +1 -1
- package/dist/components/EntityFinder/tree/EntityTree.js +1 -1
- package/dist/components/EntityHeaderTable/EntityHeaderTable.d.ts.map +1 -1
- package/dist/components/EntityHeaderTable/EntityHeaderTable.js +39 -39
- package/dist/components/EntityHeaderTable/EntityHeaderTable.js.map +1 -1
- package/dist/components/Evaluation/DeleteEvaluationQueueConfirmationDialog.d.ts +8 -0
- package/dist/components/Evaluation/DeleteEvaluationQueueConfirmationDialog.d.ts.map +1 -0
- package/dist/components/Evaluation/DeleteEvaluationQueueConfirmationDialog.js +46 -0
- package/dist/components/Evaluation/DeleteEvaluationQueueConfirmationDialog.js.map +1 -0
- package/dist/components/Evaluation/EvaluationCard.d.ts.map +1 -1
- package/dist/components/Evaluation/EvaluationCard.js +35 -41
- package/dist/components/Evaluation/EvaluationCard.js.map +1 -1
- package/dist/components/Evaluation/EvaluationEditor.d.ts.map +1 -1
- package/dist/components/Evaluation/EvaluationEditor.js +95 -90
- package/dist/components/Evaluation/EvaluationEditor.js.map +1 -1
- package/dist/components/Evaluation/EvaluationRoundEditor.d.ts.map +1 -1
- package/dist/components/Evaluation/EvaluationRoundEditor.js +133 -124
- package/dist/components/Evaluation/EvaluationRoundEditor.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/FilePreview/EntityPreview.js +1 -1
- package/dist/components/Forum/DiscussionReply.js +10 -10
- package/dist/components/Forum/DiscussionThread.js +21 -21
- package/dist/components/FullWidthAlert/FullWidthAlert.d.ts +2 -2
- package/dist/components/FullWidthAlert/FullWidthAlert.js.map +1 -1
- package/dist/components/GenericCard/CardUtils.d.ts.map +1 -1
- package/dist/components/GenericCard/CardUtils.js +36 -36
- package/dist/components/GenericCard/CardUtils.js.map +1 -1
- package/dist/components/GenericCard/CollapsibleDescription.js +25 -25
- 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 +95 -85
- package/dist/components/GenericCard/SynapseCardLabel.js.map +1 -1
- package/dist/components/GenericCard/TableRowGenericCard.d.ts +10 -1
- package/dist/components/GenericCard/TableRowGenericCard.d.ts.map +1 -1
- package/dist/components/GenericCard/TableRowGenericCard.js +248 -209
- package/dist/components/GenericCard/TableRowGenericCard.js.map +1 -1
- package/dist/components/GoalsV2/GoalsV2.Desktop.d.ts.map +1 -1
- package/dist/components/GoalsV2/GoalsV2.Desktop.js +14 -15
- package/dist/components/GoalsV2/GoalsV2.Desktop.js.map +1 -1
- package/dist/components/GoogleAnalytics/GoogleAnalytics.js +1 -1
- package/dist/components/HasAccess/HasAccessV2.js +1 -1
- package/dist/components/HasAccess/useHasAccess.js +1 -1
- package/dist/components/HeaderCard.js +17 -13
- package/dist/components/HeaderCard.js.map +1 -1
- package/dist/components/IDUReport/IDUReportSubmissionInfo.js +23 -23
- package/dist/components/IDUReport/IDUReportSubmissionInfo.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/JSONArrayEditor/useParseCsv.d.ts +1 -1
- package/dist/components/JSONArrayEditor/useParseCsv.d.ts.map +1 -1
- package/dist/components/JSONArrayEditor/useParseCsv.js +9 -9
- package/dist/components/JSONArrayEditor/useParseCsv.js.map +1 -1
- package/dist/components/Markdown/MarkdownCollapse.js +7 -7
- package/dist/components/Markdown/MarkdownEditor.js +11 -11
- package/dist/components/Markdown/MarkdownGithub.js +1 -1
- package/dist/components/Markdown/MarkdownPopover.js +6 -6
- package/dist/components/Markdown/MarkdownPopover.js.map +1 -1
- package/dist/components/Markdown/MarkdownSynapse.d.ts.map +1 -1
- package/dist/components/Markdown/MarkdownSynapse.js +139 -135
- package/dist/components/Markdown/MarkdownSynapse.js.map +1 -1
- package/dist/components/Markdown/MarkdownUtils.d.ts +8 -0
- package/dist/components/Markdown/MarkdownUtils.d.ts.map +1 -1
- package/dist/components/Markdown/MarkdownUtils.js +139 -65
- package/dist/components/Markdown/MarkdownUtils.js.map +1 -1
- package/dist/components/Markdown/UserMentionModal.js +18 -18
- package/dist/components/Markdown/UserMentionModal.js.map +1 -1
- package/dist/components/Markdown/widget/MarkdownButton.js +3 -3
- package/dist/components/Markdown/widget/MarkdownButton.js.map +1 -1
- package/dist/components/MissingQueryResultsWarning/MissingQueryResultsWarning.d.ts.map +1 -1
- package/dist/components/MissingQueryResultsWarning/MissingQueryResultsWarning.js +9 -8
- package/dist/components/MissingQueryResultsWarning/MissingQueryResultsWarning.js.map +1 -1
- package/dist/components/Plot/SynapsePlot.css +1 -0
- package/dist/components/Plot/SynapsePlot.d.ts +2 -0
- package/dist/components/Plot/SynapsePlot.d.ts.map +1 -1
- package/dist/components/Plot/SynapsePlot.js +43 -39
- package/dist/components/Plot/SynapsePlot.js.map +1 -1
- package/dist/components/Plot/SynapsePlot.scss +8 -0
- package/dist/components/QueryVisualizationWrapper/QueryVisualizationWrapper.js +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 +137 -135
- package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js.map +1 -1
- package/dist/components/QueryWrapperPlotNav/QueryWrapperSynapsePlot.d.ts +1 -1
- package/dist/components/QueryWrapperPlotNav/QueryWrapperSynapsePlot.d.ts.map +1 -1
- package/dist/components/QueryWrapperPlotNav/QueryWrapperSynapsePlot.js.map +1 -1
- package/dist/components/Resources/Resources.Desktop.js +7 -7
- package/dist/components/Resources/Resources.Mobile.js +6 -6
- package/dist/components/StorybookComponentWrapper.js +6 -3
- package/dist/components/StorybookComponentWrapper.js.map +1 -1
- package/dist/components/SubsectionRowRenderer/SubsectionRowRenderer.js +3 -3
- package/dist/components/SustainabilityScorecard/SustainabilityScorecardSummary.js +10 -10
- 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/SynapseForm/WarningDialog.d.ts +1 -0
- package/dist/components/SynapseForm/WarningDialog.d.ts.map +1 -1
- package/dist/components/SynapseForm/WarningDialog.js +18 -16
- package/dist/components/SynapseForm/WarningDialog.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseHomepageNavBar.js +1 -1
- package/dist/components/SynapseNavDrawer/SynapseNavDrawer.js +25 -25
- package/dist/components/SynapseNavDrawer/SynapseNavDrawer.js.map +1 -1
- package/dist/components/SynapseSearchPageResults/HasAccessChip.js +1 -1
- package/dist/components/SynapseSearchPageResults/SearchPagePortalBanners.d.ts.map +1 -1
- package/dist/components/SynapseSearchPageResults/SearchPagePortalBanners.js +12 -13
- package/dist/components/SynapseSearchPageResults/SearchPagePortalBanners.js.map +1 -1
- package/dist/components/SynapseSearchPageResults/SynapseSearchResultsCard.js +5 -5
- package/dist/components/SynapseTable/ExpandableTableDataCell.d.ts.map +1 -1
- package/dist/components/SynapseTable/ExpandableTableDataCell.js +3 -1
- package/dist/components/SynapseTable/ExpandableTableDataCell.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/SynapseTable.js +4 -4
- package/dist/components/SynapseTable/SynapseTableCell/SynapseTableCell.d.ts.map +1 -1
- package/dist/components/SynapseTable/SynapseTableCell/SynapseTableCell.js +122 -122
- package/dist/components/SynapseTable/SynapseTableCell/SynapseTableCell.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/SynapseTable/datasets/DatasetItemsEditor.js +5 -5
- package/dist/components/TableColumnSchemaEditor/ColumnModelForm.js +1 -1
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditor.js +1 -1
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaForm.js +1 -1
- package/dist/components/TableFeedCards/TableFeedCards.js +9 -9
- package/dist/components/TermsAndConditions/TermsAndConditionsItem.js +10 -10
- 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/TimelinePlot/TimelinePlotSpeciesSelector.js +9 -9
- package/dist/components/UserSearchBox/UserSearchBox.d.ts +23 -0
- package/dist/components/UserSearchBox/UserSearchBox.d.ts.map +1 -0
- package/dist/components/UserSearchBox/UserSearchBox.js +146 -0
- package/dist/components/UserSearchBox/UserSearchBox.js.map +1 -0
- package/dist/components/WikiMarkdownEditorButton/WikiMarkdownEditorButton.js +13 -13
- package/dist/components/WizardChoiceButton/WizardChoiceButton.js +3 -3
- package/dist/components/dataaccess/AccessHistoryDashboard.js +5 -5
- package/dist/components/dataaccess/AccessHistoryDashboard.js.map +1 -1
- package/dist/components/dataaccess/AccessRequirementDashboard.js +4 -4
- package/dist/components/dataaccess/AccessRequirementDashboard.js.map +1 -1
- package/dist/components/dataaccess/AccessSubmissionDashboard.js +1 -1
- package/dist/components/dataaccess/AccessSubmissionDashboard.js.map +1 -1
- package/dist/components/dataaccess/SubmissionPage/SubmissionPage.js +5 -5
- package/dist/components/dataaccess/UseAccessRequirementTable.js +3 -3
- package/dist/components/dataaccess/UseAccessRequirementTable.js.map +1 -1
- package/dist/components/doi/CreateOrUpdateDoiModal.js +1 -1
- package/dist/components/download_list/AddToDownloadListConfirmationAlert/AddToDownloadListConfirmationAlert.js +10 -5
- 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/entity/metadata/EntityModal.js +1 -1
- package/dist/components/entity/metadata/MetadataTable.js +1 -1
- package/dist/components/entity/page/title_bar/EntityPageTitleBar.js +1 -1
- package/dist/components/entity/page/title_bar/EntityTitleBarVersionInfo.js +1 -1
- package/dist/components/entity/page/title_bar/TitleBarProperties.js +1 -1
- package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.d.ts.map +1 -1
- package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.js +27 -26
- package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.js.map +1 -1
- package/dist/components/index.js +125 -121
- package/dist/components/index.js.map +1 -1
- package/dist/components/layout/InfiniteTableLayout.js +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/styled/HoverPopover.css +1 -0
- package/dist/components/styled/HoverPopover.d.ts +28 -0
- package/dist/components/styled/HoverPopover.d.ts.map +1 -0
- package/dist/components/styled/HoverPopover.js +103 -0
- package/dist/components/styled/HoverPopover.js.map +1 -0
- package/dist/components/styled/HoverPopover.module.scss +9 -0
- package/dist/components/styled/HoverPopover.module.scss.js +10 -0
- package/dist/components/styled/HoverPopover.module.scss.js.map +1 -0
- package/dist/components/styled/index.d.ts +2 -0
- package/dist/components/styled/index.d.ts.map +1 -1
- package/dist/components/styled/index.js +11 -9
- package/dist/components/styled/index.js.map +1 -1
- package/dist/components/table/CsvPreview/CsvPreview.js +10 -5
- package/dist/components/table/CsvPreview/CsvPreview.js.map +1 -1
- package/dist/components/table/CsvPreview/CsvPreviewDialog.js +10 -5
- package/dist/components/table/CsvPreview/CsvPreviewDialog.js.map +1 -1
- package/dist/components/widgets/Range.js +1 -1
- package/dist/components/widgets/facet-nav/FacetNavPanel.d.ts.map +1 -1
- package/dist/components/widgets/facet-nav/FacetNavPanel.js +35 -32
- package/dist/components/widgets/facet-nav/FacetNavPanel.js.map +1 -1
- package/dist/components/widgets/facet-nav/PlotsContainer.d.ts +1 -1
- package/dist/components/widgets/facet-nav/PlotsContainer.d.ts.map +1 -1
- package/dist/components/widgets/facet-nav/PlotsContainer.js +69 -68
- package/dist/components/widgets/facet-nav/PlotsContainer.js.map +1 -1
- package/dist/components/widgets/facet-nav/useFacetPlots.d.ts.map +1 -1
- package/dist/components/widgets/facet-nav/useFacetPlots.js +24 -21
- package/dist/components/widgets/facet-nav/useFacetPlots.js.map +1 -1
- package/dist/components/widgets/query-filter/FacetFilterControls.js +3 -3
- package/dist/features/curator/GridPage/GridPage.js +10 -5
- package/dist/features/curator/GridPage/GridPage.js.map +1 -1
- package/dist/features/curator/GridPage/components/GridPageTitle.js +10 -5
- package/dist/features/curator/GridPage/components/GridPageTitle.js.map +1 -1
- package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.js +1 -1
- package/dist/index.js +155 -151
- package/dist/index.js.map +1 -1
- package/dist/mocks/msw/handlers/accessRequirementHandlers.js +5 -5
- package/dist/mocks/msw/handlers/projectStorageHandlers.js +5 -5
- package/dist/mocks/msw/handlers/wikiHandlers.js +1 -1
- package/dist/mocks/msw/handlers.d.ts.map +1 -1
- package/dist/mocks/msw/handlers.js +67 -59
- package/dist/mocks/msw/handlers.js.map +1 -1
- package/dist/style/base/_core.scss +0 -1
- package/dist/style/components/_all.scss +0 -2
- package/dist/style/components/_cards.scss +22 -0
- package/dist/style/components/_download-list-v2.scss +1 -1
- package/dist/style/components/_entity-badge.scss +0 -2
- package/dist/style/components/_expandable_table_data.scss +3 -3
- package/dist/style/components/_query-wrapper-plot-nav.scss +13 -0
- package/dist/style/components/facet_nav/_facet-nav-panel.scss +3 -0
- package/dist/style/components/facet_nav/_facet-nav.scss +4 -0
- package/dist/style/main.css +1 -1
- package/dist/synapse-client/SynapseClient.js +118 -118
- package/dist/synapse-client/SynapseClient.js.map +1 -1
- package/dist/synapse-queries/auth/useOIDC.js +1 -1
- package/dist/synapse-queries/auth/useTwoFactorEnrollment.js +1 -1
- package/dist/synapse-queries/entity/index.js +6 -6
- package/dist/synapse-queries/grid/useEstablishWebsocketConnection.js +1 -1
- package/dist/synapse-queries/index.js +1 -1
- package/dist/synapse-queries/user/usePersonalAccessToken.js +1 -1
- package/dist/testutils/vitest.setup.js +10 -11
- package/dist/testutils/vitest.setup.js.map +1 -1
- package/dist/theme/DefaultTheme.js +1 -1
- package/dist/theme/ThemeProvider.d.ts +2 -1
- package/dist/theme/ThemeProvider.d.ts.map +1 -1
- package/dist/theme/ThemeProvider.js +11 -10
- package/dist/theme/ThemeProvider.js.map +1 -1
- package/dist/theme/index.js +1 -1
- package/dist/theme/mergeTheme.js +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/utils/AppUtils/AppUtils.js +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/SanitizeHtmlUtils.d.ts.map +1 -1
- package/dist/utils/functions/SanitizeHtmlUtils.js +34 -40
- package/dist/utils/functions/SanitizeHtmlUtils.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/dist/utils/functions/deepLinkingUtils.js +10 -10
- package/dist/utils/functions/deepLinkingUtils.js.map +1 -1
- package/dist/utils/hooks/index.js +6 -6
- package/dist/utils/hooks/useDetectSSOCode.js +3 -3
- package/dist/utils/hooks/useGetEntityMetadata.js +1 -1
- package/dist/utils/hooks/useNativeSearchParams.d.ts.map +1 -1
- package/dist/utils/hooks/useNativeSearchParams.js +1 -1
- package/dist/utils/hooks/useNativeSearchParams.js.map +1 -1
- package/dist/utils/hooks/useOneSageURL.d.ts.map +1 -1
- package/dist/utils/hooks/useOneSageURL.js +15 -15
- package/dist/utils/hooks/useOneSageURL.js.map +1 -1
- package/dist/utils/hooks/useSourceAppConfigs.d.ts +1 -0
- package/dist/utils/hooks/useSourceAppConfigs.d.ts.map +1 -1
- package/dist/utils/hooks/useSourceAppConfigs.js +79 -77
- package/dist/utils/hooks/useSourceAppConfigs.js.map +1 -1
- package/dist/utils/index.js +4 -4
- package/package.json +15 -16
- package/dist/_virtual/index.js +0 -6
- package/dist/_virtual/index.js.map +0 -1
- package/dist/_virtual/index2.js +0 -5
- package/dist/_virtual/index2.js.map +0 -1
- package/dist/_virtual/index3.js +0 -5
- package/dist/_virtual/index3.js.map +0 -1
- package/dist/_virtual/index4.js +0 -5
- package/dist/_virtual/index4.js.map +0 -1
- package/dist/_virtual/index5.js +0 -5
- package/dist/_virtual/index5.js.map +0 -1
- 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/components/UserSearchBox/UserSearchBoxV2.d.ts +0 -21
- package/dist/components/UserSearchBox/UserSearchBoxV2.d.ts.map +0 -1
- package/dist/components/UserSearchBox/UserSearchBoxV2.js +0 -144
- package/dist/components/UserSearchBox/UserSearchBoxV2.js.map +0 -1
- package/dist/node_modules/.pnpm/base64-js@1.5.1/node_modules/base64-js/index.js +0 -53
- package/dist/node_modules/.pnpm/base64-js@1.5.1/node_modules/base64-js/index.js.map +0 -1
- package/dist/node_modules/.pnpm/buffer@6.0.3/node_modules/buffer/index.js +0 -948
- package/dist/node_modules/.pnpm/buffer@6.0.3/node_modules/buffer/index.js.map +0 -1
- package/dist/node_modules/.pnpm/ieee754@1.2.1/node_modules/ieee754/index.js +0 -30
- package/dist/node_modules/.pnpm/ieee754@1.2.1/node_modules/ieee754/index.js.map +0 -1
- package/dist/node_modules/.pnpm/vite-plugin-node-polyfills@0.17.0_rollup@4.55.1_vite@7.3.1_@types_node@22.19.13_sass@1._2da6e8f78437c36f3eb7db51bdd4d89e/node_modules/vite-plugin-node-polyfills/shims/dist/index.js +0 -15
- package/dist/node_modules/.pnpm/vite-plugin-node-polyfills@0.17.0_rollup@4.55.1_vite@7.3.1_@types_node@22.19.13_sass@1._2da6e8f78437c36f3eb7db51bdd4d89e/node_modules/vite-plugin-node-polyfills/shims/dist/index.js.map +0 -1
- package/dist/style/components/_download-cart-page.scss +0 -204
- package/dist/style/components/_user-search-box.scss +0 -30
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryWrapperPlotNav.js","sources":["../../../src/components/QueryWrapperPlotNav/QueryWrapperPlotNav.tsx"],"sourcesContent":["import { QueryOrDeprecatedSearchParams } from '@/components/CardContainerLogic/CardContainerLogic'\nimport AddToDownloadListConfirmationAlert from '@/components/download_list/AddToDownloadListConfirmationAlert/AddToDownloadListConfirmationAlert'\nimport { useGetAddToDownloadListRequestForCurrentQuery } from '@/components/QueryWrapper/useGetAddToDownloadListRequestForCurrentQuery'\nimport { NoContentPlaceholderType } from '@/components/SynapseTable/NoContentPlaceholderType'\nimport { useGetEntity } from '@/synapse-queries'\nimport { SynapseConstants } from '@/utils'\nimport {\n getAdditionalFilters,\n parseEntityIdAndVersionFromSqlStatement,\n} from '@/utils/functions'\nimport { isTable } from '@/utils/functions/EntityTypeUtils'\nimport { DEFAULT_PAGE_SIZE } from '@/utils/SynapseConstants'\nimport { Box } from '@mui/material'\nimport { Query, QueryBundleRequest } from '@sage-bionetworks/synapse-types'\nimport { useQuery } from '@tanstack/react-query'\nimport { useAtomValue } from 'jotai'\nimport { useMemo, useState } from 'react'\nimport { CardConfiguration } from '../CardContainer/CardConfiguration'\nimport { SynapseErrorBoundary } from '../error'\nimport FullTextSearch from '../FullTextSearch/FullTextSearch'\nimport ModalDownload from '../ModalDownload/ModalDownload'\nimport { QueryWrapperPlotNavCustomPlotParams } from '../Plot/SynapsePlot'\nimport { QueryContextType, useQueryContext } from '../QueryContext'\nimport {\n QueryVisualizationContextConsumer,\n QueryVisualizationWrapper,\n QueryVisualizationWrapperProps,\n} from '../QueryVisualizationWrapper'\nimport { QueryWrapper, QueryWrapperProps } from '../QueryWrapper'\nimport { isRowSelectionVisibleAtom } from '../QueryWrapper/TableRowSelectionState'\nimport { QueryWrapperErrorBoundary } from '../QueryWrapperErrorBoundary'\nimport { SynapseTableConfiguration } from '../SynapseTable'\nimport SearchV2, { SearchV2Props } from '../SynapseTable/SearchV2'\nimport SqlEditor from '../SynapseTable/SqlEditor'\nimport TopLevelControls, {\n TopLevelControlsProps,\n CustomControl,\n} from '../SynapseTable/TopLevelControls/TopLevelControls'\nimport { CustomControls } from '../SynapseTable/CustomControls/CustomControls'\nimport TotalQueryResults from '../TotalQueryResults'\nimport PlotsContainer, {\n PlotsContainerProps,\n} from '../widgets/facet-nav/PlotsContainer'\nimport FacetFilterControls, {\n FacetFilterControlsProps,\n} from '../widgets/query-filter/FacetFilterControls'\nimport { QueryWrapperSynapsePlotProps } from './QueryWrapperSynapsePlot'\nimport { RowSetView } from './RowSetView'\n\nexport const QUERY_FILTERS_EXPANDED_CSS: string = 'isShowingFacetFilters'\nexport const QUERY_FILTERS_COLLAPSED_CSS: string = 'isHidingFacetFilters'\n\nexport const HAS_SELECTED_ROWS_CSS: string = 'hasSelectedRows'\n\ntype QueryWrapperPlotNavOwnProps = {\n /** Whether the displayed results should be paginated or infinite. Default for cards is true, default for table is false */\n isInfinite?: boolean\n /** Set to true when you want the query to be saved in the URL search parameters. If you are controlling the view (such as in PortalSearch), you'll want to set this to false */\n shouldDeepLink?: boolean\n /** If onQueryChange is set, the callback will be invoked when the Query changes */\n onQueryChange?: (newQueryJson: string) => void\n /** If onQueryResultBundleChange is set, the callback will be invoked when the QueryResultBundle changes */\n onQueryResultBundleChange?: (newQueryResultBundleJson: string) => void\n /** If initQueryJson is set, it will be the Query used in the initial QueryBundleRequest */\n initQueryJson?: string\n tableConfiguration?: SynapseTableConfiguration\n cardConfiguration?: CardConfiguration\n searchConfiguration?: Omit<\n SearchV2Props,\n 'queryContext' | 'queryVisualizationContext'\n >\n facetsToPlot?: string[]\n availableFacets?: FacetFilterControlsProps['availableFacets']\n initialExpandedFacetControls?: FacetFilterControlsProps['initialExpandedFacetControls']\n customPlots?: QueryWrapperSynapsePlotProps[]\n customControls?: CustomControl[]\n defaultColumn?: string\n defaultShowSearchBox?: boolean\n lockedColumn?: QueryWrapperProps['lockedColumn']\n onViewSharingSettingsClicked?: (benefactorId: string) => void\n initialLimit?: number\n} & Omit<TopLevelControlsProps, 'entityId'> &\n Pick<QueryWrapperPlotNavCustomPlotParams, 'onCustomPlotClick'> &\n Pick<\n QueryWrapperProps,\n | 'isRowSelectionVisible'\n | 'rowSelectionPrimaryKey'\n | 'isRowSelectionUIFloating'\n | 'fileIdColumnName'\n | 'fileNameColumnName'\n | 'fileVersionColumnName'\n > &\n Pick<\n QueryVisualizationWrapperProps,\n | 'defaultShowPlots'\n | 'visibleColumnCount'\n | 'columnAliases'\n | 'rgbIndex'\n | 'showLastUpdatedOn'\n | 'noContentPlaceholderType'\n | 'unitDescription'\n | 'additionalFiltersSessionStorageKey'\n | 'helpConfiguration'\n | 'hideCopyToClipboard'\n | 'hideSearchBarControl'\n | 'hideVisualizationsControl'\n | 'enabledExternalAnalysisPlatforms'\n > &\n Pick<QueryContextType, 'combineRangeFacetConfig'>\n\nexport type QueryWrapperPlotNavProps = QueryOrDeprecatedSearchParams &\n PlotsContainerProps &\n QueryWrapperPlotNavOwnProps\n\ntype QueryWrapperPlotNavContentsProps = Pick<\n QueryWrapperPlotNavProps,\n | 'tableConfiguration'\n | 'name'\n | 'cardConfiguration'\n | 'facetsToPlot'\n | 'availableFacets'\n | 'initialExpandedFacetControls'\n | 'hideDownload'\n | 'hideQueryCount'\n | 'hideSqlEditorControl'\n | 'hideVisualizationsControl'\n | 'searchConfiguration'\n | 'enabledExternalAnalysisPlatforms'\n | 'cavaticaConnectAccountURL'\n | 'customControls'\n | 'customPlots'\n | 'fileIdColumnName'\n | 'fileNameColumnName'\n | 'fileVersionColumnName'\n | 'initialLimit'\n | 'initialPlotType'\n> & {\n isFullTextSearchEnabled: boolean\n remount: () => void\n}\n\nfunction QueryWrapperPlotNavContents(props: QueryWrapperPlotNavContentsProps) {\n const {\n tableConfiguration,\n name,\n cardConfiguration,\n facetsToPlot,\n availableFacets,\n initialExpandedFacetControls,\n hideDownload,\n hideQueryCount,\n hideSqlEditorControl,\n hideVisualizationsControl,\n searchConfiguration,\n cavaticaConnectAccountURL,\n customControls,\n remount,\n isFullTextSearchEnabled,\n customPlots,\n initialLimit,\n initialPlotType,\n } = props\n const queryContext = useQueryContext()\n const [showExportMetadata, setShowExportMetadata] = useState(false)\n const { hasFacetedSelectColumn: isFaceted, queryMetadataQueryOptions } =\n queryContext\n const { isLoading: isLoadingQueryMetadata } = useQuery(\n queryMetadataQueryOptions,\n )\n\n const isRowSelectionVisible = useAtomValue(isRowSelectionVisibleAtom)\n\n const currentQueryRequest = queryContext.currentQueryRequest\n\n const hasFacetsOrFilters =\n (currentQueryRequest?.query.selectedFacets !== undefined &&\n currentQueryRequest.query.selectedFacets.length > 0) ||\n (currentQueryRequest?.query.additionalFilters !== undefined &&\n currentQueryRequest?.query.additionalFilters.length > 0)\n\n const addToDownloadListRequest =\n useGetAddToDownloadListRequestForCurrentQuery()\n\n return (\n <QueryVisualizationContextConsumer>\n {queryVisualizationContext => {\n if (queryVisualizationContext === undefined) {\n throw new Error(\n 'No queryVisualizationContext found when using QueryVisualizationContextConsumer',\n )\n }\n\n return (\n <Box\n className={`QueryWrapperPlotNav ${\n queryVisualizationContext.showFacetFilter\n ? QUERY_FILTERS_EXPANDED_CSS\n : QUERY_FILTERS_COLLAPSED_CSS\n } ${isRowSelectionVisible ? HAS_SELECTED_ROWS_CSS : ''}`}\n sx={{\n '*': {\n cursor: isLoadingQueryMetadata ? 'wait' : undefined,\n },\n }}\n >\n <QueryWrapperErrorBoundary>\n {isFullTextSearchEnabled ? (\n <FullTextSearch ftsConfig={searchConfiguration?.ftsConfig} />\n ) : (\n <SearchV2\n {...searchConfiguration}\n queryContext={queryContext}\n queryVisualizationContext={queryVisualizationContext}\n />\n )}\n <SqlEditor />\n {queryVisualizationContext.showDownloadConfirmation && (\n <AddToDownloadListConfirmationAlert\n addToDownloadListRequest={addToDownloadListRequest}\n onClose={() =>\n queryVisualizationContext.setShowDownloadConfirmation(false)\n }\n />\n )}\n <SynapseErrorBoundary>\n <TopLevelControls\n showColumnSelection={tableConfiguration !== undefined}\n name={name}\n hideDownload={hideDownload}\n hideQueryCount={hideQueryCount}\n hideFacetFilterControl={!isFaceted}\n hideVisualizationsControl={\n !isFaceted || hideVisualizationsControl\n }\n hideSqlEditorControl={hideSqlEditorControl}\n cavaticaConnectAccountURL={cavaticaConnectAccountURL}\n remount={remount}\n customControls={customControls}\n />\n </SynapseErrorBoundary>\n {isFaceted && (\n <>\n <FacetFilterControls\n availableFacets={availableFacets}\n initialExpandedFacetControls={initialExpandedFacetControls}\n />\n </>\n )}\n <TotalQueryResults\n frontText={''}\n endText={hasFacetsOrFilters ? 'filtered by' : ''}\n hideIfUnfiltered={true}\n />\n <CustomControls\n customControls={customControls}\n remount={remount}\n />\n <PlotsContainer\n facetsToPlot={facetsToPlot}\n customPlots={customPlots}\n initialPlotType={initialPlotType}\n />\n <RowSetView\n tableConfiguration={tableConfiguration}\n hideDownload={hideDownload}\n cardConfiguration={cardConfiguration}\n initialLimit={initialLimit}\n />\n {showExportMetadata && (\n <ModalDownload\n getLastQueryRequest={queryContext?.getCurrentQueryRequest}\n onClose={() => setShowExportMetadata(false)}\n />\n )}\n </QueryWrapperErrorBoundary>\n </Box>\n )\n }}\n </QueryVisualizationContextConsumer>\n )\n}\n\nexport default function QueryWrapperPlotNav(props: QueryWrapperPlotNavProps) {\n const {\n sql: deprecatedSql,\n tableConfiguration,\n isInfinite = !tableConfiguration,\n limit = DEFAULT_PAGE_SIZE,\n showLastUpdatedOn,\n unitDescription,\n additionalFiltersSessionStorageKey,\n helpConfiguration,\n customPlots,\n enabledExternalAnalysisPlatforms,\n } = props\n\n const sql = props.query?.sql ?? deprecatedSql ?? ''\n const { entityId, versionNumber } =\n parseEntityIdAndVersionFromSqlStatement(sql)\n\n const query: Query = useMemo(() => {\n if (props.query) {\n // use query if set\n return props.query\n } else if (props.initQueryJson) {\n // Otherwise use initQueryJson\n return JSON.parse(props.initQueryJson) as Query\n } else {\n // use the deprecated sql, searchParams, and sqlOperator\n const additionalFilters = getAdditionalFilters(\n props.searchParams,\n props.sqlOperator,\n additionalFiltersSessionStorageKey,\n )\n return {\n sql: deprecatedSql!,\n additionalFilters,\n limit: limit,\n offset: 0,\n }\n }\n }, [\n props.query,\n props.initQueryJson,\n props.searchParams,\n props.sqlOperator,\n additionalFiltersSessionStorageKey,\n deprecatedSql,\n limit,\n ])\n\n const [componentKey, setComponentKey] = useState(1)\n const remount = () => {\n setComponentKey(componentKey + 1)\n }\n\n const { data: entity } = useGetEntity(entityId, versionNumber)\n const initQueryRequest: QueryBundleRequest = {\n entityId: entityId ?? '',\n concreteType: 'org.sagebionetworks.repo.model.table.QueryBundleRequest',\n partMask:\n SynapseConstants.BUNDLE_MASK_QUERY_RESULTS |\n SynapseConstants.BUNDLE_MASK_QUERY_COUNT |\n SynapseConstants.BUNDLE_MASK_QUERY_SELECT_COLUMNS |\n SynapseConstants.BUNDLE_MASK_QUERY_MAX_ROWS_PER_PAGE |\n SynapseConstants.BUNDLE_MASK_QUERY_COLUMN_MODELS |\n SynapseConstants.BUNDLE_MASK_QUERY_FACETS |\n SynapseConstants.BUNDLE_MASK_SUM_FILES_SIZE_BYTES |\n SynapseConstants.BUNDLE_MASK_LAST_UPDATED_ON,\n query,\n }\n const isFullTextSearchEnabled =\n (entity && isTable(entity) && entity.isSearchEnabled) ?? false\n\n /**\n * Fully re-render the uncontrolled QueryWrapper component when the initial query changes. This eliminates a class of\n * bugs where our 'derived' state (the current query), which should be reset, is out of sync with props.\n *\n * See https://legacy.reactjs.org/blog/2018/06/07/you-probably-dont-need-derived-state.html#recommendation-fully-uncontrolled-component-with-a-key\n */\n const queryWrapperKey = `${JSON.stringify(initQueryRequest)}-${componentKey}`\n\n return (\n <QueryWrapper\n {...props}\n initQueryRequest={initQueryRequest}\n key={queryWrapperKey}\n isInfinite={isInfinite}\n >\n <QueryVisualizationWrapper\n unitDescription={unitDescription}\n rgbIndex={props.rgbIndex}\n columnAliases={props.columnAliases}\n helpConfiguration={helpConfiguration}\n visibleColumnCount={props.visibleColumnCount}\n defaultShowPlots={props.defaultShowPlots}\n hideCopyToClipboard={props.hideCopyToClipboard}\n defaultShowSearchBar={\n (props.defaultShowSearchBox || isFullTextSearchEnabled) &&\n !props.hideSearchBarControl\n }\n hideSearchBarControl={props.hideSearchBarControl}\n showLastUpdatedOn={showLastUpdatedOn}\n noContentPlaceholderType={NoContentPlaceholderType.INTERACTIVE}\n hasCustomPlots={Array.isArray(customPlots) && customPlots.length > 0}\n enabledExternalAnalysisPlatforms={enabledExternalAnalysisPlatforms}\n >\n <QueryWrapperPlotNavContents\n {...props}\n isFullTextSearchEnabled={isFullTextSearchEnabled}\n remount={remount}\n />\n </QueryVisualizationWrapper>\n </QueryWrapper>\n )\n}\n"],"names":["QUERY_FILTERS_EXPANDED_CSS","QUERY_FILTERS_COLLAPSED_CSS","HAS_SELECTED_ROWS_CSS","QueryWrapperPlotNavContents","props","tableConfiguration","name","cardConfiguration","facetsToPlot","availableFacets","initialExpandedFacetControls","hideDownload","hideQueryCount","hideSqlEditorControl","hideVisualizationsControl","searchConfiguration","cavaticaConnectAccountURL","customControls","remount","isFullTextSearchEnabled","customPlots","initialLimit","initialPlotType","queryContext","useQueryContext","showExportMetadata","setShowExportMetadata","useState","isFaceted","queryMetadataQueryOptions","isLoadingQueryMetadata","useQuery","isRowSelectionVisible","useAtomValue","isRowSelectionVisibleAtom","currentQueryRequest","hasFacetsOrFilters","addToDownloadListRequest","useGetAddToDownloadListRequestForCurrentQuery","jsx","QueryVisualizationContextConsumer","queryVisualizationContext","Box","QueryWrapperErrorBoundary","FullTextSearch","SearchV2","SqlEditor","AddToDownloadListConfirmationAlert","SynapseErrorBoundary","TopLevelControls","Fragment","FacetFilterControls","TotalQueryResults","CustomControls","PlotsContainer","RowSetView","ModalDownload","QueryWrapperPlotNav","deprecatedSql","isInfinite","limit","DEFAULT_PAGE_SIZE","showLastUpdatedOn","unitDescription","additionalFiltersSessionStorageKey","helpConfiguration","enabledExternalAnalysisPlatforms","sql","entityId","versionNumber","parseEntityIdAndVersionFromSqlStatement","query","useMemo","additionalFilters","getAdditionalFilters","componentKey","setComponentKey","entity","useGetEntity","initQueryRequest","SynapseConstants.BUNDLE_MASK_QUERY_RESULTS","SynapseConstants.BUNDLE_MASK_QUERY_COUNT","SynapseConstants.BUNDLE_MASK_QUERY_SELECT_COLUMNS","SynapseConstants.BUNDLE_MASK_QUERY_MAX_ROWS_PER_PAGE","SynapseConstants.BUNDLE_MASK_QUERY_COLUMN_MODELS","SynapseConstants.BUNDLE_MASK_QUERY_FACETS","SynapseConstants.BUNDLE_MASK_SUM_FILES_SIZE_BYTES","SynapseConstants.BUNDLE_MASK_LAST_UPDATED_ON","isTable","queryWrapperKey","createElement","QueryWrapper","QueryVisualizationWrapper","NoContentPlaceholderType"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"QueryWrapperPlotNav.js","sources":["../../../src/components/QueryWrapperPlotNav/QueryWrapperPlotNav.tsx"],"sourcesContent":["import { QueryOrDeprecatedSearchParams } from '@/components/CardContainerLogic/CardContainerLogic'\nimport AddToDownloadListConfirmationAlert from '@/components/download_list/AddToDownloadListConfirmationAlert/AddToDownloadListConfirmationAlert'\nimport { useGetAddToDownloadListRequestForCurrentQuery } from '@/components/QueryWrapper/useGetAddToDownloadListRequestForCurrentQuery'\nimport { NoContentPlaceholderType } from '@/components/SynapseTable/NoContentPlaceholderType'\nimport { useGetEntity } from '@/synapse-queries'\nimport { SynapseConstants } from '@/utils'\nimport {\n getAdditionalFilters,\n parseEntityIdAndVersionFromSqlStatement,\n} from '@/utils/functions'\nimport { isTable } from '@/utils/functions/EntityTypeUtils'\nimport { DEFAULT_PAGE_SIZE } from '@/utils/SynapseConstants'\nimport { Box } from '@mui/material'\nimport { Query, QueryBundleRequest } from '@sage-bionetworks/synapse-types'\nimport { useQuery } from '@tanstack/react-query'\nimport { useAtomValue } from 'jotai'\nimport { Suspense, useMemo, useState } from 'react'\nimport { CardConfiguration } from '../CardContainer/CardConfiguration'\nimport { SynapseErrorBoundary } from '../error'\nimport FullTextSearch from '../FullTextSearch/FullTextSearch'\nimport ModalDownload from '../ModalDownload/ModalDownload'\nimport { QueryWrapperPlotNavCustomPlotParams } from '../Plot/SynapsePlot'\nimport { QueryContextType, useQueryContext } from '../QueryContext'\nimport {\n QueryVisualizationContextConsumer,\n QueryVisualizationWrapper,\n QueryVisualizationWrapperProps,\n} from '../QueryVisualizationWrapper'\nimport { QueryWrapper, QueryWrapperProps } from '../QueryWrapper'\nimport { isRowSelectionVisibleAtom } from '../QueryWrapper/TableRowSelectionState'\nimport { QueryWrapperErrorBoundary } from '../QueryWrapperErrorBoundary'\nimport { SynapseTableConfiguration } from '../SynapseTable'\nimport SearchV2, { SearchV2Props } from '../SynapseTable/SearchV2'\nimport SqlEditor from '../SynapseTable/SqlEditor'\nimport TopLevelControls, {\n TopLevelControlsProps,\n CustomControl,\n} from '../SynapseTable/TopLevelControls/TopLevelControls'\nimport { CustomControls } from '../SynapseTable/CustomControls/CustomControls'\nimport TotalQueryResults from '../TotalQueryResults'\nimport PlotsContainer, {\n PlotsContainerProps,\n} from '../widgets/facet-nav/PlotsContainer'\nimport FacetFilterControls, {\n FacetFilterControlsProps,\n} from '../widgets/query-filter/FacetFilterControls'\nimport { QueryWrapperSynapsePlotProps } from './QueryWrapperSynapsePlot'\nimport { RowSetView } from './RowSetView'\nimport QueryWrapperLoadingScreen from '../QueryWrapper/QueryWrapperLoadingScreen'\n\nexport const QUERY_FILTERS_EXPANDED_CSS: string = 'isShowingFacetFilters'\nexport const QUERY_FILTERS_COLLAPSED_CSS: string = 'isHidingFacetFilters'\n\nexport const HAS_SELECTED_ROWS_CSS: string = 'hasSelectedRows'\n\ntype QueryWrapperPlotNavOwnProps = {\n /** Whether the displayed results should be paginated or infinite. Default for cards is true, default for table is false */\n isInfinite?: boolean\n /** Set to true when you want the query to be saved in the URL search parameters. If you are controlling the view (such as in PortalSearch), you'll want to set this to false */\n shouldDeepLink?: boolean\n /** If onQueryChange is set, the callback will be invoked when the Query changes */\n onQueryChange?: (newQueryJson: string) => void\n /** If onQueryResultBundleChange is set, the callback will be invoked when the QueryResultBundle changes */\n onQueryResultBundleChange?: (newQueryResultBundleJson: string) => void\n /** If initQueryJson is set, it will be the Query used in the initial QueryBundleRequest */\n initQueryJson?: string\n tableConfiguration?: SynapseTableConfiguration\n cardConfiguration?: CardConfiguration\n searchConfiguration?: Omit<\n SearchV2Props,\n 'queryContext' | 'queryVisualizationContext'\n >\n facetsToPlot?: string[]\n availableFacets?: FacetFilterControlsProps['availableFacets']\n initialExpandedFacetControls?: FacetFilterControlsProps['initialExpandedFacetControls']\n customPlots?: QueryWrapperSynapsePlotProps[]\n customControls?: CustomControl[]\n defaultColumn?: string\n defaultShowSearchBox?: boolean\n lockedColumn?: QueryWrapperProps['lockedColumn']\n onViewSharingSettingsClicked?: (benefactorId: string) => void\n initialLimit?: number\n hideTopLevelControls?: boolean\n} & Omit<TopLevelControlsProps, 'entityId'> &\n Pick<QueryWrapperPlotNavCustomPlotParams, 'onCustomPlotClick'> &\n Pick<\n QueryWrapperProps,\n | 'isRowSelectionVisible'\n | 'rowSelectionPrimaryKey'\n | 'isRowSelectionUIFloating'\n | 'fileIdColumnName'\n | 'fileNameColumnName'\n | 'fileVersionColumnName'\n > &\n Pick<\n QueryVisualizationWrapperProps,\n | 'defaultShowPlots'\n | 'visibleColumnCount'\n | 'columnAliases'\n | 'rgbIndex'\n | 'showLastUpdatedOn'\n | 'noContentPlaceholderType'\n | 'unitDescription'\n | 'additionalFiltersSessionStorageKey'\n | 'helpConfiguration'\n | 'hideCopyToClipboard'\n | 'hideSearchBarControl'\n | 'hideVisualizationsControl'\n | 'enabledExternalAnalysisPlatforms'\n > &\n Pick<QueryContextType, 'combineRangeFacetConfig'>\n\nexport type QueryWrapperPlotNavProps = QueryOrDeprecatedSearchParams &\n PlotsContainerProps &\n QueryWrapperPlotNavOwnProps\n\ntype QueryWrapperPlotNavContentsProps = Pick<\n QueryWrapperPlotNavProps,\n | 'tableConfiguration'\n | 'name'\n | 'cardConfiguration'\n | 'facetsToPlot'\n | 'availableFacets'\n | 'initialExpandedFacetControls'\n | 'hideDownload'\n | 'hideQueryCount'\n | 'hideSqlEditorControl'\n | 'hideVisualizationsControl'\n | 'searchConfiguration'\n | 'enabledExternalAnalysisPlatforms'\n | 'cavaticaConnectAccountURL'\n | 'customControls'\n | 'customPlots'\n | 'fileIdColumnName'\n | 'fileNameColumnName'\n | 'fileVersionColumnName'\n | 'initialLimit'\n | 'initialPlotTypeByFacetColumnName'\n | 'hideTopLevelControls'\n> & {\n isFullTextSearchEnabled: boolean\n remount: () => void\n}\n\nfunction QueryWrapperPlotNavContents(props: QueryWrapperPlotNavContentsProps) {\n const {\n tableConfiguration,\n name,\n cardConfiguration,\n facetsToPlot,\n availableFacets,\n initialExpandedFacetControls,\n hideDownload,\n hideQueryCount,\n hideSqlEditorControl,\n hideVisualizationsControl,\n searchConfiguration,\n cavaticaConnectAccountURL,\n customControls,\n remount,\n isFullTextSearchEnabled,\n customPlots,\n initialLimit,\n initialPlotTypeByFacetColumnName,\n hideTopLevelControls,\n } = props\n const queryContext = useQueryContext()\n const [showExportMetadata, setShowExportMetadata] = useState(false)\n const { hasFacetedSelectColumn: isFaceted, queryMetadataQueryOptions } =\n queryContext\n const { isLoading: isLoadingQueryMetadata } = useQuery(\n queryMetadataQueryOptions,\n )\n\n const isRowSelectionVisible = useAtomValue(isRowSelectionVisibleAtom)\n\n const currentQueryRequest = queryContext.currentQueryRequest\n\n const hasFacetsOrFilters =\n (currentQueryRequest?.query.selectedFacets !== undefined &&\n currentQueryRequest.query.selectedFacets.length > 0) ||\n (currentQueryRequest?.query.additionalFilters !== undefined &&\n currentQueryRequest?.query.additionalFilters.length > 0)\n\n const addToDownloadListRequest =\n useGetAddToDownloadListRequestForCurrentQuery()\n\n return (\n <QueryVisualizationContextConsumer>\n {queryVisualizationContext => {\n if (queryVisualizationContext === undefined) {\n throw new Error(\n 'No queryVisualizationContext found when using QueryVisualizationContextConsumer',\n )\n }\n\n return (\n <Box\n className={`QueryWrapperPlotNav ${\n queryVisualizationContext.showFacetFilter\n ? QUERY_FILTERS_EXPANDED_CSS\n : QUERY_FILTERS_COLLAPSED_CSS\n } ${isRowSelectionVisible ? HAS_SELECTED_ROWS_CSS : ''} ${\n hideTopLevelControls ? 'isHidingTopLevelControls' : ''\n }`}\n sx={{\n '*': {\n cursor: isLoadingQueryMetadata ? 'wait' : undefined,\n },\n }}\n >\n <QueryWrapperErrorBoundary>\n {isFullTextSearchEnabled ? (\n <FullTextSearch ftsConfig={searchConfiguration?.ftsConfig} />\n ) : (\n <SearchV2\n {...searchConfiguration}\n queryContext={queryContext}\n queryVisualizationContext={queryVisualizationContext}\n />\n )}\n <SqlEditor />\n {queryVisualizationContext.showDownloadConfirmation && (\n <AddToDownloadListConfirmationAlert\n addToDownloadListRequest={addToDownloadListRequest}\n onClose={() =>\n queryVisualizationContext.setShowDownloadConfirmation(false)\n }\n />\n )}\n {!hideTopLevelControls && (\n <SynapseErrorBoundary>\n <TopLevelControls\n showColumnSelection={tableConfiguration !== undefined}\n name={name}\n hideDownload={hideDownload}\n hideQueryCount={hideQueryCount}\n hideFacetFilterControl={!isFaceted}\n hideVisualizationsControl={\n !isFaceted || hideVisualizationsControl\n }\n hideSqlEditorControl={hideSqlEditorControl}\n cavaticaConnectAccountURL={cavaticaConnectAccountURL}\n remount={remount}\n customControls={customControls}\n />\n </SynapseErrorBoundary>\n )}\n {isFaceted && (\n <>\n <FacetFilterControls\n availableFacets={availableFacets}\n initialExpandedFacetControls={initialExpandedFacetControls}\n />\n </>\n )}\n <TotalQueryResults\n frontText={''}\n endText={hasFacetsOrFilters ? 'filtered by' : ''}\n hideIfUnfiltered={true}\n />\n <CustomControls\n customControls={customControls}\n remount={remount}\n />\n <PlotsContainer\n facetsToPlot={facetsToPlot}\n customPlots={customPlots}\n initialPlotTypeByFacetColumnName={\n initialPlotTypeByFacetColumnName\n }\n />\n <RowSetView\n tableConfiguration={tableConfiguration}\n hideDownload={hideDownload}\n cardConfiguration={cardConfiguration}\n initialLimit={initialLimit}\n />\n {showExportMetadata && (\n <ModalDownload\n getLastQueryRequest={queryContext?.getCurrentQueryRequest}\n onClose={() => setShowExportMetadata(false)}\n />\n )}\n </QueryWrapperErrorBoundary>\n </Box>\n )\n }}\n </QueryVisualizationContextConsumer>\n )\n}\n\nexport default function QueryWrapperPlotNav(props: QueryWrapperPlotNavProps) {\n const {\n sql: deprecatedSql,\n tableConfiguration,\n isInfinite = !tableConfiguration,\n limit = DEFAULT_PAGE_SIZE,\n showLastUpdatedOn,\n unitDescription,\n additionalFiltersSessionStorageKey,\n helpConfiguration,\n customPlots,\n enabledExternalAnalysisPlatforms,\n } = props\n\n const sql = props.query?.sql ?? deprecatedSql ?? ''\n const { entityId, versionNumber } =\n parseEntityIdAndVersionFromSqlStatement(sql)\n\n const query: Query = useMemo(() => {\n if (props.query) {\n // use query if set\n return props.query\n } else if (props.initQueryJson) {\n // Otherwise use initQueryJson\n return JSON.parse(props.initQueryJson) as Query\n } else {\n // use the deprecated sql, searchParams, and sqlOperator\n const additionalFilters = getAdditionalFilters(\n props.searchParams,\n props.sqlOperator,\n additionalFiltersSessionStorageKey,\n )\n return {\n sql: deprecatedSql!,\n additionalFilters,\n limit: limit,\n offset: 0,\n }\n }\n }, [\n props.query,\n props.initQueryJson,\n props.searchParams,\n props.sqlOperator,\n additionalFiltersSessionStorageKey,\n deprecatedSql,\n limit,\n ])\n\n const [componentKey, setComponentKey] = useState(1)\n const remount = () => {\n setComponentKey(componentKey + 1)\n }\n\n const { data: entity } = useGetEntity(entityId, versionNumber)\n const initQueryRequest: QueryBundleRequest = {\n entityId: entityId ?? '',\n concreteType: 'org.sagebionetworks.repo.model.table.QueryBundleRequest',\n partMask:\n SynapseConstants.BUNDLE_MASK_QUERY_RESULTS |\n SynapseConstants.BUNDLE_MASK_QUERY_COUNT |\n SynapseConstants.BUNDLE_MASK_QUERY_SELECT_COLUMNS |\n SynapseConstants.BUNDLE_MASK_QUERY_MAX_ROWS_PER_PAGE |\n SynapseConstants.BUNDLE_MASK_QUERY_COLUMN_MODELS |\n SynapseConstants.BUNDLE_MASK_QUERY_FACETS |\n SynapseConstants.BUNDLE_MASK_SUM_FILES_SIZE_BYTES |\n SynapseConstants.BUNDLE_MASK_LAST_UPDATED_ON,\n query,\n }\n const isFullTextSearchEnabled =\n (entity && isTable(entity) && entity.isSearchEnabled) ?? false\n\n /**\n * Fully re-render the uncontrolled QueryWrapper component when the initial query changes. This eliminates a class of\n * bugs where our 'derived' state (the current query), which should be reset, is out of sync with props.\n *\n * See https://legacy.reactjs.org/blog/2018/06/07/you-probably-dont-need-derived-state.html#recommendation-fully-uncontrolled-component-with-a-key\n */\n const queryWrapperKey = `${JSON.stringify(initQueryRequest)}-${componentKey}`\n\n return (\n <QueryWrapper\n {...props}\n initQueryRequest={initQueryRequest}\n key={queryWrapperKey}\n isInfinite={isInfinite}\n >\n <Suspense fallback={<QueryWrapperLoadingScreen />}>\n <QueryVisualizationWrapper\n unitDescription={unitDescription}\n rgbIndex={props.rgbIndex}\n columnAliases={props.columnAliases}\n helpConfiguration={helpConfiguration}\n visibleColumnCount={props.visibleColumnCount}\n defaultShowPlots={props.defaultShowPlots}\n hideCopyToClipboard={props.hideCopyToClipboard}\n defaultShowSearchBar={\n (props.defaultShowSearchBox || isFullTextSearchEnabled) &&\n !props.hideSearchBarControl\n }\n hideSearchBarControl={props.hideSearchBarControl}\n showLastUpdatedOn={showLastUpdatedOn}\n noContentPlaceholderType={NoContentPlaceholderType.INTERACTIVE}\n hasCustomPlots={Array.isArray(customPlots) && customPlots.length > 0}\n enabledExternalAnalysisPlatforms={enabledExternalAnalysisPlatforms}\n >\n <QueryWrapperPlotNavContents\n {...props}\n isFullTextSearchEnabled={isFullTextSearchEnabled}\n remount={remount}\n />\n </QueryVisualizationWrapper>\n </Suspense>\n </QueryWrapper>\n )\n}\n"],"names":["QUERY_FILTERS_EXPANDED_CSS","QUERY_FILTERS_COLLAPSED_CSS","HAS_SELECTED_ROWS_CSS","QueryWrapperPlotNavContents","props","tableConfiguration","name","cardConfiguration","facetsToPlot","availableFacets","initialExpandedFacetControls","hideDownload","hideQueryCount","hideSqlEditorControl","hideVisualizationsControl","searchConfiguration","cavaticaConnectAccountURL","customControls","remount","isFullTextSearchEnabled","customPlots","initialLimit","initialPlotTypeByFacetColumnName","hideTopLevelControls","queryContext","useQueryContext","showExportMetadata","setShowExportMetadata","useState","isFaceted","queryMetadataQueryOptions","isLoadingQueryMetadata","useQuery","isRowSelectionVisible","useAtomValue","isRowSelectionVisibleAtom","currentQueryRequest","hasFacetsOrFilters","addToDownloadListRequest","useGetAddToDownloadListRequestForCurrentQuery","jsx","QueryVisualizationContextConsumer","queryVisualizationContext","Box","QueryWrapperErrorBoundary","FullTextSearch","SearchV2","SqlEditor","AddToDownloadListConfirmationAlert","SynapseErrorBoundary","TopLevelControls","Fragment","FacetFilterControls","TotalQueryResults","CustomControls","PlotsContainer","RowSetView","ModalDownload","QueryWrapperPlotNav","deprecatedSql","isInfinite","limit","DEFAULT_PAGE_SIZE","showLastUpdatedOn","unitDescription","additionalFiltersSessionStorageKey","helpConfiguration","enabledExternalAnalysisPlatforms","sql","entityId","versionNumber","parseEntityIdAndVersionFromSqlStatement","query","useMemo","additionalFilters","getAdditionalFilters","componentKey","setComponentKey","entity","useGetEntity","initQueryRequest","SynapseConstants.BUNDLE_MASK_QUERY_RESULTS","SynapseConstants.BUNDLE_MASK_QUERY_COUNT","SynapseConstants.BUNDLE_MASK_QUERY_SELECT_COLUMNS","SynapseConstants.BUNDLE_MASK_QUERY_MAX_ROWS_PER_PAGE","SynapseConstants.BUNDLE_MASK_QUERY_COLUMN_MODELS","SynapseConstants.BUNDLE_MASK_QUERY_FACETS","SynapseConstants.BUNDLE_MASK_SUM_FILES_SIZE_BYTES","SynapseConstants.BUNDLE_MASK_LAST_UPDATED_ON","isTable","queryWrapperKey","createElement","QueryWrapper","Suspense","QueryWrapperLoadingScreen","QueryVisualizationWrapper","NoContentPlaceholderType"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkDO,MAAMA,KAAqC,yBACrCC,KAAsC,wBAEtCC,KAAgC;AA2F7C,SAASC,GAA4BC,GAAyC;AAC5E,QAAM;AAAA,IACJ,oBAAAC;AAAA,IACA,MAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,8BAAAC;AAAA,IACA,cAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,2BAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,2BAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,SAAAC;AAAA,IACA,yBAAAC;AAAA,IACA,aAAAC;AAAA,IACA,cAAAC;AAAA,IACA,kCAAAC;AAAA,IACA,sBAAAC;AAAA,EAAA,IACEnB,GACEoB,IAAeC,GAAA,GACf,CAACC,GAAoBC,CAAqB,IAAIC,EAAS,EAAK,GAC5D,EAAE,wBAAwBC,GAAW,2BAAAC,EAAA,IACzCN,GACI,EAAE,WAAWO,EAAA,IAA2BC;AAAA,IAC5CF;AAAA,EAAA,GAGIG,IAAwBC,GAAaC,EAAyB,GAE9DC,IAAsBZ,EAAa,qBAEnCa,IACHD,GAAqB,MAAM,mBAAmB,UAC7CA,EAAoB,MAAM,eAAe,SAAS,KACnDA,GAAqB,MAAM,sBAAsB,UAChDA,GAAqB,MAAM,kBAAkB,SAAS,GAEpDE,IACJC,EAAA;AAEF,SACE,gBAAAC,EAACC,MACE,UAAA,CAAAC,MAA6B;AAC5B,QAAIA,MAA8B;AAChC,YAAM,IAAI;AAAA,QACR;AAAA,MAAA;AAIJ,WACE,gBAAAF;AAAA,MAACG;AAAA,MAAA;AAAA,QACC,WAAW,uBACTD,EAA0B,kBACtB1C,KACAC,EACN,IAAIgC,IAAwB/B,KAAwB,EAAE,IACpDqB,IAAuB,6BAA6B,EACtD;AAAA,QACA,IAAI;AAAA,UACF,KAAK;AAAA,YACH,QAAQQ,IAAyB,SAAS;AAAA,UAAA;AAAA,QAC5C;AAAA,QAGF,4BAACa,IAAA,EACE,UAAA;AAAA,UAAAzB,IACC,gBAAAqB,EAACK,IAAA,EAAe,WAAW9B,GAAqB,WAAW,IAE3D,gBAAAyB;AAAA,YAACM;AAAAA,YAAA;AAAA,cACE,GAAG/B;AAAA,cACJ,cAAAS;AAAA,cACA,2BAAAkB;AAAA,YAAA;AAAA,UAAA;AAAA,4BAGHK,IAAA,EAAU;AAAA,UACVL,EAA0B,4BACzB,gBAAAF;AAAA,YAACQ;AAAA,YAAA;AAAA,cACC,0BAAAV;AAAA,cACA,SAAS,MACPI,EAA0B,4BAA4B,EAAK;AAAA,YAAA;AAAA,UAAA;AAAA,UAIhE,CAACnB,KACA,gBAAAiB,EAACS,IAAA,EACC,UAAA,gBAAAT;AAAA,YAACU;AAAA,YAAA;AAAA,cACC,qBAAqB7C,MAAuB;AAAA,cAC5C,MAAAC;AAAA,cACA,cAAAK;AAAA,cACA,gBAAAC;AAAA,cACA,wBAAwB,CAACiB;AAAA,cACzB,2BACE,CAACA,KAAaf;AAAA,cAEhB,sBAAAD;AAAA,cACA,2BAAAG;AAAA,cACA,SAAAE;AAAA,cACA,gBAAAD;AAAA,YAAA;AAAA,UAAA,GAEJ;AAAA,UAEDY,KACC,gBAAAW,EAAAW,GAAA,EACE,UAAA,gBAAAX;AAAA,YAACY;AAAAA,YAAA;AAAA,cACC,iBAAA3C;AAAA,cACA,8BAAAC;AAAA,YAAA;AAAA,UAAA,GAEJ;AAAA,UAEF,gBAAA8B;AAAA,YAACa;AAAAA,YAAA;AAAA,cACC,WAAW;AAAA,cACX,SAAShB,IAAqB,gBAAgB;AAAA,cAC9C,kBAAkB;AAAA,YAAA;AAAA,UAAA;AAAA,UAEpB,gBAAAG;AAAA,YAACc;AAAA,YAAA;AAAA,cACC,gBAAArC;AAAA,cACA,SAAAC;AAAA,YAAA;AAAA,UAAA;AAAA,UAEF,gBAAAsB;AAAA,YAACe;AAAAA,YAAA;AAAA,cACC,cAAA/C;AAAA,cACA,aAAAY;AAAA,cACA,kCAAAE;AAAA,YAAA;AAAA,UAAA;AAAA,UAIF,gBAAAkB;AAAA,YAACgB;AAAA,YAAA;AAAA,cACC,oBAAAnD;AAAA,cACA,cAAAM;AAAA,cACA,mBAAAJ;AAAA,cACA,cAAAc;AAAA,YAAA;AAAA,UAAA;AAAA,UAEDK,KACC,gBAAAc;AAAA,YAACiB;AAAA,YAAA;AAAA,cACC,qBAAqBjC,GAAc;AAAA,cACnC,SAAS,MAAMG,EAAsB,EAAK;AAAA,YAAA;AAAA,UAAA;AAAA,QAC5C,EAAA,CAEJ;AAAA,MAAA;AAAA,IAAA;AAAA,EAGN,GACF;AAEJ;AAEA,SAAwB+B,GAAoBtD,GAAiC;AAC3E,QAAM;AAAA,IACJ,KAAKuD;AAAA,IACL,oBAAAtD;AAAA,IACA,YAAAuD,IAAa,CAACvD;AAAA,IACd,OAAAwD,IAAQC;AAAA,IACR,mBAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,oCAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,aAAA9C;AAAA,IACA,kCAAA+C;AAAA,EAAA,IACE/D,GAEEgE,IAAMhE,EAAM,OAAO,OAAOuD,KAAiB,IAC3C,EAAE,UAAAU,GAAU,eAAAC,MAChBC,EAAwCH,CAAG,GAEvCI,IAAeC,EAAQ,MAAM;AACjC,QAAIrE,EAAM;AAER,aAAOA,EAAM;AACf,QAAWA,EAAM;AAEf,aAAO,KAAK,MAAMA,EAAM,aAAa;AAChC;AAEL,YAAMsE,IAAoBC;AAAA,QACxBvE,EAAM;AAAA,QACNA,EAAM;AAAA,QACN6D;AAAA,MAAA;AAEF,aAAO;AAAA,QACL,KAAKN;AAAA,QACL,mBAAAe;AAAA,QACA,OAAAb;AAAA,QACA,QAAQ;AAAA,MAAA;AAAA,IAEZ;AAAA,EACF,GAAG;AAAA,IACDzD,EAAM;AAAA,IACNA,EAAM;AAAA,IACNA,EAAM;AAAA,IACNA,EAAM;AAAA,IACN6D;AAAA,IACAN;AAAA,IACAE;AAAA,EAAA,CACD,GAEK,CAACe,GAAcC,CAAe,IAAIjD,EAAS,CAAC,GAC5CV,IAAU,MAAM;AACpB,IAAA2D,EAAgBD,IAAe,CAAC;AAAA,EAClC,GAEM,EAAE,MAAME,EAAA,IAAWC,GAAaV,GAAUC,CAAa,GACvDU,IAAuC;AAAA,IAC3C,UAAUX,KAAY;AAAA,IACtB,cAAc;AAAA,IACd,UACEY,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC;AAAAA,IACF,OAAAhB;AAAA,EAAA,GAEIrD,KACH2D,KAAUW,EAAQX,CAAM,KAAKA,EAAO,oBAAoB,IAQrDY,IAAkB,GAAG,KAAK,UAAUV,CAAgB,CAAC,IAAIJ,CAAY;AAE3E,SACE,gBAAAe;AAAA,IAACC;AAAA,IAAA;AAAA,MACE,GAAGxF;AAAA,MACJ,kBAAA4E;AAAA,MACA,KAAKU;AAAA,MACL,YAAA9B;AAAA,IAAA;AAAA,IAEA,gBAAApB,EAACqD,GAAA,EAAS,UAAU,gBAAArD,EAACsD,MAA0B,GAC7C,UAAA,gBAAAtD;AAAA,MAACuD;AAAA,MAAA;AAAA,QACC,iBAAA/B;AAAA,QACA,UAAU5D,EAAM;AAAA,QAChB,eAAeA,EAAM;AAAA,QACrB,mBAAA8D;AAAA,QACA,oBAAoB9D,EAAM;AAAA,QAC1B,kBAAkBA,EAAM;AAAA,QACxB,qBAAqBA,EAAM;AAAA,QAC3B,uBACGA,EAAM,wBAAwBe,MAC/B,CAACf,EAAM;AAAA,QAET,sBAAsBA,EAAM;AAAA,QAC5B,mBAAA2D;AAAA,QACA,0BAA0BiC,EAAyB;AAAA,QACnD,gBAAgB,MAAM,QAAQ5E,CAAW,KAAKA,EAAY,SAAS;AAAA,QACnE,kCAAA+C;AAAA,QAEA,UAAA,gBAAA3B;AAAA,UAACrC;AAAA,UAAA;AAAA,YACE,GAAGC;AAAA,YACJ,yBAAAe;AAAA,YACA,SAAAD;AAAA,UAAA;AAAA,QAAA;AAAA,MACF;AAAA,IAAA,EACF,CACF;AAAA,EAAA;AAGN;"}
|
|
@@ -7,7 +7,7 @@ type QueryWrapperSynapsePlotInternalProps = {
|
|
|
7
7
|
};
|
|
8
8
|
export type QueryWrapperSynapsePlotRowClickEvent = {
|
|
9
9
|
row: Row;
|
|
10
|
-
queryContext
|
|
10
|
+
queryContext?: QueryContextType;
|
|
11
11
|
};
|
|
12
12
|
/**
|
|
13
13
|
* This component wraps a SynapsePlot. It passes in the current query context, and has a custom
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryWrapperSynapsePlot.d.ts","sourceRoot":"","sources":["../../../src/components/QueryWrapperPlotNav/QueryWrapperSynapsePlot.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAmB,MAAM,iBAAiB,CAAA;AACnE,OAAO,EACL,mCAAmC,EACnC,uBAAuB,EACxB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAGL,GAAG,EACJ,MAAM,iCAAiC,CAAA;AAGxC,MAAM,MAAM,4BAA4B,GAAG,IAAI,CAC7C,mCAAmC,EACnC,mBAAmB,CACpB,GACC,IAAI,CAAC,uBAAuB,EAAE,gBAAgB,GAAG,mBAAmB,CAAC,CAAA;AACvE,KAAK,oCAAoC,GAAG;IAC1C,MAAM,EAAE,MAAM,IAAI,CAAA;CACnB,CAAA;AACD,MAAM,MAAM,oCAAoC,GAAG;IACjD,GAAG,EAAE,GAAG,CAAA;IACR,YAAY,EAAE,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"QueryWrapperSynapsePlot.d.ts","sourceRoot":"","sources":["../../../src/components/QueryWrapperPlotNav/QueryWrapperSynapsePlot.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAmB,MAAM,iBAAiB,CAAA;AACnE,OAAO,EACL,mCAAmC,EACnC,uBAAuB,EACxB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAGL,GAAG,EACJ,MAAM,iCAAiC,CAAA;AAGxC,MAAM,MAAM,4BAA4B,GAAG,IAAI,CAC7C,mCAAmC,EACnC,mBAAmB,CACpB,GACC,IAAI,CAAC,uBAAuB,EAAE,gBAAgB,GAAG,mBAAmB,CAAC,CAAA;AACvE,KAAK,oCAAoC,GAAG;IAC1C,MAAM,EAAE,MAAM,IAAI,CAAA;CACnB,CAAA;AACD,MAAM,MAAM,oCAAoC,GAAG;IACjD,GAAG,EAAE,GAAG,CAAA;IACR,YAAY,CAAC,EAAE,gBAAgB,CAAA;CAChC,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAC7C,KAAK,EAAE,4BAA4B,GAAG,oCAAoC,2CAsC3E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryWrapperSynapsePlot.js","sources":["../../../src/components/QueryWrapperPlotNav/QueryWrapperSynapsePlot.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { SynapsePlot } from '../Plot'\nimport { QueryContextType, useQueryContext } from '../QueryContext'\nimport {\n QueryWrapperPlotNavCustomPlotParams,\n SynapsePlotWidgetParams,\n} from '../Plot/SynapsePlot'\nimport {\n FacetColumnRequest,\n QueryFilter,\n Row,\n} from '@sage-bionetworks/synapse-types'\nimport { useQueryVisualizationContext } from '../QueryVisualizationWrapper'\nimport PlotPanelHeader from '../Plot/PlotPanelHeader'\nexport type QueryWrapperSynapsePlotProps = Pick<\n QueryWrapperPlotNavCustomPlotParams,\n 'onCustomPlotClick'\n> &\n Omit<SynapsePlotWidgetParams, 'selectedFacets' | 'additionalFilters'>\ntype QueryWrapperSynapsePlotInternalProps = {\n onHide: () => void\n}\nexport type QueryWrapperSynapsePlotRowClickEvent = {\n row: Row\n queryContext
|
|
1
|
+
{"version":3,"file":"QueryWrapperSynapsePlot.js","sources":["../../../src/components/QueryWrapperPlotNav/QueryWrapperSynapsePlot.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { SynapsePlot } from '../Plot'\nimport { QueryContextType, useQueryContext } from '../QueryContext'\nimport {\n QueryWrapperPlotNavCustomPlotParams,\n SynapsePlotWidgetParams,\n} from '../Plot/SynapsePlot'\nimport {\n FacetColumnRequest,\n QueryFilter,\n Row,\n} from '@sage-bionetworks/synapse-types'\nimport { useQueryVisualizationContext } from '../QueryVisualizationWrapper'\nimport PlotPanelHeader from '../Plot/PlotPanelHeader'\nexport type QueryWrapperSynapsePlotProps = Pick<\n QueryWrapperPlotNavCustomPlotParams,\n 'onCustomPlotClick'\n> &\n Omit<SynapsePlotWidgetParams, 'selectedFacets' | 'additionalFilters'>\ntype QueryWrapperSynapsePlotInternalProps = {\n onHide: () => void\n}\nexport type QueryWrapperSynapsePlotRowClickEvent = {\n row: Row\n queryContext?: QueryContextType\n}\n\n/**\n * This component wraps a SynapsePlot. It passes in the current query context, and has a custom\n * \"title\" style so that it looks like it belongs in the QueryWrapperPlotNav plots.\n * @param props\n * @returns\n */\nexport default function QueryWrapperSynapsePlot(\n props: QueryWrapperSynapsePlotProps & QueryWrapperSynapsePlotInternalProps,\n) {\n const queryContext = useQueryContext()\n const { currentQueryRequest } = queryContext\n const { title, onCustomPlotClick, onHide } = props\n const { showPlots } = useQueryVisualizationContext()\n\n const widgetParamsMapped: SynapsePlotWidgetParams = useMemo(() => {\n return {\n ...props,\n title: undefined, // we are handling the plot title here in this component\n showlegend: false,\n displayModebar: false,\n }\n }, [props])\n\n const customPlotParams: QueryWrapperPlotNavCustomPlotParams = useMemo(() => {\n const { selectedFacets, additionalFilters } = currentQueryRequest.query\n return {\n selectedFacets: selectedFacets as FacetColumnRequest[],\n additionalFilters: additionalFilters as QueryFilter[],\n onCustomPlotClick,\n queryContext,\n }\n }, [currentQueryRequest.query, onCustomPlotClick, queryContext])\n return (\n <div role=\"figure\" className=\"SynapsePlot\">\n {showPlots && (\n <>\n {title && <PlotPanelHeader title={title} onHide={onHide} />}\n <SynapsePlot\n synapsePlotWidgetParams={widgetParamsMapped}\n customPlotParams={customPlotParams}\n />\n </>\n )}\n </div>\n )\n}\n"],"names":["QueryWrapperSynapsePlot","props","queryContext","useQueryContext","currentQueryRequest","title","onCustomPlotClick","onHide","showPlots","useQueryVisualizationContext","widgetParamsMapped","useMemo","customPlotParams","selectedFacets","additionalFilters","jsxs","Fragment","jsx","PlotPanelHeader","SynapsePlot"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCA,SAAwBA,GACtBC,GACA;AACA,QAAMC,IAAeC,EAAA,GACf,EAAE,qBAAAC,MAAwBF,GAC1B,EAAE,OAAAG,GAAO,mBAAAC,GAAmB,QAAAC,EAAA,IAAWN,GACvC,EAAE,WAAAO,EAAA,IAAcC,EAAA,GAEhBC,IAA8CC,EAAQ,OACnD;AAAA,IACL,GAAGV;AAAA,IACH,OAAO;AAAA;AAAA,IACP,YAAY;AAAA,IACZ,gBAAgB;AAAA,EAAA,IAEjB,CAACA,CAAK,CAAC,GAEJW,IAAwDD,EAAQ,MAAM;AAC1E,UAAM,EAAE,gBAAAE,GAAgB,mBAAAC,EAAA,IAAsBV,EAAoB;AAClE,WAAO;AAAA,MACL,gBAAAS;AAAA,MACA,mBAAAC;AAAA,MACA,mBAAAR;AAAA,MACA,cAAAJ;AAAA,IAAA;AAAA,EAEJ,GAAG,CAACE,EAAoB,OAAOE,GAAmBJ,CAAY,CAAC;AAC/D,2BACG,OAAA,EAAI,MAAK,UAAS,WAAU,eAC1B,eACC,gBAAAa,EAAAC,GAAA,EACG,UAAA;AAAA,IAAAX,KAAS,gBAAAY,EAACC,GAAA,EAAgB,OAAAb,GAAc,QAAAE,EAAA,CAAgB;AAAA,IACzD,gBAAAU;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,yBAAyBT;AAAA,QACzB,kBAAAE;AAAA,MAAA;AAAA,IAAA;AAAA,EACF,EAAA,CACF,EAAA,CAEJ;AAEJ;"}
|
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
import { jsxs as r, jsx as e } from "react/jsx-runtime";
|
|
2
2
|
import { useState as l } from "react";
|
|
3
|
-
import {
|
|
4
|
-
function f({ data:
|
|
3
|
+
import { Markdown as m } from "../Markdown/MarkdownSynapse.js";
|
|
4
|
+
function f({ data: t }) {
|
|
5
5
|
const [a, i] = l(0);
|
|
6
6
|
return /* @__PURE__ */ r("div", { className: "control-container", children: [
|
|
7
7
|
/* @__PURE__ */ r("div", { className: "button-container", children: [
|
|
8
|
-
|
|
8
|
+
t?.map((n, s) => /* @__PURE__ */ e(
|
|
9
9
|
"button",
|
|
10
10
|
{
|
|
11
|
-
className: a ===
|
|
12
|
-
onClick: () => i(
|
|
11
|
+
className: a === s ? "isSelected" : "",
|
|
12
|
+
onClick: () => i(s),
|
|
13
13
|
children: n.name
|
|
14
14
|
},
|
|
15
15
|
n.name
|
|
16
16
|
)),
|
|
17
17
|
/* @__PURE__ */ e("button", { className: "gap-fill" })
|
|
18
18
|
] }),
|
|
19
|
-
/* @__PURE__ */ e("div", { className: "content-container", children:
|
|
19
|
+
/* @__PURE__ */ e("div", { className: "content-container", children: t?.map((n, s) => {
|
|
20
20
|
const { ownerId: o, wikiId: c } = n;
|
|
21
|
-
return /* @__PURE__ */ e("span", { className: a ===
|
|
21
|
+
return /* @__PURE__ */ e("span", { className: a === s ? "" : "hide", children: /* @__PURE__ */ e(m, { ownerId: o, wikiId: c }) }, o);
|
|
22
22
|
}) })
|
|
23
23
|
] });
|
|
24
24
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import {
|
|
1
|
+
import { jsx as o, jsxs as s, Fragment as a } from "react/jsx-runtime";
|
|
2
|
+
import { Markdown as i } from "../Markdown/MarkdownSynapse.js";
|
|
3
3
|
import m from "../home_page/ExpandableContent.js";
|
|
4
|
-
function f({ data:
|
|
5
|
-
return /* @__PURE__ */
|
|
4
|
+
function f({ data: e }) {
|
|
5
|
+
return /* @__PURE__ */ o("div", { className: "Resources_Mobile", children: e.map(({ name: r, ownerId: t, wikiId: n }) => /* @__PURE__ */ o(m, { title: /* @__PURE__ */ s(a, { children: [
|
|
6
6
|
" ",
|
|
7
|
-
|
|
7
|
+
r,
|
|
8
8
|
" "
|
|
9
|
-
] }), content: /* @__PURE__ */
|
|
9
|
+
] }), content: /* @__PURE__ */ o(i, { ownerId: t, wikiId: n }) }, r)) });
|
|
10
10
|
}
|
|
11
11
|
export {
|
|
12
12
|
f as default
|
|
@@ -18,11 +18,14 @@ import "@mui/material/SvgIcon";
|
|
|
18
18
|
import "../assets/icons/AccessPending.svg.js";
|
|
19
19
|
import "../assets/icons/AccessPendingCloud.svg.js";
|
|
20
20
|
import "../assets/icons/FileWithShield.svg.js";
|
|
21
|
+
import "../assets/icons/MultiFile.svg.js";
|
|
22
|
+
import "../assets/icons/UnpackagableFile.svg.js";
|
|
21
23
|
import "../assets/icons/bioChemicalPhysical.svg.js";
|
|
22
24
|
import "../assets/icons/computationalTool.svg.js";
|
|
23
25
|
import "../assets/icons/dataReuse.svg.js";
|
|
24
26
|
import "../assets/icons/inSilicoModel.svg.js";
|
|
25
27
|
import "../assets/icons/modelSystem.svg.js";
|
|
28
|
+
import "../assets/mui_components/PackagableFile.svg.js";
|
|
26
29
|
import "../assets/icons/spatialProfiling.svg.js";
|
|
27
30
|
import { SynapseToastContainer as Q } from "./ToastMessage/ToastMessage.js";
|
|
28
31
|
import "./Authentication/RecoveryCodeGrid.js";
|
|
@@ -64,7 +67,7 @@ function U(n) {
|
|
|
64
67
|
const e = M[n];
|
|
65
68
|
window.SRC_OVERRIDE_ENDPOINT_CONFIG = e;
|
|
66
69
|
}
|
|
67
|
-
function
|
|
70
|
+
function Vt(n) {
|
|
68
71
|
const { storybookContext: e } = n, r = e.globals.stack || e.parameters.stack;
|
|
69
72
|
p(() => {
|
|
70
73
|
U(r);
|
|
@@ -168,7 +171,7 @@ function Bt(n) {
|
|
|
168
171
|
return /* @__PURE__ */ i(N, { router: v });
|
|
169
172
|
}
|
|
170
173
|
export {
|
|
171
|
-
|
|
172
|
-
|
|
174
|
+
Vt as StorybookComponentWrapper,
|
|
175
|
+
Vt as default
|
|
173
176
|
};
|
|
174
177
|
//# sourceMappingURL=StorybookComponentWrapper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StorybookComponentWrapper.js","sources":["../../src/components/StorybookComponentWrapper.tsx"],"sourcesContent":["import { StandaloneLoginForm } from '@/components/Authentication/index'\nimport SynapseClient from '@/synapse-client'\nimport {\n defaultQueryClientConfig,\n SynapseContextProvider,\n SynapseContextType,\n} from '@/utils'\nimport { ApplicationSessionContextProvider } from '@/utils/AppUtils/session/ApplicationSessionContext'\nimport {\n SynapseSessionManager,\n type SessionState,\n} from '@/utils/AppUtils/session/SynapseSessionManager'\nimport { STACK_MAP, SynapseStack } from '@/utils/functions/getEndpoint'\nimport useDetectSSOCode from '@/utils/hooks/useDetectSSOCode'\nimport { QueryClient, QueryClientProvider } from '@tanstack/react-query'\nimport { ReactQueryDevtools } from '@tanstack/react-query-devtools'\nimport {\n ReactNode,\n Suspense,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useSyncExternalStore,\n} from 'react'\nimport { createMemoryRouter } from 'react-router'\nimport { RouterProvider } from 'react-router/dom'\nimport { SynapseToastContainer } from './ToastMessage'\n\nconst storybookQueryClient = new QueryClient(defaultQueryClientConfig)\n\n// Module-level session manager instance, stable across story switches (like the QueryClient above)\nconst sessionManager = new SynapseSessionManager({\n onSessionInvalid: () => {\n // In Storybook, just refresh the session instead of reloading the page\n sessionManager.refreshSession()\n },\n})\n\nfunction overrideEndpoint(stack: SynapseStack) {\n const endpointConfig = STACK_MAP[stack]\n ;(window as any)['SRC_OVERRIDE_ENDPOINT_CONFIG'] = endpointConfig\n}\n\n/**\n * Wraps storybook story components to ensure that all components receive required context.\n * @param props\n * @returns\n */\nexport function StorybookComponentWrapper(props: {\n children: ReactNode\n /* This will match the `globalTypes` object in preview.tsx. */\n storybookContext: {\n args: {\n isAuthenticated?: boolean\n }\n globals: {\n stack?: SynapseStack\n showReactQueryDevtools?: boolean\n }\n parameters: {\n stack?: SynapseStack\n withRouter?: boolean\n requireLogin?: boolean\n }\n }\n}) {\n const { storybookContext } = props\n\n const currentStack: SynapseStack = (storybookContext.globals.stack ||\n storybookContext.parameters.stack) as SynapseStack\n\n useEffect(() => {\n overrideEndpoint(currentStack)\n }, [currentStack])\n\n // Subscribe to the framework-agnostic SynapseSessionManager for token/auth state\n // These methods are bound in the SynapseSessionManager constructor, so they are safe to pass directly.\n const sessionState: SessionState = useSyncExternalStore(\n // eslint-disable-next-line @typescript-eslint/unbound-method\n sessionManager.subscribe,\n // eslint-disable-next-line @typescript-eslint/unbound-method\n sessionManager.getSnapshot,\n )\n\n // Track whether we've started the manager so we only start once (module-level instance persists across renders)\n const managerStartedRef = useRef(false)\n\n useEffect(() => {\n if (!managerStartedRef.current) {\n sessionManager.start()\n managerStartedRef.current = true\n }\n return () => {\n sessionManager.dispose()\n managerStartedRef.current = false\n }\n }, [])\n\n // When the stack changes, restart the session manager to pick up the new endpoint\n useEffect(() => {\n if (managerStartedRef.current) {\n sessionManager.dispose()\n sessionManager.start()\n }\n }, [currentStack])\n\n const shouldPromptForLogin =\n storybookContext.parameters.requireLogin &&\n currentStack !== 'mock' &&\n sessionState.hasInitializedSession &&\n !sessionState.isAuthenticated\n\n const { isLoading: isLoadingSSO } = useDetectSSOCode({\n onSignInComplete: () => {\n void sessionManager.refreshSession()\n },\n onError: (err: unknown) => {\n console.error('SSO error in Storybook:', err)\n },\n isInitializingSession: !sessionState.hasInitializedSession,\n isAuthenticated: sessionState.isAuthenticated,\n })\n\n useEffect(() => {\n async function resetCache() {\n await storybookQueryClient.cancelQueries()\n await storybookQueryClient.resetQueries()\n }\n\n void resetCache()\n }, [sessionState.token, currentStack])\n\n const effectiveToken = useMemo(() => {\n if (currentStack === 'mock') {\n return storybookContext.args.isAuthenticated ? 'fake token' : undefined\n }\n return sessionState.token\n }, [sessionState.token, currentStack, storybookContext.args.isAuthenticated])\n\n const effectiveIsAuthenticated = useMemo(() => {\n if (currentStack === 'mock') {\n return !!storybookContext.args.isAuthenticated\n }\n return sessionState.isAuthenticated\n }, [\n sessionState.isAuthenticated,\n currentStack,\n storybookContext.args.isAuthenticated,\n ])\n\n const refreshSession = useCallback(async () => {\n await sessionManager.refreshSession()\n }, [])\n\n const clearSession = useCallback(async () => {\n await sessionManager.clearSession()\n }, [])\n\n const applicationSessionContext = useMemo(\n () => ({\n token: effectiveToken,\n realmId: sessionState.realmId,\n userId: sessionState.userId,\n isAuthenticated: effectiveIsAuthenticated,\n hasInitializedSession: sessionState.hasInitializedSession,\n refreshSession,\n clearSession,\n isLoadingSSO,\n twoFactorAuthSSOErrorResponse: undefined,\n termsOfServiceStatus: undefined,\n twoFactorStatus: undefined,\n }),\n [\n effectiveToken,\n effectiveIsAuthenticated,\n sessionState.realmId,\n sessionState.userId,\n sessionState.hasInitializedSession,\n refreshSession,\n clearSession,\n isLoadingSSO,\n ],\n )\n\n const synapseContext: Partial<SynapseContextType> = useMemo(\n () => ({\n accessToken: effectiveToken,\n isAuthenticated: effectiveIsAuthenticated,\n isInExperimentalMode: SynapseClient.isInSynapseExperimentalMode(),\n utcTime: SynapseClient.getUseUtcTimeFromCookie(),\n withErrorBoundary: true,\n downloadCartPageUrl: '/?path=/story/download-downloadcartpage--demo',\n }),\n [effectiveToken, effectiveIsAuthenticated],\n )\n\n const wrappedStory = (\n <Suspense fallback={'global suspense loading...'}>\n <QueryClientProvider client={storybookQueryClient}>\n <ApplicationSessionContextProvider context={applicationSessionContext}>\n <SynapseContextProvider\n key={currentStack}\n synapseContext={synapseContext}\n >\n {storybookContext.globals.showReactQueryDevtools && (\n <ReactQueryDevtools />\n )}\n <SynapseToastContainer />\n <main>\n {shouldPromptForLogin ? (\n <StandaloneLoginForm\n sessionCallback={() => {\n void sessionManager.refreshSession()\n }}\n />\n ) : (\n props.children\n )}\n </main>\n </SynapseContextProvider>\n </ApplicationSessionContextProvider>\n </QueryClientProvider>\n </Suspense>\n )\n\n if (!storybookContext.parameters.withRouter) {\n return wrappedStory\n }\n\n const router = createMemoryRouter([\n {\n path: '/',\n element: wrappedStory,\n },\n ])\n\n return <RouterProvider router={router} />\n}\n\nexport default StorybookComponentWrapper\n"],"names":["storybookQueryClient","QueryClient","defaultQueryClientConfig","sessionManager","SynapseSessionManager","overrideEndpoint","stack","endpointConfig","STACK_MAP","StorybookComponentWrapper","props","storybookContext","currentStack","useEffect","sessionState","useSyncExternalStore","managerStartedRef","useRef","shouldPromptForLogin","isLoadingSSO","useDetectSSOCode","err","resetCache","effectiveToken","useMemo","effectiveIsAuthenticated","refreshSession","useCallback","clearSession","applicationSessionContext","synapseContext","SynapseClient","wrappedStory","jsx","Suspense","QueryClientProvider","ApplicationSessionContextProvider","jsxs","SynapseContextProvider","ReactQueryDevtools","SynapseToastContainer","StandaloneLoginForm","router","createMemoryRouter","RouterProvider"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"StorybookComponentWrapper.js","sources":["../../src/components/StorybookComponentWrapper.tsx"],"sourcesContent":["import { StandaloneLoginForm } from '@/components/Authentication/index'\nimport SynapseClient from '@/synapse-client'\nimport {\n defaultQueryClientConfig,\n SynapseContextProvider,\n SynapseContextType,\n} from '@/utils'\nimport { ApplicationSessionContextProvider } from '@/utils/AppUtils/session/ApplicationSessionContext'\nimport {\n SynapseSessionManager,\n type SessionState,\n} from '@/utils/AppUtils/session/SynapseSessionManager'\nimport { STACK_MAP, SynapseStack } from '@/utils/functions/getEndpoint'\nimport useDetectSSOCode from '@/utils/hooks/useDetectSSOCode'\nimport { QueryClient, QueryClientProvider } from '@tanstack/react-query'\nimport { ReactQueryDevtools } from '@tanstack/react-query-devtools'\nimport {\n ReactNode,\n Suspense,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useSyncExternalStore,\n} from 'react'\nimport { createMemoryRouter } from 'react-router'\nimport { RouterProvider } from 'react-router/dom'\nimport { SynapseToastContainer } from './ToastMessage'\n\nconst storybookQueryClient = new QueryClient(defaultQueryClientConfig)\n\n// Module-level session manager instance, stable across story switches (like the QueryClient above)\nconst sessionManager = new SynapseSessionManager({\n onSessionInvalid: () => {\n // In Storybook, just refresh the session instead of reloading the page\n sessionManager.refreshSession()\n },\n})\n\nfunction overrideEndpoint(stack: SynapseStack) {\n const endpointConfig = STACK_MAP[stack]\n ;(window as any)['SRC_OVERRIDE_ENDPOINT_CONFIG'] = endpointConfig\n}\n\n/**\n * Wraps storybook story components to ensure that all components receive required context.\n * @param props\n * @returns\n */\nexport function StorybookComponentWrapper(props: {\n children: ReactNode\n /* This will match the `globalTypes` object in preview.tsx. */\n storybookContext: {\n args: {\n isAuthenticated?: boolean\n }\n globals: {\n stack?: SynapseStack\n showReactQueryDevtools?: boolean\n }\n parameters: {\n stack?: SynapseStack\n withRouter?: boolean\n requireLogin?: boolean\n }\n }\n}) {\n const { storybookContext } = props\n\n const currentStack: SynapseStack = (storybookContext.globals.stack ||\n storybookContext.parameters.stack) as SynapseStack\n\n useEffect(() => {\n overrideEndpoint(currentStack)\n }, [currentStack])\n\n // Subscribe to the framework-agnostic SynapseSessionManager for token/auth state\n // These methods are bound in the SynapseSessionManager constructor, so they are safe to pass directly.\n const sessionState: SessionState = useSyncExternalStore(\n // eslint-disable-next-line @typescript-eslint/unbound-method\n sessionManager.subscribe,\n // eslint-disable-next-line @typescript-eslint/unbound-method\n sessionManager.getSnapshot,\n )\n\n // Track whether we've started the manager so we only start once (module-level instance persists across renders)\n const managerStartedRef = useRef(false)\n\n useEffect(() => {\n if (!managerStartedRef.current) {\n sessionManager.start()\n managerStartedRef.current = true\n }\n return () => {\n sessionManager.dispose()\n managerStartedRef.current = false\n }\n }, [])\n\n // When the stack changes, restart the session manager to pick up the new endpoint\n useEffect(() => {\n if (managerStartedRef.current) {\n sessionManager.dispose()\n sessionManager.start()\n }\n }, [currentStack])\n\n const shouldPromptForLogin =\n storybookContext.parameters.requireLogin &&\n currentStack !== 'mock' &&\n sessionState.hasInitializedSession &&\n !sessionState.isAuthenticated\n\n const { isLoading: isLoadingSSO } = useDetectSSOCode({\n onSignInComplete: () => {\n void sessionManager.refreshSession()\n },\n onError: (err: unknown) => {\n console.error('SSO error in Storybook:', err)\n },\n isInitializingSession: !sessionState.hasInitializedSession,\n isAuthenticated: sessionState.isAuthenticated,\n })\n\n useEffect(() => {\n async function resetCache() {\n await storybookQueryClient.cancelQueries()\n await storybookQueryClient.resetQueries()\n }\n\n void resetCache()\n }, [sessionState.token, currentStack])\n\n const effectiveToken = useMemo(() => {\n if (currentStack === 'mock') {\n return storybookContext.args.isAuthenticated ? 'fake token' : undefined\n }\n return sessionState.token\n }, [sessionState.token, currentStack, storybookContext.args.isAuthenticated])\n\n const effectiveIsAuthenticated = useMemo(() => {\n if (currentStack === 'mock') {\n return !!storybookContext.args.isAuthenticated\n }\n return sessionState.isAuthenticated\n }, [\n sessionState.isAuthenticated,\n currentStack,\n storybookContext.args.isAuthenticated,\n ])\n\n const refreshSession = useCallback(async () => {\n await sessionManager.refreshSession()\n }, [])\n\n const clearSession = useCallback(async () => {\n await sessionManager.clearSession()\n }, [])\n\n const applicationSessionContext = useMemo(\n () => ({\n token: effectiveToken,\n realmId: sessionState.realmId,\n userId: sessionState.userId,\n isAuthenticated: effectiveIsAuthenticated,\n hasInitializedSession: sessionState.hasInitializedSession,\n refreshSession,\n clearSession,\n isLoadingSSO,\n twoFactorAuthSSOErrorResponse: undefined,\n termsOfServiceStatus: undefined,\n twoFactorStatus: undefined,\n }),\n [\n effectiveToken,\n effectiveIsAuthenticated,\n sessionState.realmId,\n sessionState.userId,\n sessionState.hasInitializedSession,\n refreshSession,\n clearSession,\n isLoadingSSO,\n ],\n )\n\n const synapseContext: Partial<SynapseContextType> = useMemo(\n () => ({\n accessToken: effectiveToken,\n isAuthenticated: effectiveIsAuthenticated,\n isInExperimentalMode: SynapseClient.isInSynapseExperimentalMode(),\n utcTime: SynapseClient.getUseUtcTimeFromCookie(),\n withErrorBoundary: true,\n downloadCartPageUrl: '/?path=/story/download-downloadcartpage--demo',\n }),\n [effectiveToken, effectiveIsAuthenticated],\n )\n\n const wrappedStory = (\n <Suspense fallback={'global suspense loading...'}>\n <QueryClientProvider client={storybookQueryClient}>\n <ApplicationSessionContextProvider context={applicationSessionContext}>\n <SynapseContextProvider\n key={currentStack}\n synapseContext={synapseContext}\n >\n {storybookContext.globals.showReactQueryDevtools && (\n <ReactQueryDevtools />\n )}\n <SynapseToastContainer />\n <main>\n {shouldPromptForLogin ? (\n <StandaloneLoginForm\n sessionCallback={() => {\n void sessionManager.refreshSession()\n }}\n />\n ) : (\n props.children\n )}\n </main>\n </SynapseContextProvider>\n </ApplicationSessionContextProvider>\n </QueryClientProvider>\n </Suspense>\n )\n\n if (!storybookContext.parameters.withRouter) {\n return wrappedStory\n }\n\n const router = createMemoryRouter([\n {\n path: '/',\n element: wrappedStory,\n },\n ])\n\n return <RouterProvider router={router} />\n}\n\nexport default StorybookComponentWrapper\n"],"names":["storybookQueryClient","QueryClient","defaultQueryClientConfig","sessionManager","SynapseSessionManager","overrideEndpoint","stack","endpointConfig","STACK_MAP","StorybookComponentWrapper","props","storybookContext","currentStack","useEffect","sessionState","useSyncExternalStore","managerStartedRef","useRef","shouldPromptForLogin","isLoadingSSO","useDetectSSOCode","err","resetCache","effectiveToken","useMemo","effectiveIsAuthenticated","refreshSession","useCallback","clearSession","applicationSessionContext","synapseContext","SynapseClient","wrappedStory","jsx","Suspense","QueryClientProvider","ApplicationSessionContextProvider","jsxs","SynapseContextProvider","ReactQueryDevtools","SynapseToastContainer","StandaloneLoginForm","router","createMemoryRouter","RouterProvider"],"mappings":"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"}
|
|
@@ -29,9 +29,9 @@ import "../../utils/context/FullContextProvider.js";
|
|
|
29
29
|
import "../../utils/context/DocumentMetadataContext.js";
|
|
30
30
|
import '../../style/components/_spinner.css';/* empty css */
|
|
31
31
|
import "react-router";
|
|
32
|
-
import {
|
|
32
|
+
import { Markdown as C } from "../Markdown/MarkdownSynapse.js";
|
|
33
33
|
import { SkeletonTable as U } from "../Skeleton/SkeletonTable.js";
|
|
34
|
-
const
|
|
34
|
+
const M = [
|
|
35
35
|
m.BOOLEAN_LIST,
|
|
36
36
|
m.DATE_LIST,
|
|
37
37
|
m.ENTITYID_LIST,
|
|
@@ -104,7 +104,7 @@ function Te({
|
|
|
104
104
|
if (!a)
|
|
105
105
|
return /* @__PURE__ */ e(E, {});
|
|
106
106
|
let l;
|
|
107
|
-
if (
|
|
107
|
+
if (M.includes(r.columnType))
|
|
108
108
|
l = JSON.parse(a).map((n, S) => /* @__PURE__ */ h(
|
|
109
109
|
"div",
|
|
110
110
|
{
|
|
@@ -2,12 +2,12 @@ import { jsx as e, jsxs as o } from "react/jsx-runtime";
|
|
|
2
2
|
import y from "../../synapse-queries/entity/useGetQueryResultBundle.js";
|
|
3
3
|
import { getFieldIndex as S } from "../../utils/functions/queryUtils.js";
|
|
4
4
|
import { getMetricValues as w, SUSTAINABILITY_ICON_COLORS as x } from "./SustainabilityScorecardUtils.js";
|
|
5
|
-
import { useTheme as
|
|
5
|
+
import { useTheme as k, Skeleton as I, Box as r, Stack as B, Typography as m, Card as b } from "@mui/material";
|
|
6
6
|
import C from "@mui/icons-material/CheckCircle";
|
|
7
7
|
import R from "@mui/icons-material/Cancel";
|
|
8
8
|
import T from "../SynapseTable/NoContentAvailable.js";
|
|
9
9
|
import v from "./Dial.js";
|
|
10
|
-
import {
|
|
10
|
+
import { Markdown as L } from "../Markdown/MarkdownSynapse.js";
|
|
11
11
|
const D = ({
|
|
12
12
|
label: i,
|
|
13
13
|
markdownText: a,
|
|
@@ -65,9 +65,9 @@ const D = ({
|
|
|
65
65
|
metricsConfig: t,
|
|
66
66
|
scoreDescriptorColumnName: n
|
|
67
67
|
}) => {
|
|
68
|
-
const c =
|
|
68
|
+
const c = k(), { data: l, isLoading: h } = y(i);
|
|
69
69
|
if (h)
|
|
70
|
-
return /* @__PURE__ */ e(
|
|
70
|
+
return /* @__PURE__ */ e(I, { width: "100%", height: "90px" });
|
|
71
71
|
const s = l?.queryResult.queryResults;
|
|
72
72
|
if (!s?.rows?.length)
|
|
73
73
|
return /* @__PURE__ */ e(r, { sx: { paddingTop: "60px" }, children: /* @__PURE__ */ e(T, {}) });
|
|
@@ -104,23 +104,23 @@ const D = ({
|
|
|
104
104
|
]
|
|
105
105
|
}
|
|
106
106
|
),
|
|
107
|
-
/* @__PURE__ */ e(b, { children: t.map((
|
|
107
|
+
/* @__PURE__ */ e(b, { children: t.map((d, p) => /* @__PURE__ */ e(
|
|
108
108
|
r,
|
|
109
109
|
{
|
|
110
110
|
sx: {
|
|
111
|
-
borderBottom:
|
|
111
|
+
borderBottom: p !== t.length - 1 ? `1px solid ${c.palette.grey[300]}` : void 0
|
|
112
112
|
},
|
|
113
113
|
children: /* @__PURE__ */ e(
|
|
114
114
|
D,
|
|
115
115
|
{
|
|
116
|
-
label:
|
|
117
|
-
markdownText:
|
|
118
|
-
index:
|
|
116
|
+
label: d.label,
|
|
117
|
+
markdownText: d.text ?? "",
|
|
118
|
+
index: p,
|
|
119
119
|
metricValues: f
|
|
120
120
|
}
|
|
121
121
|
)
|
|
122
122
|
},
|
|
123
|
-
|
|
123
|
+
d.key
|
|
124
124
|
)) })
|
|
125
125
|
] });
|
|
126
126
|
};
|
|
@@ -13,6 +13,12 @@ export type SynapseChatProps = {
|
|
|
13
13
|
externalChatState?: ChatState;
|
|
14
14
|
defaultAgentAccessLevel?: AgentAccessLevel;
|
|
15
15
|
showAccessLevelMenu?: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Optional callback invoked once when a chat response is received from the server.
|
|
18
|
+
* Use this for side effects such as navigation based on the response content.
|
|
19
|
+
* Called in the mutation onSuccess handler so it runs exactly once per response.
|
|
20
|
+
*/
|
|
21
|
+
onChatResponse?: (responseText: string) => void;
|
|
16
22
|
};
|
|
17
23
|
export type ChatInteraction = {
|
|
18
24
|
userMessage: string;
|
|
@@ -23,6 +29,6 @@ export type ChatInteraction = {
|
|
|
23
29
|
export type TraceEventWithFriendlyMessage = {
|
|
24
30
|
friendlyMessage?: string;
|
|
25
31
|
} & TraceEvent;
|
|
26
|
-
export declare function SynapseChat({ initialMessage, agentRegistrationId, chatbotName, hideTitle, textboxPositionOffset, sessionContext, externalSession, setExternalSession, externalChatState, showAccessLevelMenu, }: SynapseChatProps): import("react/jsx-runtime").JSX.Element;
|
|
32
|
+
export declare function SynapseChat({ initialMessage, agentRegistrationId, chatbotName, hideTitle, textboxPositionOffset, sessionContext, externalSession, setExternalSession, externalChatState, showAccessLevelMenu, onChatResponse, }: SynapseChatProps): import("react/jsx-runtime").JSX.Element;
|
|
27
33
|
export default SynapseChat;
|
|
28
34
|
//# sourceMappingURL=SynapseChat.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SynapseChat.d.ts","sourceRoot":"","sources":["../../../src/components/SynapseChat/SynapseChat.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAgB,MAAM,uCAAuC,CAAA;AAiB/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAA;AAC1E,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACX,MAAM,iCAAiC,CAAA;AAQxC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAE9B,cAAc,CAAC,EAAE,uBAAuB,CAAA;IAExC,eAAe,CAAC,EAAE,YAAY,CAAA;IAE9B,kBAAkB,CAAC,EAAE,CAAC,CAAC,EAAE,YAAY,GAAG,SAAS,KAAK,IAAI,CAAA;IAE1D,iBAAiB,CAAC,EAAE,SAAS,CAAA;IAE7B,uBAAuB,CAAC,EAAE,gBAAgB,CAAA;IAE1C,mBAAmB,CAAC,EAAE,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"SynapseChat.d.ts","sourceRoot":"","sources":["../../../src/components/SynapseChat/SynapseChat.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAgB,MAAM,uCAAuC,CAAA;AAiB/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAA;AAC1E,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACX,MAAM,iCAAiC,CAAA;AAQxC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAE9B,cAAc,CAAC,EAAE,uBAAuB,CAAA;IAExC,eAAe,CAAC,EAAE,YAAY,CAAA;IAE9B,kBAAkB,CAAC,EAAE,CAAC,CAAC,EAAE,YAAY,GAAG,SAAS,KAAK,IAAI,CAAA;IAE1D,iBAAiB,CAAC,EAAE,SAAS,CAAA;IAE7B,uBAAuB,CAAC,EAAE,gBAAgB,CAAA;IAE1C,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B;;;;OAIG;IACH,cAAc,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAA;CAChD,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,WAAW,EAAE,MAAM,CAAA;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,iBAAiB,CAAC,EAAE,6BAA6B,EAAE,CAAA;CACpD,CAAA;AAED,MAAM,MAAM,6BAA6B,GAAG;IAC1C,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB,GAAG,UAAU,CAAA;AAEd,wBAAgB,WAAW,CAAC,EAC1B,cAAc,EACd,mBAAmB,EACnB,WAA2B,EAC3B,SAAiB,EACjB,qBAA6B,EAC7B,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,mBAA0B,EAC1B,cAAc,GACf,EAAE,gBAAgB,2CA0PlB;AAED,eAAe,WAAW,CAAA"}
|