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

Dan Haywood updated ISIS-469:
-----------------------------

    Summary: Provide implementations of certain layout facets that read from a 
"Xxx.layout.properties" file  (was: Provide implementations of certain layout 
facets that read from a common "Xxx.layout.properties" or "Xxx.layout.json" 
file)
    
> Provide implementations of certain layout facets that read from a 
> "Xxx.layout.properties" file
> ----------------------------------------------------------------------------------------------
>
>                 Key: ISIS-469
>                 URL: https://issues.apache.org/jira/browse/ISIS-469
>             Project: Isis
>          Issue Type: New Feature
>          Components: Core
>    Affects Versions: core-1.2.0
>            Reporter: Dan Haywood
>            Assignee: Dan Haywood
>            Priority: Minor
>             Fix For: core-1.3.0
>
>
> Specifically, the two layout facets to capture are MemberOrderFacet and 
> MemberGroupLayoutFacet (see ISIS-468).
> The idea of this ticket is that information is pulled in from a separate 
> file, sitting alongside the domain class.  This makes it easier to see this 
> layout information in one place.
> And, in conjunction with ISIS-470, this would allow dynamic updates to the 
> layout, without a recompile/redeploy.
> ~~~
> Two file formats are defined: a Xxx.layout.json file and an 
> Xxx.layout.properties file.  The former is preferred (ie the .properties file 
> might end up being deprecated at some point in the future).
> There also should be the ability to 
> The format of the json file (eg for ToDoItem example class) is:
> {
>     columns: [
>     {
>         span: 3,
>         memberGroups: {
>             General: {
>                 members: {
>                     description: {},
>                     category: {},
>                     complete: {
>                         actions: {
>                             completed: {},
>                             notYetCompleted: {}
>                         }
>                     }
>                 }
>             },
>             Misc: {
>                 members: {
>                     versionSequence: {}
>                 }
>             }
>         }
>     },
>     {
>         span: 4,
>         memberGroups: {
>             Detail: {
>                 members: {
>                     dueBy: {},
>                     cost: {
>                         actions: {
>                             updateCost:{}
>                         }
>                     },
>                     notes: {},
>                     attachment: {}
>                 }
>             }
>         }
>     },
>     {
>         span: 0
>     },
>     {
>         span: 5,
>         collections: {
>             dependencies: {
>                 actions: {
>                     add:{},
>                     delete: {}
>                 }
>             },
>             similarItems: {}
>         }
>     }
>     ],
>     actions: {
>         delete: {},
>         duplicate: {}
>     }
> }
> ~~~~~~~~~~~~~~~~~~~~
> If specified using a property file (Xxx.layout.properties) then the format of 
> the file is:
> ###########################################
> # MemberGroupLayout
> ###########################################
> memberGroupLayout.columnSpans=3,4,0,5
> memberGroupLayout.left=General 
> memberGroupLayout.middle=Detail
> memberGroupLayout.right=
> ###########################################
> # MemberOrder
> ###########################################
> # Properties 
> memberOrder.description.sequence=1
> memberOrder.category.sequence=2
> memberOrder.complete.sequence=3
> # Properties (Detail)
> memberOrder.dueBy.name=Detail
> memberOrder.cost.name=Detail
> memberOrder.notes.name=Detail
> memberOrder.attachment.name=Detail
> memberOrder.dueBy.sequence=1
> memberOrder.cost.sequence=2
> memberOrder.notes.sequence=3
> memberOrder.attachment.sequence=4
> # Properties (Misc)
> memberOrder.versionSequence.name=Misc
> memberOrder.versionSequence.sequence=99
> #Collections
> memberOrder.dependencies.sequence=1
> memberOrder.similarItems.sequence=2
> #Actions (freestanding)
> memberOrder.delete.sequence=1
> memberOrder.duplicate.sequence=2
> #Actions (associated with properties)
> memberOrder.completed.name=complete
> memberOrder.notYetCompleted.name=complete
> memberOrder.completed.sequence=1
> memberOrder.notYetCompleted.sequence=2
> memberOrder.updateCost.name=cost
> #Actions (associated with collections)
> memberOrder.add.name=dependencies
> memberOrder.remove.name=dependencies

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to