seperate js in files

This commit is contained in:
Josh
2018-06-13 14:43:08 -04:00
parent 83642f22c1
commit 7fadd6be69
16 changed files with 109 additions and 134 deletions

View File

@ -1,3 +0,0 @@
# Place all the behaviors and hooks related to the matching controller here.
# All this logic will automatically be available in application.js.
# You can use CoffeeScript in this file: http://coffeescript.org/

View File

@ -1,3 +0,0 @@
# Place all the behaviors and hooks related to the matching controller here.
# All this logic will automatically be available in application.js.
# You can use CoffeeScript in this file: http://coffeescript.org/

View File

View File

@ -0,0 +1,40 @@
// Room specific js for copy button and email link.
$(document).on('turbolinks:load', function(){
var controller = $("body").data('controller');
var action = $("body").data('action');
// Only run on room pages.
if (controller == "rooms" && action == "show"){
var invite_url;
var copy = $('#copy');
// Handle copy button.
copy.on('click', function(){
var inviteURL = $('#invite-url');
inviteURL.select();
var success = document.execCommand("copy");
if (success) {
inviteURL.blur();
copy.addClass('btn-success');
copy.html("<i class='fas fa-check'></i> Copy")
setTimeout(function(){
copy.removeClass('btn-success');
copy.html("<i class='fas fa-copy'></i> Copy")
}, 2000)
}
});
// Handle recording emails.
$('.email-link').each(function(){
$(this).click(function(){
var subject = $(".username").text() + " has invited you to view a recording.";
var body = "To view the recording, follow the link below:\n\n" + $(this).attr("data-pres-link");
var footer = "\n\nThis e-mail is auto-generated by BigBlueButton.\nBigBlueButton is an open source web conferencing system. For more information on BigBlueButton, see https://bigbluebutton.org/."
var win = window.open("mailto:?subject=" + encodeURIComponent(subject) + "&body=" + encodeURIComponent(body) + encodeURIComponent(footer), '_blank');
win.focus();
});
});
}
});

View File

@ -1,27 +0,0 @@
$(document).on("turbolinks:load", function() {
var action = $("body").data('action');
var controller = $("body").data('controller');
// If the user is on the waiting screen.
if (controller == 'rooms' && action == 'wait') {
setTimeout(refresh, 10000);
}
});
// Send a request to the meeting wait endpoint.
// This checks if the meeting is running on the
// server and will auto join the user if it is.
var refresh = function() {
$.ajax({
url: window.location.pathname,
type: 'POST',
data: {
unauthenticated_join_name: $('#unauthenticated_join_name_').val()
},
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
});
setTimeout(refresh, 10000);
}

View File

@ -1,3 +0,0 @@
# Place all the behaviors and hooks related to the matching controller here.
# All this logic will automatically be available in application.js.
# You can use CoffeeScript in this file: http://coffeescript.org/

View File

@ -0,0 +1,27 @@
// Handle changing of settings tabs.
$(document).on('turbolinks:load', function(){
var controller = $("body").data('controller');
var action = $("body").data('action');
// Only run on the settings page.
if (controller == "users" && action == "edit"){
settingsButtons = $('.setting-btn');
settingsViews = $('.setting-view');
settingsButtons.each(function(i, btn) {
if(i != 0){ $(settingsViews[i]).hide(); }
$(btn).click(function(){
$(btn).addClass("active");
settingsViews.each(function(i, view){
if($(view).attr("id") == $(btn).attr("id")){
$(view).show();
} else {
$(settingsButtons[i]).removeClass("active");
$(view).hide();
}
});
});
});
}
});

View File

@ -1,3 +0,0 @@
# Place all the behaviors and hooks related to the matching controller here.
# All this logic will automatically be available in application.js.
# You can use CoffeeScript in this file: http://coffeescript.org/

View File

@ -0,0 +1,38 @@
// Handle client request to join when meeting starts.
$(document).on("turbolinks:load", function(){
var controller = $("body").data('controller');
var action = $("body").data('action');
if(controller == "rooms" && action == "join"){
App.waiting = App.cable.subscriptions.create({
channel: "WaitingChannel",
uid: $(".room-section").attr("room")
}, {
received: function(data){
if(data.action = "started"){ request_to_join_meeting(); }
}
});
}
});
var join_attempts = 0;
var request_to_join_meeting = function(){
$.ajax({
url: window.location.pathname,
type: 'POST',
data: {
join_name: $(".room-section").attr("join-name")
},
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'X-CSRF-Token': $('meta[name="csrf-token"]').attr('content')
},
error: function(){
// The meeting is still booting (going slowly), retry shortly.
if(join_attempts < 4){ setTimeout(request_to_join_meeting, 10000); }
join_attempts++;
}
});
}