onReceive method

  1. @override
void onReceive(
  1. Broadcast localityEvent
)

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);
  }
}