bigbluebutton / bigbluebutton-html-plugin-sdk

BigBlueButton Plugin SDK
GNU Lesser General Public License v3.0
7 stars 5 forks source link

Extensible areas: floating window #26

Closed TiagoJacobs closed 9 months ago

TiagoJacobs commented 11 months ago

We would like to add a new extensible area to BBB plugin architecture: a floating window.

The idea is that a plugin can add a floating window on BBB.

The practical usage if it will be related with other already existing ui areas, so let's say when a user clicks on a menu it can have an onClick that defines the floating window.

Another example could be a plugin that offers a "floating window" depending on what is the partial content filled on the chat message input.

image

The api for this extensible area would be pluginApi.setFloatingWindows([]).

Properties for a floating window:

Example pseudo-implementation:

Static HTML:

pluginApi.setFloatingWindows([
{
    top:0, left:0, width:100, height:100, 
    movable:false, 
    contentFunction: (el) => {
        el.innerHTML = "Hello!!";
    }
}
])

More robust implementation:

pluginApi.setFloatingWindows([
{
    top:0, left:0, width:100, height:100, 
    movable:false, 
    contentFunction: (el) => {
        React.createApp(el, reactComponent);
    }
}
])