mirror of https://github.com/langgenius/dify.git
multiple edge
This commit is contained in:
parent
4837ae4958
commit
2094a554f6
|
|
@ -33,13 +33,13 @@ const initialNodes = [
|
|||
id: '3',
|
||||
type: 'custom',
|
||||
position: { x: 738, y: 130 },
|
||||
data: { type: 'llm', sortIndexInBranches: 0 },
|
||||
data: { type: 'question-classifier', sortIndexInBranches: 0 },
|
||||
},
|
||||
{
|
||||
id: '4',
|
||||
type: 'custom',
|
||||
position: { x: 738, y: 330 },
|
||||
data: { type: 'llm', sortIndexInBranches: 1 },
|
||||
data: { type: 'variable-assigner', sortIndexInBranches: 1 },
|
||||
},
|
||||
// {
|
||||
// id: '5',
|
||||
|
|
|
|||
|
|
@ -106,6 +106,7 @@ export const useWorkflow = () => {
|
|||
|
||||
filtered.push({
|
||||
id: `${source}-${target}`,
|
||||
type: 'custom',
|
||||
source: source!,
|
||||
target: target!,
|
||||
sourceHandle,
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ const CustomNode = memo((props: NodeProps) => {
|
|||
<NodeComponent />
|
||||
</BaseNode>
|
||||
{
|
||||
nodeData.type !== BlockEnum.IfElse && (
|
||||
nodeData.type !== BlockEnum.IfElse && nodeData.type !== BlockEnum.QuestionClassifier && (
|
||||
<NodeSourceHandle
|
||||
{ ...props }
|
||||
handleClassName='!top-[17px] !-right-2'
|
||||
|
|
|
|||
|
|
@ -1,13 +1,15 @@
|
|||
import type { FC } from 'react'
|
||||
import { useState } from 'react'
|
||||
import type { NodeProps } from 'reactflow'
|
||||
import InfoPanel from '../_base/components/info-panel'
|
||||
import { NodeSourceHandle } from '../_base/components/node-handle'
|
||||
import { mockData } from './mock'
|
||||
import {
|
||||
useTextGenerationCurrentProviderAndModelAndModelList,
|
||||
} from '@/app/components/header/account-setting/model-provider-page/hooks'
|
||||
import ModelSelector from '@/app/components/header/account-setting/model-provider-page/model-selector'
|
||||
|
||||
const Node: FC = () => {
|
||||
const Node: FC<Pick<NodeProps, 'id' | 'data'>> = (props) => {
|
||||
const { provider, name: modelId } = mockData.model
|
||||
const tempTopics = mockData.topics
|
||||
const [topics, setTopics] = useState(tempTopics)
|
||||
|
|
@ -23,11 +25,20 @@ const Node: FC = () => {
|
|||
/>
|
||||
<div className='mt-2 space-y-0.5'>
|
||||
{topics.map(topic => (
|
||||
<InfoPanel
|
||||
<div
|
||||
key={topic.id}
|
||||
title={topic.name}
|
||||
content={topic.topic}
|
||||
/>
|
||||
className='relative'
|
||||
>
|
||||
<InfoPanel
|
||||
title={topic.name}
|
||||
content={topic.topic}
|
||||
/>
|
||||
<NodeSourceHandle
|
||||
{...props}
|
||||
handleId={topic.name}
|
||||
handleClassName='!top-[11px] !-right-[21px]'
|
||||
/>
|
||||
</div>
|
||||
))}
|
||||
{/* For test */}
|
||||
<div
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
import type { FC } from 'react'
|
||||
import { useState } from 'react'
|
||||
import type { NodeProps } from 'reactflow'
|
||||
import { useTranslation } from 'react-i18next'
|
||||
import { NodeTargetHandle } from '../_base/components/node-handle'
|
||||
import { mockData } from './mock'
|
||||
import { getNodeInfoById } from '@/app/components/workflow/nodes/_base/components/variable/var-reference-picker'
|
||||
import { VarBlockIcon } from '@/app/components/workflow/block-icon'
|
||||
|
|
@ -8,7 +10,7 @@ import { Line3 } from '@/app/components/base/icons/src/public/common'
|
|||
import { Variable02 } from '@/app/components/base/icons/src/vender/solid/development'
|
||||
const i18nPrefix = 'workflow.nodes.variableAssigner'
|
||||
|
||||
const Node: FC = () => {
|
||||
const Node: FC<Pick<NodeProps, 'id' | 'data'>> = (props) => {
|
||||
const { t } = useTranslation()
|
||||
const { variables: tempVar, output_type } = mockData
|
||||
const [variables, setVariables] = useState(tempVar)
|
||||
|
|
@ -35,7 +37,12 @@ const Node: FC = () => {
|
|||
const node = getNodeInfoById(item[0])
|
||||
const varName = item[item.length - 1]
|
||||
return (
|
||||
<div key={index} className='flex items-center h-6 bg-gray-100 rounded-md px-1 text-xs font-normal text-gray-700' >
|
||||
<div key={index} className='relative flex items-center h-6 bg-gray-100 rounded-md px-1 text-xs font-normal text-gray-700' >
|
||||
<NodeTargetHandle
|
||||
{...props}
|
||||
handleId={varName}
|
||||
handleClassName='!top-1 !-left-[21px]'
|
||||
/>
|
||||
<div className='flex items-center'>
|
||||
<div className='p-[1px]'>
|
||||
<VarBlockIcon
|
||||
|
|
|
|||
Loading…
Reference in New Issue