diff --git a/docs/xflow/api.md b/docs/xflow/api.md index 109773399..b8ce064a6 100644 --- a/docs/xflow/api.md +++ b/docs/xflow/api.md @@ -117,6 +117,7 @@ Handle 配置继承自 React Flow 的 Handle 配置,用于控制节点连接 | 属性 | 描述 | 类型 | 默认值 | | --------- | ------------------- | ----------------------------- | ------ | +| enable | 是否启用日志面板,设置为`false`时全局禁用日志面板 | `boolean` | true | | logList | 日志面板数据 | Array<[TLogListItem](#tloglistitem)>| | | loading | 日志面板loading效果 | `boolean` | false | | logWidget | 自定义日志面板展示 | `string` | | diff --git a/docs/xflow/log.md b/docs/xflow/log.md index a1622e885..06802a331 100644 --- a/docs/xflow/log.md +++ b/docs/xflow/log.md @@ -59,7 +59,7 @@ group: ## 节点日志面板 -点击有状态的节点,会出现两个面板,左边为节点配置面板,右边为节点日志面板。 +点击有状态的节点,会出现两个面板,左边为节点配置面板,右边为节点日志面板。如果不想使用日志面板,可以设置`logPanel.enable`属性为`false`关闭全局日志面板,默认会开启日志面板。 日志面板全局配置参数如下: ```js @@ -70,6 +70,7 @@ group: loading, // 日志面板loading logWidget:'CustomLogPanel'// 自定义日志面板 tabsProps,// 日志面板,详情和追踪选项卡切换组件,antd的tabs配置透传 + enable: true, // 是否启用日志面板,默认为true,设置为false时全局禁用日志面板 }} ``` ### 内置节点日志面板 diff --git a/packages/x-flow/src/XFlow.tsx b/packages/x-flow/src/XFlow.tsx index d36f4354f..c6cf8984f 100644 --- a/packages/x-flow/src/XFlow.tsx +++ b/packages/x-flow/src/XFlow.tsx @@ -87,7 +87,7 @@ const XFlow: FC = memo(props => { ); const { record } = useTemporalStore(); const [activeNode, setActiveNode] = useState(null); - const { settingMap, globalConfig, readOnly } = useContext(ConfigContext); + const { settingMap, globalConfig, readOnly, logPanel } = useContext(ConfigContext); const [openPanel, setOpenPanel] = useState(true); const [openLogPanel, setOpenLogPanel] = useState(true); const { @@ -520,7 +520,7 @@ const XFlow: FC = memo(props => { {NodeEditorWrap} )} - {isTruthy(activeNode?._status) && openLogPanel && ( + {isTruthy(activeNode?._status) && openLogPanel && Boolean(logPanel?.enable ?? true) && ( = (props: IPanelProps) => { const titleText = activeNode.data?.title; const descText = activeNode.data?.desc; - + const { nodePanel, iconSvg, showTestingBtn } = nodeSetting; const SVGWidget = widgets[nodeSetting?.iconSvg] const hideDesc = nodePanel?.hideDesc ?? globalConfig?.nodePanel?.hideDesc ?? false; - const isShowStatusPanel = Boolean(isTruthy(node?._status) && openLogPanel); + const isEnableLogPanel = Boolean(logPanel?.enable ?? true); + const isShowStatusPanel = isEnableLogPanel && Boolean(isTruthy(node?._status) && openLogPanel); const offsetRightStatus = isNumber(logPanel?.width) ? Number(logPanel?.width + 10) : 410; - + const handleTitleChange = (e: React.ChangeEvent) => { handleNodeValueChange({ title: e.target.value }); }; diff --git a/packages/x-flow/src/types.ts b/packages/x-flow/src/types.ts index 542870237..60a91f2af 100644 --- a/packages/x-flow/src/types.ts +++ b/packages/x-flow/src/types.ts @@ -108,6 +108,7 @@ export interface TLogPanel { width?: number;// 日志面板宽度 tabsProps?: TabPaneProps;// 内置日志面板,详情和追踪选项卡切换组件,antd的tabs配置透传 detailLogWidget?: string;// 自定义详情日志面板组件 + enable?: boolean;// 是否启用日志面板,默认为true } export interface TNodeView {