forked from External/greenlight
multi meeting rooms
This commit is contained in:
@ -23,10 +23,15 @@
|
||||
});
|
||||
};
|
||||
|
||||
var initRooms = function() {
|
||||
var enableMeetingUpdates = function() {
|
||||
var meeting_id = '';
|
||||
if ($(".page-wrapper.rooms").data('main-room') === false) {
|
||||
meeting_id = $(".page-wrapper.rooms").data('id');
|
||||
}
|
||||
App.messages = App.cable.subscriptions.create({
|
||||
channel: 'MeetingUpdatesChannel',
|
||||
encrypted_id: $(".page-wrapper").data('id')
|
||||
admin_id: $(".page-wrapper.rooms").data('admin-id'),
|
||||
meeting_id: meeting_id
|
||||
},
|
||||
{
|
||||
received: function(data) {
|
||||
@ -58,7 +63,7 @@
|
||||
$(document).on("turbolinks:load", function() {
|
||||
if ($("body[data-controller=landing]").get(0)) {
|
||||
if ($("body[data-action=rooms]").get(0)) {
|
||||
initRooms();
|
||||
enableMeetingUpdates();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
@ -64,6 +64,10 @@
|
||||
}
|
||||
});
|
||||
|
||||
$('.center-panel-wrapper').on ('click', '.meeting-start', function (event) {
|
||||
Turbolinks.visit(Meeting.getInstance().getURL());
|
||||
});
|
||||
|
||||
$('.center-panel-wrapper').on ('keypress', '.meeting-user-name', function (event) {
|
||||
if (event.keyCode === 13) {
|
||||
event.preventDefault();
|
||||
@ -192,12 +196,15 @@
|
||||
displayRoomURL();
|
||||
|
||||
$('.center-panel-wrapper').on('keyup', '.meeting-name', function (event, msg) {
|
||||
var newName = $(this).val();
|
||||
// Meeting.getInstance().setMeetingId(newId);
|
||||
Meeting.getInstance().setMeetingName(newName);
|
||||
// $(".page-wrapper.meetings").data('id', newId);
|
||||
// $('.meeting-url').val(Meeting.getInstance().getURL());
|
||||
// $('.join-meeting-title').html(I18n.join_title.replace(/%{id}/, newId));
|
||||
var newId = $(this).val();
|
||||
Meeting.getInstance().setMeetingId(newId);
|
||||
$('.meeting-url').val(Meeting.getInstance().getURL());
|
||||
$('.join-meeting-title').html(I18n.join_title.replace(/%{id}/, newId));
|
||||
if (newId === '') {
|
||||
$('.invite-join-wrapper').addClass('hidden');
|
||||
} else {
|
||||
$('.invite-join-wrapper').removeClass('hidden');
|
||||
}
|
||||
});
|
||||
|
||||
Recordings.getInstance().refresh();
|
||||
|
@ -19,28 +19,30 @@
|
||||
_meetingInstance = null
|
||||
|
||||
class @Meeting
|
||||
constructor: (@meetingId, @type, @userName, @meetingName) ->
|
||||
constructor: (@meetingId, @type, @userName, @adminId) ->
|
||||
|
||||
# Gets the current instance or creates a new one
|
||||
@getInstance: ->
|
||||
if _meetingInstance
|
||||
return _meetingInstance
|
||||
id = $(".page-wrapper").data('id')
|
||||
meetingId = $(".page-wrapper").data('id')
|
||||
if (type = location.pathname.split('/')[1]) != 'rooms'
|
||||
type = 'meetings'
|
||||
name = $('.meeting-user-name').val()
|
||||
_meetingInstance = new Meeting(id, type, name)
|
||||
adminId = $(".page-wrapper").data('admin-id')
|
||||
_meetingInstance = new Meeting(meetingId, type, name, adminId)
|
||||
return _meetingInstance
|
||||
|
||||
@clear: ->
|
||||
_meetingInstance = null
|
||||
|
||||
@buildMeetingURL: (id, type, name) ->
|
||||
if name
|
||||
name = '/' + encodeURIComponent(name)
|
||||
@buildMeetingURL: (meetingId, type, adminId) ->
|
||||
fullId = ''
|
||||
if adminId
|
||||
fullId = encodeURIComponent(adminId) + '/' + encodeURIComponent(meetingId)
|
||||
else
|
||||
name = ''
|
||||
return @buildFullDomainURL() + '/' + type + '/' + encodeURIComponent(id) + name
|
||||
fullId = encodeURIComponent(meetingId)
|
||||
return @buildFullDomainURL() + '/' + type + '/' + fullId
|
||||
|
||||
@buildFullDomainURL: ->
|
||||
url = location.protocol + '//' + location.hostname
|
||||
@ -84,8 +86,11 @@ class @Meeting
|
||||
@meetingId = id
|
||||
return this
|
||||
|
||||
setMeetingName: (name) ->
|
||||
@meetingName = name
|
||||
getAdminId: ->
|
||||
return @adminId
|
||||
|
||||
setAdminId: (id) ->
|
||||
@adminId = id
|
||||
return this
|
||||
|
||||
getType: ->
|
||||
@ -96,7 +101,7 @@ class @Meeting
|
||||
return this
|
||||
|
||||
getURL: ->
|
||||
return Meeting.buildMeetingURL(@meetingId, @type, @meetingName)
|
||||
return Meeting.buildMeetingURL(@meetingId, @type, @adminId)
|
||||
|
||||
getUserName: ->
|
||||
return @userName
|
||||
|
@ -157,7 +157,7 @@ class @Recordings
|
||||
# refresh the recordings from the server
|
||||
refresh: ->
|
||||
table_api = this.table.api()
|
||||
$.get "/rooms/"+Meeting.getInstance().getMeetingId()+"/recordings", (data) =>
|
||||
$.get "/rooms/"+Meeting.getInstance().getAdminId()+"/recordings", (data) =>
|
||||
@setOwner(data.is_owner)
|
||||
if !@owner
|
||||
table_api.column(-1).visible(false)
|
||||
|
Reference in New Issue
Block a user