Yea, I would like to see this too. Would be useful on all panel components, right now I get this 1-2 sec waittime whenever a user clicks on tabs/menus.
The user-experience would be much improved if second clicks on the same tab took zero time. The first time slow load is ok, but as it is now ajax loading is not so different from server loading - you have to wait everytime you click. Client loading though is fast after it is loaded. Actually, client loading might be much faster even though the initial load takes longer.
edit: Doable with existing rich and a4j controls? As far as I searched I didn't find anything like this. Clues?
Also openfaces has this implemented - in their demo for tabbed pane under loading methods: AjaxLazy and AjaxAlways, there you can nicely see what I mean.
Now maybe I am wrong and richfaces actually use the first method, but so far it seems not.
edit: Actually in my application tabPanel won't work at all in ajax mode (it works in client) as for server - it doesn't work either. The difference is in server mode I actually get an error (a few lines not to spam too much):
WARNING: StandardWrapperValve[Faces Servlet]: PWC1406: Servlet.service() for servlet Faces Servlet threw exception javax.faces.component.UpdateModelException: javax.el.PropertyNotWritableException: /view/OsnovniPodatkiOsebe/osnovniPodatki.xhtml @20,27 value="": Illegal Syntax for Set Operation at javax.faces.component.UIInput.updateModel(UIInput.java:853) at javax.faces.component.UIInput.processUpdates(UIInput.java:735) at javax.faces.component.UIComponentBase.processUpdates(UIComponentBase.java:1242)