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