updateRoster()

in demo-website/src/meeting.js [452:490]


    updateRoster() {
        let rosterText = '';
        for (const attendeeId in this.roster) {
            rosterText +=
                '<li class="list-group-item d-flex justify-content-between align-items-center">';
            rosterText += this.roster[attendeeId].name;
            let score = this.roster[attendeeId].score;
            if (!score) {
                score = 0;
            }
            score = Math.floor(score * 100);
            if (score) {
                rosterText += ` (${score})`
            }
            rosterText += '<span class="badge badge-pill ';
            let status = '';
            if (this.roster[attendeeId].signalStrength < 1) {
                status = '&nbsp;';
                rosterText += 'badge-warning';
            } else if (this.roster[attendeeId].signalStrength === 0) {
                status = '&nbsp;';
                rosterText += 'badge-danger';
            } else if (this.roster[attendeeId].muted) {
                status = 'MUTED';
                rosterText += 'badge-secondary';
            } else if (this.roster[attendeeId].active) {
                status = 'SPEAKING';
                rosterText += 'badge-success';
            } else if (this.roster[attendeeId].volume > 0) {
                status = '&nbsp;';
                rosterText += 'badge-success';
            }
            rosterText += `">${status}</span></li>`;
        }
        const roster = document.getElementById('roster');
        if (roster.innerHTML !== rosterText) {
            roster.innerHTML = rosterText;
        }
    }