mirror of
https://git.mirrors.martin98.com/https://github.com/infiniflow/ragflow.git
synced 2025-08-16 00:05:56 +08:00
### What problem does this PR solve? Feat: Limit the iteration start node to only be the source node #4242 ### Type of change - [x] New Feature (non-breaking change which adds functionality)
This commit is contained in:
parent
f948c0d9f1
commit
146e8bb793
@ -1093,6 +1093,9 @@ This delimiter is used to split the input text into several text pieces echo of
|
|||||||
minus: 'Minus',
|
minus: 'Minus',
|
||||||
semicolon: 'Semicolon',
|
semicolon: 'Semicolon',
|
||||||
},
|
},
|
||||||
|
addVariable: 'Add variable',
|
||||||
|
variableSettings: 'Variable settings',
|
||||||
|
globalVariables: 'Global variables',
|
||||||
},
|
},
|
||||||
footer: {
|
footer: {
|
||||||
profile: 'All rights reserved @ React',
|
profile: 'All rights reserved @ React',
|
||||||
|
@ -1030,6 +1030,8 @@ export default {
|
|||||||
minus: '減號',
|
minus: '減號',
|
||||||
semicolon: '分號',
|
semicolon: '分號',
|
||||||
},
|
},
|
||||||
|
addVariable: '新增變數',
|
||||||
|
variableSettings: '變數設定',
|
||||||
},
|
},
|
||||||
footer: {
|
footer: {
|
||||||
profile: '“保留所有權利 @ react”',
|
profile: '“保留所有權利 @ react”',
|
||||||
|
@ -1074,6 +1074,8 @@ export default {
|
|||||||
minus: '减号',
|
minus: '减号',
|
||||||
semicolon: '分号',
|
semicolon: '分号',
|
||||||
},
|
},
|
||||||
|
addVariable: '新增变量',
|
||||||
|
variableSettings: '变量设置',
|
||||||
},
|
},
|
||||||
footer: {
|
footer: {
|
||||||
profile: 'All rights reserved @ React',
|
profile: 'All rights reserved @ React',
|
||||||
|
@ -44,8 +44,6 @@ export function ButtonEdge({
|
|||||||
};
|
};
|
||||||
|
|
||||||
// highlight the nodes that the workflow passes through
|
// highlight the nodes that the workflow passes through
|
||||||
// const queryClient = useQueryClient();
|
|
||||||
// const flowDetail = queryClient.getQueryData<IFlow>(['flowDetail']);
|
|
||||||
const { data: flowDetail } = useFetchFlow();
|
const { data: flowDetail } = useFetchFlow();
|
||||||
|
|
||||||
const graphPath = useMemo(() => {
|
const graphPath = useMemo(() => {
|
||||||
|
@ -109,6 +109,7 @@ export function IterationStartNode({
|
|||||||
isConnectable={isConnectable}
|
isConnectable={isConnectable}
|
||||||
className={styles.handle}
|
className={styles.handle}
|
||||||
style={RightHandleStyle}
|
style={RightHandleStyle}
|
||||||
|
isConnectableEnd={false}
|
||||||
></Handle>
|
></Handle>
|
||||||
<div>
|
<div>
|
||||||
<ListRestart className="size-7" />
|
<ListRestart className="size-7" />
|
||||||
|
@ -3,6 +3,7 @@ import { IModalProps } from '@/interfaces/common';
|
|||||||
import { Form, Input, Modal, Select, Switch } from 'antd';
|
import { Form, Input, Modal, Select, Switch } from 'antd';
|
||||||
import { DefaultOptionType } from 'antd/es/select';
|
import { DefaultOptionType } from 'antd/es/select';
|
||||||
import { useEffect, useMemo } from 'react';
|
import { useEffect, useMemo } from 'react';
|
||||||
|
import { useTranslation } from 'react-i18next';
|
||||||
import { BeginQueryType, BeginQueryTypeIconMap } from '../../constant';
|
import { BeginQueryType, BeginQueryTypeIconMap } from '../../constant';
|
||||||
import { BeginQuery } from '../../interface';
|
import { BeginQuery } from '../../interface';
|
||||||
import BeginDynamicOptions from './begin-dynamic-options';
|
import BeginDynamicOptions from './begin-dynamic-options';
|
||||||
@ -16,6 +17,7 @@ export const ModalForm = ({
|
|||||||
initialValue: BeginQuery;
|
initialValue: BeginQuery;
|
||||||
otherThanCurrentQuery: BeginQuery[];
|
otherThanCurrentQuery: BeginQuery[];
|
||||||
}) => {
|
}) => {
|
||||||
|
const { t } = useTranslation();
|
||||||
const [form] = Form.useForm();
|
const [form] = Form.useForm();
|
||||||
const options = useMemo(() => {
|
const options = useMemo(() => {
|
||||||
return Object.values(BeginQueryType).reduce<DefaultOptionType[]>(
|
return Object.values(BeginQueryType).reduce<DefaultOptionType[]>(
|
||||||
@ -56,7 +58,7 @@ export const ModalForm = ({
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<Modal
|
<Modal
|
||||||
title="Begin query"
|
title={t('flow.variableSettings')}
|
||||||
open={visible}
|
open={visible}
|
||||||
onOk={onOk}
|
onOk={onOk}
|
||||||
onCancel={hideModal}
|
onCancel={hideModal}
|
||||||
|
@ -91,7 +91,7 @@ const DynamicVariableForm = ({ node }: IProps) => {
|
|||||||
icon={<PlusOutlined />}
|
icon={<PlusOutlined />}
|
||||||
className={styles.addButton}
|
className={styles.addButton}
|
||||||
>
|
>
|
||||||
{t('flow.addItem')}
|
{t('flow.addVariable')}
|
||||||
</Button>
|
</Button>
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
</>
|
</>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user