diff --git a/web/src/pages/add-knowledge/components/knowledge-file/parsing-action-cell/index.less b/web/src/pages/add-knowledge/components/knowledge-file/parsing-action-cell/index.less new file mode 100644 index 0000000000000000000000000000000000000000..6353670fab6f8f4583b83c398f0274e596317180 --- /dev/null +++ b/web/src/pages/add-knowledge/components/knowledge-file/parsing-action-cell/index.less @@ -0,0 +1,3 @@ +.iconButton { + padding: 4px 8px; +} diff --git a/web/src/pages/add-knowledge/components/knowledge-file/parsing-action-cell/index.tsx b/web/src/pages/add-knowledge/components/knowledge-file/parsing-action-cell/index.tsx index 4db9d398bdb5e1e2e3697a7252d64eec69b6e71b..186cc28c4155988e687bc6af960467ac4edeb447 100644 --- a/web/src/pages/add-knowledge/components/knowledge-file/parsing-action-cell/index.tsx +++ b/web/src/pages/add-knowledge/components/knowledge-file/parsing-action-cell/index.tsx @@ -3,6 +3,9 @@ import { IKnowledgeFile } from '@/interfaces/database/knowledge'; import { DeleteOutlined, EditOutlined, ToolOutlined } from '@ant-design/icons'; import { Button, Dropdown, MenuProps, Space, Tooltip } from 'antd'; import { useDispatch } from 'umi'; +import { isParserRunning } from '../utils'; + +import styles from './index.less'; interface IProps { knowledgeBaseId: string; @@ -17,6 +20,7 @@ const ParsingActionCell = ({ }: IProps) => { const dispatch = useDispatch(); const documentId = record.id; + const isRunning = isParserRunning(record.run); const removeDocument = () => { dispatch({ @@ -29,7 +33,9 @@ const ParsingActionCell = ({ }; const onRmDocument = () => { - showDeleteConfirm({ onOk: removeDocument }); + if (!isRunning) { + showDeleteConfirm({ onOk: removeDocument }); + } }; const setCurrentRecord = () => { @@ -49,11 +55,13 @@ const ParsingActionCell = ({ }; const showRenameModal = () => { - setCurrentRecord(); - dispatch({ - type: 'kFModel/setIsShowRenameModal', - payload: true, - }); + if (!isRunning) { + setCurrentRecord(); + dispatch({ + type: 'kFModel/setIsShowRenameModal', + payload: true, + }); + } }; const chunkItems: MenuProps['items'] = [ @@ -70,14 +78,38 @@ const ParsingActionCell = ({ ]; return ( - <Space size={'middle'}> - <Dropdown menu={{ items: chunkItems }} trigger={['click']}> - <ToolOutlined size={20} onClick={setDocumentAndParserId} /> + <Space size={0}> + <Dropdown + menu={{ items: chunkItems }} + trigger={['click']} + disabled={isRunning} + > + <Button + type="text" + onClick={setDocumentAndParserId} + className={styles.iconButton} + > + <ToolOutlined size={20} /> + </Button> </Dropdown> <Tooltip title="Rename"> - <EditOutlined size={20} onClick={showRenameModal} /> + <Button + type="text" + disabled={isRunning} + onClick={showRenameModal} + className={styles.iconButton} + > + <EditOutlined size={20} /> + </Button> </Tooltip> - <DeleteOutlined size={20} onClick={onRmDocument} /> + <Button + type="text" + disabled={isRunning} + onClick={onRmDocument} + className={styles.iconButton} + > + <DeleteOutlined size={20} /> + </Button> </Space> ); }; diff --git a/web/src/pages/add-knowledge/components/knowledge-file/parsing-status-cell/index.tsx b/web/src/pages/add-knowledge/components/knowledge-file/parsing-status-cell/index.tsx index 6f216551cfa3958e586418e50267eaa8543b8579..82b5ae3dfa027a1e742dd7760175789f14012abb 100644 --- a/web/src/pages/add-knowledge/components/knowledge-file/parsing-status-cell/index.tsx +++ b/web/src/pages/add-knowledge/components/knowledge-file/parsing-status-cell/index.tsx @@ -6,6 +6,7 @@ import { Badge, DescriptionsProps, Flex, Popover, Space, Tag } from 'antd'; import reactStringReplace from 'react-string-replace'; import { useDispatch } from 'umi'; import { RunningStatus, RunningStatusMap } from '../constant'; +import { isParserRunning } from '../utils'; import styles from './index.less'; const iconMap = { @@ -77,7 +78,7 @@ export const ParsingStatusCell = ({ record }: IProps) => { const text = record.run; const runningStatus = RunningStatusMap[text]; - const isRunning = text === RunningStatus.RUNNING; + const isRunning = isParserRunning(text); const OperationIcon = iconMap[text]; diff --git a/web/src/pages/add-knowledge/components/knowledge-file/utils.ts b/web/src/pages/add-knowledge/components/knowledge-file/utils.ts new file mode 100644 index 0000000000000000000000000000000000000000..0965ffdb9e8cf8242bc9f28494c8347c33ff2eb6 --- /dev/null +++ b/web/src/pages/add-knowledge/components/knowledge-file/utils.ts @@ -0,0 +1,6 @@ +import { RunningStatus } from './constant'; + +export const isParserRunning = (text: RunningStatus) => { + const isRunning = text === RunningStatus.RUNNING; + return isRunning; +}; diff --git a/web/src/pages/chat/chat-container/index.less b/web/src/pages/chat/chat-container/index.less index 7a840f4ce5af8173da72ccb8f9ea57d7150fde2c..f74051bd575dd61d09532ab22715774769de2c3f 100644 --- a/web/src/pages/chat/chat-container/index.less +++ b/web/src/pages/chat/chat-container/index.less @@ -25,6 +25,7 @@ flex-direction: row-reverse; } .messageText { + .chunkText(); padding: 0 14px; background-color: rgba(249, 250, 251, 1); word-break: break-all; diff --git a/web/src/pages/chat/chat-container/index.tsx b/web/src/pages/chat/chat-container/index.tsx index 575f06bf3c46e5728049ad7d7b92147e1bbad8ec..b0a3ca8543b94c9a2bc0e1ea697aee695d19b129 100644 --- a/web/src/pages/chat/chat-container/index.tsx +++ b/web/src/pages/chat/chat-container/index.tsx @@ -262,12 +262,12 @@ const ChatContainer = () => { if (!loading) { setValue(''); addNewestConversation(value); - sendMessage(value); + sendMessage(value.trim()); } }; const handleInputChange: ChangeEventHandler<HTMLInputElement> = (e) => { - const value = e.target.value.trim(); + const value = e.target.value; const nextValue = value.replaceAll('\\n', '\n').replaceAll('\\t', '\t'); setValue(nextValue); };