fcr-ui-scene 3.7.5 → 3.7.6

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 (220) hide show
  1. package/lib/creator/index.js +3 -1
  2. package/lib/creator/provider-initializer.browser.js +13 -1
  3. package/lib/creator/provider-initializer.electron.js +22 -6
  4. package/lib/electron/bootstrap-sdk.js +39 -5
  5. package/lib/electron/injections.d.ts +1 -0
  6. package/lib/electron/injections.js +5 -1
  7. package/lib/electron/ipc/type.d.ts +1 -0
  8. package/lib/electron/ipc/type.js +1 -0
  9. package/lib/electron/preload.js +1 -0
  10. package/lib/electron/sdk-helper.d.ts +3 -0
  11. package/lib/electron/sdk-helper.js +53 -19
  12. package/lib/electron/until.d.ts +5 -1
  13. package/lib/electron/until.js +6 -2
  14. package/lib/fragments/annotation/store.js +2 -0
  15. package/lib/modules/action-bar/components/more/poppover-content.js +1 -1
  16. package/lib/modules/action-bar/components/screen-share/index.browser.js +4 -2
  17. package/lib/modules/action-bar/components/screen-share/index.electron.js +4 -2
  18. package/lib/modules/action-bar/components/screen-share/submenu.d.ts +5 -1
  19. package/lib/modules/action-bar/components/screen-share/submenu.js +11 -8
  20. package/lib/modules/audio-stream/index.js +4 -2
  21. package/lib/modules/chat/index.css +4 -0
  22. package/lib/modules/chat/view.js +2 -1
  23. package/lib/modules/components/control-bar/index.css +0 -2
  24. package/lib/modules/components/control-bar/index.d.ts +1 -0
  25. package/lib/modules/components/control-bar/index.js +26 -9
  26. package/lib/modules/components/leave-meeting/main-scene/store.d.ts +3 -0
  27. package/lib/modules/components/leave-meeting/main-scene/store.js +12 -0
  28. package/lib/modules/components/leave-meeting/store.base.d.ts +4 -3
  29. package/lib/modules/components/leave-meeting/store.base.js +0 -10
  30. package/lib/modules/components/leave-meeting/waiting-scene/store.d.ts +5 -1
  31. package/lib/modules/components/leave-meeting/waiting-scene/store.js +17 -3
  32. package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +1 -2
  33. package/lib/modules/components/member-window/components/video-player/components/local-video-player-with-zoom.js +4 -3
  34. package/lib/modules/components/member-window/components/video-player/components/zoomable-container.js +18 -32
  35. package/lib/modules/components/toolbar/hooks/use-resize-visible.js +14 -2
  36. package/lib/modules/control-bar/components/boundary-detector.d.ts +7 -5
  37. package/lib/modules/control-bar/components/boundary-detector.js +22 -2
  38. package/lib/modules/control-bar/components/cloud-recording-buttons.js +3 -0
  39. package/lib/modules/control-bar/hooks.js +2 -1
  40. package/lib/modules/control-bar/store.d.ts +1 -0
  41. package/lib/modules/control-bar/store.js +10 -1
  42. package/lib/modules/control-bar/view.js +96 -28
  43. package/lib/modules/dialog/components/confirm/index.js +6 -24
  44. package/lib/modules/dialog/components/dialog-container/index.css +7 -0
  45. package/lib/modules/dialog/dialogs/device-setting/index.d.ts +1 -0
  46. package/lib/modules/dialog/dialogs/device-setting/index.js +4 -2
  47. package/lib/modules/dialog/dialogs/invite/index.d.ts +1 -0
  48. package/lib/modules/dialog/dialogs/invite/index.js +2 -1
  49. package/lib/modules/dialog/dialogs/mute-all/index.d.ts +1 -0
  50. package/lib/modules/dialog/dialogs/mute-all/index.js +2 -1
  51. package/lib/modules/dialog/dialogs/participant/index.js +7 -1
  52. package/lib/modules/dialog/dialogs/share-screen-selection/index.js +1 -1
  53. package/lib/modules/dialog/dialogs/sub-window/index.js +1 -7
  54. package/lib/modules/dialog/dialogs/toast/index.d.ts +1 -1
  55. package/lib/modules/dialog/dialogs/toast/index.js +1 -1
  56. package/lib/modules/dialog/dialogs/video-window/index.d.ts +4 -1
  57. package/lib/modules/dialog/dialogs/video-window/index.js +5 -2
  58. package/lib/modules/dialog/dialogs/widget/index.d.ts +2 -0
  59. package/lib/modules/dialog/dialogs/widget/index.js +11 -3
  60. package/lib/modules/dialog/index.css +6 -2
  61. package/lib/modules/dialog/level-config.d.ts +1 -0
  62. package/lib/modules/dialog/level-config.js +2 -1
  63. package/lib/modules/dialog/store.base.d.ts +2 -0
  64. package/lib/modules/dialog/store.browser.d.ts +2 -0
  65. package/lib/modules/dialog/store.browser.js +6 -1
  66. package/lib/modules/dialog/store.electron.d.ts +9 -1
  67. package/lib/modules/dialog/store.electron.js +64 -4
  68. package/lib/modules/dialog/type.d.ts +3 -0
  69. package/lib/modules/event-toast/index.css +0 -1
  70. package/lib/modules/event-toast/index.js +1 -0
  71. package/lib/modules/event-toast/store.base.d.ts +2 -0
  72. package/lib/modules/event-toast/store.base.js +40 -21
  73. package/lib/modules/event-toast/store.electron.d.ts +2 -0
  74. package/lib/modules/event-toast/store.electron.js +19 -9
  75. package/lib/modules/layout/components/CommonVideoRenderer.js +1 -0
  76. package/lib/modules/participant/components/confirm-input/index.js +1 -1
  77. package/lib/modules/participant/store.base.d.ts +30 -3
  78. package/lib/modules/participant/store.base.js +249 -96
  79. package/lib/modules/participant/store.browser.js +4 -3
  80. package/lib/modules/participant/store.electron.js +5 -3
  81. package/lib/modules/pc-audio-connect/main-scene/store.js +1 -0
  82. package/lib/modules/secondary-window/store.d.ts +1 -0
  83. package/lib/modules/secondary-window/store.js +5 -0
  84. package/lib/modules/secondary-window/view.js +4 -5
  85. package/lib/modules/setting/audio-settings/audio-settings.js +0 -17
  86. package/lib/modules/setting/index.css +1 -0
  87. package/lib/modules/setting/index.js +1 -1
  88. package/lib/modules/setting/state/index.js +1 -1
  89. package/lib/modules/setting/store.base.d.ts +5 -2
  90. package/lib/modules/setting/store.base.js +66 -26
  91. package/lib/modules/setting/view.js +3 -0
  92. package/lib/modules/share-screen/components/selection/index.css +4 -0
  93. package/lib/modules/share-screen/store.base.js +17 -4
  94. package/lib/modules/share-screen/store.electron.js +4 -1
  95. package/lib/modules/video-window/popover-watcher.d.ts +3 -11
  96. package/lib/modules/video-window/popover-watcher.js +22 -32
  97. package/lib/modules/video-window/store.d.ts +15 -5
  98. package/lib/modules/video-window/store.js +109 -64
  99. package/lib/modules/video-window/view.js +50 -1
  100. package/lib/modules/whiteboard/index.d.ts +1 -1
  101. package/lib/modules/whiteboard/index.js +1 -1
  102. package/lib/modules/whiteboard/store.d.ts +3 -0
  103. package/lib/modules/whiteboard/store.js +11 -0
  104. package/lib/modules/whiteboard/view.js +10 -1
  105. package/lib/modules/widget/sdk.js +1 -1
  106. package/lib/modules/widget/store.base.d.ts +1 -0
  107. package/lib/modules/widget/store.browser.d.ts +1 -0
  108. package/lib/modules/widget/store.browser.js +60 -4
  109. package/lib/modules/widget/store.electron.d.ts +1 -0
  110. package/lib/modules/widget/store.electron.js +59 -2
  111. package/lib/modules/widget/type.d.ts +3 -2
  112. package/lib/modules/widget/view.js +9 -4
  113. package/lib/modules/widget/web-widget.d.ts +2 -1
  114. package/lib/modules/widget/web-widget.js +7 -5
  115. package/lib/object-manager.d.ts +2 -1
  116. package/lib/object-manager.js +1 -0
  117. package/lib/providers/board-share/provider.base.d.ts +8 -1
  118. package/lib/providers/board-share/provider.base.js +12 -2
  119. package/lib/providers/device-provider.d.ts +16 -2
  120. package/lib/providers/device-provider.js +48 -59
  121. package/lib/providers/dialog/provider.base.d.ts +1 -0
  122. package/lib/providers/dialog/provider.browser.d.ts +1 -0
  123. package/lib/providers/dialog/provider.browser.js +7 -2
  124. package/lib/providers/dialog/provider.electron.d.ts +4 -1
  125. package/lib/providers/dialog/provider.electron.js +88 -2
  126. package/lib/providers/dialog/type.d.ts +7 -0
  127. package/lib/providers/mouse-detect/provider.d.ts +4 -1
  128. package/lib/providers/mouse-detect/provider.js +94 -5
  129. package/lib/providers/mouse-detect/struct.d.ts +2 -1
  130. package/lib/providers/mouse-detect/struct.js +1 -0
  131. package/lib/providers/mouse-detect/type.d.ts +2 -0
  132. package/lib/providers/renderer-provider.d.ts +5 -0
  133. package/lib/providers/renderer-provider.js +5 -0
  134. package/lib/providers/room-provider/room-provider.d.ts +1 -0
  135. package/lib/providers/room-provider/room-provider.js +23 -13
  136. package/lib/providers/screen-share/provider.base.js +3 -11
  137. package/lib/providers/screen-share/provider.browser.js +23 -14
  138. package/lib/providers/screen-share/provider.electron.d.ts +1 -0
  139. package/lib/providers/screen-share/provider.electron.js +44 -17
  140. package/lib/providers/screen-share/strategy/browser.js +16 -13
  141. package/lib/providers/screen-share/strategy/electron.d.ts +2 -2
  142. package/lib/providers/screen-share/strategy/electron.js +15 -10
  143. package/lib/providers/screen-share/strategy/type.d.ts +6 -0
  144. package/lib/providers/screen-share/stream-state-sync.d.ts +3 -2
  145. package/lib/providers/screen-share/stream-state-sync.js +7 -4
  146. package/lib/providers/screen-share/struct.d.ts +9 -7
  147. package/lib/providers/screen-share/struct.js +11 -8
  148. package/lib/providers/screen-share/type.d.ts +7 -1
  149. package/lib/providers/widget-provider.d.ts +5 -3
  150. package/lib/providers/widget-provider.js +12 -18
  151. package/lib/providers/window/main-window.js +3 -0
  152. package/lib/providers/window/renderer-window.js +4 -1
  153. package/lib/runtime.d.ts +1 -0
  154. package/lib/runtime.js +2 -1
  155. package/lib/scenes/main-scene.js +7 -0
  156. package/lib/shared-context/board-context.d.ts +2 -0
  157. package/lib/shared-context/board-context.js +2 -0
  158. package/lib/shared-data/member-data.d.ts +0 -8
  159. package/lib/shared-data/member-data.js +26 -78
  160. package/lib/shared-data/widget-data.d.ts +13 -0
  161. package/lib/shared-data/widget-data.js +50 -0
  162. package/lib/translations/enUS.d.ts +0 -2
  163. package/lib/translations/enUS.js +4 -6
  164. package/lib/translations/zhCN.d.ts +0 -2
  165. package/lib/translations/zhCN.js +4 -6
  166. package/lib/type.d.ts +5 -0
  167. package/lib/ui-scene.d.ts +2 -4
  168. package/lib/ui-scene.js +27 -40
  169. package/lib/utilities/constant.d.ts +3 -1
  170. package/lib/utilities/constant.js +5 -2
  171. package/lib/utilities/default-config.d.ts +18 -0
  172. package/lib/utilities/default-config.js +19 -1
  173. package/lib/utilities/focus-helper.js +10 -3
  174. package/lib/utilities/logger.js +3 -1
  175. package/lib/utilities/renderer.d.ts +1 -0
  176. package/lib/utilities/renderer.js +7 -1
  177. package/package.json +5 -5
  178. package/public/index.html +13 -3
  179. package/lib/modules/action-bar/index.d.ts +0 -17
  180. package/lib/modules/action-bar/index.js +0 -63
  181. package/lib/modules/action-bar/store.base.d.ts +0 -15
  182. package/lib/modules/action-bar/store.base.js +0 -117
  183. package/lib/modules/action-bar/view.d.ts +0 -5
  184. package/lib/modules/action-bar/view.js +0 -112
  185. package/lib/modules/action-bar/waiting-scene/store.d.ts +0 -6
  186. package/lib/modules/action-bar/waiting-scene/store.js +0 -91
  187. package/lib/modules/control-bar/types.d.ts +0 -31
  188. package/lib/modules/control-bar/types.js +0 -6
  189. package/lib/modules/dialog/dialogs/pre-setting/index.css +0 -26
  190. package/lib/modules/dialog/dialogs/pre-setting/index.d.ts +0 -6
  191. package/lib/modules/dialog/dialogs/pre-setting/index.js +0 -57
  192. package/lib/modules/dialog/hooks/use-popover-watcher.d.ts +0 -14
  193. package/lib/modules/dialog/hooks/use-popover-watcher.js +0 -112
  194. package/lib/modules/event-toast/store.d.ts +0 -23
  195. package/lib/modules/event-toast/store.js +0 -187
  196. package/lib/modules/setting/common/advance-link.d.ts +0 -3
  197. package/lib/modules/setting/common/advance-link.js +0 -27
  198. package/lib/modules/setting/common/index.css +0 -26
  199. package/lib/modules/setting/common/useNamespace.d.ts +0 -15
  200. package/lib/modules/setting/common/useNamespace.js +0 -66
  201. package/lib/modules/widget/store.d.ts +0 -17
  202. package/lib/modules/widget/store.js +0 -71
  203. package/lib/providers/board-share/provider.d.ts +0 -66
  204. package/lib/providers/board-share/provider.js +0 -456
  205. package/lib/providers/screen-share/provider.d.ts +0 -69
  206. package/lib/providers/screen-share/provider.js +0 -615
  207. package/lib/providers/whiteboard-provider.d.ts +0 -26
  208. package/lib/providers/whiteboard-provider.js +0 -131
  209. package/lib/providers/window/browser-window-proxy.d.ts +0 -0
  210. package/lib/providers/window/browser-window-proxy.js +0 -1
  211. package/lib/providers/window/ipc-protocol.d.ts +0 -0
  212. package/lib/providers/window/ipc-protocol.js +0 -1
  213. package/lib/providers/window/main-process-handler.d.ts +0 -0
  214. package/lib/providers/window/main-process-handler.js +0 -1
  215. package/lib/providers/window/main-process-integration.d.ts +0 -0
  216. package/lib/providers/window/main-process-integration.js +0 -1
  217. package/lib/shared-data/whiteboard-data.d.ts +0 -70
  218. package/lib/shared-data/whiteboard-data.js +0 -342
  219. package/lib/utilities/ipc-protocol.d.ts +0 -91
  220. package/lib/utilities/ipc-protocol.js +0 -61
