bigbluebutton-html-plugin-sdk 0.0.87 → 0.0.89

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 (47) hide show
  1. package/README.md +94 -11
  2. package/dist/cjs/core/api/BbbPluginSdk.js +6 -1
  3. package/dist/cjs/core/api/BbbPluginSdk.js.map +1 -1
  4. package/dist/cjs/core/api/types.d.ts +25 -7
  5. package/dist/cjs/core/auxiliary/plugin-information/locale-messages/types.d.ts +9 -5
  6. package/dist/cjs/core/auxiliary/plugin-information/locale-messages/useLocaleMessages.js +11 -14
  7. package/dist/cjs/core/auxiliary/plugin-information/locale-messages/useLocaleMessages.js.map +1 -1
  8. package/dist/cjs/core/auxiliary/plugin-information/locale-messages/utils.d.ts +5 -1
  9. package/dist/cjs/core/auxiliary/plugin-information/locale-messages/utils.js +86 -1
  10. package/dist/cjs/core/auxiliary/plugin-information/locale-messages/utils.js.map +1 -1
  11. package/dist/cjs/core/enum.d.ts +5 -2
  12. package/dist/cjs/core/enum.js +3 -1
  13. package/dist/cjs/core/enum.js.map +1 -1
  14. package/dist/cjs/core/types.d.ts +2 -1
  15. package/dist/cjs/data-consumption/domain/shared/custom-query/hooks.d.ts +2 -0
  16. package/dist/cjs/data-consumption/domain/shared/custom-query/hooks.js +11 -0
  17. package/dist/cjs/data-consumption/domain/shared/custom-query/hooks.js.map +1 -0
  18. package/dist/cjs/data-consumption/domain/shared/custom-query/types.d.ts +9 -0
  19. package/dist/cjs/data-consumption/domain/shared/custom-query/types.js +3 -0
  20. package/dist/cjs/data-consumption/domain/shared/custom-query/types.js.map +1 -0
  21. package/dist/cjs/data-consumption/domain/shared/index.d.ts +1 -0
  22. package/dist/cjs/data-consumption/domain/shared/types.d.ts +3 -0
  23. package/dist/cjs/data-consumption/domain/shared/types.js +3 -0
  24. package/dist/cjs/data-consumption/domain/shared/types.js.map +1 -0
  25. package/dist/cjs/data-consumption/enums.d.ts +2 -1
  26. package/dist/cjs/data-consumption/enums.js +1 -0
  27. package/dist/cjs/data-consumption/enums.js.map +1 -1
  28. package/dist/cjs/data-creation/enums.d.ts +6 -0
  29. package/dist/cjs/data-creation/enums.js +11 -0
  30. package/dist/cjs/data-creation/enums.js.map +1 -0
  31. package/dist/cjs/data-creation/hook.d.ts +2 -0
  32. package/dist/cjs/data-creation/hook.js +74 -0
  33. package/dist/cjs/data-creation/hook.js.map +1 -0
  34. package/dist/cjs/data-creation/types.d.ts +21 -0
  35. package/dist/cjs/data-creation/types.js +3 -0
  36. package/dist/cjs/data-creation/types.js.map +1 -0
  37. package/dist/cjs/data-creation/utils.d.ts +6 -0
  38. package/dist/cjs/data-creation/utils.js +14 -0
  39. package/dist/cjs/data-creation/utils.js.map +1 -0
  40. package/dist/cjs/extensible-areas/action-button-dropdown-item/component.d.ts +1 -1
  41. package/dist/cjs/extensible-areas/action-button-dropdown-item/component.js +1 -1
  42. package/dist/cjs/extensible-areas/action-button-dropdown-item/component.js.map +1 -1
  43. package/dist/cjs/extensible-areas/audio-settings-dropdown-item/component.d.ts +3 -1
  44. package/dist/cjs/extensible-areas/audio-settings-dropdown-item/component.js +3 -1
  45. package/dist/cjs/extensible-areas/audio-settings-dropdown-item/component.js.map +1 -1
  46. package/dist/cjs/ui-data/domain/intl/locale/types.d.ts +5 -4
  47. package/package.json +1 -1
package/README.md CHANGED
@@ -132,11 +132,6 @@ Here is as complete `manifest.json` example with all possible configurations:
132
132
  ], // One can enable more data-channels to better organize client communication
133
133
  "eventPersistence": {
134
134
  "isEnabled": true, // By default it is not enabled
135
- "maximumPayloadSizeInBytes": 1024,
136
- "rateLimiting": {
137
- "messagesAllowedPerSecond": 10,
138
- "messagesAllowedPerMinute": 20
139
- }
140
135
  },
141
136
  "remoteDataSources": [
142
137
  {
@@ -145,12 +140,52 @@ Here is as complete `manifest.json` example with all possible configurations:
145
140
  "fetchMode": "onMeetingCreate", // Possible values: "onMeetingCreate", "onDemand"
146
141
  "permissions": ["moderator", "viewer"]
147
142
  }
143
+ ],
144
+ "settingsSchema": [
145
+ {
146
+ "name": "myJson",
147
+ "label": "myJson",
148
+ "required": true,
149
+ "defaultValue": {
150
+ "abc": 123
151
+ },
152
+ "type": "json" // Possible values: "int", "float", "string", "boolean", "json"
153
+ }
148
154
  ]
149
155
  }
150
156
  ```
151
157
 
152
158
  To better understand remote-data-sources, please, refer to [this section](#external-data-resources)
153
159
 
160
+ **settingsSchema:**
161
+
162
+ The settingsSchema serves two main purposes:
163
+
164
+ 1. **Validation:** Ensures that all required settings are provided for a plugin. If any required setting is missing, the plugin will not load.
165
+ 2. **Configuration Exposure:** Lists all available settings for the plugin, enabling external systems—such as a Learning Management System (LMS)—to present these settings to a meeting organizer. This allows the organizer to configure the plugin manually before the meeting begins.
166
+
167
+ | **Name** | **Required** | **Description** |
168
+ | -------------- | ------------ | -------------------------------------------------------------------------------------------------------------- |
169
+ | `name` | Yes | The name of the setting as defined in the YAML file |
170
+ | `label` | No | A user-facing label that appears in the integration UI |
171
+ | `required` | Yes | Indicates whether this setting must be provided (`true` or `false`) |
172
+ | `defaultValue` | No | The default value to use if no setting is explicitly defined |
173
+ | `type` | Yes | The expected data type for the setting. Possible values: `"int"`, `"float"`, `"string"`, `"boolean"`, `"json"` |
174
+
175
+ **Example**
176
+
177
+ Given the `settingsSchema` defined in the `manifest.json` seen, the corresponding YAML configuration file (`/etc/bigbluebutton/bbb-html5.yml`) would look like:
178
+
179
+ ```yml
180
+ public:
181
+ plugins:
182
+ - name: MyPlugin
183
+ settings:
184
+ myJson:
185
+ abc: my123
186
+ def: 3234
187
+ ```
188
+
154
189
  ## Testing SDK
155
190
 
156
191
  To setup and run the automated tests for the plugin SDK samples, check the [testing doc](/tests/README.md)
@@ -222,6 +257,59 @@ export interface GraphqlResponseWrapper<TData> {
222
257
 
223
258
  So we have the `data`, which is different for each hook, that's why it's a generic, the error, that will be set if, and only if, there is an error, otherwise it is undefined, and loading, which tells the developer if the query is still loading (being fetched) or not.
224
259
 
260
+ ### Realtime Data Creation
261
+
262
+ **`useCustomMutation` Hook**
263
+
264
+ The `useCustomMutation` hook enables you to post data to the backend (Postgres) using existing GraphQL mutations, respecting user permissions.
265
+
266
+ It works similarly to Apollo Client’s `useMutation`, returning a *trigger function* and a *result object* with information about the mutation execution. These will be described in more detail below.
267
+
268
+ One important difference is that the mutation query **must** be provided as a string. This is due to how the SDK communicates with the HTML5 client. As a consequence, you must explicitly define the type of the `variables` argument for the trigger function, as shown in the example below.
269
+
270
+ ```typescript
271
+ interface MutationVariablesType {
272
+ reactionEmoji: string;
273
+ }
274
+
275
+ const [trigger, result] = pluginApi.useCustomMutation<MutationVariablesType>(`
276
+ mutation SetReactionEmoji($reactionEmoji: String!) {
277
+ userSetReactionEmoji(reactionEmoji: $reactionEmoji)
278
+ }
279
+ `);
280
+
281
+ // Later in the code, you can trigger the mutation:
282
+ trigger({
283
+ variables: {
284
+ reactionEmoji: '👏',
285
+ },
286
+ });
287
+ ```
288
+
289
+ Note that the same type (`MutationVariablesType`) passed as the generic parameter to `useCustomMutation` is also the type of the `variables` object in the trigger function.
290
+
291
+ The `result` object returned by the hook contains the following fields:
292
+
293
+ ```typescript
294
+ const {
295
+ called,
296
+ data,
297
+ error,
298
+ loading,
299
+ } = result;
300
+ ```
301
+
302
+ which follow this interface:
303
+
304
+ ```typescript
305
+ interface MutationResultObject {
306
+ called: boolean; // Indicates if the trigger function has been called
307
+ data?: object; // Response data after the mutation is triggered
308
+ error?: object; // Error details from the mutation execution
309
+ loading: boolean; // Whether the mutation is currently loading (triggered or in progress)
310
+ }
311
+ ```
312
+
225
313
  ### Real time data exchange
226
314
 
227
315
  - `useDataChannel` hook: this will allow you to exchange information (Send and receive) amongst different users through the same plugin;
@@ -451,7 +539,7 @@ This feature is mainly used for security purposes, see [external data section](#
451
539
 
452
540
  ### Event persistence
453
541
 
454
- 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.
542
+ This feature will allow the developer to save an information (an event) in the `event.xml` file of the meeting, if it's being recorded.
455
543
 
456
544
  To use it, one first need to add the following lines to their `manifest.json`:
457
545
 
@@ -460,11 +548,6 @@ To use it, one first need to add the following lines to their `manifest.json`:
460
548
  // ...rest of manifest configuration
461
549
  "eventPersistence": {
462
550
  "isEnabled": true,
463
- "maximumPayloadSizeInBytes": 1024,
464
- "rateLimiting": {
465
- "messagesAllowedPerSecond": 10,
466
- "messagesAllowedPerMinute": 20
467
- }
468
551
  }
469
552
  }
470
553
  ```
@@ -30,6 +30,8 @@ var utils_1 = require("../../remote-data/utils");
30
30
  var hooks_14 = require("../../event-persistence/hooks");
31
31
  var useLocaleMessages_1 = __importDefault(require("../auxiliary/plugin-information/locale-messages/useLocaleMessages"));
32
32
  var getters_1 = require("../../ui-data/getters/getters");
33
+ var hooks_15 = require("../../data-consumption/domain/shared/custom-query/hooks");
34
+ var hook_2 = require("../../data-creation/hook");
33
35
  /**
34
36
  * Class responsible for either initialize or get the PluginApi
35
37
  *
@@ -56,6 +58,8 @@ var BbbPluginSdk = /** @class */ (function () {
56
58
  throw new Error('Initializing pluginApi outside of a react function component. It should be done inside');
57
59
  var pluginApi = window.bbb_plugins[uuid];
58
60
  pluginApi.useCustomSubscription = (function (query, variablesObjectWrapper) { return (0, hooks_3.useCustomSubscription)(query, variablesObjectWrapper); });
61
+ pluginApi.useCustomQuery = (function (query, variablesObjectWrapper) { return (0, hooks_15.useCustomQuery)(query, variablesObjectWrapper); });
62
+ pluginApi.useCustomMutation = (function (mutation, options) { return (0, hook_2.useCustomMutation)(mutation, options); });
59
63
  pluginApi.useCurrentPresentation = (function () { return (0, hooks_2.useCurrentPresentation)(); });
60
64
  pluginApi.useLoadedUserList = (function () { return (0, hooks_4.useLoadedUserList)(); });
61
65
  pluginApi.useCurrentUser = (function () { return (0, hooks_5.useCurrentUser)(); });
@@ -81,7 +85,8 @@ var BbbPluginSdk = /** @class */ (function () {
81
85
  pluginApi.serverCommands = (0, commands_2.serverCommands)(pluginName);
82
86
  pluginApi.sendGenericDataForLearningAnalyticsDashboard = function (data) { return (0, hooks_13.sendGenericDataForLearningAnalyticsDashboard)(data, pluginName); };
83
87
  pluginApi.getRemoteData = function (dataSourceName) { return (0, utils_1.getRemoteData)(dataSourceName, pluginName); };
84
- pluginApi.persistEvent = function (eventName, payload) { return (0, hooks_14.persistEventFunctionWrapper)(pluginName, eventName, payload); };
88
+ pluginApi
89
+ .persistEvent = function (eventName, payload) { return (0, hooks_14.persistEventFunctionWrapper)(pluginName, eventName, payload); };
85
90
  pluginApi.useLocaleMessages = function (fetchConfigs) { return (0, useLocaleMessages_1.default)({ pluginApi: pluginApi, fetchConfigs: fetchConfigs }); };
86
91
  }
87
92
  else {
@@ -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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"}
@@ -35,6 +35,8 @@ import { PersistEventFunction } from '../../event-persistence/types';
35
35
  import { UseLocaleMessagesFunction } from '../auxiliary/plugin-information/locale-messages/types';
36
36
  import { UseShouldUnmountPluginFunction } from '../auxiliary/plugin-unmount/types';
37
37
  import { GetUiDataFunction } from '../../ui-data/getters/types';
38
+ import { UseCustomQueryFunction } from '../../data-consumption/domain/shared/custom-query/types';
39
+ import { UseCustomMutationFunction } from '../../data-creation/types';
38
40
  export type SetPresentationToolbarItems = (presentationToolbarItem: PresentationToolbarInterface[]) => string[];
39
41
  export type SetUserListDropdownItems = (userListDropdownItem: UserListDropdownInterface[]) => string[];
40
42
  export type SetActionButtonDropdownItems = (actionButtonDropdownInterface: ActionButtonDropdownInterface[]) => string[];
@@ -110,11 +112,11 @@ export interface PluginApi {
110
112
  */
111
113
  useUsersBasicInfo?: UseUsersBasicInfoFunction;
112
114
  /**
113
- * Returns an object containing brief data on the messages already loaded in the chat.
114
- *
115
- * @returns `GraphqlResponseWrapper` with the LoadedChatMessages.
116
- *
117
- */
115
+ * Returns an object containing brief data on the messages already loaded in the chat.
116
+ *
117
+ * @returns `GraphqlResponseWrapper` with the LoadedChatMessages.
118
+ *
119
+ */
118
120
  useLoadedChatMessages?: UseLoadedChatMessagesFunction;
119
121
  /**
120
122
  * Returns an object containing the settings for the current plugin (with pluginName
@@ -144,13 +146,29 @@ export interface PluginApi {
144
146
  */
145
147
  useShouldUnmountPlugin?: UseShouldUnmountPluginFunction;
146
148
  /**
147
- * Returns an object containing the data on the current presentation being displayed
148
- * in the presentation area, and its current page.
149
+ * Returns an object containing the data related to the custom subscription made.
150
+ * This hook is reactive - If the resulting data changes, it updates the hook.
149
151
  *
150
152
  * @returns `GraphqlResponseWrapper` with the data type specified in the generic type.
151
153
  *
152
154
  */
153
155
  useCustomSubscription?: UseCustomSubscriptionFunction;
156
+ /**
157
+ * Returns an object containing the data related to the custom subscription made.
158
+ * This hook is not reactive - Once the data is returned, it doesn't update anymore.
159
+ *
160
+ * @returns `GraphqlResponseWrapper` with the data type specified in the generic type.
161
+ *
162
+ */
163
+ useCustomQuery?: UseCustomQueryFunction;
164
+ /**
165
+ * Gives developer the ability to manipulate data from bbb using custom mutations.
166
+ * It can only use mutations that already exist in bbb.
167
+ *
168
+ * @returns an array with the trigger function and the result of the mutation.
169
+ *
170
+ */
171
+ useCustomMutation?: UseCustomMutationFunction;
154
172
  /**
155
173
  * Returns an array with tha data wrapped in the `GraphqlResponseWrapper` in the first
156
174
  * position of the array, the push function with which one plugin can inform
@@ -1,17 +1,21 @@
1
1
  import { PluginApi } from 'src/core/api/types';
2
- interface UseLocaleMessagesProps {
2
+ export interface UseLocaleMessagesProps {
3
3
  pluginApi: PluginApi;
4
4
  fetchConfigs?: RequestInit;
5
5
  }
6
- interface PluginInformationResult {
6
+ export interface PluginInformationResult {
7
7
  javascriptEntrypointIntegrity: string;
8
8
  javascriptEntrypointUrl: string;
9
9
  localesBaseUrl: string;
10
10
  }
11
- interface IntlMessages {
11
+ export interface IntlMessages {
12
12
  loading: boolean;
13
13
  messages: Record<string, string>;
14
14
  currentLocale: string;
15
15
  }
16
- type UseLocaleMessagesFunction = (fetchConfigs?: RequestInit) => IntlMessages;
17
- export { UseLocaleMessagesProps, PluginInformationResult, IntlMessages, UseLocaleMessagesFunction, };
16
+ export type UseLocaleMessagesFunction = (fetchConfigs?: RequestInit) => IntlMessages;
17
+ export interface DataWaitingWrapper<T> {
18
+ data: T;
19
+ loading: boolean;
20
+ error?: object;
21
+ }
@@ -37,21 +37,18 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  var react_1 = require("react");
40
- var ui_data_1 = require("../../../../ui-data");
41
40
  var utils_1 = require("../../../../utils");
42
41
  var utils_2 = require("./utils");
43
42
  function useLocaleMessagesAuxiliary(_a) {
44
43
  var _this = this;
45
44
  var pluginApi = _a.pluginApi, fetchConfigs = _a.fetchConfigs;
46
- var currentLocale = pluginApi.useUiData(ui_data_1.IntlLocaleUiDataNames.CURRENT_LOCALE, {
47
- locale: 'en',
48
- fallbackLocale: 'en',
49
- });
50
45
  var _b = (0, react_1.useState)(true), loading = _b[0], setLoading = _b[1];
51
46
  var _c = (0, react_1.useState)({}), messages = _c[0], setMessages = _c[1];
52
47
  var _d = (0, react_1.useState)(), fallbackMessages = _d[0], setFallbackMessages = _d[1];
48
+ var localeDataWrapper = (0, utils_2.useGetNormalizedLocale)({ pluginApi: pluginApi, fetchConfigs: fetchConfigs });
49
+ var currentLocale = localeDataWrapper.data;
53
50
  (0, react_1.useEffect)(function () {
54
- if ((pluginApi === null || pluginApi === void 0 ? void 0 : pluginApi.localesBaseUrl) && currentLocale.locale) {
51
+ if ((pluginApi === null || pluginApi === void 0 ? void 0 : pluginApi.localesBaseUrl) && !localeDataWrapper.loading) {
55
52
  var localesBaseUrl = pluginApi.localesBaseUrl;
56
53
  var locale = currentLocale.locale, fallbackLocale = currentLocale.fallbackLocale;
57
54
  var localeUrl = "".concat(localesBaseUrl, "/").concat(locale, ".json");
@@ -63,7 +60,7 @@ function useLocaleMessagesAuxiliary(_a) {
63
60
  if (locale !== fallbackLocale)
64
61
  urlToFetchList.push(localeUrl);
65
62
  Promise.all(urlToFetchList.map(function (url) { return __awaiter(_this, void 0, void 0, function () {
66
- var a, err_1;
63
+ var err_1;
67
64
  return __generator(this, function (_a) {
68
65
  switch (_a.label) {
69
66
  case 0:
@@ -72,26 +69,26 @@ function useLocaleMessagesAuxiliary(_a) {
72
69
  case 1:
73
70
  _a.trys.push([1, 3, , 4]);
74
71
  return [4 /*yield*/, (0, utils_2.fetchLocaleAndStore)(url, fetchConfigs)];
75
- case 2:
76
- a = _a.sent();
77
- return [2 /*return*/, a];
72
+ case 2: return [2 /*return*/, _a.sent()];
78
73
  case 3:
79
74
  err_1 = _a.sent();
80
75
  utils_1.pluginLogger.error("[".concat(pluginApi.pluginName, "] - Something went wrong while trying to fetch [").concat(url, "] or parse its result: "), err_1);
81
76
  return [2 /*return*/, Promise.resolve({})];
82
- case 4: return [2 /*return*/, Promise.resolve(fallbackMessages)];
77
+ case 4:
78
+ // The first of the list is the fallback
79
+ return [2 /*return*/, Promise.resolve(fallbackMessages)];
83
80
  }
84
81
  });
85
82
  }); })).then(function (values) {
86
- var desiredLocale = values[0], fallbackLocaleMessages = values[1];
87
- setMessages((0, utils_2.mergeLocaleMessages)(desiredLocale, fallbackLocaleMessages));
83
+ var fallbackLocaleMessages = values[0], desiredLocaleMessages = values[1];
84
+ setMessages((0, utils_2.mergeLocaleMessages)(desiredLocaleMessages, fallbackLocaleMessages));
88
85
  if (!fallbackMessages)
89
86
  setFallbackMessages(fallbackLocaleMessages);
90
87
  }).finally(function () {
91
88
  setLoading(false);
92
89
  });
