synapse-react-client 4.0.44 → 4.0.46
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 -1
- package/dist/SWC.index.js +2 -2
- package/dist/SWC.index.js.map +1 -1
- package/dist/aridhia-queries/AridhiaKeyFactory.d.ts +1 -0
- package/dist/aridhia-queries/AridhiaKeyFactory.d.ts.map +1 -1
- package/dist/aridhia-queries/AridhiaKeyFactory.js +3 -0
- package/dist/aridhia-queries/AridhiaKeyFactory.js.map +1 -1
- package/dist/aridhia-queries/aridhiaTokenExchange.js +6 -6
- package/dist/aridhia-queries/index.d.ts +1 -0
- package/dist/aridhia-queries/index.d.ts.map +1 -1
- package/dist/aridhia-queries/index.js +11 -10
- package/dist/aridhia-queries/useGetAridhiaVocabularyTerm.d.ts +19 -0
- package/dist/aridhia-queries/useGetAridhiaVocabularyTerm.d.ts.map +1 -0
- package/dist/aridhia-queries/useGetAridhiaVocabularyTerm.js +14 -0
- package/dist/aridhia-queries/useGetAridhiaVocabularyTerm.js.map +1 -0
- package/dist/components/AccessRequirementList/AccessApprovalCheckMark.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/AccessApprovalCheckMark.js +6 -4
- package/dist/components/AccessRequirementList/AccessApprovalCheckMark.js.map +1 -1
- package/dist/components/AccessRequirementList/AccessRequirementList.d.ts +2 -1
- package/dist/components/AccessRequirementList/AccessRequirementList.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/AccessRequirementList.js +126 -125
- package/dist/components/AccessRequirementList/AccessRequirementList.js.map +1 -1
- package/dist/components/AccessRequirementList/AccessRequirementListItem.d.ts +1 -1
- package/dist/components/AccessRequirementList/AccessRequirementListItem.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/AccessRequirementListItem.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/AccessorRequirementHelpText.js +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/AccessorRequirementHelpText.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/EDucPreviewStep/EDucPreviewStep.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/EDucPreviewStep/EDucPreviewStep.js +28 -16
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/EDucPreviewStep/EDucPreviewStep.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManualUploadDucStep/ManualUploadDucStep.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManualUploadDucStep/ManualUploadDucStep.js +99 -97
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManualUploadDucStep/ManualUploadDucStep.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ResearchProjectForm/ResearchProjectForm.js +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ResearchProjectForm/ResearchProjectForm.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewCollaboratorsAndSigningOfficialAccordion.js +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewCollaboratorsAndSigningOfficialAccordion.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.js +11 -8
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/requestFlowTypes.d.ts +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/requestFlowTypes.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/RequestDataStep.d.ts +1 -4
- package/dist/components/AccessRequirementList/RequestDataStep.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/RequestDataStep.js +15 -18
- package/dist/components/AccessRequirementList/RequestDataStep.js.map +1 -1
- package/dist/components/AccessTokenPage/AccessTokenPage.js +1 -1
- package/dist/components/AccessTokenPage/AccessTokenPage.js.map +1 -1
- package/dist/components/AcknowledgementsPage/AcknowledgementsPage.js +1 -1
- package/dist/components/AcknowledgementsPage/AcknowledgementsPage.js.map +1 -1
- package/dist/components/Aridhia/DarWizard/DarSectionForm.d.ts.map +1 -1
- package/dist/components/Aridhia/DarWizard/DarSectionForm.js +17 -13
- package/dist/components/Aridhia/DarWizard/DarSectionForm.js.map +1 -1
- package/dist/components/Aridhia/DarWizard/DarSubmittedPanel.d.ts +3 -3
- package/dist/components/Aridhia/DarWizard/DarSubmittedPanel.d.ts.map +1 -1
- package/dist/components/Aridhia/DarWizard/DarSubmittedPanel.js +33 -34
- package/dist/components/Aridhia/DarWizard/DarSubmittedPanel.js.map +1 -1
- package/dist/components/Aridhia/fairFormToRjsf.js +1 -1
- package/dist/components/Aridhia/fairFormToRjsf.js.map +1 -1
- package/dist/components/Authentication/LastLoginInfo.js +1 -1
- package/dist/components/Authentication/LastLoginInfo.js.map +1 -1
- package/dist/components/CertificationQuiz/CertificationQuiz.js +1 -1
- package/dist/components/CertificationQuiz/CertificationQuiz.js.map +1 -1
- package/dist/components/ChallengeSubmission/AvailableEvaluationQueueList.js +1 -1
- package/dist/components/ChallengeSubmission/AvailableEvaluationQueueList.js.map +1 -1
- package/dist/components/ChallengeSubmission/EvaluationQueueCurrentRoundInfo.js +1 -1
- package/dist/components/ChallengeSubmission/EvaluationQueueCurrentRoundInfo.js.map +1 -1
- package/dist/components/ChallengeSubmission/SubmissionDirectoryList.js +6 -6
- package/dist/components/ChallengeSubmission/SubmissionDirectoryList.js.map +1 -1
- package/dist/components/ChallengeTeamWizard/ChallengeTeamTable.d.ts.map +1 -1
- package/dist/components/ChallengeTeamWizard/ChallengeTeamTable.js +4 -4
- package/dist/components/ChallengeTeamWizard/ChallengeTeamTable.js.map +1 -1
- package/dist/components/ChallengeTeamWizard/SelectChallengeTeam.js +4 -4
- package/dist/components/CitationPopover/CitationPopoverContent.js +4 -4
- package/dist/components/CitationPopover/CitationPopoverContent.js.map +1 -1
- package/dist/components/ComponentCollapse.d.ts.map +1 -1
- package/dist/components/ComponentCollapse.js +2 -1
- package/dist/components/ComponentCollapse.js.map +1 -1
- package/dist/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizard.d.ts.map +1 -1
- package/dist/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizard.js +52 -49
- package/dist/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizard.js.map +1 -1
- package/dist/components/DataGrid/SynapseGrid.d.ts.map +1 -1
- package/dist/components/DataGrid/SynapseGrid.js +231 -219
- package/dist/components/DataGrid/SynapseGrid.js.map +1 -1
- package/dist/components/DataGrid/SyncGridWithSourceButton.d.ts.map +1 -1
- package/dist/components/DataGrid/SyncGridWithSourceButton.js +5 -4
- package/dist/components/DataGrid/SyncGridWithSourceButton.js.map +1 -1
- package/dist/components/DataGrid/components/ColumnHeaderWithTooltip.d.ts.map +1 -1
- package/dist/components/DataGrid/components/ColumnHeaderWithTooltip.js +7 -5
- package/dist/components/DataGrid/components/ColumnHeaderWithTooltip.js.map +1 -1
- package/dist/components/DataGrid/components/ExportCsvFromGridButton.js +4 -4
- package/dist/components/DataGrid/components/ExportCsvFromGridButton.js.map +1 -1
- package/dist/components/DataGrid/components/ReorderColumnsButton.js +4 -4
- package/dist/components/DataGrid/components/ReorderColumnsButton.js.map +1 -1
- package/dist/components/DataGrid/components/ReorderColumnsDialog.d.ts.map +1 -1
- package/dist/components/DataGrid/components/ReorderColumnsDialog.js +12 -8
- package/dist/components/DataGrid/components/ReorderColumnsDialog.js.map +1 -1
- package/dist/components/DataGrid/components/UploadCsvToGridButton.js +1 -1
- package/dist/components/DataGrid/components/UploadCsvToGridButton.js.map +1 -1
- package/dist/components/DataGrid/hooks/useGridUndoRedo.js +5 -5
- package/dist/components/DataGrid/utils/applyModelChange.d.ts.map +1 -1
- package/dist/components/DataGrid/utils/applyModelChange.js +14 -14
- package/dist/components/DataGrid/utils/applyModelChange.js.map +1 -1
- package/dist/components/DataGrid/utils/columnFactory.js +1 -1
- package/dist/components/DataGrid/utils/columnFactory.js.map +1 -1
- package/dist/components/DataGrid/utils/splitPatch.d.ts.map +1 -1
- package/dist/components/DataGrid/utils/splitPatch.js +22 -13
- package/dist/components/DataGrid/utils/splitPatch.js.map +1 -1
- package/dist/components/DownloadCart/DownloadCartPage.js +1 -1
- package/dist/components/DownloadCart/DownloadCartPage.js.map +1 -1
- package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.d.ts.map +1 -1
- package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.js +2 -1
- package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.js.map +1 -1
- package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.module.js.map +1 -1
- package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.module.scss +1 -3
- package/dist/components/EntityBadgeIcons/EntityBadgeIcons.d.ts.map +1 -1
- package/dist/components/EntityBadgeIcons/EntityBadgeIcons.js +16 -10
- package/dist/components/EntityBadgeIcons/EntityBadgeIcons.js.map +1 -1
- package/dist/components/EntityDownloadButton/EntityDownloadButton.js +1 -1
- package/dist/components/EntityDownloadButton/EntityDownloadButton.js.map +1 -1
- package/dist/components/EntityFinder/EntityFinder.js +4 -4
- package/dist/components/EntityFinder/EntityIdTextField.js +1 -1
- package/dist/components/EntityFinder/EntityIdTextField.js.map +1 -1
- package/dist/components/EntityFinder/tree/VirtualizedTree.d.ts.map +1 -1
- package/dist/components/EntityFinder/tree/VirtualizedTree.js +5 -4
- package/dist/components/EntityFinder/tree/VirtualizedTree.js.map +1 -1
- package/dist/components/EntityHeaderTable/EntityHeaderTable.js +1 -1
- package/dist/components/EntityHeaderTable/EntityHeaderTable.js.map +1 -1
- package/dist/components/EntityTreeTable/components/EntityNameCell.d.ts.map +1 -1
- package/dist/components/EntityTreeTable/components/EntityNameCell.js +2 -1
- package/dist/components/EntityTreeTable/components/EntityNameCell.js.map +1 -1
- package/dist/components/EntityUpload/FileUploadProgress.d.ts.map +1 -1
- package/dist/components/EntityUpload/FileUploadProgress.js +11 -7
- package/dist/components/EntityUpload/FileUploadProgress.js.map +1 -1
- package/dist/components/Evaluation/round_limits/EvaluationRoundLimitOptionsList.d.ts.map +1 -1
- package/dist/components/Evaluation/round_limits/EvaluationRoundLimitOptionsList.js +4 -3
- package/dist/components/Evaluation/round_limits/EvaluationRoundLimitOptionsList.js.map +1 -1
- package/dist/components/ExperimentalMode/ExperimentalMode.js +1 -1
- package/dist/components/ExperimentalMode/ExperimentalMode.js.map +1 -1
- package/dist/components/ExternalFileHandleLink/ExternalFileHandleLink.js +1 -1
- package/dist/components/ExternalFileHandleLink/ExternalFileHandleLink.js.map +1 -1
- package/dist/components/FormTemplateEditor/ChoiceOptionsEditor.d.ts.map +1 -1
- package/dist/components/FormTemplateEditor/ChoiceOptionsEditor.js +2 -1
- package/dist/components/FormTemplateEditor/ChoiceOptionsEditor.js.map +1 -1
- package/dist/components/FormTemplateEditor/FieldDefinitionDrawer.d.ts.map +1 -1
- package/dist/components/FormTemplateEditor/FieldDefinitionDrawer.js +2 -1
- package/dist/components/FormTemplateEditor/FieldDefinitionDrawer.js.map +1 -1
- package/dist/components/FormTemplateEditor/FieldLibrary.d.ts.map +1 -1
- package/dist/components/FormTemplateEditor/FieldLibrary.js +2 -1
- package/dist/components/FormTemplateEditor/FieldLibrary.js.map +1 -1
- package/dist/components/FormTemplateEditor/FieldLibraryRow.js +4 -4
- package/dist/components/FormTemplateEditor/FieldLibraryRow.js.map +1 -1
- package/dist/components/FormTemplateEditor/FormStructurePanel.js +1 -1
- package/dist/components/FormTemplateEditor/FormStructurePanel.js.map +1 -1
- package/dist/components/FormTemplateEditor/FormTemplateEditorForm.js +1 -1
- package/dist/components/FormTemplateEditor/FormTemplateEditorForm.js.map +1 -1
- package/dist/components/FormTemplateEditor/StepCard.d.ts.map +1 -1
- package/dist/components/FormTemplateEditor/StepCard.js +15 -10
- package/dist/components/FormTemplateEditor/StepCard.js.map +1 -1
- package/dist/components/FormTemplateEditor/StepFieldRow.d.ts.map +1 -1
- package/dist/components/FormTemplateEditor/StepFieldRow.js +11 -6
- package/dist/components/FormTemplateEditor/StepFieldRow.js.map +1 -1
- package/dist/components/FormTemplateEditor/TemplateFileHandleField.d.ts.map +1 -1
- package/dist/components/FormTemplateEditor/TemplateFileHandleField.js +2 -1
- package/dist/components/FormTemplateEditor/TemplateFileHandleField.js.map +1 -1
- package/dist/components/FormTemplateEditor/useSaveFormTemplate.d.ts.map +1 -1
- package/dist/components/FormTemplateEditor/useSaveFormTemplate.js.map +1 -1
- package/dist/components/FormTemplateReferenceField/FormTemplatePreviewDialog.d.ts +9 -0
- package/dist/components/FormTemplateReferenceField/FormTemplatePreviewDialog.d.ts.map +1 -0
- package/dist/components/FormTemplateReferenceField/FormTemplatePreviewDialog.js +45 -0
- package/dist/components/FormTemplateReferenceField/FormTemplatePreviewDialog.js.map +1 -0
- package/dist/components/FormTemplateReferenceField/FormTemplateReferenceField.d.ts +22 -0
- package/dist/components/FormTemplateReferenceField/FormTemplateReferenceField.d.ts.map +1 -0
- package/dist/components/FormTemplateReferenceField/FormTemplateReferenceField.js +139 -0
- package/dist/components/FormTemplateReferenceField/FormTemplateReferenceField.js.map +1 -0
- package/dist/components/Forum/ForumTable.d.ts +17 -5
- package/dist/components/Forum/ForumTable.d.ts.map +1 -1
- package/dist/components/Forum/ForumTable.js +94 -77
- package/dist/components/Forum/ForumTable.js.map +1 -1
- package/dist/components/GenericCard/DuoTermTags/DuoTermTags.js +45 -45
- package/dist/components/GenericCard/PortalDOI/PortalDOI.js +5 -5
- package/dist/components/GenericCard/PortalDOI/PortalDOI.js.map +1 -1
- package/dist/components/GenericCard/TableRowGenericCard.js +1 -1
- package/dist/components/GenericCard/TableRowGenericCard.js.map +1 -1
- package/dist/components/HelpPopover/HelpPopover.js +1 -1
- package/dist/components/HelpPopover/HelpPopover.js.map +1 -1
- package/dist/components/IconSvg/IconSvg.d.ts.map +1 -1
- package/dist/components/IconSvg/IconSvg.js +154 -47
- package/dist/components/IconSvg/IconSvg.js.map +1 -1
- package/dist/components/JsonSchemaForm/templates/ButtonTemplate.d.ts.map +1 -1
- package/dist/components/JsonSchemaForm/templates/ButtonTemplate.js +19 -16
- package/dist/components/JsonSchemaForm/templates/ButtonTemplate.js.map +1 -1
- package/dist/components/JsonSchemaForm/templates/RJSFInputLabel.d.ts.map +1 -1
- package/dist/components/JsonSchemaForm/templates/RJSFInputLabel.js +2 -1
- package/dist/components/JsonSchemaForm/templates/RJSFInputLabel.js.map +1 -1
- package/dist/components/JsonSchemaForm/widgets/PhoneWidget.d.ts +9 -0
- package/dist/components/JsonSchemaForm/widgets/PhoneWidget.d.ts.map +1 -0
- package/dist/components/JsonSchemaForm/widgets/PhoneWidget.js +21 -0
- package/dist/components/JsonSchemaForm/widgets/PhoneWidget.js.map +1 -0
- package/dist/components/Markdown/MarkdownCollapse.d.ts.map +1 -1
- package/dist/components/Markdown/MarkdownCollapse.js +3 -1
- package/dist/components/Markdown/MarkdownCollapse.js.map +1 -1
- package/dist/components/MissingQueryResultsWarning/MissingQueryResultsWarning.js +1 -1
- package/dist/components/MissingQueryResultsWarning/MissingQueryResultsWarning.js.map +1 -1
- package/dist/components/OAuthClientManagement/OAuthManagement.js +14 -13
- package/dist/components/OAuthClientManagement/OAuthManagement.js.map +1 -1
- package/dist/components/PortalList/PortalCard.d.ts.map +1 -1
- package/dist/components/PortalList/PortalCard.js +6 -5
- package/dist/components/PortalList/PortalCard.js.map +1 -1
- package/dist/components/PortalList/PortalList.js +4 -4
- package/dist/components/PortalList/PortalList.js.map +1 -1
- package/dist/components/ProjectVisibilityChip/ProjectVisibilityChip.js +6 -6
- package/dist/components/QueryBuilder/FilterConditionRow.js +4 -4
- package/dist/components/QueryCountButton/QueryCountButton.js +5 -5
- package/dist/components/QueryCountButton/QueryCountButton.js.map +1 -1
- package/dist/components/ReleaseCard/ReleaseCardLarge.js +5 -5
- package/dist/components/ReleaseCard/ReleaseCardLarge.js.map +1 -1
- package/dist/components/SetAccessRequirementCommonFields/SetAccessRequirementCommonFields.d.ts.map +1 -1
- package/dist/components/SetAccessRequirementCommonFields/SetAccessRequirementCommonFields.js +142 -108
- package/dist/components/SetAccessRequirementCommonFields/SetAccessRequirementCommonFields.js.map +1 -1
- package/dist/components/SetBasicAccessRequirementFields/AccessorRequirements.d.ts.map +1 -1
- package/dist/components/SetBasicAccessRequirementFields/AccessorRequirements.js +15 -15
- package/dist/components/SetBasicAccessRequirementFields/AccessorRequirements.js.map +1 -1
- package/dist/components/SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.d.ts.map +1 -1
- package/dist/components/SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.js +57 -55
- package/dist/components/SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.js.map +1 -1
- package/dist/components/ShareThisPage/ShareThisPage.js +4 -4
- package/dist/components/ShareThisPage/ShareThisPage.js.map +1 -1
- package/dist/components/SustainabilityScorecard/DialLayout.js +1 -1
- package/dist/components/SustainabilityScorecard/DialLayout.js.map +1 -1
- package/dist/components/SustainabilityScorecard/SustainabilityScorecard.js +1 -1
- package/dist/components/SustainabilityScorecard/SustainabilityScorecard.js.map +1 -1
- package/dist/components/SynapseChat/SynapseChat.js +1 -1
- package/dist/components/SynapseChat/SynapseChat.js.map +1 -1
- package/dist/components/SynapseChat/SynapseChatInteraction.d.ts.map +1 -1
- package/dist/components/SynapseChat/SynapseChatInteraction.js +2 -1
- package/dist/components/SynapseChat/SynapseChatInteraction.js.map +1 -1
- package/dist/components/SynapseChat/components/ChatInputArea/ChatInputArea.js +1 -1
- package/dist/components/SynapseChat/components/ChatInputArea/ChatInputArea.js.map +1 -1
- package/dist/components/SynapseFooter/SynapseFooter.js +1 -1
- package/dist/components/SynapseFooter/SynapseFooter.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseFeaturedDatasetItem.js +1 -1
- package/dist/components/SynapseHomepageV2/SynapseFeaturedDatasetItem.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseHomepageNavBar.d.ts.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseHomepageNavBar.js +2 -1
- package/dist/components/SynapseHomepageV2/SynapseHomepageNavBar.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseInActionItem.js +4 -4
- package/dist/components/SynapseHomepageV2/SynapseInActionItem.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseTrendingProjectsItem.js +1 -1
- package/dist/components/SynapseHomepageV2/SynapseTrendingProjectsItem.js.map +1 -1
- package/dist/components/SynapseNavDrawer/SynapseNavDrawer.d.ts.map +1 -1
- package/dist/components/SynapseNavDrawer/SynapseNavDrawer.js +4 -1
- package/dist/components/SynapseNavDrawer/SynapseNavDrawer.js.map +1 -1
- package/dist/components/SynapsePortalBanners/SynapsePortalBanners.js +1 -1
- package/dist/components/SynapsePortalBanners/SynapsePortalBanners.js.map +1 -1
- package/dist/components/SynapseSearchPageResults/SynapseSearchPageResults.js +1 -1
- package/dist/components/SynapseSearchPageResults/SynapseSearchPageResults.js.map +1 -1
- package/dist/components/SynapseSearchPageResults/SynapseSearchResultsCard.d.ts.map +1 -1
- package/dist/components/SynapseSearchPageResults/SynapseSearchResultsCard.js +12 -9
- package/dist/components/SynapseSearchPageResults/SynapseSearchResultsCard.js.map +1 -1
- package/dist/components/SynapseTable/RowSelection/RowSelectionControls.js +4 -4
- package/dist/components/SynapseTable/RowSelection/RowSelectionControls.js.map +1 -1
- package/dist/components/SynapseTable/datasets/DatasetItemsEditor.js +140 -140
- package/dist/components/SynapseTable/datasets/DatasetItemsEditor.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/ColumnModelForm.js +1 -1
- package/dist/components/TableColumnSchemaEditor/ColumnModelForm.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/ImportTableColumnsButton.js +1 -1
- package/dist/components/TableColumnSchemaEditor/ImportTableColumnsButton.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorUtils.d.ts.map +1 -1
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorUtils.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaForm.js +9 -9
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaForm.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaFormActions.d.ts.map +1 -1
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaFormActions.js +6 -4
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaFormActions.js.map +1 -1
- package/dist/components/TanStackTable/ColumnHeader.js +1 -1
- package/dist/components/TanStackTable/ColumnHeader.js.map +1 -1
- package/dist/components/TeamSubjectsSelector/TeamBadgeOrError.js +1 -1
- package/dist/components/TeamSubjectsSelector/TeamBadgeOrError.js.map +1 -1
- package/dist/components/TeamSubjectsSelector/TeamSubjectsSelector.d.ts.map +1 -1
- package/dist/components/TeamSubjectsSelector/TeamSubjectsSelector.js +4 -3
- package/dist/components/TeamSubjectsSelector/TeamSubjectsSelector.js.map +1 -1
- package/dist/components/Webhook/WebhookDashboard.js +1 -1
- package/dist/components/Webhook/WebhookDashboard.js.map +1 -1
- package/dist/components/dataaccess/AccessRequirementDashboard.js +4 -4
- package/dist/components/dataaccess/AccessRequirementDashboard.js.map +1 -1
- package/dist/components/dataaccess/AccessRequirementTable.js +1 -1
- package/dist/components/dataaccess/AccessRequirementTable.js.map +1 -1
- package/dist/components/dataaccess/EDucTemplateTable.d.ts.map +1 -1
- package/dist/components/dataaccess/EDucTemplateTable.js +13 -11
- package/dist/components/dataaccess/EDucTemplateTable.js.map +1 -1
- package/dist/components/dataaccess/FormTemplateTable.js +6 -6
- package/dist/components/dataaccess/FormTemplateTable.js.map +1 -1
- package/dist/components/dataaccess/ReviewerDashboard.js +17 -17
- package/dist/components/dataaccess/ReviewerDashboard.js.map +1 -1
- package/dist/components/dataaccess/SubmissionPage/SubmissionPage.js +4 -4
- package/dist/components/dataaccess/UserAccessRequestHistory/InFlightEDucSignaturesTable.d.ts.map +1 -1
- package/dist/components/dataaccess/UserAccessRequestHistory/InFlightEDucSignaturesTable.js +4 -1
- package/dist/components/dataaccess/UserAccessRequestHistory/InFlightEDucSignaturesTable.js.map +1 -1
- package/dist/components/doi/CreateOrUpdateDoiModal.js +1 -1
- package/dist/components/doi/CreateOrUpdateDoiModal.js.map +1 -1
- package/dist/components/download_list/DownloadDetails.d.ts.map +1 -1
- package/dist/components/download_list/DownloadDetails.js +12 -10
- package/dist/components/download_list/DownloadDetails.js.map +1 -1
- package/dist/components/entity/metadata/AnnotationsTable.js +1 -1
- package/dist/components/entity/metadata/AnnotationsTable.js.map +1 -1
- package/dist/components/entity/page/CreatedByModifiedBy.js +1 -1
- package/dist/components/entity/page/CreatedByModifiedBy.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.map +1 -1
- package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.js +1 -1
- package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.js.map +1 -1
- package/dist/components/error/ErrorChip.d.ts.map +1 -1
- package/dist/components/error/ErrorChip.js +2 -1
- package/dist/components/error/ErrorChip.js.map +1 -1
- package/dist/components/table/CsvPreview/CreateTableFromCsvDialog.js +14 -14
- package/dist/components/table/CsvPreview/CsvPreviewWithOptions.js +4 -4
- package/dist/components/table/CsvPreview/CsvPreviewWithOptions.js.map +1 -1
- package/dist/components/widgets/facet-nav/FacetNavPanel.js +1 -1
- package/dist/components/widgets/facet-nav/FacetNavPanel.js.map +1 -1
- package/dist/features/curator/dashboard/components/NextStepButton.d.ts.map +1 -1
- package/dist/features/curator/dashboard/components/NextStepButton.js +7 -6
- package/dist/features/curator/dashboard/components/NextStepButton.js.map +1 -1
- package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.js +8 -8
- package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.js.map +1 -1
- package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.js +4 -4
- package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.js.map +1 -1
- package/dist/features/entity/metadata-task/components/MetadataTasksPage.js +4 -4
- package/dist/features/entity/metadata-task/components/MetadataTasksPage.js.map +1 -1
- package/dist/features/entity/metadata-task/components/MetadataTasksTableAssigneeCell.js +1 -1
- package/dist/features/entity/metadata-task/components/MetadataTasksTableAssigneeCell.js.map +1 -1
- package/dist/features/entity/metadata-task/create-task/CurateTaskForm.js +4 -4
- package/dist/features/entity/metadata-task/create-task/CurateTaskForm.js.map +1 -1
- package/dist/features/entity/metadata-task/create-task/TaskCategoryCard.js +1 -1
- package/dist/features/entity/metadata-task/create-task/TaskCategoryCard.js.map +1 -1
- package/dist/features/entity/metadata-task/create-task/TaskFormHeader.js +1 -1
- package/dist/features/entity/metadata-task/create-task/TaskFormHeader.js.map +1 -1
- package/dist/features/entity/metadata-task/create-task/curationTaskFlowRoutes.js +10 -10
- package/dist/features/entity/metadata-task/create-task/curationTaskFlowRoutes.js.map +1 -1
- package/dist/features/team/invitation/components/OpenInvitationsToUserCard.js +1 -1
- package/dist/features/team/invitation/components/OpenInvitationsToUserCard.js.map +1 -1
- package/dist/mocks/accessRequirement/mockJsonSchemaAccessRequirements.d.ts +5 -0
- package/dist/mocks/accessRequirement/mockJsonSchemaAccessRequirements.d.ts.map +1 -1
- package/dist/mocks/accessRequirement/mockJsonSchemaAccessRequirements.js +37 -26
- package/dist/mocks/accessRequirement/mockJsonSchemaAccessRequirements.js.map +1 -1
- package/dist/mocks/msw/handlers/aridhiaHandlers.d.ts +8 -0
- package/dist/mocks/msw/handlers/aridhiaHandlers.d.ts.map +1 -1
- package/dist/mocks/msw/handlers/aridhiaHandlers.js +52 -41
- package/dist/mocks/msw/handlers/aridhiaHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/discussionHandlers.d.ts.map +1 -1
- package/dist/mocks/msw/handlers/discussionHandlers.js +40 -33
- package/dist/mocks/msw/handlers/discussionHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/entityHandlers.d.ts.map +1 -1
- package/dist/mocks/msw/handlers/entityHandlers.js +70 -67
- package/dist/mocks/msw/handlers/entityHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/gridHandlers.js +2 -2
- package/dist/mocks/msw/handlers/gridHandlers.js.map +1 -1
- package/dist/mocks/msw/server.d.ts.map +1 -1
- package/dist/mocks/msw/server.js +4 -2
- package/dist/mocks/msw/server.js.map +1 -1
- package/dist/synapse-client/SynapseClient.d.ts +10 -0
- package/dist/synapse-client/SynapseClient.d.ts.map +1 -1
- package/dist/synapse-client/SynapseClient.js +486 -482
- package/dist/synapse-client/SynapseClient.js.map +1 -1
- package/dist/synapse-client/index.js +3 -3
- package/dist/synapse-queries/KeyFactory.d.ts +13 -1
- package/dist/synapse-queries/KeyFactory.d.ts.map +1 -1
- package/dist/synapse-queries/KeyFactory.js +11 -1
- package/dist/synapse-queries/KeyFactory.js.map +1 -1
- package/dist/synapse-queries/dataaccess/index.js +4 -4
- package/dist/synapse-queries/dataaccess/useAccessRequirements.d.ts.map +1 -1
- package/dist/synapse-queries/dataaccess/useAccessRequirements.js +4 -1
- package/dist/synapse-queries/dataaccess/useAccessRequirements.js.map +1 -1
- package/dist/synapse-queries/dataaccess/useEDuc.d.ts +19 -5
- package/dist/synapse-queries/dataaccess/useEDuc.d.ts.map +1 -1
- package/dist/synapse-queries/dataaccess/useEDuc.js +29 -21
- package/dist/synapse-queries/dataaccess/useEDuc.js.map +1 -1
- package/dist/synapse-queries/dataaccess/useFormTemplate.d.ts +12 -0
- package/dist/synapse-queries/dataaccess/useFormTemplate.d.ts.map +1 -1
- package/dist/synapse-queries/dataaccess/useFormTemplate.js +52 -30
- package/dist/synapse-queries/dataaccess/useFormTemplate.js.map +1 -1
- package/dist/synapse-queries/forum/useForum.d.ts +5 -1
- package/dist/synapse-queries/forum/useForum.d.ts.map +1 -1
- package/dist/synapse-queries/forum/useForum.js +23 -1
- package/dist/synapse-queries/forum/useForum.js.map +1 -1
- package/dist/synapse-queries/index.js +185 -184
- package/dist/synapse-queries/jsonschema/useCreateJsonSchema.d.ts +5 -3
- package/dist/synapse-queries/jsonschema/useCreateJsonSchema.d.ts.map +1 -1
- package/dist/synapse-queries/jsonschema/useCreateJsonSchema.js +12 -15
- package/dist/synapse-queries/jsonschema/useCreateJsonSchema.js.map +1 -1
- package/dist/synapse-queries/user/useGetUserChallenges.d.ts.map +1 -1
- package/dist/synapse-queries/user/useGetUserChallenges.js.map +1 -1
- package/dist/theme/DefaultTheme.d.ts.map +1 -1
- package/dist/theme/DefaultTheme.js +4 -1
- package/dist/theme/DefaultTheme.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/utils/APIConstants.d.ts.map +1 -1
- package/dist/utils/APIConstants.js.map +1 -1
- package/dist/utils/AppUtils/AppUtils.js +1 -1
- package/dist/utils/AppUtils/AppUtils.js.map +1 -1
- package/dist/utils/featureflag/FeatureFlags.d.ts.map +1 -1
- package/dist/utils/featureflag/FeatureFlags.js.map +1 -1
- package/dist/utils/functions/EntityTypeUtils.d.ts.map +1 -1
- package/dist/utils/functions/EntityTypeUtils.js.map +1 -1
- package/dist/utils/functions/getEndpoint.d.ts +1 -0
- package/dist/utils/functions/getEndpoint.d.ts.map +1 -1
- package/dist/utils/functions/getEndpoint.js +3 -3
- package/dist/utils/functions/getEndpoint.js.map +1 -1
- package/dist/utils/types/RequestableAccessRequirement.d.ts +8 -0
- package/dist/utils/types/RequestableAccessRequirement.d.ts.map +1 -0
- package/dist/utils/types/RequestableAccessRequirement.js +9 -0
- package/dist/utils/types/RequestableAccessRequirement.js.map +1 -0
- package/package.json +6 -5
- package/dist/testutils/ReactQueryMockUtils.js +0 -676
- package/dist/testutils/ReactQueryMockUtils.js.map +0 -1
|
@@ -6,7 +6,12 @@ import { TemplateFileHandleField as a } from "./TemplateFileHandleField.js";
|
|
|
6
6
|
import { useState as o } from "react";
|
|
7
7
|
import { Box as s, Checkbox as c, Collapse as l, FormControlLabel as u, IconButton as d, Paper as f, Stack as p, Typography as m } from "@mui/material";
|
|
8
8
|
import { jsx as h, jsxs as g } from "react/jsx-runtime";
|
|
9
|
-
import
|
|
9
|
+
import _ from "@mui/icons-material/ExpandLess";
|
|
10
|
+
import v from "@mui/icons-material/ExpandMore";
|
|
11
|
+
import y from "@mui/icons-material/ArrowDownward";
|
|
12
|
+
import b from "@mui/icons-material/ArrowUpward";
|
|
13
|
+
import x from "@mui/icons-material/Delete";
|
|
14
|
+
import S from "@mui/icons-material/DragIndicator";
|
|
10
15
|
import { useSortable as C } from "@dnd-kit/react/sortable";
|
|
11
16
|
//#region src/components/FormTemplateEditor/StepFieldRow.tsx
|
|
12
17
|
function w({ sortableId: w, sortableIndex: T, sortableGroup: E, field: D, resolvedProperty: O, context: k, propertyKey: A, isFirst: j, isLast: M, formTemplateId: N, onChange: P, onMoveUp: F, onMoveDown: I, onRemove: L }) {
|
|
@@ -45,13 +50,13 @@ function w({ sortableId: w, sortableIndex: T, sortableGroup: E, field: D, resolv
|
|
|
45
50
|
"aria-label": "Drag to reorder field",
|
|
46
51
|
className: r.dragHandle,
|
|
47
52
|
sx: { color: "text.secondary" },
|
|
48
|
-
children: /* @__PURE__ */ h(
|
|
53
|
+
children: /* @__PURE__ */ h(S, { fontSize: "small" })
|
|
49
54
|
}),
|
|
50
55
|
/* @__PURE__ */ h(d, {
|
|
51
56
|
size: "small",
|
|
52
57
|
onClick: () => z((e) => !e),
|
|
53
58
|
"aria-label": R ? "Collapse field" : "Expand field",
|
|
54
|
-
children: h(R ?
|
|
59
|
+
children: h(R ? _ : v, { fontSize: "small" })
|
|
55
60
|
}),
|
|
56
61
|
/* @__PURE__ */ g(s, {
|
|
57
62
|
sx: {
|
|
@@ -74,20 +79,20 @@ function w({ sortableId: w, sortableIndex: T, sortableGroup: E, field: D, resolv
|
|
|
74
79
|
disabled: j,
|
|
75
80
|
onClick: F,
|
|
76
81
|
"aria-label": "Move field up",
|
|
77
|
-
children: /* @__PURE__ */ h(
|
|
82
|
+
children: /* @__PURE__ */ h(b, { fontSize: "small" })
|
|
78
83
|
}),
|
|
79
84
|
/* @__PURE__ */ h(d, {
|
|
80
85
|
size: "small",
|
|
81
86
|
disabled: M,
|
|
82
87
|
onClick: I,
|
|
83
88
|
"aria-label": "Move field down",
|
|
84
|
-
children: /* @__PURE__ */ h(
|
|
89
|
+
children: /* @__PURE__ */ h(y, { fontSize: "small" })
|
|
85
90
|
}),
|
|
86
91
|
/* @__PURE__ */ h(d, {
|
|
87
92
|
size: "small",
|
|
88
93
|
onClick: L,
|
|
89
94
|
"aria-label": "Remove field from step",
|
|
90
|
-
children: /* @__PURE__ */ h(
|
|
95
|
+
children: /* @__PURE__ */ h(x, { fontSize: "small" })
|
|
91
96
|
})
|
|
92
97
|
]
|
|
93
98
|
}), /* @__PURE__ */ h(l, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StepFieldRow.js","names":[],"sources":["../../../src/components/FormTemplateEditor/StepFieldRow.tsx"],"sourcesContent":["import { useSortable } from '@dnd-kit/react/sortable'\nimport { FormTemplateField } from '@sage-bionetworks/synapse-client'\nimport {\n Box,\n Checkbox,\n Collapse,\n FormControlLabel,\n IconButton,\n Paper,\n Stack,\n Typography,\n} from '@mui/material'\nimport
|
|
1
|
+
{"version":3,"file":"StepFieldRow.js","names":[],"sources":["../../../src/components/FormTemplateEditor/StepFieldRow.tsx"],"sourcesContent":["import { useSortable } from '@dnd-kit/react/sortable'\nimport { FormTemplateField } from '@sage-bionetworks/synapse-client'\nimport {\n Box,\n Checkbox,\n Collapse,\n FormControlLabel,\n IconButton,\n Paper,\n Stack,\n Typography,\n} from '@mui/material'\nimport DownIcon from '@mui/icons-material/ArrowDownward'\nimport DeleteIcon from '@mui/icons-material/Delete'\nimport DragHandleIcon from '@mui/icons-material/DragIndicator'\nimport ExpandLessIcon from '@mui/icons-material/ExpandLess'\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore'\nimport UpIcon from '@mui/icons-material/ArrowUpward'\nimport { RJSFSchema } from '@rjsf/utils'\nimport { useState } from 'react'\nimport {\n SchemaPropertyContext,\n submissionContextLabel,\n} from '@/utils/jsonschema/submissionContext'\nimport styles from './dragHandle.module.scss'\nimport { detectFieldType, fieldTypeLabel } from './schemaFieldUtils'\nimport { SLOT_SORTABLE_TYPE } from './sortableIds'\nimport { TemplateFileHandleField } from './TemplateFileHandleField'\n\nexport type StepFieldRowProps = {\n /** Sortable id assigned by parent: `slot:{stepIndex}:{fieldIndex}`. */\n sortableId: string\n /** Position within its step's fields array. */\n sortableIndex: number\n /** Sortable group; slots only reorder within the same step. */\n sortableGroup: string\n field: FormTemplateField\n /** The schema property this slot resolves to, if it still exists. */\n resolvedProperty: RJSFSchema | undefined\n /** Which submission context (per the schema's `x-synapse-submissionContext` convention)\n * gates this field, derived from `resolvedProperty`. */\n context: SchemaPropertyContext\n /** Underlying property key (the segment after `/` in `schemaPath`). */\n propertyKey: string\n isFirst: boolean\n isLast: boolean\n /** The FormTemplate's id, if it has been saved. Used to build the template file download. */\n formTemplateId: string | undefined\n onChange: (patch: Partial<FormTemplateField>) => void\n onMoveUp: () => void\n onMoveDown: () => void\n onRemove: () => void\n}\n\n/**\n * A slot row inside a step. Compact by default — shows the field's display\n * name. Expand to reveal slot-specific config: (for file fields) an\n * optional template file handle. Sortable within its parent step.\n */\nexport function StepFieldRow({\n sortableId,\n sortableIndex,\n sortableGroup,\n field,\n resolvedProperty,\n context,\n propertyKey,\n isFirst,\n isLast,\n formTemplateId,\n onChange,\n onMoveUp,\n onMoveDown,\n onRemove,\n}: StepFieldRowProps) {\n const [expanded, setExpanded] = useState(false)\n\n const { ref, handleRef, isDragging } = useSortable({\n id: sortableId,\n index: sortableIndex,\n group: sortableGroup,\n type: SLOT_SORTABLE_TYPE,\n accept: SLOT_SORTABLE_TYPE,\n })\n\n const type = resolvedProperty ? detectFieldType(resolvedProperty) : null\n const displayLabel = resolvedProperty?.title || propertyKey\n const isFileField = type === 'file'\n const isUnresolved = !resolvedProperty\n\n let caption = `Missing field: ${field.schemaPath}`\n if (!isUnresolved) {\n const captionParts = [fieldTypeLabel(type)]\n if (context !== 'ALWAYS') {\n captionParts.push(submissionContextLabel(context))\n }\n if (field.isPublic) {\n captionParts.push('Public')\n }\n caption = captionParts.join(' · ')\n }\n\n return (\n <Paper\n ref={ref}\n variant=\"outlined\"\n className={styles.dragSource}\n data-dragging={isDragging}\n sx={{\n p: 1,\n backgroundColor: 'action.hover',\n borderColor: isUnresolved ? 'error.main' : undefined,\n }}\n >\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 0.5 }}>\n <Box\n ref={handleRef}\n role=\"button\"\n tabIndex={0}\n aria-label=\"Drag to reorder field\"\n className={styles.dragHandle}\n sx={{ color: 'text.secondary' }}\n >\n <DragHandleIcon fontSize=\"small\" />\n </Box>\n <IconButton\n size=\"small\"\n onClick={() => setExpanded(prev => !prev)}\n aria-label={expanded ? 'Collapse field' : 'Expand field'}\n >\n {expanded ? (\n <ExpandLessIcon fontSize=\"small\" />\n ) : (\n <ExpandMoreIcon fontSize=\"small\" />\n )}\n </IconButton>\n <Box sx={{ flexGrow: 1, minWidth: 0 }}>\n <Typography variant=\"body2\" noWrap title={displayLabel}>\n {displayLabel}\n </Typography>\n <Typography\n variant=\"caption\"\n color={isUnresolved ? 'error' : 'text.secondary'}\n >\n {caption}\n </Typography>\n </Box>\n <IconButton\n size=\"small\"\n disabled={isFirst}\n onClick={onMoveUp}\n aria-label=\"Move field up\"\n >\n <UpIcon fontSize=\"small\" />\n </IconButton>\n <IconButton\n size=\"small\"\n disabled={isLast}\n onClick={onMoveDown}\n aria-label=\"Move field down\"\n >\n <DownIcon fontSize=\"small\" />\n </IconButton>\n <IconButton\n size=\"small\"\n onClick={onRemove}\n aria-label=\"Remove field from step\"\n >\n <DeleteIcon fontSize=\"small\" />\n </IconButton>\n </Box>\n\n <Collapse in={expanded} unmountOnExit>\n <Stack spacing={1} sx={{ pt: 1, pl: 4 }}>\n {isFileField && (\n <TemplateFileHandleField\n fileHandleId={field.templateFileHandleId}\n formTemplateId={formTemplateId}\n onChange={next => onChange({ templateFileHandleId: next })}\n />\n )}\n <FormControlLabel\n control={\n <Checkbox\n checked={field.isPublic ?? false}\n onChange={e => onChange({ isPublic: e.target.checked })}\n />\n }\n label=\"Publicly viewable after approval\"\n />\n <Typography variant=\"caption\" color=\"text.secondary\">\n Answers appear in this AR's public submission info once a submission\n is approved. Snapshotted at submit time.\n </Typography>\n </Stack>\n </Collapse>\n </Paper>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;AA2DA,SAAgB,EAAa,EAC3B,eACA,kBACA,kBACA,UACA,qBACA,YACA,gBACA,YACA,WACA,mBACA,aACA,aACA,eACA,eACoB;CACpB,IAAM,CAAC,GAAU,KAAe,EAAS,EAAK,GAExC,EAAE,QAAK,cAAW,kBAAe,EAAY;EACjD,IAAI;EACJ,OAAO;EACP,OAAO;EACP,MAAM;EACN,QAAQ;CACV,CAAC,GAEK,IAAO,IAAmB,EAAgB,CAAgB,IAAI,MAC9D,IAAe,GAAkB,SAAS,GAC1C,IAAc,MAAS,QACvB,IAAe,CAAC,GAElB,IAAU,kBAAkB,EAAM;CACtC,IAAI,CAAC,GAAc;EACjB,IAAM,IAAe,CAAC,EAAe,CAAI,CAAC;EAO1C,AANI,MAAY,YACd,EAAa,KAAK,EAAuB,CAAO,CAAC,GAE/C,EAAM,YACR,EAAa,KAAK,QAAQ,GAE5B,IAAU,EAAa,KAAK,KAAK;CACnC;CAEA,OACE,kBAAC,GAAD;EACO;EACL,SAAQ;EACR,WAAW,EAAO;EAClB,iBAAe;EACf,IAAI;GACF,GAAG;GACH,iBAAiB;GACjB,aAAa,IAAe,eAAe,KAAA;EAC7C;YATF,CAWE,kBAAC,GAAD;GAAK,IAAI;IAAE,SAAS;IAAQ,YAAY;IAAU,KAAK;GAAI;aAA3D;IACE,kBAAC,GAAD;KACE,KAAK;KACL,MAAK;KACL,UAAU;KACV,cAAW;KACX,WAAW,EAAO;KAClB,IAAI,EAAE,OAAO,iBAAiB;eAE9B,kBAAC,GAAD,EAAgB,UAAS,QAAS,CAAA;IAC/B,CAAA;IACL,kBAAC,GAAD;KACE,MAAK;KACL,eAAe,GAAY,MAAQ,CAAC,CAAI;KACxC,cAAY,IAAW,mBAAmB;eAGxC,EADD,IACE,IAEA,GAFD,EAAgB,UAAS,QAAS,CAEA;IAE1B,CAAA;IACZ,kBAAC,GAAD;KAAK,IAAI;MAAE,UAAU;MAAG,UAAU;KAAE;eAApC,CACE,kBAAC,GAAD;MAAY,SAAQ;MAAQ,QAAA;MAAO,OAAO;gBACvC;KACS,CAAA,GACZ,kBAAC,GAAD;MACE,SAAQ;MACR,OAAO,IAAe,UAAU;gBAE/B;KACS,CAAA,CACT;;IACL,kBAAC,GAAD;KACE,MAAK;KACL,UAAU;KACV,SAAS;KACT,cAAW;eAEX,kBAAC,GAAD,EAAQ,UAAS,QAAS,CAAA;IAChB,CAAA;IACZ,kBAAC,GAAD;KACE,MAAK;KACL,UAAU;KACV,SAAS;KACT,cAAW;eAEX,kBAAC,GAAD,EAAU,UAAS,QAAS,CAAA;IAClB,CAAA;IACZ,kBAAC,GAAD;KACE,MAAK;KACL,SAAS;KACT,cAAW;eAEX,kBAAC,GAAD,EAAY,UAAS,QAAS,CAAA;IACpB,CAAA;GACT;MAEL,kBAAC,GAAD;GAAU,IAAI;GAAU,eAAA;aACtB,kBAAC,GAAD;IAAO,SAAS;IAAG,IAAI;KAAE,IAAI;KAAG,IAAI;IAAE;cAAtC;KACG,KACC,kBAAC,GAAD;MACE,cAAc,EAAM;MACJ;MAChB,WAAU,MAAQ,EAAS,EAAE,sBAAsB,EAAK,CAAC;KAC1D,CAAA;KAEH,kBAAC,GAAD;MACE,SACE,kBAAC,GAAD;OACE,SAAS,EAAM,YAAY;OAC3B,WAAU,MAAK,EAAS,EAAE,UAAU,EAAE,OAAO,QAAQ,CAAC;MACvD,CAAA;MAEH,OAAM;KACP,CAAA;KACD,kBAAC,GAAD;MAAY,SAAQ;MAAU,OAAM;gBAAiB;KAGzC,CAAA;IACP;;EACC,CAAA,CACL;;AAEX"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TemplateFileHandleField.d.ts","sourceRoot":"","sources":["../../../src/components/FormTemplateEditor/TemplateFileHandleField.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TemplateFileHandleField.d.ts","sourceRoot":"","sources":["../../../src/components/FormTemplateEditor/TemplateFileHandleField.tsx"],"names":[],"mappings":"AAsBA,MAAM,MAAM,4BAA4B,GAAG;IACzC,6DAA6D;IAC7D,YAAY,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC;;;;OAIG;IACH,cAAc,EAAE,MAAM,GAAG,SAAS,CAAA;IAClC,QAAQ,EAAE,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAA;CACrD,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,EACtC,YAAY,EACZ,cAAc,EACd,QAAQ,GACT,EAAE,4BAA4B,2CA+F9B"}
|
|
@@ -5,7 +5,8 @@ import { useMemo as r, useRef as i, useState as a } from "react";
|
|
|
5
5
|
import { Alert as o, Box as s, Button as c, IconButton as l, Stack as u, Typography as d } from "@mui/material";
|
|
6
6
|
import { Fragment as f, jsx as p, jsxs as m } from "react/jsx-runtime";
|
|
7
7
|
import { FileHandleAssociateType as h } from "@sage-bionetworks/synapse-types";
|
|
8
|
-
import
|
|
8
|
+
import g from "@mui/icons-material/Close";
|
|
9
|
+
import _ from "@mui/icons-material/UploadFile";
|
|
9
10
|
//#region src/components/FormTemplateEditor/TemplateFileHandleField.tsx
|
|
10
11
|
function v({ fileHandleId: v, formTemplateId: y, onChange: b }) {
|
|
11
12
|
let [x, S] = a(!1), [C, w] = a(null), T = i(null), E = r(() => v && y ? {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TemplateFileHandleField.js","names":[],"sources":["../../../src/components/FormTemplateEditor/TemplateFileHandleField.tsx"],"sourcesContent":["import { DialogBase } from '@/components/DialogBase'\nimport {\n BasicFileHandleUpload,\n FileUploadHandle,\n} from '@/components/file/upload/BasicFileHandleUpload'\nimport { FileHandleLink } from '@/components/widgets/FileHandleLink'\nimport
|
|
1
|
+
{"version":3,"file":"TemplateFileHandleField.js","names":[],"sources":["../../../src/components/FormTemplateEditor/TemplateFileHandleField.tsx"],"sourcesContent":["import { DialogBase } from '@/components/DialogBase'\nimport {\n BasicFileHandleUpload,\n FileUploadHandle,\n} from '@/components/file/upload/BasicFileHandleUpload'\nimport { FileHandleLink } from '@/components/widgets/FileHandleLink'\nimport RemoveIcon from '@mui/icons-material/Close'\nimport UploadIcon from '@mui/icons-material/UploadFile'\nimport {\n Alert,\n Box,\n Button,\n IconButton,\n Stack,\n Typography,\n} from '@mui/material'\nimport {\n FileHandleAssociateType,\n FileHandleAssociation,\n} from '@sage-bionetworks/synapse-types'\nimport { useMemo, useRef, useState } from 'react'\n\nexport type TemplateFileHandleFieldProps = {\n /** The slot's `templateFileHandleId`, if one is attached. */\n fileHandleId: string | undefined\n /**\n * The FormTemplate's id, used to build the download association. Undefined for a template\n * that has not been saved yet (a brand-new draft), in which case the file is downloaded\n * directly as a file handle the current user uploaded.\n */\n formTemplateId: string | undefined\n onChange: (fileHandleId: string | undefined) => void\n}\n\n/**\n * Upload/download control for a file field's optional template attachment\n * (`FormTemplateField.templateFileHandleId`) — e.g. a fillable document requesters must\n * download, complete, and re-upload to answer this slot. Uploads immediately via\n * `BasicFileHandleUpload` in a dialog; download reuses `FileHandleLink`.\n */\nexport function TemplateFileHandleField({\n fileHandleId,\n formTemplateId,\n onChange,\n}: TemplateFileHandleFieldProps) {\n const [dialogOpen, setDialogOpen] = useState(false)\n const [validationError, setValidationError] = useState<string | null>(null)\n const uploadRef = useRef<FileUploadHandle | null>(null)\n // FileHandleLink refetches whenever the association's identity changes.\n const fileHandleAssociation = useMemo<FileHandleAssociation | undefined>(\n () =>\n fileHandleId && formTemplateId\n ? {\n fileHandleId,\n // AccessRequirementAttachment is a stand-in: a FormTemplate is not an\n // AccessRequirement, so the server may not authorize this download.\n // Supported FormTemplate template-file downloads are tracked in PLFM-10013.\n associateObjectType:\n FileHandleAssociateType.AccessRequirementAttachment,\n associateObjectId: formTemplateId,\n }\n : undefined,\n [fileHandleId, formTemplateId],\n )\n\n return (\n <Box>\n <Typography variant=\"caption\" color=\"text.secondary\" component=\"div\">\n Template file\n </Typography>\n <Stack direction=\"row\" spacing={1} alignItems=\"center\">\n {fileHandleId ? (\n <>\n {/* A template that has not been saved yet can only reference a file handle that the current user uploaded, so it is downloaded directly. */}\n {fileHandleAssociation ? (\n <FileHandleLink\n fileHandleAssociation={fileHandleAssociation}\n showDownloadIcon\n />\n ) : (\n <FileHandleLink\n creatorFileHandleId={fileHandleId}\n showDownloadIcon\n />\n )}\n <IconButton\n size=\"small\"\n onClick={() => onChange(undefined)}\n aria-label=\"Remove template file\"\n >\n <RemoveIcon fontSize=\"small\" />\n </IconButton>\n </>\n ) : (\n <Typography variant=\"body2\" color=\"text.secondary\">\n None\n </Typography>\n )}\n <Button\n size=\"small\"\n startIcon={<UploadIcon fontSize=\"small\" />}\n onClick={() => setDialogOpen(true)}\n >\n {fileHandleId ? 'Replace' : 'Upload'}\n </Button>\n </Stack>\n\n <DialogBase\n open={dialogOpen}\n onCancel={() => setDialogOpen(false)}\n title=\"Upload template file\"\n maxWidth=\"sm\"\n content={\n <>\n <BasicFileHandleUpload\n ref={uploadRef}\n allowMultipleUpload={false}\n disableDragAndDrop={true}\n onValidationError={setValidationError}\n onFileUploadComplete={newFileHandleId => {\n onChange(newFileHandleId)\n setDialogOpen(false)\n }}\n />\n {validationError && (\n <Alert severity=\"error\" sx={{ mt: 2 }}>\n {validationError}\n </Alert>\n )}\n </>\n }\n actions={\n <Button variant=\"outlined\" onClick={() => setDialogOpen(false)}>\n Cancel\n </Button>\n }\n />\n </Box>\n )\n}\n"],"mappings":";;;;;;;;;;AAwCA,SAAgB,EAAwB,EACtC,iBACA,mBACA,eAC+B;CAC/B,IAAM,CAAC,GAAY,KAAiB,EAAS,EAAK,GAC5C,CAAC,GAAiB,KAAsB,EAAwB,IAAI,GACpE,IAAY,EAAgC,IAAI,GAEhD,IAAwB,QAE1B,KAAgB,IACZ;EACE;EAIA,qBACE,EAAwB;EAC1B,mBAAmB;CACrB,IACA,KAAA,GACN,CAAC,GAAc,CAAc,CAC/B;CAEA,OACE,kBAAC,GAAD,EAAA,UAAA;EACE,kBAAC,GAAD;GAAY,SAAQ;GAAU,OAAM;GAAiB,WAAU;aAAM;EAEzD,CAAA;EACZ,kBAAC,GAAD;GAAO,WAAU;GAAM,SAAS;GAAG,YAAW;aAA9C,CACG,IACC,kBAAA,GAAA,EAAA,UAAA,CAEG,IACC,kBAAC,GAAD;IACyB;IACvB,kBAAA;GACD,CAAA,IAED,kBAAC,GAAD;IACE,qBAAqB;IACrB,kBAAA;GACD,CAAA,GAEH,kBAAC,GAAD;IACE,MAAK;IACL,eAAe,EAAS,KAAA,CAAS;IACjC,cAAW;cAEX,kBAAC,GAAD,EAAY,UAAS,QAAS,CAAA;GACpB,CAAA,CACZ,EAAA,CAAA,IAEF,kBAAC,GAAD;IAAY,SAAQ;IAAQ,OAAM;cAAiB;GAEvC,CAAA,GAEd,kBAAC,GAAD;IACE,MAAK;IACL,WAAW,kBAAC,GAAD,EAAY,UAAS,QAAS,CAAA;IACzC,eAAe,EAAc,EAAI;cAEhC,IAAe,YAAY;GACtB,CAAA,CACH;;EAEP,kBAAC,GAAD;GACE,MAAM;GACN,gBAAgB,EAAc,EAAK;GACnC,OAAM;GACN,UAAS;GACT,SACE,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,GAAD;IACE,KAAK;IACL,qBAAqB;IACrB,oBAAoB;IACpB,mBAAmB;IACnB,uBAAsB,MAAmB;KAEvC,AADA,EAAS,CAAe,GACxB,EAAc,EAAK;IACrB;GACD,CAAA,GACA,KACC,kBAAC,GAAD;IAAO,UAAS;IAAQ,IAAI,EAAE,IAAI,EAAE;cACjC;GACI,CAAA,CAET,EAAA,CAAA;GAEJ,SACE,kBAAC,GAAD;IAAQ,SAAQ;IAAW,eAAe,EAAc,EAAK;cAAG;GAExD,CAAA;EAEX,CAAA;CACE,EAAA,CAAA;AAET"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSaveFormTemplate.d.ts","sourceRoot":"","sources":["../../../src/components/FormTemplateEditor/useSaveFormTemplate.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"useSaveFormTemplate.d.ts","sourceRoot":"","sources":["../../../src/components/FormTemplateEditor/useSaveFormTemplate.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0DAA0D,CAAA;AAC7F,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC,OAAO,EAEL,kBAAkB,EAEnB,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EAAE,wBAAwB,EAAuB,MAAM,SAAS,CAAA;AAMvE,OAAO,EACL,gCAAgC,EAEjC,MAAM,0BAA0B,CAAA;AAEjC,MAAM,MAAM,2BAA2B,GAAG;IACxC,eAAe,CAAC,EAAE,YAAY,CAAA;IAC9B,iBAAiB,CAAC,EAAE,UAAU,CAAA;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,UAAU,CAAA;IACtB,KAAK,EAAE,wBAAwB,EAAE,CAAA;CAClC,CAAA;AAED,MAAM,MAAM,2BAA2B,GACnC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,YAAY,CAAA;CAAE,GACpC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,gBAAgB,EAAE,gCAAgC,EAAE,CAAA;CAAE,CAAA;AAEvE;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,CAAC,EAAE,IAAI,CACZ,kBAAkB,CAChB,2BAA2B,EAC3B,kBAAkB,EAClB,2BAA2B,CAC5B,EACD,YAAY,CACb,4IA2EF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSaveFormTemplate.js","names":[],"sources":["../../../src/components/FormTemplateEditor/useSaveFormTemplate.ts"],"sourcesContent":["/*\n * Network orchestration for saving a FormTemplate draft: pre-flight client-side validation\n * (mirroring the server's per-field rules, since the server only returns a flat message),\n * registering a new JSON Schema version when the schema body changed, and creating or updating\n * the FormTemplate against that schema version.\n */\nimport { getJsonSchemaVersionsQuery } from '@/synapse-queries/jsonschema/useListJsonSchemaVersions'\nimport { useCreateJsonSchema } from '@/synapse-queries/jsonschema/useCreateJsonSchema'\nimport {\n useCreateFormTemplate,\n useUpdateFormTemplate,\n} from '@/synapse-queries/dataaccess/useFormTemplate'\nimport { FormTemplate
|
|
1
|
+
{"version":3,"file":"useSaveFormTemplate.js","names":[],"sources":["../../../src/components/FormTemplateEditor/useSaveFormTemplate.ts"],"sourcesContent":["/*\n * Network orchestration for saving a FormTemplate draft: pre-flight client-side validation\n * (mirroring the server's per-field rules, since the server only returns a flat message),\n * registering a new JSON Schema version when the schema body changed, and creating or updating\n * the FormTemplate against that schema version.\n */\nimport { getJsonSchemaVersionsQuery } from '@/synapse-queries/jsonschema/useListJsonSchemaVersions'\nimport { useCreateJsonSchema } from '@/synapse-queries/jsonschema/useCreateJsonSchema'\nimport {\n useCreateFormTemplate,\n useUpdateFormTemplate,\n} from '@/synapse-queries/dataaccess/useFormTemplate'\nimport { FormTemplate } from '@sage-bionetworks/synapse-client'\nimport { SynapseClientError } from '@sage-bionetworks/synapse-client/util/SynapseClientError'\nimport { RJSFSchema } from '@rjsf/utils'\nimport isEqual from 'lodash-es/isEqual'\nimport {\n useMutation,\n UseMutationOptions,\n useQueryClient,\n} from '@tanstack/react-query'\nimport { useSynapseContext } from '@/utils/context/SynapseContext'\nimport { EditableFormTemplateStep, toFormTemplateSteps } from './utils'\nimport {\n formatSchema$id,\n getNextSchemaVersion,\n resolveFormTemplateSchemaName,\n} from './formTemplateSchema'\nimport {\n FormTemplateFieldValidationError,\n validateFormTemplateFields,\n} from './formTemplateValidation'\n\nexport type SaveFormTemplateDraftParams = {\n initialTemplate?: FormTemplate\n initialJsonSchema?: RJSFSchema\n name: string\n jsonSchema: RJSFSchema\n steps: EditableFormTemplateStep[]\n}\n\nexport type SaveFormTemplateDraftResult =\n | { ok: true; template: FormTemplate }\n | { ok: false; validationErrors: FormTemplateFieldValidationError[] }\n\n/**\n * Owns the create-schema, create-template, and update-template mutations, and sequences them\n * into a single save mutation. A validation failure resolves as `{ ok: false, validationErrors }`\n * rather than rejecting; a network failure (including a 412 conflict from a concurrent edit)\n * rejects normally, surfaced via the returned mutation's `error`.\n */\nexport function useSaveFormTemplate(\n options?: Omit<\n UseMutationOptions<\n SaveFormTemplateDraftResult,\n SynapseClientError,\n SaveFormTemplateDraftParams\n >,\n 'mutationFn'\n >,\n) {\n const queryClient = useQueryClient()\n const { synapseClient, keyFactory } = useSynapseContext()\n const createSchema = useCreateJsonSchema()\n const createTemplate = useCreateFormTemplate()\n const updateTemplate = useUpdateFormTemplate()\n\n return useMutation<\n SaveFormTemplateDraftResult,\n SynapseClientError,\n SaveFormTemplateDraftParams\n >({\n ...options,\n mutationFn: async params => {\n const formTemplateSteps = toFormTemplateSteps(params.steps)\n\n const validationErrors = validateFormTemplateFields(\n formTemplateSteps,\n params.jsonSchema,\n )\n if (validationErrors.length > 0) {\n return { ok: false, validationErrors }\n }\n\n // The schema registry has no update operation — every save that changed the schema body\n // registers a fresh, immutable version. Re-registering an unchanged body would still create\n // an unnecessary version, so skip it when the draft's schema matches what was last resolved.\n let schema$id = params.initialTemplate?.schema$id ?? ''\n const schemaChanged = !isEqual(\n params.jsonSchema,\n params.initialJsonSchema,\n )\n if (schemaChanged || !schema$id) {\n const templateSchemaName = resolveFormTemplateSchemaName(\n params.name,\n params.initialTemplate?.schema$id,\n )\n // Registered versions are immutable, so the list is read fresh on every save to pick a\n // version that does not exist yet.\n const registeredVersions = await queryClient.fetchQuery({\n ...getJsonSchemaVersionsQuery(\n templateSchemaName.organizationName,\n templateSchemaName.schemaName,\n { synapseClient, keyFactory },\n ),\n staleTime: 0,\n })\n const response = await createSchema.mutateAsync({\n ...params.jsonSchema,\n $id: formatSchema$id(\n templateSchemaName,\n getNextSchemaVersion(registeredVersions),\n ),\n })\n schema$id = response.newVersionInfo!.$id!\n }\n\n const formTemplate: FormTemplate = {\n ...params.initialTemplate,\n name: params.name,\n schema$id,\n steps: formTemplateSteps,\n }\n\n const template = params.initialTemplate?.id\n ? await updateTemplate.mutateAsync({\n templateId: params.initialTemplate.id,\n formTemplate,\n })\n : await createTemplate.mutateAsync(formTemplate)\n\n return { ok: true, template }\n },\n })\n}\n"],"mappings":";;;;;;;;;;AAmDA,SAAgB,EACd,GAQA;CACA,IAAM,IAAc,EAAe,GAC7B,EAAE,kBAAe,kBAAe,EAAkB,GAClD,IAAe,EAAoB,GACnC,IAAiB,EAAsB,GACvC,IAAiB,EAAsB;CAE7C,OAAO,EAIL;EACA,GAAG;EACH,YAAY,OAAM,MAAU;GAC1B,IAAM,IAAoB,EAAoB,EAAO,KAAK,GAEpD,IAAmB,EACvB,GACA,EAAO,UACT;GACA,IAAI,EAAiB,SAAS,GAC5B,OAAO;IAAE,IAAI;IAAO;GAAiB;GAMvC,IAAI,IAAY,EAAO,iBAAiB,aAAa;GAKrD,IAAI,CAJmB,EACrB,EAAO,YACP,EAAO,iBACT,KACqB,CAAC,GAAW;IAC/B,IAAM,IAAqB,EACzB,EAAO,MACP,EAAO,iBAAiB,SAC1B,GAGM,IAAqB,MAAM,EAAY,WAAW;KACtD,GAAG,EACD,EAAmB,kBACnB,EAAmB,YACnB;MAAE;MAAe;KAAW,CAC9B;KACA,WAAW;IACb,CAAC;IAQD,KAAY,MAPW,EAAa,YAAY;KAC9C,GAAG,EAAO;KACV,KAAK,EACH,GACA,EAAqB,CAAkB,CACzC;IACF,CAAC,GACoB,eAAgB;GACvC;GAEA,IAAM,IAA6B;IACjC,GAAG,EAAO;IACV,MAAM,EAAO;IACb;IACA,OAAO;GACT;GASA,OAAO;IAAE,IAAI;IAAM,UAPF,EAAO,iBAAiB,KACrC,MAAM,EAAe,YAAY;KAC/B,YAAY,EAAO,gBAAgB;KACnC;IACF,CAAC,IACD,MAAM,EAAe,YAAY,CAAY;GAErB;EAC9B;CACF,CAAC;AACH"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { FormTemplate } from '@sage-bionetworks/synapse-client';
|
|
2
|
+
export type FormTemplatePreviewDialogProps = {
|
|
3
|
+
open: boolean;
|
|
4
|
+
onClose: () => void;
|
|
5
|
+
template: FormTemplate;
|
|
6
|
+
};
|
|
7
|
+
/** Previews the form that a FormTemplate version presents to a requester. */
|
|
8
|
+
export declare function FormTemplatePreviewDialog(props: FormTemplatePreviewDialogProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
//# sourceMappingURL=FormTemplatePreviewDialog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormTemplatePreviewDialog.d.ts","sourceRoot":"","sources":["../../../src/components/FormTemplateReferenceField/FormTemplatePreviewDialog.tsx"],"names":[],"mappings":"AAYA,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAE/D,MAAM,MAAM,8BAA8B,GAAG;IAC3C,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,QAAQ,EAAE,YAAY,CAAA;CACvB,CAAA;AAED,6EAA6E;AAC7E,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,8BAA8B,2CA8BtC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { useGetRegisteredSchema as e } from "../../synapse-queries/jsonschema/useSchema.js";
|
|
2
|
+
import { FormTemplatePreview as t } from "../FormTemplateEditor/FormTemplatePreview.js";
|
|
3
|
+
import { Alert as n, Button as r, Dialog as i, DialogActions as a, DialogContent as o, DialogTitle as s, Skeleton as c } from "@mui/material";
|
|
4
|
+
import { jsx as l, jsxs as u } from "react/jsx-runtime";
|
|
5
|
+
//#region src/components/FormTemplateReferenceField/FormTemplatePreviewDialog.tsx
|
|
6
|
+
function d(d) {
|
|
7
|
+
let { open: f, onClose: p, template: m } = d, { data: h, isLoading: g, error: _ } = e(m.schema$id, { enabled: f });
|
|
8
|
+
return /* @__PURE__ */ u(i, {
|
|
9
|
+
open: f,
|
|
10
|
+
onClose: p,
|
|
11
|
+
maxWidth: "md",
|
|
12
|
+
fullWidth: !0,
|
|
13
|
+
children: [
|
|
14
|
+
/* @__PURE__ */ u(s, { children: [
|
|
15
|
+
"Preview: ",
|
|
16
|
+
m.name,
|
|
17
|
+
" (version ",
|
|
18
|
+
m.versionNumber,
|
|
19
|
+
")"
|
|
20
|
+
] }),
|
|
21
|
+
/* @__PURE__ */ u(o, { children: [
|
|
22
|
+
g && /* @__PURE__ */ l(c, {
|
|
23
|
+
variant: "rounded",
|
|
24
|
+
height: 200
|
|
25
|
+
}),
|
|
26
|
+
_ && /* @__PURE__ */ l(n, {
|
|
27
|
+
severity: "error",
|
|
28
|
+
children: _.reason
|
|
29
|
+
}),
|
|
30
|
+
h && /* @__PURE__ */ l(t, {
|
|
31
|
+
template: m,
|
|
32
|
+
jsonSchema: h
|
|
33
|
+
})
|
|
34
|
+
] }),
|
|
35
|
+
/* @__PURE__ */ l(a, { children: /* @__PURE__ */ l(r, {
|
|
36
|
+
onClick: p,
|
|
37
|
+
children: "Close"
|
|
38
|
+
}) })
|
|
39
|
+
]
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
//#endregion
|
|
43
|
+
export { d as FormTemplatePreviewDialog };
|
|
44
|
+
|
|
45
|
+
//# sourceMappingURL=FormTemplatePreviewDialog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormTemplatePreviewDialog.js","names":[],"sources":["../../../src/components/FormTemplateReferenceField/FormTemplatePreviewDialog.tsx"],"sourcesContent":["import { FormTemplatePreview } from '@/components/FormTemplateEditor/FormTemplatePreview'\nimport { useGetRegisteredSchema } from '@/synapse-queries/jsonschema/useSchema'\nimport {\n Alert,\n Button,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n Skeleton,\n} from '@mui/material'\nimport { RJSFSchema } from '@rjsf/utils'\nimport { FormTemplate } from '@sage-bionetworks/synapse-client'\n\nexport type FormTemplatePreviewDialogProps = {\n open: boolean\n onClose: () => void\n template: FormTemplate\n}\n\n/** Previews the form that a FormTemplate version presents to a requester. */\nexport function FormTemplatePreviewDialog(\n props: FormTemplatePreviewDialogProps,\n) {\n const { open, onClose, template } = props\n\n const {\n data: schema,\n isLoading,\n error,\n } = useGetRegisteredSchema(template.schema$id, { enabled: open })\n\n return (\n <Dialog open={open} onClose={onClose} maxWidth=\"md\" fullWidth>\n <DialogTitle>\n Preview: {template.name} (version {template.versionNumber})\n </DialogTitle>\n <DialogContent>\n {isLoading && <Skeleton variant=\"rounded\" height={200} />}\n {error && <Alert severity=\"error\">{error.reason}</Alert>}\n {schema && (\n <FormTemplatePreview\n template={template}\n jsonSchema={schema as RJSFSchema}\n />\n )}\n </DialogContent>\n <DialogActions>\n <Button onClick={onClose}>Close</Button>\n </DialogActions>\n </Dialog>\n )\n}\n"],"mappings":";;;;;AAqBA,SAAgB,EACd,GACA;CACA,IAAM,EAAE,SAAM,YAAS,gBAAa,GAE9B,EACJ,MAAM,GACN,cACA,aACE,EAAuB,EAAS,WAAW,EAAE,SAAS,EAAK,CAAC;CAEhE,OACE,kBAAC,GAAD;EAAc;EAAe;EAAS,UAAS;EAAK,WAAA;YAApD;GACE,kBAAC,GAAD,EAAA,UAAA;IAAa;IACD,EAAS;IAAK;IAAW,EAAS;IAAc;GAC/C,EAAA,CAAA;GACb,kBAAC,GAAD,EAAA,UAAA;IACG,KAAa,kBAAC,GAAD;KAAU,SAAQ;KAAU,QAAQ;IAAM,CAAA;IACvD,KAAS,kBAAC,GAAD;KAAO,UAAS;eAAS,EAAM;IAAc,CAAA;IACtD,KACC,kBAAC,GAAD;KACY;KACV,YAAY;IACb,CAAA;GAEU,EAAA,CAAA;GACf,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;IAAQ,SAAS;cAAS;GAAa,CAAA,EAC1B,CAAA;EACT;;AAEZ"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { FormTemplate, FormTemplateReference } from '@sage-bionetworks/synapse-client';
|
|
2
|
+
import { SynapseClientError } from '@sage-bionetworks/synapse-client/util/SynapseClientError';
|
|
3
|
+
export declare const SELECT_FORM_TEMPLATE_ERROR = "Select a form template and version for this Access Requirement.";
|
|
4
|
+
/**
|
|
5
|
+
* Why a reference cannot be saved on an Access Requirement, or undefined if it can. These mirror
|
|
6
|
+
* the checks the server makes when an Access Requirement is created or updated.
|
|
7
|
+
*/
|
|
8
|
+
export declare function getFormTemplateReferenceError(reference: FormTemplateReference | undefined, loadedVersion: {
|
|
9
|
+
template?: FormTemplate;
|
|
10
|
+
error?: SynapseClientError;
|
|
11
|
+
}): string | undefined;
|
|
12
|
+
export declare function useFormTemplateReferenceError(reference: FormTemplateReference | undefined): string | undefined;
|
|
13
|
+
export type FormTemplateReferenceFieldProps = {
|
|
14
|
+
value: FormTemplateReference | undefined;
|
|
15
|
+
onChange: (value: FormTemplateReference) => void;
|
|
16
|
+
error?: string | null;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Select the version of a FormTemplate that an Access Requirement presents to requesters.
|
|
20
|
+
*/
|
|
21
|
+
export declare function FormTemplateReferenceField(props: FormTemplateReferenceFieldProps): import("react/jsx-runtime").JSX.Element;
|
|
22
|
+
//# sourceMappingURL=FormTemplateReferenceField.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormTemplateReferenceField.d.ts","sourceRoot":"","sources":["../../../src/components/FormTemplateReferenceField/FormTemplateReferenceField.tsx"],"names":[],"mappings":"AAqBA,OAAO,EACL,YAAY,EACZ,qBAAqB,EACtB,MAAM,kCAAkC,CAAA;AAEzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,0DAA0D,CAAA;AAI7F,eAAO,MAAM,0BAA0B,oEAC4B,CAAA;AAEnE;;;GAGG;AACH,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,qBAAqB,GAAG,SAAS,EAC5C,aAAa,EAAE;IAAE,QAAQ,CAAC,EAAE,YAAY,CAAC;IAAC,KAAK,CAAC,EAAE,kBAAkB,CAAA;CAAE,GACrE,MAAM,GAAG,SAAS,CAYpB;AAED,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,qBAAqB,GAAG,SAAS,GAC3C,MAAM,GAAG,SAAS,CASpB;AAYD,MAAM,MAAM,+BAA+B,GAAG;IAC5C,KAAK,EAAE,qBAAqB,GAAG,SAAS,CAAA;IAExC,QAAQ,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAA;IAEhD,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACtB,CAAA;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,+BAA+B,2CAqKvC"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { useGetFormTemplateVersion as e, useGetFormTemplateVersions as t, useSearchFormTemplatesInfinite as n } from "../../synapse-queries/dataaccess/useFormTemplate.js";
|
|
2
|
+
import { StyledFormControl as r } from "../styled/StyledFormControl.js";
|
|
3
|
+
import "../dataaccess/FormTemplateTable.js";
|
|
4
|
+
import { FormTemplatePreviewDialog as i } from "./FormTemplatePreviewDialog.js";
|
|
5
|
+
import { useId as a, useMemo as o, useState as s } from "react";
|
|
6
|
+
import { Alert as c, Autocomplete as l, Box as u, Button as d, FormHelperText as f, InputLabel as p, MenuItem as m, Select as h, Stack as g, TextField as _, Typography as v } from "@mui/material";
|
|
7
|
+
import { jsx as y, jsxs as b } from "react/jsx-runtime";
|
|
8
|
+
import { keepPreviousData as x } from "@tanstack/react-query";
|
|
9
|
+
import { useDebouncedState as S } from "@react-hookz/web";
|
|
10
|
+
//#region src/components/FormTemplateReferenceField/FormTemplateReferenceField.tsx
|
|
11
|
+
var C = "Select a form template and version for this Access Requirement.";
|
|
12
|
+
function w(e, t) {
|
|
13
|
+
if (!e) return C;
|
|
14
|
+
let n = `Version ${e.templateVersionNumber} of the form template with the id '${e.templateId}'`;
|
|
15
|
+
if (t.error) return `${n} could not be loaded: ${t.error.reason}`;
|
|
16
|
+
if (t.template?.deprecated) return `${n} is deprecated, so it cannot be referenced by an Access Requirement.`;
|
|
17
|
+
}
|
|
18
|
+
function T(t) {
|
|
19
|
+
let { data: n, error: r } = e(t?.templateId, t?.templateVersionNumber);
|
|
20
|
+
return w(t, {
|
|
21
|
+
template: n,
|
|
22
|
+
error: r ?? void 0
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
function E(e, t) {
|
|
26
|
+
let n = [e.versionNumber === t ? "latest" : void 0, e.deprecated ? "deprecated" : void 0].filter(Boolean);
|
|
27
|
+
return n.length > 0 ? `Version ${e.versionNumber} (${n.join(", ")})` : `Version ${e.versionNumber}`;
|
|
28
|
+
}
|
|
29
|
+
function D(C) {
|
|
30
|
+
let { value: w, onChange: T, error: D } = C, O = a(), [k, A] = S("", 500), [j, M] = s(!1), { data: N, isLoading: P } = n(o(() => ({
|
|
31
|
+
name: k || void 0,
|
|
32
|
+
includeDeprecated: !1
|
|
33
|
+
}), [k]), { placeholderData: x }), { data: F } = e(w?.templateId, w?.templateVersionNumber), { versions: I, latestVersion: L } = t(w?.templateId), R = o(() => {
|
|
34
|
+
let e = N?.pages.flatMap((e) => e.results ?? []) ?? [];
|
|
35
|
+
return F && !e.some((e) => e.id === F.id) ? [F, ...e] : e;
|
|
36
|
+
}, [N, F]), z = L?.versionNumber ?? 0, B = w != null && L != null && !L.deprecated && z > w.templateVersionNumber;
|
|
37
|
+
return /* @__PURE__ */ b(g, {
|
|
38
|
+
sx: { gap: 2 },
|
|
39
|
+
children: [
|
|
40
|
+
/* @__PURE__ */ y(l, {
|
|
41
|
+
id: "formTemplate",
|
|
42
|
+
options: R,
|
|
43
|
+
loading: P,
|
|
44
|
+
value: F ?? null,
|
|
45
|
+
filterOptions: (e) => e,
|
|
46
|
+
onInputChange: (e, t, n) => {
|
|
47
|
+
n === "input" && A(t);
|
|
48
|
+
},
|
|
49
|
+
onChange: (e, t) => {
|
|
50
|
+
t?.id != null && t.versionNumber != null && t.id !== w?.templateId && T({
|
|
51
|
+
templateId: t.id,
|
|
52
|
+
templateVersionNumber: t.versionNumber
|
|
53
|
+
});
|
|
54
|
+
},
|
|
55
|
+
getOptionLabel: (e) => e.name,
|
|
56
|
+
isOptionEqualToValue: (e, t) => e.id === t.id,
|
|
57
|
+
renderInput: (e) => /* @__PURE__ */ y(_, {
|
|
58
|
+
...e,
|
|
59
|
+
label: "Form template",
|
|
60
|
+
error: !!D,
|
|
61
|
+
helperText: "Search for the form template that requesters complete to request access."
|
|
62
|
+
})
|
|
63
|
+
}),
|
|
64
|
+
w && /* @__PURE__ */ b(r, {
|
|
65
|
+
error: !!D,
|
|
66
|
+
children: [/* @__PURE__ */ y(p, {
|
|
67
|
+
id: O,
|
|
68
|
+
children: "Template version"
|
|
69
|
+
}), /* @__PURE__ */ b(h, {
|
|
70
|
+
labelId: O,
|
|
71
|
+
value: w.templateVersionNumber,
|
|
72
|
+
onChange: (e) => T({
|
|
73
|
+
templateId: w.templateId,
|
|
74
|
+
templateVersionNumber: Number(e.target.value)
|
|
75
|
+
}),
|
|
76
|
+
children: [I.map((e) => /* @__PURE__ */ y(m, {
|
|
77
|
+
value: e.versionNumber,
|
|
78
|
+
disabled: e.deprecated,
|
|
79
|
+
children: E(e, z)
|
|
80
|
+
}, e.versionNumber)), I.every((e) => e.versionNumber !== w.templateVersionNumber) && /* @__PURE__ */ b(m, {
|
|
81
|
+
value: w.templateVersionNumber,
|
|
82
|
+
disabled: !0,
|
|
83
|
+
children: ["Version ", w.templateVersionNumber]
|
|
84
|
+
})]
|
|
85
|
+
})]
|
|
86
|
+
}),
|
|
87
|
+
F?.deprecated && /* @__PURE__ */ b(c, {
|
|
88
|
+
severity: "warning",
|
|
89
|
+
children: [
|
|
90
|
+
"Version ",
|
|
91
|
+
F.versionNumber,
|
|
92
|
+
" of this form template is deprecated. Select another version before saving."
|
|
93
|
+
]
|
|
94
|
+
}),
|
|
95
|
+
B && /* @__PURE__ */ b(c, {
|
|
96
|
+
severity: "info",
|
|
97
|
+
action: /* @__PURE__ */ b(d, {
|
|
98
|
+
color: "inherit",
|
|
99
|
+
size: "small",
|
|
100
|
+
onClick: () => T({
|
|
101
|
+
templateId: w.templateId,
|
|
102
|
+
templateVersionNumber: z
|
|
103
|
+
}),
|
|
104
|
+
children: ["Update to version ", z]
|
|
105
|
+
}),
|
|
106
|
+
children: [
|
|
107
|
+
"A newer version of this form template is available. This Access Requirement stays on version ",
|
|
108
|
+
w.templateVersionNumber,
|
|
109
|
+
" until you update it."
|
|
110
|
+
]
|
|
111
|
+
}),
|
|
112
|
+
F && /* @__PURE__ */ b(u, { children: [
|
|
113
|
+
/* @__PURE__ */ b(v, {
|
|
114
|
+
variant: "body1",
|
|
115
|
+
children: ["Pinned schema: ", /* @__PURE__ */ y("code", { children: F.schema$id })]
|
|
116
|
+
}),
|
|
117
|
+
/* @__PURE__ */ y(d, {
|
|
118
|
+
variant: "outlined",
|
|
119
|
+
sx: { mt: 1 },
|
|
120
|
+
onClick: () => M(!0),
|
|
121
|
+
children: "Preview form"
|
|
122
|
+
}),
|
|
123
|
+
/* @__PURE__ */ y(i, {
|
|
124
|
+
open: j,
|
|
125
|
+
onClose: () => M(!1),
|
|
126
|
+
template: F
|
|
127
|
+
})
|
|
128
|
+
] }),
|
|
129
|
+
D && /* @__PURE__ */ y(f, {
|
|
130
|
+
error: !0,
|
|
131
|
+
children: D
|
|
132
|
+
})
|
|
133
|
+
]
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
//#endregion
|
|
137
|
+
export { D as FormTemplateReferenceField, C as SELECT_FORM_TEMPLATE_ERROR, w as getFormTemplateReferenceError, T as useFormTemplateReferenceError };
|
|
138
|
+
|
|
139
|
+
//# sourceMappingURL=FormTemplateReferenceField.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormTemplateReferenceField.js","names":[],"sources":["../../../src/components/FormTemplateReferenceField/FormTemplateReferenceField.tsx"],"sourcesContent":["import { NAME_SEARCH_DEBOUNCE_DELAY_MS } from '@/components/dataaccess/FormTemplateTable'\nimport { StyledFormControl } from '@/components/styled/StyledFormControl'\nimport {\n useGetFormTemplateVersion,\n useGetFormTemplateVersions,\n useSearchFormTemplatesInfinite,\n} from '@/synapse-queries/dataaccess/useFormTemplate'\nimport {\n Alert,\n Autocomplete,\n Box,\n Button,\n FormHelperText,\n InputLabel,\n MenuItem,\n Select,\n Stack,\n TextField,\n Typography,\n} from '@mui/material'\nimport { useDebouncedState } from '@react-hookz/web'\nimport {\n FormTemplate,\n FormTemplateReference,\n} from '@sage-bionetworks/synapse-client'\nimport { keepPreviousData } from '@tanstack/react-query'\nimport { SynapseClientError } from '@sage-bionetworks/synapse-client/util/SynapseClientError'\nimport { useId, useMemo, useState } from 'react'\nimport { FormTemplatePreviewDialog } from './FormTemplatePreviewDialog'\n\nexport const SELECT_FORM_TEMPLATE_ERROR =\n 'Select a form template and version for this Access Requirement.'\n\n/**\n * Why a reference cannot be saved on an Access Requirement, or undefined if it can. These mirror\n * the checks the server makes when an Access Requirement is created or updated.\n */\nexport function getFormTemplateReferenceError(\n reference: FormTemplateReference | undefined,\n loadedVersion: { template?: FormTemplate; error?: SynapseClientError },\n): string | undefined {\n if (!reference) {\n return SELECT_FORM_TEMPLATE_ERROR\n }\n const description = `Version ${reference.templateVersionNumber} of the form template with the id '${reference.templateId}'`\n if (loadedVersion.error) {\n return `${description} could not be loaded: ${loadedVersion.error.reason}`\n }\n if (loadedVersion.template?.deprecated) {\n return `${description} is deprecated, so it cannot be referenced by an Access Requirement.`\n }\n return undefined\n}\n\nexport function useFormTemplateReferenceError(\n reference: FormTemplateReference | undefined,\n): string | undefined {\n const { data: template, error } = useGetFormTemplateVersion(\n reference?.templateId,\n reference?.templateVersionNumber,\n )\n return getFormTemplateReferenceError(reference, {\n template,\n error: error ?? undefined,\n })\n}\n\nfunction describeVersion(version: FormTemplate, latestVersionNumber: number) {\n const labels = [\n version.versionNumber === latestVersionNumber ? 'latest' : undefined,\n version.deprecated ? 'deprecated' : undefined,\n ].filter(Boolean)\n return labels.length > 0\n ? `Version ${version.versionNumber} (${labels.join(', ')})`\n : `Version ${version.versionNumber}`\n}\n\nexport type FormTemplateReferenceFieldProps = {\n value: FormTemplateReference | undefined\n /* The template version is never changed except through this callback; a newer version is never adopted automatically. */\n onChange: (value: FormTemplateReference) => void\n /* A reason the current value is not valid, shown below the field */\n error?: string | null\n}\n\n/**\n * Select the version of a FormTemplate that an Access Requirement presents to requesters.\n */\nexport function FormTemplateReferenceField(\n props: FormTemplateReferenceFieldProps,\n) {\n const { value, onChange, error } = props\n const versionLabelId = useId()\n\n const [searchText, setSearchText] = useDebouncedState<string>(\n '',\n NAME_SEARCH_DEBOUNCE_DELAY_MS,\n )\n const [isPreviewOpen, setIsPreviewOpen] = useState(false)\n\n const searchRequest = useMemo(\n () => ({ name: searchText || undefined, includeDeprecated: false }),\n [searchText],\n )\n const { data: searchData, isLoading: isSearching } =\n useSearchFormTemplatesInfinite(searchRequest, {\n placeholderData: keepPreviousData,\n })\n\n const { data: selectedVersion } = useGetFormTemplateVersion(\n value?.templateId,\n value?.templateVersionNumber,\n )\n const { versions, latestVersion } = useGetFormTemplateVersions(\n value?.templateId,\n )\n\n const templateOptions = useMemo(() => {\n const searchResults =\n searchData?.pages.flatMap(page => page.results ?? []) ?? []\n return selectedVersion &&\n !searchResults.some(template => template.id === selectedVersion.id)\n ? [selectedVersion, ...searchResults]\n : searchResults\n }, [searchData, selectedVersion])\n\n const latestVersionNumber = latestVersion?.versionNumber ?? 0\n const canUpdateToLatest =\n value != null &&\n latestVersion != null &&\n !latestVersion.deprecated &&\n latestVersionNumber > value.templateVersionNumber\n\n return (\n <Stack sx={{ gap: 2 }}>\n <Autocomplete<FormTemplate>\n id=\"formTemplate\"\n options={templateOptions}\n loading={isSearching}\n value={selectedVersion ?? null}\n // Names are matched by the server\n filterOptions={options => options}\n onInputChange={(_event, text, reason) => {\n if (reason === 'input') {\n setSearchText(text)\n }\n }}\n onChange={(_event, template) => {\n // Choosing the template that is already selected must not move it to the latest version\n if (\n template?.id != null &&\n template.versionNumber != null &&\n template.id !== value?.templateId\n ) {\n onChange({\n templateId: template.id,\n templateVersionNumber: template.versionNumber,\n })\n }\n }}\n getOptionLabel={template => template.name}\n isOptionEqualToValue={(option, selected) => option.id === selected.id}\n renderInput={params => (\n <TextField\n {...params}\n label=\"Form template\"\n error={Boolean(error)}\n helperText=\"Search for the form template that requesters complete to request access.\"\n />\n )}\n />\n {value && (\n <StyledFormControl error={Boolean(error)}>\n <InputLabel id={versionLabelId}>Template version</InputLabel>\n <Select\n labelId={versionLabelId}\n value={value.templateVersionNumber}\n onChange={event =>\n onChange({\n templateId: value.templateId,\n templateVersionNumber: Number(event.target.value),\n })\n }\n >\n {versions.map(version => (\n <MenuItem\n key={version.versionNumber}\n value={version.versionNumber}\n disabled={version.deprecated}\n >\n {describeVersion(version, latestVersionNumber)}\n </MenuItem>\n ))}\n {versions.every(\n version => version.versionNumber !== value.templateVersionNumber,\n ) && (\n <MenuItem value={value.templateVersionNumber} disabled>\n Version {value.templateVersionNumber}\n </MenuItem>\n )}\n </Select>\n </StyledFormControl>\n )}\n {selectedVersion?.deprecated && (\n <Alert severity=\"warning\">\n Version {selectedVersion.versionNumber} of this form template is\n deprecated. Select another version before saving.\n </Alert>\n )}\n {canUpdateToLatest && (\n <Alert\n severity=\"info\"\n action={\n <Button\n color=\"inherit\"\n size=\"small\"\n onClick={() =>\n onChange({\n templateId: value.templateId,\n templateVersionNumber: latestVersionNumber,\n })\n }\n >\n Update to version {latestVersionNumber}\n </Button>\n }\n >\n A newer version of this form template is available. This Access\n Requirement stays on version {value.templateVersionNumber} until you\n update it.\n </Alert>\n )}\n {selectedVersion && (\n <Box>\n <Typography variant=\"body1\">\n Pinned schema: <code>{selectedVersion.schema$id}</code>\n </Typography>\n <Button\n variant=\"outlined\"\n sx={{ mt: 1 }}\n onClick={() => setIsPreviewOpen(true)}\n >\n Preview form\n </Button>\n <FormTemplatePreviewDialog\n open={isPreviewOpen}\n onClose={() => setIsPreviewOpen(false)}\n template={selectedVersion}\n />\n </Box>\n )}\n {error && <FormHelperText error>{error}</FormHelperText>}\n </Stack>\n )\n}\n"],"mappings":";;;;;;;;;;AA8BA,IAAa,IACX;AAMF,SAAgB,EACd,GACA,GACoB;CACpB,IAAI,CAAC,GACH,OAAO;CAET,IAAM,IAAc,WAAW,EAAU,sBAAsB,qCAAqC,EAAU,WAAW;CACzH,IAAI,EAAc,OAChB,OAAO,GAAG,EAAY,wBAAwB,EAAc,MAAM;CAEpE,IAAI,EAAc,UAAU,YAC1B,OAAO,GAAG,EAAY;AAG1B;AAEA,SAAgB,EACd,GACoB;CACpB,IAAM,EAAE,MAAM,GAAU,aAAU,EAChC,GAAW,YACX,GAAW,qBACb;CACA,OAAO,EAA8B,GAAW;EAC9C;EACA,OAAO,KAAS,KAAA;CAClB,CAAC;AACH;AAEA,SAAS,EAAgB,GAAuB,GAA6B;CAC3E,IAAM,IAAS,CACb,EAAQ,kBAAkB,IAAsB,WAAW,KAAA,GAC3D,EAAQ,aAAa,eAAe,KAAA,CACtC,EAAE,OAAO,OAAO;CAChB,OAAO,EAAO,SAAS,IACnB,WAAW,EAAQ,cAAc,IAAI,EAAO,KAAK,IAAI,EAAE,KACvD,WAAW,EAAQ;AACzB;AAaA,SAAgB,EACd,GACA;CACA,IAAM,EAAE,UAAO,aAAU,aAAU,GAC7B,IAAiB,EAAM,GAEvB,CAAC,GAAY,KAAiB,EAClC,IAAA,GAEF,GACM,CAAC,GAAe,KAAoB,EAAS,EAAK,GAMlD,EAAE,MAAM,GAAY,WAAW,MACnC,EALoB,SACb;EAAE,MAAM,KAAc,KAAA;EAAW,mBAAmB;CAAM,IACjE,CAAC,CAAU,CAGoB,GAAe,EAC5C,iBAAiB,EACnB,CAAC,GAEG,EAAE,MAAM,MAAoB,EAChC,GAAO,YACP,GAAO,qBACT,GACM,EAAE,aAAU,qBAAkB,EAClC,GAAO,UACT,GAEM,IAAkB,QAAc;EACpC,IAAM,IACJ,GAAY,MAAM,SAAQ,MAAQ,EAAK,WAAW,CAAC,CAAC,KAAK,CAAC;EAC5D,OAAO,KACL,CAAC,EAAc,MAAK,MAAY,EAAS,OAAO,EAAgB,EAAE,IAChE,CAAC,GAAiB,GAAG,CAAa,IAClC;CACN,GAAG,CAAC,GAAY,CAAe,CAAC,GAE1B,IAAsB,GAAe,iBAAiB,GACtD,IACJ,KAAS,QACT,KAAiB,QACjB,CAAC,EAAc,cACf,IAAsB,EAAM;CAE9B,OACE,kBAAC,GAAD;EAAO,IAAI,EAAE,KAAK,EAAE;YAApB;GACE,kBAAC,GAAD;IACE,IAAG;IACH,SAAS;IACT,SAAS;IACT,OAAO,KAAmB;IAE1B,gBAAe,MAAW;IAC1B,gBAAgB,GAAQ,GAAM,MAAW;KACvC,AAAI,MAAW,WACb,EAAc,CAAI;IAEtB;IACA,WAAW,GAAQ,MAAa;KAE9B,AACE,GAAU,MAAM,QAChB,EAAS,iBAAiB,QAC1B,EAAS,OAAO,GAAO,cAEvB,EAAS;MACP,YAAY,EAAS;MACrB,uBAAuB,EAAS;KAClC,CAAC;IAEL;IACA,iBAAgB,MAAY,EAAS;IACrC,uBAAuB,GAAQ,MAAa,EAAO,OAAO,EAAS;IACnE,cAAa,MACX,kBAAC,GAAD;KACE,GAAI;KACJ,OAAM;KACN,OAAO,EAAQ;KACf,YAAW;IACZ,CAAA;GAEJ,CAAA;GACA,KACC,kBAAC,GAAD;IAAmB,OAAO,EAAQ;cAAlC,CACE,kBAAC,GAAD;KAAY,IAAI;eAAgB;IAA4B,CAAA,GAC5D,kBAAC,GAAD;KACE,SAAS;KACT,OAAO,EAAM;KACb,WAAU,MACR,EAAS;MACP,YAAY,EAAM;MAClB,uBAAuB,OAAO,EAAM,OAAO,KAAK;KAClD,CAAC;eAPL,CAUG,EAAS,KAAI,MACZ,kBAAC,GAAD;MAEE,OAAO,EAAQ;MACf,UAAU,EAAQ;gBAEjB,EAAgB,GAAS,CAAmB;KACrC,GALH,EAAQ,aAKL,CACX,GACA,EAAS,OACR,MAAW,EAAQ,kBAAkB,EAAM,qBAC7C,KACE,kBAAC,GAAD;MAAU,OAAO,EAAM;MAAuB,UAAA;gBAA9C,CAAuD,YAC5C,EAAM,qBACP;OAEN;MACS;;GAEpB,GAAiB,cAChB,kBAAC,GAAD;IAAO,UAAS;cAAhB;KAA0B;KACf,EAAgB;KAAc;IAElC;;GAER,KACC,kBAAC,GAAD;IACE,UAAS;IACT,QACE,kBAAC,GAAD;KACE,OAAM;KACN,MAAK;KACL,eACE,EAAS;MACP,YAAY,EAAM;MAClB,uBAAuB;KACzB,CAAC;eAPL,CASC,sBACoB,CACb;;cAdZ;KAgBC;KAE+B,EAAM;KAAsB;IAErD;;GAER,KACC,kBAAC,GAAD,EAAA,UAAA;IACE,kBAAC,GAAD;KAAY,SAAQ;eAApB,CAA4B,mBACX,kBAAC,QAAD,EAAA,UAAO,EAAgB,UAAgB,CAAA,CAC5C;;IACZ,kBAAC,GAAD;KACE,SAAQ;KACR,IAAI,EAAE,IAAI,EAAE;KACZ,eAAe,EAAiB,EAAI;eACrC;IAEO,CAAA;IACR,kBAAC,GAAD;KACE,MAAM;KACN,eAAe,EAAiB,EAAK;KACrC,UAAU;IACX,CAAA;GACE,EAAA,CAAA;GAEN,KAAS,kBAAC,GAAD;IAAgB,OAAA;cAAO;GAAsB,CAAA;EAClD;;AAEX"}
|
|
@@ -1,9 +1,21 @@
|
|
|
1
1
|
import { DiscussionFilter } from '@sage-bionetworks/synapse-types';
|
|
2
|
-
|
|
3
|
-
forumId: string;
|
|
2
|
+
type ForumTableBaseProps = {
|
|
4
3
|
limit: number;
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
/** Called with the clicked thread's ID and the ID of the project it belongs to */
|
|
5
|
+
onClickLink: (threadId: string, projectId?: string) => void;
|
|
6
|
+
noBackgroundColor?: boolean;
|
|
7
|
+
/** Called when the first page loads, with whether there are no threads */
|
|
8
|
+
onIsEmptyChange?: (isEmpty: boolean) => void;
|
|
9
|
+
/** Max height of the table before it scrolls. Use 'none' for full height. @default '250px' */
|
|
10
|
+
maxHeight?: string;
|
|
7
11
|
};
|
|
8
|
-
export
|
|
12
|
+
export type ForumTableProps = ForumTableBaseProps & ({
|
|
13
|
+
forumId: string;
|
|
14
|
+
filter: DiscussionFilter;
|
|
15
|
+
} | {
|
|
16
|
+
entityId: string;
|
|
17
|
+
onViewForumClicked?: () => void;
|
|
18
|
+
});
|
|
19
|
+
export declare function ForumTable(props: ForumTableProps): import("react/jsx-runtime").JSX.Element;
|
|
20
|
+
export default ForumTable;
|
|
9
21
|
//# sourceMappingURL=ForumTable.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ForumTable.d.ts","sourceRoot":"","sources":["../../../src/components/Forum/ForumTable.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ForumTable.d.ts","sourceRoot":"","sources":["../../../src/components/Forum/ForumTable.tsx"],"names":[],"mappings":"AASA,OAAO,EACL,gBAAgB,EAGjB,MAAM,iCAAiC,CAAA;AAsBxC,KAAK,mBAAmB,GAAG;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,kFAAkF;IAClF,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IAC3D,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,0EAA0E;IAC1E,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;IAC5C,8FAA8F;IAC9F,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,mBAAmB,GAC/C,CACI;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,gBAAgB,CAAA;CAAE,GAC7C;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAA;CAAE,CACxD,CAAA;AAuEH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,2CA0HhD;AAED,eAAe,UAAU,CAAA"}
|