@@ -93,15 +93,16 @@ var ParticipantStore = exports["default"] = /*#__PURE__*/function (_ParticipantS
93
93
  }, {
94
94
  key: "_openChangeNameDialog",
95
95
  value: function _openChangeNameDialog(userId) {
96
- this._operatorRenameUserId = userId;
97
- var user = this.userMap.get(this._operatorRenameUserId);
96
+ this._renamingUserId = userId;
97
+ var user = this.userMap.get(this._renamingUserId);
98
98
  if (!user) {
99
99
  this.logger.error('User not found', {
100
100
  userId: userId
101
101
  });
102
102
  return;
103
103
  }
104
- this._operatorRenameUserName = user.userInfo.userName;
104
+ this._renamingUserName = user.userInfo.userName;
105
+ this.newName = user.userInfo.userName;
105
106
  this._openDialog(_constant.FcrUIDialogKey.RENAME);
106
107
  }
107
108
  }, {
@@ -91,17 +91,19 @@ var ParticipantStore = exports["default"] = /*#__PURE__*/function (_ParticipantS
91
91
  }, {
92
92
  key: "_openChangeNameDialog",
93
93
  value: function _openChangeNameDialog(userId) {
94
- this._operatorRenameUserId = userId;
95
- var user = this.userMap.get(this._operatorRenameUserId);
94
+ this._renamingUserId = userId;
95
+ var user = this.userMap.get(this._renamingUserId);
96
96
  if (!user) {
97
97
  this.logger.error('User not found', {
98
98
  userId: userId
99
99
  });
100
100
  return;
101
101
  }
102
- this._operatorRenameUserName = user.userInfo.userName;
102
+ this._renamingUserName = user.userInfo.userName;
103
+ this.newName = user.userInfo.userName;
103
104
  this._openDialog(_constant.FcrUIDialogKey.RENAME);
104
105
  var renameWindow = this._windowProvider.getWindowById(_constant.FcrUIDialogKey.RENAME);
106
+ this.logger.info('windows_index setAlwaysOnTop in participant openChangeNameDialog');
105
107
  renameWindow.setAlwaysOnTop(true, 'screen-saver', _levelConfig.WindowRelativeLevel.RENAME_WINDOW_LEVEL);
106
108
  }
107
109
  }, {
@@ -279,6 +279,7 @@ var ConnectionGatewayStoreMainScene = exports["default"] = /*#__PURE__*/function
279
279
  hasOpenMicrophonePrivilege = _context2.sent;
280
280
  includeMicrophone = shouldIncludeMicrophone && hasOpenMicrophonePrivilege;
281
281
  this._deviceProvider.connectAudio(includeMicrophone);
282
+ this._dialogProvider.closeDialog(_constant.FcrUIDialogKey.CONNECTION_GATEWAY);
282
283
  case 2:
283
284
  case "end":
284
285
  return _context2.stop();
@@ -47,6 +47,7 @@ export declare class SecondaryWindowStore {
47
47
  get isSharingWithAudio(): boolean;
48
48
  get videoRenderContext(): FcrVideoTrackRenderer;
49
49
  get isActive(): boolean;
50
+ get baseUrl(): string;
50
51
  constructor({ objectManager }: SecondaryWindowStoreArgs);
51
52
  getContent(): void;
52
53
  handleIframeLoad(iframe: HTMLIFrameElement): void;
@@ -327,6 +327,11 @@ var SecondaryWindowStore = exports.SecondaryWindowStore = /*#__PURE__*/function
327
327
  get: function get() {
328
328
  return this._boardShareProvider.isActive;
329
329
  }
330
+ }, {
331
+ key: "baseUrl",
332
+ get: function get() {
333
+ return this._renderer.getBaseUrl();
334
+ }
330
335
  }, {
331
336
  key: "getContent",
332
337
  value: function getContent() {}
@@ -47,6 +47,7 @@ var SubWindowView = exports.SubWindowView = (0, _mobxReact.observer)(function (p
47
47
  isAspectRatioPreserved = store.isAspectRatioPreserved,
48
48
  isShowToolbar = store.isShowToolbar,
49
49
  isActive = store.isActive,
50
+ baseUrl = store.baseUrl,
50
51
  iframeLoaded = store.iframeLoaded,
51
52
  setOriginScalc = store.setOriginScalc,
52
53
  zoomIn = store.zoomIn,
@@ -130,12 +131,10 @@ var SubWindowView = exports.SubWindowView = (0, _mobxReact.observer)(function (p
130
131
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("iframe", {
131
132
  ref: handleIframeLoad,
132
133
  allow: "webview",
133
- src: "/whiteboard.html?type=whiteboard",
134
+ src: "".concat(baseUrl, "/whiteboard.html?type=whiteboard"),
134
135
  style: {
135
136
  width: '100vw',
136
- height: '100vh',
137
- minWidth: '100vw',
138
- minHeight: '100vh'
137
+ height: 'calc(100vh - 28px)'
139
138
  }
140
139
  })
141
140
  })]
@@ -181,7 +180,7 @@ var SubWindowView = exports.SubWindowView = (0, _mobxReact.observer)(function (p
181
180
  }), secondaryWindowContentType === _type2.FcrUIDisplayDistributionContentType.SHARING_SCREEN_WITH_ANNOTATION && annotationHasStart && /*#__PURE__*/(0, _jsxRuntime.jsx)("iframe", {
182
181
  ref: handleIframeLoad,
183
182
  allow: "webview",
184
- src: "/whiteboard.html?type=annotation",
183
+ src: "".concat(baseUrl, "/whiteboard.html?type=annotation"),
185
184
  style: {
186
185
  width: '100%',
187
186
  height: '100%',
@@ -177,23 +177,6 @@ var AudioSettings = exports.AudioSettings = (0, _mobxReact.observer)(function ()
177
177
  value: microphoneVolumeLevel,
178
178
  barCount: 13
179
179
  })]
180
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
181
- className: ns.e('form-item'),
182
- onMouseDown: function onMouseDown(e) {
183
- return e.stopPropagation();
184
- },
185
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
186
- className: ns.e('form-label'),
187
- children: t('fmt_internalsetting_label_inputvolume')
188
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_slider.FcrSlider, {
189
- value: microphoneVolume,
190
- min: 0,
191
- max: 400,
192
- step: 1,
193
- onChange: setMicrophoneVolume,
194
- draggableDom: containerDom
195
- // disabled={setting.autoAdjustmentMicrophoneVolume}
196
- })]
197
180
  }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
198
181
  className: ns.em('checkbox-wrapper', 'bordered'),
199
182
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_checkbox.FcrCheckbox, {
@@ -34,6 +34,7 @@
34
34
  width: 100%;
35
35
  min-width: 580px;
36
36
  height: 100%;
37
+ cursor: default;
37
38
  }
38
39
 
39
40
  .fcr-device-settings__nav {
@@ -87,7 +87,7 @@ var SettingUIModule = exports.SettingUIModule = /*#__PURE__*/function (_UIModule
87
87
  _this.store.handleExitRoom();
88
88
  },
89
89
  onRoutingChanged: function onRoutingChanged() {
90
- _this.store.handleExitRoom();
90
+ _this.store.handleExitRoom(true);
91
91
  _this.store.handleJoinRoom();
92
92
  }
93
93
  });
@@ -184,7 +184,7 @@ var State = exports.State = (0, _mobxReact.observer)(function () {
184
184
  title: t('fmt_qualitystatistics_label_video'),
185
185
  data: videoData
186
186
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(DataCard, {
187
- title: t('fmt_screenshare_label_screenshare'),
187
+ title: t('fmt_screenshare_controlbar_security_list_participant_screenshare'),
188
188
  data: screenShareData
189
189
  })]
190
190
  })]
@@ -35,6 +35,7 @@ export declare abstract class SettingStoreBase implements FcrUIManagedObject {
35
35
  private _monitorObserver;
36
36
  private _roomObserver;
37
37
  private _streamObserver;
38
+ private _deviceProviderObserver;
38
39
  private _objectManager;
39
40
  private _interpreterRoomControlReaction;
40
41
  private _streamControl;
@@ -179,7 +180,7 @@ export declare abstract class SettingStoreBase implements FcrUIManagedObject {
179
180
  clearGetSystemInfoInterval(): void;
180
181
  changeMediaSetting(key: keyof typeof this._sharedSettingDataSource.media, value: any): void;
181
182
  handleJoinRoom(): void;
182
- handleExitRoom(): void;
183
+ handleExitRoom(isRoutingChange?: boolean): void;
183
184
  private _onNetworkStatsUpdated;
184
185
  private _onLocalAudioStatsUpdated;
185
186
  private _onRemoteAudioStatsUpdated;
@@ -190,9 +191,11 @@ export declare abstract class SettingStoreBase implements FcrUIManagedObject {
190
191
  private _onStreamsRemoved;
191
192
  private _onPerformanceUpdated;
192
193
  private _handleCameraChanged;
193
- private _handleCameraListUpdated;
194
194
  private _onAudioVolumeUpdated;
195
195
  private _preHandleSetting;
196
196
  private _setMeetingSettingsToLocalStorage;
197
+ private _handleSystemSelectedDeviceChanged;
198
+ private _showSystemSelectedDeviceChangedToast;
199
+ private _windows10UnsupportAirPods;
197
200
  }
198
201
  export declare const StoreContext: import("react").Context<SettingStoreBase>;
@@ -16,7 +16,6 @@ require("core-js/modules/es.object.define-properties.js");
16
16
  require("core-js/modules/es.object.define-property.js");
17
17
  require("core-js/modules/es.object.get-own-property-descriptor.js");
18
18
  require("core-js/modules/es.object.get-own-property-descriptors.js");
19
- require("core-js/modules/es.regexp.exec.js");
20
19
  require("core-js/modules/es.regexp.test.js");
21
20
  require("core-js/modules/es.regexp.to-string.js");
22
21
  require("core-js/modules/esnext.function.metadata.js");
@@ -41,6 +40,7 @@ require("core-js/modules/es.array.filter.js");
41
40
  require("core-js/modules/es.array.find.js");
42
41
  require("core-js/modules/es.array.for-each.js");
43
42
  require("core-js/modules/es.array.from.js");
43
+ require("core-js/modules/es.array.includes.js");
44
44
  require("core-js/modules/es.array.iterator.js");
45
45
  require("core-js/modules/es.array.map.js");
46
46
  require("core-js/modules/es.array.push.js");
@@ -54,7 +54,10 @@ require("core-js/modules/es.object.assign.js");
54
54
  require("core-js/modules/es.object.entries.js");
55
55
  require("core-js/modules/es.object.keys.js");
56
56
  require("core-js/modules/es.object.to-string.js");
57
+ require("core-js/modules/es.regexp.exec.js");
58
+ require("core-js/modules/es.string.includes.js");
57
59
  require("core-js/modules/es.string.iterator.js");
60
+ require("core-js/modules/es.string.replace.js");
58
61
  require("core-js/modules/es.weak-map.js");
59
62
  require("core-js/modules/esnext.iterator.constructor.js");
60
63
  require("core-js/modules/esnext.iterator.filter.js");
@@ -93,6 +96,7 @@ var _roomProvider = require("../../providers/room-provider/room-provider");
93
96
  var _type = require("./type");
94
97
  var _objectManager = require("../../object-manager");
95
98
  var _react = require("react");
99
+ var _env = require("agora-foundation/lib/utilities/env");
96
100
  var _SettingStoreBase;
97
101
  var _initProto, _init_loudestStreamVolumeLevel, _init_microphoneVolumeLevel, _init_isWifiConnected, _init_dialogConfig, _init_networkState, _init_performanceState, _init_localAudioStreamMap, _init_remoteAudioStreamMap, _init_localVideoStreamMap, _init_remoteVideoStreamMap, _init_systemMemorySize, _init_systemCpuDesc, _init_getSystemInfoTimer, _init_isHiddenStateTab, _setDialogConfigDecs, _setSettingDecs, _clearGetSystemInfoIntervalDecs, _changeMediaSettingDecs, _handleJoinRoomDecs, _handleExitRoomDecs, _onNetworkStatsUpdatedDecs, _onLocalAudioStatsUpdatedDecs, _onRemoteAudioStatsUpdatedDecs, _onLocalVideoStatsUpdatedDecs, _onRemoteVideoStatsUpdatedDecs, _onStreamsAddedDecs, _onStreamsUpdatedDecs, _onStreamsRemovedDecs, _onPerformanceUpdatedDecs, _onAudioVolumeUpdatedDecs, _preHandleSettingDecs, _setMeetingSettingsToLocalStorageDecs, _ref;
98
102
  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; } } }; }
