Andi Huber created ISIS-1740:
--------------------------------

             Summary: New Feature: Where am I
                 Key: ISIS-1740
                 URL: https://issues.apache.org/jira/browse/ISIS-1740
             Project: Isis
          Issue Type: New Feature
          Components: Core
            Reporter: Andi Huber
             Fix For: 2.0.0
         Attachments: Clipboard01.png, Clipboard02.png, Clipboard03.png

Its common practice to display a navigation hint somewhere at top of an 
application's page or below the main menu, indicating where the user currently 
has navigated to. (Typically within a navigable tree-structure.) 

Let's call this the *WhereAmI hint*. We could integrate such a feature into 
ISIS.

+Examples+
!Clipboard01.png|thumbnail!
[^Clipboard02.png]
!Clipboard03.png|thumbnail!

Note: we could optionally include the DomainObject's icons

+Proposal+

For any DomainObject/View currently displayed ISIS would need to know its 
corresponding
navigable tree-structure. Let's call this the DomainObject's *WhereAmI tree*.

All the framework needs to known to build the relevant sub-tree, is to know the 
parent node of any DomainObject/View that 'takes part' in the tree.

We could provide this 'who is your parent' meta information similar to the 
existing 'what is your title' mechanism:

{code:java}
// Who is your parent? if null there is none
public AnyDomainObjectOrView parent()
{
    return foo;
}
{code}

or

{code:java}
// Who is your parent? if null there is none
@Parent
public AnyDomainObjectOrView anyMethodName()
{
    return foo;
}
{code}

The typical layout.xml could look like this:

{code:xml}
<bs3:grid >
    <bs3:row>
        <bs3:col span="12" unreferencedActions="true">
            <cpt:whereAmI />
            <cpt:domainObject />
            ...
        </bs3:col>
    </bs3:row>
     ...
</bs3:grid >
{code}

+Implementation Notes+

# The framework needs to ensure that the chain of parent references starting at 
the current DomainObject/View is finite. (No circular or self references.) If 
it detects a circle, be nice and just stop the 'tree-up' traversal there.
# For standalone Collection Views we could display a WhereAmI hint that allows 
back navigation to the DomainObject/View that had produced the collection.








--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to