Description
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
Clipboard02.png
Clipboard03.png
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:
// Who is your parent? if null there is none public AnyDomainObjectOrView parent() { return foo; }
or
// Who is your parent? if null there is none @Parent public AnyDomainObjectOrView anyMethodName() { return foo; }
The typical layout.xml could look like this:
<bs3:grid > <bs3:row> <bs3:col span="12" unreferencedActions="true"> <cpt:whereAmI /> <cpt:domainObject /> ... </bs3:col> </bs3:row> ... </bs3:grid >
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.
Attachments
Attachments
Issue Links
- depends upon
-
CAUSEWAY-1762 Java 8+ Miscellaneous Utilities
- Closed
- relates to
-
CAUSEWAY-842 Rework the bookmark/breadcrumbs views.
- Closed