fcr-ui-scene 3.7.5 → 3.7.7

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 (401) hide show
  1. package/installer/icons/icon.png +0 -0
  2. package/installer/mac/entitlements.mac.plist +1 -5
  3. package/lib/creator/index.js +15 -7
  4. package/lib/creator/provider-initializer.browser.js +13 -4
  5. package/lib/creator/provider-initializer.electron.js +22 -10
  6. package/lib/creator.d.ts +36 -0
  7. package/lib/creator.js +465 -0
  8. package/lib/electron/bootstrap-sdk.js +90 -6
  9. package/lib/electron/injections.d.ts +1 -0
  10. package/lib/electron/injections.js +5 -1
  11. package/lib/electron/ipc/type.d.ts +1 -0
  12. package/lib/electron/ipc/type.js +1 -0
  13. package/lib/electron/preload.js +1 -0
  14. package/lib/electron/sdk-helper.d.ts +3 -0
  15. package/lib/electron/sdk-helper.js +53 -19
  16. package/lib/electron/struct.d.ts +7 -1
  17. package/lib/electron/struct.js +8 -1
  18. package/lib/electron/until.d.ts +7 -1
  19. package/lib/electron/until.js +11 -2
  20. package/lib/fragments/annotation/store.js +2 -0
  21. package/lib/modules/action-bar/components/item/index.js +1 -0
  22. package/lib/modules/action-bar/components/more/poppover-content.js +1 -1
  23. package/lib/modules/action-bar/components/screen-share/index.browser.js +4 -2
  24. package/lib/modules/action-bar/components/screen-share/index.electron.js +4 -2
  25. package/lib/modules/action-bar/components/screen-share/submenu.d.ts +5 -1
  26. package/lib/modules/action-bar/components/screen-share/submenu.js +12 -9
  27. package/lib/modules/action-bar/index.d.ts +55 -14
  28. package/lib/modules/action-bar/index.dev.js +94 -0
  29. package/lib/modules/action-bar/index.js +78 -32
  30. package/lib/modules/action-bar/store.d.ts +259 -0
  31. package/lib/modules/action-bar/store.js +1529 -0
  32. package/lib/modules/action-bar/types.d.ts +90 -0
  33. package/lib/modules/action-bar/types.js +6 -0
  34. package/lib/modules/action-bar/view.d.ts +1 -1
  35. package/lib/modules/action-bar/view.js +2 -2
  36. package/lib/modules/annotation/annotation-index.d.ts +2 -0
  37. package/lib/modules/annotation/annotation-index.js +80 -0
  38. package/lib/modules/annotation/annotation-toolbar-store.d.ts +75 -0
  39. package/lib/modules/annotation/annotation-toolbar-store.js +459 -0
  40. package/lib/modules/annotation/board-cursor.css +77 -0
  41. package/lib/modules/annotation/components/color-picker/components/color.d.ts +5 -0
  42. package/lib/modules/annotation/components/color-picker/components/color.js +38 -0
  43. package/lib/modules/annotation/components/color-picker/components/panel.d.ts +1 -0
  44. package/lib/modules/annotation/components/color-picker/components/panel.js +109 -0
  45. package/lib/modules/annotation/components/color-picker/components/picker.d.ts +1 -0
  46. package/lib/modules/annotation/components/color-picker/components/picker.js +75 -0
  47. package/lib/modules/annotation/components/color-picker/index.d.ts +2 -0
  48. package/lib/modules/annotation/components/color-picker/index.js +47 -0
  49. package/lib/modules/annotation/components/eraser-picker.d.ts +4 -0
  50. package/lib/modules/annotation/components/eraser-picker.js +144 -0
  51. package/lib/modules/annotation/components/expansion/index.d.ts +1 -0
  52. package/lib/modules/annotation/components/expansion/index.js +100 -0
  53. package/lib/modules/annotation/components/extra-tool-picker.d.ts +1 -0
  54. package/lib/modules/annotation/components/extra-tool-picker.js +62 -0
  55. package/lib/modules/annotation/components/history.d.ts +2 -0
  56. package/lib/modules/annotation/components/history.js +78 -0
  57. package/lib/modules/annotation/components/icons/fold-icon.d.ts +2 -0
  58. package/lib/modules/annotation/components/icons/fold-icon.js +41 -0
  59. package/lib/modules/annotation/components/icons/move-icon.d.ts +1 -0
  60. package/lib/modules/annotation/components/icons/move-icon.js +66 -0
  61. package/lib/modules/annotation/components/item/index.d.ts +1 -0
  62. package/lib/modules/annotation/components/item/index.js +43 -0
  63. package/lib/modules/annotation/components/move-handle.d.ts +5 -0
  64. package/lib/modules/annotation/components/move-handle.js +134 -0
  65. package/lib/modules/annotation/components/pen-picker.d.ts +4 -0
  66. package/lib/modules/annotation/components/pen-picker.js +155 -0
  67. package/lib/modules/annotation/components/screen-capture-picker.d.ts +4 -0
  68. package/lib/modules/annotation/components/screen-capture-picker.js +85 -0
  69. package/lib/modules/annotation/components/shape-picker.d.ts +4 -0
  70. package/lib/modules/annotation/components/shape-picker.js +210 -0
  71. package/lib/modules/annotation/hooks/index.d.ts +14 -0
  72. package/lib/modules/annotation/hooks/index.js +292 -0
  73. package/lib/modules/annotation/index.d.ts +45 -0
  74. package/lib/modules/annotation/index.js +168 -0
  75. package/lib/modules/annotation/store.d.ts +98 -0
  76. package/lib/modules/annotation/store.js +620 -0
  77. package/lib/modules/annotation/style.css +36 -0
  78. package/lib/modules/annotation/view.d.ts +3 -0
  79. package/lib/modules/annotation/view.js +44 -0
  80. package/lib/modules/audio-stream/index.js +4 -2
  81. package/lib/modules/chat/index.css +8 -0
  82. package/lib/modules/chat/view.js +7 -1
  83. package/lib/modules/components/control-bar/components/switch-theme/index.css +2 -0
  84. package/lib/modules/components/control-bar/components/switch-theme/index.js +5 -7
  85. package/lib/modules/components/control-bar/index.css +0 -2
  86. package/lib/modules/components/control-bar/index.d.ts +1 -0
  87. package/lib/modules/components/control-bar/index.js +51 -15
  88. package/lib/modules/components/device-control/store.d.ts +42 -0
  89. package/lib/modules/components/device-control/store.js +241 -0
  90. package/lib/modules/components/leave-meeting/main-scene/store.d.ts +3 -0
  91. package/lib/modules/components/leave-meeting/main-scene/store.js +12 -0
  92. package/lib/modules/components/leave-meeting/store.base.d.ts +4 -3
  93. package/lib/modules/components/leave-meeting/store.base.js +0 -10
  94. package/lib/modules/components/leave-meeting/store.d.ts +39 -0
  95. package/lib/modules/components/leave-meeting/store.js +270 -0
  96. package/lib/modules/components/leave-meeting/waiting-scene/store.d.ts +5 -1
  97. package/lib/modules/components/leave-meeting/waiting-scene/store.js +17 -3
  98. package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +1 -2
  99. package/lib/modules/components/member-window/components/video-player/components/local-video-player-with-zoom.js +4 -3
  100. package/lib/modules/components/member-window/components/video-player/components/zoomable-container.js +18 -32
  101. package/lib/modules/components/toolbar/components/capture-tool/index.d.ts +0 -1
  102. package/lib/modules/components/toolbar/components/capture-tool/index.js +1 -2
  103. package/lib/modules/components/toolbar/components/vertical-frame/index.js +2 -2
  104. package/lib/modules/components/toolbar/hooks/use-resize-visible.js +45 -32
  105. package/lib/modules/components/toolbar/index.js +6 -24
  106. package/lib/modules/control-bar/components/annotation-button/index.d.ts +1 -0
  107. package/lib/modules/control-bar/components/annotation-button/index.js +72 -0
  108. package/lib/modules/control-bar/components/boundary-detector.d.ts +7 -5
  109. package/lib/modules/control-bar/components/boundary-detector.js +22 -2
  110. package/lib/modules/control-bar/components/cloud-recording-buttons.d.ts +3 -0
  111. package/lib/modules/control-bar/components/cloud-recording-buttons.js +68 -3
  112. package/lib/modules/control-bar/hooks.js +2 -1
  113. package/lib/modules/control-bar/store.d.ts +1 -0
  114. package/lib/modules/control-bar/store.js +21 -7
  115. package/lib/modules/control-bar/types.d.ts +5 -16
  116. package/lib/modules/control-bar/view.js +96 -28
  117. package/lib/modules/dialog/components/confirm/index.js +6 -24
  118. package/lib/modules/dialog/components/dialog-container/component/body.d.ts +1 -0
  119. package/lib/modules/dialog/components/dialog-container/component/body.js +3 -2
  120. package/lib/modules/dialog/components/dialog-container/index.css +8 -1
  121. package/lib/modules/dialog/components/dialog-container/index.d.ts +1 -0
  122. package/lib/modules/dialog/components/dialog-container/index.js +4 -1
  123. package/lib/modules/dialog/components/normal-window/index.d.ts +1 -0
  124. package/lib/modules/dialog/components/normal-window/index.js +3 -1
  125. package/lib/modules/dialog/dialogs/chat/index.js +2 -1
  126. package/lib/modules/dialog/dialogs/control-bar-leave-meeting/index.js +0 -1
  127. package/lib/modules/dialog/dialogs/device-setting/index.d.ts +1 -0
  128. package/lib/modules/dialog/dialogs/device-setting/index.js +4 -2
  129. package/lib/modules/dialog/dialogs/end-meeting/index.d.ts +1 -0
  130. package/lib/modules/dialog/dialogs/end-meeting/index.js +2 -1
  131. package/lib/modules/dialog/dialogs/invite/index.d.ts +1 -0
  132. package/lib/modules/dialog/dialogs/invite/index.js +2 -1
  133. package/lib/modules/dialog/dialogs/mute-all/index.d.ts +1 -0
  134. package/lib/modules/dialog/dialogs/mute-all/index.js +2 -1
  135. package/lib/modules/dialog/dialogs/participant/index.js +9 -2
  136. package/lib/modules/dialog/dialogs/pre-setting/index.d.ts +3 -3
  137. package/lib/modules/dialog/dialogs/pre-setting/index.js +25 -20
  138. package/lib/modules/dialog/dialogs/share-screen-selection/index.js +1 -1
  139. package/lib/modules/dialog/dialogs/sub-window/index.js +1 -7
  140. package/lib/modules/dialog/dialogs/toast/index.d.ts +1 -1
  141. package/lib/modules/dialog/dialogs/toast/index.js +1 -1
  142. package/lib/modules/dialog/dialogs/video-window/index.d.ts +4 -1
  143. package/lib/modules/dialog/dialogs/video-window/index.js +5 -2
  144. package/lib/modules/dialog/dialogs/widget/electron.d.ts +6 -0
  145. package/lib/modules/dialog/dialogs/widget/electron.js +38 -0
  146. package/lib/modules/dialog/dialogs/widget/index.d.ts +2 -0
  147. package/lib/modules/dialog/dialogs/widget/index.js +11 -3
  148. package/lib/modules/dialog/hooks/use-popover-watcher.js +1 -3
  149. package/lib/modules/dialog/hooks/useElectron.d.ts +28 -0
  150. package/lib/modules/dialog/hooks/useElectron.js +277 -0
  151. package/lib/modules/dialog/index.css +6 -2
  152. package/lib/modules/dialog/level-config.d.ts +1 -0
  153. package/lib/modules/dialog/level-config.js +2 -1
  154. package/lib/modules/dialog/store.base.d.ts +2 -0
  155. package/lib/modules/dialog/store.browser.d.ts +2 -0
  156. package/lib/modules/dialog/store.browser.js +6 -1
  157. package/lib/modules/dialog/store.d.ts +135 -0
  158. package/lib/modules/dialog/store.electron.d.ts +9 -1
  159. package/lib/modules/dialog/store.electron.js +64 -4
  160. package/lib/modules/dialog/store.js +616 -0
  161. package/lib/modules/dialog/type.d.ts +3 -0
  162. package/lib/modules/event-confirm/components/window/index.d.ts +7 -0
  163. package/lib/modules/event-confirm/components/window/index.js +221 -0
  164. package/lib/modules/event-confirm/index.css +24 -0
  165. package/lib/modules/event-confirm/index.d.ts +27 -0
  166. package/lib/modules/event-confirm/index.js +76 -0
  167. package/lib/modules/event-confirm/store.d.ts +50 -0
  168. package/lib/modules/event-confirm/store.js +394 -0
  169. package/lib/modules/event-confirm/view.d.ts +2 -0
  170. package/lib/modules/event-confirm/view.js +55 -0
  171. package/lib/modules/event-toast/index.css +0 -1
  172. package/lib/modules/event-toast/index.js +1 -0
  173. package/lib/modules/event-toast/store.base.d.ts +2 -0
  174. package/lib/modules/event-toast/store.base.js +40 -21
  175. package/lib/modules/event-toast/store.d.ts +9 -5
  176. package/lib/modules/event-toast/store.electron.d.ts +2 -0
  177. package/lib/modules/event-toast/store.electron.js +19 -9
  178. package/lib/modules/event-toast/store.js +57 -39
  179. package/lib/modules/layout/components/CommonVideoRenderer.js +1 -0
  180. package/lib/modules/layout/store.d.ts +176 -0
  181. package/lib/modules/layout/store.electron.js +1 -1
  182. package/lib/modules/layout/store.js +1452 -0
  183. package/lib/modules/participant/components/confirm-input/index.js +1 -1
  184. package/lib/modules/participant/store.base.d.ts +30 -3
  185. package/lib/modules/participant/store.base.js +249 -96
  186. package/lib/modules/participant/store.browser.js +4 -3
  187. package/lib/modules/participant/store.d.ts +222 -0
  188. package/lib/modules/participant/store.electron.js +5 -3
  189. package/lib/modules/participant/store.js +1929 -0
  190. package/lib/modules/pc-audio-connect/index.d.ts +22 -0
  191. package/lib/modules/pc-audio-connect/index.js +67 -0
  192. package/lib/modules/pc-audio-connect/main-scene/store.js +1 -0
  193. package/lib/modules/pc-audio-connect/store.d.ts +46 -0
  194. package/lib/modules/pc-audio-connect/store.js +304 -0
  195. package/lib/modules/secondary-window/store.d.ts +1 -1
  196. package/lib/modules/secondary-window/store.js +14 -22
  197. package/lib/modules/secondary-window/view.js +10 -10
  198. package/lib/modules/setting/audio-settings/audio-settings.js +0 -17
  199. package/lib/modules/setting/dialog-wrapper.d.ts +2 -0
  200. package/lib/modules/setting/dialog-wrapper.js +110 -0
  201. package/lib/modules/setting/index.js +1 -1
  202. package/lib/modules/setting/state/index.js +1 -1
  203. package/lib/modules/setting/store.base.d.ts +5 -2
  204. package/lib/modules/setting/store.base.js +72 -26
  205. package/lib/modules/setting/store.d.ts +261 -0
  206. package/lib/modules/setting/store.js +1321 -0
  207. package/lib/modules/share-screen/components/selection/index.css +4 -0
  208. package/lib/modules/share-screen/store.base.js +17 -4
  209. package/lib/modules/share-screen/store.d.ts +148 -0
  210. package/lib/modules/share-screen/store.electron.js +5 -2
  211. package/lib/modules/share-screen/store.js +960 -0
  212. package/lib/modules/share-screen/types.d.ts +26 -0
  213. package/lib/modules/share-screen/types.js +6 -0
  214. package/lib/modules/state-bar/layout-config.js +6 -0
  215. package/lib/modules/state-bar/main-scene/store.base.d.ts +2 -0
  216. package/lib/modules/state-bar/main-scene/store.base.js +6 -0
  217. package/lib/modules/state-bar/store.d.ts +124 -0
  218. package/lib/modules/state-bar/store.js +664 -0
  219. package/lib/modules/video-window/index.css +6 -0
  220. package/lib/modules/video-window/popover-watcher.d.ts +5 -10
  221. package/lib/modules/video-window/popover-watcher.js +34 -31
  222. package/lib/modules/video-window/store.d.ts +32 -5
  223. package/lib/modules/video-window/store.js +156 -63
  224. package/lib/modules/video-window/view.js +50 -1
  225. package/lib/modules/whiteboard/components/progress/electron.d.ts +1 -0
  226. package/lib/modules/whiteboard/components/progress/electron.js +33 -0
  227. package/lib/modules/whiteboard/index.d.ts +1 -1
  228. package/lib/modules/whiteboard/index.js +1 -1
  229. package/lib/modules/whiteboard/store.d.ts +3 -0
  230. package/lib/modules/whiteboard/store.js +31 -2
  231. package/lib/modules/whiteboard/view.js +10 -1
  232. package/lib/modules/widget/sdk.js +1 -1
  233. package/lib/modules/widget/store.base.d.ts +1 -0
  234. package/lib/modules/widget/store.browser.d.ts +1 -0
  235. package/lib/modules/widget/store.browser.js +60 -4
  236. package/lib/modules/widget/store.d.ts +5 -8
  237. package/lib/modules/widget/store.electron.d.ts +1 -0
  238. package/lib/modules/widget/store.electron.js +59 -2
  239. package/lib/modules/widget/store.js +4 -47
  240. package/lib/modules/widget/type.d.ts +3 -2
  241. package/lib/modules/widget/view.js +9 -4
  242. package/lib/modules/widget/web-widget.d.ts +2 -1
  243. package/lib/modules/widget/web-widget.js +7 -5
  244. package/lib/object-manager.d.ts +2 -2
  245. package/lib/object-manager.js +1 -1
  246. package/lib/providers/annotation-provider.d.ts +124 -0
  247. package/lib/providers/annotation-provider.js +369 -0
  248. package/lib/providers/board-share/bar-control/base.d.ts +1 -1
  249. package/lib/providers/board-share/bar-control/base.js +37 -28
  250. package/lib/providers/board-share/bar-control/electron.d.ts +1 -1
  251. package/lib/providers/board-share/bar-control/electron.js +19 -16
  252. package/lib/providers/board-share/provider.base.d.ts +8 -1
  253. package/lib/providers/board-share/provider.base.js +12 -2
  254. package/lib/providers/board-share/provider.browser.d.ts +3 -0
  255. package/lib/providers/board-share/provider.browser.js +21 -3
  256. package/lib/providers/device-provider.d.ts +16 -2
  257. package/lib/providers/device-provider.js +53 -60
  258. package/lib/providers/dialog/provider.base.d.ts +1 -0
  259. package/lib/providers/dialog/provider.browser.d.ts +1 -0
  260. package/lib/providers/dialog/provider.browser.js +7 -2
  261. package/lib/providers/dialog/provider.electron.d.ts +4 -1
  262. package/lib/providers/dialog/provider.electron.js +94 -2
  263. package/lib/providers/dialog/type.d.ts +7 -0
  264. package/lib/providers/dialog-provider.d.ts +137 -0
  265. package/lib/providers/dialog-provider.js +194 -0
  266. package/lib/providers/message-provider.d.ts +69 -0
  267. package/lib/providers/message-provider.js +140 -0
  268. package/lib/providers/mouse-detect/provider.d.ts +9 -1
  269. package/lib/providers/mouse-detect/provider.js +119 -5
  270. package/lib/providers/mouse-detect/struct.d.ts +2 -1
  271. package/lib/providers/mouse-detect/struct.js +1 -0
  272. package/lib/providers/mouse-detect/type.d.ts +2 -0
  273. package/lib/providers/multi-display-provider.d.ts +3 -5
  274. package/lib/providers/multi-display-provider.js +0 -9
  275. package/lib/providers/renderer-provider.d.ts +5 -0
  276. package/lib/providers/renderer-provider.js +5 -0
  277. package/lib/providers/room-provider/room-provider.d.ts +4 -14
  278. package/lib/providers/room-provider/room-provider.js +28 -39
  279. package/lib/providers/room-provider.d.ts +194 -0
  280. package/lib/providers/room-provider.js +916 -0
  281. package/lib/providers/screen-share/provider.base.js +3 -11
  282. package/lib/providers/screen-share/provider.browser.js +23 -14
  283. package/lib/providers/screen-share/provider.electron.d.ts +1 -0
  284. package/lib/providers/screen-share/provider.electron.js +44 -17
  285. package/lib/providers/screen-share/strategy/browser.js +16 -13
  286. package/lib/providers/screen-share/strategy/electron.d.ts +2 -2
  287. package/lib/providers/screen-share/strategy/electron.js +15 -10
  288. package/lib/providers/screen-share/strategy/type.d.ts +6 -0
  289. package/lib/providers/screen-share/stream-state-sync.d.ts +3 -2
  290. package/lib/providers/screen-share/stream-state-sync.js +26 -16
  291. package/lib/providers/screen-share/struct.d.ts +9 -7
  292. package/lib/providers/screen-share/struct.js +11 -8
  293. package/lib/providers/screen-share/type.d.ts +7 -1
  294. package/lib/providers/screen-share-provider.d.ts +245 -0
  295. package/lib/providers/screen-share-provider.js +850 -0
  296. package/lib/providers/sharing-provider.d.ts +42 -0
  297. package/lib/providers/sharing-provider.js +228 -0
  298. package/lib/providers/user-setting-storage-provider.d.ts +21 -0
  299. package/lib/providers/user-setting-storage-provider.js +65 -0
  300. package/lib/providers/whiteboard-provider.d.ts +2 -4
  301. package/lib/providers/whiteboard-provider.js +4 -7
  302. package/lib/providers/widget-provider.d.ts +5 -3
  303. package/lib/providers/widget-provider.js +12 -18
  304. package/lib/providers/window/main-window.d.ts +0 -5
  305. package/lib/providers/window/main-window.js +3 -44
  306. package/lib/providers/window/renderer-window.d.ts +1 -0
  307. package/lib/providers/window/renderer-window.js +13 -2
  308. package/lib/runtime.d.ts +1 -0
  309. package/lib/runtime.js +2 -1
  310. package/lib/scenes/main-scene.js +5 -0
  311. package/lib/shared-context/board-context.d.ts +2 -0
  312. package/lib/shared-context/board-context.js +2 -0
  313. package/lib/shared-data/member-data.d.ts +0 -8
  314. package/lib/shared-data/member-data.js +26 -78
  315. package/lib/shared-data/widget-data.d.ts +13 -0
  316. package/lib/shared-data/widget-data.js +50 -0
  317. package/lib/shared-data-source/annotation-data.d.ts +17 -0
  318. package/lib/{modules/action-bar/store.base.js → shared-data-source/annotation-data.js} +34 -41
  319. package/lib/shared-data-source/app-list-data.d.ts +34 -0
  320. package/lib/shared-data-source/app-list-data.js +133 -0
  321. package/lib/shared-data-source/chat-data.d.ts +25 -0
  322. package/lib/shared-data-source/chat-data.js +139 -0
  323. package/lib/shared-data-source/config.d.ts +35 -0
  324. package/lib/shared-data-source/config.js +40 -0
  325. package/lib/shared-data-source/confirm-data.d.ts +44 -0
  326. package/lib/shared-data-source/confirm-data.js +201 -0
  327. package/lib/shared-data-source/device-privilege-data.d.ts +8 -0
  328. package/lib/shared-data-source/device-privilege-data.js +25 -0
  329. package/lib/shared-data-source/interpreter.d.ts +77 -0
  330. package/lib/shared-data-source/interpreter.js +247 -0
  331. package/lib/shared-data-source/layout-data.d.ts +31 -0
  332. package/lib/shared-data-source/layout-data.js +189 -0
  333. package/lib/shared-data-source/meeting-time.d.ts +90 -0
  334. package/lib/shared-data-source/meeting-time.js +416 -0
  335. package/lib/shared-data-source/member-data.d.ts +139 -0
  336. package/lib/shared-data-source/member-data.js +517 -0
  337. package/lib/shared-data-source/pin-data.d.ts +13 -0
  338. package/lib/{modules/action-bar/waiting-scene/store.js → shared-data-source/pin-data.js} +55 -35
  339. package/lib/shared-data-source/screen-share-data.d.ts +357 -0
  340. package/lib/shared-data-source/screen-share-data.js +513 -0
  341. package/lib/shared-data-source/security-data.d.ts +39 -0
  342. package/lib/shared-data-source/security-data.js +156 -0
  343. package/lib/shared-data-source/setting.d.ts +67 -0
  344. package/lib/shared-data-source/setting.js +220 -0
  345. package/lib/shared-data-source/speaker-spotlight.d.ts +5 -0
  346. package/lib/shared-data-source/speaker-spotlight.js +15 -0
  347. package/lib/shared-data-source/video-window.d.ts +165 -0
  348. package/lib/shared-data-source/video-window.js +1266 -0
  349. package/lib/shared-data-source/waiting-room.d.ts +46 -0
  350. package/lib/shared-data-source/waiting-room.js +222 -0
  351. package/lib/{shared-data → shared-data-source}/whiteboard-data.d.ts +2 -2
  352. package/lib/{shared-data → shared-data-source}/whiteboard-data.js +23 -17
  353. package/lib/translations/enUS.d.ts +0 -2
  354. package/lib/translations/enUS.js +4 -6
  355. package/lib/translations/zhCN.d.ts +0 -2
  356. package/lib/translations/zhCN.js +4 -6
  357. package/lib/type.d.ts +5 -0
  358. package/lib/ui-scene.d.ts +2 -4
  359. package/lib/ui-scene.js +31 -42
  360. package/lib/utilities/board-context.d.ts +4 -0
  361. package/lib/utilities/board-context.js +12 -0
  362. package/lib/utilities/constant.d.ts +3 -1
  363. package/lib/utilities/constant.js +5 -2
  364. package/lib/utilities/copyText.d.ts +2 -0
  365. package/lib/utilities/copyText.js +48 -0
  366. package/lib/utilities/default-config.d.ts +18 -0
  367. package/lib/utilities/default-config.js +19 -1
  368. package/lib/utilities/focus-helper.js +10 -3
  369. package/lib/utilities/logger.js +3 -1
  370. package/lib/utilities/renderer-event.d.ts +10 -0
  371. package/lib/utilities/renderer-event.js +95 -0
  372. package/lib/utilities/renderer.d.ts +1 -0
  373. package/lib/utilities/renderer.js +7 -1
  374. package/lib/utilities/screen-capture-permission.d.ts +2 -0
  375. package/lib/utilities/screen-capture-permission.js +24 -0
  376. package/lib/utilities/screen.d.ts +3 -0
  377. package/lib/utilities/screen.js +53 -0
  378. package/lib/utilities/video-track-render-context.d.ts +6 -0
  379. package/lib/utilities/video-track-render-context.js +9 -0
  380. package/lib/waiting-room-control-manager.d.ts +28 -0
  381. package/lib/waiting-room-control-manager.js +230 -0
  382. package/package.json +5 -5
  383. package/public/index.html +35 -4
  384. package/lib/modules/action-bar/store.base.d.ts +0 -15
  385. package/lib/modules/action-bar/waiting-scene/store.d.ts +0 -6
  386. package/lib/providers/board-share/bar-control.d.ts +0 -51
  387. package/lib/providers/board-share/bar-control.js +0 -390
  388. package/lib/providers/board-share/provider.d.ts +0 -66
  389. package/lib/providers/board-share/provider.js +0 -456
  390. package/lib/providers/screen-share/provider.d.ts +0 -69
  391. package/lib/providers/screen-share/provider.js +0 -615
  392. package/lib/providers/window/browser-window-proxy.js +0 -1
  393. package/lib/providers/window/ipc-protocol.d.ts +0 -0
  394. package/lib/providers/window/ipc-protocol.js +0 -1
  395. package/lib/providers/window/main-process-handler.d.ts +0 -0
  396. package/lib/providers/window/main-process-handler.js +0 -1
  397. package/lib/providers/window/main-process-integration.d.ts +0 -0
  398. package/lib/providers/window/main-process-integration.js +0 -1
  399. package/lib/utilities/ipc-protocol.d.ts +0 -91
  400. package/lib/utilities/ipc-protocol.js +0 -61
  401. /package/lib/{providers/window/browser-window-proxy.d.ts → modules/action-bar/index.dev.d.ts} +0 -0
