fcr-ui-scene 3.8.1-beta → 3.8.1

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 (226) hide show
  1. package/lib/base.js +2 -2
  2. package/lib/creator/provider-initializer.browser.js +8 -7
  3. package/lib/creator/provider-initializer.electron.js +8 -8
  4. package/lib/electron/asar-validation.d.ts +12 -0
  5. package/lib/electron/asar-validation.js +115 -0
  6. package/lib/electron/bootstrap-sdk.js +20 -12
  7. package/lib/electron/default-options.js +2 -1
  8. package/lib/electron/env.d.ts +1 -0
  9. package/lib/electron/env.js +6 -4
  10. package/lib/electron/exit-codes.js +11 -11
  11. package/lib/electron/hang-detection/manager.js +4 -4
  12. package/lib/electron/ipc-protocol.js +12 -12
  13. package/lib/electron/process-manager/event-manager.js +30 -30
  14. package/lib/electron/process-manager/index.js +88 -88
  15. package/lib/electron/process-manager/state-manager.js +57 -57
  16. package/lib/electron/process-manager/types.js +16 -16
  17. package/lib/electron/sdk-helper.js +3 -3
  18. package/lib/electron/window-proxy/browser-window-proxy.js +13 -13
  19. package/lib/electron/window-proxy/main-process-handler.js +14 -14
  20. package/lib/fragments/annotation/style.css +9 -9
  21. package/lib/fragments/annotation/toolbar/components/item/style.css +45 -45
  22. package/lib/fragments/annotation/toolbar/components/panel/style.css +24 -24
  23. package/lib/fragments/annotation/toolbar/components/tips/style.css +19 -19
  24. package/lib/fragments/annotation/toolbar/style.css +55 -55
  25. package/lib/fragments/whiteboard/cursor.css +77 -77
  26. package/lib/fragments/whiteboard/style.css +4 -4
  27. package/lib/global.css +62 -62
  28. package/lib/global.d.ts +27 -27
  29. package/lib/index.js +9 -1
  30. package/lib/modules/action-bar/components/chat/index.css +88 -88
  31. package/lib/modules/action-bar/components/more/index.css +114 -114
  32. package/lib/modules/action-bar/components/notification-bar/components/interpreter/index.css +58 -58
  33. package/lib/modules/action-bar/components/notification-bar/components/virtual-image/index.css +56 -56
  34. package/lib/modules/action-bar/components/notification-bar/index.css +74 -74
  35. package/lib/modules/action-bar/components/participants/index.css +21 -21
  36. package/lib/modules/action-bar/components/record/index.css +39 -39
  37. package/lib/modules/action-bar/components/trigger-output-language/index.css +86 -86
  38. package/lib/modules/action-bar/components/trigger-subscribe-language/guide-tooltip/index.css +22 -22
  39. package/lib/modules/action-bar/index.css +358 -358
  40. package/lib/modules/action-bar/main-scene/store.base.d.ts +3 -2
  41. package/lib/modules/action-bar/main-scene/store.base.js +29 -57
  42. package/lib/modules/action-bar/main-scene/view.js +3 -3
  43. package/lib/modules/audio-stream/index.js +3 -3
  44. package/lib/modules/caption/draggable-container/index.css +10 -10
  45. package/lib/modules/caption/view.css +158 -158
  46. package/lib/modules/chat/components/chat-bar/index.css +89 -89
  47. package/lib/modules/chat/components/chat-select/index.css +185 -185
  48. package/lib/modules/chat/index.css +124 -124
  49. package/lib/modules/components/apps/app-item/index.css +49 -49
  50. package/lib/modules/components/apps/index.css +9 -9
  51. package/lib/modules/components/caption-menu/index.css +58 -58
  52. package/lib/modules/components/caption-menu/steps/index.css +73 -73
  53. package/lib/modules/components/control-bar/components/loading/index.css +76 -76
  54. package/lib/modules/components/control-bar/components/progress/style.css +51 -51
  55. package/lib/modules/components/control-bar/components/switch-theme/index.css +101 -101
  56. package/lib/modules/components/control-bar/index.css +99 -99
  57. package/lib/modules/components/device-control/index.css +177 -177
  58. package/lib/modules/components/leave-meeting/components/index.css +151 -151
  59. package/lib/modules/components/leave-meeting/style.css +9 -9
  60. package/lib/modules/components/member-window/components/member-actions/store.js +22 -22
  61. package/lib/modules/components/member-window/index.css +502 -502
  62. package/lib/modules/components/security-menu/index.css +42 -42
  63. package/lib/modules/components/tab-frame/index.css +40 -40
  64. package/lib/modules/components/toolbar/components/item/style.css +94 -94
  65. package/lib/modules/components/toolbar/components/panel/style.css +86 -86
  66. package/lib/modules/components/toolbar/style.css +85 -85
  67. package/lib/modules/connection-gateway/components/computer/index.css +12 -12
  68. package/lib/modules/connection-gateway/components/phone/components/callinfo/index.css +36 -36
  69. package/lib/modules/connection-gateway/components/phone/components/calling/index.css +72 -72
  70. package/lib/modules/connection-gateway/components/phone/components/remeber/index.css +10 -10
  71. package/lib/modules/connection-gateway/components/phone/components/useing/index.css +46 -46
  72. package/lib/modules/connection-gateway/components/phone/index.css +49 -49
  73. package/lib/modules/connection-gateway/index.css +6 -6
  74. package/lib/modules/control-bar/components/meeting-details/index.css +133 -133
  75. package/lib/modules/control-bar/components/more-actions/index.css +103 -103
  76. package/lib/modules/control-bar/components/share-audio/index.css +90 -90
  77. package/lib/modules/control-bar/components/share-state-nav/index.css +79 -79
  78. package/lib/modules/control-bar/index.css +340 -340
  79. package/lib/modules/control-bar/index.js +4 -4
  80. package/lib/modules/device-pretest/index.css +123 -123
  81. package/lib/modules/dialog/components/confirm/index.css +24 -24
  82. package/lib/modules/dialog/components/dialog-container/index.css +112 -112
  83. package/lib/modules/dialog/dialogs/confirm/index.css +24 -24
  84. package/lib/modules/dialog/dialogs/connection-gateway/tabs.d.ts +1 -0
  85. package/lib/modules/dialog/dialogs/connection-gateway/tabs.js +27 -14
  86. package/lib/modules/dialog/dialogs/device-setting/index.css +26 -26
  87. package/lib/modules/dialog/dialogs/interpreter/index.css +30 -30
  88. package/lib/modules/dialog/dialogs/mute-all/index.css +20 -20
  89. package/lib/modules/dialog/dialogs/system-preference/index.css +52 -52
  90. package/lib/modules/dialog/dialogs/widget/index.js +4 -4
  91. package/lib/modules/dialog/index.css +56 -56
  92. package/lib/modules/event-toast/index.css +25 -25
  93. package/lib/modules/interpreter/action/add-btn/index.css +4 -4
  94. package/lib/modules/interpreter/action/delete-btn/index.css +14 -14
  95. package/lib/modules/interpreter/action/switch-btn/index.css +3 -3
  96. package/lib/modules/interpreter/dialog-content/index.css +33 -33
  97. package/lib/modules/interpreter/footer/index.css +11 -11
  98. package/lib/modules/interpreter/index.css +4 -4
  99. package/lib/modules/interpreter/interpreter-list/index.css +8 -8
  100. package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/index.css +46 -46
  101. package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-user/index.css +46 -46
  102. package/lib/modules/interpreter/interpreter-list/interpreter-item/index.css +32 -32
  103. package/lib/modules/interpreter/loading-wrapper/index.css +53 -53
  104. package/lib/modules/invite/components/pstn-invite.js +1 -1
  105. package/lib/modules/invite/components/voip-invite.css +26 -26
  106. package/lib/modules/invite/index.css +331 -331
  107. package/lib/modules/layout/components/CommonVideoRenderer.js +4 -4
  108. package/lib/modules/layout/components/index.css +653 -653
  109. package/lib/modules/layout/index.css +59 -59
  110. package/lib/modules/layout/store.base.js +5 -5
  111. package/lib/modules/layout/type.js +5 -5
  112. package/lib/modules/notification/index.css +77 -77
  113. package/lib/modules/notification/interpreter-status/index.css +76 -76
  114. package/lib/modules/participant/components/confirm-input/index.css +4 -4
  115. package/lib/modules/participant/components/participants/components/footer/components/drop-menu/index.css +83 -83
  116. package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.css +87 -87
  117. package/lib/modules/participant/index.css +102 -102
  118. package/lib/modules/participant/store.base.js +175 -175
  119. package/lib/modules/pc-audio-connect/index.css +12 -12
  120. package/lib/modules/pc-audio-connect/main-scene/index.d.ts +2 -1
  121. package/lib/modules/pc-audio-connect/main-scene/index.js +5 -4
  122. package/lib/modules/pc-audio-connect/main-scene/store.d.ts +3 -0
  123. package/lib/modules/pc-audio-connect/main-scene/store.js +44 -7
  124. package/lib/modules/phone-audio-connect/components/callinfo/index.css +36 -36
  125. package/lib/modules/phone-audio-connect/components/calling/index.css +72 -72
  126. package/lib/modules/phone-audio-connect/components/remeber/index.css +10 -10
  127. package/lib/modules/phone-audio-connect/components/useing/index.css +46 -46
  128. package/lib/modules/phone-audio-connect/index.css +56 -56
  129. package/lib/modules/secondary-window/store.js +7 -7
  130. package/lib/modules/setting/audio-settings/index.css +195 -195
  131. package/lib/modules/setting/audio-whiteList/audio-device-adaptation.js +14 -14
  132. package/lib/modules/setting/audio-whiteList/audio-whiteList-manager.js +6 -6
  133. package/lib/modules/setting/caption_and_transcribing/index.css +88 -88
  134. package/lib/modules/setting/general-settings/index.css +41 -41
  135. package/lib/modules/setting/index.css +112 -112
  136. package/lib/modules/setting/minutes-settings/index.css +65 -65
  137. package/lib/modules/setting/state/index.css +207 -207
  138. package/lib/modules/setting/storage-settings/index.css +91 -91
  139. package/lib/modules/setting/translate-settings/index.css +47 -47
  140. package/lib/modules/setting/video-settings/index.css +357 -357
  141. package/lib/modules/share-screen/components/control-bar/index.css +75 -75
  142. package/lib/modules/share-screen/components/selection/index.css +73 -73
  143. package/lib/modules/share-screen/components/share-state-bar/index.css +76 -76
  144. package/lib/modules/share-screen/index.js +10 -10
  145. package/lib/modules/share-screen/store.base.js +2 -2
  146. package/lib/modules/state-bar/assets/fcr_grid_big.svg +3 -3
  147. package/lib/modules/state-bar/assets/fcr_listontop_big.svg +3 -3
  148. package/lib/modules/state-bar/index.css +706 -706
  149. package/lib/modules/state-bar/main-scene/store.base.js +2 -2
  150. package/lib/modules/state-bar/meeting-detail.css +137 -137
  151. package/lib/modules/state-bar/meeting-network-state.css +150 -150
  152. package/lib/modules/state-bar/waiting-scene/store.base.js +2 -2
  153. package/lib/modules/subtitles-history/components/settings/index.css +5 -5
  154. package/lib/modules/subtitles-history/index.css +129 -129
  155. package/lib/modules/video-window/components/members/index.css +51 -51
  156. package/lib/modules/video-window/components/speaking/index.css +86 -86
  157. package/lib/modules/video-window/components/topControl/index.css +35 -35
  158. package/lib/modules/video-window/index.css +21 -21
  159. package/lib/modules/video-window/popover-watcher.js +3 -3
  160. package/lib/modules/video-window/store.js +10 -10
  161. package/lib/modules/waiting-room-layout/index.css +96 -96
  162. package/lib/modules/whiteboard/components/control-bar/index.css +52 -52
  163. package/lib/modules/whiteboard/components/loading/index.css +76 -76
  164. package/lib/modules/whiteboard/components/multi-window/index.css +63 -63
  165. package/lib/modules/whiteboard/components/pagination/index.css +228 -228
  166. package/lib/modules/whiteboard/components/progress/style.css +51 -51
  167. package/lib/modules/whiteboard/components/switch-theme/index.css +99 -99
  168. package/lib/modules/whiteboard/components/toolbar/style.css +591 -591
  169. package/lib/modules/whiteboard/style.css +140 -140
  170. package/lib/modules/widget/index.css +9 -9
  171. package/lib/modules/widget/index.d.ts +1 -0
  172. package/lib/modules/widget/index.js +16 -1
  173. package/lib/modules/widget/store.base.d.ts +1 -0
  174. package/lib/modules/widget/store.base.js +12 -0
  175. package/lib/modules/widget/store.electron.js +5 -0
  176. package/lib/modules/widget/web-widget.d.ts +6 -1
  177. package/lib/modules/widget/web-widget.js +66 -22
  178. package/lib/object-manager.js +8 -8
  179. package/lib/plugins/module-dev-plugin.js +11 -11
  180. package/lib/providers/ability-provider.js +17 -17
  181. package/lib/providers/app-list-provider.d.ts +1 -1
  182. package/lib/providers/app-list-provider.js +9 -7
  183. package/lib/providers/board-share/bar-control/base.d.ts +1 -1
  184. package/lib/providers/board-share/bar-control/browser.d.ts +1 -1
  185. package/lib/providers/board-share/bar-control/electron.d.ts +1 -1
  186. package/lib/providers/board-share/struct.js +6 -6
  187. package/lib/providers/device-stream-provider.d.ts +1 -1
  188. package/lib/providers/dialog/provider.base.js +2 -2
  189. package/lib/providers/dialog/type.js +3 -3
  190. package/lib/providers/multi-display-provider.js +4 -4
  191. package/lib/providers/privilege-provider.js +7 -7
  192. package/lib/providers/screen-share/provider.base.js +23 -23
  193. package/lib/providers/screen-share/stream-state-sync.js +18 -18
  194. package/lib/providers/screen-share/struct.js +24 -24
  195. package/lib/providers/widget-provider.d.ts +13 -2
  196. package/lib/providers/widget-provider.js +60 -9
  197. package/lib/providers/window/main-window.js +2 -2
  198. package/lib/providers/window/provider.js +5 -5
  199. package/lib/providers/window/renderer-window.js +2 -2
  200. package/lib/scenes/main-scene.js +1 -0
  201. package/lib/schema.js +26 -26
  202. package/lib/shared-data/app-list-data.d.ts +0 -3
  203. package/lib/shared-data/app-list-data.js +3 -30
  204. package/lib/shared-data/meeting-time.js +8 -8
  205. package/lib/shared-data/setting.js +3 -3
  206. package/lib/shared-data/video-window.d.ts +1 -1
  207. package/lib/shared-data/video-window.js +1 -1
  208. package/lib/shared-data/widget-data.d.ts +0 -1
  209. package/lib/type.d.ts +1 -0
  210. package/lib/type.js +23 -21
  211. package/lib/ui-scene-switch.js +2 -2
  212. package/lib/utilities/constant.js +6 -6
  213. package/lib/utilities/renderer.js +8 -8
  214. package/lib/utilities/shared-storage.js +2 -2
  215. package/lib/utilities/tools.js +14 -14
  216. package/package.json +83 -79
  217. package/public/assets/fcr_chat_reddot.svg +5 -5
  218. package/public/assets/fcr_grid_big.svg +3 -3
  219. package/public/assets/fcr_leave2.svg +58 -58
  220. package/public/assets/fcr_listontop_big.svg +3 -3
  221. package/public/assets/step-gradient.svg +10 -10
  222. package/public/fragment.html +10 -10
  223. package/public/index.html +107 -183
  224. package/public/index.vite.html +109 -0
  225. package/public/js/init.js +75 -0
  226. package/public/{meeting-manager.js → js/meeting-manager.js} +405 -405
