x-render / docs /xflow /api.md
AbdulElahGwaith's picture
Upload folder using huggingface_hub
c9d0005 verified
|
Raw
History Blame Contribute Delete
20.3 kB
metadata
order: 1
title: API
mobile: false
group:
  title: API文档
  order: 3

API

XFlow

属性 描述 类型 默认值
initialValues 初始的节点和边数据 {nodes:Array<{id:string;type:string;data:Record<string,any>;position:{x:number;y:number}}>,edges:Array<{id:string;source:string;target:string}>} -
layout 节点布局的方向 LR | TB LR
widgets 自定义组件 Record<string, ReactNode> -
settings 节点配置,定义页面中可拖动的节点配置 ( TNodeGroup | TNodeItem )[ ]
nodeSelector 节点选择器配置,可控制节点的可搜索性 TNodeSelector
iconFontUrl iconfont url,用于配置图标渲染 String
globalConfig 全局的面板和节点配置 {nodePanel:TNodePanel,nodeView:TNodeView,edge:TEdge,controls:TControl,handle:THandle,deleteKeyCode:TdeleteKeyCode }
logPanel 日志面板配置 TLogPanel
onNodeClick 节点点击事件 NodeMouseHandler
onEdgeClick 边点击事件 EdgeMouseHandler
antdVersion antd 的版本 V4 | V5 V5
readOnly 只读模式 boolean false
onTesting 单点调试方法 (node,nodes)=>void
onMenuItemClick 点击节点右上角复制粘贴删除功能, 支持自定义和默认行为 (itemInfo: ItemInfo, defaultAction: () => void) => void -
clickAddNode 自定义添加节点逻辑 (type: string, nodeItem: TNodeItem, addNode: (initData?: Record<string,any>) => void) => void -
zoomOnScroll 是否通过滚动鼠标滚轮来缩放画布 boolean true
panOnScroll 是否通过滚动鼠标滚轮来平移画布 boolean false
preventScrolling 是否阻止浏览器在画布上滚动时的默认行为 boolean true
openColorfulMode 是否开启多彩模式 boolean false

TNodePanel

面板相关配置

属性 描述 类型 默认值
showPanel 是否展示配置面板 boolean true
width 设置配置面板宽度 string | number 400
hideDesc 是否在配置面板中显示节点的描述信息 boolean false
onClose 配置面板关闭事件 (nodeID:string)=>void

TNodeView

节点相关配置

属性 描述 类型 默认值
hideTitleTips 是否隐藏节点标题的tooltip描述信息提示 boolean false
status 节点状态自定义配置,自定义节点不同状态的颜色展示。name:状态名称,color:颜色值。 Array<{name:string;color:string}> []

TEdge

边的全局配置

属性 描述 类型 默认值
hideEdgeAddBtn 是否隐藏两个节点之间,连线上的增加节点按钮 boolean false
hideEdgeDelBtn 是否隐藏两个节点之间,连线上的删除按钮, 需要配合deletable一起使用 boolean false
deletable 配置边是否可用快捷键删除,如果需要同时隐藏删除按钮,则需要设置deletable为true boolean true

TControl

工具栏控制面板功能的配置。

属性 描述 类型 默认值
hideAddNode 是否隐藏增加节点功能 boolean false
hideAnnotate 是否隐藏注释节点功能 boolean false
hideUndoRedoBtns 是否隐藏撤销和重做按钮 boolean false
hideZoomInOutBtns 是否隐藏缩放按钮 boolean false
hideControlBtns 是否隐藏所有控制按钮 boolean false
hideAutoLayout 是否隐藏整理画布功能 boolean false
hideFullscreen 是否隐藏全屏功能 boolean false
hideInteractionMode 是否隐藏指针和手形工具切换功能 boolean false
onAutoLayoutCompleted 整理画布完成后的回调函数,接收整理后的节点数组作为参数,支持异步函数 (nodes: node[]) => void | Promise<void> -

THandle

Handle 配置继承自 React Flow 的 Handle 配置,用于控制节点连接点的行为。更多 Handle 相关的配置可以参考 React Flow Handle API

属性 描述 类型 默认值
isValidConnection 验证连接是否有效,返回 true 则允许连接 (connection: Connection) => boolean -
onConnect 连接建立时的回调 (params: Connection) => void -

TDeleteKeyCode

删除键配置,用于控制删除节点和边的快捷键。

属性 描述 类型 默认值
deleteKeyCode 设置删除节点和边的快捷键,可以是单个键或多个键的数组,设置为 null 则禁用快捷键删除功能 string | string[] | null 'Backspace'

TNodeGroup

节点分组配置

属性 描述 类型 默认值
title 分组名称 string
type 分组类型 _group _group
items 节点配置信息 TNodeItem[]

TLogPanel

