diff --git a/web/app/i18n.ts b/web/app/i18n.ts index 1ecde2e6c..a03216c55 100644 --- a/web/app/i18n.ts +++ b/web/app/i18n.ts @@ -2,6 +2,9 @@ import i18n from 'i18next'; import { initReactI18next } from 'react-i18next'; const en = { + UploadData: 'Upload Data', + CodeEditor: 'Code Editor:', + openCodeEditor:'Open Code Editor', Knowledge_Space: 'Knowledge', space: 'space', Vector: 'Vector', @@ -234,6 +237,9 @@ export interface Resources { } const zh: Resources['translation'] = { + UploadData: '上传数据', + CodeEditor: '代码编辑:', + openCodeEditor: '打开代码编辑器', Knowledge_Space: '知识库', space: '知识库', Vector: '向量', diff --git a/web/components/flow/node-param-handler.tsx b/web/components/flow/node-param-handler.tsx index 2eadffe08..31357d5ad 100644 --- a/web/components/flow/node-param-handler.tsx +++ b/web/components/flow/node-param-handler.tsx @@ -18,9 +18,6 @@ import { RenderUpload, RenderCodeEditor, } from './node-renderer'; -import MonacoEditor from '@/components/chat/monaco-editor' -// C:\Users\Administrator\Desktop\ai\DB-GPT\web\components\chat\monaco-editor.tsx -import { convertKeysToCamelCase } from '@/utils/flow'; interface NodeParamHandlerProps { node: IFlowNode; diff --git a/web/components/flow/node-renderer/codeEditor.tsx b/web/components/flow/node-renderer/codeEditor.tsx index 3aeeb9b6b..03586f25c 100644 --- a/web/components/flow/node-renderer/codeEditor.tsx +++ b/web/components/flow/node-renderer/codeEditor.tsx @@ -2,6 +2,8 @@ import React, { useState, useMemo } from 'react'; import { Button, Modal } from 'antd'; import Editor from '@monaco-editor/react'; import { IFlowNodeParameter } from '@/types/flow'; +import { convertKeysToCamelCase } from '@/utils/flow'; +import { useTranslation } from 'react-i18next'; type Props = { data: IFlowNodeParameter; @@ -10,6 +12,8 @@ type Props = { }; export const RenderCodeEditor = (params: Props) => { + const { t } = useTranslation(); + const { data, defaultValue, onChange } = params; const attr = convertKeysToCamelCase(data.ui?.attr || {}); @@ -35,14 +39,12 @@ export const RenderCodeEditor = (params: Props) => { return '80%'; }, [data?.ui?.editor?.width]); - - return (
- + { height={data?.ui?.editor?.height || 200} defaultLanguage={data?.ui?.language} onChange={onChange} - theme='vs-dark' // 编辑器主题颜色 + theme='vs-dark' options={{ minimap: { enabled: false, diff --git a/web/components/flow/node-renderer/upload.tsx b/web/components/flow/node-renderer/upload.tsx index 1658cd68f..35e1ddd75 100644 --- a/web/components/flow/node-renderer/upload.tsx +++ b/web/components/flow/node-renderer/upload.tsx @@ -3,6 +3,8 @@ import { UploadOutlined } from '@ant-design/icons'; import type { UploadProps } from 'antd'; import { Button, message, Upload } from 'antd'; import { convertKeysToCamelCase } from '@/utils/flow'; +import { IFlowNodeParameter } from '@/types/flow'; +import { useTranslation } from 'react-i18next'; const props: UploadProps = { name: 'file', @@ -10,31 +12,29 @@ const props: UploadProps = { headers: { authorization: 'authorization-text', }, - onChange(info) { - if (info.file.status !== 'uploading') { - console.log(info.file, info.fileList); - } - if (info.file.status === 'done') { - message.success(`${info.file.name} file uploaded successfully`); - } else if (info.file.status === 'error') { - message.error(`${info.file.name} file upload failed.`); - } - }, }; -export const RenderUpload: React.FC = (params) => ( - const { data, defaultValue, onChange } = params; +type Props = { + data: IFlowNodeParameter; + defaultValue: any; + onChange: (value: any) => void; +}; -const attr = convertKeysToCamelCase(data.ui?.attr || {}); +export const RenderUpload = (params: Props) => { + const { t } = useTranslation(); -return ( -
- - - -
-) - + const { data, defaultValue, onChange } = params; -); + const attr = convertKeysToCamelCase(data.ui?.attr || {}); + + return ( +
+ + + +
+ ) + + +} diff --git a/web/utils/request.ts b/web/utils/request.ts index 10e38d27f..8a490bfb5 100644 --- a/web/utils/request.ts +++ b/web/utils/request.ts @@ -1,9 +1,6 @@ import { message } from 'antd'; import axios from './ctx-axios'; import { isPlainObject } from 'lodash'; -import 'codemirror/lib/codemirror.css'; -import 'codemirror/theme/material.css'; // 引入你喜欢的主题 -import 'codemirror/mode/javascript/javascript'; // 引入JavaScript语言模式 const DEFAULT_HEADERS = { 'content-type': 'application/json', };