fcr-ui-scene 3.7.1 → 3.7.3

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 (248) hide show
  1. package/lib/creator.js +23 -44
  2. package/lib/electron/app.js +7 -0
  3. package/lib/electron/injections.d.ts +1 -1
  4. package/lib/electron/injections.js +5 -3
  5. package/lib/electron/main.js +3 -1
  6. package/lib/fragments/annotation/index.d.ts +1 -0
  7. package/lib/fragments/annotation/index.js +13 -7
  8. package/lib/fragments/annotation/store.d.ts +8 -4
  9. package/lib/fragments/annotation/store.js +353 -268
  10. package/lib/fragments/annotation/toolbar/components/color-tool/index.js +4 -0
  11. package/lib/fragments/annotation/toolbar/components/graphic-tool/index.js +4 -0
  12. package/lib/fragments/annotation/toolbar/components/item/item.d.ts +2 -0
  13. package/lib/fragments/annotation/toolbar/components/item/item.js +2 -4
  14. package/lib/fragments/annotation/toolbar/components/item/style.css +4 -2
  15. package/lib/fragments/annotation/toolbar/components/pen-tool/index.js +4 -0
  16. package/lib/fragments/annotation/utils.d.ts +1 -0
  17. package/lib/fragments/annotation/utils.js +27 -0
  18. package/lib/fragments/annotation/view.js +1 -6
  19. package/lib/fragments/base.js +5 -3
  20. package/lib/fragments/whiteboard/cursor.css +77 -0
  21. package/lib/fragments/whiteboard/index.d.ts +11 -0
  22. package/lib/fragments/whiteboard/index.js +91 -0
  23. package/lib/fragments/whiteboard/store.d.ts +31 -0
  24. package/lib/fragments/whiteboard/store.js +475 -0
  25. package/lib/fragments/whiteboard/style.css +4 -0
  26. package/lib/fragments/whiteboard/view.d.ts +4 -0
  27. package/lib/fragments/whiteboard/view.js +31 -0
  28. package/lib/index.d.ts +1 -0
  29. package/lib/index.js +1 -0
  30. package/lib/modules/action-bar/components/apps/index.js +15 -5
  31. package/lib/modules/action-bar/components/leave/index.js +4 -11
  32. package/lib/modules/action-bar/view.d.ts +1 -0
  33. package/lib/modules/action-bar/view.js +3 -2
  34. package/lib/modules/annotation/annotation-toolbar-store.d.ts +4 -11
  35. package/lib/modules/annotation/annotation-toolbar-store.js +46 -88
  36. package/lib/modules/annotation/board-cursor.css +2 -1
  37. package/lib/modules/annotation/index.d.ts +2 -0
  38. package/lib/modules/annotation/index.js +2 -2
  39. package/lib/modules/annotation/store.d.ts +11 -49
  40. package/lib/modules/annotation/store.js +135 -418
  41. package/lib/modules/annotation/view.js +3 -6
  42. package/lib/modules/components/control-bar/components/loading/index.css +76 -0
  43. package/lib/modules/components/control-bar/components/loading/index.d.ts +8 -0
  44. package/lib/modules/components/control-bar/components/loading/index.js +64 -0
  45. package/lib/modules/components/control-bar/components/loading/loading.png +0 -0
  46. package/lib/modules/components/control-bar/components/progress/index.d.ts +5 -0
  47. package/lib/modules/components/control-bar/components/progress/index.js +43 -0
  48. package/lib/modules/components/control-bar/components/progress/style.css +51 -0
  49. package/lib/modules/components/control-bar/components/switch-theme/index.css +99 -0
  50. package/lib/modules/components/control-bar/components/switch-theme/index.d.ts +9 -0
  51. package/lib/modules/components/control-bar/components/switch-theme/index.js +94 -0
  52. package/lib/modules/components/control-bar/components/switch-theme/item.d.ts +9 -0
  53. package/lib/modules/components/control-bar/components/switch-theme/item.js +54 -0
  54. package/lib/modules/components/control-bar/components/switch-theme/libs.d.ts +4 -0
  55. package/lib/modules/components/control-bar/components/switch-theme/libs.js +31 -0
  56. package/lib/modules/components/control-bar/index.css +87 -0
  57. package/lib/modules/components/control-bar/index.d.ts +20 -0
  58. package/lib/modules/components/control-bar/index.js +276 -0
  59. package/lib/modules/components/leave-meeting/components/index.css +0 -9
  60. package/lib/modules/components/leave-meeting/index.d.ts +2 -1
  61. package/lib/modules/components/leave-meeting/index.js +15 -7
  62. package/lib/modules/components/leave-meeting/portal.d.ts +6 -0
  63. package/lib/modules/components/leave-meeting/portal.js +29 -0
  64. package/lib/modules/components/leave-meeting/style.css +9 -0
  65. package/lib/modules/components/member-window/components/member-actions/components/more-actions.d.ts +5 -2
  66. package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +19 -9
  67. package/lib/modules/components/member-window/components/member-actions/components/share-status.js +4 -4
  68. package/lib/modules/components/member-window/components/member-actions/index.js +13 -6
  69. package/lib/modules/components/member-window/components/member-actions/provider.d.ts +1 -0
  70. package/lib/modules/components/member-window/components/member-actions/provider.js +4 -3
  71. package/lib/modules/components/member-window/components/member-actions/store.d.ts +2 -1
  72. package/lib/modules/components/member-window/components/member-actions/store.js +5 -1
  73. package/lib/modules/components/member-window/index.css +4 -0
  74. package/lib/modules/components/member-window/types.d.ts +6 -2
  75. package/lib/modules/components/toolbar/components/capture-tool/index.d.ts +9 -0
  76. package/lib/modules/components/toolbar/components/capture-tool/index.js +68 -0
  77. package/lib/modules/components/toolbar/components/clean-tool/index.d.ts +11 -0
  78. package/lib/modules/components/toolbar/components/clean-tool/index.js +71 -0
  79. package/lib/modules/components/toolbar/components/color-tool/color-panel/index.d.ts +11 -0
  80. package/lib/modules/components/toolbar/components/color-tool/color-panel/index.js +77 -0
  81. package/lib/modules/components/toolbar/components/color-tool/index.d.ts +14 -0
  82. package/lib/modules/components/toolbar/components/color-tool/index.js +66 -0
  83. package/lib/modules/components/toolbar/components/graphic-tool/graphic-panel/index.d.ts +11 -0
  84. package/lib/modules/components/toolbar/components/graphic-tool/graphic-panel/index.js +64 -0
  85. package/lib/modules/components/toolbar/components/graphic-tool/graphic-panel/libs.d.ts +12 -0
  86. package/lib/modules/components/toolbar/components/graphic-tool/graphic-panel/libs.js +65 -0
  87. package/lib/modules/components/toolbar/components/graphic-tool/index.d.ts +15 -0
  88. package/lib/modules/components/toolbar/components/graphic-tool/index.js +82 -0
  89. package/lib/modules/components/toolbar/components/group-tool/index.d.ts +5 -0
  90. package/lib/modules/components/toolbar/components/group-tool/index.js +43 -0
  91. package/lib/modules/components/toolbar/components/icons/fold-icon.d.ts +2 -0
  92. package/lib/modules/components/toolbar/components/icons/fold-icon.js +41 -0
  93. package/lib/modules/components/toolbar/components/icons/move-icon.d.ts +1 -0
  94. package/lib/modules/components/toolbar/components/icons/move-icon.js +66 -0
  95. package/lib/modules/components/toolbar/components/item/index.d.ts +25 -0
  96. package/lib/modules/components/toolbar/components/item/index.js +165 -0
  97. package/lib/modules/components/toolbar/components/item/style.css +94 -0
  98. package/lib/modules/components/toolbar/components/multiple-color-tool/index.d.ts +12 -0
  99. package/lib/modules/components/toolbar/components/multiple-color-tool/index.js +75 -0
  100. package/lib/modules/components/toolbar/components/panel/index.d.ts +9 -0
  101. package/lib/modules/components/toolbar/components/panel/index.js +28 -0
  102. package/lib/modules/components/toolbar/components/panel/style.css +86 -0
  103. package/lib/modules/components/toolbar/components/pen-tool/index.d.ts +13 -0
  104. package/lib/modules/components/toolbar/components/pen-tool/index.js +62 -0
  105. package/lib/modules/components/toolbar/components/pen-tool/pen-panel/index.d.ts +8 -0
  106. package/lib/modules/components/toolbar/components/pen-tool/pen-panel/index.js +39 -0
  107. package/lib/modules/components/toolbar/components/save-draft/index.d.ts +7 -0
  108. package/lib/modules/components/toolbar/components/save-draft/index.js +59 -0
  109. package/lib/modules/components/toolbar/components/vertical-frame/index.d.ts +8 -0
  110. package/lib/modules/components/toolbar/components/vertical-frame/index.js +179 -0
  111. package/lib/modules/components/toolbar/hooks/use-resize-visible.d.ts +4 -0
  112. package/lib/modules/components/toolbar/hooks/use-resize-visible.js +59 -0
  113. package/lib/modules/components/toolbar/index.d.ts +29 -0
  114. package/lib/modules/components/toolbar/index.js +258 -0
  115. package/lib/modules/components/toolbar/style.css +85 -0
  116. package/lib/modules/components/toolbar/types.d.ts +13 -0
  117. package/lib/modules/components/toolbar/types.js +6 -0
  118. package/lib/modules/control-bar/components/more-actions/index.js +0 -6
  119. package/lib/modules/control-bar/components/share-state-nav/index.js +3 -2
  120. package/lib/modules/control-bar/index.js +2 -1
  121. package/lib/modules/control-bar/store.d.ts +7 -6
  122. package/lib/modules/control-bar/store.js +28 -21
  123. package/lib/modules/control-bar/view.js +7 -55
  124. package/lib/modules/dialog/dialogs/control-bar/index.d.ts +1 -0
  125. package/lib/modules/dialog/dialogs/control-bar/index.js +17 -3
  126. package/lib/modules/dialog/dialogs/participant/components/title.js +1 -1
  127. package/lib/modules/dialog/dialogs/sub-window/index.d.ts +2 -0
  128. package/lib/modules/dialog/dialogs/sub-window/index.js +98 -0
  129. package/lib/modules/dialog/dialogs/video-window/index.d.ts +1 -0
  130. package/lib/modules/dialog/dialogs/video-window/index.js +3 -2
  131. package/lib/modules/dialog/dialogs/whiteboard/index.js +0 -1
  132. package/lib/modules/dialog/hooks/use-popover-watcher.js +1 -2
  133. package/lib/modules/dialog/hooks/useElectron.d.ts +13 -0
  134. package/lib/modules/dialog/hooks/useElectron.js +62 -12
  135. package/lib/modules/dialog/index.d.ts +6 -3
  136. package/lib/modules/dialog/index.js +5 -3
  137. package/lib/modules/dialog/store.d.ts +21 -8
  138. package/lib/modules/dialog/store.js +79 -11
  139. package/lib/modules/dialog/type.d.ts +8 -0
  140. package/lib/modules/event-confirm/index.css +5 -2
  141. package/lib/modules/event-confirm/store.js +6 -7
  142. package/lib/modules/event-confirm/view.js +1 -1
  143. package/lib/modules/event-sound/index.d.ts +1 -0
  144. package/lib/modules/event-sound/index.js +11 -24
  145. package/lib/modules/invite/components/pstn-invite.js +0 -1
  146. package/lib/modules/layout/components/CommonVideoRenderer.js +21 -21
  147. package/lib/modules/layout/components/who-is-speaking.js +3 -6
  148. package/lib/modules/layout/index.d.ts +3 -1
  149. package/lib/modules/layout/index.js +2 -1
  150. package/lib/modules/layout/store.d.ts +9 -59
  151. package/lib/modules/layout/store.js +162 -37
  152. package/lib/modules/layout/type.d.ts +55 -0
  153. package/lib/modules/participant/components/can-moveable/index.js +0 -1
  154. package/lib/modules/participant/components/participants/components/participants/components/attendee/index.js +4 -2
  155. package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.js +14 -2
  156. package/lib/modules/participant/components/participants/components/participants/components/user-row/index.d.ts +1 -1
  157. package/lib/modules/participant/components/participants/components/participants/components/user-row/index.js +3 -2
  158. package/lib/modules/participant/components/participants/components/participants/index.js +3 -2
  159. package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/move-actions-popover/index.d.ts +1 -0
  160. package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/move-actions-popover/index.js +3 -1
  161. package/lib/modules/participant/components/participants/components/render-user/components/user-action/index.js +4 -2
  162. package/lib/modules/participant/components/participants/components/render-user/index.d.ts +4 -2
  163. package/lib/modules/participant/components/participants/components/render-user/index.js +5 -3
  164. package/lib/modules/participant/components/participants/index.js +5 -2
  165. package/lib/modules/participant/components/participants/types.d.ts +3 -0
  166. package/lib/modules/participant/index.d.ts +2 -0
  167. package/lib/modules/participant/index.js +2 -1
  168. package/lib/modules/participant/store.d.ts +5 -1
  169. package/lib/modules/participant/store.js +8 -1
  170. package/lib/modules/secondary-window/index.d.ts +49 -0
  171. package/lib/modules/secondary-window/index.js +108 -0
  172. package/lib/modules/secondary-window/store.d.ts +76 -0
  173. package/lib/modules/secondary-window/store.js +407 -0
  174. package/lib/modules/secondary-window/type.d.ts +106 -0
  175. package/lib/modules/secondary-window/type.js +35 -0
  176. package/lib/modules/secondary-window/view.d.ts +6 -0
  177. package/lib/modules/secondary-window/view.js +257 -0
  178. package/lib/modules/setting/general-settings/general-settings.js +9 -0
  179. package/lib/modules/setting/state/index.js +0 -10
  180. package/lib/modules/setting/store.d.ts +1 -0
  181. package/lib/modules/setting/store.js +6 -3
  182. package/lib/modules/share-screen/components/control-bar/index.d.ts +14 -1
  183. package/lib/modules/share-screen/components/control-bar/index.js +17 -12
  184. package/lib/modules/share-screen/components/selection/index.js +10 -15
  185. package/lib/modules/share-screen/index.d.ts +4 -1
  186. package/lib/modules/share-screen/index.js +6 -3
  187. package/lib/modules/share-screen/store.d.ts +9 -9
  188. package/lib/modules/share-screen/store.js +39 -64
  189. package/lib/modules/state-bar/index.d.ts +2 -0
  190. package/lib/modules/state-bar/index.js +2 -1
  191. package/lib/modules/state-bar/live-streaming-state.js +0 -1
  192. package/lib/modules/state-bar/store.d.ts +5 -2
  193. package/lib/modules/state-bar/store.js +14 -7
  194. package/lib/modules/state-bar/view.js +3 -3
  195. package/lib/modules/video-window/components/members/index.js +7 -12
  196. package/lib/modules/video-window/store.d.ts +1 -0
  197. package/lib/modules/video-window/store.js +5 -0
  198. package/lib/modules/whiteboard/components/toolbar/store.d.ts +2 -2
  199. package/lib/modules/whiteboard/index.d.ts +10 -13
  200. package/lib/modules/whiteboard/index.js +12 -11
  201. package/lib/providers/ability-provider.js +2 -0
  202. package/lib/providers/device-provider.d.ts +6 -3
  203. package/lib/providers/device-provider.js +336 -333
  204. package/lib/providers/multi-display-provider.d.ts +85 -0
  205. package/lib/providers/multi-display-provider.js +581 -0
  206. package/lib/providers/privilege-provider.js +1 -7
  207. package/lib/providers/room-provider.js +7 -1
  208. package/lib/providers/screen-share-provider.d.ts +3 -1
  209. package/lib/providers/screen-share-provider.js +39 -40
  210. package/lib/providers/sharing-provider.d.ts +7 -1
  211. package/lib/providers/sharing-provider.js +32 -3
  212. package/lib/providers/whiteboard-provider.d.ts +24 -0
  213. package/lib/providers/whiteboard-provider.js +127 -0
  214. package/lib/runtime.d.ts +1 -0
  215. package/lib/scenes/main-scene.d.ts +6 -0
  216. package/lib/scenes/main-scene.js +38 -2
  217. package/lib/scenes/waiting-scene.d.ts +0 -2
  218. package/lib/scenes/waiting-scene.js +0 -6
  219. package/lib/shared-data-source/member-data.d.ts +2 -2
  220. package/lib/shared-data-source/screen-share-data.d.ts +6 -0
  221. package/lib/shared-data-source/screen-share-data.js +5 -0
  222. package/lib/shared-data-source/setting.js +2 -1
  223. package/lib/shared-data-source/video-window.d.ts +2 -0
  224. package/lib/shared-data-source/video-window.js +19 -6
  225. package/lib/shared-data-source/whiteboard-data.d.ts +68 -0
  226. package/lib/shared-data-source/whiteboard-data.js +347 -0
  227. package/lib/translations/enUS.d.ts +1 -0
  228. package/lib/translations/enUS.js +2 -1
  229. package/lib/translations/zhCN.d.ts +1 -0
  230. package/lib/translations/zhCN.js +2 -1
  231. package/lib/ui-scene.d.ts +0 -1
  232. package/lib/ui-scene.js +0 -3
  233. package/lib/utilities/constant.d.ts +4 -2
  234. package/lib/utilities/constant.js +3 -1
  235. package/lib/utilities/debug.d.ts +4 -0
  236. package/lib/utilities/debug.js +40 -0
  237. package/lib/utilities/dialog-utils.js +26 -4
  238. package/lib/utilities/meeting-detail.js +4 -1
  239. package/lib/utilities/renderer-event.d.ts +4 -6
  240. package/lib/utilities/renderer-event.js +23 -43
  241. package/lib/utilities/renderer.d.ts +1 -1
  242. package/lib/utilities/renderer.js +44 -10
  243. package/lib/utilities/shared-storage.d.ts +18 -0
  244. package/lib/utilities/shared-storage.js +63 -0
  245. package/lib/utilities/tools.js +2 -1
  246. package/package.json +5 -6
  247. package/lib/electron/tools.d.ts +0 -5
  248. package/lib/electron/tools.js +0 -62
