bigbluebutton-html-plugin-sdk
Version:
This repository contains the SDK for developing BigBlueButton plugins. Plugins are React components that can be loaded from external sources by the BigBlueButton HTML5 client to extend its functionalities.
58 lines • 2.96 kB
JavaScript
;
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.replaceEntryFunctionUtil = exports.deleteEntryFunctionUtil = exports.formatResponseForPubSubOrKeyValue = exports.createChannelIdentifier = void 0;
var enum_1 = require("../core/enum");
var enums_1 = require("./enums");
var constants_1 = require("./constants");
var createChannelIdentifier = function (channelName, subChannelName, pluginName) { return "".concat(channelName, "::").concat(subChannelName, "::").concat(pluginName); };
exports.createChannelIdentifier = createChannelIdentifier;
var formatResponseForPubSubOrKeyValue = function (dataResult) { return (__assign(__assign({}, dataResult), { data: dataResult.data ? dataResult.data[0] : undefined })); };
exports.formatResponseForPubSubOrKeyValue = formatResponseForPubSubOrKeyValue;
var deleteEntryFunctionUtil = function (objectsToDelete, channelName, subChannelName, pluginName) {
objectsToDelete.forEach(function (objectToDelete) {
if (objectToDelete === constants_1.RESET_DATA_CHANNEL) {
window.dispatchEvent(new CustomEvent(enum_1.HookEvents.PLUGIN_SENT_CHANGES_TO_BBB_CORE, {
detail: {
hook: enums_1.DataChannelHooks.DATA_CHANNEL_RESET,
hookArguments: { channelName: channelName, pluginName: pluginName, subChannelName: subChannelName },
data: undefined,
},
}));
}
else {
window.dispatchEvent(new CustomEvent(enum_1.HookEvents.PLUGIN_SENT_CHANGES_TO_BBB_CORE, {
detail: {
hook: enums_1.DataChannelHooks.DATA_CHANNEL_DELETE,
hookArguments: { channelName: channelName, pluginName: pluginName, subChannelName: subChannelName },
data: objectToDelete,
},
}));
}
});
};
exports.deleteEntryFunctionUtil = deleteEntryFunctionUtil;
var replaceEntryFunctionUtil = function (entryId, channelName, subChannelName, pluginName, newPayloadJson) {
window.dispatchEvent(new CustomEvent(enum_1.HookEvents.PLUGIN_SENT_CHANGES_TO_BBB_CORE, {
detail: {
hook: enums_1.DataChannelHooks.DATA_CHANNEL_REPLACE,
hookArguments: { channelName: channelName, pluginName: pluginName, subChannelName: subChannelName },
data: {
entryId: entryId,
payloadJson: newPayloadJson,
},
},
}));
};
exports.replaceEntryFunctionUtil = replaceEntryFunctionUtil;
//# sourceMappingURL=utils.js.map