fcr-ui-scene 3.7.2 → 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 (246) 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 +351 -267
  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/index.d.ts +2 -0
  37. package/lib/modules/annotation/index.js +2 -2
  38. package/lib/modules/annotation/store.d.ts +11 -49
  39. package/lib/modules/annotation/store.js +135 -418
  40. package/lib/modules/annotation/view.js +3 -6
  41. package/lib/modules/components/control-bar/components/loading/index.css +76 -0
  42. package/lib/modules/components/control-bar/components/loading/index.d.ts +8 -0
  43. package/lib/modules/components/control-bar/components/loading/index.js +64 -0
  44. package/lib/modules/components/control-bar/components/loading/loading.png +0 -0
  45. package/lib/modules/components/control-bar/components/progress/index.d.ts +5 -0
  46. package/lib/modules/components/control-bar/components/progress/index.js +43 -0
  47. package/lib/modules/components/control-bar/components/progress/style.css +51 -0
  48. package/lib/modules/components/control-bar/components/switch-theme/index.css +99 -0
  49. package/lib/modules/components/control-bar/components/switch-theme/index.d.ts +9 -0
  50. package/lib/modules/components/control-bar/components/switch-theme/index.js +94 -0
  51. package/lib/modules/components/control-bar/components/switch-theme/item.d.ts +9 -0
  52. package/lib/modules/components/control-bar/components/switch-theme/item.js +54 -0
  53. package/lib/modules/components/control-bar/components/switch-theme/libs.d.ts +4 -0
  54. package/lib/modules/components/control-bar/components/switch-theme/libs.js +31 -0
  55. package/lib/modules/components/control-bar/index.css +87 -0
  56. package/lib/modules/components/control-bar/index.d.ts +20 -0
  57. package/lib/modules/components/control-bar/index.js +276 -0
  58. package/lib/modules/components/leave-meeting/components/index.css +0 -9
  59. package/lib/modules/components/leave-meeting/index.d.ts +2 -1
  60. package/lib/modules/components/leave-meeting/index.js +15 -7
  61. package/lib/modules/components/leave-meeting/portal.d.ts +6 -0
  62. package/lib/modules/components/leave-meeting/portal.js +29 -0
  63. package/lib/modules/components/leave-meeting/style.css +9 -0
  64. package/lib/modules/components/member-window/components/member-actions/components/more-actions.d.ts +5 -2
  65. package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +19 -9
  66. package/lib/modules/components/member-window/components/member-actions/components/share-status.js +4 -4
  67. package/lib/modules/components/member-window/components/member-actions/index.js +13 -6
  68. package/lib/modules/components/member-window/components/member-actions/provider.d.ts +1 -0
  69. package/lib/modules/components/member-window/components/member-actions/provider.js +4 -3
  70. package/lib/modules/components/member-window/components/member-actions/store.d.ts +2 -1
  71. package/lib/modules/components/member-window/components/member-actions/store.js +5 -1
  72. package/lib/modules/components/member-window/index.css +4 -0
  73. package/lib/modules/components/member-window/types.d.ts +6 -2
  74. package/lib/modules/components/toolbar/components/capture-tool/index.d.ts +9 -0
  75. package/lib/modules/components/toolbar/components/capture-tool/index.js +68 -0
  76. package/lib/modules/components/toolbar/components/clean-tool/index.d.ts +11 -0
  77. package/lib/modules/components/toolbar/components/clean-tool/index.js +71 -0
  78. package/lib/modules/components/toolbar/components/color-tool/color-panel/index.d.ts +11 -0
  79. package/lib/modules/components/toolbar/components/color-tool/color-panel/index.js +77 -0
  80. package/lib/modules/components/toolbar/components/color-tool/index.d.ts +14 -0
  81. package/lib/modules/components/toolbar/components/color-tool/index.js +66 -0
  82. package/lib/modules/components/toolbar/components/graphic-tool/graphic-panel/index.d.ts +11 -0
  83. package/lib/modules/components/toolbar/components/graphic-tool/graphic-panel/index.js +64 -0
  84. package/lib/modules/components/toolbar/components/graphic-tool/graphic-panel/libs.d.ts +12 -0
  85. package/lib/modules/components/toolbar/components/graphic-tool/graphic-panel/libs.js +65 -0
  86. package/lib/modules/components/toolbar/components/graphic-tool/index.d.ts +15 -0
  87. package/lib/modules/components/toolbar/components/graphic-tool/index.js +82 -0
  88. package/lib/modules/components/toolbar/components/group-tool/index.d.ts +5 -0
  89. package/lib/modules/components/toolbar/components/group-tool/index.js +43 -0
  90. package/lib/modules/components/toolbar/components/icons/fold-icon.d.ts +2 -0
  91. package/lib/modules/components/toolbar/components/icons/fold-icon.js +41 -0
  92. package/lib/modules/components/toolbar/components/icons/move-icon.d.ts +1 -0
  93. package/lib/modules/components/toolbar/components/icons/move-icon.js +66 -0
  94. package/lib/modules/components/toolbar/components/item/index.d.ts +25 -0
  95. package/lib/modules/components/toolbar/components/item/index.js +165 -0
  96. package/lib/modules/components/toolbar/components/item/style.css +94 -0
  97. package/lib/modules/components/toolbar/components/multiple-color-tool/index.d.ts +12 -0
  98. package/lib/modules/components/toolbar/components/multiple-color-tool/index.js +75 -0
  99. package/lib/modules/components/toolbar/components/panel/index.d.ts +9 -0
  100. package/lib/modules/components/toolbar/components/panel/index.js +28 -0
  101. package/lib/modules/components/toolbar/components/panel/style.css +86 -0
  102. package/lib/modules/components/toolbar/components/pen-tool/index.d.ts +13 -0
  103. package/lib/modules/components/toolbar/components/pen-tool/index.js +62 -0
  104. package/lib/modules/components/toolbar/components/pen-tool/pen-panel/index.d.ts +8 -0
  105. package/lib/modules/components/toolbar/components/pen-tool/pen-panel/index.js +39 -0
  106. package/lib/modules/components/toolbar/components/save-draft/index.d.ts +7 -0
  107. package/lib/modules/components/toolbar/components/save-draft/index.js +59 -0
  108. package/lib/modules/components/toolbar/components/vertical-frame/index.d.ts +8 -0
  109. package/lib/modules/components/toolbar/components/vertical-frame/index.js +179 -0
  110. package/lib/modules/components/toolbar/hooks/use-resize-visible.d.ts +4 -0
  111. package/lib/modules/components/toolbar/hooks/use-resize-visible.js +59 -0
  112. package/lib/modules/components/toolbar/index.d.ts +29 -0
  113. package/lib/modules/components/toolbar/index.js +258 -0
  114. package/lib/modules/components/toolbar/style.css +85 -0
  115. package/lib/modules/components/toolbar/types.d.ts +13 -0
  116. package/lib/modules/components/toolbar/types.js +6 -0
  117. package/lib/modules/control-bar/components/more-actions/index.js +0 -6
  118. package/lib/modules/control-bar/components/share-state-nav/index.js +3 -2
  119. package/lib/modules/control-bar/index.js +2 -1
  120. package/lib/modules/control-bar/store.d.ts +7 -6
  121. package/lib/modules/control-bar/store.js +28 -21
  122. package/lib/modules/control-bar/view.js +7 -55
  123. package/lib/modules/dialog/dialogs/control-bar/index.d.ts +1 -0
  124. package/lib/modules/dialog/dialogs/control-bar/index.js +17 -3
  125. package/lib/modules/dialog/dialogs/participant/components/title.js +1 -1
  126. package/lib/modules/dialog/dialogs/sub-window/index.d.ts +2 -0
  127. package/lib/modules/dialog/dialogs/sub-window/index.js +98 -0
  128. package/lib/modules/dialog/dialogs/video-window/index.d.ts +1 -0
  129. package/lib/modules/dialog/dialogs/video-window/index.js +3 -2
  130. package/lib/modules/dialog/dialogs/whiteboard/index.js +0 -1
  131. package/lib/modules/dialog/hooks/use-popover-watcher.js +1 -2
  132. package/lib/modules/dialog/hooks/useElectron.d.ts +13 -0
  133. package/lib/modules/dialog/hooks/useElectron.js +62 -12
  134. package/lib/modules/dialog/index.d.ts +6 -3
  135. package/lib/modules/dialog/index.js +5 -3
  136. package/lib/modules/dialog/store.d.ts +21 -8
  137. package/lib/modules/dialog/store.js +79 -11
  138. package/lib/modules/dialog/type.d.ts +8 -0
  139. package/lib/modules/event-confirm/index.css +5 -2
  140. package/lib/modules/event-confirm/store.js +6 -7
  141. package/lib/modules/event-confirm/view.js +1 -1
  142. package/lib/modules/event-sound/index.d.ts +1 -0
  143. package/lib/modules/event-sound/index.js +11 -24
  144. package/lib/modules/invite/components/pstn-invite.js +0 -1
  145. package/lib/modules/layout/components/CommonVideoRenderer.js +21 -21
  146. package/lib/modules/layout/components/who-is-speaking.js +3 -6
  147. package/lib/modules/layout/index.d.ts +3 -1
  148. package/lib/modules/layout/index.js +2 -1
  149. package/lib/modules/layout/store.d.ts +7 -59
  150. package/lib/modules/layout/store.js +126 -24
  151. package/lib/modules/layout/type.d.ts +55 -0
  152. package/lib/modules/participant/components/can-moveable/index.js +0 -1
  153. package/lib/modules/participant/components/participants/components/participants/components/attendee/index.js +4 -2
  154. package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.js +14 -2
  155. package/lib/modules/participant/components/participants/components/participants/components/user-row/index.d.ts +1 -1
  156. package/lib/modules/participant/components/participants/components/participants/components/user-row/index.js +3 -2
  157. package/lib/modules/participant/components/participants/components/participants/index.js +3 -2
  158. package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/move-actions-popover/index.d.ts +1 -0
  159. package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/move-actions-popover/index.js +3 -1
  160. package/lib/modules/participant/components/participants/components/render-user/components/user-action/index.js +4 -2
  161. package/lib/modules/participant/components/participants/components/render-user/index.d.ts +4 -2
  162. package/lib/modules/participant/components/participants/components/render-user/index.js +5 -3
  163. package/lib/modules/participant/components/participants/index.js +5 -2
  164. package/lib/modules/participant/components/participants/types.d.ts +3 -0
  165. package/lib/modules/participant/index.d.ts +2 -0
  166. package/lib/modules/participant/index.js +2 -1
  167. package/lib/modules/participant/store.d.ts +5 -1
  168. package/lib/modules/participant/store.js +8 -1
  169. package/lib/modules/secondary-window/index.d.ts +49 -0
  170. package/lib/modules/secondary-window/index.js +108 -0
  171. package/lib/modules/secondary-window/store.d.ts +76 -0
  172. package/lib/modules/secondary-window/store.js +407 -0
  173. package/lib/modules/secondary-window/type.d.ts +106 -0
  174. package/lib/modules/secondary-window/type.js +35 -0
  175. package/lib/modules/secondary-window/view.d.ts +6 -0
  176. package/lib/modules/secondary-window/view.js +257 -0
  177. package/lib/modules/setting/general-settings/general-settings.js +9 -0
  178. package/lib/modules/setting/state/index.js +0 -10
  179. package/lib/modules/setting/store.d.ts +1 -0
  180. package/lib/modules/setting/store.js +6 -3
  181. package/lib/modules/share-screen/components/control-bar/index.d.ts +14 -1
  182. package/lib/modules/share-screen/components/control-bar/index.js +17 -12
  183. package/lib/modules/share-screen/components/selection/index.js +10 -15
  184. package/lib/modules/share-screen/index.d.ts +4 -1
  185. package/lib/modules/share-screen/index.js +6 -3
  186. package/lib/modules/share-screen/store.d.ts +9 -9
  187. package/lib/modules/share-screen/store.js +39 -64
  188. package/lib/modules/state-bar/index.d.ts +2 -0
  189. package/lib/modules/state-bar/index.js +2 -1
  190. package/lib/modules/state-bar/live-streaming-state.js +0 -1
  191. package/lib/modules/state-bar/store.d.ts +5 -2
  192. package/lib/modules/state-bar/store.js +14 -7
  193. package/lib/modules/state-bar/view.js +3 -3
  194. package/lib/modules/video-window/components/members/index.js +7 -12
  195. package/lib/modules/video-window/store.d.ts +1 -0
  196. package/lib/modules/video-window/store.js +5 -0
  197. package/lib/modules/whiteboard/components/toolbar/store.d.ts +2 -2
  198. package/lib/modules/whiteboard/index.d.ts +10 -13
  199. package/lib/modules/whiteboard/index.js +12 -11
  200. package/lib/providers/ability-provider.js +2 -0
  201. package/lib/providers/device-provider.d.ts +6 -3
  202. package/lib/providers/device-provider.js +331 -333
  203. package/lib/providers/multi-display-provider.d.ts +85 -0
  204. package/lib/providers/multi-display-provider.js +581 -0
  205. package/lib/providers/privilege-provider.js +1 -7
  206. package/lib/providers/room-provider.js +7 -1
  207. package/lib/providers/screen-share-provider.d.ts +3 -1
  208. package/lib/providers/screen-share-provider.js +39 -40
  209. package/lib/providers/sharing-provider.d.ts +7 -1
  210. package/lib/providers/sharing-provider.js +32 -3
  211. package/lib/providers/whiteboard-provider.d.ts +24 -0
  212. package/lib/providers/whiteboard-provider.js +127 -0
  213. package/lib/runtime.d.ts +1 -0
  214. package/lib/scenes/main-scene.d.ts +6 -0
  215. package/lib/scenes/main-scene.js +38 -2
  216. package/lib/scenes/waiting-scene.d.ts +0 -2
  217. package/lib/scenes/waiting-scene.js +0 -6
  218. package/lib/shared-data-source/member-data.d.ts +2 -2
  219. package/lib/shared-data-source/screen-share-data.d.ts +6 -0
  220. package/lib/shared-data-source/screen-share-data.js +5 -0
  221. package/lib/shared-data-source/setting.js +2 -1
  222. package/lib/shared-data-source/video-window.js +1 -2
  223. package/lib/shared-data-source/whiteboard-data.d.ts +68 -0
  224. package/lib/shared-data-source/whiteboard-data.js +347 -0
  225. package/lib/translations/enUS.d.ts +1 -0
  226. package/lib/translations/enUS.js +2 -1
  227. package/lib/translations/zhCN.d.ts +1 -0
  228. package/lib/translations/zhCN.js +2 -1
  229. package/lib/ui-scene.d.ts +0 -1
  230. package/lib/ui-scene.js +0 -3
  231. package/lib/utilities/constant.d.ts +4 -2
  232. package/lib/utilities/constant.js +3 -1
  233. package/lib/utilities/debug.d.ts +4 -0
  234. package/lib/utilities/debug.js +40 -0
  235. package/lib/utilities/dialog-utils.js +26 -4
  236. package/lib/utilities/meeting-detail.js +4 -1
  237. package/lib/utilities/renderer-event.d.ts +4 -6
  238. package/lib/utilities/renderer-event.js +23 -43
  239. package/lib/utilities/renderer.d.ts +1 -1
  240. package/lib/utilities/renderer.js +44 -10
  241. package/lib/utilities/shared-storage.d.ts +18 -0
  242. package/lib/utilities/shared-storage.js +63 -0
  243. package/lib/utilities/tools.js +2 -1
  244. package/package.json +5 -6
  245. package/lib/electron/tools.d.ts +0 -5
  246. package/lib/electron/tools.js +0 -62
