Only allow deleting branches when branches are enabled (#13889)

## When filtering is enabled


https://github.com/user-attachments/assets/820e0a3a-265d-490d-9bd2-6d1bce9900a6

## When filtering is disabled


https://github.com/user-attachments/assets/cfc6cf9f-f66b-402a-8db9-9e8a34de6feb
This commit is contained in:
Baptiste Devessier
2025-08-13 09:19:46 +00:00
committed by GitHub
parent 8570f1ce03
commit 98e1a325a8
2 changed files with 26 additions and 9 deletions
@@ -14,6 +14,7 @@ import { useStartNodeCreation } from '@/workflow/workflow-diagram/hooks/useStart
import { type WorkflowDiagramEdge } from '@/workflow/workflow-diagram/types/WorkflowDiagram';
import { useCreateStep } from '@/workflow/workflow-steps/hooks/useCreateStep';
import { useDeleteEdge } from '@/workflow/workflow-steps/hooks/useDeleteEdge';
import { useIsFeatureEnabled } from '@/workspace/hooks/useIsFeatureEnabled';
import {
EdgeLabelRenderer,
type EdgeProps,
@@ -23,6 +24,7 @@ import { type MouseEvent, useContext } from 'react';
import { useSetRecoilState } from 'recoil';
import { isDefined } from 'twenty-shared/utils';
import { IconFilter, IconPlus, IconTrash } from 'twenty-ui/display';
import { FeatureFlagKey } from '~/generated/graphql';
type WorkflowDiagramDefaultEdgeEditableProps = EdgeProps<WorkflowDiagramEdge>;
@@ -37,6 +39,10 @@ export const WorkflowDiagramDefaultEdgeEditable = ({
markerStart,
markerEnd,
}: WorkflowDiagramDefaultEdgeEditableProps) => {
const isWorkflowBranchEnabled = useIsFeatureEnabled(
FeatureFlagKey.IS_WORKFLOW_BRANCH_ENABLED,
);
const { isInRightDrawer } = useContext(ActionMenuContext);
const { isEdgeHovered } = useEdgeHovered();
@@ -135,10 +141,14 @@ export const WorkflowDiagramDefaultEdgeEditable = ({
Icon: IconPlus,
onClick: handleNodeButtonClick,
},
{
Icon: IconTrash,
onClick: handleDeleteBranch,
},
...(isWorkflowBranchEnabled
? [
{
Icon: IconTrash,
onClick: handleDeleteBranch,
},
]
: []),
]}
selected={nodeCreationStarted}
/>
@@ -28,6 +28,7 @@ import {
import { getWorkflowDiagramNodeSelectedColors } from '@/workflow/workflow-diagram/utils/getWorkflowDiagramNodeSelectedColors';
import { useDeleteEdge } from '@/workflow/workflow-steps/hooks/useDeleteEdge';
import { useDeleteStep } from '@/workflow/workflow-steps/hooks/useDeleteStep';
import { useIsFeatureEnabled } from '@/workspace/hooks/useIsFeatureEnabled';
import { css } from '@emotion/react';
import styled from '@emotion/styled';
import { useLingui } from '@lingui/react/macro';
@@ -48,6 +49,7 @@ import {
} from 'twenty-ui/display';
import { IconButtonGroup } from 'twenty-ui/input';
import { MenuItem } from 'twenty-ui/navigation';
import { FeatureFlagKey } from '~/generated/graphql';
type WorkflowDiagramFilterEdgeEditableProps = EdgeProps<WorkflowDiagramEdge>;
@@ -94,6 +96,9 @@ export const WorkflowDiagramFilterEdgeEditable = ({
assertFilterEdgeDataOrThrow(data);
const { t } = useLingui();
const isWorkflowBranchEnabled = useIsFeatureEnabled(
FeatureFlagKey.IS_WORKFLOW_BRANCH_ENABLED,
);
const [edgePath, labelX, labelY] = getBezierPath({
sourceX,
@@ -271,11 +276,13 @@ export const WorkflowDiagramFilterEdgeEditable = ({
LeftIcon={IconPlus}
onClick={handleAddNodeButtonClick}
/>
<MenuItem
text={t`Delete branch`}
LeftIcon={IconTrash}
onClick={handleDeleteBranchClick}
/>
{isWorkflowBranchEnabled && (
<MenuItem
text={t`Delete branch`}
LeftIcon={IconTrash}
onClick={handleDeleteBranchClick}
/>
)}
</DropdownMenuItemsContainer>
</DropdownContent>
}