synapse-react-client 4.0.19 → 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 +1 -1
- package/dist/SWC.index.js +1 -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.js +28 -31
- package/dist/components/DataExplorer/DataExplorer.js.map +1 -1
- 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.js.map +1 -1
- 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.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.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.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.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.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.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.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 +4 -4
- 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.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 +9 -9
- 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.js +39 -42
- package/dist/components/table/CsvPreview/CreateTableFromCsvDialog.js.map +1 -1
- package/dist/components/table/CsvPreview/CsvPreview.js.map +1 -1
- package/dist/components/table/CsvPreview/CsvPreviewDialog.js.map +1 -1
- package/dist/components/table/CsvPreview/CsvPreviewWithOptions.js.map +1 -1
- package/dist/components/table/CsvPreview/CsvUploadPreviewContent.js.map +1 -1
- package/dist/components/table/CsvPreview/UpdateTableWithCsvDialog.js.map +1 -1
- package/dist/components/table/CsvPreview/useCreateTableFromCsv.js.map +1 -1
- package/dist/components/table/CsvPreview/useCsvUploadPreview.js +11 -11
- package/dist/components/table/CsvPreview/useCsvUploadPreview.js.map +1 -1
- package/dist/components/table/CsvPreview/useUploadCsvToExistingTable.js.map +1 -1
- 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.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 +5 -0
- 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.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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WordPressLatestPostChip.js","names":[],"sources":["../../../src/components/WordPress/WordPressLatestPostChip.tsx"],"sourcesContent":["import { Button, Chip } from '@mui/material'\nimport ArrowForwardIcon from '@mui/icons-material/ArrowForward'\nimport { useWordPressCategories } from './useWordPressCategories'\nimport { useWordPressPosts } from './useWordPressPosts'\nimport styles from './WordPressLatestPostChip.module.scss'\n\nexport type WordPressLatestPostChipProps = {\n wordpressSiteUrl: string\n}\n\nexport function WordPressLatestPostChip({\n wordpressSiteUrl,\n}: WordPressLatestPostChipProps) {\n const { data: posts } = useWordPressPosts(wordpressSiteUrl, 1)\n const { data: categories } = useWordPressCategories(wordpressSiteUrl)\n\n const post = posts?.[0]\n if (!post) return null\n\n const categoryName = categories?.find(c => c.id === post.categories[0])?.name\n\n return (\n <Button\n component=\"a\"\n href={post.link}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className={styles.chip}\n endIcon={<ArrowForwardIcon />}\n >\n <Chip label={categoryName} size=\"small\" className={styles.categoryChip} />\n <span dangerouslySetInnerHTML={{ __html: post.title.rendered }} />\n </Button>\n )\n}\n"],"mappings":";;;;;;;AAUA,SAAgB,EAAwB,EACtC,uBAC+B;CAC/B,IAAM,EAAE,MAAM,MAAU,EAAkB,GAAkB,
|
|
1
|
+
{"version":3,"file":"WordPressLatestPostChip.js","names":[],"sources":["../../../src/components/WordPress/WordPressLatestPostChip.tsx"],"sourcesContent":["import { Button, Chip } from '@mui/material'\nimport ArrowForwardIcon from '@mui/icons-material/ArrowForward'\nimport { useWordPressCategories } from './useWordPressCategories'\nimport { useWordPressPosts } from './useWordPressPosts'\nimport styles from './WordPressLatestPostChip.module.scss'\n\nexport type WordPressLatestPostChipProps = {\n wordpressSiteUrl: string\n}\n\nexport function WordPressLatestPostChip({\n wordpressSiteUrl,\n}: WordPressLatestPostChipProps) {\n const { data: posts } = useWordPressPosts(wordpressSiteUrl, 1)\n const { data: categories } = useWordPressCategories(wordpressSiteUrl)\n\n const post = posts?.[0]\n if (!post) return null\n\n const categoryName = categories?.find(c => c.id === post.categories[0])?.name\n\n return (\n <Button\n component=\"a\"\n href={post.link}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className={styles.chip}\n endIcon={<ArrowForwardIcon />}\n >\n <Chip label={categoryName} size=\"small\" className={styles.categoryChip} />\n <span dangerouslySetInnerHTML={{ __html: post.title.rendered }} />\n </Button>\n )\n}\n"],"mappings":";;;;;;;AAUA,SAAgB,EAAwB,EACtC,uBAC+B;CAC/B,IAAM,EAAE,MAAM,MAAU,EAAkB,GAAkB,CAAC,GACvD,EAAE,MAAM,MAAe,EAAuB,CAAgB,GAE9D,IAAO,IAAQ;CACrB,IAAI,CAAC,GAAM,OAAO;CAElB,IAAM,IAAe,GAAY,MAAK,MAAK,EAAE,OAAO,EAAK,WAAW,EAAE,GAAG;CAEzE,OACE,kBAAC,GAAD;EACE,WAAU;EACV,MAAM,EAAK;EACX,QAAO;EACP,KAAI;EACJ,WAAW,EAAO;EAClB,SAAS,kBAAC,GAAD,CAAmB,CAAA;YAN9B,CAQE,kBAAC,GAAD;GAAM,OAAO;GAAc,MAAK;GAAQ,WAAW,EAAO;EAAe,CAAA,GACzE,kBAAC,QAAD,EAAM,yBAAyB,EAAE,QAAQ,EAAK,MAAM,SAAS,EAAI,CAAA,CAC3D;;AAEZ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useWordPressCategories.js","names":[],"sources":["../../../src/components/WordPress/useWordPressCategories.ts"],"sourcesContent":["import { useQuery } from '@tanstack/react-query'\nimport { WordPressCategory } from '../SynapseHomepageV2/WordPressNewsItem'\n\nasync function fetchWordPressCategories(\n wordpressSiteUrl: string,\n): Promise<WordPressCategory[]> {\n const url = new URL(`${wordpressSiteUrl}/wp-json/wp/v2/categories`)\n url.searchParams.set('_fields', 'id,name,slug')\n const response = await fetch(url.toString())\n if (!response.ok) {\n throw new Error(\n `Failed to fetch WordPress categories: ${response.statusText}`,\n )\n }\n return response.json() as Promise<WordPressCategory[]>\n}\n\nexport function useWordPressCategories(wordpressSiteUrl: string) {\n return useQuery({\n queryKey: ['wordpressCategories', wordpressSiteUrl],\n queryFn: () => fetchWordPressCategories(wordpressSiteUrl),\n })\n}\n"],"mappings":";;AAGA,eAAe,EACb,GAC8B;CAC9B,IAAM,IAAM,IAAI,IAAI,GAAG,EAAiB,
|
|
1
|
+
{"version":3,"file":"useWordPressCategories.js","names":[],"sources":["../../../src/components/WordPress/useWordPressCategories.ts"],"sourcesContent":["import { useQuery } from '@tanstack/react-query'\nimport { WordPressCategory } from '../SynapseHomepageV2/WordPressNewsItem'\n\nasync function fetchWordPressCategories(\n wordpressSiteUrl: string,\n): Promise<WordPressCategory[]> {\n const url = new URL(`${wordpressSiteUrl}/wp-json/wp/v2/categories`)\n url.searchParams.set('_fields', 'id,name,slug')\n const response = await fetch(url.toString())\n if (!response.ok) {\n throw new Error(\n `Failed to fetch WordPress categories: ${response.statusText}`,\n )\n }\n return response.json() as Promise<WordPressCategory[]>\n}\n\nexport function useWordPressCategories(wordpressSiteUrl: string) {\n return useQuery({\n queryKey: ['wordpressCategories', wordpressSiteUrl],\n queryFn: () => fetchWordPressCategories(wordpressSiteUrl),\n })\n}\n"],"mappings":";;AAGA,eAAe,EACb,GAC8B;CAC9B,IAAM,IAAM,IAAI,IAAI,GAAG,EAAiB,0BAA0B;CAClE,EAAI,aAAa,IAAI,WAAW,cAAc;CAC9C,IAAM,IAAW,MAAM,MAAM,EAAI,SAAS,CAAC;CAC3C,IAAI,CAAC,EAAS,IACZ,MAAU,MACR,yCAAyC,EAAS,YACpD;CAEF,OAAO,EAAS,KAAK;AACvB;AAEA,SAAgB,EAAuB,GAA0B;CAC/D,OAAO,EAAS;EACd,UAAU,CAAC,uBAAuB,CAAgB;EAClD,eAAe,EAAyB,CAAgB;CAC1D,CAAC;AACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useWordPressPosts.js","names":[],"sources":["../../../src/components/WordPress/useWordPressPosts.ts"],"sourcesContent":["import { useQuery } from '@tanstack/react-query'\nimport { WordPressPost } from '../SynapseHomepageV2/WordPressNewsItem'\n\nasync function fetchWordPressPosts(\n wordpressSiteUrl: string,\n postCount: number,\n): Promise<WordPressPost[]> {\n const url = new URL(`${wordpressSiteUrl}/wp-json/wp/v2/posts`)\n url.searchParams.set('per_page', String(postCount))\n url.searchParams.set('orderby', 'date')\n url.searchParams.set('order', 'desc')\n url.searchParams.set('_fields', 'id,date,link,title,categories')\n const response = await fetch(url.toString())\n if (!response.ok) {\n throw new Error(`Failed to fetch WordPress posts: ${response.statusText}`)\n }\n return response.json() as Promise<WordPressPost[]>\n}\n\nexport function useWordPressPosts(wordpressSiteUrl: string, postCount: number) {\n return useQuery({\n queryKey: ['wordpressPosts', wordpressSiteUrl, postCount],\n queryFn: () => fetchWordPressPosts(wordpressSiteUrl, postCount),\n })\n}\n"],"mappings":";;AAGA,eAAe,EACb,GACA,GAC0B;CAC1B,IAAM,IAAM,IAAI,IAAI,GAAG,EAAiB,
|
|
1
|
+
{"version":3,"file":"useWordPressPosts.js","names":[],"sources":["../../../src/components/WordPress/useWordPressPosts.ts"],"sourcesContent":["import { useQuery } from '@tanstack/react-query'\nimport { WordPressPost } from '../SynapseHomepageV2/WordPressNewsItem'\n\nasync function fetchWordPressPosts(\n wordpressSiteUrl: string,\n postCount: number,\n): Promise<WordPressPost[]> {\n const url = new URL(`${wordpressSiteUrl}/wp-json/wp/v2/posts`)\n url.searchParams.set('per_page', String(postCount))\n url.searchParams.set('orderby', 'date')\n url.searchParams.set('order', 'desc')\n url.searchParams.set('_fields', 'id,date,link,title,categories')\n const response = await fetch(url.toString())\n if (!response.ok) {\n throw new Error(`Failed to fetch WordPress posts: ${response.statusText}`)\n }\n return response.json() as Promise<WordPressPost[]>\n}\n\nexport function useWordPressPosts(wordpressSiteUrl: string, postCount: number) {\n return useQuery({\n queryKey: ['wordpressPosts', wordpressSiteUrl, postCount],\n queryFn: () => fetchWordPressPosts(wordpressSiteUrl, postCount),\n })\n}\n"],"mappings":";;AAGA,eAAe,EACb,GACA,GAC0B;CAC1B,IAAM,IAAM,IAAI,IAAI,GAAG,EAAiB,qBAAqB;CAI7D,AAHA,EAAI,aAAa,IAAI,YAAY,OAAO,CAAS,CAAC,GAClD,EAAI,aAAa,IAAI,WAAW,MAAM,GACtC,EAAI,aAAa,IAAI,SAAS,MAAM,GACpC,EAAI,aAAa,IAAI,WAAW,+BAA+B;CAC/D,IAAM,IAAW,MAAM,MAAM,EAAI,SAAS,CAAC;CAC3C,IAAI,CAAC,EAAS,IACZ,MAAU,MAAM,oCAAoC,EAAS,YAAY;CAE3E,OAAO,EAAS,KAAK;AACvB;AAEA,SAAgB,EAAkB,GAA0B,GAAmB;CAC7E,OAAO,EAAS;EACd,UAAU;GAAC;GAAkB;GAAkB;EAAS;EACxD,eAAe,EAAoB,GAAkB,CAAS;CAChE,CAAC;AACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccessApprovalsTable.js","names":[],"sources":["../../../src/components/dataaccess/AccessApprovalsTable.tsx"],"sourcesContent":["import InfiniteTableLayout from '@/components/layout/InfiniteTableLayout'\nimport { useSearchAccessApprovalsInfinite } from '@/synapse-queries/dataaccess/useAccessApprovals'\nimport { formatDate } from '@/utils/functions/DateFormatter'\nimport { PRODUCTION_ENDPOINT_CONFIG } from '@/utils/functions/getEndpoint'\nimport {\n AccessApprovalSearchRequest,\n AccessApprovalSearchResult,\n AccessApprovalSearchSort,\n AccessApprovalSortField,\n Direction,\n} from '@sage-bionetworks/synapse-types'\nimport {\n createColumnHelper,\n getCoreRowModel,\n SortingState,\n useReactTable,\n} from '@tanstack/react-table'\nimport dayjs from 'dayjs'\nimport { upperFirst } from 'lodash-es'\nimport { useMemo, useState } from 'react'\nimport ColumnHeader from '../TanStackTable/ColumnHeader'\nimport StyledTanStackTable from '../TanStackTable/StyledTanStackTable'\nimport UserOrTeamBadge from '../UserOrTeamBadge/index'\n\nconst columnHelper = createColumnHelper<AccessApprovalSearchResult>()\nconst columns = [\n columnHelper.accessor('accessRequirementId', {\n header: props => <ColumnHeader {...props} title={'AR ID'} />,\n enableSorting: false,\n cell: ctx => (\n <a\n href={`${\n PRODUCTION_ENDPOINT_CONFIG.PORTAL\n }AccessRequirement:AR_ID=${ctx.getValue()}`}\n target={'_blank'}\n >\n {ctx.getValue()}\n </a>\n ),\n }),\n columnHelper.accessor('accessRequirementName', {\n header: props => (\n <ColumnHeader {...props} title={'Access Requirement Name'} />\n ),\n enableSorting: false,\n }),\n columnHelper.accessor('submitterId', {\n header: props => <ColumnHeader {...props} title={'Submitter'} />,\n enableSorting: false,\n cell: ctx => <UserOrTeamBadge principalId={ctx.getValue()} />,\n }),\n columnHelper.accessor('state', {\n header: props => <ColumnHeader {...props} title={'Status'} />,\n enableSorting: false,\n cell: ctx => upperFirst(ctx.getValue().toLocaleLowerCase()),\n }),\n columnHelper.accessor('modifiedOn', {\n header: props => <ColumnHeader {...props} title={'Modified Date'} />,\n enableSorting: true,\n cell: ctx => formatDate(dayjs(ctx.getValue())),\n }),\n columnHelper.accessor('expiredOn', {\n header: props => <ColumnHeader {...props} title={'Expires'} />,\n enableSorting: true,\n cell: ctx => (\n <span\n className={`${\n ctx.getValue()\n ? new Date() > new Date(ctx.getValue())\n ? 'expired'\n : ''\n : 'non-expire'\n } remove-border`}\n >\n {ctx.getValue() ? formatDate(dayjs(ctx.getValue())) : 'Never'}\n </span>\n ),\n }),\n]\n\nfunction getSortApiRequestFromTableSortState(\n sortingState: SortingState,\n): AccessApprovalSearchSort[] | undefined {\n if (sortingState.length === 0) {\n return undefined\n }\n const sort = sortingState[0]\n let field: AccessApprovalSortField = AccessApprovalSortField.MODIFIED_ON\n if (sort.id === 'modifiedOn') {\n field = AccessApprovalSortField.MODIFIED_ON\n } else if (sort.id === 'expiredOn') {\n field = AccessApprovalSortField.EXPIRED_ON\n }\n return [\n {\n field,\n direction: sort.desc ? Direction.DESC : Direction.ASC,\n },\n ]\n}\n\nexport type AccessApprovalsTableProps = {\n accessorId: string\n accessRequirementId?: string\n}\nexport function AccessApprovalsTable({\n accessorId,\n accessRequirementId,\n}: AccessApprovalsTableProps) {\n const [tableSortState, setTableSortState] = useState<SortingState>([\n {\n desc: true,\n id: 'modifiedOn',\n },\n ])\n\n const searchRequest: AccessApprovalSearchRequest = useMemo(\n () => ({\n accessorId,\n accessRequirementId,\n sort: getSortApiRequestFromTableSortState(tableSortState),\n }),\n [accessorId, accessRequirementId, tableSortState],\n )\n\n const { data, hasNextPage, fetchNextPage, isLoading, isFetchingNextPage } =\n useSearchAccessApprovalsInfinite(searchRequest)\n const accessApprovals = useMemo(\n () => data?.pages.flatMap(page => page.results) ?? [],\n [data?.pages],\n )\n\n const table = useReactTable<AccessApprovalSearchResult>({\n data: accessApprovals,\n columns: columns,\n getCoreRowModel: getCoreRowModel(),\n manualSorting: true,\n onSortingChange: setTableSortState,\n state: {\n sorting: tableSortState,\n },\n columnResizeMode: 'onChange',\n })\n\n const isEmpty = !isLoading && table.getRowModel().rows.length === 0\n\n return (\n <div className=\"AccessApprovalsTable\">\n <InfiniteTableLayout\n table={<StyledTanStackTable table={table} />}\n isLoading={isLoading}\n isEmpty={isEmpty}\n hasNextPage={hasNextPage}\n onFetchNextPageClicked={() => {\n void fetchNextPage()\n }}\n isFetchingNextPage={isFetchingNextPage}\n />\n </div>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;AAwBA,IAAM,IAAe,
|
|
1
|
+
{"version":3,"file":"AccessApprovalsTable.js","names":[],"sources":["../../../src/components/dataaccess/AccessApprovalsTable.tsx"],"sourcesContent":["import InfiniteTableLayout from '@/components/layout/InfiniteTableLayout'\nimport { useSearchAccessApprovalsInfinite } from '@/synapse-queries/dataaccess/useAccessApprovals'\nimport { formatDate } from '@/utils/functions/DateFormatter'\nimport { PRODUCTION_ENDPOINT_CONFIG } from '@/utils/functions/getEndpoint'\nimport {\n AccessApprovalSearchRequest,\n AccessApprovalSearchResult,\n AccessApprovalSearchSort,\n AccessApprovalSortField,\n Direction,\n} from '@sage-bionetworks/synapse-types'\nimport {\n createColumnHelper,\n getCoreRowModel,\n SortingState,\n useReactTable,\n} from '@tanstack/react-table'\nimport dayjs from 'dayjs'\nimport { upperFirst } from 'lodash-es'\nimport { useMemo, useState } from 'react'\nimport ColumnHeader from '../TanStackTable/ColumnHeader'\nimport StyledTanStackTable from '../TanStackTable/StyledTanStackTable'\nimport UserOrTeamBadge from '../UserOrTeamBadge/index'\n\nconst columnHelper = createColumnHelper<AccessApprovalSearchResult>()\nconst columns = [\n columnHelper.accessor('accessRequirementId', {\n header: props => <ColumnHeader {...props} title={'AR ID'} />,\n enableSorting: false,\n cell: ctx => (\n <a\n href={`${\n PRODUCTION_ENDPOINT_CONFIG.PORTAL\n }AccessRequirement:AR_ID=${ctx.getValue()}`}\n target={'_blank'}\n >\n {ctx.getValue()}\n </a>\n ),\n }),\n columnHelper.accessor('accessRequirementName', {\n header: props => (\n <ColumnHeader {...props} title={'Access Requirement Name'} />\n ),\n enableSorting: false,\n }),\n columnHelper.accessor('submitterId', {\n header: props => <ColumnHeader {...props} title={'Submitter'} />,\n enableSorting: false,\n cell: ctx => <UserOrTeamBadge principalId={ctx.getValue()} />,\n }),\n columnHelper.accessor('state', {\n header: props => <ColumnHeader {...props} title={'Status'} />,\n enableSorting: false,\n cell: ctx => upperFirst(ctx.getValue().toLocaleLowerCase()),\n }),\n columnHelper.accessor('modifiedOn', {\n header: props => <ColumnHeader {...props} title={'Modified Date'} />,\n enableSorting: true,\n cell: ctx => formatDate(dayjs(ctx.getValue())),\n }),\n columnHelper.accessor('expiredOn', {\n header: props => <ColumnHeader {...props} title={'Expires'} />,\n enableSorting: true,\n cell: ctx => (\n <span\n className={`${\n ctx.getValue()\n ? new Date() > new Date(ctx.getValue())\n ? 'expired'\n : ''\n : 'non-expire'\n } remove-border`}\n >\n {ctx.getValue() ? formatDate(dayjs(ctx.getValue())) : 'Never'}\n </span>\n ),\n }),\n]\n\nfunction getSortApiRequestFromTableSortState(\n sortingState: SortingState,\n): AccessApprovalSearchSort[] | undefined {\n if (sortingState.length === 0) {\n return undefined\n }\n const sort = sortingState[0]\n let field: AccessApprovalSortField = AccessApprovalSortField.MODIFIED_ON\n if (sort.id === 'modifiedOn') {\n field = AccessApprovalSortField.MODIFIED_ON\n } else if (sort.id === 'expiredOn') {\n field = AccessApprovalSortField.EXPIRED_ON\n }\n return [\n {\n field,\n direction: sort.desc ? Direction.DESC : Direction.ASC,\n },\n ]\n}\n\nexport type AccessApprovalsTableProps = {\n accessorId: string\n accessRequirementId?: string\n}\nexport function AccessApprovalsTable({\n accessorId,\n accessRequirementId,\n}: AccessApprovalsTableProps) {\n const [tableSortState, setTableSortState] = useState<SortingState>([\n {\n desc: true,\n id: 'modifiedOn',\n },\n ])\n\n const searchRequest: AccessApprovalSearchRequest = useMemo(\n () => ({\n accessorId,\n accessRequirementId,\n sort: getSortApiRequestFromTableSortState(tableSortState),\n }),\n [accessorId, accessRequirementId, tableSortState],\n )\n\n const { data, hasNextPage, fetchNextPage, isLoading, isFetchingNextPage } =\n useSearchAccessApprovalsInfinite(searchRequest)\n const accessApprovals = useMemo(\n () => data?.pages.flatMap(page => page.results) ?? [],\n [data?.pages],\n )\n\n const table = useReactTable<AccessApprovalSearchResult>({\n data: accessApprovals,\n columns: columns,\n getCoreRowModel: getCoreRowModel(),\n manualSorting: true,\n onSortingChange: setTableSortState,\n state: {\n sorting: tableSortState,\n },\n columnResizeMode: 'onChange',\n })\n\n const isEmpty = !isLoading && table.getRowModel().rows.length === 0\n\n return (\n <div className=\"AccessApprovalsTable\">\n <InfiniteTableLayout\n table={<StyledTanStackTable table={table} />}\n isLoading={isLoading}\n isEmpty={isEmpty}\n hasNextPage={hasNextPage}\n onFetchNextPageClicked={() => {\n void fetchNextPage()\n }}\n isFetchingNextPage={isFetchingNextPage}\n />\n </div>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;AAwBA,IAAM,IAAe,EAA+C,GAC9D,IAAU;CACd,EAAa,SAAS,uBAAuB;EAC3C,SAAQ,MAAS,kBAAC,GAAD;GAAc,GAAI;GAAO,OAAO;EAAU,CAAA;EAC3D,eAAe;EACf,OAAM,MACJ,kBAAC,KAAD;GACE,MAAM,GACJ,EAA2B,OAC5B,0BAA0B,EAAI,SAAS;GACxC,QAAQ;aAEP,EAAI,SAAS;EACb,CAAA;CAEP,CAAC;CACD,EAAa,SAAS,yBAAyB;EAC7C,SAAQ,MACN,kBAAC,GAAD;GAAc,GAAI;GAAO,OAAO;EAA4B,CAAA;EAE9D,eAAe;CACjB,CAAC;CACD,EAAa,SAAS,eAAe;EACnC,SAAQ,MAAS,kBAAC,GAAD;GAAc,GAAI;GAAO,OAAO;EAAc,CAAA;EAC/D,eAAe;EACf,OAAM,MAAO,kBAAC,GAAD,EAAiB,aAAa,EAAI,SAAS,EAAI,CAAA;CAC9D,CAAC;CACD,EAAa,SAAS,SAAS;EAC7B,SAAQ,MAAS,kBAAC,GAAD;GAAc,GAAI;GAAO,OAAO;EAAW,CAAA;EAC5D,eAAe;EACf,OAAM,MAAO,EAAW,EAAI,SAAS,EAAE,kBAAkB,CAAC;CAC5D,CAAC;CACD,EAAa,SAAS,cAAc;EAClC,SAAQ,MAAS,kBAAC,GAAD;GAAc,GAAI;GAAO,OAAO;EAAkB,CAAA;EACnE,eAAe;EACf,OAAM,MAAO,EAAW,EAAM,EAAI,SAAS,CAAC,CAAC;CAC/C,CAAC;CACD,EAAa,SAAS,aAAa;EACjC,SAAQ,MAAS,kBAAC,GAAD;GAAc,GAAI;GAAO,OAAO;EAAY,CAAA;EAC7D,eAAe;EACf,OAAM,MACJ,kBAAC,QAAD;GACE,WAAW,GACT,EAAI,SAAS,oBACT,IAAI,KAAK,IAAI,IAAI,KAAK,EAAI,SAAS,CAAC,IAClC,YACA,KACF,aACL;aAEA,EAAI,SAAS,IAAI,EAAW,EAAM,EAAI,SAAS,CAAC,CAAC,IAAI;EAClD,CAAA;CAEV,CAAC;AACH;AAEA,SAAS,EACP,GACwC;CACxC,IAAI,EAAa,WAAW,GAC1B;CAEF,IAAM,IAAO,EAAa,IACtB,IAAiC,EAAwB;CAM7D,OALI,EAAK,OAAO,eACd,IAAQ,EAAwB,cACvB,EAAK,OAAO,gBACrB,IAAQ,EAAwB,aAE3B,CACL;EACE;EACA,WAAW,EAAK,OAAO,EAAU,OAAO,EAAU;CACpD,CACF;AACF;AAMA,SAAgB,EAAqB,EACnC,eACA,0BAC4B;CAC5B,IAAM,CAAC,GAAgB,KAAqB,EAAuB,CACjE;EACE,MAAM;EACN,IAAI;CACN,CACF,CAAC,GAWK,EAAE,SAAM,gBAAa,kBAAe,cAAW,0BACnD,EAViD,SAC1C;EACL;EACA;EACA,MAAM,EAAoC,CAAc;CAC1D,IACA;EAAC;EAAY;EAAqB;CAAc,CAIf,CAAa,GAM1C,IAAQ,EAA0C;EACtD,MANsB,QAChB,GAAM,MAAM,SAAQ,MAAQ,EAAK,OAAO,KAAK,CAAC,GACpD,CAAC,GAAM,KAAK,CAIN;EACG;EACT,iBAAiB,EAAgB;EACjC,eAAe;EACf,iBAAiB;EACjB,OAAO,EACL,SAAS,EACX;EACA,kBAAkB;CACpB,CAAC,GAEK,IAAU,CAAC,KAAa,EAAM,YAAY,EAAE,KAAK,WAAW;CAElE,OACE,kBAAC,OAAD;EAAK,WAAU;YACb,kBAAC,GAAD;GACE,OAAO,kBAAC,GAAD,EAA4B,SAAQ,CAAA;GAChC;GACF;GACI;GACb,8BAA8B;IAC5B,EAAmB;GACrB;GACoB;EACrB,CAAA;CACE,CAAA;AAET"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccessHistoryDashboard.js","names":[],"sources":["../../../src/components/dataaccess/AccessHistoryDashboard.tsx"],"sourcesContent":["import React from 'react'\nimport SearchImage from '@/assets/icons/SearchImage'\nimport { useGetCurrentUserBundle } from '@/synapse-queries'\nimport { useDebouncedEffect } from '@/utils/hooks/useDebouncedEffect'\nimport { Typography } from '@mui/material'\nimport Grid from '@mui/material/Grid'\nimport { TYPE_FILTER } from '@sage-bionetworks/synapse-types'\nimport { omitBy } from 'lodash-es'\nimport { useCallback, useEffect, useState } from 'react'\nimport { useLocation, useNavigate } from 'react-router'\nimport UserOrTeamBadge from '../UserOrTeamBadge/UserOrTeamBadge'\nimport UserSearchBox from '../UserSearchBox/UserSearchBox'\nimport {\n AccessApprovalsTable,\n AccessApprovalsTableProps,\n} from './AccessApprovalsTable'\nimport {\n AccessRequestSubmissionTable,\n AccessRequestSubmissionTableProps,\n} from './AccessRequestSubmissionTable'\nimport AccessRequirementSearchBox from './AccessRequirementSearchBox/AccessRequirementSearchBox'\n\nconst SearchStartComponent = (): React.ReactNode => {\n return (\n <div className=\"text-center\">\n <SearchImage className=\"SearchPlaceholderImage\" height=\"167px\" />\n <Typography variant=\"body1Italic\">\n Select a user using the search field above to view their data access\n history\n </Typography>\n </div>\n )\n}\n\nexport const UserHistoryDashboard = (): React.ReactNode => {\n const [accessRequirementId, setAccessRequirementId] = useState<\n string | undefined\n >()\n const [accessorId, setAccessorId] = useState<string>('')\n const [approvalTableProps, setApprovalTableProps] =\n useState<AccessApprovalsTableProps>({\n accessorId,\n accessRequirementId,\n })\n const [submissionTableProps, setSubmissionTableProps] =\n useState<AccessRequestSubmissionTableProps>({\n showStatus: true,\n showSubmitter: true,\n accessorId,\n accessRequirementId,\n })\n\n const { data: userBundle } = useGetCurrentUserBundle()\n const hasActPermissions = userBundle?.isACTMember\n\n const location = useLocation()\n const navigate = useNavigate()\n const INPUT_CHANGE_DEBOUNCE_DELAY_MS = 500\n\n const onAccessorChange = useCallback((selected: string | null) => {\n if (selected) {\n setAccessorId(selected)\n } else {\n setAccessorId('')\n }\n }, [])\n\n useEffect(() => {\n const initializeFromSearchParam = () => {\n const initialParams = new URLSearchParams(location.search)\n setAccessRequirementId(\n initialParams.get('accessRequirementId') ?? undefined,\n )\n setAccessorId(initialParams.get('accessorId') ?? '')\n }\n initializeFromSearchParam()\n }, [location.search])\n\n useDebouncedEffect(\n () => {\n const updateQueryParams = (\n accessRequirementId: string | undefined,\n accessorId: string,\n ) => {\n const params = new URLSearchParams(\n omitBy(\n {\n accessRequirementId,\n accessorId,\n },\n item => item === undefined || item === '',\n ) as Record<string, string>,\n )\n navigate(\n {\n pathname: location.pathname,\n search: params.toString(),\n },\n { replace: true },\n )\n }\n\n updateQueryParams(accessRequirementId, accessorId)\n setApprovalTableProps({\n accessorId,\n accessRequirementId,\n })\n setSubmissionTableProps({\n showStatus: true,\n showSubmitter: true,\n accessorId,\n accessRequirementId,\n })\n },\n [accessRequirementId, accessorId, navigate, location.pathname],\n INPUT_CHANGE_DEBOUNCE_DELAY_MS,\n )\n\n return (\n <div className=\"UserHistoryDashboard\">\n <Grid container spacing={2} className=\"InputPanel\">\n <Grid size={{ xs: 12, md: 6 }}>\n <Typography\n component=\"label\"\n variant=\"smallText2\"\n htmlFor=\"user-filter\"\n >\n Select a user to view their access history\n </Typography>\n <UserSearchBox\n inputId=\"user-filter\"\n onChange={onAccessorChange}\n value={accessorId}\n placeholder=\"Search for a user name\"\n typeFilter={TYPE_FILTER.USERS_ONLY}\n />\n </Grid>\n\n {accessorId && (\n <Grid size={{ xs: 12, md: 6 }}>\n <Typography\n component=\"label\"\n variant=\"smallText2\"\n htmlFor=\"arName-filter\"\n >\n Filter by Access Requirement Name\n </Typography>\n <AccessRequirementSearchBox\n inputId=\"arName-filter\"\n placeholder=\"Search for an Access Requirement Name \"\n onChange={setAccessRequirementId}\n />\n </Grid>\n )}\n </Grid>\n\n {accessorId ? (\n <>\n <Typography variant=\"headline3\">\n Submissions including <UserOrTeamBadge principalId={accessorId} />\n </Typography>\n <AccessRequestSubmissionTable {...submissionTableProps} />\n {hasActPermissions && (\n <>\n <Typography variant=\"headline3\">\n Status in Access Requirements\n </Typography>\n <AccessApprovalsTable {...approvalTableProps} />\n </>\n )}\n </>\n ) : (\n <SearchStartComponent />\n )}\n </div>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAsBA,IAAM,UAEF,kBAAC,OAAD;CAAK,WAAU;WAAf,CACE,kBAAC,GAAD;EAAa,WAAU;EAAyB,QAAO;
|
|
1
|
+
{"version":3,"file":"AccessHistoryDashboard.js","names":[],"sources":["../../../src/components/dataaccess/AccessHistoryDashboard.tsx"],"sourcesContent":["import React from 'react'\nimport SearchImage from '@/assets/icons/SearchImage'\nimport { useGetCurrentUserBundle } from '@/synapse-queries'\nimport { useDebouncedEffect } from '@/utils/hooks/useDebouncedEffect'\nimport { Typography } from '@mui/material'\nimport Grid from '@mui/material/Grid'\nimport { TYPE_FILTER } from '@sage-bionetworks/synapse-types'\nimport { omitBy } from 'lodash-es'\nimport { useCallback, useEffect, useState } from 'react'\nimport { useLocation, useNavigate } from 'react-router'\nimport UserOrTeamBadge from '../UserOrTeamBadge/UserOrTeamBadge'\nimport UserSearchBox from '../UserSearchBox/UserSearchBox'\nimport {\n AccessApprovalsTable,\n AccessApprovalsTableProps,\n} from './AccessApprovalsTable'\nimport {\n AccessRequestSubmissionTable,\n AccessRequestSubmissionTableProps,\n} from './AccessRequestSubmissionTable'\nimport AccessRequirementSearchBox from './AccessRequirementSearchBox/AccessRequirementSearchBox'\n\nconst SearchStartComponent = (): React.ReactNode => {\n return (\n <div className=\"text-center\">\n <SearchImage className=\"SearchPlaceholderImage\" height=\"167px\" />\n <Typography variant=\"body1Italic\">\n Select a user using the search field above to view their data access\n history\n </Typography>\n </div>\n )\n}\n\nexport const UserHistoryDashboard = (): React.ReactNode => {\n const [accessRequirementId, setAccessRequirementId] = useState<\n string | undefined\n >()\n const [accessorId, setAccessorId] = useState<string>('')\n const [approvalTableProps, setApprovalTableProps] =\n useState<AccessApprovalsTableProps>({\n accessorId,\n accessRequirementId,\n })\n const [submissionTableProps, setSubmissionTableProps] =\n useState<AccessRequestSubmissionTableProps>({\n showStatus: true,\n showSubmitter: true,\n accessorId,\n accessRequirementId,\n })\n\n const { data: userBundle } = useGetCurrentUserBundle()\n const hasActPermissions = userBundle?.isACTMember\n\n const location = useLocation()\n const navigate = useNavigate()\n const INPUT_CHANGE_DEBOUNCE_DELAY_MS = 500\n\n const onAccessorChange = useCallback((selected: string | null) => {\n if (selected) {\n setAccessorId(selected)\n } else {\n setAccessorId('')\n }\n }, [])\n\n useEffect(() => {\n const initializeFromSearchParam = () => {\n const initialParams = new URLSearchParams(location.search)\n setAccessRequirementId(\n initialParams.get('accessRequirementId') ?? undefined,\n )\n setAccessorId(initialParams.get('accessorId') ?? '')\n }\n initializeFromSearchParam()\n }, [location.search])\n\n useDebouncedEffect(\n () => {\n const updateQueryParams = (\n accessRequirementId: string | undefined,\n accessorId: string,\n ) => {\n const params = new URLSearchParams(\n omitBy(\n {\n accessRequirementId,\n accessorId,\n },\n item => item === undefined || item === '',\n ) as Record<string, string>,\n )\n navigate(\n {\n pathname: location.pathname,\n search: params.toString(),\n },\n { replace: true },\n )\n }\n\n updateQueryParams(accessRequirementId, accessorId)\n setApprovalTableProps({\n accessorId,\n accessRequirementId,\n })\n setSubmissionTableProps({\n showStatus: true,\n showSubmitter: true,\n accessorId,\n accessRequirementId,\n })\n },\n [accessRequirementId, accessorId, navigate, location.pathname],\n INPUT_CHANGE_DEBOUNCE_DELAY_MS,\n )\n\n return (\n <div className=\"UserHistoryDashboard\">\n <Grid container spacing={2} className=\"InputPanel\">\n <Grid size={{ xs: 12, md: 6 }}>\n <Typography\n component=\"label\"\n variant=\"smallText2\"\n htmlFor=\"user-filter\"\n >\n Select a user to view their access history\n </Typography>\n <UserSearchBox\n inputId=\"user-filter\"\n onChange={onAccessorChange}\n value={accessorId}\n placeholder=\"Search for a user name\"\n typeFilter={TYPE_FILTER.USERS_ONLY}\n />\n </Grid>\n\n {accessorId && (\n <Grid size={{ xs: 12, md: 6 }}>\n <Typography\n component=\"label\"\n variant=\"smallText2\"\n htmlFor=\"arName-filter\"\n >\n Filter by Access Requirement Name\n </Typography>\n <AccessRequirementSearchBox\n inputId=\"arName-filter\"\n placeholder=\"Search for an Access Requirement Name \"\n onChange={setAccessRequirementId}\n />\n </Grid>\n )}\n </Grid>\n\n {accessorId ? (\n <>\n <Typography variant=\"headline3\">\n Submissions including <UserOrTeamBadge principalId={accessorId} />\n </Typography>\n <AccessRequestSubmissionTable {...submissionTableProps} />\n {hasActPermissions && (\n <>\n <Typography variant=\"headline3\">\n Status in Access Requirements\n </Typography>\n <AccessApprovalsTable {...approvalTableProps} />\n </>\n )}\n </>\n ) : (\n <SearchStartComponent />\n )}\n </div>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAsBA,IAAM,UAEF,kBAAC,OAAD;CAAK,WAAU;WAAf,CACE,kBAAC,GAAD;EAAa,WAAU;EAAyB,QAAO;CAAS,CAAA,GAChE,kBAAC,GAAD;EAAY,SAAQ;YAAc;CAGtB,CAAA,CACT;IAII,UAA8C;CACzD,IAAM,CAAC,GAAqB,KAA0B,EAEpD,GACI,CAAC,GAAY,KAAiB,EAAiB,EAAE,GACjD,CAAC,GAAoB,KACzB,EAAoC;EAClC;EACA;CACF,CAAC,GACG,CAAC,GAAsB,KAC3B,EAA4C;EAC1C,YAAY;EACZ,eAAe;EACf;EACA;CACF,CAAC,GAEG,EAAE,MAAM,MAAe,EAAwB,GAC/C,IAAoB,GAAY,aAEhC,IAAW,EAAY,GACvB,IAAW,EAAY,GAGvB,IAAmB,GAAa,MAA4B;EAChE,AACE,EADE,KAGY,EAAE;CAEpB,GAAG,CAAC,CAAC;CAqDL,OAnDA,QAAgB;EAQd,OAPwC;GACtC,IAAM,IAAgB,IAAI,gBAAgB,EAAS,MAAM;GAIzD,AAHA,EACE,EAAc,IAAI,qBAAqB,KAAK,KAAA,CAC9C,GACA,EAAc,EAAc,IAAI,YAAY,KAAK,EAAE;EACrD,GAC0B;CAC5B,GAAG,CAAC,EAAS,MAAM,CAAC,GAEpB,QACQ;EA4BJ,EA1BE,GACA,MACG;GACH,IAAM,IAAS,IAAI,gBACjB,EACE;IACE;IACA;GACF,IACA,MAAQ,MAAS,KAAA,KAAa,MAAS,EACzC,CACF;GACA,EACE;IACE,UAAU,EAAS;IACnB,QAAQ,EAAO,SAAS;GAC1B,GACA,EAAE,SAAS,GAAK,CAClB;EACF,GAEkB,GAAqB,CAAU,GACjD,EAAsB;GACpB;GACA;EACF,CAAC,GACD,EAAwB;GACtB,YAAY;GACZ,eAAe;GACf;GACA;EACF,CAAC;CACH,GACA;EAAC;EAAqB;EAAY;EAAU,EAAS;CAAQ,GAC7D,GACF,GAGE,kBAAC,OAAD;EAAK,WAAU;YAAf,CACE,kBAAC,GAAD;GAAM,WAAA;GAAU,SAAS;GAAG,WAAU;aAAtC,CACE,kBAAC,GAAD;IAAM,MAAM;KAAE,IAAI;KAAI,IAAI;IAAE;cAA5B,CACE,kBAAC,GAAD;KACE,WAAU;KACV,SAAQ;KACR,SAAQ;eACT;IAEW,CAAA,GACZ,kBAAC,GAAD;KACE,SAAQ;KACR,UAAU;KACV,OAAO;KACP,aAAY;KACZ,YAAY,EAAY;IACzB,CAAA,CACG;OAEL,KACC,kBAAC,GAAD;IAAM,MAAM;KAAE,IAAI;KAAI,IAAI;IAAE;cAA5B,CACE,kBAAC,GAAD;KACE,WAAU;KACV,SAAQ;KACR,SAAQ;eACT;IAEW,CAAA,GACZ,kBAAC,GAAD;KACE,SAAQ;KACR,aAAY;KACZ,UAAU;IACX,CAAA,CACG;KAEJ;MAEL,IACC,kBAAA,GAAA,EAAA,UAAA;GACE,kBAAC,GAAD;IAAY,SAAQ;cAApB,CAAgC,0BACR,kBAAC,GAAD,EAAiB,aAAa,EAAa,CAAA,CACvD;;GACZ,kBAAC,GAAD,EAA8B,GAAI,EAAuB,CAAA;GACxD,KACC,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,GAAD;IAAY,SAAQ;cAAY;GAEpB,CAAA,GACZ,kBAAC,GAAD,EAAsB,GAAI,EAAqB,CAAA,CAC/C,EAAA,CAAA;EAEJ,EAAA,CAAA,IAEF,kBAAC,GAAD,CAAuB,CAAA,CAEtB;;AAET"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccessRequestSubmissionTable.js","names":[],"sources":["../../../src/components/dataaccess/AccessRequestSubmissionTable.tsx"],"sourcesContent":["import InfiniteTableLayout from '@/components/layout/InfiniteTableLayout'\nimport { useSearchAccessSubmissionsInfinite } from '@/synapse-queries/dataaccess/useDataAccessSubmission'\nimport { formatDate } from '@/utils/functions/DateFormatter'\nimport { ACT_TEAM_ID } from '@/utils/SynapseConstants'\nimport { Stack } from '@mui/material'\nimport {\n SubmissionReviewerFilterType,\n SubmissionSearchRequest,\n SubmissionSearchResult,\n SubmissionSearchSort,\n SubmissionState,\n} from '@sage-bionetworks/synapse-types'\nimport {\n createColumnHelper,\n getCoreRowModel,\n SortingState,\n useReactTable,\n} from '@tanstack/react-table'\nimport dayjs from 'dayjs'\nimport { upperFirst } from 'lodash-es'\nimport { useMemo, useState } from 'react'\nimport { Link } from 'react-router'\nimport ColumnHeader from '../TanStackTable/ColumnHeader'\nimport StyledTanStackTable from '../TanStackTable/StyledTanStackTable'\nimport { UserBadge } from '../UserCard/UserBadge'\nimport UserOrTeamBadge from '../UserOrTeamBadge/UserOrTeamBadge'\nimport { getSortApiRequestFromTableSortState } from './UserAccessRequestHistory/SubmissionSortStateTranslator'\n\nconst columnHelper = createColumnHelper<SubmissionSearchResult>()\nconst columns = [\n columnHelper.accessor('id', {\n header: props => <ColumnHeader {...props} title={'Request'} />,\n enableSorting: false,\n cell: ctx => (\n <Link to={`/Submissions/${ctx.getValue()}`}>{ctx.getValue()}</Link>\n ),\n }),\n columnHelper.accessor('accessRequirementName', {\n header: props => (\n <ColumnHeader {...props} title={'Access Requirement Name'} />\n ),\n enableSorting: false,\n }),\n columnHelper.accessor('submitterId', {\n header: props => <ColumnHeader {...props} title={'Submitter'} />,\n enableSorting: false,\n cell: ctx => <UserOrTeamBadge principalId={ctx.getValue()} />,\n }),\n columnHelper.accessor('state', {\n header: props => <ColumnHeader {...props} title={'Status'} />,\n enableSorting: false,\n cell: ctx => upperFirst(ctx.getValue().toLocaleLowerCase()),\n }),\n\n columnHelper.accessor('accessorChanges', {\n header: props => <ColumnHeader {...props} title={'Requesters'} />,\n enableSorting: false,\n cell: ctx => (\n <Stack\n sx={{\n gap: 1,\n }}\n >\n <UserOrTeamBadge principalId={ctx.row.original.submitterId} />\n {ctx\n .getValue()\n .filter(user => ctx.row.original.submitterId !== user.userId)\n .map(requester => (\n <UserBadge\n key={requester.userId}\n userId={requester.userId}\n className=\"requester\"\n />\n ))}\n </Stack>\n ),\n }),\n columnHelper.accessor('accessRequirementReviewerIds', {\n header: props => <ColumnHeader {...props} title={'Reviewer(s)'} />,\n enableSorting: false,\n cell: ctx => (\n <Stack\n sx={{\n gap: 1,\n }}\n >\n {ctx.getValue().length === 0 ? (\n <UserOrTeamBadge principalId={ACT_TEAM_ID} />\n ) : (\n ctx\n .getValue()\n .map(reviewerId => (\n <UserOrTeamBadge key={reviewerId} principalId={reviewerId} />\n ))\n )}\n </Stack>\n ),\n }),\n columnHelper.accessor('createdOn', {\n header: props => <ColumnHeader {...props} title={'Created Date'} />,\n enableSorting: true,\n cell: ctx => formatDate(dayjs(ctx.getValue())),\n sortDescFirst: true,\n }),\n]\n\nexport type AccessRequestSubmissionTableProps = {\n showSubmitter?: boolean\n showStatus?: boolean\n showRequesters?: boolean\n accessorId?: string\n accessRequirementId?: string\n reviewerId?: string\n submissionState?: SubmissionState\n reviewerFilterType?: SubmissionReviewerFilterType\n}\n\nexport function AccessRequestSubmissionTable({\n showSubmitter = false,\n showStatus = false,\n showRequesters = false,\n accessorId,\n accessRequirementId,\n reviewerId,\n submissionState,\n reviewerFilterType,\n}: AccessRequestSubmissionTableProps) {\n const [tableSortState, setTableSortState] = useState<SortingState>([\n {\n desc: true,\n id: 'createdOn',\n },\n ])\n\n const searchRequest: SubmissionSearchRequest = useMemo(\n () => ({\n accessorId,\n accessRequirementId,\n submissionState,\n reviewerId,\n reviewerFilterType,\n sort: getSortApiRequestFromTableSortState(tableSortState) as\n | SubmissionSearchSort[] // cast to synapse-types (not OpenAPI-defined) type\n | undefined,\n }),\n [\n accessorId,\n accessRequirementId,\n submissionState,\n reviewerId,\n reviewerFilterType,\n tableSortState,\n ],\n )\n\n const { data, hasNextPage, fetchNextPage, isLoading, isFetchingNextPage } =\n useSearchAccessSubmissionsInfinite(searchRequest)\n\n const accessSubmissions = useMemo(\n () => data?.pages.flatMap(page => page.results) ?? [],\n [data?.pages],\n )\n\n const table = useReactTable<SubmissionSearchResult>({\n data: accessSubmissions,\n columns: columns,\n getCoreRowModel: getCoreRowModel(),\n enableFilters: false, // filters are handled by separate controls\n manualSorting: true,\n onSortingChange: setTableSortState,\n state: {\n sorting: tableSortState,\n columnVisibility: {\n submitterId: showSubmitter,\n state: showStatus,\n accessorChanges: showRequesters,\n },\n },\n columnResizeMode: 'onChange',\n })\n\n const isEmpty = !isLoading && table.getRowModel().rows.length === 0\n\n return (\n <div className={'AccessSubmissionTable'}>\n <InfiniteTableLayout\n table={<StyledTanStackTable table={table} fullWidth={true} />}\n isLoading={isLoading}\n isEmpty={isEmpty}\n hasNextPage={hasNextPage}\n onFetchNextPageClicked={() => {\n void fetchNextPage()\n }}\n isFetchingNextPage={isFetchingNextPage}\n />\n </div>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AA4BA,IAAM,IAAe,
|
|
1
|
+
{"version":3,"file":"AccessRequestSubmissionTable.js","names":[],"sources":["../../../src/components/dataaccess/AccessRequestSubmissionTable.tsx"],"sourcesContent":["import InfiniteTableLayout from '@/components/layout/InfiniteTableLayout'\nimport { useSearchAccessSubmissionsInfinite } from '@/synapse-queries/dataaccess/useDataAccessSubmission'\nimport { formatDate } from '@/utils/functions/DateFormatter'\nimport { ACT_TEAM_ID } from '@/utils/SynapseConstants'\nimport { Stack } from '@mui/material'\nimport {\n SubmissionReviewerFilterType,\n SubmissionSearchRequest,\n SubmissionSearchResult,\n SubmissionSearchSort,\n SubmissionState,\n} from '@sage-bionetworks/synapse-types'\nimport {\n createColumnHelper,\n getCoreRowModel,\n SortingState,\n useReactTable,\n} from '@tanstack/react-table'\nimport dayjs from 'dayjs'\nimport { upperFirst } from 'lodash-es'\nimport { useMemo, useState } from 'react'\nimport { Link } from 'react-router'\nimport ColumnHeader from '../TanStackTable/ColumnHeader'\nimport StyledTanStackTable from '../TanStackTable/StyledTanStackTable'\nimport { UserBadge } from '../UserCard/UserBadge'\nimport UserOrTeamBadge from '../UserOrTeamBadge/UserOrTeamBadge'\nimport { getSortApiRequestFromTableSortState } from './UserAccessRequestHistory/SubmissionSortStateTranslator'\n\nconst columnHelper = createColumnHelper<SubmissionSearchResult>()\nconst columns = [\n columnHelper.accessor('id', {\n header: props => <ColumnHeader {...props} title={'Request'} />,\n enableSorting: false,\n cell: ctx => (\n <Link to={`/Submissions/${ctx.getValue()}`}>{ctx.getValue()}</Link>\n ),\n }),\n columnHelper.accessor('accessRequirementName', {\n header: props => (\n <ColumnHeader {...props} title={'Access Requirement Name'} />\n ),\n enableSorting: false,\n }),\n columnHelper.accessor('submitterId', {\n header: props => <ColumnHeader {...props} title={'Submitter'} />,\n enableSorting: false,\n cell: ctx => <UserOrTeamBadge principalId={ctx.getValue()} />,\n }),\n columnHelper.accessor('state', {\n header: props => <ColumnHeader {...props} title={'Status'} />,\n enableSorting: false,\n cell: ctx => upperFirst(ctx.getValue().toLocaleLowerCase()),\n }),\n\n columnHelper.accessor('accessorChanges', {\n header: props => <ColumnHeader {...props} title={'Requesters'} />,\n enableSorting: false,\n cell: ctx => (\n <Stack\n sx={{\n gap: 1,\n }}\n >\n <UserOrTeamBadge principalId={ctx.row.original.submitterId} />\n {ctx\n .getValue()\n .filter(user => ctx.row.original.submitterId !== user.userId)\n .map(requester => (\n <UserBadge\n key={requester.userId}\n userId={requester.userId}\n className=\"requester\"\n />\n ))}\n </Stack>\n ),\n }),\n columnHelper.accessor('accessRequirementReviewerIds', {\n header: props => <ColumnHeader {...props} title={'Reviewer(s)'} />,\n enableSorting: false,\n cell: ctx => (\n <Stack\n sx={{\n gap: 1,\n }}\n >\n {ctx.getValue().length === 0 ? (\n <UserOrTeamBadge principalId={ACT_TEAM_ID} />\n ) : (\n ctx\n .getValue()\n .map(reviewerId => (\n <UserOrTeamBadge key={reviewerId} principalId={reviewerId} />\n ))\n )}\n </Stack>\n ),\n }),\n columnHelper.accessor('createdOn', {\n header: props => <ColumnHeader {...props} title={'Created Date'} />,\n enableSorting: true,\n cell: ctx => formatDate(dayjs(ctx.getValue())),\n sortDescFirst: true,\n }),\n]\n\nexport type AccessRequestSubmissionTableProps = {\n showSubmitter?: boolean\n showStatus?: boolean\n showRequesters?: boolean\n accessorId?: string\n accessRequirementId?: string\n reviewerId?: string\n submissionState?: SubmissionState\n reviewerFilterType?: SubmissionReviewerFilterType\n}\n\nexport function AccessRequestSubmissionTable({\n showSubmitter = false,\n showStatus = false,\n showRequesters = false,\n accessorId,\n accessRequirementId,\n reviewerId,\n submissionState,\n reviewerFilterType,\n}: AccessRequestSubmissionTableProps) {\n const [tableSortState, setTableSortState] = useState<SortingState>([\n {\n desc: true,\n id: 'createdOn',\n },\n ])\n\n const searchRequest: SubmissionSearchRequest = useMemo(\n () => ({\n accessorId,\n accessRequirementId,\n submissionState,\n reviewerId,\n reviewerFilterType,\n sort: getSortApiRequestFromTableSortState(tableSortState) as\n | SubmissionSearchSort[] // cast to synapse-types (not OpenAPI-defined) type\n | undefined,\n }),\n [\n accessorId,\n accessRequirementId,\n submissionState,\n reviewerId,\n reviewerFilterType,\n tableSortState,\n ],\n )\n\n const { data, hasNextPage, fetchNextPage, isLoading, isFetchingNextPage } =\n useSearchAccessSubmissionsInfinite(searchRequest)\n\n const accessSubmissions = useMemo(\n () => data?.pages.flatMap(page => page.results) ?? [],\n [data?.pages],\n )\n\n const table = useReactTable<SubmissionSearchResult>({\n data: accessSubmissions,\n columns: columns,\n getCoreRowModel: getCoreRowModel(),\n enableFilters: false, // filters are handled by separate controls\n manualSorting: true,\n onSortingChange: setTableSortState,\n state: {\n sorting: tableSortState,\n columnVisibility: {\n submitterId: showSubmitter,\n state: showStatus,\n accessorChanges: showRequesters,\n },\n },\n columnResizeMode: 'onChange',\n })\n\n const isEmpty = !isLoading && table.getRowModel().rows.length === 0\n\n return (\n <div className={'AccessSubmissionTable'}>\n <InfiniteTableLayout\n table={<StyledTanStackTable table={table} fullWidth={true} />}\n isLoading={isLoading}\n isEmpty={isEmpty}\n hasNextPage={hasNextPage}\n onFetchNextPageClicked={() => {\n void fetchNextPage()\n }}\n isFetchingNextPage={isFetchingNextPage}\n />\n </div>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AA4BA,IAAM,IAAe,EAA2C,GAC1D,IAAU;CACd,EAAa,SAAS,MAAM;EAC1B,SAAQ,MAAS,kBAAC,GAAD;GAAc,GAAI;GAAO,OAAO;EAAY,CAAA;EAC7D,eAAe;EACf,OAAM,MACJ,kBAAC,GAAD;GAAM,IAAI,gBAAgB,EAAI,SAAS;aAAM,EAAI,SAAS;EAAQ,CAAA;CAEtE,CAAC;CACD,EAAa,SAAS,yBAAyB;EAC7C,SAAQ,MACN,kBAAC,GAAD;GAAc,GAAI;GAAO,OAAO;EAA4B,CAAA;EAE9D,eAAe;CACjB,CAAC;CACD,EAAa,SAAS,eAAe;EACnC,SAAQ,MAAS,kBAAC,GAAD;GAAc,GAAI;GAAO,OAAO;EAAc,CAAA;EAC/D,eAAe;EACf,OAAM,MAAO,kBAAC,GAAD,EAAiB,aAAa,EAAI,SAAS,EAAI,CAAA;CAC9D,CAAC;CACD,EAAa,SAAS,SAAS;EAC7B,SAAQ,MAAS,kBAAC,GAAD;GAAc,GAAI;GAAO,OAAO;EAAW,CAAA;EAC5D,eAAe;EACf,OAAM,MAAO,EAAW,EAAI,SAAS,EAAE,kBAAkB,CAAC;CAC5D,CAAC;CAED,EAAa,SAAS,mBAAmB;EACvC,SAAQ,MAAS,kBAAC,GAAD;GAAc,GAAI;GAAO,OAAO;EAAe,CAAA;EAChE,eAAe;EACf,OAAM,MACJ,kBAAC,GAAD;GACE,IAAI,EACF,KAAK,EACP;aAHF,CAKE,kBAAC,GAAD,EAAiB,aAAa,EAAI,IAAI,SAAS,YAAc,CAAA,GAC5D,EACE,SAAS,EACT,QAAO,MAAQ,EAAI,IAAI,SAAS,gBAAgB,EAAK,MAAM,EAC3D,KAAI,MACH,kBAAC,GAAD;IAEE,QAAQ,EAAU;IAClB,WAAU;GACX,GAHM,EAAU,MAGhB,CACF,CACE;;CAEX,CAAC;CACD,EAAa,SAAS,gCAAgC;EACpD,SAAQ,MAAS,kBAAC,GAAD;GAAc,GAAI;GAAO,OAAO;EAAgB,CAAA;EACjE,eAAe;EACf,OAAM,MACJ,kBAAC,GAAD;GACE,IAAI,EACF,KAAK,EACP;aAEC,EAAI,SAAS,EAAE,WAAW,IACzB,kBAAC,GAAD,EAAiB,aAAa,EAAc,CAAA,IAE5C,EACG,SAAS,EACT,KAAI,MACH,kBAAC,GAAD,EAAkC,aAAa,EAAa,GAAtC,CAAsC,CAC7D;EAEA,CAAA;CAEX,CAAC;CACD,EAAa,SAAS,aAAa;EACjC,SAAQ,MAAS,kBAAC,GAAD;GAAc,GAAI;GAAO,OAAO;EAAiB,CAAA;EAClE,eAAe;EACf,OAAM,MAAO,EAAW,EAAM,EAAI,SAAS,CAAC,CAAC;EAC7C,eAAe;CACjB,CAAC;AACH;AAaA,SAAgB,EAA6B,EAC3C,mBAAgB,IAChB,gBAAa,IACb,oBAAiB,IACjB,eACA,wBACA,eACA,oBACA,yBACoC;CACpC,IAAM,CAAC,GAAgB,KAAqB,EAAuB,CACjE;EACE,MAAM;EACN,IAAI;CACN,CACF,CAAC,GAuBK,EAAE,SAAM,gBAAa,kBAAe,cAAW,0BACnD,EAtB6C,SACtC;EACL;EACA;EACA;EACA;EACA;EACA,MAAM,EAAoC,CAAc;CAG1D,IACA;EACE;EACA;EACA;EACA;EACA;EACA;CACF,CAImC,CAAa,GAO5C,IAAQ,EAAsC;EAClD,MANwB,QAClB,GAAM,MAAM,SAAQ,MAAQ,EAAK,OAAO,KAAK,CAAC,GACpD,CAAC,GAAM,KAAK,CAIN;EACG;EACT,iBAAiB,EAAgB;EACjC,eAAe;EACf,eAAe;EACf,iBAAiB;EACjB,OAAO;GACL,SAAS;GACT,kBAAkB;IAChB,aAAa;IACb,OAAO;IACP,iBAAiB;GACnB;EACF;EACA,kBAAkB;CACpB,CAAC,GAEK,IAAU,CAAC,KAAa,EAAM,YAAY,EAAE,KAAK,WAAW;CAElE,OACE,kBAAC,OAAD;EAAK,WAAW;YACd,kBAAC,GAAD;GACE,OAAO,kBAAC,GAAD;IAA4B;IAAO,WAAW;GAAO,CAAA;GACjD;GACF;GACI;GACb,8BAA8B;IAC5B,EAAmB;GACrB;GACoB;EACrB,CAAA;CACE,CAAA;AAET"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccessRequirementDashboard.js","names":[],"sources":["../../../src/components/dataaccess/AccessRequirementDashboard.tsx"],"sourcesContent":["import { InputSizedButton } from '@/components/styled/InputSizedButton'\nimport { SYNAPSE_ENTITY_ID_REGEX } from '@/utils/functions/RegularExpressions'\nimport { SearchOutlined } from '@mui/icons-material'\nimport { Grid, InputAdornment, TextField, Typography } from '@mui/material'\nimport { useDebouncedState } from '@react-hookz/web'\nimport { EntityType } from '@sage-bionetworks/synapse-client'\nimport { omitBy } from 'lodash-es'\nimport { useCallback, useEffect, useMemo, useState } from 'react'\nimport { useLocation, useNavigate } from 'react-router'\nimport { EntityFinderModal } from '../EntityFinder/EntityFinderModal'\nimport { FinderScope } from '../EntityFinder/tree/EntityTree'\nimport UserSearchBox from '../UserSearchBox/UserSearchBox'\nimport { AccessRequirementTable } from './AccessRequirementTable'\n\nexport const AR_NAME_OR_ID_SEARCH_PARAM_KEY = 'nameOrID'\nexport const RELATED_PROJECT_ID_SEARCH_PARAM_KEY = 'relatedProjectId'\nexport const REVIEWER_ID_SEARCH_PARAM_KEY = 'reviewerId'\nexport const AR_TYPE_SEARCH_PARAM_KEY = 'type'\n\nexport type AccessRequirementDashboardProps = {\n onCreateNewAccessRequirementClicked?: () => void\n}\n\nexport function AccessRequirementDashboard(\n props: AccessRequirementDashboardProps,\n) {\n // Amount of time to wait after an input value changes before sending a new request\n const INPUT_CHANGE_DEBOUNCE_DELAY_MS = 500\n\n const { onCreateNewAccessRequirementClicked } = props\n\n const location = useLocation()\n const urlSearchParams = useMemo(\n () => new URLSearchParams(location.search),\n [location.search],\n )\n const navigate = useNavigate()\n\n /**\n * When an input changes, update the props passed to the table and update the search params.\n *\n * Debounced to prevent firing many queries while the user is entering text.\n */\n const [nameOrID, setNameOrID] = useDebouncedState<string>(\n urlSearchParams.get(AR_NAME_OR_ID_SEARCH_PARAM_KEY) ?? '',\n INPUT_CHANGE_DEBOUNCE_DELAY_MS,\n )\n const [relatedProjectId, setRelatedProjectId] = useDebouncedState<\n string | undefined\n >(\n urlSearchParams.get(RELATED_PROJECT_ID_SEARCH_PARAM_KEY) ?? undefined,\n INPUT_CHANGE_DEBOUNCE_DELAY_MS,\n )\n const [reviewerId, setReviewerId] = useDebouncedState<string | undefined>(\n urlSearchParams.get(REVIEWER_ID_SEARCH_PARAM_KEY) ?? undefined,\n INPUT_CHANGE_DEBOUNCE_DELAY_MS,\n )\n const [typeFilter, setTypeFilter] = useState<string | undefined>(\n urlSearchParams.get(AR_TYPE_SEARCH_PARAM_KEY) ?? undefined,\n )\n\n const projectFilterFieldIsError: boolean = useMemo(\n () =>\n !!(relatedProjectId && !SYNAPSE_ENTITY_ID_REGEX.exec(relatedProjectId)),\n [relatedProjectId],\n )\n\n const [showEntityFinder, setShowEntityFinder] = useState(false)\n\n // Update the QueryParams when the filter state changes\n useEffect(() => {\n // Don't include undefined/empty parameters\n const params = omitBy(\n {\n // Sync the search params state with the debounced props\n [AR_NAME_OR_ID_SEARCH_PARAM_KEY]: nameOrID,\n [RELATED_PROJECT_ID_SEARCH_PARAM_KEY]: relatedProjectId,\n [REVIEWER_ID_SEARCH_PARAM_KEY]: reviewerId,\n [AR_TYPE_SEARCH_PARAM_KEY]: typeFilter, // typeFilter state is not debounced\n },\n item => item === undefined || item === '',\n ) as Record<string, string>\n\n // Add the new params to the URL\n // Replace history because intuitively, the user has not navigated to a new page\n const paramsObject = new URLSearchParams(params)\n navigate(\n {\n pathname: location.pathname,\n search: paramsObject.toString(),\n },\n { replace: true },\n )\n }, [\n nameOrID,\n relatedProjectId,\n reviewerId,\n typeFilter,\n navigate,\n location.pathname,\n ])\n\n const onReviewerChange = useCallback(\n (selected: string | null) => {\n if (selected) {\n setReviewerId(selected)\n } else {\n setReviewerId(undefined)\n }\n },\n [setReviewerId],\n )\n\n return (\n <div className=\"AccessRequirementDashboard\">\n <EntityFinderModal\n configuration={{\n initialScope: FinderScope.ALL_PROJECTS,\n initialContainer: null,\n selectMultiple: false,\n selectableTypes: [EntityType.project],\n treeOnly: true,\n }}\n show={showEntityFinder}\n onCancel={() => {\n setShowEntityFinder(false)\n }}\n title={'Select Project to Filter Access Requirements'}\n promptCopy={\n 'Select a project to find Access Requirements that are associated with that project. Access Requirements will be found if the Access Requirement is applied to the project, or if it is applied to any item inside the project.'\n }\n onConfirm={selected => {\n setRelatedProjectId(selected[0].targetId)\n setShowEntityFinder(false)\n }}\n confirmButtonCopy={'Select'}\n />\n <Grid component={'form'} container spacing={2} className=\"InputPanel\">\n <Grid size={{ xs: 12, md: 4 }}>\n <TextField\n label=\"Filter by Access Requirement Name or ID\"\n id=\"ar-name-filter\"\n type=\"text\"\n fullWidth\n placeholder=\"Search for an Access Requirement Name or ID\"\n onChange={e => {\n setNameOrID(e.target.value)\n }}\n slotProps={{\n input: {\n endAdornment: (\n <InputAdornment position=\"end\">\n <SearchOutlined />\n </InputAdornment>\n ),\n },\n }}\n />\n </Grid>\n <Grid\n size={{ xs: 12, md: 4 }}\n sx={{\n display: 'flex',\n gap: '5px',\n alignItems: 'stretch',\n }}\n >\n <TextField\n label=\"Filter by Project\"\n id=\"project-id-filter\"\n type=\"text\"\n fullWidth\n placeholder=\"Enter a project SynID\"\n error={projectFilterFieldIsError}\n helperText={\n projectFilterFieldIsError\n ? 'Value must be a Synapse ID, e.g. \"syn1234\"'\n : undefined\n }\n onChange={e => {\n const newValue = e.target.value\n if (newValue === '') {\n setRelatedProjectId(undefined)\n } else {\n setRelatedProjectId(newValue)\n }\n }}\n />\n <InputSizedButton\n variant=\"outlined\"\n color=\"primary\"\n onClick={() => {\n setShowEntityFinder(true)\n }}\n >\n Browse\n </InputSizedButton>\n </Grid>\n <Grid size={{ xs: 12, md: 4 }}>\n <Typography\n component=\"label\"\n variant=\"smallText2\"\n htmlFor=\"reviewer-filter\"\n >\n Filter by Reviewer\n </Typography>\n <UserSearchBox\n inputId=\"reviewer-filter\"\n placeholder=\"Search for a username or team name\"\n defaultValue={reviewerId}\n onChange={onReviewerChange}\n />\n </Grid>\n </Grid>\n <AccessRequirementTable\n nameOrID={nameOrID}\n relatedProjectId={relatedProjectId}\n reviewerId={reviewerId}\n onCreateNewAccessRequirementClicked={\n onCreateNewAccessRequirementClicked\n }\n typeFilter={typeFilter}\n onTypeFilterChange={setTypeFilter}\n />\n </div>\n )\n}\n\nexport default AccessRequirementDashboard\n"],"mappings":";;;;;;;;;;;;;;;AAcA,IAAa,IAAiC,YACjC,IAAsC,oBACtC,IAA+B,cAC/B,IAA2B;AAMxC,SAAgB,EACd,GACA;CAEA,IAEM,EAAE,2CAAwC,GAE1C,IAAW,GAAa,EACxB,IAAkB,QAChB,IAAI,gBAAgB,EAAS,OAAO,EAC1C,CAAC,EAAS,OAAO,CAClB,EACK,IAAW,GAAa,EAOxB,CAAC,GAAU,KAAe,EAC9B,EAAgB,IAAA,WAAmC,IAAI,IACvD,IACD,EACK,CAAC,GAAkB,KAAuB,EAG9C,EAAgB,IAAA,mBAAwC,IAAI,KAAA,GAC5D,IACD,EACK,CAAC,GAAY,KAAiB,EAClC,EAAgB,IAAA,aAAiC,IAAI,KAAA,GACrD,IACD,EACK,CAAC,GAAY,KAAiB,EAClC,EAAgB,IAAA,OAA6B,IAAI,KAAA,EAClD,EAEK,IAAqC,QAEvC,CAAC,EAAE,KAAoB,CAAC,EAAwB,KAAK,EAAiB,GACxE,CAAC,EAAiB,CACnB,EAEK,CAAC,GAAkB,KAAuB,EAAS,GAAM;AAG/D,SAAgB;EAEd,IAAM,IAAS,EACb;IAEG,IAAiC;IACjC,IAAsC;IACtC,IAA+B;IAC/B,IAA2B;GAC7B,GACD,MAAQ,MAAS,KAAA,KAAa,MAAS,GACxC,EAIK,IAAe,IAAI,gBAAgB,EAAO;AAChD,IACE;GACE,UAAU,EAAS;GACnB,QAAQ,EAAa,UAAU;GAChC,EACD,EAAE,SAAS,IAAM,CAClB;IACA;EACD;EACA;EACA;EACA;EACA;EACA,EAAS;EACV,CAAC;CAEF,IAAM,IAAmB,GACtB,MAA4B;AAC3B,EACE,EADE,KAGY,KAAA,EAAU;IAG5B,CAAC,EAAc,CAChB;AAED,QACE,kBAAC,OAAD;EAAK,WAAU;YAAf;GACE,kBAAC,GAAD;IACE,eAAe;KACb,cAAc,EAAY;KAC1B,kBAAkB;KAClB,gBAAgB;KAChB,iBAAiB,CAAC,EAAW,QAAQ;KACrC,UAAU;KACX;IACD,MAAM;IACN,gBAAgB;AACd,OAAoB,GAAM;;IAE5B,OAAO;IACP,YACE;IAEF,YAAW,MAAY;AAErB,KADA,EAAoB,EAAS,GAAG,SAAS,EACzC,EAAoB,GAAM;;IAE5B,mBAAmB;IACnB,CAAA;GACF,kBAAC,GAAD;IAAM,WAAW;IAAQ,WAAA;IAAU,SAAS;IAAG,WAAU;cAAzD;KACE,kBAAC,GAAD;MAAM,MAAM;OAAE,IAAI;OAAI,IAAI;OAAG;gBAC3B,kBAAC,GAAD;OACE,OAAM;OACN,IAAG;OACH,MAAK;OACL,WAAA;OACA,aAAY;OACZ,WAAU,MAAK;AACb,UAAY,EAAE,OAAO,MAAM;;OAE7B,WAAW,EACT,OAAO,EACL,cACE,kBAAC,GAAD;QAAgB,UAAS;kBACvB,kBAAC,GAAD,EAAkB,CAAA;QACH,CAAA,EAEpB,EACF;OACD,CAAA;MACG,CAAA;KACP,kBAAC,GAAD;MACE,MAAM;OAAE,IAAI;OAAI,IAAI;OAAG;MACvB,IAAI;OACF,SAAS;OACT,KAAK;OACL,YAAY;OACb;gBANH,CAQE,kBAAC,GAAD;OACE,OAAM;OACN,IAAG;OACH,MAAK;OACL,WAAA;OACA,aAAY;OACZ,OAAO;OACP,YACE,IACI,iDACA,KAAA;OAEN,WAAU,MAAK;QACb,IAAM,IAAW,EAAE,OAAO;AAC1B,QACE,EADE,MAAa,KACK,KAAA,IAEA,EAAS;;OAGjC,CAAA,EACF,kBAAC,GAAD;OACE,SAAQ;OACR,OAAM;OACN,eAAe;AACb,UAAoB,GAAK;;iBAE5B;OAEkB,CAAA,CACd;;KACP,kBAAC,GAAD;MAAM,MAAM;OAAE,IAAI;OAAI,IAAI;OAAG;gBAA7B,CACE,kBAAC,GAAD;OACE,WAAU;OACV,SAAQ;OACR,SAAQ;iBACT;OAEY,CAAA,EACb,kBAAC,GAAD;OACE,SAAQ;OACR,aAAY;OACZ,cAAc;OACd,UAAU;OACV,CAAA,CACG;;KACF;;GACP,kBAAC,GAAD;IACY;IACQ;IACN;IAEV;IAEU;IACZ,oBAAoB;IACpB,CAAA;GACE"}
|
|
1
|
+
{"version":3,"file":"AccessRequirementDashboard.js","names":[],"sources":["../../../src/components/dataaccess/AccessRequirementDashboard.tsx"],"sourcesContent":["import { InputSizedButton } from '@/components/styled/InputSizedButton'\nimport { SYNAPSE_ENTITY_ID_REGEX } from '@/utils/functions/RegularExpressions'\nimport { SearchOutlined } from '@mui/icons-material'\nimport { Grid, InputAdornment, TextField, Typography } from '@mui/material'\nimport { useDebouncedState } from '@react-hookz/web'\nimport { EntityType } from '@sage-bionetworks/synapse-client'\nimport { omitBy } from 'lodash-es'\nimport { useCallback, useEffect, useMemo, useState } from 'react'\nimport { useLocation, useNavigate } from 'react-router'\nimport { EntityFinderModal } from '../EntityFinder/EntityFinderModal'\nimport { FinderScope } from '../EntityFinder/tree/EntityTree'\nimport UserSearchBox from '../UserSearchBox/UserSearchBox'\nimport { AccessRequirementTable } from './AccessRequirementTable'\n\nexport const AR_NAME_OR_ID_SEARCH_PARAM_KEY = 'nameOrID'\nexport const RELATED_PROJECT_ID_SEARCH_PARAM_KEY = 'relatedProjectId'\nexport const REVIEWER_ID_SEARCH_PARAM_KEY = 'reviewerId'\nexport const AR_TYPE_SEARCH_PARAM_KEY = 'type'\n\nexport type AccessRequirementDashboardProps = {\n onCreateNewAccessRequirementClicked?: () => void\n}\n\nexport function AccessRequirementDashboard(\n props: AccessRequirementDashboardProps,\n) {\n // Amount of time to wait after an input value changes before sending a new request\n const INPUT_CHANGE_DEBOUNCE_DELAY_MS = 500\n\n const { onCreateNewAccessRequirementClicked } = props\n\n const location = useLocation()\n const urlSearchParams = useMemo(\n () => new URLSearchParams(location.search),\n [location.search],\n )\n const navigate = useNavigate()\n\n /**\n * When an input changes, update the props passed to the table and update the search params.\n *\n * Debounced to prevent firing many queries while the user is entering text.\n */\n const [nameOrID, setNameOrID] = useDebouncedState<string>(\n urlSearchParams.get(AR_NAME_OR_ID_SEARCH_PARAM_KEY) ?? '',\n INPUT_CHANGE_DEBOUNCE_DELAY_MS,\n )\n const [relatedProjectId, setRelatedProjectId] = useDebouncedState<\n string | undefined\n >(\n urlSearchParams.get(RELATED_PROJECT_ID_SEARCH_PARAM_KEY) ?? undefined,\n INPUT_CHANGE_DEBOUNCE_DELAY_MS,\n )\n const [reviewerId, setReviewerId] = useDebouncedState<string | undefined>(\n urlSearchParams.get(REVIEWER_ID_SEARCH_PARAM_KEY) ?? undefined,\n INPUT_CHANGE_DEBOUNCE_DELAY_MS,\n )\n const [typeFilter, setTypeFilter] = useState<string | undefined>(\n urlSearchParams.get(AR_TYPE_SEARCH_PARAM_KEY) ?? undefined,\n )\n\n const projectFilterFieldIsError: boolean = useMemo(\n () =>\n !!(relatedProjectId && !SYNAPSE_ENTITY_ID_REGEX.exec(relatedProjectId)),\n [relatedProjectId],\n )\n\n const [showEntityFinder, setShowEntityFinder] = useState(false)\n\n // Update the QueryParams when the filter state changes\n useEffect(() => {\n // Don't include undefined/empty parameters\n const params = omitBy(\n {\n // Sync the search params state with the debounced props\n [AR_NAME_OR_ID_SEARCH_PARAM_KEY]: nameOrID,\n [RELATED_PROJECT_ID_SEARCH_PARAM_KEY]: relatedProjectId,\n [REVIEWER_ID_SEARCH_PARAM_KEY]: reviewerId,\n [AR_TYPE_SEARCH_PARAM_KEY]: typeFilter, // typeFilter state is not debounced\n },\n item => item === undefined || item === '',\n ) as Record<string, string>\n\n // Add the new params to the URL\n // Replace history because intuitively, the user has not navigated to a new page\n const paramsObject = new URLSearchParams(params)\n navigate(\n {\n pathname: location.pathname,\n search: paramsObject.toString(),\n },\n { replace: true },\n )\n }, [\n nameOrID,\n relatedProjectId,\n reviewerId,\n typeFilter,\n navigate,\n location.pathname,\n ])\n\n const onReviewerChange = useCallback(\n (selected: string | null) => {\n if (selected) {\n setReviewerId(selected)\n } else {\n setReviewerId(undefined)\n }\n },\n [setReviewerId],\n )\n\n return (\n <div className=\"AccessRequirementDashboard\">\n <EntityFinderModal\n configuration={{\n initialScope: FinderScope.ALL_PROJECTS,\n initialContainer: null,\n selectMultiple: false,\n selectableTypes: [EntityType.project],\n treeOnly: true,\n }}\n show={showEntityFinder}\n onCancel={() => {\n setShowEntityFinder(false)\n }}\n title={'Select Project to Filter Access Requirements'}\n promptCopy={\n 'Select a project to find Access Requirements that are associated with that project. Access Requirements will be found if the Access Requirement is applied to the project, or if it is applied to any item inside the project.'\n }\n onConfirm={selected => {\n setRelatedProjectId(selected[0].targetId)\n setShowEntityFinder(false)\n }}\n confirmButtonCopy={'Select'}\n />\n <Grid component={'form'} container spacing={2} className=\"InputPanel\">\n <Grid size={{ xs: 12, md: 4 }}>\n <TextField\n label=\"Filter by Access Requirement Name or ID\"\n id=\"ar-name-filter\"\n type=\"text\"\n fullWidth\n placeholder=\"Search for an Access Requirement Name or ID\"\n onChange={e => {\n setNameOrID(e.target.value)\n }}\n slotProps={{\n input: {\n endAdornment: (\n <InputAdornment position=\"end\">\n <SearchOutlined />\n </InputAdornment>\n ),\n },\n }}\n />\n </Grid>\n <Grid\n size={{ xs: 12, md: 4 }}\n sx={{\n display: 'flex',\n gap: '5px',\n alignItems: 'stretch',\n }}\n >\n <TextField\n label=\"Filter by Project\"\n id=\"project-id-filter\"\n type=\"text\"\n fullWidth\n placeholder=\"Enter a project SynID\"\n error={projectFilterFieldIsError}\n helperText={\n projectFilterFieldIsError\n ? 'Value must be a Synapse ID, e.g. \"syn1234\"'\n : undefined\n }\n onChange={e => {\n const newValue = e.target.value\n if (newValue === '') {\n setRelatedProjectId(undefined)\n } else {\n setRelatedProjectId(newValue)\n }\n }}\n />\n <InputSizedButton\n variant=\"outlined\"\n color=\"primary\"\n onClick={() => {\n setShowEntityFinder(true)\n }}\n >\n Browse\n </InputSizedButton>\n </Grid>\n <Grid size={{ xs: 12, md: 4 }}>\n <Typography\n component=\"label\"\n variant=\"smallText2\"\n htmlFor=\"reviewer-filter\"\n >\n Filter by Reviewer\n </Typography>\n <UserSearchBox\n inputId=\"reviewer-filter\"\n placeholder=\"Search for a username or team name\"\n defaultValue={reviewerId}\n onChange={onReviewerChange}\n />\n </Grid>\n </Grid>\n <AccessRequirementTable\n nameOrID={nameOrID}\n relatedProjectId={relatedProjectId}\n reviewerId={reviewerId}\n onCreateNewAccessRequirementClicked={\n onCreateNewAccessRequirementClicked\n }\n typeFilter={typeFilter}\n onTypeFilterChange={setTypeFilter}\n />\n </div>\n )\n}\n\nexport default AccessRequirementDashboard\n"],"mappings":";;;;;;;;;;;;;;;AAcA,IAAa,IAAiC,YACjC,IAAsC,oBACtC,IAA+B,cAC/B,IAA2B;AAMxC,SAAgB,EACd,GACA;CAEA,IAEM,EAAE,2CAAwC,GAE1C,IAAW,EAAY,GACvB,IAAkB,QAChB,IAAI,gBAAgB,EAAS,MAAM,GACzC,CAAC,EAAS,MAAM,CAClB,GACM,IAAW,EAAY,GAOvB,CAAC,GAAU,KAAe,EAC9B,EAAgB,IAAA,UAAkC,KAAK,IACvD,GACF,GACM,CAAC,GAAkB,KAAuB,EAG9C,EAAgB,IAAA,kBAAuC,KAAK,KAAA,GAC5D,GACF,GACM,CAAC,GAAY,KAAiB,EAClC,EAAgB,IAAA,YAAgC,KAAK,KAAA,GACrD,GACF,GACM,CAAC,GAAY,KAAiB,EAClC,EAAgB,IAAA,MAA4B,KAAK,KAAA,CACnD,GAEM,IAAqC,QAEvC,CAAC,EAAE,KAAoB,CAAC,EAAwB,KAAK,CAAgB,IACvE,CAAC,CAAgB,CACnB,GAEM,CAAC,GAAkB,KAAuB,EAAS,EAAK;CAG9D,QAAgB;EAEd,IAAM,IAAS,EACb;IAEG,IAAiC;IACjC,IAAsC;IACtC,IAA+B;IAC/B,IAA2B;EAC9B,IACA,MAAQ,MAAS,KAAA,KAAa,MAAS,EACzC,GAIM,IAAe,IAAI,gBAAgB,CAAM;EAC/C,EACE;GACE,UAAU,EAAS;GACnB,QAAQ,EAAa,SAAS;EAChC,GACA,EAAE,SAAS,GAAK,CAClB;CACF,GAAG;EACD;EACA;EACA;EACA;EACA;EACA,EAAS;CACX,CAAC;CAED,IAAM,IAAmB,GACtB,MAA4B;EAC3B,AACE,EADE,KAGY,KAAA,CAAS;CAE3B,GACA,CAAC,CAAa,CAChB;CAEA,OACE,kBAAC,OAAD;EAAK,WAAU;YAAf;GACE,kBAAC,GAAD;IACE,eAAe;KACb,cAAc,EAAY;KAC1B,kBAAkB;KAClB,gBAAgB;KAChB,iBAAiB,CAAC,EAAW,OAAO;KACpC,UAAU;IACZ;IACA,MAAM;IACN,gBAAgB;KACd,EAAoB,EAAK;IAC3B;IACA,OAAO;IACP,YACE;IAEF,YAAW,MAAY;KAErB,AADA,EAAoB,EAAS,GAAG,QAAQ,GACxC,EAAoB,EAAK;IAC3B;IACA,mBAAmB;GACpB,CAAA;GACD,kBAAC,GAAD;IAAM,WAAW;IAAQ,WAAA;IAAU,SAAS;IAAG,WAAU;cAAzD;KACE,kBAAC,GAAD;MAAM,MAAM;OAAE,IAAI;OAAI,IAAI;MAAE;gBAC1B,kBAAC,GAAD;OACE,OAAM;OACN,IAAG;OACH,MAAK;OACL,WAAA;OACA,aAAY;OACZ,WAAU,MAAK;QACb,EAAY,EAAE,OAAO,KAAK;OAC5B;OACA,WAAW,EACT,OAAO,EACL,cACE,kBAAC,GAAD;QAAgB,UAAS;kBACvB,kBAAC,GAAD,CAAiB,CAAA;OACH,CAAA,EAEpB,EACF;MACD,CAAA;KACG,CAAA;KACN,kBAAC,GAAD;MACE,MAAM;OAAE,IAAI;OAAI,IAAI;MAAE;MACtB,IAAI;OACF,SAAS;OACT,KAAK;OACL,YAAY;MACd;gBANF,CAQE,kBAAC,GAAD;OACE,OAAM;OACN,IAAG;OACH,MAAK;OACL,WAAA;OACA,aAAY;OACZ,OAAO;OACP,YACE,IACI,iDACA,KAAA;OAEN,WAAU,MAAK;QACb,IAAM,IAAW,EAAE,OAAO;QAC1B,AACE,EADE,MAAa,KACK,KAAA,IAEA,CAAQ;OAEhC;MACD,CAAA,GACD,kBAAC,GAAD;OACE,SAAQ;OACR,OAAM;OACN,eAAe;QACb,EAAoB,EAAI;OAC1B;iBACD;MAEiB,CAAA,CACd;;KACN,kBAAC,GAAD;MAAM,MAAM;OAAE,IAAI;OAAI,IAAI;MAAE;gBAA5B,CACE,kBAAC,GAAD;OACE,WAAU;OACV,SAAQ;OACR,SAAQ;iBACT;MAEW,CAAA,GACZ,kBAAC,GAAD;OACE,SAAQ;OACR,aAAY;OACZ,cAAc;OACd,UAAU;MACX,CAAA,CACG;;IACF;;GACN,kBAAC,GAAD;IACY;IACQ;IACN;IAEV;IAEU;IACZ,oBAAoB;GACrB,CAAA;EACE;;AAET"}
|
package/dist/components/dataaccess/AccessRequirementSearchBox/AccessRequirementSearchBox.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccessRequirementSearchBox.js","names":[],"sources":["../../../../src/components/dataaccess/AccessRequirementSearchBox/AccessRequirementSearchBox.tsx"],"sourcesContent":["import SynapseClient from '@/synapse-client'\nimport { useGetAccessRequirements } from '@/synapse-queries/dataaccess/useAccessRequirements'\nimport { useSynapseContext } from '@/utils/context/SynapseContext'\nimport { Skeleton, useTheme } from '@mui/material'\nimport AsyncSelect from 'react-select/async'\n\nexport type AccessRequirementSearchBoxProps = {\n /* id for the input tag */\n inputId?: string\n initialId?: string | number\n onChange: (accessRequirementId?: string) => void\n placeholder?: string\n}\n\nexport function getOptionLabel(id: string | number, name: string) {\n if (id.toString() === name) {\n return name\n } else {\n return `${name} (${id})`\n }\n}\n\nexport default function AccessRequirementSearchBox(\n props: AccessRequirementSearchBoxProps,\n) {\n const { inputId, initialId, onChange, placeholder } = props\n\n const { palette } = useTheme()\n const { accessToken } = useSynapseContext()\n const { data: initialAccessRequirement, isLoading: isLoadingInitialAR } =\n useGetAccessRequirements(initialId!, {\n enabled: !!initialId,\n })\n\n async function loadOptions(inputValue: string) {\n // Check to see if the entered text is an AR ID\n const parsedId = parseInt(inputValue)\n let data: Array<{ id: string | number; name: string }> | undefined =\n undefined\n if (parsedId) {\n data = [\n await SynapseClient.getAccessRequirementById(accessToken, parsedId),\n ]\n }\n\n // If the input wasn't an integer, or didn't match an existing AR ID, then search ARs\n if (!data) {\n data = (\n await SynapseClient.searchAccessRequirements(accessToken, {\n nameContains: inputValue,\n })\n )?.results\n }\n\n // Map the AR(s) to options for the select input component\n return (\n data?.map(item => ({\n id: item.id.toString(),\n value: item.id.toString(),\n label: getOptionLabel(item.id, item.name),\n })) ?? []\n )\n }\n\n if (initialId && isLoadingInitialAR) {\n return <Skeleton width=\"100%\" />\n }\n\n return (\n <AsyncSelect\n className=\"AsyncSelect\"\n defaultInputValue={\n initialId\n ? getOptionLabel(\n initialId,\n initialAccessRequirement?.name ?? initialId.toString(),\n )\n : undefined\n }\n defaultOptions={\n initialId\n ? [\n {\n id: initialId,\n value: initialId,\n label: getOptionLabel(\n initialId,\n initialAccessRequirement?.name ?? initialId.toString(),\n ),\n },\n ]\n : true\n }\n inputId={inputId}\n cacheOptions\n isClearable\n styles={{\n control: styles => ({ ...styles, backgroundColor: palette.grey[200] }),\n input: provided => ({\n ...provided,\n // SWC-6327 - Adjust the input style so a right-click focuses on the input field\n input: {\n gridArea: '1 / 2 / 4 / 4 !important',\n },\n }),\n }}\n loadOptions={loadOptions}\n onChange={option => {\n onChange(option?.id.toString())\n }}\n placeholder={placeholder}\n />\n )\n}\n"],"mappings":";;;;;;;AAcA,SAAgB,EAAe,GAAqB,GAAc;
|
|
1
|
+
{"version":3,"file":"AccessRequirementSearchBox.js","names":[],"sources":["../../../../src/components/dataaccess/AccessRequirementSearchBox/AccessRequirementSearchBox.tsx"],"sourcesContent":["import SynapseClient from '@/synapse-client'\nimport { useGetAccessRequirements } from '@/synapse-queries/dataaccess/useAccessRequirements'\nimport { useSynapseContext } from '@/utils/context/SynapseContext'\nimport { Skeleton, useTheme } from '@mui/material'\nimport AsyncSelect from 'react-select/async'\n\nexport type AccessRequirementSearchBoxProps = {\n /* id for the input tag */\n inputId?: string\n initialId?: string | number\n onChange: (accessRequirementId?: string) => void\n placeholder?: string\n}\n\nexport function getOptionLabel(id: string | number, name: string) {\n if (id.toString() === name) {\n return name\n } else {\n return `${name} (${id})`\n }\n}\n\nexport default function AccessRequirementSearchBox(\n props: AccessRequirementSearchBoxProps,\n) {\n const { inputId, initialId, onChange, placeholder } = props\n\n const { palette } = useTheme()\n const { accessToken } = useSynapseContext()\n const { data: initialAccessRequirement, isLoading: isLoadingInitialAR } =\n useGetAccessRequirements(initialId!, {\n enabled: !!initialId,\n })\n\n async function loadOptions(inputValue: string) {\n // Check to see if the entered text is an AR ID\n const parsedId = parseInt(inputValue)\n let data: Array<{ id: string | number; name: string }> | undefined =\n undefined\n if (parsedId) {\n data = [\n await SynapseClient.getAccessRequirementById(accessToken, parsedId),\n ]\n }\n\n // If the input wasn't an integer, or didn't match an existing AR ID, then search ARs\n if (!data) {\n data = (\n await SynapseClient.searchAccessRequirements(accessToken, {\n nameContains: inputValue,\n })\n )?.results\n }\n\n // Map the AR(s) to options for the select input component\n return (\n data?.map(item => ({\n id: item.id.toString(),\n value: item.id.toString(),\n label: getOptionLabel(item.id, item.name),\n })) ?? []\n )\n }\n\n if (initialId && isLoadingInitialAR) {\n return <Skeleton width=\"100%\" />\n }\n\n return (\n <AsyncSelect\n className=\"AsyncSelect\"\n defaultInputValue={\n initialId\n ? getOptionLabel(\n initialId,\n initialAccessRequirement?.name ?? initialId.toString(),\n )\n : undefined\n }\n defaultOptions={\n initialId\n ? [\n {\n id: initialId,\n value: initialId,\n label: getOptionLabel(\n initialId,\n initialAccessRequirement?.name ?? initialId.toString(),\n ),\n },\n ]\n : true\n }\n inputId={inputId}\n cacheOptions\n isClearable\n styles={{\n control: styles => ({ ...styles, backgroundColor: palette.grey[200] }),\n input: provided => ({\n ...provided,\n // SWC-6327 - Adjust the input style so a right-click focuses on the input field\n input: {\n gridArea: '1 / 2 / 4 / 4 !important',\n },\n }),\n }}\n loadOptions={loadOptions}\n onChange={option => {\n onChange(option?.id.toString())\n }}\n placeholder={placeholder}\n />\n )\n}\n"],"mappings":";;;;;;;AAcA,SAAgB,EAAe,GAAqB,GAAc;CAI9D,OAHE,EAAG,SAAS,MAAM,IACb,IAEA,GAAG,EAAK,IAAI,EAAG;AAE1B;AAEA,SAAwB,EACtB,GACA;CACA,IAAM,EAAE,YAAS,cAAW,aAAU,mBAAgB,GAEhD,EAAE,eAAY,EAAS,GACvB,EAAE,mBAAgB,EAAkB,GACpC,EAAE,MAAM,GAA0B,WAAW,MACjD,EAAyB,GAAY,EACnC,SAAS,CAAC,CAAC,EACb,CAAC;CAEH,eAAe,EAAY,GAAoB;EAE7C,IAAM,IAAW,SAAS,CAAU,GAChC;EAkBJ,OAhBI,MACF,IAAO,CACL,MAAM,EAAc,yBAAyB,GAAa,CAAQ,CACpE,IAIF,AACE,OACE,MAAM,EAAc,yBAAyB,GAAa,EACxD,cAAc,EAChB,CAAC,IACA,SAKH,GAAM,KAAI,OAAS;GACjB,IAAI,EAAK,GAAG,SAAS;GACrB,OAAO,EAAK,GAAG,SAAS;GACxB,OAAO,EAAe,EAAK,IAAI,EAAK,IAAI;EAC1C,EAAE,KAAK,CAAC;CAEZ;CAMA,OAJI,KAAa,IACR,kBAAC,GAAD,EAAU,OAAM,OAAQ,CAAA,IAI/B,kBAAC,GAAD;EACE,WAAU;EACV,mBACE,IACI,EACE,GACA,GAA0B,QAAQ,EAAU,SAAS,CACvD,IACA,KAAA;EAEN,gBACE,IACI,CACE;GACE,IAAI;GACJ,OAAO;GACP,OAAO,EACL,GACA,GAA0B,QAAQ,EAAU,SAAS,CACvD;EACF,CACF,IACA;EAEG;EACT,cAAA;EACA,aAAA;EACA,QAAQ;GACN,UAAS,OAAW;IAAE,GAAG;IAAQ,iBAAiB,EAAQ,KAAK;GAAK;GACpE,QAAO,OAAa;IAClB,GAAG;IAEH,OAAO,EACL,UAAU,2BACZ;GACF;EACF;EACa;EACb,WAAU,MAAU;GAClB,EAAS,GAAQ,GAAG,SAAS,CAAC;EAChC;EACa;CACd,CAAA;AAEL"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccessRequirementTable.js","names":[],"sources":["../../../src/components/dataaccess/AccessRequirementTable.tsx"],"sourcesContent":["import InfiniteTableLayout from '@/components/layout/InfiniteTableLayout'\nimport { ACCESS_TYPE } from '@sage-bionetworks/synapse-types'\nimport { Button, Typography } from '@mui/material'\nimport { StarTwoTone } from '@mui/icons-material'\nimport { useAccessRequirementTable } from './UseAccessRequirementTable'\nimport StyledTanStackTable from '../TanStackTable/StyledTanStackTable'\nimport { noop } from 'lodash-es'\n\nexport type AccessRequirementTableProps = {\n nameOrID?: string\n relatedProjectId?: string\n reviewerId?: string\n accessType?: ACCESS_TYPE\n onCreateNewAccessRequirementClicked?: () => void\n typeFilter?: string\n onTypeFilterChange?: (typeFilter: string | undefined) => void\n}\n\nexport function AccessRequirementTable(props: AccessRequirementTableProps) {\n const {\n nameOrID,\n relatedProjectId,\n reviewerId,\n accessType,\n onCreateNewAccessRequirementClicked,\n typeFilter,\n onTypeFilterChange = noop,\n } = props\n\n const { table, isLoading, hasNextPage, fetchNextPage, isFetchingNextPage } =\n useAccessRequirementTable({\n nameOrID,\n relatedProjectId,\n reviewerId,\n accessType,\n typeFilter,\n onTypeFilterChange,\n })\n\n const isEmpty = !isLoading && table.getRowModel().rows.length === 0\n\n return (\n <div>\n <div className=\"SRC-split\">\n <Typography variant=\"headline3\" style={{ marginBottom: 0 }}>\n Access Requirements\n </Typography>\n {onCreateNewAccessRequirementClicked && (\n <Button\n variant=\"outlined\"\n color=\"primary\"\n onClick={onCreateNewAccessRequirementClicked}\n startIcon={<StarTwoTone />}\n >\n New Access Requirement\n </Button>\n )}\n </div>\n <InfiniteTableLayout\n table={\n <StyledTanStackTable\n table={table}\n styledTableContainerProps={{ sx: { my: 2 } }}\n />\n }\n isLoading={isLoading}\n isEmpty={isEmpty}\n hasNextPage={hasNextPage}\n onFetchNextPageClicked={() => {\n fetchNextPage()\n }}\n isFetchingNextPage={isFetchingNextPage}\n />\n </div>\n )\n}\n"],"mappings":";;;;;;;;AAkBA,SAAgB,EAAuB,GAAoC;CACzE,IAAM,EACJ,aACA,qBACA,eACA,eACA,wCACA,eACA,wBAAqB,MACnB,GAEE,EAAE,UAAO,cAAW,gBAAa,kBAAe,0BACpD,EAA0B;EACxB;EACA;EACA;EACA;EACA;EACA;
|
|
1
|
+
{"version":3,"file":"AccessRequirementTable.js","names":[],"sources":["../../../src/components/dataaccess/AccessRequirementTable.tsx"],"sourcesContent":["import InfiniteTableLayout from '@/components/layout/InfiniteTableLayout'\nimport { ACCESS_TYPE } from '@sage-bionetworks/synapse-types'\nimport { Button, Typography } from '@mui/material'\nimport { StarTwoTone } from '@mui/icons-material'\nimport { useAccessRequirementTable } from './UseAccessRequirementTable'\nimport StyledTanStackTable from '../TanStackTable/StyledTanStackTable'\nimport { noop } from 'lodash-es'\n\nexport type AccessRequirementTableProps = {\n nameOrID?: string\n relatedProjectId?: string\n reviewerId?: string\n accessType?: ACCESS_TYPE\n onCreateNewAccessRequirementClicked?: () => void\n typeFilter?: string\n onTypeFilterChange?: (typeFilter: string | undefined) => void\n}\n\nexport function AccessRequirementTable(props: AccessRequirementTableProps) {\n const {\n nameOrID,\n relatedProjectId,\n reviewerId,\n accessType,\n onCreateNewAccessRequirementClicked,\n typeFilter,\n onTypeFilterChange = noop,\n } = props\n\n const { table, isLoading, hasNextPage, fetchNextPage, isFetchingNextPage } =\n useAccessRequirementTable({\n nameOrID,\n relatedProjectId,\n reviewerId,\n accessType,\n typeFilter,\n onTypeFilterChange,\n })\n\n const isEmpty = !isLoading && table.getRowModel().rows.length === 0\n\n return (\n <div>\n <div className=\"SRC-split\">\n <Typography variant=\"headline3\" style={{ marginBottom: 0 }}>\n Access Requirements\n </Typography>\n {onCreateNewAccessRequirementClicked && (\n <Button\n variant=\"outlined\"\n color=\"primary\"\n onClick={onCreateNewAccessRequirementClicked}\n startIcon={<StarTwoTone />}\n >\n New Access Requirement\n </Button>\n )}\n </div>\n <InfiniteTableLayout\n table={\n <StyledTanStackTable\n table={table}\n styledTableContainerProps={{ sx: { my: 2 } }}\n />\n }\n isLoading={isLoading}\n isEmpty={isEmpty}\n hasNextPage={hasNextPage}\n onFetchNextPageClicked={() => {\n fetchNextPage()\n }}\n isFetchingNextPage={isFetchingNextPage}\n />\n </div>\n )\n}\n"],"mappings":";;;;;;;;AAkBA,SAAgB,EAAuB,GAAoC;CACzE,IAAM,EACJ,aACA,qBACA,eACA,eACA,wCACA,eACA,wBAAqB,MACnB,GAEE,EAAE,UAAO,cAAW,gBAAa,kBAAe,0BACpD,EAA0B;EACxB;EACA;EACA;EACA;EACA;EACA;CACF,CAAC,GAEG,IAAU,CAAC,KAAa,EAAM,YAAY,EAAE,KAAK,WAAW;CAElE,OACE,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,OAAD;EAAK,WAAU;YAAf,CACE,kBAAC,GAAD;GAAY,SAAQ;GAAY,OAAO,EAAE,cAAc,EAAE;aAAG;EAEhD,CAAA,GACX,KACC,kBAAC,GAAD;GACE,SAAQ;GACR,OAAM;GACN,SAAS;GACT,WAAW,kBAAC,GAAD,CAAc,CAAA;aAC1B;EAEO,CAAA,CAEP;KACL,kBAAC,GAAD;EACE,OACE,kBAAC,GAAD;GACS;GACP,2BAA2B,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;EAC5C,CAAA;EAEQ;EACF;EACI;EACb,8BAA8B;GAC5B,EAAc;EAChB;EACoB;CACrB,CAAA,CACE,EAAA,CAAA;AAET"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccessSubmissionDashboard.js","names":[],"sources":["../../../src/components/dataaccess/AccessSubmissionDashboard.tsx"],"sourcesContent":["import React from 'react'\nimport { useIsCurrentUserACTMember } from '@/synapse-queries/index'\nimport { useDebouncedEffect } from '@/utils/hooks/useDebouncedEffect'\nimport { ACT_TEAM_ID } from '@/utils/SynapseConstants'\nimport {\n Checkbox,\n FormControlLabel,\n Grid,\n Tooltip,\n Typography,\n} from '@mui/material'\nimport {\n SubmissionReviewerFilterType,\n SubmissionState,\n TYPE_FILTER,\n} from '@sage-bionetworks/synapse-types'\nimport { omitBy } from 'lodash-es'\nimport { useCallback, useEffect, useState } from 'react'\nimport { useLocation, useNavigate } from 'react-router'\nimport UserSearchBox from '../UserSearchBox/UserSearchBox'\nimport {\n AccessRequestSubmissionTable,\n AccessRequestSubmissionTableProps,\n} from './AccessRequestSubmissionTable'\nimport AccessRequirementSearchBox from './AccessRequirementSearchBox/AccessRequirementSearchBox'\n\nexport const getReviewerFilterID = (selected: string | null) => {\n if (selected && selected !== ACT_TEAM_ID.toString()) {\n return selected\n } else {\n return undefined\n }\n}\n\nexport const DataAccessSubmissionDashboard = (): React.ReactNode => {\n const [accessRequirementId, setAccessRequirementId] = useState<\n string | undefined\n >()\n const [accessorId, setAccessorId] = useState<string | undefined>()\n const [reviewerId, setReviewerId] = useState<string | undefined>()\n const [reviewerFilterType, setReviewerFilterType] = useState<\n SubmissionReviewerFilterType | undefined\n >(SubmissionReviewerFilterType.ALL)\n const [tableProps, setTableProps] =\n useState<AccessRequestSubmissionTableProps>({\n accessRequirementId,\n accessorId,\n reviewerId,\n showRequesters: true,\n submissionState: SubmissionState.SUBMITTED,\n })\n\n const location = useLocation()\n const navigate = useNavigate()\n const INPUT_CHANGE_DEBOUNCE_DELAY_MS = 500\n\n const { data: isACT } = useIsCurrentUserACTMember()\n\n useEffect(() => {\n const initializeFromSearchParam = () => {\n const initialParams = new URLSearchParams(location.search)\n setAccessRequirementId(\n initialParams.get('accessRequirementId') ?? undefined,\n )\n setAccessorId(initialParams.get('accessorId') ?? undefined)\n setReviewerId(initialParams.get('reviewerId') ?? undefined)\n setReviewerFilterType(\n (initialParams.get(\n 'reviewerFilterType',\n ) as SubmissionReviewerFilterType) ?? undefined,\n )\n }\n initializeFromSearchParam()\n }, [location.search])\n\n const onRequesterChange = useCallback((selected: string | null) => {\n if (selected) {\n setAccessorId(selected)\n } else {\n setAccessorId(undefined)\n }\n }, [])\n\n const onReviewerChange = useCallback((selected: string | null) => {\n setReviewerId(getReviewerFilterID(selected))\n }, [])\n\n useDebouncedEffect(\n () => {\n const updateQueryParams = (\n accessRequirementId: string | undefined,\n accessorId: string | undefined,\n reviewerId: string | undefined,\n reviewerFilterType: SubmissionReviewerFilterType | undefined,\n ) => {\n const params = new URLSearchParams(\n omitBy(\n {\n accessRequirementId,\n accessorId,\n reviewerId,\n reviewerFilterType,\n },\n item => item === undefined || item === '',\n ) as Record<string, string>,\n )\n navigate(\n {\n pathname: location.pathname,\n search: params.toString(),\n },\n { replace: true },\n )\n }\n\n updateQueryParams(\n accessRequirementId,\n accessorId,\n reviewerId,\n reviewerFilterType,\n )\n setTableProps({\n accessRequirementId,\n accessorId,\n reviewerId,\n reviewerFilterType,\n showRequesters: true,\n submissionState: SubmissionState.SUBMITTED,\n })\n },\n [\n accessRequirementId,\n accessorId,\n reviewerId,\n reviewerFilterType,\n navigate,\n location.pathname,\n ],\n INPUT_CHANGE_DEBOUNCE_DELAY_MS,\n )\n\n return (\n <div className=\"AccessSubmissionDashboard\">\n <Grid\n container\n spacing={2}\n className=\"InputPanel\"\n sx={{ alignItems: 'stretch' }}\n >\n <Grid size={{ xs: 12, md: 4 }}>\n <Typography\n component=\"label\"\n variant=\"smallText2\"\n htmlFor=\"arId-filter\"\n >\n Filter by Access Requirement Name\n </Typography>\n <AccessRequirementSearchBox\n inputId=\"arId-filter\"\n onChange={setAccessRequirementId}\n placeholder=\"Search for an Access Requirement Name \"\n />\n </Grid>\n <Grid size={{ xs: 12, md: 4 }}>\n <Typography\n component=\"label\"\n variant=\"smallText2\"\n htmlFor=\"requester-filter\"\n >\n Filter by Requester\n </Typography>\n <UserSearchBox\n inputId=\"requester-filter\"\n placeholder=\"Search for a user name\"\n defaultValue={accessorId}\n onChange={onRequesterChange}\n typeFilter={TYPE_FILTER.USERS_ONLY}\n />\n </Grid>\n <Grid size={{ xs: 12, md: 4 }}>\n <Typography\n component=\"label\"\n variant=\"smallText2\"\n htmlFor=\"reviewer-filter\"\n >\n Filter by Reviewer\n </Typography>\n <UserSearchBox\n inputId=\"reviewer-filter\"\n placeholder=\"Search for a user or team name\"\n defaultValue={reviewerId}\n onChange={onReviewerChange}\n />\n </Grid>\n {isACT && (\n <Grid size={12} sx={{ textAlign: 'right' }}>\n <Tooltip\n title={\n 'This will hide submissions that have a reviewer specifically assigned.'\n }\n >\n <FormControlLabel\n control={<Checkbox />}\n value={\n reviewerFilterType === SubmissionReviewerFilterType.ACT_ONLY\n }\n label=\"Reviewed by ACT only\"\n onChange={(_, checked) => {\n const newValue = checked\n ? SubmissionReviewerFilterType.ACT_ONLY\n : SubmissionReviewerFilterType.ALL\n setReviewerFilterType(newValue)\n }}\n />\n </Tooltip>\n </Grid>\n )}\n </Grid>\n\n <Typography variant=\"headline3\">Access Request Submissions</Typography>\n <AccessRequestSubmissionTable {...tableProps} />\n </div>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;AA0BA,IAAa,KAAuB,MAA4B;
|
|
1
|
+
{"version":3,"file":"AccessSubmissionDashboard.js","names":[],"sources":["../../../src/components/dataaccess/AccessSubmissionDashboard.tsx"],"sourcesContent":["import React from 'react'\nimport { useIsCurrentUserACTMember } from '@/synapse-queries/index'\nimport { useDebouncedEffect } from '@/utils/hooks/useDebouncedEffect'\nimport { ACT_TEAM_ID } from '@/utils/SynapseConstants'\nimport {\n Checkbox,\n FormControlLabel,\n Grid,\n Tooltip,\n Typography,\n} from '@mui/material'\nimport {\n SubmissionReviewerFilterType,\n SubmissionState,\n TYPE_FILTER,\n} from '@sage-bionetworks/synapse-types'\nimport { omitBy } from 'lodash-es'\nimport { useCallback, useEffect, useState } from 'react'\nimport { useLocation, useNavigate } from 'react-router'\nimport UserSearchBox from '../UserSearchBox/UserSearchBox'\nimport {\n AccessRequestSubmissionTable,\n AccessRequestSubmissionTableProps,\n} from './AccessRequestSubmissionTable'\nimport AccessRequirementSearchBox from './AccessRequirementSearchBox/AccessRequirementSearchBox'\n\nexport const getReviewerFilterID = (selected: string | null) => {\n if (selected && selected !== ACT_TEAM_ID.toString()) {\n return selected\n } else {\n return undefined\n }\n}\n\nexport const DataAccessSubmissionDashboard = (): React.ReactNode => {\n const [accessRequirementId, setAccessRequirementId] = useState<\n string | undefined\n >()\n const [accessorId, setAccessorId] = useState<string | undefined>()\n const [reviewerId, setReviewerId] = useState<string | undefined>()\n const [reviewerFilterType, setReviewerFilterType] = useState<\n SubmissionReviewerFilterType | undefined\n >(SubmissionReviewerFilterType.ALL)\n const [tableProps, setTableProps] =\n useState<AccessRequestSubmissionTableProps>({\n accessRequirementId,\n accessorId,\n reviewerId,\n showRequesters: true,\n submissionState: SubmissionState.SUBMITTED,\n })\n\n const location = useLocation()\n const navigate = useNavigate()\n const INPUT_CHANGE_DEBOUNCE_DELAY_MS = 500\n\n const { data: isACT } = useIsCurrentUserACTMember()\n\n useEffect(() => {\n const initializeFromSearchParam = () => {\n const initialParams = new URLSearchParams(location.search)\n setAccessRequirementId(\n initialParams.get('accessRequirementId') ?? undefined,\n )\n setAccessorId(initialParams.get('accessorId') ?? undefined)\n setReviewerId(initialParams.get('reviewerId') ?? undefined)\n setReviewerFilterType(\n (initialParams.get(\n 'reviewerFilterType',\n ) as SubmissionReviewerFilterType) ?? undefined,\n )\n }\n initializeFromSearchParam()\n }, [location.search])\n\n const onRequesterChange = useCallback((selected: string | null) => {\n if (selected) {\n setAccessorId(selected)\n } else {\n setAccessorId(undefined)\n }\n }, [])\n\n const onReviewerChange = useCallback((selected: string | null) => {\n setReviewerId(getReviewerFilterID(selected))\n }, [])\n\n useDebouncedEffect(\n () => {\n const updateQueryParams = (\n accessRequirementId: string | undefined,\n accessorId: string | undefined,\n reviewerId: string | undefined,\n reviewerFilterType: SubmissionReviewerFilterType | undefined,\n ) => {\n const params = new URLSearchParams(\n omitBy(\n {\n accessRequirementId,\n accessorId,\n reviewerId,\n reviewerFilterType,\n },\n item => item === undefined || item === '',\n ) as Record<string, string>,\n )\n navigate(\n {\n pathname: location.pathname,\n search: params.toString(),\n },\n { replace: true },\n )\n }\n\n updateQueryParams(\n accessRequirementId,\n accessorId,\n reviewerId,\n reviewerFilterType,\n )\n setTableProps({\n accessRequirementId,\n accessorId,\n reviewerId,\n reviewerFilterType,\n showRequesters: true,\n submissionState: SubmissionState.SUBMITTED,\n })\n },\n [\n accessRequirementId,\n accessorId,\n reviewerId,\n reviewerFilterType,\n navigate,\n location.pathname,\n ],\n INPUT_CHANGE_DEBOUNCE_DELAY_MS,\n )\n\n return (\n <div className=\"AccessSubmissionDashboard\">\n <Grid\n container\n spacing={2}\n className=\"InputPanel\"\n sx={{ alignItems: 'stretch' }}\n >\n <Grid size={{ xs: 12, md: 4 }}>\n <Typography\n component=\"label\"\n variant=\"smallText2\"\n htmlFor=\"arId-filter\"\n >\n Filter by Access Requirement Name\n </Typography>\n <AccessRequirementSearchBox\n inputId=\"arId-filter\"\n onChange={setAccessRequirementId}\n placeholder=\"Search for an Access Requirement Name \"\n />\n </Grid>\n <Grid size={{ xs: 12, md: 4 }}>\n <Typography\n component=\"label\"\n variant=\"smallText2\"\n htmlFor=\"requester-filter\"\n >\n Filter by Requester\n </Typography>\n <UserSearchBox\n inputId=\"requester-filter\"\n placeholder=\"Search for a user name\"\n defaultValue={accessorId}\n onChange={onRequesterChange}\n typeFilter={TYPE_FILTER.USERS_ONLY}\n />\n </Grid>\n <Grid size={{ xs: 12, md: 4 }}>\n <Typography\n component=\"label\"\n variant=\"smallText2\"\n htmlFor=\"reviewer-filter\"\n >\n Filter by Reviewer\n </Typography>\n <UserSearchBox\n inputId=\"reviewer-filter\"\n placeholder=\"Search for a user or team name\"\n defaultValue={reviewerId}\n onChange={onReviewerChange}\n />\n </Grid>\n {isACT && (\n <Grid size={12} sx={{ textAlign: 'right' }}>\n <Tooltip\n title={\n 'This will hide submissions that have a reviewer specifically assigned.'\n }\n >\n <FormControlLabel\n control={<Checkbox />}\n value={\n reviewerFilterType === SubmissionReviewerFilterType.ACT_ONLY\n }\n label=\"Reviewed by ACT only\"\n onChange={(_, checked) => {\n const newValue = checked\n ? SubmissionReviewerFilterType.ACT_ONLY\n : SubmissionReviewerFilterType.ALL\n setReviewerFilterType(newValue)\n }}\n />\n </Tooltip>\n </Grid>\n )}\n </Grid>\n\n <Typography variant=\"headline3\">Access Request Submissions</Typography>\n <AccessRequestSubmissionTable {...tableProps} />\n </div>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;AA0BA,IAAa,KAAuB,MAA4B;CAC9D,IAAI,KAAY,MAAA,UACd,OAAO;AAIX,GAEa,UAAuD;CAClE,IAAM,CAAC,GAAqB,KAA0B,EAEpD,GACI,CAAC,GAAY,KAAiB,EAA6B,GAC3D,CAAC,GAAY,KAAiB,EAA6B,GAC3D,CAAC,GAAoB,KAAyB,EAElD,EAA6B,GAAG,GAC5B,CAAC,GAAY,KACjB,EAA4C;EAC1C;EACA;EACA;EACA,gBAAgB;EAChB,iBAAiB,EAAgB;CACnC,CAAC,GAEG,IAAW,EAAY,GACvB,IAAW,EAAY,GAGvB,EAAE,MAAM,MAAU,EAA0B;CAElD,QAAgB;EAcd,OAbwC;GACtC,IAAM,IAAgB,IAAI,gBAAgB,EAAS,MAAM;GAMzD,AALA,EACE,EAAc,IAAI,qBAAqB,KAAK,KAAA,CAC9C,GACA,EAAc,EAAc,IAAI,YAAY,KAAK,KAAA,CAAS,GAC1D,EAAc,EAAc,IAAI,YAAY,KAAK,KAAA,CAAS,GAC1D,EACG,EAAc,IACb,oBACF,KAAsC,KAAA,CACxC;EACF,GAC0B;CAC5B,GAAG,CAAC,EAAS,MAAM,CAAC;CAEpB,IAAM,IAAoB,GAAa,MAA4B;EACjE,AACE,EADE,KAGY,KAAA,CAAS;CAE3B,GAAG,CAAC,CAAC,GAEC,IAAmB,GAAa,MAA4B;EAChE,EAAc,EAAoB,CAAQ,CAAC;CAC7C,GAAG,CAAC,CAAC;CAwDL,OAtDA,QACQ;EAiCJ,EA/BE,GACA,GACA,GACA,MACG;GACH,IAAM,IAAS,IAAI,gBACjB,EACE;IACE;IACA;IACA;IACA;GACF,IACA,MAAQ,MAAS,KAAA,KAAa,MAAS,EACzC,CACF;GACA,EACE;IACE,UAAU,EAAS;IACnB,QAAQ,EAAO,SAAS;GAC1B,GACA,EAAE,SAAS,GAAK,CAClB;EACF,GAGE,GACA,GACA,GACA,CACF,GACA,EAAc;GACZ;GACA;GACA;GACA;GACA,gBAAgB;GAChB,iBAAiB,EAAgB;EACnC,CAAC;CACH,GACA;EACE;EACA;EACA;EACA;EACA;EACA,EAAS;CACX,GACA,GACF,GAGE,kBAAC,OAAD;EAAK,WAAU;YAAf;GACE,kBAAC,GAAD;IACE,WAAA;IACA,SAAS;IACT,WAAU;IACV,IAAI,EAAE,YAAY,UAAU;cAJ9B;KAME,kBAAC,GAAD;MAAM,MAAM;OAAE,IAAI;OAAI,IAAI;MAAE;gBAA5B,CACE,kBAAC,GAAD;OACE,WAAU;OACV,SAAQ;OACR,SAAQ;iBACT;MAEW,CAAA,GACZ,kBAAC,GAAD;OACE,SAAQ;OACR,UAAU;OACV,aAAY;MACb,CAAA,CACG;;KACN,kBAAC,GAAD;MAAM,MAAM;OAAE,IAAI;OAAI,IAAI;MAAE;gBAA5B,CACE,kBAAC,GAAD;OACE,WAAU;OACV,SAAQ;OACR,SAAQ;iBACT;MAEW,CAAA,GACZ,kBAAC,GAAD;OACE,SAAQ;OACR,aAAY;OACZ,cAAc;OACd,UAAU;OACV,YAAY,EAAY;MACzB,CAAA,CACG;;KACN,kBAAC,GAAD;MAAM,MAAM;OAAE,IAAI;OAAI,IAAI;MAAE;gBAA5B,CACE,kBAAC,GAAD;OACE,WAAU;OACV,SAAQ;OACR,SAAQ;iBACT;MAEW,CAAA,GACZ,kBAAC,GAAD;OACE,SAAQ;OACR,aAAY;OACZ,cAAc;OACd,UAAU;MACX,CAAA,CACG;;KACL,KACC,kBAAC,GAAD;MAAM,MAAM;MAAI,IAAI,EAAE,WAAW,QAAQ;gBACvC,kBAAC,GAAD;OACE,OACE;iBAGF,kBAAC,GAAD;QACE,SAAS,kBAAC,GAAD,CAAW,CAAA;QACpB,OACE,MAAuB,EAA6B;QAEtD,OAAM;QACN,WAAW,GAAG,MAAY;SAIxB,EAHiB,IACb,EAA6B,WAC7B,EAA6B,GACH;QAChC;OACD,CAAA;MACM,CAAA;KACL,CAAA;IAEJ;;GAEN,kBAAC,GAAD;IAAY,SAAQ;cAAY;GAAsC,CAAA;GACtE,kBAAC,GAAD,EAA8B,GAAI,EAAa,CAAA;EAC5C;;AAET"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RejectDataAccessRequestModal.js","names":[],"sources":["../../../src/components/dataaccess/RejectDataAccessRequestModal.tsx"],"sourcesContent":["import { useUpdateDataAccessSubmissionState } from '@/synapse-queries'\nimport { REJECT_SUBMISSION_CANNED_RESPONSES_TABLE } from '@/utils/SynapseConstants'\nimport { SubmissionState } from '@sage-bionetworks/synapse-types'\nimport { CannedRejectionDialog } from '../CannedRejectionDialog/CannedRejectionDialog'\nimport { displayToast } from '../ToastMessage/ToastMessage'\n\nexport const DEFAULT_MESSAGE_PREPEND =\n 'Thank you for submitting your data access request.\\n'\nexport const DEFAULT_MESSAGE_APPEND =\n '\\nIf you have questions, do not respond to this email address. Instead, reply to:\\nact@sagebionetworks.org'\n\nexport const REJECTION_FORM_PROMPT_COPY =\n \"You may wish to reject the user's data access request for a specific reason. The list below contains some common rejection reasons. You will have a chance to edit the response before submitting it, including adding any rejection reason(s) not listed here.\"\n\nexport type RejectDataAccessRequestModalProps = {\n /* ID of the submission for which a rejection should be drafted/sent */\n submissionId: string | number\n /* SynID of the table which contains the email responses which should populate this modal. Defaults to syn50683097, which is in production Synapse */\n tableId?: string\n open: boolean\n onClose: () => void\n}\n\n/**\n * Modal component presented to a data access submission reviewer when they decide to reject a request.\n * The modal contains a form for selecting rejection reasons and a text field for editing the rejection message.\n * After crafting a message, the user can reject the submission and send the message to the requester.\n */\nexport default function RejectDataAccessRequestModal(\n props: RejectDataAccessRequestModalProps,\n) {\n const {\n submissionId,\n tableId = REJECT_SUBMISSION_CANNED_RESPONSES_TABLE,\n open,\n onClose,\n } = props\n\n const { mutate, error } = useUpdateDataAccessSubmissionState()\n\n function rejectSubmission(reason: string) {\n mutate(\n {\n submissionId: submissionId.toString(),\n newState: SubmissionState.REJECTED,\n rejectedReason: reason,\n },\n {\n onSuccess: () => {\n displayToast(\n 'Submission rejected and message sent to requester',\n 'info',\n )\n onClose()\n },\n },\n )\n }\n\n // If fetching/processing the table fails, gracefully fall back to just show the email template\n return (\n <CannedRejectionDialog\n open={open}\n tableId={tableId}\n onConfirm={rejectSubmission}\n onClose={onClose}\n defaultMessagePrefix={DEFAULT_MESSAGE_PREPEND}\n defaultMessageAppend={DEFAULT_MESSAGE_APPEND}\n rejectionFormPromptCopy={REJECTION_FORM_PROMPT_COPY}\n error={error}\n />\n )\n}\n"],"mappings":";;;;;;;;AAMA,IAAa,IACX,wDACW,IACX,8GAEW,IACX;AAgBF,SAAwB,EACtB,GACA;CACA,IAAM,EACJ,iBACA,aAAU,GACV,SACA,eACE,GAEE,EAAE,WAAQ,aAAU,
|
|
1
|
+
{"version":3,"file":"RejectDataAccessRequestModal.js","names":[],"sources":["../../../src/components/dataaccess/RejectDataAccessRequestModal.tsx"],"sourcesContent":["import { useUpdateDataAccessSubmissionState } from '@/synapse-queries'\nimport { REJECT_SUBMISSION_CANNED_RESPONSES_TABLE } from '@/utils/SynapseConstants'\nimport { SubmissionState } from '@sage-bionetworks/synapse-types'\nimport { CannedRejectionDialog } from '../CannedRejectionDialog/CannedRejectionDialog'\nimport { displayToast } from '../ToastMessage/ToastMessage'\n\nexport const DEFAULT_MESSAGE_PREPEND =\n 'Thank you for submitting your data access request.\\n'\nexport const DEFAULT_MESSAGE_APPEND =\n '\\nIf you have questions, do not respond to this email address. Instead, reply to:\\nact@sagebionetworks.org'\n\nexport const REJECTION_FORM_PROMPT_COPY =\n \"You may wish to reject the user's data access request for a specific reason. The list below contains some common rejection reasons. You will have a chance to edit the response before submitting it, including adding any rejection reason(s) not listed here.\"\n\nexport type RejectDataAccessRequestModalProps = {\n /* ID of the submission for which a rejection should be drafted/sent */\n submissionId: string | number\n /* SynID of the table which contains the email responses which should populate this modal. Defaults to syn50683097, which is in production Synapse */\n tableId?: string\n open: boolean\n onClose: () => void\n}\n\n/**\n * Modal component presented to a data access submission reviewer when they decide to reject a request.\n * The modal contains a form for selecting rejection reasons and a text field for editing the rejection message.\n * After crafting a message, the user can reject the submission and send the message to the requester.\n */\nexport default function RejectDataAccessRequestModal(\n props: RejectDataAccessRequestModalProps,\n) {\n const {\n submissionId,\n tableId = REJECT_SUBMISSION_CANNED_RESPONSES_TABLE,\n open,\n onClose,\n } = props\n\n const { mutate, error } = useUpdateDataAccessSubmissionState()\n\n function rejectSubmission(reason: string) {\n mutate(\n {\n submissionId: submissionId.toString(),\n newState: SubmissionState.REJECTED,\n rejectedReason: reason,\n },\n {\n onSuccess: () => {\n displayToast(\n 'Submission rejected and message sent to requester',\n 'info',\n )\n onClose()\n },\n },\n )\n }\n\n // If fetching/processing the table fails, gracefully fall back to just show the email template\n return (\n <CannedRejectionDialog\n open={open}\n tableId={tableId}\n onConfirm={rejectSubmission}\n onClose={onClose}\n defaultMessagePrefix={DEFAULT_MESSAGE_PREPEND}\n defaultMessageAppend={DEFAULT_MESSAGE_APPEND}\n rejectionFormPromptCopy={REJECTION_FORM_PROMPT_COPY}\n error={error}\n />\n )\n}\n"],"mappings":";;;;;;;;AAMA,IAAa,IACX,wDACW,IACX,8GAEW,IACX;AAgBF,SAAwB,EACtB,GACA;CACA,IAAM,EACJ,iBACA,aAAU,GACV,SACA,eACE,GAEE,EAAE,WAAQ,aAAU,EAAmC;CAE7D,SAAS,EAAiB,GAAgB;EACxC,EACE;GACE,cAAc,EAAa,SAAS;GACpC,UAAU,EAAgB;GAC1B,gBAAgB;EAClB,GACA,EACE,iBAAiB;GAKf,AAJA,EACE,qDACA,MACF,GACA,EAAQ;EACV,EACF,CACF;CACF;CAGA,OACE,kBAAC,GAAD;EACQ;EACG;EACT,WAAW;EACF;EACT,sBAAsB;EACtB,sBAAsB;EACtB,yBAAyB;EAClB;CACR,CAAA;AAEL"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RejectProfileValidationRequestModal.js","names":[],"sources":["../../../src/components/dataaccess/RejectProfileValidationRequestModal.tsx"],"sourcesContent":["import { useUpdateVerificationSubmission } from '@/synapse-queries/verificationSubmission/useVerificationSubmission'\nimport { REJECT_VALIDATION_CANNED_RESPONSES_TABLE } from '@/utils/SynapseConstants'\nimport { TextField } from '@mui/material'\nimport { VerificationStateEnum } from '@sage-bionetworks/synapse-types'\nimport { noop } from 'lodash-es'\nimport { useState } from 'react'\nimport { CannedRejectionDialog } from '../CannedRejectionDialog/CannedRejectionDialog'\nimport { displayToast } from '../ToastMessage/ToastMessage'\n\nexport const DEFAULT_MESSAGE_PREPEND =\n 'Thank you for submitting your Synapse profile for validation. Before we can accept your request:'\nexport const DEFAULT_MESSAGE_APPEND =\n '\\nIf you have questions, do not respond to this email address. Instead, reply to:\\nact@sagebionetworks.org'\n\nexport const REJECTION_FORM_PROMPT_COPY =\n \"You may wish to reject the user's profile validation request for a specific reason. The list below contains some common rejection reasons. You will have a chance to edit the response before submitting it, including adding any rejection reason(s) not listed here.\"\n\nexport type RejectProfileValidationRequestModalProps = {\n /* ID of the verificationSubmission for which a rejection should be drafted/sent */\n verificationSubmissionId: string\n /* SynID of the table which contains the email responses which should populate this modal. Defaults to syn63119445, which is in production Synapse */\n tableId?: string\n open: boolean\n onRejectionSubmittedSuccess?: () => void\n currentState: VerificationStateEnum\n onClose: () => void\n}\n\n/**\n * Modal component presented to an ACT profile validation reviewer when they decide to reject a validation request (a.k.a. a verificationSubmission).\n * The modal contains a form for selecting rejection reasons and a text field for editing the rejection message.\n * After crafting a message, the user can reject the request and send the message to the requester.\n */\nexport function RejectProfileValidationRequestModal(\n props: RejectProfileValidationRequestModalProps,\n) {\n const {\n verificationSubmissionId: validationSubmissionId,\n tableId = REJECT_VALIDATION_CANNED_RESPONSES_TABLE,\n open,\n onRejectionSubmittedSuccess = noop,\n onClose,\n currentState,\n } = props\n\n const [actInternalNotes, setActInternalNotes] = useState<string>('')\n\n const { mutate, error } = useUpdateVerificationSubmission()\n\n function rejectVerificationSubmission(reason: string, notes: string) {\n let newState: VerificationStateEnum\n switch (currentState) {\n case VerificationStateEnum.SUBMITTED:\n newState = VerificationStateEnum.REJECTED\n break\n case VerificationStateEnum.APPROVED:\n newState = VerificationStateEnum.SUSPENDED\n break\n case VerificationStateEnum.REJECTED:\n case VerificationStateEnum.SUSPENDED:\n console.error(\n 'Cannot reject a request where the current state is already rejected or suspended',\n )\n onClose()\n return\n }\n mutate(\n {\n id: validationSubmissionId,\n verificationState: {\n state: newState,\n reason,\n notes,\n },\n },\n {\n onSuccess: () => {\n onRejectionSubmittedSuccess()\n displayToast(\n `Submission ${\n newState === VerificationStateEnum.REJECTED\n ? 'rejected'\n : 'suspended'\n } and message sent to requester`,\n 'info',\n )\n onClose()\n },\n },\n )\n }\n\n return (\n <CannedRejectionDialog\n open={open}\n tableId={tableId}\n onConfirm={reason =>\n rejectVerificationSubmission(reason, actInternalNotes)\n }\n onClose={onClose}\n defaultMessagePrefix={DEFAULT_MESSAGE_PREPEND}\n defaultMessageAppend={DEFAULT_MESSAGE_APPEND}\n rejectionFormPromptCopy={REJECTION_FORM_PROMPT_COPY}\n error={error}\n >\n <TextField\n label=\"ACT Internal Notes\"\n fullWidth\n multiline\n rows={3}\n sx={{ mt: 2 }}\n value={actInternalNotes}\n onChange={event => setActInternalNotes(event.target.value)}\n />\n </CannedRejectionDialog>\n )\n}\n\nexport default RejectProfileValidationRequestModal\n"],"mappings":";;;;;;;;;;AASA,IAAa,IACX,oGACW,IACX,8GAEW,IACX;AAkBF,SAAgB,EACd,GACA;CACA,IAAM,EACJ,0BAA0B,GAC1B,aAAU,GACV,SACA,iCAA8B,GAC9B,YACA,oBACE,GAEE,CAAC,GAAkB,KAAuB,EAAiB,
|
|
1
|
+
{"version":3,"file":"RejectProfileValidationRequestModal.js","names":[],"sources":["../../../src/components/dataaccess/RejectProfileValidationRequestModal.tsx"],"sourcesContent":["import { useUpdateVerificationSubmission } from '@/synapse-queries/verificationSubmission/useVerificationSubmission'\nimport { REJECT_VALIDATION_CANNED_RESPONSES_TABLE } from '@/utils/SynapseConstants'\nimport { TextField } from '@mui/material'\nimport { VerificationStateEnum } from '@sage-bionetworks/synapse-types'\nimport { noop } from 'lodash-es'\nimport { useState } from 'react'\nimport { CannedRejectionDialog } from '../CannedRejectionDialog/CannedRejectionDialog'\nimport { displayToast } from '../ToastMessage/ToastMessage'\n\nexport const DEFAULT_MESSAGE_PREPEND =\n 'Thank you for submitting your Synapse profile for validation. Before we can accept your request:'\nexport const DEFAULT_MESSAGE_APPEND =\n '\\nIf you have questions, do not respond to this email address. Instead, reply to:\\nact@sagebionetworks.org'\n\nexport const REJECTION_FORM_PROMPT_COPY =\n \"You may wish to reject the user's profile validation request for a specific reason. The list below contains some common rejection reasons. You will have a chance to edit the response before submitting it, including adding any rejection reason(s) not listed here.\"\n\nexport type RejectProfileValidationRequestModalProps = {\n /* ID of the verificationSubmission for which a rejection should be drafted/sent */\n verificationSubmissionId: string\n /* SynID of the table which contains the email responses which should populate this modal. Defaults to syn63119445, which is in production Synapse */\n tableId?: string\n open: boolean\n onRejectionSubmittedSuccess?: () => void\n currentState: VerificationStateEnum\n onClose: () => void\n}\n\n/**\n * Modal component presented to an ACT profile validation reviewer when they decide to reject a validation request (a.k.a. a verificationSubmission).\n * The modal contains a form for selecting rejection reasons and a text field for editing the rejection message.\n * After crafting a message, the user can reject the request and send the message to the requester.\n */\nexport function RejectProfileValidationRequestModal(\n props: RejectProfileValidationRequestModalProps,\n) {\n const {\n verificationSubmissionId: validationSubmissionId,\n tableId = REJECT_VALIDATION_CANNED_RESPONSES_TABLE,\n open,\n onRejectionSubmittedSuccess = noop,\n onClose,\n currentState,\n } = props\n\n const [actInternalNotes, setActInternalNotes] = useState<string>('')\n\n const { mutate, error } = useUpdateVerificationSubmission()\n\n function rejectVerificationSubmission(reason: string, notes: string) {\n let newState: VerificationStateEnum\n switch (currentState) {\n case VerificationStateEnum.SUBMITTED:\n newState = VerificationStateEnum.REJECTED\n break\n case VerificationStateEnum.APPROVED:\n newState = VerificationStateEnum.SUSPENDED\n break\n case VerificationStateEnum.REJECTED:\n case VerificationStateEnum.SUSPENDED:\n console.error(\n 'Cannot reject a request where the current state is already rejected or suspended',\n )\n onClose()\n return\n }\n mutate(\n {\n id: validationSubmissionId,\n verificationState: {\n state: newState,\n reason,\n notes,\n },\n },\n {\n onSuccess: () => {\n onRejectionSubmittedSuccess()\n displayToast(\n `Submission ${\n newState === VerificationStateEnum.REJECTED\n ? 'rejected'\n : 'suspended'\n } and message sent to requester`,\n 'info',\n )\n onClose()\n },\n },\n )\n }\n\n return (\n <CannedRejectionDialog\n open={open}\n tableId={tableId}\n onConfirm={reason =>\n rejectVerificationSubmission(reason, actInternalNotes)\n }\n onClose={onClose}\n defaultMessagePrefix={DEFAULT_MESSAGE_PREPEND}\n defaultMessageAppend={DEFAULT_MESSAGE_APPEND}\n rejectionFormPromptCopy={REJECTION_FORM_PROMPT_COPY}\n error={error}\n >\n <TextField\n label=\"ACT Internal Notes\"\n fullWidth\n multiline\n rows={3}\n sx={{ mt: 2 }}\n value={actInternalNotes}\n onChange={event => setActInternalNotes(event.target.value)}\n />\n </CannedRejectionDialog>\n )\n}\n\nexport default RejectProfileValidationRequestModal\n"],"mappings":";;;;;;;;;;AASA,IAAa,IACX,oGACW,IACX,8GAEW,IACX;AAkBF,SAAgB,EACd,GACA;CACA,IAAM,EACJ,0BAA0B,GAC1B,aAAU,GACV,SACA,iCAA8B,GAC9B,YACA,oBACE,GAEE,CAAC,GAAkB,KAAuB,EAAiB,EAAE,GAE7D,EAAE,WAAQ,aAAU,EAAgC;CAE1D,SAAS,EAA6B,GAAgB,GAAe;EACnE,IAAI;EACJ,QAAQ,GAAR;GACE,KAAK,EAAsB;IACzB,IAAW,EAAsB;IACjC;GACF,KAAK,EAAsB;IACzB,IAAW,EAAsB;IACjC;GACF,KAAK,EAAsB;GAC3B,KAAK,EAAsB;IAIzB,AAHA,QAAQ,MACN,kFACF,GACA,EAAQ;IACR;EACJ;EACA,EACE;GACE,IAAI;GACJ,mBAAmB;IACjB,OAAO;IACP;IACA;GACF;EACF,GACA,EACE,iBAAiB;GAUf,AATA,EAA4B,GAC5B,EACE,cACE,MAAa,EAAsB,WAC/B,aACA,YACL,iCACD,MACF,GACA,EAAQ;EACV,EACF,CACF;CACF;CAEA,OACE,kBAAC,GAAD;EACQ;EACG;EACT,YAAW,MACT,EAA6B,GAAQ,CAAgB;EAE9C;EACT,sBAAsB;EACtB,sBAAsB;EACtB,yBAAyB;EAClB;YAEP,kBAAC,GAAD;GACE,OAAM;GACN,WAAA;GACA,WAAA;GACA,MAAM;GACN,IAAI,EAAE,IAAI,EAAE;GACZ,OAAO;GACP,WAAU,MAAS,EAAoB,EAAM,OAAO,KAAK;EAC1D,CAAA;CACoB,CAAA;AAE3B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReviewerDashboard.js","names":[],"sources":["../../../src/components/dataaccess/ReviewerDashboard.tsx"],"sourcesContent":["import { useGetCurrentUserBundle } from '@/synapse-queries/user/useUserBundle'\nimport { Typography } from '@mui/material'\nimport { ReactNode, useMemo } from 'react'\nimport {\n createBrowserRouter,\n createMemoryRouter,\n Navigate,\n NavLink,\n Outlet,\n RouteObject,\n RouterProvider,\n useParams,\n} from 'react-router'\nimport { RouterProvider as DOMRouterProvider } from 'react-router/dom'\nimport { SynapseErrorBoundary } from '../error/ErrorBanner'\nimport IconSvg, { IconName } from '../IconSvg/IconSvg'\nimport { SynapseSpinner } from '../LoadingScreen/LoadingScreen'\nimport OrientationBanner from '../OrientationBanner'\nimport { UserHistoryDashboard } from './AccessHistoryDashboard'\nimport { AccessRequirementDashboard } from './AccessRequirementDashboard'\nimport { DataAccessSubmissionDashboard } from './AccessSubmissionDashboard'\nimport SubmissionPage from './SubmissionPage/SubmissionPage'\n\nfunction LinkTab(props: { href: string; children: ReactNode; icon: IconName }) {\n const { href, children, icon } = props\n return (\n <NavLink className=\"Tab\" role=\"tab\" to={href}>\n <IconSvg\n icon={icon}\n sx={{\n paddingRight: '0.2rem',\n }}\n />\n <Typography variant=\"buttonLink\">{children}</Typography>\n </NavLink>\n )\n}\n\ntype ReviewerDashboardProps = {\n /** Used to determine the base path for the component. Default is DataAccessManagement:default */\n routerBaseName?: string\n /** If true use a MemoryRouter, which prevents the browser URL from updating. For demo purposes only. */\n useMemoryRouter?: boolean\n}\n\nexport function ReviewerDashboard(props: ReviewerDashboardProps) {\n const {\n routerBaseName = '/DataAccessManagement:default',\n useMemoryRouter = false,\n } = props\n\n const { data: userBundle, isLoading } = useGetCurrentUserBundle()\n\n const hasActPermissions = userBundle?.isACTMember\n const hasReviewerPermissions =\n userBundle?.isACTMember || userBundle?.isARReviewer\n\n const routes: RouteObject[] = useMemo(\n () => [\n {\n path: '/',\n element: (\n <div className=\"ReviewerDashboard\">\n <div className=\"Tabs\" role=\"tablist\">\n {hasActPermissions && (\n <LinkTab href=\"/AccessRequirements\" icon=\"accessClosed\">\n Access Requirements\n </LinkTab>\n )}\n {hasReviewerPermissions && (\n <LinkTab href=\"/Submissions\" icon=\"discussion\">\n Submissions\n </LinkTab>\n )}\n {hasReviewerPermissions && (\n <LinkTab href=\"/UserAccessHistory\" icon=\"history\">\n User Access History\n </LinkTab>\n )}\n </div>\n <div className=\"TabContentContainer\">\n <SynapseErrorBoundary>\n <Outlet />\n </SynapseErrorBoundary>\n </div>\n </div>\n ),\n children: [\n {\n path: 'AccessRequirements',\n element: hasActPermissions ? <AccessRequirementDashboard /> : null,\n },\n {\n path: 'Submissions',\n element: hasReviewerPermissions ? (\n <>\n {!hasActPermissions && (\n <OrientationBanner\n name=\"DataAccessManagement\"\n title=\"Getting Started With Data Access Management\"\n text=\"When someone requests access to data, that request will show up here. Clicking on the Request ID will take you to a page where you can review the request.\"\n sx={{\n margin: '-20px -30px 20px -30px',\n width: 'auto',\n }}\n />\n )}\n <DataAccessSubmissionDashboard />\n </>\n ) : null,\n },\n {\n path: 'Submissions/:id',\n element: hasReviewerPermissions ? (\n <SubmissionPageRouteRenderer />\n ) : null,\n },\n {\n path: 'UserAccessHistory',\n element: <UserHistoryDashboard />,\n },\n ],\n },\n ],\n [hasActPermissions, hasReviewerPermissions],\n )\n\n const router = useMemo(() => {\n if (useMemoryRouter) {\n return createMemoryRouter(routes, {\n basename: routerBaseName,\n })\n } else {\n return createBrowserRouter(routes, {\n basename: routerBaseName,\n })\n }\n }, [useMemoryRouter, routes, routerBaseName])\n\n if (isLoading) {\n return <SynapseSpinner size={50} />\n }\n\n if (useMemoryRouter) {\n return <RouterProvider router={router} />\n }\n\n return <DOMRouterProvider router={router} />\n}\n\nfunction SubmissionPageRouteRenderer() {\n const { id } = useParams<{ id: string }>()\n if (!id) {\n return <Navigate to=\"Submissions/\" />\n }\n return <SubmissionPage submissionId={id} isReviewer={true} />\n}\n\nexport default ReviewerDashboard\n"],"mappings":";;;;;;;;;;;;;;;AAuBA,SAAS,EAAQ,GAA8D;CAC7E,IAAM,EAAE,SAAM,aAAU,YAAS;
|
|
1
|
+
{"version":3,"file":"ReviewerDashboard.js","names":[],"sources":["../../../src/components/dataaccess/ReviewerDashboard.tsx"],"sourcesContent":["import { useGetCurrentUserBundle } from '@/synapse-queries/user/useUserBundle'\nimport { Typography } from '@mui/material'\nimport { ReactNode, useMemo } from 'react'\nimport {\n createBrowserRouter,\n createMemoryRouter,\n Navigate,\n NavLink,\n Outlet,\n RouteObject,\n RouterProvider,\n useParams,\n} from 'react-router'\nimport { RouterProvider as DOMRouterProvider } from 'react-router/dom'\nimport { SynapseErrorBoundary } from '../error/ErrorBanner'\nimport IconSvg, { IconName } from '../IconSvg/IconSvg'\nimport { SynapseSpinner } from '../LoadingScreen/LoadingScreen'\nimport OrientationBanner from '../OrientationBanner'\nimport { UserHistoryDashboard } from './AccessHistoryDashboard'\nimport { AccessRequirementDashboard } from './AccessRequirementDashboard'\nimport { DataAccessSubmissionDashboard } from './AccessSubmissionDashboard'\nimport SubmissionPage from './SubmissionPage/SubmissionPage'\n\nfunction LinkTab(props: { href: string; children: ReactNode; icon: IconName }) {\n const { href, children, icon } = props\n return (\n <NavLink className=\"Tab\" role=\"tab\" to={href}>\n <IconSvg\n icon={icon}\n sx={{\n paddingRight: '0.2rem',\n }}\n />\n <Typography variant=\"buttonLink\">{children}</Typography>\n </NavLink>\n )\n}\n\ntype ReviewerDashboardProps = {\n /** Used to determine the base path for the component. Default is DataAccessManagement:default */\n routerBaseName?: string\n /** If true use a MemoryRouter, which prevents the browser URL from updating. For demo purposes only. */\n useMemoryRouter?: boolean\n}\n\nexport function ReviewerDashboard(props: ReviewerDashboardProps) {\n const {\n routerBaseName = '/DataAccessManagement:default',\n useMemoryRouter = false,\n } = props\n\n const { data: userBundle, isLoading } = useGetCurrentUserBundle()\n\n const hasActPermissions = userBundle?.isACTMember\n const hasReviewerPermissions =\n userBundle?.isACTMember || userBundle?.isARReviewer\n\n const routes: RouteObject[] = useMemo(\n () => [\n {\n path: '/',\n element: (\n <div className=\"ReviewerDashboard\">\n <div className=\"Tabs\" role=\"tablist\">\n {hasActPermissions && (\n <LinkTab href=\"/AccessRequirements\" icon=\"accessClosed\">\n Access Requirements\n </LinkTab>\n )}\n {hasReviewerPermissions && (\n <LinkTab href=\"/Submissions\" icon=\"discussion\">\n Submissions\n </LinkTab>\n )}\n {hasReviewerPermissions && (\n <LinkTab href=\"/UserAccessHistory\" icon=\"history\">\n User Access History\n </LinkTab>\n )}\n </div>\n <div className=\"TabContentContainer\">\n <SynapseErrorBoundary>\n <Outlet />\n </SynapseErrorBoundary>\n </div>\n </div>\n ),\n children: [\n {\n path: 'AccessRequirements',\n element: hasActPermissions ? <AccessRequirementDashboard /> : null,\n },\n {\n path: 'Submissions',\n element: hasReviewerPermissions ? (\n <>\n {!hasActPermissions && (\n <OrientationBanner\n name=\"DataAccessManagement\"\n title=\"Getting Started With Data Access Management\"\n text=\"When someone requests access to data, that request will show up here. Clicking on the Request ID will take you to a page where you can review the request.\"\n sx={{\n margin: '-20px -30px 20px -30px',\n width: 'auto',\n }}\n />\n )}\n <DataAccessSubmissionDashboard />\n </>\n ) : null,\n },\n {\n path: 'Submissions/:id',\n element: hasReviewerPermissions ? (\n <SubmissionPageRouteRenderer />\n ) : null,\n },\n {\n path: 'UserAccessHistory',\n element: <UserHistoryDashboard />,\n },\n ],\n },\n ],\n [hasActPermissions, hasReviewerPermissions],\n )\n\n const router = useMemo(() => {\n if (useMemoryRouter) {\n return createMemoryRouter(routes, {\n basename: routerBaseName,\n })\n } else {\n return createBrowserRouter(routes, {\n basename: routerBaseName,\n })\n }\n }, [useMemoryRouter, routes, routerBaseName])\n\n if (isLoading) {\n return <SynapseSpinner size={50} />\n }\n\n if (useMemoryRouter) {\n return <RouterProvider router={router} />\n }\n\n return <DOMRouterProvider router={router} />\n}\n\nfunction SubmissionPageRouteRenderer() {\n const { id } = useParams<{ id: string }>()\n if (!id) {\n return <Navigate to=\"Submissions/\" />\n }\n return <SubmissionPage submissionId={id} isReviewer={true} />\n}\n\nexport default ReviewerDashboard\n"],"mappings":";;;;;;;;;;;;;;;AAuBA,SAAS,EAAQ,GAA8D;CAC7E,IAAM,EAAE,SAAM,aAAU,YAAS;CACjC,OACE,kBAAC,GAAD;EAAS,WAAU;EAAM,MAAK;EAAM,IAAI;YAAxC,CACE,kBAAC,GAAD;GACQ;GACN,IAAI,EACF,cAAc,SAChB;EACD,CAAA,GACD,kBAAC,GAAD;GAAY,SAAQ;GAAc;EAAqB,CAAA,CAChD;;AAEb;AASA,SAAgB,EAAkB,GAA+B;CAC/D,IAAM,EACJ,oBAAiB,iCACjB,qBAAkB,OAChB,GAEE,EAAE,MAAM,GAAY,iBAAc,EAAwB,GAE1D,IAAoB,GAAY,aAChC,IACJ,GAAY,eAAe,GAAY,cAEnC,IAAwB,QACtB,CACJ;EACE,MAAM;EACN,SACE,kBAAC,OAAD;GAAK,WAAU;aAAf,CACE,kBAAC,OAAD;IAAK,WAAU;IAAO,MAAK;cAA3B;KACG,KACC,kBAAC,GAAD;MAAS,MAAK;MAAsB,MAAK;gBAAe;KAE/C,CAAA;KAEV,KACC,kBAAC,GAAD;MAAS,MAAK;MAAe,MAAK;gBAAa;KAEtC,CAAA;KAEV,KACC,kBAAC,GAAD;MAAS,MAAK;MAAqB,MAAK;gBAAU;KAEzC,CAAA;IAER;OACL,kBAAC,OAAD;IAAK,WAAU;cACb,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD,CAAS,CAAA,EACW,CAAA;GACnB,CAAA,CACF;;EAEP,UAAU;GACR;IACE,MAAM;IACN,SAAS,IAAoB,kBAAC,GAAD,CAA6B,CAAA,IAAI;GAChE;GACA;IACE,MAAM;IACN,SAAS,IACP,kBAAA,GAAA,EAAA,UAAA,CACG,CAAC,KACA,kBAAC,GAAD;KACE,MAAK;KACL,OAAM;KACN,MAAK;KACL,IAAI;MACF,QAAQ;MACR,OAAO;KACT;IACD,CAAA,GAEH,kBAAC,GAAD,CAAgC,CAAA,CAChC,EAAA,CAAA,IACA;GACN;GACA;IACE,MAAM;IACN,SAAS,IACP,kBAAC,GAAD,CAA8B,CAAA,IAC5B;GACN;GACA;IACE,MAAM;IACN,SAAS,kBAAC,GAAD,CAAuB,CAAA;GAClC;EACF;CACF,CACF,GACA,CAAC,GAAmB,CAAsB,CAC5C,GAEM,IAAS,QACT,IACK,EAAmB,GAAQ,EAChC,UAAU,EACZ,CAAC,IAEM,EAAoB,GAAQ,EACjC,UAAU,EACZ,CAAC,GAEF;EAAC;EAAiB;EAAQ;CAAc,CAAC;CAU5C,OARI,IACK,kBAAC,GAAD,EAAgB,MAAM,GAAK,CAAA,IAI3B,EADL,IACM,IAGF,GAHC,EAAwB,UAAS,CAAA;AAI5C;AAEA,SAAS,IAA8B;CACrC,IAAM,EAAE,UAAO,EAA0B;CAIzC,OAHK,IAGE,kBAAC,GAAD;EAAgB,cAAc;EAAI,YAAY;CAAO,CAAA,IAFnD,kBAAC,GAAD,EAAU,IAAG,eAAgB,CAAA;AAGxC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApproveSubmissionConfirmationModal.js","names":[],"sources":["../../../../src/components/dataaccess/SubmissionPage/ApproveSubmissionConfirmationModal.tsx"],"sourcesContent":["import { DialogBase } from '@/components/DialogBase'\nimport { displayToast } from '@/components/ToastMessage'\nimport { useUpdateDataAccessSubmissionState } from '@/synapse-queries/index'\nimport { Alert, Button, Typography } from '@mui/material'\nimport { SubmissionState } from '@sage-bionetworks/synapse-types'\nimport { useCallback } from 'react'\n\ntype ApproveSubmissionConfirmationModalProps = {\n open: boolean\n submissionId: string\n onClose: () => void\n}\n\n/**\n * Confirmation modal to approve a data access submission asa a reviewer/ACT member.\n */\nexport function ApproveSubmissionConfirmationModal(\n props: ApproveSubmissionConfirmationModalProps,\n) {\n const { open, submissionId, onClose } = props\n\n const { mutate, isPending, error } = useUpdateDataAccessSubmissionState({\n onSuccess: () => {\n displayToast('Submission approved', 'success')\n onClose()\n },\n })\n\n const approveSubmission = useCallback(() => {\n mutate({\n submissionId: submissionId,\n newState: SubmissionState.APPROVED,\n })\n }, [submissionId, mutate])\n\n return (\n <DialogBase\n open={open}\n title=\"Approve Request?\"\n onCancel={() => {\n onClose()\n }}\n content={\n <>\n <Typography variant=\"body1\" sx={{ marginBottom: '10px' }}>\n Approving the request will grant access to controlled data.\n </Typography>\n <Typography variant=\"body1\">\n In addition, the user will receive an email notification alerting\n them that the request has been granted.\n </Typography>\n {error && (\n <Alert severity=\"error\" sx={{ mt: 1 }}>\n {error.message}\n </Alert>\n )}\n </>\n }\n actions={\n <>\n <Button\n variant={'outlined'}\n onClick={() => onClose()}\n disabled={isPending}\n >\n Cancel\n </Button>\n <Button\n variant={'contained'}\n onClick={() => approveSubmission()}\n disabled={isPending}\n >\n Approve Request\n </Button>\n </>\n }\n />\n )\n}\n"],"mappings":";;;;;;;;;;AAgBA,SAAgB,EACd,GACA;CACA,IAAM,EAAE,SAAM,iBAAc,eAAY,GAElC,EAAE,WAAQ,cAAW,aAAU,EAAmC,EACtE,iBAAiB;
|
|
1
|
+
{"version":3,"file":"ApproveSubmissionConfirmationModal.js","names":[],"sources":["../../../../src/components/dataaccess/SubmissionPage/ApproveSubmissionConfirmationModal.tsx"],"sourcesContent":["import { DialogBase } from '@/components/DialogBase'\nimport { displayToast } from '@/components/ToastMessage'\nimport { useUpdateDataAccessSubmissionState } from '@/synapse-queries/index'\nimport { Alert, Button, Typography } from '@mui/material'\nimport { SubmissionState } from '@sage-bionetworks/synapse-types'\nimport { useCallback } from 'react'\n\ntype ApproveSubmissionConfirmationModalProps = {\n open: boolean\n submissionId: string\n onClose: () => void\n}\n\n/**\n * Confirmation modal to approve a data access submission asa a reviewer/ACT member.\n */\nexport function ApproveSubmissionConfirmationModal(\n props: ApproveSubmissionConfirmationModalProps,\n) {\n const { open, submissionId, onClose } = props\n\n const { mutate, isPending, error } = useUpdateDataAccessSubmissionState({\n onSuccess: () => {\n displayToast('Submission approved', 'success')\n onClose()\n },\n })\n\n const approveSubmission = useCallback(() => {\n mutate({\n submissionId: submissionId,\n newState: SubmissionState.APPROVED,\n })\n }, [submissionId, mutate])\n\n return (\n <DialogBase\n open={open}\n title=\"Approve Request?\"\n onCancel={() => {\n onClose()\n }}\n content={\n <>\n <Typography variant=\"body1\" sx={{ marginBottom: '10px' }}>\n Approving the request will grant access to controlled data.\n </Typography>\n <Typography variant=\"body1\">\n In addition, the user will receive an email notification alerting\n them that the request has been granted.\n </Typography>\n {error && (\n <Alert severity=\"error\" sx={{ mt: 1 }}>\n {error.message}\n </Alert>\n )}\n </>\n }\n actions={\n <>\n <Button\n variant={'outlined'}\n onClick={() => onClose()}\n disabled={isPending}\n >\n Cancel\n </Button>\n <Button\n variant={'contained'}\n onClick={() => approveSubmission()}\n disabled={isPending}\n >\n Approve Request\n </Button>\n </>\n }\n />\n )\n}\n"],"mappings":";;;;;;;;;;AAgBA,SAAgB,EACd,GACA;CACA,IAAM,EAAE,SAAM,iBAAc,eAAY,GAElC,EAAE,WAAQ,cAAW,aAAU,EAAmC,EACtE,iBAAiB;EAEf,AADA,EAAa,uBAAuB,SAAS,GAC7C,EAAQ;CACV,EACF,CAAC,GAEK,IAAoB,QAAkB;EAC1C,EAAO;GACS;GACd,UAAU,EAAgB;EAC5B,CAAC;CACH,GAAG,CAAC,GAAc,CAAM,CAAC;CAEzB,OACE,kBAAC,GAAD;EACQ;EACN,OAAM;EACN,gBAAgB;GACd,EAAQ;EACV;EACA,SACE,kBAAA,GAAA,EAAA,UAAA;GACE,kBAAC,GAAD;IAAY,SAAQ;IAAQ,IAAI,EAAE,cAAc,OAAO;cAAG;GAE9C,CAAA;GACZ,kBAAC,GAAD;IAAY,SAAQ;cAAQ;GAGhB,CAAA;GACX,KACC,kBAAC,GAAD;IAAO,UAAS;IAAQ,IAAI,EAAE,IAAI,EAAE;cACjC,EAAM;GACF,CAAA;EAET,EAAA,CAAA;EAEJ,SACE,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,GAAD;GACE,SAAS;GACT,eAAe,EAAQ;GACvB,UAAU;aACX;EAEO,CAAA,GACR,kBAAC,GAAD;GACE,SAAS;GACT,eAAe,EAAkB;GACjC,UAAU;aACX;EAEO,CAAA,CACR,EAAA,CAAA;CAEL,CAAA;AAEL"}
|
package/dist/components/dataaccess/SubmissionPage/CancelDataAccessRequestConfirmationModal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CancelDataAccessRequestConfirmationModal.js","names":[],"sources":["../../../../src/components/dataaccess/SubmissionPage/CancelDataAccessRequestConfirmationModal.tsx"],"sourcesContent":["import { DialogBase } from '@/components/DialogBase'\nimport { displayToast } from '@/components/ToastMessage'\nimport { useCancelDataAccessRequest } from '@/synapse-queries/index'\nimport { Alert, Button, Typography } from '@mui/material'\nimport noop from 'lodash-es/noop'\nimport { useCallback } from 'react'\n\nexport type CancelDataAccessRequestConfirmationModalProps = {\n open: boolean\n submissionId: string\n accessRequirementId: string\n onClose?: () => void\n}\n\n/**\n * Confirmation modal that allows a requestor to cancel a submitted data access request.\n */\nexport function CancelDataAccessRequestConfirmationModal(\n props: CancelDataAccessRequestConfirmationModalProps,\n) {\n const { open, onClose = noop, submissionId, accessRequirementId } = props\n const {\n mutate: cancelRequest,\n isPending: cancelRequestIsPending,\n error: cancelRequestError,\n } = useCancelDataAccessRequest({\n onSuccess: () => {\n displayToast('Access request cancelled', 'success')\n onClose()\n },\n })\n const onCancelRequest = useCallback(() => {\n cancelRequest({\n submissionId: submissionId,\n accessRequirementId: accessRequirementId,\n })\n }, [accessRequirementId, cancelRequest, submissionId])\n\n return (\n <DialogBase\n title={'Cancel Access Request?'}\n onCancel={() => {\n onClose()\n }}\n open={open}\n content={\n <>\n <Typography variant=\"body1\">\n Are you sure you want to cancel your request for access? If you want\n to make changes to the information included in your request, you can\n modify and resubmit your request after cancelling it.\n </Typography>\n {cancelRequestError && (\n <Alert severity={'error'} sx={{ mt: 2 }}>\n <Typography variant=\"body1\">\n {cancelRequestError.reason}\n </Typography>\n </Alert>\n )}\n </>\n }\n actions={\n <>\n <Button\n variant={'outlined'}\n onClick={() => onClose()}\n disabled={cancelRequestIsPending}\n >\n Back\n </Button>\n <Button\n variant={'contained'}\n color=\"error\"\n onClick={() => onCancelRequest()}\n disabled={cancelRequestIsPending}\n >\n Cancel Request\n </Button>\n </>\n }\n />\n )\n}\n"],"mappings":";;;;;;;;;;AAiBA,SAAgB,EACd,GACA;CACA,IAAM,EAAE,SAAM,aAAU,GAAM,iBAAc,2BAAwB,GAC9D,EACJ,QAAQ,GACR,WAAW,GACX,OAAO,MACL,EAA2B,EAC7B,iBAAiB;
|
|
1
|
+
{"version":3,"file":"CancelDataAccessRequestConfirmationModal.js","names":[],"sources":["../../../../src/components/dataaccess/SubmissionPage/CancelDataAccessRequestConfirmationModal.tsx"],"sourcesContent":["import { DialogBase } from '@/components/DialogBase'\nimport { displayToast } from '@/components/ToastMessage'\nimport { useCancelDataAccessRequest } from '@/synapse-queries/index'\nimport { Alert, Button, Typography } from '@mui/material'\nimport noop from 'lodash-es/noop'\nimport { useCallback } from 'react'\n\nexport type CancelDataAccessRequestConfirmationModalProps = {\n open: boolean\n submissionId: string\n accessRequirementId: string\n onClose?: () => void\n}\n\n/**\n * Confirmation modal that allows a requestor to cancel a submitted data access request.\n */\nexport function CancelDataAccessRequestConfirmationModal(\n props: CancelDataAccessRequestConfirmationModalProps,\n) {\n const { open, onClose = noop, submissionId, accessRequirementId } = props\n const {\n mutate: cancelRequest,\n isPending: cancelRequestIsPending,\n error: cancelRequestError,\n } = useCancelDataAccessRequest({\n onSuccess: () => {\n displayToast('Access request cancelled', 'success')\n onClose()\n },\n })\n const onCancelRequest = useCallback(() => {\n cancelRequest({\n submissionId: submissionId,\n accessRequirementId: accessRequirementId,\n })\n }, [accessRequirementId, cancelRequest, submissionId])\n\n return (\n <DialogBase\n title={'Cancel Access Request?'}\n onCancel={() => {\n onClose()\n }}\n open={open}\n content={\n <>\n <Typography variant=\"body1\">\n Are you sure you want to cancel your request for access? If you want\n to make changes to the information included in your request, you can\n modify and resubmit your request after cancelling it.\n </Typography>\n {cancelRequestError && (\n <Alert severity={'error'} sx={{ mt: 2 }}>\n <Typography variant=\"body1\">\n {cancelRequestError.reason}\n </Typography>\n </Alert>\n )}\n </>\n }\n actions={\n <>\n <Button\n variant={'outlined'}\n onClick={() => onClose()}\n disabled={cancelRequestIsPending}\n >\n Back\n </Button>\n <Button\n variant={'contained'}\n color=\"error\"\n onClick={() => onCancelRequest()}\n disabled={cancelRequestIsPending}\n >\n Cancel Request\n </Button>\n </>\n }\n />\n )\n}\n"],"mappings":";;;;;;;;;;AAiBA,SAAgB,EACd,GACA;CACA,IAAM,EAAE,SAAM,aAAU,GAAM,iBAAc,2BAAwB,GAC9D,EACJ,QAAQ,GACR,WAAW,GACX,OAAO,MACL,EAA2B,EAC7B,iBAAiB;EAEf,AADA,EAAa,4BAA4B,SAAS,GAClD,EAAQ;CACV,EACF,CAAC,GACK,IAAkB,QAAkB;EACxC,EAAc;GACE;GACO;EACvB,CAAC;CACH,GAAG;EAAC;EAAqB;EAAe;CAAY,CAAC;CAErD,OACE,kBAAC,GAAD;EACE,OAAO;EACP,gBAAgB;GACd,EAAQ;EACV;EACM;EACN,SACE,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,GAAD;GAAY,SAAQ;aAAQ;EAIhB,CAAA,GACX,KACC,kBAAC,GAAD;GAAO,UAAU;GAAS,IAAI,EAAE,IAAI,EAAE;aACpC,kBAAC,GAAD;IAAY,SAAQ;cACjB,EAAmB;GACV,CAAA;EACP,CAAA,CAET,EAAA,CAAA;EAEJ,SACE,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,GAAD;GACE,SAAS;GACT,eAAe,EAAQ;GACvB,UAAU;aACX;EAEO,CAAA,GACR,kBAAC,GAAD;GACE,SAAS;GACT,OAAM;GACN,eAAe,EAAgB;GAC/B,UAAU;aACX;EAEO,CAAA,CACR,EAAA,CAAA;CAEL,CAAA;AAEL"}
|