Bugs in "SimpleAddressBook" example

Being new to Vaadin, I tried the SimpleAddressBook example app in the “Five minute version” section of
this Tutorial page

It works well until you click the “+” button to add a record. The first issue is that the new row does not appear in the list (Table). If you sort a-z, you’ll see a tiny row only a few pixels tall above the first normal row (the a’s). Those few pixels are actually the new row. You can click to make the detail form appear. I suppose this might be a result of all the fields (Properties) of the Item are null. Is this normal behavior? Is the workaround to always assign at least one default value to a new Item (row) in a Table?

Another issue is that the newly added row is not displayed visibly within the Table. How can I make the newly added Item (with at least one default value) appear visibly to the user in the appropriate scroll position of the table? Apparently the call to “.setValue” sets which row is selected but does not scroll that row into view.

Actually, I can’t find the new row at all. Even worse, when trying to scroll to find the new record, you’ll see scrolling is now broken. You scroll a little ways and see nothing but empty white space in the list. Apparently, after adding a new row, the lazy loading of the list breaks.

Last issue: If you never noticed that skinny row at the top of the sorted Table, and just clicked around, you’d soon find the detail form fails to appear ever again. This issue is not a specific question, just an observation of a possible bug. I did not determine the exact steps to reproduce this behavior.

I’m using Vaadin jar 6.7.0 Beta 1, in Eclipse Indigo version, with the latest Vaadin plugin, on Mac OS X 10.6.7, with the Eclipse internal web browser, Tomcat 7.0.21.

I know that code is bit old since it uses SplitPanel rather than HorizontalSplitPanel, and it’s been 2 years since I played with it, but their standard Table+Form master-list detail scheme usually means that the + would give you a blank input Form on the right side where you enter data and only after you complete the field values in the Form will it update the Table list since it uses ‘immediate’ forms (as each field changes value, it’s sent to the server).

It’s a simple demo, so the schemes may not fit your real needs. Many apps have an OK/CANCEL button on the Form and the changes are only sent then, and only added to the Table if the user clicks OK. You’ll want to play with the one hour version and/or on day version to see more complete looking code.

Clicking the “+” button does succeed in displaying a detail form on the right SplitPane. The problems with new Items happen in the Table on the left SplitPane.

I filed
this ticket
on Vaadin trac.


According to that ticket I filed, these problems have been fixed the SimpleAddressBook example with fresh code now available on the Tutorial page.

Wow, that was a fast response!