fcr-ui-scene 3.7.6 → 3.7.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (259) hide show
  1. package/installer/icons/icon.png +0 -0
  2. package/installer/mac/entitlements.mac.plist +1 -5
  3. package/lib/creator/index.js +12 -6
  4. package/lib/creator/provider-initializer.browser.js +0 -3
  5. package/lib/creator/provider-initializer.electron.js +0 -4
  6. package/lib/creator.d.ts +36 -0
  7. package/lib/creator.js +465 -0
  8. package/lib/electron/bootstrap-sdk.js +70 -20
  9. package/lib/electron/struct.d.ts +7 -1
  10. package/lib/electron/struct.js +8 -1
  11. package/lib/electron/until.d.ts +3 -1
  12. package/lib/electron/until.js +7 -2
  13. package/lib/modules/action-bar/components/item/index.js +1 -0
  14. package/lib/modules/action-bar/components/screen-share/submenu.js +1 -1
  15. package/lib/modules/action-bar/index.d.ts +58 -0
  16. package/lib/modules/action-bar/index.dev.d.ts +0 -0
  17. package/lib/modules/action-bar/index.dev.js +94 -0
  18. package/lib/modules/action-bar/index.js +109 -0
  19. package/lib/modules/action-bar/store.d.ts +259 -0
  20. package/lib/modules/action-bar/store.js +1529 -0
  21. package/lib/modules/action-bar/types.d.ts +90 -0
  22. package/lib/modules/action-bar/types.js +6 -0
  23. package/lib/modules/action-bar/view.d.ts +5 -0
  24. package/lib/modules/action-bar/view.js +112 -0
  25. package/lib/modules/annotation/annotation-index.d.ts +2 -0
  26. package/lib/modules/annotation/annotation-index.js +80 -0
  27. package/lib/modules/annotation/annotation-toolbar-store.d.ts +75 -0
  28. package/lib/modules/annotation/annotation-toolbar-store.js +459 -0
  29. package/lib/modules/annotation/board-cursor.css +77 -0
  30. package/lib/modules/annotation/components/color-picker/components/color.d.ts +5 -0
  31. package/lib/modules/annotation/components/color-picker/components/color.js +38 -0
  32. package/lib/modules/annotation/components/color-picker/components/panel.d.ts +1 -0
  33. package/lib/modules/annotation/components/color-picker/components/panel.js +109 -0
  34. package/lib/modules/annotation/components/color-picker/components/picker.d.ts +1 -0
  35. package/lib/modules/annotation/components/color-picker/components/picker.js +75 -0
  36. package/lib/modules/annotation/components/color-picker/index.d.ts +2 -0
  37. package/lib/modules/annotation/components/color-picker/index.js +47 -0
  38. package/lib/modules/annotation/components/eraser-picker.d.ts +4 -0
  39. package/lib/modules/annotation/components/eraser-picker.js +144 -0
  40. package/lib/modules/annotation/components/expansion/index.d.ts +1 -0
  41. package/lib/modules/annotation/components/expansion/index.js +100 -0
  42. package/lib/modules/annotation/components/extra-tool-picker.d.ts +1 -0
  43. package/lib/modules/annotation/components/extra-tool-picker.js +62 -0
  44. package/lib/modules/annotation/components/history.d.ts +2 -0
  45. package/lib/modules/annotation/components/history.js +78 -0
  46. package/lib/modules/annotation/components/icons/fold-icon.d.ts +2 -0
  47. package/lib/modules/annotation/components/icons/fold-icon.js +41 -0
  48. package/lib/modules/annotation/components/icons/move-icon.d.ts +1 -0
  49. package/lib/modules/annotation/components/icons/move-icon.js +66 -0
  50. package/lib/modules/annotation/components/item/index.d.ts +1 -0
  51. package/lib/modules/annotation/components/item/index.js +43 -0
  52. package/lib/modules/annotation/components/move-handle.d.ts +5 -0
  53. package/lib/modules/annotation/components/move-handle.js +134 -0
  54. package/lib/modules/annotation/components/pen-picker.d.ts +4 -0
  55. package/lib/modules/annotation/components/pen-picker.js +155 -0
  56. package/lib/modules/annotation/components/screen-capture-picker.d.ts +4 -0
  57. package/lib/modules/annotation/components/screen-capture-picker.js +85 -0
  58. package/lib/modules/annotation/components/shape-picker.d.ts +4 -0
  59. package/lib/modules/annotation/components/shape-picker.js +210 -0
  60. package/lib/modules/annotation/hooks/index.d.ts +14 -0
  61. package/lib/modules/annotation/hooks/index.js +292 -0
  62. package/lib/modules/annotation/index.d.ts +45 -0
  63. package/lib/modules/annotation/index.js +168 -0
  64. package/lib/modules/annotation/store.d.ts +98 -0
  65. package/lib/modules/annotation/store.js +620 -0
  66. package/lib/modules/annotation/style.css +36 -0
  67. package/lib/modules/annotation/view.d.ts +3 -0
  68. package/lib/modules/annotation/view.js +44 -0
  69. package/lib/modules/chat/index.css +5 -1
  70. package/lib/modules/chat/view.js +6 -1
  71. package/lib/modules/components/control-bar/components/switch-theme/index.css +2 -0
  72. package/lib/modules/components/control-bar/components/switch-theme/index.js +5 -7
  73. package/lib/modules/components/control-bar/index.js +26 -7
  74. package/lib/modules/components/device-control/store.d.ts +42 -0
  75. package/lib/modules/components/device-control/store.js +241 -0
  76. package/lib/modules/components/leave-meeting/store.d.ts +39 -0
  77. package/lib/modules/components/leave-meeting/store.js +270 -0
  78. package/lib/modules/components/toolbar/components/capture-tool/index.d.ts +0 -1
  79. package/lib/modules/components/toolbar/components/capture-tool/index.js +1 -2
  80. package/lib/modules/components/toolbar/components/vertical-frame/index.js +2 -2
  81. package/lib/modules/components/toolbar/hooks/use-resize-visible.js +43 -42
  82. package/lib/modules/components/toolbar/index.js +6 -24
  83. package/lib/modules/control-bar/components/annotation-button/index.d.ts +1 -0
  84. package/lib/modules/control-bar/components/annotation-button/index.js +72 -0
  85. package/lib/modules/control-bar/components/cloud-recording-buttons.d.ts +3 -0
  86. package/lib/modules/control-bar/components/cloud-recording-buttons.js +65 -3
  87. package/lib/modules/control-bar/store.js +11 -6
  88. package/lib/modules/control-bar/types.d.ts +20 -0
  89. package/lib/modules/control-bar/types.js +6 -0
  90. package/lib/modules/dialog/components/dialog-container/component/body.d.ts +1 -0
  91. package/lib/modules/dialog/components/dialog-container/component/body.js +3 -2
  92. package/lib/modules/dialog/components/dialog-container/index.css +1 -1
  93. package/lib/modules/dialog/components/dialog-container/index.d.ts +1 -0
  94. package/lib/modules/dialog/components/dialog-container/index.js +4 -1
  95. package/lib/modules/dialog/components/normal-window/index.d.ts +1 -0
  96. package/lib/modules/dialog/components/normal-window/index.js +3 -1
  97. package/lib/modules/dialog/dialogs/chat/index.js +2 -1
  98. package/lib/modules/dialog/dialogs/control-bar-leave-meeting/index.js +0 -1
  99. package/lib/modules/dialog/dialogs/end-meeting/index.d.ts +1 -0
  100. package/lib/modules/dialog/dialogs/end-meeting/index.js +2 -1
  101. package/lib/modules/dialog/dialogs/participant/index.js +2 -1
  102. package/lib/modules/dialog/dialogs/pre-setting/index.css +26 -0
  103. package/lib/modules/dialog/dialogs/pre-setting/index.d.ts +6 -0
  104. package/lib/modules/dialog/dialogs/pre-setting/index.js +62 -0
  105. package/lib/modules/dialog/dialogs/widget/electron.d.ts +6 -0
  106. package/lib/modules/dialog/dialogs/widget/electron.js +38 -0
  107. package/lib/modules/dialog/hooks/use-popover-watcher.d.ts +14 -0
  108. package/lib/modules/dialog/hooks/use-popover-watcher.js +110 -0
  109. package/lib/modules/dialog/hooks/useElectron.d.ts +28 -0
  110. package/lib/modules/dialog/hooks/useElectron.js +277 -0
  111. package/lib/modules/dialog/store.d.ts +135 -0
  112. package/lib/modules/dialog/store.js +616 -0
  113. package/lib/modules/event-confirm/components/window/index.d.ts +7 -0
  114. package/lib/modules/event-confirm/components/window/index.js +221 -0
  115. package/lib/modules/event-confirm/index.css +24 -0
  116. package/lib/modules/event-confirm/index.d.ts +27 -0
  117. package/lib/modules/event-confirm/index.js +76 -0
  118. package/lib/modules/event-confirm/store.d.ts +50 -0
  119. package/lib/modules/event-confirm/store.js +394 -0
  120. package/lib/modules/event-confirm/view.d.ts +2 -0
  121. package/lib/modules/event-confirm/view.js +55 -0
  122. package/lib/modules/event-toast/store.d.ts +27 -0
  123. package/lib/modules/event-toast/store.js +205 -0
  124. package/lib/modules/layout/store.d.ts +176 -0
  125. package/lib/modules/layout/store.electron.js +1 -1
  126. package/lib/modules/layout/store.js +1452 -0
  127. package/lib/modules/participant/store.d.ts +222 -0
  128. package/lib/modules/participant/store.js +1929 -0
  129. package/lib/modules/pc-audio-connect/index.d.ts +22 -0
  130. package/lib/modules/pc-audio-connect/index.js +67 -0
  131. package/lib/modules/pc-audio-connect/store.d.ts +46 -0
  132. package/lib/modules/pc-audio-connect/store.js +304 -0
  133. package/lib/modules/secondary-window/store.d.ts +0 -1
  134. package/lib/modules/secondary-window/store.js +9 -22
  135. package/lib/modules/secondary-window/view.js +6 -5
  136. package/lib/modules/setting/common/advance-link.d.ts +3 -0
  137. package/lib/modules/setting/common/advance-link.js +27 -0
  138. package/lib/modules/setting/common/index.css +26 -0
  139. package/lib/modules/setting/common/useNamespace.d.ts +15 -0
  140. package/lib/modules/setting/common/useNamespace.js +66 -0
  141. package/lib/modules/setting/dialog-wrapper.d.ts +2 -0
  142. package/lib/modules/setting/dialog-wrapper.js +110 -0
  143. package/lib/modules/setting/index.css +0 -1
  144. package/lib/modules/setting/store.base.js +6 -0
  145. package/lib/modules/setting/store.d.ts +261 -0
  146. package/lib/modules/setting/store.js +1321 -0
  147. package/lib/modules/setting/view.js +0 -3
  148. package/lib/modules/share-screen/store.d.ts +148 -0
  149. package/lib/modules/share-screen/store.electron.js +1 -1
  150. package/lib/modules/share-screen/store.js +960 -0
  151. package/lib/modules/share-screen/types.d.ts +26 -0
  152. package/lib/modules/share-screen/types.js +6 -0
  153. package/lib/modules/state-bar/layout-config.js +6 -0
  154. package/lib/modules/state-bar/main-scene/store.base.d.ts +2 -0
  155. package/lib/modules/state-bar/main-scene/store.base.js +6 -0
  156. package/lib/modules/state-bar/store.d.ts +124 -0
  157. package/lib/modules/state-bar/store.js +664 -0
  158. package/lib/modules/video-window/index.css +6 -0
  159. package/lib/modules/video-window/popover-watcher.d.ts +4 -1
  160. package/lib/modules/video-window/popover-watcher.js +15 -2
  161. package/lib/modules/video-window/store.d.ts +18 -1
  162. package/lib/modules/video-window/store.js +55 -7
  163. package/lib/modules/whiteboard/components/progress/electron.d.ts +1 -0
  164. package/lib/modules/whiteboard/components/progress/electron.js +33 -0
  165. package/lib/modules/whiteboard/store.js +20 -2
  166. package/lib/modules/widget/store.d.ts +14 -0
  167. package/lib/modules/widget/store.js +28 -0
  168. package/lib/object-manager.d.ts +0 -1
  169. package/lib/object-manager.js +0 -1
  170. package/lib/providers/annotation-provider.d.ts +124 -0
  171. package/lib/providers/annotation-provider.js +369 -0
  172. package/lib/providers/board-share/bar-control/base.d.ts +1 -1
  173. package/lib/providers/board-share/bar-control/base.js +37 -28
  174. package/lib/providers/board-share/bar-control/electron.d.ts +1 -1
  175. package/lib/providers/board-share/bar-control/electron.js +19 -16
  176. package/lib/providers/board-share/provider.browser.d.ts +3 -0
  177. package/lib/providers/board-share/provider.browser.js +21 -3
  178. package/lib/providers/device-provider.js +5 -1
  179. package/lib/providers/dialog/provider.electron.js +6 -0
  180. package/lib/providers/dialog-provider.d.ts +137 -0
  181. package/lib/providers/dialog-provider.js +194 -0
  182. package/lib/providers/message-provider.d.ts +69 -0
  183. package/lib/providers/message-provider.js +140 -0
  184. package/lib/providers/mouse-detect/provider.d.ts +5 -0
  185. package/lib/providers/mouse-detect/provider.js +74 -49
  186. package/lib/providers/multi-display-provider.d.ts +3 -5
  187. package/lib/providers/multi-display-provider.js +0 -9
  188. package/lib/providers/room-provider/room-provider.d.ts +3 -14
  189. package/lib/providers/room-provider/room-provider.js +5 -26
  190. package/lib/providers/room-provider.d.ts +194 -0
  191. package/lib/providers/room-provider.js +916 -0
  192. package/lib/providers/screen-share/stream-state-sync.js +19 -12
  193. package/lib/providers/screen-share-provider.d.ts +245 -0
  194. package/lib/providers/screen-share-provider.js +850 -0
  195. package/lib/providers/sharing-provider.d.ts +42 -0
  196. package/lib/providers/sharing-provider.js +228 -0
  197. package/lib/providers/user-setting-storage-provider.d.ts +21 -0
  198. package/lib/providers/user-setting-storage-provider.js +65 -0
  199. package/lib/providers/whiteboard-provider.d.ts +24 -0
  200. package/lib/providers/whiteboard-provider.js +128 -0
  201. package/lib/providers/window/main-window.d.ts +0 -5
  202. package/lib/providers/window/main-window.js +0 -44
  203. package/lib/providers/window/renderer-window.d.ts +1 -0
  204. package/lib/providers/window/renderer-window.js +9 -1
  205. package/lib/scenes/main-scene.js +0 -2
  206. package/lib/shared-data-source/annotation-data.d.ts +17 -0
  207. package/lib/shared-data-source/annotation-data.js +110 -0
  208. package/lib/shared-data-source/app-list-data.d.ts +34 -0
  209. package/lib/shared-data-source/app-list-data.js +133 -0
  210. package/lib/shared-data-source/chat-data.d.ts +25 -0
  211. package/lib/shared-data-source/chat-data.js +139 -0
  212. package/lib/shared-data-source/config.d.ts +35 -0
  213. package/lib/shared-data-source/config.js +40 -0
  214. package/lib/shared-data-source/confirm-data.d.ts +44 -0
  215. package/lib/shared-data-source/confirm-data.js +201 -0
  216. package/lib/shared-data-source/device-privilege-data.d.ts +8 -0
  217. package/lib/shared-data-source/device-privilege-data.js +25 -0
  218. package/lib/shared-data-source/interpreter.d.ts +77 -0
  219. package/lib/shared-data-source/interpreter.js +247 -0
  220. package/lib/shared-data-source/layout-data.d.ts +31 -0
  221. package/lib/shared-data-source/layout-data.js +189 -0
  222. package/lib/shared-data-source/meeting-time.d.ts +90 -0
  223. package/lib/shared-data-source/meeting-time.js +416 -0
  224. package/lib/shared-data-source/member-data.d.ts +139 -0
  225. package/lib/shared-data-source/member-data.js +517 -0
  226. package/lib/shared-data-source/pin-data.d.ts +13 -0
  227. package/lib/shared-data-source/pin-data.js +111 -0
  228. package/lib/shared-data-source/screen-share-data.d.ts +357 -0
  229. package/lib/shared-data-source/screen-share-data.js +513 -0
  230. package/lib/shared-data-source/security-data.d.ts +39 -0
  231. package/lib/shared-data-source/security-data.js +156 -0
  232. package/lib/shared-data-source/setting.d.ts +67 -0
  233. package/lib/shared-data-source/setting.js +220 -0
  234. package/lib/shared-data-source/speaker-spotlight.d.ts +5 -0
  235. package/lib/shared-data-source/speaker-spotlight.js +15 -0
  236. package/lib/shared-data-source/video-window.d.ts +165 -0
  237. package/lib/shared-data-source/video-window.js +1266 -0
  238. package/lib/shared-data-source/waiting-room.d.ts +46 -0
  239. package/lib/shared-data-source/waiting-room.js +222 -0
  240. package/lib/shared-data-source/whiteboard-data.d.ts +70 -0
  241. package/lib/{providers/board-share/bar-control.js → shared-data-source/whiteboard-data.js} +62 -104
  242. package/lib/ui-scene.js +4 -2
  243. package/lib/utilities/board-context.d.ts +4 -0
  244. package/lib/utilities/board-context.js +12 -0
  245. package/lib/utilities/copyText.d.ts +2 -0
  246. package/lib/utilities/copyText.js +48 -0
  247. package/lib/utilities/renderer-event.d.ts +10 -0
  248. package/lib/utilities/renderer-event.js +95 -0
  249. package/lib/utilities/screen-capture-permission.d.ts +2 -0
  250. package/lib/utilities/screen-capture-permission.js +24 -0
  251. package/lib/utilities/screen.d.ts +3 -0
  252. package/lib/utilities/screen.js +53 -0
  253. package/lib/utilities/video-track-render-context.d.ts +6 -0
  254. package/lib/utilities/video-track-render-context.js +9 -0
  255. package/lib/waiting-room-control-manager.d.ts +28 -0
  256. package/lib/waiting-room-control-manager.js +230 -0
  257. package/package.json +5 -5
  258. package/public/index.html +22 -1
  259. package/lib/providers/board-share/bar-control.d.ts +0 -51
