diff --git a/package.json b/package.json index d58ef876..ca9335af 100644 --- a/package.json +++ b/package.json @@ -47,6 +47,7 @@ "overlayscrollbars": "^2.10.0", "overlayscrollbars-react": "^0.5.6", "query-string": "^9.0.0", + "rc-virtual-list": "^3.14.8", "react": "^18.2.0", "react-dom": "^18.2.0", "react-hotkeys-hook": "^4.5.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index dd4d0034..27737ef2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -104,6 +104,9 @@ dependencies: query-string: specifier: ^9.0.0 version: 9.0.0 + rc-virtual-list: + specifier: ^3.14.8 + version: 3.14.8(react-dom@18.2.0)(react@18.2.0) react: specifier: ^18.2.0 version: 18.2.0 @@ -15258,7 +15261,7 @@ packages: rc-overflow: 1.3.2(react-dom@18.2.0)(react@18.2.0) rc-trigger: 5.3.4(react-dom@18.2.0)(react@18.2.0) rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) - rc-virtual-list: 3.14.5(react-dom@18.2.0)(react@18.2.0) + rc-virtual-list: 3.14.8(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false @@ -15276,7 +15279,7 @@ packages: rc-motion: 2.9.2(react-dom@18.2.0)(react@18.2.0) rc-overflow: 1.3.2(react-dom@18.2.0)(react@18.2.0) rc-util: 5.43.0(react-dom@18.2.0)(react@18.2.0) - rc-virtual-list: 3.14.5(react-dom@18.2.0)(react@18.2.0) + rc-virtual-list: 3.14.8(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false @@ -15416,7 +15419,7 @@ packages: classnames: 2.5.1 rc-resize-observer: 1.4.0(react-dom@18.2.0)(react@18.2.0) rc-util: 5.43.0(react-dom@18.2.0)(react@18.2.0) - rc-virtual-list: 3.14.5(react-dom@18.2.0)(react@18.2.0) + rc-virtual-list: 3.14.8(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false @@ -15565,7 +15568,7 @@ packages: classnames: 2.5.1 rc-motion: 2.9.2(react-dom@18.2.0)(react@18.2.0) rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) - rc-virtual-list: 3.14.5(react-dom@18.2.0)(react@18.2.0) + rc-virtual-list: 3.14.8(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false @@ -15581,7 +15584,7 @@ packages: classnames: 2.5.1 rc-motion: 2.9.2(react-dom@18.2.0)(react@18.2.0) rc-util: 5.43.0(react-dom@18.2.0)(react@18.2.0) - rc-virtual-list: 3.14.5(react-dom@18.2.0)(react@18.2.0) + rc-virtual-list: 3.14.8(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false @@ -15677,17 +15680,17 @@ packages: react-is: 18.3.1 dev: false - /rc-virtual-list@3.14.5(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-ZMOnkCLv2wUN8Jz7yI4XiSLa9THlYvf00LuMhb1JlsQCewuU7ydPuHw1rGVPhe9VZYl/5UqODtNd7QKJ2DMGfg==, tarball: https://registry.npmjs.org/rc-virtual-list/-/rc-virtual-list-3.14.5.tgz} + /rc-virtual-list@3.14.8(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-8D0KfzpRYi6YZvlOWIxiOm9BGt4Wf2hQyEaM6RXlDDiY2NhLheuYI+RA+7ZaZj1lq+XQqy3KHlaeeXQfzI5fGg==, tarball: https://registry.npmjs.org/rc-virtual-list/-/rc-virtual-list-3.14.8.tgz} engines: {node: '>=8.x'} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.25.7 classnames: 2.5.1 rc-resize-observer: 1.4.0(react-dom@18.2.0)(react@18.2.0) - rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.43.0(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false diff --git a/src/components/auto-tooltip/index.tsx b/src/components/auto-tooltip/index.tsx index 716b4350..fd6ed519 100644 --- a/src/components/auto-tooltip/index.tsx +++ b/src/components/auto-tooltip/index.tsx @@ -74,13 +74,17 @@ const AutoTooltip: React.FC = ({ overlayInnerStyle={{ paddingInline: 0 }} destroyTooltipOnHide={false} title={ - - {children} - + isOverflowing || showTitle ? ( + + {children} + + ) : ( + '' + ) } {...tooltipProps} > diff --git a/src/components/logs-viewer/index.tsx b/src/components/logs-viewer/index.tsx index e64a24ac..01ca3b51 100644 --- a/src/components/logs-viewer/index.tsx +++ b/src/components/logs-viewer/index.tsx @@ -4,7 +4,6 @@ import '@xterm/xterm/css/xterm.css'; import classNames from 'classnames'; import _ from 'lodash'; import { memo, useCallback, useEffect, useMemo, useRef, useState } from 'react'; -import CopyButton from '../copy-button'; import './index.less'; import useParseAnsi from './parse-ansi'; @@ -127,9 +126,9 @@ const LogsViewer: React.FC = (props) => { return (
- + {/* - + */}
= ({ }; const handleOnPaste = (e: any) => { - e.preventDefault(); + // e.preventDefault(); const text = e.clipboardData.getData('text'); if (text) { - const startPos = e.target.selectionStart; - const endPos = e.target.selectionEnd; - setMessage?.({ - ...message, - content: - message.content.slice(0, startPos) + - text + - message.content.slice(endPos) - }); - if (endPos !== startPos) { - setTimeout(() => { - e.target.setSelectionRange(endPos, endPos); - }, 0); - } + // const startPos = e.target.selectionStart; + // const endPos = e.target.selectionEnd; + // setMessage?.({ + // ...message, + // content: + // message.content.slice(0, startPos) + + // text + + // message.content.slice(endPos) + // }); + // if (endPos !== startPos) { + // setTimeout(() => { + // e.target.setSelectionRange(endPos, endPos); + // }, 0); + // } } else { + e.preventDefault(); getPasteContent(e); } }; diff --git a/src/pages/playground/components/multiple-chat/content-item.tsx b/src/pages/playground/components/multiple-chat/content-item.tsx index 2ea0a3c9..a7edaf73 100644 --- a/src/pages/playground/components/multiple-chat/content-item.tsx +++ b/src/pages/playground/components/multiple-chat/content-item.tsx @@ -105,23 +105,24 @@ const ContentItem: React.FC = ({ ); const handleOnPaste = (e: any) => { - e.preventDefault(); + // e.preventDefault(); const text = e.clipboardData.getData('text'); if (text) { - const startPos = e.target.selectionStart; - const endPos = e.target.selectionEnd; - updateMessage?.({ - role: data.role, - content: - data.content.slice(0, startPos) + text + data.content.slice(endPos), - uid: data.uid - }); - if (endPos !== startPos) { - setTimeout(() => { - e.target.setSelectionRange(endPos, endPos); - }, 0); - } + // const startPos = e.target.selectionStart; + // const endPos = e.target.selectionEnd; + // updateMessage?.({ + // role: data.role, + // content: + // data.content.slice(0, startPos) + text + data.content.slice(endPos), + // uid: data.uid + // }); + // if (endPos !== startPos) { + // setTimeout(() => { + // e.target.setSelectionRange(endPos, endPos); + // }, 0); + // } } else { + e.preventDefault(); getPasteContent(e); } };