fcr-ui-scene 3.7.6 → 3.7.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (259) hide show
  1. package/installer/icons/icon.png +0 -0
  2. package/installer/mac/entitlements.mac.plist +1 -5
  3. package/lib/creator/index.js +12 -6
  4. package/lib/creator/provider-initializer.browser.js +0 -3
  5. package/lib/creator/provider-initializer.electron.js +0 -4
  6. package/lib/creator.d.ts +36 -0
  7. package/lib/creator.js +465 -0
  8. package/lib/electron/bootstrap-sdk.js +70 -20
  9. package/lib/electron/struct.d.ts +7 -1
  10. package/lib/electron/struct.js +8 -1
  11. package/lib/electron/until.d.ts +3 -1
  12. package/lib/electron/until.js +7 -2
  13. package/lib/modules/action-bar/components/item/index.js +1 -0
  14. package/lib/modules/action-bar/components/screen-share/submenu.js +1 -1
  15. package/lib/modules/action-bar/index.d.ts +58 -0
  16. package/lib/modules/action-bar/index.dev.d.ts +0 -0
  17. package/lib/modules/action-bar/index.dev.js +94 -0
  18. package/lib/modules/action-bar/index.js +109 -0
  19. package/lib/modules/action-bar/store.d.ts +259 -0
  20. package/lib/modules/action-bar/store.js +1529 -0
  21. package/lib/modules/action-bar/types.d.ts +90 -0
  22. package/lib/modules/action-bar/types.js +6 -0
  23. package/lib/modules/action-bar/view.d.ts +5 -0
  24. package/lib/modules/action-bar/view.js +112 -0
  25. package/lib/modules/annotation/annotation-index.d.ts +2 -0
  26. package/lib/modules/annotation/annotation-index.js +80 -0
  27. package/lib/modules/annotation/annotation-toolbar-store.d.ts +75 -0
  28. package/lib/modules/annotation/annotation-toolbar-store.js +459 -0
  29. package/lib/modules/annotation/board-cursor.css +77 -0
  30. package/lib/modules/annotation/components/color-picker/components/color.d.ts +5 -0
  31. package/lib/modules/annotation/components/color-picker/components/color.js +38 -0
  32. package/lib/modules/annotation/components/color-picker/components/panel.d.ts +1 -0
  33. package/lib/modules/annotation/components/color-picker/components/panel.js +109 -0
  34. package/lib/modules/annotation/components/color-picker/components/picker.d.ts +1 -0
  35. package/lib/modules/annotation/components/color-picker/components/picker.js +75 -0
  36. package/lib/modules/annotation/components/color-picker/index.d.ts +2 -0
  37. package/lib/modules/annotation/components/color-picker/index.js +47 -0
  38. package/lib/modules/annotation/components/eraser-picker.d.ts +4 -0
  39. package/lib/modules/annotation/components/eraser-picker.js +144 -0
  40. package/lib/modules/annotation/components/expansion/index.d.ts +1 -0
  41. package/lib/modules/annotation/components/expansion/index.js +100 -0
  42. package/lib/modules/annotation/components/extra-tool-picker.d.ts +1 -0
  43. package/lib/modules/annotation/components/extra-tool-picker.js +62 -0
  44. package/lib/modules/annotation/components/history.d.ts +2 -0
  45. package/lib/modules/annotation/components/history.js +78 -0
  46. package/lib/modules/annotation/components/icons/fold-icon.d.ts +2 -0
  47. package/lib/modules/annotation/components/icons/fold-icon.js +41 -0
  48. package/lib/modules/annotation/components/icons/move-icon.d.ts +1 -0
  49. package/lib/modules/annotation/components/icons/move-icon.js +66 -0
  50. package/lib/modules/annotation/components/item/index.d.ts +1 -0
  51. package/lib/modules/annotation/components/item/index.js +43 -0
  52. package/lib/modules/annotation/components/move-handle.d.ts +5 -0
  53. package/lib/modules/annotation/components/move-handle.js +134 -0
  54. package/lib/modules/annotation/components/pen-picker.d.ts +4 -0
  55. package/lib/modules/annotation/components/pen-picker.js +155 -0
  56. package/lib/modules/annotation/components/screen-capture-picker.d.ts +4 -0
  57. package/lib/modules/annotation/components/screen-capture-picker.js +85 -0
  58. package/lib/modules/annotation/components/shape-picker.d.ts +4 -0
  59. package/lib/modules/annotation/components/shape-picker.js +210 -0
  60. package/lib/modules/annotation/hooks/index.d.ts +14 -0
  61. package/lib/modules/annotation/hooks/index.js +292 -0
  62. package/lib/modules/annotation/index.d.ts +45 -0
  63. package/lib/modules/annotation/index.js +168 -0
  64. package/lib/modules/annotation/store.d.ts +98 -0
  65. package/lib/modules/annotation/store.js +620 -0
  66. package/lib/modules/annotation/style.css +36 -0
  67. package/lib/modules/annotation/view.d.ts +3 -0
  68. package/lib/modules/annotation/view.js +44 -0
  69. package/lib/modules/chat/index.css +5 -1
  70. package/lib/modules/chat/view.js +6 -1
  71. package/lib/modules/components/control-bar/components/switch-theme/index.css +2 -0
  72. package/lib/modules/components/control-bar/components/switch-theme/index.js +5 -7
  73. package/lib/modules/components/control-bar/index.js +26 -7
  74. package/lib/modules/components/device-control/store.d.ts +42 -0
  75. package/lib/modules/components/device-control/store.js +241 -0
  76. package/lib/modules/components/leave-meeting/store.d.ts +39 -0
  77. package/lib/modules/components/leave-meeting/store.js +270 -0
  78. package/lib/modules/components/toolbar/components/capture-tool/index.d.ts +0 -1
  79. package/lib/modules/components/toolbar/components/capture-tool/index.js +1 -2
  80. package/lib/modules/components/toolbar/components/vertical-frame/index.js +2 -2
  81. package/lib/modules/components/toolbar/hooks/use-resize-visible.js +43 -42
  82. package/lib/modules/components/toolbar/index.js +6 -24
  83. package/lib/modules/control-bar/components/annotation-button/index.d.ts +1 -0
  84. package/lib/modules/control-bar/components/annotation-button/index.js +72 -0
  85. package/lib/modules/control-bar/components/cloud-recording-buttons.d.ts +3 -0
  86. package/lib/modules/control-bar/components/cloud-recording-buttons.js +65 -3
  87. package/lib/modules/control-bar/store.js +11 -6
  88. package/lib/modules/control-bar/types.d.ts +20 -0
  89. package/lib/modules/control-bar/types.js +6 -0
  90. package/lib/modules/dialog/components/dialog-container/component/body.d.ts +1 -0
  91. package/lib/modules/dialog/components/dialog-container/component/body.js +3 -2
  92. package/lib/modules/dialog/components/dialog-container/index.css +1 -1
  93. package/lib/modules/dialog/components/dialog-container/index.d.ts +1 -0
  94. package/lib/modules/dialog/components/dialog-container/index.js +4 -1
  95. package/lib/modules/dialog/components/normal-window/index.d.ts +1 -0
  96. package/lib/modules/dialog/components/normal-window/index.js +3 -1
  97. package/lib/modules/dialog/dialogs/chat/index.js +2 -1
  98. package/lib/modules/dialog/dialogs/control-bar-leave-meeting/index.js +0 -1
  99. package/lib/modules/dialog/dialogs/end-meeting/index.d.ts +1 -0
  100. package/lib/modules/dialog/dialogs/end-meeting/index.js +2 -1
  101. package/lib/modules/dialog/dialogs/participant/index.js +2 -1
  102. package/lib/modules/dialog/dialogs/pre-setting/index.css +26 -0
  103. package/lib/modules/dialog/dialogs/pre-setting/index.d.ts +6 -0
  104. package/lib/modules/dialog/dialogs/pre-setting/index.js +62 -0
  105. package/lib/modules/dialog/dialogs/widget/electron.d.ts +6 -0
  106. package/lib/modules/dialog/dialogs/widget/electron.js +38 -0
  107. package/lib/modules/dialog/hooks/use-popover-watcher.d.ts +14 -0
  108. package/lib/modules/dialog/hooks/use-popover-watcher.js +110 -0
  109. package/lib/modules/dialog/hooks/useElectron.d.ts +28 -0
  110. package/lib/modules/dialog/hooks/useElectron.js +277 -0
  111. package/lib/modules/dialog/store.d.ts +135 -0
  112. package/lib/modules/dialog/store.js +616 -0
  113. package/lib/modules/event-confirm/components/window/index.d.ts +7 -0
  114. package/lib/modules/event-confirm/components/window/index.js +221 -0
  115. package/lib/modules/event-confirm/index.css +24 -0
  116. package/lib/modules/event-confirm/index.d.ts +27 -0
  117. package/lib/modules/event-confirm/index.js +76 -0
  118. package/lib/modules/event-confirm/store.d.ts +50 -0
  119. package/lib/modules/event-confirm/store.js +394 -0
  120. package/lib/modules/event-confirm/view.d.ts +2 -0
  121. package/lib/modules/event-confirm/view.js +55 -0
  122. package/lib/modules/event-toast/store.d.ts +27 -0
  123. package/lib/modules/event-toast/store.js +205 -0
  124. package/lib/modules/layout/store.d.ts +176 -0
  125. package/lib/modules/layout/store.electron.js +1 -1
  126. package/lib/modules/layout/store.js +1452 -0
  127. package/lib/modules/participant/store.d.ts +222 -0
  128. package/lib/modules/participant/store.js +1929 -0
  129. package/lib/modules/pc-audio-connect/index.d.ts +22 -0
  130. package/lib/modules/pc-audio-connect/index.js +67 -0
  131. package/lib/modules/pc-audio-connect/store.d.ts +46 -0
  132. package/lib/modules/pc-audio-connect/store.js +304 -0
  133. package/lib/modules/secondary-window/store.d.ts +0 -1
  134. package/lib/modules/secondary-window/store.js +9 -22
  135. package/lib/modules/secondary-window/view.js +6 -5
  136. package/lib/modules/setting/common/advance-link.d.ts +3 -0
  137. package/lib/modules/setting/common/advance-link.js +27 -0
  138. package/lib/modules/setting/common/index.css +26 -0
  139. package/lib/modules/setting/common/useNamespace.d.ts +15 -0
  140. package/lib/modules/setting/common/useNamespace.js +66 -0
  141. package/lib/modules/setting/dialog-wrapper.d.ts +2 -0
  142. package/lib/modules/setting/dialog-wrapper.js +110 -0
  143. package/lib/modules/setting/index.css +0 -1
  144. package/lib/modules/setting/store.base.js +6 -0
  145. package/lib/modules/setting/store.d.ts +261 -0
  146. package/lib/modules/setting/store.js +1321 -0
  147. package/lib/modules/setting/view.js +0 -3
  148. package/lib/modules/share-screen/store.d.ts +148 -0
  149. package/lib/modules/share-screen/store.electron.js +1 -1
  150. package/lib/modules/share-screen/store.js +960 -0
  151. package/lib/modules/share-screen/types.d.ts +26 -0
  152. package/lib/modules/share-screen/types.js +6 -0
  153. package/lib/modules/state-bar/layout-config.js +6 -0
  154. package/lib/modules/state-bar/main-scene/store.base.d.ts +2 -0
  155. package/lib/modules/state-bar/main-scene/store.base.js +6 -0
  156. package/lib/modules/state-bar/store.d.ts +124 -0
  157. package/lib/modules/state-bar/store.js +664 -0
  158. package/lib/modules/video-window/index.css +6 -0
  159. package/lib/modules/video-window/popover-watcher.d.ts +4 -1
  160. package/lib/modules/video-window/popover-watcher.js +15 -2
  161. package/lib/modules/video-window/store.d.ts +18 -1
  162. package/lib/modules/video-window/store.js +55 -7
  163. package/lib/modules/whiteboard/components/progress/electron.d.ts +1 -0
  164. package/lib/modules/whiteboard/components/progress/electron.js +33 -0
  165. package/lib/modules/whiteboard/store.js +20 -2
  166. package/lib/modules/widget/store.d.ts +14 -0
  167. package/lib/modules/widget/store.js +28 -0
  168. package/lib/object-manager.d.ts +0 -1
  169. package/lib/object-manager.js +0 -1
  170. package/lib/providers/annotation-provider.d.ts +124 -0
  171. package/lib/providers/annotation-provider.js +369 -0
  172. package/lib/providers/board-share/bar-control/base.d.ts +1 -1
  173. package/lib/providers/board-share/bar-control/base.js +37 -28
  174. package/lib/providers/board-share/bar-control/electron.d.ts +1 -1
  175. package/lib/providers/board-share/bar-control/electron.js +19 -16
  176. package/lib/providers/board-share/provider.browser.d.ts +3 -0
  177. package/lib/providers/board-share/provider.browser.js +21 -3
  178. package/lib/providers/device-provider.js +5 -1
  179. package/lib/providers/dialog/provider.electron.js +6 -0
  180. package/lib/providers/dialog-provider.d.ts +137 -0
  181. package/lib/providers/dialog-provider.js +194 -0
  182. package/lib/providers/message-provider.d.ts +69 -0
  183. package/lib/providers/message-provider.js +140 -0
  184. package/lib/providers/mouse-detect/provider.d.ts +5 -0
  185. package/lib/providers/mouse-detect/provider.js +74 -49
  186. package/lib/providers/multi-display-provider.d.ts +3 -5
  187. package/lib/providers/multi-display-provider.js +0 -9
  188. package/lib/providers/room-provider/room-provider.d.ts +3 -14
  189. package/lib/providers/room-provider/room-provider.js +5 -26
  190. package/lib/providers/room-provider.d.ts +194 -0
  191. package/lib/providers/room-provider.js +916 -0
  192. package/lib/providers/screen-share/stream-state-sync.js +19 -12
  193. package/lib/providers/screen-share-provider.d.ts +245 -0
  194. package/lib/providers/screen-share-provider.js +850 -0
  195. package/lib/providers/sharing-provider.d.ts +42 -0
  196. package/lib/providers/sharing-provider.js +228 -0
  197. package/lib/providers/user-setting-storage-provider.d.ts +21 -0
  198. package/lib/providers/user-setting-storage-provider.js +65 -0
  199. package/lib/providers/whiteboard-provider.d.ts +24 -0
  200. package/lib/providers/whiteboard-provider.js +128 -0
  201. package/lib/providers/window/main-window.d.ts +0 -5
  202. package/lib/providers/window/main-window.js +0 -44
  203. package/lib/providers/window/renderer-window.d.ts +1 -0
  204. package/lib/providers/window/renderer-window.js +9 -1
  205. package/lib/scenes/main-scene.js +0 -2
  206. package/lib/shared-data-source/annotation-data.d.ts +17 -0
  207. package/lib/shared-data-source/annotation-data.js +110 -0
  208. package/lib/shared-data-source/app-list-data.d.ts +34 -0
  209. package/lib/shared-data-source/app-list-data.js +133 -0
  210. package/lib/shared-data-source/chat-data.d.ts +25 -0
  211. package/lib/shared-data-source/chat-data.js +139 -0
  212. package/lib/shared-data-source/config.d.ts +35 -0
  213. package/lib/shared-data-source/config.js +40 -0
  214. package/lib/shared-data-source/confirm-data.d.ts +44 -0
  215. package/lib/shared-data-source/confirm-data.js +201 -0
  216. package/lib/shared-data-source/device-privilege-data.d.ts +8 -0
  217. package/lib/shared-data-source/device-privilege-data.js +25 -0
  218. package/lib/shared-data-source/interpreter.d.ts +77 -0
  219. package/lib/shared-data-source/interpreter.js +247 -0
  220. package/lib/shared-data-source/layout-data.d.ts +31 -0
  221. package/lib/shared-data-source/layout-data.js +189 -0
  222. package/lib/shared-data-source/meeting-time.d.ts +90 -0
  223. package/lib/shared-data-source/meeting-time.js +416 -0
  224. package/lib/shared-data-source/member-data.d.ts +139 -0
  225. package/lib/shared-data-source/member-data.js +517 -0
  226. package/lib/shared-data-source/pin-data.d.ts +13 -0
  227. package/lib/shared-data-source/pin-data.js +111 -0
  228. package/lib/shared-data-source/screen-share-data.d.ts +357 -0
  229. package/lib/shared-data-source/screen-share-data.js +513 -0
  230. package/lib/shared-data-source/security-data.d.ts +39 -0
  231. package/lib/shared-data-source/security-data.js +156 -0
  232. package/lib/shared-data-source/setting.d.ts +67 -0
  233. package/lib/shared-data-source/setting.js +220 -0
  234. package/lib/shared-data-source/speaker-spotlight.d.ts +5 -0
  235. package/lib/shared-data-source/speaker-spotlight.js +15 -0
  236. package/lib/shared-data-source/video-window.d.ts +165 -0
  237. package/lib/shared-data-source/video-window.js +1266 -0
  238. package/lib/shared-data-source/waiting-room.d.ts +46 -0
  239. package/lib/shared-data-source/waiting-room.js +222 -0
  240. package/lib/shared-data-source/whiteboard-data.d.ts +70 -0
  241. package/lib/{providers/board-share/bar-control.js → shared-data-source/whiteboard-data.js} +62 -104
  242. package/lib/ui-scene.js +4 -2
  243. package/lib/utilities/board-context.d.ts +4 -0
  244. package/lib/utilities/board-context.js +12 -0
  245. package/lib/utilities/copyText.d.ts +2 -0
  246. package/lib/utilities/copyText.js +48 -0
  247. package/lib/utilities/renderer-event.d.ts +10 -0
  248. package/lib/utilities/renderer-event.js +95 -0
  249. package/lib/utilities/screen-capture-permission.d.ts +2 -0
  250. package/lib/utilities/screen-capture-permission.js +24 -0
  251. package/lib/utilities/screen.d.ts +3 -0
  252. package/lib/utilities/screen.js +53 -0
  253. package/lib/utilities/video-track-render-context.d.ts +6 -0
  254. package/lib/utilities/video-track-render-context.js +9 -0
  255. package/lib/waiting-room-control-manager.d.ts +28 -0
  256. package/lib/waiting-room-control-manager.js +230 -0
  257. package/package.json +5 -5
  258. package/public/index.html +22 -1
  259. package/lib/providers/board-share/bar-control.d.ts +0 -51
