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
Binary file
@@ -12,9 +12,5 @@
12
12
  <true/>
13
13
  <key>com.apple.security.device.camera</key>
14
14
  <true/>
15
- <key>com.apple.security.network.server</key>
16
- <true />
17
- <key>com.apple.security.network.client</key>
18
- <true />
19
15
  </dict>
20
- </plist>
16
+ </plist>
@@ -113,7 +113,7 @@ var FcrUISceneCreator = exports.FcrUISceneCreator = /*#__PURE__*/function () {
113
113
  (0, _defineProperty2["default"])(this, "_registeredWidgetConfigs", new Map([]));
114
114
  (0, _defineProperty2["default"])(this, "_released", false);
115
115
  (0, _defineProperty2["default"])(this, "_scene", null);
116
- (0, _defineProperty2["default"])(this, "_microphoneKeepRecording", false);
116
+ (0, _defineProperty2["default"])(this, "_microphoneKeepRecording", true);
117
117
  (0, _defineProperty2["default"])(this, "_sceneObserver", null);
118
118
  (0, _defineProperty2["default"])(this, "_settingModule", null);
119
119
  (0, _defineProperty2["default"])(this, "_eventToastModule", null);
@@ -183,11 +183,17 @@ var FcrUISceneCreator = exports.FcrUISceneCreator = /*#__PURE__*/function () {
183
183
  type: _type.FcrUIGlobalNodeEventType.LAUNCH_SUCCESS,
184
184
  data: args
185
185
  });
186
- if ((0, _env.isElectron)()) {
187
- var windowProvider = _this._objectManager.getObject(_objectManager.FcrUIObjectKeys.P_WINDOW_PROVIDER);
188
- var mainWindow = windowProvider.getCurrentWindow();
189
- (0, _focusHelper.focusWindow)(mainWindow);
190
- }
186
+
187
+ // if (isElectron()) {
188
+ // const windowProvider = this._objectManager.getObject<FcrUIWindowProvider>(
189
+ // FcrUIObjectKeys.P_WINDOW_PROVIDER,
190
+ // );
191
+
192
+ // const mainWindow = windowProvider.getCurrentWindow();
193
+
194
+ // focusWindow(mainWindow);
195
+ // }
196
+
191
197
  onSuccess.apply(void 0, args);
192
198
  },
193
199
  onLaunchFailure: function onLaunchFailure() {
@@ -176,8 +176,6 @@ var FcrUIBrowserProviderInitializer = exports.FcrUIBrowserProviderInitializer =
176
176
  objectManager.setObject(_objectManager.FcrUIObjectKeys.P_INTERPRETER_PROVIDER, interpreterProvider);
177
177
  var currentRoomControlProvider = new _roomProvider.FcrUICurrentRoomControlProviderImpl(mainRoomControl);
178
178
  objectManager.setObject(_objectManager.FcrUIObjectKeys.P_CURRENT_ROOM_CONTROL_PROVIDER, currentRoomControlProvider);
179
- var connectionProvider = new _roomProvider.FcrUIConnectionProviderImpl(engine);
180
- objectManager.setObject(_objectManager.FcrUIObjectKeys.P_CONNECTION_PROVIDER, connectionProvider);
181
179
  var sessionProvider = new _sessionProvider.FcrUISessionProviderImpl(engine);
182
180
  objectManager.setObject(_objectManager.FcrUIObjectKeys.P_SESSION_PROVIDER, sessionProvider);
183
181
  var sharedDevicePrivilegeDataSource = new _devicePrivilegeData.FcrUISharedDevicePrivilegeDataSourceImpl();
@@ -236,7 +234,6 @@ var FcrUIBrowserProviderInitializer = exports.FcrUIBrowserProviderInitializer =
236
234
  objectManager.deleteObject(_objectManager.FcrUIObjectKeys.P_PRIVILEGE_PROVIDER);
237
235
  objectManager.deleteObject(_objectManager.FcrUIObjectKeys.P_INTERPRETER_PROVIDER);
238
236
  objectManager.deleteObject(_objectManager.FcrUIObjectKeys.P_CURRENT_ROOM_CONTROL_PROVIDER);
239
- objectManager.deleteObject(_objectManager.FcrUIObjectKeys.P_CONNECTION_PROVIDER);
240
237
  objectManager.deleteObject(_objectManager.FcrUIObjectKeys.P_SESSION_PROVIDER);
241
238
  objectManager.deleteObject(_objectManager.FcrUIObjectKeys.P_DEVICE_STREAM_PROVIDER);
242
239
  objectManager.deleteObject(_objectManager.FcrUIObjectKeys.P_WAITING_ROOM_CONTROL_PROVIDER);
@@ -203,8 +203,6 @@ var FcrUIElectronProviderInitializer = exports.FcrUIElectronProviderInitializer
203
203
  objectManager.setObject(_objectManager.FcrUIObjectKeys.P_INTERPRETER_PROVIDER, interpreterProvider);
204
204
  var currentRoomControlProvider = new _roomProvider.FcrUICurrentRoomControlProviderImpl(mainRoomControl);
205
205
  objectManager.setObject(_objectManager.FcrUIObjectKeys.P_CURRENT_ROOM_CONTROL_PROVIDER, currentRoomControlProvider);
206
- var connectionProvider = new _roomProvider.FcrUIConnectionProviderImpl(engine);
207
- objectManager.setObject(_objectManager.FcrUIObjectKeys.P_CONNECTION_PROVIDER, connectionProvider);
208
206
  var sessionProvider = new _sessionProvider.FcrUISessionProviderImpl(engine);
209
207
  objectManager.setObject(_objectManager.FcrUIObjectKeys.P_SESSION_PROVIDER, sessionProvider);
210
208
  var sharedDevicePrivilegeDataSource = new _devicePrivilegeData.FcrUISharedDevicePrivilegeDataSourceImpl();
@@ -256,7 +254,6 @@ var FcrUIElectronProviderInitializer = exports.FcrUIElectronProviderInitializer
256
254
  windowProvider: windowProvider,
257
255
  sharingControl: sharingControl,
258
256
  whiteboardProvider: whiteboardProvider,
259
- fcrUIMainWindowRenderer: fcrUIMainWindowRenderer,
260
257
  screenShareProvider: screenShareProvider
261
258
  });
