You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by so...@apache.org on 2019/05/31 03:02:23 UTC
[wicket] branch master updated: Improve OnChangeAjaxBehavior demo
(#364)
This is an automated email from the ASF dual-hosted git repository.
solomax pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/wicket.git
The following commit(s) were added to refs/heads/master by this push:
new e3d1bec Improve OnChangeAjaxBehavior demo (#364)
e3d1bec is described below
commit e3d1becd64b0b242a729c7855d4d3914bf275abf
Author: Andrew Kondratev <an...@gmail.com>
AuthorDate: Fri May 31 15:02:17 2019 +1200
Improve OnChangeAjaxBehavior demo (#364)
* improve OnChangeAjaxBehavior demo
* improve OnChangeAjaxBehavior demo: add html and properties
* improve OnChangeAjaxBehavior demo: detach models
---
.../apache/wicket/examples/ajax/builtin/BasePage.java | 8 +++++++-
.../org/apache/wicket/examples/ajax/builtin/Index.java | 9 +++++++++
.../examples/ajax/builtin/OnChangeAjaxBehaviorPage.html | 6 ++++--
.../examples/ajax/builtin/OnChangeAjaxBehaviorPage.java | 17 +++++++++++++++--
.../ajax/builtin/OnChangeAjaxBehaviorPage.properties | 4 ++++
5 files changed, 39 insertions(+), 5 deletions(-)
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/BasePage.java b/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/BasePage.java
index bac53a3..f962b99 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/BasePage.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/BasePage.java
@@ -17,6 +17,7 @@
package org.apache.wicket.examples.ajax.builtin;
import org.apache.wicket.examples.WicketExamplePage;
+import org.apache.wicket.examples.homepage.HomePage;
import org.apache.wicket.markup.html.link.BookmarkablePageLink;
@@ -30,6 +31,11 @@ public class BasePage extends WicketExamplePage
*/
public BasePage()
{
- add(new BookmarkablePageLink<>("back", Index.class).setAutoEnable(true));
+ add(new BookmarkablePageLink<>("back", getBackPage()));
}
+
+ protected Class<? extends WicketExamplePage> getBackPage() {
+ return Index.class;
+ }
+
}
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/Index.java b/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/Index.java
index 24320ce..dae445a 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/Index.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/Index.java
@@ -16,6 +16,9 @@
*/
package org.apache.wicket.examples.ajax.builtin;
+import org.apache.wicket.examples.WicketExamplePage;
+import org.apache.wicket.examples.homepage.HomePage;
+
/**
* Wicket ajax example index page
*
@@ -29,4 +32,10 @@ public class Index extends BasePage
public Index()
{
}
+
+ @Override
+ protected Class<? extends WicketExamplePage> getBackPage() {
+ return HomePage.class;
+ }
+
}
\ No newline at end of file
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/OnChangeAjaxBehaviorPage.html b/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/OnChangeAjaxBehaviorPage.html
index 1c218cc..1dd3b33 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/OnChangeAjaxBehaviorPage.html
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/OnChangeAjaxBehaviorPage.html
@@ -4,8 +4,10 @@
<wicket:extend>
<form wicket:id="form">
- Field: <input type="text" wicket:id="field" size="50"/><br/>
- Values:<span wicket:id="selectedValue"></span><br/>
+ <p><wicket:message key="onChange.help" /></p>
+ <wicket:message key="onChange.country"/>: <input type="text" wicket:id="field" size="50"/><br/>
+ <wicket:message key="onChange.input"/>: <span wicket:id="userInput"></span><br/>
+ <wicket:message key="onChange.countriesFound"/>: <span wicket:id="selectedValue"></span><br/>
</form>
</wicket:extend>
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/OnChangeAjaxBehaviorPage.java b/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/OnChangeAjaxBehaviorPage.java
index aa89bf4..b6a2cb9 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/OnChangeAjaxBehaviorPage.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/OnChangeAjaxBehaviorPage.java
@@ -23,6 +23,7 @@ import org.apache.wicket.ajax.form.OnChangeAjaxBehavior;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.form.TextField;
+import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
import org.apache.wicket.util.string.Strings;
@@ -32,6 +33,8 @@ import org.apache.wicket.util.string.Strings;
public class OnChangeAjaxBehaviorPage extends BasePage
{
+ private final IModel<String> inputModel = Model.of("");
+
private String getValue(String input)
{
if (Strings.isEmpty(input))
@@ -65,9 +68,13 @@ public class OnChangeAjaxBehaviorPage extends BasePage
Form<Void> form = new Form<>("form");
add(form);
- final TextField<String> field = new TextField<>("field", new Model<>(""));
+ final TextField<String> field = new TextField<>("field", inputModel);
form.add(field);
+ final Label userInput = new Label("userInput", inputModel);
+ userInput.setOutputMarkupId(true);
+ form.add(userInput);
+
final Label label = new Label("selectedValue", new Model<>(""));
label.setOutputMarkupId(true);
form.add(label);
@@ -78,10 +85,16 @@ public class OnChangeAjaxBehaviorPage extends BasePage
protected void onUpdate(AjaxRequestTarget target)
{
label.setDefaultModelObject(getValue(field.getDefaultModelObjectAsString()));
- target.add(label);
+ target.add(label, userInput);
}
};
field.add(onChangeAjaxBehavior);
}
+ @Override
+ public void detachModels() {
+ super.detachModels();
+ inputModel.detach();
+ }
+
}
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/OnChangeAjaxBehaviorPage.properties b/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/OnChangeAjaxBehaviorPage.properties
new file mode 100644
index 0000000..84909a6
--- /dev/null
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/OnChangeAjaxBehaviorPage.properties
@@ -0,0 +1,4 @@
+onChange.help = Start typing a country name into a Country field below.
+onChange.input = You typed
+onChange.country = Country name
+onChange.countriesFound = Matching countries
\ No newline at end of file