fcr-ui-scene 3.6.4-rc.1 → 3.7.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 (468) hide show
  1. package/lib/creator.d.ts +4 -3
  2. package/lib/creator.js +136 -98
  3. package/lib/electron/app.js +1 -1
  4. package/lib/electron/bootstrap-sdk.js +49 -4
  5. package/lib/electron/injections.d.ts +5 -1
  6. package/lib/electron/injections.js +14 -2
  7. package/lib/electron/ipc/type.d.ts +8 -4
  8. package/lib/electron/ipc/type.js +10 -4
  9. package/lib/electron/logger.js +1 -1
  10. package/lib/electron/main.js +5 -2
  11. package/lib/electron/preload.js +34 -5
  12. package/lib/fragments/annotation/index.d.ts +2 -2
  13. package/lib/fragments/annotation/index.js +38 -28
  14. package/lib/fragments/annotation/libs.d.ts +2 -2
  15. package/lib/fragments/annotation/store.d.ts +21 -4
  16. package/lib/fragments/annotation/store.js +281 -84
  17. package/lib/fragments/annotation/style.css +9 -0
  18. package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/item/item.js +1 -1
  19. package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/pen-tool/pen-panel/index.js +1 -1
  20. package/lib/{modules/annotation/components → fragments/annotation}/toolbar/store.d.ts +26 -2
  21. package/lib/{modules/annotation/components → fragments/annotation}/toolbar/store.js +57 -8
  22. package/lib/{modules/annotation/components → fragments/annotation}/toolbar/view.js +36 -3
  23. package/lib/fragments/annotation/view.d.ts +1 -0
  24. package/lib/fragments/annotation/view.js +52 -10
  25. package/lib/modules/action-bar/components/apps/index.js +54 -38
  26. package/lib/modules/action-bar/components/chat/index.js +13 -34
  27. package/lib/modules/action-bar/components/collapse/index.js +1 -1
  28. package/lib/modules/action-bar/components/leave/index.js +9 -9
  29. package/lib/modules/action-bar/components/more/index.js +26 -27
  30. package/lib/modules/action-bar/components/participants/index.js +23 -39
  31. package/lib/modules/action-bar/components/record/index.js +7 -13
  32. package/lib/modules/action-bar/components/screen-share/index.js +4 -24
  33. package/lib/modules/action-bar/components/security/index.js +29 -34
  34. package/lib/modules/action-bar/components/settings/index.js +13 -19
  35. package/lib/modules/action-bar/index.d.ts +4 -0
  36. package/lib/modules/action-bar/index.js +3 -1
  37. package/lib/modules/action-bar/store.d.ts +16 -6
  38. package/lib/modules/action-bar/store.js +63 -25
  39. package/lib/modules/action-bar/types.d.ts +3 -3
  40. package/lib/modules/action-bar/view.js +2 -3
  41. package/lib/modules/annotation/annotation-index.d.ts +2 -0
  42. package/lib/modules/annotation/annotation-index.js +80 -0
  43. package/lib/modules/annotation/annotation-toolbar-store.d.ts +82 -0
  44. package/lib/modules/annotation/annotation-toolbar-store.js +501 -0
  45. package/lib/modules/annotation/components/color-picker/components/color.d.ts +5 -0
  46. package/lib/modules/annotation/components/color-picker/components/color.js +38 -0
  47. package/lib/modules/annotation/components/color-picker/components/panel.d.ts +1 -0
  48. package/lib/modules/annotation/components/color-picker/components/panel.js +109 -0
  49. package/lib/modules/annotation/components/color-picker/components/picker.d.ts +1 -0
  50. package/lib/modules/annotation/components/color-picker/components/picker.js +75 -0
  51. package/lib/modules/annotation/components/color-picker/index.d.ts +2 -0
  52. package/lib/modules/annotation/components/color-picker/index.js +47 -0
  53. package/lib/modules/annotation/components/eraser-picker.d.ts +4 -0
  54. package/lib/modules/annotation/components/eraser-picker.js +144 -0
  55. package/lib/modules/annotation/components/expansion/index.d.ts +1 -0
  56. package/lib/modules/annotation/components/expansion/index.js +100 -0
  57. package/lib/modules/annotation/components/extra-tool-picker.d.ts +1 -0
  58. package/lib/modules/annotation/components/extra-tool-picker.js +62 -0
  59. package/lib/modules/annotation/components/history.d.ts +2 -0
  60. package/lib/modules/annotation/components/history.js +78 -0
  61. package/lib/modules/annotation/components/icons/fold-icon.d.ts +2 -0
  62. package/lib/modules/annotation/components/icons/fold-icon.js +41 -0
  63. package/lib/modules/annotation/components/icons/move-icon.d.ts +1 -0
  64. package/lib/modules/annotation/components/icons/move-icon.js +66 -0
  65. package/lib/modules/annotation/components/item/index.d.ts +1 -0
  66. package/lib/modules/annotation/components/item/index.js +43 -0
  67. package/lib/modules/annotation/components/move-handle.d.ts +5 -0
  68. package/lib/modules/annotation/components/move-handle.js +134 -0
  69. package/lib/modules/annotation/components/pen-picker.d.ts +4 -0
  70. package/lib/modules/annotation/components/pen-picker.js +155 -0
  71. package/lib/modules/annotation/components/screen-capture-picker.d.ts +4 -0
  72. package/lib/modules/annotation/components/screen-capture-picker.js +85 -0
  73. package/lib/modules/annotation/components/shape-picker.d.ts +4 -0
  74. package/lib/modules/annotation/components/shape-picker.js +210 -0
  75. package/lib/modules/annotation/hooks/index.d.ts +14 -0
  76. package/lib/modules/annotation/hooks/index.js +292 -0
  77. package/lib/modules/annotation/index.d.ts +4 -1
  78. package/lib/modules/annotation/index.js +20 -22
  79. package/lib/modules/annotation/store.d.ts +59 -18
  80. package/lib/modules/annotation/store.js +503 -263
  81. package/lib/modules/annotation/style.css +10 -0
  82. package/lib/modules/annotation/view.js +9 -11
  83. package/lib/modules/chat/chat-room-store.js +5 -2
  84. package/lib/modules/chat/components/chat-select/index.js +1 -1
  85. package/lib/modules/chat/components/chat-select/select-item/index.js +10 -3
  86. package/lib/modules/chat/components/message-list/message-item/index.js +4 -2
  87. package/lib/modules/chat/index.d.ts +2 -0
  88. package/lib/modules/chat/index.js +13 -3
  89. package/lib/modules/chat/store.d.ts +3 -0
  90. package/lib/modules/chat/store.js +12 -6
  91. package/lib/modules/chat/types.d.ts +1 -0
  92. package/lib/modules/chat/types.js +2 -1
  93. package/lib/modules/chat/util.js +2 -1
  94. package/lib/modules/chat/view.js +6 -3
  95. package/lib/modules/{action-bar/components → components}/apps/app-item/index.d.ts +1 -1
  96. package/lib/modules/components/apps/app-list.d.ts +3 -0
  97. package/lib/modules/{action-bar/components → components}/apps/app-list.js +2 -4
  98. package/lib/modules/components/apps/types.d.ts +14 -0
  99. package/lib/modules/components/apps/types.js +6 -0
  100. package/lib/modules/components/device-control/components/carmera/index.js +71 -68
  101. package/lib/modules/components/device-control/components/microphone/index.js +99 -97
  102. package/lib/modules/components/device-control/store.d.ts +1 -1
  103. package/lib/modules/components/member-window/components/member-actions/components/audio-control.js +7 -7
  104. package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.d.ts +0 -2
  105. package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.js +4 -7
  106. package/lib/modules/components/member-window/components/member-actions/components/icon-status.d.ts +0 -1
  107. package/lib/modules/components/member-window/components/member-actions/components/icon-status.js +19 -36
  108. package/lib/modules/components/member-window/components/member-actions/components/more-actions.d.ts +1 -0
  109. package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +9 -2
  110. package/lib/modules/components/member-window/components/member-actions/components/user-info.js +0 -3
  111. package/lib/modules/components/member-window/components/member-actions/components/user-tag.js +15 -11
  112. package/lib/modules/components/member-window/components/member-actions/index.js +10 -2
  113. package/lib/modules/components/member-window/components/member-actions/libs/index.js +2 -2
  114. package/lib/modules/components/member-window/components/video-player/components/local-video-player-with-zoom.d.ts +12 -0
  115. package/lib/modules/components/member-window/components/video-player/components/local-video-player-with-zoom.js +75 -0
  116. package/lib/modules/components/member-window/components/video-player/components/local-video-player.d.ts +1 -7
  117. package/lib/modules/components/member-window/components/video-player/components/local-video-player.js +7 -47
  118. package/lib/modules/components/member-window/components/video-player/components/remote-video-player-with-zoom.d.ts +12 -0
  119. package/lib/modules/components/member-window/components/video-player/components/remote-video-player-with-zoom.js +68 -0
  120. package/lib/modules/components/member-window/components/video-player/components/remote-video-player.d.ts +1 -9
  121. package/lib/modules/components/member-window/components/video-player/components/remote-video-player.js +7 -49
  122. package/lib/modules/components/member-window/components/video-player/components/zoomable-container.d.ts +15 -0
  123. package/lib/modules/components/member-window/components/video-player/components/zoomable-container.js +255 -0
  124. package/lib/modules/components/member-window/components/video-player/index.d.ts +2 -0
  125. package/lib/modules/components/member-window/components/video-player/index.js +8 -2
  126. package/lib/modules/components/member-window/index.css +16 -6
  127. package/lib/modules/components/member-window/index.d.ts +1 -1
  128. package/lib/modules/components/member-window/index.js +12 -4
  129. package/lib/modules/components/member-window/types.d.ts +2 -0
  130. package/lib/modules/components/security-menu/index.js +6 -5
  131. package/lib/modules/control-bar/components/annotation-button/index.js +21 -8
  132. package/lib/modules/control-bar/components/more-actions/index.css +13 -0
  133. package/lib/modules/control-bar/components/more-actions/index.js +1 -1
  134. package/lib/modules/control-bar/components/share-audio/index.css +90 -0
  135. package/lib/modules/control-bar/components/share-audio/index.d.ts +15 -0
  136. package/lib/modules/control-bar/components/share-audio/index.js +173 -0
  137. package/lib/modules/control-bar/components/share-state-nav/index.css +5 -0
  138. package/lib/modules/control-bar/components/share-state-nav/index.js +14 -2
  139. package/lib/modules/control-bar/index.d.ts +2 -0
  140. package/lib/modules/control-bar/index.js +9 -1
  141. package/lib/modules/control-bar/store.d.ts +16 -7
  142. package/lib/modules/control-bar/store.js +36 -12
  143. package/lib/modules/control-bar/view.d.ts +4 -0
  144. package/lib/modules/control-bar/view.js +180 -90
  145. package/lib/modules/device-pretest/store.d.ts +1 -1
  146. package/lib/modules/dialog/components/dialog-container/component/body.d.ts +1 -1
  147. package/lib/modules/dialog/components/dialog-container/index.css +1 -0
  148. package/lib/modules/dialog/components/dialog-container/index.d.ts +2 -1
  149. package/lib/modules/dialog/components/dialog-container/index.js +27 -10
  150. package/lib/modules/dialog/components/host-area-container/index.js +4 -4
  151. package/lib/modules/dialog/components/normal-window/index.d.ts +19 -0
  152. package/lib/modules/dialog/components/normal-window/index.js +69 -0
  153. package/lib/modules/dialog/{components → dialogs}/annotation-tool/index.js +17 -15
  154. package/lib/modules/dialog/dialogs/chat/components/actions.d.ts +1 -0
  155. package/lib/modules/dialog/dialogs/chat/components/actions.js +33 -0
  156. package/lib/modules/dialog/{components → dialogs}/chat/index.d.ts +1 -1
  157. package/lib/modules/dialog/dialogs/chat/index.js +59 -0
  158. package/lib/modules/dialog/dialogs/confirm-leave-meeting/index.d.ts +6 -0
  159. package/lib/modules/dialog/{components → dialogs}/confirm-leave-meeting/index.js +13 -37
  160. package/lib/modules/dialog/{components → dialogs}/connection-gateway/index.js +19 -12
  161. package/lib/modules/dialog/{components → dialogs}/control-bar/index.js +2 -2
  162. package/lib/modules/dialog/{components → dialogs}/device-setting/index.js +20 -13
  163. package/lib/modules/dialog/dialogs/end-meeting/index.d.ts +12 -0
  164. package/lib/modules/dialog/dialogs/end-meeting/index.js +45 -0
  165. package/lib/modules/dialog/{components/interpreter/electron.js → dialogs/interpreter/index.js} +17 -11
  166. package/lib/modules/dialog/dialogs/invite/index.d.ts +3 -0
  167. package/lib/modules/dialog/{components → dialogs}/invite/index.js +9 -25
  168. package/lib/modules/dialog/dialogs/live-streaming/index.d.ts +2 -0
  169. package/lib/modules/dialog/{components → dialogs}/live-streaming/index.js +11 -34
  170. package/lib/modules/dialog/dialogs/participant/components/actions.d.ts +1 -0
  171. package/lib/modules/dialog/dialogs/participant/components/actions.js +32 -0
  172. package/lib/modules/dialog/dialogs/participant/components/title.d.ts +1 -0
  173. package/lib/modules/dialog/dialogs/participant/components/title.js +19 -0
  174. package/lib/modules/dialog/dialogs/participant/index.d.ts +2 -0
  175. package/lib/modules/dialog/dialogs/participant/index.js +53 -0
  176. package/lib/modules/dialog/dialogs/pre-setting/index.js +62 -0
  177. package/lib/modules/dialog/dialogs/rename/index.js +35 -0
  178. package/lib/modules/dialog/{components → dialogs}/share-screen-selection/index.js +1 -1
  179. package/lib/modules/dialog/{components → dialogs}/video-window/index.js +11 -8
  180. package/lib/modules/dialog/{components → dialogs}/whiteboard/index.js +2 -3
  181. package/lib/modules/dialog/{components → dialogs}/widget/electron.js +1 -1
  182. package/lib/modules/dialog/{components → dialogs}/widget/index.js +1 -1
  183. package/lib/modules/dialog/hooks/use-web-drag.d.ts +8 -0
  184. package/lib/modules/dialog/hooks/use-web-drag.js +73 -0
  185. package/lib/modules/dialog/hooks/useElectron.d.ts +2 -7
  186. package/lib/modules/dialog/hooks/useElectron.js +46 -156
  187. package/lib/modules/dialog/index.d.ts +4 -0
  188. package/lib/modules/dialog/index.js +4 -2
  189. package/lib/modules/dialog/level-config.d.ts +11 -0
  190. package/lib/modules/dialog/level-config.js +21 -0
  191. package/lib/modules/dialog/store.d.ts +15 -6
  192. package/lib/modules/dialog/store.js +40 -54
  193. package/lib/modules/dialog/type.d.ts +15 -12
  194. package/lib/modules/event-confirm/components/window/index.d.ts +1 -4
  195. package/lib/modules/event-confirm/components/window/index.js +34 -23
  196. package/lib/modules/event-confirm/index.d.ts +2 -0
  197. package/lib/modules/event-confirm/index.js +3 -2
  198. package/lib/modules/event-confirm/store.d.ts +9 -1
  199. package/lib/modules/event-confirm/store.js +24 -16
  200. package/lib/modules/event-confirm/view.js +11 -22
  201. package/lib/modules/event-sound/index.d.ts +2 -0
  202. package/lib/modules/event-sound/index.js +8 -1
  203. package/lib/modules/event-toast/index.css +10 -0
  204. package/lib/modules/event-toast/store.d.ts +1 -1
  205. package/lib/modules/event-toast/store.js +17 -15
  206. package/lib/modules/event-toast/view.js +2 -1
  207. package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-user/index.js +4 -2
  208. package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-user/option-Item.js +2 -1
  209. package/lib/modules/interpreter/store.d.ts +1 -0
  210. package/lib/modules/interpreter/store.js +12 -5
  211. package/lib/modules/interpreter/view.js +7 -1
  212. package/lib/modules/layout/components/Aside.js +4 -0
  213. package/lib/modules/layout/components/Carousel.js +3 -1
  214. package/lib/modules/layout/components/CommonVideoRenderer.d.ts +3 -1
  215. package/lib/modules/layout/components/CommonVideoRenderer.js +13 -9
  216. package/lib/modules/layout/components/Gallery.js +11 -3
  217. package/lib/modules/layout/index.css +1 -0
  218. package/lib/modules/layout/index.d.ts +2 -0
  219. package/lib/modules/layout/index.js +4 -3
  220. package/lib/modules/layout/store.d.ts +9 -5
  221. package/lib/modules/layout/store.js +38 -46
  222. package/lib/modules/participant/components/confirm-input/index.css +4 -0
  223. package/lib/modules/participant/components/confirm-input/index.d.ts +1 -0
  224. package/lib/modules/participant/components/confirm-input/index.js +2 -1
  225. package/lib/modules/participant/components/participants/components/participants/components/attendee/index.js +2 -1
  226. package/lib/modules/participant/components/participants/components/participants/index.js +11 -3
  227. package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.js +7 -3
  228. package/lib/modules/participant/components/participants/types.d.ts +1 -0
  229. package/lib/modules/participant/store.d.ts +2 -1
  230. package/lib/modules/participant/store.js +23 -9
  231. package/lib/modules/phone-audio-connect/store.d.ts +4 -4
  232. package/lib/modules/setting/audio-settings/audio-settings.js +6 -17
  233. package/lib/modules/setting/config.d.ts +16 -0
  234. package/lib/modules/setting/config.js +17 -1
  235. package/lib/modules/setting/index.d.ts +2 -4
  236. package/lib/modules/setting/index.js +7 -16
  237. package/lib/modules/setting/minutes-settings/minutes-settings.js +0 -4
  238. package/lib/modules/setting/state/index.js +5 -5
  239. package/lib/modules/setting/store.d.ts +37 -33
  240. package/lib/modules/setting/store.js +275 -261
  241. package/lib/modules/setting/translate-settings/language-select.js +0 -2
  242. package/lib/modules/setting/video-settings/video-settings-basic.js +6 -6
  243. package/lib/modules/setting/video-settings/video-settings.js +2 -2
  244. package/lib/modules/setting/view.js +1 -1
  245. package/lib/modules/share-screen/components/control-bar/index.css +75 -0
  246. package/lib/modules/share-screen/components/control-bar/index.d.ts +3 -0
  247. package/lib/modules/share-screen/components/control-bar/index.js +88 -0
  248. package/lib/modules/share-screen/components/control-bar/items/annotation-edit-btn/index.d.ts +8 -0
  249. package/lib/modules/share-screen/components/control-bar/items/annotation-edit-btn/index.js +46 -0
  250. package/lib/modules/share-screen/components/control-bar/items/full-container-btn/index.d.ts +6 -0
  251. package/lib/modules/share-screen/components/control-bar/items/full-container-btn/index.js +32 -0
  252. package/lib/modules/share-screen/components/control-bar/items/original-size-btn/index.d.ts +6 -0
  253. package/lib/modules/share-screen/components/control-bar/items/original-size-btn/index.js +32 -0
  254. package/lib/modules/share-screen/components/control-bar/items/zoom-in-btn/index.d.ts +6 -0
  255. package/lib/modules/share-screen/components/control-bar/items/zoom-in-btn/index.js +32 -0
  256. package/lib/modules/share-screen/components/control-bar/items/zoom-out-btn/index.d.ts +6 -0
  257. package/lib/modules/share-screen/components/control-bar/items/zoom-out-btn/index.js +32 -0
  258. package/lib/modules/share-screen/components/selection/index.js +28 -14
  259. package/lib/modules/share-screen/components/share-scenario/index.d.ts +5 -0
  260. package/lib/modules/share-screen/components/share-scenario/index.js +47 -0
  261. package/lib/modules/share-screen/index.d.ts +4 -2
  262. package/lib/modules/share-screen/index.js +11 -2
  263. package/lib/modules/share-screen/store.d.ts +32 -11
  264. package/lib/modules/share-screen/store.js +273 -192
  265. package/lib/modules/share-screen/view.js +2 -2
  266. package/lib/modules/state-bar/index.js +2 -3
  267. package/lib/modules/state-bar/layout-config.d.ts +2 -4
  268. package/lib/modules/state-bar/layout-config.js +10 -5
  269. package/lib/modules/state-bar/live-streaming-state.js +0 -1
  270. package/lib/modules/state-bar/store.d.ts +7 -7
  271. package/lib/modules/state-bar/store.js +17 -15
  272. package/lib/modules/state-bar/view.js +19 -23
  273. package/lib/modules/video-window/components/members/index.js +3 -2
  274. package/lib/modules/video-window/index.js +0 -3
  275. package/lib/modules/waiting-room-layout/index.css +3 -3
  276. package/lib/modules/waiting-room-layout/index.js +2 -2
  277. package/lib/modules/waiting-room-layout/view.js +1 -0
  278. package/lib/modules/whiteboard/components/control-bar/index.js +2 -2
  279. package/lib/modules/whiteboard/components/control-bar/store.d.ts +4 -1
  280. package/lib/modules/whiteboard/components/control-bar/store.js +4 -2
  281. package/lib/modules/whiteboard/components/toolbar/components/pen-picker.js +4 -4
  282. package/lib/modules/whiteboard/components/toolbar/hooks/index.d.ts +0 -14
  283. package/lib/modules/whiteboard/components/toolbar/hooks/index.js +4 -155
  284. package/lib/modules/whiteboard/components/toolbar/store.d.ts +4 -2
  285. package/lib/modules/whiteboard/components/toolbar/store.js +37 -25
  286. package/lib/modules/whiteboard/components/toolbar/style.css +1 -0
  287. package/lib/modules/whiteboard/index.d.ts +3 -1
  288. package/lib/modules/whiteboard/index.js +26 -23
  289. package/lib/modules/widget/view.js +4 -0
  290. package/lib/providers/ability-provider.d.ts +2 -0
  291. package/lib/providers/annotation-provider.d.ts +43 -47
  292. package/lib/providers/annotation-provider.js +94 -142
  293. package/lib/providers/app-list-provider.d.ts +98 -0
  294. package/lib/providers/app-list-provider.js +251 -0
  295. package/lib/providers/device-provider.d.ts +31 -23
  296. package/lib/providers/device-provider.js +493 -444
  297. package/lib/providers/device-stream-provider.js +2 -2
  298. package/lib/providers/event-provider.d.ts +0 -4
  299. package/lib/providers/event-provider.js +0 -10
  300. package/lib/providers/interpreter-provider.js +10 -7
  301. package/lib/providers/privilege-provider.d.ts +1 -1
  302. package/lib/providers/privilege-provider.js +3 -2
  303. package/lib/providers/renderer-provider.d.ts +1 -0
  304. package/lib/providers/renderer-provider.js +7 -2
  305. package/lib/providers/room-provider.d.ts +3 -1
  306. package/lib/providers/room-provider.js +40 -14
  307. package/lib/providers/screen-share-provider.d.ts +73 -17
  308. package/lib/providers/screen-share-provider.js +222 -100
  309. package/lib/providers/sharing-provider.d.ts +0 -1
  310. package/lib/providers/sharing-provider.js +3 -9
  311. package/lib/providers/user-setting-storage-provider.d.ts +1 -0
  312. package/lib/providers/user-setting-storage-provider.js +5 -12
  313. package/lib/providers/widget-provider.d.ts +19 -0
  314. package/lib/providers/widget-provider.js +28 -2
  315. package/lib/runtime.d.ts +10 -1
  316. package/lib/scenes/main-scene.d.ts +12 -2
  317. package/lib/scenes/main-scene.js +54 -28
  318. package/lib/scenes/waiting-scene.d.ts +11 -0
  319. package/lib/scenes/waiting-scene.js +34 -8
  320. package/lib/schema.d.ts +6 -0
  321. package/lib/schema.js +5 -1
  322. package/lib/shared-data-source/annotation-data.d.ts +17 -0
  323. package/lib/shared-data-source/annotation-data.js +110 -0
  324. package/lib/shared-data-source/app-list-data.d.ts +34 -0
  325. package/lib/shared-data-source/app-list-data.js +133 -0
  326. package/lib/shared-data-source/config.d.ts +26 -7
  327. package/lib/shared-data-source/config.js +29 -11
  328. package/lib/shared-data-source/confirm-data.d.ts +25 -0
  329. package/lib/shared-data-source/confirm-data.js +97 -0
  330. package/lib/shared-data-source/interpreter.d.ts +1 -0
  331. package/lib/shared-data-source/layout-data.d.ts +2 -0
  332. package/lib/shared-data-source/layout-data.js +14 -3
  333. package/lib/shared-data-source/meeting-time.d.ts +23 -1
  334. package/lib/shared-data-source/meeting-time.js +160 -43
  335. package/lib/shared-data-source/member-data.d.ts +10 -9
  336. package/lib/shared-data-source/member-data.js +55 -48
  337. package/lib/shared-data-source/screen-share-data.d.ts +100 -17
  338. package/lib/shared-data-source/screen-share-data.js +142 -22
  339. package/lib/shared-data-source/setting.d.ts +36 -4
  340. package/lib/shared-data-source/setting.js +92 -57
  341. package/lib/shared-data-source/video-window.d.ts +3 -0
  342. package/lib/shared-data-source/video-window.js +52 -30
  343. package/lib/shared-data-source/waiting-room.js +4 -2
  344. package/lib/translations/enUS.d.ts +62 -7
  345. package/lib/translations/enUS.js +71 -14
  346. package/lib/translations/zhCN.d.ts +62 -7
  347. package/lib/translations/zhCN.js +73 -16
  348. package/lib/type.d.ts +23 -5
  349. package/lib/type.js +6 -2
  350. package/lib/ui-manager.d.ts +5 -16
  351. package/lib/ui-manager.js +15 -57
  352. package/lib/ui-scene.d.ts +31 -6
  353. package/lib/ui-scene.js +180 -169
  354. package/lib/utilities/constant.d.ts +67 -63
  355. package/lib/utilities/constant.js +65 -61
  356. package/lib/utilities/dialog-utils.d.ts +66 -0
  357. package/lib/utilities/dialog-utils.js +188 -0
  358. package/lib/utilities/logger.js +3 -3
  359. package/lib/utilities/meeting-detail.js +1 -1
  360. package/lib/utilities/parameters.d.ts +1 -0
  361. package/lib/utilities/parameters.js +5 -1
  362. package/lib/utilities/renderer-event.d.ts +1 -1
  363. package/lib/utilities/screen-capture-permission.d.ts +1 -0
  364. package/lib/utilities/screen-capture-permission.js +9 -1
  365. package/lib/utilities/tools.d.ts +0 -66
  366. package/lib/utilities/tools.js +9 -186
  367. package/package.json +5 -6
  368. package/public/index.html +11 -1
  369. package/lib/modules/action-bar/components/apps/app-list.d.ts +0 -3
  370. package/lib/modules/action-bar/components/apps/useAppItemOptions.d.ts +0 -17
  371. package/lib/modules/action-bar/components/apps/useAppItemOptions.js +0 -30
  372. package/lib/modules/action-bar/components/apps/useBeautyBackground.d.ts +0 -10
  373. package/lib/modules/action-bar/components/apps/useBeautyBackground.js +0 -36
  374. package/lib/modules/action-bar/components/apps/useInterpreter.d.ts +0 -14
  375. package/lib/modules/action-bar/components/apps/useInterpreter.js +0 -37
  376. package/lib/modules/action-bar/components/apps/useLiveStreaming.d.ts +0 -16
  377. package/lib/modules/action-bar/components/apps/useLiveStreaming.js +0 -41
  378. package/lib/modules/action-bar/components/apps/useWidgetList.d.ts +0 -10
  379. package/lib/modules/action-bar/components/apps/useWidgetList.js +0 -39
  380. package/lib/modules/annotation/components/control-bar/index.css +0 -48
  381. package/lib/modules/annotation/components/control-bar/index.d.ts +0 -3
  382. package/lib/modules/annotation/components/control-bar/index.js +0 -142
  383. package/lib/modules/annotation/components/toolbar/index.d.ts +0 -0
  384. package/lib/modules/annotation/components/toolbar/index.js +0 -1
  385. package/lib/modules/dialog/components/chat/electron.d.ts +0 -2
  386. package/lib/modules/dialog/components/chat/electron.js +0 -35
  387. package/lib/modules/dialog/components/chat/index.js +0 -67
  388. package/lib/modules/dialog/components/confirm-leave-meeting/index.d.ts +0 -6
  389. package/lib/modules/dialog/components/connection-gateway/electron.d.ts +0 -5
  390. package/lib/modules/dialog/components/connection-gateway/electron.js +0 -33
  391. package/lib/modules/dialog/components/device-setting/electron.d.ts +0 -2
  392. package/lib/modules/dialog/components/device-setting/electron.js +0 -37
  393. package/lib/modules/dialog/components/interpreter/electron.d.ts +0 -2
  394. package/lib/modules/dialog/components/interpreter/index.js +0 -33
  395. package/lib/modules/dialog/components/invite/index.d.ts +0 -3
  396. package/lib/modules/dialog/components/live-streaming/index.d.ts +0 -4
  397. package/lib/modules/dialog/components/participant/electron.d.ts +0 -2
  398. package/lib/modules/dialog/components/participant/electron.js +0 -35
  399. package/lib/modules/dialog/components/participant/index.d.ts +0 -2
  400. package/lib/modules/dialog/components/participant/index.js +0 -65
  401. package/lib/modules/dialog/components/pre-setting/electron.d.ts +0 -2
  402. package/lib/modules/dialog/components/pre-setting/electron.js +0 -51
  403. package/lib/modules/dialog/components/pre-setting/index.js +0 -38
  404. package/lib/modules/dialog/components/pre-setting-container/component/body.d.ts +0 -8
  405. package/lib/modules/dialog/components/pre-setting-container/component/body.js +0 -78
  406. package/lib/modules/dialog/components/pre-setting-container/index.css +0 -82
  407. package/lib/modules/dialog/components/pre-setting-container/index.d.ts +0 -18
  408. package/lib/modules/dialog/components/pre-setting-container/index.js +0 -116
  409. package/lib/modules/dialog/components/rename/index.js +0 -72
  410. package/lib/modules/dialog/dialogs.d.ts +0 -3
  411. package/lib/modules/dialog/dialogs.js +0 -28
  412. package/lib/utilities/setting-config-storage.d.ts +0 -18
  413. package/lib/utilities/setting-config-storage.js +0 -133
  414. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/color-tool/color-panel/index.d.ts +0 -0
  415. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/color-tool/color-panel/index.js +0 -0
  416. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/color-tool/index.d.ts +0 -0
  417. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/color-tool/index.js +0 -0
  418. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/graphic-tool/graphic-panel/index.d.ts +0 -0
  419. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/graphic-tool/graphic-panel/index.js +0 -0
  420. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/graphic-tool/graphic-panel/libs.d.ts +0 -0
  421. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/graphic-tool/graphic-panel/libs.js +0 -0
  422. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/graphic-tool/index.d.ts +0 -0
  423. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/graphic-tool/index.js +0 -0
  424. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/item/item.d.ts +0 -0
  425. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/item/style.css +0 -0
  426. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/panel/index.d.ts +0 -0
  427. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/panel/index.js +0 -0
  428. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/panel/style.css +0 -0
  429. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/pen-tool/index.d.ts +0 -0
  430. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/pen-tool/index.js +0 -0
  431. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/pen-tool/pen-panel/index.d.ts +0 -0
  432. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/tips/index.d.ts +0 -0
  433. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/tips/index.js +0 -0
  434. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/components/tips/style.css +0 -0
  435. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/style.css +0 -0
  436. /package/lib/{modules/annotation/components → fragments/annotation}/toolbar/view.d.ts +0 -0
  437. /package/lib/modules/{action-bar/components → components}/apps/app-item/index.css +0 -0
  438. /package/lib/modules/{action-bar/components → components}/apps/app-item/index.js +0 -0
  439. /package/lib/modules/{action-bar/components → components}/apps/index.css +0 -0
  440. /package/lib/modules/dialog/{components → dialogs}/annotation-tool/index.d.ts +0 -0
  441. /package/lib/modules/dialog/{components → dialogs}/confirm/index.d.ts +0 -0
  442. /package/lib/modules/dialog/{components → dialogs}/confirm/index.js +0 -0
  443. /package/lib/modules/dialog/{components → dialogs}/connection-gateway/index.d.ts +0 -0
  444. /package/lib/modules/dialog/{components → dialogs}/connection-gateway/tabs.d.ts +0 -0
  445. /package/lib/modules/dialog/{components → dialogs}/connection-gateway/tabs.js +0 -0
  446. /package/lib/modules/dialog/{components → dialogs}/control-bar/index.d.ts +0 -0
  447. /package/lib/modules/dialog/{components → dialogs}/device-setting/index.css +0 -0
  448. /package/lib/modules/dialog/{components → dialogs}/device-setting/index.d.ts +0 -0
  449. /package/lib/modules/dialog/{components → dialogs}/interpreter/index.css +0 -0
  450. /package/lib/modules/dialog/{components → dialogs}/interpreter/index.d.ts +0 -0
  451. /package/lib/modules/dialog/{components → dialogs}/pre-setting/index.css +0 -0
  452. /package/lib/modules/dialog/{components → dialogs}/pre-setting/index.d.ts +0 -0
  453. /package/lib/modules/dialog/{components → dialogs}/rename/index.d.ts +0 -0
  454. /package/lib/modules/dialog/{components → dialogs}/share-screen-selection/index.d.ts +0 -0
  455. /package/lib/modules/dialog/{components → dialogs}/system-preference/assets/bg1.png +0 -0
  456. /package/lib/modules/dialog/{components → dialogs}/system-preference/assets/bg2.png +0 -0
  457. /package/lib/modules/dialog/{components → dialogs}/system-preference/assets/fcr_png_host.png +0 -0
  458. /package/lib/modules/dialog/{components → dialogs}/system-preference/electron.d.ts +0 -0
  459. /package/lib/modules/dialog/{components → dialogs}/system-preference/electron.js +0 -0
  460. /package/lib/modules/dialog/{components → dialogs}/system-preference/index.css +0 -0
  461. /package/lib/modules/dialog/{components → dialogs}/system-preference/index.d.ts +0 -0
  462. /package/lib/modules/dialog/{components → dialogs}/system-preference/index.js +0 -0
  463. /package/lib/modules/dialog/{components → dialogs}/toast/index.d.ts +0 -0
  464. /package/lib/modules/dialog/{components → dialogs}/toast/index.js +0 -0
  465. /package/lib/modules/dialog/{components → dialogs}/video-window/index.d.ts +0 -0
  466. /package/lib/modules/dialog/{components → dialogs}/whiteboard/index.d.ts +0 -0
  467. /package/lib/modules/dialog/{components → dialogs}/widget/electron.d.ts +0 -0
  468. /package/lib/modules/dialog/{components → dialogs}/widget/index.d.ts +0 -0
