[ 
https://issues.apache.org/jira/browse/ISIS-2602?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andi Huber updated ISIS-2602:
-----------------------------
    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.

  was:
{color:#1d1c1d}1. Have 
{color}{{@ActionLayout/@PropertyLayout(group=...)}}{color:#1d1c1d} indicate the 
id of a group/fieldset.{color}
{color:#1d1c1d}2. Have 
{color}{{@ActionLayout/@PropertyLayout(groupName=...)}}{color:#1d1c1d} indicate 
a group/fieldset friendly name.{color}
{color:#1d1c1d}3. Have {color}{{@Action(associateWith=...)}}{color:#1d1c1d} 
associate with another member, that's the member's name (not a friendly 
name).{color}
{color:#1d1c1d}4. If (3) is present, then the group/fieldset (if any) of the 
given associated member is used to place/layout the 
{color}_Action_{color:#1d1c1d}, unless explicitly specified otherwise using 
{color}{{@ActionLayout(group/groupName)}}{color:#1d1c1d}.{color}
{color:#1d1c1d}5. If (2) is specified, then (1) is mandatory. (Enforce best 
practice.){color}


> Programming Model: add @ActionLayout(group=...) and 
> @ActionLayout/@PropertyLayout(groupName=...)
> ------------------------------------------------------------------------------------------------
>
>                 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