@tencentcloud/roomkit-web-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) • 3.9 kB
JavaScript
"use strict";
var __defProp = Object.defineProperty;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
const useRoomEngine = require("../../hooks/useRoomEngine.js");
const TUIRoomEngine = require("@tencentcloud/tuiroom-engine-js");
const roomEngine = useRoomEngine.default();
class RoomEventManager {
constructor(options) {
__publicField(this, "store");
this.store = options.store;
this.onRoomNameChanged = this.onRoomNameChanged.bind(this);
this.onRoomSeatModeChanged = this.onRoomSeatModeChanged.bind(this);
this.onRoomUserCountChanged = this.onRoomUserCountChanged.bind(this);
this.onAllUserCameraDisableChanged = this.onAllUserCameraDisableChanged.bind(this);
this.onScreenShareForAllUserDisableChanged = this.onScreenShareForAllUserDisableChanged.bind(this);
this.onAllUserMicrophoneDisableChanged = this.onAllUserMicrophoneDisableChanged.bind(this);
this.onSendMessageForAllUserDisableChanged = this.onSendMessageForAllUserDisableChanged.bind(this);
this.onUserInfoChanged = this.onUserInfoChanged.bind(this);
this.bindRoomEngineEvents();
}
onRoomNameChanged({ roomName }) {
this.store.setRoomInfo({ roomName });
}
onRoomSeatModeChanged({ seatMode }) {
this.store.setRoomInfo({ seatMode });
}
onRoomUserCountChanged({ userCount }) {
this.store.setRoomInfo({ roomMemberCount: userCount });
}
onAllUserCameraDisableChanged({ isDisable }) {
this.store.setRoomInfo({ isCameraDisableForAllUser: isDisable });
}
onScreenShareForAllUserDisableChanged({
isDisable
}) {
this.store.setRoomInfo({ isScreenShareDisableForAllUser: isDisable });
}
onAllUserMicrophoneDisableChanged({
isDisable
}) {
this.store.setRoomInfo({ isMicrophoneDisableForAllUser: isDisable });
}
onSendMessageForAllUserDisableChanged({
isDisable
}) {
this.store.setRoomInfo({ isMessageDisableForAllUser: isDisable });
}
onUserInfoChanged({ userInfo }) {
if (userInfo.userRole === TUIRoomEngine.TUIRole.kRoomOwner) {
this.store.setRoomInfo({
roomOwner: userInfo.userId,
ownerId: userInfo.userId
});
}
}
bindRoomEngineEvents() {
var _a, _b, _c, _d, _e, _f, _g, _h;
(_a = roomEngine.instance) == null ? void 0 : _a.on(
TUIRoomEngine.TUIRoomEvents.onRoomNameChanged,
this.onRoomNameChanged
);
(_b = roomEngine.instance) == null ? void 0 : _b.on(
TUIRoomEngine.TUIRoomEvents.onRoomSeatModeChanged,
this.onRoomSeatModeChanged
);
(_c = roomEngine.instance) == null ? void 0 : _c.on(
TUIRoomEngine.TUIRoomEvents.onRoomUserCountChanged,
this.onRoomUserCountChanged
);
(_d = roomEngine.instance) == null ? void 0 : _d.on(
TUIRoomEngine.TUIRoomEvents.onAllUserCameraDisableChanged,
this.onAllUserCameraDisableChanged
);
(_e = roomEngine.instance) == null ? void 0 : _e.on(
TUIRoomEngine.TUIRoomEvents.onScreenShareForAllUserDisableChanged,
this.onScreenShareForAllUserDisableChanged
);
(_f = roomEngine.instance) == null ? void 0 : _f.on(
TUIRoomEngine.TUIRoomEvents.onAllUserMicrophoneDisableChanged,
this.onAllUserMicrophoneDisableChanged
);
(_g = roomEngine.instance) == null ? void 0 : _g.on(
TUIRoomEngine.TUIRoomEvents.onSendMessageForAllUserDisableChanged,
this.onSendMessageForAllUserDisableChanged
);
(_h = roomEngine.instance) == null ? void 0 : _h.on(
TUIRoomEngine.TUIRoomEvents.onUserInfoChanged,
this.onUserInfoChanged
);
}
}
exports.default = RoomEventManager;