main grade distribution functionality done
This commit is contained in:
@@ -10,3 +10,6 @@ chrome.runtime.onMessage.addListener(function(request, sender, response) {
|
|||||||
xhr.send(request.data);
|
xhr.send(request.data);
|
||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
71
content.js
71
content.js
@@ -1,47 +1,76 @@
|
|||||||
|
var grades;
|
||||||
|
var profname;
|
||||||
|
var department;
|
||||||
|
var course_nbr;
|
||||||
$(document).ready( function() {
|
$(document).ready( function() {
|
||||||
//dataBase("C S","Scott","314");
|
loaddataBase();
|
||||||
//make heading
|
//make heading
|
||||||
$("table thead th:nth-child(5)").after('<th scope=col>Rating</th>');
|
$("table thead th:nth-child(5)").after('<th scope=col>Rating</th>');
|
||||||
var coursename;
|
$("table thead th:nth-child(10)").after('<th scope=col>Dist</th>');
|
||||||
|
//console.log(grades);
|
||||||
|
|
||||||
$('table').find('tr').each(function(){
|
$('table').find('tr').each(function(){
|
||||||
if($(this).find('td').hasClass("course_header")){
|
if($(this).find('td').hasClass("course_header")){
|
||||||
coursename = $(this).find('td').text() + "";
|
|
||||||
} else if($(this).has('th').length == 0){
|
} else if($(this).has('th').length == 0){
|
||||||
let department = coursename.substring(0,coursename.search(/\d/)-1);
|
|
||||||
console.log(department);
|
|
||||||
let course_nbr = coursename.substring(coursename.search(/\d/),coursename.indexOf(" ",coursename.search(/\d/)));
|
|
||||||
//console.log(course_nbr);
|
|
||||||
var rating;
|
var rating;
|
||||||
var profname = $(this).find('td').eq(4).text() + "";
|
var profname = $(this).find('td').eq(4).text() + "";
|
||||||
var profurl = $(this).find('td a').prop('href');
|
// var profurl = $(this).find('td a').prop('href');
|
||||||
if(profname == ""){
|
if(profname == ""){
|
||||||
//console.log("No Professor");
|
//console.log("No Professor");
|
||||||
rating = "No Prof :(";
|
rating = "No Prof :(";
|
||||||
} else {
|
} else {
|
||||||
let lastname = profname.split(',')[0];
|
let lastname = profname.split(',')[0];
|
||||||
//console.log(profurl);
|
|
||||||
//dataBase(department,lastname,course_nbr);
|
|
||||||
//getProfessorFullName(profurl);
|
|
||||||
rating = "Hello";
|
rating = "Hello";
|
||||||
}
|
}
|
||||||
$(this).find('td').eq(4).after('<td data-th="Rating"><a href="http://example.com">'+rating+'</a></td>');
|
$(this).find('td').eq(4).after('<td data-th="Rating"><a href="http://example.com">'+rating+'</a></td>');
|
||||||
}
|
$(this).append('<td data-th="Dist"><input type="image" class="distButton" style="vertical-align: bottom;" width="30" height="30" src='+chrome.extension.getURL('disticon.png')+' /></td>');
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
$(this).find(".distButton").click(function(){
|
||||||
|
//var coursename = $(this).closest(':has(.course_header)').find('.course_header');
|
||||||
|
//CLEAN UP, "gack"- Michael Scott
|
||||||
|
var row = $(this).closest('tr');
|
||||||
|
getCourseInfo(row);
|
||||||
|
//console.log(profname + " "+department+" "+course_nbr);
|
||||||
|
//console.log(coursename);
|
||||||
|
getDistribution();
|
||||||
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
function dataBase(department, profname, course_nbr){
|
function getCourseInfo(row){
|
||||||
|
var coursename;
|
||||||
|
$('table').find('tr').each(function(){
|
||||||
|
if($(this).find('td').hasClass("course_header")){
|
||||||
|
coursename = $(this).find('td').text() + "";
|
||||||
|
}
|
||||||
|
if($(this).is(row)){
|
||||||
|
profname = $(this).find('td').eq(4).text().split(',')[0];
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
department = coursename.substring(0,coursename.search(/\d/)-2);
|
||||||
|
// console.log(department);
|
||||||
|
course_nbr = coursename.substring(coursename.search(/\d/),coursename.indexOf(" ",coursename.search(/\d/)));
|
||||||
|
}
|
||||||
|
|
||||||
|
function getDistribution(){
|
||||||
|
var query = "select * from agg";
|
||||||
|
query += " where dept like '%"+department+"%'";
|
||||||
|
query += " and prof like '%"+profname+"%'";
|
||||||
|
query += " and course_nbr like '%"+course_nbr+"%'";
|
||||||
|
alert(grades.exec(query)[0].values);
|
||||||
|
}
|
||||||
|
|
||||||
|
function loaddataBase(){
|
||||||
sql = window.SQL;
|
sql = window.SQL;
|
||||||
loadBinaryFile('grades.db', function(data){
|
loadBinaryFile('grades.db', function(data){
|
||||||
var sqldb = new SQL.Database(data);
|
var sqldb = new SQL.Database(data);
|
||||||
// Database is ready
|
// Database is ready
|
||||||
var query = "select * from agg";
|
grades = sqldb;
|
||||||
query += " where dept like '%"+department+"%'";
|
//console.log(grades.exec(query)[0]);
|
||||||
query += " and prof like '%"+profname+"%'";
|
});
|
||||||
query += " and course_nbr like '%"+course_nbr+"%'";
|
|
||||||
console.log(query);
|
|
||||||
var res = sqldb.exec(query);
|
|
||||||
console.log(res[0]);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
function loadBinaryFile(path,success) {
|
function loadBinaryFile(path,success) {
|
||||||
var xhr = new XMLHttpRequest();
|
var xhr = new XMLHttpRequest();
|
||||||
|
|||||||
BIN
disticon.png
Normal file
BIN
disticon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 8.5 KiB |
@@ -10,11 +10,11 @@
|
|||||||
],
|
],
|
||||||
"content_scripts": [{
|
"content_scripts": [{
|
||||||
"css": ["styles.css"],
|
"css": ["styles.css"],
|
||||||
"js": ["sql.js","jquery-3.3.1.min.js","content.js"],
|
"js": ["sql-memory-growth.js","jquery-3.3.1.min.js","content.js"],
|
||||||
"matches": ["https://utdirect.utexas.edu/apps/registrar/course_schedule/*"]
|
"matches": ["https://utdirect.utexas.edu/apps/registrar/course_schedule/*"]
|
||||||
}],
|
}],
|
||||||
"web_accessible_resources": [
|
"web_accessible_resources": [
|
||||||
"grades.db"],
|
"grades.db","disticon.png"],
|
||||||
"background": {
|
"background": {
|
||||||
"scripts": ["background.js"],
|
"scripts": ["background.js"],
|
||||||
"persistent": true
|
"persistent": true
|
||||||
|
|||||||
28
sql-memory-growth.js
Normal file
28
sql-memory-growth.js
Normal file
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user