Several issues are related to the behavior of complex fields (multi, composite and switchable) due to the complexity of the fields or of they transformers.
As a first step, we will introduce a new way to combine fields.
Assume that you have a field A (multi) that contains another field B (composite)
Until now (5.2.4) the field A (his transformer) had to handle the whole data structure, meaning, the Items/Properties used by himself, but also the Items/Properties used by B.
Due to this limitation we only support two levels of fields and with one combination A(multi) containing a B(composit).
It is currently not possible to have a:
- A (composit) containing B (multi)
- A (composit) containing B (composit)
- A (multi) containing a B (composit) containing a C (multi)
... and so on.
In order to solve this, we will introduce new transformers that are responsible to handle Items used by the next level of fields.
- A (multi) creates a list of Items. Eatch Items contains the values of B(Multi). A simply pass the Item to the field B, and B is then responsible to create the Properties/Item needed by himself.
Doing this we will be able to easily have
- A (multi) containing B (composit) containing C (multi)....
in fact any field structure.
The only limitation is that each entry of a multi field will be stored under a child Item of the field root item.
- create the new transformers
- review the complex fields (multi/composit/switchable) in order to support this new delegation logic (these fields have to stay compatible with the old transformers)
- add samples
- review documentation
- add UI tests