onReceive method
Processes broadcasts dispatched to the channel.
Implementation models should evaluate incoming data parameters using a matching block
on the localityEvent parameter's internal structural fields to apply reactive updates.
Implementation
@override
void onReceive(Broadcast localityEvent) {
switch (localityEvent.event) {
case 'message':
messageList.addMessage(chatMessageFactory.createFrom(localityEvent));
notifyListeners();
break;
case 'react':
MessageReactedEvent messageReactedEvent =
MessageReactedEvent.fromMap(localityEvent.getPayload());
ChatMessage? msg =
messageList.messages[messageReactedEvent.messageUuid];
if (msg != null) {
msg.addReaction(messageReactedEvent);
}
case 'see':
MessagesSeenEvent messagesSeenEvent =
MessagesSeenEvent.fromMap(localityEvent.getPayload());
messageList.setAllMessagesSeen(messagesSeenEvent.by);
}
}