After creating the brand spanking new jsclientevent module (which I’ll talk about in a second), I updated the tree demo to be a lot better. In fact, here is another screen shot.
- Contract buttons to close a node in the tree
- Better CSS to make it look really pretty
- A cool event catching system (using jsclientevent)
- One box shows all the events that have occurred on the server since you’ve been looking at the page
- Widgets are updated based on server side events (i.e., IObjectModifiedEvent and IObjectAddedEvent)
- Event the widget at the top of the page gets updated
- Finally, when you click the expand or contract buttons, a mini request is made to server and the state of the tree is stored in the session. This way if you refresh the page by accident, all the right nodes are still open or closed. The same thing occurs if you close a higher level node and reopen it – all the children nodes are open or closed as they were before.
This example really uses a lot of the z3c.formjs modules so I think I will at some point make a tutorial that walks through the example.
Anyhow, the link for the live demo is here: http://demo.carduner.net:8080/treeeditordemo