Merge pull request #960 from SuanmoSuanyangTechnology/fix/stream_zy

Fix/stream zy
This commit is contained in:
yingzhao
2026-04-21 20:30:25 +08:00
committed by GitHub
6 changed files with 36 additions and 28 deletions

View File

@@ -1,13 +0,0 @@
.page-tabs:global(.ant-segmented) {
padding: 4px;
margin-left: 4px;
}
.page-tabs:global(.ant-segmented .ant-segmented-item-label) {
line-height: 24px;
min-height: 24px;
padding: 0 12px;
}
.page-tabs:global(.ant-segmented .ant-segmented-item-selected) {
box-shadow: 0px 2px 4px 0px rgba(33, 35, 50, 0.16);
}

View File

@@ -1,8 +1,8 @@
/*
* @Author: ZhaoYing
* @Date: 2026-02-02 15:18:50
* @Last Modified by: ZhaoYing
* @Last Modified time: 2026-02-02 15:18:50
* @Last Modified by: ZhaoYing
* @Last Modified time: 2026-04-21 16:36:54
*/
/**
* PageTabs Component
@@ -16,8 +16,6 @@
import { type FC } from 'react';
import { Segmented, type SegmentedProps } from 'antd';
import styles from './index.module.css';
/**
* Page tabs component wrapper for Ant Design Segmented component.
* Applies custom styling via CSS modules.
@@ -27,11 +25,12 @@ const PageTabs: FC<SegmentedProps> = ({
options,
onChange
}) => {
console.log('value', value)
return <Segmented
value={value}
options={options}
onChange={onChange}
className={styles.pageTabs}
className="pageTabs"
/>;
};

View File

@@ -443,4 +443,18 @@ body {
}
.ͼ1.cm-focused {
outline: none;
}
.pageTabs.ant-segmented {
padding: 4px;
margin-left: 4px;
}
.pageTabs.ant-segmented .ant-segmented-item-label {
line-height: 24px;
min-height: 24px;
padding: 0 12px;
}
.pageTabs.ant-segmented .ant-segmented-item-selected {
box-shadow: 0px 2px 4px 0px rgba(33, 35, 50, 0.16);
}

View File

@@ -2,7 +2,7 @@
* @Author: ZhaoYing
* @Date: 2026-02-03 16:26:44
* @Last Modified by: ZhaoYing
* @Last Modified time: 2026-04-21 14:50:21
* @Last Modified time: 2026-04-21 16:29:40
*/
/**
* AI Prompt Assistant Modal
@@ -295,8 +295,12 @@ const AiPromptModal = forwardRef<AiPromptModalRef, AiPromptModalProps>(({
{values?.current_prompt
? <Editor
ref={editorRef}
className="rb:h-[calc(100vh-278px)] rb:bg-white! rb:border-none! rb:p-0!"
onChange={(value) => form.setFieldValue('current_prompt', value)}
className="rb:h-[calc(100vh-278px)] rb:bg-white! rb:border-none! rb:p-0!"
disabled={loading}
onChange={(value) => {
if (loading) return
form.setFieldValue('current_prompt', value)
}}
/>
: <Empty url={analysisEmptyIcon} title={t(`${source}.promptOptimizationEmpty`)} isNeedSubTitle={false} size={[270, 170]} className="rb:h-[calc(100vh-278px)] rb:w-70 rb:mx-auto! rb:text-center! rb:text-[12px]! rb:leading-4!" />
}

View File

@@ -2,7 +2,7 @@
* @Author: ZhaoYing
* @Date: 2026-02-03 17:44:15
* @Last Modified by: ZhaoYing
* @Last Modified time: 2026-04-21 14:24:00
* @Last Modified time: 2026-04-21 16:30:26
*/
/**
* Prompt Editor Component
@@ -287,8 +287,12 @@ const Prompt: FC = () => {
{values?.current_prompt
? <Editor
ref={editorRef}
disabled={loading}
className="rb:h-[calc(100vh-193px)] rb:bg-white! rb:border-none! rb:p-0! rb:text-[#212332] rb:leading-5"
onChange={(value) => form.setFieldValue('current_prompt', value)}
onChange={(value) => {
if (loading) return
form.setFieldValue('current_prompt', value)
}}
/>
: <Empty url={analysisEmptyIcon} title={t(`prompt.promptPlaceholder`)} isNeedSubTitle={false} size={[270, 170]} className="rb:h-[calc(100vh-193px)] rb:mx-auto! rb:text-center! rb:text-[12px]! rb:leading-4!" />
}

View File

@@ -2,7 +2,7 @@
* @Author: ZhaoYing
* @Date: 2026-02-03 15:39:59
* @Last Modified by: ZhaoYing
* @Last Modified time: 2026-04-21 18:44:15
* @Last Modified time: 2026-04-21 20:27:33
*/
import { type FC, useEffect, useState, useMemo } from "react";
import clsx from 'clsx'
@@ -122,6 +122,7 @@ const Properties: FC<PropertiesProps> = ({
useEffect(() => {
if (values && selectedNode) {
const nodeData = selectedNode.getData()
const { id, knowledge_retrieval, group, group_variables, ...rest } = values
const { knowledge_bases = [], name: _name, description: _description, ...restKnowledgeConfig } = (knowledge_retrieval as any) || {}
@@ -134,9 +135,10 @@ const Properties: FC<PropertiesProps> = ({
id: vo.id,
...vo.config
}))
} else if (nodeData.type === 'knowledge-retrieval') {
allRest.knowledge_bases = []
}
const nodeData = selectedNode.getData()
Object.keys(values).forEach(key => {
if (nodeData?.config?.[key]) {
@@ -154,9 +156,7 @@ const Properties: FC<PropertiesProps> = ({
selectedNode?.setData({
...nodeData,
...allRest,
},
// { deep: false }
)
}, { deep: false })
}
}, [values, selectedNode, form])