@@ -11,6 +11,9 @@ export declare class FcrUIMouseDetectProviderImpl implements FcrUIManagedObject,
11
11
  private _isInDetectArea;
12
12
  private _task;
13
13
  private _detectionOffset;
14
+ private _isDebug;
15
+ private _displayId;
16
+ private _debugWindowObserver;
14
17
  constructor(objectManager: FcrUIObjectManager);
15
18
  setDisplayId(displayId: number): void;
16
19
  setDetectArea(areaId: FcrUIDetectAreaID, areaList: FcrUI.FcrUIRectangle[]): void;
@@ -21,4 +24,6 @@ export declare class FcrUIMouseDetectProviderImpl implements FcrUIManagedObject,
21
24
  removeObserver(observer: FcrUIMouseDetectObserver): void;
22
25
  release(): void;
23
26
  private _detect;
27
+ private _debug;
28
+ private _setDebugWindowOffset;
24
29
  }
@@ -124,6 +124,38 @@ var FcrUIMouseDetectProviderImpl = exports.FcrUIMouseDetectProviderImpl = /*#__P
124
124
  x: 0,
125
125
  y: 0
126
126
  });
127
+ (0, _defineProperty2["default"])(this, "_isDebug", false);
128
+ (0, _defineProperty2["default"])(this, "_displayId", null);
129
+ (0, _defineProperty2["default"])(this, "_debugWindowObserver", {
130
+ onReady: function onReady() {
131
+ var AreaDebugger = (0, _mobxReact.observer)(function () {
132
+ var content = Array.from(_this._detectAreas.keys()).map(function (areaId) {
133
+ var list = _this._detectAreas.get(areaId);
134
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
135
+ "data-area-id": areaId,
136
+ children: list.map(function (item, index) {
137
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
138
+ style: {
139
+ width: item.width,
140
+ height: item.height,
141
+ position: 'absolute',
142
+ top: item.y,
143
+ left: item.x,
144
+ backgroundColor: 'rgba(10,10,10,0.5)'
145
+ }
146
+ }, index);
147
+ })
148
+ }, areaId);
149
+ });
150
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
151
+ className: "fcr-ui-mouse-detect-debugger",
152
+ children: content
153
+ });
154
+ });
155
+ var window = _this._windowProvder.getWindowById(_constant.FcrUIDialogKey.MOUSE_DETECT_DEBUG);
156
+ _reactDom["default"].render(/*#__PURE__*/(0, _jsxRuntime.jsx)(AreaDebugger, {}), window.getRootNode());
157
+ }
158
+ });
127
159
  this.objectManager = objectManager;
128
160
  this._renderer = objectManager.getObject(_objectManager.FcrUIObjectKeys.RENDERER_WRAPPER);
129
161
  this._windowProvder = objectManager.getObject(_objectManager.FcrUIObjectKeys.P_WINDOW_PROVIDER);
@@ -136,49 +168,7 @@ var FcrUIMouseDetectProviderImpl = exports.FcrUIMouseDetectProviderImpl = /*#__P
136
168
  }
137
169
 
138
170
  // 调试时使用,用于查看检测区域
139
- var debug = false;
140
- if (debug) {
141
- this._windowProvder.setWindowOptions(_constant.FcrUIDialogKey.MOUSE_DETECT_DEBUG, {
142
- frame: false,
143
- transparent: true,
144
- backgroundColor: '#00000000',
145
- title: 'MouseDetectDebugger'
146
- });
147
- var window = this._windowProvder.getWindowById(_constant.FcrUIDialogKey.MOUSE_DETECT_DEBUG);
148
- window.show();
149
- window.setIgnoreMouseEvents(true);
150
- this.logger.info('windows_index setAlwaysOnTop in mouse-detect-provider');
151
- window.setAlwaysOnTop(true, 'screen-saver', _levelConfig.WindowRelativeLevel.MOUSE_DETECT_DEBUGGER_LEVEL);
152
- window.addObserver({
153
- onReady: function onReady() {
154
- var AreaDebugger = (0, _mobxReact.observer)(function () {
155
- var content = Array.from(_this._detectAreas.keys()).map(function (areaId) {
156
- var list = _this._detectAreas.get(areaId);
157
- return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
158
- "data-area-id": areaId,
159
- children: list.map(function (item, index) {
160
- return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
161
- style: {
162
- width: item.width,
163
- height: item.height,
164
- position: 'absolute',
165
- top: item.y,
166
- left: item.x,
167
- backgroundColor: 'rgba(10,10,10,0.5)'
168
- }
169
- }, index);
170
- })
171
- }, areaId);
172
- });
173
- return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
174
- className: "fcr-ui-mouse-detect-debugger",
175
- children: content
176
- });
177
- });
178
- _reactDom["default"].render(/*#__PURE__*/(0, _jsxRuntime.jsx)(AreaDebugger, {}), window.getRootNode());
179
- }
180
- });
181
- }
171
+ // this._debug(true);
182
172
  }
