Iniit
This commit is contained in:
@@ -0,0 +1,731 @@
|
||||
var Bizgaze;
|
||||
(function (Bizgaze) {
|
||||
let Apps;
|
||||
(function (Apps) {
|
||||
let Communications;
|
||||
(function (Communications) {
|
||||
let Ivr;
|
||||
(function (Ivr_1) {
|
||||
let Components;
|
||||
(function (Components) {
|
||||
class Ivr extends Unibase.Platform.Core.BaseComponent {
|
||||
constructor() {
|
||||
super();
|
||||
this.pageIndex = 0;
|
||||
}
|
||||
loadForm(FormId, Pk_Value, AppConfigurationId, Callback, PortletWidgetId) {
|
||||
throw new Error("Method not implemented.");
|
||||
}
|
||||
jsFiles() {
|
||||
return ["apps/communications/ivr/managers/ivrmanager.js", "platform/dataapis/managers/dataapimanager.js", "libs/jquery/pagination/jquery.pagination.js", "/DataTables/datatables.js"];
|
||||
}
|
||||
cssFiles() {
|
||||
let css = `.pagination li:hover{
|
||||
cursor: pointer;
|
||||
}`;
|
||||
return [css];
|
||||
}
|
||||
html() {
|
||||
var html = '';
|
||||
return html;
|
||||
}
|
||||
loadhtml(Containerid) {
|
||||
var html = `<div></div><div style="background-color:#FFFFFF;"><br>  <label for="fromDate"><b>FromDate</b></label> <input type="datetime-local" id="fromDate" name="fromDate">         <label for="toDate"><b>ToDate</b></label> <input type="datetime-local" id="toDate" name="toDate">    <input type="text" id="txtsearchnumber" placeholder="search" data-type="number"/>   <button class="btn btn-sm btn-datesearch" id="search" ><b>Apply</b></button><br></div><div><table id="logData" class="table table-bordered"><thead style="background-color:#FFFFFF;"><tr><th><b>Date</b></th><th><b>Caller</b></th><th><b>Click To Call</b></th><th><b>SR number</b></th><th><b>Action</b></th><th><b>Duration</b><br></th><th><b>Recordings</b></th><th><b>Credits</b></th></tr></thead><tbody style="background-color:#FFFFFF;"> </tbody></table></div><div><label>Total Count:</label><span id="spancount"></span><div class="pull-right"><button class="btn btn-sm btn-prevbutton" id="prevbutton" >Previous</button>      <button class="btn btn-sm btn-nxtbutton" id="nxtbutton">Next</button></div></div>`;
|
||||
$("." + Containerid).html(html);
|
||||
}
|
||||
init(Containerid) {
|
||||
let recordingurl;
|
||||
let url = [];
|
||||
let responseuuidobj;
|
||||
let callernumber;
|
||||
let responseobjectarr = [];
|
||||
let uuidarr = [];
|
||||
let index = 1;
|
||||
let refindex = 0;
|
||||
let fromsearch = 0;
|
||||
var prevstatus = false;
|
||||
var nxtstatus = false;
|
||||
let count = 0;
|
||||
let arrfromsearch = [];
|
||||
let arrfromsearchlength = 0;
|
||||
let arrtosearch = [];
|
||||
let noofrows = 8;
|
||||
var jsfiles = ["apps/communications/ivr/managers/ivrmanager.js", "platform/dataapis/managers/dataapimanager.js", "libs/jquery/pagination/jquery.pagination.js"];
|
||||
Ivr.Instance().fileCacheHelper.loadJsFiles(jsfiles, function () {
|
||||
Ivr.Instance().loadhtml(Containerid);
|
||||
Ivr.Instance().cssFiles();
|
||||
loadinandout();
|
||||
Bizgaze.Apps.Communications.Ivr.Managers.IvrManager.Instance().getcalllogs().then(function (response) {
|
||||
$("#logData tbody").append('');
|
||||
if (response != null) {
|
||||
var responseobj = response.objects;
|
||||
for (var i = 0; i < responseobj.length; i++) {
|
||||
responseobjectarr.push(responseobj[i]);
|
||||
loaduuid(responseobj[i].uuid);
|
||||
}
|
||||
}
|
||||
});
|
||||
function loaduuid(uuid) {
|
||||
Bizgaze.Apps.Communications.Ivr.Managers.IvrManager.Instance().getdetailedcalllogs(uuid).then(function (responseuuid) {
|
||||
responseuuidobj = responseuuid.message;
|
||||
callernumber = JSON.parse(responseuuidobj).caller;
|
||||
uuidarr.push(callernumber);
|
||||
if (responseobjectarr.length == uuidarr.length) {
|
||||
$("#prevbutton").prop('disabled', true);
|
||||
loadinandout();
|
||||
}
|
||||
});
|
||||
}
|
||||
function loadinandout() {
|
||||
url = [];
|
||||
$("#logData tbody").html(' ');
|
||||
index = 1;
|
||||
count = 0;
|
||||
if (nxtstatus == true) {
|
||||
arrtosearch.push(fromsearch);
|
||||
}
|
||||
for (var i = fromsearch; i < responseobjectarr.length; i++) {
|
||||
if (count == 0 && prevstatus == false && nxtstatus == false) {
|
||||
arrfromsearch.push(fromsearch);
|
||||
}
|
||||
let dynamicTR = "<tr>";
|
||||
dynamicTR = dynamicTR + "<td>" + "incoming " + "<br>" + responseobjectarr[i].start_time + "</td>";
|
||||
dynamicTR = dynamicTR + "<td>" + responseobjectarr[i].customer_number + "</td>";
|
||||
dynamicTR = dynamicTR + "<td>" + "<a><button class='btn btn-sm btn-call'> Click To Call </button></a>" + "</td>";
|
||||
dynamicTR = dynamicTR + "<td>" + responseobjectarr[i].destination + "</td>";
|
||||
dynamicTR = dynamicTR + "<td>" + responseobjectarr[i].business_call_type + "</td>";
|
||||
recordingurl = responseobjectarr[i].call_recording;
|
||||
if (recordingurl == "") {
|
||||
dynamicTR = dynamicTR + "<td>" + "Missed Call" + "</td>";
|
||||
}
|
||||
else {
|
||||
if (responseobjectarr[i].call_duration < 60) {
|
||||
dynamicTR = dynamicTR + "<td>" + responseobjectarr[i].call_duration + " seconds" + "</td>";
|
||||
}
|
||||
else {
|
||||
var rem = responseobjectarr[i].call_duration % 60;
|
||||
var quo = responseobjectarr[i].call_duration / 60;
|
||||
dynamicTR = dynamicTR + "<td>" + responseobjectarr[i].call_duration + quo + " minutes" + rem + " seconds" + "</td>";
|
||||
}
|
||||
}
|
||||
dynamicTR = dynamicTR + "<td>";
|
||||
recordingurl = responseobjectarr[i].call_recording;
|
||||
if (recordingurl == "") {
|
||||
dynamicTR = dynamicTR + '<i class="fa fa - download" aria-hidden="true">';
|
||||
}
|
||||
else {
|
||||
dynamicTR = dynamicTR + '<a href="' + recordingurl + '"><button class= "btn"><i class="fa fa-download" aria-hidden="true"></i></button >';
|
||||
}
|
||||
dynamicTR = dynamicTR + "</td>";
|
||||
dynamicTR = dynamicTR + "<td>" + responseobjectarr[i].credits_deducted + "</td>";
|
||||
dynamicTR = dynamicTR + "</tr>";
|
||||
$("#logData tbody").append(dynamicTR);
|
||||
index++;
|
||||
count++;
|
||||
if (fromsearch == 0) {
|
||||
$("#prevbutton").prop('disabled', true);
|
||||
}
|
||||
if (count == noofrows) {
|
||||
if (nxtstatus == false) {
|
||||
arrfromsearch.push(fromsearch);
|
||||
}
|
||||
break;
|
||||
}
|
||||
dynamicTR = "<tr>";
|
||||
dynamicTR = dynamicTR + "<td>" + "outgoing " + "<br>" + responseobjectarr[i].start_time + "</td>";
|
||||
dynamicTR = dynamicTR + "<td>" + uuidarr[i] + "</td>";
|
||||
dynamicTR = dynamicTR + "<td>" + "<a><button class='btn btn-sm btn-call'> Click To Call</button></a>" + "</td>";
|
||||
dynamicTR = dynamicTR + "<td>" + responseobjectarr[i].destination + "</td>";
|
||||
dynamicTR = dynamicTR + "<td>" + responseobjectarr[i].business_call_type + "</td>";
|
||||
recordingurl = responseobjectarr[i].call_recording;
|
||||
if (recordingurl == "") {
|
||||
dynamicTR = dynamicTR + "<td>" + "Missed Call" + "</td>";
|
||||
}
|
||||
else {
|
||||
if (responseobjectarr[i].call_duration < 60) {
|
||||
dynamicTR = dynamicTR + "<td>" + responseobjectarr[i].call_duration + " seconds" + "</td>";
|
||||
}
|
||||
else {
|
||||
var rem = responseobjectarr[i].call_duration % 60;
|
||||
var quo = responseobjectarr[i].call_duration / 60;
|
||||
dynamicTR = dynamicTR + "<td>" + responseobjectarr[i].call_duration + quo + " minutes" + rem + " seconds" + "</td>";
|
||||
}
|
||||
}
|
||||
dynamicTR = dynamicTR + "<td>";
|
||||
if (recordingurl == "") {
|
||||
dynamicTR = dynamicTR + '<i class="fa fa - download" aria-hidden="true">';
|
||||
}
|
||||
else {
|
||||
dynamicTR = dynamicTR + '<a href="' + recordingurl + '"><button class= "btn"><i class="fa fa-download" aria-hidden="true"></i></button >';
|
||||
}
|
||||
dynamicTR = dynamicTR + "</td>";
|
||||
dynamicTR = dynamicTR + "<td>" + responseobjectarr[i].credits_deducted + "</td>";
|
||||
dynamicTR = dynamicTR + "</tr>";
|
||||
$("#logData tbody").append(dynamicTR);
|
||||
index++;
|
||||
count++;
|
||||
if (fromsearch == 0) {
|
||||
$("#prevbutton").prop('disabled', true);
|
||||
}
|
||||
if (i + 1 == responseobjectarr.length) {
|
||||
$("#nxtbutton").prop('disabled', true);
|
||||
}
|
||||
if (prevstatus == true) {
|
||||
fromsearch--;
|
||||
}
|
||||
else if (nxtstatus == true) {
|
||||
fromsearch++;
|
||||
}
|
||||
else {
|
||||
fromsearch++;
|
||||
}
|
||||
if (i == responseobjectarr.length - 1) {
|
||||
arrfromsearch.push(fromsearch);
|
||||
}
|
||||
else if (count == noofrows) {
|
||||
if (prevstatus == false) {
|
||||
arrfromsearch.push(fromsearch);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
$('#logData').on('click', '.btn-call', function () {
|
||||
var currentRow = $(this).closest("tr");
|
||||
var currentphoneno = currentRow.find("td:eq(1)").html();
|
||||
var knowlarityno = currentRow.find("td:eq(3)").html();
|
||||
var callerid = "+91xxxxxxxxxx";
|
||||
Bizgaze.Apps.Communications.Ivr.Managers.IvrManager.Instance().Makeacall(knowlarityno, knowlarityno, currentphoneno, callerid).then(function (makecall) {
|
||||
alert(makecall);
|
||||
});
|
||||
});
|
||||
$('#spancount').text(2 * responseobjectarr.length);
|
||||
}
|
||||
function search() {
|
||||
$('#spancount').text("");
|
||||
url = [];
|
||||
$("#logData tbody").html(' ');
|
||||
index = 1;
|
||||
var fromdate;
|
||||
var fromtime;
|
||||
var todate;
|
||||
var totime;
|
||||
var tempfromdate = $('#fromDate').val();
|
||||
var temptodate = $('#toDate').val();
|
||||
var searchnumber = $('#txtsearchnumber').val();
|
||||
let count = 0;
|
||||
fromdate = tempfromdate.toString().split('T')[0];
|
||||
fromtime = tempfromdate.toString().split('T')[1];
|
||||
var fromdatetime = new Date(fromdate + " " + fromtime);
|
||||
todate = temptodate.toString().split('T')[0];
|
||||
totime = temptodate.toString().split('T')[1];
|
||||
var todatetime = new Date(todate + " " + totime);
|
||||
if (new Date(fromdatetime).getTime() > new Date(todatetime).getTime()) {
|
||||
bootbox.alert("From Date Must be less Than To Date");
|
||||
}
|
||||
else {
|
||||
if (nxtstatus == true) {
|
||||
arrtosearch.push(fromsearch);
|
||||
}
|
||||
for (var i = fromsearch; i < responseobjectarr.length; i++) {
|
||||
if (fromsearch == 0) {
|
||||
$("#prevbutton").prop('disabled', true);
|
||||
}
|
||||
if (i + 1 == responseobjectarr.length) {
|
||||
$("#nxtbutton").prop('disabled', true);
|
||||
}
|
||||
if (tempfromdate == "" && temptodate == "" && searchnumber == "") {
|
||||
loadinandout();
|
||||
break;
|
||||
}
|
||||
else if (tempfromdate == "" || temptodate == "") {
|
||||
if (searchnumber == "") {
|
||||
loadinandout();
|
||||
break;
|
||||
}
|
||||
else {
|
||||
if (count == 0 && prevstatus == false && nxtstatus == false) {
|
||||
arrfromsearch.push(fromsearch);
|
||||
}
|
||||
if (searchnumber == responseobjectarr[i].customer_number || responseobjectarr[i].customer_number.includes(searchnumber) || searchnumber == responseobjectarr[i].destination || responseobjectarr[i].destination.includes(searchnumber)) {
|
||||
let dynamicTR = "<tr>";
|
||||
dynamicTR = dynamicTR + "<td>" + "incoming " + "<br>" + responseobjectarr[i].start_time + "</td>";
|
||||
dynamicTR = dynamicTR + "<td>" + responseobjectarr[i].customer_number + "</td>";
|
||||
dynamicTR = dynamicTR + "<td>" + "<a><button class='btn btn-sm btn-call'> Click To Call </button></a>" + "</td>";
|
||||
dynamicTR = dynamicTR + "<td>" + responseobjectarr[i].destination + "</td>";
|
||||
dynamicTR = dynamicTR + "<td>" + responseobjectarr[i].business_call_type + "</td>";
|
||||
recordingurl = responseobjectarr[i].call_recording;
|
||||
if (recordingurl == "") {
|
||||
dynamicTR = dynamicTR + "<td>" + "Missed Call" + "</td>";
|
||||
}
|
||||
else {
|
||||
if (responseobjectarr[i].call_duration < 60) {
|
||||
dynamicTR = dynamicTR + "<td>" + responseobjectarr[i].call_duration + " seconds" + "</td>";
|
||||
}
|
||||
else {
|
||||
var rem = responseobjectarr[i].call_duration % 60;
|
||||
var quo = responseobjectarr[i].call_duration / 60;
|
||||
dynamicTR = dynamicTR + "<td>" + responseobjectarr[i].call_duration + quo + " minutes" + rem + " seconds" + "</td>";
|
||||
}
|
||||
}
|
||||
dynamicTR = dynamicTR + "<td>";
|
||||
recordingurl = responseobjectarr[i].call_recording;
|
||||
if (recordingurl == "") {
|
||||
dynamicTR = dynamicTR + '<i class="fa fa - download" aria-hidden="true">';
|
||||
}
|
||||
else {
|
||||
dynamicTR = dynamicTR + '<a href="' + recordingurl + '"><button class= "btn"><i class="fa fa-download" aria-hidden="true"></i></button >';
|
||||
}
|
||||
dynamicTR = dynamicTR + "</td>";
|
||||
dynamicTR = dynamicTR + "<td>" + responseobjectarr[i].credits_deducted + "</td>";
|
||||
dynamicTR = dynamicTR + "</tr>";
|
||||
$("#logData tbody").append(dynamicTR);
|
||||
index++;
|
||||
count++;
|
||||
}
|
||||
if (count == noofrows) {
|
||||
if (prevstatus == false) {
|
||||
arrfromsearch.push(fromsearch);
|
||||
}
|
||||
break;
|
||||
}
|
||||
if (searchnumber == uuidarr[i] || uuidarr[i].includes(searchnumber) || searchnumber == responseobjectarr[i].destination || responseobjectarr[i].destination.includes(searchnumber)) {
|
||||
let dynamicTR = "<tr>";
|
||||
dynamicTR = dynamicTR + "<td>" + "outgoing " + "<br>" + responseobjectarr[i].start_time + "</td>";
|
||||
dynamicTR = dynamicTR + "<td>" + uuidarr[i] + "</td>";
|
||||
dynamicTR = dynamicTR + "<td>" + "<a><button class='btn btn-sm btn-call'> Click To Call</button></a>" + "</td>";
|
||||
dynamicTR = dynamicTR + "<td>" + responseobjectarr[i].destination + "</td>";
|
||||
dynamicTR = dynamicTR + "<td>" + responseobjectarr[i].business_call_type + "</td>";
|
||||
recordingurl = responseobjectarr[i].call_recording;
|
||||
if (recordingurl == "") {
|
||||
dynamicTR = dynamicTR + "<td>" + "Missed Call" + "</td>";
|
||||
}
|
||||
else {
|
||||
if (responseobjectarr[i].call_duration < 60) {
|
||||
dynamicTR = dynamicTR + "<td>" + responseobjectarr[i].call_duration + " seconds" + "</td>";
|
||||
}
|
||||
else {
|
||||
var rem = responseobjectarr[i].call_duration % 60;
|
||||
var quo = responseobjectarr[i].call_duration / 60;
|
||||
dynamicTR = dynamicTR + "<td>" + responseobjectarr[i].call_duration + quo + " minutes" + rem + " seconds" + "</td>";
|
||||
}
|
||||
}
|
||||
dynamicTR = dynamicTR + "<td>";
|
||||
if (recordingurl == "") {
|
||||
dynamicTR = dynamicTR + '<i class="fa fa - download" aria-hidden="true">';
|
||||
}
|
||||
else {
|
||||
dynamicTR = dynamicTR + '<a href="' + recordingurl + '"><button class= "btn"><i class="fa fa-download" aria-hidden="true"></i></button >';
|
||||
}
|
||||
dynamicTR = dynamicTR + "</td>";
|
||||
dynamicTR = dynamicTR + "<td>" + responseobjectarr[i].credits_deducted + "</td>";
|
||||
dynamicTR = dynamicTR + "</tr>";
|
||||
$("#logData tbody").append(dynamicTR);
|
||||
index++;
|
||||
count++;
|
||||
}
|
||||
}
|
||||
if (prevstatus == true) {
|
||||
fromsearch--;
|
||||
}
|
||||
else if (nxtstatus == true) {
|
||||
fromsearch++;
|
||||
}
|
||||
else {
|
||||
fromsearch++;
|
||||
}
|
||||
if (i == responseobjectarr.length - 1) {
|
||||
arrfromsearch.push(fromsearch);
|
||||
}
|
||||
else if (count == noofrows) {
|
||||
if (prevstatus == false) {
|
||||
arrfromsearch.push(fromsearch);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if (tempfromdate != "" || temptodate != "") {
|
||||
if (count == 0 && prevstatus == false && nxtstatus == false) {
|
||||
arrfromsearch.push(fromsearch);
|
||||
}
|
||||
if (searchnumber == "") {
|
||||
if (new Date(responseobjectarr[i].start_time).getTime() >= new Date(fromdatetime).getTime() && new Date(responseobjectarr[i].start_time).getTime() <= new Date(todatetime).getTime()) {
|
||||
let dynamicTR = "<tr>";
|
||||
dynamicTR = dynamicTR + "<td>" + "incoming " + "<br>" + responseobjectarr[i].start_time + "</td>";
|
||||
dynamicTR = dynamicTR + "<td>" + responseobjectarr[i].customer_number + "</td>";
|
||||
dynamicTR = dynamicTR + "<td>" + "<a><button class='btn btn-sm btn-call'> Click To Call </button></a>" + "</td>";
|
||||
dynamicTR = dynamicTR + "<td>" + responseobjectarr[i].destination + "</td>";
|
||||
dynamicTR = dynamicTR + "<td>" + responseobjectarr[i].business_call_type + "</td>";
|
||||
recordingurl = responseobjectarr[i].call_recording;
|
||||
if (recordingurl == "") {
|
||||
dynamicTR = dynamicTR + "<td>" + "Missed Call" + "</td>";
|
||||
}
|
||||
else {
|
||||
if (responseobjectarr[i].call_duration < 60) {
|
||||
dynamicTR = dynamicTR + "<td>" + responseobjectarr[i].call_duration + " seconds" + "</td>";
|
||||
}
|
||||
else {
|
||||
var rem = responseobjectarr[i].call_duration % 60;
|
||||
var quo = responseobjectarr[i].call_duration / 60;
|
||||
dynamicTR = dynamicTR + "<td>" + responseobjectarr[i].call_duration + quo + " minutes" + rem + " seconds" + "</td>";
|
||||
}
|
||||
}
|
||||
dynamicTR = dynamicTR + "<td>";
|
||||
recordingurl = responseobjectarr[i].call_recording;
|
||||
if (recordingurl == "") {
|
||||
dynamicTR = dynamicTR + '<i class="fa fa - download" aria-hidden="true">';
|
||||
}
|
||||
else {
|
||||
dynamicTR = dynamicTR + '<a href="' + recordingurl + '"><button class= "btn"><i class="fa fa-download" aria-hidden="true"></i></button >';
|
||||
}
|
||||
dynamicTR = dynamicTR + "</td>";
|
||||
dynamicTR = dynamicTR + "<td>" + responseobjectarr[i].credits_deducted + "</td>";
|
||||
dynamicTR = dynamicTR + "</tr>";
|
||||
$("#logData tbody").append(dynamicTR);
|
||||
index++;
|
||||
count++;
|
||||
}
|
||||
if (count == noofrows) {
|
||||
if (prevstatus == true) {
|
||||
arrfromsearch.pop();
|
||||
}
|
||||
else if (prevstatus == false) {
|
||||
arrfromsearch.push(fromsearch);
|
||||
}
|
||||
break;
|
||||
}
|
||||
if (new Date(responseobjectarr[i].start_time).getTime() >= new Date(fromdatetime).getTime() && new Date(responseobjectarr[i].start_time).getTime() <= new Date(todatetime).getTime()) {
|
||||
let dynamicTR = "<tr>";
|
||||
dynamicTR = dynamicTR + "<td>" + "outgoing " + "<br>" + responseobjectarr[i].start_time + "</td>";
|
||||
dynamicTR = dynamicTR + "<td>" + uuidarr[i] + "</td>";
|
||||
dynamicTR = dynamicTR + "<td>" + "<a ><button class='btn btn-sm btn-call'> Click To Call</button></a>" + "</td>";
|
||||
dynamicTR = dynamicTR + "<td>" + responseobjectarr[i].destination + "</td>";
|
||||
dynamicTR = dynamicTR + "<td>" + responseobjectarr[i].business_call_type + "</td>";
|
||||
recordingurl = responseobjectarr[i].call_recording;
|
||||
if (recordingurl == "") {
|
||||
dynamicTR = dynamicTR + "<td>" + "Missed Call" + "</td>";
|
||||
}
|
||||
else {
|
||||
if (responseobjectarr[i].call_duration < 60) {
|
||||
dynamicTR = dynamicTR + "<td>" + responseobjectarr[i].call_duration + " seconds" + "</td>";
|
||||
}
|
||||
else {
|
||||
var rem = responseobjectarr[i].call_duration % 60;
|
||||
var quo = responseobjectarr[i].call_duration / 60;
|
||||
dynamicTR = dynamicTR + "<td>" + responseobjectarr[i].call_duration + quo + " minutes" + rem + " seconds" + "</td>";
|
||||
}
|
||||
}
|
||||
dynamicTR = dynamicTR + "<td>";
|
||||
recordingurl = responseobjectarr[i].call_recording;
|
||||
if (recordingurl == "") {
|
||||
dynamicTR = dynamicTR + '<i class="fa fa - download" aria-hidden="true">';
|
||||
}
|
||||
else {
|
||||
dynamicTR = dynamicTR + '<a href="' + recordingurl + '"><button class= "btn"><i class="fa fa-download" aria-hidden="true"></i></button >';
|
||||
}
|
||||
dynamicTR = dynamicTR + "</td>";
|
||||
dynamicTR = dynamicTR + "<td>" + responseobjectarr[i].credits_deducted + "</td>";
|
||||
dynamicTR = dynamicTR + "</tr>";
|
||||
$("#logData tbody").append(dynamicTR);
|
||||
index++;
|
||||
count++;
|
||||
}
|
||||
if (prevstatus == true) {
|
||||
fromsearch--;
|
||||
}
|
||||
else if (nxtstatus == true) {
|
||||
fromsearch++;
|
||||
}
|
||||
else {
|
||||
fromsearch++;
|
||||
}
|
||||
if (i == responseobjectarr.length - 1) {
|
||||
arrfromsearch.push(fromsearch);
|
||||
}
|
||||
else if (count == noofrows) {
|
||||
if (prevstatus == false) {
|
||||
arrfromsearch.push(fromsearch);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (new Date(responseobjectarr[i].start_time).getTime() >= new Date(fromdatetime).getTime() && new Date(responseobjectarr[i].start_time).getTime() <= new Date(todatetime).getTime()) {
|
||||
if (searchnumber == responseobjectarr[i].customer_number || responseobjectarr[i].customer_number.includes(searchnumber) || searchnumber == responseobjectarr[i].destination || responseobjectarr[i].destination.includes(searchnumber)) {
|
||||
let dynamicTR = "<tr>";
|
||||
dynamicTR = dynamicTR + "<td>" + "incoming " + "<br>" + responseobjectarr[i].start_time + "</td>";
|
||||
dynamicTR = dynamicTR + "<td>" + responseobjectarr[i].customer_number + "</td>";
|
||||
dynamicTR = dynamicTR + "<td>" + "<a><button class='btn btn-sm btn-call'> Click To Call </button></a>" + "</td>";
|
||||
dynamicTR = dynamicTR + "<td>" + responseobjectarr[i].destination + "</td>";
|
||||
dynamicTR = dynamicTR + "<td>" + responseobjectarr[i].business_call_type + "</td>";
|
||||
recordingurl = responseobjectarr[i].call_recording;
|
||||
if (recordingurl == "") {
|
||||
dynamicTR = dynamicTR + "<td>" + "Missed Call" + "</td>";
|
||||
}
|
||||
else {
|
||||
if (responseobjectarr[i].call_duration < 60) {
|
||||
dynamicTR = dynamicTR + "<td>" + responseobjectarr[i].call_duration + " seconds" + "</td>";
|
||||
}
|
||||
else {
|
||||
var rem = responseobjectarr[i].call_duration % 60;
|
||||
var quo = responseobjectarr[i].call_duration / 60;
|
||||
dynamicTR = dynamicTR + "<td>" + responseobjectarr[i].call_duration + quo + " minutes" + rem + " seconds" + "</td>";
|
||||
}
|
||||
}
|
||||
dynamicTR = dynamicTR + "<td>";
|
||||
recordingurl = responseobjectarr[i].call_recording;
|
||||
if (recordingurl == "") {
|
||||
dynamicTR = dynamicTR + '<i class="fa fa - download" aria-hidden="true">';
|
||||
}
|
||||
else {
|
||||
dynamicTR = dynamicTR + '<a href="' + recordingurl + '"><button class= "btn"><i class="fa fa-download" aria-hidden="true"></i></button >';
|
||||
}
|
||||
dynamicTR = dynamicTR + "</td>";
|
||||
dynamicTR = dynamicTR + "<td>" + responseobjectarr[i].credits_deducted + "</td>";
|
||||
dynamicTR = dynamicTR + "</tr>";
|
||||
$("#logData tbody").append(dynamicTR);
|
||||
index++;
|
||||
count++;
|
||||
}
|
||||
if (i == responseobjectarr.length - 1) {
|
||||
arrfromsearch.push(fromsearch);
|
||||
}
|
||||
else if (count == noofrows) {
|
||||
if (prevstatus == false) {
|
||||
arrfromsearch.push(fromsearch);
|
||||
}
|
||||
break;
|
||||
}
|
||||
if (searchnumber == uuidarr[i] || uuidarr[i].includes(searchnumber) || searchnumber == responseobjectarr[i].destination || responseobjectarr[i].destination.includes(searchnumber)) {
|
||||
let dynamicTR = "<tr>";
|
||||
dynamicTR = dynamicTR + "<td>" + "outgoing " + "<br>" + responseobjectarr[i].start_time + "</td>";
|
||||
dynamicTR = dynamicTR + "<td>" + uuidarr[i] + "</td>";
|
||||
dynamicTR = dynamicTR + "<td>" + "<a href='" + recordingurl + "'><button class='btn btn-sm btn-call'> Click To Call</button></a>" + "</td>";
|
||||
dynamicTR = dynamicTR + "<td>" + responseobjectarr[i].destination + "</td>";
|
||||
dynamicTR = dynamicTR + "<td>" + responseobjectarr[i].business_call_type + "</td>";
|
||||
recordingurl = responseobjectarr[i].call_recording;
|
||||
if (recordingurl == "") {
|
||||
dynamicTR = dynamicTR + "<td>" + "Missed Call" + "</td>";
|
||||
}
|
||||
else {
|
||||
if (responseobjectarr[i].call_duration < 60) {
|
||||
dynamicTR = dynamicTR + "<td>" + responseobjectarr[i].call_duration + " seconds" + "</td>";
|
||||
}
|
||||
else {
|
||||
var rem = responseobjectarr[i].call_duration % 60;
|
||||
var quo = responseobjectarr[i].call_duration / 60;
|
||||
dynamicTR = dynamicTR + "<td>" + responseobjectarr[i].call_duration + quo + " minutes" + rem + " seconds" + "</td>";
|
||||
}
|
||||
}
|
||||
dynamicTR = dynamicTR + "<td>";
|
||||
recordingurl = responseobjectarr[i].call_recording;
|
||||
if (recordingurl == "") {
|
||||
dynamicTR = dynamicTR + '<i class="fa fa - download" aria-hidden="true">';
|
||||
}
|
||||
else {
|
||||
dynamicTR = dynamicTR + '<a href="' + recordingurl + '"><button class= "btn"><i class="fa fa-download" aria-hidden="true"></i></button >';
|
||||
}
|
||||
dynamicTR = dynamicTR + "</td>";
|
||||
dynamicTR = dynamicTR + "<td>" + responseobjectarr[i].credits_deducted + "</td>";
|
||||
dynamicTR = dynamicTR + "</tr>";
|
||||
$("#logData tbody").append(dynamicTR);
|
||||
index++;
|
||||
count++;
|
||||
}
|
||||
if (prevstatus == true) {
|
||||
fromsearch--;
|
||||
}
|
||||
else if (nxtstatus == true) {
|
||||
fromsearch++;
|
||||
}
|
||||
else {
|
||||
fromsearch++;
|
||||
}
|
||||
if (i == responseobjectarr.length - 1) {
|
||||
arrfromsearch.push(fromsearch);
|
||||
}
|
||||
else if (count == noofrows) {
|
||||
if (prevstatus == false) {
|
||||
arrfromsearch.push(fromsearch);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
$('#getcount').text(index - 1);
|
||||
}
|
||||
$('#logData').on('click', '.btn-call', function () {
|
||||
var currentRow = $(this).closest("tr");
|
||||
var currentphoneno = currentRow.find("td:eq(1)").html();
|
||||
var knowlarityno = currentRow.find("td:eq(3)").html();
|
||||
var callerid = "+91xxxxxxxxxx";
|
||||
Bizgaze.Apps.Communications.Ivr.Managers.IvrManager.Instance().Makeacall(knowlarityno, knowlarityno, currentphoneno, callerid).then(function (makecall) {
|
||||
alert(makecall);
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
$('#search').click(function () {
|
||||
$("#nxtbutton").prop('disabled', false);
|
||||
$("#prevbutton").prop('disabled', false);
|
||||
arrfromsearchlength = 0;
|
||||
fromsearch = 0;
|
||||
refindex = 0;
|
||||
prevstatus = false;
|
||||
nxtstatus = false;
|
||||
arrfromsearch = [];
|
||||
arrtosearch = [];
|
||||
count = 0;
|
||||
search();
|
||||
});
|
||||
$("#txtsearchnumber").keydown(function () {
|
||||
$("#nxtbutton").prop('disabled', false);
|
||||
$("#prevbutton").prop('disabled', false);
|
||||
arrfromsearchlength = 0;
|
||||
fromsearch = 0;
|
||||
refindex = 0;
|
||||
prevstatus = false;
|
||||
nxtstatus = false;
|
||||
arrfromsearch = [];
|
||||
arrtosearch = [];
|
||||
search();
|
||||
});
|
||||
$("#txtsearchnumber").keyup(function () {
|
||||
$("#nxtbutton").prop('disabled', false);
|
||||
$("#prevbutton").prop('disabled', false);
|
||||
arrfromsearchlength = 0;
|
||||
fromsearch = 0;
|
||||
refindex = 0;
|
||||
prevstatus = false;
|
||||
nxtstatus = false;
|
||||
arrfromsearch = [];
|
||||
arrtosearch = [];
|
||||
search();
|
||||
});
|
||||
$('#prevbutton').click(function () {
|
||||
$("#nxtbutton").prop('disabled', false);
|
||||
if (refindex != 0) {
|
||||
arrfromsearchlength--;
|
||||
}
|
||||
nxtstatus = false;
|
||||
prevstatus = true;
|
||||
var tempfromdate = $('#fromDate').val();
|
||||
var temptodate = $('#toDate').val();
|
||||
var searchnumber = $('#txtsearchnumber').val();
|
||||
if (tempfromdate == "" && temptodate == "" && searchnumber == "") {
|
||||
if (refindex == 0) {
|
||||
$("#prevbutton").prop('disabled', true);
|
||||
}
|
||||
else if (refindex != 0) {
|
||||
refindex = refindex - 1;
|
||||
arrfromsearch.pop();
|
||||
fromsearch = arrfromsearch[arrfromsearch.length - 2];
|
||||
loadinandout();
|
||||
}
|
||||
}
|
||||
else if (tempfromdate == "" || temptodate == "") {
|
||||
if (searchnumber == "") {
|
||||
if (refindex == 0) {
|
||||
$("#prevbutton").prop('disabled', true);
|
||||
fromsearch = 0;
|
||||
loadinandout();
|
||||
}
|
||||
else if (refindex != 0) {
|
||||
refindex = refindex - 1;
|
||||
arrfromsearch.pop();
|
||||
fromsearch = arrfromsearch[arrfromsearch.length - 2];
|
||||
loadinandout();
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (refindex != 0) {
|
||||
refindex = refindex - 1;
|
||||
arrfromsearch.pop();
|
||||
fromsearch = arrfromsearch[arrfromsearch.length - 2];
|
||||
search();
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (refindex != 0) {
|
||||
refindex = refindex - 1;
|
||||
arrfromsearch.pop();
|
||||
fromsearch = arrfromsearch[arrfromsearch.length - 2];
|
||||
search();
|
||||
}
|
||||
}
|
||||
});
|
||||
$('#nxtbutton').click(function () {
|
||||
$("#prevbutton").prop('disabled', false);
|
||||
count = 0;
|
||||
if (fromsearch < responseobjectarr.length) {
|
||||
$("#nxtbutton").prop('disabled', false);
|
||||
arrfromsearchlength++;
|
||||
prevstatus = false;
|
||||
nxtstatus = true;
|
||||
var tempfromdate = $('#fromDate').val();
|
||||
var temptodate = $('#toDate').val();
|
||||
var searchnumber = $('#txtsearchnumber').val();
|
||||
if (tempfromdate == "" && temptodate == "" && searchnumber == "") {
|
||||
refindex += 1;
|
||||
if (arrtosearch.length == 0) {
|
||||
fromsearch = fromsearch;
|
||||
}
|
||||
else {
|
||||
fromsearch = arrfromsearch[arrfromsearch.length - 1];
|
||||
}
|
||||
loadinandout();
|
||||
}
|
||||
else if (tempfromdate == "" || temptodate == "") {
|
||||
if (searchnumber == "") {
|
||||
if (arrtosearch.length == 0) {
|
||||
fromsearch = fromsearch;
|
||||
}
|
||||
else {
|
||||
fromsearch = arrfromsearch[arrfromsearch.length - 1];
|
||||
}
|
||||
}
|
||||
else {
|
||||
refindex += 1;
|
||||
if (arrtosearch.length == 0) {
|
||||
fromsearch = fromsearch;
|
||||
}
|
||||
else {
|
||||
fromsearch = arrfromsearch[arrfromsearch.length - 1];
|
||||
}
|
||||
search();
|
||||
}
|
||||
}
|
||||
else {
|
||||
refindex += 1;
|
||||
if (arrtosearch.length == 0) {
|
||||
fromsearch = fromsearch;
|
||||
search();
|
||||
}
|
||||
else {
|
||||
fromsearch = arrfromsearch[arrfromsearch.length - 1];
|
||||
search();
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
$("#nxtbutton").prop('disabled', true);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
load(id, containerid, callback) {
|
||||
}
|
||||
static Instance() {
|
||||
if (this.instance === undefined) {
|
||||
this.instance = new Ivr();
|
||||
}
|
||||
return this.instance;
|
||||
}
|
||||
}
|
||||
Components.Ivr = Ivr;
|
||||
})(Components = Ivr_1.Components || (Ivr_1.Components = {}));
|
||||
})(Ivr = Communications.Ivr || (Communications.Ivr = {}));
|
||||
})(Communications = Apps.Communications || (Apps.Communications = {}));
|
||||
})(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
|
||||
})(Bizgaze || (Bizgaze = {}));
|
||||
@@ -0,0 +1,75 @@
|
||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
||||
return new (P || (P = Promise))(function (resolve, reject) {
|
||||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
||||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
||||
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
||||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||||
});
|
||||
};
|
||||
var Bizgaze;
|
||||
(function (Bizgaze) {
|
||||
let Apps;
|
||||
(function (Apps) {
|
||||
let Communications;
|
||||
(function (Communications) {
|
||||
let Ivr;
|
||||
(function (Ivr) {
|
||||
let Managers;
|
||||
(function (Managers) {
|
||||
class IvrManager extends Unibase.Platform.Core.BaseManager {
|
||||
Makeacall(knumber, agentnumber, customernumber, callerid) {
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
var obj = {
|
||||
"k_number": knumber,
|
||||
"agent_number": agentnumber,
|
||||
"customer_number": customernumber,
|
||||
"caller_id": callerid
|
||||
};
|
||||
const url = 'apis/v4/bizgaze/integrations/ivr/makeacall';
|
||||
return yield this.dataHelper().postAsync(url, obj).then(function (response) {
|
||||
if (response.result != null) {
|
||||
response.result = JSON.parse(response.result);
|
||||
}
|
||||
return response;
|
||||
});
|
||||
});
|
||||
}
|
||||
getcalllogs() {
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
debugger;
|
||||
const url = 'apis/v4/bizgaze/integrations/ivr/getcalllog/call_type/1';
|
||||
return yield this.dataHelper().getAsync(url).then(function (response) {
|
||||
var obj;
|
||||
if (response.result != null) {
|
||||
obj = JSON.parse(response.result);
|
||||
}
|
||||
return obj;
|
||||
});
|
||||
});
|
||||
}
|
||||
getdetailedcalllogs(uuid) {
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
let arr = [];
|
||||
var obj;
|
||||
const url = 'apis/v4/bizgaze/integrations/ivr/getdetailedcalllog/uuid/' + uuid;
|
||||
return yield this.dataHelper().getAsync(url).then(function (responseuuid) {
|
||||
if (responseuuid.result != null) {
|
||||
obj = JSON.parse(responseuuid.result);
|
||||
}
|
||||
return obj;
|
||||
});
|
||||
});
|
||||
}
|
||||
static Instance() {
|
||||
if (this._instance === undefined)
|
||||
this._instance = new IvrManager();
|
||||
return this._instance;
|
||||
}
|
||||
}
|
||||
Managers.IvrManager = IvrManager;
|
||||
})(Managers = Ivr.Managers || (Ivr.Managers = {}));
|
||||
})(Ivr = Communications.Ivr || (Communications.Ivr = {}));
|
||||
})(Communications = Apps.Communications || (Apps.Communications = {}));
|
||||
})(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
|
||||
})(Bizgaze || (Bizgaze = {}));
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"ivrmanager.js","sourceRoot":"","sources":["ivrmanager.ts"],"names":[],"mappings":";;;;;;;;;AAAA,IAAU,OAAO,CAmEhB;AAnED,WAAU,OAAO;IACb,IAAiB,IAAI,CAiEpB;IAjED,WAAiB,IAAI;QACjB,IAAiB,cAAc,CA+D9B;QA/DD,WAAiB,cAAc;YAC3B,IAAiB,GAAG,CA6DnB;YA7DD,WAAiB,GAAG;gBAChB,IAAiB,QAAQ,CA2DxB;gBA3DD,WAAiB,QAAQ;oBACrB,MAAa,UAAW,SAAQ,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW;wBAIvD,SAAS,CAAC,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ;;gCAE1D,IAAI,GAAG,GAAG;oCACN,UAAU,EAAE,OAAO;oCACnB,cAAc,EAAE,WAAW;oCAC3B,iBAAiB,EAAE,cAAc;oCACjC,WAAW,EAAE,QAAQ;iCACxB,CAAA;gCACD,MAAM,GAAG,GAAG,4CAA4C,CAAC;gCACzD,OAAO,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,QAAQ;oCAEtE,IAAI,QAAQ,CAAC,MAAM,IAAI,IAAI,EAAE;wCACzB,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;qCACjD;oCACD,OAAO,QAAQ,CAAC;gCACpB,CAAC,CAAC,CAAC;4BACP,CAAC;yBAAA;wBAGK,WAAW;;gCACb,QAAQ,CAAC;gCACT,MAAM,GAAG,GAAG,yDAAyD,CAAC;gCACtE,OAAO,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,QAAQ;oCAChE,IAAI,GAAG,CAAC;oCACR,IAAI,QAAQ,CAAC,MAAM,IAAI,IAAI,EAAE;wCACzB,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;qCACrC;oCACD,OAAO,GAAG,CAAC;gCAEf,CAAC,CAAC,CAAC;4BACP,CAAC;yBAAA;wBACK,mBAAmB,CAAC,IAAI;;gCAC1B,IAAI,GAAG,GAAG,EAAE,CAAC;gCACb,IAAI,GAAG,CAAC;gCAER,MAAM,GAAG,GAAG,2DAA2D,GAAG,IAAI,CAAC;gCAC/E,OAAO,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,YAAY;oCAEpE,IAAI,YAAY,CAAC,MAAM,IAAI,IAAI,EAAE;wCAC7B,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;qCAEzC;oCACD,OAAO,GAAG,CAAC;gCACf,CAAC,CAAC,CAAC;4BAEP,CAAC;yBAAA;wBAGD,MAAM,CAAC,QAAQ;4BACX,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;gCAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,UAAU,EAAE,CAAC;4BACtC,OAAO,IAAI,CAAC,SAAS,CAAC;wBAC1B,CAAC;qBACJ;oBAzDY,mBAAU,aAyDtB,CAAA;gBACL,CAAC,EA3DgB,QAAQ,GAAR,YAAQ,KAAR,YAAQ,QA2DxB;YACL,CAAC,EA7DgB,GAAG,GAAH,kBAAG,KAAH,kBAAG,QA6DnB;QACL,CAAC,EA/DgB,cAAc,GAAd,mBAAc,KAAd,mBAAc,QA+D9B;IACL,CAAC,EAjEgB,IAAI,GAAJ,YAAI,KAAJ,YAAI,QAiEpB;AACL,CAAC,EAnES,OAAO,KAAP,OAAO,QAmEhB"}
|
||||
Reference in New Issue
Block a user