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
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.Annotation = void 0;
9
+ var _mobxReact = require("mobx-react");
10
+ var _react = require("react");
11
+ var _store = require("./store");
12
+ require("./style.css");
13
+ require("./board-cursor.css");
14
+ var _classnames = _interopRequireDefault(require("classnames"));
15
+ var _enums = require("fcr-core/lib/room-control/whiteboard-control/enums");
16
+ var _annotationToolbarStore = require("./annotation-toolbar-store");
17
+ var _annotationIndex = require("./annotation-index");
18
+ var _jsxRuntime = require("react/jsx-runtime");
19
+ var Annotation = exports.Annotation = (0, _mobxReact.observer)(function () {
20
+ var _useContext = (0, _react.useContext)(_store.AnnotationStoreContext),
21
+ handleBoardDomLoad = _useContext.handleBoardDomLoad,
22
+ isShowToolbar = _useContext.isShowToolbar,
23
+ getToolbarStore = _useContext.getToolbarStore,
24
+ currentTool = _useContext.currentTool;
25
+ var cursorClassname = isShowToolbar ? "board-widget-cursor-".concat([_enums.FcrBoardToolType[currentTool || _enums.FcrBoardToolType.NONE]]) : 'board-widget-cursor-normal';
26
+ var boardWidgetAppCls = (0, _classnames["default"])('fcr-annotation-receiver-wrapper', 'netless-whiteboard-wrapper', {
27
+ 'fcr-annotation-receiver-wrapper--editing': isShowToolbar
28
+ }, cursorClassname.toLowerCase());
29
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
30
+ className: boardWidgetAppCls,
31
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
32
+ className: "annotation-container",
33
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_annotationToolbarStore.AnnotationReceiverToolbarContext.Provider, {
34
+ value: getToolbarStore(),
35
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
36
+ className: "annotation-main",
37
+ ref: handleBoardDomLoad
38
+ }), isShowToolbar ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_annotationIndex.Toolbar, {}) : /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
39
+ className: "annotation-action-prevent"
40
+ })]
41
+ })
42
+ })
43
+ });
44
+ });
@@ -108,6 +108,10 @@
108
108
  width: 100%;
109
109
  }
110
110
 
111
- .fcr-chat-container-box {
111
+ .fcr-chat-container-box-web {
112
+ height: 100%;
113
+ }
114
+
115
+ .fcr-chat-container-box-electron {
112
116
  height: calc(100% - 46px);
113
117
  }
@@ -50,6 +50,8 @@ var _fcrCore = require("fcr-core");
50
50
  var _types = require("./types");
51
51
  var _chatTabs = _interopRequireDefault(require("./components/chat-tabs"));
52
52
  var _browserApi = require("../../utilities/browser-api");
53
+ var _classnames = _interopRequireDefault(require("classnames"));
54
+ var _env = require("agora-foundation/lib/utilities/env");
53
55
  var _jsxRuntime = require("react/jsx-runtime");
54
56
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
55
57
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -195,7 +197,10 @@ var Chat = exports.Chat = (0, _mobxReact.observer)(function (_ref) {
195
197
  });
196
198
  };
197
199
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
198
- className: "fcr-chat-container-box",
200
+ className: (0, _classnames["default"])({
201
+ 'fcr-chat-container-box-web': !(0, _env.isElectron)(),
202
+ 'fcr-chat-container-box-electron': (0, _env.isElectron)()
203
+ }),
199
204
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_chatTabs["default"], {}), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
200
205
  style: _objectSpread({}, styles),
