Search eCampus for assignments
// Array holding our assignments
var assignments = [];
// Get raw array of assignments (a tags) (raw assignment elements)
var rawAssignmentEls = document.getElementById('vista_main_frameset')
.querySelector('frame[name="APPLICATION_FRAME"]')
.contentWindow.document.getElementById('vista_frameset')
.querySelector('frame[name="TOOLFRAME"]')
.contentWindow.document.getElementById('toolframeset')
.querySelector('frame[name="RIGHTTOOLFRAME"]')
.contentWindow.document.getElementsByClassName('inventorytable')[0]
.querySelectorAll('a[title="Edit"]');
// Loop through raw assignments and create objects with proper information
for (var i = 0; i < rawAssignmentEls.length; i++) {
var _Name = rawAssignmentEls[i].text;
var _origEl = rawAssignmentEls[i];
var _origUglyDate = rawAssignmentEls[i].parentElement.getElementsByClassName('descript')[0].innerHTML;
var _niceDate = _origUglyDate.replace(/\s+/g,'').split('(')[1].replace(')','').replace('Due',''); // remove all whitespace, splite on ( for date, remove last ), remove the word "Due"
assignments.push( new Assignment(_Name, _niceDate, _origEl) );
}
function Assignment(title, date, origElement) { // Assignment object
this.Name = title;
this.DueDate = date;
this.OriginalElement = origElement;
}
// display the data in an ugly format. Warning, it will erase all content from screen
function displayData() {
var _ul = document.createElement('ul');
var _wholePage = document.querySelector('html');
for (var i=0;i<assignments.length;i++) {
var _li = document.createElement('li');
_li.innerHTML = assignments[i].Name;
var _li2 = document.createElement('li');
_li2.innerHTML = assignments[i].DueDate;
_li2.style.borderBottom = '1px solid black';
_ul.appendChild(_li);_ul.appendChild(_li2);
}
_wholePage.innerHTML = '';
_wholePage.appendChild(_ul);
}
// run me if you want to display data from the assignments array
// displayData();