@tencentcloud/roomkit-electron-vue3 2.4.1 → 2.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (430) hide show
  1. package/es/components/Chat/ChatEditor/useChatEditor.mjs +1 -1
  2. package/es/components/Chat/MessageList/index.vue.mjs +1 -1
  3. package/es/components/Chat/MessageList/index.vue2.mjs +5 -1
  4. package/es/components/Chat/MessageList/useMessageListHook.mjs +4 -3
  5. package/es/components/ManageMember/MemberControl/index.vue.mjs +1 -1
  6. package/es/components/ManageMember/MemberControl/index.vue2.mjs +36 -19
  7. package/es/components/ManageMember/MemberControl/useMemberControlHooks.d.ts +6 -1
  8. package/es/components/ManageMember/MemberControl/useMemberControlHooks.mjs +113 -17
  9. package/es/components/ManageMember/MemberItem/useMemberItemHooks.d.ts +1 -0
  10. package/es/components/ManageMember/MemberItem/useMemberItemHooks.mjs +8 -6
  11. package/es/components/ManageMember/MemberItemCommon/MemberInfo.vue.mjs +1 -1
  12. package/es/components/ManageMember/MemberItemCommon/MemberInfo.vue2.mjs +7 -3
  13. package/es/components/ManageMember/index.vue.mjs +1 -1
  14. package/es/components/ManageMember/index.vue2.mjs +58 -7
  15. package/es/components/ManageMember/useIndexHooks.mjs +63 -14
  16. package/es/components/RoomContent/StreamContainer/index.vue.mjs +1 -1
  17. package/es/components/RoomContent/StreamContainer/index.vue2.mjs +10 -9
  18. package/es/components/RoomContent/StreamContainer/useStreamContainerHooks.d.ts +8 -0
  19. package/es/components/RoomContent/StreamContainer/useStreamContainerHooks.mjs +73 -29
  20. package/es/components/RoomContent/StreamRegion/index.vue.d.ts +5 -1
  21. package/es/components/RoomContent/StreamRegion/index.vue.mjs +1 -1
  22. package/es/components/RoomContent/StreamRegion/index.vue2.mjs +29 -5
  23. package/es/components/RoomFooter/ApplyControl/MasterApplyControl/index.vue.mjs +1 -1
  24. package/es/components/RoomFooter/ApplyControl/MasterApplyControl/index.vue2.mjs +10 -4
  25. package/es/components/RoomFooter/ApplyControl/MemberApplyControl.vue2.mjs +2 -2
  26. package/es/components/RoomFooter/AudioControl.vue2.mjs +2 -2
  27. package/es/components/RoomFooter/EndControl/index.vue.mjs +1 -1
  28. package/es/components/RoomFooter/EndControl/index.vue2.mjs +1 -1
  29. package/es/components/RoomFooter/EndControl/useEndControlHooks.mjs +16 -4
  30. package/es/components/RoomFooter/ScreenShareControl/Index.vue.mjs +1 -1
  31. package/es/components/RoomFooter/ScreenShareControl/Index.vue2.mjs +11 -3
  32. package/es/components/RoomFooter/VideoControl.vue.mjs +1 -1
  33. package/es/components/RoomFooter/VideoControl.vue2.mjs +8 -14
  34. package/es/components/RoomHeader/RoomInfo/index.vue2.mjs +2 -2
  35. package/es/components/RoomHeader/UserInfo/index.vue.d.ts +3 -11
  36. package/es/components/RoomHeader/UserInfo/index.vue.mjs +1 -1
  37. package/es/components/RoomHeader/UserInfo/index.vue2.mjs +9 -92
  38. package/es/components/RoomHeader/UserInfo/useUserInfoHooks.d.ts +2 -8
  39. package/es/components/RoomHeader/UserInfo/useUserInfoHooks.mjs +1 -18
  40. package/es/components/RoomHeader/index/NetworkInfo.vue2.mjs +2 -2
  41. package/es/components/RoomHome/RoomControl/index.vue.d.ts +10 -0
  42. package/es/components/RoomHome/RoomControl/index.vue.mjs +1 -1
  43. package/es/components/RoomHome/RoomControl/index.vue2.mjs +153 -120
  44. package/es/components/RoomInvite/index.vue2.mjs +2 -2
  45. package/es/components/RoomMore/index.vue2.mjs +2 -2
  46. package/es/components/RoomSidebar/useSideBarHooks.mjs +3 -2
  47. package/es/components/ScheduleConference/Contacts.vue.d.ts +22 -0
  48. package/es/components/ScheduleConference/Contacts.vue.mjs +7 -0
  49. package/es/components/ScheduleConference/Contacts.vue2.mjs +212 -0
  50. package/es/components/ScheduleConference/DurationTimePicker.vue.d.ts +18 -0
  51. package/es/components/ScheduleConference/DurationTimePicker.vue.mjs +67 -0
  52. package/es/components/ScheduleConference/DurationTimePicker.vue2.mjs +4 -0
  53. package/es/components/ScheduleConference/ScheduleConferencePanel.vue.d.ts +22 -0
  54. package/es/components/ScheduleConference/ScheduleConferencePanel.vue.mjs +7 -0
  55. package/es/components/ScheduleConference/ScheduleConferencePanel.vue2.mjs +613 -0
  56. package/es/components/ScheduleConference/ScheduleConferencePanel.vue3.mjs +1 -0
  57. package/es/components/ScheduleConference/ScheduleRoomControl.vue.d.ts +29 -0
  58. package/es/components/ScheduleConference/ScheduleRoomControl.vue.mjs +7 -0
  59. package/es/components/ScheduleConference/ScheduleRoomControl.vue2.mjs +464 -0
  60. package/es/components/ScheduleConference/ScheduleRoomControl.vue3.mjs +1 -0
  61. package/es/components/{common/base/Input.vue.d.ts → ScheduleConference/ScheduleRoomList.vue.d.ts} +11 -22
  62. package/es/components/ScheduleConference/ScheduleRoomList.vue.mjs +7 -0
  63. package/es/components/ScheduleConference/ScheduleRoomList.vue2.mjs +219 -0
  64. package/es/components/ScheduleConference/ScheduleRoomList.vue3.mjs +1 -0
  65. package/es/components/ScheduleConference/ShareLink.vue.d.ts +24 -0
  66. package/es/components/ScheduleConference/ShareLink.vue.mjs +7 -0
  67. package/es/components/ScheduleConference/ShareLink.vue2.mjs +113 -0
  68. package/es/components/ScheduleConference/ShareLink.vue3.mjs +1 -0
  69. package/es/components/ScheduleConference/TimezonePicker.vue.d.ts +18 -0
  70. package/es/components/ScheduleConference/TimezonePicker.vue.mjs +84 -0
  71. package/es/components/ScheduleConference/TimezonePicker.vue2.mjs +4 -0
  72. package/es/components/common/Avatar.vue.mjs +2 -2
  73. package/es/components/common/DeviceSelect.vue.mjs +1 -1
  74. package/es/components/common/DeviceSelect.vue2.mjs +58 -19
  75. package/es/components/common/Logo.vue.mjs +1 -1
  76. package/es/components/common/Logo.vue2.mjs +3 -3
  77. package/es/components/common/VideoProfile.vue2.mjs +2 -2
  78. package/es/components/common/base/Badge.vue.d.ts +1 -1
  79. package/es/components/common/base/Button.vue.d.ts +2 -2
  80. package/es/components/common/base/Checkbox.vue.d.ts +4 -2
  81. package/es/components/common/base/Checkbox.vue.mjs +2 -2
  82. package/es/components/common/base/Checkbox.vue2.mjs +12 -5
  83. package/es/components/common/base/Datepicker/Datepicker.vue.d.ts +18 -0
  84. package/es/components/common/base/Datepicker/Datepicker.vue.mjs +7 -0
  85. package/es/components/common/base/Datepicker/Datepicker.vue2.mjs +167 -0
  86. package/es/components/common/base/Datepicker/Datepicker.vue3.mjs +1 -0
  87. package/es/components/common/base/Datepicker/Timepicker.vue.d.ts +18 -0
  88. package/es/components/common/base/Datepicker/Timepicker.vue.mjs +66 -0
  89. package/es/components/common/base/Datepicker/Timepicker.vue2.mjs +4 -0
  90. package/es/components/common/base/Dialog/index.vue.d.ts +8 -4
  91. package/es/components/common/base/Dialog/index.vue.mjs +1 -1
  92. package/es/components/common/base/Dialog/index.vue2.mjs +17 -9
  93. package/es/components/common/base/Drawer.vue.d.ts +1 -1
  94. package/es/components/common/base/IconButton.vue.d.ts +2 -2
  95. package/es/components/common/base/Input/index.vue.d.ts +77 -0
  96. package/es/components/common/base/Input/index.vue.mjs +7 -0
  97. package/es/components/common/base/Input/index.vue2.mjs +140 -0
  98. package/es/components/common/base/Input/index.vue3.mjs +1 -0
  99. package/es/components/common/base/Message/Instance.mjs +1 -1
  100. package/es/components/common/base/Message/Message.vue.d.ts +4 -4
  101. package/es/components/common/base/MessageBox/index.d.ts +3 -2
  102. package/es/components/common/base/MessageBox/index.mjs +2 -1
  103. package/es/components/common/base/MessageBox/index.vue.d.ts +6 -1
  104. package/es/components/common/base/MessageBox/index.vue.mjs +1 -1
  105. package/es/components/common/base/MessageBox/index.vue2.mjs +60 -10
  106. package/es/components/common/base/Notification/index.vue.d.ts +2 -2
  107. package/es/components/common/base/Option.vue.d.ts +11 -1
  108. package/es/components/common/base/Option.vue.mjs +1 -1
  109. package/es/components/common/base/Option.vue2.mjs +16 -6
  110. package/es/components/common/base/Select.vue.d.ts +5 -1
  111. package/es/components/common/base/Select.vue.mjs +1 -1
  112. package/es/components/common/base/Select.vue2.mjs +12 -11
  113. package/es/components/common/base/index.d.ts +1 -1
  114. package/es/components/common/icons/AllMembersShareScreenIcon.vue.d.ts +2 -0
  115. package/es/components/common/icons/AllMembersShareScreenIcon.vue.mjs +22 -0
  116. package/es/components/common/icons/CalendarIcon.vue.d.ts +2 -0
  117. package/es/components/common/icons/CalendarIcon.vue.mjs +24 -0
  118. package/es/components/common/icons/CopyIcon.vue.mjs +2 -2
  119. package/es/components/common/icons/EditNameCardIcon.vue.d.ts +2 -0
  120. package/es/components/common/icons/EditNameCardIcon.vue.mjs +21 -0
  121. package/es/components/common/icons/EllipsisIcon.vue.d.ts +2 -0
  122. package/es/components/common/icons/EllipsisIcon.vue.mjs +34 -0
  123. package/es/components/common/icons/HostShareScreenIcon.vue.d.ts +2 -0
  124. package/es/components/common/icons/HostShareScreenIcon.vue.mjs +22 -0
  125. package/es/components/common/icons/LinkIcon.vue.d.ts +2 -0
  126. package/es/components/common/icons/LinkIcon.vue.mjs +36 -0
  127. package/es/components/common/icons/LoadingScheduleIcon.vue.d.ts +2 -0
  128. package/es/components/common/icons/LoadingScheduleIcon.vue.mjs +24 -0
  129. package/es/components/common/icons/ScheduleAttendees.vue.d.ts +6 -0
  130. package/es/components/common/icons/ScheduleAttendees.vue.mjs +25 -0
  131. package/es/components/common/icons/ScheduleAttendees.vue2.mjs +4 -0
  132. package/es/components/common/icons/ScheduleRoomIcon.vue.d.ts +2 -0
  133. package/es/components/common/icons/ScheduleRoomIcon.vue.mjs +24 -0
  134. package/es/components/common/icons/SuccessIcon.vue.d.ts +2 -0
  135. package/es/components/common/icons/SuccessIcon.vue.mjs +32 -0
  136. package/es/components/common/icons/WarningIcon.vue.d.ts +2 -0
  137. package/es/components/common/icons/WarningIcon.vue.mjs +29 -0
  138. package/es/conference.d.ts +2 -0
  139. package/es/conference.mjs +3 -0
  140. package/es/conference.vue.mjs +1 -1
  141. package/es/conference.vue2.mjs +9 -4
  142. package/es/directives/vDblTouch.d.ts +10 -0
  143. package/es/directives/vTap.d.ts +1 -0
  144. package/es/directives/vTap.mjs +30 -3
  145. package/es/extension/chatExtension.mjs +3 -3
  146. package/es/hooks/useDeviceManager.mjs +3 -3
  147. package/es/hooks/useMasterApplyControl.mjs +5 -5
  148. package/es/hooks/useRoomEngine.mjs +4 -4
  149. package/es/index.d.ts +1 -0
  150. package/es/index.mjs +2581 -1743
  151. package/es/locales/en-US.d.ts +75 -0
  152. package/es/locales/en-US.mjs +78 -1
  153. package/es/locales/zh-CN.d.ts +79 -0
  154. package/es/locales/zh-CN.mjs +83 -2
  155. package/es/preConference.vue.d.ts +10 -0
  156. package/es/preConference.vue.mjs +1 -1
  157. package/es/preConference.vue2.mjs +89 -13
  158. package/es/services/function/errorHandler.d.ts +10 -0
  159. package/es/services/function/errorHandler.mjs +158 -0
  160. package/es/services/function/virtualBackground.mjs +4 -3
  161. package/es/services/index.d.ts +1 -0
  162. package/es/services/manager/roomActionManager.d.ts +1 -0
  163. package/es/services/manager/roomActionManager.mjs +10 -18
  164. package/es/services/manager/scheduleConferenceManager.d.ts +113 -0
  165. package/es/services/manager/scheduleConferenceManager.mjs +141 -0
  166. package/es/services/manager/userManager.d.ts +2 -0
  167. package/es/services/manager/userManager.mjs +7 -3
  168. package/es/services/roomService.d.ts +8 -0
  169. package/es/services/roomService.mjs +42 -16
  170. package/es/services/types.d.ts +8 -0
  171. package/es/services/types.mjs +2 -0
  172. package/es/stores/basic.mjs +9 -3
  173. package/es/stores/room.d.ts +2 -0
  174. package/es/stores/room.mjs +55 -24
  175. package/es/utils/adapter.mjs +39 -3
  176. package/es/utils/utils.d.ts +3 -0
  177. package/es/utils/utils.mjs +64 -0
  178. package/lib/components/Chat/ChatEditor/useChatEditor.js +1 -1
  179. package/lib/components/Chat/MessageList/index.vue.js +1 -1
  180. package/lib/components/Chat/MessageList/index.vue2.js +5 -1
  181. package/lib/components/Chat/MessageList/useMessageListHook.js +2 -1
  182. package/lib/components/ManageMember/MemberControl/index.vue.js +1 -1
  183. package/lib/components/ManageMember/MemberControl/index.vue2.js +35 -18
  184. package/lib/components/ManageMember/MemberControl/useMemberControlHooks.d.ts +6 -1
  185. package/lib/components/ManageMember/MemberControl/useMemberControlHooks.js +113 -17
  186. package/lib/components/ManageMember/MemberItem/useMemberItemHooks.d.ts +1 -0
  187. package/lib/components/ManageMember/MemberItem/useMemberItemHooks.js +8 -6
  188. package/lib/components/ManageMember/MemberItemCommon/MemberInfo.vue.js +1 -1
  189. package/lib/components/ManageMember/MemberItemCommon/MemberInfo.vue2.js +5 -1
  190. package/lib/components/ManageMember/index.vue.js +1 -1
  191. package/lib/components/ManageMember/index.vue2.js +57 -6
  192. package/lib/components/ManageMember/useIndexHooks.js +63 -14
  193. package/lib/components/RoomContent/StreamContainer/index.vue.js +1 -1
  194. package/lib/components/RoomContent/StreamContainer/index.vue2.js +10 -9
  195. package/lib/components/RoomContent/StreamContainer/useStreamContainerHooks.d.ts +8 -0
  196. package/lib/components/RoomContent/StreamContainer/useStreamContainerHooks.js +72 -28
  197. package/lib/components/RoomContent/StreamRegion/index.vue.d.ts +5 -1
  198. package/lib/components/RoomContent/StreamRegion/index.vue.js +1 -1
  199. package/lib/components/RoomContent/StreamRegion/index.vue2.js +27 -3
  200. package/lib/components/RoomFooter/ApplyControl/MasterApplyControl/index.vue.js +1 -1
  201. package/lib/components/RoomFooter/ApplyControl/MasterApplyControl/index.vue2.js +8 -2
  202. package/lib/components/RoomFooter/EndControl/index.vue.js +1 -1
  203. package/lib/components/RoomFooter/EndControl/index.vue2.js +1 -1
  204. package/lib/components/RoomFooter/EndControl/useEndControlHooks.js +14 -2
  205. package/lib/components/RoomFooter/ScreenShareControl/Index.vue.js +1 -1
  206. package/lib/components/RoomFooter/ScreenShareControl/Index.vue2.js +9 -1
  207. package/lib/components/RoomFooter/VideoControl.vue.js +1 -1
  208. package/lib/components/RoomFooter/VideoControl.vue2.js +6 -12
  209. package/lib/components/RoomHeader/UserInfo/index.vue.d.ts +3 -11
  210. package/lib/components/RoomHeader/UserInfo/index.vue.js +1 -1
  211. package/lib/components/RoomHeader/UserInfo/index.vue2.js +6 -89
  212. package/lib/components/RoomHeader/UserInfo/useUserInfoHooks.d.ts +2 -8
  213. package/lib/components/RoomHeader/UserInfo/useUserInfoHooks.js +1 -18
  214. package/lib/components/RoomHome/RoomControl/index.vue.d.ts +10 -0
  215. package/lib/components/RoomHome/RoomControl/index.vue.js +1 -1
  216. package/lib/components/RoomHome/RoomControl/index.vue2.js +150 -117
  217. package/lib/components/RoomSidebar/useSideBarHooks.js +3 -2
  218. package/lib/components/ScheduleConference/Contacts.vue.d.ts +22 -0
  219. package/lib/components/ScheduleConference/Contacts.vue.js +7 -0
  220. package/lib/components/ScheduleConference/Contacts.vue2.js +212 -0
  221. package/lib/components/ScheduleConference/DurationTimePicker.vue.d.ts +18 -0
  222. package/lib/components/ScheduleConference/DurationTimePicker.vue.js +67 -0
  223. package/lib/components/ScheduleConference/DurationTimePicker.vue2.js +4 -0
  224. package/lib/components/ScheduleConference/ScheduleConferencePanel.vue.d.ts +22 -0
  225. package/lib/components/ScheduleConference/ScheduleConferencePanel.vue.js +7 -0
  226. package/lib/components/ScheduleConference/ScheduleConferencePanel.vue2.js +613 -0
  227. package/lib/components/ScheduleConference/ScheduleConferencePanel.vue3.js +1 -0
  228. package/lib/components/ScheduleConference/ScheduleRoomControl.vue.d.ts +29 -0
  229. package/lib/components/ScheduleConference/ScheduleRoomControl.vue.js +7 -0
  230. package/lib/components/ScheduleConference/ScheduleRoomControl.vue2.js +464 -0
  231. package/lib/components/ScheduleConference/ScheduleRoomControl.vue3.js +1 -0
  232. package/lib/components/{common/base/Input.vue.d.ts → ScheduleConference/ScheduleRoomList.vue.d.ts} +11 -22
  233. package/lib/components/ScheduleConference/ScheduleRoomList.vue.js +7 -0
  234. package/lib/components/ScheduleConference/ScheduleRoomList.vue2.js +219 -0
  235. package/lib/components/ScheduleConference/ScheduleRoomList.vue3.js +1 -0
  236. package/lib/components/ScheduleConference/ShareLink.vue.d.ts +24 -0
  237. package/lib/components/ScheduleConference/ShareLink.vue.js +7 -0
  238. package/lib/components/ScheduleConference/ShareLink.vue2.js +113 -0
  239. package/lib/components/ScheduleConference/ShareLink.vue3.js +1 -0
  240. package/lib/components/ScheduleConference/TimezonePicker.vue.d.ts +18 -0
  241. package/lib/components/ScheduleConference/TimezonePicker.vue.js +84 -0
  242. package/lib/components/ScheduleConference/TimezonePicker.vue2.js +4 -0
  243. package/lib/components/common/Avatar.vue.js +2 -2
  244. package/lib/components/common/DeviceSelect.vue.js +1 -1
  245. package/lib/components/common/DeviceSelect.vue2.js +57 -18
  246. package/lib/components/common/Logo.vue.js +1 -1
  247. package/lib/components/common/Logo.vue2.js +2 -2
  248. package/lib/components/common/base/Badge.vue.d.ts +1 -1
  249. package/lib/components/common/base/Button.vue.d.ts +2 -2
  250. package/lib/components/common/base/Checkbox.vue.d.ts +4 -2
  251. package/lib/components/common/base/Checkbox.vue.js +2 -2
  252. package/lib/components/common/base/Checkbox.vue2.js +11 -4
  253. package/lib/components/common/base/Datepicker/Datepicker.vue.d.ts +18 -0
  254. package/lib/components/common/base/Datepicker/Datepicker.vue.js +7 -0
  255. package/lib/components/common/base/Datepicker/Datepicker.vue2.js +167 -0
  256. package/lib/components/common/base/Datepicker/Datepicker.vue3.js +1 -0
  257. package/lib/components/common/base/Datepicker/Timepicker.vue.d.ts +18 -0
  258. package/lib/components/common/base/Datepicker/Timepicker.vue.js +66 -0
  259. package/lib/components/common/base/Datepicker/Timepicker.vue2.js +4 -0
  260. package/lib/components/common/base/Dialog/index.vue.d.ts +8 -4
  261. package/lib/components/common/base/Dialog/index.vue.js +1 -1
  262. package/lib/components/common/base/Dialog/index.vue2.js +16 -8
  263. package/lib/components/common/base/Drawer.vue.d.ts +1 -1
  264. package/lib/components/common/base/IconButton.vue.d.ts +2 -2
  265. package/lib/components/common/base/Input/index.vue.d.ts +77 -0
  266. package/lib/components/common/base/Input/index.vue.js +7 -0
  267. package/lib/components/common/base/Input/index.vue2.js +140 -0
  268. package/lib/components/common/base/Input/index.vue3.js +1 -0
  269. package/lib/components/common/base/Message/Instance.js +1 -1
  270. package/lib/components/common/base/Message/Message.vue.d.ts +4 -4
  271. package/lib/components/common/base/MessageBox/index.d.ts +3 -2
  272. package/lib/components/common/base/MessageBox/index.js +2 -1
  273. package/lib/components/common/base/MessageBox/index.vue.d.ts +6 -1
  274. package/lib/components/common/base/MessageBox/index.vue.js +1 -1
  275. package/lib/components/common/base/MessageBox/index.vue2.js +59 -9
  276. package/lib/components/common/base/Notification/index.vue.d.ts +2 -2
  277. package/lib/components/common/base/Option.vue.d.ts +11 -1
  278. package/lib/components/common/base/Option.vue.js +1 -1
  279. package/lib/components/common/base/Option.vue2.js +15 -5
  280. package/lib/components/common/base/Select.vue.d.ts +5 -1
  281. package/lib/components/common/base/Select.vue.js +1 -1
  282. package/lib/components/common/base/Select.vue2.js +11 -10
  283. package/lib/components/common/base/index.d.ts +1 -1
  284. package/lib/components/common/icons/AllMembersShareScreenIcon.vue.d.ts +2 -0
  285. package/lib/components/common/icons/AllMembersShareScreenIcon.vue.js +22 -0
  286. package/lib/components/common/icons/CalendarIcon.vue.d.ts +2 -0
  287. package/lib/components/common/icons/CalendarIcon.vue.js +24 -0
  288. package/lib/components/common/icons/CopyIcon.vue.js +2 -2
  289. package/lib/components/common/icons/EditNameCardIcon.vue.d.ts +2 -0
  290. package/lib/components/common/icons/EditNameCardIcon.vue.js +21 -0
  291. package/lib/components/common/icons/EllipsisIcon.vue.d.ts +2 -0
  292. package/lib/components/common/icons/EllipsisIcon.vue.js +34 -0
  293. package/lib/components/common/icons/HostShareScreenIcon.vue.d.ts +2 -0
  294. package/lib/components/common/icons/HostShareScreenIcon.vue.js +22 -0
  295. package/lib/components/common/icons/LinkIcon.vue.d.ts +2 -0
  296. package/lib/components/common/icons/LinkIcon.vue.js +36 -0
  297. package/lib/components/common/icons/LoadingScheduleIcon.vue.d.ts +2 -0
  298. package/lib/components/common/icons/LoadingScheduleIcon.vue.js +24 -0
  299. package/lib/components/common/icons/ScheduleAttendees.vue.d.ts +6 -0
  300. package/lib/components/common/icons/ScheduleAttendees.vue.js +25 -0
  301. package/lib/components/common/icons/ScheduleAttendees.vue2.js +4 -0
  302. package/lib/components/common/icons/ScheduleRoomIcon.vue.d.ts +2 -0
  303. package/lib/components/common/icons/ScheduleRoomIcon.vue.js +24 -0
  304. package/lib/components/common/icons/SuccessIcon.vue.d.ts +2 -0
  305. package/lib/components/common/icons/SuccessIcon.vue.js +32 -0
  306. package/lib/components/common/icons/WarningIcon.vue.d.ts +2 -0
  307. package/lib/components/common/icons/WarningIcon.vue.js +29 -0
  308. package/lib/conference.d.ts +2 -0
  309. package/lib/conference.js +3 -0
  310. package/lib/conference.vue.js +1 -1
  311. package/lib/conference.vue2.js +9 -4
  312. package/lib/directives/vDblTouch.d.ts +10 -0
  313. package/lib/directives/vTap.d.ts +1 -0
  314. package/lib/directives/vTap.js +30 -3
  315. package/lib/extension/chatExtension.js +1 -1
  316. package/lib/hooks/useMasterApplyControl.js +3 -3
  317. package/lib/index.d.ts +1 -0
  318. package/lib/index.js +2588 -1744
  319. package/lib/locales/en-US.d.ts +75 -0
  320. package/lib/locales/en-US.js +78 -1
  321. package/lib/locales/zh-CN.d.ts +79 -0
  322. package/lib/locales/zh-CN.js +83 -2
  323. package/lib/preConference.vue.d.ts +10 -0
  324. package/lib/preConference.vue.js +1 -1
  325. package/lib/preConference.vue2.js +88 -12
  326. package/lib/services/function/errorHandler.d.ts +10 -0
  327. package/lib/services/function/errorHandler.js +158 -0
  328. package/lib/services/function/virtualBackground.js +3 -2
  329. package/lib/services/index.d.ts +1 -0
  330. package/lib/services/manager/roomActionManager.d.ts +1 -0
  331. package/lib/services/manager/roomActionManager.js +10 -18
  332. package/lib/services/manager/scheduleConferenceManager.d.ts +113 -0
  333. package/lib/services/manager/scheduleConferenceManager.js +147 -0
  334. package/lib/services/manager/userManager.d.ts +2 -0
  335. package/lib/services/manager/userManager.js +4 -0
  336. package/lib/services/roomService.d.ts +8 -0
  337. package/lib/services/roomService.js +38 -12
  338. package/lib/services/types.d.ts +8 -0
  339. package/lib/services/types.js +2 -0
  340. package/lib/stores/basic.js +8 -2
  341. package/lib/stores/room.d.ts +2 -0
  342. package/lib/stores/room.js +55 -24
  343. package/lib/utils/adapter.js +39 -3
  344. package/lib/utils/utils.d.ts +3 -0
  345. package/lib/utils/utils.js +64 -0
  346. package/package.json +2 -2
  347. package/src/TUIRoom/assets/style/black-theme.scss +3 -1
  348. package/src/TUIRoom/assets/style/white-theme.scss +3 -1
  349. package/src/TUIRoom/components/Chat/ChatEditor/useChatEditor.ts +1 -1
  350. package/src/TUIRoom/components/Chat/MessageList/index.vue +5 -1
  351. package/src/TUIRoom/components/Chat/MessageList/useMessageListHook.ts +2 -1
  352. package/src/TUIRoom/components/ManageMember/MemberControl/index.vue +23 -7
  353. package/src/TUIRoom/components/ManageMember/MemberControl/useMemberControlHooks.ts +110 -14
  354. package/src/TUIRoom/components/ManageMember/MemberItem/useMemberItemHooks.ts +9 -4
  355. package/src/TUIRoom/components/ManageMember/MemberItemCommon/MemberInfo.vue +2 -1
  356. package/src/TUIRoom/components/ManageMember/index.vue +85 -5
  357. package/src/TUIRoom/components/ManageMember/useIndexHooks.ts +58 -9
  358. package/src/TUIRoom/components/RoomContent/StreamContainer/index.vue +7 -6
  359. package/src/TUIRoom/components/RoomContent/StreamContainer/useStreamContainerHooks.ts +90 -26
  360. package/src/TUIRoom/components/RoomContent/StreamRegion/index.vue +27 -3
  361. package/src/TUIRoom/components/RoomFooter/ApplyControl/MasterApplyControl/index.vue +2 -1
  362. package/src/TUIRoom/components/RoomFooter/EndControl/index.vue +1 -1
  363. package/src/TUIRoom/components/RoomFooter/EndControl/useEndControlHooks.ts +10 -3
  364. package/src/TUIRoom/components/RoomFooter/ScreenShareControl/Index.vue +11 -1
  365. package/src/TUIRoom/components/RoomFooter/VideoControl.vue +0 -7
  366. package/src/TUIRoom/components/RoomHeader/UserInfo/index.vue +19 -50
  367. package/src/TUIRoom/components/RoomHeader/UserInfo/useUserInfoHooks.ts +1 -28
  368. package/src/TUIRoom/components/RoomHome/RoomControl/index.vue +91 -73
  369. package/src/TUIRoom/components/RoomSidebar/useSideBarHooks.ts +3 -2
  370. package/src/TUIRoom/components/ScheduleConference/Contacts.vue +265 -0
  371. package/src/TUIRoom/components/ScheduleConference/DurationTimePicker.vue +54 -0
  372. package/src/TUIRoom/components/ScheduleConference/ScheduleConferencePanel.vue +731 -0
  373. package/src/TUIRoom/components/ScheduleConference/ScheduleRoomControl.vue +577 -0
  374. package/src/TUIRoom/components/ScheduleConference/ScheduleRoomList.vue +295 -0
  375. package/src/TUIRoom/components/ScheduleConference/ShareLink.vue +122 -0
  376. package/src/TUIRoom/components/ScheduleConference/TimezonePicker.vue +70 -0
  377. package/src/TUIRoom/components/common/DeviceSelect.vue +62 -20
  378. package/src/TUIRoom/components/common/Logo.vue +3 -3
  379. package/src/TUIRoom/components/common/base/Checkbox.vue +19 -11
  380. package/src/TUIRoom/components/common/base/Datepicker/Datepicker.vue +252 -0
  381. package/src/TUIRoom/components/common/base/Datepicker/Timepicker.vue +54 -0
  382. package/src/TUIRoom/components/common/base/Dialog/index.vue +17 -7
  383. package/src/TUIRoom/components/common/base/Input/index.vue +187 -0
  384. package/src/TUIRoom/components/common/base/Message/Instance.ts +2 -1
  385. package/src/TUIRoom/components/common/base/MessageBox/index.ts +4 -2
  386. package/src/TUIRoom/components/common/base/MessageBox/index.vue +57 -26
  387. package/src/TUIRoom/components/common/base/Option.vue +14 -4
  388. package/src/TUIRoom/components/common/base/Select.vue +18 -13
  389. package/src/TUIRoom/components/common/base/index.ts +1 -1
  390. package/src/TUIRoom/components/common/icons/AllMembersShareScreenIcon.vue +15 -0
  391. package/src/TUIRoom/components/common/icons/ArrowStrokeRightIcon.vue +8 -0
  392. package/src/TUIRoom/components/common/icons/CalendarIcon.vue +6 -0
  393. package/src/TUIRoom/components/common/icons/EditNameCardIcon.vue +13 -0
  394. package/src/TUIRoom/components/common/icons/EllipsisIcon.vue +8 -0
  395. package/src/TUIRoom/components/common/icons/HostShareScreenIcon.vue +13 -0
  396. package/src/TUIRoom/components/common/icons/LinkIcon.vue +10 -0
  397. package/src/TUIRoom/components/common/icons/LoadingScheduleIcon.vue +6 -0
  398. package/src/TUIRoom/components/common/icons/ScheduleAttendees.vue +13 -0
  399. package/src/TUIRoom/components/common/icons/ScheduleRoomIcon.vue +6 -0
  400. package/src/TUIRoom/components/common/icons/SuccessIcon.vue +8 -0
  401. package/src/TUIRoom/components/common/icons/WarningIcon.vue +13 -0
  402. package/src/TUIRoom/conference.ts +6 -0
  403. package/src/TUIRoom/conference.vue +16 -5
  404. package/src/TUIRoom/directives/vDblTouch.ts +41 -0
  405. package/src/TUIRoom/directives/vTap.ts +32 -3
  406. package/src/TUIRoom/extension/chatExtension.ts +1 -1
  407. package/src/TUIRoom/hooks/useMasterApplyControl.ts +2 -2
  408. package/src/TUIRoom/index.ts +1 -0
  409. package/src/TUIRoom/locales/en-US.ts +77 -0
  410. package/src/TUIRoom/locales/zh-CN.ts +82 -1
  411. package/src/TUIRoom/preConference.vue +97 -2
  412. package/src/TUIRoom/services/function/errorHandler.ts +169 -0
  413. package/src/TUIRoom/services/function/virtualBackground.ts +3 -3
  414. package/src/TUIRoom/services/index.ts +1 -0
  415. package/src/TUIRoom/services/manager/roomActionManager.ts +10 -18
  416. package/src/TUIRoom/services/manager/scheduleConferenceManager.ts +263 -0
  417. package/src/TUIRoom/services/manager/userManager.ts +6 -0
  418. package/src/TUIRoom/services/roomService.ts +41 -13
  419. package/src/TUIRoom/services/types.ts +8 -1
  420. package/src/TUIRoom/stores/basic.ts +9 -2
  421. package/src/TUIRoom/stores/room.ts +60 -19
  422. package/src/TUIRoom/utils/adapter.ts +44 -4
  423. package/src/TUIRoom/utils/utils.ts +42 -0
  424. package/es/components/common/base/Input.vue.mjs +0 -7
  425. package/es/components/common/base/Input.vue2.mjs +0 -34
  426. package/lib/components/common/base/Input.vue.js +0 -7
  427. package/lib/components/common/base/Input.vue2.js +0 -34
  428. package/src/TUIRoom/components/common/base/Input.vue +0 -61
  429. /package/es/components/{common/base/Input.vue3.mjs → ScheduleConference/Contacts.vue3.mjs} +0 -0
  430. /package/lib/components/{common/base/Input.vue3.js → ScheduleConference/Contacts.vue3.js} +0 -0
