fcr-ui-scene 3.7.7 → 3.7.8-rc.2

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 (237) hide show
  1. package/lib/creator/index.js +13 -19
  2. package/lib/creator/provider-initializer.browser.js +2 -2
  3. package/lib/creator/provider-initializer.electron.js +2 -2
  4. package/lib/electron/bootstrap-sdk.js +89 -35
  5. package/lib/electron/hang-detection/index.d.ts +3 -0
  6. package/lib/electron/hang-detection/index.js +15 -0
  7. package/lib/electron/hang-detection/manager.d.ts +28 -0
  8. package/lib/electron/hang-detection/manager.js +231 -0
  9. package/lib/electron/hang-detection/types.d.ts +14 -0
  10. package/lib/electron/sdk-helper.js +6 -2
  11. package/lib/electron/until.d.ts +1 -4
  12. package/lib/electron/until.js +12 -4
  13. package/lib/index.js +8 -1
  14. package/lib/modules/action-bar/components/screen-share/index.electron.js +1 -1
  15. package/lib/modules/components/control-bar/components/switch-theme/index.js +4 -2
  16. package/lib/modules/components/control-bar/index.js +1 -3
  17. package/lib/modules/components/leave-meeting/store.base.d.ts +1 -0
  18. package/lib/modules/components/leave-meeting/store.base.js +46 -5
  19. package/lib/modules/dialog/dialogs/confirm-leave-meeting/index.d.ts +1 -0
  20. package/lib/modules/dialog/dialogs/confirm-leave-meeting/index.js +2 -1
  21. package/lib/modules/dialog/dialogs/share-screen-selection/index.js +0 -12
  22. package/lib/modules/participant/store.base.js +0 -1
  23. package/lib/modules/share-screen/store.base.js +0 -2
  24. package/lib/modules/share-screen/store.electron.js +54 -22
  25. package/lib/modules/state-bar/store.base.electron.js +6 -2
  26. package/lib/modules/video-window/popover-watcher.js +4 -1
  27. package/lib/modules/video-window/store.js +7 -1
  28. package/lib/modules/video-window/view.js +14 -4
  29. package/lib/providers/board-share/bar-control/base.d.ts +2 -0
  30. package/lib/providers/board-share/bar-control/base.js +13 -3
  31. package/lib/providers/board-share/bar-control/electron.d.ts +1 -0
  32. package/lib/providers/board-share/bar-control/electron.js +15 -4
  33. package/lib/providers/board-share/provider.base.d.ts +1 -0
  34. package/lib/providers/board-share/provider.base.js +3 -1
  35. package/lib/providers/board-share/provider.electron.d.ts +1 -0
  36. package/lib/providers/board-share/provider.electron.js +8 -2
  37. package/lib/providers/board-share/type.d.ts +2 -0
  38. package/lib/providers/dialog/provider.electron.js +10 -2
  39. package/lib/providers/screen-share/strategy/browser.js +51 -4
  40. package/lib/providers/screen-share/strategy/electron.js +77 -8
  41. package/lib/providers/screen-share/stream-state-sync.d.ts +3 -1
  42. package/lib/providers/screen-share/stream-state-sync.js +133 -40
  43. package/lib/providers/window/main-window.js +0 -3
  44. package/lib/providers/window/renderer-window.d.ts +3 -0
  45. package/lib/providers/window/renderer-window.js +47 -4
  46. package/lib/providers/window/type.d.ts +1 -0
  47. package/lib/scenes/main-scene.d.ts +1 -0
  48. package/lib/scenes/main-scene.js +32 -1
  49. package/lib/utilities/logger.js +1 -1
  50. package/package.json +5 -5
  51. package/public/index.html +2 -149
  52. package/public/meeting-manager.js +391 -0
  53. package/installer/icons/favicon.ico +0 -0
  54. package/installer/icons/favicon.png +0 -0
  55. package/installer/icons/icon.png +0 -0
  56. package/installer/mac/entitlements.mac.plist +0 -16
  57. package/lib/creator.d.ts +0 -36
  58. package/lib/creator.js +0 -465
  59. package/lib/modules/action-bar/index.d.ts +0 -58
  60. package/lib/modules/action-bar/index.dev.d.ts +0 -0
  61. package/lib/modules/action-bar/index.dev.js +0 -94
  62. package/lib/modules/action-bar/index.js +0 -109
  63. package/lib/modules/action-bar/store.d.ts +0 -259
  64. package/lib/modules/action-bar/store.js +0 -1529
  65. package/lib/modules/action-bar/types.d.ts +0 -90
  66. package/lib/modules/action-bar/view.d.ts +0 -5
  67. package/lib/modules/action-bar/view.js +0 -112
  68. package/lib/modules/annotation/annotation-index.d.ts +0 -2
  69. package/lib/modules/annotation/annotation-index.js +0 -80
  70. package/lib/modules/annotation/annotation-toolbar-store.d.ts +0 -75
  71. package/lib/modules/annotation/annotation-toolbar-store.js +0 -459
  72. package/lib/modules/annotation/board-cursor.css +0 -77
  73. package/lib/modules/annotation/components/color-picker/components/color.d.ts +0 -5
  74. package/lib/modules/annotation/components/color-picker/components/color.js +0 -38
  75. package/lib/modules/annotation/components/color-picker/components/panel.d.ts +0 -1
  76. package/lib/modules/annotation/components/color-picker/components/panel.js +0 -109
  77. package/lib/modules/annotation/components/color-picker/components/picker.d.ts +0 -1
  78. package/lib/modules/annotation/components/color-picker/components/picker.js +0 -75
  79. package/lib/modules/annotation/components/color-picker/index.d.ts +0 -2
  80. package/lib/modules/annotation/components/color-picker/index.js +0 -47
  81. package/lib/modules/annotation/components/eraser-picker.d.ts +0 -4
  82. package/lib/modules/annotation/components/eraser-picker.js +0 -144
  83. package/lib/modules/annotation/components/expansion/index.d.ts +0 -1
  84. package/lib/modules/annotation/components/expansion/index.js +0 -100
  85. package/lib/modules/annotation/components/extra-tool-picker.d.ts +0 -1
  86. package/lib/modules/annotation/components/extra-tool-picker.js +0 -62
  87. package/lib/modules/annotation/components/history.d.ts +0 -2
  88. package/lib/modules/annotation/components/history.js +0 -78
  89. package/lib/modules/annotation/components/icons/fold-icon.d.ts +0 -2
  90. package/lib/modules/annotation/components/icons/fold-icon.js +0 -41
  91. package/lib/modules/annotation/components/icons/move-icon.d.ts +0 -1
  92. package/lib/modules/annotation/components/icons/move-icon.js +0 -66
  93. package/lib/modules/annotation/components/item/index.d.ts +0 -1
  94. package/lib/modules/annotation/components/item/index.js +0 -43
  95. package/lib/modules/annotation/components/move-handle.d.ts +0 -5
  96. package/lib/modules/annotation/components/move-handle.js +0 -134
  97. package/lib/modules/annotation/components/pen-picker.d.ts +0 -4
  98. package/lib/modules/annotation/components/pen-picker.js +0 -155
  99. package/lib/modules/annotation/components/screen-capture-picker.d.ts +0 -4
  100. package/lib/modules/annotation/components/screen-capture-picker.js +0 -85
  101. package/lib/modules/annotation/components/shape-picker.d.ts +0 -4
  102. package/lib/modules/annotation/components/shape-picker.js +0 -210
  103. package/lib/modules/annotation/hooks/index.d.ts +0 -14
  104. package/lib/modules/annotation/hooks/index.js +0 -292
  105. package/lib/modules/annotation/index.d.ts +0 -45
  106. package/lib/modules/annotation/index.js +0 -168
  107. package/lib/modules/annotation/store.d.ts +0 -98
  108. package/lib/modules/annotation/store.js +0 -620
  109. package/lib/modules/annotation/style.css +0 -36
  110. package/lib/modules/annotation/view.d.ts +0 -3
  111. package/lib/modules/annotation/view.js +0 -44
  112. package/lib/modules/components/device-control/store.d.ts +0 -42
  113. package/lib/modules/components/device-control/store.js +0 -241
  114. package/lib/modules/components/leave-meeting/store.d.ts +0 -39
  115. package/lib/modules/components/leave-meeting/store.js +0 -270
  116. package/lib/modules/control-bar/components/annotation-button/index.d.ts +0 -1
  117. package/lib/modules/control-bar/components/annotation-button/index.js +0 -72
  118. package/lib/modules/control-bar/reactor.d.ts +0 -2
  119. package/lib/modules/control-bar/reactor.js +0 -8
  120. package/lib/modules/control-bar/types.d.ts +0 -20
  121. package/lib/modules/control-bar/types.js +0 -6
  122. package/lib/modules/dialog/dialogs/pre-setting/index.css +0 -26
  123. package/lib/modules/dialog/dialogs/pre-setting/index.d.ts +0 -6
  124. package/lib/modules/dialog/dialogs/pre-setting/index.js +0 -62
  125. package/lib/modules/dialog/dialogs/widget/electron.d.ts +0 -6
  126. package/lib/modules/dialog/dialogs/widget/electron.js +0 -38
  127. package/lib/modules/dialog/hooks/use-popover-watcher.d.ts +0 -14
  128. package/lib/modules/dialog/hooks/use-popover-watcher.js +0 -110
  129. package/lib/modules/dialog/hooks/useElectron.d.ts +0 -28
  130. package/lib/modules/dialog/hooks/useElectron.js +0 -277
  131. package/lib/modules/dialog/store.d.ts +0 -135
  132. package/lib/modules/dialog/store.js +0 -616
  133. package/lib/modules/event-confirm/components/window/index.d.ts +0 -7
  134. package/lib/modules/event-confirm/components/window/index.js +0 -221
  135. package/lib/modules/event-confirm/index.css +0 -24
  136. package/lib/modules/event-confirm/index.d.ts +0 -27
  137. package/lib/modules/event-confirm/index.js +0 -76
  138. package/lib/modules/event-confirm/store.d.ts +0 -50
  139. package/lib/modules/event-confirm/store.js +0 -394
  140. package/lib/modules/event-confirm/view.d.ts +0 -2
  141. package/lib/modules/event-confirm/view.js +0 -55
  142. package/lib/modules/event-toast/store.d.ts +0 -27
  143. package/lib/modules/event-toast/store.js +0 -205
  144. package/lib/modules/layout/store.d.ts +0 -176
  145. package/lib/modules/layout/store.js +0 -1452
  146. package/lib/modules/participant/store.d.ts +0 -222
  147. package/lib/modules/participant/store.js +0 -1929
  148. package/lib/modules/pc-audio-connect/index.d.ts +0 -22
  149. package/lib/modules/pc-audio-connect/index.js +0 -67
  150. package/lib/modules/pc-audio-connect/store.d.ts +0 -46
  151. package/lib/modules/pc-audio-connect/store.js +0 -304
  152. package/lib/modules/setting/common/advance-link.d.ts +0 -3
  153. package/lib/modules/setting/common/advance-link.js +0 -27
  154. package/lib/modules/setting/common/index.css +0 -26
  155. package/lib/modules/setting/common/useNamespace.d.ts +0 -15
  156. package/lib/modules/setting/common/useNamespace.js +0 -66
  157. package/lib/modules/setting/dialog-wrapper.d.ts +0 -2
  158. package/lib/modules/setting/dialog-wrapper.js +0 -110
  159. package/lib/modules/setting/store.d.ts +0 -261
  160. package/lib/modules/setting/store.js +0 -1321
  161. package/lib/modules/share-screen/store.d.ts +0 -148
  162. package/lib/modules/share-screen/store.js +0 -960
  163. package/lib/modules/share-screen/types.d.ts +0 -26
  164. package/lib/modules/share-screen/types.js +0 -6
  165. package/lib/modules/state-bar/store.d.ts +0 -124
  166. package/lib/modules/state-bar/store.js +0 -664
  167. package/lib/modules/whiteboard/components/progress/electron.d.ts +0 -1
  168. package/lib/modules/whiteboard/components/progress/electron.js +0 -33
  169. package/lib/modules/widget/store.d.ts +0 -14
  170. package/lib/modules/widget/store.js +0 -28
  171. package/lib/providers/annotation-provider.d.ts +0 -124
  172. package/lib/providers/annotation-provider.js +0 -369
  173. package/lib/providers/dialog-provider.d.ts +0 -137
  174. package/lib/providers/dialog-provider.js +0 -194
  175. package/lib/providers/message-provider.d.ts +0 -69
  176. package/lib/providers/message-provider.js +0 -140
  177. package/lib/providers/room-provider.d.ts +0 -194
  178. package/lib/providers/room-provider.js +0 -916
  179. package/lib/providers/screen-share-provider.d.ts +0 -245
  180. package/lib/providers/screen-share-provider.js +0 -850
  181. package/lib/providers/sharing-provider.d.ts +0 -42
  182. package/lib/providers/sharing-provider.js +0 -228
  183. package/lib/providers/user-setting-storage-provider.d.ts +0 -21
  184. package/lib/providers/user-setting-storage-provider.js +0 -65
  185. package/lib/providers/whiteboard-provider.d.ts +0 -24
  186. package/lib/providers/whiteboard-provider.js +0 -128
  187. package/lib/shared-data-source/annotation-data.d.ts +0 -17
  188. package/lib/shared-data-source/annotation-data.js +0 -110
  189. package/lib/shared-data-source/app-list-data.d.ts +0 -34
  190. package/lib/shared-data-source/app-list-data.js +0 -133
  191. package/lib/shared-data-source/chat-data.d.ts +0 -25
  192. package/lib/shared-data-source/chat-data.js +0 -139
  193. package/lib/shared-data-source/config.d.ts +0 -35
  194. package/lib/shared-data-source/config.js +0 -40
  195. package/lib/shared-data-source/confirm-data.d.ts +0 -44
  196. package/lib/shared-data-source/confirm-data.js +0 -201
  197. package/lib/shared-data-source/device-privilege-data.d.ts +0 -8
  198. package/lib/shared-data-source/device-privilege-data.js +0 -25
  199. package/lib/shared-data-source/interpreter.d.ts +0 -77
  200. package/lib/shared-data-source/interpreter.js +0 -247
  201. package/lib/shared-data-source/layout-data.d.ts +0 -31
  202. package/lib/shared-data-source/layout-data.js +0 -189
  203. package/lib/shared-data-source/meeting-time.d.ts +0 -90
  204. package/lib/shared-data-source/meeting-time.js +0 -416
  205. package/lib/shared-data-source/member-data.d.ts +0 -139
  206. package/lib/shared-data-source/member-data.js +0 -517
  207. package/lib/shared-data-source/pin-data.d.ts +0 -13
  208. package/lib/shared-data-source/pin-data.js +0 -111
  209. package/lib/shared-data-source/screen-share-data.d.ts +0 -357
  210. package/lib/shared-data-source/screen-share-data.js +0 -513
  211. package/lib/shared-data-source/security-data.d.ts +0 -39
  212. package/lib/shared-data-source/security-data.js +0 -156
  213. package/lib/shared-data-source/setting.d.ts +0 -67
  214. package/lib/shared-data-source/setting.js +0 -220
  215. package/lib/shared-data-source/speaker-spotlight.d.ts +0 -5
  216. package/lib/shared-data-source/speaker-spotlight.js +0 -15
  217. package/lib/shared-data-source/video-window.d.ts +0 -165
  218. package/lib/shared-data-source/video-window.js +0 -1266
  219. package/lib/shared-data-source/waiting-room.d.ts +0 -46
  220. package/lib/shared-data-source/waiting-room.js +0 -222
  221. package/lib/shared-data-source/whiteboard-data.d.ts +0 -70
  222. package/lib/shared-data-source/whiteboard-data.js +0 -348
  223. package/lib/utilities/board-context.d.ts +0 -4
  224. package/lib/utilities/board-context.js +0 -12
  225. package/lib/utilities/copyText.d.ts +0 -2
  226. package/lib/utilities/copyText.js +0 -48
  227. package/lib/utilities/renderer-event.d.ts +0 -10
  228. package/lib/utilities/renderer-event.js +0 -95
  229. package/lib/utilities/screen-capture-permission.d.ts +0 -2
  230. package/lib/utilities/screen-capture-permission.js +0 -24
  231. package/lib/utilities/screen.d.ts +0 -3
  232. package/lib/utilities/screen.js +0 -53
  233. package/lib/utilities/video-track-render-context.d.ts +0 -6
  234. package/lib/utilities/video-track-render-context.js +0 -9
  235. package/lib/waiting-room-control-manager.d.ts +0 -28
  236. package/lib/waiting-room-control-manager.js +0 -230
  237. /package/lib/{modules/action-bar → electron/hang-detection}/types.js +0 -0
