feat(uve): navigate to new edit content editor from Go to Full Editor when the new edit content is active#35493
Conversation
… button when CONTENT_EDITOR2_ENABLED flag is active - When clicking Go to Full Editor in UVE, navigate to /content/:inode if the content type has FEATURE_FLAG_CONTENT_EDITOR2_ENABLED in its metadata; otherwise fall back to the existing dialog - Update UVE breadcrumb to use the full /dotAdmin/#/edit-page/content?... URL so users can navigate back to the exact editor page from the breadcrumb trail - Fix breadcrumb deduplication to search the entire trail instead of only the last crumb, enabling proper truncation when navigating back to a previous UVE page - Fix contentEdit regex in breadcrumb utils to prevent /edit-page/content?... UVE routes from incorrectly triggering the replace-last-crumb rule - Add untracked() around breadcrumbs read in the navigation effect to prevent infinite reactive loops Closes #33235 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
Claude finished @adrianjm-dotCMS's task in 5m 38s —— View job Code Review
SummaryThree fixable issues flagged below. The core routing logic ( Issues1.
|
There was a problem hiding this comment.
Pull request overview
Updates UVE (Edit EMA) navigation and breadcrumb handling so that “Go to Full Editor” launches the new Edit Content experience when the content type has the CONTENT_EDITOR2_ENABLED metadata flag, while improving breadcrumb URL correctness and deduplication/truncation behavior in the global breadcrumb store.
Changes:
- Route “Go to Full Editor” to the new content editor (
/content/:inode) whenCONTENT_EDITOR2_ENABLEDis enabled; otherwise keep the dialog fallback. - Make UVE breadcrumbs navigable back to the exact editor URL (
/dotAdmin/#/edit-page/content?...). - Improve breadcrumb deduplication/truncation and prevent reactive loops in the breadcrumb feature; tighten content-edit matching regex to avoid UVE route collisions.
Reviewed changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| core-web/libs/portlets/edit-ema/portlet/src/lib/edit-ema-editor/edit-ema-editor.component.ts | Adds feature-flag-based routing to the new content editor from UVE’s “Go to Full Editor”. |
| core-web/libs/portlets/edit-ema/portlet/src/lib/edit-ema-editor/edit-ema-editor.component.spec.ts | Adds unit coverage for the new routing vs dialog fallback branches. |
| core-web/libs/portlets/edit-ema/portlet/src/lib/dot-ema-shell/dot-ema-shell.component.ts | Builds breadcrumbs using the full /dotAdmin/#/edit-page/content?... URL for accurate back navigation. |
| core-web/libs/portlets/edit-ema/portlet/src/lib/dot-ema-shell/dot-ema-shell.component.spec.ts | Updates breadcrumb expectations and router mocks to reflect the full breadcrumb URL. |
| core-web/libs/global-store/src/lib/features/breadcrumb/breadcrumb.feature.ts | Expands dedupe to the whole trail and uses untracked() inside the nav effect to avoid loops. |
| core-web/libs/global-store/src/lib/features/breadcrumb/breadcrumb.feature.spec.ts | Updates expectations and adds a truncation test for full-trail dedupe behavior. |
| core-web/libs/global-store/src/lib/features/breadcrumb/breadcrumb.utils.ts | Refines the contentEdit replace-last-crumb regex to exclude /edit-page/content routes. |
| core-web/libs/global-store/src/lib/features/breadcrumb/breadcrumb.utils.spec.ts | Updates test to ensure /edit-page/content?... no longer triggers the content-edit replace rule. |
…and explicit leading slash in router.navigate Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… UVE page rule - Updated breadcrumb logic to handle cases where the same ID has a different URL, allowing for in-place updates. - Introduced a new rule for UVE pages to replace the last breadcrumb when navigating between different pages, ensuring a cleaner breadcrumb trail. This improves user navigation and maintains a more accurate breadcrumb history.
Summary
/content/:inodeif the content type hasFEATURE_FLAG_CONTENT_EDITOR2_ENABLEDin its metadata; otherwise fall back to the existing dialog behavior/dotAdmin/#/edit-page/content?...URL so users can navigate back to the exact editor page from the breadcrumb trailcontentEditregex in breadcrumb utils to prevent/edit-page/content?...UVE routes from incorrectly triggering the replace-last-crumb ruleuntracked()aroundbreadcrumbsread inside the navigation effect to prevent infinite reactive loopsScreen.Recording.2026-04-28.at.4.59.44.PM.mov
Changed Files
libs/portlets/edit-ema/portlet/src/lib/edit-ema-editor/edit-ema-editor.component.ts— core "Go to Full Editor" routing logiclibs/portlets/edit-ema/portlet/src/lib/dot-ema-shell/dot-ema-shell.component.ts— UVE breadcrumb now uses full navigable URLlibs/global-store/src/lib/features/breadcrumb/breadcrumb.feature.ts— full-trail deduplication +untracked()fixlibs/global-store/src/lib/features/breadcrumb/breadcrumb.utils.ts— regex fix for UVE routesAcceptance Criteria
/content/:inodewhenFEATURE_FLAG_CONTENT_EDITOR2_ENABLEDistruein the content type metadatafalseTest Plan
handleOpenFullEditorbranches (new editor, dialog fallback, cache miss, no inode)Closes #33235
🤖 Generated with Claude Code