Bug in 7.1 Absolutelayout/Vaadin Composite

Hi,
I’ve noticed a new bug behaviour that has appeared since upgrading to 7.1.3 from 7.0.1.
I’m using a Vaadin Composite object for a form. This uses an AbsoluteLayout to place controls within the form.

In 7.0.x, it didn’t matter where the various ‘mainLayout.addComponent(…)’ calls lived within the code.
In 7.1, it does matter!
The components need to be added in Left/Right/Top/Bottom order.
If they’re not, the controls will be displayed in the form, but it’s then not possible to click on them (although you can to the controls).

For example, given this code snippet:

[code]
mainLayout.addComponent(tfLastName, “top:64.0px;left:340.0px;”);
mainLayout.addComponent(tfEmailAddress, “top:64.0px;left:0.0px;”);

[/code]This will cause the ‘tfLastName’ component to be visible, but not clickable.
If the code is changed to reverse the order:

[code]
mainLayout.addComponent(tfEmailAddress, “top:64.0px;left:0.0px;”);
mainLayout.addComponent(tfLastName, “top:64.0px;left:340.0px;”);

[/code]Then it works as intended.

From looking in Firebug, this looks like it might be because components are using the full width of the layout, thus blocking the focusability of the ‘invisibly-covered’ component.
Note, this isn’t directly related to the Vaadin Composite plugin, but the plugin can make the problem show up if it generates the component code in the wrong order (which depends on the order they’re added in the XUL panel).

It really shouldn’t matter which order components are added to a form for focusability, hence the bug nomenclature.

Thanks,
Peter

Please
create a ticket
about this.

Hi,
It appears I odn’t have privileges to create tickets:
Error: Forbidden
TICKET_CREATE privileges are required to perform this operation

Thnx
Peter

You need to register first, the registration link is in the top right corner of the page. The accounts for dev.vaadin.com are separate from vaadin.com accounts.

Ah, ok, didn’t know that.
I’ve registered on dev.vaadin now and created ticket #12577 for this issue.
Thanks,
Peter