Location fix for near-identical class-days
Bug where a class did not realize it could have more then one location if the time slots were at the same time on different days
This commit is contained in:
31
js/util.js
31
js/util.js
@@ -173,20 +173,26 @@ function semesterSort(semA, semB) {
|
|||||||
/* convert from the dtarr and maek the time lines*/
|
/* convert from the dtarr and maek the time lines*/
|
||||||
function convertDateTimeArrToLine(datetimearr) {
|
function convertDateTimeArrToLine(datetimearr) {
|
||||||
var output = [];
|
var output = [];
|
||||||
console.log(datetimearr)
|
|
||||||
var dtmap = makeDateTimeMap(datetimearr);
|
var dtmap = makeDateTimeMap(datetimearr);
|
||||||
var timearr = Array.from(dtmap.keys());
|
var timearr = Array.from(dtmap.keys());
|
||||||
var dayarr = Array.from(dtmap.values());
|
var temporary = Array.from(dtmap.values())
|
||||||
console.log(timearr);
|
var dayarr = []
|
||||||
console.log(dayarr);
|
var locarr = []
|
||||||
|
for(x in temporary) {
|
||||||
|
dayarr.push(temporary[x][0])
|
||||||
|
locarr.push(temporary[x][1])
|
||||||
|
}
|
||||||
|
|
||||||
for (var i = 0; i < dayarr.length; i++) {
|
for (var i = 0; i < dayarr.length; i++) {
|
||||||
var place = findLocation(dayarr[i], timearr[i], datetimearr);
|
//var place = findLocation(dayarr[i], timearr[i], datetimearr);
|
||||||
|
var place = locarr[i]
|
||||||
var building = place.substring(0, place.search(/\d/)).trim();
|
var building = place.substring(0, place.search(/\d/)).trim();
|
||||||
building = building ? building : "Undecided Location"
|
building = building ? building : "Undecided Location"
|
||||||
|
var timearrsplit = timearr[i].split(',')
|
||||||
output.push({
|
output.push({
|
||||||
"days": dayarr[i],
|
"days": dayarr[i],
|
||||||
"start_time": timearr[i].split(",")[0],
|
"start_time": timearrsplit[0],
|
||||||
"end_time": timearr[i].split(',')[1],
|
"end_time": timearrsplit[1],
|
||||||
"location_link": `https://maps.utexas.edu/buildings/UTM/${building}`,
|
"location_link": `https://maps.utexas.edu/buildings/UTM/${building}`,
|
||||||
"location_full": place
|
"location_full": place
|
||||||
})
|
})
|
||||||
@@ -201,10 +207,15 @@ function makeDateTimeMap(datetimearr) {
|
|||||||
datetimearr[i][1][1] = moment(datetimearr[i][1][1], ["HH:mm A"]).format("h:mm A");
|
datetimearr[i][1][1] = moment(datetimearr[i][1][1], ["HH:mm A"]).format("h:mm A");
|
||||||
}
|
}
|
||||||
for (var i = 0; i < datetimearr.length; i++) {
|
for (var i = 0; i < datetimearr.length; i++) {
|
||||||
if (dtmap.has(String(datetimearr[i][1]))) {
|
var instance = datetimearr[i]
|
||||||
dtmap.set(String(datetimearr[i][1]), dtmap.get(String(datetimearr[i][1])) + datetimearr[i][0]);
|
var day = String(instance[0])
|
||||||
|
var timeslot = String(instance[1])
|
||||||
|
var location = String(instance[2])
|
||||||
|
var key = timeslot + "," + location
|
||||||
|
if (dtmap.has(key) && dtmap.get(key)[1] === location) {
|
||||||
|
dtmap.set(key, [dtmap.get(key)[0] + day, location]);
|
||||||
} else {
|
} else {
|
||||||
dtmap.set(String(datetimearr[i][1]), datetimearr[i][0]);
|
dtmap.set(key, [day, location]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return dtmap
|
return dtmap
|
||||||
|
|||||||
Reference in New Issue
Block a user