Files
codeocean/app/assets/javascripts/channels/pg_matching_channel.js
2023-09-21 15:07:10 +02:00

39 lines
1.4 KiB
JavaScript

$(document).on('turbolinks:load', function () {
if ($.isController('programming_groups') && window.location.pathname.includes('programming_groups/new')) {
const matching_page = $('#matching');
const exercise_id = matching_page.data('exercise-id');
const specific_channel = { channel: "PgMatchingChannel", exercise_id: exercise_id};
App.pg_matching = App.cable.subscriptions.create(specific_channel, {
connected() {
// Called when the subscription is ready for use on the server
},
disconnected() {
// Called when the subscription has been terminated by the server
},
received(data) {
// Called when there's incoming data on the websocket for this channel
switch (data.action) {
case 'invited':
if (!ProgrammingGroups.is_other_user(data.user)) {
window.location.reload();
}
break;
case 'joined_pg':
if (ProgrammingGroups.contains_own_user(data.users)) {
window.location.reload();
}
break;
}
},
waiting_for_match() {
this.perform('waiting_for_match');
}
});
}
});