新版本流程编辑器
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
/**
|
||||
* Copyright (c) 2025 Bytedance Ltd. and/or its affiliates
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
import { Field } from '@flowgram.ai/free-layout-editor';
|
||||
import { DynamicValueInput, PromptEditorWithVariables } from '@flowgram.ai/form-materials';
|
||||
|
||||
import { FormItem } from '../form-item';
|
||||
import { Feedback } from '../feedback';
|
||||
import { JsonSchema } from '../../typings';
|
||||
import { useNodeRenderContext } from '../../hooks';
|
||||
|
||||
export function FormInputs() {
|
||||
const { readonly } = useNodeRenderContext();
|
||||
|
||||
return (
|
||||
<Field<JsonSchema> name="inputs">
|
||||
{({ field: inputsField }) => {
|
||||
const required = inputsField.value?.required || [];
|
||||
const properties = inputsField.value?.properties;
|
||||
if (!properties) {
|
||||
return <></>;
|
||||
}
|
||||
const content = Object.keys(properties).map((key) => {
|
||||
const property = properties[key];
|
||||
|
||||
const formComponent = property.extra?.formComponent;
|
||||
|
||||
const vertical = ['prompt-editor'].includes(formComponent || '');
|
||||
|
||||
return (
|
||||
<Field key={key} name={`inputsValues.${key}`} defaultValue={property.default}>
|
||||
{({ field, fieldState }) => (
|
||||
<FormItem
|
||||
name={key}
|
||||
vertical={vertical}
|
||||
type={property.type as string}
|
||||
required={required.includes(key)}
|
||||
>
|
||||
{formComponent === 'prompt-editor' && (
|
||||
<PromptEditorWithVariables
|
||||
value={field.value}
|
||||
onChange={field.onChange}
|
||||
readonly={readonly}
|
||||
hasError={Object.keys(fieldState?.errors || {}).length > 0}
|
||||
/>
|
||||
)}
|
||||
{!formComponent && (
|
||||
<DynamicValueInput
|
||||
value={field.value}
|
||||
onChange={field.onChange}
|
||||
readonly={readonly}
|
||||
hasError={Object.keys(fieldState?.errors || {}).length > 0}
|
||||
schema={property}
|
||||
/>
|
||||
)}
|
||||
<Feedback errors={fieldState?.errors} warnings={fieldState?.warnings} />
|
||||
</FormItem>
|
||||
)}
|
||||
</Field>
|
||||
);
|
||||
});
|
||||
return <>{content}</>;
|
||||
}}
|
||||
</Field>
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
/**
|
||||
* Copyright (c) 2025 Bytedance Ltd. and/or its affiliates
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
// import styled from 'styled-components';
|
||||
|
||||
// TODO
|
||||
Reference in New Issue
Block a user