From eb53e4eb676dc3c5940ed7d22d369b7a5e96017b Mon Sep 17 00:00:00 2001 From: Christoph Walcher Date: Wed, 15 Jul 2020 18:05:05 +0200 Subject: [PATCH] New default picture of meals & Sort exams --- src/components/MealPicture.vue | 2 +- src/components/Meals.vue | 2 +- src/stores/lsf.js | 13 +++++++++---- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/components/MealPicture.vue b/src/components/MealPicture.vue index a095c63..c377886 100644 --- a/src/components/MealPicture.vue +++ b/src/components/MealPicture.vue @@ -2,7 +2,7 @@
diff --git a/src/components/Meals.vue b/src/components/Meals.vue index 6b86fb6..fbf2f6c 100644 --- a/src/components/Meals.vue +++ b/src/components/Meals.vue @@ -22,7 +22,7 @@
diff --git a/src/stores/lsf.js b/src/stores/lsf.js index 340e024..98e309b 100644 --- a/src/stores/lsf.js +++ b/src/stores/lsf.js @@ -64,6 +64,9 @@ export const Client = { let columns = rows[rowIndex].children; if (columns[0].className === 'qis_kontoOnTop') continue; + const semesterParts = columns[2].textContent.trim().split(' '); + const semester = semesterParts[semesterParts.length - 1]; + exams.push({ id: columns[0].textContent.trim(), title: columns[1].textContent.trim(), @@ -72,10 +75,12 @@ export const Client = { cp: parseFloat(columns[5].textContent.trim()), try: parseInt(columns[7].textContent.trim()), date: columns[8].textContent.trim() || null, + semester, }); } - exams = exams.reverse(); + exams = exams.sort((a, b) => a.date && b.date ? b.date - a.date : 0); + exams = exams.sort((a, b) => b.semester.localeCompare(a.semester)); return {exams, fullname}; }, @@ -117,7 +122,7 @@ export const Client = { const row = rows[rowIndex + 2]; const columns = row.children; - let skip = rowIndex % 4 ? 1 : 2; + let skip = rowIndex % 4 ? 1 : 2; for (let columnIndex = skip; columnIndex < columns.length; columnIndex++) { const column = columns[columnIndex]; @@ -172,7 +177,7 @@ export const Client = { } } } - return lectures.sort((a,b) => a.start - b.start); + return lectures.sort((a, b) => a.start - b.start); }, async loadSubjects() { @@ -211,7 +216,7 @@ export const Client = { '&breadcrumb=schedule&topitem=lectures'); const url = dom.querySelector('.content_max > form').getAttribute('action'); - await fetchDOM(url + '&par=old&PlanSpeichern=PlanSpeichern &'+ + await fetchDOM(url + '&par=old&PlanSpeichern=PlanSpeichern &' + courses.map(ref => `&add.${ref.id}=${ref.subjectId}`).join('')) } };