201
206
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_chatWrapper.ChatWrapper, {
@@ -11,6 +11,8 @@
11
11
  .fcr-whiteboard-switch-theme-popover {
12
12
  max-width: 100%;
13
13
  width: 100%;
14
+ z-index: 1;
15
+ padding: 0;
14
16
  }
15
17
  .fcr-whiteboard-switch-theme-popover .fcr-tooltip-inner {
16
18
  border-radius: 0 !important;
@@ -38,13 +38,11 @@ var WhiteboardSwitchTheme = function WhiteboardSwitchTheme(props) {
38
38
  width: '100%'
39
39
  },
40
40
  overlayOffset: 4,
41
- showArrow: false
42
- // getTooltipContainer={() => {
43
- // const target = document.getElementById('fcr-whiteboard-controlbar') as HTMLElement;
44
- // console.log({ target });
45
- // return target;
46
- // }}
47
- ,
41
+ showArrow: false,
42
+ getTooltipContainer: function getTooltipContainer() {
43
+ var target = document.getElementById('fcr-whiteboard-controlbar');
44
+ return target;
45
+ },
48
46
  visible: whiteboardVisible,
49
47
  content: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
50
48
  className: "fcr-whiteboard-switch-theme",
@@ -90,6 +90,10 @@ var WhiteboardControlbar = exports.WhiteboardControlbar = function WhiteboardCon
90
90
  setContianHeight(height);
91
91
  }, []);
92
92
  var resetHeightDebounce = (0, _react.useCallback)((0, _debounce["default"])(resetHeight, 100), []);
