synapse-react-client 4.0.46 → 4.0.47
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/aridhia-queries/useSubmitAridhiaDar.js +2 -2
- package/dist/aridhia-queries/useSubmitAridhiaDar.js.map +1 -1
- package/dist/components/AccessTokenPage/CreateAccessTokenModal.js +1 -1
- package/dist/components/AccessTokenPage/CreateAccessTokenModal.js.map +1 -1
- package/dist/components/AccountLevelBadges/AccountLevelBadges.js +1 -1
- package/dist/components/AccountLevelBadges/AccountLevelBadges.js.map +1 -1
- package/dist/components/AclEditor/AclEditor.test-utils.js +3 -5
- package/dist/components/AclEditor/AclEditor.test-utils.js.map +1 -1
- package/dist/components/Aridhia/AridhiaAccessStatus.d.ts.map +1 -1
- package/dist/components/Aridhia/AridhiaAccessStatus.js +43 -30
- package/dist/components/Aridhia/AridhiaAccessStatus.js.map +1 -1
- package/dist/components/Aridhia/AridhiaDarStatusPopover.d.ts +6 -2
- package/dist/components/Aridhia/AridhiaDarStatusPopover.d.ts.map +1 -1
- package/dist/components/Aridhia/AridhiaDarStatusPopover.js +101 -31
- package/dist/components/Aridhia/AridhiaDarStatusPopover.js.map +1 -1
- package/dist/components/Aridhia/aridhiaAccessStatusUtils.d.ts +11 -9
- package/dist/components/Aridhia/aridhiaAccessStatusUtils.d.ts.map +1 -1
- package/dist/components/Aridhia/aridhiaAccessStatusUtils.js +24 -13
- package/dist/components/Aridhia/aridhiaAccessStatusUtils.js.map +1 -1
- package/dist/components/Authentication/LastLoginInfo.js +2 -2
- package/dist/components/Authentication/LastLoginInfo.js.map +1 -1
- package/dist/components/Authentication/RecoveryCodeForm.js +1 -1
- package/dist/components/Authentication/RecoveryCodeForm.js.map +1 -1
- package/dist/components/Authentication/RecoveryCodeGrid.js.map +1 -1
- package/dist/components/Authentication/TOTPForm.d.ts.map +1 -1
- package/dist/components/Authentication/TOTPForm.js +3 -3
- package/dist/components/Authentication/TOTPForm.js.map +1 -1
- package/dist/components/Authentication/index.d.ts +6 -6
- package/dist/components/Authentication/index.d.ts.map +1 -1
- package/dist/components/CannedRejectionDialog/CannedRejectionDialog.js +1 -1
- package/dist/components/CannedRejectionDialog/CannedRejectionDialog.js.map +1 -1
- package/dist/components/CardContainer/CardContainer.js +7 -7
- package/dist/components/CardContainer/CardContainer.js.map +1 -1
- package/dist/components/ChallengeRequirementsModal/ChallengeRequirementsModal.js +1 -1
- package/dist/components/ChallengeRequirementsModal/ChallengeRequirementsModal.js.map +1 -1
- package/dist/components/ChallengeSubmission/ChallengeSubmission.d.ts.map +1 -1
- package/dist/components/ChallengeSubmission/ChallengeSubmission.js +1 -1
- package/dist/components/ChallengeSubmission/ChallengeSubmission.js.map +1 -1
- package/dist/components/ChallengeTeamWizard/SelectChallengeTeam.js +1 -1
- package/dist/components/ChallengeTeamWizard/SelectChallengeTeam.js.map +1 -1
- package/dist/components/CitationPopover/CitationPopoverUtils.js +2 -2
- package/dist/components/CitationPopover/CitationPopoverUtils.js.map +1 -1
- package/dist/components/CohortBuilder/CohortBuilder.css +1 -0
- package/dist/components/CohortBuilder/CohortBuilder.d.ts +35 -0
- package/dist/components/CohortBuilder/CohortBuilder.d.ts.map +1 -0
- package/dist/components/CohortBuilder/CohortBuilder.js +108 -0
- package/dist/components/CohortBuilder/CohortBuilder.js.map +1 -0
- package/dist/components/CohortBuilder/CohortBuilder.module.js +10 -0
- package/dist/components/CohortBuilder/CohortBuilder.module.js.map +1 -0
- package/dist/components/CohortBuilder/CohortBuilder.module.scss +20 -0
- package/dist/components/CohortBuilder/CohortFilesPanel.d.ts +16 -0
- package/dist/components/CohortBuilder/CohortFilesPanel.d.ts.map +1 -0
- package/dist/components/CohortBuilder/CohortFilesPanel.js +124 -0
- package/dist/components/CohortBuilder/CohortFilesPanel.js.map +1 -0
- package/dist/components/CohortBuilder/cohortHandOff.d.ts +25 -0
- package/dist/components/CohortBuilder/cohortHandOff.d.ts.map +1 -0
- package/dist/components/CohortBuilder/cohortHandOff.js +26 -0
- package/dist/components/CohortBuilder/cohortHandOff.js.map +1 -0
- package/dist/components/ColumnFilter/ColumnFilter.d.ts.map +1 -1
- package/dist/components/ColumnFilter/ColumnFilter.js +14 -13
- package/dist/components/ColumnFilter/ColumnFilter.js.map +1 -1
- package/dist/components/DataExplorer/DataExplorer.d.ts.map +1 -1
- package/dist/components/DataExplorer/DataExplorer.js.map +1 -1
- package/dist/components/DataGrid/columns/AutocompleteColumn.d.ts +11 -2
- package/dist/components/DataGrid/columns/AutocompleteColumn.d.ts.map +1 -1
- package/dist/components/DataGrid/columns/AutocompleteColumn.js +115 -109
- package/dist/components/DataGrid/columns/AutocompleteColumn.js.map +1 -1
- package/dist/components/DataGrid/columns/NumberColumn.js +1 -1
- package/dist/components/DataGrid/columns/NumberColumn.js.map +1 -1
- package/dist/components/DataGrid/columns/NumberOrEnumColumn.d.ts +20 -0
- package/dist/components/DataGrid/columns/NumberOrEnumColumn.d.ts.map +1 -0
- package/dist/components/DataGrid/columns/NumberOrEnumColumn.js +18 -0
- package/dist/components/DataGrid/columns/NumberOrEnumColumn.js.map +1 -0
- package/dist/components/DataGrid/components/contextMenu.js +3 -3
- package/dist/components/DataGrid/components/contextMenu.js.map +1 -1
- package/dist/components/DataGrid/hooks/useGridUndoRedo.d.ts.map +1 -1
- package/dist/components/DataGrid/hooks/useGridUndoRedo.js +9 -7
- package/dist/components/DataGrid/hooks/useGridUndoRedo.js.map +1 -1
- package/dist/components/DataGrid/hooks/useStack.d.ts +1 -1
- package/dist/components/DataGrid/hooks/useStack.js +2 -2
- package/dist/components/DataGrid/hooks/useStack.js.map +1 -1
- package/dist/components/DataGrid/utils/columnFactory.d.ts.map +1 -1
- package/dist/components/DataGrid/utils/columnFactory.js +47 -42
- package/dist/components/DataGrid/utils/columnFactory.js.map +1 -1
- package/dist/components/DataGrid/utils/extractColumnValidationMessages.js +7 -7
- package/dist/components/DataGrid/utils/extractColumnValidationMessages.js.map +1 -1
- package/dist/components/DataGrid/utils/json-rx/JsonRx.js +2 -2
- package/dist/components/DataGrid/utils/json-rx/JsonRx.js.map +1 -1
- package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.js +1 -1
- package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.js.map +1 -1
- package/dist/components/DownloadCart/MeetAccessRequirementCard.js +1 -1
- package/dist/components/DownloadCart/MeetAccessRequirementCard.js.map +1 -1
- package/dist/components/EntityDownloadConfirmation/EntityDownloadConfirmation.js +5 -5
- package/dist/components/EntityDownloadConfirmation/EntityDownloadConfirmation.js.map +1 -1
- package/dist/components/EntityFinder/details/view/DetailsView.d.ts.map +1 -1
- package/dist/components/EntityFinder/details/view/DetailsView.js +4 -4
- package/dist/components/EntityFinder/details/view/DetailsView.js.map +1 -1
- package/dist/components/EntityHeaderTable/EntityHeaderTable.js +4 -4
- package/dist/components/EntityHeaderTable/Filter.d.ts.map +1 -1
- package/dist/components/EntityHeaderTable/Filter.js +1 -1
- package/dist/components/EntityHeaderTable/Filter.js.map +1 -1
- package/dist/components/Evaluation/EvaluationRoundEditor.js.map +1 -1
- package/dist/components/FeaturedDataTabs/FacetPlotsCard.d.ts.map +1 -1
- package/dist/components/FeaturedDataTabs/FacetPlotsCard.js +80 -84
- package/dist/components/FeaturedDataTabs/FacetPlotsCard.js.map +1 -1
- package/dist/components/FormTemplateEditor/FormStructurePanel.js +7 -7
- package/dist/components/FormTemplateEditor/StepCard.js +9 -9
- package/dist/components/FormTemplateEditor/schemaFieldUtils.js +2 -2
- package/dist/components/FormTemplateEditor/schemaFieldUtils.js.map +1 -1
- package/dist/components/FullTextSearch/FullTextSearch.js +8 -8
- package/dist/components/GenericCard/CardUtils.js.map +1 -1
- package/dist/components/GenericCard/DuoTermTags/DuoTermTags.js +1 -1
- package/dist/components/GenericCard/DuoTermTags/DuoTermTags.js.map +1 -1
- package/dist/components/GenericCard/DuoTermTags/duoTerms.js +1 -1
- package/dist/components/GenericCard/DuoTermTags/duoTerms.js.map +1 -1
- package/dist/components/GenericCard/TableRowGenericCard.js +37 -37
- package/dist/components/GoalsV3/GoalsV3.js +1 -1
- package/dist/components/GoalsV3/GoalsV3.js.map +1 -1
- package/dist/components/HexGrid/HexGrid.d.ts +3 -1
- package/dist/components/HexGrid/HexGrid.d.ts.map +1 -1
- package/dist/components/HexGrid/HexGrid.js +14 -13
- package/dist/components/HexGrid/HexGrid.js.map +1 -1
- package/dist/components/IconSvg/index.d.ts +1 -1
- package/dist/components/IconSvg/index.d.ts.map +1 -1
- package/dist/components/IconSvg/index.js.map +1 -1
- package/dist/components/JsonSchemaForm/templates/BaseInputTemplate.d.ts.map +1 -1
- package/dist/components/JsonSchemaForm/templates/BaseInputTemplate.js +3 -3
- package/dist/components/JsonSchemaForm/templates/BaseInputTemplate.js.map +1 -1
- package/dist/components/Markdown/MarkdownEditor.js +1 -1
- package/dist/components/Markdown/MarkdownEditor.js.map +1 -1
- package/dist/components/Markdown/widget/index.d.ts +1 -1
- package/dist/components/Markdown/widget/index.d.ts.map +1 -1
- package/dist/components/ModalDownload/ModalDownload.d.ts.map +1 -1
- package/dist/components/ModalDownload/ModalDownload.js +2 -1
- package/dist/components/ModalDownload/ModalDownload.js.map +1 -1
- package/dist/components/Plot/BarPlot.js +1 -1
- package/dist/components/Plot/BarPlot.js.map +1 -1
- package/dist/components/Plot/PlotPanelHeader.d.ts +3 -2
- package/dist/components/Plot/PlotPanelHeader.d.ts.map +1 -1
- package/dist/components/Plot/PlotPanelHeader.js.map +1 -1
- package/dist/components/ProgrammaticTableDownload/ProgrammaticTableDownload.js +1 -1
- package/dist/components/ProgrammaticTableDownload/ProgrammaticTableDownload.js.map +1 -1
- package/dist/components/ProvenanceGraph/ProvenanceExternalIcon.js +1 -1
- package/dist/components/ProvenanceGraph/ProvenanceExternalIcon.js.map +1 -1
- package/dist/components/ProvenanceGraph/ProvenanceGraph.d.ts.map +1 -1
- package/dist/components/ProvenanceGraph/ProvenanceGraph.js +3 -3
- package/dist/components/ProvenanceGraph/ProvenanceGraph.js.map +1 -1
- package/dist/components/QueryBuilder/FilterConditionRow.d.ts.map +1 -1
- package/dist/components/QueryBuilder/FilterConditionRow.js +28 -27
- package/dist/components/QueryBuilder/FilterConditionRow.js.map +1 -1
- package/dist/components/QueryBuilder/FilterGroupNode.d.ts.map +1 -1
- package/dist/components/QueryBuilder/FilterGroupNode.js +91 -75
- package/dist/components/QueryBuilder/FilterGroupNode.js.map +1 -1
- package/dist/components/QueryBuilder/QueryBuilderControls.css +1 -1
- package/dist/components/QueryBuilder/QueryBuilderControls.d.ts.map +1 -1
- package/dist/components/QueryBuilder/QueryBuilderControls.js +91 -79
- package/dist/components/QueryBuilder/QueryBuilderControls.js.map +1 -1
- package/dist/components/QueryBuilder/QueryBuilderControls.module.js +11 -11
- package/dist/components/QueryBuilder/QueryBuilderControls.module.js.map +1 -1
- package/dist/components/QueryBuilder/QueryBuilderControls.module.scss +2 -0
- package/dist/components/QueryBuilder/QueryBuilderInternalContext.d.ts +2 -0
- package/dist/components/QueryBuilder/QueryBuilderInternalContext.d.ts.map +1 -1
- package/dist/components/QueryBuilder/QueryBuilderInternalContext.js.map +1 -1
- package/dist/components/QueryBuilder/queryBuilderLimits.d.ts +18 -0
- package/dist/components/QueryBuilder/queryBuilderLimits.d.ts.map +1 -0
- package/dist/components/QueryBuilder/queryBuilderLimits.js +38 -0
- package/dist/components/QueryBuilder/queryBuilderLimits.js.map +1 -0
- package/dist/components/QueryBuilder/queryBuilderMetadata.d.ts +0 -8
- package/dist/components/QueryBuilder/queryBuilderMetadata.d.ts.map +1 -1
- package/dist/components/QueryBuilder/queryBuilderMetadata.js +6 -9
- package/dist/components/QueryBuilder/queryBuilderMetadata.js.map +1 -1
- package/dist/components/QueryBuilder/queryBuilderTranslation.d.ts +5 -4
- package/dist/components/QueryBuilder/queryBuilderTranslation.d.ts.map +1 -1
- package/dist/components/QueryBuilder/queryBuilderTranslation.js +58 -33
- package/dist/components/QueryBuilder/queryBuilderTranslation.js.map +1 -1
- package/dist/components/QueryBuilder/useQBCombinedSql.d.ts.map +1 -1
- package/dist/components/QueryBuilder/useQBCombinedSql.js +4 -4
- package/dist/components/QueryBuilder/useQBCombinedSql.js.map +1 -1
- package/dist/components/QueryBuilder/useQBValueDisplayName.d.ts.map +1 -1
- package/dist/components/QueryBuilder/useQBValueDisplayName.js +5 -5
- package/dist/components/QueryBuilder/useQBValueDisplayName.js.map +1 -1
- package/dist/components/QuerySortSelector.js +5 -5
- package/dist/components/QueryVisualizationWrapper/QueryVisualizationWrapper.js +21 -21
- package/dist/components/QueryVisualizationWrapper/QueryVisualizationWrapper.js.map +1 -1
- package/dist/components/QueryWrapper/AggregateQueryErrorNotice.d.ts +20 -0
- package/dist/components/QueryWrapper/AggregateQueryErrorNotice.d.ts.map +1 -0
- package/dist/components/QueryWrapper/AggregateQueryErrorNotice.js +50 -0
- package/dist/components/QueryWrapper/AggregateQueryErrorNotice.js.map +1 -0
- package/dist/components/QueryWrapper/TableQueryUseQueryOptions.d.ts +5 -3
- package/dist/components/QueryWrapper/TableQueryUseQueryOptions.d.ts.map +1 -1
- package/dist/components/QueryWrapper/TableQueryUseQueryOptions.js +7 -3
- package/dist/components/QueryWrapper/TableQueryUseQueryOptions.js.map +1 -1
- package/dist/components/QueryWrapper/downloadListFiles.d.ts +25 -0
- package/dist/components/QueryWrapper/downloadListFiles.d.ts.map +1 -0
- package/dist/components/QueryWrapper/downloadListFiles.js +39 -0
- package/dist/components/QueryWrapper/downloadListFiles.js.map +1 -0
- package/dist/components/QueryWrapper/useAddSelectedRowsToDownloadList.d.ts +16 -0
- package/dist/components/QueryWrapper/useAddSelectedRowsToDownloadList.d.ts.map +1 -0
- package/dist/components/QueryWrapper/useAddSelectedRowsToDownloadList.js +50 -0
- package/dist/components/QueryWrapper/useAddSelectedRowsToDownloadList.js.map +1 -0
- package/dist/components/QueryWrapper/useGetAddToDownloadListRequestForCurrentQuery.d.ts +4 -1
- package/dist/components/QueryWrapper/useGetAddToDownloadListRequestForCurrentQuery.d.ts.map +1 -1
- package/dist/components/QueryWrapper/useGetAddToDownloadListRequestForCurrentQuery.js +15 -28
- package/dist/components/QueryWrapper/useGetAddToDownloadListRequestForCurrentQuery.js.map +1 -1
- package/dist/components/QueryWrapper/useOnQueryDataChange.d.ts.map +1 -1
- package/dist/components/QueryWrapper/useOnQueryDataChange.js +7 -6
- package/dist/components/QueryWrapper/useOnQueryDataChange.js.map +1 -1
- package/dist/components/QueryWrapperErrorBoundary.d.ts +3 -1
- package/dist/components/QueryWrapperErrorBoundary.d.ts.map +1 -1
- package/dist/components/QueryWrapperErrorBoundary.js +26 -21
- package/dist/components/QueryWrapperErrorBoundary.js.map +1 -1
- package/dist/components/QueryWrapperPlotNav/LastUpdatedOn.js +7 -7
- package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts +2 -2
- package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts.map +1 -1
- package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js +34 -32
- package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js.map +1 -1
- package/dist/components/QueryWrapperPlotNav/QueryWrapperSynapsePlot.js +7 -7
- package/dist/components/QueryWrapperPlotNav/UseRowSet.d.ts.map +1 -1
- package/dist/components/QueryWrapperPlotNav/UseRowSet.js +12 -12
- package/dist/components/QueryWrapperPlotNav/UseRowSet.js.map +1 -1
- package/dist/components/RowDataTable/CategorizedRowDataTable.css +1 -0
- package/dist/components/RowDataTable/CategorizedRowDataTable.d.ts +33 -0
- package/dist/components/RowDataTable/CategorizedRowDataTable.d.ts.map +1 -0
- package/dist/components/RowDataTable/CategorizedRowDataTable.js +64 -0
- package/dist/components/RowDataTable/CategorizedRowDataTable.js.map +1 -0
- package/dist/components/RowDataTable/CategorizedRowDataTable.module.js +8 -0
- package/dist/components/RowDataTable/CategorizedRowDataTable.module.js.map +1 -0
- package/dist/components/RowDataTable/CategorizedRowDataTable.module.scss +18 -0
- package/dist/components/RowDataTable/RowDataTable.d.ts +13 -0
- package/dist/components/RowDataTable/RowDataTable.d.ts.map +1 -1
- package/dist/components/RowDataTable/RowDataTable.js +25 -8
- package/dist/components/RowDataTable/RowDataTable.js.map +1 -1
- package/dist/components/RssFeedCards/RssFeedCards.js +1 -1
- package/dist/components/RssFeedCards/RssFeedCards.js.map +1 -1
- package/dist/components/SchemaDrivenAnnotationEditor/field/AdditionalPropertiesSchemaField.d.ts.map +1 -1
- package/dist/components/SchemaDrivenAnnotationEditor/field/AdditionalPropertiesSchemaField.js +2 -2
- package/dist/components/SchemaDrivenAnnotationEditor/field/AdditionalPropertiesSchemaField.js.map +1 -1
- package/dist/components/SchemaDrivenAnnotationEditor/template/ObjectFieldTemplate.js +1 -1
- package/dist/components/SchemaDrivenAnnotationEditor/template/ObjectFieldTemplate.js.map +1 -1
- package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.d.ts +17 -9
- package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.d.ts.map +1 -1
- package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.js +39 -30
- package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.js.map +1 -1
- package/dist/components/SetAccessRequirementCommonFields/SetAccessRequirementCommonFields.js +24 -24
- package/dist/components/SetAccessRequirementCommonFields/SetAccessRequirementCommonFields.js.map +1 -1
- package/dist/components/StandaloneQueryWrapper/StandaloneQueryWrapper.js +8 -8
- package/dist/components/SynapseChat/SynapseChatMessage.js +1 -1
- package/dist/components/SynapseChat/SynapseChatMessage.js.map +1 -1
- package/dist/components/SynapseForm/NavButtons.js.map +1 -1
- package/dist/components/SynapseForm/StepsSideNav.js.map +1 -1
- package/dist/components/SynapseSearchPageResults/HighlightedTypography.js +1 -1
- package/dist/components/SynapseSearchPageResults/HighlightedTypography.js.map +1 -1
- package/dist/components/SynapseSearchPageResults/SearchFacetPanel/SearchFacetPanelUtils.d.ts.map +1 -1
- package/dist/components/SynapseSearchPageResults/SearchFacetPanel/SearchFacetPanelUtils.js +3 -3
- package/dist/components/SynapseSearchPageResults/SearchFacetPanel/SearchFacetPanelUtils.js.map +1 -1
- package/dist/components/SynapseTable/RowSelection/RowSelectionControls.d.ts.map +1 -1
- package/dist/components/SynapseTable/RowSelection/RowSelectionControls.js +38 -44
- package/dist/components/SynapseTable/RowSelection/RowSelectionControls.js.map +1 -1
- package/dist/components/SynapseTable/RowSelection/RowSelectionUI.js +4 -4
- package/dist/components/SynapseTable/SqlEditor.js +7 -7
- package/dist/components/SynapseTable/SynapseTable.js +8 -8
- package/dist/components/SynapseTable/SynapseTable.js.map +1 -1
- package/dist/components/SynapseTable/SynapseTableRenderers.d.ts.map +1 -1
- package/dist/components/SynapseTable/SynapseTableRenderers.js +73 -72
- package/dist/components/SynapseTable/SynapseTableRenderers.js.map +1 -1
- package/dist/components/SynapseTable/SynapseTableUtils.js +1 -1
- package/dist/components/SynapseTable/SynapseTableUtils.js.map +1 -1
- package/dist/components/SynapseTable/TopLevelControls/TopLevelControls.d.ts.map +1 -1
- package/dist/components/SynapseTable/TopLevelControls/TopLevelControls.js +44 -45
- package/dist/components/SynapseTable/TopLevelControls/TopLevelControls.js.map +1 -1
- package/dist/components/SynapseTable/datasets/DatasetEditorVersionCell.js +1 -1
- package/dist/components/SynapseTable/datasets/DatasetEditorVersionCell.js.map +1 -1
- package/dist/components/SynapseTable/datasets/DatasetItemsEditor.d.ts.map +1 -1
- package/dist/components/SynapseTable/datasets/DatasetItemsEditor.js +142 -142
- package/dist/components/SynapseTable/datasets/DatasetItemsEditor.js.map +1 -1
- package/dist/components/SynapseTable/export/ExportToAnalysisPlatformDialog.js +4 -4
- package/dist/components/SynapseTable/export/ExternalPlatformActionsRequiredPrecheck.js +12 -12
- package/dist/components/SynapseTable/export/ExternalPlatformActionsRequiredPrecheck.js.map +1 -1
- package/dist/components/SynapseTable/table-top/ColumnSelection.js +6 -6
- package/dist/components/SynapseTable/table-top/DownloadOptions.d.ts +0 -1
- package/dist/components/SynapseTable/table-top/DownloadOptions.d.ts.map +1 -1
- package/dist/components/SynapseTable/table-top/DownloadOptions.js +64 -57
- package/dist/components/SynapseTable/table-top/DownloadOptions.js.map +1 -1
- package/dist/components/SynapseTable/usePrefetchTableData.d.ts.map +1 -1
- package/dist/components/SynapseTable/usePrefetchTableData.js +3 -3
- package/dist/components/SynapseTable/usePrefetchTableData.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/ColumnModelForm.js +1 -1
- package/dist/components/TableColumnSchemaEditor/ColumnModelForm.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorTestUtils.js +1 -1
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorTestUtils.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorUtils.js +2 -2
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorUtils.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaForm.js +60 -60
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaForm.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/Validators/DatetimeSchema.js +1 -1
- package/dist/components/TableColumnSchemaEditor/Validators/DatetimeSchema.js.map +1 -1
- package/dist/components/TanStackTable/ColumnHeaderEnumFilter.js +1 -1
- package/dist/components/TanStackTable/ColumnHeaderEnumFilter.js.map +1 -1
- package/dist/components/TanStackTable/StyledTanStackTable.d.ts.map +1 -1
- package/dist/components/TanStackTable/StyledTanStackTable.js +1 -4
- package/dist/components/TanStackTable/StyledTanStackTable.js.map +1 -1
- package/dist/components/TermsAndConditions/TermsAndConditions.js.map +1 -1
- package/dist/components/TotalQueryResults.js +14 -14
- package/dist/components/Webhook/WebhookDashboard.d.ts.map +1 -1
- package/dist/components/Webhook/WebhookDashboard.js +2 -2
- package/dist/components/Webhook/WebhookDashboard.js.map +1 -1
- package/dist/components/download_list/DownloadConfirmationUtils.d.ts +5 -1
- package/dist/components/download_list/DownloadConfirmationUtils.d.ts.map +1 -1
- package/dist/components/download_list/DownloadConfirmationUtils.js +2 -2
- package/dist/components/download_list/DownloadConfirmationUtils.js.map +1 -1
- package/dist/components/error/ErrorBanner.d.ts.map +1 -1
- package/dist/components/error/ErrorBanner.js +49 -46
- package/dist/components/error/ErrorBanner.js.map +1 -1
- package/dist/components/file/upload/MultiFileUploadProgress.js +5 -5
- package/dist/components/row_renderers/Dataset.d.ts.map +1 -1
- package/dist/components/row_renderers/Dataset.js +6 -6
- package/dist/components/row_renderers/Dataset.js.map +1 -1
- package/dist/components/row_renderers/Funder.js +1 -1
- package/dist/components/row_renderers/Funder.js.map +1 -1
- package/dist/components/widgets/ElementWithTooltip.d.ts +6 -1
- package/dist/components/widgets/ElementWithTooltip.d.ts.map +1 -1
- package/dist/components/widgets/ElementWithTooltip.js +22 -14
- package/dist/components/widgets/ElementWithTooltip.js.map +1 -1
- package/dist/components/widgets/RangeSlider/RangeSlider.d.ts.map +1 -1
- package/dist/components/widgets/RangeSlider/RangeSlider.js +1 -1
- package/dist/components/widgets/RangeSlider/RangeSlider.js.map +1 -1
- package/dist/components/widgets/SynapseImage.js +1 -1
- package/dist/components/widgets/SynapseImage.js.map +1 -1
- package/dist/components/widgets/facet-nav/FacetNavPanel.d.ts +16 -5
- package/dist/components/widgets/facet-nav/FacetNavPanel.d.ts.map +1 -1
- package/dist/components/widgets/facet-nav/FacetNavPanel.js +115 -102
- package/dist/components/widgets/facet-nav/FacetNavPanel.js.map +1 -1
- package/dist/components/widgets/facet-nav/FacetPlotLegendList.d.ts.map +1 -1
- package/dist/components/widgets/facet-nav/FacetPlotLegendList.js +4 -2
- package/dist/components/widgets/facet-nav/FacetPlotLegendList.js.map +1 -1
- package/dist/components/widgets/facet-nav/FacetPlotLegendTable.js +1 -1
- package/dist/components/widgets/facet-nav/FacetPlotLegendTable.js.map +1 -1
- package/dist/components/widgets/facet-nav/FacetPlotLegendUtils.d.ts +2 -0
- package/dist/components/widgets/facet-nav/FacetPlotLegendUtils.d.ts.map +1 -1
- package/dist/components/widgets/facet-nav/FacetPlotLegendUtils.js.map +1 -1
- package/dist/components/widgets/facet-nav/PlotsContainer.d.ts +7 -0
- package/dist/components/widgets/facet-nav/PlotsContainer.d.ts.map +1 -1
- package/dist/components/widgets/facet-nav/PlotsContainer.js +47 -45
- package/dist/components/widgets/facet-nav/PlotsContainer.js.map +1 -1
- package/dist/components/widgets/facet-nav/SelectionCriteriaPills.js +4 -4
- package/dist/components/widgets/facet-nav/useFacetPlots.d.ts +3 -2
- package/dist/components/widgets/facet-nav/useFacetPlots.d.ts.map +1 -1
- package/dist/components/widgets/facet-nav/useFacetPlots.js +16 -15
- package/dist/components/widgets/facet-nav/useFacetPlots.js.map +1 -1
- package/dist/components/widgets/query-filter/CombinedRangeFacetFilter.js +4 -4
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilter.d.ts +2 -2
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilter.d.ts.map +1 -1
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilter.js +62 -60
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilter.js.map +1 -1
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterOption.d.ts +2 -0
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterOption.d.ts.map +1 -1
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterOption.js +10 -10
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterOption.js.map +1 -1
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUI.d.ts +1 -0
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUI.d.ts.map +1 -1
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUI.js +2 -1
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUI.js.map +1 -1
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUtils.d.ts +3 -2
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUtils.d.ts.map +1 -1
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUtils.js.map +1 -1
- package/dist/components/widgets/query-filter/FacetFilterControls.d.ts +3 -2
- package/dist/components/widgets/query-filter/FacetFilterControls.d.ts.map +1 -1
- package/dist/components/widgets/query-filter/FacetFilterControls.js +63 -62
- package/dist/components/widgets/query-filter/FacetFilterControls.js.map +1 -1
- package/dist/components/widgets/query-filter/JsonColumnFacetFilters.d.ts.map +1 -1
- package/dist/components/widgets/query-filter/JsonColumnFacetFilters.js +30 -29
- package/dist/components/widgets/query-filter/JsonColumnFacetFilters.js.map +1 -1
- package/dist/components/widgets/query-filter/RangeFacetFilter.js +5 -5
- package/dist/mocks/cohortBuilder/cohortBuilderMockProfiles.d.ts +53 -0
- package/dist/mocks/cohortBuilder/cohortBuilderMockProfiles.d.ts.map +1 -0
- package/dist/mocks/cohortBuilder/cohortBuilderMockProfiles.js +391 -0
- package/dist/mocks/cohortBuilder/cohortBuilderMockProfiles.js.map +1 -0
- package/dist/mocks/cohortBuilder/cohortBuilderMockQueryEngine.d.ts +41 -0
- package/dist/mocks/cohortBuilder/cohortBuilderMockQueryEngine.d.ts.map +1 -0
- package/dist/mocks/cohortBuilder/cohortBuilderMockQueryEngine.js +379 -0
- package/dist/mocks/cohortBuilder/cohortBuilderMockQueryEngine.js.map +1 -0
- package/dist/mocks/cohortBuilder/cohortBuilderSyntheticData.d.ts +26 -0
- package/dist/mocks/cohortBuilder/cohortBuilderSyntheticData.d.ts.map +1 -0
- package/dist/mocks/cohortBuilder/cohortBuilderSyntheticData.js +112 -0
- package/dist/mocks/cohortBuilder/cohortBuilderSyntheticData.js.map +1 -0
- package/dist/mocks/mockAnnotationColumns.d.ts.map +1 -1
- package/dist/mocks/mockAnnotationColumns.js +1 -1
- package/dist/mocks/mockAnnotationColumns.js.map +1 -1
- package/dist/mocks/msw/handlers/aridhiaHandlers.d.ts +9 -0
- package/dist/mocks/msw/handlers/aridhiaHandlers.d.ts.map +1 -1
- package/dist/mocks/msw/handlers/aridhiaHandlers.js +24 -15
- package/dist/mocks/msw/handlers/aridhiaHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/asyncJobHandlers.d.ts +21 -2
- package/dist/mocks/msw/handlers/asyncJobHandlers.d.ts.map +1 -1
- package/dist/mocks/msw/handlers/asyncJobHandlers.js +30 -22
- package/dist/mocks/msw/handlers/asyncJobHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/cohortBuilderHandlers.d.ts +27 -0
- package/dist/mocks/msw/handlers/cohortBuilderHandlers.d.ts.map +1 -0
- package/dist/mocks/msw/handlers/cohortBuilderHandlers.js +158 -0
- package/dist/mocks/msw/handlers/cohortBuilderHandlers.js.map +1 -0
- package/dist/mocks/msw/handlers/subscriptionHandlers.js +1 -1
- package/dist/mocks/msw/handlers/subscriptionHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/userProfileHandlers.d.ts.map +1 -1
- package/dist/mocks/msw/handlers/userProfileHandlers.js +2 -2
- package/dist/mocks/msw/handlers/userProfileHandlers.js.map +1 -1
- package/dist/mocks/query/mockColumnCategoryTable.d.ts +19 -0
- package/dist/mocks/query/mockColumnCategoryTable.d.ts.map +1 -0
- package/dist/mocks/query/mockColumnCategoryTable.js +188 -0
- package/dist/mocks/query/mockColumnCategoryTable.js.map +1 -0
- package/dist/stories/ColorPaletteInspector.d.ts.map +1 -1
- package/dist/stories/ColorPaletteInspector.js +2 -2
- package/dist/stories/ColorPaletteInspector.js.map +1 -1
- package/dist/style/components/facet_nav/_facet-nav-panel.scss +8 -0
- package/dist/style/main.css +1 -1
- package/dist/synapse-queries/auth/useOIDC.js +2 -2
- package/dist/synapse-queries/auth/useOIDC.js.map +1 -1
- package/dist/synapse-queries/auth/useUnbindOAuthProviderIdentity.js +2 -2
- package/dist/synapse-queries/auth/useUnbindOAuthProviderIdentity.js.map +1 -1
- package/dist/synapse-queries/challenge/useChallenge.js +2 -2
- package/dist/synapse-queries/challenge/useChallenge.js.map +1 -1
- package/dist/synapse-queries/chat/useChat.js +8 -8
- package/dist/synapse-queries/chat/useChat.js.map +1 -1
- package/dist/synapse-queries/curation/task/useCurationTask.js +10 -10
- package/dist/synapse-queries/curation/task/useCurationTask.js.map +1 -1
- package/dist/synapse-queries/dataaccess/useAccessRequirements.js +24 -24
- package/dist/synapse-queries/dataaccess/useAccessRequirements.js.map +1 -1
- package/dist/synapse-queries/dataaccess/useDataAccessSubmission.js +4 -4
- package/dist/synapse-queries/dataaccess/useDataAccessSubmission.js.map +1 -1
- package/dist/synapse-queries/dataaccess/useEDuc.js +6 -6
- package/dist/synapse-queries/dataaccess/useEDuc.js.map +1 -1
- package/dist/synapse-queries/dataaccess/useFormTemplate.js +4 -4
- package/dist/synapse-queries/dataaccess/useFormTemplate.js.map +1 -1
- package/dist/synapse-queries/download/index.js +2 -2
- package/dist/synapse-queries/download/useDownloadList.d.ts +5 -0
- package/dist/synapse-queries/download/useDownloadList.d.ts.map +1 -1
- package/dist/synapse-queries/download/useDownloadList.js +14 -13
- package/dist/synapse-queries/download/useDownloadList.js.map +1 -1
- package/dist/synapse-queries/entity/useEntity.d.ts.map +1 -1
- package/dist/synapse-queries/entity/useEntity.js +20 -20
- package/dist/synapse-queries/entity/useEntity.js.map +1 -1
- package/dist/synapse-queries/entity/useExportToADWorkbench.d.ts.map +1 -1
- package/dist/synapse-queries/entity/useExportToADWorkbench.js +2 -1
- package/dist/synapse-queries/entity/useExportToADWorkbench.js.map +1 -1
- package/dist/synapse-queries/entity/useExportToCavatica.d.ts.map +1 -1
- package/dist/synapse-queries/entity/useExportToCavatica.js +3 -2
- package/dist/synapse-queries/entity/useExportToCavatica.js.map +1 -1
- package/dist/synapse-queries/entity/useExportToPluto.d.ts.map +1 -1
- package/dist/synapse-queries/entity/useExportToPluto.js +2 -1
- package/dist/synapse-queries/entity/useExportToPluto.js.map +1 -1
- package/dist/synapse-queries/entity/useGetQueryResultBundle.d.ts.map +1 -1
- package/dist/synapse-queries/entity/useGetQueryResultBundle.js +4 -7
- package/dist/synapse-queries/entity/useGetQueryResultBundle.js.map +1 -1
- package/dist/synapse-queries/forum/useReply.js +6 -6
- package/dist/synapse-queries/forum/useReply.js.map +1 -1
- package/dist/synapse-queries/forum/useThread.js +14 -14
- package/dist/synapse-queries/forum/useThread.js.map +1 -1
- package/dist/synapse-queries/grid/useEstablishWebsocketConnection.js +1 -1
- package/dist/synapse-queries/grid/useEstablishWebsocketConnection.js.map +1 -1
- package/dist/synapse-queries/grid/useGridSession.js +4 -4
- package/dist/synapse-queries/grid/useGridSession.js.map +1 -1
- package/dist/synapse-queries/index.js +177 -176
- package/dist/synapse-queries/oauth/useOAuthClient.js +9 -9
- package/dist/synapse-queries/oauth/useOAuthClient.js.map +1 -1
- package/dist/synapse-queries/portal/usePortal.js +7 -7
- package/dist/synapse-queries/portal/usePortal.js.map +1 -1
- package/dist/synapse-queries/subscription/useSubscription.js +4 -4
- package/dist/synapse-queries/subscription/useSubscription.js.map +1 -1
- package/dist/synapse-queries/table/useTableUpdateTransaction.js +2 -2
- package/dist/synapse-queries/table/useTableUpdateTransaction.js.map +1 -1
- package/dist/synapse-queries/team/useTeam.js +2 -2
- package/dist/synapse-queries/team/useTeam.js.map +1 -1
- package/dist/synapse-queries/team/useTeamList.d.ts.map +1 -1
- package/dist/synapse-queries/team/useTeamList.js +3 -3
- package/dist/synapse-queries/team/useTeamList.js.map +1 -1
- package/dist/synapse-queries/team/useTeamMembers.js +8 -8
- package/dist/synapse-queries/team/useTeamMembers.js.map +1 -1
- package/dist/synapse-queries/termsOfService/useTermsOfService.js +2 -2
- package/dist/synapse-queries/termsOfService/useTermsOfService.js.map +1 -1
- package/dist/synapse-queries/trash/useTrashCan.js +4 -4
- package/dist/synapse-queries/trash/useTrashCan.js.map +1 -1
- package/dist/synapse-queries/user/useCertificationQuiz.js +2 -2
- package/dist/synapse-queries/user/useCertificationQuiz.js.map +1 -1
- package/dist/synapse-queries/user/useFavorites.js +4 -4
- package/dist/synapse-queries/user/useFavorites.js.map +1 -1
- package/dist/synapse-queries/user/useRevokeCertification.js +2 -2
- package/dist/synapse-queries/user/useRevokeCertification.js.map +1 -1
- package/dist/synapse-queries/wiki/useWiki.js +10 -10
- package/dist/synapse-queries/wiki/useWiki.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/utils/ContentTypeUtils.js +4 -4
- package/dist/utils/ContentTypeUtils.js.map +1 -1
- package/dist/utils/PermissionLevelToAccessType.js +1 -1
- package/dist/utils/PermissionLevelToAccessType.js.map +1 -1
- package/dist/utils/analytics/useGoogleAnalytics.js +1 -1
- package/dist/utils/analytics/useGoogleAnalytics.js.map +1 -1
- package/dist/utils/context/DocumentMetadataContext.js +1 -1
- package/dist/utils/context/DocumentMetadataContext.js.map +1 -1
- package/dist/utils/functions/AccessControlListUtils.d.ts.map +1 -1
- package/dist/utils/functions/AccessControlListUtils.js +3 -3
- package/dist/utils/functions/AccessControlListUtils.js.map +1 -1
- package/dist/utils/functions/ArrayUtils.js +2 -2
- package/dist/utils/functions/ArrayUtils.js.map +1 -1
- package/dist/utils/functions/FileHandleUtils.js +1 -1
- package/dist/utils/functions/FileHandleUtils.js.map +1 -1
- package/dist/utils/functions/RegularExpressions.js +1 -1
- package/dist/utils/functions/RegularExpressions.js.map +1 -1
- package/dist/utils/functions/StringUtils.d.ts.map +1 -1
- package/dist/utils/functions/StringUtils.js +1 -2
- package/dist/utils/functions/StringUtils.js.map +1 -1
- package/dist/utils/functions/deepLinkingUtils.js +2 -2
- package/dist/utils/functions/deepLinkingUtils.js.map +1 -1
- package/dist/utils/functions/enumerationFacet.d.ts +26 -0
- package/dist/utils/functions/enumerationFacet.d.ts.map +1 -0
- package/dist/utils/functions/enumerationFacet.js +27 -0
- package/dist/utils/functions/enumerationFacet.js.map +1 -0
- package/dist/utils/functions/facetCountUtils.d.ts +12 -0
- package/dist/utils/functions/facetCountUtils.d.ts.map +1 -0
- package/dist/utils/functions/facetCountUtils.js +9 -0
- package/dist/utils/functions/facetCountUtils.js.map +1 -0
- package/dist/utils/functions/getEndpoint.js.map +1 -1
- package/dist/utils/functions/getUserData.js +1 -1
- package/dist/utils/functions/getUserData.js.map +1 -1
- package/dist/utils/functions/queryUtils.d.ts +1 -1
- package/dist/utils/functions/queryUtils.d.ts.map +1 -1
- package/dist/utils/functions/queryUtils.js +26 -22
- package/dist/utils/functions/queryUtils.js.map +1 -1
- package/dist/utils/functions/testDownloadSpeed.d.ts.map +1 -1
- package/dist/utils/functions/testDownloadSpeed.js +17 -26
- package/dist/utils/functions/testDownloadSpeed.js.map +1 -1
- package/dist/utils/functions/unCamelCase.js +1 -1
- package/dist/utils/functions/unCamelCase.js.map +1 -1
- package/dist/utils/hooks/useGetInfoFromIds.js +5 -5
- package/dist/utils/hooks/useGetInfoFromIds.js.map +1 -1
- package/dist/utils/hooks/useImmutableTableQuery/TableQueryReducerActions.js +1 -1
- package/dist/utils/hooks/useImmutableTableQuery/TableQueryReducerActions.js.map +1 -1
- package/dist/utils/hooks/useLogin.d.ts.map +1 -1
- package/dist/utils/hooks/useLogin.js +5 -5
- package/dist/utils/hooks/useLogin.js.map +1 -1
- package/dist/utils/hooks/useUploadFileEntity/useCreateFolderPath.js.map +1 -1
- package/dist/utils/jsonschema/collectTopLevelProperties.d.ts +6 -0
- package/dist/utils/jsonschema/collectTopLevelProperties.d.ts.map +1 -1
- package/dist/utils/jsonschema/collectTopLevelProperties.js +1 -1
- package/dist/utils/jsonschema/collectTopLevelProperties.js.map +1 -1
- package/dist/utils/jsonschema/getNumberOrEnumInfo.d.ts +22 -0
- package/dist/utils/jsonschema/getNumberOrEnumInfo.d.ts.map +1 -0
- package/dist/utils/jsonschema/getNumberOrEnumInfo.js +39 -0
- package/dist/utils/jsonschema/getNumberOrEnumInfo.js.map +1 -0
- package/dist/utils/jsonschema/getOnlyNonNullOneOfOption.d.ts +1 -0
- package/dist/utils/jsonschema/getOnlyNonNullOneOfOption.d.ts.map +1 -1
- package/dist/utils/jsonschema/getOnlyNonNullOneOfOption.js +1 -1
- package/dist/utils/jsonschema/getOnlyNonNullOneOfOption.js.map +1 -1
- package/dist/utils/jsonschema/getSchemaPropertyInfo.d.ts +5 -0
- package/dist/utils/jsonschema/getSchemaPropertyInfo.d.ts.map +1 -1
- package/dist/utils/jsonschema/getSchemaPropertyInfo.js +30 -15
- package/dist/utils/jsonschema/getSchemaPropertyInfo.js.map +1 -1
- package/dist/utils/jsonschema/submissionContext.js +2 -2
- package/dist/utils/jsonschema/submissionContext.js.map +1 -1
- package/package.json +6 -6
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { useQueryVisualizationContext as e } from "./QueryVisualizationWrapper/QueryVisualizationContext.js";
|
|
2
|
+
import { SynapseErrorBoundary as t } from "./error/ErrorBanner.js";
|
|
3
|
+
import { SkeletonInlineBlock as n } from "./Skeleton/SkeletonInlineBlock.js";
|
|
3
4
|
import "./Skeleton/index.js";
|
|
4
|
-
import
|
|
5
|
-
import { useQueryContext as
|
|
5
|
+
import r from "./IconSvg/IconSvg.js";
|
|
6
|
+
import { useQueryContext as i } from "./QueryContext/QueryContext.js";
|
|
6
7
|
import "./QueryContext/index.js";
|
|
7
|
-
import { useSuspenseGetQueryMetadata as
|
|
8
|
-
import { useQueryVisualizationContext as a } from "./QueryVisualizationWrapper/QueryVisualizationContext.js";
|
|
8
|
+
import { useSuspenseGetQueryMetadata as a } from "./QueryWrapper/useGetQueryMetadata.js";
|
|
9
9
|
import "./QueryVisualizationWrapper/index.js";
|
|
10
10
|
import "./error/index.js";
|
|
11
11
|
import o from "./widgets/facet-nav/SelectionCriteriaPills.js";
|
|
@@ -13,11 +13,11 @@ import { Suspense as s } from "react";
|
|
|
13
13
|
import { jsx as c, jsxs as l } from "react/jsx-runtime";
|
|
14
14
|
import u from "pluralize";
|
|
15
15
|
//#region src/components/TotalQueryResults.tsx
|
|
16
|
-
function d(
|
|
17
|
-
let { style:
|
|
16
|
+
function d(t) {
|
|
17
|
+
let { style: n, frontText: s, endText: d = "", hideIfUnfiltered: f = !1 } = t, { resetQuery: p, hasResettableFilters: m } = i(), { data: h } = a(), { unitDescription: g } = e(), _ = h?.queryCount, v = m;
|
|
18
18
|
return /* @__PURE__ */ l("div", {
|
|
19
19
|
className: `TotalQueryResults ${m ? "hasFilters" : ""}`,
|
|
20
|
-
style:
|
|
20
|
+
style: n,
|
|
21
21
|
children: [(m || !f) && /* @__PURE__ */ l("div", {
|
|
22
22
|
className: "TotalQueryResults__topbar",
|
|
23
23
|
children: [/* @__PURE__ */ l("span", {
|
|
@@ -34,7 +34,7 @@ function d(e) {
|
|
|
34
34
|
}), v && /* @__PURE__ */ l("a", {
|
|
35
35
|
onClick: p,
|
|
36
36
|
className: "TotalQueryResults__topbar__clearall",
|
|
37
|
-
children: [/* @__PURE__ */ c(
|
|
37
|
+
children: [/* @__PURE__ */ c(r, { icon: "deleteSweep" }), "Clear all filters"]
|
|
38
38
|
})]
|
|
39
39
|
}), /* @__PURE__ */ c("div", {
|
|
40
40
|
className: "TotalQueryResults__selections",
|
|
@@ -42,10 +42,10 @@ function d(e) {
|
|
|
42
42
|
})]
|
|
43
43
|
});
|
|
44
44
|
}
|
|
45
|
-
function f(
|
|
46
|
-
return /* @__PURE__ */ c(
|
|
47
|
-
fallback: /* @__PURE__ */ c(
|
|
48
|
-
children: /* @__PURE__ */ c(d, { ...
|
|
45
|
+
function f(e) {
|
|
46
|
+
return /* @__PURE__ */ c(t, { children: /* @__PURE__ */ c(s, {
|
|
47
|
+
fallback: /* @__PURE__ */ c(n, { width: 100 }),
|
|
48
|
+
children: /* @__PURE__ */ c(d, { ...e })
|
|
49
49
|
}) });
|
|
50
50
|
}
|
|
51
51
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebhookDashboard.d.ts","sourceRoot":"","sources":["../../../src/components/Webhook/WebhookDashboard.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"WebhookDashboard.d.ts","sourceRoot":"","sources":["../../../src/components/Webhook/WebhookDashboard.tsx"],"names":[],"mappings":"AA8KA,MAAM,CAAC,OAAO,UAAU,gBAAgB,4CAwJvC"}
|
|
@@ -16,7 +16,7 @@ import D from "@mui/icons-material/AddCircleTwoTone";
|
|
|
16
16
|
import O from "dayjs";
|
|
17
17
|
import { createColumnHelper as k, getCoreRowModel as A, useReactTable as j } from "@tanstack/react-table";
|
|
18
18
|
//#region src/components/Webhook/WebhookDashboard.tsx
|
|
19
|
-
var M = [E.FAILED, E.REVOKED], N = k();
|
|
19
|
+
var M = new Set([E.FAILED, E.REVOKED]), N = k();
|
|
20
20
|
function P(i, a, o) {
|
|
21
21
|
return [
|
|
22
22
|
N.accessor("id", {
|
|
@@ -85,7 +85,7 @@ function P(i, a, o) {
|
|
|
85
85
|
},
|
|
86
86
|
children: "Verify code"
|
|
87
87
|
}),
|
|
88
|
-
M.
|
|
88
|
+
M.has(e.row.original.verificationStatus) && /* @__PURE__ */ C(g, {
|
|
89
89
|
variant: "outlined",
|
|
90
90
|
onClick: () => {
|
|
91
91
|
a(e.row.original);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebhookDashboard.js","names":[],"sources":["../../../src/components/Webhook/WebhookDashboard.tsx"],"sourcesContent":["import InfiniteTableLayout from '@/components/layout/InfiniteTableLayout'\nimport {\n useGetWebhooksInfinite,\n useResendVerificationCode,\n} from '@/synapse-queries/webhook/useWebhook'\nimport { formatDate } from '@/utils/functions/DateFormatter'\nimport AddCircleTwoTone from '@mui/icons-material/AddCircleTwoTone'\nimport {\n Box,\n Button,\n Link,\n Stack,\n Typography,\n useMediaQuery,\n useTheme,\n} from '@mui/material'\nimport {\n SynapseObjectType,\n Webhook,\n WebhookVerificationStatus,\n} from '@sage-bionetworks/synapse-client'\nimport {\n createColumnHelper,\n getCoreRowModel,\n useReactTable,\n} from '@tanstack/react-table'\nimport dayjs from 'dayjs'\nimport { upperFirst } from 'lodash-es'\nimport { useCallback, useEffect, useMemo, useState } from 'react'\nimport { EntityLink } from '../EntityLink'\nimport { HelpPopover } from '../HelpPopover/HelpPopover'\nimport { SynapseSpinner } from '../LoadingScreen/LoadingScreen'\nimport StyledTanStackTable from '../TanStackTable/StyledTanStackTable'\nimport CreateWebhookModal from './CreateWebhookModal'\nimport { WebhookVerificationDialog } from './WebhookVerificationDialog'\n\nconst WEBHOOK_CAN_RESEND_CODE_STATES: WebhookVerificationStatus[] = [\n WebhookVerificationStatus.FAILED,\n WebhookVerificationStatus.REVOKED,\n]\n\nconst columnHelper = createColumnHelper<Webhook>()\n\nfunction getWebhookTableColumns(\n onClickVerifyWebhook: (webhook: Webhook) => void,\n onClickResendVerificationCode: (webhook: Webhook) => void,\n onClickEditWebhook: (webhook: Webhook) => void,\n) {\n return [\n columnHelper.accessor('id', {\n header: 'ID',\n size: 75,\n cell: ctx => ctx.cell.getValue(),\n }),\n columnHelper.display({\n header: 'Object',\n cell: ctx => {\n if (ctx.row.original.objectType === SynapseObjectType.ENTITY) {\n return (\n <>\n <EntityLink entity={ctx.row.original.objectId!} /> (syn\n {ctx.row.original.objectId})\n </>\n )\n }\n return `${ctx.row.original.objectType}: ${ctx.row.original.objectId}`\n },\n }),\n columnHelper.accessor('eventTypes', {\n header: 'Event Type(s)',\n cell: ctx => (\n <Stack>\n {Array.from<string>(ctx.cell.getValue()!)\n .map(s => s.toLowerCase())\n .map(upperFirst)\n .map(val => (\n <span key={val}>{val}</span>\n ))}\n </Stack>\n ),\n }),\n columnHelper.accessor('isEnabled', {\n header: 'Enabled',\n size: 10,\n cell: ctx => (ctx.cell.getValue() ? 'Yes' : 'No'),\n }),\n columnHelper.accessor('createdOn', {\n header: 'Created On',\n cell: ({ getValue }) => formatDate(dayjs(getValue())),\n }),\n columnHelper.accessor('modifiedOn', {\n header: 'Modified On',\n cell: ({ getValue }) => formatDate(dayjs(getValue())),\n }),\n columnHelper.accessor('verificationStatus', {\n header: 'Verification Status',\n cell: ctx => (\n <Stack\n sx={{\n flexDirection: 'row',\n alignItems: 'center',\n gap: 1,\n }}\n >\n {ctx.row.original.verificationStatus === 'PENDING' && (\n // useEffect above will trigger a refetch until this resolves\n <SynapseSpinner size={20} />\n )}\n {ctx.row.original.verificationStatus !==\n WebhookVerificationStatus.PENDING &&\n upperFirst(\n (ctx.row.original.verificationStatus || '')\n .toLowerCase()\n .replaceAll('_', ' '),\n )}\n {ctx.row.original.verificationMsg && (\n <HelpPopover markdownText={ctx.row.original.verificationMsg} />\n )}\n </Stack>\n ),\n }),\n columnHelper.display({\n id: 'actions',\n header: 'Actions',\n size: 10,\n meta: {\n textAlign: 'right',\n },\n cell: ctx => (\n <Stack\n sx={{\n flexDirection: 'row',\n justifyContent: 'flex-end',\n alignItems: 'center',\n gap: 2,\n }}\n >\n {ctx.row.original.verificationStatus ===\n WebhookVerificationStatus.CODE_SENT && (\n <Button\n variant={'outlined'}\n onClick={() => {\n onClickVerifyWebhook(ctx.row.original)\n }}\n >\n Verify code\n </Button>\n )}\n\n {WEBHOOK_CAN_RESEND_CODE_STATES.includes(\n ctx.row.original.verificationStatus as WebhookVerificationStatus,\n ) && (\n <Button\n variant={'outlined'}\n onClick={() => {\n onClickResendVerificationCode(ctx.row.original)\n }}\n >\n Resend code\n </Button>\n )}\n <Button\n size=\"small\"\n variant=\"contained\"\n onClick={() => {\n onClickEditWebhook(ctx.row.original)\n }}\n >\n Edit\n </Button>\n </Stack>\n ),\n }),\n ]\n}\n\nexport default function WebhookDashboard() {\n const [showCreateModal, setShowCreateModal] = useState(false)\n const [showVerificationDialog, setShowVerificationDialog] = useState(false)\n const [webhookToUpdate, setWebhookToUpdate] = useState<Webhook | undefined>(\n undefined,\n )\n\n const theme = useTheme()\n const hideOptionalColumns = useMediaQuery(theme.breakpoints.down('md'))\n\n const {\n data: infiniteData,\n refetch,\n hasNextPage,\n fetchNextPage,\n isFetchingNextPage,\n isLoading,\n } = useGetWebhooksInfinite()\n const webhooks = useMemo(\n () => infiniteData?.pages.flatMap(page => page.page!) ?? [],\n [infiniteData],\n )\n\n // If the Webhook verification status is PENDING, Synapse may not have sent the verification code, or may have not reported a response.\n // Refetch on an interval to check if the verification status has changed.\n useEffect(() => {\n let intervalId: NodeJS.Timeout\n if (webhooks.some(webhook => webhook.verificationStatus === 'PENDING')) {\n intervalId = setInterval(() => {\n void refetch()\n }, 2500)\n }\n return () => clearInterval(intervalId)\n }, [refetch, webhooks])\n\n const { mutate: resendVerificationCode } = useResendVerificationCode()\n\n const onClickVerifyWebhook = useCallback((webhook: Webhook) => {\n setWebhookToUpdate(webhook)\n setShowVerificationDialog(true)\n }, [])\n const onClickEditWebhook = useCallback((webhook: Webhook) => {\n setWebhookToUpdate(webhook)\n setShowCreateModal(true)\n }, [])\n const onClickResendVerificationCode = useCallback(\n (webhook: Webhook) => {\n resendVerificationCode(webhook.id!)\n },\n [resendVerificationCode],\n )\n\n const columns = useMemo(\n () =>\n getWebhookTableColumns(\n onClickVerifyWebhook,\n onClickResendVerificationCode,\n onClickEditWebhook,\n ),\n [onClickEditWebhook, onClickResendVerificationCode, onClickVerifyWebhook],\n )\n\n const webhookTable = useReactTable<Webhook>({\n data: webhooks,\n columns: columns,\n state: {\n columnVisibility: {\n createdOn: !hideOptionalColumns,\n modifiedOn: !hideOptionalColumns,\n },\n },\n getCoreRowModel: getCoreRowModel(),\n })\n\n const isEmpty = !isLoading && webhookTable.getRowModel().rows.length === 0\n\n return (\n <div>\n <WebhookVerificationDialog\n key={webhookToUpdate?.id}\n open={showVerificationDialog}\n onClose={() => setShowVerificationDialog(false)}\n webhookId={webhookToUpdate?.id!}\n />\n <Typography variant={'headline3'}>Webhook Dashboard</Typography>\n <Box\n sx={{\n display: 'flex',\n flexDirection: 'row',\n my: 2,\n gap: 3,\n justifyContent: 'space-between',\n alignItems: 'flex-start',\n }}\n >\n <div>\n <Typography variant={'body1'} gutterBottom>\n Webhooks can be used to programmatically receive alerts that are\n triggered by events in Synapse. A webhook can specify a Synapse\n entity to receive events related to that entity. For entities that\n represent a container (folder and project), matching events are\n published to the webhook endpoint for any entity in its hierarchy.\n </Typography>\n <Typography variant={'body1'} gutterBottom>\n For more information, see the{' '}\n <Link\n href={\n 'http://dev.release.rest.doc.sagebase.org.s3-website-us-east-1.amazonaws.com/index.html#org.sagebionetworks.repo.web.controller.WebhookController'\n }\n target={'blank'}\n >\n Synapse API REST Docs section on Webhooks\n </Link>\n .\n </Typography>\n </div>\n <Button\n size=\"large\"\n variant=\"contained\"\n startIcon={<AddCircleTwoTone />}\n onClick={() => {\n setWebhookToUpdate(undefined)\n setShowCreateModal(true)\n }}\n sx={{ flexShrink: 0 }}\n >\n Create Webhook\n </Button>\n <CreateWebhookModal\n initialData={webhookToUpdate}\n open={showCreateModal}\n onClose={() => setShowCreateModal(false)}\n />\n </Box>\n <InfiniteTableLayout\n table={<StyledTanStackTable table={webhookTable} />}\n isLoading={isLoading}\n noResults={\n <Typography variant=\"body1\">\n You have not created any webhooks. Click "Create Webhook"\n above to begin.\n </Typography>\n }\n isEmpty={isEmpty}\n hasNextPage={hasNextPage}\n onFetchNextPageClicked={() => {\n void fetchNextPage()\n }}\n isFetchingNextPage={isFetchingNextPage}\n />\n </div>\n )\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"WebhookDashboard.js","names":[],"sources":["../../../src/components/Webhook/WebhookDashboard.tsx"],"sourcesContent":["import InfiniteTableLayout from '@/components/layout/InfiniteTableLayout'\nimport {\n useGetWebhooksInfinite,\n useResendVerificationCode,\n} from '@/synapse-queries/webhook/useWebhook'\nimport { formatDate } from '@/utils/functions/DateFormatter'\nimport AddCircleTwoTone from '@mui/icons-material/AddCircleTwoTone'\nimport {\n Box,\n Button,\n Link,\n Stack,\n Typography,\n useMediaQuery,\n useTheme,\n} from '@mui/material'\nimport {\n SynapseObjectType,\n Webhook,\n WebhookVerificationStatus,\n} from '@sage-bionetworks/synapse-client'\nimport {\n createColumnHelper,\n getCoreRowModel,\n useReactTable,\n} from '@tanstack/react-table'\nimport dayjs from 'dayjs'\nimport { upperFirst } from 'lodash-es'\nimport { useCallback, useEffect, useMemo, useState } from 'react'\nimport { EntityLink } from '../EntityLink'\nimport { HelpPopover } from '../HelpPopover/HelpPopover'\nimport { SynapseSpinner } from '../LoadingScreen/LoadingScreen'\nimport StyledTanStackTable from '../TanStackTable/StyledTanStackTable'\nimport CreateWebhookModal from './CreateWebhookModal'\nimport { WebhookVerificationDialog } from './WebhookVerificationDialog'\n\nconst WEBHOOK_CAN_RESEND_CODE_STATES: ReadonlySet<WebhookVerificationStatus> =\n new Set([WebhookVerificationStatus.FAILED, WebhookVerificationStatus.REVOKED])\n\nconst columnHelper = createColumnHelper<Webhook>()\n\nfunction getWebhookTableColumns(\n onClickVerifyWebhook: (webhook: Webhook) => void,\n onClickResendVerificationCode: (webhook: Webhook) => void,\n onClickEditWebhook: (webhook: Webhook) => void,\n) {\n return [\n columnHelper.accessor('id', {\n header: 'ID',\n size: 75,\n cell: ctx => ctx.cell.getValue(),\n }),\n columnHelper.display({\n header: 'Object',\n cell: ctx => {\n if (ctx.row.original.objectType === SynapseObjectType.ENTITY) {\n return (\n <>\n <EntityLink entity={ctx.row.original.objectId!} /> (syn\n {ctx.row.original.objectId})\n </>\n )\n }\n return `${ctx.row.original.objectType}: ${ctx.row.original.objectId}`\n },\n }),\n columnHelper.accessor('eventTypes', {\n header: 'Event Type(s)',\n cell: ctx => (\n <Stack>\n {Array.from<string>(ctx.cell.getValue()!)\n .map(s => s.toLowerCase())\n .map(upperFirst)\n .map(val => (\n <span key={val}>{val}</span>\n ))}\n </Stack>\n ),\n }),\n columnHelper.accessor('isEnabled', {\n header: 'Enabled',\n size: 10,\n cell: ctx => (ctx.cell.getValue() ? 'Yes' : 'No'),\n }),\n columnHelper.accessor('createdOn', {\n header: 'Created On',\n cell: ({ getValue }) => formatDate(dayjs(getValue())),\n }),\n columnHelper.accessor('modifiedOn', {\n header: 'Modified On',\n cell: ({ getValue }) => formatDate(dayjs(getValue())),\n }),\n columnHelper.accessor('verificationStatus', {\n header: 'Verification Status',\n cell: ctx => (\n <Stack\n sx={{\n flexDirection: 'row',\n alignItems: 'center',\n gap: 1,\n }}\n >\n {ctx.row.original.verificationStatus === 'PENDING' && (\n // useEffect above will trigger a refetch until this resolves\n <SynapseSpinner size={20} />\n )}\n {ctx.row.original.verificationStatus !==\n WebhookVerificationStatus.PENDING &&\n upperFirst(\n (ctx.row.original.verificationStatus || '')\n .toLowerCase()\n .replaceAll('_', ' '),\n )}\n {ctx.row.original.verificationMsg && (\n <HelpPopover markdownText={ctx.row.original.verificationMsg} />\n )}\n </Stack>\n ),\n }),\n columnHelper.display({\n id: 'actions',\n header: 'Actions',\n size: 10,\n meta: {\n textAlign: 'right',\n },\n cell: ctx => (\n <Stack\n sx={{\n flexDirection: 'row',\n justifyContent: 'flex-end',\n alignItems: 'center',\n gap: 2,\n }}\n >\n {ctx.row.original.verificationStatus ===\n WebhookVerificationStatus.CODE_SENT && (\n <Button\n variant={'outlined'}\n onClick={() => {\n onClickVerifyWebhook(ctx.row.original)\n }}\n >\n Verify code\n </Button>\n )}\n\n {WEBHOOK_CAN_RESEND_CODE_STATES.has(\n ctx.row.original.verificationStatus as WebhookVerificationStatus,\n ) && (\n <Button\n variant={'outlined'}\n onClick={() => {\n onClickResendVerificationCode(ctx.row.original)\n }}\n >\n Resend code\n </Button>\n )}\n <Button\n size=\"small\"\n variant=\"contained\"\n onClick={() => {\n onClickEditWebhook(ctx.row.original)\n }}\n >\n Edit\n </Button>\n </Stack>\n ),\n }),\n ]\n}\n\nexport default function WebhookDashboard() {\n const [showCreateModal, setShowCreateModal] = useState(false)\n const [showVerificationDialog, setShowVerificationDialog] = useState(false)\n const [webhookToUpdate, setWebhookToUpdate] = useState<Webhook | undefined>(\n undefined,\n )\n\n const theme = useTheme()\n const hideOptionalColumns = useMediaQuery(theme.breakpoints.down('md'))\n\n const {\n data: infiniteData,\n refetch,\n hasNextPage,\n fetchNextPage,\n isFetchingNextPage,\n isLoading,\n } = useGetWebhooksInfinite()\n const webhooks = useMemo(\n () => infiniteData?.pages.flatMap(page => page.page!) ?? [],\n [infiniteData],\n )\n\n // If the Webhook verification status is PENDING, Synapse may not have sent the verification code, or may have not reported a response.\n // Refetch on an interval to check if the verification status has changed.\n useEffect(() => {\n let intervalId: NodeJS.Timeout\n if (webhooks.some(webhook => webhook.verificationStatus === 'PENDING')) {\n intervalId = setInterval(() => {\n void refetch()\n }, 2500)\n }\n return () => clearInterval(intervalId)\n }, [refetch, webhooks])\n\n const { mutate: resendVerificationCode } = useResendVerificationCode()\n\n const onClickVerifyWebhook = useCallback((webhook: Webhook) => {\n setWebhookToUpdate(webhook)\n setShowVerificationDialog(true)\n }, [])\n const onClickEditWebhook = useCallback((webhook: Webhook) => {\n setWebhookToUpdate(webhook)\n setShowCreateModal(true)\n }, [])\n const onClickResendVerificationCode = useCallback(\n (webhook: Webhook) => {\n resendVerificationCode(webhook.id!)\n },\n [resendVerificationCode],\n )\n\n const columns = useMemo(\n () =>\n getWebhookTableColumns(\n onClickVerifyWebhook,\n onClickResendVerificationCode,\n onClickEditWebhook,\n ),\n [onClickEditWebhook, onClickResendVerificationCode, onClickVerifyWebhook],\n )\n\n const webhookTable = useReactTable<Webhook>({\n data: webhooks,\n columns: columns,\n state: {\n columnVisibility: {\n createdOn: !hideOptionalColumns,\n modifiedOn: !hideOptionalColumns,\n },\n },\n getCoreRowModel: getCoreRowModel(),\n })\n\n const isEmpty = !isLoading && webhookTable.getRowModel().rows.length === 0\n\n return (\n <div>\n <WebhookVerificationDialog\n key={webhookToUpdate?.id}\n open={showVerificationDialog}\n onClose={() => setShowVerificationDialog(false)}\n webhookId={webhookToUpdate?.id!}\n />\n <Typography variant={'headline3'}>Webhook Dashboard</Typography>\n <Box\n sx={{\n display: 'flex',\n flexDirection: 'row',\n my: 2,\n gap: 3,\n justifyContent: 'space-between',\n alignItems: 'flex-start',\n }}\n >\n <div>\n <Typography variant={'body1'} gutterBottom>\n Webhooks can be used to programmatically receive alerts that are\n triggered by events in Synapse. A webhook can specify a Synapse\n entity to receive events related to that entity. For entities that\n represent a container (folder and project), matching events are\n published to the webhook endpoint for any entity in its hierarchy.\n </Typography>\n <Typography variant={'body1'} gutterBottom>\n For more information, see the{' '}\n <Link\n href={\n 'http://dev.release.rest.doc.sagebase.org.s3-website-us-east-1.amazonaws.com/index.html#org.sagebionetworks.repo.web.controller.WebhookController'\n }\n target={'blank'}\n >\n Synapse API REST Docs section on Webhooks\n </Link>\n .\n </Typography>\n </div>\n <Button\n size=\"large\"\n variant=\"contained\"\n startIcon={<AddCircleTwoTone />}\n onClick={() => {\n setWebhookToUpdate(undefined)\n setShowCreateModal(true)\n }}\n sx={{ flexShrink: 0 }}\n >\n Create Webhook\n </Button>\n <CreateWebhookModal\n initialData={webhookToUpdate}\n open={showCreateModal}\n onClose={() => setShowCreateModal(false)}\n />\n </Box>\n <InfiniteTableLayout\n table={<StyledTanStackTable table={webhookTable} />}\n isLoading={isLoading}\n noResults={\n <Typography variant=\"body1\">\n You have not created any webhooks. Click "Create Webhook"\n above to begin.\n </Typography>\n }\n isEmpty={isEmpty}\n hasNextPage={hasNextPage}\n onFetchNextPageClicked={() => {\n void fetchNextPage()\n }}\n isFetchingNextPage={isFetchingNextPage}\n />\n </div>\n )\n}\n"],"mappings":"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"}
|
|
@@ -1,2 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Reports files added to the Download List, with a link to it.
|
|
3
|
+
* @param numberOfFilesAdded the server's count, when the caller has it
|
|
4
|
+
*/
|
|
5
|
+
export declare function displayFilesWereAddedToDownloadListSuccess(downloadCartPageUrl: string, numberOfFilesAdded?: number): void;
|
|
2
6
|
//# sourceMappingURL=DownloadConfirmationUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DownloadConfirmationUtils.d.ts","sourceRoot":"","sources":["../../../src/components/download_list/DownloadConfirmationUtils.ts"],"names":[],"mappings":"AAEA,wBAAgB,0CAA0C,CACxD,mBAAmB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"DownloadConfirmationUtils.d.ts","sourceRoot":"","sources":["../../../src/components/download_list/DownloadConfirmationUtils.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,0CAA0C,CACxD,mBAAmB,EAAE,MAAM,EAC3B,kBAAkB,CAAC,EAAE,MAAM,QAgB5B"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { displayToast as e } from "../ToastMessage/ToastMessage.js";
|
|
2
2
|
import "../ToastMessage/index.js";
|
|
3
3
|
//#region src/components/download_list/DownloadConfirmationUtils.ts
|
|
4
|
-
function t(t) {
|
|
5
|
-
e("File(s) were successfully added to your Download List."
|
|
4
|
+
function t(t, n) {
|
|
5
|
+
e(n === void 0 ? "File(s) were successfully added to your Download List." : `${n.toLocaleString()} ${n === 1 ? "file was" : "files were"} added to your Download List.`, "success", { primaryButtonConfig: {
|
|
6
6
|
text: "View Download List",
|
|
7
7
|
onClick: () => {
|
|
8
8
|
window.location.href = t;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DownloadConfirmationUtils.js","names":[],"sources":["../../../src/components/download_list/DownloadConfirmationUtils.ts"],"sourcesContent":["import { displayToast } from '../ToastMessage'\n\nexport function displayFilesWereAddedToDownloadListSuccess(\n downloadCartPageUrl: string,\n) {\n displayToast(\n 'File(s) were successfully added to your Download List.'
|
|
1
|
+
{"version":3,"file":"DownloadConfirmationUtils.js","names":[],"sources":["../../../src/components/download_list/DownloadConfirmationUtils.ts"],"sourcesContent":["import { displayToast } from '../ToastMessage'\n\n/**\n * Reports files added to the Download List, with a link to it.\n * @param numberOfFilesAdded the server's count, when the caller has it\n */\nexport function displayFilesWereAddedToDownloadListSuccess(\n downloadCartPageUrl: string,\n numberOfFilesAdded?: number,\n) {\n displayToast(\n numberOfFilesAdded === undefined\n ? 'File(s) were successfully added to your Download List.'\n : `${numberOfFilesAdded.toLocaleString()} ${numberOfFilesAdded === 1 ? 'file was' : 'files were'} added to your Download List.`,\n 'success',\n {\n primaryButtonConfig: {\n text: 'View Download List',\n onClick: () => {\n window.location.href = downloadCartPageUrl\n },\n },\n },\n )\n}\n"],"mappings":";;;AAMA,SAAgB,EACd,GACA,GACA;CACA,EACE,MAAuB,KAAA,IACnB,2DACA,GAAG,EAAmB,eAAe,EAAE,GAAG,MAAuB,IAAI,aAAa,aAAa,gCACnG,WACA,EACE,qBAAqB;EACnB,MAAM;EACN,eAAe;GACb,OAAO,SAAS,OAAO;EACzB;CACF,EACF,CACF;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ErrorBanner.d.ts","sourceRoot":"","sources":["../../../src/components/error/ErrorBanner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAEjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0DAA0D,CAAA;AAC7F,OAAO,EAAE,iBAAiB,EAAY,MAAM,OAAO,CAAA;AACnD,OAAO,EAEL,+BAA+B,EAC/B,aAAa,EACd,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"ErrorBanner.d.ts","sourceRoot":"","sources":["../../../src/components/error/ErrorBanner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAEjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0DAA0D,CAAA;AAC7F,OAAO,EAAE,iBAAiB,EAAY,MAAM,OAAO,CAAA;AACnD,OAAO,EAEL,+BAA+B,EAC/B,aAAa,EACd,MAAM,sBAAsB,CAAA;AAS7B,KAAK,gBAAgB,GAAG;IACtB,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,kBAAkB,GAAG,IAAI,CAAA;IAClD,cAAc,CAAC,EAAE,MAAM,IAAI,CAAA;CAC5B,CAAA;AAED,eAAO,MAAM,8BAA8B,oDACQ,CAAA;AAEnD,eAAO,MAAM,YAAY,QAAO,KAAK,CAAC,SAMrC,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,OAAO;IACjC,KAAK,EAAE,kBAAkB,CAAA;CAC1B,KAAG,KAAK,CAAC,SA2CT,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,OAAO,gBAAgB,KAAG,KAAK,CAAC,SAwD3D,CAAA;AAED,wBAAgB,sBAAsB,CAAC,EACrC,KAAK,EACL,kBAAkB,GACnB,EAAE,aAAa,2CASf;AAED,wBAAgB,yBAAyB,CAAC,EACxC,KAAK,EACL,kBAAkB,GACnB,EAAE,aAAa,2CAQf;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,EACrC,KAAK,EACL,kBAAkB,GACnB,EAAE,aAAa,2CAGf;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,GAC/B,OAAO,iBAAiB,CACtB,QAAQ,CAAC,+BAA+B,EAAE,mBAAmB,CAAC,CAC/D,KACA,KAAK,CAAC,SAER,CAAA"}
|
|
@@ -1,91 +1,94 @@
|
|
|
1
1
|
import e from "../FullWidthAlert/index.js";
|
|
2
2
|
import t from "../SignInButton.js";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
3
|
+
import { AggregateQueryErrorNotice as n, getAggregateQueryError as r } from "../QueryWrapper/AggregateQueryErrorNotice.js";
|
|
4
|
+
import { useSynapseContext as i } from "../../utils/context/SynapseContext.js";
|
|
5
|
+
import { useState as a } from "react";
|
|
6
|
+
import { Box as o, Button as s, Collapse as c, Stack as l } from "@mui/material";
|
|
7
|
+
import { Fragment as u, jsx as d, jsxs as f } from "react/jsx-runtime";
|
|
8
|
+
import { SynapseClientError as p } from "@sage-bionetworks/synapse-client/util/SynapseClientError";
|
|
9
|
+
import { ErrorBoundary as m } from "react-error-boundary";
|
|
9
10
|
//#region src/components/error/ErrorBanner.tsx
|
|
10
|
-
var
|
|
11
|
+
var h = "You are not authorized to access this resource.", g = () => /* @__PURE__ */ f(u, { children: [
|
|
11
12
|
"Please ",
|
|
12
|
-
/* @__PURE__ */
|
|
13
|
+
/* @__PURE__ */ d(t, {}),
|
|
13
14
|
" to view this resource."
|
|
14
|
-
] }),
|
|
15
|
-
let [t,
|
|
16
|
-
return
|
|
15
|
+
] }), _ = (e) => {
|
|
16
|
+
let [t, n] = a(!1), { isAuthenticated: r } = i(), { error: p } = e, m = (p.status === 403 || p.status === 401) && !r, _ = p.status === 403 && r;
|
|
17
|
+
return m ? /* @__PURE__ */ d(g, {}) : _ ? /* @__PURE__ */ f(u, { children: [/* @__PURE__ */ f(l, {
|
|
17
18
|
direction: "row",
|
|
18
19
|
spacing: 2,
|
|
19
|
-
children: [/* @__PURE__ */
|
|
20
|
+
children: [/* @__PURE__ */ d(o, {
|
|
20
21
|
sx: {
|
|
21
22
|
display: "flex",
|
|
22
23
|
alignItems: "center"
|
|
23
24
|
},
|
|
24
|
-
children:
|
|
25
|
-
}), /* @__PURE__ */
|
|
25
|
+
children: h
|
|
26
|
+
}), /* @__PURE__ */ f(s, {
|
|
26
27
|
variant: "text",
|
|
27
|
-
onClick: () =>
|
|
28
|
+
onClick: () => n((e) => !e),
|
|
28
29
|
children: [t ? "Hide" : "Show", " details"]
|
|
29
30
|
})]
|
|
30
|
-
}), /* @__PURE__ */
|
|
31
|
+
}), /* @__PURE__ */ d(c, {
|
|
31
32
|
in: t,
|
|
32
|
-
children: /* @__PURE__ */
|
|
33
|
+
children: /* @__PURE__ */ d(o, {
|
|
33
34
|
sx: { paddingTop: 1 },
|
|
34
|
-
children: /* @__PURE__ */
|
|
35
|
+
children: /* @__PURE__ */ d("pre", { children: p.reason })
|
|
35
36
|
})
|
|
36
|
-
})] }) : /* @__PURE__ */
|
|
37
|
-
},
|
|
38
|
-
let { error:
|
|
39
|
-
if (!
|
|
40
|
-
let
|
|
41
|
-
|
|
42
|
-
let s
|
|
43
|
-
|
|
37
|
+
})] }) : /* @__PURE__ */ d(u, { children: p.reason });
|
|
38
|
+
}, v = (t) => {
|
|
39
|
+
let { error: i, reloadButtonFn: a } = t;
|
|
40
|
+
if (!i) return /* @__PURE__ */ d(u, {});
|
|
41
|
+
let o = r(i);
|
|
42
|
+
if (o) return /* @__PURE__ */ d(n, { error: o });
|
|
43
|
+
let s, c, l;
|
|
44
|
+
i instanceof p ? s = i : i instanceof Error ? c = i : typeof i == "string" && (l = i);
|
|
45
|
+
let m = s && s.status >= 500, h;
|
|
46
|
+
return m ? h = {
|
|
44
47
|
text: "Report Issue",
|
|
45
48
|
onClick: () => {
|
|
46
|
-
let e = `https://sagebionetworks.jira.com/servicedesk/customer/portal/9/group/16/create/84?description=${encodeURI(`A server error occurred:\n\n${
|
|
49
|
+
let e = `https://sagebionetworks.jira.com/servicedesk/customer/portal/9/group/16/create/84?description=${encodeURI(`A server error occurred:\n\n${s?.reason}`)}`;
|
|
47
50
|
window.open(e, "_blank");
|
|
48
51
|
}
|
|
49
|
-
} :
|
|
52
|
+
} : a && (h = {
|
|
50
53
|
text: "Reload",
|
|
51
|
-
onClick:
|
|
52
|
-
}), /* @__PURE__ */
|
|
54
|
+
onClick: a
|
|
55
|
+
}), /* @__PURE__ */ d(e, {
|
|
53
56
|
variant: "danger",
|
|
54
57
|
isGlobal: !1,
|
|
55
|
-
description: /* @__PURE__ */ u
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
58
|
+
description: /* @__PURE__ */ f(u, { children: [
|
|
59
|
+
s && /* @__PURE__ */ d(_, { error: s }),
|
|
60
|
+
c && c.message,
|
|
61
|
+
l && l
|
|
59
62
|
] }),
|
|
60
|
-
primaryButtonConfig:
|
|
63
|
+
primaryButtonConfig: h
|
|
61
64
|
});
|
|
62
65
|
};
|
|
63
|
-
function
|
|
64
|
-
return /* @__PURE__ */
|
|
66
|
+
function y({ error: e, resetErrorBoundary: t }) {
|
|
67
|
+
return /* @__PURE__ */ d("div", {
|
|
65
68
|
className: "SRC-marginBottomTop",
|
|
66
|
-
children: /* @__PURE__ */
|
|
69
|
+
children: /* @__PURE__ */ d(v, {
|
|
67
70
|
error: e,
|
|
68
71
|
reloadButtonFn: t
|
|
69
72
|
})
|
|
70
73
|
});
|
|
71
74
|
}
|
|
72
|
-
function
|
|
73
|
-
return /* @__PURE__ */
|
|
75
|
+
function b({ error: e, resetErrorBoundary: t }) {
|
|
76
|
+
return /* @__PURE__ */ d("tr", { children: /* @__PURE__ */ d("td", {
|
|
74
77
|
colSpan: 999,
|
|
75
|
-
children: /* @__PURE__ */
|
|
78
|
+
children: /* @__PURE__ */ d(v, {
|
|
76
79
|
error: e,
|
|
77
80
|
reloadButtonFn: t
|
|
78
81
|
})
|
|
79
82
|
}) });
|
|
80
83
|
}
|
|
81
|
-
function
|
|
82
|
-
return console.error(e), /* @__PURE__ */
|
|
84
|
+
function x({ error: e, resetErrorBoundary: t }) {
|
|
85
|
+
return console.error(e), /* @__PURE__ */ d(u, {});
|
|
83
86
|
}
|
|
84
|
-
var
|
|
85
|
-
FallbackComponent:
|
|
87
|
+
var S = (e) => /* @__PURE__ */ d(m, {
|
|
88
|
+
FallbackComponent: y,
|
|
86
89
|
...e
|
|
87
90
|
});
|
|
88
91
|
//#endregion
|
|
89
|
-
export {
|
|
92
|
+
export { _ as ClientError, x as EmptyFallbackComponent, v as ErrorBanner, y as ErrorFallbackComponent, g as SignInPrompt, S as SynapseErrorBoundary, b as TableRowFallbackComponent, h as YOU_ARE_NOT_AUTHORIZED_MESSAGE };
|
|
90
93
|
|
|
91
94
|
//# sourceMappingURL=ErrorBanner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ErrorBanner.js","names":[],"sources":["../../../src/components/error/ErrorBanner.tsx"],"sourcesContent":["import React from 'react'\nimport { useSynapseContext } from '@/utils/context/SynapseContext'\nimport { Optional } from '@/utils/types/Optional'\nimport { Box, Button, Collapse, Stack } from '@mui/material'\nimport { SynapseClientError } from '@sage-bionetworks/synapse-client/util/SynapseClientError'\nimport { PropsWithChildren, useState } from 'react'\nimport {\n ErrorBoundary,\n ErrorBoundaryPropsWithComponent,\n FallbackProps,\n} from 'react-error-boundary'\nimport FullWidthAlert from '../FullWidthAlert'\nimport SignInButton from '../SignInButton'\nimport { AlertButtonConfig } from '../FullWidthAlert/FullWidthAlert'\n\ntype ErrorBannerProps = {\n error?: string | Error | SynapseClientError | null\n reloadButtonFn?: () => void\n}\n\nexport const YOU_ARE_NOT_AUTHORIZED_MESSAGE =\n 'You are not authorized to access this resource.'\n\nexport const SignInPrompt = (): React.ReactNode => {\n return (\n <>\n Please <SignInButton /> to view this resource.\n </>\n )\n}\n\nexport const ClientError = (props: {\n error: SynapseClientError\n}): React.ReactNode => {\n const [showDetailedError, setShowDetailedError] = useState(false)\n const { isAuthenticated } = useSynapseContext()\n const { error } = props\n const loginError =\n (error.status === 403 || error.status === 401) && !isAuthenticated\n const accessDenied = error.status === 403 && isAuthenticated\n\n if (loginError) {\n return <SignInPrompt />\n } else if (accessDenied) {\n return (\n <>\n <Stack direction=\"row\" spacing={2}>\n <Box\n sx={{\n display: 'flex',\n alignItems: 'center',\n }}\n >\n {YOU_ARE_NOT_AUTHORIZED_MESSAGE}\n </Box>\n <Button\n variant=\"text\"\n onClick={() => setShowDetailedError(show => !show)}\n >\n {showDetailedError ? 'Hide' : 'Show'} details\n </Button>\n </Stack>\n <Collapse in={showDetailedError}>\n <Box\n sx={{\n paddingTop: 1,\n }}\n >\n <pre>{error.reason}</pre>\n </Box>\n </Collapse>\n </>\n )\n } else {\n return <>{error.reason}</>\n }\n}\n\nexport const ErrorBanner = (props: ErrorBannerProps): React.ReactNode => {\n const { error, reloadButtonFn } = props\n\n if (!error) {\n return <></>\n }\n\n let synapseClientError: SynapseClientError | undefined = undefined\n let jsError: Error | undefined = undefined\n let stringError: string | undefined = undefined\n if (error instanceof SynapseClientError) {\n synapseClientError = error\n } else if (error instanceof Error) {\n jsError = error\n } else if (typeof error === 'string') {\n stringError = error\n }\n const serverError = synapseClientError && synapseClientError.status >= 500\n let primaryButtonConfig: AlertButtonConfig | undefined = undefined\n\n if (serverError) {\n primaryButtonConfig = {\n text: 'Report Issue',\n onClick: () => {\n const issueUrl = `https://sagebionetworks.jira.com/servicedesk/customer/portal/9/group/16/create/84?description=${encodeURI(\n `A server error occurred:\\n\\n${synapseClientError?.reason}`,\n )}`\n window.open(issueUrl, '_blank')\n },\n }\n } else if (reloadButtonFn) {\n primaryButtonConfig = {\n text: 'Reload',\n onClick: reloadButtonFn,\n }\n }\n\n return (\n <FullWidthAlert\n variant={'danger'}\n isGlobal={false}\n description={\n <>\n {synapseClientError && <ClientError error={synapseClientError} />}\n {jsError && jsError.message}\n {stringError && stringError}\n </>\n }\n primaryButtonConfig={primaryButtonConfig}\n />\n )\n}\n\nexport function ErrorFallbackComponent({\n error,\n resetErrorBoundary,\n}: FallbackProps) {\n return (\n <div className=\"SRC-marginBottomTop\">\n <ErrorBanner\n error={error}\n reloadButtonFn={resetErrorBoundary}\n ></ErrorBanner>\n </div>\n )\n}\n\nexport function TableRowFallbackComponent({\n error,\n resetErrorBoundary,\n}: FallbackProps) {\n return (\n <tr>\n <td colSpan={999}>\n <ErrorBanner error={error} reloadButtonFn={resetErrorBoundary} />\n </td>\n </tr>\n )\n}\n\n/**\n * This error boundary fallback component does not have a UI, it only outputs the error to console.error\n */\nexport function EmptyFallbackComponent({\n error,\n resetErrorBoundary,\n}: FallbackProps) {\n console.error(error)\n return <></>\n}\n\n/**\n * ErrorBoundary component that uses the default error fallback component, unless overridden.\n * Internally uses `react-error-boundary`.\n *\n * Use with {@link react-error-boundary#handleError | handleError}\n * @param props\n * @returns\n */\nexport const SynapseErrorBoundary = (\n props: PropsWithChildren<\n Optional<ErrorBoundaryPropsWithComponent, 'FallbackComponent'>\n >,\n): React.ReactNode => (\n <ErrorBoundary FallbackComponent={ErrorFallbackComponent} {...props} />\n)\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ErrorBanner.js","names":[],"sources":["../../../src/components/error/ErrorBanner.tsx"],"sourcesContent":["import React from 'react'\nimport { useSynapseContext } from '@/utils/context/SynapseContext'\nimport { Optional } from '@/utils/types/Optional'\nimport { Box, Button, Collapse, Stack } from '@mui/material'\nimport { SynapseClientError } from '@sage-bionetworks/synapse-client/util/SynapseClientError'\nimport { PropsWithChildren, useState } from 'react'\nimport {\n ErrorBoundary,\n ErrorBoundaryPropsWithComponent,\n FallbackProps,\n} from 'react-error-boundary'\nimport FullWidthAlert from '../FullWidthAlert'\nimport SignInButton from '../SignInButton'\nimport { AlertButtonConfig } from '../FullWidthAlert/FullWidthAlert'\nimport {\n AggregateQueryErrorNotice,\n getAggregateQueryError,\n} from '../QueryWrapper/AggregateQueryErrorNotice'\n\ntype ErrorBannerProps = {\n error?: string | Error | SynapseClientError | null\n reloadButtonFn?: () => void\n}\n\nexport const YOU_ARE_NOT_AUTHORIZED_MESSAGE =\n 'You are not authorized to access this resource.'\n\nexport const SignInPrompt = (): React.ReactNode => {\n return (\n <>\n Please <SignInButton /> to view this resource.\n </>\n )\n}\n\nexport const ClientError = (props: {\n error: SynapseClientError\n}): React.ReactNode => {\n const [showDetailedError, setShowDetailedError] = useState(false)\n const { isAuthenticated } = useSynapseContext()\n const { error } = props\n const loginError =\n (error.status === 403 || error.status === 401) && !isAuthenticated\n const accessDenied = error.status === 403 && isAuthenticated\n\n if (loginError) {\n return <SignInPrompt />\n } else if (accessDenied) {\n return (\n <>\n <Stack direction=\"row\" spacing={2}>\n <Box\n sx={{\n display: 'flex',\n alignItems: 'center',\n }}\n >\n {YOU_ARE_NOT_AUTHORIZED_MESSAGE}\n </Box>\n <Button\n variant=\"text\"\n onClick={() => setShowDetailedError(show => !show)}\n >\n {showDetailedError ? 'Hide' : 'Show'} details\n </Button>\n </Stack>\n <Collapse in={showDetailedError}>\n <Box\n sx={{\n paddingTop: 1,\n }}\n >\n <pre>{error.reason}</pre>\n </Box>\n </Collapse>\n </>\n )\n } else {\n return <>{error.reason}</>\n }\n}\n\nexport const ErrorBanner = (props: ErrorBannerProps): React.ReactNode => {\n const { error, reloadButtonFn } = props\n\n if (!error) {\n return <></>\n }\n\n // A result withheld from an aggregate-only caller is a normal state, not an error, so it is not shown as a banner.\n const aggregateQueryError = getAggregateQueryError(error)\n if (aggregateQueryError) {\n return <AggregateQueryErrorNotice error={aggregateQueryError} />\n }\n let synapseClientError: SynapseClientError | undefined = undefined\n let jsError: Error | undefined = undefined\n let stringError: string | undefined = undefined\n if (error instanceof SynapseClientError) {\n synapseClientError = error\n } else if (error instanceof Error) {\n jsError = error\n } else if (typeof error === 'string') {\n stringError = error\n }\n const serverError = synapseClientError && synapseClientError.status >= 500\n let primaryButtonConfig: AlertButtonConfig | undefined = undefined\n\n if (serverError) {\n primaryButtonConfig = {\n text: 'Report Issue',\n onClick: () => {\n const issueUrl = `https://sagebionetworks.jira.com/servicedesk/customer/portal/9/group/16/create/84?description=${encodeURI(\n `A server error occurred:\\n\\n${synapseClientError?.reason}`,\n )}`\n window.open(issueUrl, '_blank')\n },\n }\n } else if (reloadButtonFn) {\n primaryButtonConfig = {\n text: 'Reload',\n onClick: reloadButtonFn,\n }\n }\n\n return (\n <FullWidthAlert\n variant={'danger'}\n isGlobal={false}\n description={\n <>\n {synapseClientError && <ClientError error={synapseClientError} />}\n {jsError && jsError.message}\n {stringError && stringError}\n </>\n }\n primaryButtonConfig={primaryButtonConfig}\n />\n )\n}\n\nexport function ErrorFallbackComponent({\n error,\n resetErrorBoundary,\n}: FallbackProps) {\n return (\n <div className=\"SRC-marginBottomTop\">\n <ErrorBanner\n error={error}\n reloadButtonFn={resetErrorBoundary}\n ></ErrorBanner>\n </div>\n )\n}\n\nexport function TableRowFallbackComponent({\n error,\n resetErrorBoundary,\n}: FallbackProps) {\n return (\n <tr>\n <td colSpan={999}>\n <ErrorBanner error={error} reloadButtonFn={resetErrorBoundary} />\n </td>\n </tr>\n )\n}\n\n/**\n * This error boundary fallback component does not have a UI, it only outputs the error to console.error\n */\nexport function EmptyFallbackComponent({\n error,\n resetErrorBoundary,\n}: FallbackProps) {\n console.error(error)\n return <></>\n}\n\n/**\n * ErrorBoundary component that uses the default error fallback component, unless overridden.\n * Internally uses `react-error-boundary`.\n *\n * Use with {@link react-error-boundary#handleError | handleError}\n * @param props\n * @returns\n */\nexport const SynapseErrorBoundary = (\n props: PropsWithChildren<\n Optional<ErrorBoundaryPropsWithComponent, 'FallbackComponent'>\n >,\n): React.ReactNode => (\n <ErrorBoundary FallbackComponent={ErrorFallbackComponent} {...props} />\n)\n"],"mappings":";;;;;;;;;;AAwBA,IAAa,IACX,mDAEW,UAET,kBAAA,GAAA,EAAA,UAAA;CAAE;CACO,kBAAC,GAAD,CAAe,CAAA;CAAC;AACvB,EAAA,CAAA,GAIO,KAAe,MAEL;CACrB,IAAM,CAAC,GAAmB,KAAwB,EAAS,EAAK,GAC1D,EAAE,uBAAoB,EAAkB,GACxC,EAAE,aAAU,GACZ,KACH,EAAM,WAAW,OAAO,EAAM,WAAW,QAAQ,CAAC,GAC/C,IAAe,EAAM,WAAW,OAAO;CAmC3C,OAjCE,IACK,kBAAC,GAAD,CAAe,CAAA,IACb,IAEP,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,GAAD;EAAO,WAAU;EAAM,SAAS;YAAhC,CACE,kBAAC,GAAD;GACE,IAAI;IACF,SAAS;IACT,YAAY;GACd;aAEC;EACE,CAAA,GACL,kBAAC,GAAD;GACE,SAAQ;GACR,eAAe,GAAqB,MAAQ,CAAC,CAAI;aAFnD,CAIG,IAAoB,SAAS,QAAO,UAC/B;IACH;KACP,kBAAC,GAAD;EAAU,IAAI;YACZ,kBAAC,GAAD;GACE,IAAI,EACF,YAAY,EACd;aAEA,kBAAC,OAAD,EAAA,UAAM,EAAM,OAAY,CAAA;EACrB,CAAA;CACG,CAAA,CACV,EAAA,CAAA,IAGG,kBAAA,GAAA,EAAA,UAAG,EAAM,OAAS,CAAA;AAE7B,GAEa,KAAe,MAA6C;CACvE,IAAM,EAAE,UAAO,sBAAmB;CAElC,IAAI,CAAC,GACH,OAAO,kBAAA,GAAA,CAAI,CAAA;CAIb,IAAM,IAAsB,EAAuB,CAAK;CACxD,IAAI,GACF,OAAO,kBAAC,GAAD,EAA2B,OAAO,EAAsB,CAAA;CAEjE,IAAI,GACA,GACA;CACJ,AAAI,aAAiB,IACnB,IAAqB,IACZ,aAAiB,QAC1B,IAAU,IACD,OAAO,KAAU,aAC1B,IAAc;CAEhB,IAAM,IAAc,KAAsB,EAAmB,UAAU,KACnE;CAmBJ,OAjBI,IACF,IAAsB;EACpB,MAAM;EACN,eAAe;GACb,IAAM,IAAW,iGAAiG,UAChH,+BAA+B,GAAoB,QACrD;GACA,OAAO,KAAK,GAAU,QAAQ;EAChC;CACF,IACS,MACT,IAAsB;EACpB,MAAM;EACN,SAAS;CACX,IAIA,kBAAC,GAAD;EACE,SAAS;EACT,UAAU;EACV,aACE,kBAAA,GAAA,EAAA,UAAA;GACG,KAAsB,kBAAC,GAAD,EAAa,OAAO,EAAqB,CAAA;GAC/D,KAAW,EAAQ;GACnB,KAAe;EAChB,EAAA,CAAA;EAEiB;CACtB,CAAA;AAEL;AAEA,SAAgB,EAAuB,EACrC,UACA,yBACgB;CAChB,OACE,kBAAC,OAAD;EAAK,WAAU;YACb,kBAAC,GAAD;GACS;GACP,gBAAgB;EACJ,CAAA;CACX,CAAA;AAET;AAEA,SAAgB,EAA0B,EACxC,UACA,yBACgB;CAChB,OACE,kBAAC,MAAD,EAAA,UACE,kBAAC,MAAD;EAAI,SAAS;YACX,kBAAC,GAAD;GAAoB;GAAO,gBAAgB;EAAqB,CAAA;CAC9D,CAAA,EACF,CAAA;AAER;AAKA,SAAgB,EAAuB,EACrC,UACA,yBACgB;CAEhB,OADA,QAAQ,MAAM,CAAK,GACZ,kBAAA,GAAA,CAAI,CAAA;AACb;AAUA,IAAa,KACX,MAIA,kBAAC,GAAD;CAAe,mBAAmB;CAAwB,GAAI;AAAQ,CAAA"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { FileUploadProgress as e } from "../../EntityUpload/FileUploadProgress.js";
|
|
2
2
|
import t from "../../../utils/hooks/useUploadFileEntity/getActiveUploadCount.js";
|
|
3
3
|
import { Fragment as n, jsx as r, jsxs as i } from "react/jsx-runtime";
|
|
4
|
-
import a from "
|
|
5
|
-
import o from "
|
|
4
|
+
import a from "pluralize";
|
|
5
|
+
import o from "@mui/material/Typography";
|
|
6
6
|
import s from "@mui/material/Box";
|
|
7
7
|
import c from "@mui/material/Paper";
|
|
8
8
|
import { FixedSizeList as l } from "react-window";
|
|
@@ -21,7 +21,7 @@ function d(d) {
|
|
|
21
21
|
height: "260px",
|
|
22
22
|
background: "#FBFBFC"
|
|
23
23
|
},
|
|
24
|
-
children: [/* @__PURE__ */ i(
|
|
24
|
+
children: [/* @__PURE__ */ i(o, {
|
|
25
25
|
variant: "headline2",
|
|
26
26
|
gutterBottom: !0,
|
|
27
27
|
children: [
|
|
@@ -30,13 +30,13 @@ function d(d) {
|
|
|
30
30
|
"Uploading ",
|
|
31
31
|
m,
|
|
32
32
|
" ",
|
|
33
|
-
|
|
33
|
+
a("Item", m)
|
|
34
34
|
] }),
|
|
35
35
|
f === "COMPLETE" && /* @__PURE__ */ i(n, { children: [
|
|
36
36
|
"Uploaded ",
|
|
37
37
|
h,
|
|
38
38
|
" ",
|
|
39
|
-
|
|
39
|
+
a("Item", h)
|
|
40
40
|
] })
|
|
41
41
|
]
|
|
42
42
|
}), /* @__PURE__ */ r(s, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dataset.d.ts","sourceRoot":"","sources":["../../../src/components/row_renderers/Dataset.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AAC3E,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAC7C,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAA;AAC9E,OAAO,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAA;AAG5E,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,CAAC,EAAE,GAAG,CAAA;IACV,MAAM,CAAC,EAAE,GAAG,CAAA;IACZ,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,aAAa,CAAC,EAAE,YAAY,EAAE,CAAA;IAC9B,YAAY,CAAC,EAAE,WAAW,EAAE,CAAA;IAC5B,iBAAiB,CAAC,EAAE,yBAAyB,CAAA;IAC7C,yBAAyB,EAAE,6BAA6B,CAAA;CACzD,CAAA;AAED,cAAM,OAAQ,SAAQ,SAAS,CAAC,YAAY,EAAE,KAAK,CAAC;gBACtC,KAAK,EAAE,YAAY;IAKxB,eAAe,GACnB,MAAM,MAAM,MAAM,OAAO,UAAU,CAAC,iBAAiB,CAAC,UAMtD;IAEI,MAAM;
|
|
1
|
+
{"version":3,"file":"Dataset.d.ts","sourceRoot":"","sources":["../../../src/components/row_renderers/Dataset.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AAC3E,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAC7C,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAA;AAC9E,OAAO,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAA;AAG5E,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,CAAC,EAAE,GAAG,CAAA;IACV,MAAM,CAAC,EAAE,GAAG,CAAA;IACZ,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,aAAa,CAAC,EAAE,YAAY,EAAE,CAAA;IAC9B,YAAY,CAAC,EAAE,WAAW,EAAE,CAAA;IAC5B,iBAAiB,CAAC,EAAE,yBAAyB,CAAA;IAC7C,yBAAyB,EAAE,6BAA6B,CAAA;CACzD,CAAA;AAED,cAAM,OAAQ,SAAQ,SAAS,CAAC,YAAY,EAAE,KAAK,CAAC;gBACtC,KAAK,EAAE,YAAY;IAKxB,eAAe,GACnB,MAAM,MAAM,MAAM,OAAO,UAAU,CAAC,iBAAiB,CAAC,UAMtD;IAEI,MAAM;CA+Fd;AACD,eAAe,OAAO,CAAA"}
|
|
@@ -49,12 +49,12 @@ var d = class extends s {
|
|
|
49
49
|
];
|
|
50
50
|
if (m?.secondaryLabels) {
|
|
51
51
|
let { secondaryLabels: e } = m;
|
|
52
|
-
for (let t
|
|
53
|
-
let
|
|
54
|
-
|
|
55
|
-
columnDisplayName:
|
|
56
|
-
value:
|
|
57
|
-
columnName:
|
|
52
|
+
for (let t of e) {
|
|
53
|
+
let e = s[d[t]], n;
|
|
54
|
+
e && (n = h(t), w.push({
|
|
55
|
+
columnDisplayName: n,
|
|
56
|
+
value: e,
|
|
57
|
+
columnName: t
|
|
58
58
|
}));
|
|
59
59
|
}
|
|
60
60
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dataset.js","names":[],"sources":["../../../src/components/row_renderers/Dataset.tsx"],"sourcesContent":["import { getValueOrMultiValue } from '@/components/GenericCard/CardUtils'\nimport { CardLabel } from '@/components/row_renderers/utils/CardFooter'\nimport ChipContainer from '@/components/row_renderers/utils/ChipContainer'\nimport { calculateFriendlyFileSize } from '@/utils/functions/calculateFriendlyFileSize'\nimport { PRODUCTION_ENDPOINT_CONFIG } from '@/utils/functions/getEndpoint'\nimport { DATASET } from '@/utils/SynapseConstants'\nimport { Button } from '@mui/material'\nimport { ColumnModel, SelectColumn } from '@sage-bionetworks/synapse-types'\nimport { Component, MouseEvent } from 'react'\nimport { TableToGenericCardMapping } from '../GenericCard/TableRowGenericCard'\nimport { QueryVisualizationContextType } from '../QueryVisualizationWrapper'\nimport { CardFooter, Icon } from './utils'\n\nexport type DatasetProps = {\n data?: any\n schema?: any\n secondaryLabelLimit?: number\n selectColumns?: SelectColumn[]\n columnModels?: ColumnModel[]\n genericCardSchema?: TableToGenericCardMapping\n queryVisualizationContext: QueryVisualizationContextType\n}\n\nclass Dataset extends Component<DatasetProps, never> {\n constructor(props: DatasetProps) {\n super(props)\n this.handleLinkClick = this.handleLinkClick.bind(this)\n }\n\n public handleLinkClick =\n (link: string) => (event: MouseEvent<HTMLButtonElement>) => {\n event.preventDefault()\n window.open(\n `${PRODUCTION_ENDPOINT_CONFIG.PORTAL}Synapse:${link}`,\n '_blank',\n )\n }\n\n public render() {\n const {\n data,\n schema,\n selectColumns,\n columnModels,\n genericCardSchema,\n queryVisualizationContext: { getColumnDisplayName },\n } = this.props\n const datasetName = data[schema.datasetName]\n const summary = data[schema.summary]\n const tumorType = getValueOrMultiValue({\n columnName: 'tumorType',\n value: data[schema.tumorType],\n selectColumns,\n columnModels,\n }).str\n const diseaseFocus = getValueOrMultiValue({\n columnName: 'diseaseFocus',\n value: data[schema.diseaseFocus],\n selectColumns,\n columnModels,\n }).str\n const id = data[schema.id]\n const fundingAgency = data[schema.fundingAgency]\n const fileCount = data[schema.fileCount]\n const fileSize = calculateFriendlyFileSize(data[schema.fileSize])\n const values: CardLabel[] = [\n {\n columnDisplayName: 'FUNDER',\n value: getValueOrMultiValue({\n columnName: 'fundingAgency',\n value: fundingAgency,\n selectColumns,\n columnModels,\n }).str,\n },\n { columnDisplayName: 'SIZE', value: fileSize },\n { columnDisplayName: 'FILES', value: fileCount },\n ]\n if (genericCardSchema?.secondaryLabels) {\n const { secondaryLabels } = genericCardSchema\n for (
|
|
1
|
+
{"version":3,"file":"Dataset.js","names":[],"sources":["../../../src/components/row_renderers/Dataset.tsx"],"sourcesContent":["import { getValueOrMultiValue } from '@/components/GenericCard/CardUtils'\nimport { CardLabel } from '@/components/row_renderers/utils/CardFooter'\nimport ChipContainer from '@/components/row_renderers/utils/ChipContainer'\nimport { calculateFriendlyFileSize } from '@/utils/functions/calculateFriendlyFileSize'\nimport { PRODUCTION_ENDPOINT_CONFIG } from '@/utils/functions/getEndpoint'\nimport { DATASET } from '@/utils/SynapseConstants'\nimport { Button } from '@mui/material'\nimport { ColumnModel, SelectColumn } from '@sage-bionetworks/synapse-types'\nimport { Component, MouseEvent } from 'react'\nimport { TableToGenericCardMapping } from '../GenericCard/TableRowGenericCard'\nimport { QueryVisualizationContextType } from '../QueryVisualizationWrapper'\nimport { CardFooter, Icon } from './utils'\n\nexport type DatasetProps = {\n data?: any\n schema?: any\n secondaryLabelLimit?: number\n selectColumns?: SelectColumn[]\n columnModels?: ColumnModel[]\n genericCardSchema?: TableToGenericCardMapping\n queryVisualizationContext: QueryVisualizationContextType\n}\n\nclass Dataset extends Component<DatasetProps, never> {\n constructor(props: DatasetProps) {\n super(props)\n this.handleLinkClick = this.handleLinkClick.bind(this)\n }\n\n public handleLinkClick =\n (link: string) => (event: MouseEvent<HTMLButtonElement>) => {\n event.preventDefault()\n window.open(\n `${PRODUCTION_ENDPOINT_CONFIG.PORTAL}Synapse:${link}`,\n '_blank',\n )\n }\n\n public render() {\n const {\n data,\n schema,\n selectColumns,\n columnModels,\n genericCardSchema,\n queryVisualizationContext: { getColumnDisplayName },\n } = this.props\n const datasetName = data[schema.datasetName]\n const summary = data[schema.summary]\n const tumorType = getValueOrMultiValue({\n columnName: 'tumorType',\n value: data[schema.tumorType],\n selectColumns,\n columnModels,\n }).str\n const diseaseFocus = getValueOrMultiValue({\n columnName: 'diseaseFocus',\n value: data[schema.diseaseFocus],\n selectColumns,\n columnModels,\n }).str\n const id = data[schema.id]\n const fundingAgency = data[schema.fundingAgency]\n const fileCount = data[schema.fileCount]\n const fileSize = calculateFriendlyFileSize(data[schema.fileSize])\n const values: CardLabel[] = [\n {\n columnDisplayName: 'FUNDER',\n value: getValueOrMultiValue({\n columnName: 'fundingAgency',\n value: fundingAgency,\n selectColumns,\n columnModels,\n }).str,\n },\n { columnDisplayName: 'SIZE', value: fileSize },\n { columnDisplayName: 'FILES', value: fileCount },\n ]\n if (genericCardSchema?.secondaryLabels) {\n const { secondaryLabels } = genericCardSchema\n for (const columnName of secondaryLabels) {\n const value: string | undefined = data[schema[columnName]]\n let columnDisplayName\n if (value) {\n columnDisplayName = getColumnDisplayName(columnName)\n values.push({ columnDisplayName, value, columnName })\n }\n }\n }\n\n return (\n <div className=\"SRC-portalCard SRC-typeDataset \">\n <div className=\"SRC-cardThumbnail\">\n <Icon type={DATASET} />\n <div>{fileSize}</div>\n </div>\n <div className=\"SRC-cardContent SRC-dataset\">\n <div className=\"SRC-type\">Dataset </div>\n <div>\n <h3>\n <a\n target=\"_self\"\n href={`${PRODUCTION_ENDPOINT_CONFIG.PORTAL}Synapse:${id}`}\n >\n {datasetName}\n </a>\n </h3>\n </div>\n <div className=\"SRC-description-dataset\">\n <p className=\"SRC-description-text\">{summary}</p>\n <div className=\"SRC-cardAction\">\n <Button\n className=\"SRC-datasetButton\"\n onClick={this.handleLinkClick(id)}\n color=\"secondary\"\n variant=\"contained\"\n >\n Download Dataset\n </Button>\n </div>\n </div>\n <div className=\"SRC-cardAnnotations\">\n <ChipContainer chips={[tumorType, diseaseFocus]} />\n </div>\n </div>\n <CardFooter\n isHeader={false}\n secondaryLabelLimit={this.props.secondaryLabelLimit}\n values={values}\n />\n </div>\n )\n }\n}\nexport default Dataset\n"],"mappings":";;;;;;;;;;;;AAuBA,IAAM,IAAN,cAAsB,EAA+B;CACnD,YAAY,GAAqB;EAE/B,AADA,MAAM,CAAK,GACX,KAAK,kBAAkB,KAAK,gBAAgB,KAAK,IAAI;CACvD;CAEA,mBACG,OAAkB,MAAyC;EAE1D,AADA,EAAM,eAAe,GACrB,OAAO,KACL,GAAG,EAA2B,OAAO,UAAU,KAC/C,QACF;CACF;CAEF,SAAgB;EACd,IAAM,EACJ,SACA,WACA,kBACA,iBACA,sBACA,2BAA2B,EAAE,8BAC3B,KAAK,OACH,IAAc,EAAK,EAAO,cAC1B,IAAU,EAAK,EAAO,UACtB,IAAY,EAAqB;GACrC,YAAY;GACZ,OAAO,EAAK,EAAO;GACnB;GACA;EACF,CAAC,EAAE,KACG,IAAe,EAAqB;GACxC,YAAY;GACZ,OAAO,EAAK,EAAO;GACnB;GACA;EACF,CAAC,EAAE,KACG,IAAK,EAAK,EAAO,KACjB,IAAgB,EAAK,EAAO,gBAC5B,IAAY,EAAK,EAAO,YACxB,IAAW,EAA0B,EAAK,EAAO,SAAS,GAC1D,IAAsB;GAC1B;IACE,mBAAmB;IACnB,OAAO,EAAqB;KAC1B,YAAY;KACZ,OAAO;KACP;KACA;IACF,CAAC,EAAE;GACL;GACA;IAAE,mBAAmB;IAAQ,OAAO;GAAS;GAC7C;IAAE,mBAAmB;IAAS,OAAO;GAAU;EACjD;EACA,IAAI,GAAmB,iBAAiB;GACtC,IAAM,EAAE,uBAAoB;GAC5B,KAAK,IAAM,KAAc,GAAiB;IACxC,IAAM,IAA4B,EAAK,EAAO,KAC1C;IACJ,AAAI,MACF,IAAoB,EAAqB,CAAU,GACnD,EAAO,KAAK;KAAE;KAAmB;KAAO;IAAW,CAAC;GAExD;EACF;EAEA,OACE,kBAAC,OAAD;GAAK,WAAU;aAAf;IACE,kBAAC,OAAD;KAAK,WAAU;eAAf,CACE,kBAAC,GAAD,EAAM,MAAM,EAAU,CAAA,GACtB,kBAAC,OAAD,EAAA,UAAM,EAAc,CAAA,CACjB;;IACL,kBAAC,OAAD;KAAK,WAAU;eAAf;MACE,kBAAC,OAAD;OAAK,WAAU;iBAAW;MAAa,CAAA;MACvC,kBAAC,OAAD,EAAA,UACE,kBAAC,MAAD,EAAA,UACE,kBAAC,KAAD;OACE,QAAO;OACP,MAAM,GAAG,EAA2B,OAAO,UAAU;iBAEpD;MACA,CAAA,EACD,CAAA,EACD,CAAA;MACL,kBAAC,OAAD;OAAK,WAAU;iBAAf,CACE,kBAAC,KAAD;QAAG,WAAU;kBAAwB;OAAW,CAAA,GAChD,kBAAC,OAAD;QAAK,WAAU;kBACb,kBAAC,GAAD;SACE,WAAU;SACV,SAAS,KAAK,gBAAgB,CAAE;SAChC,OAAM;SACN,SAAQ;mBACT;QAEO,CAAA;OACL,CAAA,CACF;;MACL,kBAAC,OAAD;OAAK,WAAU;iBACb,kBAAC,GAAD,EAAe,OAAO,CAAC,GAAW,CAAY,EAAI,CAAA;MAC/C,CAAA;KACF;;IACL,kBAAC,GAAD;KACE,UAAU;KACV,qBAAqB,KAAK,MAAM;KACxB;IACT,CAAA;GACE;;CAET;AACF"}
|
|
@@ -11,7 +11,7 @@ var i = class extends t {
|
|
|
11
11
|
};
|
|
12
12
|
render() {
|
|
13
13
|
let { data: t, schema: i } = this.props, a = t[i.organizationName], o = t[i.organizationPath], s = t[i.summary], c = t[i.website], l = t[i.logo], u = c.replace("https://", "");
|
|
14
|
-
u = u.replace("http://", ""), u.
|
|
14
|
+
u = u.replace("http://", ""), u.at(-1) === "/" && (u = u.substring(0, u.length - 1));
|
|
15
15
|
let d = typeof window < "u" && window.location.hash.substring(1) === o, f = {}, p;
|
|
16
16
|
return d ? f.paddingBottom = "42px" : p = /* @__PURE__ */ n("div", {
|
|
17
17
|
className: "SRC-marginAuto SRC-cardAction",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Funder.js","names":[],"sources":["../../../src/components/row_renderers/Funder.tsx"],"sourcesContent":["import WideButton from '@/components/styled/WideButton'\nimport { Component, MouseEvent } from 'react'\n\nexport type FunderProps = {\n data?: any\n schema?: any\n}\n\nexport default class Funder extends Component<FunderProps, never> {\n constructor(props: FunderProps) {\n super(props)\n this.handleLinkClick = this.handleLinkClick.bind(this)\n }\n public handleLinkClick =\n (link: string) => (event: MouseEvent<HTMLButtonElement>) => {\n event.preventDefault()\n window.open(link, '_blank')\n }\n public render() {\n const { data, schema } = this.props\n const organizationName = data[schema.organizationName]\n const organizationPath = data[schema.organizationPath]\n const summary = data[schema.summary]\n const website = data[schema.website]\n const logoHref: string = data[schema.logo]\n // remove leading http(s):// and trailing /\n let websiteDisplayName = website.replace('https://', '')\n websiteDisplayName = websiteDisplayName.replace('http://', '')\n if (websiteDisplayName.
|
|
1
|
+
{"version":3,"file":"Funder.js","names":[],"sources":["../../../src/components/row_renderers/Funder.tsx"],"sourcesContent":["import WideButton from '@/components/styled/WideButton'\nimport { Component, MouseEvent } from 'react'\n\nexport type FunderProps = {\n data?: any\n schema?: any\n}\n\nexport default class Funder extends Component<FunderProps, never> {\n constructor(props: FunderProps) {\n super(props)\n this.handleLinkClick = this.handleLinkClick.bind(this)\n }\n public handleLinkClick =\n (link: string) => (event: MouseEvent<HTMLButtonElement>) => {\n event.preventDefault()\n window.open(link, '_blank')\n }\n public render() {\n const { data, schema } = this.props\n const organizationName = data[schema.organizationName]\n const organizationPath = data[schema.organizationPath]\n const summary = data[schema.summary]\n const website = data[schema.website]\n const logoHref: string = data[schema.logo]\n // remove leading http(s):// and trailing /\n let websiteDisplayName = website.replace('https://', '')\n websiteDisplayName = websiteDisplayName.replace('http://', '')\n if (websiteDisplayName.at(-1) === '/') {\n websiteDisplayName = websiteDisplayName.substring(\n 0,\n websiteDisplayName.length - 1,\n )\n }\n const isOnOrgPath =\n typeof window !== 'undefined' &&\n window.location.hash.substring(1) === organizationPath\n const style: any = {}\n let showOrgLink\n if (!isOnOrgPath) {\n showOrgLink = (\n <div className=\"SRC-marginAuto SRC-cardAction\">\n <WideButton\n href={organizationPath}\n variant=\"contained\"\n color=\"secondary\"\n >\n View Funded Research\n </WideButton>\n </div>\n )\n } else {\n style.paddingBottom = '42px'\n }\n return (\n <div className=\"SRC-portalCard SRC-typeFunder \" style={style}>\n <div className=\"SRC-cardContent\">\n <div className=\"SRC-type\">Organization</div>\n {logoHref && (\n <div className=\"SRC-cardThumbnail\">\n <img alt=\"funder logo\" className=\"SRC-logo\" src={logoHref} />\n </div>\n )}\n <div>\n <h3>\n {isOnOrgPath && organizationName}\n {!isOnOrgPath && (\n <a href={organizationPath}>{organizationName}</a>\n )}\n </h3>\n </div>\n <div className=\"SRC-website\">\n <a rel=\"noopener noreferrer\" target=\"_blank\" href={website}>\n {websiteDisplayName}\n </a>\n </div>\n <div className=\"SRC-description\">{summary}</div>\n </div>\n {showOrgLink}\n </div>\n )\n }\n}\n"],"mappings":";;;;AAQA,IAAqB,IAArB,cAAoC,EAA8B;CAChE,YAAY,GAAoB;EAE9B,AADA,MAAM,CAAK,GACX,KAAK,kBAAkB,KAAK,gBAAgB,KAAK,IAAI;CACvD;CACA,mBACG,OAAkB,MAAyC;EAE1D,AADA,EAAM,eAAe,GACrB,OAAO,KAAK,GAAM,QAAQ;CAC5B;CACF,SAAgB;EACd,IAAM,EAAE,SAAM,cAAW,KAAK,OACxB,IAAmB,EAAK,EAAO,mBAC/B,IAAmB,EAAK,EAAO,mBAC/B,IAAU,EAAK,EAAO,UACtB,IAAU,EAAK,EAAO,UACtB,IAAmB,EAAK,EAAO,OAEjC,IAAqB,EAAQ,QAAQ,YAAY,EAAE;EAEvD,AADA,IAAqB,EAAmB,QAAQ,WAAW,EAAE,GACzD,EAAmB,GAAG,EAAE,MAAM,QAChC,IAAqB,EAAmB,UACtC,GACA,EAAmB,SAAS,CAC9B;EAEF,IAAM,IACJ,OAAO,SAAW,OAClB,OAAO,SAAS,KAAK,UAAU,CAAC,MAAM,GAClC,IAAa,CAAC,GAChB;EAgBJ,OAfK,IAaH,EAAM,gBAAgB,SAZtB,IACE,kBAAC,OAAD;GAAK,WAAU;aACb,kBAAC,GAAD;IACE,MAAM;IACN,SAAQ;IACR,OAAM;cACP;GAEW,CAAA;EACT,CAAA,GAMP,kBAAC,OAAD;GAAK,WAAU;GAAwC;aAAvD,CACE,kBAAC,OAAD;IAAK,WAAU;cAAf;KACE,kBAAC,OAAD;MAAK,WAAU;gBAAW;KAAiB,CAAA;KAC1C,KACC,kBAAC,OAAD;MAAK,WAAU;gBACb,kBAAC,OAAD;OAAK,KAAI;OAAc,WAAU;OAAW,KAAK;MAAW,CAAA;KACzD,CAAA;KAEP,kBAAC,OAAD,EAAA,UACE,kBAAC,MAAD,EAAA,UAAA,CACG,KAAe,GACf,CAAC,KACA,kBAAC,KAAD;MAAG,MAAM;gBAAmB;KAAoB,CAAA,CAEhD,EAAA,CAAA,EACD,CAAA;KACL,kBAAC,OAAD;MAAK,WAAU;gBACb,kBAAC,KAAD;OAAG,KAAI;OAAsB,QAAO;OAAS,MAAM;iBAChD;MACA,CAAA;KACA,CAAA;KACL,kBAAC,OAAD;MAAK,WAAU;gBAAmB;KAAa,CAAA;IAC5C;OACJ,CACE;;CAET;AACF"}
|
|
@@ -32,7 +32,12 @@ type ElementWithTooltipProps = PropsWithChildren<{
|
|
|
32
32
|
* @see https://stackoverflow.com/questions/75083605/mui-the-menu-component-doesnt-accept-a-fragment-as-a-child-consider-providing
|
|
33
33
|
*/
|
|
34
34
|
menuItems?: React.ReactNode;
|
|
35
|
+
/**
|
|
36
|
+
* When true, choosing a menu item closes the menu. Leave unset for menus whose items toggle state in place, so
|
|
37
|
+
* several can be toggled in a row.
|
|
38
|
+
*/
|
|
39
|
+
closeMenuOnClick?: boolean;
|
|
35
40
|
}>;
|
|
36
|
-
export declare const ElementWithTooltip: ({ image, callbackFn, tooltipText, className, imageColor, tooltipVisualProps, children, darkTheme, size, icon, menuItems, }: ElementWithTooltipProps) => React.ReactNode;
|
|
41
|
+
export declare const ElementWithTooltip: ({ image, callbackFn, tooltipText, className, imageColor, tooltipVisualProps, children, darkTheme, size, icon, menuItems, closeMenuOnClick, }: ElementWithTooltipProps) => React.ReactNode;
|
|
37
42
|
export {};
|
|
38
43
|
//# sourceMappingURL=ElementWithTooltip.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ElementWithTooltip.d.ts","sourceRoot":"","sources":["../../../src/components/widgets/ElementWithTooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EACL,gBAAgB,
|
|
1
|
+
{"version":3,"file":"ElementWithTooltip.d.ts","sourceRoot":"","sources":["../../../src/components/widgets/ElementWithTooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EACL,gBAAgB,EAIhB,iBAAiB,EACjB,SAAS,EAEV,MAAM,OAAO,CAAA;AACd,OAAgB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAI1D,KAAK,gBAAgB,GAAG;IACtB,MAAM,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IAClC,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAA;IAC1C,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAA;IACjE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAA;IACzB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAA;AAMD;;;;;GAKG;AAEH,KAAK,uBAAuB,GAAG,iBAAiB,CAAC;IAC/C,KAAK,CAAC,EAAE,YAAY,GAAG,gBAAgB,CAAA;IACvC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,kBAAkB,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAA;IAChD,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB;;OAEG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC3B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAC,CAAA;AAcF,eAAO,MAAM,kBAAkB,GAAI,8IAahC,uBAAuB,KAAG,KAAK,CAAC,SA+FlC,CAAA"}
|
|
@@ -16,33 +16,41 @@ function l(t, n, r) {
|
|
|
16
16
|
}
|
|
17
17
|
});
|
|
18
18
|
}
|
|
19
|
-
var u = ({ image: e, callbackFn: u, tooltipText: d, className: f = "", imageColor: p, tooltipVisualProps: m = c, children: h, darkTheme: g, size: _, icon: v, menuItems: y }) => {
|
|
20
|
-
let { place:
|
|
21
|
-
|
|
22
|
-
},
|
|
23
|
-
|
|
24
|
-
},
|
|
25
|
-
|
|
19
|
+
var u = ({ image: e, callbackFn: u, tooltipText: d, className: f = "", imageColor: p, tooltipVisualProps: m = c, children: h, darkTheme: g, size: _, icon: v, menuItems: y, closeMenuOnClick: b = !1 }) => {
|
|
20
|
+
let { place: x } = m, S = (v ? typeof v == "string" ? /* @__PURE__ */ o(t, { type: v }) : v : void 0) || (e ? l(e, p, _) : h || /* @__PURE__ */ o(a, {})), [C, w] = n(null), T = !!C, E = (e) => {
|
|
21
|
+
w(e.currentTarget);
|
|
22
|
+
}, D = () => {
|
|
23
|
+
w(null);
|
|
24
|
+
}, O = (e, t) => {
|
|
25
|
+
let n = e.target;
|
|
26
|
+
e.key === t && n.closest("[role=\"menuitem\"]:not([aria-disabled=\"true\"])") && D();
|
|
27
|
+
}, k;
|
|
28
|
+
return k = h ? /* @__PURE__ */ o("div", {
|
|
26
29
|
className: "SRC-hand-cursor",
|
|
27
30
|
children: h
|
|
28
31
|
}) : /* @__PURE__ */ o("button", {
|
|
29
32
|
tabIndex: 0,
|
|
30
33
|
className: `ElementWithTooltip SRC-hand-cursor SRC-grey-background-hover ${f} ${g ? "dark-theme" : ""} `,
|
|
31
34
|
onClick: (e) => {
|
|
32
|
-
u ? u() :
|
|
35
|
+
u ? u() : E(e);
|
|
33
36
|
},
|
|
34
37
|
"aria-label": d,
|
|
35
|
-
children:
|
|
38
|
+
children: S
|
|
36
39
|
}), /* @__PURE__ */ s(a, { children: [/* @__PURE__ */ o(i, {
|
|
37
40
|
title: d,
|
|
38
41
|
enterNextDelay: 500,
|
|
39
|
-
placement:
|
|
42
|
+
placement: x,
|
|
40
43
|
"data-testid": "ElementTooltip",
|
|
41
|
-
children:
|
|
44
|
+
children: k
|
|
42
45
|
}), y && /* @__PURE__ */ o(r, {
|
|
43
|
-
anchorEl:
|
|
44
|
-
open:
|
|
45
|
-
onClose:
|
|
46
|
+
anchorEl: C,
|
|
47
|
+
open: T,
|
|
48
|
+
onClose: D,
|
|
49
|
+
slotProps: { list: b ? {
|
|
50
|
+
onClick: D,
|
|
51
|
+
onKeyDown: (e) => O(e, "Enter"),
|
|
52
|
+
onKeyUp: (e) => O(e, " ")
|
|
53
|
+
} : void 0 },
|
|
46
54
|
children: y
|
|
47
55
|
})] });
|
|
48
56
|
};
|