Description
Refactor the Relationship field in the new Edit Content to follow the new design, reusing as much as possible from the AssetPicker component built for Content Drive (#36702) β filters, search, and the same backend endpoint.
π¨ Design: https://claude.ai/design/p/202fc776-9326-4926-b4c6-5996a8be9ea1?via=share&file=Asset+Picker.dc.html
π¬ Context (Slack): https://dotcms.slack.com/archives/C0893BF7GRJ/p1787232866639669
Reuse goals:
This is the larger design refactor of the relationship field. It is separate from #36155 (smaller relationship-field refinements: chip colors, Locales column, hint, empty state, showFields) β cross-referenced, not superseded.
Acceptance Criteria
Design refactor
Reuse AssetPicker & Content Drive patterns (#36702)
Consistency & regressions
Relationship component fixes (not picker-related)
Additional fixes to the relationship component shown in the new Edit Content (the list of related content), independent of the picker:
Suggested Tests
Frontend refactor + component fixes (search reuses the existing api/v1/drive/search endpoint β no backend change). Unit-first; E2E covers the relate/unrelate + drag-reorder flows that are hard to assert fully in unit. Integration/Postman are not applicable.
Unit (Jest/Spectator) β primary coverage
E2E (Playwright) β flows hard to unit-cover
Integration / Postman
Spec
Spec-driven work (Spec-Kit): specs/37192-relationship-field-assetpicker/spec.md, on branch issue-37192-relationship-field-assetpicker. PR 1 carries the spec alone and must be approved before implementation starts.
Not in scope: the "New content" path (creating related content in place, side panel or dialog per the feature flag) is unchanged β only the "Existing content" path is refactored.
Priority
Medium
Additional Context
Part of the new Edit Contentlet work (dotCMS: New Edit Contentlet), Relationship field. Reuses the AssetPicker component (#36702) and the shared api/v1/drive/search endpoint for search/filters. Cross-references #36155 (smaller relationship-field refinements β kept separate per scope decision). Product context is in the linked Slack thread.
This issue also bundles fixes to the relationship component (the related-content list) that are independent of the picker: hover-only drag handle, right-aligned Status column, single-column max-width handling (see #36615), and removing pagination so drag-reordering works across the full related set.
Description
Refactor the Relationship field in the new Edit Content to follow the new design, reusing as much as possible from the AssetPicker component built for Content Drive (#36702) β filters, search, and the same backend endpoint.
π¨ Design: https://claude.ai/design/p/202fc776-9326-4926-b4c6-5996a8be9ea1?via=share&file=Asset+Picker.dc.html
π¬ Context (Slack): https://dotcms.slack.com/archives/C0893BF7GRJ/p1787232866639669
Reuse goals:
api/v1/drive/search) for searching related content.Acceptance Criteria
Design refactor
Reuse AssetPicker & Content Drive patterns (#36702)
api/v1/drive/searchendpointConsistency & regressions
Relationship component fixes (not picker-related)
Additional fixes to the relationship component shown in the new Edit Content (the list of related content), independent of the picker:
Suggested Tests
Frontend refactor + component fixes (search reuses the existing
api/v1/drive/searchendpoint β no backend change). Unit-first; E2E covers the relate/unrelate + drag-reorder flows that are hard to assert fully in unit. Integration/Postman are not applicable.Unit (Jest/Spectator) β primary coverage
api/v1/drive/searchendpoint with the expected params (reused, not re-implemented)E2E (Playwright) β flows hard to unit-cover
Integration / Postman
api/v1/drive/searchendpoint; relationship persistence uses existing content endpoints. No API contract change.Spec
Spec-driven work (Spec-Kit):
specs/37192-relationship-field-assetpicker/spec.md, on branchissue-37192-relationship-field-assetpicker. PR 1 carries the spec alone and must be approved before implementation starts.Not in scope: the "New content" path (creating related content in place, side panel or dialog per the feature flag) is unchanged β only the "Existing content" path is refactored.
Priority
Medium
Additional Context
Part of the new Edit Contentlet work (
dotCMS: New Edit Contentlet), Relationship field. Reuses the AssetPicker component (#36702) and the sharedapi/v1/drive/searchendpoint for search/filters. Cross-references #36155 (smaller relationship-field refinements β kept separate per scope decision). Product context is in the linked Slack thread.This issue also bundles fixes to the relationship component (the related-content list) that are independent of the picker: hover-only drag handle, right-aligned Status column, single-column max-width handling (see #36615), and removing pagination so drag-reordering works across the full related set.