@@ -132,6 +132,11 @@ var _appListData = require("../shared-data-source/app-list-data");
132
132
  var _confirmLeaveMeeting = require("../modules/dialog/dialogs/confirm-leave-meeting");
133
133
  var _endMeeting = require("../modules/dialog/dialogs/end-meeting");
134
134
  var _annotationData = require("../shared-data-source/annotation-data");
135
+ var _subWindow = require("../modules/dialog/dialogs/sub-window");
136
+ var _secondaryWindow = require("../modules/secondary-window");
137
+ var _multiDisplayProvider = require("../providers/multi-display-provider");
138
+ var _whiteboardData = require("../shared-data-source/whiteboard-data");
139
+ var _whiteboardProvider = require("../providers/whiteboard-provider");
135
140
  var _jsxRuntime = require("react/jsx-runtime");
136
141
  var _FcrMainUIScene;
137
142
  var _initProto; // import DeviceSettingDialog from '../modules/dialog/dialogs/device-setting';
@@ -198,7 +203,7 @@ var FcrMainUIScene = exports.FcrMainUIScene = /*#__PURE__*/function (_FcrBaseUIS
198
203
  var waitingRoomControlProvider = new _roomProvider.FcrUIWaitingRoomControlProviderImpl(roomProvider, eventProvider);
199
204
  var monitorProvider = new _monitorProvider.FcrUIMonitorProviderImpl(engine.getMonitorControl());
200
205
  var chatProvider = new _chatProvider.FcrUIChatProviderImpl(currentRoomControlProvider.currentRoomControl, roomProvider);
201
- var sharingProvider = new _sharingProvider.FcrUISharingProviderImpl(sharingControl, sharedScreenShareSharedDataSource);
206
+ var sharedWhiteboardDataSource = new _whiteboardData.FcrUISharedWhiteboardDataSourceImpl(sharingControl.getBoardControl(), privilegeProvider);
202
207
  var sharedWaitingRoomDataSource = new _waitingRoom.FcrUISharedWaitingRoomDataSourceImpl(roomProvider, eventProvider);
203
208
  var phoneAudioConnectorProvider = new _phoneAudioProvider.FcrUIPhoneAudioConnectorProviderImpl({
204
209
  roomControl: mainRoomControl,
@@ -210,13 +215,23 @@ var FcrMainUIScene = exports.FcrMainUIScene = /*#__PURE__*/function (_FcrBaseUIS
210
215
  mainRoomControl: mainRoomControl
211
216
  });
212
217
  var sharedMemberDataSource = new _memberData.FcrUIMemberSharedDataSourceImpl(userControl, streamControl, sharedScreenShareSharedDataSource, eventProvider, mainRoomControl.getSharingControl().getBoardControl());
213
- var screenShareProvider = new _screenShareProvider.FcrUIScreenShareProviderImpl(deviceProvider, eventProvider, roomProvider, sharingProvider, sharedScreenShareSharedDataSource, sharedMemberDataSource);
218
+ var whiteboardProvider = new _whiteboardProvider.FcrUIWhiteboardProviderImpl(sharingControl.getBoardControl(), sharedWhiteboardDataSource, userControl);
219
+ var sharingProvider = new _sharingProvider.FcrUISharingProviderImpl(sharingControl, sharedScreenShareSharedDataSource, sharedWhiteboardDataSource, whiteboardProvider, userControl);
220
+ var screenShareProvider = new _screenShareProvider.FcrUIScreenShareProviderImpl(deviceProvider, eventProvider, roomProvider, sharingProvider, sharedScreenShareSharedDataSource, sharedMemberDataSource, privilegeProvider);
214
221
  var annotationProvider = new _annotationProvider.FcrUIAnnotationProviderImpl(dialogProvider, sharedVideoWindowDataSource, privilegeProvider, sharedScreenShareSharedDataSource);
215
222
  var sharedSecurityDataSource = new _securityData.FcrUISecuritySharedDataSourceImpl(privilegeProvider, sharedMemberDataSource);
216
223
  var sharedApplistDataSource = new _appListData.FcrUISharedApplistSourceImpl(abilityProvider, privilegeProvider, roomProvider, widgetProvider, sharedMemberDataSource, sharedInterpreterDataSource);
217
224
  var sharedAnnotationDataSource = new _annotationData.FcrUISharedAnnotationSourceImpl();
218
225
  var applistProvider = new _appListProvider.FcrUIApplistProviderImpl(dialogProvider, eventProvider, widgetProvider, sharedApplistDataSource);
219
226
  var localVideoRenderProvider = new _rendererProvider.FcrUILocalVideoRenderProviderImpl(deviceProvider, sharedScreenShareSharedDataSource);
227
+ var multiDisplayProvider = new _multiDisplayProvider.FcrUIMultiDisplayProviderImpl({
228
+ eventProvider: eventProvider,
229
+ sharedSettingDataSource: sharedSettingDataSource,
230
+ sharedMemberDataSource: sharedMemberDataSource,
231
+ sharedVideoWindowDataSource: sharedVideoWindowDataSource,
232
+ sharingProvider: sharingProvider,
233
+ sharedScreenShareSharedDataSource: sharedScreenShareSharedDataSource
234
+ });
220
235
  _this.messageProvider = messageProvider;
221
236
  _this.dialogProvider = dialogProvider;
222
237
  _this.eventProvider = eventProvider;
@@ -243,6 +258,8 @@ var FcrMainUIScene = exports.FcrMainUIScene = /*#__PURE__*/function (_FcrBaseUIS
243
258
  _this.applistProvider = applistProvider;
244
259
  _this.widgetProvider = widgetProvider;
245
260
  _this.abilityProvider = abilityProvider;
261
+ _this.multiDisplayProvider = multiDisplayProvider;
262
+ _this.whiteboardProvider = whiteboardProvider;
246
263
  _this.sharedSpeakerSpotlightDataSource = sharedSpeakerSpotlightDataSource;
247
264
  _this.sharedPinDataSource = sharedPinDataSource;
248
265
  _this.sharedConfigDataSource = sharedConfigDataSource;
@@ -260,6 +277,7 @@ var FcrMainUIScene = exports.FcrMainUIScene = /*#__PURE__*/function (_FcrBaseUIS
260
277
  _this.sharedApplistDataSource = sharedApplistDataSource;
261
278
  _this.sharedConfirmDataSource = sharedConfirmDataSource;
262
279
  _this.sharedAnnotationDataSource = sharedAnnotationDataSource;
280
+ _this.sharedWhiteboardDataSource = sharedWhiteboardDataSource;
263
281
  _this._addObservers();
264
282
  return _this;
265
283
  }
@@ -355,6 +373,7 @@ var FcrMainUIScene = exports.FcrMainUIScene = /*#__PURE__*/function (_FcrBaseUIS
355
373
  var phoneAudioConnection = new _phoneAudioConnect.PhoneAudioConnectionUIModule(this, this);
356
374
  var webWidgetUIModule = new _widget2.WebWidgetUIModule(this, this);
357
375
  var annotationUIModule = new _annotation.AnnotationUIModule(this, this);
376
+ var displayDistributionModule = new _secondaryWindow.FcrUISecondaryWindowModule(this, this);
358
377
  this.addSubNode(chatModule);
359
378
  this.addSubNode(audioStreamUIModule);
360
379
  this.addSubNode(soundEffectUIModule);
@@ -378,6 +397,7 @@ var FcrMainUIScene = exports.FcrMainUIScene = /*#__PURE__*/function (_FcrBaseUIS
378
397
  this.addSubNode(phoneAudioConnection);
379
398
  this.addSubNode(webWidgetUIModule);
380
399
  this.addSubNode(annotationUIModule);
400
+ this.addSubNode(displayDistributionModule);
381
401
  var getView = function getView() {
382
402
  dialogModule.addDialogs([
383
403
  // {
@@ -532,6 +552,13 @@ var FcrMainUIScene = exports.FcrMainUIScene = /*#__PURE__*/function (_FcrBaseUIS
532
552
  params: props.params
533
553
  }, "EndMeetingDialog");
534
554
  }
555
+ }, {
556
+ key: _constant.FcrUIDialogKey.SUB_WINDOW,
557
+ component: function component() {
558
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_subWindow.SubWindowDialog, {
559
+ children: displayDistributionModule.component(shareScreenModule)
560
+ }, "SubWindowDialog");
561
+ }
535
562
  }]);
536
563
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_videoTrackRenderContext.FcrVideoTrackRenderContext.Provider, {
537
564
  value: {
@@ -561,11 +588,18 @@ var FcrMainUIScene = exports.FcrMainUIScene = /*#__PURE__*/function (_FcrBaseUIS
561
588
  });
562
589
  };
563
590
  _reactDom["default"].render(getView(), dom);
591
+
592
+ // for debug use only
593
+ // @ts-ignore
594
+ window._mainScene = this;
564
595
  }
565
596
  }, {
566
597
  key: "unmount",
567
598
  value: function unmount(dom) {
568
599
  _reactDom["default"].unmountComponentAtNode(dom);
600
+
601
+ // @ts-ignore
602
+ window._mainScene = null;
569
603
  }
570
604
  }, {
571
605
  key: "onNodeWillActive",
@@ -581,12 +615,14 @@ var FcrMainUIScene = exports.FcrMainUIScene = /*#__PURE__*/function (_FcrBaseUIS
581
615
  this.devicePrivilegeProvider.release();
582
616
  this.privilegeProvider.release();
583
617
  this.deviceStreamProvider.release();
618
+ this.multiDisplayProvider.release();
584
619
  this.sharedInterpreterDataSource.release();
585
620
  this.sharedMemberDataSource.release();
586
621
  this.sharedMeetingTimeDataSource.release(); // 修复:添加对会议时间数据源的释放
587
622
  this.sharedWaitingRoomDataSource.release(); // 修复:添加对等候室数据源的释放
588
623
  this.sharedSecuritySharedDataSource.release(); // 修复:添加对安全数据源的释放
589
624
  this.sharedVideoWindowDataSource.release(); // 修复:添加对视频窗口数据源的释放
625
+ this.sharedWhiteboardDataSource.release();
590
626
  }
591
627
  }, {
592
628
  key: "_setIsWaitingRoomNotify",
@@ -22,7 +22,6 @@ import { FcrUIMemberSharedDataSource } from '../shared-data-source/member-data';
22
22
  import { FcrUIWidgetProvider } from '../providers/widget-provider';
23
23
  import { FcrUISharedWaitingRoomDataSource } from '../shared-data-source/waiting-room';
24
24
  import { FcrUIAbilityProviderImpl } from '../providers/ability-provider';
25
- import { FcrUIScreenShareProviderImpl } from '../providers/screen-share-provider';
26
25
  import { FcrUIScreenShareSharedDataSource } from '../shared-data-source/screen-share-data';
27
26
  import { FcrUISharedConfirmDataSource } from '../shared-data-source/confirm-data';
28
27
  import { FcrUIApplistProvider } from '../providers/app-list-provider';
@@ -62,7 +61,6 @@ export declare class FcrWaitingUIScene extends FcrBaseUIScene {
62
61
  monitorProvider: FcrUIMonitorProviderImpl;
63
62
  deviceStreamProvider: FcrUIDeviceStreamProviderImpl;
64
63
  widgetProvider: FcrUIWidgetProvider;
65
- screenShareProvider: FcrUIScreenShareProviderImpl;
66
64
  applistProvider: FcrUIApplistProvider;
67
65
  sharedConfigDataSource: FcrUISharedConfigDataSource;
68
66
  messageProvider: FcrUIMessageProvider;
@@ -42,8 +42,6 @@ var _eventConfirm = require("../modules/event-confirm");
42
42
  var _memberData = require("../shared-data-source/member-data");
43
43
  var _waitingRoom = require("../shared-data-source/waiting-room");
44
44
  var _abilityProvider = require("../providers/ability-provider");
45
- var _screenShareProvider = require("../providers/screen-share-provider");
46
- var _sharingProvider = require("../providers/sharing-provider");
47
45
  var _appListProvider = require("../providers/app-list-provider");
48
46
  var _appListData = require("../shared-data-source/app-list-data");
49
47
  var _endMeeting = require("../modules/dialog/dialogs/end-meeting");
@@ -97,11 +95,8 @@ var FcrWaitingUIScene = exports.FcrWaitingUIScene = /*#__PURE__*/function (_FcrB
97
95
  var monitorProvider = new _monitorProvider.FcrUIMonitorProviderImpl(engine.getMonitorControl());
98
96
  var deviceStreamProvider = new _deviceStreamProvider.FcrUIDeviceStreamProviderImpl(waitingRoomControl, deviceProvider, messageProvider, dialogProvider, devicePrivilegeProvider, sharedDevicePrivilegeDataSource);
99
97
  var sharedChatDataSource = new _chatData.FcrUISharedChatDataSourceImpl(chatProvider);
100
- var sharingControl = waitingRoomControl.getSharingControl();
101
- var sharingProvider = new _sharingProvider.FcrUISharingProviderImpl(sharingControl, sharedScreenShareSharedDataSource);
102
98
  var sharedInterpreterDataSource = new _interpreter.FcrUISharedInterpreterDataSourceImpl();
103
99
  var sharedMemberDataSource = new _memberData.FcrUIMemberSharedDataSourceImpl(userControl, streamControl, sharedScreenShareSharedDataSource, eventProvider);
104
- var screenShareProvider = new _screenShareProvider.FcrUIScreenShareProviderImpl(deviceProvider, eventProvider, roomProvider, sharingProvider, sharedScreenShareSharedDataSource, sharedMemberDataSource);
105
100
  var privilegeProvider = waitingRoomControlProvider.privilegeProvider;
106
101
  var sharedApplistDataSource = new _appListData.FcrUISharedApplistSourceImpl(abilityProvider, privilegeProvider, roomProvider, widgetProvider, sharedMemberDataSource);
107
102
  var applistProvider = new _appListProvider.FcrUIApplistProviderImpl(dialogProvider, eventProvider, widgetProvider, sharedApplistDataSource);
@@ -133,7 +128,6 @@ var FcrWaitingUIScene = exports.FcrWaitingUIScene = /*#__PURE__*/function (_FcrB
133
128
  _this.deviceStreamProvider = deviceStreamProvider;
134
129
  _this.sharedMemberDataSource = sharedMemberDataSource;
135
130
  _this.sharedScreenShareSharedDataSource = sharedScreenShareSharedDataSource;
136
- _this.screenShareProvider = screenShareProvider;
137
131
  _this.widgetProvider = widgetProvider;
138
132
  _this.sharedWaitingRoomDataSource = sharedWaitingRoomDataSource;
139
133
  _this.abilityProvider = abilityProvider;
@@ -4,7 +4,7 @@ import { FcrUserControl } from 'fcr-core/lib/room-control/user-control/type';
4
4
  import { FcrRemoteVideoStats } from 'fcr-core/lib/room-control/stream-control/type';
5
5
  import { FcrLanguage } from 'fcr-core/lib/room-control/interpreter-control/types';
6
6
  import { FcrUserInfo } from 'fcr-core/lib/type';
7
- import { FcrWhiteboardControl } from 'fcr-core/lib/room-control/whiteboard-control-v2/whiteboard-control/type';
7
+ import { FcrPrivilegedWhiteboardControl } from 'fcr-core/lib/room-control/whiteboard-control-v2/whiteboard-control/type';
8
8
  import { FcrUIScreenShareSharedDataSource } from './screen-share-data';
9
9
  import { FcrUIEventProvider } from '../providers/event-provider';
10
10
  export interface FcrUIMemberSharedDataSource {
@@ -116,7 +116,7 @@ export declare class FcrUIMemberSharedDataSourceImpl implements FcrUIMemberShare
116
116
  get remoteMembersUserInfosList(): FcrUserInfo[];
117
117
  get memberList(): FcrUIMemberDataImpl[];
118
118
  get memberUserInfoList(): FcrUserInfo[];
119
- constructor(_mainRoomUserControl: FcrUserControl, _streamControl: FcrStreamControl, _sharedScreenShareSharedDataSource: FcrUIScreenShareSharedDataSource, _eventProvider: FcrUIEventProvider, _whiteBoardControl?: FcrWhiteboardControl | undefined);
119
+ constructor(_mainRoomUserControl: FcrUserControl, _streamControl: FcrStreamControl, _sharedScreenShareSharedDataSource: FcrUIScreenShareSharedDataSource, _eventProvider: FcrUIEventProvider, _whiteBoardControl?: FcrPrivilegedWhiteboardControl | undefined);
120
120
  private _addEventListeners;
121
121
  private _removeEventListeners;
122
122
  private _handleOnEvent;
@@ -173,6 +173,11 @@ export interface FcrUIScreenShareSharedDataSource {
173
173
  * @returns boolean
174
174
  */
175
175
  get sharingInReplace(): boolean;
176
+ /**
177
+ * 获取当前engine是否是连接状态
178
+ * @returns boolean
179
+ */
180
+ get isEngineConnected(): boolean;
176
181
  /**
177
182
  * 设置当前是否在屏幕共享替换中状态
178
183
  */
@@ -326,6 +331,7 @@ export declare class FcrUIScreenShareSharedDataSourceImpl implements FcrUIScreen
326
331
  get isZoomMinimum(): boolean;
327
332
  get isFullScreenAdaptived(): boolean;
328
333
  get isCurrentOriginal(): boolean;
334
+ get isEngineConnected(): boolean;
329
335
  constructor(_connectionProvider: FcrUIConnectionProvider, _deviceProvider: FcrUIDeviceProvider);
330
336
  setScreenShareScenarioType(type: FcrScreenScenarioType): void;
331
337
  setScreenShareSpeakerViewSize(width: number, height: number): void;
@@ -334,6 +334,11 @@ var FcrUIScreenShareSharedDataSourceImpl = exports.FcrUIScreenShareSharedDataSou
334
334
  get: function get() {
335
335
  return this.screenShareScalcValue === 1;
336
336
  }
337
+ }, {
338
+ key: "isEngineConnected",
339
+ get: function get() {
340
+ return this.connectionState === _fcrCore.FcrConnectionState.CONNECTED;
341
+ }
337
342
  }, {
338
343
  key: "setScreenShareScenarioType",
339
344
  value: function setScreenShareScenarioType(type) {
@@ -112,7 +112,8 @@ var FcrUISharedSettingDataSourceImpl = exports.FcrUISharedSettingDataSourceImpl
112
112
  spotlightEnabled: true,
113
113
  isPlaySound: true,
114
114
  language: 'zh',
115
- shouldHideMyVideo: false
115
+ shouldHideMyVideo: false,
116
+ isDualDisplayMode: false
116
117
  }
117
118
  }));
118
119
  (0, _defineProperty2["default"])(this, "_useDefaultAudioEchoCancellation", true);
@@ -55,6 +55,7 @@ export declare class FcrUIVideoWindowDataImpl implements FcrUIVideoWindowData {
55
55
  get hasLoopbackAudioStream(): boolean;
56
56
  get phoneMicEnabled(): boolean;
57
57
  get hasVideoStream(): boolean;
58
+ get hasBoard(): boolean;
58
59
  get userId(): string;
59
60
  get userName(): string;
60
61
  get ownerRoleType(): FcrUserRole;
@@ -82,6 +83,7 @@ export declare class FcrUIVideoWindowDataImpl implements FcrUIVideoWindowData {
82
83
  setHasScreenSharing(screenSharing: boolean): void;
83
84
  setHasLoopbackSharing(hasLoopbackSharing: boolean): void;
84
85
  setBoardCanEdit(canEdit: boolean): void;
86
+ getVideoStream(): FcrStreamUIData | undefined;
85
87
  }
86
88
  export interface FcrUIVideoWindowDataSourceObserver {
87
89
  onLayoutUpdated?: (layout: FcrUIVideoWindowLayoutType) => void;
@@ -81,7 +81,7 @@ var _type2 = require("fcr-core/lib/type");
81
81
  var _fcrCore = require("fcr-core");
82
82
  var _base = require("../base");
83
83
  var _FcrUIVideoWindowDataImpl, _FcrUIVideoWindowDataSourceImpl;
84
- var _initProto, _init__boardUserInfo, _init__videoStream, _init__audioStream, _init__spotlightEnabled, _init__isSpeakerSpotlight, _init__boardCanEdit, _init__isFirstCameraOpen, _init_isPin, _init_hasScreenSharing, _init_hasBoardSharing, _init_hasLoopbackSharing, _setVideoStreamDecs, _setVideoStreamOwnerInfoDecs, _setAudioStreamDecs, _setAudioStreamOwnerInfoDecs, _setPinDecs, _setSpotlightEnabledDecs, _setHasBoardSharingDecs, _setBoardUserInfoDecs, _setSpeakerSpotlightDecs, _setHasScreenSharingDecs, _setHasLoopbackSharingDecs, _setBoardCanEditDecs, _ref, _initProto2, _init_spotlightEnabled, _init_layoutType, _init_manualLayout, _init_pinLimitedCount, _init_mainListLimitedCount, _init_foldListLimitedCount, _init_mainList, _init_foldList, _init_spotlightStreamId, _setSpotlightEnabledDecs2, _setLayoutDecs, _onSpotlightRemovedDecs, _resetListDecs, _addBoardDecs, _updateBoardDecs, _removeBoardDecs, _mergePstnStreamOrInsertNewDataDecs, _addDecs, _updateDecs, _deleteDecs, _addPinDecs, _updateSpeakerSpotlightPositionDecs, _removePinDecs, _setSpeakerSpotlightDecs2, _toggleMainStreamDecs, _insertBeginningByPriorityDecs, _insertEndByPriorityDecs, _findInsertBeginningIndexDecs, _findInsertEndIndexDecs, _insertBoardDecs, _insertNewDataDecs, _ref5;
84
+ var _initProto, _init__boardUserInfo, _init__videoStream, _init__audioStream, _init__spotlightEnabled, _init__isSpeakerSpotlight, _init__boardCanEdit, _init__isFirstCameraOpen, _init_isPin, _init_hasScreenSharing, _init_hasBoardSharing, _init_hasLoopbackSharing, _setVideoStreamDecs, _setVideoStreamOwnerInfoDecs, _setAudioStreamDecs, _setAudioStreamOwnerInfoDecs, _setPinDecs, _setSpotlightEnabledDecs, _setHasBoardSharingDecs, _setBoardUserInfoDecs, _setSpeakerSpotlightDecs, _setHasScreenSharingDecs, _setHasLoopbackSharingDecs, _setBoardCanEditDecs, _getVideoStreamDecs, _ref, _initProto2, _init_spotlightEnabled, _init_layoutType, _init_manualLayout, _init_pinLimitedCount, _init_mainListLimitedCount, _init_foldListLimitedCount, _init_mainList, _init_foldList, _init_spotlightStreamId, _setSpotlightEnabledDecs2, _setLayoutDecs, _onSpotlightRemovedDecs, _resetListDecs, _addBoardDecs, _updateBoardDecs, _removeBoardDecs, _mergePstnStreamOrInsertNewDataDecs, _addDecs, _updateDecs, _deleteDecs, _addPinDecs, _updateSpeakerSpotlightPositionDecs, _removePinDecs, _setSpeakerSpotlightDecs2, _toggleMainStreamDecs, _insertBeginningByPriorityDecs, _insertEndByPriorityDecs, _findInsertBeginningIndexDecs, _findInsertEndIndexDecs, _insertBoardDecs, _insertNewDataDecs, _ref5;
85
85
  function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
86
86
  function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
87
87
  function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
@@ -106,7 +106,7 @@ var _H = /*#__PURE__*/new WeakMap();
106
106
  var _I = /*#__PURE__*/new WeakMap();
107
107
  var _J = /*#__PURE__*/new WeakMap();
108
108
  var _K = /*#__PURE__*/new WeakMap();
109
- _ref = (_setVideoStreamDecs = [_mobx.action, _mobx.action.bound], _setVideoStreamOwnerInfoDecs = [_mobx.action, _mobx.action.bound], _setAudioStreamDecs = [_mobx.action, _mobx.action.bound], _setAudioStreamOwnerInfoDecs = [_mobx.action, _mobx.action.bound], _setPinDecs = [_mobx.action, _mobx.action.bound], _setSpotlightEnabledDecs = [_mobx.action, _mobx.action.bound], _setHasBoardSharingDecs = [_mobx.action, _mobx.action.bound], _setBoardUserInfoDecs = [_mobx.action, _mobx.action.bound], _setSpeakerSpotlightDecs = [_mobx.action, _mobx.action.bound], _setHasScreenSharingDecs = [_mobx.action, _mobx.action.bound], _setHasLoopbackSharingDecs = [_mobx.action, _mobx.action.bound], _setBoardCanEditDecs = [_mobx.action, _mobx.action.bound], "_boardUserInfo");
109
+ _ref = (_setVideoStreamDecs = [_mobx.action, _mobx.action.bound], _setVideoStreamOwnerInfoDecs = [_mobx.action, _mobx.action.bound], _setAudioStreamDecs = [_mobx.action, _mobx.action.bound], _setAudioStreamOwnerInfoDecs = [_mobx.action, _mobx.action.bound], _setPinDecs = [_mobx.action, _mobx.action.bound], _setSpotlightEnabledDecs = [_mobx.action, _mobx.action.bound], _setHasBoardSharingDecs = [_mobx.action, _mobx.action.bound], _setBoardUserInfoDecs = [_mobx.action, _mobx.action.bound], _setSpeakerSpotlightDecs = [_mobx.action, _mobx.action.bound], _setHasScreenSharingDecs = [_mobx.action, _mobx.action.bound], _setHasLoopbackSharingDecs = [_mobx.action, _mobx.action.bound], _setBoardCanEditDecs = [_mobx.action, _mobx.action.bound], _getVideoStreamDecs = [_mobx.action, _mobx.action.bound], "_boardUserInfo");
110
110
  var FcrUIVideoWindowDataImpl = exports.FcrUIVideoWindowDataImpl = /*#__PURE__*/function () {
111
111
  function FcrUIVideoWindowDataImpl(type, _ref2, _placement, _isMySelf) {
112
112
  var videoStream = _ref2.videoStream,
@@ -318,6 +318,11 @@ var FcrUIVideoWindowDataImpl = exports.FcrUIVideoWindowDataImpl = /*#__PURE__*/f
318
318
  var _this$_videoStream4, _this$_videoStream5, _this$_videoStream6;
319
319
  return ((_this$_videoStream4 = this._videoStream) === null || _this$_videoStream4 === void 0 ? void 0 : _this$_videoStream4.videoSourceState) === _fcrCore.FcrMediaSourceState.OPEN && (((_this$_videoStream5 = this._videoStream) === null || _this$_videoStream5 === void 0 ? void 0 : _this$_videoStream5.streamType) === _fcrCore.FcrStreamType.BOTH || ((_this$_videoStream6 = this._videoStream) === null || _this$_videoStream6 === void 0 ? void 0 : _this$_videoStream6.streamType) === _fcrCore.FcrStreamType.VIDEO);
320
320
  }
321
+ }, {
322
+ key: "hasBoard",
323
+ get: function get() {
324
+ return this.type === _type.FcrUIWindowType.BOARD;
325
+ }
321
326
  }, {
322
327
  key: "userId",
323
328
  get: function get() {
@@ -511,10 +516,15 @@ var FcrUIVideoWindowDataImpl = exports.FcrUIVideoWindowDataImpl = /*#__PURE__*/f
511
516
  value: function setBoardCanEdit(canEdit) {
512
517
  this._boardCanEdit = canEdit;
513
518
  }
519
+ }, {
520
+ key: "getVideoStream",
521
+ value: function getVideoStream() {
522
+ return this._videoStream;
523
+ }
514
524
  }]);
515
525
  }();
516
526
  _FcrUIVideoWindowDataImpl = FcrUIVideoWindowDataImpl;
517
- var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_FcrUIVideoWindowDataImpl, [[_mobx.observable, 1, "_boardUserInfo"], [_mobx.observable, 1, "_videoStream"], [_mobx.observable, 1, "_audioStream"], [_mobx.observable, 1, "_spotlightEnabled"], [_mobx.observable, 1, "_isSpeakerSpotlight"], [_mobx.observable, 1, "_boardCanEdit"], [_mobx.observable, 1, "_isFirstCameraOpen"], [_mobx.observable, 1, "isPin"], [_mobx.observable, 1, "hasScreenSharing"], [_mobx.observable, 1, "hasBoardSharing"], [_mobx.observable, 1, "hasLoopbackSharing"], [_mobx.computed, 3, "isSpeakerSpotlight"], [_mobx.computed, 3, "windowId"], [_mobx.computed, 3, "videoStreamId"], [_mobx.computed, 3, "audioStreamId"], [_mobx.computed, 3, "audioStreamConnectorType"], [_mobx.computed, 3, "videoStreamConnectorType"], [_mobx.computed, 3, "hasMicrophoneAudioStream"], [_mobx.computed, 3, "hasLoopbackAudioStream"], [_mobx.computed, 3, "phoneMicEnabled"], [_mobx.computed, 3, "hasVideoStream"], [_mobx.computed, 3, "userId"], [_mobx.computed, 3, "ownerRoleType"], [_mobx.computed, 3, "videoSourceType"], [_mobx.computed, 3, "audioSourceType"], [_mobx.computed, 3, "avatar"], [_mobx.computed, 3, "sortingPriority"], [_setVideoStreamDecs, 18, "setVideoStream"], [_setVideoStreamOwnerInfoDecs, 18, "setVideoStreamOwnerInfo"], [_setAudioStreamDecs, 18, "setAudioStream"], [_setAudioStreamOwnerInfoDecs, 18, "setAudioStreamOwnerInfo"], [_setPinDecs, 18, "setPin"], [_setSpotlightEnabledDecs, 18, "setSpotlightEnabled"], [_setHasBoardSharingDecs, 18, "setHasBoardSharing"], [_setBoardUserInfoDecs, 18, "setBoardUserInfo"], [_setSpeakerSpotlightDecs, 18, "setSpeakerSpotlight"], [_setHasScreenSharingDecs, 18, "setHasScreenSharing"], [_setHasLoopbackSharingDecs, 18, "setHasLoopbackSharing"], [_setBoardCanEditDecs, 18, "setBoardCanEdit"]], []).e, 12);
527
+ var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_FcrUIVideoWindowDataImpl, [[_mobx.observable, 1, "_boardUserInfo"], [_mobx.observable, 1, "_videoStream"], [_mobx.observable, 1, "_audioStream"], [_mobx.observable, 1, "_spotlightEnabled"], [_mobx.observable, 1, "_isSpeakerSpotlight"], [_mobx.observable, 1, "_boardCanEdit"], [_mobx.observable, 1, "_isFirstCameraOpen"], [_mobx.observable, 1, "isPin"], [_mobx.observable, 1, "hasScreenSharing"], [_mobx.observable, 1, "hasBoardSharing"], [_mobx.observable, 1, "hasLoopbackSharing"], [_mobx.computed, 3, "isSpeakerSpotlight"], [_mobx.computed, 3, "windowId"], [_mobx.computed, 3, "videoStreamId"], [_mobx.computed, 3, "audioStreamId"], [_mobx.computed, 3, "audioStreamConnectorType"], [_mobx.computed, 3, "videoStreamConnectorType"], [_mobx.computed, 3, "hasMicrophoneAudioStream"], [_mobx.computed, 3, "hasLoopbackAudioStream"], [_mobx.computed, 3, "phoneMicEnabled"], [_mobx.computed, 3, "hasVideoStream"], [_mobx.computed, 3, "hasBoard"], [_mobx.computed, 3, "userId"], [_mobx.computed, 3, "ownerRoleType"], [_mobx.computed, 3, "videoSourceType"], [_mobx.computed, 3, "audioSourceType"], [_mobx.computed, 3, "avatar"], [_mobx.computed, 3, "sortingPriority"], [_setVideoStreamDecs, 18, "setVideoStream"], [_setVideoStreamOwnerInfoDecs, 18, "setVideoStreamOwnerInfo"], [_setAudioStreamDecs, 18, "setAudioStream"], [_setAudioStreamOwnerInfoDecs, 18, "setAudioStreamOwnerInfo"], [_setPinDecs, 18, "setPin"], [_setSpotlightEnabledDecs, 18, "setSpotlightEnabled"], [_setHasBoardSharingDecs, 18, "setHasBoardSharing"], [_setBoardUserInfoDecs, 18, "setBoardUserInfo"], [_setSpeakerSpotlightDecs, 18, "setSpeakerSpotlight"], [_setHasScreenSharingDecs, 18, "setHasScreenSharing"], [_setHasLoopbackSharingDecs, 18, "setHasLoopbackSharing"], [_setBoardCanEditDecs, 18, "setBoardCanEdit"], [_getVideoStreamDecs, 18, "getVideoStream"]], []).e, 12);
518
528
  _init__boardUserInfo = _applyDecs$e[0];
