[richfaces-issues] [JBoss JIRA] Updated: (RF-11138) tree does not invoke selectionChangeListener in popupPanel
Brian Leathem (JIRA)
jira-events at lists.jboss.org
Wed Jul 20 02:50:23 EDT 2011
[ https://issues.jboss.org/browse/RF-11138?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Brian Leathem updated RF-11138:
-------------------------------
Workaround Description:
Workaround:
1. Switch selectionType to "client"
2. Add a jsFunction and extend the controller with a property to accept the selected node's id
<a4j:jsFunction name="jsSetSelectedId">
<a4j:param name="name" assignTo="#{treeController.selectedId}"/>
</a4j:jsFunction>
3. Add a panel to the node's content and call the jsFunction from above in the onclick event
<rich:treeNode>
<a4j:outputPanel layout="block" onclick="jsSetSelectedId('#{item.id}');return true;">
...
Workaround: [Workaround Exists]
Description:
I am having a tree for a selection of a node. To monitor a selection, I initialized the attribute "selectionType" to "ajax", added the attribute "selectionChangeListener" and made it point to a method of a managed bean. Everyhting is working extremely well, if I put the tree onto the form straight away: Everytime, a node is selected, the method is invoked and I get all the information I need to determine the selected node. The definition is as follows:
{code}
<rich:tree var="item"
id="tree2"
selection="#{treeController.selection}"
selectionType="ajax"
selectionChangeListener="#{treeController.selectionChanged}"
rendered="true">
{code}
Now, I want to have the same tree in a popup panel. All I do is wrapping a <rich:popupPanel id="abc2"> around it (so no moving to another place - both elements are directly located under the <h:form> node). Surprise: Nothing happens when a node is selected in the popup panel, the method, indicated in selectionChangeListener is never invoked. I remarked, that also the hidden input element form:tree2__SELECTION_STATE never changes its value throughout selecting differnt nodes.
Intersting: Adding toggleType="ajax" and toggleListener="#{orgTreeController.toggle}" to the same tree, works well in both cases.
was:
I am having a tree for a selection of a node. To monitor a selection, I initialized the attribute "selectionType" to "ajax", added the attribute "selectionChangeListener" and made it point to a method of a managed bean. Everyhting is working extremely well, if I put the tree onto the form straight away: Everytime, a node is selected, the method is invoked and I get all the information I need to determine the selected node. The definition is as follows:
<rich:tree var="item"
id="tree2"
selection="#{treeController.selection}"
selectionType="ajax"
selectionChangeListener="#{treeController.selectionChanged}"
rendered="true">
Now, I want to have the same tree in a popup panel. All I do is wrapping a <rich:popupPanel id="abc2"> around it (so no moving to another place - both elements are directly located under the <h:form> node). Surprise: Nothing happens when a node is selected in the popup panel, the method, indicated in selectionChangeListener is never invoked. I remarked, that also the hidden input element form:tree2__SELECTION_STATE never changes its value throughout selecting differnt nodes.
Intersting: Adding toggleType="ajax" and toggleListener="#{orgTreeController.toggle}" to the same tree, works well in both cases.
Workaround:
1. Switch selectionType to "client"
2. Add a jsFunction and extend the controller with a property to accept the selected node's id
<a4j:jsFunction name="jsSetSelectedId">
<a4j:param name="name" assignTo="#{treeController.selectedId}"/>
</a4j:jsFunction>
3. Add a panel to the node's content and call the jsFunction from above in the onclick event
<rich:treeNode>
<a4j:outputPanel layout="block" onclick="jsSetSelectedId('#{item.id}');return true;">
...
> tree does not invoke selectionChangeListener in popupPanel
> ----------------------------------------------------------
>
> Key: RF-11138
> URL: https://issues.jboss.org/browse/RF-11138
> Project: RichFaces
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: component-tree
> Affects Versions: 4.0.0.Final
> Environment: WinXP; JBoss 6.0.0.Final; RichFaces 4.0.0
> Reporter: Bastian Ulke
> Labels: popupPanel, selectionChangeListener, tree
>
> I am having a tree for a selection of a node. To monitor a selection, I initialized the attribute "selectionType" to "ajax", added the attribute "selectionChangeListener" and made it point to a method of a managed bean. Everyhting is working extremely well, if I put the tree onto the form straight away: Everytime, a node is selected, the method is invoked and I get all the information I need to determine the selected node. The definition is as follows:
> {code}
> <rich:tree var="item"
> id="tree2"
> selection="#{treeController.selection}"
> selectionType="ajax"
> selectionChangeListener="#{treeController.selectionChanged}"
> rendered="true">
> {code}
> Now, I want to have the same tree in a popup panel. All I do is wrapping a <rich:popupPanel id="abc2"> around it (so no moving to another place - both elements are directly located under the <h:form> node). Surprise: Nothing happens when a node is selected in the popup panel, the method, indicated in selectionChangeListener is never invoked. I remarked, that also the hidden input element form:tree2__SELECTION_STATE never changes its value throughout selecting differnt nodes.
> Intersting: Adding toggleType="ajax" and toggleListener="#{orgTreeController.toggle}" to the same tree, works well in both cases.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the richfaces-issues
mailing list