183
173
  return (0, _createClass2["default"])(FcrUIMouseDetectProviderImpl, [{
184
174
  key: "_detectAreas",
@@ -191,12 +181,9 @@ var FcrUIMouseDetectProviderImpl = exports.FcrUIMouseDetectProviderImpl = /*#__P
191
181
  }, {
192
182
  key: "setDisplayId",
193
183
  value: function setDisplayId(displayId) {
194
- var display = this._renderer.getAllDisplays().find(function (d) {
195
- return d.id === displayId;
196
- });
197
- if (display) {
198
- var window = this._windowProvder.getWindowById(_constant.FcrUIDialogKey.MOUSE_DETECT_DEBUG);
199
- window.setBounds(display.bounds);
184
+ this._displayId = displayId;
185
+ if (this._isDebug) {
186
+ this._setDebugWindowOffset();
200
187
  }
201
188
  }
202
189
  }, {
@@ -284,6 +271,44 @@ var FcrUIMouseDetectProviderImpl = exports.FcrUIMouseDetectProviderImpl = /*#__P
284
271
  });
285
272
  }
286
273
  }
274
+
275
+ // debug purpose
276
+ }, {
277
+ key: "_debug",
278
+ value: function _debug(enable) {
279
+ if (enable) {
280
+ this._isDebug = true;
281
+ this._windowProvder.setWindowOptions(_constant.FcrUIDialogKey.MOUSE_DETECT_DEBUG, {
282
+ frame: false,
283
+ transparent: true,
284
+ backgroundColor: '#00000000',
285
+ title: 'MouseDetectDebugger'
286
+ });
287
+ var window = this._windowProvder.getWindowById(_constant.FcrUIDialogKey.MOUSE_DETECT_DEBUG);
288
+ this._setDebugWindowOffset();
289
+ window.show();
290
+ window.setIgnoreMouseEvents(true);
291
+ window.setAlwaysOnTop(true, 'screen-saver', _levelConfig.WindowRelativeLevel.MOUSE_DETECT_DEBUGGER_LEVEL);
292
+ window.addObserver(this._debugWindowObserver);
293
+ } else {
294
+ this._isDebug = false;
295
+ var _window = this._windowProvder.getWindowById(_constant.FcrUIDialogKey.MOUSE_DETECT_DEBUG);
296
+ _window.removeObserver(this._debugWindowObserver);
297
+ _window.close();
298
+ }
299
+ }
300
+ }, {
301
+ key: "_setDebugWindowOffset",
302
+ value: function _setDebugWindowOffset() {
303
+ var _this3 = this;
304
+ var display = this._renderer.getAllDisplays().find(function (d) {
305
+ return d.id === _this3._displayId;
306
+ });
307
+ if (display) {
308
+ var window = this._windowProvder.getWindowById(_constant.FcrUIDialogKey.MOUSE_DETECT_DEBUG);
309
+ window.setBounds(display.bounds);
310
+ }
311
+ }
287
312
  }]);
288
313
  }();
289
314
  _FcrUIMouseDetectProviderImpl = FcrUIMouseDetectProviderImpl;
@@ -1,5 +1,5 @@
1
1
  import { FcrSharingControl } from 'fcr-core/lib/type';
2
- import { FcrUIDisplayContentDistribution, FcrUIDisplayDistributionContentType, FcrUIDisplayState, FcrUIMainWindowRenderer, FcrUIMultiDisplayObserver } from '../modules/secondary-window/type';
2
+ import { FcrUIDisplayContentDistribution, FcrUIDisplayDistributionContentType, FcrUIDisplayState, FcrUIMultiDisplayObserver } from '../modules/secondary-window/type';
3
3
  import { FcrUIManagedObject } from '../object-manager';
4
4
  import { FcrUISharedMemberDataSource } from '../shared-data/member-data';
5
5
  import { FcrUISharedSettingDataSource } from '../shared-data/setting';
@@ -28,7 +28,7 @@ export interface FcrUIMultiDisplayProvider {
28
28
  showMainWindowInIndexLeastDisplay(options?: {
29
29
  displayOfCurrentSharingBounds?: Electron.Display;
30
30
  /** 是否最大化应用窗口,不是 mac 下的应用全屏 */
31
- maximize?: boolean;
31
+ isMaximized?: boolean;
32
32
  }): void;
33
33
  /** 如果屏幕共享和主窗口在同一个显示器,则将主窗口移动到排序最小的显示器中,共享屏幕(窗口)所在的显示器除外 */
34
34
  moveMainWindowToIndexLeastDisplay(): void;
@@ -48,7 +48,6 @@ export declare class FcrUIMultiDisplayProviderImpl implements FcrUIMultiDisplayP
48
48
  private _screenShareProvider;
49
49
  private _mainWindow;
50
50
  private _renderer;
51
- private _fcrUIMainWindowRenderer;
52
51
  private _contentDistribution;
53
52
  private _isLocalUserNotScreenSharing;
54
53
  private _screenShareObserver;
@@ -66,7 +65,7 @@ export declare class FcrUIMultiDisplayProviderImpl implements FcrUIMultiDisplayP
66
65
  get mianWindowContentType(): `${FcrUIDisplayDistributionContentType}`;
67
66
  get secondaryWindowContentType(): `${FcrUIDisplayDistributionContentType}`;
68
67
  get isLocalCameraInSecondaryWindow(): boolean;
69
- constructor({ sharedSettingDataSource, sharedMemberDataSource, sharedVideoWindowDataSource, windowProvider, renderer, sharingControl, whiteboardProvider, fcrUIMainWindowRenderer, screenShareProvider, }: {
68
+ constructor({ sharedSettingDataSource, sharedMemberDataSource, sharedVideoWindowDataSource, windowProvider, renderer, sharingControl, whiteboardProvider, screenShareProvider, }: {
70
69
  sharedSettingDataSource: FcrUISharedSettingDataSource;
71
70
  sharedMemberDataSource: FcrUISharedMemberDataSource;
72
71
  sharedVideoWindowDataSource: FcrUIVideoWindowDataSource;
@@ -74,7 +73,6 @@ export declare class FcrUIMultiDisplayProviderImpl implements FcrUIMultiDisplayP
74
73
  renderer: FcrUIRendererWrapper;
75
74
  sharingControl: FcrSharingControl;
76
75
  whiteboardProvider: FcrUIBoardShareProvider;
77
- fcrUIMainWindowRenderer: FcrUIMainWindowRenderer;
78
76
  screenShareProvider: FcrUIScreenShareProvider;
79
77
  });
80
78
  addObserver(observer: FcrUIMultiDisplayObserver): void;
@@ -100,7 +100,6 @@ var FcrUIMultiDisplayProviderImpl = exports.FcrUIMultiDisplayProviderImpl = /*#_
100
100
  renderer = _ref.renderer,
101
101
  sharingControl = _ref.sharingControl,
102
102
  whiteboardProvider = _ref.whiteboardProvider,
103
- fcrUIMainWindowRenderer = _ref.fcrUIMainWindowRenderer,
104
103
  screenShareProvider = _ref.screenShareProvider;
105
104
  (0, _classCallCheck2["default"])(this, FcrUIMultiDisplayProviderImpl);
106
105
  (0, _defineProperty2["default"])(this, "_logger", (_initProto(this), (0, _logger.createLogger)({
@@ -148,7 +147,6 @@ var FcrUIMultiDisplayProviderImpl = exports.FcrUIMultiDisplayProviderImpl = /*#_
148
147
  this._sharingControl = sharingControl;
149
148
  this._mainWindow = windowProvider.getCurrentWindow();
150
149
  this._renderer = renderer;
151
- this._fcrUIMainWindowRenderer = fcrUIMainWindowRenderer;
152
150
  this._screenShareProvider = screenShareProvider;
153
151
  this._renderer.addEventListener(this._handleDisplayCountUpdated);
154
152
  this._screenShareProvider.addObserver(this._screenShareObserver);
@@ -527,13 +525,11 @@ var FcrUIMultiDisplayProviderImpl = exports.FcrUIMultiDisplayProviderImpl = /*#_
527
525
  this._observers.notifyObservers('onContentDistributionUpdated', distribution);
528
526
  if (distribution.secondaryWindow.type === 'hidden' && !this._isHidden) {
529
527
  this._whiteboardProvider.setIsDualDisplayMode(false);
530
- this._fcrUIMainWindowRenderer.removeAllObservers();
531
528
  this._isHidden = true;
532
529
  return;
533
530
  }
534
531
  if (distribution.secondaryWindow.type !== 'hidden' && this._isHidden) {
535
532
  this._whiteboardProvider.setIsDualDisplayMode(true);
536
- this._fcrUIMainWindowRenderer.addObserver(this._whiteboardProvider.boardBarControl.toolbarStateObserver);
537
533
  this._isHidden = false;
538
534
  return;
539
535
  }
@@ -555,11 +551,6 @@ var FcrUIMultiDisplayProviderImpl = exports.FcrUIMultiDisplayProviderImpl = /*#_
555
551
  }
556
552
  this._setDisplayState(state);
557
553
  this._whiteboardProvider.setIsDualDisplayMode(state.isSecondaryWindowModeEnabled);
558
- if (state.isSecondaryWindowModeEnabled) {
559
- this._fcrUIMainWindowRenderer.addObserver(this._whiteboardProvider.boardBarControl.toolbarStateObserver);
560
- } else {
561
- this._fcrUIMainWindowRenderer.removeAllObservers();
562
- }
563
554
  }
564
555
  }, {
565
556
  key: "_handleScreenSharingState",
@@ -1,7 +1,7 @@
1
1
  import { FcrCoreEngine } from 'fcr-core';
2
2
  import { FcrBaseRoomControl, FcrMainRoomControl, FcrRoomType, FcrWaitingRoomControl } from 'fcr-core/lib/room-control/type';
3
3
  import { FcrLiveStreamingConfig, FcrLiveStreamingState, FcrRecordingState, FcrUserInfo } from 'fcr-core/lib/type';
4
- import { FcrUIConnectionObserver, FcrUIExitReason, FcrUIRoomObserver, FcrUISceneConfig } from '../../type';
4
+ import { FcrUIExitReason, FcrUIRoomObserver, FcrUISceneConfig } from '../../type';
5
5
  import { FcrUIMessageProvider } from '../message/type';
6
6
  import { FcrUISharedInterpreterDataSource } from '../../shared-data/interpreter';
7
7
  import { FcrUIManagedObject } from '../../object-manager';
@@ -75,12 +75,7 @@ export interface FcrUIRoomProvider {
75
75
  addObserver(observer: FcrUIRoomObserver): void;
76
76
  removeObserver(observer: FcrUIRoomObserver): void;
77
77
  }
78
- export interface FcrUIConnectionProvider {
79
- addObserver(observer: FcrUIConnectionObserver): void;
80
- removeObserver(observer: FcrUIConnectionObserver): void;
81
- }
82
78
  export declare class FcrUIRoomProviderImpl implements FcrUIRoomProvider {
83
- private _eventProvider;
84
79
  private _sceneConfig;
85
80
  private _engine;
86
81
  private _messageProvider;
@@ -99,7 +94,7 @@ export declare class FcrUIRoomProviderImpl implements FcrUIRoomProvider {
99
94
  accessor liveStreamingState: FcrLiveStreamingState;
100
95
  accessor liveStreamingConfig: FcrLiveStreamingConfig | undefined;
101
96
  accessor cloudRecordingState: FcrRecordingState;
102
- constructor(_eventProvider: FcrUIEventProvider, _sceneConfig: FcrUISceneConfig, _engine: FcrCoreEngine, _messageProvider: FcrUIMessageProvider);
97
+ constructor(_sceneConfig: FcrUISceneConfig, _engine: FcrCoreEngine, _messageProvider: FcrUIMessageProvider);
103
98
  get currentRoomControl(): FcrBaseRoomControl;
104
99
  get waitingRoomManager(): FcrUIWaitingRoomControlManager;
105
100
  setIsSelfEndMeeting(isSelfEndMeeting: boolean): void;
@@ -113,13 +108,6 @@ export declare class FcrUIRoomProviderImpl implements FcrUIRoomProvider {
113
108
  private _getJoinRoomOption;
114
109
  private _initBaseRoomState;
115
110
  }
116
- export declare class FcrUIConnectionProviderImpl implements FcrUIConnectionProvider, FcrUIManagedObject {
117
- private _engine;
118
- constructor(_engine: FcrCoreEngine);
119
- addObserver(observer: FcrUIConnectionObserver): void;
120
- removeObserver(observer: FcrUIConnectionObserver): void;
121
- release(): void;
122
- }
123
111
  export declare class FcrUIMainRoomControlProviderImpl implements FcrUIMainRoomControlProvider, FcrUIManagedObject {
124
112
  private _mainRoomControl;
125
113
  private _sharedInterpreterDataSource;
@@ -159,6 +147,7 @@ export declare class FcrUIWaitingRoomControlProviderImpl implements FcrUIWaiting
159
147
  }
160
148
  export declare class FcrUICurrentRoomControlProviderImpl implements FcrUICurrentRoomControlProvider, FcrUIManagedObject {
161
149
  private _currentRoomControl;
150
+ private _roomType;
162
151
  constructor(_currentRoomControl: FcrBaseRoomControl);
163
152
  get currentRoomControl(): FcrBaseRoomControl;
164
153
  get currentRoomType(): FcrRoomType;
@@ -23,7 +23,7 @@ var _typeof = require("@babel/runtime/helpers/typeof");
23
23
  Object.defineProperty(exports, "__esModule", {
24
24
  value: true
25
25
  });
26
- exports.FcrUIWaitingRoomControlProviderImpl = exports.FcrUIRoomProviderImpl = exports.FcrUIMainRoomControlProviderImpl = exports.FcrUICurrentRoomControlProviderImpl = exports.FcrUIConnectionProviderImpl = void 0;
26
+ exports.FcrUIWaitingRoomControlProviderImpl = exports.FcrUIRoomProviderImpl = exports.FcrUIMainRoomControlProviderImpl = exports.FcrUICurrentRoomControlProviderImpl = void 0;
27
27
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
28
28
  require("core-js/modules/es.error.cause.js");
29
29
  require("core-js/modules/es.error.to-string.js");
@@ -99,7 +99,7 @@ var _B = /*#__PURE__*/new WeakMap();
99
99
  var _C = /*#__PURE__*/new WeakMap();
100
100
  _ref = (_initBaseRoomStateDecs = [_mobx.action, _mobx.action.bound], "logger");
101
101
  var FcrUIRoomProviderImpl = exports.FcrUIRoomProviderImpl = /*#__PURE__*/function () {
102
- function FcrUIRoomProviderImpl(_eventProvider, _sceneConfig, _engine, _messageProvider) {
102
+ function FcrUIRoomProviderImpl(_sceneConfig, _engine, _messageProvider) {
103
103
  var _this = this;
104
104
  (0, _classCallCheck2["default"])(this, FcrUIRoomProviderImpl);
105
105
  (0, _defineProperty2["default"])(this, _ref, (_initProto(this), (0, _logger.getLogger)()));
@@ -166,12 +166,9 @@ var FcrUIRoomProviderImpl = exports.FcrUIRoomProviderImpl = /*#__PURE__*/functio
166
166
  _classPrivateFieldInitSpec(this, _A, _init_liveStreamingState(this, _type3.FcrLiveStreamingState.STOPPED));
167
167
  _classPrivateFieldInitSpec(this, _B, _init_liveStreamingConfig(this, undefined));
168
168
  _classPrivateFieldInitSpec(this, _C, _init_cloudRecordingState(this, _type3.FcrRecordingState.Stopped));
169
- this._eventProvider = _eventProvider;
170
169
  this._sceneConfig = _sceneConfig;
171
170
  this._engine = _engine;
172
171
  this._messageProvider = _messageProvider;
173
- //@ts-ignore
174
- window.roomStore = this;
175
172
  this._baseRoomControlObserver = {
176
173
  onRoomStateUpdated: function onRoomStateUpdated(roomId, state) {
177
174
  if (state === _type3.FcrRoomState.Closed) {
@@ -248,6 +245,7 @@ var FcrUIRoomProviderImpl = exports.FcrUIRoomProviderImpl = /*#__PURE__*/functio
248
245
  key: "release",
249
246
  value: function release() {
250
247
  var _this$_currentRoomCon;
248
+ this._roomRouter.leaveRoom();
251
249
  (_this$_currentRoomCon = this._currentRoomControl) === null || _this$_currentRoomCon === void 0 || _this$_currentRoomCon.leave();
252
250
  this._currentRoomControl = undefined;
253
251
  this.setIsSelfEndMeeting(false);
@@ -349,26 +347,6 @@ _init_liveStreamingState = _applyDecs$e[0];
349
347
  _init_liveStreamingConfig = _applyDecs$e[1];
350
348
  _init_cloudRecordingState = _applyDecs$e[2];
351
349
  _initProto = _applyDecs$e[3];
352
- var FcrUIConnectionProviderImpl = exports.FcrUIConnectionProviderImpl = /*#__PURE__*/function () {
353
- function FcrUIConnectionProviderImpl(_engine) {
354
- (0, _classCallCheck2["default"])(this, FcrUIConnectionProviderImpl);
355
- this._engine = _engine;
356
- }
357
- return (0, _createClass2["default"])(FcrUIConnectionProviderImpl, [{
358
- key: "addObserver",
359
- value: function addObserver(observer) {
360
- this._engine.addObserver(observer);
361
- }
362
- }, {
363
- key: "removeObserver",
364
- value: function removeObserver(observer) {
365
- this._engine.removeObserver(observer);
366
- }
367
- }, {
368
- key: "release",
369
- value: function release() {}
370
- }]);
371
- }();
372
350
  var _A2 = /*#__PURE__*/new WeakMap();
373
351
  var _B2 = /*#__PURE__*/new WeakMap();
374
352
  _ref2 = (_initUserMapDecs = [_mobx.action, _mobx.action.bound], _handleSecurityUpdatedDecs = [_mobx.action, _mobx.action.bound], "_privilegeProvider");
@@ -740,6 +718,7 @@ var FcrUICurrentRoomControlProviderImpl = exports.FcrUICurrentRoomControlProvide
740
718
  function FcrUICurrentRoomControlProviderImpl(_currentRoomControl) {
741
719
  (0, _classCallCheck2["default"])(this, FcrUICurrentRoomControlProviderImpl);
742
720
  this._currentRoomControl = _currentRoomControl;
721
+ this._roomType = this._currentRoomControl.getRoomInfo().roomType;
743
722
  }
744
723
  return (0, _createClass2["default"])(FcrUICurrentRoomControlProviderImpl, [{
745
724
  key: "currentRoomControl",
@@ -749,7 +728,7 @@ var FcrUICurrentRoomControlProviderImpl = exports.FcrUICurrentRoomControlProvide
749
728
  }, {
750
729
  key: "currentRoomType",
751
730
  get: function get() {
752
- return this._currentRoomControl.getRoomInfo().roomType;
731
+ return this._roomType;
753
732
  }
754
733
  }, {
755
734
  key: "release",
@@ -0,0 +1,194 @@
1
+ import { FcrCoreEngine } from 'fcr-core';
2
+ import { FcrBaseRoomControl, FcrMainRoomControl, FcrRoomType, FcrWaitingRoomControl } from 'fcr-core/lib/room-control/type';
3
+ import { FcrLiveStreamingConfig, FcrLiveStreamingState, FcrRecordingState, FcrUserInfo } from 'fcr-core/lib/type';
4
+ import { FcrUIConnectionObserver, FcrUIExitReason, FcrUIRoomObserver, FcrUISceneConfig } from '../type';
5
+ import { FcrUIEventProvider } from './event-provider';
6
+ import { FcrUIPrivilegeProvider, FcrUIPrivilegeProviderImpl } from './privilege-provider';
7
+ import { FcrUIMessageProvider } from './message-provider';
8
+ import { FcrUIDialogProvider } from './dialog-provider';
9
+ import { FcrUISharedInterpreterDataSource } from '../shared-data-source/interpreter';
10
+ import FcrUIWaitingRoomControlManager from '../waiting-room-control-manager';
11
+ export interface FcrUIMainRoomControlProvider {
12
+ /**
13
+ * 主房间 privilegeProvider
14
+ */
15
+ get privilegeProvider(): FcrUIPrivilegeProvider;
16
+ /**
17
+ * 主房间
18
+ */
19
+ get mainRoomControl(): FcrMainRoomControl;
20
+ }
21
+ export interface FcrUIWaitingRoomControlProvider {
22
+ /**
23
+ * 等候室 privilegeProvider
24
+ */
25
+ get privilegeProvider(): FcrUIPrivilegeProvider | undefined;
26
+ /**
27
+ * 等候室
28
+ */
29
+ get waitingRoomControl(): FcrWaitingRoomControl | undefined;
30
+ }
31
+ export interface FcrUICurrentRoomControlProvider {
32
+ /**
33
+ * 当前房间
34
+ */
35
+ get currentRoomControl(): FcrBaseRoomControl;
36
+ /**
37
+ * 当前房间类型
38
+ */
39
+ get currentRoomType(): FcrRoomType;
40
+ }
41
+ export interface FcrUIExitRoomParamsType {
42
+ reason: FcrUIExitReason;
43
+ roomType?: number;
44
+ }
45
+ export interface FcrUIRoomProvider {
46
+ /**
47
+ * 当前房间
48
+ */
49
+ get currentRoomControl(): FcrBaseRoomControl | undefined;
50
+ /**
51
+ * 直播状态
52
+ */
53
+ get liveStreamingState(): FcrLiveStreamingState;
54
+ /**
55
+ * 直播配置
56
+ */
57
+ get liveStreamingConfig(): FcrLiveStreamingConfig | undefined;
58
+ /**
59
+ * 云录制状态
60
+ */
61
+ get cloudRecordingState(): FcrRecordingState;
62
+ /**
63
+ * 是不是自己结束会议的
64
+ */
65
+ get isSelfEndMeeting(): boolean;
66
+ /**
67
+ * 设置是不是自己结束会议的
68
+ */
69
+ setIsSelfEndMeeting(isSelfEndMeeting: boolean): void;
70
+ getRoomDetailCopyText(): string;
71
+ /**
72
+ * 启动直播
73
+ */
74
+ startLiveStreaming(params: FcrLiveStreamingConfig): Promise<void>;
75
+ /**
76
+ * 停止直播
77
+ */
78
+ stopLiveStreaming(): Promise<void>;
79
+ /**
80
+ * 退出房间
81
+ */
82
+ exitRoom(): void;
83
+ /**
84
+ * 开启云录制
85
+ */
86
+ startCloudRecording(): Promise<void>;
87
+ /**
88
+ * 暂停云录制
89
+ */
90
+ pauseCloudRecording(): Promise<void>;
91
+ /**
92
+ * 恢复云录制
93
+ */
94
+ resumeCloudRecording(): Promise<void>;
95
+ /**
96
+ * 停止云录制
97
+ */
98
+ stopCloudRecording(): Promise<void>;
99
+ addObserver(observer: FcrUIRoomObserver): void;
100
+ removeObserver(observer: FcrUIRoomObserver): void;
101
+ }
102
+ export interface FcrUIConnectionProvider {
103
+ addObserver(observer: FcrUIConnectionObserver): void;
104
+ removeObserver(observer: FcrUIConnectionObserver): void;
105
+ }
106
+ export declare class FcrUIRoomProviderImpl implements FcrUIRoomProvider {
107
+ private _eventProvider;
108
+ private _sceneConfig;
109
+ private _engine;
110
+ private _messageProvider;
111
+ protected logger: import("agora-foundation/lib/logger").Logger;
112
+ private _observable;
113
+ private _waitingRoomManager?;
114
+ private _lastRoomControlType?;
115
+ private _isSelfJoinRoom;
116
+ private _roomInfo?;
117
+ private _roomSchedule?;
118
+ private _localUserInfo?;
119
+ private _waitingRoomManagerObserver;
120
+ private _baseRoomControlObserver;
121
+ private _userControlObserver;
122
+ private _currentRoomControl?;
123
+ private _roomRouter;
124
+ private _isSelfEndMeeting;
125
+ private _roomRouterObserver;
126
+ accessor liveStreamingState: FcrLiveStreamingState;
127
+ accessor liveStreamingConfig: FcrLiveStreamingConfig | undefined;
128
+ accessor cloudRecordingState: FcrRecordingState;
129
+ constructor(_eventProvider: FcrUIEventProvider, _sceneConfig: FcrUISceneConfig, _engine: FcrCoreEngine, _messageProvider: FcrUIMessageProvider);
130
+ getRoomDetailCopyText(): string;
131
+ get currentRoomControl(): FcrBaseRoomControl;
132
+ get waitingRoomManager(): FcrUIWaitingRoomControlManager;
133
+ setIsSelfEndMeeting(isSelfEndMeeting: boolean): void;
134
+ get isSelfEndMeeting(): boolean;
135
+ release(): void;
136
+ private _releaseWaitingRoomManager;
137
+ handleJoinRoom(): Promise<void>;
138
+ startLiveStreaming(params: FcrLiveStreamingConfig): Promise<void>;
139
+ stopLiveStreaming(): Promise<void>;
140
+ exitRoom(): void;
141
+ startCloudRecording(): Promise<void>;
142
+ pauseCloudRecording(): Promise<void>;
143
+ resumeCloudRecording(): Promise<void>;
144
+ stopCloudRecording(): Promise<void>;
145
+ addObserver(observer: FcrUIRoomObserver): void;
146
+ removeObserver(observer: FcrUIRoomObserver): void;
147
+ private _getJoinRoomOption;
148
+ private _initBaseRoomState;
149
+ }
150
+ export declare class FcrUIConnectionProviderImpl implements FcrUIConnectionProvider {
151
+ private _engine;
152
+ constructor(_engine: FcrCoreEngine);
153
+ addObserver(observer: FcrUIConnectionObserver): void;
154
+ removeObserver(observer: FcrUIConnectionObserver): void;
155
+ }
156
+ export declare class FcrUIMainRoomControlProviderImpl implements FcrUIMainRoomControlProvider {
157
+ private _mainRoomControl;
158
+ private _sharedInterpreterDataSource;
159
+ private _privilegeProvider;
160
+ private _privilegeControl;
161
+ private _userControl;
162
+ private _privilegeObserver;
163
+ private _eventObserver;
164
+ private _userObserver;
165
+ private _messageProvider;
166
+ private _dialogProvider;
167
+ private _eventProvider;
168
+ private _prevWaterMarkEnable;
169
+ private _userMap;
170
+ accessor privilegeOperator: FcrUserInfo | undefined;
171
+ accessor boardOwnerUser: FcrUserInfo | undefined;
172
+ constructor(_mainRoomControl: FcrMainRoomControl, eventProvider: FcrUIEventProvider, messageProvider: FcrUIMessageProvider, dialogProvider: FcrUIDialogProvider, _sharedInterpreterDataSource: FcrUISharedInterpreterDataSource);
173
+ get mainRoomControl(): FcrMainRoomControl;
174
+ get privilegeProvider(): FcrUIPrivilegeProviderImpl;
175
+ private get _localUser();
176
+ release(): void;
177
+ private _handleSecurityUpdated;
178
+ private _handleUserRoleChangeToast;
179
+ }
180
+ export declare class FcrUIWaitingRoomControlProviderImpl implements FcrUIWaitingRoomControlProvider {
181
+ private _waitingRoomControl?;
182
+ private _privilegeProvider?;
183
+ private _eventProvider?;
184
+ constructor(roomProvider: FcrUIRoomProvider, eventProvider: FcrUIEventProvider);
185
+ get waitingRoomControl(): FcrWaitingRoomControl | undefined;
186
+ get privilegeProvider(): FcrUIPrivilegeProviderImpl | undefined;
187
+ private _setWaitingRoomControl;
188
+ }
189
+ export declare class FcrUICurrentRoomControlProviderImpl implements FcrUICurrentRoomControlProvider {
190
+ private _currentRoomControl;
191
+ constructor(_currentRoomControl: FcrBaseRoomControl);
192
+ get currentRoomControl(): FcrBaseRoomControl;
193
+ get currentRoomType(): FcrRoomType;
194
+ }