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,

164 lines (163 loc) 7.04 kB
"use strict"; Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } }); const Vue = require("vue"); const index = require("../../../../locales/index.js"); const type = require("../../type.js"); const IconButton = require("../../../common/base/IconButton.vue.js"); const vClickOutside = require("../../../../directives/vClickOutside.js"); ;/* empty css */ const ArrowIcon = require("../Icon/ArrowIcon.vue.js"); const SizeSmall = require("../Image/SizeSmall.svg.js"); const SizeMid = require("../Image/SizeMid.svg.js"); const SizeBig = require("../Image/SizeBig.svg.js"); const SizeLarge = require("../Image/SizeLarge.svg.js"); const BlueIcon = require("../Image/BlueIcon.svg.js"); const PurpleIcon = require("../Image/PurpleIcon.svg.js"); const YellowIcon = require("../Image/YellowIcon.svg.js"); const OrangeIcon = require("../Image/OrangeIcon.svg.js"); const RedIcon = require("../Image/RedIcon.svg.js"); const GreenIcon = require("../Image/GreenIcon.svg.js"); const DeepBlueIcon = require("../Image/DeepBlueIcon.svg.js"); const BlackIcon = require("../Image/BlackIcon.svg.js"); const DarkGrayIcon = require("../Image/DarkGrayIcon.svg.js"); const GrayIcon = require("../Image/GrayIcon.svg.js"); const LightGrayIcon = require("../Image/LightGrayIcon.svg.js"); const WhiteIcon = require("../Image/WhiteIcon.svg.js"); const index$1 = require("../../../../utils/common/logger/index.js"); const _hoisted_1 = { key: 0, class: "arrow-tool-setting whiteboard-tool-setting" }; const _hoisted_2 = { class: "size-setting-title setting-title" }; const _hoisted_3 = { class: "size-setting-section setting-section" }; const _hoisted_4 = ["onClick"]; const _hoisted_5 = ["src"]; const _hoisted_6 = { class: "color-setting-title setting-title" }; const _hoisted_7 = { class: "color-setting-section setting-section" }; const _hoisted_8 = ["onClick"]; const _hoisted_9 = ["src"]; const _sfc_main = /* @__PURE__ */ Vue.defineComponent({ __name: "index", props: { activeTool: String }, emits: ["click"], setup(__props, { emit: __emit }) { const { t } = index.useI18n(); const lineSizes = [ { icon: SizeSmall.default, size: 2 }, { icon: SizeMid.default, size: 4 }, { icon: SizeBig.default, size: 6 }, { icon: SizeLarge.default, size: 8 } ]; const lineColors = [ { color: "#4791FF", icon: BlueIcon.default }, { color: "#5940D7", icon: PurpleIcon.default }, { color: "#F5C342", icon: YellowIcon.default }, { color: "#E05734", icon: OrangeIcon.default }, { color: "#DC3859", icon: RedIcon.default }, { color: "#1AD32C", icon: GreenIcon.default }, { color: "#104683", icon: DeepBlueIcon.default }, { color: "#22262E", icon: BlackIcon.default }, { color: "#86909A", icon: DarkGrayIcon.default }, { color: "#B5BBC3", icon: GrayIcon.default }, { color: "#DBDDE2", icon: LightGrayIcon.default }, { color: "#EAEEF3", icon: WhiteIcon.default } ]; const showSettings = Vue.ref(false); const props = __props; function handleHideButtonSetting() { if (props.activeTool === type.DrawingTool.Arrow) { showSettings.value = false; } } const toolSetting = Vue.reactive({ drawingTool: type.DrawingTool.Arrow, shapeOptions: { strokeWidth: 4, stroke: "#22262E" } }); const emit = __emit; Vue.watch( () => props.activeTool, () => { showSettings.value = false; } ); const onClick = () => { showSettings.value = !showSettings.value; emit("click", toolSetting); index$1.default.debug("toolSetting", toolSetting); index$1.default.debug("emit", showSettings.value); index$1.default.debug("emit", showSettings.value); index$1.default.debug("emit", showSettings.value); index$1.default.debug("emit", showSettings.value); index$1.default.debug("emit", showSettings.value); }; const handleSizeClick = (size) => { var _a; if (size === ((_a = toolSetting.shapeOptions) == null ? void 0 : _a.strokeWidth)) { return; } toolSetting.shapeOptions.strokeWidth = size; emit("click", toolSetting); }; const handleColorClick = (color) => { if (toolSetting.shapeOptions.stroke !== color) { toolSetting.shapeOptions.stroke = color; emit("click", toolSetting); } }; return (_ctx, _cache) => { return Vue.withDirectives((Vue.openBlock(), Vue.createBlock(IconButton.default, { class: "tool-button", onClickIcon: onClick }, { default: Vue.withCtx(() => [ Vue.createVNode(ArrowIcon.default, { class: Vue.normalizeClass({ "whiteboard-icon-active": __props.activeTool === Vue.unref(type.DrawingTool).Arrow }) }, null, 8, ["class"]), showSettings.value && __props.activeTool === "Arrow" ? (Vue.openBlock(), Vue.createElementBlock("div", _hoisted_1, [ Vue.createElementVNode("div", _hoisted_2, Vue.toDisplayString(Vue.unref(t)("Arrow Size")), 1), Vue.createElementVNode("div", _hoisted_3, [ (Vue.openBlock(), Vue.createElementBlock(Vue.Fragment, null, Vue.renderList(lineSizes, (lineSize) => { return Vue.createElementVNode("button", { key: lineSize.size, class: Vue.normalizeClass(["size-button setting-option-button", { "button-active": lineSize.size === toolSetting.shapeOptions.strokeWidth }]), onClick: Vue.withModifiers(($event) => handleSizeClick(lineSize.size), ["stop"]) }, [ Vue.createElementVNode("img", { src: lineSize.icon }, null, 8, _hoisted_5) ], 10, _hoisted_4); }), 64)) ]), Vue.createElementVNode("div", _hoisted_6, Vue.toDisplayString(Vue.unref(t)("Arrow Color")), 1), Vue.createElementVNode("div", _hoisted_7, [ (Vue.openBlock(), Vue.createElementBlock(Vue.Fragment, null, Vue.renderList(lineColors, (lineColor) => { return Vue.createElementVNode("button", { key: lineColor.color, class: Vue.normalizeClass(["color-button setting-option-button", { "button-active": lineColor.color === toolSetting.shapeOptions.stroke }]), onClick: Vue.withModifiers(($event) => handleColorClick(lineColor.color), ["stop"]) }, [ Vue.createElementVNode("img", { src: lineColor.icon }, null, 8, _hoisted_9) ], 10, _hoisted_8); }), 64)) ]) ])) : Vue.createCommentVNode("", true) ]), _: 1 })), [ [Vue.unref(vClickOutside.default), handleHideButtonSetting] ]); }; } }); exports.default = _sfc_main;