[MGNLUI-7457] Implement a simple, datasource agnostic, multiValueField Created: 29/Aug/22  Updated: 29/Nov/22  Resolved: 06/Oct/22

Status: Closed
Project: Magnolia UI
Component/s: None
Affects Version/s: None
Fix Version/s: 6.3.0

Type: Improvement Priority: Neutral
Reporter: Roman Kovařík Assignee: Roman Kovařík
Resolution: Done Votes: 0
Labels: None
Σ Remaining Estimate: Not Specified Remaining Estimate: Not Specified
Σ Time Spent: 0.75d Time Spent: Not Specified
Σ Original Estimate: Not Specified Original Estimate: Not Specified

Issue Links:
causality
is causing MGNLUI-7601 Fields (except for the textField) ins... Closed
dependency
relation
Sub-Tasks:
Key
Summary
Type
Status
Assignee
MGNLUI-7458 Implementation Sub-task Closed Roman Kovařík  
MGNLUI-7459 Review Sub-task Completed Rabie Hayoun  
MGNLUI-7460 Pre-Integration QA Sub-task Completed Adam Siska  
MGNLUI-7461 QA Sub-task Completed Sang Ngo Huu  
MGNLUI-7547 Docu Sub-task Closed Adrian Brooks  
MGNLUI-7548 Faulty validation of multi fields mig... Sub-task Completed Roman Kovařík  
Template:
Acceptance criteria:
Empty
Task DoD:
[X]* Doc/release notes changes? Comment present?
[X]* Downstream builds green?
[X]* Solution information and context easily available?
[X]* Tests
[X]* FixVersion filled and not yet released
[ ]  Architecture Decision Record (ADR)
Documentation update required:
Yes
Epic Link: FieldsMaintenance
Sprint: Nucleus 20
Story Points: 2
T-Shirt Size: Medium
Team: Nucleus

 Description   

Implementation for multiField with a simple inner field (textField, combo...) is currently cumbersome and complex:

jcrMultiValueField needs a custom: 

  • entry resolution (ByMultiValueProperties)
    • a custom ItemProviderStrategy (JcrIndexedMultiPropertyValueProvider)
    • a custom property wrapper  SingleValueWrapper
  • order handler (MultiValuePropertyOrderHandler)
    • a marker for item removal (mgnl:removed)
  • definition which mutates the config (info.magnolia.ui.field.JcrMultiValueFieldDefinition#init)

NorsuMultiValueFieldDefinition attempts to simplify things but still a custom:

  • entry resolution (ByMultiValueProperties)
    • a custom ItemProviderStrategy (IndexedMultiPropertyValueProvider)
    • a custom content wrapper  (IndexedContent)
    • an array as content wrapper (ArrayAsNestedContentProvider)
  • order handler (ArrayOrderHandler)
    • suffers from NORSU-439

 

 

 

 



 Comments   
Comment by Roman Kovařík [ 21/Sep/22 ]

Reverted due to downstream failures in content editor extension.

Discovery:

PRs prepared/attached with labs with fixes after revert.

Generated at Mon Feb 12 09:46:21 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.