fcr-ui-scene 3.6.1 → 3.6.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (257) hide show
  1. package/lib/creator.d.ts +6 -0
  2. package/lib/creator.js +125 -24
  3. package/lib/electron/app.js +5 -4
  4. package/lib/electron/bootstrap-dev.js +3 -0
  5. package/lib/electron/bootstrap-sdk.js +4 -0
  6. package/lib/electron/injections.d.ts +5 -0
  7. package/lib/electron/injections.js +36 -8
  8. package/lib/electron/ipc/ipc.d.ts +1 -0
  9. package/lib/electron/ipc/ipc.js +4 -0
  10. package/lib/electron/main.js +16 -8
  11. package/lib/electron/plugins/screenshot.js +4 -2
  12. package/lib/electron/preload.js +7 -2
  13. package/lib/electron/window.js +4 -6
  14. package/lib/fragments/annotation/index.d.ts +11 -0
  15. package/lib/fragments/annotation/index.js +121 -0
  16. package/lib/fragments/annotation/libs.d.ts +55 -0
  17. package/lib/fragments/annotation/libs.js +93 -0
  18. package/lib/fragments/annotation/store.d.ts +30 -0
  19. package/lib/fragments/annotation/store.js +565 -0
  20. package/lib/fragments/annotation/view.d.ts +3 -0
  21. package/lib/fragments/annotation/view.js +31 -0
  22. package/lib/fragments/base.d.ts +10 -0
  23. package/lib/fragments/base.js +44 -0
  24. package/lib/modules/action-bar/components/screen-share/submenu.js +7 -6
  25. package/lib/modules/action-bar/index.css +11 -0
  26. package/lib/modules/action-bar/index.d.ts +2 -0
  27. package/lib/modules/action-bar/index.js +1 -0
  28. package/lib/modules/action-bar/store.d.ts +7 -9
  29. package/lib/modules/action-bar/store.js +49 -90
  30. package/lib/modules/annotation/board-cursor.css +76 -0
  31. package/lib/modules/annotation/components/control-bar/index.css +48 -0
  32. package/lib/modules/annotation/components/control-bar/index.d.ts +3 -0
  33. package/lib/modules/annotation/components/control-bar/index.js +141 -0
  34. package/lib/modules/annotation/components/toolbar/components/color-tool/color-panel/index.d.ts +3 -0
  35. package/lib/modules/annotation/components/toolbar/components/color-tool/color-panel/index.js +46 -0
  36. package/lib/modules/annotation/components/toolbar/components/color-tool/index.d.ts +1 -0
  37. package/lib/modules/annotation/components/toolbar/components/color-tool/index.js +52 -0
  38. package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/index.d.ts +3 -0
  39. package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/index.js +61 -0
  40. package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/libs.d.ts +12 -0
  41. package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/libs.js +65 -0
  42. package/lib/modules/annotation/components/toolbar/components/graphic-tool/index.d.ts +1 -0
  43. package/lib/modules/annotation/components/toolbar/components/graphic-tool/index.js +68 -0
  44. package/lib/modules/annotation/components/toolbar/components/item/item.d.ts +18 -0
  45. package/lib/modules/annotation/components/toolbar/components/item/item.js +116 -0
  46. package/lib/modules/annotation/components/toolbar/components/item/style.css +43 -0
  47. package/lib/modules/annotation/components/toolbar/components/panel/index.d.ts +5 -0
  48. package/lib/modules/annotation/components/toolbar/components/panel/index.js +22 -0
  49. package/lib/modules/annotation/components/toolbar/components/panel/style.css +24 -0
  50. package/lib/modules/annotation/components/toolbar/components/pen-tool/index.d.ts +1 -0
  51. package/lib/modules/annotation/components/toolbar/components/pen-tool/index.js +58 -0
  52. package/lib/modules/annotation/components/toolbar/components/pen-tool/pen-panel/index.d.ts +3 -0
  53. package/lib/modules/annotation/components/toolbar/components/pen-tool/pen-panel/index.js +34 -0
  54. package/lib/modules/annotation/components/toolbar/components/tips/index.d.ts +2 -0
  55. package/lib/modules/annotation/components/toolbar/components/tips/index.js +25 -0
  56. package/lib/modules/annotation/components/toolbar/components/tips/style.css +19 -0
  57. package/lib/modules/annotation/components/toolbar/index.d.ts +0 -0
  58. package/lib/modules/annotation/components/toolbar/index.js +1 -0
  59. package/lib/modules/annotation/components/toolbar/store.d.ts +40 -0
  60. package/lib/modules/annotation/components/toolbar/store.js +279 -0
  61. package/lib/modules/annotation/components/toolbar/style.css +55 -0
  62. package/lib/modules/annotation/components/toolbar/view.d.ts +2 -0
  63. package/lib/modules/annotation/components/toolbar/view.js +120 -0
  64. package/lib/modules/annotation/index.d.ts +38 -0
  65. package/lib/modules/annotation/index.js +169 -0
  66. package/lib/modules/annotation/store.d.ts +93 -0
  67. package/lib/modules/annotation/store.js +673 -0
  68. package/lib/modules/annotation/style.css +26 -0
  69. package/lib/modules/annotation/view.d.ts +3 -0
  70. package/lib/modules/annotation/view.js +49 -0
  71. package/lib/modules/chat/view.js +112 -100
  72. package/lib/modules/components/annotation-menu/index.d.ts +7 -0
  73. package/lib/modules/components/annotation-menu/index.js +119 -0
  74. package/lib/modules/components/leave-meeting/components/assign-host.js +26 -23
  75. package/lib/modules/components/member-window/components/member-actions/components/audio-control.d.ts +0 -1
  76. package/lib/modules/components/member-window/components/member-actions/components/audio-control.js +10 -4
  77. package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.d.ts +4 -2
  78. package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.js +10 -6
  79. package/lib/modules/components/member-window/components/member-actions/components/icon-status.d.ts +0 -2
  80. package/lib/modules/components/member-window/components/member-actions/components/icon-status.js +3 -4
  81. package/lib/modules/components/member-window/components/member-actions/components/more-actions.d.ts +0 -3
  82. package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +6 -32
  83. package/lib/modules/components/member-window/components/member-actions/components/share-status.js +11 -3
  84. package/lib/modules/components/member-window/components/member-actions/components/user-info.d.ts +0 -1
  85. package/lib/modules/components/member-window/components/member-actions/components/user-info.js +7 -10
  86. package/lib/modules/components/member-window/components/member-actions/components/user-tag.d.ts +0 -1
  87. package/lib/modules/components/member-window/components/member-actions/components/user-tag.js +0 -2
  88. package/lib/modules/components/member-window/components/member-actions/index.js +1 -32
  89. package/lib/modules/components/member-window/components/member-actions/store.d.ts +38 -1
  90. package/lib/modules/components/member-window/components/member-actions/store.js +130 -23
  91. package/lib/modules/components/member-window/components/video-player/components/remote-video-player.d.ts +2 -1
  92. package/lib/modules/components/member-window/components/video-player/components/remote-video-player.js +6 -1
  93. package/lib/modules/components/member-window/components/video-player/index.d.ts +1 -0
  94. package/lib/modules/components/member-window/index.css +37 -0
  95. package/lib/modules/components/member-window/index.d.ts +1 -1
  96. package/lib/modules/components/member-window/index.js +8 -5
  97. package/lib/modules/components/member-window/types.d.ts +2 -0
  98. package/lib/modules/components/security-menu/index.js +7 -6
  99. package/lib/modules/control-bar/components/annotation-button/index.d.ts +1 -0
  100. package/lib/modules/control-bar/components/annotation-button/index.js +59 -0
  101. package/lib/modules/control-bar/index.d.ts +6 -6
  102. package/lib/modules/control-bar/index.js +5 -34
  103. package/lib/modules/control-bar/store.d.ts +27 -13
  104. package/lib/modules/control-bar/store.js +121 -126
  105. package/lib/modules/control-bar/view.js +50 -4
  106. package/lib/modules/dialog/components/annotation-tool/index.d.ts +4 -0
  107. package/lib/modules/dialog/components/annotation-tool/index.js +53 -0
  108. package/lib/modules/dialog/components/chat/index.js +1 -1
  109. package/lib/modules/dialog/components/control-bar/index.d.ts +0 -2
  110. package/lib/modules/dialog/components/control-bar/index.js +1 -3
  111. package/lib/modules/dialog/components/host-area-container/index.d.ts +12 -0
  112. package/lib/modules/dialog/components/host-area-container/index.js +214 -0
  113. package/lib/modules/dialog/components/participant/index.js +1 -1
  114. package/lib/modules/dialog/components/system-preference/index.js +1 -1
  115. package/lib/modules/dialog/components/video-window/index.js +1 -0
  116. package/lib/modules/dialog/hooks/use-popover-watcher.d.ts +14 -0
  117. package/lib/modules/dialog/hooks/use-popover-watcher.js +112 -0
  118. package/lib/modules/dialog/hooks/useElectron.d.ts +1 -0
  119. package/lib/modules/dialog/hooks/useElectron.js +13 -3
  120. package/lib/modules/dialog/index.d.ts +2 -3
  121. package/lib/modules/dialog/index.js +3 -26
  122. package/lib/modules/dialog/store.d.ts +14 -9
  123. package/lib/modules/dialog/store.js +56 -50
  124. package/lib/modules/event-confirm/components/window/index.d.ts +7 -0
  125. package/lib/modules/event-confirm/components/window/index.js +188 -0
  126. package/lib/modules/event-confirm/index.d.ts +4 -4
  127. package/lib/modules/event-confirm/index.js +6 -4
  128. package/lib/modules/event-confirm/store.d.ts +4 -5
  129. package/lib/modules/event-confirm/store.js +35 -26
  130. package/lib/modules/event-confirm/view.js +23 -171
  131. package/lib/modules/event-sound/index.js +1 -1
  132. package/lib/modules/layout/components/CommonVideoRenderer.js +33 -16
  133. package/lib/modules/layout/index.d.ts +4 -0
  134. package/lib/modules/layout/index.js +2 -0
  135. package/lib/modules/layout/store.d.ts +14 -2
  136. package/lib/modules/layout/store.js +77 -45
  137. package/lib/modules/layout/type.d.ts +7 -0
  138. package/lib/modules/participant/index.d.ts +2 -0
  139. package/lib/modules/participant/index.js +2 -1
  140. package/lib/modules/participant/store.d.ts +5 -2
  141. package/lib/modules/participant/store.js +73 -25
  142. package/lib/modules/setting/audio-settings/audio-settings.js +3 -14
  143. package/lib/modules/setting/index.d.ts +2 -0
  144. package/lib/modules/setting/index.js +3 -3
  145. package/lib/modules/setting/store.d.ts +8 -10
  146. package/lib/modules/setting/store.js +22 -20
  147. package/lib/modules/share-screen/components/selection/index.js +18 -42
  148. package/lib/modules/share-screen/index.d.ts +6 -2
  149. package/lib/modules/share-screen/index.js +4 -2
  150. package/lib/modules/share-screen/store.d.ts +41 -46
  151. package/lib/modules/share-screen/store.js +297 -718
  152. package/lib/modules/share-screen/view.js +2 -2
  153. package/lib/modules/state-bar/assets/fcr_grid_big.svg +1 -1
  154. package/lib/modules/state-bar/assets/fcr_listontop_big.svg +1 -1
  155. package/lib/modules/state-bar/index.css +8 -6
  156. package/lib/modules/state-bar/index.d.ts +4 -0
  157. package/lib/modules/state-bar/index.js +3 -1
  158. package/lib/modules/state-bar/layout-config.d.ts +1 -0
  159. package/lib/modules/state-bar/layout-config.js +15 -5
  160. package/lib/modules/state-bar/store.d.ts +9 -1
  161. package/lib/modules/state-bar/store.js +17 -2
  162. package/lib/modules/state-bar/view.js +9 -4
  163. package/lib/modules/video-window/components/members/index.js +2 -1
  164. package/lib/modules/waiting-room-layout/store.js +1 -1
  165. package/lib/modules/whiteboard/components/control-bar/store.d.ts +5 -1
  166. package/lib/modules/whiteboard/components/control-bar/store.js +10 -1
  167. package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/picker.js +16 -5
  168. package/lib/modules/whiteboard/components/toolbar/components/eraser-picker.js +67 -12
  169. package/lib/modules/whiteboard/components/toolbar/components/expansion/index.js +22 -2
  170. package/lib/modules/whiteboard/components/toolbar/components/history.js +46 -14
  171. package/lib/modules/whiteboard/components/toolbar/components/item/index.js +3 -2
  172. package/lib/modules/whiteboard/components/toolbar/components/move-handle.js +1 -1
  173. package/lib/modules/whiteboard/components/toolbar/components/pen-picker.js +58 -16
  174. package/lib/modules/whiteboard/components/toolbar/components/screen-capture-picker.js +15 -4
  175. package/lib/modules/whiteboard/components/toolbar/components/shape-picker.js +45 -2
  176. package/lib/modules/whiteboard/components/toolbar/hooks/index.d.ts +14 -0
  177. package/lib/modules/whiteboard/components/toolbar/hooks/index.js +235 -7
  178. package/lib/modules/whiteboard/components/toolbar/index.d.ts +1 -1
  179. package/lib/modules/whiteboard/components/toolbar/index.js +1 -1
  180. package/lib/modules/whiteboard/components/toolbar/store.d.ts +13 -2
  181. package/lib/modules/whiteboard/components/toolbar/store.js +74 -24
  182. package/lib/modules/whiteboard/components/toolbar/{ style.css → style.css} +1 -0
  183. package/lib/modules/whiteboard/index.d.ts +2 -0
  184. package/lib/modules/whiteboard/index.js +22 -21
  185. package/lib/modules/whiteboard/style.css +0 -4
  186. package/lib/modules/whiteboard/view.js +8 -2
  187. package/lib/plugins/browser-runtime-plugin.js +10 -1
  188. package/lib/providers/annotation-provider.d.ts +128 -0
  189. package/lib/providers/annotation-provider.js +421 -0
  190. package/lib/providers/device-provider.d.ts +3 -3
  191. package/lib/providers/device-provider.js +8 -6
  192. package/lib/providers/event-provider.d.ts +3 -3
  193. package/lib/providers/interpreter-provider.d.ts +1 -0
  194. package/lib/providers/interpreter-provider.js +182 -154
  195. package/lib/providers/privilege-provider.d.ts +35 -6
  196. package/lib/providers/privilege-provider.js +105 -49
  197. package/lib/providers/renderer-provider.js +3 -7
  198. package/lib/providers/room-provider.d.ts +13 -1
  199. package/lib/providers/room-provider.js +21 -7
  200. package/lib/providers/screen-share-provider.d.ts +131 -34
  201. package/lib/providers/screen-share-provider.js +554 -173
  202. package/lib/providers/sharing-provider.d.ts +37 -0
  203. package/lib/{shared-data-source/screen-share-data-source.js → providers/sharing-provider.js} +102 -39
  204. package/lib/providers/user-setting-storage-provider.d.ts +20 -0
  205. package/lib/providers/user-setting-storage-provider.js +74 -0
  206. package/lib/runtime.d.ts +6 -1
  207. package/lib/scenes/main-scene.d.ts +7 -2
  208. package/lib/scenes/main-scene.js +55 -27
  209. package/lib/scenes/waiting-scene.d.ts +6 -0
  210. package/lib/scenes/waiting-scene.js +15 -5
  211. package/lib/shared-data-source/config.d.ts +1 -5
  212. package/lib/shared-data-source/config.js +11 -81
  213. package/lib/shared-data-source/member-data.d.ts +21 -5
  214. package/lib/shared-data-source/member-data.js +69 -17
  215. package/lib/shared-data-source/screen-share-data.d.ts +274 -0
  216. package/lib/shared-data-source/screen-share-data.js +390 -0
  217. package/lib/shared-data-source/security-data.d.ts +4 -1
  218. package/lib/shared-data-source/security-data.js +5 -2
  219. package/lib/shared-data-source/setting.d.ts +13 -13
  220. package/lib/shared-data-source/setting.js +16 -10
  221. package/lib/shared-data-source/video-window.d.ts +2 -1
  222. package/lib/shared-data-source/video-window.js +56 -36
  223. package/lib/translations/enUS.d.ts +8 -0
  224. package/lib/translations/enUS.js +9 -1
  225. package/lib/translations/zhCN.d.ts +8 -0
  226. package/lib/translations/zhCN.js +11 -3
  227. package/lib/type.d.ts +55 -1
  228. package/lib/ui-manager.d.ts +3 -2
  229. package/lib/ui-manager.js +6 -4
  230. package/lib/ui-scene.js +70 -50
  231. package/lib/utilities/constant.d.ts +10 -2
  232. package/lib/utilities/constant.js +8 -0
  233. package/lib/utilities/logger.d.ts +4 -0
  234. package/lib/utilities/logger.js +8 -1
  235. package/lib/utilities/renderer-event.d.ts +3 -0
  236. package/lib/utilities/renderer-event.js +14 -1
  237. package/lib/utilities/screen.js +2 -1
  238. package/lib/utilities/setting-config-storage.d.ts +5 -6
  239. package/lib/utilities/setting-config-storage.js +33 -39
  240. package/lib/utilities/tools.d.ts +19 -1
  241. package/lib/utilities/tools.js +51 -4
  242. package/package.json +9 -7
  243. package/public/assets/cursors/fcr_whiteboard_input.ico +0 -0
  244. package/public/assets/cursors/fcr_whiteboard_pen.ico +0 -0
  245. package/public/assets/cursors/fcr_whiteboard_shape_-straightline.ico +0 -0
  246. package/public/assets/cursors/fcr_whiteboard_shape_arrow.ico +0 -0
  247. package/public/assets/cursors/fcr_whiteboard_shape_circle.ico +0 -0
  248. package/public/assets/cursors/fcr_whiteboard_shape_rectangle.ico +0 -0
  249. package/public/assets/cursors/fcr_whiteboard_shape_triangle.ico +0 -0
  250. package/public/assets/fcr_chat_reddot.svg +3 -3
  251. package/public/assets/fcr_grid_big.svg +1 -1
  252. package/public/assets/fcr_leave2.svg +14 -14
  253. package/public/assets/fcr_listontop_big.svg +1 -1
  254. package/public/assets/step-gradient.svg +1 -1
  255. package/public/fragment.html +10 -0
  256. package/public/index.html +3 -1
  257. package/lib/shared-data-source/screen-share-data-source.d.ts +0 -37
