mirror of
https://github.com/csunny/DB-GPT.git
synced 2025-09-11 22:09:44 +00:00
feat: add Variables component to flow (#1839)
This commit is contained in:
@@ -18,6 +18,7 @@ import {
|
|||||||
RenderUpload,
|
RenderUpload,
|
||||||
RenderCodeEditor,
|
RenderCodeEditor,
|
||||||
RenderPassword,
|
RenderPassword,
|
||||||
|
RenderVariables,
|
||||||
} from './node-renderer';
|
} from './node-renderer';
|
||||||
|
|
||||||
interface NodeParamHandlerProps {
|
interface NodeParamHandlerProps {
|
||||||
@@ -117,7 +118,7 @@ const NodeParamHandler: React.FC<NodeParamHandlerProps> = ({ node, data, label,
|
|||||||
function renderNodeWithUiParam(data: IFlowNodeParameter) {
|
function renderNodeWithUiParam(data: IFlowNodeParameter) {
|
||||||
let defaultValue = data.value ?? data.default;
|
let defaultValue = data.value ?? data.default;
|
||||||
const props = { data, defaultValue, onChange };
|
const props = { data, defaultValue, onChange };
|
||||||
|
|
||||||
switch (data?.ui?.ui_type) {
|
switch (data?.ui?.ui_type) {
|
||||||
case 'select':
|
case 'select':
|
||||||
return <RenderSelect {...props} />;
|
return <RenderSelect {...props} />;
|
||||||
|
@@ -11,3 +11,4 @@ export * from './tree-select';
|
|||||||
export * from './codeEditor';
|
export * from './codeEditor';
|
||||||
export * from './upload';
|
export * from './upload';
|
||||||
export * from './password';
|
export * from './password';
|
||||||
|
export * from './variables';
|
||||||
|
27
web/components/flow/node-renderer/variables.tsx
Normal file
27
web/components/flow/node-renderer/variables.tsx
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
import { IFlowNodeParameter } from '@/types/flow';
|
||||||
|
import { convertKeysToCamelCase } from '@/utils/flow';
|
||||||
|
import { Input } from 'antd';
|
||||||
|
|
||||||
|
type Props = {
|
||||||
|
data: IFlowNodeParameter;
|
||||||
|
defaultValue: any;
|
||||||
|
onChange: (value: any) => void;
|
||||||
|
};
|
||||||
|
|
||||||
|
export const RenderVariables = (params: Props) => {
|
||||||
|
const { data, defaultValue, onChange } = params;
|
||||||
|
const attr = convertKeysToCamelCase(data.ui?.attr || {});
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Input
|
||||||
|
{...attr}
|
||||||
|
className="w-full"
|
||||||
|
placeholder="please input"
|
||||||
|
defaultValue={defaultValue}
|
||||||
|
allowClear
|
||||||
|
onChange={(e) => {
|
||||||
|
onChange(e.target.value);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
);
|
||||||
|
};
|
Reference in New Issue
Block a user