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,72 +0,0 @@
1
- "use strict";
2
-
3
- require("core-js/modules/es.object.define-property.js");
4
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.AnnotationButton = void 0;
9
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
- var _tooltipsButton = require("agora-ui-foundation/lib/components/tooltips-button");
11
- var _i18n = require("agora-ui-foundation/lib/i18n");
12
- var _type = require("agora-ui-foundation/lib/components/icon/type");
13
- var _annotationMenu = _interopRequireDefault(require("../../../components/annotation-menu"));
14
- var _react = require("react");
15
- var _mobxReact = require("mobx-react");
16
- var _store = require("../../store");
17
- var _view = require("../../view");
18
- var _jsxRuntime = require("react/jsx-runtime");
19
- var AnnotationButton = exports.AnnotationButton = (0, _mobxReact.observer)(function () {
20
- var transI18n = (0, _i18n.useI18n)();
21
- var _useState = (0, _react.useState)(false),
22
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
23
- visible = _useState2[0],
24
- setVisible = _useState2[1];
25
- var _useContext = (0, _react.useContext)(_view.ControlbarContext),
26
- browserWindow = _useContext.browserWindow;
27
- var _useContext2 = (0, _react.useContext)(_store.StoreContext),
28
- toggleAnnotation = _useContext2.toggleAnnotation,
29
- hasAnnotationAllowWritePermission = _useContext2.hasAnnotationAllowWritePermission,
30
- allowAnnotationWriteState = _useContext2.allowAnnotationWriteState,
31
- setAllAnnotationWrite = _useContext2.setAllAnnotationWrite,
32
- isSharingScreen = _useContext2.isSharingScreen,
33
- log = _useContext2.log;
34
- var handleBlur = function handleBlur() {
35
- setVisible(false);
36
- };
37
- (0, _react.useEffect)(function () {
38
- browserWindow === null || browserWindow === void 0 || browserWindow.on('blur', handleBlur);
39
- return function () {
40
- browserWindow === null || browserWindow === void 0 || browserWindow.off('blur', handleBlur);
41
- };
42
- }, [browserWindow]);
43
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_tooltipsButton.FrcTooltipButton, {
44
- active: visible,
45
- tooltip: {
46
- content: transI18n('fmt_screenshare_controlbar_button_annotations'),
47
- icon: {
48
- type: _type.FcrIconType.FCR_RENAME,
49
- size: 32,
50
- colors: {
51
- iconPrimary: 'var(--fcr_web_ui_scene_mainicon1)'
52
- }
53
- }
54
- },
55
- onTooltipButtonClick: isSharingScreen ? toggleAnnotation : function () {
56
- return log('share screen is starting, please wait a moment to operate');
57
- },
58
- withPopover: true,
59
- popover: {
60
- content: /*#__PURE__*/(0, _jsxRuntime.jsx)(_annotationMenu["default"], {
61
- allowAnnotationWriteState: allowAnnotationWriteState,
62
- hasAnnotationAllowWritePermission: hasAnnotationAllowWritePermission,
63
- setAllowAnnotationWrite: setAllAnnotationWrite,
64
- showClear: true
65
- }),
66
- onVisibleChange: function onVisibleChange(visible) {
67
- setVisible(visible);
68
- },
69
- visible: visible
70
- }
71
- });
72
- });
@@ -1,2 +0,0 @@
1
- declare class FcrUIMouseEventReactor {
2
- }
@@ -1,8 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
5
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
6
- var FcrUIMouseEventReactor = /*#__PURE__*/(0, _createClass2["default"])(function FcrUIMouseEventReactor() {
7
- (0, _classCallCheck2["default"])(this, FcrUIMouseEventReactor);
8
- });
@@ -1,20 +0,0 @@
1
- import { TransferPosition } from './enums';
2
- export interface MorePopoverContentProps {
3
- hasChatPermission: boolean;
4
- closePopover?: () => void;
5
- }
6
- export interface IShareStateNav {
7
- onShareStateNavTransferPosition: (targetPosition: TransferPosition) => void;
8
- onStopShare: () => void;
9
- currentPosition: TransferPosition;
10
- }
11
- export interface ITransferPositionIconProps {
12
- currentPosition: TransferPosition;
13
- onTransferPositionButtonClick: (targetPosition: TransferPosition) => void;
14
- }
15
- export type CurrentShareBounds = {
16
- x: number;
17
- y: number;
18
- width: number;
19
- height: number;
20
- };
@@ -1,6 +0,0 @@
1
- "use strict";
2
-
3
- require("core-js/modules/es.object.define-property.js");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
@@ -1,26 +0,0 @@
1
- .fcr-device-setting-dialog-wrapper {
2
- display: flex;
3
- flex-direction: column;
4
- height: 100%;
5
- background: var(--fcr_mobile_ui_scene_color_popup_fill2);
6
- border-radius: 16px;
7
- box-shadow: var(--fcr_web_light_dropup);
8
- border: 1px solid var(--fcr_ui_scene_line1);
9
- }
10
-
11
- .fcr-device-setting-dialog-wrapper .frc-window-header {
12
- cursor: move;
13
- height: 46px;
14
- }
15
-
16
- .fcr-device-setting-dialog-wrapper .fcr-device-settings {
17
- height: calc(100% - 46px);
18
- }
19
- .fcr-device-setting-dialog-wrapper .fcr-device-settings-audio {
20
- padding: 0;
21
- }
22
-
23
- .fcr-device-setting-dialog-wrapper .frc-window-header .frc-window-header__title {
24
- height: 46px;
25
- line-height: 46px;
26
- }
@@ -1,6 +0,0 @@
1
- import { PropsWithChildren } from 'react';
2
- import './index.css';
3
- declare const DeviceSettingDialog: ({ children, onClose }: PropsWithChildren<{
4
- onClose: () => void;
5
- }>) => import("react/jsx-runtime").JSX.Element;
6
- export default DeviceSettingDialog;
@@ -1,62 +0,0 @@
1
- "use strict";
2
-
3
- require("core-js/modules/es.object.define-property.js");
4
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = void 0;
9
- require("core-js/modules/web.timers.js");
10
- var _env = require("agora-foundation/lib/utilities/env");
11
- var _i18n = require("agora-ui-foundation/lib/i18n");
12
- var _constant = require("../../../../utilities/constant");
13
- var _normalWindow = _interopRequireDefault(require("../../components/normal-window"));
14
- require("./index.css");
15
- var _jsxRuntime = require("react/jsx-runtime");
16
- var ELECTRON_HEIGHT = 556;
17
- var WEB_HEIGHT = 600;
18
- var DeviceSettingDialog = function DeviceSettingDialog(_ref) {
19
- var children = _ref.children,
20
- onClose = _ref.onClose;
21
- var t = (0, _i18n.useI18n)();
22
- var height = (0, _env.isElectron)() ? ELECTRON_HEIGHT : WEB_HEIGHT;
23
- var config = {
24
- fullscreen: false,
25
- maximizable: false,
26
- trafficLightPosition: {
27
- x: 10,
28
- y: 60
29
- },
30
- width: 580,
31
- height: 600,
32
- minWidth: 580,
33
- minHeight: 600,
34
- maxWidth: 670,
35
- maxHeight: 800,
36
- title: t('fmt_settings_option_setting'),
37
- resizable: false
38
- };
39
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_normalWindow["default"], {
40
- height: height,
41
- dialogKey: _constant.FcrUIDialogKey.DEVICE_SETTINGS,
42
- config: config,
43
- style: {
44
- zIndex: 10
45
- },
46
- onClose: onClose,
47
- onOpened: function onOpened(_ref2) {
48
- var browserWindow = _ref2.browserWindow;
49
- if (browserWindow) {
50
- browserWindow.setAlwaysOnTop(true);
51
- setTimeout(function () {
52
- browserWindow.show();
53
- browserWindow.setAlwaysOnTop(false);
54
- browserWindow.moveTop();
55
- browserWindow.focus();
56
- }, 600);
57
- }
58
- },
59
- children: children
60
- });
61
- };
62
- var _default = exports["default"] = DeviceSettingDialog;
@@ -1,6 +0,0 @@
1
- import { PropsWithChildren } from 'react';
2
- import { FcrUIWebWidgetConfig } from '../../../../type';
3
- export declare const WidgetElectronDialog: ({ children, params, dialogId, }: PropsWithChildren<{
4
- params: FcrUIWebWidgetConfig;
5
- dialogId: string;
6
- }>) => null;
@@ -1,38 +0,0 @@
1
- "use strict";
2
-
3
- require("core-js/modules/es.object.define-property.js");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.WidgetElectronDialog = void 0;
8
- require("core-js/modules/es.function.name.js");
9
- var _constant = require("../../../../utilities/constant");
10
- var _useElectron = require("../../hooks/useElectron");
11
- var WidgetElectronDialog = exports.WidgetElectronDialog = function WidgetElectronDialog(_ref) {
12
- var _params$popupSize, _params$popupSize2;
13
- var children = _ref.children,
14
- params = _ref.params,
15
- dialogId = _ref.dialogId;
16
- var width = (_params$popupSize = params.popupSize) !== null && _params$popupSize !== void 0 && _params$popupSize.width ? params.popupSize.width + 2 : undefined;
17
- var height = (_params$popupSize2 = params.popupSize) !== null && _params$popupSize2 !== void 0 && _params$popupSize2.height ? params.popupSize.height + 76 : undefined;
18
- var config = {
19
- fullscreen: false,
20
- maximizable: false,
21
- trafficLightPosition: {
22
- x: 10,
23
- y: 60
24
- },
25
- width: width,
26
- height: height,
27
- title: params.name,
28
- resizable: false
29
- };
30
- (0, _useElectron.useElectronDialog)({
31
- config: config,
32
- dialogKey: _constant.FcrUIDialogKey.WIDGET,
33
- dialogId: dialogId,
34
- children: children,
35
- hasCustomShadow: false
36
- });
37
- return null;
38
- };
@@ -1,14 +0,0 @@
1
- export declare function usePopoverWatcher({ wrapperClass, offset, onAdded, onRemoved, }: {
2
- wrapperClass: string;
3
- onAdded?: () => void;
4
- onRemoved?: () => void;
5
- offset?: {
6
- vertical: number;
7
- horizontal: number;
8
- };
9
- }): {
10
- watcher: ({ browserWindow, newRendererWindow, }: {
11
- browserWindow?: Electron.BrowserWindow;
12
- newRendererWindow?: Window;
13
- }) => void;
14
- };
@@ -1,110 +0,0 @@
1
- "use strict";
2
-
3
- require("core-js/modules/es.object.define-property.js");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.usePopoverWatcher = usePopoverWatcher;
8
- require("core-js/modules/es.array.for-each.js");
9
- require("core-js/modules/es.object.to-string.js");
10
- require("core-js/modules/esnext.iterator.constructor.js");
11
- require("core-js/modules/esnext.iterator.for-each.js");
12
- require("core-js/modules/web.dom-collections.for-each.js");
13
- var _lodash = require("lodash");
14
- var _react = require("react");
15
- function usePopoverWatcher(_ref) {
16
- var wrapperClass = _ref.wrapperClass,
17
- _ref$offset = _ref.offset,
18
- offset = _ref$offset === void 0 ? {
19
- vertical: 0,
20
- horizontal: 0
21
- } : _ref$offset,
22
- onAdded = _ref.onAdded,
23
- onRemoved = _ref.onRemoved;
24
- var observerRef = (0, _react.useRef)();
25
- var wrapperDomRef = (0, _react.useRef)();
26
- function watcher(_ref2) {
27
- var browserWindow = _ref2.browserWindow,
28
- newRendererWindow = _ref2.newRendererWindow;
29
- if (!newRendererWindow || !browserWindow) {
30
- return;
31
- }
32
- if (observerRef.current) observerRef.current.disconnect();
33
- var body = newRendererWindow.document.body;
34
- var browserWindowBounds = browserWindow.getBounds();
35
- var threshold = calculateThreshold(browserWindow, body);
36
- browserWindow.addListener(
37
- // @ts-ignore
38
- 'custom-move', (0, _lodash.debounce)(function () {
39
- threshold = calculateThreshold(browserWindow, body);
40
- }, 200));
41
- observerRef.current = new MutationObserver(function (mutationsList) {
42
- var popover = body.querySelector('.fcr-popover');
43
- wrapperDomRef.current = body.querySelector(wrapperClass);
44
- var wrapper = wrapperDomRef.current;
45
- mutationsList.forEach(function (mutation) {
46
- if (mutation.type === 'childList') {
47
- mutation.addedNodes.forEach(function (node) {
48
- if (node.nodeType === Node.ELEMENT_NODE && node.contains(popover)) {
49
- if (popover) {
50
- var wrapperHeight = wrapper.offsetHeight,
51
- wrapperWidth = wrapper.offsetWidth;
52
- var offsetHeight = popover.offsetHeight,
53
- popoverWidth = popover.offsetWidth,
54
- offsetTop = popover.offsetTop,
55
- offsetLeft = popover.offsetLeft;
56
- // 如果 popover 展开,根据 popover 的尺寸调整窗口的尺寸可以正好容纳 popover
57
- browserWindow.setBounds({
58
- height: wrapperHeight + offsetHeight + offset.vertical,
59
- width: wrapperWidth + offset.horizontal,
60
- y: threshold.placement === 'top' ? threshold.y - offsetHeight : threshold.y
61
- });
62
- // if (wrapper) {
63
- // const rect = wrapper.getBoundingClientRect();
64
- // wrapper.setAttribute('style', `height: ${rect.height}px;width: ${rect.width}px`);
65
- // // popover.setAttribute('style', `left: ${offsetLeft}px;top: ${offsetTop}px`);
66
- // }
67
- onAdded === null || onAdded === void 0 || onAdded();
68
- }
69
- }
70
- });
71
- mutation.removedNodes.forEach(function (node) {
72
- var _classList;
73
- if ((_classList = node.classList) !== null && _classList !== void 0 && _classList.contains('fcr-popover')) {
74
- onRemoved === null || onRemoved === void 0 || onRemoved();
75
- var width = browserWindowBounds.width,
76
- height = browserWindowBounds.height;
77
- browserWindow.setBounds({
78
- width: width,
79
- height: height,
80
- y: threshold.y
81
- });
82
- browserWindow.setResizable(true);
83
- }
84
- });
85
- }
86
- });
87
- });
88
- observerRef.current.observe(newRendererWindow.document.body, {
89
- childList: true,
90
- subtree: true
91
- });
92
- }
93
- return {
94
- watcher: watcher
95
- };
96
- }
97
- function calculateThreshold(browserWindow, body) {
98
- var _body$querySelector;
99
- var bounds = browserWindow.getBounds();
100
- var nearDisplay = window.runtime.screen.getDisplayNearestPoint(bounds);
101
- var nearDisplayBounds = nearDisplay.bounds;
102
- var middleThreshold = nearDisplayBounds.height / 2;
103
- var placement = bounds.y > middleThreshold ? 'top' : 'bottom';
104
- (_body$querySelector = body.querySelector('#root')) === null || _body$querySelector === void 0 || _body$querySelector.setAttribute('style', "display: flex;align-items: ".concat(placement === 'top' ? 'flex-end' : 'flex-start'));
105
- return {
106
- placement: placement,
107
- x: bounds.x,
108
- y: bounds.y
109
- };
110
- }
@@ -1,28 +0,0 @@
1
- import { FcrUIDialogHooksProps } from '../type';
2
- export declare const DialogInstanceContext: import("react").Context<{
3
- browserWindow: Electron.BrowserWindow;
4
- newRendererWindow: Window;
5
- resizable: boolean;
6
- baseUrl: string;
7
- closeDialog: () => void;
8
- /**
9
- * @param continueClose - 继续关闭窗口的回调函数
10
- */
11
- continueClose: () => void;
12
- /**
13
- * 窗口关闭时是否已被拦截,此值只反应状态,不会影响继续关闭的逻辑
14
- */
15
- interceptedClose: boolean;
16
- /**
17
- * 重置被拦截状态
18
- */
19
- setInterceptedClose: (interceptedClose: boolean) => void;
20
- }>;
21
- export declare const shadowOffset: number;
22
- export declare const enterFullScreenHandler: () => void;
23
- export declare const leaveFullScreenHandler: () => void;
24
- export declare function useElectronDialog(props: FcrUIDialogHooksProps): {
25
- store: import("../store").default;
26
- browserWindow: Electron.BrowserWindow | undefined;
27
- newRendererWindow: Window | undefined;
28
- };