@webex/plugin-meetings 3.8.1-next.25 → 3.8.1-next.27
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 +6 -1
- package/dist/constants.js.map +1 -1
- package/dist/interpretation/index.js +1 -1
- package/dist/interpretation/siLanguage.js +1 -1
- package/dist/locus-info/index.js +1 -1
- package/dist/locus-info/index.js.map +1 -1
- package/dist/meeting/index.js +78 -1
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/request.js +19 -0
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/request.type.js.map +1 -1
- package/dist/types/constants.d.ts +5 -0
- package/dist/types/meeting/index.d.ts +14 -0
- package/dist/types/meeting/request.d.ts +9 -1
- package/dist/types/meeting/request.type.d.ts +74 -0
- package/dist/webinar/index.js +1 -1
- package/package.json +3 -3
- package/src/constants.ts +6 -0
- package/src/locus-info/index.ts +1 -1
- package/src/meeting/index.ts +71 -0
- package/src/meeting/request.ts +16 -0
- package/src/meeting/request.type.ts +64 -0
- package/test/unit/spec/locus-info/index.js +37 -3
- package/test/unit/spec/meeting/index.js +464 -34
- package/test/unit/spec/meeting/request.js +71 -0
@@ -25,3 +25,67 @@ export type PostMeetingDataConsentOptions = {
|
|
25
25
|
deviceUrl: string;
|
26
26
|
selfId: string;
|
27
27
|
};
|
28
|
+
|
29
|
+
export type StageCustomLogoPositions =
|
30
|
+
| 'LowerLeft'
|
31
|
+
| 'LowerMiddle'
|
32
|
+
| 'LowerRight'
|
33
|
+
| 'UpperLeft'
|
34
|
+
| 'UpperMiddle'
|
35
|
+
| 'UpperRight';
|
36
|
+
|
37
|
+
export type StageNameLabelType = 'Primary' | 'PrimaryInverted' | 'Secondary' | 'SecondaryInverted';
|
38
|
+
|
39
|
+
export type StageCustomBackground = {
|
40
|
+
url: string;
|
41
|
+
[others: string]: unknown;
|
42
|
+
};
|
43
|
+
|
44
|
+
export type StageCustomLogo = {
|
45
|
+
url: string;
|
46
|
+
position: StageCustomLogoPositions;
|
47
|
+
[others: string]: unknown;
|
48
|
+
};
|
49
|
+
|
50
|
+
export type StageCustomNameLabel = {
|
51
|
+
accentColor: string;
|
52
|
+
background: {color: string};
|
53
|
+
border: {color: string};
|
54
|
+
content: {displayName: {color: string}; subtitle: {color: string}};
|
55
|
+
decoration: {color: string};
|
56
|
+
fadeOut?: {delay: number};
|
57
|
+
type: StageNameLabelType;
|
58
|
+
[others: string]: unknown;
|
59
|
+
};
|
60
|
+
|
61
|
+
export type SetStageOptions = {
|
62
|
+
activeSpeakerProportion?: number;
|
63
|
+
customBackground?: StageCustomBackground;
|
64
|
+
customLogo?: StageCustomLogo;
|
65
|
+
customNameLabel?: StageCustomNameLabel;
|
66
|
+
importantParticipants?: {mainCsi: number; participantId: string}[];
|
67
|
+
lockAttendeeViewOnStage?: boolean;
|
68
|
+
showActiveSpeaker?: boolean;
|
69
|
+
};
|
70
|
+
|
71
|
+
export type SetStageVideoLayout = {
|
72
|
+
overrideDefault: true;
|
73
|
+
lockAttendeeViewOnStageOnly: boolean;
|
74
|
+
stageParameters: {
|
75
|
+
importantParticipants?: {participantId: string; mainCsi: number; order: number}[];
|
76
|
+
showActiveSpeaker: {show: boolean; order: number};
|
77
|
+
activeSpeakerProportion: number;
|
78
|
+
stageManagerType: number;
|
79
|
+
};
|
80
|
+
customLayouts?: {
|
81
|
+
background?: StageCustomBackground;
|
82
|
+
logo?: StageCustomLogo;
|
83
|
+
};
|
84
|
+
nameLabelStyle?: StageCustomNameLabel;
|
85
|
+
};
|
86
|
+
|
87
|
+
export type UnsetStageVideoLayout = {
|
88
|
+
overrideDefault: false;
|
89
|
+
};
|
90
|
+
|
91
|
+
export type SynchronizeVideoLayout = SetStageVideoLayout | UnsetStageVideoLayout;
|
@@ -305,7 +305,7 @@ describe('plugin-meetings', () => {
|
|
305
305
|
{state: newControls.rdcControl}
|
306
306
|
);
|
307
307
|
});
|
308
|
-
|
308
|
+
|
309
309
|
it('should trigger the CONTROLS_POLLING_QA_CHANGED event when necessary', () => {
|
310
310
|
locusInfo.controls = {};
|
311
311
|
locusInfo.emitScoped = sinon.stub();
|
@@ -2108,6 +2108,38 @@ describe('plugin-meetings', () => {
|
|
2108
2108
|
assert.isFunction(locusParser.onDeltaAction);
|
2109
2109
|
});
|
2110
2110
|
|
2111
|
+
it("#updateLocusInfo invokes updateLocusUrl before updateMeetingInfo", () => {
|
2112
|
+
const callOrder = [];
|
2113
|
+
sinon.stub(locusInfo, "updateControls");
|
2114
|
+
sinon.stub(locusInfo, "updateConversationUrl");
|
2115
|
+
sinon.stub(locusInfo, "updateCreated");
|
2116
|
+
sinon.stub(locusInfo, "updateFullState");
|
2117
|
+
sinon.stub(locusInfo, "updateHostInfo");
|
2118
|
+
sinon.stub(locusInfo, "updateMeetingInfo").callsFake(() => {
|
2119
|
+
callOrder.push("updateMeetingInfo");
|
2120
|
+
});
|
2121
|
+
sinon.stub(locusInfo, "updateMediaShares");
|
2122
|
+
sinon.stub(locusInfo, "updateParticipantsUrl");
|
2123
|
+
sinon.stub(locusInfo, "updateReplace");
|
2124
|
+
sinon.stub(locusInfo, "updateSelf");
|
2125
|
+
sinon.stub(locusInfo, "updateLocusUrl").callsFake(() => {
|
2126
|
+
callOrder.push("updateLocusUrl");
|
2127
|
+
});
|
2128
|
+
sinon.stub(locusInfo, "updateAclUrl");
|
2129
|
+
sinon.stub(locusInfo, "updateBasequence");
|
2130
|
+
sinon.stub(locusInfo, "updateSequence");
|
2131
|
+
sinon.stub(locusInfo, "updateMemberShip");
|
2132
|
+
sinon.stub(locusInfo, "updateIdentifiers");
|
2133
|
+
sinon.stub(locusInfo, "updateEmbeddedApps");
|
2134
|
+
sinon.stub(locusInfo, "updateResources");
|
2135
|
+
sinon.stub(locusInfo, "compareAndUpdate");
|
2136
|
+
|
2137
|
+
locusInfo.updateLocusInfo(locus);
|
2138
|
+
|
2139
|
+
// Ensure updateLocusUrl is called before updateMeetingInfo if both are called
|
2140
|
+
assert.deepEqual(callOrder, ['updateLocusUrl', 'updateMeetingInfo']);
|
2141
|
+
});
|
2142
|
+
|
2111
2143
|
it('#updateLocusInfo ignores breakout LEFT message', () => {
|
2112
2144
|
const newLocus = {
|
2113
2145
|
self: {
|
@@ -2159,6 +2191,8 @@ describe('plugin-meetings', () => {
|
|
2159
2191
|
assert.notCalled(locusInfo.compareAndUpdate);
|
2160
2192
|
});
|
2161
2193
|
|
2194
|
+
|
2195
|
+
|
2162
2196
|
it('onFullLocus() updates the working-copy of locus parser', () => {
|
2163
2197
|
const eventType = 'fakeEvent';
|
2164
2198
|
|
@@ -3032,8 +3066,8 @@ describe('plugin-meetings', () => {
|
|
3032
3066
|
|
3033
3067
|
sinon.stub(locusInfo, 'updateParticipantDeltas');
|
3034
3068
|
sinon.stub(locusInfo, 'updateParticipants');
|
3035
|
-
sinon.stub(locusInfo, 'isMeetingActive')
|
3036
|
-
sinon.stub(locusInfo, 'handleOneOnOneEvent')
|
3069
|
+
sinon.stub(locusInfo, 'isMeetingActive');
|
3070
|
+
sinon.stub(locusInfo, 'handleOneOnOneEvent');
|
3037
3071
|
(updateLocusInfoStub = sinon.stub(locusInfo, 'updateLocusInfo'));
|
3038
3072
|
syncRequestStub = sinon.stub().resolves({body: {}});
|
3039
3073
|
|