@@ -0,0 +1,369 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.symbol.js");
4
+ require("core-js/modules/es.symbol.description.js");
5
+ require("core-js/modules/es.symbol.to-primitive.js");
6
+ require("core-js/modules/es.error.cause.js");
7
+ require("core-js/modules/es.error.to-string.js");
8
+ require("core-js/modules/es.array.is-array.js");
9
+ require("core-js/modules/es.array.push.js");
10
+ require("core-js/modules/es.date.to-primitive.js");
11
+ require("core-js/modules/es.function.bind.js");
12
+ require("core-js/modules/es.function.name.js");
13
+ require("core-js/modules/es.map.js");
14
+ require("core-js/modules/es.number.constructor.js");
15
+ require("core-js/modules/es.object.create.js");
16
+ require("core-js/modules/es.object.define-property.js");
17
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
18
+ require("core-js/modules/esnext.function.metadata.js");
19
+ require("core-js/modules/esnext.map.delete-all.js");
20
+ require("core-js/modules/esnext.map.emplace.js");
21
+ require("core-js/modules/esnext.map.every.js");
22
+ require("core-js/modules/esnext.map.filter.js");
23
+ require("core-js/modules/esnext.map.find.js");
24
+ require("core-js/modules/esnext.map.find-key.js");
25
+ require("core-js/modules/esnext.map.includes.js");
26
+ require("core-js/modules/esnext.map.key-of.js");
27
+ require("core-js/modules/esnext.map.map-keys.js");
28
+ require("core-js/modules/esnext.map.map-values.js");
29
+ require("core-js/modules/esnext.map.merge.js");
30
+ require("core-js/modules/esnext.map.reduce.js");
31
+ require("core-js/modules/esnext.map.some.js");
32
+ require("core-js/modules/esnext.map.update.js");
33
+ require("core-js/modules/esnext.symbol.metadata.js");
34
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
35
+ var _typeof = require("@babel/runtime/helpers/typeof");
36
+ Object.defineProperty(exports, "__esModule", {
37
+ value: true
38
+ });
39
+ exports.FcrUIAnnotationProviderImpl = exports.FcrAnnotationState = void 0;
40
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
41
+ require("core-js/modules/es.array.concat.js");
42
+ require("core-js/modules/es.array.find.js");
43
+ require("core-js/modules/es.array.for-each.js");
44
+ require("core-js/modules/es.array.iterator.js");
45
+ require("core-js/modules/es.date.to-json.js");
46
+ require("core-js/modules/es.json.stringify.js");
47
+ require("core-js/modules/es.object.to-string.js");
48
+ require("core-js/modules/es.string.iterator.js");
49
+ require("core-js/modules/es.weak-map.js");
50
+ require("core-js/modules/esnext.iterator.constructor.js");
51
+ require("core-js/modules/esnext.iterator.find.js");
52
+ require("core-js/modules/esnext.iterator.for-each.js");
53
+ require("core-js/modules/esnext.weak-map.delete-all.js");
54
+ require("core-js/modules/esnext.weak-map.emplace.js");
55
+ require("core-js/modules/web.dom-collections.for-each.js");
56
+ require("core-js/modules/web.dom-collections.iterator.js");
57
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
58
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
59
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
60
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
61
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
62
+ var _constant = require("../utilities/constant");
63
+ var _base = require("../base");
64
+ var _mobx = require("mobx");
65
+ var _imports = require("fcr-core/lib/imports");
66
+ var _type = require("fcr-core/lib/type");
67
+ var _rendererEvent = require("../utilities/renderer-event");
68
+ var _type2 = require("../modules/whiteboard/type");
69
+ var _dialogUtils = require("../utilities/dialog-utils");
70
+ var _logger = require("../utilities/logger");
71
+ var _FcrUIAnnotationProviderImpl;
72
+ var _initProto, _init_annotationState, _init_annotating, _init_isShowToolbar, _init_currentShareInfo, _toggleAnnotationDecs, _setIsShowToolbarDecs, _initAnnotationWindowDecs, _openAnnotationWindowDecs, _showAnnotationWindowDecs, _hideAnnotationWindowDecs, _setCurrentShareInfoDecs, _openToolbarDecs, _closeToolbarDecs, _ref;
73
+ function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
74
+ function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
75
+ function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
76
+ function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
77
+ function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
78
+ function _applyDecs(e, t, r, n, o, a) { function i(e, t, r) { return function (n, o) { return r && r(n), e[t].call(n, o); }; } function c(e, t) { for (var r = 0; r < e.length; r++) e[r].call(t); return t; } function s(e, t, r, n) { if ("function" != typeof e && (n || void 0 !== e)) throw new TypeError(t + " must " + (r || "be") + " a function" + (n ? "" : " or undefined")); return e; } function applyDec(e, t, r, n, o, a, c, u, l, f, p, d, h) { function m(e) { if (!h(e)) throw new TypeError("Attempted to access private element on non-instance"); } var y, v = t[0], g = t[3], b = !u; if (!b) { r || Array.isArray(v) || (v = [v]); var w = {}, S = [], A = 3 === o ? "get" : 4 === o || d ? "set" : "value"; f ? (p || d ? w = { get: _setFunctionName(function () { return g(this); }, n, "get"), set: function set(e) { t[4](this, e); } } : w[A] = g, p || _setFunctionName(w[A], n, 2 === o ? "" : A)) : p || (w = Object.getOwnPropertyDescriptor(e, n)); } for (var P = e, j = v.length - 1; j >= 0; j -= r ? 2 : 1) { var D = v[j], E = r ? v[j - 1] : void 0, I = {}, O = { kind: ["field", "accessor", "method", "getter", "setter", "class"][o], name: n, metadata: a, addInitializer: function (e, t) { if (e.v) throw Error("attempted to call addInitializer after decoration was finished"); s(t, "An initializer", "be", !0), c.push(t); }.bind(null, I) }; try { if (b) (y = s(D.call(E, P, O), "class decorators", "return")) && (P = y);else { var k, F; O["static"] = l, O["private"] = f, f ? 2 === o ? k = function k(e) { return m(e), w.value; } : (o < 4 && (k = i(w, "get", m)), 3 !== o && (F = i(w, "set", m))) : (k = function k(e) { return e[n]; }, (o < 2 || 4 === o) && (F = function F(e, t) { e[n] = t; })); var N = O.access = { has: f ? h.bind() : function (e) { return n in e; } }; if (k && (N.get = k), F && (N.set = F), P = D.call(E, d ? { get: w.get, set: w.set } : w[A], O), d) { if ("object" == _typeof(P) && P) (y = s(P.get, "accessor.get")) && (w.get = y), (y = s(P.set, "accessor.set")) && (w.set = y), (y = s(P.init, "accessor.init")) && S.push(y);else if (void 0 !== P) throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0"); } else s(P, (p ? "field" : "method") + " decorators", "return") && (p ? S.push(P) : w[A] = P); } } finally { I.v = !0; } } return (p || d) && u.push(function (e, t) { for (var r = S.length - 1; r >= 0; r--) t = S[r].call(e, t); return t; }), p || b || (f ? d ? u.push(i(w, "get"), i(w, "set")) : u.push(2 === o ? w[A] : i.call.bind(w[A])) : Object.defineProperty(e, n, w)), P; } function u(e, t) { return Object.defineProperty(e, Symbol.metadata || Symbol["for"]("Symbol.metadata"), { configurable: !0, enumerable: !0, value: t }); } if (arguments.length >= 6) var l = a[Symbol.metadata || Symbol["for"]("Symbol.metadata")]; var f = Object.create(null == l ? null : l), p = function (e, t, r, n) { var o, a, i = [], s = function s(t) { return _checkInRHS(t) === e; }, u = new Map(); function l(e) { e && i.push(c.bind(null, e)); } for (var f = 0; f < t.length; f++) { var p = t[f]; if (Array.isArray(p)) { var d = p[1], h = p[2], m = p.length > 3, y = 16 & d, v = !!(8 & d), g = 0 == (d &= 7), b = h + "/" + v; if (!g && !m) { var w = u.get(b); if (!0 === w || 3 === w && 4 !== d || 4 === w && 3 !== d) throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + h); u.set(b, !(d > 2) || d); } applyDec(v ? e : e.prototype, p, y, m ? "#" + h : _toPropertyKey(h), d, n, v ? a = a || [] : o = o || [], i, v, m, g, 1 === d, v && m ? s : r); } } return l(o), l(a), i; }(e, t, o, f); return r.length || u(e, f), { e: p, get c() { var t = []; return r.length && [u(applyDec(e, [r], n, e.name, 5, f, t), f), c.bind(null, t, e)]; } }; }
79
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
80
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
81
+ function _setFunctionName(e, t, n) { "symbol" == _typeof(t) && (t = (t = t.description) ? "[" + t + "]" : ""); try { Object.defineProperty(e, "name", { configurable: !0, value: n ? n + " " + t : t }); } catch (e) {} return e; }
82
+ function _checkInRHS(e) { if (Object(e) !== e) throw TypeError("right-hand side of 'in' should be an object, got " + (null !== e ? _typeof(e) : "null")); return e; }
83
+ var FcrAnnotationState = exports.FcrAnnotationState = /*#__PURE__*/function (FcrAnnotationState) {
84
+ FcrAnnotationState["START"] = "start";
85
+ FcrAnnotationState["END"] = "end";
86
+ return FcrAnnotationState;
87
+ }({});
88
+ var _A = /*#__PURE__*/new WeakMap();
89
+ var _B = /*#__PURE__*/new WeakMap();
90
+ var _C = /*#__PURE__*/new WeakMap();
91
+ var _D = /*#__PURE__*/new WeakMap();
92
+ _ref = (_toggleAnnotationDecs = [_mobx.action, _mobx.action.bound], _setIsShowToolbarDecs = [_mobx.action, _mobx.action.bound], _initAnnotationWindowDecs = [_mobx.action, _mobx.action.bound], _openAnnotationWindowDecs = [_mobx.action, _mobx.action.bound], _showAnnotationWindowDecs = [_mobx.action, _mobx.action.bound], _hideAnnotationWindowDecs = [_mobx.action, _mobx.action.bound], _setCurrentShareInfoDecs = [_mobx.action, _mobx.action.bound], _openToolbarDecs = [_mobx.action, _mobx.action.bound], _closeToolbarDecs = [_mobx.action, _mobx.action.bound], "_annotationDialogId");
93
+ var FcrUIAnnotationProviderImpl = exports.FcrUIAnnotationProviderImpl = /*#__PURE__*/function () {
94
+ function FcrUIAnnotationProviderImpl(_dialogProvider, _videoWindowDataSource, _privilegeProvider, _sharedScreenShareSharedDataSource) {
95
+ (0, _classCallCheck2["default"])(this, FcrUIAnnotationProviderImpl);
96
+ (0, _defineProperty2["default"])(this, _ref, (_initProto(this), ''));
97
+ (0, _defineProperty2["default"])(this, "_annotationToolDialogId", '');
98
+ (0, _defineProperty2["default"])(this, "_disposers", []);
99
+ (0, _defineProperty2["default"])(this, "logger", (0, _logger.createLogger)({
100
+ prefix: 'FcrUIAnnotationProviderImpl'
101
+ }));
102
+ _classPrivateFieldInitSpec(this, _A, _init_annotationState(this, FcrAnnotationState.END));
103
+ _classPrivateFieldInitSpec(this, _B, _init_annotating(this, false));
104
+ _classPrivateFieldInitSpec(this, _C, _init_isShowToolbar(this, false));
105
+ _classPrivateFieldInitSpec(this, _D, _init_currentShareInfo(this, {
106
+ id: '',
107
+ type: _type.FcrScreenCaptureType.SCREEN,
108
+ bounds: {
109
+ x: 0,
110
+ y: 0,
111
+ width: 0,
112
+ height: 0
113
+ }
114
+ }));
115
+ this._dialogProvider = _dialogProvider;
116
+ this._videoWindowDataSource = _videoWindowDataSource;
117
+ this._privilegeProvider = _privilegeProvider;
118
+ this._sharedScreenShareSharedDataSource = _sharedScreenShareSharedDataSource;
119
+ //@ts-ignore
120
+ window._annotationProvider = this;
121
+ }
122
+ return (0, _createClass2["default"])(FcrUIAnnotationProviderImpl, [{
123
+ key: "annotationState",
124
+ get: function get() {
125
+ return _classPrivateFieldGet(_A, this);
126
+ },
127
+ set: function set(v) {
128
+ _classPrivateFieldSet(_A, this, v);
129
+ }
130
+ }, {
131
+ key: "annotating",
132
+ get: function get() {
133
+ return _classPrivateFieldGet(_B, this);
134
+ },
135
+ set: function set(v) {
136
+ _classPrivateFieldSet(_B, this, v);
137
+ }
138
+ }, {
139
+ key: "isShowToolbar",
140
+ get: function get() {
141
+ return _classPrivateFieldGet(_C, this);
142
+ },
143
+ set: function set(v) {
144
+ _classPrivateFieldSet(_C, this, v);
145
+ }
146
+ }, {
147
+ key: "currentShareInfo",
148
+ get: function get() {
149
+ return _classPrivateFieldGet(_D, this);
150
+ },
151
+ set: function set(v) {
152
+ _classPrivateFieldSet(_D, this, v);
153
+ }
154
+ }, {
155
+ key: "allowAnnotationSelfWrite",
156
+ get: function get() {
157
+ return this._privilegeProvider.hasAnnotationWritePermission();
158
+ }
159
+ }, {
160
+ key: "screenShareWindowData",
161
+ get: function get() {
162
+ return this._videoWindowDataSource.mainList.find(function (item) {
163
+ return item.hasScreenSharing;
164
+ });
165
+ }
166
+ }, {
167
+ key: "scalcValue",
168
+ get: function get() {
169
+ return this._sharedScreenShareSharedDataSource.screenShareScalcValue;
170
+ }
171
+ }, {
172
+ key: "annotationControl",
173
+ get: function get() {
174
+ return this._annotationControl;
175
+ }
176
+ }, {
177
+ key: "annotationHasStart",
178
+ get: function get() {
179
+ return this.annotationState === FcrAnnotationState.START;
180
+ }
181
+ }, {
182
+ key: "allowAnnotationWrite",
183
+ get: function get() {
184
+ return this._privilegeProvider.allowAnnotationWriteState();
185
+ }
186
+ }, {
187
+ key: "updateWindowSize",
188
+ value: function updateWindowSize(width, height) {
189
+ this.logger.info("[Annotation] updateWindowSize width: ".concat(width, ", height: ").concat(height));
190
+ (0, _rendererEvent.sendEvent)({
191
+ action: _constant.FcrUIRendererEventAction.UPDATE_ANNOTATION_WINDOW_SIZE,
192
+ payload: {
193
+ width: width,
194
+ height: height
195
+ }
196
+ });
197
+ }
198
+ }, {
199
+ key: "toggleAnnotation",
200
+ value: function () {
201
+ var _toggleAnnotation = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
202
+ return _regenerator["default"].wrap(function (_context) {
203
+ while (1) switch (_context.prev = _context.next) {
204
+ case 0:
205
+ if (this.annotating) {
206
+ this.annotating = false;
207
+ (0, _rendererEvent.sendEvent)({
208
+ action: _constant.FcrUIRendererEventAction.SET_ANNOTATION_IGNORE,
209
+ payload: true
210
+ });
211
+ this._closeToolbar();
212
+ this.logger.info('[Annotation] toggleAnnotation close toolbar, ignore mouse event true');
213
+ } else {
214
+ this.annotating = true;
215
+ (0, _rendererEvent.sendEvent)({
216
+ action: _constant.FcrUIRendererEventAction.SET_ANNOTATION_IGNORE,
217
+ payload: false
218
+ });
219
+ this._openToolbar();
220
+ this.logger.info('[Annotation] toggleAnnotation open toolbar, ignore mouse event false');
221
+ }
222
+ case 1:
223
+ case "end":
224
+ return _context.stop();
225
+ }
226
+ }, _callee, this);
227
+ }));
228
+ function toggleAnnotation() {
229
+ return _toggleAnnotation.apply(this, arguments);
230
+ }
231
+ return toggleAnnotation;
232
+ }()
233
+ }, {
234
+ key: "setIsShowToolbar",
235
+ value: function setIsShowToolbar(isShow) {
236
+ this.isShowToolbar = isShow;
237
+ }
238
+ }, {
239
+ key: "initAnnotationWindow",
240
+ value: function initAnnotationWindow() {
241
+ this.logger.info('[Annotation] init annotation fragment');
242
+ this._annotationDialogId = this._dialogProvider.openDialog(_constant.FcrUIDialogKey.ANNOTATION);
243
+ }
244
+ }, {
245
+ key: "openAnnotationWindow",
246
+ value: function openAnnotationWindow() {
247
+ this.logger.info('[Annotation] openAnnotationWindow');
248
+ (0, _rendererEvent.sendEvent)({
249
+ action: _constant.FcrUIRendererEventAction.SET_ANNOTATION_TO_OPEN,
250
+ payload: true
251
+ });
252
+ }
253
+ }, {
254
+ key: "showAnnotationWindow",
255
+ value: function showAnnotationWindow() {
256
+ this.logger.info('[Annotation] showAnnotationWindow');
257
+ (0, _rendererEvent.sendEvent)({
258
+ action: _constant.FcrUIRendererEventAction.SET_ANNOTATION_TO_SHOW,
259
+ payload: true
260
+ });
261
+ }
262
+ }, {
263
+ key: "hideAnnotationWindow",
264
+ value: function hideAnnotationWindow() {
265
+ this.logger.info('[Annotation] hideAnnotationWindow');
266
+ (0, _rendererEvent.sendEvent)({
267
+ action: _constant.FcrUIRendererEventAction.SET_ANNOTATION_TO_SHOW,
268
+ payload: false
269
+ });
270
+ this._closeToolbar();
271
+ }
272
+ }, {
273
+ key: "setCurrentShareInfo",
274
+ value: function setCurrentShareInfo(info) {
275
+ this.currentShareInfo = info;
276
+ }
277
+ }, {
278
+ key: "setBoundsToAnnotationWindow",
279
+ value: function () {
280
+ var _setBoundsToAnnotationWindow = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(info) {
281
+ var _this = this;
282
+ var targetBounds, _ref2, bounds, _getCurrentSharingWor, _width, _height, x, y, windows, win;
283
+ return _regenerator["default"].wrap(function (_context2) {
284
+ while (1) switch (_context2.prev = _context2.next) {
285
+ case 0:
286
+ targetBounds = null;
287
+ if (this.currentShareInfo.type === _type.FcrScreenCaptureType.SCREEN) {
288
+ _ref2 = info || this.currentShareInfo, bounds = _ref2.bounds;
289
+ _getCurrentSharingWor = (0, _dialogUtils.getCurrentSharingWorkArea)({
290
+ currentShareBounds: bounds
291
+ }), _width = _getCurrentSharingWor.width, _height = _getCurrentSharingWor.height, x = _getCurrentSharingWor.x, y = _getCurrentSharingWor.y;
292
+ targetBounds = {
293
+ width: _width,
294
+ height: _height,
295
+ x: x,
296
+ y: y
297
+ };
298
+ } else {
299
+ windows = window.runtime.getWindows();
300
+ win = windows.find(function (win) {
301
+ return win.id === +_this.currentShareInfo.id;
302
+ });
303
+ if (win) {
304
+ targetBounds = win.getBounds();
305
+ }
306
+ // 当 mac 是分享的全屏应用的时候,通过 id 无法获取到正确的 bounds,因为本身全屏幕应用的尺寸就是屏幕的尺寸,所以可以直接取 info 的 bounds
307
+ if (!targetBounds) {
308
+ targetBounds = (info === null || info === void 0 ? void 0 : info.bounds) || this.currentShareInfo.bounds || null;
309
+ }
310
+ }
311
+ this.logger.info("[Annotation][setBoundsToAnnotationWindow]: targetBounds: ".concat(JSON.stringify(targetBounds)));
312
+ (0, _rendererEvent.sendEvent)({
313
+ action: _constant.FcrUIRendererEventAction.SET_CURRENT_SHARE_SCREEN_BOUNDS,
314
+ payload: targetBounds
315
+ });
316
+ case 1:
317
+ case "end":
318
+ return _context2.stop();
319
+ }
320
+ }, _callee2, this);
321
+ }));
322
+ function setBoundsToAnnotationWindow(_x) {
323
+ return _setBoundsToAnnotationWindow.apply(this, arguments);
324
+ }
325
+ return setBoundsToAnnotationWindow;
326
+ }()
327
+ }, {
328
+ key: "closeAnnotationWindow",
329
+ value: function closeAnnotationWindow() {
330
+ this.annotating = false;
331
+ (0, _rendererEvent.sendEvent)({
332
+ action: _type2.ToolbarEvents.CLEAN,
333
+ payload: true
334
+ });
335
+ (0, _rendererEvent.sendEvent)({
336
+ action: _constant.FcrUIRendererEventAction.SET_ANNOTATION_TO_OPEN,
337
+ payload: false
338
+ });
339
+ this._closeToolbar();
340
+ }
341
+ }, {
342
+ key: "release",
343
+ value: function release() {
344
+ this._disposers.forEach(function (disposer) {
345
+ return disposer();
346
+ });
347
+ this._dialogProvider.closeDialog(this._annotationDialogId);
348
+ }
349
+ }, {
350
+ key: "_openToolbar",
351
+ value: function _openToolbar() {
352
+ this._annotationToolDialogId = this._dialogProvider.openDialog(_constant.FcrUIDialogKey.ANNOTATION_TOOL);
353
+ }
354
+ }, {
355
+ key: "_closeToolbar",
356
+ value: function _closeToolbar() {
357
+ this._dialogProvider.closeDialog(this._annotationToolDialogId);
358
+ this._annotationToolDialogId = '';
359
+ }
360
+ }]);
361
+ }();
362
+ _FcrUIAnnotationProviderImpl = FcrUIAnnotationProviderImpl;
363
+ var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_FcrUIAnnotationProviderImpl, [[_mobx.observable, 1, "annotationState"], [_mobx.observable, 1, "annotating"], [_mobx.observable, 1, "isShowToolbar"], [_mobx.observable, 1, "currentShareInfo"], [_mobx.computed, 3, "screenShareWindowData"], [_imports.bound, 2, "updateWindowSize"], [_toggleAnnotationDecs, 18, "toggleAnnotation"], [_setIsShowToolbarDecs, 18, "setIsShowToolbar"], [_initAnnotationWindowDecs, 18, "initAnnotationWindow"], [_openAnnotationWindowDecs, 18, "openAnnotationWindow"], [_showAnnotationWindowDecs, 18, "showAnnotationWindow"], [_hideAnnotationWindowDecs, 18, "hideAnnotationWindow"], [_setCurrentShareInfoDecs, 18, "setCurrentShareInfo"], [_imports.bound, 2, "setBoundsToAnnotationWindow"], [_imports.bound, 2, "closeAnnotationWindow"], [_imports.bound, 2, "release"], [_openToolbarDecs, 18, "_openToolbar"], [_closeToolbarDecs, 18, "_closeToolbar"]], []).e, 5);
364
+ _init_annotationState = _applyDecs$e[0];
365
+ _init_annotating = _applyDecs$e[1];
366
+ _init_isShowToolbar = _applyDecs$e[2];
367
+ _init_currentShareInfo = _applyDecs$e[3];
368
+ _initProto = _applyDecs$e[4];
369
+ (0, _base.registerDependency)('annotationProvider');
@@ -11,9 +11,9 @@ export declare abstract class FcrUIBoardControlShareProviderBase implements FcrU
11
11
  private readonly _privilegeProvider;