@@ -0,0 +1,42 @@
1
+ import { FcrScreenSharingState, FcrSharingControl, FcrWhiteboardState } from 'fcr-core/lib/room-control/sharing-control/type';
2
+ import { FcrScreenStreamCreateConfig } from 'fcr-core/lib/room-control/stream-control/type';
3
+ import { FcrUserControl } from 'fcr-core/lib/type';
4
+ import { FcrUIScreenShareSharedDataSource } from '../shared-data-source/screen-share-data';
5
+ import { FcrUISharedWhiteboardDataSource } from '../shared-data-source/whiteboard-data';
6
+ import { FcrUIWhiteboardProvider } from './whiteboard-provider';
7
+ export interface FcrUISharingProvider {
8
+ get screenSharingOwnerId(): string;
9
+ get whiteboardOwnerId(): string;
10
+ get screenSharingState(): FcrScreenSharingState;
11
+ get whiteboardState(): FcrWhiteboardState;
12
+ startScreenSharing: (config: FcrScreenStreamCreateConfig) => void;
13
+ startWhiteboard: () => void;
14
+ updateScreenSharing: (enableAnnotation: boolean) => void;
15
+ stop: () => void;
16
+ getScreenSharingState: () => FcrScreenSharingState;
17
+ getWhiteboardState: () => FcrWhiteboardState;
18
+ getSharingControl: () => FcrSharingControl;
19
+ }
20
+ export declare class FcrUISharingProviderImpl implements FcrUISharingProvider {
21
+ private _sharingControl;
22
+ private _sharedScreenShareSharedDataSource;
23
+ private _sharedWhiteboardDataSource;
24
+ private _whiteboardProvider;
25
+ private _userControl;
26
+ protected logger: import("agora-foundation/lib/logger").Logger;
27
+ private _observer;
28
+ accessor screenSharingOwnerId: string;
29
+ accessor whiteboardOwnerId: string;
30
+ accessor screenSharingState: FcrScreenSharingState;
31
+ accessor whiteboardState: FcrWhiteboardState;
32
+ get isSeizeStream(): boolean;
33
+ constructor(_sharingControl: FcrSharingControl, _sharedScreenShareSharedDataSource: FcrUIScreenShareSharedDataSource, _sharedWhiteboardDataSource: FcrUISharedWhiteboardDataSource, _whiteboardProvider: FcrUIWhiteboardProvider, _userControl: FcrUserControl);
34
+ startScreenSharing(config: FcrScreenStreamCreateConfig): void;
35
+ startWhiteboard(): void;
36
+ updateScreenSharing(enableAnnotation: boolean): void;
37
+ stop(): void;
38
+ getScreenSharingState(): FcrScreenSharingState;
39
+ getWhiteboardState(): FcrWhiteboardState;
40
+ getSharingControl(): FcrSharingControl;
41
+ release(): void;
42
+ }
@@ -0,0 +1,228 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.symbol.js");
4
+ require("core-js/modules/es.symbol.description.js");
5
+ require("core-js/modules/es.symbol.to-primitive.js");
6
+ require("core-js/modules/es.error.cause.js");
7
+ require("core-js/modules/es.error.to-string.js");
8
+ require("core-js/modules/es.array.is-array.js");
9
+ require("core-js/modules/es.array.push.js");
10
+ require("core-js/modules/es.date.to-primitive.js");
11
+ require("core-js/modules/es.function.bind.js");
12
+ require("core-js/modules/es.function.name.js");
13
+ require("core-js/modules/es.map.js");
14
+ require("core-js/modules/es.number.constructor.js");
15
+ require("core-js/modules/es.object.create.js");
16
+ require("core-js/modules/es.object.define-property.js");
17
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
18
+ require("core-js/modules/esnext.function.metadata.js");
19
+ require("core-js/modules/esnext.map.delete-all.js");
20
+ require("core-js/modules/esnext.map.emplace.js");
21
+ require("core-js/modules/esnext.map.every.js");
22
+ require("core-js/modules/esnext.map.filter.js");
23
+ require("core-js/modules/esnext.map.find.js");
24
+ require("core-js/modules/esnext.map.find-key.js");
25
+ require("core-js/modules/esnext.map.includes.js");
26
+ require("core-js/modules/esnext.map.key-of.js");
27
+ require("core-js/modules/esnext.map.map-keys.js");
28
+ require("core-js/modules/esnext.map.map-values.js");
29
+ require("core-js/modules/esnext.map.merge.js");
30
+ require("core-js/modules/esnext.map.reduce.js");
31
+ require("core-js/modules/esnext.map.some.js");
32
+ require("core-js/modules/esnext.map.update.js");
33
+ require("core-js/modules/esnext.symbol.metadata.js");
34
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
35
+ var _typeof = require("@babel/runtime/helpers/typeof");
36
+ Object.defineProperty(exports, "__esModule", {
37
+ value: true
38
+ });
39
+ exports.FcrUISharingProviderImpl = void 0;
40
+ require("core-js/modules/es.array.concat.js");
41
+ require("core-js/modules/es.array.iterator.js");
42
+ require("core-js/modules/es.date.to-json.js");
43
+ require("core-js/modules/es.json.stringify.js");
44
+ require("core-js/modules/es.object.to-string.js");
45
+ require("core-js/modules/es.string.iterator.js");
46
+ require("core-js/modules/es.weak-map.js");
47
+ require("core-js/modules/esnext.weak-map.delete-all.js");
48
+ require("core-js/modules/esnext.weak-map.emplace.js");
49
+ require("core-js/modules/web.dom-collections.iterator.js");
50
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
51
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
52
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
53
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
54
+ var _decorator = require("agora-foundation/lib/decorator");
55
+ var _type = require("fcr-core/lib/room-control/sharing-control/type");
56
+ var _mobx = require("mobx");
57
+ var _base = require("../base");
58
+ var _logger = require("../utilities/logger");
59
+ var _env = require("agora-foundation/lib/utilities/env");
60
+ var _FcrUISharingProviderImpl;
61
+ var _initProto, _init_screenSharingOwnerId, _init_whiteboardOwnerId, _init_screenSharingState, _init_whiteboardState;
62
+ function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
63
+ function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
64
+ function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
65
+ function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
66
+ function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
67
+ function _applyDecs(e, t, r, n, o, a) { function i(e, t, r) { return function (n, o) { return r && r(n), e[t].call(n, o); }; } function c(e, t) { for (var r = 0; r < e.length; r++) e[r].call(t); return t; } function s(e, t, r, n) { if ("function" != typeof e && (n || void 0 !== e)) throw new TypeError(t + " must " + (r || "be") + " a function" + (n ? "" : " or undefined")); return e; } function applyDec(e, t, r, n, o, a, c, u, l, f, p, d, h) { function m(e) { if (!h(e)) throw new TypeError("Attempted to access private element on non-instance"); } var y, v = t[0], g = t[3], b = !u; if (!b) { r || Array.isArray(v) || (v = [v]); var w = {}, S = [], A = 3 === o ? "get" : 4 === o || d ? "set" : "value"; f ? (p || d ? w = { get: _setFunctionName(function () { return g(this); }, n, "get"), set: function set(e) { t[4](this, e); } } : w[A] = g, p || _setFunctionName(w[A], n, 2 === o ? "" : A)) : p || (w = Object.getOwnPropertyDescriptor(e, n)); } for (var P = e, j = v.length - 1; j >= 0; j -= r ? 2 : 1) { var D = v[j], E = r ? v[j - 1] : void 0, I = {}, O = { kind: ["field", "accessor", "method", "getter", "setter", "class"][o], name: n, metadata: a, addInitializer: function (e, t) { if (e.v) throw Error("attempted to call addInitializer after decoration was finished"); s(t, "An initializer", "be", !0), c.push(t); }.bind(null, I) }; try { if (b) (y = s(D.call(E, P, O), "class decorators", "return")) && (P = y);else { var k, F; O["static"] = l, O["private"] = f, f ? 2 === o ? k = function k(e) { return m(e), w.value; } : (o < 4 && (k = i(w, "get", m)), 3 !== o && (F = i(w, "set", m))) : (k = function k(e) { return e[n]; }, (o < 2 || 4 === o) && (F = function F(e, t) { e[n] = t; })); var N = O.access = { has: f ? h.bind() : function (e) { return n in e; } }; if (k && (N.get = k), F && (N.set = F), P = D.call(E, d ? { get: w.get, set: w.set } : w[A], O), d) { if ("object" == _typeof(P) && P) (y = s(P.get, "accessor.get")) && (w.get = y), (y = s(P.set, "accessor.set")) && (w.set = y), (y = s(P.init, "accessor.init")) && S.push(y);else if (void 0 !== P) throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0"); } else s(P, (p ? "field" : "method") + " decorators", "return") && (p ? S.push(P) : w[A] = P); } } finally { I.v = !0; } } return (p || d) && u.push(function (e, t) { for (var r = S.length - 1; r >= 0; r--) t = S[r].call(e, t); return t; }), p || b || (f ? d ? u.push(i(w, "get"), i(w, "set")) : u.push(2 === o ? w[A] : i.call.bind(w[A])) : Object.defineProperty(e, n, w)), P; } function u(e, t) { return Object.defineProperty(e, Symbol.metadata || Symbol["for"]("Symbol.metadata"), { configurable: !0, enumerable: !0, value: t }); } if (arguments.length >= 6) var l = a[Symbol.metadata || Symbol["for"]("Symbol.metadata")]; var f = Object.create(null == l ? null : l), p = function (e, t, r, n) { var o, a, i = [], s = function s(t) { return _checkInRHS(t) === e; }, u = new Map(); function l(e) { e && i.push(c.bind(null, e)); } for (var f = 0; f < t.length; f++) { var p = t[f]; if (Array.isArray(p)) { var d = p[1], h = p[2], m = p.length > 3, y = 16 & d, v = !!(8 & d), g = 0 == (d &= 7), b = h + "/" + v; if (!g && !m) { var w = u.get(b); if (!0 === w || 3 === w && 4 !== d || 4 === w && 3 !== d) throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + h); u.set(b, !(d > 2) || d); } applyDec(v ? e : e.prototype, p, y, m ? "#" + h : _toPropertyKey(h), d, n, v ? a = a || [] : o = o || [], i, v, m, g, 1 === d, v && m ? s : r); } } return l(o), l(a), i; }(e, t, o, f); return r.length || u(e, f), { e: p, get c() { var t = []; return r.length && [u(applyDec(e, [r], n, e.name, 5, f, t), f), c.bind(null, t, e)]; } }; }
68
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
69
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
70
+ function _setFunctionName(e, t, n) { "symbol" == _typeof(t) && (t = (t = t.description) ? "[" + t + "]" : ""); try { Object.defineProperty(e, "name", { configurable: !0, value: n ? n + " " + t : t }); } catch (e) {} return e; }
71
+ function _checkInRHS(e) { if (Object(e) !== e) throw TypeError("right-hand side of 'in' should be an object, got " + (null !== e ? _typeof(e) : "null")); return e; }
72
+ var _A = /*#__PURE__*/new WeakMap();
73
+ var _B = /*#__PURE__*/new WeakMap();
74
+ var _C = /*#__PURE__*/new WeakMap();
75
+ var _D = /*#__PURE__*/new WeakMap();
76
+ var FcrUISharingProviderImpl = exports.FcrUISharingProviderImpl = /*#__PURE__*/function () {
77
+ function FcrUISharingProviderImpl(_sharingControl, _sharedScreenShareSharedDataSource, _sharedWhiteboardDataSource, _whiteboardProvider, _userControl) {
78
+ var _this = this;
79
+ (0, _classCallCheck2["default"])(this, FcrUISharingProviderImpl);
80
+ (0, _defineProperty2["default"])(this, "logger", (_initProto(this), (0, _logger.createLogger)({
81
+ prefix: 'FcrUISharingProviderImpl'
82
+ })));
83
+ (0, _defineProperty2["default"])(this, "_observer", {
84
+ onScreenSharingUpdated: function onScreenSharingUpdated(ownerStream, state) {
85
+ _this.screenSharingOwnerId = (ownerStream === null || ownerStream === void 0 ? void 0 : ownerStream.owner.userId) || '';
86
+ _this.screenSharingState = state;
87
+ if (state === _type.FcrScreenSharingState.END && (0, _env.isElectron)()) {
88
+ _this._sharedScreenShareSharedDataSource.setSharingInReplace(false);
89
+ }
90
+ },
91
+ onWhiteboardStarted: function onWhiteboardStarted(ownerId, operatorUser) {
92
+ if (_this.whiteboardState === _type.FcrWhiteboardState.START) {
93
+ return;
94
+ }
95
+ _this.whiteboardOwnerId = ownerId;
96
+ _this.whiteboardState = _type.FcrWhiteboardState.START;
97
+ var owner = _this._userControl.getUser(ownerId);
98
+ if (owner) {
99
+ _this._sharedWhiteboardDataSource.setSharingUser(owner);
100
+ }
101
+ var background = _this._whiteboardProvider.backgroundColor;
102
+ if (background) {
103
+ _this._sharedWhiteboardDataSource.setBackgroundColor(background);
104
+ }
105
+ _this.logger.info("[sharing-provider]: onWhiteboardStarted ".concat(ownerId, ", ").concat(JSON.stringify(operatorUser), ", backgroundColor: ").concat(_this._whiteboardProvider.backgroundColor));
106
+ },
107
+ onWhiteboardEnded: function onWhiteboardEnded(reason, operatorUser) {
108
+ if (_this.whiteboardState === _type.FcrWhiteboardState.END) {
109
+ return;
110
+ }
111
+ _this._sharedWhiteboardDataSource.setJoinSuccess(false);
112
+ _this._sharedWhiteboardDataSource.setShowLoading(true);
113
+ _this._sharedWhiteboardDataSource.inActive();
114
+ _this._sharedWhiteboardDataSource.setSharingUser(undefined);
115
+ _this.logger.info("[sharing-provider]: onWhiteboardEnded, joinSuccess: ".concat(_this._sharedWhiteboardDataSource.joinSuccess));
116
+ _this.whiteboardState = _type.FcrWhiteboardState.END;
117
+ }
118
+ });
119
+ _classPrivateFieldInitSpec(this, _A, _init_screenSharingOwnerId(this, ''));
120
+ _classPrivateFieldInitSpec(this, _B, _init_whiteboardOwnerId(this, ''));
121
+ _classPrivateFieldInitSpec(this, _C, _init_screenSharingState(this, _type.FcrScreenSharingState.END));
122
+ _classPrivateFieldInitSpec(this, _D, _init_whiteboardState(this, _type.FcrWhiteboardState.END));
123
+ this._sharingControl = _sharingControl;
124
+ this._sharedScreenShareSharedDataSource = _sharedScreenShareSharedDataSource;
125
+ this._sharedWhiteboardDataSource = _sharedWhiteboardDataSource;
126
+ this._whiteboardProvider = _whiteboardProvider;
127
+ this._userControl = _userControl;
128
+ this._sharingControl.addObserver(this._observer);
129
+ this.screenSharingState = this._sharingControl.getScreenSharingState();
130
+ this.whiteboardState = this._sharingControl.getWhiteboardState();
131
+ if (this.screenSharingState !== _type.FcrScreenSharingState.END) {
132
+ var _this$_sharedScreenSh;
133
+ this.screenSharingOwnerId = ((_this$_sharedScreenSh = this._sharedScreenShareSharedDataSource.screenSharingOwner) === null || _this$_sharedScreenSh === void 0 ? void 0 : _this$_sharedScreenSh.userId) || '';
134
+ }
135
+ if (this.whiteboardState === _type.FcrWhiteboardState.START) {
136
+ this.whiteboardOwnerId = this._sharingControl.getBoardControl().getOwnerId();
137
+ }
138
+
139
+ // @ts-ignore
140
+ window._sharingProvider = this;
141
+ }
142
+ return (0, _createClass2["default"])(FcrUISharingProviderImpl, [{
143
+ key: "screenSharingOwnerId",
144
+ get: function get() {
145
+ return _classPrivateFieldGet(_A, this);
146
+ },
147
+ set: function set(v) {
148
+ _classPrivateFieldSet(_A, this, v);
149
+ }
150
+ }, {
151
+ key: "whiteboardOwnerId",
152
+ get: function get() {
153
+ return _classPrivateFieldGet(_B, this);
154
+ },
155
+ set: function set(v) {
156
+ _classPrivateFieldSet(_B, this, v);
157
+ }
158
+ }, {
159
+ key: "screenSharingState",
160
+ get: function get() {
161
+ return _classPrivateFieldGet(_C, this);
162
+ },
163
+ set: function set(v) {
164
+ _classPrivateFieldSet(_C, this, v);
165
+ }
166
+ }, {
167
+ key: "whiteboardState",
168
+ get: function get() {
169
+ return _classPrivateFieldGet(_D, this);
170
+ },
171
+ set: function set(v) {
172
+ _classPrivateFieldSet(_D, this, v);
173
+ }
174
+ }, {
175
+ key: "isSeizeStream",
176
+ get: function get() {
177
+ return this._sharedScreenShareSharedDataSource.isSeizeStream;
178
+ }
179
+ }, {
180
+ key: "startScreenSharing",
181
+ value: function startScreenSharing(config) {
182
+ this._sharingControl.startScreenSharing(config);
183
+ }
184
+ }, {
185
+ key: "startWhiteboard",
186
+ value: function startWhiteboard() {
187
+ this._sharingControl.startWhiteboard();
188
+ }
189
+ }, {
190
+ key: "updateScreenSharing",
191
+ value: function updateScreenSharing(enableAnnotation) {
192
+ this._sharingControl.updateScreenSharing(enableAnnotation);
193
+ }
194
+ }, {
195
+ key: "stop",
196
+ value: function stop() {
197
+ this._sharingControl.stop();
198
+ }
199
+ }, {
200
+ key: "getScreenSharingState",
201
+ value: function getScreenSharingState() {
202
+ return this._sharingControl.getScreenSharingState();
203
+ }
204
+ }, {
205
+ key: "getWhiteboardState",
206
+ value: function getWhiteboardState() {
207
+ return this._sharingControl.getWhiteboardState();
208
+ }
209
+ }, {
210
+ key: "getSharingControl",
211
+ value: function getSharingControl() {
212
+ return this._sharingControl;
213
+ }
214
+ }, {
215
+ key: "release",
216
+ value: function release() {
217
+ this._sharingControl.removeObserver(this._observer);
218
+ }
219
+ }]);
220
+ }();
221
+ _FcrUISharingProviderImpl = FcrUISharingProviderImpl;
222
+ var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_FcrUISharingProviderImpl, [[_mobx.observable, 1, "screenSharingOwnerId"], [_mobx.observable, 1, "whiteboardOwnerId"], [_mobx.observable, 1, "screenSharingState"], [_mobx.observable, 1, "whiteboardState"], [_decorator.bound, 2, "startScreenSharing"], [_decorator.bound, 2, "startWhiteboard"], [_decorator.bound, 2, "updateScreenSharing"], [_decorator.bound, 2, "stop"], [_decorator.bound, 2, "getScreenSharingState"], [_decorator.bound, 2, "getWhiteboardState"], [_decorator.bound, 2, "getSharingControl"], [_decorator.bound, 2, "release"]], []).e, 5);
223
+ _init_screenSharingOwnerId = _applyDecs$e[0];
224
+ _init_whiteboardOwnerId = _applyDecs$e[1];
225
+ _init_screenSharingState = _applyDecs$e[2];
226
+ _init_whiteboardState = _applyDecs$e[3];
227
+ _initProto = _applyDecs$e[4];
228
+ (0, _base.registerDependency)('sharingProvider');
@@ -0,0 +1,21 @@
1
+ import { FcrUISettingConfig } from '../type';
2
+ export declare const settingConfigStorageKey = "fcr-ui-setting-config";
3
+ export interface FcrUIUserSettingStorageProvider {
4
+ /**
5
+ * 写入本地存储
6
+ * @param key
7
+ * @param value
8
+ */
9
+ write(value: Partial<FcrUISettingConfig>): number;
10
+ /**
11
+ * 从本地存储读取
12
+ * @param key
13
+ */
14
+ read(): FcrUISettingConfig | null;
15
+ }
16
+ export declare class FcrUIUserSettingStorageProviderImpl implements FcrUIUserSettingStorageProvider {
17
+ private _isElectron;
18
+ constructor();
19
+ write(value: Partial<FcrUISettingConfig>): number;
20
+ read(): any;
21
+ }
@@ -0,0 +1,65 @@
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.to-string.js");
12
+ require("core-js/modules/esnext.iterator.constructor.js");
13
+ require("core-js/modules/esnext.iterator.filter.js");
14
+ require("core-js/modules/esnext.iterator.for-each.js");
15
+ require("core-js/modules/web.dom-collections.for-each.js");
16
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
17
+ Object.defineProperty(exports, "__esModule", {
18
+ value: true
19
+ });
20
+ exports.settingConfigStorageKey = exports.FcrUIUserSettingStorageProviderImpl = void 0;
21
+ require("core-js/modules/es.date.to-json.js");
22
+ require("core-js/modules/es.json.stringify.js");
23
+ require("core-js/modules/es.object.keys.js");
24
+ require("core-js/modules/esnext.json.parse.js");
25
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
26
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
27
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
28
+ var _base = require("../base");
29
+ var _env = require("agora-foundation/lib/utilities/env");
30
+ 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; }
31
+ 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; }
32
+ var settingConfigStorageKey = exports.settingConfigStorageKey = 'fcr-ui-setting-config';
33
+ var FcrUIUserSettingStorageProviderImpl = exports.FcrUIUserSettingStorageProviderImpl = /*#__PURE__*/function () {
34
+ function FcrUIUserSettingStorageProviderImpl() {
35
+ (0, _classCallCheck2["default"])(this, FcrUIUserSettingStorageProviderImpl);
36
+ (0, _defineProperty2["default"])(this, "_isElectron", false);
37
+ this._isElectron = (0, _env.isElectron)();
38
+ }
39
+ return (0, _createClass2["default"])(FcrUIUserSettingStorageProviderImpl, [{
40
+ key: "write",
41
+ value: function write(value) {
42
+ var userSetting = this.read();
43
+ if (userSetting) {
44
+ value = _objectSpread(_objectSpread({}, userSetting), value);
45
+ }
46
+ if (this._isElectron) {
47
+ window.runtime.setUserSettingData(value);
48
+ } else {
49
+ localStorage.setItem(settingConfigStorageKey, JSON.stringify(value));
50
+ }
51
+ return 1;
52
+ }
53
+ }, {
54
+ key: "read",
55
+ value: function read() {
56
+ if (this._isElectron) {
57
+ return window.runtime.getUserSettingData();
58
+ } else {
59
+ var getItem = localStorage.getItem(settingConfigStorageKey);
60
+ return getItem ? JSON.parse(getItem) : null;
61
+ }
62
+ }
63
+ }]);
64
+ }();
65
+ (0, _base.registerDependency)('userSettingStorageProvider');
@@ -1,7 +1,6 @@
1
1
  import { FcrPrivilegedWhiteboardControl } from 'fcr-core/lib/room-control/whiteboard-control-v2/whiteboard-control/type';
2
2
  import { FcrConnectionState, FcrUserControl, FcrUserInfo } from 'fcr-core/lib/type';
3
- import { FcrUISharedWhiteboardDataSource } from '../shared-data/whiteboard-data';
4
- import { FcrUIManagedObject } from '../object-manager';
3
+ import { FcrUISharedWhiteboardDataSource } from '../shared-data-source/whiteboard-data';
5
4
  export interface FcrUIWhiteboardProvider {
6
5
  get backgroundColor(): string;
7
6
  get isActive(): boolean;
@@ -9,7 +8,7 @@ export interface FcrUIWhiteboardProvider {
9
8
  get ownerUser(): FcrUserInfo | undefined;
10
9
  setBackground: (color: string) => void;
11
10
  }
12
- export declare class FcrUIWhiteboardProviderImpl implements FcrUIWhiteboardProvider, FcrUIManagedObject {
11
+ export declare class FcrUIWhiteboardProviderImpl implements FcrUIWhiteboardProvider {
13
12
  private _whiteboardControl;
14
13
  private _sharedWhiteboardDataSource;
15
14
  private _userControl;
@@ -21,6 +20,5 @@ export declare class FcrUIWhiteboardProviderImpl implements FcrUIWhiteboardProvi
21
20
  get connectionState(): FcrConnectionState;
22
21
  get ownerUser(): FcrUserInfo | undefined;
23
22
  constructor(_whiteboardControl: FcrPrivilegedWhiteboardControl, _sharedWhiteboardDataSource: FcrUISharedWhiteboardDataSource, _userControl: FcrUserControl);
24
- release(): void;
25
23
  setBackground(color: string): void;
26
24
  }
@@ -48,6 +48,7 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
48
48
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
49
49
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
50
50
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
51
+ var _base = require("../base");
51
52
  var _logger = require("../utilities/logger");
52
53
  var _decorator = require("agora-foundation/lib/decorator");
53
54
  var _FcrUIWhiteboardProviderImpl;
@@ -113,9 +114,6 @@ var FcrUIWhiteboardProviderImpl = exports.FcrUIWhiteboardProviderImpl = /*#__PUR
113
114
  get: function get() {
114
115
  return this._ownerUser;
115
116
  }
116
- }, {
117
- key: "release",
118
- value: function release() {}
119
117
  }, {
120
118
  key: "setBackground",
121
119
  value: function setBackground(color) {
@@ -125,7 +123,6 @@ var FcrUIWhiteboardProviderImpl = exports.FcrUIWhiteboardProviderImpl = /*#__PUR
125
123
  }]);
126
124
  }();
127
125
  _FcrUIWhiteboardProviderImpl = FcrUIWhiteboardProviderImpl;
128
- var _applyDecs$e = _applyDecs(_FcrUIWhiteboardProviderImpl, [[_decorator.bound, 2, "setBackground"]], []).e;
129
- var _applyDecs$e2 = (0, _slicedToArray2["default"])(_applyDecs$e, 1);
130
- _initProto = _applyDecs$e2[0];
131
- _applyDecs$e;
126
+ var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_FcrUIWhiteboardProviderImpl, [[_decorator.bound, 2, "setBackground"]], []).e, 1);
127
+ _initProto = _applyDecs$e[0];
128
+ (0, _base.registerDependency)('whiteboardProvider');
@@ -3,6 +3,7 @@ import { FcrRegisteredWidgetConfigs, FcrUIWebWidget, ID } from '../modules/widge
3
3
  import { FcrUIWebWidgetConfig } from '../type';
4
4
  import { FcrUIManagedObject } from '../object-manager';
5
5
  import { FcrUIDialogProvider } from './dialog/type';
6
+ import { FcrUISharedWidgetDataSource } from '../shared-data/widget-data';
6
7
  export interface FcrUIWidgetObserver {
7
8
  onWidgetClicked(widgetId: string): void;
8
9
  }
@@ -60,11 +61,12 @@ export declare class FcrUIWidgetProviderImpl implements FcrUIWidgetProvider, Fcr
60
61
  private _dialogProvider;
61
62
  private _dialogProviderObserver;
62
63
  private _observable;
64
+ private _sharedWidgetDataSource;
63
65
  accessor dialogIds: Map<ID, string>;
64
- accessor registeredWidgetConfigs: FcrRegisteredWidgetConfigs;
65
66
  accessor openedWidgets: Map<ID, FcrUIWebWidget>;
66
- constructor({ registeredWidgetConfigs, roomProvider, dialogProvider, }: {
67
- registeredWidgetConfigs: FcrRegisteredWidgetConfigs;
67
+ get registeredWidgetConfigs(): FcrRegisteredWidgetConfigs;
68
+ constructor({ sharedWidgetDataSource, roomProvider, dialogProvider, }: {
69
+ sharedWidgetDataSource: FcrUISharedWidgetDataSource;
68
70
  roomProvider: FcrUIRoomProvider;
69
71
  dialogProvider: FcrUIDialogProvider;
70
72
  });
@@ -58,7 +58,7 @@ var _webWidget = require("../modules/widget/web-widget");
58
58
  var _observable = require("agora-foundation/lib/utilities/observable");
59
59
  var _logger = require("../utilities/logger");
60
60
  var _FcrUIWidgetProviderImpl;
61
- var _initProto, _init_dialogIds, _init_registeredWidgetConfigs, _init_openedWidgets;
61
+ var _initProto, _init_dialogIds, _init_openedWidgets;
62
62
  function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
63
63
  function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
64
64
  function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
@@ -71,11 +71,10 @@ function _setFunctionName(e, t, n) { "symbol" == _typeof(t) && (t = (t = t.descr
71
71
  function _checkInRHS(e) { if (Object(e) !== e) throw TypeError("right-hand side of 'in' should be an object, got " + (null !== e ? _typeof(e) : "null")); return e; }
72
72
  var _A = /*#__PURE__*/new WeakMap();
73
73
  var _B = /*#__PURE__*/new WeakMap();
74
- var _C = /*#__PURE__*/new WeakMap();
75
74
  var FcrUIWidgetProviderImpl = exports.FcrUIWidgetProviderImpl = /*#__PURE__*/function () {
76
75
  function FcrUIWidgetProviderImpl(_ref) {
77
76
  var _this = this;
78
- var registeredWidgetConfigs = _ref.registeredWidgetConfigs,
77
+ var sharedWidgetDataSource = _ref.sharedWidgetDataSource,
79
78
  roomProvider = _ref.roomProvider,
80
79
  dialogProvider = _ref.dialogProvider;
81
80
  (0, _classCallCheck2["default"])(this, FcrUIWidgetProviderImpl);
@@ -101,12 +100,11 @@ var FcrUIWidgetProviderImpl = exports.FcrUIWidgetProviderImpl = /*#__PURE__*/fun
101
100
  });
102
101
  (0, _defineProperty2["default"])(this, "_observable", new _observable.AgoraObservable());
103
102
  _classPrivateFieldInitSpec(this, _A, _init_dialogIds(this, new Map()));
104
- _classPrivateFieldInitSpec(this, _B, _init_registeredWidgetConfigs(this, new Map()));
105
- _classPrivateFieldInitSpec(this, _C, _init_openedWidgets(this, new Map()));
103
+ _classPrivateFieldInitSpec(this, _B, _init_openedWidgets(this, new Map()));
106
104
  this._roomProvider = roomProvider;
107
105
  this._dialogProvider = dialogProvider;
108
106
  this._dialogProvider.addObserver(this._dialogProviderObserver);
109
- this.registeredWidgetConfigs = registeredWidgetConfigs;
107
+ this._sharedWidgetDataSource = sharedWidgetDataSource;
110
108
  }
111
109
  return (0, _createClass2["default"])(FcrUIWidgetProviderImpl, [{
112
110
  key: "dialogIds",
@@ -117,7 +115,7 @@ var FcrUIWidgetProviderImpl = exports.FcrUIWidgetProviderImpl = /*#__PURE__*/fun
117
115
  _classPrivateFieldSet(_A, this, v);
118
116
  }
119
117
  }, {
120
- key: "registeredWidgetConfigs",
118
+ key: "openedWidgets",
121
119
  get: function get() {
122
120
  return _classPrivateFieldGet(_B, this);
123
121
  },
@@ -125,17 +123,14 @@ var FcrUIWidgetProviderImpl = exports.FcrUIWidgetProviderImpl = /*#__PURE__*/fun
125
123
  _classPrivateFieldSet(_B, this, v);
126
124
  }
127
125
  }, {
128
- key: "openedWidgets",
126
+ key: "registeredWidgetConfigs",
129
127
  get: function get() {
130
- return _classPrivateFieldGet(_C, this);
131
- },
132
- set: function set(v) {
133
- _classPrivateFieldSet(_C, this, v);
128
+ return this._sharedWidgetDataSource.registeredWidgetConfigs;
134
129
  }
135
130
  }, {
136
131
  key: "openWidget",
137
132
  value: function openWidget(widgetId) {
138
- var widgetConfig = this.registeredWidgetConfigs.get(widgetId);
133
+ var widgetConfig = this._sharedWidgetDataSource.registeredWidgetConfigs.get(widgetId);
139
134
  if (!widgetConfig) {
140
135
  this.logger.error('widgetConfig not found', widgetId);
141
136
  return;
@@ -189,10 +184,9 @@ var FcrUIWidgetProviderImpl = exports.FcrUIWidgetProviderImpl = /*#__PURE__*/fun
189
184
  }]);
190
185
  }();
191
186
  _FcrUIWidgetProviderImpl = FcrUIWidgetProviderImpl;
192
- var _applyDecs$e = _applyDecs(_FcrUIWidgetProviderImpl, [[_mobx.observable, 1, "dialogIds"], [_mobx.observable, 1, "registeredWidgetConfigs"], [_mobx.observable, 1, "openedWidgets"]], []).e;
193
- var _applyDecs$e2 = (0, _slicedToArray2["default"])(_applyDecs$e, 4);
187
+ var _applyDecs$e = _applyDecs(_FcrUIWidgetProviderImpl, [[_mobx.observable, 1, "dialogIds"], [_mobx.observable, 1, "openedWidgets"]], []).e;
188
+ var _applyDecs$e2 = (0, _slicedToArray2["default"])(_applyDecs$e, 3);
194
189
  _init_dialogIds = _applyDecs$e2[0];
195
- _init_registeredWidgetConfigs = _applyDecs$e2[1];
196
- _init_openedWidgets = _applyDecs$e2[2];
197
- _initProto = _applyDecs$e2[3];
190
+ _init_openedWidgets = _applyDecs$e2[1];
191
+ _initProto = _applyDecs$e2[2];
198
192
  _applyDecs$e;
@@ -11,8 +11,6 @@ export declare class FcrUICurrentWindowImpl implements FcrUICurrentWindow, FcrUI
11
11
  protected logger: import("agora-foundation/lib/logger").Logger;
12
12
  private _observable;
13
13
  private _browserWindowProxy;
14
- private _hangDetectionTimer;
15
- private readonly _HANG_DETECTION_TIMEOUT;
16
14
  private _browserWindowListeners;
17
15
  private _preventClose;
18
16
  get browserWindow(): BrowserWindow;
@@ -45,7 +43,4 @@ export declare class FcrUICurrentWindowImpl implements FcrUICurrentWindow, FcrUI
45
43
  release(): void;
46
44
  private _setupEventListeners;
47
45
  private _addLogObserver;
48
- private _handleUnresponsive;
49
- private _handleResponsive;
50
- private _clearHangDetectionTimer;
51
46
  }
@@ -41,7 +41,6 @@ Object.defineProperty(exports, "__esModule", {
41
41
  exports.FcrUICurrentWindowImpl = void 0;
42
42
  require("core-js/modules/es.error.cause.js");
43
43
  require("core-js/modules/es.error.to-string.js");
44
- require("core-js/modules/web.timers.js");
45
44
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
46
45
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
47
46
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
@@ -68,9 +67,6 @@ var FcrUICurrentWindowImpl = exports.FcrUICurrentWindowImpl = /*#__PURE__*/funct
68
67
  })));
69
68
  (0, _defineProperty2["default"])(this, "_observable", new _observable.AgoraObservable());
70
69
  (0, _defineProperty2["default"])(this, "_browserWindowProxy", null);
71
- (0, _defineProperty2["default"])(this, "_hangDetectionTimer", null);
72
- (0, _defineProperty2["default"])(this, "_HANG_DETECTION_TIMEOUT", 60 * 1000);
73
- // 1分钟(毫s秒)
74
70
  (0, _defineProperty2["default"])(this, "_browserWindowListeners", {
75
71
  onShow: function onShow() {
76
72
  _this._observable.notifyObservers('onVisibilityChanged', true);
@@ -86,12 +82,6 @@ var FcrUICurrentWindowImpl = exports.FcrUICurrentWindowImpl = /*#__PURE__*/funct
86
82
  },
87
83
  onClose: function onClose() {
88
84
  _this._observable.notifyObservers('onClose');
89
- },
90
- onUnresponsive: function onUnresponsive() {
91
- _this._handleUnresponsive();
92
- },
93
- onResponsive: function onResponsive() {
94
- _this._handleResponsive();
95
85
  }
96
86
  });
97
87
  (0, _defineProperty2["default"])(this, "_preventClose", false);
@@ -155,6 +145,9 @@ var FcrUICurrentWindowImpl = exports.FcrUICurrentWindowImpl = /*#__PURE__*/funct
155
145
  }, {
156
146
  key: "setAlwaysOnTop",
157
147
  value: function setAlwaysOnTop(flag) {
148
+ // 这里目前没有地方调用,因为annotation调用了setAlwaysOnTop,并且设置了pop-up-menu
149
+ // 窗口在windows上设置的是pop-up-menu,看看是不是要成对出现
150
+ this.logger.info('windows_index setAlwaysOnTop in main-window');
158
151
  this.browserWindow.setAlwaysOnTop(flag);
159
152
  }
160
153
  }, {
@@ -232,8 +225,6 @@ var FcrUICurrentWindowImpl = exports.FcrUICurrentWindowImpl = /*#__PURE__*/funct
232
225
  }, {
233
226
  key: "release",
234
227
  value: function release() {
235
- // 清理hang检测计时器
236
- this._clearHangDetectionTimer();
237
228
  if (this._browserWindowProxy && !this._browserWindowProxy.isDestroyed()) {
238
229
  this._browserWindowProxy.removeAllListeners();
239
230
  }
@@ -256,44 +247,12 @@ var FcrUICurrentWindowImpl = exports.FcrUICurrentWindowImpl = /*#__PURE__*/funct
256
247
  this._browserWindowProxy.addListener('resized', this._browserWindowListeners.onResized);
257
248
  this._browserWindowProxy.addListener('moved', this._browserWindowListeners.onMoved);
258
249
  this._browserWindowProxy.addListener('close', this._browserWindowListeners.onClose);
259
- this._browserWindowProxy.addListener('unresponsive', this._browserWindowListeners.onUnresponsive);
260
- this._browserWindowProxy.addListener('responsive', this._browserWindowListeners.onResponsive);
261
250
  }
262
251
  }, {
263
252
  key: "_addLogObserver",
264
253
  value: function _addLogObserver() {
265
254
  this._observable.addObserver((0, _logger.generateLogObserver)(this.logger, ['onFocused', 'onBlurred', 'onBoundsChanged', 'onVisibilityChanged', 'onReady', 'onClose']));
266
255
  }
267
- }, {
268
- key: "_handleUnresponsive",
269
- value: function _handleUnresponsive() {
270
- var _this2 = this;
271
- this.logger.warn('Window became unresponsive, starting hang detection timer');
272
- this._clearHangDetectionTimer();
273
- this._hangDetectionTimer = setTimeout(function () {
274
- _this2.logger.error('Window has been unresponsive for 1 minute, forcing application exit');
275
- try {
276
- // app.quit();
277
- } catch (error) {
278
- _this2.logger.error('Failed to exit application gracefully:', error);
279
- // process.exit(1);
280
- }
281
- }, this._HANG_DETECTION_TIMEOUT);
282
- }
283
- }, {
284
- key: "_handleResponsive",
285
- value: function _handleResponsive() {
286
- this.logger.info('Window became responsive again, clearing hang detection timer');
287
- this._clearHangDetectionTimer();
288
- }
289
- }, {
290
- key: "_clearHangDetectionTimer",
291
- value: function _clearHangDetectionTimer() {
292
- if (this._hangDetectionTimer) {
293
- clearTimeout(this._hangDetectionTimer);
294
- this._hangDetectionTimer = null;
295
- }
296
- }
297
256
  }]);
298
257
  }();
299
258
  _FcrUICurrentWindowImpl = FcrUICurrentWindowImpl;
@@ -15,6 +15,7 @@ export declare class FcrUIWindowImpl implements FcrUIWindow, FcrUIManagedObject
15
15
  private _preventClose;
16
16
  private _visible;
17
17
  private _showInactive;
18
+ private _isClosed;
18
19
  private _isBrowserWindowReady;
19
20
  private _ignoreMouseEvents?;
20
21
  private _ignoreMouseEventsOptions?;