Orion Chat & Discussions
Ce composant est relativement complexe du fait des mécanismes qu'il induit, notamment les échanges avec votre BackEnd et les événements en temps réel.
 Toutefois nous allons tenter de vous l'expliquer de façon simple en nous basant sur le playground ci-dessous.
Astuce
Il peut-être utilisé avec le composant OrionChatDiscussionList si vous devez gérer plusieurs conversations.
 Plus d'infos plus loin dans la section OrionChatDiscussionList.
ChatSimple
Props
ChatService = undefinednumber = undefinedboolean = undefinedboolean = undefinedEvents
Orion.Chat.NewMessageSlots
OrionChatEntityOrionChatEntitybooleanOrionChatEntityPublicInstance
() => Promise<void>() => number | undefined() => HTMLElement | undefinedChatMultipleDiscussions
Props
ChatService = undefinedEvents
numberSlots
No bindingsNo bindingsOrionChatEntityNo bindingsConfiguration de ChatService
Vous pouvez définir la configuration de votre instance au moment de sa création, où plus tard par le biais de la propriété config
// Configuration du user à la création
const chat = useChat({ user });
// Configuration de l'écouteur par la suite
chat.config.onNewMessageAsync = async (message, registerMessage) => {
	// ...
};
Liste des paramètres:
Orion.Chat.UserL'utilisateur de votre application. Ce paramètre est requis à la création.
booleanAffiche le statut du message (lu / non lu)
booleanAffiche l'icône de création d'une discussion dans le composant OrionChatDiscussionList
booleanActive la recherche parmi les discussions dans le composant OrionChatDiscussionList
number : 500Le délai avant de déclencher la recherche dans les discussions
(params: { oldestDiscussionId?: number, oldestDiscussionUpdatedDate?: Date, searchTerm?: string, searchTermHasChanged?: boolean }) => Promise<Discussion[]>La fonction permettant de récupérer la liste des discussions depuis le BackEnd
(discussion: OrionChatEntity) => stringLa fonction permettant de formatter le titre des discussions
(discussion: OrionChatEntity) => User[]La fonction permettant de formatter les participants à la discussion
(params: {discussion: OrionChatEntity, discussionId: number, messages: OrionChatMessageEntity[] }) => numberLa fonction permettant de définir le nombre de messages non lus dans une discussion
(params: { discussion: OrionChatEntity, discussionId: number, oldestMessageId?: number }) => Promise<Message[]>La fonction permettant de récupérer la liste des messages depuis le BackEnd
(message: OrionChatMessageEntity) => voidCallback à éxécuter lors de la lecture d'un message (pour sauvegarder son statut en BackEnd par exemple)
(message: OrionChatMessageEntity, registerMessage: () => void) => voidCallback à éxécuter lors de la création d'un nouveau message par l'utilisateur
(discussionId?: number, oldDiscussionId?: number) => voidCallback à éxécuter lors du changement de discussion