fcr-ui-scene 3.9.0-alpha → 3.9.1-alpha

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 (208) hide show
  1. package/lib/creator/provider-initializer.browser.js +4 -2
  2. package/lib/creator/provider-initializer.electron.js +13 -5
  3. package/lib/electron/injections.d.ts +1 -0
  4. package/lib/electron/injections.js +4 -1
  5. package/lib/electron/preload.js +1 -0
  6. package/lib/fragments/annotation/style.css +1 -0
  7. package/lib/fragments/whiteboard/style.css +4 -0
  8. package/lib/modules/action-bar/main-scene/store.base.d.ts +1 -0
  9. package/lib/modules/action-bar/main-scene/store.base.js +5 -0
  10. package/lib/modules/audio-stream/index.d.ts +2 -0
  11. package/lib/modules/audio-stream/index.js +33 -1
  12. package/lib/modules/chat/chat-room-store.js +4 -2
  13. package/lib/modules/chat/index.js +1 -1
  14. package/lib/modules/chat/store.d.ts +1 -1
  15. package/lib/modules/chat/store.js +4 -2
  16. package/lib/modules/components/device-control/store.base.d.ts +1 -0
  17. package/lib/modules/components/device-control/store.base.js +22 -3
  18. package/lib/modules/components/leave-meeting/index.js +3 -2
  19. package/lib/modules/components/leave-meeting/main-scene/store.d.ts +1 -0
  20. package/lib/modules/components/leave-meeting/main-scene/store.js +6 -1
  21. package/lib/modules/components/leave-meeting/store.base.d.ts +1 -0
  22. package/lib/modules/components/leave-meeting/store.base.js +1 -1
  23. package/lib/modules/components/leave-meeting/waiting-scene/store.d.ts +1 -0
  24. package/lib/modules/components/leave-meeting/waiting-scene/store.js +6 -1
  25. package/lib/modules/components/member-window/components/member-actions/components/icon-status.js +7 -10
  26. package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +2 -2
  27. package/lib/modules/components/member-window/components/member-actions/index.js +0 -7
  28. package/lib/modules/components/member-window/components/member-actions/store.js +1 -1
  29. package/lib/modules/components/member-window/index.js +1 -1
  30. package/lib/modules/components/tab-frame/index.css +12 -1
  31. package/lib/modules/components/tab-frame/index.js +4 -1
  32. package/lib/modules/control-bar/components/share-state-nav/index.js +1 -3
  33. package/lib/modules/control-bar/mouse-event-bridge.d.ts +23 -0
  34. package/lib/modules/control-bar/mouse-event-bridge.js +87 -0
  35. package/lib/modules/control-bar/store.d.ts +3 -2
  36. package/lib/modules/control-bar/store.js +17 -29
  37. package/lib/modules/control-bar/type.d.ts +0 -1
  38. package/lib/modules/control-bar/view.js +21 -17
  39. package/lib/modules/dialog/dialogs/connection-gateway/tabs.js +3 -2
  40. package/lib/modules/dialog/dialogs/invite/index.js +6 -24
  41. package/lib/modules/invite/components/copy-info.css +72 -0
  42. package/lib/modules/invite/components/copy-info.d.ts +3 -0
  43. package/lib/modules/invite/components/copy-info.js +144 -0
  44. package/lib/modules/invite/components/pstn-invite.js +3 -15
  45. package/lib/modules/invite/components/voip-invite.js +10 -1
  46. package/lib/modules/invite/enums.d.ts +3 -1
  47. package/lib/modules/invite/enums.js +2 -0
  48. package/lib/modules/invite/store.d.ts +4 -1
  49. package/lib/modules/invite/store.js +37 -13
  50. package/lib/modules/invite/view.js +41 -20
  51. package/lib/modules/layout/store.base.d.ts +2 -1
  52. package/lib/modules/layout/store.base.js +20 -23
  53. package/lib/modules/participant/components/confirm-input/index.css +67 -1
  54. package/lib/modules/participant/components/confirm-input/index.js +16 -13
  55. package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.css +4 -0
  56. package/lib/modules/participant/store.base.d.ts +1 -0
  57. package/lib/modules/participant/store.base.js +34 -7
  58. package/lib/modules/pc-audio-connect/main-scene/store.d.ts +2 -0
  59. package/lib/modules/pc-audio-connect/main-scene/store.js +12 -2
  60. package/lib/modules/pc-audio-connect/view.js +4 -2
  61. package/lib/modules/phone-audio-connect/store.d.ts +6 -4
  62. package/lib/modules/phone-audio-connect/store.js +12 -1
  63. package/lib/modules/phone-audio-connect/view.js +6 -4
  64. package/lib/modules/secondary-window/index.js +2 -2
  65. package/lib/modules/secondary-window/store.d.ts +3 -0
  66. package/lib/modules/secondary-window/store.js +16 -1
  67. package/lib/modules/secondary-window/view.js +96 -72
  68. package/lib/modules/toast-manager/type.d.ts +2 -1
  69. package/lib/modules/toast-manager/type.js +4 -1
  70. package/lib/plugins/module-dev-plugin.js +4 -4
  71. package/lib/providers/ability-provider.d.ts +15 -0
  72. package/lib/providers/ability-provider.js +13 -1
  73. package/lib/providers/mouse-detect/provider.d.ts +2 -0
  74. package/lib/providers/mouse-detect/provider.empty.d.ts +14 -0
  75. package/lib/providers/mouse-detect/provider.empty.js +47 -0
  76. package/lib/providers/mouse-detect/provider.js +13 -4
  77. package/lib/providers/mouse-detect/type.d.ts +2 -0
  78. package/lib/providers/phone-audio-provider.d.ts +31 -5
  79. package/lib/providers/phone-audio-provider.js +83 -22
  80. package/lib/providers/user-audio-volume-provider.d.ts +6 -0
  81. package/lib/providers/user-audio-volume-provider.js +3 -2
  82. package/lib/runtime.d.ts +1 -0
  83. package/lib/scenes/main-scene.js +2 -1
  84. package/lib/shared-data/chat-data.d.ts +19 -0
  85. package/lib/shared-data/chat-data.js +54 -7
  86. package/lib/shared-data/member-data.d.ts +9 -1
  87. package/lib/shared-data/member-data.js +46 -17
  88. package/lib/shared-data/video-window.js +8 -4
  89. package/lib/translations/enUS.d.ts +245 -1
  90. package/lib/translations/enUS.js +247 -3
  91. package/lib/translations/zhCN.d.ts +245 -1
  92. package/lib/translations/zhCN.js +246 -2
  93. package/lib/utilities/os.d.ts +1 -0
  94. package/lib/utilities/os.js +15 -0
  95. package/lib/utilities/renderer.d.ts +1 -0
  96. package/lib/utilities/renderer.js +7 -1
  97. package/lib-es/creator/provider-initializer.browser.js +4 -2
  98. package/lib-es/creator/provider-initializer.electron.js +11 -3
  99. package/lib-es/electron/injections.js +3 -0
  100. package/lib-es/electron/preload.js +2 -1
  101. package/lib-es/fragments/annotation/style.css +1 -0
  102. package/lib-es/fragments/whiteboard/style.css +4 -0
  103. package/lib-es/modules/action-bar/main-scene/store.base.js +5 -0
  104. package/lib-es/modules/audio-stream/index.js +33 -1
  105. package/lib-es/modules/chat/chat-room-store.js +4 -2
  106. package/lib-es/modules/chat/index.js +1 -1
  107. package/lib-es/modules/chat/store.js +4 -2
  108. package/lib-es/modules/components/device-control/store.base.js +22 -3
  109. package/lib-es/modules/components/leave-meeting/index.js +3 -2
  110. package/lib-es/modules/components/leave-meeting/main-scene/store.js +6 -1
  111. package/lib-es/modules/components/leave-meeting/store.base.js +1 -1
  112. package/lib-es/modules/components/leave-meeting/waiting-scene/store.js +6 -1
  113. package/lib-es/modules/components/member-window/components/member-actions/components/icon-status.js +7 -10
  114. package/lib-es/modules/components/member-window/components/member-actions/components/more-actions.js +2 -2
  115. package/lib-es/modules/components/member-window/components/member-actions/index.js +0 -7
  116. package/lib-es/modules/components/member-window/components/member-actions/store.js +1 -1
  117. package/lib-es/modules/components/member-window/index.js +1 -1
  118. package/lib-es/modules/components/tab-frame/index.css +12 -1
  119. package/lib-es/modules/components/tab-frame/index.js +4 -1
  120. package/lib-es/modules/control-bar/components/share-state-nav/index.js +1 -3
  121. package/lib-es/modules/control-bar/mouse-event-bridge.js +79 -0
  122. package/lib-es/modules/control-bar/store.js +18 -30
  123. package/lib-es/modules/control-bar/view.js +21 -17
  124. package/lib-es/modules/dialog/dialogs/connection-gateway/tabs.js +3 -2
  125. package/lib-es/modules/dialog/dialogs/invite/index.js +6 -24
  126. package/lib-es/modules/invite/components/copy-info.css +72 -0
  127. package/lib-es/modules/invite/components/copy-info.js +137 -0
  128. package/lib-es/modules/invite/components/pstn-invite.js +3 -15
  129. package/lib-es/modules/invite/components/voip-invite.js +10 -1
  130. package/lib-es/modules/invite/enums.js +2 -0
  131. package/lib-es/modules/invite/store.js +38 -14
  132. package/lib-es/modules/invite/view.js +43 -22
  133. package/lib-es/modules/layout/store.base.js +20 -23
  134. package/lib-es/modules/participant/components/confirm-input/index.css +67 -1
  135. package/lib-es/modules/participant/components/confirm-input/index.js +16 -13
  136. package/lib-es/modules/participant/components/participants/components/render-user/components/attendee/index.css +4 -0
  137. package/lib-es/modules/participant/store.base.js +34 -7
  138. package/lib-es/modules/pc-audio-connect/main-scene/store.js +12 -2
  139. package/lib-es/modules/pc-audio-connect/view.js +4 -2
  140. package/lib-es/modules/phone-audio-connect/store.js +12 -1
  141. package/lib-es/modules/phone-audio-connect/view.js +6 -4
  142. package/lib-es/modules/secondary-window/index.js +2 -2
  143. package/lib-es/modules/secondary-window/store.js +16 -1
  144. package/lib-es/modules/secondary-window/view.js +97 -73
  145. package/lib-es/modules/toast-manager/type.js +4 -1
  146. package/lib-es/plugins/module-dev-plugin.js +4 -4
  147. package/lib-es/providers/ability-provider.js +13 -1
  148. package/lib-es/providers/mouse-detect/provider.empty.js +39 -0
  149. package/lib-es/providers/mouse-detect/provider.js +13 -4
  150. package/lib-es/providers/phone-audio-provider.js +109 -48
  151. package/lib-es/providers/user-audio-volume-provider.js +3 -2
  152. package/lib-es/scenes/main-scene.js +3 -2
  153. package/lib-es/shared-data/chat-data.js +55 -8
  154. package/lib-es/shared-data/member-data.js +46 -17
  155. package/lib-es/shared-data/video-window.js +8 -4
  156. package/lib-es/translations/enUS.js +247 -3
  157. package/lib-es/translations/zhCN.js +246 -2
  158. package/lib-es/utilities/os.js +8 -0
  159. package/lib-es/utilities/renderer.js +7 -1
  160. package/lib-es/utilities/shared-storage.js +2 -2
  161. package/package.json +6 -6
  162. package/lib/modules/connection-gateway/components/computer/index.css +0 -12
  163. package/lib/modules/connection-gateway/components/computer/index.d.ts +0 -3
  164. package/lib/modules/connection-gateway/components/computer/index.js +0 -66
  165. package/lib/modules/connection-gateway/components/phone/components/callinfo/index.css +0 -36
  166. package/lib/modules/connection-gateway/components/phone/components/callinfo/index.d.ts +0 -10
  167. package/lib/modules/connection-gateway/components/phone/components/callinfo/index.js +0 -78
  168. package/lib/modules/connection-gateway/components/phone/components/calling/index.css +0 -72
  169. package/lib/modules/connection-gateway/components/phone/components/calling/index.d.ts +0 -7
  170. package/lib/modules/connection-gateway/components/phone/components/calling/index.js +0 -58
  171. package/lib/modules/connection-gateway/components/phone/components/remeber/index.css +0 -10
  172. package/lib/modules/connection-gateway/components/phone/components/remeber/index.d.ts +0 -5
  173. package/lib/modules/connection-gateway/components/phone/components/remeber/index.js +0 -24
  174. package/lib/modules/connection-gateway/components/phone/components/useing/index.css +0 -46
  175. package/lib/modules/connection-gateway/components/phone/components/useing/index.d.ts +0 -3
  176. package/lib/modules/connection-gateway/components/phone/components/useing/index.js +0 -36
  177. package/lib/modules/connection-gateway/components/phone/index.css +0 -49
  178. package/lib/modules/connection-gateway/components/phone/index.d.ts +0 -3
  179. package/lib/modules/connection-gateway/components/phone/index.js +0 -185
  180. package/lib/modules/connection-gateway/enums.d.ts +0 -4
  181. package/lib/modules/connection-gateway/enums.js +0 -12
  182. package/lib/modules/connection-gateway/index.css +0 -6
  183. package/lib/modules/connection-gateway/index.d.ts +0 -10
  184. package/lib/modules/connection-gateway/index.js +0 -78
  185. package/lib/modules/connection-gateway/store.d.ts +0 -68
  186. package/lib/modules/connection-gateway/store.js +0 -713
  187. package/lib/modules/connection-gateway/types.d.ts +0 -8
  188. package/lib/modules/connection-gateway/types.js +0 -6
  189. package/lib/modules/connection-gateway/view.d.ts +0 -1
  190. package/lib/modules/connection-gateway/view.js +0 -39
  191. package/lib-es/modules/connection-gateway/components/computer/index.css +0 -12
  192. package/lib-es/modules/connection-gateway/components/computer/index.js +0 -59
  193. package/lib-es/modules/connection-gateway/components/phone/components/callinfo/index.css +0 -36
  194. package/lib-es/modules/connection-gateway/components/phone/components/callinfo/index.js +0 -71
  195. package/lib-es/modules/connection-gateway/components/phone/components/calling/index.css +0 -72
  196. package/lib-es/modules/connection-gateway/components/phone/components/calling/index.js +0 -51
  197. package/lib-es/modules/connection-gateway/components/phone/components/remeber/index.css +0 -10
  198. package/lib-es/modules/connection-gateway/components/phone/components/remeber/index.js +0 -17
  199. package/lib-es/modules/connection-gateway/components/phone/components/useing/index.css +0 -46
  200. package/lib-es/modules/connection-gateway/components/phone/components/useing/index.js +0 -29
  201. package/lib-es/modules/connection-gateway/components/phone/index.css +0 -49
  202. package/lib-es/modules/connection-gateway/components/phone/index.js +0 -177
  203. package/lib-es/modules/connection-gateway/enums.js +0 -5
  204. package/lib-es/modules/connection-gateway/index.css +0 -6
  205. package/lib-es/modules/connection-gateway/index.js +0 -60
  206. package/lib-es/modules/connection-gateway/store.js +0 -707
  207. package/lib-es/modules/connection-gateway/types.js +0 -1
  208. package/lib-es/modules/connection-gateway/view.js +0 -31
