@webex/plugin-meetings 3.0.0-beta.25 → 3.0.0-beta.26
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 +1 -1
- package/dist/breakouts/index.js +1 -1
- package/dist/constants.js +5 -1
- 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 +15 -0
- package/dist/controls-options-manager/enums.js.map +1 -0
- package/dist/controls-options-manager/index.js +203 -0
- package/dist/controls-options-manager/index.js.map +1 -0
- package/dist/controls-options-manager/util.js +28 -0
- package/dist/controls-options-manager/util.js.map +1 -0
- package/dist/meeting/in-meeting-actions.js +8 -0
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +59 -12
- package/dist/meeting/index.js.map +1 -1
- package/dist/types/constants.d.ts +4 -0
- package/dist/types/controls-options-manager/constants.d.ts +4 -0
- package/dist/types/controls-options-manager/enums.d.ts +5 -0
- package/dist/types/controls-options-manager/index.d.ts +120 -0
- package/dist/types/controls-options-manager/util.d.ts +7 -0
- package/dist/types/meeting/in-meeting-actions.d.ts +8 -0
- package/dist/types/meeting/index.d.ts +18 -0
- package/package.json +18 -18
- package/src/constants.ts +4 -0
- package/src/controls-options-manager/constants.ts +5 -0
- package/src/controls-options-manager/enums.ts +6 -0
- package/src/controls-options-manager/index.ts +183 -0
- package/src/controls-options-manager/util.ts +20 -0
- package/src/meeting/in-meeting-actions.ts +16 -0
- package/src/meeting/index.ts +49 -0
- package/test/unit/spec/controls-options-manager/index.js +124 -0
- package/test/unit/spec/controls-options-manager/util.js +66 -0
- package/test/unit/spec/meeting/in-meeting-actions.ts +8 -0
- package/test/unit/spec/meeting/index.js +15 -0
|
@@ -0,0 +1,203 @@
|
|
|
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 _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
|
|
10
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
|
|
11
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
|
|
12
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
|
|
13
|
+
var _camelCase3 = _interopRequireDefault(require("lodash/camelCase"));
|
|
14
|
+
var _permission = _interopRequireDefault(require("../common/errors/permission"));
|
|
15
|
+
var _constants = require("../constants");
|
|
16
|
+
var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy"));
|
|
17
|
+
var _enums = _interopRequireDefault(require("./enums"));
|
|
18
|
+
var _util = _interopRequireDefault(require("./util"));
|
|
19
|
+
var _constants2 = require("./constants");
|
|
20
|
+
/**
|
|
21
|
+
* docs
|
|
22
|
+
* https://sqbu-github.cisco.com/pages/WebExSquared/locus/guides/mute.html
|
|
23
|
+
* https://confluence-eng-gpk2.cisco.com/conf/display/LOCUS/Hard+Mute+and+Audio+Privacy#HardMuteandAudioPrivacy-SelfMuteonEntry
|
|
24
|
+
* https://confluence-eng-gpk2.cisco.com/conf/pages/viewpage.action?spaceKey=UC&title=WEBEX-124454%3A+UCF%3A+Hard+mute+support+for+Teams+joining+Webex+meeting
|
|
25
|
+
* https://jira-eng-gpk2.cisco.com/jira/browse/SPARK-180867
|
|
26
|
+
* https://jira-eng-gpk2.cisco.com/jira/browse/SPARK-393351
|
|
27
|
+
*/
|
|
28
|
+
/**
|
|
29
|
+
* @description ControlsOptionsManager is responsible for handling the behavior of participant controls when somebody joins a meeting
|
|
30
|
+
* @export
|
|
31
|
+
* @private
|
|
32
|
+
* @class Recording
|
|
33
|
+
*/
|
|
34
|
+
var ControlsOptionsManager = /*#__PURE__*/function () {
|
|
35
|
+
/**
|
|
36
|
+
* @instance
|
|
37
|
+
* @type {MeetingRequest}
|
|
38
|
+
* @private
|
|
39
|
+
* @memberof ControlsOptionsManager
|
|
40
|
+
*/
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* @instance
|
|
44
|
+
* @type {Array}
|
|
45
|
+
* @private
|
|
46
|
+
* @memberof ControlsOptionsManager
|
|
47
|
+
*/
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* @instance
|
|
51
|
+
* @type {string}
|
|
52
|
+
* @private
|
|
53
|
+
* @memberof ControlsOptionsManager
|
|
54
|
+
*/
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* @param {MeetingRequest} request
|
|
58
|
+
* @param {Object} options
|
|
59
|
+
* @constructor
|
|
60
|
+
* @memberof ControlsOptionsManager
|
|
61
|
+
*/
|
|
62
|
+
function ControlsOptionsManager(request, options) {
|
|
63
|
+
(0, _classCallCheck2.default)(this, ControlsOptionsManager);
|
|
64
|
+
(0, _defineProperty2.default)(this, "request", void 0);
|
|
65
|
+
(0, _defineProperty2.default)(this, "displayHints", []);
|
|
66
|
+
(0, _defineProperty2.default)(this, "locusUrl", void 0);
|
|
67
|
+
this.initialize(request);
|
|
68
|
+
this.set(options);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* @param {MeetingRequest} request
|
|
73
|
+
* @returns {void}
|
|
74
|
+
* @private
|
|
75
|
+
* @memberof ControlsOptionsManager
|
|
76
|
+
*/
|
|
77
|
+
(0, _createClass2.default)(ControlsOptionsManager, [{
|
|
78
|
+
key: "initialize",
|
|
79
|
+
value: function initialize(request) {
|
|
80
|
+
this.request = request;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* @param {Object} options
|
|
85
|
+
* @returns {void}
|
|
86
|
+
* @public
|
|
87
|
+
* @memberof ControlsOptionsManager
|
|
88
|
+
*/
|
|
89
|
+
}, {
|
|
90
|
+
key: "set",
|
|
91
|
+
value: function set(options) {
|
|
92
|
+
this.extract(options);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* @param {string} url
|
|
97
|
+
* @returns {void}
|
|
98
|
+
* @public
|
|
99
|
+
* @memberof ControlsOptionsManager
|
|
100
|
+
*/
|
|
101
|
+
}, {
|
|
102
|
+
key: "setLocusUrl",
|
|
103
|
+
value: function setLocusUrl(url) {
|
|
104
|
+
this.locusUrl = url;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* @param {Array} hints
|
|
109
|
+
* @returns {void}
|
|
110
|
+
* @public
|
|
111
|
+
* @memberof ControlsOptionsManager
|
|
112
|
+
*/
|
|
113
|
+
}, {
|
|
114
|
+
key: "setDisplayHints",
|
|
115
|
+
value: function setDisplayHints(hints) {
|
|
116
|
+
this.displayHints = hints;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* @returns {string}
|
|
121
|
+
* @public
|
|
122
|
+
* @memberof ControlsOptionsManager
|
|
123
|
+
*/
|
|
124
|
+
}, {
|
|
125
|
+
key: "getLocusUrl",
|
|
126
|
+
value: function getLocusUrl() {
|
|
127
|
+
return this.locusUrl;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* @returns {Array}
|
|
132
|
+
* @public
|
|
133
|
+
* @memberof ControlsOptionsManager
|
|
134
|
+
*/
|
|
135
|
+
}, {
|
|
136
|
+
key: "getDisplayHints",
|
|
137
|
+
value: function getDisplayHints() {
|
|
138
|
+
return this.displayHints;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* @param {Object} options
|
|
143
|
+
* @returns {void}
|
|
144
|
+
* @private
|
|
145
|
+
* @memberof ControlsOptionsManager
|
|
146
|
+
*/
|
|
147
|
+
}, {
|
|
148
|
+
key: "extract",
|
|
149
|
+
value: function extract(options) {
|
|
150
|
+
this.setDisplayHints(options === null || options === void 0 ? void 0 : options.displayHints);
|
|
151
|
+
this.setLocusUrl(options === null || options === void 0 ? void 0 : options.locusUrl);
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
* @param {Setting} setting
|
|
156
|
+
* @param {boolean} enabled
|
|
157
|
+
* @private
|
|
158
|
+
* @memberof ControlsOptionsManager
|
|
159
|
+
* @returns {Promise}
|
|
160
|
+
*/
|
|
161
|
+
}, {
|
|
162
|
+
key: "setControls",
|
|
163
|
+
value: function setControls(setting, enabled) {
|
|
164
|
+
_loggerProxy.default.logger.log("ControlsOptionsManager:index#setControls --> ".concat(setting, " [").concat(enabled, "]"));
|
|
165
|
+
if (_util.default !== null && _util.default !== void 0 && _util.default["".concat(enabled ? _constants2.CAN_SET : _constants2.CAN_UNSET).concat(setting)](this.displayHints)) {
|
|
166
|
+
// @ts-ignore
|
|
167
|
+
return this.request.request({
|
|
168
|
+
uri: "".concat(this.locusUrl, "/").concat(_constants.CONTROLS),
|
|
169
|
+
body: (0, _defineProperty2.default)({}, (0, _camelCase3.default)(setting), (0, _defineProperty2.default)({}, _constants2.ENABLED, enabled)),
|
|
170
|
+
method: _constants.HTTP_VERBS.PATCH
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
return _promise.default.reject(new _permission.default("".concat(setting, " [").concat(enabled, "] not allowed, due to moderator property.")));
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
/**
|
|
177
|
+
* @public
|
|
178
|
+
* @param {boolean} enabled
|
|
179
|
+
* @memberof ControlsOptionsManager
|
|
180
|
+
* @returns {Promise}
|
|
181
|
+
*/
|
|
182
|
+
}, {
|
|
183
|
+
key: "setMuteOnEntry",
|
|
184
|
+
value: function setMuteOnEntry(enabled) {
|
|
185
|
+
return this.setControls(_enums.default.muteOnEntry, enabled);
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
/**
|
|
189
|
+
* @public
|
|
190
|
+
* @param {boolean} enabled
|
|
191
|
+
* @memberof ControlsOptionsManager
|
|
192
|
+
* @returns {Promise}
|
|
193
|
+
*/
|
|
194
|
+
}, {
|
|
195
|
+
key: "setDisallowUnmute",
|
|
196
|
+
value: function setDisallowUnmute(enabled) {
|
|
197
|
+
return this.setControls(_enums.default.disallowUnmute, enabled);
|
|
198
|
+
}
|
|
199
|
+
}]);
|
|
200
|
+
return ControlsOptionsManager;
|
|
201
|
+
}();
|
|
202
|
+
exports.default = ControlsOptionsManager;
|
|
203
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ControlsOptionsManager","request","options","initialize","set","extract","url","locusUrl","hints","displayHints","setDisplayHints","setLocusUrl","setting","enabled","LoggerProxy","logger","log","Util","CAN_SET","CAN_UNSET","uri","CONTROLS","body","ENABLED","method","HTTP_VERBS","PATCH","reject","PermissionError","setControls","Setting","muteOnEntry","disallowUnmute"],"sources":["index.ts"],"sourcesContent":["import {camelCase} from 'lodash';\nimport PermissionError from '../common/errors/permission';\nimport {CONTROLS, HTTP_VERBS} from '../constants';\nimport MeetingRequest from '../meeting/request';\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport Setting from './enums';\nimport Util from './util';\nimport {CAN_SET, CAN_UNSET, ENABLED} from './constants';\n\n/**\n * docs\n * https://sqbu-github.cisco.com/pages/WebExSquared/locus/guides/mute.html\n * https://confluence-eng-gpk2.cisco.com/conf/display/LOCUS/Hard+Mute+and+Audio+Privacy#HardMuteandAudioPrivacy-SelfMuteonEntry\n * https://confluence-eng-gpk2.cisco.com/conf/pages/viewpage.action?spaceKey=UC&title=WEBEX-124454%3A+UCF%3A+Hard+mute+support+for+Teams+joining+Webex+meeting\n * https://jira-eng-gpk2.cisco.com/jira/browse/SPARK-180867\n * https://jira-eng-gpk2.cisco.com/jira/browse/SPARK-393351\n */\n\n/**\n * @description ControlsOptionsManager is responsible for handling the behavior of participant controls when somebody joins a meeting\n * @export\n * @private\n * @class Recording\n */\nexport default class ControlsOptionsManager {\n /**\n * @instance\n * @type {MeetingRequest}\n * @private\n * @memberof ControlsOptionsManager\n */\n private request: MeetingRequest;\n\n /**\n * @instance\n * @type {Array}\n * @private\n * @memberof ControlsOptionsManager\n */\n private displayHints: Array<string> = [];\n\n /**\n * @instance\n * @type {string}\n * @private\n * @memberof ControlsOptionsManager\n */\n private locusUrl: string;\n\n /**\n * @param {MeetingRequest} request\n * @param {Object} options\n * @constructor\n * @memberof ControlsOptionsManager\n */\n constructor(\n request: MeetingRequest,\n options?: {\n locusUrl: string;\n displayHints?: Array<string>;\n }\n ) {\n this.initialize(request);\n this.set(options);\n }\n\n /**\n * @param {MeetingRequest} request\n * @returns {void}\n * @private\n * @memberof ControlsOptionsManager\n */\n private initialize(request: MeetingRequest) {\n this.request = request;\n }\n\n /**\n * @param {Object} options\n * @returns {void}\n * @public\n * @memberof ControlsOptionsManager\n */\n public set(options?: {locusUrl: string; displayHints?: Array<string>}) {\n this.extract(options);\n }\n\n /**\n * @param {string} url\n * @returns {void}\n * @public\n * @memberof ControlsOptionsManager\n */\n public setLocusUrl(url: string) {\n this.locusUrl = url;\n }\n\n /**\n * @param {Array} hints\n * @returns {void}\n * @public\n * @memberof ControlsOptionsManager\n */\n public setDisplayHints(hints: Array<string>) {\n this.displayHints = hints;\n }\n\n /**\n * @returns {string}\n * @public\n * @memberof ControlsOptionsManager\n */\n public getLocusUrl() {\n return this.locusUrl;\n }\n\n /**\n * @returns {Array}\n * @public\n * @memberof ControlsOptionsManager\n */\n public getDisplayHints() {\n return this.displayHints;\n }\n\n /**\n * @param {Object} options\n * @returns {void}\n * @private\n * @memberof ControlsOptionsManager\n */\n private extract(options?: {locusUrl: string; displayHints?: Array<string>}) {\n this.setDisplayHints(options?.displayHints);\n this.setLocusUrl(options?.locusUrl);\n }\n\n /**\n * @param {Setting} setting\n * @param {boolean} enabled\n * @private\n * @memberof ControlsOptionsManager\n * @returns {Promise}\n */\n private setControls(setting: Setting, enabled: boolean): Promise<any> {\n LoggerProxy.logger.log(`ControlsOptionsManager:index#setControls --> ${setting} [${enabled}]`);\n\n if (Util?.[`${enabled ? CAN_SET : CAN_UNSET}${setting}`](this.displayHints)) {\n // @ts-ignore\n return this.request.request({\n uri: `${this.locusUrl}/${CONTROLS}`,\n body: {\n [camelCase(setting)]: {\n [ENABLED]: enabled,\n },\n },\n method: HTTP_VERBS.PATCH,\n });\n }\n\n return Promise.reject(\n new PermissionError(`${setting} [${enabled}] not allowed, due to moderator property.`)\n );\n }\n\n /**\n * @public\n * @param {boolean} enabled\n * @memberof ControlsOptionsManager\n * @returns {Promise}\n */\n public setMuteOnEntry(enabled: boolean): Promise<any> {\n return this.setControls(Setting.muteOnEntry, enabled);\n }\n\n /**\n * @public\n * @param {boolean} enabled\n * @memberof ControlsOptionsManager\n * @returns {Promise}\n */\n public setDisallowUnmute(enabled: boolean): Promise<any> {\n return this.setControls(Setting.disallowUnmute, enabled);\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
4
|
+
_Object$defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
var _constants = require("../constants");
|
|
9
|
+
var canSetMuteOnEntry = function canSetMuteOnEntry(displayHints) {
|
|
10
|
+
return displayHints.includes(_constants.DISPLAY_HINTS.ENABLE_MUTE_ON_ENTRY);
|
|
11
|
+
};
|
|
12
|
+
var canSetDisallowUnmute = function canSetDisallowUnmute(displayHints) {
|
|
13
|
+
return displayHints.includes(_constants.DISPLAY_HINTS.ENABLE_HARD_MUTE);
|
|
14
|
+
};
|
|
15
|
+
var canUnsetMuteOnEntry = function canUnsetMuteOnEntry(displayHints) {
|
|
16
|
+
return displayHints.includes(_constants.DISPLAY_HINTS.DISABLE_MUTE_ON_ENTRY);
|
|
17
|
+
};
|
|
18
|
+
var canUnsetDisallowUnmute = function canUnsetDisallowUnmute(displayHints) {
|
|
19
|
+
return displayHints.includes(_constants.DISPLAY_HINTS.DISABLE_HARD_MUTE);
|
|
20
|
+
};
|
|
21
|
+
var _default = {
|
|
22
|
+
canSetMuteOnEntry: canSetMuteOnEntry,
|
|
23
|
+
canSetDisallowUnmute: canSetDisallowUnmute,
|
|
24
|
+
canUnsetMuteOnEntry: canUnsetMuteOnEntry,
|
|
25
|
+
canUnsetDisallowUnmute: canUnsetDisallowUnmute
|
|
26
|
+
};
|
|
27
|
+
exports.default = _default;
|
|
28
|
+
//# sourceMappingURL=util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["canSetMuteOnEntry","displayHints","includes","DISPLAY_HINTS","ENABLE_MUTE_ON_ENTRY","canSetDisallowUnmute","ENABLE_HARD_MUTE","canUnsetMuteOnEntry","DISABLE_MUTE_ON_ENTRY","canUnsetDisallowUnmute","DISABLE_HARD_MUTE"],"sources":["util.ts"],"sourcesContent":["import {DISPLAY_HINTS} from '../constants';\n\nconst canSetMuteOnEntry = (displayHints: Array<string>): boolean =>\n displayHints.includes(DISPLAY_HINTS.ENABLE_MUTE_ON_ENTRY);\n\nconst canSetDisallowUnmute = (displayHints: Array<string>): boolean =>\n displayHints.includes(DISPLAY_HINTS.ENABLE_HARD_MUTE);\n\nconst canUnsetMuteOnEntry = (displayHints: Array<string>): boolean =>\n displayHints.includes(DISPLAY_HINTS.DISABLE_MUTE_ON_ENTRY);\n\nconst canUnsetDisallowUnmute = (displayHints: Array<string>): boolean =>\n displayHints.includes(DISPLAY_HINTS.DISABLE_HARD_MUTE);\n\nexport default {\n canSetMuteOnEntry,\n canSetDisallowUnmute,\n canUnsetMuteOnEntry,\n canUnsetDisallowUnmute,\n};\n"],"mappings":";;;;;;;AAAA;AAEA,IAAMA,iBAAiB,GAAG,SAApBA,iBAAiB,CAAIC,YAA2B;EAAA,OACpDA,YAAY,CAACC,QAAQ,CAACC,wBAAa,CAACC,oBAAoB,CAAC;AAAA;AAE3D,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoB,CAAIJ,YAA2B;EAAA,OACvDA,YAAY,CAACC,QAAQ,CAACC,wBAAa,CAACG,gBAAgB,CAAC;AAAA;AAEvD,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmB,CAAIN,YAA2B;EAAA,OACtDA,YAAY,CAACC,QAAQ,CAACC,wBAAa,CAACK,qBAAqB,CAAC;AAAA;AAE5D,IAAMC,sBAAsB,GAAG,SAAzBA,sBAAsB,CAAIR,YAA2B;EAAA,OACzDA,YAAY,CAACC,QAAQ,CAACC,wBAAa,CAACO,iBAAiB,CAAC;AAAA;AAAC,eAE1C;EACbV,iBAAiB,EAAjBA,iBAAiB;EACjBK,oBAAoB,EAApBA,oBAAoB;EACpBE,mBAAmB,EAAnBA,mBAAmB;EACnBE,sBAAsB,EAAtBA;AACF,CAAC;AAAA"}
|
|
@@ -30,6 +30,10 @@ var InMeetingActions = /*#__PURE__*/(0, _createClass2.default)(function InMeetin
|
|
|
30
30
|
(0, _defineProperty2.default)(this, "canPauseRecording", null);
|
|
31
31
|
(0, _defineProperty2.default)(this, "canResumeRecording", null);
|
|
32
32
|
(0, _defineProperty2.default)(this, "canStopRecording", null);
|
|
33
|
+
(0, _defineProperty2.default)(this, "canSetMuteOnEntry", null);
|
|
34
|
+
(0, _defineProperty2.default)(this, "canUnsetMuteOnEntry", null);
|
|
35
|
+
(0, _defineProperty2.default)(this, "canSetDisallowUnmute", null);
|
|
36
|
+
(0, _defineProperty2.default)(this, "canUnsetDisallowUnmute", null);
|
|
33
37
|
(0, _defineProperty2.default)(this, "canRaiseHand", null);
|
|
34
38
|
(0, _defineProperty2.default)(this, "canLowerAllHands", null);
|
|
35
39
|
(0, _defineProperty2.default)(this, "canLowerSomeoneElsesHand", null);
|
|
@@ -52,6 +56,10 @@ var InMeetingActions = /*#__PURE__*/(0, _createClass2.default)(function InMeetin
|
|
|
52
56
|
canLock: _this.canLock,
|
|
53
57
|
canUnlock: _this.canUnlock,
|
|
54
58
|
canAssignHost: _this.canAssignHost,
|
|
59
|
+
canSetMuteOnEntry: _this.canSetMuteOnEntry,
|
|
60
|
+
canUnsetMuteOnEntry: _this.canUnsetMuteOnEntry,
|
|
61
|
+
canSetDisallowUnmute: _this.canSetDisallowUnmute,
|
|
62
|
+
canUnsetDisallowUnmute: _this.canUnsetDisallowUnmute,
|
|
55
63
|
canStartRecording: _this.canStartRecording,
|
|
56
64
|
canPauseRecording: _this.canPauseRecording,
|
|
57
65
|
canResumeRecording: _this.canResumeRecording,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["InMeetingActions","MEETINGS","canInviteNewParticipants","canAdmitParticipant","canLock","canUnlock","canAssignHost","canStartRecording","canPauseRecording","canResumeRecording","canStopRecording","canRaiseHand","canLowerAllHands","canLowerSomeoneElsesHand","bothLeaveAndEndMeetingAvailable","canEnableClosedCaption","canStartTranscribing","canStopTranscribing","isClosedCaptionActive","isWebexAssistantActive","canViewCaptionPanel","isRealTimeTranslationEnabled","canSelectSpokenLanguages","waitingForOthersToJoin","canEnableReactions","canSendReactions","actions","old","get","changed","forEach","actionKey","actionValue","undefined"],"sources":["in-meeting-actions.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {MEETINGS} from '../constants';\n\n/**\n * IInMeetingActions\n * Type for In-Meeting Actions\n */\ninterface IInMeetingActions {\n canInviteNewParticipants?: boolean;\n canAdmitParticipant?: boolean;\n canLock?: boolean;\n canUnlock?: boolean;\n canAssignHost?: boolean;\n canStartRecording?: boolean;\n canPauseRecording?: boolean;\n canResumeRecording?: boolean;\n canStopRecording?: boolean;\n canRaiseHand?: boolean;\n canLowerAllHands?: boolean;\n canLowerSomeoneElsesHand?: boolean;\n bothLeaveAndEndMeetingAvailable?: boolean;\n canEnableClosedCaption?: boolean;\n canStartTranscribing?: boolean;\n canStopTranscribing?: boolean;\n isClosedCaptionActive?: boolean;\n isWebexAssistantActive?: boolean;\n canViewCaptionPanel?: boolean;\n isRealTimeTranslationEnabled?: boolean;\n canSelectSpokenLanguages?: boolean;\n waitingForOthersToJoin?: boolean;\n canEnableReactions?: boolean;\n canSendReactions?: boolean;\n}\n\n/**\n * @class InMeetingActions\n */\nexport default class InMeetingActions implements IInMeetingActions {\n namespace = MEETINGS;\n\n canInviteNewParticipants = null;\n\n canAdmitParticipant = null;\n\n canLock = null;\n\n canUnlock = null;\n\n canAssignHost = null;\n\n canStartRecording = null;\n\n canPauseRecording = null;\n\n canResumeRecording = null;\n\n canStopRecording = null;\n\n canRaiseHand = null;\n\n canLowerAllHands = null;\n\n canLowerSomeoneElsesHand = null;\n\n bothLeaveAndEndMeetingAvailable = null;\n\n canEnableClosedCaption = null;\n\n canStartTranscribing = null;\n\n canStopTranscribing = null;\n\n isClosedCaptionActive = null;\n\n isWebexAssistantActive = null;\n\n canViewCaptionPanel = null;\n\n isRealTimeTranslationEnabled = null;\n\n canSelectSpokenLanguages = null;\n\n waitingForOthersToJoin = null;\n\n canEnableReactions = null;\n\n canSendReactions = null;\n\n /**\n * Returns all meeting action options\n * @returns {Object}\n */\n get = (): IInMeetingActions => ({\n canInviteNewParticipants: this.canInviteNewParticipants,\n canAdmitParticipant: this.canAdmitParticipant,\n canLock: this.canLock,\n canUnlock: this.canUnlock,\n canAssignHost: this.canAssignHost,\n canStartRecording: this.canStartRecording,\n canPauseRecording: this.canPauseRecording,\n canResumeRecording: this.canResumeRecording,\n canStopRecording: this.canStopRecording,\n canRaiseHand: this.canRaiseHand,\n canLowerAllHands: this.canLowerAllHands,\n canLowerSomeoneElsesHand: this.canLowerSomeoneElsesHand,\n bothLeaveAndEndMeetingAvailable: this.bothLeaveAndEndMeetingAvailable,\n canEnableClosedCaption: this.canEnableClosedCaption,\n canStartTranscribing: this.canStartTranscribing,\n canStopTranscribing: this.canStopTranscribing,\n isClosedCaptionActive: this.isClosedCaptionActive,\n isWebexAssistantActive: this.isWebexAssistantActive,\n canViewCaptionPanel: this.canViewCaptionPanel,\n isRealTimeTranslationEnabled: this.isRealTimeTranslationEnabled,\n canSelectSpokenLanguages: this.canSelectSpokenLanguages,\n waitingForOthersToJoin: this.waitingForOthersToJoin,\n canEnableReactions: this.canEnableReactions,\n canSendReactions: this.canSendReactions,\n });\n\n /**\n *\n * @param actions\n * @returns\n */\n\n set = (actions: Partial<IInMeetingActions>) => {\n const old = this.get();\n\n let changed = false;\n\n Object.keys(old).forEach((actionKey) => {\n const actionValue = actions[actionKey];\n\n if (actionValue !== undefined && actionValue !== old[actionKey]) {\n changed = true;\n this[actionKey] = actionValue;\n }\n });\n\n return changed;\n };\n}\n"],"mappings":";;;;;;;;;;;;AAIA;AAJA;AACA;AACA;
|
|
1
|
+
{"version":3,"names":["InMeetingActions","MEETINGS","canInviteNewParticipants","canAdmitParticipant","canLock","canUnlock","canAssignHost","canSetMuteOnEntry","canUnsetMuteOnEntry","canSetDisallowUnmute","canUnsetDisallowUnmute","canStartRecording","canPauseRecording","canResumeRecording","canStopRecording","canRaiseHand","canLowerAllHands","canLowerSomeoneElsesHand","bothLeaveAndEndMeetingAvailable","canEnableClosedCaption","canStartTranscribing","canStopTranscribing","isClosedCaptionActive","isWebexAssistantActive","canViewCaptionPanel","isRealTimeTranslationEnabled","canSelectSpokenLanguages","waitingForOthersToJoin","canEnableReactions","canSendReactions","actions","old","get","changed","forEach","actionKey","actionValue","undefined"],"sources":["in-meeting-actions.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {MEETINGS} from '../constants';\n\n/**\n * IInMeetingActions\n * Type for In-Meeting Actions\n */\ninterface IInMeetingActions {\n canInviteNewParticipants?: boolean;\n canAdmitParticipant?: boolean;\n canLock?: boolean;\n canUnlock?: boolean;\n canSetMuteOnEntry?: boolean;\n canUnsetMuteOnEntry?: boolean;\n canSetDisallowUnmute?: boolean;\n canUnsetDisallowUnmute?: boolean;\n canAssignHost?: boolean;\n canStartRecording?: boolean;\n canPauseRecording?: boolean;\n canResumeRecording?: boolean;\n canStopRecording?: boolean;\n canRaiseHand?: boolean;\n canLowerAllHands?: boolean;\n canLowerSomeoneElsesHand?: boolean;\n bothLeaveAndEndMeetingAvailable?: boolean;\n canEnableClosedCaption?: boolean;\n canStartTranscribing?: boolean;\n canStopTranscribing?: boolean;\n isClosedCaptionActive?: boolean;\n isWebexAssistantActive?: boolean;\n canViewCaptionPanel?: boolean;\n isRealTimeTranslationEnabled?: boolean;\n canSelectSpokenLanguages?: boolean;\n waitingForOthersToJoin?: boolean;\n canEnableReactions?: boolean;\n canSendReactions?: boolean;\n}\n\n/**\n * @class InMeetingActions\n */\nexport default class InMeetingActions implements IInMeetingActions {\n namespace = MEETINGS;\n\n canInviteNewParticipants = null;\n\n canAdmitParticipant = null;\n\n canLock = null;\n\n canUnlock = null;\n\n canAssignHost = null;\n\n canStartRecording = null;\n\n canPauseRecording = null;\n\n canResumeRecording = null;\n\n canStopRecording = null;\n\n canSetMuteOnEntry = null;\n\n canUnsetMuteOnEntry = null;\n\n canSetDisallowUnmute = null;\n\n canUnsetDisallowUnmute = null;\n\n canRaiseHand = null;\n\n canLowerAllHands = null;\n\n canLowerSomeoneElsesHand = null;\n\n bothLeaveAndEndMeetingAvailable = null;\n\n canEnableClosedCaption = null;\n\n canStartTranscribing = null;\n\n canStopTranscribing = null;\n\n isClosedCaptionActive = null;\n\n isWebexAssistantActive = null;\n\n canViewCaptionPanel = null;\n\n isRealTimeTranslationEnabled = null;\n\n canSelectSpokenLanguages = null;\n\n waitingForOthersToJoin = null;\n\n canEnableReactions = null;\n\n canSendReactions = null;\n\n /**\n * Returns all meeting action options\n * @returns {Object}\n */\n get = (): IInMeetingActions => ({\n canInviteNewParticipants: this.canInviteNewParticipants,\n canAdmitParticipant: this.canAdmitParticipant,\n canLock: this.canLock,\n canUnlock: this.canUnlock,\n canAssignHost: this.canAssignHost,\n canSetMuteOnEntry: this.canSetMuteOnEntry,\n canUnsetMuteOnEntry: this.canUnsetMuteOnEntry,\n canSetDisallowUnmute: this.canSetDisallowUnmute,\n canUnsetDisallowUnmute: this.canUnsetDisallowUnmute,\n canStartRecording: this.canStartRecording,\n canPauseRecording: this.canPauseRecording,\n canResumeRecording: this.canResumeRecording,\n canStopRecording: this.canStopRecording,\n canRaiseHand: this.canRaiseHand,\n canLowerAllHands: this.canLowerAllHands,\n canLowerSomeoneElsesHand: this.canLowerSomeoneElsesHand,\n bothLeaveAndEndMeetingAvailable: this.bothLeaveAndEndMeetingAvailable,\n canEnableClosedCaption: this.canEnableClosedCaption,\n canStartTranscribing: this.canStartTranscribing,\n canStopTranscribing: this.canStopTranscribing,\n isClosedCaptionActive: this.isClosedCaptionActive,\n isWebexAssistantActive: this.isWebexAssistantActive,\n canViewCaptionPanel: this.canViewCaptionPanel,\n isRealTimeTranslationEnabled: this.isRealTimeTranslationEnabled,\n canSelectSpokenLanguages: this.canSelectSpokenLanguages,\n waitingForOthersToJoin: this.waitingForOthersToJoin,\n canEnableReactions: this.canEnableReactions,\n canSendReactions: this.canSendReactions,\n });\n\n /**\n *\n * @param actions\n * @returns\n */\n\n set = (actions: Partial<IInMeetingActions>) => {\n const old = this.get();\n\n let changed = false;\n\n Object.keys(old).forEach((actionKey) => {\n const actionValue = actions[actionKey];\n\n if (actionValue !== undefined && actionValue !== old[actionKey]) {\n changed = true;\n this[actionKey] = actionValue;\n }\n });\n\n return changed;\n };\n}\n"],"mappings":";;;;;;;;;;;;AAIA;AAJA;AACA;AACA;AAuCA;AACA;AACA;AAFA,IAGqBA,gBAAgB;EAAA;EAAA;EAAA,iDACvBC,mBAAQ;EAAA,gEAEO,IAAI;EAAA,2DAET,IAAI;EAAA,+CAEhB,IAAI;EAAA,iDAEF,IAAI;EAAA,qDAEA,IAAI;EAAA,yDAEA,IAAI;EAAA,yDAEJ,IAAI;EAAA,0DAEH,IAAI;EAAA,wDAEN,IAAI;EAAA,yDAEH,IAAI;EAAA,2DAEF,IAAI;EAAA,4DAEH,IAAI;EAAA,8DAEF,IAAI;EAAA,oDAEd,IAAI;EAAA,wDAEA,IAAI;EAAA,gEAEI,IAAI;EAAA,uEAEG,IAAI;EAAA,8DAEb,IAAI;EAAA,4DAEN,IAAI;EAAA,2DAEL,IAAI;EAAA,6DAEF,IAAI;EAAA,8DAEH,IAAI;EAAA,2DAEP,IAAI;EAAA,oEAEK,IAAI;EAAA,gEAER,IAAI;EAAA,8DAEN,IAAI;EAAA,0DAER,IAAI;EAAA,wDAEN,IAAI;EAAA,2CAMjB;IAAA,OAA0B;MAC9BC,wBAAwB,EAAE,KAAI,CAACA,wBAAwB;MACvDC,mBAAmB,EAAE,KAAI,CAACA,mBAAmB;MAC7CC,OAAO,EAAE,KAAI,CAACA,OAAO;MACrBC,SAAS,EAAE,KAAI,CAACA,SAAS;MACzBC,aAAa,EAAE,KAAI,CAACA,aAAa;MACjCC,iBAAiB,EAAE,KAAI,CAACA,iBAAiB;MACzCC,mBAAmB,EAAE,KAAI,CAACA,mBAAmB;MAC7CC,oBAAoB,EAAE,KAAI,CAACA,oBAAoB;MAC/CC,sBAAsB,EAAE,KAAI,CAACA,sBAAsB;MACnDC,iBAAiB,EAAE,KAAI,CAACA,iBAAiB;MACzCC,iBAAiB,EAAE,KAAI,CAACA,iBAAiB;MACzCC,kBAAkB,EAAE,KAAI,CAACA,kBAAkB;MAC3CC,gBAAgB,EAAE,KAAI,CAACA,gBAAgB;MACvCC,YAAY,EAAE,KAAI,CAACA,YAAY;MAC/BC,gBAAgB,EAAE,KAAI,CAACA,gBAAgB;MACvCC,wBAAwB,EAAE,KAAI,CAACA,wBAAwB;MACvDC,+BAA+B,EAAE,KAAI,CAACA,+BAA+B;MACrEC,sBAAsB,EAAE,KAAI,CAACA,sBAAsB;MACnDC,oBAAoB,EAAE,KAAI,CAACA,oBAAoB;MAC/CC,mBAAmB,EAAE,KAAI,CAACA,mBAAmB;MAC7CC,qBAAqB,EAAE,KAAI,CAACA,qBAAqB;MACjDC,sBAAsB,EAAE,KAAI,CAACA,sBAAsB;MACnDC,mBAAmB,EAAE,KAAI,CAACA,mBAAmB;MAC7CC,4BAA4B,EAAE,KAAI,CAACA,4BAA4B;MAC/DC,wBAAwB,EAAE,KAAI,CAACA,wBAAwB;MACvDC,sBAAsB,EAAE,KAAI,CAACA,sBAAsB;MACnDC,kBAAkB,EAAE,KAAI,CAACA,kBAAkB;MAC3CC,gBAAgB,EAAE,KAAI,CAACA;IACzB,CAAC;EAAA,CAAC;EAAA,2CAQI,UAACC,OAAmC,EAAK;IAC7C,IAAMC,GAAG,GAAG,KAAI,CAACC,GAAG,EAAE;IAEtB,IAAIC,OAAO,GAAG,KAAK;IAEnB,mBAAYF,GAAG,CAAC,CAACG,OAAO,CAAC,UAACC,SAAS,EAAK;MACtC,IAAMC,WAAW,GAAGN,OAAO,CAACK,SAAS,CAAC;MAEtC,IAAIC,WAAW,KAAKC,SAAS,IAAID,WAAW,KAAKL,GAAG,CAACI,SAAS,CAAC,EAAE;QAC/DF,OAAO,GAAG,IAAI;QACd,KAAI,CAACE,SAAS,CAAC,GAAGC,WAAW;MAC/B;IACF,CAAC,CAAC;IAEF,OAAOH,OAAO;EAChB,CAAC;AAAA;AAAA"}
|
package/dist/meeting/index.js
CHANGED
|
@@ -59,7 +59,8 @@ var _request = _interopRequireDefault(require("./request"));
|
|
|
59
59
|
var _index2 = _interopRequireDefault(require("../members/index"));
|
|
60
60
|
var _util = _interopRequireDefault(require("./util"));
|
|
61
61
|
var _util2 = _interopRequireDefault(require("../recording-controller/util"));
|
|
62
|
-
var _util3 = _interopRequireDefault(require("../
|
|
62
|
+
var _util3 = _interopRequireDefault(require("../controls-options-manager/util"));
|
|
63
|
+
var _util4 = _interopRequireDefault(require("../media/util"));
|
|
63
64
|
var _transcription = _interopRequireDefault(require("../transcription"));
|
|
64
65
|
var _reactions = require("../reactions/reactions");
|
|
65
66
|
var _passwordError = _interopRequireDefault(require("../common/errors/password-error"));
|
|
@@ -79,6 +80,7 @@ var _breakouts = _interopRequireDefault(require("../breakouts"));
|
|
|
79
80
|
var _inMeetingActions = _interopRequireDefault(require("./in-meeting-actions"));
|
|
80
81
|
var _constants3 = require("../reactions/constants");
|
|
81
82
|
var _recordingController = _interopRequireDefault(require("../recording-controller"));
|
|
83
|
+
var _controlsOptionsManager = _interopRequireDefault(require("../controls-options-manager"));
|
|
82
84
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof _Symbol !== "undefined" && o[_Symbol$iterator] || o["@@iterator"]; if (!it) { if (_Array$isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
83
85
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return _Array$from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
84
86
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
@@ -410,7 +412,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
410
412
|
* @memberof Meeting
|
|
411
413
|
*/
|
|
412
414
|
function Meeting(attrs, _options) {
|
|
413
|
-
var _this$locusInfo, _this$locusInfo$links, _this$locusInfo$links2, _this$locusInfo$links3, _this$locusInfo2, _this$locusInfo2$full, _this$locusInfo3;
|
|
415
|
+
var _this$locusInfo, _this$locusInfo$links, _this$locusInfo$links2, _this$locusInfo$links3, _this$locusInfo2, _this$locusInfo2$full, _this$locusInfo3, _this$locusInfo4;
|
|
414
416
|
var _this;
|
|
415
417
|
(0, _classCallCheck2.default)(this, Meeting);
|
|
416
418
|
_this = _super.call(this, {}, _options);
|
|
@@ -480,6 +482,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
480
482
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "recording", void 0);
|
|
481
483
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "remoteMediaManager", void 0);
|
|
482
484
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "recordingController", void 0);
|
|
485
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "controlsOptionsManager", void 0);
|
|
483
486
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "requiredCaptcha", void 0);
|
|
484
487
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "receiveSlotManager", void 0);
|
|
485
488
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "shareStatus", void 0);
|
|
@@ -802,7 +805,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
802
805
|
function: 'setupRemoteTrackListener:Event.REMOTE_TRACK_ADDED'
|
|
803
806
|
}, _constants.EVENT_TRIGGERS.MEDIA_READY, {
|
|
804
807
|
type: eventType,
|
|
805
|
-
stream:
|
|
808
|
+
stream: _util4.default.createMediaStream([mediaTrack])
|
|
806
809
|
});
|
|
807
810
|
}
|
|
808
811
|
});
|
|
@@ -1672,6 +1675,18 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
1672
1675
|
locusUrl: (_this$locusInfo3 = _this.locusInfo) === null || _this$locusInfo3 === void 0 ? void 0 : _this$locusInfo3.url,
|
|
1673
1676
|
displayHints: []
|
|
1674
1677
|
});
|
|
1678
|
+
|
|
1679
|
+
/**
|
|
1680
|
+
* The class that helps to control recording functions: start, stop, pause, resume, etc
|
|
1681
|
+
* @instance
|
|
1682
|
+
* @type {ControlsOptionsManager}
|
|
1683
|
+
* @public
|
|
1684
|
+
* @memberof Meeting
|
|
1685
|
+
*/
|
|
1686
|
+
_this.controlsOptionsManager = new _controlsOptionsManager.default(_this.meetingRequest, {
|
|
1687
|
+
locusUrl: (_this$locusInfo4 = _this.locusInfo) === null || _this$locusInfo4 === void 0 ? void 0 : _this$locusInfo4.url,
|
|
1688
|
+
displayHints: []
|
|
1689
|
+
});
|
|
1675
1690
|
_this.setUpLocusInfoListeners();
|
|
1676
1691
|
_this.locusInfo.init(attrs.locus ? attrs.locus : {});
|
|
1677
1692
|
_this.hasJoinedOnce = false;
|
|
@@ -2643,6 +2658,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2643
2658
|
_this14.locusUrl = payload;
|
|
2644
2659
|
_this14.locusId = (_this14$locusUrl = _this14.locusUrl) === null || _this14$locusUrl === void 0 ? void 0 : _this14$locusUrl.split('/').pop();
|
|
2645
2660
|
_this14.recordingController.setLocusUrl(_this14.locusUrl);
|
|
2661
|
+
_this14.controlsOptionsManager.setLocusUrl(_this14.locusUrl);
|
|
2646
2662
|
});
|
|
2647
2663
|
}
|
|
2648
2664
|
|
|
@@ -2703,6 +2719,10 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2703
2719
|
canAdmitParticipant: _util.default.canAdmitParticipant(payload.info.userDisplayHints),
|
|
2704
2720
|
canLock: _util.default.canUserLock(payload.info.userDisplayHints),
|
|
2705
2721
|
canUnlock: _util.default.canUserUnlock(payload.info.userDisplayHints),
|
|
2722
|
+
canSetDisallowUnmute: _util3.default.canSetDisallowUnmute(payload.info.userDisplayHints),
|
|
2723
|
+
canUnsetDisallowUnmute: _util3.default.canUnsetDisallowUnmute(payload.info.userDisplayHints),
|
|
2724
|
+
canSetMuteOnEntry: _util3.default.canSetMuteOnEntry(payload.info.userDisplayHints),
|
|
2725
|
+
canUnsetMuteOnEntry: _util3.default.canUnsetMuteOnEntry(payload.info.userDisplayHints),
|
|
2706
2726
|
canStartRecording: _util2.default.canUserStart(payload.info.userDisplayHints),
|
|
2707
2727
|
canStopRecording: _util2.default.canUserStop(payload.info.userDisplayHints),
|
|
2708
2728
|
canPauseRecording: _util2.default.canUserPause(payload.info.userDisplayHints),
|
|
@@ -2724,6 +2744,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2724
2744
|
canSendReactions: _util.default.canSendReactions(_this16.inMeetingActions.canSendReactions, payload.info.userDisplayHints)
|
|
2725
2745
|
});
|
|
2726
2746
|
_this16.recordingController.setDisplayHints(payload.info.userDisplayHints);
|
|
2747
|
+
_this16.controlsOptionsManager.setDisplayHints(payload.info.userDisplayHints);
|
|
2727
2748
|
if (changed) {
|
|
2728
2749
|
_triggerProxy.default.trigger(_this16, {
|
|
2729
2750
|
file: 'meeting/index',
|
|
@@ -3411,7 +3432,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3411
3432
|
function: 'setLocalTracks'
|
|
3412
3433
|
}, _constants.EVENT_TRIGGERS.MEDIA_READY, {
|
|
3413
3434
|
type: _constants.EVENT_TYPES.LOCAL,
|
|
3414
|
-
stream:
|
|
3435
|
+
stream: _util4.default.createMediaStream([this.mediaProperties.audioTrack, this.mediaProperties.videoTrack])
|
|
3415
3436
|
});
|
|
3416
3437
|
}
|
|
3417
3438
|
|
|
@@ -4081,8 +4102,8 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4081
4102
|
}, {
|
|
4082
4103
|
key: "isReactionsSupported",
|
|
4083
4104
|
value: function isReactionsSupported() {
|
|
4084
|
-
var _this$
|
|
4085
|
-
if ((_this$
|
|
4105
|
+
var _this$locusInfo5, _this$locusInfo5$cont;
|
|
4106
|
+
if ((_this$locusInfo5 = this.locusInfo) !== null && _this$locusInfo5 !== void 0 && (_this$locusInfo5$cont = _this$locusInfo5.controls) !== null && _this$locusInfo5$cont !== void 0 && _this$locusInfo5$cont.reactions.enabled) {
|
|
4086
4107
|
return true;
|
|
4087
4108
|
}
|
|
4088
4109
|
_loggerProxy.default.logger.error('Meeting:index#isReactionsSupported --> Reactions is not supported');
|
|
@@ -4432,12 +4453,12 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4432
4453
|
key: "updateLLMConnection",
|
|
4433
4454
|
value: function () {
|
|
4434
4455
|
var _updateLLMConnection = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee7() {
|
|
4435
|
-
var _this$
|
|
4456
|
+
var _this$locusInfo6, url, _this$locusInfo6$info, _this$locusInfo6$info2, datachannelUrl, isJoined;
|
|
4436
4457
|
return _regenerator.default.wrap(function _callee7$(_context7) {
|
|
4437
4458
|
while (1) switch (_context7.prev = _context7.next) {
|
|
4438
4459
|
case 0:
|
|
4439
4460
|
// @ts-ignore - Fix type
|
|
4440
|
-
_this$
|
|
4461
|
+
_this$locusInfo6 = this.locusInfo, url = _this$locusInfo6.url, _this$locusInfo6$info = _this$locusInfo6.info, _this$locusInfo6$info2 = _this$locusInfo6$info === void 0 ? {} : _this$locusInfo6$info, datachannelUrl = _this$locusInfo6$info2.datachannelUrl;
|
|
4441
4462
|
isJoined = this.joinedWith && this.joinedWith.state === 'JOINED'; // @ts-ignore - Fix type
|
|
4442
4463
|
if (!this.webex.internal.llm.isConnected()) {
|
|
4443
4464
|
_context7.next = 8;
|
|
@@ -5733,6 +5754,32 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5733
5754
|
return this.recordingController.startRecording();
|
|
5734
5755
|
}
|
|
5735
5756
|
|
|
5757
|
+
/**
|
|
5758
|
+
* set the mute on entry flag for participants if you're the host
|
|
5759
|
+
* @returns {Promise}
|
|
5760
|
+
* @param {boolean} enabled
|
|
5761
|
+
* @public
|
|
5762
|
+
* @memberof Meeting
|
|
5763
|
+
*/
|
|
5764
|
+
}, {
|
|
5765
|
+
key: "setMuteOnEntry",
|
|
5766
|
+
value: function setMuteOnEntry(enabled) {
|
|
5767
|
+
return this.controlsOptionsManager.setMuteOnEntry(enabled);
|
|
5768
|
+
}
|
|
5769
|
+
|
|
5770
|
+
/**
|
|
5771
|
+
* set the disallow unmute flag for participants if you're the host
|
|
5772
|
+
* @returns {Promise}
|
|
5773
|
+
* @param {boolean} enabled
|
|
5774
|
+
* @public
|
|
5775
|
+
* @memberof Meeting
|
|
5776
|
+
*/
|
|
5777
|
+
}, {
|
|
5778
|
+
key: "setDisallowUnmute",
|
|
5779
|
+
value: function setDisallowUnmute(enabled) {
|
|
5780
|
+
return this.controlsOptionsManager.setDisallowUnmute(enabled);
|
|
5781
|
+
}
|
|
5782
|
+
|
|
5736
5783
|
/**
|
|
5737
5784
|
* End the recording of this meeting
|
|
5738
5785
|
* @returns {Promise}
|
|
@@ -6545,8 +6592,8 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6545
6592
|
* @memberof Meeting
|
|
6546
6593
|
*/
|
|
6547
6594
|
function sendReaction(reactionType, skinToneType) {
|
|
6548
|
-
var _this$
|
|
6549
|
-
var reactionChannelUrl = (_this$
|
|
6595
|
+
var _this$locusInfo7, _this$locusInfo7$cont, _this$locusInfo7$cont2;
|
|
6596
|
+
var reactionChannelUrl = (_this$locusInfo7 = this.locusInfo) === null || _this$locusInfo7 === void 0 ? void 0 : (_this$locusInfo7$cont = _this$locusInfo7.controls) === null || _this$locusInfo7$cont === void 0 ? void 0 : (_this$locusInfo7$cont2 = _this$locusInfo7$cont.reactions) === null || _this$locusInfo7$cont2 === void 0 ? void 0 : _this$locusInfo7$cont2.reactionChannelUrl;
|
|
6550
6597
|
var participantId = this.members.selfId;
|
|
6551
6598
|
var reactionData = _reactions.Reactions[reactionType];
|
|
6552
6599
|
if (!reactionData) {
|
|
@@ -6577,8 +6624,8 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6577
6624
|
}, {
|
|
6578
6625
|
key: "toggleReactions",
|
|
6579
6626
|
value: function toggleReactions(enable) {
|
|
6580
|
-
var _this$
|
|
6581
|
-
var isEnabled = (_this$
|
|
6627
|
+
var _this$locusInfo8, _this$locusInfo8$cont, _this$locusInfo8$cont2;
|
|
6628
|
+
var isEnabled = (_this$locusInfo8 = this.locusInfo) === null || _this$locusInfo8 === void 0 ? void 0 : (_this$locusInfo8$cont = _this$locusInfo8.controls) === null || _this$locusInfo8$cont === void 0 ? void 0 : (_this$locusInfo8$cont2 = _this$locusInfo8$cont.reactions) === null || _this$locusInfo8$cont2 === void 0 ? void 0 : _this$locusInfo8$cont2.enabled;
|
|
6582
6629
|
if (isEnabled && enable || !isEnabled && !enable) {
|
|
6583
6630
|
return _promise.default.resolve("Reactions are already ".concat(isEnabled ? 'enabled' : 'disabled', "."));
|
|
6584
6631
|
}
|