Media Picker: Show ancestor breadcrumb path in search results table view (closes #23101) - #23116
Conversation
|
Claude finished @AndyButland's task in 3m 45s —— View job Code Review
SummaryVerdict: Approved with suggestions — clean, well-scoped implementation that correctly ports the document-picker ancestor-breadcrumb pattern to the media picker's table view. What the PR doesAdds a new Positive observations
FindingsTwo minor items, both left as inline comments:
Neither finding blocks merging — both are quality-of-life improvements. |
There was a problem hiding this comment.
Pull request overview
Adds ancestor breadcrumb paths to Media Picker table search results to better disambiguate items with duplicate names (matching the behavior in other pickers/search results).
Changes:
- Introduces a new table column layout element (
umb-media-picker-table-column-name) that renders the item name plus an optional ancestor path beneath it (with start-truncation viadirection: rtl). - Updates the media picker modal’s table configuration to use the new column element and pass structured name/path/navigation data.
- Adds unit tests for the new column element (including click behavior and optional a11y audit).
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| src/Umbraco.Web.UI.Client/src/packages/media/media/modals/media-picker/media-picker-modal.element.ts | Switches the table “name” column to a custom column element and supplies ancestor path + optional navigation callback. |
| src/Umbraco.Web.UI.Client/src/packages/media/media/modals/media-picker/components/media-picker-table-column-name.element.ts | New column layout element rendering name + optional ancestor path, preserving “open folder” behavior via a button. |
| src/Umbraco.Web.UI.Client/src/packages/media/media/modals/media-picker/components/media-picker-table-column-name.test.ts | Unit coverage for rendering, navigation click handling, and event propagation behavior (+ optional a11y audit). |
| src/Umbraco.Web.UI.Client/src/packages/media/media/modals/media-picker/components/index.ts | Re-exports the new column element so it’s registered via the existing components barrel import. |
|



Description
The global backoffice search and the document/content picker already show an ancestor breadcrumb path in their search results so duplicate names can be told apart. The media picker did not, even though the ancestor data was already fetched. This adds the breadcrumb to the media picker's table search view.
umb-media-picker-table-column-nametable column element renders the item name with the ancestor path beneath it (smaller, dimmed). Folder rows keep their click-to-open behaviour.direction: rtl) so the deepest, most disambiguating ancestor stays visible — matching the document picker.The breadcrumb is added to the table view only. The default cards view is unchanged, as the thumbnail already provides visual disambiguation there. I considered adding it here too, but then we either lose some of the thumbnail display or need to make the card bigger, and we have a display difference for root items that don't have an ancestor.
Fixes #23101.
Testing
Automated
Unit tests are added for the new column element.
Manual
Folder A/banner.jpgandFolder B/banner.jpg).This item has been added to our backlog AB#69746