@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,
93 lines (92 loc) • 4 kB
JavaScript
;
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
const Vue = require("vue");
require("../../../../../hooks/useZIndex.js");
const vTap = require("../../../../../directives/vTap.js");
;/* empty css */
require("@tencentcloud/uikit-base-component-vue3");
const environment = require("../../../../../utils/environment.js");
;/* empty css */
;/* empty css */
;/* empty css */
;/* empty css */
;/* empty css */
;/* empty css */
;/* empty css */
;/* empty css */
require("../../../../../components/common/base/IconButton.vue2.js");
;/* empty css */
const index = require("../../../../../components/common/base/Input/index.js");
;/* empty css */
;/* empty css */
require("../../../../../stores/basic.js");
;/* empty css */
require("../../../../../services/main.js");
const roomService = require("../../../../../services/roomService.js");
require("../../../../../locales/index.js");
require("@tencentcloud/tuiroom-engine-js");
require("mitt");
require("../../../../../services/manager/roomActionManager.js");
require("@tencentcloud/tui-core");
;/* empty css */
;/* empty css */
;/* empty css */
;/* empty css */
;/* empty css */
const _hoisted_1 = {
key: 0,
class: "input-content-container",
ref: "editorInputEleContainer"
};
const _hoisted_2 = { class: "input-content" };
const _hoisted_3 = { class: "input" };
const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
__name: "changeNameCardInput",
props: {
userInfo: {},
confirmFunction: { type: Function }
},
setup(__props) {
const props = __props;
const isShowInput = Vue.ref(true);
const inputUserName = Vue.ref(props.userInfo.nameCard);
function handleCloseInput(event) {
if (environment.isWeChat) {
isShowInput.value = false;
} else if (event.target !== event.currentTarget) {
return;
} else {
isShowInput.value = false;
}
}
async function handleConfirm() {
await props.confirmFunction(inputUserName.value);
isShowInput.value = false;
}
return (_ctx, _cache) => {
return isShowInput.value ? Vue.withDirectives((Vue.openBlock(), Vue.createElementBlock("div", _hoisted_1, [
Vue.createElementVNode("div", _hoisted_2, [
Vue.createElementVNode("div", _hoisted_3, [
Vue.createVNode(Vue.unref(index.default), {
ref: "editorInputEle",
theme: Vue.unref(roomService.roomService).basicStore.defaultTheme,
"model-value": inputUserName.value,
type: "text",
enterkeyhint: "done",
onInput: _cache[0] || (_cache[0] = ($event) => inputUserName.value = $event),
onDone: handleConfirm
}, null, 8, ["theme", "model-value"])
])
])
])), [
[
Vue.unref(vTap.default),
handleCloseInput,
void 0,
{ stop: true }
]
]) : Vue.createCommentVNode("", true);
};
}
});
exports.default = _sfc_main;