forked from External/greenlight
		
	clean active_meetings.js
This commit is contained in:
		@@ -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);
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user