Resolve "Grading view improvements"
Closes #356 (closed) Closes #363 (closed) Closes #370 (closed) Closes #375 (closed) Closes #377 (closed) Closes #383 (closed)
Makes the following changes:
- Grading page now has only full data on the current submission and current problem. This forces proper, complete updates from the server when changing problem and / or submissions, ensuring a more up-to-date local state.
- Navigation and the decision of what submission to move to is now server side. This ensures that get next will actually produce an ungraded submission
- To allow for the progress bar, search box and problem selector, grading page has a metadata for all problems and submissions.
For submissions, this metadata is
id, student
and for problems this isid, name
. There is now no reason anymore to run call the costlyupdateAllSubmissions
function in the Grading view anymore. - The navigation is now a separate component, cleaning
Grade.jsx
a ton. - Removed some code duplication (namely, generate problem data in one spot)
- Add docs for the Grade.jsx page
Edited by Otto Kaaij