@@ -7,11 +7,14 @@ export interface FcrSecurityCheckedStateType {
7
7
  joinWithCloseVideo: boolean;
8
8
  enableWatermark: boolean;
9
9
  shareScreen: boolean;
10
- shareWhiteboard: boolean;
10
+ enableAnnotation: boolean;
11
11
  chat: boolean;
12
12
  unmuteYourself: boolean;
13
13
  startVideo: boolean;
14
14
  rename: boolean;
15
+ allowBoardWriteState: boolean;
16
+ allowAnnotationWriteState: boolean;
17
+ hasAnnotationWritePermission: boolean;
15
18
  }
16
19
  export interface FcrUISecuritySharedDataSource {
17
20
  get checkedStateMap(): FcrSecurityCheckedStateType;
@@ -109,11 +109,14 @@ var FcrUISecuritySharedDataSourceImpl = exports.FcrUISecuritySharedDataSourceImp
109
109
  joinWithCloseVideo: this._privilegeProvider.allowJoinWithMutedVideo(),
110
110
  enableWatermark: this._privilegeProvider.isWaterMarkEnabled(),
111
111
  shareScreen: this._privilegeProvider.allowScreenShareAndBoard(),
112
- shareWhiteboard: this._privilegeProvider.allowBoardWrite(),
112
+ enableAnnotation: this._privilegeProvider.hasAnnotationAllowWritePermission(),
113
113
  chat: this._privilegeProvider.allowChat(),
114
114
  unmuteYourself: this._privilegeProvider.allowUnmuteSelfAudio(),
115
115
  startVideo: this._privilegeProvider.allowUnmuteSelfVideo(),
116
- rename: this._privilegeProvider.allowChangeSelfName()
116
+ rename: this._privilegeProvider.allowChangeSelfName(),
117
+ allowBoardWriteState: this._privilegeProvider.allowBoardWriteState(),
118
+ allowAnnotationWriteState: this._privilegeProvider.allowAnnotationWriteState(),
119
+ hasAnnotationWritePermission: this._privilegeProvider.hasAnnotationWritePermission()
117
120
  };
118
121
  }
119
122
  }, {
@@ -1,6 +1,6 @@
1
- import { CustomSetting } from '../modules/setting/store';
1
+ import { FcrUICustomSetting } from '../modules/setting/store';
2
2
  import { FcrUISceneCreatorConfig } from '../type';
3
- import { FcrUILocalStorageProvider } from '../providers/local-storage-provider';
3
+ import { FcrUIUserSettingStorageProvider } from '../providers/user-setting-storage-provider';
4
4
  /**
5
5
  * FcrUISharedSettingDataSource 接口定义了用于获取和修改共享 UI 设置数据的方法。
6
6
  * 通过该接口,可以方便地对自定义设置进行读取和更新操作,适用于管理和维护 UI 相关的共享配置。
@@ -8,28 +8,28 @@ import { FcrUILocalStorageProvider } from '../providers/local-storage-provider';
8
8
  export interface FcrUISharedSettingDataSource {
9
9
  /**
10
10
  * 获取当前的自定义设置。
11
- * 此属性返回一个 CustomSetting 类型的对象,包含了所有已配置的自定义设置信息。
11
+ * 此属性返回一个 FcrUICustomSetting 类型的对象,包含了所有已配置的自定义设置信息。
12
12
  *
13
- * @returns 当前的自定义设置对象,类型为 CustomSetting
13
+ * @returns 当前的自定义设置对象,类型为 FcrUICustomSetting
14
14
  */
15
- get setting(): CustomSetting;
15
+ get setting(): FcrUICustomSetting;
16
16
  /**
17
17
  * 设置新的自定义设置。
18
- * 该方法允许传入一个 CustomSetting 类型的部分对象,用于更新当前的自定义设置。
18
+ * 该方法允许传入一个 FcrUICustomSetting 类型的部分对象,用于更新当前的自定义设置。
19
19
  * 传入的 newSetting 中的属性会覆盖当前设置中对应的属性。
20
20
  *
21
- * @param newSetting - 新的自定义设置对象,类型为 CustomSetting 的部分对象。
21
+ * @param newSetting - 新的自定义设置对象,类型为 FcrUICustomSetting 的部分对象。
22
22
  */
23
- setSetting(newSetting: Partial<CustomSetting>): void;
23
+ setSetting(newSetting: Partial<FcrUICustomSetting>): void;
24
24
  }
25
25
  export declare class FcrUISharedSettingDataSourceImpl implements FcrUISharedSettingDataSource {
26
26
  private _creatorConfig?;
27
- private _localStorageProvider;
28
- accessor _setting: CustomSetting;
27
+ private _userSettingStorageProvider;
28
+ accessor _setting: FcrUICustomSetting;
29
29
  private _useDefaultAudioEchoCancellation;
30
- constructor(creatorConfig: FcrUISceneCreatorConfig, localStorageProvider: FcrUILocalStorageProvider);
31
- get setting(): CustomSetting;
30
+ constructor(creatorConfig: FcrUISceneCreatorConfig, userSettingStorageProvider: FcrUIUserSettingStorageProvider);
31
+ get setting(): FcrUICustomSetting;
32
32
  private _preHandleSetting;
33
- setSetting(assignedSetting: Partial<CustomSetting>): void;
33
+ setSetting(assignedSetting: Partial<FcrUICustomSetting>): void;
34
34
  private _initSetting;
35
35
  }
@@ -61,11 +61,11 @@ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/cl
61
61
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
62
62
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
63
63
  var _imports = require("agora-rte-sdk/lib/imports");
64
- var _store = require("../modules/setting/store");
65
64
  var _fcrCore = require("fcr-core");
66
65
  var _parameters = require("../utilities/parameters");
67
66
  var _mobx = require("mobx");
68
67
  var _base = require("../base");
68
+ var _merge = _interopRequireDefault(require("lodash/merge"));
69
69
  var _i18n = require("agora-ui-foundation/lib/i18n");
70
70
  var _tools = require("../utilities/tools");
71
71
  var _FcrUISharedSettingDataSourceImpl;