262
259
  objectManager.setObject(_objectManager.FcrUIObjectKeys.P_MULTI_DISPLAY_PROVIDER, multiDisplayProvider);
@@ -277,7 +274,6 @@ var FcrUIElectronProviderInitializer = exports.FcrUIElectronProviderInitializer
277
274
  objectManager.deleteObject(_objectManager.FcrUIObjectKeys.P_PRIVILEGE_PROVIDER);
278
275
  objectManager.deleteObject(_objectManager.FcrUIObjectKeys.P_INTERPRETER_PROVIDER);
279
276
  objectManager.deleteObject(_objectManager.FcrUIObjectKeys.P_CURRENT_ROOM_CONTROL_PROVIDER);
280
- objectManager.deleteObject(_objectManager.FcrUIObjectKeys.P_CONNECTION_PROVIDER);
281
277
  objectManager.deleteObject(_objectManager.FcrUIObjectKeys.P_SESSION_PROVIDER);
282
278
  objectManager.deleteObject(_objectManager.FcrUIObjectKeys.P_DEVICE_STREAM_PROVIDER);
283
279
  objectManager.deleteObject(_objectManager.FcrUIObjectKeys.P_WAITING_ROOM_CONTROL_PROVIDER);
@@ -0,0 +1,36 @@
1
+ import { FcrUISceneCancelCallback, FcrUISceneConfig, FcrUISceneCreatorConfig, FcrUISceneFailureCallback, FcrUISceneSuccessCallback, FcrUISettingConfig, FcrUIWebWidgetConfig } from './type';
2
+ import { FcrUIDefaultScene } from './ui-scene';
3
+ import SettingStore from './modules/setting/store';
4
+ export interface FcrObservableSettingStore {
5
+ value: SettingStore | null;
6
+ }
7
+ export declare class FcrUISceneCreator {
8
+ private _config;
9
+ accessor observableSettingStore: FcrObservableSettingStore;
10
+ protected logger: import("agora-foundation/lib/logger").Logger;
11
+ private _userSettingStorageProvider;
12
+ private _registeredWidgetConfigs;
13
+ private _released;
14
+ private _scene;
15
+ private _microphoneKeepRecording;
16
+ private _sceneObserver;
17
+ constructor(_config: FcrUISceneCreatorConfig);
18
+ private _initProviders;
19
+ launch(config: FcrUISceneConfig, onCancel: FcrUISceneCancelCallback, onSuccess: FcrUISceneSuccessCallback, onFailure: FcrUISceneFailureCallback, dom: HTMLElement): FcrUIDefaultScene;
20
+ getSettingConfig(): FcrUISettingConfig;
21
+ registerWidget(config: FcrUIWebWidgetConfig): void;
22
+ unregisterWidget(widgetId: string): void;
23
+ renewUserToken(token: string): void;
24
+ setParameters(parameters: Record<string, unknown>): void;
25
+ getVersion(): string;
26
+ getDependencyVersions(): Record<string, string>;
27
+ openSetting(): void;
28
+ closeSetting(): void;
29
+ private _releaseProviders;
30
+ release(): void;
31
+ private _resetScene;
32
+ private _precheckState;
33
+ private _filterKeepRecordingValueFromParameters;
34
+ private _setKeepRecordingValueFromParameters;
35
+ private _createSettingStore;
36
+ }
package/lib/creator.js ADDED
@@ -0,0 +1,465 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.symbol.js");
4
+ require("core-js/modules/es.symbol.description.js");
5
+ require("core-js/modules/es.symbol.to-primitive.js");
6
+ require("core-js/modules/es.array.for-each.js");
7
+ require("core-js/modules/es.array.is-array.js");
8
+ require("core-js/modules/es.array.push.js");
9
+ require("core-js/modules/es.date.to-primitive.js");
10
+ require("core-js/modules/es.function.bind.js");
11
+ require("core-js/modules/es.function.name.js");
12
+ require("core-js/modules/es.number.constructor.js");
13
+ require("core-js/modules/es.object.create.js");
14
+ require("core-js/modules/es.object.define-properties.js");
15
+ require("core-js/modules/es.object.define-property.js");
16
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
17
+ require("core-js/modules/es.object.get-own-property-descriptors.js");
18
+ require("core-js/modules/esnext.function.metadata.js");
19
+ require("core-js/modules/esnext.iterator.for-each.js");
20
+ require("core-js/modules/esnext.symbol.metadata.js");
21
+ require("core-js/modules/web.dom-collections.for-each.js");
22
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
23
+ var _typeof = require("@babel/runtime/helpers/typeof");
24
+ Object.defineProperty(exports, "__esModule", {
25
+ value: true
26
+ });
27
+ exports.FcrUISceneCreator = void 0;
28
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
29
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
30
+ require("core-js/modules/es.error.cause.js");
31
+ require("core-js/modules/es.error.to-string.js");
32
+ require("core-js/modules/es.array.filter.js");
33
+ require("core-js/modules/es.array.find.js");
34
+ require("core-js/modules/es.array.iterator.js");
35
+ require("core-js/modules/es.array.map.js");
36
+ require("core-js/modules/es.date.to-json.js");
37
+ require("core-js/modules/es.json.stringify.js");
38
+ require("core-js/modules/es.map.js");
39
+ require("core-js/modules/es.object.keys.js");
40
+ require("core-js/modules/es.object.to-string.js");
41
+ require("core-js/modules/es.string.iterator.js");
42
+ require("core-js/modules/es.weak-map.js");
43
+ require("core-js/modules/esnext.iterator.constructor.js");
44
+ require("core-js/modules/esnext.iterator.filter.js");
45
+ require("core-js/modules/esnext.iterator.find.js");
46
+ require("core-js/modules/esnext.iterator.map.js");
47
+ require("core-js/modules/esnext.json.parse.js");
48
+ require("core-js/modules/esnext.map.delete-all.js");
49
+ require("core-js/modules/esnext.map.emplace.js");
50
+ require("core-js/modules/esnext.map.every.js");
51
+ require("core-js/modules/esnext.map.filter.js");
52
+ require("core-js/modules/esnext.map.find.js");
53
+ require("core-js/modules/esnext.map.find-key.js");
54
+ require("core-js/modules/esnext.map.includes.js");
55
+ require("core-js/modules/esnext.map.key-of.js");
56
+ require("core-js/modules/esnext.map.map-keys.js");
57
+ require("core-js/modules/esnext.map.map-values.js");
58
+ require("core-js/modules/esnext.map.merge.js");
59
+ require("core-js/modules/esnext.map.reduce.js");
60
+ require("core-js/modules/esnext.map.some.js");
61
+ require("core-js/modules/esnext.map.update.js");
62
+ require("core-js/modules/esnext.weak-map.delete-all.js");
63
+ require("core-js/modules/esnext.weak-map.emplace.js");
64
+ require("core-js/modules/web.dom-collections.iterator.js");
65
+ require("core-js/modules/web.timers.js");
66
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
67
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
68
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
69
+ var _uiScene = require("./ui-scene");
70
+ var _validateParams = _interopRequireDefault(require("./utilities/validate-params"));
71
+ var _schema = require("./schema");
72
+ var _decorator = require("agora-foundation/lib/decorator");
73
+ var _mobx = require("mobx");
74
+ var _store = _interopRequireDefault(require("./modules/setting/store"));
75
+ var _reactDom = _interopRequireDefault(require("react-dom"));
76
+ var _view = require("./modules/setting/view");
77
+ var _deviceProvider = require("./providers/device-provider");
78
+ var _fcrCore = require("fcr-core");
79
+ var _dialogProvider = require("./providers/dialog-provider");
80
+ var _eventProvider = require("./providers/event-provider");
81
+ var _messageProvider = require("./providers/message-provider");
82
+ var _monitorProvider = require("./providers/monitor-provider");
83
+ var _config2 = require("./shared-data-source/config");
84
+ var _setting = require("./shared-data-source/setting");
85
+ var _parameters = require("./utilities/parameters");
86
+ var _defaultConfig = require("./utilities/default-config");
87
+ var _imports = require("fcr-core/lib/imports");
88
+ var _localStorageProvider = require("./providers/local-storage-provider");
89
+ var _logger = require("./utilities/logger");
90
+ var _uiResources = require("./utilities/ui-resources");
91
+ var _userSettingStorageProvider = require("./providers/user-setting-storage-provider");
92
+ var _layoutData = require("./shared-data-source/layout-data");
93
+ var _packageInfo = require("./utilities/package-info");
94
+ var _jsxRuntime = require("react/jsx-runtime");
95
+ var _excluded = ["rtc.microphone.keep.recording"];
96
+ var _FcrUISceneCreator;
97
+ var _initProto, _init_observableSettingStore, _launchDecs, _ref;
98
+ 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; }
99
+ 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; }
100
+ function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
101
+ function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
102
+ function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
103
+ function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
104
+ function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
105
+ function _applyDecs(e, t, r, n, o, a) { function i(e, t, r) { return function (n, o) { return r && r(n), e[t].call(n, o); }; } function c(e, t) { for (var r = 0; r < e.length; r++) e[r].call(t); return t; } function s(e, t, r, n) { if ("function" != typeof e && (n || void 0 !== e)) throw new TypeError(t + " must " + (r || "be") + " a function" + (n ? "" : " or undefined")); return e; } function applyDec(e, t, r, n, o, a, c, u, l, f, p, d, h) { function m(e) { if (!h(e)) throw new TypeError("Attempted to access private element on non-instance"); } var y, v = t[0], g = t[3], b = !u; if (!b) { r || Array.isArray(v) || (v = [v]); var w = {}, S = [], A = 3 === o ? "get" : 4 === o || d ? "set" : "value"; f ? (p || d ? w = { get: _setFunctionName(function () { return g(this); }, n, "get"), set: function set(e) { t[4](this, e); } } : w[A] = g, p || _setFunctionName(w[A], n, 2 === o ? "" : A)) : p || (w = Object.getOwnPropertyDescriptor(e, n)); } for (var P = e, j = v.length - 1; j >= 0; j -= r ? 2 : 1) { var D = v[j], E = r ? v[j - 1] : void 0, I = {}, O = { kind: ["field", "accessor", "method", "getter", "setter", "class"][o], name: n, metadata: a, addInitializer: function (e, t) { if (e.v) throw Error("attempted to call addInitializer after decoration was finished"); s(t, "An initializer", "be", !0), c.push(t); }.bind(null, I) }; try { if (b) (y = s(D.call(E, P, O), "class decorators", "return")) && (P = y);else { var k, F; O["static"] = l, O["private"] = f, f ? 2 === o ? k = function k(e) { return m(e), w.value; } : (o < 4 && (k = i(w, "get", m)), 3 !== o && (F = i(w, "set", m))) : (k = function k(e) { return e[n]; }, (o < 2 || 4 === o) && (F = function F(e, t) { e[n] = t; })); var N = O.access = { has: f ? h.bind() : function (e) { return n in e; } }; if (k && (N.get = k), F && (N.set = F), P = D.call(E, d ? { get: w.get, set: w.set } : w[A], O), d) { if ("object" == _typeof(P) && P) (y = s(P.get, "accessor.get")) && (w.get = y), (y = s(P.set, "accessor.set")) && (w.set = y), (y = s(P.init, "accessor.init")) && S.push(y);else if (void 0 !== P) throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0"); } else s(P, (p ? "field" : "method") + " decorators", "return") && (p ? S.push(P) : w[A] = P); } } finally { I.v = !0; } } return (p || d) && u.push(function (e, t) { for (var r = S.length - 1; r >= 0; r--) t = S[r].call(e, t); return t; }), p || b || (f ? d ? u.push(i(w, "get"), i(w, "set")) : u.push(2 === o ? w[A] : i.call.bind(w[A])) : Object.defineProperty(e, n, w)), P; } function u(e, t) { return Object.defineProperty(e, Symbol.metadata || Symbol["for"]("Symbol.metadata"), { configurable: !0, enumerable: !0, value: t }); } if (arguments.length >= 6) var l = a[Symbol.metadata || Symbol["for"]("Symbol.metadata")]; var f = Object.create(null == l ? null : l), p = function (e, t, r, n) { var o, a, i = [], s = function s(t) { return _checkInRHS(t) === e; }, u = new Map(); function l(e) { e && i.push(c.bind(null, e)); } for (var f = 0; f < t.length; f++) { var p = t[f]; if (Array.isArray(p)) { var d = p[1], h = p[2], m = p.length > 3, y = 16 & d, v = !!(8 & d), g = 0 == (d &= 7), b = h + "/" + v; if (!g && !m) { var w = u.get(b); if (!0 === w || 3 === w && 4 !== d || 4 === w && 3 !== d) throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + h); u.set(b, !(d > 2) || d); } applyDec(v ? e : e.prototype, p, y, m ? "#" + h : _toPropertyKey(h), d, n, v ? a = a || [] : o = o || [], i, v, m, g, 1 === d, v && m ? s : r); } } return l(o), l(a), i; }(e, t, o, f); return r.length || u(e, f), { e: p, get c() { var t = []; return r.length && [u(applyDec(e, [r], n, e.name, 5, f, t), f), c.bind(null, t, e)]; } }; }
106
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
107
+ 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); }
108
+ 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; }
109
+ 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; }
110
+ var _A = /*#__PURE__*/new WeakMap();
111
+ _ref = (_launchDecs = [_decorator.trace, (0, _validateParams["default"])(_schema.fcrUISceneConfigSchema, _schema.fcrUISceneCallbackSchema, _schema.fcrUISceneCallbackSchema, _schema.fcrUISceneFailureCallbackSchema, _schema.fcrRenderViewSchema)], "_engine");
112
+ var FcrUISceneCreator = exports.FcrUISceneCreator = /*#__PURE__*/function () {
113
+ function FcrUISceneCreator(_config) {
114
+ (0, _classCallCheck2["default"])(this, FcrUISceneCreator);
115
+ // @internal
116
+ (0, _defineProperty2["default"])(this, _ref, void _initProto(this));
117
+ _classPrivateFieldInitSpec(this, _A, _init_observableSettingStore(this, {
118
+ value: null
119
+ }));
120
+ (0, _defineProperty2["default"])(this, "logger", (0, _logger.createLogger)({
121
+ prefix: 'FcrUISceneCreator'
122
+ }));
123
+ (0, _defineProperty2["default"])(this, "_registeredWidgetConfigs", new Map([]));
124
+ (0, _defineProperty2["default"])(this, "_released", false);
125
+ (0, _defineProperty2["default"])(this, "_scene", null);
126
+ (0, _defineProperty2["default"])(this, "_microphoneKeepRecording", false);
127
+ (0, _defineProperty2["default"])(this, "_sceneObserver", null);
128
+ this._config = _config;
129
+ this.logger.info("creator config: ".concat(JSON.stringify(_config)));
130
+ this._localStorageProvider = new _localStorageProvider.FcrUILocalStorageProviderImpl();
131
+ this._userSettingStorageProvider = new _userSettingStorageProvider.FcrUIUserSettingStorageProviderImpl();
132
+ this._sharedSettingDataSource = new _setting.FcrUISharedSettingDataSourceImpl(this._config, this._userSettingStorageProvider);
133
+ this._setKeepRecordingValueFromParameters(this._config.parameters || {});
134
+ var filteredParameters = this._filterKeepRecordingValueFromParameters(this._config.parameters || {});
135
+ this.logger.info("[MicrophoneKeepRecording][initSettingStore] filteredParameters ==> ".concat(JSON.stringify(filteredParameters)));
136
+ var dualCameraVideoStreamConfigFromParameters = (0, _parameters.getDualCameraVideoStreamConfig)(filteredParameters);
137
+ var dualScreenVideoStreamConfigFromParameters = (0, _parameters.getDualScreenVideoStreamConfig)(filteredParameters);
138
+ (0, _defaultConfig.mergeDefaultDualStreamConfig)(dualCameraVideoStreamConfigFromParameters, dualScreenVideoStreamConfigFromParameters);
139
+ var dualCameraVideoStreamConfig = {
140
+ lowVideoEncoderConfig: _defaultConfig.cameraVideoLowStreamEncoderConfig,
141
+ highVideoEncoderConfig: _defaultConfig.cameraVideoHighStreamEncoderConfig,
142
+ enableDualStreamMode: (0, _defaultConfig.isCameraDualStreamModeEnabled)()
143
+ };
144
+ var dualScreenVideoStreamConfig = {
145
+ lowVideoEncoderConfig: _defaultConfig.screenCaptureLowStreamEncoderConfig,
146
+ highVideoEncoderConfig: _defaultConfig.screenCaptureHighStreamEncoderConfig,
147
+ enableDualStreamMode: (0, _defaultConfig.isScreenDualStreamModeEnabled)()
148
+ };
149
+ var config = {
150
+ appId: this._config.appId,
151
+ userId: this._config.userId,
152
+ parameters: filteredParameters,
153
+ token: this._config.token,
154
+ region: _fcrCore.FcrRegion.CN,
155
+ dualCameraVideoStreamConfig: dualCameraVideoStreamConfig,
156
+ dualScreenVideoStreamConfig: dualScreenVideoStreamConfig
157
+ };
158
+ this.logger.info("create core engine with config: ".concat((0, _imports.jsonstring)(config)));
159
+ var engine = new _imports.FcrCoreEngine(config);
160
+
161
+ // @ts-ignore
162
+ window.__core_engine = engine;
163
+ this._engine = engine;
164
+ this._initProviders();
165
+ this._createSettingStore();
166
+ }
167
+ return (0, _createClass2["default"])(FcrUISceneCreator, [{
168
+ key: "observableSettingStore",
169
+ get: function get() {
170
+ return _classPrivateFieldGet(_A, this);
171
+ },
172
+ set: function set(v) {
173
+ _classPrivateFieldSet(_A, this, v);
174
+ }
175
+ }, {
176
+ key: "_initProviders",
177
+ value: function _initProviders() {
178
+ this._eventProvider = new _eventProvider.FcrUIEventProviderImpl();
179
+ this._messageProvider = new _messageProvider.FcrUIMessageProviderImpl();
180
+ this._dialogProvider = new _dialogProvider.FcrUIDialogProviderImpl();
181
+ this._deviceProvider = new _deviceProvider.FcrUIDeviceProviderImpl(this._eventProvider, this._engine.getDesktopMediaControl(), this._sharedSettingDataSource);
182
+ this._sharedConfigDataSource = new _config2.FcrUISharedConfigDataSourceImpl({
183
+ creatorConfig: this._config
184
+ });
185
+ this._monitorProvider = new _monitorProvider.FcrUIMonitorProviderImpl(this._engine.getMonitorControl());
186
+ this._sharedLayoutDataSource = new _layoutData.FcrUISharedLayoutDataSourceImpl(this._sharedConfigDataSource);
187
+ var openDefaultCamera = (0, _parameters.isOpenDefaultCamera)(this._config.parameters);
188
+ var openDefaultMicrophone = (0, _parameters.isOpenDefaultMicrophone)(this._config.parameters);
189
+ if (openDefaultCamera) {
190
+ this._sharedSettingDataSource.setMedia({
191
+ cameraExpectedOff: false
192
+ });
193
+ }
194
+ if (openDefaultMicrophone) {
195
+ this._sharedSettingDataSource.setMedia({
196
+ autoConnectAudio: true,
197
+ microphoneExpectedOff: false
198
+ });
199
+ }
200
+ this._deviceProvider.loadUiResources((0, _uiResources.getNormalDownloadResources)(this._config.resource));
201
+ }
202
+ }, {
203
+ key: "launch",
204
+ value: function launch(config, onCancel, onSuccess, onFailure, dom) {
205
+ var _this = this;
206
+ this._precheckState();
207
+ if (this._scene) {
208
+ throw new Error('scene is launched, please exit it before launching a new one.');
209
+ }
210
+
211
+ // changeLanguage(config.language);
212
+
213
+ var scene = new _uiScene.FcrUIDefaultScene({
214
+ config: config,
215
+ creatorConfig: this._config,
216
+ dom: dom,
217
+ registeredWidgetConfigs: this._registeredWidgetConfigs,
218
+ engine: this._engine,
219
+ eventProvider: this._eventProvider,
220
+ monitorProvider: this._monitorProvider,
221
+ deviceProvider: this._deviceProvider,
222
+ messageProvider: this._messageProvider,
223
+ dialogProvider: this._dialogProvider,
224
+ localStorageProvider: this._localStorageProvider,
225
+ sharedConfigDataSource: this._sharedConfigDataSource,
226
+ sharedSettingDataSource: this._sharedSettingDataSource,
227
+ sharedLayoutDataSource: this._sharedLayoutDataSource
228
+ });
229
+ var observer = {
230
+ onLaunchSuccess: function onLaunchSuccess() {
231
+ if (_this._microphoneKeepRecording) {
232
+ var parameters = {
233
+ rtc: [JSON.stringify({
234
+ 'rtc.microphone.keep.recording': true
235
+ })]
236
+ };
237
+ _this.logger.info("[MicrophoneKeepRecording][onLaunchSuccess] parameters ==> ".concat(JSON.stringify(parameters)));
238
+ _this._engine.setParameters(parameters);
239
+ }
240
+ onSuccess.apply(void 0, arguments);
241
+ },
242
+ onLaunchFailure: function onLaunchFailure() {
243
+ onFailure.apply(void 0, arguments);
244
+ _this._resetScene();
245
+ },
246
+ onLaunchCancel: function onLaunchCancel() {
247
+ onCancel.apply(void 0, arguments);
248
+ _this._resetScene();
249
+ },
250
+ onSettingStore: function onSettingStore(store) {
251
+ var _this$observableSetti;
252
+ (_this$observableSetti = _this.observableSettingStore.value) === null || _this$observableSetti === void 0 || _this$observableSetti.release();
253
+ _this.observableSettingStore.value = store;
254
+ _this.closeSetting();
255
+ },
256
+ onExited: function onExited() {
257
+ if (_this._microphoneKeepRecording) {
258
+ var parameters = {
259
+ rtc: [JSON.stringify({
260
+ 'rtc.microphone.keep.recording': false
261
+ })]
262
+ };
263
+ _this.logger.info("[MicrophoneKeepRecording][onExited] parameters ==> ".concat(JSON.stringify(parameters)));
264
+ _this._engine.setParameters(parameters);
265
+ }
266
+ _this.closeSetting();
267
+ _this._releaseProviders();
268
+ _this._initProviders();
269
+ _this._createSettingStore();
270
+ _this._resetScene();
271
+ },
272
+ onOpenSettingDialog: function onOpenSettingDialog() {
273
+ _this.openSetting();
274
+ }
275
+ };
276
+ this._sceneObserver = observer;
277
+ scene.addObserver(this._sceneObserver);
278
+ scene.launch();
279
+ this._scene = scene;
280
+ return scene;
281
+ }
282
+ }, {
283
+ key: "getSettingConfig",
284
+ value: function getSettingConfig() {
285
+ this._precheckState();
286
+ return this._sharedSettingDataSource.settingConfig;
287
+ }
288
+ }, {
289
+ key: "registerWidget",
290
+ value: function registerWidget(config) {
291
+ this._precheckState();
292
+ this._registeredWidgetConfigs.set(config.id, config);
293
+ }
294
+ }, {
295
+ key: "unregisterWidget",
296
+ value: function unregisterWidget(widgetId) {
297
+ this._precheckState();
298
+ this._registeredWidgetConfigs["delete"](widgetId);
299
+ }
300
+ }, {
301
+ key: "renewUserToken",
302
+ value: function renewUserToken(token) {
303
+ this._engine.renewUserToken(token);
304
+ }
305
+ }, {
306
+ key: "setParameters",
307
+ value: function setParameters(parameters) {
308
+ var _this$_engine;
309
+ this._precheckState();
310
+ var filteredParameters = parameters;
311
+ this.logger.info("[MicrophoneKeepRecording][setParameters] parameters has no rtc ==> ".concat(JSON.stringify(parameters)));
312
+ if (parameters.rtc) {
313
+ this._setKeepRecordingValueFromParameters(parameters);
314
+ filteredParameters = this._filterKeepRecordingValueFromParameters(parameters);
315
+ this.logger.info("[MicrophoneKeepRecording][setParameters] rtc filtered ==> ".concat(JSON.stringify(filteredParameters)));
316
+ }
317
+ (_this$_engine = this._engine) === null || _this$_engine === void 0 || _this$_engine.setParameters(filteredParameters);
318
+ this._sharedConfigDataSource.setParameters(parameters);
319
+ }
320
+ }, {
321
+ key: "getVersion",
322
+ value: function getVersion() {
323
+ return (0, _packageInfo.getVersion)();
324
+ }
325
+ }, {
326
+ key: "getDependencyVersions",
327
+ value: function getDependencyVersions() {
328
+ return _objectSpread({
329
+ core: this._engine.getVersion()
330
+ }, this._engine.getDependencyVersions());
331
+ }
332
+ }, {
333
+ key: "openSetting",
334
+ value: function openSetting() {
335
+ var _this$observableSetti2,
336
+ _this2 = this;
337
+ this._precheckState();
338
+ this.closeSetting();
339
+ (_this$observableSetti2 = this.observableSettingStore.value) === null || _this$observableSetti2 === void 0 || _this$observableSetti2.initSettingConfig();
340
+ setTimeout(function () {
341
+ var settingContainer = document.createElement('div');
342
+ settingContainer.setAttribute('id', 'setting-container');
343
+ var body = document.querySelector('body');
344
+ body === null || body === void 0 || body.appendChild(settingContainer);
345
+ // this._renderSettingsViewe()
346
+ var dom = document.querySelector('#setting-container');
347
+ _reactDom["default"].render(/*#__PURE__*/(0, _jsxRuntime.jsx)(_view.SettingsView, {
348
+ onClose: _this2.closeSetting,
349
+ store: _this2.observableSettingStore
350
+ }), dom);
351
+ }, 400);
352
+ }
353
+ }, {
354
+ key: "closeSetting",
355
+ value: function closeSetting() {
356
+ this._precheckState();
357
+ var settingContainer = document.querySelector('#setting-container');
358
+ if (settingContainer) {
359
+ _reactDom["default"].unmountComponentAtNode(settingContainer);
360
+ document.body.removeChild(settingContainer);
361
+ }
362
+ }
363
+ }, {
364
+ key: "_releaseProviders",
365
+ value: function _releaseProviders() {
366
+ this._eventProvider.release();
367
+ this._deviceProvider.release();
368
+ }
369
+ }, {
370
+ key: "release",
371
+ value: function release() {
372
+ var _this$_engine2;
373
+ this._releaseProviders();
374
+ (_this$_engine2 = this._engine) === null || _this$_engine2 === void 0 || _this$_engine2.release();
375
+ this._released = true;
376
+ this._resetScene();
377
+ }
378
+ }, {
379
+ key: "_resetScene",
380
+ value: function _resetScene() {
381
+ if (this._sceneObserver) {
382
+ var _this$_scene;
383
+ (_this$_scene = this._scene) === null || _this$_scene === void 0 || _this$_scene.removeObserver(this._sceneObserver);
384
+ }
385
+ this._scene = null;
386
+ }
387
+ }, {
388
+ key: "_precheckState",
389
+ value: function _precheckState() {
390
+ if (this._released) {
391
+ throw new Error('FcrUISceneCreator has been released.');
392
+ }
393
+ }
394
+ }, {
395
+ key: "_filterKeepRecordingValueFromParameters",
396
+ value: function _filterKeepRecordingValueFromParameters(parameters) {
397
+ if (!(parameters !== null && parameters !== void 0 && parameters.rtc)) return parameters;
398
+ try {
399
+ var rtc = (parameters === null || parameters === void 0 ? void 0 : parameters.rtc).map(function (item) {
400
+ var _JSON$parse = JSON.parse(item),
401
+ _ = _JSON$parse['rtc.microphone.keep.recording'],
402
+ rest = (0, _objectWithoutProperties2["default"])(_JSON$parse, _excluded);
403
+ return Object.keys(rest).length > 0 ? JSON.stringify(rest) : null;
404
+ }).filter(function (item) {
405
+ return item !== null;
406
+ });
407
+ return _objectSpread(_objectSpread({}, parameters), {}, {
408
+ rtc: rtc
409
+ });
410
+ } catch (e) {
411
+ this.logger.error("[MicrophoneKeepRecording][filterKeepRecordingValueFromParameters] error: ".concat(e));
412
+ return parameters;
413
+ }
414
+ }
415
+ }, {
416
+ key: "_setKeepRecordingValueFromParameters",
417
+ value: function _setKeepRecordingValueFromParameters(parameters) {
418
+ if (!(parameters !== null && parameters !== void 0 && parameters.rtc)) return;
419
+ try {
420
+ var rtcs = parameters === null || parameters === void 0 ? void 0 : parameters.rtc;
421
+ var keepRecording = rtcs.find(function (item) {
422
+ return typeof JSON.parse(item)['rtc.microphone.keep.recording'] === 'boolean';
423
+ });
424
+ if (keepRecording) {
425
+ var keepRecordingValue = JSON.parse(keepRecording)['rtc.microphone.keep.recording'];
426
+ this._microphoneKeepRecording = !!keepRecordingValue;
427
+ this.logger.info("[MicrophoneKeepRecording][setParameters] keepRecording value is ==> ".concat(JSON.stringify(parameters)));
428
+ }
429
+ } catch (e) {
430
+ this.logger.error("[MicrophoneKeepRecording][setParameters] error: ".concat(e));
431
+ }
432
+ }
433
+ }, {
434
+ key: "_createSettingStore",
435
+ value: function _createSettingStore() {
436
+ var _this$observableSetti3;
437
+ var eventProvider = this._eventProvider;
438
+ var deviceProvider = this._deviceProvider;
439
+ var dialogProvider = this._dialogProvider;
440
+ var messageProvider = this._messageProvider;
441
+ var sharedConfigDataSource = this._sharedConfigDataSource;
442
+ var sharedSettingDataSource = this._sharedSettingDataSource;
443
+ var monitorProvider = this._monitorProvider;
444
+ var sharedLayoutDataSource = this._sharedLayoutDataSource;
445
+ (_this$observableSetti3 = this.observableSettingStore.value) === null || _this$observableSetti3 === void 0 || _this$observableSetti3.release();
446
+ this.logger.debug('create SettingStore');
447
+ this.observableSettingStore.value = new _store["default"]({
448
+ eventProvider: eventProvider,
449
+ deviceProvider: deviceProvider,
450
+ monitorProvider: monitorProvider,
451
+ sharedConfigDataSource: sharedConfigDataSource,
452
+ messageProvider: messageProvider,
453
+ sharedSettingDataSource: sharedSettingDataSource,
454
+ dialogProvider: dialogProvider,
455
+ sharedLayoutDataSource: sharedLayoutDataSource
456
+ });
457
+ }
458
+ }]);
459
+ }();
460
+ _FcrUISceneCreator = FcrUISceneCreator;
461
+ var _applyDecs$e = _applyDecs(_FcrUISceneCreator, [[_mobx.observable, 1, "observableSettingStore"], [_launchDecs, 2, "launch"], [_decorator.trace, 2, "getSettingConfig"], [_decorator.trace, 2, "registerWidget"], [_decorator.trace, 2, "unregisterWidget"], [_decorator.trace, 2, "renewUserToken"], [_decorator.trace, 2, "setParameters"], [[_decorator.trace, _decorator.bound], 2, "openSetting"], [[_decorator.trace, _decorator.bound], 2, "closeSetting"], [_decorator.trace, 2, "release"], [_decorator.bound, 2, "_resetScene"]], []).e;
462
+ var _applyDecs$e2 = (0, _slicedToArray2["default"])(_applyDecs$e, 2);
463
+ _init_observableSettingStore = _applyDecs$e2[0];
464
+ _initProto = _applyDecs$e2[1];
465
+ _applyDecs$e;