ISMIS Helper: cross-browser build, CI, PDF fixes, Chrome download fix #1
+14
-1
@@ -102,6 +102,14 @@
|
|||||||
const academicYear = yearEl ? yearEl.value : '';
|
const academicYear = yearEl ? yearEl.value : '';
|
||||||
const token = tokenEl ? tokenEl.value : '';
|
const token = tokenEl ? tokenEl.value : '';
|
||||||
|
|
||||||
|
// Semester/year come from the search dropdowns the user picked.
|
||||||
|
// AcademicPeriod's selected option label (e.g. "1ST Semester") + year.
|
||||||
|
const periodLabel = (periodEl && periodEl.selectedOptions && periodEl.selectedOptions[0])
|
||||||
|
? periodEl.selectedOptions[0].textContent.trim()
|
||||||
|
: '';
|
||||||
|
const selectedPeriod = periodLabel || academicPeriod;
|
||||||
|
const selectedYear = academicYear;
|
||||||
|
|
||||||
const uniqueCodes = [...new Set(courses.map((c) => c.courseCode))];
|
const uniqueCodes = [...new Set(courses.map((c) => c.courseCode))];
|
||||||
const descMap = {};
|
const descMap = {};
|
||||||
for (const code of uniqueCodes) {
|
for (const code of uniqueCodes) {
|
||||||
@@ -123,7 +131,12 @@
|
|||||||
header = {};
|
header = {};
|
||||||
}
|
}
|
||||||
|
|
||||||
return { header, courses };
|
// Semester goes into the header so the PDF shows the dropdown's term/year.
|
||||||
|
header.semester = (selectedPeriod && selectedYear)
|
||||||
|
? selectedPeriod + ' ' + selectedYear
|
||||||
|
: (header.semester || '');
|
||||||
|
|
||||||
|
return { header, courses, period: selectedPeriod, year: selectedYear };
|
||||||
}
|
}
|
||||||
|
|
||||||
// ---- On-page Download PDF button ----
|
// ---- On-page Download PDF button ----
|
||||||
|
|||||||
Reference in New Issue
Block a user