[Studio UI] Saved search grid UI improvements (#3836) - #4068
Open
idaiv wants to merge 6 commits into
Open
Conversation
When a saved search is opened as a tab, the result widget now shows a Header component with the saved search name as the title, following the with-actions Header pattern. Uses position="top" for the bottom border separator. The listing components (Asset/Object/Document) already provide: - Secondary toolbar with language switch (Object), refresh, pagination - TopBar with type select, class select, and search input Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Header (TopBar): - When a saved search is opened as a tab, the TopBar now renders a Header component (matching Redirects pattern) with the saved search name as Title, type/class dropdowns alongside, and search input on the right (width: 320px, matching SearchInput default) - Inside the search modal, the existing Toolbar layout is preserved Toolbar (bottom): - Object listing: language switch on the LEFT, refresh + pagination on the RIGHT when inside a saved search widget - Removed padding override — uses Toolbar's default token.paddingXS - Inside the search modal, the original layout is preserved Applies to all three listing types (Asset, Document, Data Object). Relates to pimcore/product-management#1448 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
Asset and Document toolbar requirements are unimplemented, while Object modal padding regresses.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
Verdict: Needs changes. The PR introduces saved-search widget headers and toolbar layout improvements.
Changes:
- Adds saved-search titles, selectors, and right-aligned search fields.
- Repositions Data Object toolbar controls.
- Restores default toolbar padding for widgets.
Review assessment:
- Root cause: Partially addressed; widget/modal layouts are distinguished, but toolbar handling is incomplete.
- Call sites: Asset and Document toolbars were missed.
- Boundary/BC: Component boundaries are appropriate; no public API break.
- Tests/docs: No automated regression coverage or documentation changes.
- Risk: The Object modal layout changes unintentionally.
File summaries
| File | Description |
|---|---|
asset/.../top-bar.tsx |
Adds the Asset saved-search header. |
document/.../top-bar.tsx |
Adds the Document saved-search header. |
object/.../top-bar.tsx |
Adds the Data Object saved-search header. |
object/.../toolbar.tsx |
Repositions language and paging controls. |
Review details
- Files reviewed: 4/5 changed files
- Comments generated: 6
- Review effort level: Balanced
💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
|
|
||
| const search = <SearchTermFilter onCommit={ isOpen ? setSearchTerm : undefined } /> | ||
|
|
||
| if (isSavedSearchWidget) { |
|
|
||
| const search = <SearchTermFilter onCommit={ isOpen ? setSearchTerm : undefined } /> | ||
|
|
||
| if (isSavedSearchWidget) { |
Comment on lines
26
to
27
| <BaseToolbar | ||
| padding={ { right: 'none', left: 'none' } } | ||
| theme='secondary' |
| <Title>{loadedSavedSearch.name}</Title> | ||
| <ProvidedTypeSelect /> | ||
| </Flex> | ||
| <div style={ { width: 320, flexShrink: 0 } }> |
| <Title>{loadedSavedSearch.name}</Title> | ||
| <ProvidedTypeSelect /> | ||
| </Flex> | ||
| <div style={ { width: 320, flexShrink: 0 } }> |
| <ProvidedTypeSelect /> | ||
| <ClassDefinitionSelect nullable /> | ||
| </Flex> | ||
| <div style={ { width: 320, flexShrink: 0 } }> |
…ent toolbars
- Toolbar padding: conditionally apply padding={{ none }} only inside
the search modal, use default token.paddingXS in saved search widget
- Asset and document toolbars: updated with same conditional padding
pattern and space-between layout (matching object toolbar)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
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
Addresses #3836
Header (TopBar):
Headercomponent (matching Redirects pattern) with:Titleon the leftSearchInputdefault)Toolbar (bottom):
token.paddingXSpadding (removedpadding: noneoverride)Applies to all three listing types (Asset, Document, Data Object).
Test plan
🤖 Generated with Claude Code