519
529
  _init__videoStream = _applyDecs$e[1];
520
530
  _init__audioStream = _applyDecs$e[2];
@@ -552,6 +562,7 @@ var FcrUIVideoWindowDataSourceImpl = exports.FcrUIVideoWindowDataSourceImpl = /*
552
562
  _classPrivateFieldInitSpec(this, _H2, _init_foldList(this, []));
553
563
  _classPrivateFieldInitSpec(this, _I2, _init_spotlightStreamId(this, ''));
554
564
  this._sharedSettingDataSource = _sharedSettingDataSource;
565
+ this.spotlightEnabled = _sharedSettingDataSource.setting.spotlightEnabled;
555
566
  this._spotlightPool.addObserver({
556
567
  onRemoved: this.onSpotlightRemoved
557
568
  });
@@ -666,7 +677,11 @@ var FcrUIVideoWindowDataSourceImpl = exports.FcrUIVideoWindowDataSourceImpl = /*
666
677
  }
667
678
  return true;
668
679
  });
669
- if (this.layoutType === _type.FcrUIVideoWindowLayoutType.Gallery && layout === _type.FcrUIVideoWindowLayoutType.Speaker && windowList.length < 2 || this.layoutType === layout) {
680
+ // 有白板共享时,即使隐藏了未开启视频的参数者,数量总是大于等于2,不应提前return,setLayout失效
681
+ var boardInShow = this.mainList.some(function (item) {
682
+ return item.hasBoard;
683
+ });
684
+ if (this.layoutType === _type.FcrUIVideoWindowLayoutType.Gallery && layout === _type.FcrUIVideoWindowLayoutType.Speaker && windowList.length < 2 && !boardInShow || this.layoutType === layout) {
670
685
  return;
671
686
  }
672
687
  this.layoutType = layout;
@@ -788,7 +803,6 @@ var FcrUIVideoWindowDataSourceImpl = exports.FcrUIVideoWindowDataSourceImpl = /*
788
803
  key: "update",
789
804
  value: function update(param) {
790
805
  var _this5 = this;
791
- console.log('onStreamsAdded update', param);
792
806
  var handleStreamInfoUpdated = function handleStreamInfoUpdated(stream, list, limitCount, placement) {
793
807
  var existedUserStream = list[_this5._findItemIndexWithWindowId(stream.streamId, list)];
794
808
  if (existedUserStream) {
@@ -1149,7 +1163,6 @@ var FcrUIVideoWindowDataSourceImpl = exports.FcrUIVideoWindowDataSourceImpl = /*
1149
1163
  }, {
1150
1164
  key: "_insertNewData",
1151
1165
  value: function _insertNewData(stream, list, limitCount, isMySelf, placement) {
1152
- console.log('onStreamsAdded', stream);
1153
1166
  var videoWindowData = new FcrUIVideoWindowDataImpl(_type.FcrUIWindowType.VIDEO, stream.connectorType === _fcrCore.FcrRoomConnectorType.PSTN ? {
1154
1167
  audioStream: stream
1155
1168
  } : {
@@ -0,0 +1,68 @@
1
+ import { FcrConnectionState, FcrUserInfo } from 'fcr-core/lib/type';
2
+ import { WhiteboardToolAction } from '../modules/secondary-window/type';
3
+ import { FcrBoardShape, FcrBoardToolType } from 'fcr-core/lib/room-control/whiteboard-control/enums';
4
+ import { WhiteboardThemeType } from '../modules/whiteboard/type';
5
+ import { FcrPrivilegedWhiteboardControl } from 'fcr-core/lib/room-control/whiteboard-control-v2/whiteboard-control/type';
6
+ import { FcrUIPrivilegeProvider } from '../providers/privilege-provider';
7
+ import { FcrToolbarState } from '../modules/components/toolbar/types';
8
+ export interface FcrUISharedWhiteboardDataSource {
9
+ get canWriteBoard(): boolean;
10
+ get sharingUserInfo(): FcrUserInfo | undefined;
11
+ get backgroundColor(): string;
12
+ get currentTheme(): WhiteboardThemeType;
13
+ get connectionState(): FcrConnectionState;
14
+ get showLoading(): boolean;
15
+ get joinSuccess(): boolean;
16
+ get toolbarState(): FcrToolbarState;
17
+ setSharingUser: (userInfo: FcrUserInfo) => void;
18
+ setBackgroundColor: (color: string) => void;
19
+ setWhiteboardTool: (tool: {
20
+ action: WhiteboardToolAction;
21
+ tool: FcrBoardToolType | FcrBoardShape | string | number;
22
+ }) => void;
23
+ setTheme: (theme: WhiteboardThemeType) => void;
24
+ setControlEnable: (enable: boolean) => void;
25
+ setShowLoading: (show: boolean) => void;
26
+ setCommonColors: (colors: string[]) => void;
27
+ saveDraft: () => void;
28
+ setProgress: (progress: number) => void;
29
+ setJoinSuccess: (success: boolean) => void;
30
+ inActive: () => void;
31
+ release: () => void;
32
+ }
33
+ export declare class FcrUISharedWhiteboardDataSourceImpl implements FcrUISharedWhiteboardDataSource {
34
+ private _whiteboardControl;
35
+ private _privilegeProvider;
36
+ protected logger: import("agora-foundation/lib/logger").Logger;
37
+ private _showLoading;
38
+ private _disposers;
39
+ private _fcrUIMainWindowRenderer;
40
+ private _toolbarStateObserver;
41
+ accessor currentTheme: Required<WhiteboardThemeType>;
42
+ accessor sharingUserInfo: FcrUserInfo | undefined;
43
+ accessor backgroundColor: string;
44
+ accessor hasWriteBoardPermission: boolean;
45
+ accessor connectionState: FcrConnectionState;
46
+ accessor joinSuccess: boolean;
47
+ accessor toolbarState: FcrToolbarState;
48
+ get showLoading(): boolean;
49
+ get canWriteBoard(): boolean;
50
+ constructor(_whiteboardControl: FcrPrivilegedWhiteboardControl, _privilegeProvider: FcrUIPrivilegeProvider);
51
+ setControlEnable(enable: boolean): void;
52
+ setSharingUser(userInfo: FcrUserInfo): void;
53
+ setBackgroundColor(color: string): void;
54
+ setWhiteboardTool(tool: {
55
+ action: WhiteboardToolAction;
56
+ tool: FcrBoardToolType | FcrBoardShape | string | number;
57
+ }): void;
58
+ setTheme(theme: WhiteboardThemeType): void;
59
+ setShowLoading(show: boolean): void;
60
+ setCommonColors(colors: string[]): void;
61
+ saveDraft(): void;
62
+ setProgress(progress: number): void;
63
+ setJoinSuccess(success: boolean): void;
64
+ inActive(): void;
65
+ release(): void;
66
+ private _resetWhiteboardTool;
67
+ private _handleConnectionStateUpdated;
68
+ }