I am looking for a component/framework that has the the ability to serialize/re-hydrate the elements, or UI components upon the next page view. Something analogous to $.serialize() but for an element’s properties (examples: visibility,width, top, left ).
All the functionality in jQuery is there to do this manually, but I am looking for a framework that has explored the problems/pitfalls of this functionality better than I have to date.
Server side I am using asp.net, but it is really the client-side functionality that I am looking for. I expect the actual state to be persisted in a cookie, or more persistent manner on the server.
I realize the functionality I am looking for is implemented in web parts. I am hoping get a light-weight framework to work with. I am not too excited about investing in web parts.
An example of what I am trying to achieve:
I would like to create a page with 5 to 10 divs, laid out in a grid-live fashion. A dashboard-like UI. there is a default layout, but users can hide some areas & expand others to get the best view of the data that they care about. Aside from just divs, There may be other widgets: tabs, accordions, ect. They do not need to be, but lets assume the UI is powered by jQuery UI. The next time the user logs in, I should be able to restore the state of the page by the user.
Before I begin working on a custom functionality, I want to make sure that I am not re-building a wheel.
You may wish to look at knockout.js, it’s a Model-View View Model javascript framework.
It handles things like syncing DOM elements properties to a model.
Here is the homepage: http://knockoutjs.com/
It has guidence on loading and saving via JSON: http://knockoutjs.com/documentation/json-data.html
However i’d reccomend doing the interactive tutorial first, as it really shows of it’s power and will help you gather whether it’s suitable for your problem: http://learn.knockoutjs.com/