fixed import not working properly
This commit is contained in:
@@ -11,12 +11,12 @@ chrome.runtime.onMessage.addListener(function (request, sender, response) {
|
|||||||
isSingleConflict(request.dtarr, request.unique, response);
|
isSingleConflict(request.dtarr, request.unique, response);
|
||||||
} else if (request.command == "checkConflicts") {
|
} else if (request.command == "checkConflicts") {
|
||||||
checkConflicts(response);
|
checkConflicts(response);
|
||||||
}
|
} else if (request.command == "updateStatus") {
|
||||||
else if(request.command == "updateStatus"){
|
|
||||||
updateStatus();
|
updateStatus();
|
||||||
}
|
} else if (request.command == "alreadyContains") {
|
||||||
else if (request.command == "alreadyContains") {
|
|
||||||
alreadyContains(request.unique, response);
|
alreadyContains(request.unique, response);
|
||||||
|
} else if (request.command == "updateTabs") {
|
||||||
|
updateTabs();
|
||||||
} else {
|
} else {
|
||||||
const xhr = new XMLHttpRequest();
|
const xhr = new XMLHttpRequest();
|
||||||
const method = request.method ? request.method.toUpperCase() : "GET";
|
const method = request.method ? request.method.toUpperCase() : "GET";
|
||||||
@@ -123,11 +123,13 @@ function isConflict(adtarr, bdtarr) {
|
|||||||
function add(request, sender, sendResponse) {
|
function add(request, sender, sendResponse) {
|
||||||
chrome.storage.sync.get('savedCourses', function (data) {
|
chrome.storage.sync.get('savedCourses', function (data) {
|
||||||
var courses = data.savedCourses;
|
var courses = data.savedCourses;
|
||||||
courses.push(request.course)
|
if (!contains(courses, request.course.unique)) {
|
||||||
console.log(courses);
|
courses.push(request.course)
|
||||||
chrome.storage.sync.set({
|
console.log(courses);
|
||||||
savedCourses: courses
|
chrome.storage.sync.set({
|
||||||
});
|
savedCourses: courses
|
||||||
|
});
|
||||||
|
}
|
||||||
sendResponse({
|
sendResponse({
|
||||||
done: "Added: (" + request.course.unique + ") " + request.course.coursename,
|
done: "Added: (" + request.course.unique + ") " + request.course.coursename,
|
||||||
label: "Remove Course -"
|
label: "Remove Course -"
|
||||||
@@ -159,34 +161,47 @@ function remove(request, sender, sendResponse) {
|
|||||||
function alreadyContains(unique, sendResponse) {
|
function alreadyContains(unique, sendResponse) {
|
||||||
chrome.storage.sync.get('savedCourses', function (data) {
|
chrome.storage.sync.get('savedCourses', function (data) {
|
||||||
var courses = data.savedCourses;
|
var courses = data.savedCourses;
|
||||||
var contains = false;
|
|
||||||
var i = 0;
|
|
||||||
while (i < courses.length && !contains) {
|
|
||||||
if (courses[i].unique == unique) {
|
|
||||||
contains = true;
|
|
||||||
}
|
|
||||||
i++;
|
|
||||||
}
|
|
||||||
sendResponse({
|
sendResponse({
|
||||||
alreadyContains: contains
|
alreadyContains: contains(courses, unique)
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function updateStatus(){
|
function contains(courses, unique) {
|
||||||
|
var i = 0;
|
||||||
|
while (i < courses.length) {
|
||||||
|
if (courses[i].unique == unique) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
function updateTabs() {
|
||||||
|
chrome.tabs.query({}, function (tabs) {
|
||||||
|
for (var i = 0; i < tabs.length; i++) {
|
||||||
|
chrome.tabs.sendMessage(tabs[i].id, {
|
||||||
|
command: "updateCourseList"
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function updateStatus() {
|
||||||
chrome.storage.sync.get('savedCourses', function (data) {
|
chrome.storage.sync.get('savedCourses', function (data) {
|
||||||
console.log(data.savedCourses);
|
console.log(data.savedCourses);
|
||||||
for(let i = 0; i<data.savedCourses.length; i++){
|
for (let i = 0; i < data.savedCourses.length; i++) {
|
||||||
let c = data.savedCourses[i];
|
let c = data.savedCourses[i];
|
||||||
var xhr = new XMLHttpRequest();
|
var xhr = new XMLHttpRequest();
|
||||||
xhr.open("GET", c.link, false);
|
xhr.open("GET", c.link, false);
|
||||||
xhr.send();
|
xhr.send();
|
||||||
var result = xhr.responseText;
|
var result = xhr.responseText;
|
||||||
var dummy = document.createElement( 'html' );
|
var dummy = document.createElement('html');
|
||||||
dummy.innerHTML = result;
|
dummy.innerHTML = result;
|
||||||
var newstatus = dummy.querySelector('[data-th="Status"]').textContent;
|
var newstatus = dummy.querySelector('[data-th="Status"]').textContent;
|
||||||
c.status = element;
|
c.status = element;
|
||||||
// console.log(result);
|
// console.log(result);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
65
js/import.js
65
js/import.js
@@ -4,12 +4,16 @@ $(function () {
|
|||||||
var sem = $('[name="s_ccyys"]').val();
|
var sem = $('[name="s_ccyys"]').val();
|
||||||
$("[href='#top']").before("<button class='matbut' id='import' style='margin:10px 0px 20px 0px;'><span style='font-size:small'>Import into </span><b>UT Reg Plus<b></h2></button><br>");
|
$("[href='#top']").before("<button class='matbut' id='import' style='margin:10px 0px 20px 0px;'><span style='font-size:small'>Import into </span><b>UT Reg Plus<b></h2></button><br>");
|
||||||
$("#import").prepend("<div id='snackbar'>defaultmessage..</div>");
|
$("#import").prepend("<div id='snackbar'>defaultmessage..</div>");
|
||||||
$("#import").click(function(){
|
$("#import").click(function () {
|
||||||
$(".tbg").last().find(".tbon>td:first-child").each(function(){
|
$(".tbg").last().find(".tbon>td:first-child").each(function () {
|
||||||
let unique = $(this).text().replace(/\s/g, '');
|
let unique = $(this).text().replace(/\s/g, '');
|
||||||
link = `https://utdirect.utexas.edu/apps/registrar/course_schedule/${sem}/${unique}/`;
|
link = `https://utdirect.utexas.edu/apps/registrar/course_schedule/${sem}/${unique}/`;
|
||||||
getInfo();
|
getInfo();
|
||||||
});
|
});
|
||||||
|
$("#import").text("Courses Saved!").css("background-color", "#4CAF50");
|
||||||
|
setTimeout(function () {
|
||||||
|
$("#import").html("<span style='font-size:small'>Import into </span><b>UT Reg Plus<b></h2>").css("background-color", "#FF9800");
|
||||||
|
}, 1000);
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
@@ -26,30 +30,26 @@ function Course(coursename, unique, profname, datetimearr, status, link, registe
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function getInfo(classurl){
|
function getInfo(classurl) {
|
||||||
chrome.runtime.sendMessage({
|
var xhr = new XMLHttpRequest();
|
||||||
method: "GET",
|
xhr.open("GET", link, false);
|
||||||
action: "xhttp",
|
xhr.send();
|
||||||
url: link,
|
var response = xhr.responseText;
|
||||||
data: ""
|
if (response) {
|
||||||
}, function (response) {
|
var output = "";
|
||||||
if (response) {
|
var object = $('<div/>').html(response).contents();
|
||||||
var output = "";
|
var c = getCourseObject(object);
|
||||||
var object = $('<div/>').html(response).contents();
|
console.log(c);
|
||||||
var c = getCourseObject(object);
|
chrome.runtime.sendMessage({
|
||||||
|
command: "courseStorage",
|
||||||
|
course: c,
|
||||||
|
action: "add"
|
||||||
|
}, function () {
|
||||||
chrome.runtime.sendMessage({
|
chrome.runtime.sendMessage({
|
||||||
command: "alreadyContains",
|
command: "updateTabs"
|
||||||
unique: c.unique
|
|
||||||
}, function (response) {
|
|
||||||
if (!response.alreadyContains) {
|
|
||||||
saveCourse(c);
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
// var first = object.find('td[data-th="Instructor"]').text();
|
});
|
||||||
} else {
|
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -65,7 +65,7 @@ function getCourseObject(object) {
|
|||||||
let status = object.find('td[data-th="Status"]').text();
|
let status = object.find('td[data-th="Status"]').text();
|
||||||
let indlink = link;
|
let indlink = link;
|
||||||
let registerlink = object.find('td[data-th="Add"] a').prop('href');
|
let registerlink = object.find('td[data-th="Add"] a').prop('href');
|
||||||
return new Course(coursename,uniquenum,profname,datetimearr,status,indlink,registerlink);
|
return new Course(coursename, uniquenum, profname, datetimearr, status, indlink, registerlink);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* For a row, get the date-time-array for checking conflicts*/
|
/* For a row, get the date-time-array for checking conflicts*/
|
||||||
@@ -99,20 +99,3 @@ function convertTime(time) {
|
|||||||
}
|
}
|
||||||
return converted;
|
return converted;
|
||||||
}
|
}
|
||||||
|
|
||||||
function saveCourse(course){
|
|
||||||
chrome.runtime.sendMessage({
|
|
||||||
command: "courseStorage",
|
|
||||||
course: course,
|
|
||||||
action: "add"
|
|
||||||
}, function (response) {
|
|
||||||
$("#import").text("Courses Saved!").css("background-color","#4CAF50");
|
|
||||||
setTimeout(function () {
|
|
||||||
$("#import").html("<span style='font-size:small'>Import into </span><b>UT Reg Plus<b></h2>").css("background-color","#FF9800");
|
|
||||||
}, 1000);
|
|
||||||
chrome.runtime.sendMessage({
|
|
||||||
command: "updateCourseList"
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|||||||
@@ -5,25 +5,26 @@
|
|||||||
"version": "0.1.4",
|
"version": "0.1.4",
|
||||||
"options_page": "options.html",
|
"options_page": "options.html",
|
||||||
"description": "Improves the course registration process at the University of Texas at Austin!",
|
"description": "Improves the course registration process at the University of Texas at Austin!",
|
||||||
"permissions": [ "tabs",
|
"permissions": ["tabs",
|
||||||
"declarativeContent",
|
"declarativeContent",
|
||||||
"storage",
|
"storage",
|
||||||
"*://*.utdirect.utexas.edu/apps/registrar/course_schedule/*",
|
"*://*.utdirect.utexas.edu/apps/registrar/course_schedule/*",
|
||||||
"*://*.catalog.utexas.edu/ribbit/"
|
"*://*.catalog.utexas.edu/ribbit/"
|
||||||
],
|
],
|
||||||
"content_scripts": [{
|
"content_scripts": [{
|
||||||
"css": ["css/styles.css"],
|
"css": ["css/styles.css"],
|
||||||
"js": ["js/moment.min.js","js/sql-memory-growth.js","js/highcharts.js","js/jquery-3.3.1.min.js","js/content.js"],
|
"js": ["js/moment.min.js", "js/sql-memory-growth.js", "js/highcharts.js", "js/jquery-3.3.1.min.js", "js/content.js"],
|
||||||
"matches": ["https://utdirect.utexas.edu/apps/registrar/course_schedule/*"]
|
"matches": ["https://utdirect.utexas.edu/apps/registrar/course_schedule/*"]
|
||||||
},{
|
}, {
|
||||||
"css": ["css/styles.css"],
|
"css": ["css/styles.css"],
|
||||||
"js": ["js/moment.min.js","js/sql-memory-growth.js","js/highcharts.js","js/jquery-3.3.1.min.js","js/import.js"],
|
"js": ["js/moment.min.js", "js/sql-memory-growth.js", "js/highcharts.js", "js/jquery-3.3.1.min.js", "js/import.js"],
|
||||||
"matches": ["https://utdirect.utexas.edu/registrar/waitlist/wl_see_my_waitlists.WBX"]
|
"matches": ["https://utdirect.utexas.edu/registrar/waitlist/wl_see_my_waitlists.WBX"]
|
||||||
}
|
}
|
||||||
|
|
||||||
],
|
],
|
||||||
"web_accessible_resources": [
|
"web_accessible_resources": [
|
||||||
"grades.db","images/disticon.png"],
|
"grades.db", "images/disticon.png"
|
||||||
|
],
|
||||||
"background": {
|
"background": {
|
||||||
"scripts": ["js/background.js"],
|
"scripts": ["js/background.js"],
|
||||||
"persistent": true
|
"persistent": true
|
||||||
@@ -38,9 +39,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"icons": {
|
"icons": {
|
||||||
"16": "icons/icon16.png",
|
"16": "icons/icon16.png",
|
||||||
"32": "icons/icon32.png",
|
"32": "icons/icon32.png",
|
||||||
"48": "icons/icon48.png",
|
"48": "icons/icon48.png",
|
||||||
"128": "icons/icon128.png"
|
"128": "icons/icon128.png"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user