UNPKG

@tencentcloud/roomkit-electron-vue3

Version:

<h1 align="center"> TUIRoomKit</h1> Conference (TUIRoomKit) is a product suitable for multi-person audio and video conversation scenarios such as business meetings, webinars, and online education. By integrating this product, you can add room management,

95 lines (94 loc) 4.41 kB
"use strict"; Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } }); const Vue = require("vue"); require("../../adapter-vue.js"); const TUIChatEngine = require("@tencentcloud/chat-uikit-engine"); const index = require("./index.js"); const messagePluginLayout = require("./message-plugin-layout.vue.js"); const messageCallGroup = require("./message-call/message-call-group.vue.js"); const messageCallC2c = require("./message-call/message-call-c2c.vue.js"); const messageCustomerService = require("./message-customer/message-customer-service.vue.js"); const messageRoomDefault = require("./message-room/message-room-default.vue.js"); const _sfc_main = /* @__PURE__ */ Vue.defineComponent({ __name: "message-plugin", props: { message: { default: () => ({}) }, blinkMessageIDList: { default: () => [] } }, emits: ["resendMessage", "handleToggleMessageItem", "handleH5LongPress"], setup(__props, { emit: __emit }) { const props = __props; const emits = __emit; const messageModel = Vue.computed(() => TUIChatEngine.TUIStore.getMessageModel(props.message.ID)); const messageSignalingInfo = Vue.computed(() => { var _a; return (_a = messageModel == null ? void 0 : messageModel.value) == null ? void 0 : _a.getSignalingInfo(); }); const messageCustomContent = Vue.computed(() => { var _a; return (_a = messageModel == null ? void 0 : messageModel.value) == null ? void 0 : _a.getMessageContent(); }); const pluginMessageType = Vue.computed(() => { var _a; let typeObj = { pluginType: "", showStyle: "" }; if (index.isCallMessage(messageModel.value)) { typeObj = { pluginType: "call", showStyle: ((_a = messageModel.value) == null ? void 0 : _a.conversationType) === TUIChatEngine.TYPES.CONV_GROUP ? "tip" : "bubble" }; } else if (index.isRoomCardMessage(messageModel.value)) { typeObj = { pluginType: "room", showStyle: "bubble" }; } return typeObj; }); const resendMessage = (message) => { emits("resendMessage", message); }; const handleToggleMessageItem = (e, message, isLongpress = false) => { emits("handleToggleMessageItem", e, message, isLongpress); }; const handleH5LongPress = (e, message, type) => { emits("handleH5LongPress", e, message, type); }; return (_ctx, _cache) => { return Vue.openBlock(), Vue.createBlock(messagePluginLayout.default, { message: props.message, showStyle: Vue.unref(pluginMessageType).showStyle, bubbleClassNameList: [Vue.unref(pluginMessageType).pluginType === "room" ? "message-bubble-room" : ""], onResendMessage: resendMessage, onHandleToggleMessageItem: handleToggleMessageItem, onHandleH5LongPress: handleH5LongPress }, { messageTip: Vue.withCtx(() => [ Vue.createVNode(messageCallGroup.default, { message: props.message, signalingInfo: Vue.unref(messageSignalingInfo), customContent: Vue.unref(messageCustomContent), blinkMessageIDList: props.blinkMessageIDList }, null, 8, ["message", "signalingInfo", "customContent", "blinkMessageIDList"]) ]), messageBubble: Vue.withCtx(() => [ Vue.unref(pluginMessageType).pluginType === "call" ? (Vue.openBlock(), Vue.createBlock(messageCallC2c.default, { key: 0, message: props.message, signalingInfo: Vue.unref(messageSignalingInfo), customContent: Vue.unref(messageCustomContent) }, null, 8, ["message", "signalingInfo", "customContent"])) : Vue.createCommentVNode("", true), Vue.unref(pluginMessageType).pluginType === "customer" ? (Vue.openBlock(), Vue.createBlock(messageCustomerService.default, { key: 1, message: props.message }, null, 8, ["message"])) : Vue.createCommentVNode("", true), Vue.unref(pluginMessageType).pluginType === "room" ? (Vue.openBlock(), Vue.createBlock(messageRoomDefault.default, { key: 2, message: props.message }, null, 8, ["message"])) : Vue.createCommentVNode("", true) ]), _: 1 }, 8, ["message", "showStyle", "bubbleClassNameList"]); }; } }); exports.default = _sfc_main;