fcr-ui-scene 3.7.5 → 3.7.7-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (255) hide show
  1. package/lib/creator/index.js +15 -7
  2. package/lib/creator/provider-initializer.browser.js +13 -4
  3. package/lib/creator/provider-initializer.electron.js +22 -10
  4. package/lib/electron/bootstrap-sdk.js +90 -6
  5. package/lib/electron/injections.d.ts +1 -0
  6. package/lib/electron/injections.js +5 -1
  7. package/lib/electron/ipc/type.d.ts +1 -0
  8. package/lib/electron/ipc/type.js +1 -0
  9. package/lib/electron/preload.js +1 -0
  10. package/lib/electron/sdk-helper.d.ts +3 -0
  11. package/lib/electron/sdk-helper.js +53 -19
  12. package/lib/electron/struct.d.ts +7 -1
  13. package/lib/electron/struct.js +8 -1
  14. package/lib/electron/until.d.ts +7 -1
  15. package/lib/electron/until.js +11 -2
  16. package/lib/fragments/annotation/store.js +2 -0
  17. package/lib/modules/action-bar/components/item/index.js +1 -0
  18. package/lib/modules/action-bar/components/more/poppover-content.js +1 -1
  19. package/lib/modules/action-bar/components/screen-share/index.browser.js +4 -2
  20. package/lib/modules/action-bar/components/screen-share/index.electron.js +4 -2
  21. package/lib/modules/action-bar/components/screen-share/submenu.d.ts +5 -1
  22. package/lib/modules/action-bar/components/screen-share/submenu.js +12 -9
  23. package/lib/modules/audio-stream/index.js +4 -2
  24. package/lib/modules/chat/index.css +8 -0
  25. package/lib/modules/chat/view.js +7 -1
  26. package/lib/modules/components/control-bar/components/switch-theme/index.css +2 -0
  27. package/lib/modules/components/control-bar/components/switch-theme/index.js +5 -7
  28. package/lib/modules/components/control-bar/index.css +0 -2
  29. package/lib/modules/components/control-bar/index.d.ts +1 -0
  30. package/lib/modules/components/control-bar/index.js +51 -15
  31. package/lib/modules/components/leave-meeting/main-scene/store.d.ts +3 -0
  32. package/lib/modules/components/leave-meeting/main-scene/store.js +12 -0
  33. package/lib/modules/components/leave-meeting/store.base.d.ts +4 -3
  34. package/lib/modules/components/leave-meeting/store.base.js +0 -10
  35. package/lib/modules/components/leave-meeting/waiting-scene/store.d.ts +5 -1
  36. package/lib/modules/components/leave-meeting/waiting-scene/store.js +17 -3
  37. package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +1 -2
  38. package/lib/modules/components/member-window/components/video-player/components/local-video-player-with-zoom.js +4 -3
  39. package/lib/modules/components/member-window/components/video-player/components/zoomable-container.js +18 -32
  40. package/lib/modules/components/toolbar/components/capture-tool/index.d.ts +0 -1
  41. package/lib/modules/components/toolbar/components/capture-tool/index.js +1 -2
  42. package/lib/modules/components/toolbar/components/vertical-frame/index.js +2 -2
  43. package/lib/modules/components/toolbar/hooks/use-resize-visible.js +45 -32
  44. package/lib/modules/components/toolbar/index.js +6 -24
  45. package/lib/modules/control-bar/components/boundary-detector.d.ts +7 -5
  46. package/lib/modules/control-bar/components/boundary-detector.js +22 -2
  47. package/lib/modules/control-bar/components/cloud-recording-buttons.d.ts +3 -0
  48. package/lib/modules/control-bar/components/cloud-recording-buttons.js +68 -3
  49. package/lib/modules/control-bar/hooks.js +2 -1
  50. package/lib/modules/control-bar/store.d.ts +1 -0
  51. package/lib/modules/control-bar/store.js +21 -7
  52. package/lib/modules/control-bar/view.js +96 -28
  53. package/lib/modules/dialog/components/confirm/index.js +6 -24
  54. package/lib/modules/dialog/components/dialog-container/component/body.d.ts +1 -0
  55. package/lib/modules/dialog/components/dialog-container/component/body.js +3 -2
  56. package/lib/modules/dialog/components/dialog-container/index.css +8 -1
  57. package/lib/modules/dialog/components/dialog-container/index.d.ts +1 -0
  58. package/lib/modules/dialog/components/dialog-container/index.js +4 -1
  59. package/lib/modules/dialog/components/normal-window/index.d.ts +1 -0
  60. package/lib/modules/dialog/components/normal-window/index.js +3 -1
  61. package/lib/modules/dialog/dialogs/chat/index.js +2 -1
  62. package/lib/modules/dialog/dialogs/control-bar-leave-meeting/index.js +0 -1
  63. package/lib/modules/dialog/dialogs/device-setting/index.d.ts +1 -0
  64. package/lib/modules/dialog/dialogs/device-setting/index.js +4 -2
  65. package/lib/modules/dialog/dialogs/end-meeting/index.d.ts +1 -0
  66. package/lib/modules/dialog/dialogs/end-meeting/index.js +2 -1
  67. package/lib/modules/dialog/dialogs/invite/index.d.ts +1 -0
  68. package/lib/modules/dialog/dialogs/invite/index.js +2 -1
  69. package/lib/modules/dialog/dialogs/mute-all/index.d.ts +1 -0
  70. package/lib/modules/dialog/dialogs/mute-all/index.js +2 -1
  71. package/lib/modules/dialog/dialogs/participant/index.js +9 -2
  72. package/lib/modules/dialog/dialogs/share-screen-selection/index.js +1 -1
  73. package/lib/modules/dialog/dialogs/sub-window/index.js +1 -7
  74. package/lib/modules/dialog/dialogs/toast/index.d.ts +1 -1
  75. package/lib/modules/dialog/dialogs/toast/index.js +1 -1
  76. package/lib/modules/dialog/dialogs/video-window/index.d.ts +4 -1
  77. package/lib/modules/dialog/dialogs/video-window/index.js +5 -2
  78. package/lib/modules/dialog/dialogs/widget/index.d.ts +2 -0
  79. package/lib/modules/dialog/dialogs/widget/index.js +11 -3
  80. package/lib/modules/dialog/index.css +6 -2
  81. package/lib/modules/dialog/level-config.d.ts +1 -0
  82. package/lib/modules/dialog/level-config.js +2 -1
  83. package/lib/modules/dialog/store.base.d.ts +2 -0
  84. package/lib/modules/dialog/store.browser.d.ts +2 -0
  85. package/lib/modules/dialog/store.browser.js +6 -1
  86. package/lib/modules/dialog/store.electron.d.ts +9 -1
  87. package/lib/modules/dialog/store.electron.js +64 -4
  88. package/lib/modules/dialog/type.d.ts +3 -0
  89. package/lib/modules/event-toast/index.css +0 -1
  90. package/lib/modules/event-toast/index.js +1 -0
  91. package/lib/modules/event-toast/store.base.d.ts +2 -0
  92. package/lib/modules/event-toast/store.base.js +40 -21
  93. package/lib/modules/event-toast/store.electron.d.ts +2 -0
  94. package/lib/modules/event-toast/store.electron.js +19 -9
  95. package/lib/modules/layout/components/CommonVideoRenderer.js +1 -0
  96. package/lib/modules/layout/store.electron.js +1 -1
  97. package/lib/modules/participant/components/confirm-input/index.js +1 -1
  98. package/lib/modules/participant/store.base.d.ts +30 -3
  99. package/lib/modules/participant/store.base.js +249 -96
  100. package/lib/modules/participant/store.browser.js +4 -3
  101. package/lib/modules/participant/store.electron.js +5 -3
  102. package/lib/modules/pc-audio-connect/main-scene/store.js +1 -0
  103. package/lib/modules/secondary-window/store.d.ts +1 -1
  104. package/lib/modules/secondary-window/store.js +14 -22
  105. package/lib/modules/secondary-window/view.js +10 -10
  106. package/lib/modules/setting/audio-settings/audio-settings.js +0 -17
  107. package/lib/modules/setting/index.js +1 -1
  108. package/lib/modules/setting/state/index.js +1 -1
  109. package/lib/modules/setting/store.base.d.ts +5 -2
  110. package/lib/modules/setting/store.base.js +72 -26
  111. package/lib/modules/share-screen/components/selection/index.css +4 -0
  112. package/lib/modules/share-screen/store.base.js +17 -4
  113. package/lib/modules/share-screen/store.electron.js +5 -2
  114. package/lib/modules/state-bar/layout-config.js +6 -0
  115. package/lib/modules/state-bar/main-scene/store.base.d.ts +2 -0
  116. package/lib/modules/state-bar/main-scene/store.base.js +6 -0
  117. package/lib/modules/video-window/index.css +6 -0
  118. package/lib/modules/video-window/popover-watcher.d.ts +5 -10
  119. package/lib/modules/video-window/popover-watcher.js +34 -31
  120. package/lib/modules/video-window/store.d.ts +32 -5
  121. package/lib/modules/video-window/store.js +156 -63
  122. package/lib/modules/video-window/view.js +50 -1
  123. package/lib/modules/whiteboard/index.d.ts +1 -1
  124. package/lib/modules/whiteboard/index.js +1 -1
  125. package/lib/modules/whiteboard/store.d.ts +3 -0
  126. package/lib/modules/whiteboard/store.js +31 -2
  127. package/lib/modules/whiteboard/view.js +10 -1
  128. package/lib/modules/widget/sdk.js +1 -1
  129. package/lib/modules/widget/store.base.d.ts +1 -0
  130. package/lib/modules/widget/store.browser.d.ts +1 -0
  131. package/lib/modules/widget/store.browser.js +60 -4
  132. package/lib/modules/widget/store.electron.d.ts +1 -0
  133. package/lib/modules/widget/store.electron.js +59 -2
  134. package/lib/modules/widget/type.d.ts +3 -2
  135. package/lib/modules/widget/view.js +9 -4
  136. package/lib/modules/widget/web-widget.d.ts +2 -1
  137. package/lib/modules/widget/web-widget.js +7 -5
  138. package/lib/object-manager.d.ts +2 -2
  139. package/lib/object-manager.js +1 -1
  140. package/lib/providers/board-share/bar-control/base.d.ts +1 -1
  141. package/lib/providers/board-share/bar-control/base.js +37 -28
  142. package/lib/providers/board-share/bar-control/electron.d.ts +1 -1
  143. package/lib/providers/board-share/bar-control/electron.js +19 -16
  144. package/lib/providers/board-share/provider.base.d.ts +8 -1
  145. package/lib/providers/board-share/provider.base.js +12 -2
  146. package/lib/providers/board-share/provider.browser.d.ts +3 -0
  147. package/lib/providers/board-share/provider.browser.js +21 -3
  148. package/lib/providers/device-provider.d.ts +16 -2
  149. package/lib/providers/device-provider.js +53 -60
  150. package/lib/providers/dialog/provider.base.d.ts +1 -0
  151. package/lib/providers/dialog/provider.browser.d.ts +1 -0
  152. package/lib/providers/dialog/provider.browser.js +7 -2
  153. package/lib/providers/dialog/provider.electron.d.ts +4 -1
  154. package/lib/providers/dialog/provider.electron.js +94 -2
  155. package/lib/providers/dialog/type.d.ts +7 -0
  156. package/lib/providers/mouse-detect/provider.d.ts +9 -1
  157. package/lib/providers/mouse-detect/provider.js +119 -5
  158. package/lib/providers/mouse-detect/struct.d.ts +2 -1
  159. package/lib/providers/mouse-detect/struct.js +1 -0
  160. package/lib/providers/mouse-detect/type.d.ts +2 -0
  161. package/lib/providers/multi-display-provider.d.ts +3 -5
  162. package/lib/providers/multi-display-provider.js +0 -9
  163. package/lib/providers/renderer-provider.d.ts +5 -0
  164. package/lib/providers/renderer-provider.js +5 -0
  165. package/lib/providers/room-provider/room-provider.d.ts +4 -14
  166. package/lib/providers/room-provider/room-provider.js +28 -39
  167. package/lib/providers/screen-share/provider.base.js +3 -11
  168. package/lib/providers/screen-share/provider.browser.js +23 -14
  169. package/lib/providers/screen-share/provider.electron.d.ts +1 -0
  170. package/lib/providers/screen-share/provider.electron.js +44 -17
  171. package/lib/providers/screen-share/strategy/browser.js +16 -13
  172. package/lib/providers/screen-share/strategy/electron.d.ts +2 -2
  173. package/lib/providers/screen-share/strategy/electron.js +15 -10
  174. package/lib/providers/screen-share/strategy/type.d.ts +6 -0
  175. package/lib/providers/screen-share/stream-state-sync.d.ts +3 -2
  176. package/lib/providers/screen-share/stream-state-sync.js +26 -16
  177. package/lib/providers/screen-share/struct.d.ts +9 -7
  178. package/lib/providers/screen-share/struct.js +11 -8
  179. package/lib/providers/screen-share/type.d.ts +7 -1
  180. package/lib/providers/widget-provider.d.ts +5 -3
  181. package/lib/providers/widget-provider.js +12 -18
  182. package/lib/providers/window/main-window.d.ts +0 -5
  183. package/lib/providers/window/main-window.js +3 -44
  184. package/lib/providers/window/renderer-window.d.ts +1 -0
  185. package/lib/providers/window/renderer-window.js +13 -2
  186. package/lib/runtime.d.ts +1 -0
  187. package/lib/runtime.js +2 -1
  188. package/lib/scenes/main-scene.js +5 -0
  189. package/lib/shared-context/board-context.d.ts +2 -0
  190. package/lib/shared-context/board-context.js +2 -0
  191. package/lib/shared-data/member-data.d.ts +0 -8
  192. package/lib/shared-data/member-data.js +26 -78
  193. package/lib/shared-data/widget-data.d.ts +13 -0
  194. package/lib/shared-data/widget-data.js +50 -0
  195. package/lib/translations/enUS.d.ts +0 -2
  196. package/lib/translations/enUS.js +4 -6
  197. package/lib/translations/zhCN.d.ts +0 -2
  198. package/lib/translations/zhCN.js +4 -6
  199. package/lib/type.d.ts +5 -0
  200. package/lib/ui-scene.d.ts +2 -4
  201. package/lib/ui-scene.js +31 -42
  202. package/lib/utilities/constant.d.ts +3 -1
  203. package/lib/utilities/constant.js +5 -2
  204. package/lib/utilities/default-config.d.ts +18 -0
  205. package/lib/utilities/default-config.js +19 -1
  206. package/lib/utilities/focus-helper.js +10 -3
  207. package/lib/utilities/logger.js +3 -1
  208. package/lib/utilities/renderer.d.ts +1 -0
  209. package/lib/utilities/renderer.js +7 -1
  210. package/package.json +5 -5
  211. package/public/index.html +35 -4
  212. package/lib/modules/action-bar/index.d.ts +0 -17
  213. package/lib/modules/action-bar/index.js +0 -63
  214. package/lib/modules/action-bar/store.base.d.ts +0 -15
  215. package/lib/modules/action-bar/store.base.js +0 -117
  216. package/lib/modules/action-bar/view.d.ts +0 -5
  217. package/lib/modules/action-bar/view.js +0 -112
  218. package/lib/modules/action-bar/waiting-scene/store.d.ts +0 -6
  219. package/lib/modules/action-bar/waiting-scene/store.js +0 -91
  220. package/lib/modules/control-bar/types.d.ts +0 -31
  221. package/lib/modules/control-bar/types.js +0 -6
  222. package/lib/modules/dialog/dialogs/pre-setting/index.css +0 -26
  223. package/lib/modules/dialog/dialogs/pre-setting/index.d.ts +0 -6
  224. package/lib/modules/dialog/dialogs/pre-setting/index.js +0 -57
  225. package/lib/modules/dialog/hooks/use-popover-watcher.d.ts +0 -14
  226. package/lib/modules/dialog/hooks/use-popover-watcher.js +0 -112
  227. package/lib/modules/event-toast/store.d.ts +0 -23
  228. package/lib/modules/event-toast/store.js +0 -187
  229. package/lib/modules/setting/common/advance-link.d.ts +0 -3
  230. package/lib/modules/setting/common/advance-link.js +0 -27
  231. package/lib/modules/setting/common/index.css +0 -26
  232. package/lib/modules/setting/common/useNamespace.d.ts +0 -15
  233. package/lib/modules/setting/common/useNamespace.js +0 -66
  234. package/lib/modules/widget/store.d.ts +0 -17
  235. package/lib/modules/widget/store.js +0 -71
  236. package/lib/providers/board-share/bar-control.d.ts +0 -51
  237. package/lib/providers/board-share/bar-control.js +0 -390
  238. package/lib/providers/board-share/provider.d.ts +0 -66
  239. package/lib/providers/board-share/provider.js +0 -456
  240. package/lib/providers/screen-share/provider.d.ts +0 -69
  241. package/lib/providers/screen-share/provider.js +0 -615
  242. package/lib/providers/whiteboard-provider.d.ts +0 -26
  243. package/lib/providers/whiteboard-provider.js +0 -131
  244. package/lib/providers/window/browser-window-proxy.d.ts +0 -0
  245. package/lib/providers/window/browser-window-proxy.js +0 -1
  246. package/lib/providers/window/ipc-protocol.d.ts +0 -0
  247. package/lib/providers/window/ipc-protocol.js +0 -1
  248. package/lib/providers/window/main-process-handler.d.ts +0 -0
  249. package/lib/providers/window/main-process-handler.js +0 -1
  250. package/lib/providers/window/main-process-integration.d.ts +0 -0
  251. package/lib/providers/window/main-process-integration.js +0 -1
  252. package/lib/shared-data/whiteboard-data.d.ts +0 -70
  253. package/lib/shared-data/whiteboard-data.js +0 -342
  254. package/lib/utilities/ipc-protocol.d.ts +0 -91
  255. package/lib/utilities/ipc-protocol.js +0 -61
