jQuery( function($) {
var program = $('#program');
$(window).load(function(){
if(program.length > 0)
change_program_info();
});
program.on('change', function(){
change_program_info();
});
function change_program_info(){
var type = program.val();
$('.info-programm').hide();
$('.description-info').hide();
$('.description-'+type).show();
$('#program-'+type).show();
var tID = $('#trackingId'),
app = $('#AppKey');
}
$('#categories').change(function(){
$('#dropcat').css('border', '1px solid #ddd');
$('#keywords').css('border', '1px solid #ddd');
var category_value = $(this).val();
//Function for changing options in "select#subcategories"
aliprice_update_subcategories(category_value);
});
$('#keywords').focus(function(){
$('#dropcat').css('border', '1px solid #ddd');
$('#keywords').css('border', '1px solid #ddd');
});
$(document).on('change', '#dropcat', function(){
$('#dropcat').css('border-color', '#ddd');
});
var t = {
bulk : $('form.bulk'),
sheduled : $('form.sheduled'),
advanced : $('form.advanced'),
byproducts : $('form.byproducts'),
formremmove : $('#remove'),
formupdate : $('#update'),
btnremmove : $('[name="remove"]'),
update : $('[name="update_products"]'),
categoryId : '[name="categories"]',
subcategoryId : '[name="subcategories"]',
keywords : '[name="keywords"]',
priceFrom : '[name="pricefrom"]',
priceTo : '[name="priceto"]',
promotionFrom : '[name="promotionfrom"]',
promotionTo : '[name="promotionto"]',
creditScoreFrom : '[name="creditScoreFrom"]',
creditScoreTo : '[name="creditScoreTo"]',
sort : '[name="sort"]',
send : '[name="search-submit"]',
productId : '[name="productId"]',
sendIds : '[name="search-id-submit"]'
},
r = {
output : $('#request-data'),
outputIds : $('#request-data-by-id'),
loadIds : $('#request-data-by-id .load'),
load : $('#request-data .load'),
content : $('#request-content'),
contentIds : $('#request-content-id'),
apply : $('#result-apply'),
formtranslate : $('#setting-translate'),
translateaction : $('a.ae-action'),
edittranslate : $('td.can_edited'),
savetranslate : 'button[name="save-title"]',
filters : '#filters',
success : '#total-success',
fail : '#total-fail',
spinner : 'fa-spinner fa-spin',
importAdv : 'button[name="import-now"]',
translateAdv : 'button[name="do-translate"]',
importID : 'button[name="import-now-ids"]',
dropcat : 'select[name="dropcat"]',
pstatus : 'select[name="publishstatus"]',
importBulk : 'button[name="bulk-import"]',
searchAgain : 'button[name="btn-close"]',
stop : 'button[name="btn-stop"]',
status : '[name="status"]',
totalShed : $('#sheduled-filter'),
filterRes : $('#filter-result'),
selectCat : '#select-cat',
progressInner : '.progress-inner'
},
s = {
btn : $('[name="test_connection"]'),
app : $('[name="AppKey"]'),
track : $('[name="trackingId"]'),
method : $('[name="method"]'),
username : $('[name="Partner_username"]'),
password : $('[name="Partner_password"]'),
content : $('#testConnection'),
spinner : $('#spinner-load'),
modalcontent : $('#Modal .tab-content')
},
tr = {
bulk_count : "You did not indicate how many imported products",
bulk_size : "You specified a value greater than can be import",
pId : "Product ID",
imNow : "Import Now",
sAgain : "Search Again",
progress : "Overall Progress",
link : "Get link",
preview : "Preview",
prev : "Prev",
next : "Next",
notfound : "This product does not participate in the Program",
del : "Are you sure you want to delete all products?"
};
var tt = get_translate();
if( tt != null )
tr = tt;
function get_translate(){
var tr = null;
$.ajax({
url: ajaxurl,
async: false,
data: {'action': 'aliprice_get_translate'},
type: "POST",
success: function (response) {
tr = aetoJSON(response);
}
});
return tr;
}
r.totalShed.on( 'click', function(e) {
if ($("#categories").val()=='' && $('#dropcat').val()=='0'){
$('#dropcat').css('border', '1px solid red')
return false;
}{
$('#dropcat').css('border', '1px solid #ddd')
}
e.preventDefault();
var fs = 0,
th = $(this),
thform = th.parents('form'),
ourcat = $('#dropcat').val(),
status = thform.find(r.pstatus).val(),
unitType = $('#unitType').val();
if( $('#fs').is(':checked') )
fs = 1;
$.ajaxQueue({
url: ajaxurl,
data: {
action: 'aliprice_total_sheduled',
categoryId: t.sheduled.find( t.categoryId ).val(),
subcategoryId: t.sheduled.find( t.subcategoryId ).val(),
keywords: t.sheduled.find( t.keywords ).val(),
priceFrom: t.sheduled.find( t.priceFrom ).val(),
priceTo: t.sheduled.find( t.priceTo ).val(),
promotionFrom: t.sheduled.find( t.promotionFrom ).val(),
promotionTo: t.sheduled.find( t.promotionTo ).val(),
creditScoreFrom:t.sheduled.find( t.creditScoreFrom ).val(),
creditScoreTo: t.sheduled.find( t.creditScoreTo ).val(),
fs: fs,
ourcat: ourcat,
status: status,
unitType: unitType
},
type: "POST",
success: function(data){
r.filterRes.html(data);
r.apply.show();
}
});
});
/* bulk */
t.bulk.on( 'click', t.send, function(e) {
e.preventDefault();
if ($("#categories").val()=='' && $('#keywords').val()==''){
$('#keywords').css('border', '1px solid red')
return false;
}{
$('#keywords').css('border', '1px solid #ddd')
}
$.ajaxQueue({
url: ajaxurl,
data: {
action: 'aliprice_total_goods_in_cat',
categoryId: t.bulk.find( t.categoryId ).val(),
subcategoryId: t.bulk.find( t.subcategoryId ).val(),
keywords: t.bulk.find( t.keywords ).val(),
priceFrom: t.bulk.find( t.priceFrom ).val(),
priceTo: t.bulk.find( t.priceTo ).val(),
promotionFrom: t.bulk.find( t.promotionFrom ).val(),
promotionTo: t.bulk.find( t.promotionTo ).val(),
creditScoreFrom:t.bulk.find( t.creditScoreFrom ).val(),
creditScoreTo: t.bulk.find( t.creditScoreTo ).val()
},
type: "POST",
beforeSend: function(){
t.bulk.find('.load').show();
aeLoading();
},
success: function(data){
r.load.hide();
r.content.html(data).show();
},
complete: aeScrollDown
});
});
$(document).on('click', r.importBulk, function(e){
if ($("#categories").val()=='' && $('#dropcat').val()=='0'){
$('#dropcat').css('border', '1px solid red')
return false;
}{
$('#dropcat').css('border', '1px solid #ddd')
}
e.preventDefault();
var th = $(this),
gage = parseInt( th.data('gage') ),
thform = th.parents('form'),
quantity = thform.find('[name="quantity"]'),
size = quantity.val(),
cc = 2,
fs = 0,
ourcat = $('#dropcat').val(),
status = thform.find(r.pstatus).val(),
unitType = $('#unitType').val();
if( $('#fs').is(':checked') )
fs = 1;
if( size == 0 || size == "" ) {
th.parents('.bulk-settings').find('.count-total').append('
'+tr.bulk_count+'
');
return false;
}
if( size > gage || size > 10000) {
th.parents('.bulk-settings').find('.count-total').append(''+tr.bulk_size+'
');
return false;
}
th.parents('.bulk-settings').find('.count-total .alert').remove();
thform.find( r.stop ).show();
thform.find( r.importBulk ).hide();
r.content.find(r.success).text(0);
r.content.find(r.fail).text(0);
var pos = Math.ceil(size/cc),
step = 1,
st = 1,
len = 100/pos;
thform.find( r.status ).val(0);
ajax_loader( thform.find('.loader'), true );
for( var p = 1; p <= pos; p++){
$.ajaxQueue({
url: ajaxurl,
data: {
action: 'aliprice_bulk_import_step1',
categoryId: t.bulk.find( t.categoryId ).val(),
subcategoryId: t.bulk.find( t.subcategoryId ).val(),
keywords: t.bulk.find( t.keywords ).val(),
priceFrom: t.bulk.find( t.priceFrom ).val(),
priceTo: t.bulk.find( t.priceTo ).val(),
promotionFrom: t.bulk.find( t.promotionFrom ).val(),
promotionTo: t.bulk.find( t.promotionTo ).val(),
creditScoreFrom:t.bulk.find( t.creditScoreFrom ).val(),
creditScoreTo: t.bulk.find( t.creditScoreTo ).val(),
page_no: p,
size: size,
cc: cc,
fs: fs,
ourcat: ourcat,
status: status,
unitType: unitType
},
type: "POST",
beforeSend: function(e){
var status = thform.find( r.status ).val();
if( status === '1' ) {
quantity.val('');
$('#total-progress .progress-bar').css({'width': '100%'}).attr('aria-valuenow', 100).text( "100%" );
thform.find( r.stop ).hide();
thform.find( r.importBulk ).show();
thform.find( r.searchAgain ).show();
aliprice_set_max_price();
ajax_loader( thform.find('.loader'), false );
e.abort();
return false;
}
else{
thform.find( r.searchAgain ).hide();
var per = Math.floor(len*step);
$('#total-progress .progress-bar').css({'width': per+'%'}).attr('aria-valuenow', per).text( per+"%" );
}
},
success: function(data) {
var obj = aetoJSON(data),
s = parseInt(r.content.find(r.success).text()),
f = parseInt(r.content.find(r.fail).text()),
vs = 0,
vf = 0;
if( typeof obj.success != 'undefined' )
vs = parseInt(obj.success);
if( typeof obj.fail != 'undefined' )
vf = parseInt(obj.fail);
r.content.find(r.success).text(s+vs);
r.content.find(r.fail).text(f+vf);
step = step + 1;
if(step <= pos){
console.log("Position: "+step+' of '+pos);
}
},
complete: function(){
st = st + 1;
if( st > pos ){
console.log("end");
thform.find( r.stop ).hide();
thform.find( r.searchAgain ).show();
thform.find( r.importBulk ).show();
aliprice_set_max_price();
ajax_loader( thform.find('.loader'), false );
}
}
});
}
});
/**
* Import products by ID
* @todo запилить импорт со статусом
*/
$(document).on('click', r.importID, function(){
if ( $('#dropcat').val() == '0' ){
$('#dropcat').css('border', '1px solid red');
return false;
}{
$('#dropcat').css('border', '1px solid #ddd');
}
var box = $(this).parents('.import-settings'),
th = box.find('table.advanced-result tbody'),
foo = th.find('[type="checkbox"]:checked');
var size = foo.length,
cat = box.find(r.dropcat).val(),
status = box.find(r.pstatus).val();
if( size == 0 )
return false;
var len = 100/size,
t = 0,
cs = 0;
r.contentIds.find(r.success).text(0);
r.contentIds.find(r.fail).text(0);
r.contentIds.find(r.progressInner).show();
$(r.importID).find('span.fa').addClass(r.spinner);
ajax_loader( box.find('.loader'), true );
loadProgress();
$.each( foo, function(){
var ch = $(this).parents('tr'),
productId = $(this).val(),
packageType = $(this).data('package'),
price = $(this).data('price'),
lot = $(this).data('lot'),
productUrl = $(this).data('url'),
salePrice = $(this).data('sale'),
actualTime = $(this).data('date'),
imageUrl = ch.find('td.thumb img').attr('src'),
subject = ch.find('td.title .this_title').text(),
volume = ch.find('td.volume').text(),
score = ch.find('td.score').text(),
current = $(this).parents('.import-settings');
$.ajaxQueue({
url: ajaxurl,
data: {
action: 'aliprice_publish_product_id',
actualTime: actualTime,
evaluateScore: score,
lotNum: lot,
productUrl: productUrl,
promotionVolume: volume,
packageType: packageType,
price: price,
imageUrl: imageUrl,
subject: subject,
salePrice: salePrice,
productId: productId,
owncat: cat,
status: status
},
type: "POST",
beforeSend: function(){
t = t + 1;
var per = Math.floor(len*t);
current.find('.progress-bar').css({'width': per+'%'}).attr('aria-valuenow', per).text( per+"%" );
//console.log( "Load position: "+t );
},
success: function(data){
cs = cs + 1;
var obj = aetoJSON(data),
s = parseInt(r.contentIds.find(r.success).text()),
f = parseInt(r.contentIds.find(r.fail).text());
if( typeof obj.success != 'undefined' ) {
r.contentIds.find(r.success).text(s+1);
var th = ch.find('td.title'),
title = ''+subject+''+tr.pId+': '+productId+'
',
code = promotedBtn(productUrl);
th.parents('tr').find('td').addClass('exists');
th.html(title+' '+code);
}
if( typeof obj.error != 'undefined' )
r.contentIds.find(r.fail).text(f+1);
},
complete: function() {
if(cs == size){
//console.log( "Load is complete" );
$(r.importID).find('span.fa').removeClass(r.spinner);
aliprice_set_max_price();
ajax_loader( box.find('.loader'), false );
}
}
});
});
});
/**
* Selective import products
*/
$(document).on('click', r.importAdv, function(){
if ($("#categories").val()=='' && $('#dropcat').val()=='0'){
$('#dropcat').css('border', '1px solid red');
return false;
}{
$('#dropcat').css('border', '1px solid #ddd');
}
var box = $(this).parents('.import-settings'),
th = box.find('table.advanced-result tbody'),
foo = th.find('[type="checkbox"]:checked');
var size = foo.length,
cat = $('#dropcat').val(),
status = box.find(r.pstatus).val();
if( size == 0 )
return false;
var len = 100/size,
t = 0,
cs = 0;
r.content.find(r.success).text(0);
r.content.find(r.fail).text(0);
r.content.find(r.progressInner).show();
$(r.importAdv).find('span.fa').addClass(r.spinner);
ajax_loader( box.find('.loader'), true );
loadProgress();
$.each( foo, function(){
var ch = $(this).parents('tr'),
productId = $(this).val(),
packageType = $(this).data('package'),
price = $(this).data('price'),
lot = $(this).data('lot'),
productUrl = $(this).data('url'),
salePrice = $(this).data('sale'),
category = $(this).data('category'),
freeShippingCountry = $(this).data('freeShippingCountry'),
actualTime = $(this).data('date'),
imageUrl = ch.find('td.thumb img').attr('src'),
subject = ch.find('td.title .this_title').text(),
volume = ch.find('td.volume').text(),
score = ch.find('td.score').text(),
current = $(this).parents('.import-settings');
$.ajaxQueue({
url: ajaxurl,
data: {
action: 'aliprice_publish_product',
categoryAE: category,
freeShippingCountry: freeShippingCountry,
actualTime: actualTime,
evaluateScore: score,
lotNum: lot,
productUrl: productUrl,
promotionVolume: volume,
packageType: packageType,
price: price,
imageUrl: imageUrl,
subject: subject,
salePrice: salePrice,
productId: productId,
owncat: cat,
status: status
},
type: "POST",
beforeSend: function(){
t = t + 1;
var per = Math.floor(len*t);
current.find('.progress-bar').css({'width': per+'%'}).attr('aria-valuenow', per).text( per+"%" );
//console.log( "Load position: "+t );
},
success: function(data){
cs = cs + 1;
var obj = aetoJSON(data),
s = parseInt(r.content.find(r.success).text()),
f = parseInt(r.content.find(r.fail).text());
if( typeof obj.success != 'undefined' ) {
r.content.find(r.success).text(s+1);
var th = ch.find('td.title'),
title = ''+subject+''+tr.pId+': '+productId+'
',
code = promotedBtn(productUrl);
th.parents('tr').find('td').addClass('exists');
th.html(title+' '+code);
}
if( typeof obj.error != 'undefined' )
r.content.find(r.fail).text(f+1);
},
complete: function() {
if(cs == size){
$(r.importAdv).find('span.fa').removeClass(r.spinner);
aliprice_set_max_price();
ajax_loader( box.find('.loader'), false );
}
}
});
});
});
/**
* translate
*/
$(document).on('click', r.translateAdv, function(e){
var btn = $(this),
box = btn.parents('.import-settings'),
th = box.find('table.advanced-result tbody'),
foo = th.find('[type="checkbox"]:checked'),
lang = r.formtranslate.find('select[name="translate_to"]').val();
var size = foo.length;
if( size == 0 )
return false;
var len = 100/size,
t = 0,
cs = 0;
btn.find('span.fa').addClass(r.spinner);
ajax_loader( box.find('.loader'), true );
loadProgress();
$.each( foo, function(){
var th = $(this),
type = th.data('type'),
line = th.parents('tr'),
item_id = th.val();
$.ajaxQueue({
url: ajaxurl,
data: {
action: 'aliprice_translate_item',
type: type,
item_id: item_id,
lang: lang
},
type: "POST",
beforeSend: function(){
t = t + 1;
var per = Math.floor(len*t);
box.find('.progress-bar').css({'width': per+'%'}).attr('aria-valuenow', per).text( per+"%" );
},
success: function(data){
cs = cs + 1;
var obj = aetoJSON(data);
if( typeof obj.message != 'undefined' ) {
}
else {
line.find('td.original span').text(obj.o_title);
line.find('td.title span').text(obj.title);
}
th.click();
},
complete: function() {
if(cs == size){
btn.find('span.fa').removeClass(r.spinner);
ajax_loader( box.find('.loader'), false );
setTimeout(function(){
box.find('.progress-bar').css({'width':'0%'}).attr('aria-valuenow', 0).text( "0%" );
}, 500);
}
}
});
});
e.preventDefault();
});
r.translateaction.on('click', function(){
var th = $(this),
type = th.data('type'),
doing = th.data('do'),
line = th.parents('tr');
if( doing == 'translate' ) {
th.parents('tr').find('input[type="checkbox"]').click();
th.parents('.import-settings').find('button[name="do-translate"]').click();
}
else if( doing == 'repair' ) {
var id = th.parents('tr').find('input[type="checkbox"]').val();
$.ajaxQueue({
url: ajaxurl,
data: {
action: 'aliprice_repair_translate_item',
type: type,
item_id: id
},
type: "POST",
beforeSend: function(){
th.find('span.fa').addClass(r.spinner);
},
success: function(data){
var obj = aetoJSON(data);
if( typeof obj.message != 'undefined' ) {
}
else {
line.find('td.original span').text(obj.o_title);
line.find('td.title span').text(obj.title);
}
},
complete: function() {
th.find('span.fa').removeClass(r.spinner);
}
});
}
return false;
});
$(document).click(function() {
if( r.edittranslate.find('form').length > 0 ){
var form = r.edittranslate.find('form'),
text = form.find('input[name="tr-title"]').val();
form.parents('tr').find('td.can_edited span.item-inner-info').
html(text+' ');
}
});
r.edittranslate.click(function(event) {event.stopPropagation();});
r.edittranslate.on('click', 'span.this-edit', function() {
if( $(this).parents('form').find('input').length > 0 ) return false;
var th = $(this).parents('td').find('span.item-inner-info'),
str = th.text(),
type = th.parents('tr').find('input[type="checkbox"]').data('type');
var form = '';
th.html(form);
$(this).remove();
});
r.edittranslate.on('click', r.savetranslate, function(e) {
e.preventDefault();
var th = $(this).parents('form'),
text = th.find('input[name="tr-title"]'),
str = $.trim(text.val()),
type = text.data('type'),
line = th.parents('tr'),
id = line.find('input[type="checkbox"]').val();
if( str.length == 0 ){
text.css({'border':'1px solid #ff0000'});
return false;
}
$.ajaxQueue({
url: ajaxurl,
data: {
action: 'aliprice_save_new_title_item',
type: type,
item_id: id,
title: str
},
type: "POST",
beforeSend: function(){
th.find('span.item-inner-info span.fa').addClass(r.spinner);
},
success: function(data){
var obj = aetoJSON(data);
if( typeof obj.message != 'undefined' ) {
//console.log(obj.message);
th.find('span.item-inner-info span.fa').removeClass(r.spinner);
}
else {
line.find('td.can_edited span.item-inner-info').html(str);
line.find('td.can_edited').append('');
}
},
complete: function() {
//console.log( "New title saved" );
}
});
});
/* search by products ID */
t.byproducts.on( 'click', t.sendIds, function(e) {
e.preventDefault();
ajaxProducts();
});
/* advanced */
t.advanced.on( 'click', t.send, function(e) {
if ($("#categories").val()=='' && $('#keywords').val()==''){
$('#keywords').css('border', '1px solid red')
return false;
}{
$('#keywords').css('border', '1px solid #ddd')
}
e.preventDefault();
ajaxAdvansed( 1 );
});
/* click to sort btn */
$(document).on('click', r.filters+' a' , function(e) {
e.preventDefault();
t.advanced.find(t.sort).val( $(this).data('order') );
ajaxAdvansed( 1, false );
});
/* mass checked */
$(document).on('click', '.import-settings .mass-checked', function(){
var th = $(this).parents('table').find('tbody'),
current = $(this).parents('.import-settings');
if( $(this).hasClass('that-true') ){
th.find('[type="checkbox"]').attr('checked', false);
$(this).removeClass('that-true fa-check-square-o').addClass('fa-square-o');
current.find('span.count-import').text('(0)');
}
else{
th.find('[type="checkbox"]').attr('checked', true);
var count = th.find('[type="checkbox"]:checked').length;
$(this).addClass('that-true fa-check-square-o').removeClass('fa-square-o');
current.find('span.count-import').text('('+count+')');
}
});
$(document).on('click', '.import-settings table tbody [type="checkbox"]', function(){
var th = $(this).parents('tbody'),
count = th.find('[type="checkbox"]:checked').length,
countall = th.find('[type="checkbox"]').length,
current = $(this).parents('.import-settings');
if( count == countall )
current.find('.mass-checked').addClass('that-true fa-check-square-o').removeClass('fa-square-o');
else
current.find('.mass-checked').removeClass('that-true fa-check-square-o').addClass('fa-square-o');
count = th.find('[type="checkbox"]:checked').length;
current.find('span.count-import').text('('+count+')');
});
/* options */
$(document).on('click', r.stop, function(e){
e.preventDefault();
var th = $(this).parents('form');
th.find( r.status ).val(1);
});
$(document).on('click', r.searchAgain, function(e){
e.preventDefault();
var current = $(this).parents('.import-settings');
current.find('button.close').click();
});
$(document).on('click', '.content-inner button.close', function(){
t.bulk.find('.load').hide();
t.advanced.find('.load').hide();
t.byproducts.find('.load').hide();
r.output.hide();
r.outputIds.hide();
r.load.hide();
r.loadIds.hide();
r.content.find('.'+$(this).data('dismiss')).remove();
r.contentIds.find('.'+$(this).data('dismiss')).remove();
});
function ajax_loader( th, action ) {
if( action === true )
th.show();
else
th.hide();
}
function aeLoading() {
r.output.show();
r.load.show();
r.content.hide();
}
function aeLoadingIds() {
r.outputIds.show();
r.loadIds.show();
r.contentIds.hide();
}
function aeScrollDown(){
$('html, body').animate({scrollTop: r.output.offset().top}, 1500);
}
function aeModalLoading() {
s.spinner.show();
s.modalcontent.hide();
}
function aeModalDone() {
s.spinner.hide();
s.modalcontent.show();
}
function loadProgress(){
$(r.importAdv).parent().find('.loading .progress').show();
}
/*
* advanced search
**/
function ajaxAdvansed(page, scroll, beforeTable){
var total = 0,
categoryId = t.advanced.find( t.categoryId ).val();
subcategoryId = t.advanced.find( t.subcategoryId ).val();
categoryIdForRequest = categoryId;
//bigsale = t.advanced.find(t.bigsale);
if(subcategoryId !== undefined && subcategoryId > 0) {
categoryIdForRequest = subcategoryId;
}
//bigsale = ( bigsale[0].checked ) ? 'y' : '';
//If
$.ajaxQueue({
url: ajaxurl,
data: {
action: 'aliprice_advanced_show',
categoryId: categoryIdForRequest,
keywords: t.advanced.find( t.keywords ).val(),
priceFrom: t.advanced.find( t.priceFrom ).val(),
priceTo: t.advanced.find( t.priceTo ).val(),
promotionFrom: t.advanced.find( t.promotionFrom ).val(),
promotionTo: t.advanced.find( t.promotionTo ).val(),
creditScoreFrom:t.advanced.find( t.creditScoreFrom ).val(),
creditScoreTo: t.advanced.find( t.creditScoreTo ).val(),
sort: t.advanced.find( t.sort ).val(),
page_no: page
},
type: "POST",
beforeSend: function(){
aeLoading();
t.advanced.find('.load').show();
},
success: function(data){
var response = aetoJSON(data);
if( typeof response.error != 'undefined' ) {
r.load.hide();
var before = (typeof response.before != 'undefined') ? response.before : '';
r.content.html(before+''+response.error).show();
return false;
}
total = response.result.totalResults;
var filters_menu = ae_get_filters_menu(response.sort);
r.load.hide();
var output = '';
output += response.before;
output += '
'+response.title+'
\
\
\
\
\
\
\
\
\
'+response.total+' '+response.info+' \
\
\
\
';
if( typeof beforeTable == 'undefined' || beforeTable === false)
output += '
';
output += '
";
if( typeof beforeTable == 'undefined' || beforeTable === false)
output += '';
output += "
";
r.content.html(output).show();
}
}).done(function(){
if( typeof scroll == 'undefined' || scroll === true )
aeScrollDown();
createPagination( '.pagination-inner', total, page );
getDropdownCat();
getPermalink( r.content );
});
}
/*
* search by product id
**/
function ajaxProducts(){
var total = 0,
ids = t.byproducts.find(t.productId).val();
$.ajaxQueue({
url: ajaxurl,
data: {
action: 'aliprice_search_by_id_show',
ids: ids
},
type: "POST",
beforeSend: function(){
aeLoadingIds();
t.byproducts.find('.load').show();
},
success: function(data){
var response = aetoJSON(data);
if( typeof response.error != 'undefined' ) {
r.loadIds.hide();
var before = (typeof response.before != 'undefined') ? response.before : '';
r.contentIds.html(before+''+response.error).show();
return false;
}
total = response.totalResults;
r.loadIds.hide();
var output = '';
output += response.before;
output += '
'+response.title+'
\
\
\
\
\
\
\
\
\
'+response.total+' '+response.info+' \
\
\
\
';
output += '
";
output += "
";
r.contentIds.html(output).show();
}
}).done(function(){
getDropdownCat(true);
getPermalink( $(r.contentIds) );
});
}
function ae_get_filters_menu( data ){
var out = '',
current = t.advanced.find( t.sort ).val();
$.each(data, function(key, val){
if( key == 'title'){
out += ''+val+'';
}
else {
var value = val.value.split(','),
order = "",
sorted = "",
active = "";
if (in_array(current, value) && value.length > 1) {
var p = 0;
$.each(value, function (i, index) {
p = p + 1;
if (index != current) {
order = index;
if(p == 1)
sorted = '';
else
sorted = '';
}
else
active = 'active';
});
}
else {
sorted = '';
order = value[0];
if (order == current)
active = 'active';
}
out += '' + val.title + ' '+sorted+' ';
}
});
return out;
}
function getPermalink( content ){
var tu = content.find('#items-list-result tr.each'),
too = [];
if( typeof tu == 'undefined') return;
tu.each(function(){
var id = $(this).data('item');
if( typeof id != 'undefined')
too.push(id);
});
if(too.length == 0) return;
$.ajaxQueue({
url:ajaxurl,
data:{
'action': 'aliprice_permalink_import',
'products': too
},
type:"POST",
success: function(data){
var response = aetoJSON(data);
if( typeof response.not == 'undefined' ) {
$.each(response, function(i, v){
var th = $('#product-'+v.id+' td.title'),
title = ''+th.find('.this_title').text()+''+tr.pId+': '+v.id+'
',
//code = '[ali_product id="'+v.post_id+'"]';
code = promotedBtn(v.productUrl);
th.html(title+' '+code);
th.parents('tr').find('td').addClass('exists');
});
}
}
});
}
function getDropdownCat( ids ) {
$.ajaxQueue({
url:ajaxurl,
data:{'action':'aliprice_get_dropdowncat'},
type:"POST",
success: function(data){
if( typeof ids == 'undefined' || ids === false )
r.content.find(r.selectCat).html(data);
else
r.contentIds.find(r.selectCat).html(data);
}
});
}
$(document).on('click', 'button.getmodal', function(e){
var th = $(this).parents('tr'),
type = $(this).data('type');
showPromoted(th, type);
e.preventDefault();
});
function showPromoted(th, type) {
var modal = $('#Modal'),
img = th.find('.thumb img').attr('src'),
link = th.find('.cb [name="cb"]').data('url'),
title = th.find('.this_title').text();
$.ajaxQueue({
url:ajaxurl,
data:{'action':'aliprice_get_promotion', 'link':link},
type:"POST",
beforeSend: aeModalLoading,
success: function(data){
var obj = aetoJSON(data);
if( typeof obj.success != 'undefined' ) {
modal.find('.nav li').removeClass('active');
modal.find('.tab-pane').removeClass('active');
var t = modal.find('#banner'),
x = '
'+title+'';
t.find('.thumb span').html('
');
t.find('.title span').text(title);
t.find('.code textarea').text(x);
var l = modal.find('#link'),
c = ''+title+'';
l.find('.title span').text(title);
l.find('.code textarea').text(c);
modal.find('.nav li.'+type).addClass('active');
modal.find('.tab-content #'+type).addClass('active');
}
if( typeof obj.error != 'undefined' )
alert(obj.error);
},
complete: aeModalDone
});
}
function createPagination( id, numItems, current ){
var perPage = 20;
if( numItems > 10000 ) numItems = 10000;
$(id).pagination({
items: numItems,
itemsOnPage: perPage,
currentPage: current,
cssStyle: "light-theme",
prevText: tr.prev,
nextText: tr.next,
onPageClick: function(pageNumber) {
r.content.html('');
ajaxAdvansed( pageNumber );
}
});
}
function promotedBtn(url){
return '\
\
'+tr.preview+'
';
}
/**
* test connetction
*/
s.btn.on('click', function(e){
e.preventDefault();
var app = s.app.val(),
track = s.track.val(),
method = s.method.val();
username= s.username.val();
password= s.password.val();
s.content.show();
t.formupdate.hide();
$.ajaxQueue({
url:ajaxurl,
data:{'action':'aliprice_test_connection', 'app': app, 'track': track, 'method': method, 'username': username,
'password': password },
type:"POST",
beforeSend: function(){
var spinner = '
';
s.content.html(spinner);
},
success: function(data){
s.content.html(data);
}
});
});
/**
* Set max price
*/
function aliprice_set_max_price( ) {
$.ajaxQueue({
url:ajaxurl,
data:{'action':'aliprice_set_max_price'},
type:"POST",
success: function(data){}
});
}
/**
* Remove All Products
*/
t.btnremmove.on('click', function(e){
e.preventDefault();
var isDelete = confirm(tr.del);
if(isDelete)
ae_remove_all();
});
function ae_remove_all( ){
var progress = t.formremmove.find('#total-progress .progress-bar'),
step = 0;
$.ajaxQueue({
url: ajaxurl,
data: {'action':'aliprice_get_terms_id'},
type: "POST",
beforeSend: function(){
t.btnremmove.find('span').addClass(r.spinner);
progress.css({'width': '0%'}).attr('aria-valuenow', 0).text( "0%" );
},
success: function(data) {
if( data != "" ) {
data = aetoJSON(data);
var con = data.length,
len = 100 / con;
if (con > 0) {
$.each(data, function (i, index) {
$.ajaxQueue({
url: ajaxurl,
data: {'action': 'aliprice_delete_products_from_terms', 'term_id': index},
type: "POST",
beforeSend: function () {
step = i + 1;
var per = Math.floor(len * step);
progress.css({'width': per + '%'}).attr('aria-valuenow', per).text(per + "%");
//console.log("Step: " + step);
},
success: function (data) {
//console.log("Status: " + data);
},
complete: function () {
if (step == con) {
remove_prodcts();
}
}
});
});
}
else {
t.btnremmove.find('span').removeClass(r.spinner);
progress.css({'width': '100%'}).attr('aria-valuenow', 100).text("100%");
}
}
else{
t.btnremmove.find('span').removeClass(r.spinner);
progress.css({'width': '100%'}).attr('aria-valuenow', 0).text("100%");
}
}
});
}
function remove_prodcts() {
$.ajaxQueue({
url: ajaxurl,
data: {'action': 'aliprice_delete_products_remaining'},
type: "POST",
success: function (data) {
//console.log("end");
},
complete: function () {
t.btnremmove.find('span').removeClass(r.spinner);
}
});
}
function in_array(needle, haystack, strict) { // Checks if a value exists in an array
var found = false, key, strict = !!strict;
for (key in haystack) {
if ((strict && haystack[key] === needle) || (!strict && haystack[key] == needle)) {
found = true;
break;
}
}
return found;
}
/**
* Update ALL Products
*/
t.update.on('click', function(e){e.preventDefault(); ae_update_all() });
function ae_update_all( ){
var progress = t.formupdate.find('#total-progress .progress-bar');
s.content.hide();
t.formupdate.show();
ajax_loader( t.formupdate.find('.loader'), true );
$.ajaxQueue({
url: ajaxurl,
data: {'action':'aliprice_count_products'},
type: "POST",
beforeSend: function(){
t.update.find('span').addClass(r.spinner);
progress.css({'width': '0%'}).attr('aria-valuenow', 0).text( "0%" );
},
success: function(data) {
if( data != '0' ) {
var delta = Math.floor(data/20),
len = 100 / delta,
step = 0;
for( var p = 1; p <= delta; p++ ) {
$.ajaxQueue({
url: ajaxurl,
data: {'action': 'aliprice_update_products', 'position': p},
type: "POST",
beforeSend: function () {
step = step + 1;
var per = Math.floor(len * step);
progress.css({'width': per + '%'}).attr('aria-valuenow', per).text(per + "%");
//console.log("position : " + step);
},
success: function (response) {
//console.log("status: " + response);
},
complete: function () {
if (step == delta) {
t.update.find('span').removeClass(r.spinner);
aliprice_set_max_price();
progress.css({'width': '100%'}).attr('aria-valuenow', 100).text("100%");
ajax_loader( t.formupdate.find('.loader'), false );
}
}
});
}
}
else {
t.update.find('span').removeClass(r.spinner);
progress.css({'width': '100%'}).attr('aria-valuenow', 100).text("100%");
ajax_loader( t.formupdate.find('.loader'), false );
}
}
});
}
function aetoJSON(data){
try {
var response = $.parseJSON(data);
}
catch(e) {
console.log(data);
console.log(e);
return false;
}
return response;
}
//Function for changing options in "select#subcategories"
function aliprice_update_subcategories(category_value) {
var categoriesSelect = $("select#categories"), //нужен parent .item-group
subcategoriesSelect = $("select#subcategories"),
subcategoriesSelectFormItemWrap = $("#subcategory-form-item-wrap"),
subcategoriesSelectName = subcategoriesSelect.attr("name"),
subcategoriesSelectClass = subcategoriesSelect.attr("class"),
subcategoriesSelectParent = subcategoriesSelect.parent(),
options = '',
emptySelect = '';
$.ajaxQueue({
url: ajaxurl,
data: {
'action': 'aliprice_update_subcategories',
'category_ali_id': category_value
},
type: "POST",
success: function (data) {
data = JSON.parse(data);
if(data[0].error) {
subcategoriesSelectParent.html("").html(emptySelect);
subcategoriesSelectFormItemWrap.css({"display" : "none"});
} else {
jQuery.each(data, function (index, value) {
options += '';
});
var notEmptySelect = '';
subcategoriesSelectParent.html("").html(notEmptySelect);
subcategoriesSelectFormItemWrap.css({"display" : "block"});
}
},
error: function () {
subcategoriesSelectParent.html("").html(emptySelect);
}
});
} //END ae_update_subcategories()
});