12
12
  private readonly _boardControl;
13
13
  protected logger: import("agora-foundation/lib/logger").Logger;
14
- private _showLoading;
15
14
  private _roomName;
16
15
  private get _boardMainRoom();
16
+ private accessor _showLoading;
17
17
  accessor currentTheme: Required<WhiteboardThemeType>;
18
18
  accessor sharingUserInfo: FcrUserInfo | undefined;
19
19
  accessor backgroundColor: string;
@@ -39,7 +39,6 @@ require("core-js/modules/es.error.cause.js");
39
39
  require("core-js/modules/es.error.to-string.js");
40
40
  require("core-js/modules/es.array.concat.js");
41
41
  require("core-js/modules/es.array.find.js");
42
- require("core-js/modules/es.array.includes.js");
43
42
  require("core-js/modules/es.array.iterator.js");
44
43
  require("core-js/modules/es.object.to-string.js");
45
44
  require("core-js/modules/es.string.iterator.js");
@@ -63,7 +62,7 @@ var _utils = require("../../../modules/whiteboard/utils");
63
62
  var _toolbar = require("../../../modules/components/toolbar");
64
63
  var _dayjs = _interopRequireDefault(require("dayjs"));
65
64
  var _FcrUIBoardControlShareProviderBase;
66
- var _initProto, _init_currentTheme, _init_sharingUserInfo, _init_backgroundColor, _init_hasWriteBoardPermission, _init_connectionState, _init_joinSuccess, _init_toolbarState, _setControlEnableDecs, _setSharingUserDecs, _setBackgroundColorDecs, _setWhiteboardToolDecs, _setThemeDecs, _setShowLoadingDecs, _setCommonColorsDecs, _setProgressDecs, _setJoinSuccessDecs, _handleDraftSavedDecs, _ref;
65
+ var _initProto, _init__showLoading, _init_currentTheme, _init_sharingUserInfo, _init_backgroundColor, _init_hasWriteBoardPermission, _init_connectionState, _init_joinSuccess, _init_toolbarState, _setControlEnableDecs, _setSharingUserDecs, _setBackgroundColorDecs, _setWhiteboardToolDecs, _setThemeDecs, _setShowLoadingDecs, _setCommonColorsDecs, _setProgressDecs, _setJoinSuccessDecs, _handleDraftSavedDecs, _ref;
67
66
  function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
