Tons of progress has happened with liteGrid since my last in-depth post. At this point, I think I’ve met all the goals I defined, and I’m very happy with it, in terms of both functionality and design. Here’s what the current set of modules provides (remember all of this is mix-and-match, so you can tailor it to what you need):
- AJAX-based data provider supporting retrieval, updates (both multi-row batch and single-cell modes), updates, and inserts, with full support for retrieving and rebinding database-populated values post insert/update (more on this in a future post)
- Batch saving module that allows users to persist their changes on-demand
- BlockUI integration, nicely disabling access to the grid during data operations
- Cell saving module that automatically saves changes whenever a cell is edited
- Formatting module that allows you to specify anything from simple to advanced formatting rules
- Editable via integration with JEditable
- Layout manager that adds resizable columns, fixed header row, and more
- Integration with jQuery UI
- Row addition module that does exactly what it sounds like
- Row deletion module that adds a delete button to all rows
- (Thanks to David Koehler) Injection protection through escaping potentially dangerous characters, and unescaping them prior to edit
- Dynamic row striping that maintains the correct striping even as the grid changes
- Toolbar that supports custom buttons
- Tree-grid functionality, allowing rows to be nested under other rows
All of this functionality is implemented using liteGrid’s event-driven architecture, so there is little/no coupling between the core and the various modules.
Like I said a while back, all this is Coming Soon to an open-source repository near you. My plan is to make that happen within the next week. I don’t plan to make a release right away, but the code will be there for anyone that wants to take a look.
Roadmap to V1.0
Here are the list of things I want to do before I’ll be comfortable calling this a true “release”:
- Unit tests (probably using JSUnit)
- Better documentation; the code is well-commented, but I’d like to add vs-doc support as well as have a rich wiki that describes everything
- Complete demo application (including ASP.NET MVC backend)
- Resolve any lingering Internet Explorer 8 rendering issues
If you are interested in contributing, drop me a line, and I’ll let you know as soon as the source is available for you to check out. Or, stay tuned to this blog, and watch for a link to the project within the next week (hopefully).
I’m definitely looking forward to seeing the complete source. I’m looking at doing something similar and have been researching the various methods and existing sources. Can’t wait to see what you came up with as well.