/**
* This function handles button click to end the invitiation call session
*/
$(document).on('click', '#endInvitationSession', function () {
var invitation_id = $(this).data('invitation_id');
$.confirm({
title: 'Are you sure you want to end the session ssss?',
columnClass: 'col-md-6 col-md-offset-2',
content: '',
buttons: {
cancel: {
btnClass: 'btn btn-danger mr-3',
},
ok: {
text: "Ok",
btnClass: 'btn btn-success',
keys: ['enter'],
action: function () {
jist_stop();
//staff/invitee/end-session
$.get(base_url + "staff/invitee/end-session/"+invitation_id, function (data) {
location.reload();
});
}
}
}
})
});
/**
* This function handles button click to remove the invitiation call session
*/
$(document).on('click', '.js-respond-callers', function () {
var id = $(this).data('id');
$.confirm({
title: 'Remove Call From List',
columnClass: 'col-md-6 col-md-offset-2',
content: '',
buttons: {
cancel: {
btnClass: 'btn btn-danger mr-3',
},
ok: {
text: "Ok",
btnClass: 'btn btn-success',
keys: ['enter'],
action: function () {
jist_stop();
//staff/invitee/end-session
$.get(base_url + "staff/end-callers/"+id,function (data) {
// location.reload();
// getCallers();
});
}
}
}
})
});
/**
* This function responds to staff's invitation. It handles the click function on Invitation box whether to re-start video session
or are there any other previous active session.
*/
$(document).on('click', '.js-respond-invitation', function() {
//alert($(this).data('inv_id'));
var isCurrentBox = $(this).find('.blinking-color').hasClass('js-session-active')
var hasOtherActiveStatus = $(this).parents('#myInvitations').find('.blinking-color').hasClass('js-session-active')
if(isCurrentBox === false && hasOtherActiveStatus === true) {
$.confirm({
title: `You are on a session with other staff. Please end the previous session before accepting a new invitation.`,
columnClass: 'col-md-6 col-md-offset-2',
content: '',
buttons: {
ok: {
text: 'OK',
btnClass: 'btn btn-success mr-3',
action: function() {
}
},
}
});
}
else {
var invitation_id = $(this).data('inv_id');
var invited_by = $(this).data('inv_by');
var status = $(this).data('status');
// show_control(invitation_id);
console.log('inv '+invitation_id);
$.get(base_url + "staff/get-invitation-detail/"+invitation_id,
function (data) {
switch(data.status){
case "active":
var offender_id = data.offender_id;
$.confirm({
title: 'Do you want to restart or join the video with '+ invited_by + '?',
columnClass: 'col-md-8 col-md-offset-2',
content: ``,
buttons: {
cancel: {
btnClass: 'btn btn-danger mr-3',
action: function(){infoToastr('You currently have an active session for this invitation.');}
},
ok: {
btnClass: 'btn btn-success',
action: function(){
// $.get(base_url + "invitee-join-session/"+invitation_id, function (data){
// });
window.location.replace(base_url + "invitee-join-session/"+invitation_id+'/'+offender_id);
// jist_start(data.offender_staff_session_id, registration_info);
// subscribe_offender(data.offender_staff_session_id);
// var user= "session_"+ data.offender_staff_session_id;
// conn.subscribe(user, function(topic, data) {
// show_control(invitation_id);
// });
}
}
}
});
break;
case "inactive":
infoToastr('Could not connect to this staff');
break;
default:
$.confirm({
title: '<div class="pl-3">Invitation from '+ invited_by+'</div>',
columnClass: 'col-md-8 col-md-offset-2',
content: `<div class="container-fluid text-left new-conf-body">
<form class="" name="">
<div class="row">
<div class="col-md-6 form-group">
<h6>Case Title</h6>
<div class="text-black-50">${data.case_title}</div>
</div>
<div class="col-md-6 form-group">
<h6>Case No</h6>
<div class="text-black-50">${data.court_case_no}</div>
</div>
</div>
<div class="row">
<div class="col-md-6 form-group">
<h6>Offender\'s name</h6>
<div class="text-black-50">${data.offenderName}</div>
</div>
<div class="col-md-6 form-group">
<h6>DOB</h6>
<div class="text-black-50">${data.offenderDOB}</div>
</div>
<div class="col-md-6 form-group">
<label>Choice</label>
<select class="select form-control" name="staff_choice" id="choice">
<option value="accept">Accept</option>
<option value="reject">Reject</option>
<option value="defer">Defer</option>
</select>
</div>
<input type="hidden" id="room_id" name="room_id" value="${data.offender_staff_session_id}"/>
<input type="hidden" id="offender_id" name="offender_id" value="${data.offender_id}"/>
</div>
</form>
</div>`,
buttons: {
cancel: {
btnClass: 'btn btn-danger mr-3',
},
ok: {
text: "Submit",
btnClass: 'btn btn-success',
keys: ['enter'],
action: function(){
var room_id = $('#room_id').val();;
var choice =$('#choice').val();
var offender_id =$('#offender_id').val();
console.log(choice);
$.post(base_url + "staff/update-invitation", { invitation: invitation_id, status: choice,offender_id: offender_id }, function (data) {
if (data.status.localeCompare("success") == 0) {
switch(data.chat_status){
case "active":
window.location.replace(base_url + "invitee-join-session/"+invitation_id+'/'+offender_id);
//console.log(btoa(data.info-box));
// jist_start(room_id, registration_info);
// show_invitee_control(data);
// subscribe_offender(room_id);
// show_control(invitation_id);
invitation_data = invitation_id;
$('.js-respond-invitation').addClass('in-session')
break;
jist_start(room_id, registration_info);
// show_invitee_control(data);
show_control(invitation_id);
invitation_data = invitation_id;
break;
case "defer":
break;
}
// update ui status
}
getInvitations();
}
, 'json');
}
}
}
})
$('.new-conf-body').parents('.jconfirm-content-pane').addClass('my-new-conf').css('display','block !important')
console.log('called------')
break;
}
}
);
}
})
/**
* This function helps to show the controls such as 'End the session' button on the dashboard
*/
var show_control = function(inviteId){
console.log('inviteid '+inviteId);
$.get(base_url + "staff/get-invitation-controls/"+inviteId, function (data) {
$('#main-section').empty();
$('#main-section').append(data);
});
}
// var current = function(){
// $('body').find('.modal-backdrop').remove()
// getHistory(); /// sagun added
// // findCurrentStaff();
// // getRegistrationDetails();
// }
// to be deleted
var getHistory = function(){
console.log('roadmap being reloaded...');
$.get(base_url+ "invitee-history", function(data){
//alert(atob(data.status));
// alert("data.status="+data.status);
switch(data.status){
case "success":
break;
case "fail":
break;
default:
break;
}
$("#offender_road_map").html(atob(data.message));
},"json");
}
// to be deleted
var updateInviteStatus = function(){
$.post(base_url + "staff/update-invite/", function (data) {
});
}