in demo-website/src/meeting.js [612:638]
populateInMeetingDeviceList(elementId, genericName, devices, additionalOptions, callback) {
const menu = document.getElementById(elementId);
while (menu.firstElementChild) {
menu.removeChild(menu.firstElementChild);
}
for (let i = 0; i < devices.length; i++) {
this.createDropdownMenuItem(menu, devices[i].label || `${genericName} ${i + 1}`, () => {
callback(devices[i].deviceId);
});
}
if (additionalOptions.length > 0) {
this.createDropdownMenuItem(menu, '──────────', () => { }).classList.add('text-center');
for (const additionalOption of additionalOptions) {
this.createDropdownMenuItem(
menu,
additionalOption,
() => {
callback(additionalOption);
},
`${elementId}-${additionalOption.replace(/\s/g, '-')}`
);
}
}
if (!menu.firstElementChild) {
this.createDropdownMenuItem(menu, 'Device selection unavailable', () => { });
}
}