fcr-ui-scene 3.6.0 → 3.6.2

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 (323) hide show
  1. package/dist/132.js +2 -0
  2. package/dist/132.js.LICENSE.txt +311 -0
  3. package/dist/317.js +2 -0
  4. package/dist/317.js.LICENSE.txt +20 -0
  5. package/dist/651.js +2 -0
  6. package/dist/651.js.LICENSE.txt +1 -0
  7. package/dist/689343b64b60bfb7ffff.png +0 -0
  8. package/dist/73.js +1 -0
  9. package/dist/885f9369ea05a8ac0e56.png +0 -0
  10. package/dist/90f383876a6e93e7c7ca.png +0 -0
  11. package/dist/9b37584780995fc5df8c.gif +0 -0
  12. package/dist/annotation.e5cbd3a70b6d42361872.css +1274 -0
  13. package/dist/annotation.html +1 -0
  14. package/dist/annotation.js +2 -0
  15. package/dist/annotation.js.LICENSE.txt +252 -0
  16. package/dist/assets/browser/images/default1.jpg +0 -0
  17. package/dist/assets/browser/images/default2.jpg +0 -0
  18. package/dist/assets/browser/images/default3.jpg +0 -0
  19. package/dist/assets/browser/images/default4.jpg +0 -0
  20. package/dist/assets/browser/images/default5.jpg +0 -0
  21. package/dist/assets/browser/images/default6.jpg +0 -0
  22. package/dist/assets/browser/images/default7.jpg +0 -0
  23. package/dist/assets/browser/sound_effects/pretest.mp3 +0 -0
  24. package/dist/assets/browser/sound_effects/recording_started.mp3 +0 -0
  25. package/dist/assets/browser/sound_effects/remote_user_joined.mp3 +0 -0
  26. package/dist/assets/browser/sound_effects/speaker_test.mp3 +0 -0
  27. package/dist/assets/browser/videos/default8.mp4 +0 -0
  28. package/dist/assets/browser/videos/default9.mp4 +0 -0
  29. package/dist/assets/cursors/fcr_whiteboard_input.ico +0 -0
  30. package/dist/assets/cursors/fcr_whiteboard_pen.ico +0 -0
  31. package/dist/assets/cursors/fcr_whiteboard_shape_-straightline.ico +0 -0
  32. package/dist/assets/cursors/fcr_whiteboard_shape_arrow.ico +0 -0
  33. package/dist/assets/cursors/fcr_whiteboard_shape_circle.ico +0 -0
  34. package/dist/assets/cursors/fcr_whiteboard_shape_rectangle.ico +0 -0
  35. package/dist/assets/cursors/fcr_whiteboard_shape_triangle.ico +0 -0
  36. package/dist/assets/electron/images/default1.jpg +0 -0
  37. package/dist/assets/electron/images/default2.jpg +0 -0
  38. package/dist/assets/electron/sound_effects/pretest.mp3 +0 -0
  39. package/dist/assets/electron/videos/default8.mp4 +0 -0
  40. package/dist/assets/fcr_chat_reddot.svg +5 -0
  41. package/dist/assets/fcr_defaultpage.png +0 -0
  42. package/dist/assets/fcr_grid_big.svg +3 -0
  43. package/dist/assets/fcr_leave2.svg +58 -0
  44. package/dist/assets/fcr_listontop_big.svg +3 -0
  45. package/dist/assets/full-screen-error-boundary-img.png +0 -0
  46. package/dist/assets/leave-meeting.png +0 -0
  47. package/dist/assets/loading.gif +0 -0
  48. package/dist/assets/login_confirm.png +0 -0
  49. package/dist/assets/pretest.mp3 +0 -0
  50. package/dist/assets/state-bar-logo.png +0 -0
  51. package/dist/assets/step-gradient.svg +10 -0
  52. package/dist/b74b002687a3a3346bec.png +0 -0
  53. package/dist/b94869094481702f949b.png +0 -0
  54. package/dist/ebeace75fd46b90d890e.png +0 -0
  55. package/dist/electron/app.js +194 -0
  56. package/dist/electron/bootstrap-dev.js +46 -0
  57. package/dist/electron/bootstrap-sdk.js +211 -0
  58. package/dist/electron/default-options.js +25 -0
  59. package/dist/electron/env.js +13 -0
  60. package/dist/electron/index.js +20 -0
  61. package/dist/electron/injections.js +903 -0
  62. package/dist/electron/ipc/ipc.js +141 -0
  63. package/dist/electron/ipc/type.js +19 -0
  64. package/dist/electron/logger.js +65 -0
  65. package/dist/electron/main.js +94 -0
  66. package/dist/electron/plugins/devtool-shortcut.js +33 -0
  67. package/dist/electron/plugins/meeting-state.js +39 -0
  68. package/dist/electron/plugins/screenshot.js +54 -0
  69. package/dist/electron/preload.js +108 -0
  70. package/dist/electron/tools.js +66 -0
  71. package/dist/electron/window.js +123 -0
  72. package/dist/extensions/agora-extension-virtual-background/agora-wasm.wasm +0 -0
  73. package/dist/extensions/ai-denoiser/denoiser-wasm-simd.wasm +0 -0
  74. package/dist/extensions/ai-denoiser/denoiser-wasm.js +1 -0
  75. package/dist/extensions/ai-denoiser/denoiser-wasm.wasm +0 -0
  76. package/dist/fad688b9135b15d6c405.png +0 -0
  77. package/dist/index.html +224 -0
  78. package/dist/main.393a2a91ab7fc05ffce6.css +15403 -0
  79. package/dist/main.js +2 -0
  80. package/dist/main.js.LICENSE.txt +272 -0
  81. package/dist/worker-entry.worker.js.LICENSE.txt +13 -0
  82. package/lib/creator.d.ts +5 -0
  83. package/lib/creator.js +106 -17
  84. package/lib/electron/bootstrap-sdk.js +19 -6
  85. package/lib/electron/injections.d.ts +4 -0
  86. package/lib/electron/injections.js +37 -8
  87. package/lib/electron/ipc/ipc.d.ts +1 -0
  88. package/lib/electron/ipc/ipc.js +4 -0
  89. package/lib/electron/main.js +6 -2
  90. package/lib/electron/plugins/screenshot.js +4 -2
  91. package/lib/electron/preload.js +7 -2
  92. package/lib/electron/window.js +4 -3
  93. package/lib/fragments/annotation/index.d.ts +10 -0
  94. package/lib/fragments/annotation/index.js +106 -0
  95. package/lib/fragments/annotation/libs.d.ts +55 -0
  96. package/lib/fragments/annotation/libs.js +93 -0
  97. package/lib/fragments/annotation/store.d.ts +25 -0
  98. package/lib/fragments/annotation/store.js +485 -0
  99. package/lib/fragments/annotation/view.d.ts +2 -0
  100. package/lib/fragments/annotation/view.js +23 -0
  101. package/lib/fragments/base.d.ts +10 -0
  102. package/lib/fragments/base.js +44 -0
  103. package/lib/global.css +23 -5
  104. package/lib/modules/action-bar/components/board/index.js +0 -2
  105. package/lib/modules/action-bar/components/breakout-room/index.js +0 -2
  106. package/lib/modules/action-bar/components/leave/index.js +1 -12
  107. package/lib/modules/action-bar/components/more/poppover-content.js +6 -9
  108. package/lib/modules/action-bar/components/participants/index.js +1 -9
  109. package/lib/modules/action-bar/components/screen-share/index.js +0 -4
  110. package/lib/modules/action-bar/components/screen-share/submenu.js +7 -6
  111. package/lib/modules/action-bar/index.css +7 -0
  112. package/lib/modules/action-bar/index.d.ts +2 -0
  113. package/lib/modules/action-bar/index.js +1 -0
  114. package/lib/modules/action-bar/store.d.ts +6 -4
  115. package/lib/modules/action-bar/store.js +19 -19
  116. package/lib/modules/action-bar/view.js +1 -1
  117. package/lib/modules/annotation/components/control-bar/index.css +48 -0
  118. package/lib/modules/annotation/components/control-bar/index.d.ts +3 -0
  119. package/lib/modules/annotation/components/control-bar/index.js +101 -0
  120. package/lib/modules/annotation/components/toolbar/components/color-tool/color-panel/index.d.ts +3 -0
  121. package/lib/modules/annotation/components/toolbar/components/color-tool/color-panel/index.js +46 -0
  122. package/lib/modules/annotation/components/toolbar/components/color-tool/index.d.ts +1 -0
  123. package/lib/modules/annotation/components/toolbar/components/color-tool/index.js +52 -0
  124. package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/index.d.ts +3 -0
  125. package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/index.js +59 -0
  126. package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/libs.d.ts +11 -0
  127. package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/libs.js +59 -0
  128. package/lib/modules/annotation/components/toolbar/components/graphic-tool/index.d.ts +1 -0
  129. package/lib/modules/annotation/components/toolbar/components/graphic-tool/index.js +68 -0
  130. package/lib/modules/annotation/components/toolbar/components/item/item.d.ts +17 -0
  131. package/lib/modules/annotation/components/toolbar/components/item/item.js +115 -0
  132. package/lib/modules/annotation/components/toolbar/components/item/style.css +43 -0
  133. package/lib/modules/annotation/components/toolbar/components/panel/index.d.ts +5 -0
  134. package/lib/modules/annotation/components/toolbar/components/panel/index.js +22 -0
  135. package/lib/modules/annotation/components/toolbar/components/panel/style.css +24 -0
  136. package/lib/modules/annotation/components/toolbar/components/pen-tool/index.d.ts +1 -0
  137. package/lib/modules/annotation/components/toolbar/components/pen-tool/index.js +58 -0
  138. package/lib/modules/annotation/components/toolbar/components/pen-tool/pen-panel/index.d.ts +3 -0
  139. package/lib/modules/annotation/components/toolbar/components/pen-tool/pen-panel/index.js +34 -0
  140. package/lib/modules/annotation/components/toolbar/components/tips/index.d.ts +2 -0
  141. package/lib/modules/annotation/components/toolbar/components/tips/index.js +25 -0
  142. package/lib/modules/annotation/components/toolbar/components/tips/style.css +19 -0
  143. package/lib/modules/annotation/components/toolbar/index.d.ts +0 -0
  144. package/lib/modules/annotation/components/toolbar/index.js +1 -0
  145. package/lib/modules/annotation/components/toolbar/store.d.ts +40 -0
  146. package/lib/modules/annotation/components/toolbar/store.js +279 -0
  147. package/lib/modules/annotation/components/toolbar/style.css +55 -0
  148. package/lib/modules/annotation/components/toolbar/view.d.ts +2 -0
  149. package/lib/modules/annotation/components/toolbar/view.js +120 -0
  150. package/lib/modules/annotation/index.d.ts +36 -0
  151. package/lib/modules/annotation/index.js +168 -0
  152. package/lib/modules/annotation/store.d.ts +85 -0
  153. package/lib/modules/annotation/store.js +648 -0
  154. package/lib/modules/annotation/style.css +26 -0
  155. package/lib/modules/annotation/view.d.ts +2 -0
  156. package/lib/modules/annotation/view.js +32 -0
  157. package/lib/modules/audio-stream/index.js +4 -4
  158. package/lib/modules/chat/chat-room-store.js +3 -4
  159. package/lib/modules/chat/view.js +112 -100
  160. package/lib/modules/components/annotation-menu/index.d.ts +7 -0
  161. package/lib/modules/components/annotation-menu/index.js +119 -0
  162. package/lib/modules/components/leave-meeting/components/assign-host.js +26 -23
  163. package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.d.ts +2 -0
  164. package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.js +6 -3
  165. package/lib/modules/components/member-window/components/member-actions/index.js +0 -2
  166. package/lib/modules/components/member-window/components/member-actions/libs/index.js +0 -1
  167. package/lib/modules/components/member-window/components/video-player/components/remote-video-player.d.ts +2 -1
  168. package/lib/modules/components/member-window/components/video-player/components/remote-video-player.js +5 -1
  169. package/lib/modules/components/member-window/components/video-player/index.d.ts +1 -0
  170. package/lib/modules/components/member-window/index.css +1 -0
  171. package/lib/modules/components/member-window/index.d.ts +1 -1
  172. package/lib/modules/components/member-window/index.js +8 -6
  173. package/lib/modules/components/member-window/types.d.ts +2 -0
  174. package/lib/modules/components/security-menu/index.js +7 -6
  175. package/lib/modules/connection-gateway/components/phone/index.js +1 -1
  176. package/lib/modules/control-bar/components/annotation-button/index.d.ts +1 -0
  177. package/lib/modules/control-bar/components/annotation-button/index.js +59 -0
  178. package/lib/modules/control-bar/index.d.ts +6 -2
  179. package/lib/modules/control-bar/index.js +5 -2
  180. package/lib/modules/control-bar/store.d.ts +24 -8
  181. package/lib/modules/control-bar/store.js +116 -81
  182. package/lib/modules/control-bar/view.js +7 -3
  183. package/lib/modules/dialog/components/annotation-tool/index.d.ts +4 -0
  184. package/lib/modules/dialog/components/annotation-tool/index.js +53 -0
  185. package/lib/modules/dialog/components/chat/index.js +1 -1
  186. package/lib/modules/dialog/components/dialog-container/index.css +16 -0
  187. package/lib/modules/dialog/components/host-area-container/index.d.ts +12 -0
  188. package/lib/modules/dialog/components/host-area-container/index.js +214 -0
  189. package/lib/modules/dialog/components/participant/index.js +1 -1
  190. package/lib/modules/dialog/components/share-screen-selection/index.js +1 -2
  191. package/lib/modules/dialog/components/system-preference/index.js +1 -1
  192. package/lib/modules/dialog/components/video-window/index.js +1 -0
  193. package/lib/modules/dialog/hooks/use-popover-watcher.d.ts +14 -0
  194. package/lib/modules/dialog/hooks/use-popover-watcher.js +112 -0
  195. package/lib/modules/dialog/hooks/useElectron.d.ts +1 -0
  196. package/lib/modules/dialog/hooks/useElectron.js +22 -90
  197. package/lib/modules/dialog/index.d.ts +2 -0
  198. package/lib/modules/dialog/index.js +2 -2
  199. package/lib/modules/dialog/store.d.ts +9 -2
  200. package/lib/modules/dialog/store.js +46 -6
  201. package/lib/modules/event-confirm/components/window/index.d.ts +7 -0
  202. package/lib/modules/event-confirm/components/window/index.js +188 -0
  203. package/lib/modules/event-confirm/index.d.ts +4 -4
  204. package/lib/modules/event-confirm/index.js +6 -4
  205. package/lib/modules/event-confirm/store.d.ts +4 -5
  206. package/lib/modules/event-confirm/store.js +40 -25
  207. package/lib/modules/event-confirm/view.js +23 -171
  208. package/lib/modules/event-sound/index.js +1 -1
  209. package/lib/modules/event-toast/store.js +5 -2
  210. package/lib/modules/invite/components/pstn-invite.js +0 -17
  211. package/lib/modules/layout/components/Aside.js +0 -1
  212. package/lib/modules/layout/components/CommonVideoRenderer.js +30 -16
  213. package/lib/modules/layout/index.d.ts +4 -0
  214. package/lib/modules/layout/index.js +2 -0
  215. package/lib/modules/layout/store.d.ts +14 -2
  216. package/lib/modules/layout/store.js +84 -46
  217. package/lib/modules/participant/components/participants/components/footer/components/footer/index.js +0 -2
  218. package/lib/modules/participant/index.d.ts +2 -0
  219. package/lib/modules/participant/index.js +2 -1
  220. package/lib/modules/participant/store.d.ts +5 -2
  221. package/lib/modules/participant/store.js +45 -28
  222. package/lib/modules/pc-audio-connect/store.js +2 -1
  223. package/lib/modules/setting/audio-settings/audio-settings.js +3 -14
  224. package/lib/modules/share-screen/components/selection/index.js +18 -42
  225. package/lib/modules/share-screen/index.d.ts +6 -2
  226. package/lib/modules/share-screen/index.js +4 -2
  227. package/lib/modules/share-screen/store.d.ts +38 -46
  228. package/lib/modules/share-screen/store.js +263 -693
  229. package/lib/modules/share-screen/view.js +2 -2
  230. package/lib/modules/state-bar/assets/fcr_grid_big.svg +1 -1
  231. package/lib/modules/state-bar/assets/fcr_listontop_big.svg +1 -1
  232. package/lib/modules/state-bar/index.d.ts +2 -0
  233. package/lib/modules/state-bar/index.js +1 -0
  234. package/lib/modules/state-bar/meeting-details.js +3 -9
  235. package/lib/modules/state-bar/store.d.ts +5 -1
  236. package/lib/modules/state-bar/store.js +9 -1
  237. package/lib/modules/state-bar/view.js +3 -2
  238. package/lib/modules/video-window/components/members/index.js +2 -1
  239. package/lib/modules/waiting-room-layout/store.js +1 -1
  240. package/lib/modules/whiteboard/components/control-bar/index.js +0 -2
  241. package/lib/modules/whiteboard/components/control-bar/store.d.ts +5 -1
  242. package/lib/modules/whiteboard/components/control-bar/store.js +8 -1
  243. package/lib/modules/whiteboard/components/scene-pagination.js +0 -2
  244. package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/color.js +1 -2
  245. package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/picker.js +16 -5
  246. package/lib/modules/whiteboard/components/toolbar/components/eraser-picker.js +67 -12
  247. package/lib/modules/whiteboard/components/toolbar/components/expansion/index.js +22 -2
  248. package/lib/modules/whiteboard/components/toolbar/components/history.js +46 -14
  249. package/lib/modules/whiteboard/components/toolbar/components/item/index.js +3 -2
  250. package/lib/modules/whiteboard/components/toolbar/components/move-handle.js +1 -1
  251. package/lib/modules/whiteboard/components/toolbar/components/pen-picker.js +58 -16
  252. package/lib/modules/whiteboard/components/toolbar/components/screen-capture-picker.js +15 -4
  253. package/lib/modules/whiteboard/components/toolbar/components/shape-picker.js +45 -2
  254. package/lib/modules/whiteboard/components/toolbar/hooks/index.d.ts +14 -0
  255. package/lib/modules/whiteboard/components/toolbar/hooks/index.js +235 -7
  256. package/lib/modules/whiteboard/components/toolbar/index.d.ts +1 -1
  257. package/lib/modules/whiteboard/components/toolbar/index.js +1 -1
  258. package/lib/modules/whiteboard/components/toolbar/store.d.ts +9 -2
  259. package/lib/modules/whiteboard/components/toolbar/store.js +30 -6
  260. package/lib/modules/whiteboard/components/toolbar/{ style.css → style.css} +1 -0
  261. package/lib/modules/whiteboard/index.d.ts +2 -0
  262. package/lib/modules/whiteboard/index.js +20 -20
  263. package/lib/modules/widget/sdk.js +0 -1
  264. package/lib/plugins/browser-runtime-plugin.js +10 -1
  265. package/lib/providers/annotation-provider.d.ts +77 -0
  266. package/lib/providers/annotation-provider.js +411 -0
  267. package/lib/providers/device-provider.js +4 -20
  268. package/lib/providers/interpreter-provider.d.ts +1 -0
  269. package/lib/providers/interpreter-provider.js +182 -154
  270. package/lib/providers/privilege-provider.d.ts +35 -6
  271. package/lib/providers/privilege-provider.js +105 -49
  272. package/lib/providers/renderer-provider.js +3 -7
  273. package/lib/providers/room-provider.d.ts +13 -1
  274. package/lib/providers/room-provider.js +21 -7
  275. package/lib/providers/screen-share-provider.d.ts +131 -34
  276. package/lib/providers/screen-share-provider.js +561 -173
  277. package/lib/providers/sharing-provider.d.ts +33 -0
  278. package/lib/{shared-data-source/screen-share-data-source.js → providers/sharing-provider.js} +87 -39
  279. package/lib/runtime.d.ts +6 -1
  280. package/lib/scenes/main-scene.d.ts +7 -2
  281. package/lib/scenes/main-scene.js +54 -25
  282. package/lib/scenes/waiting-scene.d.ts +6 -0
  283. package/lib/scenes/waiting-scene.js +15 -5
  284. package/lib/shared-data-source/meeting-time.js +2 -2
  285. package/lib/shared-data-source/member-data.d.ts +21 -5
  286. package/lib/shared-data-source/member-data.js +69 -17
  287. package/lib/shared-data-source/screen-share-data.d.ts +270 -0
  288. package/lib/shared-data-source/screen-share-data.js +389 -0
  289. package/lib/shared-data-source/security-data.d.ts +4 -1
  290. package/lib/shared-data-source/security-data.js +5 -2
  291. package/lib/shared-data-source/setting.js +6 -4
  292. package/lib/shared-data-source/video-window.d.ts +0 -1
  293. package/lib/shared-data-source/video-window.js +3 -10
  294. package/lib/type.d.ts +53 -0
  295. package/lib/ui-manager.d.ts +3 -2
  296. package/lib/ui-manager.js +6 -4
  297. package/lib/ui-scene.js +61 -48
  298. package/lib/utilities/constant.d.ts +8 -1
  299. package/lib/utilities/constant.js +7 -0
  300. package/lib/utilities/logger.d.ts +4 -0
  301. package/lib/utilities/logger.js +8 -1
  302. package/lib/utilities/renderer-event.d.ts +3 -0
  303. package/lib/utilities/renderer-event.js +14 -1
  304. package/lib/utilities/screen.js +2 -1
  305. package/lib/utilities/tools.d.ts +43 -3
  306. package/lib/utilities/tools.js +81 -17
  307. package/lib/waiting-room-control-manager.js +1 -1
  308. package/package.json +7 -7
  309. package/public/assets/cursors/fcr_whiteboard_input.ico +0 -0
  310. package/public/assets/cursors/fcr_whiteboard_pen.ico +0 -0
  311. package/public/assets/cursors/fcr_whiteboard_shape_-straightline.ico +0 -0
  312. package/public/assets/cursors/fcr_whiteboard_shape_arrow.ico +0 -0
  313. package/public/assets/cursors/fcr_whiteboard_shape_circle.ico +0 -0
  314. package/public/assets/cursors/fcr_whiteboard_shape_rectangle.ico +0 -0
  315. package/public/assets/cursors/fcr_whiteboard_shape_triangle.ico +0 -0
  316. package/public/assets/fcr_chat_reddot.svg +3 -3
  317. package/public/assets/fcr_grid_big.svg +1 -1
  318. package/public/assets/fcr_leave2.svg +14 -14
  319. package/public/assets/fcr_listontop_big.svg +1 -1
  320. package/public/assets/step-gradient.svg +1 -1
  321. package/public/fragment.html +10 -0
  322. package/public/index.html +3 -1
  323. package/lib/shared-data-source/screen-share-data-source.d.ts +0 -37
