Commit 4d4d3bb9 authored by Joel's avatar Joel

feat: add default values and utils and fix ts

parent 3d526b3a
...@@ -5,9 +5,9 @@ import { memo } from 'react' ...@@ -5,9 +5,9 @@ import { memo } from 'react'
import Workflow from '@/app/components/workflow' import Workflow from '@/app/components/workflow'
import { BlockEnum } from '@/app/components/workflow/types' import { BlockEnum } from '@/app/components/workflow/types'
const nodes = [ const nodes = [
BlockEnum.VariableAssigner/* 11 */, BlockEnum.Start/* 1 */, BlockEnum.DirectAnswer/* 2 */, BlockEnum.LLM/* 3 */, BlockEnum.KnowledgeRetrieval/* 4 */, BlockEnum.QuestionClassifier/* 5 */, BlockEnum.Start/* 1 */, BlockEnum.DirectAnswer/* 2 */, BlockEnum.LLM/* 3 */, BlockEnum.KnowledgeRetrieval/* 4 */, BlockEnum.QuestionClassifier/* 5 */,
BlockEnum.IfElse/* 6 */, BlockEnum.Code/* 7 */, BlockEnum.TemplateTransform/* 8 */, BlockEnum.HttpRequest/* 9 */, BlockEnum.Tool/* 10 */, BlockEnum.IfElse/* 6 */, BlockEnum.Code/* 7 */, BlockEnum.TemplateTransform/* 8 */, BlockEnum.HttpRequest/* 9 */, BlockEnum.Tool/* 10 */,
BlockEnum.End/* 12 */, BlockEnum.VariableAssigner/* 11 */, BlockEnum.End/* 12 */,
].map((item, i) => ({ ].map((item, i) => ({
id: `${i + 1}`, id: `${i + 1}`,
type: 'custom', type: 'custom',
......
...@@ -25,7 +25,7 @@ import ToolPanel from './tool/panel' ...@@ -25,7 +25,7 @@ import ToolPanel from './tool/panel'
import VariableAssignerNode from './variable-assigner/node' import VariableAssignerNode from './variable-assigner/node'
import VariableAssignerPanel from './variable-assigner/panel' import VariableAssignerPanel from './variable-assigner/panel'
export const NodeComponentMap: Record<string, ComponentType> = { export const NodeComponentMap: Record<string, ComponentType<any>> = {
[BlockEnum.Start]: StartNode, [BlockEnum.Start]: StartNode,
[BlockEnum.End]: EndNode, [BlockEnum.End]: EndNode,
[BlockEnum.DirectAnswer]: DirectAnswerNode, [BlockEnum.DirectAnswer]: DirectAnswerNode,
......
import { memo } from 'react' import type { FC } from 'react'
import { useTranslation } from 'react-i18next' import { useTranslation } from 'react-i18next'
import type { NodeProps } from 'reactflow' import type { NodeProps } from 'reactflow'
import { NodeSourceHandle } from '../_base/components/node-handle' import { NodeSourceHandle } from '../_base/components/node-handle'
...@@ -14,7 +14,7 @@ const notTranslateKey = [ ...@@ -14,7 +14,7 @@ const notTranslateKey = [
ComparisonOperator.lessThan, ComparisonOperator.lessThanOrEqual, ComparisonOperator.lessThan, ComparisonOperator.lessThanOrEqual,
] ]
const Node = (props: Pick<NodeProps, 'id' | 'data'>) => { const IfElseNode: FC<Pick<NodeProps, 'id' | 'data'>> = (props) => {
const { t } = useTranslation() const { t } = useTranslation()
const { conditions, logical_operator } = mockData const { conditions, logical_operator } = mockData
...@@ -56,4 +56,4 @@ const Node = (props: Pick<NodeProps, 'id' | 'data'>) => { ...@@ -56,4 +56,4 @@ const Node = (props: Pick<NodeProps, 'id' | 'data'>) => {
) )
} }
export default memo(Node) export default IfElseNode
import type { NodeDefault } from '../../types'
import type { VariableAssignerNodeType } from './types'
const nodeDefault: NodeDefault<VariableAssignerNodeType> = {
defaultValue: {},
getAvailablePrevNodes() {
return []
},
getAvailableNextNodes() {
return []
},
}
export default nodeDefault
import type { VariableAssignerNodeType } from './types'
export const checkNodeValid = (node: VariableAssignerNodeType) => {
return true
}
...@@ -101,3 +101,9 @@ export type Block = { ...@@ -101,3 +101,9 @@ export type Block = {
title: string title: string
description?: string description?: string
} }
export type NodeDefault<T> = {
defaultValue: Partial<T>
getAvailablePrevNodes: () => BlockEnum[]
getAvailableNextNodes: () => BlockEnum[]
}
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