forked from External/greenlight
103 lines
2.1 KiB
JavaScript
103 lines
2.1 KiB
JavaScript
$.ajaxSetup({
|
|
headers: {
|
|
'X-CSRF-Token': $('meta[name="csrf-token"]').attr('content')
|
|
}
|
|
});
|
|
|
|
var getEncryptedId = function() {
|
|
return $(".page-wrapper.rooms").data('room');
|
|
}
|
|
|
|
var PUBLISHED_CLASSES = ['fa-eye-slash', 'fa-eye']
|
|
|
|
var getPublishClass = function(published) {
|
|
return PUBLISHED_CLASSES[+published];
|
|
}
|
|
|
|
var meetingInstance = null;
|
|
class Meeting {
|
|
constructor(url, name) {
|
|
this.url = url;
|
|
this.name = name;
|
|
}
|
|
|
|
static getInstance() {
|
|
if (meetingInstance) {
|
|
return meetingInstance;
|
|
}
|
|
var url = $('.meeting-url').val();
|
|
var name = $('.meeting-user-name').val();
|
|
meetingInstance = new Meeting(url, name);
|
|
return meetingInstance;
|
|
}
|
|
|
|
getjoinMeetingURL() {
|
|
return $.get(this.url + "/join?name=" + this.name, function() {
|
|
});
|
|
};
|
|
|
|
endMeeting() {
|
|
return $.ajax({
|
|
url: this.url + "/end",
|
|
type: 'DELETE'
|
|
});
|
|
}
|
|
|
|
setURL(url) {
|
|
this.url = url;
|
|
}
|
|
setName(name) {
|
|
this.name = name;
|
|
}
|
|
setModJoined(modJoined) {
|
|
this.modJoined = modJoined;
|
|
}
|
|
getModJoined() {
|
|
return this.modJoined;
|
|
}
|
|
setWaitingForMod(wMod) {
|
|
this.waitingForMod = wMod;
|
|
}
|
|
getWaitingForMod() {
|
|
return this.waitingForMod;
|
|
}
|
|
}
|
|
|
|
var loopJoin = function() {
|
|
var jqxhr = Meeting.getInstance().getjoinMeetingURL();
|
|
jqxhr.done(function(data) {
|
|
if (data.messageKey === 'wait_for_moderator') {
|
|
setTimeout(loopJoin, 5000);
|
|
} else {
|
|
$(location).attr("href", data.response.join_url);
|
|
}
|
|
});
|
|
jqxhr.fail(function(xhr, status, error) {
|
|
console.info("meeting join failed");
|
|
});
|
|
}
|
|
|
|
var showAlert = function(html, timeout_delay) {
|
|
if (!html) {
|
|
return;
|
|
}
|
|
|
|
$('.alert-template .alert-message').html(html);
|
|
$('#alerts').html($('.alert-template').html());
|
|
|
|
if (timeout_delay) {
|
|
setTimeout(function() {
|
|
$('#alerts > .alert').alert('close');
|
|
}, timeout_delay);
|
|
}
|
|
}
|
|
|
|
var displayMeetingURL = function() {
|
|
meetingURL = $('.meeting-url');
|
|
var link = window.location.protocol +
|
|
'//' +
|
|
window.location.hostname +
|
|
meetingURL.data('path');
|
|
meetingURL.val(link);
|
|
}
|