159 lines
5.4 KiB
JavaScript
159 lines
5.4 KiB
JavaScript
/**
|
|
* Plugins Install manager JS
|
|
*/
|
|
;( function ( $ ) {
|
|
'use strict';
|
|
|
|
// Tab Menu
|
|
$(".htrp-admin-tabs").on('click', 'a', function(e){
|
|
e.preventDefault();
|
|
var $this = $(this),
|
|
$target = $this.attr('href');
|
|
|
|
$this.addClass('htrp-active').parent().siblings().children('a').removeClass('htrp-active');
|
|
$( '.htrp-admin-tab-pane'+ $target ).addClass('htrp-active').siblings().removeClass('htrp-active');
|
|
});
|
|
|
|
/*
|
|
* Plugin Installation Manager
|
|
*/
|
|
var PluginInstallManager = {
|
|
|
|
init: function(){
|
|
$( document ).on('click','.install-now', PluginInstallManager.installNow );
|
|
$( document ).on('click','.activate-now', PluginInstallManager.activatePlugin);
|
|
$( document ).on('wp-plugin-install-success', PluginInstallManager.installingSuccess);
|
|
$( document ).on('wp-plugin-install-error', PluginInstallManager.installingError);
|
|
$( document ).on('wp-plugin-installing', PluginInstallManager.installingProcess);
|
|
},
|
|
|
|
/**
|
|
* Installation Error.
|
|
*/
|
|
installingError: function( e, response ) {
|
|
e.preventDefault();
|
|
var $card = $( '.htrp-plugin-' + response.slug );
|
|
$button = $card.find( '.button' );
|
|
$button.removeClass( 'button-primary' ).addClass( 'disabled' ).html( wp.updates.l10n.installFailedShort );
|
|
},
|
|
|
|
/**
|
|
* Installing Process
|
|
*/
|
|
installingProcess: function(e, args){
|
|
e.preventDefault();
|
|
var $card = $( '.htrp-plugin-' + args.slug ),
|
|
$button = $card.find( '.button' );
|
|
$button.text( htrp_params.buttontxt.installing ).addClass( 'updating-message' );
|
|
},
|
|
|
|
/**
|
|
* Plugin Install Now
|
|
*/
|
|
installNow: function(e){
|
|
e.preventDefault();
|
|
|
|
var $button = $( e.target ),
|
|
$plugindata = $button.data('pluginopt');
|
|
|
|
if ( $button.hasClass( 'updating-message' ) || $button.hasClass( 'button-disabled' ) ) {
|
|
return;
|
|
}
|
|
if ( wp.updates.shouldRequestFilesystemCredentials && ! wp.updates.ajaxLocked ) {
|
|
wp.updates.requestFilesystemCredentials( e );
|
|
$( document ).on( 'credential-modal-cancel', function() {
|
|
var $message = $( '.htrp-install-now.updating-message' );
|
|
$message.removeClass( 'updating-message' ).text( wp.updates.l10n.installNow );
|
|
wp.a11y.speak( wp.updates.l10n.updateCancel, 'polite' );
|
|
});
|
|
}
|
|
wp.updates.installPlugin( {
|
|
slug: $plugindata['slug']
|
|
});
|
|
|
|
|
|
},
|
|
|
|
/**
|
|
* After Plugin Install success
|
|
*/
|
|
installingSuccess: function( e, response ) {
|
|
var $message = $( '.htrp-plugin-' + response.slug ).find( '.button' );
|
|
|
|
var $plugindata = $message.data('pluginopt');
|
|
|
|
$message.removeClass( 'htrp-install-now installed button-disabled updated-message' )
|
|
.addClass( 'updating-message' )
|
|
.html( htrp_params.buttontxt.activating );
|
|
|
|
setTimeout( function() {
|
|
$.ajax( {
|
|
url: htrp_params.ajaxurl,
|
|
type: 'POST',
|
|
data: {
|
|
action : htrp_params.text_domain+'_ajax_plugin_activation',
|
|
location : $plugindata['location'],
|
|
nonce : htrp_params.nonce
|
|
},
|
|
} ).done( function( result ) {
|
|
if ( result.success ) {
|
|
$message.removeClass( 'button-primary htrp-install-now htrp-activate-now updating-message' )
|
|
.attr( 'disabled', 'disabled' )
|
|
.addClass( 'disabled' )
|
|
.text( htrp_params.buttontxt.active );
|
|
|
|
} else {
|
|
$message.removeClass( 'updating-message' );
|
|
}
|
|
|
|
});
|
|
|
|
}, 1200 );
|
|
|
|
},
|
|
|
|
/**
|
|
* Plugin Activate
|
|
*/
|
|
activatePlugin: function( e, response ) {
|
|
e.preventDefault();
|
|
|
|
var $button = $( e.target ),
|
|
$plugindata = $button.data('pluginopt');
|
|
|
|
if ( $button.hasClass( 'updating-message' ) || $button.hasClass( 'button-disabled' ) ) {
|
|
return;
|
|
}
|
|
|
|
$button.addClass( 'updating-message button-primary' ).html( htrp_params.buttontxt.activating );
|
|
|
|
$.ajax( {
|
|
url: htrp_params.ajaxurl,
|
|
type: 'POST',
|
|
data: {
|
|
action : htrp_params.text_domain+'_ajax_plugin_activation',
|
|
location : $plugindata['location'],
|
|
nonce : htrp_params.nonce
|
|
},
|
|
}).done( function( response ) {
|
|
if ( response.success ) {
|
|
$button.removeClass( 'button-primary htrp-install-now htrp-activate-now updating-message' )
|
|
.attr( 'disabled', 'disabled' )
|
|
.addClass( 'disabled' )
|
|
.text( htrp_params.buttontxt.active );
|
|
}
|
|
});
|
|
|
|
},
|
|
|
|
|
|
};
|
|
|
|
/**
|
|
* Initialize PluginInstallManager
|
|
*/
|
|
$( document ).ready( function() {
|
|
PluginInstallManager.init();
|
|
});
|
|
|
|
} )( jQuery ); |