68
67
  function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
69
68
  function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
@@ -81,6 +80,7 @@ var _D = /*#__PURE__*/new WeakMap();
81
80
  var _E = /*#__PURE__*/new WeakMap();
82
81
  var _F = /*#__PURE__*/new WeakMap();
83
82
  var _G = /*#__PURE__*/new WeakMap();
83
+ var _H = /*#__PURE__*/new WeakMap();
84
84
  _ref = (_setControlEnableDecs = [_mobx.action, _mobx.action.bound], _setSharingUserDecs = [_mobx.action, _mobx.action.bound], _setBackgroundColorDecs = [_mobx.action, _mobx.action.bound], _setWhiteboardToolDecs = [_mobx.action, _mobx.action.bound], _setThemeDecs = [_mobx.action, _mobx.action.bound], _setShowLoadingDecs = [_mobx.action, _mobx.action.bound], _setCommonColorsDecs = [_mobx.action, _mobx.action.bound], _setProgressDecs = [_mobx.action, _mobx.action.bound], _setJoinSuccessDecs = [_mobx.action, _mobx.action.bound], _handleDraftSavedDecs = [_mobx.action, _mobx.action.bound], "logger");
85
85
  var FcrUIBoardControlShareProviderBase = exports.FcrUIBoardControlShareProviderBase = /*#__PURE__*/function () {
86
86
  function FcrUIBoardControlShareProviderBase(_privilegeProvider, _boardControl) {
@@ -88,15 +88,15 @@ var FcrUIBoardControlShareProviderBase = exports.FcrUIBoardControlShareProviderB
88
88
  (0, _defineProperty2["default"])(this, _ref, (_initProto(this), (0, _imports.createLogger)({
89
89
  prefix: 'WhiteboardControlStore'
90
90
  })));
91
- (0, _defineProperty2["default"])(this, "_showLoading", true);
92
91
  (0, _defineProperty2["default"])(this, "_roomName", '');
93
- _classPrivateFieldInitSpec(this, _A, _init_currentTheme(this, (0, _theme["default"])()[0]));
94
- _classPrivateFieldInitSpec(this, _B, _init_sharingUserInfo(this, undefined));
95
- _classPrivateFieldInitSpec(this, _C, _init_backgroundColor(this, '#ffffff'));
96
- _classPrivateFieldInitSpec(this, _D, _init_hasWriteBoardPermission(this, false));
97
- _classPrivateFieldInitSpec(this, _E, _init_connectionState(this, _type.FcrConnectionState.DISCONNECTED));
98
- _classPrivateFieldInitSpec(this, _F, _init_joinSuccess(this, false));
99
- _classPrivateFieldInitSpec(this, _G, _init_toolbarState(this, {
92
+ _classPrivateFieldInitSpec(this, _A, _init__showLoading(this, true));
93
+ _classPrivateFieldInitSpec(this, _B, _init_currentTheme(this, (0, _theme["default"])()[0]));
94
+ _classPrivateFieldInitSpec(this, _C, _init_sharingUserInfo(this, undefined));
95
+ _classPrivateFieldInitSpec(this, _D, _init_backgroundColor(this, '#ffffff'));
96
+ _classPrivateFieldInitSpec(this, _E, _init_hasWriteBoardPermission(this, false));
97
+ _classPrivateFieldInitSpec(this, _F, _init_connectionState(this, _type.FcrConnectionState.DISCONNECTED));
98
+ _classPrivateFieldInitSpec(this, _G, _init_joinSuccess(this, false));
99
+ _classPrivateFieldInitSpec(this, _H, _init_toolbarState(this, {
100
100
  controlEnable: false,
101
101
  currentTool: _enums.FcrBoardToolType.LASER_POINTER,
102
102
  currentStrokeWidth: 2,
@@ -121,7 +121,7 @@ var FcrUIBoardControlShareProviderBase = exports.FcrUIBoardControlShareProviderB
121
121
  return boardMainRoom;
122
122
  }
123
123
  }, {
124
- key: "currentTheme",
124
+ key: "_showLoading",
125
125
  get: function get() {
126
126
  return _classPrivateFieldGet(_A, this);
127
127
  },
@@ -129,7 +129,7 @@ var FcrUIBoardControlShareProviderBase = exports.FcrUIBoardControlShareProviderB
129
129
  _classPrivateFieldSet(_A, this, v);
130
130
  }
131
131
  }, {
132
- key: "sharingUserInfo",
132
+ key: "currentTheme",
133
133
  get: function get() {
134
134
  return _classPrivateFieldGet(_B, this);
135
135
  },
@@ -137,7 +137,7 @@ var FcrUIBoardControlShareProviderBase = exports.FcrUIBoardControlShareProviderB
137
137
  _classPrivateFieldSet(_B, this, v);
138
138
  }
139
139
  }, {
140
- key: "backgroundColor",
140
+ key: "sharingUserInfo",
141
141
  get: function get() {
142
142
  return _classPrivateFieldGet(_C, this);
143
143
  },
@@ -145,7 +145,7 @@ var FcrUIBoardControlShareProviderBase = exports.FcrUIBoardControlShareProviderB
145
145
  _classPrivateFieldSet(_C, this, v);
146
146
  }
147
147
  }, {
148
- key: "hasWriteBoardPermission",
148
+ key: "backgroundColor",
149
149
  get: function get() {
150
150
  return _classPrivateFieldGet(_D, this);
151
151
  },
@@ -153,7 +153,7 @@ var FcrUIBoardControlShareProviderBase = exports.FcrUIBoardControlShareProviderB
153
153
  _classPrivateFieldSet(_D, this, v);
154
154
  }
155
155
  }, {
156
- key: "connectionState",
156
+ key: "hasWriteBoardPermission",
157
157
  get: function get() {
158
158
  return _classPrivateFieldGet(_E, this);
159
159
  },
@@ -161,7 +161,7 @@ var FcrUIBoardControlShareProviderBase = exports.FcrUIBoardControlShareProviderB
161
161
  _classPrivateFieldSet(_E, this, v);
162
162
  }
163
163
  }, {
164
- key: "joinSuccess",
164
+ key: "connectionState",
165
165
  get: function get() {
166
166
  return _classPrivateFieldGet(_F, this);
167
167
  },
@@ -169,17 +169,25 @@ var FcrUIBoardControlShareProviderBase = exports.FcrUIBoardControlShareProviderB
169
169
  _classPrivateFieldSet(_F, this, v);
170
170
  }
171
171
  }, {
172
- key: "toolbarState",
172
+ key: "joinSuccess",
173
173
  get: function get() {
174
174
  return _classPrivateFieldGet(_G, this);
175
175
  },
176
176
  set: function set(v) {
177
177
  _classPrivateFieldSet(_G, this, v);
178
178
  }
179
+ }, {
180
+ key: "toolbarState",
181
+ get: function get() {
182
+ return _classPrivateFieldGet(_H, this);
183
+ },
184
+ set: function set(v) {
185
+ _classPrivateFieldSet(_H, this, v);
186
+ }
179
187
  }, {
180
188
  key: "showLoading",
181
189
  get: function get() {
182
- return [_type.FcrConnectionState.CONNECTING, _type.FcrConnectionState.RECONNECTING].includes(this.connectionState) && this._showLoading;
190
+ return this._showLoading;
183
191
  }
184
192
  }, {
185
193
  key: "canWriteBoard",
@@ -293,14 +301,15 @@ var FcrUIBoardControlShareProviderBase = exports.FcrUIBoardControlShareProviderB
293
301
  }]);
