bigbluebutton-html-plugin-sdk 0.0.55 → 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.
Files changed (55) hide show
  1. package/README.md +13 -0
  2. package/dist/cjs/core/api/BbbPluginSdk.js +12 -9
  3. package/dist/cjs/core/api/BbbPluginSdk.js.map +1 -1
  4. package/dist/cjs/core/api/types.d.ts +14 -1
  5. package/dist/cjs/data-consumption/domain/chat/loaded-chat-messages/types.d.ts +1 -0
  6. package/dist/cjs/dom-element-manipulation/enums.d.ts +2 -1
  7. package/dist/cjs/dom-element-manipulation/enums.js +1 -0
  8. package/dist/cjs/dom-element-manipulation/enums.js.map +1 -1
  9. package/dist/cjs/dom-element-manipulation/type.d.ts +2 -1
  10. package/dist/cjs/dom-element-manipulation/user-camera/hooks.d.ts +1 -0
  11. package/dist/cjs/dom-element-manipulation/user-camera/hooks.js +55 -0
  12. package/dist/cjs/dom-element-manipulation/user-camera/hooks.js.map +1 -0
  13. package/dist/cjs/dom-element-manipulation/user-camera/types.d.ts +8 -0
  14. package/dist/cjs/dom-element-manipulation/user-camera/types.js +3 -0
  15. package/dist/cjs/dom-element-manipulation/user-camera/types.js.map +1 -0
  16. package/dist/cjs/extensible-areas/base.d.ts +2 -1
  17. package/dist/cjs/extensible-areas/index.d.ts +1 -0
  18. package/dist/cjs/extensible-areas/index.js +1 -0
  19. package/dist/cjs/extensible-areas/index.js.map +1 -1
  20. package/dist/cjs/extensible-areas/screenshare-helper-item/component.d.ts +30 -0
  21. package/dist/cjs/extensible-areas/screenshare-helper-item/component.js +41 -0
  22. package/dist/cjs/extensible-areas/screenshare-helper-item/component.js.map +1 -0
  23. package/dist/cjs/extensible-areas/screenshare-helper-item/enums.d.ts +12 -0
  24. package/dist/cjs/extensible-areas/screenshare-helper-item/enums.js +19 -0
  25. package/dist/cjs/extensible-areas/screenshare-helper-item/enums.js.map +1 -0
  26. package/dist/cjs/extensible-areas/screenshare-helper-item/index.d.ts +3 -0
  27. package/dist/cjs/extensible-areas/screenshare-helper-item/index.js +8 -0
  28. package/dist/cjs/extensible-areas/screenshare-helper-item/index.js.map +1 -0
  29. package/dist/cjs/extensible-areas/screenshare-helper-item/types.d.ts +22 -0
  30. package/dist/cjs/extensible-areas/screenshare-helper-item/types.js +3 -0
  31. package/dist/cjs/extensible-areas/screenshare-helper-item/types.js.map +1 -0
  32. package/dist/cjs/extensible-areas/user-camera-dropdown-item/component.d.ts +6 -4
  33. package/dist/cjs/extensible-areas/user-camera-dropdown-item/component.js +5 -2
  34. package/dist/cjs/extensible-areas/user-camera-dropdown-item/component.js.map +1 -1
  35. package/dist/cjs/extensible-areas/user-camera-dropdown-item/types.d.ts +14 -1
  36. package/dist/cjs/server-commands/chat/commands.d.ts +22 -0
  37. package/dist/cjs/server-commands/chat/commands.js +47 -0
  38. package/dist/cjs/server-commands/chat/commands.js.map +1 -0
  39. package/dist/cjs/server-commands/chat/constants.d.ts +1 -0
  40. package/dist/cjs/server-commands/chat/constants.js +5 -0
  41. package/dist/cjs/server-commands/chat/constants.js.map +1 -0
  42. package/dist/cjs/server-commands/chat/enum.d.ts +3 -0
  43. package/dist/cjs/server-commands/chat/enum.js +8 -0
  44. package/dist/cjs/server-commands/chat/enum.js.map +1 -0
  45. package/dist/cjs/server-commands/chat/types.d.ts +13 -0
  46. package/dist/cjs/server-commands/chat/types.js +3 -0
  47. package/dist/cjs/server-commands/chat/types.js.map +1 -0
  48. package/dist/cjs/server-commands/commands.d.ts +5 -1
  49. package/dist/cjs/server-commands/commands.js +5 -2
  50. package/dist/cjs/server-commands/commands.js.map +1 -1
  51. package/dist/cjs/server-commands/index.d.ts +1 -0
  52. package/dist/cjs/server-commands/index.js +3 -1
  53. package/dist/cjs/server-commands/index.js.map +1 -1
  54. package/dist/cjs/server-commands/types.d.ts +2 -0
  55. package/package.json +1 -1
package/README.md CHANGED
@@ -259,9 +259,22 @@ See usage ahead:
259
259
 
260
260
  So the idea is that we have a `uiCommands` object and at a point, there will be the command to do the intended action, such as open the chat form and/or fill it, as demonstrated above
261
261
 
262
+ ### Server Commands
263
+
264
+ `serverCommands` object: It contains all the possible commands available to the developer to interact with the BBB core server, see the ones implemented down below:
265
+
266
+ - chat:
267
+ - sendPublicMessage: this function sends a text message along with an optional custom metadata to the public chat
268
+ > Note: messages sent by plugins are not natively rendered by the client.
269
+ > They have to be custom-rendered by plugins using `useLoadedChatMessages` and `useChatMessageDomElements`.
270
+ - caption:
271
+ - save: this function saves the given text, locale and caption type
272
+ - addLocale: this function sends a locale to be added to the available options
273
+
262
274
  ### Dom Element Manipulation
263
275
 
264
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;
265
278
 
266
279
  ### Learning Analytics Dashboard integration
267
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("../../data-consumption/domain/user-voice/talking-indicator/hooks");
20
- var hooks_10 = require("../../ui-data-hooks/hooks");
21
- var hooks_11 = require("../../data-consumption/domain/meeting/from-core/hooks");
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 hooks_12 = require("../../learning-analytics-dashboard/hooks");
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,14 +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, hooks_11.useMeeting)(); });
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, hooks_9.useTalkingIndicator)(); });
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.serverCommands = commands_2.serverCommands;
60
- pluginApi.useUiData = hooks_10.useUiData;
61
+ pluginApi.useUiData = hooks_11.useUiData;
61
62
  var pluginName = pluginApi === null || pluginApi === void 0 ? void 0 : pluginApi.pluginName;
