fcr-ui-scene 3.7.6 → 3.7.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (259) hide show
  1. package/installer/icons/icon.png +0 -0
  2. package/installer/mac/entitlements.mac.plist +1 -5
  3. package/lib/creator/index.js +12 -6
  4. package/lib/creator/provider-initializer.browser.js +0 -3
  5. package/lib/creator/provider-initializer.electron.js +0 -4
  6. package/lib/creator.d.ts +36 -0
  7. package/lib/creator.js +465 -0
  8. package/lib/electron/bootstrap-sdk.js +70 -20
  9. package/lib/electron/struct.d.ts +7 -1
  10. package/lib/electron/struct.js +8 -1
  11. package/lib/electron/until.d.ts +3 -1
  12. package/lib/electron/until.js +7 -2
  13. package/lib/modules/action-bar/components/item/index.js +1 -0
  14. package/lib/modules/action-bar/components/screen-share/submenu.js +1 -1
  15. package/lib/modules/action-bar/index.d.ts +58 -0
  16. package/lib/modules/action-bar/index.dev.d.ts +0 -0
  17. package/lib/modules/action-bar/index.dev.js +94 -0
  18. package/lib/modules/action-bar/index.js +109 -0
  19. package/lib/modules/action-bar/store.d.ts +259 -0
  20. package/lib/modules/action-bar/store.js +1529 -0
  21. package/lib/modules/action-bar/types.d.ts +90 -0
  22. package/lib/modules/action-bar/types.js +6 -0
  23. package/lib/modules/action-bar/view.d.ts +5 -0
  24. package/lib/modules/action-bar/view.js +112 -0
  25. package/lib/modules/annotation/annotation-index.d.ts +2 -0
  26. package/lib/modules/annotation/annotation-index.js +80 -0
  27. package/lib/modules/annotation/annotation-toolbar-store.d.ts +75 -0
  28. package/lib/modules/annotation/annotation-toolbar-store.js +459 -0
  29. package/lib/modules/annotation/board-cursor.css +77 -0
  30. package/lib/modules/annotation/components/color-picker/components/color.d.ts +5 -0
  31. package/lib/modules/annotation/components/color-picker/components/color.js +38 -0
  32. package/lib/modules/annotation/components/color-picker/components/panel.d.ts +1 -0
  33. package/lib/modules/annotation/components/color-picker/components/panel.js +109 -0
  34. package/lib/modules/annotation/components/color-picker/components/picker.d.ts +1 -0
  35. package/lib/modules/annotation/components/color-picker/components/picker.js +75 -0
  36. package/lib/modules/annotation/components/color-picker/index.d.ts +2 -0
  37. package/lib/modules/annotation/components/color-picker/index.js +47 -0
  38. package/lib/modules/annotation/components/eraser-picker.d.ts +4 -0
  39. package/lib/modules/annotation/components/eraser-picker.js +144 -0
  40. package/lib/modules/annotation/components/expansion/index.d.ts +1 -0
  41. package/lib/modules/annotation/components/expansion/index.js +100 -0
  42. package/lib/modules/annotation/components/extra-tool-picker.d.ts +1 -0
  43. package/lib/modules/annotation/components/extra-tool-picker.js +62 -0
  44. package/lib/modules/annotation/components/history.d.ts +2 -0
  45. package/lib/modules/annotation/components/history.js +78 -0
  46. package/lib/modules/annotation/components/icons/fold-icon.d.ts +2 -0
  47. package/lib/modules/annotation/components/icons/fold-icon.js +41 -0
  48. package/lib/modules/annotation/components/icons/move-icon.d.ts +1 -0
  49. package/lib/modules/annotation/components/icons/move-icon.js +66 -0
  50. package/lib/modules/annotation/components/item/index.d.ts +1 -0
  51. package/lib/modules/annotation/components/item/index.js +43 -0
  52. package/lib/modules/annotation/components/move-handle.d.ts +5 -0
  53. package/lib/modules/annotation/components/move-handle.js +134 -0
  54. package/lib/modules/annotation/components/pen-picker.d.ts +4 -0
  55. package/lib/modules/annotation/components/pen-picker.js +155 -0
  56. package/lib/modules/annotation/components/screen-capture-picker.d.ts +4 -0
  57. package/lib/modules/annotation/components/screen-capture-picker.js +85 -0
  58. package/lib/modules/annotation/components/shape-picker.d.ts +4 -0
  59. package/lib/modules/annotation/components/shape-picker.js +210 -0
  60. package/lib/modules/annotation/hooks/index.d.ts +14 -0
  61. package/lib/modules/annotation/hooks/index.js +292 -0
  62. package/lib/modules/annotation/index.d.ts +45 -0
  63. package/lib/modules/annotation/index.js +168 -0
  64. package/lib/modules/annotation/store.d.ts +98 -0
  65. package/lib/modules/annotation/store.js +620 -0
  66. package/lib/modules/annotation/style.css +36 -0
  67. package/lib/modules/annotation/view.d.ts +3 -0
  68. package/lib/modules/annotation/view.js +44 -0
  69. package/lib/modules/chat/index.css +5 -1
  70. package/lib/modules/chat/view.js +6 -1
  71. package/lib/modules/components/control-bar/components/switch-theme/index.css +2 -0
  72. package/lib/modules/components/control-bar/components/switch-theme/index.js +5 -7
  73. package/lib/modules/components/control-bar/index.js +26 -7
  74. package/lib/modules/components/device-control/store.d.ts +42 -0
  75. package/lib/modules/components/device-control/store.js +241 -0
  76. package/lib/modules/components/leave-meeting/store.d.ts +39 -0
  77. package/lib/modules/components/leave-meeting/store.js +270 -0
  78. package/lib/modules/components/toolbar/components/capture-tool/index.d.ts +0 -1
  79. package/lib/modules/components/toolbar/components/capture-tool/index.js +1 -2
  80. package/lib/modules/components/toolbar/components/vertical-frame/index.js +2 -2
  81. package/lib/modules/components/toolbar/hooks/use-resize-visible.js +43 -42
  82. package/lib/modules/components/toolbar/index.js +6 -24
  83. package/lib/modules/control-bar/components/annotation-button/index.d.ts +1 -0
  84. package/lib/modules/control-bar/components/annotation-button/index.js +72 -0
  85. package/lib/modules/control-bar/components/cloud-recording-buttons.d.ts +3 -0
  86. package/lib/modules/control-bar/components/cloud-recording-buttons.js +65 -3
  87. package/lib/modules/control-bar/store.js +11 -6
  88. package/lib/modules/control-bar/types.d.ts +20 -0
  89. package/lib/modules/control-bar/types.js +6 -0
  90. package/lib/modules/dialog/components/dialog-container/component/body.d.ts +1 -0
  91. package/lib/modules/dialog/components/dialog-container/component/body.js +3 -2
  92. package/lib/modules/dialog/components/dialog-container/index.css +1 -1
  93. package/lib/modules/dialog/components/dialog-container/index.d.ts +1 -0
  94. package/lib/modules/dialog/components/dialog-container/index.js +4 -1
  95. package/lib/modules/dialog/components/normal-window/index.d.ts +1 -0
  96. package/lib/modules/dialog/components/normal-window/index.js +3 -1
  97. package/lib/modules/dialog/dialogs/chat/index.js +2 -1
  98. package/lib/modules/dialog/dialogs/control-bar-leave-meeting/index.js +0 -1
  99. package/lib/modules/dialog/dialogs/end-meeting/index.d.ts +1 -0
  100. package/lib/modules/dialog/dialogs/end-meeting/index.js +2 -1
  101. package/lib/modules/dialog/dialogs/participant/index.js +2 -1
  102. package/lib/modules/dialog/dialogs/pre-setting/index.css +26 -0
  103. package/lib/modules/dialog/dialogs/pre-setting/index.d.ts +6 -0
  104. package/lib/modules/dialog/dialogs/pre-setting/index.js +62 -0
  105. package/lib/modules/dialog/dialogs/widget/electron.d.ts +6 -0
  106. package/lib/modules/dialog/dialogs/widget/electron.js +38 -0
  107. package/lib/modules/dialog/hooks/use-popover-watcher.d.ts +14 -0
  108. package/lib/modules/dialog/hooks/use-popover-watcher.js +110 -0
  109. package/lib/modules/dialog/hooks/useElectron.d.ts +28 -0
  110. package/lib/modules/dialog/hooks/useElectron.js +277 -0
  111. package/lib/modules/dialog/store.d.ts +135 -0
  112. package/lib/modules/dialog/store.js +616 -0
  113. package/lib/modules/event-confirm/components/window/index.d.ts +7 -0
  114. package/lib/modules/event-confirm/components/window/index.js +221 -0
  115. package/lib/modules/event-confirm/index.css +24 -0
  116. package/lib/modules/event-confirm/index.d.ts +27 -0
  117. package/lib/modules/event-confirm/index.js +76 -0
  118. package/lib/modules/event-confirm/store.d.ts +50 -0
  119. package/lib/modules/event-confirm/store.js +394 -0
  120. package/lib/modules/event-confirm/view.d.ts +2 -0
  121. package/lib/modules/event-confirm/view.js +55 -0
  122. package/lib/modules/event-toast/store.d.ts +27 -0
  123. package/lib/modules/event-toast/store.js +205 -0
  124. package/lib/modules/layout/store.d.ts +176 -0
  125. package/lib/modules/layout/store.electron.js +1 -1
  126. package/lib/modules/layout/store.js +1452 -0
  127. package/lib/modules/participant/store.d.ts +222 -0
  128. package/lib/modules/participant/store.js +1929 -0
  129. package/lib/modules/pc-audio-connect/index.d.ts +22 -0
  130. package/lib/modules/pc-audio-connect/index.js +67 -0
  131. package/lib/modules/pc-audio-connect/store.d.ts +46 -0
  132. package/lib/modules/pc-audio-connect/store.js +304 -0
  133. package/lib/modules/secondary-window/store.d.ts +0 -1
  134. package/lib/modules/secondary-window/store.js +9 -22
  135. package/lib/modules/secondary-window/view.js +6 -5
  136. package/lib/modules/setting/common/advance-link.d.ts +3 -0
  137. package/lib/modules/setting/common/advance-link.js +27 -0
  138. package/lib/modules/setting/common/index.css +26 -0
  139. package/lib/modules/setting/common/useNamespace.d.ts +15 -0
  140. package/lib/modules/setting/common/useNamespace.js +66 -0
  141. package/lib/modules/setting/dialog-wrapper.d.ts +2 -0
  142. package/lib/modules/setting/dialog-wrapper.js +110 -0
  143. package/lib/modules/setting/index.css +0 -1
  144. package/lib/modules/setting/store.base.js +6 -0
  145. package/lib/modules/setting/store.d.ts +261 -0
  146. package/lib/modules/setting/store.js +1321 -0
  147. package/lib/modules/setting/view.js +0 -3
  148. package/lib/modules/share-screen/store.d.ts +148 -0
  149. package/lib/modules/share-screen/store.electron.js +1 -1
  150. package/lib/modules/share-screen/store.js +960 -0
  151. package/lib/modules/share-screen/types.d.ts +26 -0
  152. package/lib/modules/share-screen/types.js +6 -0
  153. package/lib/modules/state-bar/layout-config.js +6 -0
  154. package/lib/modules/state-bar/main-scene/store.base.d.ts +2 -0
  155. package/lib/modules/state-bar/main-scene/store.base.js +6 -0
  156. package/lib/modules/state-bar/store.d.ts +124 -0
  157. package/lib/modules/state-bar/store.js +664 -0
  158. package/lib/modules/video-window/index.css +6 -0
  159. package/lib/modules/video-window/popover-watcher.d.ts +4 -1
  160. package/lib/modules/video-window/popover-watcher.js +15 -2
  161. package/lib/modules/video-window/store.d.ts +18 -1
  162. package/lib/modules/video-window/store.js +55 -7
  163. package/lib/modules/whiteboard/components/progress/electron.d.ts +1 -0
  164. package/lib/modules/whiteboard/components/progress/electron.js +33 -0
  165. package/lib/modules/whiteboard/store.js +20 -2
  166. package/lib/modules/widget/store.d.ts +14 -0
  167. package/lib/modules/widget/store.js +28 -0
  168. package/lib/object-manager.d.ts +0 -1
  169. package/lib/object-manager.js +0 -1
  170. package/lib/providers/annotation-provider.d.ts +124 -0
  171. package/lib/providers/annotation-provider.js +369 -0
  172. package/lib/providers/board-share/bar-control/base.d.ts +1 -1
  173. package/lib/providers/board-share/bar-control/base.js +37 -28
  174. package/lib/providers/board-share/bar-control/electron.d.ts +1 -1
  175. package/lib/providers/board-share/bar-control/electron.js +19 -16
  176. package/lib/providers/board-share/provider.browser.d.ts +3 -0
  177. package/lib/providers/board-share/provider.browser.js +21 -3
  178. package/lib/providers/device-provider.js +5 -1
  179. package/lib/providers/dialog/provider.electron.js +6 -0
  180. package/lib/providers/dialog-provider.d.ts +137 -0
  181. package/lib/providers/dialog-provider.js +194 -0
  182. package/lib/providers/message-provider.d.ts +69 -0
  183. package/lib/providers/message-provider.js +140 -0
  184. package/lib/providers/mouse-detect/provider.d.ts +5 -0
  185. package/lib/providers/mouse-detect/provider.js +74 -49
  186. package/lib/providers/multi-display-provider.d.ts +3 -5
  187. package/lib/providers/multi-display-provider.js +0 -9
  188. package/lib/providers/room-provider/room-provider.d.ts +3 -14
  189. package/lib/providers/room-provider/room-provider.js +5 -26
  190. package/lib/providers/room-provider.d.ts +194 -0
  191. package/lib/providers/room-provider.js +916 -0
  192. package/lib/providers/screen-share/stream-state-sync.js +19 -12
  193. package/lib/providers/screen-share-provider.d.ts +245 -0
  194. package/lib/providers/screen-share-provider.js +850 -0
  195. package/lib/providers/sharing-provider.d.ts +42 -0
  196. package/lib/providers/sharing-provider.js +228 -0
  197. package/lib/providers/user-setting-storage-provider.d.ts +21 -0
  198. package/lib/providers/user-setting-storage-provider.js +65 -0
  199. package/lib/providers/whiteboard-provider.d.ts +24 -0
  200. package/lib/providers/whiteboard-provider.js +128 -0
  201. package/lib/providers/window/main-window.d.ts +0 -5
  202. package/lib/providers/window/main-window.js +0 -44
  203. package/lib/providers/window/renderer-window.d.ts +1 -0
  204. package/lib/providers/window/renderer-window.js +9 -1
  205. package/lib/scenes/main-scene.js +0 -2
  206. package/lib/shared-data-source/annotation-data.d.ts +17 -0
  207. package/lib/shared-data-source/annotation-data.js +110 -0
  208. package/lib/shared-data-source/app-list-data.d.ts +34 -0
  209. package/lib/shared-data-source/app-list-data.js +133 -0
  210. package/lib/shared-data-source/chat-data.d.ts +25 -0
  211. package/lib/shared-data-source/chat-data.js +139 -0
  212. package/lib/shared-data-source/config.d.ts +35 -0
  213. package/lib/shared-data-source/config.js +40 -0
  214. package/lib/shared-data-source/confirm-data.d.ts +44 -0
  215. package/lib/shared-data-source/confirm-data.js +201 -0
  216. package/lib/shared-data-source/device-privilege-data.d.ts +8 -0
  217. package/lib/shared-data-source/device-privilege-data.js +25 -0
  218. package/lib/shared-data-source/interpreter.d.ts +77 -0
  219. package/lib/shared-data-source/interpreter.js +247 -0
  220. package/lib/shared-data-source/layout-data.d.ts +31 -0
  221. package/lib/shared-data-source/layout-data.js +189 -0
  222. package/lib/shared-data-source/meeting-time.d.ts +90 -0
  223. package/lib/shared-data-source/meeting-time.js +416 -0
  224. package/lib/shared-data-source/member-data.d.ts +139 -0
  225. package/lib/shared-data-source/member-data.js +517 -0
  226. package/lib/shared-data-source/pin-data.d.ts +13 -0
  227. package/lib/shared-data-source/pin-data.js +111 -0
  228. package/lib/shared-data-source/screen-share-data.d.ts +357 -0
  229. package/lib/shared-data-source/screen-share-data.js +513 -0
  230. package/lib/shared-data-source/security-data.d.ts +39 -0
  231. package/lib/shared-data-source/security-data.js +156 -0
  232. package/lib/shared-data-source/setting.d.ts +67 -0
  233. package/lib/shared-data-source/setting.js +220 -0
  234. package/lib/shared-data-source/speaker-spotlight.d.ts +5 -0
  235. package/lib/shared-data-source/speaker-spotlight.js +15 -0
  236. package/lib/shared-data-source/video-window.d.ts +165 -0
  237. package/lib/shared-data-source/video-window.js +1266 -0
  238. package/lib/shared-data-source/waiting-room.d.ts +46 -0
  239. package/lib/shared-data-source/waiting-room.js +222 -0
  240. package/lib/shared-data-source/whiteboard-data.d.ts +70 -0
  241. package/lib/{providers/board-share/bar-control.js → shared-data-source/whiteboard-data.js} +62 -104
  242. package/lib/ui-scene.js +4 -2
  243. package/lib/utilities/board-context.d.ts +4 -0
  244. package/lib/utilities/board-context.js +12 -0
  245. package/lib/utilities/copyText.d.ts +2 -0
  246. package/lib/utilities/copyText.js +48 -0
  247. package/lib/utilities/renderer-event.d.ts +10 -0
  248. package/lib/utilities/renderer-event.js +95 -0
  249. package/lib/utilities/screen-capture-permission.d.ts +2 -0
  250. package/lib/utilities/screen-capture-permission.js +24 -0
  251. package/lib/utilities/screen.d.ts +3 -0
  252. package/lib/utilities/screen.js +53 -0
  253. package/lib/utilities/video-track-render-context.d.ts +6 -0
  254. package/lib/utilities/video-track-render-context.js +9 -0
  255. package/lib/waiting-room-control-manager.d.ts +28 -0
  256. package/lib/waiting-room-control-manager.js +230 -0
  257. package/package.json +5 -5
  258. package/public/index.html +22 -1
  259. package/lib/providers/board-share/bar-control.d.ts +0 -51
