diff --git a/web/app/components/workflow/nodes/_base/components/editor/base.tsx b/web/app/components/workflow/nodes/_base/components/editor/base.tsx index dd1ae811de..2f9ca7dfd9 100644 --- a/web/app/components/workflow/nodes/_base/components/editor/base.tsx +++ b/web/app/components/workflow/nodes/_base/components/editor/base.tsx @@ -39,6 +39,7 @@ type Props = { tip?: React.JSX.Element nodesOutputVars?: NodeOutPutVar[] availableNodes?: Node[] + footer?: React.ReactNode } const Base: FC = ({ @@ -57,6 +58,7 @@ const Base: FC = ({ showFileList, showCodeGenerator = false, tip, + footer, }) => { const ref = useRef(null) const { @@ -128,6 +130,7 @@ const Base: FC = ({ {showFileList && fileList.length > 0 && ( )} + {footer} ) diff --git a/web/app/components/workflow/nodes/_base/components/editor/code-editor/index.tsx b/web/app/components/workflow/nodes/_base/components/editor/code-editor/index.tsx index 36e47a6bfe..691e079b4e 100644 --- a/web/app/components/workflow/nodes/_base/components/editor/code-editor/index.tsx +++ b/web/app/components/workflow/nodes/_base/components/editor/code-editor/index.tsx @@ -39,6 +39,7 @@ export type Props = { showCodeGenerator?: boolean className?: string tip?: React.JSX.Element + footer?: React.ReactNode } export const languageMap = { @@ -67,6 +68,7 @@ const CodeEditor: FC = ({ showCodeGenerator = false, className, tip, + footer, }) => { const [isFocus, setIsFocus] = React.useState(false) const [isMounted, setIsMounted] = React.useState(false) @@ -191,6 +193,7 @@ const CodeEditor: FC = ({ showFileList={showFileList} showCodeGenerator={showCodeGenerator} tip={tip} + footer={footer} > {main} diff --git a/web/app/components/workflow/run/result-panel.tsx b/web/app/components/workflow/run/result-panel.tsx index 14260e646b..618e1efc50 100644 --- a/web/app/components/workflow/run/result-panel.tsx +++ b/web/app/components/workflow/run/result-panel.tsx @@ -16,6 +16,7 @@ import { IterationLogTrigger } from '@/app/components/workflow/run/iteration-log import { LoopLogTrigger } from '@/app/components/workflow/run/loop-log' import { RetryLogTrigger } from '@/app/components/workflow/run/retry-log' import { AgentLogTrigger } from '@/app/components/workflow/run/agent-log' +import LargeDataAlert from '../variable-inspect/large-data-alert' export type ResultPanelProps = { nodeInfo?: NodeTracing @@ -118,6 +119,7 @@ const ResultPanel: FC = ({ language={CodeLanguage.json} value={inputs} isJSONStringifyBeauty + footer={} /> {process_data && ( = ({ value={outputs} isJSONStringifyBeauty tip={} + footer={} /> )} diff --git a/web/app/components/workflow/variable-inspect/large-data-alert.tsx b/web/app/components/workflow/variable-inspect/large-data-alert.tsx index 1e820c0c15..35b3648154 100644 --- a/web/app/components/workflow/variable-inspect/large-data-alert.tsx +++ b/web/app/components/workflow/variable-inspect/large-data-alert.tsx @@ -6,24 +6,25 @@ import cn from '@/utils/classnames' import { useTranslation } from 'react-i18next' type Props = { + textHasNoExport?: boolean downloadUrl?: string className?: string } const LargeDataAlert: FC = ({ + textHasNoExport, downloadUrl, className, }) => { const { t } = useTranslation() - const isShowDownload = !!downloadUrl - const text = isShowDownload ? t('workflow.debug.variableInspect.largeDataNoExport') : t('workflow.debug.variableInspect.largeData') + const text = textHasNoExport ? t('workflow.debug.variableInspect.largeDataNoExport') : t('workflow.debug.variableInspect.largeData') return (
{text}
- {isShowDownload && ( + {downloadUrl && (
{t('workflow.debug.variableInspect.export')}
)}