synapse-react-client 4.0.38 → 4.0.41
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.d.ts +1 -0
- package/dist/SWC.index.d.ts.map +1 -1
- package/dist/SWC.index.js +2 -1
- package/dist/SWC.index.js.map +1 -1
- package/dist/aridhia-queries/useAridhiaQuery.d.ts +6 -2
- package/dist/aridhia-queries/useAridhiaQuery.d.ts.map +1 -1
- package/dist/aridhia-queries/useAridhiaQuery.js +3 -0
- package/dist/aridhia-queries/useAridhiaQuery.js.map +1 -1
- package/dist/components/AccessRequirement/ImposeRestrictionDialog/ImposeRestrictionDialog.d.ts +1 -0
- package/dist/components/AccessRequirement/ImposeRestrictionDialog/ImposeRestrictionDialog.d.ts.map +1 -1
- package/dist/components/AccessRequirement/ImposeRestrictionDialog/ImposeRestrictionDialog.js +12 -12
- package/dist/components/AccessRequirement/ImposeRestrictionDialog/ImposeRestrictionDialog.js.map +1 -1
- package/dist/components/Aridhia/AridhiaAccessStatus.d.ts +2 -1
- package/dist/components/Aridhia/AridhiaAccessStatus.d.ts.map +1 -1
- package/dist/components/Aridhia/AridhiaAccessStatus.js +57 -31
- package/dist/components/Aridhia/AridhiaAccessStatus.js.map +1 -1
- package/dist/components/Aridhia/AridhiaDarStatusPopover.d.ts +12 -0
- package/dist/components/Aridhia/AridhiaDarStatusPopover.d.ts.map +1 -0
- package/dist/components/Aridhia/AridhiaDarStatusPopover.js +56 -0
- package/dist/components/Aridhia/AridhiaDarStatusPopover.js.map +1 -0
- package/dist/components/Aridhia/DarWizard/AridhiaDarWizard.d.ts.map +1 -1
- package/dist/components/Aridhia/DarWizard/AridhiaDarWizard.js +38 -30
- package/dist/components/Aridhia/DarWizard/AridhiaDarWizard.js.map +1 -1
- package/dist/components/Aridhia/DarWizard/DarSubmittedPanel.js +15 -14
- package/dist/components/Aridhia/DarWizard/DarSubmittedPanel.js.map +1 -1
- package/dist/components/Aridhia/RdcaDapEligibilityDialog.d.ts +11 -0
- package/dist/components/Aridhia/RdcaDapEligibilityDialog.d.ts.map +1 -0
- package/dist/components/Aridhia/RdcaDapEligibilityDialog.js +37 -0
- package/dist/components/Aridhia/RdcaDapEligibilityDialog.js.map +1 -0
- package/dist/components/Aridhia/aridhiaAccessStatusUtils.js +2 -2
- package/dist/components/Aridhia/aridhiaAccessStatusUtils.js.map +1 -1
- package/dist/components/Aridhia/aridhiaFairPortalUrls.d.ts +10 -0
- package/dist/components/Aridhia/aridhiaFairPortalUrls.d.ts.map +1 -0
- package/dist/components/Aridhia/aridhiaFairPortalUrls.js +11 -0
- package/dist/components/Aridhia/aridhiaFairPortalUrls.js.map +1 -0
- package/dist/components/Aridhia/rdcaDapConstants.d.ts +3 -0
- package/dist/components/Aridhia/rdcaDapConstants.d.ts.map +1 -0
- package/dist/components/Aridhia/rdcaDapConstants.js +6 -0
- package/dist/components/Aridhia/rdcaDapConstants.js.map +1 -0
- package/dist/components/Authentication/Constants.d.ts +4 -0
- package/dist/components/Authentication/Constants.d.ts.map +1 -1
- package/dist/components/Authentication/Constants.js +5 -2
- package/dist/components/Authentication/Constants.js.map +1 -1
- package/dist/components/Authentication/RecoveryCodeGrid.d.ts.map +1 -1
- package/dist/components/Authentication/RecoveryCodeGrid.js +8 -1
- package/dist/components/Authentication/RecoveryCodeGrid.js.map +1 -1
- package/dist/components/Authentication/RegenerateBackupCodesWarning.js +4 -1
- package/dist/components/Authentication/RegenerateBackupCodesWarning.js.map +1 -1
- package/dist/components/Authentication/TOTPForm.d.ts.map +1 -1
- package/dist/components/Authentication/TOTPForm.js +20 -18
- package/dist/components/Authentication/TOTPForm.js.map +1 -1
- package/dist/components/Authentication/TwoFactorBackupCodes.d.ts.map +1 -1
- package/dist/components/Authentication/TwoFactorBackupCodes.js +41 -12
- package/dist/components/Authentication/TwoFactorBackupCodes.js.map +1 -1
- package/dist/components/Authentication/TwoFactorEnrollmentForm.d.ts.map +1 -1
- package/dist/components/Authentication/TwoFactorEnrollmentForm.js +74 -71
- package/dist/components/Authentication/TwoFactorEnrollmentForm.js.map +1 -1
- package/dist/components/DataExplorer/DataExplorer.css +1 -1
- package/dist/components/DataExplorer/DataExplorer.d.ts.map +1 -1
- package/dist/components/DataExplorer/DataExplorer.js +50 -50
- package/dist/components/DataExplorer/DataExplorer.js.map +1 -1
- package/dist/components/DataExplorer/DataExplorer.module.js +16 -16
- package/dist/components/DataExplorer/DataExplorer.module.js.map +1 -1
- package/dist/components/DataExplorer/DataExplorer.module.scss +29 -6
- package/dist/components/DataGrid/columns/DateTimeColumn.d.ts +16 -7
- package/dist/components/DataGrid/columns/DateTimeColumn.d.ts.map +1 -1
- package/dist/components/DataGrid/columns/DateTimeColumn.js +79 -57
- package/dist/components/DataGrid/columns/DateTimeColumn.js.map +1 -1
- package/dist/components/DataGrid/components/ReorderColumnsDialog.d.ts.map +1 -1
- package/dist/components/DataGrid/components/ReorderColumnsDialog.js +43 -46
- package/dist/components/DataGrid/components/ReorderColumnsDialog.js.map +1 -1
- package/dist/components/DataGrid/utils/columnFactory.d.ts.map +1 -1
- package/dist/components/DataGrid/utils/columnFactory.js +11 -8
- package/dist/components/DataGrid/utils/columnFactory.js.map +1 -1
- package/dist/components/DatePicker/DatePicker.d.ts +10 -0
- package/dist/components/DatePicker/DatePicker.d.ts.map +1 -0
- package/dist/components/DatePicker/DatePicker.js +18 -0
- package/dist/components/DatePicker/DatePicker.js.map +1 -0
- package/dist/components/EntityCitation/EntityCitation.d.ts.map +1 -1
- package/dist/components/EntityCitation/EntityCitation.js +8 -5
- package/dist/components/EntityCitation/EntityCitation.js.map +1 -1
- package/dist/components/FormTemplateEditor/ChoiceOptionsEditor.d.ts +11 -0
- package/dist/components/FormTemplateEditor/ChoiceOptionsEditor.d.ts.map +1 -0
- package/dist/components/FormTemplateEditor/ChoiceOptionsEditor.js +61 -0
- package/dist/components/FormTemplateEditor/ChoiceOptionsEditor.js.map +1 -0
- package/dist/components/FormTemplateEditor/FieldDefinitionDrawer.d.ts +33 -0
- package/dist/components/FormTemplateEditor/FieldDefinitionDrawer.d.ts.map +1 -0
- package/dist/components/FormTemplateEditor/FieldDefinitionDrawer.js +187 -0
- package/dist/components/FormTemplateEditor/FieldDefinitionDrawer.js.map +1 -0
- package/dist/components/FormTemplateEditor/FormTemplatePreview.d.ts +14 -0
- package/dist/components/FormTemplateEditor/FormTemplatePreview.d.ts.map +1 -0
- package/dist/components/FormTemplateEditor/FormTemplatePreview.js +83 -0
- package/dist/components/FormTemplateEditor/FormTemplatePreview.js.map +1 -0
- package/dist/components/FormTemplateEditor/JsonSchemaBodyEditor.d.ts +13 -0
- package/dist/components/FormTemplateEditor/JsonSchemaBodyEditor.d.ts.map +1 -0
- package/dist/components/FormTemplateEditor/JsonSchemaBodyEditor.js +33 -0
- package/dist/components/FormTemplateEditor/JsonSchemaBodyEditor.js.map +1 -0
- package/dist/components/FormTemplateEditor/formTemplateValidation.d.ts +32 -0
- package/dist/components/FormTemplateEditor/formTemplateValidation.d.ts.map +1 -0
- package/dist/components/FormTemplateEditor/formTemplateValidation.js +75 -0
- package/dist/components/FormTemplateEditor/formTemplateValidation.js.map +1 -0
- package/dist/components/FormTemplateEditor/schemaFieldUtils.d.ts +25 -0
- package/dist/components/FormTemplateEditor/schemaFieldUtils.d.ts.map +1 -0
- package/dist/components/FormTemplateEditor/schemaFieldUtils.js +66 -0
- package/dist/components/FormTemplateEditor/schemaFieldUtils.js.map +1 -0
- package/dist/components/FormTemplateEditor/useSaveFormTemplate.d.ts +28 -0
- package/dist/components/FormTemplateEditor/useSaveFormTemplate.d.ts.map +1 -0
- package/dist/components/FormTemplateEditor/useSaveFormTemplate.js +39 -0
- package/dist/components/FormTemplateEditor/useSaveFormTemplate.js.map +1 -0
- package/dist/components/FormTemplateEditor/utils.d.ts +21 -0
- package/dist/components/FormTemplateEditor/utils.d.ts.map +1 -0
- package/dist/components/FormTemplateEditor/utils.js +27 -0
- package/dist/components/FormTemplateEditor/utils.js.map +1 -0
- package/dist/components/HasAccess/AccessIcon.d.ts +3 -1
- package/dist/components/HasAccess/AccessIcon.d.ts.map +1 -1
- package/dist/components/HasAccess/AccessIcon.js +11 -1
- package/dist/components/HasAccess/AccessIcon.js.map +1 -1
- package/dist/components/JsonSchemaForm/CustomFormContext.d.ts +1 -1
- package/dist/components/JsonSchemaForm/CustomFormContext.d.ts.map +1 -1
- package/dist/components/JsonSchemaForm/JsonSchemaForm.css +1 -1
- package/dist/components/JsonSchemaForm/JsonSchemaForm.module.js +1 -1
- package/dist/components/JsonSchemaForm/JsonSchemaForm.module.js.map +1 -1
- package/dist/components/JsonSchemaForm/JsonSchemaForm.module.scss +6 -1
- package/dist/components/JsonSchemaForm/templates/RJSFInputLabel.d.ts.map +1 -1
- package/dist/components/JsonSchemaForm/templates/RJSFInputLabel.js +4 -0
- package/dist/components/JsonSchemaForm/templates/RJSFInputLabel.js.map +1 -1
- package/dist/components/PortalHomePageHeader/PortalHomePageHeader.d.ts +2 -1
- package/dist/components/PortalHomePageHeader/PortalHomePageHeader.d.ts.map +1 -1
- package/dist/components/PortalHomePageHeader/PortalHomePageHeader.js +81 -53
- package/dist/components/PortalHomePageHeader/PortalHomePageHeader.js.map +1 -1
- package/dist/components/ProjectInfo/ProjectInfo.d.ts.map +1 -1
- package/dist/components/ProjectInfo/ProjectInfo.js +3 -2
- package/dist/components/ProjectInfo/ProjectInfo.js.map +1 -1
- package/dist/components/QueryBuilder/FilterConditionRow.css +1 -0
- package/dist/components/QueryBuilder/FilterConditionRow.d.ts +8 -0
- package/dist/components/QueryBuilder/FilterConditionRow.d.ts.map +1 -0
- package/dist/components/QueryBuilder/FilterConditionRow.js +260 -0
- package/dist/components/QueryBuilder/FilterConditionRow.js.map +1 -0
- package/dist/components/QueryBuilder/FilterConditionRow.module.js +16 -0
- package/dist/components/QueryBuilder/FilterConditionRow.module.js.map +1 -0
- package/dist/components/QueryBuilder/FilterConditionRow.module.scss +101 -0
- package/dist/components/QueryBuilder/FilterGroupNode.css +1 -0
- package/dist/components/QueryBuilder/FilterGroupNode.d.ts +11 -0
- package/dist/components/QueryBuilder/FilterGroupNode.d.ts.map +1 -0
- package/dist/components/QueryBuilder/FilterGroupNode.js +134 -0
- package/dist/components/QueryBuilder/FilterGroupNode.js.map +1 -0
- package/dist/components/QueryBuilder/FilterGroupNode.module.js +16 -0
- package/dist/components/QueryBuilder/FilterGroupNode.module.js.map +1 -0
- package/dist/components/QueryBuilder/FilterGroupNode.module.scss +92 -0
- package/dist/components/QueryBuilder/QBDragHandle.d.ts +10 -0
- package/dist/components/QueryBuilder/QBDragHandle.d.ts.map +1 -0
- package/dist/components/QueryBuilder/QBDragHandle.js +22 -0
- package/dist/components/QueryBuilder/QBDragHandle.js.map +1 -0
- package/dist/components/QueryBuilder/QueryBuilderControls.css +1 -0
- package/dist/components/QueryBuilder/QueryBuilderControls.d.ts +21 -0
- package/dist/components/QueryBuilder/QueryBuilderControls.d.ts.map +1 -0
- package/dist/components/QueryBuilder/QueryBuilderControls.js +143 -0
- package/dist/components/QueryBuilder/QueryBuilderControls.js.map +1 -0
- package/dist/components/QueryBuilder/QueryBuilderControls.module.js +17 -0
- package/dist/components/QueryBuilder/QueryBuilderControls.module.js.map +1 -0
- package/dist/components/QueryBuilder/QueryBuilderControls.module.scss +79 -0
- package/dist/components/QueryBuilder/QueryBuilderInternalContext.d.ts +39 -0
- package/dist/components/QueryBuilder/QueryBuilderInternalContext.d.ts.map +1 -0
- package/dist/components/QueryBuilder/QueryBuilderInternalContext.js +19 -0
- package/dist/components/QueryBuilder/QueryBuilderInternalContext.js.map +1 -0
- package/dist/components/QueryBuilder/qbTreeToReadable.d.ts +14 -0
- package/dist/components/QueryBuilder/qbTreeToReadable.d.ts.map +1 -0
- package/dist/components/QueryBuilder/qbTreeToReadable.js +89 -0
- package/dist/components/QueryBuilder/qbTreeToReadable.js.map +1 -0
- package/dist/components/QueryBuilder/queryBuilderDnd.d.ts +27 -0
- package/dist/components/QueryBuilder/queryBuilderDnd.d.ts.map +1 -0
- package/dist/components/QueryBuilder/queryBuilderDnd.js +41 -0
- package/dist/components/QueryBuilder/queryBuilderDnd.js.map +1 -0
- package/dist/components/QueryBuilder/queryBuilderDrag.css +1 -0
- package/dist/components/QueryBuilder/queryBuilderDrag.module.js +8 -0
- package/dist/components/QueryBuilder/queryBuilderDrag.module.js.map +1 -0
- package/dist/components/QueryBuilder/queryBuilderDrag.module.scss +12 -0
- package/dist/components/QueryBuilder/queryBuilderId.d.ts +2 -0
- package/dist/components/QueryBuilder/queryBuilderId.d.ts.map +1 -0
- package/dist/components/QueryBuilder/queryBuilderId.js +9 -0
- package/dist/components/QueryBuilder/queryBuilderId.js.map +1 -0
- package/dist/components/QueryBuilder/queryBuilderMetadata.d.ts +24 -0
- package/dist/components/QueryBuilder/queryBuilderMetadata.d.ts.map +1 -0
- package/dist/components/QueryBuilder/queryBuilderMetadata.js +91 -0
- package/dist/components/QueryBuilder/queryBuilderMetadata.js.map +1 -0
- package/dist/components/QueryBuilder/queryBuilderOperations.d.ts +71 -0
- package/dist/components/QueryBuilder/queryBuilderOperations.d.ts.map +1 -0
- package/dist/components/QueryBuilder/queryBuilderOperations.js +203 -0
- package/dist/components/QueryBuilder/queryBuilderOperations.js.map +1 -0
- package/dist/components/QueryBuilder/queryBuilderTranslation.d.ts +3 -2
- package/dist/components/QueryBuilder/queryBuilderTranslation.d.ts.map +1 -1
- package/dist/components/QueryBuilder/queryBuilderTranslation.js +82 -84
- package/dist/components/QueryBuilder/queryBuilderTranslation.js.map +1 -1
- package/dist/components/QueryBuilder/useQBCombinedSql.d.ts +11 -0
- package/dist/components/QueryBuilder/useQBCombinedSql.d.ts.map +1 -0
- package/dist/components/QueryBuilder/useQBCombinedSql.js +29 -0
- package/dist/components/QueryBuilder/useQBCombinedSql.js.map +1 -0
- package/dist/components/QueryBuilder/useQBFacetSourceMetadata.d.ts +18 -0
- package/dist/components/QueryBuilder/useQBFacetSourceMetadata.d.ts.map +1 -0
- package/dist/components/QueryBuilder/useQBFacetSourceMetadata.js +27 -0
- package/dist/components/QueryBuilder/useQBFacetSourceMetadata.js.map +1 -0
- package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts +14 -1
- package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts.map +1 -1
- package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js +183 -119
- package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js.map +1 -1
- package/dist/components/RssFeedCards/RssFeedCards.d.ts +1 -0
- package/dist/components/RssFeedCards/RssFeedCards.d.ts.map +1 -1
- package/dist/components/RssFeedCards/RssFeedCards.js +11 -11
- package/dist/components/RssFeedCards/RssFeedCards.js.map +1 -1
- package/dist/components/SynapseChat/SynapseChat.d.ts +7 -1
- package/dist/components/SynapseChat/SynapseChat.d.ts.map +1 -1
- package/dist/components/SynapseChat/SynapseChat.js +76 -71
- package/dist/components/SynapseChat/SynapseChat.js.map +1 -1
- package/dist/components/SynapseChat/SynapsePortalChatDialog.d.ts +3 -1
- package/dist/components/SynapseChat/SynapsePortalChatDialog.d.ts.map +1 -1
- package/dist/components/SynapseChat/SynapsePortalChatDialog.js +24 -13
- package/dist/components/SynapseChat/SynapsePortalChatDialog.js.map +1 -1
- package/dist/components/SynapseChat/portalChatSessionStorage.d.ts +23 -0
- package/dist/components/SynapseChat/portalChatSessionStorage.d.ts.map +1 -0
- package/dist/components/SynapseChat/portalChatSessionStorage.js +29 -0
- package/dist/components/SynapseChat/portalChatSessionStorage.js.map +1 -0
- package/dist/components/SynapseTable/TopLevelControls/TopLevelControls.d.ts +6 -0
- package/dist/components/SynapseTable/TopLevelControls/TopLevelControls.d.ts.map +1 -1
- package/dist/components/SynapseTable/TopLevelControls/TopLevelControls.js +92 -79
- package/dist/components/SynapseTable/TopLevelControls/TopLevelControls.js.map +1 -1
- package/dist/components/dataaccess/UserAccessRequestHistory/InFlightEDucSignaturesTable.d.ts +3 -4
- package/dist/components/dataaccess/UserAccessRequestHistory/InFlightEDucSignaturesTable.d.ts.map +1 -1
- package/dist/components/dataaccess/UserAccessRequestHistory/InFlightEDucSignaturesTable.js +2 -2
- package/dist/components/dataaccess/UserAccessRequestHistory/InFlightEDucSignaturesTable.js.map +1 -1
- package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryPlace.js +1 -1
- package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryPlace.js.map +1 -1
- package/dist/components/entity/page/action_menu/EntityActionMenu.d.ts.map +1 -1
- package/dist/components/entity/page/action_menu/EntityActionMenu.js +9 -2
- package/dist/components/entity/page/action_menu/EntityActionMenu.js.map +1 -1
- package/dist/components/entity/page/title_bar/EntityPageTitleBar.d.ts +0 -1
- package/dist/components/entity/page/title_bar/EntityPageTitleBar.d.ts.map +1 -1
- package/dist/components/entity/page/title_bar/EntityPageTitleBar.js +36 -37
- package/dist/components/entity/page/title_bar/EntityPageTitleBar.js.map +1 -1
- package/dist/components/menu/ComplexMenu.js +1 -1
- package/dist/components/menu/ComplexMenu.js.map +1 -1
- package/dist/components/menu/DropdownMenu.d.ts.map +1 -1
- package/dist/components/menu/DropdownMenu.js +4 -0
- package/dist/components/menu/DropdownMenu.js.map +1 -1
- package/dist/components/styled/LeftRightPanel.d.ts.map +1 -1
- package/dist/components/styled/LeftRightPanel.js +19 -2
- package/dist/components/styled/LeftRightPanel.js.map +1 -1
- package/dist/features/entity/metadata-task/hooks/useMarkCurationTaskInProgress.d.ts +10 -0
- package/dist/features/entity/metadata-task/hooks/useMarkCurationTaskInProgress.d.ts.map +1 -0
- package/dist/features/entity/metadata-task/hooks/useMarkCurationTaskInProgress.js +20 -0
- package/dist/features/entity/metadata-task/hooks/useMarkCurationTaskInProgress.js.map +1 -0
- package/dist/features/entity/metadata-task/hooks/useOpenCuratorButton.d.ts.map +1 -1
- package/dist/features/entity/metadata-task/hooks/useOpenCuratorButton.js +29 -20
- package/dist/features/entity/metadata-task/hooks/useOpenCuratorButton.js.map +1 -1
- package/dist/mocks/accessRequirement/mockFormTemplates.d.ts +16 -0
- package/dist/mocks/accessRequirement/mockFormTemplates.d.ts.map +1 -0
- package/dist/mocks/accessRequirement/mockFormTemplates.js +63 -0
- package/dist/mocks/accessRequirement/mockFormTemplates.js.map +1 -0
- package/dist/mocks/accessRequirement/mockJsonSchemaAccessRequirements.d.ts +7 -0
- package/dist/mocks/accessRequirement/mockJsonSchemaAccessRequirements.d.ts.map +1 -0
- package/dist/mocks/accessRequirement/mockJsonSchemaAccessRequirements.js +47 -0
- package/dist/mocks/accessRequirement/mockJsonSchemaAccessRequirements.js.map +1 -0
- package/dist/mocks/accessRequirement/mockJsonSchemas.d.ts +27 -0
- package/dist/mocks/accessRequirement/mockJsonSchemas.d.ts.map +1 -0
- package/dist/mocks/accessRequirement/mockJsonSchemas.js +83 -0
- package/dist/mocks/accessRequirement/mockJsonSchemas.js.map +1 -0
- package/dist/mocks/msw/handlers/aridhiaHandlers.d.ts +18 -1
- package/dist/mocks/msw/handlers/aridhiaHandlers.d.ts.map +1 -1
- package/dist/mocks/msw/handlers/aridhiaHandlers.js +39 -33
- package/dist/mocks/msw/handlers/aridhiaHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/asyncJobHandlers.d.ts +41 -14
- package/dist/mocks/msw/handlers/asyncJobHandlers.d.ts.map +1 -1
- package/dist/mocks/msw/handlers/asyncJobHandlers.js +53 -44
- package/dist/mocks/msw/handlers/asyncJobHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/chatHandlers.d.ts.map +1 -1
- package/dist/mocks/msw/handlers/chatHandlers.js +19 -13
- package/dist/mocks/msw/handlers/chatHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/formTemplateHandlers.d.ts +5 -0
- package/dist/mocks/msw/handlers/formTemplateHandlers.d.ts.map +1 -0
- package/dist/mocks/msw/handlers/formTemplateHandlers.js +65 -0
- package/dist/mocks/msw/handlers/formTemplateHandlers.js.map +1 -0
- package/dist/mocks/msw/handlers/schemaHandlers.d.ts +2 -1
- package/dist/mocks/msw/handlers/schemaHandlers.d.ts.map +1 -1
- package/dist/mocks/msw/handlers/schemaHandlers.js +13 -7
- package/dist/mocks/msw/handlers/schemaHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/searchQueryHandlers.d.ts.map +1 -1
- package/dist/mocks/msw/handlers/searchQueryHandlers.js +24 -18
- package/dist/mocks/msw/handlers/searchQueryHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/tableQueryHandlers.d.ts.map +1 -1
- package/dist/mocks/msw/handlers/tableQueryHandlers.js +35 -16
- package/dist/mocks/msw/handlers/tableQueryHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers.d.ts.map +1 -1
- package/dist/mocks/msw/handlers.js +49 -47
- package/dist/mocks/msw/handlers.js.map +1 -1
- package/dist/style/abstracts/_cssVariables.scss +7 -0
- package/dist/style/components/_query-wrapper-plot-nav.scss +9 -0
- package/dist/style/main.css +1 -1
- package/dist/synapse-queries/KeyFactory.d.ts +5 -1
- package/dist/synapse-queries/KeyFactory.d.ts.map +1 -1
- package/dist/synapse-queries/KeyFactory.js +14 -2
- package/dist/synapse-queries/KeyFactory.js.map +1 -1
- package/dist/synapse-queries/chat/useChat.d.ts.map +1 -1
- package/dist/synapse-queries/chat/useChat.js +2 -4
- package/dist/synapse-queries/chat/useChat.js.map +1 -1
- package/dist/synapse-queries/dataaccess/index.d.ts +1 -0
- package/dist/synapse-queries/dataaccess/index.d.ts.map +1 -1
- package/dist/synapse-queries/dataaccess/index.js +4 -3
- package/dist/synapse-queries/dataaccess/useFormTemplate.d.ts +41 -0
- package/dist/synapse-queries/dataaccess/useFormTemplate.d.ts.map +1 -0
- package/dist/synapse-queries/dataaccess/useFormTemplate.js +63 -0
- package/dist/synapse-queries/dataaccess/useFormTemplate.js.map +1 -0
- package/dist/synapse-queries/index.js +186 -180
- package/dist/synapse-queries/jsonschema/useCreateJsonSchema.d.ts +9 -0
- package/dist/synapse-queries/jsonschema/useCreateJsonSchema.d.ts.map +1 -0
- package/dist/synapse-queries/jsonschema/useCreateJsonSchema.js +22 -0
- package/dist/synapse-queries/jsonschema/useCreateJsonSchema.js.map +1 -0
- package/dist/testutils/ReactQueryMockUtils.js.map +1 -1
- package/dist/testutils/vitest.setup.js +18 -9
- package/dist/testutils/vitest.setup.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/utils/APIConstants.d.ts +1 -0
- package/dist/utils/APIConstants.d.ts.map +1 -1
- package/dist/utils/APIConstants.js +2 -2
- package/dist/utils/APIConstants.js.map +1 -1
- package/dist/utils/appendFinalQueryParamKey.d.ts.map +1 -1
- package/dist/utils/appendFinalQueryParamKey.js +4 -1
- package/dist/utils/appendFinalQueryParamKey.js.map +1 -1
- package/dist/utils/functions/ArrayUtils.d.ts +3 -0
- package/dist/utils/functions/ArrayUtils.d.ts.map +1 -1
- package/dist/utils/functions/ArrayUtils.js +7 -1
- package/dist/utils/functions/ArrayUtils.js.map +1 -1
- package/dist/utils/jsonschema/generateDataAccessSchema.d.ts +26 -0
- package/dist/utils/jsonschema/generateDataAccessSchema.d.ts.map +1 -0
- package/dist/utils/jsonschema/generateDataAccessSchema.js +28 -0
- package/dist/utils/jsonschema/generateDataAccessSchema.js.map +1 -0
- package/dist/utils/jsonschema/getType.d.ts.map +1 -1
- package/dist/utils/jsonschema/getType.js +4 -1
- package/dist/utils/jsonschema/getType.js.map +1 -1
- package/dist/utils/jsonschema/submissionContext.d.ts +86 -0
- package/dist/utils/jsonschema/submissionContext.d.ts.map +1 -0
- package/dist/utils/jsonschema/submissionContext.js +186 -0
- package/dist/utils/jsonschema/submissionContext.js.map +1 -0
- package/package.json +10 -8
- package/dist/components/AccessRequirement/AddConditionsForUseButton/AddConditionsForUseButton.d.ts +0 -6
- package/dist/components/AccessRequirement/AddConditionsForUseButton/AddConditionsForUseButton.d.ts.map +0 -1
- package/dist/components/AccessRequirement/AddConditionsForUseButton/AddConditionsForUseButton.js +0 -32
- package/dist/components/AccessRequirement/AddConditionsForUseButton/AddConditionsForUseButton.js.map +0 -1
- package/dist/components/entity/page/title_bar/TitleBarProperties.d.ts +0 -9
- package/dist/components/entity/page/title_bar/TitleBarProperties.d.ts.map +0 -1
- package/dist/components/entity/page/title_bar/TitleBarProperties.js +0 -24
- package/dist/components/entity/page/title_bar/TitleBarProperties.js.map +0 -1
package/dist/SWC.index.d.ts
CHANGED
|
@@ -90,6 +90,7 @@ declare const SynapseComponents: {
|
|
|
90
90
|
HtmlPreview: import("react").LazyExoticComponent<typeof import("./components/FilePreview/HtmlPreview/HtmlPreview").default>;
|
|
91
91
|
IDUReport: import("react").LazyExoticComponent<typeof import("./components/IDUReport/IDUReport").IDUReport>;
|
|
92
92
|
IconSvg: import("react").LazyExoticComponent<typeof import("./components").IconSvg>;
|
|
93
|
+
ImposeRestrictionDialog: import("react").LazyExoticComponent<typeof import("./components/AccessRequirement/ImposeRestrictionDialog/ImposeRestrictionDialog").default>;
|
|
93
94
|
MetadataTasksPage: import("react").LazyExoticComponent<typeof import("./features/entity/metadata-task/components/MetadataTasksPageRouter").default>;
|
|
94
95
|
OAuthManagement: import("react").LazyExoticComponent<typeof import("./components").OAuthClientManagement>;
|
|
95
96
|
OrientationBanner: import("react").LazyExoticComponent<typeof import("./components").OrientationBanner>;
|
package/dist/SWC.index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SWC.index.d.ts","sourceRoot":"","sources":["../src/SWC.index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAEL,qBAAqB,EACtB,MAAM,wCAAwC,CAAA;AAC/C,OAAO,aAAa,EAAE,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC5D,OAAO,KAAK,cAAc,MAAM,mBAAmB,CAAA;AACnD,OAAO,QAAQ,MAAM,0BAA0B,CAAA;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAA;AACzE,OAAO,EACL,6BAA6B,EAC7B,4BAA4B,EAC5B,6BAA6B,EAC7B,8BAA8B,EAC/B,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAA;AACzE,OAAO,EAEL,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAA;AAEhE,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;AAGxD,OAAO,mBAAmB,CAAA;AAK1B,QAAA,MAAM,YAAY;;CAEjB,CAAA;AAED,QAAA,MAAM,cAAc;;;;;CAKnB,CAAA;AAED,QAAA,MAAM,iBAAiB
|
|
1
|
+
{"version":3,"file":"SWC.index.d.ts","sourceRoot":"","sources":["../src/SWC.index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAEL,qBAAqB,EACtB,MAAM,wCAAwC,CAAA;AAC/C,OAAO,aAAa,EAAE,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC5D,OAAO,KAAK,cAAc,MAAM,mBAAmB,CAAA;AACnD,OAAO,QAAQ,MAAM,0BAA0B,CAAA;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAA;AACzE,OAAO,EACL,6BAA6B,EAC7B,4BAA4B,EAC5B,6BAA6B,EAC7B,8BAA8B,EAC/B,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAA;AACzE,OAAO,EAEL,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAA;AAEhE,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;AAGxD,OAAO,mBAAmB,CAAA;AAK1B,QAAA,MAAM,YAAY;;CAEjB,CAAA;AAED,QAAA,MAAM,cAAc;;;;;CAKnB,CAAA;AAED,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2MtB,CAAA;AAED,QAAA,MAAM,SAAS;;;;;;CAMd,CAAA;AAGD,QAAA,MAAM,yBAAyB,QAAkB,CAAA;AAEjD,OAAO,EACL,SAAS,EACT,UAAU,EACV,yBAAyB,EACzB,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,UAAU,EACV,qBAAqB,GACtB,CAAA"}
|
package/dist/SWC.index.js
CHANGED
|
@@ -75,6 +75,7 @@ var x = { BackendDestinationEnum: r }, S = {
|
|
|
75
75
|
HtmlPreview: b(() => import("./components/FilePreview/HtmlPreview/HtmlPreview.js")),
|
|
76
76
|
IDUReport: b(() => import("./components/IDUReport/IDUReport.js")),
|
|
77
77
|
IconSvg: b(() => import("./components/IconSvg/IconSvg.js")),
|
|
78
|
+
ImposeRestrictionDialog: b(() => import("./components/AccessRequirement/ImposeRestrictionDialog/ImposeRestrictionDialog.js")),
|
|
78
79
|
MetadataTasksPage: b(() => import("./features/entity/metadata-task/components/MetadataTasksPageRouter.js")),
|
|
79
80
|
OAuthManagement: b(() => import("./components/OAuthClientManagement/OAuthManagement.js")),
|
|
80
81
|
OrientationBanner: b(() => import("./components/OrientationBanner/OrientationBanner.js")),
|
|
@@ -116,7 +117,7 @@ var x = { BackendDestinationEnum: r }, S = {
|
|
|
116
117
|
sendSearchResultsReturnedEvent: y,
|
|
117
118
|
sendSearchResultReturnedEvent: v,
|
|
118
119
|
sendSearchResultClickedEvent: _
|
|
119
|
-
}, T = "4.0.
|
|
120
|
+
}, T = "4.0.41";
|
|
120
121
|
//#endregion
|
|
121
122
|
export { w as Analytics, a as HttpClient, d as Palettes, o as SynapseClient, C as SynapseComponents, n as SynapseConstants, S as SynapseContext, x as SynapseEnums, m as SynapseQueries, T as SynapseReactClientVersion, p as SynapseSessionManager, i as xssOptions };
|
|
122
123
|
|
package/dist/SWC.index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SWC.index.js","names":[],"sources":["../src/SWC.index.ts"],"sourcesContent":["/**\n * SWC.index.ts represents the entry point for the Synapse React Client library as it is published to NPM and\n * used by SynapseWebClient.\n *\n * If you wish to export a component or other object to be used by SynapseWebClient, you should add it to this file.\n */\n\nimport { lazy } from 'react'\nimport {\n displayToast,\n SynapseToastContainer,\n} from './components/ToastMessage/ToastMessage'\nimport SynapseClient, { HttpClient } from './synapse-client'\nimport * as SynapseQueries from './synapse-queries'\nimport Palettes from './theme/palette/Palettes'\nimport { SynapseConstants } from './utils'\nimport { sendAnalyticsEvent } from './utils/analytics/sendAnalyticsEvent'\nimport {\n sendSearchQuerySubmittedEvent,\n sendSearchResultClickedEvent,\n sendSearchResultReturnedEvent,\n sendSearchResultsReturnedEvent,\n} from './utils/analytics/sendSearchEvent'\nimport { FullContextProvider } from './utils/context/FullContextProvider'\nimport {\n SynapseContextConsumer,\n SynapseContextProvider,\n useSynapseContext,\n} from './utils/context/SynapseContext'\nimport { BackendDestinationEnum } from './utils/functions'\nimport { xssOptions } from './utils/functions/SanitizeHtmlUtils'\nimport { getCurrentCookiePreferences } from './utils/hooks'\nimport { SynapseSessionManager } from './utils/AppUtils'\n\n// Also include scss in the bundle\nimport './style/main.scss'\n\n// Injected at build time by Vite's `define`\ndeclare const __SRC_VERSION__: string\n\nconst SynapseEnums = {\n BackendDestinationEnum,\n}\n\nconst SynapseContext = {\n FullContextProvider,\n SynapseContextProvider,\n SynapseContextConsumer,\n useSynapseContext,\n}\n\nconst SynapseComponents = {\n AccessRequirementAclEditor: lazy(\n () => import('./components/AccessRequirementAclEditor'),\n ),\n AccessRequirementList: lazy(\n () => import('./components/AccessRequirementList/AccessRequirementList'),\n ),\n AccessRequirementRelatedProjectsList: lazy(\n () => import('./components/AccessRequirementRelatedProjectsList'),\n ),\n AccountLevelBadges: lazy(\n () => import('./components/AccountLevelBadges/AccountLevelBadges'),\n ),\n AddToDownloadListConfirmationAlert: lazy(\n () =>\n import('./components/download_list/AddToDownloadListConfirmationAlert/AddToDownloadListConfirmationAlert'),\n ),\n AvailableEvaluationQueueList: lazy(\n () =>\n import('./components/ChallengeSubmission/AvailableEvaluationQueueList'),\n ),\n CertificationQuiz: lazy(\n () => import('./components/CertificationQuiz/CertificationQuiz'),\n ),\n CookiesNotification: lazy(() => import('./components/CookiesNotification')),\n CreateOrUpdateAccessRequirementWizard: lazy(\n () => import('./components/CreateOrUpdateAccessRequirementWizard'),\n ),\n CreateOrUpdateDoiModal: lazy(\n () => import('./components/doi/CreateOrUpdateDoiModal'),\n ),\n CreateTableFromCsvDialog: lazy(\n () => import('./components/table/CsvPreview/CreateTableFromCsvDialog'),\n ),\n CreateTableViewWizard: lazy(\n () => import('./components/CreateTableViewWizard/CreateTableViewWizard'),\n ),\n CreatedByModifiedBy: lazy(\n () => import('./components/entity/page/CreatedByModifiedBy'),\n ),\n CsvPreview: lazy(() => import('./components/table/CsvPreview/CsvPreview')),\n CuratorDashboard: lazy(\n () => import('./features/curator/dashboard/CuratorDashboardRouter'),\n ),\n DatasetItemsEditor: lazy(\n () => import('./components/SynapseTable/datasets/DatasetItemsEditor'),\n ),\n DiscussionThread: lazy(() => import('./components/Forum/DiscussionThread')),\n DiscussionEmpty: lazy(() => import('./components/Forum/DiscussionEmpty')),\n DownloadCartPage: lazy(\n () => import('./components/DownloadCart/DownloadCartPage'),\n ),\n EntityAclEditorModal: lazy(\n () => import('./components/EntityAclEditor/EntityAclEditorModal'),\n ),\n EntityActionMenu: lazy(\n () => import('./components/entity/page/action_menu/EntityActionMenu'),\n ),\n EntityBadgeIcons: lazy(\n () => import('./components/EntityBadgeIcons/EntityBadgeIcons'),\n ),\n EntityCitation: lazy(() => import('./components/EntityCitation')),\n ProjectInfo: lazy(() => import('./components/ProjectInfo/ProjectInfo')),\n EntityFinder: lazy(() => import('./components/EntityFinder/EntityFinder')),\n EntityForm: lazy(() => import('./components/EntityForm/EntityForm')),\n EntityHeaderTable: lazy(() => import('./components/EntityHeaderTable')),\n EntityModal: lazy(() => import('./components/entity/metadata/EntityModal')),\n EntityPageBreadcrumbs: lazy(\n () => import('./components/entity/page/breadcrumbs/EntityPageBreadcrumbs'),\n ),\n EntityPageTitleBar: lazy(\n () => import('./components/entity/page/title_bar/EntityPageTitleBar'),\n ),\n EntityTreeTable: lazy(\n () => import('./components/EntityTreeTable/EntityTreeTable'),\n ),\n EntitySidebar: lazy(() => import('./components/EntitySidebar/EntitySidebar')),\n EntityTypeIcon: lazy(() => import('./components/EntityIcon')),\n EntityUploadModal: lazy(\n () => import('./components/EntityUpload/EntityUploadModal'),\n ),\n EntityViewScopeEditorModal: lazy(\n () =>\n import('./components/EntityViewScopeEditor/EntityViewScopeEditorModal'),\n ),\n CreateProjectModal: lazy(() =>\n import('./components/CreateProjectModal/CreateProjectModal').then(m => ({\n default: m.CreateProjectModal,\n })),\n ),\n ErrorPage: lazy(() => import('./components/error/ErrorPage')),\n EvaluationCard: lazy(() => import('./components/Evaluation/EvaluationCard')),\n EvaluationEditorPage: lazy(\n () => import('./components/Evaluation/EvaluationEditorPage'),\n ),\n FavoritesPage: lazy(() => import('./components/favorites/FavoritesPage')),\n ForumSearch: lazy(() => import('./components/ForumSearch/ForumSearch')),\n FullWidthAlert: lazy(\n () => import('./components/FullWidthAlert/FullWidthAlert'),\n ),\n GoogleAnalytics: lazy(\n () => import('./components/GoogleAnalytics/GoogleAnalytics'),\n ),\n GovernanceMarkdownGithub: lazy(\n () => import('./components/Markdown/GovernanceMarkdownGithub'),\n ),\n GridPage: lazy(() => import('./features/curator/GridPage/GridPage')),\n HasAccess: lazy(() => import('./components/HasAccess/HasAccessV2')),\n HelpPopover: lazy(() => import('./components/HelpPopover/HelpPopover')),\n HtmlPreview: lazy(\n () => import('./components/FilePreview/HtmlPreview/HtmlPreview'),\n ),\n IDUReport: lazy(() => import('./components/IDUReport/IDUReport')),\n IconSvg: lazy(() => import('./components/IconSvg/IconSvg')),\n MetadataTasksPage: lazy(\n () =>\n import('./features/entity/metadata-task/components/MetadataTasksPageRouter'),\n ),\n OAuthManagement: lazy(\n () => import('./components/OAuthClientManagement/OAuthManagement'),\n ),\n OrientationBanner: lazy(\n () => import('./components/OrientationBanner/OrientationBanner'),\n ),\n PageProgress: lazy(() => import('./components/PageProgress/PageProgress')),\n ProjectDataAvailability: lazy(\n () => import('./components/ProjectStorage/ProjectDataAvailability'),\n ),\n ProjectVisibilityChip: lazy(\n () => import('./components/ProjectVisibilityChip/ProjectVisibilityChip'),\n ),\n ProvenanceGraph: lazy(\n () => import('./components/ProvenanceGraph/ProvenanceGraph'),\n ),\n QueryWrapperPlotNav: lazy(\n () => import('./components/QueryWrapperPlotNav/QueryWrapperPlotNav'),\n ),\n RejectProfileValidationRequestModal: lazy(\n () => import('./components/dataaccess/RejectProfileValidationRequestModal'),\n ),\n ReviewerDashboard: lazy(\n () => import('./components/dataaccess/ReviewerDashboard'),\n ),\n SearchQueryWrapperPlotNav: lazy(\n () =>\n import('./components/SearchQueryWrapperPlotNav/SearchQueryWrapperPlotNav'),\n ),\n ShareThisPage: lazy(() => import('./components/ShareThisPage')),\n SkeletonButton: lazy(() => import('./components/Skeleton/SkeletonButton')),\n SqlDefinedTableEditorModal: lazy(\n () =>\n import('./components/SqlDefinedTableEditor/SqlDefinedTableEditorModal'),\n ),\n StandaloneQueryWrapper: lazy(\n () => import('./components/StandaloneQueryWrapper/StandaloneQueryWrapper'),\n ),\n StatisticsPlot: lazy(() => import('./components/StatisticsPlot')),\n SubmissionViewScopeEditorModal: lazy(\n () =>\n import('./components/SubmissionViewScopeEditor/SubmissionViewScopeEditorModal'),\n ),\n SubscriptionPage: lazy(() => import('./components/SubscriptionPage')),\n SynapseChat: lazy(() => import('./components/SynapseChat/SynapseChat')),\n SynapseGrid: lazy(() => import('./components/DataGrid/SynapseGrid')),\n SynapseFooter: lazy(() => import('./components/SynapseFooter/SynapseFooter')),\n SynapseHomepageV2: lazy(\n () => import('./components/SynapseHomepageV2/SynapseHomepageV2'),\n ),\n SynapseNavDrawer: lazy(\n () => import('./components/SynapseNavDrawer/SynapseNavDrawer'),\n ),\n SynapsePlansPage: lazy(\n () => import('./components/SynapseHomepageV2/SynapsePlansPage'),\n ),\n SynapsePortalBanners: lazy(\n () => import('./components/SynapsePortalBanners/SynapsePortalBanners'),\n ),\n SynapseSearchPage: lazy(\n () => import('./components/SynapseSearchPageResults/SynapseSearchPage'),\n ),\n SynapseToastContainer,\n TableColumnSchemaEditor: lazy(\n () =>\n import('./components/TableColumnSchemaEditor/TableColumnSchemaEditor'),\n ),\n TrashCanList: lazy(() => import('./components/trash/TrashCanList')),\n UpdateTableWithCsvDialog: lazy(\n () => import('./components/table/CsvPreview/UpdateTableWithCsvDialog'),\n ),\n UserAccessRequestHistoryPlace: lazy(\n () =>\n import('./components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryPlace'),\n ),\n UserCard: lazy(() => import('./components/UserCard/UserCard')),\n UserProfileLinks: lazy(\n () => import('./components/UserProfileLinks/UserProfileLinks'),\n ),\n displayToast,\n getCurrentCookiePreferences,\n}\n\nconst Analytics = {\n sendAnalyticsEvent,\n sendSearchQuerySubmittedEvent,\n sendSearchResultsReturnedEvent,\n sendSearchResultReturnedEvent,\n sendSearchResultClickedEvent,\n}\n\n// Include the version in the build\nconst SynapseReactClientVersion = __SRC_VERSION__\n\nexport {\n Analytics,\n HttpClient,\n SynapseReactClientVersion,\n SynapseComponents,\n SynapseConstants,\n SynapseClient,\n SynapseContext,\n SynapseEnums,\n SynapseQueries,\n Palettes,\n xssOptions,\n SynapseSessionManager,\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SWC.index.js","names":[],"sources":["../src/SWC.index.ts"],"sourcesContent":["/**\n * SWC.index.ts represents the entry point for the Synapse React Client library as it is published to NPM and\n * used by SynapseWebClient.\n *\n * If you wish to export a component or other object to be used by SynapseWebClient, you should add it to this file.\n */\n\nimport { lazy } from 'react'\nimport {\n displayToast,\n SynapseToastContainer,\n} from './components/ToastMessage/ToastMessage'\nimport SynapseClient, { HttpClient } from './synapse-client'\nimport * as SynapseQueries from './synapse-queries'\nimport Palettes from './theme/palette/Palettes'\nimport { SynapseConstants } from './utils'\nimport { sendAnalyticsEvent } from './utils/analytics/sendAnalyticsEvent'\nimport {\n sendSearchQuerySubmittedEvent,\n sendSearchResultClickedEvent,\n sendSearchResultReturnedEvent,\n sendSearchResultsReturnedEvent,\n} from './utils/analytics/sendSearchEvent'\nimport { FullContextProvider } from './utils/context/FullContextProvider'\nimport {\n SynapseContextConsumer,\n SynapseContextProvider,\n useSynapseContext,\n} from './utils/context/SynapseContext'\nimport { BackendDestinationEnum } from './utils/functions'\nimport { xssOptions } from './utils/functions/SanitizeHtmlUtils'\nimport { getCurrentCookiePreferences } from './utils/hooks'\nimport { SynapseSessionManager } from './utils/AppUtils'\n\n// Also include scss in the bundle\nimport './style/main.scss'\n\n// Injected at build time by Vite's `define`\ndeclare const __SRC_VERSION__: string\n\nconst SynapseEnums = {\n BackendDestinationEnum,\n}\n\nconst SynapseContext = {\n FullContextProvider,\n SynapseContextProvider,\n SynapseContextConsumer,\n useSynapseContext,\n}\n\nconst SynapseComponents = {\n AccessRequirementAclEditor: lazy(\n () => import('./components/AccessRequirementAclEditor'),\n ),\n AccessRequirementList: lazy(\n () => import('./components/AccessRequirementList/AccessRequirementList'),\n ),\n AccessRequirementRelatedProjectsList: lazy(\n () => import('./components/AccessRequirementRelatedProjectsList'),\n ),\n AccountLevelBadges: lazy(\n () => import('./components/AccountLevelBadges/AccountLevelBadges'),\n ),\n AddToDownloadListConfirmationAlert: lazy(\n () =>\n import('./components/download_list/AddToDownloadListConfirmationAlert/AddToDownloadListConfirmationAlert'),\n ),\n AvailableEvaluationQueueList: lazy(\n () =>\n import('./components/ChallengeSubmission/AvailableEvaluationQueueList'),\n ),\n CertificationQuiz: lazy(\n () => import('./components/CertificationQuiz/CertificationQuiz'),\n ),\n CookiesNotification: lazy(() => import('./components/CookiesNotification')),\n CreateOrUpdateAccessRequirementWizard: lazy(\n () => import('./components/CreateOrUpdateAccessRequirementWizard'),\n ),\n CreateOrUpdateDoiModal: lazy(\n () => import('./components/doi/CreateOrUpdateDoiModal'),\n ),\n CreateTableFromCsvDialog: lazy(\n () => import('./components/table/CsvPreview/CreateTableFromCsvDialog'),\n ),\n CreateTableViewWizard: lazy(\n () => import('./components/CreateTableViewWizard/CreateTableViewWizard'),\n ),\n CreatedByModifiedBy: lazy(\n () => import('./components/entity/page/CreatedByModifiedBy'),\n ),\n CsvPreview: lazy(() => import('./components/table/CsvPreview/CsvPreview')),\n CuratorDashboard: lazy(\n () => import('./features/curator/dashboard/CuratorDashboardRouter'),\n ),\n DatasetItemsEditor: lazy(\n () => import('./components/SynapseTable/datasets/DatasetItemsEditor'),\n ),\n DiscussionThread: lazy(() => import('./components/Forum/DiscussionThread')),\n DiscussionEmpty: lazy(() => import('./components/Forum/DiscussionEmpty')),\n DownloadCartPage: lazy(\n () => import('./components/DownloadCart/DownloadCartPage'),\n ),\n EntityAclEditorModal: lazy(\n () => import('./components/EntityAclEditor/EntityAclEditorModal'),\n ),\n EntityActionMenu: lazy(\n () => import('./components/entity/page/action_menu/EntityActionMenu'),\n ),\n EntityBadgeIcons: lazy(\n () => import('./components/EntityBadgeIcons/EntityBadgeIcons'),\n ),\n EntityCitation: lazy(() => import('./components/EntityCitation')),\n ProjectInfo: lazy(() => import('./components/ProjectInfo/ProjectInfo')),\n EntityFinder: lazy(() => import('./components/EntityFinder/EntityFinder')),\n EntityForm: lazy(() => import('./components/EntityForm/EntityForm')),\n EntityHeaderTable: lazy(() => import('./components/EntityHeaderTable')),\n EntityModal: lazy(() => import('./components/entity/metadata/EntityModal')),\n EntityPageBreadcrumbs: lazy(\n () => import('./components/entity/page/breadcrumbs/EntityPageBreadcrumbs'),\n ),\n EntityPageTitleBar: lazy(\n () => import('./components/entity/page/title_bar/EntityPageTitleBar'),\n ),\n EntityTreeTable: lazy(\n () => import('./components/EntityTreeTable/EntityTreeTable'),\n ),\n EntitySidebar: lazy(() => import('./components/EntitySidebar/EntitySidebar')),\n EntityTypeIcon: lazy(() => import('./components/EntityIcon')),\n EntityUploadModal: lazy(\n () => import('./components/EntityUpload/EntityUploadModal'),\n ),\n EntityViewScopeEditorModal: lazy(\n () =>\n import('./components/EntityViewScopeEditor/EntityViewScopeEditorModal'),\n ),\n CreateProjectModal: lazy(() =>\n import('./components/CreateProjectModal/CreateProjectModal').then(m => ({\n default: m.CreateProjectModal,\n })),\n ),\n ErrorPage: lazy(() => import('./components/error/ErrorPage')),\n EvaluationCard: lazy(() => import('./components/Evaluation/EvaluationCard')),\n EvaluationEditorPage: lazy(\n () => import('./components/Evaluation/EvaluationEditorPage'),\n ),\n FavoritesPage: lazy(() => import('./components/favorites/FavoritesPage')),\n ForumSearch: lazy(() => import('./components/ForumSearch/ForumSearch')),\n FullWidthAlert: lazy(\n () => import('./components/FullWidthAlert/FullWidthAlert'),\n ),\n GoogleAnalytics: lazy(\n () => import('./components/GoogleAnalytics/GoogleAnalytics'),\n ),\n GovernanceMarkdownGithub: lazy(\n () => import('./components/Markdown/GovernanceMarkdownGithub'),\n ),\n GridPage: lazy(() => import('./features/curator/GridPage/GridPage')),\n HasAccess: lazy(() => import('./components/HasAccess/HasAccessV2')),\n HelpPopover: lazy(() => import('./components/HelpPopover/HelpPopover')),\n HtmlPreview: lazy(\n () => import('./components/FilePreview/HtmlPreview/HtmlPreview'),\n ),\n IDUReport: lazy(() => import('./components/IDUReport/IDUReport')),\n IconSvg: lazy(() => import('./components/IconSvg/IconSvg')),\n ImposeRestrictionDialog: lazy(\n () =>\n import('./components/AccessRequirement/ImposeRestrictionDialog/ImposeRestrictionDialog'),\n ),\n MetadataTasksPage: lazy(\n () =>\n import('./features/entity/metadata-task/components/MetadataTasksPageRouter'),\n ),\n OAuthManagement: lazy(\n () => import('./components/OAuthClientManagement/OAuthManagement'),\n ),\n OrientationBanner: lazy(\n () => import('./components/OrientationBanner/OrientationBanner'),\n ),\n PageProgress: lazy(() => import('./components/PageProgress/PageProgress')),\n ProjectDataAvailability: lazy(\n () => import('./components/ProjectStorage/ProjectDataAvailability'),\n ),\n ProjectVisibilityChip: lazy(\n () => import('./components/ProjectVisibilityChip/ProjectVisibilityChip'),\n ),\n ProvenanceGraph: lazy(\n () => import('./components/ProvenanceGraph/ProvenanceGraph'),\n ),\n QueryWrapperPlotNav: lazy(\n () => import('./components/QueryWrapperPlotNav/QueryWrapperPlotNav'),\n ),\n RejectProfileValidationRequestModal: lazy(\n () => import('./components/dataaccess/RejectProfileValidationRequestModal'),\n ),\n ReviewerDashboard: lazy(\n () => import('./components/dataaccess/ReviewerDashboard'),\n ),\n SearchQueryWrapperPlotNav: lazy(\n () =>\n import('./components/SearchQueryWrapperPlotNav/SearchQueryWrapperPlotNav'),\n ),\n ShareThisPage: lazy(() => import('./components/ShareThisPage')),\n SkeletonButton: lazy(() => import('./components/Skeleton/SkeletonButton')),\n SqlDefinedTableEditorModal: lazy(\n () =>\n import('./components/SqlDefinedTableEditor/SqlDefinedTableEditorModal'),\n ),\n StandaloneQueryWrapper: lazy(\n () => import('./components/StandaloneQueryWrapper/StandaloneQueryWrapper'),\n ),\n StatisticsPlot: lazy(() => import('./components/StatisticsPlot')),\n SubmissionViewScopeEditorModal: lazy(\n () =>\n import('./components/SubmissionViewScopeEditor/SubmissionViewScopeEditorModal'),\n ),\n SubscriptionPage: lazy(() => import('./components/SubscriptionPage')),\n SynapseChat: lazy(() => import('./components/SynapseChat/SynapseChat')),\n SynapseGrid: lazy(() => import('./components/DataGrid/SynapseGrid')),\n SynapseFooter: lazy(() => import('./components/SynapseFooter/SynapseFooter')),\n SynapseHomepageV2: lazy(\n () => import('./components/SynapseHomepageV2/SynapseHomepageV2'),\n ),\n SynapseNavDrawer: lazy(\n () => import('./components/SynapseNavDrawer/SynapseNavDrawer'),\n ),\n SynapsePlansPage: lazy(\n () => import('./components/SynapseHomepageV2/SynapsePlansPage'),\n ),\n SynapsePortalBanners: lazy(\n () => import('./components/SynapsePortalBanners/SynapsePortalBanners'),\n ),\n SynapseSearchPage: lazy(\n () => import('./components/SynapseSearchPageResults/SynapseSearchPage'),\n ),\n SynapseToastContainer,\n TableColumnSchemaEditor: lazy(\n () =>\n import('./components/TableColumnSchemaEditor/TableColumnSchemaEditor'),\n ),\n TrashCanList: lazy(() => import('./components/trash/TrashCanList')),\n UpdateTableWithCsvDialog: lazy(\n () => import('./components/table/CsvPreview/UpdateTableWithCsvDialog'),\n ),\n UserAccessRequestHistoryPlace: lazy(\n () =>\n import('./components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryPlace'),\n ),\n UserCard: lazy(() => import('./components/UserCard/UserCard')),\n UserProfileLinks: lazy(\n () => import('./components/UserProfileLinks/UserProfileLinks'),\n ),\n displayToast,\n getCurrentCookiePreferences,\n}\n\nconst Analytics = {\n sendAnalyticsEvent,\n sendSearchQuerySubmittedEvent,\n sendSearchResultsReturnedEvent,\n sendSearchResultReturnedEvent,\n sendSearchResultClickedEvent,\n}\n\n// Include the version in the build\nconst SynapseReactClientVersion = __SRC_VERSION__\n\nexport {\n Analytics,\n HttpClient,\n SynapseReactClientVersion,\n SynapseComponents,\n SynapseConstants,\n SynapseClient,\n SynapseContext,\n SynapseEnums,\n SynapseQueries,\n Palettes,\n xssOptions,\n SynapseSessionManager,\n}\n"],"mappings":"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"}
|
|
@@ -2,14 +2,18 @@ import { QueryKey, UseMutationOptions, UseMutationResult, UseQueryOptions, UseQu
|
|
|
2
2
|
import { Configuration } from '@sage-bionetworks/aridhia-client/generated/runtime';
|
|
3
3
|
/**
|
|
4
4
|
* - `invalid_token` / `invalid_issuer` — the gateway's `/authenticate` rejected the Synapse
|
|
5
|
-
* token outright
|
|
5
|
+
* token outright. The gateway currently mints a token whether or not the account is linked
|
|
6
|
+
* to RDCA-DAP, but kept as a recognized shape in case that changes.
|
|
7
|
+
* - `not_authorized` — a FAIR API call (e.g. `GET /fair/requests`) rejected an otherwise-valid
|
|
8
|
+
* Aridhia token with 403 `{ error: { message: 'Not authorised for this operation' } }`. This
|
|
9
|
+
* is the actual eligibility signal in practice: it means no linked RDCA-DAP account yet.
|
|
6
10
|
* - `Invalid parameter` — the token-exchange request body was malformed. This is our bug, not
|
|
7
11
|
* the user's eligibility, so it is never treated as an eligibility failure.
|
|
8
12
|
* - `not_configured` — called without an `AridhiaContextProvider` or a Synapse access token;
|
|
9
13
|
* an environment/wiring problem, not a user-eligibility problem.
|
|
10
14
|
* - `unknown` — any other HTTP or network failure.
|
|
11
15
|
*/
|
|
12
|
-
export type AridhiaErrorCode = 'invalid_token' | 'invalid_issuer' | 'Invalid parameter' | 'not_configured' | 'unknown';
|
|
16
|
+
export type AridhiaErrorCode = 'invalid_token' | 'invalid_issuer' | 'not_authorized' | 'Invalid parameter' | 'not_configured' | 'unknown';
|
|
13
17
|
export declare class AridhiaError extends Error {
|
|
14
18
|
code: AridhiaErrorCode;
|
|
15
19
|
httpStatus?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAridhiaQuery.d.ts","sourceRoot":"","sources":["../../src/aridhia-queries/useAridhiaQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,QAAQ,EACR,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,cAAc,EACf,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACL,aAAa,EAEd,MAAM,oDAAoD,CAAA;AAK3D
|
|
1
|
+
{"version":3,"file":"useAridhiaQuery.d.ts","sourceRoot":"","sources":["../../src/aridhia-queries/useAridhiaQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,QAAQ,EACR,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,cAAc,EACf,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACL,aAAa,EAEd,MAAM,oDAAoD,CAAA;AAK3D;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,gBAAgB,GACxB,eAAe,GACf,gBAAgB,GAChB,gBAAgB,GAChB,mBAAmB,GACnB,gBAAgB,GAChB,SAAS,CAAA;AAEb,qBAAa,YAAa,SAAQ,KAAK;IACrC,IAAI,EAAE,gBAAgB,CAAA;IACtB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,yEAAyE;IACzE,oBAAoB,EAAE,OAAO,CAAA;gBAG3B,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,oBAAoB,CAAC,EAAE,OAAO,CAAA;KAAE;CAQpE;AAiDD,wBAAsB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,CAgD1E;AAuCD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAC/B,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,EAC9C,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,GACrD,cAAc,CAAC,CAAC,EAAE,YAAY,CAAC,CAcjC;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,EACzD,UAAU,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,KAAK,OAAO,CAAC,KAAK,CAAC,EAC5E,OAAO,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,KAAK,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC,GACrE,iBAAiB,CAAC,KAAK,EAAE,YAAY,EAAE,UAAU,CAAC,CAOpD"}
|
|
@@ -37,6 +37,9 @@ async function l(e) {
|
|
|
37
37
|
return n === "invalid_token" || n === "invalid_issuer" || n === "Invalid parameter" ? new o(n, n, {
|
|
38
38
|
httpStatus: t,
|
|
39
39
|
isEligibilityFailure: n !== "Invalid parameter"
|
|
40
|
+
}) : t === 403 && (n?.toLowerCase().includes("not authorised") || n?.toLowerCase().includes("not authorized")) ? new o("not_authorized", n, {
|
|
41
|
+
httpStatus: t,
|
|
42
|
+
isEligibilityFailure: !0
|
|
40
43
|
}) : new o("unknown", n ?? `Aridhia request failed (${t})`, { httpStatus: t });
|
|
41
44
|
}
|
|
42
45
|
let t = s(e);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAridhiaQuery.js","names":[],"sources":["../../src/aridhia-queries/useAridhiaQuery.ts"],"sourcesContent":["import {\n useMutation,\n useQuery,\n QueryKey,\n UseMutationOptions,\n UseMutationResult,\n UseQueryOptions,\n UseQueryResult,\n} from '@tanstack/react-query'\nimport {\n Configuration,\n ResponseError,\n} from '@sage-bionetworks/aridhia-client/generated/runtime'\nimport { useAridhiaContextOptional } from '@/utils/context/AridhiaContext'\nimport { useSynapseContext } from '@/utils/context/SynapseContext'\nimport { createAridhiaApiConfiguration } from './aridhiaTokenExchange'\n\n/**\n * - `invalid_token` / `invalid_issuer` — the gateway's `/authenticate` rejected the Synapse\n * token outright (e.g. no linked RDCA-DAP account yet).\n * - `Invalid parameter` — the token-exchange request body was malformed. This is our bug, not\n * the user's eligibility, so it is never treated as an eligibility failure.\n * - `not_configured` — called without an `AridhiaContextProvider` or a Synapse access token;\n * an environment/wiring problem, not a user-eligibility problem.\n * - `unknown` — any other HTTP or network failure.\n */\nexport type AridhiaErrorCode =\n | 'invalid_token'\n | 'invalid_issuer'\n | 'Invalid parameter'\n | 'not_configured'\n | 'unknown'\n\nexport class AridhiaError extends Error {\n code: AridhiaErrorCode\n httpStatus?: number\n /** true when the failure means \"this user cannot use the DAP API yet\" */\n isEligibilityFailure: boolean\n\n constructor(\n code: AridhiaErrorCode,\n message: string,\n options?: { httpStatus?: number; isEligibilityFailure?: boolean },\n ) {\n super(message)\n this.name = 'AridhiaError'\n this.code = code\n this.httpStatus = options?.httpStatus\n this.isEligibilityFailure = options?.isEligibilityFailure ?? false\n }\n}\n\n/**\n * Pulls a human-usable error string out of a JSON response body:\n * - Gateway OAuth error: `{ error: 'invalid_token' }`\n * - FAIR API error envelope: `{ error: { status: 400, message: '...' } }`\n * - Direct message envelope: `{ message: '...' }`\n *\n * Returns `undefined` when the body carries no recognizable error text.\n */\nfunction extractErrorTextFromBody(body: unknown): string | undefined {\n if (!body || typeof body !== 'object') {\n return undefined\n }\n const errorField = 'error' in body ? body.error : undefined\n if (typeof errorField === 'string') {\n return errorField\n }\n if (errorField && typeof errorField === 'object') {\n if ('message' in errorField && typeof errorField.message === 'string') {\n return errorField.message\n }\n if ('error' in errorField && typeof errorField.error === 'string') {\n return errorField.error\n }\n }\n const messageField = 'message' in body ? body.message : undefined\n if (typeof messageField === 'string') {\n return messageField\n }\n return undefined\n}\n\n/**\n * Pulls a human-usable error string out of a `ResponseError`'s JSON body.\n * Returns `undefined` when the body isn't JSON, was already consumed, or carries no recognizable field.\n */\nasync function extractResponseErrorText(\n response: ResponseError['response'],\n): Promise<string | undefined> {\n try {\n const body: unknown = await response.clone().json()\n return extractErrorTextFromBody(body)\n } catch {\n // Response body wasn't JSON (or was already consumed).\n return undefined\n }\n}\n\nexport async function toAridhiaError(error: unknown): Promise<AridhiaError> {\n if (error instanceof AridhiaError) {\n return error\n }\n if (error instanceof ResponseError) {\n const httpStatus = error.response.status\n const bodyErrorText = await extractResponseErrorText(error.response)\n if (\n bodyErrorText === 'invalid_token' ||\n bodyErrorText === 'invalid_issuer' ||\n bodyErrorText === 'Invalid parameter'\n ) {\n return new AridhiaError(bodyErrorText, bodyErrorText, {\n httpStatus,\n // A malformed request body is our bug, not the user's account state.\n isEligibilityFailure: bodyErrorText !== 'Invalid parameter',\n })\n }\n // An unrecognized error shape (e.g. a FAIR-side validation error on `/requests/`, which\n // uses a different envelope than the gateway's `/authenticate`) — keep `code: 'unknown'`\n // but surface the server's own text verbatim so the caller can quote it.\n return new AridhiaError(\n 'unknown',\n bodyErrorText ?? `Aridhia request failed (${httpStatus})`,\n { httpStatus },\n )\n }\n const bodyText = extractErrorTextFromBody(error)\n if (bodyText) {\n return new AridhiaError('unknown', bodyText)\n }\n return new AridhiaError(\n 'unknown',\n error instanceof Error ? error.message : 'Unknown Aridhia error',\n )\n}\n\n/**\n * Resolves the `AridhiaContext` and the current Synapse access token, exchanges it for a fresh\n * Aridhia token (tokens are single-use — see `aridhiaTokenExchange.ts`), and returns a `run`\n * function that executes a call with the resulting `Configuration`, normalizing any failure into\n * an `AridhiaError`.\n */\nfunction useAridhiaCall(): {\n /** `!!synapseAccessToken && !!aridhiaContext` — every read and write is gated on this. */\n enabled: boolean\n run: <T>(fn: (config: Configuration) => Promise<T>) => Promise<T>\n} {\n const aridhiaContext = useAridhiaContextOptional()\n const { accessToken: synapseAccessToken } = useSynapseContext()\n\n return {\n enabled: !!synapseAccessToken && !!aridhiaContext,\n run: async <T>(fn: (config: Configuration) => Promise<T>): Promise<T> => {\n if (!synapseAccessToken || !aridhiaContext) {\n throw new AridhiaError(\n 'not_configured',\n 'AridhiaContext is not available, or no Synapse access token is present. Make sure to wrap your component with AridhiaContextProvider.',\n )\n }\n try {\n const configuration = await createAridhiaApiConfiguration(\n synapseAccessToken,\n aridhiaContext.apiBasePath,\n aridhiaContext.authenticationRequest,\n )\n return await fn(configuration)\n } catch (error) {\n throw await toAridhiaError(error)\n }\n },\n }\n}\n\n/**\n * Shared query primitive for every Aridhia (C-Path FAIR) read: resolves the `AridhiaContext` and\n * the current Synapse access token, exchanges it for a fresh Aridhia token (tokens are\n * single-use — see `aridhiaTokenExchange.ts`), runs `queryFn` with the resulting `Configuration`,\n * and normalizes any failure into an `AridhiaError`.\n */\nexport function useAridhiaQuery<T>(\n queryKey: QueryKey,\n queryFn: (config: Configuration) => Promise<T>,\n options?: Partial<UseQueryOptions<T, AridhiaError, T>>,\n): UseQueryResult<T, AridhiaError> {\n const { enabled: baseEnabled, run } = useAridhiaCall()\n // Composed, not overridden: a caller's `enabled` (e.g. \"workflowKey is known yet\") can only\n // narrow when the query runs, never bypass the token/context prerequisite.\n const { enabled: callerEnabled, ...restOptions } = options ?? {}\n const enabled =\n callerEnabled === undefined ? baseEnabled : baseEnabled && !!callerEnabled\n\n return useQuery<T, AridhiaError, T>({\n ...restOptions,\n enabled,\n queryKey,\n queryFn: () => run(queryFn),\n })\n}\n\n/**\n * Shared mutation primitive for every Aridhia (C-Path FAIR) write: resolves the `AridhiaContext`\n * and the current Synapse access token, exchanges it for a fresh Aridhia token (tokens are\n * single-use — see `aridhiaTokenExchange.ts`), runs `mutationFn` with the resulting\n * `Configuration` and the mutation variables, and normalizes any failure into an `AridhiaError`.\n */\nexport function useAridhiaMutation<TData, TVariables = void>(\n mutationFn: (config: Configuration, variables: TVariables) => Promise<TData>,\n options?: Partial<UseMutationOptions<TData, AridhiaError, TVariables>>,\n): UseMutationResult<TData, AridhiaError, TVariables> {\n const { run } = useAridhiaCall()\n\n return useMutation<TData, AridhiaError, TVariables>({\n ...options,\n mutationFn: variables => run(config => mutationFn(config, variables)),\n })\n}\n"],"mappings":";;;;;;AAiCA,IAAa,IAAb,cAAkC,MAAM;CACtC;CACA;CAEA;CAEA,YACE,GACA,GACA,GACA;EAKA,AAJA,MAAM,CAAO,GACb,KAAK,OAAO,gBACZ,KAAK,OAAO,GACZ,KAAK,aAAa,GAAS,YAC3B,KAAK,uBAAuB,GAAS,wBAAwB;CAC/D;AACF;AAUA,SAAS,EAAyB,GAAmC;CACnE,IAAI,CAAC,KAAQ,OAAO,KAAS,UAC3B;CAEF,IAAM,IAAa,WAAW,IAAO,EAAK,QAAQ,KAAA;CAClD,IAAI,OAAO,KAAe,UACxB,OAAO;CAET,IAAI,KAAc,OAAO,KAAe,UAAU;EAChD,IAAI,aAAa,KAAc,OAAO,EAAW,WAAY,UAC3D,OAAO,EAAW;EAEpB,IAAI,WAAW,KAAc,OAAO,EAAW,SAAU,UACvD,OAAO,EAAW;CAEtB;CACA,IAAM,IAAe,aAAa,IAAO,EAAK,UAAU,KAAA;CACxD,IAAI,OAAO,KAAiB,UAC1B,OAAO;AAGX;AAMA,eAAe,EACb,GAC6B;CAC7B,IAAI;EAEF,OAAO,EAAyB,MADJ,EAAS,MAAM,EAAE,KAAK,CACd;CACtC,QAAQ;EAEN;CACF;AACF;AAEA,eAAsB,EAAe,GAAuC;CAC1E,IAAI,aAAiB,GACnB,OAAO;CAET,IAAI,aAAiB,GAAe;EAClC,IAAM,IAAa,EAAM,SAAS,QAC5B,IAAgB,MAAM,EAAyB,EAAM,QAAQ;EAenE,OAbE,MAAkB,mBAClB,MAAkB,oBAClB,MAAkB,sBAEX,IAAI,EAAa,GAAe,GAAe;GACpD;GAEA,sBAAsB,MAAkB;EAC1C,CAAC,IAKI,IAAI,EACT,WACA,KAAiB,2BAA2B,EAAW,IACvD,EAAE,cAAW,CACf;CACF;CACA,IAAM,IAAW,EAAyB,CAAK;CAI/C,OAHI,IACK,IAAI,EAAa,WAAW,CAAQ,IAEtC,IAAI,EACT,WACA,aAAiB,QAAQ,EAAM,UAAU,uBAC3C;AACF;AAQA,SAAS,IAIP;CACA,IAAM,IAAiB,EAA0B,GAC3C,EAAE,aAAa,MAAuB,EAAkB;CAE9D,OAAO;EACL,SAAS,CAAC,CAAC,KAAsB,CAAC,CAAC;EACnC,KAAK,OAAU,MAA0D;GACvE,IAAI,CAAC,KAAsB,CAAC,GAC1B,MAAM,IAAI,EACR,kBACA,uIACF;GAEF,IAAI;IAMF,OAAO,MAAM,EAAG,MALY,EAC1B,GACA,EAAe,aACf,EAAe,qBACjB,CAC6B;GAC/B,SAAS,GAAO;IACd,MAAM,MAAM,EAAe,CAAK;GAClC;EACF;CACF;AACF;AAQA,SAAgB,EACd,GACA,GACA,GACiC;CACjC,IAAM,EAAE,SAAS,GAAa,WAAQ,EAAe,GAG/C,EAAE,SAAS,GAAe,GAAG,MAAgB,KAAW,CAAC,GACzD,IACJ,MAAkB,KAAA,IAAY,IAAc,KAAe,CAAC,CAAC;CAE/D,OAAO,EAA6B;EAClC,GAAG;EACH;EACA;EACA,eAAe,EAAI,CAAO;CAC5B,CAAC;AACH;AAQA,SAAgB,EACd,GACA,GACoD;CACpD,IAAM,EAAE,WAAQ,EAAe;CAE/B,OAAO,EAA6C;EAClD,GAAG;EACH,aAAY,MAAa,GAAI,MAAU,EAAW,GAAQ,CAAS,CAAC;CACtE,CAAC;AACH"}
|
|
1
|
+
{"version":3,"file":"useAridhiaQuery.js","names":[],"sources":["../../src/aridhia-queries/useAridhiaQuery.ts"],"sourcesContent":["import {\n useMutation,\n useQuery,\n QueryKey,\n UseMutationOptions,\n UseMutationResult,\n UseQueryOptions,\n UseQueryResult,\n} from '@tanstack/react-query'\nimport {\n Configuration,\n ResponseError,\n} from '@sage-bionetworks/aridhia-client/generated/runtime'\nimport { useAridhiaContextOptional } from '@/utils/context/AridhiaContext'\nimport { useSynapseContext } from '@/utils/context/SynapseContext'\nimport { createAridhiaApiConfiguration } from './aridhiaTokenExchange'\n\n/**\n * - `invalid_token` / `invalid_issuer` — the gateway's `/authenticate` rejected the Synapse\n * token outright. The gateway currently mints a token whether or not the account is linked\n * to RDCA-DAP, but kept as a recognized shape in case that changes.\n * - `not_authorized` — a FAIR API call (e.g. `GET /fair/requests`) rejected an otherwise-valid\n * Aridhia token with 403 `{ error: { message: 'Not authorised for this operation' } }`. This\n * is the actual eligibility signal in practice: it means no linked RDCA-DAP account yet.\n * - `Invalid parameter` — the token-exchange request body was malformed. This is our bug, not\n * the user's eligibility, so it is never treated as an eligibility failure.\n * - `not_configured` — called without an `AridhiaContextProvider` or a Synapse access token;\n * an environment/wiring problem, not a user-eligibility problem.\n * - `unknown` — any other HTTP or network failure.\n */\nexport type AridhiaErrorCode =\n | 'invalid_token'\n | 'invalid_issuer'\n | 'not_authorized'\n | 'Invalid parameter'\n | 'not_configured'\n | 'unknown'\n\nexport class AridhiaError extends Error {\n code: AridhiaErrorCode\n httpStatus?: number\n /** true when the failure means \"this user cannot use the DAP API yet\" */\n isEligibilityFailure: boolean\n\n constructor(\n code: AridhiaErrorCode,\n message: string,\n options?: { httpStatus?: number; isEligibilityFailure?: boolean },\n ) {\n super(message)\n this.name = 'AridhiaError'\n this.code = code\n this.httpStatus = options?.httpStatus\n this.isEligibilityFailure = options?.isEligibilityFailure ?? false\n }\n}\n\n/**\n * Pulls a human-usable error string out of a JSON response body:\n * - Gateway OAuth error: `{ error: 'invalid_token' }`\n * - FAIR API error envelope: `{ error: { status: 400, message: '...' } }`\n * - Direct message envelope: `{ message: '...' }`\n *\n * Returns `undefined` when the body carries no recognizable error text.\n */\nfunction extractErrorTextFromBody(body: unknown): string | undefined {\n if (!body || typeof body !== 'object') {\n return undefined\n }\n const errorField = 'error' in body ? body.error : undefined\n if (typeof errorField === 'string') {\n return errorField\n }\n if (errorField && typeof errorField === 'object') {\n if ('message' in errorField && typeof errorField.message === 'string') {\n return errorField.message\n }\n if ('error' in errorField && typeof errorField.error === 'string') {\n return errorField.error\n }\n }\n const messageField = 'message' in body ? body.message : undefined\n if (typeof messageField === 'string') {\n return messageField\n }\n return undefined\n}\n\n/**\n * Pulls a human-usable error string out of a `ResponseError`'s JSON body.\n * Returns `undefined` when the body isn't JSON, was already consumed, or carries no recognizable field.\n */\nasync function extractResponseErrorText(\n response: ResponseError['response'],\n): Promise<string | undefined> {\n try {\n const body: unknown = await response.clone().json()\n return extractErrorTextFromBody(body)\n } catch {\n // Response body wasn't JSON (or was already consumed).\n return undefined\n }\n}\n\nexport async function toAridhiaError(error: unknown): Promise<AridhiaError> {\n if (error instanceof AridhiaError) {\n return error\n }\n if (error instanceof ResponseError) {\n const httpStatus = error.response.status\n const bodyErrorText = await extractResponseErrorText(error.response)\n if (\n bodyErrorText === 'invalid_token' ||\n bodyErrorText === 'invalid_issuer' ||\n bodyErrorText === 'Invalid parameter'\n ) {\n return new AridhiaError(bodyErrorText, bodyErrorText, {\n httpStatus,\n // A malformed request body is our bug, not the user's account state.\n isEligibilityFailure: bodyErrorText !== 'Invalid parameter',\n })\n }\n // The gateway's `/authenticate` always mints a token regardless of RDCA-DAP linkage; a FAIR\n // resource call (e.g. `/fair/requests`) is what actually rejects an unlinked account, as a\n // 403 with this message in its own `{ error: { message } }` envelope.\n if (\n httpStatus === 403 &&\n (bodyErrorText?.toLowerCase().includes('not authorised') ||\n bodyErrorText?.toLowerCase().includes('not authorized'))\n ) {\n return new AridhiaError('not_authorized', bodyErrorText, {\n httpStatus,\n isEligibilityFailure: true,\n })\n }\n // An unrecognized error shape (e.g. a FAIR-side validation error on `/requests/`, which\n // uses a different envelope than the gateway's `/authenticate`) — keep `code: 'unknown'`\n // but surface the server's own text verbatim so the caller can quote it.\n return new AridhiaError(\n 'unknown',\n bodyErrorText ?? `Aridhia request failed (${httpStatus})`,\n { httpStatus },\n )\n }\n const bodyText = extractErrorTextFromBody(error)\n if (bodyText) {\n return new AridhiaError('unknown', bodyText)\n }\n return new AridhiaError(\n 'unknown',\n error instanceof Error ? error.message : 'Unknown Aridhia error',\n )\n}\n\n/**\n * Resolves the `AridhiaContext` and the current Synapse access token, exchanges it for a fresh\n * Aridhia token (tokens are single-use — see `aridhiaTokenExchange.ts`), and returns a `run`\n * function that executes a call with the resulting `Configuration`, normalizing any failure into\n * an `AridhiaError`.\n */\nfunction useAridhiaCall(): {\n /** `!!synapseAccessToken && !!aridhiaContext` — every read and write is gated on this. */\n enabled: boolean\n run: <T>(fn: (config: Configuration) => Promise<T>) => Promise<T>\n} {\n const aridhiaContext = useAridhiaContextOptional()\n const { accessToken: synapseAccessToken } = useSynapseContext()\n\n return {\n enabled: !!synapseAccessToken && !!aridhiaContext,\n run: async <T>(fn: (config: Configuration) => Promise<T>): Promise<T> => {\n if (!synapseAccessToken || !aridhiaContext) {\n throw new AridhiaError(\n 'not_configured',\n 'AridhiaContext is not available, or no Synapse access token is present. Make sure to wrap your component with AridhiaContextProvider.',\n )\n }\n try {\n const configuration = await createAridhiaApiConfiguration(\n synapseAccessToken,\n aridhiaContext.apiBasePath,\n aridhiaContext.authenticationRequest,\n )\n return await fn(configuration)\n } catch (error) {\n throw await toAridhiaError(error)\n }\n },\n }\n}\n\n/**\n * Shared query primitive for every Aridhia (C-Path FAIR) read: resolves the `AridhiaContext` and\n * the current Synapse access token, exchanges it for a fresh Aridhia token (tokens are\n * single-use — see `aridhiaTokenExchange.ts`), runs `queryFn` with the resulting `Configuration`,\n * and normalizes any failure into an `AridhiaError`.\n */\nexport function useAridhiaQuery<T>(\n queryKey: QueryKey,\n queryFn: (config: Configuration) => Promise<T>,\n options?: Partial<UseQueryOptions<T, AridhiaError, T>>,\n): UseQueryResult<T, AridhiaError> {\n const { enabled: baseEnabled, run } = useAridhiaCall()\n // Composed, not overridden: a caller's `enabled` (e.g. \"workflowKey is known yet\") can only\n // narrow when the query runs, never bypass the token/context prerequisite.\n const { enabled: callerEnabled, ...restOptions } = options ?? {}\n const enabled =\n callerEnabled === undefined ? baseEnabled : baseEnabled && !!callerEnabled\n\n return useQuery<T, AridhiaError, T>({\n ...restOptions,\n enabled,\n queryKey,\n queryFn: () => run(queryFn),\n })\n}\n\n/**\n * Shared mutation primitive for every Aridhia (C-Path FAIR) write: resolves the `AridhiaContext`\n * and the current Synapse access token, exchanges it for a fresh Aridhia token (tokens are\n * single-use — see `aridhiaTokenExchange.ts`), runs `mutationFn` with the resulting\n * `Configuration` and the mutation variables, and normalizes any failure into an `AridhiaError`.\n */\nexport function useAridhiaMutation<TData, TVariables = void>(\n mutationFn: (config: Configuration, variables: TVariables) => Promise<TData>,\n options?: Partial<UseMutationOptions<TData, AridhiaError, TVariables>>,\n): UseMutationResult<TData, AridhiaError, TVariables> {\n const { run } = useAridhiaCall()\n\n return useMutation<TData, AridhiaError, TVariables>({\n ...options,\n mutationFn: variables => run(config => mutationFn(config, variables)),\n })\n}\n"],"mappings":";;;;;;AAsCA,IAAa,IAAb,cAAkC,MAAM;CACtC;CACA;CAEA;CAEA,YACE,GACA,GACA,GACA;EAKA,AAJA,MAAM,CAAO,GACb,KAAK,OAAO,gBACZ,KAAK,OAAO,GACZ,KAAK,aAAa,GAAS,YAC3B,KAAK,uBAAuB,GAAS,wBAAwB;CAC/D;AACF;AAUA,SAAS,EAAyB,GAAmC;CACnE,IAAI,CAAC,KAAQ,OAAO,KAAS,UAC3B;CAEF,IAAM,IAAa,WAAW,IAAO,EAAK,QAAQ,KAAA;CAClD,IAAI,OAAO,KAAe,UACxB,OAAO;CAET,IAAI,KAAc,OAAO,KAAe,UAAU;EAChD,IAAI,aAAa,KAAc,OAAO,EAAW,WAAY,UAC3D,OAAO,EAAW;EAEpB,IAAI,WAAW,KAAc,OAAO,EAAW,SAAU,UACvD,OAAO,EAAW;CAEtB;CACA,IAAM,IAAe,aAAa,IAAO,EAAK,UAAU,KAAA;CACxD,IAAI,OAAO,KAAiB,UAC1B,OAAO;AAGX;AAMA,eAAe,EACb,GAC6B;CAC7B,IAAI;EAEF,OAAO,EAAyB,MADJ,EAAS,MAAM,EAAE,KAAK,CACd;CACtC,QAAQ;EAEN;CACF;AACF;AAEA,eAAsB,EAAe,GAAuC;CAC1E,IAAI,aAAiB,GACnB,OAAO;CAET,IAAI,aAAiB,GAAe;EAClC,IAAM,IAAa,EAAM,SAAS,QAC5B,IAAgB,MAAM,EAAyB,EAAM,QAAQ;EA4BnE,OA1BE,MAAkB,mBAClB,MAAkB,oBAClB,MAAkB,sBAEX,IAAI,EAAa,GAAe,GAAe;GACpD;GAEA,sBAAsB,MAAkB;EAC1C,CAAC,IAMD,MAAe,QACd,GAAe,YAAY,EAAE,SAAS,gBAAgB,KACrD,GAAe,YAAY,EAAE,SAAS,gBAAgB,KAEjD,IAAI,EAAa,kBAAkB,GAAe;GACvD;GACA,sBAAsB;EACxB,CAAC,IAKI,IAAI,EACT,WACA,KAAiB,2BAA2B,EAAW,IACvD,EAAE,cAAW,CACf;CACF;CACA,IAAM,IAAW,EAAyB,CAAK;CAI/C,OAHI,IACK,IAAI,EAAa,WAAW,CAAQ,IAEtC,IAAI,EACT,WACA,aAAiB,QAAQ,EAAM,UAAU,uBAC3C;AACF;AAQA,SAAS,IAIP;CACA,IAAM,IAAiB,EAA0B,GAC3C,EAAE,aAAa,MAAuB,EAAkB;CAE9D,OAAO;EACL,SAAS,CAAC,CAAC,KAAsB,CAAC,CAAC;EACnC,KAAK,OAAU,MAA0D;GACvE,IAAI,CAAC,KAAsB,CAAC,GAC1B,MAAM,IAAI,EACR,kBACA,uIACF;GAEF,IAAI;IAMF,OAAO,MAAM,EAAG,MALY,EAC1B,GACA,EAAe,aACf,EAAe,qBACjB,CAC6B;GAC/B,SAAS,GAAO;IACd,MAAM,MAAM,EAAe,CAAK;GAClC;EACF;CACF;AACF;AAQA,SAAgB,EACd,GACA,GACA,GACiC;CACjC,IAAM,EAAE,SAAS,GAAa,WAAQ,EAAe,GAG/C,EAAE,SAAS,GAAe,GAAG,MAAgB,KAAW,CAAC,GACzD,IACJ,MAAkB,KAAA,IAAY,IAAc,KAAe,CAAC,CAAC;CAE/D,OAAO,EAA6B;EAClC,GAAG;EACH;EACA;EACA,eAAe,EAAI,CAAO;CAC5B,CAAC;AACH;AAQA,SAAgB,EACd,GACA,GACoD;CACpD,IAAM,EAAE,WAAQ,EAAe;CAE/B,OAAO,EAA6C;EAClD,GAAG;EACH,aAAY,MAAa,GAAI,MAAU,EAAW,GAAQ,CAAS,CAAC;CACtE,CAAC;AACH"}
|
package/dist/components/AccessRequirement/ImposeRestrictionDialog/ImposeRestrictionDialog.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ export type ImposeRestrictionFormProps = {
|
|
|
2
2
|
entityId: string;
|
|
3
3
|
open: boolean;
|
|
4
4
|
onClose: () => void;
|
|
5
|
+
onSuccess?: () => void;
|
|
5
6
|
};
|
|
6
7
|
export default function ImposeRestrictionDialog(props: ImposeRestrictionFormProps): import("react/jsx-runtime").JSX.Element;
|
|
7
8
|
//# sourceMappingURL=ImposeRestrictionDialog.d.ts.map
|
package/dist/components/AccessRequirement/ImposeRestrictionDialog/ImposeRestrictionDialog.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImposeRestrictionDialog.d.ts","sourceRoot":"","sources":["../../../../src/components/AccessRequirement/ImposeRestrictionDialog/ImposeRestrictionDialog.tsx"],"names":[],"mappings":"AAeA,MAAM,MAAM,0BAA0B,GAAG;IAEvC,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,MAAM,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"ImposeRestrictionDialog.d.ts","sourceRoot":"","sources":["../../../../src/components/AccessRequirement/ImposeRestrictionDialog/ImposeRestrictionDialog.tsx"],"names":[],"mappings":"AAeA,MAAM,MAAM,0BAA0B,GAAG;IAEvC,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;CACvB,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAC7C,KAAK,EAAE,0BAA0B,2CA4FlC"}
|
package/dist/components/AccessRequirement/ImposeRestrictionDialog/ImposeRestrictionDialog.js
CHANGED
|
@@ -21,29 +21,29 @@ function m(m) {
|
|
|
21
21
|
}),
|
|
22
22
|
"."
|
|
23
23
|
]
|
|
24
|
-
}), { entityId: g, open: _, onClose: v } = m, [
|
|
24
|
+
}), { entityId: g, open: _, onClose: v, onSuccess: y } = m, [b, x] = a(null), { mutate: S, isPending: C } = r({
|
|
25
25
|
onSuccess: () => {
|
|
26
|
-
t("Successfully imposed restriction", "success"), window.open("https://sagebionetworks.jira.com/servicedesk/customer/portal/8/group/15/create/134", "_blank"), v();
|
|
26
|
+
t("Successfully imposed restriction", "success"), window.open("https://sagebionetworks.jira.com/servicedesk/customer/portal/8/group/15/create/134", "_blank"), y?.(), v();
|
|
27
27
|
},
|
|
28
28
|
onError: (e) => {
|
|
29
29
|
t(`Failed to impose restriction: ${e.reason}`, "danger");
|
|
30
30
|
}
|
|
31
31
|
});
|
|
32
|
-
function
|
|
33
|
-
|
|
32
|
+
function w() {
|
|
33
|
+
b ? S(g) : v();
|
|
34
34
|
}
|
|
35
|
-
function
|
|
36
|
-
|
|
35
|
+
function T(e) {
|
|
36
|
+
x(e.target.value === "true");
|
|
37
37
|
}
|
|
38
38
|
return /* @__PURE__ */ f(i, {
|
|
39
39
|
title: "Conditions for Use",
|
|
40
|
-
onConfirm: () =>
|
|
40
|
+
onConfirm: () => w(),
|
|
41
41
|
titleHelpPopoverProps: {
|
|
42
42
|
markdownText: "Conditions for use describes data use requirements that must be fulfilled before downloading.",
|
|
43
43
|
helpUrl: n
|
|
44
44
|
},
|
|
45
|
-
confirmButtonProps: { disabled:
|
|
46
|
-
cancelButtonProps: { disabled:
|
|
45
|
+
confirmButtonProps: { disabled: b == null || C },
|
|
46
|
+
cancelButtonProps: { disabled: C },
|
|
47
47
|
onCancel: () => v(),
|
|
48
48
|
open: _,
|
|
49
49
|
content: /* @__PURE__ */ p(o, {
|
|
@@ -54,8 +54,8 @@ function m(m) {
|
|
|
54
54
|
children: "Is this sensitive human data that must be protected?"
|
|
55
55
|
}),
|
|
56
56
|
/* @__PURE__ */ p(u, {
|
|
57
|
-
value:
|
|
58
|
-
onChange:
|
|
57
|
+
value: b,
|
|
58
|
+
onChange: T,
|
|
59
59
|
children: [/* @__PURE__ */ f(s, {
|
|
60
60
|
control: /* @__PURE__ */ f(l, {}),
|
|
61
61
|
label: "Yes",
|
|
@@ -66,7 +66,7 @@ function m(m) {
|
|
|
66
66
|
value: !1
|
|
67
67
|
})]
|
|
68
68
|
}),
|
|
69
|
-
|
|
69
|
+
b === !1 && /* @__PURE__ */ f(e, {
|
|
70
70
|
variant: "warning",
|
|
71
71
|
isGlobal: !1,
|
|
72
72
|
description: h
|
package/dist/components/AccessRequirement/ImposeRestrictionDialog/ImposeRestrictionDialog.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImposeRestrictionDialog.js","names":[],"sources":["../../../../src/components/AccessRequirement/ImposeRestrictionDialog/ImposeRestrictionDialog.tsx"],"sourcesContent":["import { useCreateLockAccessRequirement } from '@/synapse-queries'\nimport { SYNAPSE_DOCS_SHARING_SETTINGS_PERMISSIONS_CONDITIONS_FOR_USE_URL } from '@/utils/SynapseConstants'\nimport {\n FormControl,\n FormControlLabel,\n FormLabel,\n Radio,\n RadioGroup,\n Typography,\n} from '@mui/material'\nimport { ChangeEvent, useState } from 'react'\nimport { ConfirmationDialog } from '../../ConfirmationDialog'\nimport FullWidthAlert from '../../FullWidthAlert/FullWidthAlert'\nimport { displayToast } from '../../ToastMessage/ToastMessage'\n\nexport type ImposeRestrictionFormProps = {\n /* The ID of the entity that the user may choose to restrict */\n entityId: string\n open: boolean\n onClose: () => void\n}\n\nexport default function ImposeRestrictionDialog(\n props: ImposeRestrictionFormProps,\n) {\n const NOT_HUMAN_DATA_WARNING = (\n <Typography variant={'smallText1'}>\n Sage Bionetworks does not typically impose conditions for use on non-human\n data unless there is a legal, ethical or regulatory reason to do so. If\n you want to add conditions for use to this content, please contact the\n Synapse Access and Compliance Team (ACT) to discuss at{' '}\n <a href={'mailto:act@sagebase.org'}>act@sagebase.org</a>.\n </Typography>\n )\n\n const { entityId, open, onClose } = props\n const [isSensitiveHumanData, setIsSensitiveHumanData] = useState<\n boolean | null\n >(null)\n\n const {\n mutate: createLockedAccessRequirement,\n isPending: createLockedARIsPending,\n } = useCreateLockAccessRequirement({\n onSuccess: () => {\n displayToast('Successfully imposed restriction', 'success')\n // PORTALS-2664: Send the user to the ACT Service Desk\n // so they can tell ACT more information about what kind of\n // Conditions For Use (or Data Access Restriction) should be\n // added.\n window.open(\n 'https://sagebionetworks.jira.com/servicedesk/customer/portal/8/group/15/create/134',\n '_blank',\n )\n onClose()\n },\n onError: e => {\n displayToast(`Failed to impose restriction: ${e.reason}`, 'danger')\n },\n })\n\n function okClickedHandler() {\n if (isSensitiveHumanData) {\n createLockedAccessRequirement(entityId)\n } else {\n onClose()\n }\n }\n\n function radioOnChangeHandler(event: ChangeEvent<HTMLInputElement>) {\n setIsSensitiveHumanData((event.target as HTMLInputElement).value === 'true')\n }\n\n return (\n <ConfirmationDialog\n title={'Conditions for Use'}\n onConfirm={() => okClickedHandler()}\n titleHelpPopoverProps={{\n markdownText:\n 'Conditions for use describes data use requirements that must be fulfilled before downloading.',\n helpUrl:\n SYNAPSE_DOCS_SHARING_SETTINGS_PERMISSIONS_CONDITIONS_FOR_USE_URL,\n }}\n confirmButtonProps={{\n disabled: isSensitiveHumanData == null || createLockedARIsPending,\n }}\n cancelButtonProps={{\n disabled: createLockedARIsPending,\n }}\n onCancel={() => onClose()}\n open={open}\n content={\n <FormControl sx={{ width: '100%' }}>\n <FormLabel id=\"demo-radio-buttons-group-label\">\n Is this sensitive human data that must be protected?\n </FormLabel>\n <RadioGroup\n value={isSensitiveHumanData}\n onChange={radioOnChangeHandler}\n >\n <FormControlLabel control={<Radio />} label={'Yes'} value={true} />\n <FormControlLabel control={<Radio />} label={'No'} value={false} />\n </RadioGroup>\n {isSensitiveHumanData === false && (\n <FullWidthAlert\n variant={'warning'}\n isGlobal={false}\n description={NOT_HUMAN_DATA_WARNING}\n />\n )}\n </FormControl>\n }\n />\n )\n}\n"],"mappings":";;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"ImposeRestrictionDialog.js","names":[],"sources":["../../../../src/components/AccessRequirement/ImposeRestrictionDialog/ImposeRestrictionDialog.tsx"],"sourcesContent":["import { useCreateLockAccessRequirement } from '@/synapse-queries'\nimport { SYNAPSE_DOCS_SHARING_SETTINGS_PERMISSIONS_CONDITIONS_FOR_USE_URL } from '@/utils/SynapseConstants'\nimport {\n FormControl,\n FormControlLabel,\n FormLabel,\n Radio,\n RadioGroup,\n Typography,\n} from '@mui/material'\nimport { ChangeEvent, useState } from 'react'\nimport { ConfirmationDialog } from '../../ConfirmationDialog'\nimport FullWidthAlert from '../../FullWidthAlert/FullWidthAlert'\nimport { displayToast } from '../../ToastMessage/ToastMessage'\n\nexport type ImposeRestrictionFormProps = {\n /* The ID of the entity that the user may choose to restrict */\n entityId: string\n open: boolean\n onClose: () => void\n onSuccess?: () => void\n}\n\nexport default function ImposeRestrictionDialog(\n props: ImposeRestrictionFormProps,\n) {\n const NOT_HUMAN_DATA_WARNING = (\n <Typography variant={'smallText1'}>\n Sage Bionetworks does not typically impose conditions for use on non-human\n data unless there is a legal, ethical or regulatory reason to do so. If\n you want to add conditions for use to this content, please contact the\n Synapse Access and Compliance Team (ACT) to discuss at{' '}\n <a href={'mailto:act@sagebase.org'}>act@sagebase.org</a>.\n </Typography>\n )\n\n const { entityId, open, onClose, onSuccess } = props\n const [isSensitiveHumanData, setIsSensitiveHumanData] = useState<\n boolean | null\n >(null)\n\n const {\n mutate: createLockedAccessRequirement,\n isPending: createLockedARIsPending,\n } = useCreateLockAccessRequirement({\n onSuccess: () => {\n displayToast('Successfully imposed restriction', 'success')\n // PORTALS-2664: Send the user to the ACT Service Desk\n // so they can tell ACT more information about what kind of\n // Conditions For Use (or Data Access Restriction) should be\n // added.\n window.open(\n 'https://sagebionetworks.jira.com/servicedesk/customer/portal/8/group/15/create/134',\n '_blank',\n )\n onSuccess?.()\n onClose()\n },\n onError: e => {\n displayToast(`Failed to impose restriction: ${e.reason}`, 'danger')\n },\n })\n\n function okClickedHandler() {\n if (isSensitiveHumanData) {\n createLockedAccessRequirement(entityId)\n } else {\n onClose()\n }\n }\n\n function radioOnChangeHandler(event: ChangeEvent<HTMLInputElement>) {\n setIsSensitiveHumanData((event.target as HTMLInputElement).value === 'true')\n }\n\n return (\n <ConfirmationDialog\n title={'Conditions for Use'}\n onConfirm={() => okClickedHandler()}\n titleHelpPopoverProps={{\n markdownText:\n 'Conditions for use describes data use requirements that must be fulfilled before downloading.',\n helpUrl:\n SYNAPSE_DOCS_SHARING_SETTINGS_PERMISSIONS_CONDITIONS_FOR_USE_URL,\n }}\n confirmButtonProps={{\n disabled: isSensitiveHumanData == null || createLockedARIsPending,\n }}\n cancelButtonProps={{\n disabled: createLockedARIsPending,\n }}\n onCancel={() => onClose()}\n open={open}\n content={\n <FormControl sx={{ width: '100%' }}>\n <FormLabel id=\"demo-radio-buttons-group-label\">\n Is this sensitive human data that must be protected?\n </FormLabel>\n <RadioGroup\n value={isSensitiveHumanData}\n onChange={radioOnChangeHandler}\n >\n <FormControlLabel control={<Radio />} label={'Yes'} value={true} />\n <FormControlLabel control={<Radio />} label={'No'} value={false} />\n </RadioGroup>\n {isSensitiveHumanData === false && (\n <FullWidthAlert\n variant={'warning'}\n isGlobal={false}\n description={NOT_HUMAN_DATA_WARNING}\n />\n )}\n </FormControl>\n }\n />\n )\n}\n"],"mappings":";;;;;;;;;;;AAuBA,SAAwB,EACtB,GACA;CACA,IAAM,IACJ,kBAAC,GAAD;EAAY,SAAS;YAArB;GAAmC;GAIsB;GACvD,kBAAC,KAAD;IAAG,MAAM;cAA2B;GAAmB,CAAA;GAAC;EAC9C;KAGR,EAAE,aAAU,SAAM,YAAS,iBAAc,GACzC,CAAC,GAAsB,KAA2B,EAEtD,IAAI,GAEA,EACJ,QAAQ,GACR,WAAW,MACT,EAA+B;EACjC,iBAAiB;GAWf,AAVA,EAAa,oCAAoC,SAAS,GAK1D,OAAO,KACL,sFACA,QACF,GACA,IAAY,GACZ,EAAQ;EACV;EACA,UAAS,MAAK;GACZ,EAAa,iCAAiC,EAAE,UAAU,QAAQ;EACpE;CACF,CAAC;CAED,SAAS,IAAmB;EAC1B,AAAI,IACF,EAA8B,CAAQ,IAEtC,EAAQ;CAEZ;CAEA,SAAS,EAAqB,GAAsC;EAClE,EAAyB,EAAM,OAA4B,UAAU,MAAM;CAC7E;CAEA,OACE,kBAAC,GAAD;EACE,OAAO;EACP,iBAAiB,EAAiB;EAClC,uBAAuB;GACrB,cACE;GACF,SACE;EACJ;EACA,oBAAoB,EAClB,UAAU,KAAwB,QAAQ,EAC5C;EACA,mBAAmB,EACjB,UAAU,EACZ;EACA,gBAAgB,EAAQ;EAClB;EACN,SACE,kBAAC,GAAD;GAAa,IAAI,EAAE,OAAO,OAAO;aAAjC;IACE,kBAAC,GAAD;KAAW,IAAG;eAAiC;IAEpC,CAAA;IACX,kBAAC,GAAD;KACE,OAAO;KACP,UAAU;eAFZ,CAIE,kBAAC,GAAD;MAAkB,SAAS,kBAAC,GAAD,CAAQ,CAAA;MAAG,OAAO;MAAO,OAAO;KAAO,CAAA,GAClE,kBAAC,GAAD;MAAkB,SAAS,kBAAC,GAAD,CAAQ,CAAA;MAAG,OAAO;MAAM,OAAO;KAAQ,CAAA,CACxD;;IACX,MAAyB,MACxB,kBAAC,GAAD;KACE,SAAS;KACT,UAAU;KACV,aAAa;IACd,CAAA;GAEQ;;CAEhB,CAAA;AAEL"}
|
|
@@ -3,7 +3,8 @@ export type AridhiaAccessStatusProps = {
|
|
|
3
3
|
* dataset code
|
|
4
4
|
*/
|
|
5
5
|
datasetCode: string;
|
|
6
|
-
|
|
6
|
+
/** Base URL of the RDCA-DAP FAIR portal's browsable UI, e.g. `https://fair.dap.c-path.org`. */
|
|
7
|
+
fairPortalUrl?: string;
|
|
7
8
|
};
|
|
8
9
|
/**
|
|
9
10
|
* Component that displays the Aridhia data access request status.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AridhiaAccessStatus.d.ts","sourceRoot":"","sources":["../../../src/components/Aridhia/AridhiaAccessStatus.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AridhiaAccessStatus.d.ts","sourceRoot":"","sources":["../../../src/components/Aridhia/AridhiaAccessStatus.tsx"],"names":[],"mappings":"AAoBA,MAAM,MAAM,wBAAwB,GAAG;IACrC;;OAEG;IACH,WAAW,EAAE,MAAM,CAAA;IACnB,+FAA+F;IAC/F,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,2CAkK1E"}
|
|
@@ -7,24 +7,27 @@ import { DialogBase as r } from "../DialogBase.js";
|
|
|
7
7
|
import i, { RestrictionUiType as a } from "../HasAccess/AccessIcon.js";
|
|
8
8
|
import { FeatureFlagEnum as o } from "../../utils/featureflag/FeatureFlags.js";
|
|
9
9
|
import { findRequestForDataset as s, getRestrictionUiTypeFromAridhiaRequest as c } from "./aridhiaAccessStatusUtils.js";
|
|
10
|
-
import {
|
|
10
|
+
import { getAridhiaFairPortalDatasetUrl as l } from "./aridhiaFairPortalUrls.js";
|
|
11
|
+
import { useGetAridhiaRequests as u } from "../../aridhia-queries/useGetAridhiaRequests.js";
|
|
11
12
|
import "../../aridhia-queries/index.js";
|
|
12
|
-
import
|
|
13
|
-
import
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
13
|
+
import d from "./AridhiaDarStatusPopover.js";
|
|
14
|
+
import f from "./RdcaDapEligibilityDialog.js";
|
|
15
|
+
import { useAridhiaDarWizardParts as p } from "./DarWizard/AridhiaDarWizard.js";
|
|
16
|
+
import { useState as m } from "react";
|
|
17
|
+
import { Button as h } from "@mui/material";
|
|
18
|
+
import { Fragment as g, jsx as _, jsxs as v } from "react/jsx-runtime";
|
|
16
19
|
//#region src/components/Aridhia/AridhiaAccessStatus.tsx
|
|
17
|
-
var
|
|
20
|
+
var y = {
|
|
18
21
|
p: "0px",
|
|
19
22
|
minWidth: "unset"
|
|
20
23
|
};
|
|
21
|
-
function
|
|
22
|
-
let { datasetCode:
|
|
23
|
-
enabled:
|
|
24
|
-
onClose: () =>
|
|
24
|
+
function b(b) {
|
|
25
|
+
let { datasetCode: x, fairPortalUrl: S } = b, { isAuthenticated: C } = t(), w = n(o.AMPALS_RDCA_DAP_FORM_ENABLED), { data: T, isLoading: E, isError: D, error: O } = u(), [k, A] = m(null), [j, M] = m(!1), [N, P] = m(!1), { content: F, actions: I } = p({ datasetCode: x }, {
|
|
26
|
+
enabled: N,
|
|
27
|
+
onClose: () => P(!1)
|
|
25
28
|
});
|
|
26
|
-
if (!
|
|
27
|
-
sx:
|
|
29
|
+
if (!C) return /* @__PURE__ */ _(h, {
|
|
30
|
+
sx: y,
|
|
28
31
|
className: e,
|
|
29
32
|
onClick: (e) => {
|
|
30
33
|
if (e.isTrusted) {
|
|
@@ -32,30 +35,53 @@ function _(_) {
|
|
|
32
35
|
e.currentTarget.dispatchEvent(t);
|
|
33
36
|
}
|
|
34
37
|
},
|
|
35
|
-
children: /* @__PURE__ */
|
|
38
|
+
children: /* @__PURE__ */ _(i, { restrictionUiType: a.AccessBlockedToAnonymous })
|
|
36
39
|
});
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
40
|
+
let L = null;
|
|
41
|
+
if (!E) if (D && O.isEligibilityFailure) L = /* @__PURE__ */ v(g, { children: [/* @__PURE__ */ _(h, {
|
|
42
|
+
sx: y,
|
|
43
|
+
onClick: () => M(!0),
|
|
44
|
+
"aria-label": "Link your RDCA-DAP account",
|
|
45
|
+
children: /* @__PURE__ */ _(i, { restrictionUiType: a.AccessBlockedByRDCADAPAccountNotLinked })
|
|
46
|
+
}), /* @__PURE__ */ _(f, {
|
|
47
|
+
open: j,
|
|
48
|
+
onClose: () => M(!1)
|
|
49
|
+
})] });
|
|
50
|
+
else {
|
|
51
|
+
let e = s(T?.items ?? [], x), t = c(e), n = /* @__PURE__ */ _(i, { restrictionUiType: t });
|
|
52
|
+
t === a.AccessibleOnRDCADAP || !e && !w ? L = S ? /* @__PURE__ */ _("a", {
|
|
53
|
+
href: l(S, x),
|
|
54
|
+
target: "_blank",
|
|
55
|
+
rel: "noopener noreferrer",
|
|
56
|
+
children: n
|
|
57
|
+
}) : n : e ? L = /* @__PURE__ */ v(g, { children: [/* @__PURE__ */ _(h, {
|
|
58
|
+
sx: y,
|
|
59
|
+
onClick: (e) => A(e.currentTarget),
|
|
60
|
+
"aria-label": "View data access request status",
|
|
61
|
+
children: n
|
|
62
|
+
}), /* @__PURE__ */ _(d, {
|
|
63
|
+
open: !!k,
|
|
64
|
+
anchorEl: k,
|
|
65
|
+
onClose: () => A(null),
|
|
66
|
+
request: e,
|
|
67
|
+
fairPortalUrl: S
|
|
68
|
+
})] }) : w && (L = /* @__PURE__ */ _(h, {
|
|
69
|
+
sx: y,
|
|
70
|
+
onClick: () => P(!0),
|
|
71
|
+
"aria-label": "Request data access",
|
|
72
|
+
children: n
|
|
73
|
+
}));
|
|
74
|
+
}
|
|
75
|
+
return /* @__PURE__ */ v(g, { children: [L, /* @__PURE__ */ _(r, {
|
|
76
|
+
open: N,
|
|
77
|
+
onCancel: () => P(!1),
|
|
52
78
|
maxWidth: "md",
|
|
53
79
|
title: "Request Data Access",
|
|
54
|
-
content:
|
|
55
|
-
actions:
|
|
80
|
+
content: F,
|
|
81
|
+
actions: I
|
|
56
82
|
})] });
|
|
57
83
|
}
|
|
58
84
|
//#endregion
|
|
59
|
-
export {
|
|
85
|
+
export { b as default };
|
|
60
86
|
|
|
61
87
|
//# sourceMappingURL=AridhiaAccessStatus.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AridhiaAccessStatus.js","names":[],"sources":["../../../src/components/Aridhia/AridhiaAccessStatus.tsx"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"AridhiaAccessStatus.js","names":[],"sources":["../../../src/components/Aridhia/AridhiaAccessStatus.tsx"],"sourcesContent":["import { ReactNode, useState } from 'react'\nimport { useGetAridhiaRequests } from '@/aridhia-queries'\nimport { useGetFeatureFlag } from '@/synapse-queries'\nimport { useSynapseContext } from '@/utils'\nimport { FeatureFlagEnum } from '@/utils/featureflag/FeatureFlags'\nimport { SRC_SIGN_IN_CLASS } from '@/utils/SynapseConstants'\nimport { Button } from '@mui/material'\nimport { DialogBase } from '../DialogBase'\nimport AccessIcon, { RestrictionUiType } from '../HasAccess/AccessIcon'\nimport {\n findRequestForDataset,\n getRestrictionUiTypeFromAridhiaRequest,\n} from './aridhiaAccessStatusUtils'\nimport { getAridhiaFairPortalDatasetUrl } from './aridhiaFairPortalUrls'\nimport AridhiaDarStatusPopover from './AridhiaDarStatusPopover'\nimport { useAridhiaDarWizardParts } from './DarWizard/AridhiaDarWizard'\nimport RdcaDapEligibilityDialog from './RdcaDapEligibilityDialog'\n\nconst buttonSx = { p: '0px', minWidth: 'unset' }\n\nexport type AridhiaAccessStatusProps = {\n /**\n * dataset code\n */\n datasetCode: string\n /** Base URL of the RDCA-DAP FAIR portal's browsable UI, e.g. `https://fair.dap.c-path.org`. */\n fairPortalUrl?: string\n}\n\n/**\n * Component that displays the Aridhia data access request status.\n * If the user is not authenticated with Aridhia, shows a sign-in button.\n * Otherwise, shows the access status based on the data access requests.\n */\nexport default function AridhiaAccessStatus(props: AridhiaAccessStatusProps) {\n const { datasetCode, fairPortalUrl } = props\n const { isAuthenticated } = useSynapseContext()\n const isDarFormEnabled = useGetFeatureFlag(\n FeatureFlagEnum.AMPALS_RDCA_DAP_FORM_ENABLED,\n )\n\n const {\n data: requestsResponse,\n isLoading,\n isError,\n error,\n } = useGetAridhiaRequests()\n const [popoverAnchorEl, setPopoverAnchorEl] = useState<HTMLElement | null>(\n null,\n )\n const [eligibilityDialogOpen, setEligibilityDialogOpen] = useState(false)\n const [requestDialogOpen, setRequestDialogOpen] = useState(false)\n const { content: wizardContent, actions: wizardActions } =\n useAridhiaDarWizardParts(\n { datasetCode },\n {\n enabled: requestDialogOpen,\n onClose: () => setRequestDialogOpen(false),\n },\n )\n\n if (!isAuthenticated) {\n return (\n <Button\n sx={buttonSx}\n className={SRC_SIGN_IN_CLASS}\n onClick={ev => {\n if (ev.isTrusted) {\n /*\n There is a tricky problem - \n The portals listens to click events for buttons with the class SRC_SIGN_IN_CLASS set, it listens to this event\n so that it can display the login modal.\n\n This button has an svg inside of it which is problematic because more often than not clicking this button will \n instead click that svg. The event listener in the portals will break as a result.\n\n Though the svg may get the actual click event, because of event bubbling this button will get its onClick called.\n Once onClick is called we can manually dispatch an event off of this button. This does pose a problem, we end up in a \n infinite loop because this button keeps dispatching click events, so we can use the isTrusted to recognize if onClick was\n triggered programmatically or by user click. Lastly, using { bubbles: true } ensures the event bubbles up to the document level.\n\n */\n const clickEvent = new MouseEvent('click', { bubbles: true })\n ev.currentTarget.dispatchEvent(clickEvent)\n }\n }}\n >\n <AccessIcon\n restrictionUiType={RestrictionUiType.AccessBlockedToAnonymous}\n />\n </Button>\n )\n }\n\n let content: ReactNode = null\n if (isLoading) {\n // Show loading state — nothing to render yet.\n } else if (isError && error.isEligibilityFailure) {\n // The token exchange (or any other request) failed because this user has no linked\n // RDCA-DAP account yet — the DAR wizard is unreachable until that's resolved.\n content = (\n <>\n <Button\n sx={buttonSx}\n onClick={() => setEligibilityDialogOpen(true)}\n aria-label=\"Link your RDCA-DAP account\"\n >\n <AccessIcon\n restrictionUiType={\n RestrictionUiType.AccessBlockedByRDCADAPAccountNotLinked\n }\n />\n </Button>\n <RdcaDapEligibilityDialog\n open={eligibilityDialogOpen}\n onClose={() => setEligibilityDialogOpen(false)}\n />\n </>\n )\n } else {\n // Check if there's a request for this dataset\n const entityRequest = findRequestForDataset(\n requestsResponse?.items ?? [],\n datasetCode,\n )\n const restrictionUiType =\n getRestrictionUiTypeFromAridhiaRequest(entityRequest)\n const icon = <AccessIcon restrictionUiType={restrictionUiType} />\n\n if (\n restrictionUiType === RestrictionUiType.AccessibleOnRDCADAP ||\n (!entityRequest && !isDarFormEnabled)\n ) {\n // Approved, or no request yet with the in-app request form not enabled — keep the\n // existing link-out to RDCA-DAP to access or request the data.\n content = fairPortalUrl ? (\n <a\n href={getAridhiaFairPortalDatasetUrl(fairPortalUrl, datasetCode)}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {icon}\n </a>\n ) : (\n icon\n )\n } else if (entityRequest) {\n // Pending or denied — click opens the status popover.\n content = (\n <>\n <Button\n sx={buttonSx}\n onClick={ev => setPopoverAnchorEl(ev.currentTarget)}\n aria-label=\"View data access request status\"\n >\n {icon}\n </Button>\n <AridhiaDarStatusPopover\n open={!!popoverAnchorEl}\n anchorEl={popoverAnchorEl}\n onClose={() => setPopoverAnchorEl(null)}\n request={entityRequest}\n fairPortalUrl={fairPortalUrl}\n />\n </>\n )\n } else if (isDarFormEnabled) {\n // No request yet, and the in-app request form is enabled — the icon opens the request\n // wizard in a dialog. The same wizard also renders at the route-based, non-modal\n // `AridhiaDarWizard` page for a full-page entry point.\n content = (\n <Button\n sx={buttonSx}\n onClick={() => setRequestDialogOpen(true)}\n aria-label=\"Request data access\"\n >\n {icon}\n </Button>\n )\n }\n }\n\n return (\n <>\n {content}\n {/* Ensure all authenticated return paths render the wizard dialog to prevent flicker as the DAR state changes (e.g. on the confirmation screen). */}\n <DialogBase\n open={requestDialogOpen}\n onCancel={() => setRequestDialogOpen(false)}\n maxWidth=\"md\"\n title=\"Request Data Access\"\n content={wizardContent}\n actions={wizardActions}\n />\n </>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAkBA,IAAM,IAAW;CAAE,GAAG;CAAO,UAAU;AAAQ;AAgB/C,SAAwB,EAAoB,GAAiC;CAC3E,IAAM,EAAE,gBAAa,qBAAkB,GACjC,EAAE,uBAAoB,EAAkB,GACxC,IAAmB,EACvB,EAAgB,4BAClB,GAEM,EACJ,MAAM,GACN,cACA,YACA,aACE,EAAsB,GACpB,CAAC,GAAiB,KAAsB,EAC5C,IACF,GACM,CAAC,GAAuB,KAA4B,EAAS,EAAK,GAClE,CAAC,GAAmB,KAAwB,EAAS,EAAK,GAC1D,EAAE,SAAS,GAAe,SAAS,MACvC,EACE,EAAE,eAAY,GACd;EACE,SAAS;EACT,eAAe,EAAqB,EAAK;CAC3C,CACF;CAEF,IAAI,CAAC,GACH,OACE,kBAAC,GAAD;EACE,IAAI;EACJ,WAAW;EACX,UAAS,MAAM;GACb,IAAI,EAAG,WAAW;IAehB,IAAM,IAAa,IAAI,WAAW,SAAS,EAAE,SAAS,GAAK,CAAC;IAC5D,EAAG,cAAc,cAAc,CAAU;GAC3C;EACF;YAEA,kBAAC,GAAD,EACE,mBAAmB,EAAkB,yBACtC,CAAA;CACK,CAAA;CAIZ,IAAI,IAAqB;CACzB,IAAI,IAEG,IAAI,KAAW,EAAM,sBAG1B,IACE,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,GAAD;EACE,IAAI;EACJ,eAAe,EAAyB,EAAI;EAC5C,cAAW;YAEX,kBAAC,GAAD,EACE,mBACE,EAAkB,uCAErB,CAAA;CACK,CAAA,GACR,kBAAC,GAAD;EACE,MAAM;EACN,eAAe,EAAyB,EAAK;CAC9C,CAAA,CACD,EAAA,CAAA;MAEC;EAEL,IAAM,IAAgB,EACpB,GAAkB,SAAS,CAAC,GAC5B,CACF,GACM,IACJ,EAAuC,CAAa,GAChD,IAAO,kBAAC,GAAD,EAA+B,qBAAoB,CAAA;EAEhE,AACE,MAAsB,EAAkB,uBACvC,CAAC,KAAiB,CAAC,IAIpB,IAAU,IACR,kBAAC,KAAD;GACE,MAAM,EAA+B,GAAe,CAAW;GAC/D,QAAO;GACP,KAAI;aAEH;EACA,CAAA,IAEH,IAEO,IAET,IACE,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,GAAD;GACE,IAAI;GACJ,UAAS,MAAM,EAAmB,EAAG,aAAa;GAClD,cAAW;aAEV;EACK,CAAA,GACR,kBAAC,GAAD;GACE,MAAM,CAAC,CAAC;GACR,UAAU;GACV,eAAe,EAAmB,IAAI;GACtC,SAAS;GACM;EAChB,CAAA,CACD,EAAA,CAAA,IAEK,MAIT,IACE,kBAAC,GAAD;GACE,IAAI;GACJ,eAAe,EAAqB,EAAI;GACxC,cAAW;aAEV;EACK,CAAA;CAGd;CAEA,OACE,kBAAA,GAAA,EAAA,UAAA,CACG,GAED,kBAAC,GAAD;EACE,MAAM;EACN,gBAAgB,EAAqB,EAAK;EAC1C,UAAS;EACT,OAAM;EACN,SAAS;EACT,SAAS;CACV,CAAA,CACD,EAAA,CAAA;AAEN"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { PopoverProps } from '@mui/material';
|
|
2
|
+
import { RequestListItem } from '@sage-bionetworks/aridhia-client/generated/models';
|
|
3
|
+
export type AridhiaDarStatusPopoverProps = Pick<PopoverProps, 'anchorEl' | 'open' | 'id' | 'onClose'> & {
|
|
4
|
+
request: RequestListItem;
|
|
5
|
+
/** Base URL of the RDCA-DAP FAIR portal's browsable UI, e.g. `https://fair.dap.c-path.org`. */
|
|
6
|
+
fairPortalUrl?: string;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Detail popover for a pending or denied DAR.
|
|
10
|
+
*/
|
|
11
|
+
export default function AridhiaDarStatusPopover(props: AridhiaDarStatusPopoverProps): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
//# sourceMappingURL=AridhiaDarStatusPopover.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AridhiaDarStatusPopover.d.ts","sourceRoot":"","sources":["../../../src/components/Aridhia/AridhiaDarStatusPopover.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,YAAY,EAIb,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,eAAe,EAAE,MAAM,mDAAmD,CAAA;AAGnF,MAAM,MAAM,4BAA4B,GAAG,IAAI,CAC7C,YAAY,EACZ,UAAU,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CACvC,GAAG;IACF,OAAO,EAAE,eAAe,CAAA;IACxB,+FAA+F;IAC/F,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAC7C,KAAK,EAAE,4BAA4B,2CAwCpC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { getAridhiaFairPortalRequestUrl as e } from "./aridhiaFairPortalUrls.js";
|
|
2
|
+
import { Link as t, Popover as n, Stack as r, Typography as i } from "@mui/material";
|
|
3
|
+
import { jsx as a, jsxs as o } from "react/jsx-runtime";
|
|
4
|
+
//#region src/components/Aridhia/AridhiaDarStatusPopover.tsx
|
|
5
|
+
function s(s) {
|
|
6
|
+
let { anchorEl: c, open: l, id: u, onClose: d, request: f, fairPortalUrl: p } = s;
|
|
7
|
+
return /* @__PURE__ */ a(n, {
|
|
8
|
+
id: u,
|
|
9
|
+
open: l,
|
|
10
|
+
anchorEl: c,
|
|
11
|
+
onClose: d,
|
|
12
|
+
anchorOrigin: {
|
|
13
|
+
vertical: "bottom",
|
|
14
|
+
horizontal: "center"
|
|
15
|
+
},
|
|
16
|
+
transformOrigin: {
|
|
17
|
+
vertical: "top",
|
|
18
|
+
horizontal: "center"
|
|
19
|
+
},
|
|
20
|
+
children: /* @__PURE__ */ o(r, {
|
|
21
|
+
spacing: 1,
|
|
22
|
+
sx: {
|
|
23
|
+
p: 2,
|
|
24
|
+
maxWidth: 320
|
|
25
|
+
},
|
|
26
|
+
children: [
|
|
27
|
+
/* @__PURE__ */ a(i, {
|
|
28
|
+
variant: "subtitle2",
|
|
29
|
+
children: f.name ?? f.code
|
|
30
|
+
}),
|
|
31
|
+
/* @__PURE__ */ o(i, {
|
|
32
|
+
variant: "body2",
|
|
33
|
+
children: ["Status: ", f.status]
|
|
34
|
+
}),
|
|
35
|
+
f.created_at && /* @__PURE__ */ o(i, {
|
|
36
|
+
variant: "body2",
|
|
37
|
+
children: ["Created: ", new Date(f.created_at).toLocaleDateString()]
|
|
38
|
+
}),
|
|
39
|
+
f.updated_at && /* @__PURE__ */ o(i, {
|
|
40
|
+
variant: "body2",
|
|
41
|
+
children: ["Updated: ", new Date(f.updated_at).toLocaleDateString()]
|
|
42
|
+
}),
|
|
43
|
+
p && f.code && /* @__PURE__ */ a(t, {
|
|
44
|
+
href: e(p, f.code),
|
|
45
|
+
target: "_blank",
|
|
46
|
+
rel: "noopener noreferrer",
|
|
47
|
+
children: "View on RDCA-DAP"
|
|
48
|
+
})
|
|
49
|
+
]
|
|
50
|
+
})
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
//#endregion
|
|
54
|
+
export { s as default };
|
|
55
|
+
|
|
56
|
+
//# sourceMappingURL=AridhiaDarStatusPopover.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AridhiaDarStatusPopover.js","names":[],"sources":["../../../src/components/Aridhia/AridhiaDarStatusPopover.tsx"],"sourcesContent":["import {\n Popover,\n PopoverProps,\n Stack,\n Typography,\n Link as MuiLink,\n} from '@mui/material'\nimport { RequestListItem } from '@sage-bionetworks/aridhia-client/generated/models'\nimport { getAridhiaFairPortalRequestUrl } from './aridhiaFairPortalUrls'\n\nexport type AridhiaDarStatusPopoverProps = Pick<\n PopoverProps,\n 'anchorEl' | 'open' | 'id' | 'onClose'\n> & {\n request: RequestListItem\n /** Base URL of the RDCA-DAP FAIR portal's browsable UI, e.g. `https://fair.dap.c-path.org`. */\n fairPortalUrl?: string\n}\n\n/**\n * Detail popover for a pending or denied DAR.\n */\nexport default function AridhiaDarStatusPopover(\n props: AridhiaDarStatusPopoverProps,\n) {\n const { anchorEl, open, id, onClose, request, fairPortalUrl } = props\n\n return (\n <Popover\n id={id}\n open={open}\n anchorEl={anchorEl}\n onClose={onClose}\n anchorOrigin={{ vertical: 'bottom', horizontal: 'center' }}\n transformOrigin={{ vertical: 'top', horizontal: 'center' }}\n >\n <Stack spacing={1} sx={{ p: 2, maxWidth: 320 }}>\n <Typography variant=\"subtitle2\">\n {request.name ?? request.code}\n </Typography>\n <Typography variant=\"body2\">Status: {request.status}</Typography>\n {request.created_at && (\n <Typography variant=\"body2\">\n Created: {new Date(request.created_at).toLocaleDateString()}\n </Typography>\n )}\n {request.updated_at && (\n <Typography variant=\"body2\">\n Updated: {new Date(request.updated_at).toLocaleDateString()}\n </Typography>\n )}\n {fairPortalUrl && request.code && (\n <MuiLink\n href={getAridhiaFairPortalRequestUrl(fairPortalUrl, request.code)}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n View on RDCA-DAP\n </MuiLink>\n )}\n </Stack>\n </Popover>\n )\n}\n"],"mappings":";;;;AAsBA,SAAwB,EACtB,GACA;CACA,IAAM,EAAE,aAAU,SAAM,OAAI,YAAS,YAAS,qBAAkB;CAEhE,OACE,kBAAC,GAAD;EACM;EACE;EACI;EACD;EACT,cAAc;GAAE,UAAU;GAAU,YAAY;EAAS;EACzD,iBAAiB;GAAE,UAAU;GAAO,YAAY;EAAS;YAEzD,kBAAC,GAAD;GAAO,SAAS;GAAG,IAAI;IAAE,GAAG;IAAG,UAAU;GAAI;aAA7C;IACE,kBAAC,GAAD;KAAY,SAAQ;eACjB,EAAQ,QAAQ,EAAQ;IACf,CAAA;IACZ,kBAAC,GAAD;KAAY,SAAQ;eAApB,CAA4B,YAAS,EAAQ,MAAmB;;IAC/D,EAAQ,cACP,kBAAC,GAAD;KAAY,SAAQ;eAApB,CAA4B,aAChB,IAAI,KAAK,EAAQ,UAAU,EAAE,mBAAmB,CAChD;;IAEb,EAAQ,cACP,kBAAC,GAAD;KAAY,SAAQ;eAApB,CAA4B,aAChB,IAAI,KAAK,EAAQ,UAAU,EAAE,mBAAmB,CAChD;;IAEb,KAAiB,EAAQ,QACxB,kBAAC,GAAD;KACE,MAAM,EAA+B,GAAe,EAAQ,IAAI;KAChE,QAAO;KACP,KAAI;eACL;IAEQ,CAAA;GAEN;;CACA,CAAA;AAEb"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AridhiaDarWizard.d.ts","sourceRoot":"","sources":["../../../../src/components/Aridhia/DarWizard/AridhiaDarWizard.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAgC,MAAM,OAAO,CAAA;AAS/D,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAA;
|
|
1
|
+
{"version":3,"file":"AridhiaDarWizard.d.ts","sourceRoot":"","sources":["../../../../src/components/Aridhia/DarWizard/AridhiaDarWizard.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAgC,MAAM,OAAO,CAAA;AAS/D,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAkB7D,YAAY,EAAE,YAAY,EAAE,CAAA;AAE5B,MAAM,MAAM,qBAAqB,GAAG;IAClC,WAAW,EAAE,MAAM,CAAA;IACnB,yEAAyE;IACzE,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAA;CAC5C,CAAA;AAkCD;;;GAGG;AACH,iBAAS,wBAAwB,CAC/B,KAAK,EAAE,qBAAqB,EAC5B,OAAO,CAAC,EAAE;IACR,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,0FAA0F;IAC1F,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CACrB,GACA;IACD,OAAO,EAAE,SAAS,CAAA;IAClB,OAAO,CAAC,EAAE,SAAS,CAAA;CACpB,CA8ZA;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,2CAY5D;AAED,OAAO,EAAE,wBAAwB,EAAE,CAAA"}
|