File: /home-ssd1/busines1/www/wp-content/plugins/woocommerce-multilingual/res/js/troubleshooting.js
jQuery( function($) {
WCML_Troubleshooting = {
processed: {
syncVariations: 0,
syncGallery: 0,
syncCategories: 0,
syncStock: 0,
fixRelationships: 0,
duplicateTerms: 0,
syncDeletedMeta: 0
},
init: function() {
$( function() {
jQuery('#wcml_trbl_run').on('click',function() {
var field = jQuery(this);
field.prop('disabled', true);
jQuery('.wcml_trbl_action .spinner').css('display','inline-block').css('visibility','visible');
WCML_Troubleshooting.run_next_troubleshooting_action();
});
jQuery('#attr_to_duplicate').on('change', function() {
WCML_Troubleshooting.processed.duplicateTerms = 0;
WCML_Troubleshooting.updateCounter('#wcml_duplicate_terms', WCML_Troubleshooting.processed.duplicateTerms);
});
});
},
setItemDoing: function( $checkboxInputId ) {
var $item = jQuery( $checkboxInputId ).closest( 'li' ).removeClass( 'item-done' );
$item.find( 'span.doing' ).show()
$item.find( 'span.done' ).hide();
},
setItemDone: function( $checkboxInputId ) {
jQuery( $checkboxInputId ).prop('checked', false);
jQuery( $checkboxInputId ).prop('disabled', false);
var $item = jQuery( $checkboxInputId ).closest( 'li' ).addClass( 'item-done' );
$item.find( 'span.doing' ).hide();
$item.find( 'span.done' ).show();
WCML_Troubleshooting.run_next_troubleshooting_action();
},
updateCounter: function( $checkboxInputId, $count ) {
jQuery( $checkboxInputId )
.closest( 'li' ).removeClass( 'item-done' )
.find( 'span.counter' ).show()
.find( 'span.count' ).html( $count );
},
setCounterDone: function( $checkboxInputId ) {
jQuery( $checkboxInputId ).prop('checked', false);
jQuery( $checkboxInputId ).prop('disabled', false);
jQuery( $checkboxInputId ).closest( 'li' ).addClass( 'item-done' );
WCML_Troubleshooting.run_next_troubleshooting_action();
},
setError: function( $checkboxInputId ) {
jQuery( $checkboxInputId )
.closest( 'li' )
.removeClass( 'item-done' )
.addClass( 'item-error' );
jQuery('.wcml_trbl_action').hide();
jQuery('.wcml_trbl_warning.wcml_trbl_error').show();
},
sync_variations: function() {
var $selector = '#wcml_sync_product_variations';
jQuery( $selector ).prop('disabled', true);
WCML_Troubleshooting.updateCounter( $selector, WCML_Troubleshooting.processed.syncVariations );
jQuery.ajax({
type : "post",
url : ajaxurl,
data : {
action: "trbl_sync_variations",
wcml_nonce: jQuery('#trbl_sync_variations_nonce').val()
},
dataType: 'json',
success: function(response) {
if ( ! response.success ) {
WCML_Troubleshooting.setError( $selector );
return;
}
WCML_Troubleshooting.processed.syncVariations += response.data.processed;
WCML_Troubleshooting.updateCounter( $selector, WCML_Troubleshooting.processed.syncVariations );
if ( response.data.complete ) {
WCML_Troubleshooting.processed.syncVariations = 0;
WCML_Troubleshooting.setCounterDone( $selector );
} else {
WCML_Troubleshooting.sync_variations();
}
},
error: function() {
WCML_Troubleshooting.setError( $selector );
}
});
},
sync_product_gallery: function() {
var $selector = '#wcml_sync_gallery_images';
jQuery( $selector ).prop('disabled', true);
WCML_Troubleshooting.updateCounter( $selector, WCML_Troubleshooting.processed.syncGallery );
jQuery.ajax({
type : "post",
url : ajaxurl,
data : {
action: "trbl_gallery_images",
wcml_nonce: jQuery('#trbl_gallery_images_nonce').val(),
},
dataType: 'json',
success: function(response) {
if ( ! response.success ) {
WCML_Troubleshooting.setError( $selector );
return;
}
WCML_Troubleshooting.processed.syncGallery += response.data.processed;
WCML_Troubleshooting.updateCounter( $selector, WCML_Troubleshooting.processed.syncGallery );
if ( response.data.complete ) {
WCML_Troubleshooting.processed.syncGallery = 0;
WCML_Troubleshooting.setCounterDone( $selector );
} else {
WCML_Troubleshooting.sync_product_gallery();
}
},
error: function() {
WCML_Troubleshooting.setError( $selector );
}
});
},
sync_product_categories: function() {
var $selector = '#wcml_sync_categories';
jQuery( $selector ).prop('disabled', true);
WCML_Troubleshooting.updateCounter( $selector, WCML_Troubleshooting.processed.syncCategories );
jQuery.ajax({
type : "post",
url : ajaxurl,
data : {
action: "trbl_sync_categories",
wcml_nonce: jQuery('#trbl_sync_categories_nonce').val(),
},
success: function(response) {
if ( ! response.success ) {
WCML_Troubleshooting.setError( $selector );
return;
}
WCML_Troubleshooting.processed.syncCategories += response.data.processed;
WCML_Troubleshooting.updateCounter( $selector, WCML_Troubleshooting.processed.syncCategories );
if ( response.data.complete ) {
WCML_Troubleshooting.processed.syncCategories = 0;
WCML_Troubleshooting.setCounterDone( $selector );
} else {
WCML_Troubleshooting.sync_product_categories();
}
},
error: function() {
WCML_Troubleshooting.setError( $selector );
}
});
},
sync_stock: function() {
var $selector = '#wcml_sync_stock';
jQuery( $selector ).prop('disabled', true);
WCML_Troubleshooting.updateCounter($selector , WCML_Troubleshooting.processed.syncStock );
jQuery.ajax({
type : "post",
url : ajaxurl,
data : {
action: "trbl_sync_stock",
wcml_nonce: jQuery('#trbl_sync_stock_nonce').val()
},
dataType: 'json',
success: function(response) {
if ( ! response.success ) {
WCML_Troubleshooting.setError( $selector );
return;
}
WCML_Troubleshooting.processed.syncStock += response.data.processed;
WCML_Troubleshooting.updateCounter( $selector, WCML_Troubleshooting.processed.syncStock );
if ( response.data.complete ) {
WCML_Troubleshooting.processed.syncStock = 0;
WCML_Troubleshooting.setCounterDone( $selector );
} else {
WCML_Troubleshooting.sync_stock();
}
},
error: function() {
WCML_Troubleshooting.setError( $selector );
}
});
},
fix_translated_variations_relationships: function() {
var $selector = '#wcml_fix_relationships';
jQuery( $selector ).prop('disabled', true);
WCML_Troubleshooting.updateCounter( $selector, WCML_Troubleshooting.processed.fixRelationships );
jQuery.ajax({
type : "post",
url : ajaxurl,
data : {
action: "fix_translated_variations_relationships",
wcml_nonce: jQuery('#fix_relationships_nonce').val()
},
dataType: 'json',
success: function(response) {
if ( ! response.success ) {
WCML_Troubleshooting.setError( $selector );
return;
}
WCML_Troubleshooting.processed.fixRelationships += response.data.processed;
WCML_Troubleshooting.updateCounter( $selector, WCML_Troubleshooting.processed.fixRelationships );
if ( response.data.complete ) {
WCML_Troubleshooting.processed.fixRelationships = 0;
WCML_Troubleshooting.setCounterDone( $selector );
} else {
WCML_Troubleshooting.fix_translated_variations_relationships();
}
},
error: function() {
WCML_Troubleshooting.setError( $selector );
}
});
},
fix_product_type_terms: function() {
var $selector = '#wcml_translate_product_type';
jQuery( $selector ).prop('disabled', true);
WCML_Troubleshooting.setItemDoing( $selector );
jQuery.ajax({
type : "post",
url : ajaxurl,
data : {
action: "trbl_fix_product_type_terms",
wcml_nonce: jQuery('#trbl_product_type_terms_nonce').val()
},
dataType: 'json',
success: function(response) {
if ( ! response.success ) {
WCML_Troubleshooting.setError( $selector );
return;
}
if ( response.data.complete ) {
WCML_Troubleshooting.setItemDone( $selector );
} else {
WCML_Troubleshooting.fix_product_type_terms();
}
},
error: function() {
WCML_Troubleshooting.setError( $selector );
}
});
},
duplicate_terms: function() {
var $selector = '#wcml_duplicate_terms';
jQuery( $selector ).prop('disabled', true);
WCML_Troubleshooting.updateCounter( $selector, WCML_Troubleshooting.processed.duplicateTerms );
jQuery.ajax({
type : "post",
url : ajaxurl,
data : {
action: "trbl_duplicate_terms",
wcml_nonce: jQuery('#trbl_duplicate_terms_nonce').val(),
attr: jQuery('#attr_to_duplicate option:selected').val()
},
dataType: 'json',
success: function(response) {
if ( ! response.success ) {
WCML_Troubleshooting.setError( $selector );
return;
}
WCML_Troubleshooting.processed.duplicateTerms += response.data.processed;
WCML_Troubleshooting.updateCounter( $selector, WCML_Troubleshooting.processed.duplicateTerms );
if ( response.data.complete ) {
WCML_Troubleshooting.processed.duplicateTerms = 0;
WCML_Troubleshooting.setCounterDone( $selector );
} else {
WCML_Troubleshooting.duplicate_terms();
}
},
error: function() {
WCML_Troubleshooting.setError( $selector );
}
});
},
register_reviews_in_st: function() {
var $selector = '#register_reviews_in_st';
jQuery( $selector ).prop('disabled', true);
WCML_Troubleshooting.setItemDoing( $selector );
jQuery.ajax({
type : "post",
url : ajaxurl,
data : {
action: "register_reviews_in_st",
wcml_nonce: jQuery('#register_reviews_in_st_nonce').val(),
page: jQuery('#register_reviews_in_st_page').val()
},
dataType: 'json',
success: function(response) {
if ( ! response.success ) {
WCML_Troubleshooting.setError( $selector );
return;
}
if ( response.data.complete ) {
WCML_Troubleshooting.setItemDone( $selector );
} else {
WCML_Troubleshooting.register_reviews_in_st();
}
},
error: function() {
WCML_Troubleshooting.setError( $selector );
}
});
},
sync_deleted_meta: function() {
var $selector = '#wcml_sync_deleted_meta';
jQuery( $selector ).prop('disabled', true);
WCML_Troubleshooting.updateCounter( $selector, WCML_Troubleshooting.processed.syncDeletedMeta );
jQuery.ajax({
type : "post",
url : ajaxurl,
data : {
action: "sync_deleted_meta",
wcml_nonce: jQuery('#sync_deleted_meta_nonce').val()
},
dataType: 'json',
success: function(response) {
if ( ! response.success ) {
WCML_Troubleshooting.setError( $selector );
return;
}
WCML_Troubleshooting.processed.syncDeletedMeta += response.data.processed;
WCML_Troubleshooting.updateCounter( $selector, WCML_Troubleshooting.processed.syncDeletedMeta );
if ( response.data.complete ) {
WCML_Troubleshooting.processed.syncDeletedMeta = 0;
WCML_Troubleshooting.setCounterDone( $selector );
} else {
WCML_Troubleshooting.sync_deleted_meta();
}
},
error: function() {
WCML_Troubleshooting.setError( $selector );
}
});
},
run_next_troubleshooting_action: function() {
if ( jQuery('#wcml_sync_product_variations').is(':checked') ) {
WCML_Troubleshooting.sync_variations();
} else if ( jQuery('#wcml_sync_gallery_images').is(':checked') ) {
WCML_Troubleshooting.sync_product_gallery();
} else if ( jQuery('#wcml_sync_categories').is(':checked') ) {
WCML_Troubleshooting.sync_product_categories();
} else if ( jQuery('#wcml_sync_stock').is(':checked') ) {
WCML_Troubleshooting.sync_stock();
} else if ( jQuery('#wcml_fix_relationships').is(':checked') ) {
WCML_Troubleshooting.fix_translated_variations_relationships();
} else if ( jQuery('#wcml_translate_product_type').is(':checked') ) {
WCML_Troubleshooting.fix_product_type_terms();
} else if ( jQuery('#wcml_duplicate_terms').is(':checked') ) {
WCML_Troubleshooting.duplicate_terms();
} else if ( jQuery('#register_reviews_in_st').is(':checked') ) {
WCML_Troubleshooting.register_reviews_in_st();
} else if ( jQuery('#wcml_sync_deleted_meta').is(':checked') ) {
WCML_Troubleshooting.sync_deleted_meta();
} else {
jQuery('#wcml_trbl_run').prop('disabled', false);
jQuery('.wcml_trbl_action .spinner').hide();
}
}
}
WCML_Troubleshooting.init();
});