74 lines
2.4 KiB
JavaScript
74 lines
2.4 KiB
JavaScript
|
|
|
|
|
|
/* startup, load groups from database */
|
|
|
|
document.addEventListener('DOMContentLoaded', function () {
|
|
let table = new DataTable('#aisTable', {
|
|
"ajax" : {
|
|
"url" : "http://192.168.2.25:9050/api/ais",
|
|
"dataSrc" : "",
|
|
"type" : "GET"
|
|
},
|
|
columns: [
|
|
{ data: 'MMSI' },
|
|
{ data: 'Name' },
|
|
{ data: 'LastUpdate' },
|
|
{ data: 'Latitude' },
|
|
{ data: 'Longitude' },
|
|
{ data: 'IMO' },
|
|
{ data: 'IsClassB' }
|
|
]
|
|
} );
|
|
|
|
setInterval( function () {
|
|
table.ajax.reload( null, false ); // user paging is not reset on reload
|
|
}, 30000 );
|
|
|
|
} );
|
|
|
|
|
|
function update() {
|
|
fetch('http://192.168.2.25:9050/api/ais')
|
|
.then(function (response) {
|
|
return response.json();
|
|
})
|
|
.then(function (data) {
|
|
updateData(data);
|
|
})
|
|
.catch(function (err) {
|
|
console.log('error: ' + err);
|
|
});
|
|
function updateData(data) {
|
|
var table = document.getElementById('aisTable');
|
|
for (var i = 0; i < data.length; i++) {
|
|
let row_id = "row_" + data[i].MMSI;
|
|
row = document.getElementById(row_id);
|
|
|
|
if(row == null) { // not found, create new row
|
|
row = document.createElement('tr');
|
|
row.setAttribute("id", row_id);
|
|
row.innerHTML = `<td>` + data[i].MMSI +
|
|
`</td><td id="name_` + data[i].MMSI + `"/>` +
|
|
`<td id="timestamp_` + data[i].MMSI + `"/>` +
|
|
`<td id="lat_` + data[i].MMSI + `"/>` +
|
|
`<td id="lon_` + data[i].MMSI + `"/>` +
|
|
`<td id="imo_` + data[i].MMSI + `"/>` +
|
|
`<td>` + data[i].IsClassB + `</td>`;
|
|
table.appendChild(row);
|
|
}
|
|
|
|
// update existing row
|
|
var td = document.getElementById("name_" + data[i].MMSI);
|
|
td.innerHTML = data[i].Name;
|
|
td = document.getElementById("timestamp_" + data[i].MMSI);
|
|
td.innerHTML = data[i].LastUpdate;
|
|
td = document.getElementById("lat_" + data[i].MMSI);
|
|
td.innerHTML = data[i].Latitude;
|
|
td = document.getElementById("lon_" + data[i].MMSI);
|
|
td.innerHTML = data[i].Longitude;
|
|
td = document.getElementById("imo_" + data[i].MMSI);
|
|
td.innerHTML = data[i].IMO;
|
|
}
|
|
}
|
|
} |