@@ -161,7 +165,6 @@ var SettingStoreBase = exports.SettingStoreBase = /*#__PURE__*/function () {
161
165
  (0, _defineProperty2["default"])(this, "_disposers", []);
162
166
  (0, _defineProperty2["default"])(this, "_settingVideoOpened", false);
163
167
  (0, _defineProperty2["default"])(this, "_deviceStoreObserver", {
164
- onCameraListUpdated: this._handleCameraListUpdated,
165
168
  onCameraChanged: this._handleCameraChanged
166
169
  });
167
170
  (0, _defineProperty2["default"])(this, "_streamVolumeMap", new Map());
@@ -184,6 +187,9 @@ var SettingStoreBase = exports.SettingStoreBase = /*#__PURE__*/function () {
184
187
  onStreamsAdded: this._onStreamsAdded,
185
188
  onStreamVolumeIndicationUpdated: this._onAudioVolumeUpdated
186
189
  });
190
+ (0, _defineProperty2["default"])(this, "_deviceProviderObserver", {
191
+ onSystemSelectedDeviceChanged: this._handleSystemSelectedDeviceChanged
192
+ });
187
193
  (0, _defineProperty2["default"])(this, "_interpreterRoomControlReaction", null);
188
194
  (0, _defineProperty2["default"])(this, "_streamControl", null);
189
195
  _classPrivateFieldInitSpec(this, _A, _init_loudestStreamVolumeLevel(this, 0));
@@ -1079,10 +1085,23 @@ var SettingStoreBase = exports.SettingStoreBase = /*#__PURE__*/function () {
1079
1085
  this._interpreterRoomControlReaction = this._createInterpreterRoomControlReaction();
1080
1086
  this._disposers.push(this._interpreterRoomControlReaction);
1081
1087
  this.isHiddenStateTab = false;
1088
+ if (this._deviceProvider.followSystemSpeakerDevice) {
1089
+ this._showSystemSelectedDeviceChangedToast({
1090
+ deviceId: this._deviceProvider.currentDeviceId.speakerDeviceId,
1091
+ deviceName: this._deviceProvider.currentDeviceName.speakerDeviceName
1092
+ });
1093
+ }
1094
+ if (this._deviceProvider.followSystemMicrophoneDevice) {
1095
+ this._showSystemSelectedDeviceChangedToast({
1096
+ deviceId: this._deviceProvider.currentDeviceId.microphoneDeviceId,
1097
+ deviceName: this._deviceProvider.currentDeviceName.microphoneDeviceName
1098
+ });
1099
+ }
1100
+ this._deviceProvider.addObserver(this._deviceProviderObserver);
1082
1101
  }