@@ -4,7 +4,7 @@ require("core-js/modules/es.object.define-property.js");
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.windowHideErrorCode = exports.meetingLaunchProcessingErrorCode = exports.generaErrorCode = exports.closeWindowBeforeLaunchSuccessErrorCode = void 0;
7
+ exports.windowHideErrorCode = exports.meetingLaunchProcessingErrorCode = exports.mainWindowHiddenOnLaunchSuccessErrorCode = exports.hangDetectionErrorCode = exports.generaErrorCode = exports.crashedErrorCode = exports.closeWindowBeforeLaunchSuccessErrorCode = void 0;
8
8
  // 错误代码枚举定义
9
9
  var ServiceErrorCode = /*#__PURE__*/function (ServiceErrorCode) {
10
10
  ServiceErrorCode[ServiceErrorCode["FcrUIScene"] = 800] = "FcrUIScene";
@@ -44,6 +44,12 @@ var DetailErrorCode = /*#__PURE__*/function (DetailErrorCode) {
44
44
  DetailErrorCode[DetailErrorCode["closeWindowBeforeLaunchSuccess"] = 83] = "closeWindowBeforeLaunchSuccess";
45
45
  // 会议启动中
46
46
  DetailErrorCode[DetailErrorCode["meetingLaunchProcessing"] = 84] = "meetingLaunchProcessing";
47
+ // 窗口在会议启动后隐藏
48
+ DetailErrorCode[DetailErrorCode["mainWindowHiddenAfterLaunchSuccess"] = 85] = "mainWindowHiddenAfterLaunchSuccess";
49
+ // 窗口崩溃
50
+ DetailErrorCode[DetailErrorCode["crashed"] = 86] = "crashed";
51
+ // 窗口无响应
52
+ DetailErrorCode[DetailErrorCode["hangDetection"] = 87] = "hangDetection";
47
53
  return DetailErrorCode;
48
54
  }(DetailErrorCode || {}); // 格式:ServiceErrorCode(3位) + UISceneErrorCode(3位) + DetailErrorCode(3位)
49
55
  var generaErrorCode = exports.generaErrorCode = function generaErrorCode(serviceCode, uiSceneCode, detailCode) {
@@ -51,4 +57,7 @@ var generaErrorCode = exports.generaErrorCode = function generaErrorCode(service
51
57
  };
52
58
  var windowHideErrorCode = exports.windowHideErrorCode = generaErrorCode(ServiceErrorCode.FcrUIScene, UISceneErrorCode.Creator, DetailErrorCode.mainWindowHidden);
53
59
  var closeWindowBeforeLaunchSuccessErrorCode = exports.closeWindowBeforeLaunchSuccessErrorCode = generaErrorCode(ServiceErrorCode.FcrUIScene, UISceneErrorCode.Creator, DetailErrorCode.closeWindowBeforeLaunchSuccess);
54
- var meetingLaunchProcessingErrorCode = exports.meetingLaunchProcessingErrorCode = generaErrorCode(ServiceErrorCode.FcrUIScene, UISceneErrorCode.Creator, DetailErrorCode.meetingLaunchProcessing);
60
+ var meetingLaunchProcessingErrorCode = exports.meetingLaunchProcessingErrorCode = generaErrorCode(ServiceErrorCode.FcrUIScene, UISceneErrorCode.Creator, DetailErrorCode.meetingLaunchProcessing);
61
+ var mainWindowHiddenOnLaunchSuccessErrorCode = exports.mainWindowHiddenOnLaunchSuccessErrorCode = generaErrorCode(ServiceErrorCode.FcrUIScene, UISceneErrorCode.Creator, DetailErrorCode.mainWindowHiddenAfterLaunchSuccess);
62
+ var crashedErrorCode = exports.crashedErrorCode = generaErrorCode(ServiceErrorCode.FcrUIScene, UISceneErrorCode.Creator, DetailErrorCode.crashed);
63
+ var hangDetectionErrorCode = exports.hangDetectionErrorCode = generaErrorCode(ServiceErrorCode.FcrUIScene, UISceneErrorCode.Creator, DetailErrorCode.hangDetection);
@@ -195,6 +195,7 @@ var FragmentAnnotationStore = exports.FragmentAnnotationStore = /*#__PURE__*/fun
195
195
  this._cancelCurrentUpdateWindowSizeTimber('send-fragment-close');
196
196
  this.currentTool = 'curve';
197
197
  // TODO: window
198
+ this.logger.info('windows_index setAlwaysOnTop in annotation');
198
199
  // @ts-ignore
199
200
  window.runtime.browserWindow.setAlwaysOnTop(true, 'pop-up-menu');
200
201
  this.setIgnore(true);
@@ -370,6 +371,7 @@ var FragmentAnnotationStore = exports.FragmentAnnotationStore = /*#__PURE__*/fun
370
371
  key: "show",
371
372
  value: function show() {
372
373
  // TODO: window
374
+ this.logger.info('windows_index setAlwaysOnTop in annotation show');
373
375
  // @ts-ignore
374
376
  window.runtime.browserWindow.setAlwaysOnTop(true, 'pop-up-menu');
375
377
 
@@ -108,6 +108,7 @@ var ActionBarItem = exports.ActionBarItem = function ActionBarItem(props) {
108
108
  }), props.submenu && /*#__PURE__*/(0, _jsxRuntime.jsx)(_popover.FcrPopover, {
109
109
  showArrow: false,
110
110
  overlayClassName: "fcr-action-bar--popover",
111
+ visible: props.submenu.active,
111
112
  onVisibleChange: props.submenu.onVisibleChange,
112
113
  trigger: "click",
113
114
  content: props.submenu.children,
@@ -92,7 +92,7 @@ var ScreenShare = (0, _mobxReact.observer)(function (props) {
92
92
  type: _type2.FcrIconType.FCR_SCREENSHARING,
93
93
  size: 24
94
94
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
95
- children: transI18n('fmt_screenshare_label_screenshare')
95
+ children: transI18n('fmt_screenshare_controlbar_security_list_participant_screenshare')
96
96
  })]
97
97
  });
98
98
  });
