Hi everybody,
I want to create a text blur effect behavior so that when the text
field gets focussed, the value will be empty and when blurred the
value will be set to the default value.
I use the Wickext library which integrates jQuery in Wicket. The
problem is that the component's page in the bind() method always
returns null and I get this exception message:
java.lang.IllegalStateException: No Page found for component
[MarkupContainer [Component id = test]].
Below my code:
BlurFieldBehavior.java
================================
public class BlurFieldBehavior extends AbstractBehavior {
private static final String BLUR_FIELD_SCRIPT = "res/blurField.js";
private static final ResourceReference PLUGINS_RESOURCE = new
JavascriptResourceReference(BlurFieldBehavior.class,
BLUR_FIELD_SCRIPT);
/**
* The behavior is attached to this component.
*/
private Component component;
public BlurFieldBehavior() {
}
@Override
public void bind(final Component component) {
super.bind(component);
this.component = component;
Page componentPage = component.getPage();
componentPage.add(new HeaderContributor(new
CoreJavaScriptHeaderContributor()));
componentPage.add(new HeaderContributor(new
IHeaderContributor() {
public void renderHead(IHeaderResponse response) {
response.renderJavascriptReference(PLUGINS_RESOURCE);
}
}));
}
@Override
public void renderHead(IHeaderResponse response) {
JsQuery query = new JsQuery(component);
query.$().chain("blurInput");
query.renderHead(response);
}
}
TestPage.java
================================
public class TestPage extends WebPage {
public TestPage() {
add(new TextField<String>("test", new Model<String>("This is a
test!!!")).add(new BlurFieldBehavior()));
}
}
Does someone see what's going wrong with this code?
Kind Regards,
Hbiloo
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]