@webex/plugin-meetings 3.0.0-beta.33 → 3.0.0-beta.331
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/README.md +46 -8
- package/dist/annotation/annotation.types.js +7 -0
- package/dist/annotation/annotation.types.js.map +1 -0
- package/dist/annotation/constants.js +49 -0
- package/dist/annotation/constants.js.map +1 -0
- package/dist/annotation/index.js +342 -0
- package/dist/annotation/index.js.map +1 -0
- package/dist/breakouts/breakout.js +94 -15
- package/dist/breakouts/breakout.js.map +1 -1
- package/dist/breakouts/edit-lock-error.js +52 -0
- package/dist/breakouts/edit-lock-error.js.map +1 -0
- package/dist/breakouts/events.js +45 -0
- package/dist/breakouts/events.js.map +1 -0
- package/dist/breakouts/index.js +709 -35
- package/dist/breakouts/index.js.map +1 -1
- package/dist/breakouts/utils.js +45 -1
- package/dist/breakouts/utils.js.map +1 -1
- package/dist/common/errors/no-meeting-info.js +51 -0
- package/dist/common/errors/no-meeting-info.js.map +1 -0
- package/dist/common/errors/reclaim-host-role-errors.js +158 -0
- package/dist/common/errors/reclaim-host-role-errors.js.map +1 -0
- package/dist/common/errors/webex-errors.js +48 -7
- package/dist/common/errors/webex-errors.js.map +1 -1
- package/dist/common/logs/logger-proxy.js +1 -1
- package/dist/common/logs/logger-proxy.js.map +1 -1
- package/dist/common/logs/request.js +5 -1
- package/dist/common/logs/request.js.map +1 -1
- package/dist/common/queue.js +24 -9
- package/dist/common/queue.js.map +1 -1
- package/dist/config.js +4 -10
- package/dist/config.js.map +1 -1
- package/dist/constants.js +233 -29
- package/dist/constants.js.map +1 -1
- package/dist/controls-options-manager/enums.js +14 -2
- package/dist/controls-options-manager/enums.js.map +1 -1
- package/dist/controls-options-manager/index.js +109 -15
- package/dist/controls-options-manager/index.js.map +1 -1
- package/dist/controls-options-manager/types.js +7 -0
- package/dist/controls-options-manager/types.js.map +1 -0
- package/dist/controls-options-manager/util.js +309 -18
- package/dist/controls-options-manager/util.js.map +1 -1
- package/dist/index.js +112 -1
- package/dist/index.js.map +1 -1
- package/dist/interpretation/collection.js +23 -0
- package/dist/interpretation/collection.js.map +1 -0
- package/dist/interpretation/index.js +366 -0
- package/dist/interpretation/index.js.map +1 -0
- package/dist/interpretation/siLanguage.js +25 -0
- package/dist/interpretation/siLanguage.js.map +1 -0
- package/dist/locus-info/controlsUtils.js +91 -2
- package/dist/locus-info/controlsUtils.js.map +1 -1
- package/dist/locus-info/index.js +383 -62
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/infoUtils.js +7 -1
- package/dist/locus-info/infoUtils.js.map +1 -1
- package/dist/locus-info/mediaSharesUtils.js +57 -1
- package/dist/locus-info/mediaSharesUtils.js.map +1 -1
- package/dist/locus-info/parser.js +249 -72
- package/dist/locus-info/parser.js.map +1 -1
- package/dist/locus-info/selfUtils.js +89 -14
- package/dist/locus-info/selfUtils.js.map +1 -1
- package/dist/media/index.js +61 -116
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.js +73 -124
- package/dist/media/properties.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js +86 -2
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +3917 -2960
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/locusMediaRequest.js +292 -0
- package/dist/meeting/locusMediaRequest.js.map +1 -0
- package/dist/meeting/muteState.js +230 -124
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.js +260 -196
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/util.js +601 -417
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting-info/index.js +73 -7
- package/dist/meeting-info/index.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.js +192 -51
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meeting-info/util.js +1 -1
- package/dist/meeting-info/util.js.map +1 -1
- package/dist/meeting-info/utilv2.js +36 -36
- package/dist/meeting-info/utilv2.js.map +1 -1
- package/dist/meetings/collection.js +39 -0
- package/dist/meetings/collection.js.map +1 -1
- package/dist/meetings/index.js +424 -116
- package/dist/meetings/index.js.map +1 -1
- package/dist/meetings/meetings.types.js +7 -0
- package/dist/meetings/meetings.types.js.map +1 -0
- package/dist/meetings/request.js +2 -0
- package/dist/meetings/request.js.map +1 -1
- package/dist/meetings/util.js +72 -6
- package/dist/meetings/util.js.map +1 -1
- package/dist/member/index.js +58 -0
- package/dist/member/index.js.map +1 -1
- package/dist/member/types.js +25 -0
- package/dist/member/types.js.map +1 -0
- package/dist/member/util.js +132 -25
- package/dist/member/util.js.map +1 -1
- package/dist/members/collection.js +10 -0
- package/dist/members/collection.js.map +1 -1
- package/dist/members/index.js +102 -6
- package/dist/members/index.js.map +1 -1
- package/dist/members/request.js +106 -38
- package/dist/members/request.js.map +1 -1
- package/dist/members/types.js +15 -0
- package/dist/members/types.js.map +1 -0
- package/dist/members/util.js +326 -232
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/constants.js +16 -5
- package/dist/metrics/constants.js.map +1 -1
- package/dist/metrics/index.js +1 -468
- package/dist/metrics/index.js.map +1 -1
- package/dist/multistream/mediaRequestManager.js +228 -58
- package/dist/multistream/mediaRequestManager.js.map +1 -1
- package/dist/multistream/receiveSlot.js +29 -16
- package/dist/multistream/receiveSlot.js.map +1 -1
- package/dist/multistream/receiveSlotManager.js +39 -36
- package/dist/multistream/receiveSlotManager.js.map +1 -1
- package/dist/multistream/remoteMedia.js +44 -18
- package/dist/multistream/remoteMedia.js.map +1 -1
- package/dist/multistream/remoteMediaGroup.js +60 -3
- package/dist/multistream/remoteMediaGroup.js.map +1 -1
- package/dist/multistream/remoteMediaManager.js +209 -59
- package/dist/multistream/remoteMediaManager.js.map +1 -1
- package/dist/multistream/sendSlotManager.js +233 -0
- package/dist/multistream/sendSlotManager.js.map +1 -0
- package/dist/reachability/index.js +225 -59
- package/dist/reachability/index.js.map +1 -1
- package/dist/reachability/request.js +17 -8
- package/dist/reachability/request.js.map +1 -1
- package/dist/reconnection-manager/index.js +214 -170
- package/dist/reconnection-manager/index.js.map +1 -1
- package/dist/recording-controller/index.js +21 -2
- package/dist/recording-controller/index.js.map +1 -1
- package/dist/recording-controller/util.js +9 -8
- package/dist/recording-controller/util.js.map +1 -1
- package/dist/roap/index.js +62 -32
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/request.js +112 -97
- package/dist/roap/request.js.map +1 -1
- package/dist/roap/turnDiscovery.js +95 -36
- package/dist/roap/turnDiscovery.js.map +1 -1
- package/dist/rtcMetrics/constants.js +12 -0
- package/dist/rtcMetrics/constants.js.map +1 -0
- package/dist/rtcMetrics/index.js +142 -0
- package/dist/rtcMetrics/index.js.map +1 -0
- package/dist/statsAnalyzer/index.js +107 -79
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.js +27 -26
- package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
- package/dist/types/annotation/annotation.types.d.ts +42 -0
- package/dist/types/annotation/constants.d.ts +31 -0
- package/dist/types/annotation/index.d.ts +117 -0
- package/dist/types/breakouts/edit-lock-error.d.ts +15 -0
- package/dist/types/breakouts/events.d.ts +8 -0
- package/dist/types/breakouts/utils.d.ts +14 -0
- package/dist/types/common/errors/no-meeting-info.d.ts +14 -0
- package/dist/types/common/errors/reclaim-host-role-errors.d.ts +60 -0
- package/dist/types/common/errors/webex-errors.d.ts +25 -1
- package/dist/types/common/logs/request.d.ts +2 -0
- package/dist/types/common/queue.d.ts +9 -7
- package/dist/types/config.d.ts +1 -7
- package/dist/types/constants.d.ts +201 -30
- package/dist/types/controls-options-manager/enums.d.ts +11 -1
- package/dist/types/controls-options-manager/index.d.ts +17 -1
- package/dist/types/controls-options-manager/types.d.ts +43 -0
- package/dist/types/controls-options-manager/util.d.ts +1 -7
- package/dist/types/index.d.ts +6 -4
- package/dist/types/interpretation/collection.d.ts +5 -0
- package/dist/types/interpretation/index.d.ts +5 -0
- package/dist/types/interpretation/siLanguage.d.ts +5 -0
- package/dist/types/locus-info/index.d.ts +57 -4
- package/dist/types/locus-info/parser.d.ts +67 -6
- package/dist/types/media/index.d.ts +2 -0
- package/dist/types/media/properties.d.ts +34 -48
- package/dist/types/meeting/in-meeting-actions.d.ts +86 -2
- package/dist/types/meeting/index.d.ts +502 -512
- package/dist/types/meeting/locusMediaRequest.d.ts +74 -0
- package/dist/types/meeting/muteState.d.ts +99 -23
- package/dist/types/meeting/request.d.ts +72 -43
- package/dist/types/meeting/util.d.ts +101 -1
- package/dist/types/meeting-info/index.d.ts +13 -1
- package/dist/types/meeting-info/meeting-info-v2.d.ts +31 -1
- package/dist/types/meetings/collection.d.ts +17 -0
- package/dist/types/meetings/index.d.ts +101 -21
- package/dist/types/meetings/meetings.types.d.ts +4 -0
- package/dist/types/member/index.d.ts +14 -0
- package/dist/types/member/types.d.ts +32 -0
- package/dist/types/members/collection.d.ts +5 -0
- package/dist/types/members/index.d.ts +35 -2
- package/dist/types/members/request.d.ts +73 -9
- package/dist/types/members/types.d.ts +25 -0
- package/dist/types/members/util.d.ts +214 -1
- package/dist/types/metrics/constants.d.ts +15 -4
- package/dist/types/metrics/index.d.ts +4 -119
- package/dist/types/multistream/mediaRequestManager.d.ts +72 -5
- package/dist/types/multistream/receiveSlot.d.ts +13 -11
- package/dist/types/multistream/receiveSlotManager.d.ts +14 -4
- package/dist/types/multistream/remoteMedia.d.ts +8 -29
- package/dist/types/multistream/remoteMediaGroup.d.ts +0 -9
- package/dist/types/multistream/remoteMediaManager.d.ts +46 -2
- package/dist/types/multistream/sendSlotManager.d.ts +61 -0
- package/dist/types/reachability/index.d.ts +61 -7
- package/dist/types/reachability/request.d.ts +7 -3
- package/dist/types/reconnection-manager/index.d.ts +19 -0
- package/dist/types/recording-controller/index.d.ts +15 -1
- package/dist/types/recording-controller/util.d.ts +5 -4
- package/dist/types/roap/index.d.ts +2 -1
- package/dist/types/roap/request.d.ts +15 -11
- package/dist/types/roap/turnDiscovery.d.ts +21 -3
- package/dist/types/rtcMetrics/constants.d.ts +4 -0
- package/dist/types/rtcMetrics/index.d.ts +54 -0
- package/dist/types/statsAnalyzer/index.d.ts +7 -1
- package/dist/types/webinar/collection.d.ts +16 -0
- package/dist/types/webinar/index.d.ts +5 -0
- package/dist/webinar/collection.js +44 -0
- package/dist/webinar/collection.js.map +1 -0
- package/dist/webinar/index.js +69 -0
- package/dist/webinar/index.js.map +1 -0
- package/package.json +24 -20
- package/src/annotation/annotation.types.ts +50 -0
- package/src/annotation/constants.ts +36 -0
- package/src/annotation/index.ts +328 -0
- package/src/breakouts/README.md +42 -12
- package/src/breakouts/breakout.ts +67 -9
- package/src/breakouts/edit-lock-error.ts +25 -0
- package/src/breakouts/events.ts +56 -0
- package/src/breakouts/index.ts +592 -20
- package/src/breakouts/utils.ts +42 -0
- package/src/common/errors/no-meeting-info.ts +24 -0
- package/src/common/errors/reclaim-host-role-errors.ts +134 -0
- package/src/common/errors/webex-errors.ts +44 -2
- package/src/common/logs/logger-proxy.ts +1 -1
- package/src/common/logs/request.ts +5 -1
- package/src/common/queue.ts +22 -8
- package/src/config.ts +3 -9
- package/src/constants.ts +224 -20
- package/src/controls-options-manager/enums.ts +12 -0
- package/src/controls-options-manager/index.ts +116 -21
- package/src/controls-options-manager/types.ts +59 -0
- package/src/controls-options-manager/util.ts +294 -14
- package/src/index.ts +40 -0
- package/src/interpretation/README.md +60 -0
- package/src/interpretation/collection.ts +19 -0
- package/src/interpretation/index.ts +332 -0
- package/src/interpretation/siLanguage.ts +18 -0
- package/src/locus-info/controlsUtils.ts +108 -0
- package/src/locus-info/index.ts +413 -59
- package/src/locus-info/infoUtils.ts +10 -2
- package/src/locus-info/mediaSharesUtils.ts +64 -0
- package/src/locus-info/parser.ts +258 -47
- package/src/locus-info/selfUtils.ts +81 -5
- package/src/media/index.ts +102 -122
- package/src/media/properties.ts +87 -110
- package/src/meeting/in-meeting-actions.ts +171 -3
- package/src/meeting/index.ts +3267 -2555
- package/src/meeting/locusMediaRequest.ts +313 -0
- package/src/meeting/muteState.ts +229 -131
- package/src/meeting/request.ts +177 -121
- package/src/meeting/util.ts +588 -394
- package/src/meeting-info/index.ts +81 -8
- package/src/meeting-info/meeting-info-v2.ts +170 -14
- package/src/meeting-info/util.ts +1 -1
- package/src/meeting-info/utilv2.ts +23 -23
- package/src/meetings/collection.ts +33 -0
- package/src/meetings/index.ts +454 -125
- package/src/meetings/meetings.types.ts +12 -0
- package/src/meetings/request.ts +2 -0
- package/src/meetings/util.ts +80 -11
- package/src/member/index.ts +58 -0
- package/src/member/types.ts +38 -0
- package/src/member/util.ts +141 -25
- package/src/members/collection.ts +8 -0
- package/src/members/index.ts +134 -8
- package/src/members/request.ts +97 -17
- package/src/members/types.ts +29 -0
- package/src/members/util.ts +333 -240
- package/src/metrics/constants.ts +15 -4
- package/src/metrics/index.ts +1 -490
- package/src/multistream/mediaRequestManager.ts +277 -82
- package/src/multistream/receiveSlot.ts +31 -17
- package/src/multistream/receiveSlotManager.ts +34 -24
- package/src/multistream/remoteMedia.ts +27 -2
- package/src/multistream/remoteMediaGroup.ts +59 -0
- package/src/multistream/remoteMediaManager.ts +148 -30
- package/src/multistream/sendSlotManager.ts +170 -0
- package/src/reachability/index.ts +228 -37
- package/src/reachability/request.ts +17 -8
- package/src/reconnection-manager/index.ts +128 -106
- package/src/recording-controller/index.ts +20 -3
- package/src/recording-controller/util.ts +26 -9
- package/src/roap/index.ts +63 -32
- package/src/roap/request.ts +100 -104
- package/src/roap/turnDiscovery.ts +48 -26
- package/src/rtcMetrics/constants.ts +3 -0
- package/src/rtcMetrics/index.ts +124 -0
- package/src/statsAnalyzer/index.ts +135 -92
- package/src/statsAnalyzer/mqaUtil.ts +30 -28
- package/src/webinar/collection.ts +31 -0
- package/src/webinar/index.ts +62 -0
- package/test/integration/spec/converged-space-meetings.js +60 -3
- package/test/integration/spec/journey.js +320 -261
- package/test/integration/spec/space-meeting.js +76 -3
- package/test/unit/spec/annotation/index.ts +418 -0
- package/test/unit/spec/breakouts/breakout.ts +118 -28
- package/test/unit/spec/breakouts/edit-lock-error.ts +30 -0
- package/test/unit/spec/breakouts/events.ts +89 -0
- package/test/unit/spec/breakouts/index.ts +1395 -69
- package/test/unit/spec/breakouts/utils.js +52 -1
- package/test/unit/spec/common/queue.js +31 -2
- package/test/unit/spec/controls-options-manager/index.js +163 -0
- package/test/unit/spec/controls-options-manager/util.js +576 -60
- package/test/unit/spec/fixture/locus.js +1 -0
- package/test/unit/spec/interpretation/collection.ts +15 -0
- package/test/unit/spec/interpretation/index.ts +589 -0
- package/test/unit/spec/interpretation/siLanguage.ts +28 -0
- package/test/unit/spec/locus-info/controlsUtils.js +316 -43
- package/test/unit/spec/locus-info/index.js +1304 -33
- package/test/unit/spec/locus-info/infoUtils.js +37 -15
- package/test/unit/spec/locus-info/lib/SeqCmp.json +16 -0
- package/test/unit/spec/locus-info/mediaSharesUtils.ts +32 -0
- package/test/unit/spec/locus-info/parser.js +116 -35
- package/test/unit/spec/locus-info/selfConstant.js +27 -4
- package/test/unit/spec/locus-info/selfUtils.js +208 -17
- package/test/unit/spec/media/index.ts +104 -37
- package/test/unit/spec/media/properties.ts +2 -2
- package/test/unit/spec/meeting/in-meeting-actions.ts +85 -3
- package/test/unit/spec/meeting/index.js +5750 -2023
- package/test/unit/spec/meeting/locusMediaRequest.ts +442 -0
- package/test/unit/spec/meeting/muteState.js +408 -208
- package/test/unit/spec/meeting/request.js +483 -49
- package/test/unit/spec/meeting/utils.js +679 -64
- package/test/unit/spec/meeting-info/index.js +300 -0
- package/test/unit/spec/meeting-info/meetinginfov2.js +526 -5
- package/test/unit/spec/meeting-info/utilv2.js +21 -0
- package/test/unit/spec/meetings/collection.js +26 -0
- package/test/unit/spec/meetings/index.js +1231 -212
- package/test/unit/spec/meetings/utils.js +202 -2
- package/test/unit/spec/member/index.js +61 -6
- package/test/unit/spec/member/util.js +510 -34
- package/test/unit/spec/members/index.js +432 -1
- package/test/unit/spec/members/request.js +206 -27
- package/test/unit/spec/members/utils.js +210 -0
- package/test/unit/spec/metrics/index.js +1 -50
- package/test/unit/spec/multistream/mediaRequestManager.ts +776 -162
- package/test/unit/spec/multistream/receiveSlot.ts +28 -20
- package/test/unit/spec/multistream/receiveSlotManager.ts +32 -30
- package/test/unit/spec/multistream/remoteMedia.ts +30 -0
- package/test/unit/spec/multistream/remoteMediaGroup.ts +266 -0
- package/test/unit/spec/multistream/remoteMediaManager.ts +326 -0
- package/test/unit/spec/multistream/sendSlotManager.ts +242 -0
- package/test/unit/spec/reachability/index.ts +549 -9
- package/test/unit/spec/reachability/request.js +68 -0
- package/test/unit/spec/reconnection-manager/index.js +117 -11
- package/test/unit/spec/recording-controller/index.js +294 -218
- package/test/unit/spec/recording-controller/util.js +223 -96
- package/test/unit/spec/roap/index.ts +178 -64
- package/test/unit/spec/roap/request.ts +203 -85
- package/test/unit/spec/roap/turnDiscovery.ts +82 -36
- package/test/unit/spec/rtcMetrics/index.ts +93 -0
- package/test/unit/spec/stats-analyzer/index.js +147 -3
- package/test/unit/spec/webinar/collection.ts +13 -0
- package/test/unit/spec/webinar/index.ts +60 -0
- package/test/utils/integrationTestUtils.js +46 -0
- package/test/utils/testUtils.js +0 -52
- package/dist/meeting/effectsState.js +0 -262
- package/dist/meeting/effectsState.js.map +0 -1
- package/dist/metrics/config.js +0 -299
- package/dist/metrics/config.js.map +0 -1
- package/dist/types/meeting/effectsState.d.ts +0 -42
- package/dist/types/metrics/config.d.ts +0 -178
- package/src/index.js +0 -16
- package/src/meeting/effectsState.ts +0 -211
- package/src/metrics/config.ts +0 -495
- package/test/unit/spec/meeting/effectsState.js +0 -285
package/dist/breakouts/index.js
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _Object$keys = require("@babel/runtime-corejs2/core-js/object/keys");
|
|
4
|
+
var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs2/core-js/object/get-own-property-symbols");
|
|
5
|
+
var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptor");
|
|
6
|
+
var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptors");
|
|
7
|
+
var _Object$defineProperties = require("@babel/runtime-corejs2/core-js/object/define-properties");
|
|
3
8
|
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
4
9
|
var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
|
|
5
10
|
_Object$defineProperty(exports, "__esModule", {
|
|
@@ -19,10 +24,10 @@ var _constants = require("../constants");
|
|
|
19
24
|
var _breakout = _interopRequireDefault(require("./breakout"));
|
|
20
25
|
var _collection = _interopRequireDefault(require("./collection"));
|
|
21
26
|
var _request = _interopRequireDefault(require("./request"));
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
27
|
+
var _events = _interopRequireDefault(require("./events"));
|
|
28
|
+
var _utils = require("./utils");
|
|
29
|
+
function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
30
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
26
31
|
/**
|
|
27
32
|
* @class Breakouts
|
|
28
33
|
*/
|
|
@@ -39,6 +44,8 @@ var Breakouts = _webexCore.WebexPlugin.extend({
|
|
|
39
44
|
// appears once breakouts start
|
|
40
45
|
enableBreakoutSession: 'boolean',
|
|
41
46
|
// appears from the moment you enable breakouts
|
|
47
|
+
hasBreakoutPreAssignments: 'boolean',
|
|
48
|
+
// appears from the moment you enable breakouts
|
|
42
49
|
groupId: 'string',
|
|
43
50
|
// appears from the moment you enable breakouts
|
|
44
51
|
name: 'string',
|
|
@@ -55,7 +62,21 @@ var Breakouts = _webexCore.WebexPlugin.extend({
|
|
|
55
62
|
// appears from the moment you enable breakouts
|
|
56
63
|
locusUrl: 'string',
|
|
57
64
|
// the current locus url
|
|
58
|
-
breakoutServiceUrl: 'string'
|
|
65
|
+
breakoutServiceUrl: 'string',
|
|
66
|
+
// the current breakout resource url
|
|
67
|
+
mainLocusUrl: 'string',
|
|
68
|
+
// the locus url of the main session
|
|
69
|
+
groups: 'array',
|
|
70
|
+
// appears when create breakouts
|
|
71
|
+
manageGroups: 'array',
|
|
72
|
+
// appears when manage breakouts
|
|
73
|
+
preAssignments: 'array',
|
|
74
|
+
// appears when getPreAssignments info hasBreakoutPreAssignments = true
|
|
75
|
+
editLock: 'object',
|
|
76
|
+
// appears when getBreakout info editlock = true
|
|
77
|
+
intervalID: 'number',
|
|
78
|
+
meetingId: 'string',
|
|
79
|
+
canManageBreakouts: 'boolean' // appear the ability to manage breakouts
|
|
59
80
|
},
|
|
60
81
|
|
|
61
82
|
children: {
|
|
@@ -63,6 +84,7 @@ var Breakouts = _webexCore.WebexPlugin.extend({
|
|
|
63
84
|
},
|
|
64
85
|
derived: {
|
|
65
86
|
isInMainSession: {
|
|
87
|
+
cache: false,
|
|
66
88
|
deps: ['sessionType'],
|
|
67
89
|
/**
|
|
68
90
|
* Returns true if the user is in the main session
|
|
@@ -71,6 +93,56 @@ var Breakouts = _webexCore.WebexPlugin.extend({
|
|
|
71
93
|
fn: function fn() {
|
|
72
94
|
return this.sessionType === _constants.BREAKOUTS.SESSION_TYPES.MAIN;
|
|
73
95
|
}
|
|
96
|
+
},
|
|
97
|
+
isActiveBreakout: {
|
|
98
|
+
cache: false,
|
|
99
|
+
// fix issue: sometimes the derived will not change even if the deps changed
|
|
100
|
+
deps: ['sessionType', 'status'],
|
|
101
|
+
/**
|
|
102
|
+
* Returns true if the breakout status is active
|
|
103
|
+
* @returns {boolean}
|
|
104
|
+
*/
|
|
105
|
+
fn: function fn() {
|
|
106
|
+
return this.sessionType === _constants.BREAKOUTS.SESSION_TYPES.BREAKOUT && (this.status === _constants.BREAKOUTS.STATUS.OPEN || this.status === _constants.BREAKOUTS.STATUS.CLOSING);
|
|
107
|
+
}
|
|
108
|
+
},
|
|
109
|
+
breakoutGroupId: {
|
|
110
|
+
cache: false,
|
|
111
|
+
deps: ['manageGroups'],
|
|
112
|
+
/**
|
|
113
|
+
* Returns the active group id
|
|
114
|
+
* @returns {boolean}
|
|
115
|
+
*/
|
|
116
|
+
fn: function fn() {
|
|
117
|
+
var _this$manageGroups;
|
|
118
|
+
if ((_this$manageGroups = this.manageGroups) !== null && _this$manageGroups !== void 0 && _this$manageGroups.length) {
|
|
119
|
+
return this.manageGroups[0].status !== _constants.BREAKOUTS.STATUS.CLOSED ? this.manageGroups[0].id : '';
|
|
120
|
+
}
|
|
121
|
+
return '';
|
|
122
|
+
}
|
|
123
|
+
},
|
|
124
|
+
breakoutStatus: {
|
|
125
|
+
cache: true,
|
|
126
|
+
deps: ['isInMainSession', 'status', 'groups'],
|
|
127
|
+
/**
|
|
128
|
+
* Returns the breakout status
|
|
129
|
+
* @returns {boolean}
|
|
130
|
+
*/
|
|
131
|
+
fn: function fn() {
|
|
132
|
+
var _this$groups, _this$groups$;
|
|
133
|
+
return this.isInMainSession ? (_this$groups = this.groups) === null || _this$groups === void 0 ? void 0 : (_this$groups$ = _this$groups[0]) === null || _this$groups$ === void 0 ? void 0 : _this$groups$.status : this.status;
|
|
134
|
+
}
|
|
135
|
+
},
|
|
136
|
+
shouldQueryPreAssignments: {
|
|
137
|
+
cache: false,
|
|
138
|
+
deps: ['canManageBreakouts', 'enableBreakoutSession', 'hasBreakoutPreAssignments'],
|
|
139
|
+
/**
|
|
140
|
+
* Returns should query preAssignments or not
|
|
141
|
+
* @returns {boolean}
|
|
142
|
+
*/
|
|
143
|
+
fn: function fn() {
|
|
144
|
+
return !!(this.canManageBreakouts && this.enableBreakoutSession && this.hasBreakoutPreAssignments);
|
|
145
|
+
}
|
|
74
146
|
}
|
|
75
147
|
},
|
|
76
148
|
/**
|
|
@@ -79,20 +151,31 @@ var Breakouts = _webexCore.WebexPlugin.extend({
|
|
|
79
151
|
*/
|
|
80
152
|
initialize: function initialize() {
|
|
81
153
|
var _this = this;
|
|
82
|
-
this.listenTo(this, 'change:
|
|
83
|
-
if (_this.
|
|
154
|
+
this.listenTo(this, 'change:breakoutStatus', function () {
|
|
155
|
+
if (_this.breakoutStatus === _constants.BREAKOUTS.STATUS.CLOSING) {
|
|
84
156
|
_this.trigger(_constants.BREAKOUTS.EVENTS.BREAKOUTS_CLOSING);
|
|
85
157
|
}
|
|
86
158
|
});
|
|
159
|
+
this.listenTo(this, 'change:shouldQueryPreAssignments', function () {
|
|
160
|
+
if (_this.shouldQueryPreAssignments && !_this.preAssignments) {
|
|
161
|
+
_this.queryPreAssignments();
|
|
162
|
+
}
|
|
163
|
+
});
|
|
87
164
|
this.debouncedQueryRosters = (0, _debounce2.default)(this.queryRosters, 10, {
|
|
88
165
|
leading: true,
|
|
89
166
|
trailing: false
|
|
90
167
|
});
|
|
91
|
-
this.listenTo(this.breakouts, 'add', function () {
|
|
168
|
+
this.listenTo(this.breakouts, 'add', function (breakout) {
|
|
92
169
|
_this.debouncedQueryRosters();
|
|
170
|
+
_this.triggerReturnToMainEvent(breakout);
|
|
171
|
+
});
|
|
172
|
+
this.listenTo(this.breakouts, 'change:requestedLastModifiedTime', function (breakout) {
|
|
173
|
+
_this.triggerReturnToMainEvent(breakout);
|
|
93
174
|
});
|
|
175
|
+
this.listenToCurrentSessionTypeChange();
|
|
94
176
|
this.listenToBroadcastMessages();
|
|
95
177
|
this.listenToBreakoutRosters();
|
|
178
|
+
this.listenToBreakoutHelp();
|
|
96
179
|
// @ts-ignore
|
|
97
180
|
this.breakoutRequest = new _request.default({
|
|
98
181
|
webex: this.webex
|
|
@@ -112,9 +195,22 @@ var Breakouts = _webexCore.WebexPlugin.extend({
|
|
|
112
195
|
*/
|
|
113
196
|
locusUrlUpdate: function locusUrlUpdate(locusUrl) {
|
|
114
197
|
this.set('locusUrl', locusUrl);
|
|
198
|
+
var isInMainSession = this.isInMainSession,
|
|
199
|
+
mainLocusUrl = this.mainLocusUrl;
|
|
200
|
+
if (isInMainSession || !mainLocusUrl) {
|
|
201
|
+
this.set('mainLocusUrl', locusUrl);
|
|
202
|
+
}
|
|
115
203
|
},
|
|
116
204
|
/**
|
|
117
|
-
* Update
|
|
205
|
+
* Update whether self is moderator/cohost or not
|
|
206
|
+
* @param {boolean} canManageBreakouts
|
|
207
|
+
* @returns {void}
|
|
208
|
+
*/
|
|
209
|
+
updateCanManageBreakouts: function updateCanManageBreakouts(canManageBreakouts) {
|
|
210
|
+
this.set('canManageBreakouts', canManageBreakouts);
|
|
211
|
+
},
|
|
212
|
+
/**
|
|
213
|
+
* Update the current breakout resource url
|
|
118
214
|
* @param {string} breakoutServiceUrl
|
|
119
215
|
* @returns {void}
|
|
120
216
|
*/
|
|
@@ -135,7 +231,7 @@ var Breakouts = _webexCore.WebexPlugin.extend({
|
|
|
135
231
|
}
|
|
136
232
|
}).then(function (result) {
|
|
137
233
|
var rosters = result.body.rosters;
|
|
138
|
-
rosters.forEach(function (_ref) {
|
|
234
|
+
rosters === null || rosters === void 0 ? void 0 : rosters.forEach(function (_ref) {
|
|
139
235
|
var locus = _ref.locus;
|
|
140
236
|
_this2.handleRosterUpdate(locus);
|
|
141
237
|
});
|
|
@@ -158,25 +254,37 @@ var Breakouts = _webexCore.WebexPlugin.extend({
|
|
|
158
254
|
}
|
|
159
255
|
session.parseRoster(locus);
|
|
160
256
|
},
|
|
257
|
+
/**
|
|
258
|
+
*Sets up listener for currentBreakoutSession sessionType changed
|
|
259
|
+
* @returns {void}
|
|
260
|
+
*/
|
|
261
|
+
listenToCurrentSessionTypeChange: function listenToCurrentSessionTypeChange() {
|
|
262
|
+
var _this3 = this;
|
|
263
|
+
this.listenTo(this.currentBreakoutSession, 'change:sessionType', function (currentBreakoutSession, sessionType) {
|
|
264
|
+
if ((0, _utils.isSessionTypeChangedFromSessionToMain)(currentBreakoutSession, sessionType)) {
|
|
265
|
+
_this3.trigger(_constants.BREAKOUTS.EVENTS.LEAVE_BREAKOUT);
|
|
266
|
+
}
|
|
267
|
+
});
|
|
268
|
+
},
|
|
161
269
|
/**
|
|
162
270
|
* Sets up listener for broadcast messages sent to the breakout session
|
|
163
271
|
* @returns {void}
|
|
164
272
|
*/
|
|
165
273
|
listenToBroadcastMessages: function listenToBroadcastMessages() {
|
|
166
|
-
var
|
|
274
|
+
var _this4 = this;
|
|
167
275
|
this.listenTo(this.webex.internal.llm, 'event:breakout.message', function (event) {
|
|
168
276
|
var _event$data = event.data,
|
|
169
277
|
senderUserId = _event$data.senderUserId,
|
|
170
278
|
sentTime = _event$data.sentTime,
|
|
171
279
|
message = _event$data.message;
|
|
172
|
-
|
|
280
|
+
_this4.trigger(_constants.BREAKOUTS.EVENTS.MESSAGE, {
|
|
173
281
|
senderUserId: senderUserId,
|
|
174
282
|
sentTime: sentTime,
|
|
175
283
|
message: message,
|
|
176
284
|
// FIXME: This is only the current sessionId
|
|
177
285
|
// We'd need to check that the dataChannelUrl is still the same
|
|
178
286
|
// to guarantee that this message was sent to this session
|
|
179
|
-
sessionId:
|
|
287
|
+
sessionId: _this4.currentBreakoutSession.sessionId
|
|
180
288
|
});
|
|
181
289
|
});
|
|
182
290
|
},
|
|
@@ -185,12 +293,45 @@ var Breakouts = _webexCore.WebexPlugin.extend({
|
|
|
185
293
|
* @returns {void}
|
|
186
294
|
*/
|
|
187
295
|
listenToBreakoutRosters: function listenToBreakoutRosters() {
|
|
188
|
-
var
|
|
296
|
+
var _this5 = this;
|
|
189
297
|
this.listenTo(this.webex.internal.mercury, 'event:breakout.roster', function (event) {
|
|
190
|
-
|
|
191
|
-
|
|
298
|
+
_this5.handleRosterUpdate(event.data.locus);
|
|
299
|
+
_this5.trigger(_constants.BREAKOUTS.EVENTS.MEMBERS_UPDATE);
|
|
300
|
+
});
|
|
301
|
+
},
|
|
302
|
+
/**
|
|
303
|
+
* Sets up a listener for ask help notify from mecury
|
|
304
|
+
* @returns {void}
|
|
305
|
+
*/
|
|
306
|
+
listenToBreakoutHelp: function listenToBreakoutHelp() {
|
|
307
|
+
var _this6 = this;
|
|
308
|
+
this.listenTo(this.webex.internal.mercury, 'event:breakout.help', function (event) {
|
|
309
|
+
var _event$data2 = event.data,
|
|
310
|
+
participant = _event$data2.participant,
|
|
311
|
+
sessionId = _event$data2.sessionId;
|
|
312
|
+
_this6.trigger(_constants.BREAKOUTS.EVENTS.ASK_FOR_HELP, {
|
|
313
|
+
participant: participant,
|
|
314
|
+
sessionId: sessionId
|
|
315
|
+
});
|
|
192
316
|
});
|
|
193
317
|
},
|
|
318
|
+
/**
|
|
319
|
+
* get current breakout is in progress or not
|
|
320
|
+
* @returns {boolean}
|
|
321
|
+
*/
|
|
322
|
+
isBreakoutInProgress: function isBreakoutInProgress() {
|
|
323
|
+
var _this$groups2, _this$groups2$;
|
|
324
|
+
var currentStatus = ((_this$groups2 = this.groups) === null || _this$groups2 === void 0 ? void 0 : (_this$groups2$ = _this$groups2[0]) === null || _this$groups2$ === void 0 ? void 0 : _this$groups2$.status) || this.status;
|
|
325
|
+
return currentStatus === _constants.BREAKOUTS.STATUS.OPEN || currentStatus === _constants.BREAKOUTS.STATUS.CLOSING;
|
|
326
|
+
},
|
|
327
|
+
/**
|
|
328
|
+
* get current breakout is in closing or not
|
|
329
|
+
* @returns {boolean}
|
|
330
|
+
*/
|
|
331
|
+
isBreakoutIClosing: function isBreakoutIClosing() {
|
|
332
|
+
var _this$groups3, _this$groups3$;
|
|
333
|
+
return (((_this$groups3 = this.groups) === null || _this$groups3 === void 0 ? void 0 : (_this$groups3$ = _this$groups3[0]) === null || _this$groups3$ === void 0 ? void 0 : _this$groups3$.status) || this.status) === _constants.BREAKOUTS.STATUS.CLOSING;
|
|
334
|
+
},
|
|
194
335
|
/**
|
|
195
336
|
* Updates the information about the current breakout
|
|
196
337
|
* @param {Object} params
|
|
@@ -199,6 +340,10 @@ var Breakouts = _webexCore.WebexPlugin.extend({
|
|
|
199
340
|
updateBreakout: function updateBreakout(params) {
|
|
200
341
|
var _this$set;
|
|
201
342
|
this.set(params);
|
|
343
|
+
// These values are set manually so they are unset when they are not included in params
|
|
344
|
+
this.set('groups', params.groups);
|
|
345
|
+
this.set('startTime', params.startTime);
|
|
346
|
+
this.set('status', params.status);
|
|
202
347
|
this.set('currentBreakoutSession', (_this$set = {
|
|
203
348
|
sessionId: params.sessionId,
|
|
204
349
|
groupId: params.groupId,
|
|
@@ -206,8 +351,21 @@ var Breakouts = _webexCore.WebexPlugin.extend({
|
|
|
206
351
|
current: true,
|
|
207
352
|
sessionType: params.sessionType,
|
|
208
353
|
url: params.url
|
|
209
|
-
}, (0, _defineProperty2.default)(_this$set, _constants.BREAKOUTS.SESSION_STATES.ACTIVE, false), (0, _defineProperty2.default)(_this$set, _constants.BREAKOUTS.SESSION_STATES.ALLOWED, false), (0, _defineProperty2.default)(_this$set, _constants.BREAKOUTS.SESSION_STATES.
|
|
210
|
-
this.
|
|
354
|
+
}, (0, _defineProperty2.default)(_this$set, _constants.BREAKOUTS.SESSION_STATES.ACTIVE, false), (0, _defineProperty2.default)(_this$set, _constants.BREAKOUTS.SESSION_STATES.ALLOWED, false), (0, _defineProperty2.default)(_this$set, _constants.BREAKOUTS.SESSION_STATES.ASSIGNED, false), (0, _defineProperty2.default)(_this$set, _constants.BREAKOUTS.SESSION_STATES.ASSIGNED_CURRENT, false), (0, _defineProperty2.default)(_this$set, _constants.BREAKOUTS.SESSION_STATES.REQUESTED, false), _this$set));
|
|
355
|
+
if (!this.isBreakoutInProgress()) {
|
|
356
|
+
this.clearBreakouts();
|
|
357
|
+
}
|
|
358
|
+
if (this.currentBreakoutSession.previous('sessionId') !== this.currentBreakoutSession.sessionId || this.currentBreakoutSession.previous('groupId') !== this.currentBreakoutSession.groupId) {
|
|
359
|
+
// should report joined session changed
|
|
360
|
+
var meeting = this.webex.meetings.getMeetingByType(_constants._ID_, this.meetingId);
|
|
361
|
+
_events.default.onBreakoutJoinResponse({
|
|
362
|
+
currentSession: this.currentBreakoutSession,
|
|
363
|
+
meeting: meeting,
|
|
364
|
+
breakoutMoveId: params.breakoutMoveId
|
|
365
|
+
},
|
|
366
|
+
// @ts-ignore
|
|
367
|
+
this.webex.internal.newMetrics.submitClientEvent.bind(this.webex.internal.newMetrics));
|
|
368
|
+
}
|
|
211
369
|
},
|
|
212
370
|
/**
|
|
213
371
|
* Updates the information about available breakouts
|
|
@@ -215,8 +373,14 @@ var Breakouts = _webexCore.WebexPlugin.extend({
|
|
|
215
373
|
* @returns {void}
|
|
216
374
|
*/
|
|
217
375
|
updateBreakoutSessions: function updateBreakoutSessions(payload) {
|
|
218
|
-
var
|
|
376
|
+
var _this7 = this;
|
|
219
377
|
var breakouts = {};
|
|
378
|
+
if (this.isBreakoutIClosing()) {
|
|
379
|
+
// fix issue: don't clear/update breakouts collection when in closing since locus DTO will send undefined or
|
|
380
|
+
// only the MAIN session info here, if just update it, will miss the breakout roster info during
|
|
381
|
+
// count down to end breakouts
|
|
382
|
+
return;
|
|
383
|
+
}
|
|
220
384
|
if (payload.breakoutSessions) {
|
|
221
385
|
(0, _forEach2.default)(_constants.BREAKOUTS.SESSION_STATES, function (state) {
|
|
222
386
|
(0, _forEach2.default)(payload.breakoutSessions[state], function (breakout) {
|
|
@@ -230,15 +394,27 @@ var Breakouts = _webexCore.WebexPlugin.extend({
|
|
|
230
394
|
breakouts[sessionId][_constants.BREAKOUTS.SESSION_STATES.REQUESTED] = false;
|
|
231
395
|
}
|
|
232
396
|
breakouts[sessionId][state] = true;
|
|
397
|
+
if (state === _constants.BREAKOUTS.SESSION_STATES.REQUESTED) {
|
|
398
|
+
breakouts[sessionId].requestedLastModifiedTime = breakout.modifiedAt;
|
|
399
|
+
}
|
|
233
400
|
});
|
|
234
401
|
});
|
|
235
402
|
}
|
|
236
403
|
(0, _forEach2.default)(breakouts, function (breakout) {
|
|
237
404
|
// eslint-disable-next-line no-param-reassign
|
|
238
|
-
breakout.url =
|
|
405
|
+
breakout.url = _this7.url;
|
|
239
406
|
});
|
|
240
407
|
this.breakouts.set((0, _values.default)(breakouts));
|
|
241
408
|
},
|
|
409
|
+
/**
|
|
410
|
+
* clear breakouts collection
|
|
411
|
+
* @returns {void}
|
|
412
|
+
*/
|
|
413
|
+
clearBreakouts: function clearBreakouts() {
|
|
414
|
+
if (this.breakouts.length > 0) {
|
|
415
|
+
this.breakouts.reset();
|
|
416
|
+
}
|
|
417
|
+
},
|
|
242
418
|
/**
|
|
243
419
|
* get main session
|
|
244
420
|
* @returns {Breakout}
|
|
@@ -277,10 +453,7 @@ var Breakouts = _webexCore.WebexPlugin.extend({
|
|
|
277
453
|
* @returns {Promise}
|
|
278
454
|
*/
|
|
279
455
|
broadcast: function broadcast(message, options) {
|
|
280
|
-
var
|
|
281
|
-
var breakoutGroupId = this.isInMainSession ? (_this$breakouts$filte = this.breakouts.filter(function (breakout) {
|
|
282
|
-
return !breakout.isMain;
|
|
283
|
-
})[0]) === null || _this$breakouts$filte === void 0 ? void 0 : _this$breakouts$filte.groupId : this.groupId;
|
|
456
|
+
var breakoutGroupId = this.breakoutGroupId;
|
|
284
457
|
if (!breakoutGroupId) {
|
|
285
458
|
throw new Error('Cannot broadcast, no breakout session found');
|
|
286
459
|
}
|
|
@@ -312,39 +485,39 @@ var Breakouts = _webexCore.WebexPlugin.extend({
|
|
|
312
485
|
return _promise.default.reject(new Error("enableBreakouts: the breakoutServiceUrl is empty"));
|
|
313
486
|
},
|
|
314
487
|
/**
|
|
315
|
-
* Make the meeting
|
|
488
|
+
* Make the meeting enable or disable breakout session
|
|
316
489
|
* @param {boolean} enable
|
|
317
490
|
* @returns {Promise}
|
|
318
491
|
*/
|
|
319
492
|
toggleBreakout: function toggleBreakout(enable) {
|
|
320
|
-
var
|
|
493
|
+
var _this8 = this;
|
|
321
494
|
return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
322
495
|
var info;
|
|
323
496
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
324
497
|
while (1) switch (_context.prev = _context.next) {
|
|
325
498
|
case 0:
|
|
326
|
-
if (!(
|
|
499
|
+
if (!(_this8.enableBreakoutSession === undefined)) {
|
|
327
500
|
_context.next = 10;
|
|
328
501
|
break;
|
|
329
502
|
}
|
|
330
503
|
_context.next = 3;
|
|
331
|
-
return
|
|
504
|
+
return _this8.enableBreakouts();
|
|
332
505
|
case 3:
|
|
333
506
|
info = _context.sent;
|
|
507
|
+
// first time enable, set the initial data
|
|
508
|
+
_this8.updateBreakout(info === null || info === void 0 ? void 0 : info.body);
|
|
334
509
|
if (enable) {
|
|
335
510
|
_context.next = 8;
|
|
336
511
|
break;
|
|
337
512
|
}
|
|
338
|
-
// if enable is false, updateBreakout set the param then set enableBreakoutSession as false
|
|
339
|
-
_this6.updateBreakout(info.body);
|
|
340
513
|
_context.next = 8;
|
|
341
|
-
return
|
|
514
|
+
return _this8.doToggleBreakout(enable);
|
|
342
515
|
case 8:
|
|
343
516
|
_context.next = 12;
|
|
344
517
|
break;
|
|
345
518
|
case 10:
|
|
346
519
|
_context.next = 12;
|
|
347
|
-
return
|
|
520
|
+
return _this8.doToggleBreakout(enable);
|
|
348
521
|
case 12:
|
|
349
522
|
case "end":
|
|
350
523
|
return _context.stop();
|
|
@@ -358,16 +531,517 @@ var Breakouts = _webexCore.WebexPlugin.extend({
|
|
|
358
531
|
* @returns {Promise}
|
|
359
532
|
*/
|
|
360
533
|
doToggleBreakout: function doToggleBreakout(enable) {
|
|
534
|
+
var body = _objectSpread(_objectSpread({}, this.editLock && !!this.editLock.token ? {
|
|
535
|
+
editlock: {
|
|
536
|
+
token: this.editLock.token
|
|
537
|
+
}
|
|
538
|
+
} : {}), {
|
|
539
|
+
enableBreakoutSession: enable
|
|
540
|
+
});
|
|
541
|
+
|
|
361
542
|
// @ts-ignore
|
|
362
543
|
return this.webex.request({
|
|
363
544
|
method: _constants.HTTP_VERBS.PUT,
|
|
364
545
|
uri: this.url,
|
|
365
|
-
body:
|
|
366
|
-
|
|
546
|
+
body: body
|
|
547
|
+
});
|
|
548
|
+
},
|
|
549
|
+
/**
|
|
550
|
+
* set groups to manageGroups prop
|
|
551
|
+
* @param {Object} breakoutInfo -- breakout groups
|
|
552
|
+
* @returns {void}
|
|
553
|
+
*/
|
|
554
|
+
_setManageGroups: function _setManageGroups(breakoutInfo) {
|
|
555
|
+
var _breakoutInfo$body;
|
|
556
|
+
if (breakoutInfo !== null && breakoutInfo !== void 0 && (_breakoutInfo$body = breakoutInfo.body) !== null && _breakoutInfo$body !== void 0 && _breakoutInfo$body.groups) {
|
|
557
|
+
this.set('manageGroups', breakoutInfo.body.groups);
|
|
558
|
+
}
|
|
559
|
+
},
|
|
560
|
+
/**
|
|
561
|
+
* Create new breakout sessions
|
|
562
|
+
* @param {object} params -- breakout session group
|
|
563
|
+
* @returns {Promise}
|
|
564
|
+
*/
|
|
565
|
+
create: function create(params) {
|
|
566
|
+
var _this9 = this;
|
|
567
|
+
return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
|
|
568
|
+
var payload, body, breakoutInfo;
|
|
569
|
+
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
570
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
571
|
+
case 0:
|
|
572
|
+
payload = _objectSpread({}, params);
|
|
573
|
+
body = _objectSpread(_objectSpread({}, _this9.editLock && !!_this9.editLock.token ? {
|
|
574
|
+
editlock: {
|
|
575
|
+
token: _this9.editLock.token
|
|
576
|
+
}
|
|
577
|
+
} : {}), {
|
|
578
|
+
groups: [payload]
|
|
579
|
+
}); // @ts-ignore
|
|
580
|
+
_context2.next = 4;
|
|
581
|
+
return _this9.webex.request({
|
|
582
|
+
method: _constants.HTTP_VERBS.PUT,
|
|
583
|
+
uri: _this9.url,
|
|
584
|
+
body: body
|
|
585
|
+
}).catch(function (error) {
|
|
586
|
+
return _promise.default.reject((0, _utils.boServiceErrorHandler)(error, 'Breakouts#create'));
|
|
587
|
+
});
|
|
588
|
+
case 4:
|
|
589
|
+
breakoutInfo = _context2.sent;
|
|
590
|
+
_this9._setManageGroups(breakoutInfo);
|
|
591
|
+
|
|
592
|
+
// clear edit lock info after save breakout session info
|
|
593
|
+
_this9._clearEditLockInfo();
|
|
594
|
+
return _context2.abrupt("return", breakoutInfo);
|
|
595
|
+
case 8:
|
|
596
|
+
case "end":
|
|
597
|
+
return _context2.stop();
|
|
598
|
+
}
|
|
599
|
+
}, _callee2);
|
|
600
|
+
}))();
|
|
601
|
+
},
|
|
602
|
+
/**
|
|
603
|
+
* Delete all breakout sessions
|
|
604
|
+
* @returns {Promise}
|
|
605
|
+
*/
|
|
606
|
+
clearSessions: function clearSessions() {
|
|
607
|
+
var _this10 = this;
|
|
608
|
+
return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
|
|
609
|
+
var body, breakoutInfo;
|
|
610
|
+
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
611
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
612
|
+
case 0:
|
|
613
|
+
body = _objectSpread(_objectSpread({}, _this10.editLock && !!_this10.editLock.token ? {
|
|
614
|
+
editlock: {
|
|
615
|
+
token: _this10.editLock.token
|
|
616
|
+
}
|
|
617
|
+
} : {}), {
|
|
618
|
+
groups: [{
|
|
619
|
+
action: _constants.BREAKOUTS.ACTION.DELETE
|
|
620
|
+
}]
|
|
621
|
+
}); // @ts-ignore
|
|
622
|
+
_context3.next = 3;
|
|
623
|
+
return _this10.webex.request({
|
|
624
|
+
method: _constants.HTTP_VERBS.PUT,
|
|
625
|
+
uri: _this10.url,
|
|
626
|
+
body: body
|
|
627
|
+
}).catch(function (error) {
|
|
628
|
+
return _promise.default.reject((0, _utils.boServiceErrorHandler)(error, 'Breakouts#clearSessions'));
|
|
629
|
+
});
|
|
630
|
+
case 3:
|
|
631
|
+
breakoutInfo = _context3.sent;
|
|
632
|
+
_this10._setManageGroups(breakoutInfo);
|
|
633
|
+
return _context3.abrupt("return", breakoutInfo);
|
|
634
|
+
case 6:
|
|
635
|
+
case "end":
|
|
636
|
+
return _context3.stop();
|
|
637
|
+
}
|
|
638
|
+
}, _callee3);
|
|
639
|
+
}))();
|
|
640
|
+
},
|
|
641
|
+
/**
|
|
642
|
+
* Host or cohost starts breakout sessions
|
|
643
|
+
* @param {object} params
|
|
644
|
+
* @returns {Promise}
|
|
645
|
+
*/
|
|
646
|
+
start: function start() {
|
|
647
|
+
var _arguments = arguments,
|
|
648
|
+
_this11 = this;
|
|
649
|
+
return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {
|
|
650
|
+
var params, action, payload, body, breakoutInfo;
|
|
651
|
+
return _regenerator.default.wrap(function _callee4$(_context4) {
|
|
652
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
653
|
+
case 0:
|
|
654
|
+
params = _arguments.length > 0 && _arguments[0] !== undefined ? _arguments[0] : {};
|
|
655
|
+
action = _constants.BREAKOUTS.ACTION.START;
|
|
656
|
+
payload = _objectSpread({
|
|
657
|
+
id: _this11.breakoutGroupId,
|
|
658
|
+
action: action,
|
|
659
|
+
allowBackToMain: false,
|
|
660
|
+
allowToJoinLater: false
|
|
661
|
+
}, params);
|
|
662
|
+
body = _objectSpread(_objectSpread({}, _this11.editLock && !!_this11.editLock.token ? {
|
|
663
|
+
editlock: {
|
|
664
|
+
token: _this11.editLock.token,
|
|
665
|
+
refresh: true
|
|
666
|
+
}
|
|
667
|
+
} : {}), {
|
|
668
|
+
groups: [payload]
|
|
669
|
+
});
|
|
670
|
+
_context4.next = 6;
|
|
671
|
+
return _this11.request({
|
|
672
|
+
method: _constants.HTTP_VERBS.PUT,
|
|
673
|
+
uri: _this11.url,
|
|
674
|
+
body: body
|
|
675
|
+
}).catch(function (error) {
|
|
676
|
+
return _promise.default.reject((0, _utils.boServiceErrorHandler)(error, 'Breakouts#start'));
|
|
677
|
+
});
|
|
678
|
+
case 6:
|
|
679
|
+
breakoutInfo = _context4.sent;
|
|
680
|
+
_this11._setManageGroups(breakoutInfo);
|
|
681
|
+
return _context4.abrupt("return", breakoutInfo);
|
|
682
|
+
case 9:
|
|
683
|
+
case "end":
|
|
684
|
+
return _context4.stop();
|
|
685
|
+
}
|
|
686
|
+
}, _callee4);
|
|
687
|
+
}))();
|
|
688
|
+
},
|
|
689
|
+
/**
|
|
690
|
+
* Host or cohost ends breakout sessions
|
|
691
|
+
* @param {object} params
|
|
692
|
+
* @returns {Promise}
|
|
693
|
+
*/
|
|
694
|
+
end: function end() {
|
|
695
|
+
var _arguments2 = arguments,
|
|
696
|
+
_this12 = this;
|
|
697
|
+
return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5() {
|
|
698
|
+
var params, delayCloseTime, id, action, payload, body, breakoutInfo;
|
|
699
|
+
return _regenerator.default.wrap(function _callee5$(_context5) {
|
|
700
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
701
|
+
case 0:
|
|
702
|
+
params = _arguments2.length > 0 && _arguments2[0] !== undefined ? _arguments2[0] : {};
|
|
703
|
+
delayCloseTime = _this12.delayCloseTime, id = _this12.breakoutGroupId;
|
|
704
|
+
action = _constants.BREAKOUTS.ACTION.CLOSE;
|
|
705
|
+
payload = _objectSpread({
|
|
706
|
+
id: id,
|
|
707
|
+
action: action,
|
|
708
|
+
delayCloseTime: delayCloseTime
|
|
709
|
+
}, params);
|
|
710
|
+
body = _objectSpread(_objectSpread({}, _this12.editLock && !!_this12.editLock.token ? {
|
|
711
|
+
editlock: {
|
|
712
|
+
token: _this12.editLock.token,
|
|
713
|
+
refresh: true
|
|
714
|
+
}
|
|
715
|
+
} : {}), {
|
|
716
|
+
groups: [payload]
|
|
717
|
+
});
|
|
718
|
+
_context5.next = 7;
|
|
719
|
+
return _this12.request({
|
|
720
|
+
method: _constants.HTTP_VERBS.PUT,
|
|
721
|
+
uri: _this12.url,
|
|
722
|
+
body: body
|
|
723
|
+
}).catch(function (error) {
|
|
724
|
+
return _promise.default.reject((0, _utils.boServiceErrorHandler)(error, 'Breakouts#end'));
|
|
725
|
+
});
|
|
726
|
+
case 7:
|
|
727
|
+
breakoutInfo = _context5.sent;
|
|
728
|
+
_this12._setManageGroups(breakoutInfo);
|
|
729
|
+
return _context5.abrupt("return", breakoutInfo);
|
|
730
|
+
case 10:
|
|
731
|
+
case "end":
|
|
732
|
+
return _context5.stop();
|
|
733
|
+
}
|
|
734
|
+
}, _callee5);
|
|
735
|
+
}))();
|
|
736
|
+
},
|
|
737
|
+
/**
|
|
738
|
+
* Host or cohost update breakout sessions
|
|
739
|
+
* @param {Object} params
|
|
740
|
+
* @param {String} params.id
|
|
741
|
+
* @param {Boolean} unlockEdit
|
|
742
|
+
* @returns {Promise}
|
|
743
|
+
*/
|
|
744
|
+
update: function update(params, unlockEdit) {
|
|
745
|
+
var _this13 = this;
|
|
746
|
+
return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6() {
|
|
747
|
+
var _this13$editLock;
|
|
748
|
+
var payload, body, breakoutInfo;
|
|
749
|
+
return _regenerator.default.wrap(function _callee6$(_context6) {
|
|
750
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
751
|
+
case 0:
|
|
752
|
+
if (params.id) {
|
|
753
|
+
_context6.next = 2;
|
|
754
|
+
break;
|
|
755
|
+
}
|
|
756
|
+
return _context6.abrupt("return", _promise.default.reject(new Error('Missing breakout group id')));
|
|
757
|
+
case 2:
|
|
758
|
+
payload = _objectSpread({}, params);
|
|
759
|
+
body = _objectSpread(_objectSpread({}, (_this13$editLock = _this13.editLock) !== null && _this13$editLock !== void 0 && _this13$editLock.token ? {
|
|
760
|
+
editlock: {
|
|
761
|
+
token: _this13.editLock.token,
|
|
762
|
+
refresh: !unlockEdit
|
|
763
|
+
}
|
|
764
|
+
} : {}), {
|
|
765
|
+
groups: [payload]
|
|
766
|
+
});
|
|
767
|
+
_context6.next = 6;
|
|
768
|
+
return _this13.request({
|
|
769
|
+
method: _constants.HTTP_VERBS.PUT,
|
|
770
|
+
uri: _this13.url,
|
|
771
|
+
body: body
|
|
772
|
+
}).catch(function (error) {
|
|
773
|
+
return _promise.default.reject((0, _utils.boServiceErrorHandler)(error, 'Breakouts#update'));
|
|
774
|
+
});
|
|
775
|
+
case 6:
|
|
776
|
+
breakoutInfo = _context6.sent;
|
|
777
|
+
if (unlockEdit) {
|
|
778
|
+
_this13._clearEditLockInfo();
|
|
779
|
+
}
|
|
780
|
+
_this13._setManageGroups(breakoutInfo);
|
|
781
|
+
return _context6.abrupt("return", breakoutInfo);
|
|
782
|
+
case 10:
|
|
783
|
+
case "end":
|
|
784
|
+
return _context6.stop();
|
|
785
|
+
}
|
|
786
|
+
}, _callee6);
|
|
787
|
+
}))();
|
|
788
|
+
},
|
|
789
|
+
/**
|
|
790
|
+
* get existed breakout sessions
|
|
791
|
+
* @param {boolean} editlock -- lock operations of the breakout sessions
|
|
792
|
+
* @returns {Promise}
|
|
793
|
+
*/
|
|
794
|
+
getBreakout: function getBreakout(editlock) {
|
|
795
|
+
var _this14 = this;
|
|
796
|
+
return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee7() {
|
|
797
|
+
var _breakout$body, _breakout$body$editlo;
|
|
798
|
+
var breakout;
|
|
799
|
+
return _regenerator.default.wrap(function _callee7$(_context7) {
|
|
800
|
+
while (1) switch (_context7.prev = _context7.next) {
|
|
801
|
+
case 0:
|
|
802
|
+
_context7.next = 2;
|
|
803
|
+
return _this14.request({
|
|
804
|
+
method: _constants.HTTP_VERBS.GET,
|
|
805
|
+
uri: _this14.url + (editlock ? "?editlock=".concat(editlock) : '')
|
|
806
|
+
});
|
|
807
|
+
case 2:
|
|
808
|
+
breakout = _context7.sent;
|
|
809
|
+
_this14._setManageGroups(breakout);
|
|
810
|
+
if (editlock && (_breakout$body = breakout.body) !== null && _breakout$body !== void 0 && (_breakout$body$editlo = _breakout$body.editlock) !== null && _breakout$body$editlo !== void 0 && _breakout$body$editlo.token) {
|
|
811
|
+
_this14.set('editLock', breakout.body.editlock);
|
|
812
|
+
_this14.keepEditLockAlive();
|
|
813
|
+
}
|
|
814
|
+
return _context7.abrupt("return", breakout);
|
|
815
|
+
case 6:
|
|
816
|
+
case "end":
|
|
817
|
+
return _context7.stop();
|
|
818
|
+
}
|
|
819
|
+
}, _callee7);
|
|
820
|
+
}))();
|
|
821
|
+
},
|
|
822
|
+
/**
|
|
823
|
+
* enable and edit lock breakout
|
|
824
|
+
* @returns {void}
|
|
825
|
+
*/
|
|
826
|
+
enableAndLockBreakout: function enableAndLockBreakout() {
|
|
827
|
+
var _this15 = this;
|
|
828
|
+
return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee8() {
|
|
829
|
+
var info;
|
|
830
|
+
return _regenerator.default.wrap(function _callee8$(_context8) {
|
|
831
|
+
while (1) switch (_context8.prev = _context8.next) {
|
|
832
|
+
case 0:
|
|
833
|
+
if (!_this15.enableBreakoutSession) {
|
|
834
|
+
_context8.next = 4;
|
|
835
|
+
break;
|
|
836
|
+
}
|
|
837
|
+
_this15.lockBreakout();
|
|
838
|
+
_context8.next = 8;
|
|
839
|
+
break;
|
|
840
|
+
case 4:
|
|
841
|
+
_context8.next = 6;
|
|
842
|
+
return _this15.enableBreakouts();
|
|
843
|
+
case 6:
|
|
844
|
+
info = _context8.sent;
|
|
845
|
+
if (info.body) {
|
|
846
|
+
_this15.lockBreakout();
|
|
847
|
+
}
|
|
848
|
+
case 8:
|
|
849
|
+
case "end":
|
|
850
|
+
return _context8.stop();
|
|
851
|
+
}
|
|
852
|
+
}, _callee8);
|
|
853
|
+
}))();
|
|
854
|
+
},
|
|
855
|
+
/**
|
|
856
|
+
* breakout edit locked by yourself or not
|
|
857
|
+
* @returns {boolean}
|
|
858
|
+
*/
|
|
859
|
+
hasBreakoutLocked: function hasBreakoutLocked() {
|
|
860
|
+
return this.editLock && this.editLock.token && this.editLock.state === _constants.BREAKOUTS.EDIT_LOCK_STATUS.LOCKED;
|
|
861
|
+
},
|
|
862
|
+
/**
|
|
863
|
+
* send breakout edit lock
|
|
864
|
+
* @returns {void}
|
|
865
|
+
*/
|
|
866
|
+
lockBreakout: function lockBreakout() {
|
|
867
|
+
var _this16 = this;
|
|
868
|
+
return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee9() {
|
|
869
|
+
var _breakout$body2, breakout;
|
|
870
|
+
return _regenerator.default.wrap(function _callee9$(_context9) {
|
|
871
|
+
while (1) switch (_context9.prev = _context9.next) {
|
|
872
|
+
case 0:
|
|
873
|
+
if (!(_this16.editLock && !!_this16.editLock.token)) {
|
|
874
|
+
_context9.next = 8;
|
|
875
|
+
break;
|
|
876
|
+
}
|
|
877
|
+
if (!(_this16.editLock.state === _constants.BREAKOUTS.EDIT_LOCK_STATUS.LOCKED)) {
|
|
878
|
+
_context9.next = 5;
|
|
879
|
+
break;
|
|
880
|
+
}
|
|
881
|
+
throw new Error('Breakout already locked');
|
|
882
|
+
case 5:
|
|
883
|
+
_this16.keepEditLockAlive();
|
|
884
|
+
case 6:
|
|
885
|
+
_context9.next = 12;
|
|
886
|
+
break;
|
|
887
|
+
case 8:
|
|
888
|
+
_context9.next = 10;
|
|
889
|
+
return _this16.getBreakout(true);
|
|
890
|
+
case 10:
|
|
891
|
+
breakout = _context9.sent;
|
|
892
|
+
if ((_breakout$body2 = breakout.body) !== null && _breakout$body2 !== void 0 && _breakout$body2.editlock) {
|
|
893
|
+
_this16.keepEditLockAlive();
|
|
894
|
+
}
|
|
895
|
+
case 12:
|
|
896
|
+
case "end":
|
|
897
|
+
return _context9.stop();
|
|
898
|
+
}
|
|
899
|
+
}, _callee9);
|
|
900
|
+
}))();
|
|
901
|
+
},
|
|
902
|
+
/**
|
|
903
|
+
* keep edit lock alive
|
|
904
|
+
* @returns {void}
|
|
905
|
+
*/
|
|
906
|
+
keepEditLockAlive: function keepEditLockAlive() {
|
|
907
|
+
var _this17 = this;
|
|
908
|
+
if (this.editLock && !!this.editLock.token) {
|
|
909
|
+
var ttl = this.editLock.ttl < 30 ? _constants.BREAKOUTS.DEFAULT_TTL : this.editLock.ttl;
|
|
910
|
+
if (this.intervalID) {
|
|
911
|
+
window.clearInterval(this.intervalID);
|
|
912
|
+
}
|
|
913
|
+
this.intervalID = window.setInterval(function () {
|
|
914
|
+
_this17.request({
|
|
915
|
+
method: _constants.HTTP_VERBS.PUT,
|
|
916
|
+
uri: "".concat(_this17.url, "/editlock/").concat(_this17.editLock.token)
|
|
917
|
+
}).catch(function (error) {
|
|
918
|
+
_this17._clearEditLockInfo();
|
|
919
|
+
return _promise.default.reject((0, _utils.boServiceErrorHandler)(error, 'Breakouts#keepEditLockAlive'));
|
|
920
|
+
});
|
|
921
|
+
}, ttl / 2 * 1000);
|
|
922
|
+
}
|
|
923
|
+
},
|
|
924
|
+
/**
|
|
925
|
+
* unlock edit breakout
|
|
926
|
+
* @returns {void}
|
|
927
|
+
*/
|
|
928
|
+
unLockEditBreakout: function unLockEditBreakout() {
|
|
929
|
+
var _this18 = this;
|
|
930
|
+
if (this.editLock && !!this.editLock.token) {
|
|
931
|
+
this.request({
|
|
932
|
+
method: _constants.HTTP_VERBS.DELETE,
|
|
933
|
+
uri: "".concat(this.url, "/editlock/").concat(this.editLock.token)
|
|
934
|
+
}).then(function () {
|
|
935
|
+
_this18._clearEditLockInfo();
|
|
936
|
+
}).catch(function (error) {
|
|
937
|
+
return _promise.default.reject((0, _utils.boServiceErrorHandler)(error, 'Breakouts#unLockEditBreakout'));
|
|
938
|
+
});
|
|
939
|
+
}
|
|
940
|
+
},
|
|
941
|
+
/**
|
|
942
|
+
* clear interval and edit lock info
|
|
943
|
+
* @private
|
|
944
|
+
* @returns {void}
|
|
945
|
+
*/
|
|
946
|
+
_clearEditLockInfo: function _clearEditLockInfo() {
|
|
947
|
+
if (this.intervalID) {
|
|
948
|
+
clearInterval(this.intervalID);
|
|
949
|
+
}
|
|
950
|
+
this.set('editLock', {});
|
|
951
|
+
},
|
|
952
|
+
/**
|
|
953
|
+
* assign participants to breakout session
|
|
954
|
+
* @param {Array} sessions
|
|
955
|
+
* @returns {void}
|
|
956
|
+
*/
|
|
957
|
+
assign: function assign(sessions) {
|
|
958
|
+
var internalSessions = sessions.map(function (item) {
|
|
959
|
+
return {
|
|
960
|
+
id: item.id,
|
|
961
|
+
assigned: item.memberIds,
|
|
962
|
+
assignedEmails: item.emails,
|
|
963
|
+
anyoneCanJoin: !!item.anyone
|
|
964
|
+
};
|
|
965
|
+
});
|
|
966
|
+
var body = _objectSpread(_objectSpread({}, this.editLock && !!this.editLock.token ? {
|
|
967
|
+
editlock: {
|
|
968
|
+
token: this.editLock.token,
|
|
969
|
+
refresh: true
|
|
367
970
|
}
|
|
971
|
+
} : {}), {
|
|
972
|
+
groups: [{
|
|
973
|
+
id: this.breakoutGroupId,
|
|
974
|
+
sessions: internalSessions
|
|
975
|
+
}]
|
|
368
976
|
});
|
|
977
|
+
return this.request({
|
|
978
|
+
method: _constants.HTTP_VERBS.PUT,
|
|
979
|
+
uri: this.url,
|
|
980
|
+
body: body
|
|
981
|
+
});
|
|
982
|
+
},
|
|
983
|
+
/**
|
|
984
|
+
* query preAssignments
|
|
985
|
+
* @returns {void}
|
|
986
|
+
*/
|
|
987
|
+
queryPreAssignments: function queryPreAssignments() {
|
|
988
|
+
var _this19 = this;
|
|
989
|
+
this.webex.request({
|
|
990
|
+
uri: "".concat(this.url, "/preassignments"),
|
|
991
|
+
qs: {
|
|
992
|
+
locusUrl: btoa(this.locusUrl)
|
|
993
|
+
}
|
|
994
|
+
}).then(function (result) {
|
|
995
|
+
var _result$body;
|
|
996
|
+
if ((_result$body = result.body) !== null && _result$body !== void 0 && _result$body.groups) {
|
|
997
|
+
_this19.set('preAssignments', result.body.groups);
|
|
998
|
+
_this19.trigger(_constants.BREAKOUTS.EVENTS.PRE_ASSIGNMENTS_UPDATE);
|
|
999
|
+
}
|
|
1000
|
+
}).catch(function (error) {
|
|
1001
|
+
_loggerProxy.default.logger.error('Meeting:breakouts#queryPreAssignments failed', error);
|
|
1002
|
+
});
|
|
1003
|
+
},
|
|
1004
|
+
/**
|
|
1005
|
+
* assign participants dynamically after breakout sessions started,
|
|
1006
|
+
* but currently it only used for admitting participants from lobby into breakout directly
|
|
1007
|
+
* @param {Array} sessions
|
|
1008
|
+
* @returns {void}
|
|
1009
|
+
*/
|
|
1010
|
+
dynamicAssign: function dynamicAssign(sessions) {
|
|
1011
|
+
var updatedSessions = sessions.map(function (item) {
|
|
1012
|
+
return {
|
|
1013
|
+
id: item.id,
|
|
1014
|
+
participants: item.participants,
|
|
1015
|
+
targetState: item.targetState
|
|
1016
|
+
};
|
|
1017
|
+
});
|
|
1018
|
+
var body = {
|
|
1019
|
+
groups: [{
|
|
1020
|
+
id: this.breakoutGroupId,
|
|
1021
|
+
sessions: updatedSessions
|
|
1022
|
+
}],
|
|
1023
|
+
editlock: null
|
|
1024
|
+
};
|
|
1025
|
+
if (this.editLock && this.editLock.token) {
|
|
1026
|
+
body.editlock = this.editLock;
|
|
1027
|
+
}
|
|
1028
|
+
return this.request({
|
|
1029
|
+
method: _constants.HTTP_VERBS.PUT,
|
|
1030
|
+
uri: "".concat(this.url, "/dynamicAssign"),
|
|
1031
|
+
body: body
|
|
1032
|
+
});
|
|
1033
|
+
},
|
|
1034
|
+
/**
|
|
1035
|
+
* trigger ASK_RETURN_TO_MAIN event when main session requested
|
|
1036
|
+
* @param {Object} breakout
|
|
1037
|
+
* @returns {void}
|
|
1038
|
+
*/
|
|
1039
|
+
triggerReturnToMainEvent: function triggerReturnToMainEvent(breakout) {
|
|
1040
|
+
if (breakout.isMain && breakout.requested) {
|
|
1041
|
+
this.trigger(_constants.BREAKOUTS.EVENTS.ASK_RETURN_TO_MAIN);
|
|
1042
|
+
}
|
|
369
1043
|
},
|
|
370
|
-
version: "3.0.0-beta.
|
|
1044
|
+
version: "3.0.0-beta.331"
|
|
371
1045
|
});
|
|
372
1046
|
var _default = Breakouts;
|
|
373
1047
|
exports.default = _default;
|