Commit 97530776 authored by StyleZhang's avatar StyleZhang

fix

parent 22e7393b
...@@ -340,11 +340,12 @@ export const useWorkflow = () => { ...@@ -340,11 +340,12 @@ export const useWorkflow = () => {
return return
const newNodes = produce(nodes, (draft) => { const newNodes = produce(nodes, (draft) => {
draft.forEach(node => node.data.selected = false) draft.forEach((node) => {
const selectedNode = draft.find(node => node.id === nodeId)! if (node.id === nodeId)
node.data.selected = !cancelSelection
if (!cancelSelection && selectedNode) else
selectedNode.data.selected = true node.data.selected = false
})
}) })
setNodes(newNodes) setNodes(newNodes)
handleSyncWorkflowDraft() handleSyncWorkflowDraft()
......
...@@ -5,6 +5,7 @@ import { ...@@ -5,6 +5,7 @@ import {
useMemo, useMemo,
} from 'react' } from 'react'
import useSWR from 'swr' import useSWR from 'swr'
import { setAutoFreeze } from 'immer'
import { useKeyPress } from 'ahooks' import { useKeyPress } from 'ahooks'
import ReactFlow, { import ReactFlow, {
Background, Background,
...@@ -65,6 +66,14 @@ const Workflow: FC<WorkflowProps> = memo(({ ...@@ -65,6 +66,14 @@ const Workflow: FC<WorkflowProps> = memo(({
const showFeaturesPanel = useStore(state => state.showFeaturesPanel) const showFeaturesPanel = useStore(state => state.showFeaturesPanel)
const runningStatus = useStore(s => s.runningStatus) const runningStatus = useStore(s => s.runningStatus)
useEffect(() => {
setAutoFreeze(false)
return () => {
setAutoFreeze(true)
}
}, [])
const { const {
handleSyncWorkflowDraft, handleSyncWorkflowDraft,
......
...@@ -50,7 +50,7 @@ export const NodeTargetHandle = ({ ...@@ -50,7 +50,7 @@ export const NodeTargetHandle = ({
type='target' type='target'
position={Position.Left} position={Position.Left}
className={` className={`
!w-4 !h-4 !bg-transparent !rounded-none !outline-none !border-none !translate-y-0 z-[1] !w-4 !h-4 !bg-transparent !rounded-none !outline-none !border-none z-[1]
after:absolute after:w-0.5 after:h-2 after:left-1.5 after:top-1 after:bg-primary-500 after:absolute after:w-0.5 after:h-2 after:left-1.5 after:top-1 after:bg-primary-500
${!connected && 'after:opacity-0'} ${!connected && 'after:opacity-0'}
${data.type === BlockEnum.Start && 'opacity-0'} ${data.type === BlockEnum.Start && 'opacity-0'}
...@@ -111,7 +111,7 @@ export const NodeSourceHandle = ({ ...@@ -111,7 +111,7 @@ export const NodeSourceHandle = ({
type='source' type='source'
position={Position.Right} position={Position.Right}
className={` className={`
!w-4 !h-4 !bg-transparent !rounded-none !outline-none !border-none !translate-y-0 z-[1] !w-4 !h-4 !bg-transparent !rounded-none !outline-none !border-none z-[1]
after:absolute after:w-0.5 after:h-2 after:right-1.5 after:top-1 after:bg-primary-500 after:absolute after:w-0.5 after:h-2 after:right-1.5 after:top-1 after:bg-primary-500
${!connected && 'after:opacity-0'} ${!connected && 'after:opacity-0'}
${handleClassName} ${handleClassName}
......
...@@ -54,7 +54,7 @@ const BaseNode: FC<BaseNodeProps> = ({ ...@@ -54,7 +54,7 @@ const BaseNode: FC<BaseNodeProps> = ({
<NodeTargetHandle <NodeTargetHandle
id={id} id={id}
data={data} data={data}
handleClassName='!top-4 !-left-[9px]' handleClassName='!top-4 !-left-[9px] !translate-y-0'
handleId='target' handleId='target'
/> />
) )
...@@ -64,7 +64,7 @@ const BaseNode: FC<BaseNodeProps> = ({ ...@@ -64,7 +64,7 @@ const BaseNode: FC<BaseNodeProps> = ({
<NodeSourceHandle <NodeSourceHandle
id={id} id={id}
data={data} data={data}
handleClassName='!top-4 !-right-[9px]' handleClassName='!top-4 !-right-[9px] !translate-y-0'
handleId='source' handleId='source'
/> />
) )
......
...@@ -9,7 +9,7 @@ import { Variable02 } from '@/app/components/base/icons/src/vender/solid/develop ...@@ -9,7 +9,7 @@ import { Variable02 } from '@/app/components/base/icons/src/vender/solid/develop
const i18nPrefix = 'workflow.nodes.ifElse' const i18nPrefix = 'workflow.nodes.ifElse'
const IfElseNode: FC<NodeProps<IfElseNodeType>> = (props) => { const IfElseNode: FC<NodeProps<IfElseNodeType>> = (props) => {
const { id, data } = props const { data } = props
const { t } = useTranslation() const { t } = useTranslation()
const { conditions, logical_operator } = data const { conditions, logical_operator } = data
...@@ -20,7 +20,7 @@ const IfElseNode: FC<NodeProps<IfElseNodeType>> = (props) => { ...@@ -20,7 +20,7 @@ const IfElseNode: FC<NodeProps<IfElseNodeType>> = (props) => {
<NodeSourceHandle <NodeSourceHandle
{...props} {...props}
handleId='true' handleId='true'
handleClassName='!top-1 !-right-[21px]' handleClassName='!top-1/2 !-right-[21px] !-translate-y-1/2'
/> />
</div> </div>
<div className='mb-0.5 leading-4 text-[10px] font-medium text-gray-500 uppercase'>{t(`${i18nPrefix}.conditions`)}</div> <div className='mb-0.5 leading-4 text-[10px] font-medium text-gray-500 uppercase'>{t(`${i18nPrefix}.conditions`)}</div>
...@@ -44,7 +44,7 @@ const IfElseNode: FC<NodeProps<IfElseNodeType>> = (props) => { ...@@ -44,7 +44,7 @@ const IfElseNode: FC<NodeProps<IfElseNodeType>> = (props) => {
<NodeSourceHandle <NodeSourceHandle
{...props} {...props}
handleId='false' handleId='false'
handleClassName='!top-1 !-right-[21px]' handleClassName='!top-1/2 !-right-[21px] !-translate-y-1/2'
/> />
</div> </div>
</div> </div>
......
...@@ -45,7 +45,7 @@ const Node: FC<NodeProps<QuestionClassifierNodeType>> = (props) => { ...@@ -45,7 +45,7 @@ const Node: FC<NodeProps<QuestionClassifierNodeType>> = (props) => {
/> />
<NodeSourceHandle <NodeSourceHandle
{...props} {...props}
handleId={topic.name} handleId={topic.id}
handleClassName='!top-1/2 !-translate-y-1/2 !-right-[21px]' handleClassName='!top-1/2 !-translate-y-1/2 !-right-[21px]'
/> />
</div> </div>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment