This repository was archived by the owner on Jan 26, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbackground.js
More file actions
102 lines (84 loc) · 2.65 KB
/
background.js
File metadata and controls
102 lines (84 loc) · 2.65 KB
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
var eventManager = new EventManager();
var authToken = null;
chrome.extension.onMessage.addListener(
function(message, sender, sendResponse){
console.log("background: received message " + message.type);
if(message.type === DATA_REQUEST){
// DATA_REQUEST: send event data to the popup
sendData();
} else if(message.type === REFRESH_DATA){
// REFRESH_DATA: retrieve data from google and update the popup
getAuthorization(true);
} else if(message.type === CREATE_EVENT){
// CREATE_EVENT: create the event/task and send it to google calendar
eventManager.createEvent(message.data);
sendData();
} else if(message.type === DELETE_EVENT){
// DELETE_EVENT: deletes the event/task from google calendar
eventManager.deleteEvent(message.data);
sendData();
} else if(message.type === TEST_DATA_REQUEST){
addTestData();
sendData();
}
}
);
function getAuthorization(interactive){
console.log("background: getAuthorization()");
chrome.identity.getAuthToken({ 'interactive': interactive }, authorizationCallback);
}
function authorizationCallback(token) {
console.log("background: authorizationCallback()");
authToken = token;
eventManager.setAuthToken(token);
if (token) {
eventManager.reset();
api_getTasks(token, function(data){
eventManager.updateTaskData(data);
if(eventManager.isReady()){
sendData();
}
});
api_getCalendarEvents(token, function(data){
eventManager.updateCalendarData(data);
if(eventManager.isReady()){
sendData();
}
});
} else {
chrome.extension.sendMessage({ type: AUTH_FAILURE });
}
}
function loadData(){
console.log("background: loadData()");
if(!eventManager.isReady()){
getAuthorization(false);
} else {
sendData();
}
}
function sendData(){
chrome.extension.sendMessage(
{ type: EVENT_DATA, data: eventManager.getEvents(), timeZone: curTZ() });
}
var added = false;
function addTestData(){
if(added){
return;
}
added = true;
eventManager.createEvent("todo: Pickup drycleaning");
eventManager.createEvent("todo: Call parents");
eventManager.createEvent("due Nov 11: Phone Bill");
eventManager.createEvent("due Nov 12: Quarterly Presentation");
eventManager.createEvent("due Nov 22: ");
eventManager.createEvent("Nov 11: Anne's Brithday");
eventManager.createEvent("Dec 25: CHRISTMAS");
eventManager.createEvent("Nov 9-14: Work Trip to Chicago");
eventManager.createEvent("Nov 19-20: Parents visit");
eventManager.createEvent("Nov 30-2: Thanksgiving Vacation");
eventManager.createEvent("Nov 11 @20-22: Barbeque");
eventManager.createEvent("Nov 14 @18: Dinner with Ben");
eventManager.sortEvents();
}
//loadData();