93
+ var ratio = (0, _react.useMemo)(function () {
94
+ var ratio = contianHeight / initHeight;
95
+ return ratio;
96
+ }, [contianHeight, initHeight]);
93
97
  (0, _react.useEffect)(function () {
94
98
  window.addEventListener('resize', resetHeightDebounce);
95
99
  return function () {
@@ -117,16 +121,18 @@ var WhiteboardControlbar = exports.WhiteboardControlbar = function WhiteboardCon
117
121
  setIsMaxmum(false);
118
122
  setIsAdaptived(false);
119
123
  setIsOriginal(false);
120
- var step = 3;
124
+ var max = 3;
125
+ var step = 0.5;
121
126
  if (oprate === _type2.WhiteboardControlbarEvents.ZOOMIN) {
122
127
  if (onZoomIn) {
123
128
  var result = onZoomIn();
124
129
  setIsMaxmum(!result);
125
130
  return;
126
131
  }
127
- if (scaleValue < step) {
132
+ if (scaleValue < max) {
128
133
  setIsMaxmum(false);
129
- setScaleValue(scaleValue + 1);
134
+ var zoomIn = scaleValue + step;
135
+ setScaleValue(zoomIn);
130
136
  } else {
131
137
  setIsMaxmum(true);
132
138
  }
@@ -138,7 +144,9 @@ var WhiteboardControlbar = exports.WhiteboardControlbar = function WhiteboardCon
138
144
  return;
139
145
  }
140
146
  if (scaleValue > 1) {
141
- setScaleValue(scaleValue - 1);
147
+ var zoomOut = scaleValue - step;
148
+ var diff = zoomOut % step;
149
+ setScaleValue(diff === 0 ? zoomOut : zoomOut - diff);
142
150
  } else {
143
151
  setIsMinimum(true);
144
152
  }
@@ -149,8 +157,11 @@ var WhiteboardControlbar = exports.WhiteboardControlbar = function WhiteboardCon
149
157
  setIsOriginal(!_result2);
150
158
  return;
151
159
  }
160
+ // 如果容器高和画布原始高度的比值小于1,代表画布原始高比容器大,则设置放大倍率用 1 + 比率
161
+ // 如果容器高和画布原始告诉的比值大于1,代表容器比画布原始高度大,则设置放大倍率为原始高度和容器高度的比率
162
+ var origin = ratio < 1 ? 1 + ratio : initHeight / contianHeight;
152
163
  setIsOriginal(true);
153
- setScaleValue(1);
164
+ setScaleValue(origin);
154
165
  }
155
166
  if (oprate === _type2.WhiteboardControlbarEvents.ADAPTIVE) {
156
167
  if (onAdaptive) {
@@ -159,15 +170,23 @@ var WhiteboardControlbar = exports.WhiteboardControlbar = function WhiteboardCon
159
170
  return;
160
171
  }
161
172
  setIsAdaptived(true);
162
- setScaleValue(2);
173
+ setScaleValue(1);
163
174
  }
164
175
  }
165
176
  var width = (0, _react.useMemo)(function () {
177
+ if (scaleValue === ratio) return initWidth;
166
178
  return initWidth * (contianHeight / initHeight) * scaleValue;
167
179
  }, [contianHeight, scaleValue]);
168
180
  var height = (0, _react.useMemo)(function () {
181
+ if (scaleValue === ratio) return initHeight;
169
182
  return initHeight * (contianHeight / initHeight) * scaleValue;
170
183
  }, [contianHeight, scaleValue]);
184
+ var top = (0, _react.useMemo)(function () {
185
+ if (contianHeight > height) return (contianHeight - height) / 2;
186
+ if (height === contianHeight) return 0;
187
+ if (scaleValue === 1) return 0;
188
+ return "-".concat((height - contianHeight) / 2, "px");
189
+ }, [height, contianHeight, scaleValue]);
171
190
  var preventAction = (0, _react.useMemo)(function () {
172
191
  var prevent = true;
173
192
 
@@ -334,7 +353,7 @@ var WhiteboardControlbar = exports.WhiteboardControlbar = function WhiteboardCon
334
353
  position: 'absolute',
335
354
  left: "-".concat(width / 2, "px"),
336
355
  marginLeft: '50%',
337
- top: "-".concat(height === contianHeight ? 0 : (height - contianHeight) / 2, "px")
356
+ top: top
338
357
  },
339
358
  children: [onBoardDomLoaded && preventAction && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
340
359
  className: "whiteboard-action-prevent"
@@ -0,0 +1,42 @@
1
+ import { DeviceSettingDialogConfig } from '../../setting/store';
2
+ import { FcrMainRoomControl, FcrWaitingRoomControl } from 'fcr-core/lib/room-control/type';
3
+ import { ConnectionTabType } from '../../video-window/type';
4
+ import { FcrUIDeviceProvider } from '../../../providers/device-provider';
5
+ import { FcrUISharedDevicePrivilegeDataSource } from '../../../shared-data-source/device-privilege-data';
6
+ import { FcrUIDeviceStreamProvider } from '../../../providers/device-stream-provider';
7
+ import { FcrUIDialogProvider } from '../../../providers/dialog-provider';
8
+ export declare class DeviceControlStore {
9
+ private _roomControl;
10
+ private _deviceProvider;
11
+ private _dialogProvider;
12
+ private _deviceStreamProvider;
13
+ private _sharedDevicePrivilegeDataSource;
14
+ private _connectionWindowId;
15
+ private _streamControlObserver;
16
+ accessor isPstnUser: boolean;
17
+ accessor phoneMicEnabled: boolean;
18
+ get microphoneId(): string | null;
19
+ get speakerId(): string;
20
+ get speakerList(): import("agora-rte-sdk").AgoraRtcDeviceInfo[];
21
+ get microphoneEnabled(): boolean;
22
+ get cameraId(): string;
23
+ get cameraEnabled(): boolean;
24
+ get microphoneVolumeLevel(): number;
25
+ get microphoneList(): import("agora-rte-sdk").AgoraRtcDeviceInfo[];
26
+ get cameraList(): import("agora-rte-sdk").AgoraRtcDeviceInfo[];
27
+ get connectType(): import("../../../type").FcrUIConnectType;
28
+ constructor(_roomControl: FcrMainRoomControl | FcrWaitingRoomControl, _deviceProvider: FcrUIDeviceProvider, _dialogProvider: FcrUIDialogProvider, _deviceStreamProvider: FcrUIDeviceStreamProvider, _sharedDevicePrivilegeDataSource: FcrUISharedDevicePrivilegeDataSource);
29
+ openDeviceSettingDialog(arg: Partial<DeviceSettingDialogConfig>): void;
30
+ openConnection(type: ConnectionTabType): void;
31
+ closeConnection(): void;
32
+ checkMediaPermission(mediaType: 'camera' | 'microphone'): void;
33
+ enableCamera(enable: boolean): void;
34
+ enableMicrophone(enable: boolean): void;
35
+ setSpeakerId(speakerId: string): void;
36
+ setMicrophoneId(microphoneId: string): void;
37
+ setCameraId(cameraId: string): void;
38
+ stopAudioByComputer(): void;
39
+ release(): void;
40
+ private _handleStreamUpdate;
41
+ }
42
+ export declare const DeviceControlStoreContext: import("react").Context<DeviceControlStore>;
@@ -0,0 +1,241 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.symbol.js");
4
+ require("core-js/modules/es.symbol.description.js");
5
+ require("core-js/modules/es.symbol.to-primitive.js");
6
+ require("core-js/modules/es.error.cause.js");
7
+ require("core-js/modules/es.error.to-string.js");
8
+ require("core-js/modules/es.array.is-array.js");
9
+ require("core-js/modules/es.array.push.js");
10
+ require("core-js/modules/es.date.to-primitive.js");
11
+ require("core-js/modules/es.function.bind.js");
12
+ require("core-js/modules/es.function.name.js");
13
+ require("core-js/modules/es.map.js");
14
+ require("core-js/modules/es.number.constructor.js");
15
+ require("core-js/modules/es.object.create.js");
16
+ require("core-js/modules/es.object.define-property.js");
17
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
18
+ require("core-js/modules/esnext.function.metadata.js");
19
+ require("core-js/modules/esnext.map.delete-all.js");
20
+ require("core-js/modules/esnext.map.emplace.js");
21
+ require("core-js/modules/esnext.map.every.js");
22
+ require("core-js/modules/esnext.map.filter.js");
23
+ require("core-js/modules/esnext.map.find.js");
24
+ require("core-js/modules/esnext.map.find-key.js");
25
+ require("core-js/modules/esnext.map.includes.js");
26
+ require("core-js/modules/esnext.map.key-of.js");
27
+ require("core-js/modules/esnext.map.map-keys.js");
28
+ require("core-js/modules/esnext.map.map-values.js");
29
+ require("core-js/modules/esnext.map.merge.js");
30
+ require("core-js/modules/esnext.map.reduce.js");
31
+ require("core-js/modules/esnext.map.some.js");
32
+ require("core-js/modules/esnext.map.update.js");
33
+ require("core-js/modules/esnext.symbol.metadata.js");
34
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
35
+ var _typeof = require("@babel/runtime/helpers/typeof");
36
+ Object.defineProperty(exports, "__esModule", {
37
+ value: true
38
+ });
39
+ exports.DeviceControlStoreContext = exports.DeviceControlStore = void 0;
40
+ require("core-js/modules/es.array.find.js");
41
+ require("core-js/modules/es.array.iterator.js");
42
+ require("core-js/modules/es.object.to-string.js");
43
+ require("core-js/modules/es.string.iterator.js");
44
+ require("core-js/modules/es.weak-map.js");
45
+ require("core-js/modules/esnext.iterator.constructor.js");
46
+ require("core-js/modules/esnext.iterator.find.js");
47
+ require("core-js/modules/esnext.weak-map.delete-all.js");
48
+ require("core-js/modules/esnext.weak-map.emplace.js");
49
+ require("core-js/modules/web.dom-collections.iterator.js");
50
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
51
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
52
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
53
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
54
+ var _react = require("react");
55
+ var _fcrCore = require("fcr-core");
56
+ var _mobx = require("mobx");
57
+ var _type = require("fcr-core/lib/type");
58
+ var _decorator = require("agora-foundation/lib/decorator");
59
+ var _constant = require("../../../utilities/constant");
60
+ var _DeviceControlStore;
61
+ var _initProto, _init_isPstnUser, _init_phoneMicEnabled, _openDeviceSettingDialogDecs, _openConnectionDecs, _closeConnectionDecs, _checkMediaPermissionDecs, _enableCameraDecs, _enableMicrophoneDecs, _setSpeakerIdDecs, _setMicrophoneIdDecs, _setCameraIdDecs, _ref;
62
+ function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
63
+ function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
64
+ function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
65
+ function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
66
+ function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
67
+ function _applyDecs(e, t, r, n, o, a) { function i(e, t, r) { return function (n, o) { return r && r(n), e[t].call(n, o); }; } function c(e, t) { for (var r = 0; r < e.length; r++) e[r].call(t); return t; } function s(e, t, r, n) { if ("function" != typeof e && (n || void 0 !== e)) throw new TypeError(t + " must " + (r || "be") + " a function" + (n ? "" : " or undefined")); return e; } function applyDec(e, t, r, n, o, a, c, u, l, f, p, d, h) { function m(e) { if (!h(e)) throw new TypeError("Attempted to access private element on non-instance"); } var y, v = t[0], g = t[3], b = !u; if (!b) { r || Array.isArray(v) || (v = [v]); var w = {}, S = [], A = 3 === o ? "get" : 4 === o || d ? "set" : "value"; f ? (p || d ? w = { get: _setFunctionName(function () { return g(this); }, n, "get"), set: function set(e) { t[4](this, e); } } : w[A] = g, p || _setFunctionName(w[A], n, 2 === o ? "" : A)) : p || (w = Object.getOwnPropertyDescriptor(e, n)); } for (var P = e, j = v.length - 1; j >= 0; j -= r ? 2 : 1) { var D = v[j], E = r ? v[j - 1] : void 0, I = {}, O = { kind: ["field", "accessor", "method", "getter", "setter", "class"][o], name: n, metadata: a, addInitializer: function (e, t) { if (e.v) throw Error("attempted to call addInitializer after decoration was finished"); s(t, "An initializer", "be", !0), c.push(t); }.bind(null, I) }; try { if (b) (y = s(D.call(E, P, O), "class decorators", "return")) && (P = y);else { var k, F; O["static"] = l, O["private"] = f, f ? 2 === o ? k = function k(e) { return m(e), w.value; } : (o < 4 && (k = i(w, "get", m)), 3 !== o && (F = i(w, "set", m))) : (k = function k(e) { return e[n]; }, (o < 2 || 4 === o) && (F = function F(e, t) { e[n] = t; })); var N = O.access = { has: f ? h.bind() : function (e) { return n in e; } }; if (k && (N.get = k), F && (N.set = F), P = D.call(E, d ? { get: w.get, set: w.set } : w[A], O), d) { if ("object" == _typeof(P) && P) (y = s(P.get, "accessor.get")) && (w.get = y), (y = s(P.set, "accessor.set")) && (w.set = y), (y = s(P.init, "accessor.init")) && S.push(y);else if (void 0 !== P) throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0"); } else s(P, (p ? "field" : "method") + " decorators", "return") && (p ? S.push(P) : w[A] = P); } } finally { I.v = !0; } } return (p || d) && u.push(function (e, t) { for (var r = S.length - 1; r >= 0; r--) t = S[r].call(e, t); return t; }), p || b || (f ? d ? u.push(i(w, "get"), i(w, "set")) : u.push(2 === o ? w[A] : i.call.bind(w[A])) : Object.defineProperty(e, n, w)), P; } function u(e, t) { return Object.defineProperty(e, Symbol.metadata || Symbol["for"]("Symbol.metadata"), { configurable: !0, enumerable: !0, value: t }); } if (arguments.length >= 6) var l = a[Symbol.metadata || Symbol["for"]("Symbol.metadata")]; var f = Object.create(null == l ? null : l), p = function (e, t, r, n) { var o, a, i = [], s = function s(t) { return _checkInRHS(t) === e; }, u = new Map(); function l(e) { e && i.push(c.bind(null, e)); } for (var f = 0; f < t.length; f++) { var p = t[f]; if (Array.isArray(p)) { var d = p[1], h = p[2], m = p.length > 3, y = 16 & d, v = !!(8 & d), g = 0 == (d &= 7), b = h + "/" + v; if (!g && !m) { var w = u.get(b); if (!0 === w || 3 === w && 4 !== d || 4 === w && 3 !== d) throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + h); u.set(b, !(d > 2) || d); } applyDec(v ? e : e.prototype, p, y, m ? "#" + h : _toPropertyKey(h), d, n, v ? a = a || [] : o = o || [], i, v, m, g, 1 === d, v && m ? s : r); } } return l(o), l(a), i; }(e, t, o, f); return r.length || u(e, f), { e: p, get c() { var t = []; return r.length && [u(applyDec(e, [r], n, e.name, 5, f, t), f), c.bind(null, t, e)]; } }; }
68
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
69
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
70
+ function _setFunctionName(e, t, n) { "symbol" == _typeof(t) && (t = (t = t.description) ? "[" + t + "]" : ""); try { Object.defineProperty(e, "name", { configurable: !0, value: n ? n + " " + t : t }); } catch (e) {} return e; }
71
+ function _checkInRHS(e) { if (Object(e) !== e) throw TypeError("right-hand side of 'in' should be an object, got " + (null !== e ? _typeof(e) : "null")); return e; }
72
+ var _A = /*#__PURE__*/new WeakMap();
73
+ var _B = /*#__PURE__*/new WeakMap();
74
+ _ref = (_openDeviceSettingDialogDecs = [_mobx.action, _mobx.action.bound], _openConnectionDecs = [_mobx.action, _mobx.action.bound], _closeConnectionDecs = [_mobx.action, _mobx.action.bound], _checkMediaPermissionDecs = [_mobx.action, _mobx.action.bound], _enableCameraDecs = [_mobx.action, _mobx.action.bound], _enableMicrophoneDecs = [_mobx.action, _mobx.action.bound], _setSpeakerIdDecs = [_mobx.action, _mobx.action.bound], _setMicrophoneIdDecs = [_mobx.action, _mobx.action.bound], _setCameraIdDecs = [_mobx.action, _mobx.action.bound], "_connectionWindowId");
75
+ var DeviceControlStore = exports.DeviceControlStore = /*#__PURE__*/function () {
76
+ function DeviceControlStore(_roomControl, _deviceProvider, _dialogProvider, _deviceStreamProvider, _sharedDevicePrivilegeDataSource) {
77
+ (0, _classCallCheck2["default"])(this, DeviceControlStore);
78
+ (0, _defineProperty2["default"])(this, _ref, (_initProto(this), ''));
79
+ (0, _defineProperty2["default"])(this, "_streamControlObserver", {
80
+ onStreamsAdded: this._handleStreamUpdate,
81
+ onStreamsRemoved: this._handleStreamUpdate,
82
+ onStreamsUpdated: this._handleStreamUpdate
83
+ });
84
+ _classPrivateFieldInitSpec(this, _A, _init_isPstnUser(this, false));
85
+ _classPrivateFieldInitSpec(this, _B, _init_phoneMicEnabled(this, false));
86
+ this._roomControl = _roomControl;
87
+ this._deviceProvider = _deviceProvider;
88
+ this._dialogProvider = _dialogProvider;
89
+ this._deviceStreamProvider = _deviceStreamProvider;
90
+ this._sharedDevicePrivilegeDataSource = _sharedDevicePrivilegeDataSource;
91
+ this._roomControl.getStreamControl().addObserver(this._streamControlObserver);
92
+ }
93
+ return (0, _createClass2["default"])(DeviceControlStore, [{
94
+ key: "isPstnUser",
95
+ get: function get() {
96
+ return _classPrivateFieldGet(_A, this);
97
+ },
98
+ set: function set(v) {
99
+ _classPrivateFieldSet(_A, this, v);
100
+ }
101
+ }, {
102
+ key: "phoneMicEnabled",
103
+ get: function get() {
104
+ return _classPrivateFieldGet(_B, this);
105
+ },
106
+ set: function set(v) {
107
+ _classPrivateFieldSet(_B, this, v);
108
+ }
109
+ }, {
110
+ key: "microphoneId",
111
+ get: function get() {
112
+ return this._deviceProvider.microphoneId;
113
+ }
114
+ }, {
115
+ key: "speakerId",
116
+ get: function get() {
117
+ return this._deviceProvider.speakerId;
118
+ }
119
+ }, {
120
+ key: "speakerList",
121
+ get: function get() {
122
+ return this._deviceProvider.speakerList;
123
+ }
124
+ }, {
125
+ key: "microphoneEnabled",
126
+ get: function get() {
127
+ return this._deviceProvider.microphoneEnabled;
128
+ }
129
+ }, {
130
+ key: "cameraId",
131
+ get: function get() {
132
+ return this._deviceProvider.cameraId;
133
+ }
134
+ }, {
135
+ key: "cameraEnabled",
136
+ get: function get() {
137
+ return this._deviceProvider.cameraEnabled;
138
+ }
139
+ }, {
140
+ key: "microphoneVolumeLevel",
141
+ get: function get() {
142
+ return this._deviceProvider.microphoneVolumeLevel;
143
+ }
144
+ }, {
145
+ key: "microphoneList",
146
+ get: function get() {
147
+ return this._deviceProvider.microphoneList;
148
+ }
149
+ }, {
150
+ key: "cameraList",
151
+ get: function get() {
152
+ return this._deviceProvider.cameraList;
153
+ }
154
+ }, {
155
+ key: "connectType",
156
+ get: function get() {
157
+ return this._deviceProvider.connectType;
158
+ }
159
+ }, {
160
+ key: "openDeviceSettingDialog",
161
+ value: function openDeviceSettingDialog(arg) {
162
+ this._dialogProvider.openDeviceSettingDialog(arg);
163
+ }
164
+ }, {
165
+ key: "openConnection",
166
+ value: function openConnection(type) {
167
+ this._connectionWindowId = this._dialogProvider.openDialog(_constant.FcrUIDialogKey.CONNECTION_GATEWAY, '', {
168
+ type: type
169
+ });
170
+ }
171
+ }, {
172
+ key: "closeConnection",
173
+ value: function closeConnection() {
174
+ this._dialogProvider.closeDialog(this._connectionWindowId);
175
+ }
176
+ }, {
177
+ key: "checkMediaPermission",
178
+ value: function checkMediaPermission(mediaType) {
179
+ this._deviceStreamProvider.checkoutDevicePermission(mediaType);
180
+ }
181
+ }, {
182
+ key: "enableCamera",
183
+ value: function enableCamera(enable) {
184
+ this._deviceStreamProvider.enableCameraWithPreCheck(enable);
185
+ }
186
+ }, {
187
+ key: "enableMicrophone",
188
+ value: function enableMicrophone(enable) {
189
+ this._deviceStreamProvider.enableMicrophoneWithPreCheck(enable);
190
+ this._sharedDevicePrivilegeDataSource.setShouldIncludeMicrophone(true);
191
+ }
192
+ }, {
193
+ key: "setSpeakerId",
194
+ value: function setSpeakerId(speakerId) {
195
+ this._deviceProvider.setSpeakerId(speakerId);
196
+ }
197
+ }, {
198
+ key: "setMicrophoneId",
199
+ value: function setMicrophoneId(microphoneId) {
200
+ this._deviceProvider.setMicrophoneId(microphoneId);
201
+ }
202
+ }, {
203
+ key: "setCameraId",
204
+ value: function setCameraId(cameraId) {
205
+ this._deviceProvider.setCameraId(cameraId);
206
+ }
207
+ }, {
208
+ key: "stopAudioByComputer",
209
+ value: function stopAudioByComputer() {
210
+ this._deviceProvider.disconnectAudio();
211
+ }
212
+ }, {
213
+ key: "release",
214
+ value: function release() {
215
+ this._roomControl.getStreamControl().removeObserver(this._streamControlObserver);
216
+ }
217
+ }, {
218
+ key: "_handleStreamUpdate",
219
+ value: function _handleStreamUpdate() {
220
+ var _this$_roomControl$ge2;
221
+ var _this$_roomControl$ge = (_this$_roomControl$ge2 = this._roomControl.getUserControl()) === null || _this$_roomControl$ge2 === void 0 ? void 0 : _this$_roomControl$ge2.getLocalUser(),
222
+ userId = _this$_roomControl$ge.userId;
223
+ var streams = this._roomControl.getStreamControl().getStreamsByUserId(userId);
224
+ var pstnStream = streams.find(function (_ref2) {
225
+ var connectorType = _ref2.connectorType;
226
+ return connectorType === _fcrCore.FcrRoomConnectorType.PSTN;
227
+ });
228
+ var hasPstnStream = !!pstnStream;
229
+ this.isPstnUser = hasPstnStream;
230
+ if (hasPstnStream) {
231
+ this.phoneMicEnabled = pstnStream.streamType === _type.FcrStreamType.BOTH || pstnStream.audioSourceState === _fcrCore.FcrMediaSourceState.OPEN;
232
+ }
233
+ }
234
+ }]);
235
+ }();
236
+ _DeviceControlStore = DeviceControlStore;
237
+ var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_DeviceControlStore, [[_mobx.observable, 1, "isPstnUser"], [_mobx.observable, 1, "phoneMicEnabled"], [_mobx.computed, 3, "microphoneId"], [_mobx.computed, 3, "speakerId"], [_mobx.computed, 3, "speakerList"], [_mobx.computed, 3, "microphoneEnabled"], [_mobx.computed, 3, "cameraId"], [_mobx.computed, 3, "cameraEnabled"], [_mobx.computed, 3, "microphoneVolumeLevel"], [_mobx.computed, 3, "microphoneList"], [_mobx.computed, 3, "cameraList"], [_mobx.computed, 3, "connectType"], [_openDeviceSettingDialogDecs, 18, "openDeviceSettingDialog"], [_openConnectionDecs, 18, "openConnection"], [_closeConnectionDecs, 18, "closeConnection"], [_checkMediaPermissionDecs, 18, "checkMediaPermission"], [_enableCameraDecs, 18, "enableCamera"], [_enableMicrophoneDecs, 18, "enableMicrophone"], [_setSpeakerIdDecs, 18, "setSpeakerId"], [_setMicrophoneIdDecs, 18, "setMicrophoneId"], [_setCameraIdDecs, 18, "setCameraId"], [_decorator.bound, 2, "stopAudioByComputer"], [_decorator.bound, 2, "release"], [_decorator.bound, 2, "_handleStreamUpdate"]], []).e, 3);
238
+ _init_isPstnUser = _applyDecs$e[0];
239
+ _init_phoneMicEnabled = _applyDecs$e[1];
240
+ _initProto = _applyDecs$e[2];
241
+ var DeviceControlStoreContext = exports.DeviceControlStoreContext = /*#__PURE__*/(0, _react.createContext)(null);
@@ -0,0 +1,39 @@
1
+ import { FcrUserInfo, FcrUserRole, FcrPlatform } from 'fcr-core/lib/type';
2
+ import { FcrUIPrivilegeProvider } from '../../../providers/privilege-provider';
3
+ import { FcrUIRoomProvider } from '../../../providers/room-provider';
4
+ import { FcrBaseRoomControl } from 'fcr-core/lib/room-control/type';
5
+ import { FcrUIMemberSharedDataSource } from '../../../shared-data-source/member-data';
6
+ import { FcrUIAbilityProviderImpl } from '../../../providers/ability-provider';
7
+ import { FcrUIDialogProvider } from '../../../providers/dialog-provider';
8
+ export declare class LeaveMeetingStore {
9
+ private _privilegeProvider;
10
+ private _roomProvider;
11
+ private _roomControl;
12
+ private _sharedMemberDataSource;
13
+ private _abilityProvider;
14
+ private _dialogProvder;
15
+ private _userControl;
16
+ private _streamControl;
17
+ accessor keepConnect: boolean;
18
+ accessor canAssign: boolean;
19
+ accessor loading: boolean;
20
+ get isLocked(): boolean;
21
+ get localUserId(): string;
22
+ get localUserRole(): FcrUserRole;
23
+ get hasAssignHostBeforeLeavingPermission(): boolean;
24
+ get hasEndRoomPermission(): boolean;
25
+ get hostAvailibleRemoteUsers(): FcrUserInfo[];
26
+ get isPstnUser(): boolean;
27
+ get isAssignHostAvailable(): boolean;
28
+ constructor(_privilegeProvider: FcrUIPrivilegeProvider, _roomProvider: FcrUIRoomProvider, _roomControl: FcrBaseRoomControl, _sharedMemberDataSource: FcrUIMemberSharedDataSource, _abilityProvider: FcrUIAbilityProviderImpl, _dialogProvder: FcrUIDialogProvider);
29
+ showEndConfirmDialog(): void;
30
+ isHostSupportedByPlatform(platform: FcrPlatform): boolean;
31
+ assignHost(user: FcrUserInfo): void;
32
+ leave(): Promise<void>;
33
+ keepPhoneAudioConnection(): Promise<void>;
34
+ setCanAssign(value: boolean): void;
35
+ setKeepConnect(value: boolean): void;
36
+ end(): Promise<void>;
37
+ release(): void;
38
+ }
39
+ export declare const LeaveMeetingStoreContext: import("react").Context<LeaveMeetingStore>;