synapse-react-client 4.0.32 → 4.0.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/SWC.index.js +1 -1
- package/dist/components/AccessRequirementList/AccessRequirementList.d.ts +5 -1
- package/dist/components/AccessRequirementList/AccessRequirementList.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/AccessRequirementList.js +152 -85
- package/dist/components/AccessRequirementList/AccessRequirementList.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/CancelRequestDataAccess.js +1 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/CancelRequestDataAccess.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsEditor.d.ts +1 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsEditor.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsEditor.js +62 -43
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsEditor.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsFilesForm/DataAccessRequestAccessorsFilesForm.d.ts +6 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsFilesForm/DataAccessRequestAccessorsFilesForm.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsFilesForm/DataAccessRequestAccessorsFilesForm.js +227 -147
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsFilesForm/DataAccessRequestAccessorsFilesForm.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DocumentTemplate.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DocumentTemplate.js +28 -24
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DocumentTemplate.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/EDucPreviewStep/EDucPreviewStep.d.ts +21 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/EDucPreviewStep/EDucPreviewStep.d.ts.map +1 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/EDucPreviewStep/EDucPreviewStep.js +163 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/EDucPreviewStep/EDucPreviewStep.js.map +1 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManualUploadDucStep/ManualUploadDucStep.d.ts +22 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManualUploadDucStep/ManualUploadDucStep.d.ts.map +1 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManualUploadDucStep/ManualUploadDucStep.js +264 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManualUploadDucStep/ManualUploadDucStep.js.map +1 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/RequestDataAccessSuccess.js +1 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/RequestDataAccessSuccess.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ResearchProjectForm/ResearchProjectForm.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ResearchProjectForm/ResearchProjectForm.js +166 -71
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ResearchProjectForm/ResearchProjectForm.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewCollaboratorsAndSigningOfficialAccordion.d.ts +13 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewCollaboratorsAndSigningOfficialAccordion.d.ts.map +1 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewCollaboratorsAndSigningOfficialAccordion.js +122 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewCollaboratorsAndSigningOfficialAccordion.js.map +1 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewDucStep/ReviewDucStep.d.ts +17 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewDucStep/ReviewDucStep.d.ts.map +1 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewDucStep/ReviewDucStep.js +112 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewDucStep/ReviewDucStep.js.map +1 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.d.ts +22 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.d.ts.map +1 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.js +193 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.js.map +1 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/UploadDocumentField.d.ts +1 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/UploadDocumentField.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/UploadDocumentField.js +7 -7
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/UploadDocumentField.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/styles.d.ts +3 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/styles.d.ts.map +1 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/styles.js +9 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/styles.js.map +1 -0
- package/dist/components/CopyToClipboardIcon.d.ts +2 -1
- package/dist/components/CopyToClipboardIcon.d.ts.map +1 -1
- package/dist/components/CopyToClipboardIcon.js +6 -6
- package/dist/components/CopyToClipboardIcon.js.map +1 -1
- package/dist/components/DataGrid/SynapseGrid.d.ts.map +1 -1
- package/dist/components/DataGrid/SynapseGrid.js +230 -215
- package/dist/components/DataGrid/SynapseGrid.js.map +1 -1
- package/dist/components/DataGrid/SyncGridWithSourceButton.js +3 -3
- package/dist/components/DataGrid/SyncGridWithSourceButton.js.map +1 -1
- package/dist/components/DataGrid/columns/DateTimeColumn.js +1 -1
- package/dist/components/DataGrid/columns/DateTimeColumn.js.map +1 -1
- package/dist/components/DataGrid/components/ReorderColumnsButton.d.ts +10 -0
- package/dist/components/DataGrid/components/ReorderColumnsButton.d.ts.map +1 -0
- package/dist/components/DataGrid/components/ReorderColumnsButton.js +37 -0
- package/dist/components/DataGrid/components/ReorderColumnsButton.js.map +1 -0
- package/dist/components/DataGrid/components/ReorderColumnsDialog.d.ts +12 -0
- package/dist/components/DataGrid/components/ReorderColumnsDialog.d.ts.map +1 -0
- package/dist/components/DataGrid/components/ReorderColumnsDialog.js +93 -0
- package/dist/components/DataGrid/components/ReorderColumnsDialog.js.map +1 -0
- package/dist/components/DataGrid/hooks/useGetSchemaForGrid.js +1 -1
- package/dist/components/DataGrid/utils/applyModelChange.d.ts +3 -0
- package/dist/components/DataGrid/utils/applyModelChange.d.ts.map +1 -1
- package/dist/components/DataGrid/utils/applyModelChange.js +5 -0
- package/dist/components/DataGrid/utils/applyModelChange.js.map +1 -1
- package/dist/components/DataGrid/utils/computeDefaultColumnOrder.d.ts +8 -0
- package/dist/components/DataGrid/utils/computeDefaultColumnOrder.d.ts.map +1 -0
- package/dist/components/DataGrid/utils/computeDefaultColumnOrder.js +14 -0
- package/dist/components/DataGrid/utils/computeDefaultColumnOrder.js.map +1 -0
- package/dist/components/EntityBadgeIcons/EntityBadgeIcons.js +1 -1
- package/dist/components/EntityFinder/details/view/DetailsView.d.ts.map +1 -1
- package/dist/components/EntityFinder/details/view/DetailsView.js +119 -122
- package/dist/components/EntityFinder/details/view/DetailsView.js.map +1 -1
- package/dist/components/EntityFinder/details/view/table/AddToDownloadListCell.d.ts +5 -1
- package/dist/components/EntityFinder/details/view/table/AddToDownloadListCell.d.ts.map +1 -1
- package/dist/components/EntityFinder/details/view/table/AddToDownloadListCell.js +7 -7
- package/dist/components/EntityFinder/details/view/table/AddToDownloadListCell.js.map +1 -1
- package/dist/components/EntityLink.d.ts +2 -0
- package/dist/components/EntityLink.d.ts.map +1 -1
- package/dist/components/EntityLink.js +15 -11
- package/dist/components/EntityLink.js.map +1 -1
- package/dist/components/EntitySidebar/AccessAndPermissions.css +1 -0
- package/dist/components/EntitySidebar/AccessAndPermissions.d.ts +7 -0
- package/dist/components/EntitySidebar/AccessAndPermissions.d.ts.map +1 -0
- package/dist/components/EntitySidebar/AccessAndPermissions.js +75 -0
- package/dist/components/EntitySidebar/AccessAndPermissions.js.map +1 -0
- package/dist/components/EntitySidebar/AccessAndPermissions.module.js +15 -0
- package/dist/components/EntitySidebar/AccessAndPermissions.module.js.map +1 -0
- package/dist/components/EntitySidebar/AccessAndPermissions.module.scss +58 -0
- package/dist/components/EntitySidebar/EntitySidebar.css +1 -1
- package/dist/components/EntitySidebar/EntitySidebar.d.ts.map +1 -1
- package/dist/components/EntitySidebar/EntitySidebar.js +54 -42
- package/dist/components/EntitySidebar/EntitySidebar.js.map +1 -1
- package/dist/components/EntitySidebar/EntitySidebar.module.js +10 -11
- package/dist/components/EntitySidebar/EntitySidebar.module.js.map +1 -1
- package/dist/components/EntitySidebar/EntitySidebar.module.scss +6 -13
- package/dist/components/EntityTreeTable/EntityTreeTable.css +1 -1
- package/dist/components/EntityTreeTable/EntityTreeTable.module.js +1 -1
- package/dist/components/EntityTreeTable/EntityTreeTable.module.js.map +1 -1
- package/dist/components/EntityTreeTable/EntityTreeTable.module.scss +18 -0
- package/dist/components/EntityTreeTable/components/ColumnHeaders.d.ts.map +1 -1
- package/dist/components/EntityTreeTable/components/ColumnHeaders.js +20 -7
- package/dist/components/EntityTreeTable/components/ColumnHeaders.js.map +1 -1
- package/dist/components/EntityTreeTable/components/EntityNameCell.d.ts.map +1 -1
- package/dist/components/EntityTreeTable/components/EntityNameCell.js +3 -1
- package/dist/components/EntityTreeTable/components/EntityNameCell.js.map +1 -1
- package/dist/components/EntityTreeTable/components/EntityTreeTableView.d.ts.map +1 -1
- package/dist/components/EntityTreeTable/components/EntityTreeTableView.js +4 -1
- package/dist/components/EntityTreeTable/components/EntityTreeTableView.js.map +1 -1
- package/dist/components/EntityTreeTable/components/IdColumnHeader.d.ts.map +1 -1
- package/dist/components/EntityTreeTable/components/IdColumnHeader.js +3 -1
- package/dist/components/EntityTreeTable/components/IdColumnHeader.js.map +1 -1
- package/dist/components/EntityTreeTable/hooks/useTableColumns.d.ts.map +1 -1
- package/dist/components/EntityTreeTable/hooks/useTableColumns.js +24 -19
- package/dist/components/EntityTreeTable/hooks/useTableColumns.js.map +1 -1
- package/dist/components/FilePreview/PdfPreview.d.ts.map +1 -1
- package/dist/components/FilePreview/PdfPreview.js +23 -20
- package/dist/components/FilePreview/PdfPreview.js.map +1 -1
- package/dist/components/Forum/DiscussionEmpty.css +1 -1
- package/dist/components/Forum/DiscussionEmpty.module.js +4 -4
- package/dist/components/Forum/DiscussionEmpty.module.js.map +1 -1
- package/dist/components/Forum/DiscussionEmpty.module.scss +3 -6
- package/dist/components/GenericCard/SynapseCardLabel.d.ts.map +1 -1
- package/dist/components/GenericCard/SynapseCardLabel.js +100 -99
- package/dist/components/GenericCard/SynapseCardLabel.js.map +1 -1
- package/dist/components/JsonSchema/JsonSchemaPicker/JsonSchemaPicker.css +1 -0
- package/dist/components/JsonSchema/JsonSchemaPicker/JsonSchemaPicker.d.ts +29 -0
- package/dist/components/JsonSchema/JsonSchemaPicker/JsonSchemaPicker.d.ts.map +1 -0
- package/dist/components/JsonSchema/JsonSchemaPicker/JsonSchemaPicker.js +229 -0
- package/dist/components/JsonSchema/JsonSchemaPicker/JsonSchemaPicker.js.map +1 -0
- package/dist/components/JsonSchema/JsonSchemaPicker/JsonSchemaPicker.module.js +9 -0
- package/dist/components/JsonSchema/JsonSchemaPicker/JsonSchemaPicker.module.js.map +1 -0
- package/dist/components/JsonSchema/JsonSchemaPicker/JsonSchemaPicker.module.scss +19 -0
- package/dist/components/JsonSchema/JsonSchemaPicker/JsonSchemaPickerModal.d.ts +23 -0
- package/dist/components/JsonSchema/JsonSchemaPicker/JsonSchemaPickerModal.d.ts.map +1 -0
- package/dist/components/JsonSchema/JsonSchemaPicker/JsonSchemaPickerModal.js +39 -0
- package/dist/components/JsonSchema/JsonSchemaPicker/JsonSchemaPickerModal.js.map +1 -0
- package/dist/components/JsonSchema/JsonSchemaPicker/JsonSchemaVersionSelectionContext.d.ts +14 -0
- package/dist/components/JsonSchema/JsonSchemaPicker/JsonSchemaVersionSelectionContext.d.ts.map +1 -0
- package/dist/components/JsonSchema/JsonSchemaPicker/JsonSchemaVersionSelectionContext.js +12 -0
- package/dist/components/JsonSchema/JsonSchemaPicker/JsonSchemaVersionSelectionContext.js.map +1 -0
- package/dist/components/JsonSchema/JsonSchemaPicker/VersionSelectionType.d.ts +17 -0
- package/dist/components/JsonSchema/JsonSchemaPicker/VersionSelectionType.d.ts.map +1 -0
- package/dist/components/JsonSchema/JsonSchemaPicker/VersionSelectionType.js +8 -0
- package/dist/components/JsonSchema/JsonSchemaPicker/VersionSelectionType.js.map +1 -0
- package/dist/components/JsonSchema/JsonSchemaPicker/index.d.ts +6 -0
- package/dist/components/JsonSchema/JsonSchemaPicker/index.d.ts.map +1 -0
- package/dist/components/JsonSchema/JsonSchemaPicker/index.js +4 -0
- package/dist/components/JsonSchema/JsonSchemaPicker/useJsonSchemaOrganizations.d.ts +20 -0
- package/dist/components/JsonSchema/JsonSchemaPicker/useJsonSchemaOrganizations.d.ts.map +1 -0
- package/dist/components/JsonSchema/JsonSchemaPicker/useJsonSchemaOrganizations.js +25 -0
- package/dist/components/JsonSchema/JsonSchemaPicker/useJsonSchemaOrganizations.js.map +1 -0
- package/dist/components/JsonSchema/JsonSchemaPicker/useJsonSchemaSelection.d.ts +35 -0
- package/dist/components/JsonSchema/JsonSchemaPicker/useJsonSchemaSelection.d.ts.map +1 -0
- package/dist/components/JsonSchema/JsonSchemaPicker/useJsonSchemaSelection.js +60 -0
- package/dist/components/JsonSchema/JsonSchemaPicker/useJsonSchemaSelection.js.map +1 -0
- package/dist/components/ProjectInfo/ProjectInfo.css +1 -1
- package/dist/components/ProjectInfo/ProjectInfo.module.js +5 -5
- package/dist/components/ProjectInfo/ProjectInfo.module.js.map +1 -1
- package/dist/components/ProjectInfo/ProjectInfo.module.scss +2 -4
- package/dist/components/ProjectInfo/ProjectInfoPopover.d.ts.map +1 -1
- package/dist/components/ProjectInfo/ProjectInfoPopover.js +17 -16
- package/dist/components/ProjectInfo/ProjectInfoPopover.js.map +1 -1
- package/dist/components/ProjectStorage/ProjectDataAvailability.d.ts.map +1 -1
- package/dist/components/ProjectStorage/ProjectDataAvailability.js +16 -16
- package/dist/components/ProjectStorage/ProjectDataAvailability.js.map +1 -1
- package/dist/components/ProvenanceGraph/ProvenanceGraph.d.ts.map +1 -1
- package/dist/components/ProvenanceGraph/ProvenanceGraph.js +95 -95
- package/dist/components/ProvenanceGraph/ProvenanceGraph.js.map +1 -1
- package/dist/components/SchemaDrivenAnnotationEditor/SchemaDrivenAnnotationEditor.js +2 -2
- package/dist/components/SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.d.ts.map +1 -1
- package/dist/components/SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.js +120 -92
- package/dist/components/SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.js.map +1 -1
- package/dist/components/StorybookComponentWrapper.d.ts.map +1 -1
- package/dist/components/StorybookComponentWrapper.js +1 -3
- package/dist/components/StorybookComponentWrapper.js.map +1 -1
- package/dist/components/SynapseChat/SynapseChat.d.ts.map +1 -1
- package/dist/components/SynapseChat/SynapseChat.js +40 -40
- package/dist/components/SynapseChat/SynapseChat.js.map +1 -1
- package/dist/components/SynapseChat/SynapseChatInteraction.d.ts +3 -2
- package/dist/components/SynapseChat/SynapseChatInteraction.d.ts.map +1 -1
- package/dist/components/SynapseChat/SynapseChatInteraction.js.map +1 -1
- package/dist/components/SynapseChat/components/AttachmentChip/AttachmentChip.css +1 -1
- package/dist/components/SynapseChat/components/AttachmentChip/AttachmentChip.d.ts.map +1 -1
- package/dist/components/SynapseChat/components/AttachmentChip/AttachmentChip.js +0 -7
- package/dist/components/SynapseChat/components/AttachmentChip/AttachmentChip.js.map +1 -1
- package/dist/components/SynapseChat/components/AttachmentChip/AttachmentChip.module.js +2 -2
- package/dist/components/SynapseChat/components/AttachmentChip/AttachmentChip.module.js.map +1 -1
- package/dist/components/SynapseChat/components/AttachmentChip/AttachmentChip.module.scss +12 -2
- package/dist/components/SynapseChat/components/ChatAttachmentStrip/ChatAttachmentStrip.css +1 -1
- package/dist/components/SynapseChat/components/ChatAttachmentStrip/ChatAttachmentStrip.module.js +3 -3
- package/dist/components/SynapseChat/components/ChatAttachmentStrip/ChatAttachmentStrip.module.js.map +1 -1
- package/dist/components/SynapseChat/components/ChatAttachmentStrip/ChatAttachmentStrip.module.scss +5 -1
- package/dist/components/TanStackTable/ColumnHeader.d.ts +7 -0
- package/dist/components/TanStackTable/ColumnHeader.d.ts.map +1 -1
- package/dist/components/TanStackTable/ColumnHeader.js +10 -9
- package/dist/components/TanStackTable/ColumnHeader.js.map +1 -1
- package/dist/components/TanStackTable/StyledVirtualTanStackTable.d.ts +8 -0
- package/dist/components/TanStackTable/StyledVirtualTanStackTable.d.ts.map +1 -1
- package/dist/components/TanStackTable/StyledVirtualTanStackTable.js +31 -22
- package/dist/components/TanStackTable/StyledVirtualTanStackTable.js.map +1 -1
- package/dist/components/TanStackTable/useFetchNextPageOnScrollToBottom.d.ts +21 -0
- package/dist/components/TanStackTable/useFetchNextPageOnScrollToBottom.d.ts.map +1 -0
- package/dist/components/TanStackTable/useFetchNextPageOnScrollToBottom.js +22 -0
- package/dist/components/TanStackTable/useFetchNextPageOnScrollToBottom.js.map +1 -0
- package/dist/components/dataaccess/AccessRequirementDashboard.d.ts.map +1 -1
- package/dist/components/dataaccess/AccessRequirementDashboard.js +55 -55
- package/dist/components/dataaccess/AccessRequirementDashboard.js.map +1 -1
- package/dist/components/dataaccess/EDucTemplateTable.d.ts +3 -0
- package/dist/components/dataaccess/EDucTemplateTable.d.ts.map +1 -0
- package/dist/components/dataaccess/EDucTemplateTable.js +213 -0
- package/dist/components/dataaccess/EDucTemplateTable.js.map +1 -0
- package/dist/components/dataaccess/ReviewerDashboard.d.ts.map +1 -1
- package/dist/components/dataaccess/ReviewerDashboard.js +44 -34
- package/dist/components/dataaccess/ReviewerDashboard.js.map +1 -1
- package/dist/components/entity/metadata/AnnotationsTable.js +2 -2
- package/dist/components/entity/metadata/AnnotationsTable.js.map +1 -1
- package/dist/components/entity/page/breadcrumbs/EntityPageBreadcrumbs.d.ts.map +1 -1
- package/dist/components/entity/page/breadcrumbs/EntityPageBreadcrumbs.js +8 -8
- package/dist/components/entity/page/breadcrumbs/EntityPageBreadcrumbs.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 +22 -22
- package/dist/components/entity/page/title_bar/EntityPageTitleBar.js.map +1 -1
- package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.d.ts.map +1 -1
- package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.js +62 -68
- package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.js.map +1 -1
- package/dist/components/styled/StyledTableContainer.d.ts +1 -0
- package/dist/components/styled/StyledTableContainer.d.ts.map +1 -1
- package/dist/components/styled/StyledTableContainer.js +3 -3
- package/dist/components/styled/StyledTableContainer.js.map +1 -1
- package/dist/components/widgets/facet-nav/FacetNavPanel.d.ts +2 -0
- package/dist/components/widgets/facet-nav/FacetNavPanel.d.ts.map +1 -1
- package/dist/components/widgets/facet-nav/FacetNavPanel.js +35 -40
- package/dist/components/widgets/facet-nav/FacetNavPanel.js.map +1 -1
- package/dist/mocks/eDuc/mockEDucTemplates.d.ts +7 -0
- package/dist/mocks/eDuc/mockEDucTemplates.d.ts.map +1 -0
- package/dist/mocks/eDuc/mockEDucTemplates.js +18 -0
- package/dist/mocks/eDuc/mockEDucTemplates.js.map +1 -0
- package/dist/mocks/jsonschema/mockJsonSchemaListing.d.ts +31 -0
- package/dist/mocks/jsonschema/mockJsonSchemaListing.d.ts.map +1 -0
- package/dist/mocks/jsonschema/mockJsonSchemaListing.js +101 -0
- package/dist/mocks/jsonschema/mockJsonSchemaListing.js.map +1 -0
- package/dist/mocks/msw/handlers/dataAccessRequestHandlers.d.ts.map +1 -1
- package/dist/mocks/msw/handlers/dataAccessRequestHandlers.js +48 -23
- package/dist/mocks/msw/handlers/dataAccessRequestHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/eDucTemplateHandlers.d.ts +2 -0
- package/dist/mocks/msw/handlers/eDucTemplateHandlers.d.ts.map +1 -0
- package/dist/mocks/msw/handlers/eDucTemplateHandlers.js +14 -0
- package/dist/mocks/msw/handlers/eDucTemplateHandlers.js.map +1 -0
- package/dist/mocks/msw/handlers/jsonSchemaListingHandlers.d.ts +8 -0
- package/dist/mocks/msw/handlers/jsonSchemaListingHandlers.d.ts.map +1 -0
- package/dist/mocks/msw/handlers/jsonSchemaListingHandlers.js +30 -0
- package/dist/mocks/msw/handlers/jsonSchemaListingHandlers.js.map +1 -0
- package/dist/mocks/msw/handlers.d.ts.map +1 -1
- package/dist/mocks/msw/handlers.js +55 -51
- package/dist/mocks/msw/handlers.js.map +1 -1
- package/dist/style/abstracts/_cssVariables.scss +13 -0
- package/dist/style/components/entity_finder/_details-view.scss +0 -10
- package/dist/style/components/facet_nav/_facet-nav-panel.scss +0 -6
- package/dist/style/main.css +1 -1
- package/dist/synapse-client/SynapseClient.d.ts.map +1 -1
- package/dist/synapse-client/SynapseClient.js +2 -6
- package/dist/synapse-client/SynapseClient.js.map +1 -1
- package/dist/synapse-queries/KeyFactory.d.ts +3 -0
- package/dist/synapse-queries/KeyFactory.d.ts.map +1 -1
- package/dist/synapse-queries/KeyFactory.js +9 -0
- package/dist/synapse-queries/KeyFactory.js.map +1 -1
- package/dist/synapse-queries/dataaccess/useEDuc.d.ts +3 -3
- package/dist/synapse-queries/dataaccess/useEDuc.d.ts.map +1 -1
- package/dist/synapse-queries/dataaccess/useEDuc.js +40 -35
- package/dist/synapse-queries/dataaccess/useEDuc.js.map +1 -1
- package/dist/synapse-queries/entity/index.d.ts +0 -2
- package/dist/synapse-queries/entity/index.d.ts.map +1 -1
- package/dist/synapse-queries/entity/index.js +8 -10
- package/dist/synapse-queries/index.d.ts +1 -0
- package/dist/synapse-queries/index.d.ts.map +1 -1
- package/dist/synapse-queries/index.js +136 -128
- package/dist/synapse-queries/index.js.map +1 -1
- package/dist/synapse-queries/jsonschema/index.d.ts +6 -0
- package/dist/synapse-queries/jsonschema/index.d.ts.map +1 -0
- package/dist/synapse-queries/jsonschema/index.js +6 -0
- package/dist/synapse-queries/jsonschema/useEntityBoundSchema.d.ts.map +1 -0
- package/dist/synapse-queries/{entity → jsonschema}/useEntityBoundSchema.js +1 -1
- package/dist/synapse-queries/jsonschema/useEntityBoundSchema.js.map +1 -0
- package/dist/synapse-queries/jsonschema/useListJsonSchemaVersions.d.ts +26 -0
- package/dist/synapse-queries/jsonschema/useListJsonSchemaVersions.d.ts.map +1 -0
- package/dist/synapse-queries/jsonschema/useListJsonSchemaVersions.js +36 -0
- package/dist/synapse-queries/jsonschema/useListJsonSchemaVersions.js.map +1 -0
- package/dist/synapse-queries/jsonschema/useListJsonSchemasInfinite.d.ts +8 -0
- package/dist/synapse-queries/jsonschema/useListJsonSchemasInfinite.d.ts.map +1 -0
- package/dist/synapse-queries/jsonschema/useListJsonSchemasInfinite.js +21 -0
- package/dist/synapse-queries/jsonschema/useListJsonSchemasInfinite.js.map +1 -0
- package/dist/synapse-queries/jsonschema/useListOrganizations.d.ts +8 -0
- package/dist/synapse-queries/jsonschema/useListOrganizations.d.ts.map +1 -0
- package/dist/synapse-queries/jsonschema/useListOrganizations.js +22 -0
- package/dist/synapse-queries/jsonschema/useListOrganizations.js.map +1 -0
- package/dist/synapse-queries/jsonschema/useSchema.d.ts.map +1 -0
- package/dist/synapse-queries/{entity → jsonschema}/useSchema.js +1 -1
- package/dist/synapse-queries/jsonschema/useSchema.js.map +1 -0
- package/dist/testutils/VirtualizedTableTestUtils.js +17 -0
- package/dist/testutils/VirtualizedTableTestUtils.js.map +1 -0
- package/dist/theme/palette/Palettes.d.ts.map +1 -1
- package/dist/theme/palette/Palettes.js +13 -0
- package/dist/theme/palette/Palettes.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/utils/APIConstants.d.ts +6 -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/hooks/useFetchBlobUrl.d.ts +9 -0
- package/dist/utils/hooks/useFetchBlobUrl.d.ts.map +1 -0
- package/dist/utils/hooks/useFetchBlobUrl.js +19 -0
- package/dist/utils/hooks/useFetchBlobUrl.js.map +1 -0
- package/package.json +3 -3
- package/dist/synapse-queries/entity/useEntityBoundSchema.d.ts.map +0 -1
- package/dist/synapse-queries/entity/useEntityBoundSchema.js.map +0 -1
- package/dist/synapse-queries/entity/useSchema.d.ts.map +0 -1
- package/dist/synapse-queries/entity/useSchema.js.map +0 -1
- /package/dist/synapse-queries/{entity → jsonschema}/useEntityBoundSchema.d.ts +0 -0
- /package/dist/synapse-queries/{entity → jsonschema}/useSchema.d.ts +0 -0
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
import e from "../../../../synapse-client/index.js";
|
|
2
|
+
import { useSubmitDataAccessRequest as t } from "../../../../synapse-queries/dataaccess/useDataAccessSubmission.js";
|
|
3
|
+
import { useGetDataAccessRequestForUpdate as n, useUpdateDataAccessRequest as r } from "../../../../synapse-queries/dataaccess/useAccessRequirements.js";
|
|
4
|
+
import { useGetDataAccessRequestPreview as i, useVoidDataAccessRequestSignature as a } from "../../../../synapse-queries/dataaccess/useEDuc.js";
|
|
5
|
+
import "../../../../synapse-queries/index.js";
|
|
6
|
+
import o from "../../../IconSvg/IconSvg.js";
|
|
7
|
+
import { longFieldLabelSx as s } from "../styles.js";
|
|
8
|
+
import { UploadDocumentField as c } from "../UploadDocumentField.js";
|
|
9
|
+
import { ReviewCollaboratorsAndSigningOfficialAccordion as l } from "../ReviewCollaboratorsAndSigningOfficialAccordion.js";
|
|
10
|
+
import { useState as u } from "react";
|
|
11
|
+
import { Alert as d, Box as f, Button as p, DialogActions as ee, DialogContent as m, DialogTitle as h, IconButton as g, Skeleton as _, Stack as v, Typography as y } from "@mui/material";
|
|
12
|
+
import { Fragment as b, jsx as x, jsxs as S } from "react/jsx-runtime";
|
|
13
|
+
import { FileHandleAssociateType as C } from "@sage-bionetworks/synapse-types";
|
|
14
|
+
//#region src/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManualUploadDucStep/ManualUploadDucStep.tsx
|
|
15
|
+
function w(w) {
|
|
16
|
+
let { managedACTAccessRequirement: T, subjectId: E, subjectType: D, onHide: O, onBackClicked: k, onSubmissionCreated: A, downloadHrefOverride: j } = w, { data: M, isLoading: N, refetch: P } = n(String(T.id), {
|
|
17
|
+
staleTime: Infinity,
|
|
18
|
+
throwOnError: !0
|
|
19
|
+
}), { data: F, isLoading: I, error: L } = i(M?.id ?? "", { enabled: !!M?.id && !j }), R = F?.fileHandleId, z = j ?? (R ? e.getPortalFileHandleServletUrl(R) : void 0), [B, V] = u(), [H, U] = u(), { mutate: W, mutateAsync: G, isPending: K } = r({ onError: (e) => V(e.reason) }), { mutateAsync: q, isPending: J } = a({ onError: (e) => V(e.reason) }), { mutate: Y, isPending: X } = t({
|
|
20
|
+
onSuccess: (e) => A(e.submissionId),
|
|
21
|
+
onError: (e) => U(e.reason)
|
|
22
|
+
}), Z = M?.accessorChanges ?? [], Q = M?.principalInvestigator, te = M?.signingOfficial, $ = M?.ducFileHandleId, ne = $ && M?.id ? [{
|
|
23
|
+
fileHandleId: $,
|
|
24
|
+
associateObjectType: C.DataAccessRequestAttachment,
|
|
25
|
+
associateObjectId: M.id
|
|
26
|
+
}] : [], re = N || I || !z, ie = N || !M || !$ || K || J || X, ae = async (e) => {
|
|
27
|
+
if (!e.success || !e.resp || !M) {
|
|
28
|
+
let t = e.error, n = t && typeof t.reason == "string" ? t.reason : void 0;
|
|
29
|
+
n && V(n);
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
V(void 0);
|
|
33
|
+
let t = !!M.eDucSignatureEnvelopeId, n = M;
|
|
34
|
+
if (t) {
|
|
35
|
+
try {
|
|
36
|
+
await q(M.id);
|
|
37
|
+
} catch {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
n = (await P()).data ?? M;
|
|
41
|
+
}
|
|
42
|
+
W({
|
|
43
|
+
...n,
|
|
44
|
+
ducFileHandleId: e.resp.fileHandleId
|
|
45
|
+
});
|
|
46
|
+
}, oe = async () => {
|
|
47
|
+
if (!M) return;
|
|
48
|
+
U(void 0);
|
|
49
|
+
let e = await G(M).catch(() => null);
|
|
50
|
+
e && Y({
|
|
51
|
+
request: {
|
|
52
|
+
requestId: e.id,
|
|
53
|
+
requestEtag: e.etag,
|
|
54
|
+
subjectId: E,
|
|
55
|
+
subjectType: D
|
|
56
|
+
},
|
|
57
|
+
accessRequirementId: String(T.id)
|
|
58
|
+
});
|
|
59
|
+
};
|
|
60
|
+
return /* @__PURE__ */ S(b, { children: [
|
|
61
|
+
/* @__PURE__ */ x(h, { children: /* @__PURE__ */ S(v, {
|
|
62
|
+
direction: "row",
|
|
63
|
+
sx: {
|
|
64
|
+
alignItems: "center",
|
|
65
|
+
gap: "5px"
|
|
66
|
+
},
|
|
67
|
+
children: [
|
|
68
|
+
"Request Access",
|
|
69
|
+
/* @__PURE__ */ x(f, { sx: { flexGrow: 1 } }),
|
|
70
|
+
/* @__PURE__ */ x(g, {
|
|
71
|
+
"aria-label": "Close",
|
|
72
|
+
onClick: O,
|
|
73
|
+
children: /* @__PURE__ */ x(o, {
|
|
74
|
+
icon: "close",
|
|
75
|
+
wrap: !1,
|
|
76
|
+
sx: { color: "grey.700" }
|
|
77
|
+
})
|
|
78
|
+
})
|
|
79
|
+
]
|
|
80
|
+
}) }),
|
|
81
|
+
/* @__PURE__ */ x(m, { children: /* @__PURE__ */ S(f, { children: [
|
|
82
|
+
/* @__PURE__ */ x(y, {
|
|
83
|
+
variant: "headline3",
|
|
84
|
+
sx: { mb: 2 },
|
|
85
|
+
children: "Submit a signed PDF instead of e-signatures"
|
|
86
|
+
}),
|
|
87
|
+
/* @__PURE__ */ x(y, {
|
|
88
|
+
variant: "body1",
|
|
89
|
+
sx: {
|
|
90
|
+
...s,
|
|
91
|
+
mb: 2
|
|
92
|
+
},
|
|
93
|
+
children: "Instead of signing the Data Use Certificate (DUC) using DocuSign, you can download the DUC as a PDF and then upload it after it has been signed by your collaborators, your project lead, and your Signing Official."
|
|
94
|
+
}),
|
|
95
|
+
/* @__PURE__ */ x(y, {
|
|
96
|
+
variant: "body1",
|
|
97
|
+
sx: {
|
|
98
|
+
...s,
|
|
99
|
+
mb: 3
|
|
100
|
+
},
|
|
101
|
+
children: "However, we recommend using e-signatures, as it is usually faster, and prevents common errors which can result in your request being rejected."
|
|
102
|
+
}),
|
|
103
|
+
/* @__PURE__ */ x(f, {
|
|
104
|
+
sx: { mb: 3 },
|
|
105
|
+
children: /* @__PURE__ */ x(l, {
|
|
106
|
+
accessorChanges: Z,
|
|
107
|
+
principalInvestigator: Q,
|
|
108
|
+
signingOfficial: te,
|
|
109
|
+
isLoading: N
|
|
110
|
+
})
|
|
111
|
+
}),
|
|
112
|
+
/* @__PURE__ */ x(y, {
|
|
113
|
+
variant: "headline3",
|
|
114
|
+
sx: { mb: 2 },
|
|
115
|
+
children: "Instructions"
|
|
116
|
+
}),
|
|
117
|
+
/* @__PURE__ */ S(v, {
|
|
118
|
+
direction: {
|
|
119
|
+
xs: "column",
|
|
120
|
+
md: "row"
|
|
121
|
+
},
|
|
122
|
+
sx: {
|
|
123
|
+
gap: 4,
|
|
124
|
+
alignItems: "flex-start"
|
|
125
|
+
},
|
|
126
|
+
children: [/* @__PURE__ */ S(f, {
|
|
127
|
+
sx: { flex: 1 },
|
|
128
|
+
children: [
|
|
129
|
+
/* @__PURE__ */ x(y, {
|
|
130
|
+
variant: "body1",
|
|
131
|
+
sx: {
|
|
132
|
+
fontWeight: 700,
|
|
133
|
+
mb: 1
|
|
134
|
+
},
|
|
135
|
+
children: "Step 1. Download your Data Use Certificate"
|
|
136
|
+
}),
|
|
137
|
+
/* @__PURE__ */ x(y, {
|
|
138
|
+
variant: "body1",
|
|
139
|
+
sx: {
|
|
140
|
+
...s,
|
|
141
|
+
mb: 2
|
|
142
|
+
},
|
|
143
|
+
children: "As a first step, you will need to download a PDF of the Data Use Certificate with the names of your Collaborators and Signing Official. Make sure the names are correct and complete before downloading."
|
|
144
|
+
}),
|
|
145
|
+
/* @__PURE__ */ x(y, {
|
|
146
|
+
variant: "body1",
|
|
147
|
+
sx: {
|
|
148
|
+
...s,
|
|
149
|
+
mb: 2
|
|
150
|
+
},
|
|
151
|
+
children: "If needed, you can modify the printed list of collaborators by adding or removing names on the paper copy before uploading."
|
|
152
|
+
}),
|
|
153
|
+
L ? /* @__PURE__ */ S(d, {
|
|
154
|
+
severity: "error",
|
|
155
|
+
children: [
|
|
156
|
+
/* @__PURE__ */ x("strong", { children: "Sorry, we couldn't prepare your DUC for download." }),
|
|
157
|
+
/* @__PURE__ */ x("br", {}),
|
|
158
|
+
L.reason
|
|
159
|
+
]
|
|
160
|
+
}) : /* @__PURE__ */ x(p, {
|
|
161
|
+
component: "a",
|
|
162
|
+
href: z ?? void 0,
|
|
163
|
+
target: "_blank",
|
|
164
|
+
rel: "noopener",
|
|
165
|
+
variant: "outlined",
|
|
166
|
+
disabled: re,
|
|
167
|
+
endIcon: /* @__PURE__ */ x(o, {
|
|
168
|
+
icon: "download",
|
|
169
|
+
wrap: !1
|
|
170
|
+
}),
|
|
171
|
+
children: "Download DUC for Signatures"
|
|
172
|
+
})
|
|
173
|
+
]
|
|
174
|
+
}), /* @__PURE__ */ S(f, {
|
|
175
|
+
sx: { flex: 1 },
|
|
176
|
+
children: [
|
|
177
|
+
/* @__PURE__ */ x(y, {
|
|
178
|
+
variant: "body1",
|
|
179
|
+
sx: {
|
|
180
|
+
fontWeight: 700,
|
|
181
|
+
mb: 1
|
|
182
|
+
},
|
|
183
|
+
children: "Step 2. Fill out and upload a Data Use Certificate"
|
|
184
|
+
}),
|
|
185
|
+
/* @__PURE__ */ x(y, {
|
|
186
|
+
variant: "body1",
|
|
187
|
+
sx: {
|
|
188
|
+
...s,
|
|
189
|
+
mb: 2
|
|
190
|
+
},
|
|
191
|
+
children: "You must download and fill out a Data Use Certificate (DUC). Be sure to upload the completed DUC below."
|
|
192
|
+
}),
|
|
193
|
+
/* @__PURE__ */ S(y, {
|
|
194
|
+
variant: "body1",
|
|
195
|
+
component: "ol",
|
|
196
|
+
sx: {
|
|
197
|
+
...s,
|
|
198
|
+
mb: 2,
|
|
199
|
+
pl: 3
|
|
200
|
+
},
|
|
201
|
+
children: [
|
|
202
|
+
/* @__PURE__ */ x("li", { children: "Download the DUC document." }),
|
|
203
|
+
/* @__PURE__ */ x("li", { children: "Fill out the DUC, following the instructions in the PDF." }),
|
|
204
|
+
/* @__PURE__ */ x("li", { children: "Upload the completed certificate using the button below:" })
|
|
205
|
+
]
|
|
206
|
+
}),
|
|
207
|
+
N ? /* @__PURE__ */ x(_, {
|
|
208
|
+
variant: "rectangular",
|
|
209
|
+
width: 200,
|
|
210
|
+
height: 36
|
|
211
|
+
}) : /* @__PURE__ */ x(c, {
|
|
212
|
+
id: "signed-duc",
|
|
213
|
+
documentName: "Signed DUC",
|
|
214
|
+
isLoading: K || J,
|
|
215
|
+
uploadCallback: (e) => {
|
|
216
|
+
ae(e);
|
|
217
|
+
},
|
|
218
|
+
fileHandleAssociations: ne
|
|
219
|
+
})
|
|
220
|
+
]
|
|
221
|
+
})]
|
|
222
|
+
}),
|
|
223
|
+
B && /* @__PURE__ */ S(d, {
|
|
224
|
+
severity: "error",
|
|
225
|
+
sx: { mt: 2 },
|
|
226
|
+
children: [
|
|
227
|
+
/* @__PURE__ */ x("strong", { children: "Sorry, we couldn't save your change." }),
|
|
228
|
+
/* @__PURE__ */ x("br", {}),
|
|
229
|
+
B
|
|
230
|
+
]
|
|
231
|
+
}),
|
|
232
|
+
H && /* @__PURE__ */ S(d, {
|
|
233
|
+
severity: "error",
|
|
234
|
+
sx: { mt: 2 },
|
|
235
|
+
children: [
|
|
236
|
+
/* @__PURE__ */ x("strong", { children: "Sorry, we couldn't submit your request." }),
|
|
237
|
+
/* @__PURE__ */ x("br", {}),
|
|
238
|
+
H
|
|
239
|
+
]
|
|
240
|
+
})
|
|
241
|
+
] }) }),
|
|
242
|
+
/* @__PURE__ */ S(ee, { children: [
|
|
243
|
+
/* @__PURE__ */ x(p, {
|
|
244
|
+
variant: "outlined",
|
|
245
|
+
onClick: k,
|
|
246
|
+
children: "Back"
|
|
247
|
+
}),
|
|
248
|
+
/* @__PURE__ */ x(f, { sx: { flexGrow: 1 } }),
|
|
249
|
+
/* @__PURE__ */ x(p, {
|
|
250
|
+
variant: "contained",
|
|
251
|
+
disabled: ie,
|
|
252
|
+
loading: X,
|
|
253
|
+
onClick: () => {
|
|
254
|
+
oe();
|
|
255
|
+
},
|
|
256
|
+
children: "Submit Request"
|
|
257
|
+
})
|
|
258
|
+
] })
|
|
259
|
+
] });
|
|
260
|
+
}
|
|
261
|
+
//#endregion
|
|
262
|
+
export { w as default };
|
|
263
|
+
|
|
264
|
+
//# sourceMappingURL=ManualUploadDucStep.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ManualUploadDucStep.js","names":[],"sources":["../../../../../src/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManualUploadDucStep/ManualUploadDucStep.tsx"],"sourcesContent":["import {\n useGetDataAccessRequestForUpdate,\n useGetDataAccessRequestPreview,\n useSubmitDataAccessRequest,\n useUpdateDataAccessRequest,\n useVoidDataAccessRequestSignature,\n} from '@/synapse-queries'\nimport SynapseClient from '@/synapse-client'\nimport {\n Alert,\n Box,\n Button,\n DialogActions,\n DialogContent,\n DialogTitle,\n IconButton,\n Skeleton,\n Stack,\n Typography,\n} from '@mui/material'\nimport {\n FileHandleAssociateType,\n FileHandleAssociation,\n ManagedACTAccessRequirement,\n RestrictableObjectType,\n UploadCallbackResp,\n} from '@sage-bionetworks/synapse-types'\nimport { useState } from 'react'\nimport IconSvg from '../../../IconSvg/IconSvg'\nimport { ReviewCollaboratorsAndSigningOfficialAccordion } from '../ReviewCollaboratorsAndSigningOfficialAccordion'\nimport { UploadDocumentField } from '../UploadDocumentField'\nimport { longFieldLabelSx } from '../styles'\n\nexport type ManualUploadDucStepProps = {\n managedACTAccessRequirement: ManagedACTAccessRequirement\n subjectId: string\n subjectType: RestrictableObjectType\n onHide: () => void\n onBackClicked: () => void\n onSubmissionCreated: (submissionId: string) => void\n /**\n * Optional href override for the \"Download DUC for Signatures\" anchor. When set, the preview\n * file handle fetch is skipped and this URL is used directly. Used by stories and tests where\n * the portal servlet is not available.\n */\n downloadHrefOverride?: string\n}\n\n/**\n * Wizard step shown after the eDUC preview (PORTALS-4377) when the user chooses to manually\n * print, sign, and upload a PDF instead of using electronic signatures. Lets the user download\n * the partially-populated DUC, upload a signed copy, and submit the request.\n */\nexport default function ManualUploadDucStep(props: ManualUploadDucStepProps) {\n const {\n managedACTAccessRequirement,\n subjectId,\n subjectType,\n onHide,\n onBackClicked,\n onSubmissionCreated,\n downloadHrefOverride,\n } = props\n\n const {\n data: dataAccessRequest,\n isLoading: isLoadingDar,\n refetch: refetchDar,\n } = useGetDataAccessRequestForUpdate(String(managedACTAccessRequirement.id), {\n staleTime: Infinity,\n throwOnError: true,\n })\n\n const {\n data: previewFileHandle,\n isLoading: isLoadingPreview,\n error: previewError,\n } = useGetDataAccessRequestPreview(dataAccessRequest?.id ?? '', {\n enabled: Boolean(dataAccessRequest?.id) && !downloadHrefOverride,\n })\n\n const previewFileHandleId = previewFileHandle?.fileHandleId\n const downloadHref =\n downloadHrefOverride ??\n (previewFileHandleId\n ? SynapseClient.getPortalFileHandleServletUrl(previewFileHandleId)\n : undefined)\n\n const [updateDarError, setUpdateDarError] = useState<string | undefined>()\n const [submitDarError, setSubmitDarError] = useState<string | undefined>()\n\n const {\n mutate: updateDar,\n mutateAsync: updateDarAsync,\n isPending: isUpdating,\n } = useUpdateDataAccessRequest({\n onError: e => setUpdateDarError(e.reason),\n })\n\n const { mutateAsync: voidSignatureAsync, isPending: isVoidingSignature } =\n useVoidDataAccessRequestSignature({\n onError: e => setUpdateDarError(e.reason),\n })\n\n const { mutate: submit, isPending: isSubmitting } =\n useSubmitDataAccessRequest({\n onSuccess: submission => onSubmissionCreated(submission.submissionId),\n onError: e => setSubmitDarError(e.reason),\n })\n\n const accessorChanges = dataAccessRequest?.accessorChanges ?? []\n const pi = dataAccessRequest?.principalInvestigator\n const so = dataAccessRequest?.signingOfficial\n const signedDucFileHandleId = dataAccessRequest?.ducFileHandleId\n const signedDucFileHandleAssociations: FileHandleAssociation[] =\n signedDucFileHandleId && dataAccessRequest?.id\n ? [\n {\n fileHandleId: signedDucFileHandleId,\n associateObjectType:\n FileHandleAssociateType.DataAccessRequestAttachment,\n associateObjectId: dataAccessRequest.id,\n },\n ]\n : []\n\n const isDownloadDisabled = isLoadingDar || isLoadingPreview || !downloadHref\n const isSubmitDisabled =\n isLoadingDar ||\n !dataAccessRequest ||\n !signedDucFileHandleId ||\n isUpdating ||\n isVoidingSignature ||\n isSubmitting\n\n const handleUpload = async (resp: UploadCallbackResp) => {\n if (!resp.success || !resp.resp || !dataAccessRequest) {\n const errorObj = resp.error as { reason?: unknown } | undefined\n const reason =\n errorObj && typeof errorObj.reason === 'string'\n ? errorObj.reason\n : undefined\n if (reason) {\n setUpdateDarError(reason)\n }\n return\n }\n setUpdateDarError(undefined)\n // Only void a prior eDUC signature routing if one was actually sent. If the user ejected\n // from EDucPreviewStep before sending for signature, there's nothing to void.\n const hasSignatureEnvelope = Boolean(\n dataAccessRequest.eDucSignatureEnvelopeId,\n )\n let latestDar = dataAccessRequest\n if (hasSignatureEnvelope) {\n try {\n await voidSignatureAsync(dataAccessRequest.id)\n } catch {\n return\n }\n const refreshed = await refetchDar()\n latestDar = refreshed.data ?? dataAccessRequest\n }\n updateDar({\n ...latestDar,\n ducFileHandleId: resp.resp.fileHandleId,\n })\n }\n\n const handleSubmit = async () => {\n if (!dataAccessRequest) return\n setSubmitDarError(undefined)\n // Persist the DAR once more so the submission uses the latest etag.\n const latest = await updateDarAsync(dataAccessRequest).catch(() => null)\n if (!latest) return\n submit({\n request: {\n requestId: latest.id,\n requestEtag: latest.etag,\n subjectId,\n subjectType,\n },\n accessRequirementId: String(managedACTAccessRequirement.id),\n })\n }\n\n return (\n <>\n <DialogTitle>\n <Stack direction=\"row\" sx={{ alignItems: 'center', gap: '5px' }}>\n Request Access\n <Box sx={{ flexGrow: 1 }} />\n <IconButton aria-label={'Close'} onClick={onHide}>\n <IconSvg icon={'close'} wrap={false} sx={{ color: 'grey.700' }} />\n </IconButton>\n </Stack>\n </DialogTitle>\n <DialogContent>\n <Box>\n <Typography variant={'headline3'} sx={{ mb: 2 }}>\n Submit a signed PDF instead of e-signatures\n </Typography>\n <Typography variant={'body1'} sx={{ ...longFieldLabelSx, mb: 2 }}>\n Instead of signing the Data Use Certificate (DUC) using DocuSign,\n you can download the DUC as a PDF and then upload it after it has\n been signed by your collaborators, your project lead, and your\n Signing Official.\n </Typography>\n <Typography variant={'body1'} sx={{ ...longFieldLabelSx, mb: 3 }}>\n However, we recommend using e-signatures, as it is usually faster,\n and prevents common errors which can result in your request being\n rejected.\n </Typography>\n\n <Box sx={{ mb: 3 }}>\n <ReviewCollaboratorsAndSigningOfficialAccordion\n accessorChanges={accessorChanges}\n principalInvestigator={pi}\n signingOfficial={so}\n isLoading={isLoadingDar}\n />\n </Box>\n\n <Typography variant={'headline3'} sx={{ mb: 2 }}>\n Instructions\n </Typography>\n <Stack\n direction={{ xs: 'column', md: 'row' }}\n sx={{ gap: 4, alignItems: 'flex-start' }}\n >\n <Box sx={{ flex: 1 }}>\n <Typography variant={'body1'} sx={{ fontWeight: 700, mb: 1 }}>\n Step 1. Download your Data Use Certificate\n </Typography>\n <Typography variant={'body1'} sx={{ ...longFieldLabelSx, mb: 2 }}>\n As a first step, you will need to download a PDF of the Data Use\n Certificate with the names of your Collaborators and Signing\n Official. Make sure the names are correct and complete before\n downloading.\n </Typography>\n <Typography variant={'body1'} sx={{ ...longFieldLabelSx, mb: 2 }}>\n If needed, you can modify the printed list of collaborators by\n adding or removing names on the paper copy before uploading.\n </Typography>\n {previewError ? (\n <Alert severity={'error'}>\n <strong>\n Sorry, we couldn't prepare your DUC for download.\n </strong>\n <br />\n {previewError.reason}\n </Alert>\n ) : (\n <Button\n component=\"a\"\n href={downloadHref ?? undefined}\n target=\"_blank\"\n rel=\"noopener\"\n variant={'outlined'}\n disabled={isDownloadDisabled}\n endIcon={<IconSvg icon={'download'} wrap={false} />}\n >\n Download DUC for Signatures\n </Button>\n )}\n </Box>\n <Box sx={{ flex: 1 }}>\n <Typography variant={'body1'} sx={{ fontWeight: 700, mb: 1 }}>\n Step 2. Fill out and upload a Data Use Certificate\n </Typography>\n <Typography variant={'body1'} sx={{ ...longFieldLabelSx, mb: 2 }}>\n You must download and fill out a Data Use Certificate (DUC). Be\n sure to upload the completed DUC below.\n </Typography>\n <Typography\n variant={'body1'}\n component={'ol'}\n sx={{ ...longFieldLabelSx, mb: 2, pl: 3 }}\n >\n <li>Download the DUC document.</li>\n <li>\n Fill out the DUC, following the instructions in the PDF.\n </li>\n <li>\n Upload the completed certificate using the button below:\n </li>\n </Typography>\n {isLoadingDar ? (\n <Skeleton variant={'rectangular'} width={200} height={36} />\n ) : (\n <UploadDocumentField\n id={'signed-duc'}\n documentName={'Signed DUC'}\n isLoading={isUpdating || isVoidingSignature}\n uploadCallback={resp => {\n handleUpload(resp)\n }}\n fileHandleAssociations={signedDucFileHandleAssociations}\n />\n )}\n </Box>\n </Stack>\n\n {updateDarError && (\n <Alert severity={'error'} sx={{ mt: 2 }}>\n <strong>Sorry, we couldn't save your change.</strong>\n <br />\n {updateDarError}\n </Alert>\n )}\n {submitDarError && (\n <Alert severity={'error'} sx={{ mt: 2 }}>\n <strong>Sorry, we couldn't submit your request.</strong>\n <br />\n {submitDarError}\n </Alert>\n )}\n </Box>\n </DialogContent>\n <DialogActions>\n <Button variant={'outlined'} onClick={onBackClicked}>\n Back\n </Button>\n <Box sx={{ flexGrow: 1 }} />\n <Button\n variant={'contained'}\n disabled={isSubmitDisabled}\n loading={isSubmitting}\n onClick={() => {\n handleSubmit()\n }}\n >\n Submit Request\n </Button>\n </DialogActions>\n </>\n )\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RequestDataAccessSuccess.js","names":[],"sources":["../../../../src/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/RequestDataAccessSuccess.tsx"],"sourcesContent":["import {\n Box,\n Button,\n DialogTitle,\n DialogContent,\n DialogActions,\n IconButton,\n Stack,\n Typography,\n} from '@mui/material'\nimport IconSvg from '../../IconSvg/IconSvg'\n\nexport type RequestDataAccessSuccessProps = {\n onHide: () => void\n}\n\nexport default function RequestDataAccessSuccess(\n props: RequestDataAccessSuccessProps,\n) {\n const { onHide } = props\n return (\n <>\n <DialogTitle>\n <Stack\n direction=\"row\"\n sx={{\n alignItems: 'center',\n gap: '5px',\n }}\n >\n Your Data Access Request Has Been Submitted\n <Box sx={{ flexGrow: 1 }} />\n <IconButton onClick={onHide}>\n <IconSvg icon={'close'} wrap={false} sx={{ color: 'grey.700' }} />\n </IconButton>\n </Stack>\n </DialogTitle>\n\n <DialogContent>\n <Typography variant=\"body1\">\n Your data access request has been submitted and is currently being\n reviewed. Please allow for up to 2 weeks for your request to be\n reviewed and approved.\n </Typography>\n </DialogContent>\n <DialogActions>\n <Button variant=\"contained\" onClick={onHide}>\n Finish\n </Button>\n </DialogActions>\n </>\n )\n}\n"],"mappings":";;;;AAgBA,SAAwB,EACtB,GACA;CACA,IAAM,EAAE,cAAW;CACnB,OACE,kBAAA,GAAA,EAAA,UAAA;EACE,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;GACE,WAAU;GACV,IAAI;IACF,YAAY;IACZ,KAAK;GACP;aALF;IAMC;IAEC,kBAAC,GAAD,EAAK,IAAI,EAAE,UAAU,EAAE,EAAI,CAAA;IAC3B,kBAAC,GAAD;KAAY,SAAS;
|
|
1
|
+
{"version":3,"file":"RequestDataAccessSuccess.js","names":[],"sources":["../../../../src/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/RequestDataAccessSuccess.tsx"],"sourcesContent":["import {\n Box,\n Button,\n DialogTitle,\n DialogContent,\n DialogActions,\n IconButton,\n Stack,\n Typography,\n} from '@mui/material'\nimport IconSvg from '../../IconSvg/IconSvg'\n\nexport type RequestDataAccessSuccessProps = {\n onHide: () => void\n}\n\nexport default function RequestDataAccessSuccess(\n props: RequestDataAccessSuccessProps,\n) {\n const { onHide } = props\n return (\n <>\n <DialogTitle>\n <Stack\n direction=\"row\"\n sx={{\n alignItems: 'center',\n gap: '5px',\n }}\n >\n Your Data Access Request Has Been Submitted\n <Box sx={{ flexGrow: 1 }} />\n <IconButton aria-label={'Close'} onClick={onHide}>\n <IconSvg icon={'close'} wrap={false} sx={{ color: 'grey.700' }} />\n </IconButton>\n </Stack>\n </DialogTitle>\n\n <DialogContent>\n <Typography variant=\"body1\">\n Your data access request has been submitted and is currently being\n reviewed. Please allow for up to 2 weeks for your request to be\n reviewed and approved.\n </Typography>\n </DialogContent>\n <DialogActions>\n <Button variant=\"contained\" onClick={onHide}>\n Finish\n </Button>\n </DialogActions>\n </>\n )\n}\n"],"mappings":";;;;AAgBA,SAAwB,EACtB,GACA;CACA,IAAM,EAAE,cAAW;CACnB,OACE,kBAAA,GAAA,EAAA,UAAA;EACE,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;GACE,WAAU;GACV,IAAI;IACF,YAAY;IACZ,KAAK;GACP;aALF;IAMC;IAEC,kBAAC,GAAD,EAAK,IAAI,EAAE,UAAU,EAAE,EAAI,CAAA;IAC3B,kBAAC,GAAD;KAAY,cAAY;KAAS,SAAS;eACxC,kBAAC,GAAD;MAAS,MAAM;MAAS,MAAM;MAAO,IAAI,EAAE,OAAO,WAAW;KAAI,CAAA;IACvD,CAAA;GACP;KACI,CAAA;EAEb,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;GAAY,SAAQ;aAAQ;EAIhB,CAAA,EACC,CAAA;EACf,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;GAAQ,SAAQ;GAAY,SAAS;aAAQ;EAErC,CAAA,EACK,CAAA;CACf,EAAA,CAAA;AAEN"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResearchProjectForm.d.ts","sourceRoot":"","sources":["../../../../../src/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ResearchProjectForm/ResearchProjectForm.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ResearchProjectForm.d.ts","sourceRoot":"","sources":["../../../../../src/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ResearchProjectForm/ResearchProjectForm.tsx"],"names":[],"mappings":"AAoBA,OAAO,EACL,2BAA2B,EAI3B,eAAe,EAEhB,MAAM,iCAAiC,CAAA;AAexC,MAAM,MAAM,wBAAwB,GAAG;IAErC,2BAA2B,EAAE,2BAA2B,CAAA;IACxD,MAAM,CAAC,EAAE,CAAC,eAAe,EAAE,eAAe,KAAK,IAAI,CAAA;IACnD,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;CACpB,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,2CA2X1E"}
|
|
@@ -1,50 +1,102 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { useGetDataAccessRequestForUpdate as e, useGetResearchProject as t, useUpdateDataAccessRequest as n, useUpdateResearchProject as ee } from "../../../../synapse-queries/dataaccess/useAccessRequirements.js";
|
|
2
|
+
import { useGetUserProfile as r } from "../../../../synapse-queries/user/useUserBundle.js";
|
|
2
3
|
import "../../../../synapse-queries/index.js";
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import {
|
|
4
|
+
import i from "../../../IconSvg/IconSvg.js";
|
|
5
|
+
import a, { getWordCount as o } from "../../../TextField/TextFieldWithWordLimit.js";
|
|
6
|
+
import s from "../../../UserSearchBox/UserSearchBox.js";
|
|
7
|
+
import te from "../ManagedACTAccessRequirementFormWikiWrapper.js";
|
|
8
|
+
import c from "../../../HelpPopover/index.js";
|
|
9
|
+
import { useEffect as l, useRef as ne, useState as u } from "react";
|
|
10
|
+
import { Alert as re, Box as d, Button as f, DialogActions as p, DialogContent as m, DialogTitle as ie, IconButton as h, Stack as g, TextField as _, Typography as v } from "@mui/material";
|
|
9
11
|
import { Fragment as y, jsx as b, jsxs as x } from "react/jsx-runtime";
|
|
12
|
+
import { TYPE_FILTER as ae } from "@sage-bionetworks/synapse-types";
|
|
10
13
|
import S from "lodash-es/isEmpty";
|
|
11
14
|
import { InfoTwoTone as C } from "@mui/icons-material";
|
|
12
15
|
//#region src/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ResearchProjectForm/ResearchProjectForm.tsx
|
|
13
16
|
var w = 50, T = 750;
|
|
14
|
-
function E(
|
|
15
|
-
let { onSave:
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
function E(E) {
|
|
18
|
+
let { onSave: D, managedACTAccessRequirement: O, onHide: k } = E, A = !!O.eDucTemplateId, [j, M] = u(""), [N, P] = u(""), [F, I] = u(""), [L, R] = u(null), [z, B] = u(""), [V, H] = u(), [U, W] = u(!1), { data: G, isLoading: K } = t(String(O.id), { staleTime: Infinity }), { data: q, isLoading: se } = e(String(O.id), {
|
|
19
|
+
enabled: A,
|
|
20
|
+
staleTime: Infinity
|
|
21
|
+
}), J = ne(q);
|
|
22
|
+
l(() => {
|
|
23
|
+
J.current = q;
|
|
24
|
+
}, [q]), l(() => {
|
|
25
|
+
S(j) && G?.projectLead && M(G?.projectLead), S(N) && G?.institution && P(G?.institution), S(F) && G?.intendedDataUseStatement && I(G?.intendedDataUseStatement);
|
|
18
26
|
}, [
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
27
|
+
G?.institution,
|
|
28
|
+
G?.intendedDataUseStatement,
|
|
29
|
+
G?.projectLead
|
|
30
|
+
]), l(() => {
|
|
31
|
+
if (!A || !q) return;
|
|
32
|
+
let e = q.principalInvestigator;
|
|
33
|
+
L === null && e?.userId && R(e.userId), S(z) && e?.institutionalEmail && B(e.institutionalEmail);
|
|
34
|
+
}, [
|
|
35
|
+
A,
|
|
36
|
+
q?.principalInvestigator?.userId,
|
|
37
|
+
q?.principalInvestigator?.institutionalEmail
|
|
22
38
|
]);
|
|
23
|
-
let {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
39
|
+
let { data: Y } = r(L ?? "", { enabled: !!L });
|
|
40
|
+
l(() => {
|
|
41
|
+
if (!Y || !S(j)) return;
|
|
42
|
+
let e = [Y.firstName, Y.lastName].filter(Boolean).join(" ").trim();
|
|
43
|
+
e && M(e);
|
|
44
|
+
}, [Y]);
|
|
45
|
+
let { mutateAsync: ce, isPending: X } = ee({ onError: (e) => {
|
|
46
|
+
console.log("RequestDataAccessStep1: Error updating research project data: ", e), H({
|
|
47
|
+
key: "error",
|
|
48
|
+
message: Q(e.reason)
|
|
49
|
+
});
|
|
50
|
+
} }), { mutateAsync: le, isPending: ue } = n({ onError: (e) => {
|
|
51
|
+
console.log("RequestDataAccessStep1: Error updating data access request: ", e), H({
|
|
52
|
+
key: "error",
|
|
53
|
+
message: Q(e.reason)
|
|
54
|
+
});
|
|
55
|
+
} }), Z = K || A && se || X || ue, Q = (e = "") => /* @__PURE__ */ x(y, { children: [
|
|
34
56
|
/* @__PURE__ */ b("strong", { children: "Unable to update research project data." }),
|
|
35
57
|
/* @__PURE__ */ b("br", {}),
|
|
36
58
|
e
|
|
37
|
-
] }),
|
|
38
|
-
e.preventDefault(),
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
59
|
+
] }), $ = async (e) => {
|
|
60
|
+
if (e.preventDefault(), !U) {
|
|
61
|
+
W(!0);
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
let t;
|
|
65
|
+
try {
|
|
66
|
+
t = await ce({
|
|
67
|
+
...G,
|
|
68
|
+
accessRequirementId: String(O.id),
|
|
69
|
+
institution: N,
|
|
70
|
+
projectLead: j,
|
|
71
|
+
intendedDataUseStatement: F || void 0
|
|
72
|
+
});
|
|
73
|
+
} catch {
|
|
74
|
+
W(!1);
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
if (A && J.current) {
|
|
78
|
+
let e = J.current, n = {
|
|
79
|
+
...e.principalInvestigator,
|
|
80
|
+
userId: L ?? void 0,
|
|
81
|
+
name: j || void 0,
|
|
82
|
+
institutionalEmail: z || void 0
|
|
83
|
+
};
|
|
84
|
+
try {
|
|
85
|
+
await le({
|
|
86
|
+
...e,
|
|
87
|
+
researchProjectId: e.researchProjectId ?? t.id,
|
|
88
|
+
institution: N,
|
|
89
|
+
principalInvestigator: n
|
|
90
|
+
});
|
|
91
|
+
} catch {
|
|
92
|
+
W(!1);
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
D && D(t);
|
|
97
|
+
}, de = j && N && (!A || L && z) && (!O.isIDURequired || F && o(F) >= w && o(F) <= T);
|
|
46
98
|
return /* @__PURE__ */ x(y, { children: [
|
|
47
|
-
/* @__PURE__ */ b(
|
|
99
|
+
/* @__PURE__ */ b(ie, { children: /* @__PURE__ */ x(g, {
|
|
48
100
|
direction: "row",
|
|
49
101
|
sx: {
|
|
50
102
|
alignItems: "center",
|
|
@@ -52,10 +104,11 @@ function E(v) {
|
|
|
52
104
|
},
|
|
53
105
|
children: [
|
|
54
106
|
"Request Access",
|
|
55
|
-
/* @__PURE__ */ b(
|
|
107
|
+
/* @__PURE__ */ b(d, { sx: { flexGrow: 1 } }),
|
|
56
108
|
/* @__PURE__ */ b(h, {
|
|
109
|
+
"aria-label": "Close",
|
|
57
110
|
onClick: k,
|
|
58
|
-
children: /* @__PURE__ */ b(
|
|
111
|
+
children: /* @__PURE__ */ b(i, {
|
|
59
112
|
icon: "close",
|
|
60
113
|
wrap: !1,
|
|
61
114
|
sx: { color: "grey.700" }
|
|
@@ -63,19 +116,21 @@ function E(v) {
|
|
|
63
116
|
})
|
|
64
117
|
]
|
|
65
118
|
}) }),
|
|
66
|
-
|
|
67
|
-
!
|
|
119
|
+
U && /* @__PURE__ */ b(oe, { isIDURequired: O.isIDURequired }),
|
|
120
|
+
!U && /* @__PURE__ */ x(m, { children: [/* @__PURE__ */ b(te, {
|
|
68
121
|
managedACTAccessRequirementId: String(O.id),
|
|
69
|
-
children: /* @__PURE__ */ x(
|
|
122
|
+
children: /* @__PURE__ */ x(d, {
|
|
70
123
|
component: "form",
|
|
71
|
-
onSubmit:
|
|
124
|
+
onSubmit: (e) => {
|
|
125
|
+
$(e);
|
|
126
|
+
},
|
|
72
127
|
sx: { "& .MuiTextField-root": { marginBottom: "20px" } },
|
|
73
128
|
children: [
|
|
74
129
|
/* @__PURE__ */ b(_, {
|
|
75
130
|
id: "project-lead",
|
|
76
|
-
label: /* @__PURE__ */ x(
|
|
131
|
+
label: /* @__PURE__ */ x(d, {
|
|
77
132
|
sx: { display: "inline" },
|
|
78
|
-
children: [/* @__PURE__ */ b("span", { children: "First and last names of your
|
|
133
|
+
children: [/* @__PURE__ */ b("span", { children: "First and last names of your Project Lead or PI" }), /* @__PURE__ */ b(c, {
|
|
79
134
|
Icon: C,
|
|
80
135
|
containerSx: { float: "right" },
|
|
81
136
|
markdownText: "This field is required.\n\nProvide the name of one person who serves as the project leader or PI."
|
|
@@ -83,31 +138,69 @@ function E(v) {
|
|
|
83
138
|
}),
|
|
84
139
|
placeholder: "First and last name of individual leading the project, ex: Jane Smith",
|
|
85
140
|
fullWidth: !0,
|
|
86
|
-
disabled:
|
|
141
|
+
disabled: Z,
|
|
87
142
|
type: "text",
|
|
88
|
-
value:
|
|
143
|
+
value: j,
|
|
89
144
|
required: !0,
|
|
90
|
-
onChange: (e) =>
|
|
145
|
+
onChange: (e) => M(e.target.value),
|
|
91
146
|
slotProps: { inputLabel: { sx: { width: "100%" } } }
|
|
92
147
|
}),
|
|
148
|
+
A && /* @__PURE__ */ x(d, {
|
|
149
|
+
sx: { mb: "20px" },
|
|
150
|
+
children: [
|
|
151
|
+
/* @__PURE__ */ x(v, {
|
|
152
|
+
component: "label",
|
|
153
|
+
htmlFor: "pi-user",
|
|
154
|
+
variant: "body1",
|
|
155
|
+
sx: {
|
|
156
|
+
display: "block",
|
|
157
|
+
mb: 1
|
|
158
|
+
},
|
|
159
|
+
children: ["Synapse username of your Project Lead or PI", /* @__PURE__ */ x(d, {
|
|
160
|
+
component: "span",
|
|
161
|
+
sx: { color: "error.main" },
|
|
162
|
+
children: [" ", "*"]
|
|
163
|
+
})]
|
|
164
|
+
}),
|
|
165
|
+
/* @__PURE__ */ b(s, {
|
|
166
|
+
inputId: "pi-user",
|
|
167
|
+
typeFilter: ae.USERS_ONLY,
|
|
168
|
+
value: L,
|
|
169
|
+
onChange: (e) => R(e),
|
|
170
|
+
placeholder: "Search Synapse for your Project Lead or PI"
|
|
171
|
+
}),
|
|
172
|
+
/* @__PURE__ */ b(_, {
|
|
173
|
+
id: "pi-email",
|
|
174
|
+
label: "Institutional Email of your Project Lead or PI",
|
|
175
|
+
type: "email",
|
|
176
|
+
placeholder: "pi@example.edu",
|
|
177
|
+
fullWidth: !0,
|
|
178
|
+
disabled: Z,
|
|
179
|
+
value: z,
|
|
180
|
+
required: !0,
|
|
181
|
+
onChange: (e) => B(e.target.value),
|
|
182
|
+
sx: { mt: 2 }
|
|
183
|
+
})
|
|
184
|
+
]
|
|
185
|
+
}),
|
|
93
186
|
/* @__PURE__ */ b(_, {
|
|
94
187
|
id: "institution",
|
|
95
188
|
label: "Your Institution",
|
|
96
189
|
placeholder: "Full, unabbreviated name of the institution you are affiliated with",
|
|
97
190
|
fullWidth: !0,
|
|
98
191
|
type: "text",
|
|
99
|
-
disabled:
|
|
100
|
-
value:
|
|
192
|
+
disabled: Z,
|
|
193
|
+
value: N,
|
|
101
194
|
required: !0,
|
|
102
|
-
onChange: (e) =>
|
|
195
|
+
onChange: (e) => P(e.target.value)
|
|
103
196
|
}),
|
|
104
|
-
O.isIDURequired && /* @__PURE__ */ b(
|
|
197
|
+
O.isIDURequired && /* @__PURE__ */ b(a, {
|
|
105
198
|
id: "data-use",
|
|
106
199
|
minWords: w,
|
|
107
200
|
maxWords: T,
|
|
108
|
-
label: /* @__PURE__ */ x(
|
|
201
|
+
label: /* @__PURE__ */ x(d, {
|
|
109
202
|
sx: { display: "inline" },
|
|
110
|
-
children: [/* @__PURE__ */ b("span", { children: "Intended Data Use (IDU)" }), /* @__PURE__ */ b(
|
|
203
|
+
children: [/* @__PURE__ */ b("span", { children: "Intended Data Use (IDU)" }), /* @__PURE__ */ b(c, {
|
|
111
204
|
Icon: C,
|
|
112
205
|
containerSx: { float: "right" },
|
|
113
206
|
markdownText: "This field is required.\n\nCheck the instructions for data access for information on completing the IDU statement."
|
|
@@ -119,43 +212,45 @@ function E(v) {
|
|
|
119
212
|
required: !0,
|
|
120
213
|
multiline: !0,
|
|
121
214
|
rows: 9,
|
|
122
|
-
disabled:
|
|
123
|
-
value:
|
|
124
|
-
onChange: (e) =>
|
|
215
|
+
disabled: Z,
|
|
216
|
+
value: F,
|
|
217
|
+
onChange: (e) => I(e.target.value)
|
|
125
218
|
})
|
|
126
219
|
]
|
|
127
220
|
})
|
|
128
|
-
}),
|
|
129
|
-
severity:
|
|
130
|
-
children:
|
|
221
|
+
}), V && /* @__PURE__ */ b(re, {
|
|
222
|
+
severity: V.key,
|
|
223
|
+
children: V.message
|
|
131
224
|
})] }),
|
|
132
|
-
/* @__PURE__ */ x(
|
|
133
|
-
|
|
225
|
+
/* @__PURE__ */ x(p, { children: [
|
|
226
|
+
U && /* @__PURE__ */ x(y, { children: [/* @__PURE__ */ b(f, {
|
|
134
227
|
variant: "outlined",
|
|
135
228
|
onClick: () => {
|
|
136
|
-
|
|
229
|
+
W(!1);
|
|
137
230
|
},
|
|
138
231
|
children: "Back"
|
|
139
|
-
}), /* @__PURE__ */ b(
|
|
140
|
-
/* @__PURE__ */ b(
|
|
232
|
+
}), /* @__PURE__ */ b(d, { sx: { flexGrow: 1 } })] }),
|
|
233
|
+
/* @__PURE__ */ b(f, {
|
|
141
234
|
variant: "outlined",
|
|
142
|
-
disabled:
|
|
235
|
+
disabled: Z,
|
|
143
236
|
onClick: k,
|
|
144
237
|
children: "Cancel"
|
|
145
238
|
}),
|
|
146
|
-
/* @__PURE__ */ b(
|
|
239
|
+
/* @__PURE__ */ b(f, {
|
|
147
240
|
variant: "contained",
|
|
148
241
|
type: "submit",
|
|
149
|
-
disabled:
|
|
150
|
-
onClick:
|
|
151
|
-
|
|
242
|
+
disabled: Z || !de,
|
|
243
|
+
onClick: (e) => {
|
|
244
|
+
$(e);
|
|
245
|
+
},
|
|
246
|
+
children: X ? "Saving..." : "Save and Continue"
|
|
152
247
|
})
|
|
153
248
|
] })
|
|
154
249
|
] });
|
|
155
250
|
}
|
|
156
|
-
function
|
|
251
|
+
function oe(e) {
|
|
157
252
|
let { isIDURequired: t } = e;
|
|
158
|
-
return /* @__PURE__ */ x(
|
|
253
|
+
return /* @__PURE__ */ x(m, { children: [
|
|
159
254
|
/* @__PURE__ */ b(v, {
|
|
160
255
|
variant: "body1",
|
|
161
256
|
gutterBottom: !0,
|
|
@@ -167,7 +262,7 @@ function D(e) {
|
|
|
167
262
|
gutterBottom: !0,
|
|
168
263
|
children: "Here are some common reasons a request is rejected:"
|
|
169
264
|
}),
|
|
170
|
-
/* @__PURE__ */ x(
|
|
265
|
+
/* @__PURE__ */ x(d, {
|
|
171
266
|
component: "ul",
|
|
172
267
|
children: [
|
|
173
268
|
/* @__PURE__ */ x(v, {
|