Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • ITab.getPanel() now returns WebMarkupContainerWithAssociatedMarkup instead of Panel so it is now possible to create tabs using Fragments or Panels rather then just Panels.
  • TabbedPanel.setSelectedTab() is now chainable
  • TabbedPanel now takes a List<? extends ITab> rather then List<ITab>

MarkupContainer.isTransparentResolver() removed

We removed MarkupContainer.isTransparentResolver() in favor of the more general IComponentResolver. To make transition easy, we provide a TransparentWebMarkupContainer. In cases where TransparentWebMarkupContainer doesn't work for you, please see TransparentWebMarkupContainer on how to achieve the same effect with your component.

Different than MarkupContainer.isTransparentResolver() where the component's id wasn't needed in the component's path, with IComponentResolver it must be included. Imagine you used to have a transparent container <body wicket:id="myBody">, you were able to access a label from the Page just by "myLabel". With the change, you must use "myBody:myLabel".

IComponentResolver.resolve API has changed

Until now, with IComponentResolver.resolve() is was your responsibility to render the component. You returned true, if the component was found and rendered. That was because we had different means to render the component and wicket itself was not able to judge which one to use. That has changed and thus we were able to change the IComponentResolver.resolve API. With the revised API, you simply return the resolved component and wicket core knows what to do with it. It made Wicket's internal code simpler and hopefully yours as well.