@@ -89,7 +89,7 @@ function _checkInRHS(e) { if (Object(e) !== e) throw TypeError("right-hand side
89
89
  var _A = /*#__PURE__*/new WeakMap();
90
90
  _ref = (_preHandleSettingDecs = [_mobx.action, _mobx.action.bound], _setSettingDecs = [_mobx.action, _mobx.action.bound], _initSettingDecs = [_mobx.action, _mobx.action.bound], "_creatorConfig");
91
91
  var FcrUISharedSettingDataSourceImpl = exports.FcrUISharedSettingDataSourceImpl = /*#__PURE__*/function () {
92
- function FcrUISharedSettingDataSourceImpl(creatorConfig, localStorageProvider) {
92
+ function FcrUISharedSettingDataSourceImpl(creatorConfig, userSettingStorageProvider) {
93
93
  (0, _classCallCheck2["default"])(this, FcrUISharedSettingDataSourceImpl);
94
94
  (0, _defineProperty2["default"])(this, _ref, void _initProto(this));
95
95
  _classPrivateFieldInitSpec(this, _A, _init__setting(this, {
@@ -98,23 +98,23 @@ var FcrUISharedSettingDataSourceImpl = exports.FcrUISharedSettingDataSourceImpl
98
98
  displayedMaxAttendees: 16,
99
99
  autoAdjustmentSpeakerVolume: true,
100
100
  autoAdjustmentMicrophoneVolume: (0, _imports.isElectron)(),
101
- noiseReduce: _fcrCore.FcrAiDenoiseLevel.MEDIUM,
101
+ noiseReduce: _fcrCore.FcrAiDenoiseLevel.LOW,
102
102
  recordingPath: '',
103
103
  videoHD: false,
104
104
  videoLowLight: false,
105
105
  hardwareForReception: false,
106
106
  videoNoise: false,
107
107
  audioHiFi: false,
108
- audioEchoCancellation: false,
108
+ audioEchoCancellation: true,
109
109
  audioStereo: false,
110
- audioVoiceChanger: false,
110
+ audioVoiceChanger: true,
111
111
  spotlightEnabled: true,
112
112
  isPlaySound: true,
113
113
  language: (0, _tools.getBrowserLanguage)(),
114
114
  shouldHideMyVideo: false
115
115
  }));
116
116
  (0, _defineProperty2["default"])(this, "_useDefaultAudioEchoCancellation", true);
117
- this._localStorageProvider = localStorageProvider;
117
+ this._userSettingStorageProvider = userSettingStorageProvider;
118
118
  this._creatorConfig = creatorConfig;
119
119
  var defaultVideoGallerySize = (0, _parameters.getDefaultVideoGallerySize)(this._creatorConfig.parameters);
120
120
  if (defaultVideoGallerySize) {
@@ -151,17 +151,23 @@ var FcrUISharedSettingDataSourceImpl = exports.FcrUISharedSettingDataSourceImpl
151
151
  key: "setSetting",
152
152
  value: function setSetting(assignedSetting) {
153
153
  var newSetting = this._preHandleSetting(assignedSetting);
154
- var localSetting = this._localStorageProvider.read(_store.SETTING_KEY) || {};
155
- this._localStorageProvider.write(_store.SETTING_KEY, _objectSpread(_objectSpread({}, localSetting), newSetting));
154
+ var userSetting = this._userSettingStorageProvider.read();
155
+ var localSetting = (userSetting === null || userSetting === void 0 ? void 0 : userSetting.setting) || {};
156
+ this._userSettingStorageProvider.write({
157
+ setting: (0, _merge["default"])(this._setting, localSetting, newSetting)
158
+ });
156
159
  this._setting = newSetting;
157
160
  }
158
161
  }, {
159
162
  key: "_initSetting",
160
163
  value: function _initSetting() {
161
164
  var _this = this;
162
- var localSetting = this._localStorageProvider.read(_store.SETTING_KEY);
165
+ var userSetting = this._userSettingStorageProvider.read();
166
+ var localSetting = userSetting === null || userSetting === void 0 ? void 0 : userSetting.setting;
163
167
  if (localSetting) {
164
- var settingKeys = ['spotlightEnabled', 'shouldHideNonVideoParticipants', 'shouldHideMyVideo', 'isPlaySound', 'language', 'autoAdjustmentMicrophoneVolume', 'noiseReduce', 'audioVoiceChanger', 'audioHiFi', 'audioEchoCancellation', 'audioStereo', 'videoHD', 'videoLowLight', 'videoNoise', 'hardwareForReception'];
168
+ var settingKeys = ['spotlightEnabled', 'shouldHideNonVideoParticipants', 'shouldHideMyVideo', 'isPlaySound', 'language', 'autoAdjustmentMicrophoneVolume', 'noiseReduce',
169
+ // 'audioVoiceChanger',
170
+ 'audioHiFi', 'audioEchoCancellation', 'audioStereo', 'videoHD', 'videoLowLight', 'videoNoise', 'hardwareForReception'];
165
171
  settingKeys.forEach(function (key) {
166
172
  var targetKey = key;
167
173
  var localValue = localSetting[targetKey];
@@ -30,7 +30,7 @@ export interface FcrUIVideoWindowDataSource {
30
30
  export declare class FcrUIVideoWindowDataImpl implements FcrUIVideoWindowData {
31
31
  private _placement;
32
32
  private _isMySelf;
33
- private _boardUserInfo?;
33
+ private accessor _boardUserInfo;
34
34
  private _layoutType;
35
35
  private accessor _videoStream;
36
36
  private accessor _audioStream;
@@ -75,6 +75,7 @@ export declare class FcrUIVideoWindowDataImpl implements FcrUIVideoWindowData {
75
75
  setPin(pin: boolean): void;
76
76
  setSpotlightEnabled(enabled: boolean): void;
77
77
  setHasBoardSharing(isSharing: boolean): void;
78
+ setBoardUserInfo(userInfo: FcrUserInfo): void;
78
79
  setSpeakerSpotlight(speakerSpotlight: boolean): void;
79
80
  setHasScreenSharing(screenSharing: boolean): void;
80
81
  setHasLoopbackSharing(hasLoopbackSharing: boolean): void;
@@ -85,7 +85,7 @@ var _type2 = require("fcr-core/lib/type");
85
85
  var _fcrCore = require("fcr-core");
86
86
  var _base = require("../base");
87
87
  var _FcrUIVideoWindowDataImpl, _FcrUIVideoWindowDataSourceImpl;
88
- var _initProto, _init__videoStream, _init__audioStream, _init__spotlightEnabled, _init__isSpeakerSpotlight, _init__boardCanEdit, _init__isFirstCameraOpen, _init_isPin, _init_hasScreenSharing, _init_hasBoardSharing, _init_hasLoopbackSharing, _setVideoStreamDecs, _setVideoStreamOwnerInfoDecs, _setAudioStreamDecs, _setAudioStreamOwnerInfoDecs, _setPinDecs, _setSpotlightEnabledDecs, _setHasBoardSharingDecs, _setSpeakerSpotlightDecs, _setHasScreenSharingDecs, _setHasLoopbackSharingDecs, _setBoardCanEditDecs, _ref, _initProto2, _init_spotlightEnabled, _init_layoutType, _init_manualLayout, _init_pinLimitedCount, _init_mainListLimitedCount, _init_foldListLimitedCount, _init_mainList, _init_foldList, _init_spotlightStreamId, _setSpotlightEnabledDecs2, _setLayoutDecs, _onSpotlightRemovedDecs, _resetListDecs, _addBoardDecs, _updateBoardDecs, _removeBoardDecs, _mergePstnStreamOrInsertNewDataDecs, _addDecs, _updateDecs, _deleteDecs, _addPinDecs, _updateSpeakerSpotlightPositionDecs, _removePinDecs, _setSpeakerSpotlightDecs2, _toggleMainStreamDecs, _insertBeginningByPriorityDecs, _insertEndByPriorityDecs, _findInsertBeginningIndexDecs, _findInsertEndIndexDecs, _insertBoardDecs, _insertNewDataDecs, _ref3;
88
+ var _initProto, _init__boardUserInfo, _init__videoStream, _init__audioStream, _init__spotlightEnabled, _init__isSpeakerSpotlight, _init__boardCanEdit, _init__isFirstCameraOpen, _init_isPin, _init_hasScreenSharing, _init_hasBoardSharing, _init_hasLoopbackSharing, _setVideoStreamDecs, _setVideoStreamOwnerInfoDecs, _setAudioStreamDecs, _setAudioStreamOwnerInfoDecs, _setPinDecs, _setSpotlightEnabledDecs, _setHasBoardSharingDecs, _setBoardUserInfoDecs, _setSpeakerSpotlightDecs, _setHasScreenSharingDecs, _setHasLoopbackSharingDecs, _setBoardCanEditDecs, _ref, _initProto2, _init_spotlightEnabled, _init_layoutType, _init_manualLayout, _init_pinLimitedCount, _init_mainListLimitedCount, _init_foldListLimitedCount, _init_mainList, _init_foldList, _init_spotlightStreamId, _setSpotlightEnabledDecs2, _setLayoutDecs, _onSpotlightRemovedDecs, _resetListDecs, _addBoardDecs, _updateBoardDecs, _removeBoardDecs, _mergePstnStreamOrInsertNewDataDecs, _addDecs, _updateDecs, _deleteDecs, _addPinDecs, _updateSpeakerSpotlightPositionDecs, _removePinDecs, _setSpeakerSpotlightDecs2, _toggleMainStreamDecs, _insertBeginningByPriorityDecs, _insertEndByPriorityDecs, _findInsertBeginningIndexDecs, _findInsertEndIndexDecs, _insertBoardDecs, _insertNewDataDecs, _ref3;
89
89
  function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
90
90
  function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
91
91
  function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
@@ -109,7 +109,8 @@ var _G = /*#__PURE__*/new WeakMap();
109
109
  var _H = /*#__PURE__*/new WeakMap();
110
110
  var _I = /*#__PURE__*/new WeakMap();
111
111
  var _J = /*#__PURE__*/new WeakMap();
112
- _ref = (_setVideoStreamDecs = [_mobx.action, _mobx.action.bound], _setVideoStreamOwnerInfoDecs = [_mobx.action, _mobx.action.bound], _setAudioStreamDecs = [_mobx.action, _mobx.action.bound], _setAudioStreamOwnerInfoDecs = [_mobx.action, _mobx.action.bound], _setPinDecs = [_mobx.action, _mobx.action.bound], _setSpotlightEnabledDecs = [_mobx.action, _mobx.action.bound], _setHasBoardSharingDecs = [_mobx.action, _mobx.action.bound], _setSpeakerSpotlightDecs = [_mobx.action, _mobx.action.bound], _setHasScreenSharingDecs = [_mobx.action, _mobx.action.bound], _setHasLoopbackSharingDecs = [_mobx.action, _mobx.action.bound], _setBoardCanEditDecs = [_mobx.action, _mobx.action.bound], "_boardUserInfo");
112
+ var _K = /*#__PURE__*/new WeakMap();
113
+ _ref = (_setVideoStreamDecs = [_mobx.action, _mobx.action.bound], _setVideoStreamOwnerInfoDecs = [_mobx.action, _mobx.action.bound], _setAudioStreamDecs = [_mobx.action, _mobx.action.bound], _setAudioStreamOwnerInfoDecs = [_mobx.action, _mobx.action.bound], _setPinDecs = [_mobx.action, _mobx.action.bound], _setSpotlightEnabledDecs = [_mobx.action, _mobx.action.bound], _setHasBoardSharingDecs = [_mobx.action, _mobx.action.bound], _setBoardUserInfoDecs = [_mobx.action, _mobx.action.bound], _setSpeakerSpotlightDecs = [_mobx.action, _mobx.action.bound], _setHasScreenSharingDecs = [_mobx.action, _mobx.action.bound], _setHasLoopbackSharingDecs = [_mobx.action, _mobx.action.bound], _setBoardCanEditDecs = [_mobx.action, _mobx.action.bound], "_boardUserInfo");
113
114
  var FcrUIVideoWindowDataImpl = exports.FcrUIVideoWindowDataImpl = /*#__PURE__*/function () {
114
115
  function FcrUIVideoWindowDataImpl(type, _ref2, _placement, _isMySelf) {
115
116
  var videoStream = _ref2.videoStream,
@@ -119,19 +120,19 @@ var FcrUIVideoWindowDataImpl = exports.FcrUIVideoWindowDataImpl = /*#__PURE__*/f
119
120
  var spotlightEnabled = arguments.length > 5 ? arguments[5] : undefined;
120
121
  var canEdit = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false;
121
122
  (0, _classCallCheck2["default"])(this, FcrUIVideoWindowDataImpl);
122
- (0, _defineProperty2["default"])(this, _ref, void _initProto(this));
123
+ _classPrivateFieldInitSpec(this, _A, (_initProto(this), _init__boardUserInfo(this)));
123
124
  (0, _defineProperty2["default"])(this, "_layoutType", _type.FcrUIVideoWindowLayoutType.Gallery);
124
- _classPrivateFieldInitSpec(this, _A, _init__videoStream(this));
125
- _classPrivateFieldInitSpec(this, _B, _init__audioStream(this));
126
- _classPrivateFieldInitSpec(this, _C, _init__spotlightEnabled(this, true));
127
- _classPrivateFieldInitSpec(this, _D, _init__isSpeakerSpotlight(this, false));
128
- _classPrivateFieldInitSpec(this, _E, _init__boardCanEdit(this, false));
129
- _classPrivateFieldInitSpec(this, _F, _init__isFirstCameraOpen(this, false));
125
+ _classPrivateFieldInitSpec(this, _B, _init__videoStream(this));
126
+ _classPrivateFieldInitSpec(this, _C, _init__audioStream(this));
127
+ _classPrivateFieldInitSpec(this, _D, _init__spotlightEnabled(this, true));
128
+ _classPrivateFieldInitSpec(this, _E, _init__isSpeakerSpotlight(this, false));
129
+ _classPrivateFieldInitSpec(this, _F, _init__boardCanEdit(this, false));
130
+ _classPrivateFieldInitSpec(this, _G, _init__isFirstCameraOpen(this, false));
130
131
  (0, _defineProperty2["default"])(this, "needToSort", false);
131
- _classPrivateFieldInitSpec(this, _G, _init_isPin(this, false));
132
- _classPrivateFieldInitSpec(this, _H, _init_hasScreenSharing(this, false));
133
- _classPrivateFieldInitSpec(this, _I, _init_hasBoardSharing(this, false));
134
- _classPrivateFieldInitSpec(this, _J, _init_hasLoopbackSharing(this, false));
132
+ _classPrivateFieldInitSpec(this, _H, _init_isPin(this, false));
133
+ _classPrivateFieldInitSpec(this, _I, _init_hasScreenSharing(this, false));
134
+ _classPrivateFieldInitSpec(this, _J, _init_hasBoardSharing(this, false));
135
+ _classPrivateFieldInitSpec(this, _K, _init_hasLoopbackSharing(this, false));
135
136
  this._placement = _placement;
136
137
  this._isMySelf = _isMySelf;
137
138
  this.type = type;
@@ -143,15 +144,17 @@ var FcrUIVideoWindowDataImpl = exports.FcrUIVideoWindowDataImpl = /*#__PURE__*/f
143
144
  this._boardCanEdit = canEdit;
144
145
  }
145
146
  return (0, _createClass2["default"])(FcrUIVideoWindowDataImpl, [{
146
- key: "_videoStream",
147
+ key: _ref,
147
148
  get: function get() {
148
149
  return _classPrivateFieldGet(_A, this);
149
- },
150
+ }
151
+ }, {
152
+ key: "_boardUserInfo",
150
153
  set: function set(v) {
151
154
  _classPrivateFieldSet(_A, this, v);
152
155
  }
153
156
  }, {
154
- key: "_audioStream",
157
+ key: "_videoStream",
155
158
  get: function get() {
156
159
  return _classPrivateFieldGet(_B, this);
157
160
  },
@@ -159,7 +162,7 @@ var FcrUIVideoWindowDataImpl = exports.FcrUIVideoWindowDataImpl = /*#__PURE__*/f
159
162
  _classPrivateFieldSet(_B, this, v);
160
163
  }
161
164
  }, {
162
- key: "_spotlightEnabled",
165
+ key: "_audioStream",
163
166
  get: function get() {
164
167
  return _classPrivateFieldGet(_C, this);
165
168
  },
@@ -167,7 +170,7 @@ var FcrUIVideoWindowDataImpl = exports.FcrUIVideoWindowDataImpl = /*#__PURE__*/f
167
170
  _classPrivateFieldSet(_C, this, v);
168
171
  }
169
172
  }, {
170
- key: "_isSpeakerSpotlight",
173
+ key: "_spotlightEnabled",
171
174
  get: function get() {
172
175
  return _classPrivateFieldGet(_D, this);
173
176
  },
@@ -175,7 +178,7 @@ var FcrUIVideoWindowDataImpl = exports.FcrUIVideoWindowDataImpl = /*#__PURE__*/f
175
178
  _classPrivateFieldSet(_D, this, v);
176
179
  }
177
180
  }, {
178
- key: "_boardCanEdit",
181
+ key: "_isSpeakerSpotlight",
179
182
  get: function get() {
180
183
  return _classPrivateFieldGet(_E, this);
181
184
  },
@@ -183,7 +186,7 @@ var FcrUIVideoWindowDataImpl = exports.FcrUIVideoWindowDataImpl = /*#__PURE__*/f
183
186
  _classPrivateFieldSet(_E, this, v);
184
187
  }
185
188
  }, {
186
- key: "_isFirstCameraOpen",
189
+ key: "_boardCanEdit",
187
190
  get: function get() {
188
191
  return _classPrivateFieldGet(_F, this);
189
192
  },
@@ -191,7 +194,7 @@ var FcrUIVideoWindowDataImpl = exports.FcrUIVideoWindowDataImpl = /*#__PURE__*/f
191
194
  _classPrivateFieldSet(_F, this, v);
192
195
  }
193
196
  }, {
194
- key: "isPin",
197
+ key: "_isFirstCameraOpen",
195
198
  get: function get() {
196
199
  return _classPrivateFieldGet(_G, this);
197
200
  },
@@ -199,7 +202,7 @@ var FcrUIVideoWindowDataImpl = exports.FcrUIVideoWindowDataImpl = /*#__PURE__*/f
199
202
  _classPrivateFieldSet(_G, this, v);
200
203
  }
201
204
  }, {
202
- key: "hasScreenSharing",
205
+ key: "isPin",
203
206
  get: function get() {
204
207
  return _classPrivateFieldGet(_H, this);
205
208
  },
@@ -207,7 +210,7 @@ var FcrUIVideoWindowDataImpl = exports.FcrUIVideoWindowDataImpl = /*#__PURE__*/f
207
210
  _classPrivateFieldSet(_H, this, v);
208
211
  }
209
212
  }, {
210
- key: "hasBoardSharing",
213
+ key: "hasScreenSharing",
211
214
  get: function get() {
212
215
  return _classPrivateFieldGet(_I, this);
213
216
  },
@@ -215,13 +218,21 @@ var FcrUIVideoWindowDataImpl = exports.FcrUIVideoWindowDataImpl = /*#__PURE__*/f
215
218
  _classPrivateFieldSet(_I, this, v);
216
219
  }
217
220
  }, {
218
- key: "hasLoopbackSharing",
221
+ key: "hasBoardSharing",
219
222
  get: function get() {
220
223
  return _classPrivateFieldGet(_J, this);
221
224
  },
222
225
  set: function set(v) {
223
226
  _classPrivateFieldSet(_J, this, v);
224
227
  }
228
+ }, {
229
+ key: "hasLoopbackSharing",
230
+ get: function get() {
231
+ return _classPrivateFieldGet(_K, this);
232
+ },
233
+ set: function set(v) {
234
+ _classPrivateFieldSet(_K, this, v);
235
+ }
225
236
  }, {
226
237
  key: "isSpeakerSpotlight",
227
238
  get: function get() {
@@ -462,6 +473,13 @@ var FcrUIVideoWindowDataImpl = exports.FcrUIVideoWindowDataImpl = /*#__PURE__*/f
462
473
  value: function setHasBoardSharing(isSharing) {
463
474
  this.hasBoardSharing = isSharing;
464
475
  }
476
+ }, {
477
+ key: "setBoardUserInfo",
478
+ value: function setBoardUserInfo(userInfo) {
479
+ if (this.type === _type.FcrUIWindowType.BOARD) {
480
+ this._boardUserInfo = userInfo;
481
+ }
482
+ }
465
483
  }, {
466
484
  key: "setSpeakerSpotlight",
467
485
  value: function setSpeakerSpotlight(speakerSpotlight) {
@@ -485,18 +503,19 @@ var FcrUIVideoWindowDataImpl = exports.FcrUIVideoWindowDataImpl = /*#__PURE__*/f
485
503
  }]);
486
504
  }();
487
505
  _FcrUIVideoWindowDataImpl = FcrUIVideoWindowDataImpl;
488
- var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_FcrUIVideoWindowDataImpl, [[_mobx.observable, 1, "_videoStream"], [_mobx.observable, 1, "_audioStream"], [_mobx.observable, 1, "_spotlightEnabled"], [_mobx.observable, 1, "_isSpeakerSpotlight"], [_mobx.observable, 1, "_boardCanEdit"], [_mobx.observable, 1, "_isFirstCameraOpen"], [_mobx.observable, 1, "isPin"], [_mobx.observable, 1, "hasScreenSharing"], [_mobx.observable, 1, "hasBoardSharing"], [_mobx.observable, 1, "hasLoopbackSharing"], [_mobx.computed, 3, "isSpeakerSpotlight"], [_mobx.computed, 3, "windowId"], [_mobx.computed, 3, "videoStreamId"], [_mobx.computed, 3, "audioStreamId"], [_mobx.computed, 3, "audioStreamConnectorType"], [_mobx.computed, 3, "videoStreamConnectorType"], [_mobx.computed, 3, "hasMicrophoneAudioStream"], [_mobx.computed, 3, "hasLoopbackAudioStream"], [_mobx.computed, 3, "phoneMicEnabled"], [_mobx.computed, 3, "hasVideoStream"], [_mobx.computed, 3, "userId"], [_mobx.computed, 3, "ownerRoleType"], [_mobx.computed, 3, "videoSourceType"], [_mobx.computed, 3, "audioSourceType"], [_mobx.computed, 3, "sortingPriority"], [_setVideoStreamDecs, 18, "setVideoStream"], [_setVideoStreamOwnerInfoDecs, 18, "setVideoStreamOwnerInfo"], [_setAudioStreamDecs, 18, "setAudioStream"], [_setAudioStreamOwnerInfoDecs, 18, "setAudioStreamOwnerInfo"], [_setPinDecs, 18, "setPin"], [_setSpotlightEnabledDecs, 18, "setSpotlightEnabled"], [_setHasBoardSharingDecs, 18, "setHasBoardSharing"], [_setSpeakerSpotlightDecs, 18, "setSpeakerSpotlight"], [_setHasScreenSharingDecs, 18, "setHasScreenSharing"], [_setHasLoopbackSharingDecs, 18, "setHasLoopbackSharing"], [_setBoardCanEditDecs, 18, "setBoardCanEdit"]], []).e, 11);
489
- _init__videoStream = _applyDecs$e[0];
490
- _init__audioStream = _applyDecs$e[1];
491
- _init__spotlightEnabled = _applyDecs$e[2];
492
- _init__isSpeakerSpotlight = _applyDecs$e[3];
493
- _init__boardCanEdit = _applyDecs$e[4];
494
- _init__isFirstCameraOpen = _applyDecs$e[5];
495
- _init_isPin = _applyDecs$e[6];
496
- _init_hasScreenSharing = _applyDecs$e[7];
497
- _init_hasBoardSharing = _applyDecs$e[8];
498
- _init_hasLoopbackSharing = _applyDecs$e[9];
499
- _initProto = _applyDecs$e[10];
506
+ var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_FcrUIVideoWindowDataImpl, [[_mobx.observable, 1, "_boardUserInfo"], [_mobx.observable, 1, "_videoStream"], [_mobx.observable, 1, "_audioStream"], [_mobx.observable, 1, "_spotlightEnabled"], [_mobx.observable, 1, "_isSpeakerSpotlight"], [_mobx.observable, 1, "_boardCanEdit"], [_mobx.observable, 1, "_isFirstCameraOpen"], [_mobx.observable, 1, "isPin"], [_mobx.observable, 1, "hasScreenSharing"], [_mobx.observable, 1, "hasBoardSharing"], [_mobx.observable, 1, "hasLoopbackSharing"], [_mobx.computed, 3, "isSpeakerSpotlight"], [_mobx.computed, 3, "windowId"], [_mobx.computed, 3, "videoStreamId"], [_mobx.computed, 3, "audioStreamId"], [_mobx.computed, 3, "audioStreamConnectorType"], [_mobx.computed, 3, "videoStreamConnectorType"], [_mobx.computed, 3, "hasMicrophoneAudioStream"], [_mobx.computed, 3, "hasLoopbackAudioStream"], [_mobx.computed, 3, "phoneMicEnabled"], [_mobx.computed, 3, "hasVideoStream"], [_mobx.computed, 3, "userId"], [_mobx.computed, 3, "ownerRoleType"], [_mobx.computed, 3, "videoSourceType"], [_mobx.computed, 3, "audioSourceType"], [_mobx.computed, 3, "sortingPriority"], [_setVideoStreamDecs, 18, "setVideoStream"], [_setVideoStreamOwnerInfoDecs, 18, "setVideoStreamOwnerInfo"], [_setAudioStreamDecs, 18, "setAudioStream"], [_setAudioStreamOwnerInfoDecs, 18, "setAudioStreamOwnerInfo"], [_setPinDecs, 18, "setPin"], [_setSpotlightEnabledDecs, 18, "setSpotlightEnabled"], [_setHasBoardSharingDecs, 18, "setHasBoardSharing"], [_setBoardUserInfoDecs, 18, "setBoardUserInfo"], [_setSpeakerSpotlightDecs, 18, "setSpeakerSpotlight"], [_setHasScreenSharingDecs, 18, "setHasScreenSharing"], [_setHasLoopbackSharingDecs, 18, "setHasLoopbackSharing"], [_setBoardCanEditDecs, 18, "setBoardCanEdit"]], []).e, 12);
507
+ _init__boardUserInfo = _applyDecs$e[0];
508
+ _init__videoStream = _applyDecs$e[1];
509
+ _init__audioStream = _applyDecs$e[2];
510
+ _init__spotlightEnabled = _applyDecs$e[3];
511
+ _init__isSpeakerSpotlight = _applyDecs$e[4];
512
+ _init__boardCanEdit = _applyDecs$e[5];
513
+ _init__isFirstCameraOpen = _applyDecs$e[6];
514
+ _init_isPin = _applyDecs$e[7];
515
+ _init_hasScreenSharing = _applyDecs$e[8];
516
+ _init_hasBoardSharing = _applyDecs$e[9];
517
+ _init_hasLoopbackSharing = _applyDecs$e[10];
518
+ _initProto = _applyDecs$e[11];
500
519
  var _A2 = /*#__PURE__*/new WeakMap();
501
520
  var _B2 = /*#__PURE__*/new WeakMap();
502
521
  var _C2 = /*#__PURE__*/new WeakMap();
@@ -781,6 +800,7 @@ var FcrUIVideoWindowDataSourceImpl = exports.FcrUIVideoWindowDataSourceImpl = /*
781
800
  var oldSortingPriority = item.sortingPriority;
782
801
  item.setVideoStreamOwnerInfo(user);
783
802
  item.setAudioStreamOwnerInfo(user);
803
+ item.setBoardUserInfo(user);
784
804
  var newSortingPriority = item.sortingPriority;
785
805
  if (oldSortingPriority !== newSortingPriority) {
786
806
  modifiedItems.push(item);
@@ -117,6 +117,7 @@ export declare const enUs: {
117
117
  fmt_statusbar_label_durationtime: string;
118
118
  fmt_statusbar_label_layout: string;
119
119
  fmt_statusbar_label_layoutsetting: string;
120
+ fmt_statusbar_hover_unable_switch_grid_view: string;
120
121
  fmt_statusbar_opions_listontop: string;
121
122
  fmt_statusbar_label_grid: string;
122
123
  fmt_statusbar_label_customwating: string;
@@ -455,6 +456,7 @@ export declare const enUs: {
455
456
  fmt_chat_big_bubble: string;
456
457
  fmt_chat_small_bubble: string;
457
458
  fmt_chat_label_enter_message: string;
459
+ fmt_chat_label_show_bubble_tips: string;
458
460
  fmt_screenshare_window_tab_basic: string;
459
461
  fmt_screenshare_window_tab_advanced: string;
460
462
  fmt_screenshare_window_button_start: string;
@@ -663,6 +665,12 @@ export declare const enUs: {
663
665
  fmt_whiteboard_tips_download_permission_denied: string;
664
666
  fmt_whiteboard_dialog_share_stopped_message_host: string;
665
667
  fmt_whiteboard_dialog_share_stopped_message_cohost: string;
668
+ fmt_whiteboard_dialog_reconnecting_whiteboard: string;
669
+ fmt_whiteboard_button_wait: string;
670
+ fmt_whiteboard_button_close: string;
671
+ fmt_whiteboard_tips_wb_connect: string;
672
+ fmt_whiteboard_tips_label_connect: string;
673
+ fmt_whiteboard_tips_share_nick: string;
666
674
  fmt_screenshare_whiteboard_option_disablesharing: string;
667
675
  fmt_share_options_blackboard: string;
668
676
  fmt_share_options_chalkboard: string;
@@ -126,6 +126,7 @@ var enUs = exports.enUs = {
126
126
  fmt_statusbar_label_durationtime: 'Meeting duration (scheduled meeting time {reason1}{reason2})',
127
127
  fmt_statusbar_label_layout: 'Layout',
128
128
  fmt_statusbar_label_layoutsetting: 'Layout Settings',
129
+ fmt_statusbar_hover_unable_switch_grid_view: 'Unable to switch to the grid view when the attendee is sharing their screen',
129
130
  fmt_statusbar_opions_listontop: 'List on top',
130
131
  fmt_statusbar_label_grid: 'Grid({reason1}views)',
131
132
  fmt_statusbar_label_customwating: 'Watch live streams on a custom live streaming server',
@@ -466,6 +467,7 @@ var enUs = exports.enUs = {
466
467
  fmt_chat_big_bubble: 'Big Bubble',
467
468
  fmt_chat_small_bubble: 'Small Bubble',
468
469
  fmt_chat_label_enter_message: 'Enter a message ',
470
+ fmt_chat_label_show_bubble_tips: 'Bubble Tips',
469
471
  fmt_screenshare_window_tab_basic: 'Basics',
470
472
  fmt_screenshare_window_tab_advanced: 'Senior',
471
473
  fmt_screenshare_window_button_start: 'Start sharing',
@@ -674,6 +676,12 @@ var enUs = exports.enUs = {
674
676
  fmt_whiteboard_tips_download_permission_denied: 'Download whiteboard writing requires storage permission',
675
677
  fmt_whiteboard_dialog_share_stopped_message_host: 'The host ({reason1}) has stopped your sharing',
676
678
  fmt_whiteboard_dialog_share_stopped_message_cohost: 'The co-host ({reason1}) has stopped your sharing',
679
+ fmt_whiteboard_dialog_reconnecting_whiteboard: 'We are reconnecting the whiteboard, please wait a moment... If the wait is too long, you can try closing and reopening the whiteboard',
680
+ fmt_whiteboard_button_wait: 'Wait',
681
+ fmt_whiteboard_button_close: 'Close',
682
+ fmt_whiteboard_tips_wb_connect: 'Whiteboard connecting...',
683
+ fmt_whiteboard_tips_label_connect: 'Labeling connecting...',
684
+ fmt_whiteboard_tips_share_nick: "{reason1}'s screen sharing",
677
685
  fmt_screenshare_whiteboard_option_disablesharing: 'Disable screen sharing or whiteboarding',
678
686
  fmt_share_options_blackboard: 'Blackboard',
679
687
  fmt_share_options_chalkboard: 'Chalkboard',
@@ -1665,7 +1673,7 @@ var enUs = exports.enUs = {
1665
1673
  fmt_meeting_creatpage_label_join_enter_password: 'Please enter your password',
1666
1674
  fmt_meeting_creatpage_label_join_role: 'Role',
1667
1675
  fmt_meeting_creatpage_label_join_attendee: 'Attendee',
1668
- fmt_meeting_creatpage_label_join_read_agree: 'I have read and agree',
1676
+ fmt_meeting_creatpage_label_join_read_agree: 'agree',
1669
1677
  fmt_meeting_creatpage_label_service: '《User Agreement》',
1670
1678
  fmt_meeting_creatpage_label_privacy: '《Privacy Policy》',
1671
1679
  fmt_meeting_creatpage_label_and: 'and',
@@ -117,6 +117,7 @@ export declare const zhCn: {
117
117
  fmt_statusbar_label_durationtime: string;
118
118
  fmt_statusbar_label_layout: string;
119
119
  fmt_statusbar_label_layoutsetting: string;
120
+ fmt_statusbar_hover_unable_switch_grid_view: string;
120
121
  fmt_statusbar_opions_listontop: string;
121
122
  fmt_statusbar_label_grid: string;
122
123
  fmt_statusbar_label_customwating: string;
@@ -455,6 +456,7 @@ export declare const zhCn: {
455
456
  fmt_chat_big_bubble: string;
456
457
  fmt_chat_small_bubble: string;
457
458
  fmt_chat_label_enter_message: string;
459
+ fmt_chat_label_show_bubble_tips: string;
458
460
  fmt_screenshare_window_tab_basic: string;
459
461
  fmt_screenshare_window_tab_advanced: string;
460
462
  fmt_screenshare_window_button_start: string;
@@ -663,6 +665,12 @@ export declare const zhCn: {
663
665
  fmt_whiteboard_tips_download_permission_denied: string;
664
666
  fmt_whiteboard_dialog_share_stopped_message_host: string;
665
667
  fmt_whiteboard_dialog_share_stopped_message_cohost: string;
668
+ fmt_whiteboard_dialog_reconnecting_whiteboard: string;
669
+ fmt_whiteboard_button_wait: string;
670
+ fmt_whiteboard_button_close: string;
671
+ fmt_whiteboard_tips_wb_connect: string;
672
+ fmt_whiteboard_tips_label_connect: string;
673
+ fmt_whiteboard_tips_share_nick: string;
666
674
  fmt_screenshare_whiteboard_option_disablesharing: string;
667
675
  fmt_share_options_blackboard: string;
668
676
  fmt_share_options_chalkboard: string;
@@ -126,6 +126,7 @@ var zhCn = exports.zhCn = {
126
126
  fmt_statusbar_label_durationtime: '会议持续时间(会议预定时长{reason1}{reason2})',
127
127
  fmt_statusbar_label_layout: '布局',
128
128
  fmt_statusbar_label_layoutsetting: '布局设置',
129
+ fmt_statusbar_hover_unable_switch_grid_view: '屏幕共享时无法切换成宫格视图',
129
130
  fmt_statusbar_opions_listontop: '排在顶部',
130
131
  fmt_statusbar_label_grid: '网格({reason1}格)',
131
132
  fmt_statusbar_label_customwating: '在自定义直播服务器上观看直播',
@@ -466,6 +467,7 @@ var zhCn = exports.zhCn = {
466
467
  fmt_chat_big_bubble: '大气泡',
467
468
  fmt_chat_small_bubble: '小气泡',
468
469
  fmt_chat_label_enter_message: '请输入文字',
470
+ fmt_chat_label_show_bubble_tips: '展示聊天气泡',
469
471
  fmt_screenshare_window_tab_basic: '基础',
470
472
  fmt_screenshare_window_tab_advanced: '高级',
471
473
  fmt_screenshare_window_button_start: '开始共享',
@@ -674,6 +676,12 @@ var zhCn = exports.zhCn = {
674
676
  fmt_whiteboard_tips_download_permission_denied: '下载板书需要存储权限',
675
677
  fmt_whiteboard_dialog_share_stopped_message_host: '主持人({reason1})已停止您的共享',
676
678
  fmt_whiteboard_dialog_share_stopped_message_cohost: '联席主持人({reason1})已停止你的共享',
679
+ fmt_whiteboard_dialog_reconnecting_whiteboard: '我们正在重连白板,请稍等... 如果等待时间过长,你可以尝试关闭白板再试。',
680
+ fmt_whiteboard_button_wait: '继续等待',
681
+ fmt_whiteboard_button_close: '关闭白板',
682
+ fmt_whiteboard_tips_wb_connect: '白板连接中...',
683
+ fmt_whiteboard_tips_label_connect: '标注连接中...',
684
+ fmt_whiteboard_tips_share_nick: '{reason1} 的屏幕共享',
677
685
  fmt_screenshare_whiteboard_option_disablesharing: '禁用共享屏幕或白板',
678
686
  fmt_share_options_blackboard: '黑板',
679
687
  fmt_share_options_chalkboard: '粉笔板',
@@ -1663,9 +1671,9 @@ var zhCn = exports.zhCn = {
1663
1671
  fmt_meeting_creatpage_label_join_enter_password: '请输入入会密码',
1664
1672
  fmt_meeting_creatpage_label_join_role: '角色',
1665
1673
  fmt_meeting_creatpage_label_join_attendee: '参会者',
1666
- fmt_meeting_creatpage_label_join_read_agree: '我已阅读并同意',
1667
- fmt_meeting_creatpage_label_service: '《用户协议》',
1668
- fmt_meeting_creatpage_label_privacy: '《隐私政策》',
1674
+ fmt_meeting_creatpage_label_join_read_agree: '同意',
1675
+ fmt_meeting_creatpage_label_service: '《灵动会议用户服务协议》',
1676
+ fmt_meeting_creatpage_label_privacy: '《灵动会议隐私政策》',
1669
1677
  fmt_meeting_creatpage_label_and: '和',
1670
1678
  fmt_meeting_creatpage_tips_join_password_length: '请输入9位长度的数字',
1671
1679
  fmt_meeting_creatpage_tips_join_username_length: '请输入2-20位长度的内容',
package/lib/type.d.ts CHANGED
@@ -97,6 +97,7 @@ export interface FcrUIMediaConfig {
97
97
  }
98
98
  export interface FcrUISettingConfig {
99
99
  media: FcrUIMediaConfig;
100
+ setting: FcrUICustomSetting;
100
101
  }
101
102
  /**
102
103
  * FcrUIBaseWidgetConfig interface represents the base configuration for a widget.
@@ -347,7 +348,7 @@ export type FcrUIJoinRoomResponse = FcrBaseRoomControl;
347
348
  import { FcrRoomConnectorType, FcrVideoSourceType } from 'fcr-core';
348
349
  import { FcrUserRole } from 'fcr-core/lib/type';
349
350
  import { FcrUISceneCallbackSchema, FcrUISceneConfigSchema, FcrUISceneCreatorConfigSchema, FcrUISceneFailureCallbackSchema } from './schema';
350
- import SettingStore from './modules/setting/store';
351
+ import SettingStore, { FcrUICustomSetting } from './modules/setting/store';
351
352
  export declare enum FcrUIVideoWindowLayoutType {
352
353
  /** Show a carousel on top and a big video on the rest of the screen. */
353
354
  Speaker = "speaker",
@@ -417,6 +418,59 @@ export interface FcrUIVideoWindowData {
417
418
  phoneMicEnabled?: boolean;
418
419
  hasBoardSharing: boolean;
419
420
  }
421
+ export interface WindowManagerIRectangle {
422
+ x?: number;
423
+ y?: number;
424
+ width?: number;
425
+ height?: number;
426
+ }
427
+ export interface WindowManagerIMonitorInfo {
428
+ id: number;
429
+ bounds?: WindowManagerIRectangle;
430
+ isPrimary?: boolean;
431
+ workArea?: WindowManagerIRectangle;
432
+ }
433
+ export declare class WindowManagerMonitor {
434
+ id: number;
435
+ constructor(id: number);
436
+ getBounds(): WindowManagerIRectangle;
437
+ getWorkArea(): WindowManagerIRectangle;
438
+ isPrimary(): boolean;
439
+ getScaleFactor(): number;
440
+ isValid(): boolean;
441
+ }
442
+ export declare class WindowManagerEmptyMonitor {
443
+ getBounds(): WindowManagerIRectangle;
444
+ getWorkArea(): WindowManagerIRectangle;
445
+ isPrimary(): boolean;
446
+ getScaleFactor(): number;
447
+ isValid(): boolean;
448
+ }
449
+ export declare class WindowManager {
450
+ id: number;
451
+ processId: number;
452
+ path: string;
453
+ constructor(id: number);
454
+ getBounds(): WindowManagerIRectangle;
455
+ setBounds(bounds: WindowManagerIRectangle): void;
456
+ getTitle(): string;
457
+ getMonitor(): WindowManagerMonitor | WindowManagerEmptyMonitor;
458
+ show(): void;
459
+ hide(): void;
460
+ minimize(): void;
461
+ restore(): void;
462
+ maximize(): void;
463
+ bringToTop(): void;
464
+ redraw(): void;
465
+ isWindow(): boolean;
466
+ isVisible(): boolean;
467
+ toggleTransparency(toggle: boolean): void;
468
+ setOpacity(opacity: number): void;
469
+ getOpacity(): any;
470
+ getIcon(size?: 16 | 32 | 64 | 256): Buffer;
471
+ setOwner(window: Window | null | number): void;
472
+ getOwner(): Window;
473
+ }
420
474
  export declare enum FcrUIAiDenoiseLevel {
421
475
  LOW = 1,
422
476
  MEDIUM = 2,
@@ -14,6 +14,7 @@ import { FcrUIDialogProvider } from './providers/dialog-provider';
14
14
  import { FcrUIVideoWindowDataSource } from './shared-data-source/video-window';
15
15
  import { FcrUISharedDevicePrivilegeDataSource } from './shared-data-source/device-privilege-data';
16
16
  import { FcrUIWidgetProvider } from './providers/widget-provider';
17
+ import { FcrUIScreenShareSharedDataSource } from './shared-data-source/screen-share-data';
17
18
  export declare class FcrUIManager {
18
19
  private _sceneConfig;
19
20
  private _engine;
@@ -23,8 +24,8 @@ export declare class FcrUIManager {
23
24
  constructor(_sceneConfig: FcrUISceneConfig, _engine: FcrCoreEngine, _dom: HTMLElement, _parameters?: Record<string, unknown> | undefined);
24
25
  renderDevicePretestUi(deviceProvider: FcrUIDeviceProvider, onJoin: () => void, onExit: () => void): void;
25
26
  renderPullingUi(roomControl: FcrMainRoomControl): () => void;
26
- renderMainSceneUI(eventProvider: FcrUIEventProvider, deviceProvider: FcrUIDeviceProvider, roomProvider: FcrUIRoomProviderImpl, sharedConfigDataSource: FcrUISharedConfigDataSource, sharedSettingDataSource: FcrUISharedSettingDataSource, sharedLayoutDataSource: FcrUISharedLayoutDataSource, sharedSpeakerSpotlightDataSource: FcrUISharedSpeakerSpotlightDataSource, sharedPinDataSource: FcrUISharedPinDataSource, dialogProvider: FcrUIDialogProvider, messageProvider: FcrUIMessageProvider, sharedVideoWindowDataSource: FcrUIVideoWindowDataSource, sharedDevicePrivilegeDataSource: FcrUISharedDevicePrivilegeDataSource, widgetProvider: FcrUIWidgetProvider): () => void;
27
- renderWaitingSceneUI(eventProvider: FcrUIEventProvider, deviceProvider: FcrUIDeviceProvider, roomProvider: FcrUIRoomProviderImpl, sharedConfigDataSource: FcrUISharedConfigDataSource, dialogProvider: FcrUIDialogProvider, messageProvider: FcrUIMessageProvider, sharedLayoutDataSource: FcrUISharedLayoutDataSource, sharedSettingDataSource: FcrUISharedSettingDataSource, sharedDevicePrivilegeDataSource: FcrUISharedDevicePrivilegeDataSource, widgetProvider: FcrUIWidgetProvider): () => void;
27
+ renderMainSceneUI(eventProvider: FcrUIEventProvider, deviceProvider: FcrUIDeviceProvider, roomProvider: FcrUIRoomProviderImpl, sharedConfigDataSource: FcrUISharedConfigDataSource, sharedSettingDataSource: FcrUISharedSettingDataSource, sharedLayoutDataSource: FcrUISharedLayoutDataSource, sharedSpeakerSpotlightDataSource: FcrUISharedSpeakerSpotlightDataSource, sharedPinDataSource: FcrUISharedPinDataSource, dialogProvider: FcrUIDialogProvider, messageProvider: FcrUIMessageProvider, sharedVideoWindowDataSource: FcrUIVideoWindowDataSource, sharedDevicePrivilegeDataSource: FcrUISharedDevicePrivilegeDataSource, widgetProvider: FcrUIWidgetProvider, sharedScreenShareSharedDataSource: FcrUIScreenShareSharedDataSource): () => void;
28
+ renderWaitingSceneUI(eventProvider: FcrUIEventProvider, deviceProvider: FcrUIDeviceProvider, roomProvider: FcrUIRoomProviderImpl, sharedConfigDataSource: FcrUISharedConfigDataSource, dialogProvider: FcrUIDialogProvider, messageProvider: FcrUIMessageProvider, sharedLayoutDataSource: FcrUISharedLayoutDataSource, sharedSettingDataSource: FcrUISharedSettingDataSource, sharedDevicePrivilegeDataSource: FcrUISharedDevicePrivilegeDataSource, widgetProvider: FcrUIWidgetProvider, sharedScreenShareSharedDataSource: FcrUIScreenShareSharedDataSource): () => void;
28
29
  renderLoading(isLoading: boolean): void;
29
30
  release(): void;
30
31
  }