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,960 @@
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.date.to-primitive.js");
10
+ require("core-js/modules/es.function.name.js");
11
+ require("core-js/modules/es.map.js");
12
+ require("core-js/modules/es.number.constructor.js");
13
+ require("core-js/modules/es.object.create.js");
14
+ require("core-js/modules/es.object.define-property.js");
15
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
16
+ require("core-js/modules/esnext.function.metadata.js");
17
+ require("core-js/modules/esnext.map.delete-all.js");
18
+ require("core-js/modules/esnext.map.emplace.js");
19
+ require("core-js/modules/esnext.map.every.js");
20
+ require("core-js/modules/esnext.map.filter.js");
21
+ require("core-js/modules/esnext.map.find.js");
22
+ require("core-js/modules/esnext.map.find-key.js");
23
+ require("core-js/modules/esnext.map.includes.js");
24
+ require("core-js/modules/esnext.map.key-of.js");
25
+ require("core-js/modules/esnext.map.map-keys.js");
26
+ require("core-js/modules/esnext.map.map-values.js");
27
+ require("core-js/modules/esnext.map.merge.js");
28
+ require("core-js/modules/esnext.map.reduce.js");
29
+ require("core-js/modules/esnext.map.some.js");
30
+ require("core-js/modules/esnext.map.update.js");
31
+ require("core-js/modules/esnext.symbol.metadata.js");
32
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
33
+ var _typeof = require("@babel/runtime/helpers/typeof");
34
+ Object.defineProperty(exports, "__esModule", {
35
+ value: true
36
+ });
37
+ exports["default"] = exports.StoreContext = void 0;
38
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
39
+ require("core-js/modules/es.array.concat.js");
40
+ require("core-js/modules/es.array.filter.js");
41
+ require("core-js/modules/es.array.find.js");
42
+ require("core-js/modules/es.array.for-each.js");
43
+ require("core-js/modules/es.array.includes.js");
44
+ require("core-js/modules/es.array.iterator.js");
45
+ require("core-js/modules/es.array.map.js");
46
+ require("core-js/modules/es.array.push.js");
47
+ require("core-js/modules/es.date.to-json.js");
48
+ require("core-js/modules/es.function.bind.js");
49
+ require("core-js/modules/es.json.stringify.js");
50
+ require("core-js/modules/es.object.keys.js");
51
+ require("core-js/modules/es.object.to-string.js");
52
+ require("core-js/modules/es.promise.js");
53
+ require("core-js/modules/es.string.iterator.js");
54
+ require("core-js/modules/es.string.starts-with.js");
55
+ require("core-js/modules/es.weak-map.js");
56
+ require("core-js/modules/esnext.iterator.constructor.js");
57
+ require("core-js/modules/esnext.iterator.filter.js");
58
+ require("core-js/modules/esnext.iterator.find.js");
59
+ require("core-js/modules/esnext.iterator.for-each.js");
60
+ require("core-js/modules/esnext.iterator.map.js");
61
+ require("core-js/modules/esnext.weak-map.delete-all.js");
62
+ require("core-js/modules/esnext.weak-map.emplace.js");
63
+ require("core-js/modules/web.dom-collections.for-each.js");
64
+ require("core-js/modules/web.dom-collections.iterator.js");
65
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
66
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
67
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
68
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
69
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
70
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
71
+ var _fcrCore = require("fcr-core");
72
+ var _type = require("fcr-core/lib/type");
73
+ var _env = require("agora-foundation/lib/utilities/env");
74
+ var _shareAudio = require("agora-ui-foundation/lib/components/room-screen-share-state-bar/share-audio");
75
+ var _mobx = require("mobx");
76
+ var _i18n = require("agora-ui-foundation/lib/i18n");
77
+ var _decorator = require("agora-foundation/lib/decorator");
78
+ var _react = require("react");
79
+ var _type2 = require("agora-ui-foundation/lib/components/icon/type");
80
+ var _renderer = require("../../utilities/renderer");
81
+ var _screenCapturePermission = require("../../utilities/screen-capture-permission");
82
+ var _constant = require("../../utilities/constant");
83
+ var _logger = require("../../utilities/logger");
84
+ var _parameters = require("../../utilities/parameters");
85
+ var _imports = require("fcr-core/lib/imports");
86
+ var _ShareScreenStore;
87
+ var _initProto, _init_boardOwnerUser, _handleChooseScreenDecs, _init_handleChooseScreen, _setShareWithAudioStateDecs, _zoomInDecs, _zoomOutDecs, _fullContainerDecs, _setOriginScalcDecs, _setShareAudioProcessingChannelDecs, _openRelaunchTipsDialogDecs, _startRenderSharePreviewDecs, _stopRenderSharePreviewDecs, _handleStopShareDecs, _handleStopShareByExitRoomDecs, _handleStartShareDecs, _openShareScreenSelectionDecs, _closeShareScreenSelectionDecs, _openVideoWindowDialogDecs, _closeControlBarDecs, _closeVideoWindowDialogDecs, _handleReplaceScreenDecs, _initControlbarDecs, _toggleShareWithScenarioTypeDecs, _ref;
88
+ function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
89
+ function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
90
+ function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
91
+ function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
92
+ 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"); }
93
+ 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)]; } }; }
94
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
95
+ 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); }
96
+ 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; }
97
+ 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; }
98
+ var _A = /*#__PURE__*/new WeakMap();
99
+ _ref = (_handleChooseScreenDecs = [_mobx.action, _mobx.action.bound], _setShareWithAudioStateDecs = [_mobx.action, _mobx.action.bound], _zoomInDecs = [_mobx.action, _mobx.action.bound], _zoomOutDecs = [_mobx.action, _mobx.action.bound], _fullContainerDecs = [_mobx.action, _mobx.action.bound], _setOriginScalcDecs = [_mobx.action, _mobx.action.bound], _setShareAudioProcessingChannelDecs = [_mobx.action, _mobx.action.bound], _openRelaunchTipsDialogDecs = [_mobx.action, _mobx.action.bound], _startRenderSharePreviewDecs = [_mobx.action, _mobx.action.bound], _stopRenderSharePreviewDecs = [_mobx.action, _mobx.action.bound], _handleStopShareDecs = [_mobx.action, _mobx.action.bound], _handleStopShareByExitRoomDecs = [_mobx.action, _mobx.action.bound], _handleStartShareDecs = [_mobx.action, _mobx.action.bound], _openShareScreenSelectionDecs = [_mobx.action, _mobx.action.bound], _closeShareScreenSelectionDecs = [_mobx.action, _mobx.action.bound], _openVideoWindowDialogDecs = [_mobx.action, _mobx.action.bound], _closeControlBarDecs = [_mobx.action, _mobx.action.bound], _closeVideoWindowDialogDecs = [_mobx.action, _mobx.action.bound], _handleReplaceScreenDecs = [_mobx.action, _mobx.action.bound], _initControlbarDecs = [_mobx.action, _mobx.action.bound], _toggleShareWithScenarioTypeDecs = [_mobx.action, _mobx.action.bound], "logger");
100
+ var ShareScreenStore = exports["default"] = /*#__PURE__*/function () {
101
+ function ShareScreenStore(_ref2) {
102
+ var _this = this;
103
+ var roomControl = _ref2.roomControl,
104
+ deviceProvider = _ref2.deviceProvider,
105
+ privilegeProvider = _ref2.privilegeProvider,
106
+ messageProvider = _ref2.messageProvider,
107
+ dialogProvider = _ref2.dialogProvider,
108
+ eventProvider = _ref2.eventProvider,
109
+ sharedMemberDataSource = _ref2.sharedMemberDataSource,
110
+ roomProvider = _ref2.roomProvider,
111
+ sharedConfigDataSource = _ref2.sharedConfigDataSource,
112
+ screenShareProvider = _ref2.screenShareProvider,
113
+ annotationProvider = _ref2.annotationProvider,
114
+ sharedScreenShareSharedDataSource = _ref2.sharedScreenShareSharedDataSource,
115
+ abilityProvider = _ref2.abilityProvider,
116
+ sharedAnnotationDataSource = _ref2.sharedAnnotationDataSource,
117
+ multiDisplayProvider = _ref2.multiDisplayProvider;
118
+ (0, _classCallCheck2["default"])(this, ShareScreenStore);
119
+ (0, _defineProperty2["default"])(this, _ref, (_initProto(this), (0, _logger.createLogger)({
120
+ prefix: 'ShareScreenStore'
121
+ })));
122
+ (0, _defineProperty2["default"])(this, "_disposers", []);
123
+ (0, _defineProperty2["default"])(this, "_isOnline", true);
124
+ (0, _defineProperty2["default"])(this, "_windowList", []);
125
+ (0, _defineProperty2["default"])(this, "_displayList", []);
126
+ (0, _defineProperty2["default"])(this, "_cardChooseBounds", {
127
+ x: 0,
128
+ y: 0,
129
+ width: 0,
130
+ height: 0
131
+ });
132
+ (0, _defineProperty2["default"])(this, "_roomObserver", {
133
+ // 房间关闭时,需要停止共享屏幕
134
+ onRoomClosed: this.handleStopShare,
135
+ // 被移出主房间房间时,需要停止共享屏幕
136
+ onLeaveMainRoom: this.handleStopShare,
137
+ // 离开房间时,需要停止共享屏幕
138
+ onExitRoom: this.handleStopShareByExitRoom
139
+ });
140
+ (0, _defineProperty2["default"])(this, "_uiEventObserver", {
141
+ onEvent: this._onUiEvent.bind(this)
142
+ });
143
+ (0, _defineProperty2["default"])(this, "_screenCaptureStateObserver", {
144
+ onScreenCaptureStopped: this._handleOnScreenCaptureStopped.bind(this),
145
+ onScreenShareReplaceBegin: this._handleOnScreenShareReplaceBegin.bind(this),
146
+ onScreenCaptureStarted: this._handleOnScreenCaptureStarted.bind(this),
147
+ onScreenShareSeize: this._handleOnScreenShareSeize.bind(this)
148
+ });
149
+ (0, _defineProperty2["default"])(this, "_boardObserver", {
150
+ onActive: function onActive(ownerId) {
151
+ _this.handleStopShare();
152
+ _this._closeShareScreenComps();
153
+ _this._closeShareScreenSelection();
154
+ _this.boardOwnerUser = _this._userControl.getUser(ownerId);
155
+ },
156
+ onInactive: function onInactive(reason) {
157
+ _this.boardOwnerUser = undefined;
158
+ }
159
+ });
160
+ (0, _defineProperty2["default"])(this, "_shareSelectionDialogId", '');
161
+ (0, _defineProperty2["default"])(this, "_controlBarDialogId", '');
162
+ (0, _defineProperty2["default"])(this, "_videoWindowDialogId", '');
163
+ _classPrivateFieldInitSpec(this, _A, _init_boardOwnerUser(this, undefined));
164
+ (0, _defineProperty2["default"])(this, "handleChooseScreen", _init_handleChooseScreen(this, function (id) {
165
+ var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _type.FcrScreenCaptureType.WINDOW;
166
+ _this._sharedScreenShareSharedDataSource.setCurrentSelection(id, type);
167
+ }));
168
+ this._deviceProvider = deviceProvider;
169
+ this._messageProvider = messageProvider;
170
+ this._dialogProvider = dialogProvider;
171
+ this._eventProvider = eventProvider;
172
+ this._securityStore = privilegeProvider;
173
+ this._roomProvider = roomProvider;
174
+ this._sharedMemberDataSource = sharedMemberDataSource;
175
+ this._screenShareProvider = screenShareProvider;
176
+ this._annotationProvider = annotationProvider;
177
+ this._sharedScreenShareSharedDataSource = sharedScreenShareSharedDataSource;
178
+ this._abilityProvider = abilityProvider;
179
+ this._sharedAnnotationDataSource = sharedAnnotationDataSource;
180
+ roomControl.getStreamControl();
181
+ this._userControl = roomControl.getUserControl();
182
+ this._boardControl = roomControl.getSharingControl().getBoardControl();
183
+ this._streamControl = roomControl.getStreamControl();
184
+ this._roomProvider.addObserver(this._roomObserver);
185
+ this._eventProvider.addObserver(this._uiEventObserver);
186
+ this._boardControl.addObserver(this._boardObserver);
187
+ this._screenShareProvider.addObserver(this._screenCaptureStateObserver);
188
+ this._addEventListeners();
189
+ if ((0, _parameters.getStartScreenSharing)(sharedConfigDataSource.creatorConfig.parameters)) {
190
+ var display = window.runtime.screen.getAllDisplays()[0];
191
+ this.handleStartShare(String(display.id), _type.FcrScreenCaptureType.SCREEN, false, _shareAudio.AudioProcessingChannel.MONO, display.bounds);
192
+ }
193
+ this._disposers.push((0, _mobx.reaction)(function () {
194
+ return _this._securityStore.hasStartScreenSharePermission();
195
+ }, function (screenSharePremission) {
196
+ if (!screenSharePremission) {
197
+ if (_this.isHost) return;
198
+ _this._messageProvider.showToast({
199
+ type: 'error',
200
+ message: (0, _i18n.transI18n)('fmt_screenshare_tips_hostprohibitssharing'),
201
+ duration: 3000
202
+ });
203
+ }
204
+ }), (0, _mobx.reaction)(function () {
205
+ return _this.connectionState;
206
+ }, function (val) {
207
+ var needCloseState = val === _fcrCore.FcrConnectionState.ABORTED || val === _fcrCore.FcrConnectionState.DISCONNECTED;
208
+ _this.logger.info("[screen-share]: connection state changed to ".concat(val, ", need close state: ").concat(needCloseState));
209
+ if (needCloseState) {
210
+ _this.handleStopShare();
211
+ }
212
+ }));
213
+ if ((0, _env.isElectron)()) {
214
+ window.runtime.browserWindow.addListener('show', this._handleBrowserShow);
215
+ window.runtime.browserWindow.addListener('hide', this._hendleBrowserHide);
216
+ }
217
+ }
218
+ return (0, _createClass2["default"])(ShareScreenStore, [{
219
+ key: "_handleOnScreenCaptureStopped",
220
+ value: function _handleOnScreenCaptureStopped() {
221
+ this.handleStopShare();
222
+ }
223
+ }, {
224
+ key: "_handleOnScreenCaptureStarted",
225
+ value: function _handleOnScreenCaptureStarted() {
226
+ this.prepareShareScreen();
227
+ }
228
+ }, {
229
+ key: "_hasScreenSharePermission",
230
+ value: function _hasScreenSharePermission() {
231
+ if (!this._securityStore.hasStartScreenSharePermission()) {
232
+ this._showToast((0, _i18n.transI18n)('fmt_screenshare_cohost_can_not_share_remind'), 'error');
233
+ return false;
234
+ }
235
+ return true;
236
+ }
237
+ }, {
238
+ key: "boardOwnerUser",
239
+ get: function get() {
240
+ return _classPrivateFieldGet(_A, this);
241
+ },
242
+ set: function set(v) {
243
+ _classPrivateFieldSet(_A, this, v);
244
+ }
245
+ }, {
246
+ key: "cardChooseBounds",
247
+ get: function get() {
248
+ return this._cardChooseBounds;
249
+ }
250
+ }, {
251
+ key: "currentShareStreamId",
252
+ get: function get() {
253
+ return this._sharedScreenShareSharedDataSource.currentShareStreamId;
254
+ }
255
+ }, {
256
+ key: "screenTrack",
257
+ get: function get() {
258
+ return this._sharedScreenShareSharedDataSource.screenTrack;
259
+ }
260
+ }, {
261
+ key: "currentShareType",
262
+ get: function get() {
263
+ return this._sharedScreenShareSharedDataSource.currentShareType;
264
+ }
265
+ }, {
266
+ key: "isCurrentOriginal",
267
+ get: function get() {
268
+ return this._sharedScreenShareSharedDataSource.isCurrentOriginal;
269
+ }
270
+ }, {
271
+ key: "localUser",
272
+ get: function get() {
273
+ return this._sharedMemberDataSource.localUser;
274
+ }
275
+ }, {
276
+ key: "localUserRole",
277
+ get: function get() {
278
+ return this._sharedMemberDataSource.localUserRole;
279
+ }
280
+ }, {
281
+ key: "isHost",
282
+ get: function get() {
283
+ return this._sharedMemberDataSource.isLocalUserHost;
284
+ }
285
+ }, {
286
+ key: "supportEnumScreen",
287
+ get: function get() {
288
+ return this._deviceProvider.isCapabilitySupported(_fcrCore.FcrCapability.SCREEN_ENUMERATE);
289
+ }
290
+ }, {
291
+ key: "appWindowList",
292
+ get: function get() {
293
+ return this._sharedScreenShareSharedDataSource.appWindowList;
294
+ }
295
+ }, {
296
+ key: "displayList",
297
+ get: function get() {
298
+ return this._sharedScreenShareSharedDataSource.displayList;
299
+ }
300
+ }, {
301
+ key: "connectionState",
302
+ get: function get() {
303
+ return this._sharedScreenShareSharedDataSource.connectionState;
304
+ }
305
+ }, {
306
+ key: "localUserScreenSharingState",
307
+ get: function get() {
308
+ return this._sharedScreenShareSharedDataSource.localUserScreenSharingState;
309
+ }
310
+ }, {
311
+ key: "applicationCaptureSources",
312
+ get: function get() {
313
+ return this._sharedScreenShareSharedDataSource.applicationCaptureSources;
314
+ }
315
+ }, {
316
+ key: "screenCaptureSources",
317
+ get: function get() {
318
+ return this._sharedScreenShareSharedDataSource.screenCaptureSources;
319
+ }
320
+ }, {
321
+ key: "currentShareAudioProcessingChannel",
322
+ get: function get() {
323
+ return this._sharedScreenShareSharedDataSource.currentShareAudioProcessingChannel;
324
+ }
325
+ }, {
326
+ key: "currentSelectionId",
327
+ get: function get() {
328
+ return this._sharedScreenShareSharedDataSource.currentSelectionId;
329
+ }
330
+ }, {
331
+ key: "currentSelectionType",
332
+ get: function get() {
333
+ return this._sharedScreenShareSharedDataSource.currentSelectionType;
334
+ }
335
+ }, {
336
+ key: "shareWithAudio",
337
+ get: function get() {
338
+ return this._sharedScreenShareSharedDataSource.shareWithAudio;
339
+ }
340
+ }, {
341
+ key: "currentSelectionBounds",
342
+ get: function get() {
343
+ return this._sharedScreenShareSharedDataSource.currentSelectionBounds;
344
+ }
345
+ }, {
346
+ key: "shareLock",
347
+ get: function get() {
348
+ return this._screenShareProvider.shareLock;
349
+ }
350
+ }, {
351
+ key: "currentShareId",
352
+ get: function get() {
353
+ return this._sharedScreenShareSharedDataSource.currentShareId;
354
+ }
355
+ }, {
356
+ key: "annotationHasStart",
357
+ get: function get() {
358
+ return this._sharedAnnotationDataSource.annotationHasStart;
359
+ }
360
+ }, {
361
+ key: "allowAnnotationWrite",
362
+ get: function get() {
363
+ return this._annotationProvider.allowAnnotationWrite;
364
+ }
365
+ }, {
366
+ key: "screenShareWindowData",
367
+ get: function get() {
368
+ return this._annotationProvider.screenShareWindowData;
369
+ }
370
+ }, {
371
+ key: "isZoomMaxmum",
372
+ get: function get() {
373
+ return this._sharedScreenShareSharedDataSource.isZoomMaxmum;
374
+ }
375
+ }, {
376
+ key: "isZoomMinimum",
377
+ get: function get() {
378
+ return this._sharedScreenShareSharedDataSource.isZoomMinimum;
379
+ }
380
+ }, {
381
+ key: "isAspectRatioPreserved",
382
+ get: function get() {
383
+ return this._screenShareProvider.isAspectRatioPreserved;
384
+ }
385
+ }, {
386
+ key: "isCurrentScreenShareInSmoothType",
387
+ get: function get() {
388
+ return this._sharedScreenShareSharedDataSource.isCurrentScreenShareInSmoothType;
389
+ }
390
+ }, {
391
+ key: "_screenShareInfoForLog",
392
+ get: function get() {
393
+ return "Screen Share Info : ".concat(JSON.stringify({
394
+ isSharingScreen: this.localUserScreenSharingState,
395
+ currentShareId: this.currentShareId,
396
+ currentShareType: this.currentShareType,
397
+ currentShareBounds: this.currentSelectionBounds
398
+ }));
399
+ }
400
+ }, {
401
+ key: "allowAnnotationSelfWriteState",
402
+ get: function get() {
403
+ return this._annotationProvider.allowAnnotationSelfWrite;
404
+ }
405
+ }, {
406
+ key: "isShowToolbar",
407
+ get: function get() {
408
+ return this._annotationProvider.isShowToolbar;
409
+ }
410
+ }, {
411
+ key: "isAnnotationSupported",
412
+ get: function get() {
413
+ return this._abilityProvider.isAnnotationSupported();
414
+ }
415
+ }, {
416
+ key: "toggleIsShowToolbar",
417
+ value: function toggleIsShowToolbar() {
418
+ if (this.allowAnnotationSelfWriteState) {
419
+ this._annotationProvider.setIsShowToolbar(!this.isShowToolbar);
420
+ }
421
+ }
422
+ }, {
423
+ key: "setShareWithAudioState",
424
+ value: function setShareWithAudioState(withAudio) {
425
+ this._sharedScreenShareSharedDataSource.setShareWithAudio(withAudio);
426
+ }
427
+ }, {
428
+ key: "zoomIn",
429
+ value: function zoomIn() {
430
+ this._screenShareProvider.zoomIn();
431
+ }
432
+ }, {
433
+ key: "zoomOut",
434
+ value: function zoomOut() {
435
+ this._screenShareProvider.zoomOut();
436
+ }
437
+ }, {
438
+ key: "fullContainer",
439
+ value: function fullContainer() {
440
+ this._screenShareProvider.fullContainer();
441
+ }
442
+ }, {
443
+ key: "setOriginScalc",
444
+ value: function setOriginScalc() {
445
+ this._screenShareProvider.setOriginScalc();
446
+ }
447
+ }, {
448
+ key: "setShareAudioProcessingChannel",
449
+ value: function setShareAudioProcessingChannel(currentShareAudioProcessingChannel) {
450
+ this._sharedScreenShareSharedDataSource.setCurrentShareAudioProcessingChannel(currentShareAudioProcessingChannel);
451
+ }
452
+ }, {
453
+ key: "setCardChooseBounds",
454
+ value: function setCardChooseBounds(bounds) {
455
+ this._cardChooseBounds = bounds;
456
+ }
457
+ }, {
458
+ key: "handlerBoardShareStop",
459
+ value: function handlerBoardShareStop() {
460
+ this._eventProvider.sendEvent(_constant.FcrUIAction.CLOSE_WHITEBOARD);
461
+ }
462
+ }, {
463
+ key: "release",
464
+ value: function release() {
465
+ this._disposers.forEach(function (disposer) {
466
+ return disposer();
467
+ });
468
+ this._disposers = [];
469
+ this._closeShareScreenComps();
470
+ this._eventProvider.removeObserver(this._uiEventObserver);
471
+ // this.screenTrack?.removeObserver(this._observer);
472
+ this._screenShareProvider.removeObserver(this._screenCaptureStateObserver);
473
+ this._screenShareProvider.release();
474
+ this._boardControl.removeObserver(this._boardObserver);
475
+ this._roomProvider.removeObserver(this._roomObserver);
476
+ this._removeEventListeners();
477
+ if ((0, _env.isElectron)()) {
478
+ window.runtime.browserWindow.removeListener('show', this._handleBrowserShow);
479
+ window.runtime.browserWindow.removeListener('hide', this._hendleBrowserHide);
480
+ }
481
+ }
482
+ }, {
483
+ key: "openRelaunchTipsDialog",
484
+ value: function openRelaunchTipsDialog() {
485
+ var _this2 = this;
486
+ var dialogId = this._dialogProvider.openConfirmDialog({
487
+ content: (0, _i18n.transI18n)('fmt_driver_installation_v_sound_card'),
488
+ onOk: function onOk() {
489
+ dialogId && _this2._dialogProvider.closeConfirm(dialogId);
490
+ (0, _renderer.restartApp)();
491
+ },
492
+ onCancel: function onCancel() {
493
+ dialogId && _this2._dialogProvider.closeConfirm(dialogId);
494
+ },
495
+ okText: (0, _i18n.transI18n)('fmt_premeeting_setting_mobile_popup_button_restart'),
496
+ cancelText: (0, _i18n.transI18n)('fmt_waitingroom_attendie_popup_button_gotit'),
497
+ title: ''
498
+ });
499
+ }
500
+ }, {
501
+ key: "startRenderSharePreview",
502
+ value: function startRenderSharePreview(dom) {
503
+ this._screenShareProvider.startRenderSharePreview(dom);
504
+ }
505
+ }, {
506
+ key: "stopRenderSharePreview",
507
+ value: function stopRenderSharePreview(screenTrack) {
508
+ this._screenShareProvider.stopRenderSharePreview(screenTrack);
509
+ }
510
+ }, {
511
+ key: "handleStopShare",
512
+ value: function handleStopShare() {
513
+ this._closeShareScreenComps();
514
+ this._screenShareProvider.stopShareScreen();
515
+ }
516
+ }, {
517
+ key: "handleStopShareByExitRoom",
518
+ value: function handleStopShareByExitRoom() {
519
+ this._closeShareScreenComps();
520
+ this._screenShareProvider.stopShareScreenByExitRoom();
521
+ }
522
+ }, {
523
+ key: "participantShareCanWeAnnotation",
524
+ value: function participantShareCanWeAnnotation() {
525
+ var streams = this._streamControl.getStreams();
526
+ var _notSupportPlatform = [_type.FcrPlatform.WEB_DESKTOP, _type.FcrPlatform.WEB_MOBILE, _type.FcrPlatform.IOS];
527
+ var streamLists = Object.keys(streams).map(function (key) {
528
+ return streams[key];
529
+ });
530
+ var screenShareStreams = streamLists.map(function (streamList) {
531
+ return streamList.find(function (streamInfo) {
532
+ return streamInfo.videoSourceType === _fcrCore.FcrVideoSourceType.SCREEN;
533
+ });
534
+ }).filter(Boolean);
535
+ if (screenShareStreams.length > 0) {
536
+ var screenShareOwnerInfo = screenShareStreams[0];
537
+ var _participantPlatform = screenShareOwnerInfo === null || screenShareOwnerInfo === void 0 ? void 0 : screenShareOwnerInfo.owner.platform;
538
+ this.logger.info("[Annotation] current share participant platform: ".concat(_participantPlatform));
539
+ if (typeof _participantPlatform !== 'undefined' && !_notSupportPlatform.includes(_participantPlatform)) {
540
+ return true;
541
+ } else {
542
+ return false;
543
+ }
544
+ }
545
+ return false;
546
+ }
547
+ }, {
548
+ key: "prepareShareScreen",
549
+ value: function () {
550
+ var _prepareShareScreen = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
551
+ var _this3 = this;
552
+ var dialogId;
553
+ return _regenerator["default"].wrap(function (_context2) {
554
+ while (1) switch (_context2.prev = _context2.next) {
555
+ case 0:
556
+ if ((0, _screenCapturePermission.hasScreenCapturePermission)()) {
557
+ _context2.next = 1;
558
+ break;
559
+ }
560
+ dialogId = this._dialogProvider.openConfirmDialog({
561
+ title: (0, _i18n.transI18n)('fmt_screenshare_options_allowshare'),
562
+ content: (0, _i18n.transI18n)('fmt_screenshare_tips_notavailable'),
563
+ okText: (0, _i18n.transI18n)('fmt_group_popup_creat_next_sidpop_label_setting'),
564
+ cancelText: (0, _i18n.transI18n)('fmt_group_popup_creat_next_sidpop_button_help_ignore'),
565
+ onCancel: function onCancel() {
566
+ _this3._dialogProvider.closeConfirm(dialogId);
567
+ },
568
+ onOk: function () {
569
+ var _onOk = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
570
+ return _regenerator["default"].wrap(function (_context) {
571
+ while (1) switch (_context.prev = _context.next) {
572
+ case 0:
573
+ // 检查权限
574
+ // corner case: 拒绝过权限后,将应用从系统中移除,打开设置后无法找到app,需要重新检查
575
+ // 所以无论是否拒绝过权限,直接checkMediaPermission一次
576
+ window.runtime.checkMediaPermission('sharing');
577
+ if ((0, _screenCapturePermission.hasDeniedScreenCapturePermission)()) {
578
+ window.runtime.openSystemPreferences('sharing');
579
+ }
580
+ _this3._dialogProvider.closeConfirm(dialogId);
581
+ case 1:
582
+ case "end":
583
+ return _context.stop();
584
+ }
585
+ }, _callee);
586
+ }));
587
+ function onOk() {
588
+ return _onOk.apply(this, arguments);
589
+ }
590
+ return onOk;
591
+ }(),
592
+ closable: false
593
+ });
594
+ return _context2.abrupt("return");
595
+ case 1:
596
+ this.supportEnumScreen && this._openShareScreenSelection();
597
+ !(0, _env.isElectron)() && this.handleStartShare(this.currentSelectionId, _type.FcrScreenCaptureType.SCREEN, true, _shareAudio.AudioProcessingChannel.MONO, this.currentSelectionBounds);
598
+ case 2:
599
+ case "end":
600
+ return _context2.stop();
601
+ }
602
+ }, _callee2, this);
603
+ }));
604
+ function prepareShareScreen() {
605
+ return _prepareShareScreen.apply(this, arguments);
606
+ }
607
+ return prepareShareScreen;
608
+ }()
609
+ }, {
610
+ key: "handleStartShare",
611
+ value: function () {
612
+ var _handleStartShare = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(id, type, withAudio) {
613
+ var audioProcessingChannel,
614
+ bounds,
615
+ electronBounds,
616
+ needToReplaceMyself,
617
+ validShareStart,
618
+ _args3 = arguments,
619
+ _t;
620
+ return _regenerator["default"].wrap(function (_context3) {
621
+ while (1) switch (_context3.prev = _context3.next) {
622
+ case 0:
623
+ audioProcessingChannel = _args3.length > 3 && _args3[3] !== undefined ? _args3[3] : _shareAudio.AudioProcessingChannel.MONO;
624
+ bounds = _args3.length > 4 ? _args3[4] : undefined;
625
+ if (!(this.connectionState !== _fcrCore.FcrConnectionState.CONNECTED || !this._isOnline)) {
626
+ _context3.next = 1;
627
+ break;
628
+ }
629
+ this._showToast((0, _i18n.transI18n)('fmt_screenshare_toast_network_error_unable_start_screen_share'), 'error');
630
+ return _context3.abrupt("return", Promise.reject(false));
631
+ case 1:
632
+ if ((0, _env.isElectron)()) this._closeShareScreenSelection();
633
+ if (!id.startsWith('whiteboard-')) {
634
+ _context3.next = 3;
635
+ break;
636
+ }
637
+ if (!(!this._securityStore.hasStartBoardPermission() && !this.isHost)) {
638
+ _context3.next = 2;
639
+ break;
640
+ }
641
+ return _context3.abrupt("return", this._showToast((0, _i18n.transI18n)('fmt_screenshare_tips_hostprohibits'), 'error'));
642
+ case 2:
643
+ this._eventProvider.sendEvent(_constant.FcrUIAction.OPEN_WHITEBOARD);
644
+ return _context3.abrupt("return");
645
+ case 3:
646
+ electronBounds = (0, _env.isElectron)() ? window.runtime.screen.getDisplayNearestPoint(bounds) : null;
647
+ this._sharedScreenShareSharedDataSource.setCurrentSelectionBounds((electronBounds === null || electronBounds === void 0 ? void 0 : electronBounds.bounds) || bounds);
648
+ this.logger.info("[screen-share][handleStartShare]: currentShareInfo: ".concat(JSON.stringify({
649
+ id: id,
650
+ type: type,
651
+ bounds: bounds
652
+ })));
653
+ this._annotationProvider.setCurrentShareInfo({
654
+ id: id,
655
+ type: type,
656
+ bounds: bounds
657
+ });
658
+ this._annotationProvider.setBoundsToAnnotationWindow({
659
+ id: id,
660
+ type: type,
661
+ bounds: bounds
662
+ });
663
+ needToReplaceMyself = this.localUserScreenSharingState === _fcrCore.FcrMediaSourceState.OPEN;
664
+ this.logger.info("[screen-share][handleStartShare]: needToReplaceMyself - ".concat(needToReplaceMyself));
665
+ if (!needToReplaceMyself) {
666
+ _context3.next = 4;
667
+ break;
668
+ }
669
+ this._handleReplaceScreen(id, type, withAudio, audioProcessingChannel, bounds);
670
+ return _context3.abrupt("return");
671
+ case 4:
672
+ _context3.next = 5;
673
+ return this._validateShareStart(id, type);
674
+ case 5:
675
+ validShareStart = _context3.sent;
676
+ this.logger.info("[screen-share][handleStartShare]: validShareStart: ".concat(validShareStart));
677
+ if (!(!this._hasScreenSharePermission() || !validShareStart)) {
678
+ _context3.next = 6;
679
+ break;
680
+ }
681
+ return _context3.abrupt("return");
682
+ case 6:
683
+ if (!this.shareLock) {
684
+ _context3.next = 7;
685
+ break;
686
+ }
687
+ return _context3.abrupt("return", this._showToast((0, _i18n.transI18n)('fmt_screenshare_tips_enablecollection'), 'error'));
688
+ case 7:
689
+ // 初始化 controlbar 并隐藏, controlbar 不能在 startShareScreen 之后初始化,否则获取不到窗口信息,在屏幕共享时无法排除
690
+ this._initControlbar();
691
+ this._sharedScreenShareSharedDataSource.setCurrentShareIdInfos(id, type, bounds);
692
+ _context3.prev = 8;
693
+ _context3.next = 9;
694
+ return this._screenShareProvider.startShareScreen(id, type, withAudio, false);
695
+ case 9:
696
+ _context3.next = 11;
697
+ break;
698
+ case 10:
699
+ _context3.prev = 10;
700
+ _t = _context3["catch"](8);
701
+ this.logger.error('failed to start share screen:', _t);
702
+ this._closeShareScreenComps();
703
+ case 11:
704
+ case "end":
705
+ return _context3.stop();
706
+ }
707
+ }, _callee3, this, [[8, 10]]);
708
+ }));
709
+ function handleStartShare(_x, _x2, _x3) {
710
+ return _handleStartShare.apply(this, arguments);
711
+ }
712
+ return handleStartShare;
713
+ }()
714
+ }, {
715
+ key: "_openShareScreenSelection",
716
+ value: function () {
717
+ var _openShareScreenSelection2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee4() {
718
+ var _this4 = this;
719
+ var windowList, displayList;
720
+ return _regenerator["default"].wrap(function (_context4) {
721
+ while (1) switch (_context4.prev = _context4.next) {
722
+ case 0:
723
+ this._shareSelectionDialogId = this._dialogProvider.openDialog(_constant.FcrUIDialogKey.SHARE_SCREEN, 'screen-selection');
724
+ _context4.next = 1;
725
+ return this.appWindowList;
726
+ case 1:
727
+ windowList = _context4.sent.filter(function (item) {
728
+ return !['AgoraHighLighter', 'Toast', 'Confirm', 'Annotation tool bar', 'Annotation', 'Video Window', 'Control Bar', window.runtime.browserWindow.getTitle() // 主窗口和副窗口 title 一致,副窗口也需要排除在可选择列表中
729
+ ].includes(item.title) || item.isCurrent;
730
+ });
731
+ _context4.next = 2;
732
+ return this.displayList;
733
+ case 2:
734
+ displayList = _context4.sent;
735
+ this._windowList = windowList;
736
+ this._displayList = displayList;
737
+ (0, _mobx.runInAction)(function () {
738
+ _this4._sharedScreenShareSharedDataSource.setApplicationCaptureSources(windowList.filter(function (item) {
739
+ return !item.isCurrent;
740
+ }));
741
+ _this4._sharedScreenShareSharedDataSource.setScreenCaptureSources([{
742
+ title: (0, _i18n.transI18n)('fmt_share_options_whiteboard'),
743
+ id: "whiteboard-".concat(displayList[0].id),
744
+ image: _type2.FcrIconType.FCR_WHITEBOARD2
745
+ }].concat((0, _toConsumableArray2["default"])(displayList)));
746
+ });
747
+ case 3:
748
+ case "end":
749
+ return _context4.stop();
750
+ }
751
+ }, _callee4, this);
752
+ }));
753
+ function _openShareScreenSelection() {
754
+ return _openShareScreenSelection2.apply(this, arguments);
755
+ }
756
+ return _openShareScreenSelection;
757
+ }()
758
+ }, {
759
+ key: "_closeShareScreenSelection",
760
+ value: function _closeShareScreenSelection() {
761
+ this._dialogProvider.closeDialog(this._shareSelectionDialogId);
762
+ this._shareSelectionDialogId = '';
763
+ }
764
+ }, {
765
+ key: "_openVideoWindowDialog",
766
+ value: function _openVideoWindowDialog() {
767
+ this._videoWindowDialogId = this._dialogProvider.openDialog(_constant.FcrUIDialogKey.VIDEO_WINDOW);
768
+ }
769
+ }, {
770
+ key: "_closeControlBar",
771
+ value: function _closeControlBar() {
772
+ if (!this._controlBarDialogId) return;
773
+ this._dialogProvider.closeDialog(this._controlBarDialogId);
774
+ this._controlBarDialogId = '';
775
+ }
776
+ }, {
777
+ key: "_closeVideoWindowDialog",
778
+ value: function _closeVideoWindowDialog() {
779
+ this._dialogProvider.closeDialog(this._videoWindowDialogId);
780
+ this._videoWindowDialogId = '';
781
+ this._eventProvider.sendEvent(_constant.FcrUIAction.CLOSE_VIDEO_WINDOW);
782
+ }
783
+ }, {
784
+ key: "_handleOnScreenShareReplaceBegin",
785
+ value: function _handleOnScreenShareReplaceBegin(id, type, bounds) {
786
+ this._annotationProvider.setCurrentShareInfo({
787
+ id: id,
788
+ type: type,
789
+ bounds: bounds
790
+ });
791
+ this._annotationProvider.setBoundsToAnnotationWindow({
792
+ id: id,
793
+ type: type,
794
+ bounds: bounds
795
+ });
796
+ }
797
+ }, {
798
+ key: "_handleReplaceScreen",
799
+ value: function _handleReplaceScreen(id, type, withAudio) {
800
+ var audioProcessingChannel = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : _shareAudio.AudioProcessingChannel.MONO;
801
+ var bounds = arguments.length > 4 ? arguments[4] : undefined;
802
+ this._screenShareProvider.replaceScreenShare(id, type, withAudio, bounds);
803
+ }
804
+ }, {
805
+ key: "_closeShareScreenComps",
806
+ value: function _closeShareScreenComps() {
807
+ if ((0, _env.isElectron)()) {
808
+ this._closeControlBar();
809
+ this._closeVideoWindowDialog();
810
+ this._annotationProvider.closeAnnotationWindow();
811
+ window.runtime.browserWindow.show();
812
+ }
813
+ }
814
+ }, {
815
+ key: "_addEventListeners",
816
+ value: function _addEventListeners() {
817
+ window.addEventListener('online', this._handleOnline);
818
+ window.addEventListener('offline', this._handleOffline);
819
+ }
820
+ }, {
821
+ key: "_removeEventListeners",
822
+ value: function _removeEventListeners() {
823
+ window.removeEventListener('online', this._handleOnline);
824
+ window.removeEventListener('offline', this._handleOffline);
825
+ }
826
+ }, {
827
+ key: "_handleOnline",
828
+ value: function _handleOnline() {
829
+ this._isOnline = true;
830
+ this.logger.info('ononline');
831
+ }
832
+ }, {
833
+ key: "_handleOffline",
834
+ value: function _handleOffline() {
835
+ this._isOnline = false;
836
+ this.logger.info('onoffline');
837
+ }
838
+ }, {
839
+ key: "_onUiEvent",
840
+ value: function _onUiEvent(event, params) {
841
+ switch (event) {
842
+ case _constant.FcrUIAction.OPEN_TOP_VIDEO_WINDOW:
843
+ this._openVideoWindowDialog();
844
+ break;
845
+ case _constant.FcrUIAction.CLOSE_TOP_VIDEO_WINDOW:
846
+ this._closeVideoWindowDialog();
847
+ break;
848
+ }
849
+ }
850
+ }, {
851
+ key: "_showToast",
852
+ value: function _showToast(message, type) {
853
+ var duration = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 3000;
854
+ this._messageProvider.showToast({
855
+ type: type,
856
+ message: message,
857
+ duration: duration
858
+ });
859
+ }
860
+ }, {
861
+ key: "_validateWindow",
862
+ value: function _validateWindow(id) {
863
+ var window = this._windowList.filter(function (item) {
864
+ return item.title !== 'AgoraHighLighter' && item.title !== 'Development HTML';
865
+ }).find(function (item) {
866
+ return item.id === id;
867
+ });
868
+ if (!window) {
869
+ this._showToast((0, _i18n.transI18n)('fmt_screenshare_tips_faild_reselect'), 'error');
870
+ return false;
871
+ }
872
+ return true;
873
+ }
874
+ }, {
875
+ key: "_validateDisplay",
876
+ value: function _validateDisplay(id) {
877
+ var displayList = this._displayList.find(function (item) {
878
+ return item.id === id;
879
+ });
880
+ if (!displayList) {
881
+ this._showToast((0, _i18n.transI18n)('fmt_screenshare_tips_faild_screenselect'), 'error');
882
+ return false;
883
+ }
884
+ return true;
885
+ }
886
+ }, {
887
+ key: "_validateShareStart",
888
+ value: function () {
889
+ var _validateShareStart2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee5(id, type) {
890
+ return _regenerator["default"].wrap(function (_context5) {
891
+ while (1) switch (_context5.prev = _context5.next) {
892
+ case 0:
893
+ if (!this.supportEnumScreen) {
894
+ _context5.next = 2;
895
+ break;
896
+ }
897
+ if (!(type === _type.FcrScreenCaptureType.WINDOW && !this._validateWindow(id))) {
898
+ _context5.next = 1;
899
+ break;
900
+ }
901
+ return _context5.abrupt("return", false);
902
+ case 1:
903
+ if (!(type === _type.FcrScreenCaptureType.SCREEN && !this._validateDisplay(id))) {
904
+ _context5.next = 2;
905
+ break;
906
+ }
907
+ return _context5.abrupt("return", false);
908
+ case 2:
909
+ return _context5.abrupt("return", true);
910
+ case 3:
911
+ case "end":
912
+ return _context5.stop();
913
+ }
914
+ }, _callee5, this);
915
+ }));
916
+ function _validateShareStart(_x4, _x5) {
917
+ return _validateShareStart2.apply(this, arguments);
918
+ }
919
+ return _validateShareStart;
920
+ }()
921
+ }, {
922
+ key: "_initControlbar",
923
+ value: function _initControlbar() {
924
+ this._controlBarDialogId = this._dialogProvider.openDialog(_constant.FcrUIDialogKey.CONTROL_BAR, _constant.FcrUIDialogKey.CONTROL_BAR);
925
+ }
926
+ }, {
927
+ key: "_handleBrowserShow",
928
+ value: function _handleBrowserShow() {
929
+ this.logger.info("[screen-share]: browser window show, current sharing info: ".concat(this._screenShareInfoForLog));
930
+ }
931
+ }, {
932
+ key: "_hendleBrowserHide",
933
+ value: function _hendleBrowserHide() {
934
+ this.logger.info("[screen-share]: browser window hide, current sharing info: ".concat(this._screenShareInfoForLog));
935
+ }
936
+ }, {
937
+ key: "_handleOnScreenShareSeize",
938
+ value: function _handleOnScreenShareSeize() {
939
+ // 统一在此处理我被抢占的后续逻辑
940
+ this._annotationProvider.closeAnnotationWindow();
941
+ }
942
+ }, {
943
+ key: "handleToggleScreenShareWithAudio",
944
+ value: function handleToggleScreenShareWithAudio(withAudio) {
945
+ this._sharedScreenShareSharedDataSource.setShareWithAudio(withAudio);
946
+ }
947
+ }, {
948
+ key: "toggleShareWithScenarioType",
949
+ value: function toggleShareWithScenarioType(isCurrentSmoothType) {
950
+ var targetType = isCurrentSmoothType ? _imports.FcrScreenScenarioType.SMOOTH : _imports.FcrScreenScenarioType.CLEARITY;
951
+ this._sharedScreenShareSharedDataSource.setScreenShareScenarioType(targetType);
952
+ }
953
+ }]);
954
+ }();
955
+ _ShareScreenStore = ShareScreenStore;
956
+ var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_ShareScreenStore, [[_mobx.observable, 1, "boardOwnerUser"], [_decorator.bound, 2, "toggleIsShowToolbar"], [_setShareWithAudioStateDecs, 18, "setShareWithAudioState"], [_zoomInDecs, 18, "zoomIn"], [_zoomOutDecs, 18, "zoomOut"], [_fullContainerDecs, 18, "fullContainer"], [_setOriginScalcDecs, 18, "setOriginScalc"], [_setShareAudioProcessingChannelDecs, 18, "setShareAudioProcessingChannel"], [_decorator.bound, 2, "setCardChooseBounds"], [_decorator.bound, 2, "handlerBoardShareStop"], [_decorator.bound, 2, "release"], [_openRelaunchTipsDialogDecs, 18, "openRelaunchTipsDialog"], [_startRenderSharePreviewDecs, 18, "startRenderSharePreview"], [_stopRenderSharePreviewDecs, 18, "stopRenderSharePreview"], [_handleStopShareDecs, 18, "handleStopShare"], [_handleStopShareByExitRoomDecs, 18, "handleStopShareByExitRoom"], [_decorator.bound, 2, "participantShareCanWeAnnotation"], [_handleStartShareDecs, 18, "handleStartShare"], [_openShareScreenSelectionDecs, 18, "_openShareScreenSelection"], [_closeShareScreenSelectionDecs, 18, "_closeShareScreenSelection"], [_openVideoWindowDialogDecs, 18, "_openVideoWindowDialog"], [_closeControlBarDecs, 18, "_closeControlBar"], [_closeVideoWindowDialogDecs, 18, "_closeVideoWindowDialog"], [_handleReplaceScreenDecs, 18, "_handleReplaceScreen"], [_decorator.bound, 2, "_handleOnline"], [_decorator.bound, 2, "_handleOffline"], [_initControlbarDecs, 18, "_initControlbar"], [_decorator.bound, 2, "_handleBrowserShow"], [_decorator.bound, 2, "_hendleBrowserHide"], [_decorator.bound, 2, "_handleOnScreenShareSeize"], [_decorator.bound, 2, "handleToggleScreenShareWithAudio"], [_toggleShareWithScenarioTypeDecs, 18, "toggleShareWithScenarioType"], [_handleChooseScreenDecs, 16, "handleChooseScreen"]], []).e, 3);
957
+ _init_boardOwnerUser = _applyDecs$e[0];
958
+ _init_handleChooseScreen = _applyDecs$e[1];
959
+ _initProto = _applyDecs$e[2];
960
+ var StoreContext = exports.StoreContext = /*#__PURE__*/(0, _react.createContext)(null);