I am trying to use the Charles Anthony’s PagingComponent add-on from the incubator which uses a custom “paging” theme. I packaged it up and included it in my application. However, the “paging” theme that is applied to the pagingComponent is not being picked up. The image path references are being keyed off the reindeer theme which is applied to the main Application.
The jar file for the PagingComponent add-on has the directory structure at the root
com
…
VAADIN->themes->paging->styles.css
----------------------------------- img-> …
I tried to move the paging theme out of the jar file and packaged it directly in the web-app at a similar level to the reindeer theme. But even that did not help.
The Component is not anything like a Directory Plugin - it’s just intended to be used as part of your application, and as such will use the application’s theme. As an aside, you’ll note that it’s in the incubator, and hasn’t been touched in over 20months! Furthermore, I’m not actually using it myself.
However, I see absolutely no reason why it won’t work, as it’s exceptionally simple.
Basically, there is no way to apply a theme to just a single component - you have to apply to the application. As a quick demonstration, just change the application theme to paging - it should all work just fine. (You can see that paging is actually just extension of reindeer).
You can, of course, copy the contents of the paging theme to your own theme.
Basically, there is no way to apply a theme to just a single component
I guess this was the mistake in my assumption.
As for the PagingComponent goes, I did notice that has been a while since its last update. And I did take a look at the other containers, which provided lazy loading of the data. But none of them suited my environment. I am using Grails for my backend and built out the Vaadin part of my application using extensions of BeanItemContainers. I concluded that the path of least resistance is to use the PagingModel + PagingComponent Classes from your addon and roll my extension of BeanItemContainer to achieve pagination. I capture the HeaderClicked Events from the Table to change the sorting criteria and reload the data.