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.

Properties

courseRepositoryProvider Provider<CourseRepository>
Provides the CourseRepository instance.
final

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.