Pārlūkot izejas kodu

Feat: Limit the iteration start node to only be the source node #4242 (#4260)

### 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)
tags/nightly
balibabu pirms 10 mēnešiem
vecāks
revīzija
146e8bb793
Revīzijas autora e-pasta adrese nav piesaistīta nevienam kontam

+ 3
- 0
web/src/locales/en.ts Parādīt failu

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',

+ 2
- 0
web/src/locales/zh-traditional.ts Parādīt failu

minus: '減號', minus: '減號',
semicolon: '分號', semicolon: '分號',
}, },
addVariable: '新增變數',
variableSettings: '變數設定',
}, },
footer: { footer: {
profile: '“保留所有權利 @ react”', profile: '“保留所有權利 @ react”',

+ 2
- 0
web/src/locales/zh.ts Parādīt failu

minus: '减号', minus: '减号',
semicolon: '分号', semicolon: '分号',
}, },
addVariable: '新增变量',
variableSettings: '变量设置',
}, },
footer: { footer: {
profile: 'All rights reserved @ React', profile: 'All rights reserved @ React',

+ 0
- 2
web/src/pages/flow/canvas/edge/index.tsx Parādīt failu

}; };


// 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(() => {

+ 1
- 0
web/src/pages/flow/canvas/node/iteration-node.tsx Parādīt failu

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
- 1
web/src/pages/flow/form/begin-form/paramater-modal.tsx Parādīt failu

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';
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[]>(


return ( return (
<Modal <Modal
title="Begin query"
title={t('flow.variableSettings')}
open={visible} open={visible}
onOk={onOk} onOk={onOk}
onCancel={hideModal} onCancel={hideModal}

+ 1
- 1
web/src/pages/flow/form/components/dynamic-input-variable.tsx Parādīt failu

icon={<PlusOutlined />} icon={<PlusOutlined />}
className={styles.addButton} className={styles.addButton}
> >
{t('flow.addItem')}
{t('flow.addVariable')}
</Button> </Button>
</Form.Item> </Form.Item>
</> </>

Notiek ielāde…
Atcelt
Saglabāt