Details

    • Type: New Feature New Feature
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 3.2.BETA1, 3.2
    • Component/s: ACE-Components
    • Labels:
      None
    • Environment:
      ICEfaces 3 ACE components
    • Affects:
      Documentation (User Guide, Ref. Guide, etc.), Sample App./Tutorial

      Description

      Add a new ace:tree component with the following features:

      - Static (client-side) and server-side (dynamic) rendering
      - Lazy data loading
      - Support for moving nodes via Drag and Drop
      - Support for tree node selection (rowSelector), single/Multiple
      - Possible Checkbox selection (similar to ICEfaces EE Composite Component "ice-cc:selectionTree")
      - Possible treeNodeEditor (editable tree node) support
      - Optimized rendering for large tree structures with DOMdiff
      - Full set of client events for node selection, expansion/collapse, editing, etc.

        Activity

        Hide
        Nils Lundquist added a comment -

        How much does this vary from a multi-level row expansion table case?

        Seems like row expansion just needs static rendering and drag/drop.

        Show
        Nils Lundquist added a comment - How much does this vary from a multi-level row expansion table case? Seems like row expansion just needs static rendering and drag/drop.
        Hide
        Nils Lundquist added a comment -

        My plan is to implement the following features in the first revision of the component with any other features to be made as improvements.

        • Declarative data model
        • Using pojos as tree via adaptor component
        • TreeNode data model
        • Implementing TreeNode/MutableTreeNode in node object
        • Ajax driven and client cached modes
        • Lazy data loading could implementing a custom NodeDataModel subclass, with perhaps a more convenient method to follow.
        • Drag & Drop if the data model is mutable
        • Selection states will be implemented, and similar to the DataTable row states, so complete app level control is available. Checkbox selection would be trivial to add.
        • Controlling the size of diffed updates via careful addressing of table regions.
        • All the expected ajax behaviors, possibly with custom event types?
        Show
        Nils Lundquist added a comment - My plan is to implement the following features in the first revision of the component with any other features to be made as improvements. Declarative data model Using pojos as tree via adaptor component TreeNode data model Implementing TreeNode/MutableTreeNode in node object Ajax driven and client cached modes Lazy data loading could implementing a custom NodeDataModel subclass, with perhaps a more convenient method to follow. Drag & Drop if the data model is mutable Selection states will be implemented, and similar to the DataTable row states, so complete app level control is available. Checkbox selection would be trivial to add. Controlling the size of diffed updates via careful addressing of table regions. All the expected ajax behaviors, possibly with custom event types?
        Hide
        Nils Lundquist added a comment - - edited

        A known issue with the current trunk prototype is in nested cases the state map is shared between instances (just like the DataTable, and for the same reasons) and visits to the nested tree when doing expansion don't appear to be occurring. However when an ajax execute/render with a larger scope occurs, the component decodes the expansion as expected.

        Show
        Nils Lundquist added a comment - - edited A known issue with the current trunk prototype is in nested cases the state map is shared between instances (just like the DataTable, and for the same reasons) and visits to the nested tree when doing expansion don't appear to be occurring. However when an ajax execute/render with a larger scope occurs, the component decodes the expansion as expected.
        Hide
        Nils Lundquist added a comment - - edited

        Resolved dragging from root issue and nested tree issues. Closing this JIRA as fixed pending issues with captured functionality before 3.2 release. Captured functionality that is unfinished is now captured in a new ace:tree 2nd phase JIRA.

        Show
        Nils Lundquist added a comment - - edited Resolved dragging from root issue and nested tree issues. Closing this JIRA as fixed pending issues with captured functionality before 3.2 release. Captured functionality that is unfinished is now captured in a new ace:tree 2nd phase JIRA.

          People

          • Assignee:
            Nils Lundquist
            Reporter:
            Ken Fyten
          • Votes:
            3 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: