Saving courses now works

This commit is contained in:
Sriram Hariharan
2018-07-09 19:10:57 -05:00
parent 659848d65f
commit 433f64d1c5
2 changed files with 195 additions and 116 deletions

View File

@@ -1,6 +1,14 @@
chrome.runtime.onMessage.addListener(function(request, sender, response) {
if(request.greeting == "hello") {
getSaved(request,sender,response);
if(request.command == "courseStorage") {
if(request.action == "add"){
add(request,sender,response);
}
if(request.action == "remove"){
remove(request,sender,response);
}
}
else if(request.command == "alreadyContains"){
alreadyContains(request.course,response);
}
else{
const xhr = new XMLHttpRequest();
@@ -16,10 +24,51 @@ chrome.runtime.onMessage.addListener(function(request, sender, response) {
return true;
});
chrome.runtime.onInstalled.addListener(function() {
var arr = new Array();
chrome.storage.sync.set({savedCourses: arr}, function() {
console.log('initial course list');
});
});
function getSaved(request, sender, sendResponse) {
console.log(sender.tab ?
"from a content script:" + sender.tab.url :
"from the extension");
sendResponse({farewell: "goodbye"});
function add(request, sender, sendResponse) {
var courses;
var response;
chrome.storage.sync.get('savedCourses', function(data) {
courses = data.savedCourses;
courses.push(request.course)
console.log(courses);
chrome.storage.sync.set({savedCourses: courses});
sendResponse({done:"Added: "+request.course.unique+request.course.coursename,label:"Remove Course -"});
});
}
function remove(request, sender, sendResponse) {
var courses;
var response;
chrome.storage.sync.get('savedCourses', function(data) {
courses = data.savedCourses;
var index = 0;
while(index<courses.length && courses[index].unique != request.course.unique){
index++;
}
courses.splice(index,1);
console.log(courses);
chrome.storage.sync.set({savedCourses: courses});
sendResponse({done:"removed: "+request.course.unique+request.course.coursename,label:"Add Course +"});
});
}
function alreadyContains(course,sendResponse){
chrome.storage.sync.get('savedCourses', function(data) {
courses = data.savedCourses;
var contains = false;
var i = 0;
while(i < courses.length && !contains){
if(courses[i].unique == course.unique){
contains = true;
}
i++;
}
sendResponse({alreadyContains: contains});
});
}