[ 
https://issues.apache.org/jira/browse/ISIS-2602?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17317394#comment-17317394
 ] 

Andi Huber commented on ISIS-2602:
----------------------------------

A necessary refinement:

Have both @PropertyLayout(fieldSetId=...) and @PropertyLayout(fieldSetName=...).

If both are present then for XML layout we prefer to use the fieldSetId to 
locate the fieldset, and fallback to using the fieldSetName.

If both are present and no XML layout, then we prefer to use the fieldSetId as 
the internal id (if provided), but always use the fieldSetName as the name.  If 
no fieldSetId is provided, then we infer the id from the fieldSetName.

in other words - if XML layout then id takes precedence over name to locate the 
fieldset.  If no XML layout, then name takes precedence over id for label to be 
shown on the inferred UI.

Having both fieldSetId and fieldSetName mean that we get rid of any special 
xxx:XXXX syntax.

> Programming Model: add @ActionLayout(fieldSet=...) rename 
> @PropertyLayout(group->fieldSet)
> ------------------------------------------------------------------------------------------
>
>                 Key: ISIS-2602
>                 URL: https://issues.apache.org/jira/browse/ISIS-2602
>             Project: Isis
>          Issue Type: Improvement
>          Components: Isis Core
>            Reporter: Andi Huber
>            Assignee: Andi Huber
>            Priority: Major
>             Fix For: 2.0.0-M6
>
>
> 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.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to