Skip to content

[Feature:RainbowGrades] Added Sticky Columns to Gradebook#86

Merged
bmcutler merged 3 commits into
mainfrom
sticky-columns
May 1, 2026
Merged

[Feature:RainbowGrades] Added Sticky Columns to Gradebook#86
bmcutler merged 3 commits into
mainfrom
sticky-columns

Conversation

@Eli-J-Schwartz

@Eli-J-Schwartz Eli-J-Schwartz commented Apr 6, 2026

Copy link
Copy Markdown
Contributor

Why is this Change Important & Necessary?

Partially addresses Issue #10273 In Submitty/Submitty

What is the New Behavior?

The leftmost 4 rows, which contain the User ID, Numeric ID, First Name, & Last Name, stay in place when scrolling to the right.

Before:

Before.mp4

After:

After.mp4

What steps should a reviewer take to reproduce or test the bug or new feature?

  1. As an instructor, visit the grades configuration tab and rebuild the rainbow grades.
  2. Visit the gradebook page and try scrolling the table of grades left and right.
  3. Observe the new behavior or sticky columns.

Edit: Since multiple people noted issues with testing this PR due to the changes existing in two different repositories, here are instructions for setting up Submitty to read the changes in the RainbowGrades repository.

  1. run git clone https://github.com/Submitty/RainbowGrades.git in the directory above Submitty. The resulting file structure should look like:
RCOS_Submitty/ (or some other name)
├─ Submitty/
│  ├─ site/
│  ├─ grading/
│  ├─ bin/
│  ├─ ...
├─ RainbowGrades/
│  ├─ student.cpp
│  ├─ table.cpp
│  ├─ output.cpp
│  ├─ ...
├─ ...
  1. in the RainbowGrades folder, run git checkout sticky-columns
  2. in the Submitty folder, run git checkout gradebook-format-fix
  3. in the Submitty folder, run vagrant halt, then vagrant up, to link the RainbowGrades folder to the VM. If this worked correctly you should see the line
    ubuntu-22.04: /home/username_example/RCOS_Submitty/RainbowGrades => /usr/local/submitty/GIT_CHECKOUT/RainbowGrades
  4. run vagrant ssh, the run submitty_install, to fetch re-compile rainbow grades.
  5. follow the build and test instructions listed above.

Automated Testing & Documentation

No testing or documentation is needed, as the change is purely visual.

Other information

Due to a small styling issue, I had to make a 1-line PR in the Submitty/Submitty repository, which can be found here. Reviewers should review both PR's simultaneously.

@dagemcn dagemcn left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Functionality looks good, code looked good from my overview, although I'm not super familiar with the libraries used here. However, if I was an instructor, I can see myself scrolling back up and down to see which column I am viewing. I think it could be good to add a sticky row for the title row.

@roye2 roye2 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I took a look at the code and I also tested the functionality and everything looks good.

@github-project-automation github-project-automation Bot moved this from Seeking Reviewer to Awaiting Maintainer Review in Submitty Development Apr 7, 2026

@dagemcn dagemcn left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Everything looks good!

@Rkoester47 Rkoester47 left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tested the changes made on this PR and can confirm that the sticky columns do work correctly. The code changes look reasonable and I could not find issues with functionality.

@aconfo aconfo left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tried the functionality and couldn't find any obvious errors or anything I'd recommend changing, looks really good

@bmcutler bmcutler left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

let's not have the numeric ID be sticky.
username + given + last is sufficient

@github-project-automation github-project-automation Bot moved this from Awaiting Maintainer Review to Work in Progress in Submitty Development Apr 14, 2026
@Eli-J-Schwartz
Eli-J-Schwartz requested a review from bmcutler April 17, 2026 13:58
bmcutler pushed a commit to Submitty/Submitty that referenced this pull request Apr 30, 2026
### Why is this Change Important & Necessary?
This is a minor styling change related to [PR#86 in
Submitty/RainbowGrades](Submitty/RainbowGrades#86),
that prevents the table from overflowing past the sticky columns.

### What is the New Behavior?
Before:
<img width="1440" height="900" alt="Screenshot_20260406_173230"
src="https://github.com/user-attachments/assets/48db20fd-8876-40ea-93d3-2fb0aa453b99"
/>
After:
<img width="1440" height="900" alt="Screenshot_20260406_173456"
src="https://github.com/user-attachments/assets/cc9c2c86-09fd-4a70-a2dc-49adeba95ecd"
/>

### What steps should a reviewer take to reproduce or test the bug or
new feature?
Follow the same steps as in [PR#86 in
Submitty/RainbowGrades](Submitty/RainbowGrades#86).

### Automated Testing & Documentation
N/A (style change)

### Other information
None
@bmcutler
bmcutler merged commit c17b4df into main May 1, 2026
1 check passed
@bmcutler
bmcutler deleted the sticky-columns branch May 1, 2026 02:03
@github-project-automation github-project-automation Bot moved this from Work in Progress to Done in Submitty Development May 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

6 participants