@webex/plugin-meetings 3.0.0-beta.39 → 3.0.0-beta.391
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 +58 -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/events.js +45 -0
- package/dist/breakouts/events.js.map +1 -0
- package/dist/breakouts/index.js +671 -81
- 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 +5 -10
- package/dist/config.js.map +1 -1
- package/dist/constants.js +242 -33
- 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 +110 -2
- package/dist/index.js.map +1 -1
- package/dist/interceptors/index.js +15 -0
- package/dist/interceptors/index.js.map +1 -0
- package/dist/interceptors/locusRetry.js +93 -0
- package/dist/interceptors/locusRetry.js.map +1 -0
- package/dist/interpretation/collection.js +23 -0
- package/dist/interpretation/collection.js.map +1 -0
- package/dist/interpretation/index.js +380 -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 +386 -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 +71 -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 +65 -102
- 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/mediaQualityMetrics/config.js +135 -330
- package/dist/mediaQualityMetrics/config.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 +4075 -2827
- 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 +224 -136
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.js +177 -152
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/util.js +672 -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 +484 -119
- 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 +73 -7
- 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 +18 -1
- package/dist/metrics/constants.js.map +1 -1
- package/dist/metrics/index.js +1 -446
- package/dist/metrics/index.js.map +1 -1
- package/dist/multistream/mediaRequestManager.js +223 -32
- package/dist/multistream/mediaRequestManager.js.map +1 -1
- package/dist/multistream/receiveSlot.js +10 -0
- 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 +3 -1
- package/dist/multistream/remoteMedia.js.map +1 -1
- package/dist/multistream/remoteMediaGroup.js +76 -5
- package/dist/multistream/remoteMediaGroup.js.map +1 -1
- package/dist/multistream/remoteMediaManager.js +366 -104
- package/dist/multistream/remoteMediaManager.js.map +1 -1
- package/dist/multistream/sendSlotManager.js +255 -0
- package/dist/multistream/sendSlotManager.js.map +1 -0
- package/dist/reachability/clusterReachability.js +356 -0
- package/dist/reachability/clusterReachability.js.map +1 -0
- package/dist/reachability/index.js +263 -390
- package/dist/reachability/index.js.map +1 -1
- package/dist/reachability/request.js +6 -4
- package/dist/reachability/request.js.map +1 -1
- package/dist/reachability/util.js +29 -0
- package/dist/reachability/util.js.map +1 -0
- package/dist/reconnection-manager/index.js +266 -202
- 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 +51 -28
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/request.js +48 -64
- package/dist/roap/request.js.map +1 -1
- package/dist/roap/turnDiscovery.js +220 -70
- 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 +179 -0
- package/dist/rtcMetrics/index.js.map +1 -0
- package/dist/statsAnalyzer/index.js +357 -295
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.js +296 -156
- 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/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 +2 -7
- package/dist/types/constants.d.ts +203 -31
- 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 -5
- package/dist/types/interceptors/index.d.ts +2 -0
- package/dist/types/interceptors/locusRetry.d.ts +27 -0
- 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 +66 -6
- package/dist/types/media/index.d.ts +2 -0
- package/dist/types/media/properties.d.ts +34 -49
- package/dist/types/mediaQualityMetrics/config.d.ts +99 -223
- package/dist/types/meeting/in-meeting-actions.d.ts +86 -2
- package/dist/types/meeting/index.d.ts +567 -496
- package/dist/types/meeting/locusMediaRequest.d.ts +74 -0
- package/dist/types/meeting/muteState.d.ts +93 -25
- package/dist/types/meeting/request.d.ts +64 -43
- package/dist/types/meeting/util.d.ts +117 -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 +113 -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 +17 -0
- package/dist/types/metrics/index.d.ts +4 -111
- package/dist/types/multistream/mediaRequestManager.d.ts +72 -3
- package/dist/types/multistream/receiveSlot.d.ts +7 -3
- package/dist/types/multistream/receiveSlotManager.d.ts +14 -4
- package/dist/types/multistream/remoteMedia.d.ts +3 -31
- package/dist/types/multistream/remoteMediaGroup.d.ts +2 -9
- package/dist/types/multistream/remoteMediaManager.d.ts +62 -2
- package/dist/types/multistream/sendSlotManager.d.ts +70 -0
- package/dist/types/reachability/clusterReachability.d.ts +109 -0
- package/dist/types/reachability/index.d.ts +60 -95
- package/dist/types/reachability/request.d.ts +3 -1
- package/dist/types/reachability/util.d.ts +8 -0
- 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 +9 -8
- package/dist/types/roap/turnDiscovery.d.ts +39 -5
- package/dist/types/rtcMetrics/constants.d.ts +4 -0
- package/dist/types/rtcMetrics/index.d.ts +61 -0
- package/dist/types/statsAnalyzer/index.d.ts +34 -12
- package/dist/types/statsAnalyzer/mqaUtil.d.ts +28 -4
- 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 +22 -19
- 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 +35 -11
- package/src/breakouts/breakout.ts +67 -9
- package/src/breakouts/events.ts +56 -0
- package/src/breakouts/index.ts +558 -59
- 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 +4 -9
- package/src/constants.ts +229 -21
- 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 +44 -0
- package/src/interceptors/index.ts +3 -0
- package/src/interceptors/locusRetry.ts +67 -0
- package/src/interpretation/README.md +60 -0
- package/src/interpretation/collection.ts +19 -0
- package/src/interpretation/index.ts +349 -0
- package/src/interpretation/siLanguage.ts +18 -0
- package/src/locus-info/controlsUtils.ts +108 -0
- package/src/locus-info/index.ts +417 -59
- package/src/locus-info/infoUtils.ts +10 -2
- package/src/locus-info/mediaSharesUtils.ts +80 -0
- package/src/locus-info/parser.ts +258 -47
- package/src/locus-info/selfUtils.ts +81 -5
- package/src/media/index.ts +100 -108
- package/src/media/properties.ts +88 -117
- package/src/mediaQualityMetrics/config.ts +103 -238
- package/src/meeting/in-meeting-actions.ts +171 -3
- package/src/meeting/index.ts +3411 -2435
- package/src/meeting/locusMediaRequest.ts +313 -0
- package/src/meeting/muteState.ts +223 -136
- package/src/meeting/request.ts +155 -120
- package/src/meeting/util.ts +685 -395
- 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 +507 -127
- package/src/meetings/meetings.types.ts +12 -0
- package/src/meetings/request.ts +2 -0
- package/src/meetings/util.ts +81 -12
- 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 +17 -0
- package/src/metrics/index.ts +1 -469
- package/src/multistream/mediaRequestManager.ts +271 -56
- package/src/multistream/receiveSlot.ts +11 -4
- package/src/multistream/receiveSlotManager.ts +34 -24
- package/src/multistream/remoteMedia.ts +5 -3
- package/src/multistream/remoteMediaGroup.ts +78 -0
- package/src/multistream/remoteMediaManager.ts +248 -44
- package/src/multistream/sendSlotManager.ts +199 -0
- package/src/reachability/clusterReachability.ts +320 -0
- package/src/reachability/index.ts +229 -346
- package/src/reachability/request.ts +8 -4
- package/src/reachability/util.ts +24 -0
- package/src/reconnection-manager/index.ts +128 -97
- package/src/recording-controller/index.ts +20 -3
- package/src/recording-controller/util.ts +26 -9
- package/src/roap/index.ts +52 -23
- package/src/roap/request.ts +48 -67
- package/src/roap/turnDiscovery.ts +147 -49
- package/src/rtcMetrics/constants.ts +3 -0
- package/src/rtcMetrics/index.ts +166 -0
- package/src/statsAnalyzer/index.ts +457 -416
- package/src/statsAnalyzer/mqaUtil.ts +317 -170
- 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/events.ts +89 -0
- package/test/unit/spec/breakouts/index.ts +1349 -114
- 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/interceptors/locusRetry.ts +131 -0
- package/test/unit/spec/interpretation/collection.ts +15 -0
- package/test/unit/spec/interpretation/index.ts +625 -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 +1363 -37
- 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 +41 -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 +173 -81
- 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 +6821 -2172
- package/test/unit/spec/meeting/locusMediaRequest.ts +442 -0
- package/test/unit/spec/meeting/muteState.js +402 -212
- package/test/unit/spec/meeting/request.js +473 -54
- package/test/unit/spec/meeting/utils.js +773 -67
- 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 +1415 -213
- package/test/unit/spec/meetings/utils.js +229 -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 +781 -114
- package/test/unit/spec/multistream/receiveSlot.ts +9 -1
- package/test/unit/spec/multistream/receiveSlotManager.ts +32 -30
- package/test/unit/spec/multistream/remoteMedia.ts +2 -0
- package/test/unit/spec/multistream/remoteMediaGroup.ts +345 -0
- package/test/unit/spec/multistream/remoteMediaManager.ts +525 -0
- package/test/unit/spec/multistream/sendSlotManager.ts +274 -0
- package/test/unit/spec/reachability/clusterReachability.ts +279 -0
- package/test/unit/spec/reachability/index.ts +551 -14
- package/test/unit/spec/reachability/request.js +3 -1
- package/test/unit/spec/reachability/util.ts +40 -0
- package/test/unit/spec/reconnection-manager/index.js +171 -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 +180 -83
- package/test/unit/spec/roap/request.ts +100 -62
- package/test/unit/spec/roap/turnDiscovery.ts +388 -96
- package/test/unit/spec/rtcMetrics/index.ts +122 -0
- package/test/unit/spec/stats-analyzer/index.js +1252 -12
- 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 -57
- package/test/utils/webex-test-users.js +12 -4
- package/dist/metrics/config.js +0 -289
- package/dist/metrics/config.js.map +0 -1
- package/dist/types/metrics/config.d.ts +0 -169
- package/src/index.js +0 -18
- package/src/metrics/config.ts +0 -485
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,11 +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
|
-
var
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
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; }
|
|
27
31
|
/**
|
|
28
32
|
* @class Breakouts
|
|
29
33
|
*/
|
|
@@ -40,6 +44,8 @@ var Breakouts = _webexCore.WebexPlugin.extend({
|
|
|
40
44
|
// appears once breakouts start
|
|
41
45
|
enableBreakoutSession: 'boolean',
|
|
42
46
|
// appears from the moment you enable breakouts
|
|
47
|
+
hasBreakoutPreAssignments: 'boolean',
|
|
48
|
+
// appears from the moment you enable breakouts
|
|
43
49
|
groupId: 'string',
|
|
44
50
|
// appears from the moment you enable breakouts
|
|
45
51
|
name: 'string',
|
|
@@ -57,8 +63,20 @@ var Breakouts = _webexCore.WebexPlugin.extend({
|
|
|
57
63
|
locusUrl: 'string',
|
|
58
64
|
// the current locus url
|
|
59
65
|
breakoutServiceUrl: 'string',
|
|
60
|
-
// the current breakout
|
|
61
|
-
|
|
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
|
|
62
80
|
},
|
|
63
81
|
|
|
64
82
|
children: {
|
|
@@ -66,6 +84,7 @@ var Breakouts = _webexCore.WebexPlugin.extend({
|
|
|
66
84
|
},
|
|
67
85
|
derived: {
|
|
68
86
|
isInMainSession: {
|
|
87
|
+
cache: false,
|
|
69
88
|
deps: ['sessionType'],
|
|
70
89
|
/**
|
|
71
90
|
* Returns true if the user is in the main session
|
|
@@ -74,6 +93,56 @@ var Breakouts = _webexCore.WebexPlugin.extend({
|
|
|
74
93
|
fn: function fn() {
|
|
75
94
|
return this.sessionType === _constants.BREAKOUTS.SESSION_TYPES.MAIN;
|
|
76
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
|
+
}
|
|
77
146
|
}
|
|
78
147
|
},
|
|
79
148
|
/**
|
|
@@ -82,20 +151,31 @@ var Breakouts = _webexCore.WebexPlugin.extend({
|
|
|
82
151
|
*/
|
|
83
152
|
initialize: function initialize() {
|
|
84
153
|
var _this = this;
|
|
85
|
-
this.listenTo(this, 'change:
|
|
86
|
-
if (_this.
|
|
154
|
+
this.listenTo(this, 'change:breakoutStatus', function () {
|
|
155
|
+
if (_this.breakoutStatus === _constants.BREAKOUTS.STATUS.CLOSING) {
|
|
87
156
|
_this.trigger(_constants.BREAKOUTS.EVENTS.BREAKOUTS_CLOSING);
|
|
88
157
|
}
|
|
89
158
|
});
|
|
159
|
+
this.listenTo(this, 'change:shouldQueryPreAssignments', function () {
|
|
160
|
+
if (_this.shouldQueryPreAssignments && !_this.preAssignments) {
|
|
161
|
+
_this.queryPreAssignments();
|
|
162
|
+
}
|
|
163
|
+
});
|
|
90
164
|
this.debouncedQueryRosters = (0, _debounce2.default)(this.queryRosters, 10, {
|
|
91
165
|
leading: true,
|
|
92
166
|
trailing: false
|
|
93
167
|
});
|
|
94
|
-
this.listenTo(this.breakouts, 'add', function () {
|
|
168
|
+
this.listenTo(this.breakouts, 'add', function (breakout) {
|
|
95
169
|
_this.debouncedQueryRosters();
|
|
170
|
+
_this.triggerReturnToMainEvent(breakout);
|
|
171
|
+
});
|
|
172
|
+
this.listenTo(this.breakouts, 'change:requestedLastModifiedTime', function (breakout) {
|
|
173
|
+
_this.triggerReturnToMainEvent(breakout);
|
|
96
174
|
});
|
|
175
|
+
this.listenToCurrentSessionTypeChange();
|
|
97
176
|
this.listenToBroadcastMessages();
|
|
98
177
|
this.listenToBreakoutRosters();
|
|
178
|
+
this.listenToBreakoutHelp();
|
|
99
179
|
// @ts-ignore
|
|
100
180
|
this.breakoutRequest = new _request.default({
|
|
101
181
|
webex: this.webex
|
|
@@ -115,9 +195,22 @@ var Breakouts = _webexCore.WebexPlugin.extend({
|
|
|
115
195
|
*/
|
|
116
196
|
locusUrlUpdate: function locusUrlUpdate(locusUrl) {
|
|
117
197
|
this.set('locusUrl', locusUrl);
|
|
198
|
+
var isInMainSession = this.isInMainSession,
|
|
199
|
+
mainLocusUrl = this.mainLocusUrl;
|
|
200
|
+
if (isInMainSession || !mainLocusUrl) {
|
|
201
|
+
this.set('mainLocusUrl', locusUrl);
|
|
202
|
+
}
|
|
203
|
+
},
|
|
204
|
+
/**
|
|
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);
|
|
118
211
|
},
|
|
119
212
|
/**
|
|
120
|
-
* Update the current breakout
|
|
213
|
+
* Update the current breakout resource url
|
|
121
214
|
* @param {string} breakoutServiceUrl
|
|
122
215
|
* @returns {void}
|
|
123
216
|
*/
|
|
@@ -138,7 +231,7 @@ var Breakouts = _webexCore.WebexPlugin.extend({
|
|
|
138
231
|
}
|
|
139
232
|
}).then(function (result) {
|
|
140
233
|
var rosters = result.body.rosters;
|
|
141
|
-
rosters.forEach(function (_ref) {
|
|
234
|
+
rosters === null || rosters === void 0 ? void 0 : rosters.forEach(function (_ref) {
|
|
142
235
|
var locus = _ref.locus;
|
|
143
236
|
_this2.handleRosterUpdate(locus);
|
|
144
237
|
});
|
|
@@ -161,25 +254,37 @@ var Breakouts = _webexCore.WebexPlugin.extend({
|
|
|
161
254
|
}
|
|
162
255
|
session.parseRoster(locus);
|
|
163
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
|
+
},
|
|
164
269
|
/**
|
|
165
270
|
* Sets up listener for broadcast messages sent to the breakout session
|
|
166
271
|
* @returns {void}
|
|
167
272
|
*/
|
|
168
273
|
listenToBroadcastMessages: function listenToBroadcastMessages() {
|
|
169
|
-
var
|
|
274
|
+
var _this4 = this;
|
|
170
275
|
this.listenTo(this.webex.internal.llm, 'event:breakout.message', function (event) {
|
|
171
276
|
var _event$data = event.data,
|
|
172
277
|
senderUserId = _event$data.senderUserId,
|
|
173
278
|
sentTime = _event$data.sentTime,
|
|
174
279
|
message = _event$data.message;
|
|
175
|
-
|
|
280
|
+
_this4.trigger(_constants.BREAKOUTS.EVENTS.MESSAGE, {
|
|
176
281
|
senderUserId: senderUserId,
|
|
177
282
|
sentTime: sentTime,
|
|
178
283
|
message: message,
|
|
179
284
|
// FIXME: This is only the current sessionId
|
|
180
285
|
// We'd need to check that the dataChannelUrl is still the same
|
|
181
286
|
// to guarantee that this message was sent to this session
|
|
182
|
-
sessionId:
|
|
287
|
+
sessionId: _this4.currentBreakoutSession.sessionId
|
|
183
288
|
});
|
|
184
289
|
});
|
|
185
290
|
},
|
|
@@ -188,12 +293,45 @@ var Breakouts = _webexCore.WebexPlugin.extend({
|
|
|
188
293
|
* @returns {void}
|
|
189
294
|
*/
|
|
190
295
|
listenToBreakoutRosters: function listenToBreakoutRosters() {
|
|
191
|
-
var
|
|
296
|
+
var _this5 = this;
|
|
192
297
|
this.listenTo(this.webex.internal.mercury, 'event:breakout.roster', function (event) {
|
|
193
|
-
|
|
194
|
-
|
|
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
|
+
});
|
|
195
316
|
});
|
|
196
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
|
+
},
|
|
197
335
|
/**
|
|
198
336
|
* Updates the information about the current breakout
|
|
199
337
|
* @param {Object} params
|
|
@@ -202,6 +340,10 @@ var Breakouts = _webexCore.WebexPlugin.extend({
|
|
|
202
340
|
updateBreakout: function updateBreakout(params) {
|
|
203
341
|
var _this$set;
|
|
204
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);
|
|
205
347
|
this.set('currentBreakoutSession', (_this$set = {
|
|
206
348
|
sessionId: params.sessionId,
|
|
207
349
|
groupId: params.groupId,
|
|
@@ -209,8 +351,21 @@ var Breakouts = _webexCore.WebexPlugin.extend({
|
|
|
209
351
|
current: true,
|
|
210
352
|
sessionType: params.sessionType,
|
|
211
353
|
url: params.url
|
|
212
|
-
}, (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.
|
|
213
|
-
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
|
+
}
|
|
214
369
|
},
|
|
215
370
|
/**
|
|
216
371
|
* Updates the information about available breakouts
|
|
@@ -218,8 +373,14 @@ var Breakouts = _webexCore.WebexPlugin.extend({
|
|
|
218
373
|
* @returns {void}
|
|
219
374
|
*/
|
|
220
375
|
updateBreakoutSessions: function updateBreakoutSessions(payload) {
|
|
221
|
-
var
|
|
376
|
+
var _this7 = this;
|
|
222
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
|
+
}
|
|
223
384
|
if (payload.breakoutSessions) {
|
|
224
385
|
(0, _forEach2.default)(_constants.BREAKOUTS.SESSION_STATES, function (state) {
|
|
225
386
|
(0, _forEach2.default)(payload.breakoutSessions[state], function (breakout) {
|
|
@@ -233,15 +394,27 @@ var Breakouts = _webexCore.WebexPlugin.extend({
|
|
|
233
394
|
breakouts[sessionId][_constants.BREAKOUTS.SESSION_STATES.REQUESTED] = false;
|
|
234
395
|
}
|
|
235
396
|
breakouts[sessionId][state] = true;
|
|
397
|
+
if (state === _constants.BREAKOUTS.SESSION_STATES.REQUESTED) {
|
|
398
|
+
breakouts[sessionId].requestedLastModifiedTime = breakout.modifiedAt;
|
|
399
|
+
}
|
|
236
400
|
});
|
|
237
401
|
});
|
|
238
402
|
}
|
|
239
403
|
(0, _forEach2.default)(breakouts, function (breakout) {
|
|
240
404
|
// eslint-disable-next-line no-param-reassign
|
|
241
|
-
breakout.url =
|
|
405
|
+
breakout.url = _this7.url;
|
|
242
406
|
});
|
|
243
407
|
this.breakouts.set((0, _values.default)(breakouts));
|
|
244
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
|
+
},
|
|
245
418
|
/**
|
|
246
419
|
* get main session
|
|
247
420
|
* @returns {Breakout}
|
|
@@ -280,10 +453,7 @@ var Breakouts = _webexCore.WebexPlugin.extend({
|
|
|
280
453
|
* @returns {Promise}
|
|
281
454
|
*/
|
|
282
455
|
broadcast: function broadcast(message, options) {
|
|
283
|
-
var
|
|
284
|
-
var breakoutGroupId = this.isInMainSession ? (_this$breakouts$filte = this.breakouts.filter(function (breakout) {
|
|
285
|
-
return !breakout.isMain;
|
|
286
|
-
})[0]) === null || _this$breakouts$filte === void 0 ? void 0 : _this$breakouts$filte.groupId : this.groupId;
|
|
456
|
+
var breakoutGroupId = this.breakoutGroupId;
|
|
287
457
|
if (!breakoutGroupId) {
|
|
288
458
|
throw new Error('Cannot broadcast, no breakout session found');
|
|
289
459
|
}
|
|
@@ -315,39 +485,39 @@ var Breakouts = _webexCore.WebexPlugin.extend({
|
|
|
315
485
|
return _promise.default.reject(new Error("enableBreakouts: the breakoutServiceUrl is empty"));
|
|
316
486
|
},
|
|
317
487
|
/**
|
|
318
|
-
* Make the meeting
|
|
488
|
+
* Make the meeting enable or disable breakout session
|
|
319
489
|
* @param {boolean} enable
|
|
320
490
|
* @returns {Promise}
|
|
321
491
|
*/
|
|
322
492
|
toggleBreakout: function toggleBreakout(enable) {
|
|
323
|
-
var
|
|
493
|
+
var _this8 = this;
|
|
324
494
|
return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
325
495
|
var info;
|
|
326
496
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
327
497
|
while (1) switch (_context.prev = _context.next) {
|
|
328
498
|
case 0:
|
|
329
|
-
if (!(
|
|
499
|
+
if (!(_this8.enableBreakoutSession === undefined)) {
|
|
330
500
|
_context.next = 10;
|
|
331
501
|
break;
|
|
332
502
|
}
|
|
333
503
|
_context.next = 3;
|
|
334
|
-
return
|
|
504
|
+
return _this8.enableBreakouts();
|
|
335
505
|
case 3:
|
|
336
506
|
info = _context.sent;
|
|
507
|
+
// first time enable, set the initial data
|
|
508
|
+
_this8.updateBreakout(info === null || info === void 0 ? void 0 : info.body);
|
|
337
509
|
if (enable) {
|
|
338
510
|
_context.next = 8;
|
|
339
511
|
break;
|
|
340
512
|
}
|
|
341
|
-
// if enable is false, updateBreakout set the param then set enableBreakoutSession as false
|
|
342
|
-
_this6.updateBreakout(info.body);
|
|
343
513
|
_context.next = 8;
|
|
344
|
-
return
|
|
514
|
+
return _this8.doToggleBreakout(enable);
|
|
345
515
|
case 8:
|
|
346
516
|
_context.next = 12;
|
|
347
517
|
break;
|
|
348
518
|
case 10:
|
|
349
519
|
_context.next = 12;
|
|
350
|
-
return
|
|
520
|
+
return _this8.doToggleBreakout(enable);
|
|
351
521
|
case 12:
|
|
352
522
|
case "end":
|
|
353
523
|
return _context.stop();
|
|
@@ -361,50 +531,68 @@ var Breakouts = _webexCore.WebexPlugin.extend({
|
|
|
361
531
|
* @returns {Promise}
|
|
362
532
|
*/
|
|
363
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
|
+
|
|
364
542
|
// @ts-ignore
|
|
365
543
|
return this.webex.request({
|
|
366
544
|
method: _constants.HTTP_VERBS.PUT,
|
|
367
545
|
uri: this.url,
|
|
368
|
-
body:
|
|
369
|
-
enableBreakoutSession: enable
|
|
370
|
-
}
|
|
546
|
+
body: body
|
|
371
547
|
});
|
|
372
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
|
+
},
|
|
373
560
|
/**
|
|
374
561
|
* Create new breakout sessions
|
|
375
|
-
* @param {object}
|
|
562
|
+
* @param {object} params -- breakout session group
|
|
376
563
|
* @returns {Promise}
|
|
377
564
|
*/
|
|
378
|
-
create: function create(
|
|
379
|
-
var
|
|
565
|
+
create: function create(params) {
|
|
566
|
+
var _this9 = this;
|
|
380
567
|
return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
|
|
381
|
-
var
|
|
568
|
+
var payload, body, breakoutInfo;
|
|
382
569
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
383
570
|
while (1) switch (_context2.prev = _context2.next) {
|
|
384
571
|
case 0:
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
body: {
|
|
390
|
-
groups: [{
|
|
391
|
-
sessions: sessions
|
|
392
|
-
}]
|
|
572
|
+
payload = _objectSpread({}, params);
|
|
573
|
+
body = _objectSpread(_objectSpread({}, _this9.editLock && !!_this9.editLock.token ? {
|
|
574
|
+
editlock: {
|
|
575
|
+
token: _this9.editLock.token
|
|
393
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
|
|
394
585
|
}).catch(function (error) {
|
|
395
|
-
|
|
396
|
-
_loggerProxy.default.logger.info("Breakouts#create --> Edit lock token mismatch");
|
|
397
|
-
return _promise.default.reject(new _editLockError.default('Edit lock token mismatch', error));
|
|
398
|
-
}
|
|
399
|
-
return _promise.default.reject(error);
|
|
586
|
+
return _promise.default.reject((0, _utils.boServiceErrorHandler)(error, 'Breakouts#create'));
|
|
400
587
|
});
|
|
401
|
-
case
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
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:
|
|
408
596
|
case "end":
|
|
409
597
|
return _context2.stop();
|
|
410
598
|
}
|
|
@@ -416,42 +604,444 @@ var Breakouts = _webexCore.WebexPlugin.extend({
|
|
|
416
604
|
* @returns {Promise}
|
|
417
605
|
*/
|
|
418
606
|
clearSessions: function clearSessions() {
|
|
419
|
-
var
|
|
607
|
+
var _this10 = this;
|
|
420
608
|
return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
|
|
421
|
-
var
|
|
609
|
+
var body, breakoutInfo;
|
|
422
610
|
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
423
611
|
while (1) switch (_context3.prev = _context3.next) {
|
|
424
612
|
case 0:
|
|
425
|
-
|
|
426
|
-
|
|
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({
|
|
427
624
|
method: _constants.HTTP_VERBS.PUT,
|
|
428
|
-
uri:
|
|
429
|
-
body:
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
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
|
|
433
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
|
|
434
675
|
}).catch(function (error) {
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
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
|
|
438
714
|
}
|
|
439
|
-
|
|
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) : '')
|
|
440
806
|
});
|
|
441
807
|
case 2:
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
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();
|
|
445
813
|
}
|
|
446
|
-
return
|
|
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');
|
|
447
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:
|
|
448
896
|
case "end":
|
|
449
|
-
return
|
|
897
|
+
return _context9.stop();
|
|
450
898
|
}
|
|
451
|
-
},
|
|
899
|
+
}, _callee9);
|
|
452
900
|
}))();
|
|
453
901
|
},
|
|
454
|
-
|
|
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
|
|
970
|
+
}
|
|
971
|
+
} : {}), {
|
|
972
|
+
groups: [{
|
|
973
|
+
id: this.breakoutGroupId,
|
|
974
|
+
sessions: internalSessions
|
|
975
|
+
}]
|
|
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
|
+
}
|
|
1043
|
+
},
|
|
1044
|
+
version: "3.0.0-beta.391"
|
|
455
1045
|
});
|
|
456
1046
|
var _default = Breakouts;
|
|
457
1047
|
exports.default = _default;
|