a better way is to have a factory method for the internal components,
that way the user can do

component newcomponent(string id, imodel model) {
  component c=super.newcomponent(id, model);
  c.add(whateverbehavior);
  return c;
}

-igor

On Mon, Nov 3, 2008 at 6:02 AM, Gianni Doe <[EMAIL PROTECTED]> wrote:
> I've developed a custom form component (FormComponentPanel), a date picker,
> that makes use of 2 fields - a display TextField and a HiddenField for the
> model data. I'm then adding this to the page with a span tag:
> <span wicket:id="dropoffDate">[dropoff date picker]</span>
>
> Then in the java :
> DatePicker  dropoffDatePicker = new DatePicker("dropoffDate", new
> PropertyModel<LocalDate>(this, "dropoffDate"),
>                (new LocalDate()).minusDays(0), (new
> LocalDate()).plusYears(3));
>
> I'm after some advice on the best way to attach an AJAX behaviour to the
> component. If for example I add an AJAX behaviour directly to the date
> picker component then it's attached to the span tag and obviously doesn't
> work. The only way I've found to get around this is to expose the date
> display field with a public getter so I can then attach the onchange event.
>
> dropoffDatePicker.getDateDisplayField().add(new
> AjaxFormComponentUpdatingBehavior("onchange") {
>            @Override
>            protected void onUpdate(AjaxRequestTarget target) {
>                ......
>            }
> });
>
> Any suggestions for a better way to do this that doesn't involve exposing
> the innards?
> -Gianni
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to