@@ -43,7 +43,8 @@ var FcrParticipant = exports.FcrParticipant = function FcrParticipant(props) {
43
43
  _props$onParticipants = props.onParticipantsButtonClick,
44
44
  onParticipantsButtonClick = _props$onParticipants === void 0 ? function () {} : _props$onParticipants,
45
45
  _props$hideActions = props.hideActions,
46
- hideActions = _props$hideActions === void 0 ? [] : _props$hideActions;
46
+ hideActions = _props$hideActions === void 0 ? [] : _props$hideActions,
47
+ isLocalCameraInSecondaryWindow = props.isLocalCameraInSecondaryWindow;
47
48
  var userId = user.userId,
48
49
  _user$userName = user.userName,
49
50
  userName = _user$userName === void 0 ? '' : _user$userName,
@@ -117,7 +118,8 @@ var FcrParticipant = exports.FcrParticipant = function FcrParticipant(props) {
117
118
  hideActions: hideActions,
118
119
  hasPinnedStream: hasPinnedStream,
119
120
  onParticipantsButtonClick: onParticipantsButtonClick,
120
- user: user
121
+ user: user,
122
+ isLocalCameraInSecondaryWindow: isLocalCameraInSecondaryWindow
121
123
  })
122
124
  }),
123
125
  placement: "bottomRight",
