0
0
mirror of https://github.com/Doodle3D/doodle3d-connect.git synced 2024-06-26 17:41:22 +02:00
doodle3d-connect/js/main.js

52 lines
1.3 KiB
JavaScript
Raw Normal View History

var retrieveListDelay; // retry setTimout instance
var retrieveListInterval = 5000;
2013-09-30 17:34:27 +02:00
var boxTimeoutTime = 300;
var $list;
$(function() {
//console.log("ready");
retrieveList();
$list = $("#list");
})
function retrieveList() {
$.ajax({
2013-09-30 17:34:27 +02:00
url: "list.php",
dataType: 'json',
2013-09-30 17:34:27 +02:00
timeout: boxTimeoutTime,
success: function(response){
//console.log("retrieveList response: ",response);
if(response.status == "success") {
updateList(response.data);
}
clearTimeout(retrieveListDelay);
retrieveListDelay = setTimeout(retrieveList, retrieveListInterval);
}
}).fail(function() {
//console.log("retrieveList: failed");
clearTimeout(retrieveListDelay);
retrieveListDelay = setTimeout(retrieveList, retrieveListInterval); // retry after delay
});
}
function updateList(boxes) {
$list.empty();
jQuery.each(boxes, function (index,box) {
2013-09-30 17:34:27 +02:00
checkBox(box);
});
2013-09-30 17:34:27 +02:00
}
function checkBox(box) {
$.ajax({
url: "http://"+box.localip+"/d3dapi/network/status",
dataType: 'json',
success: function(response){
if(response.status == "success") {
var url = "http://"+box.localip;
if(boxIsListed(url)) return;
$list.append("<li><a href='"+url+"'>"+box.wifiboxid+"</a></li>");
}
}
});
}
function boxIsListed(url){
return $list.find("a[href|='"+url+"']").length > 0;
}