Filter timetables by a class time range and rank by fewest lab days
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 43/100
- Issue-Typ
- Feature
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- typescript
- Bereich
- frontend
Rechercherichtung
Start with evaluateFilters in src/lib/filterUtils.ts and inspect how timetable slots are represented, especially lab slots and grouped timetables. The issue leaves lab behavior for Mixed theory time open, so clarify that before implementing the ranking and filtering changes. Done means the requested ranking, opposite-shift lab filtering, and existing building and faculty filters work together; check ViewTimeTable.tsx for the affected timetable flow.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Is your feature request related to a problem? Please describe.
The Morning, Evening and Mixed filters only look at theory slots (evaluateFilters in src/lib/filterUtils.ts skips lab slots), so a student can't keep their whole day, labs included, inside the hours they want. There is also no way to prefer timetables with labs on fewer days.
Describe the solution you'd like
- Class time range: two handles snap to the times classes start and end. Timetables with any theory or lab class outside the range are removed. The full day means off.
- Fewest lab days ranks timetables, best first, and never removes one.
- Theory time (Morning, Evening, Mixed), Same building and the faculty filter keep working as they do today.
- Generation is not changed; the options work on the generated timetables.
Additional context
The popover and the tags that show these options are in the UI issue (#288).
Related: #263 (same-building filtering), closed.
ViewTimeTable.tsx and filterUtils.ts are changing in other work:
- #266 (open): splits
ViewTimeTable.tsxinto smaller modules. - #283 (open PR): changes timetable state in
ViewTimeTable.tsx. - #262 (open): changes the saved-timetable local storage syncing in the same file.
- #267 (merged): groups timetables with the same slot layout, so the ranking has to order the grouped timetables.
Design
- Figma frame:
Timetable filters(node2560:1371), which shows the popover with these options. - Link: https://www.figma.com/design/uCP8B7drfprKgsHYjB8sYs?node-id=2560-1371
Example
One way to build it (just an idea):
- Look up each slot's start and end time from the timetable grid and drop timetables with a class outside the range.
- Give each timetable a lab-day count and sort by it.
const shown = timetables.filter(tt => tt.start >= from && tt.end <= to);
- Vorherrschende Sprache
- TypeScript
- Sterne
- 6
- Forks
- 37
- Ø Merge
- 11 Std. 13 Min.
- Gemergte PRs (30 T.)
- 55
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus CodeChefVIT/ffcs
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 55/100
CodeChefVIT/ffcs#295 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 4/5 1-2 Tage Anfängerfreundlichkeit 48/100
CodeChefVIT/ffcs#292 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Edit a course from Your Courses with a pencil buttonEvtl. vergeben @Aiden-Trindade hat das vor 2 Tagen übernommen. Offen
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 43/100
CodeChefVIT/ffcs#291 · 1 zugewiesene Person ·
Maintainer antworten meist innerhalb von 1 Tag
-
Put the selection box and Your Courses side by side and restyle themEvtl. vergeben @Aiden-Trindade hat das vor 2 Tagen übernommen. Offen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 55/100
CodeChefVIT/ffcs#290 · 1 zugewiesene Person ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 42/100
CodeChefVIT/ffcs#288 ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in CodeChefVIT/ffcs
Ähnliche Issues
-
bug ready-for-agent
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 73/100
PhyberApex/kuroshiro#1687 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 73/100
microsoft/monaco-editor#5563 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 86/100
awslabs/visual-asset-management-system#937 ·
Maintainer antworten meist innerhalb von 1 Tag
-
enhancement
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100