[
http://jira.jboss.com/jira/browse/JBSEAM-906?page=comments#action_12354165 ]
Gavin King commented on JBSEAM-906:
-----------------------------------
So, I implemented this (patch attached).
However, after doing that...I'm inclined to think it would be better to just support
actions in navigation rules. These new elements are basically just wrappers around an
existing component method. Not sure that it is worth bloating out the DTD for this if it
can be accomplished with a single more general construct.
Support redirect component for navigation out of conversational
scope
---------------------------------------------------------------------
Key: JBSEAM-906
URL:
http://jira.jboss.com/jira/browse/JBSEAM-906
Project: JBoss Seam
Issue Type: Feature Request
Components: Core
Reporter: Christian Bauer
Assigned To: Gavin King
Priority: Minor
Fix For: 1.1.8 GA
Attachments: navigation-patch.diff, ReturnToCapturedViewNavigationHandler.java,
ReturnToParentViewNavigationHandler.java
It's about my favorite subject, the "history" or "cancel"
button.
Assume the following (RC == Root Conversation, NC == Nested Conversation):
RC(1) -> NC(2) -> NC(3)
I can render a Cancel button on each page in NC 2 and 3 with the
action=#{conversation.endAndRedirect()} to get back to any parent NC or RC.
I can not render a Cancel button on each page in RC, because there is no "parent
view-id" we could redirect to. So my Cancel button on these pages has to call some
logic I've written on my RC backing component.
I propose to extend the Conversation.endAndRedirect() method with the following logic:
- If called in a NC, do what it currently does.
- If called in a RC, check if the 'redirect' component is present in RC, if yes,
call 'redirect.execute()'
If this would be available, I could completely control conversation navigation and the
navigation history through nesting conversations (with s:link or pages.xml) and by
ensuring that a RC has a prepared 'redirect' component when it is started. All
Cancel buttons would be able to use action="#{conversation.endAndRedirect()}"
and would either get the user "one up" in the conversation stack or
"out" of conversational scope.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira