/** * Main scripts file for the About Page */ /* global tiAboutPageObject */ /* global console */ jQuery( document ).ready( function () { jQuery( '#about-tabs' ).tabs(); /** * With a small height tab scroll is not working on WordPress menu * That's why a windows resize is needed */ jQuery(window).resize(); handleLinkingInTabs(); /* Show required actions next to page title and tab title */ if ( tiAboutPageObject.nr_actions_required > 0 ) { jQuery( '#about-tabs ul li > .recommended_actions' ).append( '' + tiAboutPageObject.nr_actions_required + '' ); } jQuery( '.ti-about-page-required-action-button' ).click( function () { var plugin_slug = jQuery( this ).attr( 'data-slug' ); var card = jQuery( '.' + plugin_slug ); jQuery.ajax( { type: 'POST', data: { action: 'update_recommended_plugins_visibility', slug: plugin_slug }, url: tiAboutPageObject.ajaxurl, beforeSend: function() { jQuery(card).fadeOut(); }, success: function ( response ) { console.log(response.required_actions); if( response.required_actions === 0 ) { jQuery('#about-tabs #recommended_actions, [data-tab-id="recommended_actions"], #adminmenu .wp-submenu li a span.badge-action-count').fadeOut().remove(); jQuery( '#about-tabs ul > li:first-child a' ).click(); } jQuery(card).remove(); jQuery( '#about-tabs ul li > .recommended_actions span, #adminmenu .wp-submenu li a span.badge-action-count' ).text( response.required_actions ); }, error: function ( jqXHR, textStatus, errorThrown ) { jQuery(card).fadeIn(); console.log( jqXHR + ' :: ' + textStatus + ' :: ' + errorThrown ); } } ); } ); // Remove activate button and replace with activation in progress button. jQuery( document ).on( 'DOMNodeInserted', '.activate-now', function () { var activateButton = jQuery( this ); if ( activateButton.length ) { var url = jQuery( activateButton ).attr( 'href' ); if ( typeof url !== 'undefined' ) { // Request plugin activation. jQuery.ajax( { beforeSend: function () { jQuery( activateButton ).replaceWith( '' + tiAboutPageObject.activating_string + '...' ); }, async: true, type: 'GET', url: url, success: function () { // Reload the page. location.reload(); } } ); } } } ); } ); function handleLinkingInTabs() { jQuery( '#about-tabs > div a[href^=\'#\']' ).on( 'click', function () { var index = jQuery( this ).attr( 'href' ).substr( 1 ); jQuery( 'li[data-tab-id="' + index + '"] > a' ).click(); return false; } ); }