UNPKG

@cometchat/chat-uikit-react-native

Version:

Ready-to-use Chat UI Components for React Native

153 lines (134 loc) 4.48 kB
import { CometChat } from "@cometchat/chat-sdk-react-native"; import { CometChatConversationEvents, CometChatGroupsEvents, CometChatUIEvents, MessageEvents, } from "../events"; import { CometChatUIEventHandler } from "../events/CometChatUIEventHandler/CometChatUIEventHandler"; export class CometChatUIKitHelper { //---------- Message Events ---------- static onMessageSent(message: CometChat.BaseMessage, status: string): void { CometChatUIEventHandler.emitMessageEvent(MessageEvents.ccMessageSent, { message, status }); } static onMessageEdited(message: CometChat.BaseMessage, status: string): void { CometChatUIEventHandler.emitMessageEvent(MessageEvents.ccMessageEdited, { message, status }); } static onMessageDeleted(message: CometChat.BaseMessage): void { CometChatUIEventHandler.emitMessageEvent(MessageEvents.ccMessageDeleted, { message }); } static onMessageRead(message: CometChat.BaseMessage): void { CometChatUIEventHandler.emitMessageEvent(MessageEvents.ccMessageRead, { message }); } //---------- User Events ---------- static onUserBlocked(user: CometChat.User): void { CometChatUIEventHandler.emitUserEvent(CometChatUIEvents.ccUserBlocked, { user }); } static onUserUnblocked(user: CometChat.User): void { CometChatUIEventHandler.emitUserEvent(CometChatUIEvents.ccUserUnBlocked, { user }); } //---------- Group Events ---------- static onGroupCreated(group: CometChat.Group): void { CometChatUIEventHandler.emitGroupEvent(CometChatGroupsEvents.ccGroupCreated, { group }); } static onGroupDeleted(group: CometChat.Group): void { CometChatUIEventHandler.emitGroupEvent(CometChatGroupsEvents.ccGroupDeleted, { group }); } static onGroupLeft( message: CometChat.Action, leftUser: CometChat.User, leftGroup: CometChat.Group ): void { CometChatUIEventHandler.emitGroupEvent(CometChatUIEvents.ccGroupLeft, { message, leftUser, leftGroup, }); } static onGroupMemberScopeChanged( message: CometChat.Action, updatedUser: CometChat.User, scopeChangedTo: string, scopeChangedFrom: string, group: CometChat.Group ): void { CometChatUIEventHandler.emitGroupEvent(CometChatGroupsEvents.ccGroupMemberScopeChanged, { message, updatedUser, scopeChangedTo, scopeChangedFrom, group, }); } static onGroupMemberBanned( message: CometChat.Action, bannedUser: CometChat.User, bannedBy: CometChat.User, bannedFrom: CometChat.Group ): void { CometChatUIEventHandler.emitGroupEvent(CometChatGroupsEvents.ccGroupMemberBanned, { message, bannedUser, bannedBy, group: bannedFrom, }); } static onGroupMemberKicked( message: CometChat.Action, kickedUser: CometChat.User, kickedBy: CometChat.User, kickedFrom: CometChat.Group ): void { CometChatUIEventHandler.emitGroupEvent(CometChatGroupsEvents.ccGroupMemberKicked, { message, kickedUser, kickedBy, group: kickedFrom, }); } static onGroupMemberUnbanned( message: CometChat.Action, unbannedUser: CometChat.User, unbannedBy: CometChat.User, unbannedFrom: CometChat.Group ): void { CometChatUIEventHandler.emitGroupEvent(CometChatUIEvents.ccGroupMemberUnBanned, { message, unbannedUser, unbannedBy, unbannedFrom, }); } static onGroupMemberJoined(joinedUser: CometChat.User, joinedGroup: CometChat.Group): void { CometChatUIEventHandler.emitGroupEvent(CometChatUIEvents.ccGroupMemberJoined, { joinedUser, joinedGroup, }); } static onGroupMemberAdded( messages: CometChat.Action[], usersAdded: CometChat.User[], groupAddedIn: CometChat.Group, addedBy: CometChat.User ): void { CometChatUIEventHandler.emitGroupEvent(CometChatUIEvents.ccGroupMemberAdded, { messages, usersAdded, usersAddedIn: groupAddedIn, addedBy, }); } static onOwnershipChanged(group: CometChat.Group, newOwner: CometChat.GroupMember): void { CometChatUIEventHandler.emitGroupEvent(CometChatUIEvents.ccOwnershipChanged, { group, newOwner, }); } //---------- Conversation Events ---------- static onConversationDeleted(conversation: CometChat.Conversation): void { CometChatUIEventHandler.emitConversationEvent( CometChatConversationEvents.ccConversationDeleted, { conversation } ); } }