UNPKG

cometchat-react-ui-kit2

Version:

CometChat UI Kit for React App

113 lines (112 loc) 6.21 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.ConversationListManager = void 0; var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _chat = require("@cometchat-pro/chat"); var _UIKitConstants = require("../../Shared/Constants/UIKitConstants"); var ConversationListManager = /*#__PURE__*/function () { function ConversationListManager(_ref) { var _ref$conversationType = _ref.conversationType, conversationType = _ref$conversationType === void 0 ? "both" : _ref$conversationType, _ref$limit = _ref.limit, limit = _ref$limit === void 0 ? 30 : _ref$limit, _ref$tags = _ref.tags, tags = _ref$tags === void 0 ? [] : _ref$tags, _ref$userAndGroupTags = _ref.userAndGroupTags, userAndGroupTags = _ref$userAndGroupTags === void 0 ? false : _ref$userAndGroupTags; (0, _classCallCheck2["default"])(this, ConversationListManager); (0, _defineProperty2["default"])(this, "conversationRequest", null); (0, _defineProperty2["default"])(this, "conversationListenerId", "chatlist_" + new Date().getTime()); (0, _defineProperty2["default"])(this, "userListenerId", "chatlist_user_" + new Date().getTime()); (0, _defineProperty2["default"])(this, "groupListenerId", "chatlist_group_" + new Date().getTime()); switch (conversationType) { case _UIKitConstants.ConversationTypeConstants[_UIKitConstants.ConversationTypeConstants.users]: this.conversationRequest = new _chat.CometChat.ConversationsRequestBuilder().setConversationType(conversationType).setLimit(limit).withTags(tags.length === 0 ? false : true).setTags(tags).withUserAndGroupTags(userAndGroupTags).build(); break; case _UIKitConstants.ConversationTypeConstants[_UIKitConstants.ConversationTypeConstants.groups]: this.conversationRequest = new _chat.CometChat.ConversationsRequestBuilder().setConversationType(conversationType).setLimit(limit).withTags(tags.length === 0 ? false : true).setTags(tags).withUserAndGroupTags(userAndGroupTags).build(); break; default: this.conversationRequest = new _chat.CometChat.ConversationsRequestBuilder().setLimit(limit).withTags(tags.length === 0 ? false : true).setTags(tags).withUserAndGroupTags(userAndGroupTags).build(); break; } } (0, _createClass2["default"])(ConversationListManager, [{ key: "fetchNextConversation", value: function fetchNextConversation() { return this.conversationRequest.fetchNext(); } }, { key: "attachListeners", value: function attachListeners(callback) { _chat.CometChat.addUserListener(this.userListenerId, new _chat.CometChat.UserListener({ onUserOnline: function onUserOnline(onlineUser) { callback("onUserOnline", onlineUser); }, onUserOffline: function onUserOffline(offlineUser) { callback("onUserOffline", offlineUser); } })); _chat.CometChat.addGroupListener(this.groupListenerId, new _chat.CometChat.GroupListener({ onGroupMemberScopeChanged: function onGroupMemberScopeChanged(message, changedUser, newScope, oldScope, changedGroup) { callback("onGroupMemberScopeChanged", message, changedUser, newScope, oldScope, changedGroup); }, onGroupMemberKicked: function onGroupMemberKicked(message, kickedUser, kickedBy, kickedFrom) { callback("onGroupMemberKicked", message, kickedUser, kickedBy, kickedFrom); }, onGroupMemberLeft: function onGroupMemberLeft(message, leavingUser, group) { callback("onGroupMemberLeft", message, leavingUser, null, group); }, onGroupMemberBanned: function onGroupMemberBanned(message, bannedUser, bannedBy, bannedFrom) { callback("onGroupMemberBanned", message, bannedUser, bannedBy, bannedFrom); }, onMemberAddedToGroup: function onMemberAddedToGroup(message, userAdded, userAddedBy, userAddedIn) { callback("onMemberAddedToGroup", message, userAdded, userAddedBy, userAddedIn); }, onGroupMemberJoined: function onGroupMemberJoined(message, joinedUser, joinedGroup) { callback("onGroupMemberJoined", message, joinedUser, null, joinedGroup); } })); _chat.CometChat.addMessageListener(this.conversationListenerId, new _chat.CometChat.MessageListener({ onTextMessageReceived: function onTextMessageReceived(textMessage) { callback("onTextMessageReceived", textMessage); }, onMediaMessageReceived: function onMediaMessageReceived(mediaMessage) { callback("onMediaMessageReceived", mediaMessage); }, onCustomMessageReceived: function onCustomMessageReceived(customMessage) { callback("onCustomMessageReceived", customMessage); }, onMessageDeleted: function onMessageDeleted(deletedMessage) { callback("onMessageDeleted", deletedMessage); }, onMessageEdited: function onMessageEdited(editedMessage) { callback("onMessageEdited", editedMessage); }, onMessagesRead: function onMessagesRead(messageReceipt) { callback("onMessagesRead", messageReceipt); }, onTypingStarted: function onTypingStarted(typingIndicator) { callback("onTypingStarted", typingIndicator, true); }, onTypingEnded: function onTypingEnded(typingIndicator) { callback("onTypingEnded", typingIndicator, false); } })); } }, { key: "removeListeners", value: function removeListeners() { _chat.CometChat.removeMessageListener(this.conversationListenerId); _chat.CometChat.removeUserListener(this.userListenerId); _chat.CometChat.removeGroupListener(this.groupListenerId); } }]); return ConversationListManager; }(); exports.ConversationListManager = ConversationListManager;