bigbluebutton-html-plugin-sdk 0.0.69 → 0.0.71

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 (45) hide show
  1. package/README.md +101 -3
  2. package/dist/cjs/asset-persistence/enums.d.ts +6 -0
  3. package/dist/cjs/asset-persistence/enums.js +12 -0
  4. package/dist/cjs/asset-persistence/enums.js.map +1 -0
  5. package/dist/cjs/asset-persistence/hook.d.ts +2 -0
  6. package/dist/cjs/asset-persistence/hook.js +16 -0
  7. package/dist/cjs/asset-persistence/hook.js.map +1 -0
  8. package/dist/cjs/asset-persistence/types.d.ts +8 -0
  9. package/dist/cjs/asset-persistence/types.js +3 -0
  10. package/dist/cjs/asset-persistence/types.js.map +1 -0
  11. package/dist/cjs/core/api/BbbPluginSdk.js +2 -0
  12. package/dist/cjs/core/api/BbbPluginSdk.js.map +1 -1
  13. package/dist/cjs/core/api/types.d.ts +8 -0
  14. package/dist/cjs/data-consumption/domain/users/current-user/types.d.ts +5 -0
  15. package/dist/cjs/extensible-areas/actions-bar-item/component.d.ts +59 -10
  16. package/dist/cjs/extensible-areas/actions-bar-item/component.js +108 -26
  17. package/dist/cjs/extensible-areas/actions-bar-item/component.js.map +1 -1
  18. package/dist/cjs/extensible-areas/actions-bar-item/enums.d.ts +3 -1
  19. package/dist/cjs/extensible-areas/actions-bar-item/enums.js +2 -0
  20. package/dist/cjs/extensible-areas/actions-bar-item/enums.js.map +1 -1
  21. package/dist/cjs/extensible-areas/actions-bar-item/index.d.ts +2 -2
  22. package/dist/cjs/extensible-areas/actions-bar-item/index.js +4 -1
  23. package/dist/cjs/extensible-areas/actions-bar-item/index.js.map +1 -1
  24. package/dist/cjs/extensible-areas/actions-bar-item/types.d.ts +32 -1
  25. package/dist/cjs/ui-commands/camera/commands.d.ts +17 -0
  26. package/dist/cjs/ui-commands/camera/commands.js +36 -0
  27. package/dist/cjs/ui-commands/camera/commands.js.map +1 -0
  28. package/dist/cjs/ui-commands/camera/enums.d.ts +4 -0
  29. package/dist/cjs/ui-commands/camera/enums.js +9 -0
  30. package/dist/cjs/ui-commands/camera/enums.js.map +1 -0
  31. package/dist/cjs/ui-commands/camera/types.d.ts +11 -0
  32. package/dist/cjs/ui-commands/camera/types.js +3 -0
  33. package/dist/cjs/ui-commands/camera/types.js.map +1 -0
  34. package/dist/cjs/ui-commands/commands.d.ts +5 -0
  35. package/dist/cjs/ui-commands/commands.js +8 -6
  36. package/dist/cjs/ui-commands/commands.js.map +1 -1
  37. package/dist/cjs/ui-commands/notification/commands.d.ts +4 -0
  38. package/dist/cjs/ui-commands/notification/commands.js +8 -0
  39. package/dist/cjs/ui-commands/notification/commands.js.map +1 -1
  40. package/dist/cjs/ui-commands/notification/enums.d.ts +2 -1
  41. package/dist/cjs/ui-commands/notification/enums.js +2 -1
  42. package/dist/cjs/ui-commands/notification/enums.js.map +1 -1
  43. package/dist/cjs/ui-commands/notification/types.d.ts +4 -0
  44. package/dist/cjs/ui-commands/types.d.ts +2 -0
  45. package/package.json +1 -1
package/README.md CHANGED
@@ -4,10 +4,13 @@ This repository contains the SDK for developing BigBlueButton plugins.
4
4
  Plugins are React components that can be loaded from external sources
5
5
  by the BigBlueButton HTML5 client to extend its functionalities.
6
6
 
