From 82b2552d9d91c83777c72f7c05313d650a2d6f8d Mon Sep 17 00:00:00 2001 From: williamhliu <137068196+williamhliu@users.noreply.github.com> Date: Wed, 26 Jun 2024 09:42:23 +0800 Subject: [PATCH] (feature)(chat-sdk) add PLAIN_TEXT query mode (#1229) --- .../src/components/ChatItem/ExecuteItem.tsx | 9 +++ .../src/components/ChatItem/ParseTip.tsx | 1 - .../src/components/ChatItem/index.tsx | 78 +++++++++---------- 3 files changed, 48 insertions(+), 40 deletions(-) diff --git a/webapp/packages/chat-sdk/src/components/ChatItem/ExecuteItem.tsx b/webapp/packages/chat-sdk/src/components/ChatItem/ExecuteItem.tsx index 551f7f71e..65ccc7958 100644 --- a/webapp/packages/chat-sdk/src/components/ChatItem/ExecuteItem.tsx +++ b/webapp/packages/chat-sdk/src/components/ChatItem/ExecuteItem.tsx @@ -9,6 +9,7 @@ import React, { ReactNode, useState } from 'react'; type Props = { queryId?: number; + queryMode?: string; executeLoading: boolean; entitySwitchLoading: boolean; chartIndex: number; @@ -23,6 +24,7 @@ type Props = { const ExecuteItem: React.FC = ({ queryId, + queryMode, executeLoading, entitySwitchLoading, chartIndex, @@ -54,6 +56,9 @@ const ExecuteItem: React.FC = ({ }; if (executeLoading) { + if (queryMode === 'PLAIN_TEXT') { + return ; + } return getNodeTip('数据查询中'); } @@ -73,6 +78,10 @@ const ExecuteItem: React.FC = ({ return null; } + if (data.queryMode === 'PLAIN_TEXT') { + return <>{data.textResult}; + } + return ( <>
diff --git a/webapp/packages/chat-sdk/src/components/ChatItem/ParseTip.tsx b/webapp/packages/chat-sdk/src/components/ChatItem/ParseTip.tsx index c09ebac03..de54a1510 100644 --- a/webapp/packages/chat-sdk/src/components/ChatItem/ParseTip.tsx +++ b/webapp/packages/chat-sdk/src/components/ChatItem/ParseTip.tsx @@ -121,7 +121,6 @@ const ParseTip: React.FC = ({ const getTipNode = () => { const dimensionItems = dimensions?.filter(item => item.type === 'DIMENSION'); - const itemValueClass = `${prefixCls}-tip-item-value`; const entityId = dimensionFilters?.length > 0 ? dimensionFilters[0].value : undefined; const entityAlias = entity?.alias?.[0]?.split('.')?.[0]; diff --git a/webapp/packages/chat-sdk/src/components/ChatItem/index.tsx b/webapp/packages/chat-sdk/src/components/ChatItem/index.tsx index ee1a76c0e..0a37f7a76 100644 --- a/webapp/packages/chat-sdk/src/components/ChatItem/index.tsx +++ b/webapp/packages/chat-sdk/src/components/ChatItem/index.tsx @@ -84,7 +84,7 @@ const ChatItem: React.FC = ({ const updateData = (res: Result) => { let tip: string = ''; let data: MsgDataType | undefined = undefined; - const { queryColumns, queryResults, queryState, queryMode, response, chatContext } = + const { queryColumns, queryResults, queryState, queryMode, response, chatContext, textResult } = res.data || {}; if (res.code === 400 || res.code === 401 || res.code === 412) { tip = res.msg; @@ -94,7 +94,8 @@ const ChatItem: React.FC = ({ tip = response && typeof response === 'string' ? response : SEARCH_EXCEPTION_TIP; } else if ( (queryColumns && queryColumns.length > 0 && queryResults) || - queryMode === 'WEB_PAGE' + queryMode === 'WEB_PAGE' || + queryMode === 'PLAIN_TEXT' ) { data = res.data; tip = ''; @@ -319,44 +320,43 @@ const ChatItem: React.FC = ({ )}
- + {parseInfo?.queryMode !== 'PLAIN_TEXT' && ( + + )} {executeMode && ( <> - {!isMobile && - parseInfo?.sqlInfo && - isDeveloper && - integrateSystem !== 'c2' && - !isSimpleMode && ( - - )} + {!isMobile && parseInfo?.sqlInfo && isDeveloper && !isSimpleMode && ( + + )} = ({ )} {(parseTip !== '' || (executeMode && !executeLoading)) && - integrateSystem !== 'c2' && - !isSimpleMode && ( + !isSimpleMode && + parseInfo?.queryMode !== 'PLAIN_TEXT' && ( )}
- {(parseTip !== '' || (executeMode && !executeLoading)) && integrateSystem !== 'c2' && ( + {(parseTip !== '' || (executeMode && !executeLoading)) && ( )}