1083
1102
  }, {
1084
1103
  key: "handleExitRoom",
1085
- value: function handleExitRoom() {
1104
+ value: function handleExitRoom(isRoutingChange) {
1086
1105
  var _this8 = this,
1087
1106
  _this$_streamControl,
1088
1107
  _this$_currentRoomCon3,
@@ -1097,10 +1116,13 @@ var SettingStoreBase = exports.SettingStoreBase = /*#__PURE__*/function () {
1097
1116
  (_this$_streamControl = this._streamControl) === null || _this$_streamControl === void 0 || _this$_streamControl.removeObserver(this._streamObserver);
1098
1117
  (_this$_currentRoomCon3 = this._currentRoomControl) === null || _this$_currentRoomCon3 === void 0 || _this$_currentRoomCon3.removeObserver(this._roomObserver);
1099
1118
  (_this$_interpreterRoo = this._interpreterRoomControl) === null || _this$_interpreterRoo === void 0 || _this$_interpreterRoo.removeObserver(this._roomObserver);
1100
- this._deviceProvider.resetDevice();
1119
+ if (!isRoutingChange) {
1120
+ this._deviceProvider.resetDevice();
1121
+ }
1101
1122
  this.isHiddenStateTab = true;
1102
1123
  this._currentRoomControl = undefined;
1103
1124
  this._interpreterRoomControl = undefined;
1125
+ this._deviceProvider.removeObserver(this._deviceProviderObserver);
1104
1126
  }
1105
1127
  }, {
1106
1128
  key: "_onNetworkStatsUpdated",
@@ -1235,27 +1257,6 @@ var SettingStoreBase = exports.SettingStoreBase = /*#__PURE__*/function () {
1235
1257
  this._deviceProvider.toggleLocalCameraPreview(true);
1236
1258
  }
1237
1259
  }
1238
- }, {
1239
- key: "_handleCameraListUpdated",
1240
- value: function () {
1241
- var _handleCameraListUpdated2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(cameraList) {
1242
- return _regenerator["default"].wrap(function (_context2) {
1243
- while (1) switch (_context2.prev = _context2.next) {
1244
- case 0:
1245
- if (cameraList.length > 0) {
1246
- this._settingVideoOpened && this._deviceProvider.startOrStopCamera(true);
1247
- }
1248
- case 1:
1249
- case "end":
1250
- return _context2.stop();
1251
- }
1252
- }, _callee2, this);
1253
- }));
1254
- function _handleCameraListUpdated(_x) {
1255
- return _handleCameraListUpdated2.apply(this, arguments);
1256
- }
1257
- return _handleCameraListUpdated;
1258
- }()
1259
1260
  }, {
1260
1261
  key: "_onAudioVolumeUpdated",
1261
1262
  value: function _onAudioVolumeUpdated(roomId, streamId, volume) {
@@ -1277,10 +1278,49 @@ var SettingStoreBase = exports.SettingStoreBase = /*#__PURE__*/function () {
1277
1278
  value: function _setMeetingSettingsToLocalStorage(value) {
1278
1279
  this._sharedSettingDataSource.setSetting(value);
1279
1280
  }
1281
+ }, {
1282
+ key: "_handleSystemSelectedDeviceChanged",
1283
+ value: function _handleSystemSelectedDeviceChanged(device) {
1284
+ this._showSystemSelectedDeviceChangedToast(device);
1285
+ }
1286
+ }, {
1287
+ key: "_showSystemSelectedDeviceChangedToast",
1288
+ value: function _showSystemSelectedDeviceChangedToast(defaultDevice) {
1289
+ var message = (0, _i18n.transI18n)('fmt_device_toast_switch_device');
1290
+ message = message.replace('{reason1}', defaultDevice.deviceName);
1291
+ this._messageProvider.showToast({
1292
+ type: 'normal',
1293
+ message: message
1294
+ });
1295
+ this._windows10UnsupportAirPods(defaultDevice);
1296
+ }
1297
+ }, {
1298
+ key: "_windows10UnsupportAirPods",
1299
+ value: function _windows10UnsupportAirPods(defaultDevice) {
1300
+ if (!(0, _env.isWindows)()) {
1301
+ return;
1302
+ }
1303
+ var version = (0, _env.windowsVersion)();
1304
+ if (!version) {
1305
+ return;
1306
+ }
1307
+ version = version.split('.')[0];
1308
+ if (version !== '10') {
1309
+ return;
1310
+ }
1311
+ if (!defaultDevice.deviceName.includes('AirPods')) {
1312
+ return;
1313
+ }
1314
+ var message = "windows 10 maybe not support ".concat(defaultDevice.deviceName);
1315
+ this._messageProvider.showToast({
1316
+ type: 'warn',
1317
+ message: message
1318
+ });
1319
+ }
1280
1320
  }]);
1281
1321
  }();
1282
1322
  _SettingStoreBase = SettingStoreBase;
