You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@wicket.apache.org by Jordi Deu-Pons <jo...@jordeu.net> on 2012/04/26 15:46:01 UTC
Wicket 6-beta1 - How to call a javascript function after component render?
Hi,
I'm developing a component that needs to call a javascript function
after it's rendered (throw and AJAX update or a normal request).
I get it running like this:
@Override
protected void onBeforeRender() {
super.onBeforeRender();
AjaxRequestTarget target =
RequestCycle.get().find(AjaxRequestTarget.class);
if (target != null) {
target.appendJavaScript( getInitJavaScript() );
}
}
@Override
public void renderHead(IHeaderResponse response) {
response.render(JavaScriptHeaderItem.forScript(
"Wicket.Event.add(window, \"load\", function(event) {
" + getInitJavaScript() + " });",
"load-codemirror-js")
);
}
But, Is there a better way?
Thanks!
--
a10! i fins aviat.
J:-Deu
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org
Re: Wicket 6-beta1 - How to call a javascript function after
component render?
Posted by Jordi Deu-Pons <jo...@jordeu.net>.
Perfect, it works.
Thanks!
On Thu, Apr 26, 2012 at 3:52 PM, Martin Grigorov <mg...@apache.org> wrote:
> Hi,
>
> All you need is #renderHead() that does:
> response.render(OnDomReadyHeaderItem.forScript(getInitJavaScript())
>
> initJS will be delivered to the page after each re-render of the
> component - both Ajax and non-Ajax.
>
> On Thu, Apr 26, 2012 at 4:46 PM, Jordi Deu-Pons <jo...@jordeu.net> wrote:
>> Hi,
>>
>> I'm developing a component that needs to call a javascript function
>> after it's rendered (throw and AJAX update or a normal request).
>>
>> I get it running like this:
>>
>> @Override
>> protected void onBeforeRender() {
>> super.onBeforeRender();
>> AjaxRequestTarget target =
>> RequestCycle.get().find(AjaxRequestTarget.class);
>> if (target != null) {
>> target.appendJavaScript( getInitJavaScript() );
>> }
>> }
>>
>> @Override
>> public void renderHead(IHeaderResponse response) {
>> response.render(JavaScriptHeaderItem.forScript(
>> "Wicket.Event.add(window, \"load\", function(event) {
>> " + getInitJavaScript() + " });",
>> "load-codemirror-js")
>> );
>> }
>>
>> But, Is there a better way?
>>
>> Thanks!
>>
>> --
>> a10! i fins aviat.
>> J:-Deu
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
>> For additional commands, e-mail: users-help@wicket.apache.org
>>
>
>
>
> --
> Martin Grigorov
> jWeekend
> Training, Consulting, Development
> http://jWeekend.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>
--
a10! i fins aviat.
J:-Deu
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org
Re: Wicket 6-beta1 - How to call a javascript function after
component render?
Posted by Martin Grigorov <mg...@apache.org>.
Hi,
All you need is #renderHead() that does:
response.render(OnDomReadyHeaderItem.forScript(getInitJavaScript())
initJS will be delivered to the page after each re-render of the
component - both Ajax and non-Ajax.
On Thu, Apr 26, 2012 at 4:46 PM, Jordi Deu-Pons <jo...@jordeu.net> wrote:
> Hi,
>
> I'm developing a component that needs to call a javascript function
> after it's rendered (throw and AJAX update or a normal request).
>
> I get it running like this:
>
> @Override
> protected void onBeforeRender() {
> super.onBeforeRender();
> AjaxRequestTarget target =
> RequestCycle.get().find(AjaxRequestTarget.class);
> if (target != null) {
> target.appendJavaScript( getInitJavaScript() );
> }
> }
>
> @Override
> public void renderHead(IHeaderResponse response) {
> response.render(JavaScriptHeaderItem.forScript(
> "Wicket.Event.add(window, \"load\", function(event) {
> " + getInitJavaScript() + " });",
> "load-codemirror-js")
> );
> }
>
> But, Is there a better way?
>
> Thanks!
>
> --
> a10! i fins aviat.
> J:-Deu
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>
--
Martin Grigorov
jWeekend
Training, Consulting, Development
http://jWeekend.com
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org