Skip to content

Instantly share code, notes, and snippets.

@omundy
Last active December 28, 2015 03:39
Show Gist options
  • Save omundy/7437149 to your computer and use it in GitHub Desktop.
Save omundy/7437149 to your computer and use it in GitHub Desktop.
How Facebook ranks all your friends bookmarklet (modified from Arjun Sreedharan's)
javascript: (function () {
function creator(e, t, n) {
var r = document.createElement(n);
var att = document.createAttribute("style");
att.value = "max-width:120px";
r.setAttributeNode(att);
var i = document.createTextNode(t);
r.appendChild(i);
e.appendChild(r);
}
function attribute(e, t, n, a) {
var td = document.createElement("td");
var r = document.createElement(n);
var att = document.createAttribute(a);
att.value = t;
r.setAttributeNode(att);
td.appendChild(r);
e.appendChild(td);
}
function map(OldValue) {
var OldMin = .3;
var OldMax = .5;
var NewMin = 600;
var NewMax = 2;
var OldRange = (OldMax - OldMin);
var NewRange = (NewMax - NewMin);
var NewValue = (((OldValue - OldMin) * NewRange) / OldRange) + NewMin;
return NewValue;
}
function displayData(e) {
var t = document.createElement("table");
var n = document.createElement("thead");
t.appendChild(n);
var r = document.createElement("tr");
creator(r, "Photo", "th");
creator(r, "Name", "th");
creator(r, "Score", "th");
creator(r, "Bar", "th");
n.appendChild(r);
var s = document.createElement("tbody");
t.appendChild(s);
for (i = 0; i < e.length; i++) {
var r = document.createElement("tr");
attribute(r, e[i]["photo"], "img", "src");
creator(r, e[i]["text"], "td");
creator(r, JSON.stringify(e[i]["grammar_costs"]["{user}"]), "td");
if (e[i]["grammar_costs"]["{user}"] > 0) {
attribute(r, "width:" + map(Number(String(e[i]["grammar_costs"]["{user}"]))) + "px", "div", "style");
}
/*creator(r, JSON.stringify(e[i]), "td");*/
s.appendChild(r)
}
document.body.innerHTML = "<style>img{max-width:30px;}div{height:20px;background-color:#3B5998;}</style>";
document.body.appendChild(t)
}
id = requireDynamic("Env").user;
url = "//www.facebook.com/ajax/typeahead/search/facebar/bootstrap/?viewer=" + id + "&__a=1";
x = new XMLHttpRequest;
x.onreadystatechange = function () {
if (x.readyState == 4 && x.status == 200) {
srr = JSON.parse(x.responseText.substring(9)).payload.entries;
displayData(srr)
}
};
x.open("GET", url, true);
x.send()
})()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment