1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
| import { useTranslation } from 'react-i18next'
| import { useStore } from '@/app/components/workflow/store'
| import PromptEditor from '@/app/components/base/prompt-editor'
| import { BlockEnum } from '@/app/components/workflow/types'
| import type {
| Node,
| } from '@/app/components/workflow/types'
|
| type ConditionInputProps = {
| disabled?: boolean
| value: string
| onChange: (value: string) => void
| availableNodes: Node[]
| }
| const ConditionInput = ({
| value,
| onChange,
| disabled,
| availableNodes,
| }: ConditionInputProps) => {
| const { t } = useTranslation()
| const controlPromptEditorRerenderKey = useStore(s => s.controlPromptEditorRerenderKey)
|
| return (
| <PromptEditor
| key={controlPromptEditorRerenderKey}
| compact
| value={value}
| placeholder={t('workflow.nodes.ifElse.enterValue') || ''}
| workflowVariableBlock={{
| show: true,
| variables: [],
| workflowNodesMap: availableNodes.reduce((acc, node) => {
| acc[node.id] = {
| title: node.data.title,
| type: node.data.type,
| }
| if (node.data.type === BlockEnum.Start) {
| acc.sys = {
| title: t('workflow.blocks.start'),
| type: BlockEnum.Start,
| }
| }
| return acc
| }, {} as any),
| }}
| onChange={onChange}
| editable={!disabled}
| />
| )
| }
|
| export default ConditionInput
|
|