forked from External/greenlight
clean active_meetings.js
This commit is contained in:
parent
261bb314f2
commit
5390c9d22c
|
@ -17,10 +17,10 @@
|
||||||
// Handles live updating and initial population of the previous meetings and active meetings lists on
|
// Handles live updating and initial population of the previous meetings and active meetings lists on
|
||||||
// the landing page using custom Actioncable events.
|
// the landing page using custom Actioncable events.
|
||||||
|
|
||||||
MEETINGS = {}
|
var MEETINGS = {}
|
||||||
LOADING_DELAY = 1750 // milliseconds.
|
var LOADING_DELAY = 1750 // milliseconds.
|
||||||
|
|
||||||
updatePreviousMeetings = function(){
|
var updatePreviousMeetings = function(){
|
||||||
$("ul.previously-joined li").each(function(idx, li) {
|
$("ul.previously-joined li").each(function(idx, li) {
|
||||||
previous_meeting = $(li);
|
previous_meeting = $(li);
|
||||||
if(Object.keys(MEETINGS).indexOf(previous_meeting.text()) > -1){
|
if(Object.keys(MEETINGS).indexOf(previous_meeting.text()) > -1){
|
||||||
|
@ -29,7 +29,7 @@ updatePreviousMeetings = function(){
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
handleUser = function(data, n){
|
var handleUser = function(data, n){
|
||||||
if(data['role'] == 'MODERATOR'){
|
if(data['role'] == 'MODERATOR'){
|
||||||
MEETINGS[data['meeting']]['moderators'] += n
|
MEETINGS[data['meeting']]['moderators'] += n
|
||||||
} else {
|
} else {
|
||||||
|
@ -38,24 +38,24 @@ handleUser = function(data, n){
|
||||||
updateMeetingText(MEETINGS[data['meeting']])
|
updateMeetingText(MEETINGS[data['meeting']])
|
||||||
}
|
}
|
||||||
|
|
||||||
updateMeetingText = function(meeting){
|
var updateMeetingText = function(meeting){
|
||||||
$('#' + meeting['name'].replace(' ', '_')).html('<a>' + meeting['name'] + '</a> <i>(' +
|
$('#' + meeting['name'].replace(' ', '_')).html('<a>' + meeting['name'] + '</a> <i>(' +
|
||||||
meeting['participants'] + ((meeting['participants'] == 1) ? ' user, ' : ' users, ') +
|
meeting['participants'] + ((meeting['participants'] == 1) ? ' user, ' : ' users, ') +
|
||||||
meeting['moderators'] + ((meeting['moderators'] == 1) ? ' mod)' : ' mods)'))
|
meeting['moderators'] + ((meeting['moderators'] == 1) ? ' mod)' : ' mods)'))
|
||||||
}
|
}
|
||||||
|
|
||||||
initialPopulate = function(){
|
var initialPopulate = function(){
|
||||||
// Only populate on room resources.
|
// Only populate on room resources.
|
||||||
chopped = window.location.href.split('/')
|
var chopped = window.location.href.split('/')
|
||||||
if (!window.location.href.includes('rooms') || chopped[chopped.length - 2] == $('body').data('current-user')) { return; }
|
if (!window.location.href.includes('rooms') || chopped[chopped.length - 2] == $('body').data('current-user')) { return; }
|
||||||
$.get((window.location.href + '/request').replace('#', ''), function(data){
|
$.get((window.location.href + '/request').replace('#', ''), function(data){
|
||||||
meetings = data['meetings']
|
var meetings = data['meetings']
|
||||||
for(var i = 0; i < meetings.length; i++){
|
for(var i = 0; i < meetings.length; i++){
|
||||||
// Make sure the meeting actually belongs to the current user.
|
// Make sure the meeting actually belongs to the current user.
|
||||||
if(meetings[i]['metadata']['room-id'] != $('body').data('current-user')) { continue; }
|
if(meetings[i]['metadata']['room-id'] != $('body').data('current-user')) { continue; }
|
||||||
name = meetings[i]['meetingName']
|
var name = meetings[i]['meetingName']
|
||||||
participants = parseInt(meetings[i]['participantCount'])
|
var participants = parseInt(meetings[i]['participantCount'])
|
||||||
moderators = parseInt(meetings[i]['moderatorCount'])
|
var moderators = parseInt(meetings[i]['moderatorCount'])
|
||||||
// Create meeting.
|
// Create meeting.
|
||||||
MEETINGS[name] = {'name': name,
|
MEETINGS[name] = {'name': name,
|
||||||
'participants': participants - moderators,
|
'participants': participants - moderators,
|
||||||
|
@ -75,13 +75,13 @@ initialPopulate = function(){
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
isPreviouslyJoined = function(meeting){
|
var isPreviouslyJoined = function(meeting){
|
||||||
joinedMeetings = localStorage.getItem('joinedRooms-' + $('body').data('current-user'));
|
joinedMeetings = localStorage.getItem('joinedRooms-' + $('body').data('current-user'));
|
||||||
if (joinedMeetings == '' || joinedMeetings == null){ return false; }
|
if (joinedMeetings == '' || joinedMeetings == null){ return false; }
|
||||||
return joinedMeetings.split(',').indexOf(meeting) >= 0
|
return joinedMeetings.split(',').indexOf(meeting) >= 0
|
||||||
}
|
}
|
||||||
|
|
||||||
renderActiveMeeting = function(m){
|
var renderActiveMeeting = function(m){
|
||||||
var meeting_item = $('<li id = ' + m['name'].replace(' ', '_') + '><a>' + m['name'] + '</a>' +
|
var meeting_item = $('<li id = ' + m['name'].replace(' ', '_') + '><a>' + m['name'] + '</a>' +
|
||||||
' <i>(' + m['participants'] + ((m['participants'] == 1) ? ' user, ' : ' users, ') +
|
' <i>(' + m['participants'] + ((m['participants'] == 1) ? ' user, ' : ' users, ') +
|
||||||
m['moderators'] + ((m['moderators'] == 1) ? ' mod)' : ' mods)') + '</i>' + '</li>')
|
m['moderators'] + ((m['moderators'] == 1) ? ' mod)' : ' mods)') + '</i>' + '</li>')
|
||||||
|
@ -93,14 +93,14 @@ renderActiveMeeting = function(m){
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
removeActiveMeeting = function(meeting){
|
var removeActiveMeeting = function(meeting){
|
||||||
if(meeting){
|
if(meeting){
|
||||||
$('#' + meeting['name'].replace(' ', '_')).remove()
|
$('#' + meeting['name'].replace(' ', '_')).remove()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Directly join a meeting from active meetings.
|
// Directly join a meeting from active meetings.
|
||||||
joinMeeting = function(meeting_name){
|
var joinMeeting = function(meeting_name){
|
||||||
if (meeting_name == undefined || meeting_name == null) { return; }
|
if (meeting_name == undefined || meeting_name == null) { return; }
|
||||||
Meeting.getInstance().setUserName(localStorage.getItem('lastJoinedName'));
|
Meeting.getInstance().setUserName(localStorage.getItem('lastJoinedName'));
|
||||||
Meeting.getInstance().setMeetingId(meeting_name);
|
Meeting.getInstance().setMeetingId(meeting_name);
|
||||||
|
@ -114,7 +114,7 @@ joinMeeting = function(meeting_name){
|
||||||
$(location).attr("href", data.response.join_url);
|
$(location).attr("href", data.response.join_url);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
jqxhr.fail(function(xhr, status, error) {
|
jqxhr.fail(function() {
|
||||||
console.info("meeting join failed");
|
console.info("meeting join failed");
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in New Issue