On Mon, Mar 9, 2015 at 3:03 PM, Martin Grigorov <mgrigo...@apache.org>
wrote:

> Hi,
>
> If a component is rendered then its #renderHead() should be called!
>
> On Mon, Mar 9, 2015 at 4:08 AM, MadasamySankarapandian <
> madas...@mcruncher.com> wrote:
>
> >          I am using bootstrap-timepicker.js in a single page application
> .
> > Time picker is added in a panel which is then embedded in the page. When
> > the entire page is reloaded, the timepicker is working fine. However,
> when
> > the respective panel is displayed via Wicket events, the time picker is
> not
> > rendered. I am using Component#onEvent(Ievent) method to display the
> panel.
> > The javascript resource reference for timepicker is added in renderHead
> > method. I would like to know if a panel is reloaded during onEvent call,
> > will rendeHead method be invoked or not?
> >
> >
> > Here are few code snippets to help you all understand what I am trying?
> >
> > public class BasePage
> > {
> >
> > public void renderHead(IHeaderResponse response)
> >
>
> >>Call super.renderHead(response) too.
>
> >>Is this a method in the page or in SelectionPanel ?!
>
>           This method is in BasePage.

>
> > {
> >   response.render(JavaScriHeaderItem.forReference(new
> > JavaScriptResourceReference(bootstrap-timepicker.js)));
> >   response.render(JavaScriHeaderItem.forReference(new
> > JavaScriptResourceReference(common.js)));
> > }
> >
> > //event is received to display panel
> >  public void onEvent(IEvent ievent)
> >  {
> >     super.onEvent(ievent)
> >     if(event.getPayLoad() instance of Notification)
> >     {
> >         Notification notification = (Notification) event.getPayload();
> >       PageParameters parameters = notification.getPageParameters()
> >       Panel selectedPanel = getSelectedPanel(parameters,
> > notification.getPanelClass);
> >       BasePage.this.selectedPanel.replaceWith(selectedPanel);
> >
>
> >>There is no Ajax here, so the whole page is re-rendered and #renderHead()
> >>should be called for all visible components.
>
           Sorry here ajax is involved. In the sample code i forgot to
add.
           selectedPanel.setOutputMarkupId(true);
           notification.getTarget().add(selectedPanel);

>
> >       }
> >   }
> > }
> >
> >
> > --
> > Thanks and regards
> >  Madasamy
> >
>



-- 
Thanks and regards
 Madasamy

Reply via email to