-
Notifications
You must be signed in to change notification settings - Fork 1
/
popup.js
70 lines (62 loc) · 1.64 KB
/
popup.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
var bgPage = chrome.extension.getBackgroundPage();
function getTopicBlocks(tab,callback) {
bgPage.fbCache.get(tab.url,function(topic) {
if (!topic) {
callback(null); // doesn't exist in Freebase
} else {
var url = bgPage.API_TOPIC_BLOCK + topic.id;
$.getJSON(url,callback);
}
});
}
function showTopicBlocks() {
var $output = $('#output');
chrome.tabs.getSelected(null, function(tab) {
bgPage.updateBadge(tab); // update required if we manually added or removed topic tag
getTopicBlocks(tab,function(resp) {
$output.empty();
if (!resp) {
$('#tagThisPage').show();
} else {
resp.forEach(function(topicblock) {
$output.append(topicblock.html);
});
}
});
});
}
function debug() {
console.log('debugging...');
showTopicBlocks();
}
$(function() {
////////////////////////
// F8 toggles dev bar //
////////////////////////
$(document).keydown(function(e) {
if (e.which===119) { $('#dev').toggle(); }
});
$('#debug').click(debug);
$('#clear').click(function() { bgPage.fbCache.clear(); showTopicBlocks(); });
//////////////////////////
// make links clickable //
///////////////////////////
$('a').live('click',function() {
chrome.tabs.create({url:this.href});
window.close();
});
//////////////////////////////
// wire up Freebase Suggest //
//////////////////////////////
$("#myinput").suggest({
flyout:'bottom'
}).bind("fb-select", function(e, topic) {
bgPage.setCurrentTopic(topic,function() {
showTopicBlocks();
});
});
/////////
// run //
/////////
showTopicBlocks();
});