@@ -10,6 +10,7 @@ require("core-js/modules/es.error.to-string.js");
10
10
  require("core-js/modules/es.date.to-string.js");
11
11
  require("core-js/modules/es.object.to-string.js");
12
12
  require("core-js/modules/es.regexp.to-string.js");
13
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
14
  var _mobxReact = require("mobx-react");
14
15
  var _react = require("react");
15
16
  var _store = require("./store");
@@ -24,6 +25,8 @@ var _progress = _interopRequireDefault(require("../components/control-bar/compon
24
25
  var _i18n = require("agora-ui-foundation/lib/i18n");
25
26
  var _portal = require("../components/leave-meeting/portal");
26
27
  var _videoTrackRenderContext = require("../../shared-context/video-track-render-context");
28
+ var _watermark = require("agora-ui-foundation/lib/components/watermark");
29
+ var _hooks = require("agora-ui-foundation/lib/utilities/hooks");
27
30
  var _jsxRuntime = require("react/jsx-runtime");
28
31
  var SubWindowView = exports.SubWindowView = (0, _mobxReact.observer)(function (props) {
29
32
  var renderScreenShareControl = props.renderScreenShareControl;
@@ -46,7 +49,10 @@ var SubWindowView = exports.SubWindowView = (0, _mobxReact.observer)(function (p
46
49
  isAspectRatioPreserved = store.isAspectRatioPreserved,
47
50
  isShowToolbar = store.isShowToolbar,
48
51
  isActive = store.isActive,
52
+ isWaterMarkEnabled = store.isWaterMarkEnabled,
53
+ isMulti = store.isMulti,
49
54
  baseUrl = store.baseUrl,
55
+ currentUser = store.currentUser,
50
56
  setOriginScalc = store.setOriginScalc,
51
57
  zoomIn = store.zoomIn,
52
58
  zoomOut = store.zoomOut,
@@ -64,8 +70,17 @@ var SubWindowView = exports.SubWindowView = (0, _mobxReact.observer)(function (p
64
70
  interceptedClose = store.interceptedClose,
65
71
  setInterceptedClose = store.setInterceptedClose,
66
72
  videoRenderContext = store.videoRenderContext,
67
- isAnnotationOpened = store.isAnnotationOpened;
73
+ isAnnotationOpened = store.isAnnotationOpened,
74
+ getWaterMarkContent = store.getWaterMarkContent;
68
75
  var videoWindowContainer = (0, _react.useRef)(null);
76
+ var _useDelayedMeasure = (0, _hooks.useDelayedMeasure)(),
77
+ _useDelayedMeasure2 = (0, _slicedToArray2["default"])(_useDelayedMeasure, 2),
78
+ delayedMeasureRef = _useDelayedMeasure2[0],
79
+ delayedMeasureBounds = _useDelayedMeasure2[1];
80
+ var waterMarkRenderContent = (0, _react.useMemo)(function () {
81
+ var remoteWaterMark = getWaterMarkContent();
82
+ return isWaterMarkEnabled ? [remoteWaterMark] : [];
83
+ }, [isWaterMarkEnabled, currentUser]);
69
84
  (0, _react.useEffect)(function () {
70
85
  if (!interceptedClose) return;
71
86
  if (!videoWindowContainer.current) {
@@ -213,78 +228,87 @@ var SubWindowView = exports.SubWindowView = (0, _mobxReact.observer)(function (p
213
228
  })
214
229
  });
215
230
  }
216
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
217
- ref: videoWindowContainer,
218
- className: "sub-window-view",
219
- style: {
220
- width: '100%',
221
- height: '100%',
222
- position: 'relative',
223
- top: 0
224
- },
225
- children: [interceptedClose && /*#__PURE__*/(0, _jsxRuntime.jsx)(_portal.LeaveMeetingPortal, {
226
- setPopoverOpened: function setPopoverOpened() {
227
- return setInterceptedClose(false);
228
- }
229
- }), content, (isBoardShare || isAnnotationOpened) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_toolbar.WhiteboardToolbar, {
230
- offsetTop: 28,
231
- direction: "vertical",
232
- container: videoWindowContainer.current || undefined,
233
- show: canWriteBoard && joinSuccess && isShowToolbar && !showLoading,
234
- currentStrokeWidth: toolbarState.currentStrokeWidth,
235
- currentColor: toolbarState.currentColor,
236
- currentTool: toolbarState.currentTool,
237
- currentShape: toolbarState.currentShape,
238
- redoSteps: toolbarState.redoSteps,
239
- undoSteps: toolbarState.undoSteps,
240
- commonColors: isBoardShare ? toolbarState.commonColors : undefined,
241
- themeColors: toolbarState.themeColors,
242
- setCommonColors: setCommonColors,
243
- setStrokeWidth: function setStrokeWidth(width) {
244
- setWhiteboardTool({
245
- action: _type2.WhiteboardToolAction.WIDTH,
246
- tool: width
247
- });
248
- },
249
- setTool: function setTool(tool) {
250
- setWhiteboardTool({
251
- action: _type2.WhiteboardToolAction.TOOL,
252
- tool: tool
253
- });
254
- },
255
- setShape: function setShape(shape) {
256
- setWhiteboardTool({
257
- action: _type2.WhiteboardToolAction.SHAPE,
258
- tool: shape
259
- });
260
- },
261
- setStrokeColor: function setStrokeColor(color) {
262
- setWhiteboardTool({
263
- action: _type2.WhiteboardToolAction.COLOR,
264
- tool: color.toString()
265
- });
231
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_watermark.WaterMark, {
232
+ content: waterMarkRenderContent,
233
+ width: isMulti ? 120 : delayedMeasureBounds.width,
234
+ height: isMulti ? 64 : delayedMeasureBounds.height,
235
+ multiLine: Boolean(isMulti),
236
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
237
+ ref: function ref(node) {
238
+ delayedMeasureRef(node);
239
+ videoWindowContainer.current = node;
266
240
  },
267
- undo: function undo() {
268
- return setWhiteboardTool({
269
- action: _type2.WhiteboardToolAction.UNDO,
270
- tool: _fcrCore.FcrBoardToolType.NONE
271
- });
241
+ className: "sub-window-view",
242
+ style: {
243
+ width: '100%',
244
+ height: '100%',
245
+ position: 'relative',
246
+ top: 0
272
247
  },
273
- redo: function redo() {
274
- return setWhiteboardTool({
275
- action: _type2.WhiteboardToolAction.REDO,
276
- tool: _fcrCore.FcrBoardToolType.NONE
277
- });
278
- },
279
- clean: function clean() {
280
- return setWhiteboardTool({
281
- action: _type2.WhiteboardToolAction.CLEAR,
282
- tool: _fcrCore.FcrBoardToolType.NONE
283
- });
284
- },
285
- onSave: isBoardShare ? saveWhiteboardDraft : undefined,
286
- progress: toolbarState.progress,
287
- setProgress: setProgress
288
- })]
248
+ children: [interceptedClose && /*#__PURE__*/(0, _jsxRuntime.jsx)(_portal.LeaveMeetingPortal, {
249
+ setPopoverOpened: function setPopoverOpened() {
250
+ return setInterceptedClose(false);
251
+ }
252
+ }), content, (isBoardShare || isAnnotationOpened) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_toolbar.WhiteboardToolbar, {
253
+ offsetTop: 28,
254
+ direction: "vertical",
255
+ container: videoWindowContainer.current || undefined,
256
+ show: canWriteBoard && joinSuccess && isShowToolbar && !showLoading,
257
+ currentStrokeWidth: toolbarState.currentStrokeWidth,
258
+ currentColor: toolbarState.currentColor,
259
+ currentTool: toolbarState.currentTool,
260
+ currentShape: toolbarState.currentShape,
261
+ redoSteps: toolbarState.redoSteps,
262
+ undoSteps: toolbarState.undoSteps,
263
+ commonColors: isBoardShare ? toolbarState.commonColors : undefined,
264
+ themeColors: toolbarState.themeColors,
265
+ setCommonColors: setCommonColors,
266
+ setStrokeWidth: function setStrokeWidth(width) {
267
+ setWhiteboardTool({
268
+ action: _type2.WhiteboardToolAction.WIDTH,
269
+ tool: width
270
+ });
271
+ },
272
+ setTool: function setTool(tool) {
273
+ setWhiteboardTool({
274
+ action: _type2.WhiteboardToolAction.TOOL,
275
+ tool: tool
276
+ });
277
+ },
278
+ setShape: function setShape(shape) {
279
+ setWhiteboardTool({
280
+ action: _type2.WhiteboardToolAction.SHAPE,
281
+ tool: shape
282
+ });
283
+ },
284
+ setStrokeColor: function setStrokeColor(color) {
285
+ setWhiteboardTool({
286
+ action: _type2.WhiteboardToolAction.COLOR,
287
+ tool: color.toString()
288
+ });
289
+ },
290
+ undo: function undo() {
291
+ return setWhiteboardTool({
292
+ action: _type2.WhiteboardToolAction.UNDO,
293
+ tool: _fcrCore.FcrBoardToolType.NONE
294
+ });
295
+ },
296
+ redo: function redo() {
297
+ return setWhiteboardTool({
298
+ action: _type2.WhiteboardToolAction.REDO,
299
+ tool: _fcrCore.FcrBoardToolType.NONE
300
+ });
301
+ },
302
+ clean: function clean() {
303
+ return setWhiteboardTool({
304
+ action: _type2.WhiteboardToolAction.CLEAR,
305
+ tool: _fcrCore.FcrBoardToolType.NONE
306
+ });
307
+ },
308
+ onSave: isBoardShare ? saveWhiteboardDraft : undefined,
309
+ progress: toolbarState.progress,
310
+ setProgress: setProgress
311
+ })]
312
+ })
289
313
  });
290
314
  });
@@ -104,7 +104,8 @@ export declare enum FcrUIToastKey {
104
104
  FMT_SCREENSHARE_TIPS_ALREADYOPENED = "fmt_screenshare_tips_alreadyopened",
105
105
  FMT_WHITEBOARD_TIPS_SHARE_FAILED = "fmt_whiteboard_tips_share_failed",
106
106
  FMT_AUDIO_WINDOW_MIC_TURN_ON_ERROR = "fmt_audio_window_mic_turn_on_error",
107
- FMT_AUDIO_WINDOW_CAMERA_TURN_ON_ERROR = "fmt_audio_window_camera_turn_on_error"
107
+ FMT_AUDIO_WINDOW_CAMERA_TURN_ON_ERROR = "fmt_audio_window_camera_turn_on_error",
108
+ FMT_SIP_TIPS_ENTER_CORRECT_NUMBER = "fmt_SIP_tips_enter_correct_number"
108
109
  }
109
110
  export declare const DefaultToastParamsMap: Record<FcrUIToastKey, {
110
111
  type: 'error' | 'warn' | 'info' | 'normal';
@@ -115,6 +115,7 @@ var FcrUIToastKey = exports.FcrUIToastKey = /*#__PURE__*/function (FcrUIToastKey
115
115
  FcrUIToastKey["FMT_WHITEBOARD_TIPS_SHARE_FAILED"] = "fmt_whiteboard_tips_share_failed";
116
116
  FcrUIToastKey["FMT_AUDIO_WINDOW_MIC_TURN_ON_ERROR"] = "fmt_audio_window_mic_turn_on_error";
117
117
  FcrUIToastKey["FMT_AUDIO_WINDOW_CAMERA_TURN_ON_ERROR"] = "fmt_audio_window_camera_turn_on_error";
118
+ FcrUIToastKey["FMT_SIP_TIPS_ENTER_CORRECT_NUMBER"] = "fmt_SIP_tips_enter_correct_number";
118
119
  return FcrUIToastKey;
119
120
  }({});
120
121
  var DefaultToastParamsMap = exports.DefaultToastParamsMap = (_DefaultToastParamsMa = {}, (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])(_DefaultToastParamsMa, FcrUIToastKey.ERR_MESSAGE, {
@@ -322,7 +323,7 @@ var DefaultToastParamsMap = exports.DefaultToastParamsMap = (_DefaultToastParams
322
323
  type: 'normal'
323
324
  }), FcrUIToastKey.FMT_MEETING_TOAST_DISABLED_WAITINGROOM, {
324
325
  type: 'normal'
325
- }), (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])(_DefaultToastParamsMa, FcrUIToastKey.FMT_SCREENSHARE_TIPS_FAILD_RESELECT, {
326
+ }), (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])(_DefaultToastParamsMa, FcrUIToastKey.FMT_SCREENSHARE_TIPS_FAILD_RESELECT, {
326
327
  type: 'error'
327
328
  }), FcrUIToastKey.FMT_SCREENSHARE_TIPS_FAILD_SCREENSELECT, {
328
329
  type: 'error'
@@ -334,4 +335,6 @@ var DefaultToastParamsMap = exports.DefaultToastParamsMap = (_DefaultToastParams
334
335
  type: 'error'
335
336
  }), FcrUIToastKey.FMT_AUDIO_WINDOW_CAMERA_TURN_ON_ERROR, {
336
337
  type: 'error'
338
+ }), FcrUIToastKey.FMT_SIP_TIPS_ENTER_CORRECT_NUMBER, {
339
+ type: 'error'
337
340
  }));