@@ -26,7 +26,7 @@ var ScreenShare = exports.ScreenShare = (0, _mobxReact.observer)(function (_ref)
26
26
  visibleMenu = _useState2[0],
27
27
  setMenuVisible = _useState2[1];
28
28
  var transI18n = (0, _i18n.useI18n)();
29
- var title = transI18n('fmt_screenshare_label_screenshare');
29
+ var title = transI18n('fmt_screenshare_controlbar_security_list_participant_screenshare');
30
30
  (0, _react.useEffect)(function () {
31
31
  setMenuVisible(false);
32
32
  }, [hasStartScreenSharePermission]);
@@ -41,7 +41,9 @@ var ScreenShare = exports.ScreenShare = (0, _mobxReact.observer)(function (_ref)
41
41
  maxWidth: '370px',
42
42
  width: 'fit-content'
43
43
  },
44
- content: /*#__PURE__*/(0, _jsxRuntime.jsx)(_submenu.SubMenu, {}),
44
+ content: /*#__PURE__*/(0, _jsxRuntime.jsx)(_submenu.SubMenu, {
45
+ setMenuVisible: setMenuVisible
46
+ }),
45
47
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_item.ActionBarItem, {
46
48
  active: visibleMenu,
47
49
  disabled: !hasStartScreenSharePermission,
@@ -33,7 +33,9 @@ var ScreenShare = exports.ScreenShare = (0, _mobxReact.observer)(function (_ref)
33
33
  if ([_fcrCore.FcrUserRole.HOST, _fcrCore.FcrUserRole.COHOST].includes(localUserRole)) {
34
34
  return {
35
35
  active: visibleMenu,
36
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_submenu.SubMenu, {}),
36
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_submenu.SubMenu, {
37
+ setMenuVisible: setMenuVisible
38
+ }),
37
39
  onClick: function onClick() {
38
40
  setMenuVisible(true);
39
41
  },
@@ -47,7 +49,7 @@ var ScreenShare = exports.ScreenShare = (0, _mobxReact.observer)(function (_ref)
47
49
  return undefined;
48
50
  }
49
51
  }, [localUserRole, visibleMenu]);
50
- var title = transI18n('fmt_screenshare_label_screenshare');
52
+ var title = transI18n('fmt_screenshare_controlbar_security_list_participant_screenshare');
51
53
  (0, _react.useEffect)(function () {
52
54
  setMenuVisible(false);
53
55
  }, [hasStartScreenSharePermission]);
@@ -1 +1,5 @@
1
- export declare const SubMenu: () => import("react/jsx-runtime").JSX.Element;
1
+ interface SubMenuProps {
2
+ setMenuVisible: (visible: boolean) => void;
3
+ }
4
+ export declare const SubMenu: ({ setMenuVisible }: SubMenuProps) => import("react/jsx-runtime").JSX.Element;
5
+ export {};
@@ -36,13 +36,13 @@ var _truncate = _interopRequireDefault(require("lodash/truncate"));
36
36
  var _jsxRuntime = require("react/jsx-runtime");
37
37
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
38
38
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
39
- var SubMenu = exports.SubMenu = (0, _mobxReact.observer)(function () {
39
+ var SubMenu = exports.SubMenu = (0, _mobxReact.observer)(function (_ref) {
40
+ var setMenuVisible = _ref.setMenuVisible;
40
41
  var store = (0, _react.useContext)(_store.ActionBarContext);
41
42
  var setAllowScreenShare = store.setAllowScreenShare,
42
43
  localUserRole = store.localUserRole,
43
44
  openWhiteboard = store.openWhiteboard,
44
45
  closeWhiteboard = store.closeWhiteboard,
45
- isBoardActive = store.isBoardActive,
46
46
  startScreenShare = store.startScreenShare,
47
47
  hasStopScreenSharePermission = store.hasStopScreenSharePermission,
48
48
  closeShareScreen = store.closeShareScreen,
@@ -55,17 +55,17 @@ var SubMenu = exports.SubMenu = (0, _mobxReact.observer)(function () {
55
55
  // TODO: 使用 memberSharedDataSource.isLocalUserHost
56
56
  var hasHostPermission = [_fcrCore.FcrUserRole.HOST, _fcrCore.FcrUserRole.COHOST].includes(localUserRole);
57
57
  var menus = [];
58
- var boardOwnerUserName = isBoardActive ? store.boardOwnerUser.userName : '';
58
+ var boardOwnerUserName = store.isBoardActive ? store.boardOwnerUser.userName : '';
59
59
  var isSharingScreen = store.isLocalUserScreenSharing || store.isRemoteUserScreenSharing;
60
60
  var boardTitle;
61
61
  var boardMenuType;
62
62
  var isBoardMenuDisabled;
63
- if (!isBoardActive) {
63
+ if (!store.isBoardActive) {
64
64
  boardTitle = t('fmt_screenshare_button_sharewhiteboard');
65
65
  boardMenuType = 'primary';
66
66
  isBoardMenuDisabled = false;
67
67
  } else if (store.isMeSharingBoard) {
68
- boardTitle = t('fmt_screenshare_button_chosewhiteboard');
68
+ boardTitle = t('fmt_whiteboard_button_close');
69
69
  boardMenuType = 'danger';
70
70
  isBoardMenuDisabled = false;
71
71
  } else {
@@ -85,9 +85,10 @@ var SubMenu = exports.SubMenu = (0, _mobxReact.observer)(function () {
85
85
  iconPrimary: 'var(--fcr_ui_scene_icontext1)'
86
86
  }
87
87
  }),
88
- title: isSharingScreen ? t('fmt_screenshare_tips_newsharing') : t('fmt_screenshare_label_screenshare'),
88
+ title: isSharingScreen ? t('fmt_screenshare_tips_newsharing') : t('fmt_screenshare_controlbar_security_list_participant_screenshare'),
89
89
  key: 'allow_attendee_title',
90
90
  onButtonClick: function onButtonClick() {
91
+ setMenuVisible(false);
91
92
  startScreenShare();
92
93
  }
93
94
  }, {
@@ -103,9 +104,11 @@ var SubMenu = exports.SubMenu = (0, _mobxReact.observer)(function () {
103
104
  key: 'allow_attendee_title',
104
105
  type: boardMenuType,
105
106
  onButtonClick: function onButtonClick() {
106
- if (!isBoardActive) {
107
+ if (!store.isBoardActive) {
108
+ setMenuVisible(false);
107
109
  openWhiteboard();
108
110
  } else if (store.isMeSharingBoard) {
111
+ setMenuVisible(false);
109
112
  closeWhiteboard();
110
113
  } else {
111
114
  console.error('isBoardMenuDisabled: true, should not be clickable');
@@ -153,7 +156,7 @@ var SubMenu = exports.SubMenu = (0, _mobxReact.observer)(function () {
153
156
  shape: "rounded",
154
157
  block: true,
155
158
  children: t('fmt_screenshare_button_disableshare', {
156
- reason1: isBoardActive ? (0, _truncate["default"])(boardOwnerUserName, {
159
+ reason1: store.isBoardActive ? (0, _truncate["default"])(boardOwnerUserName, {
157
160
  length: 8,
158
161
  separator: ' '
159
162
  }) : t('fmt_actionbar_screenshare_labels_others')
@@ -162,8 +165,8 @@ var SubMenu = exports.SubMenu = (0, _mobxReact.observer)(function () {
162
165
  key: 'enable_whiteboard',
163
166
  classNames: 'fcr-drop-menu-option-primary-no-hover',
164
167
  onButtonClick: function onButtonClick() {
165
- // TODO: 主持人停用别人的共享后,应该把菜单关闭或者是更新菜单项
166
168
  closeWhiteboard();
169
+ setMenuVisible(false);
167
170
  }
168
171
  }];
169
172
  var shareScreenControlMenus = [{
@@ -151,8 +151,10 @@ var AudioStreamUIModule = exports.AudioStreamUIModule = /*#__PURE__*/function (_
151
151
  streams.forEach(function (stream) {
152
152
  if (stream.owner.userId !== _this._localUser.userId) {
153
153
  var isAudioPublished = stream.streamType === _fcrCore.FcrStreamType.AUDIO || stream.streamType === _fcrCore.FcrStreamType.BOTH;
154
- var isAudioDeviceStarted = stream.audioSourceState === _fcrCore.FcrMediaSourceState.OPEN;
155
- if (isAudioPublished && isAudioDeviceStarted) {
154
+
155
+ // const isAudioDeviceStarted = stream.audioSourceState === FcrMediaSourceState.OPEN;
156
+
157
+ if (isAudioPublished) {
156
158
  _this.logger.info('start play remote audio', stream.streamId);
157
159
  streamControl.startPlayRemoteAudioStream(stream.streamId);
158
160
  } else {
@@ -107,3 +107,11 @@
107
107
  .fcr-line-message-container {
108
108
  width: 100%;
109
109
  }
110
+
111
+ .fcr-chat-container-box-web {
112
+ height: 100%;
113
+ }
114
+
115
+ .fcr-chat-container-box-electron {
116
+ height: calc(100% - 46px);
117
+ }
@@ -50,6 +50,8 @@ var _fcrCore = require("fcr-core");
50
50
  var _types = require("./types");
51
51
  var _chatTabs = _interopRequireDefault(require("./components/chat-tabs"));
52
52
  var _browserApi = require("../../utilities/browser-api");
53
+ var _classnames = _interopRequireDefault(require("classnames"));
54
+ var _env = require("agora-foundation/lib/utilities/env");
53
55
  var _jsxRuntime = require("react/jsx-runtime");
54
56
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
55
57
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -194,7 +196,11 @@ var Chat = exports.Chat = (0, _mobxReact.observer)(function (_ref) {
194
196
  }
195
197
  });
196
198
  };
197
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
199
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
200
+ className: (0, _classnames["default"])({
201
+ 'fcr-chat-container-box-web': !(0, _env.isElectron)(),
202
+ 'fcr-chat-container-box-electron': (0, _env.isElectron)()
203
+ }),
198
204
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_chatTabs["default"], {}), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
199
205
  style: _objectSpread({}, styles),
200
206
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_chatWrapper.ChatWrapper, {
@@ -11,6 +11,8 @@
11
11
  .fcr-whiteboard-switch-theme-popover {
12
12
  max-width: 100%;
13
13
  width: 100%;
14
+ z-index: 1;
15
+ padding: 0;
14
16
  }
15
17
  .fcr-whiteboard-switch-theme-popover .fcr-tooltip-inner {
16
18
  border-radius: 0 !important;
@@ -38,13 +38,11 @@ var WhiteboardSwitchTheme = function WhiteboardSwitchTheme(props) {
38
38
  width: '100%'
39
39
  },
40
40
  overlayOffset: 4,
41
- showArrow: false
42
- // getTooltipContainer={() => {
43
- // const target = document.getElementById('fcr-whiteboard-controlbar') as HTMLElement;
44
- // console.log({ target });
45
- // return target;
46
- // }}
47
- ,
41
+ showArrow: false,
42
+ getTooltipContainer: function getTooltipContainer() {
43
+ var target = document.getElementById('fcr-whiteboard-controlbar');
44
+ return target;
45
+ },
48
46
  visible: whiteboardVisible,
49
47
  content: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
50
48
  className: "fcr-whiteboard-switch-theme",
@@ -21,12 +21,10 @@
21
21
  }
22
22
  .fcr-whiteboard-controlbar-body {
23
23
  width: 100%;
24
- height: 100%;
25
24
  /* display: flex;
26
25
  align-items: center;
27
26
  justify-content: center; */
28
27
  position: absolute;
29
- top: 0;
30
28
  bottom: 0;
31
29
  background-color: #e5e7eb;
32
30
  }
@@ -20,6 +20,7 @@ type WhiteboardProps = {
20
20
  isSharingWithAudio?: boolean;
21
21
  ownerUserName: string;
22
22
  isMyBoard: boolean;
23
+ showControlBar?: boolean;
23
24
  };
24
25
  type PickRequired<T extends object, K extends keyof T> = Required<Pick<T, K>> & Omit<T, K>;
25
26
  type SharingType<T extends 'whiteboard' | 'screenshare' | undefined> = T extends 'whiteboard' ? WhiteboardProps : PickRequired<Partial<WhiteboardProps>, 'onZoomIn' | 'onZoomOut' | 'onAdaptive' | 'onOrigin' | 'isSharingWithAudio'>;
@@ -21,9 +21,10 @@ var _i18n = require("agora-ui-foundation/lib/i18n");
21
21
  var _type2 = require("../../whiteboard/type");
22
22
  var _enums = require("fcr-core/lib/room-control/whiteboard-control/enums");
23
23
  require("./index.css");
24
+ var _debounce = _interopRequireDefault(require("lodash/debounce"));
24
25
  var _jsxRuntime = require("react/jsx-runtime");
25
26
  var initWidth = 1920;
26
- var initHeight = 1220;
27
+ var initHeight = 1080;
27
28
  var WhiteboardControlbar = exports.WhiteboardControlbar = function WhiteboardControlbar(props) {
28
29
  var transI18n = (0, _i18n.useI18n)();
29
30
  var onClose = props.onClose,
@@ -43,7 +44,9 @@ var WhiteboardControlbar = exports.WhiteboardControlbar = function WhiteboardCon
43
44
  onZoomOut = props.onZoomOut,
44
45
  onAdaptive = props.onAdaptive,
45
46
  onOrigin = props.onOrigin,
46
- isSharingWithAudio = props.isSharingWithAudio;
47
+ isSharingWithAudio = props.isSharingWithAudio,
48
+ _props$showControlBar = props.showControlBar,
49
+ showControlBar = _props$showControlBar === void 0 ? true : _props$showControlBar;
47
50
  var boardRef = (0, _react.useRef)(undefined);
48
51
  var _useState = (0, _react.useState)(false),
49
52
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
@@ -81,16 +84,32 @@ var WhiteboardControlbar = exports.WhiteboardControlbar = function WhiteboardCon
81
84
  var cursor = (0, _react.useMemo)(function () {
82
85
  return _enums.FcrBoardToolType[currentTool || _enums.FcrBoardToolType.NONE].toLowerCase();
83
86
  }, [currentTool]);
87
+ var resetHeight = (0, _react.useCallback)(function () {
88
+ var _boardRef$current;
89
+ var height = ((_boardRef$current = boardRef.current) === null || _boardRef$current === void 0 ? void 0 : _boardRef$current.clientHeight) || 0;
90
+ setContianHeight(height);
91
+ }, []);
92
+ var resetHeightDebounce = (0, _react.useCallback)((0, _debounce["default"])(resetHeight, 100), []);
93
+ var ratio = (0, _react.useMemo)(function () {
94
+ var ratio = contianHeight / initHeight;
95
+ return ratio;
96
+ }, [contianHeight, initHeight]);
84
97
  (0, _react.useEffect)(function () {
98
+ window.addEventListener('resize', resetHeightDebounce);
85
99
  return function () {
86
- return setLoading(false);
100
+ setLoading(false);
101
+ window.removeEventListener('resize', resetHeightDebounce);
102
+ if (boardRef.current) {
103
+ boardRef.current.removeEventListener('transitionend', resetHeight);
104
+ }
87
105
  };
88
106
  }, []);
89
107
  var handleBoardRef = function handleBoardRef(ref) {
90
- var _boardRef$current;
91
108
  boardRef.current = ref;
92
- var height = ((_boardRef$current = boardRef.current) === null || _boardRef$current === void 0 ? void 0 : _boardRef$current.clientHeight) || 0;
93
- setContianHeight(height);
109
+ resetHeight();
110
+ if (boardRef.current) {
111
+ boardRef.current.addEventListener('transitionend', resetHeight);
112
+ }
94
113
  };
95
114
  var showEditButton = !controlEnabled && !isMyBoard && !isHost && isWhiteboard;
96
115
  var showChangeThemeButton = (canWriteBoard || isMyBoard || isHost) && setTheme && currentTheme;
@@ -102,16 +121,18 @@ var WhiteboardControlbar = exports.WhiteboardControlbar = function WhiteboardCon
102
121
  setIsMaxmum(false);
103
122
  setIsAdaptived(false);
104
123
  setIsOriginal(false);
105
- var step = 3;
124
+ var max = 3;
125
+ var step = 0.5;
106
126
  if (oprate === _type2.WhiteboardControlbarEvents.ZOOMIN) {
107
127
  if (onZoomIn) {
108
128
  var result = onZoomIn();
109
129
  setIsMaxmum(!result);
110
130
  return;
111
131
  }
112
- if (scaleValue < step) {
132
+ if (scaleValue < max) {
113
133
  setIsMaxmum(false);
114
- setScaleValue(scaleValue + 1);
134
+ var zoomIn = scaleValue + step;
135
+ setScaleValue(zoomIn);
115
136
  } else {
116
137
  setIsMaxmum(true);
117
138
  }
@@ -123,7 +144,9 @@ var WhiteboardControlbar = exports.WhiteboardControlbar = function WhiteboardCon
123
144
  return;
124
145
  }
125
146
  if (scaleValue > 1) {
126
- setScaleValue(scaleValue - 1);
147
+ var zoomOut = scaleValue - step;
148
+ var diff = zoomOut % step;
149
+ setScaleValue(diff === 0 ? zoomOut : zoomOut - diff);
127
150
  } else {
128
151
  setIsMinimum(true);
129
152
  }
@@ -134,8 +157,11 @@ var WhiteboardControlbar = exports.WhiteboardControlbar = function WhiteboardCon
134
157
  setIsOriginal(!_result2);
135
158
  return;
136
159
  }
160
+ // 如果容器高和画布原始高度的比值小于1,代表画布原始高比容器大,则设置放大倍率用 1 + 比率
161
+ // 如果容器高和画布原始告诉的比值大于1,代表容器比画布原始高度大,则设置放大倍率为原始高度和容器高度的比率
162
+ var origin = ratio < 1 ? 1 + ratio : initHeight / contianHeight;
137
163
  setIsOriginal(true);
138
- setScaleValue(1);
164
+ setScaleValue(origin);
139
165
  }
140
166
  if (oprate === _type2.WhiteboardControlbarEvents.ADAPTIVE) {
141
167
  if (onAdaptive) {
@@ -144,15 +170,23 @@ var WhiteboardControlbar = exports.WhiteboardControlbar = function WhiteboardCon
144
170
  return;
145
171
  }
146
172
  setIsAdaptived(true);
147
- setScaleValue(2);
173
+ setScaleValue(1);
148
174
  }
149
175
  }
150
176
  var width = (0, _react.useMemo)(function () {
177
+ if (scaleValue === ratio) return initWidth;
151
178
  return initWidth * (contianHeight / initHeight) * scaleValue;
152
179
  }, [contianHeight, scaleValue]);
153
180
  var height = (0, _react.useMemo)(function () {
181
+ if (scaleValue === ratio) return initHeight;
154
182
  return initHeight * (contianHeight / initHeight) * scaleValue;
155
183
  }, [contianHeight, scaleValue]);
184
+ var top = (0, _react.useMemo)(function () {
185
+ if (contianHeight > height) return (contianHeight - height) / 2;
186
+ if (height === contianHeight) return 0;
187
+ if (scaleValue === 1) return 0;
188
+ return "-".concat((height - contianHeight) / 2, "px");
189
+ }, [height, contianHeight, scaleValue]);
156
190
  var preventAction = (0, _react.useMemo)(function () {
157
191
  var prevent = true;
158
192
 
@@ -175,7 +209,7 @@ var WhiteboardControlbar = exports.WhiteboardControlbar = function WhiteboardCon
175
209
  style: {
176
210
  height: isWhiteboard ? '100%' : 'auto'
177
211
  },
178
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
212
+ children: [showControlBar && /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
179
213
  className: "fcr-whiteboard-controlbar-header",
180
214
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
181
215
  className: "fcr-whiteboard-controlbar-left",
@@ -307,7 +341,9 @@ var WhiteboardControlbar = exports.WhiteboardControlbar = function WhiteboardCon
307
341
  className: "fcr-whiteboard-controlbar-body",
308
342
  ref: handleBoardRef,
309
343
  style: {
310
- backgroundColor: '#e5e7eb'
344
+ backgroundColor: '#e5e7eb',
345
+ height: showControlBar ? 'calc(100% - 28px)' : '100%',
346
+ top: showControlBar ? '28px' : '0'
311
347
  },
312
348
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
313
349
  className: "fcr-whiteboard-controlbar-body-content",
@@ -317,7 +353,7 @@ var WhiteboardControlbar = exports.WhiteboardControlbar = function WhiteboardCon
317
353
  position: 'absolute',
318
354
  left: "-".concat(width / 2, "px"),
319
355
  marginLeft: '50%',
320
- top: "-".concat((height - contianHeight) / 2, "px")
356
+ top: top
321
357
  },
322
358
  children: [onBoardDomLoaded && preventAction && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
323
359
  className: "whiteboard-action-prevent"
@@ -4,7 +4,10 @@ import { FcrPlatform } from 'fcr-core/lib/type';
4
4
  export default class LeaveMeetingStoreMain extends LeaveMeetingStoreBase {
5
5
  private _sharedMemberDataSource;
6
6
  private _abilityProvider;
7
+ private _memberDataSource;
7
8
  constructor(args: LeaveMeetingStoreArgs);
9
+ get localUserId(): string;
10
+ get localUserRole(): import("fcr-core/lib/type").FcrUserRole;
8
11
  get hostAvailibleRemoteUsers(): import("fcr-core/lib/type").FcrUserInfo[];
9
12
  get isPstnUser(): boolean;
10
13
  isHostSupportedByPlatform(platform: FcrPlatform): boolean;
@@ -73,10 +73,22 @@ var LeaveMeetingStoreMain = exports["default"] = /*#__PURE__*/function (_LeaveMe
73
73
  (0, _defineProperty2["default"])(_this, _ref, void _initProto(_this));
74
74
  _this._sharedMemberDataSource = args.objectManager.getObject(_objectManager.FcrUIObjectKeys.S_SHARED_MEMBER_DATA_SOURCE);
75
75
  _this._abilityProvider = args.objectManager.getObject(_objectManager.FcrUIObjectKeys.P_ABILITY_PROVIDER);
76
+ var memberDataSource = args.objectManager.getObject(_objectManager.FcrUIObjectKeys.S_SHARED_MEMBER_DATA_SOURCE);
77
+ _this._memberDataSource = memberDataSource;
76
78
  return _this;
77
79
  }
78
80
  (0, _inherits2["default"])(LeaveMeetingStoreMain, _LeaveMeetingStoreBas);
79
81
  return (0, _createClass2["default"])(LeaveMeetingStoreMain, [{
82
+ key: "localUserId",
83
+ get: function get() {
84
+ return this._memberDataSource.localUser.userId;
85
+ }
86
+ }, {
87
+ key: "localUserRole",
88
+ get: function get() {
89
+ return this._memberDataSource.localUserRole;
90
+ }
91
+ }, {
80
92
  key: "hostAvailibleRemoteUsers",
81
93
  get: function get() {
82
94
  var _this2 = this;
@@ -1,8 +1,9 @@
1
1
  import { FcrUserInfo, FcrUserRole, FcrPlatform } from 'fcr-core/lib/type';
2
+ import { FcrUserControl } from 'fcr-core';
2
3
  import { LeaveMeetingStoreArgs } from './type';
3
4
  export declare abstract class LeaveMeetingStoreBase {
4
5
  private _roomControl;
5
- private _userControl;
6
+ protected _userControl: FcrUserControl;
6
7
  private _streamControl;
7
8
  private _privilegeProvider;
8
9
  private _dialogProvider;
@@ -12,8 +13,8 @@ export declare abstract class LeaveMeetingStoreBase {
12
13
  accessor canAssign: boolean;
13
14
  accessor loading: boolean;
14
15
  get isLocked(): boolean;
15
- get localUserId(): string;
16
- get localUserRole(): FcrUserRole;
16
+ abstract get localUserId(): string;
17
+ abstract get localUserRole(): FcrUserRole;
17
18
  get hasAssignHostBeforeLeavingPermission(): boolean;
18
19
  get hasEndRoomPermission(): boolean;
19
20
  abstract get hostAvailibleRemoteUsers(): FcrUserInfo[];
@@ -121,16 +121,6 @@ var LeaveMeetingStoreBase = exports.LeaveMeetingStoreBase = /*#__PURE__*/functio
121
121
  get: function get() {
122
122
  return this._privilegeProvider.isLockRoomEnabled();
123
123
  }
124
- }, {
125
- key: "localUserId",
126
- get: function get() {
127
- return this._userControl.getLocalUser().userId;
128
- }
129
- }, {
130
- key: "localUserRole",
131
- get: function get() {
132
- return this._userControl.getLocalUser().userRole;
133
- }
134
124
  }, {
135
125
  key: "hasAssignHostBeforeLeavingPermission",
136
126
  get: function get() {
@@ -1,8 +1,12 @@
1
1
  import { LeaveMeetingStoreBase } from '../store.base';
2
2
  import { LeaveMeetingStoreArgs } from '../type';
3
- import { FcrPlatform } from 'fcr-core/lib/type';
3
+ import { FcrPlatform, FcrUserRole } from 'fcr-core/lib/type';
4
4
  export default class LeaveMeetingStoreWaiting extends LeaveMeetingStoreBase {
5
+ private _localUserId;
6
+ private _localUserRole;
5
7
  constructor(args: LeaveMeetingStoreArgs);
8
+ get localUserId(): string;
9
+ get localUserRole(): FcrUserRole;
6
10
  get hostAvailibleRemoteUsers(): never[];
7
11
  get isPstnUser(): boolean;
8
12
  isHostSupportedByPlatform(platform: FcrPlatform): boolean;
@@ -48,6 +48,7 @@ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/creat
48
48
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
49
49
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
50
50
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
51
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
51
52
  var _mobx = require("mobx");
52
53
  var _store = require("../store.base");
53
54
  var _LeaveMeetingStoreWaiting;
@@ -59,17 +60,30 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
59
60
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
60
61
  function _setFunctionName(e, t, n) { "symbol" == _typeof(t) && (t = (t = t.description) ? "[" + t + "]" : ""); try { Object.defineProperty(e, "name", { configurable: !0, value: n ? n + " " + t : t }); } catch (e) {} return e; }
61
62
  function _checkInRHS(e) { if (Object(e) !== e) throw TypeError("right-hand side of 'in' should be an object, got " + (null !== e ? _typeof(e) : "null")); return e; }
62
- _ref = (_isHostSupportedByPlatformDecs = [_mobx.action, _mobx.action.bound], "hostAvailibleRemoteUsers");
63
+ _ref = (_isHostSupportedByPlatformDecs = [_mobx.action, _mobx.action.bound], "_localUserId");
63
64
  var LeaveMeetingStoreWaiting = exports["default"] = /*#__PURE__*/function (_LeaveMeetingStoreBas) {
64
65
  function LeaveMeetingStoreWaiting(args) {
65
66
  var _this;
66
67
  (0, _classCallCheck2["default"])(this, LeaveMeetingStoreWaiting);
67
- _initProto(_this = _callSuper(this, LeaveMeetingStoreWaiting, [args]));
68
+ _this = _callSuper(this, LeaveMeetingStoreWaiting, [args]);
69
+ (0, _defineProperty2["default"])(_this, _ref, void _initProto(_this));
70
+ _this._localUserId = _this._userControl.getLocalUser().userId;
71
+ _this._localUserRole = _this._userControl.getLocalUser().userRole;
68
72
  return _this;
69
73
  }
70
74
  (0, _inherits2["default"])(LeaveMeetingStoreWaiting, _LeaveMeetingStoreBas);
71
75
  return (0, _createClass2["default"])(LeaveMeetingStoreWaiting, [{
72
- key: _ref,
76
+ key: "localUserId",
77
+ get: function get() {
78
+ return this._localUserId;
79
+ }
80
+ }, {
81
+ key: "localUserRole",
82
+ get: function get() {
83
+ return this._localUserRole;
84
+ }
85
+ }, {
86
+ key: "hostAvailibleRemoteUsers",
73
87
  get: function get() {
74
88
  return [];
75
89
  }
@@ -111,8 +111,7 @@ var MoreActions = exports.MoreActions = (0, _mobxReact.observer)(function (_ref)
111
111
  boxShadow: 'var(--fcr_web_light_dropup_m)',
112
112
  borderRadius: 'var(--fcr_cornerradius_l)',
113
113
  minWidth: '210px',
114
- maxWidth: '300px',
115
- width: 'fit-content'
114
+ maxWidth: '300px'
116
115
  },
117
116
  overlayClassName: "member-window-actions__more-actions",
118
117
  mouseEnterDelay: 0,
@@ -20,14 +20,15 @@ var FcrUILocalCameraVideoPlayer = (0, _mobxReact.observer)(function (props) {
20
20
  cameraEnabled = _context$localVideoRe.cameraEnabled,
21
21
  cameraId = _context$localVideoRe.cameraId,
22
22
  startCameraPreview = _context$localVideoRe.startCameraPreview,
23
- stopCameraPreview = _context$localVideoRe.stopCameraPreview;
23
+ stopCameraPreview = _context$localVideoRe.stopCameraPreview,
24
+ isLocalMirrorEnabled = _context$localVideoRe.isLocalMirrorEnabled;
24
25
  (0, _react.useEffect)(function () {
25
26
  var dom = divRef.current;
26
27
  if (dom && cameraEnabled) {
27
28
  isPreviewingRef.current = true;
28
29
  startCameraPreview(dom, {
29
30
  renderMode: renderMode,
30
- isMirror: false
31
+ isMirror: isLocalMirrorEnabled
31
32
  });
32
33
  }
33
34
  return function () {
@@ -38,7 +39,7 @@ var FcrUILocalCameraVideoPlayer = (0, _mobxReact.observer)(function (props) {
38
39
  stopCameraPreview(dom);
39
40
  }
40
41
  };
41
- }, [cameraEnabled, cameraId]);
42
+ }, [cameraEnabled, cameraId, isLocalMirrorEnabled]);
42
43
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
43
44
  className: "fcr-member-window-body fcr-member-window-body-video",
44
45
  ref: divRef