synapse-react-client 4.0.3 → 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/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 +33 -32
- 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/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.module.scss +6 -0
- package/dist/components/BasePortalCard/BasePortalCard.module.scss.js +1 -1
- package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.css +1 -1
- package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.js +7 -7
- 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/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/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/CookiesNotification/CookiesNotification.js +1 -1
- package/dist/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizard.js +3 -4
- package/dist/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizard.js.map +1 -1
- package/dist/components/DataGrid/MergeGridWithSourceTableButton.js +2 -2
- package/dist/components/DataGrid/SynapseGrid.d.ts.map +1 -1
- package/dist/components/DataGrid/SynapseGrid.js +35 -35
- package/dist/components/DataGrid/SynapseGrid.js.map +1 -1
- package/dist/components/DataGrid/components/UploadCsvToGridDialog.js +2 -2
- 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/DownloadCart/ActionRequiredCard/ActionRequiredCard.js +1 -1
- package/dist/components/DownloadCart/RequestDownloadCard.js +1 -1
- package/dist/components/Ecosystem/EcosystemSkeleton.js +2 -2
- 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/EntityFinder/details/view/table/AddToDownloadListCell.js +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/FilePreview/EntityPreview.js +1 -1
- package/dist/components/Forum/DiscussionReply.js +10 -10
- package/dist/components/Forum/DiscussionThread.js +21 -21
- 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/SynapseCardLabel.d.ts.map +1 -1
- package/dist/components/GenericCard/SynapseCardLabel.js +72 -67
- package/dist/components/GenericCard/SynapseCardLabel.js.map +1 -1
- package/dist/components/GenericCard/TableRowGenericCard.d.ts +4 -1
- package/dist/components/GenericCard/TableRowGenericCard.d.ts.map +1 -1
- package/dist/components/GenericCard/TableRowGenericCard.js +98 -96
- 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/IDUReport/IDUReportSubmissionInfo.js +23 -23
- package/dist/components/IDUReport/IDUReportSubmissionInfo.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.map +1 -1
- package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js +114 -113
- 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/SubsectionRowRenderer/SubsectionRowRenderer.js +3 -3
- package/dist/components/SustainabilityScorecard/SustainabilityScorecardSummary.js +10 -10
- package/dist/components/SynapseChat/SynapseChatInteraction.js +5 -5
- 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/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/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/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/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 +2 -2
- 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 +109 -107
- package/dist/components/index.js.map +1 -1
- package/dist/components/layout/InfiniteTableLayout.js +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 +2 -2
- package/dist/components/table/CsvPreview/CsvPreviewDialog.js +2 -2
- 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 +2 -2
- package/dist/features/curator/GridPage/components/GridPageTitle.js +2 -2
- package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.js +1 -1
- package/dist/index.js +157 -155
- 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 -1
- package/dist/style/components/_entity-badge.scss +0 -2
- package/dist/style/components/_expandable_table_data.scss +3 -3
- 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/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/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 +14 -15
- 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/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/_user-search-box.scss +0 -30
|
@@ -6,7 +6,9 @@ function N(t) {
|
|
|
6
6
|
const [a, o] = s(!1), [d, i] = s(!1), l = f(null);
|
|
7
7
|
return m(l, ({ target: n }) => {
|
|
8
8
|
if (!a && n) {
|
|
9
|
-
const e = n.
|
|
9
|
+
const e = n.getElementsByClassName(
|
|
10
|
+
"SynapseTableCellContent"
|
|
11
|
+
)[0];
|
|
10
12
|
e && i(
|
|
11
13
|
e.scrollHeight > e.clientHeight + 2 || e.scrollWidth > e.clientWidth + 2
|
|
12
14
|
);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExpandableTableDataCell.js","sources":["../../../src/components/SynapseTable/ExpandableTableDataCell.tsx"],"sourcesContent":["import { HTMLAttributes, useRef, useState } from 'react'\nimport { useResizeObserver } from '@react-hookz/web'\nimport ExpandCollapseButton from './ExpandCollapseButton'\n\nexport default function ExpandableTableDataCell(\n props: HTMLAttributes<HTMLTableCellElement>,\n) {\n const [isExpanded, setIsExpanded] = useState(false)\n const [isOverflowingWhenNotExpanded, setIsOverflowingWhenNotExpanded] =\n useState(false)\n const tdRef = useRef<HTMLTableCellElement | null>(null)\n\n /**\n * When the cell is resized, check if it is overflowing.\n */\n useResizeObserver(tdRef, ({ target }) => {\n // Don't check overflow if the cell has been expanded by the user!\n if (!isExpanded) {\n if (target) {\n
|
|
1
|
+
{"version":3,"file":"ExpandableTableDataCell.js","sources":["../../../src/components/SynapseTable/ExpandableTableDataCell.tsx"],"sourcesContent":["import { HTMLAttributes, useRef, useState } from 'react'\nimport { useResizeObserver } from '@react-hookz/web'\nimport ExpandCollapseButton from './ExpandCollapseButton'\n\nexport default function ExpandableTableDataCell(\n props: HTMLAttributes<HTMLTableCellElement>,\n) {\n const [isExpanded, setIsExpanded] = useState(false)\n const [isOverflowingWhenNotExpanded, setIsOverflowingWhenNotExpanded] =\n useState(false)\n const tdRef = useRef<HTMLTableCellElement | null>(null)\n\n /**\n * When the cell is resized, check if it is overflowing.\n */\n useResizeObserver(tdRef, ({ target }) => {\n // Don't check overflow if the cell has been expanded by the user!\n if (!isExpanded) {\n if (target) {\n const contentElement = target.getElementsByClassName(\n 'SynapseTableCellContent',\n )[0]\n if (contentElement) {\n // Add 2px threshold to account for sub-pixel rounding errors\n const threshold = 2\n setIsOverflowingWhenNotExpanded(\n contentElement.scrollHeight >\n contentElement.clientHeight + threshold ||\n contentElement.scrollWidth >\n contentElement.clientWidth + threshold,\n )\n }\n }\n }\n })\n\n return (\n <td\n {...props}\n className={`ExpandableTableData ${\n props.className ? props.className : ''\n }`}\n aria-expanded={isExpanded}\n ref={tdRef}\n >\n {isOverflowingWhenNotExpanded && (\n <ExpandCollapseButton\n isExpanded={isExpanded}\n className=\"ExpandableTableData__expandButton\"\n onClick={() => setIsExpanded(!isExpanded)}\n />\n )}\n {props.children}\n </td>\n )\n}\n"],"names":["ExpandableTableDataCell","props","isExpanded","setIsExpanded","useState","isOverflowingWhenNotExpanded","setIsOverflowingWhenNotExpanded","tdRef","useRef","useResizeObserver","target","contentElement","jsxs","jsx","ExpandCollapseButton"],"mappings":";;;;AAIA,SAAwBA,EACtBC,GACA;AACA,QAAM,CAACC,GAAYC,CAAa,IAAIC,EAAS,EAAK,GAC5C,CAACC,GAA8BC,CAA+B,IAClEF,EAAS,EAAK,GACVG,IAAQC,EAAoC,IAAI;AAKtD,SAAAC,EAAkBF,GAAO,CAAC,EAAE,QAAAG,QAAa;AAEvC,QAAI,CAACR,KACCQ,GAAQ;AACV,YAAMC,IAAiBD,EAAO;AAAA,QAC5B;AAAA,MAAA,EACA,CAAC;AACH,MAAIC,KAGFL;AAAA,QACEK,EAAe,eACbA,EAAe,eAAe,KAC9BA,EAAe,cACbA,EAAe,cAAc;AAAA,MAAA;AAAA,IAGvC;AAAA,EAEJ,CAAC,GAGC,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACE,GAAGX;AAAA,MACJ,WAAW,uBACTA,EAAM,YAAYA,EAAM,YAAY,EACtC;AAAA,MACA,iBAAeC;AAAA,MACf,KAAKK;AAAA,MAEJ,UAAA;AAAA,QAAAF,KACC,gBAAAQ;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,YAAAZ;AAAA,YACA,WAAU;AAAA,YACV,SAAS,MAAMC,EAAc,CAACD,CAAU;AAAA,UAAA;AAAA,QAAA;AAAA,QAG3CD,EAAM;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGb;"}
|
|
@@ -29,7 +29,7 @@ import "react-router";
|
|
|
29
29
|
import "@sage-bionetworks/synapse-client";
|
|
30
30
|
import "../../utils/types/IsType.js";
|
|
31
31
|
import { useGetEntity as to } from "../../synapse-queries/entity/useEntity.js";
|
|
32
|
-
import {
|
|
32
|
+
import { useReactTable as no, getCoreRowModel as ro, createColumnHelper as so } from "@tanstack/react-table";
|
|
33
33
|
import { useAtomValue as io } from "jotai";
|
|
34
34
|
import { ModalDownload as lo } from "../ModalDownload/ModalDownload.js";
|
|
35
35
|
import { useQueryContext as ao } from "../QueryContext/QueryContext.js";
|
|
@@ -41,7 +41,7 @@ import { rowSelectionColumn as R, addToDownloadListColumn as A, directDownloadCo
|
|
|
41
41
|
import { isEntityViewOrDatasetOrCollection as fo, isFileViewOrDataset as ho, isSortableColumn as bo } from "./SynapseTableUtils.js";
|
|
42
42
|
import { usePrefetchResourcesInTable as yo } from "./usePrefetchTableData.js";
|
|
43
43
|
import { useTableSort as So } from "./useTableSort.js";
|
|
44
|
-
const To = [], Do =
|
|
44
|
+
const To = [], Do = so();
|
|
45
45
|
function pe(i) {
|
|
46
46
|
const { showDownloadColumn: m, hideDownload: M } = i, {
|
|
47
47
|
rowSet: o,
|
|
@@ -106,10 +106,10 @@ function pe(i) {
|
|
|
106
106
|
[t.name]: S.includes(t.name)
|
|
107
107
|
}), I),
|
|
108
108
|
[S, n, I]
|
|
109
|
-
), { dataHasBeenPrefetched: J } = yo(o), K = N || !J, X =
|
|
109
|
+
), { dataHasBeenPrefetched: J } = yo(o), K = N || !J, X = no({
|
|
110
110
|
data: o.rows,
|
|
111
111
|
columns: _,
|
|
112
|
-
getCoreRowModel:
|
|
112
|
+
getCoreRowModel: ro(),
|
|
113
113
|
manualSorting: !0,
|
|
114
114
|
manualFiltering: !0,
|
|
115
115
|
onSortingChange: j,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SynapseTableCell.d.ts","sourceRoot":"","sources":["../../../../src/components/SynapseTable/SynapseTableCell/SynapseTableCell.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAA;AAS9D,OAAO,EACL,WAAW,EACX,UAAU,EAGV,GAAG,EACH,YAAY,EAEb,MAAM,iCAAiC,CAAA;AAGxC,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC5E,OAAO,EACL,WAAW,EACX,8BAA8B,EAC/B,MAAM,6CAA6C,CAAA;AAcpD,MAAM,MAAM,qBAAqB,GAAG;IAClC,UAAU,EAAE,UAAU,CAAA;IACtB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,gBAAgB,CAAC,EACb,QAAQ,GACR,YAAY,GACZ,mBAAmB,GACnB,WAAW,GACX,8BAA8B,CAAA;IAClC,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,YAAY,EAAE,CAAA;IAC9B,YAAY,CAAC,EAAE,WAAW,EAAE,CAAA;IAC5B,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAA;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAC5B,CAAA;AAaD,iBAAS,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,
|
|
1
|
+
{"version":3,"file":"SynapseTableCell.d.ts","sourceRoot":"","sources":["../../../../src/components/SynapseTable/SynapseTableCell/SynapseTableCell.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAA;AAS9D,OAAO,EACL,WAAW,EACX,UAAU,EAGV,GAAG,EACH,YAAY,EAEb,MAAM,iCAAiC,CAAA;AAGxC,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC5E,OAAO,EACL,WAAW,EACX,8BAA8B,EAC/B,MAAM,6CAA6C,CAAA;AAcpD,MAAM,MAAM,qBAAqB,GAAG;IAClC,UAAU,EAAE,UAAU,CAAA;IACtB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,gBAAgB,CAAC,EACb,QAAQ,GACR,YAAY,GACZ,mBAAmB,GACnB,WAAW,GACX,8BAA8B,CAAA;IAClC,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,YAAY,EAAE,CAAA;IAC9B,YAAY,CAAC,EAAE,WAAW,EAAE,CAAA;IAC5B,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAA;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAC5B,CAAA;AAaD,iBAAS,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,2CAwQrD;;AAED,wBAAqC"}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import { jsx as e, Fragment as
|
|
1
|
+
import { jsx as e, Fragment as y, jsxs as c } from "react/jsx-runtime";
|
|
2
2
|
import "../../../synapse-client/SynapseClient.js";
|
|
3
3
|
import "@sage-bionetworks/synapse-client/generated/models/ErrorResponseCode";
|
|
4
4
|
import "@sage-bionetworks/synapse-client/generated/models/TwoFactorAuthErrorResponse";
|
|
5
5
|
import "@sage-bionetworks/synapse-client/util/SynapseClientError";
|
|
6
|
-
import { ColumnTypeEnum as
|
|
7
|
-
import { isEntityView as
|
|
6
|
+
import { ColumnTypeEnum as a, FileHandleAssociateType as C } from "@sage-bionetworks/synapse-types";
|
|
7
|
+
import { isEntityView as R, isDataset as w, isDatasetCollection as F } from "../../../utils/functions/EntityTypeUtils.js";
|
|
8
8
|
import "../../../utils/SynapseConstants.js";
|
|
9
9
|
import "lodash-es";
|
|
10
10
|
import "@sage-bionetworks/synapse-client/util/synapseClientFetch";
|
|
11
11
|
import "@tanstack/react-query";
|
|
12
12
|
import "../../../utils/PermissionLevelToAccessType.js";
|
|
13
|
-
import { memo as
|
|
13
|
+
import { memo as A, Fragment as _ } from "react";
|
|
14
14
|
import "../../../utils/context/SynapseContext.js";
|
|
15
15
|
import "use-deep-compare-effect";
|
|
16
|
-
import { Typography as
|
|
16
|
+
import { Typography as p, Link as j } from "@mui/material";
|
|
17
17
|
import "../../../utils/hooks/useCookiePreferences.js";
|
|
18
18
|
import "../../../utils/hooks/useSourceAppConfigs.js";
|
|
19
19
|
import "universal-cookie";
|
|
@@ -29,180 +29,180 @@ import "react-router";
|
|
|
29
29
|
import "@sage-bionetworks/synapse-client";
|
|
30
30
|
import "../../../utils/types/IsType.js";
|
|
31
31
|
import { useGetEntity as U } from "../../../synapse-queries/entity/useEntity.js";
|
|
32
|
-
import { formatDate as
|
|
33
|
-
import
|
|
34
|
-
import
|
|
35
|
-
import { EntityLink as
|
|
36
|
-
import { SynapseCardLabel as
|
|
32
|
+
import { formatDate as S } from "../../../utils/functions/DateFormatter.js";
|
|
33
|
+
import h from "dayjs";
|
|
34
|
+
import $ from "../../DirectDownload/DirectDownload.js";
|
|
35
|
+
import { EntityLink as I } from "../../EntityLink.js";
|
|
36
|
+
import { SynapseCardLabel as G } from "../../GenericCard/SynapseCardLabel.js";
|
|
37
37
|
import "../../GenericCard/GenericCard.js";
|
|
38
38
|
import "../../Markdown/MarkdownSynapse.js";
|
|
39
|
-
import
|
|
40
|
-
import { useQueryContext as
|
|
41
|
-
import
|
|
42
|
-
import { NOT_SET_DISPLAY_VALUE as
|
|
43
|
-
import { isFileViewOrDataset as
|
|
44
|
-
import
|
|
39
|
+
import f from "../../GenericCard/Linkify.js";
|
|
40
|
+
import { useQueryContext as J } from "../../QueryContext/QueryContext.js";
|
|
41
|
+
import k from "../../UserOrTeamBadge/UserOrTeamBadge.js";
|
|
42
|
+
import { NOT_SET_DISPLAY_VALUE as V } from "../SynapseTableConstants.js";
|
|
43
|
+
import { isFileViewOrDataset as B } from "../SynapseTableUtils.js";
|
|
44
|
+
import H from "./EntityIdList.js";
|
|
45
45
|
import M from "./EvaluationIdRenderer.js";
|
|
46
46
|
import Y from "./JSON/JSONTableCellRenderer.js";
|
|
47
47
|
import P from "./UserIdList.js";
|
|
48
|
-
function
|
|
48
|
+
function b(d) {
|
|
49
49
|
return d.toLowerCase() === "id" ? "id" : "name";
|
|
50
50
|
}
|
|
51
51
|
function X(d) {
|
|
52
52
|
const {
|
|
53
|
-
columnType:
|
|
54
|
-
columnValue:
|
|
55
|
-
isBold:
|
|
56
|
-
columnLinkConfig:
|
|
57
|
-
columnName:
|
|
58
|
-
selectColumns:
|
|
59
|
-
columnModels:
|
|
60
|
-
rowData:
|
|
53
|
+
columnType: T,
|
|
54
|
+
columnValue: t,
|
|
55
|
+
isBold: l,
|
|
56
|
+
columnLinkConfig: u,
|
|
57
|
+
columnName: s,
|
|
58
|
+
selectColumns: E,
|
|
59
|
+
columnModels: v,
|
|
60
|
+
rowData: L,
|
|
61
61
|
rowId: m,
|
|
62
|
-
rowVersionNumber:
|
|
63
|
-
isRowEntityColumn:
|
|
64
|
-
} = d, { entityId:
|
|
65
|
-
if (!
|
|
66
|
-
return /* @__PURE__ */ e("
|
|
67
|
-
if (
|
|
62
|
+
rowVersionNumber: N,
|
|
63
|
+
isRowEntityColumn: D
|
|
64
|
+
} = d, { entityId: g, versionNumber: O } = J(), { data: i } = U(g, O);
|
|
65
|
+
if (!t)
|
|
66
|
+
return /* @__PURE__ */ e("div", { className: "SynapseTableCellContent SRC-inactive", children: V });
|
|
67
|
+
if (u)
|
|
68
68
|
return /* @__PURE__ */ e(
|
|
69
|
-
|
|
69
|
+
G,
|
|
70
70
|
{
|
|
71
|
-
value:
|
|
72
|
-
columnName:
|
|
73
|
-
selectColumns:
|
|
74
|
-
columnModels:
|
|
71
|
+
value: t,
|
|
72
|
+
columnName: s,
|
|
73
|
+
selectColumns: E,
|
|
74
|
+
columnModels: v,
|
|
75
75
|
isHeader: !1,
|
|
76
|
-
labelLink:
|
|
77
|
-
rowData:
|
|
76
|
+
labelLink: u,
|
|
77
|
+
rowData: L,
|
|
78
78
|
rowId: m
|
|
79
79
|
}
|
|
80
80
|
);
|
|
81
|
-
if ((
|
|
82
|
-
return /* @__PURE__ */ e("
|
|
83
|
-
|
|
81
|
+
if ((i && (R(i) || w(i) || F(i)) || D) && (s === "id" || s === "name") && m && N)
|
|
82
|
+
return /* @__PURE__ */ e("div", { className: "SynapseTableCellContent", children: /* @__PURE__ */ e(
|
|
83
|
+
I,
|
|
84
84
|
{
|
|
85
85
|
entity: m,
|
|
86
|
-
versionNumber:
|
|
87
|
-
className: `${
|
|
86
|
+
versionNumber: N,
|
|
87
|
+
className: `${l}`,
|
|
88
88
|
showIcon: !1,
|
|
89
|
-
displayTextField:
|
|
89
|
+
displayTextField: s
|
|
90
90
|
}
|
|
91
91
|
) });
|
|
92
|
-
switch (
|
|
93
|
-
case
|
|
94
|
-
const
|
|
95
|
-
return /* @__PURE__ */ e("
|
|
96
|
-
|
|
92
|
+
switch (T) {
|
|
93
|
+
case a.ENTITYID: {
|
|
94
|
+
const n = b(s);
|
|
95
|
+
return /* @__PURE__ */ e("div", { className: "SynapseTableCellContent", children: /* @__PURE__ */ e(
|
|
96
|
+
I,
|
|
97
97
|
{
|
|
98
|
-
entity:
|
|
99
|
-
className: `${
|
|
100
|
-
displayTextField:
|
|
98
|
+
entity: t,
|
|
99
|
+
className: `${l}`,
|
|
100
|
+
displayTextField: n,
|
|
101
101
|
showIcon: !1
|
|
102
102
|
}
|
|
103
103
|
) });
|
|
104
104
|
}
|
|
105
|
-
case
|
|
106
|
-
const
|
|
107
|
-
return /* @__PURE__ */
|
|
108
|
-
|
|
109
|
-
h(
|
|
110
|
-
|
|
111
|
-
] },
|
|
105
|
+
case a.DATE_LIST: {
|
|
106
|
+
const n = JSON.parse(t);
|
|
107
|
+
return /* @__PURE__ */ c("div", { className: "SynapseTableCellContent", children: [
|
|
108
|
+
n.map((r, o) => /* @__PURE__ */ c("span", { className: l, children: [
|
|
109
|
+
S(h(Number(r))),
|
|
110
|
+
o !== n.length - 1 ? ", " : ""
|
|
111
|
+
] }, o)),
|
|
112
112
|
" "
|
|
113
113
|
] });
|
|
114
114
|
}
|
|
115
|
-
case
|
|
116
|
-
const
|
|
117
|
-
return /* @__PURE__ */ e("
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
] },
|
|
115
|
+
case a.BOOLEAN_LIST: {
|
|
116
|
+
const n = JSON.parse(t);
|
|
117
|
+
return /* @__PURE__ */ e("div", { className: "SynapseTableCellContent", children: n.map((r, o) => /* @__PURE__ */ c("span", { className: l, children: [
|
|
118
|
+
r ? "true" : "false",
|
|
119
|
+
o !== n.length - 1 ? ", " : ""
|
|
120
|
+
] }, o)) });
|
|
121
121
|
}
|
|
122
|
-
case
|
|
123
|
-
let
|
|
124
|
-
return
|
|
125
|
-
|
|
122
|
+
case a.FILEHANDLEID: {
|
|
123
|
+
let n = i.id, r = C.TableEntity;
|
|
124
|
+
return B(i) && s === "dataFileHandleId" && (n = String(m), r = C.FileEntity), /* @__PURE__ */ e(y, { children: i && /* @__PURE__ */ e("div", { className: "SynapseTableCellContent", children: /* @__PURE__ */ e(
|
|
125
|
+
$,
|
|
126
126
|
{
|
|
127
127
|
iconSvgPropOverrides: { sx: { color: "primary.main" } },
|
|
128
|
-
associatedObjectId:
|
|
129
|
-
associatedObjectType:
|
|
130
|
-
fileHandleId:
|
|
128
|
+
associatedObjectId: n,
|
|
129
|
+
associatedObjectType: r,
|
|
130
|
+
fileHandleId: t,
|
|
131
131
|
displayFileName: !0
|
|
132
132
|
}
|
|
133
133
|
) }) });
|
|
134
134
|
}
|
|
135
|
-
case
|
|
136
|
-
const
|
|
137
|
-
return /* @__PURE__ */ e("
|
|
138
|
-
|
|
135
|
+
case a.ENTITYID_LIST: {
|
|
136
|
+
const n = b(s), r = JSON.parse(t);
|
|
137
|
+
return /* @__PURE__ */ e("div", { className: "SynapseTableCellContent", children: /* @__PURE__ */ e(
|
|
138
|
+
H,
|
|
139
139
|
{
|
|
140
|
-
entityIdList:
|
|
141
|
-
displayTextField:
|
|
140
|
+
entityIdList: r,
|
|
141
|
+
displayTextField: n,
|
|
142
142
|
showIcon: !1
|
|
143
143
|
}
|
|
144
144
|
) });
|
|
145
145
|
}
|
|
146
|
-
case
|
|
147
|
-
const
|
|
148
|
-
return /* @__PURE__ */ e("
|
|
146
|
+
case a.USERID_LIST: {
|
|
147
|
+
const n = JSON.parse(t);
|
|
148
|
+
return /* @__PURE__ */ e("div", { className: "SynapseTableCellContent", children: /* @__PURE__ */ e(P, { userIds: n }) });
|
|
149
149
|
}
|
|
150
150
|
// handle other list types
|
|
151
|
-
case
|
|
152
|
-
case
|
|
153
|
-
const
|
|
154
|
-
return /* @__PURE__ */ e("
|
|
155
|
-
const
|
|
156
|
-
return /* @__PURE__ */
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
] },
|
|
151
|
+
case a.STRING_LIST:
|
|
152
|
+
case a.INTEGER_LIST: {
|
|
153
|
+
const n = JSON.parse(t);
|
|
154
|
+
return /* @__PURE__ */ e("div", { className: `SynapseTableCellContent ${l}`, children: n.map((r, o) => {
|
|
155
|
+
const x = T == a.STRING_LIST ? /* @__PURE__ */ e(f, { text: r }) : /* @__PURE__ */ e(y, { children: r });
|
|
156
|
+
return /* @__PURE__ */ c(_, { children: [
|
|
157
|
+
x,
|
|
158
|
+
o !== n.length - 1 ? ", " : ""
|
|
159
|
+
] }, r);
|
|
160
160
|
}) });
|
|
161
161
|
}
|
|
162
|
-
case
|
|
163
|
-
return /* @__PURE__ */ e(M, { evaluationId:
|
|
164
|
-
case
|
|
165
|
-
return /* @__PURE__ */ e("
|
|
166
|
-
case
|
|
167
|
-
return /* @__PURE__ */ e(
|
|
168
|
-
case
|
|
169
|
-
return /* @__PURE__ */ e("
|
|
170
|
-
case
|
|
171
|
-
case
|
|
172
|
-
case
|
|
173
|
-
case
|
|
174
|
-
return /* @__PURE__ */ e(
|
|
175
|
-
case
|
|
176
|
-
return /* @__PURE__ */ e(
|
|
177
|
-
|
|
162
|
+
case a.EVALUATIONID:
|
|
163
|
+
return /* @__PURE__ */ e("div", { className: "SynapseTableCellContent", children: /* @__PURE__ */ e(M, { evaluationId: t }) });
|
|
164
|
+
case a.DATE:
|
|
165
|
+
return /* @__PURE__ */ e("div", { className: `SynapseTableCellContent ${l}`, children: S(h(Number(t))) });
|
|
166
|
+
case a.USERID:
|
|
167
|
+
return /* @__PURE__ */ e("div", { className: "SynapseTableCellContent", children: /* @__PURE__ */ e(k, { principalId: t }) });
|
|
168
|
+
case a.LINK:
|
|
169
|
+
return /* @__PURE__ */ e("div", { className: "SynapseTableCellContent", children: /* @__PURE__ */ e(j, { target: "_blank", rel: "noopener noreferrer", href: t, children: t }) });
|
|
170
|
+
case a.STRING:
|
|
171
|
+
case a.BOOLEAN:
|
|
172
|
+
case a.MEDIUMTEXT:
|
|
173
|
+
case a.LARGETEXT:
|
|
174
|
+
return /* @__PURE__ */ e("div", { className: "SynapseTableCellContent", children: /* @__PURE__ */ e(p, { variant: "smallText1", className: l, children: /* @__PURE__ */ e(f, { text: t }) }) });
|
|
175
|
+
case a.INTEGER:
|
|
176
|
+
return /* @__PURE__ */ e("div", { className: "SynapseTableCellContent", children: /* @__PURE__ */ e(
|
|
177
|
+
p,
|
|
178
178
|
{
|
|
179
179
|
variant: "smallText1",
|
|
180
180
|
sx: { textAlign: "right" },
|
|
181
|
-
className:
|
|
182
|
-
children: parseInt(
|
|
181
|
+
className: l,
|
|
182
|
+
children: parseInt(t).toLocaleString()
|
|
183
183
|
}
|
|
184
|
-
);
|
|
185
|
-
case
|
|
186
|
-
return /* @__PURE__ */ e(
|
|
187
|
-
|
|
184
|
+
) });
|
|
185
|
+
case a.DOUBLE:
|
|
186
|
+
return /* @__PURE__ */ e("div", { className: "SynapseTableCellContent", children: /* @__PURE__ */ e(
|
|
187
|
+
p,
|
|
188
188
|
{
|
|
189
189
|
variant: "smallText1",
|
|
190
190
|
sx: { textAlign: "right" },
|
|
191
|
-
className:
|
|
192
|
-
children: parseFloat(
|
|
191
|
+
className: l,
|
|
192
|
+
children: parseFloat(t).toLocaleString()
|
|
193
193
|
}
|
|
194
|
-
);
|
|
195
|
-
case
|
|
196
|
-
return /* @__PURE__ */ e(Y, { value:
|
|
194
|
+
) });
|
|
195
|
+
case a.JSON:
|
|
196
|
+
return /* @__PURE__ */ e("div", { className: "SynapseTableCellContent", children: /* @__PURE__ */ e(Y, { value: t }) });
|
|
197
197
|
default:
|
|
198
198
|
return console.warn(
|
|
199
|
-
`ColumnType ${
|
|
200
|
-
), /* @__PURE__ */ e(
|
|
199
|
+
`ColumnType ${T} has unspecified handler. Rendering the column value.`
|
|
200
|
+
), /* @__PURE__ */ e("div", { className: "SynapseTableCellContent", children: /* @__PURE__ */ e(p, { variant: "smallText1", className: l, children: t }) });
|
|
201
201
|
}
|
|
202
|
-
return /* @__PURE__ */ e("
|
|
202
|
+
return /* @__PURE__ */ e("div", { className: `SynapseTableCellContent ${l}`, children: t });
|
|
203
203
|
}
|
|
204
|
-
const
|
|
204
|
+
const Be = A(X);
|
|
205
205
|
export {
|
|
206
|
-
|
|
206
|
+
Be as default
|
|
207
207
|
};
|
|
208
208
|
//# sourceMappingURL=SynapseTableCell.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SynapseTableCell.js","sources":["../../../../src/components/SynapseTable/SynapseTableCell/SynapseTableCell.tsx"],"sourcesContent":["import { CardLink } from '@/components/CardContainer/CardLink'\nimport { useGetEntity } from '@/synapse-queries'\nimport { formatDate } from '@/utils/functions/DateFormatter'\nimport {\n isDataset,\n isDatasetCollection,\n isEntityView,\n} from '@/utils/functions/EntityTypeUtils'\nimport { Link, Typography } from '@mui/material'\nimport {\n ColumnModel,\n ColumnType,\n ColumnTypeEnum,\n FileHandleAssociateType,\n Row,\n SelectColumn,\n Table,\n} from '@sage-bionetworks/synapse-types'\nimport dayjs from 'dayjs'\nimport { Fragment, memo } from 'react'\nimport { ColumnSpecifiedLink, MarkdownLink } from '../../CardContainerLogic'\nimport {\n EntityImage,\n MapValueToReactComponentConfig,\n} from '../../CardContainerLogic/CardContainerLogic'\nimport DirectDownload from '../../DirectDownload/DirectDownload'\nimport { EntityLink, EntityLinkProps } from '../../EntityLink'\nimport { SynapseCardLabel } from '../../GenericCard'\nimport Linkify from '../../GenericCard/Linkify'\nimport { useQueryContext } from '../../QueryContext'\nimport UserOrTeamBadge from '../../UserOrTeamBadge'\nimport { NOT_SET_DISPLAY_VALUE } from '../SynapseTableConstants'\nimport { isFileViewOrDataset } from '../SynapseTableUtils'\nimport EntityIdList from './EntityIdList'\nimport EvaluationIdRenderer from './EvaluationIdRenderer'\nimport JSONTableCellRenderer from './JSON/JSONTableCellRenderer'\nimport UserIdList from './UserIdList'\n\nexport type SynapseTableCellProps = {\n columnType: ColumnType\n columnValue: string | null\n isBold: string\n columnLinkConfig?:\n | CardLink\n | MarkdownLink\n | ColumnSpecifiedLink\n | EntityImage\n | MapValueToReactComponentConfig\n columnName: string\n selectColumns?: SelectColumn[]\n columnModels?: ColumnModel[]\n rowData: Row['values']\n rowId?: string\n rowVersionNumber?: number\n isRowEntityColumn?: boolean\n}\n\nfunction getDisplayTextFieldForEntityIdColumn(\n columnName: string,\n): EntityLinkProps['displayTextField'] {\n // SWC-7235 - For any table type, if the column is an ENTITYID and the column name is 'id', then display the ID.\n // Otherwise, display the entity name.\n if (columnName.toLowerCase() === 'id') {\n return 'id'\n }\n return 'name'\n}\n\nfunction SynapseTableCell(props: SynapseTableCellProps) {\n const {\n columnType,\n columnValue,\n isBold,\n columnLinkConfig,\n columnName,\n selectColumns,\n columnModels,\n rowData,\n rowId,\n rowVersionNumber,\n isRowEntityColumn,\n } = props\n const { entityId, versionNumber } = useQueryContext()\n const { data: entity } = useGetEntity<Table>(entityId, versionNumber)\n\n if (!columnValue) {\n return <p className=\"SRC-inactive\">{NOT_SET_DISPLAY_VALUE}</p>\n }\n\n if (columnLinkConfig) {\n return (\n <SynapseCardLabel\n value={columnValue}\n columnName={columnName}\n selectColumns={selectColumns}\n columnModels={columnModels}\n isHeader={false}\n labelLink={columnLinkConfig}\n rowData={rowData}\n rowId={rowId}\n />\n )\n }\n\n // PORTALS-2095: Special case. If this is an EntityView, and we are rendering the 'id' or 'name' column,\n // and we have a rowId and rowVersionNumber (should always be the case), and our entityIdToHeader map\n // contains the row Synapse ID, then auto-link.\n const tableRowRepresentsEntity =\n entity &&\n (isEntityView(entity) || isDataset(entity) || isDatasetCollection(entity))\n if (\n (tableRowRepresentsEntity || isRowEntityColumn) &&\n (columnName === 'id' || columnName === 'name') &&\n rowId &&\n rowVersionNumber\n ) {\n return (\n <p>\n <EntityLink\n entity={rowId}\n versionNumber={rowVersionNumber}\n className={`${isBold}`}\n showIcon={false}\n displayTextField={columnName}\n />\n </p>\n )\n }\n\n switch (columnType) {\n case ColumnTypeEnum.ENTITYID: {\n const displayTextField = getDisplayTextFieldForEntityIdColumn(columnName)\n return (\n <p>\n <EntityLink\n entity={columnValue}\n className={`${isBold}`}\n displayTextField={displayTextField}\n showIcon={false}\n />\n </p>\n )\n }\n case ColumnTypeEnum.DATE_LIST: {\n const jsonData: number[] = JSON.parse(columnValue)\n return (\n <p>\n {jsonData.map((val: number, index: number) => {\n return (\n <span key={index} className={isBold}>\n {formatDate(dayjs(Number(val)))}\n {index !== jsonData.length - 1 ? ', ' : ''}\n </span>\n )\n })}{' '}\n </p>\n )\n }\n case ColumnTypeEnum.BOOLEAN_LIST: {\n const jsonData: boolean[] = JSON.parse(columnValue)\n return (\n <p>\n {jsonData.map((val: boolean, index: number) => {\n return (\n <span key={index} className={isBold}>\n {val ? 'true' : 'false'}\n {index !== jsonData.length - 1 ? ', ' : ''}\n </span>\n )\n })}\n </p>\n )\n }\n case ColumnTypeEnum.FILEHANDLEID: {\n let associatedObjectId = entity!.id!\n let associatedObjectType = FileHandleAssociateType.TableEntity\n if (isFileViewOrDataset(entity) && columnName === 'dataFileHandleId') {\n associatedObjectId = String(rowId)\n associatedObjectType = FileHandleAssociateType.FileEntity\n }\n return (\n <>\n {entity && (\n <p>\n <DirectDownload\n iconSvgPropOverrides={{ sx: { color: 'primary.main' } }}\n associatedObjectId={associatedObjectId}\n associatedObjectType={associatedObjectType}\n fileHandleId={columnValue}\n displayFileName={true}\n />\n </p>\n )}\n </>\n )\n }\n case ColumnTypeEnum.ENTITYID_LIST: {\n const displayTextField = getDisplayTextFieldForEntityIdColumn(columnName)\n const jsonData: string[] = JSON.parse(columnValue)\n return (\n <p>\n <EntityIdList\n entityIdList={jsonData}\n displayTextField={displayTextField}\n showIcon={false}\n />\n </p>\n )\n }\n case ColumnTypeEnum.USERID_LIST: {\n const jsonData: string[] = JSON.parse(columnValue)\n return (\n <p>\n <UserIdList userIds={jsonData} />\n </p>\n )\n }\n // handle other list types\n case ColumnTypeEnum.STRING_LIST:\n case ColumnTypeEnum.INTEGER_LIST: {\n const jsonData: string[] = JSON.parse(columnValue)\n return (\n <p className={isBold}>\n {jsonData.map((val: string, index: number) => {\n const textRenderer =\n columnType == ColumnTypeEnum.STRING_LIST ? (\n <Linkify text={val} />\n ) : (\n <>{val}</>\n )\n return (\n <Fragment key={val}>\n {textRenderer}\n {index !== jsonData.length - 1 ? ', ' : ''}\n </Fragment>\n )\n })}\n </p>\n )\n }\n case ColumnTypeEnum.EVALUATIONID: {\n return <EvaluationIdRenderer evaluationId={columnValue} />\n }\n\n case ColumnTypeEnum.DATE:\n return <p className={isBold}>{formatDate(dayjs(Number(columnValue)))}</p>\n\n case ColumnTypeEnum.USERID:\n return <UserOrTeamBadge principalId={columnValue} />\n case ColumnTypeEnum.LINK:\n return (\n <p>\n <Link target=\"_blank\" rel=\"noopener noreferrer\" href={columnValue}>\n {columnValue}\n </Link>\n </p>\n )\n case ColumnTypeEnum.STRING:\n case ColumnTypeEnum.BOOLEAN:\n case ColumnTypeEnum.MEDIUMTEXT:\n case ColumnTypeEnum.LARGETEXT: {\n return (\n <Typography variant={'smallText1'} className={isBold}>\n <Linkify text={columnValue} />\n </Typography>\n )\n }\n case ColumnTypeEnum.INTEGER:\n return (\n <Typography\n variant={'smallText1'}\n sx={{ textAlign: 'right' }}\n className={isBold}\n >\n {parseInt(columnValue).toLocaleString()}\n </Typography>\n )\n case ColumnTypeEnum.DOUBLE:\n return (\n <Typography\n variant={'smallText1'}\n sx={{ textAlign: 'right' }}\n className={isBold}\n >\n {parseFloat(columnValue).toLocaleString()}\n </Typography>\n )\n case ColumnTypeEnum.JSON:\n return <JSONTableCellRenderer value={columnValue} />\n default:\n console.warn(\n `ColumnType ${columnType} has unspecified handler. Rendering the column value.`,\n )\n return (\n <Typography variant={'smallText1'} className={isBold}>\n {columnValue}\n </Typography>\n )\n }\n // We can reach this if we don't get a mapping of IDs to entities or principals.\n // TODO: If we don't have a id:data mapping, we should render a component that can fetch the required data, rather than breaking from the case.\n return <p className={isBold}>{columnValue}</p>\n}\n\nexport default memo(SynapseTableCell)\n"],"names":["getDisplayTextFieldForEntityIdColumn","columnName","SynapseTableCell","props","columnType","columnValue","isBold","columnLinkConfig","selectColumns","columnModels","rowData","rowId","rowVersionNumber","isRowEntityColumn","entityId","versionNumber","useQueryContext","entity","useGetEntity","jsx","NOT_SET_DISPLAY_VALUE","SynapseCardLabel","isEntityView","isDataset","isDatasetCollection","EntityLink","ColumnTypeEnum","displayTextField","jsonData","val","index","jsxs","formatDate","dayjs","associatedObjectId","associatedObjectType","FileHandleAssociateType","isFileViewOrDataset","Fragment","DirectDownload","EntityIdList","UserIdList","textRenderer","Linkify","EvaluationIdRenderer","UserOrTeamBadge","Link","Typography","JSONTableCellRenderer","SynapseTableCell$1","memo"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SynapseTableCell.js","sources":["../../../../src/components/SynapseTable/SynapseTableCell/SynapseTableCell.tsx"],"sourcesContent":["import { CardLink } from '@/components/CardContainer/CardLink'\nimport { useGetEntity } from '@/synapse-queries'\nimport { formatDate } from '@/utils/functions/DateFormatter'\nimport {\n isDataset,\n isDatasetCollection,\n isEntityView,\n} from '@/utils/functions/EntityTypeUtils'\nimport { Link, Typography } from '@mui/material'\nimport {\n ColumnModel,\n ColumnType,\n ColumnTypeEnum,\n FileHandleAssociateType,\n Row,\n SelectColumn,\n Table,\n} from '@sage-bionetworks/synapse-types'\nimport dayjs from 'dayjs'\nimport { Fragment, memo } from 'react'\nimport { ColumnSpecifiedLink, MarkdownLink } from '../../CardContainerLogic'\nimport {\n EntityImage,\n MapValueToReactComponentConfig,\n} from '../../CardContainerLogic/CardContainerLogic'\nimport DirectDownload from '../../DirectDownload/DirectDownload'\nimport { EntityLink, EntityLinkProps } from '../../EntityLink'\nimport { SynapseCardLabel } from '../../GenericCard'\nimport Linkify from '../../GenericCard/Linkify'\nimport { useQueryContext } from '../../QueryContext'\nimport UserOrTeamBadge from '../../UserOrTeamBadge'\nimport { NOT_SET_DISPLAY_VALUE } from '../SynapseTableConstants'\nimport { isFileViewOrDataset } from '../SynapseTableUtils'\nimport EntityIdList from './EntityIdList'\nimport EvaluationIdRenderer from './EvaluationIdRenderer'\nimport JSONTableCellRenderer from './JSON/JSONTableCellRenderer'\nimport UserIdList from './UserIdList'\n\nexport type SynapseTableCellProps = {\n columnType: ColumnType\n columnValue: string | null\n isBold: string\n columnLinkConfig?:\n | CardLink\n | MarkdownLink\n | ColumnSpecifiedLink\n | EntityImage\n | MapValueToReactComponentConfig\n columnName: string\n selectColumns?: SelectColumn[]\n columnModels?: ColumnModel[]\n rowData: Row['values']\n rowId?: string\n rowVersionNumber?: number\n isRowEntityColumn?: boolean\n}\n\nfunction getDisplayTextFieldForEntityIdColumn(\n columnName: string,\n): EntityLinkProps['displayTextField'] {\n // SWC-7235 - For any table type, if the column is an ENTITYID and the column name is 'id', then display the ID.\n // Otherwise, display the entity name.\n if (columnName.toLowerCase() === 'id') {\n return 'id'\n }\n return 'name'\n}\n\nfunction SynapseTableCell(props: SynapseTableCellProps) {\n const {\n columnType,\n columnValue,\n isBold,\n columnLinkConfig,\n columnName,\n selectColumns,\n columnModels,\n rowData,\n rowId,\n rowVersionNumber,\n isRowEntityColumn,\n } = props\n const { entityId, versionNumber } = useQueryContext()\n const { data: entity } = useGetEntity<Table>(entityId, versionNumber)\n\n if (!columnValue) {\n return (\n <div className=\"SynapseTableCellContent SRC-inactive\">\n {NOT_SET_DISPLAY_VALUE}\n </div>\n )\n }\n\n if (columnLinkConfig) {\n return (\n <SynapseCardLabel\n value={columnValue}\n columnName={columnName}\n selectColumns={selectColumns}\n columnModels={columnModels}\n isHeader={false}\n labelLink={columnLinkConfig}\n rowData={rowData}\n rowId={rowId}\n />\n )\n }\n\n // PORTALS-2095: Special case. If this is an EntityView, and we are rendering the 'id' or 'name' column,\n // and we have a rowId and rowVersionNumber (should always be the case), and our entityIdToHeader map\n // contains the row Synapse ID, then auto-link.\n const tableRowRepresentsEntity =\n entity &&\n (isEntityView(entity) || isDataset(entity) || isDatasetCollection(entity))\n if (\n (tableRowRepresentsEntity || isRowEntityColumn) &&\n (columnName === 'id' || columnName === 'name') &&\n rowId &&\n rowVersionNumber\n ) {\n return (\n <div className=\"SynapseTableCellContent\">\n <EntityLink\n entity={rowId}\n versionNumber={rowVersionNumber}\n className={`${isBold}`}\n showIcon={false}\n displayTextField={columnName}\n />\n </div>\n )\n }\n\n switch (columnType) {\n case ColumnTypeEnum.ENTITYID: {\n const displayTextField = getDisplayTextFieldForEntityIdColumn(columnName)\n return (\n <div className=\"SynapseTableCellContent\">\n <EntityLink\n entity={columnValue}\n className={`${isBold}`}\n displayTextField={displayTextField}\n showIcon={false}\n />\n </div>\n )\n }\n case ColumnTypeEnum.DATE_LIST: {\n const jsonData: number[] = JSON.parse(columnValue)\n return (\n <div className=\"SynapseTableCellContent\">\n {jsonData.map((val: number, index: number) => {\n return (\n <span key={index} className={isBold}>\n {formatDate(dayjs(Number(val)))}\n {index !== jsonData.length - 1 ? ', ' : ''}\n </span>\n )\n })}{' '}\n </div>\n )\n }\n case ColumnTypeEnum.BOOLEAN_LIST: {\n const jsonData: boolean[] = JSON.parse(columnValue)\n return (\n <div className=\"SynapseTableCellContent\">\n {jsonData.map((val: boolean, index: number) => {\n return (\n <span key={index} className={isBold}>\n {val ? 'true' : 'false'}\n {index !== jsonData.length - 1 ? ', ' : ''}\n </span>\n )\n })}\n </div>\n )\n }\n case ColumnTypeEnum.FILEHANDLEID: {\n let associatedObjectId = entity!.id!\n let associatedObjectType = FileHandleAssociateType.TableEntity\n if (isFileViewOrDataset(entity) && columnName === 'dataFileHandleId') {\n associatedObjectId = String(rowId)\n associatedObjectType = FileHandleAssociateType.FileEntity\n }\n return (\n <>\n {entity && (\n <div className=\"SynapseTableCellContent\">\n <DirectDownload\n iconSvgPropOverrides={{ sx: { color: 'primary.main' } }}\n associatedObjectId={associatedObjectId}\n associatedObjectType={associatedObjectType}\n fileHandleId={columnValue}\n displayFileName={true}\n />\n </div>\n )}\n </>\n )\n }\n case ColumnTypeEnum.ENTITYID_LIST: {\n const displayTextField = getDisplayTextFieldForEntityIdColumn(columnName)\n const jsonData: string[] = JSON.parse(columnValue)\n return (\n <div className=\"SynapseTableCellContent\">\n <EntityIdList\n entityIdList={jsonData}\n displayTextField={displayTextField}\n showIcon={false}\n />\n </div>\n )\n }\n case ColumnTypeEnum.USERID_LIST: {\n const jsonData: string[] = JSON.parse(columnValue)\n return (\n <div className=\"SynapseTableCellContent\">\n <UserIdList userIds={jsonData} />\n </div>\n )\n }\n // handle other list types\n case ColumnTypeEnum.STRING_LIST:\n case ColumnTypeEnum.INTEGER_LIST: {\n const jsonData: string[] = JSON.parse(columnValue)\n return (\n <div className={`SynapseTableCellContent ${isBold}`}>\n {jsonData.map((val: string, index: number) => {\n const textRenderer =\n columnType == ColumnTypeEnum.STRING_LIST ? (\n <Linkify text={val} />\n ) : (\n <>{val}</>\n )\n return (\n <Fragment key={val}>\n {textRenderer}\n {index !== jsonData.length - 1 ? ', ' : ''}\n </Fragment>\n )\n })}\n </div>\n )\n }\n case ColumnTypeEnum.EVALUATIONID: {\n return (\n <div className=\"SynapseTableCellContent\">\n <EvaluationIdRenderer evaluationId={columnValue} />\n </div>\n )\n }\n\n case ColumnTypeEnum.DATE:\n return (\n <div className={`SynapseTableCellContent ${isBold}`}>\n {formatDate(dayjs(Number(columnValue)))}\n </div>\n )\n\n case ColumnTypeEnum.USERID:\n return (\n <div className=\"SynapseTableCellContent\">\n <UserOrTeamBadge principalId={columnValue} />\n </div>\n )\n case ColumnTypeEnum.LINK:\n return (\n <div className=\"SynapseTableCellContent\">\n <Link target=\"_blank\" rel=\"noopener noreferrer\" href={columnValue}>\n {columnValue}\n </Link>\n </div>\n )\n case ColumnTypeEnum.STRING:\n case ColumnTypeEnum.BOOLEAN:\n case ColumnTypeEnum.MEDIUMTEXT:\n case ColumnTypeEnum.LARGETEXT: {\n return (\n <div className=\"SynapseTableCellContent\">\n <Typography variant={'smallText1'} className={isBold}>\n <Linkify text={columnValue} />\n </Typography>\n </div>\n )\n }\n case ColumnTypeEnum.INTEGER:\n return (\n <div className=\"SynapseTableCellContent\">\n <Typography\n variant={'smallText1'}\n sx={{ textAlign: 'right' }}\n className={isBold}\n >\n {parseInt(columnValue).toLocaleString()}\n </Typography>\n </div>\n )\n case ColumnTypeEnum.DOUBLE:\n return (\n <div className=\"SynapseTableCellContent\">\n <Typography\n variant={'smallText1'}\n sx={{ textAlign: 'right' }}\n className={isBold}\n >\n {parseFloat(columnValue).toLocaleString()}\n </Typography>\n </div>\n )\n case ColumnTypeEnum.JSON:\n return (\n <div className=\"SynapseTableCellContent\">\n <JSONTableCellRenderer value={columnValue} />\n </div>\n )\n default:\n console.warn(\n `ColumnType ${columnType} has unspecified handler. Rendering the column value.`,\n )\n return (\n <div className=\"SynapseTableCellContent\">\n <Typography variant={'smallText1'} className={isBold}>\n {columnValue}\n </Typography>\n </div>\n )\n }\n // We can reach this if we don't get a mapping of IDs to entities or principals.\n // TODO: If we don't have a id:data mapping, we should render a component that can fetch the required data, rather than breaking from the case.\n return (\n <div className={`SynapseTableCellContent ${isBold}`}>{columnValue}</div>\n )\n}\n\nexport default memo(SynapseTableCell)\n"],"names":["getDisplayTextFieldForEntityIdColumn","columnName","SynapseTableCell","props","columnType","columnValue","isBold","columnLinkConfig","selectColumns","columnModels","rowData","rowId","rowVersionNumber","isRowEntityColumn","entityId","versionNumber","useQueryContext","entity","useGetEntity","jsx","NOT_SET_DISPLAY_VALUE","SynapseCardLabel","isEntityView","isDataset","isDatasetCollection","EntityLink","ColumnTypeEnum","displayTextField","jsonData","jsxs","val","index","formatDate","dayjs","associatedObjectId","associatedObjectType","FileHandleAssociateType","isFileViewOrDataset","Fragment","DirectDownload","EntityIdList","UserIdList","textRenderer","Linkify","EvaluationIdRenderer","UserOrTeamBadge","Link","Typography","JSONTableCellRenderer","SynapseTableCell$1","memo"],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ import "@sage-bionetworks/synapse-client/util/SynapseClientError";
|
|
|
8
8
|
import "@sage-bionetworks/synapse-types";
|
|
9
9
|
import { entityTypeToFriendlyName as P, convertToEntityType as _e, isDataset as M, isDatasetCollection as Q } from "../../../utils/functions/EntityTypeUtils.js";
|
|
10
10
|
import "../../../utils/SynapseConstants.js";
|
|
11
|
-
import {
|
|
11
|
+
import { isEqual as q, upperFirst as J } from "lodash-es";
|
|
12
12
|
import "@sage-bionetworks/synapse-client/util/synapseClientFetch";
|
|
13
13
|
import "@tanstack/react-query";
|
|
14
14
|
import "../../../utils/PermissionLevelToAccessType.js";
|
|
@@ -167,13 +167,13 @@ function rt(n) {
|
|
|
167
167
|
n && M(n) ? (t = P($.file), a = "Draft") : n && Q(n) && (t = P($.dataset));
|
|
168
168
|
const l = n && M(n) ? `Use the left pane to browse projects and folders. Select ${f(
|
|
169
169
|
t
|
|
170
|
-
)} from the right pane to add to this ${o}. ${
|
|
170
|
+
)} from the right pane to add to this ${o}. ${J(
|
|
171
171
|
f(t)
|
|
172
172
|
)} in a ${o} can be added from multiple folders. You can also use Search to find and select ${f(
|
|
173
173
|
t
|
|
174
174
|
)}.` : `Use the left pane to browse projects. Select ${f(
|
|
175
175
|
t
|
|
176
|
-
)} from the right pane to add to this ${o}. ${
|
|
176
|
+
)} from the right pane to add to this ${o}. ${J(
|
|
177
177
|
f(t)
|
|
178
178
|
)} in a ${o} can be added from multiple projects. You can also use Search to find and select ${f(
|
|
179
179
|
t
|
|
@@ -258,7 +258,7 @@ function lt(n) {
|
|
|
258
258
|
function po(n) {
|
|
259
259
|
const { entityId: o, onSave: t, onClose: a, onUnsavedChangesChange: l } = n, [m, d] = S(!1), [r, h] = S(!1), [e, y] = S(), [z, ee] = S(), [N, F] = S(), { data: c, refetch: V } = we(o, void 0, {
|
|
260
260
|
staleTime: 1 / 0
|
|
261
|
-
}), T = !!(c && e && !
|
|
261
|
+
}), T = !!(c && e && !q(c, e)), {
|
|
262
262
|
ADD_ITEMS: k,
|
|
263
263
|
ADD_ITEMS_TO: te,
|
|
264
264
|
REMOVE_ITEMS: oe,
|
|
@@ -315,7 +315,7 @@ function po(n) {
|
|
|
315
315
|
}
|
|
316
316
|
});
|
|
317
317
|
w(() => {
|
|
318
|
-
if (z && e && !
|
|
318
|
+
if (z && e && !q(z.items, e.items) && !U) {
|
|
319
319
|
const s = st(
|
|
320
320
|
z,
|
|
321
321
|
e
|
|
@@ -11,7 +11,7 @@ import { useMemo as x } from "react";
|
|
|
11
11
|
import q from "./ColumnModelFormFields/DefaultValueField.js";
|
|
12
12
|
import { FieldWithRecommendedMinimum as P } from "./ColumnModelFormFields/FieldWithRecommendedMinimum.js";
|
|
13
13
|
import Q from "./ColumnModelFormFields/MultiValueField.js";
|
|
14
|
-
import { getAllowedColumnTypes as $, configureFacetsForType as K, getColumnTypeFriendlyName as L,
|
|
14
|
+
import { getAllowedColumnTypes as $, configureFacetsForType as K, getColumnTypeFriendlyName as L, canHaveSize as E, getMaxSizeForType as X, canHaveMaxListLength as Z, canHaveDefault as ee, canHaveRestrictedValues as le, getFacetTypeFriendlyName as oe } from "./TableColumnSchemaEditorUtils.js";
|
|
15
15
|
import { HIERARCHY_VERTICAL_LINE_COMPONENT as j } from "./TableColumnSchemaForm.js";
|
|
16
16
|
import { tableColumnSchemaFormDataAtom as A } from "./TableColumnSchemaFormReducer.js";
|
|
17
17
|
const ne = {
|
|
@@ -29,7 +29,7 @@ import "react-router";
|
|
|
29
29
|
import "@sage-bionetworks/synapse-client";
|
|
30
30
|
import "../../utils/types/IsType.js";
|
|
31
31
|
import { useUpdateTableColumns as P } from "../../synapse-queries/entity/useEntity.js";
|
|
32
|
-
import
|
|
32
|
+
import F from "../../synapse-queries/entity/useEntityBundle.js";
|
|
33
33
|
import { ConfirmationDialog as R } from "../ConfirmationDialog/ConfirmationDialog.js";
|
|
34
34
|
import "@mui/material/Skeleton";
|
|
35
35
|
import { SkeletonTable as U } from "../Skeleton/SkeletonTable.js";
|
|
@@ -3,7 +3,7 @@ import K from "../../assets/icons/AddToList.js";
|
|
|
3
3
|
import { useGetDefaultColumnModels as Z, useGetAnnotationColumnModels as oo } from "../../synapse-queries/table/useColumnModel.js";
|
|
4
4
|
import { convertToConcreteEntityType as eo, entityTypeToFriendlyName as no } from "../../utils/functions/EntityTypeUtils.js";
|
|
5
5
|
import { AddCircleTwoTone as L } from "@mui/icons-material";
|
|
6
|
-
import { Box as s,
|
|
6
|
+
import { Box as s, Button as F, styled as to } from "@mui/material";
|
|
7
7
|
import { VIEW_CONCRETE_TYPE_VALUES as lo, ColumnTypeEnum as B } from "@sage-bionetworks/synapse-types";
|
|
8
8
|
import { Provider as ro, useAtomValue as U, atom as ao, useSetAtom as W } from "jotai";
|
|
9
9
|
import { useAtomCallback as so, selectAtom as io } from "jotai/utils";
|
|
@@ -27,12 +27,12 @@ import "universal-cookie";
|
|
|
27
27
|
import "../../utils/AppUtils/session/ApplicationSessionContext.js";
|
|
28
28
|
import "../../utils/context/FullContextProvider.js";
|
|
29
29
|
import "../../utils/context/DocumentMetadataContext.js";
|
|
30
|
-
import
|
|
30
|
+
import k from "../LoadingScreen/LoadingScreen.js";
|
|
31
31
|
import "react-router";
|
|
32
|
-
import
|
|
33
|
-
import {
|
|
32
|
+
import D from "dayjs";
|
|
33
|
+
import { Markdown as q } from "../Markdown/MarkdownSynapse.js";
|
|
34
34
|
function ce({ tableEntityId: s }) {
|
|
35
|
-
const { accessToken: d } = T(), [o, f] = u(), [m,
|
|
35
|
+
const { accessToken: d } = T(), [o, f] = u(), [m, w] = u(3);
|
|
36
36
|
let c = !0;
|
|
37
37
|
if (M(() => ((() => {
|
|
38
38
|
if (c) {
|
|
@@ -53,8 +53,8 @@ function ce({ tableEntityId: s }) {
|
|
|
53
53
|
})(), () => {
|
|
54
54
|
c = !1;
|
|
55
55
|
}), [s, d]), !o)
|
|
56
|
-
return
|
|
57
|
-
const n = o.headers,
|
|
56
|
+
return k;
|
|
57
|
+
const n = o.headers, h = n.findIndex((e) => e.name === "categories"), I = n.findIndex((e) => e.name === "date"), g = n.findIndex((e) => e.name === "title"), S = n.findIndex(
|
|
58
58
|
(e) => e.name === "mdDescription"
|
|
59
59
|
);
|
|
60
60
|
return /* @__PURE__ */ p("div", { className: "Feed", children: [
|
|
@@ -63,7 +63,7 @@ function ce({ tableEntityId: s }) {
|
|
|
63
63
|
return;
|
|
64
64
|
const r = e.values;
|
|
65
65
|
r.some((a) => a === null) && console.warn("Row has null value(s) when no nulls expected");
|
|
66
|
-
const l = JSON.parse(r[
|
|
66
|
+
const l = JSON.parse(r[h]), x = r[I], y = r[g], C = r[S];
|
|
67
67
|
return /* @__PURE__ */ t("div", { className: "FeedItem", children: /* @__PURE__ */ p("div", { children: [
|
|
68
68
|
l && /* @__PURE__ */ t("div", { className: "FeedItemCategories", children: l.map(
|
|
69
69
|
(a, N) => /* @__PURE__ */ t(
|
|
@@ -75,7 +75,7 @@ function ce({ tableEntityId: s }) {
|
|
|
75
75
|
`row-${i},categoryIndex-${N}`
|
|
76
76
|
)
|
|
77
77
|
) }),
|
|
78
|
-
/* @__PURE__ */ t("p", { className: "FeedItemDate", children:
|
|
78
|
+
/* @__PURE__ */ t("p", { className: "FeedItemDate", children: D(new Date(parseInt(x))).format(
|
|
79
79
|
"MMMM YYYY"
|
|
80
80
|
) }),
|
|
81
81
|
/* @__PURE__ */ t("p", { className: "FeedItemTitle", children: y }),
|
|
@@ -87,7 +87,7 @@ function ce({ tableEntityId: s }) {
|
|
|
87
87
|
{
|
|
88
88
|
color: "primary",
|
|
89
89
|
variant: "contained",
|
|
90
|
-
onClick: () =>
|
|
90
|
+
onClick: () => w(m + 3),
|
|
91
91
|
children: "View More News"
|
|
92
92
|
}
|
|
93
93
|
) })
|