@@ -23,7 +23,7 @@ var createRoom = /*#__PURE__*/function () {
23
23
  return _regenerator["default"].wrap(function (_context) {
24
24
  while (1) switch (_context.prev = _context.next) {
25
25
  case 0:
26
- url = "http://api-solutions-dev.bj2.agoralab.co/conference/companys/v1/rooms";
26
+ url = "http://api-solutions-dev-bj.shengwang.cn/conference/companys/v1/rooms";
27
27
  _context.next = 1;
28
28
  return fetch(url, {
29
29
  headers: {
@@ -71,7 +71,7 @@ var getUserToken = /*#__PURE__*/function () {
71
71
  return _regenerator["default"].wrap(function (_context2) {
72
72
  while (1) switch (_context2.prev = _context2.next) {
73
73
  case 0:
74
- url = "https://api-solutions-dev.bj2.agoralab.co/conference/companys/v1/rooms";
74
+ url = "https://api-solutions-test.shengwang.cn/conference/companys/v1/rooms";
75
75
  _context2.next = 1;
76
76
  return fetch(url, {
77
77
  headers: {
@@ -151,10 +151,10 @@ var role = 'host';
151
151
  // },
152
152
  // parameters: {
153
153
  // rte: {
154
- // rteIpList: ['http://api-solutions-dev.bj2.agoralab.co'],
154
+ // rteIpList: ['http://api-solutions-dev-bj.shengwang.cn'],
155
155
  // },
156
156
  // core: {
157
- // coreIpList: ['http://api-solutions-dev.bj2.agoralab.co'],
157
+ // coreIpList: ['http://api-solutions-dev-bj.shengwang.cn'],
158
158
  // },
159
159
  // },
160
160
  // });
@@ -51,6 +51,18 @@ export interface FcrUIAbilityProvider {
51
51
  * 检查当前平台是否支持外呼
52
52
  */
53
53
  isCallOutAbilitySupported(): boolean;
54
+ /**
55
+ * 检查当前平台是否支持Volte外呼
56
+ */
57
+ isCallOutVolteAbilitySupported(): boolean;
58
+ /**
59
+ * 检查当前平台是否支持H323外呼
60
+ */
61
+ isCallOutH323AbilitySupported(): boolean;
62
+ /**
63
+ * 检查当前平台是否支持Sip外呼
64
+ */
65
+ isCallOutSipAbilitySupported(): boolean;
54
66
  }
55
67
  export declare class FcrUIAbilityProviderImpl implements FcrUIAbilityProvider, FcrUIManagedObject {
56
68
  private _abilityControl;
@@ -106,4 +118,7 @@ export declare class FcrUIAbilityProviderImpl implements FcrUIAbilityProvider, F
106
118
  * 检查当前平台是否支持外呼
107
119
  */
108
120
  isCallOutAbilitySupported: () => boolean;
121
+ isCallOutVolteAbilitySupported: () => boolean;
122
+ isCallOutH323AbilitySupported: () => boolean;
123
+ isCallOutSipAbilitySupported: () => boolean;
109
124
  }
@@ -100,7 +100,19 @@ var FcrUIAbilityProviderImpl = exports.FcrUIAbilityProviderImpl = /*#__PURE__*/f
100
100
  * 检查当前平台是否支持外呼
101
101
  */
102
102
  (0, _defineProperty2["default"])(this, "isCallOutAbilitySupported", function () {
103
- var result = _this._abilityControl.isAbilitySupported(_type.FcrAbility.PstnCallOut);
103
+ var result = _this._abilityControl.isAbilitySupported(_type.FcrAbility.CallOutPstn);
104
+ return result;
105
+ });
106
+ (0, _defineProperty2["default"])(this, "isCallOutVolteAbilitySupported", function () {
107
+ var result = _this._abilityControl.isAbilitySupported(_type.FcrAbility.CallOutVolte);
108
+ return result;
109
+ });
110
+ (0, _defineProperty2["default"])(this, "isCallOutH323AbilitySupported", function () {
111
+ var result = _this._abilityControl.isAbilitySupported(_type.FcrAbility.CallOutH323);
112
+ return result;
113
+ });
114
+ (0, _defineProperty2["default"])(this, "isCallOutSipAbilitySupported", function () {
115
+ var result = _this._abilityControl.isAbilitySupported(_type.FcrAbility.CallOutSip);
104
116
  return result;
105
117
  });
106
118
  this._abilityControl = _abilityControl;
@@ -13,8 +13,10 @@ export declare class FcrUIMouseDetectProviderImpl implements FcrUIManagedObject,
13
13
  private _detectionOffset;
14
14
  private _isDebug;
15
15
  private _displayId;
16
+ private _macMenuBarOffsetY;
16
17
  private _debugWindowObserver;
17
18
  constructor(objectManager: FcrUIObjectManager);
19
+ isMouseDetectEnabled(): boolean;
18
20
  setDisplayId(displayId: number): void;
19
21
  setDetectArea(areaId: FcrUIDetectAreaID, areaList: FcrUI.FcrUIRectangle[]): void;
20
22
  getDetectAreas(areaId: FcrUIDetectAreaID): FcrUI.FcrUIRectangle[];
@@ -0,0 +1,14 @@
1
+ import { FcrUIManagedObject } from '../../object-manager';
2
+ import { FcrUIDetectAreaID } from './struct';
3
+ import { FcrUIMouseDetectObserver, FcrUIMouseDetectProvider } from './type';
4
+ export declare class FcrUIMouseDetectProviderEmptyImpl implements FcrUIManagedObject, FcrUIMouseDetectProvider {
5
+ isMouseDetectEnabled(): boolean;
6
+ setDisplayId(_displayId: number): void;
7
+ setDetectionPositionOffset(_offset: FcrUI.FcrUIPoint): void;
8
+ setDetectArea(_areaId: FcrUIDetectAreaID, _areaList: FcrUI.FcrUIRectangle[]): void;
9
+ getDetectAreas(_areaId: FcrUIDetectAreaID): FcrUI.FcrUIRectangle[];
10
+ deleteDetectArea(_areaId: FcrUIDetectAreaID): void;
11
+ addObserver(_observer: FcrUIMouseDetectObserver): void;
12
+ removeObserver(_observer: FcrUIMouseDetectObserver): void;
13
+ release(): void;
14
+ }
@@ -0,0 +1,47 @@
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.FcrUIMouseDetectProviderEmptyImpl = void 0;
9
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
+ var FcrUIMouseDetectProviderEmptyImpl = exports.FcrUIMouseDetectProviderEmptyImpl = /*#__PURE__*/function () {
12
+ function FcrUIMouseDetectProviderEmptyImpl() {
13
+ (0, _classCallCheck2["default"])(this, FcrUIMouseDetectProviderEmptyImpl);
14
+ }
15
+ return (0, _createClass2["default"])(FcrUIMouseDetectProviderEmptyImpl, [{
16
+ key: "isMouseDetectEnabled",
17
+ value: function isMouseDetectEnabled() {
18
+ return false;
19
+ }
20
+ }, {
21
+ key: "setDisplayId",
22
+ value: function setDisplayId(_displayId) {}
23
+ }, {
24
+ key: "setDetectionPositionOffset",
25
+ value: function setDetectionPositionOffset(_offset) {}
26
+ }, {
27
+ key: "setDetectArea",
28
+ value: function setDetectArea(_areaId, _areaList) {}
29
+ }, {
30
+ key: "getDetectAreas",
31
+ value: function getDetectAreas(_areaId) {
32
+ return [];
33
+ }
34
+ }, {
35
+ key: "deleteDetectArea",
36
+ value: function deleteDetectArea(_areaId) {}
37
+ }, {
38
+ key: "addObserver",
39
+ value: function addObserver(_observer) {}
40
+ }, {
41
+ key: "removeObserver",
42
+ value: function removeObserver(_observer) {}
43
+ }, {
44
+ key: "release",
45
+ value: function release() {}
46
+ }]);
47
+ }();
@@ -126,6 +126,7 @@ var FcrUIMouseDetectProviderImpl = exports.FcrUIMouseDetectProviderImpl = /*#__P
126
126
  });
127
127
  (0, _defineProperty2["default"])(this, "_isDebug", false);
128
128
  (0, _defineProperty2["default"])(this, "_displayId", null);
129
+ (0, _defineProperty2["default"])(this, "_macMenuBarOffsetY", 30);
129
130
  (0, _defineProperty2["default"])(this, "_debugWindowObserver", {
130
131
  onReady: function onReady() {
131
132
  var AreaDebugger = (0, _mobxReact.observer)(function () {
@@ -163,9 +164,6 @@ var FcrUIMouseDetectProviderImpl = exports.FcrUIMouseDetectProviderImpl = /*#__P
163
164
  this._task = _schedule.AgoraScheduler.shared.addPollingTask(function () {
164
165
  _this._detect();
165
166
  }, 50);
166
- if ((0, _env.isMac)()) {
167
- this._task.stop();
168
- }
169
167
 
170
168
  // 调试时使用,用于查看检测区域
171
169
  // this._debug(true);
@@ -178,6 +176,11 @@ var FcrUIMouseDetectProviderImpl = exports.FcrUIMouseDetectProviderImpl = /*#__P
178
176
  set: function set(v) {
179
177
  _classPrivateFieldSet(_A, this, v);
180
178
  }
179
+ }, {
180
+ key: "isMouseDetectEnabled",
181
+ value: function isMouseDetectEnabled() {
182
+ return true;
183
+ }
181
184
  }, {
182
185
  key: "setDisplayId",
183
186
  value: function setDisplayId(displayId) {
@@ -220,7 +223,10 @@ var FcrUIMouseDetectProviderImpl = exports.FcrUIMouseDetectProviderImpl = /*#__P
220
223
  }, {
221
224
  key: "setDetectionPositionOffset",
222
225
  value: function setDetectionPositionOffset(offset) {
223
- this._detectionOffset = offset;
226
+ this._detectionOffset = {
227
+ x: offset.x,
228
+ y: offset.y + ((0, _env.isMac)() ? this._macMenuBarOffsetY : 0)
229
+ };
224
230
  }
225
231
  }, {
226
232
  key: "addObserver",
@@ -289,6 +295,9 @@ var FcrUIMouseDetectProviderImpl = exports.FcrUIMouseDetectProviderImpl = /*#__P
289
295
  window.show();
290
296
  window.setIgnoreMouseEvents(true);
291
297
  window.setAlwaysOnTop(true, 'screen-saver', _levelConfig.WindowRelativeLevel.MOUSE_DETECT_DEBUGGER_LEVEL);
298
+ window.setVisibleOnAllWorkspaces(true, {
299
+ visibleOnFullScreen: true
300
+ });
292
301
  window.addObserver(this._debugWindowObserver);
293
302
  } else {
294
303
  this._isDebug = false;
@@ -4,6 +4,8 @@ export interface FcrUIMouseDetectObserver {
4
4
  onMouseLeaveDetectArea?: (areaId: FcrUIDetectAreaID) => void;
5
5
  }
6
6
  export interface FcrUIMouseDetectProvider {
7
+ /** Whether mouse detection mechanism is enabled on this platform/version */
8
+ isMouseDetectEnabled(): boolean;
7
9
  setDisplayId(displayId: number): void;
8
10
  setDetectionPositionOffset(offset: FcrUI.FcrUIPoint): void;
9
11
  setDetectArea(areaId: FcrUIDetectAreaID, areaList: FcrUI.FcrUIRectangle[]): void;
@@ -1,10 +1,11 @@
1
1
  import { FcrBaseRoomControl } from 'fcr-core';
2
2
  import { FcrUIDeviceProvider } from './device-provider';
3
- import { FcrPhoneConnectorSession, FcrRoomConnectorPhoneInfo, FcrRoomConnectorSessionReason, FcrRoomConnectorSessionState } from 'fcr-core/lib/room-control/room-connector-control/type';
3
+ import { FcrPhoneConnectorSession, FcrPhoneConnectorSessionType, FcrRoomConnectorPhoneInfo, FcrRoomConnectorSessionReason, FcrRoomConnectorSessionState } from 'fcr-core/lib/room-control/room-connector-control/type';
4
4
  import { FcrUIConnectType } from '../type';
5
- import { ConnectorRegion } from '../modules/connection-gateway/enums';
6
5
  import { FcrUIMessageProvider } from './message/type';
7
6
  import { FcrUIManagedObject } from '../object-manager';
7
+ import { FcrUIAbilityProvider } from './ability-provider';
8
+ import { ConnectorRegion } from '../modules/phone-audio-connect/enums';
8
9
  export interface FcrUIPhoneAudioConnectorObserver {
9
10
  onPhoneCallStateUpdated(state: FcrRoomConnectorSessionState, reason: FcrRoomConnectorSessionReason): void;
10
11
  }
@@ -59,6 +60,16 @@ export interface FcrUIPhoneAudioConnectorProvider {
59
60
  * @returns boolean
60
61
  */
61
62
  get hasOwnPstnStream(): boolean;
63
+ /**
64
+ * @getter 是否有 VOLTE 流
65
+ * @returns boolean
66
+ */
67
+ get hasVolteStream(): boolean;
68
+ /**
69
+ * @getter 是否有自己的 VOLTE 流
70
+ * @returns boolean
71
+ */
72
+ get hasOwnVolteStream(): boolean;
62
73
  /**
63
74
  * @getter 是否需要合并流
64
75
  * @returns boolean
@@ -81,12 +92,21 @@ export interface FcrUIPhoneAudioConnectorProvider {
81
92
  /**
82
93
  * @method 开始拨号呼叫
83
94
  * @param phoneNumber - 电话号码
95
+ * @param callOutType - 呼出类型
84
96
  */
85
- startCall(phoneNumber: string): void;
97
+ startCall(phoneNumber: string, callOutType?: FcrPhoneConnectorSessionType): void;
86
98
  /**
87
99
  * @method 挂断电话呼叫
88
100
  */
89
101
  stopCall(): void;
102
+ /**
103
+ * @method 获取呼出电话类型
104
+ */
105
+ getPhoneCallOutType(): FcrPhoneConnectorSessionType;
106
+ /**
107
+ * @method 获取外呼协议类型数组
108
+ */
109
+ getCallOutTypeArray(): string[];
90
110
  /**
91
111
  * @method 释放资源
92
112
  */
@@ -108,6 +128,7 @@ export declare class FcrUIPhoneAudioConnectorProviderImpl implements FcrUIPhoneA
108
128
  private _disposers;
109
129
  private _messageProvider;
110
130
  private _deviceProvider;
131
+ private _abilityProvider;
111
132
  private _streamControl;
112
133
  private _roomOberver;
113
134
  private _streamObserver;
@@ -123,17 +144,22 @@ export declare class FcrUIPhoneAudioConnectorProviderImpl implements FcrUIPhoneA
123
144
  accessor outgoingCall: boolean;
124
145
  accessor isHangup: boolean;
125
146
  accessor hasPstnStream: boolean;
147
+ accessor hasVolteStream: boolean;
126
148
  accessor hasOwnPstnStream: boolean;
149
+ accessor hasOwnVolteStream: boolean;
127
150
  accessor hasNeedMergedStream: boolean;
128
151
  get connectType(): FcrUIConnectType;
129
- constructor({ roomControl, messageProvider, deviceProvider, }: {
152
+ constructor({ roomControl, messageProvider, deviceProvider, abilityProvider, }: {
130
153
  roomControl: FcrBaseRoomControl;
131
154
  messageProvider: FcrUIMessageProvider;
132
155
  deviceProvider: FcrUIDeviceProvider;
156
+ abilityProvider: FcrUIAbilityProvider;
133
157
  });
134
158
  getConnectorInfo(): Promise<void>;
135
159
  setConnectionInfo(region?: ConnectorRegion): void;
136
- startCall(phoneNumber: string): Promise<void>;
160
+ startCall(phoneNumber: string, callOutType?: FcrPhoneConnectorSessionType): Promise<void>;
161
+ getCallOutTypeArray(): string[];
162
+ getPhoneCallOutType(): FcrPhoneConnectorSessionType;
137
163
  stopCall(): Promise<void>;
138
164
  addObserver(observer: FcrUIPhoneAudioConnectorObserver): void;
139
165
  removeObserver(observer: FcrUIPhoneAudioConnectorObserver): void;