Skip to content

refactor(plugin-grid): move ObjectGrid's host-facing props types and FooterSummaryReport into sibling modules (slice 2) - #26354

Merged
objectstack-fleet[bot] merged 3 commits into
mainfrom
claude/project-thread-mbvzks
Oct 26, 2026
Merged

objectstack-fleet[bot] merged 3 commits into
mainfrom
claude/project-thread-mbvzks

Conversation

@objectstack-fleet

@objectstack-fleet objectstack-fleet Bot commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

Requested by Steve · project thread

Part of #25994 (slice 2 of the move-only split; the card stays open for the later slices).

Clause-②: no
Metadata-protocol: none

What moved

Base 71580254 (main with slice 1, #26323). This slice finishes the module-level part of ui/packages/plugin-grid/src/ObjectGrid.tsx that no test pins. It moves two groups, verbatim, into two new sibling modules:

  • objectGridProps.ts: ObjectGridColumnState, ObjectGridFooterSummary and ObjectGridExternalPaginationProps, with their docblocks. These are the host-facing props types that ObjectGridComponentProps builds on.
  • objectGridFooterSummaryReport.tsx: FooterSummaryReport, the renderless component that reports the grid's column summaries to a host.

144 lines move, and ObjectGrid.tsx goes from 6781 to 6637 lines. FooterSummaryReport gains the export keyword in its new module. ObjectGrid.tsx imports the moved names back and re-exports the three types, so every name it exported is still importable from the same path. The package entry (index.tsx) is untouched. No identifier is renamed, no logic or DOM changes, and no new name is exported from ObjectGrid.tsx.

Move-only proof: the multiset of non-blank lines of the base ObjectGrid.tsx equals the new ObjectGrid.tsx plus the two modules (each module's header comment dropped, the added export keyword normalised). Nothing is missing. The only other lines are the import lines and the one type re-export line.

Changeset correction from slice 1

Slice 1's changeset (.changeset/25994-objectgrid-helpers-split.md, still unreleased) listed "the record-source ladder" among the moved query helpers, but getDataConfig stayed in ObjectGrid.tsx: exported, it would have become a shared reader for check:doc-example-readers. The correction lives as one sentence in this slice's own changeset (.changeset/25994-objectgrid-props-split.md). Slice 1's note is untouched, so check-empty-changeset has nothing to refuse.

What module-level code stays in ObjectGrid.tsx, and why

So after this slice, the remaining work on the card is the component body.

Test edits

None.

Verification

Run on head f1e4df4c (tree identical to the commits the tests ran on; only the commit messages were reworded before the push):

  • pnpm --dir ui exec vitest run packages/plugin-grid/ --maxWorkers=2, the whole package suite, under the verification lock: 251 of 251 files and 2247 of 2247 tests passed after the move. The before reading is the same suite on slice 1's head (8fe81ee9, whose tree is main 71580254 for this package): 251 of 251 files, 2247 of 2247 tests, locally and in CI.

  • The 52 test files outside plugin-grid that read sources (the same list slice 1 used): 52 of 52 files, 2257 of 2257 tests passed.

  • pnpm --filter @object-ui/plugin-grid type-check exit 0.

  • eslint on the three files: 0 errors.

  • pnpm --dir ui run check:doc-example-readers exit 0.

  • node scripts/gen-sdui-manifest-node.mjs: the manifest is byte-identical (sha256 1f6e1ccb…). Only scripts/sdui-manifest.sources/plugin-grid.json is re-recorded. node scripts/check-sdui-manifest.mjs exit 0.

  • node scripts/pm/dispatch-gates.mjs --commands: 41 derived gates; --ran reconciles 41 of 41 (0 NOT-MEASURED, 0 UNRUN). All 41 exit 0; check-empty-changeset was re-run on ba1445b9.

Landing

Seat 2's #26307 and #26341 land first on the plugin-grid line, so this stays a draft. Expect a merge of main and a re-record of plugin-grid.json before it lands.

Changesets: .changeset/25994-objectgrid-props-split.md (patch, @object-ui/plugin-grid).

🤖 Generated with Claude Code

https://claude.ai/code/session_01Bdrd2yH4eqnz2QobtN3haE

…FooterSummaryReport into sibling modules (slice 2)

Move-only: ObjectGridColumnState, ObjectGridFooterSummary and
ObjectGridExternalPaginationProps go verbatim to objectGridProps.ts, and the
renderless FooterSummaryReport to objectGridFooterSummaryReport.tsx.
ObjectGrid.tsx imports them back and re-exports the three types, so its
exported names and the package entry do not move.

Also corrects slice 1's changeset: getDataConfig (the record-source ladder)
stayed in ObjectGrid.tsx, so it is no longer listed as moved.

Claude-Session: https://claude.ai/code/session_01Bdrd2yH4eqnz2QobtN3haE
Co-authored-by: Claude <noreply@anthropic.com>
@github-actions github-actions Bot added size/m documentation Improvements or additions to documentation tooling labels Oct 26, 2026
…in slice 2's note

Claude-Session: https://claude.ai/code/session_01Bdrd2yH4eqnz2QobtN3haE
Co-authored-by: Claude <noreply@anthropic.com>
@objectstack-fleet

Copy link
Copy Markdown
Contributor Author

席位核对 · ACCEPT · seat domain:ui#1 · 2026-10-26T23:12Z

Head ba1445b9 (read from the PR object).

Landing: ready + auto-merge through the relay.

@objectstack-fleet
objectstack-fleet Bot marked this pull request as ready for review October 26, 2026 23:13
@objectstack-fleet
objectstack-fleet Bot enabled auto-merge October 26, 2026 23:13
@objectstack-fleet
objectstack-fleet Bot added this pull request to the merge queue Oct 26, 2026
Merged via the queue into main with commit 222755e Oct 26, 2026
69 checks passed
os-steve pushed a commit that referenced this pull request Oct 26, 2026
Merged origin/main (main's record taken at the merge); node
scripts/gen-sdui-manifest-node.mjs re-recorded plugin-grid alone, the
artefact did not move. node scripts/check-sdui-manifest.mjs exit 0.

Claude-Session: https://claude.ai/code/session_01SMps7wq7rBTk53e8KTSEup
Co-authored-by: Claude <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation size/m tooling

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants