fcr-ui-scene 3.7.2 → 3.7.4-rc.1

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 (301) hide show
  1. package/lib/creator.d.ts +2 -0
  2. package/lib/creator.js +37 -44
  3. package/lib/electron/app.js +7 -0
  4. package/lib/electron/injections.d.ts +1 -1
  5. package/lib/electron/injections.js +5 -3
  6. package/lib/electron/main.js +3 -1
  7. package/lib/fragments/annotation/index.d.ts +1 -0
  8. package/lib/fragments/annotation/index.js +13 -7
  9. package/lib/fragments/annotation/libs.d.ts +7 -6
  10. package/lib/fragments/annotation/libs.js +9 -8
  11. package/lib/fragments/annotation/store.d.ts +8 -4
  12. package/lib/fragments/annotation/store.js +351 -267
  13. package/lib/fragments/annotation/toolbar/components/color-tool/index.js +4 -0
  14. package/lib/fragments/annotation/toolbar/components/graphic-tool/index.js +4 -0
  15. package/lib/fragments/annotation/toolbar/components/item/item.d.ts +2 -0
  16. package/lib/fragments/annotation/toolbar/components/item/item.js +2 -4
  17. package/lib/fragments/annotation/toolbar/components/item/style.css +4 -2
  18. package/lib/fragments/annotation/toolbar/components/pen-tool/index.js +4 -0
  19. package/lib/fragments/annotation/utils.d.ts +1 -0
  20. package/lib/fragments/annotation/utils.js +27 -0
  21. package/lib/fragments/annotation/view.js +1 -6
  22. package/lib/fragments/base.js +5 -3
  23. package/lib/fragments/whiteboard/cursor.css +77 -0
  24. package/lib/fragments/whiteboard/index.d.ts +11 -0
  25. package/lib/fragments/whiteboard/index.js +91 -0
  26. package/lib/fragments/whiteboard/store.d.ts +31 -0
  27. package/lib/fragments/whiteboard/store.js +480 -0
  28. package/lib/fragments/whiteboard/style.css +4 -0
  29. package/lib/fragments/whiteboard/view.d.ts +4 -0
  30. package/lib/fragments/whiteboard/view.js +31 -0
  31. package/lib/global.css +6 -0
  32. package/lib/index.d.ts +1 -0
  33. package/lib/index.js +1 -0
  34. package/lib/modules/action-bar/components/apps/index.js +15 -5
  35. package/lib/modules/action-bar/components/leave/index.js +4 -11
  36. package/lib/modules/action-bar/components/screen-share/submenu.js +2 -2
  37. package/lib/modules/action-bar/index.d.ts +2 -0
  38. package/lib/modules/action-bar/index.js +2 -1
  39. package/lib/modules/action-bar/store.d.ts +6 -2
  40. package/lib/modules/action-bar/store.js +56 -93
  41. package/lib/modules/action-bar/view.d.ts +1 -0
  42. package/lib/modules/action-bar/view.js +3 -2
  43. package/lib/modules/annotation/annotation-toolbar-store.d.ts +4 -11
  44. package/lib/modules/annotation/annotation-toolbar-store.js +48 -90
  45. package/lib/modules/annotation/index.d.ts +2 -0
  46. package/lib/modules/annotation/index.js +2 -2
  47. package/lib/modules/annotation/store.d.ts +11 -49
  48. package/lib/modules/annotation/store.js +144 -429
  49. package/lib/modules/annotation/view.js +3 -6
  50. package/lib/modules/audio-stream/index.js +1 -2
  51. package/lib/modules/chat/components/chat-select/index.js +3 -0
  52. package/lib/modules/components/control-bar/components/loading/index.css +76 -0
  53. package/lib/modules/components/control-bar/components/loading/index.d.ts +8 -0
  54. package/lib/modules/components/control-bar/components/loading/index.js +64 -0
  55. package/lib/modules/components/control-bar/components/loading/loading.png +0 -0
  56. package/lib/modules/components/control-bar/components/progress/index.d.ts +5 -0
  57. package/lib/modules/components/control-bar/components/progress/index.js +43 -0
  58. package/lib/modules/components/control-bar/components/progress/style.css +51 -0
  59. package/lib/modules/components/control-bar/components/switch-theme/index.css +99 -0
  60. package/lib/modules/components/control-bar/components/switch-theme/index.d.ts +9 -0
  61. package/lib/modules/components/control-bar/components/switch-theme/index.js +94 -0
  62. package/lib/modules/components/control-bar/components/switch-theme/item.d.ts +9 -0
  63. package/lib/modules/components/control-bar/components/switch-theme/item.js +54 -0
  64. package/lib/modules/components/control-bar/components/switch-theme/libs.d.ts +4 -0
  65. package/lib/modules/components/control-bar/components/switch-theme/libs.js +31 -0
  66. package/lib/modules/components/control-bar/index.css +87 -0
  67. package/lib/modules/components/control-bar/index.d.ts +20 -0
  68. package/lib/modules/components/control-bar/index.js +276 -0
  69. package/lib/modules/components/device-control/store.js +2 -2
  70. package/lib/modules/components/leave-meeting/components/index.css +0 -9
  71. package/lib/modules/components/leave-meeting/index.d.ts +2 -1
  72. package/lib/modules/components/leave-meeting/index.js +19 -8
  73. package/lib/modules/components/leave-meeting/portal.d.ts +6 -0
  74. package/lib/modules/components/leave-meeting/portal.js +29 -0
  75. package/lib/modules/components/leave-meeting/style.css +9 -0
  76. package/lib/modules/components/member-window/components/member-actions/components/more-actions.d.ts +5 -2
  77. package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +19 -9
  78. package/lib/modules/components/member-window/components/member-actions/components/share-status.js +4 -4
  79. package/lib/modules/components/member-window/components/member-actions/index.js +13 -6
  80. package/lib/modules/components/member-window/components/member-actions/provider.d.ts +1 -0
  81. package/lib/modules/components/member-window/components/member-actions/provider.js +4 -3
  82. package/lib/modules/components/member-window/components/member-actions/store.d.ts +2 -1
  83. package/lib/modules/components/member-window/components/member-actions/store.js +5 -1
  84. package/lib/modules/components/member-window/components/video-player/components/local-video-player-with-zoom.d.ts +6 -4
  85. package/lib/modules/components/member-window/components/video-player/components/local-video-player-with-zoom.js +77 -41
  86. package/lib/modules/components/member-window/components/video-player/components/remote-video-player-with-zoom.d.ts +3 -3
  87. package/lib/modules/components/member-window/components/video-player/index.d.ts +3 -3
  88. package/lib/modules/components/member-window/index.css +4 -0
  89. package/lib/modules/components/member-window/types.d.ts +9 -5
  90. package/lib/modules/components/toolbar/components/capture-tool/index.d.ts +9 -0
  91. package/lib/modules/components/toolbar/components/capture-tool/index.js +68 -0
  92. package/lib/modules/components/toolbar/components/clean-tool/index.d.ts +11 -0
  93. package/lib/modules/components/toolbar/components/clean-tool/index.js +71 -0
  94. package/lib/modules/components/toolbar/components/color-tool/color-panel/index.d.ts +11 -0
  95. package/lib/modules/components/toolbar/components/color-tool/color-panel/index.js +77 -0
  96. package/lib/modules/components/toolbar/components/color-tool/index.d.ts +14 -0
  97. package/lib/modules/components/toolbar/components/color-tool/index.js +66 -0
  98. package/lib/modules/components/toolbar/components/graphic-tool/graphic-panel/index.d.ts +11 -0
  99. package/lib/modules/components/toolbar/components/graphic-tool/graphic-panel/index.js +64 -0
  100. package/lib/modules/components/toolbar/components/graphic-tool/graphic-panel/libs.d.ts +12 -0
  101. package/lib/modules/components/toolbar/components/graphic-tool/graphic-panel/libs.js +65 -0
  102. package/lib/modules/components/toolbar/components/graphic-tool/index.d.ts +15 -0
  103. package/lib/modules/components/toolbar/components/graphic-tool/index.js +82 -0
  104. package/lib/modules/components/toolbar/components/group-tool/index.d.ts +5 -0
  105. package/lib/modules/components/toolbar/components/group-tool/index.js +43 -0
  106. package/lib/modules/components/toolbar/components/icons/fold-icon.d.ts +2 -0
  107. package/lib/modules/components/toolbar/components/icons/fold-icon.js +41 -0
  108. package/lib/modules/components/toolbar/components/icons/move-icon.d.ts +1 -0
  109. package/lib/modules/components/toolbar/components/icons/move-icon.js +66 -0
  110. package/lib/modules/components/toolbar/components/item/index.d.ts +25 -0
  111. package/lib/modules/components/toolbar/components/item/index.js +165 -0
  112. package/lib/modules/components/toolbar/components/item/style.css +94 -0
  113. package/lib/modules/components/toolbar/components/multiple-color-tool/index.d.ts +12 -0
  114. package/lib/modules/components/toolbar/components/multiple-color-tool/index.js +75 -0
  115. package/lib/modules/components/toolbar/components/panel/index.d.ts +9 -0
  116. package/lib/modules/components/toolbar/components/panel/index.js +28 -0
  117. package/lib/modules/components/toolbar/components/panel/style.css +86 -0
  118. package/lib/modules/components/toolbar/components/pen-tool/index.d.ts +13 -0
  119. package/lib/modules/components/toolbar/components/pen-tool/index.js +62 -0
  120. package/lib/modules/components/toolbar/components/pen-tool/pen-panel/index.d.ts +8 -0
  121. package/lib/modules/components/toolbar/components/pen-tool/pen-panel/index.js +39 -0
  122. package/lib/modules/components/toolbar/components/save-draft/index.d.ts +7 -0
  123. package/lib/modules/components/toolbar/components/save-draft/index.js +59 -0
  124. package/lib/modules/components/toolbar/components/vertical-frame/index.d.ts +8 -0
  125. package/lib/modules/components/toolbar/components/vertical-frame/index.js +179 -0
  126. package/lib/modules/components/toolbar/hooks/use-resize-visible.d.ts +4 -0
  127. package/lib/modules/components/toolbar/hooks/use-resize-visible.js +59 -0
  128. package/lib/modules/components/toolbar/index.d.ts +29 -0
  129. package/lib/modules/components/toolbar/index.js +258 -0
  130. package/lib/modules/components/toolbar/style.css +85 -0
  131. package/lib/modules/components/toolbar/types.d.ts +13 -0
  132. package/lib/modules/components/toolbar/types.js +6 -0
  133. package/lib/modules/control-bar/components/more-actions/index.js +0 -6
  134. package/lib/modules/control-bar/components/share-state-nav/index.js +3 -2
  135. package/lib/modules/control-bar/index.js +2 -1
  136. package/lib/modules/control-bar/store.d.ts +15 -12
  137. package/lib/modules/control-bar/store.js +68 -29
  138. package/lib/modules/control-bar/view.js +33 -67
  139. package/lib/modules/device-pretest/store.js +4 -2
  140. package/lib/modules/dialog/components/dialog-container/component/body.js +3 -24
  141. package/lib/modules/dialog/components/dialog-container/index.d.ts +4 -0
  142. package/lib/modules/dialog/components/dialog-container/index.js +67 -44
  143. package/lib/modules/dialog/components/normal-window/index.js +4 -0
  144. package/lib/modules/dialog/dialogs/control-bar/index.d.ts +1 -0
  145. package/lib/modules/dialog/dialogs/control-bar/index.js +26 -35
  146. package/lib/modules/dialog/dialogs/participant/components/title.js +1 -1
  147. package/lib/modules/dialog/dialogs/sub-window/index.d.ts +2 -0
  148. package/lib/modules/dialog/dialogs/sub-window/index.js +102 -0
  149. package/lib/modules/dialog/dialogs/video-window/index.d.ts +1 -0
  150. package/lib/modules/dialog/dialogs/video-window/index.js +31 -25
  151. package/lib/modules/dialog/dialogs/whiteboard/index.js +0 -1
  152. package/lib/modules/dialog/hooks/use-popover-watcher.js +1 -2
  153. package/lib/modules/dialog/hooks/useElectron.d.ts +13 -0
  154. package/lib/modules/dialog/hooks/useElectron.js +66 -13
  155. package/lib/modules/dialog/index.d.ts +6 -3
  156. package/lib/modules/dialog/index.js +5 -3
  157. package/lib/modules/dialog/level-config.js +1 -1
  158. package/lib/modules/dialog/store.d.ts +23 -9
  159. package/lib/modules/dialog/store.js +84 -12
  160. package/lib/modules/dialog/type.d.ts +8 -0
  161. package/lib/modules/event-confirm/components/window/index.d.ts +5 -2
  162. package/lib/modules/event-confirm/components/window/index.js +38 -14
  163. package/lib/modules/event-confirm/index.css +3 -2
  164. package/lib/modules/event-confirm/store.d.ts +10 -5
  165. package/lib/modules/event-confirm/store.js +68 -20
  166. package/lib/modules/event-confirm/view.js +10 -8
  167. package/lib/modules/event-sound/index.d.ts +1 -0
  168. package/lib/modules/event-sound/index.js +11 -24
  169. package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-user/index.js +1 -2
  170. package/lib/modules/interpreter/store.js +11 -13
  171. package/lib/modules/invite/components/pstn-invite.js +0 -1
  172. package/lib/modules/layout/components/CommonVideoRenderer.js +26 -26
  173. package/lib/modules/layout/components/who-is-speaking.js +3 -6
  174. package/lib/modules/layout/index.d.ts +3 -1
  175. package/lib/modules/layout/index.js +2 -1
  176. package/lib/modules/layout/store.d.ts +7 -59
  177. package/lib/modules/layout/store.js +133 -45
  178. package/lib/modules/layout/type.d.ts +55 -0
  179. package/lib/modules/participant/components/can-moveable/index.js +0 -1
  180. package/lib/modules/participant/components/participants/components/participants/components/attendee/index.js +4 -2
  181. package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.js +14 -2
  182. package/lib/modules/participant/components/participants/components/participants/components/user-row/index.d.ts +1 -1
  183. package/lib/modules/participant/components/participants/components/participants/components/user-row/index.js +3 -2
  184. package/lib/modules/participant/components/participants/components/participants/index.js +3 -2
  185. package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/move-actions-popover/index.d.ts +1 -0
  186. package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/move-actions-popover/index.js +3 -1
  187. package/lib/modules/participant/components/participants/components/render-user/components/user-action/index.js +4 -2
  188. package/lib/modules/participant/components/participants/components/render-user/index.d.ts +4 -2
  189. package/lib/modules/participant/components/participants/components/render-user/index.js +5 -3
  190. package/lib/modules/participant/components/participants/index.js +5 -2
  191. package/lib/modules/participant/components/participants/types.d.ts +3 -0
  192. package/lib/modules/participant/index.d.ts +2 -0
  193. package/lib/modules/participant/index.js +2 -1
  194. package/lib/modules/participant/member-list-data-source.js +3 -5
  195. package/lib/modules/participant/store.d.ts +5 -1
  196. package/lib/modules/participant/store.js +51 -44
  197. package/lib/modules/secondary-window/index.d.ts +50 -0
  198. package/lib/modules/secondary-window/index.js +113 -0
  199. package/lib/modules/secondary-window/store.d.ts +76 -0
  200. package/lib/modules/secondary-window/store.js +407 -0
  201. package/lib/modules/secondary-window/type.d.ts +110 -0
  202. package/lib/modules/secondary-window/type.js +35 -0
  203. package/lib/modules/secondary-window/view.d.ts +6 -0
  204. package/lib/modules/secondary-window/view.js +257 -0
  205. package/lib/modules/setting/audio-settings/audio-settings.js +4 -2
  206. package/lib/modules/setting/config.d.ts +4 -0
  207. package/lib/modules/setting/config.js +6 -3
  208. package/lib/modules/setting/general-settings/general-settings.js +9 -0
  209. package/lib/modules/setting/state/index.js +0 -10
  210. package/lib/modules/setting/store.d.ts +9 -3
  211. package/lib/modules/setting/store.js +110 -77
  212. package/lib/modules/setting/view.js +3 -2
  213. package/lib/modules/share-screen/components/control-bar/index.d.ts +14 -1
  214. package/lib/modules/share-screen/components/control-bar/index.js +17 -12
  215. package/lib/modules/share-screen/components/selection/index.js +16 -23
  216. package/lib/modules/share-screen/index.d.ts +4 -1
  217. package/lib/modules/share-screen/index.js +6 -3
  218. package/lib/modules/share-screen/store.d.ts +18 -19
  219. package/lib/modules/share-screen/store.js +101 -151
  220. package/lib/modules/share-screen/types.d.ts +7 -8
  221. package/lib/modules/state-bar/index.d.ts +2 -0
  222. package/lib/modules/state-bar/index.js +2 -1
  223. package/lib/modules/state-bar/live-streaming-state.js +0 -1
  224. package/lib/modules/state-bar/store.d.ts +5 -2
  225. package/lib/modules/state-bar/store.js +14 -7
  226. package/lib/modules/state-bar/view.js +3 -3
  227. package/lib/modules/video-window/components/members/index.js +10 -15
  228. package/lib/modules/video-window/store.d.ts +1 -0
  229. package/lib/modules/video-window/store.js +8 -3
  230. package/lib/modules/whiteboard/components/control-bar/store.d.ts +3 -0
  231. package/lib/modules/whiteboard/components/control-bar/store.js +20 -11
  232. package/lib/modules/whiteboard/components/toolbar/store.d.ts +2 -2
  233. package/lib/modules/whiteboard/components/toolbar/store.js +2 -2
  234. package/lib/modules/whiteboard/index.d.ts +20 -17
  235. package/lib/modules/whiteboard/index.js +167 -132
  236. package/lib/plugins/module-dev-plugin.js +4 -0
  237. package/lib/providers/ability-provider.js +2 -0
  238. package/lib/providers/annotation-provider.js +3 -3
  239. package/lib/providers/device-privilege-provider.js +13 -12
  240. package/lib/providers/device-provider.d.ts +40 -31
  241. package/lib/providers/device-provider.js +657 -713
  242. package/lib/providers/device-stream-provider.js +4 -4
  243. package/lib/providers/interpreter-provider.js +7 -9
  244. package/lib/providers/multi-display-provider.d.ts +90 -0
  245. package/lib/providers/multi-display-provider.js +593 -0
  246. package/lib/providers/privilege-provider.d.ts +3 -11
  247. package/lib/providers/privilege-provider.js +3 -12
  248. package/lib/providers/renderer-provider.d.ts +3 -3
  249. package/lib/providers/renderer-provider.js +20 -32
  250. package/lib/providers/room-provider.js +21 -16
  251. package/lib/providers/screen-share-provider.d.ts +15 -11
  252. package/lib/providers/screen-share-provider.js +118 -99
  253. package/lib/providers/sharing-provider.d.ts +7 -1
  254. package/lib/providers/sharing-provider.js +39 -3
  255. package/lib/providers/whiteboard-provider.d.ts +24 -0
  256. package/lib/providers/whiteboard-provider.js +128 -0
  257. package/lib/runtime.d.ts +1 -0
  258. package/lib/scenes/main-scene.d.ts +6 -0
  259. package/lib/scenes/main-scene.js +44 -2
  260. package/lib/scenes/waiting-scene.d.ts +0 -2
  261. package/lib/scenes/waiting-scene.js +0 -6
  262. package/lib/schema.d.ts +3 -3
  263. package/lib/schema.js +1 -1
  264. package/lib/shared-data-source/confirm-data.d.ts +19 -0
  265. package/lib/shared-data-source/confirm-data.js +119 -15
  266. package/lib/shared-data-source/member-data.d.ts +2 -2
  267. package/lib/shared-data-source/screen-share-data.d.ts +35 -28
  268. package/lib/shared-data-source/screen-share-data.js +19 -8
  269. package/lib/shared-data-source/setting.js +4 -3
  270. package/lib/shared-data-source/video-window.js +1 -2
  271. package/lib/shared-data-source/whiteboard-data.d.ts +70 -0
  272. package/lib/shared-data-source/whiteboard-data.js +348 -0
  273. package/lib/translations/enUS.d.ts +1 -0
  274. package/lib/translations/enUS.js +2 -1
  275. package/lib/translations/zhCN.d.ts +1 -0
  276. package/lib/translations/zhCN.js +2 -1
  277. package/lib/ui-scene.d.ts +1 -0
  278. package/lib/ui-scene.js +77 -24
  279. package/lib/utilities/constant.d.ts +9 -2
  280. package/lib/utilities/constant.js +10 -3
  281. package/lib/utilities/debug.d.ts +4 -0
  282. package/lib/utilities/debug.js +40 -0
  283. package/lib/utilities/default-config.d.ts +4 -0
  284. package/lib/utilities/default-config.js +8 -4
  285. package/lib/utilities/dialog-utils.d.ts +3 -2
  286. package/lib/utilities/dialog-utils.js +56 -15
  287. package/lib/utilities/meeting-detail.js +4 -1
  288. package/lib/utilities/package-info.d.ts +3 -0
  289. package/lib/utilities/package-info.js +15 -0
  290. package/lib/utilities/renderer-event.d.ts +4 -6
  291. package/lib/utilities/renderer-event.js +23 -43
  292. package/lib/utilities/renderer.d.ts +1 -1
  293. package/lib/utilities/renderer.js +44 -10
  294. package/lib/utilities/shared-storage.d.ts +18 -0
  295. package/lib/utilities/shared-storage.js +63 -0
  296. package/lib/utilities/tools.js +2 -1
  297. package/lib/waiting-room-control-manager.js +6 -6
  298. package/package.json +6 -7
  299. package/public/index.html +5 -0
  300. package/lib/electron/tools.d.ts +0 -5
  301. package/lib/electron/tools.js +0 -62
@@ -0,0 +1,480 @@
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.array.filter.js");
7
+ require("core-js/modules/es.array.for-each.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-properties.js");
17
+ require("core-js/modules/es.object.define-property.js");
18
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
19
+ require("core-js/modules/es.object.get-own-property-descriptors.js");
20
+ require("core-js/modules/esnext.function.metadata.js");
21
+ require("core-js/modules/esnext.iterator.constructor.js");
22
+ require("core-js/modules/esnext.iterator.filter.js");
23
+ require("core-js/modules/esnext.iterator.for-each.js");
24
+ require("core-js/modules/esnext.map.delete-all.js");
25
+ require("core-js/modules/esnext.map.emplace.js");
26
+ require("core-js/modules/esnext.map.every.js");
27
+ require("core-js/modules/esnext.map.filter.js");
28
+ require("core-js/modules/esnext.map.find.js");
29
+ require("core-js/modules/esnext.map.find-key.js");
30
+ require("core-js/modules/esnext.map.includes.js");
31
+ require("core-js/modules/esnext.map.key-of.js");
32
+ require("core-js/modules/esnext.map.map-keys.js");
33
+ require("core-js/modules/esnext.map.map-values.js");
34
+ require("core-js/modules/esnext.map.merge.js");
35
+ require("core-js/modules/esnext.map.reduce.js");
36
+ require("core-js/modules/esnext.map.some.js");
37
+ require("core-js/modules/esnext.map.update.js");
38
+ require("core-js/modules/esnext.symbol.metadata.js");
39
+ require("core-js/modules/web.dom-collections.for-each.js");
40
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
41
+ var _typeof = require("@babel/runtime/helpers/typeof");
42
+ Object.defineProperty(exports, "__esModule", {
43
+ value: true
44
+ });
45
+ exports.FragmentWhiteboardStoreContext = exports.FragmentWhiteboardStore = void 0;
46
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
47
+ require("core-js/modules/es.error.cause.js");
48
+ require("core-js/modules/es.error.to-string.js");
49
+ require("core-js/modules/es.array.concat.js");
50
+ require("core-js/modules/es.array.iterator.js");
51
+ require("core-js/modules/es.date.to-json.js");
52
+ require("core-js/modules/es.json.stringify.js");
53
+ require("core-js/modules/es.object.keys.js");
54
+ require("core-js/modules/es.object.to-string.js");
55
+ require("core-js/modules/es.regexp.exec.js");
56
+ require("core-js/modules/es.string.iterator.js");
57
+ require("core-js/modules/es.string.search.js");
58
+ require("core-js/modules/es.weak-map.js");
59
+ require("core-js/modules/esnext.json.parse.js");
60
+ require("core-js/modules/esnext.weak-map.delete-all.js");
61
+ require("core-js/modules/esnext.weak-map.emplace.js");
62
+ require("core-js/modules/web.dom-collections.iterator.js");
63
+ require("core-js/modules/web.url-search-params.js");
64
+ require("core-js/modules/web.url-search-params.delete.js");
65
+ require("core-js/modules/web.url-search-params.has.js");
66
+ require("core-js/modules/web.url-search-params.size.js");
67
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
68
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
69
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
70
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
71
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
72
+ var _fcrCore = require("fcr-core");
73
+ var _react = require("react");
74
+ var _logger = require("../../utilities/logger");
75
+ var _libs = require("../annotation/libs");
76
+ var _decorator = require("agora-foundation/lib/decorator");
77
+ var _imports = require("fcr-core/lib/imports");
78
+ var _enums = require("fcr-core/lib/room-control/whiteboard-control/enums");
79
+ var _type = require("../../modules/secondary-window/type");
80
+ var _libs2 = require("../annotation/toolbar/components/graphic-tool/graphic-panel/libs");
81
+ var _mobx = require("mobx");
82
+ var _tools = require("../../utilities/tools");
83
+ var _FragmentWhiteboardStore;
84
+ var _initProto, _init_currentTool;
85
+ 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; }
86
+ 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; }
87
+ function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
88
+ function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
89
+ function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
90
+ function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
91
+ 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"); }
92
+ 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)]; } }; }
93
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
94
+ 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); }
95
+ 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; }
96
+ 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; }
97
+ var STORAGE_KEY_ANNOTATION_BOARD_OPTIONS = 'annotation_board_options';
98
+ var STORAGE_KEY_WHITEBOARD_OPTIONS = 'whiteboard_options';
99
+ var STORAGE_KEY_ANNOTATION_NICKNAME = 'annotation_nickname';
100
+ var _A = /*#__PURE__*/new WeakMap();
101
+ var FragmentWhiteboardStore = exports.FragmentWhiteboardStore = /*#__PURE__*/function () {
102
+ function FragmentWhiteboardStore() {
103
+ var _this = this;
104
+ (0, _classCallCheck2["default"])(this, FragmentWhiteboardStore);
105
+ (0, _defineProperty2["default"])(this, "logger", (_initProto(this), (0, _logger.createFragmentLogger)({
106
+ prefix: 'FragmentWhiteboardStore'
107
+ })));
108
+ (0, _defineProperty2["default"])(this, "_engine", null);
109
+ (0, _defineProperty2["default"])(this, "_sharingType", 'whiteboard');
110
+ (0, _defineProperty2["default"])(this, "_isMounted", false);
111
+ (0, _defineProperty2["default"])(this, "_boardObserver", {
112
+ onConnectionStateUpdated: this._handleConnectionStateUpdated
113
+ });
114
+ (0, _defineProperty2["default"])(this, "_boardMainWindowObserver", {
115
+ onUndoStateUpdated: function onUndoStateUpdated(enable) {
116
+ _this.logger.info("[whiteboard-fragment]: undo state updated, enable ".concat(enable));
117
+ // @ts-ignore
118
+ window.parent.FcrUIMainWindowRenderer.notifyObservers('onRedoStepsUpdated', enable);
119
+ },
120
+ onRedoStateUpdated: function onRedoStateUpdated(enable) {
121
+ _this.logger.info("[whiteboard-fragment]: redo state updated, enable ".concat(enable));
122
+ // @ts-ignore
123
+ window.parent.FcrUIMainWindowRenderer.notifyObservers('onUndoStepsUpdated', enable);
124
+ }
125
+ });
126
+ (0, _defineProperty2["default"])(this, "_mainWindowObserver", {
127
+ onBackgroundColorUpdated: function onBackgroundColorUpdated(color) {
128
+ var _this$_boardInstance;
129
+ _this.logger.info("[whiteboard-fragment]: onBackgroundColorUpdated ".concat(color));
130
+ (_this$_boardInstance = _this._boardInstance) === null || _this$_boardInstance === void 0 || _this$_boardInstance.setBackgroundColor(color);
131
+ },
132
+ onSharingUserUpdated: function onSharingUserUpdated(userInfo) {
133
+ _this.logger.info("[whiteboard-fragment]: onSharingUserUpdated ".concat(userInfo));
134
+ },
135
+ onPermissionUpdated: function onPermissionUpdated(hasWriteBoardPermission) {
136
+ _this.logger.info("[whiteboard-fragment]: onPermissionUpdated ".concat(hasWriteBoardPermission));
137
+ if (_this._sharingType === 'whiteboard') {
138
+ var _this$_whiteboardCont, _this$_whiteboardCont2;
139
+ hasWriteBoardPermission ? (_this$_whiteboardCont = _this._whiteboardControl) === null || _this$_whiteboardCont === void 0 ? void 0 : _this$_whiteboardCont.addPermission(_imports.FcrWhiteboardPermissionFlag.all) : (_this$_whiteboardCont2 = _this._whiteboardControl) === null || _this$_whiteboardCont2 === void 0 ? void 0 : _this$_whiteboardCont2.removePermission(_imports.FcrWhiteboardPermissionFlag.all);
140
+ } else {
141
+ var _this$_annotationCont, _this$_annotationCont2;
142
+ hasWriteBoardPermission ? (_this$_annotationCont = _this._annotationControl) === null || _this$_annotationCont === void 0 ? void 0 : _this$_annotationCont.addPermission(_imports.FcrWhiteboardPermissionFlag.all) : (_this$_annotationCont2 = _this._annotationControl) === null || _this$_annotationCont2 === void 0 ? void 0 : _this$_annotationCont2.removePermission(_imports.FcrWhiteboardPermissionFlag.all);
143
+ }
144
+ },
145
+ onWhiteboardInActive: function onWhiteboardInActive() {
146
+ _this.logger.info("[whiteboard-fragment]: onWhiteboardInActive");
147
+ _this.unload();
148
+ },
149
+ onWhiteboardToolSelected: function onWhiteboardToolSelected(tools) {
150
+ var _this$_boardInstance2, _this$_boardInstance3, _this$_boardInstance4, _this$_boardInstance5, _this$_boardInstance6, _this$_boardInstance7, _this$_boardInstance8;
151
+ var action = tools.action,
152
+ tool = tools.tool;
153
+ _this.logger.info("[whiteboard-fragment]: onWhiteboardToolSelected ".concat(action, " - ").concat(tool));
154
+ switch (action) {
155
+ case _type.WhiteboardToolAction.TOOL:
156
+ _this.currentTool = tool;
157
+ (_this$_boardInstance2 = _this._boardInstance) === null || _this$_boardInstance2 === void 0 || _this$_boardInstance2.setToolType(tool);
158
+ break;
159
+ case _type.WhiteboardToolAction.SHAPE:
160
+ _this.currentTool = (0, _libs2.convertShapeToBoardToolType)(tool);
161
+ (_this$_boardInstance3 = _this._boardInstance) === null || _this$_boardInstance3 === void 0 || _this$_boardInstance3.setToolType((0, _libs2.convertShapeToBoardToolType)(tool));
162
+ break;
163
+ case _type.WhiteboardToolAction.WIDTH:
164
+ (_this$_boardInstance4 = _this._boardInstance) === null || _this$_boardInstance4 === void 0 || _this$_boardInstance4.setStrokeWidth(tool);
165
+ break;
166
+ case _type.WhiteboardToolAction.COLOR:
167
+ (_this$_boardInstance5 = _this._boardInstance) === null || _this$_boardInstance5 === void 0 || _this$_boardInstance5.setStrokeColor(tool);
168
+ break;
169
+ case _type.WhiteboardToolAction.UNDO:
170
+ (_this$_boardInstance6 = _this._boardInstance) === null || _this$_boardInstance6 === void 0 || _this$_boardInstance6.undo();
171
+ break;
172
+ case _type.WhiteboardToolAction.REDO:
173
+ (_this$_boardInstance7 = _this._boardInstance) === null || _this$_boardInstance7 === void 0 || _this$_boardInstance7.redo();
174
+ break;
175
+ case _type.WhiteboardToolAction.CLEAR:
176
+ (_this$_boardInstance8 = _this._boardInstance) === null || _this$_boardInstance8 === void 0 || _this$_boardInstance8.clean();
177
+ break;
178
+ }
179
+ },
180
+ onSaveDraft: function () {
181
+ var _onSaveDraft = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
182
+ var _this$_boardInstance9;
183
+ var image;
184
+ return _regenerator["default"].wrap(function (_context) {
185
+ while (1) switch (_context.prev = _context.next) {
186
+ case 0:
187
+ _this.logger.info("[whiteboard-fragment]: onSaveDraft");
188
+ _context.next = 1;
189
+ return (_this$_boardInstance9 = _this._boardInstance) === null || _this$_boardInstance9 === void 0 ? void 0 : _this$_boardInstance9.getSnapshotImage();
190
+ case 1:
191
+ image = _context.sent;
192
+ _this.logger.info("[whiteboard-fragment]: save draft image");
193
+ // @ts-ignore
194
+ window.parent.FcrUIMainWindowRenderer.notifyObservers('onDraftSaved', image);
195
+ case 2:
196
+ case "end":
197
+ return _context.stop();
198
+ }
199
+ }, _callee);
200
+ }));
201
+ function onSaveDraft() {
202
+ return _onSaveDraft.apply(this, arguments);
203
+ }
204
+ return onSaveDraft;
205
+ }()
206
+ });
207
+ (0, _defineProperty2["default"])(this, "_engineObserver", {});
208
+ _classPrivateFieldInitSpec(this, _A, _init_currentTool(this, _enums.FcrBoardToolType.NONE));
209
+ var urlParams = new URLSearchParams(window.location.search);
210
+ var type = urlParams.get('type');
211
+ // @ts-ignore
212
+ window.parent.FcrUIMainWindowRenderer.addObserver(this._mainWindowObserver);
213
+ window.require = parent.window.require;
214
+ var appId = _tools.storage.get('annotation_rtm_app_id') || '';
215
+ var boardOptions = _tools.storage.get(STORAGE_KEY_WHITEBOARD_OPTIONS);
216
+ var _JSON$parse = JSON.parse(boardOptions || '{}'),
217
+ roomToken = _JSON$parse.boardUserToken,
218
+ userId = _JSON$parse.boardUserUuid;
219
+ if (type === 'annotation') {
220
+ this._sharingType = 'annotation';
221
+ this.logger.info("[whiteboard-fragment]: sharing type is annotation, with a annotation user id: ".concat(userId));
222
+ } else {
223
+ this._sharingType = 'whiteboard';
224
+ this.logger.info("[whiteboard-fragment]: sharing type is whiteboard, with a board user id: ".concat(userId));
225
+ }
226
+ if (!roomToken) {
227
+ this.logger.error("[whiteboard-fragment]: room token is not found, the sharing type is ".concat(this._sharingType));
228
+ return;
229
+ }
230
+ if (!userId) {
231
+ this.logger.error("[whiteboard-fragment]: user id is not found, the sharing type is ".concat(this._sharingType));
232
+ return;
233
+ }
234
+ this._init(this._initEngine({
235
+ userId: userId,
236
+ roomToken: roomToken,
237
+ appId: appId
238
+ }));
239
+ }
240
+ return (0, _createClass2["default"])(FragmentWhiteboardStore, [{
241
+ key: "_boardControl",
242
+ get: function get() {
243
+ if (!this._whiteboardControl) {
244
+ throw new Error('whiteboard control is not initialized');
245
+ }
246
+ return this._whiteboardControl;
247
+ }
248
+ }, {
249
+ key: "currentTool",
250
+ get: function get() {
251
+ return _classPrivateFieldGet(_A, this);
252
+ },
253
+ set: function set(v) {
254
+ _classPrivateFieldSet(_A, this, v);
255
+ }
256
+ }, {
257
+ key: "boardDom",
258
+ get: function get() {
259
+ return this._boardDom;
260
+ }
261
+ }, {
262
+ key: "sharingType",
263
+ get: function get() {
264
+ return this._sharingType;
265
+ }
266
+ }, {
267
+ key: "handleBoardDomLoad",
268
+ value: function handleBoardDomLoad(dom) {
269
+ this._boardDom = dom;
270
+ }
271
+ }, {
272
+ key: "unload",
273
+ value: function unload() {
274
+ var _this$_engine, _this$_engine2;
275
+ this.logger.info('[whiteboard-fragment][unload]: start unload');
276
+ this._boardControl.removeObserver(this._boardObserver);
277
+ (_this$_engine = this._engine) === null || _this$_engine === void 0 || _this$_engine.removeObserver(this._engineObserver);
278
+ // @ts-ignore
279
+ window.parent.FcrUIMainWindowRenderer.removeObserver(this._mainWindowObserver);
280
+ this._unmount();
281
+ this._boardControl.close();
282
+ (_this$_engine2 = this._engine) === null || _this$_engine2 === void 0 || _this$_engine2.logout();
283
+ this._engine = null;
284
+ }
285
+ }, {
286
+ key: "log",
287
+ value: function log(message) {
288
+ this.logger.info(message);
289
+ }
290
+ }, {
291
+ key: "_mount",
292
+ value: function _mount() {
293
+ this.logger.info("[whiteboard-fragment]: mounted board dom");
294
+ if (this._boardDom && this._boardInstance && !this._isMounted) {
295
+ this._boardDom.appendChild(this._boardInstance.getContentView());
296
+ this._isMounted = true;
297
+ }
298
+ }
299
+ }, {
300
+ key: "_unmount",
301
+ value: function _unmount() {
302
+ this.logger.info("[whiteboard-fragment]: unmounted board dom");
303
+ if (this._boardDom && this._boardInstance && this._isMounted) {
304
+ this._isMounted = false;
305
+ this._boardDom.removeChild(this._boardInstance.getContentView());
306
+ }
307
+ }
308
+ }, {
309
+ key: "_handleConnectionStateUpdated",
310
+ value: function _handleConnectionStateUpdated(state) {
311
+ this.logger.info("[whitebaord-fragment]: connection state updated: ".concat(_fcrCore.FcrConnectionState[state]));
312
+ // @ts-ignore
313
+ window.parent.FcrUIMainWindowRenderer.notifyObservers('onConnectionStateUpdated', state);
314
+ if (state === _fcrCore.FcrConnectionState.CONNECTED) {
315
+ var _this$_annotationCont3, _this$_boardInstance0;
316
+ this.logger.info(// @ts-ignore
317
+ "[whiteboard-fragment]: connection state updated: ".concat(_fcrCore.FcrConnectionState[state], ", background color: ").concat(window.parent.FcrUIMainWindowRenderer.backgroundColor));
318
+ this._boardInstance = this._sharingType === 'whiteboard' ? this._boardControl.getMainWindow() : (_this$_annotationCont3 = this._annotationControl) === null || _this$_annotationCont3 === void 0 ? void 0 : _this$_annotationCont3.getMainWindow();
319
+ var backgroundColor = this._sharingType === 'whiteboard' ?
320
+ // @ts-ignore
321
+ window.parent.FcrUIMainWindowRenderer.backgroundColor : 'transparent';
322
+ (_this$_boardInstance0 = this._boardInstance) === null || _this$_boardInstance0 === void 0 || _this$_boardInstance0.setBackgroundColor(backgroundColor);
323
+ this._boardInstance && this._boardInstance.addObserver(this._boardMainWindowObserver);
324
+ this._mount();
325
+ }
326
+ }
327
+ }, {
328
+ key: "_init",
329
+ value: function () {
330
+ var _init2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(engine) {
331
+ var _this2 = this;
332
+ return _regenerator["default"].wrap(function (_context2) {
333
+ while (1) switch (_context2.prev = _context2.next) {
334
+ case 0:
335
+ this._engineObserver = {
336
+ onConnectionStateUpdated: function onConnectionStateUpdated(state) {
337
+ if (state === _fcrCore.FcrConnectionState.CONNECTED) {
338
+ _this2._engine = engine;
339
+ _this2._sharingType === 'whiteboard' ? _this2._initWhiteboardControl() : null;
340
+ // : this._initAnnotationControl();
341
+ _this2.logger.info("[whiteboard-fragment][initEngine]: engine connection state updated => CONNECTED}");
342
+ }
343
+ if (state === _fcrCore.FcrConnectionState.DISCONNECTED) {
344
+ _this2.logger.info("[whiteboard-fragment][initEngine]: engine connection state updated => DISCONNECTED, the engine is ".concat(_this2._engine));
345
+ _this2._engine && engine.login();
346
+ }
347
+ if (state === _fcrCore.FcrConnectionState.CONNECTING) {
348
+ _this2.logger.info("[whiteboard-fragment][initEngine]: engine connection state updated => CONNECTING");
349
+ }
350
+ if (state === _fcrCore.FcrConnectionState.RECONNECTING) {
351
+ _this2.logger.info("[whiteboard-fragment][initEngine]: engine connection state updated => RECONNECTING");
352
+ }
353
+ if (state === _fcrCore.FcrConnectionState.ABORTED) {
354
+ _this2.logger.info("[whiteboard-fragment][initEngine]: engine connection state updated => ABORTED, the engine is ".concat(_this2._engine));
355
+ _this2._engine && engine.login();
356
+ }
357
+ }
358
+ };
359
+ engine.addObserver(this._engineObserver);
360
+ engine.login();
361
+ case 1:
362
+ case "end":
363
+ return _context2.stop();
364
+ }
365
+ }, _callee2, this);
366
+ }));
367
+ function _init(_x) {
368
+ return _init2.apply(this, arguments);
369
+ }
370
+ return _init;
371
+ }()
372
+ }, {
373
+ key: "_initWhiteboardControl",
374
+ value: function () {
375
+ var _initWhiteboardControl2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3() {
376
+ var nickName, boardOptions, _JSON$parse2, boardAppId, boardId, boardRegion, boardToken, userId, config;
377
+ return _regenerator["default"].wrap(function (_context3) {
378
+ while (1) switch (_context3.prev = _context3.next) {
379
+ case 0:
380
+ nickName = _tools.storage.get(STORAGE_KEY_ANNOTATION_NICKNAME) || '';
381
+ boardOptions = _tools.storage.get(STORAGE_KEY_WHITEBOARD_OPTIONS);
382
+ _JSON$parse2 = JSON.parse(boardOptions || '{}'), boardAppId = _JSON$parse2.boardAppId, boardId = _JSON$parse2.boardId, boardRegion = _JSON$parse2.boardRegion, boardToken = _JSON$parse2.boardToken, userId = _JSON$parse2.boardUserUuid;
383
+ config = {
384
+ userId: userId,
385
+ nickName: nickName,
386
+ boardConfig: {
387
+ boardAppId: boardAppId,
388
+ boardId: boardId,
389
+ boardRegion: boardRegion,
390
+ boardToken: boardToken
391
+ }
392
+ };
393
+ this.logger.info("[whiteboard-fragment]: start create whiteboard sub process with config: ".concat(JSON.stringify(config)));
394
+ this._whiteboardControl = new _imports.FcrWhiteboardControlFactoryImpl(
395
+ // @ts-ignore
396
+ this._engine._rteEngine._rtmClient._client).createForSubProcess(config);
397
+ this.logger.info("[whiteboard-fragment]: whiteboard sub process created, the control is ".concat(this._whiteboardControl));
398
+ this._whiteboardControl.addObserver(this._boardObserver);
399
+ _context3.next = 1;
400
+ return this._whiteboardControl.open();
401
+ case 1:
402
+ this.logger.info("[whiteboard-fragment]: whiteboard opened, the instance is ".concat(this._boardInstance));
403
+ case 2:
404
+ case "end":
405
+ return _context3.stop();
406
+ }
407
+ }, _callee3, this);
408
+ }));
409
+ function _initWhiteboardControl() {
410
+ return _initWhiteboardControl2.apply(this, arguments);
411
+ }
412
+ return _initWhiteboardControl;
413
+ }()
414
+ }, {
415
+ key: "_initAnnotationControl",
416
+ value: function () {
417
+ var _initAnnotationControl2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee4() {
418
+ var nickName, annotationOptions, _JSON$parse3, boardAppId, boardId, region, boardToken, userId, config;
419
+ return _regenerator["default"].wrap(function (_context4) {
420
+ while (1) switch (_context4.prev = _context4.next) {
421
+ case 0:
422
+ nickName = _tools.storage.get(STORAGE_KEY_ANNOTATION_NICKNAME) || '';
423
+ annotationOptions = _tools.storage.get(STORAGE_KEY_ANNOTATION_BOARD_OPTIONS);
424
+ _JSON$parse3 = JSON.parse(annotationOptions || '{}'), boardAppId = _JSON$parse3.boardAppId, boardId = _JSON$parse3.boardId, region = _JSON$parse3.boardRegion, boardToken = _JSON$parse3.boardToken, userId = _JSON$parse3.boardUserUuid;
425
+ config = {
426
+ userId: userId,
427
+ nickName: nickName,
428
+ extra: {
429
+ boardAppId: boardAppId,
430
+ boardId: boardId,
431
+ region: region,
432
+ boardToken: boardToken
433
+ },
434
+ size: {
435
+ width: 1920,
436
+ height: 1220
437
+ }
438
+ };
439
+ this.logger.info("[whiteboard-fragment]: start create annotation sub process with config: ".concat(JSON.stringify(config)));
440
+ this._annotationControl = new _imports.FcrAnnotationControlFactoryImpl(
441
+ // @ts-ignore
442
+ this._engine._rteEngine._rtmClient._client).createForSubProcess(config);
443
+ this.logger.info("[whiteboard-fragment]: annotation sub process created, the control is ".concat(this._annotationControl));
444
+ this._annotationControl.addObserver(this._boardObserver);
445
+ _context4.next = 1;
446
+ return this._annotationControl.open();
447
+ case 1:
448
+ this.logger.info("[whiteboard-fragment]: annotation opened, the instance is ".concat(this._boardInstance));
449
+ case 2:
450
+ case "end":
451
+ return _context4.stop();
452
+ }
453
+ }, _callee4, this);
454
+ }));
455
+ function _initAnnotationControl() {
456
+ return _initAnnotationControl2.apply(this, arguments);
457
+ }
458
+ return _initAnnotationControl;
459
+ }()
460
+ }, {
461
+ key: "_initEngine",
462
+ value: function _initEngine(config) {
463
+ var userId = config.userId,
464
+ token = config.roomToken,
465
+ appId = config.appId;
466
+ this.logger.info("[whiteboard-fragment][initEngine]: init engine with config => ".concat(JSON.stringify(config)));
467
+ return new _fcrCore.FcrCoreEngine(_objectSpread({
468
+ appId: appId,
469
+ token: token,
470
+ userId: userId,
471
+ region: _fcrCore.FcrRegion.CN
472
+ }, _libs.engineRestConfig));
473
+ }
474
+ }]);
475
+ }();
476
+ _FragmentWhiteboardStore = FragmentWhiteboardStore;
477
+ var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_FragmentWhiteboardStore, [[_mobx.observable, 1, "currentTool"], [_decorator.bound, 2, "handleBoardDomLoad"], [_decorator.bound, 2, "_mount"], [_decorator.bound, 2, "_unmount"], [_decorator.bound, 2, "_handleConnectionStateUpdated"], [_decorator.bound, 2, "_init"], [_decorator.bound, 2, "_initWhiteboardControl"], [_decorator.bound, 2, "_initAnnotationControl"], [_decorator.bound, 2, "_initEngine"]], []).e, 2);
478
+ _init_currentTool = _applyDecs$e[0];
479
+ _initProto = _applyDecs$e[1];
480
+ var FragmentWhiteboardStoreContext = exports.FragmentWhiteboardStoreContext = /*#__PURE__*/(0, _react.createContext)(null);
@@ -0,0 +1,4 @@
1
+ .fcr-fragment-whiteboard-view {
2
+ width: 100vw;
3
+ height: 100vh;
4
+ }
@@ -0,0 +1,4 @@
1
+ import './style.css';
2
+ import './cursor.css';
3
+ declare const View: () => import("react/jsx-runtime").JSX.Element;
4
+ export default View;
@@ -0,0 +1,31 @@
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["default"] = void 0;
8
+ var _react = require("react");
9
+ var _store = require("./store");
10
+ var _mobxReact = require("mobx-react");
11
+ var _enums = require("fcr-core/lib/room-control/whiteboard-control/enums");
12
+ require("./style.css");
13
+ require("./cursor.css");
14
+ var _jsxRuntime = require("react/jsx-runtime");
15
+ var View = (0, _mobxReact.observer)(function () {
16
+ var store = (0, _react.useContext)(_store.FragmentWhiteboardStoreContext);
17
+ var cursor = (0, _react.useMemo)(function () {
18
+ return _enums.FcrBoardToolType[store === null || store === void 0 ? void 0 : store.currentTool].toLowerCase();
19
+ }, [store === null || store === void 0 ? void 0 : store.currentTool]);
20
+ (0, _react.useEffect)(function () {
21
+ return function () {
22
+ store === null || store === void 0 || store.log("[whiteboard-fragment]: unmounting");
23
+ store === null || store === void 0 || store.unload();
24
+ };
25
+ }, []);
26
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
27
+ className: "fcr-fragment-whiteboard-view board-widget-cursor-".concat(cursor),
28
+ ref: store === null || store === void 0 ? void 0 : store.handleBoardDomLoad
29
+ });
30
+ });
31
+ var _default = exports["default"] = View;
package/lib/global.css CHANGED
@@ -42,3 +42,9 @@ body {
42
42
  display: flex;
43
43
  z-index: 1000;
44
44
  }