@@ -51,7 +51,8 @@ var FcrParticipantsMoreActions = exports.FcrParticipantsMoreActions = function F
51
51
  var onParticipantsButtonClick = props.onParticipantsButtonClick,
52
52
  hasPinnedStream = props.hasPinnedStream,
53
53
  hideActions = props.hideActions,
54
- user = props.user;
54
+ user = props.user,
55
+ isLocalCameraInSecondaryWindow = props.isLocalCameraInSecondaryWindow;
55
56
  var isMe = user.isMe,
56
57
  userId = user.userId,
57
58
  hasVideo = user.hasVideo,
@@ -62,6 +63,17 @@ var FcrParticipantsMoreActions = exports.FcrParticipantsMoreActions = function F
62
63
  allowedOperations = user.allowedOperations;
63
64
  var cameraStateType = !hasVideo ? 'primary' : 'danger';
64
65
 
66
+ /**
67
+ * 如果当前用户的类型是 'meeting-system' 且没有视频流,则不显示固定选项。
68
+ * 如果当前用户是自己且摄像头的视频流显示在副窗口中,也不显示固定选项。
69
+ */
70
+ var isShowPinOption = true;
71
+ if (userType === 'meeting-system' && !hasVideo) {
72
+ isShowPinOption = false;
73
+ } else if (isMe && isLocalCameraInSecondaryWindow) {
74
+ isShowPinOption = false;
75
+ }
76
+
65
77
  // 定义所有操作菜单
