cometchat-react-ui-kit2
Version:
CometChat UI Kit for React App
93 lines (92 loc) • 5.22 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.MessageListManager = 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 MessageListManager = /*#__PURE__*/function () {
function MessageListManager(limit, user, group, onlyUnread, hideDeletedMessages, hideMessagesFromBlockedUsers, tags, messageTypesRef, messageCategoryRef) {
(0, _classCallCheck2["default"])(this, MessageListManager);
(0, _defineProperty2["default"])(this, "parentMessageId", null);
(0, _defineProperty2["default"])(this, "messageRequest", null);
(0, _defineProperty2["default"])(this, "messageListenerId", "message_" + new Date().getTime());
(0, _defineProperty2["default"])(this, "groupListenerId", "group_" + new Date().getTime());
(0, _defineProperty2["default"])(this, "user", null);
(0, _defineProperty2["default"])(this, "group", null);
var types = messageTypesRef;
var categories = messageCategoryRef;
if (user && user.uid) {
this.messageRequest = new _chat.CometChat.MessagesRequestBuilder().setLimit(limit).setUID(user.uid).setCategories(categories).setTypes(types).setUnread(onlyUnread).hideMessagesFromBlockedUsers(hideMessagesFromBlockedUsers).setTags(tags).hideDeletedMessages(hideDeletedMessages).build();
} else if (group && group.guid) {
this.messageRequest = new _chat.CometChat.MessagesRequestBuilder().setGUID(group.guid).setLimit(limit).setCategories(categories).setTypes(types).setUnread(onlyUnread).hideMessagesFromBlockedUsers(hideMessagesFromBlockedUsers).setTags(tags).hideDeletedMessages(hideDeletedMessages).build();
}
}
(0, _createClass2["default"])(MessageListManager, [{
key: "fetchPreviousMessages",
value: function fetchPreviousMessages() {
return this.messageRequest.fetchPrevious();
}
}, {
key: "attachListeners",
value: function attachListeners(callback) {
_chat.CometChat.addMessageListener(this.messageListenerId, 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);
},
onMessagesDelivered: function onMessagesDelivered(messageReceipt) {
callback("onMessagesDelivered", messageReceipt);
},
onMessagesRead: function onMessagesRead(messageReceipt) {
callback("onMessagesRead", messageReceipt);
},
onMessageDeleted: function onMessageDeleted(deletedMessage) {
callback("onMessageDeleted", deletedMessage);
},
onMessageEdited: function onMessageEdited(editedMessage) {
callback("onMessageEdited", editedMessage);
}
}));
_chat.CometChat.addGroupListener(this.groupListenerId, new _chat.CometChat.GroupListener({
onGroupMemberScopeChanged: function onGroupMemberScopeChanged(message, changedUser, newScope, oldScope, changedGroup) {
callback("onGroupMemberScopeChanged", message, changedUser, newScope, oldScope, changedGroup);
},
onGroupMemberLeft: function onGroupMemberLeft(message, leavingUser, group) {
callback("onGroupMemberLeft", message, leavingUser, group);
},
onGroupMemberKicked: function onGroupMemberKicked(message, kickedUser, kickedBy, kickedFrom) {
callback("onGroupMemberKicked", message, kickedUser, kickedBy, kickedFrom);
},
onGroupMemberBanned: function onGroupMemberBanned(message, bannedUser, bannedBy, bannedFrom) {
callback("onGroupMemberBanned", message, bannedUser, bannedBy, bannedFrom);
},
onGroupMemberUnbanned: function onGroupMemberUnbanned(message, unbannedUser, unbannedBy, unbannedFrom) {
callback("onGroupMemberUnbanned", message, unbannedUser, unbannedBy, unbannedFrom);
},
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);
}
}));
}
}, {
key: "removeListeners",
value: function removeListeners() {
_chat.CometChat.removeMessageListener(this.messageListenerId);
_chat.CometChat.removeGroupListener(this.groupListenerId);
}
}]);
return MessageListManager;
}();
exports.MessageListManager = MessageListManager;