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)