- Coupon Add/Edit/Delete rule AJAX
This commit is contained in:
gmorel
2013-09-09 21:43:58 +02:00
parent 6b6dc1c800
commit 0fe443f53d
8 changed files with 252 additions and 138 deletions

View File

@@ -37,29 +37,86 @@
$(function($){
miniBrowser(0, '/test_to_remove/datas_coupon_edit.json');
$('#effect').on('change', function (e) {
var optionSelected = $("option:selected", this);
$('#effectToolTip').html(optionSelected.attr("data-description"));
});
$('#category-rule').on('change', function (e) {
$('#rule-add-operators-values').html('<div class="loading" ></div>');
var url = "{$urlAjaxGetRuleInput}";
url = url.replace('ruleId', $(this).val())
console.log(url);
$.ajax({
url: url,
statusCode: {
404: function() {
$('#rule-add-operators-values').html(
'{intl l='Please select another rule'}'
);
}
}
}).done(function(data) {
$('#rule-add-operators-values').html(data);
// Init Rules
var initRule = function() {
var rules = [];
{foreach from=$rulesObject key=k item=rule}
var rule = [];
rule['serviceId'] = '{$rule.serviceId nofilter}';
rule['operators'] = [];
rule['values'] = [];
{foreach from=$rule.validators.setOperators key=input item=operator}
rule['operators']['{$input nofilter}'] = '{$operator nofilter}';
rule['values']['{$input nofilter}'] = '{$rule.validators.setValues[$input] nofilter}';
{/foreach}
rules.push(rule);
{/foreach}
return rules;
}
// Save Rules AJAX
var saveRuleAjax = function() {
console.log(rules);
console.log('save');
}
// Remove 1 Rule then Save Rules AJAX
var removeRuleAjax = function($id) {
rules.slice($id, 1);
saveRuleAjax();
}
// Add 1 Rule then Save Rules AJAX
var addRuleAjax = function() {
rules.pop(ruleToSave);
saveRuleAjax();
}
var rules = initRule();
console.log(rules);
// Reload effect inputs when changing effect
var onEffectChange = function() {
$('#effect').on('change', function (e) {
var optionSelected = $("option:selected", this);
$('#effectToolTip').html(optionSelected.attr("data-description"));
});
});
}
onEffectChange();
// Reload rule inputs when changing effect
var onRuleChange = function() {
$('#category-rule').on('change', function (e) {
$('#rule-add-operators-values').html('<div class="loading" ></div>');
var url = "{$urlAjaxGetRuleInput}";
url = url.replace('ruleId', $(this).val())
console.log(url);
$.ajax({
url: url,
statusCode: {
404: function() {
$('#rule-add-operators-values').html(
'{intl l='Please select another rule'}'
);
}
}
}).done(function(data) {
$('#rule-add-operators-values').html(data);
});
});
}
onRuleChange();
});