bigbluebutton-html-plugin-sdk 0.0.56 → 0.0.58

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 (60) hide show
  1. package/README.md +8 -3
  2. package/dist/cjs/core/api/BbbPluginSdk.js +13 -9
  3. package/dist/cjs/core/api/BbbPluginSdk.js.map +1 -1
  4. package/dist/cjs/core/api/types.d.ts +16 -1
  5. package/dist/cjs/core/enum.d.ts +9 -3
  6. package/dist/cjs/core/enum.js +9 -3
  7. package/dist/cjs/core/enum.js.map +1 -1
  8. package/dist/cjs/data-channel/hooks.js +2 -2
  9. package/dist/cjs/data-channel/hooks.js.map +1 -1
  10. package/dist/cjs/data-channel/utils.js +3 -3
  11. package/dist/cjs/data-channel/utils.js.map +1 -1
  12. package/dist/cjs/data-consumption/factory/hookCreator.js +7 -7
  13. package/dist/cjs/data-consumption/factory/hookCreator.js.map +1 -1
  14. package/dist/cjs/dom-element-manipulation/chat/message/hooks.d.ts +1 -1
  15. package/dist/cjs/dom-element-manipulation/chat/message/hooks.js +56 -30
  16. package/dist/cjs/dom-element-manipulation/chat/message/hooks.js.map +1 -1
  17. package/dist/cjs/dom-element-manipulation/chat/message/types.d.ts +1 -0
  18. package/dist/cjs/dom-element-manipulation/enums.d.ts +2 -1
  19. package/dist/cjs/dom-element-manipulation/enums.js +1 -0
  20. package/dist/cjs/dom-element-manipulation/enums.js.map +1 -1
  21. package/dist/cjs/dom-element-manipulation/type.d.ts +2 -1
  22. package/dist/cjs/dom-element-manipulation/user-camera/hooks.d.ts +1 -0
  23. package/dist/cjs/dom-element-manipulation/user-camera/hooks.js +80 -0
  24. package/dist/cjs/dom-element-manipulation/user-camera/hooks.js.map +1 -0
  25. package/dist/cjs/dom-element-manipulation/user-camera/types.d.ts +9 -0
  26. package/dist/cjs/dom-element-manipulation/user-camera/types.js +3 -0
  27. package/dist/cjs/dom-element-manipulation/user-camera/types.js.map +1 -0
  28. package/dist/cjs/extensible-areas/base.d.ts +3 -1
  29. package/dist/cjs/extensible-areas/index.d.ts +2 -0
  30. package/dist/cjs/extensible-areas/index.js +2 -0
  31. package/dist/cjs/extensible-areas/index.js.map +1 -1
  32. package/dist/cjs/extensible-areas/screenshare-helper-item/component.d.ts +30 -0
  33. package/dist/cjs/extensible-areas/screenshare-helper-item/component.js +41 -0
  34. package/dist/cjs/extensible-areas/screenshare-helper-item/component.js.map +1 -0
  35. package/dist/cjs/extensible-areas/screenshare-helper-item/enums.d.ts +12 -0
  36. package/dist/cjs/extensible-areas/screenshare-helper-item/enums.js +19 -0
  37. package/dist/cjs/extensible-areas/screenshare-helper-item/enums.js.map +1 -0
  38. package/dist/cjs/extensible-areas/screenshare-helper-item/index.d.ts +3 -0
  39. package/dist/cjs/extensible-areas/screenshare-helper-item/index.js +8 -0
  40. package/dist/cjs/extensible-areas/screenshare-helper-item/index.js.map +1 -0
  41. package/dist/cjs/extensible-areas/screenshare-helper-item/types.d.ts +26 -0
  42. package/dist/cjs/extensible-areas/screenshare-helper-item/types.js +3 -0
  43. package/dist/cjs/extensible-areas/screenshare-helper-item/types.js.map +1 -0
  44. package/dist/cjs/extensible-areas/user-camera-dropdown-item/component.d.ts +6 -4
  45. package/dist/cjs/extensible-areas/user-camera-dropdown-item/component.js +5 -2
  46. package/dist/cjs/extensible-areas/user-camera-dropdown-item/component.js.map +1 -1
  47. package/dist/cjs/extensible-areas/user-camera-dropdown-item/types.d.ts +14 -1
  48. package/dist/cjs/extensible-areas/user-camera-helper-item/component.d.ts +31 -0
  49. package/dist/cjs/extensible-areas/user-camera-helper-item/component.js +42 -0
  50. package/dist/cjs/extensible-areas/user-camera-helper-item/component.js.map +1 -0
  51. package/dist/cjs/extensible-areas/user-camera-helper-item/enums.d.ts +12 -0
  52. package/dist/cjs/extensible-areas/user-camera-helper-item/enums.js +19 -0
  53. package/dist/cjs/extensible-areas/user-camera-helper-item/enums.js.map +1 -0
  54. package/dist/cjs/extensible-areas/user-camera-helper-item/index.d.ts +3 -0
  55. package/dist/cjs/extensible-areas/user-camera-helper-item/index.js +8 -0
  56. package/dist/cjs/extensible-areas/user-camera-helper-item/index.js.map +1 -0
  57. package/dist/cjs/extensible-areas/user-camera-helper-item/types.d.ts +33 -0
  58. package/dist/cjs/extensible-areas/user-camera-helper-item/types.js +3 -0
  59. package/dist/cjs/extensible-areas/user-camera-helper-item/types.js.map +1 -0
  60. package/package.json +1 -1
package/README.md CHANGED
@@ -106,6 +106,8 @@ That being said, here are the extensible areas we have so far:
106
106
  - User list item additional information (item, label)
107
107
  - Floating window item (floatingWindow)
108
108
  - Generic Content (main, sidekick)
109
+ - User Camera Helper (button)
110
+ - Screenshare Helper (button)
109
111
 
110
112
  Mind that no plugin will interfere into another's extensible area. So feel free to set whatever you need into a certain plugin with no worries.
111
113
 
@@ -264,9 +266,11 @@ So the idea is that we have a `uiCommands` object and at a point, there will be
264
266
  `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
267
 
266
268
  - 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`.
269
+ - sendPublicMessage: This function sends a message to the public chat on behalf of the currently logged-in user.
270
+
271
+ - sendCustomPublicMessage: This function sends a text message to the public chat, optionally including custom metadata.
272
+ > **Note**: The custom messages sent by plugins are not automatically rendered by the client. To display these messages, a plugin must handle the rendering using `useLoadedChatMessages` and `useChatMessageDomElements`.
273
+
270
274
  - caption:
271
275
  - save: this function saves the given text, locale and caption type
272
276
  - addLocale: this function sends a locale to be added to the available options
@@ -274,6 +278,7 @@ So the idea is that we have a `uiCommands` object and at a point, there will be
274
278
  ### Dom Element Manipulation
275
279
 
276
280
  - `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.;
281
+ - `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
282
 
278
283
  ### Learning Analytics Dashboard integration
279
284
 
@@ -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,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, 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
- pluginApi.useChatMessageDomElements = function (messageIds) { return (0, hooks_8.useChatMessageDomElements)(messageIds); };
58
+ pluginApi.useChatMessageDomElements = function (messageIds) { return (0, hooks_8.useChatMessageDomElements)(messageIds, uuid); };
59
+ pluginApi.useUserCameraDomElements = function (streamIds) { return (0, hooks_9.useUserCameraDomElements)(streamIds, uuid); };
58
60
  pluginApi.uiCommands = commands_1.uiCommands;