@@ -0,0 +1,214 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.symbol.js");
4
+ require("core-js/modules/es.array.filter.js");
5
+ require("core-js/modules/es.array.for-each.js");
6
+ require("core-js/modules/es.array.push.js");
7
+ require("core-js/modules/es.object.define-properties.js");
8
+ require("core-js/modules/es.object.define-property.js");
9
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
10
+ require("core-js/modules/es.object.get-own-property-descriptors.js");
11
+ require("core-js/modules/es.object.keys.js");
12
+ require("core-js/modules/esnext.async-iterator.filter.js");
13
+ require("core-js/modules/esnext.async-iterator.for-each.js");
14
+ require("core-js/modules/esnext.iterator.filter.js");
15
+ require("core-js/modules/esnext.iterator.for-each.js");
16
+ require("core-js/modules/web.dom-collections.for-each.js");
17
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
18
+ Object.defineProperty(exports, "__esModule", {
19
+ value: true
20
+ });
21
+ exports.HotAreaContext = exports.HotAreaContainer = void 0;
22
+ require("core-js/modules/es.array.concat.js");
23
+ require("core-js/modules/es.array.find.js");
24
+ require("core-js/modules/es.object.to-string.js");
25
+ require("core-js/modules/esnext.async-iterator.find.js");
26
+ require("core-js/modules/esnext.iterator.constructor.js");
27
+ require("core-js/modules/esnext.iterator.find.js");
28
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
29
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
30
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
31
+ var _react = require("@use-gesture/react");
32
+ var _react2 = require("react");
33
+ var _useElectron = require("../../hooks/useElectron");
34
+ var _env = require("agora-foundation/lib/utilities/env");
35
+ var _constant = require("../../../../utilities/constant");
36
+ var _tools = require("../../../../utilities/tools");
37
+ var _store = require("../../store");
38
+ var _platform = require("../../../../utilities/platform");
39
+ var _jsxRuntime = require("react/jsx-runtime");
40
+ var _excluded = ["x", "y"];
41
+ 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; }
42
+ 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; }
43
+ var HotAreaContext = exports.HotAreaContext = /*#__PURE__*/(0, _react2.createContext)({
44
+ placement: 'top'
45
+ });
46
+ var HotAreaContainer = exports.HotAreaContainer = function HotAreaContainer(props) {
47
+ var children = props.children,
48
+ width = props.width,
49
+ height = props.height,
50
+ _props$placement = props.placement,
51
+ placement = _props$placement === void 0 ? 'top' : _props$placement,
52
+ dialogKey = props.dialogKey;
53
+ var _useContext = (0, _react2.useContext)(_store.StoreContext),
54
+ recordShareBounds = _useContext.recordShareBounds,
55
+ currentShareBounds = _useContext.currentShareBounds,
56
+ currentShareId = _useContext.currentShareId,
57
+ currentShareType = _useContext.currentShareType,
58
+ allApplicationWindows = _useContext.allApplicationWindows;
59
+ var _ref = (0, _env.isElectron)() ? (0, _react2.useContext)(_useElectron.DialogInstanceContext) : {},
60
+ browserWindow = _ref.browserWindow,
61
+ newRendererWindow = _ref.newRendererWindow;
62
+ var windowFocusTimerRef = (0, _react2.useRef)();
63
+ var _useState = (0, _react2.useState)(placement),
64
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
65
+ navCurrentPosition = _useState2[0],
66
+ setNavCurrentPosition = _useState2[1];
67
+ var rndRef = (0, _react2.useRef)(null);
68
+ var _ref2 = (0, _react2.useMemo)(function () {
69
+ return (0, _tools.followCorrectDisplay)({
70
+ dialogKey: _constant.FcrUIDialogKey.ANNOTATION_TOOL
71
+ });
72
+ }, []) || {
73
+ nearDisplayBounds: {
74
+ width: 0,
75
+ height: 0
76
+ }
77
+ },
78
+ bounds = _ref2.nearDisplayBounds;
79
+ var _useState3 = (0, _react2.useState)({
80
+ x: bounds.width / 2 - width / 2,
81
+ y: bounds.height - height - 60
82
+ }),
83
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
84
+ coordination = _useState4[0],
85
+ setCoordination = _useState4[1];
86
+ var bind = (0, _react.useDrag)(function (_ref3) {
87
+ var _rndRef$current;
88
+ var _ref3$delta = (0, _slicedToArray2["default"])(_ref3.delta, 2),
89
+ dx = _ref3$delta[0],
90
+ dy = _ref3$delta[1];
91
+ var x = coordination.x + dx;
92
+ var y = coordination.y + dy;
93
+ var maxX = bounds.width - (((_rndRef$current = rndRef.current) === null || _rndRef$current === void 0 ? void 0 : _rndRef$current.offsetWidth) || width);
94
+ var maxY = bounds.height - height;
95
+ handleDragStop({
96
+ lastX: Math.max(0, Math.min(maxX, x)),
97
+ lastY: Math.max(0, Math.min(maxY, y))
98
+ });
99
+ });
100
+ var handleDragStop = function handleDragStop(data) {
101
+ var x = data.lastX,
102
+ y = data.lastY;
103
+ setCoordination({
104
+ x: x,
105
+ y: y
106
+ });
107
+ // 控制栏左上角在屏幕Y轴的最大坐标
108
+ var MAX_Y = bounds.height - height;
109
+ if (y >= MAX_Y) {
110
+ setNavCurrentPosition('bottom');
111
+ } else if (y <= 0) {
112
+ setNavCurrentPosition('top');
113
+ }
114
+ };
115
+ var handleMouseEnter = function handleMouseEnter() {
116
+ browserWindow === null || browserWindow === void 0 || browserWindow.focus();
117
+ browserWindow === null || browserWindow === void 0 || browserWindow.setIgnoreMouseEvents(false, {
118
+ forward: true
119
+ });
120
+ };
121
+ var handleMouseLeave = function handleMouseLeave(e) {
122
+ browserWindow === null || browserWindow === void 0 || browserWindow.setIgnoreMouseEvents(true, {
123
+ forward: true
124
+ });
125
+ };
126
+ var handleMouseMove = function handleMouseMove() {
127
+ browserWindow === null || browserWindow === void 0 || browserWindow.moveTop();
128
+ browserWindow === null || browserWindow === void 0 || browserWindow.focus();
129
+ browserWindow === null || browserWindow === void 0 || browserWindow.setIgnoreMouseEvents(false, {
130
+ forward: true
131
+ });
132
+ };
133
+ function getScreenBounds() {
134
+ // 当电脑系统更改主屏幕为非共享屏幕时,会导致正在共享屏幕的 x, y 坐标发生改变,并触发 merics-changed 事件,去重新计算 controlbar 的热区位置
135
+ // 但当初分享屏幕时是通过所选择屏幕的 bounds 通过 currentShareBounds 传递到热区计算函数获知到热区应该在哪个显示器上的
136
+ // 因此当系统的主屏幕发生改变,再次通过这个 currentShareBounds 获取的 x, y 坐标就是错误的,以下逻辑既是对此情况做出相应处理
137
+ // 同一个 currentShareBounds 代表选择分享的屏幕没有发生变化,通过它作为 key 去存屏幕信息。当存在这个 key 时,取出来去拿屏幕 id 去匹配,并重新赋值 x,y
138
+ var screenBounds = undefined;
139
+ if (recordShareBounds.has(currentShareBounds)) {
140
+ var _window$runtime$scree;
141
+ var _ref4 = recordShareBounds.get(currentShareBounds),
142
+ ox = _ref4.x,
143
+ oy = _ref4.y,
144
+ _bounds = (0, _objectWithoutProperties2["default"])(_ref4, _excluded);
145
+ var _ref5 = ((_window$runtime$scree = window.runtime.screen.getAllDisplays().find(function (display) {
146
+ return _bounds.displayId === display.id;
147
+ })) === null || _window$runtime$scree === void 0 ? void 0 : _window$runtime$scree.bounds) || {
148
+ x: ox,
149
+ y: oy
150
+ },
151
+ x = _ref5.x,
152
+ y = _ref5.y;
153
+ screenBounds = _objectSpread({
154
+ x: x,
155
+ y: y
156
+ }, _bounds);
157
+ browserWindow === null || browserWindow === void 0 || browserWindow.setBounds(screenBounds);
158
+ } else {
159
+ recordShareBounds.clear();
160
+ screenBounds = (0, _tools.getCurrentSharingWorkArea)({
161
+ currentShareBounds: currentShareBounds
162
+ });
163
+ recordShareBounds.set(currentShareBounds, screenBounds);
164
+ }
165
+ return screenBounds;
166
+ }
167
+ function checkMouseOver() {
168
+ if (windowFocusTimerRef.current) clearInterval(windowFocusTimerRef.current);
169
+ var screenBounds = getScreenBounds();
170
+ browserWindow && newRendererWindow && (0, _tools.handleCheckMouseOver)({
171
+ elem: rndRef.current,
172
+ browserWindow: browserWindow,
173
+ screenBounds: screenBounds,
174
+ newRendererWindow: newRendererWindow,
175
+ callback: function callback(timerId) {
176
+ windowFocusTimerRef.current = timerId;
177
+ },
178
+ dialog: dialogKey
179
+ });
180
+ }
181
+ (0, _react2.useEffect)(function () {
182
+ (0, _platform.isWindows)() ? checkMouseOver() : getScreenBounds();
183
+ window.runtime.screen.addListener(
184
+ // @ts-ignore
185
+ 'display-metrics-changed', (0, _platform.isWindows)() ? checkMouseOver : getScreenBounds);
186
+ handleMouseLeave();
187
+ return function () {
188
+ window.runtime.screen.removeListener(
189
+ // @ts-ignore
190
+ 'display-metrics-changed', (0, _platform.isWindows)() ? checkMouseOver : getScreenBounds);
191
+ clearInterval(windowFocusTimerRef.current);
192
+ };
193
+ }, [currentShareId]);
194
+ return currentShareId ? /*#__PURE__*/(0, _jsxRuntime.jsx)("div", _objectSpread(_objectSpread({}, bind()), {}, {
195
+ style: {
196
+ width: 'fit-content',
197
+ transform: "translate(".concat(coordination.x, "px, ").concat(coordination.y, "px)")
198
+ },
199
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
200
+ ref: rndRef,
201
+ onMouseEnter: handleMouseEnter,
202
+ onMouseLeave: handleMouseLeave,
203
+ onMouseOver: handleMouseEnter,
204
+ onMouseMove: handleMouseMove,
205
+ onClick: handleMouseMove,
206
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(HotAreaContext.Provider, {
207
+ value: {
208
+ placement: placement
209
+ },
210
+ children: children
211
+ })
212
+ })
213
+ })) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {});
214
+ };
@@ -28,7 +28,7 @@ var Container = (0, _mobxReact.observer)(function (props) {
28
28
  height: 560,
29
29
  dialogKey: _constant.FcrUIDialogKey.PARTICIPANT,
30
30
  onClose: store.closeParticipantDialog,
31
- actions: store.isSharingScreen ? null : /*#__PURE__*/(0, _jsxRuntime.jsx)(_tooltip.FcrToolTip, {
31
+ actions: store.isSharingScreen && store.isSharingScreenOwner ? null : /*#__PURE__*/(0, _jsxRuntime.jsx)(_tooltip.FcrToolTip, {
32
32
  content: transI18n('fmt_uimanager_option_mergeview'),
33
33
  mouseEnterDelay: 0,
34
34
  trigger: "hover",
@@ -12,8 +12,7 @@ var _useElectron = require("../../hooks/useElectron");
12
12
  var _dialogContainer = _interopRequireDefault(require("../dialog-container"));
13
13
  var _jsxRuntime = require("react/jsx-runtime");
14
14
  var ShareScreenSelectronDialog = exports.ShareScreenSelectronDialog = function ShareScreenSelectronDialog(props) {
15
- var children = props.children,
16
- config = props.params;
15
+ var children = props.children;
17
16
  var transI18n = (0, _i18n.useI18n)();
18
17
  (0, _useElectron.useElectronDialog)({
19
18
  dialogKey: _constant.FcrUIDialogKey.SHARE_SCREEN,
@@ -83,7 +83,7 @@ var SystemPreferenceDialogContent = function SystemPreferenceDialogContent(props
83
83
  },
84
84
  children: button.text
85
85
  })
86
- });
86
+ }, button.text);
87
87
  })]