@@ -1,277 +0,0 @@
1
- "use strict";
2
-
3
- require("core-js/modules/es.symbol.js");
4
- require("core-js/modules/es.array.filter.js");
5
- require("core-js/modules/es.array.push.js");
6
- require("core-js/modules/es.object.define-properties.js");
7
- require("core-js/modules/es.object.define-property.js");
8
- require("core-js/modules/es.object.get-own-property-descriptor.js");
9
- require("core-js/modules/es.object.get-own-property-descriptors.js");
10
- require("core-js/modules/es.object.keys.js");
11
- require("core-js/modules/esnext.iterator.filter.js");
12
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
13
- Object.defineProperty(exports, "__esModule", {
14
- value: true
15
- });
16
- exports.shadowOffset = exports.leaveFullScreenHandler = exports.enterFullScreenHandler = exports.DialogInstanceContext = void 0;
17
- exports.useElectronDialog = useElectronDialog;
18
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
19
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
20
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
21
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
22
- require("core-js/modules/es.array.concat.js");
23
- require("core-js/modules/es.array.for-each.js");
24
- require("core-js/modules/es.array.includes.js");
25
- require("core-js/modules/es.date.to-json.js");
26
- require("core-js/modules/es.json.stringify.js");
27
- require("core-js/modules/es.object.to-string.js");
28
- require("core-js/modules/es.promise.js");
29
- require("core-js/modules/es.string.includes.js");
30
- require("core-js/modules/esnext.iterator.constructor.js");
31
- require("core-js/modules/esnext.iterator.for-each.js");
32
- require("core-js/modules/esnext.promise.with-resolvers.js");
33
- require("core-js/modules/web.dom-collections.for-each.js");
34
- var _react = require("react");
35
- var _store = require("../store");
36
- var _renderer = require("../../../utilities/renderer");
37
- var _reactDom = require("react-dom");
38
- var _levelConfig = require("../level-config");
39
- var _dialogUtils = require("../../../utilities/dialog-utils");
40
- var _constant = require("../../../utilities/constant");
41
- var _mobx = require("mobx");
42
- var _jsxRuntime = require("react/jsx-runtime");
43
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
44
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
45
- var DialogInstanceContext = exports.DialogInstanceContext = /*#__PURE__*/(0, _react.createContext)(null);
46
- var shadowOffset = exports.shadowOffset = 15 + 15;
47
- var enterFullScreenHandler = exports.enterFullScreenHandler = function enterFullScreenHandler() {
48
- _store.dialogWindows.forEach(function (win, k) {
49
- !_levelConfig.TOP_LEVEL_DIALOG_LAYER.includes(k) && win.setAlwaysOnTop(true, _levelConfig.diffPlatformHighLevelLayer);
50
- });
51
- };
52
- var leaveFullScreenHandler = exports.leaveFullScreenHandler = function leaveFullScreenHandler() {
53
- _store.dialogWindows.forEach(function (win, k) {
54
- ![].concat((0, _toConsumableArray2["default"])(_levelConfig.TOP_LEVEL_DIALOG_LAYER), (0, _toConsumableArray2["default"])(_levelConfig.HIGH_LEVEL_DIALOG_LAYER)).includes(k) && win.setAlwaysOnTop(true, 'normal');
55
- });
56
- };
57
- function useElectronDialog(props) {
58
- var store = (0, _react.useContext)(_store.StoreContext);
59
- var customConfigs = props.config,
60
- dialogId = props.dialogId,
61
- dialogKey = props.dialogKey,
62
- onClose = props.onClose,
63
- scroll = props.scroll,
64
- _props$focus = props.focus,
65
- focus = _props$focus === void 0 ? true : _props$focus,
66
- children = props.children,
67
- ignoreMouseEvents = props.ignoreMouseEvents,
68
- _props$alwaysOnTop = props.alwaysOnTop,
69
- alwaysOnTop = _props$alwaysOnTop === void 0 ? false : _props$alwaysOnTop,
70
- fullScreen = props.fullScreen,
71
- onOpened = props.onOpened,
72
- onUnmounted = props.onUnmounted,
73
- _props$hasCustomShado = props.hasCustomShadow,
74
- hasCustomShadow = _props$hasCustomShado === void 0 ? true : _props$hasCustomShado,
75
- _props$disableShortcu = props.disableShortcutClose,
76
- disableShortcutClose = _props$disableShortcu === void 0 ? false : _props$disableShortcu,
77
- beforeClose = props.beforeClose;
78
- var dialogIdOrKey = dialogId || dialogKey;
79
- var windowRef = (0, _react.useRef)();
80
- var newRendernerWindowRef = (0, _react.useRef)();
81
- var _customConfigs$width = customConfigs.width,
82
- w = _customConfigs$width === void 0 ? 0 : _customConfigs$width,
83
- _customConfigs$height = customConfigs.height,
84
- h = _customConfigs$height === void 0 ? 0 : _customConfigs$height;
85
- var config = _objectSpread(_objectSpread({
86
- type: 'panel',
87
- hasShadow: false,
88
- frame: false,
89
- transparent: true,
90
- resizeble: false
91
- }, customConfigs), {}, {
92
- setAlwaysOnTop: alwaysOnTop,
93
- width: w + (hasCustomShadow ? shadowOffset : 0),
94
- height: h + (hasCustomShadow ? shadowOffset : 0)
95
- });
96
- (0, _react.useEffect)(function () {
97
- var node;
98
- window.runtime.openRendererWindow(dialogIdOrKey, function (dom, browserWindow, newRendererWindow, baseUrl) {
99
- node = dom;
100
- windowRef.current = browserWindow;
101
- newRendernerWindowRef.current = newRendererWindow;
102
- if (dialogId) {
103
- store === null || store === void 0 || store.log("[dialog]: open dialog can I find dialog with dialogId: ".concat(dialogKey, ": ").concat(_store.dialogIdWindows.has(dialogId)));
104
- _store.dialogIdWindows.set(dialogId, browserWindow);
105
- } else {
106
- store === null || store === void 0 || store.log("[dialog]: open dialog can I find dialog with dialogKey: ".concat(dialogKey, ": ").concat(_store.dialogWindows.has(dialogKey)));
107
- _store.dialogWindows.set(dialogKey, browserWindow);
108
- }
109
- var isControlbar = dialogKey === _constant.FcrUIDialogKey.CONTROL_BAR;
110
- var follow = isControlbar ? false : 'screen';
111
- var _ref = (0, _dialogUtils.followCorrectDisplay)({
112
- browserWindow: browserWindow,
113
- alwaysFollowScreen: fullScreen,
114
- follow: follow
115
- }),
116
- nearDisplayBounds = _ref.nearDisplayBounds,
117
- followControlbar = _ref.followControlbar;
118
- function handleMouseMove(event) {
119
- store === null || store === void 0 || store.setConfirmPosition({
120
- x: event.screenX,
121
- y: event.screenY
122
- });
123
- }
124
- newRendererWindow.addEventListener('mousemove', handleMouseMove);
125
- store === null || store === void 0 || store.log("[useElectronDialog][dialog]: ".concat(dialogId ? 'dialogId' : 'dialogKey', ": ").concat(dialogKey, ", ").concat(followControlbar ? 'control bar' : 'main window', " nearing display bounds: ").concat(JSON.stringify(nearDisplayBounds)));
126
-
127
- // 设置所有窗口为所有工作区可见
128
- browserWindow.setVisibleOnAllWorkspaces(true, {
129
- visibleOnFullScreen: true,
130
- skipTransformProcessType: true
131
- });
132
-
133
- // @ts-ignore
134
- // window._browserWindows = window._browserWindows || {};
135
- // @ts-ignore
136
- // window._browserWindows[dialogKey] = browserWindow;
137
- // @ts-ignore
138
- // window._windows = window._windows || {};
139
- // @ts-ignore
140
- // window._windows[dialogKey] = newRendererWindow;
141
-
142
- // 因为窗口有可能需要单独设置位置,所以,窗口打开的回调需要放置在默认的位置设置之后
143
- onOpened === null || onOpened === void 0 || onOpened({
144
- browserWindow: browserWindow,
145
- newRendererWindow: newRendererWindow,
146
- store: store,
147
- // 重写 setBounds 方法,使得设置 bounds 时,自动加上阴影的宽度
148
- setBounds: function setBounds(bounds, animate) {
149
- var b = _objectSpread({}, bounds);
150
- if (b.width && hasCustomShadow) b.width = b.width + shadowOffset;
151
- if (b.height && hasCustomShadow) b.height = b.height + shadowOffset;
152
- browserWindow.setBounds(b, animate);
153
- },
154
- nearDisplayBounds: nearDisplayBounds
155
- });
156
-
157
- // 同原生 electron 的 ignoreMouseEvents 一样,设置为 true 时,窗口将不再接收鼠标事件
158
- if (ignoreMouseEvents) {
159
- browserWindow.setIgnoreMouseEvents(true, typeof ignoreMouseEvents === 'boolean' ? {
160
- forward: true
161
- } : ignoreMouseEvents);
162
- }
163
- browserWindow.setAlwaysOnTop(typeof alwaysOnTop === 'boolean' ? alwaysOnTop : typeof alwaysOnTop === 'string', typeof alwaysOnTop === 'string' ? alwaysOnTop : _levelConfig.diffPlatformHighLevelLayer);
164
- if (_levelConfig.TOP_LEVEL_DIALOG_LAYER.includes(dialogKey)) {
165
- browserWindow.setAlwaysOnTop(true, _levelConfig.diffPlatformTopLevelLayer);
166
- }
167
- if (_levelConfig.HIGH_LEVEL_DIALOG_LAYER.includes(dialogKey)) {
168
- browserWindow.setAlwaysOnTop(true, _levelConfig.diffPlatformHighLevelLayer);
169
- }
170
- if (!scroll) {
171
- browserWindow.webContents.insertCSS("\n ::-webkit-scrollbar {\n display: none;\n }\n #root {\n padding: ".concat(hasCustomShadow ? shadowOffset / 2 : 0, "px;\n display: ").concat(hasCustomShadow ? 'flex' : 'block', ";\n align-items: center;\n }\n "));
172
- }
173
- if (disableShortcutClose) {
174
- newRendererWindow.addEventListener('keydown', function (event) {
175
- if ((event.ctrlKey || event.metaKey) && event.key === 'w') {
176
- event.preventDefault();
177
- }
178
- });
179
- }
180
- focus && browserWindow.focus();
181
- store === null || store === void 0 || store.log("[useElectronDialog][dialog]: dialog ".concat(dialogIdOrKey, " focused"));
182
- var _Promise$withResolver = Promise.withResolvers(),
183
- promise = _Promise$withResolver.promise,
184
- resolve = _Promise$withResolver.resolve;
185
- function continueClose() {
186
- store === null || store === void 0 || store.log("[useElectronDialog][dialog]: continueClose");
187
- (0, _reactDom.unmountComponentAtNode)(node);
188
- if (dialogId) {
189
- store.closeDilaogByDialogId(dialogId);
190
- } else {
191
- _store.dialogWindows["delete"](dialogKey);
192
- store === null || store === void 0 || store.closeDialogByKey(dialogKey);
193
- }
194
- onClose === null || onClose === void 0 || onClose({
195
- store: store,
196
- browserWindow: browserWindow,
197
- newRendererWindow: newRendererWindow
198
- });
199
- return true;
200
- }
201
- var dialogInstanceValue = (0, _mobx.observable)({
202
- browserWindow: browserWindow,
203
- newRendererWindow: newRendererWindow,
204
- resizable: !!customConfigs.resizable,
205
- baseUrl: baseUrl,
206
- closeDialog: function closeDialog() {
207
- dialogId ? store.closeDilaogByDialogId(dialogId) : store.closeDialogByKey(dialogKey);
208
- },
209
- continueClose: function continueClose() {
210
- return resolve(false);
211
- },
212
- interceptedClose: false,
213
- setInterceptedClose: function setInterceptedClose(interceptedClose) {
214
- dialogInstanceValue.interceptedClose = interceptedClose;
215
- }
216
- });
217
- (0, _renderer.handleWillClose)(browserWindow, /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
218
- var interception;
219
- return _regenerator["default"].wrap(function (_context) {
220
- while (1) switch (_context.prev = _context.next) {
221
- case 0:
222
- interception = (beforeClose === null || beforeClose === void 0 ? void 0 : beforeClose({
223
- store: store,
224
- browserWindow: browserWindow,
225
- newRendererWindow: newRendererWindow,
226
- continueClose: function continueClose() {
227
- return resolve(false);
228
- }
229
- })) || false;
230
- dialogInstanceValue.setInterceptedClose(interception);
231
- if (!interception) {
232
- _context.next = 1;
233
- break;
234
- }
235
- _context.next = 1;
236
- return promise;
237
- case 1:
238
- continueClose();
239
- return _context.abrupt("return", false);
240
- case 2:
241
- case "end":
242
- return _context.stop();
243
- }
244
- }, _callee);
245
- })));
246
- (0, _reactDom.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_store.StoreContext.Provider, {
247
- value: store,
248
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(DialogInstanceContext.Provider, {
249
- value: dialogInstanceValue,
250
- children: typeof children === 'function' ? children(browserWindow) : children
251
- })
252
- }), dom);
253
- }, config);
254
- if ((0, _renderer.isMac)()) {
255
- // 这组监听是为了处理 mac 全屏模式下,弹窗会因为主窗口全屏而变成独立窗口的问题
256
- window.runtime.browserWindow.addListener('enter-full-screen', enterFullScreenHandler);
257
- window.runtime.browserWindow.addListener('leave-full-screen', leaveFullScreenHandler);
258
- }
259
- return function () {
260
- node && (0, _reactDom.unmountComponentAtNode)(node);
261
- if ((0, _renderer.isMac)()) {
262
- window.runtime.browserWindow.removeListener('enter-full-screen', enterFullScreenHandler);
263
- window.runtime.browserWindow.removeListener('leave-full-screen', leaveFullScreenHandler);
264
- }
265
- // showtoast 和 confirm 的 dialog 需要常驻,所以不关闭
266
- if (dialogIdOrKey !== _constant.FcrUIDialogKey.SHOW_TOAST && dialogIdOrKey !== _constant.FcrUIDialogKey.CONFIRM) {
267
- window.runtime.closeRendererWindow(dialogIdOrKey);
268
- }
269
- onUnmounted === null || onUnmounted === void 0 || onUnmounted(store);
270
- };
271
- }, []);
272
- return {
273
- store: store,
274
- browserWindow: windowRef.current,
275
- newRendererWindow: newRendernerWindowRef.current
276
- };
277
- }
@@ -1,135 +0,0 @@
1
- import { FcrStreamControl, FcrUserControl } from 'fcr-core';
2
- import { FcrUIDialogKey } from '../../utilities/constant';
3
- import { FcrUIPrivilegeProvider } from '../../providers/privilege-provider';
4
- import { FcrUIDeviceProvider } from '../../providers/device-provider';
5
- import { FcrUILocalVideoRenderProvider, FcrUIRemoteVideoRenderProvider } from '../../providers/renderer-provider';
6
- import { FcrUIEventProvider } from '../../providers/event-provider';
7
- import { FcrUISharedLayoutDataSource } from '../../shared-data-source/layout-data';
8
- import { FcrUIDialogProvider } from '../../providers/dialog-provider';
9
- import { FcrUIPhoneAudioConnectorProvider } from '../../providers/phone-audio-provider';
10
- import { FcrWindowInfo } from 'fcr-core/lib/type';
11
- import { CurrentShareBounds } from '../control-bar/types';
12
- import { FcrUIDialogComponent } from './type';
13
- import { FcrUIWidgetProvider } from '../../providers/widget-provider';
14
- import { FcrUIChatProvider } from '../../providers/chat-provider';
15
- import { FcrUIAbilityProviderImpl } from 'fcr-ui-scene/src/providers/ability-provider';
16
- import { FcrUIScreenShareSharedDataSource } from '../../shared-data-source/screen-share-data';
17
- import { FcrUISharedConfirmDataSource } from '../../shared-data-source/confirm-data';
18
- import { CurrentShareScreenWorkArea } from '../../utilities/dialog-utils';
19
- import { FcrUIAnnotationProvider } from '../../providers/annotation-provider';
20
- import { FcrUIMultiDisplayProvider } from '../../providers/multi-display-provider';
21
- import { FcrUIRoomProvider } from '../../providers/room-provider';
22
- import { FcrUISharedSettingDataSource } from '../../shared-data-source/setting';
23
- export declare let dialogWindows: Map<FcrUIDialogKey, Electron.BrowserWindow>;
24
- export declare let dialogIdWindows: Map<string, Electron.BrowserWindow>;
25
- export default class DialogStore {
26
- protected logger: import("agora-foundation/lib/logger").Logger;
27
- private _eventProvider;
28
- private _userInfo;
29
- private _streamControl;
30
- private _userControl;
31
- private _deviceStore;
32
- private _securityStore;
33
- private _localVideoRenderProvider;
34
- private _remoteVideoRenderManager;
35
- private _dialogProvider;
36
- private _widgetProvider;
37
- private _sharedSettingDataSource;
38
- private _roomProvider;
39
- private _sharedLayoutDataSource;
40
- private _phoneAudioConnectorProvider;
41
- private _sharedScreenShareSharedDataSource;
42
- private _sharedConfirmDataSource;
43
- private _dialogComponentMapByKey;
44
- private _chatProvider;
45
- private _multiDisplayProvider?;
46
- private _electronDialogs;
47
- private _annotationProvider;
48
- private _disposers;
49
- private _handleDialogEventObserver;
50
- private _userObserver;
51
- private _roomObserver;
52
- private _handleSecondaryWindowEventObserver;
53
- accessor openedDialogs: {
54
- dialogKey: FcrUIDialogKey;
55
- dialogId: string;
56
- params?: unknown;
57
- }[];
58
- accessor confirmDialogs: Map<string, unknown>;
59
- accessor userCount: number;
60
- accessor participantElectronDialogContainer: HTMLElement | null;
61
- accessor currentDialogBounds: Map<FcrUIDialogKey, number>;
62
- accessor videoWindowBounds: any;
63
- accessor recordShareBounds: Map<CurrentShareBounds, CurrentShareScreenWorkArea>;
64
- accessor allApplicationWindows: FcrWindowInfo[];
65
- accessor interceptClose: boolean;
66
- get currentShareId(): string;
67
- get currentShareType(): import("fcr-core/lib/type").FcrScreenCaptureType;
68
- get currentShareBounds(): CurrentShareBounds;
69
- get dialogComponentMapByKey(): Map<FcrUIDialogKey, FcrUIDialogComponent>;
70
- get participantCount(): number;
71
- get isManager(): boolean;
72
- get dialogs(): {
73
- dialogKey: FcrUIDialogKey;
74
- dialogId: string;
75
- params?: unknown;
76
- }[];
77
- get streamControl(): FcrStreamControl;
78
- get deviceStore(): FcrUIDeviceProvider;
79
- get remoteVideoRenderManager(): FcrUIRemoteVideoRenderProvider;
80
- get localVideoRenderProvider(): FcrUILocalVideoRenderProvider;
81
- get waitingRoomState(): boolean;
82
- get isMultiDisplayActive(): boolean;
83
- get connectType(): import("../../type").FcrUIConnectType;
84
- get hasOwnPstnStream(): boolean;
85
- get widgetDialogIds(): Map<string, string>;
86
- get chatRoomState(): import("fcr-core/lib/type").FcrChatRoomConnectionState;
87
- get isSharingScreen(): boolean;
88
- get isSharingScreenOwner(): boolean;
89
- constructor({ eventProvider, userControl, deviceStore, streamControl, localVideoRenderProvider, remoteVideoRenderManager, securityStore, sharedLayoutDataSource, dialogProvider, phoneAudioConnectorProvider, dialogsByKey, widgetProvider, chatProvider, sharedScreenShareSharedDataSource, sharedConfirmDataSource, annotationProvider, multiDisplayProvider, roomProvider, sharedSettingDataSource, }: {
90
- streamControl: FcrStreamControl;
91
- userControl: FcrUserControl;
92
- eventProvider: FcrUIEventProvider;
93
- securityStore: FcrUIPrivilegeProvider;
94
- deviceStore: FcrUIDeviceProvider;
95
- localVideoRenderProvider: FcrUILocalVideoRenderProvider;
96
- remoteVideoRenderManager: FcrUIRemoteVideoRenderProvider;
97
- sharedLayoutDataSource: FcrUISharedLayoutDataSource;
98
- dialogProvider: FcrUIDialogProvider;
99
- phoneAudioConnectorProvider: FcrUIPhoneAudioConnectorProvider;
100
- dialogsByKey: Map<FcrUIDialogKey, FcrUIDialogComponent>;
101
- widgetProvider: FcrUIWidgetProvider;
102
- chatProvider: FcrUIChatProvider;
103
- abilityProvider: FcrUIAbilityProviderImpl;
104
- sharedScreenShareSharedDataSource: FcrUIScreenShareSharedDataSource;
105
- sharedConfirmDataSource: FcrUISharedConfirmDataSource;
106
- annotationProvider: FcrUIAnnotationProvider;
107
- multiDisplayProvider?: FcrUIMultiDisplayProvider;
108
- roomProvider: FcrUIRoomProvider;
109
- sharedSettingDataSource: FcrUISharedSettingDataSource;
110
- });
111
- setConfirmPosition(position: {
112
- x: number;
113
- y: number;
114
- }): void;
115
- setParticipantElectronDialogContainer(dom: HTMLElement | null): void;
116
- setVideoWindowBounds(payload: any): void;
117
- closeDialogByKey(dialogKey: FcrUIDialogKey): void;
118
- closeDilaogByDialogId(dialogId: string): void;
119
- closeSystemPreferenceDialog(): void;
120
- closeChatFromDialog(): void;
121
- moveChatFromDialogToAside(): void;
122
- closeConnectionDialog(): boolean;
123
- closeParticipantDialog(): void;
124
- moveParticipantFromDialogToAside(): void;
125
- release(): void;
126
- resizeVideoWindow(width: number, height: number): void;
127
- recordCurrentSharingScreenBounds(): CurrentShareScreenWorkArea;
128
- moveMainWindowToIndexLeastDisplay(): void;
129
- log(info: string): void;
130
- private _handleDialogEvent;
131
- private _hanleAllUserCountUpdated;
132
- private _handleSecondaryWindowEvent;
133
- private _setInterceptClose;
134
- }
135
- export declare const StoreContext: import("react").Context<DialogStore>;