chore(DataMapper): Abstract field UX redesign: UI mockup#3244
chore(DataMapper): Abstract field UX redesign: UI mockup#3244igarashitm wants to merge 1 commit into
Conversation
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
7453e5d to
e0356ef
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #3244 +/- ##
========================================
Coverage 92.40% 92.40%
========================================
Files 642 642
Lines 25106 25106
Branches 5954 5744 -210
========================================
Hits 23198 23198
- Misses 1798 1906 +108
+ Partials 110 2 -108 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
e0356ef to
2eecf79
Compare
0424485 to
3d651e9
Compare
3d651e9 to
388a7f0
Compare
|



Fixes: #3243
Storybook UI mockup for the abstract field configuration redesign.
Problem: When an abstract element in the target document is not yet substituted, all candidates appear as if they can receive mappings. Users can create mappings to any candidate, but at runtime when
maxOccurs = 1, only one can exist — causing failures.Solution: Stop rendering substitution candidates of abstract elements as children. User has to substitute it to a concrete element.
maxOccurs = 1
When
maxOccurs=1, exactly one concrete element can exist at runtime. 2 options available:Select Substitutionoption. The selected candidate's children appear directly in the tree.Wrap with iforWrap with choose-when-otherwise. Inside the mapping instruction item, user can conditionally assign substitution.Right-click on a substituted field offers
Reset Substitutionto reset the substitution.Screencast.From.2026-06-01.15-16-54.mp4
maxOccurs > 1
When
maxOccurs > 1(collection), the abstract element can contain multiple instances of mixed concrete types. The collection field offersDuplicate Fieldin 3-dots mapping context menu. The substitution could be applied on each duplicated abstract field to create mappings for each static substitution.Mapping instructions allow creating more complex mapping. For example, the 2nd half of the following screencast demonstrates that combination of
for-eachandchoose-when-otherwisemapping instructions can assign concrete substitutions conditionally in a iteration.Screencast.From.2026-06-01.15-33-22.mp4
Many Candidates (more than 10)
An abstract element with more than 10 substitution candidates. The configuration modal includes a
SearchInputto filter through the candidate list.Screencast.From.2026-06-01.15-38-17.mp4