@@ -2,7 +2,7 @@ import html2canvas from "html2canvas";
2
2
3
3
// see https://regex101.com/r/QHSaPM/2
4
4
const TIMETABLE_ROW_RE : RegExp =
5
- / ^ (?< ueCode > [ A - Z \d ] { 4 } (?: \+ [ A - Z \d ] { 4 } ) ? ) \s + (?< courseType > [ A - Z ] { 2 } \d ) \s + ( (?< weekGroup > [ A B ] ) \s + ) ? (?< weekday > ( l u n d i ) | ( m a r d i ) | ( m e r c r e d i ) | ( j e u d i ) | ( v e n d r e d i ) | ( s a m e d i ) | ( d i m a n c h e ) ) \s + (?< startHour > \d { 2 } : \d { 2 } ) \s + (?< endHour > \d { 2 } : \d { 2 } ) \s + [ \d A - B ] \s + (?: [ \w é ] * \s + ) ? (?< room > \w + (?: , \w + ) ? ) $ / ;
5
+ / ^ (?< ueCode > [ ^ \t ] + ) \t + (?< courseType > [ A - Z ] { 2 } \d ) \t + ( (?< weekGroup > [ A B ] ) \t + ) ? (?< weekday > ( l u n d i ) | ( m a r d i ) | ( m e r c r e d i ) | ( j e u d i ) | ( v e n d r e d i ) | ( s a m e d i ) | ( d i m a n c h e ) ) \t + (?< startHour > \d { 2 } : \d { 2 } ) \t + (?< endHour > \d { 2 } : \d { 2 } ) \t + [ \d A - B ] \t + (?: [ ^ \t ] * \t + ) ? (?< room > [ ^ \t ] + ) $ / ;
6
6
7
7
const DEFAULT_TIMETABLE : string = `DS52\t\tCM1\t\tlundi\t08:00\t10:00\t1\tPrésentiel\tA113
8
8
DS53\t\tCM1\t\tlundi\t10:15\t12:15\t1\tPrésentiel\tA101
@@ -135,11 +135,18 @@ document.addEventListener("alpine:init", () => {
135
135
} ,
136
136
137
137
getStyle ( slot : TimetableSlot ) {
138
+ const hasWeekGroup = slot . weekGroup !== undefined ;
139
+ const width = hasWeekGroup ? SLOT_WIDTH / 2 : SLOT_WIDTH ;
140
+ const leftOffset = hasWeekGroup
141
+ ? slot . weekGroup === "A"
142
+ ? 0
143
+ : SLOT_WIDTH / 2
144
+ : 0 ;
138
145
return {
139
146
height : `${ ( slot . endSlot - slot . startSlot ) * SLOT_HEIGHT } px` ,
140
- width : `${ SLOT_WIDTH } px` ,
147
+ width : `${ width } px` ,
141
148
top : `${ ( slot . startSlot - this . startSlot ) * SLOT_HEIGHT } px` ,
142
- left : `${ this . displayedWeekdays . indexOf ( slot . weekday ) * SLOT_WIDTH } px` ,
149
+ left : `${ this . displayedWeekdays . indexOf ( slot . weekday ) * SLOT_WIDTH + leftOffset } px` ,
143
150
backgroundColor : this . colors [ slot . ueCode ] ,
144
151
} ;
145
152
} ,
0 commit comments