59
- pluginApi.useUiData = hooks_10.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, hooks_12.sendGenericDataForLearningAnalyticsDashboard)(data, 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,8 @@ var BbbPluginSdk = /** @class */ (function () {
111
113
  setAudioSettingsDropdownItems: function () { return []; },
112
114
  setPresentationDropdownItems: function () { return []; },
113
115
  setNavBarItems: function () { return []; },
116
+ setScreenshareHelperItems: function () { return []; },
117
+ setUserCameraHelperItems: function () { return []; },
114
118
  setOptionsDropdownItems: function () { return []; },
115
119
  setCameraSettingsDropdownItems: function () { return []; },
116
120
  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,17 @@ 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, UserCameraHelperInterface } 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[];
41
+ export type SetUserCameraHelperItems = (userCameraHelperItem: UserCameraHelperInterface[]) => string[];
38
42
  export type SetOptionsDropdownItems = (optionsDropdownItem: OptionsDropdownInterface[]) => string[];
39
43
  export type SetCameraSettingsDropdownItems = (cameraSettingsDropdownItem: CameraSettingsDropdownInterface[]) => string[];
40
44
  export type SetUserCameraDropdownItems = (userCameraDropdownItem: UserCameraDropdownInterface[]) => string[];
@@ -52,6 +56,8 @@ export interface PluginApi {
52
56
  setAudioSettingsDropdownItems: SetAudioSettingsDropdownItems;
53
57
  setPresentationDropdownItems: SetPresentationDropdownItems;
54
58
  setNavBarItems: SetNavBarItems;
59
+ setScreenshareHelperItems: SetScreenshareHelperItems;
60
+ setUserCameraHelperItems: SetUserCameraHelperItems;
55
61
  setOptionsDropdownItems: SetOptionsDropdownItems;
56
62
  setCameraSettingsDropdownItems: SetCameraSettingsDropdownItems;
57
63
  setUserCameraDropdownItems: SetUserCameraDropdownItems;
@@ -167,6 +173,15 @@ export interface PluginApi {
167
173
  *
168
174
  */
169
175
  useChatMessageDomElements?: UseChatMessageDomElementsFunction;
176
+ /**
177
+ * Returns an array with the DOM elements for the webcams corresponding to each streamId passed.
178
+ *
179
+ * @param streamIds - Ids of the user-camera streams one wants to retrieve in the form of an array
180
+ * @returns The array of an object with DOM elements (in this case, div) and the id
181
+ * of the stream
182
+ *
183
+ */
184
+ useUserCameraDomElements?: UseUserCameraDomElementsFunction;
170
185
  getSessionToken?: GetSessionTokenFunction;
171
186
  getJoinUrl?: GetJoinUrlFunction;
172
187
  /**
@@ -2,8 +2,14 @@ import { DataChannelHooks } from '../data-channel/enums';
2
2
  import { DomElementManipulationHooks } from '../dom-element-manipulation/enums';
3
3
  import { DataConsumptionHooks } from '../data-consumption/enums';
4
4
  export declare enum HookEvents {
5
- UPDATED = "HOOK_DATA_UPDATED",
6
- SUBSCRIBED = "PLUGIN_SUBSCRIBED_TO_HOOK",
7
- UNSUBSCRIBED = "PLUGIN_UNSUBSCRIBED_FROM_HOOK"
5
+ BBB_CORE_SENT_NEW_DATA = "BBB_CORE_SENT_NEW_DATA",
6
+ /**
7
+ * PLUGIN_SENT_CHANGES_TO_BBB_CORE is used to:
8
+ * - Comunicate that the subscription has changed for the dom-element-manipulation hook;
9
+ * - Send replace/delete event for useDataChannel;
10
+ */
11
+ PLUGIN_SENT_CHANGES_TO_BBB_CORE = "PLUGIN_SENT_CHANGES_TO_BBB_CORE",
12
+ PLUGIN_SUBSCRIBED_TO_BBB_CORE = "PLUGIN_SUBSCRIBED_TO_BBB_CORE",
13
+ PLUGIN_UNSUBSCRIBED_FROM_BBB_CORE = "PLUGIN_UNSUBSCRIBED_FROM_BBB_CORE"
8
14
  }
9
15
  export type Hooks = DataConsumptionHooks | DataChannelHooks | DomElementManipulationHooks;
@@ -3,8 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.HookEvents = void 0;
4
4
  var HookEvents;
5
5
  (function (HookEvents) {
6
- HookEvents["UPDATED"] = "HOOK_DATA_UPDATED";
7
- HookEvents["SUBSCRIBED"] = "PLUGIN_SUBSCRIBED_TO_HOOK";
8
- HookEvents["UNSUBSCRIBED"] = "PLUGIN_UNSUBSCRIBED_FROM_HOOK";
6
+ HookEvents["BBB_CORE_SENT_NEW_DATA"] = "BBB_CORE_SENT_NEW_DATA";
7
+ /**
8
+ * PLUGIN_SENT_CHANGES_TO_BBB_CORE is used to:
9
+ * - Comunicate that the subscription has changed for the dom-element-manipulation hook;
10
+ * - Send replace/delete event for useDataChannel;
11
+ */
12
+ HookEvents["PLUGIN_SENT_CHANGES_TO_BBB_CORE"] = "PLUGIN_SENT_CHANGES_TO_BBB_CORE";
13
+ HookEvents["PLUGIN_SUBSCRIBED_TO_BBB_CORE"] = "PLUGIN_SUBSCRIBED_TO_BBB_CORE";
14
+ HookEvents["PLUGIN_UNSUBSCRIBED_FROM_BBB_CORE"] = "PLUGIN_UNSUBSCRIBED_FROM_BBB_CORE";
9
15
  })(HookEvents || (exports.HookEvents = HookEvents = {}));
10
16
  //# sourceMappingURL=enum.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"enum.js","sourceRoot":"","sources":["../../../src/core/enum.ts"],"names":[],"mappings":";;;AAIA,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,2CAA6B,CAAA;IAC7B,sDAAwC,CAAA;IACxC,4DAA8C,CAAA;AAChD,CAAC,EAJW,UAAU,0BAAV,UAAU,QAIrB"}
1
+ {"version":3,"file":"enum.js","sourceRoot":"","sources":["../../../src/core/enum.ts"],"names":[],"mappings":";;;AAIA,IAAY,UAUX;AAVD,WAAY,UAAU;IACpB,+DAAiD,CAAA;IACjD;;;;OAIG;IACH,iFAAmE,CAAA;IACnE,6EAA+D,CAAA;IAC/D,qFAAuE,CAAA;AACzE,CAAC,EAVW,UAAU,0BAAV,UAAU,QAUrB"}
@@ -25,7 +25,7 @@ exports.useDataChannelGeneral = (function (channelName, subChannelName, pluginNa
25
25
  (0, react_1.useEffect)(function () {
26
26
  window.addEventListener(channelIdentifier, handleDataChange);
27
27
  window.addEventListener("".concat(channelIdentifier, "::pushEntryFunction"), handleListenToChangePushEntryFunction);
28
- window.dispatchEvent(new CustomEvent(enum_1.HookEvents.SUBSCRIBED, {
28
+ window.dispatchEvent(new CustomEvent(enum_1.HookEvents.PLUGIN_SUBSCRIBED_TO_BBB_CORE, {
29
29
  detail: {
30
30
  hook: enums_1.DataChannelHooks.DATA_CHANNEL_BUILDER,
31
31
  hookArguments: {
@@ -37,7 +37,7 @@ exports.useDataChannelGeneral = (function (channelName, subChannelName, pluginNa
37
37
  },
38
38
  }));
39
39
  return function () {
40
- window.dispatchEvent(new CustomEvent(enum_1.HookEvents.UNSUBSCRIBED, {
40
+ window.dispatchEvent(new CustomEvent(enum_1.HookEvents.PLUGIN_UNSUBSCRIBED_FROM_BBB_CORE, {
41
41
  detail: {
42
42
  hook: enums_1.DataChannelHooks.DATA_CHANNEL_BUILDER,
43
43
  hookArguments: {
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../src/data-channel/hooks.ts"],"names":[],"mappings":";;;AAAA,+BAA4C;AAa5C,qCAEsB;AAKtB,iCAA6D;AAC7D,iCAAqG;AAExF,QAAA,qBAAqB,GAAG,CAAC,UACpC,WAAmB,EAAE,cAAsB,EAC3C,UAAkB,EAAE,SAAoB,EACxC,eAAiC;IAE3B,IAAA,KAAkB,IAAA,gBAAQ,EAC9B,EAAE,OAAO,EAAE,IAAI,EAAE,CAClB,EAFM,IAAI,QAAA,EAAE,OAAO,QAEnB,CAAC;IACI,IAAA,KAA4C,IAAA,gBAAQ,GAAwB,EAA3E,iBAAiB,QAAA,EAAE,oBAAoB,QAAoC,CAAC;IAEnF,IAAM,mBAAmB,GAAwB,UAC/C,cAAgC,IAC7B,OAAA,IAAA,+BAAuB,EAAC,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE,UAAU,CAAC,EAAhF,CAAgF,CAAC;IAEtF,IAAM,oBAAoB,GAAyB,UACjD,OAAO,EACP,WAAW,IACR,OAAA,IAAA,gCAAwB,EAAC,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,CAAC,EAAvF,CAAuF,CAAC;IAE7F,IAAM,iBAAiB,GAAG,IAAA,+BAAuB,EAAC,WAAW,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC;IAE3F,IAAM,gBAAgB,GAAkB,CAAC,UACvC,WAAwF;QAExF,IAAM,WAAW,GAAG,WAAW,CAAC,MAE/B,CAAC;QACF,IAAM,aAAa,GAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,aAAqC,CAAC;QACzE,IAAI,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,eAAe,MAAK,eAAe,EAAE;YACtD,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SAC3B;IACH,CAAC,CAAkB,CAAC;IAEpB,IAAM,qCAAqC,GAAkB,CAC3D;QACE,oBAAoB,CAAC,cAAM,OAAA,SAAS,CAAC,uBAAuB,CAAC,iBAAiB,CAAC,EAApD,CAAoD,CAAC,CAAC;QACjF,MAAM,CAAC,mBAAmB,CACxB,UAAG,iBAAiB,wBAAqB,EACzC,qCAAqC,CACtC,CAAC;IACJ,CAAC,CAAkB,CAAC;IACtB,IAAA,iBAAS,EAAC;QACR,MAAM,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;QAC7D,MAAM,CAAC,gBAAgB,CACrB,UAAG,iBAAiB,wBAAqB,EACzC,qCAAqC,CACtC,CAAC;QAEF,MAAM,CAAC,aAAa,CAAC,IAAI,WAAW,CAAyB,iBAAU,CAAC,UAAU,EAAE;YAClF,MAAM,EAAE;gBACN,IAAI,EAAE,wBAAgB,CAAC,oBAAoB;gBAC3C,aAAa,EAAE;oBACb,WAAW,aAAA;oBAAE,UAAU,YAAA;oBAAE,eAAe,iBAAA;oBAAE,cAAc,gBAAA;iBACzD;aACF;SACF,CAAC,CAAC,CAAC;QACJ,OAAO;YACL,MAAM,CAAC,aAAa,CAAC,IAAI,WAAW,CAA2B,iBAAU,CAAC,YAAY,EAAE;gBACtF,MAAM,EAAE;oBACN,IAAI,EAAE,wBAAgB,CAAC,oBAAoB;oBAC3C,aAAa,EAAE;wBACb,WAAW,aAAA;wBAAE,UAAU,YAAA;wBAAE,eAAe,iBAAA;wBAAE,cAAc,gBAAA;qBACzD;iBACF;aACF,CAAC,CAAC,CAAC;YACJ,MAAM,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;QAClE,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,OAAO;QACL,IAAI,MAAA;QACJ,SAAS,EAAE,iBAAiB;QAC5B,WAAW,EAAE,mBAAmB;QAChC,YAAY,EAAE,oBAAoB;KACnC,CAAC;AACJ,CAAC,CAAiC,CAAC"}
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../src/data-channel/hooks.ts"],"names":[],"mappings":";;;AAAA,+BAA4C;AAa5C,qCAEsB;AAKtB,iCAA6D;AAC7D,iCAAqG;AAExF,QAAA,qBAAqB,GAAG,CAAC,UACpC,WAAmB,EAAE,cAAsB,EAC3C,UAAkB,EAAE,SAAoB,EACxC,eAAiC;IAE3B,IAAA,KAAkB,IAAA,gBAAQ,EAC9B,EAAE,OAAO,EAAE,IAAI,EAAE,CAClB,EAFM,IAAI,QAAA,EAAE,OAAO,QAEnB,CAAC;IACI,IAAA,KAA4C,IAAA,gBAAQ,GAAwB,EAA3E,iBAAiB,QAAA,EAAE,oBAAoB,QAAoC,CAAC;IAEnF,IAAM,mBAAmB,GAAwB,UAC/C,cAAgC,IAC7B,OAAA,IAAA,+BAAuB,EAAC,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE,UAAU,CAAC,EAAhF,CAAgF,CAAC;IAEtF,IAAM,oBAAoB,GAAyB,UACjD,OAAO,EACP,WAAW,IACR,OAAA,IAAA,gCAAwB,EAAC,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,CAAC,EAAvF,CAAuF,CAAC;IAE7F,IAAM,iBAAiB,GAAG,IAAA,+BAAuB,EAAC,WAAW,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC;IAE3F,IAAM,gBAAgB,GAAkB,CAAC,UACvC,WAAwF;QAExF,IAAM,WAAW,GAAG,WAAW,CAAC,MAE/B,CAAC;QACF,IAAM,aAAa,GAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,aAAqC,CAAC;QACzE,IAAI,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,eAAe,MAAK,eAAe,EAAE;YACtD,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SAC3B;IACH,CAAC,CAAkB,CAAC;IAEpB,IAAM,qCAAqC,GAAkB,CAC3D;QACE,oBAAoB,CAAC,cAAM,OAAA,SAAS,CAAC,uBAAuB,CAAC,iBAAiB,CAAC,EAApD,CAAoD,CAAC,CAAC;QACjF,MAAM,CAAC,mBAAmB,CACxB,UAAG,iBAAiB,wBAAqB,EACzC,qCAAqC,CACtC,CAAC;IACJ,CAAC,CAAkB,CAAC;IACtB,IAAA,iBAAS,EAAC;QACR,MAAM,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;QAC7D,MAAM,CAAC,gBAAgB,CACrB,UAAG,iBAAiB,wBAAqB,EACzC,qCAAqC,CACtC,CAAC;QAEF,MAAM,CAAC,aAAa,CAClB,IAAI,WAAW,CAAyB,iBAAU,CAAC,6BAA6B,EAAE;YAChF,MAAM,EAAE;gBACN,IAAI,EAAE,wBAAgB,CAAC,oBAAoB;gBAC3C,aAAa,EAAE;oBACb,WAAW,aAAA;oBAAE,UAAU,YAAA;oBAAE,eAAe,iBAAA;oBAAE,cAAc,gBAAA;iBACzD;aACF;SACF,CAAC,CACH,CAAC;QACF,OAAO;YACL,MAAM,CAAC,aAAa,CAClB,IAAI,WAAW,CAA2B,iBAAU,CAAC,iCAAiC,EAAE;gBACtF,MAAM,EAAE;oBACN,IAAI,EAAE,wBAAgB,CAAC,oBAAoB;oBAC3C,aAAa,EAAE;wBACb,WAAW,aAAA;wBAAE,UAAU,YAAA;wBAAE,eAAe,iBAAA;wBAAE,cAAc,gBAAA;qBACzD;iBACF;aACF,CAAC,CACH,CAAC;YACF,MAAM,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;QAClE,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,OAAO;QACL,IAAI,MAAA;QACJ,SAAS,EAAE,iBAAiB;QAC5B,WAAW,EAAE,mBAAmB;QAChC,YAAY,EAAE,oBAAoB;KACnC,CAAC;AACJ,CAAC,CAAiC,CAAC"}
@@ -22,7 +22,7 @@ exports.formatResponseForPubSubOrKeyValue = formatResponseForPubSubOrKeyValue;
22
22
  var deleteEntryFunctionUtil = function (objectsToDelete, channelName, subChannelName, pluginName) {
23
23
  objectsToDelete.forEach(function (objectToDelete) {
24
24
  if (objectToDelete === constants_1.RESET_DATA_CHANNEL) {
25
- window.dispatchEvent(new CustomEvent(enum_1.HookEvents.UPDATED, {
25
+ window.dispatchEvent(new CustomEvent(enum_1.HookEvents.PLUGIN_SENT_CHANGES_TO_BBB_CORE, {
26
26
  detail: {
27
27
  hook: enums_1.DataChannelHooks.DATA_CHANNEL_RESET,
28
28
  hookArguments: { channelName: channelName, pluginName: pluginName, subChannelName: subChannelName },
@@ -31,7 +31,7 @@ var deleteEntryFunctionUtil = function (objectsToDelete, channelName, subChannel
31
31
  }));
32
32
  }
33
33
  else {
34
- window.dispatchEvent(new CustomEvent(enum_1.HookEvents.UPDATED, {
34
+ window.dispatchEvent(new CustomEvent(enum_1.HookEvents.PLUGIN_SENT_CHANGES_TO_BBB_CORE, {
35
35
  detail: {
36
36
  hook: enums_1.DataChannelHooks.DATA_CHANNEL_DELETE,
37
37
  hookArguments: { channelName: channelName, pluginName: pluginName, subChannelName: subChannelName },
@@ -43,7 +43,7 @@ var deleteEntryFunctionUtil = function (objectsToDelete, channelName, subChannel
43
43
  };
44
44
  exports.deleteEntryFunctionUtil = deleteEntryFunctionUtil;
45
45
  var replaceEntryFunctionUtil = function (entryId, channelName, subChannelName, pluginName, newPayloadJson) {
46
- window.dispatchEvent(new CustomEvent(enum_1.HookEvents.UPDATED, {
46
+ window.dispatchEvent(new CustomEvent(enum_1.HookEvents.PLUGIN_SENT_CHANGES_TO_BBB_CORE, {
47
47
  detail: {
48
48
  hook: enums_1.DataChannelHooks.DATA_CHANNEL_REPLACE,
49
49
  hookArguments: { channelName: channelName, pluginName: pluginName, subChannelName: subChannelName },
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/data-channel/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAKA,qCAEsB;AAKtB,iCAA2C;AAC3C,yCAAiD;AAE1C,IAAM,uBAAuB,GAAG,UAAC,WAAmB,EAAE,cAAsB,EAAE,UAAkB,IAAK,OAAA,UAAG,WAAW,eAAK,cAAc,eAAK,UAAU,CAAE,EAAlD,CAAkD,CAAC;AAAlJ,QAAA,uBAAuB,2BAA2H;AAExJ,IAAM,iCAAiC,GAAG,UAC/C,UAAqE,IACT,OAAA,uBACvD,UAAU,KACb,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,IACtD,EAH0D,CAG1D,CAAC;AALQ,QAAA,iCAAiC,qCAKzC;AAEE,IAAM,uBAAuB,GAAG,UACrC,eAAiC,EACjC,WAAmB,EACnB,cAAsB,EACtB,UAAkB;IAElB,eAAe,CAAC,OAAO,CAAC,UAAC,cAAc;QACrC,IAAI,cAAc,KAAK,8BAAkB,EAAE;YACzC,MAAM,CAAC,aAAa,CAAC,IAAI,WAAW,CAA4B,iBAAU,CAAC,OAAO,EAAE;gBAClF,MAAM,EAAE;oBACN,IAAI,EAAE,wBAAgB,CAAC,kBAAkB;oBACzC,aAAa,EAAE,EAAE,WAAW,aAAA,EAAE,UAAU,YAAA,EAAE,cAAc,gBAAA,EAAE;oBAC1D,IAAI,EAAE,SAAS;iBAChB;aACF,CAAC,CAAC,CAAC;SACL;aAAM;YACL,MAAM,CAAC,aAAa,CAAC,IAAI,WAAW,CAA8B,iBAAU,CAAC,OAAO,EAAE;gBACpF,MAAM,EAAE;oBACN,IAAI,EAAE,wBAAgB,CAAC,mBAAmB;oBAC1C,aAAa,EAAE,EAAE,WAAW,aAAA,EAAE,UAAU,YAAA,EAAE,cAAc,gBAAA,EAAE;oBAC1D,IAAI,EAAE,cAAc;iBACrB;aACF,CAAC,CAAC,CAAC;SACL;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAzBW,QAAA,uBAAuB,2BAyBlC;AAEK,IAAM,wBAAwB,GAAG,UACtC,OAAe,EACf,WAAmB,EACnB,cAAsB,EACtB,UAAkB,EAClB,cAAiB;IAEjB,MAAM,CAAC,aAAa,CAClB,IAAI,WAAW,CAAwD,iBAAU,CAAC,OAAO,EAAE;QACzF,MAAM,EAAE;YACN,IAAI,EAAE,wBAAgB,CAAC,oBAAoB;YAC3C,aAAa,EAAE,EAAE,WAAW,aAAA,EAAE,UAAU,YAAA,EAAE,cAAc,gBAAA,EAAE;YAC1D,IAAI,EAAE;gBACJ,OAAO,SAAA;gBACP,WAAW,EAAE,cAAc;aAC5B;SACF;KACF,CAAC,CACH,CAAC;AACJ,CAAC,CAAC;AAnBW,QAAA,wBAAwB,4BAmBnC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/data-channel/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAKA,qCAEsB;AAKtB,iCAA2C;AAC3C,yCAAiD;AAE1C,IAAM,uBAAuB,GAAG,UAAC,WAAmB,EAAE,cAAsB,EAAE,UAAkB,IAAK,OAAA,UAAG,WAAW,eAAK,cAAc,eAAK,UAAU,CAAE,EAAlD,CAAkD,CAAC;AAAlJ,QAAA,uBAAuB,2BAA2H;AAExJ,IAAM,iCAAiC,GAAG,UAC/C,UAAqE,IACT,OAAA,uBACvD,UAAU,KACb,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,IACtD,EAH0D,CAG1D,CAAC;AALQ,QAAA,iCAAiC,qCAKzC;AAEE,IAAM,uBAAuB,GAAG,UACrC,eAAiC,EACjC,WAAmB,EACnB,cAAsB,EACtB,UAAkB;IAElB,eAAe,CAAC,OAAO,CAAC,UAAC,cAAc;QACrC,IAAI,cAAc,KAAK,8BAAkB,EAAE;YACzC,MAAM,CAAC,aAAa,CAClB,IAAI,WAAW,CAA4B,iBAAU,CAAC,+BAA+B,EAAE;gBACrF,MAAM,EAAE;oBACN,IAAI,EAAE,wBAAgB,CAAC,kBAAkB;oBACzC,aAAa,EAAE,EAAE,WAAW,aAAA,EAAE,UAAU,YAAA,EAAE,cAAc,gBAAA,EAAE;oBAC1D,IAAI,EAAE,SAAS;iBAChB;aACF,CAAC,CACH,CAAC;SACH;aAAM;YACL,MAAM,CAAC,aAAa,CAClB,IAAI,WAAW,CAA8B,iBAAU,CAAC,+BAA+B,EAAE;gBACvF,MAAM,EAAE;oBACN,IAAI,EAAE,wBAAgB,CAAC,mBAAmB;oBAC1C,aAAa,EAAE,EAAE,WAAW,aAAA,EAAE,UAAU,YAAA,EAAE,cAAc,gBAAA,EAAE;oBAC1D,IAAI,EAAE,cAAc;iBACrB;aACF,CAAC,CACH,CAAC;SACH;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AA7BW,QAAA,uBAAuB,2BA6BlC;AAEK,IAAM,wBAAwB,GAAG,UACtC,OAAe,EACf,WAAmB,EACnB,cAAsB,EACtB,UAAkB,EAClB,cAAiB;IAEjB,MAAM,CAAC,aAAa,CAClB,IAAI,WAAW,CAEwB,iBAAU,CAAC,+BAA+B,EAAE;QAC7E,MAAM,EAAE;YACN,IAAI,EAAE,wBAAgB,CAAC,oBAAoB;YAC3C,aAAa,EAAE,EAAE,WAAW,aAAA,EAAE,UAAU,YAAA,EAAE,cAAc,gBAAA,EAAE;YAC1D,IAAI,EAAE;gBACJ,OAAO,SAAA;gBACP,WAAW,EAAE,cAAc;aAC5B;SACF;KACF,CAAC,CACP,CAAC;AACJ,CAAC,CAAC;AArBW,QAAA,wBAAwB,4BAqBnC"}
@@ -6,7 +6,7 @@ var enum_1 = require("../../core/enum");
6
6
  var utils_1 = require("../utils");
7
7
  var enums_1 = require("../enums");
8
8
  var updateCustomHookSubscription = function (hookName, handleCustomSubscriptionUpdateEvent, previousQuery, previousVariables, currentQuery, currentVariables) {
9
- window.dispatchEvent(new CustomEvent(enum_1.HookEvents.UNSUBSCRIBED, {
9
+ window.dispatchEvent(new CustomEvent(enum_1.HookEvents.PLUGIN_UNSUBSCRIBED_FROM_BBB_CORE, {
10
10
  detail: {
11
11
  hook: hookName,
12
12
  hookArguments: {
@@ -15,7 +15,7 @@ var updateCustomHookSubscription = function (hookName, handleCustomSubscriptionU
15
15
  },
16
16
  },
17
17
  }));
18
- window.dispatchEvent(new CustomEvent(enum_1.HookEvents.SUBSCRIBED, {
18
+ window.dispatchEvent(new CustomEvent(enum_1.HookEvents.PLUGIN_SUBSCRIBED_TO_BBB_CORE, {
19
19
  detail: {
20
20
  hook: hookName,
21
21
  hookArguments: {
@@ -24,7 +24,7 @@ var updateCustomHookSubscription = function (hookName, handleCustomSubscriptionU
24
24
  },
25
25
  },
26
26
  }));
27
- window.addEventListener(enum_1.HookEvents.UPDATED, handleCustomSubscriptionUpdateEvent);
27
+ window.addEventListener(enum_1.HookEvents.BBB_CORE_SENT_NEW_DATA, handleCustomSubscriptionUpdateEvent);
28
28
  };
29
29
  var createDataConsumptionHook = function (hookName, hookArguments) {
30
30
  var _a = (0, react_1.useState)({ loading: true }), hookData = _a[0], setHookData = _a[1];
@@ -53,15 +53,15 @@ var createDataConsumptionHook = function (hookName, hookArguments) {
53
53
  setVariablesState(function () { return JSON.parse((0, utils_1.sortedStringify)(hookArguments === null || hookArguments === void 0 ? void 0 : hookArguments.variables)); });
54
54
  }
55
55
  (0, react_1.useEffect)(function () {
56
- window.addEventListener(enum_1.HookEvents.UPDATED, handleCustomSubscriptionUpdateEvent);
57
- window.dispatchEvent(new CustomEvent(enum_1.HookEvents.SUBSCRIBED, {
56
+ window.addEventListener(enum_1.HookEvents.BBB_CORE_SENT_NEW_DATA, handleCustomSubscriptionUpdateEvent);
57
+ window.dispatchEvent(new CustomEvent(enum_1.HookEvents.PLUGIN_SUBSCRIBED_TO_BBB_CORE, {
58
58
  detail: {
59
59
  hook: hookName,
60
60
  hookArguments: hookArguments,
61
61
  },
62
62
  }));
63
63
  return function () {
64
- window.dispatchEvent(new CustomEvent(enum_1.HookEvents.UNSUBSCRIBED, {
64
+ window.dispatchEvent(new CustomEvent(enum_1.HookEvents.PLUGIN_UNSUBSCRIBED_FROM_BBB_CORE, {
65
65
  detail: {
66
66
  hook: hookName,
67
67
  hookArguments: {
@@ -70,7 +70,7 @@ var createDataConsumptionHook = function (hookName, hookArguments) {
70
70
  },
71
71
  },
72
72
  }));
73
- window.removeEventListener(enum_1.HookEvents.UPDATED, handleCustomSubscriptionUpdateEvent);
73
+ window.removeEventListener(enum_1.HookEvents.BBB_CORE_SENT_NEW_DATA, handleCustomSubscriptionUpdateEvent);
74
74
  };
75
75
  }, []);
76
76
  (0, react_1.useEffect)(function () {
@@ -1 +1 @@
1
- {"version":3,"file":"hookCreator.js","sourceRoot":"","sources":["../../../../src/data-consumption/factory/hookCreator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hookCreator.js","sourceRoot":"","sources":["../../../../src/data-consumption/factory/hookCreator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- export declare const useChatMessageDomElements: (messageIds: string[]) => HTMLDivElement[] | undefined;
1
+ export declare const useChatMessageDomElements: (messageIds: string[], pluginUuid: string) => HTMLDivElement[] | undefined;
@@ -1,53 +1,79 @@
1
1
  "use strict";
2
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
3
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
4
+ if (ar || !(i in from)) {
5
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
6
+ ar[i] = from[i];
7
+ }
8
+ }
9
+ return to.concat(ar || Array.prototype.slice.call(from));
10
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
12
  exports.useChatMessageDomElements = void 0;
4
13
  var react_1 = require("react");
5
14
  var enums_1 = require("../../enums");
6
15
  var enum_1 = require("../../../core/enum");
7
16
  var utils_1 = require("../../../data-consumption/utils");
8
- var useChatMessageDomElements = function (messageIds) {
17
+ var useChatMessageDomElements = function (messageIds, pluginUuid) {
9
18
  var _a = (0, react_1.useState)(), domElement = _a[0], setDomElement = _a[1];
10
- var _b = (0, react_1.useState)(messageIds), messageIdsState = _b[0], setMessageIdsState = _b[1];
11
- var handleCustomSubscriptionUpdateEvent = (function (event) {
19
+ var _b = (0, react_1.useState)((messageIds) || []), messageIdsState = _b[0], setMessageIdsState = _b[1];
20
+ var previousNeededIds = (0, react_1.useRef)();
21
+ var handleDomElementUpdateEvent = (function (event) {
22
+ var _a;
12
23
  var detail = event.detail;
13
- if (detail.hook === enums_1.DomElementManipulationHooks.CHAT_MESSAGE
14
- && (0, utils_1.sortedStringify)(detail.data.map(function (message) { return message.messageId; })) === (0, utils_1.sortedStringify)(messageIdsState)) {
15
- setDomElement(detail.data.map(function (message) { return message.message; }));
24
+ if (detail.hook === enums_1.DomElementManipulationHooks.CHAT_MESSAGE) {
25
+ var filteredDataFromBbbCore = ((_a = detail.data) === null || _a === void 0 ? void 0 : _a.filter(function (item) { return messageIdsState.includes(item.messageId); })) || [];
26
+ var filteredStreamIdsFromBbbCore = filteredDataFromBbbCore.map(function (item) { return item.messageId; });
27
+ if ((0, utils_1.sortedStringify)(filteredStreamIdsFromBbbCore)
28
+ !== (0, utils_1.sortedStringify)(previousNeededIds.current)) {
29
+ previousNeededIds.current = __spreadArray([], filteredStreamIdsFromBbbCore, true);
30
+ setDomElement(filteredDataFromBbbCore.map(function (messageItemFromCore) { return messageItemFromCore.message; }));
31
+ }
16
32
  }
17
33
  });
18
34
  (0, react_1.useEffect)(function () {
19
- if (messageIdsState) {
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.CHAT_MESSAGE,
26
- hookArguments: {
27
- messageIds: messageIds,
28
- },
29
- },
30
- }));
31
- };
32
- }
33
- return function () { };
34
- }, []);
35
- (0, react_1.useEffect)(function () {
36
- if (messageIdsState) {
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, {
35
+ window.dispatchEvent(new CustomEvent(enum_1.HookEvents.PLUGIN_SUBSCRIBED_TO_BBB_CORE, {
36
+ detail: {
37
+ hook: enums_1.DomElementManipulationHooks.CHAT_MESSAGE,
38
+ hookArguments: {
39
+ messageIds: messageIds,
40
+ pluginUuid: pluginUuid,
41
+ },
42
+ },
43
+ }));
44
+ window.addEventListener(enum_1.HookEvents.BBB_CORE_SENT_NEW_DATA, handleDomElementUpdateEvent);
45
+ return function () {
46
+ window.dispatchEvent(new CustomEvent(enum_1.HookEvents.PLUGIN_UNSUBSCRIBED_FROM_BBB_CORE, {
40
47
  detail: {
41
48
  hook: enums_1.DomElementManipulationHooks.CHAT_MESSAGE,
42
49
  hookArguments: {
43
50
  messageIds: messageIds,
51
+ pluginUuid: pluginUuid,
44
52
  },
45
53
  },
46
54
  }));
47
- }
55
+ };
56
+ }, []);
57
+ (0, react_1.useEffect)(function () {
58
+ window.addEventListener(enum_1.HookEvents.BBB_CORE_SENT_NEW_DATA, handleDomElementUpdateEvent);
59
+ window.dispatchEvent(new CustomEvent(enum_1.HookEvents.PLUGIN_SENT_CHANGES_TO_BBB_CORE, {
60
+ detail: {
61
+ hook: enums_1.DomElementManipulationHooks.CHAT_MESSAGE,
62
+ hookArguments: {
63
+ messageIds: messageIds,
64
+ pluginUuid: pluginUuid,
65
+ },
66
+ data: undefined,
67
+ },
68
+ }));
69
+ // Runs on code cleanup
70
+ return function () {
71
+ // Everytime the state update, we remove the eventListener and then we re-add it.
72
+ window.removeEventListener(enum_1.HookEvents.BBB_CORE_SENT_NEW_DATA, handleDomElementUpdateEvent);
73
+ };
48
74
  }, [messageIdsState]);
49
- if ((0, utils_1.sortedStringify)(messageIds) !== (0, utils_1.sortedStringify)(messageIdsState)) {
50
- setMessageIdsState(messageIds);
75
+ if ((0, utils_1.sortedStringify)((messageIds) || []) !== (0, utils_1.sortedStringify)(messageIdsState)) {
76
+ setMessageIdsState((messageIds) || []);
51
77
  }
52
78
  return domElement;
53
79
  };
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../../../src/dom-element-manipulation/chat/message/hooks.ts"],"names":[],"mappings":";;;AAAA,+BAA4C;AAC5C,qCAA0D;AAC1D,2CAAgD;AAKhD,yDAAkE;AAE3D,IAAM,yBAAyB,GAAG,UAAC,UAAoB;IACtD,IAAA,KAA8B,IAAA,gBAAQ,GAAoB,EAAzD,UAAU,QAAA,EAAE,aAAa,QAAgC,CAAC;IAC3D,IAAA,KAAwC,IAAA,gBAAQ,EAAW,UAAU,CAAC,EAArE,eAAe,QAAA,EAAE,kBAAkB,QAAkC,CAAC;IAE7E,IAAM,mCAAmC,GAAkB,CACzD,UAAC,KACqE;QACpE,IAAM,MAAM,GAAG,KAAK,CAAC,MAC4B,CAAC;QAClD,IAAI,MAAM,CAAC,IAAI,KAAK,mCAA2B,CAAC,YAAY;eACvD,IAAA,uBAAe,EAChB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,UAAC,OAAO,IAAK,OAAA,OAAO,CAAC,SAAS,EAAjB,CAAiB,CAAC,CAChD,KAAK,IAAA,uBAAe,EAAC,eAAe,CAAC,EAAE;YACxC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,UAAC,OAAO,IAAK,OAAA,OAAO,CAAC,OAAO,EAAf,CAAe,CAAC,CAAC,CAAC;SAC9D;IACH,CAAC,CAAkB,CAAC;IAEtB,IAAA,iBAAS,EAAC;QACR,IAAI,eAAe,EAAE;YACnB,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,YAAY;wBAC9C,aAAa,EAAE;4BACb,UAAU,YAAA;yBACwB;qBACrC;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,eAAe,EAAE;YACnB,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,YAAY;oBAC9C,aAAa,EAAE;wBACb,UAAU,YAAA;qBACwB;iBACrC;aACF,CAAC,CAAC,CAAC;SACL;IACH,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IACtB,IAAI,IAAA,uBAAe,EAAC,UAAU,CAAC,KAAK,IAAA,uBAAe,EAAC,eAAe,CAAC,EAAE;QACpE,kBAAkB,CAAC,UAAU,CAAC,CAAC;KAChC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AApDW,QAAA,yBAAyB,6BAoDpC"}
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../../../src/dom-element-manipulation/chat/message/hooks.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  export type UseChatMessageDomElementsFunction = (messageIds: string[]) => HTMLDivElement[] | undefined;
2
2
  export interface ChatMessageDomElementsArguments {
3
3
  messageIds: string[];
4
+ pluginUuid: string;
4
5
  }
5
6
  export interface UpdatedEventDetailsForChatMessageDomElements {
6
7
  messageId: string;
@@ -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[], pluginUuid: string) => HTMLDivElement[] | undefined;
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
3
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
4
+ if (ar || !(i in from)) {
5
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
6
+ ar[i] = from[i];
7
+ }
8
+ }
9
+ return to.concat(ar || Array.prototype.slice.call(from));
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.useUserCameraDomElements = void 0;
13
+ var react_1 = require("react");
14
+ var enums_1 = require("../enums");
15
+ var enum_1 = require("../../core/enum");
16
+ var utils_1 = require("../../data-consumption/utils");
17
+ var useUserCameraDomElements = function (streamIds, pluginUuid) {
18
+ var _a = (0, react_1.useState)(), domElement = _a[0], setDomElement = _a[1];
19
+ var _b = (0, react_1.useState)((streamIds) || []), streamIdsState = _b[0], setStreamIdsState = _b[1];
20
+ var previousNeededIds = (0, react_1.useRef)([]);
21
+ var handleDomElementUpdateEvent = (function (event) {
22
+ var _a;
23
+ var detail = event.detail;
24
+ if (detail.hook === enums_1.DomElementManipulationHooks.USER_CAMERA) {
25
+ var filteredDataFromBbbCore = ((_a = detail.data) === null || _a === void 0 ? void 0 : _a.filter(function (item) { return streamIdsState.includes(item.streamId); })) || [];
26
+ var filteredStreamIdsFromBbbCore = filteredDataFromBbbCore.map(function (item) { return item.streamId; });
27
+ if ((0, utils_1.sortedStringify)(filteredStreamIdsFromBbbCore)
28
+ !== (0, utils_1.sortedStringify)(previousNeededIds.current)) {
29
+ previousNeededIds.current = __spreadArray([], filteredStreamIdsFromBbbCore, true);
30
+ setDomElement(filteredDataFromBbbCore.map(function (userCamera) { return userCamera.userCameraDomElement; }));
31
+ }
32
+ }
33
+ });
34
+ (0, react_1.useEffect)(function () {
35
+ window.dispatchEvent(new CustomEvent(enum_1.HookEvents.PLUGIN_SUBSCRIBED_TO_BBB_CORE, {
36
+ detail: {
37
+ hook: enums_1.DomElementManipulationHooks.USER_CAMERA,
38
+ hookArguments: {
39
+ streamIds: streamIdsState,
40
+ pluginUuid: pluginUuid,
41
+ },
42
+ },
43
+ }));
44
+ return function () {
45
+ window.dispatchEvent(new CustomEvent(enum_1.HookEvents.PLUGIN_UNSUBSCRIBED_FROM_BBB_CORE, {
46
+ detail: {
47
+ hook: enums_1.DomElementManipulationHooks.USER_CAMERA,
48
+ hookArguments: {
49
+ streamIds: streamIds,
50
+ pluginUuid: pluginUuid,
51
+ },
52
+ },
53
+ }));
54
+ };
55
+ }, []);
56
+ (0, react_1.useEffect)(function () {
57
+ window.addEventListener(enum_1.HookEvents.BBB_CORE_SENT_NEW_DATA, handleDomElementUpdateEvent);
58
+ window.dispatchEvent(new CustomEvent(enum_1.HookEvents.PLUGIN_SENT_CHANGES_TO_BBB_CORE, {
59
+ detail: {
60
+ hook: enums_1.DomElementManipulationHooks.USER_CAMERA,
61
+ hookArguments: {
62
+ streamIds: (streamIdsState) || [],
63
+ pluginUuid: pluginUuid,
64
+ },
65
+ data: undefined,
66
+ },
67
+ }));
68
+ // Runs on code cleanup
69
+ return function () {
70
+ // Everytime the state update, we remove the eventListener and then we re-add it.
71
+ window.removeEventListener(enum_1.HookEvents.BBB_CORE_SENT_NEW_DATA, handleDomElementUpdateEvent);
72
+ };
73
+ }, [streamIdsState]);
74
+ if ((0, utils_1.sortedStringify)((streamIds) || []) !== (0, utils_1.sortedStringify)(streamIdsState)) {
75
+ setStreamIdsState((streamIds) || []);
76
+ }
77
+ return domElement;
78
+ };
79
+ exports.useUserCameraDomElements = useUserCameraDomElements;
80
+ //# 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":"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"}
@@ -0,0 +1,9 @@
1
+ export type UseUserCameraDomElementsFunction = (streamIds: string[]) => HTMLDivElement[] | undefined;
2
+ export interface UserCameraDomElementsArguments {
3
+ streamIds: string[];
4
+ pluginUuid: string;
5
+ }
6
+ export interface UpdatedDataForUserCameraDomElement {
7
+ streamId: string;
8
+ userCameraDomElement: HTMLDivElement;
9
+ }
@@ -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,12 @@ 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';
12
+ import { UserCameraHelperItemType } from './user-camera-helper-item/enums';
11
13
  import { UserCameraDropdownItemType } from './user-camera-dropdown-item/enums';
12
14
  import { UserListDropdownItemType } from './user-list-dropdown-item/enums';
13
15
  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;
16
+ type PluginProvidedUiItemType = PresentationToolbarItemType | UserListDropdownItemType | ActionButtonDropdownItemType | ActionsBarItemType | AudioSettingsDropdownItemType | PresentationDropdownItemType | NavBarItemType | OptionsDropdownItemType | CameraSettingsDropdownItemType | UserCameraDropdownItemType | UserListItemAdditionalInformationType | FloatingWindowType | GenericContentType | ScreenshareHelperItemType | UserCameraHelperItemType;
15
17
  export interface PluginProvidedUiItemDescriptor {
16
18
  /** Defined by BigBlueButton Plugin Engine. */
17
19
  id: string;
@@ -5,9 +5,11 @@ 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';
12
+ export * from './user-camera-helper-item';
11
13
  export * from './user-list-item-additional-information';
12
14
  export * from './floating-window';
13
15
  export * from './generic-content-item';
@@ -21,9 +21,11 @@ __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);
28
+ __exportStar(require("./user-camera-helper-item"), exports);
27
29
  __exportStar(require("./user-list-item-additional-information"), exports);
28
30
  __exportStar(require("./floating-window"), exports);
29
31
  __exportStar(require("./generic-content-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,4DAA0C;AAC1C,0EAAwD;AACxD,oDAAkC;AAClC,yDAAuC"}
@@ -0,0 +1,30 @@
1
+ import { ScreenshareHelperItemType, ScreenshareHelperItemPosition } from './enums';
2
+ import { ScreenshareHelperButtonProps, ScreenshareHelperButtonInterface, ScreenshareHelperButtonOnclickCallback } 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: (args: ScreenshareHelperButtonOnclickCallback) => 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;AAOnF,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,26 @@
1
+ /// <reference types="react" />
2
+ import { PluginProvidedUiItemDescriptor } from '../base';
3
+ import { ScreenshareHelperItemPosition } from './enums';
4
+ export interface ScreenshareHelperInterface extends PluginProvidedUiItemDescriptor {
5
+ position: ScreenshareHelperItemPosition;
6
+ }
7
+ export interface ScreenshareHelperButtonOnclickCallback {
8
+ browserClickEvent: React.MouseEvent<HTMLElement>;
9
+ }
10
+ export interface ScreenshareHelperButtonInterface extends ScreenshareHelperInterface {
11
+ label: string;
12
+ icon: string;
13
+ tooltip: string;
14
+ disabled: boolean;
15
+ position: ScreenshareHelperItemPosition;
16
+ onClick: (args: ScreenshareHelperButtonOnclickCallback) => void;
17
+ }
18
+ export interface ScreenshareHelperButtonProps {
19
+ label?: string;
20
+ icon: string;
21
+ tooltip: string;
22
+ disabled: boolean;
23
+ hasSeparator: boolean;
24
+ position: ScreenshareHelperItemPosition;
25
+ onClick: (args: ScreenshareHelperButtonOnclickCallback) => void;
26
+ }
@@ -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,31 @@
1
+ import { UserCameraHelperItemType, UserCameraHelperItemPosition } from './enums';
2
+ import { UserCameraHelperButtonProps, UserCameraHelperButtonInterface, UserCameraHelperButtonOnclickCallback, UserCameraHelperCallbackFunctionArguments } from './types';
3
+ export declare class UserCameraHelperButton implements UserCameraHelperButtonInterface {
4
+ id: string;
5
+ type: UserCameraHelperItemType;
6
+ label: string;
7
+ displayFunction?: (args: UserCameraHelperCallbackFunctionArguments) => boolean;
8
+ icon: string;
9
+ tooltip: string;
10
+ disabled: boolean;
11
+ position: UserCameraHelperItemPosition;
12
+ onClick: (args: UserCameraHelperButtonOnclickCallback) => void;
13
+ /**
14
+ * Returns object to be used in the setter for the UserCamera Helper. In this case,
15
+ * a button.
16
+ *
17
+ * @param label - label to be displayed in userCamera helper button (Not mandatory).
18
+ * @param tooltip - label to be displayed when hovering the userCamera helper button.
19
+ * @param icon - icon to be used in the userCamera helper button. It goes in the left side of it.
20
+ * @param onClick - function to be called when clicking the button.
21
+ * @param displayFunction - function to tell BBB core which cameras will receive this extensible
22
+ * area.
23
+ * @param position - position to place the userCamera helper button.
24
+ * See {@link UserCameraHelperItemPosition}
25
+ * @param disabled - if true, the userCamera helper button will not be clickable
26
+ *
27
+ * @returns Object that will be interpreted by the core of Bigbluebutton (HTML5).
28
+ */
29
+ constructor({ label, icon, tooltip, disabled, onClick, position, displayFunction, }: UserCameraHelperButtonProps);
30
+ setItemId: (id: string) => void;
31
+ }
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UserCameraHelperButton = void 0;
4
+ var enums_1 = require("./enums");
5
+ // UserCameraHelper Extensible Area
6
+ var UserCameraHelperButton = /** @class */ (function () {
7
+ /**
8
+ * Returns object to be used in the setter for the UserCamera Helper. In this case,
9
+ * a button.
10
+ *
11
+ * @param label - label to be displayed in userCamera helper button (Not mandatory).
12
+ * @param tooltip - label to be displayed when hovering the userCamera helper button.
13
+ * @param icon - icon to be used in the userCamera helper button. It goes in the left side of it.
14
+ * @param onClick - function to be called when clicking the button.
15
+ * @param displayFunction - function to tell BBB core which cameras will receive this extensible
16
+ * area.
17
+ * @param position - position to place the userCamera helper button.
18
+ * See {@link UserCameraHelperItemPosition}
19
+ * @param disabled - if true, the userCamera helper button will not be clickable
20
+ *
21
+ * @returns Object that will be interpreted by the core of Bigbluebutton (HTML5).
22
+ */
23
+ function UserCameraHelperButton(_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.UserCameraHelperItemPosition.TOP_RIGHT : _g, displayFunction = _a.displayFunction;
25
+ var _this = this;
26
+ this.id = '';
27
+ this.setItemId = function (id) {
28
+ _this.id = "UserCameraHelperButton_".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.displayFunction = displayFunction;
36
+ this.type = enums_1.UserCameraHelperItemType.BUTTON;
37
+ this.position = position;
38
+ }
39
+ return UserCameraHelperButton;
40
+ }());
41
+ exports.UserCameraHelperButton = UserCameraHelperButton;
42
+ //# sourceMappingURL=component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component.js","sourceRoot":"","sources":["../../../../src/extensible-areas/user-camera-helper-item/component.ts"],"names":[],"mappings":";;;AAAA,iCAAiF;AAQjF,mCAAmC;AAEnC;IAmBE;;;;;;;;;;;;;;;OAeG;IACH,gCAAY,EAGkB;YAF5B,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,gBAAiD,EAAjD,QAAQ,mBAAG,oCAA4B,CAAC,SAAS,KAAA,EAAE,eAAe,qBAAA;QAFpE,iBAYC;QA9CD,OAAE,GAAW,EAAE,CAAC;QAgDhB,cAAS,GAAyB,UAAC,EAAU;YAC3C,KAAI,CAAC,EAAE,GAAG,iCAA0B,EAAE,CAAE,CAAC;QAC3C,CAAC,CAAC;QAZA,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,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,IAAI,GAAG,gCAAwB,CAAC,MAAM,CAAC;QAC5C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAKH,6BAAC;AAAD,CAAC,AApDD,IAoDC;AApDY,wDAAsB"}
@@ -0,0 +1,12 @@
1
+ export declare enum UserCameraHelperItemType {
2
+ BUTTON = "SCREENSHARE_HELPER_BUTTON"
3
+ }
4
+ /**
5
+ * Enum with the position to insert the userCamera helper item (Information or Button)
6
+ */
7
+ export declare enum UserCameraHelperItemPosition {
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.UserCameraHelperItemPosition = exports.UserCameraHelperItemType = void 0;
4
+ // UserCamera Helper items types:
5
+ var UserCameraHelperItemType;
6
+ (function (UserCameraHelperItemType) {
7
+ UserCameraHelperItemType["BUTTON"] = "SCREENSHARE_HELPER_BUTTON";
8
+ })(UserCameraHelperItemType || (exports.UserCameraHelperItemType = UserCameraHelperItemType = {}));
9
+ /**
10
+ * Enum with the position to insert the userCamera helper item (Information or Button)
11
+ */
12
+ var UserCameraHelperItemPosition;
13
+ (function (UserCameraHelperItemPosition) {
14
+ UserCameraHelperItemPosition["TOP_RIGHT"] = "TOP_RIGHT";
15
+ UserCameraHelperItemPosition["TOP_LEFT"] = "TOP_LEFT";
16
+ UserCameraHelperItemPosition["BOTTOM_RIGHT"] = "BOTTOM_RIGHT";
17
+ UserCameraHelperItemPosition["BOTTOM_LEFT"] = "BOTTOM_LEFT";
18
+ })(UserCameraHelperItemPosition || (exports.UserCameraHelperItemPosition = UserCameraHelperItemPosition = {}));
19
+ //# sourceMappingURL=enums.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../../src/extensible-areas/user-camera-helper-item/enums.ts"],"names":[],"mappings":";;;AAAA,iCAAiC;AACjC,IAAY,wBAEX;AAFD,WAAY,wBAAwB;IAClC,gEAAoC,CAAA;AACtC,CAAC,EAFW,wBAAwB,wCAAxB,wBAAwB,QAEnC;AAED;;GAEG;AACH,IAAY,4BAKX;AALD,WAAY,4BAA4B;IACtC,uDAAuB,CAAA;IACvB,qDAAqB,CAAA;IACrB,6DAA6B,CAAA;IAC7B,2DAA2B,CAAA;AAC7B,CAAC,EALW,4BAA4B,4CAA5B,4BAA4B,QAKvC"}
@@ -0,0 +1,3 @@
1
+ export { UserCameraHelperButton, } from './component';
2
+ export { UserCameraHelperInterface, } from './types';
3
+ export { UserCameraHelperItemPosition, } from './enums';
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UserCameraHelperItemPosition = exports.UserCameraHelperButton = void 0;
4
+ var component_1 = require("./component");
5
+ Object.defineProperty(exports, "UserCameraHelperButton", { enumerable: true, get: function () { return component_1.UserCameraHelperButton; } });
6
+ var enums_1 = require("./enums");
7
+ Object.defineProperty(exports, "UserCameraHelperItemPosition", { enumerable: true, get: function () { return enums_1.UserCameraHelperItemPosition; } });
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/extensible-areas/user-camera-helper-item/index.ts"],"names":[],"mappings":";;;AAAA,yCAEqB;AADnB,mHAAA,sBAAsB,OAAA;AAKxB,iCAEiB;AADf,qHAAA,4BAA4B,OAAA"}
@@ -0,0 +1,33 @@
1
+ /// <reference types="react" />
2
+ import { PluginProvidedUiItemDescriptor } from '../base';
3
+ import { UserCameraHelperItemPosition } from './enums';
4
+ export interface UserCameraHelperInterface extends PluginProvidedUiItemDescriptor {
5
+ position: UserCameraHelperItemPosition;
6
+ }
7
+ export interface UserCameraHelperButtonOnclickCallback {
8
+ userId: string;
9
+ streamId: string;
10
+ browserClickEvent: React.MouseEvent<HTMLElement>;
11
+ }
12
+ export interface UserCameraHelperCallbackFunctionArguments {
13
+ streamId: string;
14
+ userId: string;
15
+ }
16
+ export interface UserCameraHelperButtonInterface extends UserCameraHelperInterface {
17
+ label: string;
18
+ icon: string;
19
+ tooltip: string;
20
+ disabled: boolean;
21
+ position: UserCameraHelperItemPosition;
22
+ displayFunction?: (args: UserCameraHelperCallbackFunctionArguments) => boolean;
23
+ onClick: (args: UserCameraHelperButtonOnclickCallback) => void;
24
+ }
25
+ export interface UserCameraHelperButtonProps {
26
+ label?: string;
27
+ icon: string;
28
+ tooltip: string;
29
+ disabled: boolean;
30
+ displayFunction?: (args: UserCameraHelperCallbackFunctionArguments) => boolean;
31
+ position: UserCameraHelperItemPosition;
32
+ onClick: (args: UserCameraHelperButtonOnclickCallback) => void;
33
+ }
@@ -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/user-camera-helper-item/types.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bigbluebutton-html-plugin-sdk",
3
- "version": "0.0.56",
3
+ "version": "0.0.58",
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",