88
88
  });
89
89
  };
@@ -125,6 +125,7 @@ var VideoWindowDialog = exports.VideoWindowDialog = (0, _mobxReact.observer)(fun
125
125
  y = _window$runtime$scree2.y,
126
126
  width = _window$runtime$scree2.width;
127
127
  browserWindow.setBounds(setCalcBounds(x, y, width));
128
+ store.log("[VideoWindowDialog]: [onOpened], x: ".concat(x, ", y: ").concat(y, ", width: ").concat(width));
128
129
  }
129
130
  reCalculate();
130
131
  calculateRef.current = reCalculate;
@@ -0,0 +1,14 @@
1
+ export declare function usePopoverWatcher({ wrapperClass, offset, onAdded, onRemoved, }: {
2
+ wrapperClass: string;
3
+ onAdded?: () => void;
4
+ onRemoved?: () => void;
5
+ offset?: {
6
+ vertical: number;
7
+ horizontal: number;
8
+ };
9
+ }): {
10
+ watcher: ({ browserWindow, newRendererWindow, }: {
11
+ browserWindow?: Electron.BrowserWindow;
12
+ newRendererWindow?: Window;
13
+ }) => void;
14
+ };
@@ -0,0 +1,112 @@
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.usePopoverWatcher = usePopoverWatcher;
8
+ require("core-js/modules/es.array.for-each.js");
9
+ require("core-js/modules/es.object.to-string.js");
10
+ require("core-js/modules/esnext.async-iterator.for-each.js");
11
+ require("core-js/modules/esnext.iterator.constructor.js");
12
+ require("core-js/modules/esnext.iterator.for-each.js");
13
+ require("core-js/modules/web.dom-collections.for-each.js");
14
+ var _lodash = require("lodash");
15
+ var _react = require("react");
16
+ function usePopoverWatcher(_ref) {
17
+ var wrapperClass = _ref.wrapperClass,
18
+ _ref$offset = _ref.offset,
19
+ offset = _ref$offset === void 0 ? {
20
+ vertical: 0,
21
+ horizontal: 0
22
+ } : _ref$offset,
23
+ onAdded = _ref.onAdded,
24
+ onRemoved = _ref.onRemoved;
25
+ var observerRef = (0, _react.useRef)();
26
+ var wrapperDomRef = (0, _react.useRef)();
27
+ function watcher(_ref2) {
28
+ var browserWindow = _ref2.browserWindow,
29
+ newRendererWindow = _ref2.newRendererWindow;
30
+ if (!newRendererWindow || !browserWindow) {
31
+ return console.log('newRendererWindow and browserWindow is not inital');
32
+ }
33
+ if (observerRef.current) observerRef.current.disconnect();
34
+ var body = newRendererWindow.document.body;
35
+ var browserWindowBounds = browserWindow.getBounds();
36
+ var threshold = calculateThreshold(browserWindow, body);
37
+ browserWindow.addListener(
38
+ // @ts-ignore
39
+ 'custom-move', (0, _lodash.debounce)(function () {
40
+ threshold = calculateThreshold(browserWindow, body);
41
+ }, 200));
42
+ observerRef.current = new MutationObserver(function (mutationsList) {
43
+ var popover = body.querySelector('.fcr-popover');
44
+ wrapperDomRef.current = body.querySelector(wrapperClass);
45
+ var wrapper = wrapperDomRef.current;
46
+ mutationsList.forEach(function (mutation) {
47
+ if (mutation.type === 'childList') {
48
+ mutation.addedNodes.forEach(function (node) {
49
+ if (node.nodeType === Node.ELEMENT_NODE && node.contains(popover)) {
50
+ if (popover) {
51
+ var wrapperHeight = wrapper.offsetHeight,
52
+ wrapperWidth = wrapper.offsetWidth;
53
+ var offsetHeight = popover.offsetHeight,
54
+ popoverWidth = popover.offsetWidth,
55
+ offsetTop = popover.offsetTop,
56
+ offsetLeft = popover.offsetLeft;
57
+ // 如果 popover 展开,根据 popover 的尺寸调整窗口的尺寸可以正好容纳 popover
58
+ browserWindow.setBounds({
59
+ height: wrapperHeight + offsetHeight + offset.vertical,
60
+ width: wrapperWidth + offset.horizontal,
61
+ y: threshold.placement === 'top' ? threshold.y - offsetHeight : threshold.y
62
+ });
63
+ // if (wrapper) {
64
+ // const rect = wrapper.getBoundingClientRect();
65
+ // wrapper.setAttribute('style', `height: ${rect.height}px;width: ${rect.width}px`);
66
+ // // popover.setAttribute('style', `left: ${offsetLeft}px;top: ${offsetTop}px`);
67
+ // }
68
+ onAdded === null || onAdded === void 0 || onAdded();
69
+ }
70
+ }
71
+ });
72
+ mutation.removedNodes.forEach(function (node) {
73
+ var _classList;
74
+ if ((_classList = node.classList) !== null && _classList !== void 0 && _classList.contains('fcr-popover')) {
75
+ onRemoved === null || onRemoved === void 0 || onRemoved();
76
+ var width = browserWindowBounds.width,
77
+ height = browserWindowBounds.height;
78
+ browserWindow.setBounds({
79
+ width: width,
80
+ height: height,
81
+ y: threshold.y
82
+ });
83
+ browserWindow.setResizable(true);
84
+ }
85
+ });
86
+ }
87
+ });
88
+ });
89
+ observerRef.current.observe(newRendererWindow.document.body, {
90
+ childList: true,
91
+ subtree: true
92
+ });
93
+ }
94
+ return {
95
+ watcher: watcher
96
+ };
97
+ }
98
+ function calculateThreshold(browserWindow, body) {
99
+ var _body$querySelector;
100
+ var bounds = browserWindow.getBounds();
101
+ var nearDisplay = window.runtime.screen.getDisplayNearestPoint(bounds);
102
+ var nearDisplayBounds = nearDisplay.bounds;
103
+ var middleThreshold = nearDisplayBounds.height / 2;
104
+ var placement = bounds.y > middleThreshold ? 'top' : 'bottom';
105
+ console.log('custom moving', placement, bounds.y);
106
+ (_body$querySelector = body.querySelector('#root')) === null || _body$querySelector === void 0 || _body$querySelector.setAttribute('style', "display: flex;align-items: ".concat(placement === 'top' ? 'flex-end' : 'flex-start'));
107
+ return {
108
+ placement: placement,
109
+ x: bounds.x,
110
+ y: bounds.y
111
+ };
112
+ }
@@ -3,6 +3,7 @@ export declare const DialogInstanceContext: import("react").Context<{
3
3
  browserWindow: Electron.BrowserWindow;
4
4
  newRendererWindow: Window;
5
5
  resizable: boolean;
6
+ closeDialog: () => void;
6
7
  }>;
