mirror of
https://github.com/danny-avila/LibreChat.git
synced 2026-01-03 00:58:50 +01:00
setup message population on search
This commit is contained in:
parent
4197a92609
commit
4e6168d8fa
5 changed files with 47 additions and 23 deletions
|
|
@ -1,17 +1,29 @@
|
|||
export default function buildTree(messages) {
|
||||
export default function buildTree(messages, groupAll = false) {
|
||||
let messageMap = {};
|
||||
let rootMessages = [];
|
||||
|
||||
// Traverse the messages array and store each element in messageMap.
|
||||
messages.forEach(message => {
|
||||
messageMap[message.messageId] = {...message, children: []};
|
||||
if (!groupAll) {
|
||||
// Traverse the messages array and store each element in messageMap.
|
||||
messages.forEach((message) => {
|
||||
messageMap[message.messageId] = { ...message, children: [] };
|
||||
|
||||
const parentMessage = messageMap[message.parentMessageId];
|
||||
if (parentMessage)
|
||||
parentMessage.children.push(messageMap[message.messageId]);
|
||||
else
|
||||
rootMessages.push(messageMap[message.messageId]);
|
||||
const parentMessage = messageMap[message.parentMessageId];
|
||||
if (parentMessage) parentMessage.children.push(messageMap[message.messageId]);
|
||||
else rootMessages.push(messageMap[message.messageId]);
|
||||
});
|
||||
|
||||
return rootMessages;
|
||||
}
|
||||
|
||||
// Group all messages into one tree
|
||||
let parentId = messages[0].messageId;
|
||||
messages.forEach((message, i) => {
|
||||
if (i === 0) {
|
||||
messageMap[parentId] = { ...message, children: [] };
|
||||
return;
|
||||
}
|
||||
messageMap[parentId].children.push({ ...message, children: [] });
|
||||
});
|
||||
|
||||
return rootMessages;
|
||||
}
|
||||
return [messageMap[parentId]];
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue