MessageComponent

The Message component displays a message with additional information such as sender and date, and enables interaction with the message (for example edit or react).

Example 1 - example message:

Message Screenshot

Example 2 - message with reactions:

Message Reactions Screenshot

Example 3 - message actions:

Message Actions Screenshot

Customization

The message list uses the Message component to display messages, if you want to replace that with your own custom component, you can do that by providing it to the CustomTemplatesService. It’s also possible to just override parts of the message component.

The Message component uses the DateParserService to create user-friendly dates, you can override the date-parsing methods with your own functions.

The MessageService has additional customization options.

If you want to build your own Message component, you might find the following building blocks useful:

Avatar

The Message component uses the Avatar component to display the sender’s photo.

Message actions

The Message component uses the MessageActionsBox component to enable interaction with the message (edit).

Message reactions

The Message component uses the MessageReactions component to display reactions of a message, and enable reacting to a message.

Attachments

The Message component uses the AttachmentList component to display the attachments of the message.

Read by

The Message component uses the listUsers utility function to display the list of people who have read a particular message in a user friendly way (for example Bob, Sophie, Jack, Rose, John and 1 more).

Loading indicator

The Message component uses the LoadingIndicator component to display a spinner while the message is being sent.

Icons

The Message component uses the Icon component to display icons.

Mention template

You can add interactions to mentions inside a message, follow our mention actions guide to get to know more.

Inputs and outputs

message

message: undefined | StreamMessage<DefaultStreamChatGenerics>

The message to be displayed

Defined in

projects/stream-chat-angular/src/lib/message/message.component.ts:64


enabledMessageActions

enabledMessageActions: string[] = []

The list of channel capabilities that are enabled for the current user, the list of supported interactions can be found in our message interaction guide. Unathorized actions won’t be displayed on the UI. The MessageList component automatically sets this based on channel capabilities.

Defined in

projects/stream-chat-angular/src/lib/message/message.component.ts:68


isLastSentMessage

isLastSentMessage: undefined | boolean

If true, the message status (sending, sent, who read the message) is displayed.

Defined in

projects/stream-chat-angular/src/lib/message/message.component.ts:72


mode

mode: "main" | "thread" = 'main'

Determines if the message is being dispalyed in a channel or in a thread.

Defined in

projects/stream-chat-angular/src/lib/message/message.component.ts:76


isHighlighted

isHighlighted: boolean = false

Highlighting is used to add visual emphasize to a message when jumping to the message

Defined in

projects/stream-chat-angular/src/lib/message/message.component.ts:80


scroll$

Optional scroll$: Observable<void>

An Observable that emits when the message list is scrolled, it’s used to prevent opening the message menu while scroll is in progress

Defined in

projects/stream-chat-angular/src/lib/message/message.component.ts:84

© Getstream.io, Inc. All Rights Reserved.