ICEfaces
  1. ICEfaces
  2. ICE-6924

Support Drag and Drop in Tree Component

    Details

    • Type: Improvement Improvement
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: 1.8.2-EE-GA_P02
    • Fix Version/s: None
    • Component/s: ICE-Components
    • Labels:
      None
    • Environment:
      Any
    • Salesforce Case Reference:

      Description

      While drag and drop support is present in <ice:panelGroup>, it doesn't work as one might expect when such a component is inside an <ice:treeNode> component. The reason is that the same instance of the <ice:panelGroup> component generates multiple tree nodes in the client side. Thus, when we drag and drop a single node in the client, a CSS update for this HTML element is sent to the server (coordinates where we dropped it, etc.), and this update is stored at the component level (point: there's only one component instance). Then, at render time, this update is applied to all HTML elements that correspond to this component, even when they have different client IDs. Visually, this makes the whole tree move when we drag and drop a single tree node. Moreover, if ghosting is enabled, all tree nodes appear stacked on top of each other.

      It is necessary to make the code aware that a single component can have multiple representations in the client, and we must implement a mechanism to keep track of CSS updates of individual HTML elements in the client.

        Activity

        There are no comments yet on this issue.

          People

          • Assignee:
            Unassigned
            Reporter:
            Arturo Zambrano
          • Votes:
            4 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

            • Created:
              Updated: