[richfaces-issues] [JBoss JIRA] Commented: (RF-6839) sorting capabilities for ListShuttle component.
C. Fed (JIRA)
jira-events at lists.jboss.org
Tue Mar 23 12:40:38 EDT 2010
[ https://jira.jboss.org/jira/browse/RF-6839?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12521461#action_12521461 ]
C. Fed commented on RF-6839:
----------------------------
I needed to have the lists maintain their order on add/remove, so I ended up modifying ListShuttle.js in richfaces-ui-3.2.2.SR1jar. This will make every listShuttle sort this way, which is fine in my case. Ideally a maintainOrder="true" (or split into maintainSourceOrder and maintainTargetOrder) would be a nice attribute on listShuttle, but I didn't have time to put together an example.
Using the regex in there worked since each row had the initial order index as part of the ID, which I was able to strip out. I'm not sure if that's a good way to get the index though, since that could change in a future release.
I added the following code to the bottom of the moveItem function:
var regex = /^\w*(\d+):.*$/;
for (var x = 0; x < targetComponent.shuttleTbody.rows.length - 1; x++) {
for (var y = x + 1; y < targetComponent.shuttleTbody.rows.length; y++) {
var itemX = targetComponent.getSelectItemByNode(targetComponent.shuttleTbody.rows[x]);
var itemY = targetComponent.getSelectItemByNode(targetComponent.shuttleTbody.rows[y]);
var orderNumX = itemX.input.value.replace(regex, '$1');
var orderNumY = itemY.input.value.replace(regex, '$1');
if (orderNumX > orderNumY) {
var parentItemNode = itemY._node.parentNode;
var tmpNode = itemX._node.nextSibling;
if (itemY._node != tmpNode) {
// Nodes are more than a position apart. Move each to the other's position
parentItemNode.insertBefore(itemX._node, itemY._node);
parentItemNode.insertBefore(itemY._node, tmpNode);
} else {
// nodes are next to each other. just move 2nd in front of 1st
parentItemNode.insertBefore(itemY._node, itemX._node);
}
}
}
}
> sorting capabilities for ListShuttle component.
> -----------------------------------------------
>
> Key: RF-6839
> URL: https://jira.jboss.org/jira/browse/RF-6839
> Project: RichFaces
> Issue Type: Feature Request
> Security Level: Public(Everyone can see)
> Affects Versions: 3.3.1
> Reporter: Ilya Shaikovsky
> Assignee: Nick Belaevski
> Fix For: Future
>
>
> client side capabilities while moving items should be done with the API we will provide. But community asked about server side properties to make lists sorted.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the richfaces-issues
mailing list