synapse-react-client 4.0.46 → 4.0.48
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 +4 -4
|
@@ -1,140 +1,141 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { useQueryVisualizationContext as e } from "../QueryVisualizationWrapper/QueryVisualizationContext.js";
|
|
2
|
+
import { useGetEntityHeader as t } from "../../synapse-queries/entity/useGetEntityHeaders.js";
|
|
3
|
+
import { getEnumerationFacet as n } from "../../utils/functions/enumerationFacet.js";
|
|
2
4
|
import "../../synapse-queries/index.js";
|
|
3
|
-
import { useQueryContext as
|
|
5
|
+
import { useQueryContext as r } from "../QueryContext/QueryContext.js";
|
|
4
6
|
import "../QueryContext/index.js";
|
|
5
|
-
import { useGetQueryMetadata as
|
|
6
|
-
import { useQueryVisualizationContext as r } from "../QueryVisualizationWrapper/QueryVisualizationContext.js";
|
|
7
|
+
import { useGetQueryMetadata as i } from "../QueryWrapper/useGetQueryMetadata.js";
|
|
7
8
|
import "../QueryVisualizationWrapper/index.js";
|
|
8
|
-
import { isRowSelectedAtom as
|
|
9
|
-
import { useSynapseTableContext as
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
import
|
|
14
|
-
import { EnumFacetFilter as
|
|
15
|
-
import
|
|
16
|
-
import
|
|
17
|
-
import { useCallback as
|
|
18
|
-
import { isEqual as
|
|
19
|
-
import { Checkbox as
|
|
20
|
-
import { Fragment as
|
|
21
|
-
import { ColumnTypeEnum as
|
|
22
|
-
import { useAtom as
|
|
23
|
-
import { useInView as
|
|
24
|
-
import { createColumnHelper as
|
|
9
|
+
import { isRowSelectedAtom as a, selectedRowsAtom as o } from "../QueryWrapper/TableRowSelectionState.js";
|
|
10
|
+
import { useSynapseTableContext as s } from "./SynapseTableContext.js";
|
|
11
|
+
import c from "../AddToDownloadListV2.js";
|
|
12
|
+
import l from "../DirectDownload/FileEntityDirectDownload.js";
|
|
13
|
+
import u from "../HasAccess/index.js";
|
|
14
|
+
import d from "../TanStackTable/ColumnHeader.js";
|
|
15
|
+
import { EnumFacetFilter as f } from "../widgets/query-filter/EnumFacetFilter/EnumFacetFilter.js";
|
|
16
|
+
import p from "./EntityIDColumnCopyIcon.js";
|
|
17
|
+
import m from "./SynapseTableCell/index.js";
|
|
18
|
+
import { useCallback as h } from "react";
|
|
19
|
+
import { isEqual as g } from "lodash-es";
|
|
20
|
+
import { Checkbox as _ } from "@mui/material";
|
|
21
|
+
import { Fragment as v, jsx as y } from "react/jsx-runtime";
|
|
22
|
+
import { ColumnTypeEnum as b } from "@sage-bionetworks/synapse-types";
|
|
23
|
+
import { useAtom as x, useAtomValue as S } from "jotai";
|
|
24
|
+
import { useInView as C } from "react-intersection-observer";
|
|
25
|
+
import { createColumnHelper as w } from "@tanstack/react-table";
|
|
25
26
|
//#region src/components/SynapseTable/SynapseTableRenderers.tsx
|
|
26
|
-
var
|
|
27
|
-
function
|
|
28
|
-
let { row: t, table: n } = e, r = n.options.meta?.rowSet,
|
|
29
|
-
return /* @__PURE__ */
|
|
27
|
+
var T = "org.sagebionetworks.web.client.SynapseTablePredefinedColumn", E = w();
|
|
28
|
+
function D(e) {
|
|
29
|
+
let { row: t, table: n } = e, r = n.options.meta?.rowSet, i = S(a), [s, c] = x(o);
|
|
30
|
+
return /* @__PURE__ */ y("div", { children: /* @__PURE__ */ y(_, {
|
|
30
31
|
inputProps: { "aria-label": "Select row" },
|
|
31
|
-
checked:
|
|
32
|
+
checked: i(t.original, r.headers),
|
|
32
33
|
onChange: (e, n) => {
|
|
33
34
|
let r = [...s];
|
|
34
35
|
if (n) r.push(t.original);
|
|
35
36
|
else {
|
|
36
|
-
let e = r.findIndex((e) =>
|
|
37
|
+
let e = r.findIndex((e) => g(e, t.original));
|
|
37
38
|
e > -1 && r.splice(e, 1);
|
|
38
39
|
}
|
|
39
40
|
c(r);
|
|
40
41
|
}
|
|
41
42
|
}) });
|
|
42
43
|
}
|
|
43
|
-
var
|
|
44
|
-
id: `${
|
|
44
|
+
var O = E.display({
|
|
45
|
+
id: `${T}.RowSelectionColumn`,
|
|
45
46
|
enableResizing: !1,
|
|
46
|
-
cell:
|
|
47
|
+
cell: D,
|
|
47
48
|
maxSize: 36,
|
|
48
49
|
meta: { textAlign: "center" }
|
|
49
50
|
});
|
|
50
|
-
function
|
|
51
|
-
let n =
|
|
52
|
-
return /* @__PURE__ */
|
|
51
|
+
function k(e) {
|
|
52
|
+
let n = N(e), r = F(e), i = r ? parseInt(r) : void 0, { data: a } = t(n);
|
|
53
|
+
return /* @__PURE__ */ y("div", {
|
|
53
54
|
"data-testid": "AddToDownloadListCell",
|
|
54
|
-
children: a?.type === "org.sagebionetworks.repo.model.FileEntity" && /* @__PURE__ */
|
|
55
|
+
children: a?.type === "org.sagebionetworks.repo.model.FileEntity" && /* @__PURE__ */ y(c, {
|
|
55
56
|
entityId: n,
|
|
56
57
|
entityVersionNumber: i
|
|
57
58
|
})
|
|
58
59
|
});
|
|
59
60
|
}
|
|
60
|
-
var
|
|
61
|
-
id: `${
|
|
61
|
+
var A = E.display({
|
|
62
|
+
id: `${T}.AddToDownloadListColumn`,
|
|
62
63
|
enableResizing: !1,
|
|
63
|
-
cell:
|
|
64
|
+
cell: k,
|
|
64
65
|
maxSize: 50,
|
|
65
66
|
meta: { textAlign: "center" }
|
|
66
67
|
});
|
|
67
|
-
function
|
|
68
|
-
return /* @__PURE__ */
|
|
68
|
+
function j(e) {
|
|
69
|
+
return /* @__PURE__ */ y("div", {
|
|
69
70
|
"data-testid": "DirectDownloadCell",
|
|
70
|
-
children: /* @__PURE__ */
|
|
71
|
-
entityId:
|
|
72
|
-
entityVersionNumber:
|
|
71
|
+
children: /* @__PURE__ */ y(l, {
|
|
72
|
+
entityId: N(e),
|
|
73
|
+
entityVersionNumber: F(e),
|
|
73
74
|
iconSvgPropOverrides: { sx: { color: "primary.main" } }
|
|
74
75
|
})
|
|
75
76
|
});
|
|
76
77
|
}
|
|
77
|
-
var
|
|
78
|
-
id: `${
|
|
78
|
+
var M = E.display({
|
|
79
|
+
id: `${T}.DirectDownload`,
|
|
79
80
|
enableResizing: !1,
|
|
80
|
-
cell:
|
|
81
|
+
cell: j,
|
|
81
82
|
maxSize: 50,
|
|
82
83
|
meta: { textAlign: "center" }
|
|
83
84
|
});
|
|
84
|
-
function
|
|
85
|
+
function N(e) {
|
|
85
86
|
let { row: t, table: n } = e, r = n.options.meta?.rowEntityIDColumnIndex;
|
|
86
87
|
return r === void 0 ? t.original.rowId?.toString() : t.original.values[r];
|
|
87
88
|
}
|
|
88
|
-
function
|
|
89
|
+
function P(e) {
|
|
89
90
|
let { table: t } = e;
|
|
90
91
|
return t.options.meta?.rowEntityVersionColumnIndex !== void 0;
|
|
91
92
|
}
|
|
92
|
-
function
|
|
93
|
+
function F(e) {
|
|
93
94
|
let { row: t, table: n } = e, r = n.options.meta?.rowEntityVersionColumnIndex;
|
|
94
95
|
return r === void 0 ? t.original.versionNumber?.toString() : t.original.values[r];
|
|
95
96
|
}
|
|
96
|
-
function
|
|
97
|
-
let { showExternalAccessIcon: t } =
|
|
98
|
-
return /* @__PURE__ */
|
|
97
|
+
function I(e) {
|
|
98
|
+
let { showExternalAccessIcon: t } = s(), { ref: n, inView: r } = C({ triggerOnce: !0 }), i = N(e);
|
|
99
|
+
return /* @__PURE__ */ y("div", {
|
|
99
100
|
ref: n,
|
|
100
101
|
"data-testid": "AccessCell",
|
|
101
|
-
children: (!t || t && r) && /* @__PURE__ */
|
|
102
|
+
children: (!t || t && r) && /* @__PURE__ */ y(u, {
|
|
102
103
|
entityId: i,
|
|
103
104
|
showButtonText: !1,
|
|
104
105
|
showExternalAccessIcon: t
|
|
105
106
|
}, i)
|
|
106
107
|
});
|
|
107
108
|
}
|
|
108
|
-
var
|
|
109
|
-
id: `${
|
|
109
|
+
var L = E.display({
|
|
110
|
+
id: `${T}.Access`,
|
|
110
111
|
enableResizing: !1,
|
|
111
|
-
cell:
|
|
112
|
+
cell: I,
|
|
112
113
|
maxSize: 50,
|
|
113
114
|
meta: { textAlign: "center" }
|
|
114
115
|
});
|
|
115
|
-
function
|
|
116
|
-
let { column:
|
|
117
|
-
return
|
|
118
|
-
C,
|
|
116
|
+
function R(t) {
|
|
117
|
+
let { column: a } = t, { lockedColumn: o } = r(), { data: s } = i(), c = s?.columnModels ?? [], l = (s?.selectColumns ?? []).find((e) => e.name === a.id), u = c.find((e) => e.name === a.id), m = s?.facets ?? [], { getColumnDisplayName: g, getHelpText: _ } = e(), x = l ? g(l.name) : a.id, S = l ? _(l.name) : void 0, C = m.findIndex((e) => e.columnName === u?.name && e.jsonPath == null), w = C === -1 ? void 0 : n(m[C]), T = w !== void 0, E = l && l.name.toLowerCase() === o?.columnName?.toLowerCase(), D = l?.name == "id" && l.columnType == b.ENTITYID;
|
|
118
|
+
return t.column.getCanFilter = h(() => !!(T && !E && u), [
|
|
119
119
|
T,
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
120
|
+
E,
|
|
121
|
+
u
|
|
122
|
+
]), /* @__PURE__ */ y(d, {
|
|
123
|
+
...t,
|
|
124
|
+
title: x,
|
|
125
|
+
helpText: S,
|
|
126
|
+
filterControl: w && /* @__PURE__ */ y("span", { children: /* @__PURE__ */ y(f, {
|
|
126
127
|
containerAs: "Dropdown",
|
|
127
128
|
facet: w,
|
|
128
129
|
defaultShowAllValues: !0
|
|
129
130
|
}) }),
|
|
130
|
-
additionalButtons: /* @__PURE__ */ v
|
|
131
|
+
additionalButtons: /* @__PURE__ */ y(v, { children: D && /* @__PURE__ */ y(p, { size: "small" }) })
|
|
131
132
|
});
|
|
132
133
|
}
|
|
133
|
-
function
|
|
134
|
-
let { cell: t, table:
|
|
134
|
+
function z(e) {
|
|
135
|
+
let { cell: t, table: n } = e, { data: r } = i(), a = N(e), o = F(e), c = o === void 0 ? void 0 : parseInt(o), l = n.options.meta?.rowSet?.headers ?? [], u = l.find((e) => e.name === t.column.id), d = r?.columnModels ?? [], { columnLinks: f } = s();
|
|
135
136
|
if (u) {
|
|
136
137
|
let n = (f ?? []).find((e) => e.matchColumnName === u.name), r = d.find((e) => e.name === u.name)?.columnType ?? u.columnType, i = t.column.getIsSorted() ? "SRC-boldText" : "";
|
|
137
|
-
return /* @__PURE__ */
|
|
138
|
+
return /* @__PURE__ */ y(m, {
|
|
138
139
|
columnType: r,
|
|
139
140
|
columnValue: t.getValue(),
|
|
140
141
|
isBold: i,
|
|
@@ -145,11 +146,11 @@ function R(e) {
|
|
|
145
146
|
columnModels: d,
|
|
146
147
|
rowId: a,
|
|
147
148
|
rowVersionNumber: c,
|
|
148
|
-
isRowEntityColumn:
|
|
149
|
+
isRowEntityColumn: P(e)
|
|
149
150
|
}, t.id);
|
|
150
|
-
} else return /* @__PURE__ */
|
|
151
|
+
} else return /* @__PURE__ */ y("td", {}, t.id);
|
|
151
152
|
}
|
|
152
153
|
//#endregion
|
|
153
|
-
export {
|
|
154
|
+
export { z as TableDataCell, R as TableDataColumnHeader, L as accessColumn, A as addToDownloadListColumn, M as directDownloadColumn, O as rowSelectionColumn };
|
|
154
155
|
|
|
155
156
|
//# sourceMappingURL=SynapseTableRenderers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SynapseTableRenderers.js","names":[],"sources":["../../../src/components/SynapseTable/SynapseTableRenderers.tsx"],"sourcesContent":["import { useGetEntityHeader } from '@/synapse-queries'\nimport { Checkbox } from '@mui/material'\nimport {\n ColumnTypeEnum,\n FacetColumnResult,\n FacetColumnResultValues,\n Row,\n} from '@sage-bionetworks/synapse-types'\nimport {\n CellContext,\n createColumnHelper,\n HeaderContext,\n} from '@tanstack/react-table'\nimport { useAtom, useAtomValue } from 'jotai'\nimport { isEqual } from 'lodash-es'\nimport { useCallback } from 'react'\nimport AddToDownloadListV2 from '../AddToDownloadListV2'\nimport FileEntityDirectDownload from '../DirectDownload/FileEntityDirectDownload'\nimport HasAccessV2 from '../HasAccess'\nimport { useQueryContext } from '../QueryContext'\nimport { useQueryVisualizationContext } from '../QueryVisualizationWrapper'\nimport {\n isRowSelectedAtom,\n selectedRowsAtom,\n} from '../QueryWrapper/TableRowSelectionState'\nimport { useGetQueryMetadata } from '../QueryWrapper/useGetQueryMetadata'\nimport ColumnHeader from '../TanStackTable/ColumnHeader'\nimport { EnumFacetFilter } from '../widgets/query-filter/EnumFacetFilter/EnumFacetFilter'\nimport EntityIDColumnCopyIcon from './EntityIDColumnCopyIcon'\nimport SynapseTableCell from './SynapseTableCell'\nimport { useSynapseTableContext } from './SynapseTableContext'\nimport { useInView } from 'react-intersection-observer'\n\n// Add a prefix to these column IDs so they don't collide with actual column names\nconst columnIdPrefix =\n 'org.sagebionetworks.web.client.SynapseTablePredefinedColumn'\n\nconst columnHelper = createColumnHelper<Row>()\n\nfunction RowSelectionCell<TValue = unknown>(props: CellContext<Row, TValue>) {\n const { row, table } = props\n const rowSet = table.options.meta?.rowSet\n\n const isRowSelected = useAtomValue(isRowSelectedAtom)\n const [selectedRows, setSelectedRows] = useAtom(selectedRowsAtom)\n\n return (\n <div>\n <Checkbox\n inputProps={{ 'aria-label': 'Select row' }}\n checked={isRowSelected(row.original, rowSet!.headers)}\n onChange={(_event, checked) => {\n const cloneSelectedRows = [...selectedRows]\n if (checked) {\n cloneSelectedRows.push(row.original)\n } else {\n const index = cloneSelectedRows.findIndex(selectedRow =>\n isEqual(selectedRow, row.original),\n )\n if (index > -1) {\n cloneSelectedRows.splice(index, 1)\n }\n }\n // update context on change\n setSelectedRows(cloneSelectedRows)\n }}\n />\n </div>\n )\n}\n\nexport const rowSelectionColumn = columnHelper.display({\n id: `${columnIdPrefix}.RowSelectionColumn`,\n enableResizing: false,\n cell: RowSelectionCell,\n maxSize: 36,\n meta: {\n textAlign: 'center',\n },\n})\n\nfunction AddToDownloadListCell<TValue = unknown>(\n props: CellContext<Row, TValue>,\n) {\n const entityId = getEntityOrRowId(props)!\n const versionNumberString = getEntityOrRowVersion(props)\n const versionNumber = versionNumberString\n ? parseInt(versionNumberString)\n : undefined\n const { data: entityHeader } = useGetEntityHeader(entityId)\n return (\n <div data-testid={'AddToDownloadListCell'}>\n {entityHeader?.type === 'org.sagebionetworks.repo.model.FileEntity' && (\n <AddToDownloadListV2\n entityId={entityId}\n entityVersionNumber={versionNumber}\n />\n )}\n </div>\n )\n}\n\nexport const addToDownloadListColumn = columnHelper.display({\n id: `${columnIdPrefix}.AddToDownloadListColumn`,\n enableResizing: false,\n cell: AddToDownloadListCell,\n maxSize: 50,\n meta: {\n textAlign: 'center',\n },\n})\n\nfunction DirectDownloadCell<TValue = unknown>(props: CellContext<Row, TValue>) {\n const entityId = getEntityOrRowId(props)!\n const versionNumber = getEntityOrRowVersion(props)\n\n return (\n <div data-testid={'DirectDownloadCell'}>\n <FileEntityDirectDownload\n entityId={entityId}\n entityVersionNumber={versionNumber}\n iconSvgPropOverrides={{ sx: { color: 'primary.main' } }}\n />\n </div>\n )\n}\n\nexport const directDownloadColumn = columnHelper.display({\n id: `${columnIdPrefix}.DirectDownload`,\n enableResizing: false,\n cell: DirectDownloadCell,\n maxSize: 50,\n meta: {\n textAlign: 'center',\n },\n})\n\n/**\n * Given the (tanstack react) Table CellContext, return the rowId of the current Synapse Table Row.\n * If a rowEntityIDColumnName was provided in the table config, then instead return the entityID found in\n * that cell of the current Row.\n */\nfunction getEntityOrRowId<TValue = unknown>(\n props: CellContext<Row, TValue>,\n): string | undefined {\n const { row, table } = props\n const rowEntityIDColumnIndex = table.options.meta?.rowEntityIDColumnIndex\n const entityId =\n rowEntityIDColumnIndex !== undefined\n ? row.original.values[rowEntityIDColumnIndex]!\n : row.original.rowId?.toString()\n return entityId\n}\n\n/**\n * Given the (tanstack react) Table CellContext, return true if the table configuration defines a row entity version column name.\n * This will be used as the entity that represents the current Row.\n * @param props\n * @returns\n */\nfunction isRowEntityColumn<TValue = unknown>(\n props: CellContext<Row, TValue>,\n): boolean {\n const { table } = props\n return table.options.meta?.rowEntityVersionColumnIndex !== undefined\n}\n\n/**\n * Given the (tanstack react) Table CellContext, return the version of the current Synapse Table Row.\n * If a rowEntityVersionColumnName was provided in the table config, then instead return the version found in\n * that cell of the current Row.\n */\nfunction getEntityOrRowVersion<TValue = unknown>(\n props: CellContext<Row, TValue>,\n): string | undefined {\n const { row, table } = props\n const rowEntityVersionColumnIndex =\n table.options.meta?.rowEntityVersionColumnIndex\n const versionNumber =\n rowEntityVersionColumnIndex !== undefined\n ? row.original.values[rowEntityVersionColumnIndex]!\n : row.original.versionNumber?.toString()\n return versionNumber\n}\n\nfunction AccessCell<TValue = unknown>(props: CellContext<Row, TValue>) {\n const { showExternalAccessIcon } = useSynapseTableContext()\n const { ref, inView } = useInView({ triggerOnce: true })\n const entityId = getEntityOrRowId(props)!\n\n // If showExternalAccessIcon is true, defer rendering until the cell is in view to limit simultaneous API calls\n const canRenderAccessIcon =\n !showExternalAccessIcon || (showExternalAccessIcon && inView)\n\n return (\n <div ref={ref} data-testid=\"AccessCell\">\n {canRenderAccessIcon && (\n <HasAccessV2\n key={entityId}\n entityId={entityId}\n showButtonText={false}\n showExternalAccessIcon={showExternalAccessIcon}\n />\n )}\n </div>\n )\n}\n\nexport const accessColumn = columnHelper.display({\n id: `${columnIdPrefix}.Access`,\n enableResizing: false,\n cell: AccessCell,\n maxSize: 50,\n meta: {\n textAlign: 'center',\n },\n})\n\nexport function TableDataColumnHeader(\n props: HeaderContext<Row, string | null>,\n) {\n const { column } = props\n const { lockedColumn } = useQueryContext()\n const { data: queryMetadata } = useGetQueryMetadata()\n const columnModels = queryMetadata?.columnModels ?? []\n const selectColumns = queryMetadata?.selectColumns ?? []\n const selectColumn = selectColumns.find(sc => sc.name === column.id)\n const columnModel = columnModels.find(cm => cm.name === column.id)\n const facets = queryMetadata?.facets ?? []\n const { getColumnDisplayName, getHelpText } = useQueryVisualizationContext()\n\n const displayColumnName = selectColumn\n ? getColumnDisplayName(selectColumn.name)\n : column.id\n const columnHelpText = selectColumn\n ? getHelpText(selectColumn.name)\n : undefined\n // we have to figure out if the current column is a facet selection\n const facetIndex: number = facets.findIndex(\n (facetColumnResult: FacetColumnResult) => {\n return (\n facetColumnResult.columnName === columnModel?.name &&\n // Exclude JSON subcolumn facets, since there may be more than one on a given column\n facetColumnResult.jsonPath == undefined\n )\n },\n )\n // the header must be included in the facets and it has to be enumerable for current rendering capabilities\n const isFacetSelection: boolean =\n facetIndex !== -1 && facets[facetIndex].facetType === 'enumeration'\n const facet = facets[facetIndex] as FacetColumnResultValues\n const isLockedColumn =\n selectColumn &&\n selectColumn.name.toLowerCase() === lockedColumn?.columnName?.toLowerCase() // used in details page to disable filter the column\n const isEntityIDColumn =\n selectColumn?.name == 'id' &&\n selectColumn.columnType == ColumnTypeEnum.ENTITYID\n\n // TODO: enableFiltering should be specified on the column, but for now it's easier to override `getCanFilter` here where we have the facet information\n props.column.getCanFilter = useCallback(\n () => Boolean(isFacetSelection && !isLockedColumn && columnModel),\n [isFacetSelection, isLockedColumn, columnModel],\n )\n\n return (\n <ColumnHeader\n {...props}\n title={displayColumnName}\n helpText={columnHelpText}\n filterControl={\n <span>\n <EnumFacetFilter\n containerAs=\"Dropdown\"\n facet={facet}\n defaultShowAllValues={true}\n />\n </span>\n }\n additionalButtons={\n <>{isEntityIDColumn && <EntityIDColumnCopyIcon size={'small'} />}</>\n }\n />\n )\n}\n\nexport function TableDataCell(props: CellContext<Row, string | null>) {\n const { cell, table } = props\n const { data: queryMetadata } = useGetQueryMetadata()\n const entityOrRowId = getEntityOrRowId(props)\n const entityOrRowVersion = getEntityOrRowVersion(props)\n const versionNumber =\n entityOrRowVersion !== undefined ? parseInt(entityOrRowVersion) : undefined\n const selectColumns = table.options.meta?.rowSet?.headers ?? []\n const selectColumn = selectColumns.find(cm => cm.name === cell.column.id)\n const columnModels = queryMetadata?.columnModels ?? []\n const { columnLinks } = useSynapseTableContext()\n if (selectColumn) {\n const columnLinkConfig = (columnLinks ?? []).find(el => {\n return el.matchColumnName === selectColumn.name\n })\n // Prefer the authoritative ColumnModel type over the SelectColumn type.\n // For regular table queries the two are always identical. For search queries,\n // SelectColumn types are fabricated as 'STRING' during the conversion from\n // SearchQueryResults, but columnModels (from the entity bundle) carry the\n // correct types (DATE, USERID, etc.) and are available once that bundle loads.\n const columnType =\n columnModels.find(cm => cm.name === selectColumn.name)?.columnType ??\n selectColumn.columnType\n const isBold = cell.column.getIsSorted() ? 'SRC-boldText' : ''\n return (\n <SynapseTableCell\n key={cell.id}\n columnType={columnType}\n columnValue={cell.getValue()}\n isBold={isBold}\n columnLinkConfig={columnLinkConfig}\n columnName={selectColumn.name}\n rowData={cell.row.original.values}\n selectColumns={selectColumns}\n columnModels={columnModels}\n rowId={entityOrRowId}\n rowVersionNumber={versionNumber}\n isRowEntityColumn={isRowEntityColumn(props)}\n />\n )\n } else return <td key={cell.id}></td>\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SynapseTableRenderers.js","names":[],"sources":["../../../src/components/SynapseTable/SynapseTableRenderers.tsx"],"sourcesContent":["import { useGetEntityHeader } from '@/synapse-queries'\nimport { Checkbox } from '@mui/material'\nimport { getEnumerationFacet } from '@/utils/functions/enumerationFacet'\nimport {\n ColumnTypeEnum,\n FacetColumnResult,\n Row,\n} from '@sage-bionetworks/synapse-types'\nimport {\n CellContext,\n createColumnHelper,\n HeaderContext,\n} from '@tanstack/react-table'\nimport { useAtom, useAtomValue } from 'jotai'\nimport { isEqual } from 'lodash-es'\nimport { useCallback } from 'react'\nimport AddToDownloadListV2 from '../AddToDownloadListV2'\nimport FileEntityDirectDownload from '../DirectDownload/FileEntityDirectDownload'\nimport HasAccessV2 from '../HasAccess'\nimport { useQueryContext } from '../QueryContext'\nimport { useQueryVisualizationContext } from '../QueryVisualizationWrapper'\nimport {\n isRowSelectedAtom,\n selectedRowsAtom,\n} from '../QueryWrapper/TableRowSelectionState'\nimport { useGetQueryMetadata } from '../QueryWrapper/useGetQueryMetadata'\nimport ColumnHeader from '../TanStackTable/ColumnHeader'\nimport { EnumFacetFilter } from '../widgets/query-filter/EnumFacetFilter/EnumFacetFilter'\nimport EntityIDColumnCopyIcon from './EntityIDColumnCopyIcon'\nimport SynapseTableCell from './SynapseTableCell'\nimport { useSynapseTableContext } from './SynapseTableContext'\nimport { useInView } from 'react-intersection-observer'\n\n// Add a prefix to these column IDs so they don't collide with actual column names\nconst columnIdPrefix =\n 'org.sagebionetworks.web.client.SynapseTablePredefinedColumn'\n\nconst columnHelper = createColumnHelper<Row>()\n\nfunction RowSelectionCell<TValue = unknown>(props: CellContext<Row, TValue>) {\n const { row, table } = props\n const rowSet = table.options.meta?.rowSet\n\n const isRowSelected = useAtomValue(isRowSelectedAtom)\n const [selectedRows, setSelectedRows] = useAtom(selectedRowsAtom)\n\n return (\n <div>\n <Checkbox\n inputProps={{ 'aria-label': 'Select row' }}\n checked={isRowSelected(row.original, rowSet!.headers)}\n onChange={(_event, checked) => {\n const cloneSelectedRows = [...selectedRows]\n if (checked) {\n cloneSelectedRows.push(row.original)\n } else {\n const index = cloneSelectedRows.findIndex(selectedRow =>\n isEqual(selectedRow, row.original),\n )\n if (index > -1) {\n cloneSelectedRows.splice(index, 1)\n }\n }\n // update context on change\n setSelectedRows(cloneSelectedRows)\n }}\n />\n </div>\n )\n}\n\nexport const rowSelectionColumn = columnHelper.display({\n id: `${columnIdPrefix}.RowSelectionColumn`,\n enableResizing: false,\n cell: RowSelectionCell,\n maxSize: 36,\n meta: {\n textAlign: 'center',\n },\n})\n\nfunction AddToDownloadListCell<TValue = unknown>(\n props: CellContext<Row, TValue>,\n) {\n const entityId = getEntityOrRowId(props)!\n const versionNumberString = getEntityOrRowVersion(props)\n const versionNumber = versionNumberString\n ? parseInt(versionNumberString)\n : undefined\n const { data: entityHeader } = useGetEntityHeader(entityId)\n return (\n <div data-testid={'AddToDownloadListCell'}>\n {entityHeader?.type === 'org.sagebionetworks.repo.model.FileEntity' && (\n <AddToDownloadListV2\n entityId={entityId}\n entityVersionNumber={versionNumber}\n />\n )}\n </div>\n )\n}\n\nexport const addToDownloadListColumn = columnHelper.display({\n id: `${columnIdPrefix}.AddToDownloadListColumn`,\n enableResizing: false,\n cell: AddToDownloadListCell,\n maxSize: 50,\n meta: {\n textAlign: 'center',\n },\n})\n\nfunction DirectDownloadCell<TValue = unknown>(props: CellContext<Row, TValue>) {\n const entityId = getEntityOrRowId(props)!\n const versionNumber = getEntityOrRowVersion(props)\n\n return (\n <div data-testid={'DirectDownloadCell'}>\n <FileEntityDirectDownload\n entityId={entityId}\n entityVersionNumber={versionNumber}\n iconSvgPropOverrides={{ sx: { color: 'primary.main' } }}\n />\n </div>\n )\n}\n\nexport const directDownloadColumn = columnHelper.display({\n id: `${columnIdPrefix}.DirectDownload`,\n enableResizing: false,\n cell: DirectDownloadCell,\n maxSize: 50,\n meta: {\n textAlign: 'center',\n },\n})\n\n/**\n * Given the (tanstack react) Table CellContext, return the rowId of the current Synapse Table Row.\n * If a rowEntityIDColumnName was provided in the table config, then instead return the entityID found in\n * that cell of the current Row.\n */\nfunction getEntityOrRowId<TValue = unknown>(\n props: CellContext<Row, TValue>,\n): string | undefined {\n const { row, table } = props\n const rowEntityIDColumnIndex = table.options.meta?.rowEntityIDColumnIndex\n const entityId =\n rowEntityIDColumnIndex !== undefined\n ? row.original.values[rowEntityIDColumnIndex]!\n : row.original.rowId?.toString()\n return entityId\n}\n\n/**\n * Given the (tanstack react) Table CellContext, return true if the table configuration defines a row entity version column name.\n * This will be used as the entity that represents the current Row.\n * @param props\n * @returns\n */\nfunction isRowEntityColumn<TValue = unknown>(\n props: CellContext<Row, TValue>,\n): boolean {\n const { table } = props\n return table.options.meta?.rowEntityVersionColumnIndex !== undefined\n}\n\n/**\n * Given the (tanstack react) Table CellContext, return the version of the current Synapse Table Row.\n * If a rowEntityVersionColumnName was provided in the table config, then instead return the version found in\n * that cell of the current Row.\n */\nfunction getEntityOrRowVersion<TValue = unknown>(\n props: CellContext<Row, TValue>,\n): string | undefined {\n const { row, table } = props\n const rowEntityVersionColumnIndex =\n table.options.meta?.rowEntityVersionColumnIndex\n const versionNumber =\n rowEntityVersionColumnIndex !== undefined\n ? row.original.values[rowEntityVersionColumnIndex]!\n : row.original.versionNumber?.toString()\n return versionNumber\n}\n\nfunction AccessCell<TValue = unknown>(props: CellContext<Row, TValue>) {\n const { showExternalAccessIcon } = useSynapseTableContext()\n const { ref, inView } = useInView({ triggerOnce: true })\n const entityId = getEntityOrRowId(props)!\n\n // If showExternalAccessIcon is true, defer rendering until the cell is in view to limit simultaneous API calls\n const canRenderAccessIcon =\n !showExternalAccessIcon || (showExternalAccessIcon && inView)\n\n return (\n <div ref={ref} data-testid=\"AccessCell\">\n {canRenderAccessIcon && (\n <HasAccessV2\n key={entityId}\n entityId={entityId}\n showButtonText={false}\n showExternalAccessIcon={showExternalAccessIcon}\n />\n )}\n </div>\n )\n}\n\nexport const accessColumn = columnHelper.display({\n id: `${columnIdPrefix}.Access`,\n enableResizing: false,\n cell: AccessCell,\n maxSize: 50,\n meta: {\n textAlign: 'center',\n },\n})\n\nexport function TableDataColumnHeader(\n props: HeaderContext<Row, string | null>,\n) {\n const { column } = props\n const { lockedColumn } = useQueryContext()\n const { data: queryMetadata } = useGetQueryMetadata()\n const columnModels = queryMetadata?.columnModels ?? []\n const selectColumns = queryMetadata?.selectColumns ?? []\n const selectColumn = selectColumns.find(sc => sc.name === column.id)\n const columnModel = columnModels.find(cm => cm.name === column.id)\n const facets = queryMetadata?.facets ?? []\n const { getColumnDisplayName, getHelpText } = useQueryVisualizationContext()\n\n const displayColumnName = selectColumn\n ? getColumnDisplayName(selectColumn.name)\n : column.id\n const columnHelpText = selectColumn\n ? getHelpText(selectColumn.name)\n : undefined\n // we have to figure out if the current column is a facet selection\n const facetIndex: number = facets.findIndex(\n (facetColumnResult: FacetColumnResult) => {\n return (\n facetColumnResult.columnName === columnModel?.name &&\n // Exclude JSON subcolumn facets, since there may be more than one on a given column\n facetColumnResult.jsonPath == undefined\n )\n },\n )\n // the header must be included in the facets and it has to be enumerable for current rendering capabilities\n const facet =\n facetIndex === -1 ? undefined : getEnumerationFacet(facets[facetIndex])\n const isFacetSelection = facet !== undefined\n const isLockedColumn =\n selectColumn &&\n selectColumn.name.toLowerCase() === lockedColumn?.columnName?.toLowerCase() // used in details page to disable filter the column\n const isEntityIDColumn =\n selectColumn?.name == 'id' &&\n selectColumn.columnType == ColumnTypeEnum.ENTITYID\n\n // TODO: enableFiltering should be specified on the column, but for now it's easier to override `getCanFilter` here where we have the facet information\n props.column.getCanFilter = useCallback(\n () => Boolean(isFacetSelection && !isLockedColumn && columnModel),\n [isFacetSelection, isLockedColumn, columnModel],\n )\n\n return (\n <ColumnHeader\n {...props}\n title={displayColumnName}\n helpText={columnHelpText}\n filterControl={\n facet && (\n <span>\n <EnumFacetFilter\n containerAs=\"Dropdown\"\n facet={facet}\n defaultShowAllValues={true}\n />\n </span>\n )\n }\n additionalButtons={\n <>{isEntityIDColumn && <EntityIDColumnCopyIcon size={'small'} />}</>\n }\n />\n )\n}\n\nexport function TableDataCell(props: CellContext<Row, string | null>) {\n const { cell, table } = props\n const { data: queryMetadata } = useGetQueryMetadata()\n const entityOrRowId = getEntityOrRowId(props)\n const entityOrRowVersion = getEntityOrRowVersion(props)\n const versionNumber =\n entityOrRowVersion !== undefined ? parseInt(entityOrRowVersion) : undefined\n const selectColumns = table.options.meta?.rowSet?.headers ?? []\n const selectColumn = selectColumns.find(cm => cm.name === cell.column.id)\n const columnModels = queryMetadata?.columnModels ?? []\n const { columnLinks } = useSynapseTableContext()\n if (selectColumn) {\n const columnLinkConfig = (columnLinks ?? []).find(el => {\n return el.matchColumnName === selectColumn.name\n })\n // Prefer the authoritative ColumnModel type over the SelectColumn type.\n // For regular table queries the two are always identical. For search queries,\n // SelectColumn types are fabricated as 'STRING' during the conversion from\n // SearchQueryResults, but columnModels (from the entity bundle) carry the\n // correct types (DATE, USERID, etc.) and are available once that bundle loads.\n const columnType =\n columnModels.find(cm => cm.name === selectColumn.name)?.columnType ??\n selectColumn.columnType\n const isBold = cell.column.getIsSorted() ? 'SRC-boldText' : ''\n return (\n <SynapseTableCell\n key={cell.id}\n columnType={columnType}\n columnValue={cell.getValue()}\n isBold={isBold}\n columnLinkConfig={columnLinkConfig}\n columnName={selectColumn.name}\n rowData={cell.row.original.values}\n selectColumns={selectColumns}\n columnModels={columnModels}\n rowId={entityOrRowId}\n rowVersionNumber={versionNumber}\n isRowEntityColumn={isRowEntityColumn(props)}\n />\n )\n } else return <td key={cell.id}></td>\n}\n"],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ var a = "You must be signed in to send results to an analysis platform.", o = (e
|
|
|
10
10
|
let r = /* @__PURE__ */ new Set();
|
|
11
11
|
return e.queryResult?.queryResults.rows.forEach((e) => {
|
|
12
12
|
e.values.forEach((e, i) => {
|
|
13
|
-
e != null && n.includes(i) && !Object.
|
|
13
|
+
e != null && n.includes(i) && !Object.hasOwn(t, e) && e && r.add(e);
|
|
14
14
|
});
|
|
15
15
|
}), r;
|
|
16
16
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SynapseTableUtils.js","names":[],"sources":["../../../src/components/SynapseTable/SynapseTableUtils.ts"],"sourcesContent":["import {\n hasFilesInView,\n isDataset,\n isDatasetCollection,\n isEntityView,\n} from '@/utils/functions/EntityTypeUtils'\nimport {\n ColumnModel,\n ColumnType,\n ColumnTypeEnum,\n Entity,\n EntityHeader,\n QueryResultBundle,\n Table,\n UserGroupHeader,\n UserProfile,\n} from '@sage-bionetworks/synapse-types'\n\nexport const SEND_TO_ANALYSIS_PLATFORM_SIGN_IN_MESSAGE =\n 'You must be signed in to send results to an analysis platform.'\n\nexport const getColumnIndicesWithType = (\n data: QueryResultBundle | undefined,\n ...columnTypes: ColumnType[]\n) => {\n const columnsOfTypeEntity: number[] = []\n data?.selectColumns?.forEach((el, index) => {\n if (columnTypes.includes(el.columnType)) {\n columnsOfTypeEntity.push(index)\n }\n })\n return columnsOfTypeEntity\n}\n\nexport const getUniqueEntities = (\n data: QueryResultBundle,\n mapIdToHeader: Record<\n string,\n EntityHeader | Partial<UserGroupHeader & UserProfile>\n >,\n indices: number[],\n) => {\n const distinctEntities = new Set<string>()\n data.queryResult?.queryResults.rows.forEach(row => {\n row.values.forEach((el: string | null, colIndex: number) => {\n // make sure this is a column of type entity and that we haven't retrieved this entity's information prior\n if (\n el != null &&\n indices.includes(colIndex) &&\n !Object.
|
|
1
|
+
{"version":3,"file":"SynapseTableUtils.js","names":[],"sources":["../../../src/components/SynapseTable/SynapseTableUtils.ts"],"sourcesContent":["import {\n hasFilesInView,\n isDataset,\n isDatasetCollection,\n isEntityView,\n} from '@/utils/functions/EntityTypeUtils'\nimport {\n ColumnModel,\n ColumnType,\n ColumnTypeEnum,\n Entity,\n EntityHeader,\n QueryResultBundle,\n Table,\n UserGroupHeader,\n UserProfile,\n} from '@sage-bionetworks/synapse-types'\n\nexport const SEND_TO_ANALYSIS_PLATFORM_SIGN_IN_MESSAGE =\n 'You must be signed in to send results to an analysis platform.'\n\nexport const getColumnIndicesWithType = (\n data: QueryResultBundle | undefined,\n ...columnTypes: ColumnType[]\n) => {\n const columnsOfTypeEntity: number[] = []\n data?.selectColumns?.forEach((el, index) => {\n if (columnTypes.includes(el.columnType)) {\n columnsOfTypeEntity.push(index)\n }\n })\n return columnsOfTypeEntity\n}\n\nexport const getUniqueEntities = (\n data: QueryResultBundle,\n mapIdToHeader: Record<\n string,\n EntityHeader | Partial<UserGroupHeader & UserProfile>\n >,\n indices: number[],\n) => {\n const distinctEntities = new Set<string>()\n data.queryResult?.queryResults.rows.forEach(row => {\n row.values.forEach((el: string | null, colIndex: number) => {\n // make sure this is a column of type entity and that we haven't retrieved this entity's information prior\n if (\n el != null &&\n indices.includes(colIndex) &&\n !Object.hasOwn(mapIdToHeader, el) &&\n el\n ) {\n distinctEntities.add(el)\n }\n })\n })\n return distinctEntities\n}\n\n/**\n * i.e. the view may have FileEntities in it\n *\n * PORTALS-2010: Enhance change made for PORTALS-1973. File specific action will only be shown for rows that represent FileEntities.\n */\nexport function isFileViewOrDataset(entity?: Table) {\n return (\n entity &&\n ((isEntityView(entity) && hasFilesInView(entity)) || isDataset(entity))\n )\n}\n\nexport const getFileColumnModelId = (\n columnModels?: ColumnModel[],\n): string | undefined => {\n if (!columnModels) {\n return undefined\n }\n const entityIdColumnModels: ColumnModel[] | undefined = columnModels?.filter(\n el => el.columnType === ColumnTypeEnum.ENTITYID,\n )\n // if there's a single ENTITYID type column, return that column id\n if (entityIdColumnModels?.length === 1) {\n return entityIdColumnModels[0].id\n }\n // otherwise, if there's an 'id' column, return that column id\n const idColumnModel = entityIdColumnModels?.filter(el => el.name === 'id')\n if (idColumnModel.length === 1) {\n return idColumnModel[0].id\n }\n // else the file ID column was not found\n return undefined\n}\n\nexport function isSortableColumn(column: ColumnType) {\n switch (column) {\n case ColumnTypeEnum.STRING:\n case ColumnTypeEnum.DOUBLE:\n case ColumnTypeEnum.BOOLEAN:\n case ColumnTypeEnum.INTEGER:\n case ColumnTypeEnum.DATE:\n case ColumnTypeEnum.LINK:\n case ColumnTypeEnum.MEDIUMTEXT:\n case ColumnTypeEnum.LARGETEXT:\n return true\n case ColumnTypeEnum.USERID:\n case ColumnTypeEnum.ENTITYID:\n case ColumnTypeEnum.FILEHANDLEID:\n case ColumnTypeEnum.STRING_LIST:\n case ColumnTypeEnum.INTEGER_LIST:\n case ColumnTypeEnum.BOOLEAN_LIST:\n case ColumnTypeEnum.DATE_LIST:\n case ColumnTypeEnum.USERID_LIST:\n case ColumnTypeEnum.ENTITYID_LIST:\n case ColumnTypeEnum.EVALUATIONID:\n case ColumnTypeEnum.SUBMISSIONID:\n case ColumnTypeEnum.JSON:\n return false\n default:\n console.warn(`Unhandled column type: ${column}`)\n return false\n }\n}\n\nexport function getDefaultPrimaryKey(\n entity?: Table,\n columnModels?: ColumnModel[],\n): string[] | undefined {\n if (\n isFileViewOrDataset(entity) &&\n columnModels?.find(cm => cm.name === 'id')\n ) {\n // If the primary key isn't specified via props, and this is a file view/dataset, we can safely use the 'id' column as primary key, if it is present\n // Note: Synapse tables don't have an internal concept of a primary key\n return ['id']\n }\n return undefined\n}\n\nexport function isEntityViewOrDatasetOrCollection(entity: Entity): boolean {\n return Boolean(\n entity &&\n (isEntityView(entity) || isDataset(entity) || isDatasetCollection(entity)),\n )\n}\n\nexport function mapRowToRecord(\n rowData: (string | null)[],\n schema: Record<string, number>,\n): Record<string, string | null> {\n return Object.entries(schema).reduce<Record<string, string | null>>(\n (acc, [columnName, columnIndex]) => {\n acc[columnName] = rowData[columnIndex]\n return acc\n },\n {},\n )\n}\n"],"mappings":";;;AAkBA,IAAa,IACX,kEAEW,KACX,GACA,GAAG,MACA;CACH,IAAM,IAAgC,CAAC;CAMvC,OALA,GAAM,eAAe,SAAS,GAAI,MAAU;EAC1C,AAAI,EAAY,SAAS,EAAG,UAAU,KACpC,EAAoB,KAAK,CAAK;CAElC,CAAC,GACM;AACT,GAEa,KACX,GACA,GAIA,MACG;CACH,IAAM,oBAAmB,IAAI,IAAY;CAczC,OAbA,EAAK,aAAa,aAAa,KAAK,SAAQ,MAAO;EACjD,EAAI,OAAO,SAAS,GAAmB,MAAqB;GAE1D,AACE,KAAM,QACN,EAAQ,SAAS,CAAQ,KACzB,CAAC,OAAO,OAAO,GAAe,CAAE,KAChC,KAEA,EAAiB,IAAI,CAAE;EAE3B,CAAC;CACH,CAAC,GACM;AACT;AAOA,SAAgB,EAAoB,GAAgB;CAClD,OACE,MACE,EAAa,CAAM,KAAK,EAAe,CAAM,KAAM,EAAU,CAAM;AAEzE;AAEA,IAAa,KACX,MACuB;CACvB,IAAI,CAAC,GACH;CAEF,IAAM,IAAkD,GAAc,QACpE,MAAM,EAAG,eAAe,EAAe,QACzC;CAEA,IAAI,GAAsB,WAAW,GACnC,OAAO,EAAqB,GAAG;CAGjC,IAAM,IAAgB,GAAsB,QAAO,MAAM,EAAG,SAAS,IAAI;CACzE,IAAI,EAAc,WAAW,GAC3B,OAAO,EAAc,GAAG;AAI5B;AAEA,SAAgB,EAAiB,GAAoB;CACnD,QAAQ,GAAR;EACE,KAAK,EAAe;EACpB,KAAK,EAAe;EACpB,KAAK,EAAe;EACpB,KAAK,EAAe;EACpB,KAAK,EAAe;EACpB,KAAK,EAAe;EACpB,KAAK,EAAe;EACpB,KAAK,EAAe,WAClB,OAAO;EACT,KAAK,EAAe;EACpB,KAAK,EAAe;EACpB,KAAK,EAAe;EACpB,KAAK,EAAe;EACpB,KAAK,EAAe;EACpB,KAAK,EAAe;EACpB,KAAK,EAAe;EACpB,KAAK,EAAe;EACpB,KAAK,EAAe;EACpB,KAAK,EAAe;EACpB,KAAK,EAAe;EACpB,KAAK,EAAe,MAClB,OAAO;EACT,SAEE,OADA,QAAQ,KAAK,0BAA0B,GAAQ,GACxC;CACX;AACF;AAEA,SAAgB,EACd,GACA,GACsB;CACtB,IACE,EAAoB,CAAM,KAC1B,GAAc,MAAK,MAAM,EAAG,SAAS,IAAI,GAIzC,OAAO,CAAC,IAAI;AAGhB;AAEA,SAAgB,EAAkC,GAAyB;CACzE,OAAO,GACL,MACC,EAAa,CAAM,KAAK,EAAU,CAAM,KAAK,EAAoB,CAAM;AAE5E;AAEA,SAAgB,EACd,GACA,GAC+B;CAC/B,OAAO,OAAO,QAAQ,CAAM,EAAE,QAC3B,GAAK,CAAC,GAAY,QACjB,EAAI,KAAc,EAAQ,IACnB,IAET,CAAC,CACH;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TopLevelControls.d.ts","sourceRoot":"","sources":["../../../../src/components/SynapseTable/TopLevelControls/TopLevelControls.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,GAAG,EAEJ,MAAM,iCAAiC,CAAA;AAGxC,OAAO,EAAE,SAAS,EAAY,MAAM,OAAO,CAAA;AAmC3C,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,+FAA+F;IAC/F,6BAA6B,CAAC,EAAE,OAAO,CAAA;IACvC,qFAAqF;IACrF,+BAA+B,CAAC,EAAE,OAAO,CAAA;IACzC,yBAAyB,CAAC,EAAE,OAAO,CAAA;IACnC,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,6DAA6D;IAC7D,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC,oGAAoG;IACpG,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,uGAAuG;IACvG,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAA;IACjC,cAAc,CAAC,EAAE,aAAa,EAAE,CAAA;IAChC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,yBAAyB,CAAC,EAAE,MAAM,CAAA;IAClC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG;IACtC,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,IAAI,CAAC,iBAAiB,EAAE,aAAa,CAAC,GAAG,SAAS,CAAA;IACjE,YAAY,EAAE,GAAG,EAAE,GAAG,SAAS,CAAA;IAC/B,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,OAAO,CAAC,EAAE,kBAAkB,CAAA;CAC7B,CAAA;AAGD,MAAM,MAAM,aAAa,GAAG;IAC1B,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,IAAI,CAAA;IACnD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,QAAA,MAAM,gBAAgB,GAAI,OAAO,qBAAqB,KAAG,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"TopLevelControls.d.ts","sourceRoot":"","sources":["../../../../src/components/SynapseTable/TopLevelControls/TopLevelControls.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,GAAG,EAEJ,MAAM,iCAAiC,CAAA;AAGxC,OAAO,EAAE,SAAS,EAAY,MAAM,OAAO,CAAA;AAmC3C,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,+FAA+F;IAC/F,6BAA6B,CAAC,EAAE,OAAO,CAAA;IACvC,qFAAqF;IACrF,+BAA+B,CAAC,EAAE,OAAO,CAAA;IACzC,yBAAyB,CAAC,EAAE,OAAO,CAAA;IACnC,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,6DAA6D;IAC7D,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC,oGAAoG;IACpG,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,uGAAuG;IACvG,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAA;IACjC,cAAc,CAAC,EAAE,aAAa,EAAE,CAAA;IAChC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,yBAAyB,CAAC,EAAE,MAAM,CAAA;IAClC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG;IACtC,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,IAAI,CAAC,iBAAiB,EAAE,aAAa,CAAC,GAAG,SAAS,CAAA;IACjE,YAAY,EAAE,GAAG,EAAE,GAAG,SAAS,CAAA;IAC/B,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,OAAO,CAAC,EAAE,kBAAkB,CAAA;CAC7B,CAAA;AAGD,MAAM,MAAM,aAAa,GAAG;IAC1B,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,IAAI,CAAA;IACnD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,QAAA,MAAM,gBAAgB,GAAI,OAAO,qBAAqB,KAAG,KAAK,CAAC,SA8R9D,CAAA;AAED,eAAe,gBAAgB,CAAA"}
|
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
import "../../../utils/SynapseConstants.js";
|
|
2
2
|
import { copyStringToClipboard as e } from "../../../utils/functions/StringUtils.js";
|
|
3
|
-
import {
|
|
3
|
+
import { useQueryVisualizationContext as t } from "../../QueryVisualizationWrapper/QueryVisualizationContext.js";
|
|
4
|
+
import { useSynapseContext as n } from "../../../utils/context/SynapseContext.js";
|
|
4
5
|
import "../../../utils/index.js";
|
|
5
|
-
import { useGetEntity as
|
|
6
|
+
import { useGetEntity as ee } from "../../../synapse-queries/entity/useEntity.js";
|
|
6
7
|
import "../../../synapse-queries/index.js";
|
|
7
8
|
import r from "../../IconSvg/index.js";
|
|
8
9
|
import "../SynapseTableUtils.js";
|
|
9
|
-
import { useQueryContext as
|
|
10
|
+
import { useQueryContext as te } from "../../QueryContext/QueryContext.js";
|
|
10
11
|
import "../../QueryContext/index.js";
|
|
11
|
-
import { useGetQueryMetadata as
|
|
12
|
-
import { useQueryVisualizationContext as ne } from "../../QueryVisualizationWrapper/QueryVisualizationContext.js";
|
|
12
|
+
import { useGetQueryMetadata as ne } from "../../QueryWrapper/useGetQueryMetadata.js";
|
|
13
13
|
import "../../QueryVisualizationWrapper/index.js";
|
|
14
14
|
import { isRowSelectionVisibleAtom as re, useHasSelectedRowsAtomValue as i, useSelectedRowsAtomValue as a } from "../../QueryWrapper/TableRowSelectionState.js";
|
|
15
|
-
import { SignInRequiredModal as
|
|
16
|
-
import
|
|
17
|
-
import { ElementWithTooltip as
|
|
18
|
-
import { getNumberOfResultsToInvokeAction as
|
|
19
|
-
import
|
|
20
|
-
import { CustomControlButton as
|
|
21
|
-
import { RowSelectionControls as
|
|
22
|
-
import { DownloadOptions as
|
|
23
|
-
import { ColumnSelection as
|
|
15
|
+
import { SignInRequiredModal as ie } from "../../SignInRequiredModal/SignInRequiredModal.js";
|
|
16
|
+
import ae from "../../MissingQueryResultsWarning/MissingQueryResultsWarning.js";
|
|
17
|
+
import { ElementWithTooltip as o } from "../../widgets/ElementWithTooltip.js";
|
|
18
|
+
import { getNumberOfResultsToInvokeAction as oe, getNumberOfResultsToInvokeActionCopy as s } from "./TopLevelControlsUtils.js";
|
|
19
|
+
import c from "../export/ExportToAnalysisPlatformDialog.js";
|
|
20
|
+
import { CustomControlButton as l } from "../CustomControls/CustomControlButton.js";
|
|
21
|
+
import { RowSelectionControls as u } from "../RowSelection/RowSelectionControls.js";
|
|
22
|
+
import { DownloadOptions as d } from "../table-top/DownloadOptions.js";
|
|
23
|
+
import { ColumnSelection as f } from "../table-top/ColumnSelection.js";
|
|
24
24
|
import "../table-top/index.js";
|
|
25
|
-
import { useState as
|
|
26
|
-
import { cloneDeep as
|
|
27
|
-
import { Button as
|
|
25
|
+
import { useState as p } from "react";
|
|
26
|
+
import { cloneDeep as m } from "lodash-es";
|
|
27
|
+
import { Button as h, Divider as g, Tooltip as _, Typography as se } from "@mui/material";
|
|
28
28
|
import { Fragment as v, jsx as y, jsxs as b } from "react/jsx-runtime";
|
|
29
29
|
import { useAtomValue as x } from "jotai";
|
|
30
30
|
//#region src/components/SynapseTable/TopLevelControls/TopLevelControls.tsx
|
|
@@ -34,10 +34,10 @@ var S = "SendToAnalysisPlatformTopLevelControlButton", C = {
|
|
|
34
34
|
fontSize: "14px",
|
|
35
35
|
textDecoration: "none !important"
|
|
36
36
|
}, w = (w) => {
|
|
37
|
-
let [T, E] =
|
|
38
|
-
let t =
|
|
37
|
+
let [T, E] = p(!1), { isAuthenticated: D } = n(), { name: O, showColumnSelection: k = !1, hideDownload: A = !1, hideAddToDownloadListMenuItem: j, hideProgrammaticOptionsMenuItem: M, hideVisualizationsControl: N = !1, hideFacetFilterControl: P = !1, hideQueryCount: F = !1, hideSqlEditorControl: I = !0, showQueryBuilderControl: L = !1, showQueryBuilder: R = !1, onToggleQueryBuilder: z, customControls: B, cavaticaConnectAccountURL: V, remount: H } = w, { entityId: U, versionNumber: ce, getCurrentQueryRequest: W, hasResettableFilters: G } = te(), { data: K } = ee(U, ce), { data: q } = ne(), J = x(re), Y = a(), X = i(), { setShowSearchBar: le, columnsToShowInTable: Z, setColumnsToShowInTable: ue, enabledExternalAnalysisPlatforms: de, setIsShowingExportToAnalysisPlatformModal: fe, unitDescription: pe, showCopyToClipboard: me, hideSearchBarControl: he, setShowPlots: ge, setShowSqlEditor: _e, showFacetFilter: Q, setShowFacetFilter: ve } = t(), ye = de.length > 0, [be, $] = p(!1), xe = (e) => {
|
|
38
|
+
let t = m(Z);
|
|
39
39
|
t.includes(e) ? t = t.filter((t) => t !== e) : t.push(e), ue(t);
|
|
40
|
-
},
|
|
40
|
+
}, Se = oe(X, Y, q?.queryCount), Ce = s(G, X, Y, q?.queryCount, pe), we = !F && q?.queryCount !== void 0 ? `(${q.queryCount.toLocaleString()})` : null;
|
|
41
41
|
return /* @__PURE__ */ y("div", {
|
|
42
42
|
className: "TopLevelControls",
|
|
43
43
|
"data-testid": "TopLevelControls",
|
|
@@ -50,12 +50,12 @@ var S = "SendToAnalysisPlatformTopLevelControlButton", C = {
|
|
|
50
50
|
children: [
|
|
51
51
|
O,
|
|
52
52
|
" ",
|
|
53
|
-
|
|
53
|
+
we
|
|
54
54
|
]
|
|
55
|
-
}), !F && K && /* @__PURE__ */ y(
|
|
56
|
-
!P && /* @__PURE__ */ b(
|
|
55
|
+
}), !F && K && /* @__PURE__ */ y(ae, { entity: K })] }),
|
|
56
|
+
!P && /* @__PURE__ */ b(h, {
|
|
57
57
|
variant: "text",
|
|
58
|
-
onClick: () =>
|
|
58
|
+
onClick: () => ve((e) => !e),
|
|
59
59
|
startIcon: /* @__PURE__ */ y(r, {
|
|
60
60
|
icon: Q ? "close" : "filter",
|
|
61
61
|
wrap: !1
|
|
@@ -63,7 +63,7 @@ var S = "SendToAnalysisPlatformTopLevelControlButton", C = {
|
|
|
63
63
|
sx: C,
|
|
64
64
|
children: [Q ? "Hide" : "Show", " filters"]
|
|
65
65
|
}),
|
|
66
|
-
L && z && /* @__PURE__ */ b(
|
|
66
|
+
L && z && /* @__PURE__ */ b(h, {
|
|
67
67
|
variant: "text",
|
|
68
68
|
onClick: z,
|
|
69
69
|
startIcon: /* @__PURE__ */ y(r, {
|
|
@@ -77,7 +77,7 @@ var S = "SendToAnalysisPlatformTopLevelControlButton", C = {
|
|
|
77
77
|
}), /* @__PURE__ */ b("div", {
|
|
78
78
|
className: "TopLevelControls__actions",
|
|
79
79
|
children: [
|
|
80
|
-
|
|
80
|
+
ye && /* @__PURE__ */ b(v, { children: [/* @__PURE__ */ y(_, {
|
|
81
81
|
title: /* @__PURE__ */ b(v, { children: [
|
|
82
82
|
"This action will send a reference to",
|
|
83
83
|
" ",
|
|
@@ -88,34 +88,34 @@ var S = "SendToAnalysisPlatformTopLevelControlButton", C = {
|
|
|
88
88
|
!X && Q && /* @__PURE__ */ y(v, { children: "You can change what is sent by applying filters using the controls in the sidebar." }),
|
|
89
89
|
X && /* @__PURE__ */ y(v, { children: "You can change what is sent by selecting a different set of files." })
|
|
90
90
|
] }),
|
|
91
|
-
children: /* @__PURE__ */ b(
|
|
91
|
+
children: /* @__PURE__ */ b(h, {
|
|
92
92
|
variant: "text",
|
|
93
|
-
disabled: !
|
|
93
|
+
disabled: !Se,
|
|
94
94
|
onClick: () => D ? fe(!0) : E(!0),
|
|
95
95
|
id: S,
|
|
96
96
|
children: [
|
|
97
97
|
"Send ",
|
|
98
|
-
|
|
98
|
+
Ce,
|
|
99
99
|
" to Analysis Platform"
|
|
100
100
|
]
|
|
101
101
|
})
|
|
102
|
-
}), /* @__PURE__ */ y(
|
|
102
|
+
}), /* @__PURE__ */ y(g, {
|
|
103
103
|
orientation: "vertical",
|
|
104
104
|
variant: "middle",
|
|
105
105
|
flexItem: !0
|
|
106
106
|
})] }),
|
|
107
|
-
T && /* @__PURE__ */ y(
|
|
107
|
+
T && /* @__PURE__ */ y(ie, {
|
|
108
108
|
onHide: () => E(!1),
|
|
109
109
|
content: "You must be signed in to send results to an analysis platform."
|
|
110
110
|
}),
|
|
111
|
-
!
|
|
111
|
+
!he && /* @__PURE__ */ y(o, {
|
|
112
112
|
tooltipText: "Show / Hide Search Bar",
|
|
113
113
|
callbackFn: () => le((e) => !e),
|
|
114
114
|
darkTheme: !0,
|
|
115
115
|
icon: "search"
|
|
116
116
|
}),
|
|
117
|
-
|
|
118
|
-
tooltipText:
|
|
117
|
+
me && /* @__PURE__ */ y(o, {
|
|
118
|
+
tooltipText: be ? "Copied to clipboard" : "Copy this search to the clipboard",
|
|
119
119
|
callbackFn: () => {
|
|
120
120
|
e(window.location.href).then(() => {
|
|
121
121
|
$(!0), setTimeout(() => {
|
|
@@ -126,29 +126,28 @@ var S = "SendToAnalysisPlatformTopLevelControlButton", C = {
|
|
|
126
126
|
darkTheme: !0,
|
|
127
127
|
icon: "clipboard"
|
|
128
128
|
}),
|
|
129
|
-
!N && /* @__PURE__ */ y(
|
|
129
|
+
!N && /* @__PURE__ */ y(o, {
|
|
130
130
|
tooltipText: "Show / Hide Visualizations",
|
|
131
|
-
callbackFn: () =>
|
|
131
|
+
callbackFn: () => ge((e) => !e),
|
|
132
132
|
darkTheme: !0,
|
|
133
133
|
icon: "chart"
|
|
134
134
|
}),
|
|
135
|
-
!A && /* @__PURE__ */ y(
|
|
135
|
+
!A && /* @__PURE__ */ y(d, {
|
|
136
136
|
darkTheme: !0,
|
|
137
|
-
onDownloadFiles: () => me(!0),
|
|
138
137
|
hideAddToDownloadListMenuItem: j,
|
|
139
138
|
hideProgrammaticOptionsMenuItem: M
|
|
140
139
|
}),
|
|
141
|
-
!I && /* @__PURE__ */ y(
|
|
140
|
+
!I && /* @__PURE__ */ y(o, {
|
|
142
141
|
tooltipText: "Show / Hide the Advanced Query Editor",
|
|
143
|
-
callbackFn: () =>
|
|
142
|
+
callbackFn: () => _e((e) => !e),
|
|
144
143
|
darkTheme: !0,
|
|
145
144
|
icon: "sqleditor"
|
|
146
145
|
}),
|
|
147
|
-
J && /* @__PURE__ */ y(
|
|
146
|
+
J && /* @__PURE__ */ y(u, {
|
|
148
147
|
customControls: B,
|
|
149
148
|
remount: H
|
|
150
149
|
}),
|
|
151
|
-
!J && B && B.length > 0 && /* @__PURE__ */ y(v, { children: B.map((e) => /* @__PURE__ */ y(
|
|
150
|
+
!J && B && B.length > 0 && /* @__PURE__ */ y(v, { children: B.map((e) => /* @__PURE__ */ y(l, {
|
|
152
151
|
variant: "text",
|
|
153
152
|
callbackData: {
|
|
154
153
|
tableId: U,
|
|
@@ -162,13 +161,13 @@ var S = "SendToAnalysisPlatformTopLevelControlButton", C = {
|
|
|
162
161
|
control: e,
|
|
163
162
|
startIcon: e.icon
|
|
164
163
|
}, e.buttonText)) }),
|
|
165
|
-
k && /* @__PURE__ */ y(
|
|
164
|
+
k && /* @__PURE__ */ y(f, {
|
|
166
165
|
headers: q?.selectColumns,
|
|
167
166
|
isColumnSelected: Z,
|
|
168
|
-
toggleColumnSelection:
|
|
167
|
+
toggleColumnSelection: xe,
|
|
169
168
|
darkTheme: !0
|
|
170
169
|
}),
|
|
171
|
-
/* @__PURE__ */ y(
|
|
170
|
+
/* @__PURE__ */ y(c, { platformInstructionProps: { cavaticaConnectAccountURL: V } })
|
|
172
171
|
]
|
|
173
172
|
})] })
|
|
174
173
|
});
|