ICEfaces
  1. ICEfaces
  2. ICE-10514

ace:tree - Can't drag and drop to empty node

    Details

      Description

      With a drag and drop enabled ace:tree, if you move all nodes from a parent node, it is almost impossible to drag a node back into this parent node.

      This can be reproduced with the Showcase ace:tree demo (overview or drag and drop samples).

      Steps:
       - Drag all of the nodes from Province: British Columbia
       - Try to drag a node back into this parent node, it is almost impossible, the node will either be inserted above or below it.
      1. node.PNG
        17 kB
      2. NPE.PNG
        17 kB

        Activity

        Hide
        Arturo Zambrano added a comment -

        Committed fix to 4.0 trunk at revision 44144 and to 3.3 EE maintenance branch at revision r44145.

        The fix consists in re-initializing the tree in the client after reorder requests, in order to re-apply all necessary event listeners for the reordering functionality to work on all nodes. Also, increased height of child node container by 2 px, so it's easier to insert child nodes in leaf nodes.

        Show
        Arturo Zambrano added a comment - Committed fix to 4.0 trunk at revision 44144 and to 3.3 EE maintenance branch at revision r44145. The fix consists in re-initializing the tree in the client after reorder requests, in order to re-apply all necessary event listeners for the reordering functionality to work on all nodes. Also, increased height of child node container by 2 px, so it's easier to insert child nodes in leaf nodes.
        Hide
        Arturo Zambrano added a comment -

        r44151: adjusted tree styling to improve the tree structure; increased height of child nodes container to make it easier to insert child nodes (4.0 trunk).

        Show
        Arturo Zambrano added a comment - r44151: adjusted tree styling to improve the tree structure; increased height of child nodes container to make it easier to insert child nodes (4.0 trunk).
        Hide
        Arturo Zambrano added a comment - - edited

        r44160: committed fix to avoid having a null child list in the tree model, and thus avoid NPEs when dropping nodes inside leaf (city) nodes (4.0 trunk).

        This was committed in the showcase app and in the test app.

        Show
        Arturo Zambrano added a comment - - edited r44160: committed fix to avoid having a null child list in the tree model, and thus avoid NPEs when dropping nodes inside leaf (city) nodes (4.0 trunk). This was committed in the showcase app and in the test app.
        Hide
        Arturo Zambrano added a comment -

        r44163: committed all fixes above to the 3.3 EE maintenance branch.

        Show
        Arturo Zambrano added a comment - r44163: committed all fixes above to the 3.3 EE maintenance branch.
        Hide
        Arturo Zambrano added a comment -

        Testing notes: nodes can be inserted as child nodes of childless/leaf nodes by hovering slightly below the label. The clue is when the child subtree is drawn/displayed below the leaf node that you want to convert into a parent.

        The height of this droppable area was made bigger (5px) to make it easier to drop nodes into leaf nodes. Nothing else can be done, except for increasing this height even more, but it would look like there's too much padding in between nodes.

        The tree is implemented using jQuery UI's Sortable functionality, and it is geared toward lists rather than trees, so it assumes items will be dropped above or below other items, so it's not possible to drop an item into another item's label to make it a child of the latter, unless we re-implemented the tree using another widget or from scratch.

        Show
        Arturo Zambrano added a comment - Testing notes: nodes can be inserted as child nodes of childless/leaf nodes by hovering slightly below the label. The clue is when the child subtree is drawn/displayed below the leaf node that you want to convert into a parent. The height of this droppable area was made bigger (5px) to make it easier to drop nodes into leaf nodes. Nothing else can be done, except for increasing this height even more, but it would look like there's too much padding in between nodes. The tree is implemented using jQuery UI's Sortable functionality, and it is geared toward lists rather than trees, so it assumes items will be dropped above or below other items, so it's not possible to drop an item into another item's label to make it a child of the latter, unless we re-implemented the tree using another widget or from scratch.
        Hide
        Liana Munroe added a comment -

        Verified all issues ICEfaces 4 trunk, ee-3.3.0 maintenance branch r44160. Tomcat 7, FF 34, Chrome 40, IE 11, 10, 9, 8.

        When testing the ee-maintenance branch showcase ace:tree using IE 7, I am not able to add child nodes back to the parent if all child nodes were removed (original issue of this JIRA) This is not a problem when using any later version of IE.

        Show
        Liana Munroe added a comment - Verified all issues ICEfaces 4 trunk, ee-3.3.0 maintenance branch r44160. Tomcat 7, FF 34, Chrome 40, IE 11, 10, 9, 8. When testing the ee-maintenance branch showcase ace:tree using IE 7, I am not able to add child nodes back to the parent if all child nodes were removed (original issue of this JIRA) This is not a problem when using any later version of IE.

          People

          • Assignee:
            Arturo Zambrano
            Reporter:
            Arran Mccullough
          • Votes:
            1 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: