in openmeetings-web/src/main/front/src/room/user-list.js [137:222]
function _updateClient(c) {
if (!options) {
return; //too early
}
const self = c.uid === options.uid
, le = _getClient(c.uid)
, selfCamStream = c.streams.find(s => s.type === 'WEBCAM')
, hasAudio = VideoUtil.hasMic(self && selfCamStream ? selfCamStream : c)
, hasVideo = VideoUtil.hasCam(self && selfCamStream ? selfCamStream : c)
, speaks = le.find('.audio-activity');
if (le.length === 0) {
return;
}
__setStatus(c, le);
if (hasVideo || hasAudio) {
if (le.find('.restart').length === 0) {
le.prepend(OmUtil.tmpl('#user-av-restart').click(function () {
VideoManager.refresh(c.uid);
}));
}
} else {
le.find('.restart').remove();
}
speaks.hide().removeClass('clickable').attr('title', speaks.data('speaks')).off();
if (hasAudio) {
speaks.show();
if(UserListUtil.hasRight('MUTE_OTHERS')) {
speaks.addClass('clickable').click(function () {
VideoManager.clickMuteOthers(c.uid);
}).attr('title', speaks.attr('title') + speaks.data('mute'));
}
}
le.attr('title', c.user.displayName)
.css('background-image', 'url(' + c.user.pictureUri + ')')
.find('.user.name').text(c.user.displayName);
if (c.user.id !== -1) {
const actions = le.find('.user.actions');
__rightVideoIcon(c, actions);
__rightAudioIcon(c, actions);
__rightOtherIcons(c, actions);
__activityIcon(actions, '.kick'
, () => !self && UserListUtil.hasRight('MODERATOR') && !UserListUtil.hasRight('SUPER_MODERATOR', c.rights)
, null
, {
confirmationEvent: 'om-kick'
, placement: Settings.isRtl ? 'left' : 'right'
, onConfirm: () => OmUtil.roomAction({action: 'kick', uid: c.uid})
});
__activityIcon(actions, '.private-chat'
, () => options.userId !== c.user.id && $('#chatPanel').is(':visible')
, function() {
Chat.addTab('chatTab-u' + c.user.id, c.user.displayName);
Chat.open();
$('#chatMessage .wysiwyg-editor').click();
});
}
if (self) {
options.rights = c.rights;
QuickPoll.setRights();
options.activities = c.activities;
const header = $('#room-sidebar-tab-users .header');
header.find('.om-icon.settings').off().click(VideoSettings.open);
__rightVideoIcon(c, header);
__activityAVIcon(
header
, '.activity.cam'
, () => !options.audioOnly && UserListUtil.hasRight(VideoUtil.CAM_ACTIVITY)
, () => hasVideo
, () => Settings.load().video.cam < 0)
.off().click(function() {
VideoManager.toggleActivity(VideoUtil.CAM_ACTIVITY);
});;
__rightAudioIcon(c, header);
__activityAVIcon(
header
, '.activity.mic', () => UserListUtil.hasRight(VideoUtil.MIC_ACTIVITY)
, () => hasAudio
, () => Settings.load().video.mic < 0)
.off().click(function() {
VideoManager.toggleActivity(VideoUtil.MIC_ACTIVITY);
});
__rightOtherIcons(c, header);
}
VideoManager.update(c)
}