I have some initial thoughts on what would be needed to make HGrid a released product based on my experience with the Project Organizer and the current state of the draggable plugin.
Features that HGrid needs in order to be complete:
- AJAX Endpoints for moving and copying items that are dragged and dropped
- Handling of the difference between copying and moving items during Drag and Drop
- Fully handling reloading of different aspects the view when in lazy-loading mode
- Saving and restoring the expand/collapse state of the HGrid for each user
- Being able to know if there are children on unloaded nodes for lazy-loaded grids
- Showing/not-showing expand/collapse controls as appropriate based on item above
- Option to not show the top-level node but to show everything under it
- There are some modifications that will have to happen to the Draggable plugin to make this work, such as being able to drag to the background of the hgrid to cause the root node to be activated as a drag target
- During dragging, dragging to the top or bottom of the view should scroll the view automatically
- Should be able to reorder elements within a folder and should have AJAX endpoints for lazy-loaded
- Smarter handling of reloading of folders. Currently, it will collapse the folder, clear it out, then expand it back. All of that is very noticeable in the UI. Instead, it should load the new data, find the differences, and just update what is necessary
- Possibly some more tests, especially for Draggable
- This is extra credit, perhaps, but custom knockout bindings would make it really much easier to use
General touch-ups:
- Go through all functions and ensure that sane defaults are chosen and explicitly set
- Make Leaf a special case of Tree rather than its own class
- Document and link places where code was pulled from other sources
- More complete documentation and set of examples
I have some initial thoughts on what would be needed to make HGrid a released product based on my experience with the Project Organizer and the current state of the draggable plugin.
Features that HGrid needs in order to be complete:
General touch-ups: