Merge pull request #2420 from automatisch/AUT-1492

feat: disable moving flow to a folder
This commit is contained in:
Ali BARIN
2025-04-24 10:35:53 +02:00
committed by GitHub
2 changed files with 13 additions and 1 deletions

View File

@@ -13,6 +13,7 @@ import IconButton from '@mui/material/IconButton';
import CloseIcon from '@mui/icons-material/Close'; import CloseIcon from '@mui/icons-material/Close';
import * as React from 'react'; import * as React from 'react';
import useFlow from 'hooks/useFlow';
import useFolders from 'hooks/useFolders'; import useFolders from 'hooks/useFolders';
import useFormatMessage from 'hooks/useFormatMessage'; import useFormatMessage from 'hooks/useFormatMessage';
import useFlowFolder from 'hooks/useFlowFolder'; import useFlowFolder from 'hooks/useFlowFolder';
@@ -25,6 +26,8 @@ function FlowFolderChangeDialog(props) {
const { data: folders, isLoading: isFoldersLoading } = useFolders(); const { data: folders, isLoading: isFoldersLoading } = useFolders();
const { data: flowFolder, isLoading: isFlowFolderLoading } = const { data: flowFolder, isLoading: isFlowFolderLoading } =
useFlowFolder(flowId); useFlowFolder(flowId);
const { data: flowData, isPending: isFlowPending } = useFlow(flowId);
const flow = flowData?.data;
const [selectedFolder, setSelectedFolder] = React.useState(null); const [selectedFolder, setSelectedFolder] = React.useState(null);
@@ -88,7 +91,8 @@ function FlowFolderChangeDialog(props) {
isOptionEqualToValue={(option, value) => option.id === value.id} isOptionEqualToValue={(option, value) => option.id === value.id}
getOptionLabel={(option) => option.name} getOptionLabel={(option) => option.name}
loading={isFoldersLoading || isFlowFolderLoading} loading={isFoldersLoading || isFlowFolderLoading}
disabled={isFoldersLoading || isFlowFolderLoading} disabled={isFoldersLoading || isFlowFolderLoading || isFlowPending}
readOnly={!flow?.isOwner}
renderInput={(params) => ( renderInput={(params) => (
<TextField <TextField
{...params} {...params}
@@ -116,11 +120,18 @@ function FlowFolderChangeDialog(props) {
onClick={handleConfirm} onClick={handleConfirm}
data-test="flow-folder-change-dialog-confirm-button" data-test="flow-folder-change-dialog-confirm-button"
loading={isUpdateFlowFolderPending} loading={isUpdateFlowFolderPending}
disabled={!flow?.isOwner}
> >
{formatMessage('flowFolderChangeDialog.confirm')} {formatMessage('flowFolderChangeDialog.confirm')}
</LoadingButton> </LoadingButton>
</DialogActions> </DialogActions>
{!flow?.isOwner && (
<Alert severity="info">
{formatMessage('flowFolder.cannotMoveFlow')}
</Alert>
)}
{createUpdateFlowFolderError && ( {createUpdateFlowFolderError && (
<Alert <Alert
data-test="flow-folder-change-dialog-error-alert" data-test="flow-folder-change-dialog-error-alert"

View File

@@ -372,6 +372,7 @@
"flowFolderChangeDialog.uncategorizedFolder": "Uncategorized", "flowFolderChangeDialog.uncategorizedFolder": "Uncategorized",
"flowFolderChangeDialog.successfullyUpdatedFolder": "The flow has been successfully moved to the new folder!", "flowFolderChangeDialog.successfullyUpdatedFolder": "The flow has been successfully moved to the new folder!",
"flowFolder.uncategorized": "Uncategorized", "flowFolder.uncategorized": "Uncategorized",
"flowFolder.cannotMoveFlow": "A flow can only be moved to a folder by the flow owner.",
"footer.docsLinkText": "Documentation", "footer.docsLinkText": "Documentation",
"footer.tosLinkText": "Terms of Service", "footer.tosLinkText": "Terms of Service",
"footer.privacyPolicyLinkText": "Privacy", "footer.privacyPolicyLinkText": "Privacy",