150 lines
6.9 KiB
JavaScript
150 lines
6.9 KiB
JavaScript
$(function () {
|
|
|
|
$('button.convertCsvReplacement').on('click', function (e) {
|
|
e.preventDefault();
|
|
var csv = $('textarea.replacements-csv-convert').val();
|
|
var rows = csv.split("\n");
|
|
for (var i in rows) {
|
|
$('.addReplacement').trigger('click');
|
|
var cells = rows[i].split('";"');
|
|
cells[0] = cells[0].substr(1, cells[0].length);
|
|
cells[1] = cells[1].substr(0, cells[1].length - 1);
|
|
$('.replacements .replacement:last-child input.find').val(cells[0]);
|
|
$('.replacements .replacement:last-child input.replace').val(cells[1]);
|
|
}
|
|
|
|
return false;
|
|
});
|
|
$(document).on('click', '.removeReplacement', function (e) {
|
|
e.preventDefault();
|
|
var replacementsInfo = $(this).parent().parent().parent().parent().parent().parent().find('.replacements-info').eq(0);
|
|
if (($(this).parent().parent().parent().parent().parent().parent().find('.replacement').length - 1) > 0) {
|
|
replacementsInfo.addClass('hidden');
|
|
} else {
|
|
replacementsInfo.removeClass('hidden');
|
|
}
|
|
|
|
$(this).parent().parent().parent().parent().remove();
|
|
return false;
|
|
});
|
|
$(document).on('click', '.addReplacement', function (e) {
|
|
e.preventDefault();
|
|
var replacementsInfo = $(this).parent().parent().parent().find('.replacements-info').eq(0);
|
|
if (!replacementsInfo.hasClass('hidden')) {
|
|
replacementsInfo.addClass('hidden');
|
|
}
|
|
|
|
var replacements = $(this).parent().parent().parent().find('.replacements').eq(0);
|
|
var nameKey = 'replacement[' + replacementCounter + ']';
|
|
var html = '<div class="form-group replacement">\
|
|
<div class="row">\
|
|
<div class="col-xs-6">\
|
|
<div class="form-group">\
|
|
<label class="control-label col-xs-3" for="' + nameKey + '[find]">\
|
|
' + lang_find + '\
|
|
</label>\
|
|
<div class="col-xs-9">\
|
|
<input type="text" name="' + nameKey + '[find]" id="' + nameKey + '[find]"\
|
|
class="form-control find" value="" placeholder="Enter value to replace">\
|
|
</div>\
|
|
</div>\
|
|
<div class="form-group">\
|
|
<label class="control-label col-xs-3" for="' + nameKey + '[replace]">\
|
|
' + lang_replace + '\
|
|
</label>\
|
|
<div class="col-xs-9">\
|
|
<input type="text" name="' + nameKey + '[replace]" id="' + nameKey + '[replace]"\
|
|
class="form-control replace" value="" placeholder="Enter new value">\
|
|
</div>\
|
|
</div>\
|
|
</div>\
|
|
<div class="col-xs-6">\
|
|
<div class="form-group">\
|
|
<label class="control-label col-lg-6">\
|
|
' + lang_regex + '\
|
|
<span class="label-tooltip" onclick="fancyMsgBox(\'' + lang_regex_info + '\');">?</span>\
|
|
</label>\
|
|
<div class="col-lg-6">\
|
|
<span class="switch prestashop-switch fixed-width-md">\
|
|
<input type="radio" name="' + nameKey + '[regex]" \
|
|
id="' + nameKey + '[regex]_on" value="1">\
|
|
<label for="' + nameKey + '[regex]_on">Yes</label>\
|
|
<input type="radio" name="' + nameKey + '[regex]" \
|
|
id="' + nameKey + '[regex]_off" value="0"checked="checked">\
|
|
<label for="' + nameKey + '[regex]_off">No</label>\
|
|
<a class="slide-button btn"></a>\
|
|
</span>\
|
|
</div>\
|
|
</div>\
|
|
<div class="form-group">\
|
|
<button class="removeReplacement btn btn-danger btn-sm pull-right">\
|
|
<i class="icon-trash"></i> Remove\
|
|
</button>\
|
|
</div>\
|
|
</div>\
|
|
</div>\
|
|
<hr>\
|
|
</div>';
|
|
++replacementCounter;
|
|
replacements.append(html);
|
|
return false;
|
|
});
|
|
// conditions
|
|
|
|
var token = document.location.href.split('&token=')[1].split('&')[0];
|
|
var file = document.location.href.split('&file=')[1].split('&')[0];
|
|
$.get("index.php?controller=PShowImporterConfig&token=" + token + "&page=getsavedconditions&file=" + file, function (conditions) {
|
|
conditions = JSON.parse(conditions);
|
|
for (var k in conditions) {
|
|
addConditionToTable(conditions[k].field, conditions[k].condition, conditions[k].value, conditions[k].action);
|
|
}
|
|
});
|
|
|
|
$(document).on('click', '.btn-addCondition', function (e) {
|
|
e.preventDefault();
|
|
var field = $('select#condition_field').val();
|
|
var condition = $('select#condition_condition').val();
|
|
var value = $('input#condition_value').val();
|
|
var action = $('select#condition_action').val();
|
|
addConditionToTable(field, condition, value, action);
|
|
return false;
|
|
});
|
|
$(document).on('click', '.btn-delCondition', function (e) {
|
|
e.preventDefault();
|
|
$(this).parent().parent().remove();
|
|
return false;
|
|
});
|
|
});
|
|
|
|
var conditionsCounter = 0;
|
|
|
|
/**
|
|
* Add condition to conditions table
|
|
*
|
|
* @param string field
|
|
* @param string condition
|
|
* @param string value
|
|
* @param string action
|
|
*/
|
|
function addConditionToTable(field, condition, value, action) {
|
|
//if (field === '' || condition === '' || value === '' || action === '') {
|
|
// alert("Fill all fields");
|
|
// return;
|
|
//}
|
|
|
|
var conditions_table = $('tbody.conditions-table');
|
|
var nameKey = 'conditions[' + conditionsCounter + ']';
|
|
var tr = "<tr>";
|
|
tr += "<td>" + field + "<input type='hidden' name='" + nameKey + "[field]' value='" + field + "'></td>";
|
|
tr += "<td>" + condition + "<input type='hidden' name='" + nameKey + "[condition]' value='" + condition + "'></td>";
|
|
tr += "<td>" + value + "<input type='hidden' name='" + nameKey + "[value]' value='" + value + "'></td>";
|
|
tr += "<td>" + action + "<input type='hidden' name='" + nameKey + "[action]' value='" + action + "'></td>";
|
|
tr += "<td class=\"fixed-width-md\">\
|
|
<button class=\"btn-delCondition btn btn-default\">\
|
|
<i class=\"icon-trash\"></i> Remove\
|
|
</button>\
|
|
</td>";
|
|
tr += "</tr>";
|
|
++conditionsCounter;
|
|
conditions_table.append(tr);
|
|
} |