repositories/course_repository
library
Classes
-
CourseRepository
-
Provides course schedules, catalog, materials, and student rosters.
Constants
-
emptyCourseTableData
→ const ({Null earliestPeriod, bool hasAMCourse, bool hasEveningCourse, bool hasNoonCourse, bool hasPMCourse, bool hasSaturdayCourse, bool hasSundayCourse, bool hasWeekdayCourse, Null latestPeriod, Map<({DayOfWeek day, Period period}), CourseTableCellData> scheduled, double totalCredits, int totalHours, List<CourseTableCellData> unscheduled})
-
An empty CourseTableData with no courses.
Typedefs
-
CourseOfferingDetail
= ({List<({String code, String? nameEn, String nameZh})> classes, CourseOfferingOverview overview, List<({String? classroomNameEn, String? classroomNameZh, DayOfWeek day, Period period})> schedule, List<({String code, String? nameEn, String nameZh})> teachers})
-
Detailed data for a single course offering, sufficient to populate the
course-table detail bottom sheet. Composes the CourseOfferingOverview
view row (single-value offering+catalog fields) with the offering's
many-side relations (schedule slots, teachers, classes).
-
CourseTableCellData
= ({String? classroomName, String courseName, double credits, bool crossesNoon, int hours, int id, String? number, int span})
-
Data for a single cell in the course table grid.
-
CourseTableData
= ({Period? earliestPeriod, bool hasAMCourse, bool hasEveningCourse, bool hasNoonCourse, bool hasPMCourse, bool hasSaturdayCourse, bool hasSundayCourse, bool hasWeekdayCourse, Period? latestPeriod, Map<({DayOfWeek day, Period period}), CourseTableCellData> scheduled, double totalCredits, int totalHours, List<CourseTableCellData> unscheduled})
-
Scheduled course table grid data and unscheduled courses, with
pre-computed layout metadata for the course table UI.