1283
- var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_SettingStoreBase, [[_mobx.observable, 1, "loudestStreamVolumeLevel"], [_mobx.observable, 1, "microphoneVolumeLevel"], [_mobx.observable, 1, "isWifiConnected"], [_mobx.observable, 1, "dialogConfig"], [_mobx.observable, 1, "networkState"], [_mobx.observable, 1, "performanceState"], [_mobx.observable, 1, "localAudioStreamMap"], [_mobx.observable, 1, "remoteAudioStreamMap"], [_mobx.observable, 1, "localVideoStreamMap"], [_mobx.observable, 1, "remoteVideoStreamMap"], [_mobx.observable, 1, "systemMemorySize"], [_mobx.observable, 1, "systemCpuDesc"], [_mobx.observable, 1, "getSystemInfoTimer"], [_mobx.observable, 1, "isHiddenStateTab"], [_mobx.computed, 3, "maxVideoSendInfo"], [_mobx.computed, 3, "maxVideoReceiveInfo"], [_mobx.computed, 3, "sendScreenShareInfo"], [_mobx.computed, 3, "receiveScreenShareInfo"], [_mobx.computed, 3, "microphoneVolumeDb"], [_mobx.computed, 3, "speakerVolumeDb"], [_mobx.computed, 3, "speakerTestVolumeLevel"], [_mobx.computed, 3, "microphoneTestVolumeLevel"], [_mobx.computed, 3, "speakerVolume"], [_mobx.computed, 3, "microphoneVolume"], [_mobx.computed, 3, "isLocalMirrorEnabled"], [_mobx.computed, 3, "isLocalEditBeautyOptions"], [_mobx.computed, 3, "currentBeautyKey"], [_mobx.computed, 3, "beautyOptions"], [_mobx.computed, 3, "cameraDeviceId"], [_mobx.computed, 3, "cameraEnabled"], [_mobx.computed, 3, "showForceOpenEffectDialog"], [_mobx.computed, 3, "currentVirtualBackgroundName"], [_mobx.computed, 3, "cameraDeviceList"], [_mobx.computed, 3, "microphoneDeviceId"], [_mobx.computed, 3, "speakerDeviceId"], [_mobx.computed, 3, "speakerDeviceList"], [_mobx.computed, 3, "microphoneDeviceList"], [_mobx.computed, 3, "enableBeauty"], [_mobx.computed, 3, "virtualBackgroundList"], [_mobx.computed, 3, "currentIsMirror"], [_mobx.computed, 3, "microphoneDetecting"], [_mobx.computed, 3, "speakerDetecting"], [_mobx.computed, 3, "setting"], [_mobx.computed, 3, "media"], [_mobx.computed, 3, "sceneConfig"], [_mobx.computed, 3, "sharedInterpreterDataSource"], [_mobx.computed, 3, "currentRoomControl"], [_mobx.computed, 3, "interpreterRoomControl"], [_decorator.bound, 2, "_syncSystemInfo"], [_decorator.bound, 2, "initSettingConfig"], [_decorator.bound, 2, "enableVirtualBackground"], [_decorator.bound, 2, "setEditBeautyKey"], [_decorator.bound, 2, "enableBeautyEffect"], [_decorator.bound, 2, "_initReactions"], [_decorator.bound, 2, "setCameraDevice"], [_decorator.bound, 2, "setMicrophoneDevice"], [_decorator.bound, 2, "stopSpeakerTest"], [_decorator.bound, 2, "startSpeakerTest"], [_decorator.bound, 2, "setSpeakerDevice"], [_decorator.bound, 2, "setSpeakerVolume"], [_decorator.bound, 2, "setMicrophoneVolume"], [_decorator.bound, 2, "setVideoOrientation"], [_decorator.bound, 2, "setBeautyOptions"], [_decorator.bound, 2, "toggleLocalMirrorPreview"], [_decorator.bound, 2, "startVideo"], [_decorator.bound, 2, "stopVideo"], [_decorator.bound, 2, "handleForceOpenVideoEffect"], [_decorator.bound, 2, "handleCancelForceOpenVideoEffect"], [_decorator.bound, 2, "toggleLocalMirror"], [_decorator.bound, 2, "setSettingVideoOpened"], [_decorator.bound, 2, "startCameraTest"], [_decorator.bound, 2, "stopCameraTest"], [_decorator.bound, 2, "startMicrophoneTest"], [_decorator.bound, 2, "stopMicrophoneTest"], [_setDialogConfigDecs, 18, "setDialogConfig"], [_setSettingDecs, 18, "setSetting"], [_clearGetSystemInfoIntervalDecs, 18, "clearGetSystemInfoInterval"], [_changeMediaSettingDecs, 18, "changeMediaSetting"], [_handleJoinRoomDecs, 18, "handleJoinRoom"], [_handleExitRoomDecs, 18, "handleExitRoom"], [_onNetworkStatsUpdatedDecs, 18, "_onNetworkStatsUpdated"], [_onLocalAudioStatsUpdatedDecs, 18, "_onLocalAudioStatsUpdated"], [_onRemoteAudioStatsUpdatedDecs, 18, "_onRemoteAudioStatsUpdated"], [_onLocalVideoStatsUpdatedDecs, 18, "_onLocalVideoStatsUpdated"], [_onRemoteVideoStatsUpdatedDecs, 18, "_onRemoteVideoStatsUpdated"], [_onStreamsAddedDecs, 18, "_onStreamsAdded"], [_onStreamsUpdatedDecs, 18, "_onStreamsUpdated"], [_onStreamsRemovedDecs, 18, "_onStreamsRemoved"], [_onPerformanceUpdatedDecs, 18, "_onPerformanceUpdated"], [_decorator.bound, 2, "_handleCameraChanged"], [_decorator.bound, 2, "_handleCameraListUpdated"], [_onAudioVolumeUpdatedDecs, 18, "_onAudioVolumeUpdated"], [_preHandleSettingDecs, 18, "_preHandleSetting"], [_setMeetingSettingsToLocalStorageDecs, 18, "_setMeetingSettingsToLocalStorage"]], []).e, 15);
1323
+ var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_SettingStoreBase, [[_mobx.observable, 1, "loudestStreamVolumeLevel"], [_mobx.observable, 1, "microphoneVolumeLevel"], [_mobx.observable, 1, "isWifiConnected"], [_mobx.observable, 1, "dialogConfig"], [_mobx.observable, 1, "networkState"], [_mobx.observable, 1, "performanceState"], [_mobx.observable, 1, "localAudioStreamMap"], [_mobx.observable, 1, "remoteAudioStreamMap"], [_mobx.observable, 1, "localVideoStreamMap"], [_mobx.observable, 1, "remoteVideoStreamMap"], [_mobx.observable, 1, "systemMemorySize"], [_mobx.observable, 1, "systemCpuDesc"], [_mobx.observable, 1, "getSystemInfoTimer"], [_mobx.observable, 1, "isHiddenStateTab"], [_mobx.computed, 3, "maxVideoSendInfo"], [_mobx.computed, 3, "maxVideoReceiveInfo"], [_mobx.computed, 3, "sendScreenShareInfo"], [_mobx.computed, 3, "receiveScreenShareInfo"], [_mobx.computed, 3, "microphoneVolumeDb"], [_mobx.computed, 3, "speakerVolumeDb"], [_mobx.computed, 3, "speakerTestVolumeLevel"], [_mobx.computed, 3, "microphoneTestVolumeLevel"], [_mobx.computed, 3, "speakerVolume"], [_mobx.computed, 3, "microphoneVolume"], [_mobx.computed, 3, "isLocalMirrorEnabled"], [_mobx.computed, 3, "isLocalEditBeautyOptions"], [_mobx.computed, 3, "currentBeautyKey"], [_mobx.computed, 3, "beautyOptions"], [_mobx.computed, 3, "cameraDeviceId"], [_mobx.computed, 3, "cameraEnabled"], [_mobx.computed, 3, "showForceOpenEffectDialog"], [_mobx.computed, 3, "currentVirtualBackgroundName"], [_mobx.computed, 3, "cameraDeviceList"], [_mobx.computed, 3, "microphoneDeviceId"], [_mobx.computed, 3, "speakerDeviceId"], [_mobx.computed, 3, "speakerDeviceList"], [_mobx.computed, 3, "microphoneDeviceList"], [_mobx.computed, 3, "enableBeauty"], [_mobx.computed, 3, "virtualBackgroundList"], [_mobx.computed, 3, "currentIsMirror"], [_mobx.computed, 3, "microphoneDetecting"], [_mobx.computed, 3, "speakerDetecting"], [_mobx.computed, 3, "setting"], [_mobx.computed, 3, "media"], [_mobx.computed, 3, "sceneConfig"], [_mobx.computed, 3, "sharedInterpreterDataSource"], [_mobx.computed, 3, "currentRoomControl"], [_mobx.computed, 3, "interpreterRoomControl"], [_decorator.bound, 2, "_syncSystemInfo"], [_decorator.bound, 2, "initSettingConfig"], [_decorator.bound, 2, "enableVirtualBackground"], [_decorator.bound, 2, "setEditBeautyKey"], [_decorator.bound, 2, "enableBeautyEffect"], [_decorator.bound, 2, "_initReactions"], [_decorator.bound, 2, "setCameraDevice"], [_decorator.bound, 2, "setMicrophoneDevice"], [_decorator.bound, 2, "stopSpeakerTest"], [_decorator.bound, 2, "startSpeakerTest"], [_decorator.bound, 2, "setSpeakerDevice"], [_decorator.bound, 2, "setSpeakerVolume"], [_decorator.bound, 2, "setMicrophoneVolume"], [_decorator.bound, 2, "setVideoOrientation"], [_decorator.bound, 2, "setBeautyOptions"], [_decorator.bound, 2, "toggleLocalMirrorPreview"], [_decorator.bound, 2, "startVideo"], [_decorator.bound, 2, "stopVideo"], [_decorator.bound, 2, "handleForceOpenVideoEffect"], [_decorator.bound, 2, "handleCancelForceOpenVideoEffect"], [_decorator.bound, 2, "toggleLocalMirror"], [_decorator.bound, 2, "setSettingVideoOpened"], [_decorator.bound, 2, "startCameraTest"], [_decorator.bound, 2, "stopCameraTest"], [_decorator.bound, 2, "startMicrophoneTest"], [_decorator.bound, 2, "stopMicrophoneTest"], [_setDialogConfigDecs, 18, "setDialogConfig"], [_setSettingDecs, 18, "setSetting"], [_clearGetSystemInfoIntervalDecs, 18, "clearGetSystemInfoInterval"], [_changeMediaSettingDecs, 18, "changeMediaSetting"], [_handleJoinRoomDecs, 18, "handleJoinRoom"], [_handleExitRoomDecs, 18, "handleExitRoom"], [_onNetworkStatsUpdatedDecs, 18, "_onNetworkStatsUpdated"], [_onLocalAudioStatsUpdatedDecs, 18, "_onLocalAudioStatsUpdated"], [_onRemoteAudioStatsUpdatedDecs, 18, "_onRemoteAudioStatsUpdated"], [_onLocalVideoStatsUpdatedDecs, 18, "_onLocalVideoStatsUpdated"], [_onRemoteVideoStatsUpdatedDecs, 18, "_onRemoteVideoStatsUpdated"], [_onStreamsAddedDecs, 18, "_onStreamsAdded"], [_onStreamsUpdatedDecs, 18, "_onStreamsUpdated"], [_onStreamsRemovedDecs, 18, "_onStreamsRemoved"], [_onPerformanceUpdatedDecs, 18, "_onPerformanceUpdated"], [_decorator.bound, 2, "_handleCameraChanged"], [_onAudioVolumeUpdatedDecs, 18, "_onAudioVolumeUpdated"], [_preHandleSettingDecs, 18, "_preHandleSetting"], [_setMeetingSettingsToLocalStorageDecs, 18, "_setMeetingSettingsToLocalStorage"], [_decorator.bound, 2, "_handleSystemSelectedDeviceChanged"]], []).e, 15);
1284
1324
  _init_loudestStreamVolumeLevel = _applyDecs$e[0];
