fcr-ui-scene 3.6.1 → 3.6.3

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 (257) hide show
  1. package/lib/creator.d.ts +6 -0
  2. package/lib/creator.js +125 -24
  3. package/lib/electron/app.js +5 -4
  4. package/lib/electron/bootstrap-dev.js +3 -0
  5. package/lib/electron/bootstrap-sdk.js +4 -0
  6. package/lib/electron/injections.d.ts +5 -0
  7. package/lib/electron/injections.js +36 -8
  8. package/lib/electron/ipc/ipc.d.ts +1 -0
  9. package/lib/electron/ipc/ipc.js +4 -0
  10. package/lib/electron/main.js +16 -8
  11. package/lib/electron/plugins/screenshot.js +4 -2
  12. package/lib/electron/preload.js +7 -2
  13. package/lib/electron/window.js +4 -6
  14. package/lib/fragments/annotation/index.d.ts +11 -0
  15. package/lib/fragments/annotation/index.js +121 -0
  16. package/lib/fragments/annotation/libs.d.ts +55 -0
  17. package/lib/fragments/annotation/libs.js +93 -0
  18. package/lib/fragments/annotation/store.d.ts +30 -0
  19. package/lib/fragments/annotation/store.js +565 -0
  20. package/lib/fragments/annotation/view.d.ts +3 -0
  21. package/lib/fragments/annotation/view.js +31 -0
  22. package/lib/fragments/base.d.ts +10 -0
  23. package/lib/fragments/base.js +44 -0
  24. package/lib/modules/action-bar/components/screen-share/submenu.js +7 -6
  25. package/lib/modules/action-bar/index.css +11 -0
  26. package/lib/modules/action-bar/index.d.ts +2 -0
  27. package/lib/modules/action-bar/index.js +1 -0
  28. package/lib/modules/action-bar/store.d.ts +7 -9
  29. package/lib/modules/action-bar/store.js +49 -90
  30. package/lib/modules/annotation/board-cursor.css +76 -0
  31. package/lib/modules/annotation/components/control-bar/index.css +48 -0
  32. package/lib/modules/annotation/components/control-bar/index.d.ts +3 -0
  33. package/lib/modules/annotation/components/control-bar/index.js +141 -0
  34. package/lib/modules/annotation/components/toolbar/components/color-tool/color-panel/index.d.ts +3 -0
  35. package/lib/modules/annotation/components/toolbar/components/color-tool/color-panel/index.js +46 -0
  36. package/lib/modules/annotation/components/toolbar/components/color-tool/index.d.ts +1 -0
  37. package/lib/modules/annotation/components/toolbar/components/color-tool/index.js +52 -0
  38. package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/index.d.ts +3 -0
  39. package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/index.js +61 -0
  40. package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/libs.d.ts +12 -0
  41. package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/libs.js +65 -0
  42. package/lib/modules/annotation/components/toolbar/components/graphic-tool/index.d.ts +1 -0
  43. package/lib/modules/annotation/components/toolbar/components/graphic-tool/index.js +68 -0
  44. package/lib/modules/annotation/components/toolbar/components/item/item.d.ts +18 -0
  45. package/lib/modules/annotation/components/toolbar/components/item/item.js +116 -0
  46. package/lib/modules/annotation/components/toolbar/components/item/style.css +43 -0
  47. package/lib/modules/annotation/components/toolbar/components/panel/index.d.ts +5 -0
  48. package/lib/modules/annotation/components/toolbar/components/panel/index.js +22 -0
  49. package/lib/modules/annotation/components/toolbar/components/panel/style.css +24 -0
  50. package/lib/modules/annotation/components/toolbar/components/pen-tool/index.d.ts +1 -0
  51. package/lib/modules/annotation/components/toolbar/components/pen-tool/index.js +58 -0
  52. package/lib/modules/annotation/components/toolbar/components/pen-tool/pen-panel/index.d.ts +3 -0
  53. package/lib/modules/annotation/components/toolbar/components/pen-tool/pen-panel/index.js +34 -0
  54. package/lib/modules/annotation/components/toolbar/components/tips/index.d.ts +2 -0
  55. package/lib/modules/annotation/components/toolbar/components/tips/index.js +25 -0
  56. package/lib/modules/annotation/components/toolbar/components/tips/style.css +19 -0
  57. package/lib/modules/annotation/components/toolbar/index.d.ts +0 -0
  58. package/lib/modules/annotation/components/toolbar/index.js +1 -0
  59. package/lib/modules/annotation/components/toolbar/store.d.ts +40 -0
  60. package/lib/modules/annotation/components/toolbar/store.js +279 -0
  61. package/lib/modules/annotation/components/toolbar/style.css +55 -0
  62. package/lib/modules/annotation/components/toolbar/view.d.ts +2 -0
  63. package/lib/modules/annotation/components/toolbar/view.js +120 -0
  64. package/lib/modules/annotation/index.d.ts +38 -0
  65. package/lib/modules/annotation/index.js +169 -0
  66. package/lib/modules/annotation/store.d.ts +93 -0
  67. package/lib/modules/annotation/store.js +673 -0
  68. package/lib/modules/annotation/style.css +26 -0
  69. package/lib/modules/annotation/view.d.ts +3 -0
  70. package/lib/modules/annotation/view.js +49 -0
  71. package/lib/modules/chat/view.js +112 -100
  72. package/lib/modules/components/annotation-menu/index.d.ts +7 -0
  73. package/lib/modules/components/annotation-menu/index.js +119 -0
  74. package/lib/modules/components/leave-meeting/components/assign-host.js +26 -23
  75. package/lib/modules/components/member-window/components/member-actions/components/audio-control.d.ts +0 -1
  76. package/lib/modules/components/member-window/components/member-actions/components/audio-control.js +10 -4
  77. package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.d.ts +4 -2
  78. package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.js +10 -6
  79. package/lib/modules/components/member-window/components/member-actions/components/icon-status.d.ts +0 -2
  80. package/lib/modules/components/member-window/components/member-actions/components/icon-status.js +3 -4
  81. package/lib/modules/components/member-window/components/member-actions/components/more-actions.d.ts +0 -3
  82. package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +6 -32
  83. package/lib/modules/components/member-window/components/member-actions/components/share-status.js +11 -3
  84. package/lib/modules/components/member-window/components/member-actions/components/user-info.d.ts +0 -1
  85. package/lib/modules/components/member-window/components/member-actions/components/user-info.js +7 -10
  86. package/lib/modules/components/member-window/components/member-actions/components/user-tag.d.ts +0 -1
  87. package/lib/modules/components/member-window/components/member-actions/components/user-tag.js +0 -2
  88. package/lib/modules/components/member-window/components/member-actions/index.js +1 -32
  89. package/lib/modules/components/member-window/components/member-actions/store.d.ts +38 -1
  90. package/lib/modules/components/member-window/components/member-actions/store.js +130 -23
  91. package/lib/modules/components/member-window/components/video-player/components/remote-video-player.d.ts +2 -1
  92. package/lib/modules/components/member-window/components/video-player/components/remote-video-player.js +6 -1
  93. package/lib/modules/components/member-window/components/video-player/index.d.ts +1 -0
  94. package/lib/modules/components/member-window/index.css +37 -0
  95. package/lib/modules/components/member-window/index.d.ts +1 -1
  96. package/lib/modules/components/member-window/index.js +8 -5
  97. package/lib/modules/components/member-window/types.d.ts +2 -0
  98. package/lib/modules/components/security-menu/index.js +7 -6
  99. package/lib/modules/control-bar/components/annotation-button/index.d.ts +1 -0
  100. package/lib/modules/control-bar/components/annotation-button/index.js +59 -0
  101. package/lib/modules/control-bar/index.d.ts +6 -6
  102. package/lib/modules/control-bar/index.js +5 -34
  103. package/lib/modules/control-bar/store.d.ts +27 -13
  104. package/lib/modules/control-bar/store.js +121 -126
  105. package/lib/modules/control-bar/view.js +50 -4
  106. package/lib/modules/dialog/components/annotation-tool/index.d.ts +4 -0
  107. package/lib/modules/dialog/components/annotation-tool/index.js +53 -0
  108. package/lib/modules/dialog/components/chat/index.js +1 -1
  109. package/lib/modules/dialog/components/control-bar/index.d.ts +0 -2
  110. package/lib/modules/dialog/components/control-bar/index.js +1 -3
  111. package/lib/modules/dialog/components/host-area-container/index.d.ts +12 -0
  112. package/lib/modules/dialog/components/host-area-container/index.js +214 -0
  113. package/lib/modules/dialog/components/participant/index.js +1 -1
  114. package/lib/modules/dialog/components/system-preference/index.js +1 -1
  115. package/lib/modules/dialog/components/video-window/index.js +1 -0
  116. package/lib/modules/dialog/hooks/use-popover-watcher.d.ts +14 -0
  117. package/lib/modules/dialog/hooks/use-popover-watcher.js +112 -0
  118. package/lib/modules/dialog/hooks/useElectron.d.ts +1 -0
  119. package/lib/modules/dialog/hooks/useElectron.js +13 -3
  120. package/lib/modules/dialog/index.d.ts +2 -3
  121. package/lib/modules/dialog/index.js +3 -26
  122. package/lib/modules/dialog/store.d.ts +14 -9
  123. package/lib/modules/dialog/store.js +56 -50
  124. package/lib/modules/event-confirm/components/window/index.d.ts +7 -0
  125. package/lib/modules/event-confirm/components/window/index.js +188 -0
  126. package/lib/modules/event-confirm/index.d.ts +4 -4
  127. package/lib/modules/event-confirm/index.js +6 -4
  128. package/lib/modules/event-confirm/store.d.ts +4 -5
  129. package/lib/modules/event-confirm/store.js +35 -26
  130. package/lib/modules/event-confirm/view.js +23 -171
  131. package/lib/modules/event-sound/index.js +1 -1
  132. package/lib/modules/layout/components/CommonVideoRenderer.js +33 -16
  133. package/lib/modules/layout/index.d.ts +4 -0
  134. package/lib/modules/layout/index.js +2 -0
  135. package/lib/modules/layout/store.d.ts +14 -2
  136. package/lib/modules/layout/store.js +77 -45
  137. package/lib/modules/layout/type.d.ts +7 -0
  138. package/lib/modules/participant/index.d.ts +2 -0
  139. package/lib/modules/participant/index.js +2 -1
  140. package/lib/modules/participant/store.d.ts +5 -2
  141. package/lib/modules/participant/store.js +73 -25
  142. package/lib/modules/setting/audio-settings/audio-settings.js +3 -14
  143. package/lib/modules/setting/index.d.ts +2 -0
  144. package/lib/modules/setting/index.js +3 -3
  145. package/lib/modules/setting/store.d.ts +8 -10
  146. package/lib/modules/setting/store.js +22 -20
  147. package/lib/modules/share-screen/components/selection/index.js +18 -42
  148. package/lib/modules/share-screen/index.d.ts +6 -2
  149. package/lib/modules/share-screen/index.js +4 -2
  150. package/lib/modules/share-screen/store.d.ts +41 -46
  151. package/lib/modules/share-screen/store.js +297 -718
  152. package/lib/modules/share-screen/view.js +2 -2
  153. package/lib/modules/state-bar/assets/fcr_grid_big.svg +1 -1
  154. package/lib/modules/state-bar/assets/fcr_listontop_big.svg +1 -1
  155. package/lib/modules/state-bar/index.css +8 -6
  156. package/lib/modules/state-bar/index.d.ts +4 -0
  157. package/lib/modules/state-bar/index.js +3 -1
  158. package/lib/modules/state-bar/layout-config.d.ts +1 -0
  159. package/lib/modules/state-bar/layout-config.js +15 -5
  160. package/lib/modules/state-bar/store.d.ts +9 -1
  161. package/lib/modules/state-bar/store.js +17 -2
  162. package/lib/modules/state-bar/view.js +9 -4
  163. package/lib/modules/video-window/components/members/index.js +2 -1
  164. package/lib/modules/waiting-room-layout/store.js +1 -1
  165. package/lib/modules/whiteboard/components/control-bar/store.d.ts +5 -1
  166. package/lib/modules/whiteboard/components/control-bar/store.js +10 -1
  167. package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/picker.js +16 -5
  168. package/lib/modules/whiteboard/components/toolbar/components/eraser-picker.js +67 -12
  169. package/lib/modules/whiteboard/components/toolbar/components/expansion/index.js +22 -2
  170. package/lib/modules/whiteboard/components/toolbar/components/history.js +46 -14
  171. package/lib/modules/whiteboard/components/toolbar/components/item/index.js +3 -2
  172. package/lib/modules/whiteboard/components/toolbar/components/move-handle.js +1 -1
  173. package/lib/modules/whiteboard/components/toolbar/components/pen-picker.js +58 -16
  174. package/lib/modules/whiteboard/components/toolbar/components/screen-capture-picker.js +15 -4
  175. package/lib/modules/whiteboard/components/toolbar/components/shape-picker.js +45 -2
  176. package/lib/modules/whiteboard/components/toolbar/hooks/index.d.ts +14 -0
  177. package/lib/modules/whiteboard/components/toolbar/hooks/index.js +235 -7
  178. package/lib/modules/whiteboard/components/toolbar/index.d.ts +1 -1
  179. package/lib/modules/whiteboard/components/toolbar/index.js +1 -1
  180. package/lib/modules/whiteboard/components/toolbar/store.d.ts +13 -2
  181. package/lib/modules/whiteboard/components/toolbar/store.js +74 -24
  182. package/lib/modules/whiteboard/components/toolbar/{ style.css → style.css} +1 -0
  183. package/lib/modules/whiteboard/index.d.ts +2 -0
  184. package/lib/modules/whiteboard/index.js +22 -21
  185. package/lib/modules/whiteboard/style.css +0 -4
  186. package/lib/modules/whiteboard/view.js +8 -2
  187. package/lib/plugins/browser-runtime-plugin.js +10 -1
  188. package/lib/providers/annotation-provider.d.ts +128 -0
  189. package/lib/providers/annotation-provider.js +421 -0
  190. package/lib/providers/device-provider.d.ts +3 -3
  191. package/lib/providers/device-provider.js +8 -6
  192. package/lib/providers/event-provider.d.ts +3 -3
  193. package/lib/providers/interpreter-provider.d.ts +1 -0
  194. package/lib/providers/interpreter-provider.js +182 -154
  195. package/lib/providers/privilege-provider.d.ts +35 -6
  196. package/lib/providers/privilege-provider.js +105 -49
  197. package/lib/providers/renderer-provider.js +3 -7
  198. package/lib/providers/room-provider.d.ts +13 -1
  199. package/lib/providers/room-provider.js +21 -7
  200. package/lib/providers/screen-share-provider.d.ts +131 -34
  201. package/lib/providers/screen-share-provider.js +554 -173
  202. package/lib/providers/sharing-provider.d.ts +37 -0
  203. package/lib/{shared-data-source/screen-share-data-source.js → providers/sharing-provider.js} +102 -39
  204. package/lib/providers/user-setting-storage-provider.d.ts +20 -0
  205. package/lib/providers/user-setting-storage-provider.js +74 -0
  206. package/lib/runtime.d.ts +6 -1
  207. package/lib/scenes/main-scene.d.ts +7 -2
  208. package/lib/scenes/main-scene.js +55 -27
  209. package/lib/scenes/waiting-scene.d.ts +6 -0
  210. package/lib/scenes/waiting-scene.js +15 -5
  211. package/lib/shared-data-source/config.d.ts +1 -5
  212. package/lib/shared-data-source/config.js +11 -81
  213. package/lib/shared-data-source/member-data.d.ts +21 -5
  214. package/lib/shared-data-source/member-data.js +69 -17
  215. package/lib/shared-data-source/screen-share-data.d.ts +274 -0
  216. package/lib/shared-data-source/screen-share-data.js +390 -0
  217. package/lib/shared-data-source/security-data.d.ts +4 -1
  218. package/lib/shared-data-source/security-data.js +5 -2
  219. package/lib/shared-data-source/setting.d.ts +13 -13
  220. package/lib/shared-data-source/setting.js +16 -10
  221. package/lib/shared-data-source/video-window.d.ts +2 -1
  222. package/lib/shared-data-source/video-window.js +56 -36
  223. package/lib/translations/enUS.d.ts +8 -0
  224. package/lib/translations/enUS.js +9 -1
  225. package/lib/translations/zhCN.d.ts +8 -0
  226. package/lib/translations/zhCN.js +11 -3
  227. package/lib/type.d.ts +55 -1
  228. package/lib/ui-manager.d.ts +3 -2
  229. package/lib/ui-manager.js +6 -4
  230. package/lib/ui-scene.js +70 -50
  231. package/lib/utilities/constant.d.ts +10 -2
  232. package/lib/utilities/constant.js +8 -0
  233. package/lib/utilities/logger.d.ts +4 -0
  234. package/lib/utilities/logger.js +8 -1
  235. package/lib/utilities/renderer-event.d.ts +3 -0
  236. package/lib/utilities/renderer-event.js +14 -1
  237. package/lib/utilities/screen.js +2 -1
  238. package/lib/utilities/setting-config-storage.d.ts +5 -6
  239. package/lib/utilities/setting-config-storage.js +33 -39
  240. package/lib/utilities/tools.d.ts +19 -1
  241. package/lib/utilities/tools.js +51 -4
  242. package/package.json +9 -7
  243. package/public/assets/cursors/fcr_whiteboard_input.ico +0 -0
  244. package/public/assets/cursors/fcr_whiteboard_pen.ico +0 -0
  245. package/public/assets/cursors/fcr_whiteboard_shape_-straightline.ico +0 -0
  246. package/public/assets/cursors/fcr_whiteboard_shape_arrow.ico +0 -0
  247. package/public/assets/cursors/fcr_whiteboard_shape_circle.ico +0 -0
  248. package/public/assets/cursors/fcr_whiteboard_shape_rectangle.ico +0 -0
  249. package/public/assets/cursors/fcr_whiteboard_shape_triangle.ico +0 -0
  250. package/public/assets/fcr_chat_reddot.svg +3 -3
  251. package/public/assets/fcr_grid_big.svg +1 -1
  252. package/public/assets/fcr_leave2.svg +14 -14
  253. package/public/assets/fcr_listontop_big.svg +1 -1
  254. package/public/assets/step-gradient.svg +1 -1
  255. package/public/fragment.html +10 -0
  256. package/public/index.html +3 -1
  257. package/lib/shared-data-source/screen-share-data-source.d.ts +0 -37
