fcr-ui-scene 3.4.2 → 3.4.4

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 (215) hide show
  1. package/lib/common/device-store.d.ts +23 -14
  2. package/lib/common/device-store.js +361 -252
  3. package/lib/common/device-stream-store.d.ts +8 -14
  4. package/lib/common/device-stream-store.js +254 -116
  5. package/lib/common/event-store.d.ts +35 -10
  6. package/lib/common/event-store.js +64 -13
  7. package/lib/common/security-store.d.ts +47 -39
  8. package/lib/common/security-store.js +335 -379
  9. package/lib/electron/app.js +1 -0
  10. package/lib/modules/action-bar/action-bar-collapes-items.d.ts +4 -1
  11. package/lib/modules/action-bar/action-bar-collapes-items.js +38 -21
  12. package/lib/modules/action-bar/components/apps/useWidgetList.d.ts +7 -0
  13. package/lib/modules/action-bar/components/apps/useWidgetList.js +43 -0
  14. package/lib/modules/action-bar/components/leave/assign-host.d.ts +8 -1
  15. package/lib/modules/action-bar/components/leave/assign-host.js +1 -1
  16. package/lib/modules/action-bar/components/leave/leave-meeting.d.ts +16 -1
  17. package/lib/modules/action-bar/smaller.js +5 -5
  18. package/lib/modules/chat/chat-bar/index.css +6 -0
  19. package/lib/modules/chat/chat-bar/index.d.ts +3 -3
  20. package/lib/modules/chat/chat-bar/index.js +51 -39
  21. package/lib/modules/chat/chat-select/index.css +27 -7
  22. package/lib/modules/chat/chat-select/index.d.ts +1 -1
  23. package/lib/modules/chat/chat-select/index.js +18 -4
  24. package/lib/modules/chat/chat.d.ts +1 -2
  25. package/lib/modules/chat/chat.js +196 -128
  26. package/lib/modules/chat/components/chat-select/select-input/index.d.ts +7 -0
  27. package/lib/modules/chat/components/chat-select/select-input/index.js +35 -0
  28. package/lib/modules/chat/components/chat-select/select-item/index.d.ts +12 -0
  29. package/lib/modules/chat/components/chat-select/select-item/index.js +153 -0
  30. package/lib/modules/chat/components/chat-tabs/index.d.ts +2 -0
  31. package/lib/modules/chat/components/chat-tabs/index.js +61 -0
  32. package/lib/modules/chat/components/message-list/chat-empty/index.d.ts +2 -0
  33. package/lib/modules/chat/components/message-list/chat-empty/index.js +26 -0
  34. package/lib/modules/chat/components/message-list/history-unread-message-button/index.d.ts +7 -0
  35. package/lib/modules/chat/components/message-list/history-unread-message-button/index.js +55 -0
  36. package/lib/modules/chat/components/message-list/message-item/index.d.ts +15 -0
  37. package/lib/modules/chat/components/message-list/message-item/index.js +279 -0
  38. package/lib/modules/chat/components/message-list/scroll-bottom-button/index.d.ts +9 -0
  39. package/lib/modules/chat/components/message-list/scroll-bottom-button/index.js +67 -0
  40. package/lib/modules/chat/message-list.js +68 -51
  41. package/lib/modules/components/dialog-container/component/body.js +1 -2
  42. package/lib/modules/components/dialog-container/index.d.ts +2 -2
  43. package/lib/modules/components/member-window/components/member-actions/components/audio-control.d.ts +6 -0
  44. package/lib/modules/components/member-window/components/member-actions/components/audio-control.js +36 -0
  45. package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.d.ts +40 -0
  46. package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.js +170 -0
  47. package/lib/modules/components/member-window/components/member-actions/components/icon-status.d.ts +11 -0
  48. package/lib/modules/components/member-window/components/member-actions/components/icon-status.js +105 -0
  49. package/lib/modules/components/member-window/components/member-actions/components/layout/index.d.ts +9 -0
  50. package/lib/modules/components/member-window/components/member-actions/components/layout/index.js +42 -0
  51. package/lib/modules/components/member-window/components/member-actions/components/more-actions.d.ts +11 -0
  52. package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +159 -0
  53. package/lib/modules/components/member-window/components/member-actions/components/share-status.d.ts +2 -0
  54. package/lib/modules/components/member-window/components/member-actions/components/share-status.js +32 -0
  55. package/lib/modules/components/member-window/components/member-actions/components/user-info.d.ts +16 -0
  56. package/lib/modules/components/member-window/components/member-actions/components/user-info.js +130 -0
  57. package/lib/modules/components/member-window/components/member-actions/components/user-tag.d.ts +12 -0
  58. package/lib/modules/components/member-window/components/member-actions/components/user-tag.js +57 -0
  59. package/lib/modules/components/member-window/components/member-actions/index.d.ts +3 -0
  60. package/lib/modules/components/member-window/components/member-actions/index.js +122 -0
  61. package/lib/modules/components/member-window/components/member-actions/libs/index.d.ts +2 -0
  62. package/lib/modules/components/member-window/components/member-actions/libs/index.js +24 -0
  63. package/lib/modules/components/member-window/components/member-actions/provider.d.ts +21 -0
  64. package/lib/modules/components/member-window/components/member-actions/provider.js +77 -0
  65. package/lib/modules/components/member-window/components/member-actions/store.d.ts +48 -0
  66. package/lib/modules/components/member-window/components/member-actions/store.js +306 -0
  67. package/lib/modules/components/member-window/components/member-board.d.ts +2 -0
  68. package/lib/modules/components/member-window/components/member-board.js +63 -0
  69. package/lib/modules/components/member-window/components/mic-volume.d.ts +2 -0
  70. package/lib/modules/components/member-window/components/mic-volume.js +23 -0
  71. package/lib/modules/components/member-window/components/video-player/components/local-video-player.d.ts +4 -0
  72. package/lib/modules/components/member-window/components/video-player/components/local-video-player.js +40 -0
  73. package/lib/modules/components/member-window/components/video-player/components/remote-video-player.d.ts +8 -0
  74. package/lib/modules/components/member-window/components/video-player/components/remote-video-player.js +62 -0
  75. package/lib/modules/components/member-window/components/video-player/index.d.ts +9 -0
  76. package/lib/modules/components/member-window/components/video-player/index.js +38 -0
  77. package/lib/modules/components/member-window/types.d.ts +78 -0
  78. package/lib/modules/components/member-window/types.js +6 -0
  79. package/lib/modules/connection-gateway/components/tabs/index.js +2 -1
  80. package/lib/modules/control-bar/components/meeting-details/index.js +7 -15
  81. package/lib/modules/control-bar/components/more-actions/index.js +5 -15
  82. package/lib/modules/dialog/components/system-preference/assets/bg1.png +0 -0
  83. package/lib/modules/dialog/components/system-preference/assets/bg2.png +0 -0
  84. package/lib/modules/dialog/components/system-preference/assets/fcr_png_host.png +0 -0
  85. package/lib/modules/dialog/components/widget/electron.d.ts +5 -0
  86. package/lib/modules/dialog/components/widget/electron.js +41 -0
  87. package/lib/modules/dialog/components/widget/index.d.ts +6 -0
  88. package/lib/modules/dialog/components/widget/index.js +41 -0
  89. package/lib/modules/dialog/type.d.ts +84 -0
  90. package/lib/modules/dialog/type.js +6 -0
  91. package/lib/modules/invite/components/pstn-invite.js +4 -13
  92. package/lib/modules/invite/pstn-invite.js +7 -9
  93. package/lib/modules/invite/store.d.ts +2 -0
  94. package/lib/modules/invite/store.js +6 -0
  95. package/lib/modules/invite/voip-invite.js +5 -6
  96. package/lib/modules/layout/member-window/index.css +116 -18
  97. package/lib/modules/layout/member-window/index.d.ts +10 -3
  98. package/lib/modules/layout/member-window/index.js +227 -115
  99. package/lib/modules/participant/attendee/index.css +0 -51
  100. package/lib/modules/participant/attendee/index.d.ts +8 -5
  101. package/lib/modules/participant/attendee/index.js +61 -15
  102. package/lib/modules/participant/components/attendee/components/interpreter-tag/index.d.ts +3 -0
  103. package/lib/modules/participant/components/attendee/components/interpreter-tag/index.js +48 -0
  104. package/lib/modules/participant/components/confirm-input/index.d.ts +6 -0
  105. package/lib/modules/participant/components/confirm-input/index.js +49 -0
  106. package/lib/modules/participant/components/drop-menu/util.d.ts +5 -0
  107. package/lib/modules/participant/components/drop-menu/util.js +28 -0
  108. package/lib/modules/participant/components/participants/components/footer/components/buttons.d.ts +6 -0
  109. package/lib/modules/participant/components/participants/components/footer/components/buttons.js +52 -0
  110. package/lib/modules/participant/components/participants/components/footer/components/drop-menu/index.css +60 -0
  111. package/lib/modules/participant/components/participants/components/footer/components/drop-menu/index.d.ts +2 -0
  112. package/lib/modules/participant/components/participants/components/footer/components/drop-menu/index.js +166 -0
  113. package/lib/modules/participant/components/participants/components/footer/components/drop-menu/util.d.ts +5 -0
  114. package/lib/modules/participant/components/participants/components/footer/components/drop-menu/util.js +28 -0
  115. package/lib/modules/participant/components/participants/components/footer/components/footer/index.css +13 -0
  116. package/lib/modules/participant/components/participants/components/footer/components/footer/index.d.ts +5 -0
  117. package/lib/modules/participant/components/participants/components/footer/components/footer/index.js +242 -0
  118. package/lib/modules/participant/components/participants/components/footer/index.d.ts +5 -0
  119. package/lib/modules/participant/components/participants/components/footer/index.js +47 -0
  120. package/lib/modules/participant/components/participants/components/merge/index.d.ts +11 -0
  121. package/lib/modules/participant/components/participants/components/merge/index.js +49 -0
  122. package/lib/modules/participant/components/participants/components/participants/components/attendee/index.css +191 -0
  123. package/lib/modules/participant/components/participants/components/participants/components/attendee/index.d.ts +4 -0
  124. package/lib/modules/participant/components/participants/components/participants/components/attendee/index.js +204 -0
  125. package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.css +49 -0
  126. package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.d.ts +5 -0
  127. package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.js +219 -0
  128. package/lib/modules/participant/components/participants/components/participants/components/user-row/index.d.ts +5 -0
  129. package/lib/modules/participant/components/participants/components/participants/components/user-row/index.js +70 -0
  130. package/lib/modules/participant/components/participants/components/participants/index.css +104 -0
  131. package/lib/modules/participant/components/participants/components/participants/index.d.ts +3 -0
  132. package/lib/modules/participant/components/participants/components/participants/index.js +110 -0
  133. package/lib/modules/participant/components/participants/components/render-tab/index.d.ts +2 -0
  134. package/lib/modules/participant/components/participants/components/render-tab/index.js +49 -0
  135. package/lib/modules/participant/components/participants/components/render-user/components/attendee/components/interpreter-tag/index.d.ts +3 -0
  136. package/lib/modules/participant/components/participants/components/render-user/components/attendee/components/interpreter-tag/index.js +48 -0
  137. package/lib/modules/participant/components/participants/components/render-user/components/attendee/components/microphone-indicator/index.d.ts +6 -0
  138. package/lib/modules/participant/components/participants/components/render-user/components/attendee/components/microphone-indicator/index.js +28 -0
  139. package/lib/modules/participant/components/participants/components/render-user/components/attendee/components/user-avatar/index.d.ts +7 -0
  140. package/lib/modules/participant/components/participants/components/render-user/components/attendee/components/user-avatar/index.js +39 -0
  141. package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.css +69 -0
  142. package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.d.ts +5 -0
  143. package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.js +135 -0
  144. package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/audio-button/index.d.ts +7 -0
  145. package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/audio-button/index.js +31 -0
  146. package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/move-actions-popover/index.d.ts +12 -0
  147. package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/move-actions-popover/index.js +82 -0
  148. package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/move-to-mainroom-button/index.d.ts +4 -0
  149. package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/move-to-mainroom-button/index.js +26 -0
  150. package/lib/modules/participant/components/participants/components/render-user/components/user-action/index.d.ts +2 -0
  151. package/lib/modules/participant/components/participants/components/render-user/components/user-action/index.js +75 -0
  152. package/lib/modules/participant/components/participants/components/render-user/index.d.ts +5 -0
  153. package/lib/modules/participant/components/participants/components/render-user/index.js +21 -0
  154. package/lib/modules/participant/components/participants/render-tab/index.d.ts +2 -0
  155. package/lib/modules/participant/components/participants/render-tab/index.js +49 -0
  156. package/lib/modules/participant/components/participants/render-user/index.d.ts +5 -0
  157. package/lib/modules/participant/components/participants/render-user/index.js +21 -0
  158. package/lib/modules/participant/components/participants/types.d.ts +96 -0
  159. package/lib/modules/participant/components/participants/types.js +37 -0
  160. package/lib/modules/participant/components/user-action/audio-button/index.d.ts +7 -0
  161. package/lib/modules/participant/components/user-action/audio-button/index.js +31 -0
  162. package/lib/modules/participant/components/user-action/move-actions-popover/index.d.ts +12 -0
  163. package/lib/modules/participant/components/user-action/move-actions-popover/index.js +82 -0
  164. package/lib/modules/participant/components/user-action/move-to-mainroom-button/index.d.ts +4 -0
  165. package/lib/modules/participant/components/user-action/move-to-mainroom-button/index.js +26 -0
  166. package/lib/modules/share-screen/selection/index.css +4 -0
  167. package/lib/modules/share-screen/selection/index.js +126 -129
  168. package/lib/modules/share-screen/share-state-bar/index.js +1 -1
  169. package/lib/modules/state-bar/meeting-details.js +29 -34
  170. package/lib/modules/video-window/components/deviceState/index.d.ts +7 -0
  171. package/lib/modules/video-window/components/deviceState/index.js +75 -0
  172. package/lib/modules/video-window/components/members/index.css +51 -0
  173. package/lib/modules/video-window/components/members/index.d.ts +2 -0
  174. package/lib/modules/video-window/components/members/index.js +130 -0
  175. package/lib/modules/video-window/components/speaking/index.css +86 -0
  176. package/lib/modules/video-window/components/speaking/index.d.ts +3 -0
  177. package/lib/modules/video-window/components/speaking/index.js +48 -0
  178. package/lib/modules/video-window/components/topControl/index.css +35 -0
  179. package/lib/modules/video-window/components/topControl/index.d.ts +3 -0
  180. package/lib/modules/video-window/components/topControl/index.js +79 -0
  181. package/lib/modules/widget/index.css +17 -0
  182. package/lib/modules/widget/index.d.ts +10 -0
  183. package/lib/modules/widget/index.js +114 -0
  184. package/lib/modules/widget/sdk.d.ts +30 -0
  185. package/lib/modules/widget/sdk.js +221 -0
  186. package/lib/modules/widget/store.d.ts +14 -0
  187. package/lib/modules/widget/store.js +28 -0
  188. package/lib/modules/widget/type.d.ts +155 -0
  189. package/lib/modules/widget/type.js +6 -0
  190. package/lib/modules/widget/view.d.ts +2 -0
  191. package/lib/modules/widget/view.js +47 -0
  192. package/lib/modules/widget/web-widget.d.ts +29 -0
  193. package/lib/modules/widget/web-widget.js +234 -0
  194. package/lib/providers/ability-provider.d.ts +24 -0
  195. package/lib/providers/ability-provider.js +36 -0
  196. package/lib/providers/widget-provider.d.ts +44 -0
  197. package/lib/providers/widget-provider.js +167 -0
  198. package/lib/schema.d.ts +114 -0
  199. package/lib/schema.js +77 -0
  200. package/lib/shared-data-source/member-data.d.ts +126 -0
  201. package/lib/shared-data-source/member-data.js +465 -0
  202. package/lib/translations/enUS.d.ts +5 -0
  203. package/lib/translations/enUS.js +9 -3
  204. package/lib/translations/zhCN.d.ts +5 -0
  205. package/lib/translations/zhCN.js +13 -7
  206. package/lib/utilities/extract.d.ts +1 -1
  207. package/lib/utilities/logger.d.ts +8 -0
  208. package/lib/utilities/logger.js +42 -0
  209. package/lib/utilities/meeting-detail.d.ts +2 -0
  210. package/lib/utilities/meeting-detail.js +56 -0
  211. package/lib/utilities/validate-params.d.ts +2 -0
  212. package/lib/utilities/validate-params.js +16 -0
  213. package/lib/widget-sdk.d.ts +2 -0
  214. package/lib/widget-sdk.js +13 -0
  215. package/package.json +5 -5
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+ var _mobxReact = require("mobx-react");
10
+ var _react = require("react");
11
+ var _store = require("../../store");
12
+ var _tabs = require("agora-ui-foundation/lib/components/tabs");
13
+ var _fcr_chat_reddot = _interopRequireDefault(require("../../../../../public/assets/fcr_chat_reddot.svg"));
14
+ var _i18n = require("agora-ui-foundation/lib/i18n");
15
+ var _type = require("../../../../type");
16
+ var _jsxRuntime = require("react/jsx-runtime");
17
+ var _default = exports["default"] = (0, _mobxReact.observer)(function () {
18
+ var _useContext = (0, _react.useContext)(_store.StoreContext),
19
+ chatRoomStores = _useContext.chatRoomStores,
20
+ activeTabIndex = _useContext.activeTabIndex,
21
+ handlerActiveTab = _useContext.handlerActiveTab;
22
+ var chatRoomWaitingRoomStore = chatRoomStores[_type.FcrUIRoomType.WAITING_ROOM];
23
+ var chatRoomMainRoomStore = chatRoomStores[_type.FcrUIRoomType.MAIN_ROOM];
24
+ var t = (0, _i18n.useI18n)();
25
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
26
+ className: "chat-tabs-container",
27
+ children: chatRoomWaitingRoomStore && chatRoomMainRoomStore && chatRoomWaitingRoomStore.userCount > 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_tabs.FcrTabs, {
28
+ items: [{
29
+ label: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
30
+ className: "chat-container-icon",
31
+ children: [chatRoomMainRoomStore.unReadMsgCount > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
32
+ className: "fcr-action-bar-chat-unread-count",
33
+ children: chatRoomMainRoomStore.unReadMsgCount > 99 ? /*#__PURE__*/(0, _jsxRuntime.jsx)("img", {
34
+ src: _fcr_chat_reddot["default"]
35
+ }) : chatRoomMainRoomStore.unReadMsgCount
36
+ }), t('fmt_waitingroom_sidebar_chat_label_meeting', {
37
+ reason1: chatRoomMainRoomStore.userCount
38
+ })]
39
+ }),
40
+ key: "".concat(_type.FcrUIRoomType.MAIN_ROOM)
41
+ }, {
42
+ label: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
43
+ className: "chat-container-icon",
44
+ children: [chatRoomWaitingRoomStore.unReadMsgCount > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
45
+ className: "fcr-action-bar-chat-unread-count",
46
+ children: chatRoomWaitingRoomStore.unReadMsgCount > 99 ? /*#__PURE__*/(0, _jsxRuntime.jsx)("img", {
47
+ src: _fcr_chat_reddot["default"]
48
+ }) : chatRoomWaitingRoomStore.unReadMsgCount
49
+ }), t('fmt_waitingroom_sidebar_label_waiting', {
50
+ reason1: chatRoomWaitingRoomStore.userCount
51
+ })]
52
+ }),
53
+ key: "".concat(_type.FcrUIRoomType.WAITING_ROOM)
54
+ }],
55
+ activeKey: "".concat(activeTabIndex),
56
+ onChange: function onChange(key) {
57
+ handlerActiveTab(key);
58
+ }
59
+ }) : null
60
+ });
61
+ });
@@ -0,0 +1,2 @@
1
+ declare const _default: () => import("react/jsx-runtime").JSX.Element;
2
+ export default _default;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+ var _i18n = require("agora-ui-foundation/lib/i18n");
10
+ var _fcr_defaultpage = _interopRequireDefault(require("../../../../../../public/assets/fcr_defaultpage.png"));
11
+ var _jsxRuntime = require("react/jsx-runtime");
12
+ var _default = exports["default"] = function _default() {
13
+ var t = (0, _i18n.useI18n)();
14
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
15
+ className: "fcr-no-data-chat",
16
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("img", {
17
+ style: {
18
+ width: 138,
19
+ height: 100
20
+ },
21
+ src: _fcr_defaultpage["default"]
22
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
23
+ children: t('fmt_chat_tips_nodata')
24
+ })]
25
+ });
26
+ };
@@ -0,0 +1,7 @@
1
+ type IHistoryUnreadMessageButton = {
2
+ historyMsgVisible: boolean;
3
+ scrollToIdx: (idx: number) => void;
4
+ setHistoryMsgVisible: (visible: boolean) => void;
5
+ };
6
+ declare const _default: (props: IHistoryUnreadMessageButton) => import("react/jsx-runtime").JSX.Element;
7
+ export default _default;
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ require("core-js/modules/es.array.find-index.js");
9
+ var _latestButton = require("agora-ui-foundation/lib/components/latest-button");
10
+ var _mobxReact = require("mobx-react");
11
+ var _react = require("react");
12
+ var _store = require("../../../store");
13
+ var _i18n = require("agora-ui-foundation/lib/i18n");
14
+ var _jsxRuntime = require("react/jsx-runtime");
15
+ var _default = exports["default"] = (0, _mobxReact.observer)(function (props) {
16
+ var t = (0, _i18n.useI18n)();
17
+ var _useContext = (0, _react.useContext)(_store.StoreContext),
18
+ chatRoomStores = _useContext.chatRoomStores,
19
+ activeTabIndex = _useContext.activeTabIndex;
20
+ var _ref = chatRoomStores[activeTabIndex],
21
+ messageList = _ref.messageList,
22
+ historyUnreadCount = _ref.historyUnreadCount,
23
+ updateHistoryUnReadCount = _ref.updateHistoryUnReadCount,
24
+ readMsgIndex = _ref.readMsgIndex,
25
+ updateReadMsgIndex = _ref.updateReadMsgIndex;
26
+ var historyMsgVisible = props.historyMsgVisible,
27
+ scrollToIdx = props.scrollToIdx,
28
+ setHistoryMsgVisible = props.setHistoryMsgVisible;
29
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
30
+ children: historyMsgVisible && messageList.length > 0 && historyUnreadCount > 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_latestButton.LatestButton, {
31
+ onClick: function onClick() {
32
+ var len = messageList.length;
33
+ // 回到历史消息指定位置
34
+ var idx = (readMsgIndex === null || readMsgIndex === void 0 ? void 0 : readMsgIndex.index) < 0 ? 0 : messageList.findIndex(function (msg) {
35
+ return msg.id === readMsgIndex.msgId;
36
+ });
37
+ scrollToIdx(idx);
38
+ setHistoryMsgVisible(false);
39
+ updateReadMsgIndex && updateReadMsgIndex({
40
+ index: len - 1,
41
+ msgId: messageList[len - 1].id
42
+ });
43
+ updateHistoryUnReadCount(0);
44
+ },
45
+ txt: "".concat(t('fmt_chat_tips_newmessage', {
46
+ reason1: historyUnreadCount
47
+ })),
48
+ iconTransform: true,
49
+ direction: "top",
50
+ styles: {
51
+ zIndex: 999
52
+ }
53
+ }) : null
54
+ });
55
+ });
@@ -0,0 +1,15 @@
1
+ import { MsgListType } from '../../../types';
2
+ import { MeasuredCellParent } from 'react-virtualized/dist/es/CellMeasurer';
3
+ type IMessageItem = {
4
+ messageItem: MsgListType;
5
+ index: number;
6
+ localUserId: string | undefined;
7
+ key: string;
8
+ parent: MeasuredCellParent;
9
+ style: React.CSSProperties | undefined;
10
+ multiSelectActive: boolean | undefined;
11
+ setMultiSelectActive: ((active: boolean) => void) | undefined;
12
+ scrollToIdx: (idx: number) => void;
13
+ };
14
+ declare const _default: (props: IMessageItem) => import("react/jsx-runtime").JSX.Element;
15
+ export default _default;
@@ -0,0 +1,279 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.symbol.js");
4
+ require("core-js/modules/es.array.filter.js");
5
+ require("core-js/modules/es.array.for-each.js");
6
+ require("core-js/modules/es.array.push.js");
7
+ require("core-js/modules/es.object.define-properties.js");
8
+ require("core-js/modules/es.object.define-property.js");
9
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
10
+ require("core-js/modules/es.object.get-own-property-descriptors.js");
11
+ require("core-js/modules/es.object.keys.js");
12
+ require("core-js/modules/es.object.to-string.js");
13
+ require("core-js/modules/esnext.async-iterator.filter.js");
14
+ require("core-js/modules/esnext.async-iterator.for-each.js");
15
+ require("core-js/modules/esnext.iterator.constructor.js");
16
+ require("core-js/modules/esnext.iterator.filter.js");
17
+ require("core-js/modules/esnext.iterator.for-each.js");
18
+ require("core-js/modules/web.dom-collections.for-each.js");
19
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
20
+ Object.defineProperty(exports, "__esModule", {
21
+ value: true
22
+ });
23
+ exports["default"] = void 0;
24
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
25
+ require("core-js/modules/es.array.concat.js");
26
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
27
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
28
+ var _messageLabel = require("agora-ui-foundation/lib/components/message-label");
29
+ var _textBubble = require("agora-ui-foundation/lib/components/text-bubble");
30
+ var _i18n = require("agora-ui-foundation/lib/i18n");
31
+ var _mobxReact = require("mobx-react");
32
+ var _types = require("../../../types");
33
+ var _classnames = _interopRequireDefault(require("classnames"));
34
+ var _multiSelectCheckbox = require("agora-ui-foundation/lib/components/multi-select-checkbox");
35
+ var _messageBubble = require("agora-ui-foundation/lib/components/message-bubble");
36
+ var _react = require("react");
37
+ var _store = require("../../../store");
38
+ var _avatar = require("agora-ui-foundation/lib/components/avatar");
39
+ var _multiSelect = require("agora-ui-foundation/lib/components/multi-select");
40
+ var _reactVirtualized = require("react-virtualized");
41
+ var _util = require("../../../util");
42
+ var _copyText = require("../../../../../utilities/copyText");
43
+ var _jsxRuntime = require("react/jsx-runtime");
44
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
45
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
46
+ var _default = exports["default"] = (0, _mobxReact.observer)(function (props) {
47
+ var _copyMap$size, _arr, _arr2, _arr3, _arr4;
48
+ var _useContext = (0, _react.useContext)(_store.StoreContext),
49
+ chatRoomStores = _useContext.chatRoomStores,
50
+ activeTabIndex = _useContext.activeTabIndex,
51
+ copyMap = _useContext.copyMap,
52
+ handleSelectMsg = _useContext.handleSelectMsg;
53
+ var _ref = chatRoomStores[activeTabIndex],
54
+ messageList = _ref.messageList,
55
+ list = _ref.list,
56
+ cache = _ref.cache,
57
+ needRecomputeRowIdMap = _ref.needRecomputeRowIdMap,
58
+ viewIdx = _ref.viewIdx,
59
+ setLastScrollTop = _ref.setLastScrollTop,
60
+ permitPrivateChat = _ref.permitPrivateChat,
61
+ handleToast = _ref.handleToast;
62
+ var datum = props.messageItem,
63
+ index = props.index,
64
+ localUserId = props.localUserId,
65
+ key = props.key,
66
+ parent = props.parent,
67
+ style = props.style,
68
+ multiSelectActive = props.multiSelectActive,
69
+ setMultiSelectActive = props.setMultiSelectActive,
70
+ scrollToIdx = props.scrollToIdx;
71
+ var t = (0, _i18n.useI18n)();
72
+ var publisherRole = datum.role,
73
+ time = datum.time,
74
+ _datum$msg = datum.msg,
75
+ msg = _datum$msg === void 0 ? '' : _datum$msg,
76
+ color = datum.color,
77
+ publisherNickName = datum.nickName,
78
+ publisherUid = datum.uid,
79
+ isPrivate = datum.isPrivate,
80
+ targetNickname = datum.target,
81
+ chatLevel = datum.chatLevel;
82
+ var arr = messageList;
83
+ var idx = index;
84
+ var systemMsg = datum.systemMsg;
85
+ var publisherIsSelf = publisherUid === localUserId;
86
+ var checked = (copyMap === null || copyMap === void 0 ? void 0 : copyMap.get(idx)) || false;
87
+ var checkDisabled = ((_copyMap$size = copyMap.size) !== null && _copyMap$size !== void 0 ? _copyMap$size : 0) >= _multiSelect.MAX_SELECT_CNT && !checked;
88
+ var needLabel = ((_arr = arr[idx - 1]) === null || _arr === void 0 ? void 0 : _arr.uid) !== publisherUid || ((_arr2 = arr[idx - 1]) === null || _arr2 === void 0 ? void 0 : _arr2.isPrivate) !== isPrivate || ((_arr3 = arr[idx - 1]) === null || _arr3 === void 0 ? void 0 : _arr3.role) !== publisherRole || ((_arr4 = arr[idx - 1]) === null || _arr4 === void 0 ? void 0 : _arr4.target) !== targetNickname;
89
+ if (needLabel) {
90
+ needRecomputeRowIdMap.set(datum.id, idx);
91
+ }
92
+ var isManager = publisherRole === 'host' || publisherRole === 'union-host';
93
+ var isFile = datum !== null && datum !== void 0 && datum.img ? true : false;
94
+ var handleCopyMsg = /*#__PURE__*/function () {
95
+ var _ref2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(msg, time, publisherNickName, targetNickname) {
96
+ var msgHandled;
97
+ return _regenerator["default"].wrap(function _callee$(_context) {
98
+ while (1) switch (_context.prev = _context.next) {
99
+ case 0:
100
+ msgHandled = (0, _i18n.getLanguage)() === 'zh' ? "".concat(publisherNickName, "\u5BF9").concat(targetNickname, "\u8BF4(").concat(time, ")\n").concat(msg) : "".concat(publisherNickName, " said to ").concat(targetNickname, "(").concat(time, ")\n").concat(msg);
101
+ _context.next = 3;
102
+ return (0, _copyText.copyText)(msgHandled);
103
+ case 3:
104
+ handleToast({
105
+ id: 'copy-multi-msg',
106
+ toastProps: {
107
+ type: 'normal',
108
+ content: t('fmt_statusbar_status_coppied'),
109
+ size: 'small'
110
+ }
111
+ });
112
+ case 4:
113
+ case "end":
114
+ return _context.stop();
115
+ }
116
+ }, _callee);
117
+ }));
118
+ return function handleCopyMsg(_x, _x2, _x3, _x4) {
119
+ return _ref2.apply(this, arguments);
120
+ };
121
+ }();
122
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactVirtualized.CellMeasurer, {
123
+ cache: cache,
124
+ columnIndex: 0,
125
+ rowIndex: index,
126
+ parent: parent,
127
+ children: function children() {
128
+ var _arr5;
129
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
130
+ style: _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, style), {}, {
131
+ display: 'flex',
132
+ flexDirection: 'column'
133
+ }, systemMsg ? {
134
+ width: '100%'
135
+ } : {
136
+ width: 'auto'
137
+ }), systemMsg ? {} : publisherIsSelf ? {
138
+ marginRight: 15,
139
+ marginLeft: multiSelectActive ? 8 : 25,
140
+ alignItems: 'flex-end',
141
+ right: 0
142
+ } : {
143
+ marginRight: 15,
144
+ marginLeft: multiSelectActive ? 8 : 15,
145
+ alignItems: 'flex-start'
146
+ }), {}, {
147
+ pointerEvents: 'all'
148
+ }, index === 0 ? {
149
+ paddingTop: 10
150
+ } : {}),
151
+ id: String(idx),
152
+ children: systemMsg ? publisherRole === 'system' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_textBubble.TextBubble, {
153
+ txt: (0, _util.handleMessageTime)(time),
154
+ type: "transparent",
155
+ bold: true,
156
+ lineHeight: "small",
157
+ styles: {
158
+ marginBottom: 16
159
+ }
160
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_textBubble.TextBubble, {
161
+ classnames: "fcr-line-system-message",
162
+ txt: "".concat((0, _util.handleChatLevelChangedSystemMsg)(t, chatLevel, publisherRole, publisherNickName, publisherIsSelf)),
163
+ marginBottom: 15
164
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
165
+ children: [needLabel && /*#__PURE__*/(0, _jsxRuntime.jsx)(_messageLabel.MessageLabel, {
166
+ handleClickPrivateChat: function handleClickPrivateChat() {
167
+ permitPrivateChat(publisherUid);
168
+ },
169
+ styles: {
170
+ marginLeft: publisherUid !== localUserId && multiSelectActive ? 24 : 0,
171
+ marginTop: index === 0 ? 0 : 15
172
+ },
173
+ color: color,
174
+ time: (0, _util.handleMessageTime)(time),
175
+ publisher: publisherNickName,
176
+ avatar: publisherUid !== localUserId ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_avatar.FcrAvatar, {
177
+ size: 24,
178
+ textSize: 24,
179
+ nickName: publisherNickName
180
+ }) : null,
181
+ publisherIsSelf: publisherIsSelf,
182
+ targetIsSelf: isPrivate,
183
+ target: targetNickname || _types.ALL_TO_USER.userName,
184
+ isPrivate: isPrivate,
185
+ tag: isManager ? /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
186
+ className: (0, _classnames["default"])('fcr-msg-tag', {
187
+ 'fcr-msg-tag--union': publisherRole === 'union-host'
188
+ }),
189
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
190
+ children: publisherRole === 'host' ? t('fmt_role_host') : t('fmt_role_cohost')
191
+ })
192
+ }) : null
193
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
194
+ className: "fcr-line-message",
195
+ style: {
196
+ display: 'flex',
197
+ alignItems: 'center',
198
+ justifyContent: publisherIsSelf ? multiSelectActive ? 'space-between' : 'flex-end' : 'flex-start',
199
+ flexDirection: 'row',
200
+ width: '100%'
201
+ },
202
+ children: [multiSelectActive && !systemMsg && /*#__PURE__*/(0, _jsxRuntime.jsx)(_multiSelectCheckbox.MultiSelectCheckbox, {
203
+ self: publisherIsSelf,
204
+ checked: checked,
205
+ nextMsgBelongSameUser: ((_arr5 = arr[idx + 1]) === null || _arr5 === void 0 ? void 0 : _arr5.uid) === publisherUid,
206
+ checkDisabled: checkDisabled || isFile,
207
+ onChange: function onChange(checked) {
208
+ if (checkDisabled) return;
209
+ handleSelectMsg(idx, checked);
210
+ }
211
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
212
+ onClick: function onClick() {
213
+ if (!multiSelectActive || checkDisabled) {
214
+ return;
215
+ }
216
+ var newChecked = !checked;
217
+ handleSelectMsg(idx, newChecked);
218
+ },
219
+ style: {
220
+ // marginLeft: uid !== userId && multiSelectActive ? 24 : 0,
221
+ },
222
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_messageBubble.MessageBubble, {
223
+ file: datum === null || datum === void 0 ? void 0 : datum.img,
224
+ msg: msg,
225
+ role: publisherRole,
226
+ isSelf: publisherIsSelf
227
+ // 消息间间距
228
+ ,
229
+ marginBottom: 'small',
230
+ styles: {
231
+ marginLeft: publisherUid !== localUserId && !multiSelectActive ? 34 : 0,
232
+ width: 'auto'
233
+ },
234
+ onCopy: (/*#__PURE__*/function () {
235
+ var _ref3 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(type) {
236
+ var currentScrollTop;
237
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
238
+ while (1) switch (_context2.prev = _context2.next) {
239
+ case 0:
240
+ if (!(type === 'singling')) {
241
+ _context2.next = 5;
242
+ break;
243
+ }
244
+ _context2.next = 3;
245
+ return handleCopyMsg(msg, (0, _util.handleMessageTime)(time), publisherIsSelf && isPrivate ? t('fmt_settings_labels_you') : publisherNickName, // 你
246
+ targetNickname !== null && targetNickname !== void 0 ? targetNickname : _types.ALL_TO_USER.userName);
247
+ case 3:
248
+ _context2.next = 6;
249
+ break;
250
+ case 5:
251
+ if (type === 'multiple') {
252
+ currentScrollTop = list === null || list === void 0 ? void 0 : list.getOffsetForRow({
253
+ index: idx
254
+ });
255
+ scrollToIdx(viewIdx);
256
+ setLastScrollTop(currentScrollTop);
257
+ setMultiSelectActive && setMultiSelectActive(true);
258
+ }
259
+ case 6:
260
+ case "end":
261
+ return _context2.stop();
262
+ }
263
+ }, _callee2);
264
+ }));
265
+ return function (_x5) {
266
+ return _ref3.apply(this, arguments);
267
+ };
268
+ }()),
269
+ onPrivate: function onPrivate() {
270
+ permitPrivateChat(publisherUid);
271
+ }
272
+ })
273
+ })]
274
+ })]
275
+ })
276
+ });
277
+ }
278
+ }, key);
279
+ });
@@ -0,0 +1,9 @@
1
+ type IScrollBottomButton = {
2
+ latestBtnVisible: boolean;
3
+ scrollToIdx: (idx: number) => void;
4
+ setLatestBtnVisible: (visible: boolean) => void;
5
+ scrollIndex: number | undefined;
6
+ latestBtnVisibleFlagRef: React.MutableRefObject<boolean>;
7
+ };
8
+ declare const _default: (props: IScrollBottomButton) => import("react/jsx-runtime").JSX.Element;
9
+ export default _default;
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _latestButton = require("agora-ui-foundation/lib/components/latest-button");
9
+ var _mobxReact = require("mobx-react");
10
+ var _react = require("react");
11
+ var _store = require("../../../store");
12
+ var _i18n = require("agora-ui-foundation/lib/i18n");
13
+ var _jsxRuntime = require("react/jsx-runtime");
14
+ var _default = exports["default"] = (0, _mobxReact.observer)(function (props) {
15
+ var t = (0, _i18n.useI18n)();
16
+ var _useContext = (0, _react.useContext)(_store.StoreContext),
17
+ chatRoomStores = _useContext.chatRoomStores,
18
+ activeTabIndex = _useContext.activeTabIndex;
19
+ var _ref = chatRoomStores[activeTabIndex],
20
+ forceNotifyMsgs = _ref.forceNotifyMsgs,
21
+ messageList = _ref.messageList,
22
+ readIdx = _ref.readIdx,
23
+ list = _ref.list,
24
+ clientHeight = _ref.clientHeight,
25
+ scrollHeight = _ref.scrollHeight,
26
+ updateReadMsgIndex = _ref.updateReadMsgIndex,
27
+ newMsgsUnReadCnt = _ref.newMsgsUnReadCnt;
28
+ var latestBtnVisible = props.latestBtnVisible,
29
+ scrollToIdx = props.scrollToIdx,
30
+ setLatestBtnVisible = props.setLatestBtnVisible,
31
+ scrollIndex = props.scrollIndex,
32
+ latestBtnVisibleFlagRef = props.latestBtnVisibleFlagRef;
33
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
34
+ children: latestBtnVisible === true ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_latestButton.LatestButton, {
35
+ onClick: function onClick() {
36
+ var _messageList;
37
+ forceNotifyMsgs();
38
+ var len = messageList.length;
39
+
40
+ // 回到最新消息的第一条
41
+ if (readIdx === len - 1) {
42
+ // 没有新消息
43
+ if (scrollIndex === len - 1) {
44
+ list === null || list === void 0 || list.scrollToPosition(scrollHeight - clientHeight);
45
+ } else {
46
+ scrollToIdx(len - 1);
47
+ }
48
+ }
49
+ setLatestBtnVisible(false);
50
+ latestBtnVisibleFlagRef.current = false;
51
+ updateReadMsgIndex && updateReadMsgIndex({
52
+ index: len - 1,
53
+ msgId: (_messageList = messageList[len - 1]) === null || _messageList === void 0 ? void 0 : _messageList.id
54
+ });
55
+ },
56
+ txt: "".concat(
57
+ // readIdx === messageList.length - 1
58
+ newMsgsUnReadCnt === 0 ? t('fmt_chat_button_latestlocation') // 回到最新位置
59
+ : t('fmt_chat_tips_newmessage', {
60
+ reason1: newMsgsUnReadCnt || messageList.length - 1 - readIdx
61
+ })),
62
+ styles: {
63
+ zIndex: 999
64
+ }
65
+ }) : null
66
+ });
67
+ });