primefaces: Tree: wrong order at server side after drag&drop
Describe the defect If you move (drag&drop) an item in tree downwards, then the frontend shows it correctly but the model at server side has wrong order.
Environment:
- PF Version: 12.0.0 (current dev version)
- PF Theme: nova-light
- JSF + version: MyFaces 2.3.9
- Affected browsers: ALL
To Reproduce Initial order
Node 1
Node 2
Node 3
Node 4
Node 5
move an item
Node 2
<-- Node 1
Node 3
Node 4
Node 5
order at server side (vs client side)
Node 2 (Node 2)
Node 3 (Node 1)
Node 1 (Node 3)
Node 4 (Node 4)
Node 5 (Node 5)
I have already created a bugfix and pull request #8692
Expected behavior The order of model at server side is correct
Example XHTML
<f:metadata>
<f:viewAction action="#{indexController.init()}"/>
</f:metadata>
<p:tree id="testTree" value="#{indexController.root}" var="node" draggable="true" droppable="true">
<p:treeNode>
<h:outputText value="#{node}"/>
</p:treeNode>
</p:tree>
<p:commandButton process="@this" update="testTree" value="Update"/>
The update button can be used to show the server side data
Example Bean
@Named
@ViewScoped
public class IndexController implements Serializable
{
private TreeNode<String> root;
public void init() {
root = new DefaultTreeNode<>();
new DefaultTreeNode<>("Test 1", root);
new DefaultTreeNode<>("Test 2", root);
new DefaultTreeNode<>("Test 3", root);
new DefaultTreeNode<>("Test 4", root);
new DefaultTreeNode<>("Test 5", root);
}
public TreeNode<String> getRoot()
{
return root;
}
public void setRoot(TreeNode<String> root)
{
this.root = root;
}
}
About this issue
- Original URL
- State: closed
- Created 2 years ago
- Comments: 16 (16 by maintainers)
Commits related to this issue
- #9575, fix regression because of #8693, Changed Node numbers in test to 0-based as index is also 0 based. Hopefully less brain overload. — committed to OBreidenbach/primefaces by deleted user a year ago
- #9575, fix regression because of #8693, (#9580) Changed Node numbers in test to 0-based as index is also 0 based. Hopefully less brain overload. Co-authored-by: Oliver Breidenbach <obr@xima.de> — committed to primefaces/primefaces by OBreidenbach a year ago
I will check this issue