62
63
  if (pluginName) {
63
64
  pluginApi.useDataChannel = (function (channelName, dataChannelType, subChannelName) {
@@ -66,7 +67,8 @@ var BbbPluginSdk = /** @class */ (function () {
66
67
  return (0, hooks_1.useDataChannelGeneral)(channelName, subChannelName, pluginName, window.bbb_plugins[uuid], dataChannelType);
67
68
  });
68
69
  pluginApi.usePluginSettings = function () { return (0, settings_1.usePluginSettings)(pluginName); };
69
- pluginApi.sendGenericDataForLearningAnalyticsDashboard = function (data) { return (0, hooks_12.sendGenericDataForLearningAnalyticsDashboard)(data, pluginName); };
70
+ pluginApi.serverCommands = (0, commands_2.serverCommands)(pluginName);
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":"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"}
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 = (userListDropdownItem: NavBarInterface[]) => string[];
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 @@ export interface LoadedChatMessage {
4
4
  message: string;
5
5
  messageId: string;
6
6
  senderUserId: string;
7
+ messageMetadata: string;
7
8
  }
8
9
  export type UseLoadedChatMessagesFunction = () => GraphqlResponseWrapper<LoadedChatMessage[]>;
@@ -1,3 +1,4 @@
1
1
  export declare enum DomElementManipulationHooks {
2
- CHAT_MESSAGE = "CHAT_MESSAGE"
2
+ CHAT_MESSAGE = "CHAT_MESSAGE",
3
+ USER_CAMERA = "USER_CAMERA"
3
4
  }
@@ -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,2BAEX;AAFD,WAAY,2BAA2B;IACrC,4DAA6B,CAAA;AAC/B,CAAC,EAFW,2BAA2B,2CAA3B,2BAA2B,QAEtC"}
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
- export type DomElementManipulationArguments = ChatMessageDomElementsArguments;
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,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -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,3 @@
1
+ export { ScreenshareHelperButton, } from './component';
2
+ export { ScreenshareHelperInterface, } from './types';
3
+ export { ScreenshareHelperItemPosition, } from './enums';
@@ -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,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -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;AAKrD,qCAAqC;AAErC;IAWE;;;;;;;;;OASG;IACH,kCAAY,EAEoB;YAD9B,aAAU,EAAV,KAAK,mBAAG,EAAE,KAAA,EAAE,YAAS,EAAT,IAAI,mBAAG,EAAE,KAAA,EAAE,eAAkB,EAAlB,OAAO,mBAAG,cAAO,CAAC,KAAA;QAD3C,iBAOC;QA3BD,OAAE,GAAW,EAAE,CAAC;QA6BhB,cAAS,GAAyB,UAAC,EAAU;YAC3C,KAAI,CAAC,EAAE,GAAG,mCAA4B,EAAE,CAAE,CAAC;QAC7C,CAAC,CAAC;QARA,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,AAjCD,IAiCC;AAjCY,4DAAwB;AAmCrC;IAKE;;;;;OAKG;IACH;QAAA,iBAEC;QAZD,OAAE,GAAW,EAAE,CAAC;QAchB,cAAS,GAAyB,UAAC,EAAU;YAC3C,KAAI,CAAC,EAAE,GAAG,sCAA+B,EAAE,CAAE,CAAC;QAChD,CAAC,CAAC;QALA,IAAI,CAAC,IAAI,GAAG,kCAA0B,CAAC,SAAS,CAAC;IACnD,CAAC;IAKH,kCAAC;AAAD,CAAC,AAlBD,IAkBC;AAlBY,kEAA2B"}
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
  }
@@ -0,0 +1,22 @@
1
+ import { ChatSendMessageCommandArguments } from './types';
2
+ export declare const chat: (pluginName: string) => {
3
+ /**
4
+ * Sends chat message to the public chat.
5
+ *
6
+ * @param chatSendMessageCommandArguments the text and custom metadata(optional)
7
+ * to be sent in the public chat message.
8
+ * Refer to {@link ChatSendMessageCommandArguments} to understand the argument
9
+ * structure.
10
+ */
11
+ sendPublicChatMessage: (chatSendPublicChatMessageCommandArguments: ChatSendMessageCommandArguments) => void;
12
+ /**
13
+ * Sends custom chat message to the public chat. Custom messages are not rendered by
14
+ * the BBB client and are meant to be rendered in a custom manner by the plugin.
15
+ *
16
+ * @param chatSendMessageCommandArguments the text and custom metadata(optional)
17
+ * to be sent in the public chat message.
18
+ * Refer to {@link ChatSendMessageCommandArguments} to understand the argument
19
+ * structure.
20
+ */
21
+ sendCustomPublicChatMessage: (chatSendCustomPublicChatMessageCommandArguments: ChatSendMessageCommandArguments) => void;
22
+ };
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.chat = void 0;
15
+ var constants_1 = require("./constants");
16
+ var enum_1 = require("./enum");
17
+ var chat = function (pluginName) { return ({
18
+ /**
19
+ * Sends chat message to the public chat.
20
+ *
21
+ * @param chatSendMessageCommandArguments the text and custom metadata(optional)
22
+ * to be sent in the public chat message.
23
+ * Refer to {@link ChatSendMessageCommandArguments} to understand the argument
24
+ * structure.
25
+ */
26
+ sendPublicChatMessage: function (chatSendPublicChatMessageCommandArguments) {
27
+ window.dispatchEvent(new CustomEvent(enum_1.ChatCommandsEnum.SEND_MESSAGE, {
28
+ detail: __assign({ chatId: constants_1.PUBLIC_CHAT_ID, pluginName: pluginName, custom: false }, chatSendPublicChatMessageCommandArguments),
29
+ }));
30
+ },
31
+ /**
32
+ * Sends custom chat message to the public chat. Custom messages are not rendered by
33
+ * the BBB client and are meant to be rendered in a custom manner by the plugin.
34
+ *
35
+ * @param chatSendMessageCommandArguments the text and custom metadata(optional)
36
+ * to be sent in the public chat message.
37
+ * Refer to {@link ChatSendMessageCommandArguments} to understand the argument
38
+ * structure.
39
+ */
40
+ sendCustomPublicChatMessage: function (chatSendCustomPublicChatMessageCommandArguments) {
41
+ window.dispatchEvent(new CustomEvent(enum_1.ChatCommandsEnum.SEND_MESSAGE, {
42
+ detail: __assign({ chatId: constants_1.PUBLIC_CHAT_ID, pluginName: pluginName, custom: true }, chatSendCustomPublicChatMessageCommandArguments),
43
+ }));
44
+ },
45
+ }); };
46
+ exports.chat = chat;
47
+ //# sourceMappingURL=commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../../../src/server-commands/chat/commands.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,yCAA6C;AAC7C,+BAA0C;AAMnC,IAAM,IAAI,GAAG,UAAC,UAAkB,IAAK,OAAA,CAAC;IAC3C;;;;;;;OAOG;IACH,qBAAqB,EAAE,UACrB,yCAA0E;QAE1E,MAAM,CAAC,aAAa,CAClB,IAAI,WAAW,CAEb,uBAAgB,CAAC,YAAY,EAAE;YAC/B,MAAM,aACJ,MAAM,EAAE,0BAAc,EACtB,UAAU,YAAA,EACV,MAAM,EAAE,KAAK,IACV,yCAAyC,CAC7C;SACF,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACH,2BAA2B,EAAE,UAC3B,+CAAgF;QAEhF,MAAM,CAAC,aAAa,CAClB,IAAI,WAAW,CAEb,uBAAgB,CAAC,YAAY,EAAE;YAC/B,MAAM,aACJ,MAAM,EAAE,0BAAc,EACtB,UAAU,YAAA,EACV,MAAM,EAAE,IAAI,IACT,+CAA+C,CACnD;SACF,CAAC,CACH,CAAC;IACJ,CAAC;CACF,CAAC,EAnD0C,CAmD1C,CAAC;AAnDU,QAAA,IAAI,QAmDd"}
@@ -0,0 +1 @@
1
+ export declare const PUBLIC_CHAT_ID = "MAIN-PUBLIC-GROUP-CHAT";
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PUBLIC_CHAT_ID = void 0;
4
+ exports.PUBLIC_CHAT_ID = 'MAIN-PUBLIC-GROUP-CHAT';
5
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/server-commands/chat/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,cAAc,GAAG,wBAAwB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare enum ChatCommandsEnum {
2
+ SEND_MESSAGE = "CHAT_SEND_MESSAGE"
3
+ }
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ChatCommandsEnum = void 0;
4
+ var ChatCommandsEnum;
5
+ (function (ChatCommandsEnum) {
6
+ ChatCommandsEnum["SEND_MESSAGE"] = "CHAT_SEND_MESSAGE";
7
+ })(ChatCommandsEnum || (exports.ChatCommandsEnum = ChatCommandsEnum = {}));
8
+ //# sourceMappingURL=enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enum.js","sourceRoot":"","sources":["../../../../src/server-commands/chat/enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,gBAEX;AAFD,WAAY,gBAAgB;IAC1B,sDAAkC,CAAA;AACpC,CAAC,EAFW,gBAAgB,gCAAhB,gBAAgB,QAE3B"}
@@ -0,0 +1,13 @@
1
+ export interface ChatSendMessageCommandArguments {
2
+ textMessageInMarkdownFormat: string;
3
+ pluginCustomMetadata?: string;
4
+ }
5
+ export interface ChatSendMessageEventArguments extends ChatSendMessageCommandArguments {
6
+ pluginName: string;
7
+ chatId: string;
8
+ custom: boolean;
9
+ }
10
+ export interface ServerCommandsChatObject {
11
+ sendCustomPublicChatMessage: (chatSendCustomPublicChatMessageCommandArguments: ChatSendMessageCommandArguments) => void;
12
+ sendPublicChatMessage: (chatSendPublicChatMessageCommandArguments: ChatSendMessageCommandArguments) => void;
13
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/server-commands/chat/types.ts"],"names":[],"mappings":""}
@@ -1,6 +1,10 @@
1
- export declare const serverCommands: {
1
+ export declare const serverCommands: (pluginName: string) => {
2
2
  caption: {
3
3
  save: (captionSaveCommandArguments: import("./caption/types").CaptionSaveCommandArguments) => void;
4
4
  addLocale: (captionAddLocaleCommandArguments: string) => void;
5
5
  };
6
+ chat: {
7
+ sendPublicChatMessage: (chatSendPublicChatMessageCommandArguments: import("./chat/types").ChatSendMessageCommandArguments) => void;
8
+ sendCustomPublicChatMessage: (chatSendCustomPublicChatMessageCommandArguments: import("./chat/types").ChatSendMessageCommandArguments) => void;
9
+ };
6
10
  };
@@ -2,7 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.serverCommands = void 0;
4
4
  var commands_1 = require("./caption/commands");
5
- exports.serverCommands = {
5
+ var commands_2 = require("./chat/commands");
6
+ var serverCommands = function (pluginName) { return ({
6
7
  caption: commands_1.caption,
7
- };
8
+ chat: (0, commands_2.chat)(pluginName),
9
+ }); };
10
+ exports.serverCommands = serverCommands;
8
11
  //# sourceMappingURL=commands.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../../src/server-commands/commands.ts"],"names":[],"mappings":";;;AAAA,+CAA6C;AAEhC,QAAA,cAAc,GAAG;IAC5B,OAAO,oBAAA;CACR,CAAC"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../../src/server-commands/commands.ts"],"names":[],"mappings":";;;AAAA,+CAA6C;AAC7C,4CAAuC;AAEhC,IAAM,cAAc,GAAG,UAAC,UAAkB,IAAK,OAAA,CAAC;IACrD,OAAO,oBAAA;IACP,IAAI,EAAE,IAAA,eAAI,EAAC,UAAU,CAAC;CACvB,CAAC,EAHoD,CAGpD,CAAC;AAHU,QAAA,cAAc,kBAGxB"}
@@ -1 +1,2 @@
1
1
  export { CaptionCommandsEnum, CaptionsTypeEnum } from './caption/enum';
2
+ export { ChatCommandsEnum } from './chat/enum';
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CaptionsTypeEnum = exports.CaptionCommandsEnum = void 0;
3
+ exports.ChatCommandsEnum = exports.CaptionsTypeEnum = exports.CaptionCommandsEnum = void 0;
4
4
  var enum_1 = require("./caption/enum");
5
5
  Object.defineProperty(exports, "CaptionCommandsEnum", { enumerable: true, get: function () { return enum_1.CaptionCommandsEnum; } });
6
6
  Object.defineProperty(exports, "CaptionsTypeEnum", { enumerable: true, get: function () { return enum_1.CaptionsTypeEnum; } });
7
+ var enum_2 = require("./chat/enum");
8
+ Object.defineProperty(exports, "ChatCommandsEnum", { enumerable: true, get: function () { return enum_2.ChatCommandsEnum; } });
7
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server-commands/index.ts"],"names":[],"mappings":";;;AAAA,uCAAuE;AAA9D,2GAAA,mBAAmB,OAAA;AAAE,wGAAA,gBAAgB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server-commands/index.ts"],"names":[],"mappings":";;;AAAA,uCAAuE;AAA9D,2GAAA,mBAAmB,OAAA;AAAE,wGAAA,gBAAgB,OAAA;AAC9C,oCAA+C;AAAtC,wGAAA,gBAAgB,OAAA"}
@@ -1,4 +1,6 @@
1
1
  import { ServerCommandsCaptionObject } from './caption/types';
2
+ import { ServerCommandsChatObject } from './chat/types';
2
3
  export interface ServerCommands {
3
4
  caption: ServerCommandsCaptionObject;
5
+ chat: ServerCommandsChatObject;
4
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bigbluebutton-html-plugin-sdk",
3
- "version": "0.0.55",
3
+ "version": "0.0.57",
4
4
  "homepage": "https://github.com/bigbluebutton/bigbluebutton-html-plugin-sdk",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",