fcr-ui-scene 3.7.7-rc.1 → 3.7.8
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.
- package/lib/creator/provider-initializer.browser.js +2 -2
- package/lib/creator/provider-initializer.electron.js +2 -2
- package/lib/creator.d.ts +36 -0
- package/lib/creator.js +465 -0
- package/lib/electron/bootstrap-sdk.js +70 -33
- package/lib/electron/hang-detection/index.d.ts +3 -0
- package/lib/electron/hang-detection/index.js +15 -0
- package/lib/electron/hang-detection/manager.d.ts +28 -0
- package/lib/electron/hang-detection/manager.js +231 -0
- package/lib/electron/hang-detection/types.d.ts +14 -0
- package/lib/electron/hang-detection/types.js +6 -0
- package/lib/electron/until.d.ts +1 -4
- package/lib/electron/until.js +9 -4
- package/lib/modules/action-bar/components/screen-share/index.electron.js +1 -1
- package/lib/modules/action-bar/index.d.ts +56 -0
- package/lib/modules/action-bar/index.dev.d.ts +0 -0
- package/lib/modules/action-bar/index.dev.js +94 -0
- package/lib/modules/action-bar/index.js +108 -0
- package/lib/modules/action-bar/store.d.ts +256 -0
- package/lib/modules/action-bar/store.js +1572 -0
- package/lib/modules/action-bar/types.d.ts +90 -0
- package/lib/modules/action-bar/types.js +6 -0
- package/lib/modules/action-bar/view.d.ts +5 -0
- package/lib/modules/action-bar/view.js +112 -0
- package/lib/modules/annotation/annotation-index.d.ts +2 -0
- package/lib/modules/annotation/annotation-index.js +80 -0
- package/lib/modules/annotation/annotation-toolbar-store.d.ts +75 -0
- package/lib/modules/annotation/annotation-toolbar-store.js +459 -0
- package/lib/modules/annotation/board-cursor.css +77 -0
- package/lib/modules/annotation/components/color-picker/components/color.d.ts +5 -0
- package/lib/modules/annotation/components/color-picker/components/color.js +38 -0
- package/lib/modules/annotation/components/color-picker/components/panel.d.ts +1 -0
- package/lib/modules/annotation/components/color-picker/components/panel.js +109 -0
- package/lib/modules/annotation/components/color-picker/components/picker.d.ts +1 -0
- package/lib/modules/annotation/components/color-picker/components/picker.js +75 -0
- package/lib/modules/annotation/components/color-picker/index.d.ts +2 -0
- package/lib/modules/annotation/components/color-picker/index.js +47 -0
- package/lib/modules/annotation/components/eraser-picker.d.ts +4 -0
- package/lib/modules/annotation/components/eraser-picker.js +144 -0
- package/lib/modules/annotation/components/expansion/index.d.ts +1 -0
- package/lib/modules/annotation/components/expansion/index.js +100 -0
- package/lib/modules/annotation/components/extra-tool-picker.d.ts +1 -0
- package/lib/modules/annotation/components/extra-tool-picker.js +62 -0
- package/lib/modules/annotation/components/history.d.ts +2 -0
- package/lib/modules/annotation/components/history.js +78 -0
- package/lib/modules/annotation/components/icons/fold-icon.d.ts +2 -0
- package/lib/modules/annotation/components/icons/fold-icon.js +41 -0
- package/lib/modules/annotation/components/icons/move-icon.d.ts +1 -0
- package/lib/modules/annotation/components/icons/move-icon.js +66 -0
- package/lib/modules/annotation/components/item/index.d.ts +1 -0
- package/lib/modules/annotation/components/item/index.js +43 -0
- package/lib/modules/annotation/components/move-handle.d.ts +5 -0
- package/lib/modules/annotation/components/move-handle.js +134 -0
- package/lib/modules/annotation/components/pen-picker.d.ts +4 -0
- package/lib/modules/annotation/components/pen-picker.js +155 -0
- package/lib/modules/annotation/components/screen-capture-picker.d.ts +4 -0
- package/lib/modules/annotation/components/screen-capture-picker.js +85 -0
- package/lib/modules/annotation/components/shape-picker.d.ts +4 -0
- package/lib/modules/annotation/components/shape-picker.js +210 -0
- package/lib/modules/annotation/hooks/index.d.ts +14 -0
- package/lib/modules/annotation/hooks/index.js +292 -0
- package/lib/modules/annotation/index.d.ts +45 -0
- package/lib/modules/annotation/index.js +168 -0
- package/lib/modules/annotation/store.d.ts +98 -0
- package/lib/modules/annotation/store.js +621 -0
- package/lib/modules/annotation/style.css +36 -0
- package/lib/modules/annotation/view.d.ts +3 -0
- package/lib/modules/annotation/view.js +44 -0
- package/lib/modules/components/control-bar/components/switch-theme/index.js +4 -2
- package/lib/modules/components/control-bar/index.js +1 -3
- package/lib/modules/components/device-control/store.d.ts +42 -0
- package/lib/modules/components/device-control/store.js +241 -0
- package/lib/modules/components/leave-meeting/store.d.ts +39 -0
- package/lib/modules/components/leave-meeting/store.js +270 -0
- package/lib/modules/control-bar/components/annotation-button/index.d.ts +1 -0
- package/lib/modules/control-bar/components/annotation-button/index.js +72 -0
- package/lib/modules/control-bar/types.d.ts +20 -0
- package/lib/modules/control-bar/types.js +6 -0
- package/lib/modules/dialog/dialogs/pre-setting/index.css +26 -0
- package/lib/modules/dialog/dialogs/pre-setting/index.d.ts +6 -0
- package/lib/modules/dialog/dialogs/pre-setting/index.js +62 -0
- package/lib/modules/dialog/dialogs/widget/electron.d.ts +6 -0
- package/lib/modules/dialog/dialogs/widget/electron.js +38 -0
- package/lib/modules/dialog/hooks/use-popover-watcher.d.ts +14 -0
- package/lib/modules/dialog/hooks/use-popover-watcher.js +110 -0
- package/lib/modules/dialog/hooks/useElectron.d.ts +28 -0
- package/lib/modules/dialog/hooks/useElectron.js +277 -0
- package/lib/modules/dialog/store.d.ts +135 -0
- package/lib/modules/dialog/store.js +616 -0
- package/lib/modules/event-confirm/components/window/index.d.ts +4 -0
- package/lib/modules/event-confirm/components/window/index.js +197 -0
- package/lib/modules/event-confirm/index.css +24 -0
- package/lib/modules/event-confirm/index.d.ts +27 -0
- package/lib/modules/event-confirm/index.js +76 -0
- package/lib/modules/event-confirm/store.d.ts +45 -0
- package/lib/modules/event-confirm/store.js +345 -0
- package/lib/modules/event-confirm/view.d.ts +2 -0
- package/lib/modules/event-confirm/view.js +53 -0
- package/lib/modules/event-toast/store.d.ts +27 -0
- package/lib/modules/event-toast/store.js +205 -0
- package/lib/modules/layout/store.d.ts +176 -0
- package/lib/modules/layout/store.js +1466 -0
- package/lib/modules/participant/store.base.js +0 -1
- package/lib/modules/participant/store.d.ts +222 -0
- package/lib/modules/participant/store.js +1927 -0
- package/lib/modules/pc-audio-connect/index.d.ts +22 -0
- package/lib/modules/pc-audio-connect/index.js +67 -0
- package/lib/modules/pc-audio-connect/store.d.ts +46 -0
- package/lib/modules/pc-audio-connect/store.js +304 -0
- package/lib/modules/setting/common/advance-link.d.ts +3 -0
- package/lib/modules/setting/common/advance-link.js +27 -0
- package/lib/modules/setting/common/index.css +26 -0
- package/lib/modules/setting/common/useNamespace.d.ts +15 -0
- package/lib/modules/setting/common/useNamespace.js +66 -0
- package/lib/modules/setting/dialog-wrapper.d.ts +2 -0
- package/lib/modules/setting/dialog-wrapper.js +110 -0
- package/lib/modules/setting/store.d.ts +261 -0
- package/lib/modules/setting/store.js +1321 -0
- package/lib/modules/share-screen/store.d.ts +148 -0
- package/lib/modules/share-screen/store.electron.js +9 -0
- package/lib/modules/share-screen/store.js +950 -0
- package/lib/modules/share-screen/types.d.ts +26 -0
- package/lib/modules/share-screen/types.js +6 -0
- package/lib/modules/state-bar/store.base.electron.js +6 -2
- package/lib/modules/state-bar/store.d.ts +124 -0
- package/lib/modules/state-bar/store.js +664 -0
- package/lib/modules/whiteboard/components/progress/electron.d.ts +1 -0
- package/lib/modules/whiteboard/components/progress/electron.js +33 -0
- package/lib/modules/widget/store.d.ts +14 -0
- package/lib/modules/widget/store.js +28 -0
- package/lib/providers/annotation-provider.d.ts +124 -0
- package/lib/providers/annotation-provider.js +369 -0
- package/lib/providers/board-share/bar-control/base.d.ts +2 -0
- package/lib/providers/board-share/bar-control/base.js +13 -3
- package/lib/providers/board-share/bar-control/electron.d.ts +1 -0
- package/lib/providers/board-share/bar-control/electron.js +15 -4
- package/lib/providers/board-share/provider.base.d.ts +1 -0
- package/lib/providers/board-share/provider.base.js +3 -1
- package/lib/providers/board-share/provider.electron.d.ts +1 -0
- package/lib/providers/board-share/provider.electron.js +8 -2
- package/lib/providers/board-share/type.d.ts +2 -0
- package/lib/providers/dialog/provider.electron.js +10 -2
- package/lib/providers/dialog-provider.d.ts +137 -0
- package/lib/providers/dialog-provider.js +194 -0
- package/lib/providers/message-provider.d.ts +69 -0
- package/lib/providers/message-provider.js +140 -0
- package/lib/providers/room-provider.d.ts +194 -0
- package/lib/providers/room-provider.js +916 -0
- package/lib/providers/screen-share/strategy/browser.js +50 -3
- package/lib/providers/screen-share/strategy/electron.js +77 -8
- package/lib/providers/screen-share/stream-state-sync.d.ts +3 -1
- package/lib/providers/screen-share/stream-state-sync.js +133 -40
- package/lib/providers/screen-share-provider.d.ts +244 -0
- package/lib/providers/screen-share-provider.js +835 -0
- package/lib/providers/sharing-provider.d.ts +42 -0
- package/lib/providers/sharing-provider.js +221 -0
- package/lib/providers/user-setting-storage-provider.d.ts +21 -0
- package/lib/providers/user-setting-storage-provider.js +65 -0
- package/lib/providers/whiteboard-provider.d.ts +24 -0
- package/lib/providers/whiteboard-provider.js +127 -0
- package/lib/shared-data-source/annotation-data.d.ts +17 -0
- package/lib/shared-data-source/annotation-data.js +110 -0
- package/lib/shared-data-source/app-list-data.d.ts +34 -0
- package/lib/shared-data-source/app-list-data.js +133 -0
- package/lib/shared-data-source/chat-data.d.ts +25 -0
- package/lib/shared-data-source/chat-data.js +139 -0
- package/lib/shared-data-source/config.d.ts +35 -0
- package/lib/shared-data-source/config.js +40 -0
- package/lib/shared-data-source/confirm-data.d.ts +25 -0
- package/lib/shared-data-source/confirm-data.js +97 -0
- package/lib/shared-data-source/device-privilege-data.d.ts +8 -0
- package/lib/shared-data-source/device-privilege-data.js +25 -0
- package/lib/shared-data-source/interpreter.d.ts +77 -0
- package/lib/shared-data-source/interpreter.js +247 -0
- package/lib/shared-data-source/layout-data.d.ts +31 -0
- package/lib/shared-data-source/layout-data.js +189 -0
- package/lib/shared-data-source/meeting-time.d.ts +90 -0
- package/lib/shared-data-source/meeting-time.js +416 -0
- package/lib/shared-data-source/member-data.d.ts +139 -0
- package/lib/shared-data-source/member-data.js +517 -0
- package/lib/shared-data-source/pin-data.d.ts +13 -0
- package/lib/shared-data-source/pin-data.js +111 -0
- package/lib/shared-data-source/screen-share-data.d.ts +364 -0
- package/lib/shared-data-source/screen-share-data.js +520 -0
- package/lib/shared-data-source/security-data.d.ts +39 -0
- package/lib/shared-data-source/security-data.js +156 -0
- package/lib/shared-data-source/setting.d.ts +67 -0
- package/lib/shared-data-source/setting.js +220 -0
- package/lib/shared-data-source/speaker-spotlight.d.ts +5 -0
- package/lib/shared-data-source/speaker-spotlight.js +15 -0
- package/lib/shared-data-source/video-window.d.ts +165 -0
- package/lib/shared-data-source/video-window.js +1266 -0
- package/lib/shared-data-source/waiting-room.d.ts +46 -0
- package/lib/shared-data-source/waiting-room.js +222 -0
- package/lib/shared-data-source/whiteboard-data.d.ts +68 -0
- package/lib/shared-data-source/whiteboard-data.js +347 -0
- package/lib/utilities/board-context.d.ts +4 -0
- package/lib/utilities/board-context.js +12 -0
- package/lib/utilities/copyText.d.ts +2 -0
- package/lib/utilities/copyText.js +48 -0
- package/lib/utilities/renderer-event.d.ts +10 -0
- package/lib/utilities/renderer-event.js +95 -0
- package/lib/utilities/screen-capture-permission.d.ts +2 -0
- package/lib/utilities/screen-capture-permission.js +24 -0
- package/lib/utilities/screen.d.ts +3 -0
- package/lib/utilities/screen.js +53 -0
- package/lib/utilities/video-track-render-context.d.ts +6 -0
- package/lib/utilities/video-track-render-context.js +9 -0
- package/lib/waiting-room-control-manager.d.ts +28 -0
- package/lib/waiting-room-control-manager.js +230 -0
- package/package.json +5 -5
|
@@ -0,0 +1,416 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("core-js/modules/es.symbol.js");
|
|
4
|
+
require("core-js/modules/es.symbol.description.js");
|
|
5
|
+
require("core-js/modules/es.symbol.to-primitive.js");
|
|
6
|
+
require("core-js/modules/es.error.cause.js");
|
|
7
|
+
require("core-js/modules/es.array.is-array.js");
|
|
8
|
+
require("core-js/modules/es.array.push.js");
|
|
9
|
+
require("core-js/modules/es.date.to-primitive.js");
|
|
10
|
+
require("core-js/modules/es.function.bind.js");
|
|
11
|
+
require("core-js/modules/es.function.name.js");
|
|
12
|
+
require("core-js/modules/es.map.js");
|
|
13
|
+
require("core-js/modules/es.object.create.js");
|
|
14
|
+
require("core-js/modules/es.object.define-property.js");
|
|
15
|
+
require("core-js/modules/es.object.get-own-property-descriptor.js");
|
|
16
|
+
require("core-js/modules/esnext.function.metadata.js");
|
|
17
|
+
require("core-js/modules/esnext.map.delete-all.js");
|
|
18
|
+
require("core-js/modules/esnext.map.emplace.js");
|
|
19
|
+
require("core-js/modules/esnext.map.every.js");
|
|
20
|
+
require("core-js/modules/esnext.map.filter.js");
|
|
21
|
+
require("core-js/modules/esnext.map.find.js");
|
|
22
|
+
require("core-js/modules/esnext.map.find-key.js");
|
|
23
|
+
require("core-js/modules/esnext.map.includes.js");
|
|
24
|
+
require("core-js/modules/esnext.map.key-of.js");
|
|
25
|
+
require("core-js/modules/esnext.map.map-keys.js");
|
|
26
|
+
require("core-js/modules/esnext.map.map-values.js");
|
|
27
|
+
require("core-js/modules/esnext.map.merge.js");
|
|
28
|
+
require("core-js/modules/esnext.map.reduce.js");
|
|
29
|
+
require("core-js/modules/esnext.map.some.js");
|
|
30
|
+
require("core-js/modules/esnext.map.update.js");
|
|
31
|
+
require("core-js/modules/esnext.symbol.metadata.js");
|
|
32
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
33
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
34
|
+
Object.defineProperty(exports, "__esModule", {
|
|
35
|
+
value: true
|
|
36
|
+
});
|
|
37
|
+
exports.MeetingStatus = exports.FcrUIMeetingTimeSharedDataSourceImpl = void 0;
|
|
38
|
+
require("core-js/modules/es.error.to-string.js");
|
|
39
|
+
require("core-js/modules/es.array.concat.js");
|
|
40
|
+
require("core-js/modules/es.array.iterator.js");
|
|
41
|
+
require("core-js/modules/es.date.now.js");
|
|
42
|
+
require("core-js/modules/es.date.to-string.js");
|
|
43
|
+
require("core-js/modules/es.number.constructor.js");
|
|
44
|
+
require("core-js/modules/es.number.is-nan.js");
|
|
45
|
+
require("core-js/modules/es.object.to-string.js");
|
|
46
|
+
require("core-js/modules/es.regexp.to-string.js");
|
|
47
|
+
require("core-js/modules/es.string.iterator.js");
|
|
48
|
+
require("core-js/modules/es.string.pad-start.js");
|
|
49
|
+
require("core-js/modules/es.weak-map.js");
|
|
50
|
+
require("core-js/modules/esnext.weak-map.delete-all.js");
|
|
51
|
+
require("core-js/modules/esnext.weak-map.emplace.js");
|
|
52
|
+
require("core-js/modules/web.dom-collections.iterator.js");
|
|
53
|
+
require("core-js/modules/web.timers.js");
|
|
54
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
55
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
56
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
57
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
58
|
+
var _dayjs = _interopRequireDefault(require("dayjs"));
|
|
59
|
+
var _duration = _interopRequireDefault(require("dayjs/plugin/duration"));
|
|
60
|
+
var _i18n = require("agora-ui-foundation/lib/i18n");
|
|
61
|
+
var _base = require("../base");
|
|
62
|
+
var _mobx = require("mobx");
|
|
63
|
+
var _FcrUIMeetingTimeSharedDataSourceImpl;
|
|
64
|
+
var _initProto, _init__totalHourText, _init__totalMinuteText, _init__status, _init__meetingTime, _init__totalHours, _init__totalMins, _init__totalHoursText, _init__totalMinsText;
|
|
65
|
+
function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
|
|
66
|
+
function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
|
|
67
|
+
function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
|
|
68
|
+
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
|
69
|
+
function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
|
|
70
|
+
function _applyDecs(e, t, r, n, o, a) { function i(e, t, r) { return function (n, o) { return r && r(n), e[t].call(n, o); }; } function c(e, t) { for (var r = 0; r < e.length; r++) e[r].call(t); return t; } function s(e, t, r, n) { if ("function" != typeof e && (n || void 0 !== e)) throw new TypeError(t + " must " + (r || "be") + " a function" + (n ? "" : " or undefined")); return e; } function applyDec(e, t, r, n, o, a, c, u, l, f, p, d, h) { function m(e) { if (!h(e)) throw new TypeError("Attempted to access private element on non-instance"); } var y, v = t[0], g = t[3], b = !u; if (!b) { r || Array.isArray(v) || (v = [v]); var w = {}, S = [], A = 3 === o ? "get" : 4 === o || d ? "set" : "value"; f ? (p || d ? w = { get: _setFunctionName(function () { return g(this); }, n, "get"), set: function set(e) { t[4](this, e); } } : w[A] = g, p || _setFunctionName(w[A], n, 2 === o ? "" : A)) : p || (w = Object.getOwnPropertyDescriptor(e, n)); } for (var P = e, j = v.length - 1; j >= 0; j -= r ? 2 : 1) { var D = v[j], E = r ? v[j - 1] : void 0, I = {}, O = { kind: ["field", "accessor", "method", "getter", "setter", "class"][o], name: n, metadata: a, addInitializer: function (e, t) { if (e.v) throw Error("attempted to call addInitializer after decoration was finished"); s(t, "An initializer", "be", !0), c.push(t); }.bind(null, I) }; try { if (b) (y = s(D.call(E, P, O), "class decorators", "return")) && (P = y);else { var k, F; O["static"] = l, O["private"] = f, f ? 2 === o ? k = function k(e) { return m(e), w.value; } : (o < 4 && (k = i(w, "get", m)), 3 !== o && (F = i(w, "set", m))) : (k = function k(e) { return e[n]; }, (o < 2 || 4 === o) && (F = function F(e, t) { e[n] = t; })); var N = O.access = { has: f ? h.bind() : function (e) { return n in e; } }; if (k && (N.get = k), F && (N.set = F), P = D.call(E, d ? { get: w.get, set: w.set } : w[A], O), d) { if ("object" == _typeof(P) && P) (y = s(P.get, "accessor.get")) && (w.get = y), (y = s(P.set, "accessor.set")) && (w.set = y), (y = s(P.init, "accessor.init")) && S.push(y);else if (void 0 !== P) throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0"); } else s(P, (p ? "field" : "method") + " decorators", "return") && (p ? S.push(P) : w[A] = P); } } finally { I.v = !0; } } return (p || d) && u.push(function (e, t) { for (var r = S.length - 1; r >= 0; r--) t = S[r].call(e, t); return t; }), p || b || (f ? d ? u.push(i(w, "get"), i(w, "set")) : u.push(2 === o ? w[A] : i.call.bind(w[A])) : Object.defineProperty(e, n, w)), P; } function u(e, t) { return Object.defineProperty(e, Symbol.metadata || Symbol["for"]("Symbol.metadata"), { configurable: !0, enumerable: !0, value: t }); } if (arguments.length >= 6) var l = a[Symbol.metadata || Symbol["for"]("Symbol.metadata")]; var f = Object.create(null == l ? null : l), p = function (e, t, r, n) { var o, a, i = [], s = function s(t) { return _checkInRHS(t) === e; }, u = new Map(); function l(e) { e && i.push(c.bind(null, e)); } for (var f = 0; f < t.length; f++) { var p = t[f]; if (Array.isArray(p)) { var d = p[1], h = p[2], m = p.length > 3, y = 16 & d, v = !!(8 & d), g = 0 == (d &= 7), b = h + "/" + v; if (!g && !m) { var w = u.get(b); if (!0 === w || 3 === w && 4 !== d || 4 === w && 3 !== d) throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + h); u.set(b, !(d > 2) || d); } applyDec(v ? e : e.prototype, p, y, m ? "#" + h : _toPropertyKey(h), d, n, v ? a = a || [] : o = o || [], i, v, m, g, 1 === d, v && m ? s : r); } } return l(o), l(a), i; }(e, t, o, f); return r.length || u(e, f), { e: p, get c() { var t = []; return r.length && [u(applyDec(e, [r], n, e.name, 5, f, t), f), c.bind(null, t, e)]; } }; }
|
|
71
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
72
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
73
|
+
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; }
|
|
74
|
+
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; }
|
|
75
|
+
var MeetingStatus = exports.MeetingStatus = /*#__PURE__*/function (MeetingStatus) {
|
|
76
|
+
MeetingStatus["NORMAL"] = "normal";
|
|
77
|
+
MeetingStatus["SOON_TO_END"] = "soon2end";
|
|
78
|
+
MeetingStatus["OVERTIME"] = "overtime";
|
|
79
|
+
return MeetingStatus;
|
|
80
|
+
}({});
|
|
81
|
+
_dayjs["default"].extend(_duration["default"]);
|
|
82
|
+
var _A = /*#__PURE__*/new WeakMap();
|
|
83
|
+
var _B = /*#__PURE__*/new WeakMap();
|
|
84
|
+
var _C = /*#__PURE__*/new WeakMap();
|
|
85
|
+
var _D = /*#__PURE__*/new WeakMap();
|
|
86
|
+
var _E = /*#__PURE__*/new WeakMap();
|
|
87
|
+
var _F = /*#__PURE__*/new WeakMap();
|
|
88
|
+
var _G = /*#__PURE__*/new WeakMap();
|
|
89
|
+
var _H = /*#__PURE__*/new WeakMap();
|
|
90
|
+
var FcrUIMeetingTimeSharedDataSourceImpl = exports.FcrUIMeetingTimeSharedDataSourceImpl = /*#__PURE__*/function () {
|
|
91
|
+
function FcrUIMeetingTimeSharedDataSourceImpl(_ref) {
|
|
92
|
+
var _mainRoomControl$getR,
|
|
93
|
+
_mainRoomControl$getR2,
|
|
94
|
+
_this = this;
|
|
95
|
+
var mainRoomControl = _ref.mainRoomControl;
|
|
96
|
+
(0, _classCallCheck2["default"])(this, FcrUIMeetingTimeSharedDataSourceImpl);
|
|
97
|
+
_classPrivateFieldInitSpec(this, _A, (_initProto(this), _init__totalHourText(this, '')));
|
|
98
|
+
_classPrivateFieldInitSpec(this, _B, _init__totalMinuteText(this, ''));
|
|
99
|
+
_classPrivateFieldInitSpec(this, _C, _init__status(this, MeetingStatus.NORMAL));
|
|
100
|
+
_classPrivateFieldInitSpec(this, _D, _init__meetingTime(this, ''));
|
|
101
|
+
_classPrivateFieldInitSpec(this, _E, _init__totalHours(this, 0));
|
|
102
|
+
_classPrivateFieldInitSpec(this, _F, _init__totalMins(this, 0));
|
|
103
|
+
_classPrivateFieldInitSpec(this, _G, _init__totalHoursText(this, '0'));
|
|
104
|
+
_classPrivateFieldInitSpec(this, _H, _init__totalMinsText(this, '0'));
|
|
105
|
+
(0, _defineProperty2["default"])(this, "_timer", null);
|
|
106
|
+
(0, _defineProperty2["default"])(this, "_roomId", '');
|
|
107
|
+
// 性能优化:缓存相关变量
|
|
108
|
+
(0, _defineProperty2["default"])(this, "_enterTime", 0);
|
|
109
|
+
(0, _defineProperty2["default"])(this, "_scheduleDuration", 0);
|
|
110
|
+
(0, _defineProperty2["default"])(this, "_localMeetingTimeKey", '');
|
|
111
|
+
(0, _defineProperty2["default"])(this, "_cachedTranslations", {
|
|
112
|
+
hour: '',
|
|
113
|
+
minutes: ''
|
|
114
|
+
});
|
|
115
|
+
(0, _defineProperty2["default"])(this, "_lastMeetingDuration", 0);
|
|
116
|
+
// 时间常量定义 (单位:秒)
|
|
117
|
+
var ONE_DAY_SECONDS = 24 * 60 * 60; // 一天的秒数
|
|
118
|
+
var roomId = ((_mainRoomControl$getR = mainRoomControl.getRoomInfo()) === null || _mainRoomControl$getR === void 0 ? void 0 : _mainRoomControl$getR.roomId) || '';
|
|
119
|
+
|
|
120
|
+
// getRoomSchedule()?.duration 返回的是秒数
|
|
121
|
+
var durationInSeconds = ((_mainRoomControl$getR2 = mainRoomControl.getRoomSchedule()) === null || _mainRoomControl$getR2 === void 0 ? void 0 : _mainRoomControl$getR2.duration) || ONE_DAY_SECONDS;
|
|
122
|
+
if (!roomId) {
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
this._roomId = roomId;
|
|
126
|
+
|
|
127
|
+
// 预缓存翻译文本
|
|
128
|
+
this._cachedTranslations = {
|
|
129
|
+
hour: (0, _i18n.transI18n)('fmt_statusbar_label_hour'),
|
|
130
|
+
minutes: (0, _i18n.transI18n)('fmt_statusbar_label_minutes')
|
|
131
|
+
};
|
|
132
|
+
|
|
133
|
+
// 预计算固定值 (保持为秒数)
|
|
134
|
+
this._localMeetingTimeKey = "enter-room-".concat(this._roomId);
|
|
135
|
+
this._scheduleDuration = durationInSeconds;
|
|
136
|
+
|
|
137
|
+
// dayjs.duration() 需要毫秒数,所以这里乘以1000
|
|
138
|
+
if (durationInSeconds > 0) {
|
|
139
|
+
this._setTotalHoursAndMinutes(durationInSeconds * 1000);
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
// 初始化进入时间
|
|
143
|
+
this._initEnterTime();
|
|
144
|
+
this._timer = window.setInterval(function () {
|
|
145
|
+
_this._updateMeetingTime();
|
|
146
|
+
}, 1000);
|
|
147
|
+
}
|
|
148
|
+
return (0, _createClass2["default"])(FcrUIMeetingTimeSharedDataSourceImpl, [{
|
|
149
|
+
key: "_totalHourText",
|
|
150
|
+
get: function get() {
|
|
151
|
+
return _classPrivateFieldGet(_A, this);
|
|
152
|
+
},
|
|
153
|
+
set: function set(v) {
|
|
154
|
+
_classPrivateFieldSet(_A, this, v);
|
|
155
|
+
}
|
|
156
|
+
}, {
|
|
157
|
+
key: "_totalMinuteText",
|
|
158
|
+
get: function get() {
|
|
159
|
+
return _classPrivateFieldGet(_B, this);
|
|
160
|
+
},
|
|
161
|
+
set: function set(v) {
|
|
162
|
+
_classPrivateFieldSet(_B, this, v);
|
|
163
|
+
}
|
|
164
|
+
}, {
|
|
165
|
+
key: "_status",
|
|
166
|
+
get: function get() {
|
|
167
|
+
return _classPrivateFieldGet(_C, this);
|
|
168
|
+
},
|
|
169
|
+
set: function set(v) {
|
|
170
|
+
_classPrivateFieldSet(_C, this, v);
|
|
171
|
+
}
|
|
172
|
+
}, {
|
|
173
|
+
key: "_meetingTime",
|
|
174
|
+
get: function get() {
|
|
175
|
+
return _classPrivateFieldGet(_D, this);
|
|
176
|
+
},
|
|
177
|
+
set: function set(v) {
|
|
178
|
+
_classPrivateFieldSet(_D, this, v);
|
|
179
|
+
}
|
|
180
|
+
}, {
|
|
181
|
+
key: "_totalHours",
|
|
182
|
+
get: function get() {
|
|
183
|
+
return _classPrivateFieldGet(_E, this);
|
|
184
|
+
},
|
|
185
|
+
set: function set(v) {
|
|
186
|
+
_classPrivateFieldSet(_E, this, v);
|
|
187
|
+
}
|
|
188
|
+
}, {
|
|
189
|
+
key: "_totalMins",
|
|
190
|
+
get: function get() {
|
|
191
|
+
return _classPrivateFieldGet(_F, this);
|
|
192
|
+
},
|
|
193
|
+
set: function set(v) {
|
|
194
|
+
_classPrivateFieldSet(_F, this, v);
|
|
195
|
+
}
|
|
196
|
+
}, {
|
|
197
|
+
key: "_totalHoursText",
|
|
198
|
+
get: function get() {
|
|
199
|
+
return _classPrivateFieldGet(_G, this);
|
|
200
|
+
},
|
|
201
|
+
set: function set(v) {
|
|
202
|
+
_classPrivateFieldSet(_G, this, v);
|
|
203
|
+
}
|
|
204
|
+
}, {
|
|
205
|
+
key: "_totalMinsText",
|
|
206
|
+
get: function get() {
|
|
207
|
+
return _classPrivateFieldGet(_H, this);
|
|
208
|
+
},
|
|
209
|
+
set: function set(v) {
|
|
210
|
+
_classPrivateFieldSet(_H, this, v);
|
|
211
|
+
}
|
|
212
|
+
}, {
|
|
213
|
+
key: "_initEnterTime",
|
|
214
|
+
value: function _initEnterTime() {
|
|
215
|
+
var currentTime = Date.now();
|
|
216
|
+
|
|
217
|
+
// 尝试从localStorage获取有效的进入时间
|
|
218
|
+
var storedTime = this._getValidStoredTime();
|
|
219
|
+
this._enterTime = storedTime !== null && storedTime !== void 0 ? storedTime : currentTime;
|
|
220
|
+
|
|
221
|
+
// 如果没有有效的存储时间,保存当前时间
|
|
222
|
+
if (storedTime === null) {
|
|
223
|
+
this._saveEnterTime(currentTime);
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
/**
|
|
228
|
+
* 获取localStorage中有效的进入时间
|
|
229
|
+
* @returns 有效的时间戳或null
|
|
230
|
+
*/
|
|
231
|
+
}, {
|
|
232
|
+
key: "_getValidStoredTime",
|
|
233
|
+
value: function _getValidStoredTime() {
|
|
234
|
+
try {
|
|
235
|
+
var enterTime = localStorage.getItem(this._localMeetingTimeKey);
|
|
236
|
+
if (enterTime) {
|
|
237
|
+
var enterTimeNum = Number(enterTime);
|
|
238
|
+
// 验证时间戳:必须是有效数字、正数、且不能是未来时间
|
|
239
|
+
var currentTime = Date.now();
|
|
240
|
+
if (!Number.isNaN(enterTimeNum) && enterTimeNum > 0 && enterTimeNum <= currentTime) {
|
|
241
|
+
return enterTimeNum;
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
} catch (error) {
|
|
245
|
+
// localStorage访问失败,忽略错误并返回null
|
|
246
|
+
console.error('localStorage访问失败', error);
|
|
247
|
+
}
|
|
248
|
+
return null;
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
/**
|
|
252
|
+
* 安全地保存进入时间到localStorage
|
|
253
|
+
* @param time 要保存的时间戳
|
|
254
|
+
*/
|
|
255
|
+
}, {
|
|
256
|
+
key: "_saveEnterTime",
|
|
257
|
+
value: function _saveEnterTime(time) {
|
|
258
|
+
try {
|
|
259
|
+
localStorage.setItem(this._localMeetingTimeKey, time.toString());
|
|
260
|
+
} catch (error) {
|
|
261
|
+
// localStorage访问失败,忽略错误(可能在某些环境中不可用)
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
/**
|
|
266
|
+
* 安全地移除localStorage中的进入时间
|
|
267
|
+
*/
|
|
268
|
+
}, {
|
|
269
|
+
key: "_removeStoredTime",
|
|
270
|
+
value: function _removeStoredTime() {
|
|
271
|
+
try {
|
|
272
|
+
localStorage.removeItem(this._localMeetingTimeKey);
|
|
273
|
+
} catch (error) {
|
|
274
|
+
// localStorage访问失败,忽略错误(可能在某些环境中不可用)
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
}, {
|
|
278
|
+
key: "_updateMeetingTime",
|
|
279
|
+
value: function _updateMeetingTime() {
|
|
280
|
+
if (this._enterTime === 0) {
|
|
281
|
+
return;
|
|
282
|
+
}
|
|
283
|
+
var currentTimeStamp = Date.now();
|
|
284
|
+
var diff = currentTimeStamp - this._enterTime;
|
|
285
|
+
var meetingDuration = Math.floor(diff / 1000);
|
|
286
|
+
|
|
287
|
+
// 如果时长没有变化,跳过计算
|
|
288
|
+
if (meetingDuration === this._lastMeetingDuration) {
|
|
289
|
+
return;
|
|
290
|
+
}
|
|
291
|
+
this._lastMeetingDuration = meetingDuration;
|
|
292
|
+
|
|
293
|
+
// 每秒检查状态,确保及时更新UI
|
|
294
|
+
var TEN_MINUTES_SECONDS = 10 * 60; // 10分钟的秒数,用于判断会议状态
|
|
295
|
+
var remainTime = this._scheduleDuration - meetingDuration;
|
|
296
|
+
var currentStatus = remainTime > TEN_MINUTES_SECONDS // 剩余超过10分钟 → 正常状态
|
|
297
|
+
? MeetingStatus.NORMAL : remainTime > 0 // 剩余时间在0-10分钟之间 → 即将结束
|
|
298
|
+
? MeetingStatus.SOON_TO_END : MeetingStatus.OVERTIME; // 已超时
|
|
299
|
+
this._setStatues(currentStatus);
|
|
300
|
+
this._formatMeetingTime(meetingDuration);
|
|
301
|
+
}
|
|
302
|
+
}, {
|
|
303
|
+
key: "_formatMeetingTime",
|
|
304
|
+
value: function _formatMeetingTime(meetingDuration) {
|
|
305
|
+
// 判断是否需要显示小时(超过1小时)
|
|
306
|
+
var ONE_HOUR_SECONDS = 60 * 60;
|
|
307
|
+
var showHour = meetingDuration >= ONE_HOUR_SECONDS;
|
|
308
|
+
if (showHour) {
|
|
309
|
+
var hours = Math.floor(meetingDuration / ONE_HOUR_SECONDS);
|
|
310
|
+
var mins = Math.floor(meetingDuration % ONE_HOUR_SECONDS / 60);
|
|
311
|
+
var seconds = meetingDuration % 60;
|
|
312
|
+
var hoursStr = hours.toString().padStart(2, '0');
|
|
313
|
+
var minsStr = mins.toString().padStart(2, '0');
|
|
314
|
+
var secondsStr = seconds.toString().padStart(2, '0');
|
|
315
|
+
this._setMeetingTime("".concat(hoursStr, ":").concat(minsStr, ":").concat(secondsStr));
|
|
316
|
+
} else {
|
|
317
|
+
var _mins = Math.floor(meetingDuration / 60);
|
|
318
|
+
var _seconds = meetingDuration % 60;
|
|
319
|
+
var _minsStr = _mins.toString().padStart(2, '0');
|
|
320
|
+
var _secondsStr = _seconds.toString().padStart(2, '0');
|
|
321
|
+
this._setMeetingTime("".concat(_minsStr, ":").concat(_secondsStr));
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
}, {
|
|
325
|
+
key: "totalHourText",
|
|
326
|
+
get: function get() {
|
|
327
|
+
return this._totalHourText;
|
|
328
|
+
}
|
|
329
|
+
}, {
|
|
330
|
+
key: "totalMinuteText",
|
|
331
|
+
get: function get() {
|
|
332
|
+
return this._totalMinsText;
|
|
333
|
+
}
|
|
334
|
+
}, {
|
|
335
|
+
key: "status",
|
|
336
|
+
get: function get() {
|
|
337
|
+
return this._status;
|
|
338
|
+
}
|
|
339
|
+
}, {
|
|
340
|
+
key: "meetingTime",
|
|
341
|
+
get: function get() {
|
|
342
|
+
return this._meetingTime;
|
|
343
|
+
}
|
|
344
|
+
}, {
|
|
345
|
+
key: "totalHours",
|
|
346
|
+
get: function get() {
|
|
347
|
+
return this._totalHours;
|
|
348
|
+
}
|
|
349
|
+
}, {
|
|
350
|
+
key: "totalMins",
|
|
351
|
+
get: function get() {
|
|
352
|
+
return this._totalMins;
|
|
353
|
+
}
|
|
354
|
+
}, {
|
|
355
|
+
key: "_setTotalHoursAndMinutes",
|
|
356
|
+
value: function _setTotalHoursAndMinutes(duration) {
|
|
357
|
+
if (!duration || Number.isNaN(duration)) {
|
|
358
|
+
this._totalHours = 0;
|
|
359
|
+
this._totalMins = 0;
|
|
360
|
+
return;
|
|
361
|
+
}
|
|
362
|
+
var dr = _dayjs["default"].duration(duration);
|
|
363
|
+
var asHours = Math.floor(dr.asHours());
|
|
364
|
+
var hours = 0;
|
|
365
|
+
var mins = 0;
|
|
366
|
+
if (asHours >= 2) {
|
|
367
|
+
hours = asHours;
|
|
368
|
+
mins = Math.ceil(dr.asMinutes() - asHours * 60);
|
|
369
|
+
} else {
|
|
370
|
+
hours = 0;
|
|
371
|
+
mins = Math.ceil(dr.asMinutes());
|
|
372
|
+
}
|
|
373
|
+
this._totalHours = hours;
|
|
374
|
+
this._totalMins = mins;
|
|
375
|
+
|
|
376
|
+
// 使用缓存的翻译文本
|
|
377
|
+
this._totalHourText = this.totalHours > 0 ? "".concat(this.totalHours).concat(this._cachedTranslations.hour) : '';
|
|
378
|
+
this._totalMinsText = this.totalMins > 0 ? "".concat(this.totalMins).concat(this._cachedTranslations.minutes) : '';
|
|
379
|
+
}
|
|
380
|
+
}, {
|
|
381
|
+
key: "_setMeetingTime",
|
|
382
|
+
value: function _setMeetingTime(meetingTimeText) {
|
|
383
|
+
this._meetingTime = meetingTimeText;
|
|
384
|
+
}
|
|
385
|
+
}, {
|
|
386
|
+
key: "_setStatues",
|
|
387
|
+
value: function _setStatues(statusVal) {
|
|
388
|
+
this._status = statusVal;
|
|
389
|
+
}
|
|
390
|
+
}, {
|
|
391
|
+
key: "release",
|
|
392
|
+
value: function release() {
|
|
393
|
+
if (this._timer) {
|
|
394
|
+
clearInterval(this._timer);
|
|
395
|
+
this._timer = null;
|
|
396
|
+
}
|
|
397
|
+
this._enterTime = 0;
|
|
398
|
+
this._lastMeetingDuration = 0;
|
|
399
|
+
if (this._localMeetingTimeKey) {
|
|
400
|
+
this._removeStoredTime();
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
}]);
|
|
404
|
+
}();
|
|
405
|
+
_FcrUIMeetingTimeSharedDataSourceImpl = FcrUIMeetingTimeSharedDataSourceImpl;
|
|
406
|
+
var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_FcrUIMeetingTimeSharedDataSourceImpl, [[_mobx.observable, 1, "_totalHourText"], [_mobx.observable, 1, "_totalMinuteText"], [_mobx.observable, 1, "_status"], [_mobx.observable, 1, "_meetingTime"], [_mobx.observable, 1, "_totalHours"], [_mobx.observable, 1, "_totalMins"], [_mobx.observable, 1, "_totalHoursText"], [_mobx.observable, 1, "_totalMinsText"], [_mobx.action, 2, "_setTotalHoursAndMinutes"], [_mobx.action, 2, "_setMeetingTime"], [_mobx.action, 2, "_setStatues"]], []).e, 9);
|
|
407
|
+
_init__totalHourText = _applyDecs$e[0];
|
|
408
|
+
_init__totalMinuteText = _applyDecs$e[1];
|
|
409
|
+
_init__status = _applyDecs$e[2];
|
|
410
|
+
_init__meetingTime = _applyDecs$e[3];
|
|
411
|
+
_init__totalHours = _applyDecs$e[4];
|
|
412
|
+
_init__totalMins = _applyDecs$e[5];
|
|
413
|
+
_init__totalHoursText = _applyDecs$e[6];
|
|
414
|
+
_init__totalMinsText = _applyDecs$e[7];
|
|
415
|
+
_initProto = _applyDecs$e[8];
|
|
416
|
+
(0, _base.registerDependency)('sharedMeetingTimeDataSource');
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { FcrUIMemberDataImpl } from '../modules/participant/member-list-data-source';
|
|
2
|
+
import { FcrStreamControl, FcrUserRole } from 'fcr-core';
|
|
3
|
+
import { FcrUserControl } from 'fcr-core/lib/room-control/user-control/type';
|
|
4
|
+
import { FcrRemoteVideoStats } from 'fcr-core/lib/room-control/stream-control/type';
|
|
5
|
+
import { FcrLanguage } from 'fcr-core/lib/room-control/interpreter-control/types';
|
|
6
|
+
import { FcrUserInfo } from 'fcr-core/lib/type';
|
|
7
|
+
import { FcrPrivilegedWhiteboardControl } from 'fcr-core/lib/room-control/whiteboard-control-v2/whiteboard-control/type';
|
|
8
|
+
import { FcrUIScreenShareSharedDataSource } from './screen-share-data';
|
|
9
|
+
import { FcrUIEventProvider } from '../providers/event-provider';
|
|
10
|
+
export interface FcrUIMemberSharedDataSource {
|
|
11
|
+
/**
|
|
12
|
+
* 整个房间的人数。
|
|
13
|
+
* @returns 来自onAllUserCountUpdated 的回调 。
|
|
14
|
+
*/
|
|
15
|
+
get totalUserCount(): number;
|
|
16
|
+
/**
|
|
17
|
+
* 获取本地用户的数据。
|
|
18
|
+
* @returns 本地用户的数据,类型为 FcrUserInfo。
|
|
19
|
+
*/
|
|
20
|
+
get localUser(): FcrUserInfo;
|
|
21
|
+
/**
|
|
22
|
+
* 获取本地用户的角色。
|
|
23
|
+
* @returns 本地用户的角色,类型为 FcrUserRole。
|
|
24
|
+
*/
|
|
25
|
+
get localUserRole(): FcrUserRole;
|
|
26
|
+
/**
|
|
27
|
+
* 获取本地用户的角色名称。
|
|
28
|
+
* @returns 本地用户的角色名称,类型为 string。
|
|
29
|
+
*/
|
|
30
|
+
get localUserRoleString(): string;
|
|
31
|
+
/**
|
|
32
|
+
* 检查本地用户是否处于 PSTN(公共交换电话网络)模式。
|
|
33
|
+
* @returns 如果本地用户处于 PSTN 模式则返回 true,否则返回 false。
|
|
34
|
+
*/
|
|
35
|
+
get hasOwnPstnStream(): boolean;
|
|
36
|
+
/**
|
|
37
|
+
* 检查本地用户是否是主持人。
|
|
38
|
+
* @returns 如果本地用户是主持人或联系主持人 模式则返回 true,否则返回 false。
|
|
39
|
+
*/
|
|
40
|
+
get isLocalUserHost(): boolean;
|
|
41
|
+
/**
|
|
42
|
+
* 获取远程用户的列表。
|
|
43
|
+
* @returns 远程用户的列表数据,类型为 FcrUIMemberDataImpl。
|
|
44
|
+
*/
|
|
45
|
+
get remoteMembers(): FcrUIMemberDataImpl[];
|
|
46
|
+
/**
|
|
47
|
+
* 获取远程用户的列表。
|
|
48
|
+
* @returns 远程用户的列表数据,类型为 FcrUserInfo。
|
|
49
|
+
*/
|
|
50
|
+
get remoteMembersUserInfosList(): FcrUserInfo[];
|
|
51
|
+
/**
|
|
52
|
+
* 获取主房间参与者列表的纯数组形式。
|
|
53
|
+
* @returns 主房间参与者列表,元素类型为 FcrUIMemberDataImpl。
|
|
54
|
+
*/
|
|
55
|
+
get memberList(): FcrUIMemberDataImpl[];
|
|
56
|
+
/**
|
|
57
|
+
* 获取主房间参与者FcrUserInfo的纯数组形式。
|
|
58
|
+
* @returns 主房间参与者列表,元素类型为 FcrUserInfo。
|
|
59
|
+
*/
|
|
60
|
+
get memberUserInfoList(): FcrUserInfo[];
|
|
61
|
+
/**
|
|
62
|
+
* 获取音频音量映射。
|
|
63
|
+
* 键为用户 ID,值为对应的音频音量。
|
|
64
|
+
* @returns 音频音量映射,类型为 Map<string, number>。
|
|
65
|
+
*/
|
|
66
|
+
get audioVolumeMap(): Map<string, number>;
|
|
67
|
+
/**
|
|
68
|
+
* 获取共享屏幕视频的宽高。
|
|
69
|
+
* @returns 共享屏幕视频的宽高,类型为 FcrRemoteVideoStats['dimensions'] | null。
|
|
70
|
+
*/
|
|
71
|
+
get shareScreenVideoSize(): FcrRemoteVideoStats['dimensions'] | null;
|
|
72
|
+
/**
|
|
73
|
+
* 根据白板状态更新主房间参与者列表。
|
|
74
|
+
* 此方法用于同步参与者列表与白板状态。
|
|
75
|
+
*/
|
|
76
|
+
updateMemberListWithBoardState(): void;
|
|
77
|
+
/**
|
|
78
|
+
* 释放数据源占用的资源。
|
|
79
|
+
* 当不再需要使用该数据源时,调用此方法进行资源清理。
|
|
80
|
+
*/
|
|
81
|
+
release(): void;
|
|
82
|
+
}
|
|
83
|
+
export declare class FcrUIMemberSharedDataSourceImpl implements FcrUIMemberSharedDataSource {
|
|
84
|
+
private _mainRoomUserControl;
|
|
85
|
+
private _streamControl;
|
|
86
|
+
private _sharedScreenShareSharedDataSource;
|
|
87
|
+
private _eventProvider;
|
|
88
|
+
private _whiteBoardControl?;
|
|
89
|
+
protected logger: import("agora-foundation/lib/logger").Logger;
|
|
90
|
+
private _dataSource;
|
|
91
|
+
private _disposers;
|
|
92
|
+
private accessor _serverPushTotalUserCount;
|
|
93
|
+
private accessor _audioVolumeMap;
|
|
94
|
+
private accessor _isLocalUserInPstn;
|
|
95
|
+
private accessor _interpreterInputLanguageList;
|
|
96
|
+
private accessor _localUser;
|
|
97
|
+
private _userObserver;
|
|
98
|
+
private _streamsObserver;
|
|
99
|
+
private _eventProviderObserver;
|
|
100
|
+
private _isOnline;
|
|
101
|
+
private accessor serverPushTotalUserCount;
|
|
102
|
+
accessor totalUserCount: number;
|
|
103
|
+
accessor shareScreenVideoSize: FcrRemoteVideoStats['dimensions'] | null;
|
|
104
|
+
get localUserId(): string;
|
|
105
|
+
get hasOwnPstnStream(): boolean;
|
|
106
|
+
get interpreterInputLanguageList(): {
|
|
107
|
+
userId: string;
|
|
108
|
+
language: FcrLanguage;
|
|
109
|
+
}[];
|
|
110
|
+
get audioVolumeMap(): Map<string, number>;
|
|
111
|
+
get localUser(): FcrUserInfo;
|
|
112
|
+
get localUserRole(): FcrUserRole;
|
|
113
|
+
get localUserRoleString(): "participant" | "host" | "cohost" | "audience" | "observer" | "robot";
|
|
114
|
+
get isLocalUserHost(): boolean;
|
|
115
|
+
get remoteMembers(): FcrUIMemberDataImpl[];
|
|
116
|
+
get remoteMembersUserInfosList(): FcrUserInfo[];
|
|
117
|
+
get memberList(): FcrUIMemberDataImpl[];
|
|
118
|
+
get memberUserInfoList(): FcrUserInfo[];
|
|
119
|
+
constructor(_mainRoomUserControl: FcrUserControl, _streamControl: FcrStreamControl, _sharedScreenShareSharedDataSource: FcrUIScreenShareSharedDataSource, _eventProvider: FcrUIEventProvider, _whiteBoardControl?: FcrPrivilegedWhiteboardControl | undefined);
|
|
120
|
+
private _addEventListeners;
|
|
121
|
+
private _removeEventListeners;
|
|
122
|
+
private _handleOnEvent;
|
|
123
|
+
private _handleOnline;
|
|
124
|
+
private _handleOffline;
|
|
125
|
+
updateMemberListWithBoardState(): void;
|
|
126
|
+
release(): void;
|
|
127
|
+
private _setIsLocalUserInPstn;
|
|
128
|
+
private _handleAllUserCountUpdated;
|
|
129
|
+
private _setTotalUserCount;
|
|
130
|
+
private _initUserList;
|
|
131
|
+
private _handleUserInfoUpdated;
|
|
132
|
+
private _syncParticipants;
|
|
133
|
+
private _onAudioVolumeUpdated;
|
|
134
|
+
private _handleRemoteUserJoined;
|
|
135
|
+
private _handleRemoteUserLeft;
|
|
136
|
+
private _handleStreamsAdded;
|
|
137
|
+
private _handleStreamsUpdated;
|
|
138
|
+
private _handleStreamsRemoved;
|
|
139
|
+
}
|