"use strict"; jQuery(function ($) { jQuery('#bulkoperations_swap_att_from').on('change',function () { woobe_message(lang.loading, 'warning'); jQuery(this).find('option[value=-1]').remove(); const nonce = jQuery('#woobe_bulkoperations_nonce').val(); jQuery.ajax({ method: "POST", url: ajaxurl, data: { action: 'woobe_bulkoperations_get_att_terms', attribute: jQuery(this).val(), bulkoperations_nonce: nonce }, success: function (terms) { woobe_message(lang.loaded, 'notice'); var select_id = 'bulkoperations_swap_terms_from'; jQuery('#bulkoperations_swap_terms_from_container').html('<select id="' + select_id + '"></select>'); __woobe_fill_select(select_id, JSON.parse(terms), [], 0, true); }, error: function () { alert(lang.error); } }); return true; }); jQuery('#bulkoperations_swap_att_to').on('change',function () { woobe_message(lang.loading, 'warning'); jQuery(this).find('option[value=-1]').remove(); const nonce = jQuery('#woobe_bulkoperations_nonce').val(); jQuery.ajax({ method: "POST", url: ajaxurl, data: { action: 'woobe_bulkoperations_get_att_terms', attribute: jQuery(this).val(), bulkoperations_nonce: nonce }, success: function (terms) { woobe_message(lang.loaded, 'notice'); var select_id = 'bulkoperations_swap_terms_to'; jQuery('#bulkoperations_swap_terms_to_container').html('<select id="' + select_id + '"></select>'); __woobe_fill_select(select_id, JSON.parse(terms), [], 0, true); }, error: function () { alert(lang.error); } }); return true; }); }); function bulkoperations_apply_5() { var from = {}; from['attribute'] = jQuery('#bulkoperations_swap_att_from').val(); from['term'] = jQuery('#bulkoperations_swap_terms_from').val(); var to = {}; to['attribute'] = jQuery('#bulkoperations_swap_att_to').val(); to['term'] = jQuery('#bulkoperations_swap_terms_to').val(); if (parseInt(from.attribute, 10) === -1 || parseInt(to.attribute, 10) === -1) { woobe_message(lang.bulkoperations.no_combinations, 'error'); return; } //*** if (confirm(lang.sure)) { woobe_bulkoperations_is_going(); jQuery('.bulkoperations_apply_5_btn').hide(); jQuery('.woobe_bulkoperations_terminate_btn').show(); woobe_set_progress('woobe_bulkoperations_progress_5', 0); //*** if (woobe_checked_products.length > 0) { __woobe_bulkoperations_5(woobe_checked_products, 0, from, to); } else { const nonce = jQuery('#woobe_bulkoperations_nonce').val(); woobe_bulkoperations_xhr = jQuery.ajax({ method: "POST", url: ajaxurl, data: { action: 'woobe_bulkoperations_get_prod_count', filter_current_key: woobe_filter_current_key, bulkoperations_nonce: nonce }, success: function (products_ids) { products_ids = JSON.parse(products_ids); if (products_ids.length) { __woobe_bulkoperations_5(products_ids, 0, from, to); } }, error: function () { if (!woobe_bulkoperations_user_cancel) { alert(lang.error); woobe_bulkoperations_terminate_5(); } woobe_bulkoperations_is_going(false); } }); } } return false; } //*** //service function __woobe_bulkoperations_5(products, start, from, to) { var step = 5; var products_ids = products.slice(start, start + step); const nonce = jQuery('#woobe_bulkoperations_nonce').val(); woobe_bulkoperations_xhr = jQuery.ajax({ method: "POST", url: ajaxurl, data: { action: 'woobe_bulkoperations_swap', products_ids: products_ids, from: from, to: to, bulkoperations_nonce: nonce }, success: function () { if ((start + step) > products.length) { woobe_message(lang.bulkoperations.finished5, 'notice'); //https://datatables.net/reference/api/draw() data_table.draw('page'); jQuery('.bulkoperations_apply_5_btn').show(); jQuery('.woobe_bulkoperations_terminate_btn').hide(); woobe_set_progress('woobe_bulkoperations_progress_5', 100); jQuery(document).trigger('woobe_bulkoperations_completed_ordering'); woobe_bulkoperations_is_going(false); } else { //show % woobe_set_progress('woobe_bulkoperations_progress_5', (start + step) * 100 / products.length); __woobe_bulkoperations_5(products, start + step, from, to); } }, error: function () { if (!woobe_bulkoperations_user_cancel) { alert(lang.error); woobe_bulkoperations_terminate_5(); } woobe_bulkoperations_is_going(false); } }); } function woobe_bulkoperations_terminate_5() { if (confirm(lang.sure)) { woobe_bulkoperations_user_cancel = true; woobe_bulkoperations_xhr.abort(); woobe_hide_progress('woobe_bulkoperations_progress_5'); jQuery('.bulkoperations_apply_5_btn').show(); jQuery('.woobe_bulkoperations_terminate_btn').hide(); woobe_message(lang.canceled, 'error'); woobe_bulkoperations_user_cancel = false; woobe_bulkoperations_is_going(false); } }