[
http://jira.jboss.com/jira/browse/JBSEAM-906?page=comments#action_12354131 ]
Christian Bauer commented on JBSEAM-906:
----------------------------------------
(I like this):
<page view-id="/display.xhtml">
<navigation>
<rule if-outcome="edit">
<begin-conversation capture-current-view="true"/>
<redirect view-id="/edit.xhtml"/>
</rule>
</navigation>
</page>
(Not sure because of renaming Redirect methods):
<page view-id="/edit.xhtml">
<navigation>
<rule if-outcome="cancel">
<end-conversation/>
<redirect to-captured-view="true"
to-parent-view="false"/>
</rule>
</navigation>
</page>
<s:link value="Edit" view="/edit.xhtml"
propagation="begin" capture-current-view="true"/>
<s:link value="Cancel" propagation="end"
redirect-to-captured-view="true"/>
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
Priority: Minor
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