Merge pull request #2420 from automatisch/AUT-1492
feat: disable moving flow to a folder
This commit is contained in:
@@ -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"
|
||||||
|
|||||||
@@ -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",
|
||||||
|
|||||||
Reference in New Issue
Block a user