日志面板配置

属性 描述 类型 默认值
enable 是否启用日志面板,设置为false时全局禁用日志面板 boolean true
logList 日志面板数据 Array<TLogListItem>
loading 日志面板loading效果 boolean false
logWidget 自定义日志面板展示 string
width 日志面板宽度 number 400
tabsProps 内置日志面板,详情和追踪选项卡切换组件,antd的tabs配置透传 TabsProps
detailLogWidget 内置日志面板详情tab,自定义组件会渲染在code面板下方。组件接收参数为:data(当前日志详情数据)、logList(日志面板数据)、currentStatus(当前节点状态)、logPanel(日志面板配置) string

TLogListItem

日志面板数据格式

属性 描述 类型 默认值
statusPanel 日志面板数据,isBadge是否以badge形式展示状态。非必填,不传statusPanel字段不渲染状态面板。 {status: Array<{ label: string; value?: string; isBadge?: boolean }>;extra?: string | ReactNode}
codePanel 代码面板数据渲染,如果没有 codePanel,则不渲染代码面板。title:代码面板标题,code:代码面板数据 Array<{ title: string; code: string }>
nodeId 节点ID,必填。如果logList中有多个相同的nodeId,会自动合并相同nodeId的statusPanel、codePanel数据,并以数组的形式渲染 string
groupTitle 当有多个相同的nodeId,每个板块的分组名称,不传不渲染。可以传入字符串,或者传入widgets自定义组件名称,自定义渲染组件 string
showDetailLogWidget 是否展示detailLogWidget组件 boolean true
_status 当前log的状态,如果没有,则以data._status为准 string|number

TNodeItem

单个节点配置

属性 描述 类型 默认值
title 节点名称 string
type 节点类型 string
description 节点描述 string
hidden 是否在配置面板中显示节点 boolean false
targetHandleHidden 是否隐藏左侧输入连接头 boolean false
sourceHandleHidden 是否隐藏右侧输出连接头 boolean false
icon 节点的图标配置 {type:string;bgColor:string}
iconSvg 自定义节点图标组件,可支持图标的SVG形式,IMG形式,从全局 widgets 中导入组件 string
className 节点className string
settingSchema 节点的业务配置信息,详见form-render 文档。同时设置settingSchemasettingWidget只生效settingWidget SchemaBase
settingWidget 自定义节点的业务配置组件,在弹窗中展示。同时设置settingSchemasettingWidget只生效settingWidget。定义之后需要在widgets中引入自定义组件。 string
settingWidgetProps 用于向settingWidget自定义组件中传递自定义参数 object
nodeWidget 自定义节点的业务配置信息展示组件,在节点内部展示业务配置信息。定义之后需要在widgets中引入自定义组件。 string
nodePanel 自定义节点的面板配置信息 TNodePanel
switchExtra 条件节点属性配置 TSwitchExtra
parallelExtra 并行节点属性配置 TParallelExtra
showTestingBtn 是否展示节点的单点调试按钮 boolean false
getSettingSchema 动态获取节点的业务配置信息,返回值同settingSchema。同时设置settingSchemagetSettingSchema只生效getSettingSchema (nodeId: string, nodeType: string, nodeItem: TNodeItem, nodeData: any, form: ReturnType<typeof useForm>) => Promise<Schema>
renderHandle 自定义渲染节点的handle,以实现某个节点自定义的出口数量.sourceHandle是原handle组件 (sourceHandle: SourceHandleType,sourceHandleProps:ComponentProps<SourceHandleType>,nodeProps: {id: string;type: string;data: any;layout: 'LR';isConnectable: boolean;readOnly: boolean;}) => React.JSX.Element
disabledShortcutDelete 是否禁用该节点的快捷键删除功能 boolean false
disabledShortcutCopy 是否禁用该节点的快捷键复制功能 boolean false

TNodeSelector

属性 描述 类型 默认值
showSearch 节点是否可被搜索 boolean false
items 节点配置 ( TNodeGroup | TNodeItem )[ ]

TSwitchExtra

属性 描述 类型 默认值
hideElse 隐藏条件节点ELSE分支(默认分支) boolean false
valueKey 自定义节点 value 的字段 string
titleKey 自定义节点 title 的字段 string

TParallelExtra

属性 描述 类型 默认值
valueKey 自定义节点 value 的字段 string
titleKey 自定义节点 title 的字段 string

ItemInfo

属性 描述 类型 默认值
key 节点菜单项的key string
nodeId 节点ID string
sourceHandle 连接头ID string

画布快捷键

快捷键 功能描述
Ctrl/Cmd + C 复制选中节点
Ctrl/Cmd + V 粘贴节点
Delete/Backspace 删除选中节点或边
Ctrl/Cmd + Z 撤销
Ctrl/Cmd + Y 重做