feat: add Variables component to flow (#1839)

This commit is contained in:
Dreammy23
2024-08-19 10:42:43 +08:00
committed by GitHub
3 changed files with 30 additions and 1 deletions

View File

@@ -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} />;

View File

@@ -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';

View 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);
}}
/>
);
};