69 lines
1.5 KiB
JavaScript
69 lines
1.5 KiB
JavaScript
|
/* global ajaxurl */
|
||
|
jQuery( document ).ready( function($) {
|
||
|
var update = function( cooldown ) {
|
||
|
var self = $( '.jetpack_sync_reindex_control' ),
|
||
|
data;
|
||
|
|
||
|
self
|
||
|
.find( '.jetpack_sync_reindex_control_action' )
|
||
|
.attr( 'disabled', true );
|
||
|
|
||
|
self
|
||
|
.find( '.jetpack_sync_reindex_control_status' )
|
||
|
.html( '…' );
|
||
|
|
||
|
if ( 'DONE' === self.data( 'status' ) ) {
|
||
|
data = { action:'jetpack-sync-reindex-trigger' };
|
||
|
} else {
|
||
|
data = { action:'jetpack-sync-reindex-status' };
|
||
|
}
|
||
|
|
||
|
$.getJSON(
|
||
|
ajaxurl,
|
||
|
data,
|
||
|
function( response ) {
|
||
|
var self = $( '.jetpack_sync_reindex_control' ),
|
||
|
strings,
|
||
|
status;
|
||
|
|
||
|
if ( 0 === self.length ) {
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
strings = self.data( 'strings' );
|
||
|
status = strings[response.status].status;
|
||
|
|
||
|
if ( 'INDEXING' === response.status ) {
|
||
|
status += ' (' + Math.floor( 100 * response.posts.imported / response.posts.total ) + '%)';
|
||
|
}
|
||
|
|
||
|
self
|
||
|
.data( 'status', response.status );
|
||
|
|
||
|
self
|
||
|
.find( '.jetpack_sync_reindex_control_action' )
|
||
|
.val( strings[response.status].action );
|
||
|
|
||
|
self
|
||
|
.find( '.jetpack_sync_reindex_control_status' )
|
||
|
.text( status );
|
||
|
|
||
|
setTimeout( function() {
|
||
|
$( '.jetpack_sync_reindex_control' )
|
||
|
.find( '.jetpack_sync_reindex_control_action' )
|
||
|
.attr( 'disabled', false );
|
||
|
}, cooldown );
|
||
|
}
|
||
|
);
|
||
|
};
|
||
|
|
||
|
$( '.jetpack_sync_reindex_control' )
|
||
|
.find( '.jetpack_sync_reindex_control_action' )
|
||
|
.live( 'click', function( event ) {
|
||
|
event.preventDefault();
|
||
|
update( 5000 );
|
||
|
} );
|
||
|
|
||
|
update( 1000 );
|
||
|
} );
|