You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@wicket.apache.org by Martin Makundi <ma...@koodaripalvelut.com> on 2010/03/10 19:06:12 UTC

Re: Wicket feedback

Hi!

> Could you help me with some examples?

In what way?

Normally you have a panel like this:

<html>
<button wicket:id="button"/>
</html>
class Panel {
  add(new Button("button"));
}

You cannot change the panel content flexibly at runtime.

Now if you have a MashupContainer you can do:

mashupContainer.add(new Button());
mashupContainer.add(new Panel());
if (privileged) {
  mashupContainer.add(new GoogleMap());
  mashupContainer.add(new FacebookWidet());
}

Also you can add new components at runtime via ajax just by saying:
  mashupContainer.add(new PanelAtRuntime());
  ajaxRequestTarget.addComponent(mashupContainer);

So you can do pretty much anything with it without having to modify
HTML at the same time.

**
Martin

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: Wicket feedback

Posted by Martin Makundi <ma...@koodaripalvelut.com>.
Hi!

One more benefit for MashupWebPage is that you can use it for creating tests:

public void testSomeFieldComponent() {
   Page page = new MashupWebPage();
   Form form;
   page.add(form = new MashUpForm(GID));
   FormComponent customField;
   form.add(customField = new CustomFieldToBeTested(GID));
   tester.startPage(page);
   FormTester formtester = tester.newFormTester(form.getPageRelativePath());
   formtester.setValue(getRelativePath(form, customField), "test-value");
   formtester.submit();
   tester.assertNoErrorMessages();
}

No need to hassle to build a dummy page with boring html markup to
test a formcomponent.

Ofcourse this is just a simple example and more versatile examples can be made.

**
Martin

2010/3/10 Martin Makundi <ma...@koodaripalvelut.com>:
> Hi!
>
>> Could you help me with some examples?
>
> In what way?
>
> Normally you have a panel like this:
>
> <html>
> <button wicket:id="button"/>
> </html>
> class Panel {
>  add(new Button("button"));
> }
>
> You cannot change the panel content flexibly at runtime.
>
> Now if you have a MashupContainer you can do:
>
> mashupContainer.add(new Button());
> mashupContainer.add(new Panel());
> if (privileged) {
>  mashupContainer.add(new GoogleMap());
>  mashupContainer.add(new FacebookWidet());
> }
>
> Also you can add new components at runtime via ajax just by saying:
>  mashupContainer.add(new PanelAtRuntime());
>  ajaxRequestTarget.addComponent(mashupContainer);
>
> So you can do pretty much anything with it without having to modify
> HTML at the same time.
>
> **
> Martin
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org