3232 td .pr-unknown {
3333 background-color : grey;
3434 }
35+
36+ th {
37+ background-color : white;
38+ }
39+
40+ table thead {
41+ position : sticky;
42+ top : 0 ;
43+ z-index : 1 ;
44+ }
45+
46+ table tbody th , table thead tr th : nth-of-type (0 ) {
47+ position : sticky;
48+ left : 0 ;
49+ z-index : 2 ;
50+ }
51+ table tbody th {
52+ font-weight : normal;
53+ }
3554 </ style >
55+ < title > {{ course.name }} Trainee Tracker</ title >
3656 </ head >
3757 < body >
3858 < h1 > {{ course.name }} - {{ batch.name }}</ h1 >
@@ -42,53 +62,57 @@ <h1>{{ course.name }} - {{ batch.name }}</h1>
4262 {% endfor %}
4363 < button id ="regions-filter-none "> No Regions</ button >
4464 < table >
45- < tr >
46- < th > GitHub</ th >
47- < th > Region</ th >
48- {% for (module_name, module) in course.modules %}
49- < th colspan ="{{ module.assignment_count() }} "> {{module_name}}</ th >
50- {% endfor %}
51- </ tr >
52- < tr >
53- < th > </ th >
54- < th > </ th >
55- {% for (module_name, module) in course.modules %}
56- {% for (sprint_number, sprint) in module.sprints.iter().enumerate() %}
57- < th colspan ="{{ sprint.assignment_count() }} "> Sprint {{ sprint_number + 1 }}</ th >
65+ < thead >
66+ < tr >
67+ < th > GitHub</ th >
68+ < th > Region</ th >
69+ {% for (module_name, module) in course.modules %}
70+ < th colspan ="{{ module.assignment_count() }} "> {{module_name}}</ th >
5871 {% endfor %}
59- {% endfor %}
60- </ tr >
61- < tr >
62- < th > </ th >
63- < th > </ th >
64- {% for (module_name, module) in course.modules %}
65- {% for sprint in module.sprints %}
66- {% for assignment in sprint.assignments %}
67- < th > {{ assignment.heading() }}</ th >
72+ </ tr >
73+ < tr >
74+ < th > </ th >
75+ < th > </ th >
76+ {% for (module_name, module) in course.modules %}
77+ {% for (sprint_number, sprint) in module.sprints.iter().enumerate() %}
78+ < th colspan ="{{ sprint.assignment_count() }} "> Sprint {{ sprint_number + 1 }}</ th >
6879 {% endfor %}
6980 {% endfor %}
70- {% endfor %}
71- </ tr >
72- {% for trainee in batch.trainees %}
81+ </ tr >
7382 < tr >
74- < td > {{ trainee.name }} - < a href =" https://github.com/{{trainee.github_login}} " > @{{ trainee.github_login }} </ a > - {{ trainee.email }} </ td >
75- < td > {{ trainee.region }} </ td >
76- {% for (module_name, module) in trainee .modules %}
83+ < th > </ th >
84+ < th > </ th >
85+ {% for (module_name, module) in course .modules %}
7786 {% for sprint in module.sprints %}
78- {% for submission in sprint.submissions %}
79- {% match submission %}
80- {% when crate::course::SubmissionState::Some(submission) %}
81- < td class ="{{ css_classes(submission) }} "> < a href ="{{ submission.link() }} "> {{ submission.display_text() }}</ a > </ td >
82- {% when crate::course::SubmissionState::MissingButExpected(_) %}
83- < td class ="pr-missing "> </ td >
84- {% when crate::course::SubmissionState::MissingButNotExpected(_) %}
85- < td > </ td >
86- {% endmatch %}
87+ {% for assignment in sprint.assignments %}
88+ < th > {{ assignment.heading() }}</ th >
8789 {% endfor %}
8890 {% endfor %}
8991 {% endfor %}
9092 </ tr >
91- {% endfor %}
93+ </ thead >
94+ < tbody >
95+ {% for trainee in batch.trainees %}
96+ < tr >
97+ < th > {{ trainee.name }} - < a href ="https://github.com/{{trainee.github_login}} "> @{{ trainee.github_login }}</ a > - {{ trainee.email }}</ th >
98+ < td > {{ trainee.region }}</ td >
99+ {% for (module_name, module) in trainee.modules %}
100+ {% for sprint in module.sprints %}
101+ {% for submission in sprint.submissions %}
102+ {% match submission %}
103+ {% when crate::course::SubmissionState::Some(submission) %}
104+ < td class ="{{ css_classes(submission) }} "> < a href ="{{ submission.link() }} "> {{ submission.display_text() }}</ a > </ td >
105+ {% when crate::course::SubmissionState::MissingButExpected(_) %}
106+ < td class ="pr-missing "> </ td >
107+ {% when crate::course::SubmissionState::MissingButNotExpected(_) %}
108+ < td > </ td >
109+ {% endmatch %}
110+ {% endfor %}
111+ {% endfor %}
112+ {% endfor %}
113+ </ tr >
114+ {% endfor %}
115+ </ tbody >
92116 </ table >
93117
94118 {% let unknown_prs = batch.unknown_prs() %}
0 commit comments