;(function($){ $( document ).on( 'change', '#report_type,#report_period,#input_based', function(){ var url = quads_localize_data.rest_url + 'quads-adsense/get_report_adsense'; var report_type = $('#report_type').val(); var report_period = $('#report_period').val(); var input_based = (typeof $('#input_based').val() !== "undefined")?$('#input_based').val():''; var pub_id = $('#pub_id').val(); var data ={account_id:pub_id,report_type:report_type,report_period:report_period,input_based:input_based}; if($.trim(report_type) !='' & $.trim(report_period) !='' ) { $('#quads_reports_canvas').html('
'); $.ajax({ url: url, type: 'post', data: JSON.stringify(data), headers: { 'Accept': 'application/json', 'Content-Type': 'application/json', 'X-WP-Nonce': quads_localize_data.nonce, }, success: function (response, status, XHR) { quads_display_report(response); }, error: function (request, status, error) { }, }); }else{ $('#quads_reports_canvas').html('(' + response['raw']['errors'][0]['reason'] + ')' );
}
} else if ( response['raw']['message'] ) {
INSTANCE.frame.find( '.error-message' ).text( response['raw']['errors'][0]['message'] );
}
}
},
error:function(request, status, error){
$( '#gadsense-loading-overlay' ).css( 'display', 'none' );
},
});
},
// Switch between frames in the modal container.
switchContent: function( content ) {
if ( this.modal.find( '.gadsense-modal-content-inner[data-content="' + content + '"]' ).length ) {
this.modal.find( '.gadsense-modal-content-inner' ).css( 'display', 'none' );
this.frame = this.modal.find( '.gadsense-modal-content-inner[data-content="' + content + '"]' );
this.frame.css( 'display', 'block' );
$( '.gadsense-overlay' ).css( 'display', 'none' );
}
},
// Show the modal frame with a given content.
// Hide the modal frame
hide: function(){
this.switchContent( 'confirm-code' );
this.modal.css( 'display', 'none' );
},
};
window.quadsMapiConnectClass = quadsMapiConnectClass;
// Shortcut function.
window.quadsMapiConnect = function( content, options ) {
if ( 'undefined' == typeof content || ! content ) {
content = 'confirm-code';
}
if ( 'undefined' == typeof options ) {
options = {};
}
if ( null === INSTANCE ) {
INSTANCE = new quadsMapiConnectClass( content, options );
} else {
INSTANCE.show( content, options );
}
}
$(function(){
// Move the the pop-up outside of any form.
$( '#wpwrap' ).append( $( '#gadsense-modal' ) );
});
})(window.jQuery);
function quads_display_report(response){
var report_type = document.getElementById('report_type').value;
if(report_type == 'top_device_type') {
var data_length = response.length;
var datasets =[];
var dates_array = [];
var desktop_total =0;
var tablet_total =0;
var mobile_total =0;
for (index = 0; index < data_length; ++index) {
if(!dates_array.includes(response[index][0]) ) {
dates_array.push(response[index][0]);
}
if (response[index][1] == 'Desktop') {
desktop_total += parseFloat(response[index][2]);
} else if (response[index][1] == 'Tablet') {
tablet_total += parseFloat(response[index][2]);
} else if (response[index][1] == 'HighEndMobile') {
mobile_total += parseFloat(response[index][2]);
}
}
datasets= [{
data: [
desktop_total.toFixed(2),tablet_total.toFixed(2),mobile_total.toFixed(2)
],
backgroundColor: [
'red',
'green',
'blue',
],
label: 'Top Earning Device type'
}];
var config = {
type: 'pie',
data: {
datasets: datasets,
labels: [
'Desktop',
'Tablet',
'Mobile',
]
},
options: {
legend: {
position: 'bottom',
},
hover: {
mode: 'nearest',
intersect: true
},
responsive: true
}
};
}else {
var data_length = response.length;
var dates_array = [];
var data = [];
for (index = 0; index < data_length; ++index) {
var date = new Date((response[index][0]));
var month = date.toLocaleString('default', { month: 'short' });
var New_date_formate = date.getDate()+' '+month+' '+date.getUTCFullYear();
if (!dates_array.includes(New_date_formate)) {
dates_array.push(New_date_formate);
}
data.push(response[index][1]);
}
datasets = [{
label: 'Earnings',
backgroundColor: 'red',
borderColor: 'red',
data: data,
fill: false,
}];
var config = {
type: 'line',
data: {
labels: dates_array,
datasets: datasets
},
options: {
legend: {
position: 'bottom',
},
hover: {
mode: 'nearest',
intersect: true
},
responsive: true,
tooltips: {
mode: 'index',
intersect: false,
},
plugins: {
title: {
display: true,
text: 'Chart.js Line Chart'
},
},
scales: {
xAxes: {
display: true,
scaleLabel: {
display: true,
labelString: 'Month'
}
},
yAxes: {
display: true,
scaleLabel: {
display: true,
labelString: 'Value'
}
}
}
}
};
}
quadsDrawChart(config);
}
function quadsDrawChart(config){
if(document.getElementById("quads_canvas"))
document.getElementById("quads_canvas").outerHTML = "";
var new_canvas = "