93
90
  }
94
- }, [currentLocale]);
91
+ }, [localeDataWrapper]);
95
92
  return {
96
93
  messages: messages,
97
94
  loading: loading,
@@ -1 +1 @@
1
- {"version":3,"file":"useLocaleMessages.js","sourceRoot":"","sources":["../../../../../../src/core/auxiliary/plugin-information/locale-messages/useLocaleMessages.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAA4C;AAC5C,+CAA4D;AAC5D,2CAAiD;AAEjD,iCAAmE;AAEnE,SAAS,0BAA0B,CACjC,EAAmD;IADrD,iBAmDC;QAlDG,SAAS,eAAA,EAAE,YAAY,kBAAA;IAEzB,IAAM,aAAa,GAAG,SAAS,CAAC,SAAU,CAAC,+BAAqB,CAAC,cAAc,EAAE;QAC/E,MAAM,EAAE,IAAI;QACZ,cAAc,EAAE,IAAI;KACrB,CAAC,CAAC;IAEG,IAAA,KAAwB,IAAA,gBAAQ,EAAC,IAAI,CAAC,EAArC,OAAO,QAAA,EAAE,UAAU,QAAkB,CAAC;IACvC,IAAA,KAA0B,IAAA,gBAAQ,EAAyB,EAAE,CAAC,EAA7D,QAAQ,QAAA,EAAE,WAAW,QAAwC,CAAC;IAC/D,IAAA,KAA0C,IAAA,gBAAQ,GAA0B,EAA3E,gBAAgB,QAAA,EAAE,mBAAmB,QAAsC,CAAC;IAEnF,IAAA,iBAAS,EAAC;QACR,IAAI,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,cAAc,KAAI,aAAa,CAAC,MAAM,EAAE;YAC7C,IAAA,cAAc,GAAK,SAAS,eAAd,CAAe;YAC7B,IAAA,MAAM,GAAqB,aAAa,OAAlC,EAAE,cAAc,GAAK,aAAa,eAAlB,CAAmB;YACjD,IAAM,SAAS,GAAG,UAAG,cAAc,cAAI,MAAM,UAAO,CAAC;YACrD,IAAM,mBAAiB,GAAG,UAAG,cAAc,cAAI,cAAc,UAAO,CAAC;YACrE,oBAAY,CAAC,IAAI,CAAC,2BAAoB,MAAM,6BAAmB,cAAc,2BAAiB,SAAS,CAAC,UAAU,MAAG,CAAC,CAAC;YACvH,IAAM,cAAc,GAAG;gBACrB,mBAAiB;aAClB,CAAC;YACF,IAAI,MAAM,KAAK,cAAc;gBAAE,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9D,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,UAAO,GAAG;;;;;iCACnC,CAAA,GAAG,KAAK,mBAAiB,IAAI,CAAC,gBAAgB,CAAA,EAA9C,wBAA8C;;;;4BAEpC,qBAAM,IAAA,2BAAmB,EAAC,GAAG,EAAE,YAAY,CAAC,EAAA;;4BAAhD,CAAC,GAAG,SAA4C;4BACtD,sBAAO,CAAC,EAAC;;;4BAET,oBAAY,CAAC,KAAK,CAChB,WAAI,SAAS,CAAC,UAAU,6DAAmD,GAAG,4BAAyB,EACvG,KAAG,CACJ,CAAC;4BACF,sBAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,EAAC;gCAG/B,sBAAO,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAC;;;iBAC1C,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;gBACP,IAAA,aAAa,GAA4B,MAAM,GAAlC,EAAE,sBAAsB,GAAI,MAAM,GAAV,CAAW;gBACvD,WAAW,CAAC,IAAA,2BAAmB,EAAC,aAAa,EAAE,sBAAsB,CAAC,CAAC,CAAC;gBACxE,IAAI,CAAC,gBAAgB;oBAAE,mBAAmB,CAAC,sBAAsB,CAAC,CAAC;YACrE,CAAC,CAAC,CAAC,OAAO,CAAC;gBACT,UAAU,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC,CAAC,CAAC;SACJ;IACH,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IACpB,OAAO;QACL,QAAQ,UAAA;QACR,OAAO,SAAA;QACP,aAAa,EAAE,aAAa,CAAC,MAAM;KACpC,CAAC;AACJ,CAAC;AAED,kBAAe,0BAA0B,CAAC"}
1
+ {"version":3,"file":"useLocaleMessages.js","sourceRoot":"","sources":["../../../../../../src/core/auxiliary/plugin-information/locale-messages/useLocaleMessages.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAA4C;AAC5C,2CAAiD;AAEjD,iCAA2F;AAE3F,SAAS,0BAA0B,CACjC,EAAmD;IADrD,iBAiDC;QAhDG,SAAS,eAAA,EAAE,YAAY,kBAAA;IAEnB,IAAA,KAAwB,IAAA,gBAAQ,EAAC,IAAI,CAAC,EAArC,OAAO,QAAA,EAAE,UAAU,QAAkB,CAAC;IACvC,IAAA,KAA0B,IAAA,gBAAQ,EAAyB,EAAE,CAAC,EAA7D,QAAQ,QAAA,EAAE,WAAW,QAAwC,CAAC;IAC/D,IAAA,KAA0C,IAAA,gBAAQ,GAA0B,EAA3E,gBAAgB,QAAA,EAAE,mBAAmB,QAAsC,CAAC;IACnF,IAAM,iBAAiB,GAAG,IAAA,8BAAsB,EAAC,EAAE,SAAS,WAAA,EAAE,YAAY,cAAA,EAAE,CAAC,CAAC;IAEtE,IAAM,aAAa,GAAK,iBAAiB,KAAtB,CAAuB;IAElD,IAAA,iBAAS,EAAC;QACR,IAAI,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,cAAc,KAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE;YACnD,IAAA,cAAc,GAAK,SAAS,eAAd,CAAe;YAC7B,IAAA,MAAM,GAAqB,aAAa,OAAlC,EAAE,cAAc,GAAK,aAAa,eAAlB,CAAmB;YACjD,IAAM,SAAS,GAAG,UAAG,cAAc,cAAI,MAAM,UAAO,CAAC;YACrD,IAAM,mBAAiB,GAAG,UAAG,cAAc,cAAI,cAAc,UAAO,CAAC;YACrE,oBAAY,CAAC,IAAI,CAAC,2BAAoB,MAAM,6BAAmB,cAAc,2BAAiB,SAAS,CAAC,UAAU,MAAG,CAAC,CAAC;YACvH,IAAM,cAAc,GAAG;gBACrB,mBAAiB;aAClB,CAAC;YACF,IAAI,MAAM,KAAK,cAAc;gBAAE,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9D,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,UAAO,GAAG;;;;;iCACnC,CAAA,GAAG,KAAK,mBAAiB,IAAI,CAAC,gBAAgB,CAAA,EAA9C,wBAA8C;;;;4BAEvC,qBAAM,IAAA,2BAAmB,EAAC,GAAG,EAAE,YAAY,CAAC,EAAA;gCAAnD,sBAAO,SAA4C,EAAC;;;4BAEpD,oBAAY,CAAC,KAAK,CAChB,WAAI,SAAS,CAAC,UAAU,6DAAmD,GAAG,4BAAyB,EACvG,KAAG,CACJ,CAAC;4BACF,sBAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,EAAC;;wBAG/B,wCAAwC;wBACxC,sBAAO,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAC;;;iBAC1C,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;gBACP,IAAA,sBAAsB,GAA2B,MAAM,GAAjC,EAAE,qBAAqB,GAAI,MAAM,GAAV,CAAW;gBAC/D,WAAW,CAAC,IAAA,2BAAmB,EAAC,qBAAqB,EAAE,sBAAsB,CAAC,CAAC,CAAC;gBAChF,IAAI,CAAC,gBAAgB;oBAAE,mBAAmB,CAAC,sBAAsB,CAAC,CAAC;YACrE,CAAC,CAAC,CAAC,OAAO,CAAC;gBACT,UAAU,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC,CAAC,CAAC;SACJ;IACH,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACxB,OAAO;QACL,QAAQ,UAAA;QACR,OAAO,SAAA;QACP,aAAa,EAAE,aAAa,CAAC,MAAM;KACpC,CAAC;AACJ,CAAC;AAED,kBAAe,0BAA0B,CAAC"}
@@ -1,3 +1,7 @@
1
+ import { DataWaitingWrapper, UseLocaleMessagesProps } from './types';
2
+ import { LocaleObject } from '../../../../ui-data/domain/intl/locale/types';
1
3
  declare function fetchLocaleAndStore(localeUrl: string, fetchConfigs?: RequestInit): Promise<Record<string, string>>;
2
4
  declare function mergeLocaleMessages(desiredMessages: Record<string, string>, fallbackMessages: Record<string, string>): Record<string, string>;
3
- export { fetchLocaleAndStore, mergeLocaleMessages };
5
+ declare function useGetLocalesIndex(localeUrl: string | undefined, fetchConfigs?: RequestInit): DataWaitingWrapper<string[]>;
6
+ declare function useGetNormalizedLocale({ pluginApi, fetchConfigs }: UseLocaleMessagesProps): DataWaitingWrapper<LocaleObject>;
7
+ export { fetchLocaleAndStore, mergeLocaleMessages, useGetLocalesIndex, useGetNormalizedLocale, };
@@ -46,8 +46,19 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
46
46
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
47
  }
48
48
  };
49
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
50
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
51
+ if (ar || !(i in from)) {
52
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
53
+ ar[i] = from[i];
54
+ }
55
+ }
56
+ return to.concat(ar || Array.prototype.slice.call(from));
57
+ };
49
58
  Object.defineProperty(exports, "__esModule", { value: true });
