-
Notifications
You must be signed in to change notification settings - Fork 0
/
background.js
124 lines (117 loc) · 3.48 KB
/
background.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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
var table;
function callback(response){
if (response.isError()) {
alert('Error in query: ' + response.getMessage() + ' ' + response.getDetailedMessage());
sendRequestToGoogle();
return;
}
var data = response.getDataTable();
table = data;
if (dojo_element) {
str = '<input type="button" id="goto" value="go to dojo" style="width: 160px; height: 80px;" />';
dojo_element.innerHTML = str;
dojo_element.children.goto.addEventListener('click', go_to_dojo, false);
}
}
function sendRequestToGoogle(){
console.log("requesting");
var query = new google.visualization.Query("https://spreadsheets.google.com/a/google.com/tq?key=0AprwHw_VarWwdHc4QmpBNnBCdThpUERGVk1DQnVVYkE");
query.setQuery('SELECT C WHERE C IS NOT NULL ORDER BY A DESC LIMIT 1000');
query.send(callback);
}
google.setOnLoadCallback(sendRequestToGoogle);
google.load('visualization', '1');
var num = -1;
var back = -1;
var url = "";
var autoTabId = null;
var iter = parseInt(getData(),10);
var isCheck = getCheck("check");
var isAutomode = getCheck("auto");
function getId(){
console.log(iter);
if(table) {
console.log(table.getValue(iter,0));
var ret = table.getValue(iter,0);
return ret;
}
else return "wait";
}
function reload(){
table = null;
var query = new google.visualization.Query("https://spreadsheets.google.com/a/google.com/tq?key=0AprwHw_VarWwdHc4QmpBNnBCdThpUERGVk1DQnVVYkE");
query.setQuery('select C where C IS NOT NULL ORDER BY A DESC LIMIT 1000');
query.send(callback);
}
chrome.extension.onRequest.addListener(
function(request, sender, sendResponse) {
console.log(sender.tab ?
"from a content script:" + sender.tab.id :
"from the extension");
if (request.req == "start"){
sendResponse({ans: "goodbye"});
num = 3;
back = 0;
}else if(request.req == "next"){
iter++;
setData(iter);
sendResponse({ans: "ok" ,id: table.getValue(iter,0)});
}else if(request.req == "prev"){
iter--;
setData(iter);
sendResponse({ans: "ok" ,id: table.getValue(iter,0)});
}else if(request.req == "ask"){
if(num > 0 && back == 0){
if(request.href.lastIndexOf('flash') > -1) {
sendResponse({ans: "back",href: url});
return;
}
url = request.href;
sendResponse({ans: "do"});
num--;
back = 2;
}else if(num == 0){
num = -2;
back = -2;
url = "";
iter++;
setData(iter);
sendResponse({ans: "close" ,id: table.getValue(iter,0)});
}else if(back == 2){
sendResponse({ans: "back",href: url});
back=0;
} else if(back == 1){
sendResponse({ans: "reload"});
back--;
} else if (num < -1 && request.href.lastIndexOf('flash') > -1) {
sendResponse({ans: "close" ,id: table.getValue(iter,0)});
} else {
num = -1;
back = -1;
sendResponse({ans: "no"});
}
}else if(request.req == "reset"){
num = -1;
back = -1;
url = "";
//autoTabId = null;
sendResponse({});
}else if (request.req == "check"){
sendResponse({ans: isCheck});
}else if (request.req == "auto") {
if (autoTabId == sender.tab.id && isAutomode) {
sendResponse({ans: "yes"});
} else {
autoTabId = null;
sendResponse({ans: "no"});
}
}else if(request.req == "startAuto") {
autoTabId = sender.tab.id;
sendResponse({ans: isAutomode});
}else if(request.req == "stopAuto") {
autoTabId = null;
sendResponse({ans: "stopauto"});
}else
sendResponse({}); // snub them.
}
);