bigbluebutton-html-plugin-sdk 0.0.56 → 0.0.57
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 +1 -0
- package/dist/cjs/core/api/BbbPluginSdk.js +11 -8
- package/dist/cjs/core/api/BbbPluginSdk.js.map +1 -1
- package/dist/cjs/core/api/types.d.ts +14 -1
- package/dist/cjs/dom-element-manipulation/enums.d.ts +2 -1
- package/dist/cjs/dom-element-manipulation/enums.js +1 -0
- package/dist/cjs/dom-element-manipulation/enums.js.map +1 -1
- package/dist/cjs/dom-element-manipulation/type.d.ts +2 -1
- package/dist/cjs/dom-element-manipulation/user-camera/hooks.d.ts +1 -0
- package/dist/cjs/dom-element-manipulation/user-camera/hooks.js +55 -0
- package/dist/cjs/dom-element-manipulation/user-camera/hooks.js.map +1 -0
- package/dist/cjs/dom-element-manipulation/user-camera/types.d.ts +8 -0
- package/dist/cjs/dom-element-manipulation/user-camera/types.js +3 -0
- package/dist/cjs/dom-element-manipulation/user-camera/types.js.map +1 -0
- package/dist/cjs/extensible-areas/base.d.ts +2 -1
- package/dist/cjs/extensible-areas/index.d.ts +1 -0
- package/dist/cjs/extensible-areas/index.js +1 -0
- package/dist/cjs/extensible-areas/index.js.map +1 -1
- package/dist/cjs/extensible-areas/screenshare-helper-item/component.d.ts +30 -0
- package/dist/cjs/extensible-areas/screenshare-helper-item/component.js +41 -0
- package/dist/cjs/extensible-areas/screenshare-helper-item/component.js.map +1 -0
- package/dist/cjs/extensible-areas/screenshare-helper-item/enums.d.ts +12 -0
- package/dist/cjs/extensible-areas/screenshare-helper-item/enums.js +19 -0
- package/dist/cjs/extensible-areas/screenshare-helper-item/enums.js.map +1 -0
- package/dist/cjs/extensible-areas/screenshare-helper-item/index.d.ts +3 -0
- package/dist/cjs/extensible-areas/screenshare-helper-item/index.js +8 -0
- package/dist/cjs/extensible-areas/screenshare-helper-item/index.js.map +1 -0
- package/dist/cjs/extensible-areas/screenshare-helper-item/types.d.ts +22 -0
- package/dist/cjs/extensible-areas/screenshare-helper-item/types.js +3 -0
- package/dist/cjs/extensible-areas/screenshare-helper-item/types.js.map +1 -0
- package/dist/cjs/extensible-areas/user-camera-dropdown-item/component.d.ts +6 -4
- package/dist/cjs/extensible-areas/user-camera-dropdown-item/component.js +5 -2
- package/dist/cjs/extensible-areas/user-camera-dropdown-item/component.js.map +1 -1
- package/dist/cjs/extensible-areas/user-camera-dropdown-item/types.d.ts +14 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -274,6 +274,7 @@ So the idea is that we have a `uiCommands` object and at a point, there will be
|
|
|
274
274
|
### Dom Element Manipulation
|
|
275
275
|
|
|
276
276
|
- `useChatMessageDomElements` hook: This hook will return the dom element of a chat message reactively, so one can modify whatever is inside, such as text, css, js, etc.;
|
|
277
|
+
- `useUserCameraDomElements` hook: This hook will return the dom element of each of the user's webcam corresponding to the streamIds passed reactively, so one can modify whatever is inside, such as text, css, js, etc., and also can get the video element within it;
|
|
277
278
|
|
|
278
279
|
### Learning Analytics Dashboard integration
|
|
279
280
|
|
|
@@ -16,11 +16,12 @@ var getter_2 = require("../auxiliary/join-url/getter");
|
|
|
16
16
|
var settings_1 = require("../../data-consumption/domain/settings");
|
|
17
17
|
var hooks_7 = require("../../data-consumption/domain/chat/loaded-chat-messages/hooks");
|
|
18
18
|
var hooks_8 = require("../../dom-element-manipulation/chat/message/hooks");
|
|
19
|
-
var hooks_9 = require("../../
|
|
20
|
-
var hooks_10 = require("../../
|
|
21
|
-
var hooks_11 = require("../../data-
|
|
19
|
+
var hooks_9 = require("../../dom-element-manipulation/user-camera/hooks");
|
|
20
|
+
var hooks_10 = require("../../data-consumption/domain/user-voice/talking-indicator/hooks");
|
|
21
|
+
var hooks_11 = require("../../ui-data-hooks/hooks");
|
|
22
|
+
var hooks_12 = require("../../data-consumption/domain/meeting/from-core/hooks");
|
|
22
23
|
var commands_2 = require("../../server-commands/commands");
|
|
23
|
-
var
|
|
24
|
+
var hooks_13 = require("../../learning-analytics-dashboard/hooks");
|
|
24
25
|
/**
|
|
25
26
|
* Class responsible for either initialize or get the PluginApi
|
|
26
27
|
*
|
|
@@ -50,13 +51,14 @@ var BbbPluginSdk = /** @class */ (function () {
|
|
|
50
51
|
pluginApi.useCurrentPresentation = (function () { return (0, hooks_2.useCurrentPresentation)(); });
|
|
51
52
|
pluginApi.useLoadedUserList = (function () { return (0, hooks_4.useLoadedUserList)(); });
|
|
52
53
|
pluginApi.useCurrentUser = (function () { return (0, hooks_5.useCurrentUser)(); });
|
|
53
|
-
pluginApi.useMeeting = (function () { return (0,
|
|
54
|
+
pluginApi.useMeeting = (function () { return (0, hooks_12.useMeeting)(); });
|
|
54
55
|
pluginApi.useUsersBasicInfo = (function () { return (0, hooks_6.useUsersBasicInfo)(); });
|
|
55
|
-
pluginApi.useTalkingIndicator = (function () { return (0,
|
|
56
|
+
pluginApi.useTalkingIndicator = (function () { return (0, hooks_10.useTalkingIndicator)(); });
|
|
56
57
|
pluginApi.useLoadedChatMessages = (function () { return (0, hooks_7.useLoadedChatMessages)(); });
|
|
57
58
|
pluginApi.useChatMessageDomElements = function (messageIds) { return (0, hooks_8.useChatMessageDomElements)(messageIds); };
|
|
59
|
+
pluginApi.useUserCameraDomElements = function (streamIds) { return (0, hooks_9.useUserCameraDomElements)(streamIds); };
|
|
58
60
|
pluginApi.uiCommands = commands_1.uiCommands;
|
|
59
|
-
pluginApi.useUiData =
|
|
61
|
+
pluginApi.useUiData = hooks_11.useUiData;
|
|
60
62
|
var pluginName = pluginApi === null || pluginApi === void 0 ? void 0 : pluginApi.pluginName;
|
|
61
63
|
if (pluginName) {
|
|
62
64
|
pluginApi.useDataChannel = (function (channelName, dataChannelType, subChannelName) {
|
|
@@ -66,7 +68,7 @@ var BbbPluginSdk = /** @class */ (function () {
|
|
|
66
68
|
});
|
|
67
69
|
pluginApi.usePluginSettings = function () { return (0, settings_1.usePluginSettings)(pluginName); };
|
|
68
70
|
pluginApi.serverCommands = (0, commands_2.serverCommands)(pluginName);
|
|
69
|
-
pluginApi.sendGenericDataForLearningAnalyticsDashboard = function (data) { return (0,
|
|
71
|
+
pluginApi.sendGenericDataForLearningAnalyticsDashboard = function (data) { return (0, hooks_13.sendGenericDataForLearningAnalyticsDashboard)(data, pluginName); };
|
|
70
72
|
}
|
|
71
73
|
else {
|
|
72
74
|
throw new Error('Plugin name not set');
|
|
@@ -111,6 +113,7 @@ var BbbPluginSdk = /** @class */ (function () {
|
|
|
111
113
|
setAudioSettingsDropdownItems: function () { return []; },
|
|
112
114
|
setPresentationDropdownItems: function () { return []; },
|
|
113
115
|
setNavBarItems: function () { return []; },
|
|
116
|
+
setScreenshareHelperItems: function () { return []; },
|
|
114
117
|
setOptionsDropdownItems: function () { return []; },
|
|
115
118
|
setCameraSettingsDropdownItems: function () { return []; },
|
|
116
119
|
setUserCameraDropdownItems: function () { return []; },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BbbPluginSdk.js","sourceRoot":"","sources":["../../../../src/core/api/BbbPluginSdk.ts"],"names":[],"mappings":";;;AAAA,+BAA+B;AAC/B,+BAAkC;AAOlC,kDAA4D;AAO5D,uDAAwD;AAQxD,kDAAiE;AACjE,gGAEgF;AAChF,wFAEwE;AACxE,oFAA+F;AAC/F,gFAAwF;AACxF,oFAA+F;AAC/F,4DAAoE;AACpE,uDAA0D;AAC1D,mEAA2E;AAE3E,uFAAsG;AACtG,2EAA8F;
|
|
1
|
+
{"version":3,"file":"BbbPluginSdk.js","sourceRoot":"","sources":["../../../../src/core/api/BbbPluginSdk.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,13 +28,16 @@ import { UseUiDataFunction } from '../../ui-data-hooks/types';
|
|
|
28
28
|
import { UseMeetingFunction } from '../../data-consumption/domain/meeting/from-core/types';
|
|
29
29
|
import { ServerCommands } from '../../server-commands/types';
|
|
30
30
|
import { SendGenericDataForLearningAnalyticsDashboard } from '../../learning-analytics-dashboard/types';
|
|
31
|
+
import { UseUserCameraDomElementsFunction } from '../../dom-element-manipulation/user-camera/types';
|
|
32
|
+
import { ScreenshareHelperInterface } from '../../extensible-areas';
|
|
31
33
|
export type SetPresentationToolbarItems = (presentationToolbarItem: PresentationToolbarInterface[]) => string[];
|
|
32
34
|
export type SetUserListDropdownItems = (userListDropdownItem: UserListDropdownInterface[]) => string[];
|
|
33
35
|
export type SetActionButtonDropdownItems = (actionButtonDropdownInterface: ActionButtonDropdownInterface[]) => string[];
|
|
34
36
|
export type SetActionsBarItems = (actionsBarItems: ActionsBarInterface[]) => string[];
|
|
35
37
|
export type SetAudioSettingsDropdownItems = (audioSettingsDropdownItem: AudioSettingsDropdownInterface[]) => string[];
|
|
36
38
|
export type SetPresentationDropdownItems = (userListDropdownItem: PresentationDropdownInterface[]) => string[];
|
|
37
|
-
export type SetNavBarItems = (
|
|
39
|
+
export type SetNavBarItems = (navBarItem: NavBarInterface[]) => string[];
|
|
40
|
+
export type SetScreenshareHelperItems = (screenshareHelperItem: ScreenshareHelperInterface[]) => string[];
|
|
38
41
|
export type SetOptionsDropdownItems = (optionsDropdownItem: OptionsDropdownInterface[]) => string[];
|
|
39
42
|
export type SetCameraSettingsDropdownItems = (cameraSettingsDropdownItem: CameraSettingsDropdownInterface[]) => string[];
|
|
40
43
|
export type SetUserCameraDropdownItems = (userCameraDropdownItem: UserCameraDropdownInterface[]) => string[];
|
|
@@ -52,6 +55,7 @@ export interface PluginApi {
|
|
|
52
55
|
setAudioSettingsDropdownItems: SetAudioSettingsDropdownItems;
|
|
53
56
|
setPresentationDropdownItems: SetPresentationDropdownItems;
|
|
54
57
|
setNavBarItems: SetNavBarItems;
|
|
58
|
+
setScreenshareHelperItems: SetScreenshareHelperItems;
|
|
55
59
|
setOptionsDropdownItems: SetOptionsDropdownItems;
|
|
56
60
|
setCameraSettingsDropdownItems: SetCameraSettingsDropdownItems;
|
|
57
61
|
setUserCameraDropdownItems: SetUserCameraDropdownItems;
|
|
@@ -167,6 +171,15 @@ export interface PluginApi {
|
|
|
167
171
|
*
|
|
168
172
|
*/
|
|
169
173
|
useChatMessageDomElements?: UseChatMessageDomElementsFunction;
|
|
174
|
+
/**
|
|
175
|
+
* Returns an array with the DOM elements for the webcams corresponding to each streamId passed.
|
|
176
|
+
*
|
|
177
|
+
* @param streamIds - Ids of the user-camera streams one wants to retrieve in the form of an array
|
|
178
|
+
* @returns The array of an object with DOM elements (in this case, div) and the id
|
|
179
|
+
* of the stream
|
|
180
|
+
*
|
|
181
|
+
*/
|
|
182
|
+
useUserCameraDomElements?: UseUserCameraDomElementsFunction;
|
|
170
183
|
getSessionToken?: GetSessionTokenFunction;
|
|
171
184
|
getJoinUrl?: GetJoinUrlFunction;
|
|
172
185
|
/**
|
|
@@ -4,5 +4,6 @@ exports.DomElementManipulationHooks = void 0;
|
|
|
4
4
|
var DomElementManipulationHooks;
|
|
5
5
|
(function (DomElementManipulationHooks) {
|
|
6
6
|
DomElementManipulationHooks["CHAT_MESSAGE"] = "CHAT_MESSAGE";
|
|
7
|
+
DomElementManipulationHooks["USER_CAMERA"] = "USER_CAMERA";
|
|
7
8
|
})(DomElementManipulationHooks || (exports.DomElementManipulationHooks = DomElementManipulationHooks = {}));
|
|
8
9
|
//# sourceMappingURL=enums.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../src/dom-element-manipulation/enums.ts"],"names":[],"mappings":";;;AAAA,IAAY,
|
|
1
|
+
{"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../src/dom-element-manipulation/enums.ts"],"names":[],"mappings":";;;AAAA,IAAY,2BAGX;AAHD,WAAY,2BAA2B;IACrC,4DAA6B,CAAA;IAC7B,0DAA2B,CAAA;AAC7B,CAAC,EAHW,2BAA2B,2CAA3B,2BAA2B,QAGtC"}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
import { ChatMessageDomElementsArguments } from './chat/message/types';
|
|
2
|
-
|
|
2
|
+
import { UserCameraDomElementsArguments } from './user-camera/types';
|
|
3
|
+
export type DomElementManipulationArguments = ChatMessageDomElementsArguments | UserCameraDomElementsArguments;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const useUserCameraDomElements: (streamIds: string[]) => HTMLDivElement[] | undefined;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useUserCameraDomElements = void 0;
|
|
4
|
+
var react_1 = require("react");
|
|
5
|
+
var enums_1 = require("../enums");
|
|
6
|
+
var enum_1 = require("../../core/enum");
|
|
7
|
+
var utils_1 = require("../../data-consumption/utils");
|
|
8
|
+
var useUserCameraDomElements = function (streamIds) {
|
|
9
|
+
var _a = (0, react_1.useState)(), domElement = _a[0], setDomElement = _a[1];
|
|
10
|
+
var _b = (0, react_1.useState)(streamIds), streamIdsState = _b[0], setStreamIdsState = _b[1];
|
|
11
|
+
var handleCustomSubscriptionUpdateEvent = (function (event) {
|
|
12
|
+
var detail = event.detail;
|
|
13
|
+
if (detail.hook === enums_1.DomElementManipulationHooks.USER_CAMERA
|
|
14
|
+
&& (0, utils_1.sortedStringify)(detail.data.map(function (userCamera) { return userCamera.streamId; })) === (0, utils_1.sortedStringify)(streamIdsState)) {
|
|
15
|
+
setDomElement(detail.data.map(function (userCamera) { return userCamera.userCameraDomElement; }));
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
(0, react_1.useEffect)(function () {
|
|
19
|
+
if (streamIdsState) {
|
|
20
|
+
window.addEventListener(enum_1.HookEvents.UPDATED, handleCustomSubscriptionUpdateEvent);
|
|
21
|
+
return function () {
|
|
22
|
+
window.removeEventListener(enum_1.HookEvents.UPDATED, handleCustomSubscriptionUpdateEvent);
|
|
23
|
+
window.dispatchEvent(new CustomEvent(enum_1.HookEvents.UNSUBSCRIBED, {
|
|
24
|
+
detail: {
|
|
25
|
+
hook: enums_1.DomElementManipulationHooks.USER_CAMERA,
|
|
26
|
+
hookArguments: {
|
|
27
|
+
streamIds: streamIds,
|
|
28
|
+
},
|
|
29
|
+
},
|
|
30
|
+
}));
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
return function () { };
|
|
34
|
+
}, []);
|
|
35
|
+
(0, react_1.useEffect)(function () {
|
|
36
|
+
if (streamIdsState) {
|
|
37
|
+
window.removeEventListener(enum_1.HookEvents.UPDATED, handleCustomSubscriptionUpdateEvent);
|
|
38
|
+
window.addEventListener(enum_1.HookEvents.UPDATED, handleCustomSubscriptionUpdateEvent);
|
|
39
|
+
window.dispatchEvent(new CustomEvent(enum_1.HookEvents.SUBSCRIBED, {
|
|
40
|
+
detail: {
|
|
41
|
+
hook: enums_1.DomElementManipulationHooks.USER_CAMERA,
|
|
42
|
+
hookArguments: {
|
|
43
|
+
streamIds: streamIdsState,
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
}));
|
|
47
|
+
}
|
|
48
|
+
}, [streamIdsState]);
|
|
49
|
+
if ((0, utils_1.sortedStringify)(streamIds) !== (0, utils_1.sortedStringify)(streamIdsState)) {
|
|
50
|
+
setStreamIdsState(streamIds);
|
|
51
|
+
}
|
|
52
|
+
return domElement;
|
|
53
|
+
};
|
|
54
|
+
exports.useUserCameraDomElements = useUserCameraDomElements;
|
|
55
|
+
//# sourceMappingURL=hooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../../src/dom-element-manipulation/user-camera/hooks.ts"],"names":[],"mappings":";;;AAAA,+BAA4C;AAC5C,kCAAuD;AACvD,wCAA6C;AAK7C,sDAA+D;AAExD,IAAM,wBAAwB,GAAG,UAAC,SAAmB;IACpD,IAAA,KAA8B,IAAA,gBAAQ,GAAoB,EAAzD,UAAU,QAAA,EAAE,aAAa,QAAgC,CAAC;IAC3D,IAAA,KAAsC,IAAA,gBAAQ,EAAW,SAAS,CAAC,EAAlE,cAAc,QAAA,EAAE,iBAAiB,QAAiC,CAAC;IAE1E,IAAM,mCAAmC,GAAkB,CACzD,UAAC,KACmE;QAClE,IAAM,MAAM,GAAG,KAAK,CAAC,MAC0B,CAAC;QAChD,IAAI,MAAM,CAAC,IAAI,KAAK,mCAA2B,CAAC,WAAW;eACtD,IAAA,uBAAe,EAChB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,UAAC,UAAU,IAAK,OAAA,UAAU,CAAC,QAAQ,EAAnB,CAAmB,CAAC,CACrD,KAAK,IAAA,uBAAe,EAAC,cAAc,CAAC,EAAE;YACvC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,UAAC,UAAU,IAAK,OAAA,UAAU,CAAC,oBAAoB,EAA/B,CAA+B,CAAC,CAAC,CAAC;SACjF;IACH,CAAC,CAAkB,CAAC;IAEtB,IAAA,iBAAS,EAAC;QACR,IAAI,cAAc,EAAE;YAClB,MAAM,CAAC,gBAAgB,CAAC,iBAAU,CAAC,OAAO,EAAE,mCAAmC,CAAC,CAAC;YACjF,OAAO;gBACL,MAAM,CAAC,mBAAmB,CAAC,iBAAU,CAAC,OAAO,EAAE,mCAAmC,CAAC,CAAC;gBACpF,MAAM,CAAC,aAAa,CAAC,IAAI,WAAW,CAA2B,iBAAU,CAAC,YAAY,EAAE;oBACtF,MAAM,EAAE;wBACN,IAAI,EAAE,mCAA2B,CAAC,WAAW;wBAC7C,aAAa,EAAE;4BACb,SAAS,WAAA;yBACwB;qBACpC;iBACF,CAAC,CAAC,CAAC;YACN,CAAC,CAAC;SACH;QACD,OAAO,cAAO,CAAC,CAAC;IAClB,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,IAAA,iBAAS,EAAC;QACR,IAAI,cAAc,EAAE;YAClB,MAAM,CAAC,mBAAmB,CAAC,iBAAU,CAAC,OAAO,EAAE,mCAAmC,CAAC,CAAC;YACpF,MAAM,CAAC,gBAAgB,CAAC,iBAAU,CAAC,OAAO,EAAE,mCAAmC,CAAC,CAAC;YACjF,MAAM,CAAC,aAAa,CAAC,IAAI,WAAW,CAAyB,iBAAU,CAAC,UAAU,EAAE;gBAClF,MAAM,EAAE;oBACN,IAAI,EAAE,mCAA2B,CAAC,WAAW;oBAC7C,aAAa,EAAE;wBACb,SAAS,EAAE,cAAc;qBACQ;iBACpC;aACF,CAAC,CAAC,CAAC;SACL;IACH,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IACrB,IAAI,IAAA,uBAAe,EAAC,SAAS,CAAC,KAAK,IAAA,uBAAe,EAAC,cAAc,CAAC,EAAE;QAClE,iBAAiB,CAAC,SAAS,CAAC,CAAC;KAC9B;IACD,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AApDW,QAAA,wBAAwB,4BAoDnC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export type UseUserCameraDomElementsFunction = (streamIds: string[]) => HTMLDivElement[] | undefined;
|
|
2
|
+
export interface UserCameraDomElementsArguments {
|
|
3
|
+
streamIds: string[];
|
|
4
|
+
}
|
|
5
|
+
export interface UpdatedEventDetailsForUserCameraDomElement {
|
|
6
|
+
streamId: string;
|
|
7
|
+
userCameraDomElement: HTMLDivElement;
|
|
8
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/dom-element-manipulation/user-camera/types.ts"],"names":[],"mappings":""}
|
|
@@ -8,10 +8,11 @@ import { NavBarItemType } from './nav-bar-item/enums';
|
|
|
8
8
|
import { OptionsDropdownItemType } from './options-dropdown-item/enums';
|
|
9
9
|
import { PresentationDropdownItemType } from './presentation-dropdown-item/enums';
|
|
10
10
|
import { PresentationToolbarItemType } from './presentation-toolbar-item/enums';
|
|
11
|
+
import { ScreenshareHelperItemType } from './screenshare-helper-item/enums';
|
|
11
12
|
import { UserCameraDropdownItemType } from './user-camera-dropdown-item/enums';
|
|
12
13
|
import { UserListDropdownItemType } from './user-list-dropdown-item/enums';
|
|
13
14
|
import { UserListItemAdditionalInformationType } from './user-list-item-additional-information/enums';
|
|
14
|
-
type PluginProvidedUiItemType = PresentationToolbarItemType | UserListDropdownItemType | ActionButtonDropdownItemType | ActionsBarItemType | AudioSettingsDropdownItemType | PresentationDropdownItemType | NavBarItemType | OptionsDropdownItemType | CameraSettingsDropdownItemType | UserCameraDropdownItemType | UserListItemAdditionalInformationType | FloatingWindowType | GenericContentType;
|
|
15
|
+
type PluginProvidedUiItemType = PresentationToolbarItemType | UserListDropdownItemType | ActionButtonDropdownItemType | ActionsBarItemType | AudioSettingsDropdownItemType | PresentationDropdownItemType | NavBarItemType | OptionsDropdownItemType | CameraSettingsDropdownItemType | UserCameraDropdownItemType | UserListItemAdditionalInformationType | FloatingWindowType | GenericContentType | ScreenshareHelperItemType;
|
|
15
16
|
export interface PluginProvidedUiItemDescriptor {
|
|
16
17
|
/** Defined by BigBlueButton Plugin Engine. */
|
|
17
18
|
id: string;
|
|
@@ -5,6 +5,7 @@ export * from './actions-bar-item';
|
|
|
5
5
|
export * from './audio-settings-dropdown-item';
|
|
6
6
|
export * from './presentation-dropdown-item';
|
|
7
7
|
export * from './nav-bar-item';
|
|
8
|
+
export * from './screenshare-helper-item';
|
|
8
9
|
export * from './options-dropdown-item';
|
|
9
10
|
export * from './camera-settings-dropdown-item';
|
|
10
11
|
export * from './user-camera-dropdown-item';
|
|
@@ -21,6 +21,7 @@ __exportStar(require("./actions-bar-item"), exports);
|
|
|
21
21
|
__exportStar(require("./audio-settings-dropdown-item"), exports);
|
|
22
22
|
__exportStar(require("./presentation-dropdown-item"), exports);
|
|
23
23
|
__exportStar(require("./nav-bar-item"), exports);
|
|
24
|
+
__exportStar(require("./screenshare-helper-item"), exports);
|
|
24
25
|
__exportStar(require("./options-dropdown-item"), exports);
|
|
25
26
|
__exportStar(require("./camera-settings-dropdown-item"), exports);
|
|
26
27
|
__exportStar(require("./user-camera-dropdown-item"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/extensible-areas/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8DAA4C;AAC5C,4DAA0C;AAC1C,gEAA8C;AAC9C,qDAAmC;AACnC,iEAA+C;AAC/C,+DAA6C;AAC7C,iDAA+B;AAC/B,0DAAwC;AACxC,kEAAgD;AAChD,8DAA4C;AAC5C,0EAAwD;AACxD,oDAAkC;AAClC,yDAAuC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/extensible-areas/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8DAA4C;AAC5C,4DAA0C;AAC1C,gEAA8C;AAC9C,qDAAmC;AACnC,iEAA+C;AAC/C,+DAA6C;AAC7C,iDAA+B;AAC/B,4DAA0C;AAC1C,0DAAwC;AACxC,kEAAgD;AAChD,8DAA4C;AAC5C,0EAAwD;AACxD,oDAAkC;AAClC,yDAAuC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { ScreenshareHelperItemType, ScreenshareHelperItemPosition } from './enums';
|
|
2
|
+
import { ScreenshareHelperButtonProps, ScreenshareHelperButtonInterface } from './types';
|
|
3
|
+
export declare class ScreenshareHelperButton implements ScreenshareHelperButtonInterface {
|
|
4
|
+
id: string;
|
|
5
|
+
type: ScreenshareHelperItemType;
|
|
6
|
+
label: string;
|
|
7
|
+
icon: string;
|
|
8
|
+
tooltip: string;
|
|
9
|
+
disabled: boolean;
|
|
10
|
+
position: ScreenshareHelperItemPosition;
|
|
11
|
+
onClick: () => void;
|
|
12
|
+
/**
|
|
13
|
+
* Returns object to be used in the setter for the Screenshare Helper. In this case,
|
|
14
|
+
* a button.
|
|
15
|
+
*
|
|
16
|
+
* @param label - label to be displayed in screenshare helper button (Not mandatory).
|
|
17
|
+
* @param tooltip - label to be displayed when hovering the screenshare helper button.
|
|
18
|
+
* @param icon - icon to be used in the screenshare helper button. It goes in the left side of it.
|
|
19
|
+
* @param onClick - function to be called when clicking the button.
|
|
20
|
+
* @param position - position to place the screenshare helper button.
|
|
21
|
+
* See {@link ScreenshareHelperItemPosition}
|
|
22
|
+
* @param hasSeparator - boolean indicating whether the screenshare helper button has separator
|
|
23
|
+
* (vertical bar)
|
|
24
|
+
* @param disabled - if true, the screenshare helper button will not be clickable
|
|
25
|
+
*
|
|
26
|
+
* @returns Object that will be interpreted by the core of Bigbluebutton (HTML5).
|
|
27
|
+
*/
|
|
28
|
+
constructor({ label, icon, tooltip, disabled, onClick, position, }: ScreenshareHelperButtonProps);
|
|
29
|
+
setItemId: (id: string) => void;
|
|
30
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ScreenshareHelperButton = void 0;
|
|
4
|
+
var enums_1 = require("./enums");
|
|
5
|
+
// ScreenshareHelper Extensible Area
|
|
6
|
+
var ScreenshareHelperButton = /** @class */ (function () {
|
|
7
|
+
/**
|
|
8
|
+
* Returns object to be used in the setter for the Screenshare Helper. In this case,
|
|
9
|
+
* a button.
|
|
10
|
+
*
|
|
11
|
+
* @param label - label to be displayed in screenshare helper button (Not mandatory).
|
|
12
|
+
* @param tooltip - label to be displayed when hovering the screenshare helper button.
|
|
13
|
+
* @param icon - icon to be used in the screenshare helper button. It goes in the left side of it.
|
|
14
|
+
* @param onClick - function to be called when clicking the button.
|
|
15
|
+
* @param position - position to place the screenshare helper button.
|
|
16
|
+
* See {@link ScreenshareHelperItemPosition}
|
|
17
|
+
* @param hasSeparator - boolean indicating whether the screenshare helper button has separator
|
|
18
|
+
* (vertical bar)
|
|
19
|
+
* @param disabled - if true, the screenshare helper button will not be clickable
|
|
20
|
+
*
|
|
21
|
+
* @returns Object that will be interpreted by the core of Bigbluebutton (HTML5).
|
|
22
|
+
*/
|
|
23
|
+
function ScreenshareHelperButton(_a) {
|
|
24
|
+
var _b = _a.label, label = _b === void 0 ? '' : _b, _c = _a.icon, icon = _c === void 0 ? '' : _c, _d = _a.tooltip, tooltip = _d === void 0 ? '' : _d, _e = _a.disabled, disabled = _e === void 0 ? true : _e, _f = _a.onClick, onClick = _f === void 0 ? function () { } : _f, _g = _a.position, position = _g === void 0 ? enums_1.ScreenshareHelperItemPosition.TOP_RIGHT : _g;
|
|
25
|
+
var _this = this;
|
|
26
|
+
this.id = '';
|
|
27
|
+
this.setItemId = function (id) {
|
|
28
|
+
_this.id = "ScreenshareHelperButton_".concat(id);
|
|
29
|
+
};
|
|
30
|
+
this.label = label;
|
|
31
|
+
this.icon = icon;
|
|
32
|
+
this.tooltip = tooltip;
|
|
33
|
+
this.disabled = disabled;
|
|
34
|
+
this.onClick = onClick;
|
|
35
|
+
this.type = enums_1.ScreenshareHelperItemType.BUTTON;
|
|
36
|
+
this.position = position;
|
|
37
|
+
}
|
|
38
|
+
return ScreenshareHelperButton;
|
|
39
|
+
}());
|
|
40
|
+
exports.ScreenshareHelperButton = ScreenshareHelperButton;
|
|
41
|
+
//# sourceMappingURL=component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.js","sourceRoot":"","sources":["../../../../src/extensible-areas/screenshare-helper-item/component.ts"],"names":[],"mappings":";;;AAAA,iCAAmF;AAMnF,oCAAoC;AAEpC;IAiBE;;;;;;;;;;;;;;;OAeG;IACH,iCAAY,EAGmB;YAF7B,aAAU,EAAV,KAAK,mBAAG,EAAE,KAAA,EAAE,YAAS,EAAT,IAAI,mBAAG,EAAE,KAAA,EAAE,eAAY,EAAZ,OAAO,mBAAG,EAAE,KAAA,EAAE,gBAAe,EAAf,QAAQ,mBAAG,IAAI,KAAA,EAAE,eAAkB,EAAlB,OAAO,mBAAG,cAAO,CAAC,KAAA,EACxE,gBAAkD,EAAlD,QAAQ,mBAAG,qCAA6B,CAAC,SAAS,KAAA;QAFpD,iBAWC;QA3CD,OAAE,GAAW,EAAE,CAAC;QA6ChB,cAAS,GAAyB,UAAC,EAAU;YAC3C,KAAI,CAAC,EAAE,GAAG,kCAA2B,EAAE,CAAE,CAAC;QAC5C,CAAC,CAAC;QAXA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,iCAAyB,CAAC,MAAM,CAAC;QAC7C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAKH,8BAAC;AAAD,CAAC,AAjDD,IAiDC;AAjDY,0DAAuB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare enum ScreenshareHelperItemType {
|
|
2
|
+
BUTTON = "SCREENSHARE_HELPER_BUTTON"
|
|
3
|
+
}
|
|
4
|
+
/**
|
|
5
|
+
* Enum with the position to insert the screenshare helper item (Information or Button)
|
|
6
|
+
*/
|
|
7
|
+
export declare enum ScreenshareHelperItemPosition {
|
|
8
|
+
TOP_RIGHT = "TOP_RIGHT",
|
|
9
|
+
TOP_LEFT = "TOP_LEFT",
|
|
10
|
+
BOTTOM_RIGHT = "BOTTOM_RIGHT",
|
|
11
|
+
BOTTOM_LEFT = "BOTTOM_LEFT"
|
|
12
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ScreenshareHelperItemPosition = exports.ScreenshareHelperItemType = void 0;
|
|
4
|
+
// Screenshare Helper items types:
|
|
5
|
+
var ScreenshareHelperItemType;
|
|
6
|
+
(function (ScreenshareHelperItemType) {
|
|
7
|
+
ScreenshareHelperItemType["BUTTON"] = "SCREENSHARE_HELPER_BUTTON";
|
|
8
|
+
})(ScreenshareHelperItemType || (exports.ScreenshareHelperItemType = ScreenshareHelperItemType = {}));
|
|
9
|
+
/**
|
|
10
|
+
* Enum with the position to insert the screenshare helper item (Information or Button)
|
|
11
|
+
*/
|
|
12
|
+
var ScreenshareHelperItemPosition;
|
|
13
|
+
(function (ScreenshareHelperItemPosition) {
|
|
14
|
+
ScreenshareHelperItemPosition["TOP_RIGHT"] = "TOP_RIGHT";
|
|
15
|
+
ScreenshareHelperItemPosition["TOP_LEFT"] = "TOP_LEFT";
|
|
16
|
+
ScreenshareHelperItemPosition["BOTTOM_RIGHT"] = "BOTTOM_RIGHT";
|
|
17
|
+
ScreenshareHelperItemPosition["BOTTOM_LEFT"] = "BOTTOM_LEFT";
|
|
18
|
+
})(ScreenshareHelperItemPosition || (exports.ScreenshareHelperItemPosition = ScreenshareHelperItemPosition = {}));
|
|
19
|
+
//# sourceMappingURL=enums.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../../src/extensible-areas/screenshare-helper-item/enums.ts"],"names":[],"mappings":";;;AAAA,kCAAkC;AAClC,IAAY,yBAEX;AAFD,WAAY,yBAAyB;IACnC,iEAAoC,CAAA;AACtC,CAAC,EAFW,yBAAyB,yCAAzB,yBAAyB,QAEpC;AAED;;GAEG;AACH,IAAY,6BAKX;AALD,WAAY,6BAA6B;IACvC,wDAAuB,CAAA;IACvB,sDAAqB,CAAA;IACrB,8DAA6B,CAAA;IAC7B,4DAA2B,CAAA;AAC7B,CAAC,EALW,6BAA6B,6CAA7B,6BAA6B,QAKxC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ScreenshareHelperItemPosition = exports.ScreenshareHelperButton = void 0;
|
|
4
|
+
var component_1 = require("./component");
|
|
5
|
+
Object.defineProperty(exports, "ScreenshareHelperButton", { enumerable: true, get: function () { return component_1.ScreenshareHelperButton; } });
|
|
6
|
+
var enums_1 = require("./enums");
|
|
7
|
+
Object.defineProperty(exports, "ScreenshareHelperItemPosition", { enumerable: true, get: function () { return enums_1.ScreenshareHelperItemPosition; } });
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/extensible-areas/screenshare-helper-item/index.ts"],"names":[],"mappings":";;;AAAA,yCAEqB;AADnB,oHAAA,uBAAuB,OAAA;AAKzB,iCAEiB;AADf,sHAAA,6BAA6B,OAAA"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { PluginProvidedUiItemDescriptor } from '../base';
|
|
2
|
+
import { ScreenshareHelperItemPosition } from './enums';
|
|
3
|
+
export interface ScreenshareHelperInterface extends PluginProvidedUiItemDescriptor {
|
|
4
|
+
position: ScreenshareHelperItemPosition;
|
|
5
|
+
}
|
|
6
|
+
export interface ScreenshareHelperButtonInterface extends ScreenshareHelperInterface {
|
|
7
|
+
label: string;
|
|
8
|
+
icon: string;
|
|
9
|
+
tooltip: string;
|
|
10
|
+
disabled: boolean;
|
|
11
|
+
position: ScreenshareHelperItemPosition;
|
|
12
|
+
onClick: () => void;
|
|
13
|
+
}
|
|
14
|
+
export interface ScreenshareHelperButtonProps {
|
|
15
|
+
label?: string;
|
|
16
|
+
icon: string;
|
|
17
|
+
tooltip: string;
|
|
18
|
+
disabled: boolean;
|
|
19
|
+
hasSeparator: boolean;
|
|
20
|
+
position: ScreenshareHelperItemPosition;
|
|
21
|
+
onClick: () => void;
|
|
22
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/extensible-areas/screenshare-helper-item/types.ts"],"names":[],"mappings":""}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { UserCameraDropdownItemType } from './enums';
|
|
2
|
-
import { UserCameraDropdownInterface, UserCameraDropdownOptionProps } from './types';
|
|
2
|
+
import { OnclickFunctionCallbackArguments, UserCameraDropdownCallbackFunctionsArguments, UserCameraDropdownInterface, UserCameraDropdownOptionProps, UserCameraDropdownSeparatorProps } from './types';
|
|
3
3
|
export declare class UserCameraDropdownOption implements UserCameraDropdownInterface {
|
|
4
4
|
id: string;
|
|
5
5
|
type: UserCameraDropdownItemType;
|
|
6
6
|
label: string;
|
|
7
7
|
icon: string;
|
|
8
|
-
onClick: () => void;
|
|
8
|
+
onClick: (args: OnclickFunctionCallbackArguments) => void;
|
|
9
|
+
displayFunction?: (args: UserCameraDropdownCallbackFunctionsArguments) => boolean;
|
|
9
10
|
/**
|
|
10
11
|
* Returns object to be used in the setter for User Camera Dropdown. In this case
|
|
11
12
|
* an option.
|
|
@@ -16,18 +17,19 @@ export declare class UserCameraDropdownOption implements UserCameraDropdownInter
|
|
|
16
17
|
*
|
|
17
18
|
* @returns Object that will be interpreted by the core of Bigbluebutton (HTML5)
|
|
18
19
|
*/
|
|
19
|
-
constructor({ label, icon, onClick, }: UserCameraDropdownOptionProps);
|
|
20
|
+
constructor({ label, icon, onClick, displayFunction, }: UserCameraDropdownOptionProps);
|
|
20
21
|
setItemId: (id: string) => void;
|
|
21
22
|
}
|
|
22
23
|
export declare class UserCameraDropdownSeparator implements UserCameraDropdownInterface {
|
|
23
24
|
id: string;
|
|
24
25
|
type: UserCameraDropdownItemType;
|
|
26
|
+
displayFunction?: (args: UserCameraDropdownCallbackFunctionsArguments) => boolean;
|
|
25
27
|
/**
|
|
26
28
|
* Returns object to be used in the setter for User Camera Dropdown. In this case
|
|
27
29
|
* a separator.
|
|
28
30
|
*
|
|
29
31
|
* @returns Object that will be interpreted by the core of Bigbluebutton (HTML5)
|
|
30
32
|
*/
|
|
31
|
-
constructor();
|
|
33
|
+
constructor({ displayFunction, }?: UserCameraDropdownSeparatorProps);
|
|
32
34
|
setItemId: (id: string) => void;
|
|
33
35
|
}
|
|
@@ -15,12 +15,13 @@ var UserCameraDropdownOption = /** @class */ (function () {
|
|
|
15
15
|
* @returns Object that will be interpreted by the core of Bigbluebutton (HTML5)
|
|
16
16
|
*/
|
|
17
17
|
function UserCameraDropdownOption(_a) {
|
|
18
|
-
var _b = _a.label, label = _b === void 0 ? '' : _b, _c = _a.icon, icon = _c === void 0 ? '' : _c, _d = _a.onClick, onClick = _d === void 0 ? function () { } : _d;
|
|
18
|
+
var _b = _a.label, label = _b === void 0 ? '' : _b, _c = _a.icon, icon = _c === void 0 ? '' : _c, _d = _a.onClick, onClick = _d === void 0 ? function () { } : _d, _e = _a.displayFunction, displayFunction = _e === void 0 ? function () { return true; } : _e;
|
|
19
19
|
var _this = this;
|
|
20
20
|
this.id = '';
|
|
21
21
|
this.setItemId = function (id) {
|
|
22
22
|
_this.id = "UserCameraDropdownOption_".concat(id);
|
|
23
23
|
};
|
|
24
|
+
this.displayFunction = displayFunction;
|
|
24
25
|
this.label = label;
|
|
25
26
|
this.icon = icon;
|
|
26
27
|
this.onClick = onClick;
|
|
@@ -36,12 +37,14 @@ var UserCameraDropdownSeparator = /** @class */ (function () {
|
|
|
36
37
|
*
|
|
37
38
|
* @returns Object that will be interpreted by the core of Bigbluebutton (HTML5)
|
|
38
39
|
*/
|
|
39
|
-
function UserCameraDropdownSeparator() {
|
|
40
|
+
function UserCameraDropdownSeparator(_a) {
|
|
41
|
+
var _b = _a === void 0 ? { displayFunction: function () { return true; } } : _a, displayFunction = _b.displayFunction;
|
|
40
42
|
var _this = this;
|
|
41
43
|
this.id = '';
|
|
42
44
|
this.setItemId = function (id) {
|
|
43
45
|
_this.id = "UserCameraDropdownSeparator_".concat(id);
|
|
44
46
|
};
|
|
47
|
+
this.displayFunction = displayFunction;
|
|
45
48
|
this.type = enums_1.UserCameraDropdownItemType.SEPARATOR;
|
|
46
49
|
}
|
|
47
50
|
return UserCameraDropdownSeparator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.js","sourceRoot":"","sources":["../../../../src/extensible-areas/user-camera-dropdown-item/component.ts"],"names":[],"mappings":";;;AAAA,iCAAqD;
|
|
1
|
+
{"version":3,"file":"component.js","sourceRoot":"","sources":["../../../../src/extensible-areas/user-camera-dropdown-item/component.ts"],"names":[],"mappings":";;;AAAA,iCAAqD;AAQrD,qCAAqC;AAErC;IAaE;;;;;;;;;OASG;IACH,kCAAY,EAGoB;YAF9B,aAAU,EAAV,KAAK,mBAAG,EAAE,KAAA,EAAE,YAAS,EAAT,IAAI,mBAAG,EAAE,KAAA,EAAE,eAAkB,EAAlB,OAAO,mBAAG,cAAO,CAAC,KAAA,EACzC,uBAA4B,EAA5B,eAAe,mBAAG,cAAM,OAAA,IAAI,EAAJ,CAAI,KAAA;QAF9B,iBASC;QA/BD,OAAE,GAAW,EAAE,CAAC;QAiChB,cAAS,GAAyB,UAAC,EAAU;YAC3C,KAAI,CAAC,EAAE,GAAG,mCAA4B,EAAE,CAAE,CAAC;QAC7C,CAAC,CAAC;QATA,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,kCAA0B,CAAC,MAAM,CAAC;IAChD,CAAC;IAKH,+BAAC;AAAD,CAAC,AArCD,IAqCC;AArCY,4DAAwB;AAuCrC;IAOE;;;;;OAKG;IACH,qCAAY,EAEyD;YAFzD,qBAE0B,EAAE,eAAe,EAAE,cAAM,OAAA,IAAI,EAAJ,CAAI,EAAE,KAAA,EADnE,eAAe,qBAAA;QADjB,iBAKC;QAjBD,OAAE,GAAW,EAAE,CAAC;QAmBhB,cAAS,GAAyB,UAAC,EAAU;YAC3C,KAAI,CAAC,EAAE,GAAG,sCAA+B,EAAE,CAAE,CAAC;QAChD,CAAC,CAAC;QANA,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,IAAI,GAAG,kCAA0B,CAAC,SAAS,CAAC;IACnD,CAAC;IAKH,kCAAC;AAAD,CAAC,AAvBD,IAuBC;AAvBY,kEAA2B"}
|
|
@@ -1,4 +1,12 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
1
2
|
import { PluginProvidedUiItemDescriptor } from '../base';
|
|
3
|
+
export interface UserCameraDropdownCallbackFunctionsArguments {
|
|
4
|
+
streamId: string;
|
|
5
|
+
userId: string;
|
|
6
|
+
}
|
|
7
|
+
export interface OnclickFunctionCallbackArguments extends UserCameraDropdownCallbackFunctionsArguments {
|
|
8
|
+
browserClickEvent: React.MouseEvent<HTMLElement>;
|
|
9
|
+
}
|
|
2
10
|
/**
|
|
3
11
|
* User Camera Dropdown Item - The general user camera dropdown extensible area item
|
|
4
12
|
*
|
|
@@ -6,9 +14,14 @@ import { PluginProvidedUiItemDescriptor } from '../base';
|
|
|
6
14
|
* This dropdown is located on the bottom left corner of the user webcam area
|
|
7
15
|
*/
|
|
8
16
|
export interface UserCameraDropdownInterface extends PluginProvidedUiItemDescriptor {
|
|
17
|
+
displayFunction?: (args: UserCameraDropdownCallbackFunctionsArguments) => boolean;
|
|
18
|
+
}
|
|
19
|
+
export interface UserCameraDropdownSeparatorProps {
|
|
20
|
+
displayFunction?: (args: UserCameraDropdownCallbackFunctionsArguments) => boolean;
|
|
9
21
|
}
|
|
10
22
|
export interface UserCameraDropdownOptionProps {
|
|
11
23
|
label: string;
|
|
12
24
|
icon: string;
|
|
13
|
-
onClick: () => void;
|
|
25
|
+
onClick: (args: OnclickFunctionCallbackArguments) => void;
|
|
26
|
+
displayFunction?: (args: UserCameraDropdownCallbackFunctionsArguments) => boolean;
|
|
14
27
|
}
|