@@ -13,9 +13,8 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
13
13
  Object.defineProperty(exports, "__esModule", {
14
14
  value: true
15
15
  });
16
- exports.shadowOffset = exports.diffPlatformTopLevelLayer = exports.diffPlatformHighLevelLayer = exports.DialogInstanceContext = void 0;
16
+ exports.shadowOffset = exports.leaveFullScreenHandler = exports.enterFullScreenHandler = exports.DialogInstanceContext = void 0;
17
17
  exports.useElectronDialog = useElectronDialog;
18
- exports.useElectronDialogByDialogId = useElectronDialogByDialogId;
19
18
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
20
19
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
21
20
  require("core-js/modules/es.array.concat.js");
@@ -30,31 +29,30 @@ require("core-js/modules/esnext.iterator.for-each.js");
30
29
  require("core-js/modules/web.dom-collections.for-each.js");
31
30
  var _react = require("react");
32
31
  var _store = require("../store");
33
- var _dialogs = require("../dialogs");
34
32
  var _renderer = require("../../../utilities/renderer");
35
33
  var _reactDom = require("react-dom");
36
- var _tools = require("../../../utilities/tools");
34
+ var _levelConfig = require("../level-config");
35
+ var _dialogUtils = require("../../../utilities/dialog-utils");
36
+ var _constant = require("../../../utilities/constant");
37
37
  var _jsxRuntime = require("react/jsx-runtime");
