Files
torebki-fabiola.pl/wp-content/plugins/woo-product-feed-pro/js/woosea_channel.js
2026-03-05 13:07:40 +01:00

181 lines
9.8 KiB
JavaScript

jQuery(document).ready(function($) {
jQuery("#shipping_zone").on('click', function(){
var variations = ( $( "#shipping_zone" ).is(':checked')) ? 1 : 0;
if(variations == "1"){
jQuery.ajax({
method: "POST",
url: ajaxurl,
data: { 'action': 'woosea_shipping_zones' }
})
.done(function( data ) {
data = JSON.parse( data );
$('#shipping_zones').after('<tr id="select_shipping_zone"><td><i>Select shipping zone:</i><br/>You have multiple shipping zones configured for your shop. Do you want to add all Shipping zones to your product feed or just a one?</td><td valign="top"><select name="zone" class="select-field">' + data.dropdown + '</select></td></tr>');
})
.fail(function( data ) {
console.log('Failed AJAX Call :( /// Return Data: ' + data);
});
} else {
$('#select_shipping_zone').remove();
}
});
jQuery("#channel_hash").on("change", function(){
var channel_hash = $("#channel_hash").find('option:selected').text();
if(channel_hash == 'Google Remarketing - DRM'){ // Ugly hack, should be configurable per channel
$("#fileformat option[value='xml']").remove();
$("#fileformat option[value='txt']").remove();
$("#fileformat option[value='tsv']").remove();
$('#file').after('<tr id="delimiter"><td><span>Delimiter:</span></td><td><select name="delimiter" class="select-field"><option value=",">, comma</option><option value="|">| pipe</option><option value=";">;</option><option value="tab">tab</option><option value="#">#</option></select></td></tr>');
} else if(channel_hash == 'Guenstiger.de'){ // Ugly hack, should be configurable per channel
$("#fileformat option[value='xml']").remove();
$("#fileformat option[value='txt']").remove();
$("#fileformat option[value='tsv']").remove();
$('#file').after('<tr id="delimiter"><td><span>Delimiter:</span></td><td><select name="delimiter" class="select-field"><option value=",">, comma</option><option value="|">| pipe</option><option value=";">;</option><option value="tab">tab</option><option value="#">#</option></select></td></tr>');
} else if(channel_hash == 'Google - DSA'){ // Ugly hack, should be configurable per channel
$("#fileformat option[value='xml']").remove();
$("#fileformat option[value='txt']").remove();
$("#fileformat option[value='tsv']").remove();
$('#file').after('<tr id="delimiter"><td><span>Delimiter:</span></td><td><select name="delimiter" class="select-field"><option value=",">, comma</option><option value="|">| pipe</option><option value=";">;</option><option value="tab">tab</option><option value="#">#</option></select></td></tr>');
} else if(channel_hash == 'Wish.com'){ // Ugly hack, should be configurable per channel
$("#fileformat option[value='xml']").remove();
$("#fileformat option[value='txt']").remove();
$("#fileformat option[value='tsv']").remove();
$('#file').after('<tr id="delimiter"><td><span>Delimiter:</span></td><td><select name="delimiter" class="select-field"><option value=",">, comma</option><option value="|">| pipe</option><option value=";">;</option><option value="tab">tab</option><option value="#">#</option></select></td></tr>');
} else if(channel_hash == 'Google Local Products Inventory'){ // Ugly hack, should be configurable per channel
$("#fileformat option[value='csv']").remove();
$("#fileformat option[value='tsv']").remove();
$('#file').after('<tr id="delimiter"><td><span>Delimiter:</span></td><td><select name="delimiter" class="select-field"><option value=",">, comma</option><option value="|">| pipe</option><option value=";">;</option><option value="tab">tab</option><option value="#">#</option></select></td></tr>');
} else if(channel_hash == 'Google Shopping'){ // Ugly hack, should be configurable per channel
$("#fileformat option[value='txt']").remove();
$("#fileformat option[value='csv']").remove();
$("#fileformat option[value='tsv']").remove();
$('#file').after('<tr id="delimiter"><td><span>Delimiter:</span></td><td><select name="delimiter" class="select-field"><option value=",">, comma</option><option value="|">| pipe</option><option value=";">;</option><option value="tab">tab</option><option value="#">#</option></select></td></tr>');
} else if(channel_hash == 'Fashionchick.nl'){ // Ugly hack, should be configurable per channel
$("#fileformat option[value='tsv']").remove();
$("#fileformat option[value='xml']").remove();
$('#file').after('<tr id="delimiter"><td><span>Delimiter:</span></td><td><select name="delimiter" class="select-field"><option value=",">, comma</option><option value="|">| pipe</option><option value=";">;</option><option value="tab">tab</option><option value="#">#</option></select></td></tr>');
} else if(channel_hash == 'Bol.com'){ // Ugly hack, should be configurable per channel
$("#fileformat option[value='tsv']").remove();
$("#fileformat option[value='xml']").remove();
$('#file').after('<tr id="delimiter"><td><span>Delimiter:</span></td><td><select name="delimiter" class="select-field"><option value=",">, comma</option><option value="|">| pipe</option><option value=";">;</option><option value="tab">tab</option><option value="#">#</option></select></td></tr>');
} else if(channel_hash == 'Snapchat Product Catalog'){ // Ugly hack, should be configurable per channel
$("#fileformat option[value='tsv']").remove();
$("#fileformat option[value='xml']").remove();
$("#fileformat option[value='txt']").remove();
$('#file').after('<tr id="delimiter"><td><span>Delimiter:</span></td><td><select name="delimiter" class="select-field"><option value=",">, comma</option><option value="|">| pipe</option><option value=";">;</option><option value="tab">tab</option><option value="#">#</option></select></td></tr>');
} else {
$("#fileformat")
.empty()
.append('<option value="xml">XML</option><option value="csv">CSV</option><option value="txt">TXT</option><option value="tsv">TSV</option>')
;
}
});
// The Aelia currency has changed, make sure to warn the user to also change the currency prefix and/or suffix
//$('.aelia_switch').change(function(){
$('.aelia_switch').on('change', function(){
var popup_dialog = alert("You have changed the Aelia currency, this will change pricing in your product feed. Make sure the currency prefix and/or suffix on the field mapping page is correct.");
});
jQuery("#countries").on("change", function(){
var country = this.value;
jQuery.ajax({
method: "POST",
url: ajaxurl,
data: { 'action': 'woosea_channel', 'country': country }
})
.done(function( data ) {
data = JSON.parse( data );
var select = $('#channel_hash');
select.empty();
$.each(data, function(index, val) {
if(val.type == 'Custom Feed'){
if($('optgroup[label="Custom Feed"]').length == 0){
var optgroup_customfeed = $('<optgroup id="CustomFeed">');
optgroup_customfeed.attr('label', val.type);
$("#channel_hash").append(optgroup_customfeed);
$("<option>").val(val.channel_hash).text(val.name).appendTo("#CustomFeed");
} else {
$("<option>").val(val.channel_hash).text(val.name).appendTo("#CustomFeed");
}
}
if(val.type == 'Advertising'){
if($('optgroup[label="Advertising"]').length == 0){
var optgroup_advertising = $('<optgroup id="Advertising">');
optgroup_advertising.attr('label', val.type);
$("#channel_hash").append(optgroup_advertising);
$("<option>").val(val.channel_hash).text(val.name).appendTo("#Advertising");
} else {
$("<option>").val(val.channel_hash).text(val.name).appendTo("#Advertising");
}
}
if(val.type == 'Comparison shopping engine'){
if($('optgroup[label="Comparison shopping engine"]').length == 0){
var optgroup_shopping = $('<optgroup id="Shopping">');
optgroup_shopping.attr('label', val.type);
$("#channel_hash").append(optgroup_shopping);
$("<option>").val(val.channel_hash).text(val.name).appendTo("#Shopping");
} else {
$("<option>").val(val.channel_hash).text(val.name).appendTo("#Shopping");
}
}
if(val.type == 'Marketplace'){
if($('optgroup[label="Marketplace"]').length == 0){
var optgroup_marketplace = $('<optgroup id="Marketplace">');
optgroup_marketplace.attr('label', val.type);
$("#channel_hash").append(optgroup_marketplace);
$("<option>").val(val.channel_hash).text(val.name).appendTo("#Marketplace");
} else {
$("<option>").val(val.channel_hash).text(val.name).appendTo("#Marketplace");
}
}
});
})
.fail(function( data ) {
console.log('Failed AJAX Call :( /// Return Data: ' + data);
});
});
jQuery("#fileformat").on("change", function(){
var fileformat = this.value;
if (fileformat == "xml"){
$('#delimiter').remove();
} else {
// Put delimiter dropdown back
if($("#delimiter").length == 0){
$('#file').after('<tr id="delimiter"><td><span>Delimiter:</span></td><td><select name="delimiter" class="select-field"><option value=",">, comma</option><option value="|">| pipe</option><option value=";">;</option><option value="tab">tab</option><option value="#">#</option></select></td></tr>');
}
}
});
var manage_fileformat = jQuery("#fileformat").val();
var project_update = jQuery("#project_update").val();
if (manage_fileformat == "xml"){
$('#delimiter').remove();
}
if (project_update == "yes"){
$('#goforit').attr('disabled',false);
}
});