@webex/plugin-meetings 3.0.0-beta.93 → 3.0.0-beta.95
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/dist/breakouts/breakout.js +21 -25
- package/dist/breakouts/breakout.js.map +1 -1
- package/dist/breakouts/events.js +43 -0
- package/dist/breakouts/events.js.map +1 -0
- package/dist/breakouts/index.js +100 -55
- package/dist/breakouts/index.js.map +1 -1
- package/dist/constants.js +3 -1
- package/dist/constants.js.map +1 -1
- package/dist/controls-options-manager/index.js +19 -14
- package/dist/controls-options-manager/index.js.map +1 -1
- package/dist/locus-info/index.js +5 -3
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/selfUtils.js +12 -0
- package/dist/locus-info/selfUtils.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js +27 -3
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +59 -2
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/util.js +0 -9
- package/dist/meeting/util.js.map +1 -1
- package/dist/metrics/config.js +3 -2
- package/dist/metrics/config.js.map +1 -1
- package/dist/types/breakouts/events.d.ts +2 -0
- package/dist/types/constants.d.ts +2 -0
- package/dist/types/controls-options-manager/index.d.ts +1 -1
- package/dist/types/locus-info/index.d.ts +2 -1
- package/dist/types/meeting/in-meeting-actions.d.ts +26 -2
- package/dist/types/metrics/config.d.ts +3 -2
- package/package.json +19 -19
- package/src/breakouts/breakout.ts +9 -22
- package/src/breakouts/events.ts +37 -0
- package/src/breakouts/index.ts +53 -11
- package/src/constants.ts +2 -0
- package/src/controls-options-manager/index.ts +13 -10
- package/src/locus-info/index.ts +8 -4
- package/src/locus-info/selfUtils.ts +10 -0
- package/src/meeting/in-meeting-actions.ts +52 -4
- package/src/meeting/index.ts +65 -4
- package/src/meeting/util.ts +0 -11
- package/src/metrics/config.ts +3 -2
- package/test/unit/spec/breakouts/breakout.ts +27 -21
- package/test/unit/spec/breakouts/events.ts +77 -0
- package/test/unit/spec/breakouts/index.ts +161 -106
- package/test/unit/spec/controls-options-manager/index.js +8 -1
- package/test/unit/spec/locus-info/index.js +7 -3
- package/test/unit/spec/locus-info/selfConstant.js +9 -0
- package/test/unit/spec/locus-info/selfUtils.js +45 -0
- package/test/unit/spec/meeting/in-meeting-actions.ts +26 -2
- package/test/unit/spec/meeting/index.js +74 -3
- package/test/unit/spec/meeting/utils.js +0 -21
|
@@ -13,8 +13,7 @@ var _uuid = _interopRequireDefault(require("uuid"));
|
|
|
13
13
|
var _constants = require("../constants");
|
|
14
14
|
var _members = _interopRequireDefault(require("../members"));
|
|
15
15
|
var _request = _interopRequireDefault(require("./request"));
|
|
16
|
-
var
|
|
17
|
-
var _config = require("../metrics/config");
|
|
16
|
+
var _events = _interopRequireDefault(require("./events"));
|
|
18
17
|
/*!
|
|
19
18
|
* Copyright (c) 2015-2023 Cisco Systems, Inc. See LICENSE file.
|
|
20
19
|
*/
|
|
@@ -43,9 +42,10 @@ var Breakout = _webexCore.WebexPlugin.extend({
|
|
|
43
42
|
sessionId: 'string',
|
|
44
43
|
sessionType: 'string',
|
|
45
44
|
groupId: 'string',
|
|
46
|
-
url: 'string'
|
|
45
|
+
url: 'string',
|
|
46
|
+
// where to send requests to
|
|
47
|
+
requestedLastModifiedTime: 'string'
|
|
47
48
|
},
|
|
48
|
-
|
|
49
49
|
derived: {
|
|
50
50
|
isMain: {
|
|
51
51
|
cache: false,
|
|
@@ -76,43 +76,39 @@ var Breakout = _webexCore.WebexPlugin.extend({
|
|
|
76
76
|
join: function join() {
|
|
77
77
|
var _this = this;
|
|
78
78
|
return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
79
|
-
var breakoutMoveId, meetingId, result;
|
|
79
|
+
var breakoutMoveId, deviceUrl, meetingId, meeting, result;
|
|
80
80
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
81
81
|
while (1) switch (_context.prev = _context.next) {
|
|
82
82
|
case 0:
|
|
83
83
|
breakoutMoveId = _uuid.default.v4();
|
|
84
|
+
deviceUrl = _this.webex.internal.device.url;
|
|
84
85
|
meetingId = _this.collection.parent.meetingId;
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
breakoutSessionId: _this.sessionId,
|
|
91
|
-
breakoutGroupId: _this.groupId
|
|
92
|
-
}
|
|
86
|
+
meeting = _this.webex.meetings.getMeetingByType(_constants._ID_, meetingId);
|
|
87
|
+
_events.default.onBreakoutMoveRequest({
|
|
88
|
+
currentSession: _this,
|
|
89
|
+
meeting: meeting,
|
|
90
|
+
breakoutMoveId: breakoutMoveId
|
|
93
91
|
});
|
|
94
|
-
_context.next =
|
|
92
|
+
_context.next = 7;
|
|
95
93
|
return _this.request({
|
|
96
94
|
method: _constants.HTTP_VERBS.POST,
|
|
97
95
|
uri: "".concat(_this.url, "/move"),
|
|
98
96
|
body: {
|
|
97
|
+
breakoutMoveId: breakoutMoveId,
|
|
98
|
+
deviceUrl: deviceUrl,
|
|
99
99
|
groupId: _this.groupId,
|
|
100
100
|
sessionId: _this.sessionId
|
|
101
101
|
}
|
|
102
102
|
});
|
|
103
|
-
case
|
|
103
|
+
case 7:
|
|
104
104
|
result = _context.sent;
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
breakoutMoveId: breakoutMoveId,
|
|
110
|
-
breakoutSessionId: _this.sessionId,
|
|
111
|
-
breakoutGroupId: _this.groupId
|
|
112
|
-
}
|
|
105
|
+
_events.default.onBreakoutMoveResponse({
|
|
106
|
+
currentSession: _this,
|
|
107
|
+
meeting: meeting,
|
|
108
|
+
breakoutMoveId: breakoutMoveId
|
|
113
109
|
});
|
|
114
110
|
return _context.abrupt("return", result);
|
|
115
|
-
case
|
|
111
|
+
case 10:
|
|
116
112
|
case "end":
|
|
117
113
|
return _context.stop();
|
|
118
114
|
}
|
|
@@ -173,7 +169,7 @@ var Breakout = _webexCore.WebexPlugin.extend({
|
|
|
173
169
|
sessionId: this.sessionId
|
|
174
170
|
});
|
|
175
171
|
},
|
|
176
|
-
version: "3.0.0-beta.
|
|
172
|
+
version: "3.0.0-beta.95"
|
|
177
173
|
});
|
|
178
174
|
var _default = Breakout;
|
|
179
175
|
exports.default = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Breakout","WebexPlugin","extend","idAttribute","namespace","MEETINGS","breakoutRequest","BreakoutRequest","props","active","allowed","assigned","assignedCurrent","requested","current","name","sessionId","sessionType","groupId","url","derived","isMain","cache","deps","fn","initialize","members","Members","parent","webex","join","breakoutMoveId","uuid","v4","
|
|
1
|
+
{"version":3,"names":["Breakout","WebexPlugin","extend","idAttribute","namespace","MEETINGS","breakoutRequest","BreakoutRequest","props","active","allowed","assigned","assignedCurrent","requested","current","name","sessionId","sessionType","groupId","url","requestedLastModifiedTime","derived","isMain","cache","deps","fn","initialize","members","Members","parent","webex","join","breakoutMoveId","uuid","v4","deviceUrl","internal","device","meetingId","collection","meeting","meetings","getMeetingByType","_ID_","breakoutEvent","onBreakoutMoveRequest","currentSession","request","method","HTTP_VERBS","POST","uri","body","result","onBreakoutMoveResponse","leave","Error","mainSession","breakouts","filter","breakout","askForHelp","parseRoster","locus","locusParticipantsUpdate","broadcast","message","options"],"sources":["breakout.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2023 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {WebexPlugin} from '@webex/webex-core';\n\nimport uuid from 'uuid';\nimport {_ID_, HTTP_VERBS, MEETINGS} from '../constants';\nimport Members from '../members';\nimport BreakoutRequest from './request';\nimport breakoutEvent from './events';\n/**\n * @class\n */\nconst Breakout = WebexPlugin.extend({\n idAttribute: 'sessionId',\n\n namespace: MEETINGS,\n\n breakoutRequest: BreakoutRequest,\n props: {\n active: ['boolean', false, false], // this session is active\n allowed: ['boolean', false, false], // allowed to join this session\n assigned: ['boolean', false, false], // assigned to this session, but not necessarily joined yet\n assignedCurrent: ['boolean', false, false], // assigned AND current session\n requested: ['boolean', false, false], // requested by the host to join this session\n current: ['boolean', false, false], // the current joined session\n name: 'string',\n sessionId: 'string',\n sessionType: 'string',\n groupId: 'string',\n url: 'string', // where to send requests to\n requestedLastModifiedTime: 'string',\n },\n\n derived: {\n isMain: {\n cache: false, // fix issue: sometimes the derived will not change even if the deps changed\n deps: ['sessionType'],\n /**\n * If the breakout has no name, assume it is the main session\n * @returns {boolean}\n */\n fn() {\n return this.sessionType === 'MAIN';\n },\n },\n },\n\n initialize() {\n this.members = new Members({}, {parent: this.webex});\n // @ts-ignore\n this.breakoutRequest = new BreakoutRequest({webex: this.webex});\n },\n\n /**\n * Joins the breakout session\n * @returns {Promise}\n */\n async join() {\n const breakoutMoveId = uuid.v4();\n const deviceUrl = this.webex.internal.device.url;\n const {meetingId} = this.collection.parent;\n const meeting = this.webex.meetings.getMeetingByType(_ID_, meetingId);\n breakoutEvent.onBreakoutMoveRequest({currentSession: this, meeting, breakoutMoveId});\n const result = await this.request({\n method: HTTP_VERBS.POST,\n uri: `${this.url}/move`,\n body: {\n breakoutMoveId,\n deviceUrl,\n groupId: this.groupId,\n sessionId: this.sessionId,\n },\n });\n breakoutEvent.onBreakoutMoveResponse({currentSession: this, meeting, breakoutMoveId});\n\n return result;\n },\n\n /**\n * Leaves the breakout session to return to the main session\n * @returns {Promise}\n * @throws {Error} if an attempt is made to leave the main session or if the main session cannot be found\n */\n leave() {\n if (this.isMain) {\n throw new Error('Cannot leave the main session');\n }\n\n const mainSession = this.parent.breakouts.filter((breakout) => breakout.isMain)[0];\n\n if (!mainSession) {\n throw new Error('Cannot leave, no main session found');\n }\n\n return mainSession.join();\n },\n\n /**\n * Sends a help request for the current breakout\n * @returns {Promise}\n */\n askForHelp() {\n return this.request({\n method: HTTP_VERBS.POST,\n uri: `${this.url}/help`,\n body: {\n groupId: this.groupId,\n sessionId: this.sessionId,\n },\n });\n },\n\n /**\n * Parses the participants from the locus object\n * @param locus Locus object\n * @returns {void}\n */\n\n parseRoster(locus) {\n this.members.locusParticipantsUpdate(locus);\n },\n /*\n * Broadcast message to this breakout session's participants\n * @param {String} message\n * @param {Object} options\n * @returns {Promise}\n */\n broadcast(message, options) {\n return this.breakoutRequest.broadcast({\n url: this.url,\n message,\n options,\n groupId: this.groupId,\n sessionId: this.sessionId,\n });\n },\n});\n\nexport default Breakout;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
|
|
5
|
+
_Object$defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
var _metrics = _interopRequireDefault(require("../metrics"));
|
|
10
|
+
var _config = require("../metrics/config");
|
|
11
|
+
// eslint-disable-next-line import/prefer-default-export
|
|
12
|
+
|
|
13
|
+
var breakoutEvent = {};
|
|
14
|
+
breakoutEvent.onBreakoutMoveRequest = function (eventInfo) {
|
|
15
|
+
breakoutEvent.postMoveCallAnalyzer(_config.eventType.BREAKOUT_MOVE_REQUEST, eventInfo);
|
|
16
|
+
};
|
|
17
|
+
breakoutEvent.onBreakoutMoveResponse = function (eventInfo) {
|
|
18
|
+
breakoutEvent.postMoveCallAnalyzer(_config.eventType.BREAKOUT_MOVE_RESPONSE, eventInfo);
|
|
19
|
+
};
|
|
20
|
+
breakoutEvent.onBreakoutJoinResponse = function (eventInfo) {
|
|
21
|
+
breakoutEvent.postMoveCallAnalyzer(_config.eventType.BREAKOUT_JOIN_RESPONSE, eventInfo);
|
|
22
|
+
};
|
|
23
|
+
breakoutEvent.postMoveCallAnalyzer = function (events, eventInfo) {
|
|
24
|
+
var _eventInfo$meeting$me, _eventInfo$currentSes, _eventInfo$currentSes2;
|
|
25
|
+
if (!(eventInfo !== null && eventInfo !== void 0 && eventInfo.breakoutMoveId) || !(eventInfo !== null && eventInfo !== void 0 && eventInfo.meeting)) {
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
if (!((_eventInfo$meeting$me = eventInfo.meeting.meetingInfo) !== null && _eventInfo$meeting$me !== void 0 && _eventInfo$meeting$me.enableConvergedArchitecture)) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
_metrics.default.postEvent({
|
|
32
|
+
event: events,
|
|
33
|
+
meetingId: eventInfo.meeting.id,
|
|
34
|
+
data: {
|
|
35
|
+
breakoutMoveId: eventInfo.breakoutMoveId,
|
|
36
|
+
breakoutSessionId: eventInfo === null || eventInfo === void 0 ? void 0 : (_eventInfo$currentSes = eventInfo.currentSession) === null || _eventInfo$currentSes === void 0 ? void 0 : _eventInfo$currentSes.sessionId,
|
|
37
|
+
breakoutGroupId: eventInfo === null || eventInfo === void 0 ? void 0 : (_eventInfo$currentSes2 = eventInfo.currentSession) === null || _eventInfo$currentSes2 === void 0 ? void 0 : _eventInfo$currentSes2.groupId
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
var _default = breakoutEvent;
|
|
42
|
+
exports.default = _default;
|
|
43
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["breakoutEvent","onBreakoutMoveRequest","eventInfo","postMoveCallAnalyzer","eventType","BREAKOUT_MOVE_REQUEST","onBreakoutMoveResponse","BREAKOUT_MOVE_RESPONSE","onBreakoutJoinResponse","BREAKOUT_JOIN_RESPONSE","events","breakoutMoveId","meeting","meetingInfo","enableConvergedArchitecture","Metrics","postEvent","event","meetingId","id","data","breakoutSessionId","currentSession","sessionId","breakoutGroupId","groupId"],"sources":["events.ts"],"sourcesContent":["// eslint-disable-next-line import/prefer-default-export\nimport Metrics from '../metrics';\nimport {eventType} from '../metrics/config';\n\nconst breakoutEvent: any = {};\n\nbreakoutEvent.onBreakoutMoveRequest = (eventInfo) => {\n breakoutEvent.postMoveCallAnalyzer(eventType.BREAKOUT_MOVE_REQUEST, eventInfo);\n};\n\nbreakoutEvent.onBreakoutMoveResponse = (eventInfo) => {\n breakoutEvent.postMoveCallAnalyzer(eventType.BREAKOUT_MOVE_RESPONSE, eventInfo);\n};\n\nbreakoutEvent.onBreakoutJoinResponse = (eventInfo) => {\n breakoutEvent.postMoveCallAnalyzer(eventType.BREAKOUT_JOIN_RESPONSE, eventInfo);\n};\n\nbreakoutEvent.postMoveCallAnalyzer = (events: string, eventInfo: any) => {\n if (!eventInfo?.breakoutMoveId || !eventInfo?.meeting) {\n return;\n }\n if (!eventInfo.meeting.meetingInfo?.enableConvergedArchitecture) {\n return;\n }\n Metrics.postEvent({\n event: events,\n meetingId: eventInfo.meeting.id,\n data: {\n breakoutMoveId: eventInfo.breakoutMoveId,\n breakoutSessionId: eventInfo?.currentSession?.sessionId,\n breakoutGroupId: eventInfo?.currentSession?.groupId,\n },\n });\n};\n\nexport default breakoutEvent;\n"],"mappings":";;;;;;;;AACA;AACA;AAFA;;AAIA,IAAMA,aAAkB,GAAG,CAAC,CAAC;AAE7BA,aAAa,CAACC,qBAAqB,GAAG,UAACC,SAAS,EAAK;EACnDF,aAAa,CAACG,oBAAoB,CAACC,iBAAS,CAACC,qBAAqB,EAAEH,SAAS,CAAC;AAChF,CAAC;AAEDF,aAAa,CAACM,sBAAsB,GAAG,UAACJ,SAAS,EAAK;EACpDF,aAAa,CAACG,oBAAoB,CAACC,iBAAS,CAACG,sBAAsB,EAAEL,SAAS,CAAC;AACjF,CAAC;AAEDF,aAAa,CAACQ,sBAAsB,GAAG,UAACN,SAAS,EAAK;EACpDF,aAAa,CAACG,oBAAoB,CAACC,iBAAS,CAACK,sBAAsB,EAAEP,SAAS,CAAC;AACjF,CAAC;AAEDF,aAAa,CAACG,oBAAoB,GAAG,UAACO,MAAc,EAAER,SAAc,EAAK;EAAA;EACvE,IAAI,EAACA,SAAS,aAATA,SAAS,eAATA,SAAS,CAAES,cAAc,KAAI,EAACT,SAAS,aAATA,SAAS,eAATA,SAAS,CAAEU,OAAO,GAAE;IACrD;EACF;EACA,IAAI,2BAACV,SAAS,CAACU,OAAO,CAACC,WAAW,kDAA7B,sBAA+BC,2BAA2B,GAAE;IAC/D;EACF;EACAC,gBAAO,CAACC,SAAS,CAAC;IAChBC,KAAK,EAAEP,MAAM;IACbQ,SAAS,EAAEhB,SAAS,CAACU,OAAO,CAACO,EAAE;IAC/BC,IAAI,EAAE;MACJT,cAAc,EAAET,SAAS,CAACS,cAAc;MACxCU,iBAAiB,EAAEnB,SAAS,aAATA,SAAS,gDAATA,SAAS,CAAEoB,cAAc,0DAAzB,sBAA2BC,SAAS;MACvDC,eAAe,EAAEtB,SAAS,aAATA,SAAS,iDAATA,SAAS,CAAEoB,cAAc,2DAAzB,uBAA2BG;IAC9C;EACF,CAAC,CAAC;AACJ,CAAC;AAAC,eAEazB,aAAa;AAAA"}
|
package/dist/breakouts/index.js
CHANGED
|
@@ -24,6 +24,7 @@ var _constants = require("../constants");
|
|
|
24
24
|
var _breakout = _interopRequireDefault(require("./breakout"));
|
|
25
25
|
var _collection = _interopRequireDefault(require("./collection"));
|
|
26
26
|
var _request = _interopRequireDefault(require("./request"));
|
|
27
|
+
var _events = _interopRequireDefault(require("./events"));
|
|
27
28
|
var _utils = require("./utils");
|
|
28
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; }
|
|
29
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; }
|
|
@@ -132,12 +133,17 @@ var Breakouts = _webexCore.WebexPlugin.extend({
|
|
|
132
133
|
leading: true,
|
|
133
134
|
trailing: false
|
|
134
135
|
});
|
|
135
|
-
this.listenTo(this.breakouts, 'add', function () {
|
|
136
|
+
this.listenTo(this.breakouts, 'add', function (breakout) {
|
|
136
137
|
_this.debouncedQueryRosters();
|
|
138
|
+
_this.triggerReturnToMainEvent(breakout);
|
|
139
|
+
});
|
|
140
|
+
this.listenTo(this.breakouts, 'change:requestedLastModifiedTime', function (breakout) {
|
|
141
|
+
_this.triggerReturnToMainEvent(breakout);
|
|
137
142
|
});
|
|
138
143
|
this.listenToCurrentSessionTypeChange();
|
|
139
144
|
this.listenToBroadcastMessages();
|
|
140
145
|
this.listenToBreakoutRosters();
|
|
146
|
+
this.listenToBreakoutHelp();
|
|
141
147
|
// @ts-ignore
|
|
142
148
|
this.breakoutRequest = new _request.default({
|
|
143
149
|
webex: this.webex
|
|
@@ -253,6 +259,22 @@ var Breakouts = _webexCore.WebexPlugin.extend({
|
|
|
253
259
|
_this5.trigger(_constants.BREAKOUTS.EVENTS.MEMBERS_UPDATE);
|
|
254
260
|
});
|
|
255
261
|
},
|
|
262
|
+
/**
|
|
263
|
+
* Sets up a listener for ask help notify from mecury
|
|
264
|
+
* @returns {void}
|
|
265
|
+
*/
|
|
266
|
+
listenToBreakoutHelp: function listenToBreakoutHelp() {
|
|
267
|
+
var _this6 = this;
|
|
268
|
+
this.listenTo(this.webex.internal.mercury, 'event:breakout.help', function (event) {
|
|
269
|
+
var _event$data2 = event.data,
|
|
270
|
+
participant = _event$data2.participant,
|
|
271
|
+
sessionId = _event$data2.sessionId;
|
|
272
|
+
_this6.trigger(_constants.BREAKOUTS.EVENTS.ASK_FOR_HELP, {
|
|
273
|
+
participant: participant,
|
|
274
|
+
sessionId: sessionId
|
|
275
|
+
});
|
|
276
|
+
});
|
|
277
|
+
},
|
|
256
278
|
/**
|
|
257
279
|
* Updates the information about the current breakout
|
|
258
280
|
* @param {Object} params
|
|
@@ -274,8 +296,17 @@ var Breakouts = _webexCore.WebexPlugin.extend({
|
|
|
274
296
|
}, (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.ALLOWED, 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));
|
|
275
297
|
|
|
276
298
|
// We need to call queryPreAssignments when enableBreakoutSession become true
|
|
277
|
-
if (
|
|
278
|
-
this.queryPreAssignments();
|
|
299
|
+
if (preEnableBreakoutSession !== params.enableBreakoutSession) {
|
|
300
|
+
this.queryPreAssignments(params);
|
|
301
|
+
}
|
|
302
|
+
if (this.currentBreakoutSession.previous('sessionId') !== this.currentBreakoutSession.sessionId || this.currentBreakoutSession.previous('groupId') !== this.currentBreakoutSession.groupId) {
|
|
303
|
+
// should report joined session changed
|
|
304
|
+
var meeting = this.webex.meetings.getMeetingByType(_constants._ID_, this.meetingId);
|
|
305
|
+
_events.default.onBreakoutJoinResponse({
|
|
306
|
+
currentSession: this.currentBreakoutSession,
|
|
307
|
+
meeting: meeting,
|
|
308
|
+
breakoutMoveId: params.breakoutMoveId
|
|
309
|
+
});
|
|
279
310
|
}
|
|
280
311
|
},
|
|
281
312
|
/**
|
|
@@ -284,7 +315,7 @@ var Breakouts = _webexCore.WebexPlugin.extend({
|
|
|
284
315
|
* @returns {void}
|
|
285
316
|
*/
|
|
286
317
|
updateBreakoutSessions: function updateBreakoutSessions(payload) {
|
|
287
|
-
var
|
|
318
|
+
var _this7 = this;
|
|
288
319
|
var breakouts = {};
|
|
289
320
|
if (payload.breakoutSessions) {
|
|
290
321
|
(0, _forEach2.default)(_constants.BREAKOUTS.SESSION_STATES, function (state) {
|
|
@@ -299,17 +330,17 @@ var Breakouts = _webexCore.WebexPlugin.extend({
|
|
|
299
330
|
breakouts[sessionId][_constants.BREAKOUTS.SESSION_STATES.REQUESTED] = false;
|
|
300
331
|
}
|
|
301
332
|
breakouts[sessionId][state] = true;
|
|
333
|
+
if (state === _constants.BREAKOUTS.SESSION_STATES.REQUESTED) {
|
|
334
|
+
breakouts[sessionId].requestedLastModifiedTime = breakout.modifiedAt;
|
|
335
|
+
}
|
|
302
336
|
});
|
|
303
337
|
});
|
|
304
338
|
}
|
|
305
339
|
(0, _forEach2.default)(breakouts, function (breakout) {
|
|
306
340
|
// eslint-disable-next-line no-param-reassign
|
|
307
|
-
breakout.url =
|
|
341
|
+
breakout.url = _this7.url;
|
|
308
342
|
});
|
|
309
343
|
this.breakouts.set((0, _values.default)(breakouts));
|
|
310
|
-
if (this.allowBackToMain && this.getMainSession().requested) {
|
|
311
|
-
this.trigger(_constants.BREAKOUTS.EVENTS.ASK_RETURN_TO_MAIN);
|
|
312
|
-
}
|
|
313
344
|
},
|
|
314
345
|
/**
|
|
315
346
|
* get main session
|
|
@@ -386,18 +417,18 @@ var Breakouts = _webexCore.WebexPlugin.extend({
|
|
|
386
417
|
* @returns {Promise}
|
|
387
418
|
*/
|
|
388
419
|
toggleBreakout: function toggleBreakout(enable) {
|
|
389
|
-
var
|
|
420
|
+
var _this8 = this;
|
|
390
421
|
return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
391
422
|
var info;
|
|
392
423
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
393
424
|
while (1) switch (_context.prev = _context.next) {
|
|
394
425
|
case 0:
|
|
395
|
-
if (!(
|
|
426
|
+
if (!(_this8.enableBreakoutSession === undefined)) {
|
|
396
427
|
_context.next = 10;
|
|
397
428
|
break;
|
|
398
429
|
}
|
|
399
430
|
_context.next = 3;
|
|
400
|
-
return
|
|
431
|
+
return _this8.enableBreakouts();
|
|
401
432
|
case 3:
|
|
402
433
|
info = _context.sent;
|
|
403
434
|
if (enable) {
|
|
@@ -405,15 +436,15 @@ var Breakouts = _webexCore.WebexPlugin.extend({
|
|
|
405
436
|
break;
|
|
406
437
|
}
|
|
407
438
|
// if enable is false, updateBreakout set the param then set enableBreakoutSession as false
|
|
408
|
-
|
|
439
|
+
_this8.updateBreakout(info.body);
|
|
409
440
|
_context.next = 8;
|
|
410
|
-
return
|
|
441
|
+
return _this8.doToggleBreakout(enable);
|
|
411
442
|
case 8:
|
|
412
443
|
_context.next = 12;
|
|
413
444
|
break;
|
|
414
445
|
case 10:
|
|
415
446
|
_context.next = 12;
|
|
416
|
-
return
|
|
447
|
+
return _this8.doToggleBreakout(enable);
|
|
417
448
|
case 12:
|
|
418
449
|
case "end":
|
|
419
450
|
return _context.stop();
|
|
@@ -448,7 +479,7 @@ var Breakouts = _webexCore.WebexPlugin.extend({
|
|
|
448
479
|
* @returns {Promise}
|
|
449
480
|
*/
|
|
450
481
|
create: function create(params) {
|
|
451
|
-
var
|
|
482
|
+
var _this9 = this;
|
|
452
483
|
return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
|
|
453
484
|
var _breakInfo$body;
|
|
454
485
|
var payload, body, breakInfo;
|
|
@@ -456,17 +487,17 @@ var Breakouts = _webexCore.WebexPlugin.extend({
|
|
|
456
487
|
while (1) switch (_context2.prev = _context2.next) {
|
|
457
488
|
case 0:
|
|
458
489
|
payload = _objectSpread({}, params);
|
|
459
|
-
body = _objectSpread(_objectSpread({},
|
|
490
|
+
body = _objectSpread(_objectSpread({}, _this9.editLock && !!_this9.editLock.token ? {
|
|
460
491
|
editlock: {
|
|
461
|
-
token:
|
|
492
|
+
token: _this9.editLock.token
|
|
462
493
|
}
|
|
463
494
|
} : {}), {
|
|
464
495
|
groups: [payload]
|
|
465
496
|
}); // @ts-ignore
|
|
466
497
|
_context2.next = 4;
|
|
467
|
-
return
|
|
498
|
+
return _this9.webex.request({
|
|
468
499
|
method: _constants.HTTP_VERBS.PUT,
|
|
469
|
-
uri:
|
|
500
|
+
uri: _this9.url,
|
|
470
501
|
body: body
|
|
471
502
|
}).catch(function (error) {
|
|
472
503
|
return _promise.default.reject((0, _utils.boServiceErrorHandler)(error, 'Breakouts#create'));
|
|
@@ -474,11 +505,11 @@ var Breakouts = _webexCore.WebexPlugin.extend({
|
|
|
474
505
|
case 4:
|
|
475
506
|
breakInfo = _context2.sent;
|
|
476
507
|
if ((_breakInfo$body = breakInfo.body) !== null && _breakInfo$body !== void 0 && _breakInfo$body.groups) {
|
|
477
|
-
|
|
508
|
+
_this9.set('groups', breakInfo.body.groups);
|
|
478
509
|
}
|
|
479
510
|
|
|
480
511
|
// clear edit lock info after save breakout session info
|
|
481
|
-
|
|
512
|
+
_this9._clearEditLockInfo();
|
|
482
513
|
return _context2.abrupt("return", _promise.default.resolve(breakInfo));
|
|
483
514
|
case 8:
|
|
484
515
|
case "end":
|
|
@@ -492,16 +523,16 @@ var Breakouts = _webexCore.WebexPlugin.extend({
|
|
|
492
523
|
* @returns {Promise}
|
|
493
524
|
*/
|
|
494
525
|
clearSessions: function clearSessions() {
|
|
495
|
-
var
|
|
526
|
+
var _this10 = this;
|
|
496
527
|
return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
|
|
497
528
|
var _breakInfo$body2;
|
|
498
529
|
var body, breakInfo;
|
|
499
530
|
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
500
531
|
while (1) switch (_context3.prev = _context3.next) {
|
|
501
532
|
case 0:
|
|
502
|
-
body = _objectSpread(_objectSpread({},
|
|
533
|
+
body = _objectSpread(_objectSpread({}, _this10.editLock && !!_this10.editLock.token ? {
|
|
503
534
|
editlock: {
|
|
504
|
-
token:
|
|
535
|
+
token: _this10.editLock.token
|
|
505
536
|
}
|
|
506
537
|
} : {}), {
|
|
507
538
|
groups: [{
|
|
@@ -509,9 +540,9 @@ var Breakouts = _webexCore.WebexPlugin.extend({
|
|
|
509
540
|
}]
|
|
510
541
|
}); // @ts-ignore
|
|
511
542
|
_context3.next = 3;
|
|
512
|
-
return
|
|
543
|
+
return _this10.webex.request({
|
|
513
544
|
method: _constants.HTTP_VERBS.PUT,
|
|
514
|
-
uri:
|
|
545
|
+
uri: _this10.url,
|
|
515
546
|
body: body
|
|
516
547
|
}).catch(function (error) {
|
|
517
548
|
return _promise.default.reject((0, _utils.boServiceErrorHandler)(error, 'Breakouts#clearSessions'));
|
|
@@ -519,9 +550,9 @@ var Breakouts = _webexCore.WebexPlugin.extend({
|
|
|
519
550
|
case 3:
|
|
520
551
|
breakInfo = _context3.sent;
|
|
521
552
|
if ((_breakInfo$body2 = breakInfo.body) !== null && _breakInfo$body2 !== void 0 && _breakInfo$body2.groups) {
|
|
522
|
-
|
|
553
|
+
_this10.set('groups', breakInfo.body.groups);
|
|
523
554
|
}
|
|
524
|
-
|
|
555
|
+
_this10.shouldFetchPreassignments = false;
|
|
525
556
|
return _context3.abrupt("return", _promise.default.resolve(breakInfo));
|
|
526
557
|
case 7:
|
|
527
558
|
case "end":
|
|
@@ -626,7 +657,7 @@ var Breakouts = _webexCore.WebexPlugin.extend({
|
|
|
626
657
|
* @returns {Promise}
|
|
627
658
|
*/
|
|
628
659
|
getBreakout: function getBreakout(editlock) {
|
|
629
|
-
var
|
|
660
|
+
var _this11 = this;
|
|
630
661
|
return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {
|
|
631
662
|
var _breakout$body, _breakout$body2, _breakout$body2$editl;
|
|
632
663
|
var breakout;
|
|
@@ -634,18 +665,18 @@ var Breakouts = _webexCore.WebexPlugin.extend({
|
|
|
634
665
|
while (1) switch (_context4.prev = _context4.next) {
|
|
635
666
|
case 0:
|
|
636
667
|
_context4.next = 2;
|
|
637
|
-
return
|
|
668
|
+
return _this11.request({
|
|
638
669
|
method: _constants.HTTP_VERBS.GET,
|
|
639
|
-
uri:
|
|
670
|
+
uri: _this11.url + (editlock ? "?editlock=".concat(editlock) : '')
|
|
640
671
|
});
|
|
641
672
|
case 2:
|
|
642
673
|
breakout = _context4.sent;
|
|
643
674
|
if ((_breakout$body = breakout.body) !== null && _breakout$body !== void 0 && _breakout$body.groups) {
|
|
644
|
-
|
|
675
|
+
_this11.set('groups', breakout.body.groups);
|
|
645
676
|
}
|
|
646
677
|
if (editlock && (_breakout$body2 = breakout.body) !== null && _breakout$body2 !== void 0 && (_breakout$body2$editl = _breakout$body2.editlock) !== null && _breakout$body2$editl !== void 0 && _breakout$body2$editl.token) {
|
|
647
|
-
|
|
648
|
-
|
|
678
|
+
_this11.set('editLock', breakout.body.editlock);
|
|
679
|
+
_this11.keepEditLockAlive();
|
|
649
680
|
}
|
|
650
681
|
return _context4.abrupt("return", breakout);
|
|
651
682
|
case 6:
|
|
@@ -660,26 +691,26 @@ var Breakouts = _webexCore.WebexPlugin.extend({
|
|
|
660
691
|
* @returns {void}
|
|
661
692
|
*/
|
|
662
693
|
enableAndLockBreakout: function enableAndLockBreakout() {
|
|
663
|
-
var
|
|
694
|
+
var _this12 = this;
|
|
664
695
|
return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5() {
|
|
665
696
|
var info;
|
|
666
697
|
return _regenerator.default.wrap(function _callee5$(_context5) {
|
|
667
698
|
while (1) switch (_context5.prev = _context5.next) {
|
|
668
699
|
case 0:
|
|
669
|
-
if (!
|
|
700
|
+
if (!_this12.enableBreakoutSession) {
|
|
670
701
|
_context5.next = 4;
|
|
671
702
|
break;
|
|
672
703
|
}
|
|
673
|
-
|
|
704
|
+
_this12.lockBreakout();
|
|
674
705
|
_context5.next = 8;
|
|
675
706
|
break;
|
|
676
707
|
case 4:
|
|
677
708
|
_context5.next = 6;
|
|
678
|
-
return
|
|
709
|
+
return _this12.enableBreakouts();
|
|
679
710
|
case 6:
|
|
680
711
|
info = _context5.sent;
|
|
681
712
|
if (info.body) {
|
|
682
|
-
|
|
713
|
+
_this12.lockBreakout();
|
|
683
714
|
}
|
|
684
715
|
case 8:
|
|
685
716
|
case "end":
|
|
@@ -693,33 +724,33 @@ var Breakouts = _webexCore.WebexPlugin.extend({
|
|
|
693
724
|
* @returns {void}
|
|
694
725
|
*/
|
|
695
726
|
lockBreakout: function lockBreakout() {
|
|
696
|
-
var
|
|
727
|
+
var _this13 = this;
|
|
697
728
|
return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6() {
|
|
698
729
|
var _breakout$body3, breakout;
|
|
699
730
|
return _regenerator.default.wrap(function _callee6$(_context6) {
|
|
700
731
|
while (1) switch (_context6.prev = _context6.next) {
|
|
701
732
|
case 0:
|
|
702
|
-
if (!(
|
|
733
|
+
if (!(_this13.editLock && !!_this13.editLock.token)) {
|
|
703
734
|
_context6.next = 8;
|
|
704
735
|
break;
|
|
705
736
|
}
|
|
706
|
-
if (!(
|
|
737
|
+
if (!(_this13.editLock.state === _constants.BREAKOUTS.EDIT_LOCK_STATUS.LOCKED)) {
|
|
707
738
|
_context6.next = 5;
|
|
708
739
|
break;
|
|
709
740
|
}
|
|
710
741
|
throw new Error('Breakout already locked');
|
|
711
742
|
case 5:
|
|
712
|
-
|
|
743
|
+
_this13.keepEditLockAlive();
|
|
713
744
|
case 6:
|
|
714
745
|
_context6.next = 12;
|
|
715
746
|
break;
|
|
716
747
|
case 8:
|
|
717
748
|
_context6.next = 10;
|
|
718
|
-
return
|
|
749
|
+
return _this13.getBreakout(true);
|
|
719
750
|
case 10:
|
|
720
751
|
breakout = _context6.sent;
|
|
721
752
|
if ((_breakout$body3 = breakout.body) !== null && _breakout$body3 !== void 0 && _breakout$body3.editlock) {
|
|
722
|
-
|
|
753
|
+
_this13.keepEditLockAlive();
|
|
723
754
|
}
|
|
724
755
|
case 12:
|
|
725
756
|
case "end":
|
|
@@ -733,18 +764,18 @@ var Breakouts = _webexCore.WebexPlugin.extend({
|
|
|
733
764
|
* @returns {void}
|
|
734
765
|
*/
|
|
735
766
|
keepEditLockAlive: function keepEditLockAlive() {
|
|
736
|
-
var
|
|
767
|
+
var _this14 = this;
|
|
737
768
|
if (this.editLock && !!this.editLock.token) {
|
|
738
769
|
var ttl = this.editLock.ttl < 30 ? _constants.BREAKOUTS.DEFAULT_TTL : this.editLock.ttl;
|
|
739
770
|
if (this.intervalID) {
|
|
740
771
|
window.clearInterval(this.intervalID);
|
|
741
772
|
}
|
|
742
773
|
this.intervalID = window.setInterval(function () {
|
|
743
|
-
|
|
774
|
+
_this14.request({
|
|
744
775
|
method: _constants.HTTP_VERBS.PUT,
|
|
745
|
-
uri: "".concat(
|
|
776
|
+
uri: "".concat(_this14.url, "/editlock/").concat(_this14.editLock.token)
|
|
746
777
|
}).catch(function (error) {
|
|
747
|
-
|
|
778
|
+
_this14._clearEditLockInfo();
|
|
748
779
|
return _promise.default.reject((0, _utils.boServiceErrorHandler)(error, 'Breakouts#keepEditLockAlive'));
|
|
749
780
|
});
|
|
750
781
|
}, ttl / 2 * 1000);
|
|
@@ -755,13 +786,13 @@ var Breakouts = _webexCore.WebexPlugin.extend({
|
|
|
755
786
|
* @returns {void}
|
|
756
787
|
*/
|
|
757
788
|
unLockEditBreakout: function unLockEditBreakout() {
|
|
758
|
-
var
|
|
789
|
+
var _this15 = this;
|
|
759
790
|
if (this.editLock && !!this.editLock.token) {
|
|
760
791
|
this.request({
|
|
761
792
|
method: _constants.HTTP_VERBS.DELETE,
|
|
762
793
|
uri: "".concat(this.url, "/editlock/").concat(this.editLock.token)
|
|
763
794
|
}).then(function () {
|
|
764
|
-
|
|
795
|
+
_this15._clearEditLockInfo();
|
|
765
796
|
}).catch(function (error) {
|
|
766
797
|
return _promise.default.reject((0, _utils.boServiceErrorHandler)(error, 'Breakouts#unLockEditBreakout'));
|
|
767
798
|
});
|
|
@@ -811,10 +842,14 @@ var Breakouts = _webexCore.WebexPlugin.extend({
|
|
|
811
842
|
},
|
|
812
843
|
/**
|
|
813
844
|
* The pre-assignments need to be queried when "hasBreakoutPreAssignments" is true
|
|
845
|
+
* @param {Object} params
|
|
814
846
|
* @returns {void}
|
|
815
847
|
*/
|
|
816
|
-
queryPreAssignments: function queryPreAssignments() {
|
|
817
|
-
var
|
|
848
|
+
queryPreAssignments: function queryPreAssignments(params) {
|
|
849
|
+
var _this16 = this;
|
|
850
|
+
if (!params || !params.enableBreakoutSession || !params.hasBreakoutPreAssignments) {
|
|
851
|
+
return;
|
|
852
|
+
}
|
|
818
853
|
if (!this.shouldFetchPreassignments) {
|
|
819
854
|
this.webex.request({
|
|
820
855
|
uri: "".concat(this.url, "/preassignments"),
|
|
@@ -824,7 +859,7 @@ var Breakouts = _webexCore.WebexPlugin.extend({
|
|
|
824
859
|
}).then(function (result) {
|
|
825
860
|
var _result$body;
|
|
826
861
|
if ((_result$body = result.body) !== null && _result$body !== void 0 && _result$body.groups) {
|
|
827
|
-
|
|
862
|
+
_this16.set('groups', result.body.groups);
|
|
828
863
|
}
|
|
829
864
|
}).catch(function (error) {
|
|
830
865
|
_loggerProxy.default.logger.error('Meeting:breakouts#queryPreAssignments failed', error);
|
|
@@ -862,7 +897,17 @@ var Breakouts = _webexCore.WebexPlugin.extend({
|
|
|
862
897
|
body: body
|
|
863
898
|
});
|
|
864
899
|
},
|
|
865
|
-
|
|
900
|
+
/**
|
|
901
|
+
* trigger ASK_RETURN_TO_MAIN event when main session requested
|
|
902
|
+
* @param {Object} breakout
|
|
903
|
+
* @returns {void}
|
|
904
|
+
*/
|
|
905
|
+
triggerReturnToMainEvent: function triggerReturnToMainEvent(breakout) {
|
|
906
|
+
if (breakout.isMain && breakout.requested) {
|
|
907
|
+
this.trigger(_constants.BREAKOUTS.EVENTS.ASK_RETURN_TO_MAIN);
|
|
908
|
+
}
|
|
909
|
+
},
|
|
910
|
+
version: "3.0.0-beta.95"
|
|
866
911
|
});
|
|
867
912
|
var _default = Breakouts;
|
|
868
913
|
exports.default = _default;
|