66
78
  var allOperationMenu = [{
67
79
  icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_cameraState.CameraState, {
@@ -115,7 +127,7 @@ var FcrParticipantsMoreActions = exports.FcrParticipantsMoreActions = function F
115
127
  }) : hasPinnedStream ? (0, _i18next.t)('fmt_attendies_options_replacefixed') : (0, _i18next.t)('fmt_attendies_options_fixfirst'),
116
128
  key: 'pin',
117
129
  type: isPin ? 'danger' : 'primary',
118
- canOperation: userType === 'normal' || userType === 'phone' || userType === 'meeting-system' && hasVideo,
130
+ canOperation: isShowPinOption,
119
131
  onButtonClick: handleButtonClick(isPin ? _types.ParticipantActionType.REMOVE_PIN : _types.ParticipantActionType.ADD_PIN, userId, onParticipantsButtonClick),
120
132
  group: 'own_view'
121
133
  }, {
@@ -2,4 +2,4 @@ import { ListRowProps } from 'react-virtualized';
2
2
  import { CellMeasurerCache } from 'react-virtualized/dist/es/CellMeasurer';
3
3
  import { ParticipantActionType, User } from '../../../../types';
4
4
  export declare const cache: CellMeasurerCache;
5
- export declare const userRowRenderer: (userList: User[], userRenderer: ((user: User) => React.ReactNode) | undefined, hasPinnedStream: boolean, toggleParticipantAction: ((action: ParticipantActionType, userId: string) => void) | undefined) => (renderProps: ListRowProps) => import("react/jsx-runtime").JSX.Element;
5
+ export declare const userRowRenderer: (userList: User[], userRenderer: ((user: User) => React.ReactNode) | undefined, hasPinnedStream: boolean, toggleParticipantAction: ((action: ParticipantActionType, userId: string) => void) | undefined, isLocalCameraInSecondaryWindow: boolean) => (renderProps: ListRowProps) => import("react/jsx-runtime").JSX.Element;
@@ -37,7 +37,7 @@ var cache = exports.cache = new _CellMeasurer.CellMeasurerCache({
37
37
  fixedWidth: true,
38
38
  defaultHeight: 52
39
39
  });
40
- var userRowRenderer = exports.userRowRenderer = function userRowRenderer(userList, userRenderer, hasPinnedStream, toggleParticipantAction) {
40
+ var userRowRenderer = exports.userRowRenderer = function userRowRenderer(userList, userRenderer, hasPinnedStream, toggleParticipantAction, isLocalCameraInSecondaryWindow) {
41
41
  return function (renderProps) {
42
42
  var key = renderProps.key,
43
43
  parent = renderProps.parent,
@@ -58,7 +58,8 @@ var userRowRenderer = exports.userRowRenderer = function userRowRenderer(userLis
58
58
  children: userRenderer ? userRenderer(userList[index]) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_attendee.FcrParticipant, {
59
59
  hasPinnedStream: hasPinnedStream,
60
60
  user: userList[index],
61
- onParticipantsButtonClick: toggleParticipantAction
61
+ onParticipantsButtonClick: toggleParticipantAction,
62
+ isLocalCameraInSecondaryWindow: isLocalCameraInSecondaryWindow
62
63
  })
63
64
  });
64
65
  }
@@ -45,7 +45,8 @@ var FcrParticipants = exports.FcrParticipants = function FcrParticipants(props)
45
45
  toggleRoomControlAction = _props.toggleRoomControlAction,
46
46
  footer = _props.footer,
47
47
  header = _props.header,
48
- hasInvite = _props.hasInvite;
48
+ hasInvite = _props.hasInvite,
49
+ isLocalCameraInSecondaryWindow = _props.isLocalCameraInSecondaryWindow;
49
50
 
50
51
  // 使用 useMemo 初始化 value 状态
51
52
  var _useState = (0, _react.useState)((0, _react.useMemo)(function () {
@@ -107,7 +108,7 @@ var FcrParticipants = exports.FcrParticipants = function FcrParticipants(props)
107
108
  height: height,
108
109
  rowCount: userList.length,
109
110
  rowHeight: _userRow.cache.rowHeight,
110
- rowRenderer: (0, _userRow.userRowRenderer)(userList, userRenderer, hasPinnedStream, toggleParticipantAction)
111
+ rowRenderer: (0, _userRow.userRowRenderer)(userList, userRenderer, hasPinnedStream, toggleParticipantAction, isLocalCameraInSecondaryWindow)
111
112
  });
112
113
  }
113
114
  })]
@@ -7,6 +7,7 @@ interface MoreActionsPopoverPropsType {
7
7
  user: User;
8
8
  waitingRoomParticipateActionsNeedHiden: string[];
9
9
  mainRoomParticipateActionsNeedHiden: string[];
10
+ isLocalCameraInSecondaryWindow: boolean;
10
11
  }
11
12
  export declare const MoreActionsPopover: (props: MoreActionsPopoverPropsType) => import("react/jsx-runtime").JSX.Element;
12
13
  export {};
@@ -23,7 +23,8 @@ var MoreActionsPopover = exports.MoreActionsPopover = function MoreActionsPopove
23
23
  handleMoreActionsClick = props.handleMoreActionsClick,
24
24
  waitingRoomParticipateActionsNeedHiden = props.waitingRoomParticipateActionsNeedHiden,
25
25
  mainRoomParticipateActionsNeedHiden = props.mainRoomParticipateActionsNeedHiden,
26
- user = props.user;
26
+ user = props.user,
27
+ isLocalCameraInSecondaryWindow = props.isLocalCameraInSecondaryWindow;
27
28
  var _useContext = (0, _react.useContext)(_store.StoreContext),
28
29
  activeTab = _useContext.activeTab,
29
30
  hasPinnedStream = _useContext.hasPinnedStream;
@@ -57,6 +58,7 @@ var MoreActionsPopover = exports.MoreActionsPopover = function MoreActionsPopove
57
58
  onParticipantsButtonClick: handleMoreActionsClick,
58
59
  user: user,
59
60
  hasPinnedStream: hasPinnedStream,
61
+ isLocalCameraInSecondaryWindow: isLocalCameraInSecondaryWindow,
60
62
  hideActions: activeTab === _type2.FcrUIRoomType.MAIN_ROOM ? mainRoomParticipateActionsNeedHiden : waitingRoomParticipateActionsNeedHiden
61
63
  })
62
64
  }),
@@ -20,7 +20,8 @@ var _type = require("../../../../../../../../type");
20
20
  var _jsxRuntime = require("react/jsx-runtime");
21
21
  var waitingRoomParticipateActionsNeedHiden = ['start_video', 'request_start_video', 'stop_video', 'pin', 'set_as_host', 'set_as_co_host', 'revoke_co_host', 'merge_video', 'put_into_waiting_room'];
