Page 1 of 2 12 LastLast
Results 1 to 10 of 12

Thread: Tree implementation

  1. #1
    Sencha User jack.slocum's Avatar
    Join Date
    Mar 2007
    Location
    New York, NY
    Posts
    6,956
    Vote Rating
    20
      0  

    Default Tree implementation

    It's official. The new tree view is a go. They agreed to contribute to part of the development, which is a good start. (Yes, Herm additional contributions definitely help. Thank you!)

    Here is the current list of requirements:

    - MVC DataModel approach like the grid to support data from different data source types and structures (and building from existing markup)

    - lazy loading and rendering

    - Full Drag and Drop ordering/moving support with ghosting, illegal drop indicator, "slow repair" when dropped in illegal spot, drop point indicators, expansion of nodes on drag over

    - multi/single selection models

    - keyboard support

    - fully customizable via CSS

    - Integrated state management

    Nice to haves:
    - Built in context menu support

    - Animated transitions

    There will of course be a ton of events like the grid.

    Like the grid and editing, I'm sure there will be a second version with:

    - Inline editing
    - Integrated checkbox support

    After I finish a small project I am working on and get back from a training trip (next week), this will be the top priority!

    If you have any other suggestions, now is the time.

  2. #2
    Ext User
    Join Date
    Mar 2007
    Posts
    90
    Vote Rating
    0
      0  

    Default

    Encapsulated search

    myTreeNode.search(Criteria string or regex, stuff: {id, textlabel, href etc}, Boolean loadUnloadedChildren ) : Array of tree nodes
    Searches the stuff attributes of the current node and its loaded children (and optionally its unloaded children) and gets the treenodes matching the search criteria.

  3. #3
    Sencha User jack.slocum's Avatar
    Join Date
    Mar 2007
    Location
    New York, NY
    Posts
    6,956
    Vote Rating
    20
      0  

    Default

    Not a bad idea. loadUnloadedChildren would be tricky (and require the most work) since it would have to be asynchronous with a callback rather than returning the matches. Also, nodes on different branches would be loaded separately and require synchronization? I'd have to think about that.

  4. #4
    Ext User
    Join Date
    Mar 2007
    Posts
    90
    Vote Rating
    0
      0  

    Default

    That param is no biggie - ok to lose it and just search whatever is loaded. BTW a search method/function would be a rich capability to have across the board. A bit like an Observable with a MixedCollection.find/findAll. A Searchable.Search

  5. #5
    Ext User
    Join Date
    Mar 2007
    Posts
    50
    Vote Rating
    0
      0  

    Default

    This is great to hear jack, I've been hacking away at the YUI tree for quite some time now to get node selection, drag+drop and context menu working.

    I think it'd be cool to support (or make it easy to support) run-time filtering that does not destroy the current open/closed state of each group in the tree.

    So for example if you have this tree:
    Code:
    +-- Bldg 1
    |     +-- Floor 1
    |            +-- Room 1
    |            +-- Room 2
    |            +-- Room 3
    |      
    +-- Bldg 2
    and you apply a (regex) filter "name contains 3" on the leaf nodes and end up with:

    Code:
    +-- Bldg 1
          +-- Floor 1
                 +-- Room 3
    Most tree views suck at this kind of thing as they will simply reload the filtered data, redraw the entire tree view and show a collapsed tree.
    Code:
    +-- Bldg 1

  6. #6
    Sencha User jack.slocum's Avatar
    Join Date
    Mar 2007
    Location
    New York, NY
    Posts
    6,956
    Vote Rating
    20
      0  

    Default

    Without loading unloaded children that should be a piece of cake. I will definitely encapsulate/extract the DataModel search functionality and make it reusable.

    arnair the filter logic goes hand in hand with search so it will find it's way in. Alos, since I'm sure the tree will use context sensitive rendering (like the grid) I don't see any reason expand/collapse state wouldn't be maintained.

  7. #7
    Ext User
    Join Date
    Mar 2007
    Posts
    4
    Vote Rating
    0
      0  

    Default treegrid

    Id like to see an treegrid, joining both capabilities, something like this(incredible but commercial):
    www.treegrid.com
    Althoug this is another subject, to have this libraries available for java server faces would be astonishing, because I don't know anything remotely comparable to what you are doing!!...
    Sorry for my English

  8. #8
    Ext User
    Join Date
    Mar 2007
    Posts
    22
    Vote Rating
    0
      0  

    Default

    I was just about to request the same thing .. trees with data columns.

    Otherwise it would be nice if grids have a "group by" functionality - but that's a different subject.

    I wonder how much you require for this request ... maybe many of us cood pool our money to request some features from Jack

  9. #9
    Sencha User jack.slocum's Avatar
    Join Date
    Mar 2007
    Location
    New York, NY
    Posts
    6,956
    Vote Rating
    20
      0  

    Default

    The pool idea definitely works for me.

    I think the best part about yui-ext is how we can do incremental releases with feedback and the "build and improve as you go" philosophy. In the end I think it will beat out the more standard approach of build and release the kitchen sink.

  10. #10
    Ext User
    Join Date
    Mar 2007
    Posts
    23
    Vote Rating
    0
      0  

    Default

    Cannot wait for it! Drag-drop node in the tree will be big plus!

Page 1 of 2 12 LastLast

Similar Threads

  1. About the implementation of DOWNLOADS menu item of yui-ext
    By codeexploiter in forum Ext 1.x: Help & Discussion
    Replies: 0
    Last Post: 20 Feb 2007, 9:46 PM
  2. Feed Viewer Implementation Question
    By rwilkerson in forum Ext 1.x: Help & Discussion
    Replies: 5
    Last Post: 21 Jan 2007, 1:34 PM
  3. Full Dialog implementation
    By fthamura in forum Ext 1.x: Help & Discussion
    Replies: 3
    Last Post: 13 Jan 2007, 2:34 AM
  4. BorderLayout implementation?
    By barrygently in forum Ext 1.x: Help & Discussion
    Replies: 2
    Last Post: 4 Dec 2006, 8:23 PM
  5. MixedCollection.add implementation
    By tryanDLS in forum Community Discussion
    Replies: 2
    Last Post: 21 Nov 2006, 8:34 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •