2
0

🐛 Fix edge dropping on condition block when all conditions ar…

This commit is contained in:
Baptiste Arnaud
2024-03-29 07:55:17 +01:00
parent 37204f578a
commit 1566f010f7
2 changed files with 14 additions and 2 deletions

View File

@ -12,6 +12,7 @@ import { Draft, produce } from 'immer'
import { byId, isDefined } from '@typebot.io/lib'
import { blockHasItems } from '@typebot.io/schemas/helpers'
import { createId } from '@paralleldrive/cuid2'
import { InputBlockType } from '@typebot.io/schemas/features/blocks/inputs/constants'
export type EdgesActions = {
createEdge: (edge: Omit<Edge, 'id'>) => void
@ -67,7 +68,11 @@ export const edgesAction = (setTypebot: SetTypebot): EdgesActions => ({
const areAllItemsConnected = (block as BlockWithItems).items.every(
(item) => isDefined(item.outgoingEdgeId)
)
if (areAllItemsConnected) {
if (
areAllItemsConnected &&
(block.type === InputBlockType.CHOICE ||
block.type === InputBlockType.PICTURE_CHOICE)
) {
deleteEdgeDraft({
typebot,
edgeId: block.outgoingEdgeId,

View File

@ -12,6 +12,7 @@ import { ConnectingIds } from '../../types'
import { useEventsCoordinates } from '../../providers/EventsCoordinateProvider'
import { eventWidth, groupWidth } from '../../constants'
import { useGroupsStore } from '../../hooks/useGroupsStore'
import { omit } from '@typebot.io/lib'
type Props = {
connectingIds: ConnectingIds
@ -113,7 +114,13 @@ export const DrawingEdge = ({ connectingIds }: Props) => {
const createNewEdge = (connectingIds: ConnectingIds) => {
assert(connectingIds.target)
createEdge({ from: connectingIds.source, to: connectingIds.target })
createEdge({
from:
'groupId' in connectingIds.source
? omit(connectingIds.source, 'groupId')
: connectingIds.source,
to: connectingIds.target,
})
}
if (mousePosition && mousePosition.x === 0 && mousePosition.y === 0)