mirror of
https://git.mirrors.martin98.com/https://github.com/infiniflow/ragflow.git
synced 2025-08-13 23:35:59 +08:00
### What problem does this PR solve? feat: pull the message list after sending the message successfully #918 ### Type of change - [x] New Feature (non-breaking change which adds functionality)
This commit is contained in:
parent
745e98e56a
commit
dec3bf7503
@ -80,9 +80,17 @@ export const useFetchFlowList = (): { data: IFlow[]; loading: boolean } => {
|
||||
return { data, loading };
|
||||
};
|
||||
|
||||
export const useFetchFlow = (): { data: IFlow; loading: boolean } => {
|
||||
export const useFetchFlow = (): {
|
||||
data: IFlow;
|
||||
loading: boolean;
|
||||
refetch: () => void;
|
||||
} => {
|
||||
const { id } = useParams();
|
||||
const { data, isFetching: loading } = useQuery({
|
||||
const {
|
||||
data,
|
||||
isFetching: loading,
|
||||
refetch,
|
||||
} = useQuery({
|
||||
queryKey: ['flowDetail'],
|
||||
initialData: {} as IFlow,
|
||||
queryFn: async () => {
|
||||
@ -92,7 +100,7 @@ export const useFetchFlow = (): { data: IFlow; loading: boolean } => {
|
||||
},
|
||||
});
|
||||
|
||||
return { data, loading };
|
||||
return { data, loading, refetch };
|
||||
};
|
||||
|
||||
export const useSetFlow = () => {
|
||||
|
@ -133,10 +133,12 @@ function FlowCanvas({ chatDrawerVisible, hideChatDrawer }: IProps) {
|
||||
visible={drawerVisible}
|
||||
hideModal={hideDrawer}
|
||||
></FlowDrawer>
|
||||
<ChatDrawer
|
||||
visible={chatDrawerVisible}
|
||||
hideModal={hideChatDrawer}
|
||||
></ChatDrawer>
|
||||
{chatDrawerVisible && (
|
||||
<ChatDrawer
|
||||
visible={chatDrawerVisible}
|
||||
hideModal={hideChatDrawer}
|
||||
></ChatDrawer>
|
||||
)}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
@ -10,7 +10,7 @@ const ChatDrawer = ({ visible, hideModal }: IModalProps<any>) => {
|
||||
onClose={hideModal}
|
||||
open={visible}
|
||||
getContainer={false}
|
||||
width={470}
|
||||
width={window.innerWidth > 1278 ? '30%' : 470}
|
||||
mask={false}
|
||||
// zIndex={10000}
|
||||
>
|
||||
|
@ -48,19 +48,15 @@ export const useSelectCurrentMessages = () => {
|
||||
|
||||
const addNewestAnswer = useCallback((answer: IAnswer) => {
|
||||
setCurrentMessages((pre) => {
|
||||
const latestMessage = pre?.at(-1);
|
||||
|
||||
if (latestMessage) {
|
||||
return [
|
||||
...pre.slice(0, -1),
|
||||
{
|
||||
...latestMessage,
|
||||
content: answer.answer,
|
||||
reference: answer.reference,
|
||||
},
|
||||
];
|
||||
}
|
||||
return pre;
|
||||
return [
|
||||
...pre.slice(0, -1),
|
||||
{
|
||||
id: uuid(),
|
||||
role: MessageType.Assistant,
|
||||
content: answer.answer,
|
||||
reference: answer.reference,
|
||||
},
|
||||
];
|
||||
});
|
||||
}, []);
|
||||
|
||||
@ -97,7 +93,7 @@ export const useSendMessage = (
|
||||
) => {
|
||||
const { id: flowId } = useParams();
|
||||
const { handleInputChange, value, setValue } = useHandleMessageInputChange();
|
||||
const { data: flowDetail } = useFetchFlow();
|
||||
const { data: flowDetail, refetch } = useFetchFlow();
|
||||
const messages = flowDetail.dsl.messages;
|
||||
|
||||
const { send, answer, done } = useSendMessageWithSse(api.runCanvas);
|
||||
@ -118,9 +114,11 @@ export const useSendMessage = (
|
||||
// cancel loading
|
||||
setValue(message);
|
||||
removeLatestMessage();
|
||||
} else {
|
||||
refetch(); // pull the message list after sending the message successfully
|
||||
}
|
||||
},
|
||||
[flowId, removeLatestMessage, setValue, send],
|
||||
[flowId, removeLatestMessage, setValue, send, refetch],
|
||||
);
|
||||
|
||||
const handleSendMessage = useCallback(
|
||||
|
Loading…
x
Reference in New Issue
Block a user