Skip to content

feat(Grade by component): allow teachers to grade by component #2090

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Open
wants to merge 89 commits into
base: develop
Choose a base branch
from

Conversation

hirokiterashima
Copy link
Member

@hirokiterashima hirokiterashima commented Feb 12, 2025

Changes

This PR changes the grade-by-step view to grade-by-component view. This will allow teachers to view one component at a time, and switch between the components using a select drop-down. In the future, we will be adding summary views for more components, like commonly-detected ideas in the DG component.

Test

Choose a step in the Grade-by-step view. It should show the grading view for the first component in the step.

Verify the following:

  • Step completion and step mean score should be displayed at the top of the page
  • If the step has multiple components, you should see a select drop-down, and this will let you switch between the components.
  • If the component has a summary display (e.g. choices chosen on a MC component), it should show the summary view.
  • If the component has scores, it should show the score distributions in the summary view panel
  • Sort the student list by team/status/score
  • Expand and collapse each student, and expand all students and collapse all students
  • See students' work for the component, and provide scores and comments
  • (for @breity)
    • Milestone grading view works as before
    • PeerChat component shows Peer Grouping button
    • Milestone component shows Report button

Closes #2099

@hirokiterashima hirokiterashima self-assigned this Feb 12, 2025
…it to work for some components like OR and MC. Had to comment out some component grading modules in ComponentGradingComponent because they cause multiple instances of TeacherDataService to be created
…Component and got the Grading Tool to work without having to instantiate multiple TeacherDataServices
…y first time the NodeGradingComponent was initialized
@hirokiterashima
Copy link
Member Author

Thanks @Aaron-Detre for the write up. I fixed the issue in this commit 0e21b07

@hirokiterashima
Copy link
Member Author

@breity It looks like mocking (using ng-mocks) components that use FlexLayout (like ComponentClassResponsesComponent and MilestoneReportButtonComponent) in our unit tests is no longer possible in Angular 19. Can you look into removing the FlexLayoutModule dependency from those classes?

Copy link
Contributor

@Aaron-Detre Aaron-Detre left a comment

Choose a reason for hiding this comment

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

Everything works, except that text wrapping seems to be broken for dialog guidance components:
chrome_5qcuobjcV9

@hirokiterashima
Copy link
Member Author

@Aaron-Detre the UI issue you found looks similar to #2101.

I see the problem locally too, but haven't been able to figure it out. @breity can you take a look please?

Co-authored-by: Jonathan Lim-Breitbart <breity10@gmail.com>
hirokiterashima and others added 15 commits March 14, 2025 10:38
Co-authored-by: Jonathan Lim-Breitbart <breity10@gmail.com>
~ Conflicts:
~	src/assets/wise5/directives/summary-display/summary-display.component.ts
~	src/messages.xlf
… component is initialized, and will remain fixed, so we don't need to listen for changes.
…changes instead.

Remove unused selector. NodeGradingComponent is initialized via the router.
… the first component of the step. In the process, I redid the navigation to rely less on getting the nodeId from dataService and more on getting it from the route and passing it down to child components.
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
enhancement New feature of any size or improvement (UI, performance, security)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

feat(Grading Tool): Grade by component
3 participants