cometchat-react-ui-kit2
Version:
CometChat UI Kit for React App
140 lines (139 loc) • 7.08 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.CometChatMessageOptions = void 0;
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _ = require("../..");
var _2 = require("../../");
var _deleteicon = _interopRequireDefault(require("../CometChatMessageList/resources/deleteicon.svg"));
var _edit = _interopRequireDefault(require("../CometChatMessageList/resources/edit.svg"));
var _threadicon = _interopRequireDefault(require("../CometChatMessageList/resources/threadicon.svg"));
var _reactionsicon = _interopRequireDefault(require("../CometChatMessageList/resources/reactionsicon.svg"));
var _copy = _interopRequireDefault(require("../CometChatMessageList/resources/copy.svg"));
var _messageTranslation = _interopRequireDefault(require("../CometChatMessageList/resources/messageTranslation.svg"));
/**
* @class CometChatMessageOptions
* @description CometChatMessageOptions is a data model used for creating the various message actions with the id serving as the name of the action and the onClick as the handler function to be run on click.
* @param {String} id
* @param {String} icon
* @param {String} title
* @param {Function} onClick
* @param {String} optionFor
*/var CometChatMessageOptions = /*#__PURE__*/(0, _createClass2["default"])(function CometChatMessageOptions(_ref) {
var id = _ref.id,
iconURL = _ref.iconURL,
title = _ref.title,
onClick = _ref.onClick,
optionFor = _ref.optionFor;
(0, _classCallCheck2["default"])(this, CometChatMessageOptions);
(0, _defineProperty2["default"])(this, "id", "");
(0, _defineProperty2["default"])(this, "title", "");
(0, _defineProperty2["default"])(this, "iconURL", "");
(0, _defineProperty2["default"])(this, "onClick", null);
(0, _defineProperty2["default"])(this, "optionFor", "");
this.id = id;
this.iconURL = iconURL;
this.title = title;
this.onClick = onClick;
this.optionFor = optionFor;
});
exports.CometChatMessageOptions = CometChatMessageOptions;
(0, _defineProperty2["default"])(CometChatMessageOptions, "getMessageOptions", function (optionType) {
switch (optionType) {
case _.MessageOptionConstants.deleteMessage:
{
return new CometChatMessageOptions({
id: _.MessageOptionConstants.deleteMessage,
title: (0, _2.localize)("DELETE"),
//inside style
iconURL: _deleteicon["default"],
onClick: null,
optionFor: _.MessageOptionForConstants.sender
});
}
case _.MessageOptionConstants.editMessage:
{
return new CometChatMessageOptions({
id: _.MessageOptionConstants.editMessage,
title: (0, _2.localize)("EDIT_MESSAGE"),
//inside style
iconURL: _edit["default"],
onClick: null,
optionFor: _.MessageOptionForConstants.sender
});
}
case _.MessageOptionConstants.replyInThread:
{
return new CometChatMessageOptions({
id: _.MessageOptionConstants.replyInThread,
title: (0, _2.localize)("REPLY_IN_THREAD"),
//inside style
iconURL: _threadicon["default"],
onClick: null,
optionFor: ""
});
}
case _.MessageOptionConstants.copyMessage:
{
return new CometChatMessageOptions({
id: _.MessageOptionConstants.copyMessage,
title: (0, _2.localize)("COPY_MESSAGE"),
iconURL: _copy["default"],
onClick: null,
optionFor: _.MessageOptionForConstants.both
});
}
case _.MessageOptionConstants.translateMessage:
{
return new CometChatMessageOptions({
id: _.MessageOptionConstants.translateMessage,
title: (0, _2.localize)("TRANSLATE_MESSAGE"),
//inside style
iconURL: _messageTranslation["default"],
onClick: null,
optionFor: _.MessageOptionForConstants.both
});
}
case _.MessageOptionConstants.reactToMessage:
{
return new CometChatMessageOptions({
id: _.MessageOptionConstants.reactToMessage,
title: (0, _2.localize)("ADD_REACTION"),
//inside style
iconURL: _reactionsicon["default"],
onClick: null,
optionFor: _.MessageOptionForConstants.both
});
}
default:
return null;
}
});
(0, _defineProperty2["default"])(CometChatMessageOptions, "getDefaultOptions", function (type) {
switch (type) {
case _.MessageTypeConstants.text:
return [CometChatMessageOptions.getMessageOptions(_.MessageOptionConstants.reactToMessage), CometChatMessageOptions.getMessageOptions(_.MessageOptionConstants.editMessage), CometChatMessageOptions.getMessageOptions(_.MessageOptionConstants.copyMessage), CometChatMessageOptions.getMessageOptions(_.MessageOptionConstants.deleteMessage), CometChatMessageOptions.getMessageOptions(_.MessageOptionConstants.translateMessage)];
case _.MessageTypeConstants.file:
return [CometChatMessageOptions.getMessageOptions(_.MessageOptionConstants.reactToMessage), CometChatMessageOptions.getMessageOptions(_.MessageOptionConstants.deleteMessage)];
case _.MessageTypeConstants.audio:
return [CometChatMessageOptions.getMessageOptions(_.MessageOptionConstants.reactToMessage), CometChatMessageOptions.getMessageOptions(_.MessageOptionConstants.deleteMessage)];
case _.MessageTypeConstants.video:
return [CometChatMessageOptions.getMessageOptions(_.MessageOptionConstants.reactToMessage), CometChatMessageOptions.getMessageOptions(_.MessageOptionConstants.deleteMessage)];
case _.MessageTypeConstants.image:
return [CometChatMessageOptions.getMessageOptions(_.MessageOptionConstants.reactToMessage), CometChatMessageOptions.getMessageOptions(_.MessageOptionConstants.deleteMessage)];
case _.MessageTypeConstants.document:
return [CometChatMessageOptions.getMessageOptions(_.MessageOptionConstants.reactToMessage), CometChatMessageOptions.getMessageOptions(_.MessageOptionConstants.deleteMessage)];
case _.MessageTypeConstants.poll:
return [CometChatMessageOptions.getMessageOptions(_.MessageOptionConstants.reactToMessage), CometChatMessageOptions.getMessageOptions(_.MessageOptionConstants.deleteMessage)];
case _.MessageTypeConstants.sticker:
return [CometChatMessageOptions.getMessageOptions(_.MessageOptionConstants.reactToMessage), CometChatMessageOptions.getMessageOptions(_.MessageOptionConstants.deleteMessage)];
case _.MessageTypeConstants.whiteboard:
return [CometChatMessageOptions.getMessageOptions(_.MessageOptionConstants.reactToMessage), CometChatMessageOptions.getMessageOptions(_.MessageOptionConstants.deleteMessage)];
default:
return [];
}
});