synapse-react-client 4.0.17 → 4.0.19
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/README.md +5 -3
- package/dist/SWC.index.d.ts +2 -0
- package/dist/SWC.index.d.ts.map +1 -1
- package/dist/SWC.index.js +3 -1
- package/dist/SWC.index.js.map +1 -1
- package/dist/assets/homepage/BlinkingLiveIcon.d.ts +1 -1
- package/dist/components/AccessRequirementAclEditor/AccessRequirementAclEditor.d.ts.map +1 -1
- package/dist/components/AccessRequirementAclEditor/AccessRequirementAclEditor.js.map +1 -1
- package/dist/components/AccessRequirementList/AccessRequirementList.js.map +1 -1
- package/dist/components/AccessRequirementList/RequirementItem/CertificationRequirement.js.map +1 -1
- package/dist/components/AccessRequirementList/RequirementItem/SelfSignAccessRequirementItem.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/AccessTokenPage/CreateAccessTokenModal.d.ts.map +1 -1
- package/dist/components/AccessTokenPage/CreateAccessTokenModal.js +56 -54
- package/dist/components/AccessTokenPage/CreateAccessTokenModal.js.map +1 -1
- package/dist/components/Authentication/PasswordField.d.ts +1 -1
- package/dist/components/Authentication/PasswordField.d.ts.map +1 -1
- package/dist/components/Authentication/PasswordField.js.map +1 -1
- package/dist/components/Authentication/TwoFactorEnrollmentForm.d.ts.map +1 -1
- package/dist/components/Authentication/TwoFactorEnrollmentForm.js +1 -2
- package/dist/components/Authentication/TwoFactorEnrollmentForm.js.map +1 -1
- package/dist/components/Authentication/UsernamePasswordForm.d.ts.map +1 -1
- package/dist/components/Authentication/UsernamePasswordForm.js +32 -29
- package/dist/components/Authentication/UsernamePasswordForm.js.map +1 -1
- package/dist/components/CardContainer/CardLink.d.ts +2 -2
- package/dist/components/CardContainer/CardLink.d.ts.map +1 -1
- package/dist/components/CardDeck/CardDeckCardProps.d.ts.map +1 -1
- package/dist/components/ChallengeSubmission/SubmissionDirectoryList.js.map +1 -1
- package/dist/components/ChallengeTeamWizard/CreateChallengeTeam.d.ts.map +1 -1
- package/dist/components/ChallengeTeamWizard/CreateChallengeTeam.js +106 -103
- package/dist/components/ChallengeTeamWizard/CreateChallengeTeam.js.map +1 -1
- package/dist/components/ChallengeTeamWizard/MembershipRequestForm.d.ts.map +1 -1
- package/dist/components/ChallengeTeamWizard/MembershipRequestForm.js.map +1 -1
- package/dist/components/ChallengeTeamWizard/useCreateAndRegisterChallengeTeam.d.ts.map +1 -1
- package/dist/components/ChallengeTeamWizard/useCreateAndRegisterChallengeTeam.js.map +1 -1
- package/dist/components/CreateProjectModal/CreateProjectModal.d.ts.map +1 -1
- package/dist/components/CreateProjectModal/CreateProjectModal.js +4 -4
- package/dist/components/CreateProjectModal/CreateProjectModal.js.map +1 -1
- package/dist/components/CreateTableViewWizard/TableNameForm.js +6 -6
- package/dist/components/CreateTableViewWizard/TableNameForm.js.map +1 -1
- package/dist/components/CrispChat/CrispChat.js +4 -4
- package/dist/components/CrispChat/CrispChat.js.map +1 -1
- package/dist/components/DataExplorer/DataExplorer.css +1 -0
- package/dist/components/DataExplorer/DataExplorer.d.ts +13 -0
- package/dist/components/DataExplorer/DataExplorer.d.ts.map +1 -0
- package/dist/components/DataExplorer/DataExplorer.js +119 -0
- package/dist/components/DataExplorer/DataExplorer.js.map +1 -0
- package/dist/components/DataExplorer/DataExplorer.module.js +22 -0
- package/dist/components/DataExplorer/DataExplorer.module.js.map +1 -0
- package/dist/components/DataExplorer/DataExplorer.module.scss +156 -0
- package/dist/components/DataGrid/columns/AutocompleteColumn.d.ts.map +1 -1
- package/dist/components/DataGrid/columns/AutocompleteColumn.js +106 -102
- package/dist/components/DataGrid/columns/AutocompleteColumn.js.map +1 -1
- package/dist/components/DataGrid/columns/AutocompleteMultipleEnumColumn.d.ts.map +1 -1
- package/dist/components/DataGrid/columns/AutocompleteMultipleEnumColumn.js +97 -89
- package/dist/components/DataGrid/columns/AutocompleteMultipleEnumColumn.js.map +1 -1
- package/dist/components/DataGrid/columns/useGridAutocompleteState.d.ts +19 -8
- package/dist/components/DataGrid/columns/useGridAutocompleteState.d.ts.map +1 -1
- package/dist/components/DataGrid/columns/useGridAutocompleteState.js +64 -43
- package/dist/components/DataGrid/columns/useGridAutocompleteState.js.map +1 -1
- package/dist/components/DataGrid/components/UploadCsvToGridDialog.d.ts.map +1 -1
- package/dist/components/DataGrid/components/UploadCsvToGridDialog.js +9 -9
- package/dist/components/DataGrid/components/UploadCsvToGridDialog.js.map +1 -1
- package/dist/components/DataGrid/hooks/useGetSchemaForGrid.d.ts.map +1 -1
- package/dist/components/DataGrid/hooks/useGetSchemaForGrid.js +8 -1
- package/dist/components/DataGrid/hooks/useGetSchemaForGrid.js.map +1 -1
- package/dist/components/DataGrid/utils/json-rx/JsonRxResponseComplete.js.map +1 -1
- package/dist/components/DownloadCart/RequestDownloadCard.js +14 -14
- package/dist/components/DownloadCart/RequestDownloadCard.js.map +1 -1
- package/dist/components/EntityAclEditor/EntityAclEditor.d.ts.map +1 -1
- package/dist/components/EntityAclEditor/EntityAclEditor.js.map +1 -1
- package/dist/components/EntityBadgeIcons/EntityBadgeIcons.d.ts.map +1 -1
- package/dist/components/EntityBadgeIcons/EntityBadgeIcons.js.map +1 -1
- package/dist/components/EntityCitation/EntityCitationUtils.js.map +1 -1
- package/dist/components/EntityDownloadConfirmation/EntityDownloadConfirmation.js.map +1 -1
- package/dist/components/EntityFinder/EntityFinder.js.map +1 -1
- package/dist/components/EntityFinder/EntityIdTextField.d.ts +17 -0
- package/dist/components/EntityFinder/EntityIdTextField.d.ts.map +1 -0
- package/dist/components/EntityFinder/EntityIdTextField.js +35 -0
- package/dist/components/EntityFinder/EntityIdTextField.js.map +1 -0
- package/dist/components/Evaluation/round_limits/EvaluationRoundLimitOptions.d.ts.map +1 -1
- package/dist/components/Evaluation/round_limits/EvaluationRoundLimitOptions.js +22 -16
- package/dist/components/Evaluation/round_limits/EvaluationRoundLimitOptions.js.map +1 -1
- package/dist/components/FeaturedDataTabs/FacetPlotsCardGrid.js.map +1 -1
- package/dist/components/Forum/ForumThreadEditor.js.map +1 -1
- package/dist/components/FullWidthAlert/FullWidthAlert.d.ts.map +1 -1
- package/dist/components/FullWidthAlert/FullWidthAlert.js.map +1 -1
- package/dist/components/GenericCard/PortalDOI/PortalDOIUtils.d.ts.map +1 -1
- package/dist/components/GenericCard/PortalDOI/PortalDOIUtils.js.map +1 -1
- package/dist/components/Markdown/widget/MarkdownSynapsePlot.js.map +1 -1
- package/dist/components/OAuthClientAclEditor/OAuthClientAclEditor.d.ts.map +1 -1
- package/dist/components/OAuthClientAclEditor/OAuthClientAclEditor.js.map +1 -1
- package/dist/components/PortalAclEditor/PortalAclEditor.d.ts.map +1 -1
- package/dist/components/PortalAclEditor/PortalAclEditor.js.map +1 -1
- package/dist/components/PortalHomePageHeader/PortalHomePageHeader.d.ts +1 -1
- package/dist/components/PortalHomePageHeader/PortalHomePageHeader.d.ts.map +1 -1
- package/dist/components/PortalHomePageHeader/PortalHomePageHeader.js +1 -1
- package/dist/components/PortalHomePageHeader/PortalHomePageHeader.js.map +1 -1
- package/dist/components/PortalList/CreatePortalModal.d.ts.map +1 -1
- package/dist/components/PortalList/CreatePortalModal.js +34 -33
- package/dist/components/PortalList/CreatePortalModal.js.map +1 -1
- package/dist/components/QueryVisualizationWrapper/QueryVisualizationWrapper.d.ts.map +1 -1
- package/dist/components/QueryVisualizationWrapper/QueryVisualizationWrapper.js +67 -65
- package/dist/components/QueryVisualizationWrapper/QueryVisualizationWrapper.js.map +1 -1
- package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts +1 -1
- package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts.map +1 -1
- package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js +1 -0
- package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js.map +1 -1
- package/dist/components/QueryWrapperPlotNav/RowSetView.d.ts.map +1 -1
- package/dist/components/QueryWrapperPlotNav/RowSetView.js.map +1 -1
- package/dist/components/Resources/Resources.Desktop.js.map +1 -1
- package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.js.map +1 -1
- package/dist/components/SearchQueryWrapperPlotNav/SearchQueryWrapperPlotNav.d.ts +1 -1
- package/dist/components/SearchQueryWrapperPlotNav/SearchQueryWrapperPlotNav.d.ts.map +1 -1
- package/dist/components/SearchQueryWrapperPlotNav/SearchQueryWrapperPlotNav.js +1 -0
- package/dist/components/SearchQueryWrapperPlotNav/SearchQueryWrapperPlotNav.js.map +1 -1
- package/dist/components/SetAccessRequirementCommonFields/SetAccessRequirementCommonFields.d.ts.map +1 -1
- package/dist/components/SetAccessRequirementCommonFields/SetAccessRequirementCommonFields.js.map +1 -1
- package/dist/components/SetBasicAccessRequirementFields/SetBasicAccessRequirementFields.d.ts.map +1 -1
- package/dist/components/SetBasicAccessRequirementFields/SetBasicAccessRequirementFields.js.map +1 -1
- package/dist/components/SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.d.ts.map +1 -1
- package/dist/components/SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.js.map +1 -1
- package/dist/components/StandaloneQueryWrapper/StandaloneQueryWrapper.d.ts +1 -1
- package/dist/components/StandaloneQueryWrapper/StandaloneQueryWrapper.d.ts.map +1 -1
- package/dist/components/StandaloneQueryWrapper/StandaloneQueryWrapper.js.map +1 -1
- package/dist/components/SynapseChat/SynapseChatInteraction.js.map +1 -1
- package/dist/components/SynapsePortalBanners/SynapsePortalBanners.d.ts.map +1 -1
- package/dist/components/SynapsePortalBanners/SynapsePortalBanners.js +1 -1
- package/dist/components/SynapsePortalBanners/SynapsePortalBanners.js.map +1 -1
- package/dist/components/SynapseTable/SearchV2.js.map +1 -1
- package/dist/components/SynapseTable/SynapseTable.js.map +1 -1
- package/dist/components/SynapseTable/SynapseTableUtils.d.ts.map +1 -1
- package/dist/components/SynapseTable/SynapseTableUtils.js.map +1 -1
- package/dist/components/SynapseTable/datasets/DatasetItemsEditor.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/ColumnModelForm.js +9 -9
- package/dist/components/TableColumnSchemaEditor/ColumnModelForm.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/ColumnModelFormFields/MultiValueField.js +4 -4
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaForm.d.ts.map +1 -1
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaForm.js +25 -25
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaForm.js.map +1 -1
- package/dist/components/TanStackTable/TanStackTableUtils.js.map +1 -1
- package/dist/components/TextField/TextField.css +1 -1
- package/dist/components/TextField/TextField.d.ts +14 -3
- package/dist/components/TextField/TextField.d.ts.map +1 -1
- package/dist/components/TextField/TextField.js +41 -43
- package/dist/components/TextField/TextField.js.map +1 -1
- package/dist/components/TextField/TextField.module.js +3 -4
- package/dist/components/TextField/TextField.module.js.map +1 -1
- package/dist/components/TextField/TextField.module.scss +18 -10
- package/dist/components/TimelinePlot/TimelinePlotSpeciesSelector.d.ts.map +1 -1
- package/dist/components/TimelinePlot/TimelinePlotSpeciesSelector.js +20 -16
- package/dist/components/TimelinePlot/TimelinePlotSpeciesSelector.js.map +1 -1
- package/dist/components/UserCardList/UserCardList.d.ts.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/UserOrTeamBadge/useUserOrTeam.js.map +1 -1
- package/dist/components/UserSearchBox/UserSearchBox.d.ts.map +1 -1
- package/dist/components/UserSearchBox/UserSearchBox.js.map +1 -1
- package/dist/components/WikiMarkdownEditorButton/WikiMarkdownEditorButton.js.map +1 -1
- package/dist/components/dataaccess/SubmissionPage/SubmissionPage.js.map +1 -1
- package/dist/components/doi/CreateOrUpdateDoiModal.js +13 -13
- package/dist/components/doi/CreateOrUpdateDoiModal.js.map +1 -1
- package/dist/components/entity/page/title_bar/TitleBarProperties.js +23 -23
- package/dist/components/entity/page/title_bar/TitleBarProperties.js.map +1 -1
- package/dist/components/entity/page/title_bar/useGetMentions.js.map +1 -1
- package/dist/components/index.js +17 -17
- package/dist/components/styled/StyledFormControl.d.ts +15 -0
- package/dist/components/styled/StyledFormControl.d.ts.map +1 -1
- package/dist/components/styled/StyledFormControl.js +1 -0
- package/dist/components/styled/StyledFormControl.js.map +1 -1
- package/dist/components/styled/index.js +3 -3
- package/dist/components/table/CsvPreview/CreateTableFromCsvDialog.d.ts +18 -0
- package/dist/components/table/CsvPreview/CreateTableFromCsvDialog.d.ts.map +1 -0
- package/dist/components/table/CsvPreview/CreateTableFromCsvDialog.js +116 -0
- package/dist/components/table/CsvPreview/CreateTableFromCsvDialog.js.map +1 -0
- package/dist/components/table/CsvPreview/CsvPreviewDialog.d.ts +5 -5
- package/dist/components/table/CsvPreview/CsvPreviewDialog.d.ts.map +1 -1
- package/dist/components/table/CsvPreview/CsvPreviewDialog.js +27 -76
- package/dist/components/table/CsvPreview/CsvPreviewDialog.js.map +1 -1
- package/dist/components/table/CsvPreview/CsvPreviewWithOptions.d.ts +19 -0
- package/dist/components/table/CsvPreview/CsvPreviewWithOptions.d.ts.map +1 -0
- package/dist/components/table/CsvPreview/CsvPreviewWithOptions.js +41 -0
- package/dist/components/table/CsvPreview/CsvPreviewWithOptions.js.map +1 -0
- package/dist/components/table/CsvPreview/CsvUploadPreviewContent.d.ts +12 -0
- package/dist/components/table/CsvPreview/CsvUploadPreviewContent.d.ts.map +1 -0
- package/dist/components/table/CsvPreview/CsvUploadPreviewContent.js +25 -0
- package/dist/components/table/CsvPreview/CsvUploadPreviewContent.js.map +1 -0
- package/dist/components/table/CsvPreview/UpdateTableWithCsvDialog.d.ts +18 -0
- package/dist/components/table/CsvPreview/UpdateTableWithCsvDialog.d.ts.map +1 -0
- package/dist/components/table/CsvPreview/UpdateTableWithCsvDialog.js +55 -0
- package/dist/components/table/CsvPreview/UpdateTableWithCsvDialog.js.map +1 -0
- package/dist/components/table/CsvPreview/useCreateTableFromCsv.d.ts +19 -0
- package/dist/components/table/CsvPreview/useCreateTableFromCsv.d.ts.map +1 -0
- package/dist/components/table/CsvPreview/useCreateTableFromCsv.js +35 -0
- package/dist/components/table/CsvPreview/useCreateTableFromCsv.js.map +1 -0
- package/dist/components/table/CsvPreview/useCsvUploadPreview.d.ts +22 -0
- package/dist/components/table/CsvPreview/useCsvUploadPreview.d.ts.map +1 -0
- package/dist/components/table/CsvPreview/useCsvUploadPreview.js +32 -0
- package/dist/components/table/CsvPreview/useCsvUploadPreview.js.map +1 -0
- package/dist/components/table/CsvPreview/useUploadCsvToExistingTable.d.ts +14 -0
- package/dist/components/table/CsvPreview/useUploadCsvToExistingTable.d.ts.map +1 -0
- package/dist/components/table/CsvPreview/useUploadCsvToExistingTable.js +23 -0
- package/dist/components/table/CsvPreview/useUploadCsvToExistingTable.js.map +1 -0
- package/dist/components/utils/ConditionalWrapper.d.ts.map +1 -1
- package/dist/components/utils/ConditionalWrapper.js.map +1 -1
- package/dist/components/widgets/ElementWithTooltip.js.map +1 -1
- package/dist/components/widgets/facet-nav/FacetNavPanel.d.ts.map +1 -1
- package/dist/components/widgets/facet-nav/FacetNavPanel.js +69 -62
- package/dist/components/widgets/facet-nav/FacetNavPanel.js.map +1 -1
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilter.d.ts +1 -0
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilter.d.ts.map +1 -1
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilter.js +27 -26
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilter.js.map +1 -1
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterDropdown.d.ts +1 -0
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterDropdown.d.ts.map +1 -1
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterDropdown.js +2 -1
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterDropdown.js.map +1 -1
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUI.d.ts +1 -0
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUI.d.ts.map +1 -1
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUI.js +44 -43
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUI.js.map +1 -1
- package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.d.ts +13 -0
- package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.d.ts.map +1 -0
- package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.js +398 -0
- package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.js.map +1 -0
- package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.d.ts.map +1 -1
- package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.js +49 -19
- package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.js.map +1 -1
- package/dist/features/entity/metadata-task/components/MetadataTasksPage.d.ts.map +1 -1
- package/dist/features/entity/metadata-task/components/MetadataTasksPage.js +49 -25
- package/dist/features/entity/metadata-task/components/MetadataTasksPage.js.map +1 -1
- package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask.d.ts +0 -1
- package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask.d.ts.map +1 -1
- package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask.js +20 -22
- package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask.js.map +1 -1
- package/dist/features/entity/metadata-task/hooks/useOpenCuratorButton.d.ts.map +1 -1
- package/dist/features/entity/metadata-task/hooks/useOpenCuratorButton.js +25 -27
- package/dist/features/entity/metadata-task/hooks/useOpenCuratorButton.js.map +1 -1
- package/dist/features/entity/metadata-task/utils/constants.d.ts +29 -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/index.js +17 -17
- package/dist/mockServiceWorker.js +6 -8
- package/dist/mocks/curation/mockCurationTask.d.ts +2 -2
- package/dist/mocks/curation/mockCurationTask.d.ts.map +1 -1
- package/dist/mocks/curation/mockCurationTask.js +9 -5
- package/dist/mocks/curation/mockCurationTask.js.map +1 -1
- package/dist/mocks/msw/handlers/featureFlagHandlers.d.ts +1 -1
- package/dist/mocks/msw/handlers/featureFlagHandlers.d.ts.map +1 -1
- package/dist/mocks/msw/handlers/featureFlagHandlers.js +1 -1
- package/dist/mocks/msw/handlers/featureFlagHandlers.js.map +1 -1
- package/dist/style/components/_cards.scss +0 -3
- package/dist/style/components/_data-grid-extra.scss +2 -2
- package/dist/style/components/_login.scss +6 -2
- package/dist/style/main.css +1 -1
- package/dist/synapse-client/SynapseClient.d.ts +2 -1
- package/dist/synapse-client/SynapseClient.d.ts.map +1 -1
- package/dist/synapse-client/SynapseClient.js.map +1 -1
- package/dist/synapse-queries/QueryFilterUtils.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 +16 -6
- package/dist/synapse-queries/curation/task/useCurationTask.js.map +1 -1
- package/dist/synapse-queries/dataaccess/useAccessRequirements.d.ts.map +1 -1
- package/dist/synapse-queries/dataaccess/useAccessRequirements.js.map +1 -1
- package/dist/synapse-queries/entity/useGetQueryResultBundle.js.map +1 -1
- package/dist/synapse-queries/featureflags/useGetFeatureFlag.d.ts +1 -1
- package/dist/synapse-queries/featureflags/useGetFeatureFlag.d.ts.map +1 -1
- package/dist/synapse-queries/featureflags/useGetFeatureFlag.js.map +1 -1
- package/dist/synapse-queries/file/useFiles.d.ts.map +1 -1
- package/dist/synapse-queries/file/useFiles.js.map +1 -1
- package/dist/synapse-queries/termsOfService/useTermsOfService.d.ts.map +1 -1
- package/dist/synapse-queries/termsOfService/useTermsOfService.js.map +1 -1
- package/dist/synapse-queries/user/useGetUserChallenges.d.ts.map +1 -1
- package/dist/synapse-queries/user/useGetUserChallenges.js.map +1 -1
- package/dist/testutils/ReactQueryMockUtils.js.map +1 -1
- package/dist/theme/palette/Palettes.d.ts +2 -2
- package/dist/theme/palette/Palettes.d.ts.map +1 -1
- package/dist/theme/palette/Palettes.js +2 -2
- package/dist/theme/palette/Palettes.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/types/ThemeTypes.d.ts +5 -6
- package/dist/utils/AppUtils/session/SynapseSessionManager.d.ts.map +1 -1
- package/dist/utils/AppUtils/session/SynapseSessionManager.js.map +1 -1
- package/dist/utils/featureflag/FeatureFlags.d.ts +13 -0
- package/dist/utils/featureflag/FeatureFlags.d.ts.map +1 -0
- package/dist/utils/featureflag/FeatureFlags.js +8 -0
- package/dist/utils/featureflag/FeatureFlags.js.map +1 -0
- package/dist/utils/functions/SanitizeHtmlUtils.js.map +1 -1
- package/dist/utils/functions/queryUtils.js.map +1 -1
- package/dist/utils/hooks/useGetInfoFromIds.d.ts.map +1 -1
- package/dist/utils/hooks/useGetInfoFromIds.js.map +1 -1
- package/dist/utils/slots/SlotUtils.d.ts.map +1 -1
- package/dist/utils/slots/SlotUtils.js.map +1 -1
- package/package.json +5 -6
|
@@ -11,17 +11,17 @@ function _(e) {
|
|
|
11
11
|
return e.replace(/\s/g, "").toLowerCase();
|
|
12
12
|
}
|
|
13
13
|
function v(v) {
|
|
14
|
-
let {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
]),
|
|
20
|
-
className:
|
|
14
|
+
let { labelId: y, filterIsActive: b, containerAs: x = "Collapsible", dropdownType: S = "Icon", hideCollapsible: C = !1, facetValues: w, onAddValueToSelection: T, onRemoveValueFromSelection: E, facetTitle: D, onRemoveAllFacetSelections: O, onHoverOverValue: k, canMultiSelect: A = !0, defaultShowAllValues: j = !1 } = v, [M, N] = o(j), [P, F] = o(!1), [I, L] = o(!1), [R, z] = o(""), B = w.length > g && w.slice(g).some(({ isSelected: e }) => e), V = x === "Dropdown" || M || I || B, H = i(() => I && R.length > 0 ? w.filter(({ displayText: e }) => e.toLowerCase().indexOf(R.trim().toLowerCase()) > -1) : V ? w : w.slice(0, g), [
|
|
15
|
+
w,
|
|
16
|
+
R,
|
|
17
|
+
I,
|
|
18
|
+
V
|
|
19
|
+
]), U = a(null), W = x === "Dropdown", G = !V && w.length > g, K = V && !R && !B && w.length > g, q = /* @__PURE__ */ h("div", {
|
|
20
|
+
className: W ? "EnumFacetFilter__dropdown_menu" : "",
|
|
21
21
|
children: [/* @__PURE__ */ h("div", {
|
|
22
22
|
className: "EnumFacetFilter__checkboxContainer--forAll",
|
|
23
23
|
children: [/* @__PURE__ */ m(d, {
|
|
24
|
-
sx: { display:
|
|
24
|
+
sx: { display: I ? void 0 : "none" },
|
|
25
25
|
size: "small",
|
|
26
26
|
fullWidth: !0,
|
|
27
27
|
slotProps: { input: {
|
|
@@ -30,7 +30,7 @@ function v(v) {
|
|
|
30
30
|
children: /* @__PURE__ */ m(u, {
|
|
31
31
|
size: "small",
|
|
32
32
|
onClick: () => {
|
|
33
|
-
|
|
33
|
+
L(!1), N(j);
|
|
34
34
|
},
|
|
35
35
|
children: /* @__PURE__ */ m(e, {
|
|
36
36
|
sx: { fontSize: "inherit" },
|
|
@@ -39,12 +39,12 @@ function v(v) {
|
|
|
39
39
|
})
|
|
40
40
|
})
|
|
41
41
|
}),
|
|
42
|
-
endAdornment:
|
|
42
|
+
endAdornment: R.length > 0 && /* @__PURE__ */ m(f, {
|
|
43
43
|
title: "Clear",
|
|
44
44
|
children: /* @__PURE__ */ m(u, {
|
|
45
45
|
size: "small",
|
|
46
46
|
onClick: () => {
|
|
47
|
-
|
|
47
|
+
z(""), U.current?.focus();
|
|
48
48
|
},
|
|
49
49
|
children: /* @__PURE__ */ m(e, {
|
|
50
50
|
sx: { fontSize: "inherit" },
|
|
@@ -56,20 +56,20 @@ function v(v) {
|
|
|
56
56
|
} },
|
|
57
57
|
type: "text",
|
|
58
58
|
placeholder: "Find values",
|
|
59
|
-
value:
|
|
60
|
-
ref:
|
|
59
|
+
value: R,
|
|
60
|
+
ref: U,
|
|
61
61
|
onChange: (e) => {
|
|
62
|
-
|
|
62
|
+
z(e.target.value);
|
|
63
63
|
}
|
|
64
|
-
}), !
|
|
64
|
+
}), !I && /* @__PURE__ */ h("div", {
|
|
65
65
|
className: "EnumFacetFilter__checkAll",
|
|
66
66
|
children: [/* @__PURE__ */ m(l, {
|
|
67
67
|
control: /* @__PURE__ */ m(s, {}),
|
|
68
68
|
className: "EnumFacetFilter__checkbox",
|
|
69
69
|
onChange: () => {
|
|
70
|
-
|
|
70
|
+
b && O();
|
|
71
71
|
},
|
|
72
|
-
checked: !
|
|
72
|
+
checked: !b,
|
|
73
73
|
label: "All"
|
|
74
74
|
}, "select_all"), /* @__PURE__ */ m(f, {
|
|
75
75
|
title: "Search",
|
|
@@ -77,7 +77,7 @@ function v(v) {
|
|
|
77
77
|
size: "small",
|
|
78
78
|
sx: { aspectRatio: "1 / 1" },
|
|
79
79
|
onClick: () => {
|
|
80
|
-
|
|
80
|
+
z(""), L(!0), U.current?.focus();
|
|
81
81
|
},
|
|
82
82
|
children: /* @__PURE__ */ m(e, {
|
|
83
83
|
sx: { fontSize: "inherit" },
|
|
@@ -88,44 +88,44 @@ function v(v) {
|
|
|
88
88
|
})]
|
|
89
89
|
})]
|
|
90
90
|
}), /* @__PURE__ */ h("div", { children: [
|
|
91
|
-
|
|
91
|
+
H.map((e, t) => {
|
|
92
92
|
let { isSelected: r, displayText: i, value: a, count: o } = e;
|
|
93
93
|
return /* @__PURE__ */ m(n, {
|
|
94
94
|
id: [
|
|
95
|
-
_(
|
|
95
|
+
_(D),
|
|
96
96
|
_(String(a)),
|
|
97
97
|
t
|
|
98
98
|
].join("-"),
|
|
99
99
|
label: i,
|
|
100
100
|
count: o,
|
|
101
|
-
isDropdown:
|
|
101
|
+
isDropdown: W,
|
|
102
102
|
checked: r,
|
|
103
103
|
onHover: () => {
|
|
104
|
-
|
|
104
|
+
k(a);
|
|
105
105
|
},
|
|
106
106
|
onChange: (e) => {
|
|
107
|
-
e ?
|
|
107
|
+
e ? T(a) : E(a);
|
|
108
108
|
},
|
|
109
|
-
inputType:
|
|
109
|
+
inputType: A ? "checkbox" : "radio"
|
|
110
110
|
}, String(a));
|
|
111
111
|
}),
|
|
112
|
-
!
|
|
112
|
+
!W && /* @__PURE__ */ h(p, { children: [G && /* @__PURE__ */ m("button", {
|
|
113
113
|
className: "EnumFacetFilter__showMoreFacetsBtn",
|
|
114
|
-
onClick: () =>
|
|
114
|
+
onClick: () => N(!0),
|
|
115
115
|
children: /* @__PURE__ */ m("div", {
|
|
116
116
|
className: "EnumFacetFilter__checkboxContainer",
|
|
117
117
|
children: /* @__PURE__ */ h("div", {
|
|
118
118
|
className: "EnumFacetFilter__showMoreFacetsLabel",
|
|
119
119
|
children: [
|
|
120
120
|
"Show all (",
|
|
121
|
-
|
|
121
|
+
w.length,
|
|
122
122
|
")"
|
|
123
123
|
]
|
|
124
124
|
})
|
|
125
125
|
})
|
|
126
|
-
}),
|
|
126
|
+
}), K && /* @__PURE__ */ m("button", {
|
|
127
127
|
className: "EnumFacetFilter__showMoreFacetsBtn",
|
|
128
|
-
onClick: () =>
|
|
128
|
+
onClick: () => N(!1),
|
|
129
129
|
children: /* @__PURE__ */ m("div", {
|
|
130
130
|
className: "EnumFacetFilter__checkboxContainer",
|
|
131
131
|
children: /* @__PURE__ */ m("div", {
|
|
@@ -134,27 +134,28 @@ function v(v) {
|
|
|
134
134
|
})
|
|
135
135
|
})
|
|
136
136
|
})] }),
|
|
137
|
-
|
|
137
|
+
H.length <= 0 && /* @__PURE__ */ m("div", {
|
|
138
138
|
className: "EnumFacetFilter__noMatch",
|
|
139
139
|
children: "No match found"
|
|
140
140
|
})
|
|
141
141
|
] })]
|
|
142
|
-
}),
|
|
143
|
-
return
|
|
144
|
-
facetTitle:
|
|
145
|
-
dropdownType:
|
|
146
|
-
menuText:
|
|
147
|
-
filterIsActive:
|
|
148
|
-
|
|
142
|
+
}), J = i(() => b ? b && H.filter((e) => e.isSelected).length === 1 ? H.filter((e) => e.isSelected)[0].displayText : "Multiple Values Selected" : "All", [b, H]);
|
|
143
|
+
return W ? /* @__PURE__ */ m(r, {
|
|
144
|
+
facetTitle: D,
|
|
145
|
+
dropdownType: S,
|
|
146
|
+
menuText: J,
|
|
147
|
+
filterIsActive: b,
|
|
148
|
+
labelId: y,
|
|
149
|
+
children: q
|
|
149
150
|
}) : /* @__PURE__ */ h(p, { children: [/* @__PURE__ */ m(t, {
|
|
150
|
-
hideCollapsible:
|
|
151
|
-
isCollapsed:
|
|
152
|
-
label:
|
|
153
|
-
onClick: (e) =>
|
|
151
|
+
hideCollapsible: C,
|
|
152
|
+
isCollapsed: P,
|
|
153
|
+
label: D,
|
|
154
|
+
onClick: (e) => F(e)
|
|
154
155
|
}), /* @__PURE__ */ m(c, {
|
|
155
156
|
className: "EnumFacetFilter",
|
|
156
|
-
in: !
|
|
157
|
-
children:
|
|
157
|
+
in: !P,
|
|
158
|
+
children: q
|
|
158
159
|
})] });
|
|
159
160
|
}
|
|
160
161
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnumFacetFilterUI.js","names":[],"sources":["../../../../../src/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUI.tsx"],"sourcesContent":["import {\n Checkbox,\n Collapse,\n FormControlLabel,\n IconButton,\n TextField,\n Tooltip,\n} from '@mui/material'\nimport { useMemo, useRef, useState } from 'react'\nimport { FacetColumnResultValueCount } from '@sage-bionetworks/synapse-types'\nimport IconSvg from '../../../IconSvg/IconSvg'\nimport { FacetFilterHeader } from '../FacetFilterHeader'\nimport { EnumFacetFilterOption } from './EnumFacetFilterOption'\nimport EnumFacetFilterDropdown from './EnumFacetFilterDropdown'\nimport { SetOptional } from 'type-fest'\n\nconst MAX_ENUMERATION_VALUES_TO_SHOW = 5\n\nexport type RenderedFacetValue<TValue = string> = Omit<\n SetOptional<FacetColumnResultValueCount, 'count'>,\n 'value'\n> & {\n value: TValue\n /* Text displayed for the option, and also used to filter in search */\n displayText: string\n}\n\nexport type EnumFacetFilterUIProps<TValue = string> = {\n /* The title of the faceted column to be displayed */\n facetTitle: string\n /* List of all facet values and information associated with each value */\n facetValues: RenderedFacetValue<TValue>[]\n /* Determines how the component is styled and whether the 'All' checkbox should be selected. */\n filterIsActive: boolean // filterIsActive cannot be derived from facetValues[*].isSelected. See PORTALS-2680\n /* The EnumFacetFilter can be rendered as a collapsible panel or a dropdown. Default is `'Collapsible'` */\n containerAs?: 'Collapsible' | 'Dropdown'\n /* If `containerAs` is a dropdown, the dropdown can be either an IconButton or a SelectBox. Default is `'Icon'` */\n dropdownType?: 'Icon' | 'SelectBox'\n /* If true, hides the button to collapse the panel (only shown if `containerAs` is 'Collapsible'). Default is false.*/\n hideCollapsible?: boolean\n /* Called when an unselected value is selected */\n onAddValueToSelection: (value: TValue) => void\n /* Called when a selected value is unselected */\n onRemoveValueFromSelection: (value: TValue) => void\n /* Called when all values should be unselected (e.g. 'All' is clicked) */\n onRemoveAllFacetSelections: () => void\n /* Called when an value is hovered over */\n onHoverOverValue: (value: TValue) => void\n /* Set to true if multiple values can be selected for the filter */\n canMultiSelect: boolean\n /* By default, all values are not shown (defaultShowAllValues = false) */\n defaultShowAllValues?: boolean\n}\n\nfunction removeWhitespace(value: string): string {\n return value.replace(/\\s/g, '').toLowerCase()\n}\n\nexport default function EnumFacetFilterUI<TValue = string>(\n props: EnumFacetFilterUIProps<TValue>,\n) {\n const {\n filterIsActive,\n containerAs = 'Collapsible',\n dropdownType = 'Icon',\n hideCollapsible = false,\n facetValues,\n onAddValueToSelection,\n onRemoveValueFromSelection,\n facetTitle,\n onRemoveAllFacetSelections,\n onHoverOverValue,\n canMultiSelect = true,\n defaultShowAllValues = false,\n } = props\n const [toggleShowAll, setToggleShowAll] =\n useState<boolean>(defaultShowAllValues)\n const [isCollapsed, setIsCollapsed] = useState<boolean>(false)\n const [showSearch, setShowSearch] = useState<boolean>(false)\n const [searchTerm, setSearchText] = useState<string>('')\n\n // e.g. we show a subset of facet values before hiding the rest behind \"Show More\"\n // If the user has selected a value that would normally be hidden, always show all of the values\n const valueIndexedGreaterThanMaxToShowIsSelected =\n facetValues.length > MAX_ENUMERATION_VALUES_TO_SHOW &&\n facetValues\n .slice(MAX_ENUMERATION_VALUES_TO_SHOW)\n .some(({ isSelected }) => isSelected)\n const showAll =\n containerAs === 'Dropdown' ||\n toggleShowAll ||\n showSearch ||\n valueIndexedGreaterThanMaxToShowIsSelected\n\n const facetValuesToShow = useMemo(() => {\n if (showSearch && searchTerm.length > 0) {\n return facetValues.filter(({ displayText }) => {\n return (\n displayText.toLowerCase().indexOf(searchTerm.trim().toLowerCase()) >\n -1\n )\n })\n }\n if (showAll) {\n return facetValues\n }\n return facetValues.slice(0, MAX_ENUMERATION_VALUES_TO_SHOW)\n }, [facetValues, searchTerm, showSearch, showAll])\n\n const textInput = useRef<HTMLInputElement>(null)\n\n const isDropdown = containerAs === 'Dropdown'\n const showMoreButtonIsVisible =\n !showAll && facetValues.length > MAX_ENUMERATION_VALUES_TO_SHOW\n const showLessButtonIsVisible =\n showAll &&\n !searchTerm &&\n !valueIndexedGreaterThanMaxToShowIsSelected &&\n facetValues.length > MAX_ENUMERATION_VALUES_TO_SHOW\n\n const content = (\n <div className={isDropdown ? 'EnumFacetFilter__dropdown_menu' : ''}>\n <div className=\"EnumFacetFilter__checkboxContainer--forAll\">\n <TextField // Search Filter Text\n sx={{\n display: showSearch ? undefined : 'none',\n }}\n size={'small'}\n fullWidth={true}\n slotProps={{\n input: {\n startAdornment: (\n <Tooltip title={'Close search'}>\n <IconButton\n size={'small'}\n onClick={() => {\n setShowSearch(false)\n setToggleShowAll(defaultShowAllValues)\n }}\n >\n <IconSvg\n sx={{ fontSize: 'inherit' }}\n wrap={false}\n icon=\"arrowBack\"\n />\n </IconButton>\n </Tooltip>\n ),\n endAdornment: searchTerm.length > 0 && (\n <Tooltip title={'Clear'}>\n <IconButton\n size={'small'}\n onClick={() => {\n setSearchText('')\n textInput.current?.focus()\n }}\n >\n <IconSvg\n sx={{ fontSize: 'inherit' }}\n wrap={false}\n icon=\"close\"\n />\n </IconButton>\n </Tooltip>\n ),\n },\n }}\n type=\"text\"\n placeholder=\"Find values\"\n value={searchTerm}\n ref={textInput}\n onChange={e => {\n setSearchText(e.target.value)\n }}\n />\n {!showSearch && (\n <div className=\"EnumFacetFilter__checkAll\">\n <FormControlLabel\n control={<Checkbox />}\n className=\"EnumFacetFilter__checkbox\"\n onChange={() => {\n if (filterIsActive) {\n onRemoveAllFacetSelections()\n }\n }}\n key=\"select_all\"\n checked={!filterIsActive}\n label=\"All\"\n />\n <Tooltip title={'Search'}>\n <IconButton\n size={'small'}\n sx={{ aspectRatio: '1 / 1' }}\n onClick={() => {\n setSearchText('')\n setShowSearch(true)\n textInput.current?.focus()\n }}\n >\n <IconSvg\n sx={{ fontSize: 'inherit' }}\n wrap={false}\n icon=\"search\"\n />\n </IconButton>\n </Tooltip>\n </div>\n )}\n </div>\n <div>\n {facetValuesToShow.map((facetValueAndCount, index: number) => {\n const { isSelected, displayText, value, count } = facetValueAndCount\n\n return (\n <EnumFacetFilterOption\n key={String(value)}\n id={[\n removeWhitespace(facetTitle),\n removeWhitespace(String(value)),\n index,\n ].join('-')}\n label={displayText}\n count={count}\n isDropdown={isDropdown}\n checked={isSelected}\n onHover={() => {\n onHoverOverValue(value)\n }}\n onChange={(newIsSelected: boolean) => {\n if (newIsSelected) {\n onAddValueToSelection(value)\n } else {\n onRemoveValueFromSelection(value)\n }\n }}\n inputType={canMultiSelect ? 'checkbox' : 'radio'}\n />\n )\n })}\n {!isDropdown && (\n <>\n {showMoreButtonIsVisible && (\n <button\n className=\"EnumFacetFilter__showMoreFacetsBtn\"\n onClick={() => setToggleShowAll(true)}\n >\n <div className=\"EnumFacetFilter__checkboxContainer\">\n <div className=\"EnumFacetFilter__showMoreFacetsLabel\">\n Show all ({facetValues.length})\n </div>\n </div>\n </button>\n )}\n {showLessButtonIsVisible && (\n <button\n className=\"EnumFacetFilter__showMoreFacetsBtn\"\n onClick={() => setToggleShowAll(false)}\n >\n <div className=\"EnumFacetFilter__checkboxContainer\">\n <div className=\"EnumFacetFilter__showMoreFacetsLabel\">\n Show less\n </div>\n </div>\n </button>\n )}\n </>\n )}\n {facetValuesToShow.length <= 0 && (\n <div className=\"EnumFacetFilter__noMatch\">No match found</div>\n )}\n </div>\n </div>\n )\n\n const menuText = useMemo(() => {\n if (!filterIsActive) {\n return 'All'\n } else if (\n filterIsActive &&\n facetValuesToShow.filter(item => item.isSelected).length === 1\n ) {\n return facetValuesToShow.filter(item => item.isSelected)[0].displayText\n } else {\n return 'Multiple Values Selected'\n }\n }, [filterIsActive, facetValuesToShow])\n\n if (isDropdown) {\n return (\n <EnumFacetFilterDropdown\n facetTitle={facetTitle}\n dropdownType={dropdownType}\n menuText={menuText}\n filterIsActive={filterIsActive}\n >\n {content}\n </EnumFacetFilterDropdown>\n )\n } else {\n return (\n <>\n <FacetFilterHeader\n hideCollapsible={hideCollapsible}\n isCollapsed={isCollapsed}\n label={facetTitle}\n onClick={(isCollapsed: boolean) => setIsCollapsed(isCollapsed)}\n />\n <Collapse className=\"EnumFacetFilter\" in={!isCollapsed}>\n {content}\n </Collapse>\n </>\n )\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EnumFacetFilterUI.js","names":[],"sources":["../../../../../src/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUI.tsx"],"sourcesContent":["import {\n Checkbox,\n Collapse,\n FormControlLabel,\n IconButton,\n TextField,\n Tooltip,\n} from '@mui/material'\nimport { useMemo, useRef, useState } from 'react'\nimport { FacetColumnResultValueCount } from '@sage-bionetworks/synapse-types'\nimport IconSvg from '../../../IconSvg/IconSvg'\nimport { FacetFilterHeader } from '../FacetFilterHeader'\nimport { EnumFacetFilterOption } from './EnumFacetFilterOption'\nimport EnumFacetFilterDropdown from './EnumFacetFilterDropdown'\nimport { SetOptional } from 'type-fest'\n\nconst MAX_ENUMERATION_VALUES_TO_SHOW = 5\n\nexport type RenderedFacetValue<TValue = string> = Omit<\n SetOptional<FacetColumnResultValueCount, 'count'>,\n 'value'\n> & {\n value: TValue\n /* Text displayed for the option, and also used to filter in search */\n displayText: string\n}\n\nexport type EnumFacetFilterUIProps<TValue = string> = {\n /* The ID of the corresponding label, for testing and accessibility */\n labelId?: string\n /* The title of the faceted column to be displayed */\n facetTitle: string\n /* List of all facet values and information associated with each value */\n facetValues: RenderedFacetValue<TValue>[]\n /* Determines how the component is styled and whether the 'All' checkbox should be selected. */\n filterIsActive: boolean // filterIsActive cannot be derived from facetValues[*].isSelected. See PORTALS-2680\n /* The EnumFacetFilter can be rendered as a collapsible panel or a dropdown. Default is `'Collapsible'` */\n containerAs?: 'Collapsible' | 'Dropdown'\n /* If `containerAs` is a dropdown, the dropdown can be either an IconButton or a SelectBox. Default is `'Icon'` */\n dropdownType?: 'Icon' | 'SelectBox'\n /* If true, hides the button to collapse the panel (only shown if `containerAs` is 'Collapsible'). Default is false.*/\n hideCollapsible?: boolean\n /* Called when an unselected value is selected */\n onAddValueToSelection: (value: TValue) => void\n /* Called when a selected value is unselected */\n onRemoveValueFromSelection: (value: TValue) => void\n /* Called when all values should be unselected (e.g. 'All' is clicked) */\n onRemoveAllFacetSelections: () => void\n /* Called when an value is hovered over */\n onHoverOverValue: (value: TValue) => void\n /* Set to true if multiple values can be selected for the filter */\n canMultiSelect: boolean\n /* By default, all values are not shown (defaultShowAllValues = false) */\n defaultShowAllValues?: boolean\n}\n\nfunction removeWhitespace(value: string): string {\n return value.replace(/\\s/g, '').toLowerCase()\n}\n\nexport default function EnumFacetFilterUI<TValue = string>(\n props: EnumFacetFilterUIProps<TValue>,\n) {\n const {\n labelId,\n filterIsActive,\n containerAs = 'Collapsible',\n dropdownType = 'Icon',\n hideCollapsible = false,\n facetValues,\n onAddValueToSelection,\n onRemoveValueFromSelection,\n facetTitle,\n onRemoveAllFacetSelections,\n onHoverOverValue,\n canMultiSelect = true,\n defaultShowAllValues = false,\n } = props\n const [toggleShowAll, setToggleShowAll] =\n useState<boolean>(defaultShowAllValues)\n const [isCollapsed, setIsCollapsed] = useState<boolean>(false)\n const [showSearch, setShowSearch] = useState<boolean>(false)\n const [searchTerm, setSearchText] = useState<string>('')\n\n // e.g. we show a subset of facet values before hiding the rest behind \"Show More\"\n // If the user has selected a value that would normally be hidden, always show all of the values\n const valueIndexedGreaterThanMaxToShowIsSelected =\n facetValues.length > MAX_ENUMERATION_VALUES_TO_SHOW &&\n facetValues\n .slice(MAX_ENUMERATION_VALUES_TO_SHOW)\n .some(({ isSelected }) => isSelected)\n const showAll =\n containerAs === 'Dropdown' ||\n toggleShowAll ||\n showSearch ||\n valueIndexedGreaterThanMaxToShowIsSelected\n\n const facetValuesToShow = useMemo(() => {\n if (showSearch && searchTerm.length > 0) {\n return facetValues.filter(({ displayText }) => {\n return (\n displayText.toLowerCase().indexOf(searchTerm.trim().toLowerCase()) >\n -1\n )\n })\n }\n if (showAll) {\n return facetValues\n }\n return facetValues.slice(0, MAX_ENUMERATION_VALUES_TO_SHOW)\n }, [facetValues, searchTerm, showSearch, showAll])\n\n const textInput = useRef<HTMLInputElement>(null)\n\n const isDropdown = containerAs === 'Dropdown'\n const showMoreButtonIsVisible =\n !showAll && facetValues.length > MAX_ENUMERATION_VALUES_TO_SHOW\n const showLessButtonIsVisible =\n showAll &&\n !searchTerm &&\n !valueIndexedGreaterThanMaxToShowIsSelected &&\n facetValues.length > MAX_ENUMERATION_VALUES_TO_SHOW\n\n const content = (\n <div className={isDropdown ? 'EnumFacetFilter__dropdown_menu' : ''}>\n <div className=\"EnumFacetFilter__checkboxContainer--forAll\">\n <TextField // Search Filter Text\n sx={{\n display: showSearch ? undefined : 'none',\n }}\n size={'small'}\n fullWidth={true}\n slotProps={{\n input: {\n startAdornment: (\n <Tooltip title={'Close search'}>\n <IconButton\n size={'small'}\n onClick={() => {\n setShowSearch(false)\n setToggleShowAll(defaultShowAllValues)\n }}\n >\n <IconSvg\n sx={{ fontSize: 'inherit' }}\n wrap={false}\n icon=\"arrowBack\"\n />\n </IconButton>\n </Tooltip>\n ),\n endAdornment: searchTerm.length > 0 && (\n <Tooltip title={'Clear'}>\n <IconButton\n size={'small'}\n onClick={() => {\n setSearchText('')\n textInput.current?.focus()\n }}\n >\n <IconSvg\n sx={{ fontSize: 'inherit' }}\n wrap={false}\n icon=\"close\"\n />\n </IconButton>\n </Tooltip>\n ),\n },\n }}\n type=\"text\"\n placeholder=\"Find values\"\n value={searchTerm}\n ref={textInput}\n onChange={e => {\n setSearchText(e.target.value)\n }}\n />\n {!showSearch && (\n <div className=\"EnumFacetFilter__checkAll\">\n <FormControlLabel\n control={<Checkbox />}\n className=\"EnumFacetFilter__checkbox\"\n onChange={() => {\n if (filterIsActive) {\n onRemoveAllFacetSelections()\n }\n }}\n key=\"select_all\"\n checked={!filterIsActive}\n label=\"All\"\n />\n <Tooltip title={'Search'}>\n <IconButton\n size={'small'}\n sx={{ aspectRatio: '1 / 1' }}\n onClick={() => {\n setSearchText('')\n setShowSearch(true)\n textInput.current?.focus()\n }}\n >\n <IconSvg\n sx={{ fontSize: 'inherit' }}\n wrap={false}\n icon=\"search\"\n />\n </IconButton>\n </Tooltip>\n </div>\n )}\n </div>\n <div>\n {facetValuesToShow.map((facetValueAndCount, index: number) => {\n const { isSelected, displayText, value, count } = facetValueAndCount\n\n return (\n <EnumFacetFilterOption\n key={String(value)}\n id={[\n removeWhitespace(facetTitle),\n removeWhitespace(String(value)),\n index,\n ].join('-')}\n label={displayText}\n count={count}\n isDropdown={isDropdown}\n checked={isSelected}\n onHover={() => {\n onHoverOverValue(value)\n }}\n onChange={(newIsSelected: boolean) => {\n if (newIsSelected) {\n onAddValueToSelection(value)\n } else {\n onRemoveValueFromSelection(value)\n }\n }}\n inputType={canMultiSelect ? 'checkbox' : 'radio'}\n />\n )\n })}\n {!isDropdown && (\n <>\n {showMoreButtonIsVisible && (\n <button\n className=\"EnumFacetFilter__showMoreFacetsBtn\"\n onClick={() => setToggleShowAll(true)}\n >\n <div className=\"EnumFacetFilter__checkboxContainer\">\n <div className=\"EnumFacetFilter__showMoreFacetsLabel\">\n Show all ({facetValues.length})\n </div>\n </div>\n </button>\n )}\n {showLessButtonIsVisible && (\n <button\n className=\"EnumFacetFilter__showMoreFacetsBtn\"\n onClick={() => setToggleShowAll(false)}\n >\n <div className=\"EnumFacetFilter__checkboxContainer\">\n <div className=\"EnumFacetFilter__showMoreFacetsLabel\">\n Show less\n </div>\n </div>\n </button>\n )}\n </>\n )}\n {facetValuesToShow.length <= 0 && (\n <div className=\"EnumFacetFilter__noMatch\">No match found</div>\n )}\n </div>\n </div>\n )\n\n const menuText = useMemo(() => {\n if (!filterIsActive) {\n return 'All'\n } else if (\n filterIsActive &&\n facetValuesToShow.filter(item => item.isSelected).length === 1\n ) {\n return facetValuesToShow.filter(item => item.isSelected)[0].displayText\n } else {\n return 'Multiple Values Selected'\n }\n }, [filterIsActive, facetValuesToShow])\n\n if (isDropdown) {\n return (\n <EnumFacetFilterDropdown\n facetTitle={facetTitle}\n dropdownType={dropdownType}\n menuText={menuText}\n filterIsActive={filterIsActive}\n labelId={labelId}\n >\n {content}\n </EnumFacetFilterDropdown>\n )\n } else {\n return (\n <>\n <FacetFilterHeader\n hideCollapsible={hideCollapsible}\n isCollapsed={isCollapsed}\n label={facetTitle}\n onClick={(isCollapsed: boolean) => setIsCollapsed(isCollapsed)}\n />\n <Collapse className=\"EnumFacetFilter\" in={!isCollapsed}>\n {content}\n </Collapse>\n </>\n )\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { CurationTask } from '@sage-bionetworks/synapse-client';
|
|
2
|
+
export type CreateOrUpdateCurationTaskDialogProps = {
|
|
3
|
+
open: boolean;
|
|
4
|
+
onCancel: () => void;
|
|
5
|
+
onSuccess: (task: CurationTask) => void;
|
|
6
|
+
projectId: string;
|
|
7
|
+
task?: CurationTask;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Dialog component that guides a user through creating a new CurationTask or editing an existing one.
|
|
11
|
+
*/
|
|
12
|
+
export default function CreateOrUpdateCurationTaskDialog(props: CreateOrUpdateCurationTaskDialogProps): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
//# sourceMappingURL=CreateOrUpdateCurationTaskDialog.d.ts.map
|
package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CreateOrUpdateCurationTaskDialog.d.ts","sourceRoot":"","sources":["../../../../../src/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.tsx"],"names":[],"mappings":"AAgCA,OAAO,EACL,YAAY,EAKb,MAAM,kCAAkC,CAAA;AAmCzC,MAAM,MAAM,qCAAqC,GAAG;IAClD,IAAI,EAAE,OAAO,CAAA;IACb,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,SAAS,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAA;IACvC,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,YAAY,CAAA;CACpB,CAAA;AAsBD;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,gCAAgC,CACtD,KAAK,EAAE,qCAAqC,2CAwgB7C"}
|
|
@@ -0,0 +1,398 @@
|
|
|
1
|
+
import { EntityTypeGroup as e } from "../../../../utils/functions/EntityTypeUtils.js";
|
|
2
|
+
import { DialogBase as t } from "../../../../components/DialogBase.js";
|
|
3
|
+
import n from "../../../../components/TextField/TextField.js";
|
|
4
|
+
import "../../../../components/TextField/index.js";
|
|
5
|
+
import r from "../../../../components/UserOrTeamBadge/UserOrTeamBadge.js";
|
|
6
|
+
import i from "../../../../components/UserSearchBox/UserSearchBox.js";
|
|
7
|
+
import { VersionSelectionType as a } from "../../../../components/EntityFinder/VersionSelectionType.js";
|
|
8
|
+
import { FinderScope as o } from "../../../../components/EntityFinder/tree/EntityTree.js";
|
|
9
|
+
import s from "../../../../components/WizardChoiceButton/WizardChoiceButton.js";
|
|
10
|
+
import ee from "../../../../components/WizardChoiceButton/WizardChoiceButtonGroup.js";
|
|
11
|
+
import { useCreateCurationTask as te, useUpdateCurationTask as ne } from "../../../../synapse-queries/curation/task/useCurationTask.js";
|
|
12
|
+
import { ASSIGNEE_TOOLTIP as re, AUTH_MODE_NONE_TITLE as ie, AUTH_MODE_NONE_TOOLTIP as ae, AUTH_MODE_SESSION_OWNER_TITLE as oe, AUTH_MODE_SESSION_OWNER_TOOLTIP as se, AUTH_MODE_SOURCE_BENEFACTOR_TITLE as ce, AUTH_MODE_SOURCE_BENEFACTOR_TOOLTIP as le, COLLABORATORS_TOOLTIP as ue, CREATE_CURATION_TASK_DIALOG_TITLE as de, EDIT_CURATION_TASK_DIALOG_TITLE as fe, FILE_BASED_FILE_VIEW_INPUT_DESCRIPTION as pe, FILE_BASED_TASK_DESCRIPTION as me, FILE_BASED_TASK_TITLE as he, FILE_BASED_UPLOAD_FOLDER_INPUT_DESCRIPTION as ge, FILE_VIEW_FINDER_PROMPT as _e, FILE_VIEW_FINDER_TITLE as ve, RECORD_BASED_RECORD_SET_INPUT_DESCRIPTION as ye, RECORD_BASED_TASK_DESCRIPTION as be, RECORD_BASED_TASK_TITLE as xe, RECORD_SET_FINDER_PROMPT as Se, RECORD_SET_FINDER_TITLE as Ce, SELECT_TASK_TYPE_DESCRIPTION as we, TASK_INSTRUCTIONS_INPUT_DESCRIPTION as Te, TASK_NAME_INPUT_DESCRIPTION as Ee, UPLOAD_FOLDER_FINDER_PROMPT as De, UPLOAD_FOLDER_FINDER_TITLE as Oe } from "../utils/constants.js";
|
|
13
|
+
import c from "../../../../components/EntityFinder/EntityIdTextField.js";
|
|
14
|
+
import { useState as l } from "react";
|
|
15
|
+
import { Alert as u, Box as d, Button as f, FormControl as ke, FormControlLabel as p, FormLabel as Ae, Grid as m, IconButton as je, InputLabel as h, Radio as g, RadioGroup as Me, Stack as _, Tooltip as v, Typography as y } from "@mui/material";
|
|
16
|
+
import { Fragment as b, jsx as x, jsxs as S } from "react/jsx-runtime";
|
|
17
|
+
import { TYPE_FILTER as C } from "@sage-bionetworks/synapse-types";
|
|
18
|
+
import { EntityType as w, FileBasedMetadataTaskPropertiesConcreteTypeEnum as T, RecordBasedMetadataTaskPropertiesConcreteTypeEnum as E } from "@sage-bionetworks/synapse-client";
|
|
19
|
+
import { HelpTwoTone as D } from "@mui/icons-material";
|
|
20
|
+
import Ne from "@mui/icons-material/Close";
|
|
21
|
+
//#region src/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.tsx
|
|
22
|
+
var O = T.org_sagebionetworks_repo_model_curation_metadata_FileBasedMetadataTaskProperties, k = E.org_sagebionetworks_repo_model_curation_metadata_RecordBasedMetadataTaskProperties;
|
|
23
|
+
function Pe(e) {
|
|
24
|
+
return e === "SESSION_OWNER" || e === "SOURCE_BENEFACTOR" ? e : "NONE";
|
|
25
|
+
}
|
|
26
|
+
function A(T) {
|
|
27
|
+
let { open: E, onCancel: A, onSuccess: j, projectId: Fe, task: M } = T, N = M !== void 0, [P, F] = l(() => M ? "COMMON_MUTABLE_FIELDS" : "SELECT_TYPE"), [I, L] = l(() => {
|
|
28
|
+
let e = M?.taskProperties?.concreteType;
|
|
29
|
+
return e === O || e === k ? e : null;
|
|
30
|
+
}), [R, Ie] = l(() => M?.dataType ?? ""), [z, Le] = l(() => M?.instructions ?? ""), [B, Re] = l(() => M?.assigneePrincipalId), V = Pe(M?.taskProperties?.suggestedAuthorizationMode), [H, ze] = l(V), [Be] = l(V), [U, Ve] = l(() => {
|
|
31
|
+
let e = M?.taskProperties;
|
|
32
|
+
return e?.concreteType === O ? e.uploadFolderId ?? "" : "";
|
|
33
|
+
}), [W, He] = l(() => {
|
|
34
|
+
let e = M?.taskProperties;
|
|
35
|
+
return e?.concreteType === O ? e.fileViewId ?? "" : "";
|
|
36
|
+
}), [G, Ue] = l(() => {
|
|
37
|
+
let e = M?.taskProperties;
|
|
38
|
+
return e?.concreteType === k ? e.recordSetId ?? "" : "";
|
|
39
|
+
}), [K, q] = l(() => M?.taskProperties?.collaboratorPrincipalIds ?? []), [J, Y] = l(null), { mutate: We, isPending: Ge, error: Ke } = te({ onSuccess: (e) => {
|
|
40
|
+
j(e);
|
|
41
|
+
} }), { mutate: qe, isPending: Je, error: Ye } = ne({ onSuccess: (e) => {
|
|
42
|
+
j(e);
|
|
43
|
+
} }), X = Ge || Je, Z = Ke ?? Ye, Xe = I === O && U && W || I === k && G;
|
|
44
|
+
function Ze() {
|
|
45
|
+
let e = H === "NONE" ? void 0 : H, t = I, n, r = K.length > 0 ? K : void 0;
|
|
46
|
+
return n = t === O ? {
|
|
47
|
+
concreteType: O,
|
|
48
|
+
uploadFolderId: U || void 0,
|
|
49
|
+
fileViewId: W || void 0,
|
|
50
|
+
suggestedAuthorizationMode: e,
|
|
51
|
+
collaboratorPrincipalIds: r
|
|
52
|
+
} : {
|
|
53
|
+
concreteType: k,
|
|
54
|
+
recordSetId: G || void 0,
|
|
55
|
+
suggestedAuthorizationMode: e,
|
|
56
|
+
collaboratorPrincipalIds: r
|
|
57
|
+
}, {
|
|
58
|
+
...N ? M : {},
|
|
59
|
+
projectId: Fe,
|
|
60
|
+
dataType: R || void 0,
|
|
61
|
+
instructions: z || void 0,
|
|
62
|
+
assigneePrincipalId: B || void 0,
|
|
63
|
+
taskProperties: n
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
function Qe() {
|
|
67
|
+
let e = Ze();
|
|
68
|
+
N ? qe(e) : We(e);
|
|
69
|
+
}
|
|
70
|
+
let $e = N && H !== Be, et = /* @__PURE__ */ S(ke, { children: [/* @__PURE__ */ x(Ae, { children: "Authorization Mode" }), /* @__PURE__ */ S(Me, {
|
|
71
|
+
value: H,
|
|
72
|
+
onChange: (e, t) => ze(t),
|
|
73
|
+
children: [
|
|
74
|
+
/* @__PURE__ */ x(p, {
|
|
75
|
+
value: "NONE",
|
|
76
|
+
control: /* @__PURE__ */ x(g, {}),
|
|
77
|
+
label: /* @__PURE__ */ S(d, {
|
|
78
|
+
sx: {
|
|
79
|
+
display: "flex",
|
|
80
|
+
alignItems: "center",
|
|
81
|
+
gap: .5
|
|
82
|
+
},
|
|
83
|
+
children: [/* @__PURE__ */ x(y, {
|
|
84
|
+
variant: "body1",
|
|
85
|
+
children: ie
|
|
86
|
+
}), /* @__PURE__ */ x(v, {
|
|
87
|
+
title: ae,
|
|
88
|
+
children: /* @__PURE__ */ x(D, { sx: { color: "grey.700" } })
|
|
89
|
+
})]
|
|
90
|
+
})
|
|
91
|
+
}),
|
|
92
|
+
/* @__PURE__ */ x(p, {
|
|
93
|
+
value: "SESSION_OWNER",
|
|
94
|
+
control: /* @__PURE__ */ x(g, {}),
|
|
95
|
+
label: /* @__PURE__ */ S(d, {
|
|
96
|
+
sx: {
|
|
97
|
+
display: "flex",
|
|
98
|
+
alignItems: "center",
|
|
99
|
+
gap: .5
|
|
100
|
+
},
|
|
101
|
+
children: [/* @__PURE__ */ x(y, {
|
|
102
|
+
variant: "body1",
|
|
103
|
+
children: oe
|
|
104
|
+
}), /* @__PURE__ */ x(v, {
|
|
105
|
+
title: se,
|
|
106
|
+
children: /* @__PURE__ */ x(D, { sx: { color: "grey.700" } })
|
|
107
|
+
})]
|
|
108
|
+
})
|
|
109
|
+
}),
|
|
110
|
+
/* @__PURE__ */ x(p, {
|
|
111
|
+
value: "SOURCE_BENEFACTOR",
|
|
112
|
+
control: /* @__PURE__ */ x(g, {}),
|
|
113
|
+
label: /* @__PURE__ */ S(d, {
|
|
114
|
+
sx: {
|
|
115
|
+
display: "flex",
|
|
116
|
+
alignItems: "center",
|
|
117
|
+
gap: .5
|
|
118
|
+
},
|
|
119
|
+
children: [/* @__PURE__ */ x(y, {
|
|
120
|
+
variant: "body1",
|
|
121
|
+
children: ce
|
|
122
|
+
}), /* @__PURE__ */ x(v, {
|
|
123
|
+
title: le,
|
|
124
|
+
children: /* @__PURE__ */ x(D, { sx: { color: "grey.700" } })
|
|
125
|
+
})]
|
|
126
|
+
})
|
|
127
|
+
})
|
|
128
|
+
]
|
|
129
|
+
})] }), tt = /* @__PURE__ */ S(d, { children: [/* @__PURE__ */ S(d, {
|
|
130
|
+
sx: {
|
|
131
|
+
display: "flex",
|
|
132
|
+
alignItems: "center",
|
|
133
|
+
gap: .5
|
|
134
|
+
},
|
|
135
|
+
children: [/* @__PURE__ */ x(h, {
|
|
136
|
+
htmlFor: "dlg-set-task-assignee",
|
|
137
|
+
children: "Assignee"
|
|
138
|
+
}), /* @__PURE__ */ x(v, {
|
|
139
|
+
title: re,
|
|
140
|
+
children: /* @__PURE__ */ x("div", { children: /* @__PURE__ */ x(D, { sx: { color: "grey.700" } }) })
|
|
141
|
+
})]
|
|
142
|
+
}), /* @__PURE__ */ x(i, {
|
|
143
|
+
inputId: "dlg-set-task-assignee",
|
|
144
|
+
defaultValue: B,
|
|
145
|
+
onChange: (e) => Re(e ?? void 0),
|
|
146
|
+
typeFilter: C.ALL
|
|
147
|
+
}, E.toString())] }), nt = /* @__PURE__ */ S(_, {
|
|
148
|
+
gap: 2,
|
|
149
|
+
children: [
|
|
150
|
+
/* @__PURE__ */ x(n, {
|
|
151
|
+
label: "Task Name",
|
|
152
|
+
fullWidth: !0,
|
|
153
|
+
value: R,
|
|
154
|
+
onChange: (e) => Ie(e.target.value),
|
|
155
|
+
required: !0,
|
|
156
|
+
description: Ee
|
|
157
|
+
}),
|
|
158
|
+
/* @__PURE__ */ x(n, {
|
|
159
|
+
label: "Instructions",
|
|
160
|
+
fullWidth: !0,
|
|
161
|
+
multiline: !0,
|
|
162
|
+
minRows: 3,
|
|
163
|
+
value: z,
|
|
164
|
+
onChange: (e) => Le(e.target.value),
|
|
165
|
+
description: Te
|
|
166
|
+
}),
|
|
167
|
+
/* @__PURE__ */ S(d, {
|
|
168
|
+
display: "none",
|
|
169
|
+
children: [/* @__PURE__ */ S(d, {
|
|
170
|
+
sx: {
|
|
171
|
+
display: "flex",
|
|
172
|
+
alignItems: "center",
|
|
173
|
+
gap: .5
|
|
174
|
+
},
|
|
175
|
+
children: [/* @__PURE__ */ x(h, { children: "Collaborators" }), /* @__PURE__ */ x(v, {
|
|
176
|
+
title: ue,
|
|
177
|
+
children: /* @__PURE__ */ x("div", { children: /* @__PURE__ */ x(D, { sx: { color: "grey.700" } }) })
|
|
178
|
+
})]
|
|
179
|
+
}), /* @__PURE__ */ S(_, {
|
|
180
|
+
gap: 1,
|
|
181
|
+
children: [/* @__PURE__ */ S(_, {
|
|
182
|
+
direction: "row",
|
|
183
|
+
gap: 1,
|
|
184
|
+
alignItems: "center",
|
|
185
|
+
children: [/* @__PURE__ */ x(d, {
|
|
186
|
+
flex: 1,
|
|
187
|
+
children: /* @__PURE__ */ x(i, {
|
|
188
|
+
value: J,
|
|
189
|
+
onChange: (e) => Y(e),
|
|
190
|
+
typeFilter: C.ALL,
|
|
191
|
+
placeholder: "Search for a user or team"
|
|
192
|
+
})
|
|
193
|
+
}), /* @__PURE__ */ x(f, {
|
|
194
|
+
variant: "outlined",
|
|
195
|
+
onClick: () => {
|
|
196
|
+
J && !K.includes(J) && q((e) => [...e, J]), Y(null);
|
|
197
|
+
},
|
|
198
|
+
disabled: !J,
|
|
199
|
+
children: "Add"
|
|
200
|
+
})]
|
|
201
|
+
}), K.map((e) => /* @__PURE__ */ S(_, {
|
|
202
|
+
direction: "row",
|
|
203
|
+
alignItems: "center",
|
|
204
|
+
justifyContent: "space-between",
|
|
205
|
+
children: [/* @__PURE__ */ x(r, { principalId: e }), /* @__PURE__ */ x(je, {
|
|
206
|
+
size: "small",
|
|
207
|
+
onClick: () => q((t) => t.filter((t) => t !== e)),
|
|
208
|
+
children: /* @__PURE__ */ x(Ne, { fontSize: "small" })
|
|
209
|
+
})]
|
|
210
|
+
}, e))]
|
|
211
|
+
})]
|
|
212
|
+
})
|
|
213
|
+
]
|
|
214
|
+
}), rt = /* @__PURE__ */ S(_, {
|
|
215
|
+
gap: 2,
|
|
216
|
+
children: [/* @__PURE__ */ x(c, {
|
|
217
|
+
label: "Upload Folder ID",
|
|
218
|
+
value: U,
|
|
219
|
+
description: ge,
|
|
220
|
+
onChange: Ve,
|
|
221
|
+
disabled: N,
|
|
222
|
+
entityFinderModalProps: {
|
|
223
|
+
title: Oe,
|
|
224
|
+
promptCopy: De,
|
|
225
|
+
confirmButtonCopy: "Select",
|
|
226
|
+
configuration: {
|
|
227
|
+
initialScope: o.ALL_PROJECTS,
|
|
228
|
+
initialContainer: "root",
|
|
229
|
+
selectMultiple: !1,
|
|
230
|
+
treeOnly: !1,
|
|
231
|
+
versionSelection: a.DISALLOWED,
|
|
232
|
+
selectableTypes: e.CONTAINER
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
}), /* @__PURE__ */ x(c, {
|
|
236
|
+
label: "File View ID",
|
|
237
|
+
value: W,
|
|
238
|
+
description: pe,
|
|
239
|
+
onChange: He,
|
|
240
|
+
disabled: N,
|
|
241
|
+
entityFinderModalProps: {
|
|
242
|
+
title: ve,
|
|
243
|
+
promptCopy: _e,
|
|
244
|
+
confirmButtonCopy: "Select",
|
|
245
|
+
configuration: {
|
|
246
|
+
initialScope: o.ALL_PROJECTS,
|
|
247
|
+
initialContainer: "root",
|
|
248
|
+
selectMultiple: !1,
|
|
249
|
+
treeOnly: !1,
|
|
250
|
+
versionSelection: a.DISALLOWED,
|
|
251
|
+
selectableTypes: [w.entityview]
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
})]
|
|
255
|
+
}), it = /* @__PURE__ */ x(c, {
|
|
256
|
+
label: "Record Set ID",
|
|
257
|
+
value: G,
|
|
258
|
+
description: ye,
|
|
259
|
+
onChange: Ue,
|
|
260
|
+
disabled: N,
|
|
261
|
+
entityFinderModalProps: {
|
|
262
|
+
title: Ce,
|
|
263
|
+
promptCopy: Se,
|
|
264
|
+
confirmButtonCopy: "Select",
|
|
265
|
+
configuration: {
|
|
266
|
+
initialScope: o.ALL_PROJECTS,
|
|
267
|
+
initialContainer: "root",
|
|
268
|
+
selectMultiple: !1,
|
|
269
|
+
treeOnly: !1,
|
|
270
|
+
versionSelection: a.DISALLOWED,
|
|
271
|
+
selectableTypes: [w.recordset]
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
}), at = /* @__PURE__ */ S(_, {
|
|
275
|
+
gap: 2,
|
|
276
|
+
children: [/* @__PURE__ */ x(y, {
|
|
277
|
+
variant: "body1",
|
|
278
|
+
children: we
|
|
279
|
+
}), /* @__PURE__ */ S(ee, { children: [/* @__PURE__ */ x(s, {
|
|
280
|
+
title: he,
|
|
281
|
+
description: me,
|
|
282
|
+
onClick: () => {
|
|
283
|
+
L(O), F("TYPE_SPECIFIC_FIELDS");
|
|
284
|
+
}
|
|
285
|
+
}), /* @__PURE__ */ x(s, {
|
|
286
|
+
title: xe,
|
|
287
|
+
description: be,
|
|
288
|
+
onClick: () => {
|
|
289
|
+
L(k), F("TYPE_SPECIFIC_FIELDS");
|
|
290
|
+
}
|
|
291
|
+
})] })]
|
|
292
|
+
}), ot = /* @__PURE__ */ S(_, {
|
|
293
|
+
gap: 2,
|
|
294
|
+
children: [I === O && rt, I === k && it]
|
|
295
|
+
}), st = /* @__PURE__ */ S(_, {
|
|
296
|
+
gap: 3,
|
|
297
|
+
children: [
|
|
298
|
+
/* @__PURE__ */ S(m, {
|
|
299
|
+
container: !0,
|
|
300
|
+
spacing: 3,
|
|
301
|
+
alignItems: "flex-start",
|
|
302
|
+
children: [/* @__PURE__ */ x(m, {
|
|
303
|
+
size: {
|
|
304
|
+
xs: 12,
|
|
305
|
+
sm: 6
|
|
306
|
+
},
|
|
307
|
+
children: /* @__PURE__ */ x(_, {
|
|
308
|
+
gap: 2,
|
|
309
|
+
children: nt
|
|
310
|
+
})
|
|
311
|
+
}), /* @__PURE__ */ x(m, {
|
|
312
|
+
size: {
|
|
313
|
+
xs: 12,
|
|
314
|
+
sm: 6
|
|
315
|
+
},
|
|
316
|
+
children: /* @__PURE__ */ S(_, {
|
|
317
|
+
gap: 3,
|
|
318
|
+
children: [tt, et]
|
|
319
|
+
})
|
|
320
|
+
})]
|
|
321
|
+
}),
|
|
322
|
+
N && I === null && /* @__PURE__ */ x(u, {
|
|
323
|
+
severity: "error",
|
|
324
|
+
children: "This task has an unrecognized task type and cannot be edited here."
|
|
325
|
+
}),
|
|
326
|
+
$e && /* @__PURE__ */ x(u, {
|
|
327
|
+
severity: "warning",
|
|
328
|
+
children: "Changing the Authorization Mode will clear the active session ID on this task. Any in-progress grid session linked to this task will no longer be associated with it."
|
|
329
|
+
}),
|
|
330
|
+
Z && /* @__PURE__ */ x(u, {
|
|
331
|
+
severity: "error",
|
|
332
|
+
children: Z.reason ?? "An error occurred. Please try again."
|
|
333
|
+
})
|
|
334
|
+
]
|
|
335
|
+
}), ct = N ? fe : de, Q = null;
|
|
336
|
+
switch (P) {
|
|
337
|
+
case "SELECT_TYPE":
|
|
338
|
+
Q = at;
|
|
339
|
+
break;
|
|
340
|
+
case "TYPE_SPECIFIC_FIELDS":
|
|
341
|
+
Q = ot;
|
|
342
|
+
break;
|
|
343
|
+
case "COMMON_MUTABLE_FIELDS":
|
|
344
|
+
Q = st;
|
|
345
|
+
break;
|
|
346
|
+
}
|
|
347
|
+
let $ = null;
|
|
348
|
+
switch (P) {
|
|
349
|
+
case "SELECT_TYPE":
|
|
350
|
+
$ = null;
|
|
351
|
+
break;
|
|
352
|
+
case "TYPE_SPECIFIC_FIELDS":
|
|
353
|
+
$ = /* @__PURE__ */ S(b, { children: [/* @__PURE__ */ x(f, {
|
|
354
|
+
variant: "outlined",
|
|
355
|
+
onClick: () => F("SELECT_TYPE"),
|
|
356
|
+
disabled: X,
|
|
357
|
+
children: "Back"
|
|
358
|
+
}), /* @__PURE__ */ x(f, {
|
|
359
|
+
variant: "contained",
|
|
360
|
+
onClick: () => F("COMMON_MUTABLE_FIELDS"),
|
|
361
|
+
disabled: X || !Xe,
|
|
362
|
+
children: "Next"
|
|
363
|
+
})] });
|
|
364
|
+
break;
|
|
365
|
+
case "COMMON_MUTABLE_FIELDS":
|
|
366
|
+
$ = /* @__PURE__ */ S(b, { children: [!N && /* @__PURE__ */ x(f, {
|
|
367
|
+
variant: "outlined",
|
|
368
|
+
onClick: () => F("TYPE_SPECIFIC_FIELDS"),
|
|
369
|
+
disabled: X,
|
|
370
|
+
children: "Back"
|
|
371
|
+
}), /* @__PURE__ */ x(f, {
|
|
372
|
+
variant: "contained",
|
|
373
|
+
onClick: Qe,
|
|
374
|
+
disabled: X || I === null,
|
|
375
|
+
children: "Save"
|
|
376
|
+
})] });
|
|
377
|
+
break;
|
|
378
|
+
}
|
|
379
|
+
return /* @__PURE__ */ x(t, {
|
|
380
|
+
open: E,
|
|
381
|
+
title: ct,
|
|
382
|
+
maxWidth: "md",
|
|
383
|
+
fullWidth: !0,
|
|
384
|
+
onCancel: A,
|
|
385
|
+
content: Q,
|
|
386
|
+
actions: /* @__PURE__ */ x(_, {
|
|
387
|
+
direction: "row",
|
|
388
|
+
gap: 1,
|
|
389
|
+
justifyContent: "flex-end",
|
|
390
|
+
width: "100%",
|
|
391
|
+
children: $
|
|
392
|
+
})
|
|
393
|
+
});
|
|
394
|
+
}
|
|
395
|
+
//#endregion
|
|
396
|
+
export { A as default };
|
|
397
|
+
|
|
398
|
+
//# sourceMappingURL=CreateOrUpdateCurationTaskDialog.js.map
|