@@ -18,58 +18,58 @@ var FcrUIAbilityProviderImpl = exports.FcrUIAbilityProviderImpl = /*#__PURE__*/f
18
18
  (0, _defineProperty2["default"])(this, "logger", (0, _logger.createLogger)({
19
19
  prefix: 'FcrUIAbilityProviderImpl'
20
20
  }));
21
- /**
22
- * 检查当前平台是否支持获取房间详情
21
+ /**
22
+ * 检查当前平台是否支持获取房间详情
23
23
  */
24
24
  (0, _defineProperty2["default"])(this, "isRoomDetailSupported", function () {
25
25
  var result = _this._abilityControl.isAbilitySupported(_type.FcrAbility.RoomDetail);
26
26
  return result;
27
27
  });
28
- /**
29
- * 检查指定平台是否支持特定能力
30
- * @param platform 目标平台
28
+ /**
29
+ * 检查指定平台是否支持特定能力
30
+ * @param platform 目标平台
31
31
  */
32
32
  (0, _defineProperty2["default"])(this, "isHostSupportedByPlatform", function (platform) {
33
33
  var result = _this._abilityControl.isPlatformAbilitySupported(platform, _type.FcrAbility.RoleHost);
34
34
  return result;
35
35
  });
36
- /**
37
- * 检查当前平台是否支持指定能力
36
+ /**
37
+ * 检查当前平台是否支持指定能力
38
38
  */
