UNPKG

@cometchat/chat-uikit-react-native

Version:

Ready-to-use Chat UI Components for React Native

380 lines 17.4 kB
import { CallListener, ConversationListener, GroupListener, MessageListener, UserListener, UIListener, } from "./Listener"; class CometChatUIEventHandler { static userHandlers = []; static uiHandlers = []; static messageHandlers = []; static conversationHandlers = []; static groupHandlers = []; static callHandlers = []; static panelHandlers = []; constructor() { } static emitPanelEvent(name, param) { CometChatUIEventHandler.panelHandlers?.map((listener) => { switch (name) { case listener._eventListener?.ccHidePanel?.name: listener._eventListener?.ccHidePanel?.(param); break; case listener._eventListener?.ccShowPanel?.name: listener._eventListener?.ccShowPanel?.(param); break; } }); } static emitCallEvent(name, param) { CometChatUIEventHandler.callHandlers?.map((listener) => { switch (name) { case listener._eventListener?.ccIncomingCallReceived?.name: listener._eventListener?.ccIncomingCallReceived?.(param); break; case listener._eventListener?.ccOutgoingCallAccepted?.name: listener._eventListener?.ccOutgoingCallAccepted?.(param); break; case listener._eventListener?.ccOutgoingCallRejected?.name: listener._eventListener?.ccOutgoingCallRejected?.(param); break; case listener._eventListener?.ccIncomingCallCancelled?.name: listener._eventListener?.ccIncomingCallCancelled?.(param); break; case listener._eventListener?.ccOutgoingCall?.name: listener._eventListener?.ccOutgoingCall?.(param); break; case listener._eventListener?.ccCallAccepted?.name: listener._eventListener?.ccCallAccepted?.(param); break; case listener._eventListener?.ccCallRejected?.name: listener._eventListener?.ccCallRejected?.(param); break; case listener._eventListener?.ccCallEnded?.name: listener._eventListener?.ccCallEnded?.(param); break; case listener._eventListener?.ccOutgoingCallCancelled?.name: listener._eventListener?.ccOutgoingCallCancelled?.(param); break; case listener._eventListener?.ccCallInitiated?.name: listener._eventListener?.ccCallInitiated?.(param); break; case listener._eventListener?.ccShowOngoingCall?.name: listener._eventListener?.ccShowOngoingCall?.(param); break; case listener._eventListener?.ccCallFailed?.name: listener._eventListener?.ccCallFailed?.(param); break; } }); } static addCallListener(name, callHandler) { try { CometChatUIEventHandler.callHandlers = CometChatUIEventHandler.callHandlers?.filter((listener) => { return listener._name != name; }); CometChatUIEventHandler.callHandlers = [ ...(CometChatUIEventHandler.callHandlers ? CometChatUIEventHandler.callHandlers : []), new CallListener(name, callHandler), ]; } catch (err) { console.log("addCallListener", err); } } static removeCallListener(name) { try { CometChatUIEventHandler.callHandlers = CometChatUIEventHandler.callHandlers?.filter((listener) => { return listener._name !== name; }); } catch (err) { console.log("removeCallListener", err); } } static emitMessageEvent(name, param) { CometChatUIEventHandler.messageHandlers?.map((listener) => { switch (name) { case listener._eventListener?.ccMessageDeleted?.name: listener._eventListener?.ccMessageDeleted?.(param); break; case listener._eventListener?.ccMessageEdited?.name: listener._eventListener?.ccMessageEdited?.(param); break; case listener._eventListener?.ccMessageRead?.name: listener._eventListener?.ccMessageRead?.(param); break; case listener._eventListener?.ccMessageSent?.name: listener._eventListener?.ccMessageSent?.(param); break; case listener._eventListener?.ccMessageDelivered?.name: listener._eventListener?.ccMessageSent?.(param); break; case listener._eventListener?.ccActiveChatChanged?.name: listener._eventListener?.ccActiveChatChanged?.(param); break; case listener._eventListener?.onTextMessageReceived?.name: listener._eventListener?.onTextMessageReceived?.(param); break; case listener._eventListener?.onMediaMessageReceived?.name: listener._eventListener?.onMediaMessageReceived?.(param); break; case listener._eventListener?.onCustomMessageReceived?.name: listener._eventListener?.onCustomMessageReceived?.(param); break; case listener._eventListener?.onTypingStarted?.name: listener._eventListener?.onTypingStarted?.(param); break; case listener._eventListener?.onTypingEnded?.name: listener._eventListener?.onTypingEnded?.(param); break; case listener._eventListener?.onMessagesDelivered?.name: listener._eventListener?.onMessagesDelivered?.(param); break; case listener._eventListener?.onMessagesRead?.name: listener._eventListener?.onMessagesRead?.(param); break; case listener._eventListener?.onMessageEdited?.name: listener._eventListener?.onMessageEdited?.(param); break; case listener._eventListener?.onMessageDeleted?.name: listener._eventListener?.onMessageDeleted?.(param); break; case listener._eventListener?.onTransientMessageReceived?.name: listener._eventListener?.onTransientMessageReceived?.(param); break; case listener._eventListener?.onFormMessageReceived?.name: listener._eventListener?.onFormMessageReceived?.(param); break; case listener._eventListener?.onCardMessageReceived?.name: listener._eventListener?.onCardMessageReceived?.(param); break; case listener._eventListener?.onSchedulerMessageReceived?.name: listener._eventListener?.onSchedulerMessageReceived?.(param); break; case listener._eventListener?.onCustomInteractiveMessageReceived?.name: listener._eventListener?.onCustomInteractiveMessageReceived?.(param); break; case listener._eventListener?.onInteractionGoalCompleted?.name: listener._eventListener?.onInteractionGoalCompleted?.(param); break; case listener._eventListener?.onMessageReactionRemoved?.name: listener._eventListener?.onMessageReactionRemoved?.(param); break; case listener._eventListener?.onMessageReactionAdded?.name: listener._eventListener?.onMessageReactionAdded?.(param); break; case listener._eventListener?.onMessagesDeliveredToAll?.name: listener._eventListener?.onMessagesDeliveredToAll?.(param); break; case listener._eventListener?.onMessagesReadByAll?.name: listener._eventListener?.onMessagesReadByAll?.(param); break; } }); } static addMessageListener(name, messageHandler) { try { CometChatUIEventHandler.messageHandlers = CometChatUIEventHandler.messageHandlers?.filter((listener) => { return listener._name != name; }); CometChatUIEventHandler.messageHandlers = [ ...(CometChatUIEventHandler.messageHandlers ? CometChatUIEventHandler.messageHandlers : []), new MessageListener(name, messageHandler), ]; } catch (err) { console.log("addMessageListener", err); } } static removeMessageListener(name) { try { CometChatUIEventHandler.messageHandlers = CometChatUIEventHandler.messageHandlers?.filter((listener) => { return listener._name !== name; }); } catch (err) { console.log("removeMessageListener", err); } } static emitConversationEvent(name, param) { CometChatUIEventHandler.conversationHandlers?.map((listener) => { switch (name) { case listener._eventListener?.ccConversationDeleted?.name: listener._eventListener?.ccConversationDeleted?.(param); break; } }); } static addConversationListener(name, conversationHandler) { try { CometChatUIEventHandler.conversationHandlers = CometChatUIEventHandler.conversationHandlers?.filter((listener) => { return listener._name != name; }); CometChatUIEventHandler.conversationHandlers = [ ...(CometChatUIEventHandler.conversationHandlers ? CometChatUIEventHandler.conversationHandlers : []), new ConversationListener(name, conversationHandler), ]; } catch (err) { console.log("addConversationListener", err); } } static removeConversationListener(name) { try { CometChatUIEventHandler.conversationHandlers = CometChatUIEventHandler.conversationHandlers?.filter((listener) => { return listener._name !== name; }); } catch (err) { console.log("removeConversationListener", err); } } static emitGroupEvent(name, param) { CometChatUIEventHandler.groupHandlers?.map((listener) => { switch (name) { case listener._eventListener?.ccGroupCreated?.name: listener._eventListener?.ccGroupCreated?.(param); break; case listener._eventListener?.ccGroupDeleted?.name: listener._eventListener?.ccGroupDeleted?.(param); break; case listener._eventListener?.ccGroupLeft?.name: listener._eventListener?.ccGroupLeft?.(param); break; case listener._eventListener?.ccGroupMemberBanned?.name: listener._eventListener?.ccGroupMemberBanned?.(param); break; case listener._eventListener?.ccGroupMemberJoined?.name: listener._eventListener?.ccGroupMemberJoined?.(param); break; case listener._eventListener?.ccGroupMemberKicked?.name: listener._eventListener?.ccGroupMemberKicked?.(param); break; case listener._eventListener?.ccGroupMemberScopeChanged?.name: listener._eventListener?.ccGroupMemberScopeChanged?.(param); break; case listener._eventListener?.ccGroupMemberUnBanned?.name: listener._eventListener?.ccGroupMemberUnBanned?.(param); break; case listener._eventListener?.ccOwnershipChanged?.name: listener._eventListener?.ccOwnershipChanged?.(param); break; case listener._eventListener?.ccGroupMemberAdded?.name: listener._eventListener?.ccGroupMemberAdded?.(param); break; } }); } static addGroupListener(name, groupHandler) { try { CometChatUIEventHandler.groupHandlers = CometChatUIEventHandler.groupHandlers?.filter((listener) => { return listener._name != name; }); CometChatUIEventHandler.groupHandlers = [ ...(CometChatUIEventHandler.groupHandlers ? CometChatUIEventHandler.groupHandlers : []), new GroupListener(name, groupHandler), ]; } catch (err) { console.log("addGrouplistener", err); } } static removeGroupListener(name) { try { CometChatUIEventHandler.groupHandlers = CometChatUIEventHandler.groupHandlers?.filter((listener) => { return listener._name !== name; }); } catch (err) { console.log("removeGroupListener", err); } } static emitUserEvent(name, param) { CometChatUIEventHandler.userHandlers?.map((listener) => { switch (name) { case listener._eventListener?.ccUserBlocked?.name: listener._eventListener?.ccUserBlocked?.(param); break; case listener._eventListener?.ccUserUnBlocked?.name: listener._eventListener?.ccUserUnBlocked?.(param); break; } }); } static addUserListener(name, userHandler) { try { CometChatUIEventHandler.userHandlers = CometChatUIEventHandler.userHandlers?.filter((listener) => { return listener._name != name; }); CometChatUIEventHandler.userHandlers = [ ...(CometChatUIEventHandler.userHandlers ? CometChatUIEventHandler.userHandlers : []), new UserListener(name, userHandler), ]; } catch (err) { console.log("addUserListener", err); } } static removeUserListener(name) { try { CometChatUIEventHandler.userHandlers = CometChatUIEventHandler.userHandlers?.filter((listener) => { return listener._name !== name; }); } catch (err) { console.log("removeUserListener", err); } } static emitUIEvent(name, param) { CometChatUIEventHandler.uiHandlers?.map((listener) => { switch (name) { case listener._eventListener?.hidePanel?.name: listener._eventListener?.hidePanel?.(param); break; case listener._eventListener?.showPanel?.name: listener._eventListener?.showPanel?.(param); break; case listener._eventListener?.openChat?.name: listener._eventListener?.openChat?.(param); break; case listener._eventListener?.ccToggleBottomSheet?.name: listener._eventListener?.ccToggleBottomSheet?.(param); break; case listener._eventListener?.ccComposeMessage?.name: listener._eventListener?.ccComposeMessage?.(param); break; // case listener._eventListener?.ccMentionClick?.name: // listener._eventListener?.ccMentionClick(param); // break; case listener._eventListener?.ccSuggestionData?.name: listener._eventListener?.ccSuggestionData?.(param); break; } }); } static addUIListener(name, uiHandlers) { try { CometChatUIEventHandler.uiHandlers = CometChatUIEventHandler.uiHandlers?.filter((listener) => { return listener._name != name; }); CometChatUIEventHandler.uiHandlers = [ ...(CometChatUIEventHandler.uiHandlers ? CometChatUIEventHandler.uiHandlers : []), new UIListener(name, uiHandlers), ]; } catch (err) { console.log("addUserListener", err); } } static removeUIListener(name) { try { CometChatUIEventHandler.userHandlers = CometChatUIEventHandler.userHandlers?.filter((listener) => { return listener._name !== name; }); } catch (err) { console.log("removeUserListener", err); } } } export { CometChatUIEventHandler }; //# sourceMappingURL=CometChatUIEventHandler.js.map