294
302
  }();
295
303
  _FcrUIBoardControlShareProviderBase = FcrUIBoardControlShareProviderBase;
296
- var _applyDecs$e = _applyDecs(_FcrUIBoardControlShareProviderBase, [[_mobx.observable, 1, "currentTheme"], [_mobx.observable, 1, "sharingUserInfo"], [_mobx.observable, 1, "backgroundColor"], [_mobx.observable, 1, "hasWriteBoardPermission"], [_mobx.observable, 1, "connectionState"], [_mobx.observable, 1, "joinSuccess"], [_mobx.observable, 1, "toolbarState"], [_mobx.computed, 3, "canWriteBoard"], [_setControlEnableDecs, 18, "setControlEnable"], [_setSharingUserDecs, 18, "setSharingUser"], [_setBackgroundColorDecs, 18, "setBackgroundColor"], [_setWhiteboardToolDecs, 18, "setWhiteboardTool"], [_setThemeDecs, 18, "setTheme"], [_setShowLoadingDecs, 18, "setShowLoading"], [_setCommonColorsDecs, 18, "setCommonColors"], [_imports.bound, 2, "saveDraft"], [_setProgressDecs, 18, "setProgress"], [_setJoinSuccessDecs, 18, "setJoinSuccess"], [_imports.bound, 2, "resetWhiteboardTool"], [_handleDraftSavedDecs, 18, "_handleDraftSaved"]], []).e;
297
- var _applyDecs$e2 = (0, _slicedToArray2["default"])(_applyDecs$e, 8);
298
- _init_currentTheme = _applyDecs$e2[0];
299
- _init_sharingUserInfo = _applyDecs$e2[1];
300
- _init_backgroundColor = _applyDecs$e2[2];
301
- _init_hasWriteBoardPermission = _applyDecs$e2[3];
302
- _init_connectionState = _applyDecs$e2[4];
303
- _init_joinSuccess = _applyDecs$e2[5];
304
- _init_toolbarState = _applyDecs$e2[6];
305
- _initProto = _applyDecs$e2[7];
304
+ var _applyDecs$e = _applyDecs(_FcrUIBoardControlShareProviderBase, [[_mobx.observable, 1, "_showLoading"], [_mobx.observable, 1, "currentTheme"], [_mobx.observable, 1, "sharingUserInfo"], [_mobx.observable, 1, "backgroundColor"], [_mobx.observable, 1, "hasWriteBoardPermission"], [_mobx.observable, 1, "connectionState"], [_mobx.observable, 1, "joinSuccess"], [_mobx.observable, 1, "toolbarState"], [_mobx.computed, 3, "canWriteBoard"], [_setControlEnableDecs, 18, "setControlEnable"], [_setSharingUserDecs, 18, "setSharingUser"], [_setBackgroundColorDecs, 18, "setBackgroundColor"], [_setWhiteboardToolDecs, 18, "setWhiteboardTool"], [_setThemeDecs, 18, "setTheme"], [_setShowLoadingDecs, 18, "setShowLoading"], [_setCommonColorsDecs, 18, "setCommonColors"], [_imports.bound, 2, "saveDraft"], [_setProgressDecs, 18, "setProgress"], [_setJoinSuccessDecs, 18, "setJoinSuccess"], [_imports.bound, 2, "resetWhiteboardTool"], [_handleDraftSavedDecs, 18, "_handleDraftSaved"]], []).e;
305
+ var _applyDecs$e2 = (0, _slicedToArray2["default"])(_applyDecs$e, 9);
306
+ _init__showLoading = _applyDecs$e2[0];
307
+ _init_currentTheme = _applyDecs$e2[1];
308
+ _init_sharingUserInfo = _applyDecs$e2[2];
309
+ _init_backgroundColor = _applyDecs$e2[3];
310
+ _init_hasWriteBoardPermission = _applyDecs$e2[4];
311
+ _init_connectionState = _applyDecs$e2[5];
312
+ _init_joinSuccess = _applyDecs$e2[6];
313
+ _init_toolbarState = _applyDecs$e2[7];
314
+ _initProto = _applyDecs$e2[8];
306
315
  _applyDecs$e;
