[dashboard-components] Extract table region component

Daily Dashboard Component Refactorer · pull request · closed

Filter2mode:review mode:live
All recorded Export JSON
github-actions[bot]

published Aug 29, 2026, 6:28 PM · updated Aug 29, 2026, 6:46 PM

Summary

  • Extract src/components/table-region.js to reuse the repeated .table-region > table > thead/tbody construction in the dashboard presenter.
  • Replace duplicated call sites in built-in runs, workflows, findings, and usage pages plus custom table and chart text-equivalent views.
  • Add focused unit coverage for the extracted component and keep existing presenter/browser coverage green.

Duplication evidence

  • pages/dashboard/src/presenter.js:449 repeated .table-region table wrapper in renderRunsPage
  • pages/dashboard/src/presenter.js:560 repeated .table-region table wrapper in renderWorkflowsPage
  • pages/dashboard/src/presenter.js:622 repeated .table-region table wrapper in renderFindingsPage
  • pages/dashboard/src/presenter.js:682 repeated .table-region table wrapper in renderUsagePage
  • pages/dashboard/src/presenter.js:1506 repeated custom table text-equivalent wrapper in renderTableView
  • pages/dashboard/src/presenter.js:1575 repeated custom chart text-equivalent wrapper in renderChartView

Call sites collapsed

  • renderRunsPage
  • renderWorkflowsPage
  • renderFindingsPage
  • renderUsagePage
  • renderTableView
  • renderChartView

Tests added

  • pages/dashboard/test/unit/table-region.test.js
    • renders headers and provided rows
    • renders empty-state row with the expected colspan
    • preserves data-custom-view-mark for custom table/chart variants

Behavior preservation evidence

  • Existing presenter unit tests stayed green after the extraction, including affected built-in and custom page assertions.
  • Existing Playwright smoke tests stayed green after updating the in-browser module loader for the new component import.
  • Structural comparison of pages/dashboard/src/presenter.js before vs. after shows the affected changes are limited to replacing duplicated table wrapper construction with renderTableRegion, without changing DOM text, class names, or accessible labels.

Quality gates

  • npm install
  • npm run typecheck
  • npm run lint
  • npm test
  • npm run test:e2e

Blockers

  • None.

Next candidates

  • Extract repeated built-in inventory-table construction across engines-models, organizations, repositories, experiments, graders, evals, and operational-value.
  • Extract repeated custom-view source/metadata/context chrome.
  • Extract repeated built-in provenance section rendering.

Warning

Firewall blocked 1 domain

The following domain was blocked by the firewall during workflow execution:

  • mtalk.google.com

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "mtalk.google.com"

See Network Configuration for more information.

Generated by ♻️ Daily Dashboard Component Refactorer · pi · gpt54 · 68.7 AIC · ⌖ 8.11 AIC · ⊞ 5.4K ·