forked from External/greenlight
		
	store previously joined authenticated meetings
This commit is contained in:
		@@ -195,7 +195,7 @@
 | 
				
			|||||||
  var initRooms = function() {
 | 
					  var initRooms = function() {
 | 
				
			||||||
    displayRoomURL();
 | 
					    displayRoomURL();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    $('.center-panel-wrapper').on('keyup', '.meeting-name', function (event, msg) {
 | 
					    $('.center-panel-wrapper').on('input', '.meeting-name', function (event, msg) {
 | 
				
			||||||
      var newId = $(this).val();
 | 
					      var newId = $(this).val();
 | 
				
			||||||
      Meeting.getInstance().setMeetingId(newId);
 | 
					      Meeting.getInstance().setMeetingId(newId);
 | 
				
			||||||
      $('.meeting-url').val(Meeting.getInstance().getURL());
 | 
					      $('.meeting-url').val(Meeting.getInstance().getURL());
 | 
				
			||||||
@@ -207,6 +207,27 @@
 | 
				
			|||||||
      }
 | 
					      }
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if ($(".page-wrapper.rooms").data('main-room')) {
 | 
				
			||||||
 | 
					      $('.center-panel-wrapper').on('click', '.fill-meeting-name', function (event, msg) {
 | 
				
			||||||
 | 
					        var name = $(this).text();
 | 
				
			||||||
 | 
					        $('input.meeting-name').val(name).trigger('input');
 | 
				
			||||||
 | 
					      });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      $('ul.previously-joined').empty();
 | 
				
			||||||
 | 
					      var joinedMeetings = localStorage.getItem('joinedRooms');
 | 
				
			||||||
 | 
					      if (joinedMeetings && joinedMeetings.length > 0) {
 | 
				
			||||||
 | 
					        joinedMeetings = joinedMeetings.split(',');
 | 
				
			||||||
 | 
					        $('.center-panel-wrapper .previously-joined-wrapper').removeClass('hidden');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        for (var i = joinedMeetings.length - 1; i >= 0; i--) {
 | 
				
			||||||
 | 
					          $('ul.previously-joined').append('<li><a class="fill-meeting-name">'+joinedMeetings[i]+'</a></li>');
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      if ($('input.meeting-name').val() !== '') {
 | 
				
			||||||
 | 
					        $('input.meeting-name').trigger('input');
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    Recordings.getInstance().refresh();
 | 
					    Recordings.getInstance().refresh();
 | 
				
			||||||
    Recordings.getInstance().setupActionHandlers();
 | 
					    Recordings.getInstance().setupActionHandlers();
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -63,21 +63,27 @@ class @Meeting
 | 
				
			|||||||
  #    The response object contains the URL to join the meeting
 | 
					  #    The response object contains the URL to join the meeting
 | 
				
			||||||
  getJoinMeetingResponse: ->
 | 
					  getJoinMeetingResponse: ->
 | 
				
			||||||
    return $.get @getURL() + "/join?name=" + @userName, (data) =>
 | 
					    return $.get @getURL() + "/join?name=" + @userName, (data) =>
 | 
				
			||||||
      if data.messageKey == 'ok' && @type == 'meetings'
 | 
					      # update name used to join meeting
 | 
				
			||||||
        # update name used to join meeting
 | 
					      localStorage.setItem('lastJoinedName', @getUserName())
 | 
				
			||||||
        localStorage.setItem('lastJoinedName', @getUserName())
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        # update previously joined meetings on client
 | 
					      if data.messageKey == 'ok'
 | 
				
			||||||
 | 
					        key = ''
 | 
				
			||||||
 | 
					        if @type == 'meetings'
 | 
				
			||||||
 | 
					          key = 'joinedMeetings'
 | 
				
			||||||
 | 
					        else if @type == 'rooms'
 | 
				
			||||||
 | 
					          key = 'joinedRooms'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # update previously joined meetings/rooms on client
 | 
				
			||||||
        try
 | 
					        try
 | 
				
			||||||
          joinedMeetings = localStorage.getItem('joinedMeetings') || ''
 | 
					          joinedMeetings = localStorage.getItem(key) || ''
 | 
				
			||||||
          joinedMeetings = joinedMeetings.split(',')
 | 
					          joinedMeetings = joinedMeetings.split(',')
 | 
				
			||||||
          joinedMeetings = joinedMeetings.filter (item) => item != @meetingId.toString()
 | 
					          joinedMeetings = joinedMeetings.filter (item) => item != @meetingId.toString()
 | 
				
			||||||
          if joinedMeetings.length >= 5
 | 
					          if joinedMeetings.length >= 5
 | 
				
			||||||
            joinedMeetings.splice(0, 1)
 | 
					            joinedMeetings.splice(0, 1)
 | 
				
			||||||
          joinedMeetings.push(@meetingId)
 | 
					          joinedMeetings.push(@meetingId)
 | 
				
			||||||
          localStorage.setItem('joinedMeetings', joinedMeetings.join(','))
 | 
					          localStorage.setItem(key, joinedMeetings.join(','))
 | 
				
			||||||
        catch err
 | 
					        catch err
 | 
				
			||||||
          localStorage.setItem('joinedMeetings', @meetingId)
 | 
					          localStorage.setItem(key, @meetingId)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  getMeetingId: ->
 | 
					  getMeetingId: ->
 | 
				
			||||||
    return @meetingId
 | 
					    return @meetingId
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -14,13 +14,15 @@
 | 
				
			|||||||
// You should have received a copy of the GNU Lesser General Public License along
 | 
					// You should have received a copy of the GNU Lesser General Public License along
 | 
				
			||||||
// with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
 | 
					// with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.previously-joined {
 | 
				
			||||||
 | 
					  list-style-type: none;
 | 
				
			||||||
 | 
					  margin:auto;
 | 
				
			||||||
 | 
					  width: 200px;
 | 
				
			||||||
 | 
					  padding: 0;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.meetings {
 | 
					.meetings {
 | 
				
			||||||
  .previously-joined {
 | 
					
 | 
				
			||||||
    list-style-type: none;
 | 
					 | 
				
			||||||
    margin:auto;
 | 
					 | 
				
			||||||
    width: 200px;
 | 
					 | 
				
			||||||
    padding: 0;
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.rooms {
 | 
					.rooms {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -31,6 +31,9 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
 | 
				
			|||||||
  <div class="center-block center-panel-content-size col-xs-12">
 | 
					  <div class="center-block center-panel-content-size col-xs-12">
 | 
				
			||||||
    <% if admin? %>
 | 
					    <% if admin? %>
 | 
				
			||||||
      <%= render 'shared/meeting_name_form' %>
 | 
					      <%= render 'shared/meeting_name_form' %>
 | 
				
			||||||
 | 
					      <div class="row">
 | 
				
			||||||
 | 
					        <%= render 'landing/previously_joined' %>
 | 
				
			||||||
 | 
					      </div>
 | 
				
			||||||
      <div class="row">
 | 
					      <div class="row">
 | 
				
			||||||
        <%= render 'landing/invite_join' %>
 | 
					        <%= render 'landing/invite_join' %>
 | 
				
			||||||
      </div>
 | 
					      </div>
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user