Skip to content

feat(ComponentSummary): Responsive masonry layout and priority ordering - #2357

Merged
hirokiterashima merged 3 commits into
developfrom
component-summary-masonry-layout
Oct 19, 2026
Merged

hirokiterashima merged 3 commits into
developfrom
component-summary-masonry-layout

Conversation

@breity

@breity breity commented Oct 16, 2026

Copy link
Copy Markdown
Member

Changes

Refactor the Classroom Monitor's <component-summary> dashboard to use a responsive masonry/grid layout with priority display ordering, adaptive sizing rules across container breakpoints, and visual refinements for individual summary cards.

  • Extract shared applyMasonry() DOM utility for DiscussionStudent and ComponentSummaryComponent
  • Consolidate component summary templates into a single responsive grid with priority ordering (order-1 through order-5) and size classes (.summary-lg, .summary-sm)
  • Add adaptive CSS :has() and container query rules for various summary combinations
  • Add header and empty-state notice to AiSummaryComponent
  • Use responsive multi-column layout for TeacherReflectionComponent questions
  • Hide redundant bar chart legend, disallow decimal y-axis ticks, and reduce chart height in SummaryDisplayComponent

The layout logic is rather complex! Here's a summary of all the changes if you'd like to review in detail: component_summary_masonry_layout_result.md.

Test

  • Make sure all summary displays work as before.
  • Test with a variety of component types and different combinations of all the summary displays (Scores, MC pie chart, Sort/Match, Ideas Summary, Discussion, AI summaries, Teacher Reflections).
  • Make sure there aren't any egregious visual or layout bugs.

…ity ordering for summaries

- Extract shared applyMasonry() DOM utility for DiscussionStudent and ComponentSummaryComponent
- Consolidate component summary templates into a single responsive grid with priority ordering (order-1 through order-5) and size classes (.summary-lg, .summary-sm)
- Add adaptive CSS :has() and container query rules for various summary combinations
- Add header and empty-state notice to AiSummaryComponent
- Use responsive multi-column layout for TeacherReflectionComponent questions
- Hide redundant bar chart legend, disallow decimal y-axis ticks, and reduce chart height in SummaryDisplayComponent
@breity breity self-assigned this Oct 16, 2026
@breity breity added the enhancement New feature of any size or improvement (UI, performance, security) label Oct 16, 2026
@breity breity changed the title feat(ComponentSummary): Responsive masonry layout and priority ordering for summaries feat(ComponentSummary): Responsive masonry layout and priority ordering Oct 16, 2026
@qltysh

qltysh Bot commented Oct 16, 2026

Copy link
Copy Markdown

❌ 2 blocking issues (2 total)

Tool Category Rule Count
qlty Structure Function with many parameters (count = 8): constructor 1 ❌
qlty Structure Function with many returns (count = 6): createChartConfig 1 ❌

private dialog: MatDialog,
private ngZone: NgZone,
private projectService: ProjectService,
private summaryService: SummaryService

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Function with many parameters (count = 8): constructor [qlty:function-parameters]

@qltysh

qltysh Bot commented Oct 16, 2026

Copy link
Copy Markdown

Qlty


Coverage Impact

Unable to calculate total coverage change because base branch coverage was not found.

Modified Files with Diff Coverage (3)

RatingFile% DiffUncovered Line #s
New file Coverage rating: D
src/assets/wise5/common/dom/dom.ts78.6%34, 47-48
New file Coverage rating: D
.../discussion/discussion-student/discussion-student.component.ts0.0%125
New file Coverage rating: F
...torComponents/component-summary/component-summary.component.ts52.2%77, 112-134
Total60.5%
🤖 Increase coverage with AI coding...
In the `component-summary-masonry-layout` branch, add test coverage for this new code:

- `src/assets/wise5/classroomMonitor/classroomMonitorComponents/component-summary/component-summary.component.ts` -- Lines 77 and 112-134
- `src/assets/wise5/common/dom/dom.ts` -- Lines 34 and 47-48
- `src/assets/wise5/components/discussion/discussion-student/discussion-student.component.ts` -- Line 125

🚦 See full report on Qlty Cloud »

🛟 Help
  • Diff Coverage: Coverage for added or modified lines of code (excludes deleted files). Learn more.

  • Total Coverage: Coverage for the whole repository, calculated as the sum of all File Coverage. Learn more.

  • File Coverage: Covered Lines divided by Covered Lines plus Missed Lines. (Excludes non-executable lines including blank lines and comments.)

    • Indirect Changes: Changes to File Coverage for files that were not modified in this PR. Learn more.

@hirokiterashima hirokiterashima 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.

LGTM

@hirokiterashima
hirokiterashima merged commit d7f1dcd into develop Oct 19, 2026
4 checks passed
@hirokiterashima
hirokiterashima deleted the component-summary-masonry-layout branch October 19, 2026 17:52
@hirokiterashima

Copy link
Copy Markdown
Member

🎉 This PR is included in version 5.247.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature of any size or improvement (UI, performance, security) released

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants