synapse-react-client 4.0.18 → 4.0.20
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 +3 -1
- package/dist/SWC.index.d.ts.map +1 -1
- package/dist/SWC.index.js +3 -1
- package/dist/SWC.index.js.map +1 -1
- package/dist/aridhia-queries/aridhiaTokenExchange.js.map +1 -1
- package/dist/aridhia-queries/useGetAridhiaRequests.js.map +1 -1
- package/dist/assets/DefaultColorfulPortalCardBackground.js.map +1 -1
- package/dist/assets/GoogleIcon.js.map +1 -1
- package/dist/assets/GoogleIcon24.js.map +1 -1
- package/dist/assets/homepage/BlinkingLiveIcon.d.ts +1 -1
- package/dist/assets/homepage/BlinkingLiveIcon.js.map +1 -1
- package/dist/assets/homepage/aacr.js.map +1 -1
- package/dist/assets/homepage/cri.js.map +1 -1
- package/dist/assets/homepage/ctf.js.map +1 -1
- package/dist/assets/homepage/egress.js.map +1 -1
- package/dist/assets/homepage/facebook.js.map +1 -1
- package/dist/assets/homepage/fisma.js.map +1 -1
- package/dist/assets/homepage/gff.js.map +1 -1
- package/dist/assets/homepage/github.js.map +1 -1
- package/dist/assets/homepage/gray.js.map +1 -1
- package/dist/assets/homepage/hipaa-compliant.js.map +1 -1
- package/dist/assets/homepage/instagram.js.map +1 -1
- package/dist/assets/homepage/linkedin.js.map +1 -1
- package/dist/assets/homepage/ml-commons.js.map +1 -1
- package/dist/assets/homepage/nih-aging.js.map +1 -1
- package/dist/assets/homepage/nih-heart.js.map +1 -1
- package/dist/assets/homepage/nih-nci.js.map +1 -1
- package/dist/assets/homepage/nih-nimh.js.map +1 -1
- package/dist/assets/homepage/ntap.js.map +1 -1
- package/dist/assets/homepage/plan-item.js.map +1 -1
- package/dist/assets/homepage/powered-by-synapse-feature.js.map +1 -1
- package/dist/assets/homepage/precision-governance-feature.js.map +1 -1
- package/dist/assets/homepage/python.js.map +1 -1
- package/dist/assets/homepage/r.js.map +1 -1
- package/dist/assets/homepage/research-credit-feature.js.map +1 -1
- package/dist/assets/homepage/seamless-integration-feature.js.map +1 -1
- package/dist/assets/homepage/sloan.js.map +1 -1
- package/dist/assets/homepage/twitter.js.map +1 -1
- package/dist/assets/homepage/users.js.map +1 -1
- package/dist/assets/homepage/youtube.js.map +1 -1
- package/dist/assets/icons/AccessDataAnywhere.js.map +1 -1
- package/dist/assets/icons/AccessPending.js.map +1 -1
- package/dist/assets/icons/AccessPendingCloud.js.map +1 -1
- package/dist/assets/icons/AddAd.js.map +1 -1
- package/dist/assets/icons/AddToList.js.map +1 -1
- package/dist/assets/icons/Alert.js.map +1 -1
- package/dist/assets/icons/Arrow.js.map +1 -1
- package/dist/assets/icons/AwardScroll.js.map +1 -1
- package/dist/assets/icons/Baseline.js.map +1 -1
- package/dist/assets/icons/Cavatica.js.map +1 -1
- package/dist/assets/icons/CertifiedUser.js.map +1 -1
- package/dist/assets/icons/Challenge.js.map +1 -1
- package/dist/assets/icons/Checkbox/Checked.js.map +1 -1
- package/dist/assets/icons/Checkbox/Checked2.js.map +1 -1
- package/dist/assets/icons/Checkbox/Indeterminate.js.map +1 -1
- package/dist/assets/icons/Checkbox/Indeterminate2.js.map +1 -1
- package/dist/assets/icons/Checkbox/Unchecked.js.map +1 -1
- package/dist/assets/icons/Checkbox/Unchecked2.js.map +1 -1
- package/dist/assets/icons/ClappingHands.js.map +1 -1
- package/dist/assets/icons/CloudWarning.js.map +1 -1
- package/dist/assets/icons/CommunicateFindings.js.map +1 -1
- package/dist/assets/icons/CreateVersion.js.map +1 -1
- package/dist/assets/icons/DNA_Two.js.map +1 -1
- package/dist/assets/icons/Data2.js.map +1 -1
- package/dist/assets/icons/DoubleQuotes.js.map +1 -1
- package/dist/assets/icons/EmailAddressAdornment.js.map +1 -1
- package/dist/assets/icons/FileWithShield.js.map +1 -1
- package/dist/assets/icons/FileWithShield2.js.map +1 -1
- package/dist/assets/icons/FrontHand.js.map +1 -1
- package/dist/assets/icons/HandWithMoney.js.map +1 -1
- package/dist/assets/icons/IconCopy.js.map +1 -1
- package/dist/assets/icons/IconMinus.js.map +1 -1
- package/dist/assets/icons/IconPlus.js.map +1 -1
- package/dist/assets/icons/Java.js.map +1 -1
- package/dist/assets/icons/MintDoi.js.map +1 -1
- package/dist/assets/icons/MultiFile.js.map +1 -1
- package/dist/assets/icons/MultiFile2.js.map +1 -1
- package/dist/assets/icons/NoData.js.map +1 -1
- package/dist/assets/icons/NoSearchResults.js.map +1 -1
- package/dist/assets/icons/ORCIDIcon.js.map +1 -1
- package/dist/assets/icons/OpenBook.js.map +1 -1
- package/dist/assets/icons/Podium.js.map +1 -1
- package/dist/assets/icons/Python.js.map +1 -1
- package/dist/assets/icons/QueryStructuredData.js.map +1 -1
- package/dist/assets/icons/RLogo.js.map +1 -1
- package/dist/assets/icons/RecordProvenance.js.map +1 -1
- package/dist/assets/icons/RosetteRibbon.js.map +1 -1
- package/dist/assets/icons/SageFullLogo.js.map +1 -1
- package/dist/assets/icons/SearchImage.js.map +1 -1
- package/dist/assets/icons/ShareYourResearch.js.map +1 -1
- package/dist/assets/icons/Sort.js.map +1 -1
- package/dist/assets/icons/StarTrophy.js.map +1 -1
- package/dist/assets/icons/SynapseFullLogo.js.map +1 -1
- package/dist/assets/icons/SynapseIconWhite.js.map +1 -1
- package/dist/assets/icons/SynapseLogoName.js.map +1 -1
- package/dist/assets/icons/TasksIcon.js.map +1 -1
- package/dist/assets/icons/Terminal.js.map +1 -1
- package/dist/assets/icons/ThreeStars.js.map +1 -1
- package/dist/assets/icons/UnpackagableFile.js.map +1 -1
- package/dist/assets/icons/UnpackagableFile2.js.map +1 -1
- package/dist/assets/icons/ValidatedProfile.js.map +1 -1
- package/dist/assets/icons/account-certified.js.map +1 -1
- package/dist/assets/icons/account-enabled-mfa.js.map +1 -1
- package/dist/assets/icons/account-validated.js.map +1 -1
- package/dist/assets/icons/bioChemicalPhysical.js.map +1 -1
- package/dist/assets/icons/chart2.js.map +1 -1
- package/dist/assets/icons/columns.js.map +1 -1
- package/dist/assets/icons/columnsDarkTheme.js.map +1 -1
- package/dist/assets/icons/computationalTool.js.map +1 -1
- package/dist/assets/icons/dataReuse.js.map +1 -1
- package/dist/assets/icons/emailAddressAdornment2.js.map +1 -1
- package/dist/assets/icons/emailWithNotification.js.map +1 -1
- package/dist/assets/icons/error_page/maintenance.js.map +1 -1
- package/dist/assets/icons/error_page/no-access.js.map +1 -1
- package/dist/assets/icons/error_page/unavailable.js.map +1 -1
- package/dist/assets/icons/file.js.map +1 -1
- package/dist/assets/icons/inSilicoModel.js.map +1 -1
- package/dist/assets/icons/institution.js.map +1 -1
- package/dist/assets/icons/json-form-tool-no-submissions.js.map +1 -1
- package/dist/assets/icons/modelSystem.js.map +1 -1
- package/dist/assets/icons/mouse.js.map +1 -1
- package/dist/assets/icons/organizations.js.map +1 -1
- package/dist/assets/icons/person.js.map +1 -1
- package/dist/assets/icons/spatialProfiling.js.map +1 -1
- package/dist/assets/icons/standardDataModel.js.map +1 -1
- package/dist/assets/icons/study-active.js.map +1 -1
- package/dist/assets/icons/study-complete.js.map +1 -1
- package/dist/assets/icons/subscribe_plus.js.map +1 -1
- package/dist/assets/icons/synapse-logo.js.map +1 -1
- package/dist/assets/icons/terms/CheckIcon.js.map +1 -1
- package/dist/assets/icons/translational.js.map +1 -1
- package/dist/assets/icons/tree_horizontal.js.map +1 -1
- package/dist/assets/illustrations/acknowledgement_statements_illustration.js.map +1 -1
- package/dist/assets/illustrations/challenges_illustration.js.map +1 -1
- package/dist/assets/illustrations/cohort_builder_illustration.js.map +1 -1
- package/dist/assets/illustrations/data_access_management_illustration.js.map +1 -1
- package/dist/assets/illustrations/datasets_illustration.js.map +1 -1
- package/dist/assets/illustrations/diagonalLinePattern.js.map +1 -1
- package/dist/assets/illustrations/discussions_illustration.js.map +1 -1
- package/dist/assets/illustrations/docker_illustration.js.map +1 -1
- package/dist/assets/illustrations/donation_illustration.js.map +1 -1
- package/dist/assets/illustrations/favorites_illustration.js.map +1 -1
- package/dist/assets/illustrations/files_illustration.js.map +1 -1
- package/dist/assets/illustrations/following_illustration.js.map +1 -1
- package/dist/assets/illustrations/index.js.map +1 -1
- package/dist/assets/illustrations/left_dot_blob_dark_illustration.js.map +1 -1
- package/dist/assets/illustrations/left_dot_blob_illustration.js.map +1 -1
- package/dist/assets/illustrations/projects_illustration.js.map +1 -1
- package/dist/assets/illustrations/right_dot_blob_dark_illustration.js.map +1 -1
- package/dist/assets/illustrations/right_dot_blob_illustration.js.map +1 -1
- package/dist/assets/illustrations/tables_illustration.js.map +1 -1
- package/dist/assets/illustrations/teams_illustration.js.map +1 -1
- package/dist/assets/illustrations/trash_can_illustration.js.map +1 -1
- package/dist/assets/illustrations/underconstruction_illustration.js.map +1 -1
- package/dist/assets/illustrations/wikis_illustration.js.map +1 -1
- package/dist/assets/logos/other/ad-workbench-logo.js.map +1 -1
- package/dist/assets/logos/other/cavatica-logo.js.map +1 -1
- package/dist/assets/logos/other/pluto-logo.js.map +1 -1
- package/dist/assets/logos/other/terra-logo.js.map +1 -1
- package/dist/assets/mui_components/AccessManagement.js.map +1 -1
- package/dist/assets/mui_components/AccountCertified.js.map +1 -1
- package/dist/assets/mui_components/AccountRegistered.js.map +1 -1
- package/dist/assets/mui_components/AccountValidated.js.map +1 -1
- package/dist/assets/mui_components/ActionKey.js.map +1 -1
- package/dist/assets/mui_components/BioChemicalPhysical.js.map +1 -1
- package/dist/assets/mui_components/Chromatin.js.map +1 -1
- package/dist/assets/mui_components/Clinical.js.map +1 -1
- package/dist/assets/mui_components/ComputationalTool.js.map +1 -1
- package/dist/assets/mui_components/Data.js.map +1 -1
- package/dist/assets/mui_components/DataLocked.js.map +1 -1
- package/dist/assets/mui_components/DataReuse.js.map +1 -1
- package/dist/assets/mui_components/Dataset.js.map +1 -1
- package/dist/assets/mui_components/DatasetCollection.js.map +1 -1
- package/dist/assets/mui_components/Docker.js.map +1 -1
- package/dist/assets/mui_components/GeneExpression.js.map +1 -1
- package/dist/assets/mui_components/GeneVariants.js.map +1 -1
- package/dist/assets/mui_components/HelpChatBubble.js.map +1 -1
- package/dist/assets/mui_components/Imaging.js.map +1 -1
- package/dist/assets/mui_components/InSilicoModel.js.map +1 -1
- package/dist/assets/mui_components/Kinomics.js.map +1 -1
- package/dist/assets/mui_components/LineGraph.js.map +1 -1
- package/dist/assets/mui_components/ModelSystem.js.map +1 -1
- package/dist/assets/mui_components/Other.js.map +1 -1
- package/dist/assets/mui_components/PackagableFile.js.map +1 -1
- package/dist/assets/mui_components/PackagableFile2.js.map +1 -1
- package/dist/assets/mui_components/Proteomics.js.map +1 -1
- package/dist/assets/mui_components/Rat.js.map +1 -1
- package/dist/assets/mui_components/SpatialProfiling.js.map +1 -1
- package/dist/assets/sustainability/darkDialPosition1.js.map +1 -1
- package/dist/assets/sustainability/darkDialPosition2.js.map +1 -1
- package/dist/assets/sustainability/darkDialPosition3.js.map +1 -1
- package/dist/assets/sustainability/darkDialPosition4.js.map +1 -1
- package/dist/assets/sustainability/dialPosition1.js.map +1 -1
- package/dist/assets/sustainability/dialPosition2.js.map +1 -1
- package/dist/assets/sustainability/dialPosition3.js.map +1 -1
- package/dist/assets/sustainability/dialPosition4.js.map +1 -1
- package/dist/assets/themed_icons/Active.js.map +1 -1
- package/dist/assets/themed_icons/Chart.js.map +1 -1
- package/dist/assets/themed_icons/Close.js.map +1 -1
- package/dist/assets/themed_icons/Collapse.js.map +1 -1
- package/dist/assets/themed_icons/Columns.js.map +1 -1
- package/dist/assets/themed_icons/ColumnsDark.js.map +1 -1
- package/dist/assets/themed_icons/Database.js.map +1 -1
- package/dist/assets/themed_icons/Download.js.map +1 -1
- package/dist/assets/themed_icons/Expand.js.map +1 -1
- package/dist/assets/themed_icons/Explore.js.map +1 -1
- package/dist/assets/themed_icons/ExternalLink.js.map +1 -1
- package/dist/assets/themed_icons/Filter.js.map +1 -1
- package/dist/assets/themed_icons/Program.js.map +1 -1
- package/dist/assets/themed_icons/Project.js.map +1 -1
- package/dist/assets/themed_icons/Publication.js.map +1 -1
- package/dist/assets/themed_icons/Search.js.map +1 -1
- package/dist/assets/themed_icons/Settings.js.map +1 -1
- package/dist/assets/themed_icons/SortDown.js.map +1 -1
- package/dist/assets/themed_icons/SortUp.js.map +1 -1
- package/dist/assets/themed_icons/SqlEditorIcon.js.map +1 -1
- package/dist/assets/themed_icons/Study.js.map +1 -1
- package/dist/assets/themed_icons/ToolClinical.js.map +1 -1
- package/dist/assets/themed_icons/ToolComputational.js.map +1 -1
- package/dist/assets/themed_icons/ToolExperimental.js.map +1 -1
- package/dist/assets/themed_icons/VerticalDots.js.map +1 -1
- package/dist/components/AccessRequirement/AddConditionsForUseButton/AddConditionsForUseButton.js.map +1 -1
- package/dist/components/AccessRequirement/EntityActionsRequired.js.map +1 -1
- package/dist/components/AccessRequirement/ImposeRestrictionDialog/ImposeRestrictionDialog.js.map +1 -1
- package/dist/components/AccessRequirementAclEditor/AccessRequirementAclEditor.js.map +1 -1
- package/dist/components/AccessRequirementList/AccessApprovalCheckMark.js +10 -11
- package/dist/components/AccessRequirementList/AccessApprovalCheckMark.js.map +1 -1
- package/dist/components/AccessRequirementList/AccessRequirementList.js +73 -76
- package/dist/components/AccessRequirementList/AccessRequirementList.js.map +1 -1
- package/dist/components/AccessRequirementList/AccessRequirementListItem.js.map +1 -1
- package/dist/components/AccessRequirementList/AccessRequirementListUtils.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/CancelRequestDataAccess.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsEditor.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsFilesForm/DataAccessRequestAccessorsFilesForm.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DocumentTemplate.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementFormWikiWrapper.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementItem.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementItemView.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/RequestDataAccessSuccess.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ResearchProjectForm/ResearchProjectForm.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/UploadDocumentField.js.map +1 -1
- package/dist/components/AccessRequirementList/RequirementItem/AuthenticatedRequirement.js.map +1 -1
- package/dist/components/AccessRequirementList/RequirementItem/CertificationRequirement.js.map +1 -1
- package/dist/components/AccessRequirementList/RequirementItem/LockAccessRequirementItem.js.map +1 -1
- package/dist/components/AccessRequirementList/RequirementItem/RequirementItem.js.map +1 -1
- package/dist/components/AccessRequirementList/RequirementItem/SelfSignAccessRequirementItem.js.map +1 -1
- package/dist/components/AccessRequirementList/RequirementItem/TwoFactorAuthEnabledRequirement.js.map +1 -1
- package/dist/components/AccessRequirementList/RequirementItem/UnmanagedACTAccessRequirementItem.js.map +1 -1
- package/dist/components/AccessRequirementList/RequirementItem/ValidationRequirement.js.map +1 -1
- package/dist/components/AccessRequirementRelatedProjectsList/AccessRequirementRelatedProjectsList.js.map +1 -1
- package/dist/components/AccessTokenPage/AccessTokenCard/AccessTokenCard.js.map +1 -1
- package/dist/components/AccessTokenPage/AccessTokenPage.js.map +1 -1
- package/dist/components/AccessTokenPage/CreateAccessTokenModal.js.map +1 -1
- package/dist/components/AccountLevelBadge/AccountLevelBadge.js.map +1 -1
- package/dist/components/AccountLevelBadges/AccountLevelBadges.js.map +1 -1
- package/dist/components/AccountLevelBadges/useRevokeCertificationUI.js.map +1 -1
- package/dist/components/AcknowledgementsPage/AcknowledgementsDialog.js.map +1 -1
- package/dist/components/AcknowledgementsPage/AcknowledgementsPage.js.map +1 -1
- package/dist/components/AcknowledgementsPage/StudyAcknowledgement.js.map +1 -1
- package/dist/components/AcknowledgementsPage/StudyAcknowledgements.js.map +1 -1
- package/dist/components/AclEditor/AclEditor.js.map +1 -1
- package/dist/components/AclEditor/AclEditor.test-utils.js.map +1 -1
- package/dist/components/AclEditor/AclEditorSkeleton.js.map +1 -1
- package/dist/components/AclEditor/PermissionLevelMenu.js.map +1 -1
- package/dist/components/AclEditor/ReadOnlyPermissionLevel.js.map +1 -1
- package/dist/components/AclEditor/ResourceAccessAndUserGroupHeader.js +2 -4
- package/dist/components/AclEditor/ResourceAccessAndUserGroupHeader.js.map +1 -1
- package/dist/components/AclEditor/ResourceAccessItem.js.map +1 -1
- package/dist/components/AclEditor/useSortResourceAccessList.js.map +1 -1
- package/dist/components/AclEditor/useUpdateAcl.js.map +1 -1
- package/dist/components/AdaptiveTwoColumnLayout/AdaptiveTwoColumnLayout.js.map +1 -1
- package/dist/components/AddToDownloadListV2.js.map +1 -1
- package/dist/components/Aridhia/AridhiaAccessStatus.js.map +1 -1
- package/dist/components/Aridhia/aridhiaAccessStatusUtils.js.map +1 -1
- package/dist/components/Authentication/AuthenticationMethodSelection.js.map +1 -1
- package/dist/components/Authentication/LastLoginInfo.js.map +1 -1
- package/dist/components/Authentication/LoginFlowBackButton.js.map +1 -1
- package/dist/components/Authentication/LoginForm.js.map +1 -1
- package/dist/components/Authentication/LoginMethod.js.map +1 -1
- package/dist/components/Authentication/LoginMethodButton.js.map +1 -1
- package/dist/components/Authentication/Logout.js.map +1 -1
- package/dist/components/Authentication/OneTimePasswordForm.js.map +1 -1
- package/dist/components/Authentication/PasswordField.js.map +1 -1
- package/dist/components/Authentication/RecoveryCodeForm.js.map +1 -1
- package/dist/components/Authentication/RecoveryCodeGrid.js.map +1 -1
- package/dist/components/Authentication/RegenerateBackupCodesWarning.js.map +1 -1
- package/dist/components/Authentication/Reset2FAWarning.js.map +1 -1
- package/dist/components/Authentication/StandaloneLoginForm.js.map +1 -1
- package/dist/components/Authentication/TOTPForm.js.map +1 -1
- package/dist/components/Authentication/TwoFactorAuthSettingsPanel.js.map +1 -1
- package/dist/components/Authentication/TwoFactorBackupCodes.js.map +1 -1
- package/dist/components/Authentication/TwoFactorEnrollmentForm.js.map +1 -1
- package/dist/components/Authentication/TwoFactorSecretDialog.js.map +1 -1
- package/dist/components/Authentication/UsernamePasswordForm.js.map +1 -1
- package/dist/components/BasePortalCard/BasePortalCard.js.map +1 -1
- package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.js.map +1 -1
- package/dist/components/Breadcrumbs/Breadcrumbs.js.map +1 -1
- package/dist/components/CTASectionWrapper/CTASectionWrapper.js.map +1 -1
- package/dist/components/CannedRejectionDialog/CannedRejectionDialog.js.map +1 -1
- package/dist/components/CardContainer/CardContainer.js.map +1 -1
- package/dist/components/CardContainerLogic/CardContainerLogic.js.map +1 -1
- package/dist/components/CardDeck/CardDeck.Desktop.js.map +1 -1
- package/dist/components/CardDeck/CardDeck.Mobile.js.map +1 -1
- package/dist/components/CardDeck/CardDeck.js.map +1 -1
- package/dist/components/CardDeck/TableQueryCardDeck.js.map +1 -1
- package/dist/components/CardGridWithLinks/CardGridWithLinks.js.map +1 -1
- package/dist/components/CertificationQuiz/CertificationAnswer.js.map +1 -1
- package/dist/components/CertificationQuiz/CertificationQuiz.js.map +1 -1
- package/dist/components/ChallengeDataDownload/ChallengeDataDownload.js.map +1 -1
- package/dist/components/ChallengeDetailPage/ChallengeDetailPage.js.map +1 -1
- package/dist/components/ChallengeRegisterButton/ChallengeRegisterButton.js.map +1 -1
- package/dist/components/ChallengeRequirementsModal/ChallengeRequirementsModal.js.map +1 -1
- package/dist/components/ChallengeSubmission/AddExternalRepo.js.map +1 -1
- package/dist/components/ChallengeSubmission/AvailableEvaluationQueueList.js.map +1 -1
- package/dist/components/ChallengeSubmission/ChallengeSubmission.js.map +1 -1
- package/dist/components/ChallengeSubmission/ChallengeSubmissionStepper.js +62 -64
- package/dist/components/ChallengeSubmission/ChallengeSubmissionStepper.js.map +1 -1
- package/dist/components/ChallengeSubmission/EvaluationQueueCurrentRoundInfo.js.map +1 -1
- package/dist/components/ChallengeSubmission/EvaluationQueueList.js.map +1 -1
- package/dist/components/ChallengeSubmission/SubmissionCommitList.js.map +1 -1
- package/dist/components/ChallengeSubmission/SubmissionDirectoryList.js.map +1 -1
- package/dist/components/ChallengeTeamWizard/ChallengeTeamSearch.js.map +1 -1
- package/dist/components/ChallengeTeamWizard/ChallengeTeamTable.js.map +1 -1
- package/dist/components/ChallengeTeamWizard/ChallengeTeamWizard.js +96 -102
- package/dist/components/ChallengeTeamWizard/ChallengeTeamWizard.js.map +1 -1
- package/dist/components/ChallengeTeamWizard/CreateChallengeTeam.js.map +1 -1
- package/dist/components/ChallengeTeamWizard/MembershipRequestForm.js.map +1 -1
- package/dist/components/ChallengeTeamWizard/OpenMembershipInvitation.js.map +1 -1
- package/dist/components/ChallengeTeamWizard/RegistrationSuccessful.js.map +1 -1
- package/dist/components/ChallengeTeamWizard/SelectChallengeTeam.js.map +1 -1
- package/dist/components/ChallengeTeamWizard/useCreateAndRegisterChallengeTeam.js.map +1 -1
- package/dist/components/ChangePassword/ChangePassword.js.map +1 -1
- package/dist/components/ChangePassword/ChangePasswordWithToken.js.map +1 -1
- package/dist/components/ChangePassword/useChangePasswordFormState.js.map +1 -1
- package/dist/components/CitationPopover/CitationPopover.js.map +1 -1
- package/dist/components/CitationPopover/CitationPopoverContent.js.map +1 -1
- package/dist/components/CitationPopover/CitationPopoverUtils.js.map +1 -1
- package/dist/components/CitationPopover/useCitation.js.map +1 -1
- package/dist/components/ColorGradient/ColorGradient.js.map +1 -1
- package/dist/components/ColoredBulletListItem/ColoredBulletListItem.js.map +1 -1
- package/dist/components/ColumnFilter/ColumnFilter.js.map +1 -1
- package/dist/components/ComponentCollapse.js.map +1 -1
- package/dist/components/ConfirmationDialog/ConfirmationDialog.js.map +1 -1
- package/dist/components/CookiesNotification/CookiePreferencesDialog.js.map +1 -1
- package/dist/components/CookiesNotification/CookiesNotification.d.ts.map +1 -1
- package/dist/components/CookiesNotification/CookiesNotification.js +9 -9
- package/dist/components/CookiesNotification/CookiesNotification.js.map +1 -1
- package/dist/components/CopyToClipboardIcon.js.map +1 -1
- package/dist/components/CopyToClipboardInput/CopyToClipboardInput.js.map +1 -1
- package/dist/components/CopyToClipboardString/CopyToClipboardString.js.map +1 -1
- package/dist/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizard.js.map +1 -1
- package/dist/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizardUtils.js.map +1 -1
- package/dist/components/CreateProjectModal/CreateProjectModal.js.map +1 -1
- package/dist/components/CreateProjectModal/ProjectVisibilityRadioGroup.js.map +1 -1
- package/dist/components/CreateTableViewWizard/CreateTableViewWizard.js.map +1 -1
- package/dist/components/CreateTableViewWizard/CreateTableViewWizardUtils.js.map +1 -1
- package/dist/components/CreateTableViewWizard/TableNameForm.js.map +1 -1
- package/dist/components/CreateTableViewWizard/TableTypeSelection.js.map +1 -1
- package/dist/components/CreateTableViewWizard/ViewTypeSelection.js.map +1 -1
- package/dist/components/CrispChat/CrispChat.js.map +1 -1
- package/dist/components/DataExplorer/DataExplorer.css +1 -0
- package/dist/components/DataExplorer/DataExplorer.d.ts +13 -0
- package/dist/components/DataExplorer/DataExplorer.d.ts.map +1 -0
- package/dist/components/DataExplorer/DataExplorer.js +116 -0
- package/dist/components/DataExplorer/DataExplorer.js.map +1 -0
- package/dist/components/DataExplorer/DataExplorer.module.js +22 -0
- package/dist/components/DataExplorer/DataExplorer.module.js.map +1 -0
- package/dist/components/DataExplorer/DataExplorer.module.scss +156 -0
- package/dist/components/DataGrid/DataGrid.js +72 -72
- package/dist/components/DataGrid/DataGrid.js.map +1 -1
- package/dist/components/DataGrid/DataGridTypes.js.map +1 -1
- package/dist/components/DataGrid/DataGridWebSocket.d.ts +2 -0
- package/dist/components/DataGrid/DataGridWebSocket.d.ts.map +1 -1
- package/dist/components/DataGrid/DataGridWebSocket.js +9 -10
- package/dist/components/DataGrid/DataGridWebSocket.js.map +1 -1
- package/dist/components/DataGrid/MergeGridWithSourceTableButton.js.map +1 -1
- package/dist/components/DataGrid/StartGridSession.js.map +1 -1
- package/dist/components/DataGrid/SynapseGrid.d.ts +3 -1
- package/dist/components/DataGrid/SynapseGrid.d.ts.map +1 -1
- package/dist/components/DataGrid/SynapseGrid.js +219 -211
- package/dist/components/DataGrid/SynapseGrid.js.map +1 -1
- package/dist/components/DataGrid/columns/AutocompleteColumn.d.ts.map +1 -1
- package/dist/components/DataGrid/columns/AutocompleteColumn.js +106 -102
- package/dist/components/DataGrid/columns/AutocompleteColumn.js.map +1 -1
- package/dist/components/DataGrid/columns/AutocompleteMultipleEnumColumn.d.ts.map +1 -1
- package/dist/components/DataGrid/columns/AutocompleteMultipleEnumColumn.js +97 -89
- package/dist/components/DataGrid/columns/AutocompleteMultipleEnumColumn.js.map +1 -1
- package/dist/components/DataGrid/columns/DateTimeColumn.js.map +1 -1
- package/dist/components/DataGrid/columns/GridAutocompleteChip.js.map +1 -1
- package/dist/components/DataGrid/columns/useGridAutocompleteState.d.ts +19 -8
- package/dist/components/DataGrid/columns/useGridAutocompleteState.d.ts.map +1 -1
- package/dist/components/DataGrid/columns/useGridAutocompleteState.js +64 -43
- package/dist/components/DataGrid/columns/useGridAutocompleteState.js.map +1 -1
- package/dist/components/DataGrid/components/ColumnHeaderWithTooltip.js.map +1 -1
- package/dist/components/DataGrid/components/ExportCsvFromGridButton.js.map +1 -1
- package/dist/components/DataGrid/components/GridMenuButton/GridMenuButton.js.map +1 -1
- package/dist/components/DataGrid/components/GridSessionSelectionField.js.map +1 -1
- package/dist/components/DataGrid/components/UploadCsvToGridButton.js.map +1 -1
- package/dist/components/DataGrid/components/UploadCsvToGridDialog.d.ts.map +1 -1
- package/dist/components/DataGrid/components/UploadCsvToGridDialog.js +9 -9
- package/dist/components/DataGrid/components/UploadCsvToGridDialog.js.map +1 -1
- package/dist/components/DataGrid/components/ValidationAlert.js.map +1 -1
- package/dist/components/DataGrid/components/contextMenu.js.map +1 -1
- package/dist/components/DataGrid/hooks/useColumnResizeHandles.js +2 -0
- package/dist/components/DataGrid/hooks/useColumnResizeHandles.js.map +1 -1
- package/dist/components/DataGrid/hooks/useExportDataGridToCsv.js.map +1 -1
- package/dist/components/DataGrid/hooks/useGetSchemaForGrid.d.ts.map +1 -1
- package/dist/components/DataGrid/hooks/useGetSchemaForGrid.js +8 -1
- package/dist/components/DataGrid/hooks/useGetSchemaForGrid.js.map +1 -1
- package/dist/components/DataGrid/hooks/useGridReplicaUsers.js.map +1 -1
- package/dist/components/DataGrid/hooks/useGridUndoRedo.js.map +1 -1
- package/dist/components/DataGrid/hooks/useRemoteSelections.js.map +1 -1
- package/dist/components/DataGrid/hooks/useStack.js.map +1 -1
- package/dist/components/DataGrid/useCRDTModelView.js.map +1 -1
- package/dist/components/DataGrid/useDataGridWebsocket.d.ts +2 -0
- package/dist/components/DataGrid/useDataGridWebsocket.d.ts.map +1 -1
- package/dist/components/DataGrid/useDataGridWebsocket.js +12 -2
- package/dist/components/DataGrid/useDataGridWebsocket.js.map +1 -1
- package/dist/components/DataGrid/useInitializeGridConnection.js.map +1 -1
- package/dist/components/DataGrid/useMergeGridWithRecordSet.js.map +1 -1
- package/dist/components/DataGrid/useMergeGridWithSource.js.map +1 -1
- package/dist/components/DataGrid/useMergeGridWithTable.js.map +1 -1
- package/dist/components/DataGrid/utils/DataGridUtils.js.map +1 -1
- package/dist/components/DataGrid/utils/MessageCounter.js.map +1 -1
- package/dist/components/DataGrid/utils/applyModelChange.js.map +1 -1
- package/dist/components/DataGrid/utils/calculateColumnWidth.js.map +1 -1
- package/dist/components/DataGrid/utils/columnFactory.js.map +1 -1
- package/dist/components/DataGrid/utils/computeReplicaSelectionModel.js.map +1 -1
- package/dist/components/DataGrid/utils/convertActionToModelChange.js.map +1 -1
- package/dist/components/DataGrid/utils/createTestModel.js.map +1 -1
- package/dist/components/DataGrid/utils/enrichRowsWithChangeInfo.js.map +1 -1
- package/dist/components/DataGrid/utils/extractColumnValidationMessages.js.map +1 -1
- package/dist/components/DataGrid/utils/getCellAuthorSid.js.map +1 -1
- package/dist/components/DataGrid/utils/getCellClassName.js.map +1 -1
- package/dist/components/DataGrid/utils/getChangeTooltipText.js.map +1 -1
- package/dist/components/DataGrid/utils/getEmptyValue.js.map +1 -1
- package/dist/components/DataGrid/utils/getReplicaCategory.js.map +1 -1
- package/dist/components/DataGrid/utils/isValidationUpToDateForRow.js.map +1 -1
- package/dist/components/DataGrid/utils/json-rx/JsonRx.js.map +1 -1
- package/dist/components/DataGrid/utils/json-rx/JsonRxMessage.js.map +1 -1
- package/dist/components/DataGrid/utils/json-rx/JsonRxNotification.js.map +1 -1
- package/dist/components/DataGrid/utils/json-rx/JsonRxRequest.js.map +1 -1
- package/dist/components/DataGrid/utils/json-rx/JsonRxRequestComplete.js.map +1 -1
- package/dist/components/DataGrid/utils/json-rx/JsonRxResponse.js.map +1 -1
- package/dist/components/DataGrid/utils/json-rx/JsonRxResponseComplete.js.map +1 -1
- package/dist/components/DataGrid/utils/logicalTimestampToString.js.map +1 -1
- package/dist/components/DataGrid/utils/mapOperationsToModelChanges.js.map +1 -1
- package/dist/components/DataGrid/utils/modelColsToGrid.js.map +1 -1
- package/dist/components/DataGrid/utils/modelRowsToGrid.js.map +1 -1
- package/dist/components/DataGrid/utils/parseFreeTextUsingJsonSchemaType.js.map +1 -1
- package/dist/components/DataGrid/utils/replicaSelectionToGridSelection.js.map +1 -1
- package/dist/components/DataGrid/utils/schemaAwarePasteValue.js.map +1 -1
- package/dist/components/DataGrid/utils/splitPatch.js.map +1 -1
- package/dist/components/DatasetJsonLdScript.js.map +1 -1
- package/dist/components/DateTimePicker/DateTimePicker.js.map +1 -1
- package/dist/components/Dialog/ConfirmCloseWithoutSavingDialog.js.map +1 -1
- package/dist/components/DialogBase.js.map +1 -1
- package/dist/components/DirectDownload/DirectDownload.js.map +1 -1
- package/dist/components/DirectDownload/FileEntityDirectDownload.js.map +1 -1
- package/dist/components/DirectDownloadButton.js.map +1 -1
- package/dist/components/DownloadCart/ActionRequiredCard/ActionRequiredCard.js.map +1 -1
- package/dist/components/DownloadCart/ActionRequiredListItem.js.map +1 -1
- package/dist/components/DownloadCart/AvailableForDownloadTable.js.map +1 -1
- package/dist/components/DownloadCart/CreatePackageV2.js.map +1 -1
- package/dist/components/DownloadCart/DirectProgrammaticDownload.js.map +1 -1
- package/dist/components/DownloadCart/DownloadCartPage.js.map +1 -1
- package/dist/components/DownloadCart/DownloadDetails.js.map +1 -1
- package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.js.map +1 -1
- package/dist/components/DownloadCart/DownloadListActionsRequired.js.map +1 -1
- package/dist/components/DownloadCart/DownloadListStats.js.map +1 -1
- package/dist/components/DownloadCart/DownloadListTable.js.map +1 -1
- package/dist/components/DownloadCart/EnableTwoFaRequirementCard.js.map +1 -1
- package/dist/components/DownloadCart/MeetAccessRequirementCard.js.map +1 -1
- package/dist/components/DownloadCart/RequestDownloadCard.js.map +1 -1
- package/dist/components/DownloadCart/ShowDownloadV2.js.map +1 -1
- package/dist/components/DownloadCart/TableQueryActionsRequired.js.map +1 -1
- package/dist/components/DownloadCart/fileNameUtils.js.map +1 -1
- package/dist/components/DraggableDialog/DraggableDialog.js.map +1 -1
- package/dist/components/DropdownSelect/DropdownSelect.js.map +1 -1
- package/dist/components/DynamicForm/DynamicForm.js.map +1 -1
- package/dist/components/DynamicForm/DynamicFormModal.js.map +1 -1
- package/dist/components/Ecosystem/EcosystemCard.js.map +1 -1
- package/dist/components/Ecosystem/EcosystemLayout.js.map +1 -1
- package/dist/components/Ecosystem/EcosystemSkeleton.js.map +1 -1
- package/dist/components/Ecosystem/TableQueryEcosystem.js.map +1 -1
- package/dist/components/EntityAclEditor/CreateOrDeleteLocalSharingSettingsButton.js.map +1 -1
- package/dist/components/EntityAclEditor/EntityAclEditor.js.map +1 -1
- package/dist/components/EntityAclEditor/EntityAclEditorModal.js.map +1 -1
- package/dist/components/EntityAclEditor/InheritanceMessage.js.map +1 -1
- package/dist/components/EntityAclEditor/OpenData.js.map +1 -1
- package/dist/components/EntityAclEditor/useNotifyNewACLUsers.js.map +1 -1
- package/dist/components/EntityBadgeIcons/EntityBadgeIcons.js +68 -70
- package/dist/components/EntityBadgeIcons/EntityBadgeIcons.js.map +1 -1
- package/dist/components/EntityCitation/EntityCitation.js.map +1 -1
- package/dist/components/EntityCitation/EntityCitationUtils.js.map +1 -1
- package/dist/components/EntityDownloadButton/EntityDownloadButton.js +32 -35
- package/dist/components/EntityDownloadButton/EntityDownloadButton.js.map +1 -1
- package/dist/components/EntityDownloadConfirmation/EntityDownloadConfirmation.js.map +1 -1
- package/dist/components/EntityFinder/Breadcrumbs.js.map +1 -1
- package/dist/components/EntityFinder/EntityFinder.js +134 -136
- package/dist/components/EntityFinder/EntityFinder.js.map +1 -1
- package/dist/components/EntityFinder/EntityFinderModal.js.map +1 -1
- package/dist/components/EntityFinder/EntityIdTextField.js.map +1 -1
- package/dist/components/EntityFinder/VersionSelectionType.js.map +1 -1
- package/dist/components/EntityFinder/details/EntityDetailsList.js +20 -20
- package/dist/components/EntityFinder/details/EntityDetailsList.js.map +1 -1
- package/dist/components/EntityFinder/details/configurations/EntityChildrenDetails.js.map +1 -1
- package/dist/components/EntityFinder/details/configurations/FavoritesDetails.js.map +1 -1
- package/dist/components/EntityFinder/details/configurations/ProjectListDetails.js.map +1 -1
- package/dist/components/EntityFinder/details/configurations/ReferenceDetails.js.map +1 -1
- package/dist/components/EntityFinder/details/configurations/SearchDetails.js.map +1 -1
- package/dist/components/EntityFinder/details/view/DetailsView.js +67 -67
- package/dist/components/EntityFinder/details/view/DetailsView.js.map +1 -1
- package/dist/components/EntityFinder/details/view/VersionColumnHeader.js +1 -1
- package/dist/components/EntityFinder/details/view/VersionColumnHeader.js.map +1 -1
- package/dist/components/EntityFinder/details/view/table/AddToDownloadListCell.js.map +1 -1
- package/dist/components/EntityFinder/details/view/table/CreatedOnCell.js.map +1 -1
- package/dist/components/EntityFinder/details/view/table/DateCell.js.map +1 -1
- package/dist/components/EntityFinder/details/view/table/EntityBadgeIconsCell.js.map +1 -1
- package/dist/components/EntityFinder/details/view/table/EntityFinderCheckboxCell.js.map +1 -1
- package/dist/components/EntityFinder/details/view/table/EntityFinderVersionCell.js.map +1 -1
- package/dist/components/EntityFinder/details/view/table/EntityNameCell.js.map +1 -1
- package/dist/components/EntityFinder/details/view/table/EntityTypeCell.js.map +1 -1
- package/dist/components/EntityFinder/details/view/table/FileEntityDirectDownloadCell.js.map +1 -1
- package/dist/components/EntityFinder/details/view/table/FileEntityMD5Cell.js.map +1 -1
- package/dist/components/EntityFinder/details/view/table/FileEntitySizeCell.js.map +1 -1
- package/dist/components/EntityFinder/details/view/table/ModifiedByCell.js.map +1 -1
- package/dist/components/EntityFinder/details/view/table/ModifiedOnCell.js.map +1 -1
- package/dist/components/EntityFinder/details/view/table/ParentProjectCell.js.map +1 -1
- package/dist/components/EntityFinder/details/view/table/UserBadgeCell.js.map +1 -1
- package/dist/components/EntityFinder/tree/EntityTree.js +80 -80
- package/dist/components/EntityFinder/tree/EntityTree.js.map +1 -1
- package/dist/components/EntityFinder/tree/VirtualizedTree.js +31 -31
- package/dist/components/EntityFinder/tree/VirtualizedTree.js.map +1 -1
- package/dist/components/EntityFinder/useEntitySelection.js.map +1 -1
- package/dist/components/EntityForm/EntityForm.js.map +1 -1
- package/dist/components/EntityHeaderTable/DebouncedInput.js.map +1 -1
- package/dist/components/EntityHeaderTable/EntityHeaderTable.js.map +1 -1
- package/dist/components/EntityHeaderTable/EntityHeaderTableCellRenderers.js.map +1 -1
- package/dist/components/EntityHeaderTable/Filter.js.map +1 -1
- package/dist/components/EntityHeaderTable/useEntityHeaderTableState.js.map +1 -1
- package/dist/components/EntityIcon.js.map +1 -1
- package/dist/components/EntityLink.js.map +1 -1
- package/dist/components/EntitySubjectsSelector/EntitySubjectsSelector.js.map +1 -1
- package/dist/components/EntityTreeTable/EntityTreeTable.js.map +1 -1
- package/dist/components/EntityTreeTable/components/AutoLoadMore.js.map +1 -1
- package/dist/components/EntityTreeTable/components/ColumnHeaders.js.map +1 -1
- package/dist/components/EntityTreeTable/components/EntityBadgeIconsCell.js.map +1 -1
- package/dist/components/EntityTreeTable/components/EntityNameCell.js.map +1 -1
- package/dist/components/EntityTreeTable/components/EntityTreeTableContext.js.map +1 -1
- package/dist/components/EntityTreeTable/components/EntityTreeTableRow.js.map +1 -1
- package/dist/components/EntityTreeTable/components/EntityTreeTableView.js.map +1 -1
- package/dist/components/EntityTreeTable/components/IdCell.js.map +1 -1
- package/dist/components/EntityTreeTable/components/IdColumnHeader.js.map +1 -1
- package/dist/components/EntityTreeTable/hooks/useEntityTreeState.js.map +1 -1
- package/dist/components/EntityTreeTable/hooks/useTableColumns.js.map +1 -1
- package/dist/components/EntityTreeTable/hooks/useTableData.js.map +1 -1
- package/dist/components/EntityTreeTable/hooks/useTreeOperationsWithDirectFetch.js.map +1 -1
- package/dist/components/EntityUpload/EntityUpload.js.map +1 -1
- package/dist/components/EntityUpload/EntityUploadModal.js +29 -31
- package/dist/components/EntityUpload/EntityUploadModal.js.map +1 -1
- package/dist/components/EntityUpload/EntityUploadPromptDialog.js.map +1 -1
- package/dist/components/EntityUpload/ExternalObjectStoreCredentialsForm.js.map +1 -1
- package/dist/components/EntityUpload/FileUploadProgress.js.map +1 -1
- package/dist/components/EntityUpload/LinkToURL.js.map +1 -1
- package/dist/components/EntityUpload/ProjectStorageLimitAlert.js.map +1 -1
- package/dist/components/EntityViewScopeEditor/EntityViewMaskEditor.js.map +1 -1
- package/dist/components/EntityViewScopeEditor/EntityViewScopeEditor.js.map +1 -1
- package/dist/components/EntityViewScopeEditor/EntityViewScopeEditorModal.js.map +1 -1
- package/dist/components/Evaluation/CreatedOnByUserDiv.js.map +1 -1
- package/dist/components/Evaluation/DeleteEvaluationQueueConfirmationDialog.js.map +1 -1
- package/dist/components/Evaluation/EvaluationCard.js.map +1 -1
- package/dist/components/Evaluation/EvaluationEditor.js.map +1 -1
- package/dist/components/Evaluation/EvaluationEditorPage.js.map +1 -1
- package/dist/components/Evaluation/EvaluationRoundEditor.js.map +1 -1
- package/dist/components/Evaluation/EvaluationRoundEditorDropdown.js.map +1 -1
- package/dist/components/Evaluation/EvaluationRoundEditorList.js.map +1 -1
- package/dist/components/Evaluation/input_models/models.js.map +1 -1
- package/dist/components/Evaluation/round_limits/EvaluationRoundLimitOptions.js.map +1 -1
- package/dist/components/Evaluation/round_limits/EvaluationRoundLimitOptionsList.js.map +1 -1
- package/dist/components/EvaluationFinder/EvaluationFinder.js.map +1 -1
- package/dist/components/ExperimentalMode/ExperimentalMode.d.ts.map +1 -1
- package/dist/components/ExperimentalMode/ExperimentalMode.js +24 -30
- package/dist/components/ExperimentalMode/ExperimentalMode.js.map +1 -1
- package/dist/components/ExternalFileHandleLink/ExternalFileHandleLink.js.map +1 -1
- package/dist/components/FeaturedDataTabs/FacetPlotsCard.js.map +1 -1
- package/dist/components/FeaturedDataTabs/FacetPlotsCardGrid.js.map +1 -1
- package/dist/components/FeaturedDataTabs/FeaturedDataPlots.js.map +1 -1
- package/dist/components/FeaturedDataTabs/FeaturedDataTabs.js.map +1 -1
- package/dist/components/FeaturedDataTabs/QueryPerFacetPlotsCard.js.map +1 -1
- package/dist/components/FeaturedDataTabs/SingleQueryFacetPlotsCards.js.map +1 -1
- package/dist/components/FeaturedResearch/FeaturedResearch.js +16 -18
- package/dist/components/FeaturedResearch/FeaturedResearch.js.map +1 -1
- package/dist/components/FeaturedToolsList/FeaturedToolCard.js.map +1 -1
- package/dist/components/FeaturedToolsList/FeaturedToolsList.js.map +1 -1
- package/dist/components/FilePreview/EntityPreview.js.map +1 -1
- package/dist/components/FilePreview/FileEntityPreview.js.map +1 -1
- package/dist/components/FilePreview/FileHandleContentRenderer.js.map +1 -1
- package/dist/components/FilePreview/HtmlPreview/HtmlPreview.js.map +1 -1
- package/dist/components/FilePreview/PdfPreview.js.map +1 -1
- package/dist/components/FilePreview/PreviewRendererType.js.map +1 -1
- package/dist/components/FilePreview/PreviewUtils.js.map +1 -1
- package/dist/components/FileUpload/FileUpload.js.map +1 -1
- package/dist/components/Forum/DiscussionReply.js.map +1 -1
- package/dist/components/Forum/DiscussionSearchResult.js.map +1 -1
- package/dist/components/Forum/DiscussionThread.js.map +1 -1
- package/dist/components/Forum/ForumPage.js.map +1 -1
- package/dist/components/Forum/ForumTable.js.map +1 -1
- package/dist/components/Forum/ForumThreadEditor.js.map +1 -1
- package/dist/components/Forum/SubscribersModal.js.map +1 -1
- package/dist/components/ForumSearch/ForumSearch.js.map +1 -1
- package/dist/components/FullTextSearch/FullTextSearch.js.map +1 -1
- package/dist/components/FullTextSearch/FullTextSearchUtils.js.map +1 -1
- package/dist/components/FullWidthAlert/FullWidthAlert.js.map +1 -1
- package/dist/components/GenericCard/BioregistryRules.js.map +1 -1
- package/dist/components/GenericCard/CardUtils.js.map +1 -1
- package/dist/components/GenericCard/CollapsibleDescription.js.map +1 -1
- package/dist/components/GenericCard/CroissantButton/CroissantButton.js.map +1 -1
- package/dist/components/GenericCard/GenericCard.js.map +1 -1
- package/dist/components/GenericCard/GenericCardActionButton.js.map +1 -1
- package/dist/components/GenericCard/GenericCardIcon.js.map +1 -1
- package/dist/components/GenericCard/GenericCardTitle.js.map +1 -1
- package/dist/components/GenericCard/LabelMaybeWithIcon.js.map +1 -1
- package/dist/components/GenericCard/Linkify.js.map +1 -1
- package/dist/components/GenericCard/PortalDOI/PortalDOI.js.map +1 -1
- package/dist/components/GenericCard/PortalDOI/PortalDOIUtils.js.map +1 -1
- package/dist/components/GenericCard/SynapseCardLabel.js +1 -1
- package/dist/components/GenericCard/SynapseCardLabel.js.map +1 -1
- package/dist/components/GenericCard/TableRowGenericCard.js.map +1 -1
- package/dist/components/GenericCard/useResolvedSynapseEntity.js.map +1 -1
- package/dist/components/Goals/Goals.Desktop.js.map +1 -1
- package/dist/components/Goals/Goals.Mobile.js.map +1 -1
- package/dist/components/Goals/Goals.js +25 -27
- package/dist/components/Goals/Goals.js.map +1 -1
- package/dist/components/GoalsV2/GoalsV2.Desktop.js.map +1 -1
- package/dist/components/GoalsV2/GoalsV2.Mobile.js.map +1 -1
- package/dist/components/GoalsV2/GoalsV2.js +14 -16
- package/dist/components/GoalsV2/GoalsV2.js.map +1 -1
- package/dist/components/GoalsV3/GoalsV3.Desktop.js.map +1 -1
- package/dist/components/GoalsV3/GoalsV3.Mobile.js.map +1 -1
- package/dist/components/GoalsV3/GoalsV3.js +14 -16
- package/dist/components/GoalsV3/GoalsV3.js.map +1 -1
- package/dist/components/GoogleAnalytics/GoogleAnalytics.js.map +1 -1
- package/dist/components/GoogleMap/GoogleMap.js.map +1 -1
- package/dist/components/GoogleMap/SynapseUserMarker.js.map +1 -1
- package/dist/components/HasAccess/AccessIcon.js +10 -10
- package/dist/components/HasAccess/AccessIcon.js.map +1 -1
- package/dist/components/HasAccess/HasAccessV2.js.map +1 -1
- package/dist/components/HasAccess/useHasAccess.js.map +1 -1
- package/dist/components/HeaderCard/HeaderCardV2.js.map +1 -1
- package/dist/components/HeaderCard.js.map +1 -1
- package/dist/components/HelpPopover/HelpPopover.js.map +1 -1
- package/dist/components/HexGrid/HexGrid.js.map +1 -1
- package/dist/components/IDUReport/IDUReport.js.map +1 -1
- package/dist/components/IDUReport/IDUReportSubmissionInfo.js.map +1 -1
- package/dist/components/Icon/Icon.js.map +1 -1
- package/dist/components/IconList.js.map +1 -1
- package/dist/components/IconSvg/IconSvg.js.map +1 -1
- package/dist/components/IconSvgButton.js.map +1 -1
- package/dist/components/ImageCardGridWithLinks/ImageCardGridWithLinks.js +7 -9
- package/dist/components/ImageCardGridWithLinks/ImageCardGridWithLinks.js.map +1 -1
- package/dist/components/ImageFromSynapseTable.js.map +1 -1
- package/dist/components/InteractiveCopyIdsIcon.js.map +1 -1
- package/dist/components/JSONArrayEditor/JSONArrayEditor.js.map +1 -1
- package/dist/components/JSONArrayEditor/JSONArrayEditorModal.js.map +1 -1
- package/dist/components/JSONArrayEditor/useParseCsv.js.map +1 -1
- package/dist/components/JsonLdScript.js.map +1 -1
- package/dist/components/JsonSchemaForm/JsonSchemaForm.js.map +1 -1
- package/dist/components/JsonSchemaForm/templates/ArrayFieldDescriptionTemplate.js.map +1 -1
- package/dist/components/JsonSchemaForm/templates/ArrayFieldItemButtonTemplate.js.map +1 -1
- package/dist/components/JsonSchemaForm/templates/ArrayFieldItemTemplate.js.map +1 -1
- package/dist/components/JsonSchemaForm/templates/ArrayFieldTemplate.js.map +1 -1
- package/dist/components/JsonSchemaForm/templates/ArrayFieldTitleTemplate.js.map +1 -1
- package/dist/components/JsonSchemaForm/templates/BaseInputTemplate.js.map +1 -1
- package/dist/components/JsonSchemaForm/templates/ButtonTemplate.js.map +1 -1
- package/dist/components/JsonSchemaForm/templates/DescriptionFieldTemplate.js.map +1 -1
- package/dist/components/JsonSchemaForm/templates/ErrorListTemplate.js.map +1 -1
- package/dist/components/JsonSchemaForm/templates/FieldDescriptionTable.js.map +1 -1
- package/dist/components/JsonSchemaForm/templates/FieldErrorTemplate.js.map +1 -1
- package/dist/components/JsonSchemaForm/templates/FieldTemplate.js.map +1 -1
- package/dist/components/JsonSchemaForm/templates/RJSFInputLabel.js.map +1 -1
- package/dist/components/JsonSchemaForm/widgets/BooleanWidget.js.map +1 -1
- package/dist/components/JsonSchemaForm/widgets/DateTimeWidget.js.map +1 -1
- package/dist/components/JsonSchemaForm/widgets/SelectWidget.js.map +1 -1
- package/dist/components/LoadingScreen/LoadingScreen.js.map +1 -1
- package/dist/components/MailchimpSubscribeSection/MailchimpSubscribeSection.js.map +1 -1
- package/dist/components/Markdown/GovernanceMarkdownGithub.js.map +1 -1
- package/dist/components/Markdown/MarkdownCollapse.js.map +1 -1
- package/dist/components/Markdown/MarkdownEditor.js.map +1 -1
- package/dist/components/Markdown/MarkdownGithub.js.map +1 -1
- package/dist/components/Markdown/MarkdownPopover.js.map +1 -1
- package/dist/components/Markdown/MarkdownSynapse.d.ts.map +1 -1
- package/dist/components/Markdown/MarkdownSynapse.js +75 -106
- package/dist/components/Markdown/MarkdownSynapse.js.map +1 -1
- package/dist/components/Markdown/MarkdownUtils.d.ts +14 -4
- package/dist/components/Markdown/MarkdownUtils.d.ts.map +1 -1
- package/dist/components/Markdown/MarkdownUtils.js +38 -37
- package/dist/components/Markdown/MarkdownUtils.js.map +1 -1
- package/dist/components/Markdown/MarkdownWidget.js.map +1 -1
- package/dist/components/Markdown/SynapseWikiContext.js.map +1 -1
- package/dist/components/Markdown/UserMentionModal.js.map +1 -1
- package/dist/components/Markdown/widget/Bookmarks.js.map +1 -1
- package/dist/components/Markdown/widget/MarkdownButton.js.map +1 -1
- package/dist/components/Markdown/widget/MarkdownEntityPreview.js.map +1 -1
- package/dist/components/Markdown/widget/MarkdownIDUReport.js.map +1 -1
- package/dist/components/Markdown/widget/MarkdownProvenanceGraph.js.map +1 -1
- package/dist/components/Markdown/widget/MarkdownSynapseImage.js.map +1 -1
- package/dist/components/Markdown/widget/MarkdownSynapsePlot.js.map +1 -1
- package/dist/components/Markdown/widget/MarkdownSynapseTable.js.map +1 -1
- package/dist/components/Markdown/widget/MarkdownTableOfContents.js.map +1 -1
- package/dist/components/Markdown/widget/MarkdownUserOrTeamBadge.js.map +1 -1
- package/dist/components/Markdown/widget/MarkdownVideo.js.map +1 -1
- package/dist/components/MissingQueryResultsWarning/MissingQueryResultsWarning.js.map +1 -1
- package/dist/components/ModalDownload/ModalDownload.FormSchema.js.map +1 -1
- package/dist/components/ModalDownload/ModalDownload.js.map +1 -1
- package/dist/components/MuiContainer.js.map +1 -1
- package/dist/components/OAuthClientAclEditor/OAuthAclEditorModal.js.map +1 -1
- package/dist/components/OAuthClientAclEditor/OAuthClientAclEditor.js.map +1 -1
- package/dist/components/OAuthClientManagement/CreateOAuthClient.js.map +1 -1
- package/dist/components/OAuthClientManagement/OAuthManagement.js.map +1 -1
- package/dist/components/OrientationBanner/OrientationBanner.js.map +1 -1
- package/dist/components/PageProgress/PageProgress.js.map +1 -1
- package/dist/components/Plot/BarPlot.js.map +1 -1
- package/dist/components/Plot/DotPlot.js.map +1 -1
- package/dist/components/Plot/Plot.d.ts +12 -1
- package/dist/components/Plot/Plot.d.ts.map +1 -1
- package/dist/components/Plot/Plot.js +5 -1
- package/dist/components/Plot/Plot.js.map +1 -1
- package/dist/components/Plot/PlotPanelHeader.js.map +1 -1
- package/dist/components/Plot/SynapsePlot.js.map +1 -1
- package/dist/components/Plot/SynapseSankeyPlot.d.ts +12 -0
- package/dist/components/Plot/SynapseSankeyPlot.d.ts.map +1 -0
- package/dist/components/Plot/SynapseSankeyPlot.js +54 -0
- package/dist/components/Plot/SynapseSankeyPlot.js.map +1 -0
- package/dist/components/Plot/ThemesPlot.js.map +1 -1
- package/dist/components/Plot/UpsetPlot.js.map +1 -1
- package/dist/components/Plot/index.d.ts +3 -1
- package/dist/components/Plot/index.d.ts.map +1 -1
- package/dist/components/Plot/index.js +2 -1
- package/dist/components/Plot/safe-react-plotly-factory.js.map +1 -1
- package/dist/components/PortalAclEditor/PortalAclEditor.js.map +1 -1
- package/dist/components/PortalAclEditor/PortalAclEditorModal.js.map +1 -1
- package/dist/components/PortalFeatureHighlights/PortalFeatureHighlights.js.map +1 -1
- package/dist/components/PortalFeaturedPartners/PortalFeaturedPartners.js +4 -6
- package/dist/components/PortalFeaturedPartners/PortalFeaturedPartners.js.map +1 -1
- package/dist/components/PortalHomePageHeader/PortalHomePageHeader.js.map +1 -1
- package/dist/components/PortalList/CreatePortalModal.js.map +1 -1
- package/dist/components/PortalList/PortalCard.js.map +1 -1
- package/dist/components/PortalList/PortalList.js.map +1 -1
- package/dist/components/PortalSectionHeader/PortalSectionHeader.js.map +1 -1
- package/dist/components/ProgrammaticInstructionsModal/ProgrammaticInstructionsModal.js +69 -69
- package/dist/components/ProgrammaticInstructionsModal/ProgrammaticInstructionsModal.js.map +1 -1
- package/dist/components/ProgrammaticTableDownload/ProgrammaticTableDownload.js.map +1 -1
- package/dist/components/Programs/Programs.Desktop.js.map +1 -1
- package/dist/components/Programs/Programs.Mobile.js.map +1 -1
- package/dist/components/Programs/Programs.js.map +1 -1
- package/dist/components/ProjectStorage/ProjectDataAvailability.js.map +1 -1
- package/dist/components/ProvenanceGraph/ActivityNodeLabel.js.map +1 -1
- package/dist/components/ProvenanceGraph/EntityNodeLabel.js.map +1 -1
- package/dist/components/ProvenanceGraph/EntityPlaceholderNodeLabel.js.map +1 -1
- package/dist/components/ProvenanceGraph/ExpandGraphNodeLabel.js.map +1 -1
- package/dist/components/ProvenanceGraph/ExternalGraphNodeLabel.js.map +1 -1
- package/dist/components/ProvenanceGraph/ProvenanceEntityIcon.js.map +1 -1
- package/dist/components/ProvenanceGraph/ProvenanceExternalIcon.js.map +1 -1
- package/dist/components/ProvenanceGraph/ProvenanceGraph.js.map +1 -1
- package/dist/components/ProvenanceGraph/ProvenanceGraphUtils.js.map +1 -1
- package/dist/components/ProvenanceGraph/ProvenanceUtils.js +13 -13
- package/dist/components/ProvenanceGraph/ProvenanceUtils.js.map +1 -1
- package/dist/components/ProvenanceGraph/UndefinedNodeLabel.js.map +1 -1
- package/dist/components/QueryContext/QueryContext.js.map +1 -1
- package/dist/components/QueryCount/QueryCount.js.map +1 -1
- package/dist/components/QueryCountButton/QueryCountButton.js.map +1 -1
- package/dist/components/QuerySortSelector.js.map +1 -1
- package/dist/components/QueryVisualizationWrapper/NoContentPlaceholder.js.map +1 -1
- package/dist/components/QueryVisualizationWrapper/QueryVisualizationContext.js.map +1 -1
- package/dist/components/QueryVisualizationWrapper/QueryVisualizationWrapper.d.ts.map +1 -1
- package/dist/components/QueryVisualizationWrapper/QueryVisualizationWrapper.js +67 -65
- package/dist/components/QueryVisualizationWrapper/QueryVisualizationWrapper.js.map +1 -1
- package/dist/components/QueryWrapper/QueryWrapper.js +27 -27
- package/dist/components/QueryWrapper/QueryWrapper.js.map +1 -1
- package/dist/components/QueryWrapper/QueryWrapperLoadingScreen.js.map +1 -1
- package/dist/components/QueryWrapper/TableQueryUseQueryOptions.js.map +1 -1
- package/dist/components/QueryWrapper/TableRowSelectionState.js.map +1 -1
- package/dist/components/QueryWrapper/ViewMoreQueryResultsButton.js.map +1 -1
- package/dist/components/QueryWrapper/generateEncodedPathAndQueryForSelectedFacetURL.js.map +1 -1
- package/dist/components/QueryWrapper/useComputeRowSelectionPrimaryKey.js.map +1 -1
- package/dist/components/QueryWrapper/useGetAddToDownloadListRequestForCurrentQuery.js.map +1 -1
- package/dist/components/QueryWrapper/useGetQueryMetadata.js.map +1 -1
- package/dist/components/QueryWrapper/useHasFacetedSelectColumn.js.map +1 -1
- package/dist/components/QueryWrapper/useOnQueryDataChange.js.map +1 -1
- package/dist/components/QueryWrapperErrorBoundary.js.map +1 -1
- package/dist/components/QueryWrapperPlotNav/LastUpdatedOn.js.map +1 -1
- package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts +1 -1
- package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts.map +1 -1
- package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js +1 -0
- package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js.map +1 -1
- package/dist/components/QueryWrapperPlotNav/QueryWrapperSynapsePlot.js.map +1 -1
- package/dist/components/QueryWrapperPlotNav/RowSetView.js.map +1 -1
- package/dist/components/QueryWrapperPlotNav/UseRowSet.js.map +1 -1
- package/dist/components/RORInstitutionField/RORInstitutionField.js.map +1 -1
- package/dist/components/RecentPublicationsGrid/RecentPublicationsGrid.js +6 -8
- package/dist/components/RecentPublicationsGrid/RecentPublicationsGrid.js.map +1 -1
- package/dist/components/RegisterPageLogoutPrompt/RegisterPageLogoutPrompt.js.map +1 -1
- package/dist/components/ReleaseCard/ReleaseCard.js.map +1 -1
- package/dist/components/ReleaseCard/ReleaseCardLarge.js.map +1 -1
- package/dist/components/ReleaseCard/ReleaseCardMedium.js.map +1 -1
- package/dist/components/ReleaseCard/ReleaseCardUtils.js.map +1 -1
- package/dist/components/RenderIfInView/RenderIfInView.js.map +1 -1
- package/dist/components/ResizableContainer/ResizableContainer.js.map +1 -1
- package/dist/components/ResizableContainer/hooks/useResizable.js.map +1 -1
- package/dist/components/Resources/Resources.Desktop.js.map +1 -1
- package/dist/components/Resources/Resources.Mobile.js.map +1 -1
- package/dist/components/Resources/Resources.js +8 -11
- package/dist/components/Resources/Resources.js.map +1 -1
- package/dist/components/RowDataTable/RowDataTable.js.map +1 -1
- package/dist/components/RowDataTable/RowDataTableWithQuery.js.map +1 -1
- package/dist/components/RssFeedCards/RssFeedCards.js.map +1 -1
- package/dist/components/SageResourcesPopover/SageResourcesPopover.js.map +1 -1
- package/dist/components/SchemaDrivenAnnotationEditor/AnnotationEditorUtils.js.map +1 -1
- package/dist/components/SchemaDrivenAnnotationEditor/SchemaDrivenAnnotationEditor.js.map +1 -1
- package/dist/components/SchemaDrivenAnnotationEditor/field/AdditionalPropertiesSchemaField.js.map +1 -1
- package/dist/components/SchemaDrivenAnnotationEditor/field/SynapseAnnotationsRJSFObjectField.js.map +1 -1
- package/dist/components/SchemaDrivenAnnotationEditor/template/AdditionalPropertyContext.js.map +1 -1
- package/dist/components/SchemaDrivenAnnotationEditor/template/ObjectFieldTemplate.js.map +1 -1
- package/dist/components/SchemaDrivenAnnotationEditor/template/SynapseAnnotationsWrapIfAdditionalTemplate.js.map +1 -1
- package/dist/components/SchemaDrivenAnnotationEditor/widget/TextWidget.js.map +1 -1
- package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.js.map +1 -1
- package/dist/components/SearchQueryWrapper/SearchQueryWrapper.js.map +1 -1
- package/dist/components/SearchQueryWrapperPlotNav/SearchQueryWrapperPlotNav.d.ts +1 -1
- package/dist/components/SearchQueryWrapperPlotNav/SearchQueryWrapperPlotNav.d.ts.map +1 -1
- package/dist/components/SearchQueryWrapperPlotNav/SearchQueryWrapperPlotNav.js +1 -0
- package/dist/components/SearchQueryWrapperPlotNav/SearchQueryWrapperPlotNav.js.map +1 -1
- package/dist/components/SetAccessRequirementCommonFields/SetAccessRequirementCommonFields.js.map +1 -1
- package/dist/components/SetBasicAccessRequirementFields/AccessRequirementTextInstructions.js.map +1 -1
- package/dist/components/SetBasicAccessRequirementFields/AccessRequirementWikiInstructions.js.map +1 -1
- package/dist/components/SetBasicAccessRequirementFields/AccessorRequirements.js.map +1 -1
- package/dist/components/SetBasicAccessRequirementFields/GovernanceUtils.js.map +1 -1
- package/dist/components/SetBasicAccessRequirementFields/SetBasicAccessRequirementFields.js.map +1 -1
- package/dist/components/SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.js.map +1 -1
- package/dist/components/ShareThisPage/ShareThisPage.js.map +1 -1
- package/dist/components/ShowMore/ShowMore.js.map +1 -1
- package/dist/components/SignInButton.js.map +1 -1
- package/dist/components/SignInRequiredModal/SignInRequiredModal.js.map +1 -1
- package/dist/components/Skeleton/SkeletonButton.js.map +1 -1
- package/dist/components/Skeleton/SkeletonInlineBlock.js.map +1 -1
- package/dist/components/Skeleton/SkeletonParagraph.js.map +1 -1
- package/dist/components/Skeleton/SkeletonTable.js.map +1 -1
- package/dist/components/SmartLink/SmartButton.js.map +1 -1
- package/dist/components/SmartLink/SmartLink.js.map +1 -1
- package/dist/components/SmartLink/useSmartLink.js.map +1 -1
- package/dist/components/SourceAppImage.js.map +1 -1
- package/dist/components/SpinnerButton/SpinnerButton.js.map +1 -1
- package/dist/components/SqlDefinedTableEditor/SqlDefinedTableEditor.js.map +1 -1
- package/dist/components/SqlDefinedTableEditor/SqlDefinedTableEditorModal.js.map +1 -1
- package/dist/components/StandaloneQueryWrapper/StandaloneQueryWrapper.d.ts +1 -1
- package/dist/components/StandaloneQueryWrapper/StandaloneQueryWrapper.d.ts.map +1 -1
- package/dist/components/StandaloneQueryWrapper/StandaloneQueryWrapper.js.map +1 -1
- package/dist/components/StatisticsPlot.js.map +1 -1
- package/dist/components/StepperDialog/StepperDialog.js.map +1 -1
- package/dist/components/StorybookComponentWrapper.js.map +1 -1
- package/dist/components/SubmissionViewScopeEditor/SubmissionViewScopeEditor.js.map +1 -1
- package/dist/components/SubmissionViewScopeEditor/SubmissionViewScopeEditorModal.js.map +1 -1
- package/dist/components/SubscriptionPage/ForumTopic.js.map +1 -1
- package/dist/components/SubscriptionPage/SubscriptionItem.js.map +1 -1
- package/dist/components/SubscriptionPage/SubscriptionPage.js.map +1 -1
- package/dist/components/SubscriptionPage/ThreadTopic.js.map +1 -1
- package/dist/components/SubscriptionPage/Topic.js.map +1 -1
- package/dist/components/SubsectionRowRenderer/SubsectionRowRenderer.js.map +1 -1
- package/dist/components/SustainabilityScorecard/Dial.js.map +1 -1
- package/dist/components/SustainabilityScorecard/DialLayout.js.map +1 -1
- package/dist/components/SustainabilityScorecard/SustainabilityScorecard.js.map +1 -1
- package/dist/components/SustainabilityScorecard/SustainabilityScorecardSummary.js.map +1 -1
- package/dist/components/SustainabilityScorecard/SustainabilityScorecardUtils.js.map +1 -1
- package/dist/components/SynapseChat/AccessLevelMenu.js.map +1 -1
- package/dist/components/SynapseChat/GridAgentChat.js.map +1 -1
- package/dist/components/SynapseChat/SynapseChat.js.map +1 -1
- package/dist/components/SynapseChat/SynapseChatDialog.js.map +1 -1
- package/dist/components/SynapseChat/SynapseChatInteraction.js.map +1 -1
- package/dist/components/SynapseChat/SynapseChatMessage.js.map +1 -1
- package/dist/components/SynapseChat/SynapsePortalChatDialog.js.map +1 -1
- package/dist/components/SynapseChat/extractMessageFromTraceEvent.js.map +1 -1
- package/dist/components/SynapseChat/useChatState.js.map +1 -1
- package/dist/components/SynapseFooter/SynapseFooter.js.map +1 -1
- package/dist/components/SynapseFooter/SynapseLinksColumn.js.map +1 -1
- package/dist/components/SynapseForm/DataDebug.js.map +1 -1
- package/dist/components/SynapseForm/Header.js.map +1 -1
- package/dist/components/SynapseForm/NavButtons.js.map +1 -1
- package/dist/components/SynapseForm/StepsSideNav.js.map +1 -1
- package/dist/components/SynapseForm/SummaryTable.js.map +1 -1
- package/dist/components/SynapseForm/SynapseForm.js.map +1 -1
- package/dist/components/SynapseForm/SynapseFormCheckboxWidget.js.map +1 -1
- package/dist/components/SynapseForm/SynapseFormCheckboxesWidget.js.map +1 -1
- package/dist/components/SynapseForm/SynapseFormRadioWidget.js.map +1 -1
- package/dist/components/SynapseForm/SynapseFormSubmissionGrid.js.map +1 -1
- package/dist/components/SynapseForm/SynapseFormUtils.js.map +1 -1
- package/dist/components/SynapseForm/SynapseFormWrapper.js.map +1 -1
- package/dist/components/SynapseForm/WarningDialog.js.map +1 -1
- package/dist/components/SynapseForm/types.js.map +1 -1
- package/dist/components/SynapseForm/useGetFormPropsFromSearchParams.js.map +1 -1
- package/dist/components/SynapseHomepageV2/FloatingBlobsBackground.js.map +1 -1
- package/dist/components/SynapseHomepageV2/HomepageStyles.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseByTheNumbers.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseByTheNumbersItem.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseFeatureItem.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseFeaturedDatasetItem.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseFeaturedDatasets.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseFeatures.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseHomepageChatSearch.js +18 -21
- package/dist/components/SynapseHomepageV2/SynapseHomepageChatSearch.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseHomepageNavBar.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseHomepageSearch.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseHomepageV2.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseHotdrops.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseHotdropsItem.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseInAction.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseInActionItem.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapsePartners.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapsePlan.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapsePlanContent.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapsePlans.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapsePlansPage.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseSearchChips.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseTrendingProjects.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseTrendingProjectsItem.js.map +1 -1
- package/dist/components/SynapseHomepageV2/WordPressNews.js.map +1 -1
- package/dist/components/SynapseHomepageV2/WordPressNewsItem.js.map +1 -1
- package/dist/components/SynapseNavDrawer/SynapseNavDrawer.js +78 -78
- package/dist/components/SynapseNavDrawer/SynapseNavDrawer.js.map +1 -1
- package/dist/components/SynapsePortalBanners/SynapsePortalBanners.js.map +1 -1
- package/dist/components/SynapseSearchPageResults/HasAccessChip.js.map +1 -1
- package/dist/components/SynapseSearchPageResults/HighlightedTypography.js.map +1 -1
- package/dist/components/SynapseSearchPageResults/SearchFacetPanel/SearchFacetPanel.js.map +1 -1
- package/dist/components/SynapseSearchPageResults/SearchFacetPanel/SearchFacetPanelUtils.js.map +1 -1
- package/dist/components/SynapseSearchPageResults/SearchPagePortalBanners.js.map +1 -1
- package/dist/components/SynapseSearchPageResults/SynapseSearchPage.js.map +1 -1
- package/dist/components/SynapseSearchPageResults/SynapseSearchPageResults.js.map +1 -1
- package/dist/components/SynapseSearchPageResults/SynapseSearchPageRouter.js.map +1 -1
- package/dist/components/SynapseSearchPageResults/SynapseSearchResultsCard.js.map +1 -1
- package/dist/components/SynapseSearchPageResults/chipStyles.js.map +1 -1
- package/dist/components/SynapseTable/CustomControls/CustomControlButton.js.map +1 -1
- package/dist/components/SynapseTable/CustomControls/CustomControlPanel.js.map +1 -1
- package/dist/components/SynapseTable/CustomControls/CustomControls.js.map +1 -1
- package/dist/components/SynapseTable/EntityIDColumnCopyIcon.js.map +1 -1
- package/dist/components/SynapseTable/ExpandCollapseButton.js.map +1 -1
- package/dist/components/SynapseTable/ExpandableTableDataCell.js.map +1 -1
- package/dist/components/SynapseTable/NoContentAvailable.js.map +1 -1
- package/dist/components/SynapseTable/NoContentPlaceholderType.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/RowSelection/RowSelectionUI.js.map +1 -1
- package/dist/components/SynapseTable/SearchResultsNotFound.js.map +1 -1
- package/dist/components/SynapseTable/SearchV2.js.map +1 -1
- package/dist/components/SynapseTable/SqlEditor.js.map +1 -1
- package/dist/components/SynapseTable/SynapseTable.js.map +1 -1
- package/dist/components/SynapseTable/SynapseTableCell/EntityIdList.js.map +1 -1
- package/dist/components/SynapseTable/SynapseTableCell/EvaluationIdRenderer.js.map +1 -1
- package/dist/components/SynapseTable/SynapseTableCell/JSON/ComplexJSONRenderer.js.map +1 -1
- package/dist/components/SynapseTable/SynapseTableCell/JSON/JSONArrayRenderer.js.map +1 -1
- package/dist/components/SynapseTable/SynapseTableCell/JSON/JSONObjectRenderer.js.map +1 -1
- package/dist/components/SynapseTable/SynapseTableCell/JSON/JSONPrimitiveRenderer.js.map +1 -1
- package/dist/components/SynapseTable/SynapseTableCell/JSON/JSONRendererUtils.js.map +1 -1
- package/dist/components/SynapseTable/SynapseTableCell/JSON/JSONTableCellRenderer.js.map +1 -1
- package/dist/components/SynapseTable/SynapseTableCell/SynapseTableCell.js.map +1 -1
- package/dist/components/SynapseTable/SynapseTableCell/UserIdList.js.map +1 -1
- package/dist/components/SynapseTable/SynapseTableConstants.js.map +1 -1
- package/dist/components/SynapseTable/SynapseTableContext.js.map +1 -1
- package/dist/components/SynapseTable/SynapseTableRenderers.js.map +1 -1
- package/dist/components/SynapseTable/SynapseTableUtils.js.map +1 -1
- package/dist/components/SynapseTable/TableIsEmpty.js.map +1 -1
- package/dist/components/SynapseTable/TablePagination.js.map +1 -1
- package/dist/components/SynapseTable/TopLevelControls/TopLevelControls.js.map +1 -1
- package/dist/components/SynapseTable/TopLevelControls/TopLevelControlsUtils.js.map +1 -1
- package/dist/components/SynapseTable/datasets/DatasetEditorCheckboxCell.js.map +1 -1
- package/dist/components/SynapseTable/datasets/DatasetEditorUtils.js.map +1 -1
- package/dist/components/SynapseTable/datasets/DatasetEditorVersionCell.js.map +1 -1
- package/dist/components/SynapseTable/datasets/DatasetItemsEditor.js +131 -133
- package/dist/components/SynapseTable/datasets/DatasetItemsEditor.js.map +1 -1
- package/dist/components/SynapseTable/datasets/EntityFetchErrorCell.js.map +1 -1
- package/dist/components/SynapseTable/export/ADDiscoveryPortalInstructions.js.map +1 -1
- package/dist/components/SynapseTable/export/ExportToAnalysisPlatformDialog.js +48 -51
- package/dist/components/SynapseTable/export/ExportToAnalysisPlatformDialog.js.map +1 -1
- package/dist/components/SynapseTable/export/ExternalAnalysisPlatformInstructions.js.map +1 -1
- package/dist/components/SynapseTable/export/ExternalAnalysisPlatformsConstants.js.map +1 -1
- package/dist/components/SynapseTable/export/ExternalPlatformActionsRequiredPrecheck.js.map +1 -1
- package/dist/components/SynapseTable/export/ExternalPlatformDisclaimer.js.map +1 -1
- package/dist/components/SynapseTable/table-top/ColumnSelection.js.map +1 -1
- package/dist/components/SynapseTable/table-top/DownloadLoginModal.js.map +1 -1
- package/dist/components/SynapseTable/table-top/DownloadOptions.js.map +1 -1
- package/dist/components/SynapseTable/usePrefetchTableData.js.map +1 -1
- package/dist/components/SynapseTable/useTableSort.js.map +1 -1
- package/dist/components/SystemUseNotification/SystemUseNotification.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/ColumnModelForm.js +12 -12
- package/dist/components/TableColumnSchemaEditor/ColumnModelForm.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/ColumnModelFormFields/DefaultValueField.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/ColumnModelFormFields/FieldWithRecommendedMinimum.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/ColumnModelFormFields/MultiValueField.js +4 -4
- package/dist/components/TableColumnSchemaEditor/ColumnModelFormFields/MultiValueField.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/ImportTableColumnsButton.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditor.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorTestUtils.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorUtils.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaForm.js +32 -32
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaForm.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaFormActions.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaFormReducer.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/Validators/BooleanSchema.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/Validators/ColumnModelValidator.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/Validators/DatetimeSchema.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/Validators/DefaultValueValidator.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/Validators/DoubleSchema.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/Validators/EntityIdSchema.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/Validators/EnumValuesValidator.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/Validators/IntegerSchema.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/Validators/OptionalStringSchema.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/Validators/getZodSchemaForColumnType.js.map +1 -1
- package/dist/components/TableFeedCards/TableFeedCards.js.map +1 -1
- package/dist/components/TanStackTable/ColumnHeader.js.map +1 -1
- package/dist/components/TanStackTable/ColumnHeaderEnumFilter.js.map +1 -1
- package/dist/components/TanStackTable/StyledTanStackTable.js.map +1 -1
- package/dist/components/TanStackTable/StyledVirtualTanStackTable.js.map +1 -1
- package/dist/components/TanStackTable/TableBody.js.map +1 -1
- package/dist/components/TanStackTable/TableCellRenderer.js.map +1 -1
- package/dist/components/TanStackTable/TanStackTableUtils.js.map +1 -1
- package/dist/components/TeamBadge.js.map +1 -1
- package/dist/components/TeamSubjectsSelector/TeamBadgeOrError.js.map +1 -1
- package/dist/components/TeamSubjectsSelector/TeamSubjectsSelector.js.map +1 -1
- package/dist/components/TemplateComponent.js.map +1 -1
- package/dist/components/TemporaryBanner/TemporaryBanner.js.map +1 -1
- package/dist/components/TermsAndConditions/TermsAndConditions.js.map +1 -1
- package/dist/components/TermsAndConditions/TermsAndConditionsItem.js.map +1 -1
- package/dist/components/TextField/TextField.js.map +1 -1
- package/dist/components/TextField/TextFieldWithWordLimit.js.map +1 -1
- package/dist/components/TextToComponentCollapse.js.map +1 -1
- package/dist/components/ThemeGallery/ThemeGallery.js.map +1 -1
- package/dist/components/TimelinePlot/TimelineLegendItem.js.map +1 -1
- package/dist/components/TimelinePlot/TimelinePhase.js.map +1 -1
- package/dist/components/TimelinePlot/TimelinePlot.js.map +1 -1
- package/dist/components/TimelinePlot/TimelinePlotSpeciesSelector.js.map +1 -1
- package/dist/components/TimelinePlot/phasesQueryResponseData.js.map +1 -1
- package/dist/components/ToastMessage/ToastMessage.js.map +1 -1
- package/dist/components/TotalQueryResults.js.map +1 -1
- package/dist/components/UserCard/Avatar.js.map +1 -1
- package/dist/components/UserCard/UserBadge.js.map +1 -1
- package/dist/components/UserCard/UserCard.js.map +1 -1
- package/dist/components/UserCard/UserCardContextMenu.js.map +1 -1
- package/dist/components/UserCard/UserCardLarge.js.map +1 -1
- package/dist/components/UserCard/UserCardMedium.js.map +1 -1
- package/dist/components/UserCardList/UserCardList.js.map +1 -1
- package/dist/components/UserCardList/UserCardListGroups/UserCardListGroups.Desktop.js.map +1 -1
- package/dist/components/UserCardList/UserCardListGroups/UserCardListGroups.Mobile.js.map +1 -1
- package/dist/components/UserCardList/UserCardListGroups/UserCardListGroups.js.map +1 -1
- package/dist/components/UserCardList/UserCardListRotate.js.map +1 -1
- package/dist/components/UserOrTeamBadge/UserOrTeamBadge.js.map +1 -1
- package/dist/components/UserOrTeamBadge/useUserOrTeam.js.map +1 -1
- package/dist/components/UserProfileLinks/UserChallenges.js.map +1 -1
- package/dist/components/UserProfileLinks/UserProfileLinks.js.map +1 -1
- package/dist/components/UserProfileLinks/UserProjects.js.map +1 -1
- package/dist/components/UserProfileLinks/UserTeams.js.map +1 -1
- package/dist/components/UserSearchBox/UserSearchBox.js.map +1 -1
- package/dist/components/Webhook/CreateWebhookModal.js.map +1 -1
- package/dist/components/Webhook/WebhookDashboard.js.map +1 -1
- package/dist/components/Webhook/WebhookVerificationDialog.js.map +1 -1
- package/dist/components/WikiMarkdownEditor/WikiMarkdownEditor.js.map +1 -1
- package/dist/components/WikiMarkdownEditorButton/WikiMarkdownEditorButton.js.map +1 -1
- package/dist/components/WizardChoiceButton/WizardChoiceButton.js.map +1 -1
- package/dist/components/WizardChoiceButton/WizardChoiceButtonDescription.js.map +1 -1
- package/dist/components/WizardChoiceButton/WizardChoiceButtonGroup.js.map +1 -1
- package/dist/components/WordPress/WordPressLatestPostChip.js.map +1 -1
- package/dist/components/WordPress/useWordPressCategories.js.map +1 -1
- package/dist/components/WordPress/useWordPressPosts.js.map +1 -1
- package/dist/components/dataaccess/AccessApprovalsTable.js.map +1 -1
- package/dist/components/dataaccess/AccessHistoryDashboard.js.map +1 -1
- package/dist/components/dataaccess/AccessRequestSubmissionTable.js.map +1 -1
- package/dist/components/dataaccess/AccessRequirementDashboard.js.map +1 -1
- package/dist/components/dataaccess/AccessRequirementSearchBox/AccessRequirementSearchBox.js.map +1 -1
- package/dist/components/dataaccess/AccessRequirementTable.js.map +1 -1
- package/dist/components/dataaccess/AccessSubmissionDashboard.js.map +1 -1
- package/dist/components/dataaccess/RejectDataAccessRequestModal.js.map +1 -1
- package/dist/components/dataaccess/RejectProfileValidationRequestModal.js.map +1 -1
- package/dist/components/dataaccess/ReviewerDashboard.js.map +1 -1
- package/dist/components/dataaccess/SubmissionPage/ApproveSubmissionConfirmationModal.js.map +1 -1
- package/dist/components/dataaccess/SubmissionPage/CancelDataAccessRequestConfirmationModal.js.map +1 -1
- package/dist/components/dataaccess/SubmissionPage/SubmissionPage.js.map +1 -1
- package/dist/components/dataaccess/UseAccessRequirementTable.js.map +1 -1
- package/dist/components/dataaccess/UserAccessRequestHistory/SubmissionSortStateTranslator.js.map +1 -1
- package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryPage.js.map +1 -1
- package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryPlace.js.map +1 -1
- package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryTable.js.map +1 -1
- package/dist/components/doi/CreateOrUpdateDoiModal.js.map +1 -1
- package/dist/components/doi/DoiFormSchemas.js.map +1 -1
- package/dist/components/doi/PrivateEntityDoiWarning.js.map +1 -1
- package/dist/components/download_list/AddToDownloadListConfirmationAlert/AddToDownloadListConfirmationAlert.js.map +1 -1
- package/dist/components/download_list/DownloadConfirmationUI.js +30 -32
- package/dist/components/download_list/DownloadConfirmationUI.js.map +1 -1
- package/dist/components/download_list/DownloadConfirmationUtils.js.map +1 -1
- package/dist/components/download_list/DownloadDetails.js.map +1 -1
- package/dist/components/download_list/index.js.map +1 -1
- package/dist/components/entity/metadata/AnnotationsTable.js.map +1 -1
- package/dist/components/entity/metadata/EntityAnnotationKey.js.map +1 -1
- package/dist/components/entity/metadata/EntityModal.js.map +1 -1
- package/dist/components/entity/metadata/MetadataTable.js.map +1 -1
- package/dist/components/entity/page/CreatedByModifiedBy.js.map +1 -1
- package/dist/components/entity/page/action_menu/EntityActionMenu.js.map +1 -1
- package/dist/components/entity/page/breadcrumbs/EntityPageBreadcrumbs.js.map +1 -1
- package/dist/components/entity/page/title_bar/CitationsDialog.js.map +1 -1
- package/dist/components/entity/page/title_bar/EntityPageTitleBar.js.map +1 -1
- package/dist/components/entity/page/title_bar/EntityTitleBarVersionInfo.js.map +1 -1
- package/dist/components/entity/page/title_bar/TitleBarProperties.js.map +1 -1
- package/dist/components/entity/page/title_bar/useDataCiteUsage.js.map +1 -1
- package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.js.map +1 -1
- package/dist/components/entity/page/title_bar/useGetMentions.js.map +1 -1
- package/dist/components/error/ErrorBanner.js.map +1 -1
- package/dist/components/error/ErrorChip.js.map +1 -1
- package/dist/components/error/ErrorPage.js +24 -24
- package/dist/components/error/ErrorPage.js.map +1 -1
- package/dist/components/error/RouteErrorBoundary.js.map +1 -1
- package/dist/components/error/SendMessageToEntityOwnerDialog.js.map +1 -1
- package/dist/components/error/SynapseObjectDOIInfo.js.map +1 -1
- package/dist/components/favorites/FavoriteButton.js.map +1 -1
- package/dist/components/favorites/FavoritesPage.js.map +1 -1
- package/dist/components/file/upload/BasicFileHandleUpload.js.map +1 -1
- package/dist/components/file/upload/MultiFileUploadProgress.js.map +1 -1
- package/dist/components/file/upload/UploadFilePanel.js.map +1 -1
- package/dist/components/form/RadioGroupWithOtherString.js.map +1 -1
- package/dist/components/home_page/ExpandableContent.js.map +1 -1
- package/dist/components/index.js +48 -47
- package/dist/components/layout/InfiniteTableLayout.js.map +1 -1
- package/dist/components/layout/SWCHeader.js.map +1 -1
- package/dist/components/layout/SWCPageLayout.js.map +1 -1
- package/dist/components/menu/ComplexMenu.js.map +1 -1
- package/dist/components/menu/DropdownMenu.js.map +1 -1
- package/dist/components/row_renderers/Dataset.js.map +1 -1
- package/dist/components/row_renderers/Funder.js.map +1 -1
- package/dist/components/row_renderers/ObservationCard.js.map +1 -1
- package/dist/components/row_renderers/utils/CardFooter.js.map +1 -1
- package/dist/components/row_renderers/utils/ChipContainer.js.map +1 -1
- package/dist/components/styled/HoverPopover.js.map +1 -1
- package/dist/components/styled/InlineBadge.js.map +1 -1
- package/dist/components/styled/InputSizedButton.js.map +1 -1
- package/dist/components/styled/LargeButton.js.map +1 -1
- package/dist/components/styled/LeftRightPanel.js.map +1 -1
- package/dist/components/styled/LightTooltip.js.map +1 -1
- package/dist/components/styled/StyledFormControl.js.map +1 -1
- package/dist/components/styled/StyledPopover.js.map +1 -1
- package/dist/components/styled/StyledTableContainer.js.map +1 -1
- package/dist/components/styled/WideButton.js.map +1 -1
- package/dist/components/table/CsvPreview/CreateTableFromCsvDialog.d.ts +18 -0
- package/dist/components/table/CsvPreview/CreateTableFromCsvDialog.d.ts.map +1 -0
- package/dist/components/table/CsvPreview/CreateTableFromCsvDialog.js +113 -0
- package/dist/components/table/CsvPreview/CreateTableFromCsvDialog.js.map +1 -0
- package/dist/components/table/CsvPreview/CsvPreview.js.map +1 -1
- package/dist/components/table/CsvPreview/CsvPreviewDialog.d.ts +5 -5
- package/dist/components/table/CsvPreview/CsvPreviewDialog.d.ts.map +1 -1
- package/dist/components/table/CsvPreview/CsvPreviewDialog.js +27 -76
- package/dist/components/table/CsvPreview/CsvPreviewDialog.js.map +1 -1
- package/dist/components/table/CsvPreview/CsvPreviewWithOptions.d.ts +19 -0
- package/dist/components/table/CsvPreview/CsvPreviewWithOptions.d.ts.map +1 -0
- package/dist/components/table/CsvPreview/CsvPreviewWithOptions.js +41 -0
- package/dist/components/table/CsvPreview/CsvPreviewWithOptions.js.map +1 -0
- package/dist/components/table/CsvPreview/CsvUploadPreviewContent.d.ts +12 -0
- package/dist/components/table/CsvPreview/CsvUploadPreviewContent.d.ts.map +1 -0
- package/dist/components/table/CsvPreview/CsvUploadPreviewContent.js +25 -0
- package/dist/components/table/CsvPreview/CsvUploadPreviewContent.js.map +1 -0
- package/dist/components/table/CsvPreview/UpdateTableWithCsvDialog.d.ts +18 -0
- package/dist/components/table/CsvPreview/UpdateTableWithCsvDialog.d.ts.map +1 -0
- package/dist/components/table/CsvPreview/UpdateTableWithCsvDialog.js +55 -0
- package/dist/components/table/CsvPreview/UpdateTableWithCsvDialog.js.map +1 -0
- package/dist/components/table/CsvPreview/useCreateTableFromCsv.d.ts +19 -0
- package/dist/components/table/CsvPreview/useCreateTableFromCsv.d.ts.map +1 -0
- package/dist/components/table/CsvPreview/useCreateTableFromCsv.js +35 -0
- package/dist/components/table/CsvPreview/useCreateTableFromCsv.js.map +1 -0
- package/dist/components/table/CsvPreview/useCsvUploadPreview.d.ts +22 -0
- package/dist/components/table/CsvPreview/useCsvUploadPreview.d.ts.map +1 -0
- package/dist/components/table/CsvPreview/useCsvUploadPreview.js +32 -0
- package/dist/components/table/CsvPreview/useCsvUploadPreview.js.map +1 -0
- package/dist/components/table/CsvPreview/useUploadCsvToExistingTable.d.ts +14 -0
- package/dist/components/table/CsvPreview/useUploadCsvToExistingTable.d.ts.map +1 -0
- package/dist/components/table/CsvPreview/useUploadCsvToExistingTable.js +23 -0
- package/dist/components/table/CsvPreview/useUploadCsvToExistingTable.js.map +1 -0
- package/dist/components/table/CsvTableDescriptorForm/CsvTableDescriptorForm.js.map +1 -1
- package/dist/components/trash/TrashCanList.js.map +1 -1
- package/dist/components/utils/Blocker.js.map +1 -1
- package/dist/components/utils/ConditionalWrapper.js.map +1 -1
- package/dist/components/utils/VisibilityObserver.js.map +1 -1
- package/dist/components/widgets/ElementWithTooltip.js.map +1 -1
- package/dist/components/widgets/EntityColumnImage.js.map +1 -1
- package/dist/components/widgets/FileHandleLink.js.map +1 -1
- package/dist/components/widgets/ImageFileHandle.js.map +1 -1
- package/dist/components/widgets/LoginAwareButton.js.map +1 -1
- package/dist/components/widgets/Range.js.map +1 -1
- package/dist/components/widgets/RangeSlider/RangeSlider.js.map +1 -1
- package/dist/components/widgets/SynapseImage.js.map +1 -1
- package/dist/components/widgets/SynapseVideo.js.map +1 -1
- package/dist/components/widgets/facet-nav/FacetNavPanel.js.map +1 -1
- package/dist/components/widgets/facet-nav/FacetPlotLegendList.js.map +1 -1
- package/dist/components/widgets/facet-nav/FacetPlotLegendTable.js.map +1 -1
- package/dist/components/widgets/facet-nav/FacetPlotLegendUtils.js.map +1 -1
- package/dist/components/widgets/facet-nav/PlotsContainer.js.map +1 -1
- package/dist/components/widgets/facet-nav/PlotsContainerSkeleton.js.map +1 -1
- package/dist/components/widgets/facet-nav/SelectionCriteriaPill.js.map +1 -1
- package/dist/components/widgets/facet-nav/SelectionCriteriaPills.js.map +1 -1
- package/dist/components/widgets/facet-nav/useFacetPlots.js.map +1 -1
- package/dist/components/widgets/query-filter/CombinedRangeFacetFilter.js.map +1 -1
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilter.js.map +1 -1
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterDropdown.js.map +1 -1
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterOption.js.map +1 -1
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterSkeleton.js.map +1 -1
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUI.js.map +1 -1
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUtils.js.map +1 -1
- package/dist/components/widgets/query-filter/FacetChip.js.map +1 -1
- package/dist/components/widgets/query-filter/FacetFilterControls.js.map +1 -1
- package/dist/components/widgets/query-filter/FacetFilterHeader.js.map +1 -1
- package/dist/components/widgets/query-filter/FacetFilterSkeleton.js.map +1 -1
- package/dist/components/widgets/query-filter/FacetFilterUtils.js.map +1 -1
- package/dist/components/widgets/query-filter/JsonColumnFacetFilters.js.map +1 -1
- package/dist/components/widgets/query-filter/RangeFacetFilter.js +3 -3
- package/dist/components/widgets/query-filter/RangeFacetFilter.js.map +1 -1
- package/dist/components/widgets/query-filter/RangeFacetFilterUI.js +41 -41
- package/dist/components/widgets/query-filter/RangeFacetFilterUI.js.map +1 -1
- package/dist/features/curator/GridPage/GridPage.js.map +1 -1
- package/dist/features/curator/GridPage/components/GridPageRouter.js.map +1 -1
- package/dist/features/curator/GridPage/components/GridPageTitle.js.map +1 -1
- package/dist/features/curator/GridPage/components/UpdateGridPageSearchParamsForm.js.map +1 -1
- package/dist/features/curator/dashboard/CuratorDashboard.js.map +1 -1
- package/dist/features/curator/dashboard/components/CurationTaskCard.js.map +1 -1
- package/dist/features/curator/dashboard/components/NextStepButton.js.map +1 -1
- package/dist/features/curator/dashboard/components/UserOrTeamChip.js.map +1 -1
- package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.d.ts +5 -0
- package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.d.ts.map +1 -1
- package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.js +227 -181
- package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.js.map +1 -1
- package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.d.ts.map +1 -1
- package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.js +3 -0
- package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.js.map +1 -1
- package/dist/features/entity/metadata-task/components/MetadataTasksPage.d.ts.map +1 -1
- package/dist/features/entity/metadata-task/components/MetadataTasksPage.js +37 -34
- package/dist/features/entity/metadata-task/components/MetadataTasksPage.js.map +1 -1
- package/dist/features/entity/metadata-task/components/MetadataTasksTableAssigneeCell.js.map +1 -1
- package/dist/features/entity/metadata-task/hooks/useGetOrCreateGridSessionForSource.js.map +1 -1
- package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask.js.map +1 -1
- package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask_legacy.js.map +1 -1
- package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.d.ts.map +1 -1
- package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.js +1 -1
- package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.js.map +1 -1
- package/dist/features/entity/metadata-task/hooks/useOpenCuratorButton.js.map +1 -1
- package/dist/features/entity/metadata-task/utils/constants.d.ts +11 -3
- package/dist/features/entity/metadata-task/utils/constants.d.ts.map +1 -1
- package/dist/features/entity/metadata-task/utils/constants.js +2 -2
- package/dist/features/entity/metadata-task/utils/constants.js.map +1 -1
- package/dist/features/entity/metadata-task/utils/getCreateGridRequestForMetadataTask.js.map +1 -1
- package/dist/features/entity/metadata-task/utils/getGridSourceIdForTask.js.map +1 -1
- package/dist/features/entity/metadata-task/utils/getLatestGridSessionForSource.js.map +1 -1
- package/dist/features/entity/metadata-task/utils/taskHasAssignee.js.map +1 -1
- package/dist/features/team/invitation/components/OpenInvitationsToUserCard.js.map +1 -1
- package/dist/index.js +54 -53
- package/dist/index.js.map +1 -1
- package/dist/mocks/MockAccessApprovals.js.map +1 -1
- package/dist/mocks/MockSynapseContext.js.map +1 -1
- package/dist/mocks/accessRequirement/mockAccessRequirementAcls.js.map +1 -1
- package/dist/mocks/accessRequirement/mockAccessRequirements.js.map +1 -1
- package/dist/mocks/applicationSessionContext/MockApplicationSessionContext.js.map +1 -1
- package/dist/mocks/challenge/mockChallenge.js.map +1 -1
- package/dist/mocks/chat/mockChat.js.map +1 -1
- package/dist/mocks/curation/mockCurationTask.js.map +1 -1
- package/dist/mocks/dataaccess/MockDataAccessRequest.js.map +1 -1
- package/dist/mocks/dataaccess/MockResearchProject.js.map +1 -1
- package/dist/mocks/dataaccess/MockSubmission.js.map +1 -1
- package/dist/mocks/dataaccess/mockAccessRequest.js.map +1 -1
- package/dist/mocks/discussion/mock_discussion.js.map +1 -1
- package/dist/mocks/doi/MockDoi.js.map +1 -1
- package/dist/mocks/entity/index.js.map +1 -1
- package/dist/mocks/entity/mockDataset.js.map +1 -1
- package/dist/mocks/entity/mockDatasetCollection.js.map +1 -1
- package/dist/mocks/entity/mockEntity.js.map +1 -1
- package/dist/mocks/entity/mockEvaluationQueue.js.map +1 -1
- package/dist/mocks/entity/mockFileEntity.js.map +1 -1
- package/dist/mocks/entity/mockFileEntityACLVariants.js.map +1 -1
- package/dist/mocks/entity/mockFileView.js.map +1 -1
- package/dist/mocks/entity/mockGeneratedEntityData.js.map +1 -1
- package/dist/mocks/entity/mockProject.js.map +1 -1
- package/dist/mocks/entity/mockProjectView.js.map +1 -1
- package/dist/mocks/entity/mockReleaseCardsTable.js.map +1 -1
- package/dist/mocks/entity/mockRootEntity.js.map +1 -1
- package/dist/mocks/entity/mockTableEntity.js.map +1 -1
- package/dist/mocks/faker/fakerUtils.js.map +1 -1
- package/dist/mocks/faker/generateDiscussion.js.map +1 -1
- package/dist/mocks/faker/generateEvaluation.js.map +1 -1
- package/dist/mocks/faker/generateFakeEntity.js.map +1 -1
- package/dist/mocks/faker/generateSubscription.js.map +1 -1
- package/dist/mocks/mockAnnotationColumns.js.map +1 -1
- package/dist/mocks/mockCertificationQuiz.js.map +1 -1
- package/dist/mocks/mockDataCatalogQuery.js.map +1 -1
- package/dist/mocks/mockFileViewQuery.js.map +1 -1
- package/dist/mocks/mockOAuthClientAcls.js.map +1 -1
- package/dist/mocks/mockQueryResponseData.js.map +1 -1
- package/dist/mocks/mockQueryResponseDataWithManyEnumFacets.js.map +1 -1
- package/dist/mocks/mockSchema.js.map +1 -1
- package/dist/mocks/mockSearchQueryData.js.map +1 -1
- package/dist/mocks/mockShortIo.js.map +1 -1
- package/dist/mocks/mockSourceAppConfigQuery.js.map +1 -1
- package/dist/mocks/mockSubscription.js.map +1 -1
- package/dist/mocks/mockWiki.js.map +1 -1
- package/dist/mocks/mockWikiPageKey.js.map +1 -1
- package/dist/mocks/mock_drug_tool_data.js.map +1 -1
- package/dist/mocks/mock_file_handle.js.map +1 -1
- package/dist/mocks/mock_file_statistics.js.map +1 -1
- package/dist/mocks/mock_has_access_data.js.map +1 -1
- package/dist/mocks/mock_upload_destination.js.map +1 -1
- package/dist/mocks/msw/handlers/accessRequirementAclHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/accessRequirementHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/asyncJobHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/authHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/challengeHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/changePasswordHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/chatHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/dataAccessRequestHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/dataciteHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/discussionHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/doiHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/entityHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/evaluationHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/featureFlagHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/fileHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/gridHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/messageHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/oauthClientAclHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/personalAccessTokenHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/projectStorageHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/realmHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/researchProjectHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/resetTwoFactorAuthHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/schemaHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/searchQueryHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/shortIoHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/subscriptionHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/tableQueryHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/tableQueryService.js.map +1 -1
- package/dist/mocks/msw/handlers/teamHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/termsOfServiceHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/userProfileHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/webhookHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/wikiHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers.js.map +1 -1
- package/dist/mocks/msw/server.d.ts +1 -1
- package/dist/mocks/msw/server.d.ts.map +1 -1
- package/dist/mocks/msw/server.js.map +1 -1
- package/dist/mocks/msw/util/BasicMockedCrudService.js.map +1 -1
- package/dist/mocks/oauth/MockClient.js.map +1 -1
- package/dist/mocks/personalAccessToken/mockPersonalAccessToken.js.map +1 -1
- package/dist/mocks/projectStorage/mockProjectStorageLimits.js.map +1 -1
- package/dist/mocks/provenance/mockActivity.js.map +1 -1
- package/dist/mocks/query/defaultFileViewColumnModels.js.map +1 -1
- package/dist/mocks/query/mockFeaturedDataTabsQueryData.js.map +1 -1
- package/dist/mocks/query/mockHomepageQueryResultData.js.map +1 -1
- package/dist/mocks/query/mockProjectViewQueryResults.js.map +1 -1
- package/dist/mocks/query/mockRejectionReasonsTableQueryResultBundle.js.map +1 -1
- package/dist/mocks/query/mockReleaseCardsTableQueryResultBundle.js.map +1 -1
- package/dist/mocks/query/mockUserCardTableQueryResultBundle.js.map +1 -1
- package/dist/mocks/query/mock_query_data.js.map +1 -1
- package/dist/mocks/query/syn16787123.js.map +1 -1
- package/dist/mocks/query/syn17328596.js.map +1 -1
- package/dist/mocks/query/syn51735464.js.map +1 -1
- package/dist/mocks/query/syn51735464GroupBySpecies.js.map +1 -1
- package/dist/mocks/realm/mockRealmPrincipal.js.map +1 -1
- package/dist/mocks/team/mockTeam.js.map +1 -1
- package/dist/mocks/termsOfService/mockTermsOfService.js.map +1 -1
- package/dist/mocks/user/mock_user_profile.js.map +1 -1
- package/dist/mocks/usergroup/mockUserGroup.js.map +1 -1
- package/dist/ror-client/index.js.map +1 -1
- package/dist/stories/ColorPaletteInspector.js.map +1 -1
- package/dist/stories/ToastDemo.js.map +1 -1
- package/dist/stories/stubs/Alert/MuiAlert.js.map +1 -1
- package/dist/stories/stubs/Button/MuiButton.js.map +1 -1
- package/dist/stories/stubs/Dialog/MuiDialog.js.map +1 -1
- package/dist/stories/stubs/TextField/MuiTextField.js.map +1 -1
- package/dist/stories/stubs/Tooltip/MuiTooltip.js.map +1 -1
- package/dist/synapse-client/HttpClient.js.map +1 -1
- package/dist/synapse-client/SynapseClient.d.ts.map +1 -1
- package/dist/synapse-client/SynapseClient.js +61 -69
- package/dist/synapse-client/SynapseClient.js.map +1 -1
- package/dist/synapse-client/SynapseClientUtils.js.map +1 -1
- package/dist/synapse-queries/InfiniteQueryUtils.js.map +1 -1
- package/dist/synapse-queries/KeyFactory.js.map +1 -1
- package/dist/synapse-queries/QueryFilterUtils.js.map +1 -1
- package/dist/synapse-queries/QueryMatching.test-utils.js.map +1 -1
- package/dist/synapse-queries/asynchronous/usePollAsynchronousJob.js.map +1 -1
- package/dist/synapse-queries/auth/useChangePassword.js.map +1 -1
- package/dist/synapse-queries/auth/useOIDC.js.map +1 -1
- package/dist/synapse-queries/auth/useResetPassword.js.map +1 -1
- package/dist/synapse-queries/auth/useTwoFactorEnrollment.js.map +1 -1
- package/dist/synapse-queries/challenge/useChallenge.js.map +1 -1
- package/dist/synapse-queries/chat/useChat.js.map +1 -1
- package/dist/synapse-queries/croissant/useGetCroissantUrl.js.map +1 -1
- package/dist/synapse-queries/curation/task/useCurationTask.d.ts +1 -0
- package/dist/synapse-queries/curation/task/useCurationTask.d.ts.map +1 -1
- package/dist/synapse-queries/curation/task/useCurationTask.js +12 -2
- package/dist/synapse-queries/curation/task/useCurationTask.js.map +1 -1
- package/dist/synapse-queries/dataaccess/useAccessApprovals.js.map +1 -1
- package/dist/synapse-queries/dataaccess/useAccessRequirements.js.map +1 -1
- package/dist/synapse-queries/dataaccess/useDataAccessSubmission.js.map +1 -1
- package/dist/synapse-queries/dataaccess/useGetApprovedSubmissionInfo.js.map +1 -1
- package/dist/synapse-queries/dataaccess/useRestrictionInformation.js.map +1 -1
- package/dist/synapse-queries/docker/useGetDockerTag.js.map +1 -1
- package/dist/synapse-queries/doi/useDOI.js.map +1 -1
- package/dist/synapse-queries/download/useDownloadList.js.map +1 -1
- package/dist/synapse-queries/entity/useActionsRequiredForTableQuery.js.map +1 -1
- package/dist/synapse-queries/entity/useEntity.js.map +1 -1
- package/dist/synapse-queries/entity/useEntityBoundSchema.js.map +1 -1
- package/dist/synapse-queries/entity/useEntityBundle.js.map +1 -1
- package/dist/synapse-queries/entity/useExportTableQueryToAnalysisPlatform.js.map +1 -1
- package/dist/synapse-queries/entity/useExportToADWorkbench.js.map +1 -1
- package/dist/synapse-queries/entity/useExportToCavatica.js.map +1 -1
- package/dist/synapse-queries/entity/useExportToPluto.js.map +1 -1
- package/dist/synapse-queries/entity/useExportToTerra.js.map +1 -1
- package/dist/synapse-queries/entity/useGetEntityActionsRequired.js.map +1 -1
- package/dist/synapse-queries/entity/useGetEntityChallenge.js.map +1 -1
- package/dist/synapse-queries/entity/useGetEntityChildren.js.map +1 -1
- package/dist/synapse-queries/entity/useGetEntityForum.js.map +1 -1
- package/dist/synapse-queries/entity/useGetEntityHeaders.js.map +1 -1
- package/dist/synapse-queries/entity/useGetQueryResultBundle.js.map +1 -1
- package/dist/synapse-queries/entity/useProjectStorage.js.map +1 -1
- package/dist/synapse-queries/entity/useSchema.js.map +1 -1
- package/dist/synapse-queries/evaluation/useEvaluation.js.map +1 -1
- package/dist/synapse-queries/featureflags/useGetFeatureFlag.js.map +1 -1
- package/dist/synapse-queries/file/UploadToS3.js.map +1 -1
- package/dist/synapse-queries/file/useDirectUploadToS3.js.map +1 -1
- package/dist/synapse-queries/file/useFileHandle.js.map +1 -1
- package/dist/synapse-queries/file/useFiles.js.map +1 -1
- package/dist/synapse-queries/file/useSynapseMultipartUpload.js.map +1 -1
- package/dist/synapse-queries/file/useUploadDestination.js.map +1 -1
- package/dist/synapse-queries/forum/useForum.js.map +1 -1
- package/dist/synapse-queries/forum/useReply.js.map +1 -1
- package/dist/synapse-queries/forum/useThread.js.map +1 -1
- package/dist/synapse-queries/github/useGithub.js.map +1 -1
- package/dist/synapse-queries/grid/useEstablishWebsocketConnection.js.map +1 -1
- package/dist/synapse-queries/grid/useExportGrid.js.map +1 -1
- package/dist/synapse-queries/grid/useGridPresignedUrl.js.map +1 -1
- package/dist/synapse-queries/grid/useGridSession.js.map +1 -1
- package/dist/synapse-queries/grid/useImportCsvIntoGrid.js.map +1 -1
- package/dist/synapse-queries/message/useMessage.js.map +1 -1
- package/dist/synapse-queries/oauth/useOAuthClient.js.map +1 -1
- package/dist/synapse-queries/portal/useListPortals.js.map +1 -1
- package/dist/synapse-queries/portal/usePortal.js.map +1 -1
- package/dist/synapse-queries/provenance/useGetActivityForEntity.js.map +1 -1
- package/dist/synapse-queries/realm/useRealmPrincipals.js.map +1 -1
- package/dist/synapse-queries/ror/index.js.map +1 -1
- package/dist/synapse-queries/search/useSearch.js.map +1 -1
- package/dist/synapse-queries/search/useSuggestion.js.map +1 -1
- package/dist/synapse-queries/subscription/useSubscription.js.map +1 -1
- package/dist/synapse-queries/table/useColumnModel.js.map +1 -1
- package/dist/synapse-queries/table/useDefiningSql.js.map +1 -1
- package/dist/synapse-queries/table/useDownloadTable.js.map +1 -1
- package/dist/synapse-queries/table/useGetCsvPreview.js.map +1 -1
- package/dist/synapse-queries/table/useTableUpdateTransaction.js.map +1 -1
- package/dist/synapse-queries/team/useTeam.js.map +1 -1
- package/dist/synapse-queries/team/useTeamList.js.map +1 -1
- package/dist/synapse-queries/team/useTeamMembers.js.map +1 -1
- package/dist/synapse-queries/termsOfService/useTermsOfService.js.map +1 -1
- package/dist/synapse-queries/trash/useTrashCan.js.map +1 -1
- package/dist/synapse-queries/user/useCertificationQuiz.js.map +1 -1
- package/dist/synapse-queries/user/useFavorites.js.map +1 -1
- package/dist/synapse-queries/user/useGetUserChallenges.js.map +1 -1
- package/dist/synapse-queries/user/useGetUserProjects.js.map +1 -1
- package/dist/synapse-queries/user/useGetUserTeams.js.map +1 -1
- package/dist/synapse-queries/user/usePersonalAccessToken.js.map +1 -1
- package/dist/synapse-queries/user/useProjects.js.map +1 -1
- package/dist/synapse-queries/user/useRevokeCertification.js.map +1 -1
- package/dist/synapse-queries/user/useUserBundle.js.map +1 -1
- package/dist/synapse-queries/user/useUserGroupHeader.js.map +1 -1
- package/dist/synapse-queries/verificationSubmission/useVerificationSubmission.js.map +1 -1
- package/dist/synapse-queries/webhook/useWebhook.js.map +1 -1
- package/dist/synapse-queries/wiki/useWiki.js.map +1 -1
- package/dist/testutils/ComponentToBePassedPropsCustomMatcher.js.map +1 -1
- package/dist/testutils/IsEditingStoreTestUtils.js +17 -0
- package/dist/testutils/IsEditingStoreTestUtils.js.map +1 -0
- package/dist/testutils/LocationTracker.js.map +1 -1
- package/dist/testutils/MarkdownSynapseUtils.js.map +1 -1
- package/dist/testutils/ReactQueryMockUtils.js.map +1 -1
- package/dist/testutils/TestingLibraryUtils.js +18 -16
- package/dist/testutils/TestingLibraryUtils.js.map +1 -1
- package/dist/testutils/muiDatePickerMock.js.map +1 -1
- package/dist/testutils/vitest.setup.js.map +1 -1
- package/dist/theme/DefaultTheme.js.map +1 -1
- package/dist/theme/ThemeProvider.js.map +1 -1
- package/dist/theme/mergeTheme.js.map +1 -1
- package/dist/theme/palette/Palettes.js.map +1 -1
- package/dist/theme/spreadSx.js.map +1 -1
- package/dist/theme/typography/Link.js.map +1 -1
- package/dist/theme/typography/Typography.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/utils/APIConstants.js.map +1 -1
- package/dist/utils/AppUtils/AppUtils.d.ts.map +1 -1
- package/dist/utils/AppUtils/AppUtils.js +11 -11
- package/dist/utils/AppUtils/AppUtils.js.map +1 -1
- package/dist/utils/AppUtils/session/ApplicationSessionContext.js.map +1 -1
- package/dist/utils/AppUtils/session/ApplicationSessionManager.js.map +1 -1
- package/dist/utils/AppUtils/session/AuthenticationGuard.js.map +1 -1
- package/dist/utils/AppUtils/session/SessionInitializedGuard.js.map +1 -1
- package/dist/utils/AppUtils/session/SynapseSessionManager.js.map +1 -1
- package/dist/utils/AppUtils/session/useSessionManager.js.map +1 -1
- package/dist/utils/ContentTypeUtils.js.map +1 -1
- package/dist/utils/OrientationBannerConstants.js.map +1 -1
- package/dist/utils/PermissionLevelToAccessType.js.map +1 -1
- package/dist/utils/SynapseConstants.js.map +1 -1
- package/dist/utils/analytics/sendAnalyticsEvent.js.map +1 -1
- package/dist/utils/analytics/sendSearchEvent.js.map +1 -1
- package/dist/utils/analytics/useGoogleAnalytics.js.map +1 -1
- package/dist/utils/appendFinalQueryParamKey.js.map +1 -1
- package/dist/utils/challenge/evaluation/EvaluationUtils.js.map +1 -1
- package/dist/utils/context/AridhiaContext.js.map +1 -1
- package/dist/utils/context/DocumentMetadataContext.js.map +1 -1
- package/dist/utils/context/FullContextProvider.js.map +1 -1
- package/dist/utils/context/GlobalIsEditingContext.js.map +1 -1
- package/dist/utils/context/SynapseContext.js.map +1 -1
- package/dist/utils/featureflag/FeatureFlags.d.ts +2 -1
- package/dist/utils/featureflag/FeatureFlags.d.ts.map +1 -1
- package/dist/utils/featureflag/FeatureFlags.js +1 -1
- package/dist/utils/featureflag/FeatureFlags.js.map +1 -1
- package/dist/utils/functions/AccessControlListUtils.js.map +1 -1
- package/dist/utils/functions/ArrayUtils.js.map +1 -1
- package/dist/utils/functions/DateFormatter.js.map +1 -1
- package/dist/utils/functions/DateTimeUtils.js.map +1 -1
- package/dist/utils/functions/EntityTypeUtils.js.map +1 -1
- package/dist/utils/functions/FileHandleUtils.js.map +1 -1
- package/dist/utils/functions/GridApiUtils.js.map +1 -1
- package/dist/utils/functions/IsEqualTreatUndefinedAsMissing.js.map +1 -1
- package/dist/utils/functions/IsExternalLink.js.map +1 -1
- package/dist/utils/functions/ObjectUtils.js.map +1 -1
- package/dist/utils/functions/QueryFilterUtils.js.map +1 -1
- package/dist/utils/functions/RealmUtils.js.map +1 -1
- package/dist/utils/functions/RegularExpressions.js.map +1 -1
- package/dist/utils/functions/ResolveLinkEntity.js.map +1 -1
- package/dist/utils/functions/SanitizeHtmlUtils.js.map +1 -1
- package/dist/utils/functions/SanitizeHtmlUtils.test-utils.js.map +1 -1
- package/dist/utils/functions/SqlFunctions.js.map +1 -1
- package/dist/utils/functions/StringUtils.js.map +1 -1
- package/dist/utils/functions/TableColumnSchemaUtils.js.map +1 -1
- package/dist/utils/functions/calculateFriendlyFileSize.js.map +1 -1
- package/dist/utils/functions/colorPalette.js.map +1 -1
- package/dist/utils/functions/deepLinkingUtils.js.map +1 -1
- package/dist/utils/functions/dispatchDownloadListChangeEvent.js.map +1 -1
- package/dist/utils/functions/generateCsrfToken.js.map +1 -1
- package/dist/utils/functions/getDataFromFromStorage.js.map +1 -1
- package/dist/utils/functions/getEndpoint.js +3 -3
- package/dist/utils/functions/getEndpoint.js.map +1 -1
- package/dist/utils/functions/getPrincipalDisplayName.js.map +1 -1
- package/dist/utils/functions/getSynapseEntityUrl.js.map +1 -1
- package/dist/utils/functions/getSynapseWebClientLink.js.map +1 -1
- package/dist/utils/functions/getUserData.js.map +1 -1
- package/dist/utils/functions/queryUtils.js.map +1 -1
- package/dist/utils/functions/testDownloadSpeed.js.map +1 -1
- package/dist/utils/functions/unCamelCase.js.map +1 -1
- package/dist/utils/hooks/useConfirmItems.js.map +1 -1
- package/dist/utils/hooks/useCookiePreferences.d.ts.map +1 -1
- package/dist/utils/hooks/useCookiePreferences.js +24 -23
- package/dist/utils/hooks/useCookiePreferences.js.map +1 -1
- package/dist/utils/hooks/useCreateShortUrl.js.map +1 -1
- package/dist/utils/hooks/useDebouncedEffect.js.map +1 -1
- package/dist/utils/hooks/useDetectSSOCode.js.map +1 -1
- package/dist/utils/hooks/useDirectDownloadHandler.js.map +1 -1
- package/dist/utils/hooks/useGetEntityMetadata.js.map +1 -1
- package/dist/utils/hooks/useGetGoalData.js +2 -4
- package/dist/utils/hooks/useGetGoalData.js.map +1 -1
- package/dist/utils/hooks/useGetInfoFromIds.js.map +1 -1
- package/dist/utils/hooks/useGetIsAllSelectedInfiniteList.js.map +1 -1
- package/dist/utils/hooks/useImageUrlUtils.js.map +1 -1
- package/dist/utils/hooks/useImmutableTableQuery/TableQueryReducerActions.js.map +1 -1
- package/dist/utils/hooks/useImmutableTableQuery/useImmutableTableQuery.js.map +1 -1
- package/dist/utils/hooks/useImmutableTableQuery/useTableQueryReducer.js.map +1 -1
- package/dist/utils/hooks/useIsBot.js.map +1 -1
- package/dist/utils/hooks/useJsonLdScriptElement.js.map +1 -1
- package/dist/utils/hooks/useListState.js.map +1 -1
- package/dist/utils/hooks/useLogin.js.map +1 -1
- package/dist/utils/hooks/useMediaPrintOnly.js.map +1 -1
- package/dist/utils/hooks/useMutuallyExclusiveState.js.map +1 -1
- package/dist/utils/hooks/useNativeSearchParams.js.map +1 -1
- package/dist/utils/hooks/useOneSageURL.js.map +1 -1
- package/dist/utils/hooks/useOverlay.js.map +1 -1
- package/dist/utils/hooks/usePreFetchResource.js.map +1 -1
- package/dist/utils/hooks/useQuerySearchParam.js.map +1 -1
- package/dist/utils/hooks/useScrollFadeTransition.js.map +1 -1
- package/dist/utils/hooks/useSet.js.map +1 -1
- package/dist/utils/hooks/useShowDesktop.js.map +1 -1
- package/dist/utils/hooks/useSourceAppConfigs.js.map +1 -1
- package/dist/utils/hooks/useTableImageUrl.js.map +1 -1
- package/dist/utils/hooks/useTraceUpdate.js.map +1 -1
- package/dist/utils/hooks/useTrackTransientListItems.js.map +1 -1
- package/dist/utils/hooks/useUploadFileEntity/getActiveUploadCount.js.map +1 -1
- package/dist/utils/hooks/useUploadFileEntity/getFileEntityIdWithSameName.js.map +1 -1
- package/dist/utils/hooks/useUploadFileEntity/useCreateFolderPath.js.map +1 -1
- package/dist/utils/hooks/useUploadFileEntity/useCreatePathsAndGetParentId.js.map +1 -1
- package/dist/utils/hooks/useUploadFileEntity/useLinkFileEntityToURL.js.map +1 -1
- package/dist/utils/hooks/useUploadFileEntity/usePrepareFileEntityUpload.js.map +1 -1
- package/dist/utils/hooks/useUploadFileEntity/useTrackFileUploads.js.map +1 -1
- package/dist/utils/hooks/useUploadFileEntity/useUploadFileEntities.js.map +1 -1
- package/dist/utils/hooks/useUploadFileEntity/useUploadFiles.js.map +1 -1
- package/dist/utils/hooks/useUploadFileEntity/willUploadsExceedStorageLimit.js.map +1 -1
- package/dist/utils/html/TargetEnum.js.map +1 -1
- package/dist/utils/jsonschema/SchemaAnnotationUtils.js.map +1 -1
- package/dist/utils/jsonschema/getEnumeratedValues.js.map +1 -1
- package/dist/utils/jsonschema/getOnlyNonNullOneOfOption.js.map +1 -1
- package/dist/utils/jsonschema/getRequiredAttributes.js.map +1 -1
- package/dist/utils/jsonschema/getSchemaForProperty.js.map +1 -1
- package/dist/utils/jsonschema/getSchemaPropertyInfo.js.map +1 -1
- package/dist/utils/jsonschema/getType.js.map +1 -1
- package/dist/utils/searchDefaults.js.map +1 -1
- package/dist/utils/slots/SlotUtils.js.map +1 -1
- package/dist/utils/types/IsType.js.map +1 -1
- package/package.json +67 -66
package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateOrUpdateCurationTaskDialog.js","names":[],"sources":["../../../../../src/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.tsx"],"sourcesContent":["import { DialogBase } from '@/components/DialogBase'\nimport EntityIdTextField from '@/components/EntityFinder/EntityIdTextField'\nimport { FinderScope } from '@/components/EntityFinder/tree/EntityTree'\nimport { VersionSelectionType } from '@/components/EntityFinder/VersionSelectionType'\nimport { TextField } from '@/components/TextField'\nimport UserOrTeamBadge from '@/components/UserOrTeamBadge/UserOrTeamBadge'\nimport UserSearchBox from '@/components/UserSearchBox/UserSearchBox'\nimport WizardChoiceButton from '@/components/WizardChoiceButton/WizardChoiceButton'\nimport WizardChoiceButtonGroup from '@/components/WizardChoiceButton/WizardChoiceButtonGroup'\nimport {\n useCreateCurationTask,\n useUpdateCurationTask,\n} from '@/synapse-queries/curation/task/useCurationTask'\nimport { EntityTypeGroup } from '@/utils/functions/EntityTypeUtils'\nimport { HelpTwoTone } from '@mui/icons-material'\nimport Close from '@mui/icons-material/Close'\nimport {\n Alert,\n Box,\n Button,\n FormControl,\n FormControlLabel,\n FormLabel,\n Grid,\n IconButton,\n InputLabel,\n Radio,\n RadioGroup,\n Stack,\n Tooltip,\n Typography,\n} from '@mui/material'\nimport {\n CurationTask,\n CurationTaskProperties,\n EntityType,\n FileBasedMetadataTaskPropertiesConcreteTypeEnum,\n RecordBasedMetadataTaskPropertiesConcreteTypeEnum,\n} from '@sage-bionetworks/synapse-client'\nimport { TYPE_FILTER } from '@sage-bionetworks/synapse-types'\nimport { useState } from 'react'\nimport {\n ASSIGNEE_TOOLTIP,\n AUTH_MODE_CHANGED_WARNING,\n AUTH_MODE_NONE_TOOLTIP,\n AUTH_MODE_SESSION_OWNER_TOOLTIP,\n AUTH_MODE_SOURCE_BENEFACTOR_TOOLTIP,\n COLLABORATORS_TOOLTIP,\n CREATE_CURATION_TASK_DIALOG_TITLE,\n EDIT_CURATION_TASK_DIALOG_TITLE,\n FILE_BASED_FILE_VIEW_INPUT_DESCRIPTION,\n FILE_BASED_TASK_DESCRIPTION,\n FILE_BASED_TASK_TITLE,\n FILE_BASED_UPLOAD_FOLDER_INPUT_DESCRIPTION,\n FILE_VIEW_FINDER_PROMPT,\n FILE_VIEW_FINDER_TITLE,\n GENERIC_SAVE_ERROR_MESSAGE,\n RECORD_BASED_RECORD_SET_INPUT_DESCRIPTION,\n RECORD_BASED_TASK_DESCRIPTION,\n RECORD_BASED_TASK_TITLE,\n RECORD_SET_FINDER_PROMPT,\n RECORD_SET_FINDER_TITLE,\n SELECT_TASK_TYPE_DESCRIPTION,\n TASK_INSTRUCTIONS_INPUT_DESCRIPTION,\n TASK_NAME_INPUT_DESCRIPTION,\n UNRECOGNIZED_TASK_TYPE_ERROR,\n UPLOAD_FOLDER_FINDER_PROMPT,\n UPLOAD_FOLDER_FINDER_TITLE,\n} from '../utils/constants'\n\nexport type CreateOrUpdateCurationTaskDialogProps = {\n open: boolean\n onCancel: () => void\n onSuccess: (task: CurationTask) => void\n projectId: string\n task?: CurationTask\n}\n\nconst FILE_BASED_CONCRETE_TYPE =\n FileBasedMetadataTaskPropertiesConcreteTypeEnum.org_sagebionetworks_repo_model_curation_metadata_FileBasedMetadataTaskProperties\nconst RECORD_BASED_CONCRETE_TYPE =\n RecordBasedMetadataTaskPropertiesConcreteTypeEnum.org_sagebionetworks_repo_model_curation_metadata_RecordBasedMetadataTaskProperties\n\n/** Null represents the \"Legacy\" / unset option for suggestedAuthorizationMode */\ntype AuthorizationModeOption = 'SESSION_OWNER' | 'SOURCE_BENEFACTOR' | 'NONE'\n\nfunction toAuthorizationModeOption(\n value: string | undefined,\n): AuthorizationModeOption {\n if (value === 'SESSION_OWNER' || value === 'SOURCE_BENEFACTOR') return value\n return 'NONE'\n}\n\ntype CreateOrUpdateCurationTaskDialogStep =\n | 'SELECT_TYPE'\n | 'TYPE_SPECIFIC_FIELDS'\n | 'COMMON_MUTABLE_FIELDS'\n\n/**\n * Dialog component that guides a user through creating a new CurationTask or editing an existing one.\n */\nexport default function CreateOrUpdateCurationTaskDialog(\n props: CreateOrUpdateCurationTaskDialogProps,\n) {\n const { open, onCancel, onSuccess, projectId, task } = props\n const isEditMode = task !== undefined\n\n // In create mode: track which step we're on (1 = type selection, 2 = type-specific fields, 3 = common mutable fields)\n const [step, setStep] = useState<CreateOrUpdateCurationTaskDialogStep>(() =>\n task ? 'COMMON_MUTABLE_FIELDS' : 'SELECT_TYPE',\n )\n\n // Derive initial concrete type from the existing task (null in create mode\n // until the user picks a type in step 1)\n const [selectedConcreteType, setSelectedConcreteType] = useState<\n CurationTaskProperties['concreteType'] | null\n >(() => {\n const ct = task?.taskProperties?.concreteType\n if (ct === FILE_BASED_CONCRETE_TYPE || ct === RECORD_BASED_CONCRETE_TYPE)\n return ct\n return null\n })\n\n // Common task fields — lazily initialized from the existing task\n const [dataType, setDataType] = useState(() => task?.dataType ?? '')\n const [instructions, setInstructions] = useState(\n () => task?.instructions ?? '',\n )\n const [assigneePrincipalId, setAssigneePrincipalId] = useState<\n string | undefined\n >(() => task?.assigneePrincipalId)\n\n const initialAuthMode = toAuthorizationModeOption(\n task?.taskProperties?.suggestedAuthorizationMode,\n )\n const [authorizationMode, setAuthorizationMode] =\n useState<AuthorizationModeOption>(initialAuthMode)\n // Track the original value to detect unsaved changes\n const [originalAuthorizationMode] =\n useState<AuthorizationModeOption>(initialAuthMode)\n\n // FileBasedMetadataTaskProperties fields\n const [uploadFolderId, setUploadFolderId] = useState(() => {\n const tp = task?.taskProperties\n return tp?.concreteType === FILE_BASED_CONCRETE_TYPE\n ? (tp.uploadFolderId ?? '')\n : ''\n })\n const [fileViewId, setFileViewId] = useState(() => {\n const tp = task?.taskProperties\n return tp?.concreteType === FILE_BASED_CONCRETE_TYPE\n ? (tp.fileViewId ?? '')\n : ''\n })\n\n // RecordBasedMetadataTaskProperties fields\n const [recordSetId, setRecordSetId] = useState(() => {\n const tp = task?.taskProperties\n return tp?.concreteType === RECORD_BASED_CONCRETE_TYPE\n ? (tp.recordSetId ?? '')\n : ''\n })\n\n // Shared taskProperties fields\n const [collaboratorPrincipalIds, setCollaboratorPrincipalIds] = useState<\n string[]\n >(() => {\n const ids = task?.taskProperties?.collaboratorPrincipalIds\n return ids ?? []\n })\n const [pendingCollaboratorId, setPendingCollaboratorId] = useState<\n string | null\n >(null)\n\n const {\n mutate: createTask,\n isPending: isCreatePending,\n error: createError,\n } = useCreateCurationTask({\n onSuccess: created => {\n onSuccess(created)\n },\n })\n\n const {\n mutate: updateTask,\n isPending: isUpdatePending,\n error: updateError,\n } = useUpdateCurationTask({\n onSuccess: updated => {\n onSuccess(updated)\n },\n })\n\n const isPending = isCreatePending || isUpdatePending\n const error = createError ?? updateError\n\n const isTaskPropertiesValid =\n (selectedConcreteType === FILE_BASED_CONCRETE_TYPE &&\n uploadFolderId &&\n fileViewId) ||\n (selectedConcreteType === RECORD_BASED_CONCRETE_TYPE && recordSetId)\n\n function buildTaskPayload(): CurationTask {\n const suggestedAuthorizationMode =\n authorizationMode === 'NONE' ? undefined : authorizationMode\n\n const concreteType = selectedConcreteType!\n let taskProperties: CurationTask['taskProperties']\n const collaborators =\n collaboratorPrincipalIds.length > 0 ? collaboratorPrincipalIds : undefined\n\n if (concreteType === FILE_BASED_CONCRETE_TYPE) {\n taskProperties = {\n concreteType: FILE_BASED_CONCRETE_TYPE,\n uploadFolderId: uploadFolderId || undefined,\n fileViewId: fileViewId || undefined,\n suggestedAuthorizationMode,\n collaboratorPrincipalIds: collaborators,\n }\n } else {\n taskProperties = {\n concreteType: RECORD_BASED_CONCRETE_TYPE,\n recordSetId: recordSetId || undefined,\n suggestedAuthorizationMode,\n collaboratorPrincipalIds: collaborators,\n }\n }\n\n return {\n // Spread the existing task to carry over server-managed fields (taskId, etc.)\n ...(isEditMode ? task : {}),\n projectId,\n dataType: dataType || undefined,\n instructions: instructions || undefined,\n assigneePrincipalId: assigneePrincipalId || undefined,\n taskProperties,\n }\n }\n\n function handleSave() {\n const payload = buildTaskPayload()\n if (isEditMode) {\n updateTask(payload)\n } else {\n createTask(payload)\n }\n }\n\n const authModeChanged =\n isEditMode && authorizationMode !== originalAuthorizationMode\n\n // ── Authorization Mode radio group (shared between columns) ────────────\n const authModeField = (\n <FormControl>\n <FormLabel>Authorization Mode</FormLabel>\n <RadioGroup\n value={authorizationMode}\n onChange={(_e, v) => setAuthorizationMode(v as AuthorizationModeOption)}\n >\n <FormControlLabel\n value=\"NONE\"\n control={<Radio />}\n label={\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 0.5 }}>\n <Typography variant=\"body1\">None (Legacy)</Typography>\n <Tooltip title={AUTH_MODE_NONE_TOOLTIP}>\n <HelpTwoTone sx={{ color: 'grey.700' }} />\n </Tooltip>\n </Box>\n }\n />\n <FormControlLabel\n value=\"SESSION_OWNER\"\n control={<Radio />}\n label={\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 0.5 }}>\n <Typography variant=\"body1\">Session Owner</Typography>\n <Tooltip title={AUTH_MODE_SESSION_OWNER_TOOLTIP}>\n <HelpTwoTone sx={{ color: 'grey.700' }} />\n </Tooltip>\n </Box>\n }\n />\n <FormControlLabel\n value=\"SOURCE_BENEFACTOR\"\n control={<Radio />}\n label={\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 0.5 }}>\n <Typography variant=\"body1\">Source Benefactor</Typography>\n <Tooltip title={AUTH_MODE_SOURCE_BENEFACTOR_TOOLTIP}>\n <HelpTwoTone sx={{ color: 'grey.700' }} />\n </Tooltip>\n </Box>\n }\n />\n </RadioGroup>\n </FormControl>\n )\n\n const assigneeField = (\n <Box>\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 0.5 }}>\n <InputLabel htmlFor=\"dlg-set-task-assignee\">Assignee</InputLabel>\n <Tooltip title={ASSIGNEE_TOOLTIP}>\n <div>\n <HelpTwoTone sx={{ color: 'grey.700' }} />\n </div>\n </Tooltip>\n </Box>\n <UserSearchBox\n inputId=\"dlg-set-task-assignee\"\n key={open.toString()}\n defaultValue={assigneePrincipalId}\n onChange={id => setAssigneePrincipalId(id ?? undefined)}\n typeFilter={TYPE_FILTER.ALL}\n />\n </Box>\n )\n\n // ── Form fields (used in both step 3 create and edit mode) ──────────────\n const commonFields = (\n <Stack gap={2}>\n <TextField\n label=\"Task Name\"\n fullWidth\n value={dataType}\n onChange={e => setDataType(e.target.value)}\n required\n description={TASK_NAME_INPUT_DESCRIPTION}\n />\n <TextField\n label=\"Instructions\"\n fullWidth\n multiline\n minRows={3}\n value={instructions}\n onChange={e => setInstructions(e.target.value)}\n description={TASK_INSTRUCTIONS_INPUT_DESCRIPTION}\n />\n {/* TODO: Display the below 'collaborators' once multiple owners are supported */}\n <Box display=\"none\">\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 0.5 }}>\n <InputLabel>Collaborators</InputLabel>\n <Tooltip title={COLLABORATORS_TOOLTIP}>\n <div>\n <HelpTwoTone sx={{ color: 'grey.700' }} />\n </div>\n </Tooltip>\n </Box>\n <Stack gap={1}>\n <Stack direction=\"row\" gap={1} alignItems=\"center\">\n <Box flex={1}>\n <UserSearchBox\n value={pendingCollaboratorId}\n onChange={id => setPendingCollaboratorId(id)}\n typeFilter={TYPE_FILTER.ALL}\n placeholder=\"Search for a user or team\"\n />\n </Box>\n <Button\n variant=\"outlined\"\n onClick={() => {\n if (\n pendingCollaboratorId &&\n !collaboratorPrincipalIds.includes(pendingCollaboratorId)\n ) {\n setCollaboratorPrincipalIds(prev => [\n ...prev,\n pendingCollaboratorId,\n ])\n }\n setPendingCollaboratorId(null)\n }}\n disabled={!pendingCollaboratorId}\n >\n Add\n </Button>\n </Stack>\n {collaboratorPrincipalIds.map(id => (\n <Stack\n key={id}\n direction=\"row\"\n alignItems=\"center\"\n justifyContent=\"space-between\"\n >\n <UserOrTeamBadge principalId={id} />\n <IconButton\n size=\"small\"\n onClick={() =>\n setCollaboratorPrincipalIds(prev =>\n prev.filter(x => x !== id),\n )\n }\n >\n <Close fontSize=\"small\" />\n </IconButton>\n </Stack>\n ))}\n </Stack>\n </Box>\n </Stack>\n )\n\n // ── TaskProperties fields ────────────────────────────────────────────────\n const fileBasedFields = (\n <Stack gap={2}>\n <EntityIdTextField\n label=\"Upload Folder ID\"\n value={uploadFolderId}\n description={FILE_BASED_UPLOAD_FOLDER_INPUT_DESCRIPTION}\n onChange={setUploadFolderId}\n disabled={isEditMode}\n entityFinderModalProps={{\n title: UPLOAD_FOLDER_FINDER_TITLE,\n promptCopy: UPLOAD_FOLDER_FINDER_PROMPT,\n confirmButtonCopy: 'Select',\n configuration: {\n initialScope: FinderScope.ALL_PROJECTS,\n initialContainer: 'root',\n selectMultiple: false,\n treeOnly: false,\n versionSelection: VersionSelectionType.DISALLOWED,\n selectableTypes: EntityTypeGroup.CONTAINER,\n },\n }}\n />\n <EntityIdTextField\n label=\"File View ID\"\n value={fileViewId}\n description={FILE_BASED_FILE_VIEW_INPUT_DESCRIPTION}\n onChange={setFileViewId}\n disabled={isEditMode}\n entityFinderModalProps={{\n title: FILE_VIEW_FINDER_TITLE,\n promptCopy: FILE_VIEW_FINDER_PROMPT,\n confirmButtonCopy: 'Select',\n configuration: {\n initialScope: FinderScope.ALL_PROJECTS,\n initialContainer: 'root',\n selectMultiple: false,\n treeOnly: false,\n versionSelection: VersionSelectionType.DISALLOWED,\n selectableTypes: [EntityType.entityview],\n },\n }}\n />\n </Stack>\n )\n\n const recordBasedFields = (\n <EntityIdTextField\n label=\"Record Set ID\"\n value={recordSetId}\n description={RECORD_BASED_RECORD_SET_INPUT_DESCRIPTION}\n onChange={setRecordSetId}\n disabled={isEditMode}\n entityFinderModalProps={{\n title: RECORD_SET_FINDER_TITLE,\n promptCopy: RECORD_SET_FINDER_PROMPT,\n confirmButtonCopy: 'Select',\n configuration: {\n initialScope: FinderScope.ALL_PROJECTS,\n initialContainer: 'root',\n selectMultiple: false,\n treeOnly: false,\n versionSelection: VersionSelectionType.DISALLOWED,\n selectableTypes: [EntityType.recordset],\n },\n }}\n />\n )\n\n // ── Step 1: Type selection ───────────────────────────────────────────────\n const step1Content = (\n <Stack gap={2}>\n <Typography variant=\"body1\">{SELECT_TASK_TYPE_DESCRIPTION}</Typography>\n <WizardChoiceButtonGroup>\n <WizardChoiceButton\n title={FILE_BASED_TASK_TITLE}\n description={FILE_BASED_TASK_DESCRIPTION}\n onClick={() => {\n setSelectedConcreteType(FILE_BASED_CONCRETE_TYPE)\n setStep('TYPE_SPECIFIC_FIELDS')\n }}\n />\n <WizardChoiceButton\n title={RECORD_BASED_TASK_TITLE}\n description={RECORD_BASED_TASK_DESCRIPTION}\n onClick={() => {\n setSelectedConcreteType(RECORD_BASED_CONCRETE_TYPE)\n setStep('TYPE_SPECIFIC_FIELDS')\n }}\n />\n </WizardChoiceButtonGroup>\n </Stack>\n )\n\n // ── Step 2: Type-specific fields ───────────────────────────────────────────────\n const step2Content = (\n <Stack gap={2}>\n {selectedConcreteType === FILE_BASED_CONCRETE_TYPE && fileBasedFields}\n {selectedConcreteType === RECORD_BASED_CONCRETE_TYPE && recordBasedFields}\n </Stack>\n )\n\n // ── Step 3 / edit form content ───────────────────────────────────────────\n const step3Content = (\n <Stack gap={3}>\n <Grid container spacing={3} alignItems=\"flex-start\">\n <Grid size={{ xs: 12, sm: 6 }}>\n <Stack gap={2}>{commonFields}</Stack>\n </Grid>\n <Grid size={{ xs: 12, sm: 6 }}>\n <Stack gap={3}>\n {assigneeField}\n {authModeField}\n </Stack>\n </Grid>\n </Grid>\n\n {isEditMode && selectedConcreteType === null && (\n <Alert severity=\"error\">{UNRECOGNIZED_TASK_TYPE_ERROR}</Alert>\n )}\n {authModeChanged && (\n <Alert severity=\"warning\">{AUTH_MODE_CHANGED_WARNING}</Alert>\n )}\n {error && (\n <Alert severity=\"error\">\n {error.reason ?? GENERIC_SAVE_ERROR_MESSAGE}\n </Alert>\n )}\n </Stack>\n )\n\n const title = isEditMode\n ? EDIT_CURATION_TASK_DIALOG_TITLE\n : CREATE_CURATION_TASK_DIALOG_TITLE\n\n let dialogContent = null\n switch (step) {\n case 'SELECT_TYPE':\n dialogContent = step1Content\n break\n case 'TYPE_SPECIFIC_FIELDS':\n dialogContent = step2Content\n break\n case 'COMMON_MUTABLE_FIELDS':\n dialogContent = step3Content\n break\n }\n\n let dialogActions = null\n switch (step) {\n case 'SELECT_TYPE':\n dialogActions = null\n break\n case 'TYPE_SPECIFIC_FIELDS': {\n dialogActions = (\n <>\n <Button\n variant=\"outlined\"\n onClick={() => setStep('SELECT_TYPE')}\n disabled={isPending}\n >\n Back\n </Button>\n <Button\n variant=\"contained\"\n onClick={() => setStep('COMMON_MUTABLE_FIELDS')}\n disabled={isPending || !isTaskPropertiesValid}\n >\n Next\n </Button>\n </>\n )\n break\n }\n case 'COMMON_MUTABLE_FIELDS': {\n dialogActions = (\n <>\n {!isEditMode && (\n <Button\n variant=\"outlined\"\n onClick={() => setStep('TYPE_SPECIFIC_FIELDS')}\n disabled={isPending}\n >\n Back\n </Button>\n )}\n <Button\n variant=\"contained\"\n onClick={handleSave}\n disabled={isPending || selectedConcreteType === null}\n >\n Save\n </Button>\n </>\n )\n break\n }\n }\n\n return (\n <DialogBase\n open={open}\n title={title}\n maxWidth=\"md\"\n fullWidth\n onCancel={onCancel}\n content={dialogContent}\n actions={\n <Stack direction=\"row\" gap={1} justifyContent=\"flex-end\" width=\"100%\">\n {dialogActions}\n </Stack>\n }\n />\n )\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CreateOrUpdateCurationTaskDialog.js","names":[],"sources":["../../../../../src/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.tsx"],"sourcesContent":["import { ConfirmationDialog } from '@/components/ConfirmationDialog'\nimport { DialogBase } from '@/components/DialogBase'\nimport EntityIdTextField from '@/components/EntityFinder/EntityIdTextField'\nimport { FinderScope } from '@/components/EntityFinder/tree/EntityTree'\nimport { VersionSelectionType } from '@/components/EntityFinder/VersionSelectionType'\nimport { TextField } from '@/components/TextField'\nimport { displayToast } from '@/components/ToastMessage'\nimport UserOrTeamBadge from '@/components/UserOrTeamBadge/UserOrTeamBadge'\nimport UserSearchBox from '@/components/UserSearchBox/UserSearchBox'\nimport WizardChoiceButton from '@/components/WizardChoiceButton/WizardChoiceButton'\nimport WizardChoiceButtonGroup from '@/components/WizardChoiceButton/WizardChoiceButtonGroup'\nimport {\n useCreateCurationTask,\n useDeleteCurationTask,\n useUpdateCurationTask,\n} from '@/synapse-queries/curation/task/useCurationTask'\nimport { EntityTypeGroup } from '@/utils/functions/EntityTypeUtils'\nimport { HelpTwoTone } from '@mui/icons-material'\nimport Close from '@mui/icons-material/Close'\nimport {\n Alert,\n Box,\n Button,\n FormControl,\n FormControlLabel,\n FormLabel,\n Grid,\n IconButton,\n InputLabel,\n Radio,\n RadioGroup,\n Stack,\n Tooltip,\n Typography,\n} from '@mui/material'\nimport {\n CurationTask,\n CurationTaskProperties,\n EntityType,\n FileBasedMetadataTaskPropertiesConcreteTypeEnum,\n RecordBasedMetadataTaskPropertiesConcreteTypeEnum,\n} from '@sage-bionetworks/synapse-client'\nimport { TYPE_FILTER } from '@sage-bionetworks/synapse-types'\nimport { useState } from 'react'\nimport {\n ASSIGNEE_TOOLTIP,\n AUTH_MODE_CHANGED_WARNING,\n AUTH_MODE_NONE_TITLE,\n AUTH_MODE_NONE_TOOLTIP,\n AUTH_MODE_SESSION_OWNER_TITLE,\n AUTH_MODE_SESSION_OWNER_TOOLTIP,\n AUTH_MODE_SOURCE_BENEFACTOR_TITLE,\n AUTH_MODE_SOURCE_BENEFACTOR_TOOLTIP,\n COLLABORATORS_TOOLTIP,\n CREATE_CURATION_TASK_DIALOG_TITLE,\n DELETE_CURATION_TASK_CONFIRMATION_PROMPT,\n DELETE_CURATION_TASK_DIALOG_TITLE,\n DELETE_CURATION_TASK_ERROR_TOAST_PREFIX,\n DELETE_CURATION_TASK_GRID_SESSION_WARNING,\n DELETE_CURATION_TASK_SUCCESS_TOAST,\n EDIT_CURATION_TASK_DIALOG_TITLE,\n FILE_BASED_FILE_VIEW_INPUT_DESCRIPTION,\n FILE_BASED_TASK_DESCRIPTION,\n FILE_BASED_TASK_TITLE,\n FILE_BASED_UPLOAD_FOLDER_INPUT_DESCRIPTION,\n FILE_VIEW_FINDER_PROMPT,\n FILE_VIEW_FINDER_TITLE,\n GENERIC_SAVE_ERROR_MESSAGE,\n RECORD_BASED_RECORD_SET_INPUT_DESCRIPTION,\n RECORD_BASED_TASK_DESCRIPTION,\n RECORD_BASED_TASK_TITLE,\n RECORD_SET_FINDER_PROMPT,\n RECORD_SET_FINDER_TITLE,\n SELECT_TASK_TYPE_DESCRIPTION,\n TASK_INSTRUCTIONS_INPUT_DESCRIPTION,\n TASK_NAME_INPUT_DESCRIPTION,\n UNRECOGNIZED_TASK_TYPE_ERROR,\n UPLOAD_FOLDER_FINDER_PROMPT,\n UPLOAD_FOLDER_FINDER_TITLE,\n} from '../utils/constants'\nimport noop from 'lodash-es/noop'\nimport { useGetEntityPermissions } from '@/synapse-queries/entity/useEntity'\n\nexport type CreateOrUpdateCurationTaskDialogProps = {\n open: boolean\n onCancel: () => void\n onSuccess: (task: CurationTask) => void\n /**\n * Called after the task has been deleted from the dialog (edit mode only).\n * Parent is responsible for closing the dialog and any related cleanup.\n */\n onDeleteSuccess?: () => void\n projectId: string\n task?: CurationTask\n}\n\nconst FILE_BASED_CONCRETE_TYPE =\n FileBasedMetadataTaskPropertiesConcreteTypeEnum.org_sagebionetworks_repo_model_curation_metadata_FileBasedMetadataTaskProperties\nconst RECORD_BASED_CONCRETE_TYPE =\n RecordBasedMetadataTaskPropertiesConcreteTypeEnum.org_sagebionetworks_repo_model_curation_metadata_RecordBasedMetadataTaskProperties\n\n/** Null represents the \"Legacy\" / unset option for suggestedAuthorizationMode */\ntype AuthorizationModeOption = 'SESSION_OWNER' | 'SOURCE_BENEFACTOR' | 'NONE'\n\nfunction toAuthorizationModeOption(\n value: string | undefined,\n): AuthorizationModeOption {\n if (value === 'SESSION_OWNER' || value === 'SOURCE_BENEFACTOR') return value\n return 'NONE'\n}\n\ntype CreateOrUpdateCurationTaskDialogStep =\n | 'SELECT_TYPE'\n | 'TYPE_SPECIFIC_FIELDS'\n | 'COMMON_MUTABLE_FIELDS'\n\n/**\n * Dialog component that guides a user through creating a new CurationTask or editing an existing one.\n */\nexport default function CreateOrUpdateCurationTaskDialog(\n props: CreateOrUpdateCurationTaskDialogProps,\n) {\n const {\n open,\n onCancel,\n onSuccess,\n onDeleteSuccess = noop,\n projectId,\n task,\n } = props\n const isEditMode = task !== undefined\n const { data: permissions } = useGetEntityPermissions(projectId)\n const canDelete =\n permissions?.canDelete &&\n isEditMode &&\n task?.taskId != null &&\n props.onDeleteSuccess != null\n\n const [showDeleteConfirmation, setShowDeleteConfirmation] = useState(false)\n\n // In create mode: track which step we're on (1 = type selection, 2 = type-specific fields, 3 = common mutable fields)\n const [step, setStep] = useState<CreateOrUpdateCurationTaskDialogStep>(() =>\n task ? 'COMMON_MUTABLE_FIELDS' : 'SELECT_TYPE',\n )\n\n // Derive initial concrete type from the existing task (null in create mode\n // until the user picks a type in step 1)\n const [selectedConcreteType, setSelectedConcreteType] = useState<\n CurationTaskProperties['concreteType'] | null\n >(() => {\n const ct = task?.taskProperties?.concreteType\n if (ct === FILE_BASED_CONCRETE_TYPE || ct === RECORD_BASED_CONCRETE_TYPE)\n return ct\n return null\n })\n\n // Common task fields — lazily initialized from the existing task\n const [dataType, setDataType] = useState(() => task?.dataType ?? '')\n const [instructions, setInstructions] = useState(\n () => task?.instructions ?? '',\n )\n const [assigneePrincipalId, setAssigneePrincipalId] = useState<\n string | undefined\n >(() => task?.assigneePrincipalId)\n\n const initialAuthMode = toAuthorizationModeOption(\n task?.taskProperties?.suggestedAuthorizationMode,\n )\n const [authorizationMode, setAuthorizationMode] =\n useState<AuthorizationModeOption>(initialAuthMode)\n // Track the original value to detect unsaved changes\n const [originalAuthorizationMode] =\n useState<AuthorizationModeOption>(initialAuthMode)\n\n // FileBasedMetadataTaskProperties fields\n const [uploadFolderId, setUploadFolderId] = useState(() => {\n const tp = task?.taskProperties\n return tp?.concreteType === FILE_BASED_CONCRETE_TYPE\n ? (tp.uploadFolderId ?? '')\n : ''\n })\n const [fileViewId, setFileViewId] = useState(() => {\n const tp = task?.taskProperties\n return tp?.concreteType === FILE_BASED_CONCRETE_TYPE\n ? (tp.fileViewId ?? '')\n : ''\n })\n\n // RecordBasedMetadataTaskProperties fields\n const [recordSetId, setRecordSetId] = useState(() => {\n const tp = task?.taskProperties\n return tp?.concreteType === RECORD_BASED_CONCRETE_TYPE\n ? (tp.recordSetId ?? '')\n : ''\n })\n\n // Shared taskProperties fields\n const [collaboratorPrincipalIds, setCollaboratorPrincipalIds] = useState<\n string[]\n >(() => {\n const ids = task?.taskProperties?.collaboratorPrincipalIds\n return ids ?? []\n })\n const [pendingCollaboratorId, setPendingCollaboratorId] = useState<\n string | null\n >(null)\n\n const {\n mutate: createTask,\n isPending: isCreatePending,\n error: createError,\n } = useCreateCurationTask({\n onSuccess: created => {\n onSuccess(created)\n },\n })\n\n const {\n mutate: updateTask,\n isPending: isUpdatePending,\n error: updateError,\n } = useUpdateCurationTask({\n onSuccess: updated => {\n onSuccess(updated)\n },\n })\n\n const { mutate: deleteTask, isPending: isDeletePending } =\n useDeleteCurationTask({\n onSuccess: () => {\n displayToast(DELETE_CURATION_TASK_SUCCESS_TOAST, 'success')\n setShowDeleteConfirmation(false)\n onDeleteSuccess()\n },\n onError: err => {\n displayToast(\n DELETE_CURATION_TASK_ERROR_TOAST_PREFIX + err.message,\n 'danger',\n )\n },\n })\n\n const isPending = isCreatePending || isUpdatePending || isDeletePending\n const error = createError ?? updateError\n\n const isTaskPropertiesValid =\n (selectedConcreteType === FILE_BASED_CONCRETE_TYPE &&\n uploadFolderId &&\n fileViewId) ||\n (selectedConcreteType === RECORD_BASED_CONCRETE_TYPE && recordSetId)\n\n function buildTaskPayload(): CurationTask {\n const suggestedAuthorizationMode =\n authorizationMode === 'NONE' ? undefined : authorizationMode\n\n const concreteType = selectedConcreteType!\n let taskProperties: CurationTask['taskProperties']\n const collaborators =\n collaboratorPrincipalIds.length > 0 ? collaboratorPrincipalIds : undefined\n\n if (concreteType === FILE_BASED_CONCRETE_TYPE) {\n taskProperties = {\n concreteType: FILE_BASED_CONCRETE_TYPE,\n uploadFolderId: uploadFolderId || undefined,\n fileViewId: fileViewId || undefined,\n suggestedAuthorizationMode,\n collaboratorPrincipalIds: collaborators,\n }\n } else {\n taskProperties = {\n concreteType: RECORD_BASED_CONCRETE_TYPE,\n recordSetId: recordSetId || undefined,\n suggestedAuthorizationMode,\n collaboratorPrincipalIds: collaborators,\n }\n }\n\n return {\n // Spread the existing task to carry over server-managed fields (taskId, etc.)\n ...(isEditMode ? task : {}),\n projectId,\n dataType: dataType || undefined,\n instructions: instructions || undefined,\n assigneePrincipalId: assigneePrincipalId || undefined,\n taskProperties,\n }\n }\n\n function handleSave() {\n const payload = buildTaskPayload()\n if (isEditMode) {\n updateTask(payload)\n } else {\n createTask(payload)\n }\n }\n\n const authModeChanged =\n isEditMode && authorizationMode !== originalAuthorizationMode\n\n // ── Authorization Mode radio group (shared between columns) ────────────\n const authModeField = (\n <FormControl>\n <FormLabel>Authorization Mode</FormLabel>\n <RadioGroup\n value={authorizationMode}\n onChange={(_e, v) => setAuthorizationMode(v as AuthorizationModeOption)}\n >\n <FormControlLabel\n value=\"NONE\"\n control={<Radio />}\n label={\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 0.5 }}>\n <Typography variant=\"body1\">{AUTH_MODE_NONE_TITLE}</Typography>\n <Tooltip title={AUTH_MODE_NONE_TOOLTIP}>\n <HelpTwoTone sx={{ color: 'grey.700' }} />\n </Tooltip>\n </Box>\n }\n />\n <FormControlLabel\n value=\"SESSION_OWNER\"\n control={<Radio />}\n label={\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 0.5 }}>\n <Typography variant=\"body1\">\n {AUTH_MODE_SESSION_OWNER_TITLE}\n </Typography>\n <Tooltip title={AUTH_MODE_SESSION_OWNER_TOOLTIP}>\n <HelpTwoTone sx={{ color: 'grey.700' }} />\n </Tooltip>\n </Box>\n }\n />\n <FormControlLabel\n value=\"SOURCE_BENEFACTOR\"\n control={<Radio />}\n label={\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 0.5 }}>\n <Typography variant=\"body1\">\n {AUTH_MODE_SOURCE_BENEFACTOR_TITLE}\n </Typography>\n <Tooltip title={AUTH_MODE_SOURCE_BENEFACTOR_TOOLTIP}>\n <HelpTwoTone sx={{ color: 'grey.700' }} />\n </Tooltip>\n </Box>\n }\n />\n </RadioGroup>\n </FormControl>\n )\n\n const assigneeField = (\n <Box>\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 0.5 }}>\n <InputLabel htmlFor=\"dlg-set-task-assignee\">Assignee</InputLabel>\n <Tooltip title={ASSIGNEE_TOOLTIP}>\n <div>\n <HelpTwoTone sx={{ color: 'grey.700' }} />\n </div>\n </Tooltip>\n </Box>\n <UserSearchBox\n inputId=\"dlg-set-task-assignee\"\n key={open.toString()}\n defaultValue={assigneePrincipalId}\n onChange={id => setAssigneePrincipalId(id ?? undefined)}\n typeFilter={TYPE_FILTER.ALL}\n />\n </Box>\n )\n\n // ── Form fields (used in both step 3 create and edit mode) ──────────────\n const commonFields = (\n <Stack gap={2}>\n <TextField\n label=\"Task Name\"\n fullWidth\n value={dataType}\n onChange={e => setDataType(e.target.value)}\n required\n description={TASK_NAME_INPUT_DESCRIPTION}\n />\n <TextField\n label=\"Instructions\"\n fullWidth\n multiline\n minRows={3}\n value={instructions}\n onChange={e => setInstructions(e.target.value)}\n description={TASK_INSTRUCTIONS_INPUT_DESCRIPTION}\n />\n {/* TODO: Display the below 'collaborators' once multiple owners are supported */}\n <Box display=\"none\">\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 0.5 }}>\n <InputLabel>Collaborators</InputLabel>\n <Tooltip title={COLLABORATORS_TOOLTIP}>\n <div>\n <HelpTwoTone sx={{ color: 'grey.700' }} />\n </div>\n </Tooltip>\n </Box>\n <Stack gap={1}>\n <Stack direction=\"row\" gap={1} alignItems=\"center\">\n <Box flex={1}>\n <UserSearchBox\n value={pendingCollaboratorId}\n onChange={id => setPendingCollaboratorId(id)}\n typeFilter={TYPE_FILTER.ALL}\n placeholder=\"Search for a user or team\"\n />\n </Box>\n <Button\n variant=\"outlined\"\n onClick={() => {\n if (\n pendingCollaboratorId &&\n !collaboratorPrincipalIds.includes(pendingCollaboratorId)\n ) {\n setCollaboratorPrincipalIds(prev => [\n ...prev,\n pendingCollaboratorId,\n ])\n }\n setPendingCollaboratorId(null)\n }}\n disabled={!pendingCollaboratorId}\n >\n Add\n </Button>\n </Stack>\n {collaboratorPrincipalIds.map(id => (\n <Stack\n key={id}\n direction=\"row\"\n alignItems=\"center\"\n justifyContent=\"space-between\"\n >\n <UserOrTeamBadge principalId={id} />\n <IconButton\n size=\"small\"\n onClick={() =>\n setCollaboratorPrincipalIds(prev =>\n prev.filter(x => x !== id),\n )\n }\n >\n <Close fontSize=\"small\" />\n </IconButton>\n </Stack>\n ))}\n </Stack>\n </Box>\n </Stack>\n )\n\n // ── TaskProperties fields ────────────────────────────────────────────────\n const fileBasedFields = (\n <Stack gap={2}>\n <EntityIdTextField\n label=\"Upload Folder ID\"\n value={uploadFolderId}\n description={FILE_BASED_UPLOAD_FOLDER_INPUT_DESCRIPTION}\n onChange={setUploadFolderId}\n disabled={isEditMode}\n entityFinderModalProps={{\n title: UPLOAD_FOLDER_FINDER_TITLE,\n promptCopy: UPLOAD_FOLDER_FINDER_PROMPT,\n confirmButtonCopy: 'Select',\n configuration: {\n initialScope: FinderScope.ALL_PROJECTS,\n initialContainer: 'root',\n selectMultiple: false,\n treeOnly: false,\n versionSelection: VersionSelectionType.DISALLOWED,\n selectableTypes: EntityTypeGroup.CONTAINER,\n },\n }}\n />\n <EntityIdTextField\n label=\"File View ID\"\n value={fileViewId}\n description={FILE_BASED_FILE_VIEW_INPUT_DESCRIPTION}\n onChange={setFileViewId}\n disabled={isEditMode}\n entityFinderModalProps={{\n title: FILE_VIEW_FINDER_TITLE,\n promptCopy: FILE_VIEW_FINDER_PROMPT,\n confirmButtonCopy: 'Select',\n configuration: {\n initialScope: FinderScope.ALL_PROJECTS,\n initialContainer: 'root',\n selectMultiple: false,\n treeOnly: false,\n versionSelection: VersionSelectionType.DISALLOWED,\n selectableTypes: [EntityType.entityview],\n },\n }}\n />\n </Stack>\n )\n\n const recordBasedFields = (\n <EntityIdTextField\n label=\"Record Set ID\"\n value={recordSetId}\n description={RECORD_BASED_RECORD_SET_INPUT_DESCRIPTION}\n onChange={setRecordSetId}\n disabled={isEditMode}\n entityFinderModalProps={{\n title: RECORD_SET_FINDER_TITLE,\n promptCopy: RECORD_SET_FINDER_PROMPT,\n confirmButtonCopy: 'Select',\n configuration: {\n initialScope: FinderScope.ALL_PROJECTS,\n initialContainer: 'root',\n selectMultiple: false,\n treeOnly: false,\n versionSelection: VersionSelectionType.DISALLOWED,\n selectableTypes: [EntityType.recordset],\n },\n }}\n />\n )\n\n // ── Step 1: Type selection ───────────────────────────────────────────────\n const step1Content = (\n <Stack gap={2}>\n <Typography variant=\"body1\">{SELECT_TASK_TYPE_DESCRIPTION}</Typography>\n <WizardChoiceButtonGroup>\n <WizardChoiceButton\n title={FILE_BASED_TASK_TITLE}\n description={FILE_BASED_TASK_DESCRIPTION}\n onClick={() => {\n setSelectedConcreteType(FILE_BASED_CONCRETE_TYPE)\n setStep('TYPE_SPECIFIC_FIELDS')\n }}\n />\n <WizardChoiceButton\n title={RECORD_BASED_TASK_TITLE}\n description={RECORD_BASED_TASK_DESCRIPTION}\n onClick={() => {\n setSelectedConcreteType(RECORD_BASED_CONCRETE_TYPE)\n setStep('TYPE_SPECIFIC_FIELDS')\n }}\n />\n </WizardChoiceButtonGroup>\n </Stack>\n )\n\n // ── Step 2: Type-specific fields ───────────────────────────────────────────────\n const step2Content = (\n <Stack gap={2}>\n {selectedConcreteType === FILE_BASED_CONCRETE_TYPE && fileBasedFields}\n {selectedConcreteType === RECORD_BASED_CONCRETE_TYPE && recordBasedFields}\n </Stack>\n )\n\n // ── Step 3 / edit form content ───────────────────────────────────────────\n const step3Content = (\n <Stack gap={3}>\n <Grid container spacing={3} alignItems=\"flex-start\">\n <Grid size={{ xs: 12, sm: 6 }}>\n <Stack gap={2}>{commonFields}</Stack>\n </Grid>\n <Grid size={{ xs: 12, sm: 6 }}>\n <Stack gap={3}>\n {assigneeField}\n {authModeField}\n </Stack>\n </Grid>\n </Grid>\n\n {isEditMode && selectedConcreteType === null && (\n <Alert severity=\"error\">{UNRECOGNIZED_TASK_TYPE_ERROR}</Alert>\n )}\n {authModeChanged && (\n <Alert severity=\"warning\">{AUTH_MODE_CHANGED_WARNING}</Alert>\n )}\n {error && (\n <Alert severity=\"error\">\n {error.reason ?? GENERIC_SAVE_ERROR_MESSAGE}\n </Alert>\n )}\n </Stack>\n )\n\n const title = isEditMode\n ? EDIT_CURATION_TASK_DIALOG_TITLE\n : CREATE_CURATION_TASK_DIALOG_TITLE\n\n let dialogContent = null\n switch (step) {\n case 'SELECT_TYPE':\n dialogContent = step1Content\n break\n case 'TYPE_SPECIFIC_FIELDS':\n dialogContent = step2Content\n break\n case 'COMMON_MUTABLE_FIELDS':\n dialogContent = step3Content\n break\n }\n\n let dialogActions = null\n switch (step) {\n case 'SELECT_TYPE':\n dialogActions = null\n break\n case 'TYPE_SPECIFIC_FIELDS': {\n dialogActions = (\n <>\n <Button\n variant=\"outlined\"\n onClick={() => setStep('SELECT_TYPE')}\n disabled={isPending}\n >\n Back\n </Button>\n <Button\n variant=\"contained\"\n onClick={() => setStep('COMMON_MUTABLE_FIELDS')}\n disabled={isPending || !isTaskPropertiesValid}\n >\n Next\n </Button>\n </>\n )\n break\n }\n case 'COMMON_MUTABLE_FIELDS': {\n dialogActions = (\n <>\n {!isEditMode && (\n <Button\n variant=\"outlined\"\n onClick={() => setStep('TYPE_SPECIFIC_FIELDS')}\n disabled={isPending}\n >\n Back\n </Button>\n )}\n <Button\n variant=\"contained\"\n onClick={handleSave}\n disabled={isPending || selectedConcreteType === null}\n >\n Save\n </Button>\n </>\n )\n break\n }\n }\n\n return (\n <>\n <DialogBase\n open={open}\n title={title}\n maxWidth=\"md\"\n fullWidth\n onCancel={onCancel}\n content={dialogContent}\n actions={\n <Stack\n direction=\"row\"\n gap={1}\n justifyContent=\"space-between\"\n alignItems=\"center\"\n width=\"100%\"\n >\n <Box>\n {canDelete && (\n <Button\n variant=\"outlined\"\n color=\"error\"\n onClick={() => setShowDeleteConfirmation(true)}\n disabled={isPending}\n >\n Delete\n </Button>\n )}\n </Box>\n <Stack direction=\"row\" gap={1}>\n {dialogActions}\n </Stack>\n </Stack>\n }\n />\n <ConfirmationDialog\n title={DELETE_CURATION_TASK_DIALOG_TITLE}\n open={showDeleteConfirmation}\n content={\n <Stack gap={2}>\n <Typography variant=\"body1\">\n {DELETE_CURATION_TASK_CONFIRMATION_PROMPT}\n </Typography>\n <Alert severity=\"warning\">\n {DELETE_CURATION_TASK_GRID_SESSION_WARNING}\n </Alert>\n </Stack>\n }\n confirmButtonProps={{\n children: 'Delete',\n color: 'error',\n loading: isDeletePending,\n }}\n onConfirm={() => {\n if (task?.taskId != null) deleteTask(task.taskId)\n }}\n onCancel={() => setShowDeleteConfirmation(false)}\n />\n </>\n )\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MetadataTaskTableActionCell.d.ts","sourceRoot":"","sources":["../../../../../src/features/entity/metadata-task/components/MetadataTaskTableActionCell.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAA;AAU7D,eAAO,MAAM,qCAAqC,uBAAuB,CAAA;AAEzE;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,2BAA2B,CAAC,KAAK,EAAE;IACzD,UAAU,EAAE,UAAU,CAAA;IACtB,OAAO,EAAE,OAAO,CAAA;CACjB,
|
|
1
|
+
{"version":3,"file":"MetadataTaskTableActionCell.d.ts","sourceRoot":"","sources":["../../../../../src/features/entity/metadata-task/components/MetadataTaskTableActionCell.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAA;AAU7D,eAAO,MAAM,qCAAqC,uBAAuB,CAAA;AAEzE;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,2BAA2B,CAAC,KAAK,EAAE;IACzD,UAAU,EAAE,UAAU,CAAA;IACtB,OAAO,EAAE,OAAO,CAAA;CACjB,2CAoEA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MetadataTaskTableActionCell.js","names":[],"sources":["../../../../../src/features/entity/metadata-task/components/MetadataTaskTableActionCell.tsx"],"sourcesContent":["import { displayToast } from '@/components/ToastMessage'\nimport { StickyNote2Outlined } from '@mui/icons-material'\nimport { Box, Button, Tooltip } from '@mui/material'\nimport { TaskBundle } from '@sage-bionetworks/synapse-client'\nimport { useState } from 'react'\nimport useOpenCuratorFromTaskButton from '../hooks/useOpenCuratorButton'\nimport {\n OPEN_CURATOR_NO_PERMISSION_ON_SOURCE_ERROR_MESSAGE,\n OPEN_CURATOR_TOOLTIP_TITLE,\n} from '../utils/constants'\nimport CreateOrUpdateCurationTaskDialog from './CreateOrUpdateCurationTaskDialog'\nimport { useGlobalIsEditingContext } from '@/utils/context/GlobalIsEditingContext'\n\nexport const NO_TASK_ASSIGNEE_WARNING_DIALOG_TITLE = 'Task is Unassigned'\n\n/**\n * Handles rendering the 'Actions' cell in the Metadata Task table, which provides buttons for the user\n * to accomplish the actions they can take on a Metadata Task, such as opening a data grid for the entity referenced\n * by the task.\n */\nexport default function MetadataTaskTableActionCell(props: {\n taskBundle: TaskBundle\n canEdit: boolean\n}) {\n const { canEdit, taskBundle } = props\n\n const [isDialogOpen, setIsDialogOpen] = useState(false)\n const { setIsEditing } = useGlobalIsEditingContext()\n\n const { hasPermission, isLoading, isPending, onClick } =\n useOpenCuratorFromTaskButton(taskBundle)\n\n const disableButton = isPending || isLoading || !hasPermission\n let tooltipTitle: string | undefined = undefined\n if (hasPermission === true) {\n tooltipTitle = OPEN_CURATOR_TOOLTIP_TITLE\n } else if (hasPermission === false) {\n tooltipTitle = OPEN_CURATOR_NO_PERMISSION_ON_SOURCE_ERROR_MESSAGE\n }\n\n return (\n <Box sx={{ display: 'flex', flexDirection: 'row', gap: 1 }}>\n {canEdit && (\n <>\n <CreateOrUpdateCurationTaskDialog\n key={String(isDialogOpen)}\n projectId={taskBundle.task!.projectId!}\n open={isDialogOpen}\n task={taskBundle.task}\n onSuccess={() => {\n displayToast('Curation task updated successfully', 'success')\n setIsDialogOpen(false)\n setIsEditing(false)\n }}\n onCancel={() => {\n setIsDialogOpen(false)\n setIsEditing(false)\n }}\n />\n <Button\n variant=\"outlined\"\n onClick={() => {\n setIsDialogOpen(true)\n setIsEditing(true)\n }}\n size={'small'}\n >\n Edit\n </Button>\n </>\n )}\n <Tooltip title={tooltipTitle}>\n <span>\n <Button\n variant=\"contained\"\n size={'small'}\n startIcon={<StickyNote2Outlined />}\n loading={isPending}\n disabled={disableButton}\n onClick={onClick}\n >\n Open Curator\n </Button>\n </span>\n </Tooltip>\n </Box>\n )\n}\n"],"mappings":";;;;;;;;;;;AAaA,IAAa,IAAwC;AAOrD,SAAwB,EAA4B,GAGjD;CACD,IAAM,EAAE,YAAS,kBAAe,GAE1B,CAAC,GAAc,KAAmB,EAAS,
|
|
1
|
+
{"version":3,"file":"MetadataTaskTableActionCell.js","names":[],"sources":["../../../../../src/features/entity/metadata-task/components/MetadataTaskTableActionCell.tsx"],"sourcesContent":["import { displayToast } from '@/components/ToastMessage'\nimport { StickyNote2Outlined } from '@mui/icons-material'\nimport { Box, Button, Tooltip } from '@mui/material'\nimport { TaskBundle } from '@sage-bionetworks/synapse-client'\nimport { useState } from 'react'\nimport useOpenCuratorFromTaskButton from '../hooks/useOpenCuratorButton'\nimport {\n OPEN_CURATOR_NO_PERMISSION_ON_SOURCE_ERROR_MESSAGE,\n OPEN_CURATOR_TOOLTIP_TITLE,\n} from '../utils/constants'\nimport CreateOrUpdateCurationTaskDialog from './CreateOrUpdateCurationTaskDialog'\nimport { useGlobalIsEditingContext } from '@/utils/context/GlobalIsEditingContext'\n\nexport const NO_TASK_ASSIGNEE_WARNING_DIALOG_TITLE = 'Task is Unassigned'\n\n/**\n * Handles rendering the 'Actions' cell in the Metadata Task table, which provides buttons for the user\n * to accomplish the actions they can take on a Metadata Task, such as opening a data grid for the entity referenced\n * by the task.\n */\nexport default function MetadataTaskTableActionCell(props: {\n taskBundle: TaskBundle\n canEdit: boolean\n}) {\n const { canEdit, taskBundle } = props\n\n const [isDialogOpen, setIsDialogOpen] = useState(false)\n const { setIsEditing } = useGlobalIsEditingContext()\n\n const { hasPermission, isLoading, isPending, onClick } =\n useOpenCuratorFromTaskButton(taskBundle)\n\n const disableButton = isPending || isLoading || !hasPermission\n let tooltipTitle: string | undefined = undefined\n if (hasPermission === true) {\n tooltipTitle = OPEN_CURATOR_TOOLTIP_TITLE\n } else if (hasPermission === false) {\n tooltipTitle = OPEN_CURATOR_NO_PERMISSION_ON_SOURCE_ERROR_MESSAGE\n }\n\n return (\n <Box sx={{ display: 'flex', flexDirection: 'row', gap: 1 }}>\n {canEdit && (\n <>\n <CreateOrUpdateCurationTaskDialog\n key={String(isDialogOpen)}\n projectId={taskBundle.task!.projectId!}\n open={isDialogOpen}\n task={taskBundle.task}\n onSuccess={() => {\n displayToast('Curation task updated successfully', 'success')\n setIsDialogOpen(false)\n setIsEditing(false)\n }}\n onCancel={() => {\n setIsDialogOpen(false)\n setIsEditing(false)\n }}\n onDeleteSuccess={() => {\n setIsDialogOpen(false)\n setIsEditing(false)\n }}\n />\n <Button\n variant=\"outlined\"\n onClick={() => {\n setIsDialogOpen(true)\n setIsEditing(true)\n }}\n size={'small'}\n >\n Edit\n </Button>\n </>\n )}\n <Tooltip title={tooltipTitle}>\n <span>\n <Button\n variant=\"contained\"\n size={'small'}\n startIcon={<StickyNote2Outlined />}\n loading={isPending}\n disabled={disableButton}\n onClick={onClick}\n >\n Open Curator\n </Button>\n </span>\n </Tooltip>\n </Box>\n )\n}\n"],"mappings":";;;;;;;;;;;AAaA,IAAa,IAAwC;AAOrD,SAAwB,EAA4B,GAGjD;CACD,IAAM,EAAE,YAAS,kBAAe,GAE1B,CAAC,GAAc,KAAmB,EAAS,EAAK,GAChD,EAAE,oBAAiB,EAA0B,GAE7C,EAAE,kBAAe,cAAW,cAAW,eAC3C,EAA6B,CAAU,GAEnC,IAAgB,KAAa,KAAa,CAAC,GAC7C;CAOJ,OANI,MAAkB,KACpB,IAAe,IACN,MAAkB,OAC3B,IAAe,IAIf,kBAAC,GAAD;EAAK,IAAI;GAAE,SAAS;GAAQ,eAAe;GAAO,KAAK;EAAE;YAAzD,CACG,KACC,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,GAAD;GAEE,WAAW,EAAW,KAAM;GAC5B,MAAM;GACN,MAAM,EAAW;GACjB,iBAAiB;IAGf,AAFA,EAAa,sCAAsC,SAAS,GAC5D,EAAgB,EAAK,GACrB,EAAa,EAAK;GACpB;GACA,gBAAgB;IAEd,AADA,EAAgB,EAAK,GACrB,EAAa,EAAK;GACpB;GACA,uBAAuB;IAErB,AADA,EAAgB,EAAK,GACrB,EAAa,EAAK;GACpB;EACD,GAjBM,OAAO,CAAY,CAiBzB,GACD,kBAAC,GAAD;GACE,SAAQ;GACR,eAAe;IAEb,AADA,EAAgB,EAAI,GACpB,EAAa,EAAI;GACnB;GACA,MAAM;aACP;EAEO,CAAA,CACR,EAAA,CAAA,GAEJ,kBAAC,GAAD;GAAS,OAAO;aACd,kBAAC,QAAD,EAAA,UACE,kBAAC,GAAD;IACE,SAAQ;IACR,MAAM;IACN,WAAW,kBAAC,GAAD,CAAsB,CAAA;IACjC,SAAS;IACT,UAAU;IACD;cACV;GAEO,CAAA,EACJ,CAAA;EACC,CAAA,CACN;;AAET"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MetadataTasksPage.d.ts","sourceRoot":"","sources":["../../../../../src/features/entity/metadata-task/components/MetadataTasksPage.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MetadataTasksPage.d.ts","sourceRoot":"","sources":["../../../../../src/features/entity/metadata-task/components/MetadataTasksPage.tsx"],"names":[],"mappings":"AAcA,MAAM,MAAM,sBAAsB,GAAG;IACnC,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,2CAqFtE"}
|
|
@@ -1,66 +1,69 @@
|
|
|
1
1
|
import { displayToast as e } from "../../../../components/ToastMessage/ToastMessage.js";
|
|
2
2
|
import { useGlobalIsEditingContext as t } from "../../../../utils/context/GlobalIsEditingContext.js";
|
|
3
3
|
import { useGetEntityPermissions as n } from "../../../../synapse-queries/entity/useEntity.js";
|
|
4
|
-
import r from "../../../../
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
4
|
+
import { useGetFeatureFlag as r } from "../../../../synapse-queries/featureflags/useGetFeatureFlag.js";
|
|
5
|
+
import "../../../../synapse-queries/index.js";
|
|
6
|
+
import { FeatureFlagEnum as i } from "../../../../utils/featureflag/FeatureFlags.js";
|
|
7
|
+
import a from "../../../../components/TanStackTable/StyledTanStackTable.js";
|
|
8
|
+
import o from "../../../../components/layout/InfiniteTableLayout.js";
|
|
9
|
+
import s from "./CreateOrUpdateCurationTaskDialog.js";
|
|
10
|
+
import { useMetadataTaskTable as c } from "../hooks/useMetadataTaskTable.js";
|
|
11
|
+
import { useState as l } from "react";
|
|
12
|
+
import { Button as u, FormControlLabel as d, Stack as f, Switch as p } from "@mui/material";
|
|
13
|
+
import { Fragment as m, jsx as h, jsxs as g } from "react/jsx-runtime";
|
|
14
|
+
import { AddCircleTwoTone as _ } from "@mui/icons-material";
|
|
12
15
|
//#region src/features/entity/metadata-task/components/MetadataTasksPage.tsx
|
|
13
|
-
function
|
|
14
|
-
let { projectId:
|
|
15
|
-
projectId:
|
|
16
|
+
function v(v) {
|
|
17
|
+
let { projectId: y } = v, [b, x] = l({
|
|
18
|
+
projectId: y,
|
|
16
19
|
assignedToMe: !1
|
|
17
|
-
}), [
|
|
18
|
-
return /* @__PURE__ */
|
|
20
|
+
}), [S, C] = l(!1), { setIsEditing: w } = t(), { data: T } = n(y), { table: E, isLoading: D, hasNextPage: O, fetchNextPage: k, isFetchingNextPage: A } = c({ listCurationTaskRequest: b }), j = r(i.CURATION_TASK_PAGE_SHOW_NEW_TASK_BUTTON);
|
|
21
|
+
return /* @__PURE__ */ g(f, { children: [/* @__PURE__ */ g(f, {
|
|
19
22
|
direction: "row",
|
|
20
23
|
justifyContent: "flex-end",
|
|
21
|
-
children: [/* @__PURE__ */
|
|
22
|
-
control: /* @__PURE__ */ p
|
|
23
|
-
checked: !!
|
|
24
|
+
children: [/* @__PURE__ */ h(d, {
|
|
25
|
+
control: /* @__PURE__ */ h(p, {
|
|
26
|
+
checked: !!b.assignedToMe,
|
|
24
27
|
onChange: (e, t) => {
|
|
25
|
-
|
|
28
|
+
x((e) => ({
|
|
26
29
|
...e,
|
|
27
30
|
assignedToMe: t
|
|
28
31
|
}));
|
|
29
32
|
}
|
|
30
33
|
}),
|
|
31
34
|
label: "View only tasks assigned to me"
|
|
32
|
-
}),
|
|
33
|
-
projectId:
|
|
34
|
-
open:
|
|
35
|
+
}), j && T?.canAddChild && /* @__PURE__ */ g(m, { children: [/* @__PURE__ */ h(s, {
|
|
36
|
+
projectId: y,
|
|
37
|
+
open: S,
|
|
35
38
|
onSuccess: () => {
|
|
36
|
-
e("Curation task created successfully", "success"),
|
|
39
|
+
e("Curation task created successfully", "success"), C(!1), w(!1);
|
|
37
40
|
},
|
|
38
41
|
onCancel: () => {
|
|
39
|
-
|
|
42
|
+
C(!1), w(!1);
|
|
40
43
|
}
|
|
41
|
-
}, String(
|
|
44
|
+
}, String(S)), /* @__PURE__ */ h(u, {
|
|
42
45
|
variant: "outlined",
|
|
43
46
|
onClick: () => {
|
|
44
|
-
|
|
47
|
+
C(!0), w(!0);
|
|
45
48
|
},
|
|
46
|
-
startIcon: /* @__PURE__ */
|
|
49
|
+
startIcon: /* @__PURE__ */ h(_, {}),
|
|
47
50
|
children: "New Task"
|
|
48
51
|
})] })]
|
|
49
|
-
}), /* @__PURE__ */
|
|
50
|
-
table: /* @__PURE__ */
|
|
51
|
-
table:
|
|
52
|
+
}), /* @__PURE__ */ h(o, {
|
|
53
|
+
table: /* @__PURE__ */ h(a, {
|
|
54
|
+
table: E,
|
|
52
55
|
styledTableContainerProps: { sx: { my: 2 } }
|
|
53
56
|
}),
|
|
54
|
-
isLoading:
|
|
55
|
-
isEmpty: !
|
|
56
|
-
hasNextPage:
|
|
57
|
+
isLoading: D,
|
|
58
|
+
isEmpty: !D && E.getRowModel().rows.length === 0,
|
|
59
|
+
hasNextPage: O,
|
|
57
60
|
onFetchNextPageClicked: () => {
|
|
58
|
-
|
|
61
|
+
k();
|
|
59
62
|
},
|
|
60
|
-
isFetchingNextPage:
|
|
63
|
+
isFetchingNextPage: A
|
|
61
64
|
})] });
|
|
62
65
|
}
|
|
63
66
|
//#endregion
|
|
64
|
-
export {
|
|
67
|
+
export { v as default };
|
|
65
68
|
|
|
66
69
|
//# sourceMappingURL=MetadataTasksPage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MetadataTasksPage.js","names":[],"sources":["../../../../../src/features/entity/metadata-task/components/MetadataTasksPage.tsx"],"sourcesContent":["import InfiniteTableLayout from '@/components/layout/InfiniteTableLayout'\nimport StyledTanStackTable from '@/components/TanStackTable/StyledTanStackTable'\nimport { useMetadataTaskTable } from '@/features/entity/metadata-task/hooks/useMetadataTaskTable'\nimport { Button, FormControlLabel, Stack, Switch } from '@mui/material'\nimport { useState } from 'react'\nimport { ListCurationTaskRequest } from '@sage-bionetworks/synapse-client'\nimport CreateOrUpdateCurationTaskDialog from './CreateOrUpdateCurationTaskDialog'\nimport { displayToast } from '@/components/ToastMessage/ToastMessage'\nimport { useGetEntityPermissions } from '@/synapse-queries/entity/useEntity'\nimport { AddCircleTwoTone } from '@mui/icons-material'\nimport { useGlobalIsEditingContext } from '@/utils/context/GlobalIsEditingContext'\n\nexport type MetadataTaskTableProps = {\n projectId: string\n}\n\n/**\n * Displays a list of metadata curation tasks for a particular project, with actions that can be performed on each task.\n * @param props\n * @constructor\n */\nexport default function MetadataTasksPage(props: MetadataTaskTableProps) {\n const { projectId } = props\n const [listCurationTaskRequest, setListCurationTaskRequest] =\n useState<ListCurationTaskRequest>({\n projectId,\n assignedToMe: false,\n })\n\n const [isDialogOpen, setIsDialogOpen] = useState(false)\n const { setIsEditing } = useGlobalIsEditingContext()\n\n const { data: permissions } = useGetEntityPermissions(projectId)\n\n const { table, isLoading, hasNextPage, fetchNextPage, isFetchingNextPage } =\n useMetadataTaskTable({\n listCurationTaskRequest,\n })\n\n return (\n <Stack>\n <Stack direction=\"row\" justifyContent=\"flex-end\">\n <FormControlLabel\n control={\n <Switch\n checked={!!listCurationTaskRequest.assignedToMe}\n onChange={(_e, checked) => {\n setListCurationTaskRequest(prev => ({\n ...prev,\n assignedToMe: checked,\n }))\n }}\n />\n }\n label=\"View only tasks assigned to me\"\n />\n {permissions?.canAddChild && (\n <>\n <CreateOrUpdateCurationTaskDialog\n key={String(isDialogOpen)}\n projectId={projectId}\n open={isDialogOpen}\n onSuccess={() => {\n displayToast('Curation task created successfully', 'success')\n setIsDialogOpen(false)\n setIsEditing(false)\n }}\n onCancel={() => {\n setIsDialogOpen(false)\n setIsEditing(false)\n }}\n />\n <Button\n variant=\"outlined\"\n onClick={() => {\n setIsDialogOpen(true)\n setIsEditing(true)\n }}\n startIcon={<AddCircleTwoTone />}\n >\n New Task\n </Button>\n </>\n )}\n </Stack>\n <InfiniteTableLayout\n table={\n <StyledTanStackTable\n table={table}\n styledTableContainerProps={{ sx: { my: 2 } }}\n />\n }\n isLoading={isLoading}\n isEmpty={!isLoading && table.getRowModel().rows.length === 0}\n hasNextPage={hasNextPage}\n onFetchNextPageClicked={() => {\n fetchNextPage()\n }}\n isFetchingNextPage={isFetchingNextPage}\n />\n </Stack>\n )\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"MetadataTasksPage.js","names":[],"sources":["../../../../../src/features/entity/metadata-task/components/MetadataTasksPage.tsx"],"sourcesContent":["import InfiniteTableLayout from '@/components/layout/InfiniteTableLayout'\nimport StyledTanStackTable from '@/components/TanStackTable/StyledTanStackTable'\nimport { useMetadataTaskTable } from '@/features/entity/metadata-task/hooks/useMetadataTaskTable'\nimport { useGetFeatureFlag } from '@/synapse-queries/index'\nimport { Button, FormControlLabel, Stack, Switch } from '@mui/material'\nimport { useState } from 'react'\nimport { ListCurationTaskRequest } from '@sage-bionetworks/synapse-client'\nimport CreateOrUpdateCurationTaskDialog from './CreateOrUpdateCurationTaskDialog'\nimport { displayToast } from '@/components/ToastMessage/ToastMessage'\nimport { useGetEntityPermissions } from '@/synapse-queries/entity/useEntity'\nimport { AddCircleTwoTone } from '@mui/icons-material'\nimport { useGlobalIsEditingContext } from '@/utils/context/GlobalIsEditingContext'\nimport { FeatureFlagEnum } from '@/utils/featureflag/FeatureFlags'\n\nexport type MetadataTaskTableProps = {\n projectId: string\n}\n\n/**\n * Displays a list of metadata curation tasks for a particular project, with actions that can be performed on each task.\n * @param props\n * @constructor\n */\nexport default function MetadataTasksPage(props: MetadataTaskTableProps) {\n const { projectId } = props\n const [listCurationTaskRequest, setListCurationTaskRequest] =\n useState<ListCurationTaskRequest>({\n projectId,\n assignedToMe: false,\n })\n\n const [isDialogOpen, setIsDialogOpen] = useState(false)\n const { setIsEditing } = useGlobalIsEditingContext()\n\n const { data: permissions } = useGetEntityPermissions(projectId)\n\n const { table, isLoading, hasNextPage, fetchNextPage, isFetchingNextPage } =\n useMetadataTaskTable({\n listCurationTaskRequest,\n })\n\n const showNewTaskButton = useGetFeatureFlag(\n FeatureFlagEnum.CURATION_TASK_PAGE_SHOW_NEW_TASK_BUTTON,\n )\n\n return (\n <Stack>\n <Stack direction=\"row\" justifyContent=\"flex-end\">\n <FormControlLabel\n control={\n <Switch\n checked={!!listCurationTaskRequest.assignedToMe}\n onChange={(_e, checked) => {\n setListCurationTaskRequest(prev => ({\n ...prev,\n assignedToMe: checked,\n }))\n }}\n />\n }\n label=\"View only tasks assigned to me\"\n />\n {showNewTaskButton && permissions?.canAddChild && (\n <>\n <CreateOrUpdateCurationTaskDialog\n key={String(isDialogOpen)}\n projectId={projectId}\n open={isDialogOpen}\n onSuccess={() => {\n displayToast('Curation task created successfully', 'success')\n setIsDialogOpen(false)\n setIsEditing(false)\n }}\n onCancel={() => {\n setIsDialogOpen(false)\n setIsEditing(false)\n }}\n />\n <Button\n variant=\"outlined\"\n onClick={() => {\n setIsDialogOpen(true)\n setIsEditing(true)\n }}\n startIcon={<AddCircleTwoTone />}\n >\n New Task\n </Button>\n </>\n )}\n </Stack>\n <InfiniteTableLayout\n table={\n <StyledTanStackTable\n table={table}\n styledTableContainerProps={{ sx: { my: 2 } }}\n />\n }\n isLoading={isLoading}\n isEmpty={!isLoading && table.getRowModel().rows.length === 0}\n hasNextPage={hasNextPage}\n onFetchNextPageClicked={() => {\n fetchNextPage()\n }}\n isFetchingNextPage={isFetchingNextPage}\n />\n </Stack>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;AAuBA,SAAwB,EAAkB,GAA+B;CACvE,IAAM,EAAE,iBAAc,GAChB,CAAC,GAAyB,KAC9B,EAAkC;EAChC;EACA,cAAc;CAChB,CAAC,GAEG,CAAC,GAAc,KAAmB,EAAS,EAAK,GAChD,EAAE,oBAAiB,EAA0B,GAE7C,EAAE,MAAM,MAAgB,EAAwB,CAAS,GAEzD,EAAE,UAAO,cAAW,gBAAa,kBAAe,0BACpD,EAAqB,EACnB,2BACF,CAAC,GAEG,IAAoB,EACxB,EAAgB,uCAClB;CAEA,OACE,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD;EAAO,WAAU;EAAM,gBAAe;YAAtC,CACE,kBAAC,GAAD;GACE,SACE,kBAAC,GAAD;IACE,SAAS,CAAC,CAAC,EAAwB;IACnC,WAAW,GAAI,MAAY;KACzB,GAA2B,OAAS;MAClC,GAAG;MACH,cAAc;KAChB,EAAE;IACJ;GACD,CAAA;GAEH,OAAM;EACP,CAAA,GACA,KAAqB,GAAa,eACjC,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,GAAD;GAEa;GACX,MAAM;GACN,iBAAiB;IAGf,AAFA,EAAa,sCAAsC,SAAS,GAC5D,EAAgB,EAAK,GACrB,EAAa,EAAK;GACpB;GACA,gBAAgB;IAEd,AADA,EAAgB,EAAK,GACrB,EAAa,EAAK;GACpB;EACD,GAZM,OAAO,CAAY,CAYzB,GACD,kBAAC,GAAD;GACE,SAAQ;GACR,eAAe;IAEb,AADA,EAAgB,EAAI,GACpB,EAAa,EAAI;GACnB;GACA,WAAW,kBAAC,GAAD,CAAmB,CAAA;aAC/B;EAEO,CAAA,CACR,EAAA,CAAA,CAEC;KACP,kBAAC,GAAD;EACE,OACE,kBAAC,GAAD;GACS;GACP,2BAA2B,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;EAC5C,CAAA;EAEQ;EACX,SAAS,CAAC,KAAa,EAAM,YAAY,EAAE,KAAK,WAAW;EAC9C;EACb,8BAA8B;GAC5B,EAAc;EAChB;EACoB;CACrB,CAAA,CACI,EAAA,CAAA;AAEX"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MetadataTasksTableAssigneeCell.js","names":[],"sources":["../../../../../src/features/entity/metadata-task/components/MetadataTasksTableAssigneeCell.tsx"],"sourcesContent":["import { ConfirmationDialog } from '@/components/ConfirmationDialog'\nimport UserOrTeamBadge from '@/components/UserOrTeamBadge/UserOrTeamBadge'\nimport UserSearchBox from '@/components/UserSearchBox/UserSearchBox'\nimport { displayToast } from '@/index'\nimport { useUpdateCurationTask } from '@/synapse-queries/curation/task/useCurationTask'\nimport { EditTwoTone } from '@mui/icons-material'\nimport { Alert, Box, IconButton, Stack, Typography } from '@mui/material'\nimport { TaskBundle } from '@sage-bionetworks/synapse-client'\nimport { TYPE_FILTER } from '@sage-bionetworks/synapse-types'\nimport { useCallback, useState } from 'react'\nimport taskHasAssignee from '../utils/taskHasAssignee'\n\nexport type MetadataTasksTableAssigneeCellProps = {\n taskBundle: TaskBundle\n canEdit: boolean\n}\n\nexport default function MetadataTasksTableAssigneeCell(\n props: MetadataTasksTableAssigneeCellProps,\n) {\n const { taskBundle, canEdit } = props\n const curationTask = taskBundle.task!\n const { assigneePrincipalId } = curationTask\n const [showUserPicker, setShowUserPicker] = useState(false)\n const [selectedPrincipalId, setSelectedPrincipalId] = useState<string | null>(\n assigneePrincipalId ?? null,\n )\n const [isHoveringOnCell, setIsHoveringOnCell] = useState(false)\n\n const { mutateAsync: updateCurationTask, isPending: updateTaskIsPending } =\n useUpdateCurationTask({\n onError: error => {\n displayToast('Error updating task assignee: ' + error.message, 'danger')\n },\n })\n\n let assigneeDisplay = (\n <Box\n component=\"span\"\n sx={{ flexGrow: 1, fontStyle: 'italic', color: 'grey.700' }}\n >\n Unassigned\n </Box>\n )\n\n const hasAssignee = taskHasAssignee(curationTask)\n if (hasAssignee) {\n assigneeDisplay = <UserOrTeamBadge principalId={assigneePrincipalId} />\n }\n\n const onConfirmUpdateAssignee = useCallback(\n async (assigneeId: string | undefined) => {\n await updateCurationTask({\n ...curationTask,\n assigneePrincipalId: assigneeId,\n })\n setShowUserPicker(false)\n },\n [curationTask, updateCurationTask],\n )\n\n const editDialog = (\n <ConfirmationDialog\n title=\"Set Assignee\"\n open={showUserPicker}\n content={\n <Stack gap={2}>\n <Typography variant=\"body1\" gutterBottom>\n Use the Assignee field to organize work by assigning a task to a\n specific person or team. This field is only for task organization\n and filtering. It does not control project access or permission\n levels.\n </Typography>\n <UserSearchBox\n key={showUserPicker.toString()}\n defaultValue={assigneePrincipalId}\n onChange={principalId => setSelectedPrincipalId(principalId)}\n typeFilter={TYPE_FILTER.ALL}\n />\n {taskBundle.status?.executionDetails?.activeSessionId && (\n <Alert severity=\"warning\">\n This task has an active Curator session. If you change the\n assignee, these effects could happen:\n <ul>\n <li>\n Current assignee(s) may lose access to the session, unsaved\n changes will be lost, and they may not be able to complete\n their work.\n </li>\n <li>\n New assignee(s) may not have permission to access the current\n session\n </li>\n </ul>\n To avoid these issues, a data manager should create a new task.\n </Alert>\n )}\n </Stack>\n }\n confirmButtonProps={{\n children: 'Save',\n loading: updateTaskIsPending,\n }}\n onConfirm={() => {\n onConfirmUpdateAssignee(selectedPrincipalId ?? undefined)\n }}\n onCancel={() => setShowUserPicker(false)}\n />\n )\n\n const editButton = (\n <div>\n <IconButton\n aria-label=\"Edit assignee\"\n size=\"small\"\n onClick={() => setShowUserPicker(true)}\n >\n <EditTwoTone fontSize=\"inherit\" />\n </IconButton>\n </div>\n )\n\n return (\n <Stack\n direction={'row'}\n alignItems={'center'}\n justifyContent={'space-between'}\n spacing={1}\n onMouseOver={() => {\n setIsHoveringOnCell(true)\n }}\n onMouseLeave={() => {\n setIsHoveringOnCell(false)\n }}\n >\n <span style={{ overflow: 'hidden' }}>{assigneeDisplay}</span>\n {isHoveringOnCell && canEdit && editButton}\n {editDialog}\n </Stack>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;AAiBA,SAAwB,EACtB,GACA;CACA,IAAM,EAAE,eAAY,eAAY,GAC1B,IAAe,EAAW,MAC1B,EAAE,2BAAwB,GAC1B,CAAC,GAAgB,KAAqB,EAAS,
|
|
1
|
+
{"version":3,"file":"MetadataTasksTableAssigneeCell.js","names":[],"sources":["../../../../../src/features/entity/metadata-task/components/MetadataTasksTableAssigneeCell.tsx"],"sourcesContent":["import { ConfirmationDialog } from '@/components/ConfirmationDialog'\nimport UserOrTeamBadge from '@/components/UserOrTeamBadge/UserOrTeamBadge'\nimport UserSearchBox from '@/components/UserSearchBox/UserSearchBox'\nimport { displayToast } from '@/index'\nimport { useUpdateCurationTask } from '@/synapse-queries/curation/task/useCurationTask'\nimport { EditTwoTone } from '@mui/icons-material'\nimport { Alert, Box, IconButton, Stack, Typography } from '@mui/material'\nimport { TaskBundle } from '@sage-bionetworks/synapse-client'\nimport { TYPE_FILTER } from '@sage-bionetworks/synapse-types'\nimport { useCallback, useState } from 'react'\nimport taskHasAssignee from '../utils/taskHasAssignee'\n\nexport type MetadataTasksTableAssigneeCellProps = {\n taskBundle: TaskBundle\n canEdit: boolean\n}\n\nexport default function MetadataTasksTableAssigneeCell(\n props: MetadataTasksTableAssigneeCellProps,\n) {\n const { taskBundle, canEdit } = props\n const curationTask = taskBundle.task!\n const { assigneePrincipalId } = curationTask\n const [showUserPicker, setShowUserPicker] = useState(false)\n const [selectedPrincipalId, setSelectedPrincipalId] = useState<string | null>(\n assigneePrincipalId ?? null,\n )\n const [isHoveringOnCell, setIsHoveringOnCell] = useState(false)\n\n const { mutateAsync: updateCurationTask, isPending: updateTaskIsPending } =\n useUpdateCurationTask({\n onError: error => {\n displayToast('Error updating task assignee: ' + error.message, 'danger')\n },\n })\n\n let assigneeDisplay = (\n <Box\n component=\"span\"\n sx={{ flexGrow: 1, fontStyle: 'italic', color: 'grey.700' }}\n >\n Unassigned\n </Box>\n )\n\n const hasAssignee = taskHasAssignee(curationTask)\n if (hasAssignee) {\n assigneeDisplay = <UserOrTeamBadge principalId={assigneePrincipalId} />\n }\n\n const onConfirmUpdateAssignee = useCallback(\n async (assigneeId: string | undefined) => {\n await updateCurationTask({\n ...curationTask,\n assigneePrincipalId: assigneeId,\n })\n setShowUserPicker(false)\n },\n [curationTask, updateCurationTask],\n )\n\n const editDialog = (\n <ConfirmationDialog\n title=\"Set Assignee\"\n open={showUserPicker}\n content={\n <Stack gap={2}>\n <Typography variant=\"body1\" gutterBottom>\n Use the Assignee field to organize work by assigning a task to a\n specific person or team. This field is only for task organization\n and filtering. It does not control project access or permission\n levels.\n </Typography>\n <UserSearchBox\n key={showUserPicker.toString()}\n defaultValue={assigneePrincipalId}\n onChange={principalId => setSelectedPrincipalId(principalId)}\n typeFilter={TYPE_FILTER.ALL}\n />\n {taskBundle.status?.executionDetails?.activeSessionId && (\n <Alert severity=\"warning\">\n This task has an active Curator session. If you change the\n assignee, these effects could happen:\n <ul>\n <li>\n Current assignee(s) may lose access to the session, unsaved\n changes will be lost, and they may not be able to complete\n their work.\n </li>\n <li>\n New assignee(s) may not have permission to access the current\n session\n </li>\n </ul>\n To avoid these issues, a data manager should create a new task.\n </Alert>\n )}\n </Stack>\n }\n confirmButtonProps={{\n children: 'Save',\n loading: updateTaskIsPending,\n }}\n onConfirm={() => {\n onConfirmUpdateAssignee(selectedPrincipalId ?? undefined)\n }}\n onCancel={() => setShowUserPicker(false)}\n />\n )\n\n const editButton = (\n <div>\n <IconButton\n aria-label=\"Edit assignee\"\n size=\"small\"\n onClick={() => setShowUserPicker(true)}\n >\n <EditTwoTone fontSize=\"inherit\" />\n </IconButton>\n </div>\n )\n\n return (\n <Stack\n direction={'row'}\n alignItems={'center'}\n justifyContent={'space-between'}\n spacing={1}\n onMouseOver={() => {\n setIsHoveringOnCell(true)\n }}\n onMouseLeave={() => {\n setIsHoveringOnCell(false)\n }}\n >\n <span style={{ overflow: 'hidden' }}>{assigneeDisplay}</span>\n {isHoveringOnCell && canEdit && editButton}\n {editDialog}\n </Stack>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;AAiBA,SAAwB,EACtB,GACA;CACA,IAAM,EAAE,eAAY,eAAY,GAC1B,IAAe,EAAW,MAC1B,EAAE,2BAAwB,GAC1B,CAAC,GAAgB,KAAqB,EAAS,EAAK,GACpD,CAAC,GAAqB,KAA0B,EACpD,KAAuB,IACzB,GACM,CAAC,GAAkB,KAAuB,EAAS,EAAK,GAExD,EAAE,aAAa,GAAoB,WAAW,MAClD,EAAsB,EACpB,UAAS,MAAS;EAChB,EAAa,mCAAmC,EAAM,SAAS,QAAQ;CACzE,EACF,CAAC,GAEC,IACF,kBAAC,GAAD;EACE,WAAU;EACV,IAAI;GAAE,UAAU;GAAG,WAAW;GAAU,OAAO;EAAW;YAC3D;CAEI,CAAA;CAIP,AADoB,EAAgB,CAChC,MACF,IAAkB,kBAAC,GAAD,EAAiB,aAAa,EAAsB,CAAA;CAGxE,IAAM,IAA0B,EAC9B,OAAO,MAAmC;EAKxC,AAJA,MAAM,EAAmB;GACvB,GAAG;GACH,qBAAqB;EACvB,CAAC,GACD,EAAkB,EAAK;CACzB,GACA,CAAC,GAAc,CAAkB,CACnC,GAEM,IACJ,kBAAC,GAAD;EACE,OAAM;EACN,MAAM;EACN,SACE,kBAAC,GAAD;GAAO,KAAK;aAAZ;IACE,kBAAC,GAAD;KAAY,SAAQ;KAAQ,cAAA;eAAa;IAK7B,CAAA;IACZ,kBAAC,GAAD;KAEE,cAAc;KACd,WAAU,MAAe,EAAuB,CAAW;KAC3D,YAAY,EAAY;IACzB,GAJM,EAAe,SAAS,CAI9B;IACA,EAAW,QAAQ,kBAAkB,mBACpC,kBAAC,GAAD;KAAO,UAAS;eAAhB;MAA0B;MAGxB,kBAAC,MAAD,EAAA,UAAA,CACE,kBAAC,MAAD,EAAA,UAAI,qIAIA,CAAA,GACJ,kBAAC,MAAD,EAAA,UAAI,wEAGA,CAAA,CACF,EAAA,CAAA;MAAC;KAEA;;GAEJ;;EAET,oBAAoB;GAClB,UAAU;GACV,SAAS;EACX;EACA,iBAAiB;GACf,EAAwB,KAAuB,KAAA,CAAS;EAC1D;EACA,gBAAgB,EAAkB,EAAK;CACxC,CAAA;CAeH,OACE,kBAAC,GAAD;EACE,WAAW;EACX,YAAY;EACZ,gBAAgB;EAChB,SAAS;EACT,mBAAmB;GACjB,EAAoB,EAAI;EAC1B;EACA,oBAAoB;GAClB,EAAoB,EAAK;EAC3B;YAVF;GAYE,kBAAC,QAAD;IAAM,OAAO,EAAE,UAAU,SAAS;cAAI;GAAsB,CAAA;GAC3D,KAAoB,KAzBvB,kBAAC,OAAD,EAAA,UACE,kBAAC,GAAD;IACE,cAAW;IACX,MAAK;IACL,eAAe,EAAkB,EAAI;cAErC,kBAAC,GAAD,EAAa,UAAS,UAAW,CAAA;GACvB,CAAA,EACT,CAiB6B;GAC/B;EACI;;AAEX"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGetOrCreateGridSessionForSource.js","names":[],"sources":["../../../../../src/features/entity/metadata-task/hooks/useGetOrCreateGridSessionForSource.ts"],"sourcesContent":["import { getLatestGridSessionForSource } from '@/features/entity/metadata-task/utils/getLatestGridSessionForSource'\nimport { useCreateGridSession } from '@/synapse-queries/grid/useGridSession'\nimport { useSynapseContext } from '@/utils/context/SynapseContext'\nimport {\n CreateGridRequest,\n GridSession,\n SynapseClientError,\n} from '@sage-bionetworks/synapse-client'\nimport { useMutation, useQueryClient } from '@tanstack/react-query'\n\n/**\n * Given a source ID, retrieve the latest grid session owned by the user that uses that source. If no grid session\n * exists, a new one is created.\n * @deprecated Functionality to retrieve grid sessions has been replaced by tasks. This hook only remains to enable a legacy\n * scenario that will be removed in the future.\n */\nexport default function useGetOrCreateGridSessionForSource_legacy() {\n const queryClient = useQueryClient()\n const synapseContext = useSynapseContext()\n\n const { mutateAsync: createGridSession } = useCreateGridSession()\n\n return useMutation<\n GridSession,\n SynapseClientError,\n { sourceId: string; createRequest: CreateGridRequest }\n >({\n mutationFn: async ({ sourceId, createRequest }) => {\n const maybeGridSession = await getLatestGridSessionForSource(sourceId, {\n queryClient,\n synapseContext,\n })\n\n if (maybeGridSession != null) {\n return maybeGridSession\n }\n return (await createGridSession(createRequest)).gridSession!\n },\n })\n}\n"],"mappings":";;;;;AAgBA,SAAwB,IAA4C;CAClE,IAAM,IAAc,
|
|
1
|
+
{"version":3,"file":"useGetOrCreateGridSessionForSource.js","names":[],"sources":["../../../../../src/features/entity/metadata-task/hooks/useGetOrCreateGridSessionForSource.ts"],"sourcesContent":["import { getLatestGridSessionForSource } from '@/features/entity/metadata-task/utils/getLatestGridSessionForSource'\nimport { useCreateGridSession } from '@/synapse-queries/grid/useGridSession'\nimport { useSynapseContext } from '@/utils/context/SynapseContext'\nimport {\n CreateGridRequest,\n GridSession,\n SynapseClientError,\n} from '@sage-bionetworks/synapse-client'\nimport { useMutation, useQueryClient } from '@tanstack/react-query'\n\n/**\n * Given a source ID, retrieve the latest grid session owned by the user that uses that source. If no grid session\n * exists, a new one is created.\n * @deprecated Functionality to retrieve grid sessions has been replaced by tasks. This hook only remains to enable a legacy\n * scenario that will be removed in the future.\n */\nexport default function useGetOrCreateGridSessionForSource_legacy() {\n const queryClient = useQueryClient()\n const synapseContext = useSynapseContext()\n\n const { mutateAsync: createGridSession } = useCreateGridSession()\n\n return useMutation<\n GridSession,\n SynapseClientError,\n { sourceId: string; createRequest: CreateGridRequest }\n >({\n mutationFn: async ({ sourceId, createRequest }) => {\n const maybeGridSession = await getLatestGridSessionForSource(sourceId, {\n queryClient,\n synapseContext,\n })\n\n if (maybeGridSession != null) {\n return maybeGridSession\n }\n return (await createGridSession(createRequest)).gridSession!\n },\n })\n}\n"],"mappings":";;;;;AAgBA,SAAwB,IAA4C;CAClE,IAAM,IAAc,EAAe,GAC7B,IAAiB,EAAkB,GAEnC,EAAE,aAAa,MAAsB,EAAqB;CAEhE,OAAO,EAIL,EACA,YAAY,OAAO,EAAE,aAAU,uBAMzB,MAL2B,EAA8B,GAAU;EACrE;EACA;CACF,CAAC,MAKO,MAAM,EAAkB,CAAa,GAAG,YAEpD,CAAC;AACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGridSessionForCurationTask.js","names":[],"sources":["../../../../../src/features/entity/metadata-task/hooks/useGridSessionForCurationTask.ts"],"sourcesContent":["import { useUpdateCurationTaskStatus } from '@/synapse-queries/curation/task/useCurationTask'\nimport {\n getGridSessionQuery,\n useCreateGridSession,\n useDeleteGridSession,\n} from '@/synapse-queries/grid/useGridSession'\nimport { useSynapseContext } from '@/utils'\nimport {\n AuthorizationMode,\n CreateGridRequest,\n GridSession,\n GridSupportedTaskProperties,\n SynapseClientError,\n TaskBundle,\n} from '@sage-bionetworks/synapse-client'\nimport { useMutation, useQueryClient } from '@tanstack/react-query'\nimport { OPEN_CURATOR_LINK_TASK_CONFLICT_ERROR_MESSAGE } from '../utils/constants'\nimport { getCreateGridRequestForMetadataTask } from '../utils/getCreateGridRequestForMetadataTask'\n\nexport type UseGridSessionForCurationTaskResult = {\n gridSession: GridSession\n}\n\n/**\n * A hook to get or create a GridSession for a given CurationTask. If an appropriate GridSession exists, it will be returned.\n * If not, a new GridSession will be created based on the CurationTask's properties.\n *\n * @returns A mutation object with a function to get or create a GridSession for a CurationTask. The response will also indicate\n * if the GridSession owner matches the task assignee (if there is one).\n * @throws SynapseClientError with status 403 if the user does not have permission to access an existing GridSession\n */\nexport default function useGridSessionForCurationTask() {\n const { mutateAsync: createGridSession } = useCreateGridSession()\n const { mutateAsync: updateCurationTaskStatus } =\n useUpdateCurationTaskStatus()\n const { mutateAsync: deleteGridSession } = useDeleteGridSession()\n\n const synapseContext = useSynapseContext()\n const queryClient = useQueryClient()\n\n return useMutation<\n UseGridSessionForCurationTaskResult,\n SynapseClientError,\n TaskBundle\n >({\n mutationFn: async curationTaskBundle => {\n const { task, status } = curationTaskBundle\n if (!task || !status) {\n throw new Error('CurationTaskBundle is missing task or status')\n }\n\n const gridSessionId = status?.executionDetails?.activeSessionId\n if (gridSessionId) {\n try {\n // Verify the session is still active before returning it\n const gridSession = await queryClient.fetchQuery({\n ...getGridSessionQuery(gridSessionId, {\n ...synapseContext,\n queryClient,\n }),\n staleTime: 0,\n })\n\n return {\n gridSession,\n }\n } catch (e) {\n if (e instanceof SynapseClientError && e.status === 404) {\n // Session not found, will create a new one\n } else {\n throw e\n }\n }\n }\n // Create a session and link it to the task\n const taskProperties = task.taskProperties as GridSupportedTaskProperties\n if (taskProperties == null) {\n throw new Error('CurationTask is missing taskProperties')\n }\n\n const suggestedAuthorizationMode =\n 'suggestedAuthorizationMode' in taskProperties\n ? taskProperties.suggestedAuthorizationMode\n : undefined\n\n if (suggestedAuthorizationMode == null) {\n throw new Error(\n 'CurationTask is missing suggestedAuthorizationMode in taskProperties',\n )\n }\n\n let ownerPrincipalId: string | undefined = undefined\n if (suggestedAuthorizationMode === AuthorizationMode.SESSION_OWNER) {\n // TODO: Add collaboratorPrincipalIds once the server supports multiple owners.\n ownerPrincipalId = task.assigneePrincipalId\n }\n\n const createGridRequest: CreateGridRequest = {\n ...getCreateGridRequestForMetadataTask(task),\n authorizationMode: suggestedAuthorizationMode,\n ownerPrincipalId,\n }\n const createGridResponse = await createGridSession(createGridRequest)\n const gridSession = createGridResponse.gridSession!\n\n // Associate the new session with the task\n try {\n await updateCurationTaskStatus({\n ...status,\n executionDetails: {\n ...status.executionDetails,\n activeSessionId: gridSession.sessionId!,\n concreteType:\n 'org.sagebionetworks.repo.model.curation.execution.GridExecutionDetails',\n },\n })\n } catch (e) {\n if (e instanceof SynapseClientError && e.status === 412) {\n // etag mismatch -- possible race condition.\n // Delete the session we just created to avoid orphaned sessions, and throw an error to notify the user that they may need to refresh and try again.\n await deleteGridSession(gridSession.sessionId!)\n throw new Error(OPEN_CURATOR_LINK_TASK_CONFLICT_ERROR_MESSAGE)\n } else {\n // Rethrow any other error\n throw e\n }\n }\n\n // Since we just created the session, the user must have access, and the owner must match the assignee (if there is one).\n return {\n gridSession,\n }\n },\n })\n}\n"],"mappings":";;;;;;;;;AA+BA,SAAwB,IAAgC;CACtD,IAAM,EAAE,aAAa,MAAsB,
|
|
1
|
+
{"version":3,"file":"useGridSessionForCurationTask.js","names":[],"sources":["../../../../../src/features/entity/metadata-task/hooks/useGridSessionForCurationTask.ts"],"sourcesContent":["import { useUpdateCurationTaskStatus } from '@/synapse-queries/curation/task/useCurationTask'\nimport {\n getGridSessionQuery,\n useCreateGridSession,\n useDeleteGridSession,\n} from '@/synapse-queries/grid/useGridSession'\nimport { useSynapseContext } from '@/utils'\nimport {\n AuthorizationMode,\n CreateGridRequest,\n GridSession,\n GridSupportedTaskProperties,\n SynapseClientError,\n TaskBundle,\n} from '@sage-bionetworks/synapse-client'\nimport { useMutation, useQueryClient } from '@tanstack/react-query'\nimport { OPEN_CURATOR_LINK_TASK_CONFLICT_ERROR_MESSAGE } from '../utils/constants'\nimport { getCreateGridRequestForMetadataTask } from '../utils/getCreateGridRequestForMetadataTask'\n\nexport type UseGridSessionForCurationTaskResult = {\n gridSession: GridSession\n}\n\n/**\n * A hook to get or create a GridSession for a given CurationTask. If an appropriate GridSession exists, it will be returned.\n * If not, a new GridSession will be created based on the CurationTask's properties.\n *\n * @returns A mutation object with a function to get or create a GridSession for a CurationTask. The response will also indicate\n * if the GridSession owner matches the task assignee (if there is one).\n * @throws SynapseClientError with status 403 if the user does not have permission to access an existing GridSession\n */\nexport default function useGridSessionForCurationTask() {\n const { mutateAsync: createGridSession } = useCreateGridSession()\n const { mutateAsync: updateCurationTaskStatus } =\n useUpdateCurationTaskStatus()\n const { mutateAsync: deleteGridSession } = useDeleteGridSession()\n\n const synapseContext = useSynapseContext()\n const queryClient = useQueryClient()\n\n return useMutation<\n UseGridSessionForCurationTaskResult,\n SynapseClientError,\n TaskBundle\n >({\n mutationFn: async curationTaskBundle => {\n const { task, status } = curationTaskBundle\n if (!task || !status) {\n throw new Error('CurationTaskBundle is missing task or status')\n }\n\n const gridSessionId = status?.executionDetails?.activeSessionId\n if (gridSessionId) {\n try {\n // Verify the session is still active before returning it\n const gridSession = await queryClient.fetchQuery({\n ...getGridSessionQuery(gridSessionId, {\n ...synapseContext,\n queryClient,\n }),\n staleTime: 0,\n })\n\n return {\n gridSession,\n }\n } catch (e) {\n if (e instanceof SynapseClientError && e.status === 404) {\n // Session not found, will create a new one\n } else {\n throw e\n }\n }\n }\n // Create a session and link it to the task\n const taskProperties = task.taskProperties as GridSupportedTaskProperties\n if (taskProperties == null) {\n throw new Error('CurationTask is missing taskProperties')\n }\n\n const suggestedAuthorizationMode =\n 'suggestedAuthorizationMode' in taskProperties\n ? taskProperties.suggestedAuthorizationMode\n : undefined\n\n if (suggestedAuthorizationMode == null) {\n throw new Error(\n 'CurationTask is missing suggestedAuthorizationMode in taskProperties',\n )\n }\n\n let ownerPrincipalId: string | undefined = undefined\n if (suggestedAuthorizationMode === AuthorizationMode.SESSION_OWNER) {\n // TODO: Add collaboratorPrincipalIds once the server supports multiple owners.\n ownerPrincipalId = task.assigneePrincipalId\n }\n\n const createGridRequest: CreateGridRequest = {\n ...getCreateGridRequestForMetadataTask(task),\n authorizationMode: suggestedAuthorizationMode,\n ownerPrincipalId,\n }\n const createGridResponse = await createGridSession(createGridRequest)\n const gridSession = createGridResponse.gridSession!\n\n // Associate the new session with the task\n try {\n await updateCurationTaskStatus({\n ...status,\n executionDetails: {\n ...status.executionDetails,\n activeSessionId: gridSession.sessionId!,\n concreteType:\n 'org.sagebionetworks.repo.model.curation.execution.GridExecutionDetails',\n },\n })\n } catch (e) {\n if (e instanceof SynapseClientError && e.status === 412) {\n // etag mismatch -- possible race condition.\n // Delete the session we just created to avoid orphaned sessions, and throw an error to notify the user that they may need to refresh and try again.\n await deleteGridSession(gridSession.sessionId!)\n throw new Error(OPEN_CURATOR_LINK_TASK_CONFLICT_ERROR_MESSAGE)\n } else {\n // Rethrow any other error\n throw e\n }\n }\n\n // Since we just created the session, the user must have access, and the owner must match the assignee (if there is one).\n return {\n gridSession,\n }\n },\n })\n}\n"],"mappings":";;;;;;;;;AA+BA,SAAwB,IAAgC;CACtD,IAAM,EAAE,aAAa,MAAsB,EAAqB,GAC1D,EAAE,aAAa,MACnB,EAA4B,GACxB,EAAE,aAAa,MAAsB,EAAqB,GAE1D,IAAiB,EAAkB,GACnC,IAAc,EAAe;CAEnC,OAAO,EAIL,EACA,YAAY,OAAM,MAAsB;EACtC,IAAM,EAAE,SAAM,cAAW;EACzB,IAAI,CAAC,KAAQ,CAAC,GACZ,MAAU,MAAM,8CAA8C;EAGhE,IAAM,IAAgB,GAAQ,kBAAkB;EAChD,IAAI,GACF,IAAI;GAUF,OAAO,EACL,aAAA,MATwB,EAAY,WAAW;IAC/C,GAAG,EAAoB,GAAe;KACpC,GAAG;KACH;IACF,CAAC;IACD,WAAW;GACb,CAAC,EAID;EACF,SAAS,GAAG;GACV,IAAI,eAAa,KAAsB,EAAE,WAAW,MAGlD,MAAM;EAEV;EAGF,IAAM,IAAiB,EAAK;EAC5B,IAAI,KAAkB,MACpB,MAAU,MAAM,wCAAwC;EAG1D,IAAM,IACJ,gCAAgC,IAC5B,EAAe,6BACf,KAAA;EAEN,IAAI,KAA8B,MAChC,MAAU,MACR,sEACF;EAGF,IAAI;EACJ,AAAI,MAA+B,EAAkB,kBAEnD,IAAmB,EAAK;EAS1B,IAAM,KAAc,MADa,EAAkB;GAJjD,GAAG,EAAoC,CAAI;GAC3C,mBAAmB;GACnB;EAEiD,CAAiB,GAC7B;EAGvC,IAAI;GACF,MAAM,EAAyB;IAC7B,GAAG;IACH,kBAAkB;KAChB,GAAG,EAAO;KACV,iBAAiB,EAAY;KAC7B,cACE;IACJ;GACF,CAAC;EACH,SAAS,GAAG;GAQR,MAPE,aAAa,KAAsB,EAAE,WAAW,OAGlD,MAAM,EAAkB,EAAY,SAAU,GACpC,MAAM,CAA6C,KAGvD;EAEV;EAGA,OAAO,EACL,eACF;CACF,EACF,CAAC;AACH"}
|
package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask_legacy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGridSessionForCurationTask_legacy.js","names":[],"sources":["../../../../../src/features/entity/metadata-task/hooks/useGridSessionForCurationTask_legacy.ts"],"sourcesContent":["import {\n CurationTask,\n GridSession,\n SynapseClientError,\n} from '@sage-bionetworks/synapse-client'\nimport { useMutation } from '@tanstack/react-query'\nimport { getCreateGridRequestForMetadataTask } from '../utils/getCreateGridRequestForMetadataTask'\nimport { getGridSourceIdForTask } from '../utils/getGridSourceIdForTask'\nimport useGetOrCreateGridSessionForSource from './useGetOrCreateGridSessionForSource'\n\n/**\n * A hook to get or create a GridSession for an unassigned CurationTask. The session will be owned by the calling user.\n *\n * @returns A mutation object with a function to get or create a GridSession for a CurationTask.\n * @deprecated This functionality is preserved to ensure users are not blocked from doing work, but enables a critical\n * data loss scenario, so we must aim to remove it.\n */\nexport default function useGridSessionForCurationTask_legacy() {\n const { mutateAsync: getOrCreateGridSession } =\n useGetOrCreateGridSessionForSource()\n\n return useMutation<\n GridSession,\n SynapseClientError,\n { curationTask: CurationTask }\n >({\n mutationFn: async ({ curationTask }) => {\n const gridSourceId = getGridSourceIdForTask(curationTask)\n\n const createGridRequest =\n getCreateGridRequestForMetadataTask(curationTask)\n return await getOrCreateGridSession({\n sourceId: gridSourceId,\n createRequest: createGridRequest,\n })\n },\n })\n}\n"],"mappings":";;;;;AAiBA,SAAwB,IAAuC;CAC7D,IAAM,EAAE,aAAa,MACnB,
|
|
1
|
+
{"version":3,"file":"useGridSessionForCurationTask_legacy.js","names":[],"sources":["../../../../../src/features/entity/metadata-task/hooks/useGridSessionForCurationTask_legacy.ts"],"sourcesContent":["import {\n CurationTask,\n GridSession,\n SynapseClientError,\n} from '@sage-bionetworks/synapse-client'\nimport { useMutation } from '@tanstack/react-query'\nimport { getCreateGridRequestForMetadataTask } from '../utils/getCreateGridRequestForMetadataTask'\nimport { getGridSourceIdForTask } from '../utils/getGridSourceIdForTask'\nimport useGetOrCreateGridSessionForSource from './useGetOrCreateGridSessionForSource'\n\n/**\n * A hook to get or create a GridSession for an unassigned CurationTask. The session will be owned by the calling user.\n *\n * @returns A mutation object with a function to get or create a GridSession for a CurationTask.\n * @deprecated This functionality is preserved to ensure users are not blocked from doing work, but enables a critical\n * data loss scenario, so we must aim to remove it.\n */\nexport default function useGridSessionForCurationTask_legacy() {\n const { mutateAsync: getOrCreateGridSession } =\n useGetOrCreateGridSessionForSource()\n\n return useMutation<\n GridSession,\n SynapseClientError,\n { curationTask: CurationTask }\n >({\n mutationFn: async ({ curationTask }) => {\n const gridSourceId = getGridSourceIdForTask(curationTask)\n\n const createGridRequest =\n getCreateGridRequestForMetadataTask(curationTask)\n return await getOrCreateGridSession({\n sourceId: gridSourceId,\n createRequest: createGridRequest,\n })\n },\n })\n}\n"],"mappings":";;;;;AAiBA,SAAwB,IAAuC;CAC7D,IAAM,EAAE,aAAa,MACnB,EAAmC;CAErC,OAAO,EAIL,EACA,YAAY,OAAO,EAAE,sBAKZ,MAAM,EAAuB;EAClC,UALmB,EAAuB,CAKhC;EACV,eAHA,EAAoC,CAGrB;CACjB,CAAC,EAEL,CAAC;AACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMetadataTaskTable.d.ts","sourceRoot":"","sources":["../../../../../src/features/entity/metadata-task/hooks/useMetadataTaskTable.tsx"],"names":[],"mappings":"AAOA,OAAO,EACL,uBAAuB,EACvB,UAAU,EACX,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAGL,KAAK,EAEN,MAAM,uBAAuB,CAAA;AA4D9B,KAAK,2BAA2B,GAAG;IACjC,uBAAuB,EAAE,uBAAuB,CAAA;CACjD,CAAA;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,2BAA2B;;;;;;
|
|
1
|
+
{"version":3,"file":"useMetadataTaskTable.d.ts","sourceRoot":"","sources":["../../../../../src/features/entity/metadata-task/hooks/useMetadataTaskTable.tsx"],"names":[],"mappings":"AAOA,OAAO,EACL,uBAAuB,EACvB,UAAU,EACX,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAGL,KAAK,EAEN,MAAM,uBAAuB,CAAA;AA4D9B,KAAK,2BAA2B,GAAG;IACjC,uBAAuB,EAAE,uBAAuB,CAAA;CACjD,CAAA;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,2BAA2B;;;;;;EAiDrE"}
|
|
@@ -85,7 +85,7 @@ function g(t) {
|
|
|
85
85
|
return {
|
|
86
86
|
table: m({
|
|
87
87
|
data: c(() => r?.pages.flatMap((e) => e.bundlePage) ?? [], [r]),
|
|
88
|
-
columns: h(f),
|
|
88
|
+
columns: c(() => h(f), [f]),
|
|
89
89
|
getRowId: (e) => String(e.task.taskId),
|
|
90
90
|
getCoreRowModel: p(),
|
|
91
91
|
columnResizeMode: "onChange",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMetadataTaskTable.js","names":[],"sources":["../../../../../src/features/entity/metadata-task/hooks/useMetadataTaskTable.tsx"],"sourcesContent":["import ColumnHeader from '@/components/TanStackTable/ColumnHeader'\nimport { getGridSourceIdForTask } from '@/features/entity/metadata-task/utils/getGridSourceIdForTask'\nimport { useGetCurationTasksInfinite } from '@/synapse-queries/curation/task/useCurationTask'\nimport { useGetEntityBundle } from '@/synapse-queries/index'\nimport { formatDate } from '@/utils/functions/DateFormatter'\nimport { getLinkToEntityPage } from '@/utils/functions/getSynapseWebClientLink'\nimport { Link } from '@mui/material'\nimport {\n ListCurationTaskRequest,\n TaskBundle,\n} from '@sage-bionetworks/synapse-client'\nimport {\n createColumnHelper,\n getCoreRowModel,\n Table,\n useReactTable,\n} from '@tanstack/react-table'\nimport dayjs from 'dayjs'\nimport { useMemo } from 'react'\nimport MetadataTaskTableActionCell from '../components/MetadataTaskTableActionCell'\nimport MetadataTasksTableAssigneeCell from '../components/MetadataTasksTableAssigneeCell'\n\nfunction getColumns(canEdit: boolean) {\n const columnHelper = createColumnHelper<TaskBundle>()\n return [\n columnHelper.accessor('task.dataType', {\n header: props => <ColumnHeader {...props} title={'Task'} />,\n cell: ({ row, getValue }) => {\n const entityId = getGridSourceIdForTask(row.original.task!)\n return <Link href={getLinkToEntityPage(entityId)}>{getValue()}</Link>\n },\n enableSorting: false,\n enableColumnFilter: false,\n }),\n columnHelper.accessor('task.taskId', {\n header: props => <ColumnHeader {...props} title={'Task ID'} />,\n cell: ({ getValue }) => <p>{getValue()}</p>,\n enableSorting: false,\n enableColumnFilter: false,\n }),\n columnHelper.accessor('task.instructions', {\n header: props => <ColumnHeader {...props} title={'Instructions'} />,\n cell: ({ getValue }) => <p>{getValue()}</p>,\n enableSorting: false,\n enableColumnFilter: false,\n }),\n columnHelper.accessor('task.assigneePrincipalId', {\n header: props => <ColumnHeader {...props} title={'Assignee'} />,\n cell: ({ row }) => (\n <MetadataTasksTableAssigneeCell\n taskBundle={row.original}\n canEdit={canEdit}\n />\n ),\n enableSorting: false,\n enableColumnFilter: false,\n }),\n columnHelper.accessor('task.modifiedOn', {\n header: props => <ColumnHeader {...props} title={'Modified On'} />,\n cell: ({ getValue }) => formatDate(dayjs(getValue())),\n enableSorting: false,\n enableColumnFilter: false,\n }),\n columnHelper.display({\n id: 'actions',\n header: props => <ColumnHeader {...props} title={'Actions'} />,\n cell: ({ row }) => (\n <MetadataTaskTableActionCell\n taskBundle={row.original}\n canEdit={canEdit}\n />\n ),\n }),\n ]\n}\n\ntype UseMetadataTaskTableOptions = {\n listCurationTaskRequest: ListCurationTaskRequest\n}\n\n/**\n * Provides a table instance and loading states for displaying metadata curation tasks associated with a project.\n */\nexport function useMetadataTaskTable(opts: UseMetadataTaskTableOptions) {\n const { listCurationTaskRequest } = opts\n\n const {\n data,\n hasNextPage,\n fetchNextPage,\n isLoading: isLoadingTasks,\n isFetchingNextPage,\n } = useGetCurationTasksInfinite(listCurationTaskRequest)\n\n const { data: projectBundle, isLoading: isLoadingProjectBundle } =\n useGetEntityBundle(\n listCurationTaskRequest.projectId,\n undefined,\n { includePermissions: true },\n {\n enabled: !!listCurationTaskRequest.projectId,\n },\n )\n\n const canEditTasks = projectBundle?.permissions?.canEdit ?? false\n\n const tasks = useMemo(\n () => data?.pages.flatMap(page => page.bundlePage!) ?? [],\n [data],\n )\n\n const table: Table<TaskBundle> = useReactTable<TaskBundle>({\n data: tasks,\n columns
|
|
1
|
+
{"version":3,"file":"useMetadataTaskTable.js","names":[],"sources":["../../../../../src/features/entity/metadata-task/hooks/useMetadataTaskTable.tsx"],"sourcesContent":["import ColumnHeader from '@/components/TanStackTable/ColumnHeader'\nimport { getGridSourceIdForTask } from '@/features/entity/metadata-task/utils/getGridSourceIdForTask'\nimport { useGetCurationTasksInfinite } from '@/synapse-queries/curation/task/useCurationTask'\nimport { useGetEntityBundle } from '@/synapse-queries/index'\nimport { formatDate } from '@/utils/functions/DateFormatter'\nimport { getLinkToEntityPage } from '@/utils/functions/getSynapseWebClientLink'\nimport { Link } from '@mui/material'\nimport {\n ListCurationTaskRequest,\n TaskBundle,\n} from '@sage-bionetworks/synapse-client'\nimport {\n createColumnHelper,\n getCoreRowModel,\n Table,\n useReactTable,\n} from '@tanstack/react-table'\nimport dayjs from 'dayjs'\nimport { useMemo } from 'react'\nimport MetadataTaskTableActionCell from '../components/MetadataTaskTableActionCell'\nimport MetadataTasksTableAssigneeCell from '../components/MetadataTasksTableAssigneeCell'\n\nfunction getColumns(canEdit: boolean) {\n const columnHelper = createColumnHelper<TaskBundle>()\n return [\n columnHelper.accessor('task.dataType', {\n header: props => <ColumnHeader {...props} title={'Task'} />,\n cell: ({ row, getValue }) => {\n const entityId = getGridSourceIdForTask(row.original.task!)\n return <Link href={getLinkToEntityPage(entityId)}>{getValue()}</Link>\n },\n enableSorting: false,\n enableColumnFilter: false,\n }),\n columnHelper.accessor('task.taskId', {\n header: props => <ColumnHeader {...props} title={'Task ID'} />,\n cell: ({ getValue }) => <p>{getValue()}</p>,\n enableSorting: false,\n enableColumnFilter: false,\n }),\n columnHelper.accessor('task.instructions', {\n header: props => <ColumnHeader {...props} title={'Instructions'} />,\n cell: ({ getValue }) => <p>{getValue()}</p>,\n enableSorting: false,\n enableColumnFilter: false,\n }),\n columnHelper.accessor('task.assigneePrincipalId', {\n header: props => <ColumnHeader {...props} title={'Assignee'} />,\n cell: ({ row }) => (\n <MetadataTasksTableAssigneeCell\n taskBundle={row.original}\n canEdit={canEdit}\n />\n ),\n enableSorting: false,\n enableColumnFilter: false,\n }),\n columnHelper.accessor('task.modifiedOn', {\n header: props => <ColumnHeader {...props} title={'Modified On'} />,\n cell: ({ getValue }) => formatDate(dayjs(getValue())),\n enableSorting: false,\n enableColumnFilter: false,\n }),\n columnHelper.display({\n id: 'actions',\n header: props => <ColumnHeader {...props} title={'Actions'} />,\n cell: ({ row }) => (\n <MetadataTaskTableActionCell\n taskBundle={row.original}\n canEdit={canEdit}\n />\n ),\n }),\n ]\n}\n\ntype UseMetadataTaskTableOptions = {\n listCurationTaskRequest: ListCurationTaskRequest\n}\n\n/**\n * Provides a table instance and loading states for displaying metadata curation tasks associated with a project.\n */\nexport function useMetadataTaskTable(opts: UseMetadataTaskTableOptions) {\n const { listCurationTaskRequest } = opts\n\n const {\n data,\n hasNextPage,\n fetchNextPage,\n isLoading: isLoadingTasks,\n isFetchingNextPage,\n } = useGetCurationTasksInfinite(listCurationTaskRequest)\n\n const { data: projectBundle, isLoading: isLoadingProjectBundle } =\n useGetEntityBundle(\n listCurationTaskRequest.projectId,\n undefined,\n { includePermissions: true },\n {\n enabled: !!listCurationTaskRequest.projectId,\n },\n )\n\n const canEditTasks = projectBundle?.permissions?.canEdit ?? false\n\n const tasks = useMemo(\n () => data?.pages.flatMap(page => page.bundlePage!) ?? [],\n [data],\n )\n\n const columns = useMemo(() => getColumns(canEditTasks), [canEditTasks])\n\n const table: Table<TaskBundle> = useReactTable<TaskBundle>({\n data: tasks,\n columns,\n getRowId: row => String(row.task!.taskId!),\n getCoreRowModel: getCoreRowModel(),\n columnResizeMode: 'onChange',\n manualSorting: false,\n meta: {\n getWrapInExpandableTd: cell => cell.column.id === 'instructions',\n },\n })\n\n return {\n table,\n isLoading: isLoadingTasks || isLoadingProjectBundle,\n hasNextPage,\n fetchNextPage,\n isFetchingNextPage,\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAsBA,SAAS,EAAW,GAAkB;CACpC,IAAM,IAAe,EAA+B;CACpD,OAAO;EACL,EAAa,SAAS,iBAAiB;GACrC,SAAQ,MAAS,kBAAC,GAAD;IAAc,GAAI;IAAO,OAAO;GAAS,CAAA;GAC1D,OAAO,EAAE,QAAK,kBAEL,kBAAC,GAAD;IAAM,MAAM,EADF,EAAuB,EAAI,SAAS,IACd,CAAQ;cAAI,EAAS;GAAQ,CAAA;GAEtE,eAAe;GACf,oBAAoB;EACtB,CAAC;EACD,EAAa,SAAS,eAAe;GACnC,SAAQ,MAAS,kBAAC,GAAD;IAAc,GAAI;IAAO,OAAO;GAAY,CAAA;GAC7D,OAAO,EAAE,kBAAe,kBAAC,KAAD,EAAA,UAAI,EAAS,EAAK,CAAA;GAC1C,eAAe;GACf,oBAAoB;EACtB,CAAC;EACD,EAAa,SAAS,qBAAqB;GACzC,SAAQ,MAAS,kBAAC,GAAD;IAAc,GAAI;IAAO,OAAO;GAAiB,CAAA;GAClE,OAAO,EAAE,kBAAe,kBAAC,KAAD,EAAA,UAAI,EAAS,EAAK,CAAA;GAC1C,eAAe;GACf,oBAAoB;EACtB,CAAC;EACD,EAAa,SAAS,4BAA4B;GAChD,SAAQ,MAAS,kBAAC,GAAD;IAAc,GAAI;IAAO,OAAO;GAAa,CAAA;GAC9D,OAAO,EAAE,aACP,kBAAC,GAAD;IACE,YAAY,EAAI;IACP;GACV,CAAA;GAEH,eAAe;GACf,oBAAoB;EACtB,CAAC;EACD,EAAa,SAAS,mBAAmB;GACvC,SAAQ,MAAS,kBAAC,GAAD;IAAc,GAAI;IAAO,OAAO;GAAgB,CAAA;GACjE,OAAO,EAAE,kBAAe,EAAW,EAAM,EAAS,CAAC,CAAC;GACpD,eAAe;GACf,oBAAoB;EACtB,CAAC;EACD,EAAa,QAAQ;GACnB,IAAI;GACJ,SAAQ,MAAS,kBAAC,GAAD;IAAc,GAAI;IAAO,OAAO;GAAY,CAAA;GAC7D,OAAO,EAAE,aACP,kBAAC,GAAD;IACE,YAAY,EAAI;IACP;GACV,CAAA;EAEL,CAAC;CACH;AACF;AASA,SAAgB,EAAqB,GAAmC;CACtE,IAAM,EAAE,+BAA4B,GAE9B,EACJ,SACA,gBACA,kBACA,WAAW,GACX,0BACE,EAA4B,CAAuB,GAEjD,EAAE,MAAM,GAAe,WAAW,MACtC,EACE,EAAwB,WACxB,KAAA,GACA,EAAE,oBAAoB,GAAK,GAC3B,EACE,SAAS,CAAC,CAAC,EAAwB,UACrC,CACF,GAEI,IAAe,GAAe,aAAa,WAAW;CAqB5D,OAAO;EACL,OAb+B,EAA0B;GACzD,MARY,QACN,GAAM,MAAM,SAAQ,MAAQ,EAAK,UAAW,KAAK,CAAC,GACxD,CAAC,CAAI,CAMC;GACN,SAJc,QAAc,EAAW,CAAY,GAAG,CAAC,CAAY,CAInE;GACA,WAAU,MAAO,OAAO,EAAI,KAAM,MAAO;GACzC,iBAAiB,EAAgB;GACjC,kBAAkB;GAClB,eAAe;GACf,MAAM,EACJ,wBAAuB,MAAQ,EAAK,OAAO,OAAO,eACpD;EACF,CAGE;EACA,WAAW,KAAkB;EAC7B;EACA;EACA;CACF;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useOpenCuratorButton.js","names":[],"sources":["../../../../../src/features/entity/metadata-task/hooks/useOpenCuratorButton.ts"],"sourcesContent":["import { displayToast } from '@/components'\nimport { useGetEntityPermissions } from '@/synapse-queries'\nimport {\n GridSession,\n SynapseClientError,\n TaskBundle,\n} from '@sage-bionetworks/synapse-client'\nimport { useCallback } from 'react'\nimport {\n OPEN_CURATOR_ERROR_TITLE,\n OPEN_CURATOR_UNAUTHORIZED_ERROR_MESSAGE,\n} from '../utils/constants'\nimport { getGridSourceIdForTask } from '../utils/getGridSourceIdForTask'\nimport useGridSessionForCurationTask from './useGridSessionForCurationTask'\nimport useGridSessionForCurationTask_legacy from './useGridSessionForCurationTask_legacy'\nimport { getLinkToGridSession } from '@/utils/functions/getSynapseWebClientLink'\n\ntype UseOpenCuratorFromTaskButtonReturn = {\n isLoading: boolean\n isPending: boolean\n hasPermission?: boolean\n onClick: () => void\n}\n\nfunction openGridSessionInNewWindow(gridSessionId: string, taskId: number) {\n const gridUrl = getLinkToGridSession(gridSessionId, taskId)\n window.open(gridUrl, '_blank', 'noopener')\n}\n\nexport default function useOpenCuratorFromTaskButton(\n taskBundle: TaskBundle,\n): UseOpenCuratorFromTaskButtonReturn {\n const curationTask = taskBundle.task!\n\n const taskProperties = curationTask.taskProperties\n const suggestedAuthorizationMode =\n taskProperties != null && 'suggestedAuthorizationMode' in taskProperties\n ? taskProperties.suggestedAuthorizationMode\n : undefined\n\n const useTaskLinkedSession = suggestedAuthorizationMode != null\n\n const {\n mutateAsync: getOrCreateLegacyGridSessionForUnassignedTask,\n isPending: legacyOpenGridIsPending,\n } = useGridSessionForCurationTask_legacy()\n\n const {\n mutateAsync: getOrCreateTaskLinkedGridSession,\n isPending: taskLinkedOpenGridIsPending,\n } = useGridSessionForCurationTask()\n\n const gridSourceEntityId = getGridSourceIdForTask(curationTask)\n const {\n data: sourceEntityPermissions,\n isLoading: isLoadingEntityPermissions,\n } = useGetEntityPermissions(gridSourceEntityId)\n\n const hasPermission = sourceEntityPermissions?.canView\n\n const openNewOrExistingCuratorSession = useCallback(async () => {\n let gridSession: GridSession\n try {\n if (useTaskLinkedSession) {\n const result = await getOrCreateTaskLinkedGridSession(taskBundle)\n gridSession = result.gridSession\n } else {\n gridSession = await getOrCreateLegacyGridSessionForUnassignedTask({\n curationTask,\n })\n }\n openGridSessionInNewWindow(gridSession.sessionId!, curationTask.taskId!)\n } catch (error) {\n if (error instanceof SynapseClientError && error.status === 403) {\n console.error(error)\n displayToast(OPEN_CURATOR_UNAUTHORIZED_ERROR_MESSAGE, 'danger', {\n title: OPEN_CURATOR_ERROR_TITLE,\n })\n } else {\n console.error('Error opening Curator for curation task', error)\n const errorMessage =\n error instanceof Error ? error.message : String(error)\n displayToast(errorMessage, 'danger', {\n title: OPEN_CURATOR_ERROR_TITLE,\n })\n }\n }\n }, [\n curationTask,\n taskBundle,\n useTaskLinkedSession,\n getOrCreateLegacyGridSessionForUnassignedTask,\n getOrCreateTaskLinkedGridSession,\n ])\n\n const handleClickOpenCurator = useCallback(() => {\n void openNewOrExistingCuratorSession()\n }, [openNewOrExistingCuratorSession])\n\n return {\n hasPermission,\n isLoading: isLoadingEntityPermissions,\n isPending: useTaskLinkedSession\n ? taskLinkedOpenGridIsPending\n : legacyOpenGridIsPending,\n onClick: handleClickOpenCurator,\n }\n}\n"],"mappings":";;;;;;;;;;;;AAwBA,SAAS,EAA2B,GAAuB,GAAgB;CACzE,IAAM,IAAU,EAAqB,GAAe,
|
|
1
|
+
{"version":3,"file":"useOpenCuratorButton.js","names":[],"sources":["../../../../../src/features/entity/metadata-task/hooks/useOpenCuratorButton.ts"],"sourcesContent":["import { displayToast } from '@/components'\nimport { useGetEntityPermissions } from '@/synapse-queries'\nimport {\n GridSession,\n SynapseClientError,\n TaskBundle,\n} from '@sage-bionetworks/synapse-client'\nimport { useCallback } from 'react'\nimport {\n OPEN_CURATOR_ERROR_TITLE,\n OPEN_CURATOR_UNAUTHORIZED_ERROR_MESSAGE,\n} from '../utils/constants'\nimport { getGridSourceIdForTask } from '../utils/getGridSourceIdForTask'\nimport useGridSessionForCurationTask from './useGridSessionForCurationTask'\nimport useGridSessionForCurationTask_legacy from './useGridSessionForCurationTask_legacy'\nimport { getLinkToGridSession } from '@/utils/functions/getSynapseWebClientLink'\n\ntype UseOpenCuratorFromTaskButtonReturn = {\n isLoading: boolean\n isPending: boolean\n hasPermission?: boolean\n onClick: () => void\n}\n\nfunction openGridSessionInNewWindow(gridSessionId: string, taskId: number) {\n const gridUrl = getLinkToGridSession(gridSessionId, taskId)\n window.open(gridUrl, '_blank', 'noopener')\n}\n\nexport default function useOpenCuratorFromTaskButton(\n taskBundle: TaskBundle,\n): UseOpenCuratorFromTaskButtonReturn {\n const curationTask = taskBundle.task!\n\n const taskProperties = curationTask.taskProperties\n const suggestedAuthorizationMode =\n taskProperties != null && 'suggestedAuthorizationMode' in taskProperties\n ? taskProperties.suggestedAuthorizationMode\n : undefined\n\n const useTaskLinkedSession = suggestedAuthorizationMode != null\n\n const {\n mutateAsync: getOrCreateLegacyGridSessionForUnassignedTask,\n isPending: legacyOpenGridIsPending,\n } = useGridSessionForCurationTask_legacy()\n\n const {\n mutateAsync: getOrCreateTaskLinkedGridSession,\n isPending: taskLinkedOpenGridIsPending,\n } = useGridSessionForCurationTask()\n\n const gridSourceEntityId = getGridSourceIdForTask(curationTask)\n const {\n data: sourceEntityPermissions,\n isLoading: isLoadingEntityPermissions,\n } = useGetEntityPermissions(gridSourceEntityId)\n\n const hasPermission = sourceEntityPermissions?.canView\n\n const openNewOrExistingCuratorSession = useCallback(async () => {\n let gridSession: GridSession\n try {\n if (useTaskLinkedSession) {\n const result = await getOrCreateTaskLinkedGridSession(taskBundle)\n gridSession = result.gridSession\n } else {\n gridSession = await getOrCreateLegacyGridSessionForUnassignedTask({\n curationTask,\n })\n }\n openGridSessionInNewWindow(gridSession.sessionId!, curationTask.taskId!)\n } catch (error) {\n if (error instanceof SynapseClientError && error.status === 403) {\n console.error(error)\n displayToast(OPEN_CURATOR_UNAUTHORIZED_ERROR_MESSAGE, 'danger', {\n title: OPEN_CURATOR_ERROR_TITLE,\n })\n } else {\n console.error('Error opening Curator for curation task', error)\n const errorMessage =\n error instanceof Error ? error.message : String(error)\n displayToast(errorMessage, 'danger', {\n title: OPEN_CURATOR_ERROR_TITLE,\n })\n }\n }\n }, [\n curationTask,\n taskBundle,\n useTaskLinkedSession,\n getOrCreateLegacyGridSessionForUnassignedTask,\n getOrCreateTaskLinkedGridSession,\n ])\n\n const handleClickOpenCurator = useCallback(() => {\n void openNewOrExistingCuratorSession()\n }, [openNewOrExistingCuratorSession])\n\n return {\n hasPermission,\n isLoading: isLoadingEntityPermissions,\n isPending: useTaskLinkedSession\n ? taskLinkedOpenGridIsPending\n : legacyOpenGridIsPending,\n onClick: handleClickOpenCurator,\n }\n}\n"],"mappings":";;;;;;;;;;;;AAwBA,SAAS,EAA2B,GAAuB,GAAgB;CACzE,IAAM,IAAU,EAAqB,GAAe,CAAM;CAC1D,OAAO,KAAK,GAAS,UAAU,UAAU;AAC3C;AAEA,SAAwB,EACtB,GACoC;CACpC,IAAM,IAAe,EAAW,MAE1B,IAAiB,EAAa,gBAM9B,KAJJ,KAAkB,QAAQ,gCAAgC,IACtD,EAAe,6BACf,KAAA,MAEqD,MAErD,EACJ,aAAa,GACb,WAAW,MACT,EAAqC,GAEnC,EACJ,aAAa,GACb,WAAW,MACT,EAA8B,GAG5B,EACJ,MAAM,GACN,WAAW,MACT,EAJuB,EAAuB,CAItB,CAAkB,GAExC,IAAgB,GAAyB,SAEzC,IAAkC,EAAY,YAAY;EAC9D,IAAI;EACJ,IAAI;GASF,AARA,AAIE,IAJE,KAEY,MADO,EAAiC,CAAU,GAC3C,cAEP,MAAM,EAA8C,EAChE,gBACF,CAAC,GAEH,EAA2B,EAAY,WAAY,EAAa,MAAO;EACzE,SAAS,GAAO;GACd,AAAI,aAAiB,KAAsB,EAAM,WAAW,OAC1D,QAAQ,MAAM,CAAK,GACnB,EAAa,GAAyC,UAAU,EAC9D,OAAO,EACT,CAAC,MAED,QAAQ,MAAM,2CAA2C,CAAK,GAG9D,EADE,aAAiB,QAAQ,EAAM,UAAU,OAAO,CAAK,GAC5B,UAAU,EACnC,OAAO,EACT,CAAC;EAEL;CACF,GAAG;EACD;EACA;EACA;EACA;EACA;CACF,CAAC,GAEK,IAAyB,QAAkB;EAC/C,EAAqC;CACvC,GAAG,CAAC,CAA+B,CAAC;CAEpC,OAAO;EACL;EACA,WAAW;EACX,WAAW,IACP,IACA;EACJ,SAAS;CACX;AACF"}
|
|
@@ -13,9 +13,12 @@ export declare const FILE_BASED_FILE_VIEW_INPUT_DESCRIPTION = "Select the Synaps
|
|
|
13
13
|
export declare const RECORD_BASED_TASK_TITLE = "Records-Based Data";
|
|
14
14
|
export declare const RECORD_BASED_TASK_DESCRIPTION = "Data consists of a CSV containing records as individual rows.\nRequirements: A schema for this data type exists in the system.";
|
|
15
15
|
export declare const RECORD_BASED_RECORD_SET_INPUT_DESCRIPTION = "Select the Synapse record set that should be used for this task.";
|
|
16
|
-
export declare const
|
|
17
|
-
export declare const
|
|
18
|
-
export declare const
|
|
16
|
+
export declare const AUTH_MODE_NONE_TITLE = "Work independently";
|
|
17
|
+
export declare const AUTH_MODE_NONE_TOOLTIP = "This is the legacy behavior. Each contributor works on their own view of the data, based on what they personally have permission to edit. Without coordination, users may overwrite each other\u2019s annotations.";
|
|
18
|
+
export declare const AUTH_MODE_SESSION_OWNER_TITLE = "Share with assignees only";
|
|
19
|
+
export declare const AUTH_MODE_SESSION_OWNER_TOOLTIP = "The assigned user or team works together in one shared grid session. Only those assignees can join, and they\u2019ll only see rows that every assignee has permission to edit.";
|
|
20
|
+
export declare const AUTH_MODE_SOURCE_BENEFACTOR_TITLE = "Share with all editors";
|
|
21
|
+
export declare const AUTH_MODE_SOURCE_BENEFACTOR_TOOLTIP = "Contributors work together in one shared grid session. Anyone who has edit access to the task\u2019s data can join and edit the rows available in the session.";
|
|
19
22
|
export declare const TASK_NAME_INPUT_DESCRIPTION = "Specify the task name so that contributors know which task they should work on.";
|
|
20
23
|
export declare const TASK_INSTRUCTIONS_INPUT_DESCRIPTION = "(Optional) Provide instructions on how to complete the task.";
|
|
21
24
|
export declare const ASSIGNEE_TOOLTIP = "The user or team assigned to this task. If using 'Session Owner' authorization mode, the assignee is the default owner of the grid session. For team assignees in 'Session Owner' mode, any team member can access the session.";
|
|
@@ -23,6 +26,11 @@ export declare const COLLABORATORS_TOOLTIP = "Collaborators can contribute to th
|
|
|
23
26
|
export declare const UNRECOGNIZED_TASK_TYPE_ERROR = "This task has an unrecognized task type and cannot be edited here.";
|
|
24
27
|
export declare const AUTH_MODE_CHANGED_WARNING = "Changing the Authorization Mode will clear the active session ID on this task. Any in-progress grid session linked to this task will no longer be associated with it.";
|
|
25
28
|
export declare const GENERIC_SAVE_ERROR_MESSAGE = "An error occurred. Please try again.";
|
|
29
|
+
export declare const DELETE_CURATION_TASK_DIALOG_TITLE = "Delete Task";
|
|
30
|
+
export declare const DELETE_CURATION_TASK_CONFIRMATION_PROMPT = "Are you sure you want to delete this task? This action cannot be undone.";
|
|
31
|
+
export declare const DELETE_CURATION_TASK_GRID_SESSION_WARNING = "Any grid sessions associated with this task will also be deleted.";
|
|
32
|
+
export declare const DELETE_CURATION_TASK_SUCCESS_TOAST = "Task deleted successfully";
|
|
33
|
+
export declare const DELETE_CURATION_TASK_ERROR_TOAST_PREFIX = "Error deleting task: ";
|
|
26
34
|
export declare const UPLOAD_FOLDER_FINDER_TITLE = "Select Upload Folder";
|
|
27
35
|
export declare const UPLOAD_FOLDER_FINDER_PROMPT = "Select the folder where data files will be uploaded.";
|
|
28
36
|
export declare const FILE_VIEW_FINDER_TITLE = "Select File View";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../src/features/entity/metadata-task/utils/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB,mDACa,CAAA;AAClD,eAAO,MAAM,uCAAuC,gNAC2J,CAAA;AAE/M,eAAO,MAAM,0BAA0B,kCAAkC,CAAA;AACzE,eAAO,MAAM,kDAAkD,wDACR,CAAA;AACvD,eAAO,MAAM,6CAA6C,kIACuE,CAAA;AAIjI,eAAO,MAAM,iCAAiC,yBAAyB,CAAA;AACvE,eAAO,MAAM,+BAA+B,uBAAuB,CAAA;AAEnE,eAAO,MAAM,4BAA4B,8GACoE,CAAA;AAE7G,eAAO,MAAM,qBAAqB,oBAAoB,CAAA;AACtD,eAAO,MAAM,2BAA2B,2NACkL,CAAA;AAE1N,eAAO,MAAM,0CAA0C,0EACkB,CAAA;AACzE,eAAO,MAAM,sCAAsC,qLACiI,CAAA;AAEpL,eAAO,MAAM,uBAAuB,uBAAuB,CAAA;AAC3D,eAAO,MAAM,6BAA6B,mIACwF,CAAA;AAElI,eAAO,MAAM,yCAAyC,qEACc,CAAA;AAEpE,eAAO,MAAM,sBAAsB,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../src/features/entity/metadata-task/utils/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB,mDACa,CAAA;AAClD,eAAO,MAAM,uCAAuC,gNAC2J,CAAA;AAE/M,eAAO,MAAM,0BAA0B,kCAAkC,CAAA;AACzE,eAAO,MAAM,kDAAkD,wDACR,CAAA;AACvD,eAAO,MAAM,6CAA6C,kIACuE,CAAA;AAIjI,eAAO,MAAM,iCAAiC,yBAAyB,CAAA;AACvE,eAAO,MAAM,+BAA+B,uBAAuB,CAAA;AAEnE,eAAO,MAAM,4BAA4B,8GACoE,CAAA;AAE7G,eAAO,MAAM,qBAAqB,oBAAoB,CAAA;AACtD,eAAO,MAAM,2BAA2B,2NACkL,CAAA;AAE1N,eAAO,MAAM,0CAA0C,0EACkB,CAAA;AACzE,eAAO,MAAM,sCAAsC,qLACiI,CAAA;AAEpL,eAAO,MAAM,uBAAuB,uBAAuB,CAAA;AAC3D,eAAO,MAAM,6BAA6B,mIACwF,CAAA;AAElI,eAAO,MAAM,yCAAyC,qEACc,CAAA;AAEpE,eAAO,MAAM,oBAAoB,uBAAuB,CAAA;AACxD,eAAO,MAAM,sBAAsB,uNAC8K,CAAA;AAEjN,eAAO,MAAM,6BAA6B,8BAA8B,CAAA;AACxE,eAAO,MAAM,+BAA+B,mLACiI,CAAA;AAE7K,eAAO,MAAM,iCAAiC,2BAA2B,CAAA;AACzE,eAAO,MAAM,mCAAmC,mKAC6G,CAAA;AAE7J,eAAO,MAAM,2BAA2B,oFAC2C,CAAA;AACnF,eAAO,MAAM,mCAAmC,iEACgB,CAAA;AAEhE,eAAO,MAAM,gBAAgB,oOACsM,CAAA;AACnO,eAAO,MAAM,qBAAqB,oLAC+I,CAAA;AAEjL,eAAO,MAAM,4BAA4B,uEAC6B,CAAA;AACtE,eAAO,MAAM,yBAAyB,0KACmI,CAAA;AACzK,eAAO,MAAM,0BAA0B,yCAAyC,CAAA;AAEhF,eAAO,MAAM,iCAAiC,gBAAgB,CAAA;AAC9D,eAAO,MAAM,wCAAwC,6EACuB,CAAA;AAC5E,eAAO,MAAM,yCAAyC,sEACe,CAAA;AACrE,eAAO,MAAM,kCAAkC,8BAA8B,CAAA;AAC7E,eAAO,MAAM,uCAAuC,0BAA0B,CAAA;AAE9E,eAAO,MAAM,0BAA0B,yBAAyB,CAAA;AAChE,eAAO,MAAM,2BAA2B,yDACgB,CAAA;AAExD,eAAO,MAAM,sBAAsB,qBAAqB,CAAA;AACxD,eAAO,MAAM,uBAAuB,oEAC+B,CAAA;AAEnE,eAAO,MAAM,uBAAuB,sBAAsB,CAAA;AAC1D,eAAO,MAAM,wBAAwB,oEAC8B,CAAA"}
|