Skip to content

Commit 6b44ff9

Browse files
committed
Freeze table headings
1 parent 774f356 commit 6b44ff9

1 file changed

Lines changed: 62 additions & 38 deletions

File tree

templates/trainee-batch.html

Lines changed: 62 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,27 @@
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

Comments
 (0)