22
22
  var UserActions = exports.UserActions = function UserActions(props) {
23
- var user = props.user;
23
+ var user = props.user,
24
+ isLocalCameraInSecondaryWindow = props.isLocalCameraInSecondaryWindow;
24
25
  var _useContext = (0, _react.useContext)(_store.StoreContext),
25
26
  activeTab = _useContext.activeTab,
26
27
  hasMutePermission = _useContext.hasMutePermission,
@@ -69,7 +70,8 @@ var UserActions = exports.UserActions = function UserActions(props) {
69
70
  setIsShowDropMenu(false);
70
71
  },
71
72
  waitingRoomParticipateActionsNeedHiden: waitingRoomParticipateActionsNeedHiden,
72
- mainRoomParticipateActionsNeedHiden: mainRoomParticipateActionsNeedHiden
73
+ mainRoomParticipateActionsNeedHiden: mainRoomParticipateActionsNeedHiden,
74
+ isLocalCameraInSecondaryWindow: isLocalCameraInSecondaryWindow
73
75
  })]
74
76
  });
75
77
  };
@@ -1,5 +1,7 @@
1
1
  import { User } from '../../types';
2
- declare const RenderUser: ({ user }: {
2
+ type RenderUserProps = {
3
3
  user: User;
4
- }) => import("react/jsx-runtime").JSX.Element;
4
+ isLocalCameraInSecondaryWindow: boolean;
5
+ };
6
+ declare const RenderUser: React.FC<RenderUserProps>;
5
7
  export default RenderUser;
@@ -9,12 +9,14 @@ var _mobxReact = require("mobx-react");
9
9
  var _attendee = require("./components/attendee");
10
10
  var _userAction = require("./components/user-action");
11
11
  var _jsxRuntime = require("react/jsx-runtime");
12
- var RenderUser = (0, _mobxReact.observer)(function (_ref) {
13
- var user = _ref.user;
12
+ var RenderUser = (0, _mobxReact.observer)(function (props) {
13
+ var user = props.user,
14
+ isLocalCameraInSecondaryWindow = props.isLocalCameraInSecondaryWindow;
14
15
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_attendee.ParticipantAttendee, {
15
16
  user: user,
16
17
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_userAction.UserActions, {
17
- user: user
18
+ user: user,
19
+ isLocalCameraInSecondaryWindow: isLocalCameraInSecondaryWindow
18
20
  })
19
21
  });
20
22
  });