38
38
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
39
39
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
40
40
  var DialogInstanceContext = exports.DialogInstanceContext = /*#__PURE__*/(0, _react.createContext)(null);
41
41
  var shadowOffset = exports.shadowOffset = 15 + 15;
42
- // windows 平台对层级支持的不完整,初始化时,如果低于 pup-up-menu 层级将不起作用,因此做此区分
43
- var diffPlatformHighLevelLayer = exports.diffPlatformHighLevelLayer = (0, _renderer.isWindows)() ? 'pop-up-menu' : 'torn-off-menu';
44
- var diffPlatformTopLevelLayer = exports.diffPlatformTopLevelLayer = (0, _renderer.isWindows)() ? 'screen-saver' : 'modal-panel';
45
- var enterFullScreenHandler = function enterFullScreenHandler() {
46
- _dialogs.dialogWindows.forEach(function (win, k) {
47
- !_store.TOP_LEVEL_DIALOG_LAYER.includes(k) && win.setAlwaysOnTop(true, diffPlatformHighLevelLayer);
42
+ var enterFullScreenHandler = exports.enterFullScreenHandler = function enterFullScreenHandler() {
43
+ _store.dialogWindows.forEach(function (win, k) {
44
+ !_levelConfig.TOP_LEVEL_DIALOG_LAYER.includes(k) && win.setAlwaysOnTop(true, _levelConfig.diffPlatformHighLevelLayer);
48
45
  });
49
46
  };
50
- var leaveFullScreenHandler = function leaveFullScreenHandler() {
51
- _dialogs.dialogWindows.forEach(function (win, k) {
52
- ![].concat((0, _toConsumableArray2["default"])(_store.TOP_LEVEL_DIALOG_LAYER), (0, _toConsumableArray2["default"])(_store.HIGH_LEVEL_DIALOG_LAYER)).includes(k) && win.setAlwaysOnTop(true, 'normal');
47
+ var leaveFullScreenHandler = exports.leaveFullScreenHandler = function leaveFullScreenHandler() {
48
+ _store.dialogWindows.forEach(function (win, k) {
49
+ ![].concat((0, _toConsumableArray2["default"])(_levelConfig.TOP_LEVEL_DIALOG_LAYER), (0, _toConsumableArray2["default"])(_levelConfig.HIGH_LEVEL_DIALOG_LAYER)).includes(k) && win.setAlwaysOnTop(true, 'normal');
53
50
  });
54
51
  };
55
52
  function useElectronDialog(props) {
56
53
  var store = (0, _react.useContext)(_store.StoreContext);
57
54
  var customConfigs = props.config,
55
+ dialogId = props.dialogId,
58
56
  dialogKey = props.dialogKey,
59
57
  onClose = props.onClose,
60
58
  scroll = props.scroll,
@@ -71,6 +69,7 @@ function useElectronDialog(props) {
71
69
  hasCustomShadow = _props$hasCustomShado === void 0 ? true : _props$hasCustomShado,
72
70
  _props$disableShortcu = props.disableShortcutClose,
73
71
  disableShortcutClose = _props$disableShortcu === void 0 ? false : _props$disableShortcu;
72
+ var dialogIdOrKey = dialogId || dialogKey;
74
73
  var windowRef = (0, _react.useRef)();
75
74
  var newRendernerWindowRef = (0, _react.useRef)();
76
75
  var _customConfigs$width = customConfigs.width,
@@ -90,18 +89,31 @@ function useElectronDialog(props) {
90
89
  });
91
90
  (0, _react.useEffect)(function () {
92
91
  var node;
93
- window.runtime.openRendererWindow(dialogKey, function (dom, browserWindow, newRendererWindow) {
92
+ window.runtime.openRendererWindow(dialogIdOrKey, function (dom, browserWindow, newRendererWindow) {
94
93
  node = dom;
95
94
  windowRef.current = browserWindow;
96
95
  newRendernerWindowRef.current = newRendererWindow;
97
- _dialogs.dialogWindows.set(dialogKey, browserWindow);
98
- var _ref = (0, _tools.followCorrectDisplay)({
96
+ if (dialogId) {
97
+ store === null || store === void 0 || store.log("[dialog]: open dialog can I find dialog with dialogId: ".concat(dialogKey, ": ").concat(_store.dialogIdWindows.has(dialogId)));
98
+ _store.dialogIdWindows.set(dialogId, browserWindow);
99
+ } else {
100
+ store === null || store === void 0 || store.log("[dialog]: open dialog can I find dialog with dialogKey: ".concat(dialogKey, ": ").concat(_store.dialogWindows.has(dialogKey)));
101
+ _store.dialogWindows.set(dialogKey, browserWindow);
102
+ }
103
+ var _ref = (0, _dialogUtils.followCorrectDisplay)({
99
104
  browserWindow: browserWindow,
100
105
  alwaysFollowScreen: fullScreen
101
106
  }),
102
107
  nearDisplayBounds = _ref.nearDisplayBounds,
103
108
  followControlbar = _ref.followControlbar;
104
- store === null || store === void 0 || store.log("[useElectronDialog]: dialogKey: ".concat(dialogKey, ", ").concat(followControlbar ? 'control bar' : 'main window', " nearing display bounds: ").concat(JSON.stringify(nearDisplayBounds)));
109
+ function handleMouseMove(event) {
110
+ store === null || store === void 0 || store.setConfirmPosition({
111
+ x: event.screenX,
112
+ y: event.screenY
113
+ });
114
+ }
115
+ newRendererWindow.addEventListener('mousemove', handleMouseMove);
116
+ store === null || store === void 0 || store.log("[useElectronDialog][dialog]: ".concat(dialogId ? 'dialogId' : 'dialogKey', ": ").concat(dialogKey, ", ").concat(followControlbar ? 'control bar' : 'main window', " nearing display bounds: ").concat(JSON.stringify(nearDisplayBounds)));
105
117
 
106
118
  // 设置所有窗口为所有工作区可见
107
119
  browserWindow.setVisibleOnAllWorkspaces(true, {
@@ -139,144 +151,13 @@ function useElectronDialog(props) {
139
151
  forward: true
140
152
  } : ignoreMouseEvents);
141
153
  }
142
- browserWindow.setAlwaysOnTop(typeof alwaysOnTop === 'boolean' ? alwaysOnTop : typeof alwaysOnTop === 'string', typeof alwaysOnTop === 'string' ? alwaysOnTop : diffPlatformHighLevelLayer);
143
- if (_store.HIGH_LEVEL_DIALOG_LAYER.includes(dialogKey)) {
144
- browserWindow.setAlwaysOnTop(true, diffPlatformHighLevelLayer);
154
+ browserWindow.setAlwaysOnTop(typeof alwaysOnTop === 'boolean' ? alwaysOnTop : typeof alwaysOnTop === 'string', typeof alwaysOnTop === 'string' ? alwaysOnTop : _levelConfig.diffPlatformHighLevelLayer);
155
+ if (_levelConfig.TOP_LEVEL_DIALOG_LAYER.includes(dialogKey)) {
156
+ browserWindow.setAlwaysOnTop(true, _levelConfig.diffPlatformTopLevelLayer);
145
157
  }
146
- if (!scroll) {
147
- browserWindow.webContents.insertCSS("\n ::-webkit-scrollbar {\n display: none;\n }\n #root {\n padding: ".concat(hasCustomShadow ? shadowOffset / 2 : 0, "px;\n display: ").concat(hasCustomShadow ? 'flex' : 'block', ";\n align-items: center;\n }\n "));
148
- }
149
- if (disableShortcutClose) {
150
- newRendererWindow.addEventListener('keydown', function (event) {
151
- if ((event.ctrlKey || event.metaKey) && event.key === 'w') {
152
- event.preventDefault();
153
- }
154
- });
155
- }
156
- focus && browserWindow.focus();
157
- (0, _renderer.handleWillClose)(browserWindow, function () {
158
- (0, _reactDom.unmountComponentAtNode)(node);
159
- _dialogs.dialogWindows["delete"](dialogKey);
160
- store === null || store === void 0 || store.closeDialogByKey(dialogKey);
161
- onClose === null || onClose === void 0 || onClose({
162
- store: store,
163
- browserWindow: browserWindow
164
- });
165
- });
166
- (0, _reactDom.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_store.StoreContext.Provider, {
167
- value: store,
168
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(DialogInstanceContext.Provider, {
169
- value: {
170
- browserWindow: browserWindow,
171
- newRendererWindow: newRendererWindow,
172
- resizable: !!customConfigs.resizable,
173
- closeDialog: function closeDialog() {
174
- return store.closeDialogByKey(dialogKey);
175
- }
176
- },
177
- children: typeof children === 'function' ? children(browserWindow) : children
178
- })
179
- }), dom);
180
- }, config);
181
- if ((0, _renderer.isMac)()) {
182
- // 这组监听是为了处理 mac 全屏模式下,弹窗会因为主窗口全屏而变成独立窗口的问题
183
- window.runtime.browserWindow.addListener('enter-full-screen', enterFullScreenHandler);
184
- window.runtime.browserWindow.addListener('leave-full-screen', leaveFullScreenHandler);
185
- }
186
- return function () {
187
- node && (0, _reactDom.unmountComponentAtNode)(node);
188
- if ((0, _renderer.isMac)()) {
189
- window.runtime.browserWindow.removeListener('enter-full-screen', enterFullScreenHandler);
190
- window.runtime.browserWindow.removeListener('leave-full-screen', leaveFullScreenHandler);
191
- }
192
- window.runtime.closeRendererWindow(dialogKey);
193
- onUnmounted === null || onUnmounted === void 0 || onUnmounted(store);
194
- };
195
- }, []);
196
- return {
197
- store: store,
198
- browserWindow: windowRef.current,
199
- newRendererWindow: newRendernerWindowRef.current
200
- };
201
- }
202
- function useElectronDialogByDialogId(props) {
203
- var store = (0, _react.useContext)(_store.StoreContext);
204
- var customConfigs = props.config,
205
- dialogId = props.dialogId,
206
- onClose = props.onClose,
207
- scroll = props.scroll,
208
- _props$focus2 = props.focus,
209
- focus = _props$focus2 === void 0 ? true : _props$focus2,
210
- children = props.children,
211
- ignoreMouseEvents = props.ignoreMouseEvents,
212
- _props$alwaysOnTop2 = props.alwaysOnTop,
213
- alwaysOnTop = _props$alwaysOnTop2 === void 0 ? false : _props$alwaysOnTop2,
214
- fullScreen = props.fullScreen,
215
- onOpened = props.onOpened,
216
- onUnmounted = props.onUnmounted,
217
- _props$hasCustomShado2 = props.hasCustomShadow,
218
- hasCustomShadow = _props$hasCustomShado2 === void 0 ? true : _props$hasCustomShado2,
219
- _props$disableShortcu2 = props.disableShortcutClose,
220
- disableShortcutClose = _props$disableShortcu2 === void 0 ? false : _props$disableShortcu2;
221
- var winUniqueId = dialogId;
222
- var windowRef = (0, _react.useRef)();
223
- var newRendernerWindowRef = (0, _react.useRef)();
224
- var _customConfigs$width2 = customConfigs.width,
225
- w = _customConfigs$width2 === void 0 ? 0 : _customConfigs$width2,
226
- _customConfigs$height2 = customConfigs.height,
227
- h = _customConfigs$height2 === void 0 ? 0 : _customConfigs$height2;
228
- var config = _objectSpread(_objectSpread({
229
- type: 'panel',
230
- hasShadow: false,
231
- frame: false,
232
- transparent: true,
233
- resizeble: false
234
- }, customConfigs), {}, {
235
- setAlwaysOnTop: alwaysOnTop,
236
- width: w + (hasCustomShadow ? shadowOffset : 0),
237
- height: h + (hasCustomShadow ? shadowOffset : 0)
238
- });
239
- (0, _react.useEffect)(function () {
240
- var node;
241
- window.runtime.openRendererWindow(winUniqueId, function (dom, browserWindow, newRendererWindow) {
242
- node = dom;
243
- windowRef.current = browserWindow;
244
- newRendernerWindowRef.current = newRendererWindow;
245
- _dialogs.dialogIdWindows.set(winUniqueId, browserWindow);
246
- var _ref2 = (0, _tools.followCorrectDisplay)({
247
- browserWindow: browserWindow,
248
- alwaysFollowScreen: fullScreen
249
- }),
250
- nearDisplayBounds = _ref2.nearDisplayBounds;
251
-
252
- // 设置所有窗口为所有工作区可见
253
- browserWindow.setVisibleOnAllWorkspaces(true, {
254
- visibleOnFullScreen: true,
255
- skipTransformProcessType: true
256
- });
257
-
258
- // 因为窗口有可能需要单独设置位置,所以,窗口打开的回调需要放置在默认的位置设置之后
259
- onOpened === null || onOpened === void 0 || onOpened({
260
- browserWindow: browserWindow,
261
- newRendererWindow: newRendererWindow,
262
- store: store,
263
- // 重写 setBounds 方法,使得设置 bounds 时,自动加上阴影的宽度
264
- setBounds: function setBounds(bounds, animate) {
265
- var b = _objectSpread({}, bounds);
266
- if (b.width && hasCustomShadow) b.width = b.width + shadowOffset;
267
- if (b.height && hasCustomShadow) b.height = b.height + shadowOffset;
268
- browserWindow.setBounds(b, animate);
269
- },
270
- nearDisplayBounds: nearDisplayBounds
271
- });
272
-
273
- // 同原生 electron 的 ignoreMouseEvents 一样,设置为 true 时,窗口将不再接收鼠标事件
274
- if (ignoreMouseEvents) {
275
- browserWindow.setIgnoreMouseEvents(true, typeof ignoreMouseEvents === 'boolean' ? {
276
- forward: true
277
- } : ignoreMouseEvents);
158
+ if (_levelConfig.HIGH_LEVEL_DIALOG_LAYER.includes(dialogKey)) {
159
+ browserWindow.setAlwaysOnTop(true, _levelConfig.diffPlatformHighLevelLayer);
278
160
  }
279
- browserWindow.setAlwaysOnTop(typeof alwaysOnTop === 'boolean' ? alwaysOnTop : typeof alwaysOnTop === 'string', typeof alwaysOnTop === 'string' ? alwaysOnTop : diffPlatformHighLevelLayer);
280
161
  if (!scroll) {
281
162
  browserWindow.webContents.insertCSS("\n ::-webkit-scrollbar {\n display: none;\n }\n #root {\n padding: ".concat(hasCustomShadow ? shadowOffset / 2 : 0, "px;\n display: ").concat(hasCustomShadow ? 'flex' : 'block', ";\n align-items: center;\n }\n "));
282
163
  }
@@ -288,9 +169,15 @@ function useElectronDialogByDialogId(props) {
288
169
  });
289
170
  }
290
171
  focus && browserWindow.focus();
172
+ store === null || store === void 0 || store.log("[useElectronDialog][dialog]: dialog ".concat(dialogIdOrKey, " focused"));
291
173
  (0, _renderer.handleWillClose)(browserWindow, function () {
292
174
  (0, _reactDom.unmountComponentAtNode)(node);
293
- store.closeDilaogByDialogId(winUniqueId);
175
+ if (dialogId) {
176
+ store.closeDilaogByDialogId(dialogId);
177
+ } else {
178
+ _store.dialogWindows["delete"](dialogKey);
179
+ store === null || store === void 0 || store.closeDialogByKey(dialogKey);
180
+ }
294
181
  onClose === null || onClose === void 0 || onClose({
295
182
  store: store,
296
183
  browserWindow: browserWindow
@@ -304,7 +191,7 @@ function useElectronDialogByDialogId(props) {
304
191
  newRendererWindow: newRendererWindow,
305
192
  resizable: !!customConfigs.resizable,
306
193
  closeDialog: function closeDialog() {
307
- return store.closeDilaogByDialogId(winUniqueId);
194
+ return dialogId ? store.closeDilaogByDialogId(dialogId) : store.closeDialogByKey(dialogKey);
308
195
  }
309
196
  },
310
197
  children: typeof children === 'function' ? children(browserWindow) : children
@@ -322,7 +209,10 @@ function useElectronDialogByDialogId(props) {
322
209
  window.runtime.browserWindow.removeListener('enter-full-screen', enterFullScreenHandler);
323
210
  window.runtime.browserWindow.removeListener('leave-full-screen', leaveFullScreenHandler);
324
211
  }
325
- window.runtime.closeRendererWindow(winUniqueId);
212
+ // showtoast 和 confirm 的 dialog 需要常驻,所以不关闭
213
+ if (dialogIdOrKey !== _constant.FcrUIDialogKey.SHOW_TOAST && dialogIdOrKey !== _constant.FcrUIDialogKey.CONFIRM) {
214
+ window.runtime.closeRendererWindow(dialogIdOrKey);
215
+ }
326
216
  onUnmounted === null || onUnmounted === void 0 || onUnmounted(store);
327
217
  };
328
218
  }, []);
@@ -15,6 +15,8 @@ import { FcrUIWidgetProvider } from '../../providers/widget-provider';
15
15
  import { FcrUIChatProvider } from '../../providers/chat-provider';
16
16
  import { FcrUIScreenShareProvider } from '../../providers/screen-share-provider';
17
17
  import { FcrUIScreenShareSharedDataSource } from '../../shared-data-source/screen-share-data';
18
+ import { FcrUISharedConfirmDataSource } from '../../shared-data-source/confirm-data';
19
+ import { FcrUIAnnotationProvider } from '../../providers/annotation-provider';
18
20
  export declare class DialogUIModule extends UIModule {
19
21
  private _dialogsByKey;
20
22
  private _store?;
@@ -35,8 +37,10 @@ export declare class DialogUIModule extends UIModule {
35
37
  widgetProvider?: FcrUIWidgetProvider;
36
38
  screenShareProvider: FcrUIScreenShareProvider;
37
39
  sharedScreenShareSharedDataSource: FcrUIScreenShareSharedDataSource;
40
+ sharedConfirmDataSource: FcrUISharedConfirmDataSource;
38
41
  chatProvider?: FcrUIChatProvider;
39
42
  abilityProvider?: FcrUIAbilityProviderImpl;
43
+ annotationProvider?: FcrUIAnnotationProvider;
40
44
  onNodeWillActive(): void;
41
45
  onNodeWillInactive(): void;
42
46
  getComponent(): import("react/jsx-runtime").JSX.Element;
@@ -68,7 +68,7 @@ var DialogUIModule = exports.DialogUIModule = /*#__PURE__*/function (_UIModule)
68
68
  var _this$currentRoomCont, _this$currentRoomCont2;
69
69
  this.streamControl = (_this$currentRoomCont = this.currentRoomControlProvider) === null || _this$currentRoomCont === void 0 ? void 0 : _this$currentRoomCont.currentRoomControl.getStreamControl();
70
70
  this.userControl = (_this$currentRoomCont2 = this.currentRoomControlProvider) === null || _this$currentRoomCont2 === void 0 ? void 0 : _this$currentRoomCont2.currentRoomControl.getUserControl();
71
- if (this.userControl && this.deviceProvider && this.streamControl && this.remoteVideoRenderProvider && this.eventProvider && this.localVideoRenderProvider && this.sharedLayoutDataSource && this.dialogProvider && this.phoneAudioConnectorProvider && this.widgetProvider && this.chatProvider && this.abilityProvider) {
71
+ if (this.userControl && this.deviceProvider && this.streamControl && this.remoteVideoRenderProvider && this.eventProvider && this.localVideoRenderProvider && this.sharedLayoutDataSource && this.dialogProvider && this.phoneAudioConnectorProvider && this.widgetProvider && this.chatProvider && this.abilityProvider && this.sharedConfirmDataSource && this.annotationProvider) {
72
72
  var _this$currentRoomCont3, _this$mainRoomControl, _this$waitingRoomCont;
73
73
  this._store = new _store["default"]({
74
74
  userControl: this.userControl,
@@ -86,7 +86,9 @@ var DialogUIModule = exports.DialogUIModule = /*#__PURE__*/function (_UIModule)
86
86
  chatProvider: this.chatProvider,
87
87
  abilityProvider: this.abilityProvider,
88
88
  screenShareProvider: this.screenShareProvider,
89
- sharedScreenShareSharedDataSource: this.sharedScreenShareSharedDataSource
89
+ sharedScreenShareSharedDataSource: this.sharedScreenShareSharedDataSource,
90
+ sharedConfirmDataSource: this.sharedConfirmDataSource,
91
+ annotationProvider: this.annotationProvider
90
92
  });
91
93
  }
92
94
  }
@@ -0,0 +1,11 @@
1
+ import { FcrUIDialogKey } from '../../utilities/constant';
2
+ export declare const diffPlatformHighLevelLayer: string;
3
+ export declare const diffPlatformTopLevelLayer: string;
4
+ /**
5
+ * CONFIRM 和 TOAST 是最高层,在应用打开时就会常驻于应用的整个生命周期
6
+ * CONTROL_BAR,VIDEO_WINDOW,ANNOTATION 层级仅低于 CONFIRM 和 TOAST,窗口的生命周期仅限于屏幕共享时
7
+ * CHAT,PARTICIPANT,SHARE_SCREEN 层级仅低于以上窗口层级,并始终在主窗口之上
8
+ * 其他窗口层级为 normal,在打开窗口时,聚焦窗口
9
+ */
10
+ export declare const HIGH_LEVEL_DIALOG_LAYER: FcrUIDialogKey[];
11
+ export declare const TOP_LEVEL_DIALOG_LAYER: FcrUIDialogKey[];
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.diffPlatformTopLevelLayer = exports.diffPlatformHighLevelLayer = exports.TOP_LEVEL_DIALOG_LAYER = exports.HIGH_LEVEL_DIALOG_LAYER = void 0;
8
+ var _constant = require("../../utilities/constant");
9
+ var _platform = require("../../utilities/platform");
10
+ // windows 平台对层级支持的不完整,初始化时,如果低于 pup-up-menu 层级将不起作用,因此做此区分
11
+ var diffPlatformHighLevelLayer = exports.diffPlatformHighLevelLayer = (0, _platform.isWindows)() ? 'pop-up-menu' : 'torn-off-menu';
12
+ var diffPlatformTopLevelLayer = exports.diffPlatformTopLevelLayer = (0, _platform.isWindows)() ? 'screen-saver' : 'modal-panel';
13
+
14
+ /**
15
+ * CONFIRM 和 TOAST 是最高层,在应用打开时就会常驻于应用的整个生命周期
16
+ * CONTROL_BAR,VIDEO_WINDOW,ANNOTATION 层级仅低于 CONFIRM 和 TOAST,窗口的生命周期仅限于屏幕共享时
17
+ * CHAT,PARTICIPANT,SHARE_SCREEN 层级仅低于以上窗口层级,并始终在主窗口之上
18
+ * 其他窗口层级为 normal,在打开窗口时,聚焦窗口
19
+ */
20
+ var HIGH_LEVEL_DIALOG_LAYER = exports.HIGH_LEVEL_DIALOG_LAYER = [_constant.FcrUIDialogKey.CHAT, _constant.FcrUIDialogKey.PARTICIPANT, _constant.FcrUIDialogKey.SHARE_SCREEN];
21
+ var TOP_LEVEL_DIALOG_LAYER = exports.TOP_LEVEL_DIALOG_LAYER = [_constant.FcrUIDialogKey.SHOW_TOAST, _constant.FcrUIDialogKey.CONFIRM, _constant.FcrUIDialogKey.CONTROL_BAR, _constant.FcrUIDialogKey.VIDEO_WINDOW, _constant.FcrUIDialogKey.ANNOTATION, _constant.FcrUIDialogKey.SYSTEM_PREFERENCE];
@@ -13,11 +13,13 @@ import { FcrUIDialogComponent } from './type';
13
13
  import { FcrUIWidgetProvider } from '../../providers/widget-provider';
14
14
  import { FcrUIChatProvider } from '../../providers/chat-provider';
15
15
  import { FcrUIAbilityProviderImpl } from 'fcr-ui-scene/src/providers/ability-provider';
16
- import { CurrentShareScreenWorkArea } from '../../utilities/tools';
17
16
  import { FcrUIScreenShareProvider } from '../../providers/screen-share-provider';
18
17
  import { FcrUIScreenShareSharedDataSource } from '../../shared-data-source/screen-share-data';
19
- export declare const HIGH_LEVEL_DIALOG_LAYER: FcrUIDialogKey[];
20
- export declare const TOP_LEVEL_DIALOG_LAYER: FcrUIDialogKey[];
18
+ import { FcrUISharedConfirmDataSource } from '../../shared-data-source/confirm-data';
19
+ import { CurrentShareScreenWorkArea } from '../../utilities/dialog-utils';
20
+ import { FcrUIAnnotationProvider } from '../../providers/annotation-provider';
21
+ export declare let dialogWindows: Map<FcrUIDialogKey, Electron.BrowserWindow>;
22
+ export declare let dialogIdWindows: Map<string, Electron.BrowserWindow>;
21
23
  export default class DialogStore {
22
24
  protected logger: import("agora-foundation/lib/logger").Logger;
23
25
  private _eventProvider;
@@ -34,11 +36,13 @@ export default class DialogStore {
34
36
  private _sharedLayoutDataSource;
35
37
  private _phoneAudioConnectorProvider;
36
38
  private _sharedScreenShareSharedDataSource;
39
+ private _sharedConfirmDataSource;
37
40
  private _dialogComponentMapByKey;
38
41
  private _chatProvider;
39
42
  private _handleDialogEventObserver;
40
43
  private _userObserver;
41
44
  private _electronDialogs;
45
+ private _annotationProvider;
42
46
  accessor openedDialogs: {
43
47
  dialogKey: FcrUIDialogKey;
44
48
  dialogId: string;
@@ -70,10 +74,10 @@ export default class DialogStore {
70
74
  get connectType(): import("../../type").FcrUIConnectType;
71
75
  get hasOwnPstnStream(): boolean;
72
76
  get widgetDialogIds(): Map<string, string>;
73
- get chatRoomState(): import("fcr-core/lib/room-control/chatroom-control/type").FcrChatRoomConnectionState;
77
+ get chatRoomState(): import("fcr-core/lib/type").FcrChatRoomConnectionState;
74
78
  get isSharingScreen(): boolean;
75
79
  get isSharingScreenOwner(): boolean;
76
- constructor({ eventProvider, userControl, deviceStore, streamControl, localVideoRenderProvider, remoteVideoRenderManager, securityStore, sharedLayoutDataSource, dialogProvider, phoneAudioConnectorProvider, dialogsByKey, widgetProvider, screenShareProvider, chatProvider, sharedScreenShareSharedDataSource, }: {
80
+ constructor({ eventProvider, userControl, deviceStore, streamControl, localVideoRenderProvider, remoteVideoRenderManager, securityStore, sharedLayoutDataSource, dialogProvider, phoneAudioConnectorProvider, dialogsByKey, widgetProvider, screenShareProvider, chatProvider, sharedScreenShareSharedDataSource, sharedConfirmDataSource, annotationProvider, }: {
77
81
  streamControl: FcrStreamControl;
78
82
  userControl: FcrUserControl;
79
83
  eventProvider: FcrUIEventProvider;
@@ -90,7 +94,13 @@ export default class DialogStore {
90
94
  screenShareProvider: FcrUIScreenShareProvider;
91
95
  abilityProvider: FcrUIAbilityProviderImpl;
92
96
  sharedScreenShareSharedDataSource: FcrUIScreenShareSharedDataSource;
97
+ sharedConfirmDataSource: FcrUISharedConfirmDataSource;
98
+ annotationProvider: FcrUIAnnotationProvider;
93
99
  });
100
+ setConfirmPosition(position: {
101
+ x: number;
102
+ y: number;
103
+ }): void;
94
104
  setParticipantElectronDialogContainer(dom: HTMLElement | null): void;
95
105
  setVideoWindowBounds(payload: any): void;
96
106
  closeDialogByKey(dialogKey: FcrUIDialogKey): void;
@@ -107,6 +117,5 @@ export default class DialogStore {
107
117
  log(info: string): void;
108
118
  private _handleDialogEvent;
109
119
  private _hanleAllUserCountUpdated;
110
- private _focusDialog;
111
120
  }
112
121
  export declare const StoreContext: import("react").Context<DialogStore>;