@@ -49,6 +49,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
49
49
  var mainWindow;
50
50
  var mainWindowReady = false;
51
51
  var userMinimize = false;
52
+ var mainWindowDisplayState = _struct.DisplayState.HIDE;
52
53
  (0, _main.initialize)();
53
54
  var port = (_process$argv$find = process.argv.find(function (arg) {
54
55
  return arg.startsWith('--port=');
@@ -103,15 +104,17 @@ ipcClient.addObserver({
103
104
  mainWindow.moveTop();
104
105
  var platform = _os["default"].platform();
105
106
  if (platform === 'win32') {
106
- // getLogger().info('windows_index setAlwaysOnTop in bootstrap-sdk');
107
- // mainWindow.setAlwaysOnTop(true, 'pop-up-menu');
107
+ (0, _logger.getLogger)().info('windows_index setAlwaysOnTop in bootstrap-sdk');
108
+ mainWindow.setAlwaysOnTop(true, 'pop-up-menu');
108
109
  setTimeout(function () {
109
- // getLogger().info('windows_index setAlwaysOnTop in bootstrap-sdk');
110
- // mainWindow.setAlwaysOnTop(false, 'pop-up-menu');
111
- mainWindow.moveTop();
112
- mainWindow.show();
113
- mainWindow.focus();
110
+ (0, _logger.getLogger)().info("windows_index set main window in bootstrap-sdk,current display state: ".concat(mainWindowDisplayState));
111
+ if (mainWindowDisplayState === _struct.DisplayState.SHOW) {
112
+ mainWindow.moveTop();
113
+ mainWindow.show();
114
+ mainWindow.focus();
115
+ }
114
116
  }, 300);
117
+ mainWindow.setAlwaysOnTop(false, 'pop-up-menu');
115
118
  }
116
119
  }
117
120
  break;
@@ -272,10 +275,12 @@ _electron.app.addListener('ready', function () {
272
275
  });
273
276
  mainWindow.addListener('minimize', function () {
274
277
  (0, _logger.getLogger)().info('windows_release main window minimized');
278
+ mainWindowDisplayState = _struct.DisplayState.MINIMIZE;
275
279
  userMinimize = true;
276
280
  });
277
281
  mainWindow.addListener('show', function () {
278
282
  (0, _logger.getLogger)().info('windows_release main window show');
283
+ mainWindowDisplayState = _struct.DisplayState.SHOW;
279
284
  mainWindow.focus();
280
285
  userMinimize = false;
281
286
  });
@@ -284,22 +289,31 @@ _electron.app.addListener('ready', function () {
284
289
  });
285
290
  mainWindow.addListener('hide', function () {
286
291
  (0, _logger.getLogger)().info("windows_release main window hidden, current launch state: ".concat(_struct.FcrUISceneLaunchState[_eventManager.eventManager.launchState]));
292
+ mainWindowDisplayState = _struct.DisplayState.HIDE;
287
293
  if (userMinimize) {
288
294
  (0, _logger.getLogger)().info('windows_release main window hidden, but user minimize, ignore this event');
289
295
  return;
290
296
  }
291
- if (_eventManager.eventManager.launchState === _struct.FcrUISceneLaunchState.END && _eventManager.eventManager.endReason === _struct.FcrUISceneLaunchEndReason.LAUNCH_SUCCESS) {
292
- (0, _logger.getLogger)().info('windows_release main window hidden, but launch state is END, send error Event');
293
- ipcClient.sendMessage({
294
- cmd: _type.IPCMessageCMD.Error,
295
- data: {
296
- roomId: _eventManager.eventManager.roomId,
297
- errorCode: _until.mainWindowHiddenOnLaunchSuccessErrorCode,
298
- message: 'main window hidden on launch success'
299
- }
300
- });
301
- return;
302
- }
297
+
298
+ // if (
299
+ // eventManager.launchState === LaunchState.END &&
300
+ // eventManager.endReason === FcrUISceneLaunchEndReason.LAUNCH_SUCCESS
301
+ // ) {
302
+ // getLogger().info(
303
+ // 'windows_release main window hidden, but launch state is END, send error Event',
304
+ // );
305
+
306
+ // ipcClient.sendMessage({
307
+ // cmd: IPCMessageCMD.Error,
308
+ // data: {
309
+ // roomId: eventManager.roomId,
310
+ // errorCode: mainWindowHiddenOnLaunchSuccessErrorCode,
311
+ // message: 'main window hidden on launch success',
312
+ // },
313
+ // });
314
+ // return;
315
+ // }
316
+
303
317
  if (_eventManager.eventManager.launchState !== _struct.FcrUISceneLaunchState.PROCESSING) {
304
318
  return;
305
319
  }
@@ -319,6 +333,7 @@ _electron.app.addListener('ready', function () {
319
333
  _electron.app.exit(_exitCodes.AppExitCode.NORMAL_EXIT);
320
334
  });
321
335
  mainWindow.addListener('close', function (e) {
336
+ mainWindowDisplayState = _struct.DisplayState.HIDE;
322
337
  var closeListenerCount = mainWindow.listenerCount('close');
323
338
  (0, _logger.getLogger)().info("windows_release main window close listener count: ".concat(closeListenerCount, ", isInMeeting: ").concat(_meetingState.isInMeeting));
324
339
  if (_meetingState.isInMeeting === 0) {
@@ -344,6 +359,14 @@ _electron.app.addListener('ready', function () {
344
359
  }, 300);
345
360
  }
346
361
  });
362
+ mainWindow.addListener('unresponsive', function () {
363
+ (0, _logger.getLogger)().warn("main window unresponsive in bootstrap-sdk");
364
+ handleUnresponsive();
365
+ });
366
+ mainWindow.addListener('responsive', function () {
367
+ (0, _logger.getLogger)().warn("main window responsive in bootstrap-sdk");
368
+ handleResponsive();
369
+ });
347
370
  if (_env.isDev) {
348
371
  mainWindow.webContents.openDevTools({
349
372
  mode: 'detach'
@@ -370,4 +393,31 @@ _electron.app.addListener('quit', function (event, exitCode) {
370
393
  (0, _logger.getLogger)().info("app quit event triggered with exit code: ".concat(exitCode));
371
394
  // 清理 EventManager 资源
372
395
  _eventManager.eventManager.dispose();
373
- });
396
+ });
397
+ var HANG_DETECTION_TIMEOUT = 60 * 1000; // 1分钟(毫s秒)
398
+ var hangDetectionTimer = null;
399
+ function handleUnresponsive() {
400
+ (0, _logger.getLogger)().warn('Window became unresponsive, starting hang detection timer');
401
+ clearHangDetectionTimer();
402
+ hangDetectionTimer = setTimeout(function () {
403
+ (0, _logger.getLogger)().error('Window has been unresponsive for 1 minute, forcing application exit');
404
+ _eventManager.eventManager.onExitedMeeting(_eventManager.eventManager.roomId, _struct.FcrUISceneLaunchEndReason.HANG_DETECTION);
405
+ ipcClient.sendMessage({
406
+ cmd: _type.IPCMessageCMD.ExitedMeeting,
407
+ data: {
408
+ roomId: _eventManager.eventManager.roomId,
409
+ reason: _until.hangDetectionErrorCode
410
+ }
411
+ });
412
+ }, HANG_DETECTION_TIMEOUT);
413
+ }
414
+ function handleResponsive() {
415
+ (0, _logger.getLogger)().info('Window became responsive again, clearing hang detection timer');
416
+ clearHangDetectionTimer();
417
+ }
418
+ function clearHangDetectionTimer() {
419
+ if (hangDetectionTimer) {
420
+ clearTimeout(hangDetectionTimer);
421
+ hangDetectionTimer = null;
422
+ }
423
+ }
@@ -8,5 +8,11 @@ export declare enum FcrUISceneLaunchEndReason {
8
8
  LAUNCH_FAILURE = "launchFailure",
9
9
  CLOSE_WINDOW = "closeWindow",
10
10
  EXITED = "exited",
11
- CRASHED = "crashed"
11
+ CRASHED = "crashed",
12
+ HANG_DETECTION = "hangDetection"
13
+ }
14
+ export declare enum DisplayState {
15
+ SHOW = "show",
16
+ HIDE = "hide",
17
+ MINIMIZE = "minimize"
12
18
  }
@@ -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.FcrUISceneLaunchState = exports.FcrUISceneLaunchEndReason = void 0;
7
+ exports.FcrUISceneLaunchState = exports.FcrUISceneLaunchEndReason = exports.DisplayState = void 0;
8
8
  var FcrUISceneLaunchState = exports.FcrUISceneLaunchState = /*#__PURE__*/function (FcrUISceneLaunchState) {
9
9
  FcrUISceneLaunchState[FcrUISceneLaunchState["DEFAULT"] = 0] = "DEFAULT";
10
10
  FcrUISceneLaunchState[FcrUISceneLaunchState["PROCESSING"] = 1] = "PROCESSING";
@@ -17,5 +17,12 @@ var FcrUISceneLaunchEndReason = exports.FcrUISceneLaunchEndReason = /*#__PURE__*
17
17
  FcrUISceneLaunchEndReason["CLOSE_WINDOW"] = "closeWindow";
18
18
  FcrUISceneLaunchEndReason["EXITED"] = "exited";
19
19
  FcrUISceneLaunchEndReason["CRASHED"] = "crashed";
20
+ FcrUISceneLaunchEndReason["HANG_DETECTION"] = "hangDetection";
20
21
  return FcrUISceneLaunchEndReason;
22
+ }({});
23
+ var DisplayState = exports.DisplayState = /*#__PURE__*/function (DisplayState) {
24
+ DisplayState["SHOW"] = "show";
25
+ DisplayState["HIDE"] = "hide";
26
+ DisplayState["MINIMIZE"] = "minimize";
27
+ return DisplayState;
21
28
  }({});
@@ -21,7 +21,8 @@ declare enum DetailErrorCode {
21
21
  closeWindowBeforeLaunchSuccess = 83,
22
22
  meetingLaunchProcessing = 84,
23
23
  mainWindowHiddenAfterLaunchSuccess = 85,
24
- crashed = 86
24
+ crashed = 86,
25
+ hangDetection = 87
25
26
  }
26
27
  export declare const generaErrorCode: (serviceCode: ServiceErrorCode, uiSceneCode: UISceneErrorCode, detailCode: DetailErrorCode) => number;
27
28
  export declare const windowHideErrorCode: number;
@@ -29,4 +30,5 @@ export declare const closeWindowBeforeLaunchSuccessErrorCode: number;
29
30
  export declare const meetingLaunchProcessingErrorCode: number;
30
31
  export declare const mainWindowHiddenOnLaunchSuccessErrorCode: number;
31
32
  export declare const crashedErrorCode: number;
33
+ export declare const hangDetectionErrorCode: number;
32
34
  export {};
@@ -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.mainWindowHiddenOnLaunchSuccessErrorCode = exports.generaErrorCode = exports.crashedErrorCode = 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,8 +44,12 @@ var DetailErrorCode = /*#__PURE__*/function (DetailErrorCode) {
44
44
  DetailErrorCode[DetailErrorCode["closeWindowBeforeLaunchSuccess"] = 83] = "closeWindowBeforeLaunchSuccess";
45
45
  // 会议启动中
46
46
  DetailErrorCode[DetailErrorCode["meetingLaunchProcessing"] = 84] = "meetingLaunchProcessing";
47
+ // 窗口在会议启动后隐藏
47
48
  DetailErrorCode[DetailErrorCode["mainWindowHiddenAfterLaunchSuccess"] = 85] = "mainWindowHiddenAfterLaunchSuccess";
49
+ // 窗口崩溃
48
50
  DetailErrorCode[DetailErrorCode["crashed"] = 86] = "crashed";
51
+ // 窗口无响应
52
+ DetailErrorCode[DetailErrorCode["hangDetection"] = 87] = "hangDetection";
49
53
  return DetailErrorCode;
50
54
  }(DetailErrorCode || {}); // 格式:ServiceErrorCode(3位) + UISceneErrorCode(3位) + DetailErrorCode(3位)
51
55
  var generaErrorCode = exports.generaErrorCode = function generaErrorCode(serviceCode, uiSceneCode, detailCode) {
@@ -55,4 +59,5 @@ var windowHideErrorCode = exports.windowHideErrorCode = generaErrorCode(ServiceE
55
59
  var closeWindowBeforeLaunchSuccessErrorCode = exports.closeWindowBeforeLaunchSuccessErrorCode = generaErrorCode(ServiceErrorCode.FcrUIScene, UISceneErrorCode.Creator, DetailErrorCode.closeWindowBeforeLaunchSuccess);
56
60
  var meetingLaunchProcessingErrorCode = exports.meetingLaunchProcessingErrorCode = generaErrorCode(ServiceErrorCode.FcrUIScene, UISceneErrorCode.Creator, DetailErrorCode.meetingLaunchProcessing);
57
61
  var mainWindowHiddenOnLaunchSuccessErrorCode = exports.mainWindowHiddenOnLaunchSuccessErrorCode = generaErrorCode(ServiceErrorCode.FcrUIScene, UISceneErrorCode.Creator, DetailErrorCode.mainWindowHiddenAfterLaunchSuccess);
58
- var crashedErrorCode = exports.crashedErrorCode = generaErrorCode(ServiceErrorCode.FcrUIScene, UISceneErrorCode.Creator, DetailErrorCode.crashed);
62
+ var crashedErrorCode = exports.crashedErrorCode = generaErrorCode(ServiceErrorCode.FcrUIScene, UISceneErrorCode.Creator, DetailErrorCode.crashed);
63
+ var hangDetectionErrorCode = exports.hangDetectionErrorCode = generaErrorCode(ServiceErrorCode.FcrUIScene, UISceneErrorCode.Creator, DetailErrorCode.hangDetection);
@@ -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,
@@ -165,8 +165,8 @@ var SubMenu = exports.SubMenu = (0, _mobxReact.observer)(function (_ref) {
165
165
  key: 'enable_whiteboard',
166
166
  classNames: 'fcr-drop-menu-option-primary-no-hover',
167
167
  onButtonClick: function onButtonClick() {
168
- // TODO: 主持人停用别人的共享后,应该把菜单关闭或者是更新菜单项
169
168
  closeWhiteboard();
169
+ setMenuVisible(false);
170
170
  }
171
171
  }];
172
172
  var shareScreenControlMenus = [{
@@ -0,0 +1,58 @@
1
+ import { UIModule } from '../../base';
2
+ import './index.css';
3
+ import { FcrUIEventProvider } from '../../providers/event-provider';
4
+ import { FcrUICurrentRoomControlProvider, FcrUIMainRoomControlProvider, FcrUIRoomProvider, FcrUIWaitingRoomControlProvider } from '../../providers/room-provider';
5
+ import { FcrUIDeviceProvider } from '../../providers/device-provider';
6
+ import { FcrUIDeviceStreamProvider } from '../../providers/device-stream-provider';
7
+ import { FcrUISharedLayoutDataSource } from '../../shared-data-source/layout-data';
8
+ import { FcrUISharedInterpreterDataSource } from '../../shared-data-source/interpreter';
9
+ import { FcrUISharedWaitingRoomDataSource } from '../../shared-data-source/waiting-room';
10
+ import { FcrUIChatProvider } from '../../providers/chat-provider';
11
+ import { FcrUIScreenShareProvider } from '../../providers/screen-share-provider';
12
+ import { FcrUIDialogProvider } from '../../providers/dialog-provider';
13
+ import { FcrUIMessageProvider } from '../../providers/message-provider';
14
+ import { FcrUISharedChatDataSource } from '../../shared-data-source/chat-data';
15
+ import { FcrUIInterpreterProvider } from '../../providers/interpreter-provider';
16
+ import { FcrUISharedDevicePrivilegeDataSource } from '../../shared-data-source/device-privilege-data';
17
+ import { FcrUIMemberSharedDataSource } from '../../shared-data-source/member-data';
18
+ import { FcrUIWidgetProvider } from '../../providers/widget-provider';
19
+ import { FcrUIAbilityProviderImpl } from '../../providers/ability-provider';
20
+ import { FcrUISecuritySharedDataSource } from '../../shared-data-source/security-data';
21
+ import { FcrUIScreenShareSharedDataSource } from '../../shared-data-source/screen-share-data';
22
+ import { FcrUIApplistProvider } from '../../providers/app-list-provider';
23
+ import { FcrUISharedApplistSource } from '../../shared-data-source/app-list-data';
24
+ import { FcrUISharedWhiteboardDataSource } from '../../shared-data-source/whiteboard-data';
25
+ export declare class FcrActionBarUIModule extends UIModule {
26
+ private _store?;
27
+ private _deviceControlStore?;
28
+ private _leaveMeetingStore?;
29
+ currentRoomControlProvider?: FcrUICurrentRoomControlProvider;
30
+ mainRoomControlProvider?: FcrUIMainRoomControlProvider;
31
+ waitingRoomControlProvider?: FcrUIWaitingRoomControlProvider;
32
+ eventProvider?: FcrUIEventProvider;
33
+ deviceProvider?: FcrUIDeviceProvider;
34
+ roomProvider?: FcrUIRoomProvider;
35
+ deviceStreamProvider?: FcrUIDeviceStreamProvider;
36
+ sharedLayoutDataSource?: FcrUISharedLayoutDataSource;
37
+ screenShareProvider?: FcrUIScreenShareProvider;
38
+ sharedWaitingRoomDataSource?: FcrUISharedWaitingRoomDataSource;
39
+ chatProvider?: FcrUIChatProvider;
40
+ sharedInterpreterDataSource?: FcrUISharedInterpreterDataSource;
41
+ dialogProvider?: FcrUIDialogProvider;
42
+ messageProvider?: FcrUIMessageProvider;
43
+ sharedChatDataSource?: FcrUISharedChatDataSource;
44
+ interpreterProvider?: FcrUIInterpreterProvider;
45
+ sharedDevicePrivilegeDataSource?: FcrUISharedDevicePrivilegeDataSource;
46
+ sharedMemberDataSource?: FcrUIMemberSharedDataSource;
47
+ widgetProvider?: FcrUIWidgetProvider;
48
+ abilityProvider?: FcrUIAbilityProviderImpl;
49
+ sharedSecuritySharedDataSource?: FcrUISecuritySharedDataSource;
50
+ sharedScreenShareSharedDataSource?: FcrUIScreenShareSharedDataSource;
51
+ applistProvider?: FcrUIApplistProvider;
52
+ sharedApplistDataSource?: FcrUISharedApplistSource;
53
+ sharedWhiteboardDataSource?: FcrUISharedWhiteboardDataSource;
54
+ onNodeWillActive(): void;
55
+ onNodeWillInactive(): void;
56
+ getComponent(): import("react/jsx-runtime").JSX.Element;
57
+ onProcessEvent(event: RendererCustomEvent): void;
58
+ }
File without changes
@@ -0,0 +1,94 @@
1
+ // import { FcrActionBarUIModule } from '.';
2
+ // import ReactDOM from 'react-dom';
3
+ // import { hot } from 'react-hot-loader/root';
4
+
5
+ // import { FcrStreamLatencyLevel, FcrUISceneConfig, FcrUserRole } from '../../type';
6
+ // import { PropsWithChildren } from 'react';
7
+ // import { useUnmount } from '../../utilities/hooks';
8
+ // import { FcrSecurityStore } from '../../common/security-store';
9
+ // import { FcrDeviceStreamStore } from '../../common/device-stream-store';
10
+ // import { FcrUIEventStore } from '../../common/event-control';
11
+ // import { FcrDeviceStore } from '../../common/device-store';
12
+ // import { FcrRoomStore } from '../../common/room-control';
13
+
14
+ // const App = hot(() => null);
15
+
16
+ // ReactDOM.render(<App />, document.querySelector('#root')!);
17
+
18
+ // const Layout: React.FC<PropsWithChildren<{}>> = (props) => (
19
+ // <div style={{ height: '100vh', background: '#E3E7EF' }}>
20
+ // <div style={{ position: 'absolute', left: '5vw', bottom: '50px', width: '90vw' }}>
21
+ // {props.children}
22
+ // </div>
23
+ // </div>
24
+ // );
25
+
26
+ // window.__DEV_ENGINE_IS_READY__.then(async () => {
27
+ // const engine = window.__DEV_ENGINE__;
28
+ // const roomId = window.__DEV_ROOM_ID__;
29
+
30
+ // await engine.login();
31
+
32
+ // const roomControl = engine.createMainRoomControl(roomId);
33
+
34
+ // const userRole = FcrUserRole.HOST;
35
+
36
+ // const userName = 'host-user';
37
+
38
+ // await roomControl.join({
39
+ // userRole,
40
+ // userName,
41
+ // roomToken: window.__DEV_USER_TOKEN__,
42
+ // streamLatency: FcrStreamLatencyLevel.ULTRA_LOW,
43
+ // createStreamConfigs: [],
44
+ // });
45
+
46
+ // const userControl = roomControl.getUserControl();
47
+
48
+ // const uiEventStore = new FcrUIEventStore();
49
+ // const securityStore = new FcrSecurityStore(
50
+ // roomControl.getPrivilegeControl(),
51
+ // roomControl.getUserControl(),
52
+ // roomControl.getStreamControl(),
53
+ // uiEventStore,
54
+ // );
55
+ // const deviceStore = new FcrDeviceStore(engine.getDesktopMediaControl(), uiEventStore);
56
+ // const config = {
57
+ // mediaControl: engine.getDesktopMediaControl(),
58
+ // roomControl,
59
+ // securityStore,
60
+ // deviceStore,
61
+ // uiEventStore,
62
+ // roomStore: new FcrRoomStore(uiEventStore, deviceStore, {} as FcrUISceneConfig, engine),
63
+ // streamControl: roomControl.getStreamControl(),
64
+ // userControl,
65
+ // privilegeControl: roomControl.getPrivilegeControl(),
66
+ // interpreterControl: roomControl.getInterpreterControl(),
67
+ // chatRoomControl: roomControl.getChatRoomControl(),
68
+ // engine: null as any,
69
+ // remoteVideoRenderManager: null as any,
70
+ // config: null as any,
71
+ // parameters: null as any,
72
+ // };
73
+ // const deviceStreamStore = new FcrDeviceStreamStore(config);
74
+
75
+ // const uiModule = new FcrActionBarUIModule({ ...config, deviceStreamStore });
76
+
77
+ // const App = hot(() => {
78
+ // useUnmount(() => {
79
+ // uiModule?.release();
80
+ // roomControl.leave();
81
+ // engine.logout();
82
+ // });
83
+
84
+ // return uiModule?.getComponent();
85
+ // });
86
+
87
+ // ReactDOM.render(
88
+ // <Layout>
89
+ // <App />
90
+ // </Layout>,
91
+ // document.querySelector('#root')!,
92
+ // );
93
+ // });
94
+ "use strict";
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.array.iterator.js");
4
+ require("core-js/modules/es.object.define-property.js");
5
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
6
+ require("core-js/modules/es.object.to-string.js");
7
+ require("core-js/modules/es.reflect.construct.js");
8
+ require("core-js/modules/es.string.iterator.js");
9
+ require("core-js/modules/es.weak-map.js");
10
+ require("core-js/modules/esnext.weak-map.delete-all.js");
11
+ require("core-js/modules/esnext.weak-map.emplace.js");
12
+ require("core-js/modules/web.dom-collections.iterator.js");
13
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
14
+ var _typeof = require("@babel/runtime/helpers/typeof");
15
+ Object.defineProperty(exports, "__esModule", {
16
+ value: true
17
+ });
18
+ exports.FcrActionBarUIModule = void 0;
19
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
20
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
21
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
22
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
24
+ var _base = require("../../base");
25
+ var _view = require("./view");
26
+ var _store = _interopRequireWildcard(require("./store"));
27
+ require("./index.css");
28
+ var _store2 = require("../components/device-control/store");
29
+ var _type = require("fcr-core/lib/room-control/type");
30
+ var _constant = require("../../utilities/constant");
31
+ var _store3 = require("../components/leave-meeting/store");
32
+ var _jsxRuntime = require("react/jsx-runtime");
33
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
34
+ 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)); }
35
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
36
+ var FcrActionBarUIModule = exports.FcrActionBarUIModule = /*#__PURE__*/function (_UIModule) {
37
+ function FcrActionBarUIModule() {
38
+ (0, _classCallCheck2["default"])(this, FcrActionBarUIModule);
39
+ return _callSuper(this, FcrActionBarUIModule, arguments);
40
+ }
41
+ (0, _inherits2["default"])(FcrActionBarUIModule, _UIModule);
42
+ return (0, _createClass2["default"])(FcrActionBarUIModule, [{
43
+ key: "onNodeWillActive",
44
+ value:
45
+ // privilegeProvider?: FcrUIPrivilegeProvider;
46
+
47
+ function onNodeWillActive() {
48
+ var _this$currentRoomCont, _this$mainRoomControl, _this$waitingRoomCont, _this$currentRoomCont2, _this$currentRoomCont3, _this$currentRoomCont4;
49
+ var privilegeProvider = ((_this$currentRoomCont = this.currentRoomControlProvider) === null || _this$currentRoomCont === void 0 || (_this$currentRoomCont = _this$currentRoomCont.currentRoomControl.getRoomInfo()) === null || _this$currentRoomCont === void 0 ? void 0 : _this$currentRoomCont.roomType) === _type.FcrRoomType.Mainroom ? (_this$mainRoomControl = this.mainRoomControlProvider) === null || _this$mainRoomControl === void 0 ? void 0 : _this$mainRoomControl.privilegeProvider : (_this$waitingRoomCont = this.waitingRoomControlProvider) === null || _this$waitingRoomCont === void 0 ? void 0 : _this$waitingRoomCont.privilegeProvider;
50
+ this._store = new _store["default"]({
51
+ roomProvider: this.roomProvider,
52
+ roomControl: (_this$currentRoomCont2 = this.currentRoomControlProvider) === null || _this$currentRoomCont2 === void 0 ? void 0 : _this$currentRoomCont2.currentRoomControl,
53
+ eventProvider: this.eventProvider,
54
+ privilegeProvider: privilegeProvider,
55
+ deviceProvider: this.deviceProvider,
56
+ deviceStreamProvider: this.deviceStreamProvider,
57
+ sharedLayoutDataSource: this.sharedLayoutDataSource,
58
+ screenShareProvider: this.screenShareProvider,
59
+ sharedWaitingRoomDataSource: this.sharedWaitingRoomDataSource,
60
+ chatProvider: this.chatProvider,
61
+ sharedInterpreterDataSource: this.sharedInterpreterDataSource,
62
+ dialogProvider: this.dialogProvider,
63
+ messageProvider: this.messageProvider,
64
+ sharedChatDataSource: this.sharedChatDataSource,
65
+ interpreterProvider: this.interpreterProvider,
66
+ sharedDevicePrivilegeDataSource: this.sharedDevicePrivilegeDataSource,
67
+ sharedMemberDataSource: this.sharedMemberDataSource,
68
+ widgetProvider: this.widgetProvider,
69
+ sharedSecuritySharedDataSource: this.sharedSecuritySharedDataSource,
70
+ sharedScreenShareSharedDataSource: this.sharedScreenShareSharedDataSource,
71
+ abilityProvider: this.abilityProvider,
72
+ applistProvider: this.applistProvider,
73
+ sharedApplistDataSource: this.sharedApplistDataSource,
74
+ sharedWhiteboardDataSource: this.sharedWhiteboardDataSource
75
+ });
76
+ this._deviceControlStore = new _store2.DeviceControlStore((_this$currentRoomCont3 = this.currentRoomControlProvider) === null || _this$currentRoomCont3 === void 0 ? void 0 : _this$currentRoomCont3.currentRoomControl, this.deviceProvider, this.dialogProvider, this.deviceStreamProvider, this.sharedDevicePrivilegeDataSource);
77
+ this._leaveMeetingStore = new _store3.LeaveMeetingStore(privilegeProvider, this.roomProvider, (_this$currentRoomCont4 = this.currentRoomControlProvider) === null || _this$currentRoomCont4 === void 0 ? void 0 : _this$currentRoomCont4.currentRoomControl, this.sharedMemberDataSource, this.abilityProvider, this.dialogProvider);
78
+ }
79
+ }, {
80
+ key: "onNodeWillInactive",
81
+ value: function onNodeWillInactive() {
82
+ var _this$_store, _this$_leaveMeetingSt, _this$_deviceControlS;
83
+ (_this$_store = this._store) === null || _this$_store === void 0 || _this$_store.release();
84
+ (_this$_leaveMeetingSt = this._leaveMeetingStore) === null || _this$_leaveMeetingSt === void 0 || _this$_leaveMeetingSt.release();
85
+ (_this$_deviceControlS = this._deviceControlStore) === null || _this$_deviceControlS === void 0 || _this$_deviceControlS.release();
86
+ }
87
+ }, {
88
+ key: "getComponent",
89
+ value: function getComponent() {
90
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_store.ActionBarContext.Provider, {
91
+ value: this._store,
92
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_store2.DeviceControlStoreContext.Provider, {
93
+ value: this._deviceControlStore,
94
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_store3.LeaveMeetingStoreContext.Provider, {
95
+ value: this._leaveMeetingStore,
96
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_view.FcrActionBar, {})
97
+ })
98
+ })
99
+ });
100
+ }
101
+ }, {
102
+ key: "onProcessEvent",
103
+ value: function onProcessEvent(event) {
104
+ if (event.action === _constant.FcrUIRendererEventAction.CALL_CLOSE_MAIN_WINDOW) {
105
+ this._store.setStateBarLeaveMeeting(true);
106
+ }
107
+ }
108
+ }]);
109
+ }(_base.UIModule);