39
39
  (0, _defineProperty2["default"])(this, "isLiveSupported", function () {
40
40
  var result = _this._abilityControl.isAbilitySupported(_type.FcrAbility.Live);
41
41
  return result;
42
42
  });
43
- /**
44
- * 检查当前平台是否支持指定能力
43
+ /**
44
+ * 检查当前平台是否支持指定能力
45
45
  */
46
46
  (0, _defineProperty2["default"])(this, "isInterpreterSupported", function () {
47
47
  var result = _this._abilityControl.isAbilitySupported(_type.FcrAbility.Interpreter);
48
48
  return result;
49
49
  });
50
- /**
51
- * 检查当前平台是否支持批注
50
+ /**
51
+ * 检查当前平台是否支持批注
52
52
  */
53
53
  (0, _defineProperty2["default"])(this, "isAnnotationSupported", function () {
54
54
  var result = _this._abilityControl.isAbilitySupported(_type.FcrAbility.Annotation);
55
55
  return result;
56
56
  });
57
- /**
58
- * 检查当前平台是否支持字幕能力
57
+ /**
58
+ * 检查当前平台是否支持字幕能力
59
59
  */
60
60
  (0, _defineProperty2["default"])(this, "isCaptionSupported", function () {
61
61
  var result = _this._abilityControl.isAbilitySupported(_type.FcrAbility.Caption);
62
62
  return result;
63
63
  });
