|
|
|
@ -1,5 +1,5 @@
|
|
|
|
|
"use strict";
|
|
|
|
|
/* global define, app, socket, bootbox */
|
|
|
|
|
/* global define, app, ajaxify, socket, templates, bootbox */
|
|
|
|
|
|
|
|
|
|
define('admin/extend/rewards', function() {
|
|
|
|
|
var rewards = {};
|
|
|
|
@ -9,17 +9,72 @@ define('admin/extend/rewards', function() {
|
|
|
|
|
active;
|
|
|
|
|
|
|
|
|
|
rewards.init = function() {
|
|
|
|
|
//available = JSON.parse($('#rewards').val());
|
|
|
|
|
//active = JSON.parse($('#active').val());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$(window).on('action:ajaxify.end', function() {
|
|
|
|
|
available = JSON.parse(ajaxify.variables.get('rewards'));
|
|
|
|
|
active = JSON.parse(ajaxify.variables.get('active'));
|
|
|
|
|
|
|
|
|
|
$('[data-selected]').each(function() {
|
|
|
|
|
console.log($(this).attr('data-selected'));
|
|
|
|
|
$(this).val($(this).attr('data-selected'));
|
|
|
|
|
select($(this));
|
|
|
|
|
}).on('change', function() {
|
|
|
|
|
update($(this));
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
function select(el) {
|
|
|
|
|
el.val(el.attr('data-selected'));
|
|
|
|
|
switch (el.attr('name')) {
|
|
|
|
|
case 'reward':
|
|
|
|
|
selectReward(el);
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function update(el) {
|
|
|
|
|
el.attr('data-selected', el.val());
|
|
|
|
|
switch (el.attr('name')) {
|
|
|
|
|
case 'reward':
|
|
|
|
|
selectReward(el);
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function selectReward(el) {
|
|
|
|
|
var div = el.parent().find('.inputs'),
|
|
|
|
|
inputs,
|
|
|
|
|
html = '';
|
|
|
|
|
|
|
|
|
|
for (var reward in available) {
|
|
|
|
|
if (available.hasOwnProperty(reward)) {
|
|
|
|
|
if (parseInt(available[reward].rewardID, 10) === parseInt(el.attr('data-selected'), 10)) {
|
|
|
|
|
inputs = available[reward].inputs;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!inputs) {
|
|
|
|
|
app.alertError('Illegal reward - no inputs found! ' + el.attr('data-selected'));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
inputs.forEach(function(input) {
|
|
|
|
|
html += '<label for="' + input.name + '">' + input.label;
|
|
|
|
|
switch (input.type) {
|
|
|
|
|
case 'select':
|
|
|
|
|
html += '<select name="' + input.name + '">';
|
|
|
|
|
input.values.forEach(function(value) {
|
|
|
|
|
html += '<option value="' + value.value + '">' + value.name + '</option>';
|
|
|
|
|
});
|
|
|
|
|
break;
|
|
|
|
|
case 'text':
|
|
|
|
|
html += '<input type="text" name="' + input.name +'" />';
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
html += '</label>';
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
div.html(html);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return rewards;
|
|
|
|
|
});
|