Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93

Warning: Undefined array key "page_file_edit_line" in /home/sportsfever/public_html/filemanger/edit_text_line.php on line 32
/home/sportsfe.../httpdocs/clone/wp-conte.../plugins/advanced.../modules/gadsense/admin/assets/js
File: adsense.js
makeReadOnly() {
[500] Fix | Delete
jQuery( '#unit-type option:not(:selected)' ).prop( 'disabled', true );
[501] Fix | Delete
}
[502] Fix | Delete
[503] Fix | Delete
/**
[504] Fix | Delete
* Legacy method - removes readonly from relevant inputs (original name getSlotAndType_jq)
[505] Fix | Delete
*/
[506] Fix | Delete
undoReadOnly() {
[507] Fix | Delete
jQuery( '#unit-code,#ad-layout,#ad-layout-key,[name="advanced_ad[width]"],[name="advanced_ad[height]"]' ).prop( 'readonly', false );
[508] Fix | Delete
jQuery( '#unit-type option:not(:selected)' ).prop( 'disabled', false );
[509] Fix | Delete
}
[510] Fix | Delete
[511] Fix | Delete
getCustomInputs() {
[512] Fix | Delete
const $div1 = jQuery( '#unit-code' ).closest( 'div' );
[513] Fix | Delete
const $label1 = $div1.prev();
[514] Fix | Delete
const $hr1 = $div1.next();
[515] Fix | Delete
const $label2 = $hr1.next();
[516] Fix | Delete
const $div2 = $label2.next();
[517] Fix | Delete
const $layoutKey = jQuery( '#ad-layout-key' ).closest( 'div' );
[518] Fix | Delete
const $layoutKeyLabel = $layoutKey.prev( '#advads-adsense-layout-key' );
[519] Fix | Delete
[520] Fix | Delete
return $div1.add( $label1 ).add( $hr1 ).add( $label2 ).add( $div2 ).add( $layoutKey ).add( $layoutKeyLabel );
[521] Fix | Delete
}
[522] Fix | Delete
[523] Fix | Delete
onBlur() {
[524] Fix | Delete
[525] Fix | Delete
}
[526] Fix | Delete
[527] Fix | Delete
onSelected() {
[528] Fix | Delete
// Handle a click from the "Switch to AdSense ad" button.
[529] Fix | Delete
if ( AdvancedAdsAdmin.AdImporter.adsenseCode ) {
[530] Fix | Delete
this.parseCodeBtnClicked = true;
[531] Fix | Delete
const parseResult = this.parseAdContent( AdvancedAdsAdmin.AdImporter.adsenseCode );
[532] Fix | Delete
AdvancedAdsAdmin.AdImporter.adsenseCode = null;
[533] Fix | Delete
this.handleParseResult( parseResult );
[534] Fix | Delete
} else {
[535] Fix | Delete
// When you are not connected to adsense, or if the ad was edited manually open the manual setup view.
[536] Fix | Delete
let switchToManualSetup = ! this.vars.connected;
[537] Fix | Delete
if ( ! switchToManualSetup ) {
[538] Fix | Delete
const parsedAd = this.parseAdContentFailsafe( this.codes[this.getSelectedId()] );
[539] Fix | Delete
if ( parsedAd ) {
[540] Fix | Delete
// We need to check if the type of the ad is different from the default. this marks a manually setup ad.
[541] Fix | Delete
if ( parsedAd.type !== jQuery( '#unit-type' ).val() ) {
[542] Fix | Delete
// This ad was manually setup. don't open the selector, but switch to manual select.
[543] Fix | Delete
switchToManualSetup = true;
[544] Fix | Delete
[545] Fix | Delete
}
[546] Fix | Delete
}
[547] Fix | Delete
}
[548] Fix | Delete
if ( switchToManualSetup ) {
[549] Fix | Delete
AdvancedAdsAdmin.AdImporter.manualSetup();
[550] Fix | Delete
} else if ( AdvancedAdsAdmin.AdImporter.highlightSelectedRowInExternalAdsList() || ! this.getSelectedId() ) {
[551] Fix | Delete
AdvancedAdsAdmin.AdImporter.openExternalAdsList();
[552] Fix | Delete
}
[553] Fix | Delete
}
[554] Fix | Delete
[555] Fix | Delete
}
[556] Fix | Delete
[557] Fix | Delete
onDomReady() {
[558] Fix | Delete
const self = this;
[559] Fix | Delete
jQuery( document ).on( 'click', '.advads-adsense-close-code', function ( ev ) {
[560] Fix | Delete
ev.preventDefault();
[561] Fix | Delete
self.onSelected();
[562] Fix | Delete
} );
[563] Fix | Delete
[564] Fix | Delete
jQuery( document ).on( 'click', '.advads-adsense-submit-code', function ( ev ) {
[565] Fix | Delete
ev.preventDefault();
[566] Fix | Delete
self.parseCodeBtnClicked = true;
[567] Fix | Delete
const rawContent = jQuery( '.advads-adsense-content' ).val();
[568] Fix | Delete
const parseResult = self.parseAdContent( rawContent );
[569] Fix | Delete
self.handleParseResult( parseResult );
[570] Fix | Delete
if ( AdvancedAdsAdmin.AdImporter.highlightSelectedRowInExternalAdsList() ) {
[571] Fix | Delete
AdvancedAdsAdmin.AdImporter.openExternalAdsList();
[572] Fix | Delete
self.preventCloseAdSelector = true;
[573] Fix | Delete
[574] Fix | Delete
// save the manually added ad code to the AdSense settings
[575] Fix | Delete
wp.ajax.post( 'advads-mapi-save-manual-code', {
[576] Fix | Delete
raw_code: encodeURIComponent( rawContent ),
[577] Fix | Delete
parsed_code: parseResult,
[578] Fix | Delete
nonce: AdsenseMAPI.nonce
[579] Fix | Delete
} )
[580] Fix | Delete
.fail( function ( r ) {
[581] Fix | Delete
const $notice = jQuery( '<div>' ).addClass( 'notice notice-error' ).html( jQuery( '<p>' ).text( r.responseJSON.data.message ) );
[582] Fix | Delete
jQuery( '#post' ).before( $notice );
[583] Fix | Delete
jQuery( 'body html' ).animate(
[584] Fix | Delete
{
[585] Fix | Delete
scrollTop: $notice.offset().top
[586] Fix | Delete
},
[587] Fix | Delete
200
[588] Fix | Delete
);
[589] Fix | Delete
} );
[590] Fix | Delete
} else {
[591] Fix | Delete
// No adsense ad with this slot id was found.
[592] Fix | Delete
// Switches to manual ad setup view.
[593] Fix | Delete
self.preventCloseAdSelector = false;
[594] Fix | Delete
AdvancedAdsAdmin.AdImporter.manualSetup();
[595] Fix | Delete
}
[596] Fix | Delete
} );
[597] Fix | Delete
[598] Fix | Delete
jQuery( document ).on( 'gadsenseUnitChanged', function () {
[599] Fix | Delete
const $row = jQuery( 'tr[data-slotid$="' + jQuery( '#unit-code' ).val() + '"]' );
[600] Fix | Delete
let type = window.adsenseAdvancedAdsJS.ad_types.display;
[601] Fix | Delete
[602] Fix | Delete
switch ( jQuery( '#unit-type' ).val() ) {
[603] Fix | Delete
case 'matched-content':
[604] Fix | Delete
type = window.adsenseAdvancedAdsJS.ad_types.matched_content;
[605] Fix | Delete
break;
[606] Fix | Delete
case 'link':
[607] Fix | Delete
case 'link-responsive':
[608] Fix | Delete
type = window.adsenseAdvancedAdsJS.ad_types.link;
[609] Fix | Delete
break;
[610] Fix | Delete
case 'in-article':
[611] Fix | Delete
type = window.adsenseAdvancedAdsJS.ad_types.in_article;
[612] Fix | Delete
break;
[613] Fix | Delete
case 'in-feed':
[614] Fix | Delete
type = window.adsenseAdvancedAdsJS.ad_types.in_feed;
[615] Fix | Delete
break;
[616] Fix | Delete
}
[617] Fix | Delete
[618] Fix | Delete
$row.children( '.unittype' ).text( type );
[619] Fix | Delete
} );
[620] Fix | Delete
[621] Fix | Delete
jQuery( document ).on( 'change', '#unit-type, #unit-code, #ad-layout-key', function () {
[622] Fix | Delete
self.checkAdSlotId( this );
[623] Fix | Delete
} );
[624] Fix | Delete
[625] Fix | Delete
const inputCode = jQuery( '#unit-code' );
[626] Fix | Delete
if ( inputCode ) {
[627] Fix | Delete
this.checkAdSlotId( inputCode[0] );
[628] Fix | Delete
}
[629] Fix | Delete
[630] Fix | Delete
jQuery( document ).on( 'change', '#ad-resize-type', function () {
[631] Fix | Delete
self.show_float_warnings( 'responsive' );
[632] Fix | Delete
} );
[633] Fix | Delete
this.updateAdsenseType();
[634] Fix | Delete
[635] Fix | Delete
if ( typeof AdsenseMAPI.hasToken !== 'undefined' ) {
[636] Fix | Delete
this.mapiMayBeSaveAdCode();
[637] Fix | Delete
}
[638] Fix | Delete
[639] Fix | Delete
jQuery( document ).on( 'click', '#mapi-archived-ads', function () {
[640] Fix | Delete
self.showArchivedAds( jQuery( this ).hasClass( 'dashicons-visibility' ) );
[641] Fix | Delete
} );
[642] Fix | Delete
[643] Fix | Delete
jQuery( '#wpwrap' ).on(
[644] Fix | Delete
'advads-mapi-adlist-opened',
[645] Fix | Delete
function () {
[646] Fix | Delete
// Update ad unit list to v2 data the first time the ad list is opened.
[647] Fix | Delete
if ( jQuery( '#mapi-force-v2-list-update' ).length ) {
[648] Fix | Delete
jQuery( '#mapi-wrap i[data-mapiaction="updateList"]' ).trigger( 'click' );
[649] Fix | Delete
return;
[650] Fix | Delete
}
[651] Fix | Delete
self.showArchivedAds();
[652] Fix | Delete
}
[653] Fix | Delete
);
[654] Fix | Delete
[655] Fix | Delete
this.onSelected();
[656] Fix | Delete
}
[657] Fix | Delete
[658] Fix | Delete
showArchivedAds( show ) {
[659] Fix | Delete
if ( typeof show === 'undefined' ) {
[660] Fix | Delete
show = false;
[661] Fix | Delete
}
[662] Fix | Delete
const icon = jQuery( '#mapi-archived-ads' );
[663] Fix | Delete
const title = icon.attr( 'title' );
[664] Fix | Delete
const altTitle = icon.attr( 'data-alt-title' );
[665] Fix | Delete
if ( show ) {
[666] Fix | Delete
jQuery( '#mapi-table-wrap tbody tr[data-archived="1"]' ).show();
[667] Fix | Delete
icon.removeClass( 'dashicons-visibility' ).addClass( 'dashicons-hidden' ).attr( 'title', altTitle ).attr( 'data-alt-title', title );
[668] Fix | Delete
} else {
[669] Fix | Delete
jQuery( '#mapi-table-wrap tbody tr[data-archived="1"]' ).not( '.selected' ).hide();
[670] Fix | Delete
icon.removeClass( 'dashicons-hidden' ).addClass( 'dashicons-visibility' ).attr( 'title', altTitle ).attr( 'data-alt-title', title );
[671] Fix | Delete
}
[672] Fix | Delete
}
[673] Fix | Delete
[674] Fix | Delete
checkAdSlotId( elm ) {
[675] Fix | Delete
if ( jQuery( elm ).attr( 'id' ) === 'unit-code' ) {
[676] Fix | Delete
let val = jQuery( elm ).val();
[677] Fix | Delete
if ( val ) {
[678] Fix | Delete
val = val.trim();
[679] Fix | Delete
}
[680] Fix | Delete
if ( val.length > 0 && gadsenseData.pubId && val.indexOf( gadsenseData.pubId.substr( 4 ) ) !== -1 ) {
[681] Fix | Delete
jQuery( '#advads-pubid-in-slot' ).css( 'display', 'block' );
[682] Fix | Delete
jQuery( elm ).css( 'background-color', 'rgba(255, 235, 59, 0.33)' );
[683] Fix | Delete
this.updateAdsenseType();
[684] Fix | Delete
return;
[685] Fix | Delete
}
[686] Fix | Delete
}
[687] Fix | Delete
jQuery( '#unit-code' ).css( 'background-color', '#fff' );
[688] Fix | Delete
jQuery( '#advads-pubid-in-slot' ).css( 'display', 'none' );
[689] Fix | Delete
this.updateAdsenseType();
[690] Fix | Delete
}
[691] Fix | Delete
[692] Fix | Delete
mapiSaveAdCode( code, slot ) {
[693] Fix | Delete
if ( typeof AdsenseMAPI.hasToken !== 'undefined' && typeof this.codes['ca-' + AdsenseMAPI.pubId + ':' + slot] === 'undefined' ) {
[694] Fix | Delete
this.codes['ca-' + AdsenseMAPI.pubId + ':' + slot] = code;
[695] Fix | Delete
jQuery( '#mapi-loading-overlay' ).css( 'display', 'block' );
[696] Fix | Delete
jQuery.ajax( {
[697] Fix | Delete
type: 'post',
[698] Fix | Delete
url: ajaxurl,
[699] Fix | Delete
data: {
[700] Fix | Delete
nonce: AdsenseMAPI.nonce,
[701] Fix | Delete
slot: slot,
[702] Fix | Delete
code: code,
[703] Fix | Delete
action: 'advads-mapi-reconstructed-code'
[704] Fix | Delete
},
[705] Fix | Delete
success: function ( resp, status, XHR ) {
[706] Fix | Delete
jQuery( '#mapi-loading-overlay' ).css( 'display', 'none' );
[707] Fix | Delete
},
[708] Fix | Delete
error: function ( req, status, err ) {
[709] Fix | Delete
jQuery( '#mapi-loading-overlay' ).css( 'display', 'none' );
[710] Fix | Delete
}
[711] Fix | Delete
} );
[712] Fix | Delete
}
[713] Fix | Delete
}
[714] Fix | Delete
[715] Fix | Delete
mapiMayBeSaveAdCode() {
[716] Fix | Delete
// MAPI not set up
[717] Fix | Delete
if ( typeof AdsenseMAPI.hasToken === 'undefined' ) {
[718] Fix | Delete
return;
[719] Fix | Delete
}
[720] Fix | Delete
const slotId = jQuery( '#unit-code' ).val();
[721] Fix | Delete
if ( ! slotId ) {
[722] Fix | Delete
return;
[723] Fix | Delete
}
[724] Fix | Delete
[725] Fix | Delete
const type = jQuery( '#unit-type' ).val();
[726] Fix | Delete
const width = jQuery( '#advanced-ads-ad-parameters-size input[name="advanced_ad[width]"]' ).val().trim();
[727] Fix | Delete
const height = jQuery( '#advanced-ads-ad-parameters-size input[name="advanced_ad[height]"]' ).val().trim();
[728] Fix | Delete
const layout = jQuery( '#ad-layout' ).val();
[729] Fix | Delete
const layoutKey = jQuery( '#ad-layout-key' ).val();
[730] Fix | Delete
[731] Fix | Delete
let code = false;
[732] Fix | Delete
[733] Fix | Delete
switch ( type ) {
[734] Fix | Delete
case 'in-feed':
[735] Fix | Delete
code = '<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>' +
[736] Fix | Delete
'<ins class="adsbygoogle" ' +
[737] Fix | Delete
'style="display:block;" ' +
[738] Fix | Delete
'data-ad-client="ca-' + AdsenseMAPI.pubId + '" ' +
[739] Fix | Delete
'data-ad-slot="' + slotId + '" ' +
[740] Fix | Delete
'data-ad-layout-key="' + layoutKey + '" ';
[741] Fix | Delete
code += 'data-ad-format="fluid"></ins>' +
[742] Fix | Delete
'<script>' +
[743] Fix | Delete
'(adsbygoogle = window.adsbygoogle || []).push({});' +
[744] Fix | Delete
'</script>';
[745] Fix | Delete
break;
[746] Fix | Delete
case 'in-article':
[747] Fix | Delete
code = '<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>' +
[748] Fix | Delete
'<ins class="adsbygoogle" ' +
[749] Fix | Delete
'style="display:block;text-align:center;" ' +
[750] Fix | Delete
'data-ad-client="ca-' + AdsenseMAPI.pubId + '" ' +
[751] Fix | Delete
'data-ad-slot="' + slotId + '" ' +
[752] Fix | Delete
'data-ad-layout="in-article" ' +
[753] Fix | Delete
'data-ad-format="fluid"></ins>' +
[754] Fix | Delete
'<script>' +
[755] Fix | Delete
'(adsbygoogle = window.adsbygoogle || []).push({});' +
[756] Fix | Delete
'</script>';
[757] Fix | Delete
break;
[758] Fix | Delete
case 'matched-content':
[759] Fix | Delete
code = '<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>' +
[760] Fix | Delete
'<ins class="adsbygoogle" ' +
[761] Fix | Delete
'style="display:block;" ' +
[762] Fix | Delete
'data-ad-client="ca-' + AdsenseMAPI.pubId + '" ' +
[763] Fix | Delete
'data-ad-slot="' + slotId + '" ' +
[764] Fix | Delete
'data-ad-format="autorelaxed"></ins>' +
[765] Fix | Delete
'<script>' +
[766] Fix | Delete
'(adsbygoogle = window.adsbygoogle || []).push({});' +
[767] Fix | Delete
'</script>';
[768] Fix | Delete
break;
[769] Fix | Delete
case 'link-responsive':
[770] Fix | Delete
code = '<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>' +
[771] Fix | Delete
'<ins class="adsbygoogle" ' +
[772] Fix | Delete
'style="display:block;" ' +
[773] Fix | Delete
'data-ad-client="ca-' + AdsenseMAPI.pubId + '" ' +
[774] Fix | Delete
'data-ad-slot="' + slotId + '" ' +
[775] Fix | Delete
'data-ad-format="link"></ins>' +
[776] Fix | Delete
'<script>' +
[777] Fix | Delete
'(adsbygoogle = window.adsbygoogle || []).push({});' +
[778] Fix | Delete
'</script>';
[779] Fix | Delete
break;
[780] Fix | Delete
case 'link':
[781] Fix | Delete
code = '<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>' +
[782] Fix | Delete
'<ins class="adsbygoogle" ' +
[783] Fix | Delete
'style="display:block;width:' + width + 'px;height:' + height + 'px" ' +
[784] Fix | Delete
'data-ad-client="ca-' + AdsenseMAPI.pubId + '" ' +
[785] Fix | Delete
'data-ad-slot="' + slotId + '" ' +
[786] Fix | Delete
'data-ad-format="link"></ins>' +
[787] Fix | Delete
'<script>' +
[788] Fix | Delete
'(adsbygoogle = window.adsbygoogle || []).push({});' +
[789] Fix | Delete
'</script>';
[790] Fix | Delete
break;
[791] Fix | Delete
case 'responsive':
[792] Fix | Delete
code = '<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>' +
[793] Fix | Delete
'<ins class="adsbygoogle" ' +
[794] Fix | Delete
'style="display:block;" ' +
[795] Fix | Delete
'data-ad-client="ca-' + AdsenseMAPI.pubId + '" ' +
[796] Fix | Delete
'data-ad-slot="' + slotId + '" ' +
[797] Fix | Delete
'data-ad-format="auto"></ins>' +
[798] Fix | Delete
'<script>' +
[799] Fix | Delete
'(adsbygoogle = window.adsbygoogle || []).push({});' +
[800] Fix | Delete
'</script>';
[801] Fix | Delete
break;
[802] Fix | Delete
case 'normal':
[803] Fix | Delete
code = '<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>' +
[804] Fix | Delete
'<ins class="adsbygoogle" ' +
[805] Fix | Delete
'style="display:inline-block;width:' + width + 'px;height:' + height + 'px" ' +
[806] Fix | Delete
'data-ad-client="ca-' + AdsenseMAPI.pubId + '" ' +
[807] Fix | Delete
'data-ad-slot="' + slotId + '"></ins>' +
[808] Fix | Delete
'<script>' +
[809] Fix | Delete
'(adsbygoogle = window.adsbygoogle || []).push({});' +
[810] Fix | Delete
'</script>';
[811] Fix | Delete
break;
[812] Fix | Delete
default:
[813] Fix | Delete
}
[814] Fix | Delete
[815] Fix | Delete
if ( code ) {
[816] Fix | Delete
this.mapiSaveAdCode( code, slotId );
[817] Fix | Delete
}
[818] Fix | Delete
[819] Fix | Delete
}
[820] Fix | Delete
[821] Fix | Delete
getMapiAction( action ) {
[822] Fix | Delete
const self = this;
[823] Fix | Delete
if ( action === 'toggleidle' ) {
[824] Fix | Delete
return function ( ev, el ) {
[825] Fix | Delete
self.hideIdle = ! self.hideIdle;
[826] Fix | Delete
AdvancedAdsAdmin.AdImporter.refreshAds();
[827] Fix | Delete
};
[828] Fix | Delete
}
[829] Fix | Delete
return null;
[830] Fix | Delete
}
[831] Fix | Delete
}
[832] Fix | Delete
[833] Fix | Delete
// Creates a Advanced_Ads_Adsense_Report_UI instance on the fly
[834] Fix | Delete
window.Advanced_Ads_Adsense_Report_Helper = window.Advanced_Ads_Adsense_Report_Helper || {};
[835] Fix | Delete
window.Advanced_Ads_Adsense_Report_Helper.init = function ( element ) {
[836] Fix | Delete
if ( jQuery( element ).attr( 'data-arguments' ) ) {
[837] Fix | Delete
try {
[838] Fix | Delete
const reportArgs = JSON.parse( jQuery( element ).attr( 'data-arguments' ) );
[839] Fix | Delete
jQuery( element ).data( 'advadsAdsenseReport', new Advanced_Ads_Adsense_Report_UI( element, reportArgs ) );
[840] Fix | Delete
} catch ( ex ) {
[841] Fix | Delete
console.error( 'Cannot parse report arguments' );
[842] Fix | Delete
}
[843] Fix | Delete
}
[844] Fix | Delete
};
[845] Fix | Delete
[846] Fix | Delete
window.Advanced_Ads_Adsense_Report_Helper.getReportObject = function () {
[847] Fix | Delete
const reportElem = jQuery( '.advanced-ads-adsense-dashboard' );
[848] Fix | Delete
if ( reportElem.length ) {
[849] Fix | Delete
let report = reportElem.data( 'advadsAdsenseReport' );
[850] Fix | Delete
if ( typeof report.refresh === 'function' ) {
[851] Fix | Delete
return report;
[852] Fix | Delete
}
[853] Fix | Delete
}
[854] Fix | Delete
return false;
[855] Fix | Delete
};
[856] Fix | Delete
[857] Fix | Delete
class Advanced_Ads_Adsense_Report_UI {
[858] Fix | Delete
constructor( el, args ) {
[859] Fix | Delete
this.$el = jQuery( el );
[860] Fix | Delete
this.type = args.type;
[861] Fix | Delete
this.filter = args.filter;
[862] Fix | Delete
this.init();
[863] Fix | Delete
this.refreshing = false;
[864] Fix | Delete
}
[865] Fix | Delete
[866] Fix | Delete
// Update arguments attributes before refreshing.
[867] Fix | Delete
updateHtmlAttr() {
[868] Fix | Delete
this.$el.attr( 'data-arguments', JSON.stringify( {type: 'domain', filter: self.filter} ) );
[869] Fix | Delete
}
[870] Fix | Delete
[871] Fix | Delete
// Get markup for the current arguments.
[872] Fix | Delete
refresh() {
[873] Fix | Delete
const self = this;
[874] Fix | Delete
this.$el.html( '<p style="text-align:center;"><span class="report-need-refresh spinner advads-ad-parameters-spinner advads-spinner"></span></p>' );
[875] Fix | Delete
jQuery.ajax( {
[876] Fix | Delete
type: 'POST',
[877] Fix | Delete
url: ajaxurl,
[878] Fix | Delete
data: {
[879] Fix | Delete
nonce: window.Advanced_Ads_Adsense_Report_Helper.nonce,
[880] Fix | Delete
type: this.type,
[881] Fix | Delete
filter: this.filter,
[882] Fix | Delete
action: 'advads_adsense_report_refresh'
[883] Fix | Delete
},
[884] Fix | Delete
success: function ( response ) {
[885] Fix | Delete
if ( response.success && response.data && response.data.html ) {
[886] Fix | Delete
self.$el.html( response.data.html );
[887] Fix | Delete
}
[888] Fix | Delete
}, error: function ( request, status, error ) {
[889] Fix | Delete
console.log( 'Refreshing rerpot error: ' + error );
[890] Fix | Delete
}
[891] Fix | Delete
} );
[892] Fix | Delete
}
[893] Fix | Delete
[894] Fix | Delete
// Initialization - events binding.
[895] Fix | Delete
init() {
[896] Fix | Delete
if ( this.$el.find( '.report-need-refresh' ).length ) {
[897] Fix | Delete
this.refresh();
[898] Fix | Delete
}
[899] Fix | Delete
const self = this;
[900] Fix | Delete
[901] Fix | Delete
// Hide dropdown on click on everything but the dropdown and its children.
[902] Fix | Delete
jQuery( document ).on( 'click', '#wpwrap', function () {
[903] Fix | Delete
const dd = jQuery( '#advads_overview_adsense_stats .advads-stats-dd-button .advads-stats-dd-items' );
[904] Fix | Delete
if ( dd.is( ':visible' ) ) {
[905] Fix | Delete
dd.hide();
[906] Fix | Delete
}
[907] Fix | Delete
} );
[908] Fix | Delete
[909] Fix | Delete
// Show the dropdown.
[910] Fix | Delete
jQuery( document ).on( 'click', '#advads_overview_adsense_stats .advads-stats-dd-button', function ( ev ) {
[911] Fix | Delete
// Stop bubbling. Prevents hiding the dropdown.
[912] Fix | Delete
ev.stopPropagation();
[913] Fix | Delete
const dd = jQuery( this ).find( '.advads-stats-dd-items' );
[914] Fix | Delete
if ( ! dd.is( ':visible' ) ) {
[915] Fix | Delete
dd.show();
[916] Fix | Delete
}
[917] Fix | Delete
} );
[918] Fix | Delete
[919] Fix | Delete
// Dropdown item clicked.
[920] Fix | Delete
jQuery( document ).on( 'click', '.advads-stats-dd-button .advads-stats-dd-item', function () {
[921] Fix | Delete
self.filter = jQuery( this ).attr( 'data-domain' );
[922] Fix | Delete
self.updateHtmlAttr();
[923] Fix | Delete
self.refresh();
[924] Fix | Delete
} );
[925] Fix | Delete
}
[926] Fix | Delete
}
[927] Fix | Delete
[928] Fix | Delete
12
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function