@webex/plugin-meetings 3.0.0-beta.21 → 3.0.0-beta.211
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 +45 -7
- 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 +114 -14
- 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 +841 -19
- package/dist/breakouts/index.js.map +1 -1
- package/dist/breakouts/request.js +78 -0
- package/dist/breakouts/request.js.map +1 -0
- package/dist/breakouts/utils.js +67 -0
- package/dist/breakouts/utils.js.map +1 -0
- package/dist/common/errors/webex-errors.js +3 -2
- 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/queue.js +24 -9
- package/dist/common/queue.js.map +1 -1
- package/dist/config.js +3 -8
- package/dist/config.js.map +1 -1
- package/dist/constants.js +179 -30
- package/dist/constants.js.map +1 -1
- package/dist/controls-options-manager/constants.js +14 -0
- package/dist/controls-options-manager/constants.js.map +1 -0
- package/dist/controls-options-manager/enums.js +27 -0
- package/dist/controls-options-manager/enums.js.map +1 -0
- package/dist/controls-options-manager/index.js +297 -0
- package/dist/controls-options-manager/index.js.map +1 -0
- 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 +319 -0
- package/dist/controls-options-manager/util.js.map +1 -0
- package/dist/index.js +106 -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 +359 -64
- 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 +43 -1
- package/dist/locus-info/mediaSharesUtils.js.map +1 -1
- package/dist/locus-info/parser.js +219 -63
- 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 +48 -135
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.js +29 -90
- package/dist/media/properties.js.map +1 -1
- package/dist/mediaQualityMetrics/config.js +505 -493
- package/dist/mediaQualityMetrics/config.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js +90 -2
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +2770 -2547
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/locusMediaRequest.js +291 -0
- package/dist/meeting/locusMediaRequest.js.map +1 -0
- package/dist/meeting/muteState.js +229 -124
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.js +199 -193
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/util.js +532 -414
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting-info/index.js +48 -7
- package/dist/meeting-info/index.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.js +171 -51
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meeting-info/utilv2.js +20 -5
- package/dist/meeting-info/utilv2.js.map +1 -1
- package/dist/meetings/collection.js +22 -0
- package/dist/meetings/collection.js.map +1 -1
- package/dist/meetings/index.js +357 -66
- 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 +88 -1
- package/dist/meetings/util.js.map +1 -1
- package/dist/member/index.js +49 -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 +121 -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 +86 -5
- 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 +316 -233
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/constants.js +3 -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 +238 -49
- package/dist/multistream/mediaRequestManager.js.map +1 -1
- package/dist/multistream/receiveSlot.js +49 -16
- package/dist/multistream/receiveSlot.js.map +1 -1
- package/dist/multistream/receiveSlotManager.js +52 -34
- 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 +173 -59
- package/dist/multistream/remoteMediaManager.js.map +1 -1
- package/dist/networkQualityMonitor/index.js +4 -2
- package/dist/networkQualityMonitor/index.js.map +1 -1
- package/dist/reachability/index.js +72 -27
- package/dist/reachability/index.js.map +1 -1
- package/dist/reachability/request.js +12 -5
- package/dist/reachability/request.js.map +1 -1
- package/dist/reconnection-manager/index.js +196 -155
- 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 +21 -29
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/request.js +110 -89
- package/dist/roap/request.js.map +1 -1
- package/dist/roap/turnDiscovery.js +93 -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 +117 -0
- package/dist/rtcMetrics/index.js.map +1 -0
- package/dist/statsAnalyzer/global.js +1 -93
- package/dist/statsAnalyzer/global.js.map +1 -1
- package/dist/statsAnalyzer/index.js +326 -311
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.js +90 -53
- 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/breakout.d.ts +8 -0
- package/dist/types/breakouts/collection.d.ts +5 -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/index.d.ts +5 -0
- package/dist/types/breakouts/request.d.ts +22 -0
- package/dist/types/breakouts/utils.d.ts +15 -0
- package/dist/types/common/browser-detection.d.ts +9 -0
- package/dist/types/common/collection.d.ts +48 -0
- package/dist/types/common/config.d.ts +2 -0
- package/dist/types/common/errors/captcha-error.d.ts +15 -0
- package/dist/types/common/errors/intent-to-join.d.ts +16 -0
- package/dist/types/common/errors/join-meeting.d.ts +17 -0
- package/dist/types/common/errors/media.d.ts +15 -0
- package/dist/types/common/errors/parameter.d.ts +15 -0
- package/dist/types/common/errors/password-error.d.ts +15 -0
- package/dist/types/common/errors/permission.d.ts +14 -0
- package/dist/types/common/errors/reconnection-in-progress.d.ts +9 -0
- package/dist/types/common/errors/reconnection.d.ts +15 -0
- package/dist/types/common/errors/stats.d.ts +15 -0
- package/dist/types/common/errors/webex-errors.d.ts +69 -0
- package/dist/types/common/errors/webex-meetings-error.d.ts +20 -0
- package/dist/types/common/events/events-scope.d.ts +17 -0
- package/dist/types/common/events/events.d.ts +12 -0
- package/dist/types/common/events/trigger-proxy.d.ts +2 -0
- package/dist/types/common/events/util.d.ts +2 -0
- package/dist/types/common/logs/logger-config.d.ts +2 -0
- package/dist/types/common/logs/logger-proxy.d.ts +2 -0
- package/dist/types/common/logs/request.d.ts +34 -0
- package/dist/types/common/queue.d.ts +34 -0
- package/dist/types/config.d.ts +72 -0
- package/dist/types/constants.d.ts +1020 -0
- package/dist/types/controls-options-manager/constants.d.ts +4 -0
- package/dist/types/controls-options-manager/enums.d.ts +15 -0
- package/dist/types/controls-options-manager/index.d.ts +136 -0
- package/dist/types/controls-options-manager/types.d.ts +43 -0
- package/dist/types/controls-options-manager/util.d.ts +1 -0
- package/dist/types/index.d.ts +7 -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/controlsUtils.d.ts +2 -0
- package/dist/types/locus-info/embeddedAppsUtils.d.ts +2 -0
- package/dist/types/locus-info/fullState.d.ts +2 -0
- package/dist/types/locus-info/hostUtils.d.ts +2 -0
- package/dist/types/locus-info/index.d.ts +322 -0
- package/dist/types/locus-info/infoUtils.d.ts +2 -0
- package/dist/types/locus-info/mediaSharesUtils.d.ts +2 -0
- package/dist/types/locus-info/parser.d.ts +271 -0
- package/dist/types/locus-info/selfUtils.d.ts +2 -0
- package/dist/types/media/index.d.ts +34 -0
- package/dist/types/media/properties.d.ts +93 -0
- package/dist/types/media/util.d.ts +2 -0
- package/dist/types/mediaQualityMetrics/config.d.ts +365 -0
- package/dist/types/meeting/in-meeting-actions.d.ts +163 -0
- package/dist/types/meeting/index.d.ts +1482 -0
- package/dist/types/meeting/locusMediaRequest.d.ts +72 -0
- package/dist/types/meeting/muteState.d.ts +184 -0
- package/dist/types/meeting/request.d.ts +257 -0
- package/dist/types/meeting/request.type.d.ts +11 -0
- package/dist/types/meeting/state.d.ts +9 -0
- package/dist/types/meeting/util.d.ts +79 -0
- package/dist/types/meeting-info/collection.d.ts +20 -0
- package/dist/types/meeting-info/index.d.ts +62 -0
- package/dist/types/meeting-info/meeting-info-v2.d.ts +122 -0
- package/dist/types/meeting-info/request.d.ts +22 -0
- package/dist/types/meeting-info/util.d.ts +2 -0
- package/dist/types/meeting-info/utilv2.d.ts +2 -0
- package/dist/types/meetings/collection.d.ts +31 -0
- package/dist/types/meetings/index.d.ts +367 -0
- package/dist/types/meetings/meetings.types.d.ts +4 -0
- package/dist/types/meetings/request.d.ts +27 -0
- package/dist/types/meetings/util.d.ts +18 -0
- package/dist/types/member/index.d.ts +159 -0
- package/dist/types/member/types.d.ts +32 -0
- package/dist/types/member/util.d.ts +2 -0
- package/dist/types/members/collection.d.ts +29 -0
- package/dist/types/members/index.d.ts +353 -0
- package/dist/types/members/request.d.ts +114 -0
- package/dist/types/members/types.d.ts +24 -0
- package/dist/types/members/util.d.ts +210 -0
- package/dist/types/metrics/constants.d.ts +55 -0
- package/dist/types/metrics/index.d.ts +45 -0
- package/dist/types/multistream/mediaRequestManager.d.ts +118 -0
- package/dist/types/multistream/receiveSlot.d.ts +68 -0
- package/dist/types/multistream/receiveSlotManager.d.ts +56 -0
- package/dist/types/multistream/remoteMedia.d.ts +72 -0
- package/dist/types/multistream/remoteMediaGroup.d.ts +47 -0
- package/dist/types/multistream/remoteMediaManager.d.ts +277 -0
- package/dist/types/networkQualityMonitor/index.d.ts +70 -0
- package/dist/types/personal-meeting-room/index.d.ts +47 -0
- package/dist/types/personal-meeting-room/request.d.ts +14 -0
- package/dist/types/personal-meeting-room/util.d.ts +2 -0
- package/dist/types/reachability/index.d.ts +152 -0
- package/dist/types/reachability/request.d.ts +37 -0
- package/dist/types/reactions/constants.d.ts +3 -0
- package/dist/types/reactions/reactions.d.ts +4 -0
- package/dist/types/reactions/reactions.type.d.ts +52 -0
- package/dist/types/reconnection-manager/index.d.ts +126 -0
- package/dist/types/recording-controller/enums.d.ts +7 -0
- package/dist/types/recording-controller/index.d.ts +207 -0
- package/dist/types/recording-controller/util.d.ts +14 -0
- package/dist/types/roap/index.d.ts +77 -0
- package/dist/types/roap/request.d.ts +36 -0
- package/dist/types/roap/turnDiscovery.d.ts +91 -0
- package/dist/types/rtcMetrics/constants.d.ts +4 -0
- package/dist/types/rtcMetrics/index.d.ts +46 -0
- package/dist/types/statsAnalyzer/global.d.ts +36 -0
- package/dist/types/statsAnalyzer/index.d.ts +200 -0
- package/dist/types/statsAnalyzer/mqaUtil.d.ts +24 -0
- package/dist/types/transcription/index.d.ts +64 -0
- package/package.json +23 -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 +44 -14
- package/src/breakouts/breakout.ts +87 -9
- package/src/breakouts/edit-lock-error.ts +25 -0
- package/src/breakouts/events.ts +56 -0
- package/src/breakouts/index.ts +710 -10
- package/src/breakouts/request.ts +55 -0
- package/src/breakouts/utils.ts +57 -0
- package/src/common/errors/webex-errors.ts +6 -2
- package/src/common/logs/logger-proxy.ts +1 -1
- package/src/common/queue.ts +22 -8
- package/src/config.ts +2 -7
- package/src/constants.ts +165 -21
- package/src/controls-options-manager/constants.ts +5 -0
- package/src/controls-options-manager/enums.ts +18 -0
- package/src/controls-options-manager/index.ts +278 -0
- package/src/controls-options-manager/types.ts +59 -0
- package/src/controls-options-manager/util.ts +300 -0
- package/src/index.ts +39 -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 +383 -61
- package/src/locus-info/infoUtils.ts +10 -2
- package/src/locus-info/mediaSharesUtils.ts +48 -0
- package/src/locus-info/parser.ts +224 -39
- package/src/locus-info/selfUtils.ts +81 -5
- package/src/media/index.ts +87 -140
- package/src/media/properties.ts +49 -90
- package/src/mediaQualityMetrics/config.ts +379 -377
- package/src/meeting/in-meeting-actions.ts +179 -3
- package/src/meeting/index.ts +2099 -2083
- package/src/meeting/locusMediaRequest.ts +311 -0
- package/src/meeting/muteState.ts +228 -132
- package/src/meeting/request.ts +105 -115
- package/src/meeting/util.ts +511 -397
- package/src/meeting-info/index.ts +54 -8
- package/src/meeting-info/meeting-info-v2.ts +148 -14
- package/src/meeting-info/utilv2.ts +13 -3
- package/src/meetings/collection.ts +20 -0
- package/src/meetings/index.ts +392 -84
- package/src/meetings/meetings.types.ts +12 -0
- package/src/meetings/request.ts +2 -0
- package/src/meetings/util.ts +103 -4
- package/src/member/index.ts +49 -0
- package/src/member/types.ts +38 -0
- package/src/member/util.ts +127 -25
- package/src/members/collection.ts +8 -0
- package/src/members/index.ts +107 -6
- package/src/members/request.ts +97 -17
- package/src/members/types.ts +28 -0
- package/src/members/util.ts +319 -240
- package/src/metrics/constants.ts +2 -4
- package/src/metrics/index.ts +1 -490
- package/src/multistream/mediaRequestManager.ts +289 -79
- package/src/multistream/receiveSlot.ts +55 -18
- package/src/multistream/receiveSlotManager.ts +46 -24
- package/src/multistream/remoteMedia.ts +27 -2
- package/src/multistream/remoteMediaGroup.ts +59 -0
- package/src/multistream/remoteMediaManager.ts +113 -32
- package/src/networkQualityMonitor/index.ts +6 -6
- package/src/reachability/index.ts +62 -15
- package/src/reachability/request.ts +10 -5
- package/src/reconnection-manager/index.ts +68 -43
- package/src/recording-controller/index.ts +20 -3
- package/src/recording-controller/util.ts +26 -9
- package/src/roap/index.ts +21 -30
- package/src/roap/request.ts +101 -95
- package/src/roap/turnDiscovery.ts +47 -25
- package/src/rtcMetrics/constants.ts +3 -0
- package/src/rtcMetrics/index.ts +100 -0
- package/src/statsAnalyzer/global.ts +1 -94
- package/src/statsAnalyzer/index.ts +376 -386
- package/src/statsAnalyzer/mqaUtil.ts +100 -99
- package/test/integration/spec/converged-space-meetings.js +233 -0
- package/test/integration/spec/journey.js +336 -259
- package/test/integration/spec/space-meeting.js +77 -4
- package/test/unit/spec/annotation/index.ts +418 -0
- package/test/unit/spec/breakouts/breakout.ts +142 -24
- 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 +1545 -48
- package/test/unit/spec/breakouts/request.ts +104 -0
- package/test/unit/spec/breakouts/utils.js +72 -0
- package/test/unit/spec/common/queue.js +31 -2
- package/test/unit/spec/controls-options-manager/index.js +287 -0
- package/test/unit/spec/controls-options-manager/util.js +582 -0
- 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 +1169 -36
- package/test/unit/spec/locus-info/infoUtils.js +37 -15
- package/test/unit/spec/locus-info/mediaSharesUtils.ts +22 -0
- package/test/unit/spec/locus-info/parser.js +62 -22
- 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 +138 -28
- package/test/unit/spec/meeting/in-meeting-actions.ts +89 -3
- package/test/unit/spec/meeting/index.js +3573 -1663
- package/test/unit/spec/meeting/locusMediaRequest.ts +438 -0
- package/test/unit/spec/meeting/muteState.js +370 -208
- package/test/unit/spec/meeting/request.js +339 -44
- package/test/unit/spec/meeting/utils.js +456 -53
- package/test/unit/spec/meeting-info/index.js +181 -0
- package/test/unit/spec/meeting-info/meetinginfov2.js +383 -5
- package/test/unit/spec/meeting-info/utilv2.js +21 -0
- package/test/unit/spec/meetings/collection.js +14 -0
- package/test/unit/spec/meetings/index.js +867 -125
- package/test/unit/spec/meetings/utils.js +206 -2
- package/test/unit/spec/member/index.js +58 -4
- package/test/unit/spec/member/util.js +479 -35
- package/test/unit/spec/members/index.js +319 -1
- package/test/unit/spec/members/request.js +206 -27
- package/test/unit/spec/members/utils.js +184 -0
- package/test/unit/spec/metrics/index.js +1 -50
- package/test/unit/spec/multistream/mediaRequestManager.ts +803 -162
- package/test/unit/spec/multistream/receiveSlot.ts +72 -13
- package/test/unit/spec/multistream/receiveSlotManager.ts +58 -28
- 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 +318 -0
- package/test/unit/spec/networkQualityMonitor/index.js +4 -4
- package/test/unit/spec/reachability/index.ts +125 -8
- package/test/unit/spec/reachability/request.js +66 -0
- package/test/unit/spec/reconnection-manager/index.js +59 -6
- 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 +26 -51
- package/test/unit/spec/roap/request.ts +196 -85
- package/test/unit/spec/roap/turnDiscovery.ts +30 -7
- package/test/unit/spec/rtcMetrics/index.ts +60 -0
- package/test/unit/spec/stats-analyzer/index.js +92 -41
- package/test/utils/constants.js +9 -0
- package/test/utils/integrationTestUtils.js +46 -0
- package/test/utils/testUtils.js +0 -45
- package/test/utils/webex-config.js +4 -0
- package/test/utils/webex-test-users.js +6 -3
- 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/multistream/multistreamMedia.js +0 -110
- package/dist/multistream/multistreamMedia.js.map +0 -1
- package/src/index.js +0 -16
- package/src/meeting/effectsState.ts +0 -211
- package/src/metrics/config.ts +0 -495
- package/src/multistream/multistreamMedia.ts +0 -97
- package/test/unit/spec/meeting/effectsState.js +0 -285
package/dist/meetings/index.js
CHANGED
|
@@ -1,17 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _typeof = require("@babel/runtime-corejs2/helpers/typeof");
|
|
3
4
|
var _Reflect$construct = require("@babel/runtime-corejs2/core-js/reflect/construct");
|
|
5
|
+
var _Object$keys2 = require("@babel/runtime-corejs2/core-js/object/keys");
|
|
6
|
+
var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs2/core-js/object/get-own-property-symbols");
|
|
7
|
+
var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptor");
|
|
8
|
+
var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptors");
|
|
9
|
+
var _Object$defineProperties = require("@babel/runtime-corejs2/core-js/object/define-properties");
|
|
4
10
|
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
11
|
+
var _WeakMap = require("@babel/runtime-corejs2/core-js/weak-map");
|
|
5
12
|
var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
|
|
6
13
|
_Object$defineProperty(exports, "__esModule", {
|
|
7
14
|
value: true
|
|
8
15
|
});
|
|
9
16
|
exports.default = void 0;
|
|
10
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
|
|
11
17
|
var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
|
|
12
18
|
var _now = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/date/now"));
|
|
13
19
|
var _keys = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/keys"));
|
|
14
20
|
var _values = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/values"));
|
|
21
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
|
|
22
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/toConsumableArray"));
|
|
15
23
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
|
|
16
24
|
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/assertThisInitialized"));
|
|
17
25
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
|
|
@@ -22,13 +30,14 @@ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/he
|
|
|
22
30
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
|
|
23
31
|
require("@webex/internal-plugin-mercury");
|
|
24
32
|
require("@webex/internal-plugin-conversation");
|
|
33
|
+
require("@webex/internal-plugin-metrics");
|
|
25
34
|
var _webexCore = require("@webex/webex-core");
|
|
26
35
|
var _internalMediaCore = require("@webex/internal-media-core");
|
|
36
|
+
var mediaHelpersModule = _interopRequireWildcard(require("@webex/media-helpers"));
|
|
27
37
|
require("webrtc-adapter");
|
|
28
38
|
var _metrics = _interopRequireDefault(require("../metrics"));
|
|
29
|
-
var _config = require("../metrics/config");
|
|
30
39
|
var _loggerConfig = _interopRequireDefault(require("../common/logs/logger-config"));
|
|
31
|
-
var
|
|
40
|
+
var _config = _interopRequireDefault(require("../common/config"));
|
|
32
41
|
var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy"));
|
|
33
42
|
var _request = _interopRequireDefault(require("../common/logs/request"));
|
|
34
43
|
var _triggerProxy = _interopRequireDefault(require("../common/events/trigger-proxy"));
|
|
@@ -46,6 +55,11 @@ var _passwordError = _interopRequireDefault(require("../common/errors/password-e
|
|
|
46
55
|
var _captchaError = _interopRequireDefault(require("../common/errors/captcha-error"));
|
|
47
56
|
var _collection = _interopRequireDefault(require("./collection"));
|
|
48
57
|
var _util2 = _interopRequireDefault(require("./util"));
|
|
58
|
+
var _permission = _interopRequireDefault(require("../common/errors/permission"));
|
|
59
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
60
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
61
|
+
function ownKeys(object, enumerableOnly) { var keys = _Object$keys2(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; }
|
|
62
|
+
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; }
|
|
49
63
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
50
64
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
51
65
|
var mediaLogger;
|
|
@@ -157,13 +171,14 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
157
171
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
158
172
|
|
|
159
173
|
/**
|
|
160
|
-
* The
|
|
174
|
+
* The webrtc-core media helpers. This is a temporary solution required for the SDK sample app
|
|
175
|
+
* to be able to call media helper functions.
|
|
176
|
+
*
|
|
161
177
|
* @instance
|
|
162
178
|
* @type {Object}
|
|
163
179
|
* @private
|
|
164
180
|
* @memberof Meetings
|
|
165
181
|
*/
|
|
166
|
-
// @ts-ignore
|
|
167
182
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "loggerRequest", void 0);
|
|
168
183
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "media", void 0);
|
|
169
184
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "meetingCollection", void 0);
|
|
@@ -174,7 +189,61 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
174
189
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "request", void 0);
|
|
175
190
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "geoHintInfo", void 0);
|
|
176
191
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "meetingInfo", void 0);
|
|
192
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "mediaHelpers", void 0);
|
|
193
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "breakoutLocusForHandleLater", void 0);
|
|
177
194
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "namespace", _constants.MEETINGS);
|
|
195
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "createNoiseReductionEffect", /*#__PURE__*/function () {
|
|
196
|
+
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(options) {
|
|
197
|
+
var authToken;
|
|
198
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
199
|
+
while (1) switch (_context.prev = _context.next) {
|
|
200
|
+
case 0:
|
|
201
|
+
// @ts-ignore
|
|
202
|
+
authToken = _this.webex.credentials.supertoken.access_token;
|
|
203
|
+
return _context.abrupt("return", new mediaHelpersModule.NoiseReductionEffect(_objectSpread({
|
|
204
|
+
authToken: authToken
|
|
205
|
+
}, options)));
|
|
206
|
+
case 2:
|
|
207
|
+
case "end":
|
|
208
|
+
return _context.stop();
|
|
209
|
+
}
|
|
210
|
+
}, _callee);
|
|
211
|
+
}));
|
|
212
|
+
return function (_x) {
|
|
213
|
+
return _ref.apply(this, arguments);
|
|
214
|
+
};
|
|
215
|
+
}());
|
|
216
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "createVirtualBackgroundEffect", /*#__PURE__*/function () {
|
|
217
|
+
var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(options) {
|
|
218
|
+
var authToken;
|
|
219
|
+
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
220
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
221
|
+
case 0:
|
|
222
|
+
// @ts-ignore
|
|
223
|
+
authToken = _this.webex.credentials.supertoken.access_token;
|
|
224
|
+
return _context2.abrupt("return", new mediaHelpersModule.VirtualBackgroundEffect(_objectSpread({
|
|
225
|
+
authToken: authToken
|
|
226
|
+
}, options)));
|
|
227
|
+
case 2:
|
|
228
|
+
case "end":
|
|
229
|
+
return _context2.stop();
|
|
230
|
+
}
|
|
231
|
+
}, _callee2);
|
|
232
|
+
}));
|
|
233
|
+
return function (_x2) {
|
|
234
|
+
return _ref2.apply(this, arguments);
|
|
235
|
+
};
|
|
236
|
+
}());
|
|
237
|
+
_this.mediaHelpers = mediaHelpersModule;
|
|
238
|
+
|
|
239
|
+
/**
|
|
240
|
+
* The Meetings request to interact with server
|
|
241
|
+
* @instance
|
|
242
|
+
* @type {Object}
|
|
243
|
+
* @private
|
|
244
|
+
* @memberof Meetings
|
|
245
|
+
*/
|
|
246
|
+
// @ts-ignore
|
|
178
247
|
_this.request = new _request2.default({}, {
|
|
179
248
|
parent: _this.webex
|
|
180
249
|
});
|
|
@@ -235,50 +304,152 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
235
304
|
* @memberof Meetings
|
|
236
305
|
*/
|
|
237
306
|
_this.media = {
|
|
238
|
-
getUserMedia: _media.default.getUserMedia
|
|
239
|
-
getSupportedDevice: _media.default.getSupportedDevice
|
|
307
|
+
getUserMedia: _media.default.getUserMedia
|
|
240
308
|
};
|
|
241
309
|
_this.onReady();
|
|
242
310
|
return _this;
|
|
243
311
|
}
|
|
244
312
|
|
|
245
313
|
/**
|
|
246
|
-
*
|
|
247
|
-
* @param {Object}
|
|
248
|
-
* @param {
|
|
249
|
-
* @
|
|
250
|
-
* @param {Boolean} useRandomDelayForInfo whether a random delay should be added to fetching meeting info
|
|
251
|
-
* @param {String} data.eventType
|
|
252
|
-
* @returns {undefined}
|
|
314
|
+
* check whether you need to handle this main session's locus data or not
|
|
315
|
+
* @param {Object} meeting current meeting data
|
|
316
|
+
* @param {Object} newLocus new locus data
|
|
317
|
+
* @returns {boolean}
|
|
253
318
|
* @private
|
|
254
319
|
* @memberof Meetings
|
|
255
320
|
*/
|
|
256
321
|
(0, _createClass2.default)(Meetings, [{
|
|
257
|
-
key: "
|
|
258
|
-
value: function
|
|
259
|
-
var
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
var
|
|
264
|
-
|
|
322
|
+
key: "isNeedHandleMainLocus",
|
|
323
|
+
value: function isNeedHandleMainLocus(meeting, newLocus) {
|
|
324
|
+
var _newLocus$controls, _newLocus$controls$br, _newLocus$self, _newLocus$self2, _newLocus$self3, _breakoutLocus$joined, _newLocus$self4;
|
|
325
|
+
var breakoutUrl = (_newLocus$controls = newLocus.controls) === null || _newLocus$controls === void 0 ? void 0 : (_newLocus$controls$br = _newLocus$controls.breakout) === null || _newLocus$controls$br === void 0 ? void 0 : _newLocus$controls$br.url;
|
|
326
|
+
var breakoutLocus = this.meetingCollection.getActiveBreakoutLocus(breakoutUrl);
|
|
327
|
+
var isSelfJoined = (newLocus === null || newLocus === void 0 ? void 0 : (_newLocus$self = newLocus.self) === null || _newLocus$self === void 0 ? void 0 : _newLocus$self.state) === _constants._JOINED_;
|
|
328
|
+
var isSelfMoved = (newLocus === null || newLocus === void 0 ? void 0 : (_newLocus$self2 = newLocus.self) === null || _newLocus$self2 === void 0 ? void 0 : _newLocus$self2.state) === _constants._LEFT_ && (newLocus === null || newLocus === void 0 ? void 0 : (_newLocus$self3 = newLocus.self) === null || _newLocus$self3 === void 0 ? void 0 : _newLocus$self3.reason) === _constants._MOVED_;
|
|
329
|
+
// @ts-ignore
|
|
330
|
+
var deviceFromNewLocus = _util2.default.getThisDevice(newLocus, this.webex.internal.device.url);
|
|
331
|
+
var isResourceMovedOnThisDevice = (deviceFromNewLocus === null || deviceFromNewLocus === void 0 ? void 0 : deviceFromNewLocus.state) === _constants._LEFT_ && (deviceFromNewLocus === null || deviceFromNewLocus === void 0 ? void 0 : deviceFromNewLocus.reason) === _constants._MOVED_;
|
|
332
|
+
var isNewLocusJoinThisDevice = _util2.default.joinedOnThisDevice(meeting, newLocus,
|
|
333
|
+
// @ts-ignore
|
|
334
|
+
this.webex.internal.device.url);
|
|
335
|
+
var isBreakoutLocusJoinThisDevice = (breakoutLocus === null || breakoutLocus === void 0 ? void 0 : (_breakoutLocus$joined = breakoutLocus.joinedWith) === null || _breakoutLocus$joined === void 0 ? void 0 : _breakoutLocus$joined.correlationId) && breakoutLocus.joinedWith.correlationId === (meeting === null || meeting === void 0 ? void 0 : meeting.correlationId);
|
|
336
|
+
if (isSelfJoined && isNewLocusJoinThisDevice) {
|
|
337
|
+
_loggerProxy.default.logger.log('Meetings:index#isNeedHandleMainLocus --> self this device shown as JOINED in the main session');
|
|
338
|
+
if (breakoutLocus !== null && breakoutLocus !== void 0 && breakoutLocus.joinedWith && deviceFromNewLocus) {
|
|
339
|
+
var _breakoutLocus$joined2, _deviceFromNewLocus$r;
|
|
340
|
+
var breakoutReplaceAt = ((_breakoutLocus$joined2 = breakoutLocus.joinedWith.replaces) === null || _breakoutLocus$joined2 === void 0 ? void 0 : _breakoutLocus$joined2.length) > 0 ? breakoutLocus.joinedWith.replaces[0].replaceAt : '';
|
|
341
|
+
var newLocusReplaceAt = ((_deviceFromNewLocus$r = deviceFromNewLocus.replaces) === null || _deviceFromNewLocus$r === void 0 ? void 0 : _deviceFromNewLocus$r.length) > 0 ? deviceFromNewLocus.replaces[0].replaceAt : '';
|
|
342
|
+
if (breakoutReplaceAt && newLocusReplaceAt && breakoutReplaceAt > newLocusReplaceAt) {
|
|
343
|
+
_loggerProxy.default.logger.log("Meetings:index#isNeedHandleMainLocus --> this is expired main joined status locus_dto replacedAt ".concat(newLocusReplaceAt, " bo replacedAt ").concat(breakoutReplaceAt));
|
|
344
|
+
return false;
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
return true;
|
|
348
|
+
}
|
|
349
|
+
if (isBreakoutLocusJoinThisDevice) {
|
|
350
|
+
_loggerProxy.default.logger.log("Meetings:index#isNeedHandleMainLocus --> there is active breakout session and joined on this device, and don't need to handle main session: ".concat(breakoutUrl));
|
|
351
|
+
return false;
|
|
352
|
+
}
|
|
353
|
+
if (isSelfMoved && (newLocus !== null && newLocus !== void 0 && (_newLocus$self4 = newLocus.self) !== null && _newLocus$self4 !== void 0 && _newLocus$self4.removed || isResourceMovedOnThisDevice)) {
|
|
354
|
+
_loggerProxy.default.logger.log('Meetings:index#isNeedHandleMainLocus --> self moved main locus with self removed status or with device resource moved, not need to handle');
|
|
355
|
+
return false;
|
|
356
|
+
}
|
|
357
|
+
if (isSelfJoined && isResourceMovedOnThisDevice) {
|
|
358
|
+
_loggerProxy.default.logger.log('Meetings:index#isNeedHandleMainLocus --> self device left&moved in main locus with self joined status, not need to handle');
|
|
359
|
+
return false;
|
|
360
|
+
}
|
|
361
|
+
_loggerProxy.default.logger.log('Meetings:index#isNeedHandleMainLocus --> this is a normal main session locusDTO update case');
|
|
362
|
+
return true;
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
/**
|
|
366
|
+
* check whether you need to handle this locus data or not
|
|
367
|
+
* @param {Object} meeting old locus data
|
|
368
|
+
* @param {Object} newLocus new locus data
|
|
369
|
+
* @returns {boolean}
|
|
370
|
+
* @private
|
|
371
|
+
* @memberof Meetings
|
|
372
|
+
*/
|
|
373
|
+
}, {
|
|
374
|
+
key: "isNeedHandleLocusDTO",
|
|
375
|
+
value: function isNeedHandleLocusDTO(meeting, newLocus) {
|
|
376
|
+
if (newLocus) {
|
|
377
|
+
var _newLocus$self5, _newLocus$self6;
|
|
378
|
+
var isNewLocusAsBreakout = _util2.default.isBreakoutLocusDTO(newLocus);
|
|
379
|
+
var isSelfMoved = (newLocus === null || newLocus === void 0 ? void 0 : (_newLocus$self5 = newLocus.self) === null || _newLocus$self5 === void 0 ? void 0 : _newLocus$self5.state) === _constants._LEFT_ && (newLocus === null || newLocus === void 0 ? void 0 : (_newLocus$self6 = newLocus.self) === null || _newLocus$self6 === void 0 ? void 0 : _newLocus$self6.reason) === _constants._MOVED_;
|
|
380
|
+
if (!meeting) {
|
|
381
|
+
if (isNewLocusAsBreakout) {
|
|
382
|
+
var _newLocus$fullState, _newLocus$self7;
|
|
383
|
+
_loggerProxy.default.logger.log("Meetings:index#isNeedHandleLocusDTO --> the first breakout session locusDTO active status: ".concat((_newLocus$fullState = newLocus.fullState) === null || _newLocus$fullState === void 0 ? void 0 : _newLocus$fullState.active));
|
|
384
|
+
return ((_newLocus$self7 = newLocus.self) === null || _newLocus$self7 === void 0 ? void 0 : _newLocus$self7.state) === _constants._JOINED_;
|
|
385
|
+
}
|
|
386
|
+
return this.isNeedHandleMainLocus(meeting, newLocus);
|
|
387
|
+
}
|
|
388
|
+
if (!isNewLocusAsBreakout) {
|
|
389
|
+
return this.isNeedHandleMainLocus(meeting, newLocus);
|
|
390
|
+
}
|
|
391
|
+
return !isSelfMoved;
|
|
392
|
+
}
|
|
393
|
+
return true;
|
|
394
|
+
}
|
|
265
395
|
|
|
396
|
+
/**
|
|
397
|
+
* get corresponding meeting object by locus data
|
|
398
|
+
* @param {Object} data a locus event
|
|
399
|
+
* @param {String} data.locusUrl
|
|
400
|
+
* @param {Object} data.locus
|
|
401
|
+
* @returns {Object}
|
|
402
|
+
* @private
|
|
403
|
+
* @memberof Meetings
|
|
404
|
+
*/
|
|
405
|
+
}, {
|
|
406
|
+
key: "getCorrespondingMeetingByLocus",
|
|
407
|
+
value: function getCorrespondingMeetingByLocus(data) {
|
|
408
|
+
var _data$locus$info, _data$locus, _data$locus$info2;
|
|
266
409
|
// getting meeting by correlationId. This will happen for the new event
|
|
267
410
|
// Either the locus
|
|
268
411
|
// TODO : Add check for the callBack Address
|
|
269
|
-
|
|
412
|
+
return this.meetingCollection.getByKey(_constants.LOCUS_URL, data.locusUrl) ||
|
|
270
413
|
// @ts-ignore
|
|
271
414
|
this.meetingCollection.getByKey(_constants.CORRELATION_ID,
|
|
272
415
|
// @ts-ignore
|
|
273
|
-
_util2.default.checkForCorrelationId(this.webex.internal.device.url, data.locus)) || this.meetingCollection.getByKey(_constants.SIP_URI, data.locus.self && data.locus.self.callbackInfo && data.locus.self.callbackInfo.callbackAddress) || ((_data$locus$info = data.locus.info) !== null && _data$locus$info !== void 0 && _data$locus$info.isUnifiedSpaceMeeting ? undefined : this.meetingCollection.getByKey(_constants.CONVERSATION_URL, data.locus.conversationUrl));
|
|
416
|
+
_util2.default.checkForCorrelationId(this.webex.internal.device.url, data.locus)) || this.meetingCollection.getByKey(_constants.SIP_URI, data.locus.self && data.locus.self.callbackInfo && data.locus.self.callbackInfo.callbackAddress) || ((_data$locus$info = data.locus.info) !== null && _data$locus$info !== void 0 && _data$locus$info.isUnifiedSpaceMeeting ? undefined : this.meetingCollection.getByKey(_constants.CONVERSATION_URL, data.locus.conversationUrl)) || this.meetingCollection.getByKey(_constants.MEETINGNUMBER, (_data$locus = data.locus) === null || _data$locus === void 0 ? void 0 : (_data$locus$info2 = _data$locus.info) === null || _data$locus$info2 === void 0 ? void 0 : _data$locus$info2.webExMeetingId);
|
|
417
|
+
}
|
|
418
|
+
|
|
419
|
+
/**
|
|
420
|
+
* handle locus events and takes meeting actions with them as they come in
|
|
421
|
+
* @param {Object} data a locus event
|
|
422
|
+
* @param {String} data.locusUrl
|
|
423
|
+
* @param {Object} data.locus
|
|
424
|
+
* @param {Boolean} useRandomDelayForInfo whether a random delay should be added to fetching meeting info
|
|
425
|
+
* @param {String} data.eventType
|
|
426
|
+
* @returns {undefined}
|
|
427
|
+
* @private
|
|
428
|
+
* @memberof Meetings
|
|
429
|
+
*/
|
|
430
|
+
}, {
|
|
431
|
+
key: "handleLocusEvent",
|
|
432
|
+
value: function handleLocusEvent(data) {
|
|
433
|
+
var _data$locus2,
|
|
434
|
+
_data$locus2$replaces,
|
|
435
|
+
_this2 = this;
|
|
436
|
+
var useRandomDelayForInfo = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
437
|
+
var meeting = this.getCorrespondingMeetingByLocus(data);
|
|
274
438
|
|
|
275
439
|
// Special case when locus has got replaced, This only happend once if a replace locus exists
|
|
276
440
|
// https://sqbu-github.cisco.com/WebExSquared/locus/wiki/Locus-changing-mid-call
|
|
277
441
|
|
|
278
|
-
if (!meeting && ((_data$
|
|
442
|
+
if (!meeting && ((_data$locus2 = data.locus) === null || _data$locus2 === void 0 ? void 0 : (_data$locus2$replaces = _data$locus2.replaces) === null || _data$locus2$replaces === void 0 ? void 0 : _data$locus2$replaces.length) > 0) {
|
|
279
443
|
// Always the last element in the replace is the active one
|
|
280
444
|
meeting = this.meetingCollection.getByKey(_constants.LOCUS_URL, data.locus.replaces[data.locus.replaces.length - 1].locusUrl);
|
|
281
445
|
}
|
|
446
|
+
if (meeting && !_util2.default.isBreakoutLocusDTO(data.locus)) {
|
|
447
|
+
meeting.locusInfo.updateMainSessionLocusCache(data.locus);
|
|
448
|
+
}
|
|
449
|
+
if (!this.isNeedHandleLocusDTO(meeting, data.locus)) {
|
|
450
|
+
_loggerProxy.default.logger.log("Meetings:index#handleLocusEvent --> doesn't need to process locus event");
|
|
451
|
+
return;
|
|
452
|
+
}
|
|
282
453
|
if (!meeting) {
|
|
283
454
|
// TODO: create meeting when we get a meeting object
|
|
284
455
|
// const checkForEnded = (locus) => {
|
|
@@ -318,6 +489,7 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
318
489
|
|
|
319
490
|
// It's a new meeting so initialize the locus data
|
|
320
491
|
meeting.locusInfo.initialSetup(data.locus);
|
|
492
|
+
_this2.checkHandleBreakoutLocus(data.locus);
|
|
321
493
|
}).catch(function (e) {
|
|
322
494
|
_loggerProxy.default.logger.error(e);
|
|
323
495
|
}).finally(function () {
|
|
@@ -325,11 +497,14 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
325
497
|
// because the other user left so before sending 'added' event make sure it exists in the collection
|
|
326
498
|
|
|
327
499
|
if (_this2.getMeetingByType(_constants._ID_, meeting.id)) {
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
trigger:
|
|
500
|
+
// @ts-ignore
|
|
501
|
+
_this2.webex.internal.newMetrics.submitClientEvent({
|
|
502
|
+
name: 'client.call.remote-started',
|
|
503
|
+
payload: {
|
|
504
|
+
trigger: 'mercury-event'
|
|
505
|
+
},
|
|
506
|
+
options: {
|
|
507
|
+
meetingId: meeting.id
|
|
333
508
|
}
|
|
334
509
|
});
|
|
335
510
|
_triggerProxy.default.trigger(_this2, {
|
|
@@ -443,7 +618,7 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
443
618
|
// @ts-ignore
|
|
444
619
|
this.webex.once(_constants.READY, function () {
|
|
445
620
|
// @ts-ignore
|
|
446
|
-
|
|
621
|
+
_config.default.set(_this4.config);
|
|
447
622
|
// @ts-ignore
|
|
448
623
|
_loggerConfig.default.set(_this4.config.logging);
|
|
449
624
|
// @ts-ignore
|
|
@@ -480,7 +655,7 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
480
655
|
disableNotifications: true
|
|
481
656
|
});
|
|
482
657
|
// @ts-ignore
|
|
483
|
-
_metrics.default.initialSetup(_this4.
|
|
658
|
+
_metrics.default.initialSetup(_this4.webex);
|
|
484
659
|
});
|
|
485
660
|
}
|
|
486
661
|
|
|
@@ -630,6 +805,17 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
630
805
|
);
|
|
631
806
|
}
|
|
632
807
|
|
|
808
|
+
/**
|
|
809
|
+
* Creates a noise reduction effect
|
|
810
|
+
*
|
|
811
|
+
* @param {INoiseReductionEffect} options optional custom effect options
|
|
812
|
+
* @returns {Promise<effect>} noise reduction effect.
|
|
813
|
+
* @public
|
|
814
|
+
* @memberof Meetings
|
|
815
|
+
*/
|
|
816
|
+
}, {
|
|
817
|
+
key: "uploadLogs",
|
|
818
|
+
value:
|
|
633
819
|
/**
|
|
634
820
|
* Uploads logs to the webex services for tracking
|
|
635
821
|
* @param {Object} [options={}]
|
|
@@ -642,9 +828,7 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
642
828
|
* @param {String} [options.orgId] org id
|
|
643
829
|
* @returns {String} feedback ID logs were submitted under
|
|
644
830
|
*/
|
|
645
|
-
|
|
646
|
-
key: "uploadLogs",
|
|
647
|
-
value: function uploadLogs() {
|
|
831
|
+
function uploadLogs() {
|
|
648
832
|
var _this7 = this;
|
|
649
833
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
650
834
|
_loggerProxy.default.logger.info('Meetings:index#uploadLogs --> uploading logs');
|
|
@@ -747,6 +931,23 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
747
931
|
if (res) {
|
|
748
932
|
_this9.preferredWebexSite = _util2.default.parseDefaultSiteFromMeetingPreferences(res);
|
|
749
933
|
}
|
|
934
|
+
|
|
935
|
+
// fall back to getting the preferred site from the user information
|
|
936
|
+
if (!_this9.preferredWebexSite) {
|
|
937
|
+
// @ts-ignore
|
|
938
|
+
return _this9.webex.internal.user.get().then(function (user) {
|
|
939
|
+
var _user$userPreferences, _user$userPreferences2;
|
|
940
|
+
var preferredWebexSite = user === null || user === void 0 ? void 0 : (_user$userPreferences = user.userPreferences) === null || _user$userPreferences === void 0 ? void 0 : (_user$userPreferences2 = _user$userPreferences.userPreferencesItems) === null || _user$userPreferences2 === void 0 ? void 0 : _user$userPreferences2.preferredWebExSite;
|
|
941
|
+
if (preferredWebexSite) {
|
|
942
|
+
_this9.preferredWebexSite = preferredWebexSite;
|
|
943
|
+
} else {
|
|
944
|
+
throw new Error('site not found');
|
|
945
|
+
}
|
|
946
|
+
}).catch(function () {
|
|
947
|
+
_loggerProxy.default.logger.error('Failed to fetch preferred site from user - no site will be set');
|
|
948
|
+
});
|
|
949
|
+
}
|
|
950
|
+
return _promise.default.resolve();
|
|
750
951
|
});
|
|
751
952
|
}
|
|
752
953
|
|
|
@@ -789,6 +990,8 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
789
990
|
* @param {string} destination - sipURL, spaceId, phonenumber, or locus object}
|
|
790
991
|
* @param {string} [type] - the optional specified type, such as locusId
|
|
791
992
|
* @param {Boolean} useRandomDelayForInfo - whether a random delay should be added to fetching meeting info
|
|
993
|
+
* @param {Object} infoExtraParams extra parameters to be provided when fetching meeting info
|
|
994
|
+
* @param {string} correlationId - the optional specified correlationId
|
|
792
995
|
* @returns {Promise<Meeting>} A new Meeting.
|
|
793
996
|
* @public
|
|
794
997
|
* @memberof Meetings
|
|
@@ -799,6 +1002,8 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
799
1002
|
var _this10 = this;
|
|
800
1003
|
var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
801
1004
|
var useRandomDelayForInfo = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
1005
|
+
var infoExtraParams = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
|
|
1006
|
+
var correlationId = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : undefined;
|
|
802
1007
|
// TODO: type should be from a dictionary
|
|
803
1008
|
|
|
804
1009
|
// Validate meeting information based on the provided destination and
|
|
@@ -837,7 +1042,7 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
837
1042
|
// Validate if a meeting was found.
|
|
838
1043
|
if (!meeting) {
|
|
839
1044
|
// Create a meeting based on the normalized destination and type.
|
|
840
|
-
return _this10.createMeeting(targetDest, type, useRandomDelayForInfo).then(function (createdMeeting) {
|
|
1045
|
+
return _this10.createMeeting(targetDest, type, useRandomDelayForInfo, infoExtraParams, correlationId).then(function (createdMeeting) {
|
|
841
1046
|
// If the meeting was successfully created.
|
|
842
1047
|
if (createdMeeting && createdMeeting.on) {
|
|
843
1048
|
// Create a destruction event for the meeting.
|
|
@@ -889,6 +1094,8 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
889
1094
|
* @param {String} destination see create()
|
|
890
1095
|
* @param {String} type see create()
|
|
891
1096
|
* @param {Boolean} useRandomDelayForInfo whether a random delay should be added to fetching meeting info
|
|
1097
|
+
* @param {Object} infoExtraParams extra parameters to be provided when fetching meeting info
|
|
1098
|
+
* @param {String} correlationId the optional specified correlationId
|
|
892
1099
|
* @returns {Promise} a new meeting instance complete with meeting info and destination
|
|
893
1100
|
* @private
|
|
894
1101
|
* @memberof Meetings
|
|
@@ -896,9 +1103,11 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
896
1103
|
}, {
|
|
897
1104
|
key: "createMeeting",
|
|
898
1105
|
value: function () {
|
|
899
|
-
var _createMeeting = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
1106
|
+
var _createMeeting = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(destination) {
|
|
900
1107
|
var type,
|
|
901
1108
|
useRandomDelayForInfo,
|
|
1109
|
+
infoExtraParams,
|
|
1110
|
+
correlationId,
|
|
902
1111
|
meeting,
|
|
903
1112
|
_destination$fullStat,
|
|
904
1113
|
waitingTime,
|
|
@@ -910,12 +1119,14 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
910
1119
|
isMeetingActive,
|
|
911
1120
|
enableUnifiedMeetings,
|
|
912
1121
|
meetingAddedType,
|
|
913
|
-
|
|
914
|
-
return _regenerator.default.wrap(function
|
|
915
|
-
while (1) switch (
|
|
1122
|
+
_args3 = arguments;
|
|
1123
|
+
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
1124
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
916
1125
|
case 0:
|
|
917
|
-
type =
|
|
918
|
-
useRandomDelayForInfo =
|
|
1126
|
+
type = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : null;
|
|
1127
|
+
useRandomDelayForInfo = _args3.length > 2 && _args3[2] !== undefined ? _args3[2] : false;
|
|
1128
|
+
infoExtraParams = _args3.length > 3 && _args3[3] !== undefined ? _args3[3] : {};
|
|
1129
|
+
correlationId = _args3.length > 4 && _args3[4] !== undefined ? _args3[4] : undefined;
|
|
919
1130
|
meeting = new _meeting.default({
|
|
920
1131
|
// @ts-ignore
|
|
921
1132
|
userId: this.webex.internal.device.userId,
|
|
@@ -927,13 +1138,14 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
927
1138
|
// pass the locus object if present
|
|
928
1139
|
meetingInfoProvider: this.meetingInfo,
|
|
929
1140
|
destination: destination,
|
|
930
|
-
destinationType: type
|
|
1141
|
+
destinationType: type,
|
|
1142
|
+
correlationId: correlationId
|
|
931
1143
|
}, {
|
|
932
1144
|
// @ts-ignore
|
|
933
1145
|
parent: this.webex
|
|
934
1146
|
});
|
|
935
1147
|
this.meetingCollection.set(meeting);
|
|
936
|
-
|
|
1148
|
+
_context3.prev = 6;
|
|
937
1149
|
// if no participant has joined the scheduled meeting (meaning meeting is not active) and we get a locusEvent,
|
|
938
1150
|
// it means the meeting will start in 5-6 min. In that case, we want to fetchMeetingInfo
|
|
939
1151
|
// between 5 and 2 min (random between 3 minutes) before the meeting starts
|
|
@@ -950,32 +1162,36 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
950
1162
|
isMeetingActive = !!((_destination$fullStat = destination.fullState) !== null && _destination$fullStat !== void 0 && _destination$fullStat.active); // @ts-ignore
|
|
951
1163
|
enableUnifiedMeetings = this.config.experimental.enableUnifiedMeetings;
|
|
952
1164
|
if (!(enableUnifiedMeetings && !isMeetingActive && useRandomDelayForInfo && waitingTime > 0)) {
|
|
953
|
-
|
|
1165
|
+
_context3.next = 16;
|
|
954
1166
|
break;
|
|
955
1167
|
}
|
|
956
1168
|
meeting.fetchMeetingInfoTimeoutId = setTimeout(function () {
|
|
957
|
-
return meeting.fetchMeetingInfo({
|
|
1169
|
+
return meeting.fetchMeetingInfo({
|
|
1170
|
+
extraParams: infoExtraParams
|
|
1171
|
+
});
|
|
958
1172
|
}, waitingTime);
|
|
959
1173
|
meeting.parseMeetingInfo(undefined, destination);
|
|
960
|
-
|
|
1174
|
+
_context3.next = 18;
|
|
961
1175
|
break;
|
|
962
|
-
case 14:
|
|
963
|
-
_context.next = 16;
|
|
964
|
-
return meeting.fetchMeetingInfo({});
|
|
965
1176
|
case 16:
|
|
966
|
-
|
|
967
|
-
|
|
1177
|
+
_context3.next = 18;
|
|
1178
|
+
return meeting.fetchMeetingInfo({
|
|
1179
|
+
extraParams: infoExtraParams
|
|
1180
|
+
});
|
|
968
1181
|
case 18:
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
1182
|
+
_context3.next = 24;
|
|
1183
|
+
break;
|
|
1184
|
+
case 20:
|
|
1185
|
+
_context3.prev = 20;
|
|
1186
|
+
_context3.t0 = _context3["catch"](6);
|
|
1187
|
+
if (!(_context3.t0 instanceof _captchaError.default) && !(_context3.t0 instanceof _passwordError.default) && !(_context3.t0 instanceof _permission.default)) {
|
|
972
1188
|
// if there is no meeting info we assume its a 1:1 call or wireless share
|
|
973
1189
|
_loggerProxy.default.logger.info("Meetings:index#createMeeting --> Info Unable to fetch meeting info for ".concat(destination, "."));
|
|
974
1190
|
_loggerProxy.default.logger.info('Meetings:index#createMeeting --> Info assuming this destination is a 1:1 or wireless share');
|
|
975
1191
|
}
|
|
976
|
-
_loggerProxy.default.logger.debug("Meetings:index#createMeeting --> Debug ".concat(
|
|
977
|
-
case
|
|
978
|
-
|
|
1192
|
+
_loggerProxy.default.logger.debug("Meetings:index#createMeeting --> Debug ".concat(_context3.t0, " fetching /meetingInfo for creation."));
|
|
1193
|
+
case 24:
|
|
1194
|
+
_context3.prev = 24;
|
|
979
1195
|
// For type LOCUS_ID we need to parse the locus object to get the information
|
|
980
1196
|
// about the caller and callee
|
|
981
1197
|
// Meeting Added event will be created in `handleLocusEvent`
|
|
@@ -995,16 +1211,16 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
995
1211
|
type: meetingAddedType
|
|
996
1212
|
});
|
|
997
1213
|
}
|
|
998
|
-
return
|
|
999
|
-
case
|
|
1000
|
-
return
|
|
1001
|
-
case
|
|
1214
|
+
return _context3.finish(24);
|
|
1215
|
+
case 27:
|
|
1216
|
+
return _context3.abrupt("return", meeting);
|
|
1217
|
+
case 28:
|
|
1002
1218
|
case "end":
|
|
1003
|
-
return
|
|
1219
|
+
return _context3.stop();
|
|
1004
1220
|
}
|
|
1005
|
-
},
|
|
1221
|
+
}, _callee3, this, [[6, 20, 24, 27]]);
|
|
1006
1222
|
}));
|
|
1007
|
-
function createMeeting(
|
|
1223
|
+
function createMeeting(_x3) {
|
|
1008
1224
|
return _createMeeting.apply(this, arguments);
|
|
1009
1225
|
}
|
|
1010
1226
|
return createMeeting;
|
|
@@ -1054,7 +1270,8 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
1054
1270
|
return this.request.getActiveMeetings().then(function (locusArray) {
|
|
1055
1271
|
var activeLocusUrl = [];
|
|
1056
1272
|
if (locusArray !== null && locusArray !== void 0 && locusArray.loci && locusArray.loci.length > 0) {
|
|
1057
|
-
locusArray.loci
|
|
1273
|
+
var lociToUpdate = _this11.sortLocusArrayToUpdate(locusArray.loci);
|
|
1274
|
+
lociToUpdate.forEach(function (locus) {
|
|
1058
1275
|
activeLocusUrl.push(locus.url);
|
|
1059
1276
|
_this11.handleLocusEvent({
|
|
1060
1277
|
locus: locus,
|
|
@@ -1076,7 +1293,81 @@ var Meetings = /*#__PURE__*/function (_WebexPlugin) {
|
|
|
1076
1293
|
}
|
|
1077
1294
|
}
|
|
1078
1295
|
}
|
|
1296
|
+
}).catch(function (error) {
|
|
1297
|
+
_loggerProxy.default.logger.error("Meetings:index#syncMeetings --> failed to sync meetings, ".concat(error));
|
|
1298
|
+
throw new Error(error);
|
|
1299
|
+
});
|
|
1300
|
+
}
|
|
1301
|
+
|
|
1302
|
+
/**
|
|
1303
|
+
* sort out locus array for initial creating
|
|
1304
|
+
* @param {Array} loci original locus array
|
|
1305
|
+
* @returns {undefined}
|
|
1306
|
+
* @public
|
|
1307
|
+
* @memberof Meetings
|
|
1308
|
+
*/
|
|
1309
|
+
}, {
|
|
1310
|
+
key: "sortLocusArrayToUpdate",
|
|
1311
|
+
value: function sortLocusArrayToUpdate(loci) {
|
|
1312
|
+
var _this12 = this;
|
|
1313
|
+
var mainLoci = loci.filter(function (locus) {
|
|
1314
|
+
return !_util2.default.isBreakoutLocusDTO(locus);
|
|
1315
|
+
});
|
|
1316
|
+
var breakoutLoci = loci.filter(function (locus) {
|
|
1317
|
+
return _util2.default.isValidBreakoutLocus(locus);
|
|
1318
|
+
});
|
|
1319
|
+
this.breakoutLocusForHandleLater = [];
|
|
1320
|
+
var lociToUpdate = (0, _toConsumableArray2.default)(mainLoci);
|
|
1321
|
+
breakoutLoci.forEach(function (breakoutLocus) {
|
|
1322
|
+
var associateMainLocus = mainLoci.find(function (mainLocus) {
|
|
1323
|
+
var _mainLocus$controls, _mainLocus$controls$b, _breakoutLocus$contro, _breakoutLocus$contro2;
|
|
1324
|
+
return ((_mainLocus$controls = mainLocus.controls) === null || _mainLocus$controls === void 0 ? void 0 : (_mainLocus$controls$b = _mainLocus$controls.breakout) === null || _mainLocus$controls$b === void 0 ? void 0 : _mainLocus$controls$b.url) === ((_breakoutLocus$contro = breakoutLocus.controls) === null || _breakoutLocus$contro === void 0 ? void 0 : (_breakoutLocus$contro2 = _breakoutLocus$contro.breakout) === null || _breakoutLocus$contro2 === void 0 ? void 0 : _breakoutLocus$contro2.url);
|
|
1325
|
+
});
|
|
1326
|
+
var existCorrespondingMeeting = _this12.getCorrespondingMeetingByLocus({
|
|
1327
|
+
locus: breakoutLocus,
|
|
1328
|
+
locusUrl: breakoutLocus.url
|
|
1329
|
+
});
|
|
1330
|
+
if (associateMainLocus && !existCorrespondingMeeting) {
|
|
1331
|
+
// if exists both main session and breakout session locus of the same non-exist meeting, handle main locus first,
|
|
1332
|
+
// after meeting create with main locus, then handle the associate breakout locus.
|
|
1333
|
+
// if only handle breakout locus, will miss some date
|
|
1334
|
+
_this12.breakoutLocusForHandleLater.push(breakoutLocus);
|
|
1335
|
+
} else {
|
|
1336
|
+
lociToUpdate.push(breakoutLocus);
|
|
1337
|
+
}
|
|
1338
|
+
});
|
|
1339
|
+
return lociToUpdate;
|
|
1340
|
+
}
|
|
1341
|
+
|
|
1342
|
+
/**
|
|
1343
|
+
* check breakout locus which waiting for main locus's meeting to be created, then handle the breakout locus
|
|
1344
|
+
* @param {Object} newCreatedLocus the locus which just create meeting object of it
|
|
1345
|
+
* @returns {undefined}
|
|
1346
|
+
* @public
|
|
1347
|
+
* @memberof Meetings
|
|
1348
|
+
*/
|
|
1349
|
+
}, {
|
|
1350
|
+
key: "checkHandleBreakoutLocus",
|
|
1351
|
+
value: function checkHandleBreakoutLocus(newCreatedLocus) {
|
|
1352
|
+
if (!newCreatedLocus || !this.breakoutLocusForHandleLater || !this.breakoutLocusForHandleLater.length) {
|
|
1353
|
+
return;
|
|
1354
|
+
}
|
|
1355
|
+
if (_util2.default.isBreakoutLocusDTO(newCreatedLocus)) {
|
|
1356
|
+
return;
|
|
1357
|
+
}
|
|
1358
|
+
var existIndex = this.breakoutLocusForHandleLater.findIndex(function (breakoutLocus) {
|
|
1359
|
+
var _breakoutLocus$contro3, _breakoutLocus$contro4, _newCreatedLocus$cont, _newCreatedLocus$cont2;
|
|
1360
|
+
return ((_breakoutLocus$contro3 = breakoutLocus.controls) === null || _breakoutLocus$contro3 === void 0 ? void 0 : (_breakoutLocus$contro4 = _breakoutLocus$contro3.breakout) === null || _breakoutLocus$contro4 === void 0 ? void 0 : _breakoutLocus$contro4.url) === ((_newCreatedLocus$cont = newCreatedLocus.controls) === null || _newCreatedLocus$cont === void 0 ? void 0 : (_newCreatedLocus$cont2 = _newCreatedLocus$cont.breakout) === null || _newCreatedLocus$cont2 === void 0 ? void 0 : _newCreatedLocus$cont2.url);
|
|
1361
|
+
});
|
|
1362
|
+
if (existIndex < 0) {
|
|
1363
|
+
return;
|
|
1364
|
+
}
|
|
1365
|
+
var associateBreakoutLocus = this.breakoutLocusForHandleLater[existIndex];
|
|
1366
|
+
this.handleLocusEvent({
|
|
1367
|
+
locus: associateBreakoutLocus,
|
|
1368
|
+
locusUrl: associateBreakoutLocus.url
|
|
1079
1369
|
});
|
|
1370
|
+
this.breakoutLocusForHandleLater.splice(existIndex, 1);
|
|
1080
1371
|
}
|
|
1081
1372
|
|
|
1082
1373
|
/**
|