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 = {} | MEETINGS = {} | ||||||
|  | LOADING_DELAY = 1250 // milliseconds. | ||||||
| // 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) |  | ||||||
|         } |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
|   }); |  | ||||||
| } |  | ||||||
|  |  | ||||||
| updatePreviousMeetings = function(){ | updatePreviousMeetings = function(){ | ||||||
|   $("ul.previously-joined li").each(function(idx, li) { |   $("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