83 lines
2.7 KiB
JavaScript
83 lines
2.7 KiB
JavaScript
if(typeof(EventSource) !== "undefined") {
|
|
console.log('SSE supported');
|
|
|
|
const tableName = '#konfis'
|
|
const table = $( tableName )
|
|
|
|
let source = new EventSource('/events');
|
|
source.onmessage = e => {
|
|
console.debug('unsupported event!', e)
|
|
};
|
|
source.addEventListener('init', e => {
|
|
console.debug('init', e)
|
|
const data = JSON.parse(e.data)
|
|
table.html('');
|
|
$.each( data, (i, item) => {
|
|
if (item.gemeinde !== undefined) {
|
|
table.append('<tr data-id="' + item.id + '"> ' +
|
|
'<td>' + item.name + '</td> ' +
|
|
'<td>' + item.gemeinde + '</td> ' +
|
|
'<td>' + item.kcoins + '</td>' +
|
|
'</tr>');
|
|
} else {
|
|
table.append('<tr data-id="' + item.id + '"> ' +
|
|
'<td>' + item.name + '</td> ' +
|
|
'<td>' + item.kcoins + '</td>' +
|
|
'<td>' + (item.coins_quota).toFixed(2) + '</td> ' +
|
|
'</tr>');
|
|
}
|
|
});
|
|
})
|
|
source.addEventListener('update', e => {
|
|
console.debug('update', e)
|
|
// TODO: Make sure everything is sorted...
|
|
const data = JSON.parse(e.data)
|
|
$(tableName + ` tr`).each((i, tr) => {
|
|
if(tr.dataset.id == data.id) {
|
|
tr.innerHTML = '<td>' + data.name + '</td> ' +
|
|
'<td>' + data.kcoins + '</td>' +
|
|
'<td>' + (data.coins_quota).toFixed(2) + '</td> '
|
|
}
|
|
})
|
|
})
|
|
source.addEventListener('create', e => {
|
|
console.debug('create', e)
|
|
const data = JSON.parse(e.data)
|
|
})
|
|
source.addEventListener('delete', e => {
|
|
console.debug('delete', e)
|
|
const data = JSON.parse(e.data)
|
|
})
|
|
source.onopen = evt => {
|
|
console.debug('SSE opened', evt)
|
|
}
|
|
source.onerror = evt => {
|
|
console.debug('SSE Error', evt)
|
|
}
|
|
} else {
|
|
console.log('SSE not supported!');
|
|
}
|
|
|
|
/*
|
|
setInterval(function() {
|
|
$.getJSON('/list', function (data) {
|
|
$( "#konfis" ).html('');
|
|
$.each( data, function( i, item ) {
|
|
if (item.gemeinde != undefined) {
|
|
$( "#konfis" ).append('<tr> ' +
|
|
'<td>' + item.name + '</td> ' +
|
|
'<td>' + item.gemeinde + '</td> ' +
|
|
'<td>' + item.kcoins + '</td>' +
|
|
'</tr>');
|
|
} else {
|
|
$( "#konfis" ).append('<tr> ' +
|
|
'<td>' + item.name + '</td> ' +
|
|
'<td>' + item.kcoins + '</td>' +
|
|
'<td>' + (item.coins_quota).toFixed(2) + '</td> ' +
|
|
'</tr>');
|
|
}
|
|
});
|
|
});
|
|
}, 1000);
|
|
*/
|