forked from External/greenlight
clean active_meetings.js
This commit is contained in:
parent
42f0c14b49
commit
31f0e0a3e9
|
@ -1,35 +1,24 @@
|
|||
// Handles action cable events from bbb-webhooks and initial population of active meetings.
|
||||
// BigBlueButton open source conferencing system - http://www.bigbluebutton.org/.
|
||||
//
|
||||
// Copyright (c) 2016 BigBlueButton Inc. and by respective authors (see below).
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or modify it under the
|
||||
// terms of the GNU Lesser General Public License as published by the Free Software
|
||||
// Foundation; either version 3.0 of the License, or (at your option) any later
|
||||
// version.
|
||||
//
|
||||
// BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
// PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public License along
|
||||
// with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
// Handles live updating and initial population of the previous meetings and active meetings lists on
|
||||
// the landing page using custom Actioncable events.
|
||||
|
||||
MEETINGS = {}
|
||||
|
||||
// Only need to register for logged in users.
|
||||
if($('body').data('current-user')){
|
||||
App.messages = App.cable.subscriptions.create('RefreshMeetingsChannel', {
|
||||
received: function(data) {
|
||||
console.log('Recieved ' + data['method'] + ' action for ' + data['meeting'] + '.')
|
||||
if(isPreviouslyJoined(data['meeting'])){
|
||||
if(data['method'] == 'create'){
|
||||
// Create an empty meeting.
|
||||
MEETINGS[data['meeting']] = {'name': data['meeting'],
|
||||
'participants': 0,
|
||||
'moderators': 0}
|
||||
|
||||
renderActiveMeeting(MEETINGS[data['meeting']])
|
||||
updatePreviousMeetings();
|
||||
} else if(data['method'] == 'destroy'){
|
||||
removeActiveMeeting(MEETINGS[data['meeting']])
|
||||
PreviousMeetings.append([data['meeting']])
|
||||
delete MEETINGS[data['meeting']]
|
||||
} else if(data['method'] == 'join'){
|
||||
handleUser(data, 1)
|
||||
updateMeetingText(MEETINGS[data['meeting']])
|
||||
} else if(data['method'] == 'leave'){
|
||||
handleUser(data, -1)
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
LOADING_DELAY = 1250 // milliseconds.
|
||||
|
||||
updatePreviousMeetings = function(){
|
||||
$("ul.previously-joined li").each(function(idx, li) {
|
||||
|
@ -128,4 +117,34 @@ joinMeeting = function(meeting_name){
|
|||
}
|
||||
}
|
||||
|
||||
if($('body').data('current-user')){ console.log('Populating active meetings.'); setTimeout(initialPopulate, 1250); }
|
||||
// Only need to register for logged in users.
|
||||
if($('body').data('current-user')){
|
||||
App.messages = App.cable.subscriptions.create('RefreshMeetingsChannel', {
|
||||
received: function(data) {
|
||||
console.log('Recieved ' + data['method'] + ' action for ' + data['meeting'] + '.')
|
||||
if(isPreviouslyJoined(data['meeting'])){
|
||||
if(data['method'] == 'create'){
|
||||
// Create an empty meeting.
|
||||
MEETINGS[data['meeting']] = {'name': data['meeting'],
|
||||
'participants': 0,
|
||||
'moderators': 0}
|
||||
|
||||
renderActiveMeeting(MEETINGS[data['meeting']])
|
||||
updatePreviousMeetings();
|
||||
} else if(data['method'] == 'destroy'){
|
||||
removeActiveMeeting(MEETINGS[data['meeting']])
|
||||
PreviousMeetings.append([data['meeting']])
|
||||
delete MEETINGS[data['meeting']]
|
||||
} else if(data['method'] == 'join'){
|
||||
handleUser(data, 1)
|
||||
updateMeetingText(MEETINGS[data['meeting']])
|
||||
} else if(data['method'] == 'leave'){
|
||||
handleUser(data, -1)
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
console.log('Populating active meetings.');
|
||||
setTimeout(initialPopulate, LOADING_DELAY);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue