Description
1. In the XML, every fieldset has an `id`, though it may be inferred from a non-empty `name`. (If the name is empty "" or missing, then the id is mandatory).
2. We place a property in a fieldset either by locating within the XML, or by using `@PropertyLayout(fieldSet=...)`. If the latter then `@PropertyLayout(sequence=...)` is then the relative position within that fieldset.
3. We can associate an action with a property or collection using `@Action(associateWith=...)`. This will be positioned close to the property/collection, either under it or on the header panel depending on other layout facets.
4. We can override (3) using `@ActionLayout(fieldSet=...)`. In such a case, the action is placed on the panel.
5. We take the fieldset name and pass it to the TranslationService along with a context. As with all translations, if none is available then the name is returned unchanged. For this reason it is the fieldset name (not its id) that is passed in to translations.
6. For the context of a fieldset name translation, we use a construct `com.mycompany.Customer~fieldSets`. We DON'T indicate the id of the fieldset, the human translator doesn't need that detail.
7. Similar, we take the tab name and pass it through to be translated.
8. For the context of a tab, we use a construct `com.mycompany.Customer~tabs`. Again, no more detail than that is needed by the human translator.
Attachments
Issue Links
- supercedes
-
CAUSEWAY-2523 Combine @MemberOrder into @PropertyLayout etc.
- Closed