45
+
46
+ #setting-container {
47
+ position: absolute;
48
+ top: 0;
49
+ left: 0;
50
+ }
package/lib/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import './global.css';
2
+ import './utilities/debug';
2
3
  export { FcrUISceneCreator } from './creator';
3
4
  export { FcrUIExitReason, FcrUserRole, FcrRegion, FcrStreamLatencyLevel } from './type';
4
5
  import './plugins/browser-runtime-plugin';
package/lib/index.js CHANGED
@@ -36,6 +36,7 @@ Object.defineProperty(exports, "FcrUserRole", {
36
36
  }
37
37
  });
38
38
  require("./global.css");
39
+ require("./utilities/debug");
39
40
  var _dayjs = _interopRequireDefault(require("dayjs"));
40
41
  var _duration = _interopRequireDefault(require("dayjs/plugin/duration"));
41
42
  var _creator = require("./creator");
@@ -42,17 +42,27 @@ var Apps = exports.Apps = (0, _mobxReact.observer)(function (_ref) {
42
42
  appItemOptions = _useContext.appItemOptions,
43
43
  appActionbarPopoverVisible = _useContext.appActionbarPopoverVisible,
44
44
  setAppActionbarPopoverVisible = _useContext.setAppActionbarPopoverVisible;
45
+ var appList = appItemOptions.map(function (v) {
46
+ if (v.fcrToolTipProps) {
47
+ var _v$fcrToolTipProps;
48
+ return _objectSpread(_objectSpread({}, v), {}, {
49
+ name: t(v.name),
50
+ fcrToolTipProps: {
51
+ content: t((_v$fcrToolTipProps = v.fcrToolTipProps) === null || _v$fcrToolTipProps === void 0 ? void 0 : _v$fcrToolTipProps.content)
52
+ }
53
+ });
54
+ }
55
+ return _objectSpread(_objectSpread({}, v), {}, {
56
+ name: t(v.name)
57
+ });
58
+ });
45
59
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_item.ActionBarItemWithPopover, {
46
60
  popoverProps: {
47
61
  trigger: 'click',
48
62
  visible: appActionbarPopoverVisible,
49
63
  showArrow: false,
50
64
  content: /*#__PURE__*/(0, _jsxRuntime.jsx)(_appList.AppList, {
51
- appItemProps: appItemOptions.map(function (v) {
52
- return _objectSpread(_objectSpread({}, v), {}, {
53
- name: t(v.name)
54
- });
55
- })
65
+ appItemProps: appList
56
66
  }),
57
67
  overlayInnerStyle: {
58
68
  boxShadow: 'var(--fcr_web_light_dropup_m)',
@@ -31,7 +31,7 @@ var _type = require("../../../../type");
31
31
  var _mobxReact = require("mobx-react");
32
32
  var _debounce = _interopRequireDefault(require("lodash/debounce"));
33
33
  var _leaveMeeting = require("../../../components/leave-meeting");
34
- var _platform = require("../../../../utilities/platform");
34
+ var _portal = require("../../../components/leave-meeting/portal");
35
35
  var _jsxRuntime = require("react/jsx-runtime");
36
36
  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; }
37
37
  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; }
@@ -64,15 +64,8 @@ var End = exports.End = (0, _mobxReact.observer)(function (props) {
64
64
  onPopoverChanged(false);
65
65
  }
66
66
  });
67
- var LeaveMeetingPortal = function LeaveMeetingPortal() {
68
- var portalContent = /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
69
- className: "fcr-action-bar--leave-meeting-portal",
70
- id: "fcr-action-bar--leave-meeting-portal",
71
- style: (0, _platform.isWindows)() ? {
72
- right: '10px'
73
- } : {
74
- left: '10px'
75
- },
67
+ var LeaveMeetingPortals = function LeaveMeetingPortals() {
68
+ var portalContent = /*#__PURE__*/(0, _jsxRuntime.jsx)(_portal.LeaveMeetingPortal, {
76
69
  children: leaveMeetingContent
77
70
  });
78
71
  return /*#__PURE__*/_reactDom["default"].createPortal(portalContent, document.body);
@@ -127,6 +120,6 @@ var End = exports.End = (0, _mobxReact.observer)(function (props) {
127
120
  }, buttonProps), {}, {
128
121
  children: endMeetingPopoverOpened ? transI18n('fmt_toolbar_button_cancel') : localUserRole === _type.FcrUserRole.HOST ? transI18n('fmt_toolbar_button_end') : transI18n('fmt_toolbar_button_leave')
129
122
  }))
130
- }), stateBarLeaveMeeting && LeaveMeetingPortal()]
123
+ }), stateBarLeaveMeeting && LeaveMeetingPortals()]
131
124
  });
132
125
  });
@@ -47,7 +47,7 @@ var SubMenu = exports.SubMenu = (0, _mobxReact.observer)(function () {
47
47
  boardOwnerUser = _useContext.boardOwnerUser,
48
48
  startScreenShare = _useContext.startScreenShare,
49
49
  hasScreenShare = _useContext.hasScreenShare,
50
- hasCloseWriteBoardPermission = _useContext.hasCloseWriteBoardPermission,
50
+ hasAllowWriteBoardPermission = _useContext.hasAllowWriteBoardPermission,
51
51
  sharingOwnerUser = _useContext.sharingOwnerUser,
52
52
  hasStopScreenSharePermission = _useContext.hasStopScreenSharePermission,
53
53
  closeShareScreen = _useContext.closeShareScreen,
@@ -56,7 +56,7 @@ var SubMenu = exports.SubMenu = (0, _mobxReact.observer)(function () {
56
56
  setAllowAnnotation = _useContext.setAllowAnnotation;
57
57
  var t = (0, _i18n.useI18n)();
58
58
  var hasHostPermission = [_fcrCore.FcrUserRole.HOST, _fcrCore.FcrUserRole.COHOST].includes(localUserRole);
59
- var hasBoardControlPermission = boardOwnerUser && localUserId !== boardOwnerUser.userId && hasCloseWriteBoardPermission;
59
+ var hasBoardControlPermission = boardOwnerUser && localUserId !== boardOwnerUser.userId && hasAllowWriteBoardPermission;
60
60
  // 需求变更,联席主持人也可以禁用主持人的白板,注释掉联席主持人不能禁用的逻辑
61
61
  // (FcrUserRole.HOST === localUserRole ||
62
62
  // (FcrUserRole.COHOST === localUserRole && FcrUserRole.HOST !== boardOwnerUser?.userRole));