synapse-react-client 4.0.46 → 4.0.47
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/SWC.index.js +1 -1
- package/dist/aridhia-queries/useSubmitAridhiaDar.js +2 -2
- package/dist/aridhia-queries/useSubmitAridhiaDar.js.map +1 -1
- package/dist/components/AccessTokenPage/CreateAccessTokenModal.js +1 -1
- package/dist/components/AccessTokenPage/CreateAccessTokenModal.js.map +1 -1
- package/dist/components/AccountLevelBadges/AccountLevelBadges.js +1 -1
- package/dist/components/AccountLevelBadges/AccountLevelBadges.js.map +1 -1
- package/dist/components/AclEditor/AclEditor.test-utils.js +3 -5
- package/dist/components/AclEditor/AclEditor.test-utils.js.map +1 -1
- package/dist/components/Aridhia/AridhiaAccessStatus.d.ts.map +1 -1
- package/dist/components/Aridhia/AridhiaAccessStatus.js +43 -30
- package/dist/components/Aridhia/AridhiaAccessStatus.js.map +1 -1
- package/dist/components/Aridhia/AridhiaDarStatusPopover.d.ts +6 -2
- package/dist/components/Aridhia/AridhiaDarStatusPopover.d.ts.map +1 -1
- package/dist/components/Aridhia/AridhiaDarStatusPopover.js +101 -31
- package/dist/components/Aridhia/AridhiaDarStatusPopover.js.map +1 -1
- package/dist/components/Aridhia/aridhiaAccessStatusUtils.d.ts +11 -9
- package/dist/components/Aridhia/aridhiaAccessStatusUtils.d.ts.map +1 -1
- package/dist/components/Aridhia/aridhiaAccessStatusUtils.js +24 -13
- package/dist/components/Aridhia/aridhiaAccessStatusUtils.js.map +1 -1
- package/dist/components/Authentication/LastLoginInfo.js +2 -2
- package/dist/components/Authentication/LastLoginInfo.js.map +1 -1
- package/dist/components/Authentication/RecoveryCodeForm.js +1 -1
- package/dist/components/Authentication/RecoveryCodeForm.js.map +1 -1
- package/dist/components/Authentication/RecoveryCodeGrid.js.map +1 -1
- package/dist/components/Authentication/TOTPForm.d.ts.map +1 -1
- package/dist/components/Authentication/TOTPForm.js +3 -3
- package/dist/components/Authentication/TOTPForm.js.map +1 -1
- package/dist/components/Authentication/index.d.ts +6 -6
- package/dist/components/Authentication/index.d.ts.map +1 -1
- package/dist/components/CannedRejectionDialog/CannedRejectionDialog.js +1 -1
- package/dist/components/CannedRejectionDialog/CannedRejectionDialog.js.map +1 -1
- package/dist/components/CardContainer/CardContainer.js +7 -7
- package/dist/components/CardContainer/CardContainer.js.map +1 -1
- package/dist/components/ChallengeRequirementsModal/ChallengeRequirementsModal.js +1 -1
- package/dist/components/ChallengeRequirementsModal/ChallengeRequirementsModal.js.map +1 -1
- package/dist/components/ChallengeSubmission/ChallengeSubmission.d.ts.map +1 -1
- package/dist/components/ChallengeSubmission/ChallengeSubmission.js +1 -1
- package/dist/components/ChallengeSubmission/ChallengeSubmission.js.map +1 -1
- package/dist/components/ChallengeTeamWizard/SelectChallengeTeam.js +1 -1
- package/dist/components/ChallengeTeamWizard/SelectChallengeTeam.js.map +1 -1
- package/dist/components/CitationPopover/CitationPopoverUtils.js +2 -2
- package/dist/components/CitationPopover/CitationPopoverUtils.js.map +1 -1
- package/dist/components/CohortBuilder/CohortBuilder.css +1 -0
- package/dist/components/CohortBuilder/CohortBuilder.d.ts +35 -0
- package/dist/components/CohortBuilder/CohortBuilder.d.ts.map +1 -0
- package/dist/components/CohortBuilder/CohortBuilder.js +108 -0
- package/dist/components/CohortBuilder/CohortBuilder.js.map +1 -0
- package/dist/components/CohortBuilder/CohortBuilder.module.js +10 -0
- package/dist/components/CohortBuilder/CohortBuilder.module.js.map +1 -0
- package/dist/components/CohortBuilder/CohortBuilder.module.scss +20 -0
- package/dist/components/CohortBuilder/CohortFilesPanel.d.ts +16 -0
- package/dist/components/CohortBuilder/CohortFilesPanel.d.ts.map +1 -0
- package/dist/components/CohortBuilder/CohortFilesPanel.js +124 -0
- package/dist/components/CohortBuilder/CohortFilesPanel.js.map +1 -0
- package/dist/components/CohortBuilder/cohortHandOff.d.ts +25 -0
- package/dist/components/CohortBuilder/cohortHandOff.d.ts.map +1 -0
- package/dist/components/CohortBuilder/cohortHandOff.js +26 -0
- package/dist/components/CohortBuilder/cohortHandOff.js.map +1 -0
- package/dist/components/ColumnFilter/ColumnFilter.d.ts.map +1 -1
- package/dist/components/ColumnFilter/ColumnFilter.js +14 -13
- package/dist/components/ColumnFilter/ColumnFilter.js.map +1 -1
- package/dist/components/DataExplorer/DataExplorer.d.ts.map +1 -1
- package/dist/components/DataExplorer/DataExplorer.js.map +1 -1
- package/dist/components/DataGrid/columns/AutocompleteColumn.d.ts +11 -2
- package/dist/components/DataGrid/columns/AutocompleteColumn.d.ts.map +1 -1
- package/dist/components/DataGrid/columns/AutocompleteColumn.js +115 -109
- package/dist/components/DataGrid/columns/AutocompleteColumn.js.map +1 -1
- package/dist/components/DataGrid/columns/NumberColumn.js +1 -1
- package/dist/components/DataGrid/columns/NumberColumn.js.map +1 -1
- package/dist/components/DataGrid/columns/NumberOrEnumColumn.d.ts +20 -0
- package/dist/components/DataGrid/columns/NumberOrEnumColumn.d.ts.map +1 -0
- package/dist/components/DataGrid/columns/NumberOrEnumColumn.js +18 -0
- package/dist/components/DataGrid/columns/NumberOrEnumColumn.js.map +1 -0
- package/dist/components/DataGrid/components/contextMenu.js +3 -3
- package/dist/components/DataGrid/components/contextMenu.js.map +1 -1
- package/dist/components/DataGrid/hooks/useGridUndoRedo.d.ts.map +1 -1
- package/dist/components/DataGrid/hooks/useGridUndoRedo.js +9 -7
- package/dist/components/DataGrid/hooks/useGridUndoRedo.js.map +1 -1
- package/dist/components/DataGrid/hooks/useStack.d.ts +1 -1
- package/dist/components/DataGrid/hooks/useStack.js +2 -2
- package/dist/components/DataGrid/hooks/useStack.js.map +1 -1
- package/dist/components/DataGrid/utils/columnFactory.d.ts.map +1 -1
- package/dist/components/DataGrid/utils/columnFactory.js +47 -42
- package/dist/components/DataGrid/utils/columnFactory.js.map +1 -1
- package/dist/components/DataGrid/utils/extractColumnValidationMessages.js +7 -7
- package/dist/components/DataGrid/utils/extractColumnValidationMessages.js.map +1 -1
- package/dist/components/DataGrid/utils/json-rx/JsonRx.js +2 -2
- package/dist/components/DataGrid/utils/json-rx/JsonRx.js.map +1 -1
- package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.js +1 -1
- package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.js.map +1 -1
- package/dist/components/DownloadCart/MeetAccessRequirementCard.js +1 -1
- package/dist/components/DownloadCart/MeetAccessRequirementCard.js.map +1 -1
- package/dist/components/EntityDownloadConfirmation/EntityDownloadConfirmation.js +5 -5
- package/dist/components/EntityDownloadConfirmation/EntityDownloadConfirmation.js.map +1 -1
- package/dist/components/EntityFinder/details/view/DetailsView.d.ts.map +1 -1
- package/dist/components/EntityFinder/details/view/DetailsView.js +4 -4
- package/dist/components/EntityFinder/details/view/DetailsView.js.map +1 -1
- package/dist/components/EntityHeaderTable/EntityHeaderTable.js +4 -4
- package/dist/components/EntityHeaderTable/Filter.d.ts.map +1 -1
- package/dist/components/EntityHeaderTable/Filter.js +1 -1
- package/dist/components/EntityHeaderTable/Filter.js.map +1 -1
- package/dist/components/Evaluation/EvaluationRoundEditor.js.map +1 -1
- package/dist/components/FeaturedDataTabs/FacetPlotsCard.d.ts.map +1 -1
- package/dist/components/FeaturedDataTabs/FacetPlotsCard.js +80 -84
- package/dist/components/FeaturedDataTabs/FacetPlotsCard.js.map +1 -1
- package/dist/components/FormTemplateEditor/FormStructurePanel.js +7 -7
- package/dist/components/FormTemplateEditor/StepCard.js +9 -9
- package/dist/components/FormTemplateEditor/schemaFieldUtils.js +2 -2
- package/dist/components/FormTemplateEditor/schemaFieldUtils.js.map +1 -1
- package/dist/components/FullTextSearch/FullTextSearch.js +8 -8
- package/dist/components/GenericCard/CardUtils.js.map +1 -1
- package/dist/components/GenericCard/DuoTermTags/DuoTermTags.js +1 -1
- package/dist/components/GenericCard/DuoTermTags/DuoTermTags.js.map +1 -1
- package/dist/components/GenericCard/DuoTermTags/duoTerms.js +1 -1
- package/dist/components/GenericCard/DuoTermTags/duoTerms.js.map +1 -1
- package/dist/components/GenericCard/TableRowGenericCard.js +37 -37
- package/dist/components/GoalsV3/GoalsV3.js +1 -1
- package/dist/components/GoalsV3/GoalsV3.js.map +1 -1
- package/dist/components/HexGrid/HexGrid.d.ts +3 -1
- package/dist/components/HexGrid/HexGrid.d.ts.map +1 -1
- package/dist/components/HexGrid/HexGrid.js +14 -13
- package/dist/components/HexGrid/HexGrid.js.map +1 -1
- package/dist/components/IconSvg/index.d.ts +1 -1
- package/dist/components/IconSvg/index.d.ts.map +1 -1
- package/dist/components/IconSvg/index.js.map +1 -1
- package/dist/components/JsonSchemaForm/templates/BaseInputTemplate.d.ts.map +1 -1
- package/dist/components/JsonSchemaForm/templates/BaseInputTemplate.js +3 -3
- package/dist/components/JsonSchemaForm/templates/BaseInputTemplate.js.map +1 -1
- package/dist/components/Markdown/MarkdownEditor.js +1 -1
- package/dist/components/Markdown/MarkdownEditor.js.map +1 -1
- package/dist/components/Markdown/widget/index.d.ts +1 -1
- package/dist/components/Markdown/widget/index.d.ts.map +1 -1
- package/dist/components/ModalDownload/ModalDownload.d.ts.map +1 -1
- package/dist/components/ModalDownload/ModalDownload.js +2 -1
- package/dist/components/ModalDownload/ModalDownload.js.map +1 -1
- package/dist/components/Plot/BarPlot.js +1 -1
- package/dist/components/Plot/BarPlot.js.map +1 -1
- package/dist/components/Plot/PlotPanelHeader.d.ts +3 -2
- package/dist/components/Plot/PlotPanelHeader.d.ts.map +1 -1
- package/dist/components/Plot/PlotPanelHeader.js.map +1 -1
- package/dist/components/ProgrammaticTableDownload/ProgrammaticTableDownload.js +1 -1
- package/dist/components/ProgrammaticTableDownload/ProgrammaticTableDownload.js.map +1 -1
- package/dist/components/ProvenanceGraph/ProvenanceExternalIcon.js +1 -1
- package/dist/components/ProvenanceGraph/ProvenanceExternalIcon.js.map +1 -1
- package/dist/components/ProvenanceGraph/ProvenanceGraph.d.ts.map +1 -1
- package/dist/components/ProvenanceGraph/ProvenanceGraph.js +3 -3
- package/dist/components/ProvenanceGraph/ProvenanceGraph.js.map +1 -1
- package/dist/components/QueryBuilder/FilterConditionRow.d.ts.map +1 -1
- package/dist/components/QueryBuilder/FilterConditionRow.js +28 -27
- package/dist/components/QueryBuilder/FilterConditionRow.js.map +1 -1
- package/dist/components/QueryBuilder/FilterGroupNode.d.ts.map +1 -1
- package/dist/components/QueryBuilder/FilterGroupNode.js +91 -75
- package/dist/components/QueryBuilder/FilterGroupNode.js.map +1 -1
- package/dist/components/QueryBuilder/QueryBuilderControls.css +1 -1
- package/dist/components/QueryBuilder/QueryBuilderControls.d.ts.map +1 -1
- package/dist/components/QueryBuilder/QueryBuilderControls.js +91 -79
- package/dist/components/QueryBuilder/QueryBuilderControls.js.map +1 -1
- package/dist/components/QueryBuilder/QueryBuilderControls.module.js +11 -11
- package/dist/components/QueryBuilder/QueryBuilderControls.module.js.map +1 -1
- package/dist/components/QueryBuilder/QueryBuilderControls.module.scss +2 -0
- package/dist/components/QueryBuilder/QueryBuilderInternalContext.d.ts +2 -0
- package/dist/components/QueryBuilder/QueryBuilderInternalContext.d.ts.map +1 -1
- package/dist/components/QueryBuilder/QueryBuilderInternalContext.js.map +1 -1
- package/dist/components/QueryBuilder/queryBuilderLimits.d.ts +18 -0
- package/dist/components/QueryBuilder/queryBuilderLimits.d.ts.map +1 -0
- package/dist/components/QueryBuilder/queryBuilderLimits.js +38 -0
- package/dist/components/QueryBuilder/queryBuilderLimits.js.map +1 -0
- package/dist/components/QueryBuilder/queryBuilderMetadata.d.ts +0 -8
- package/dist/components/QueryBuilder/queryBuilderMetadata.d.ts.map +1 -1
- package/dist/components/QueryBuilder/queryBuilderMetadata.js +6 -9
- package/dist/components/QueryBuilder/queryBuilderMetadata.js.map +1 -1
- package/dist/components/QueryBuilder/queryBuilderTranslation.d.ts +5 -4
- package/dist/components/QueryBuilder/queryBuilderTranslation.d.ts.map +1 -1
- package/dist/components/QueryBuilder/queryBuilderTranslation.js +58 -33
- package/dist/components/QueryBuilder/queryBuilderTranslation.js.map +1 -1
- package/dist/components/QueryBuilder/useQBCombinedSql.d.ts.map +1 -1
- package/dist/components/QueryBuilder/useQBCombinedSql.js +4 -4
- package/dist/components/QueryBuilder/useQBCombinedSql.js.map +1 -1
- package/dist/components/QueryBuilder/useQBValueDisplayName.d.ts.map +1 -1
- package/dist/components/QueryBuilder/useQBValueDisplayName.js +5 -5
- package/dist/components/QueryBuilder/useQBValueDisplayName.js.map +1 -1
- package/dist/components/QuerySortSelector.js +5 -5
- package/dist/components/QueryVisualizationWrapper/QueryVisualizationWrapper.js +21 -21
- package/dist/components/QueryVisualizationWrapper/QueryVisualizationWrapper.js.map +1 -1
- package/dist/components/QueryWrapper/AggregateQueryErrorNotice.d.ts +20 -0
- package/dist/components/QueryWrapper/AggregateQueryErrorNotice.d.ts.map +1 -0
- package/dist/components/QueryWrapper/AggregateQueryErrorNotice.js +50 -0
- package/dist/components/QueryWrapper/AggregateQueryErrorNotice.js.map +1 -0
- package/dist/components/QueryWrapper/TableQueryUseQueryOptions.d.ts +5 -3
- package/dist/components/QueryWrapper/TableQueryUseQueryOptions.d.ts.map +1 -1
- package/dist/components/QueryWrapper/TableQueryUseQueryOptions.js +7 -3
- package/dist/components/QueryWrapper/TableQueryUseQueryOptions.js.map +1 -1
- package/dist/components/QueryWrapper/downloadListFiles.d.ts +25 -0
- package/dist/components/QueryWrapper/downloadListFiles.d.ts.map +1 -0
- package/dist/components/QueryWrapper/downloadListFiles.js +39 -0
- package/dist/components/QueryWrapper/downloadListFiles.js.map +1 -0
- package/dist/components/QueryWrapper/useAddSelectedRowsToDownloadList.d.ts +16 -0
- package/dist/components/QueryWrapper/useAddSelectedRowsToDownloadList.d.ts.map +1 -0
- package/dist/components/QueryWrapper/useAddSelectedRowsToDownloadList.js +50 -0
- package/dist/components/QueryWrapper/useAddSelectedRowsToDownloadList.js.map +1 -0
- package/dist/components/QueryWrapper/useGetAddToDownloadListRequestForCurrentQuery.d.ts +4 -1
- package/dist/components/QueryWrapper/useGetAddToDownloadListRequestForCurrentQuery.d.ts.map +1 -1
- package/dist/components/QueryWrapper/useGetAddToDownloadListRequestForCurrentQuery.js +15 -28
- package/dist/components/QueryWrapper/useGetAddToDownloadListRequestForCurrentQuery.js.map +1 -1
- package/dist/components/QueryWrapper/useOnQueryDataChange.d.ts.map +1 -1
- package/dist/components/QueryWrapper/useOnQueryDataChange.js +7 -6
- package/dist/components/QueryWrapper/useOnQueryDataChange.js.map +1 -1
- package/dist/components/QueryWrapperErrorBoundary.d.ts +3 -1
- package/dist/components/QueryWrapperErrorBoundary.d.ts.map +1 -1
- package/dist/components/QueryWrapperErrorBoundary.js +26 -21
- package/dist/components/QueryWrapperErrorBoundary.js.map +1 -1
- package/dist/components/QueryWrapperPlotNav/LastUpdatedOn.js +7 -7
- package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts +2 -2
- package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts.map +1 -1
- package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js +34 -32
- package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js.map +1 -1
- package/dist/components/QueryWrapperPlotNav/QueryWrapperSynapsePlot.js +7 -7
- package/dist/components/QueryWrapperPlotNav/UseRowSet.d.ts.map +1 -1
- package/dist/components/QueryWrapperPlotNav/UseRowSet.js +12 -12
- package/dist/components/QueryWrapperPlotNav/UseRowSet.js.map +1 -1
- package/dist/components/RowDataTable/CategorizedRowDataTable.css +1 -0
- package/dist/components/RowDataTable/CategorizedRowDataTable.d.ts +33 -0
- package/dist/components/RowDataTable/CategorizedRowDataTable.d.ts.map +1 -0
- package/dist/components/RowDataTable/CategorizedRowDataTable.js +64 -0
- package/dist/components/RowDataTable/CategorizedRowDataTable.js.map +1 -0
- package/dist/components/RowDataTable/CategorizedRowDataTable.module.js +8 -0
- package/dist/components/RowDataTable/CategorizedRowDataTable.module.js.map +1 -0
- package/dist/components/RowDataTable/CategorizedRowDataTable.module.scss +18 -0
- package/dist/components/RowDataTable/RowDataTable.d.ts +13 -0
- package/dist/components/RowDataTable/RowDataTable.d.ts.map +1 -1
- package/dist/components/RowDataTable/RowDataTable.js +25 -8
- package/dist/components/RowDataTable/RowDataTable.js.map +1 -1
- package/dist/components/RssFeedCards/RssFeedCards.js +1 -1
- package/dist/components/RssFeedCards/RssFeedCards.js.map +1 -1
- package/dist/components/SchemaDrivenAnnotationEditor/field/AdditionalPropertiesSchemaField.d.ts.map +1 -1
- package/dist/components/SchemaDrivenAnnotationEditor/field/AdditionalPropertiesSchemaField.js +2 -2
- package/dist/components/SchemaDrivenAnnotationEditor/field/AdditionalPropertiesSchemaField.js.map +1 -1
- package/dist/components/SchemaDrivenAnnotationEditor/template/ObjectFieldTemplate.js +1 -1
- package/dist/components/SchemaDrivenAnnotationEditor/template/ObjectFieldTemplate.js.map +1 -1
- package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.d.ts +17 -9
- package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.d.ts.map +1 -1
- package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.js +39 -30
- package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.js.map +1 -1
- package/dist/components/SetAccessRequirementCommonFields/SetAccessRequirementCommonFields.js +24 -24
- package/dist/components/SetAccessRequirementCommonFields/SetAccessRequirementCommonFields.js.map +1 -1
- package/dist/components/StandaloneQueryWrapper/StandaloneQueryWrapper.js +8 -8
- package/dist/components/SynapseChat/SynapseChatMessage.js +1 -1
- package/dist/components/SynapseChat/SynapseChatMessage.js.map +1 -1
- package/dist/components/SynapseForm/NavButtons.js.map +1 -1
- package/dist/components/SynapseForm/StepsSideNav.js.map +1 -1
- package/dist/components/SynapseSearchPageResults/HighlightedTypography.js +1 -1
- package/dist/components/SynapseSearchPageResults/HighlightedTypography.js.map +1 -1
- package/dist/components/SynapseSearchPageResults/SearchFacetPanel/SearchFacetPanelUtils.d.ts.map +1 -1
- package/dist/components/SynapseSearchPageResults/SearchFacetPanel/SearchFacetPanelUtils.js +3 -3
- package/dist/components/SynapseSearchPageResults/SearchFacetPanel/SearchFacetPanelUtils.js.map +1 -1
- package/dist/components/SynapseTable/RowSelection/RowSelectionControls.d.ts.map +1 -1
- package/dist/components/SynapseTable/RowSelection/RowSelectionControls.js +38 -44
- package/dist/components/SynapseTable/RowSelection/RowSelectionControls.js.map +1 -1
- package/dist/components/SynapseTable/RowSelection/RowSelectionUI.js +4 -4
- package/dist/components/SynapseTable/SqlEditor.js +7 -7
- package/dist/components/SynapseTable/SynapseTable.js +8 -8
- package/dist/components/SynapseTable/SynapseTable.js.map +1 -1
- package/dist/components/SynapseTable/SynapseTableRenderers.d.ts.map +1 -1
- package/dist/components/SynapseTable/SynapseTableRenderers.js +73 -72
- package/dist/components/SynapseTable/SynapseTableRenderers.js.map +1 -1
- package/dist/components/SynapseTable/SynapseTableUtils.js +1 -1
- package/dist/components/SynapseTable/SynapseTableUtils.js.map +1 -1
- package/dist/components/SynapseTable/TopLevelControls/TopLevelControls.d.ts.map +1 -1
- package/dist/components/SynapseTable/TopLevelControls/TopLevelControls.js +44 -45
- package/dist/components/SynapseTable/TopLevelControls/TopLevelControls.js.map +1 -1
- package/dist/components/SynapseTable/datasets/DatasetEditorVersionCell.js +1 -1
- package/dist/components/SynapseTable/datasets/DatasetEditorVersionCell.js.map +1 -1
- package/dist/components/SynapseTable/datasets/DatasetItemsEditor.d.ts.map +1 -1
- package/dist/components/SynapseTable/datasets/DatasetItemsEditor.js +142 -142
- package/dist/components/SynapseTable/datasets/DatasetItemsEditor.js.map +1 -1
- package/dist/components/SynapseTable/export/ExportToAnalysisPlatformDialog.js +4 -4
- package/dist/components/SynapseTable/export/ExternalPlatformActionsRequiredPrecheck.js +12 -12
- package/dist/components/SynapseTable/export/ExternalPlatformActionsRequiredPrecheck.js.map +1 -1
- package/dist/components/SynapseTable/table-top/ColumnSelection.js +6 -6
- package/dist/components/SynapseTable/table-top/DownloadOptions.d.ts +0 -1
- package/dist/components/SynapseTable/table-top/DownloadOptions.d.ts.map +1 -1
- package/dist/components/SynapseTable/table-top/DownloadOptions.js +64 -57
- package/dist/components/SynapseTable/table-top/DownloadOptions.js.map +1 -1
- package/dist/components/SynapseTable/usePrefetchTableData.d.ts.map +1 -1
- package/dist/components/SynapseTable/usePrefetchTableData.js +3 -3
- package/dist/components/SynapseTable/usePrefetchTableData.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/ColumnModelForm.js +1 -1
- package/dist/components/TableColumnSchemaEditor/ColumnModelForm.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorTestUtils.js +1 -1
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorTestUtils.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorUtils.js +2 -2
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorUtils.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaForm.js +60 -60
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaForm.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/Validators/DatetimeSchema.js +1 -1
- package/dist/components/TableColumnSchemaEditor/Validators/DatetimeSchema.js.map +1 -1
- package/dist/components/TanStackTable/ColumnHeaderEnumFilter.js +1 -1
- package/dist/components/TanStackTable/ColumnHeaderEnumFilter.js.map +1 -1
- package/dist/components/TanStackTable/StyledTanStackTable.d.ts.map +1 -1
- package/dist/components/TanStackTable/StyledTanStackTable.js +1 -4
- package/dist/components/TanStackTable/StyledTanStackTable.js.map +1 -1
- package/dist/components/TermsAndConditions/TermsAndConditions.js.map +1 -1
- package/dist/components/TotalQueryResults.js +14 -14
- package/dist/components/Webhook/WebhookDashboard.d.ts.map +1 -1
- package/dist/components/Webhook/WebhookDashboard.js +2 -2
- package/dist/components/Webhook/WebhookDashboard.js.map +1 -1
- package/dist/components/download_list/DownloadConfirmationUtils.d.ts +5 -1
- package/dist/components/download_list/DownloadConfirmationUtils.d.ts.map +1 -1
- package/dist/components/download_list/DownloadConfirmationUtils.js +2 -2
- package/dist/components/download_list/DownloadConfirmationUtils.js.map +1 -1
- package/dist/components/error/ErrorBanner.d.ts.map +1 -1
- package/dist/components/error/ErrorBanner.js +49 -46
- package/dist/components/error/ErrorBanner.js.map +1 -1
- package/dist/components/file/upload/MultiFileUploadProgress.js +5 -5
- package/dist/components/row_renderers/Dataset.d.ts.map +1 -1
- package/dist/components/row_renderers/Dataset.js +6 -6
- package/dist/components/row_renderers/Dataset.js.map +1 -1
- package/dist/components/row_renderers/Funder.js +1 -1
- package/dist/components/row_renderers/Funder.js.map +1 -1
- package/dist/components/widgets/ElementWithTooltip.d.ts +6 -1
- package/dist/components/widgets/ElementWithTooltip.d.ts.map +1 -1
- package/dist/components/widgets/ElementWithTooltip.js +22 -14
- package/dist/components/widgets/ElementWithTooltip.js.map +1 -1
- package/dist/components/widgets/RangeSlider/RangeSlider.d.ts.map +1 -1
- package/dist/components/widgets/RangeSlider/RangeSlider.js +1 -1
- package/dist/components/widgets/RangeSlider/RangeSlider.js.map +1 -1
- package/dist/components/widgets/SynapseImage.js +1 -1
- package/dist/components/widgets/SynapseImage.js.map +1 -1
- package/dist/components/widgets/facet-nav/FacetNavPanel.d.ts +16 -5
- package/dist/components/widgets/facet-nav/FacetNavPanel.d.ts.map +1 -1
- package/dist/components/widgets/facet-nav/FacetNavPanel.js +115 -102
- package/dist/components/widgets/facet-nav/FacetNavPanel.js.map +1 -1
- package/dist/components/widgets/facet-nav/FacetPlotLegendList.d.ts.map +1 -1
- package/dist/components/widgets/facet-nav/FacetPlotLegendList.js +4 -2
- package/dist/components/widgets/facet-nav/FacetPlotLegendList.js.map +1 -1
- package/dist/components/widgets/facet-nav/FacetPlotLegendTable.js +1 -1
- package/dist/components/widgets/facet-nav/FacetPlotLegendTable.js.map +1 -1
- package/dist/components/widgets/facet-nav/FacetPlotLegendUtils.d.ts +2 -0
- package/dist/components/widgets/facet-nav/FacetPlotLegendUtils.d.ts.map +1 -1
- package/dist/components/widgets/facet-nav/FacetPlotLegendUtils.js.map +1 -1
- package/dist/components/widgets/facet-nav/PlotsContainer.d.ts +7 -0
- package/dist/components/widgets/facet-nav/PlotsContainer.d.ts.map +1 -1
- package/dist/components/widgets/facet-nav/PlotsContainer.js +47 -45
- package/dist/components/widgets/facet-nav/PlotsContainer.js.map +1 -1
- package/dist/components/widgets/facet-nav/SelectionCriteriaPills.js +4 -4
- package/dist/components/widgets/facet-nav/useFacetPlots.d.ts +3 -2
- package/dist/components/widgets/facet-nav/useFacetPlots.d.ts.map +1 -1
- package/dist/components/widgets/facet-nav/useFacetPlots.js +16 -15
- package/dist/components/widgets/facet-nav/useFacetPlots.js.map +1 -1
- package/dist/components/widgets/query-filter/CombinedRangeFacetFilter.js +4 -4
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilter.d.ts +2 -2
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilter.d.ts.map +1 -1
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilter.js +62 -60
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilter.js.map +1 -1
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterOption.d.ts +2 -0
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterOption.d.ts.map +1 -1
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterOption.js +10 -10
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterOption.js.map +1 -1
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUI.d.ts +1 -0
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUI.d.ts.map +1 -1
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUI.js +2 -1
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUI.js.map +1 -1
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUtils.d.ts +3 -2
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUtils.d.ts.map +1 -1
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUtils.js.map +1 -1
- package/dist/components/widgets/query-filter/FacetFilterControls.d.ts +3 -2
- package/dist/components/widgets/query-filter/FacetFilterControls.d.ts.map +1 -1
- package/dist/components/widgets/query-filter/FacetFilterControls.js +63 -62
- package/dist/components/widgets/query-filter/FacetFilterControls.js.map +1 -1
- package/dist/components/widgets/query-filter/JsonColumnFacetFilters.d.ts.map +1 -1
- package/dist/components/widgets/query-filter/JsonColumnFacetFilters.js +30 -29
- package/dist/components/widgets/query-filter/JsonColumnFacetFilters.js.map +1 -1
- package/dist/components/widgets/query-filter/RangeFacetFilter.js +5 -5
- package/dist/mocks/cohortBuilder/cohortBuilderMockProfiles.d.ts +53 -0
- package/dist/mocks/cohortBuilder/cohortBuilderMockProfiles.d.ts.map +1 -0
- package/dist/mocks/cohortBuilder/cohortBuilderMockProfiles.js +391 -0
- package/dist/mocks/cohortBuilder/cohortBuilderMockProfiles.js.map +1 -0
- package/dist/mocks/cohortBuilder/cohortBuilderMockQueryEngine.d.ts +41 -0
- package/dist/mocks/cohortBuilder/cohortBuilderMockQueryEngine.d.ts.map +1 -0
- package/dist/mocks/cohortBuilder/cohortBuilderMockQueryEngine.js +379 -0
- package/dist/mocks/cohortBuilder/cohortBuilderMockQueryEngine.js.map +1 -0
- package/dist/mocks/cohortBuilder/cohortBuilderSyntheticData.d.ts +26 -0
- package/dist/mocks/cohortBuilder/cohortBuilderSyntheticData.d.ts.map +1 -0
- package/dist/mocks/cohortBuilder/cohortBuilderSyntheticData.js +112 -0
- package/dist/mocks/cohortBuilder/cohortBuilderSyntheticData.js.map +1 -0
- package/dist/mocks/mockAnnotationColumns.d.ts.map +1 -1
- package/dist/mocks/mockAnnotationColumns.js +1 -1
- package/dist/mocks/mockAnnotationColumns.js.map +1 -1
- package/dist/mocks/msw/handlers/aridhiaHandlers.d.ts +9 -0
- package/dist/mocks/msw/handlers/aridhiaHandlers.d.ts.map +1 -1
- package/dist/mocks/msw/handlers/aridhiaHandlers.js +24 -15
- package/dist/mocks/msw/handlers/aridhiaHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/asyncJobHandlers.d.ts +21 -2
- package/dist/mocks/msw/handlers/asyncJobHandlers.d.ts.map +1 -1
- package/dist/mocks/msw/handlers/asyncJobHandlers.js +30 -22
- package/dist/mocks/msw/handlers/asyncJobHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/cohortBuilderHandlers.d.ts +27 -0
- package/dist/mocks/msw/handlers/cohortBuilderHandlers.d.ts.map +1 -0
- package/dist/mocks/msw/handlers/cohortBuilderHandlers.js +158 -0
- package/dist/mocks/msw/handlers/cohortBuilderHandlers.js.map +1 -0
- package/dist/mocks/msw/handlers/subscriptionHandlers.js +1 -1
- package/dist/mocks/msw/handlers/subscriptionHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/userProfileHandlers.d.ts.map +1 -1
- package/dist/mocks/msw/handlers/userProfileHandlers.js +2 -2
- package/dist/mocks/msw/handlers/userProfileHandlers.js.map +1 -1
- package/dist/mocks/query/mockColumnCategoryTable.d.ts +19 -0
- package/dist/mocks/query/mockColumnCategoryTable.d.ts.map +1 -0
- package/dist/mocks/query/mockColumnCategoryTable.js +188 -0
- package/dist/mocks/query/mockColumnCategoryTable.js.map +1 -0
- package/dist/stories/ColorPaletteInspector.d.ts.map +1 -1
- package/dist/stories/ColorPaletteInspector.js +2 -2
- package/dist/stories/ColorPaletteInspector.js.map +1 -1
- package/dist/style/components/facet_nav/_facet-nav-panel.scss +8 -0
- package/dist/style/main.css +1 -1
- package/dist/synapse-queries/auth/useOIDC.js +2 -2
- package/dist/synapse-queries/auth/useOIDC.js.map +1 -1
- package/dist/synapse-queries/auth/useUnbindOAuthProviderIdentity.js +2 -2
- package/dist/synapse-queries/auth/useUnbindOAuthProviderIdentity.js.map +1 -1
- package/dist/synapse-queries/challenge/useChallenge.js +2 -2
- package/dist/synapse-queries/challenge/useChallenge.js.map +1 -1
- package/dist/synapse-queries/chat/useChat.js +8 -8
- package/dist/synapse-queries/chat/useChat.js.map +1 -1
- package/dist/synapse-queries/curation/task/useCurationTask.js +10 -10
- package/dist/synapse-queries/curation/task/useCurationTask.js.map +1 -1
- package/dist/synapse-queries/dataaccess/useAccessRequirements.js +24 -24
- package/dist/synapse-queries/dataaccess/useAccessRequirements.js.map +1 -1
- package/dist/synapse-queries/dataaccess/useDataAccessSubmission.js +4 -4
- package/dist/synapse-queries/dataaccess/useDataAccessSubmission.js.map +1 -1
- package/dist/synapse-queries/dataaccess/useEDuc.js +6 -6
- package/dist/synapse-queries/dataaccess/useEDuc.js.map +1 -1
- package/dist/synapse-queries/dataaccess/useFormTemplate.js +4 -4
- package/dist/synapse-queries/dataaccess/useFormTemplate.js.map +1 -1
- package/dist/synapse-queries/download/index.js +2 -2
- package/dist/synapse-queries/download/useDownloadList.d.ts +5 -0
- package/dist/synapse-queries/download/useDownloadList.d.ts.map +1 -1
- package/dist/synapse-queries/download/useDownloadList.js +14 -13
- package/dist/synapse-queries/download/useDownloadList.js.map +1 -1
- package/dist/synapse-queries/entity/useEntity.d.ts.map +1 -1
- package/dist/synapse-queries/entity/useEntity.js +20 -20
- package/dist/synapse-queries/entity/useEntity.js.map +1 -1
- package/dist/synapse-queries/entity/useExportToADWorkbench.d.ts.map +1 -1
- package/dist/synapse-queries/entity/useExportToADWorkbench.js +2 -1
- package/dist/synapse-queries/entity/useExportToADWorkbench.js.map +1 -1
- package/dist/synapse-queries/entity/useExportToCavatica.d.ts.map +1 -1
- package/dist/synapse-queries/entity/useExportToCavatica.js +3 -2
- package/dist/synapse-queries/entity/useExportToCavatica.js.map +1 -1
- package/dist/synapse-queries/entity/useExportToPluto.d.ts.map +1 -1
- package/dist/synapse-queries/entity/useExportToPluto.js +2 -1
- package/dist/synapse-queries/entity/useExportToPluto.js.map +1 -1
- package/dist/synapse-queries/entity/useGetQueryResultBundle.d.ts.map +1 -1
- package/dist/synapse-queries/entity/useGetQueryResultBundle.js +4 -7
- package/dist/synapse-queries/entity/useGetQueryResultBundle.js.map +1 -1
- package/dist/synapse-queries/forum/useReply.js +6 -6
- package/dist/synapse-queries/forum/useReply.js.map +1 -1
- package/dist/synapse-queries/forum/useThread.js +14 -14
- package/dist/synapse-queries/forum/useThread.js.map +1 -1
- package/dist/synapse-queries/grid/useEstablishWebsocketConnection.js +1 -1
- package/dist/synapse-queries/grid/useEstablishWebsocketConnection.js.map +1 -1
- package/dist/synapse-queries/grid/useGridSession.js +4 -4
- package/dist/synapse-queries/grid/useGridSession.js.map +1 -1
- package/dist/synapse-queries/index.js +177 -176
- package/dist/synapse-queries/oauth/useOAuthClient.js +9 -9
- package/dist/synapse-queries/oauth/useOAuthClient.js.map +1 -1
- package/dist/synapse-queries/portal/usePortal.js +7 -7
- package/dist/synapse-queries/portal/usePortal.js.map +1 -1
- package/dist/synapse-queries/subscription/useSubscription.js +4 -4
- package/dist/synapse-queries/subscription/useSubscription.js.map +1 -1
- package/dist/synapse-queries/table/useTableUpdateTransaction.js +2 -2
- package/dist/synapse-queries/table/useTableUpdateTransaction.js.map +1 -1
- package/dist/synapse-queries/team/useTeam.js +2 -2
- package/dist/synapse-queries/team/useTeam.js.map +1 -1
- package/dist/synapse-queries/team/useTeamList.d.ts.map +1 -1
- package/dist/synapse-queries/team/useTeamList.js +3 -3
- package/dist/synapse-queries/team/useTeamList.js.map +1 -1
- package/dist/synapse-queries/team/useTeamMembers.js +8 -8
- package/dist/synapse-queries/team/useTeamMembers.js.map +1 -1
- package/dist/synapse-queries/termsOfService/useTermsOfService.js +2 -2
- package/dist/synapse-queries/termsOfService/useTermsOfService.js.map +1 -1
- package/dist/synapse-queries/trash/useTrashCan.js +4 -4
- package/dist/synapse-queries/trash/useTrashCan.js.map +1 -1
- package/dist/synapse-queries/user/useCertificationQuiz.js +2 -2
- package/dist/synapse-queries/user/useCertificationQuiz.js.map +1 -1
- package/dist/synapse-queries/user/useFavorites.js +4 -4
- package/dist/synapse-queries/user/useFavorites.js.map +1 -1
- package/dist/synapse-queries/user/useRevokeCertification.js +2 -2
- package/dist/synapse-queries/user/useRevokeCertification.js.map +1 -1
- package/dist/synapse-queries/wiki/useWiki.js +10 -10
- package/dist/synapse-queries/wiki/useWiki.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/utils/ContentTypeUtils.js +4 -4
- package/dist/utils/ContentTypeUtils.js.map +1 -1
- package/dist/utils/PermissionLevelToAccessType.js +1 -1
- package/dist/utils/PermissionLevelToAccessType.js.map +1 -1
- package/dist/utils/analytics/useGoogleAnalytics.js +1 -1
- package/dist/utils/analytics/useGoogleAnalytics.js.map +1 -1
- package/dist/utils/context/DocumentMetadataContext.js +1 -1
- package/dist/utils/context/DocumentMetadataContext.js.map +1 -1
- package/dist/utils/functions/AccessControlListUtils.d.ts.map +1 -1
- package/dist/utils/functions/AccessControlListUtils.js +3 -3
- package/dist/utils/functions/AccessControlListUtils.js.map +1 -1
- package/dist/utils/functions/ArrayUtils.js +2 -2
- package/dist/utils/functions/ArrayUtils.js.map +1 -1
- package/dist/utils/functions/FileHandleUtils.js +1 -1
- package/dist/utils/functions/FileHandleUtils.js.map +1 -1
- package/dist/utils/functions/RegularExpressions.js +1 -1
- package/dist/utils/functions/RegularExpressions.js.map +1 -1
- package/dist/utils/functions/StringUtils.d.ts.map +1 -1
- package/dist/utils/functions/StringUtils.js +1 -2
- package/dist/utils/functions/StringUtils.js.map +1 -1
- package/dist/utils/functions/deepLinkingUtils.js +2 -2
- package/dist/utils/functions/deepLinkingUtils.js.map +1 -1
- package/dist/utils/functions/enumerationFacet.d.ts +26 -0
- package/dist/utils/functions/enumerationFacet.d.ts.map +1 -0
- package/dist/utils/functions/enumerationFacet.js +27 -0
- package/dist/utils/functions/enumerationFacet.js.map +1 -0
- package/dist/utils/functions/facetCountUtils.d.ts +12 -0
- package/dist/utils/functions/facetCountUtils.d.ts.map +1 -0
- package/dist/utils/functions/facetCountUtils.js +9 -0
- package/dist/utils/functions/facetCountUtils.js.map +1 -0
- package/dist/utils/functions/getEndpoint.js.map +1 -1
- package/dist/utils/functions/getUserData.js +1 -1
- package/dist/utils/functions/getUserData.js.map +1 -1
- package/dist/utils/functions/queryUtils.d.ts +1 -1
- package/dist/utils/functions/queryUtils.d.ts.map +1 -1
- package/dist/utils/functions/queryUtils.js +26 -22
- package/dist/utils/functions/queryUtils.js.map +1 -1
- package/dist/utils/functions/testDownloadSpeed.d.ts.map +1 -1
- package/dist/utils/functions/testDownloadSpeed.js +17 -26
- package/dist/utils/functions/testDownloadSpeed.js.map +1 -1
- package/dist/utils/functions/unCamelCase.js +1 -1
- package/dist/utils/functions/unCamelCase.js.map +1 -1
- package/dist/utils/hooks/useGetInfoFromIds.js +5 -5
- package/dist/utils/hooks/useGetInfoFromIds.js.map +1 -1
- package/dist/utils/hooks/useImmutableTableQuery/TableQueryReducerActions.js +1 -1
- package/dist/utils/hooks/useImmutableTableQuery/TableQueryReducerActions.js.map +1 -1
- package/dist/utils/hooks/useLogin.d.ts.map +1 -1
- package/dist/utils/hooks/useLogin.js +5 -5
- package/dist/utils/hooks/useLogin.js.map +1 -1
- package/dist/utils/hooks/useUploadFileEntity/useCreateFolderPath.js.map +1 -1
- package/dist/utils/jsonschema/collectTopLevelProperties.d.ts +6 -0
- package/dist/utils/jsonschema/collectTopLevelProperties.d.ts.map +1 -1
- package/dist/utils/jsonschema/collectTopLevelProperties.js +1 -1
- package/dist/utils/jsonschema/collectTopLevelProperties.js.map +1 -1
- package/dist/utils/jsonschema/getNumberOrEnumInfo.d.ts +22 -0
- package/dist/utils/jsonschema/getNumberOrEnumInfo.d.ts.map +1 -0
- package/dist/utils/jsonschema/getNumberOrEnumInfo.js +39 -0
- package/dist/utils/jsonschema/getNumberOrEnumInfo.js.map +1 -0
- package/dist/utils/jsonschema/getOnlyNonNullOneOfOption.d.ts +1 -0
- package/dist/utils/jsonschema/getOnlyNonNullOneOfOption.d.ts.map +1 -1
- package/dist/utils/jsonschema/getOnlyNonNullOneOfOption.js +1 -1
- package/dist/utils/jsonschema/getOnlyNonNullOneOfOption.js.map +1 -1
- package/dist/utils/jsonschema/getSchemaPropertyInfo.d.ts +5 -0
- package/dist/utils/jsonschema/getSchemaPropertyInfo.d.ts.map +1 -1
- package/dist/utils/jsonschema/getSchemaPropertyInfo.js +30 -15
- package/dist/utils/jsonschema/getSchemaPropertyInfo.js.map +1 -1
- package/dist/utils/jsonschema/submissionContext.js +2 -2
- package/dist/utils/jsonschema/submissionContext.js.map +1 -1
- package/package.json +6 -6
|
@@ -1,85 +1,86 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { useQueryVisualizationContext as e } from "../../QueryVisualizationWrapper/QueryVisualizationContext.js";
|
|
2
|
+
import { getEnumerationFacet as t } from "../../../utils/functions/enumerationFacet.js";
|
|
3
|
+
import { facetObjectMatchesDefinition as n, getCorrespondingColumnForFacet as r, isSingleNotSetValue as i } from "../../../utils/functions/queryUtils.js";
|
|
4
|
+
import { useQueryContext as a } from "../../QueryContext/QueryContext.js";
|
|
3
5
|
import "../../QueryContext/index.js";
|
|
4
|
-
import { useSuspenseGetQueryMetadata as
|
|
5
|
-
import { useQueryVisualizationContext as a } from "../../QueryVisualizationWrapper/QueryVisualizationContext.js";
|
|
6
|
+
import { useSuspenseGetQueryMetadata as o } from "../../QueryWrapper/useGetQueryMetadata.js";
|
|
6
7
|
import "../../QueryVisualizationWrapper/index.js";
|
|
7
|
-
import { FacetFilterHeader as
|
|
8
|
-
import { FacetFilterControlsSkeleton as
|
|
9
|
-
import { EnumFacetFilter as
|
|
10
|
-
import { CombinedRangeFacetFilter as
|
|
11
|
-
import { FacetChip as
|
|
12
|
-
import { getDefaultShownFacetFilters as
|
|
13
|
-
import { RangeFacetFilter as
|
|
14
|
-
import
|
|
15
|
-
import { Suspense as
|
|
16
|
-
import { groupBy as
|
|
17
|
-
import { jsx as
|
|
18
|
-
import { useDeepCompareEffectNoCheck as
|
|
8
|
+
import { FacetFilterHeader as s } from "./FacetFilterHeader.js";
|
|
9
|
+
import { FacetFilterControlsSkeleton as c } from "./FacetFilterSkeleton.js";
|
|
10
|
+
import { EnumFacetFilter as l } from "./EnumFacetFilter/EnumFacetFilter.js";
|
|
11
|
+
import { CombinedRangeFacetFilter as u } from "./CombinedRangeFacetFilter.js";
|
|
12
|
+
import { FacetChip as d } from "./FacetChip.js";
|
|
13
|
+
import { getDefaultShownFacetFilters as f } from "./FacetFilterUtils.js";
|
|
14
|
+
import { RangeFacetFilter as p } from "./RangeFacetFilter.js";
|
|
15
|
+
import m from "./JsonColumnFacetFilters.js";
|
|
16
|
+
import { Suspense as h, useCallback as g, useMemo as _, useState as v } from "react";
|
|
17
|
+
import { groupBy as y, noop as b, sortBy as x, union as S } from "lodash-es";
|
|
18
|
+
import { jsx as C, jsxs as w } from "react/jsx-runtime";
|
|
19
|
+
import { useDeepCompareEffectNoCheck as T } from "use-deep-compare-effect";
|
|
19
20
|
//#region src/components/widgets/query-filter/FacetFilterControls.tsx
|
|
20
|
-
var
|
|
21
|
+
var E = (e) => ({
|
|
21
22
|
concreteType: "org.sagebionetworks.repo.model.table.FacetColumnValuesRequest",
|
|
22
23
|
columnName: e.columnName,
|
|
23
24
|
facetValues: e.facetValues.filter((e) => e.isSelected).map((e) => e.value)
|
|
24
|
-
}),
|
|
25
|
-
let r =
|
|
26
|
-
return r > -1 ? i || a ?
|
|
25
|
+
}), D = (e, t = []) => {
|
|
26
|
+
let r = t.findIndex((t) => n(t, e)), i = e.concreteType === "org.sagebionetworks.repo.model.table.FacetColumnValuesRequest" && !e.facetValues?.length, a = e.concreteType === "org.sagebionetworks.repo.model.table.FacetColumnRangeRequest" && (!e.min || !e.max);
|
|
27
|
+
return r > -1 ? i || a ? t.splice(r, 1) : t[r] = e : t.push(e), t;
|
|
27
28
|
};
|
|
28
|
-
function
|
|
29
|
+
function O(e, t, n, r, i = !1) {
|
|
29
30
|
r ? t.facetValues.forEach((e) => {
|
|
30
31
|
e.value === r && (e.isSelected = i);
|
|
31
32
|
}) : t.facetValues.forEach((e) => {
|
|
32
33
|
e.isSelected = !1;
|
|
33
|
-
}), n(E(
|
|
34
|
+
}), n(D(E(t), e?.query?.selectedFacets));
|
|
34
35
|
}
|
|
35
|
-
function
|
|
36
|
-
let { availableFacets:
|
|
36
|
+
function k(n) {
|
|
37
|
+
let { availableFacets: c, initialExpandedFacetControls: h } = n, { getCurrentQueryRequest: E, combineRangeFacetConfig: D } = a(), { getColumnDisplayName: O } = e(), k = _(() => E(), [E]), { data: A } = o(), j = A.facets.filter((e) => c == null || c.includes(e.columnName)).filter((e) => e.jsonPath == null).filter((e) => D == null || D.maxFacetColumn !== e.columnName && D.minFacetColumn !== e.columnName).filter((e) => !i(e)), M = D ? A.facets.filter((e) => D.maxFacetColumn === e.columnName || D.minFacetColumn === e.columnName) : [], N = y(A.facets.filter((e) => !!e.jsonPath), "columnName"), P = _(() => {
|
|
37
38
|
let e = [];
|
|
38
|
-
return
|
|
39
|
+
return j.forEach((t) => e.push(t.columnName)), D && e.push(D.label), N && Object.keys(N).forEach((t) => e.push(t)), e;
|
|
39
40
|
}, [
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
]), [
|
|
44
|
-
|
|
45
|
-
let e =
|
|
46
|
-
|
|
47
|
-
}, [
|
|
48
|
-
let
|
|
49
|
-
let t = new Set(
|
|
50
|
-
t.has(e) ? t.delete(e) : t.add(e),
|
|
51
|
-
}, [
|
|
52
|
-
return /* @__PURE__ */
|
|
41
|
+
D,
|
|
42
|
+
j,
|
|
43
|
+
N
|
|
44
|
+
]), [F, I] = v(f(P, k.query.selectedFacets));
|
|
45
|
+
T(() => {
|
|
46
|
+
let e = S(h ?? [], Array.from(F));
|
|
47
|
+
I(f(P, k.query.selectedFacets, e));
|
|
48
|
+
}, [j]);
|
|
49
|
+
let L = A.columnModels, R = g((e) => {
|
|
50
|
+
let t = new Set(F);
|
|
51
|
+
t.has(e) ? t.delete(e) : t.add(e), I(t);
|
|
52
|
+
}, [F]), z = D ? L?.find((e) => e.name === D.minFacetColumn)?.columnType : void 0, B = _(() => (j ?? []).filter((e) => F.has(e.columnName)), [F, j]), V = _(() => Object.entries(N).filter(([e]) => F.has(e)), [F, N]);
|
|
53
|
+
return /* @__PURE__ */ w("div", {
|
|
53
54
|
className: "FacetFilterControls",
|
|
54
55
|
children: [
|
|
55
|
-
/* @__PURE__ */
|
|
56
|
+
/* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C(s, {
|
|
56
57
|
label: "Available Filters",
|
|
57
58
|
hideCollapsible: !0,
|
|
58
59
|
isCollapsed: !1,
|
|
59
|
-
onClick:
|
|
60
|
-
}),
|
|
61
|
-
onClick: () =>
|
|
62
|
-
isChecked:
|
|
63
|
-
children:
|
|
60
|
+
onClick: b
|
|
61
|
+
}), x(P).map((e) => /* @__PURE__ */ C(d, {
|
|
62
|
+
onClick: () => R(e),
|
|
63
|
+
isChecked: F.has(e),
|
|
64
|
+
children: O(e)
|
|
64
65
|
}, e))] }),
|
|
65
|
-
|
|
66
|
-
facetResults:
|
|
67
|
-
label:
|
|
68
|
-
columnType:
|
|
66
|
+
D && M.length >= 2 && /* @__PURE__ */ C(u, {
|
|
67
|
+
facetResults: M,
|
|
68
|
+
label: D.label,
|
|
69
|
+
columnType: z
|
|
69
70
|
}),
|
|
70
|
-
|
|
71
|
-
let n =
|
|
72
|
-
return /* @__PURE__ */
|
|
71
|
+
B.map((e) => {
|
|
72
|
+
let n = r(e, L ?? []), i = t(e);
|
|
73
|
+
return /* @__PURE__ */ w("div", {
|
|
73
74
|
className: "FacetFilterControls__facet",
|
|
74
|
-
children: [
|
|
75
|
+
children: [i && n && /* @__PURE__ */ C(l, {
|
|
75
76
|
containerAs: "Collapsible",
|
|
76
|
-
facet:
|
|
77
|
-
}), e.facetType === "range" && n && /* @__PURE__ */
|
|
77
|
+
facet: i
|
|
78
|
+
}), e.facetType === "range" && n && /* @__PURE__ */ C(p, { facetResult: e })]
|
|
78
79
|
}, e.columnName);
|
|
79
80
|
}),
|
|
80
|
-
|
|
81
|
-
let n =
|
|
82
|
-
return n && /* @__PURE__ */
|
|
81
|
+
V.map(([e, t]) => {
|
|
82
|
+
let n = A?.columnModels?.find((t) => t.name === e);
|
|
83
|
+
return n && /* @__PURE__ */ C(m, {
|
|
83
84
|
columnModel: n,
|
|
84
85
|
facets: t
|
|
85
86
|
}, e);
|
|
@@ -87,13 +88,13 @@ function O(e) {
|
|
|
87
88
|
]
|
|
88
89
|
});
|
|
89
90
|
}
|
|
90
|
-
function
|
|
91
|
-
return /* @__PURE__ */
|
|
92
|
-
fallback: /* @__PURE__ */
|
|
93
|
-
children: /* @__PURE__ */
|
|
91
|
+
function A(e) {
|
|
92
|
+
return /* @__PURE__ */ C(h, {
|
|
93
|
+
fallback: /* @__PURE__ */ C(c, {}),
|
|
94
|
+
children: /* @__PURE__ */ C(k, { ...e })
|
|
94
95
|
});
|
|
95
96
|
}
|
|
96
97
|
//#endregion
|
|
97
|
-
export {
|
|
98
|
+
export { O as applyChangesToValuesColumn, A as default };
|
|
98
99
|
|
|
99
100
|
//# sourceMappingURL=FacetFilterControls.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FacetFilterControls.js","names":[],"sources":["../../../../src/components/widgets/query-filter/FacetFilterControls.tsx"],"sourcesContent":["import {\n facetObjectMatchesDefinition,\n getCorrespondingColumnForFacet,\n isSingleNotSetValue,\n} from '@/utils/functions/queryUtils'\nimport {\n FacetColumnRequest,\n FacetColumnResultRange,\n FacetColumnResultValues,\n FacetColumnValuesRequest,\n QueryBundleRequest,\n} from '@sage-bionetworks/synapse-types'\nimport { groupBy, noop, sortBy, union } from 'lodash-es'\nimport { Suspense, useCallback, useMemo, useState } from 'react'\nimport { useDeepCompareEffectNoCheck } from 'use-deep-compare-effect'\nimport { useQueryContext } from '../../QueryContext'\nimport { useQueryVisualizationContext } from '../../QueryVisualizationWrapper'\nimport { useSuspenseGetQueryMetadata } from '../../QueryWrapper/useGetQueryMetadata'\nimport { CombinedRangeFacetFilter } from './CombinedRangeFacetFilter'\nimport { EnumFacetFilter } from './EnumFacetFilter/EnumFacetFilter'\nimport { FacetChip } from './FacetChip'\nimport { FacetFilterHeader } from './FacetFilterHeader'\nimport { FacetFilterControlsSkeleton } from './FacetFilterSkeleton'\nimport { getDefaultShownFacetFilters } from './FacetFilterUtils'\nimport JsonColumnFacetFilters from './JsonColumnFacetFilters'\nimport { RangeFacetFilter } from './RangeFacetFilter'\n\nexport type FacetFilterControlsProps = {\n /* The set of faceted column names that should be shown in the Facet controls. If undefined, all faceted columns with\n at least one non-null value will be shown. */\n availableFacets?: string[]\n initialExpandedFacetControls?: string[]\n}\n\nconst convertFacetToFacetColumnValuesRequest = (\n facet: FacetColumnResultValues,\n): FacetColumnValuesRequest => ({\n concreteType: 'org.sagebionetworks.repo.model.table.FacetColumnValuesRequest',\n columnName: facet.columnName,\n facetValues: facet.facetValues\n .filter(facet => facet.isSelected)\n .map(facet => facet.value),\n})\n\nconst patchRequestFacets = (\n changedFacet: FacetColumnRequest,\n selections: FacetColumnRequest[] = [],\n): FacetColumnRequest[] => {\n const changedFacetIndex = selections.findIndex(facet =>\n facetObjectMatchesDefinition(facet, changedFacet),\n )\n const isEmptyValuesFacet =\n changedFacet.concreteType ===\n 'org.sagebionetworks.repo.model.table.FacetColumnValuesRequest' &&\n !changedFacet.facetValues?.length\n const isEmptyRangesFacet =\n changedFacet.concreteType ===\n 'org.sagebionetworks.repo.model.table.FacetColumnRangeRequest' &&\n (!changedFacet.min || !changedFacet.max)\n\n if (changedFacetIndex > -1) {\n if (isEmptyValuesFacet || isEmptyRangesFacet) {\n selections.splice(changedFacetIndex, 1)\n } else {\n selections[changedFacetIndex] = changedFacet\n }\n } else {\n selections.push(changedFacet)\n }\n return selections\n}\n\nexport function applyChangesToValuesColumn(\n lastRequest: QueryBundleRequest | undefined,\n facet: FacetColumnResultValues,\n onChangeFn: (result: FacetColumnRequest[]) => void,\n facetName?: string,\n checked: boolean = false,\n) {\n if (facetName) {\n facet.facetValues.forEach(facetValue => {\n if (facetValue.value === facetName) {\n facetValue.isSelected = checked\n }\n })\n } else {\n // else clear all\n facet.facetValues.forEach(facet => {\n facet.isSelected = false\n })\n }\n\n const changedFacet = convertFacetToFacetColumnValuesRequest(facet)\n const result = patchRequestFacets(\n changedFacet,\n lastRequest?.query?.selectedFacets,\n )\n onChangeFn(result)\n}\n\nfunction FacetFilterControls(props: FacetFilterControlsProps) {\n const { availableFacets, initialExpandedFacetControls } = props\n const { getCurrentQueryRequest, combineRangeFacetConfig } = useQueryContext()\n const { getColumnDisplayName } = useQueryVisualizationContext()\n const lastRequest = useMemo(\n () => getCurrentQueryRequest(),\n [getCurrentQueryRequest],\n )\n const { data: queryMetadata } = useSuspenseGetQueryMetadata()\n\n const facets = queryMetadata\n .facets!.filter(\n facet =>\n // If availableFacets is configured, remove those that don't match.\n availableFacets == null || availableFacets.includes(facet.columnName),\n )\n // Don't include json subcolumn facets, those will be handled separately\n .filter(facet => facet.jsonPath == null)\n .filter(\n facet =>\n // Don't show facets if included in the combine range facet config, handled separately\n combineRangeFacetConfig == null ||\n (combineRangeFacetConfig.maxFacetColumn !== facet.columnName &&\n combineRangeFacetConfig.minFacetColumn !== facet.columnName),\n )\n .filter(\n facet =>\n // Don't show facets where there are no values\n !isSingleNotSetValue(facet),\n )\n\n const combinedRangeFacets = combineRangeFacetConfig\n ? queryMetadata.facets!.filter(\n facet =>\n combineRangeFacetConfig.maxFacetColumn === facet.columnName ||\n combineRangeFacetConfig.minFacetColumn === facet.columnName,\n )\n : []\n\n // Group JSON facets by column name, so they can be grouped in the UI under their parent column name\n const jsonFacetsGroupedByColumn = groupBy(\n queryMetadata.facets!.filter(f => !!f.jsonPath),\n 'columnName',\n )\n\n const allFacetColumns: string[] = useMemo(() => {\n const allFacetColumns: string[] = []\n facets.forEach(facet => allFacetColumns.push(facet.columnName))\n if (combineRangeFacetConfig) {\n allFacetColumns.push(combineRangeFacetConfig.label)\n }\n if (jsonFacetsGroupedByColumn) {\n Object.keys(jsonFacetsGroupedByColumn).forEach(jsonColumn =>\n allFacetColumns.push(jsonColumn),\n )\n }\n return allFacetColumns\n }, [combineRangeFacetConfig, facets, jsonFacetsGroupedByColumn])\n\n // Controls which facet columns are shown/hidden by clicking on chips. NOTE: One column may have multiple facets (e.g. JSON subcolumn facets)\n const [facetColumnsShown, setFacetColumnsShown] = useState<Set<string>>(\n getDefaultShownFacetFilters(\n allFacetColumns,\n lastRequest.query.selectedFacets,\n ),\n )\n\n /**\n * When the data facets change, reset the initially-selected chips\n */\n useDeepCompareEffectNoCheck(() => {\n // Select the first three facet columns, plus any columns where a facet is already filtered,\n // (PORTALS-3513) plus the initially expanded filters and any filters that the user explicitly expanded\n const expandedFacets = union(\n initialExpandedFacetControls ?? [],\n Array.from(facetColumnsShown),\n )\n setFacetColumnsShown(\n getDefaultShownFacetFilters(\n allFacetColumns,\n lastRequest.query.selectedFacets,\n expandedFacets,\n ),\n )\n }, [facets])\n\n const columnModels = queryMetadata.columnModels\n\n const toggleShowFacetFilter = useCallback(\n (facetColumnName: string) => {\n const newFacetColumnsShown = new Set(facetColumnsShown)\n if (newFacetColumnsShown.has(facetColumnName)) {\n newFacetColumnsShown.delete(facetColumnName)\n } else {\n newFacetColumnsShown.add(facetColumnName)\n }\n setFacetColumnsShown(newFacetColumnsShown)\n },\n [facetColumnsShown],\n )\n const combinedRangeFacetsColumnModelType = combineRangeFacetConfig\n ? columnModels?.find(\n model => model.name === combineRangeFacetConfig.minFacetColumn,\n )?.columnType\n : undefined\n\n const shownTopLevelFacets = useMemo(\n () =>\n (facets ?? []).filter(facet => facetColumnsShown.has(facet.columnName)),\n [facetColumnsShown, facets],\n )\n\n const shownJsonFacetGroups = useMemo(\n () =>\n Object.entries(jsonFacetsGroupedByColumn).filter(([columnName]) =>\n facetColumnsShown.has(columnName),\n ),\n [facetColumnsShown, jsonFacetsGroupedByColumn],\n )\n\n return (\n <div className={`FacetFilterControls`}>\n <div>\n <FacetFilterHeader\n label={'Available Filters'}\n hideCollapsible\n isCollapsed={false}\n onClick={noop}\n />\n {sortBy(allFacetColumns).map(columnName => {\n return (\n <FacetChip\n key={columnName}\n onClick={() => toggleShowFacetFilter(columnName)}\n isChecked={facetColumnsShown.has(columnName)}\n >\n {getColumnDisplayName(columnName)}\n </FacetChip>\n )\n })}\n </div>\n {combineRangeFacetConfig && combinedRangeFacets.length >= 2 && (\n <CombinedRangeFacetFilter\n facetResults={combinedRangeFacets as FacetColumnResultRange[]}\n label={combineRangeFacetConfig.label}\n columnType={combinedRangeFacetsColumnModelType!}\n />\n )}\n {shownTopLevelFacets.map(facet => {\n const columnModel = getCorrespondingColumnForFacet(\n facet,\n columnModels ?? [],\n )\n return (\n <div className=\"FacetFilterControls__facet\" key={facet.columnName}>\n {facet.facetType === 'enumeration' && columnModel && (\n <EnumFacetFilter containerAs=\"Collapsible\" facet={facet} />\n )}\n {facet.facetType === 'range' && columnModel && (\n <RangeFacetFilter facetResult={facet} />\n )}\n </div>\n )\n })}\n {shownJsonFacetGroups.map(([columnName, facets]) => {\n const columnModel = queryMetadata?.columnModels?.find(\n cm => cm.name === columnName,\n )\n return (\n columnModel && (\n <JsonColumnFacetFilters\n key={columnName}\n columnModel={columnModel}\n facets={facets}\n />\n )\n )\n })}\n </div>\n )\n}\n\nexport default function FacetFilterControlsWithSuspense(\n props: FacetFilterControlsProps,\n) {\n return (\n <Suspense fallback={<FacetFilterControlsSkeleton />}>\n <FacetFilterControls {...props} />\n </Suspense>\n )\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FacetFilterControls.js","names":[],"sources":["../../../../src/components/widgets/query-filter/FacetFilterControls.tsx"],"sourcesContent":["import {\n EnumerationFacet,\n getEnumerationFacet,\n} from '@/utils/functions/enumerationFacet'\nimport {\n facetObjectMatchesDefinition,\n getCorrespondingColumnForFacet,\n isSingleNotSetValue,\n} from '@/utils/functions/queryUtils'\nimport {\n FacetColumnRequest,\n FacetColumnResultRange,\n FacetColumnValuesRequest,\n QueryBundleRequest,\n} from '@sage-bionetworks/synapse-types'\nimport { groupBy, noop, sortBy, union } from 'lodash-es'\nimport { Suspense, useCallback, useMemo, useState } from 'react'\nimport { useDeepCompareEffectNoCheck } from 'use-deep-compare-effect'\nimport { useQueryContext } from '../../QueryContext'\nimport { useQueryVisualizationContext } from '../../QueryVisualizationWrapper'\nimport { useSuspenseGetQueryMetadata } from '../../QueryWrapper/useGetQueryMetadata'\nimport { CombinedRangeFacetFilter } from './CombinedRangeFacetFilter'\nimport { EnumFacetFilter } from './EnumFacetFilter/EnumFacetFilter'\nimport { FacetChip } from './FacetChip'\nimport { FacetFilterHeader } from './FacetFilterHeader'\nimport { FacetFilterControlsSkeleton } from './FacetFilterSkeleton'\nimport { getDefaultShownFacetFilters } from './FacetFilterUtils'\nimport JsonColumnFacetFilters from './JsonColumnFacetFilters'\nimport { RangeFacetFilter } from './RangeFacetFilter'\n\nexport type FacetFilterControlsProps = {\n /* The set of faceted column names that should be shown in the Facet controls. If undefined, all faceted columns with\n at least one non-null value will be shown. */\n availableFacets?: string[]\n initialExpandedFacetControls?: string[]\n}\n\nconst convertFacetToFacetColumnValuesRequest = (\n facet: EnumerationFacet,\n): FacetColumnValuesRequest => ({\n concreteType: 'org.sagebionetworks.repo.model.table.FacetColumnValuesRequest',\n columnName: facet.columnName,\n facetValues: facet.facetValues\n .filter(facet => facet.isSelected)\n .map(facet => facet.value),\n})\n\nconst patchRequestFacets = (\n changedFacet: FacetColumnRequest,\n selections: FacetColumnRequest[] = [],\n): FacetColumnRequest[] => {\n const changedFacetIndex = selections.findIndex(facet =>\n facetObjectMatchesDefinition(facet, changedFacet),\n )\n const isEmptyValuesFacet =\n changedFacet.concreteType ===\n 'org.sagebionetworks.repo.model.table.FacetColumnValuesRequest' &&\n !changedFacet.facetValues?.length\n const isEmptyRangesFacet =\n changedFacet.concreteType ===\n 'org.sagebionetworks.repo.model.table.FacetColumnRangeRequest' &&\n (!changedFacet.min || !changedFacet.max)\n\n if (changedFacetIndex > -1) {\n if (isEmptyValuesFacet || isEmptyRangesFacet) {\n selections.splice(changedFacetIndex, 1)\n } else {\n selections[changedFacetIndex] = changedFacet\n }\n } else {\n selections.push(changedFacet)\n }\n return selections\n}\n\nexport function applyChangesToValuesColumn(\n lastRequest: QueryBundleRequest | undefined,\n facet: EnumerationFacet,\n onChangeFn: (result: FacetColumnRequest[]) => void,\n facetName?: string,\n checked: boolean = false,\n) {\n if (facetName) {\n facet.facetValues.forEach(facetValue => {\n if (facetValue.value === facetName) {\n facetValue.isSelected = checked\n }\n })\n } else {\n // else clear all\n facet.facetValues.forEach(facet => {\n facet.isSelected = false\n })\n }\n\n const changedFacet = convertFacetToFacetColumnValuesRequest(facet)\n const result = patchRequestFacets(\n changedFacet,\n lastRequest?.query?.selectedFacets,\n )\n onChangeFn(result)\n}\n\nfunction FacetFilterControls(props: FacetFilterControlsProps) {\n const { availableFacets, initialExpandedFacetControls } = props\n const { getCurrentQueryRequest, combineRangeFacetConfig } = useQueryContext()\n const { getColumnDisplayName } = useQueryVisualizationContext()\n const lastRequest = useMemo(\n () => getCurrentQueryRequest(),\n [getCurrentQueryRequest],\n )\n const { data: queryMetadata } = useSuspenseGetQueryMetadata()\n\n const facets = queryMetadata\n .facets!.filter(\n facet =>\n // If availableFacets is configured, remove those that don't match.\n availableFacets == null || availableFacets.includes(facet.columnName),\n )\n // Don't include json subcolumn facets, those will be handled separately\n .filter(facet => facet.jsonPath == null)\n .filter(\n facet =>\n // Don't show facets if included in the combine range facet config, handled separately\n combineRangeFacetConfig == null ||\n (combineRangeFacetConfig.maxFacetColumn !== facet.columnName &&\n combineRangeFacetConfig.minFacetColumn !== facet.columnName),\n )\n .filter(\n facet =>\n // Don't show facets where there are no values\n !isSingleNotSetValue(facet),\n )\n\n const combinedRangeFacets = combineRangeFacetConfig\n ? queryMetadata.facets!.filter(\n facet =>\n combineRangeFacetConfig.maxFacetColumn === facet.columnName ||\n combineRangeFacetConfig.minFacetColumn === facet.columnName,\n )\n : []\n\n // Group JSON facets by column name, so they can be grouped in the UI under their parent column name\n const jsonFacetsGroupedByColumn = groupBy(\n queryMetadata.facets!.filter(f => !!f.jsonPath),\n 'columnName',\n )\n\n const allFacetColumns: string[] = useMemo(() => {\n const allFacetColumns: string[] = []\n facets.forEach(facet => allFacetColumns.push(facet.columnName))\n if (combineRangeFacetConfig) {\n allFacetColumns.push(combineRangeFacetConfig.label)\n }\n if (jsonFacetsGroupedByColumn) {\n Object.keys(jsonFacetsGroupedByColumn).forEach(jsonColumn =>\n allFacetColumns.push(jsonColumn),\n )\n }\n return allFacetColumns\n }, [combineRangeFacetConfig, facets, jsonFacetsGroupedByColumn])\n\n // Controls which facet columns are shown/hidden by clicking on chips. NOTE: One column may have multiple facets (e.g. JSON subcolumn facets)\n const [facetColumnsShown, setFacetColumnsShown] = useState<Set<string>>(\n getDefaultShownFacetFilters(\n allFacetColumns,\n lastRequest.query.selectedFacets,\n ),\n )\n\n /**\n * When the data facets change, reset the initially-selected chips\n */\n useDeepCompareEffectNoCheck(() => {\n // Select the first three facet columns, plus any columns where a facet is already filtered,\n // (PORTALS-3513) plus the initially expanded filters and any filters that the user explicitly expanded\n const expandedFacets = union(\n initialExpandedFacetControls ?? [],\n Array.from(facetColumnsShown),\n )\n setFacetColumnsShown(\n getDefaultShownFacetFilters(\n allFacetColumns,\n lastRequest.query.selectedFacets,\n expandedFacets,\n ),\n )\n }, [facets])\n\n const columnModels = queryMetadata.columnModels\n\n const toggleShowFacetFilter = useCallback(\n (facetColumnName: string) => {\n const newFacetColumnsShown = new Set(facetColumnsShown)\n if (newFacetColumnsShown.has(facetColumnName)) {\n newFacetColumnsShown.delete(facetColumnName)\n } else {\n newFacetColumnsShown.add(facetColumnName)\n }\n setFacetColumnsShown(newFacetColumnsShown)\n },\n [facetColumnsShown],\n )\n const combinedRangeFacetsColumnModelType = combineRangeFacetConfig\n ? columnModels?.find(\n model => model.name === combineRangeFacetConfig.minFacetColumn,\n )?.columnType\n : undefined\n\n const shownTopLevelFacets = useMemo(\n () =>\n (facets ?? []).filter(facet => facetColumnsShown.has(facet.columnName)),\n [facetColumnsShown, facets],\n )\n\n const shownJsonFacetGroups = useMemo(\n () =>\n Object.entries(jsonFacetsGroupedByColumn).filter(([columnName]) =>\n facetColumnsShown.has(columnName),\n ),\n [facetColumnsShown, jsonFacetsGroupedByColumn],\n )\n\n return (\n <div className={`FacetFilterControls`}>\n <div>\n <FacetFilterHeader\n label={'Available Filters'}\n hideCollapsible\n isCollapsed={false}\n onClick={noop}\n />\n {sortBy(allFacetColumns).map(columnName => {\n return (\n <FacetChip\n key={columnName}\n onClick={() => toggleShowFacetFilter(columnName)}\n isChecked={facetColumnsShown.has(columnName)}\n >\n {getColumnDisplayName(columnName)}\n </FacetChip>\n )\n })}\n </div>\n {combineRangeFacetConfig && combinedRangeFacets.length >= 2 && (\n <CombinedRangeFacetFilter\n facetResults={combinedRangeFacets as FacetColumnResultRange[]}\n label={combineRangeFacetConfig.label}\n columnType={combinedRangeFacetsColumnModelType!}\n />\n )}\n {shownTopLevelFacets.map(facet => {\n const columnModel = getCorrespondingColumnForFacet(\n facet,\n columnModels ?? [],\n )\n const enumerationFacet = getEnumerationFacet(facet)\n return (\n <div className=\"FacetFilterControls__facet\" key={facet.columnName}>\n {enumerationFacet && columnModel && (\n <EnumFacetFilter\n containerAs=\"Collapsible\"\n facet={enumerationFacet}\n />\n )}\n {facet.facetType === 'range' && columnModel && (\n <RangeFacetFilter facetResult={facet} />\n )}\n </div>\n )\n })}\n {shownJsonFacetGroups.map(([columnName, facets]) => {\n const columnModel = queryMetadata?.columnModels?.find(\n cm => cm.name === columnName,\n )\n return (\n columnModel && (\n <JsonColumnFacetFilters\n key={columnName}\n columnModel={columnModel}\n facets={facets}\n />\n )\n )\n })}\n </div>\n )\n}\n\nexport default function FacetFilterControlsWithSuspense(\n props: FacetFilterControlsProps,\n) {\n return (\n <Suspense fallback={<FacetFilterControlsSkeleton />}>\n <FacetFilterControls {...props} />\n </Suspense>\n )\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JsonColumnFacetFilters.d.ts","sourceRoot":"","sources":["../../../../src/components/widgets/query-filter/JsonColumnFacetFilters.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"JsonColumnFacetFilters.d.ts","sourceRoot":"","sources":["../../../../src/components/widgets/query-filter/JsonColumnFacetFilters.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AAQhF,MAAM,MAAM,2BAA2B,GAAG;IAExC,WAAW,EAAE,WAAW,CAAA;IAExB,MAAM,EAAE,iBAAiB,EAAE,CAAA;CAC5B,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAC5C,KAAK,EAAE,2BAA2B,2CAiEnC"}
|
|
@@ -1,30 +1,31 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { useQueryVisualizationContext as e } from "../../QueryVisualizationWrapper/QueryVisualizationContext.js";
|
|
2
|
+
import { getEnumerationFacet as t } from "../../../utils/functions/enumerationFacet.js";
|
|
3
|
+
import { getCorrespondingColumnForFacet as n } from "../../../utils/functions/queryUtils.js";
|
|
4
|
+
import { useSuspenseGetQueryMetadata as r } from "../../QueryWrapper/useGetQueryMetadata.js";
|
|
4
5
|
import "../../QueryVisualizationWrapper/index.js";
|
|
5
|
-
import { FacetFilterHeader as
|
|
6
|
-
import { EnumFacetFilter as
|
|
7
|
-
import { RangeFacetFilter as
|
|
8
|
-
import { useState as
|
|
9
|
-
import { Box as
|
|
10
|
-
import { Fragment as
|
|
6
|
+
import { FacetFilterHeader as i } from "./FacetFilterHeader.js";
|
|
7
|
+
import { EnumFacetFilter as a } from "./EnumFacetFilter/EnumFacetFilter.js";
|
|
8
|
+
import { RangeFacetFilter as o } from "./RangeFacetFilter.js";
|
|
9
|
+
import { useState as s } from "react";
|
|
10
|
+
import { Box as c, Collapse as l } from "@mui/material";
|
|
11
|
+
import { Fragment as u, jsx as d, jsxs as f } from "react/jsx-runtime";
|
|
11
12
|
//#region src/components/widgets/query-filter/JsonColumnFacetFilters.tsx
|
|
12
|
-
function
|
|
13
|
-
let { columnModel:
|
|
14
|
-
return
|
|
13
|
+
function p(p) {
|
|
14
|
+
let { columnModel: m, facets: h } = p, { getColumnDisplayName: g } = e(), { data: _ } = r(), [v, y] = s(!1);
|
|
15
|
+
return _.columnModels == null ? /* @__PURE__ */ d(u, {}) : m.jsonSubColumns ? /* @__PURE__ */ f(c, {
|
|
15
16
|
className: "FacetFilterControls__facet",
|
|
16
|
-
children: [/* @__PURE__ */
|
|
17
|
-
label:
|
|
18
|
-
isCollapsed:
|
|
19
|
-
onClick: (e) =>
|
|
20
|
-
}), /* @__PURE__ */
|
|
17
|
+
children: [/* @__PURE__ */ d(i, {
|
|
18
|
+
label: g(m.name),
|
|
19
|
+
isCollapsed: v,
|
|
20
|
+
onClick: (e) => y(e)
|
|
21
|
+
}), /* @__PURE__ */ d(l, {
|
|
21
22
|
className: "JsonColumnFacetFilters",
|
|
22
|
-
in: !
|
|
23
|
-
children: /* @__PURE__ */
|
|
23
|
+
in: !v,
|
|
24
|
+
children: /* @__PURE__ */ d(c, {
|
|
24
25
|
sx: { my: 2 },
|
|
25
|
-
children:
|
|
26
|
-
let
|
|
27
|
-
return /* @__PURE__ */
|
|
26
|
+
children: h.map((e) => {
|
|
27
|
+
let r = n(e, _.columnModels), i = t(e);
|
|
28
|
+
return /* @__PURE__ */ f(c, {
|
|
28
29
|
className: "FacetFilterControls__facet",
|
|
29
30
|
sx: {
|
|
30
31
|
my: 1.5,
|
|
@@ -32,21 +33,21 @@ function f(f) {
|
|
|
32
33
|
p: 2.5,
|
|
33
34
|
".FacetFilterHeader": { borderBottom: "none" }
|
|
34
35
|
},
|
|
35
|
-
children: [
|
|
36
|
+
children: [i && r && /* @__PURE__ */ d(a, {
|
|
36
37
|
containerAs: "Collapsible",
|
|
37
|
-
facet:
|
|
38
|
+
facet: i,
|
|
38
39
|
hideCollapsible: !0
|
|
39
|
-
}),
|
|
40
|
-
facetResult:
|
|
40
|
+
}), e.facetType === "range" && r && /* @__PURE__ */ d(o, {
|
|
41
|
+
facetResult: e,
|
|
41
42
|
hideCollapsible: !0
|
|
42
43
|
})]
|
|
43
|
-
},
|
|
44
|
+
}, e.jsonPath);
|
|
44
45
|
})
|
|
45
46
|
})
|
|
46
47
|
})]
|
|
47
|
-
}) : (console.warn("Supplied column model has no jsonSubColumns"), /* @__PURE__ */ u
|
|
48
|
+
}) : (console.warn("Supplied column model has no jsonSubColumns"), /* @__PURE__ */ d(u, {}));
|
|
48
49
|
}
|
|
49
50
|
//#endregion
|
|
50
|
-
export {
|
|
51
|
+
export { p as default };
|
|
51
52
|
|
|
52
53
|
//# sourceMappingURL=JsonColumnFacetFilters.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JsonColumnFacetFilters.js","names":[],"sources":["../../../../src/components/widgets/query-filter/JsonColumnFacetFilters.tsx"],"sourcesContent":["import { getCorrespondingColumnForFacet } from '@/utils/functions/queryUtils'\nimport { Box, Collapse } from '@mui/material'\nimport { ColumnModel, FacetColumnResult } from '@sage-bionetworks/synapse-types'\nimport { useState } from 'react'\nimport { useQueryVisualizationContext } from '../../QueryVisualizationWrapper'\nimport { useSuspenseGetQueryMetadata } from '../../QueryWrapper/useGetQueryMetadata'\nimport { EnumFacetFilter } from './EnumFacetFilter/EnumFacetFilter'\nimport { FacetFilterHeader } from './FacetFilterHeader'\nimport { RangeFacetFilter } from './RangeFacetFilter'\n\nexport type JsonColumnFacetFiltersProps = {\n /* The parent ColumnModel that contains the JSON Subcolumns to show in this panel */\n columnModel: ColumnModel\n /* The set of JSON Subcolumn FacetColumnResults that will be shown in this panel */\n facets: FacetColumnResult[]\n}\n\n/**\n * Renders a set of facet filters that are all derived from the same JSON Column.\n * @param props\n * @constructor\n */\nexport default function JsonColumnFacetFilters(\n props: JsonColumnFacetFiltersProps,\n) {\n const { columnModel, facets } = props\n const { getColumnDisplayName } = useQueryVisualizationContext()\n\n const { data: queryMetadata } = useSuspenseGetQueryMetadata()\n\n const [isCollapsed, setIsCollapsed] = useState<boolean>(false)\n\n if (queryMetadata.columnModels == undefined) {\n return <></>\n }\n if (!columnModel.jsonSubColumns) {\n console.warn('Supplied column model has no jsonSubColumns')\n return <></>\n }\n return (\n <Box className={'FacetFilterControls__facet'}>\n <FacetFilterHeader\n label={getColumnDisplayName(columnModel.name)}\n isCollapsed={isCollapsed}\n onClick={(isCollapsed: boolean) => setIsCollapsed(isCollapsed)}\n />\n <Collapse className=\"JsonColumnFacetFilters\" in={!isCollapsed}>\n <Box sx={{ my: 2 }}>\n {facets.map(jsonSubcolumnFacet => {\n const jsonSubColumnModel = getCorrespondingColumnForFacet(\n jsonSubcolumnFacet,\n queryMetadata.columnModels!,\n )\n return (\n <Box\n className=\"FacetFilterControls__facet\"\n key={jsonSubcolumnFacet.jsonPath}\n sx={{\n my: 1.5,\n backgroundColor: 'grey.100',\n p: 2.5,\n '.FacetFilterHeader': {\n borderBottom: 'none',\n },\n }}\n >\n {
|
|
1
|
+
{"version":3,"file":"JsonColumnFacetFilters.js","names":[],"sources":["../../../../src/components/widgets/query-filter/JsonColumnFacetFilters.tsx"],"sourcesContent":["import { getEnumerationFacet } from '@/utils/functions/enumerationFacet'\nimport { getCorrespondingColumnForFacet } from '@/utils/functions/queryUtils'\nimport { Box, Collapse } from '@mui/material'\nimport { ColumnModel, FacetColumnResult } from '@sage-bionetworks/synapse-types'\nimport { useState } from 'react'\nimport { useQueryVisualizationContext } from '../../QueryVisualizationWrapper'\nimport { useSuspenseGetQueryMetadata } from '../../QueryWrapper/useGetQueryMetadata'\nimport { EnumFacetFilter } from './EnumFacetFilter/EnumFacetFilter'\nimport { FacetFilterHeader } from './FacetFilterHeader'\nimport { RangeFacetFilter } from './RangeFacetFilter'\n\nexport type JsonColumnFacetFiltersProps = {\n /* The parent ColumnModel that contains the JSON Subcolumns to show in this panel */\n columnModel: ColumnModel\n /* The set of JSON Subcolumn FacetColumnResults that will be shown in this panel */\n facets: FacetColumnResult[]\n}\n\n/**\n * Renders a set of facet filters that are all derived from the same JSON Column.\n * @param props\n * @constructor\n */\nexport default function JsonColumnFacetFilters(\n props: JsonColumnFacetFiltersProps,\n) {\n const { columnModel, facets } = props\n const { getColumnDisplayName } = useQueryVisualizationContext()\n\n const { data: queryMetadata } = useSuspenseGetQueryMetadata()\n\n const [isCollapsed, setIsCollapsed] = useState<boolean>(false)\n\n if (queryMetadata.columnModels == undefined) {\n return <></>\n }\n if (!columnModel.jsonSubColumns) {\n console.warn('Supplied column model has no jsonSubColumns')\n return <></>\n }\n return (\n <Box className={'FacetFilterControls__facet'}>\n <FacetFilterHeader\n label={getColumnDisplayName(columnModel.name)}\n isCollapsed={isCollapsed}\n onClick={(isCollapsed: boolean) => setIsCollapsed(isCollapsed)}\n />\n <Collapse className=\"JsonColumnFacetFilters\" in={!isCollapsed}>\n <Box sx={{ my: 2 }}>\n {facets.map(jsonSubcolumnFacet => {\n const jsonSubColumnModel = getCorrespondingColumnForFacet(\n jsonSubcolumnFacet,\n queryMetadata.columnModels!,\n )\n const enumerationFacet = getEnumerationFacet(jsonSubcolumnFacet)\n return (\n <Box\n className=\"FacetFilterControls__facet\"\n key={jsonSubcolumnFacet.jsonPath}\n sx={{\n my: 1.5,\n backgroundColor: 'grey.100',\n p: 2.5,\n '.FacetFilterHeader': {\n borderBottom: 'none',\n },\n }}\n >\n {enumerationFacet && jsonSubColumnModel && (\n <EnumFacetFilter\n containerAs=\"Collapsible\"\n facet={enumerationFacet}\n hideCollapsible={true}\n />\n )}\n {jsonSubcolumnFacet.facetType === 'range' &&\n jsonSubColumnModel && (\n <RangeFacetFilter\n facetResult={jsonSubcolumnFacet}\n hideCollapsible={true}\n />\n )}\n </Box>\n )\n })}\n </Box>\n </Collapse>\n </Box>\n )\n}\n"],"mappings":";;;;;;;;;;;;AAuBA,SAAwB,EACtB,GACA;CACA,IAAM,EAAE,gBAAa,cAAW,GAC1B,EAAE,4BAAyB,EAA6B,GAExD,EAAE,MAAM,MAAkB,EAA4B,GAEtD,CAAC,GAAa,KAAkB,EAAkB,EAAK;CAS7D,OAPI,EAAc,gBAAgB,OACzB,kBAAA,GAAA,CAAI,CAAA,IAER,EAAY,iBAKf,kBAAC,GAAD;EAAK,WAAW;YAAhB,CACE,kBAAC,GAAD;GACE,OAAO,EAAqB,EAAY,IAAI;GAC/B;GACb,UAAU,MAAyB,EAAe,CAAW;EAC9D,CAAA,GACD,kBAAC,GAAD;GAAU,WAAU;GAAyB,IAAI,CAAC;aAChD,kBAAC,GAAD;IAAK,IAAI,EAAE,IAAI,EAAE;cACd,EAAO,KAAI,MAAsB;KAChC,IAAM,IAAqB,EACzB,GACA,EAAc,YAChB,GACM,IAAmB,EAAoB,CAAkB;KAC/D,OACE,kBAAC,GAAD;MACE,WAAU;MAEV,IAAI;OACF,IAAI;OACJ,iBAAiB;OACjB,GAAG;OACH,sBAAsB,EACpB,cAAc,OAChB;MACF;gBAVF,CAYG,KAAoB,KACnB,kBAAC,GAAD;OACE,aAAY;OACZ,OAAO;OACP,iBAAiB;MAClB,CAAA,GAEF,EAAmB,cAAc,WAChC,KACE,kBAAC,GAAD;OACE,aAAa;OACb,iBAAiB;MAClB,CAAA,CAEF;QAxBE,EAAmB,QAwBrB;IAET,CAAC;GACE,CAAA;EACG,CAAA,CACP;OAlDL,QAAQ,KAAK,6CAA6C,GACnD,kBAAA,GAAA,CAAI,CAAA;AAmDf"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { FRIENDLY_VALUE_NOT_SET as e, VALUE_NOT_SET as t } from "../../../utils/SynapseConstants.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { useQueryVisualizationContext as n } from "../../QueryVisualizationWrapper/QueryVisualizationContext.js";
|
|
3
|
+
import { getCorrespondingColumnForFacet as r } from "../../../utils/functions/queryUtils.js";
|
|
4
|
+
import { useQueryContext as i } from "../../QueryContext/QueryContext.js";
|
|
4
5
|
import "../../QueryContext/index.js";
|
|
5
|
-
import { useSuspenseGetQueryMetadata as
|
|
6
|
-
import { useQueryVisualizationContext as a } from "../../QueryVisualizationWrapper/QueryVisualizationContext.js";
|
|
6
|
+
import { useSuspenseGetQueryMetadata as a } from "../../QueryWrapper/useGetQueryMetadata.js";
|
|
7
7
|
import "../../QueryVisualizationWrapper/index.js";
|
|
8
8
|
import { RangeFacetFilterUI as o } from "./RangeFacetFilterUI.js";
|
|
9
9
|
import { useMemo as s } from "react";
|
|
@@ -27,7 +27,7 @@ var d = /* @__PURE__ */ function(e) {
|
|
|
27
27
|
}
|
|
28
28
|
];
|
|
29
29
|
function p(e) {
|
|
30
|
-
let { facetResult: d, hideCollapsible: f = !1 } = e, { setRangeFacetValue: p, removeSelectedFacet: m, getCurrentQueryRequest: h } =
|
|
30
|
+
let { facetResult: d, hideCollapsible: f = !1 } = e, { setRangeFacetValue: p, removeSelectedFacet: m, getCurrentQueryRequest: h } = i(), { data: g } = a(), _ = g.columnModels ? r(d, g.columnModels) : void 0, { getColumnDisplayName: v } = n(), y = s(() => h(), [h]);
|
|
31
31
|
return _ ? /* @__PURE__ */ u(o, {
|
|
32
32
|
label: v(d.columnName, d.jsonPath),
|
|
33
33
|
facetResult: d,
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { AggregateCountSuppressionStrategy } from '@sage-bionetworks/synapse-client/generated/models/AggregateCountSuppressionStrategy';
|
|
2
|
+
import { FacetPostProcessingConfig } from '@sage-bionetworks/synapse-client/generated/models/FacetPostProcessingConfig';
|
|
3
|
+
/**
|
|
4
|
+
* Best-guess Cohort Builder 2.0 source layout, expressed as the columns the two
|
|
5
|
+
* VirtualTables expose. The participant-perspective VT groups MATERIAL by
|
|
6
|
+
* participant; the data-perspective VT groups MATERIAL by file/dataset reference.
|
|
7
|
+
* Data attributes keep the same column name in both VTs (a STRING_LIST in the
|
|
8
|
+
* participant VT, a scalar in MATERIAL and the data VT) so one filter tree can be
|
|
9
|
+
* applied to both as a defining condition.
|
|
10
|
+
*/
|
|
11
|
+
/** Relative frequency of each value, used by the synthetic data generator. */
|
|
12
|
+
export type WeightedValues = Readonly<Record<string, number>>;
|
|
13
|
+
export type MockParticipantAttribute = {
|
|
14
|
+
name: string;
|
|
15
|
+
values: WeightedValues;
|
|
16
|
+
isQuasiIdentifier: boolean;
|
|
17
|
+
};
|
|
18
|
+
export type MockAssay = {
|
|
19
|
+
assay: string;
|
|
20
|
+
dataType: string;
|
|
21
|
+
fileFormats: readonly string[];
|
|
22
|
+
/** Portal-specific data attributes (e.g. specimenType, tissue) and their possible values. */
|
|
23
|
+
extraAttributes: Readonly<Record<string, readonly string[]>>;
|
|
24
|
+
};
|
|
25
|
+
export type MockStudy = {
|
|
26
|
+
name: string;
|
|
27
|
+
participantCount: number;
|
|
28
|
+
/** FILE studies map participants to individual files; DATASET studies map every participant to every study dataset. */
|
|
29
|
+
mapping: 'FILE' | 'DATASET';
|
|
30
|
+
assays: readonly MockAssay[];
|
|
31
|
+
};
|
|
32
|
+
export type CohortBuilderMockProfile = {
|
|
33
|
+
portalName: string;
|
|
34
|
+
participantIdPrefix: string;
|
|
35
|
+
participantsVirtualTableId: string;
|
|
36
|
+
dataVirtualTableId: string;
|
|
37
|
+
/** First synthetic entity ID assigned to a file or dataset reference. */
|
|
38
|
+
firstReferenceEntityId: number;
|
|
39
|
+
participantAttributes: readonly MockParticipantAttribute[];
|
|
40
|
+
extraDataAttributeNames: readonly string[];
|
|
41
|
+
studies: readonly MockStudy[];
|
|
42
|
+
suppressionThreshold: number;
|
|
43
|
+
countSuppressionStrategy: AggregateCountSuppressionStrategy;
|
|
44
|
+
facetPostProcessingConfig: FacetPostProcessingConfig;
|
|
45
|
+
};
|
|
46
|
+
export declare const PARTICIPANT_ID_COLUMN_NAME = "individualId";
|
|
47
|
+
export declare const STUDY_COLUMN_NAME = "study";
|
|
48
|
+
export declare const DATA_REFERENCE_COLUMN_NAME = "dataReference";
|
|
49
|
+
export declare const REFERENCE_TYPE_COLUMN_NAME = "referenceType";
|
|
50
|
+
export declare const CORE_DATA_ATTRIBUTE_NAMES: readonly ["dataType", "assay", "fileFormat"];
|
|
51
|
+
export declare const ELITE_MOCK_PROFILE: CohortBuilderMockProfile;
|
|
52
|
+
export declare const ADKP_MOCK_PROFILE: CohortBuilderMockProfile;
|
|
53
|
+
//# sourceMappingURL=cohortBuilderMockProfiles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cohortBuilderMockProfiles.d.ts","sourceRoot":"","sources":["../../../src/mocks/cohortBuilder/cohortBuilderMockProfiles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iCAAiC,EAAE,MAAM,qFAAqF,CAAA;AACvI,OAAO,EAAE,yBAAyB,EAAE,MAAM,6EAA6E,CAAA;AAEvH;;;;;;;GAOG;AAEH,8EAA8E;AAC9E,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;AAE7D,MAAM,MAAM,wBAAwB,GAAG;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,cAAc,CAAA;IACtB,iBAAiB,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,SAAS,MAAM,EAAE,CAAA;IAC9B,6FAA6F;IAC7F,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,CAAA;CAC7D,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,gBAAgB,EAAE,MAAM,CAAA;IACxB,uHAAuH;IACvH,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,MAAM,EAAE,SAAS,SAAS,EAAE,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,UAAU,EAAE,MAAM,CAAA;IAClB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,0BAA0B,EAAE,MAAM,CAAA;IAClC,kBAAkB,EAAE,MAAM,CAAA;IAC1B,yEAAyE;IACzE,sBAAsB,EAAE,MAAM,CAAA;IAC9B,qBAAqB,EAAE,SAAS,wBAAwB,EAAE,CAAA;IAC1D,uBAAuB,EAAE,SAAS,MAAM,EAAE,CAAA;IAC1C,OAAO,EAAE,SAAS,SAAS,EAAE,CAAA;IAC7B,oBAAoB,EAAE,MAAM,CAAA;IAC5B,wBAAwB,EAAE,iCAAiC,CAAA;IAC3D,yBAAyB,EAAE,yBAAyB,CAAA;CACrD,CAAA;AAED,eAAO,MAAM,0BAA0B,iBAAiB,CAAA;AACxD,eAAO,MAAM,iBAAiB,UAAU,CAAA;AACxC,eAAO,MAAM,0BAA0B,kBAAkB,CAAA;AACzD,eAAO,MAAM,0BAA0B,kBAAkB,CAAA;AACzD,eAAO,MAAM,yBAAyB,8CAI5B,CAAA;AA8BV,eAAO,MAAM,kBAAkB,EAAE,wBA8JhC,CAAA;AASD,eAAO,MAAM,iBAAiB,EAAE,wBAmK/B,CAAA"}
|