##// END OF EJS Templates
Rename 'random' button to 'images' because it's clearer to understand what is...
Rename 'random' button to 'images' because it's clearer to understand what is random in there

File last commit:

r1463:437271ff default
r1480:e02fed82 default
Show More
updates.js
53 lines | 1.3 KiB | application/javascript | JavascriptLexer
var UPDATE_INTERVAL = 10000;
var ports = [];
var includePostBody = false;
function updateFavPosts() {
var url = '/api/new_posts/';
if (includePostBody) {
url += '?include_posts';
}
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState == XMLHttpRequest.DONE) {
if (xhr.status == 200 || xhr.status == 304) {
var data = xhr.responseText;
for (var i = 0; i < ports.length; i++) {
port = ports[i];
try {
port.postMessage(data);
} catch (error) {
// Assume the port was closed with the tab
var index = ports.indexOf(port);
ports.splice(index, 1);
}
}
}
}
}
xhr.open('GET', url);
xhr.send(null);
}
onconnect = function(e) {
var port = e.ports[0];
port.start();
port.onmessage = function(e) {
// FIXME For now we include body even if a panel was opened once
if (e.data.includePostBody) {
includePostBody = true;
}
updateFavPosts();
}
ports.push(port);
}
setInterval(function() {
updateFavPosts();
}, UPDATE_INTERVAL);