50
- exports.mergeLocaleMessages = exports.fetchLocaleAndStore = void 0;
59
+ exports.useGetNormalizedLocale = exports.useGetLocalesIndex = exports.mergeLocaleMessages = exports.fetchLocaleAndStore = void 0;
60
+ var react_1 = require("react");
61
+ var ui_data_1 = require("../../../../ui-data");
51
62
  function fetchLocaleAndStore(localeUrl, fetchConfigs) {
52
63
  return __awaiter(this, void 0, void 0, function () {
53
64
  var result, localeMessages;
@@ -69,4 +80,78 @@ function mergeLocaleMessages(desiredMessages, fallbackMessages) {
69
80
  return __assign(__assign({}, fallbackMessages), desiredMessages);
70
81
  }
71
82
  exports.mergeLocaleMessages = mergeLocaleMessages;
83
+ function useGetLocalesIndex(localeUrl, fetchConfigs) {
84
+ var _a = (0, react_1.useState)({
85
+ data: [],
86
+ loading: true,
87
+ }), indexOfLocales = _a[0], setIndexOfLocales = _a[1];
88
+ (0, react_1.useEffect)(function () {
89
+ if (localeUrl || localeUrl !== '') {
90
+ var indexUrl = "".concat(localeUrl, "/index.json");
91
+ fetch(indexUrl, fetchConfigs)
92
+ .then(function (res) { return res.json(); })
93
+ .then(function (list) {
94
+ var filtered = list.filter(function (filename) { return filename !== 'index.json'; });
95
+ setIndexOfLocales({
96
+ data: filtered,
97
+ loading: false,
98
+ });
99
+ })
100
+ .catch(function (error) {
101
+ setIndexOfLocales({
102
+ data: [],
103
+ loading: false,
104
+ error: error,
105
+ });
106
+ });
107
+ }
108
+ }, [localeUrl]);
109
+ return indexOfLocales;
110
+ }
111
+ exports.useGetLocalesIndex = useGetLocalesIndex;
112
+ function useGetNormalizedLocale(_a) {
113
+ var pluginApi = _a.pluginApi, fetchConfigs = _a.fetchConfigs;
114
+ var localeFromUiData = pluginApi.useUiData(ui_data_1.IntlLocaleUiDataNames.CURRENT_LOCALE, {
115
+ locale: 'en',
116
+ fallbackLocale: 'en',
117
+ });
118
+ var _b = (0, react_1.useState)({
119
+ data: localeFromUiData,
120
+ loading: true,
121
+ }), currentLocale = _b[0], setCurrentLocale = _b[1];
122
+ var localesIndex = useGetLocalesIndex(pluginApi.localesBaseUrl, fetchConfigs);
123
+ (0, react_1.useEffect)(function () {
124
+ if (!localesIndex.loading && !localesIndex.error) {
125
+ var desiredLocale_1 = localeFromUiData.locale.split(/[-_]/g);
126
+ var usableLocales = localesIndex.data
127
+ .map(function (file) { return file.replace('.json', ''); })
128
+ .reduce(function (locales, locale) { return (locale.match(desiredLocale_1[0])
129
+ ? __spreadArray(__spreadArray([], locales, true), [locale], false) : locales); }, []);
130
+ var isDesiredLocalePresent = usableLocales.findIndex(function (locale) { return locale === localeFromUiData.locale; }) !== -1;
131
+ if (isDesiredLocalePresent) {
132
+ setCurrentLocale({
133
+ data: localeFromUiData,
134
+ loading: false,
135
+ });
136
+ }
137
+ else {
138
+ var regionDefault = usableLocales.find(function (locale) { return locale === desiredLocale_1[0]; });
139
+ var localeFallback = regionDefault || usableLocales[0];
140
+ setCurrentLocale({
141
+ data: __assign(__assign({}, localeFromUiData), { locale: localeFallback }),
142
+ loading: false,
143
+ });
144
+ }
145
+ }
146
+ else if (!localesIndex.loading
147
+ && localesIndex.error) {
148
+ setCurrentLocale({
149
+ data: localeFromUiData,
150
+ loading: false,
151
+ });
152
+ }
153
+ }, [localeFromUiData, localesIndex]);
154
+ return currentLocale;
155
+ }
156
+ exports.useGetNormalizedLocale = useGetNormalizedLocale;
72
157
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../src/core/auxiliary/plugin-information/locale-messages/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAe,mBAAmB,CAChC,SAAiB,EACjB,YAA0B;;;;;wBAEX,qBAAM,KAAK,CAAC,SAAS,EAAE,YAAY,CAAC,EAAA;;oBAA7C,MAAM,GAAG,SAAoC;oBAC5B,qBAAM,MAAM,CAAC,IAAI,EAAE,EAAA;;oBAApC,cAAc,GAAG,SAAmB;oBAC1C,sBAAO,cAAc,EAAC;;;;CACvB;AASQ,kDAAmB;AAP5B,SAAS,mBAAmB,CAC1B,eAAuC,EACvC,gBAAwC;IAExC,6BAAY,gBAAgB,GAAK,eAAe,EAAG;AACrD,CAAC;AAE6B,kDAAmB"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../src/core/auxiliary/plugin-information/locale-messages/utils.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,20 @@
1
1
  import { DataChannelHooks } from '../data-channel/enums';
2
2
  import { DomElementManipulationHooks } from '../dom-element-manipulation/enums';
3
3
  import { DataConsumptionHooks } from '../data-consumption/enums';
4
+ import { DataCreationHookEnums } from '../data-creation/enums';
4
5
  export declare enum HookEvents {
5
6
  BBB_CORE_SENT_NEW_DATA = "BBB_CORE_SENT_NEW_DATA",
7
+ BBB_CORE_UPDATED_STATE = "BBB_CORE_UPDATED_STATE",
6
8
  BBB_CORE_UPDATED_MEETING_STATUS = "BBB_CORE_UPDATED_MEETING_STATUS",
7
9
  /**
8
10
  * PLUGIN_SENT_CHANGES_TO_BBB_CORE is used to:
9
- * - Comunicate that the subscription has changed for the dom-element-manipulation hook;
11
+ * - Communicate that the subscription has changed for the dom-element-manipulation hook;
10
12
  * - Send replace/delete event for useDataChannel;
13
+ * - Trigger the mutation function already created
11
14
  */
12
15
  PLUGIN_SENT_CHANGES_TO_BBB_CORE = "PLUGIN_SENT_CHANGES_TO_BBB_CORE",
13
16
  PLUGIN_SUBSCRIBED_TO_BBB_CORE = "PLUGIN_SUBSCRIBED_TO_BBB_CORE",
14
17
  PLUGIN_UNSUBSCRIBED_FROM_BBB_CORE = "PLUGIN_UNSUBSCRIBED_FROM_BBB_CORE"
15
18
  }
16
19
  export declare const GENERIC_HOOK_PLUGIN = "GENERIC_HOOK_PLUGIN";
17
- export type Hooks = DataConsumptionHooks | DataChannelHooks | DomElementManipulationHooks | typeof GENERIC_HOOK_PLUGIN;
20
+ export type Hooks = DataConsumptionHooks | DataChannelHooks | DomElementManipulationHooks | DataCreationHookEnums | typeof GENERIC_HOOK_PLUGIN;
@@ -4,11 +4,13 @@ exports.GENERIC_HOOK_PLUGIN = exports.HookEvents = void 0;
4
4
  var HookEvents;
5
5
  (function (HookEvents) {
6
6
  HookEvents["BBB_CORE_SENT_NEW_DATA"] = "BBB_CORE_SENT_NEW_DATA";
7
+ HookEvents["BBB_CORE_UPDATED_STATE"] = "BBB_CORE_UPDATED_STATE";
7
8
  HookEvents["BBB_CORE_UPDATED_MEETING_STATUS"] = "BBB_CORE_UPDATED_MEETING_STATUS";
8
9
  /**
9
10
  * PLUGIN_SENT_CHANGES_TO_BBB_CORE is used to:
10
- * - Comunicate that the subscription has changed for the dom-element-manipulation hook;
11
+ * - Communicate that the subscription has changed for the dom-element-manipulation hook;
11
12
  * - Send replace/delete event for useDataChannel;
13
+ * - Trigger the mutation function already created
12
14
  */
13
15
  HookEvents["PLUGIN_SENT_CHANGES_TO_BBB_CORE"] = "PLUGIN_SENT_CHANGES_TO_BBB_CORE";
14
16
  HookEvents["PLUGIN_SUBSCRIBED_TO_BBB_CORE"] = "PLUGIN_SUBSCRIBED_TO_BBB_CORE";
@@ -1 +1 @@
1
- {"version":3,"file":"enum.js","sourceRoot":"","sources":["../../../src/core/enum.ts"],"names":[],"mappings":";;;AAIA,IAAY,UAWX;AAXD,WAAY,UAAU;IACpB,+DAAiD,CAAA;IACjD,iFAAmE,CAAA;IACnE;;;;OAIG;IACH,iFAAmE,CAAA;IACnE,6EAA+D,CAAA;IAC/D,qFAAuE,CAAA;AACzE,CAAC,EAXW,UAAU,0BAAV,UAAU,QAWrB;AAEY,QAAA,mBAAmB,GAAG,qBAAqB,CAAC"}
1
+ {"version":3,"file":"enum.js","sourceRoot":"","sources":["../../../src/core/enum.ts"],"names":[],"mappings":";;;AAKA,IAAY,UAaX;AAbD,WAAY,UAAU;IACpB,+DAAiD,CAAA;IACjD,+DAAiD,CAAA;IACjD,iFAAmE,CAAA;IACnE;;;;;OAKG;IACH,iFAAmE,CAAA;IACnE,6EAA+D,CAAA;IAC/D,qFAAuE,CAAA;AACzE,CAAC,EAbW,UAAU,0BAAV,UAAU,QAarB;AAEY,QAAA,mBAAmB,GAAG,qBAAqB,CAAC"}
@@ -3,6 +3,7 @@ import { CustomSubscriptionArguments } from '../data-consumption/domain/shared/c
3
3
  import { Hooks } from './enum';
4
4
  import { DataChannelArguments } from '../data-channel/types';
5
5
  import { DomElementManipulationArguments } from '../dom-element-manipulation/type';
6
+ import { UseCustomMutationArguments } from '../data-creation/types';
6
7
  /**
7
8
  * Wrapper for the data that comes from the core. With this more complex object
8
9
  * it is also possible to know whether the data is still loading, of even if something
@@ -15,7 +16,7 @@ export interface GraphqlResponseWrapper<TData> {
15
16
  data?: TData;
16
17
  error?: ApolloError;
17
18
  }
18
- export type HookArguments = CustomSubscriptionArguments | DataChannelArguments | DomElementManipulationArguments;
19
+ export type HookArguments = CustomSubscriptionArguments | DataChannelArguments | DomElementManipulationArguments | UseCustomMutationArguments;
19
20
  export interface UpdatedEventDetails<T> {
20
21
  hook: Hooks;
21
22
  hookArguments?: HookArguments;
@@ -0,0 +1,2 @@
1
+ import { UseCustomQueryFunction } from './types';
2
+ export declare const useCustomQuery: UseCustomQueryFunction;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useCustomQuery = void 0;
4
+ var enums_1 = require("../../../../data-consumption/enums");
5
+ var hookCreator_1 = require("../../../factory/hookCreator");
6
+ var useCustomQuery = function (query, options) { return (0, hookCreator_1.createDataConsumptionHook)(enums_1.DataConsumptionHooks.CUSTOM_QUERY, {
7
+ query: query,
8
+ variables: options === null || options === void 0 ? void 0 : options.variables,
9
+ }); };
10
+ exports.useCustomQuery = useCustomQuery;
11
+ //# sourceMappingURL=hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../../../../src/data-consumption/domain/shared/custom-query/hooks.ts"],"names":[],"mappings":";;;AAAA,4DAA0E;AAC1E,4DAAyE;AAGlE,IAAM,cAAc,GAA2B,UACpD,KAAa,EACb,OAAgC,IAC7B,OAAA,IAAA,uCAAyB,EAAI,4BAAoB,CAAC,YAAY,EAAE;IACnE,KAAK,OAAA;IACL,SAAS,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS;CACN,CAAC,EAHrB,CAGqB,CAAC;AANd,QAAA,cAAc,kBAMA"}
@@ -0,0 +1,9 @@
1
+ import { GraphqlResponseWrapper } from '../../../../core';
2
+ export interface CustomQueryArguments {
3
+ query?: string;
4
+ variables?: object;
5
+ }
6
+ export interface CustomQueryHookOptions {
7
+ variables: object;
8
+ }
9
+ export type UseCustomQueryFunction = <T>(query: string, variablesObjectWrapper?: CustomQueryHookOptions) => GraphqlResponseWrapper<T>;
@@ -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/data-consumption/domain/shared/custom-query/types.ts"],"names":[],"mappings":""}
@@ -1 +1,2 @@
1
1
  export { CustomSubscriptionHookOptions } from './custom-subscription/types';
2
+ export { CustomQueryHookOptions } from './custom-query/types';
@@ -0,0 +1,3 @@
1
+ import { CustomQueryArguments } from './custom-query/types';
2
+ import { CustomSubscriptionArguments } from './custom-subscription/types';
3
+ export type DataConsumptionArguments = CustomSubscriptionArguments | CustomQueryArguments;
@@ -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/data-consumption/domain/shared/types.ts"],"names":[],"mappings":""}
@@ -5,5 +5,6 @@ export declare enum DataConsumptionHooks {
5
5
  LOADED_CHAT_MESSAGES = "Hooks::UseLoadedChatMessages",
6
6
  MEETING = "Hooks::UseMeeting",
7
7
  TALKING_INDICATOR = "Hooks::UseTalkingIndicator",
8
- CUSTOM_SUBSCRIPTION = "Hooks::CustomSubscription"
8
+ CUSTOM_SUBSCRIPTION = "Hooks::CustomSubscription",
9
+ CUSTOM_QUERY = "Hooks::CustomQuery"
9
10
  }
@@ -10,5 +10,6 @@ var DataConsumptionHooks;
10
10
  DataConsumptionHooks["MEETING"] = "Hooks::UseMeeting";
11
11
  DataConsumptionHooks["TALKING_INDICATOR"] = "Hooks::UseTalkingIndicator";
12
12
  DataConsumptionHooks["CUSTOM_SUBSCRIPTION"] = "Hooks::CustomSubscription";
13
+ DataConsumptionHooks["CUSTOM_QUERY"] = "Hooks::CustomQuery";
13
14
  })(DataConsumptionHooks || (exports.DataConsumptionHooks = DataConsumptionHooks = {}));
14
15
  //# sourceMappingURL=enums.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../src/data-consumption/enums.ts"],"names":[],"mappings":";;;AAAA,IAAY,oBAQX;AARD,WAAY,oBAAoB;IAC9B,8EAAsD,CAAA;IACtD,qEAA6C,CAAA;IAC7C,8DAAsC,CAAA;IACtC,6EAAqD,CAAA;IACrD,qDAA6B,CAAA;IAC7B,wEAAgD,CAAA;IAChD,yEAAiD,CAAA;AACnD,CAAC,EARW,oBAAoB,oCAApB,oBAAoB,QAQ/B"}
1
+ {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../src/data-consumption/enums.ts"],"names":[],"mappings":";;;AAAA,IAAY,oBASX;AATD,WAAY,oBAAoB;IAC9B,8EAAsD,CAAA;IACtD,qEAA6C,CAAA;IAC7C,8DAAsC,CAAA;IACtC,6EAAqD,CAAA;IACrD,qDAA6B,CAAA;IAC7B,wEAAgD,CAAA;IAChD,yEAAiD,CAAA;IACjD,2DAAmC,CAAA;AACrC,CAAC,EATW,oBAAoB,oCAApB,oBAAoB,QAS/B"}
@@ -0,0 +1,6 @@
1
+ export declare enum DataCreationHookEnums {
2
+ CREATE_NEW_CUSTOM_MUTATION = "Hooks::CreateNewCustomMutation",
3
+ TRIGGER_MUTATION = "Hooks::TriggerMutation",
4
+ MUTATION_READY = "Hooks::MutationReady",
5
+ MUTATION_RESULT_SENT = "Hooks::MutationResultSent"
6
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DataCreationHookEnums = void 0;
4
+ var DataCreationHookEnums;
5
+ (function (DataCreationHookEnums) {
6
+ DataCreationHookEnums["CREATE_NEW_CUSTOM_MUTATION"] = "Hooks::CreateNewCustomMutation";
7
+ DataCreationHookEnums["TRIGGER_MUTATION"] = "Hooks::TriggerMutation";
8
+ DataCreationHookEnums["MUTATION_READY"] = "Hooks::MutationReady";
9
+ DataCreationHookEnums["MUTATION_RESULT_SENT"] = "Hooks::MutationResultSent";
10
+ })(DataCreationHookEnums || (exports.DataCreationHookEnums = DataCreationHookEnums = {}));
11
+ //# sourceMappingURL=enums.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../src/data-creation/enums.ts"],"names":[],"mappings":";;;AAAA,IAAY,qBAKX;AALD,WAAY,qBAAqB;IAC/B,sFAA6D,CAAA;IAC7D,oEAA2C,CAAA;IAC3C,gEAAuC,CAAA;IACvC,2EAAkD,CAAA;AACpD,CAAC,EALW,qBAAqB,qCAArB,qBAAqB,QAKhC"}
@@ -0,0 +1,2 @@
1
+ import { UseCustomMutationReturnType } from './types';
2
+ export declare function useCustomMutation<T>(mutation: string, options?: object): UseCustomMutationReturnType<T>;
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.useCustomMutation = void 0;
7
+ var react_1 = require("react");
8
+ var enum_1 = require("../core/enum");
9
+ var enums_1 = require("./enums");
10
+ var utils_1 = __importDefault(require("./utils"));
11
+ function useCustomMutation(mutation, options) {
12
+ var _a = (0, react_1.useState)({
13
+ triggerFunction: null,
14
+ result: {
15
+ loading: true,
16
+ called: false,
17
+ },
18
+ }), mutationHookResult = _a[0], setMutationHookResult = _a[1];
19
+ var triggerFunction = (function (data) {
20
+ window.dispatchEvent(new CustomEvent(enum_1.HookEvents.PLUGIN_SENT_CHANGES_TO_BBB_CORE, {
21
+ detail: {
22
+ hook: enums_1.DataCreationHookEnums.TRIGGER_MUTATION,
23
+ hookArguments: {
24
+ mutation: mutation,
25
+ options: options,
26
+ },
27
+ data: data,
28
+ },
29
+ }));
30
+ });
31
+ // This function is responsible for setting the trigger function of the mutation
32
+ var handleMutationReadyEvent = (function (event) {
33
+ (0, utils_1.default)(setMutationHookResult, function (prevMutationResultObject) { return ({
34
+ triggerFunction: triggerFunction,
35
+ result: prevMutationResultObject.result,
36
+ }); }, enums_1.DataCreationHookEnums.MUTATION_READY, event, mutation, options);
37
+ });
38
+ // This function is responsible for setting the result of the mutation;
39
+ var handleMutationResultSentEvent = (function (event) {
40
+ (0, utils_1.default)(setMutationHookResult, function (prevMutationResultObject, dataFromEvent) { return ({
41
+ triggerFunction: prevMutationResultObject.triggerFunction,
42
+ result: dataFromEvent,
43
+ }); }, enums_1.DataCreationHookEnums.MUTATION_RESULT_SENT, event, mutation, options);
44
+ });
45
+ (0, react_1.useEffect)(function () {
46
+ window.dispatchEvent(new CustomEvent(enum_1.HookEvents.PLUGIN_SUBSCRIBED_TO_BBB_CORE, {
47
+ detail: {
48
+ hook: enums_1.DataCreationHookEnums.CREATE_NEW_CUSTOM_MUTATION,
49
+ hookArguments: {
50
+ mutation: mutation,
51
+ options: options,
52
+ },
53
+ },
54
+ }));
55
+ window.addEventListener(enum_1.HookEvents.BBB_CORE_UPDATED_STATE, handleMutationReadyEvent);
56
+ window.addEventListener(enum_1.HookEvents.BBB_CORE_UPDATED_STATE, handleMutationResultSentEvent);
57
+ return function () {
58
+ window.dispatchEvent(new CustomEvent(enum_1.HookEvents.PLUGIN_UNSUBSCRIBED_FROM_BBB_CORE, {
59
+ detail: {
60
+ hook: enums_1.DataCreationHookEnums.CREATE_NEW_CUSTOM_MUTATION,
61
+ hookArguments: {
62
+ mutation: mutation,
63
+ options: options,
64
+ },
65
+ },
66
+ }));
67
+ window.removeEventListener(enum_1.HookEvents.BBB_CORE_UPDATED_STATE, handleMutationReadyEvent);
68
+ window.removeEventListener(enum_1.HookEvents.BBB_CORE_UPDATED_STATE, handleMutationResultSentEvent);
69
+ };
70
+ }, []);
71
+ return [mutationHookResult.triggerFunction, mutationHookResult.result];
72
+ }
73
+ exports.useCustomMutation = useCustomMutation;
74
+ //# sourceMappingURL=hook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook.js","sourceRoot":"","sources":["../../../src/data-creation/hook.ts"],"names":[],"mappings":";;;;;;AAAA,+BAA4C;AAO5C,qCAA0C;AAO1C,iCAAgD;AAChD,kDAAsD;AAEtD,SAAgB,iBAAiB,CAC/B,QAAgB,EAChB,OAAgB;IAEV,IAAA,KAA8C,IAAA,gBAAQ,EAC1D;QACE,eAAe,EAAE,IAAI;QACrB,MAAM,EAAE;YACN,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,KAAK;SACd;KACF,CACF,EARM,kBAAkB,QAAA,EAAE,qBAAqB,QAQ/C,CAAC;IAEF,IAAM,eAAe,GAAG,CAAC,UAAC,IAAiC;QACzD,MAAM,CAAC,aAAa,CAClB,IAAI,WAAW,CAEZ,iBAAU,CAAC,+BAA+B,EAAE;YAC7C,MAAM,EAAE;gBACN,IAAI,EAAE,6BAAqB,CAAC,gBAAgB;gBAC5C,aAAa,EAAE;oBACb,QAAQ,UAAA;oBACR,OAAO,SAAA;iBACR;gBACD,IAAI,MAAA;aACL;SACF,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,gFAAgF;IAChF,IAAM,wBAAwB,GAAkB,CAC9C,UAAC,KAAqD;QACpD,IAAA,eAA+B,EAC7B,qBAAqB,EACrB,UAAC,wBAAwB,IAAK,OAAA,CAAC;YAC7B,eAAe,iBAAA;YACf,MAAM,EAAE,wBAAwB,CAAC,MAAM;SACxC,CAAC,EAH4B,CAG5B,EACF,6BAAqB,CAAC,cAAc,EACpC,KAAK,EACL,QAAQ,EACR,OAAO,CACR,CAAC;IACJ,CAAC,CAAkB,CAAC;IAEtB,uEAAuE;IACvE,IAAM,6BAA6B,GAAkB,CACnD,UAAC,KAAqD;QACpD,IAAA,eAA+B,EAC7B,qBAAqB,EACrB,UAAC,wBAAwB,EAAE,aAAa,IAAK,OAAA,CAAC;YAC5C,eAAe,EAAE,wBAAwB,CAAC,eAAe;YACzD,MAAM,EAAE,aAAa;SACtB,CAAC,EAH2C,CAG3C,EACF,6BAAqB,CAAC,oBAAoB,EAC1C,KAAK,EACL,QAAQ,EACR,OAAO,CACR,CAAC;IACJ,CAAC,CAAkB,CAAC;IAEtB,IAAA,iBAAS,EAAC;QACR,MAAM,CAAC,aAAa,CAClB,IAAI,WAAW,CAAyB,iBAAU,CAAC,6BAA6B,EAAE;YAChF,MAAM,EAAE;gBACN,IAAI,EAAE,6BAAqB,CAAC,0BAA0B;gBACtD,aAAa,EAAE;oBACb,QAAQ,UAAA;oBACR,OAAO,SAAA;iBACR;aACF;SACF,CAAC,CACH,CAAC;QACF,MAAM,CAAC,gBAAgB,CACrB,iBAAU,CAAC,sBAAsB,EACjC,wBAAwB,CACzB,CAAC;QACF,MAAM,CAAC,gBAAgB,CACrB,iBAAU,CAAC,sBAAsB,EACjC,6BAA6B,CAC9B,CAAC;QAEF,OAAO;YACL,MAAM,CAAC,aAAa,CAClB,IAAI,WAAW,CAAyB,iBAAU,CAAC,iCAAiC,EAAE;gBACpF,MAAM,EAAE;oBACN,IAAI,EAAE,6BAAqB,CAAC,0BAA0B;oBACtD,aAAa,EAAE;wBACb,QAAQ,UAAA;wBACR,OAAO,SAAA;qBACR;iBACF;aACF,CAAC,CACH,CAAC;YACF,MAAM,CAAC,mBAAmB,CACxB,iBAAU,CAAC,sBAAsB,EACjC,wBAAwB,CACzB,CAAC;YACF,MAAM,CAAC,mBAAmB,CACxB,iBAAU,CAAC,sBAAsB,EACjC,6BAA6B,CAC9B,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CAAC,kBAAkB,CAAC,eAAe,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;AACzE,CAAC;AA5GD,8CA4GC"}
@@ -0,0 +1,21 @@
1
+ export interface MutationVariablesWrapper<T> {
2
+ variables: T;
3
+ }
4
+ export type TriggerMutationFunction<T> = (args: MutationVariablesWrapper<T>) => void;
5
+ export type UseCustomMutationReturnType<T> = [TriggerMutationFunction<T> | null, object | null];
6
+ export type UseCustomMutationFunction = <T = any>(mutation: string, options?: object) => UseCustomMutationReturnType<T>;
7
+ export interface UseCustomMutationArguments {
8
+ mutation: string;
9
+ options?: object;
10
+ }
11
+ export interface MutationResultObject {
12
+ called: boolean;
13
+ data?: object;
14
+ error?: object;
15
+ loading: boolean;
16
+ }
17
+ export interface MutationHookResultType<T> {
18
+ triggerFunction: TriggerMutationFunction<T> | null;
19
+ result: MutationResultObject | null;
20
+ }
21
+ export type SetterFunctionCallbackType<T, K> = (previousObject: MutationHookResultType<T>, dataFromEvent: K) => MutationHookResultType<T>;
@@ -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/data-creation/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import * as React from 'react';
2
+ import { GraphqlResponseWrapper, HookEventWrapper } from '../core/types';
3
+ import { DataCreationHookEnums } from './enums';
4
+ import { MutationHookResultType, SetterFunctionCallbackType } from './types';
5
+ declare const validateMutationEventFromClient: <T, K>(setMutationResult: React.Dispatch<React.SetStateAction<MutationHookResultType<T>>>, setterFunctionCallback: SetterFunctionCallbackType<T, K>, hook: DataCreationHookEnums, event: HookEventWrapper<GraphqlResponseWrapper<object>>, mutation: string, options?: object) => void;
6
+ export default validateMutationEventFromClient;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var utils_1 = require("../data-consumption/utils");
4
+ var validateMutationEventFromClient = function (setMutationResult, setterFunctionCallback, hook, event, mutation, options) {
5
+ var _a = event.detail, hookReceived = _a.hook, hookArguments = _a.hookArguments, data = _a.data;
6
+ var _b = (hookArguments || { mutation: null, options: null }), mutationReceived = _b.mutation, optionsReceived = _b.options;
7
+ if (hookReceived === hook
8
+ && ((0, utils_1.makeCustomHookIdentifier)(mutationReceived, optionsReceived)
9
+ === (0, utils_1.makeCustomHookIdentifier)(mutation, options))) {
10
+ setMutationResult(function (prevObject) { return setterFunctionCallback(prevObject, data); });
11
+ }
12
+ };
13
+ exports.default = validateMutationEventFromClient;
14
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/data-creation/utils.ts"],"names":[],"mappings":";;AACA,mDAAqE;AAKrE,IAAM,+BAA+B,GAAG,UACtC,iBAAkF,EAClF,sBAAwD,EACxD,IAA2B,EAC3B,KAAuD,EACvD,QAAgB,EAChB,OAAgB;IAEV,IAAA,KAIF,KAAK,CAAC,MAAgC,EAHlC,YAAY,UAAA,EAClB,aAAa,mBAAA,EACb,IAAI,UACoC,CAAC;IACrC,IAAA,KAGF,CAAC,aAAa,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAA+B,EAF1E,gBAAgB,cAAA,EACjB,eAAe,aAC4D,CAAC;IACvF,IACE,YAAY,KAAK,IAAI;WAClB,CAAC,IAAA,gCAAwB,EAAC,gBAAgB,EAAE,eAAe,CAAC;gBACzD,IAAA,gCAAwB,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,EAClD;QACA,iBAAiB,CAAC,UAAC,UAAU,IAAK,OAAA,sBAAsB,CAAC,UAAU,EAAE,IAAI,CAAC,EAAxC,CAAwC,CAAC,CAAC;KAC7E;AACH,CAAC,CAAC;AAEF,kBAAe,+BAA+B,CAAC"}
@@ -35,7 +35,7 @@ export declare class ActionButtonDropdownSeparator implements ActionButtonDropdo
35
35
  *
36
36
  * @returns the separator to be displayed in the action button dropdown
37
37
  */
38
- constructor({ dataTest }: {
38
+ constructor({ dataTest }?: {
39
39
  dataTest?: string | undefined;
40
40
  });
41
41
  setItemId: (id: string) => void;
@@ -46,7 +46,7 @@ var ActionButtonDropdownSeparator = /** @class */ (function () {
46
46
  * @returns the separator to be displayed in the action button dropdown
47
47
  */
48
48
  function ActionButtonDropdownSeparator(_a) {
49
- var _b = _a.dataTest, dataTest = _b === void 0 ? '' : _b;
49
+ var _b = _a === void 0 ? {} : _a, _c = _b.dataTest, dataTest = _c === void 0 ? '' : _c;
50
50
  var _this = this;
51
51
  this.id = '';
52
52
  this.setItemId = function (id) {
@@ -1 +1 @@
1
- {"version":3,"file":"component.js","sourceRoot":"","sources":["../../../../src/extensible-areas/action-button-dropdown-item/component.ts"],"names":[],"mappings":";;;AAAA,iCAAuD;AAKvD,uCAAuC;AAEvC;IAiBE;;;;;;;;;;;OAWG;IACH,oCAAY,EAEsB;YADhC,EAAE,QAAA,EAAE,aAAU,EAAV,KAAK,mBAAG,EAAE,KAAA,EAAE,YAAS,EAAT,IAAI,mBAAG,EAAE,KAAA,EAAE,eAAY,EAAZ,OAAO,mBAAG,EAAE,KAAA,EAAE,gBAAa,EAAb,QAAQ,mBAAG,EAAE,KAAA,EAAE,eAAc,EAAd,OAAO,mBAAG,IAAI,KAAA,EAAE,eAAkB,EAAlB,OAAO,mBAAG,cAAO,CAAC,KAAA;QAD5F,iBAaC;QAzCD,OAAE,GAAW,EAAE,CAAC;QA2ChB,cAAS,GAAyB,UAAC,EAAU;YAC3C,KAAI,CAAC,EAAE,GAAG,qCAA8B,EAAE,CAAE,CAAC;QAC/C,CAAC,CAAC;QAdA,IAAI,EAAE,EAAE;YACN,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;SACd;QACD,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,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,oCAA4B,CAAC,MAAM,CAAC;IAClD,CAAC;IAKH,iCAAC;AAAD,CAAC,AA/CD,IA+CC;AA/CY,gEAA0B;AAiDvC;IAOE;;;;;;OAMG;IACH,uCAAY,EAAiB;YAAf,gBAAa,EAAb,QAAQ,mBAAG,EAAE,KAAA;QAA3B,iBAGC;QAhBD,OAAE,GAAW,EAAE,CAAC;QAkBhB,cAAS,GAAyB,UAAC,EAAU;YAC3C,KAAI,CAAC,EAAE,GAAG,wCAAiC,EAAE,CAAE,CAAC;QAClD,CAAC,CAAC;QANA,IAAI,CAAC,IAAI,GAAG,oCAA4B,CAAC,SAAS,CAAC;QACnD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAKH,oCAAC;AAAD,CAAC,AAtBD,IAsBC;AAtBY,sEAA6B"}
1
+ {"version":3,"file":"component.js","sourceRoot":"","sources":["../../../../src/extensible-areas/action-button-dropdown-item/component.ts"],"names":[],"mappings":";;;AAAA,iCAAuD;AAKvD,uCAAuC;AAEvC;IAiBE;;;;;;;;;;;OAWG;IACH,oCAAY,EAEsB;YADhC,EAAE,QAAA,EAAE,aAAU,EAAV,KAAK,mBAAG,EAAE,KAAA,EAAE,YAAS,EAAT,IAAI,mBAAG,EAAE,KAAA,EAAE,eAAY,EAAZ,OAAO,mBAAG,EAAE,KAAA,EAAE,gBAAa,EAAb,QAAQ,mBAAG,EAAE,KAAA,EAAE,eAAc,EAAd,OAAO,mBAAG,IAAI,KAAA,EAAE,eAAmB,EAAnB,OAAO,mBAAG,cAAQ,CAAC,KAAA;QAD7F,iBAaC;QAzCD,OAAE,GAAW,EAAE,CAAC;QA2ChB,cAAS,GAAyB,UAAC,EAAU;YAC3C,KAAI,CAAC,EAAE,GAAG,qCAA8B,EAAE,CAAE,CAAC;QAC/C,CAAC,CAAC;QAdA,IAAI,EAAE,EAAE;YACN,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;SACd;QACD,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,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,oCAA4B,CAAC,MAAM,CAAC;IAClD,CAAC;IAKH,iCAAC;AAAD,CAAC,AA/CD,IA+CC;AA/CY,gEAA0B;AAiDvC;IAOE;;;;;;OAMG;IACH,uCAAY,EAAsB;YAAtB,qBAAoB,EAAE,KAAA,EAApB,gBAAa,EAAb,QAAQ,mBAAG,EAAE,KAAA;QAA3B,iBAGC;QAhBD,OAAE,GAAW,EAAE,CAAC;QAkBhB,cAAS,GAAyB,UAAC,EAAU;YAC3C,KAAI,CAAC,EAAE,GAAG,wCAAiC,EAAE,CAAE,CAAC;QAClD,CAAC,CAAC;QANA,IAAI,CAAC,IAAI,GAAG,oCAA4B,CAAC,SAAS,CAAC;QACnD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAKH,oCAAC;AAAD,CAAC,AAtBD,IAsBC;AAtBY,sEAA6B"}
@@ -34,6 +34,8 @@ export declare class AudioSettingsDropdownSeparator implements AudioSettingsDrop
34
34
  *
35
35
  * @returns Object that will be interpreted by the core of Bigbluebutton (HTML5)
36
36
  */
37
- constructor();
37
+ constructor({ dataTest }?: {
38
+ dataTest?: string | undefined;
39
+ });
38
40
  setItemId: (id: string) => void;
39
41
  }
@@ -44,13 +44,15 @@ var AudioSettingsDropdownSeparator = /** @class */ (function () {
44
44
  *
45
45
  * @returns Object that will be interpreted by the core of Bigbluebutton (HTML5)
46
46
  */
47
- function AudioSettingsDropdownSeparator() {
47
+ function AudioSettingsDropdownSeparator(_a) {
48
+ var _b = _a === void 0 ? {} : _a, _c = _b.dataTest, dataTest = _c === void 0 ? '' : _c;
48
49
  var _this = this;
49
50
  this.id = '';
50
51
  this.dataTest = 'audioSettingsDropdownSeparator';
51
52
  this.setItemId = function (id) {
52
53
  _this.id = "AudioSettingsDropdownSeparator_".concat(id);
53
54
  };
55
+ this.dataTest = dataTest;
54
56
  this.type = enums_1.AudioSettingsDropdownItemType.SEPARATOR;
55
57
  }
56
58
  return AudioSettingsDropdownSeparator;
@@ -1 +1 @@
1
- {"version":3,"file":"component.js","sourceRoot":"","sources":["../../../../src/extensible-areas/audio-settings-dropdown-item/component.ts"],"names":[],"mappings":";;;AAAA,iCAAwD;AAKxD,wCAAwC;AAExC;IAaE;;;;;;;;;;OAUG;IACH,qCAAY,EAEuB;YADjC,EAAE,QAAA,EAAE,aAAU,EAAV,KAAK,mBAAG,EAAE,KAAA,EAAE,YAAS,EAAT,IAAI,mBAAG,EAAE,KAAA,EAAE,gBAAa,EAAb,QAAQ,mBAAG,EAAE,KAAA,EAAE,eAAkB,EAAlB,OAAO,mBAAG,cAAO,CAAC,KAAA;QAD9D,iBAWC;QAlCD,OAAE,GAAW,EAAE,CAAC;QAoChB,cAAS,GAAyB,UAAC,EAAU;YAC3C,KAAI,CAAC,EAAE,GAAG,sCAA+B,EAAE,CAAE,CAAC;QAChD,CAAC,CAAC;QAZA,IAAI,EAAE,EAAE;YACN,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;SACd;QACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,qCAA6B,CAAC,MAAM,CAAC;IACnD,CAAC;IAKH,kCAAC;AAAD,CAAC,AAxCD,IAwCC;AAxCY,kEAA2B;AA0CxC;IAOE;;;;;;;;OAQG;IACH;QAAA,iBAEC;QAjBD,OAAE,GAAW,EAAE,CAAC;QAIhB,aAAQ,GAAW,gCAAgC,CAAC;QAepD,cAAS,GAAyB,UAAC,EAAU;YAC3C,KAAI,CAAC,EAAE,GAAG,yCAAkC,EAAE,CAAE,CAAC;QACnD,CAAC,CAAC;QALA,IAAI,CAAC,IAAI,GAAG,qCAA6B,CAAC,SAAS,CAAC;IACtD,CAAC;IAKH,qCAAC;AAAD,CAAC,AAvBD,IAuBC;AAvBY,wEAA8B"}
1
+ {"version":3,"file":"component.js","sourceRoot":"","sources":["../../../../src/extensible-areas/audio-settings-dropdown-item/component.ts"],"names":[],"mappings":";;;AAAA,iCAAwD;AAKxD,wCAAwC;AAExC;IAaE;;;;;;;;;;OAUG;IACH,qCAAY,EAEuB;YADjC,EAAE,QAAA,EAAE,aAAU,EAAV,KAAK,mBAAG,EAAE,KAAA,EAAE,YAAS,EAAT,IAAI,mBAAG,EAAE,KAAA,EAAE,gBAAa,EAAb,QAAQ,mBAAG,EAAE,KAAA,EAAE,eAAmB,EAAnB,OAAO,mBAAG,cAAQ,CAAC,KAAA;QAD/D,iBAWC;QAlCD,OAAE,GAAW,EAAE,CAAC;QAoChB,cAAS,GAAyB,UAAC,EAAU;YAC3C,KAAI,CAAC,EAAE,GAAG,sCAA+B,EAAE,CAAE,CAAC;QAChD,CAAC,CAAC;QAZA,IAAI,EAAE,EAAE;YACN,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;SACd;QACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,qCAA6B,CAAC,MAAM,CAAC;IACnD,CAAC;IAKH,kCAAC;AAAD,CAAC,AAxCD,IAwCC;AAxCY,kEAA2B;AA0CxC;IAOE;;;;;;;;OAQG;IACH,wCAAY,EAAsB;YAAtB,qBAAoB,EAAE,KAAA,EAApB,gBAAa,EAAb,QAAQ,mBAAG,EAAE,KAAA;QAA3B,iBAGC;QAlBD,OAAE,GAAW,EAAE,CAAC;QAIhB,aAAQ,GAAW,gCAAgC,CAAC;QAgBpD,cAAS,GAAyB,UAAC,EAAU;YAC3C,KAAI,CAAC,EAAE,GAAG,yCAAkC,EAAE,CAAE,CAAC;QACnD,CAAC,CAAC;QANA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,qCAA6B,CAAC,SAAS,CAAC;IACtD,CAAC;IAKH,qCAAC;AAAD,CAAC,AAxBD,IAwBC;AAxBY,wEAA8B"}
@@ -1,7 +1,8 @@
1
1
  import { IntlLocaleUiDataNames } from './enums';
2
+ export interface LocaleObject {
3
+ locale: string;
4
+ fallbackLocale: string;
5
+ }
2
6
  export type IntlLocaleUiDataPayloads = {
3
- [IntlLocaleUiDataNames.CURRENT_LOCALE]: {
4
- locale: string;
5
- fallbackLocale: string;
6
- };
7
+ [IntlLocaleUiDataNames.CURRENT_LOCALE]: LocaleObject;
7
8
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bigbluebutton-html-plugin-sdk",
3
- "version": "0.0.87",
3
+ "version": "0.0.89",
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",