We have written a data store / grid widget system in JavaScript that automatically updates all widgets associated with a data store whenever some of the data changes.
Its nice features are:
- it supports sorting by multiple attributes (for example, by status, then priority descending, then date ascending, or whatever)
- the sort order is restored whenever a record changes. (we use an efficient tree-based algorithm for this. many changes are received via a data stream).
After we wrote the proof of concept (still a lot of work left), I came across some blog posts discussing similar "MVC" patterns in JavaScript, as well as ExtJS's grid and data store features. This made me fear that we might be reinventing the wheel.
It seems ExtJS's grid can't duplicate our functionality -- it doesn't restore the sort order after data changes, and if we could somehow duplicate multi-attrib sorting and so on, I get the feeling it would be quite inefficient.
My question: Are there libraries/frameworks for data stores / grid widgets that meet our requirements?