1285
1325
  _init_microphoneVolumeLevel = _applyDecs$e[1];
1286
1326
  _init_isWifiConnected = _applyDecs$e[2];
@@ -111,6 +111,9 @@ var DeviceSettingsView = exports.DeviceSettingsView = (0, _mobxReact.observer)(f
111
111
  }];
112
112
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
113
113
  className: ns.b(),
114
+ onMouseDown: function onMouseDown(e) {
115
+ return e.stopPropagation();
116
+ },
114
117
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
115
118
  className: ns.e('nav'),
116
119
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("ul", {
@@ -31,6 +31,10 @@
31
31
  -webkit-app-region: no-drag;
32
32
  }
33
33
 
34
+ .share-selection-window__share-content::--webkit-scrollbar {
35
+ display: none;
36
+ }
37
+
34
38
  .share-selection-window__header {
35
39
  height: 46px;
36
40
  }
@@ -108,6 +108,9 @@ var ShareScreenStoreBase = exports["default"] = /*#__PURE__*/function () {
108
108
  (0, _defineProperty2["default"])(this, "_dom", null);
109
109
  (0, _defineProperty2["default"])(this, "_asyncLock", false);
110
110
  (0, _defineProperty2["default"])(this, "_screenShareObserver", {
111
+ onPrepreScreenCapture: function onPrepreScreenCapture() {
112
+ _this.dialogProvider.setSharingDisplayBounds(_this.screenShareProvider.sharingDisplayBounds);
113
+ },
111
114
  onScreenShareStarted: function onScreenShareStarted() {
112
115
  (0, _mobx.runInAction)(function () {
113
116
  _this.isSharing = true;
@@ -117,6 +120,7 @@ var ShareScreenStoreBase = exports["default"] = /*#__PURE__*/function () {
117
120
  (0, _mobx.runInAction)(function () {
118
121
  _this.isSharing = false;
119
122
  });
123
+ _this.dialogProvider.setSharingDisplayBounds(null);
120
124
  if (reason === _struct.FcrUIScreenShareStopReason.STOPPED_BY_OTHER) {
121
125
  _this.messageProvider.showToast({
122
126
  type: 'info',
@@ -125,6 +129,9 @@ var ShareScreenStoreBase = exports["default"] = /*#__PURE__*/function () {
125
129
  _this._replaceShareConfirmDialog(operator);
126
130
  }
127
131
  },
132
+ onShareSourceReplaced: function onShareSourceReplaced() {
133
+ _this.dialogProvider.setSharingDisplayBounds(_this.screenShareProvider.sharingDisplayBounds);
134
+ },
128
135
  onScreenShareErrorOccurred: function onScreenShareErrorOccurred(code) {
129
136
  if (code === _struct.FcrUIScreenShareErrorCode.NETWORK_DISCONNECTED) {
130
137
  if (!_this.facilityProvider.isNetworkConnected) {
@@ -311,7 +318,7 @@ var ShareScreenStoreBase = exports["default"] = /*#__PURE__*/function () {
311
318
  key: "startShareScreen",
312
319
  value: function () {
313
320
  var _startShareScreen = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
314
- var params, captureType, videoSourceId;
321
+ var params, captureType, videoSourceId, _t;
315
322
  return _regenerator["default"].wrap(function (_context2) {
316
323
  while (1) switch (_context2.prev = _context2.next) {
317
324
  case 0:
@@ -373,15 +380,21 @@ var ShareScreenStoreBase = exports["default"] = /*#__PURE__*/function () {
373
380
  });
374
381
  case 6:
375
382
  this.dialogProvider.closeDialog(_constant.FcrUIDialogKey.SHARE_SCREEN_SELECTION);
383
+ _context2.next = 8;
384
+ break;
376
385
  case 7:
377
386
  _context2.prev = 7;
378
- this._asyncLock = false;
379
- return _context2.finish(7);
387
+ _t = _context2["catch"](2);
388
+ this.screenShareProvider.stopShare();
380
389
  case 8:
390
+ _context2.prev = 8;
391
+ this._asyncLock = false;
392
+ return _context2.finish(8);
393
+ case 9:
381
394
  case "end":
382
395
  return _context2.stop();
383
396
  }
384
- }, _callee2, this, [[2,, 7, 8]]);
397
+ }, _callee2, this, [[2, 7, 8, 9]]);
385
398
  }));
386
399
  function startShareScreen() {
387
400
  return _startShareScreen.apply(this, arguments);
@@ -170,7 +170,10 @@ var ElectronShareScreenStore = exports["default"] = /*#__PURE__*/function (_Shar
170
170
  } else {
171
171
  controlBarWindow = this._windowProvider.getWindowById(_constant.FcrUIDialogKey.SHARE_SCREEN_CONTROL_BAR);
172
172
  }
173
- controlBarWindow.setBounds(sharingDisplayBounds);
173
+
174
+ // 不在这里控制,在control bar模块中控制
175
+ // controlBarWindow.setBounds(sharingDisplayBounds);
176
+
174
177
  if (!isMultiDisplayActive) {
175
178
  var videoWindow = this._windowProvider.getWindowById(_constant.FcrUIDialogKey.VIDEO_WINDOW);
176
179
  (0, _videoWindow.setVideoWindowDialogPosition)(sharingDisplayBounds, videoWindow);
@@ -1,17 +1,9 @@
1
- import { FcrVideoWindowPreviewType } from './type';
2
1
  /**
3
2
  * popoverWatcher 监听 popover 的出现和消失,并通过回调通知外部如何调整窗口
4
3
  *
5
4
  */
6
- export declare function usePopoverWatcher({ rootDom, type, callbacks, }: {
5
+ export declare function usePopoverWatcher({ rootDom, setVideoWindowSize, resetVideoWindowSize, }: {
7
6
  rootDom: HTMLElement | null;
8
- type: FcrVideoWindowPreviewType;
9
- callbacks: {
10
- onResize: (size: {
11
- width: number;
12
- height: number;
13
- }) => void;
14
- onResetSize: () => void;
15
- onSetResizable: (resizable: boolean) => void;
16
- };
7
+ setVideoWindowSize: (width: number, height: number) => void;
8
+ resetVideoWindowSize: () => void;
17
9
  }): void;
@@ -5,66 +5,56 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.usePopoverWatcher = usePopoverWatcher;
8
- require("core-js/modules/es.array.concat.js");
9
8
  require("core-js/modules/es.array.for-each.js");
10
9
  require("core-js/modules/es.object.to-string.js");
11
10
  require("core-js/modules/esnext.iterator.constructor.js");
12
11
  require("core-js/modules/esnext.iterator.for-each.js");
13
12
  require("core-js/modules/web.dom-collections.for-each.js");
14
13
  var _react = require("react");
15
- var _type = require("./type");
14
+ var HEAD_HEIGHT_OFFSET = 150;
15
+ var WIDTH_RIGHT_OFFSET = 30;
16
+
16
17
  /**
17
18
  * popoverWatcher 监听 popover 的出现和消失,并通过回调通知外部如何调整窗口
18
19
  *
19
20
  */
20
21
  function usePopoverWatcher(_ref) {
21
22
  var rootDom = _ref.rootDom,
22
- type = _ref.type,
23
- callbacks = _ref.callbacks;
23
+ setVideoWindowSize = _ref.setVideoWindowSize,
24
+ resetVideoWindowSize = _ref.resetVideoWindowSize;
24
25
  (0, _react.useEffect)(function () {
25
26
  if (rootDom === null) return;
26
- var HEAD_HEIGHT_OFFSET = 150;
27
- var WIDTH_RIGHT_OFFSET = 30;
27
+ var dialogWrapper = rootDom;
28
+ var body = dialogWrapper.ownerDocument.body;
29
+ var popoverClassName = 'fcr-popover';
28
30
  var observer = new MutationObserver(function (mutationsList) {
29
- var popover = rootDom.querySelector('.fcr-popover');
30
- var wrapper = rootDom.querySelector('.fcr-video-window-dialog-wrapper');
31
+ var popover = body.querySelector(".".concat(popoverClassName));
31
32
  mutationsList.forEach(function (mutation) {
32
33
  if (mutation.type === 'childList') {
33
- mutation.addedNodes.forEach(function (node) {
34
- if (node.nodeType === Node.ELEMENT_NODE && node.contains(popover)) {
35
- if (popover && wrapper) {
36
- var wrapperHeight = wrapper.offsetHeight,
37
- wrapperWidth = wrapper.offsetWidth;
38
- var popoverHeight = popover.offsetHeight,
39
- popoverWidth = popover.offsetWidth;
40
- // 通过回调通知外部调整窗口尺寸
41
- callbacks.onResize({
42
- height: Math.max(wrapperHeight, popoverHeight + HEAD_HEIGHT_OFFSET),
43
- width: wrapperWidth + popoverWidth - WIDTH_RIGHT_OFFSET
44
- });
45
- var rect = wrapper.getBoundingClientRect();
46
- wrapper.setAttribute('style', "height: ".concat(rect.height, "px;width: ").concat(rect.width, "px"));
47
- }
34
+ mutation.removedNodes.forEach(function (node) {
35
+ if (node.nodeType === Node.ELEMENT_NODE && node.classList.contains(popoverClassName)) {
36
+ resetVideoWindowSize();
48
37
  }
49
38
  });
50
- mutation.removedNodes.forEach(function (node) {
51
- var _classList;
52
- if ((_classList = node.classList) !== null && _classList !== void 0 && _classList.contains('fcr-popover')) {
53
- callbacks.onResetSize();
54
- if (type === _type.FcrVideoWindowPreviewType.SMALL) {
55
- callbacks.onSetResizable(true);
56
- }
39
+ if (!popover) {
40
+ return;
41
+ }
42
+ mutation.addedNodes.forEach(function (node) {
43
+ if (node.nodeType === Node.ELEMENT_NODE && node.contains(popover)) {
44
+ var width = popover.offsetWidth + dialogWrapper.offsetWidth - WIDTH_RIGHT_OFFSET;
45
+ var height = Math.max(popover.offsetHeight + HEAD_HEIGHT_OFFSET, dialogWrapper.offsetHeight);
46
+ setVideoWindowSize(width, height);
57
47
  }
58
48
  });
59
49
  }
60
50
  });
61
51
  });
62
- observer.observe(rootDom, {
52
+ observer.observe(dialogWrapper.ownerDocument.body, {
63
53
  childList: true,
64
54
  subtree: true
65
55
  });
66
56
  return function () {
67
57
  observer.disconnect();
68
58
  };
69
- }, [rootDom, type, callbacks]);
59
+ }, [rootDom]);
70
60
  }
@@ -19,7 +19,9 @@ export default class VideoWindowStore {
19
19
  private _dialogProvider;
20
20
  private _videoRenderContext;
21
21
  private _dialogObserver;
22
- private _sharedVideoWindowDataSourceObserver;
22
+ private _windowOpened;
23
+ private _isWindowApiResize;
24
+ private accessor _videoWindowSmallTypeStyleSize;
23
25
  accessor userVolumeMap: Map<string, number>;
24
26
  accessor wrapperHovering: boolean;
25
27
  accessor videoWindowPreviewType: FcrVideoWindowPreviewType;
@@ -33,10 +35,13 @@ export default class VideoWindowStore {
33
35
  get hasPinnedStream(): boolean;
34
36
  get interpreterUserList(): import("fcr-core/lib/room-control/interpreter-control/types").FcrInterpreterUserInfo[] | null;
35
37
  get isInterpreterEnabled(): boolean;
36
- get shouldHaveListView(): boolean;
37
38
  get localUserRole(): FcrUserRole;
38
39
  get deviceMicrophoneEnabled(): boolean;
39
40
  get deviceCameraEnabled(): boolean;
41
+ get videoWindowStyleSize(): {
42
+ width: number;
43
+ height: number;
44
+ };
40
45
  constructor({ objectManager }: VideoWindowStoreArgs);
41
46
  setVideoOrientation(): void;
42
47
  release(): void;
@@ -53,9 +58,14 @@ export default class VideoWindowStore {
53
58
  setVideoWindowPreviewType(type: FcrVideoWindowPreviewType): void;
54
59
  setWrapperHover(hover: boolean): void;
55
60
  getAllowedOperations(targetRole: FcrUserRole, isSelf: boolean): string[];
56
- private _updateWindowProperties;
61
+ handleVideowWindowResize(size: {
62
+ width: number;
63
+ height: number;
64
+ }): void;
65
+ setVideoWindowSize(width: number, height: number): void;
66
+ resetVideoWindowSize(): void;
57
67
  private _onAudioVolumeUpdated;
58
- private _handleFoldListUpdated;
59
- private _handleDialogSwitch;
68
+ private _handleDialogOpen;
69
+ private _handleDialogClose;
60
70
  }
61
71
  export declare const StoreContext: import("react").Context<VideoWindowStore>;