@@ -34,7 +34,8 @@ var ParticipantsContainer = (0, _mobxReact.observer)(function () {
34
34
  isLocalUserHost = _useContext.isLocalUserHost,
35
35
  openMuteAllDialog = _useContext.openMuteAllDialog,
36
36
  handlerRoomControlAction = _useContext.handlerRoomControlAction,
37
- hasInvite = _useContext.hasInvite;
37
+ hasInvite = _useContext.hasInvite,
38
+ isLocalCameraInSecondaryWindow = _useContext.isLocalCameraInSecondaryWindow;
38
39
  var dialogStore = (0, _react.useContext)(_store.StoreContext);
39
40
  var handlerRoomControlClick = function handlerRoomControlClick(action, userId) {
40
41
  if (action === _constant.FcrUIRoomControlType.MUTE_ALL_AUDIO) {
@@ -59,9 +60,11 @@ var ParticipantsContainer = (0, _mobxReact.observer)(function () {
59
60
  hasInvite: hasInvite,
60
61
  hasPinnedStream: hasPinnedStream,
61
62
  toggleParticipantAction: handlerUserAction,
63
+ isLocalCameraInSecondaryWindow: isLocalCameraInSecondaryWindow,
62
64
  userRenderer: function userRenderer(user) {
63
65
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_renderUser["default"], {
64
- user: user
66
+ user: user,
67
+ isLocalCameraInSecondaryWindow: isLocalCameraInSecondaryWindow
65
68
  });
66
69
  },
67
70
  footer: /*#__PURE__*/(0, _jsxRuntime.jsx)(_footer["default"], {
@@ -10,6 +10,7 @@ export interface ParticipantProps {
10
10
  searchText?: string;
11
11
  onInvite?: () => void;
12
12
  hasPinnedStream: boolean;
13
+ isLocalCameraInSecondaryWindow: boolean;
13
14
  hasInvite: boolean;
14
15
  }
15
16
  export interface User {
@@ -66,6 +67,7 @@ export interface ParticipantsMoreActionsProps {
66
67
  onParticipantsButtonClick: (action: ParticipantActionType, userId: string) => void;
67
68
  hasPinnedStream: boolean;
68
69
  hideActions: string[];
70
+ isLocalCameraInSecondaryWindow: boolean;
69
71
  }
70
72
  export interface IFcrParticipantItemProps {
71
73
  user: User;
@@ -94,4 +96,5 @@ export interface ParticipantsFooterParticipantProps {
94
96
  }
95
97
  export interface UserActionsPropsType {
96
98
  user: User;
99
+ isLocalCameraInSecondaryWindow: boolean;
97
100
  }
@@ -23,6 +23,7 @@ import { FcrUIAbilityProviderImpl } from '../../providers/ability-provider';
23
23
  import { FcrUIMessageProvider } from '../../providers/message-provider';
24
24
  import { FcrUISecuritySharedDataSource } from '../../shared-data-source/security-data';
25
25
  import { FcrUIScreenShareSharedDataSource } from '../../shared-data-source/screen-share-data';
26
+ import { FcrUIMultiDisplayProvider } from '../../providers/multi-display-provider';
26
27
  export declare class ParticipantUIModule extends UIModule {
27
28
  private _store;
28
29
  deviceStreamProvider?: FcrUIDeviceStreamProvider;
@@ -48,6 +49,7 @@ export declare class ParticipantUIModule extends UIModule {
48
49
  abilityProvider?: FcrUIAbilityProviderImpl;
49
50
  sharedSecuritySharedDataSource?: FcrUISecuritySharedDataSource;
50
51
  sharedScreenShareSharedDataSource?: FcrUIScreenShareSharedDataSource;
52
+ multiDisplayProvider?: FcrUIMultiDisplayProvider;
51
53
  onNodeWillActive(): void;
52
54
  onNodeWillInactive(): void;
53
55
  getComponent(): import("react/jsx-runtime").JSX.Element;
@@ -85,7 +85,8 @@ var ParticipantUIModule = exports.ParticipantUIModule = /*#__PURE__*/function (_
85
85
  abilityProvider: this.abilityProvider,
86
86
  messageProvider: this.messageProvider,
87
87
  sharedSecuritySharedDataSource: this.sharedSecuritySharedDataSource,
88
- sharedScreenShareSharedDataSource: this.sharedScreenShareSharedDataSource
88
+ sharedScreenShareSharedDataSource: this.sharedScreenShareSharedDataSource,
89
+ multiDisplayProvider: this.multiDisplayProvider
89
90
  });
90
91
  }
91
92
  }, {
@@ -30,6 +30,7 @@ import { FcrUIAbilityProviderImpl } from '../../providers/ability-provider';
30
30
  import { FcrUISecuritySharedDataSource } from '../../shared-data-source/security-data';
31
31
  import { FcrUIScreenShareSharedDataSource } from '../../shared-data-source/screen-share-data';
32
32
  import { User } from './components/participants/types';
33
+ import { FcrUIMultiDisplayProvider } from '../../providers/multi-display-provider';
33
34
  export default class ParticipantStore {
34
35
  protected logger: import("agora-foundation/lib/logger").Logger;
35
36
  private _roomStore;
@@ -59,6 +60,7 @@ export default class ParticipantStore {
59
60
  private _sharedMemberDataSource;
60
61
  private _sharedChatDataSource;
61
62
  private _sharedScreenShareSharedDataSource;
63
+ private _multiDisplayProvider;
62
64
  private _peerSessionObserver;
63
65
  private _dialogProvider;
64
66
  private _abilityProvider;
@@ -115,10 +117,11 @@ export default class ParticipantStore {
115
117
  get isInterpreterEnabled(): boolean;
116
118
  get waitingRoomUserCount(): number;
117
119
  get isNewWaitingRoomUserEnter(): boolean;
120
+ get isLocalCameraInSecondaryWindow(): boolean;
118
121
  get isHostKeyEnabled(): boolean;
119
122
  get hasInvite(): boolean;
120
123
  get checkedStateMap(): import("../../shared-data-source/security-data").FcrSecurityCheckedStateType;
121
- constructor({ roomControl, securityStore, uiEventStore, deviceStore, deviceStreamStore, roomStore, sessionProvider, sharedSpeakerSpotlightDataSource, sharedPinDataSource, sharedLayoutDataSource, sharedInterpreterDataSource, sharedSettingDataSource, sharedWaitingRoomDataSource, chatProvider, sharedVideoWindowDataSource, sharedMemberDataSource, sharedChatDataSource, dialogProvider, abilityProvider, messageProvider, sharedSecuritySharedDataSource, sharedScreenShareSharedDataSource, }: {
124
+ constructor({ roomControl, securityStore, uiEventStore, deviceStore, deviceStreamStore, roomStore, sessionProvider, sharedSpeakerSpotlightDataSource, sharedPinDataSource, sharedLayoutDataSource, sharedInterpreterDataSource, sharedSettingDataSource, sharedWaitingRoomDataSource, chatProvider, sharedVideoWindowDataSource, sharedMemberDataSource, sharedChatDataSource, dialogProvider, abilityProvider, messageProvider, sharedSecuritySharedDataSource, sharedScreenShareSharedDataSource, multiDisplayProvider, }: {
122
125
  roomControl: FcrMainRoomControl;
123
126
  securityStore: FcrUIPrivilegeProvider;
124
127
  uiEventStore: FcrUIEventProvider;
@@ -141,6 +144,7 @@ export default class ParticipantStore {
141
144
  messageProvider: FcrUIMessageProvider;
142
145
  sharedSecuritySharedDataSource: FcrUISecuritySharedDataSource;
143
146
  sharedScreenShareSharedDataSource: FcrUIScreenShareSharedDataSource;
147
+ multiDisplayProvider: FcrUIMultiDisplayProvider;
144
148
  });
145
149
  release(): void;
146
150
  allowedOperations: (userId: string, userRole: FcrUserRole) => string[];
@@ -174,7 +174,8 @@ var ParticipantStore = exports["default"] = /*#__PURE__*/function () {
174
174
  abilityProvider = _ref2.abilityProvider,
175
175
  messageProvider = _ref2.messageProvider,
176
176
  sharedSecuritySharedDataSource = _ref2.sharedSecuritySharedDataSource,
177
- sharedScreenShareSharedDataSource = _ref2.sharedScreenShareSharedDataSource;
177
+ sharedScreenShareSharedDataSource = _ref2.sharedScreenShareSharedDataSource,
178
+ multiDisplayProvider = _ref2.multiDisplayProvider;
178
179
  (0, _classCallCheck2["default"])(this, ParticipantStore);
179
180
  (0, _defineProperty2["default"])(this, _ref, (_initProto(this), (0, _logger.createLogger)({
180
181
  prefix: 'ParticipantStore'
@@ -368,6 +369,7 @@ var ParticipantStore = exports["default"] = /*#__PURE__*/function () {
368
369
  this._sharedChatDataSource = sharedChatDataSource;
369
370
  this._sharedSecuritySharedDataSource = sharedSecuritySharedDataSource;
370
371
  this._sharedScreenShareSharedDataSource = sharedScreenShareSharedDataSource;
372
+ this._multiDisplayProvider = multiDisplayProvider;
371
373
  this.allowUnmute = this._securityStore.allowUnmuteSelfAudio();
372
374
  this.joinWithMuteAudio = this._securityStore.allowJoinWithMuteAudio();
373
375
  this._uiEventStore.addObserver(this._eventObserver);
@@ -657,6 +659,11 @@ var ParticipantStore = exports["default"] = /*#__PURE__*/function () {
657
659
  get: function get() {
658
660
  return this._sharedWaitingRoomDataSource.unReadState;
659
661
  }
662
+ }, {
663
+ key: "isLocalCameraInSecondaryWindow",
664
+ get: function get() {
665
+ return this._multiDisplayProvider.isLocalCameraInSecondaryWindow;
666
+ }
660
667
  }, {
661
668
  key: "isHostKeyEnabled",
662
669
  get: function get() {
@@ -0,0 +1,49 @@
1
+ import { UIModule } from '../../base';
2
+ import { FcrUIEventProvider } from '../../providers/event-provider';
3
+ import { FcrUIMultiDisplayProvider } from '../../providers/multi-display-provider';
4
+ import { FcrUIMainWindowRenderer, FcrUIMainWindowRendererObserver } from './type';
5
+ import { FcrUIVideoWindowDataSource } from '../../shared-data-source/video-window';
6
+ import { FcrUIWhiteboardProvider } from '../../providers/whiteboard-provider';
7
+ import { FcrUserInfo } from 'fcr-core/lib/type';
8
+ import { FcrUIScreenShareSharedDataSource } from '../../shared-data-source/screen-share-data';
9
+ import { FcrUIMemberSharedDataSource } from '../../shared-data-source/member-data';
10
+ import { FcrUISharedWhiteboardDataSource } from '../../shared-data-source/whiteboard-data';
11
+ import { ShareScreenUIModule } from '../share-screen';
12
+ import { FcrUIAnnotationProvider } from '../../providers/annotation-provider';
13
+ import { FcrUISharedAnnotationSource } from '../../shared-data-source/annotation-data';
14
+ import { FcrUIPrivilegeProvider } from '../../providers/privilege-provider';
15
+ import { FcrUIRoomProvider } from '../../providers/room-provider';
16
+ import { FcrUIAbilityProviderImpl } from '../../providers/ability-provider';
17
+ import { FcrUIDialogProvider } from '../../providers/dialog-provider';
18
+ export declare class FcrUISecondaryWindowModule extends UIModule {
19
+ private _store?;
20
+ private _leaveMeetingStore?;
21
+ multiDisplayProvider?: FcrUIMultiDisplayProvider;
22
+ sharedVideoWindowDataSource?: FcrUIVideoWindowDataSource;
23
+ eventProvider?: FcrUIEventProvider;
24
+ whiteboardProvider?: FcrUIWhiteboardProvider;
25
+ privilegeProvider?: FcrUIPrivilegeProvider;
26
+ roomProvider?: FcrUIRoomProvider;
27
+ abilityProvider?: FcrUIAbilityProviderImpl;
28
+ dialogProvider?: FcrUIDialogProvider;
29
+ sharedScreenShareSharedDataSource?: FcrUIScreenShareSharedDataSource;
30
+ sharedMemberDataSource?: FcrUIMemberSharedDataSource;
31
+ sharedWhiteboardDataSource?: FcrUISharedWhiteboardDataSource;
32
+ annotationProvider?: FcrUIAnnotationProvider;
33
+ sharedAnnotationDataSource?: FcrUISharedAnnotationSource;
34
+ onNodeWillActive(): void;
35
+ onNodeWillInactive(): void;
36
+ component(shareScreenModule: ShareScreenUIModule): import("react/jsx-runtime").JSX.Element;
37
+ }
38
+ export declare class FcrUIMainWindowRendererImpl implements FcrUIMainWindowRenderer {
39
+ private _observers;
40
+ private _ownerUser;
41
+ private _backgroundColor;
42
+ private _hasWriteBoardPermission;
43
+ get ownerUser(): FcrUserInfo | undefined;
44
+ get backgroundColor(): string;
45
+ get hasWriteBoardPermission(): boolean;
46
+ notifyObservers(event: keyof FcrUIMainWindowRendererObserver, args: any): void;
47
+ addObserver(observer: FcrUIMainWindowRendererObserver): void;
48
+ removeObserver(observer: FcrUIMainWindowRendererObserver): void;
49
+ }
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ require("core-js/modules/es.reflect.construct.js");
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
+ Object.defineProperty(exports, "__esModule", {
7
+ value: true
8
+ });
9
+ exports.FcrUISecondaryWindowModule = exports.FcrUIMainWindowRendererImpl = void 0;
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
12
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
14
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
15
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
16
+ var _base = require("../../base");
17
+ var _store = require("./store");
18
+ var _view = require("./view");
19
+ var _imports = require("fcr-core/lib/imports");
20
+ var _store2 = require("../components/leave-meeting/store");
21
+ var _jsxRuntime = require("react/jsx-runtime");
22
+ function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
23
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
24
+ var FcrUISecondaryWindowModule = exports.FcrUISecondaryWindowModule = /*#__PURE__*/function (_UIModule) {
25
+ function FcrUISecondaryWindowModule() {
26
+ (0, _classCallCheck2["default"])(this, FcrUISecondaryWindowModule);
27
+ return _callSuper(this, FcrUISecondaryWindowModule, arguments);
28
+ }
29
+ (0, _inherits2["default"])(FcrUISecondaryWindowModule, _UIModule);
30
+ return (0, _createClass2["default"])(FcrUISecondaryWindowModule, [{
31
+ key: "onNodeWillActive",
32
+ value: function onNodeWillActive() {
33
+ this._store = new _store.SecondaryWindowStore(this.multiDisplayProvider, this.sharedVideoWindowDataSource, this.eventProvider, this.sharedScreenShareSharedDataSource, this.sharedMemberDataSource, this.sharedWhiteboardDataSource, this.sharedAnnotationDataSource, this.annotationProvider);
34
+ this._leaveMeetingStore = new _store2.LeaveMeetingStore(this.privilegeProvider, this.roomProvider, this.roomProvider.currentRoomControl, this.sharedMemberDataSource, this.abilityProvider, this.dialogProvider);
35
+ }
36
+ }, {
37
+ key: "onNodeWillInactive",
38
+ value: function onNodeWillInactive() {
39
+ var _this$_store;
40
+ (_this$_store = this._store) === null || _this$_store === void 0 || _this$_store.release();
41
+ }
42
+ }, {
43
+ key: "component",
44
+ value: function component(shareScreenModule) {
45
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_store.SecondaryWindowStoreContext.Provider, {
46
+ value: this._store,
47
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_store2.LeaveMeetingStoreContext.Provider, {
48
+ value: this._leaveMeetingStore,
49
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_view.SubWindowView, {
50
+ renderScreenShareControl: function renderScreenShareControl(secondaryWindowProprs) {
51
+ return shareScreenModule.getControlComponent(secondaryWindowProprs);
52
+ }
53
+ })
54
+ })
55
+ });
56
+ }
57
+ }]);
58
+ }(_base.UIModule);
59
+ var FcrUIMainWindowRendererImpl = exports.FcrUIMainWindowRendererImpl = /*#__PURE__*/function () {
60
+ function FcrUIMainWindowRendererImpl() {
61
+ (0, _classCallCheck2["default"])(this, FcrUIMainWindowRendererImpl);
62
+ (0, _defineProperty2["default"])(this, "_observers", new _imports.AgoraObservable());
63
+ (0, _defineProperty2["default"])(this, "_backgroundColor", '#ffffff');
64
+ (0, _defineProperty2["default"])(this, "_hasWriteBoardPermission", false);
65
+ }
66
+ return (0, _createClass2["default"])(FcrUIMainWindowRendererImpl, [{
67
+ key: "ownerUser",
68
+ get: function get() {
69
+ return this._ownerUser;
70
+ }
71
+ }, {
72
+ key: "backgroundColor",
73
+ get: function get() {
74
+ return this._backgroundColor;
75
+ }
76
+ }, {
77
+ key: "hasWriteBoardPermission",
78
+ get: function get() {
79
+ return this._hasWriteBoardPermission;
80
+ }
81
+ }, {
82
+ key: "notifyObservers",
83
+ value: function notifyObservers(event, args) {
84
+ switch (event) {
85
+ case 'onSharingUserUpdated':
86
+ this._ownerUser = args;
87
+ break;
88
+ case 'onBackgroundColorUpdated':
89
+ this._backgroundColor = args;
90
+ break;
91
+ case 'onPermissionUpdated':
92
+ this._hasWriteBoardPermission = args;
93
+ break;
94
+ }
95
+ this._observers.notifyObservers(event, args);
96
+ }
97
+ }, {
98
+ key: "addObserver",
99
+ value: function addObserver(observer) {
100
+ this._observers.addObserver(observer);
101
+ }
102
+ }, {
103
+ key: "removeObserver",
104
+ value: function removeObserver(observer) {
105
+ this._observers.removeObserver(observer);
106
+ }
107
+ }]);
108
+ }();
@@ -0,0 +1,76 @@
1
+ import { FcrUIMultiDisplayProvider } from '../../providers/multi-display-provider';
2
+ import { VideoWindowDataReturn, WhiteboardToolAction } from './type';
3
+ import { FcrUIEventProvider } from '../../providers/event-provider';
4
+ import { FcrUIVideoWindowDataSource } from '../../shared-data-source/video-window';
5
+ import { FcrUIScreenShareSharedDataSource } from '../../shared-data-source/screen-share-data';
6
+ import { FcrUIMemberSharedDataSource } from '../../shared-data-source/member-data';
7
+ import { FcrUISharedWhiteboardDataSource } from '../../shared-data-source/whiteboard-data';
8
+ import { FcrBoardShape, FcrBoardToolType } from 'fcr-core/lib/room-control/whiteboard-control/enums';
9
+ import { WhiteboardThemeType } from '../whiteboard/type';
10
+ import { FcrUISharedAnnotationSource } from '../../shared-data-source/annotation-data';
11
+ import { FcrUIAnnotationProvider } from '../../providers/annotation-provider';
12
+ export declare class SecondaryWindowStore {
13
+ private _multiDisplayProvider;
14
+ private _videoWindowDataSource;
15
+ private _eventProvider;
16
+ private _sharedScreenShareDataSource;
17
+ private _memberSharedDataSource;
18
+ private _sharedWhiteboardDataSource;
19
+ private _sharedAnnotationDataSource;
20
+ private _annotationProvider;
21
+ protected logger: import("agora-foundation/lib/logger").Logger;
22
+ private _observable;
23
+ private _dialogId;
24
+ private _disposers;
25
+ private get _subWindowDialog();
26
+ private _prevFullScalc;
27
+ private _screenShareSpeakerViewSize;
28
+ private _maxScalcValue;
29
+ private _minScalcValue;
30
+ private _diffScalcValue;
31
+ private accessor _screenShareScalcValue;
32
+ accessor isSharingWhiteboard: boolean;
33
+ get secondaryWindowContentType(): "hidden" | "speaker" | "gallery" | "local-camera" | "remote-camera" | "sharing-screen" | "sharing-screen-with-annotation" | "sharing-whiteboard";
34
+ get videoWindowData(): VideoWindowDataReturn<typeof this.secondaryWindowContentType>;
35
+ get isCurrentOriginal(): boolean;
36
+ get isZoomMaxmum(): boolean;
37
+ get isZoomMinimum(): boolean;
38
+ get isAspectRatioPreserved(): boolean;
39
+ get scalValue(): number;
40
+ get currentUser(): import("fcr-core/lib/type").FcrUserInfo;
41
+ get ownerUser(): import("fcr-core/lib/type").FcrUserInfo | undefined;
42
+ get isHost(): boolean;
43
+ get canWriteBoard(): boolean;
44
+ get toolbarState(): import("../components/toolbar/types").FcrToolbarState;
45
+ get currentTheme(): WhiteboardThemeType;
46
+ get connectionState(): import("fcr-core").FcrConnectionState;
47
+ get showLoading(): boolean;
48
+ get joinSuccess(): boolean;
49
+ get isScreenShare(): boolean;
50
+ get isBoardShare(): boolean;
51
+ get annotationHasStart(): boolean;
52
+ get isShowToolbar(): boolean;
53
+ constructor(_multiDisplayProvider: FcrUIMultiDisplayProvider, _videoWindowDataSource: FcrUIVideoWindowDataSource, _eventProvider: FcrUIEventProvider, _sharedScreenShareDataSource: FcrUIScreenShareSharedDataSource, _memberSharedDataSource: FcrUIMemberSharedDataSource, _sharedWhiteboardDataSource: FcrUISharedWhiteboardDataSource, _sharedAnnotationDataSource: FcrUISharedAnnotationSource, _annotationProvider: FcrUIAnnotationProvider);
54
+ getContent(): void;
55
+ handleIframeLoad(iframe: HTMLIFrameElement): void;
56
+ zoomOut(): void;
57
+ zoomIn(): void;
58
+ fullContainer(): void;
59
+ setScaleValue(scale: number): void;
60
+ setOriginScalc(): void;
61
+ setSpeakerViewSize(width: number, height: number): void;
62
+ setWhiteboardTool(tool: {
63
+ action: WhiteboardToolAction;
64
+ tool: FcrBoardToolType | FcrBoardShape | string | number;
65
+ }): void;
66
+ saveWhiteboardDraft(): void;
67
+ setProgress(progress: number): void;
68
+ setTheme(theme: WhiteboardThemeType): void;
69
+ setControlEnable(enable: boolean): void;
70
+ setShowLoading(show: boolean): void;
71
+ setCommonColors(colors: string[]): void;
72
+ log(message: string): void;
73
+ release(): void;
74
+ private _handleContentDistributionUpdated;
75
+ }
76
+ export declare const SecondaryWindowStoreContext: import("react").Context<SecondaryWindowStore>;