@@ -0,0 +1,613 @@
1
+ import { defineComponent, ref, computed, watch, nextTick, openBlock, createElementBlock, Fragment, createVNode, unref, withCtx, createElementVNode, createTextVNode, toDisplayString, createBlock, renderList, createCommentVNode } from "vue";
2
+ import { useI18n } from "../../locales/index.mjs";
3
+ import Dialog from "../common/base/Dialog/index.vue.mjs";
4
+ import TuiInput from "../common/base/Input/index.vue.mjs";
5
+ import TuiSelect from "../common/base/Select.vue.mjs";
6
+ import TuiOption from "../common/base/Option.vue.mjs";
7
+ import TuiCheckbox from "../common/base/Checkbox.vue.mjs";
8
+ import TuiButton from "../common/base/Button.vue.mjs";
9
+ import TuiAvatar from "../common/Avatar.vue.mjs";
10
+ import TuiDatepicker from "../common/base/Datepicker/Datepicker.vue.mjs";
11
+ import _sfc_main$1 from "../common/base/Datepicker/Timepicker.vue.mjs";
12
+ import _sfc_main$2 from "./DurationTimePicker.vue.mjs";
13
+ import _sfc_main$3 from "./TimezonePicker.vue.mjs";
14
+ import TuiShareLink from "./ShareLink.vue.mjs";
15
+ import Contacts from "./Contacts.vue.mjs";
16
+ import _sfc_main$4 from "../common/icons/ScheduleAttendees.vue.mjs";
17
+ import CloseIcon from "../common/icons/CloseIcon.vue.mjs";
18
+ import "../../services/main.mjs";
19
+ import { roomService } from "../../services/roomService.mjs";
20
+ import { EventType } from "../../services/types.mjs";
21
+ import { TUISeatMode, TUIConferenceStatus } from "@tencentcloud/tuiroom-engine-electron";
22
+ import "mitt";
23
+ import "../../services/manager/roomActionManager.mjs";
24
+ import { deepClone, calculateByteLength } from "../../utils/utils.mjs";
25
+ const _hoisted_1 = { class: "schedule-conference-form" };
26
+ const _hoisted_2 = { class: "form-item" };
27
+ const _hoisted_3 = { class: "form-label" };
28
+ const _hoisted_4 = {
29
+ key: 0,
30
+ class: "form-item"
31
+ };
32
+ const _hoisted_5 = { class: "form-label" };
33
+ const _hoisted_6 = { class: "form-value" };
34
+ const _hoisted_7 = { class: "form-item" };
35
+ const _hoisted_8 = { class: "form-label" };
36
+ const _hoisted_9 = { class: "form-value" };
37
+ const _hoisted_10 = { class: "form-item" };
38
+ const _hoisted_11 = { class: "form-label" };
39
+ const _hoisted_12 = { class: "form-value" };
40
+ const _hoisted_13 = { class: "form-item" };
41
+ const _hoisted_14 = { class: "form-label" };
42
+ const _hoisted_15 = { class: "form-value" };
43
+ const _hoisted_16 = { class: "form-item column" };
44
+ const _hoisted_17 = { class: "form-label" };
45
+ const _hoisted_18 = { class: "form-value" };
46
+ const _hoisted_19 = ["title"];
47
+ const _hoisted_20 = { class: "form-attendees" };
48
+ const _hoisted_21 = ["title"];
49
+ const _hoisted_22 = {
50
+ key: 0,
51
+ class: "form-attendees-item",
52
+ style: { "flex-basis": "content" }
53
+ };
54
+ const _hoisted_23 = {
55
+ key: 1,
56
+ class: "form-item column"
57
+ };
58
+ const _hoisted_24 = { class: "form-label" };
59
+ const _hoisted_25 = { class: "form-value" };
60
+ const _hoisted_26 = { class: "checkbox-group" };
61
+ const _hoisted_27 = { class: "schedule-conference-footer" };
62
+ const _sfc_main = /* @__PURE__ */ defineComponent({
63
+ __name: "ScheduleConferencePanel",
64
+ props: {
65
+ userName: {},
66
+ visible: { type: Boolean },
67
+ conferenceInfo: {}
68
+ },
69
+ emits: ["input"],
70
+ setup(__props, { emit: __emit }) {
71
+ const { t } = useI18n();
72
+ const shareLinkData = ref({});
73
+ const props = __props;
74
+ const getDateAndTime = (date, timeZone = Intl.DateTimeFormat().resolvedOptions().timeZone) => {
75
+ const formatter = new Intl.DateTimeFormat("en-US", {
76
+ year: "numeric",
77
+ month: "2-digit",
78
+ day: "2-digit",
79
+ hour: "2-digit",
80
+ minute: "2-digit",
81
+ hour12: false,
82
+ // Use 24-hour format
83
+ timeZone
84
+ });
85
+ const formattedDate = formatter.format(date);
86
+ const [month, day, year, hour, minute] = formattedDate.split(/[\s,:/]+/).filter((part) => part !== "AM" && part !== "PM");
87
+ const roundedMinute = Math.ceil(parseInt(minute) / 15) * 15;
88
+ const adjustedHour = roundedMinute === 60 ? parseInt(hour) + 1 : parseInt(hour);
89
+ const adjustedMinute = roundedMinute === 60 ? 0 : roundedMinute;
90
+ const adjustedDate = new Date(parseInt(year), parseInt(month) - 1, parseInt(day), adjustedHour, adjustedMinute);
91
+ if (adjustedDate < date) {
92
+ adjustedDate.setMinutes(adjustedDate.getMinutes() + 15);
93
+ }
94
+ const intHour = parseInt(hour);
95
+ const intMinute = parseInt(minute);
96
+ return {
97
+ date: new Date(parseInt(year), parseInt(month) - 1, parseInt(day)),
98
+ laterTime: `${adjustedHour < 10 ? `0${adjustedHour}` : adjustedHour}:${adjustedMinute < 10 ? `0${adjustedMinute}` : adjustedMinute}`,
99
+ time: `${intHour < 10 ? `0${intHour}` : intHour}:${intMinute < 10 ? `0${intMinute}` : intMinute}`
100
+ };
101
+ };
102
+ const emit = __emit;
103
+ const isDialogVisible = ref(false);
104
+ const contactsVisible = ref(false);
105
+ const showRoomInvite = ref(false);
106
+ const isEditMode = computed(() => !!props.conferenceInfo);
107
+ const roomId = ref("");
108
+ let contacts = [];
109
+ const { date: startDate, laterTime: startTime } = getDateAndTime(/* @__PURE__ */ new Date());
110
+ const defaultFormData = ref({
111
+ roomName: t("sb temporary room", { name: props.userName || roomService.basicStore.userId }),
112
+ roomMode: "FreeToSpeak",
113
+ startDate,
114
+ startTime,
115
+ duration: 1800,
116
+ timezone: Intl.DateTimeFormat().resolvedOptions().timeZone,
117
+ searchUser: "",
118
+ scheduleAttendees: [],
119
+ isMicrophoneDisableForAllUser: false,
120
+ isScreenShareDisableForAllUser: false,
121
+ isCameraDisableForAllUser: false
122
+ });
123
+ const form = ref(deepClone(defaultFormData.value));
124
+ const resetData = () => {
125
+ defaultFormData.value.startDate = form.value.startDate;
126
+ defaultFormData.value.startTime = form.value.startTime;
127
+ form.value = Object.assign({}, deepClone(defaultFormData.value));
128
+ };
129
+ watch(
130
+ () => props.visible,
131
+ async (val) => {
132
+ isDialogVisible.value = val;
133
+ if (val) {
134
+ const { date, laterTime } = getDateAndTime(/* @__PURE__ */ new Date());
135
+ form.value.startDate = date;
136
+ form.value.startTime = laterTime;
137
+ contacts = await roomService.scheduleConferenceManager.fetchFriendList();
138
+ isEditMode.value && (form.value = Object.assign({}, deepClone(editParams.value)));
139
+ }
140
+ },
141
+ {
142
+ immediate: true
143
+ }
144
+ );
145
+ const updateDialogVisible = (val) => {
146
+ emit("input", val);
147
+ if (!val) {
148
+ resetData();
149
+ }
150
+ };
151
+ watch(isDialogVisible, (val) => {
152
+ updateDialogVisible(val);
153
+ }, { immediate: true });
154
+ const editParams = computed(() => {
155
+ if (!props.conferenceInfo)
156
+ return {};
157
+ const { basicRoomInfo, scheduleAttendees, scheduleStartTime, scheduleEndTime } = props.conferenceInfo;
158
+ const { date, time } = getDateAndTime(new Date(scheduleStartTime * 1e3));
159
+ const {
160
+ roomName,
161
+ isSeatEnabled,
162
+ isMicrophoneDisableForAllUser,
163
+ isScreenShareDisableForAllUser,
164
+ isCameraDisableForAllUser
165
+ } = basicRoomInfo;
166
+ return {
167
+ roomName,
168
+ roomMode: isSeatEnabled ? "SpeakAfterTakingSeat" : "FreeToSpeak",
169
+ startDate: date,
170
+ startTime: time,
171
+ duration: scheduleEndTime - scheduleStartTime,
172
+ timezone: Intl.DateTimeFormat().resolvedOptions().timeZone,
173
+ searchUser: "",
174
+ scheduleAttendees,
175
+ isMicrophoneDisableForAllUser,
176
+ isScreenShareDisableForAllUser,
177
+ isCameraDisableForAllUser
178
+ };
179
+ });
180
+ const convertToTimestamp = (date, time, timezone, offset = 1, referenceTimezone) => {
181
+ const year = date.getFullYear();
182
+ const month = date.getMonth() + 1;
183
+ const day = date.getDate();
184
+ const timezoneOffset = offset * getTimezoneOffset(timezone, referenceTimezone) * 60 * 1e3;
185
+ return (/* @__PURE__ */ new Date(`${year}-${month}-${day} ${time}`)).getTime() - timezoneOffset;
186
+ };
187
+ const calculateEndTime = (startTime2, duration) => {
188
+ const endTime = startTime2 + duration * 1e3;
189
+ return endTime;
190
+ };
191
+ const scheduleParams = computed(() => {
192
+ const { startDate: startDate2, startTime: startTime2, timezone, duration, scheduleAttendees } = form.value;
193
+ const scheduleStartTime = convertToTimestamp(startDate2, startTime2, timezone);
194
+ const scheduleEndTime = calculateEndTime(scheduleStartTime, duration);
195
+ return {
196
+ roomId: roomId.value,
197
+ scheduleStartTime: scheduleStartTime / 1e3,
198
+ scheduleEndTime: scheduleEndTime / 1e3,
199
+ scheduleAttendees,
200
+ roomName: form.value.roomName,
201
+ isSeatEnabled: form.value.roomMode !== "FreeToSpeak",
202
+ seatMode: form.value.roomMode === "SpeakAfterTakingSeat" ? TUISeatMode.kApplyToTake : void 0,
203
+ isMicrophoneDisableForAllUser: form.value.isMicrophoneDisableForAllUser,
204
+ isScreenShareDisableForAllUser: form.value.isScreenShareDisableForAllUser,
205
+ isCameraDisableForAllUser: form.value.isCameraDisableForAllUser
206
+ };
207
+ });
208
+ function getTimezoneOffset(targetTimezone, referenceTimezone = "UTC") {
209
+ const now = Date.now();
210
+ const referenceDate = referenceTimezone === "UTC" ? new Date(now).toISOString() : new Date(now).toLocaleString("en-US", { timeZone: referenceTimezone, hour12: false });
211
+ const targetDate = new Date(now).toLocaleString("en-US", { timeZone: targetTimezone, hour12: false });
212
+ const referenceTime = new Date(referenceDate).getTime();
213
+ const targetTime = new Date(targetDate).getTime();
214
+ const offset = Math.round((targetTime - referenceTime) / (1e3 * 60));
215
+ return offset;
216
+ }
217
+ const timeCheck = () => {
218
+ if (!props.visible)
219
+ return true;
220
+ const { timezone, startDate: startDate2, startTime: startTime2 } = form.value;
221
+ const scheduleStartTime = convertToTimestamp(startDate2, startTime2, timezone);
222
+ const currentDate = /* @__PURE__ */ new Date();
223
+ currentDate.setMilliseconds(0);
224
+ currentDate.setSeconds(0);
225
+ const currentTime = currentDate.getTime();
226
+ const result = scheduleStartTime >= currentTime;
227
+ !result && roomService.emit(EventType.ROOM_NOTICE_MESSAGE, {
228
+ type: "warning",
229
+ message: t("The start time cannot be earlier than the current time")
230
+ });
231
+ return result;
232
+ };
233
+ const roomNameCheck = () => {
234
+ if (!props.visible)
235
+ return true;
236
+ const result = calculateByteLength(form.value.roomName) <= 100;
237
+ !result && roomService.emit(EventType.ROOM_NOTICE_MESSAGE, {
238
+ type: "warning",
239
+ message: t("The room name cannot exceed 100 characters")
240
+ });
241
+ return result;
242
+ };
243
+ const roomStatusCheck = () => {
244
+ var _a;
245
+ if (!props.visible)
246
+ return true;
247
+ const isNotStarted = ((_a = props.conferenceInfo) == null ? void 0 : _a.status) === TUIConferenceStatus.kConferenceStatusNotStarted;
248
+ !isNotStarted && roomService.emit(EventType.ROOM_NOTICE_MESSAGE, {
249
+ type: "warning",
250
+ message: t("The meeting is in progress and any meeting information cannot be modified")
251
+ });
252
+ return isNotStarted;
253
+ };
254
+ watch(() => form.value.startTime, async (newValue, oldValue) => {
255
+ if (!timeCheck()) {
256
+ await nextTick();
257
+ form.value.startTime = oldValue;
258
+ }
259
+ });
260
+ watch(() => form.value.startDate, async (newValue, oldValue) => {
261
+ if (!timeCheck()) {
262
+ await nextTick();
263
+ form.value.startDate = oldValue;
264
+ }
265
+ });
266
+ watch(() => form.value.timezone, async (newValue, oldValue) => {
267
+ const { startDate: startDate2, startTime: startTime2 } = form.value;
268
+ const currentDate = new Date(convertToTimestamp(startDate2, startTime2, newValue, -1, oldValue));
269
+ const { date, laterTime } = getDateAndTime(currentDate);
270
+ form.value.startDate = date;
271
+ form.value.startTime = laterTime;
272
+ });
273
+ const roomTypeList = [
274
+ { label: "Free Speech Room", value: "FreeToSpeak" },
275
+ { label: "On-stage Speaking Room", value: "SpeakAfterTakingSeat" }
276
+ ];
277
+ const selectScheduleAttends = () => {
278
+ contactsVisible.value = true;
279
+ };
280
+ const searchScheduleAttend = (v) => {
281
+ if (!v)
282
+ return [];
283
+ return contacts.filter((user) => (user == null ? void 0 : user.profile.nick.includes(v)) || (user == null ? void 0 : user.userID.includes(v)));
284
+ };
285
+ const addSelectUser = (user) => {
286
+ var _a, _b;
287
+ form.value.searchUser = "";
288
+ if (form.value.scheduleAttendees.findIndex((item) => item.userId === user.userID) !== -1)
289
+ return;
290
+ form.value.scheduleAttendees.push({
291
+ userId: user.userID,
292
+ userName: (_a = user.profile) == null ? void 0 : _a.nick,
293
+ avatarUrl: (_b = user.profile) == null ? void 0 : _b.avatar
294
+ });
295
+ };
296
+ const removeSelectUser = (user) => {
297
+ form.value.scheduleAttendees = form.value.scheduleAttendees.filter((item) => item.userId !== user.userId);
298
+ };
299
+ const contactsConfirm = (contacts2) => {
300
+ form.value.scheduleAttendees = contacts2;
301
+ };
302
+ const scheduleConference = async () => {
303
+ if (!timeCheck())
304
+ return;
305
+ if (!roomNameCheck())
306
+ return;
307
+ roomId.value = String(Math.ceil(Math.random() * 1e6));
308
+ try {
309
+ await roomService.scheduleConferenceManager.scheduleConference({
310
+ ...scheduleParams.value,
311
+ roomId: roomId.value
312
+ });
313
+ const userIdList = scheduleParams.value.scheduleAttendees.map((item) => item.userId);
314
+ if (userIdList && userIdList.length > 0) {
315
+ await roomService.scheduleConferenceManager.addAttendeesByAdmin({
316
+ roomId: roomId.value,
317
+ userIdList
318
+ });
319
+ }
320
+ shareLinkData.value = deepClone(scheduleParams.value);
321
+ updateDialogVisible(false);
322
+ showRoomInvite.value = true;
323
+ } catch (err) {
324
+ roomService.emit(EventType.ROOM_NOTICE_MESSAGE, {
325
+ type: "error",
326
+ message: err.message
327
+ });
328
+ }
329
+ };
330
+ const compareArrays = (oldArray, newArray, key) => {
331
+ const added = [];
332
+ const removed = [];
333
+ const newKeySet = new Set(newArray.map((item) => item[key]));
334
+ const oldKeySet = new Set(oldArray.map((item) => item[key]));
335
+ newArray.forEach((item) => {
336
+ if (!oldKeySet.has(item[key])) {
337
+ added.push(item);
338
+ }
339
+ });
340
+ oldArray.forEach((item) => {
341
+ if (!newKeySet.has(item[key])) {
342
+ removed.push(item);
343
+ }
344
+ });
345
+ return {
346
+ added,
347
+ removed
348
+ };
349
+ };
350
+ const updateConferenceInfo = async () => {
351
+ var _a;
352
+ if (!roomStatusCheck())
353
+ return;
354
+ if (!timeCheck())
355
+ return;
356
+ if (!roomNameCheck())
357
+ return;
358
+ try {
359
+ const roomId2 = (_a = props.conferenceInfo) == null ? void 0 : _a.basicRoomInfo.roomId;
360
+ if (!roomId2)
361
+ return;
362
+ const { roomName, scheduleStartTime, scheduleEndTime, scheduleAttendees } = scheduleParams.value;
363
+ await roomService.scheduleConferenceManager.updateConferenceInfo({
364
+ roomId: roomId2,
365
+ roomName,
366
+ scheduleStartTime,
367
+ scheduleEndTime
368
+ });
369
+ const compareResult = compareArrays(props.conferenceInfo.scheduleAttendees, scheduleAttendees, "userId");
370
+ await Promise.all([
371
+ compareResult.added.length > 0 && roomService.scheduleConferenceManager.addAttendeesByAdmin({
372
+ roomId: roomId2,
373
+ userIdList: compareResult.added.map((item) => item.userId)
374
+ }),
375
+ compareResult.removed.length > 0 && roomService.scheduleConferenceManager.removeAttendeesByAdmin({
376
+ roomId: roomId2,
377
+ userIdList: compareResult.removed.map((item) => item.userId)
378
+ })
379
+ ]);
380
+ updateDialogVisible(false);
381
+ } catch (err) {
382
+ roomService.emit(EventType.ROOM_NOTICE_MESSAGE, {
383
+ type: "error",
384
+ message: err.message
385
+ });
386
+ }
387
+ };
388
+ const cancel = () => {
389
+ updateDialogVisible(false);
390
+ };
391
+ return (_ctx, _cache) => {
392
+ return openBlock(), createElementBlock(Fragment, null, [
393
+ createVNode(Dialog, {
394
+ modelValue: isDialogVisible.value,
395
+ "onUpdate:modelValue": _cache[10] || (_cache[10] = ($event) => isDialogVisible.value = $event),
396
+ title: unref(t)(!isEditMode.value ? unref(t)("Schedule") : unref(t)("Modify Room")),
397
+ modal: true,
398
+ "append-to-body": true
399
+ }, {
400
+ footer: withCtx(() => [
401
+ createElementVNode("div", _hoisted_27, [
402
+ createVNode(TuiButton, {
403
+ class: "footer-button",
404
+ type: "primary",
405
+ onClick: cancel
406
+ }, {
407
+ default: withCtx(() => [
408
+ createTextVNode(toDisplayString(unref(t)("Cancel")), 1)
409
+ ]),
410
+ _: 1
411
+ }),
412
+ !isEditMode.value ? (openBlock(), createBlock(TuiButton, {
413
+ key: 0,
414
+ class: "footer-button",
415
+ onClick: scheduleConference
416
+ }, {
417
+ default: withCtx(() => [
418
+ createTextVNode(toDisplayString(unref(t)("Schedule")), 1)
419
+ ]),
420
+ _: 1
421
+ })) : (openBlock(), createBlock(TuiButton, {
422
+ key: 1,
423
+ class: "footer-button",
424
+ onClick: updateConferenceInfo
425
+ }, {
426
+ default: withCtx(() => [
427
+ createTextVNode(toDisplayString(unref(t)("Save")), 1)
428
+ ]),
429
+ _: 1
430
+ }))
431
+ ])
432
+ ]),
433
+ default: withCtx(() => {
434
+ var _a;
435
+ return [
436
+ createElementVNode("div", _hoisted_1, [
437
+ createElementVNode("div", _hoisted_2, [
438
+ createElementVNode("span", _hoisted_3, toDisplayString(unref(t)("Room Name")), 1),
439
+ createVNode(TuiInput, {
440
+ modelValue: form.value.roomName,
441
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => form.value.roomName = $event),
442
+ theme: "white",
443
+ class: "form-value",
444
+ placeholder: unref(t)("please enter the room name"),
445
+ maxlength: ""
446
+ }, null, 8, ["modelValue", "placeholder"])
447
+ ]),
448
+ !isEditMode.value ? (openBlock(), createElementBlock("div", _hoisted_4, [
449
+ createElementVNode("span", _hoisted_5, toDisplayString(unref(t)("Room type")), 1),
450
+ createElementVNode("div", _hoisted_6, [
451
+ createVNode(TuiSelect, {
452
+ modelValue: form.value.roomMode,
453
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => form.value.roomMode = $event),
454
+ theme: "white",
455
+ class: "select",
456
+ teleported: false,
457
+ "popper-append-to-body": false,
458
+ "custom-select-content-style": { "font-weight": 400 }
459
+ }, {
460
+ default: withCtx(() => [
461
+ (openBlock(), createElementBlock(Fragment, null, renderList(roomTypeList, (item) => {
462
+ return createVNode(TuiOption, {
463
+ key: item.value,
464
+ theme: "white",
465
+ value: item.value,
466
+ label: unref(t)(item.label),
467
+ "custom-option-content-style": { "font-weight": 400 }
468
+ }, null, 8, ["value", "label"]);
469
+ }), 64))
470
+ ]),
471
+ _: 1
472
+ }, 8, ["modelValue"])
473
+ ])
474
+ ])) : createCommentVNode("", true),
475
+ createElementVNode("div", _hoisted_7, [
476
+ createElementVNode("span", _hoisted_8, toDisplayString(unref(t)("Starting time")), 1),
477
+ createElementVNode("div", _hoisted_9, [
478
+ createVNode(TuiDatepicker, {
479
+ "model-value": form.value.startDate,
480
+ class: "date-picker",
481
+ onInput: _cache[2] || (_cache[2] = ($event) => form.value.startDate = $event)
482
+ }, null, 8, ["model-value"]),
483
+ createVNode(_sfc_main$1, {
484
+ "model-value": form.value.startTime,
485
+ class: "time-picker",
486
+ onInput: _cache[3] || (_cache[3] = ($event) => form.value.startTime = $event)
487
+ }, null, 8, ["model-value"])
488
+ ])
489
+ ]),
490
+ createElementVNode("div", _hoisted_10, [
491
+ createElementVNode("span", _hoisted_11, toDisplayString(unref(t)("Room duration")), 1),
492
+ createElementVNode("div", _hoisted_12, [
493
+ createVNode(_sfc_main$2, {
494
+ "model-value": form.value.duration,
495
+ class: "select",
496
+ onInput: _cache[4] || (_cache[4] = ($event) => form.value.duration = $event)
497
+ }, null, 8, ["model-value"])
498
+ ])
499
+ ]),
500
+ createElementVNode("div", _hoisted_13, [
501
+ createElementVNode("span", _hoisted_14, toDisplayString(unref(t)("Time zone")), 1),
502
+ createElementVNode("div", _hoisted_15, [
503
+ createVNode(_sfc_main$3, {
504
+ "model-value": form.value.timezone,
505
+ class: "select",
506
+ onInput: _cache[5] || (_cache[5] = ($event) => form.value.timezone = $event)
507
+ }, null, 8, ["model-value"])
508
+ ])
509
+ ]),
510
+ createElementVNode("div", _hoisted_16, [
511
+ createElementVNode("span", _hoisted_17, toDisplayString(unref(t)("Attendees")), 1),
512
+ createElementVNode("div", _hoisted_18, [
513
+ createVNode(TuiInput, {
514
+ modelValue: form.value.searchUser,
515
+ "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => form.value.searchUser = $event),
516
+ class: "form-input search-user",
517
+ search: searchScheduleAttend,
518
+ select: addSelectUser,
519
+ placeholder: unref(t)("Please enter the member name")
520
+ }, {
521
+ suffixIcon: withCtx(() => [
522
+ createVNode(_sfc_main$4, {
523
+ class: "select-attendees",
524
+ onClick: selectScheduleAttends
525
+ }),
526
+ createVNode(Contacts, {
527
+ visible: contactsVisible.value,
528
+ contacts: unref(contacts),
529
+ "selected-list": scheduleParams.value.scheduleAttendees,
530
+ onInput: _cache[6] || (_cache[6] = ($event) => contactsVisible.value = $event),
531
+ onConfirm: contactsConfirm
532
+ }, null, 8, ["visible", "contacts", "selected-list"])
533
+ ]),
534
+ searchResultItem: withCtx(({ data }) => [
535
+ createVNode(TuiAvatar, {
536
+ class: "form-attendees-item-avatar",
537
+ "img-src": data.profile.avatar
538
+ }, null, 8, ["img-src"]),
539
+ createElementVNode("p", {
540
+ class: "form-attendees-item-name",
541
+ title: data.profile.nick
542
+ }, toDisplayString(data.profile.nick), 9, _hoisted_19)
543
+ ]),
544
+ _: 1
545
+ }, 8, ["modelValue", "placeholder"]),
546
+ createElementVNode("div", _hoisted_20, [
547
+ (openBlock(true), createElementBlock(Fragment, null, renderList(form.value.scheduleAttendees, (user) => {
548
+ return openBlock(), createElementBlock("span", {
549
+ key: user.userId,
550
+ class: "form-attendees-item"
551
+ }, [
552
+ createVNode(TuiAvatar, {
553
+ class: "form-attendees-item-avatar",
554
+ "img-src": user.avatarUrl
555
+ }, null, 8, ["img-src"]),
556
+ createElementVNode("p", {
557
+ class: "form-attendees-item-name",
558
+ title: user.userName
559
+ }, toDisplayString(user.userName), 9, _hoisted_21),
560
+ createVNode(CloseIcon, {
561
+ class: "form-attendees-item-remove",
562
+ onClick: ($event) => removeSelectUser(user)
563
+ }, null, 8, ["onClick"])
564
+ ]);
565
+ }), 128)),
566
+ ((_a = form.value.scheduleAttendees) == null ? void 0 : _a.length) > 0 ? (openBlock(), createElementBlock("span", _hoisted_22, toDisplayString(`${form.value.scheduleAttendees.length} ${unref(t)("people")}`), 1)) : createCommentVNode("", true)
567
+ ])
568
+ ])
569
+ ]),
570
+ !isEditMode.value ? (openBlock(), createElementBlock("div", _hoisted_23, [
571
+ createElementVNode("span", _hoisted_24, toDisplayString(unref(t)("Member management")), 1),
572
+ createElementVNode("div", _hoisted_25, [
573
+ createElementVNode("div", _hoisted_26, [
574
+ createVNode(TuiCheckbox, {
575
+ "model-value": form.value.isMicrophoneDisableForAllUser,
576
+ class: "checkbox-group-item",
577
+ onInput: _cache[8] || (_cache[8] = ($event) => form.value.isMicrophoneDisableForAllUser = $event)
578
+ }, {
579
+ default: withCtx(() => [
580
+ createElementVNode("span", null, toDisplayString(unref(t)("Disable all audios")), 1)
581
+ ]),
582
+ _: 1
583
+ }, 8, ["model-value"]),
584
+ createVNode(TuiCheckbox, {
585
+ "model-value": form.value.isCameraDisableForAllUser,
586
+ class: "checkbox-group-item",
587
+ onInput: _cache[9] || (_cache[9] = ($event) => form.value.isCameraDisableForAllUser = $event)
588
+ }, {
589
+ default: withCtx(() => [
590
+ createTextVNode(toDisplayString(unref(t)("Disable all videos")), 1)
591
+ ]),
592
+ _: 1
593
+ }, 8, ["model-value"])
594
+ ])
595
+ ])
596
+ ])) : createCommentVNode("", true)
597
+ ])
598
+ ];
599
+ }),
600
+ _: 1
601
+ }, 8, ["modelValue", "title"]),
602
+ createVNode(TuiShareLink, {
603
+ visible: showRoomInvite.value,
604
+ "schedule-params": shareLinkData.value,
605
+ onInput: _cache[11] || (_cache[11] = ($event) => showRoomInvite.value = $event)
606
+ }, null, 8, ["visible", "schedule-params"])
607
+ ], 64);
608
+ };
609
+ }
610
+ });
611
+ export {
612
+ _sfc_main as default
613
+ };
@@ -0,0 +1,29 @@
1
+ declare const _default: import('vue').DefineComponent<__VLS_TypePropsToRuntimeProps<{
2
+ item: any;
3
+ scheduleStartDate: string;
4
+ scheduleEndDate: string;
5
+ scheduleStartTime: string;
6
+ scheduleEndTime: string;
7
+ }>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
8
+ "join-conference": (...args: any[]) => void;
9
+ "show-more": (...args: any[]) => void;
10
+ }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
11
+ item: any;
12
+ scheduleStartDate: string;
13
+ scheduleEndDate: string;
14
+ scheduleStartTime: string;
15
+ scheduleEndTime: string;
16
+ }>>> & {
17
+ "onJoin-conference"?: ((...args: any[]) => any) | undefined;
18
+ "onShow-more"?: ((...args: any[]) => any) | undefined;
19
+ }, {}, {}>;
20
+ export default _default;
21
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
22
+ type __VLS_TypePropsToRuntimeProps<T> = {
23
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
24
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
25
+ } : {
26
+ type: import('vue').PropType<T[K]>;
27
+ required: true;
28
+ };
29
+ };
@@ -0,0 +1,7 @@
1
+ import _sfc_main from "./ScheduleRoomControl.vue2.mjs";
2
+ import "./ScheduleRoomControl.vue3.mjs";
3
+ import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
4
+ const ScheduleRoomControl = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-8b752e7f"]]);
5
+ export {
6
+ ScheduleRoomControl as default
7
+ };