7
8
  export declare const shadowOffset: number;
8
9
  export declare const diffPlatformHighLevelLayer: string;
@@ -22,6 +22,8 @@ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers
22
22
  require("core-js/modules/es.array.concat.js");
23
23
  require("core-js/modules/es.array.for-each.js");
24
24
  require("core-js/modules/es.array.includes.js");
25
+ require("core-js/modules/es.date.to-json.js");
26
+ require("core-js/modules/es.json.stringify.js");
25
27
  require("core-js/modules/es.object.to-string.js");
26
28
  require("core-js/modules/es.string.includes.js");
27
29
  require("core-js/modules/esnext.async-iterator.for-each.js");
@@ -33,7 +35,7 @@ var _store = require("../store");
33
35
  var _dialogs = require("../dialogs");
34
36
  var _renderer = require("../../../utilities/renderer");
35
37
  var _reactDom = require("react-dom");
36
- var _constant = require("../../../utilities/constant");
38
+ var _tools = require("../../../utilities/tools");
37
39
  var _jsxRuntime = require("react/jsx-runtime");
38
40
  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
41
  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; }
@@ -67,7 +69,6 @@ function useElectronDialog(props) {
67
69
  fullScreen = props.fullScreen,
68
70
  onOpened = props.onOpened,
69
71
  onUnmounted = props.onUnmounted,
70
- polyfills = props.polyfills,
71
72
  _props$hasCustomShado = props.hasCustomShadow,
72
73
  hasCustomShadow = _props$hasCustomShado === void 0 ? true : _props$hasCustomShado,
73
74
  _props$disableShortcu = props.disableShortcutClose,
@@ -92,53 +93,16 @@ function useElectronDialog(props) {
92
93
  (0, _react.useEffect)(function () {
93
94
  var node;
94
95
  window.runtime.openRendererWindow(dialogKey, function (dom, browserWindow, newRendererWindow) {
95
- var _controlbar$isVisible;
96
96
  node = dom;
97
97
  windowRef.current = browserWindow;
98
98
  newRendernerWindowRef.current = newRendererWindow;
99
99
  _dialogs.dialogWindows.set(dialogKey, browserWindow);
100
- var thisWindowBounds = browserWindow.getBounds();
101
- var mainAppWindowBounds = window.runtime.browserWindow.getBounds();
102
- var nearDisplayBounds = window.runtime.screen.getDisplayNearestPoint(mainAppWindowBounds).bounds;
103
- var controlbar = _dialogs.dialogWindows.get(_constant.FcrUIDialogKey.CONTROL_BAR);
104
- if (controlbar && controlbar !== null && controlbar !== void 0 && (_controlbar$isVisible = controlbar.isVisible) !== null && _controlbar$isVisible !== void 0 && _controlbar$isVisible.call(controlbar)) {
105
- // 因为打开过的窗口在关闭时是用的 hide 方法,因此只判断 controlbar 是否存在会在关闭 controlbar 时失效,导致窗口依然跟随 controlbar 最后所在屏幕打开,所以要再判断一下 isVisible 状态
106
- // 当屏幕共享时会打开 control bar,此时弹窗相对于 control bar 展示
107
- var nearDisplay = window.runtime.screen.getDisplayNearestPoint(controlbar.getBounds());
108
- var _nearDisplayBounds = nearDisplay.bounds;
109
- var _thisWindowBounds = browserWindow.getBounds();
110
- var centerBounds = {
111
- x: Math.floor(_nearDisplayBounds.x + (_nearDisplayBounds.width - _thisWindowBounds.width) / 2),
112
- y: Math.floor(_nearDisplayBounds.y + (_nearDisplayBounds.height - _thisWindowBounds.height) / 2)
113
- };
114
- // resizeble 为 true 的窗口在切换不同分辨率属性的显示器时,会有打开尺寸失真的情况出现,所以暂存一下其原始值,在更改坐标之后还原
115
- var resizeble = browserWindow.isResizable();
116
- browserWindow.setResizable(false);
117
- browserWindow.setBounds(centerBounds);
118
- browserWindow.setResizable(resizeble);
119
- } else if (fullScreen) {
120
- var _browserWindow$setBou;
121
- // 当窗口的自定义设置为全屏时,让弹窗追随主窗口所在的屏幕展示
122
- // 目前 fullScreen 的配置主要用于 toast 和 confirm,在应用启动时会直接初始化这两个 dialog,如果未设置 fullScreen,它们因为没有宽高将无法展示
123
- var x = nearDisplayBounds.x,
124
- y = nearDisplayBounds.y,
125
- width = nearDisplayBounds.width,
126
- height = nearDisplayBounds.height;
127
- browserWindow === null || browserWindow === void 0 || (_browserWindow$setBou = browserWindow.setBounds) === null || _browserWindow$setBou === void 0 || _browserWindow$setBou.call(browserWindow, {
128
- x: x,
129
- y: y,
130
- width: width,
131
- height: height
132
- });
133
- } else {
134
- var _browserWindow$setBou2;
135
- // 如果窗口未设置全屏模式,那么新打开的弹窗相对于主窗口弹窗的水平垂直居中显示
136
- var bounds = {
137
- x: Math.floor(mainAppWindowBounds.x + (mainAppWindowBounds.width - thisWindowBounds.width) / 2),
138
- y: Math.floor(mainAppWindowBounds.y + (mainAppWindowBounds.height - thisWindowBounds.height) / 2)
139
- };
140
- browserWindow === null || browserWindow === void 0 || (_browserWindow$setBou2 = browserWindow.setBounds) === null || _browserWindow$setBou2 === void 0 || _browserWindow$setBou2.call(browserWindow, bounds);
141
- }
100
+ var _ref = (0, _tools.followCorrectDisplay)({
101
+ browserWindow: browserWindow,
102
+ alwaysFollowScreen: fullScreen
103
+ }),
104
+ nearDisplayBounds = _ref.nearDisplayBounds;
105
+ store === null || store === void 0 || store.log("[useElectronDialog]: dialogKey: ".concat(dialogKey, ", nearDisplayBounds: ").concat(JSON.stringify(nearDisplayBounds)));
142
106
 
143
107
  // 设置所有窗口为所有工作区可见
144
108
  browserWindow.setVisibleOnAllWorkspaces(true, {
@@ -206,7 +170,10 @@ function useElectronDialog(props) {
206
170
  value: {
207
171
  browserWindow: browserWindow,
208
172
  newRendererWindow: newRendererWindow,
209
- resizable: !!customConfigs.resizable
173
+ resizable: !!customConfigs.resizable,
174
+ closeDialog: function closeDialog() {
175
+ return store.closeDialogByKey(dialogKey);
176
+ }
210
177
  },
211
178
  children: typeof children === 'function' ? children(browserWindow) : children
212
179
  })
@@ -248,7 +215,6 @@ function useElectronDialogByDialogId(props) {
248
215
  fullScreen = props.fullScreen,
249
216
  onOpened = props.onOpened,
250
217
  onUnmounted = props.onUnmounted,
251
- polyfills = props.polyfills,
252
218
  _props$hasCustomShado2 = props.hasCustomShadow,
253
219
  hasCustomShadow = _props$hasCustomShado2 === void 0 ? true : _props$hasCustomShado2,
254
220
  _props$disableShortcu2 = props.disableShortcutClose,
@@ -274,52 +240,15 @@ function useElectronDialogByDialogId(props) {
274
240
  (0, _react.useEffect)(function () {
275
241
  var node;
276
242
  window.runtime.openRendererWindow(winUniqueId, function (dom, browserWindow, newRendererWindow) {
277
- var _controlbar$isVisible2;
278
243
  node = dom;
279
244
  windowRef.current = browserWindow;
280
245
  newRendernerWindowRef.current = newRendererWindow;
281
246
  _dialogs.dialogIdWindows.set(winUniqueId, browserWindow);
282
- var thisWindowBounds = browserWindow.getBounds();
283
- var mainAppWindowBounds = window.runtime.browserWindow.getBounds();
284
- var nearDisplayBounds = window.runtime.screen.getDisplayNearestPoint(mainAppWindowBounds).bounds;
285
- var controlbar = _dialogs.dialogWindows.get(_constant.FcrUIDialogKey.CONTROL_BAR);
286
- if (controlbar && controlbar !== null && controlbar !== void 0 && (_controlbar$isVisible2 = controlbar.isVisible) !== null && _controlbar$isVisible2 !== void 0 && _controlbar$isVisible2.call(controlbar)) {
287
- // 因为打开过的窗口在关闭时是用的 hide 方法,因此只判断 controlbar 是否存在会在关闭 controlbar 时失效,导致窗口依然跟随 controlbar 最后所在屏幕打开,所以要再判断一下 isVisible 状态
288
- // 当屏幕共享时会打开 control bar,此时弹窗相对于 control bar 展示
289
- var nearDisplay = window.runtime.screen.getDisplayNearestPoint(controlbar.getBounds());
290
- var _nearDisplayBounds2 = nearDisplay.bounds;
291
- var _thisWindowBounds2 = browserWindow.getBounds();
292
- var centerBounds = {
293
- x: Math.floor(_nearDisplayBounds2.x + (_nearDisplayBounds2.width - _thisWindowBounds2.width) / 2),
294
- y: Math.floor(_nearDisplayBounds2.y + (_nearDisplayBounds2.height - _thisWindowBounds2.height) / 2)
295
- };
296
- // resizeble 为 true 的窗口在切换不同分辨率属性的显示器时,会有打开尺寸失真的情况出现,所以暂存一下其原始值,在更改坐标之后还原
297
- var resizeble = browserWindow.isResizable();
298
- browserWindow.setResizable(false);
299
- browserWindow.setBounds(centerBounds);
300
- browserWindow.setResizable(resizeble);
301
- } else if (fullScreen) {
302
- var _browserWindow$setBou3;
303
- // 当窗口的自定义设置为全屏时,让弹窗追随主窗口所在的屏幕展示
304
- var x = nearDisplayBounds.x,
305
- y = nearDisplayBounds.y,
306
- width = nearDisplayBounds.width,
307
- height = nearDisplayBounds.height;
308
- browserWindow === null || browserWindow === void 0 || (_browserWindow$setBou3 = browserWindow.setBounds) === null || _browserWindow$setBou3 === void 0 || _browserWindow$setBou3.call(browserWindow, {
309
- x: x,
310
- y: y,
311
- width: width,
312
- height: height
313
- });
314
- } else {
315
- var _browserWindow$setBou4;
316
- // 如果主窗口不是全屏模式,那么新打开的弹窗相对于主窗口弹窗的水平垂直居中显示
317
- var bounds = {
318
- x: Math.floor(mainAppWindowBounds.x + (mainAppWindowBounds.width - thisWindowBounds.width) / 2),
319
- y: Math.floor(mainAppWindowBounds.y + (mainAppWindowBounds.height - thisWindowBounds.height) / 2)
320
- };
321
- browserWindow === null || browserWindow === void 0 || (_browserWindow$setBou4 = browserWindow.setBounds) === null || _browserWindow$setBou4 === void 0 || _browserWindow$setBou4.call(browserWindow, bounds);
322
- }
247
+ var _ref2 = (0, _tools.followCorrectDisplay)({
248
+ browserWindow: browserWindow,
249
+ alwaysFollowScreen: fullScreen
250
+ }),
251
+ nearDisplayBounds = _ref2.nearDisplayBounds;
323
252
 
324
253
  // 设置所有窗口为所有工作区可见
325
254
  browserWindow.setVisibleOnAllWorkspaces(true, {
@@ -374,7 +303,10 @@ function useElectronDialogByDialogId(props) {
374
303
  value: {
375
304
  browserWindow: browserWindow,
376
305
  newRendererWindow: newRendererWindow,
377
- resizable: !!customConfigs.resizable
306
+ resizable: !!customConfigs.resizable,
307
+ closeDialog: function closeDialog() {
308
+ return store.closeDilaogByDialogId(winUniqueId);
309
+ }
378
310
  },
379
311
  children: typeof children === 'function' ? children(browserWindow) : children
380
312
  })
@@ -16,6 +16,7 @@ import { FcrUIDialogInfo } from './type';
16
16
  import { FcrUIWidgetProvider } from '../../providers/widget-provider';
17
17
  import { FcrUIChatProvider } from '../../providers/chat-provider';
18
18
  import { FcrUIScreenShareProvider } from '../../providers/screen-share-provider';
19
+ import { FcrUIScreenShareSharedDataSource } from '../../shared-data-source/screen-share-data';
19
20
  export declare class DialogUIModule extends UIModule {
20
21
  private _dialogsByKey;
21
22
  private _store?;
@@ -35,6 +36,7 @@ export declare class DialogUIModule extends UIModule {
35
36
  waitingRoomControlProvider?: FcrUIWaitingRoomControlProvider;
36
37
  widgetProvider?: FcrUIWidgetProvider;
37
38
  screenShareProvider: FcrUIScreenShareProvider;
39
+ sharedScreenShareSharedDataSource: FcrUIScreenShareSharedDataSource;
38
40
  chatProvider?: FcrUIChatProvider;
39
41
  abilityProvider?: FcrUIAbilityProviderImpl;
40
42
  onNodeWillActive(): void;
@@ -52,7 +52,6 @@ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime
52
52
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
53
53
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
54
54
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
55
- var _react = _interopRequireDefault(require("react"));
56
55
  var _base = require("../../base");
57
56
  var _store = _interopRequireWildcard(require("./store"));
58
57
  var _view = require("./view");
@@ -100,7 +99,8 @@ var DialogUIModule = exports.DialogUIModule = /*#__PURE__*/function (_UIModule)
100
99
  widgetProvider: this.widgetProvider,
101
100
  chatProvider: this.chatProvider,
102
101
  abilityProvider: this.abilityProvider,
103
- screenShareProvider: this.screenShareProvider
102
+ screenShareProvider: this.screenShareProvider,
103
+ sharedScreenShareSharedDataSource: this.sharedScreenShareSharedDataSource
104
104
  });
105
105
  this.eventProvider.addObserver({
106
106
  onEvent: this.onUiEvent.bind(this)