64
- /**
65
- * 检查当前平台是否支持转写能力
64
+ /**
65
+ * 检查当前平台是否支持转写能力
66
66
  */
67
67
  (0, _defineProperty2["default"])(this, "isTranscribeSupported", function () {
68
68
  var result = _this._abilityControl.isAbilitySupported(_type.FcrAbility.Transcribe);
69
69
  return result;
70
70
  });
71
- /**
72
- * 检查当前平台是否支持云录制
71
+ /**
72
+ * 检查当前平台是否支持云录制
73
73
  */
74
74
  (0, _defineProperty2["default"])(this, "isRecordingSupported", function () {
75
75
  var result = _this._abilityControl.isAbilitySupported(_type.FcrAbility.Recording);
@@ -66,10 +66,10 @@ export declare class FcrUIApplistProviderImpl implements FcrUIApplistProvider, F
66
66
  get hasStartTranscribePermission(): boolean;
67
67
  get hasEnableInterpreterPermission(): boolean;
68
68
  get hasStartLiveStreamingPermission(): boolean;
69
- get widgetConfigs(): FcrUIWebWidgetConfig[];
70
69
  get captionState(): boolean;
71
70
  get transcribingState(): boolean;
72
71
  get hasEverEnabledTranscribing(): boolean;
72
+ private get _supportedWidgetConfigs();
73
73
  get appItemOptions(): AppItemProps[];
74
74
  toggleCaptionState(): void;
75
75
  openSubtitlesHistoryDialog(): void;
@@ -21,7 +21,6 @@ require("core-js/modules/es.object.get-own-property-descriptors.js");
21
21
  require("core-js/modules/es.object.keys.js");
22
22
  require("core-js/modules/es.string.iterator.js");
23
23
  require("core-js/modules/esnext.function.metadata.js");
24
- require("core-js/modules/esnext.iterator.filter.js");
25
24
  require("core-js/modules/esnext.iterator.for-each.js");
26
25
  require("core-js/modules/esnext.map.delete-all.js");
27
26
  require("core-js/modules/esnext.map.emplace.js");
@@ -52,6 +51,7 @@ require("core-js/modules/es.array.map.js");
52
51
  require("core-js/modules/es.function.name.js");
53
52
  require("core-js/modules/es.object.to-string.js");
54
53
  require("core-js/modules/esnext.iterator.constructor.js");
54
+ require("core-js/modules/esnext.iterator.filter.js");
55
55
  require("core-js/modules/esnext.iterator.map.js");
56
56
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
57
57
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
@@ -155,11 +155,6 @@ var FcrUIApplistProviderImpl = exports.FcrUIApplistProviderImpl = /*#__PURE__*/f
155
155
  get: function get() {
156
156
  return this._sharedApplistDataSource.hasStartLiveStreamingPermission;
157
157
  }
158
- }, {
159
- key: "widgetConfigs",
160
- get: function get() {
161
- return this._sharedApplistDataSource.widgetConfigs;
162
- }
163
158
  }, {
164
159
  key: "captionState",
165
160
  get: function get() {
@@ -175,6 +170,13 @@ var FcrUIApplistProviderImpl = exports.FcrUIApplistProviderImpl = /*#__PURE__*/f
175
170
  get: function get() {
176
171
  return this._sttProvider.hasEverEnabledTranscribing;
177
172
  }
173
+ }, {
174
+ key: "_supportedWidgetConfigs",
175
+ get: function get() {
176
+ return this._widgetProvider.supportedWidgetConfigs.filter(function (widgetConfig) {
177
+ return widgetConfig.id !== _type.CONTACTS_WIDGET_ID;
178
+ });
179
+ }
178
180
  }, {
179
181
  key: "appItemOptions",
180
182
  get: function get() {
@@ -345,7 +347,7 @@ var FcrUIApplistProviderImpl = exports.FcrUIApplistProviderImpl = /*#__PURE__*/f
345
347
  key: "widgetListProps",
346
348
  get: function get() {
347
349
  var _this6 = this;
348
- return this.widgetConfigs.map(function (widgetConfig) {
350
+ return this._supportedWidgetConfigs.map(function (widgetConfig) {
349
351
  return {
350
352
  name: widgetConfig.name,
351
353
  fcrToolTipProps: {
@@ -4,7 +4,7 @@ import { FcrConnectionState, FcrUserInfo, FcrWhiteboardControl } from 'fcr-core/
4
4
  import { FcrToolbarState } from '../../../modules/components/toolbar/types';
5
5
  import { FcrUIMainWindowRendererObserver, WhiteboardToolAction } from '../../../modules/secondary-window/type';
6
6
  import { WhiteboardThemeType } from '../../../modules/whiteboard/type';
7
- import { FcrUIPrivilegeProvider } from '../../../providers/privilege-provider';
7
+ import { FcrUIPrivilegeProvider } from '../../privilege-provider';
8
8
  import { FcrUIBoardBarControl } from '../type';
9
9
  export declare abstract class FcrUIBoardControlShareProviderBase implements FcrUIBoardBarControl {
10
10
  private readonly _privilegeProvider;
@@ -1,4 +1,4 @@
1
- import { FcrUIPrivilegeProvider } from '../../../providers/privilege-provider';
1
+ import { FcrUIPrivilegeProvider } from '../../privilege-provider';
2
2
  import { FcrUIBoardControlShareProviderBase } from './base';
3
3
  import { FcrUIMainWindowRendererObserver } from '../../../modules/secondary-window/type';
4
4
  import { FcrWhiteboardControl } from 'fcr-core/lib/type';
@@ -2,7 +2,7 @@ import { FcrBoardToolType, FcrBoardShape } from 'fcr-core';
2
2
  import { FcrUserInfo, FcrWhiteboardControl } from 'fcr-core/lib/type';
3
3
  import { FcrUIMainWindowRenderer, FcrUIMainWindowRendererObserver, WhiteboardToolAction } from '../../../modules/secondary-window/type';
4
4
  import { WhiteboardThemeType } from '../../../modules/whiteboard/type';
5
- import { FcrUIPrivilegeProvider } from '../../../providers/privilege-provider';
5
+ import { FcrUIPrivilegeProvider } from '../../privilege-provider';
6
6
  import { FcrUIBoardControlShareProviderBase } from './base';
7
7
  export declare class FcrUIBoardControlShareProviderImpl extends FcrUIBoardControlShareProviderBase {
8
8
  private readonly _fcrUIMainWindowRenderer;
@@ -7,16 +7,16 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.FcrUIBoardShareStopReason = void 0;
8
8
  // enum, class
9
9
  var FcrUIBoardShareStopReason = exports.FcrUIBoardShareStopReason = /*#__PURE__*/function (FcrUIBoardShareStopReason) {
10
- /**
11
- * 正常停止
10
+ /**
11
+ * 正常停止
12
12
  */
13
13
  FcrUIBoardShareStopReason[FcrUIBoardShareStopReason["NORMAL_STOP"] = 1] = "NORMAL_STOP";
14
- /**
15
- * 被其他用户停止
14
+ /**
15
+ * 被其他用户停止
16
16
  */
17
17
  FcrUIBoardShareStopReason[FcrUIBoardShareStopReason["STOPPED_BY_OTHER"] = 2] = "STOPPED_BY_OTHER";
18
- /**
19
- * 白板错误
18
+ /**
19
+ * 白板错误
20
20
  */
21
21
  FcrUIBoardShareStopReason[FcrUIBoardShareStopReason["ABORTED"] = 3] = "ABORTED";
22
22
  return FcrUIBoardShareStopReason;
@@ -1,5 +1,5 @@
1
1
  import { FcrBaseRoomControl } from 'fcr-core/lib/room-control/type';
2
- import { FcrUIDeviceProvider } from '../providers/device-provider';
2
+ import { FcrUIDeviceProvider } from './device-provider';
3
3
  import { FcrUISharedInterpreterDataSource } from '../shared-data/interpreter';
4
4
  import { FcrUIDevicePrivilegeProvider } from './device-privilege-provider';
5
5
  import { FcrUISharedDevicePrivilegeDataSource } from '../shared-data/device-privilege-data';
@@ -83,8 +83,8 @@ var FcrUIDialogProviderBase = exports.FcrUIDialogProviderBase = /*#__PURE__*/fun
83
83
  prefix: 'FcrUIDialogProviderImpl'
84
84
  })));
85
85
  (0, _defineProperty2["default"])(this, "observable", new _observable.AgoraObservable());
86
- /**
87
- * map dialogKey to dialog info
86
+ /**
87
+ * map dialogKey to dialog info
88
88
  */
89
89
  (0, _defineProperty2["default"])(this, "dialogInfoKeyMap", new Map());
90
90
  // map dialogKey to dialogId
@@ -9,7 +9,7 @@ var FcrDialogInterceptorEventName = exports.FcrDialogInterceptorEventName = /*#_
9
9
  FcrDialogInterceptorEventName["ON_CLOSE"] = "onClose";
10
10
  return FcrDialogInterceptorEventName;
11
11
  }({});
12
- /**
13
- * FcrUIDialogProvider 接口定义了一系列用于管理和操作对话框的方法。
14
- * 这些方法涵盖了打开、关闭各种类型对话框的功能,以及对对话框事件观察者的管理。
12
+ /**
13
+ * FcrUIDialogProvider 接口定义了一系列用于管理和操作对话框的方法。
14
+ * 这些方法涵盖了打开、关闭各种类型对话框的功能,以及对对话框事件观察者的管理。
15
15
  */
@@ -358,8 +358,8 @@ var FcrUIMultiDisplayProviderImpl = exports.FcrUIMultiDisplayProviderImpl = /*#_
358
358
  };
359
359
  }
360
360
 
361
- /**
362
- * 正在共享屏幕
361
+ /**
362
+ * 正在共享屏幕
363
363
  */
364
364
  if (state.isSharing) {
365
365
  var mainWindow = {
@@ -386,8 +386,8 @@ var FcrUIMultiDisplayProviderImpl = exports.FcrUIMultiDisplayProviderImpl = /*#_
386
386
  };
387
387
  }
388
388
 
389
- /**
390
- * 没有屏幕共享时
389
+ /**
390
+ * 没有屏幕共享时
391
391
  */
392
392
  // 参会人数少于2人时,主副屏都显示自己
393
393
  if (state.participantCount < 2) {
@@ -179,8 +179,8 @@ var FcrUIPrivilegeProviderImpl = exports.FcrUIPrivilegeProviderImpl = /*#__PURE_
179
179
  }
180
180
  return operations;
181
181
  });
182
- /**
183
- * 互译安全开关
182
+ /**
183
+ * 互译安全开关
184
184
  */
185
185
  (0, _defineProperty2["default"])(this, "isChangeSelfNameAllowed", (0, _mobxUtils.computedFn)(function () {
186
186
  var info = _this.securityInfos.find(function (_ref2) {
@@ -365,8 +365,8 @@ var FcrUIPrivilegeProviderImpl = exports.FcrUIPrivilegeProviderImpl = /*#__PURE_
365
365
  });
366
366
  return (info === null || info === void 0 || (_info$info4 = info.info) === null || _info$info4 === void 0 ? void 0 : _info$info4.payload.lineType) === _type.FcrLineType.MULTI_ROW;
367
367
  }));
368
- /**
369
- * 权限判断,例:某角色有 XX 权限
368
+ /**
369
+ * 权限判断,例:某角色有 XX 权限
370
370
  */
371
371
  (0, _defineProperty2["default"])(this, "hasChangeNamePermission", function (targetRole) {
372
372
  return _this._hasPermission(_type2.FcrPermissionAction.UserChangeName, targetRole);
@@ -585,9 +585,9 @@ var FcrUIPrivilegeProviderImpl = exports.FcrUIPrivilegeProviderImpl = /*#__PURE_
585
585
  (0, _defineProperty2["default"])(this, "hasDisallowChangeNamePermission", function () {
586
586
  return _this._hasPermission(_type2.FcrPermissionAction.UserDisallowChangeName, _type2.FcrPrivilegeUserRole.PARTICIPANT);
587
587
  });
588
- /**
589
- * 权限操作
590
- * @param enable
588
+ /**
589
+ * 权限操作
590
+ * @param enable
591
591
  */
592
592
  (0, _defineProperty2["default"])(this, "allowStartTranscribe", /*#__PURE__*/function () {
593
593
  var _ref23 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(enable) {
@@ -87,29 +87,29 @@ var _E = /*#__PURE__*/new WeakMap();
87
87
  var _F = /*#__PURE__*/new WeakMap();
88
88
  var _G = /*#__PURE__*/new WeakMap();
89
89
  _ref = (_enableScreenShareAudioDecs = [void 0, _decorator.trace, _mobx.action, _mobx.action.bound], _disableScreenShareAudioDecs = [void 0, _decorator.trace, _mobx.action, _mobx.action.bound], _enableSmoothModeDecs = [void 0, _decorator.trace, _mobx.action, _mobx.action.bound], _disableSmoothModeDecs = [void 0, _decorator.trace, _mobx.action, _mobx.action.bound], _enableStereoAudioModeDecs = [void 0, _decorator.trace, _mobx.action, _mobx.action.bound], _disableStereoAudioModeDecs = [void 0, _decorator.trace, _mobx.action, _mobx.action.bound], _findSharingUserDecs = [_mobx.action, _mobx.action.bound], "logger");
90
- /**
91
- * startShare
92
- * - callback: share started
93
- * - callback: share error occurred
94
- * - callback error:
95
- * 1. cannot publish
96
- * 2. screen recording permission denied
97
- * 3. error occurred during screen recording
98
- * - remove screen stream, keep screen stream in sync
99
- * stopShare
100
- * - callback: share stopped
101
- * replaceShare
102
- * no callbacks
103
- * Listen to stream events:
104
- * local stream removed
105
- * - callback: share stopped
106
- *
107
- * Error handle:
108
- * 1. error occurred during screen recording
109
- * - remove screen stream
110
- * Track events handle:
111
- * 1. track stopped
112
- * - keep screen stream in sync
90
+ /**
91
+ * startShare
92
+ * - callback: share started
93
+ * - callback: share error occurred
94
+ * - callback error:
95
+ * 1. cannot publish
96
+ * 2. screen recording permission denied
97
+ * 3. error occurred during screen recording
98
+ * - remove screen stream, keep screen stream in sync
99
+ * stopShare
100
+ * - callback: share stopped
101
+ * replaceShare
102
+ * no callbacks
103
+ * Listen to stream events:
104
+ * local stream removed
105
+ * - callback: share stopped
106
+ *
107
+ * Error handle:
108
+ * 1. error occurred during screen recording
109
+ * - remove screen stream
110
+ * Track events handle:
111
+ * 1. track stopped
112
+ * - keep screen stream in sync
113
113
  */
114
114
  var FcrUIScreenShareProviderBase = exports.FcrUIScreenShareProviderBase = /*#__PURE__*/function () {
115
115
  function FcrUIScreenShareProviderBase(objectManager) {
@@ -196,24 +196,24 @@ var FcrUIScreenStreamSync = exports.FcrUIScreenStreamSync = /*#__PURE__*/functio
196
196
  }
197
197
  this.logger.error("the screen share stream does not exist");
198
198
 
199
- /**
200
- * TODO: 这里加删除 videoWindowData 的逻辑是因为,如果在屏幕共享时主持人结束了房间,在用户点击确认离开房间前,可以看到窗口上显示 “你正在屏幕共享” 的标识。
201
- * TODO: 主持人在结束会议后,在点击确认离开房间前,窗口保留着最后的操作画面应该是正常的情况,那还是否有必要加这段逻辑,或者有更好的处理方式?
202
- *
203
- * 有 3 种场景会调用到 stopScreenStream。
204
- * 1. 用户主动停止屏幕共享
205
- * 2. 用户的屏幕共享被其他人抢占
206
- * 3. 主持人结束房间
207
- *
208
- * 场景 2 的流程:
209
- * 其他人抢占屏幕共享 > 当前共享用户会收到 FcrStreamControl 的 onStreamsRemoved 事件 > 调用 screenTrack.stop() > SourceMnager.stopScreenCapture
210
- * > RtcEngine 发出 onLocalVideoStateChanged 事件 > ... > 这里的 stopScreenStream
211
- *
212
- * 场景 3 的流程:
213
- * 主持人结束房间 > RtcEngine 发出 onLocalVideoStateChanged 事件 > ... > 这里的 stopScreenStream
214
- *
215
- * 在主持人结束房间的场景下,服务端已经不存在这条流,所以调用 stop 接口会报流不存在的错,所以这里把流对应的 videoWindowData 删除掉。
216
- *
199
+ /**
200
+ * TODO: 这里加删除 videoWindowData 的逻辑是因为,如果在屏幕共享时主持人结束了房间,在用户点击确认离开房间前,可以看到窗口上显示 “你正在屏幕共享” 的标识。
201
+ * TODO: 主持人在结束会议后,在点击确认离开房间前,窗口保留着最后的操作画面应该是正常的情况,那还是否有必要加这段逻辑,或者有更好的处理方式?
202
+ *
203
+ * 有 3 种场景会调用到 stopScreenStream。
204
+ * 1. 用户主动停止屏幕共享
205
+ * 2. 用户的屏幕共享被其他人抢占
206
+ * 3. 主持人结束房间
207
+ *
208
+ * 场景 2 的流程:
209
+ * 其他人抢占屏幕共享 > 当前共享用户会收到 FcrStreamControl 的 onStreamsRemoved 事件 > 调用 screenTrack.stop() > SourceMnager.stopScreenCapture
210
+ * > RtcEngine 发出 onLocalVideoStateChanged 事件 > ... > 这里的 stopScreenStream
211
+ *
212
+ * 场景 3 的流程:
213
+ * 主持人结束房间 > RtcEngine 发出 onLocalVideoStateChanged 事件 > ... > 这里的 stopScreenStream
214
+ *
215
+ * 在主持人结束房间的场景下,服务端已经不存在这条流,所以调用 stop 接口会报流不存在的错,所以这里把流对应的 videoWindowData 删除掉。
216
+ *
217
217
  */
218
218
  screenVideoWindowData = this._videoWindowDataSource.mainList.find(function (stream) {
219
219
  return stream.videoSourceType === _type.FcrVideoSourceType.SCREEN;
@@ -6,61 +6,61 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.FcrUISelectionBoundsChangeReason = exports.FcrUIScreenShareStopReason = exports.FcrUIScreenShareErrorCode = exports.FcrUIAudioShareErrorCode = void 0;
8
8
  var FcrUIScreenShareErrorCode = exports.FcrUIScreenShareErrorCode = /*#__PURE__*/function (FcrUIScreenShareErrorCode) {
9
- /**
10
- * 当前已经在共享了,不能开启共享
9
+ /**
10
+ * 当前已经在共享了,不能开启共享
11
11
  */
12
12
  FcrUIScreenShareErrorCode[FcrUIScreenShareErrorCode["CONFLICT"] = 1] = "CONFLICT";
13
- /**
14
- * 无法创建视频流
13
+ /**
14
+ * 无法创建视频流
15
15
  */
16
16
  FcrUIScreenShareErrorCode[FcrUIScreenShareErrorCode["CANNOT_CREATE_STREAM"] = 2] = "CANNOT_CREATE_STREAM";
17
- /**
18
- * 无法更新视频流
17
+ /**
18
+ * 无法更新视频流
19
19
  */
20
20
  FcrUIScreenShareErrorCode[FcrUIScreenShareErrorCode["CANNOT_UPDATE_STREAM"] = 3] = "CANNOT_UPDATE_STREAM";
21
- /**
22
- * 无法开始屏幕采集
21
+ /**
22
+ * 无法开始屏幕采集
23
23
  */
24
24
  FcrUIScreenShareErrorCode[FcrUIScreenShareErrorCode["CANNOT_START_SCREEN_CAPTURE"] = 4] = "CANNOT_START_SCREEN_CAPTURE";
25
- /**
26
- * 用户取消了屏幕采集启动
25
+ /**
26
+ * 用户取消了屏幕采集启动
27
27
  */
28
28
  FcrUIScreenShareErrorCode[FcrUIScreenShareErrorCode["ABORT_START_SCREEN_CAPTURE"] = 5] = "ABORT_START_SCREEN_CAPTURE";
29
- /**
30
- * 无发流权限
29
+ /**
30
+ * 无发流权限
31
31
  */
32
32
  FcrUIScreenShareErrorCode[FcrUIScreenShareErrorCode["NO_PUBLISH_PRIVILIGE"] = 6] = "NO_PUBLISH_PRIVILIGE";
33
- /**
34
- * 无屏幕采集权限
33
+ /**
34
+ * 无屏幕采集权限
35
35
  */
36
36
  FcrUIScreenShareErrorCode[FcrUIScreenShareErrorCode["NO_SCREEN_RECORDING_PERMISSION"] = 7] = "NO_SCREEN_RECORDING_PERMISSION";
37
- /**
38
- * 网络未连接
37
+ /**
38
+ * 网络未连接
39
39
  */
40
40
  FcrUIScreenShareErrorCode[FcrUIScreenShareErrorCode["NETWORK_DISCONNECTED"] = 8] = "NETWORK_DISCONNECTED";
41
41
  return FcrUIScreenShareErrorCode;
42
42
  }({});
43
43
  var FcrUIAudioShareErrorCode = exports.FcrUIAudioShareErrorCode = /*#__PURE__*/function (FcrUIAudioShareErrorCode) {
44
- /**
45
- * 无法更新音频流
44
+ /**
45
+ * 无法更新音频流
46
46
  */
47
47
  FcrUIAudioShareErrorCode[FcrUIAudioShareErrorCode["CANNOT_UPDATE_STREAM"] = 1] = "CANNOT_UPDATE_STREAM";
48
48
  return FcrUIAudioShareErrorCode;
49
49
  }({});
50
50
  var FcrUIScreenShareStopReason = exports.FcrUIScreenShareStopReason = /*#__PURE__*/function (FcrUIScreenShareStopReason) {
51
- /**
52
- * 正常停止
51
+ /**
52
+ * 正常停止
53
53
  */
54
54
  FcrUIScreenShareStopReason[FcrUIScreenShareStopReason["NORMAL_STOP"] = 1] = "NORMAL_STOP";
55
- /**
56
- * 被其他用户停止
55
+ /**
56
+ * 被其他用户停止
57
57
  */
58
58
  FcrUIScreenShareStopReason[FcrUIScreenShareStopReason["STOPPED_BY_OTHER"] = 3] = "STOPPED_BY_OTHER";
59
59
  return FcrUIScreenShareStopReason;
60
60
  }({});
61
61
  var FcrUISelectionBoundsChangeReason = exports.FcrUISelectionBoundsChangeReason = /*#__PURE__*/function (FcrUISelectionBoundsChangeReason) {
62
- /**
63
- * 插拔显示器导致的窗口采集边界变化
62
+ /**
63
+ * 插拔显示器导致的窗口采集边界变化
64
64
  */
65
65
  FcrUISelectionBoundsChangeReason[FcrUISelectionBoundsChangeReason["DISPLAY_CHANGE"] = 1] = "DISPLAY_CHANGE";
66
66
  return FcrUISelectionBoundsChangeReason;
@@ -1,13 +1,19 @@
1
1
  import { FcrUIRoomProvider } from './room-provider/room-provider';
2
2
  import { FcrRegisteredWidgetConfigs, FcrUIWebWidget, ID } from '../modules/widget/type';
3
- import { FcrUIWebWidgetConfig } from '../type';
3
+ import { FcrUIWebWidgetConfig, FcrUserRole } from '../type';
4
4
  import { FcrUIManagedObject } from '../object-manager';
5
5
  import { FcrUIDialogProvider } from './dialog/type';
6
6
  import { FcrUISharedWidgetDataSource } from '../shared-data/widget-data';
7
+ import { FcrUISharedMemberDataSource } from '../shared-data/member-data';
8
+ export declare const checkIsWidgetSupportedRole: (widgetConfig: FcrUIWebWidgetConfig, role: FcrUserRole) => boolean;
7
9
  export interface FcrUIWidgetObserver {
8
10
  onWidgetClicked(widgetId: string): void;
9
11
  }
10
12
  export interface FcrUIWidgetProvider {
13
+ /**
14
+ * 当前用户角色支持的widget配置
15
+ */
16
+ get supportedWidgetConfigs(): FcrUIWebWidgetConfig[];
11
17
  /**
12
18
  *Map<id, FcrUIWebWidgetConfig>
13
19
  *存储已注册的widget
@@ -62,13 +68,18 @@ export declare class FcrUIWidgetProviderImpl implements FcrUIWidgetProvider, Fcr
62
68
  private _dialogProviderObserver;
63
69
  private _observable;
64
70
  private _sharedWidgetDataSource;
71
+ private _sharedMemberDataSource;
72
+ protected _disposers: Array<() => void>;
65
73
  accessor dialogIds: Map<ID, string>;
66
74
  accessor openedWidgets: Map<ID, FcrUIWebWidget>;
75
+ private get _localUserRole();
67
76
  get registeredWidgetConfigs(): FcrRegisteredWidgetConfigs;
68
- constructor({ sharedWidgetDataSource, roomProvider, dialogProvider, }: {
77
+ get supportedWidgetConfigs(): FcrUIWebWidgetConfig[];
78
+ constructor({ sharedWidgetDataSource, roomProvider, dialogProvider, sharedMemberDataSource, }: {
69
79
  sharedWidgetDataSource: FcrUISharedWidgetDataSource;
70
80
  roomProvider: FcrUIRoomProvider;
71
81
  dialogProvider: FcrUIDialogProvider;
82
+ sharedMemberDataSource: FcrUISharedMemberDataSource;
72
83
  });
73
84
  openWidget(widgetId: string): void;
74
85
  onWidgetClick(widgetId: string): void;