fcr-ui-scene 3.7.8 → 3.7.9-alpha

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (216) 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 +13 -19
  4. package/lib/creator/provider-initializer.browser.js +4 -3
  5. package/lib/electron/app.js +1 -0
  6. package/lib/electron/bootstrap-sdk.js +19 -2
  7. package/lib/electron/sdk-helper.js +6 -2
  8. package/lib/electron/until.js +3 -0
  9. package/lib/index.js +8 -1
  10. package/lib/modules/components/leave-meeting/store.base.d.ts +1 -0
  11. package/lib/modules/components/leave-meeting/store.base.js +46 -5
  12. package/lib/modules/dialog/dialogs/confirm-leave-meeting/index.d.ts +1 -0
  13. package/lib/modules/dialog/dialogs/confirm-leave-meeting/index.js +2 -1
  14. package/lib/modules/dialog/dialogs/share-screen-selection/index.js +0 -12
  15. package/lib/modules/setting/store.base.d.ts +1 -1
  16. package/lib/modules/setting/store.base.js +3 -2
  17. package/lib/modules/share-screen/store.base.js +0 -2
  18. package/lib/modules/share-screen/store.electron.js +54 -31
  19. package/lib/modules/video-window/popover-watcher.js +4 -1
  20. package/lib/modules/video-window/store.js +7 -1
  21. package/lib/modules/video-window/view.js +14 -4
  22. package/lib/providers/device-provider.js +1 -1
  23. package/lib/providers/screen-share/strategy/browser.js +1 -1
  24. package/lib/providers/window/main-window.js +0 -3
  25. package/lib/providers/window/renderer-window.d.ts +3 -0
  26. package/lib/providers/window/renderer-window.js +47 -4
  27. package/lib/providers/window/type.d.ts +1 -0
  28. package/lib/scenes/main-scene.d.ts +1 -0
  29. package/lib/scenes/main-scene.js +32 -1
  30. package/lib/shared-data/setting.js +1 -1
  31. package/lib/utilities/default-config.js +1 -1
  32. package/lib/utilities/logger.js +1 -1
  33. package/package.json +6 -6
  34. package/public/index.html +2 -149
  35. package/public/meeting-manager.js +391 -0
  36. package/lib/creator.d.ts +0 -36
  37. package/lib/creator.js +0 -465
  38. package/lib/modules/action-bar/index.d.ts +0 -56
  39. package/lib/modules/action-bar/index.dev.d.ts +0 -0
  40. package/lib/modules/action-bar/index.dev.js +0 -94
  41. package/lib/modules/action-bar/index.js +0 -108
  42. package/lib/modules/action-bar/store.d.ts +0 -256
  43. package/lib/modules/action-bar/store.js +0 -1572
  44. package/lib/modules/action-bar/types.d.ts +0 -90
  45. package/lib/modules/action-bar/types.js +0 -6
  46. package/lib/modules/action-bar/view.d.ts +0 -5
  47. package/lib/modules/action-bar/view.js +0 -112
  48. package/lib/modules/annotation/annotation-index.d.ts +0 -2
  49. package/lib/modules/annotation/annotation-index.js +0 -80
  50. package/lib/modules/annotation/annotation-toolbar-store.d.ts +0 -75
  51. package/lib/modules/annotation/annotation-toolbar-store.js +0 -459
  52. package/lib/modules/annotation/board-cursor.css +0 -77
  53. package/lib/modules/annotation/components/color-picker/components/color.d.ts +0 -5
  54. package/lib/modules/annotation/components/color-picker/components/color.js +0 -38
  55. package/lib/modules/annotation/components/color-picker/components/panel.d.ts +0 -1
  56. package/lib/modules/annotation/components/color-picker/components/panel.js +0 -109
  57. package/lib/modules/annotation/components/color-picker/components/picker.d.ts +0 -1
  58. package/lib/modules/annotation/components/color-picker/components/picker.js +0 -75
  59. package/lib/modules/annotation/components/color-picker/index.d.ts +0 -2
  60. package/lib/modules/annotation/components/color-picker/index.js +0 -47
  61. package/lib/modules/annotation/components/eraser-picker.d.ts +0 -4
  62. package/lib/modules/annotation/components/eraser-picker.js +0 -144
  63. package/lib/modules/annotation/components/expansion/index.d.ts +0 -1
  64. package/lib/modules/annotation/components/expansion/index.js +0 -100
  65. package/lib/modules/annotation/components/extra-tool-picker.d.ts +0 -1
  66. package/lib/modules/annotation/components/extra-tool-picker.js +0 -62
  67. package/lib/modules/annotation/components/history.d.ts +0 -2
  68. package/lib/modules/annotation/components/history.js +0 -78
  69. package/lib/modules/annotation/components/icons/fold-icon.d.ts +0 -2
  70. package/lib/modules/annotation/components/icons/fold-icon.js +0 -41
  71. package/lib/modules/annotation/components/icons/move-icon.d.ts +0 -1
  72. package/lib/modules/annotation/components/icons/move-icon.js +0 -66
  73. package/lib/modules/annotation/components/item/index.d.ts +0 -1
  74. package/lib/modules/annotation/components/item/index.js +0 -43
  75. package/lib/modules/annotation/components/move-handle.d.ts +0 -5
  76. package/lib/modules/annotation/components/move-handle.js +0 -134
  77. package/lib/modules/annotation/components/pen-picker.d.ts +0 -4
  78. package/lib/modules/annotation/components/pen-picker.js +0 -155
  79. package/lib/modules/annotation/components/screen-capture-picker.d.ts +0 -4
  80. package/lib/modules/annotation/components/screen-capture-picker.js +0 -85
  81. package/lib/modules/annotation/components/shape-picker.d.ts +0 -4
  82. package/lib/modules/annotation/components/shape-picker.js +0 -210
  83. package/lib/modules/annotation/hooks/index.d.ts +0 -14
  84. package/lib/modules/annotation/hooks/index.js +0 -292
  85. package/lib/modules/annotation/index.d.ts +0 -45
  86. package/lib/modules/annotation/index.js +0 -168
  87. package/lib/modules/annotation/store.d.ts +0 -98
  88. package/lib/modules/annotation/store.js +0 -621
  89. package/lib/modules/annotation/style.css +0 -36
  90. package/lib/modules/annotation/view.d.ts +0 -3
  91. package/lib/modules/annotation/view.js +0 -44
  92. package/lib/modules/components/device-control/store.d.ts +0 -42
  93. package/lib/modules/components/device-control/store.js +0 -241
  94. package/lib/modules/components/leave-meeting/store.d.ts +0 -39
  95. package/lib/modules/components/leave-meeting/store.js +0 -270
  96. package/lib/modules/control-bar/components/annotation-button/index.d.ts +0 -1
  97. package/lib/modules/control-bar/components/annotation-button/index.js +0 -72
  98. package/lib/modules/control-bar/reactor.d.ts +0 -2
  99. package/lib/modules/control-bar/reactor.js +0 -8
  100. package/lib/modules/control-bar/types.d.ts +0 -20
  101. package/lib/modules/control-bar/types.js +0 -6
  102. package/lib/modules/dialog/dialogs/pre-setting/index.css +0 -26
  103. package/lib/modules/dialog/dialogs/pre-setting/index.d.ts +0 -6
  104. package/lib/modules/dialog/dialogs/pre-setting/index.js +0 -62
  105. package/lib/modules/dialog/dialogs/widget/electron.d.ts +0 -6
  106. package/lib/modules/dialog/dialogs/widget/electron.js +0 -38
  107. package/lib/modules/dialog/hooks/use-popover-watcher.d.ts +0 -14
  108. package/lib/modules/dialog/hooks/use-popover-watcher.js +0 -110
  109. package/lib/modules/dialog/hooks/useElectron.d.ts +0 -28
  110. package/lib/modules/dialog/hooks/useElectron.js +0 -277
  111. package/lib/modules/dialog/store.d.ts +0 -135
  112. package/lib/modules/dialog/store.js +0 -616
  113. package/lib/modules/event-confirm/components/window/index.d.ts +0 -4
  114. package/lib/modules/event-confirm/components/window/index.js +0 -197
  115. package/lib/modules/event-confirm/index.css +0 -24
  116. package/lib/modules/event-confirm/index.d.ts +0 -27
  117. package/lib/modules/event-confirm/index.js +0 -76
  118. package/lib/modules/event-confirm/store.d.ts +0 -45
  119. package/lib/modules/event-confirm/store.js +0 -345
  120. package/lib/modules/event-confirm/view.d.ts +0 -2
  121. package/lib/modules/event-confirm/view.js +0 -53
  122. package/lib/modules/event-toast/store.d.ts +0 -27
  123. package/lib/modules/event-toast/store.js +0 -205
  124. package/lib/modules/layout/store.d.ts +0 -176
  125. package/lib/modules/layout/store.js +0 -1466
  126. package/lib/modules/participant/store.d.ts +0 -222
  127. package/lib/modules/participant/store.js +0 -1927
  128. package/lib/modules/pc-audio-connect/index.d.ts +0 -22
  129. package/lib/modules/pc-audio-connect/index.js +0 -67
  130. package/lib/modules/pc-audio-connect/store.d.ts +0 -46
  131. package/lib/modules/pc-audio-connect/store.js +0 -304
  132. package/lib/modules/setting/common/advance-link.d.ts +0 -3
  133. package/lib/modules/setting/common/advance-link.js +0 -27
  134. package/lib/modules/setting/common/index.css +0 -26
  135. package/lib/modules/setting/common/useNamespace.d.ts +0 -15
  136. package/lib/modules/setting/common/useNamespace.js +0 -66
  137. package/lib/modules/setting/dialog-wrapper.d.ts +0 -2
  138. package/lib/modules/setting/dialog-wrapper.js +0 -110
  139. package/lib/modules/setting/store.d.ts +0 -261
  140. package/lib/modules/setting/store.js +0 -1321
  141. package/lib/modules/share-screen/store.d.ts +0 -148
  142. package/lib/modules/share-screen/store.js +0 -950
  143. package/lib/modules/share-screen/types.d.ts +0 -26
  144. package/lib/modules/share-screen/types.js +0 -6
  145. package/lib/modules/state-bar/store.d.ts +0 -124
  146. package/lib/modules/state-bar/store.js +0 -664
  147. package/lib/modules/whiteboard/components/progress/electron.d.ts +0 -1
  148. package/lib/modules/whiteboard/components/progress/electron.js +0 -33
  149. package/lib/modules/widget/store.d.ts +0 -14
  150. package/lib/modules/widget/store.js +0 -28
  151. package/lib/providers/annotation-provider.d.ts +0 -124
  152. package/lib/providers/annotation-provider.js +0 -369
  153. package/lib/providers/dialog-provider.d.ts +0 -137
  154. package/lib/providers/dialog-provider.js +0 -194
  155. package/lib/providers/message-provider.d.ts +0 -69
  156. package/lib/providers/message-provider.js +0 -140
  157. package/lib/providers/room-provider.d.ts +0 -194
  158. package/lib/providers/room-provider.js +0 -916
  159. package/lib/providers/screen-share-provider.d.ts +0 -244
  160. package/lib/providers/screen-share-provider.js +0 -835
  161. package/lib/providers/sharing-provider.d.ts +0 -42
  162. package/lib/providers/sharing-provider.js +0 -221
  163. package/lib/providers/user-setting-storage-provider.d.ts +0 -21
  164. package/lib/providers/user-setting-storage-provider.js +0 -65
  165. package/lib/providers/whiteboard-provider.d.ts +0 -24
  166. package/lib/providers/whiteboard-provider.js +0 -127
  167. package/lib/shared-data-source/annotation-data.d.ts +0 -17
  168. package/lib/shared-data-source/annotation-data.js +0 -110
  169. package/lib/shared-data-source/app-list-data.d.ts +0 -34
  170. package/lib/shared-data-source/app-list-data.js +0 -133
  171. package/lib/shared-data-source/chat-data.d.ts +0 -25
  172. package/lib/shared-data-source/chat-data.js +0 -139
  173. package/lib/shared-data-source/config.d.ts +0 -35
  174. package/lib/shared-data-source/config.js +0 -40
  175. package/lib/shared-data-source/confirm-data.d.ts +0 -25
  176. package/lib/shared-data-source/confirm-data.js +0 -97
  177. package/lib/shared-data-source/device-privilege-data.d.ts +0 -8
  178. package/lib/shared-data-source/device-privilege-data.js +0 -25
  179. package/lib/shared-data-source/interpreter.d.ts +0 -77
  180. package/lib/shared-data-source/interpreter.js +0 -247
  181. package/lib/shared-data-source/layout-data.d.ts +0 -31
  182. package/lib/shared-data-source/layout-data.js +0 -189
  183. package/lib/shared-data-source/meeting-time.d.ts +0 -90
  184. package/lib/shared-data-source/meeting-time.js +0 -416
  185. package/lib/shared-data-source/member-data.d.ts +0 -139
  186. package/lib/shared-data-source/member-data.js +0 -517
  187. package/lib/shared-data-source/pin-data.d.ts +0 -13
  188. package/lib/shared-data-source/pin-data.js +0 -111
  189. package/lib/shared-data-source/screen-share-data.d.ts +0 -364
  190. package/lib/shared-data-source/screen-share-data.js +0 -520
  191. package/lib/shared-data-source/security-data.d.ts +0 -39
  192. package/lib/shared-data-source/security-data.js +0 -156
  193. package/lib/shared-data-source/setting.d.ts +0 -67
  194. package/lib/shared-data-source/setting.js +0 -220
  195. package/lib/shared-data-source/speaker-spotlight.d.ts +0 -5
  196. package/lib/shared-data-source/speaker-spotlight.js +0 -15
  197. package/lib/shared-data-source/video-window.d.ts +0 -165
  198. package/lib/shared-data-source/video-window.js +0 -1266
  199. package/lib/shared-data-source/waiting-room.d.ts +0 -46
  200. package/lib/shared-data-source/waiting-room.js +0 -222
  201. package/lib/shared-data-source/whiteboard-data.d.ts +0 -68
  202. package/lib/shared-data-source/whiteboard-data.js +0 -347
  203. package/lib/utilities/board-context.d.ts +0 -4
  204. package/lib/utilities/board-context.js +0 -12
  205. package/lib/utilities/copyText.d.ts +0 -2
  206. package/lib/utilities/copyText.js +0 -48
  207. package/lib/utilities/renderer-event.d.ts +0 -10
  208. package/lib/utilities/renderer-event.js +0 -95
  209. package/lib/utilities/screen-capture-permission.d.ts +0 -2
  210. package/lib/utilities/screen-capture-permission.js +0 -24
  211. package/lib/utilities/screen.d.ts +0 -3
  212. package/lib/utilities/screen.js +0 -53
  213. package/lib/utilities/video-track-render-context.d.ts +0 -6
  214. package/lib/utilities/video-track-render-context.js +0 -9
  215. package/lib/waiting-room-control-manager.d.ts +0 -28
  216. package/lib/waiting-room-control-manager.js +0 -230
@@ -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>;