7
+ ## Overview
8
+
9
+ An overview of the plugin architecture and capabilities can be found [here](https://github.com/bigbluebutton/plugins/blob/main/README.md#capabilities-and-technical-details).
10
+
7
11
  ## Examples
8
12
 
9
- A variety of example implementations to manipulate different parts of the
10
- BBB client can be found in the [`samples`](samples) folder.
13
+ A variety of example implementations to manipulate different parts of the BBB client can be found in the [`samples`](samples) folder.
11
14
 
12
15
  ## Usage
13
16
 
@@ -110,6 +113,44 @@ While the plugin can be hosted on any Server, it is also possible to host the bu
110
113
  a BigBlueButton server. For that you copy `dist/SampleActionButtonDropdownPlugin.js` and `dist/manifest.json` to the folder `/var/www/bigbluebutton-default/assets/plugins/sampleActionButtonDropdownPlugin`.
111
114
  In this case, the your manifest URL will be `https://<your-host>/plugins/sampleActionButtonDropdownPlugin/manifest.json`.
112
115
 
116
+ ### Manifest Json
117
+
118
+ Here is as complete `manifet.json` example with all possible configurations:
119
+
120
+ ```json
121
+ {
122
+ "requiredSdkVersion": "~0.0.59",
123
+ "name": "MyPlugin",
124
+ "javascriptEntrypointUrl": "MyPlugin.js",
125
+ "localesBaseUrl": "https://cdn.domain.com/my-plugin/", // Optional
126
+ "dataChannels":[
127
+ {
128
+ "name": "public-channel",
129
+ "pushPermission": ["moderator","presenter"], // "moderator","presenter", "all"
130
+ "replaceOrDeletePermission": ["moderator", "creator"] // "moderator", "presenter","all", "creator"
131
+ }
132
+ ], // One can enable more data-channels to better organize client communication
133
+ "eventPersistence": {
134
+ "isEnabled": true, // By default it is not enabled
135
+ "maximumPayloadSizeInBytes": 1024,
136
+ "rateLimiting": {
137
+ "messagesAllowedPerSecond": 10,
138
+ "messagesAllowedPerMinute": 20
139
+ }
140
+ },
141
+ "remoteDataSources": [
142
+ {
143
+ "name": "allUsers",
144
+ "url": "${meta_pluginSettingsUserInformation}",
145
+ "fetchMode": "onMeetingCreate",
146
+ "permissions": ["moderator", "viewer"]
147
+ }
148
+ ]
149
+ }
150
+ ```
151
+
152
+ To better understand remote-data-sources, please, refer to [this section](#external-data-resources)
153
+
113
154
  ## API
114
155
 
115
156
  ### Extensible UI areas
@@ -303,7 +344,7 @@ See usage ahead:
303
344
 
304
345
  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
305
346
 
306
- ### Server Commands
347
+ ### Server Commands
307
348
 
308
349
  `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:
309
350
 
@@ -386,6 +427,63 @@ pluginApi.getRemoteData('allUsers').then((response: Response) => {
386
427
  });
387
428
  ```
388
429
 
430
+ ### Event persistence
431
+
432
+ This feature will allow the developer to save an information (which is basically an event) in the `event.xml` file of the meeting if it's being recorded.
433
+
434
+ To use it, one first need to add the following lines to their `manifest.json`:
435
+
436
+ ```json
437
+ {
438
+ // ...rest of manifest configuration
439
+ "eventPersistence": {
440
+ "isEnabled": true,
441
+ "maximumPayloadSizeInBytes": 1024,
442
+ "rateLimiting": {
443
+ "messagesAllowedPerSecond": 10,
444
+ "messagesAllowedPerMinute": 20
445
+ }
446
+ }
447
+ }
448
+ ```
449
+
450
+ Then, the API in the SDK for that is:
451
+
452
+ ```ts
453
+ pluginApi.persistEvent(eventName: string, payloadJson: Object);
454
+ ```
455
+
456
+ See example in the `sample-use-meeting` plugin here in this repository. It is as follows:
457
+
458
+ ```ts
459
+ useEffect(() => {
460
+ setInterval(() => {
461
+ pluginLogger.info('persisting event');
462
+ pluginApi.persistEvent('eventFromUseMeetingSample', { foo: 'bar' });
463
+ }, 5000);
464
+ }, []);
465
+ ```
466
+
467
+ After the meeting is ended (considering it has been recorded), one can simply do the following steps to see the events:
468
+
469
+ In the server terminal run:
470
+ ```bash
471
+ sudo updatedb
472
+ vi $(locate events.xml | grep <meeting-id>)
473
+ ```
474
+
475
+ Where `<meeting-id>` is the id of the the meeting you just recorded. Then, amongst all the other events in the file, if you search it, you will find the following:
476
+
477
+ ```xml
478
+ <event timestamp="25004947" module="PLUGIN" eventname="PluginGeneratedEvent">
479
+ <payloadJson>{"foo":"bar"}</payloadJson>
480
+ <pluginEventName>eventFromUseMeetingSample</pluginEventName>
481
+ <date>2024-10-30T18:00:11.929Z</date>
482
+ <pluginName>SampleUseMeeting</pluginName>
483
+ <userId>w_sxlfjbcb0yxs</userId>
484
+ <timestampUTC>1730311211929</timestampUTC>
485
+ </event>
486
+ ```
389
487
 
390
488
  ### Frequently Asked Questions (FAQ)
391
489
 
@@ -0,0 +1,6 @@
1
+ export declare enum AssetPersistenceEvents {
2
+ ASSET_PERSISTED = "PLUGIN_ASSET_PERSISTED"
3
+ }
4
+ export declare enum AssetType {
5
+ PRESENTATION = "PLUGIN_ASSET_PERSISTENCE_TYPE_PRESENTATION"
6
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AssetType = exports.AssetPersistenceEvents = void 0;
4
+ var AssetPersistenceEvents;
5
+ (function (AssetPersistenceEvents) {
6
+ AssetPersistenceEvents["ASSET_PERSISTED"] = "PLUGIN_ASSET_PERSISTED";
7
+ })(AssetPersistenceEvents || (exports.AssetPersistenceEvents = AssetPersistenceEvents = {}));
8
+ var AssetType;
9
+ (function (AssetType) {
10
+ AssetType["PRESENTATION"] = "PLUGIN_ASSET_PERSISTENCE_TYPE_PRESENTATION";
11
+ })(AssetType || (exports.AssetType = AssetType = {}));
12
+ //# sourceMappingURL=enums.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../src/asset-persistence/enums.ts"],"names":[],"mappings":";;;AAAA,IAAY,sBAEX;AAFD,WAAY,sBAAsB;IAChC,oEAA0C,CAAA;AAC5C,CAAC,EAFW,sBAAsB,sCAAtB,sBAAsB,QAEjC;AAED,IAAY,SAEX;AAFD,WAAY,SAAS;IACnB,wEAA2D,CAAA;AAC7D,CAAC,EAFW,SAAS,yBAAT,SAAS,QAEpB"}
@@ -0,0 +1,2 @@
1
+ import { AssetType } from './enums';
2
+ export declare const persistAssetFunctionWrapper: (pluginName: string, assetUrl: string, typeOfAsset: AssetType, assetName?: string) => void;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.persistAssetFunctionWrapper = void 0;
4
+ var enums_1 = require("./enums");
5
+ var persistAssetFunctionWrapper = function (pluginName, assetUrl, typeOfAsset, assetName) {
6
+ window.dispatchEvent(new CustomEvent(enums_1.AssetPersistenceEvents.ASSET_PERSISTED, {
7
+ detail: {
8
+ pluginName: pluginName,
9
+ assetUrl: assetUrl,
10
+ typeOfAsset: typeOfAsset,
11
+ assetName: assetName,
12
+ },
13
+ }));
14
+ };
15
+ exports.persistAssetFunctionWrapper = persistAssetFunctionWrapper;
16
+ //# sourceMappingURL=hook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook.js","sourceRoot":"","sources":["../../../src/asset-persistence/hook.ts"],"names":[],"mappings":";;;AAGA,iCAA4D;AAErD,IAAM,2BAA2B,GAAG,UACzC,UAAkB,EAClB,QAAgB,EAChB,WAAsB,EACtB,SAAkB;IAElB,MAAM,CAAC,aAAa,CAClB,IAAI,WAAW,CACU,8BAAsB,CAAC,eAAe,EAAE;QAC/D,MAAM,EAAE;YACN,UAAU,YAAA;YACV,QAAQ,UAAA;YACR,WAAW,aAAA;YACX,SAAS,WAAA;SACV;KACF,CAAC,CACH,CAAC;AACJ,CAAC,CAAC;AAjBW,QAAA,2BAA2B,+BAiBtC"}
@@ -0,0 +1,8 @@
1
+ import { AssetType } from './enums';
2
+ export interface AssetPersistenceDetails {
3
+ pluginName: string;
4
+ assetUrl: string;
5
+ typeOfAsset: AssetType;
6
+ assetName?: string;
7
+ }
8
+ export type PersistAssetFunction = (assetUrl: string, typeOfAsset: AssetType, assetName?: string) => void;
@@ -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/asset-persistence/types.ts"],"names":[],"mappings":""}
@@ -24,6 +24,7 @@ var commands_2 = require("../../server-commands/commands");
24
24
  var hooks_13 = require("../../learning-analytics-dashboard/hooks");
25
25
  var utils_1 = require("../../remote-data/utils");
26
26
  var hooks_14 = require("../../event-persistence/hooks");
27
+ var hook_1 = require("../../asset-persistence/hook");
27
28
  /**
28
29
  * Class responsible for either initialize or get the PluginApi
29
30
  *
@@ -73,6 +74,7 @@ var BbbPluginSdk = /** @class */ (function () {
73
74
  pluginApi.sendGenericDataForLearningAnalyticsDashboard = function (data) { return (0, hooks_13.sendGenericDataForLearningAnalyticsDashboard)(data, pluginName); };
74
75
  pluginApi.getRemoteData = function (dataSourceName) { return (0, utils_1.getRemoteData)(dataSourceName, pluginName); };
75
76
  pluginApi.persistEvent = function (eventName, payload) { return (0, hooks_14.persistEventFunctionWrapper)(pluginName, eventName, payload); };
77
+ pluginApi.persistAsset = function (assetUrl, typeOfAsset, assetName) { return (0, hook_1.persistAssetFunctionWrapper)(pluginName, assetUrl, typeOfAsset, assetName); };
76
78
  }
77
79
  else {
78
80
  throw new Error('Plugin name not set');
@@ -1 +1 @@
1
- {"version":3,"file":"BbbPluginSdk.js","sourceRoot":"","sources":["../../../../src/core/api/BbbPluginSdk.ts"],"names":[],"mappings":";;;AAAA,+BAA+B;AAC/B,+BAAkC;AAOlC,kDAA4D;AAO5D,uDAAwD;AAQxD,kDAAiE;AACjE,gGAEgF;AAChF,wFAEwE;AACxE,oFAA+F;AAC/F,gFAAwF;AACxF,oFAA+F;AAC/F,4DAAoE;AACpE,uDAA0D;AAC1D,mEAA2E;AAE3E,uFAAsG;AACtG,2EAA8F;AAC9F,0EAA4F;AAE5F,2FAAuG;AACvG,oDAAsD;AAEtD,gFAAmF;AACnF,2DAAgE;AAChE,mEAAwG;AAExG,iDAAwD;AACxD,wDAA4E;AAI5E;;;;;;GAMG;AACH;IAAA;IA+HA,CAAC;IA9HC;;;;;;;;;;OAUG;IACW,uBAAU,GAAxB,UAAyB,IAAY;QACnC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,wFAAwF,CAAC,CAAC;QAC1I,IAAM,SAAS,GAAc,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACtD,SAAS,CAAC,qBAAqB,GAAG,CAAC,UACjC,KAAa,EACb,sBAAsD,IACnD,OAAA,IAAA,6BAAqB,EAAC,KAAK,EAAE,sBAAsB,CAAC,EAApD,CAAoD,CAAkC,CAAC;QAC5F,SAAS,CAAC,sBAAsB,GAAG,CACjC,cAAM,OAAA,IAAA,8BAAsB,GAAE,EAAxB,CAAwB,CAAmC,CAAC;QACpE,SAAS,CAAC,iBAAiB,GAAG,CAAC,cAAM,OAAA,IAAA,yBAAiB,GAAE,EAAnB,CAAmB,CAA8B,CAAC;QACvF,SAAS,CAAC,cAAc,GAAG,CAAC,cAAM,OAAA,IAAA,sBAAc,GAAE,EAAhB,CAAgB,CAA2B,CAAC;QAC9E,SAAS,CAAC,UAAU,GAAG,CAAC,cAAM,OAAA,IAAA,mBAAU,GAAE,EAAZ,CAAY,CAAuB,CAAC;QAClE,SAAS,CAAC,iBAAiB,GAAG,CAAC,cAAM,OAAA,IAAA,yBAAiB,GAAE,EAAnB,CAAmB,CAA8B,CAAC;QACvF,SAAS,CAAC,mBAAmB,GAAG,CAAC,cAAM,OAAA,IAAA,4BAAmB,GAAE,EAArB,CAAqB,CAAgC,CAAC;QAC7F,SAAS,CAAC,qBAAqB,GAAG,CAChC,cAAM,OAAA,IAAA,6BAAqB,GAAE,EAAvB,CAAuB,CAAkC,CAAC;QAClE,SAAS,CAAC,yBAAyB,GAAG,UACpC,UAAoB,IACjB,OAAA,IAAA,iCAAyB,EAAC,UAAU,EAAE,IAAI,CAAC,EAA3C,CAA2C,CAAC;QACjD,SAAS,CAAC,wBAAwB,GAAG,UACnC,SAAmB,IAChB,OAAA,IAAA,gCAAwB,EAAC,SAAS,EAAE,IAAI,CAAC,EAAzC,CAAyC,CAAC;QAC/C,SAAS,CAAC,UAAU,GAAG,qBAAU,CAAC;QAClC,SAAS,CAAC,SAAS,GAAG,kBAAS,CAAC;QAChC,IAAM,UAAU,GAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,UAAU,CAAC;QACzC,IAAI,UAAU,EAAE;YACd,SAAS,CAAC,cAAc,GAAG,CAAC,UAC1B,WAAmB,EACnB,eAA8D,EAC9D,cAAkC;gBADlC,gCAAA,EAAA,kBAAoC,wBAAgB,CAAC,SAAS;gBAC9D,+BAAA,EAAA,0BAAkC;gBAC/B,OAAA,IAAA,6BAAqB,EACxB,WAAW,EACX,cAAc,EACd,UAAU,EACV,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,EACxB,eAAe,CAChB;YANI,CAMJ,CAAwC,CAAC;YAC1C,SAAS,CAAC,iBAAiB,GAAG,cAAM,OAAA,IAAA,4BAAiB,EAAC,UAAU,CAAC,EAA7B,CAA6B,CAAC;YAClE,SAAS,CAAC,cAAc,GAAG,IAAA,yBAAc,EAAC,UAAU,CAAC,CAAC;YACtD,SAAS,CAAC,4CAA4C,GAAG,UACvD,IAA8C,IAC3C,OAAA,IAAA,qDAA4C,EAAC,IAAI,EAAE,UAAU,CAAC,EAA9D,CAA8D,CAAC;YACpE,SAAS,CAAC,aAAa,GAAG,UACxB,cAAsB,IACnB,OAAA,IAAA,qBAAa,EAAC,cAAc,EAAE,UAAU,CAAC,EAAzC,CAAyC,CAAC;YAC/C,SAAS,CAAC,YAAY,GAAG,UACvB,SAAiB,EACjB,OAAU,IACP,OAAA,IAAA,oCAA2B,EAC5B,UAAU,EACV,SAAS,EACT,OAAO,CACR,EAJE,CAIF,CAAC;SACL;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;SACxC;IACH,CAAC;IAEc,+BAAkB,GAAjC;QACE,IAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC;QACzB,IAAI;YACF,OAAO,CAAC,KAAK,GAAG,cAAO,CAAC,CAAC;YACzB,IAAA,iBAAS,EAAC,cAAO,CAAC,EAAE,EAAE,CAAC,CAAC;SACzB;QAAC,WAAM;YACN,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC;YACnB,OAAO,CAAC,KAAK,CAAC,8GAA8G,CAAC,CAAC;YAC9H,OAAO,KAAK,CAAC;SACd;QACD,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;OAYG;IACW,yBAAY,GAA1B,UAA2B,IAAY,EAAE,UAAmB;QAC1D,IAAI,CAAC,MAAM,CAAC,WAAW;YAAE,MAAM,CAAC,WAAW,GAAG,EAAE,CAAC;QACjD,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;YACxD,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG;gBACzB,wBAAwB,EAAE,cAAM,OAAA,EAAE,EAAF,CAAE;gBAClC,2BAA2B,EAAE,cAAM,OAAA,EAAE,EAAF,CAAE;gBACrC,4BAA4B,EAAE,cAAM,OAAA,EAAE,EAAF,CAAE;gBACtC,kBAAkB,EAAE,cAAM,OAAA,EAAE,EAAF,CAAE;gBAC5B,6BAA6B,EAAE,cAAM,OAAA,EAAE,EAAF,CAAE;gBACvC,4BAA4B,EAAE,cAAM,OAAA,EAAE,EAAF,CAAE;gBACtC,cAAc,EAAE,cAAM,OAAA,EAAE,EAAF,CAAE;gBACxB,yBAAyB,EAAE,cAAM,OAAA,EAAE,EAAF,CAAE;gBACnC,wBAAwB,EAAE,cAAM,OAAA,EAAE,EAAF,CAAE;gBAClC,uBAAuB,EAAE,cAAM,OAAA,EAAE,EAAF,CAAE;gBACjC,8BAA8B,EAAE,cAAM,OAAA,EAAE,EAAF,CAAE;gBACxC,0BAA0B,EAAE,cAAM,OAAA,EAAE,EAAF,CAAE;gBACpC,oCAAoC,EAAE,cAAM,OAAA,EAAE,EAAF,CAAE;gBAC9C,kBAAkB,EAAE,cAAM,OAAA,EAAE,EAAF,CAAE;gBAC5B,sBAAsB,EAAE,cAAM,OAAA,EAAE,EAAF,CAAE;gBAChC,uBAAuB,EAAE;oBACvB,EAAE,EAAE,cAAO,CAAC;iBACb;gBACD,eAAe,EAAE,cAAM,OAAA,IAAA,wBAAe,GAAE,EAAjB,CAAiB;gBACxC,UAAU,EAAE,UAAC,MAAM,IAAK,OAAA,IAAA,mBAAU,EAAC,MAAM,CAAC,EAAlB,CAAkB;gBAC1C,UAAU,YAAA;aACX,CAAC;SACH;QAED,OAAO,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IACH,mBAAC;AAAD,CAAC,AA/HD,IA+HC;AA/HqB,oCAAY"}
1
+ {"version":3,"file":"BbbPluginSdk.js","sourceRoot":"","sources":["../../../../src/core/api/BbbPluginSdk.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,7 @@ import { UseUserCameraDomElementsFunction } from '../../dom-element-manipulation
32
32
  import { ScreenshareHelperInterface, UserCameraHelperInterface } from '../../extensible-areas';
33
33
  import { GetDataSource } from '../../remote-data/types';
34
34
  import { PersistEventFunction } from '../../event-persistence/types';
35
+ import { PersistAssetFunction } from '../../asset-persistence/types';
35
36
  export type SetPresentationToolbarItems = (presentationToolbarItem: PresentationToolbarInterface[]) => string[];
36
37
  export type SetUserListDropdownItems = (userListDropdownItem: UserListDropdownInterface[]) => string[];
37
38
  export type SetActionButtonDropdownItems = (actionButtonDropdownInterface: ActionButtonDropdownInterface[]) => string[];
@@ -208,6 +209,13 @@ export interface PluginApi {
208
209
  *
209
210
  */
210
211
  persistEvent?: PersistEventFunction;
212
+ /**
213
+ * Persists assets to the current meeting, e.g.: presentation.
214
+ *
215
+ * @param payload - payload to be persisted in `events.xml`
216
+ *
217
+ */
218
+ persistAsset?: PersistAssetFunction;
211
219
  }
212
220
  export interface PluginBrowserWindow extends Window {
213
221
  bbb_plugins: {
@@ -1,8 +1,13 @@
1
1
  import { GraphqlResponseWrapper } from '../../../../core';
2
+ export interface Camera {
3
+ streamId: string;
4
+ }
2
5
  export interface CurrentUserData {
3
6
  userId: string;
7
+ extId: string;
4
8
  name: string;
5
9
  role: string;
6
10
  presenter: boolean;
11
+ cameras: Camera[];
7
12
  }
8
13
  export type UseCurrentUserFunction = () => GraphqlResponseWrapper<CurrentUserData> | undefined;
@@ -1,11 +1,16 @@
1
+ import { ChangeEvent, MouseEvent } from 'react';
1
2
  import { ActionsBarPosition, ActionsBarItemType } from './enums';
2
- import { ActionsBarInterface, ActionsBarButtonProps, ActionsBarSeparatorProps } from './types';
3
- export declare class ActionsBarButton implements ActionsBarInterface {
3
+ import { ActionsBarInterface, ActionsBarItemProps, ActionsBarButtonProps, ActionsBarSeparatorProps, ActionsBarSelectorProps, SelectOption, ToggleGroupOption, ActionsBarToggleGroupProps } from './types';
4
+ declare class ActionsBarItem implements ActionsBarInterface {
4
5
  id: string;
5
6
  type: ActionsBarItemType;
7
+ position: ActionsBarPosition;
8
+ constructor({ id, type, position, }: ActionsBarItemProps);
9
+ setItemId(id: string): void;
10
+ }
11
+ export declare class ActionsBarButton extends ActionsBarItem {
6
12
  icon: string;
7
13
  tooltip: string;
8
- position: ActionsBarPosition;
9
14
  onClick: () => void;
10
15
  /**
11
16
  * Returns object to be used in the setter for action bar. In this case,
@@ -19,20 +24,64 @@ export declare class ActionsBarButton implements ActionsBarInterface {
19
24
  * @returns Object that will be interpreted by the core of Bigbluebutton (HTML5)
20
25
  */
21
26
  constructor({ id, icon, tooltip, onClick, position, }: ActionsBarButtonProps);
22
- setItemId: (id: string) => void;
23
27
  }
24
- export declare class ActionsBarSeparator implements ActionsBarInterface {
25
- position: ActionsBarPosition;
26
- id: string;
27
- type: ActionsBarItemType;
28
+ export declare class ActionsBarSeparator extends ActionsBarItem {
29
+ icon: string;
28
30
  /**
29
31
  * Returns object to be used in the setter for action bar. In this case,
30
32
  * a separator.
31
33
  *
32
34
  * @param position - position that this button will be displayed, see {@link ActionsBarPosition}
35
+ * @param icon - Icon to be displayed as the separator. If not provided, the default separator
36
+ * (a vertical bar) will be displayed.
37
+ *
38
+ * @returns Object that will be interpreted by the core of Bigbluebutton (HTML5)
39
+ */
40
+ constructor({ position, icon, }: ActionsBarSeparatorProps);
41
+ }
42
+ export declare class ActionsBarSelector extends ActionsBarItem {
43
+ title: string;
44
+ options: SelectOption[];
45
+ defaultOption: SelectOption;
46
+ onChange: (value: string | number, event: ChangeEvent<HTMLInputElement>) => void;
47
+ width: number;
48
+ /**
49
+ * Returns object to be used in the setter for action bar. In this case,
50
+ * a selector.
51
+ *
52
+ * @param title - title to be used in the selector for the actions bar
53
+ * @param options - an array of options to be available in the selector
54
+ * @param defaultOption - the option to be initially selected, if not present, the first option is
55
+ * selected
56
+ * @param onChange - function to be called when selected value changes
57
+ * @param position - position that this button will be displayed, see {@link ActionsBarPosition}
58
+ * @param width - desired width for the selector in px, default is 140
59
+ *
60
+ * @returns Object that will be interpreted by the core of Bigbluebutton (HTML5)
61
+ */
62
+ constructor({ id, title, options, defaultOption, onChange, position, width, }: ActionsBarSelectorProps);
63
+ }
64
+ export declare class ActionsBarToggleGroup extends ActionsBarItem {
65
+ title: string;
66
+ exclusive: boolean;
67
+ options: ToggleGroupOption[];
68
+ defaultOption: ToggleGroupOption;
69
+ onChange: (values: string | number | string[] | number[], event: MouseEvent<HTMLElement>) => void;
70
+ /**
71
+ * Returns object to be used in the setter for action bar. In this case,
72
+ * a toggle group.
73
+ *
74
+ * @param title - title to be used in the selector for the actions bar
75
+ * @param exclusive - whether the toggle group should be exclusive or not - allow checking
76
+ * multiple options
77
+ * @param options - an array of options to be available in the toggle group
78
+ * @param defaultOption - the option to be initially checked, if not present, the first option is
79
+ * checked
80
+ * @param onChange - function to be called when checked value changes
81
+ * @param position - position that this button will be displayed, see {@link ActionsBarPosition}
33
82
  *
34
83
  * @returns Object that will be interpreted by the core of Bigbluebutton (HTML5)
35
84
  */
36
- constructor({ position, }: ActionsBarSeparatorProps);
37
- setItemId: (id: string) => void;
85
+ constructor({ id, title, exclusive, options, defaultOption, onChange, position, }: ActionsBarToggleGroupProps);
38
86
  }
87
+ export {};
@@ -1,9 +1,40 @@
1
1
  "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
2
17
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ActionsBarSeparator = exports.ActionsBarButton = void 0;
18
+ exports.ActionsBarToggleGroup = exports.ActionsBarSelector = exports.ActionsBarSeparator = exports.ActionsBarButton = void 0;
4
19
  var enums_1 = require("./enums");
5
20
  // ActionsBar Extensible Area
6
- var ActionsBarButton = /** @class */ (function () {
21
+ var ActionsBarItem = /** @class */ (function () {
22
+ function ActionsBarItem(_a) {
23
+ var id = _a.id, type = _a.type, _b = _a.position, position = _b === void 0 ? enums_1.ActionsBarPosition.RIGHT : _b;
24
+ this.id = '';
25
+ if (id) {
26
+ this.id = id;
27
+ }
28
+ this.type = type;
29
+ this.position = position;
30
+ }
31
+ ActionsBarItem.prototype.setItemId = function (id) {
32
+ this.id = "ActionsBar".concat(this.type, "_").concat(id);
33
+ };
34
+ return ActionsBarItem;
35
+ }());
36
+ var ActionsBarButton = /** @class */ (function (_super) {
37
+ __extends(ActionsBarButton, _super);
7
38
  /**
8
39
  * Returns object to be used in the setter for action bar. In this case,
9
40
  * a button.
@@ -17,43 +48,94 @@ var ActionsBarButton = /** @class */ (function () {
17
48
  */
18
49
  function ActionsBarButton(_a) {
19
50
  var id = _a.id, _b = _a.icon, icon = _b === void 0 ? '' : _b, _c = _a.tooltip, tooltip = _c === void 0 ? '' : _c, _d = _a.onClick, onClick = _d === void 0 ? function () { } : _d, _e = _a.position, position = _e === void 0 ? enums_1.ActionsBarPosition.RIGHT : _e;
20
- var _this = this;
21
- this.id = '';
22
- this.setItemId = function (id) {
23
- _this.id = "ActionsBarButton_".concat(id);
24
- };
25
- if (id) {
26
- this.id = id;
27
- }
28
- this.icon = icon;
29
- this.tooltip = tooltip;
30
- this.onClick = onClick;
31
- this.position = position;
32
- this.type = enums_1.ActionsBarItemType.BUTTON;
51
+ var _this = _super.call(this, { id: id, type: enums_1.ActionsBarItemType.BUTTON, position: position }) || this;
52
+ _this.icon = icon;
53
+ _this.tooltip = tooltip;
54
+ _this.onClick = onClick;
55
+ return _this;
33
56
  }
34
57
  return ActionsBarButton;
35
- }());
58
+ }(ActionsBarItem));
36
59
  exports.ActionsBarButton = ActionsBarButton;
37
- var ActionsBarSeparator = /** @class */ (function () {
60
+ var ActionsBarSeparator = /** @class */ (function (_super) {
61
+ __extends(ActionsBarSeparator, _super);
38
62
  /**
39
63
  * Returns object to be used in the setter for action bar. In this case,
40
64
  * a separator.
41
65
  *
42
66
  * @param position - position that this button will be displayed, see {@link ActionsBarPosition}
67
+ * @param icon - Icon to be displayed as the separator. If not provided, the default separator
68
+ * (a vertical bar) will be displayed.
43
69
  *
44
70
  * @returns Object that will be interpreted by the core of Bigbluebutton (HTML5)
45
71
  */
46
72
  function ActionsBarSeparator(_a) {
47
- var _b = _a.position, position = _b === void 0 ? enums_1.ActionsBarPosition.RIGHT : _b;
48
- var _this = this;
49
- this.id = '';
50
- this.setItemId = function (id) {
51
- _this.id = "ActionsBarSeparator_".concat(id);
52
- };
53
- this.position = position;
54
- this.type = enums_1.ActionsBarItemType.SEPARATOR;
73
+ var _b = _a.position, position = _b === void 0 ? enums_1.ActionsBarPosition.RIGHT : _b, _c = _a.icon, icon = _c === void 0 ? '' : _c;
74
+ var _this = _super.call(this, { type: enums_1.ActionsBarItemType.SEPARATOR, position: position }) || this;
75
+ _this.icon = icon;
76
+ return _this;
55
77
  }
56
78
  return ActionsBarSeparator;
57
- }());
79
+ }(ActionsBarItem));
58
80
  exports.ActionsBarSeparator = ActionsBarSeparator;
81
+ var ActionsBarSelector = /** @class */ (function (_super) {
82
+ __extends(ActionsBarSelector, _super);
83
+ /**
84
+ * Returns object to be used in the setter for action bar. In this case,
85
+ * a selector.
86
+ *
87
+ * @param title - title to be used in the selector for the actions bar
88
+ * @param options - an array of options to be available in the selector
89
+ * @param defaultOption - the option to be initially selected, if not present, the first option is
90
+ * selected
91
+ * @param onChange - function to be called when selected value changes
92
+ * @param position - position that this button will be displayed, see {@link ActionsBarPosition}
93
+ * @param width - desired width for the selector in px, default is 140
94
+ *
95
+ * @returns Object that will be interpreted by the core of Bigbluebutton (HTML5)
96
+ */
97
+ function ActionsBarSelector(_a) {
98
+ var id = _a.id, _b = _a.title, title = _b === void 0 ? '' : _b, _c = _a.options, options = _c === void 0 ? [] : _c, _d = _a.defaultOption, defaultOption = _d === void 0 ? options[0] : _d, _e = _a.onChange, onChange = _e === void 0 ? function () { } : _e, _f = _a.position, position = _f === void 0 ? enums_1.ActionsBarPosition.RIGHT : _f, _g = _a.width, width = _g === void 0 ? 140 : _g;
99
+ var _this = _super.call(this, { id: id, type: enums_1.ActionsBarItemType.SELECTOR, position: position }) || this;
100
+ _this.width = 145;
101
+ _this.title = title;
102
+ _this.options = options;
103
+ _this.defaultOption = defaultOption;
104
+ _this.onChange = onChange;
105
+ _this.width = width;
106
+ return _this;
107
+ }
108
+ return ActionsBarSelector;
109
+ }(ActionsBarItem));
110
+ exports.ActionsBarSelector = ActionsBarSelector;
111
+ var ActionsBarToggleGroup = /** @class */ (function (_super) {
112
+ __extends(ActionsBarToggleGroup, _super);
113
+ /**
114
+ * Returns object to be used in the setter for action bar. In this case,
115
+ * a toggle group.
116
+ *
117
+ * @param title - title to be used in the selector for the actions bar
118
+ * @param exclusive - whether the toggle group should be exclusive or not - allow checking
119
+ * multiple options
120
+ * @param options - an array of options to be available in the toggle group
121
+ * @param defaultOption - the option to be initially checked, if not present, the first option is
122
+ * checked
123
+ * @param onChange - function to be called when checked value changes
124
+ * @param position - position that this button will be displayed, see {@link ActionsBarPosition}
125
+ *
126
+ * @returns Object that will be interpreted by the core of Bigbluebutton (HTML5)
127
+ */
128
+ function ActionsBarToggleGroup(_a) {
129
+ var id = _a.id, _b = _a.title, title = _b === void 0 ? '' : _b, _c = _a.exclusive, exclusive = _c === void 0 ? true : _c, _d = _a.options, options = _d === void 0 ? [] : _d, _e = _a.defaultOption, defaultOption = _e === void 0 ? options[0] : _e, _f = _a.onChange, onChange = _f === void 0 ? function () { } : _f, _g = _a.position, position = _g === void 0 ? enums_1.ActionsBarPosition.RIGHT : _g;
130
+ var _this = _super.call(this, { id: id, type: enums_1.ActionsBarItemType.TOGGLE_GROUP, position: position }) || this;
131
+ _this.title = title;
132
+ _this.exclusive = exclusive;
133
+ _this.options = options;
134
+ _this.defaultOption = defaultOption;
135
+ _this.onChange = onChange;
136
+ return _this;
137
+ }
138
+ return ActionsBarToggleGroup;
139
+ }(ActionsBarItem));
140
+ exports.ActionsBarToggleGroup = ActionsBarToggleGroup;
59
141
  //# sourceMappingURL=component.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"component.js","sourceRoot":"","sources":["../../../../src/extensible-areas/actions-bar-item/component.ts"],"names":[],"mappings":";;;AAAA,iCAAiE;AAKjE,6BAA6B;AAE7B;IAaE;;;;;;;;;;OAUG;IACH,0BAAY,EAEY;YADtB,EAAE,QAAA,EAAE,YAAS,EAAT,IAAI,mBAAG,EAAE,KAAA,EAAE,eAAY,EAAZ,OAAO,mBAAG,EAAE,KAAA,EAAE,eAAkB,EAAlB,OAAO,mBAAG,cAAO,CAAC,KAAA,EAAE,gBAAmC,EAAnC,QAAQ,mBAAG,0BAAkB,CAAC,KAAK,KAAA;QADtF,iBAWC;QAlCD,OAAE,GAAW,EAAE,CAAC;QAoChB,cAAS,GAAyB,UAAC,EAAU;YAC3C,KAAI,CAAC,EAAE,GAAG,2BAAoB,EAAE,CAAE,CAAC;QACrC,CAAC,CAAC;QAZA,IAAI,EAAE,EAAE;YACN,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;SACd;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,0BAAkB,CAAC,MAAM,CAAC;IACxC,CAAC;IAKH,uBAAC;AAAD,CAAC,AAxCD,IAwCC;AAxCY,4CAAgB;AA0C7B;IAOE;;;;;;;OAOG;IACH,6BAAY,EAEe;YADzB,gBAAmC,EAAnC,QAAQ,mBAAG,0BAAkB,CAAC,KAAK,KAAA;QADrC,iBAKC;QAjBD,OAAE,GAAW,EAAE,CAAC;QAmBhB,cAAS,GAAyB,UAAC,EAAU;YAC3C,KAAI,CAAC,EAAE,GAAG,8BAAuB,EAAE,CAAE,CAAC;QACxC,CAAC,CAAC;QANA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,0BAAkB,CAAC,SAAS,CAAC;IAC3C,CAAC;IAKH,0BAAC;AAAD,CAAC,AAzBD,IAyBC;AAzBY,kDAAmB"}
1
+ {"version":3,"file":"component.js","sourceRoot":"","sources":["../../../../src/extensible-areas/actions-bar-item/component.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  export declare enum ActionsBarItemType {
2
2
  BUTTON = "ACTIONS_BAR_BUTTON",
3
- SEPARATOR = "ACTIONS_BAR_SEPARATOR"
3
+ SEPARATOR = "ACTIONS_BAR_SEPARATOR",
4
+ SELECTOR = "ACTIONS_BAR_SELECTOR",
5
+ TOGGLE_GROUP = "ACTIONS_BAR_TOGGLE_GROUP"
4
6
  }
5
7
  /**
6
8
  * Enum with the position to insert the actions bar item (Separator or Button)
@@ -6,6 +6,8 @@ var ActionsBarItemType;
6
6
  (function (ActionsBarItemType) {
7
7
  ActionsBarItemType["BUTTON"] = "ACTIONS_BAR_BUTTON";
8
8
  ActionsBarItemType["SEPARATOR"] = "ACTIONS_BAR_SEPARATOR";
9
+ ActionsBarItemType["SELECTOR"] = "ACTIONS_BAR_SELECTOR";
10
+ ActionsBarItemType["TOGGLE_GROUP"] = "ACTIONS_BAR_TOGGLE_GROUP";
9
11
  })(ActionsBarItemType || (exports.ActionsBarItemType = ActionsBarItemType = {}));
10
12
  /**
11
13
  * Enum with the position to insert the actions bar item (Separator or Button)
@@ -1 +1 @@
1
- {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../../src/extensible-areas/actions-bar-item/enums.ts"],"names":[],"mappings":";;;AAAA,0BAA0B;AAC1B,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,mDAA6B,CAAA;IAC7B,yDAAmC,CAAA;AACrC,CAAC,EAHW,kBAAkB,kCAAlB,kBAAkB,QAG7B;AAED;;GAEG;AACH,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,mCAAa,CAAA;IACb,qCAAe,CAAA;AACjB,CAAC,EAHW,kBAAkB,kCAAlB,kBAAkB,QAG7B"}
1
+ {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../../src/extensible-areas/actions-bar-item/enums.ts"],"names":[],"mappings":";;;AAAA,0BAA0B;AAC1B,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC5B,mDAA6B,CAAA;IAC7B,yDAAmC,CAAA;IACnC,uDAAiC,CAAA;IACjC,+DAAyC,CAAA;AAC3C,CAAC,EALW,kBAAkB,kCAAlB,kBAAkB,QAK7B;AAED;;GAEG;AACH,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,mCAAa,CAAA;IACb,qCAAe,CAAA;AACjB,CAAC,EAHW,kBAAkB,kCAAlB,kBAAkB,QAG7B"}
@@ -1,3 +1,3 @@
1
- export { ActionsBarButton, ActionsBarSeparator, } from './component';
1
+ export { ActionsBarButton, ActionsBarSeparator, ActionsBarSelector, ActionsBarToggleGroup, } from './component';
2
2
  export { ActionsBarInterface, } from './types';
3
- export { ActionsBarPosition, } from './enums';
3
+ export { ActionsBarItemType, ActionsBarPosition, } from './enums';
@@ -1,9 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ActionsBarPosition = exports.ActionsBarSeparator = exports.ActionsBarButton = void 0;
3
+ exports.ActionsBarPosition = exports.ActionsBarItemType = exports.ActionsBarToggleGroup = exports.ActionsBarSelector = exports.ActionsBarSeparator = exports.ActionsBarButton = void 0;
4
4
  var component_1 = require("./component");
5
5
  Object.defineProperty(exports, "ActionsBarButton", { enumerable: true, get: function () { return component_1.ActionsBarButton; } });
6
6
  Object.defineProperty(exports, "ActionsBarSeparator", { enumerable: true, get: function () { return component_1.ActionsBarSeparator; } });
7
+ Object.defineProperty(exports, "ActionsBarSelector", { enumerable: true, get: function () { return component_1.ActionsBarSelector; } });
8
+ Object.defineProperty(exports, "ActionsBarToggleGroup", { enumerable: true, get: function () { return component_1.ActionsBarToggleGroup; } });
7
9
  var enums_1 = require("./enums");
10
+ Object.defineProperty(exports, "ActionsBarItemType", { enumerable: true, get: function () { return enums_1.ActionsBarItemType; } });
8
11
  Object.defineProperty(exports, "ActionsBarPosition", { enumerable: true, get: function () { return enums_1.ActionsBarPosition; } });
9
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/extensible-areas/actions-bar-item/index.ts"],"names":[],"mappings":";;;AAAA,yCAGqB;AAFnB,6GAAA,gBAAgB,OAAA;AAChB,gHAAA,mBAAmB,OAAA;AAKrB,iCAEiB;AADf,2GAAA,kBAAkB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/extensible-areas/actions-bar-item/index.ts"],"names":[],"mappings":";;;AAAA,yCAKqB;AAJnB,6GAAA,gBAAgB,OAAA;AAChB,gHAAA,mBAAmB,OAAA;AACnB,+GAAA,kBAAkB,OAAA;AAClB,kHAAA,qBAAqB,OAAA;AAKvB,iCAGiB;AAFf,2GAAA,kBAAkB,OAAA;AAClB,2GAAA,kBAAkB,OAAA"}
@@ -1,11 +1,17 @@
1
+ import { ChangeEvent, MouseEvent } from 'react';
1
2
  import { PluginProvidedUiItemDescriptor } from '../base';
2
- import { ActionsBarPosition } from './enums';
3
+ import { ActionsBarItemType, ActionsBarPosition } from './enums';
3
4
  /**
4
5
  * Interface for the generic Actions bar item. (`position` is mandatory)
5
6
  */
6
7
  export interface ActionsBarInterface extends PluginProvidedUiItemDescriptor {
7
8
  position: ActionsBarPosition;
8
9
  }
10
+ export interface ActionsBarItemProps {
11
+ id?: string;
12
+ position: ActionsBarPosition;
13
+ type: ActionsBarItemType;
14
+ }
9
15
  export interface ActionsBarButtonProps {
10
16
  id?: string;
11
17
  icon: string;
@@ -15,4 +21,29 @@ export interface ActionsBarButtonProps {
15
21
  }
16
22
  export interface ActionsBarSeparatorProps {
17
23
  position: ActionsBarPosition;
24
+ icon?: string;
25
+ }
26
+ export interface SelectOption {
27
+ value: string | number;
28
+ label: string;
29
+ }
30
+ export interface ToggleGroupOption extends SelectOption {
31
+ }
32
+ export interface ActionsBarSelectorProps {
33
+ id?: string;
34
+ title: string;
35
+ options: SelectOption[];
36
+ defaultOption?: SelectOption;
37
+ onChange: (value: string | number, event: ChangeEvent<HTMLInputElement>) => void;
38
+ position: ActionsBarPosition;
39
+ width?: number;
40
+ }
41
+ export interface ActionsBarToggleGroupProps {
42
+ id?: string;
43
+ title: string;
44
+ options: ToggleGroupOption[];
45
+ defaultOption?: ToggleGroupOption;
46
+ exclusive?: boolean;
47
+ onChange: (values: string | number | string[] | number[], event: MouseEvent<HTMLElement>) => void;
48
+ position: ActionsBarPosition;
18
49
  }
@@ -0,0 +1,17 @@
1
+ import { SetSelfViewDisableAllDevicesCommandArguments, SetSelfViewDisableCommandArguments } from './types';
2
+ export declare const camera: {
3
+ /**
4
+ * Sets the self-view camera disabled/enabled for all cameras.
5
+ *
6
+ * @param setSelfViewDisableAllDevicesCommandArguments: object with a
7
+ * boolean that tells whether to enable or not the self-view camera for all devices
8
+ */
9
+ setSelfViewDisableAllDevices: (setSelfViewDisableAllDevicesCommandArguments: SetSelfViewDisableAllDevicesCommandArguments) => void;
10
+ /**
11
+ * Sets the self-view camera disabled/enabled for specific camera.
12
+ *
13
+ * @param setSelfViewDisableCommandArguments: object with a
14
+ * boolean that tells whether to enable or not the self-view camera for specific device
15
+ */
16
+ setSelfViewDisable: (setSelfViewDisableCommandArguments: SetSelfViewDisableCommandArguments) => void;
17
+ };
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.camera = void 0;
4
+ var enums_1 = require("./enums");
5
+ exports.camera = {
6
+ /**
7
+ * Sets the self-view camera disabled/enabled for all cameras.
8
+ *
9
+ * @param setSelfViewDisableAllDevicesCommandArguments: object with a
10
+ * boolean that tells whether to enable or not the self-view camera for all devices
11
+ */
12
+ setSelfViewDisableAllDevices: function (setSelfViewDisableAllDevicesCommandArguments) {
13
+ var isSelfViewDisabledAllDevices = setSelfViewDisableAllDevicesCommandArguments.isSelfViewDisabledAllDevices;
14
+ window.dispatchEvent(new CustomEvent(enums_1.CameraEnum.SET_SELF_VIEW_DISABLED_ALL_DEVICES, {
15
+ detail: {
16
+ isSelfViewDisabledAllDevices: isSelfViewDisabledAllDevices,
17
+ },
18
+ }));
19
+ },
20
+ /**
21
+ * Sets the self-view camera disabled/enabled for specific camera.
22
+ *
23
+ * @param setSelfViewDisableCommandArguments: object with a
24
+ * boolean that tells whether to enable or not the self-view camera for specific device
25
+ */
26
+ setSelfViewDisable: function (setSelfViewDisableCommandArguments) {
27
+ var isSelfViewDisabled = setSelfViewDisableCommandArguments.isSelfViewDisabled, streamId = setSelfViewDisableCommandArguments.streamId;
28
+ window.dispatchEvent(new CustomEvent(enums_1.CameraEnum.SET_SELF_VIEW_DISABLED, {
29
+ detail: {
30
+ isSelfViewDisabled: isSelfViewDisabled,
31
+ streamId: streamId,
32
+ },
33
+ }));
34
+ },
35
+ };
36
+ //# sourceMappingURL=commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../../../src/ui-commands/camera/commands.ts"],"names":[],"mappings":";;;AAAA,iCAAqC;AAGxB,QAAA,MAAM,GAAG;IACpB;;;;;OAKG;IACH,4BAA4B,EAAE,UAC5B,4CAA0F;QAGxF,IAAA,4BAA4B,GAC1B,4CAA4C,6BADlB,CACmB;QACjD,MAAM,CAAC,aAAa,CAClB,IAAI,WAAW,CAEb,kBAAU,CAAC,kCAAkC,EAAE;YAC/C,MAAM,EAAE;gBACN,4BAA4B,8BAAA;aAC7B;SACF,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,kBAAkB,EAAE,UAClB,kCAAsE;QAGpE,IAAA,kBAAkB,GAEhB,kCAAkC,mBAFlB,EAClB,QAAQ,GACN,kCAAkC,SAD5B,CAC6B;QACvC,MAAM,CAAC,aAAa,CAClB,IAAI,WAAW,CAEb,kBAAU,CAAC,sBAAsB,EAAE;YACnC,MAAM,EAAE;gBACN,kBAAkB,oBAAA;gBAClB,QAAQ,UAAA;aACT;SACF,CAAC,CACH,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare enum CameraEnum {
2
+ SET_SELF_VIEW_DISABLED_ALL_DEVICES = "SET_SELF_VIEW_DISABLED_ALL_DEVICES_COMMAND",
3
+ SET_SELF_VIEW_DISABLED = "SET_SELF_VIEW_DISABLED_COMMAND"
4
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CameraEnum = void 0;
4
+ var CameraEnum;
5
+ (function (CameraEnum) {
6
+ CameraEnum["SET_SELF_VIEW_DISABLED_ALL_DEVICES"] = "SET_SELF_VIEW_DISABLED_ALL_DEVICES_COMMAND";
7
+ CameraEnum["SET_SELF_VIEW_DISABLED"] = "SET_SELF_VIEW_DISABLED_COMMAND";
8
+ })(CameraEnum || (exports.CameraEnum = CameraEnum = {}));
9
+ //# sourceMappingURL=enums.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../../src/ui-commands/camera/enums.ts"],"names":[],"mappings":";;;AAAA,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,+FAAiF,CAAA;IACjF,uEAAyD,CAAA;AAC3D,CAAC,EAHW,UAAU,0BAAV,UAAU,QAGrB"}
@@ -0,0 +1,11 @@
1
+ export interface SetSelfViewDisableAllDevicesCommandArguments {
2
+ isSelfViewDisabledAllDevices: boolean;
3
+ }
4
+ export interface SetSelfViewDisableCommandArguments {
5
+ isSelfViewDisabled: boolean;
6
+ streamId: string;
7
+ }
8
+ export interface UiCommandsCameraObject {
9
+ setSelfViewDisableAllDevices: (setSelfViewDisableAllDevicesCommandArguments: SetSelfViewDisableAllDevicesCommandArguments) => void;
10
+ setSelfViewDisable: (setSelfViewDisableAllDevicesCommandArguments: SetSelfViewDisableCommandArguments) => void;
11
+ }
@@ -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/ui-commands/camera/types.ts"],"names":[],"mappings":""}
@@ -2,6 +2,10 @@ export declare const uiCommands: {
2
2
  actionsBar: {
3
3
  setDisplayActionBar: (arg: import("./actions-bar/types").SetDisplayActionBarCommandArguments) => void;
4
4
  };
5
+ camera: {
6
+ setSelfViewDisableAllDevices: (setSelfViewDisableAllDevicesCommandArguments: import("./camera/types").SetSelfViewDisableAllDevicesCommandArguments) => void;
7
+ setSelfViewDisable: (setSelfViewDisableCommandArguments: import("./camera/types").SetSelfViewDisableCommandArguments) => void;
8
+ };
5
9
  chat: {
6
10
  form: {
7
11
  open: () => void;
@@ -32,6 +36,7 @@ export declare const uiCommands: {
32
36
  };
33
37
  notification: {
34
38
  send: (information: import("./notification/types").SendNotificationCommandArguments) => void;
39
+ setEnabledDisplayNotifications: (isNotificationDisplayEnabled: boolean) => void;
35
40
  };
36
41
  layout: {
37
42
  changeEnforcedLayout: import("./layout/types").ChangeEnforcedLayout;
@@ -8,19 +8,21 @@ var commands_4 = require("./presentation-area/commands");
8
8
  var commands_5 = require("./user-status/commands");
9
9
  var commands_6 = require("./conference/commands");
10
10
  var commands_7 = require("./notification/commands");
11
- var commands_8 = require("./actions-bar/commands");
12
- var commands_9 = require("./layout/commands");
13
- var commands_10 = require("./nav-bar/commands");
11
+ var commands_8 = require("./camera/commands");
12
+ var commands_9 = require("./actions-bar/commands");
13
+ var commands_10 = require("./layout/commands");
14
+ var commands_11 = require("./nav-bar/commands");
14
15
  exports.uiCommands = {
15
- actionsBar: commands_8.actionsBar,
16
+ actionsBar: commands_9.actionsBar,
17
+ camera: commands_8.camera,
16
18
  chat: commands_1.chat,
17
19
  externalVideo: commands_2.externalVideo,
18
20
  sidekickOptionsContainer: commands_3.sidekickOptionsContainer,
19
- navBar: commands_10.navBar,
21
+ navBar: commands_11.navBar,
20
22
  presentationArea: commands_4.presentationArea,
21
23
  userStatus: commands_5.userStatus,
22
24
  conference: commands_6.conference,
23
25
  notification: commands_7.notification,
24
- layout: commands_9.layout,
26
+ layout: commands_10.layout,
25
27
  };
26
28
  //# sourceMappingURL=commands.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../../src/ui-commands/commands.ts"],"names":[],"mappings":";;;AAAA,4CAAuC;AACvC,sDAA0D;AAC1D,kEAAiF;AACjF,yDAAgE;AAChE,mDAAoD;AACpD,kDAAmD;AACnD,oDAAuD;AACvD,mDAAoD;AACpD,8CAA2C;AAC3C,gDAA4C;AAE/B,QAAA,UAAU,GAAG;IACxB,UAAU,uBAAA;IACV,IAAI,iBAAA;IACJ,aAAa,0BAAA;IACb,wBAAwB,qCAAA;IACxB,MAAM,oBAAA;IACN,gBAAgB,6BAAA;IAChB,UAAU,uBAAA;IACV,UAAU,uBAAA;IACV,YAAY,yBAAA;IACZ,MAAM,mBAAA;CACP,CAAC"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../../src/ui-commands/commands.ts"],"names":[],"mappings":";;;AAAA,4CAAuC;AACvC,sDAA0D;AAC1D,kEAAiF;AACjF,yDAAgE;AAChE,mDAAoD;AACpD,kDAAmD;AACnD,oDAAuD;AACvD,8CAA2C;AAC3C,mDAAoD;AACpD,+CAA2C;AAC3C,gDAA4C;AAE/B,QAAA,UAAU,GAAG;IACxB,UAAU,uBAAA;IACV,MAAM,mBAAA;IACN,IAAI,iBAAA;IACJ,aAAa,0BAAA;IACb,wBAAwB,qCAAA;IACxB,MAAM,oBAAA;IACN,gBAAgB,6BAAA;IAChB,UAAU,uBAAA;IACV,UAAU,uBAAA;IACV,YAAY,yBAAA;IACZ,MAAM,oBAAA;CACP,CAAC"}
@@ -4,4 +4,8 @@ export declare const notification: {
4
4
  * Sends notification to be rendered in the front-end.
5
5
  */
6
6
  send: (information: SendNotificationCommandArguments) => void;
7
+ /**
8
+ * Decides if notifications stop being displayed.
9
+ */
10
+ setEnabledDisplayNotifications: (isNotificationDisplayEnabled: boolean) => void;
7
11
  };
@@ -11,5 +11,13 @@ exports.notification = {
11
11
  detail: information,
12
12
  }));
13
13
  },
14
+ /**
15
+ * Decides if notifications stop being displayed.
16
+ */
17
+ setEnabledDisplayNotifications: function (isNotificationDisplayEnabled) {
18
+ window.dispatchEvent(new CustomEvent(enums_1.NotificationEnum.SET_ENABLED_DISPLAY, {
19
+ detail: { isNotificationDisplayEnabled: isNotificationDisplayEnabled },
20
+ }));
21
+ },
14
22
  };
15
23
  //# sourceMappingURL=commands.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../../../src/ui-commands/notification/commands.ts"],"names":[],"mappings":";;;AAAA,iCAA2C;AAG9B,QAAA,YAAY,GAAG;IAC1B;;OAEG;IACH,IAAI,EAAE,UAAC,WAA6C;QAClD,MAAM,CAAC,aAAa,CAClB,IAAI,WAAW,CAEb,wBAAgB,CAAC,IAAI,EAAE;YACvB,MAAM,EAAE,WAAW;SACpB,CAAC,CACH,CAAC;IACJ,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../../../src/ui-commands/notification/commands.ts"],"names":[],"mappings":";;;AAAA,iCAA2C;AAG9B,QAAA,YAAY,GAAG;IAC1B;;OAEG;IACH,IAAI,EAAE,UAAC,WAA6C;QAClD,MAAM,CAAC,aAAa,CAClB,IAAI,WAAW,CAEb,wBAAgB,CAAC,IAAI,EAAE;YACvB,MAAM,EAAE,WAAW;SACpB,CAAC,CACH,CAAC;IACJ,CAAC;IACD;;OAEG;IACH,8BAA8B,EAAE,UAAC,4BAAqC;QACpE,MAAM,CAAC,aAAa,CAClB,IAAI,WAAW,CAEb,wBAAgB,CAAC,mBAAmB,EAAE;YACtC,MAAM,EAAE,EAAE,4BAA4B,8BAAA,EAAE;SACzC,CAAC,CACH,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -1,5 +1,6 @@
1
1
  export declare enum NotificationEnum {
2
- SEND = "SEND_NOTIFICATION"
2
+ SEND = "SEND_NOTIFICATION_COMMAND",
3
+ SET_ENABLED_DISPLAY = "SET_ENABLED_DISPLAY_COMMAND"
3
4
  }
4
5
  export declare enum NotificationTypeUiCommand {
5
6
  INFO = "info",
@@ -3,7 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.NotificationTypeUiCommand = exports.NotificationEnum = void 0;
4
4
  var NotificationEnum;
5
5
  (function (NotificationEnum) {
6
- NotificationEnum["SEND"] = "SEND_NOTIFICATION";
6
+ NotificationEnum["SEND"] = "SEND_NOTIFICATION_COMMAND";
7
+ NotificationEnum["SET_ENABLED_DISPLAY"] = "SET_ENABLED_DISPLAY_COMMAND";
7
8
  })(NotificationEnum || (exports.NotificationEnum = NotificationEnum = {}));
8
9
  var NotificationTypeUiCommand;
9
10
  (function (NotificationTypeUiCommand) {
@@ -1 +1 @@
1
- {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../../src/ui-commands/notification/enums.ts"],"names":[],"mappings":";;;AAAA,IAAY,gBAEX;AAFD,WAAY,gBAAgB;IAC1B,8CAA0B,CAAA;AAC5B,CAAC,EAFW,gBAAgB,gCAAhB,gBAAgB,QAE3B;AAED,IAAY,yBAMX;AAND,WAAY,yBAAyB;IACnC,0CAAa,CAAA;IACb,gDAAmB,CAAA;IACnB,gDAAmB,CAAA;IACnB,gDAAmB,CAAA;IACnB,4CAAe,CAAA;AACjB,CAAC,EANW,yBAAyB,yCAAzB,yBAAyB,QAMpC"}
1
+ {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../../src/ui-commands/notification/enums.ts"],"names":[],"mappings":";;;AAAA,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IAC1B,sDAAkC,CAAA;IAClC,uEAAmD,CAAA;AACrD,CAAC,EAHW,gBAAgB,gCAAhB,gBAAgB,QAG3B;AAED,IAAY,yBAMX;AAND,WAAY,yBAAyB;IACnC,0CAAa,CAAA;IACb,gDAAmB,CAAA;IACnB,gDAAmB,CAAA;IACnB,gDAAmB,CAAA;IACnB,4CAAe,CAAA;AACjB,CAAC,EANW,yBAAyB,yCAAzB,yBAAyB,QAMpC"}
@@ -12,6 +12,10 @@ export interface SendNotificationCommandArguments {
12
12
  content?: string;
13
13
  small?: boolean;
14
14
  }
15
+ export interface SetEnableDisplayNotificationsArguments {
16
+ isNotificationDisplayEnabled: boolean;
17
+ }
15
18
  export interface UiCommandsNotificationObject {
16
19
  send: (information: SendNotificationCommandArguments) => void;
20
+ setEnabledDisplayNotifications: (isNotificationDisplayEnabled: boolean) => void;
17
21
  }
@@ -8,9 +8,11 @@ import { UiCommandsNotificationObject } from './notification/types';
8
8
  import { UiCommandsActionsBarObject } from './actions-bar/types';
9
9
  import { UiCommandsLayoutObject } from './layout/types';
10
10
  import { UiCommandsNavBarObject } from './nav-bar/types';
11
+ import { UiCommandsCameraObject } from './camera/types';
11
12
  export interface UiCommands {
12
13
  layout: UiCommandsLayoutObject;
13
14
  actionsBar: UiCommandsActionsBarObject;
15
+ camera: UiCommandsCameraObject;
14
16
  chat: UiCommandsChatObject;
15
17
  externalVideo: UiCommandsExternalVideoObject;
16
18
  sidekickOptionsContainer: UiCommandsSidekickOptionsContainerObject;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bigbluebutton-html-plugin-sdk",
3
- "version": "0.0.69",
3
+ "version": "0.0.71",
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",