@@ -8,8 +8,8 @@ import { FcrUIBoardControlShareProviderBase } from './base';
8
8
  export declare class FcrUIBoardControlShareProviderImpl extends FcrUIBoardControlShareProviderBase {
9
9
  private readonly _fcrUIMainWindowRenderer;
10
10
  protected logger: import("agora-foundation/lib/logger").Logger;
11
- private _mainWindowRenderer;
12
11
  private _disposers;
12
+ private _isDualDisplayMode;
13
13
  private _toolbarStateObserver;
14
14
  get toolbarStateObserver(): FcrUIMainWindowRendererObserver;
15
15
  constructor(privilegeProvider: FcrUIPrivilegeProvider, boardControl: FcrPrivilegedWhiteboardControl, _fcrUIMainWindowRenderer: FcrUIMainWindowRenderer);
@@ -80,6 +80,7 @@ var FcrUIBoardControlShareProviderImpl = exports.FcrUIBoardControlShareProviderI
80
80
  prefix: 'WhiteboardControlStore'
81
81
  })));
82
82
  (0, _defineProperty2["default"])(_this, "_disposers", []);
83
+ (0, _defineProperty2["default"])(_this, "_isDualDisplayMode", false);
83
84
  (0, _defineProperty2["default"])(_this, "_toolbarStateObserver", {
84
85
  onUndoStepsUpdated: function onUndoStepsUpdated(steps) {
85
86
  _this.toolbarState.undoSteps = steps;
@@ -113,32 +114,32 @@ var FcrUIBoardControlShareProviderImpl = exports.FcrUIBoardControlShareProviderI
113
114
  key: "setBackgroundColor",
114
115
  value: function setBackgroundColor(color) {
115
116
  _superPropGet(FcrUIBoardControlShareProviderImpl, "setBackgroundColor", this, 3)([color]);
116
- if (this._mainWindowRenderer) {
117
- this._mainWindowRenderer.notifyObservers('onBackgroundColorUpdated', color);
117
+ if (this._isDualDisplayMode) {
118
+ this._fcrUIMainWindowRenderer.notifyObservers('onBackgroundColorUpdated', color);
118
119
  }
119
120
  }
120
121
  }, {
121
122
  key: "setWhiteboardTool",
122
123
  value: function setWhiteboardTool(tool) {
123
124
  this.logger.info("[shared-whiteboard-data-source]: setWhiteboardTool ".concat(tool));
124
- if (this._mainWindowRenderer) {
125
- this._mainWindowRenderer.notifyObservers('onWhiteboardToolSelected', tool);
125
+ if (this._isDualDisplayMode) {
126
+ this._fcrUIMainWindowRenderer.notifyObservers('onWhiteboardToolSelected', tool);
126
127
  }
127
128
  _superPropGet(FcrUIBoardControlShareProviderImpl, "setWhiteboardTool", this, 3)([tool]);
128
129
  }
129
130
  }, {
130
131
  key: "setTheme",
131
132
  value: function setTheme(theme) {
132
- if (this._mainWindowRenderer) {
133
- this._mainWindowRenderer.notifyObservers('onBackgroundColorUpdated', theme.background);
133
+ if (this._isDualDisplayMode) {
134
+ this._fcrUIMainWindowRenderer.notifyObservers('onBackgroundColorUpdated', theme.background);
134
135
  }
135
136
  _superPropGet(FcrUIBoardControlShareProviderImpl, "setTheme", this, 3)([theme]);
136
137
  }
137
138
  }, {
138
139
  key: "saveDraft",
139
140
  value: function saveDraft() {
140
- if (this._mainWindowRenderer) {
141
- this._mainWindowRenderer.notifyObservers('onSaveDraft');
141
+ if (this._isDualDisplayMode) {
142
+ this._fcrUIMainWindowRenderer.notifyObservers('onSaveDraft');
142
143
  } else {
143
144
  _superPropGet(FcrUIBoardControlShareProviderImpl, "saveDraft", this, 3)([]);
144
145
  }
@@ -146,15 +147,15 @@ var FcrUIBoardControlShareProviderImpl = exports.FcrUIBoardControlShareProviderI
146
147
  }, {
147
148
  key: "inActive",
148
149
  value: function inActive() {
149
- if (this._mainWindowRenderer) {
150
- this._mainWindowRenderer.notifyObservers('onWhiteboardInActive');
150
+ if (this._isDualDisplayMode) {
151
+ this._fcrUIMainWindowRenderer.notifyObservers('onWhiteboardInActive');
151
152
  }
152
153
  }
153
154
  }, {
154
155
  key: "release",
155
156
  value: function release() {
156
- if (this._mainWindowRenderer) {
157
- this._mainWindowRenderer.removeObserver(this._toolbarStateObserver);
157
+ if (this._isDualDisplayMode) {
158
+ this._fcrUIMainWindowRenderer.removeObserver(this._toolbarStateObserver);
158
159
  }
159
160
  _superPropGet(FcrUIBoardControlShareProviderImpl, "release", this, 3)([]);
160
161
  }
@@ -162,16 +163,18 @@ var FcrUIBoardControlShareProviderImpl = exports.FcrUIBoardControlShareProviderI
162
163
  key: "setIsDualDisplayMode",
163
164
  value: function setIsDualDisplayMode(isDualDisplayMode) {
164
165
  var _this2 = this;
166
+ this._isDualDisplayMode = isDualDisplayMode;
165
167
  if (isDualDisplayMode) {
166
- this._mainWindowRenderer = this._fcrUIMainWindowRenderer;
168
+ this._fcrUIMainWindowRenderer.addObserver(this._toolbarStateObserver);
167
169
  this._disposers.push((0, _mobx.reaction)(function () {
168
170
  return _this2.canWriteBoard;
169
171
  }, function (canWrite) {
170
- var _this2$_mainWindowRen;
171
- (_this2$_mainWindowRen = _this2._mainWindowRenderer) === null || _this2$_mainWindowRen === void 0 || _this2$_mainWindowRen.notifyObservers('onPermissionUpdated', canWrite);
172
+ _this2._fcrUIMainWindowRenderer.notifyObservers('onPermissionUpdated', canWrite);
172
173
  }));
173
174
  } else {
174
- this._mainWindowRenderer = undefined;
175
+ this.setShowLoading(true);
176
+ this.setJoinSuccess(false);
177
+ this._fcrUIMainWindowRenderer.removeObserver(this._toolbarStateObserver);
175
178
  this._disposers.forEach(function (disposer) {
176
179
  return disposer();
177
180
  });