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
package/lib/ui-manager.js CHANGED
@@ -160,7 +160,7 @@ var FcrUIManager = exports.FcrUIManager = /*#__PURE__*/function () {
160
160
  }
161
161
  }, {
162
162
  key: "renderMainSceneUI",
163
- value: function renderMainSceneUI(eventProvider, deviceProvider, roomProvider, sharedConfigDataSource, sharedSettingDataSource, sharedLayoutDataSource, sharedSpeakerSpotlightDataSource, sharedPinDataSource, dialogProvider, messageProvider, sharedVideoWindowDataSource, sharedDevicePrivilegeDataSource, widgetProvider) {
163
+ value: function renderMainSceneUI(eventProvider, deviceProvider, roomProvider, sharedConfigDataSource, sharedSettingDataSource, sharedLayoutDataSource, sharedSpeakerSpotlightDataSource, sharedPinDataSource, dialogProvider, messageProvider, sharedVideoWindowDataSource, sharedDevicePrivilegeDataSource, widgetProvider, sharedScreenShareSharedDataSource) {
164
164
  var scene = new _mainScene.FcrMainUIScene({
165
165
  engine: this._engine,
166
166
  eventProvider: eventProvider,
@@ -175,7 +175,8 @@ var FcrUIManager = exports.FcrUIManager = /*#__PURE__*/function () {
175
175
  messageProvider: messageProvider,
176
176
  sharedVideoWindowDataSource: sharedVideoWindowDataSource,
177
177
  sharedDevicePrivilegeDataSource: sharedDevicePrivilegeDataSource,
178
- widgetProvider: widgetProvider
178
+ widgetProvider: widgetProvider,
179
+ sharedScreenShareSharedDataSource: sharedScreenShareSharedDataSource
179
180
  });
180
181
  scene.nodeWillActive();
181
182
  scene.mount(this._containerDom);
@@ -187,7 +188,7 @@ var FcrUIManager = exports.FcrUIManager = /*#__PURE__*/function () {
187
188
  }
188
189
  }, {
189
190
  key: "renderWaitingSceneUI",
190
- value: function renderWaitingSceneUI(eventProvider, deviceProvider, roomProvider, sharedConfigDataSource, dialogProvider, messageProvider, sharedLayoutDataSource, sharedSettingDataSource, sharedDevicePrivilegeDataSource, widgetProvider) {
191
+ value: function renderWaitingSceneUI(eventProvider, deviceProvider, roomProvider, sharedConfigDataSource, dialogProvider, messageProvider, sharedLayoutDataSource, sharedSettingDataSource, sharedDevicePrivilegeDataSource, widgetProvider, sharedScreenShareSharedDataSource) {
191
192
  var scene = new _waitingScene.FcrWaitingUIScene({
192
193
  engine: this._engine,
193
194
  eventProvider: eventProvider,
@@ -199,7 +200,8 @@ var FcrUIManager = exports.FcrUIManager = /*#__PURE__*/function () {
199
200
  sharedLayoutDataSource: sharedLayoutDataSource,
200
201
  sharedSettingDataSource: sharedSettingDataSource,
201
202
  sharedDevicePrivilegeDataSource: sharedDevicePrivilegeDataSource,
202
- widgetProvider: widgetProvider
203
+ widgetProvider: widgetProvider,
204
+ sharedScreenShareSharedDataSource: sharedScreenShareSharedDataSource
203
205
  });
204
206
  scene.nodeWillActive();
205
207
  scene.mount(this._containerDom);
package/lib/ui-scene.js CHANGED
@@ -85,9 +85,12 @@ var _widgetProvider = require("./providers/widget-provider");
85
85
  var _decorator = require("agora-foundation/lib/decorator");
86
86
  var _logger = require("fcr-core/lib/utilities/logger");
87
87
  var _logger2 = require("./utilities/logger");
88
+ var _screenShareData = require("./shared-data-source/screen-share-data");
88
89
  var _store = _interopRequireDefault(require("./modules/setting/store"));
89
90
  var _monitorProvider = require("./providers/monitor-provider");
90
91
  var _uiResources = require("./utilities/ui-resources");
92
+ var _userSettingStorageProvider = require("./providers/user-setting-storage-provider");
93
+ var _env = require("agora-foundation/lib/utilities/env");
91
94
  var _jsxRuntime = require("react/jsx-runtime");
92
95
  var _FcrUIDefaultScene;
93
96
  var _initProto;
@@ -132,6 +135,7 @@ var FcrUIDefaultScene = exports.FcrUIDefaultScene = /*#__PURE__*/function () {
132
135
  }
133
136
  });
134
137
  this._localStorageProvider = new _localStorageProvider.FcrUILocalStorageProviderImpl();
138
+ this._userSettingStorageProvider = new _userSettingStorageProvider.FcrUIUserSettingStorageProviderImpl();
135
139
  var language = (0, _i18n.getLanguage)();
136
140
  (0, _tools.setLanguage)(language);
137
141
  window.addEventListener('beforeunload', this._handleBeforeUnload);
@@ -140,6 +144,7 @@ var FcrUIDefaultScene = exports.FcrUIDefaultScene = /*#__PURE__*/function () {
140
144
  return (0, _createClass2["default"])(FcrUIDefaultScene, [{
141
145
  key: "exit",
142
146
  value: function exit() {
147
+ this._observable.notifyObservers('onExited', this._config.roomId, _type.FcrUIExitReason.LEAVE_ROOM);
143
148
  this._release();
144
149
  }
145
150
  }, {
@@ -170,16 +175,16 @@ var FcrUIDefaultScene = exports.FcrUIDefaultScene = /*#__PURE__*/function () {
170
175
  this._eventProvider = new _eventProvider.FcrUIEventProviderImpl();
171
176
  this._messageProvider = new _messageProvider.FcrUIMessageProviderImpl();
172
177
  this._dialogProvider = new _dialogProvider.FcrUIDialogProviderImpl();
178
+ var connectionProvider = new _roomProvider.FcrUIConnectionProviderImpl(engine);
173
179
  this._sharedDevicePrivilegeDataSource = new _devicePrivilegeData.FcrUISharedDevicePrivilegeDataSourceImpl();
174
- this._deviceProvider = new _deviceProvider.FcrUIDeviceProviderImpl(this._eventProvider, engine.getDesktopMediaControl(), this._settingConfig.media, this._localStorageProvider);
180
+ this._deviceProvider = new _deviceProvider.FcrUIDeviceProviderImpl(this._eventProvider, engine.getDesktopMediaControl(), this._settingConfig.media, this._userSettingStorageProvider);
175
181
  this._roomProvider = new _roomProvider.FcrUIRoomProviderImpl(this._eventProvider, this._config, engine, this._messageProvider);
176
182
  this._sharedConfigDataSource = new _config2.FcrUISharedConfigDataSourceImpl({
177
183
  creatorConfig: this._creatorConfig,
178
184
  sceneConfig: this._config,
179
- settingConfig: this._settingConfig,
180
- localStorageProvider: this._localStorageProvider
185
+ settingConfig: this._settingConfig
181
186
  });
182
- this._sharedSettingDataSource = new _setting.FcrUISharedSettingDataSourceImpl(this._creatorConfig, this._localStorageProvider);
187
+ this._sharedSettingDataSource = new _setting.FcrUISharedSettingDataSourceImpl(this._creatorConfig, this._userSettingStorageProvider);
183
188
  this._sharedLayoutDataSource = new _layoutData.FcrUISharedLayoutDataSourceImpl(this._sharedConfigDataSource);
184
189
  this._sharedSpeakerSpotlightDataSource = new _speakerSpotlight.FcrUISharedSpeakerSpotlightDataSourceImpl();
185
190
  this._sharedVideoWindowDataSource = new _videoWindow.FcrUIVideoWindowDataSourceImpl(this._sharedSettingDataSource);
@@ -189,6 +194,7 @@ var FcrUIDefaultScene = exports.FcrUIDefaultScene = /*#__PURE__*/function () {
189
194
  roomProvider: this._roomProvider,
190
195
  dialogProvider: this._dialogProvider
191
196
  });
197
+ this._sharedScreenShareDataSource = new _screenShareData.FcrUIScreenShareSharedDataSourceImpl(connectionProvider, this._deviceProvider);
192
198
  var openDefaultCamera = (0, _parameters.isOpenDefaultCamera)(this._creatorConfig.parameters);
193
199
  var openDefaultMicrophone = (0, _parameters.isOpenDefaultMicrophone)(this._creatorConfig.parameters);
194
200
  if (openDefaultCamera) {
@@ -211,14 +217,31 @@ var FcrUIDefaultScene = exports.FcrUIDefaultScene = /*#__PURE__*/function () {
211
217
  var sharedVideoWindowDataSource = this._sharedVideoWindowDataSource;
212
218
  var sharedDevicePrivilegeDataSource = this._sharedDevicePrivilegeDataSource;
213
219
  var widgetProvider = this._widgetProvider;
220
+ var sharedScreenShareDataSource = this._sharedScreenShareDataSource;
214
221
  var uiManager = this._uiManager;
215
222
  var dom = this._dom;
216
- this._addObservers(roomProvider, eventProvider, deviceProvider, engine, uiManager, sharedConfigDataSource, sharedSettingDataSource, sharedLayoutDataSource, sharedSpeakerSpotlightDataSource, sharedPinDataSource, dialogProvider, messageProvider, sharedVideoWindowDataSource, sharedDevicePrivilegeDataSource, widgetProvider);
223
+ this._addObservers(roomProvider, eventProvider, deviceProvider, engine, uiManager, sharedConfigDataSource, sharedSettingDataSource, sharedLayoutDataSource, sharedSpeakerSpotlightDataSource, sharedPinDataSource, dialogProvider, messageProvider, sharedVideoWindowDataSource, sharedDevicePrivilegeDataSource, widgetProvider, sharedScreenShareDataSource);
217
224
 
218
225
  // start render UI
219
226
 
220
227
  // const skipPretest = isSkipPretest(config.parameters);
221
228
  var skipPretest = true;
229
+ var renderSceneUI = function renderSceneUI(response) {
230
+ _this2._renderSceneUI(response, uiManager, eventProvider, deviceProvider, roomProvider, sharedConfigDataSource, sharedSettingDataSource, sharedLayoutDataSource, sharedSpeakerSpotlightDataSource, sharedPinDataSource, messageProvider, dialogProvider, sharedVideoWindowDataSource, sharedDevicePrivilegeDataSource, widgetProvider, sharedScreenShareDataSource);
231
+ };
232
+ var joinRoomCallback = function joinRoomCallback() {
233
+ _this2._initSettingStore({
234
+ engine: engine,
235
+ roomProvider: roomProvider,
236
+ eventProvider: eventProvider,
237
+ deviceProvider: deviceProvider,
238
+ sharedConfigDataSource: sharedConfigDataSource,
239
+ sharedLayoutDataSource: sharedLayoutDataSource,
240
+ messageProvider: messageProvider,
241
+ sharedSettingDataSource: sharedSettingDataSource,
242
+ dialogProvider: dialogProvider
243
+ });
244
+ };
222
245
  if (!skipPretest) {
223
246
  var joining = false;
224
247
  uiManager.renderDevicePretestUi(deviceProvider,
@@ -226,7 +249,7 @@ var FcrUIDefaultScene = exports.FcrUIDefaultScene = /*#__PURE__*/function () {
226
249
  function () {
227
250
  if (joining) return;
228
251
  joining = true;
229
- _this2._joinRoom(engine, roomProvider, deviceProvider)["finally"](function () {
252
+ _this2._joinRoom(engine, roomProvider, deviceProvider, joinRoomCallback)["finally"](function () {
230
253
  joining = false;
231
254
  });
232
255
  },
@@ -235,7 +258,7 @@ var FcrUIDefaultScene = exports.FcrUIDefaultScene = /*#__PURE__*/function () {
235
258
  _this2._observable.notifyObservers('onLaunchCancel', _this2._config.roomId);
236
259
  });
237
260
  } else {
238
- this._joinRoom(engine, roomProvider, deviceProvider);
261
+ this._joinRoom(engine, roomProvider, deviceProvider, joinRoomCallback);
239
262
  }
240
263
  }
241
264
  }, {
@@ -258,7 +281,7 @@ var FcrUIDefaultScene = exports.FcrUIDefaultScene = /*#__PURE__*/function () {
258
281
  }
259
282
  }, {
260
283
  key: "_addObservers",
261
- value: function _addObservers(roomProvider, eventProvider, deviceProvider, engine, uiManager, sharedConfigDataSource, sharedSettingDataSource, sharedLayoutDataSource, sharedSpeakerSpotlightDataSource, sharedPinDataSource, dialogProvider, messageProvider, sharedVideoWindowDataSource, sharedDevicePrivilegeDataSource, widgetProvider) {
284
+ value: function _addObservers(roomProvider, eventProvider, deviceProvider, engine, uiManager, sharedConfigDataSource, sharedSettingDataSource, sharedLayoutDataSource, sharedSpeakerSpotlightDataSource, sharedPinDataSource, dialogProvider, messageProvider, sharedVideoWindowDataSource, sharedDevicePrivilegeDataSource, widgetProvider, sharedScreenShareSharedDataSource) {
262
285
  var _this3 = this;
263
286
  var observable = this._observable;
264
287
  var sceneConfig = this._config;
@@ -297,7 +320,7 @@ var FcrUIDefaultScene = exports.FcrUIDefaultScene = /*#__PURE__*/function () {
297
320
  onJoinWaitingRoom: function onJoinWaitingRoom(roomControl, isWaitingRoomManaager) {
298
321
  if (_this3._dom && !isWaitingRoomManaager) {
299
322
  var _this3$_messageProvid;
300
- _this3._disposers.push(uiManager.renderWaitingSceneUI(eventProvider, deviceProvider, roomProvider, sharedConfigDataSource, dialogProvider, messageProvider, sharedLayoutDataSource, sharedSettingDataSource, sharedDevicePrivilegeDataSource, widgetProvider));
323
+ _this3._disposers.push(uiManager.renderWaitingSceneUI(eventProvider, deviceProvider, roomProvider, sharedConfigDataSource, dialogProvider, messageProvider, sharedLayoutDataSource, sharedSettingDataSource, sharedDevicePrivilegeDataSource, widgetProvider, sharedScreenShareSharedDataSource));
301
324
  (_this3$_messageProvid = _this3._messageProvider) === null || _this3$_messageProvid === void 0 || _this3$_messageProvid.showToast({
302
325
  message: (0, _i18n.transI18n)('fmt_waitingroom_attendie_overview_label_move_in_by_host'),
303
326
  type: 'error'
@@ -305,26 +328,30 @@ var FcrUIDefaultScene = exports.FcrUIDefaultScene = /*#__PURE__*/function () {
305
328
  }
306
329
  },
307
330
  onRoomClosed: function onRoomClosed() {
308
- _dialog.FcrDialogApi.open({
309
- id: 'login-confirm-dialog-kick-out',
310
- dialogProps: {
311
- content: /*#__PURE__*/(0, _jsxRuntime.jsx)(_comfirmDialog.LoginConfirmDialog, {
312
- title: (0, _i18n.transI18n)('fmt_toolbar_tips_leave_confirm_dialog_end_title'),
313
- desc: (0, _i18n.transI18n)('fmt_leave_tips_classover'),
314
- id: "login-confirm-dialog-kick-out",
315
- imgSrc: _leaveMeeting["default"],
316
- showImg: true,
317
- btnTxt: (0, _i18n.transI18n)('fmt_waitingroom_attendie_popup_button_gotit'),
318
- onConfirm: function onConfirm() {
319
- observable.notifyObservers('onExited', sceneConfig.roomId, _type.FcrUIExitReason.CLOSE_ROOM);
320
- }
321
- }),
322
- width: 320,
323
- closable: false,
324
- rootClassName: 'login-confirm-dialog',
325
- maskClosable: false
326
- }
327
- });
331
+ if (roomProvider.isSelfEndMeeting) {
332
+ observable.notifyObservers('onExited', sceneConfig.roomId, _type.FcrUIExitReason.CLOSE_ROOM);
333
+ } else {
334
+ _dialog.FcrDialogApi.open({
335
+ id: 'login-confirm-dialog-kick-out',
336
+ dialogProps: {
337
+ content: /*#__PURE__*/(0, _jsxRuntime.jsx)(_comfirmDialog.LoginConfirmDialog, {
338
+ title: (0, _i18n.transI18n)('fmt_toolbar_tips_leave_confirm_dialog_end_title'),
339
+ desc: (0, _i18n.transI18n)('fmt_leave_tips_classover'),
340
+ id: "login-confirm-dialog-kick-out",
341
+ imgSrc: _leaveMeeting["default"],
342
+ showImg: true,
343
+ btnTxt: (0, _i18n.transI18n)('fmt_waitingroom_attendie_popup_button_gotit'),
344
+ onConfirm: function onConfirm() {
345
+ observable.notifyObservers('onExited', sceneConfig.roomId, _type.FcrUIExitReason.CLOSE_ROOM);
346
+ }
347
+ }),
348
+ width: 320,
349
+ closable: false,
350
+ rootClassName: 'login-confirm-dialog',
351
+ maskClosable: false
352
+ }
353
+ });
354
+ }
328
355
  },
329
356
  onExitRoom: function onExitRoom() {
330
357
  observable.notifyObservers('onExited', sceneConfig.roomId, _type.FcrUIExitReason.LEAVE_ROOM);
@@ -335,7 +362,7 @@ var FcrUIDefaultScene = exports.FcrUIDefaultScene = /*#__PURE__*/function () {
335
362
  _this3._sharedPinDataSource = new _pinData.FcrUISharedPinDataSourceImpl(eventProvider, _this3._sharedVideoWindowDataSource);
336
363
  var sharedPinDataSource = _this3._sharedPinDataSource;
337
364
  var sharedVideoWindowDataSource = _this3._sharedVideoWindowDataSource;
338
- _this3._renderSceneUI(roomControl, uiManager, eventProvider, deviceProvider, roomProvider, sharedConfigDataSource, sharedSettingDataSource, sharedLayoutDataSource, sharedSpeakerSpotlightDataSource, sharedPinDataSource, messageProvider, dialogProvider, sharedVideoWindowDataSource, sharedDevicePrivilegeDataSource, widgetProvider);
365
+ _this3._renderSceneUI(roomControl, uiManager, eventProvider, deviceProvider, roomProvider, sharedConfigDataSource, sharedSettingDataSource, sharedLayoutDataSource, sharedSpeakerSpotlightDataSource, sharedPinDataSource, messageProvider, dialogProvider, sharedVideoWindowDataSource, sharedDevicePrivilegeDataSource, widgetProvider, sharedScreenShareSharedDataSource);
339
366
  }
340
367
  });
341
368
  engine.addObserver({
@@ -354,6 +381,9 @@ var FcrUIDefaultScene = exports.FcrUIDefaultScene = /*#__PURE__*/function () {
354
381
  observable.notifyObservers('onExited', sceneConfig.roomId, _type.FcrUIExitReason.ABORTED);
355
382
  }
356
383
  });
384
+ if ((0, _env.isElectron)() && !window.runtime.browserWindow.isVisible()) {
385
+ window.runtime.browserWindow.show();
386
+ }
357
387
  }
358
388
  if (state === _fcrCore.FcrConnectionState.CONNECTED) {
359
389
  uiManager.renderLoading(false);
@@ -372,7 +402,7 @@ var FcrUIDefaultScene = exports.FcrUIDefaultScene = /*#__PURE__*/function () {
372
402
  }, {
373
403
  key: "_joinRoom",
374
404
  value: function () {
375
- var _joinRoom2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(engine, roomControl, deviceProvider) {
405
+ var _joinRoom2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(engine, roomControl, deviceProvider, joinRoomCallback) {
376
406
  var _this4 = this;
377
407
  var p;
378
408
  return _regenerator["default"].wrap(function _callee2$(_context2) {
@@ -387,17 +417,7 @@ var FcrUIDefaultScene = exports.FcrUIDefaultScene = /*#__PURE__*/function () {
387
417
  return _regenerator["default"].wrap(function _callee$(_context) {
388
418
  while (1) switch (_context.prev = _context.next) {
389
419
  case 0:
390
- _this4._initSettingStore({
391
- engine: _this4._engine,
392
- roomProvider: _this4._roomProvider,
393
- eventProvider: _this4._eventProvider,
394
- deviceProvider: _this4._deviceProvider,
395
- sharedConfigDataSource: _this4._sharedConfigDataSource,
396
- sharedLayoutDataSource: _this4._sharedLayoutDataSource,
397
- messageProvider: _this4._messageProvider,
398
- sharedSettingDataSource: _this4._sharedSettingDataSource,
399
- dialogProvider: _this4._dialogProvider
400
- });
420
+ joinRoomCallback();
401
421
  return _context.abrupt("return", response);
402
422
  case 2:
403
423
  case "end":
@@ -405,7 +425,7 @@ var FcrUIDefaultScene = exports.FcrUIDefaultScene = /*#__PURE__*/function () {
405
425
  }
406
426
  }, _callee);
407
427
  }));
408
- return function (_x4) {
428
+ return function (_x5) {
409
429
  return _ref.apply(this, arguments);
410
430
  };
411
431
  }());
@@ -421,7 +441,7 @@ var FcrUIDefaultScene = exports.FcrUIDefaultScene = /*#__PURE__*/function () {
421
441
  }
422
442
  }, _callee2);
423
443
  }));
424
- function _joinRoom(_x, _x2, _x3) {
444
+ function _joinRoom(_x, _x2, _x3, _x4) {
425
445
  return _joinRoom2.apply(this, arguments);
426
446
  }
427
447
  return _joinRoom;
@@ -429,7 +449,7 @@ var FcrUIDefaultScene = exports.FcrUIDefaultScene = /*#__PURE__*/function () {
429
449
  }, {
430
450
  key: "_renderSceneUI",
431
451
  value: function () {
432
- var _renderSceneUI2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(roomControl, uiManager, eventProvider, deviceProvider, roomProvider, sharedConfigDataSource, sharedSettingDataSource, sharedLayoutDataSource, sharedSpeakerSpotlightDataSource, sharedPinDataSource, messageProvider, dialogProvider, sharedVideoWindowDataSource, sharedDevicePrivilegeDataSource, widgetProvider) {
452
+ var _renderSceneUI2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(roomControl, uiManager, eventProvider, deviceProvider, roomProvider, sharedConfigDataSource, sharedSettingDataSource, sharedLayoutDataSource, sharedSpeakerSpotlightDataSource, sharedPinDataSource, messageProvider, dialogProvider, sharedVideoWindowDataSource, sharedDevicePrivilegeDataSource, widgetProvider, sharedScreenShareDataSource) {
433
453
  var _roomControl$getRoomI;
434
454
  var type;
435
455
  return _regenerator["default"].wrap(function _callee3$(_context3) {
@@ -442,10 +462,10 @@ var FcrUIDefaultScene = exports.FcrUIDefaultScene = /*#__PURE__*/function () {
442
462
  this._disposers.push(uiManager.renderPullingUi(roomControl));
443
463
  } else {
444
464
  this._setLocalMeetingTimeKey();
445
- this._disposers.push(uiManager.renderMainSceneUI(eventProvider, deviceProvider, roomProvider, sharedConfigDataSource, sharedSettingDataSource, sharedLayoutDataSource, sharedSpeakerSpotlightDataSource, sharedPinDataSource, dialogProvider, messageProvider, sharedVideoWindowDataSource, sharedDevicePrivilegeDataSource, widgetProvider));
465
+ this._disposers.push(uiManager.renderMainSceneUI(eventProvider, deviceProvider, roomProvider, sharedConfigDataSource, sharedSettingDataSource, sharedLayoutDataSource, sharedSpeakerSpotlightDataSource, sharedPinDataSource, dialogProvider, messageProvider, sharedVideoWindowDataSource, sharedDevicePrivilegeDataSource, widgetProvider, sharedScreenShareDataSource));
446
466
  }
447
467
  } else {
448
- this._disposers.push(uiManager.renderWaitingSceneUI(eventProvider, deviceProvider, roomProvider, sharedConfigDataSource, dialogProvider, messageProvider, sharedLayoutDataSource, sharedSettingDataSource, sharedDevicePrivilegeDataSource, widgetProvider));
468
+ this._disposers.push(uiManager.renderWaitingSceneUI(eventProvider, deviceProvider, roomProvider, sharedConfigDataSource, dialogProvider, messageProvider, sharedLayoutDataSource, sharedSettingDataSource, sharedDevicePrivilegeDataSource, widgetProvider, sharedScreenShareDataSource));
449
469
  }
450
470
  case 2:
451
471
  case "end":
@@ -453,7 +473,7 @@ var FcrUIDefaultScene = exports.FcrUIDefaultScene = /*#__PURE__*/function () {
453
473
  }
454
474
  }, _callee3, this);
455
475
  }));
456
- function _renderSceneUI(_x5, _x6, _x7, _x8, _x9, _x10, _x11, _x12, _x13, _x14, _x15, _x16, _x17, _x18, _x19) {
476
+ function _renderSceneUI(_x6, _x7, _x8, _x9, _x10, _x11, _x12, _x13, _x14, _x15, _x16, _x17, _x18, _x19, _x20, _x21) {
457
477
  return _renderSceneUI2.apply(this, arguments);
458
478
  }
459
479
  return _renderSceneUI;
@@ -516,8 +536,8 @@ var FcrUIDefaultScene = exports.FcrUIDefaultScene = /*#__PURE__*/function () {
516
536
  sharedSettingDataSource: sharedSettingDataSource,
517
537
  dialogProvider: dialogProvider,
518
538
  settingConfig: sharedConfigDataSource.settingConfig,
519
- localStorageProvider: this._localStorageProvider,
520
- userId: this._creatorConfig.userId
539
+ userId: this._creatorConfig.userId,
540
+ userSettingStorageProvider: this._userSettingStorageProvider
521
541
  });
522
542
  (_this$_dialogProvider = this._dialogProvider) === null || _this$_dialogProvider === void 0 || _this$_dialogProvider.addObserver({
523
543
  onOpenSettingDialog: function onOpenSettingDialog() {
@@ -13,7 +13,12 @@ export declare enum FcrUIRendererEventAction {
13
13
  POWER_MONITOR_UNLOCK_SCREEN = "POWER_MONITOR_UNLOCK_SCREEN",
14
14
  CALL_CLOSE_MAIN_WINDOW = "CALL_CLOSE_MAIN_WINDOW",
15
15
  ENTER_FULL_SCREEN = "ENTER_FULL_SCREEN",
16
- LEAVE_FULL_SCREEN = "LEAVE_FULL_SCREEN"
16
+ LEAVE_FULL_SCREEN = "LEAVE_FULL_SCREEN",
17
+ SET_CURRENT_SHARE_SCREEN_BOUNDS = "SET_CURRENT_SHARE_SCREEN_BOUNDS",
18
+ SET_ANNOTATION_TO_SHOW = "SET_ANNOTATION_TO_SHOW",
19
+ SET_ANNOTATION_IGNORE = "SET_ANNOTATION_IGNORE",
20
+ SET_ANNOTATION_UNDO = "SET_ANNOTATION_UNDO",
21
+ SET_ANNOTATION_REDO = "SET_ANNOTATION_REDO"
17
22
  }
18
23
  export declare enum FcrUIParticipantType {
19
24
  MUTE_AUDIO = "MUTE_AUDIO",
@@ -120,7 +125,8 @@ export declare enum FcrUIAction {
120
125
  SET_SHARE_WITH_AUDIO = 62,
121
126
  CLOSE_VIDEO_WINDOW = 63,
122
127
  OPEN_CONFIRM = 64,
123
- OPEN_TOP_VIDEO_WINDOW = 65
128
+ OPEN_TOP_VIDEO_WINDOW = 65,
129
+ RESET_WHITEBOARD_TOOLBAR_VARS = 66
124
130
  }
125
131
  export declare enum FcrUIDialogKey {
126
132
  DEVICE_SETTINGS = "device-settings",
@@ -144,6 +150,8 @@ export declare enum FcrUIDialogKey {
144
150
  WAITING_ROOM_OPERATION = "operation-waiting-room",
145
151
  WIDGET = "widget",
146
152
  RENAME = "rename",
153
+ ANNOTATION_TOOL = "annotation-tool",
154
+ ANNOTATION = "annotation",
147
155
  LEAVE_MEETING = "leave-meeting"
148
156
  }
149
157
  export declare enum FcrUIHighlightElement {
@@ -15,6 +15,11 @@ var FcrUIRendererEventAction = exports.FcrUIRendererEventAction = /*#__PURE__*/f
15
15
  FcrUIRendererEventAction["CALL_CLOSE_MAIN_WINDOW"] = "CALL_CLOSE_MAIN_WINDOW";
16
16
  FcrUIRendererEventAction["ENTER_FULL_SCREEN"] = "ENTER_FULL_SCREEN";
17
17
  FcrUIRendererEventAction["LEAVE_FULL_SCREEN"] = "LEAVE_FULL_SCREEN";
18
+ FcrUIRendererEventAction["SET_CURRENT_SHARE_SCREEN_BOUNDS"] = "SET_CURRENT_SHARE_SCREEN_BOUNDS";
19
+ FcrUIRendererEventAction["SET_ANNOTATION_TO_SHOW"] = "SET_ANNOTATION_TO_SHOW";
20
+ FcrUIRendererEventAction["SET_ANNOTATION_IGNORE"] = "SET_ANNOTATION_IGNORE";
21
+ FcrUIRendererEventAction["SET_ANNOTATION_UNDO"] = "SET_ANNOTATION_UNDO";
22
+ FcrUIRendererEventAction["SET_ANNOTATION_REDO"] = "SET_ANNOTATION_REDO";
18
23
  return FcrUIRendererEventAction;
19
24
  }({});
20
25
  var FcrUIParticipantType = exports.FcrUIParticipantType = /*#__PURE__*/function (FcrUIParticipantType) {
@@ -126,6 +131,7 @@ var FcrUIAction = exports.FcrUIAction = /*#__PURE__*/function (FcrUIAction) {
126
131
  FcrUIAction[FcrUIAction["CLOSE_VIDEO_WINDOW"] = 63] = "CLOSE_VIDEO_WINDOW";
127
132
  FcrUIAction[FcrUIAction["OPEN_CONFIRM"] = 64] = "OPEN_CONFIRM";
128
133
  FcrUIAction[FcrUIAction["OPEN_TOP_VIDEO_WINDOW"] = 65] = "OPEN_TOP_VIDEO_WINDOW";
134
+ FcrUIAction[FcrUIAction["RESET_WHITEBOARD_TOOLBAR_VARS"] = 66] = "RESET_WHITEBOARD_TOOLBAR_VARS";
129
135
  return FcrUIAction;
130
136
  }({});
131
137
  var FcrUIDialogKey = exports.FcrUIDialogKey = /*#__PURE__*/function (FcrUIDialogKey) {
@@ -150,6 +156,8 @@ var FcrUIDialogKey = exports.FcrUIDialogKey = /*#__PURE__*/function (FcrUIDialog
150
156
  FcrUIDialogKey["WAITING_ROOM_OPERATION"] = "operation-waiting-room";
151
157
  FcrUIDialogKey["WIDGET"] = "widget";
152
158
  FcrUIDialogKey["RENAME"] = "rename";
159
+ FcrUIDialogKey["ANNOTATION_TOOL"] = "annotation-tool";
160
+ FcrUIDialogKey["ANNOTATION"] = "annotation";
153
161
  FcrUIDialogKey["LEAVE_MEETING"] = "leave-meeting";
154
162
  return FcrUIDialogKey;
155
163
  }({});
@@ -4,4 +4,8 @@ export declare const createLogger: (opts: {
4
4
  prefix: string;
5
5
  database?: boolean;
6
6
  }) => import("agora-foundation/lib/logger").Logger;
7
+ export declare const createFragmentLogger: (opts: {
8
+ prefix: string;
9
+ database?: boolean;
10
+ }) => import("agora-foundation/lib/logger").Logger;
7
11
  export declare const generateLogObserver: <T>(logger: ReturnType<typeof _getLogger>, callbackMethods: (keyof T)[]) => T;
@@ -4,7 +4,7 @@ require("core-js/modules/es.object.define-property.js");
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.getLogger = exports.generateLogObserver = exports.createLogger = void 0;
7
+ exports.getLogger = exports.generateLogObserver = exports.createLogger = exports.createFragmentLogger = void 0;
8
8
  require("core-js/modules/es.array.concat.js");
9
9
  require("core-js/modules/es.array.for-each.js");
10
10
  require("core-js/modules/es.object.to-string.js");
@@ -27,6 +27,13 @@ var createLogger = exports.createLogger = function createLogger(opts) {
27
27
  database: opts.database
28
28
  });
29
29
  };
30
+ var createFragmentLogger = exports.createFragmentLogger = function createFragmentLogger(opts) {
31
+ return (0, _logger.createLogger)({
32
+ label: 'fragments',
33
+ prefix: "".concat(opts.prefix, "@").concat((0, _misc.randomString)(5)),
34
+ database: opts.database
35
+ });
36
+ };
30
37
  var generateLogObserver = exports.generateLogObserver = function generateLogObserver(logger, callbackMethods) {
31
38
  var observer = {};
32
39
  callbackMethods.forEach(function (method) {
@@ -1,3 +1,5 @@
1
+ import { title as AnnotationTitle } from '../fragments/annotation/index';
2
+ import { title as AnnotationToolTitle } from '../modules/dialog/components/annotation-tool';
1
3
  type RendererEventListener = (event: RendererCustomEvent) => void;
2
4
  export declare const addEventListener: (listener: RendererEventListener) => void;
3
5
  export declare const removeEventListener: (listener: RendererEventListener) => void;
@@ -6,4 +8,5 @@ export declare const openLinkInDefaultBrowser: (url: string) => void;
6
8
  export declare const getBrowserWindowById: (id: number) => Electron.CrossProcessExports.BrowserWindow | undefined;
7
9
  export declare const getControlBarMediaSourceId: () => string | undefined;
8
10
  export declare const getVideoWindowMediaSourceId: () => string | undefined;
11
+ export declare const getAnnotationMediaSourceId: (title: typeof AnnotationTitle | typeof AnnotationToolTitle) => string | undefined;
9
12
  export {};
@@ -4,7 +4,7 @@ require("core-js/modules/es.object.define-property.js");
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.sendEvent = exports.removeEventListener = exports.openLinkInDefaultBrowser = exports.getVideoWindowMediaSourceId = exports.getControlBarMediaSourceId = exports.getBrowserWindowById = exports.addEventListener = void 0;
7
+ exports.sendEvent = exports.removeEventListener = exports.openLinkInDefaultBrowser = exports.getVideoWindowMediaSourceId = exports.getControlBarMediaSourceId = exports.getBrowserWindowById = exports.getAnnotationMediaSourceId = exports.addEventListener = void 0;
8
8
  require("core-js/modules/es.array.find.js");
9
9
  require("core-js/modules/es.array.for-each.js");
10
10
  require("core-js/modules/es.array.iterator.js");
@@ -101,4 +101,17 @@ var getVideoWindowMediaSourceId = exports.getVideoWindowMediaSourceId = function
101
101
  } else {
102
102
  console.error('failed to call getVideoWindowMediaSourceId, window.runtime is not available');
103
103
  }
104
+ };
105
+ var getAnnotationMediaSourceId = exports.getAnnotationMediaSourceId = function getAnnotationMediaSourceId(title) {
106
+ if (window.runtime) {
107
+ var mediaSourceList = window.runtime.getMediaSourceIdList();
108
+ var info = mediaSourceList.find(function (item) {
109
+ return item.title === title;
110
+ });
111
+ if (info) {
112
+ return info.mediaSourceId;
113
+ }
114
+ } else {
115
+ console.error('failed to call getMediaSourceId, window.runtime is not available');
116
+ }
104
117
  };
@@ -34,7 +34,8 @@ var enterFullScreen = exports.enterFullScreen = function enterFullScreen() {
34
34
  var exitFullScreen = exports.exitFullScreen = function exitFullScreen() {
35
35
  if (!isFullScreen()) return;
36
36
  if ((0, _env.isElectron)()) {
37
- window.runtime.browserWindow.setFullScreen(false);
37
+ var _window$runtime$brows;
38
+ (_window$runtime$brows = window.runtime.browserWindow) === null || _window$runtime$brows === void 0 || _window$runtime$brows.setFullScreen(false);
38
39
  } else {
39
40
  if (document.exitFullscreen) {
40
41
  document.exitFullscreen();
@@ -1,16 +1,15 @@
1
1
  import { FcrUIMediaConfig, FcrUISettingConfig } from '../type';
2
- import { FcrUILocalStorageProvider } from '../providers/local-storage-provider';
2
+ import { FcrUIUserSettingStorageProvider } from '../providers/user-setting-storage-provider';
3
3
  export declare const settingConfigStorageKey = "fcr-ui-setting-config";
4
4
  export declare class FcrSettingConfigStorage implements FcrUISettingConfig {
5
- private _isElectron;
6
5
  private _settingConfig;
7
- private _localStorageProvider;
8
- constructor({ localStorageProvider }: {
9
- localStorageProvider: FcrUILocalStorageProvider;
6
+ private _userSettingStorageProvider;
7
+ constructor({ userSettingStorageProvider, }: {
8
+ userSettingStorageProvider: FcrUIUserSettingStorageProvider;
10
9
  });
11
10
  get media(): FcrUIMediaConfig;
12
11
  set media(media: FcrUIMediaConfig);
13
- private _initMediaConfig;
12
+ get setting(): import("../modules/setting/store").FcrUICustomSetting;
14
13
  private _initSettingConfig;
15
14
  private _setSettingConfig;
16
15
  private _createMediaProxy;
@@ -20,32 +20,49 @@ Object.defineProperty(exports, "__esModule", {
20
20
  value: true
21
21
  });
22
22
  exports.settingConfigStorageKey = exports.FcrSettingConfigStorage = void 0;
23
- require("core-js/modules/es.date.to-json.js");
24
- require("core-js/modules/es.json.stringify.js");
25
23
  require("core-js/modules/es.object.keys.js");
26
- require("core-js/modules/esnext.json.parse.js");
27
24
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
28
25
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
29
26
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
30
27
  var _env = require("agora-foundation/lib/utilities/env");
31
- var _store = require("../modules/setting/store");
28
+ var _fcrCore = require("fcr-core");
29
+ var _tools = require("./tools");
32
30
  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; }
33
31
  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; }
34
32
  var settingConfigStorageKey = exports.settingConfigStorageKey = 'fcr-ui-setting-config';
35
33
  var FcrSettingConfigStorage = exports.FcrSettingConfigStorage = /*#__PURE__*/function () {
36
34
  function FcrSettingConfigStorage(_ref) {
37
- var localStorageProvider = _ref.localStorageProvider;
35
+ var userSettingStorageProvider = _ref.userSettingStorageProvider;
38
36
  (0, _classCallCheck2["default"])(this, FcrSettingConfigStorage);
39
- (0, _defineProperty2["default"])(this, "_isElectron", false);
40
37
  (0, _defineProperty2["default"])(this, "_settingConfig", {
41
38
  media: {
42
39
  autoConnectAudio: true,
43
40
  microphoneExpectedOff: true,
44
41
  cameraExpectedOff: true
42
+ },
43
+ setting: {
44
+ shouldDisplayPreviewDialog: true,
45
+ shouldHideNonVideoParticipants: false,
46
+ displayedMaxAttendees: 16,
47
+ autoAdjustmentSpeakerVolume: true,
48
+ autoAdjustmentMicrophoneVolume: (0, _env.isElectron)(),
49
+ noiseReduce: _fcrCore.FcrAiDenoiseLevel.LOW,
50
+ recordingPath: '',
51
+ videoHD: false,
52
+ videoLowLight: false,
53
+ hardwareForReception: false,
54
+ videoNoise: false,
55
+ audioHiFi: false,
56
+ audioEchoCancellation: true,
57
+ audioStereo: false,
58
+ audioVoiceChanger: true,
59
+ spotlightEnabled: true,
60
+ isPlaySound: true,
61
+ language: (0, _tools.getBrowserLanguage)(),
62
+ shouldHideMyVideo: false
45
63
  }
46
64
  });
47
- this._isElectron = (0, _env.isElectron)();
48
- this._localStorageProvider = localStorageProvider;
65
+ this._userSettingStorageProvider = userSettingStorageProvider;
49
66
  this._initSettingConfig();
50
67
  }
51
68
  return (0, _createClass2["default"])(FcrSettingConfigStorage, [{
@@ -58,49 +75,26 @@ var FcrSettingConfigStorage = exports.FcrSettingConfigStorage = /*#__PURE__*/fun
58
75
  this._setSettingConfig(this._settingConfig);
59
76
  }
60
77
  }, {
61
- key: "_initMediaConfig",
62
- value: function _initMediaConfig() {
63
- var localSetting = this._localStorageProvider.read(_store.SETTING_KEY);
64
- if (localSetting) {
65
- var _localSetting$cameraE, _localSetting$microph, _localSetting$autoCon;
66
- this._settingConfig.media = {
67
- cameraExpectedOff: (_localSetting$cameraE = localSetting.cameraExpectedOff) !== null && _localSetting$cameraE !== void 0 ? _localSetting$cameraE : this._settingConfig.media.cameraExpectedOff,
68
- microphoneExpectedOff: (_localSetting$microph = localSetting.microphoneExpectedOff) !== null && _localSetting$microph !== void 0 ? _localSetting$microph : this._settingConfig.media.microphoneExpectedOff,
69
- autoConnectAudio: (_localSetting$autoCon = localSetting.autoConnectAudio) !== null && _localSetting$autoCon !== void 0 ? _localSetting$autoCon : this._settingConfig.media.autoConnectAudio
70
- };
71
- }
78
+ key: "setting",
79
+ get: function get() {
80
+ return this._settingConfig.setting;
72
81
  }
73
82
  }, {
74
83
  key: "_initSettingConfig",
75
84
  value: function _initSettingConfig() {
76
- if (this._isElectron) {
77
- var settingConfig = window.runtime.getUserSettingData();
78
- if (Object.keys(settingConfig).length === 0) {
79
- window.runtime.setUserSettingData(this._settingConfig);
80
- } else {
81
- this._settingConfig = settingConfig;
82
- }
85
+ var settingConfig = this._userSettingStorageProvider.read();
86
+ if (!settingConfig || Object.keys(settingConfig).length === 0) {
87
+ this._userSettingStorageProvider.write(this._settingConfig);
83
88
  } else {
84
- var _settingConfig = this._localStorageProvider.read(settingConfigStorageKey);
85
- if (!_settingConfig) return;
86
- try {
87
- this._settingConfig = JSON.parse(_settingConfig);
88
- } catch (e) {
89
- this._localStorageProvider.write(settingConfigStorageKey, JSON.stringify(this._settingConfig));
90
- }
89
+ this._settingConfig = settingConfig;
91
90
  }
92
- this._initMediaConfig();
93
91
  this._settingConfig.media = this._createMediaProxy(this._settingConfig.media);
94
92
  }
95
93
  }, {
96
94
  key: "_setSettingConfig",
97
95
  value: function _setSettingConfig(settingConfig) {
98
96
  this._settingConfig = settingConfig;
99
- if (this._isElectron) {
100
- window.runtime.setUserSettingData(settingConfig);
101
- } else {
102
- this._localStorageProvider.write(settingConfigStorageKey, JSON.stringify(settingConfig));
103
- }
97
+ this._userSettingStorageProvider.write(settingConfig);
104
98
  }
105
99
  }, {
106
100
  key: "_createMediaProxy",
@@ -48,7 +48,7 @@ export declare function handleCheckMouseOver(params: {
48
48
  /**
49
49
  * 当前打开的 dialog key,如果是 control bar,会计算内部控制栏的边界信息,用于精确定位其位置
50
50
  */
51
- dialog?: FcrUIDialogKey.CONTROL_BAR | FcrUIDialogKey.CONFIRM;
51
+ dialog?: FcrUIDialogKey;
52
52
  }): NodeJS.Timeout | undefined;
53
53
  export type CurrentShareScreenWorkArea = {
54
54
  x: number;
@@ -88,6 +88,24 @@ export declare function followCorrectDisplay({ browserWindow, dialogKey, extraRe
88
88
  }): {
89
89
  nearDisplayBounds: CurrentShareBounds;
90
90
  nearDisplay: Electron.Display;
91
+ followControlbar: boolean;
91
92
  } | undefined;
93
+ export declare function calcAnnotationAreaSize(
94
+ /**
95
+ * @param boardView {HTMLElement} 白板容器的 dom
96
+ */
97
+ boardView: HTMLElement,
98
+ /**
99
+ * @param width {number} 分享容器的宽度
100
+ */
101
+ width: number,
102
+ /**
103
+ * @param height {number} 分享容器的高度
104
+ */
105
+ height: number,
106
+ /**
107
+ * @param isProvider {boolean} 是否是发起端,发起端和接收端获取宽高的方式不同,所以要做出区分
108
+ */
109
+ isProvider?: boolean): void;
92
110
  export declare const getBrowserLanguage: () => "zh" | "en";
93
111
  export {};