;(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('

Please select Report type and Duration

'); } } ); $( document ).on( 'click', '#quads-connect-adsense', function(){ if ( $( this ).hasClass( 'disabled_adsense_link' ) ) return; if ( 'undefined' != typeof window.quadsMapiConnect ) { window.quadsMapiConnect(); } } ); // Unique instance of "quadsMapiConnectClass" var INSTANCE = null; var quadsMapiConnectClass = function( content, options ) { this.options = {}; this.AUTH_WINDOW = null; this.modal = $( '#gadsense-modal' ); this.frame = null; if ( 'undefined' == typeof content || ! content ) { content = 'confirm-code'; } this.setOptions( options ); this.init(); this.show( content ); return this; }; quadsMapiConnectClass.prototype = { constructor: quadsMapiConnectClass, // Set options, for re-use of existing instance for a different purpose. setOptions: function( options ) { var defaultOptions = { autoads: false, onSuccess: false, onError: false, }; if ( 'undefined' == typeof options ) { options = defaultOptions; } this.options = $.extend( {}, defaultOptions, options); }, // Tasks to do after a successful connection. exit: function(){ if ( this.options.onSuccess ) { if ( 'function' == typeof this.options.onSuccess ) { this.options.onSuccess( this ); } } else { window.location.reload(); } }, // Initialization - mostly binding events. init: function(){ var that = this; // Close the modal and hide errors. $( document ).on( 'click', '#gadsense-modal .dashicons-dismiss', function(){ $( '#mapi-code' ).val( '' ); $( '#gadsense-modal, #gadsense-modal-error' ).css( 'display', 'none' ); } ); // Confirm code for account connection. $( document ).on( 'click', '#quads-mapi-confirm-code', function(){ var code = $( '#mapi-code' ).val(); if ( '' == code ) return; $( '.gadsense-overlay' ).css( 'display', 'block' ); $( '#gadsense-modal-error' ).hide(); var data = { action: 'quads_gadsense_mapi_confirm_code', code: code, nonce: quads.nonce, }; $.ajax({ url: ajaxurl, type: 'post', data: data, success:function(response, status, XHR){ if ( null !== that.AUTH_WINDOW ) { that.AUTH_WINDOW.close(); } $( '#mapi-code' ).val( '' ); if ( response.status && true === response.status && response['token_data'] ) { that.getAccountDetails( response['token_data'] ); } else { /** * Connection error handling. */ $( '.gadsense-overlay' ).css( 'display', 'none' ); $( '#mapi-code' ).val( '' ); $( '#mapi-autoads' ).prop( 'checked', false ); $( '#gadsense-modal-content-inner .dashicons-dismiss' ).trigger( 'click' ); if ($.parseJSON(response.response_body).error === 'invalid_grant') { $('#gadsense-modal-error').show(); $('#gadsense-reopen-connect').one('click', function (event) { event.preventDefault(); $('#gadsense-modal-error').hide(); that.show(); }); } } }, error:function(request, status, error){ $( '#gadsense-loading-overlay' ).css( 'display', 'none' ); }, }); } ); // Account selection $( document ).on( 'click', '.gadsense-modal-content-inner[data-content="account-selector"] button', function( ev ) { var adsenseID = $( '#mapi-select-account' ).val(); var tokenData = false; var tokenString = $( '.gadsense-modal-content-inner[data-content="account-selector"] input.token-data' ).val(); var details = false; var detailsString = $( '.gadsense-modal-content-inner[data-content="account-selector"] input.accounts-details' ).val(); try { tokenData = JSON.parse( tokenString ); } catch ( Ex ) { console.error( 'Bad token data : ' + tokenString ); } try { details = JSON.parse( detailsString ); } catch ( Ex ) { console.error( 'Bad account details : ' + detailsString ); } if ( details && JSON ) { $( '.gadsense-overlay' ).css( 'display', 'block' ); var data = { action: 'quads_gadsense_mapi_select_account', nonce: quads.nonce, account : details[ adsenseID ], 'token_data': tokenData, }; if ( $( '#mapi-autoads' ).prop( 'checked' ) ) { data['autoads'] = 1; } $.ajax({ url: ajaxurl, type: 'post', data: data, success:function(response, status, XHR){ if ( response.status && true === response.status ) { INSTANCE.exit(); } else { console.log( response ); } }, error:function(request, status, error){ $( '#gadsense-loading-overlay' ).css( 'display', 'none' ); }, }); } } ); }, show: function( content ) { if ( 'undefined' == typeof content ) { content = 'confirm-code'; } this.switchContent( content ); if ( 'confirm-code' == content ) { // Open Google authentication in a child window. this.modal.css( 'display', 'block' ); var oW = $( window ).width(), oH = $( window ).height(), w = Math.min( oW, oH ) * 0.8, h = Math.min( oW, oH ) * 0.8, l = (oW - w) / 2, t = (oH - h) / 2, args = 'resize=1,titlebar=1,width=' + w + ',height=' + h + ',left=' + l + ',top=' + t; this.AUTH_WINDOW = window.open( quads_adsense.auth_url, 'quadsOAuth2', args ); } }, // Get account info based on a newly obtained token. getAccountDetails: function( tokenData ){ var data = { action: 'quads_gadsense_mapi_get_details', nonce: quads.nonce, }; data['token_data'] = tokenData; if ( $( '#mapi-autoads' ).prop( 'checked' ) ) { data['autoads'] = 1; } $.ajax({ url: ajaxurl, type: 'post', data: data, success:function(response, status, XHR){ if ( response.status && true === response.status ) { if ( response['adsense_id'] ) { INSTANCE.exit(); } else if ( response['token_data'] ) { INSTANCE.switchContent( 'account-selector' ); INSTANCE.frame.find( 'select' ).html( response.html ); INSTANCE.frame.find( 'input.token-data' ).val( JSON.stringify( response['token_data'] ) ); INSTANCE.frame.find( 'input.accounts-details' ).val( JSON.stringify( response['details'] ) ); } else { INSTANCE.switchContent( 'error' ); INSTANCE.frame.find( '.error-message' ).text( JSON.stringify( response ) ); } } else { if ( response['raw']['errors'][0]['message'] ) { INSTANCE.switchContent( 'error' ); INSTANCE.frame.find( '.error-message' ).text( response['raw']['errors'][0]['message'] ); if ( 'undefined' != typeof quads.connectErrorMsg[response['raw']['errors'][0]['reason']] ) { INSTANCE.frame.find( '.error-description' ).html( quads.connectErrorMsg[response['raw']['errors'][0]['reason']] ); } else { INSTANCE.frame.find( '.error-message' ).append( ' (' + 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 = "" + " "; document.getElementById('quads_reports_canvas').innerHTML = new_canvas; if(window.myPieChart ) { window.myPieChart.update(); } // Get the context of the canvas element we want to select var ctx = document.getElementById('quads_canvas'); // ctx.clearRect(0, 0, canvas.width, canvas.height); window.myPieChart = new Chart(ctx, config); }import countryTranslations from "./countries.js"; import interfaceTranslations from "./interface.js"; export { countryTranslations, interfaceTranslations }; const allTranslations = { ...countryTranslations, ...interfaceTranslations }; export default allTranslations; .redux-container-datetime .redux-datetime-container .input_wrapper, .redux-container-datetime .redux-datetime-container .single_wrapper { display: block; position: relative; margin: 0 4px 0 5px; padding: 0; width: 25%; max-width: 25%; min-width: 70px; float: left; clear: none; height: 57px; -webkit-box-sizing: border-box; box-sizing: border-box; vertical-align: baseline; } .redux-container-datetime .redux-datetime-container .single_wrapper { width: 50% !important; max-width: 50% !important; } .redux-container-datetime .redux-datetime-container label { display: block; position: relative; font-size: 12px !important; text-align: left; color: #999999; margin: 4px 0 2px 0 !important; cursor: default; } .redux-container-datetime .redux-datetime-container .redux-date-picker { width: 100%; } .redux-container-datetime .redux-datetime-container .redux-time-picker { width: 100%; } .ui-tpicker-grid-label { background: none; border: none; margin: 0; padding: 0; } .ui-timepicker-div .ui-widget-header { margin-bottom: 8px; } .ui-timepicker-div dl { text-align: left; } .ui-timepicker-div dl dt { float: left; clear: left; padding: 0 0 0 5px; } .ui-timepicker-div dl dd { margin: 0 10px 10px 40%; } .ui-timepicker-div td { font-size: 90%; } .ui-timepicker-div .ui_tpicker_unit_hide { display: none; } .ui-timepicker-div .ui_tpicker_time .ui_tpicker_time_input { background: none; color: inherit; border: none; outline: none; border-bottom: solid 1px #555; width: 95%; } .ui-timepicker-div .ui_tpicker_time .ui_tpicker_time_input:focus { border-bottom-color: #aaa; } .ui-timepicker-div.ui-timepicker-oneLine { padding-right: 2px; } .ui-timepicker-div.ui-timepicker-oneLine .ui_tpicker_time, .ui-timepicker-div.ui-timepicker-oneLine dt { display: none; } .ui-timepicker-div.ui-timepicker-oneLine .ui_tpicker_time_label { display: block; padding-top: 2px; } .ui-timepicker-div.ui-timepicker-oneLine dl { text-align: right; } .ui-timepicker-div.ui-timepicker-oneLine dl dd, .ui-timepicker-div.ui-timepicker-oneLine dl dd > div { display: inline-block; margin: 0; } .ui-timepicker-div.ui-timepicker-oneLine dl dd.ui_tpicker_millisec:before, .ui-timepicker-div.ui-timepicker-oneLine dl dd.ui_tpicker_microsec:before { content: "."; display: inline-block; } .ui-timepicker-div.ui-timepicker-oneLine dd.ui_tpicker_minute:before, .ui-timepicker-div.ui-timepicker-oneLine dl dd.ui_tpicker_second:before { content: ":"; display: inline-block; } .ui-timepicker-div.ui-timepicker-oneLine .ui_tpicker_unit_hide, .ui-timepicker-div.ui-timepicker-oneLine .ui_tpicker_unit_hide:before { display: none; } .ui-timepicker-div .ui-widget-header { margin-bottom: 8px; } .ui-timepicker-div .ui-slider { position: relative; text-align: left; } .ui-timepicker-div .ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; -ms-touch-action: none; touch-action: none; } .ui-timepicker-div .ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: 0.7em; display: block; border: 0; background-position: 0 0; } .ui-timepicker-div .ui-slider.ui-state-disabled .ui-slider-handle, .ui-timepicker-div .ui-slider.ui-state-disabled .ui-slider-range { -webkit-filter: inherit; filter: inherit; } .ui-timepicker-div .ui-slider-horizontal { height: 0.8em; } .ui-timepicker-div .ui-slider-horizontal .ui-slider-handle { top: -0.3em; margin-left: -0.6em; } .ui-timepicker-div .ui-slider-horizontal .ui-slider-handle { top: -0.3em; margin-left: -0.6em; } .ui-timepicker-div .ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; } .ui-timepicker-div .ui-slider-horizontal .ui-slider-range-min { left: 0; } .ui-timepicker-div .ui-slider-horizontal .ui-slider-range-max { right: 0; } .ui-timepicker-div .ui-slider-vertical { width: 0.8em; height: 100px; } .ui-timepicker-div .ui-slider-vertical .ui-slider-handle { left: -0.3em; margin-left: 0; margin-bottom: -0.6em; } .ui-timepicker-div .ui-slider-vertical .ui-slider-range { left: 0; width: 100%; } .ui-timepicker-div .ui-slider-vertical .ui-slider-range-min { bottom: 0; } .ui-timepicker-div .ui-slider-vertical .ui-slider-range-max { top: 0; } .ui-timepicker-rtl { direction: rtl; } .ui-timepicker-rtl dl { text-align: right; padding: 0 5px 0 0; } .ui-timepicker-rtl dl dt { float: right; clear: right; } .ui-timepicker-rtl dl dd { margin: 0 40% 10px 10px; } /*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJlZHV4LWRhdGV0aW1lLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRVE7QUFBQTtDQUVJO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTs7QUFHSjtDQUNJO0NBQ0E7O0FBR0o7Q0FDRTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTs7QUFHRjtDQUNJOztBQUdKO0NBQ0k7OztBQU1aO0NBQ0k7Q0FDQTtDQUNBO0NBQ0E7OztBQUlBO0NBQ0k7O0FBR0o7Q0FDSTs7QUFFQTtDQUNJO0NBQ0E7Q0FDQTs7QUFHSjtDQUNJOztBQUlSO0NBQ0k7O0FBR0o7Q0FDSTs7QUFHSjtDQUNHO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTs7QUFFQTtDQUNJOztBQUlQO0NBQ0k7O0FBRUE7QUFBQTtDQUVJOztBQUdKO0NBQ0k7Q0FBZ0I7O0FBR3BCO0NBQ0k7O0FBRUE7QUFBQTtDQUVJO0NBQ0E7O0FBR0o7QUFBQTtDQUVJO0NBQ0E7O0FBS1I7QUFBQTtDQUVJO0NBQ0E7O0FBR0o7QUFBQTtDQUVJOztBQUlSO0NBQ0k7O0FBR0E7Q0FDSTtDQUNBOztBQUVBO0NBQ0k7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7O0FBR0o7Q0FDSTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7O0FBR0o7Q0FFSTs7QUFJUjtDQUNJOztBQUVBO0NBQ0k7Q0FDQTs7QUFHSjtDQUNJO0NBQ0E7O0FBR0o7Q0FDSTtDQUNBOztBQUdKO0NBQ0k7O0FBR0o7Q0FDSTs7QUFJWjtDQUNJO0NBQ0E7O0FBRUE7Q0FDSTtDQUNBO0NBQ0E7O0FBR0o7Q0FDSTtDQUNBOztBQUdKO0NBQ0k7O0FBR0o7Q0FDSTs7O0FBS1o7Q0FDSTs7QUFFQTtDQUNJO0NBQ0E7O0FBRUE7Q0FDSTtDQUNBOztBQUdKO0NBQ0kiLCJmaWxlIjoicmVkdXgtZGF0ZXRpbWUuY3NzIn0= */ /*# sourceMappingURL=redux-datetime.css.map */ Foxtale – CompareInsight https://compareinsight.com Your Shortcut to the Best Deals. Sun, 16 Aug 2026 10:11:07 +0000 en-US hourly 1 https://compareinsight.com/wp-content/uploads/2025/04/Favicon-100x100.png Foxtale – CompareInsight https://compareinsight.com 32 32 foxtale https://compareinsight.com/foxtale/ https://compareinsight.com/foxtale/#respond Mon, 30 Jun 2025 12:26:24 +0000 https://compareinsight.com/foxtale/

Foxtale, (Paperback)

$14.99
in stock
Walmart.com
Earth, 2119. There's no longer any poverty, crime, or war, but the planet-on the brink of its sixth mass extinction-has become a barely habitable wasteland. Enter Tabby Fox, a teenager who lives alone with her dog and leads a monotonous existence: work, eat, shower, sleep, repeat. Then, one day,...

Foxtales 9 (Paperback)

$5.99
in stock
Walmart.com
Foxtales is the annual publication of the Fox Valley Writers group, based in North Aurora, Illinois. In this ninth annual volume, five of our members present a diverse body of poetry, memoir, and fiction as we celebrate the creative process and the spirit of artistic community.

Foxtales: Behind the Scenes at Fox Software

$15.75
in stock
Walmart.com
Much has been written about the battles that rage between software companies over market share. FoxTales is the story of one such battle, told from the perspective of a foot soldier. My perspective. When I started with Fox Software, it was a company of barely thirty people. It shared space in a...

Fox Tales Anthology (Paperback)

$9.99
in stock
Walmart.com
Mark of the Fox Can an enchanted for and a scarred prince follow the predestined course the Druids have set for them? They fight against the constraints of royalty, but in the end, the falconer becomes a willing regent and the fox a more than willing wife. The Fox and the Swan To save her family...

Fox Tales (Paperback)

$21.99
in stock
Walmart.com
Fox Tales is a story about five young members of a fox family. They are active and playful while enjoying the summer sun. Like any children, they grow up and, all too soon, must learn to live the great adventure that is the story of their lives.

The Gym Club A Fox Tale: A New Member Story, Book 2, (Paperback)

$21.50
in stock
Walmart.com
Tragedy strikes the Rocky Mount Gymnastics family, sending Mia Allen and Niki Fowler, the first Gym Club members, into a long depression and sending their gymnastics season into a tailspin. After the season, Mia and Niki stumble across Catie, a gymnastic diamond in the rough. Once on the team,...

Long Rope Chain Loket Frame Vintage Fairy Tale Le Petit Prince with Fox Pendant Necklace For Children Girls Kids Gifts

$3.39 $3.99
in stock
Aliexpress

The Fox Tale T-Shirt anime stuff shirts graphic tee korean fashion graphic tee shirt heavy weight t shirts for men

$13.59 $27.17
out of stock
Aliexpress

Fairy Tale Alice in Wonderland Cute Animals Fox Bunny Owl Art Decorative Pillow Children Kids Room Decoration Sofa Cushion Cover

$6.88
in stock
Aliexpress

The Little Prince Fox Polyester Sunshade Windscreen Amine Classic Fairy Tale Foils Car Window Windscreen Cover Heat Reflector

$6.16 $12.32
out of stock
Aliexpress

Little Prince Fox Necklace for Kids Fairy Tale Charm Pendant Best Friends Friendship Jewelry Gifts

$2.24
out of stock
Aliexpress

New Costume Suzuran Cosplay Game アークナイツ Spring Ode Cute Fairy Tales Nine tailed Fox Dress Female suit A

$118.82 $122.50
out of stock
Aliexpress

The Big Bad Fox And Other Tales Anmie Sticker Film Skin Cover For Credit Card Debit Bank Card Front

$5.38 $10.97
out of stock
Aliexpress

New Fairy Tale Style Brooch Fantasy Little Prince Fox Metal Badge Clothing Accessories Collar Needle Versatile Accessories

$2.02
out of stock
Aliexpress

Quality Beautiful Counted Cross Stitch Kits Embroidered Home Decoration Fairy Tales-Fox Girl 27-29 Cross Stitch Sets

$9.89 $10.99
out of stock
Aliexpress

]]>
https://compareinsight.com/foxtale/feed/ 0