jQuery(document).ready(function($) {
// Dialog opener for information on mapping attributes
jQuery( "#dialog" ).dialog({
autoOpen: false,
show: {
effect: "blind",
duration: 1000
},
hide: {
effect: "explode",
duration: 1000
}
});
// Add a mapping row to the table for field mappings
jQuery(".add-field-mapping").on('click', function(){
var nonce = $('#_wpnonce').val();
var channel_hash = $('#channel_hash').val();
var prevRow = $("tr.rowCount:last input[type=hidden]").val();
var addrow_value = $('#addrow').val();
// When user deletes all default fields
if (prevRow === undefined){
prevRow = 0;
}
var rowCount = Number(prevRow) + Number(addrow_value);
var newrow_value = Number(addrow_value) + Number(1);
$('#addrow').val(newrow_value);
jQuery.ajax({
method: "POST",
url: ajaxurl,
data: {
'action': 'woosea_fieldmapping_dropdown',
'rowCount': rowCount,
'security': nonce,
'channel_hash': channel_hash
}
})
.done(function( data ) {
data = JSON.parse( data );
$( '#woosea-fieldmapping-table' ).append('
');
$('.select-field').on('change', function(){
if ($(this).val() == "static_value") {
var rownr = $(this).closest("tr").prevAll("tr").length;
$(this).replaceWith('');
}
});
})
.fail(function( data ) {
console.log('Failed AJAX Call :( /// Return Data: ' + data);
});
});
// Add a mapping row to the table for own mappings
jQuery(".add-own-mapping").on('click', function(){
var nonce = $('#_wpnonce').val();
var channel_hash = $('#channel_hash').val();
var prevRow = $("tr.rowCount:last input[type=hidden]").val();
var addrow_value = $('#addrow').val();
// When user deletes all default fields
if (prevRow === undefined){
prevRow = 0;
}
var rowCount = Number(prevRow) + Number(addrow_value);
var newrow_value = Number(addrow_value) + Number(1);
$('#addrow').val(newrow_value);
jQuery.ajax({
method: "POST",
url: ajaxurl,
data: {
'action': 'woosea_fieldmapping_dropdown',
'security': nonce,
'rowCount': rowCount,
'channel_hash': channel_hash
}
})
.done(function( data ) {
data = JSON.parse( data );
$( '#woosea-fieldmapping-table' ).append('
');
$('.select-field').on('change', function(){
if ($(this).val() == "static_value") {
var rownr = $(this).closest("tr").prevAll("tr").length;
$(this).replaceWith('');
}
});
})
.fail(function( data ) {
console.log('Failed AJAX Call :( /// Return Data: ' + data);
});
});
jQuery("#savebutton").on('click', function(){
$("#own-input-field").each(function() {
var input=$(this).val();
var re = /^[a-zA-Zа-яА-Я_-]*$/;
if (input.indexOf("PARAM_") >= 0){
// For Yandex, Zbozi and Heureka also accept Cyrillic characters
var re = /.*/;
}
var minLength = 2;
var maxLength = 50;
var is_input=re.test(input);
// Check for allowed characters
if (!is_input){
$('form').submit(function(){
return false;
});
$('.notice').replaceWith("
Sorry, when creating new custom fields only letters are allowed (so no white spaces, numbers or any other character are allowed).
");
} else {
// Check for length of fieldname
if (input.length < minLength){
$('form').submit(function(){
return false;
});
$('.notice').replaceWith("
Sorry, your custom field name needs to be at least 2 letters long.