Konfi-Castle-Kasino/assets/js/admin.js
kolaente b89c5bc17d
All checks were successful
continuous-integration/drone/push Build is passing
tabbing is now a thing
2019-09-11 20:15:44 +02:00

182 lines
7.4 KiB
JavaScript

function getList() {
$.getJSON('/list?asc=name', function (data) {
$("#list").html('');
$.each(data, function (i, item) {
// Modus nach Gemeindeb
if(item.gemeinde !== undefined) {
$("#list").append('<tr id="kcoins_row_' + item.id + '">' +
'<td>' + item.name + '</td> ' +
'<td>' + item.gemeinde + '</td> ' +
'<td id="kcoins_display_' + item.id + '">' + item.kcoins + '</td>' +
'<td><span class="ui action input" id="kcoins_container_' + item.id + '"><input type="number" value="0" tabindex="' + (i +1) + '" id="kcoins_' + item.id + '" name="kcoins" autocomplete="off" /><button class="ui right labeled icon button green" onclick="updateCoins(\'' + item.id + '\');"><i class="right dollar icon"></i>KonfiCoins Hinzufügen</button></span>&nbsp;&nbsp;&nbsp;&nbsp;<button class="ui button red" onclick="deleteKonfi(\'' + item.id + '\');" id="kcoins_container_' + item.id + '">Konfi Löschen</button></td></tr>');
} else {
$("#list").append('<tr id="kcoins_row_' + item.id + '"> ' +
'<td>' + item.name + '</td> ' +
'<td id="kcoins_display_' + item.id + '">' + item.kcoins + '</td>' +
'<td>' + item.konfi_count + '</td> ' +
'<td id="kcoins_quota_' + item.id + '">' + (item.coins_quota).toFixed(2) + '</td> ' +
'<td><span class="ui action input" id="kcoins_container_' + item.id + '"><input type="number" value="0" tabindex="' + (i +1) + '" id="kcoins_' + item.id + '" name="kcoins" autocomplete="off" /><button class="ui right labeled icon button green" onclick="updateCoins(\'' + item.id + '\');"><i class="right dollar icon"></i>KonfiCoins Hinzufügen</button></span>&nbsp;&nbsp;&nbsp;&nbsp;<button class="ui button red" onclick="deleteGemeinde(\'' + item.id + '\');" id="kcoins_container_' + item.id + '">Gemeinde Löschen</button></td></tr>');
}
$('#kcoins_' + item.id).on('keypress', function (e) {
if(e.which === 13){
$(this).attr('disabled', 'disabled');
updateCoins(item.id);
$(this).removeAttr('disabled');
}
});
});
});
}
getList();
function updateCoins(id) {
let addcoins = $('#kcoins_' + id).val();
if(addcoins !== 0) {
$('#coins_container_' + id).addClass('disabled');
$.ajax({
url: '/admin/update',
method: 'POST',
data: 'id=' + id + '&addcoins=' + addcoins,
success: function (msg) {
$('#coins_container_' + id).removeClass('disabled');
if (msg.message === 'success') {
$('#kcoins_' + id).val("0");
$('#kcoins_display_' + id).html(msg.data.kcoins);
if(msg.data.coins_quota !== undefined) {
$('#kcoins_quota_' + id).html(msg.data.coins_quota.toFixed(2));
}
} else {
$('#msg').html('<div class="ui error message" style="display: block;">Ein Fehler trat auf.</div>');
}
}
});
}
}
function deleteKonfi(id) {
$('#kcoins_container_' + id).addClass('disabled');
$('.ui.basic.kofidel.modal')
.modal({
closable : false,
duration: 200,
onDeny : function(){
$('#kcoins_container_' + id).removeClass('disabled');
return true;
},
onApprove : function() {
$.ajax({
url: '/admin/delete',
method: 'POST',
data: 'id=' + id,
success: function (msg) {
if (msg === 'success') {
getList();
$('#msg').html('<div class="ui success message" style="display: block;">Der Konfi wurde erfolgreich gelöscht.</div>');
} else {
$('#msg').html('<div class="ui error message" style="display: block;">Ein Fehler trat auf.</div>');
}
}
});
}
})
.modal('show')
;
}
function deleteGemeinde(id) {
$('#kcoins_container_' + id).addClass('disabled');
$('.ui.basic.gemeindedel.modal')
.modal({
closable : false,
duration: 200,
onDeny : function(){
$('#kcoins_container_' + id).removeClass('disabled');
return true;
},
onApprove : function() {
$.ajax({
url: '/admin/delete',
method: 'POST',
data: 'id=' + id,
success: function (msg) {
if (msg === 'success') {
getList();
$('#msg').html('<div class="ui success message" style="display: block;">Die Gemeinde wurde erfolgreich gelöscht.</div>');
} else {
$('#msg').html('<div class="ui error message" style="display: block;">Ein Fehler trat auf.</div>');
}
}
});
}
})
.modal('show')
;
}
// Konfi hinzufügen
$('.ui.kofiadd.modal')
.modal({
duration: 200,
onApprove : function() {
$('.loader').addClass('active');
$.ajax({
url: '/admin/add',
method: 'POST',
data: 'name=' + $('#name').val() + '&gemeinde=' + $('#gemeinde').val(),
success: function (msg) {
$('.loader').removeClass('active');
if (msg === 'success') {
$('#name').val('');
$('#gemeinde').val('');
getList();
$('#msg').html('<div class="ui success message" style="display: block;">Der Konfi wurde erfolgreich hinzugefügt.</div>');
} else {
$('#msg').html('<div class="ui error message" style="display: block;">Ein Fehler trat auf.</div>');
}
}
});
}
})
.modal('attach events', '.addKofi.button', 'show')
;
$('.ui.gemeindeadd.modal')
.modal({
duration: 200,
onApprove : function() {
$('.loader').addClass('active');
$.ajax({
url: '/admin/add',
method: 'POST',
data: 'name=' + $('#name').val() + '&konfis=' + $('#konfis').val(),
success: function (msg) {
$('.loader').removeClass('active');
if (msg === 'success') {
$('#name').val('');
getList();
$('#msg').html('<div class="ui success message" style="display: block;">Die Gemeinde wurde erfolgreich hinzugefügt.</div>');
} else {
$('#msg').html('<div class="ui error message" style="display: block;">Ein Fehler trat auf.</div>');
}
}
});
}
})
.modal('attach events', '.addGemeinde.button', 'show')
;
$('.ui.kofiupload.modal')
.modal('attach events', '.ui.right.labeled.icon.uploadKofis.button.blue', 'show')
;