Skip to main content

Functions to enable plugins

Each plugin in meeting.plugins object is of type DytePlugin and exposes the following functions to enable plugins.

Add Plugin View

This method adds the communication layer between the plugin inside the iframe and the core application (meeting object) in the main window.

const plugins = meeting.plugins.all.toArray();

plugins.forEach(async (plugin: DytePlugin) => {
const iframe = document.createElement('iframe');
await plugin.addPluginView(iframe);
});

Activate Plugins

The activate() method activates a plugin for all users in the meeting. When you activate a plugin, it moves into the active plugins map and can be accessed from meeting.plugins.active.

The snippet below displays all plugins and activates a plugin on click.

const plugins = meeting.plugins.all.toArray();

plugins.forEach((plugin: DytePlugin) => {
const button = document.createElement('button');
button.innerText = plugin.name;
button.onclick = async () => {
await plugin.activate();
};
document.body.appendChild(button);
});

Here is another way you can activate a plugin.

const plugins = meeting.plugins.all.toArray();
const plugin = plugins.find((p) => p.name === 'YouTube');

await plugin?.activate();

Enable Plugins

Deprecated

The enable() method enables a plugin for the current user. This does not affect other users in the meeting.

const plugins = meeting.plugins.all.toArray();
const plugin = plugins.find((p) => p.name === 'YouTube');

await plugin?.enable();