@@ -3,6 +3,7 @@ import { FcrUserRole, FcrUserInfo, FcrLineType } from 'fcr-core/lib/type';
3
3
  import { FcrSharePermissionState } from 'fcr-core/lib/room-control/whiteboard-control/enums';
4
4
  import { FcrPermissionInfo, FcrPrivilegeUserRole, FcrSecurityInfo, FcrSecurityInfoUpdatedEvent, FcrSecuritySendChatPayload } from 'fcr-core/lib/room-control/privilege-control/type';
5
5
  import { FcrUISecuritySendChatOriginalPayload } from '../type';
6
+ import { FcrUIEventProvider } from './event-provider';
6
7
  export interface FcrUIPrivilegeProviderObserver {
7
8
  /**
8
9
  * 安全信息变更
@@ -91,9 +92,13 @@ export interface FcrUIPrivilegeProvider {
91
92
  */
92
93
  allowScreenShareAndBoard(): boolean;
93
94
  /**
94
- * 是否允许在白板上书写
95
+ * @state {checkbox} 是否允许在白板上书写
96
+ */
97
+ allowBoardWriteState(): boolean;
98
+ /**
99
+ * @state {checkbox} 是否允许标注书写
95
100
  */
96
- allowBoardWrite(): boolean;
101
+ allowAnnotationWriteState(): boolean;
97
102
  /**
98
103
  * 是否允许用户自行开启视频
99
104
  */
@@ -295,6 +300,14 @@ export interface FcrUIPrivilegeProvider {
295
300
  * 是否允许在白板上书写
296
301
  */
297
302
  hasWriteBoardPermission(): boolean;
303
+ /**
304
+ * 是否允许标注
305
+ */
306
+ hasAnnotationStartPermission(): boolean;
307
+ /**
308
+ * 是否允许标注
309
+ */
310
+ hasAnnotationAllowWritePermission(): boolean;
298
311
  /**
299
312
  * 是否允许开启白板操作(仅限于允许他人开启)
300
313
  */
@@ -315,6 +328,10 @@ export interface FcrUIPrivilegeProvider {
315
328
  * 是否同时拥有屏幕共享和白板操作的权限
316
329
  */
317
330
  hasAllowScreenShareAndBoardPermission(): boolean;
331
+ /**
332
+ * 是否拥有标注的写权限
333
+ */
334
+ hasAnnotationWritePermission(): boolean;
318
335
  /**
319
336
  * 是否允许开启水印
320
337
  */
@@ -350,12 +367,17 @@ export interface FcrUIPrivilegeProvider {
350
367
  * 设置是否允许屏幕共享
351
368
  * @param state 共享状态
352
369
  */
353
- allowShare(state: FcrSharePermissionState): void;
370
+ allowShareAndWrite(state: FcrSharePermissionState): void;
354
371
  /**
355
372
  * 设置是否允许白板书写
356
373
  * @param state 是否允许书写或传入状态
357
374
  */
358
375
  setAllowWriteBoard(state: FcrSharePermissionState | boolean): void;
376
+ /**
377
+ * 设置是否允许标注
378
+ * @param state 是否允许标注或传入状态
379
+ */
380
+ setAllowAnnotation(state: FcrSharePermissionState | boolean): void;
359
381
  /**
360
382
  * 设置是否允许白板书写是单行/多行
361
383
  * @param state
@@ -448,6 +470,7 @@ export declare class FcrUIPrivilegeProviderImpl implements FcrUIPrivilegeProvide
448
470
  private _privilegeControl;
449
471
  private _userControl;
450
472
  private _streamControl;
473
+ private _eventProvider;
451
474
  protected logger: import("agora-foundation/lib/logger").Logger;
452
475
  private _disposers;
453
476
  private _localUser;
@@ -459,7 +482,7 @@ export declare class FcrUIPrivilegeProviderImpl implements FcrUIPrivilegeProvide
459
482
  accessor permissionInfos: FcrPermissionInfo[];
460
483
  accessor privilegeOperator: FcrUserInfo | undefined;
461
484
  get hasSecurityPermission(): boolean;
462
- constructor(_privilegeControl: FcrPrivilegeControl, _userControl: FcrUserControl, _streamControl: FcrStreamControl);
485
+ constructor(_privilegeControl: FcrPrivilegeControl, _userControl: FcrUserControl, _streamControl: FcrStreamControl, _eventProvider: FcrUIEventProvider);
463
486
  addObserver(observer: FcrUIPrivilegeProviderObserver): void;
464
487
  removeObserver(observer: FcrUIPrivilegeProviderObserver): void;
465
488
  printAllPermissions(): void;
@@ -476,7 +499,8 @@ export declare class FcrUIPrivilegeProviderImpl implements FcrUIPrivilegeProvide
476
499
  allowJoinWithMuteAudio: () => boolean;
477
500
  allowShareScreen: () => boolean;
478
501
  allowScreenShareAndBoard: () => boolean;
479
- allowBoardWrite: () => boolean;
502
+ allowBoardWriteState: () => boolean;
503
+ allowAnnotationWriteState: () => boolean;
480
504
  allowUnmuteSelfVideo: () => boolean;
481
505
  allowUnmuteSelfAudio: () => boolean;
482
506
  isLockRoomEnabled: () => boolean;
@@ -524,6 +548,9 @@ export declare class FcrUIPrivilegeProviderImpl implements FcrUIPrivilegeProvide
524
548
  hasStartBoardPermission: () => boolean;
525
549
  hasCloseBoardPermission: (targerRole: FcrPrivilegeUserRole | FcrUserRole) => boolean;
526
550
  hasWriteBoardPermission: () => boolean;
551
+ hasAnnotationStartPermission: () => boolean;
552
+ hasAnnotationAllowWritePermission: () => boolean;
553
+ hasAnnotationWritePermission: () => boolean;
527
554
  hasAllowStartBoardPermission: () => boolean;
528
555
  hasDisallowStartBoardPermission: () => boolean;
529
556
  hasAllowWriteBoardPermission: () => boolean;
@@ -537,7 +564,8 @@ export declare class FcrUIPrivilegeProviderImpl implements FcrUIPrivilegeProvide
537
564
  hasChangeNamePermission: (targetRole: FcrPrivilegeUserRole | FcrUserRole) => boolean;
538
565
  isMulti: () => boolean;
539
566
  getAllowedOperations: (targetUserRole: FcrUserRole, isSelf: boolean) => string[];
540
- allowShare: (state: FcrSharePermissionState) => Promise<void>;
567
+ allowShareAndWrite: (state: FcrSharePermissionState) => Promise<void>;
568
+ setAllowAnnotation: (state: boolean) => Promise<void>;
541
569
  setAllowWriteBoard: (state: FcrSharePermissionState | boolean) => Promise<void>;
542
570
  muteAll: () => void;
543
571
  unmuteAll: () => void;
@@ -556,6 +584,7 @@ export declare class FcrUIPrivilegeProviderImpl implements FcrUIPrivilegeProvide
556
584
  private _hasPermission;
557
585
  private _hasPermissionWithParams;
558
586
  private _handlePermissionUpdated;
587
+ private _getCurrentSharingSecurity;
559
588
  private _handleSecurityUpdated;
560
589
  permitPrivateChat(userId: string): boolean;
561
590
  setAllowWaterMark(state: boolean, lineType?: FcrLineType): Promise<void>;
@@ -39,6 +39,7 @@ Object.defineProperty(exports, "__esModule", {
39
39
  });
40
40
  exports.FcrUIPrivilegeProviderImpl = void 0;
41
41
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
42
+ require("core-js/modules/es.array.filter.js");
42
43
  require("core-js/modules/es.array.find.js");
43
44
  require("core-js/modules/es.array.for-each.js");
44
45
  require("core-js/modules/es.array.includes.js");
@@ -53,10 +54,12 @@ require("core-js/modules/es.object.to-string.js");
53
54
  require("core-js/modules/es.string.includes.js");
54
55
  require("core-js/modules/es.string.iterator.js");
55
56
  require("core-js/modules/es.weak-map.js");
57
+ require("core-js/modules/esnext.async-iterator.filter.js");
56
58
  require("core-js/modules/esnext.async-iterator.find.js");
57
59
  require("core-js/modules/esnext.async-iterator.for-each.js");
58
60
  require("core-js/modules/esnext.async-iterator.some.js");
59
61
  require("core-js/modules/esnext.iterator.constructor.js");
62
+ require("core-js/modules/esnext.iterator.filter.js");
60
63
  require("core-js/modules/esnext.iterator.find.js");
61
64
  require("core-js/modules/esnext.iterator.for-each.js");
62
65
  require("core-js/modules/esnext.iterator.some.js");
@@ -102,7 +105,7 @@ var _D = /*#__PURE__*/new WeakMap();
102
105
  var _E = /*#__PURE__*/new WeakMap();
103
106
  _ref = (_handlePermissionUpdatedDecs = [_mobx.action, _mobx.action.bound], _handleSecurityUpdatedDecs = [_mobx.action, _mobx.action.bound], _setAllowWaterMarkDecs = [_mobx.action, _mobx.action.bound], _setAllowWaterMarkLineDecs = [_mobx.action, _mobx.action.bound], "logger");
104
107
  var FcrUIPrivilegeProviderImpl = exports.FcrUIPrivilegeProviderImpl = /*#__PURE__*/function () {
105
- function FcrUIPrivilegeProviderImpl(_privilegeControl, _userControl, _streamControl) {
108
+ function FcrUIPrivilegeProviderImpl(_privilegeControl, _userControl, _streamControl, _eventProvider) {
106
109
  var _this = this;
107
110
  (0, _classCallCheck2["default"])(this, FcrUIPrivilegeProviderImpl);
108
111
  (0, _defineProperty2["default"])(this, _ref, (_initProto(this), (0, _logger.createLogger)({
@@ -210,7 +213,7 @@ var FcrUIPrivilegeProviderImpl = exports.FcrUIPrivilegeProviderImpl = /*#__PURE_
210
213
  var screenShareState = (shareState === null || shareState === void 0 ? void 0 : shareState.screen) === _enums.FcrSharePermissionState.ON;
211
214
  return screenShareState;
212
215
  }));
213
- (0, _defineProperty2["default"])(this, "allowBoardWrite", (0, _mobxUtils.computedFn)(function () {
216
+ (0, _defineProperty2["default"])(this, "allowBoardWriteState", (0, _mobxUtils.computedFn)(function () {
214
217
  var _info$info2, _shareState$board;
215
218
  var info = _this.securityInfos.find(function (_ref12) {
216
219
  var info = _ref12.info;
@@ -220,37 +223,46 @@ var FcrUIPrivilegeProviderImpl = exports.FcrUIPrivilegeProviderImpl = /*#__PURE_
220
223
  var boardWriteState = (shareState === null || shareState === void 0 || (_shareState$board = shareState.board) === null || _shareState$board === void 0 ? void 0 : _shareState$board.write) === _enums.FcrSharePermissionState.ON;
221
224
  return boardWriteState;
222
225
  }));
223
- (0, _defineProperty2["default"])(this, "allowUnmuteSelfVideo", (0, _mobxUtils.computedFn)(function () {
226
+ (0, _defineProperty2["default"])(this, "allowAnnotationWriteState", (0, _mobxUtils.computedFn)(function () {
224
227
  var info = _this.securityInfos.find(function (_ref13) {
225
228
  var info = _ref13.info;
229
+ return (info === null || info === void 0 ? void 0 : info.action) === _type2.FcrSecurityAction.Annotation;
230
+ });
231
+ var shareState = info === null || info === void 0 ? void 0 : info.payload;
232
+ var annotationWriteState = (shareState === null || shareState === void 0 ? void 0 : shareState.write) === _enums.FcrSharePermissionState.ON;
233
+ return annotationWriteState;
234
+ }));
235
+ (0, _defineProperty2["default"])(this, "allowUnmuteSelfVideo", (0, _mobxUtils.computedFn)(function () {
236
+ var info = _this.securityInfos.find(function (_ref14) {
237
+ var info = _ref14.info;
226
238
  return (info === null || info === void 0 ? void 0 : info.action) === _type2.FcrSecurityAction.StartVideo;
227
239
  });
228
240
  return !!(info !== null && info !== void 0 && info.enable);
229
241
  }));
230
242
  (0, _defineProperty2["default"])(this, "allowUnmuteSelfAudio", (0, _mobxUtils.computedFn)(function () {
231
- var info = _this.securityInfos.find(function (_ref14) {
232
- var info = _ref14.info;
243
+ var info = _this.securityInfos.find(function (_ref15) {
244
+ var info = _ref15.info;
233
245
  return (info === null || info === void 0 ? void 0 : info.action) === _type2.FcrSecurityAction.StartAudio;
234
246
  });
235
247
  return !!(info !== null && info !== void 0 && info.enable);
236
248
  }));
237
249
  (0, _defineProperty2["default"])(this, "isLockRoomEnabled", (0, _mobxUtils.computedFn)(function () {
238
- var info = _this.securityInfos.find(function (_ref15) {
239
- var info = _ref15.info;
250
+ var info = _this.securityInfos.find(function (_ref16) {
251
+ var info = _ref16.info;
240
252
  return (info === null || info === void 0 ? void 0 : info.action) === _type2.FcrSecurityAction.LockedRoom;
241
253
  });
242
254
  return !!(info !== null && info !== void 0 && info.enable);
243
255
  }));
244
256
  (0, _defineProperty2["default"])(this, "isWaitingRoomEnabled", (0, _mobxUtils.computedFn)(function () {
245
- var info = _this.securityInfos.find(function (_ref16) {
246
- var info = _ref16.info;
257
+ var info = _this.securityInfos.find(function (_ref17) {
258
+ var info = _ref17.info;
247
259
  return (info === null || info === void 0 ? void 0 : info.action) === _type2.FcrSecurityAction.WaitingRoom;
248
260
  });
249
261
  return !!(info !== null && info !== void 0 && info.enable);
250
262
  }));
251
263
  (0, _defineProperty2["default"])(this, "isWaterMarkEnabled", (0, _mobxUtils.computedFn)(function () {
252
- var info = _this.securityInfos.find(function (_ref17) {
253
- var info = _ref17.info;
264
+ var info = _this.securityInfos.find(function (_ref18) {
265
+ var info = _ref18.info;
254
266
  return (info === null || info === void 0 ? void 0 : info.action) === _type2.FcrSecurityAction.WaterMark;
255
267
  });
256
268
  return !!(info !== null && info !== void 0 && info.enable);
@@ -392,6 +404,21 @@ var FcrUIPrivilegeProviderImpl = exports.FcrUIPrivilegeProviderImpl = /*#__PURE_
392
404
  (0, _defineProperty2["default"])(this, "hasWriteBoardPermission", function () {
393
405
  return _this._hasPermission(_type2.FcrPermissionAction.BoardWrite, _type2.FcrPrivilegeUserRole.SELF);
394
406
  });
407
+ (0, _defineProperty2["default"])(this, "hasAnnotationStartPermission", function () {
408
+ var info = _this.securityInfos.find(function (_ref19) {
409
+ var info = _ref19.info;
410
+ return (info === null || info === void 0 ? void 0 : info.action) === _type2.FcrSecurityAction.Annotation;
411
+ });
412
+ var shareState = info === null || info === void 0 ? void 0 : info.payload;
413
+ var annotationWriteState = (shareState === null || shareState === void 0 ? void 0 : shareState.start) === _enums.FcrSharePermissionState.ON;
414
+ return annotationWriteState;
415
+ });
416
+ (0, _defineProperty2["default"])(this, "hasAnnotationAllowWritePermission", function () {
417
+ return _this._hasPermission(_type2.FcrPermissionAction.AnnotationAllowWrite, _type2.FcrPrivilegeUserRole.PARTICIPANT);
418
+ });
419
+ (0, _defineProperty2["default"])(this, "hasAnnotationWritePermission", function () {
420
+ return _this._hasPermission(_type2.FcrPermissionAction.AnnotationWrite, _type2.FcrPrivilegeUserRole.SELF);
421
+ });
395
422
  (0, _defineProperty2["default"])(this, "hasAllowStartBoardPermission", function () {
396
423
  return _this._hasPermission(_type2.FcrPermissionAction.BoardAllowStart, _type2.FcrPrivilegeUserRole.SELF);
397
424
  });
@@ -429,8 +456,8 @@ var FcrUIPrivilegeProviderImpl = exports.FcrUIPrivilegeProviderImpl = /*#__PURE_
429
456
  });
430
457
  (0, _defineProperty2["default"])(this, "isMulti", (0, _mobxUtils.computedFn)(function () {
431
458
  var _info$info3;
432
- var info = _this.securityInfos.find(function (_ref18) {
433
- var info = _ref18.info;
459
+ var info = _this.securityInfos.find(function (_ref20) {
460
+ var info = _ref20.info;
434
461
  return (info === null || info === void 0 ? void 0 : info.action) === _type2.FcrSecurityAction.WaterMark;
435
462
  });
436
463
  return (info === null || info === void 0 || (_info$info3 = info.info) === null || _info$info3 === void 0 ? void 0 : _info$info3.payload.lineType) === _type.FcrLineType.MULTI_ROW;
@@ -480,15 +507,15 @@ var FcrUIPrivilegeProviderImpl = exports.FcrUIPrivilegeProviderImpl = /*#__PURE_
480
507
  }
481
508
  return operations;
482
509
  });
483
- (0, _defineProperty2["default"])(this, "allowShare", /*#__PURE__*/function () {
484
- var _ref19 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(state) {
510
+ (0, _defineProperty2["default"])(this, "allowShareAndWrite", /*#__PURE__*/function () {
511
+ var _ref21 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(state) {
485
512
  var enable;
486
513
  return _regenerator["default"].wrap(function _callee$(_context) {
487
514
  while (1) switch (_context.prev = _context.next) {
488
515
  case 0:
489
516
  enable = state === _enums.FcrSharePermissionState.ON;
490
517
  _context.next = 3;
491
- return _this._privilegeControl.allowShare(enable, [_type2.FcrPrivilegeUserRole.PARTICIPANT]);
518
+ return _this._privilegeControl.allowShareAndWrite(enable, [_type2.FcrPrivilegeUserRole.PARTICIPANT]);
492
519
  case 3:
493
520
  return _context.abrupt("return", _context.sent);
494
521
  case 4:
@@ -498,28 +525,47 @@ var FcrUIPrivilegeProviderImpl = exports.FcrUIPrivilegeProviderImpl = /*#__PURE_
498
525
  }, _callee);
499
526
  }));
500
527
  return function (_x) {
501
- return _ref19.apply(this, arguments);
528
+ return _ref21.apply(this, arguments);
502
529
  };
503
530
  }());
504
- (0, _defineProperty2["default"])(this, "setAllowWriteBoard", /*#__PURE__*/function () {
505
- var _ref20 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(state) {
506
- var enable;
531
+ (0, _defineProperty2["default"])(this, "setAllowAnnotation", /*#__PURE__*/function () {
532
+ var _ref22 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(state) {
507
533
  return _regenerator["default"].wrap(function _callee2$(_context2) {
508
534
  while (1) switch (_context2.prev = _context2.next) {
509
535
  case 0:
510
- enable = typeof state === 'boolean' ? state : state === _enums.FcrSharePermissionState.ON;
511
- _context2.next = 3;
512
- return _this._privilegeControl.allowWriteBoard(enable, [_type2.FcrPrivilegeUserRole.PARTICIPANT]);
513
- case 3:
536
+ _context2.next = 2;
537
+ return _this._privilegeControl.allowWriteAnnotation(state, [_type2.FcrPrivilegeUserRole.PARTICIPANT]);
538
+ case 2:
514
539
  return _context2.abrupt("return", _context2.sent);
515
- case 4:
540
+ case 3:
516
541
  case "end":
517
542
  return _context2.stop();
518
543
  }
519
544
  }, _callee2);
520
545
  }));
521
546
  return function (_x2) {
522
- return _ref20.apply(this, arguments);
547
+ return _ref22.apply(this, arguments);
548
+ };
549
+ }());
550
+ (0, _defineProperty2["default"])(this, "setAllowWriteBoard", /*#__PURE__*/function () {
551
+ var _ref23 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(state) {
552
+ var enable;
553
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
554
+ while (1) switch (_context3.prev = _context3.next) {
555
+ case 0:
556
+ enable = typeof state === 'boolean' ? state : state === _enums.FcrSharePermissionState.ON;
557
+ _context3.next = 3;
558
+ return _this._privilegeControl.allowWriteBoard(enable, [_type2.FcrPrivilegeUserRole.PARTICIPANT]);
559
+ case 3:
560
+ return _context3.abrupt("return", _context3.sent);
561
+ case 4:
562
+ case "end":
563
+ return _context3.stop();
564
+ }
565
+ }, _callee3);
566
+ }));
567
+ return function (_x3) {
568
+ return _ref23.apply(this, arguments);
523
569
  };
524
570
  }());
525
571
  //全体静音
@@ -597,7 +643,7 @@ var FcrUIPrivilegeProviderImpl = exports.FcrUIPrivilegeProviderImpl = /*#__PURE_
597
643
  });
598
644
  //允许屏幕共享
599
645
  (0, _defineProperty2["default"])(this, "setAllowShareScreen", function (state) {
600
- _this._privilegeControl.allowShare(state, [_type2.FcrPrivilegeUserRole.PARTICIPANT]);
646
+ _this._privilegeControl.allowShareAndWrite(state, [_type2.FcrPrivilegeUserRole.PARTICIPANT]);
601
647
  });
602
648
  //允许开启视频
603
649
  (0, _defineProperty2["default"])(this, "setAllowUnmuteSelfVideo", function (enable) {
@@ -610,9 +656,9 @@ var FcrUIPrivilegeProviderImpl = exports.FcrUIPrivilegeProviderImpl = /*#__PURE_
610
656
  (0, _defineProperty2["default"])(this, "_hasPermission", (0, _mobxUtils.computedFn)(function (action, targetRole) {
611
657
  var _this$permissionInfos;
612
658
  var convertedRole = targetRole === _type2.FcrPrivilegeUserRole.SELF ? [_this._localUser.userRole, _type2.FcrPrivilegeUserRole.SELF] : [targetRole];
613
- var info = (_this$permissionInfos = _this.permissionInfos) === null || _this$permissionInfos === void 0 ? void 0 : _this$permissionInfos.find(function (_ref21) {
659
+ var info = (_this$permissionInfos = _this.permissionInfos) === null || _this$permissionInfos === void 0 ? void 0 : _this$permissionInfos.find(function (_ref24) {
614
660
  var _info$targetRoles;
615
- var info = _ref21.info;
661
+ var info = _ref24.info;
616
662
  return (info === null || info === void 0 ? void 0 : info.action) === action && ((info === null || info === void 0 || (_info$targetRoles = info.targetRoles) === null || _info$targetRoles === void 0 ? void 0 : _info$targetRoles.length) === 0 || convertedRole.some(function (role) {
617
663
  var _info$targetRoles2;
618
664
  return info === null || info === void 0 || (_info$targetRoles2 = info.targetRoles) === null || _info$targetRoles2 === void 0 ? void 0 : _info$targetRoles2.includes(role);
@@ -628,9 +674,9 @@ var FcrUIPrivilegeProviderImpl = exports.FcrUIPrivilegeProviderImpl = /*#__PURE_
628
674
  return _params && _params[key].includes(params[key]);
629
675
  });
630
676
  };
631
- var info = (_this$permissionInfos2 = _this.permissionInfos) === null || _this$permissionInfos2 === void 0 ? void 0 : _this$permissionInfos2.find(function (_ref22) {
677
+ var info = (_this$permissionInfos2 = _this.permissionInfos) === null || _this$permissionInfos2 === void 0 ? void 0 : _this$permissionInfos2.find(function (_ref25) {
632
678
  var _info$targetRoles3, _info$params;
633
- var info = _ref22.info;
679
+ var info = _ref25.info;
634
680
  return (info === null || info === void 0 ? void 0 : info.action) === action && ((info === null || info === void 0 || (_info$targetRoles3 = info.targetRoles) === null || _info$targetRoles3 === void 0 ? void 0 : _info$targetRoles3.length) === 0 || convertedRole.some(function (role) {
635
681
  var _info$targetRoles4;
636
682
  return info === null || info === void 0 || (_info$targetRoles4 = info.targetRoles) === null || _info$targetRoles4 === void 0 ? void 0 : _info$targetRoles4.includes(role);
@@ -641,6 +687,7 @@ var FcrUIPrivilegeProviderImpl = exports.FcrUIPrivilegeProviderImpl = /*#__PURE_
641
687
  this._privilegeControl = _privilegeControl;
642
688
  this._userControl = _userControl;
643
689
  this._streamControl = _streamControl;
690
+ this._eventProvider = _eventProvider;
644
691
  this.securityInfos = this._privilegeControl.getAllSecurityInfo();
645
692
  this.permissionInfos = this._privilegeControl.getAllLocalUserPermissionInfo() || [];
646
693
  this._localUser = this._userControl.getLocalUser();
@@ -746,10 +793,19 @@ var FcrUIPrivilegeProviderImpl = exports.FcrUIPrivilegeProviderImpl = /*#__PURE_
746
793
  value: function _handlePermissionUpdated() {
747
794
  this.permissionInfos = this._privilegeControl.getAllLocalUserPermissionInfo() || [];
748
795
  }
796
+ }, {
797
+ key: "_getCurrentSharingSecurity",
798
+ value: function _getCurrentSharingSecurity() {
799
+ return this.securityInfos.filter(function (securityInfo) {
800
+ var _securityInfo$info;
801
+ return ((_securityInfo$info = securityInfo.info) === null || _securityInfo$info === void 0 ? void 0 : _securityInfo$info.action) === _type2.FcrSecurityAction.Sharing;
802
+ })[0];
803
+ }
749
804
  }, {
750
805
  key: "_handleSecurityUpdated",
751
806
  value: function _handleSecurityUpdated(roomId, event) {
752
- this.securityInfos = this._privilegeControl.getAllSecurityInfo();
807
+ var newSecurityInfos = this._privilegeControl.getAllSecurityInfo();
808
+ this.securityInfos = newSecurityInfos;
753
809
  this.privilegeOperator = event.operatorUser;
754
810
  this._observable.notifyObservers('onLocalUserSecurityInfosUpdated', event);
755
811
  }
@@ -799,21 +855,21 @@ var FcrUIPrivilegeProviderImpl = exports.FcrUIPrivilegeProviderImpl = /*#__PURE_
799
855
  }, {
800
856
  key: "setAllowWaterMark",
801
857
  value: function () {
802
- var _setAllowWaterMark = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(state, lineType) {
803
- return _regenerator["default"].wrap(function _callee3$(_context3) {
804
- while (1) switch (_context3.prev = _context3.next) {
858
+ var _setAllowWaterMark = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee4(state, lineType) {
859
+ return _regenerator["default"].wrap(function _callee4$(_context4) {
860
+ while (1) switch (_context4.prev = _context4.next) {
805
861
  case 0:
806
- _context3.next = 2;
862
+ _context4.next = 2;
807
863
  return this._privilegeControl.allowWatermark(state, [_type2.FcrPrivilegeUserRole.PARTICIPANT], lineType);
808
864
  case 2:
809
- return _context3.abrupt("return", _context3.sent);
865
+ return _context4.abrupt("return", _context4.sent);
810
866
  case 3:
811
867
  case "end":
812
- return _context3.stop();
868
+ return _context4.stop();
813
869
  }
814
- }, _callee3, this);
870
+ }, _callee4, this);
815
871
  }));
816
- function setAllowWaterMark(_x3, _x4) {
872
+ function setAllowWaterMark(_x4, _x5) {
817
873
  return _setAllowWaterMark.apply(this, arguments);
818
874
  }
819
875
  return setAllowWaterMark;
@@ -821,13 +877,13 @@ var FcrUIPrivilegeProviderImpl = exports.FcrUIPrivilegeProviderImpl = /*#__PURE_
821
877
  }, {
822
878
  key: "setAllowWaterMarkLine",
823
879
  value: function () {
824
- var _setAllowWaterMarkLine = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee4(state, lineType) {
880
+ var _setAllowWaterMarkLine = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee5(state, lineType) {
825
881
  var _this2 = this;
826
- return _regenerator["default"].wrap(function _callee4$(_context4) {
827
- while (1) switch (_context4.prev = _context4.next) {
882
+ return _regenerator["default"].wrap(function _callee5$(_context5) {
883
+ while (1) switch (_context5.prev = _context5.next) {
828
884
  case 0:
829
885
  if (this._watermarkLoadingTimber) {
830
- _context4.next = 7;
886
+ _context5.next = 7;
831
887
  break;
832
888
  }
833
889
  this.targetLoadingWatermarkLineTypeIsMulti = !this.targetLoadingWatermarkLineTypeIsMulti;
@@ -837,17 +893,17 @@ var FcrUIPrivilegeProviderImpl = exports.FcrUIPrivilegeProviderImpl = /*#__PURE_
837
893
  _this2._watermarkLoadingTimber && clearTimeout(_this2._watermarkLoadingTimber);
838
894
  _this2._watermarkLoadingTimber = null;
839
895
  }, 1000);
840
- _context4.next = 6;
896
+ _context5.next = 6;
841
897
  return this._privilegeControl.allowWatermark(state, [_type2.FcrPrivilegeUserRole.PARTICIPANT], lineType);
842
898
  case 6:
843
- return _context4.abrupt("return", _context4.sent);
899
+ return _context5.abrupt("return", _context5.sent);
844
900
  case 7:
845
901
  case "end":
846
- return _context4.stop();
902
+ return _context5.stop();
847
903
  }
848
- }, _callee4, this);
904
+ }, _callee5, this);
849
905
  }));
850
- function setAllowWaterMarkLine(_x5, _x6) {
906
+ function setAllowWaterMarkLine(_x6, _x7) {
851
907
  return _setAllowWaterMarkLine.apply(this, arguments);
852
908
  }
853
909
  return setAllowWaterMarkLine;
@@ -53,11 +53,12 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
53
53
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
54
54
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
55
55
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
56
- var _logger = require("agora-foundation/lib/logger");
57
56
  var _fcrCore = require("fcr-core");
58
57
  var _mobx = require("mobx");
59
58
  var _mobxUtils = require("mobx-utils");
60
59
  var _base = require("../base");
60
+ var _logger = require("../utilities/logger");
61
+ var _decorator = require("agora-foundation/lib/decorator");
61
62
  var _FcrUIRemoteVideoRenderProviderImpl, _FcrUILocalVideoRenderProviderImpl;
62
63
  var _initProto, _init__firstFrameState, _startRenderRemoteVideoDecs, _stopRenderRemoteVideoDecs, _ref, _initProto2, _startCameraPreviewDecs, _stopCameraPreviewDecs, _startScreenPreviewDecs, _stopScreenPreviewDecs, _ref2;
63
64
  function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
@@ -71,7 +72,7 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
71
72
  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; }
72
73
  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; }
73
74
  var _A = /*#__PURE__*/new WeakMap();
74
- _ref = (_startRenderRemoteVideoDecs = [_mobx.action, _mobx.action.bound], _stopRenderRemoteVideoDecs = [_mobx.action, _mobx.action.bound], "logger");
75
+ _ref = (_startRenderRemoteVideoDecs = [void 0, _decorator.trace, _mobx.action, _mobx.action.bound], _stopRenderRemoteVideoDecs = [void 0, _decorator.trace, _mobx.action, _mobx.action.bound], "logger");
75
76
  var FcrUIRemoteVideoRenderProviderImpl = exports.FcrUIRemoteVideoRenderProviderImpl = /*#__PURE__*/function () {
76
77
  function FcrUIRemoteVideoRenderProviderImpl(_streamControl) {
77
78
  var _this = this;
@@ -88,7 +89,6 @@ var FcrUIRemoteVideoRenderProviderImpl = exports.FcrUIRemoteVideoRenderProviderI
88
89
  this._streamControl = _streamControl;
89
90
  this._streamObserver = {
90
91
  onFirstRemoteVideoFrameRendered: function onFirstRemoteVideoFrameRendered(roomId, streamId) {
91
- _this.logger.debug('onFirstRemoteVideoFrameRendered', roomId, streamId);
92
92
  (0, _mobx.runInAction)(function () {
93
93
  _this._firstFrameState.set(streamId, true);
94
94
  });
@@ -110,8 +110,6 @@ var FcrUIRemoteVideoRenderProviderImpl = exports.FcrUIRemoteVideoRenderProviderI
110
110
  }, {
111
111
  key: "release",
112
112
  value: function release() {
113
- this._renderCount.clear();
114
- this._firstFrameState.clear();
115
113
  this._disposers.forEach(function (disposer) {
116
114
  return disposer();
117
115
  });
@@ -120,7 +118,6 @@ var FcrUIRemoteVideoRenderProviderImpl = exports.FcrUIRemoteVideoRenderProviderI
120
118
  }, {
121
119
  key: "startRenderRemoteVideo",
122
120
  value: function startRenderRemoteVideo(streamId, streamType, config, el) {
123
- this.logger.debug('startRenderRemoteVideo', streamId, streamType, config);
124
121
  var count = this._renderCount.get(streamId);
125
122
  if (count) {
126
123
  this._renderCount.set(streamId, count + 1);
@@ -134,7 +131,6 @@ var FcrUIRemoteVideoRenderProviderImpl = exports.FcrUIRemoteVideoRenderProviderI
134
131
  }, {
135
132
  key: "stopRenderRemoteVideo",
136
133
  value: function stopRenderRemoteVideo(streamId, el) {
137
- this.logger.debug('stopRenderRemoteVideo', streamId);
138
134
  var count = this._renderCount.get(streamId) || 0;
139
135
  if (count - 1 > 0) {
140
136
  this._renderCount.set(streamId, count - 1);
@@ -59,6 +59,14 @@ export interface FcrUIRoomProvider {
59
59
  * 云录制状态
60
60
  */
61
61
  get cloudRecordingState(): FcrRecordingState;
62
+ /**
63
+ * 是不是自己结束会议的
64
+ */
65
+ get isSelfEndMeeting(): boolean;
66
+ /**
67
+ * 设置是不是自己结束会议的
68
+ */
69
+ setIsSelfEndMeeting(isSelfEndMeeting: boolean): void;
62
70
  getRoomDetailCopyText(): string;
63
71
  /**
64
72
  * 启动直播
@@ -109,6 +117,7 @@ export declare class FcrUIRoomProviderImpl implements FcrUIRoomProvider {
109
117
  private _userControlObserver;
110
118
  private _currentRoomControl?;
111
119
  private _roomRouter;
120
+ private _isSelfEndMeeting;
112
121
  private _roomRouterObserver;
113
122
  accessor liveStreamingState: FcrLiveStreamingState;
114
123
  accessor liveStreamingConfig: FcrLiveStreamingConfig | undefined;
@@ -117,6 +126,8 @@ export declare class FcrUIRoomProviderImpl implements FcrUIRoomProvider {
117
126
  getRoomDetailCopyText(): string;
118
127
  get currentRoomControl(): FcrBaseRoomControl;
119
128
  get waitingRoomManager(): FcrUIWaitingRoomControlManager;
129
+ setIsSelfEndMeeting(isSelfEndMeeting: boolean): void;
130
+ get isSelfEndMeeting(): boolean;
120
131
  release(): void;
121
132
  private _releaseWaitingRoomManager;
122
133
  handleJoinRoom(): Promise<void>;
@@ -165,7 +176,8 @@ export declare class FcrUIMainRoomControlProviderImpl implements FcrUIMainRoomCo
165
176
  export declare class FcrUIWaitingRoomControlProviderImpl implements FcrUIWaitingRoomControlProvider {
166
177
  private _waitingRoomControl?;
167
178
  private _privilegeProvider?;
168
- constructor(roomProvider: FcrUIRoomProvider);
179
+ private _eventProvider?;
180
+ constructor(roomProvider: FcrUIRoomProvider, eventProvider: FcrUIEventProvider);
169
181
  get waitingRoomControl(): FcrWaitingRoomControl | undefined;
170
182
  get privilegeProvider(): FcrUIPrivilegeProviderImpl | undefined;
171
183
  private _setWaitingRoomControl;
@@ -114,15 +114,14 @@ var FcrUIRoomProviderImpl = exports.FcrUIRoomProviderImpl = /*#__PURE__*/functio
114
114
  _this._messageProvider.closeNotification(_type5.FcrUINotificationContentType.WAITING_ROOM);
115
115
  }
116
116
  });
117
+ (0, _defineProperty2["default"])(this, "_isSelfEndMeeting", false);
117
118
  (0, _defineProperty2["default"])(this, "_roomRouterObserver", {
118
119
  onRoomRouteSwitched: function onRoomRouteSwitched() {
119
- var _this$currentRoomCont, _this$currentRoomCont2, _this$currentRoomCont3;
120
+ var _this$currentRoomCont;
120
121
  if (((_this$currentRoomCont = _this.currentRoomControl.getRoomInfo()) === null || _this$currentRoomCont === void 0 ? void 0 : _this$currentRoomCont.roomType) === _type.FcrRoomType.Mainroom) {
121
122
  _this._observable.notifyObservers('onLeaveMainRoom');
122
- } else if (((_this$currentRoomCont2 = _this.currentRoomControl.getRoomInfo()) === null || _this$currentRoomCont2 === void 0 ? void 0 : _this$currentRoomCont2.roomType) === _type.FcrRoomType.Waitingroom) {
123
+ } else {
123
124
  _this._observable.notifyObservers('onLeaveWaitingRoom');
124
- } else if (((_this$currentRoomCont3 = _this.currentRoomControl.getRoomInfo()) === null || _this$currentRoomCont3 === void 0 ? void 0 : _this$currentRoomCont3.roomType) === _type.FcrRoomType.JoinBeforeHostWaitingRoom) {
125
- _this._observable.notifyObservers('onLeaveJBH');
126
125
  }
127
126
  _this._roomRouter.joinRoom(_this._getJoinRoomOption());
128
127
  },
@@ -252,12 +251,23 @@ var FcrUIRoomProviderImpl = exports.FcrUIRoomProviderImpl = /*#__PURE__*/functio
252
251
  }
253
252
  return this._waitingRoomManager;
254
253
  }
254
+ }, {
255
+ key: "setIsSelfEndMeeting",
256
+ value: function setIsSelfEndMeeting(isSelfEndMeeting) {
257
+ this._isSelfEndMeeting = isSelfEndMeeting;
258
+ }
259
+ }, {
260
+ key: "isSelfEndMeeting",
261
+ get: function get() {
262
+ return this._isSelfEndMeeting;
263
+ }
255
264
  }, {
256
265
  key: "release",
257
266
  value: function release() {
258
267
  var _this$_currentRoomCon;
259
268
  (_this$_currentRoomCon = this._currentRoomControl) === null || _this$_currentRoomCon === void 0 || _this$_currentRoomCon.leave();
260
269
  this._currentRoomControl = undefined;
270
+ this.setIsSelfEndMeeting(false);
261
271
  this._releaseWaitingRoomManager();
262
272
  }
263
273
  }, {
@@ -523,7 +533,7 @@ var FcrUIMainRoomControlProviderImpl = exports.FcrUIMainRoomControlProviderImpl
523
533
  this._eventProvider = eventProvider;
524
534
  this._privilegeControl = _mainRoomControl.getPrivilegeControl();
525
535
  this._userControl = _mainRoomControl.getUserControl();
526
- this._privilegeProvider = new _privilegeProvider.FcrUIPrivilegeProviderImpl(_mainRoomControl.getPrivilegeControl(), _mainRoomControl.getUserControl(), _mainRoomControl.getStreamControl());
536
+ this._privilegeProvider = new _privilegeProvider.FcrUIPrivilegeProviderImpl(_mainRoomControl.getPrivilegeControl(), _mainRoomControl.getUserControl(), _mainRoomControl.getStreamControl(), eventProvider);
527
537
  this._privilegeObserver = {
528
538
  onSecurityInfoUpdated: this._handleSecurityUpdated.bind(this)
529
539
  };
@@ -738,6 +748,9 @@ var FcrUIMainRoomControlProviderImpl = exports.FcrUIMainRoomControlProviderImpl
738
748
  }
739
749
  }
740
750
  }
751
+ // else if(event.securityInfo.info?.action == FcrSecurityAction.){
752
+
753
+ // }
741
754
  }
742
755
  }, {
743
756
  key: "_handleUserRoleChangeToast",
@@ -811,7 +824,7 @@ _init_privilegeOperator = _applyDecs$e2[0];
811
824
  _init_boardOwnerUser = _applyDecs$e2[1];
812
825
  _initProto2 = _applyDecs$e2[2];
813
826
  var FcrUIWaitingRoomControlProviderImpl = exports.FcrUIWaitingRoomControlProviderImpl = /*#__PURE__*/function () {
814
- function FcrUIWaitingRoomControlProviderImpl(roomProvider) {
827
+ function FcrUIWaitingRoomControlProviderImpl(roomProvider, eventProvider) {
815
828
  var _this4 = this;
816
829
  (0, _classCallCheck2["default"])(this, FcrUIWaitingRoomControlProviderImpl);
817
830
  roomProvider.addObserver({
@@ -828,6 +841,7 @@ var FcrUIWaitingRoomControlProviderImpl = exports.FcrUIWaitingRoomControlProvide
828
841
  if (roomProvider.currentRoomControl) {
829
842
  this._setWaitingRoomControl(roomProvider.currentRoomControl);
830
843
  }
844
+ this._eventProvider = eventProvider;
831
845
  }
832
846
  return (0, _createClass2["default"])(FcrUIWaitingRoomControlProviderImpl, [{
833
847
  key: "waitingRoomControl",
@@ -843,7 +857,7 @@ var FcrUIWaitingRoomControlProviderImpl = exports.FcrUIWaitingRoomControlProvide
843
857
  key: "_setWaitingRoomControl",
844
858
  value: function _setWaitingRoomControl(roomControl) {
845
859
  this._waitingRoomControl = roomControl;
846
- this._privilegeProvider = new _privilegeProvider.FcrUIPrivilegeProviderImpl(roomControl.getPrivilegeControl(), roomControl.getUserControl(), roomControl.getStreamControl());
860
+ this._privilegeProvider = new _privilegeProvider.FcrUIPrivilegeProviderImpl(roomControl.getPrivilegeControl(), roomControl.getUserControl(), roomControl.getStreamControl(), this._eventProvider);
847
861
  }
848
862
  }]);
849
863
  }();