39 lines
1.4 KiB
JavaScript
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');
|
|
}
|
|
});
|
|
}
|
|
});
|