feat(gradebook): bounded grade entry, out-of-range flags, and save confirmation#8464
Open
LWS49 wants to merge 1 commit into
Open
Conversation
947f45d to
e26ee62
Compare
38c0e8e to
c75dd03
Compare
…warnings External grade cells gain decimal-bounded inline editing with explicit accept/revert controls, a saving indicator, and a persistent save confirmation that echoes the student, assessment, and old → new grade so a row/column misclick is caught. Over-max and below-zero warning markers flag out-of-bound values. The weighted view annotates contributions that an active bound capped or floored. GradebookIndex surfaces an out-of-range summary alert above the table, and threads weightedViewEnabled into GradebookTable so the cell messaging matches the active view.
e26ee62 to
dc5c67b
Compare
c75dd03 to
32c59d0
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Hardens external grade entry and surfaces out-of-range data. Grade and max entry are capped at the
decimal(5,2)ceiling at the input layer; negative manual entry is allowed (floor-at-zero presumes penalty columns) while non-numeric input is rejected at entry instead of being silently discarded. Over-max and below-zero grades show an inline indicator whose tooltip copy is weighted-view-aware. A persistent below-the-tabs banner aggregates how many grades across how many externals are outside their range. A successful inline edit now confirms with a persistent toast that echoes the student, assessment, and old-to-new grade.Design decisions
Regression prevention
Covers: out-of-range computation, the OutOfRangeAlert component and the GradebookIndex summary, cap-at-two-decimals entry, below-zero and over-max icon presence/absence, weighted vs non-weighted tooltip copy, the read-only max cell, the active-cell accept/revert controls, and the save-confirmation toast (fires with student/assessment/old-to-new, does not fire on a no-op edit). No change to stored grades - all bound and warning behavior is read-time only. This PR is frontend-only.