[
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